你知道X86构架,你知道SH构架吗?
用到消费电子、汽车电子、通信设备等领域。
RISC,这里再次提到了RISC,在深入了解SuperH之前,有必要先解释一下"RISC"。
RISC(Riduced Instruction Set Computer)精简指令集计算机。简单,总是相对而言的,那么复杂指令集计算机是什么呢?
CISC(Complex Instruction Set Computer)复杂指令集计算机。
那么所谓的"精简",精简在哪里?所谓的"复杂",是在哪些方面复杂呢?别急,详见下文。
RISC是精简指令集CPU,指令位数较短,内部还有快速处理指令的电路,使得指令的译码与数据的处理较快,所以执行效率比CISC高,不过,必须经过编译程序的处理,才能发挥它的效率。
例如,大家都知道的IBM的 Power PC为RISC CPU的结构。
除此之外,经常见到的PC中的CPU,Pentium-Pro(P6)、Pentium-II,Cyrix的M1、M2、AMD的K5、K6实际上是改进了的CISC,也可以说是结合了CISC和RISC的部分优点。
现在有必要把两者放在一起,比较一下,这样看起来更加一目了然,见下表。
RISC与CISC的主要特征对比表
比较内容 | CISC | RISC |
指令系统 | 复杂,庞大 | 简单,精简 |
指令数目 | 一般大于200 | 一般小于100 |
指令格式 | 一般大于4 | 一般小于4 |
寻址方式 | 一般大于4 | 一般小于4 |
指令字长 | 不固定 | 等长 |
可访存指令 | 不加限制 | 只有LOAD/STORE指令 |
各种指令使用频率 | 相差很大 | 相差不大 |
各种指令执行时间 | 相差很大 | 绝大多数在一个周期内完成 |
优化编译实现 | 很难 | 较容易 |
程序源代码长度 | 较短 | 较长 |
控制器实现方式 | 绝大多数为微程序控制 | 绝大多数为硬布线控制 |
软件系统开发时间 | 较短 | 较长 |
如果到这里对于RISC与CISC还是不清楚的话,那么请记住下面的这句话:
对于CISC和RISC的实现而言,它们所侧重的复杂性不同:CISC处理器的实现复杂性更高,而RISC编译器的复杂性更高。
那么一个新的问题来了,为什么需要RISC呢?
当使用高级语言进行程序设计时,编译器为了兼容早期的CPU,一般不会生成特殊的复杂指令。
如果舍弃这些不常用的复杂指令,就能简化CPU的设计。这正是RISC的出发点。
下面从纯技术的角度出发,来概括RISC的特点:
1)RISC指令系统较小:种类的数量较少,只提供简单指令。这些指令大多都能在4,5个时钟周期内完成。
2)指令的操作数必须预存于寄存器中,这样取指操作的时间也统一了。
3)指令长度,寻址方式,格式都整齐划一:这样可以充分利用流水线,基本上可实现一个时钟脉冲执行一条指令的目标。
4)RISC的子程序调用与CISC的不同:在CISC中,程序调用、返回时需将上下文保存在堆栈中,需要内存操作。而RISC将它们存放在寄存器中,而且参数也使用寄存器传递 。
5)RISC中断可视为特殊的子程序链接:CISC中发生中断时,所有的寄存器内容都被压入堆栈,而RISC对中断进行区分对待,分为轻量级和重量级。对轻量级中断 只保存需要保存的寄存器内容;对重量级中断的处理如同常规中断。
- 第一款处理器之谜(01-29)
- 处理器的春秋战国时代:8位处理器的恩怨与纷争(上)(02-18)
- 处理器的春秋战国时代:8位处理器的恩怨与纷争(下)(02-25)
- 处理器的三国时代:苹果搅动MCU江湖(03-01)
- 处理器的三国时代:DR公司盛气凌人,IBM转身成就微软(03-06)
- 32位处理器的攻“芯”计:英特尔如何称霸PC江湖?(03-15)