CISC的特点:
- 指令系统庞大,指令功能复杂,指令寻址方式多,指令格式多
- 绝大多数指令须要多个机器周期完毕
- 各种指令都能够訪问存储器
- 採用微程序控制
- 有专用寄存器,少量
- 难以用优化编译技术生成高效的目标代码程序
RISC特点:
- 大多数指令在单周期内完毕
- LOAD/STORE结构
- 硬布线控制逻辑
- 降低指令和寻址方式的种类
- 固定的指令格式
- 注重编译的优化(三地址指令格式、较多的寄存器、对称的指令格式)
*我觉得RISC与CISC的不同之处在于指令精简、寻址方式降低以及注重编译优化,这要得益于二八法则(CISC中,大约20%的指令占领了80%的处理机时间。其余80%指令使用频度仅仅占20%的处理机执行时间)。RISC比CISC快3倍左右。主要取决于CPI(每条指令执行的平均周期数)。
在RISC中CPI近乎1。
RISC的设计原则:
- 使用频度非常高的指令
- 大大降低寻址方式
- 全部指令在一个机器周期内完毕
- 扩大通用寄存器个数
- 採用硬联控制实现
- 通过精简指令和优化设计编译程序,以简单有效的方式支持高级语言
RISC结构採用的基本技术:
- 在逻辑上採用硬联实现和微程序固件实现相结合的技术
- 在CPU中设置数量较大的寄存器组,并採用重叠寄存器窗体的技术
- 指令的运行採用流水和延迟转移技术
- 採用优化编译技术。优化寄存器的分配和使用
RISC的不足:
- 指令少。加重汇编程序猿的负担
- 浮点运算和虚拟存储器支持不足
- 编译程序难写
对于不足的最后一条,我感到疑惑——RISC提供直接支持高级语言的能力,应当是简化了编译程序的设计。为什么还要说编译程序难写?希望知道的朋友们留下评论:)
VLIW(超长指令字):
- 是一种显式指令级并行指令系统
- 一条VLIW指令含有多个同样或不同的操作字段(每一个操作字段的功能相当于一般处理机中的一条指令)
- 每一个操作字段可以分别独立地控制各自的功能部件同一时候执行
- 二维程序结构
- 指令级并行度高
应用VLIW的有Intel和HP合制的安腾(Intanium)处理机。