
计算机系统结构55.ppt
31页5.4 指令级高度并行的超级计算机 v超标量处理机 v超长指令字处理机 v超流水线处理机 超标量处理机v采用多指令流水线(度=m)v配置多套功能部件、指令译码电路和多组总线,并且寄存器也备有多个端口和多组总线v适合于求解稀疏向量、矩阵 IBM RS/6000、DEC 21064、Intel i960CA、Tandem Cyclone(飓风)等超标量处理机(续)度m=3的超标量处理机时空图取指译码执行存结果部件时间 1 2 3 4 5 6 7超标量处理机基本结构v一般流水线处理机:一条指令流水线一个多功能操作部件,每个时钟周期平均执行指令的条数小于1v多操作部件处理机:一条指令流水线多个独立的操作部件,操作部件可以采用流水线,也可以不流水多操作部件处理机的指令级并行度小于1v超标量处理机典型结构:多条指令流水线先进的超标量处理机有:定点处理部件CPU,浮点处理部件FPU,图形加速部件GPU大量的通用寄存器,两个一级高速Cache超标量处理机的指令级并行度大于1举例: Motorola公司的MC88110v10个操作部件v两个寄存器堆:整数部件通用寄存器堆,32个32位寄存器;浮点部件扩展寄存器堆,32个80位寄存器。
每个寄存器堆有8个端口,分别与8条内部总线相连接,有一个缓冲深度为4的先行读数栈和一个缓冲深度为3的后行写数栈v两个独立的高速Cache中,各为8KB,采用两路组相联方式v转移目标指令Cache,在有两路分支时,存放其中一路分支超标量处理机MC88110的结构整数部件整数部件位操作浮点加乘法部件除法部件图形部件图形部件内部总线读数存数部件通用寄存器堆扩展寄存器堆目标指令指令分配转移部件数据Cache (8KB)指令Cache (8KB)系统总线32位地址总线32位数据总线单发射与多发射v单发射处理机:每个周期只取一条指令、只译码一条指令,只执行一条指令,只写回一运算结果取指部件和译码部件各设置一套可以只设置一个多功能操作部件,也可以设置多个独立的操作部件操作部件中可以采用流水线结构,也可以不采用流水线结构 设计目标是每个时钟周期平均执行一条指令,ILP(Instruction Level Parallelism )的期望值1单发射处理机的指令流水线时空图IF时钟周期指令I1I2I3IDEXWRIFIDEXWRIFIDEXWR123456IFIDFA1 FA2 FA3MD1 MD2 MD3ALLS浮点加法部件乘除法部件定点ALU部件取数存数部件WR来自指令Cache通用寄存器后行写数栈单发射与多发射(续)v多发射处理机:每个周期同时取多条指令、同时译码多条指令,同时执行多条指令,同时写回多个运算结果需要多个取指令部件,多个指令译码部件和多个写结果部件设置多个指令执行部件,复杂的指令执行部件一般采用流水线结构设计目标是每个时钟周期平均执行多条指令,ILP的期望值大于1多发射处理机的指令流水线时空图WRIF时钟周期指令I1I2I3IDEXWR123456I4I5I6IFIDEXWRI7I8I9IFIDEXWRIFIDEXIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDFA1 FA2 FA3MD1 MD2 MD3ALLS浮点加法部件乘除法部件定点ALU部件取数存数部件WRIFIDWRv超标量处理机:一个时钟周期内能够同时发射多条指令的处理机称为超标量处理机必须有两条或两条以上能够同时工作的指令流水线v先行指令窗口:能够从指令Cache中预取多条指令能够对窗口内的指令进行数据相关性分析和功能部件冲突的检测窗口的大小:一般为2至8条指令采用目前的指令调度技术,每个周期发射2至4条指令比较合理举例vIntel公司的i860、i960、Pentium处理机, Motolora公司的MC88110处理机,IBM公司的Power 6000处理机等每个周期都发射两条指令vTI公司生产的SuperSPARC处理机以及Intel的Pentium III处理机等每个周期发射三条指令v操作部件的个数多于每个周期发射的指令条数。
4个至16个操作部件v超标量处理机的指令级并行度:1<ILP<m;m为每个周期发射的指令条数超流水线处理机v两种定义:一个周期内能够分时发射多条指令的处理机称为 超流水线处理机指令流水线有8个或更多功能段的流水线处理机称为超流水线处理机v提高处理机性能的不同方法:超标量处理机是通过增加硬件资源为代价来换取处理机性能的超流水线处理机则通过各硬件部件充分重叠工作来提高处理机性能v两种不同并行性:超标量处理机采用的是空间并行性超流水线处理机采用的是时间并行性指令执行时序v每隔1/n个时钟周期发射一条指令,流水线周期为1/n个时钟周期v在超标量处理机中,流水线的有些功能段还可以进一步细分v例如:ID功能段可以再细分为译码、读第一操作数和读第二操作数三个流水段也有些功能段不能再细分,如WR功能段一般不再细分v因此有超流水线的另外一种定义:有8个或8个以上流水段的处理机称为超流水线处理机超流水线处理机(续)147102581136912147102581136912147102581136912147102581136912取指译码执行存结果每个时钟周期分时发射3条指令的超流水线举例: MIPS R4000vMIPS R4000处理机每个时钟周期包含两个流水段,是一种很标准的超流水线处理机结构。
指令流水线有8个流水段v有两个Cache,指令Cache和数据Cache的容量各8KB,每个时钟周期可以访问Cache两次,因此在一个时钟周期内可以从指令Cache中读出两条指令,从数据Cache中读出或写入两个数据v主要运算部件有整数部件和浮点部件MIPS R4000处理机的流水线操作指令CacheIF:取第一条指令IS:取第二条指令RF:读寄存器堆,指令译码EX:执行指令DF:取第一个数据DS:取第二个数据TC:数据标志检验;WB:写回结果指令译码读寄存器堆ALU数据Cache标志检验寄存器堆IFISRFEXDF DSWBTCMIPS R4000正常指令流水线工作时序IF流水线周期当前CPU周期IS RF EX DF DS TC WBIFIS RF EX DF DS TC WBIFIS RF EX DF DS TC WBIFIS RF EX DF DS TC WBIFIS RF EX DF DS TC WBIFIS RF EX DF DS TC WBIFIS RF EX DF DS TC WBIFIS RF EX DF DS TC WB主时钟周期超标量超流水线处理机v把超标量与超流水线技术结合在一起,就成为超标量超流水线处理机v指令执行时序超标量超流水线处理机在一个时钟周期内分时发射指令n次,每次同时发射指令m条,每个时钟周期总共发射指令m × n条。
每时钟周期发射3次,每次3条指令IF时钟周期指令I1I2I3IDEXWR12345I4I5I6I7I8I9IFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRI10I11I12三种指令级并行处理机性能比较v超标量处理机、超流水线处理机和超标量超流水线处理机相对于单流水线普通标量处理机的性能曲线0.00.51.01.52.02.512345678相对性能超标量超流水线超标量超流水线指令级并行度结论v三种处理机的性能关系超标量处理机的相对性能最高,其次是超标量超流水线处理机,超流水线处理机的相对性能最低,主要原因如下:超标量处理机在每个时钟周期的一开始就同时发射多条指令,而超流水线处理机则要把一个时钟周期平均分成多个流水线周期,每个流水线周期发射一条指令;因此,超流水线处理机的启动延迟比超标量处理机大结论(续)条件转移造成的损失,超流水线处理机要比超标量处理机大在指令执行过程中的每一个功能段,超标量处理机都重复设置有多个相同的指令执行部件,而超流水线处理机只是把同一个指令执行部件分解为多个流水级;因此,超标量处理机指令执行部件的冲突要比超流水线处理机小。
结论(续)v实际指令级并行度与理论指令级并行度的关系当横坐标给出的理论指令级并行度比较低时,处理机的实际指令级并行度的提高比较快当理论指令级并行度进一步增加时,处理机实际指令级并行度提高的速度越来越慢在实际设计超标量、超流水线、超标量超流水线处理机的指令级并行度时要适当,否则,有可能造成花费了大量的硬件,但实际上处理机所能达到的指令级并行度并不高目前,一般认为,m 和 n 都不要超过4 超标量、超流水、超标量超流水处理机的主要性能k段流水线基准标量处理机m度超标量n度超流水线(m,n)度超标量超流水机器类型机器流水线周期同时发射指令条数指令发射等待时间指令级并行度ILP1个时钟周期1条1个时钟周期11m1m1/n11/nn1/nm1/nm´n超长指令字处理机(VLIW)vVLIW (Very Long Instruction Word)v是将水平型微码和超标量处理两者结合的结构v指令字长可达数百位,多个功能部件并发工作,共享大容量寄存器堆v是一种单指令多操作码多数据的系统结构(SIMOMD)超长指令字处理机(续)存/取浮点加浮点乘……定点算逻转移主存寄存器堆存/取部件浮点加法部件定点算逻部件转移部件典型的VLIW处理机组成和指令格式超长指令字处理机(续)取指译码执行存结果部件时间度m=3的执行时空图小结v流水线方式v相关问题:转移、数据、控制、指令v时空图分析v超标量、超流水线、VLIWv向量的流水处理。












