"); //-->
ABB ARCOL 0346 寻求增加在CPU内执行指令的速率
ARCOL 0346上一节对CPU基本操作的描述描述了CPU可以采取的最简单的形式。这种类型的CPU,通常称为子标量,一次对一条或两条数据操作并执行一条指令,即少于一条每个时钟周期的指令(IPC %3C 1).
ARCOL 0346这个过程导致了子标量CPU固有的低效率。由于一次只执行一条指令,整个CPU必须等待该指令完成,然后才能执行下一条指令。结果,子标量CPU在需要一个以上时钟周期来完成执行的指令上被“挂起”。甚至增加一秒钟执行部件(见下文)并没有提高多少性能;现在不是一条路径被挂起,而是两条路径被挂起,并且未使用的晶体管的数量增加。在这种设计中,CPU的执行资源一次只能处理一条指令,只能达到数量性能(每个时钟周期一条指令,IPC = 1).然而,性能几乎总是次标量的(每个时钟周期少于一条指令,IPC %3C 1).13365909307雄霸张少民
试图实现标量和更好的性能导致了各种各样的设计方法,使CPU的行为更少线性,更多并行。当提到CPU中的并行性时,通常使用两个术语来对这些设计技术进行分类:
指令级并行(ILP),其寻求增加在CPU内执行指令的速率(即,增加片上执行资源的使用);
任务级并行(TLP),其目的是增加线或者处理CPU可以同时执行。
每种方法的不同之处在于它们的实现方式,以及它们在提高应用程序的CPU性能方面的相对有效性
ARCOL 0346增加并行性的最简单方法之一是在前一条指令完成执行之前,开始指令获取和解码的第一步。这种技术被称为指令流水线,几乎用于所有现代通用CPU。流水线通过将执行路径分成离散的阶段,允许一次执行多条指令。这种分离可以比作流水线,在流水线中,指令在每个阶段都变得更加完整,直到它退出执行流水线并退休。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。