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)处理机。