Có nhiều lý do người ta sẽ chọn thực hiện CISC. Lý do nổi bật nhất là khả năng tương thích nhị phân với tập lệnh CISC hiện có. Trong khi công nghệ dịch thuật nhị phân phần mềm đã được cải thiện, khả năng tương thích dựa trên phần cứng có một số lợi thế kỹ thuật (cũng như nhược điểm của bộ nhớ đệm dịch ít hơn) và lợi thế kỹ thuật ít hơn có vẻ đáng tin cậy hơn.
Mật độ mã có lẽ là lý do quan trọng thứ hai để chọn CISC. Renesas RX được thiết kế dưới dạng CISC dành riêng cho mật độ mã vì nó nhắm vào các bộ vi điều khiển trong đó kích thước bộ nhớ mã là một yếu tố chi phí đáng kể. Hướng dẫn độ dài thay đổi, hướng dẫn phức tạp (chủ yếu là nhiều chế độ địa chỉ hơn), toán hạng ngầm và thanh ghi thấp hơn đếm tất cả mật độ mã lợi ích.
Một lý do lịch sử (và theo tôi là sai lầm) khi chọn CISC là để thu hẹp khoảng cách ngữ nghĩa giữa các lập trình viên sử dụng ngôn ngữ cấp cao hơn và bộ xử lý. Do các lệnh phức tạp thường có thể được thay thế bằng một chuỗi các lệnh đơn giản hơn, nên độ phức tạp của trình biên dịch ngôn ngữ cấp cao hơn cho RISC không cần phức tạp hơn nhiều so với CISC phù hợp với ngôn ngữ. RISC tránh "xung đột ngữ nghĩa" (trong đó một lệnh của bộ xử lý thực hiện nhiều hơn hoặc ít hơn một câu lệnh ngôn ngữ tương ứng) và tạo điều kiện giảm cường độ và lên lịch tối ưu hóa. (Xem phần "Sự đánh đổi trong nỗ lực phát triển trình biên dịch liên quan đến CISC so với RISC là gì?" Để biết thêm chi tiết.)
Có thể có một chi phí cố định đáng kể liên quan đến việc thực hiện một hướng dẫn. Điều này khuyến khích việc sử dụng các hướng dẫn tương đối phức tạp để truyền bá chi phí này trên công việc thực tế hơn; giảm số lượng lệnh động có thể cải thiện hiệu suất. Khi chi phí logic và RAM lớn hơn nhiều so với chi phí ROM, việc khuyến khích các hướng dẫn phức tạp là rất đáng kể vì một hướng dẫn đã được giải mã bằng cách tra cứu microcode.
Một lý do để sử dụng CISC có lẽ bị mâu thuẫn bởi bằng chứng lịch sử là microcode có thể được tối ưu hóa cho từng kiến trúc vi mô trong khi các thư viện tiêu chuẩn có thể chậm khai thác các tính năng của việc triển khai mới. Mức độ tối ưu hóa của việc triển khai phần mềm của memcopy so với microcode cho REP MOVSB ngụ ý rằng các thư viện có thể được chú ý nhiều hơn microcode. Một phần của điều này có thể đến từ nhà cung cấp bộ xử lý nhắm vào cơ sở người dùng rộng hơn nên việc chứng minh nỗ lực có thể khó khăn hơn so với phần mềm nguồn mở hoặc phần mềm nội bộ nơi lợi ích cục bộ của nhà phát triển hoặc người dùng có thể thiên vị nỗ lực triển khai.
Có thể gửi một thư viện tiêu chuẩn được tối ưu hóa với bộ xử lý có những điểm hấp dẫn đáng kể. Việc lưu trữ và thực thi thư viện chuẩn nền tảng có thể được tối ưu hóa đáng kể bằng cách mã hóa phần cứng-phần cứng. Sự khác biệt giữa một lệnh phức tạp và lệnh gọi Lớp trừu tượng nền tảng có thể tinh tế (hoặc không tồn tại). Thiết kế RISC có thể sử dụng các kỹ thuật triển khai tương tự để xử lý các cuộc gọi PAL như CISC thực hiện cho các hướng dẫn phức tạp, bao gồm sử dụng các thao tác không được cung cấp trong tập lệnh chung với phần cứng chuyên dụng, sử dụng bộ đệm và giải mã thông minh và chỉ định toán hạng đăng ký (mặc dù CISC sẽ thường sử dụng các thanh ghi chuyên dụng tương tự như ABI cho mỗi chức năng). Mô hình tinh thần liên quan đến CISC có thể khuyến khích tối ưu hóa như vậy. Ngoài ra, người dùng có thể ít bị xúc phạm hơn bởi việc đưa vào "
Giải mã các hướng dẫn tương đối phức tạp có thể có ít chi phí hoạt động hơn (và có thể đáng tin cậy hơn trong ý định sáng suốt) so với kỹ thuật nhận dạng thành ngữ RISC có thể so sánh trong đó một chuỗi các hướng dẫn được công nhận là một đơn vị ngữ nghĩa. Sự khác biệt về chi phí này sẽ được chú ý nhất trong một triển khai nhỏ hơn, nhưng chi phí sử dụng thông tin này làm giảm tầm quan trọng của việc tiết kiệm giải mã.
Thông tin theo ngữ cảnh bổ sung có thể tạo điều kiện tối ưu hóa phần cứng. Ví dụ: khi tăng một giá trị trong bộ nhớ, phần cứng có thể nhận ra rằng địa chỉ bộ nhớ được sử dụng hai lần (cho tải và lưu trữ) tạo cơ hội cho việc ghi nhớ bộ nhớ cache và bộ nhớ đệm dịch. Hướng dẫn phức tạp có thể cung cấp thông tin rõ ràng như vậy. Trong một lệnh phức tạp, các giá trị trung gian có thời gian tồn tại rõ ràng (đó là hướng dẫn); với một giá trị đăng ký RISC truyền thống phải được ghi đè rõ ràng để chỉ ra sự kết thúc của sự sống. (Lưu ý: RISC có thể chỉ định một thanh ghi luôn luôn bằng 0 sau mỗi lần sử dụng, cung cấp một phương tiện để chỉ định một giá trị tạm thời sử dụng một lần. Các hướng dẫn như vậy sẽ phức tạp hơn vừa phải.)
Nếu các chi tiết triển khai không bị ẩn đằng sau một lớp trừu tượng, việc sử dụng các cấu trúc vi mô khác nhau để tối ưu hóa cho các sự đánh đổi khác nhau sẽ trở nên khó khăn hơn. Phơi bày các chi tiết vi kiến trúc như bảo đảm kiến trúc sẽ khóa kiến trúc vi mô vào bảo đảm tương thích. Mặc dù phần mềm PAL có thể được tối ưu hóa giống như các hướng dẫn phức tạp, nhưng yêu cầu phải có mã hóa phần cứng-phần cứng. Sự tách biệt tổ chức và sự đa dạng làm cho codeign khó khăn hơn.
Hướng dẫn phức tạp có thể cung cấp quyền truy cập được bảo vệ đến trạng thái đặc quyền. Ví dụ, các hướng dẫn phức tạp thường là nguyên tử đối với các ngắt. Mặc dù bộ hướng dẫn RISC có thể cung cấp cơ chế cấp người dùng để tạm thời tạm dừng các ngắt, thậm chí có thể là thứ gì đó như tải liên kết để phần mềm thử lại rõ ràng hoạt động nếu bị gián đoạn, cung cấp như vậy không phải là điển hình cho RISC.
Tương tự, một hướng dẫn phức tạp có thể cung cấp quyền truy cập có kiểm soát và / hoặc sử dụng thông tin đặc quyền. Bởi vì hoạt động được thực hiện có kiểm soát ngữ nghĩa, vi phạm đặc quyền thực tế có thể tránh được. Các lựa chọn thay thế theo định hướng RISC bao gồm mã PAL (thường có chi phí đáng kể) và quyền truy cập được che dấu vào các thanh ghi cấu hình (hoặc bản sao bóng của các thanh ghi) có một số trạng thái đặc quyền. Cung cấp giải pháp chung (RISC) khó hơn cung cấp giải pháp cho một hoặc một vài trường hợp đặc biệt (CISC), nhưng mạnh hơn và ít bị tổn thương hơn khi tích lũy các trường hợp đặc biệt. Nếu một người tin rằng các trường hợp đặc biệt quan trọng là rất ít, CISC có thể hấp dẫn hơn.
Hướng dẫn phức tạp cũng có thể ẩn trạng thái từ phần mềm. Một lợi thế nổi bật của việc này là tiết kiệm và khôi phục bối cảnh. Với các hướng dẫn lưu và khôi phục trạng thái, kiến trúc chỉ cần truyền thông kích thước ngữ cảnh tới HĐH chứ không phải các cơ chế cụ thể để chuyển trạng thái sang bộ nhớ. Điều này cho phép các ứng dụng chạy trên HĐH cũ sử dụng các phần mở rộng của ISA có thêm trạng thái. (Một lần nữa, phần mềm PAL có thể cung cấp chức năng tương tự.)
Phần lớn sự phức tạp của x86 đến từ khả năng tương thích trên nhiều tiện ích mở rộng. Với các hướng dẫn phức tạp và ít trực giao (hữu ích cho mật độ mã), loại bỏ một số công việc hóa ra không cần thiết, tránh các chuỗi phụ thuộc không cần thiết (ví dụ: chỉ một bit mang, chỉ một thanh ghi lượng dịch chuyển động), thêm một số công việc đã chuyển được sử dụng phổ biến và có thể được tối ưu hóa trong hướng dẫn phức tạp - bất kỳ điều nào trong số này sẽ yêu cầu thêm một hướng dẫn mới và làm cho ISA kém thẩm mỹ hơn.
Trong nhiều trường hợp, RISC sẽ không gặp phải các vấn đề như vậy bởi vì các hướng dẫn rất trực giao và nguyên thủy. Trong một số trường hợp, RISC có thể cần thêm các nguyên thủy mới nhưng thông thường sẽ được áp dụng cho nhiều hơn một lần sử dụng.
Ngoài ra, một khi cơ sở hạ tầng sẵn sàng hỗ trợ các hướng dẫn phức tạp, các rào cản được giảm bớt cho các hướng dẫn phức tạp bổ sung. Đó là, phần lớn chi phí của các hướng dẫn phức tạp trong không định kỳ. ISIS RISC mạnh mẽ chịu một trở ngại bổ sung để giới thiệu các tính năng CISCy.
Tần suất mở rộng của x86 cũng có thể được quy cho một phần là do tính phổ biến của nó đối với điện toán đa năng và mô hình bộ xử lý thương mại (những điều này cũng làm tăng tầm quan trọng của khả năng tương thích nhị phân). Các RISC ISA thường được gắn với các nhà cung cấp sysem, điều này khuyến khích sự tập trung hẹp hơn vào các ứng dụng và việc thiếu cạnh tranh để triển khai một RISC ISA cụ thể phần nào không khuyến khích việc sử dụng các phần mở rộng tập lệnh để tiếp thị. Mức độ phổ biến cũng làm cho chi phí phát triển các tiện ích mở rộng mới ít đáng kể hơn (chi phí không định kỳ ít quan trọng hơn với khối lượng cao hơn).
Triết lý tương thích x86 có lẽ cũng thiên về việc mở rộng các cơ chế hiện có thay vì cung cấp một sự phá vỡ rõ ràng hơn, điều đó có nghĩa là các tính năng mới bị ảnh hưởng nhiều hơn bởi các tính năng hiện có. Tần suất mở rộng cao hơn cũng khuyến khích nhiều thay đổi gia tăng, khuyến khích các cơ chế tái sử dụng, có xu hướng giảm tính trực giao.
So sánh một bản trình bày học thuật về MIPS cổ điển (là một tập hợp con của các phiên bản hiện đại của MIPS và loại trừ các phần mở rộng ISA tùy chọn khác nhau) với x86 hiện đại (theo dõi khả năng tương thích nhị phân trở lại với 1686 8086 và khả năng tương thích cấp độ lắp ráp thậm chí còn trở lại) với tất cả hành lý lịch sử của nó không trình bày trường hợp tốt nhất cho CISC cũng như trường hợp thực tế cho RISC.