CPU执行运算速度受三个因素的影响:(1)程序中指令数I,(2)每条指令执行所用周期数CPI,(3)周期时间T。这三者又有:程序执行时间=I *CPI *T,因此,从中可以看出减少其中任一个都可提高CPU的速度,因此要从这三个方面着手,而RISC技术正是如此,对I,CPI,T进行优化。
典型的
RISC指令系统大多数是其于寄存器的指令。选取运算指令、加载、存储指令和转移指令作主指令集。大型寄存器堆(至少32)可用来改善多个用户之间的快速上下切换,并且大多数指令因采用硬连线控制可在一个周期内完成执行,通过采用寄存器堆减少缓存次数,实质是减少CPI来提高CPU速度。
RISC处理机结构中还有带多个寄存器窗口的RISC整数部件(
IU ),这些寄存器中有所有过程共享的全局寄存器和只和每个过程有关的窗口寄存器。使用重叠寄存器窗口是RISC结构的一个重要特性。重叠寄存器窗口技术,其中有8个重叠窗口(由64个局部寄存器和64个重叠寄存器构成)和8个全局寄存器,总共有136个寄存器,每个寄存器窗口被分成了3个部分,每部分有8个寄存器,标记为输入(INS ),局部(Locals)和输出(outs),局部寄存器只能由每个过程局部地访问,输入和输出由各过程共享。调用过程通过它的输出寄存器(同时也是被调用过程的输入寄存器)将参数传送给被调用的过程。重叠窗口可以有效地节省过程间通信所需要的时间,这会使协作过程之间的上下文切换变得更快。
由于执行频度低的复杂指令需要较长的微码,因而就便于考虑完全不用硬件而只靠软件去实现这些指令,这样就可以腾出芯片而积去构造更强有力的,甚至带片内高速缓存或浮点部件,以提高速度。
采用高速缓存结构,这样可保证指令不间断地传送给CPU运算器,采用硬连线控制在CPU内设置了一定大小的cache以扩展
存储器的带宽,满足CPU频繁取指需求,一般有两个独立cache,分别存放“指令十数据”,即指令高速缓存和数据高速缓存。因此可将存储器存取周期插入到使用高速缓存和工作寄存器的流水线存取操作中。
采用
流水线技术,意味着每个周期要发射多条指令并产生多个结果。可使每个周期都有多条指令重叠执行,以减少CPI的值,使CPU不浪费空周期。
RISC在设计上采取了把不常用的操作推给软件的办法来增强其能力。因此RISC处理机更加依赖于好的编译器,同时也要依靠优化编译器去开发并行性。没有高时钟频率、低CPI和好编译器的支持,RISC不可能很好地把设计水平发挥出来。
由于数据从存储器到寄存器存在二者速度差,转移指令要进行入口地址的计算,这使CPU执行速度大大受限,因此,
RISC技术为保证流水线高速运行,在它们之间允许加一条不相关的可立即执行的指令,以提高速度。
只允许
加载(load)、
存储(Cstare)指令执行存储器操作,其余指令均对寄存器操作。大大增加
通用寄存器的数量以提高速度。