RISC技术
RISC 精简指令集计算机
CISC复杂指令集计算机
早期的计算机是用复杂指令集,但是在最早的时候,一定不是用复杂指令集。是在计算机发展的过程当中,CPU的设计人员,指令集体系结构的设计人员,为了适用应用的发展,为了面相目标程序进行优化,面相高级语言进行优化,面相操作系统进行优化,把目标程序当中,经常用到的一些操作,把它变成计算机的指令,来加快这些应用,指令集开始变得复杂。甚至有的指令集甚至300条指令甚至400条指令,但是这么多条指令是不是真的有必要呢。在70年代末在80年代初的时候,就有人开始考虑,指令集是不是越庞大越好,指令的条数是不是越多越好,指令的功能是不是越强越好,对此人们做了分析。分析的结果人们得到了一个80%和20%的规律。在典型的程序当中,80%的语句,仅仅使用了指令集当中20%的指令。人们在处理机当中加入了很多很复杂的指令,导致计算机系统的控制器设计起来很复杂,甚至只能用微程序的方式来进行设计。这也导致了20%的指令,在复杂指令集中被拖慢。所以人们就想到,是不是可以只用那些常用的简单的20%的指令来设计指令集。而复杂的指令不用硬件来实现,是否能通过简单指令集组合的方式来实现复杂的指令的功能。这样的结果使CPU控制器控制起来非常快。
指令长度固定,指令格式种类少,寻址方式少,那么译码就很简单。甚至操作码的位置固定,操作数的位置固定,那么在译码的同时也可以进行操作数的读取。
另外采用LOAD/STORE这种指令集结构,只有这两条指令可以访存,其他指令都不能进行访存。那么其他指令所进行的传输操作,或者算数运算操作或者逻辑运算操作,只能在寄存器和寄存器之间进行,并且结果保存在寄存器当中。那么这样的话,CPU里有比较多的通用寄存器来支持这些操作。另外指令比较简单,指令之间的关系没有那么复杂。所以精简指令集计算机都是采用流水线的方式来做的,而且特别关注提高流水线的效率。在一个时钟周期要完成一个指令。这是一条简单的流水线。另外为了提高速度,所有的精简指令集的处理器都是采用组合逻辑的方式,也就是硬链的方式组合在一起,让他们的速度更快。
CISC 复杂指令集计算机
指令系统非常庞大,各种指令使用频度相差大
指令长度不固定,指令格式种类多,寻址方式多,所以译码方式也就很复杂。
访存指令不受限制
CPU当中有专用的寄存器
大多数指令需要多个时钟周期执行完毕
采用为程序控制器
两者比较
1RISC 指令简单 控制器在CPU上占用的面积会非常小,剩余的硬件资源可以用做存储,提高2RISC 更能提高计算机运算速度,指令数,指令格式,寻址方式少,寄存器多,采用组合逻辑,便于实现指令流水
3.RISC 便于设计,可降低成本,提高可靠性。
4.RISC不易实现指令系统兼容