CPU的常用技术
CPU的任务是尽可能快地处理系统中大量的信息和数据。所以,不论CPU本身如何发
展,这些技术都是围绕突破速度极限而研发的。提高速度的常用方法主要有:优化指令集,提高处理器每个工作单元的效率,配置更多的工作单元或新的运行方式来增加并行处理能力,缩短运行的时钟周期以及增加字长等。
3.3.1与指令集有关的技术
1.复杂指令系统
指采用在指令系统中增加更多的指令以及让每条指令完成更复杂的工作,来提高操作系统的效率的指令系统。把这样的指令系统称为复杂指令系统,用这样的指令系统构成的计算机系统称为CISC(复杂指令系统计算机)。
复杂的指令系统确实为编程带来了方便和高效。但随着计算机功能的增强,CPU的指令越来越复杂,也使得实现的难度和出错的几率大大增加,现在纯粹意义上的CISC几平已经不存在了。
2.精简指令系统
CISC电脑中,各种指令的使用频率相差悬殊,最常使用的一些比较简单的指令,仅占指令总数的20%,但在程序中出现的须率却占80%。于是着眼于减少指令的执行周期数,简化指令使计算机结构更加合理并提高运行速度的精简指令系统计算机RISC(RedcdInstruction Set Computer)开始出现。
RISC选用那些使用频率最高的一些简单指令,以及很有用又不复杂的指令,使得指令数目减少,从而使指令的长度和指令周期进一步缩短。这样,以前由硬件和复杂指令实现的工作,由用户通过简单指令来实现,从而降低了硬件设计难度,有利于提高芯片集成度和工作速度。
3.超长指令字(VLIW)技术
VLIW是一种单指令流多操作码多数据的系统结构。它使编译程序在编译的时候,把多个能并行执行的操作组合在一起,成为一条有多个操作段的超长指令,然后由这条超长指令控制CPU中多个互相独立工作的功能部件,每个操作段控制一个,相当于同时执行多条指令。
4.显式并行指令(Explicitly Parallel Instruction)技术
这是一种已经合并了RISC和超长指令字两方面优势的技术,由Intel开发出来。这种技术比以前其他技术更加需要整合硬件和软件的不同优势。通过给编译器做一些优化,使之能够给处理器一些暗示和线索,以加快代码段的执行。
5.流水线技术
为介绍流水线结构,打个比方更容易理解。请大家设想一下工厂里产品装配线的情况,在我们想要提高它的运行速度的时候,是怎么做的呢?首先应把复杂的装配过程分解成一个一个简单的工序,然后让每个装配工人只专门从事其中的一个环节。这样每个人的办事效率都会得到很大的提高,从而使整个产品装配的速度加快。这就是流水线技术的核心思想。
过去按照冯·诺依曼型计算机执行程序的原理,指令必须是按顺序方式逐条串行执行的。比如加法指令可以分成取指令、指令译码、取操作数、ALU运算及写结果5个步骤,如果在程序中有连续两条这样的指令,在传统的计算机里必须等第一条指令完全结束才能开始执行;而流水线的好处是第一条指令开始译码的时候,第二条就可以开始取指令了。
6.超级流水线
超级流水线的根本原理同流水线技术是一样的,但它的流水线周期比其他机器短,这种做法可以说是对更高时钟频率CPU的一种适应。当然在有可能取得更高效率的同时,它在控制方面所花费的代价也比较大。