1.4.1 流水线技术
流水线(Pipeline)技术是一种将每条指令分解为多步,并使不同指令的各步重叠操作,以实现几条指令并行操作,加速程序的执行速度的一种技术。
采用流水线技术后,并没有加速单条指令的执行,每条指令的操作步骤也没有减少,只是多条指令同时执行,因而从总体上加快了指令执行的速度。
例如,80486采用六级流水线结构,即同时有6条指令并行操作。若每条指令需要6个步骤,每个步骤需要一个时钟周期的时间,那么经过6个时钟后,每个 时钟就有一条指令执行完毕。Pentium采用由“U”和“V”两条并行指令流水线构成的超标量流水线结构,可大大提高指令的执行速度。
流水线的实现是通过增加计算机硬件来实现的。通常一条指令的执行分为预取指令、译码、地址生成、取操作数、执行指令等多个步骤,每个步骤都需要有相应的硬件电路支持,才能实现流水线作业。
1.4.2 高速缓冲存储器技术
在80386以后的微型机中,为了加快运算速度,都增设一级或二级的高速小容量存储器,称之为高速缓冲存储器(Cache)。高速缓冲存储器的存取速度比微机中的主存储器要快一个数量级,大体和CPU的处理速度相当。
由于程序中相关数据块一般都按顺序存放,并且大都存于相邻的存储单元,而程序常常重复使用同一代码和数据块,利用程序执行的这些重要特征,可采用 Cache保存这些经常重复使用或当前将要使用的指令和数据。CPU在对一条指令或操作数寻址时,首先到Cache中去查找,在一般正常情况下,CPU对 Cache的存取命中率可达95%以上,从而大大提高了程序的执行速度。
Cache技术和设计是一个复杂的课题,一般而 言,Cache容量大,有较高的命中率,则说明系统的性能较好。Cache和与它配合的高速缓冲控制器都由硬件实现,80486以后的微处理器中将 Cache和高速缓冲控制器集成在CPU芯片中,因此对用户说是透明的,不需要用户自己去控制或操作。
1.4.3 虚拟存储器技术
虚拟存储技术是在内存储器和外存储器(软盘、硬盘或光盘)之间增加一定的硬件和软件支持,使内存和外存形成一个有机的整体。操作时,将程序预先放在外存 储器中,由系统软件(操作系统)统一管理和调度,按照某种置换算法将外存的内容依次调入内存中被CPU执行。这样,对使用者说,从CPU看到的是一个速度 接近内存而容量却与外存相当的假想存储器,称为虚拟存储器,使编程人员在编写程序时可以不考虑内存容量的限制。在采用虚拟存储器的计算机系统中,存在着虚 地址空间和实地址空间两个地址不同的空间。虚地址空间是程序可用的空间,而实地址空间是CPU可访问的内存空间。例如,在80486中,实地址空间为 232B4GB,而虚地址空间为246B64TB。
1.4.4 RISC技术
精简指令集计算(Reduced Instruction Set Computing)技术简称RISC技术,其主导思想是精简CPU芯片中指令的数目,简化芯片的复杂程度,使指令的执行速度更快。
传统的计算机都采用CISC(Complex Instruction Set Computing)处理器,如现在常用的Intel 80x86,其 指令集中有许多指令非常复杂。用编译器对程序编译的结果证明,大多数复杂的指令很少被使用,编译器生成的总代码的90%以上是只占CISC指令集中不足 10%的指令。要设计更好的编译器是困难的;而可行的方法是,构筑一种简单的计算机,使它只有少数指令、大的寄存器阵列、对主存的简单装入/存储访问,并 且大多数指令执行只需要一个时钟周期,这就是RISC处理器组成的计算机。
RISC处理器的主要特征表现在下列方面:
(1)采用统一的指令长度,以简化相应的逻辑电路;
(2)全64位实现,高流水线执行单元,很高的内部时钟速度(>200MHz);
(3)内置高性能浮点运算部件和大容量指令/数据Cache;
(4)采用调入/存储体系结构,将内存中的数据预先调入内部寄存器,以减少访问内存的指令数;
(5)支持多媒体和DSP的新指令。
RISC处理器的优点早就为人所知,但其执行中需要大容量的存储器和昂贵的Cache,因此RISC技术的推广遇到了很大的阻力。目前RISC技术已逐渐在消费者和商业领域获得认同和应用。