Sự khác biệt giữa CISC và RISC là gì?


Câu trả lời 1:

RISC nói chung là các cửa hàng lưu trữ tải trọng đến / từ đăng ký. Nói chung, ba thanh ghi được sử dụng như ADD R1 = R2 + R3, tải và lưu trữ có thể hoặc không phải là ngoại lệ chỉ với hai thanh ghi được sử dụng trong một lệnh.

CISC thường cho phép tính toán với các giá trị từ các địa chỉ bộ nhớ, không cần phải đưa chúng vào trước trong các thanh ghi. Nó cũng có thể có nhiều chế độ địa chỉ (phức tạp) hơn, cho phép từ một đến nhiều thanh ghi để tạo địa chỉ.

CISC thường là hai toán hạng, ví dụ ADD có cùng một thanh ghi (hoặc địa chỉ bộ nhớ) được sử dụng cho đích, nhưng cũng được sử dụng tương tự cho một trong các nguồn.

Điều này từng là một vấn đề lớn, và RISC đã cứng rắn và CISC sử dụng microcode.

Bây giờ microarchiteture cho CISC, ít nhất là x86 (nếu không phải tất cả CISC đang sử dụng, có nghĩa là các máy tính lớn của IBM là CISC duy nhất còn tồn tại khác; -order không giống như cho microcode gốc.

RISC thậm chí có thể làm điều đó, ví dụ ARM mới hơn (lúc đầu không có), do đó, sự khác biệt ít hơn trước đây.

ARM ban đầu không có hướng dẫn phân chia số nguyên vì nó quá phức tạp, huống chi là bất kỳ điểm nào cho dấu phẩy động. Bây giờ, [độ phức tạp] giảm cho R trong RISC được áp dụng ít hơn vì dấu phẩy động vốn đã phức tạp và tất cả các CPU RISC chính đều hỗ trợ ngay cả các lệnh vuông góc và lượng giác.


Câu trả lời 2:

CISC được tối ưu hóa để thực hiện càng nhiều công việc càng tốt từ một kích thước lệnh đã cho. Điều này là do CPU không có bộ nhớ cache trước đó và việc đọc các hướng dẫn từ bộ nhớ sẽ mất nhiều chu kỳ, do đó, một lệnh phức tạp với nhiều thay đổi trạng thái không phải là vấn đề miễn là nó nhỏ gọn.

RISC được tối ưu hóa cho các CPU * do * có bộ đệm hướng dẫn và thay đổi nút cổ chai: bộ nhớ cache có thể dễ dàng cung cấp cho bạn 64 và 128 bit dữ liệu mỗi chu kỳ - miễn là nó được căn chỉnh. Đột nhiên, bạn có thể chạy 1 hoặc thậm chí 2 hướng dẫn mỗi chu kỳ miễn là không có sự phụ thuộc, vì vậy các hướng dẫn rõ ràng chỉ khiến một thay đổi trạng thái trở nên nhanh hơn.


Câu trả lời 3:

CISC được tối ưu hóa để thực hiện càng nhiều công việc càng tốt từ một kích thước lệnh đã cho. Điều này là do CPU không có bộ nhớ cache trước đó và việc đọc các hướng dẫn từ bộ nhớ sẽ mất nhiều chu kỳ, do đó, một lệnh phức tạp với nhiều thay đổi trạng thái không phải là vấn đề miễn là nó nhỏ gọn.

RISC được tối ưu hóa cho các CPU * do * có bộ đệm hướng dẫn và thay đổi nút cổ chai: bộ nhớ cache có thể dễ dàng cung cấp cho bạn 64 và 128 bit dữ liệu mỗi chu kỳ - miễn là nó được căn chỉnh. Đột nhiên, bạn có thể chạy 1 hoặc thậm chí 2 hướng dẫn mỗi chu kỳ miễn là không có sự phụ thuộc, vì vậy các hướng dẫn rõ ràng chỉ khiến một thay đổi trạng thái trở nên nhanh hơn.