(四) 指令集的精简化
/ `$ u) |+ \! a- z P {1.RISC的开拓性工作, A0 t0 _4 E9 k& X9 y, E8 J
(1)1967年Seymour Cray在研制CDC-6600时,事实上他就已经采用了精简指令集的思想。因此,我们说他的工作是RISC思想的先驱。6 A% R9 n+ ?/ g j9 q
(2)IBM801项目1975年IBM的沃森研究中心开始了对复杂指令系统是否合理的研究,称为801项目。到1979年研制成32位的IBM801小型计算机,该机只有120条指令,速度达到10MIPS,这可以说是世界上最早利用精简指令思想研制成的计算机。, S" f4 N9 M' ~, P1 J+ \6 ~
(3)伯克利的RISC项目1980年美国加州大学伯克利分校的David Patterson教授领导了RISC项目。RISC这一缩写正是Patterson在伯克利讲课时首先使用的。
' t" _ ^2 {9 f7 \4 |1 |(4)斯坦福的MIPS项目1981年美国斯坦福大学的John Hennessy教授开始了MIPS项目。以上四个著名的项目可以说是RISC技术的四个主要技术来源,它们为RISC技术奠定了基础。# p4 H3 N7 k; N7 O0 {
2.CISC的主要弊病9 `5 v. s! x" z) l7 L
(1)CISC的最直觉的弊病就是指令集过分庞杂。$ o# L5 r4 @9 Z9 R2 B
(2)微程序技术是CISC的重要支柱。每条复杂指令都要通过执行一段解释性微程序才能完成,这就需要多个CPU周期,从而降低了机器的处理速度。
0 V0 y' y' p) ~, B(3)由于指令系统过分庞大,使高级语言编译程序选择目标指令的范围很大,并使编译程序本身冗长而复杂,从而难以优化编译使之生成真正高效的目标代码。, L) [* R) k$ p3 L+ t1 b3 w7 M
(4)CISC强调完善的中断控制,势必导致动作繁多,设计复杂,使研制周期增长。2 a! v0 _- Q' L$ v# o: v! W- a0 t; b! \
(5)CISC给芯片设计带来很多困难,使芯片种类增多,出错几率增大,成本提高而成品率降低。
1 P9 k# B& @7 k( d3.RISC的基本特征. A+ H7 X3 E# d+ \$ P& q
(1)精简指令数量2 ^$ P: ^# g8 Y
(2)简化指令格式
. {' Z' a& d [; ?, A6 e(3)采用单周期指令
# A q; |3 g& N- ?: ^1 b(4)采用寄存器操作
$ Q1 ]/ [7 ?2 C6 B/ J5 U% U/ w6 J(5)硬线控制逻辑( n7 Q- [/ g$ m& ?, \ ?
(6)优化编译程序
$ v X" E* Y! i4.RISC的关键技术
( {- T6 i2 C) y/ F2 h9 g0 H(1)重叠寄存器窗口技术在伯克利的RISC项目中,首先采用了重叠寄存器窗口(overlapping register windows)技术。
) H1 h/ M! ^# B0 ^, D* w$ F; J- T(2)优化编译技术RISC使用了大量的寄存器,如何合理分配寄存器、提高寄存器的使用效率,减少访存次数等,都应通过编译技术的优化来实现。 |