写在前面:
- 本系列笔记主要以《计算机组成原理(唐朔飞)》为参考,大部分内容出于此书,笔者的工作主要是挑其重点展示,另外配合下方视频链接的教程展开思路,在笔记中一些比较难懂的地方加以自己的一点点理解(重点基本都会有标注,没有任何标注的难懂文字应该是笔者因为强迫症而加进来的,可选择性地忽略)。
一、RISC的发展
计算机发展至今,机器的功能越来越强,硬件结构越来越复杂,尤其是随着集成电路技术的发展及计算机应用领域的不断扩大,计算机系统的软件价格相对而言在不断提高。为了节省开销,人们希望已开发的软件能被继承、兼容,这就希望新机种的指令系统和寻址方式一定能包含旧机种所有的指令和寻址方式。通过向上兼容不仅可降低新机种的开发周期和代价,还可吸引更多的新、老用户,于是出现了同类型的系列机,在系列机的发展过程中,致使同一系列计算机指令系统变得越来越复杂,某些机器的指令系统竟可包含几百条指令,这类机器被称为复杂指令系统计算机,简称CISC。
为了解决这些问题,20世纪70年代中期,人们开始进一步分析研究CISC,发现一个 80-20规律,即典型程序中80%的语句仅仅使用处理机中20%的指令,而且这些指令都是属于简单指令,如取数、加、转移等。这一点告诫人们,付出再大的代价增添复杂指令,也仅有20%的使用概率,而且当执行频度高的简单指令时,因复杂指令的存在,致使执行速度也无法提高。
人们从80-20规律中得到启示:能否用最常用的20%的简单指令重新组合不常用的80%的指令功能?这便引发出RISC技术。
二、RISC的主要特征
1、RISC的主要特点
(1)通过对RISC各种产品的分析,可归纳出RISC机应具有如下一些特点:
①选取使用频度较高的一些简单指令以及一些很有用但又不复杂的指令,让复杂指令的功能由频度高的简单指令的组合来实现。
②指令长度固定,指令格式种类少,寻址方式种类少。
③只有取数/存数指令访问存储器,其余指令的操作都在寄存器内完成。
④CPU中有多个通用寄存器。
⑤采用流水线技术,大部分指令在一个时钟周期内完成。采用超标量和超流水线技术,可使每条指令的平均执行时间小于一个时钟周期。
⑥控制器采用组合逻辑控制,不用微程序控制。
⑦采用优化的编译程序。
(2)值得注意的是,商品化的RISC机通常不会是纯RISC机,故上述这些特点不是所有RISC机全部具备的。相比之下,CISC的指令系统复杂庞大,各种指令使用频度相差很大;指令字长不固定,指令格式多,寻址方式多;可以访存的指令不受限制;CPU中设有专用寄存器;绝大多数指令需要多个时钟周期方可执行完毕;采用微程序控制器;难以用优化编译生成高效的目标代码。
2、RISC Ⅱ指令种类举例
(1)RISC Ⅱ共有39条指令,分为以下4类:
①寄存器-寄存器操作:移位、逻辑、算术(整数)运算等12条。
②取/存数指令:取存字节、半字、字等16条。
③控制转移指令:条件转移、调用/返回等6条。
④其它:存取程序状态字PSW和程序计数器等5条:
(2)在RISCⅡ机中,有一些常用指令未被选中,但用上述这些指令并在硬件系统的辅助下,足以实现其它一些指令的功能。例如,该机约定寄存器内容恒为0,这样加法指令可替代寄存器间的传送指令,即替代。
三、RISC和CISC的比较
(1)与CISC机相比,RISC机的主要优点可归纳如下:
①充分利用VLSI芯片的面积。
②提高计算机运算速度。
③便于设计,可降低成本,提高可靠性。
④有效支持高级语言程序。
(2)RISC机能提高运算速度,主要反映在以下5个方面:
①RISC机的指令数、寻址方式和指令格式种类较少,而且指令的编码很有规律,因此RISC的指令译码比CISC的指令译码快。
②RISC机内通用寄存器多,减少了访存次数,可加快运行速度。
③RISC机采用寄存器窗口重叠技术,程序嵌套时不必将寄存器内容保存到存储器中,故又提高了执行速度。
④RISC机采用组合逻辑控制,比采用微程序控制的CISC机的延迟小,缩短了CPU的周期。
⑤RISC机选用精简指令系统,适合于流水线工作,大多数指令在一个时钟周期内完成。