RISC技术

 

      RISC(Reduced Instruction Set Computing 的缩写),精简指令集,计算机CPU的一种设计模式。早期,这种CPU指令集的特点是指令数目少,每条指令都采用标准字长、执行时间短、CPU的实现细节对于机器级程序是可见的等等。

      相信大家在日常电脑使用或CPU的广告介绍中时常听到见到“RISC”这个词,什么Pentium Ⅱ/Pro采用先进RISC技术……K6采用RISC86结构,从而……总之大凡稍高档点的中央处理器都称采用RISC技术,那么RISC究竟是什么东西呢?
      如果你是电脑初学爱好者,并想从事电脑的开发、学习,那你应认真读一读,因为它是计算机技术中一个相当重要的环节。
      首先,要了解RISC技术就该从计算机的指令谈起,我们都知道计算机的工作就是取指令、执行指令,一条指令一般给出的是操作码和地址码,这是基本的结构,然而指令又涉及以下几个问题。首先指令字长有多少位,是定字长还是变字长;其次,操作码结构需几位,位数是定量还是浮动量;再次,地址的结构和寻址方式如何。这种种因素使计算机指令产生了“简单指令”和“复杂指令”之分。70年代以前的计算机均用传统的CISC指令结构,即完全采用复杂指令来支持高级语言、应用程序和操作系统。这种PC不但成本高且效率较低,速度受限,后来人们发现机器执行的指令中85%左右的都是简单指令,复杂指令甚少,因此开始研制精简指令系统计算机(RISC)。自从Intel的Pentium问世以来(92年末),RISC技术更是得到了广泛的应用,并开始渗透到小、中、大型机领域,可谓发展前景一片光明。
  下面具体谈谈RISC技术。CPU执行运算速度受三个因素的影响:
   (1)程序中指令数I;
   (2)每条指令执行所用周期数CPI;
   (3)周期时间T。
      这三者又有:程序执行时间=I*CPI*T,因此,从这个等式可看出减小其中任一个都可提高CPU的速度,因此RISC技术就从这三方面下手,对I、CPI、T进行优化改良,其措施如下:
  1、采用多级指令流水线结构
  采用流水线技术可使每一时刻都有多条指令重叠执行,以减小CPI的值,使CPU不浪费空周期。实例:Pentium Ⅱ/Pro/Celeron可同时发出执行五条指令,AMD-K6/K6-2可同时发出六条指令。
  2、选取机器中使用频率最高的简单指令及部分复杂指令
  这样可减小时钟周期数量,提高CPU速度,其实质是减小CPI下的值实现。实例:选取运算指令、加载、存储指令和转移指令作主指令集。
  3、采用加载(Load)、存储(Store)结构
  只允许Load和Store指令执行存储器操作,其余指令均对寄存器操作。实例:Amd-K6/K6-2、PⅡ/Celeron/Pro均支持对寄存器的直接操作和重新命名,并大大增加通用寄存器的数量。
  4、延迟加载指令和转移指令
  由于数据从存储器到寄存器存在二者速度差、转移指令要进行入口地址的计算,这使CPU执行速度大大受限,因此,RISC技术为保证流水线高速运行,在它们之间允许加一条不相关的可立即执行的指令,以提高速度。实例:主要体现于预测执行、非顺序执行和数据传输等方面,除Intel P54/55C不支持,像K6-2、PⅡ均支持。
  5、采用高速缓存(cache)结构
  为保证指令不间断地传送给CPU运算器,CPU设置了一定大小的Cache以扩展存储器的带宽,满足CPU频繁取指需求,一般有两个独立Cache,分别存放“指令+数据”。实例:PⅡ/Celeron:16K+16K,AMD-K6/K6-2为32K+32K,Cyrix MⅡ:64K(实也为2个32K Cache,此作共享Cache),PⅡ还加了L2 Cache,更是大幅提高了CPU速度。
  以上简谈了RISC的精髓,望对计算机爱好者有所帮助,希望你能在通向计算机宝库的大道上迈进一步   CISC(复杂指令集计算机)和RISC(精简指令集计算机)是前CPU 的两种架构。它们的区别在于不同的CPU设计理念和方法。早期的CPU全部是CISC架构,它的设计目的是要用最少的机器语言指令来完成所需的计算任务。

RISC则是计算机系统只有少数指令,但是每个指令的执行时间相当短,因此CPU可以用相当高的频率来运算。