程序员求职经验分享与学习资料整理平台

网站首页 > 文章精选 正文

两种指令集设计:CISC 和 RISC 对比

balukai 2025-07-21 12:51:36 文章精选 4 ℃

复杂指令集计算机 CISC

CISC 是很早就已经出现的 CPU 设计思路。CISC 指令集包含很多指令,常常超过 200 条。这些指令长短不一,功能也强弱不同。为了实现这些复杂指令,CPU 内部的硬件电路设计得比较繁琐,大多依靠“微程序”来控制指令执行。同时,CISC 对哪些指令能访问内存限制不多。因此,一些复杂指令执行起来需要更长的时间(多个时钟周期)。

实际使用中,各种指令的使用频率相差很大,只有约 20% 的简单指令被反复使用,占据了整个程序的 80% 左右;而 80% 左右的复杂指令很少使用,只占到 20% 左右。基于此结论,RISC 诞生。

精简指令集计算机 RISC

RISC 是在 CISC 的基础上精进得到的。它的核心目标是 追求简单和高效。每条 RISC 指令只做一件非常明确的小任务,并且长度通常是固定的(比如都是 32 位)。为了保持简单和速度,RISC 有严格规定:只有专门的 LOAD(读取)和 STORE(存储)指令才能访问内存;所有的计算操作都必须在 CPU 内部的高速存储单元(寄存器)之间进行。这种设计使得绝大多数基础指令都能在一个时钟周期内快速完成,并且编译器会频繁使用这些简单指令。为了实现高效执行,RISC 处理器依赖指令流水线技术。

特点

CISC (复杂指令集)

RISC (精简指令集)

指令系统

复杂,庞大

简单,精简

指令数目

一般大于 200 条

一般小于 100 条

指令字长

不固定

定长

可访存指令

不加限制 (很多指令可直接访存)

只有 LOAD/STORE 指令

各种指令执行时间

不同 (复杂指令需多周期)

绝大多数在一个周期内完成

各种指令使用频度

相差较大 (有些复杂指令很少用)

都比较常用

通用寄存器数量

较少

目标代码

难以用优化编译生成高效目标代码

采用优化编译,生成代码较为高效

程序控制方式

绝大多数为微程序控制

绝大多数为组合逻辑控制

指令流水线

可以通过一定方式实现

必须实现 (是高效执行的关键)

Tags:

最近发表
标签列表