微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 行业新闻动态 > 从体系结构的演变看高性能微处理器的发展趋势

从体系结构的演变看高性能微处理器的发展趋势

时间:03-14 来源: 点击:

微处理器体系结构

随着高性能计算的需求,计算机体系结构发生了很大变化。作为计算机核心部件的微处理器,其性能和复杂性(晶体管数、时钟频率和峰值)也按照摩尔定律增长。微处理器性能的改善在很大程度上归功于体系结构的发展和VLSI工艺的改进。体系结构的发展主要体现在三个方面,即超流水、多指令发射和多指令操作。

超流水技术主要开发时间并行性。流水线技术是RISC处理器区别于CISC处理器的重要特征。采用超流水技术,尽管可以减少关键路径中每级流水的时间,但同时也引入了更多的寄存器,进而增加了面积开销以及时钟歪斜问题。另一方面,深度流水在指令相关和指令跳转时会大大降低流水线的性能。

多指令发射和多指令操作均是开发空间并行性。多指令发射面临的首要问题是如何保持应用程序语义的正确性,MIMD、超标量和数据流技术是多指令发射的典型结构。MIMD是并行计算的重要研究领域。超标量采用时序指令流发射技术,兼容性好,硬件开销大,功耗开销大,是目前多数商用高端处理器采用的主流技术。数据流采用token环技术,理论上可以开发出高度指令并行性。然而,其商用开发不成功,原因是运行时间开销大,尤其是token环匹配需要很高的时间代价。

多指令操作是当前体系结构的重要研究方向。多指令操作包括数据并行性开发和操作并行性开发。尽管在CISC处理器中均采用过这两种技术,但CISC给体系结构开发带来三个负面影响:一是CISC指令不适合流水处理,二是指令差异很大造成译码困难,三是编译器很难开发出有效的指令操作。与CISC处理器相反,多指令操作非常适合RISC处理器,其中SIMD和VLIW就是数据并行性和操作并行性的典型结构。

向量处理器和SIMD处理器都是利用多个操作数来实现数据并行性。但二者有很大不同。向量处理器对线性向量元素顺序操作,SIMD则对向量元素进行并发操作。对前者,每条指令只能作用于一个功能部件,执行时间较长;而后者在执行指令时可以作用于多个功能部件。向量处理器采用交叉存储器实现向量的访存操作,同时可对短向量进行有效操作,即对稀疏向量进行压缩以获得高性能。SIMD适合多媒体中的分组数据流,通过特定算法将长的数据流截成定长短向量序列,从而可以和向量处理器那样实现对定长短向量序列的高效处理。

VLIW是实现操作并行性开发的重要途径。CISC处理器采用垂直编码技术,而VLIW则采用水平编码技术,指令中的每个操作域可以并发执行。同CISC处理器相比,VLIW具有的优点是:指令操作域定长,译码简单;适合流水处理,减少CPI;编译器需要开发程序潜在的指令级操作并行性。传统VLIW的不足是指令带宽较高,二进制目标代码不兼容。VLIW和SIMD结构都能接受单一指令流,每条指令可以包含多个操作。但前者允许每条指令包含多个不同类型的操作,同时可以开发细粒度并行性。VLIW指令字较长,而SIMD具有很强的数据压缩能力。事实上,VLIW和SIMD技术相结合可以获得更高的性能加速比,且非常适合多媒体数据处理。

从微处理器体系结构和编译器界面划分的角度上讲,指令级体系结构可以分为顺序结构、相关结构和独立结构三类。在顺序结构中,程序不包含任何指令并行信息,完全通过硬件进行调度,即硬件负责操作间的相关分析、独立操作分析和操作调度,编译器只负责程序代码的重组,程序中不附加任何信息。超标量是该类结构的典型代表。在相关结构中,程序显式指定操作的相关信息,即编译器负责操作间的相关分析,而硬件负责独立操作分析和调度,如数据流处理器。独立结构完全由程序提供各个独立操作间的信息,即编译器负责操作间相关性分析、独立操作间分析和指令调度,VLIW是其主要代表。

超标量处理器架构

现代超标量处理器体系结构均基于IBM360/91采用的Tomasulo和CDC6600采用的Scoreboard动态调度技术,MIPS R10000和DEC21264微处理器均基于该体系结构。典型超标量处理器通常采用如下逻辑结构实现动态调度:寄存器重命名逻辑、窗口唤醒逻辑、窗口选择逻辑和数据旁路逻辑。Intel的Pentium处理器、Motorola的PowerPC 604和SPARC64则采用基于预约站的超标量体系结构。

两种体系结构的主要区别是:在典型超标量结构中,无论是推测还是非推测寄存器值都放在物理寄存器堆中;在预约站超标量结构中,推测数据放在重排序缓冲器中,非推测数据和已经执行完成提交的数据则放在寄存器文件中。在典型结构中,操作数不广播到窗口,而只将操作数标志TAG进行广播,操作数则送到物理寄存器文件。在预约站结构中,指令执行结果广播到预约站,指令发射时从预约站去取操作数。

超标量处理器性能与IPC(Instructions Per Cycle)

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top