




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
向量的流水处理提高流水性能方法:增加流水线段数,以减少Δt每个时钟同时启动多条指令减少相关,减少功能变换次数,增加处理指令条数。向量的流水处理提高流水性能方法:1向量的流水处理(续)向量操作特点向量元素间操作相互独立,且为相同操作相当于标量循环,对指令带宽的访问要求不高可采用多体交叉存储器,减少访存延迟。向量操作很适合于流水处理或并行处理。向量的流水处理(续)向量操作特点2向量的流水处理(续)向量处理过程置VL、VM、A取向量到V运算。向量的分量间采取的是流水方式。并行处理机(SIMD)处理向量时采取的是并行方式。向量的流水处理(续)向量处理过程3向量的流水处理(续)向量处理工作方式如:D=A×(B+C)横向加工:bi+ci->k,k*ai->di产生N次相关,2N次功能切换,适合标量循环纵向加工:bi+ci->ki,ki*ai->di产生1次相关,1次功能切换,可流水处理纵横处理:对向量分组,组内纵向、组间横向处理向量的流水处理(续)向量处理工作方式4向量流水处理机向量流水处理机的指令系统向量流水处理机的结构超级向量流水处理机举例向量流水处理机向量流水处理机的指令系统5向量流水处理机的指令系统包含有向量型和标量型两类指令向量型运算类指令向量V1运算得向量V2,如V2=SIN(V1)向量V运算得标量S,如向量V1与向量V2运算得向量V3,V3=V1^V2向量V1与标量S运算得向量V2,V2=S*V1特殊操作指令向量比较指令向量压缩指令归并指令向量传送指令向量流水处理机的指令系统包含有向量型和标量型两类指令6向量流水处理机的结构1972年首次交付使用CRAY-1向量流水处理机分布异构型多处理机系统,由中央处理机、诊断维护控制处理机、大容量磁盘存储子系统、前端处理机组成6个流水线单功能部件:整数加、逻辑运算、移位、浮点加、浮点乘和浮点迭代求倒数向量寄存器由512个64位寄存器组成,分成8组向量流水处理机的结构1972年首次交付使用CRAY-1向量流7主存V0V7
向量寄存器组(8×64个)加向量功能部件标量寄存器S0S7加浮点功能部件VM向量控制
移位逻辑运算相乘迭代求倒数向量控制向量长度寄存器VLBTR/W地址寄存器A主存V0V7向量8超级向量流水处理机举例1972年成立CRAY公司,至今生产了400台以上的超级计算机1979年CRAY-1S,CRAY-1改进型,有10条流水线1983年CRAYX-MP,用4台CRAY-11985年CRAY-2S1988年CRAYY-MP,8台处理机1991年CRAYY-MPC-901996年12月,克雷研究公司也被SGI公司以7.5亿美元收购2000年,被Tera公司合并,同年更名Cray目前产品:MTA、SV1、SX_6、T3E2002年CrayX1。运算速度最高为每秒52万亿次,支持65.5TB存储器。宣布了在2010年以前实现能够连续地处理每秒1000万亿次Cray公司称,他们将在2008年使用四核心的AMDOpteron处理器建造XT4超级计算机,并将在2009年接近1Pflops(每秒1000万亿次浮点运算)能力。网址:超级向量流水处理机举例1972年成立CRAY公司,至今生产了9超级向量流水处理机举例(续)CDC公司1973年推出第一台超级计算机STAR-1001964年CDC-6600RISC特征1982年CYBER2051999年被Syntegra收购ETA10:8个CPU网址:超级向量流水处理机举例(续)CDC公司1973年推出第一台超10几种超级计算机的向量性能和标量性能机器型号FujitsuVP400CrayISCray2SCrayX-MPCrayY-MPHitachiS820NECSX2向量性能
Mflops标量性能
Mflops向量平衡点85.09.80.90151.511.20.93143.313.10.92201.617.00.92737.317.80.98424.29.50.98207.16.60.97向量平衡点(vectorbalancepoint)定义为:为了使向量硬件设备和标量硬件设备的利用率相等,一个程序中向量代码所占的百分比。几种超级计算机的向量性能和标量性能机器型号FujitsuV11§4指令级高度并行的超级计算机
超标量处理机超流水线处理机超标量超流水线处理机超长指令字处理机
§4指令级高度并行的超级计算机超标量处理机12超标量处理机采用多指令流水线(度=m)配置多套功能部件、指令译码电路和多组总线,并且寄存器也备有多个端口和多组总线。适合于求解稀疏向量、矩阵IBMRS/6000、DEC21064、Inteli960CA、TandemCyclone(飓风)等超标量处理机采用多指令流水线(度=m)13超标量处理机(续)取指译码执行存结果部件时间度m=3的超标量处理机时空图超标量处理机(续)取指译码执行存结果部件时间度m=3的超标量14超标量处理机基本结构一般流水线处理机:一条指令流水线一个多功能操作部件,每个时钟周期平均执行指令的条数小于1。多操作部件处理机:一条指令流水线多个独立的操作部件,操作部件可以采用流水线,也可以不流水多操作部件处理机的指令级并行度小于1超标量处理机典型结构:多条指令流水线进的超标量处理机有:定点处理部件CPU,浮点处理部件FPU,图形加速部件GPU大量的通用寄存器,两个一级高速Cache超标量处理机的指令级并行度大于1超标量处理机基本结构一般流水线处理机:15举例:Motorola公司的MC8811010个操作部件两个寄存器堆:整数部件通用寄存器堆,32个32位寄存器;浮点部件扩展寄存器堆,32个80位寄存器。每个寄存器堆有8个端口,分别与8条内部总线相连接,有一个缓冲深度为4的先行读数栈和一个缓冲深度为3的后行写数栈。两个独立的高速Cache中,各为8KB,采用两路组相联方式。转移目标指令Cache,在有两路分支时,存放其中一路分支上的指令举例:Motorola公司的MC8811010个操作部件16超标量处理机MC88110的结构整数
部件整数
部件位
操作浮点加乘法
部件除法
部件图形
部件图形
部件内部总线读数存
数部件通用寄
存器堆扩展寄
存器堆目标
指令指令分配
转移部件数据Cache(8KB)指令Cache(8KB)系统总线32位地址总线32位数据总线超标量处理机MC88110的结构整数
部件整数
部件位
操作17单发射与多发射单发射处理机:每个周期只取一条指令、只译码一条指令,只执行一条指令,只写回一运算结果取指部件和译码部件各设置一套可以只设置一个多功能操作部件,也可以设置多个独立的操作部件操作部件中可以采用流水线结构,也可以不采用流水线结构设计目标是每个时钟周期平均执行一条指令,ILP的期望值1单发射与多发射单发射处理机:18单发射处理机的指令流水线时空图IF时钟
周期指令I1I2I3IDEXWRIFIDEXWRIFIDEXWR123456单发射处理机的指令流水线时空图IF时钟
周期指令I1I2I319IFIDFA1FA2FA3MD1MD2MD3ALLS浮点加法部件乘除法部件定点ALU部件取数存数部件WR来自指
令Cache通用寄存器后行写数栈IFIDFA1FA2FA3MD1MD2MD3ALLS浮点加法20单发射与多发射(续)多发射处理机:每个周期同时取多条指令、同时译码多条指令,同时执行多条指令,同时写回多个运算结果需要多个取指令部件,多个指令译码部件和多个写结果部件设置多个指令执行部件,复杂的指令执行部件一般采用流水线结构设计目标是每个时钟周期平均执行多条指令,ILP的期望值大于1单发射与多发射(续)多发射处理机:21多发射处理机的指令流水线时空图IF时钟
周期指令I1I2I3IDEXWR123456I4I5I6IFIDEXWRI7I8I9IFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWR多发射处理机的指令流水线时空图IF时钟
周期指令I1I2I322IFIDFA1FA2FA3MD1MD2MD3ALLS浮点加法部件乘除法部件定点ALU部件取数存数部件WRIFIDWRIFIDFA1FA2FA3MD1MD2MD3ALLS浮点加法23超标量处理机:一个时钟周期内能够同时发射多条指令的处理机称为超标量处理机必须有两条或两条以上能够同时工作的指令流水线先行指令窗口:能够从指令Cache中预取多条指令能够对窗口内的指令进行数据相关性分析和功能部件冲突的检测窗口的大小:一般为2至8条指令采用目前的指令调度技术,每个周期发射2至4条指令比较合理超标量处理机:24举例Intel公司的i860、i960、Pentium处理机,Motolora公司的MC88110处理机,IBM公司的Power6000处理机等每个周期都发射两条指令TI公司生产的SuperSPARC处理机以及Intel的PentiumIII处理机等每个周期发射三条指令操作部件的个数多于每个周期发射的指令条数。4个至16个操作部件超标量处理机的指令级并行度:1<ILP<m;m为每个周期发射的指令条数。举例Intel公司的i860、i960、Pentium处理机25IFIDFA1FA2FA3MD1MD2MD3ALLS浮点加法部件乘除法部件定点ALU部件取数存数部件WRIFIDWRIFID先行指
令窗口IFIDFA1FA2FA3MD1MD2MD3ALLS浮点加法26超流水线处理机两种定义:一个周期内能够分时发射多条指令的处理机称为超流水线处理机。指令流水线有8个或更多功能段的流水线处理机称为超流水线处理机。提高处理机性能的不同方法:超标量处理机是通过增加硬件资源为代价来换取处理机性能的。超流水线处理机则通过各硬件部件充分重叠工作来提高处理机性能。两种不同并行性:超标量处理机采用的是空间并行性超流水线处理机采用的是时间并行性超流水线处理机两种定义:27指令执行时序每隔1/n个时钟周期发射一条指令,流水线周期为1/n个时钟周期在超标量处理机中,流水线的有些功能段还可以进一步细分例如:ID功能段可以再细分为译码、读第一操作数和读第二操作数三个流水段。也有些功能段不能再细分,如WR功能段一般不再细分。因此有超流水线的另外一种定义:有8个或8个以上流水段的处理机称为超流水线处理机指令执行时序每隔1/n个时钟周期发射一条指令,流水线周期为128超流水线处理机(续)147102581136912147102581136912147102581136912147102581136912取指译码执行存结果每个时钟周期分时发送3条指令的超流水线超流水线处理机(续)1471025811369121471029举例:MIPSR4000MIPSR4000处理机每个时钟周期包含两个流水段,是一种很标准的超流水线处理机结构。指令流水线有8个流水段有两个Cache,指令Cache和数据Cache的容量各8KB,每个时钟周期可以访问Cache两次,因此在一个时钟周期内可以从指令Cache中读出两条指令,从数据Cache中读出或写入两个数据。主要运算部件有整数部件和浮点部件举例:MIPSR4000MIPSR4000处理机每个时30计算机体系结构chapter54课件31MIPSR4000处理机的流水线操作指令CacheIF:取第一条指令 IS:取第二条指令
RF:读寄存器堆,指令译码
EX:执行指令 DF:取第一个数据
DS:取第二个数据 TC:数据标志
校验;WB:写回结果指令
译码读寄
存器堆ALU数据Cache标志检验寄存器堆IFISRFEXDFDSWBTCMIPSR4000处理机的流水线操作指令IF:取第一条指令32MIPSR4000正常指令流水线工作时序IF流水线周期当前CPU周期ISRFEXDFDSTCWBIFISRFEXDFDSTCWBIFISRFEXDFDSTCWBIFISRFEXDFDSTCWBIFISRFEXDFDSTCWBIFISRFEXDFDSTCWBIFISRFEXDFDSTCWBIFISRFEXDFDSTCWB主时
钟
周期MIPSR4000正常指令流水线工作时序IF流水线周期当前33超标量超流水线处理机把超标量与超流水线技术结合在一起,就成为超标量超流水线处理机指令执行时序超标量超流水线处理机在一个时钟周期内分时发射指令n次,每次同时发射指令m条,每个时钟周期总共发射指令m×
n条。超标量超流水线处理机把超标量与超流水线技术结合在一起,就成为34每时钟周期发射3次,每次3条指令IF时钟周期指令I1I2I3IDEXWR12345I4I5I6I7I8I9IFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRI10I11I12每时钟周期发射3次,每次3条指令IF时钟周期指令I1I2I335举例:DEC公司的AlphaDEC公司的Alpha处理机采用超标量超流水线结构。主要由四个功能部件和两个Cache组成:整数部件EBOX、浮点部件FBOX、地址部件ABOX和中央控制部件IBOX。中央控制部件IBOX可以同时从指令Cache中读入两条指令,同时对读入的两条指令进行译码,并且对这两条指令作资源冲突检测,进行数据相关性和控制相关性分析。如果资源和相关性允许,IBOX就把两条指令同时发射给EBOX、ABOX和FBOX三个指令执行部件中的两个。指令流水线采用顺序发射乱序完成的控制方式。在指令Cache中有一个转移历史表,实现条件转移的动态预测。在EBOX内还有多条专用数据通路,可以把运算结果直接送到执行部件。举例:DEC公司的AlphaDEC公司的Alpha处理机采36举例:DEC公司的AlphaAlpha21064处理机共有三条指令流水线整数操作流水线和访问存储器流水线分为7个流水段,其中,取指令和分析指令为4个流水段,运算2个流水段,写结果1个流水段。浮点操作流水线分为10个流水段,其中,浮点执行部件FBOX的延迟时间为6个流水段。所有指令执行部件EBOX、IBOX、ABOX和FBOX中都设置由专用数据通路。 析指令为4个流水段,运算2个流水段,写结果1个流水段。浮点操作流水线分为10个流水段,其中,浮点执行部件FBOX的延迟时间为6个流水段。所有指令执行部件EBOX、IBOX、ABOX和FBOX中都设置由专用数据通路。Alpha21064处理机的三条指令流水线的平均段数为8段,每个时钟周期发射两条指令。因此,Alpha21064处理机是超标量超流水线处理机。举例:DEC公司的AlphaAlpha21064处理机共37计算机体系结构chapter54课件38三种指令级并行处理机性能比较超标量处理机、超流水线处理机和超标量超流水线处理机相对于单流水线普通标量处理机的性能曲线。0.00.51.01.52.02.512345678相对性能超标量超流水线超标量
超流水线指令级
并行度三种指令级并行处理机性能比较超标量处理机、超流水线处理机和超39结论三种处理机的性能关系超标量处理机的相对性能最高,其次是超标量超流水线处理机,超流水线处理机的相对性能最低,主要原因如下:超标量处理机在每个时钟周期的一开始就同时发射多条指令,而超流水线处理机则要把一个时钟周期平均分成多个流水线周期,每个流水线周期发射一条指令;因此,超流水线处理机的启动延迟比超标量处理机大。结论三种处理机的性能关系超标量处理机的相对性能最高,其次是超40结论(续)条件转移造成的损失,超流水线处理机要比超标量处理机大。在指令执行过程中的每一个功能段,超标量处理机都重复设置有多个相同的指令执行部件,而超流水线处理机只是把同一个指令执行部件分解为多个流水级;因此,超标量处理机指令执行部件的冲突要比超流水线处理机小。结论(续)条件转移造成的损失,超流水线处理机要比超标量处理机41结论(续)实际指令级并行度与理论指令级并行度的关系当横坐标给出的理论指令级并行度比较低时,处理机的实际指令级并行度的提高比较快。当理论指令级并行度进一步增加时,处理机实际指令级并行度提高的速度越来越慢。在实际设计超标量、超流水线、超标量超流水线处理机的指令级并行度时要适当,否则,有可能造成花费了大量的硬件,但实际上处理机所能达到的指令级并行度并不高。目前,一般认为,m和n都不要超过4。
结论(续)实际指令级并行度与理论指令级并行度的关系42结论(续)最大指令级并行度一个特定程序由于受到本身的数据相关和控制相关的限制,它的指令级并行度的最大值是有限的,是有个确定的值。这个最大值主要由程序自身的语义来决定,与这个程序运行在那一种处理机上无关。对于某一个特定的程序,图中的三条曲线最终都要收拢到同一个点上。当然,对于各个不同程序,这个收拢点的位置也是不同的。结论(续)最大指令级并行度43超标量处理机:Intel公司的i860,i960,Pentium处理机Motolora公司的MC88110IBM公司的Power6000SUN公司的SuperSPARC等超流水线处理机:SGI公司的MIPSR4000,R5000,R10000等超标量超流水线处理机:DEC公司的Alpha等超标量处理机:44超标量、超流水、超标量超流水处理机的主要性能k段流水
线基准标
量处理机m度
超标量n度超
流水线(m,n)度
超标量
超流水机器类型机器流水
线周期同时发射
指令条数指令发射
等待时间指令级并
行度ILP1个时
钟周期1条1个时
钟周期11m1m1/n11/nn1/nm1/nm´n超标量、超流水、超标量超流水处理机的主要性能k段流水
线基准45超长指令字处理机(VLIW)VLIW(VeryLongInstructionWord)是将水平型微码和超标量处理两者结合的结构指令字长可达数百位,多个功能部件并发工作,共享大容量寄存器堆。是一种单指令多操作码多数据的系统结构(SIMOMD)超长指令字处理机(VLIW)VLIW(VeryLong46超长指令字处理机(续)存/取浮点加浮点乘……定点算逻转移主存寄存器堆存/取部件浮点加法部件定点算逻部件转移部件典型的VLIW处理机组成和指令格式超长指令字处理机(续)存/取浮点加浮点乘……定点算逻转移主存47超长指令字处理机(续)取指译码执行存结果部件时间度m=3的执行时空图超长指令字处理机(续)取指译码执行存结果部件时间度m=3的执48EPIC
ExplicitlyParallelInstructionComputing显性并行指令计算1994年,Intel和HP决定联合开发新一代微处理器—基于IA-64架构的Merced,并共同定义了显性并行指令计算技术EPIC.IA-64指令系统的统称。集成RISC和VLIW各自的优势技术,指令字长为128位,包含三个40位的指令和一个8位的模版代码。每个指令分为多个独立的操作字段,每个字段可分别控制各个功能部件并行工作,而模版中包含各指令间并行处理的信息,依据模版代码信息,可同时在不同的执行单元中执行三条没有相关性的指令,控制并行处理关系,提高并行处理能力EPIC
ExplicitlyParallelInstr49EPICEPIC是一种超越超标量的新模式,它克服了VLIW处理器的缺点,实现下面的3步:由编译器先分析指令间的依赖关系;编译器将没有依赖关系的指令,按最多是3个指令为一组,组合成多个“组”;由内置的执行单元将分成组的指令群并行执行。因每条指令究竟分给哪一个执行单元是由软件决定的,因而利用简单的硬件就可以提高指令的并行度,降低了处理器的制造成本。EPICEPIC是一种超越超标量的新模式,它克服了VLIW处50RVIP技术和CRVIP技术RVIP(RISC-VLIWProcessor)技术和CRVIP(CISC-RISC-VLIWProcessor)技术是将RISC超标量结构与VLIW技术融为一体,或将CRIP(CISC-RISCProcessor)混合结构与VLIW技术融为一体的技术.在融合VLIW和超标量结构技术的RVIP型或者CRVIP型微处理机中,将不必在其执行部件中设置复杂的执行顺序控制电路。因为在指令分发调度之前就已经弄清楚了这些指令之间的相关联性。VLIW技术渗入的显著效果之一,就是它消除了超标量结构的过分的复杂性,从而使硬件系统结构设计获得简化。RVIP技术和CRVIP技术RVIP(RISC-VLIWP51
Itanium2HPIntegritySuperdomeHP-UX,Win2000,LinuxSGIAltix3700Linux
521、向量计算机系统结构的发展趋势提供多种向量运算指令。除具有向量处理功能外还有其它功能。采用多层次的存储器系统。流水线技术与并行技术相结合。2、向量计算机系统结构要解决的六个技术问题:处理机带宽,两种方法:运算部件采用流水线结构。用多个运算器构成并行系统。存储器带宽,多种解决方法:
用多个独立的存储体构造一个大容量的存储器系统。
采用多层次的存储器系统提高访问速度。
采用高速缓冲存储器和可寻址的寄存器组效果最好。
采用流水线技术,存储系统的访问速度快5~20倍。向量处理机的发展1、向量计算机系统结构的发展趋势向量处理机的发展53输入/输出带宽
许多高性能向量处理机配备10~29个DMA通道。通信带宽。共享存储器或互连网络。同步。多流水线结构通过控制程序使所有流水线同步工作。
Cray-1系统采用流水线互锁来控制向量操作,不冲突的操作可以并行地执行,相关的操作尽可能链接起来重叠地进行。多用途。非数值计算问题。3、向量计算机系统结构的主要优点是:通过流水线存取方式有效地提高了存储器的带宽。流水结构的运算器有很高的性能价格比。非常简单的机制就能满足通信和同步的要求。向量处理机以Mflops(Millionfloating-pointoperationspersecond)作为速度单位。一般认为,标量计算机中执行一次浮点运算需2~5条指令,平均需3条指令。输入/输出带宽
许多高性能向量处理机配备10~29个D54小结流水线方式相关问题:转移、数据、控制、指令时空图分析单功能非线性流水线调度超标量、超流水线、VLIW小结流水线方式55向量的流水处理提高流水性能方法:增加流水线段数,以减少Δt每个时钟同时启动多条指令减少相关,减少功能变换次数,增加处理指令条数。向量的流水处理提高流水性能方法:56向量的流水处理(续)向量操作特点向量元素间操作相互独立,且为相同操作相当于标量循环,对指令带宽的访问要求不高可采用多体交叉存储器,减少访存延迟。向量操作很适合于流水处理或并行处理。向量的流水处理(续)向量操作特点57向量的流水处理(续)向量处理过程置VL、VM、A取向量到V运算。向量的分量间采取的是流水方式。并行处理机(SIMD)处理向量时采取的是并行方式。向量的流水处理(续)向量处理过程58向量的流水处理(续)向量处理工作方式如:D=A×(B+C)横向加工:bi+ci->k,k*ai->di产生N次相关,2N次功能切换,适合标量循环纵向加工:bi+ci->ki,ki*ai->di产生1次相关,1次功能切换,可流水处理纵横处理:对向量分组,组内纵向、组间横向处理向量的流水处理(续)向量处理工作方式59向量流水处理机向量流水处理机的指令系统向量流水处理机的结构超级向量流水处理机举例向量流水处理机向量流水处理机的指令系统60向量流水处理机的指令系统包含有向量型和标量型两类指令向量型运算类指令向量V1运算得向量V2,如V2=SIN(V1)向量V运算得标量S,如向量V1与向量V2运算得向量V3,V3=V1^V2向量V1与标量S运算得向量V2,V2=S*V1特殊操作指令向量比较指令向量压缩指令归并指令向量传送指令向量流水处理机的指令系统包含有向量型和标量型两类指令61向量流水处理机的结构1972年首次交付使用CRAY-1向量流水处理机分布异构型多处理机系统,由中央处理机、诊断维护控制处理机、大容量磁盘存储子系统、前端处理机组成6个流水线单功能部件:整数加、逻辑运算、移位、浮点加、浮点乘和浮点迭代求倒数向量寄存器由512个64位寄存器组成,分成8组向量流水处理机的结构1972年首次交付使用CRAY-1向量流62主存V0V7
向量寄存器组(8×64个)加向量功能部件标量寄存器S0S7加浮点功能部件VM向量控制
移位逻辑运算相乘迭代求倒数向量控制向量长度寄存器VLBTR/W地址寄存器A主存V0V7向量63超级向量流水处理机举例1972年成立CRAY公司,至今生产了400台以上的超级计算机1979年CRAY-1S,CRAY-1改进型,有10条流水线1983年CRAYX-MP,用4台CRAY-11985年CRAY-2S1988年CRAYY-MP,8台处理机1991年CRAYY-MPC-901996年12月,克雷研究公司也被SGI公司以7.5亿美元收购2000年,被Tera公司合并,同年更名Cray目前产品:MTA、SV1、SX_6、T3E2002年CrayX1。运算速度最高为每秒52万亿次,支持65.5TB存储器。宣布了在2010年以前实现能够连续地处理每秒1000万亿次Cray公司称,他们将在2008年使用四核心的AMDOpteron处理器建造XT4超级计算机,并将在2009年接近1Pflops(每秒1000万亿次浮点运算)能力。网址:超级向量流水处理机举例1972年成立CRAY公司,至今生产了64超级向量流水处理机举例(续)CDC公司1973年推出第一台超级计算机STAR-1001964年CDC-6600RISC特征1982年CYBER2051999年被Syntegra收购ETA10:8个CPU网址:超级向量流水处理机举例(续)CDC公司1973年推出第一台超65几种超级计算机的向量性能和标量性能机器型号FujitsuVP400CrayISCray2SCrayX-MPCrayY-MPHitachiS820NECSX2向量性能
Mflops标量性能
Mflops向量平衡点85.09.80.90151.511.20.93143.313.10.92201.617.00.92737.317.80.98424.29.50.98207.16.60.97向量平衡点(vectorbalancepoint)定义为:为了使向量硬件设备和标量硬件设备的利用率相等,一个程序中向量代码所占的百分比。几种超级计算机的向量性能和标量性能机器型号FujitsuV66§4指令级高度并行的超级计算机
超标量处理机超流水线处理机超标量超流水线处理机超长指令字处理机
§4指令级高度并行的超级计算机超标量处理机67超标量处理机采用多指令流水线(度=m)配置多套功能部件、指令译码电路和多组总线,并且寄存器也备有多个端口和多组总线。适合于求解稀疏向量、矩阵IBMRS/6000、DEC21064、Inteli960CA、TandemCyclone(飓风)等超标量处理机采用多指令流水线(度=m)68超标量处理机(续)取指译码执行存结果部件时间度m=3的超标量处理机时空图超标量处理机(续)取指译码执行存结果部件时间度m=3的超标量69超标量处理机基本结构一般流水线处理机:一条指令流水线一个多功能操作部件,每个时钟周期平均执行指令的条数小于1。多操作部件处理机:一条指令流水线多个独立的操作部件,操作部件可以采用流水线,也可以不流水多操作部件处理机的指令级并行度小于1超标量处理机典型结构:多条指令流水线进的超标量处理机有:定点处理部件CPU,浮点处理部件FPU,图形加速部件GPU大量的通用寄存器,两个一级高速Cache超标量处理机的指令级并行度大于1超标量处理机基本结构一般流水线处理机:70举例:Motorola公司的MC8811010个操作部件两个寄存器堆:整数部件通用寄存器堆,32个32位寄存器;浮点部件扩展寄存器堆,32个80位寄存器。每个寄存器堆有8个端口,分别与8条内部总线相连接,有一个缓冲深度为4的先行读数栈和一个缓冲深度为3的后行写数栈。两个独立的高速Cache中,各为8KB,采用两路组相联方式。转移目标指令Cache,在有两路分支时,存放其中一路分支上的指令举例:Motorola公司的MC8811010个操作部件71超标量处理机MC88110的结构整数
部件整数
部件位
操作浮点加乘法
部件除法
部件图形
部件图形
部件内部总线读数存
数部件通用寄
存器堆扩展寄
存器堆目标
指令指令分配
转移部件数据Cache(8KB)指令Cache(8KB)系统总线32位地址总线32位数据总线超标量处理机MC88110的结构整数
部件整数
部件位
操作72单发射与多发射单发射处理机:每个周期只取一条指令、只译码一条指令,只执行一条指令,只写回一运算结果取指部件和译码部件各设置一套可以只设置一个多功能操作部件,也可以设置多个独立的操作部件操作部件中可以采用流水线结构,也可以不采用流水线结构设计目标是每个时钟周期平均执行一条指令,ILP的期望值1单发射与多发射单发射处理机:73单发射处理机的指令流水线时空图IF时钟
周期指令I1I2I3IDEXWRIFIDEXWRIFIDEXWR123456单发射处理机的指令流水线时空图IF时钟
周期指令I1I2I374IFIDFA1FA2FA3MD1MD2MD3ALLS浮点加法部件乘除法部件定点ALU部件取数存数部件WR来自指
令Cache通用寄存器后行写数栈IFIDFA1FA2FA3MD1MD2MD3ALLS浮点加法75单发射与多发射(续)多发射处理机:每个周期同时取多条指令、同时译码多条指令,同时执行多条指令,同时写回多个运算结果需要多个取指令部件,多个指令译码部件和多个写结果部件设置多个指令执行部件,复杂的指令执行部件一般采用流水线结构设计目标是每个时钟周期平均执行多条指令,ILP的期望值大于1单发射与多发射(续)多发射处理机:76多发射处理机的指令流水线时空图IF时钟
周期指令I1I2I3IDEXWR123456I4I5I6IFIDEXWRI7I8I9IFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWR多发射处理机的指令流水线时空图IF时钟
周期指令I1I2I377IFIDFA1FA2FA3MD1MD2MD3ALLS浮点加法部件乘除法部件定点ALU部件取数存数部件WRIFIDWRIFIDFA1FA2FA3MD1MD2MD3ALLS浮点加法78超标量处理机:一个时钟周期内能够同时发射多条指令的处理机称为超标量处理机必须有两条或两条以上能够同时工作的指令流水线先行指令窗口:能够从指令Cache中预取多条指令能够对窗口内的指令进行数据相关性分析和功能部件冲突的检测窗口的大小:一般为2至8条指令采用目前的指令调度技术,每个周期发射2至4条指令比较合理超标量处理机:79举例Intel公司的i860、i960、Pentium处理机,Motolora公司的MC88110处理机,IBM公司的Power6000处理机等每个周期都发射两条指令TI公司生产的SuperSPARC处理机以及Intel的PentiumIII处理机等每个周期发射三条指令操作部件的个数多于每个周期发射的指令条数。4个至16个操作部件超标量处理机的指令级并行度:1<ILP<m;m为每个周期发射的指令条数。举例Intel公司的i860、i960、Pentium处理机80IFIDFA1FA2FA3MD1MD2MD3ALLS浮点加法部件乘除法部件定点ALU部件取数存数部件WRIFIDWRIFID先行指
令窗口IFIDFA1FA2FA3MD1MD2MD3ALLS浮点加法81超流水线处理机两种定义:一个周期内能够分时发射多条指令的处理机称为超流水线处理机。指令流水线有8个或更多功能段的流水线处理机称为超流水线处理机。提高处理机性能的不同方法:超标量处理机是通过增加硬件资源为代价来换取处理机性能的。超流水线处理机则通过各硬件部件充分重叠工作来提高处理机性能。两种不同并行性:超标量处理机采用的是空间并行性超流水线处理机采用的是时间并行性超流水线处理机两种定义:82指令执行时序每隔1/n个时钟周期发射一条指令,流水线周期为1/n个时钟周期在超标量处理机中,流水线的有些功能段还可以进一步细分例如:ID功能段可以再细分为译码、读第一操作数和读第二操作数三个流水段。也有些功能段不能再细分,如WR功能段一般不再细分。因此有超流水线的另外一种定义:有8个或8个以上流水段的处理机称为超流水线处理机指令执行时序每隔1/n个时钟周期发射一条指令,流水线周期为183超流水线处理机(续)147102581136912147102581136912147102581136912147102581136912取指译码执行存结果每个时钟周期分时发送3条指令的超流水线超流水线处理机(续)1471025811369121471084举例:MIPSR4000MIPSR4000处理机每个时钟周期包含两个流水段,是一种很标准的超流水线处理机结构。指令流水线有8个流水段有两个Cache,指令Cache和数据Cache的容量各8KB,每个时钟周期可以访问Cache两次,因此在一个时钟周期内可以从指令Cache中读出两条指令,从数据Cache中读出或写入两个数据。主要运算部件有整数部件和浮点部件举例:MIPSR4000MIPSR4000处理机每个时85计算机体系结构chapter54课件86MIPSR4000处理机的流水线操作指令CacheIF:取第一条指令 IS:取第二条指令
RF:读寄存器堆,指令译码
EX:执行指令 DF:取第一个数据
DS:取第二个数据 TC:数据标志
校验;WB:写回结果指令
译码读寄
存器堆ALU数据Cache标志检验寄存器堆IFISRFEXDFDSWBTCMIPSR4000处理机的流水线操作指令IF:取第一条指令87MIPSR4000正常指令流水线工作时序IF流水线周期当前CPU周期ISRFEXDFDSTCWBIFISRFEXDFDSTCWBIFISRFEXDFDSTCWBIFISRFEXDFDSTCWBIFISRFEXDFDSTCWBIFISRFEXDFDSTCWBIFISRFEXDFDSTCWBIFISRFEXDFDSTCWB主时
钟
周期MIPSR4000正常指令流水线工作时序IF流水线周期当前88超标量超流水线处理机把超标量与超流水线技术结合在一起,就成为超标量超流水线处理机指令执行时序超标量超流水线处理机在一个时钟周期内分时发射指令n次,每次同时发射指令m条,每个时钟周期总共发射指令m×
n条。超标量超流水线处理机把超标量与超流水线技术结合在一起,就成为89每时钟周期发射3次,每次3条指令IF时钟周期指令I1I2I3IDEXWR12345I4I5I6I7I8I9IFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRI10I11I12每时钟周期发射3次,每次3条指令IF时钟周期指令I1I2I390举例:DEC公司的AlphaDEC公司的Alpha处理机采用超标量超流水线结构。主要由四个功能部件和两个Cache组成:整数部件EBOX、浮点部件FBOX、地址部件ABOX和中央控制部件IBOX。中央控制部件IBOX可以同时从指令Cache中读入两条指令,同时对读入的两条指令进行译码,并且对这两条指令作资源冲突检测,进行数据相关性和控制相关性分析。如果资源和相关性允许,IBOX就把两条指令同时发射给EBOX、ABOX和FBOX三个指令执行部件中的两个。指令流水线采用顺序发射乱序完成的控制方式。在指令Cache中有一个转移历史表,实现条件转移的动态预测。在EBOX内还有多条专用数据通路,可以把运算结果直接送到执行部件。举例:DEC公司的AlphaDEC公司的Alpha处理机采91举例:DEC公司的AlphaAlpha21064处理机共有三条指令流水线整数操作流水线和访问存储器流水线分为7个流水段,其中,取指令和分析指令为4个流水段,运算2个流水段,写结果1个流水段。浮点操作流水线分为10个流水段,其中,浮点执行部件FBOX的延迟时间为6个流水段。所有指令执行部件EBOX、IBOX、ABOX和FBOX中都设置由专用数据通路。 析指令为4个流水段,运算2个流水段,写结果1个流水段。浮点操作流水线分为10个流水段,其中,浮点执行部件FBOX的延迟时间为6个流水段。所有指令执行部件EBOX、IBOX、ABOX和FBOX中都设置由专用数据通路。Alpha21064处理机的三条指令流水线的平均段数为8段,每个时钟周期发射两条指令。因此,Alpha21064处理机是超标量超流水线处理机。举例:DEC公司的AlphaAlpha21064处理机共92计算机体系结构chapter54课件93三种指令级并行处理机性能比较超标量处理机、超流水线处理机和超标量超流水线处理机相对于单流水线普通标量处理机的性能曲线。0.00.51.01.52.02.512345678相对性能超标量超流水线超标量
超流水线指令级
并行度三种指令级并行处理机性能比较超标量处理机、超流水线处理机和超94结论三种处理机的性能关系超标量处理机的相对性能最高,其次是超标量超流水线处理机,超流水线处理机的相对性能最低,主要原因如下:超标量处理机在每个时钟周期的一开始就同时发射多条指令,而超流水线处理机则要把一个时钟周期平均分成多个流水线周期,每个流水线周期发射一条指令;因此,超流水线处理机的启动延迟比超标量处理机大。结论三种处理机的性能关系超标量处理机的相对性能最高,其次是超95结论(续)条件转移造成的损失,超流水线处理机要比超标量处理机大。在指令执行过程中的每一个功能段,超标量处理机都重复设置有多个相同的指令执行部件,而超流水线处理机只是把同一个指令执行部件分解为多个流水级;因此,超标量处理机指令执行部件的冲突要比超流水线处理机小。结论(续)条件转移造成的损失,超流水线处理机要比超标量处理机96结论(续)实际指令级并行度与理论指令级并行度的关系当横坐标给出的理论指令级并行度比较低时,处理机的实际指令级并行度的提高比较快。当理论指令级并行度进一步增加时,处理机实际指令级并行度提高的速度越来越慢。在实际设计超标量、超流水线、超标量超流水线处理机的指令级并行度时要适当,否则,有可能造成花费了大量的硬件,但实际上处理机所能达到的指令级并行度并不高。目前,一般认为,m和n都不要超过4。
结论(续)实际指令级并行度与理论指令级并行度的关系97结论(续)最大指令级并行度一个特定程序由于受到本身的数据相关和控制相关的限制,它的指令级并行度的最大值是有限的,是有个确定的值。这个最大值主要由程序自身的语义来决定,与这个程序运行在那一种处理机上无关。对于某一个特定的程序,图中的三条曲线最终都要收拢到同一个点上。当然,对于各个不同程序,这个收拢点的位置也是不同的。结论(续)最大指令级并行度98超标量处理机:Intel公司的i860,i960,Pentium处理机Motolora公司的MC88110IBM公司的Power6000SUN公司的SuperSPARC等超流水线处理机:SGI公司的MIPSR4000,R5000,R10000等超标量超流水线处理机:DEC公司的Alpha等超标量处理机:99超标量、超流水、超标量超流水处理机的主要性能k段流水
线基准标
量处理机m度
超标量n度超
流水线(m,n)度
超标量
超流水机器类型机器流水
线周期同时发射
指令条数指令发射
等待时间指令级并
行度ILP1个时
钟周期1条1个时
钟周期11m1m1/n11/nn1/nm1/nm´n超标量、超流水、超标量超流水处理机的主要性能k段流水
线基准100超长指令字处理机(VLIW)VLIW(VeryLongInstructionWord)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023六年级数学下册 第4单元 比例 3比例的应用第1课时 比例尺(1)教学实录 新人教版
- 五年级品德与社会上册 真诚对待他人教学实录 泰山版
- 浙教版七年级数学上册教学工作计划(及进度表)
- Unit 3 Amazing animals Part A Lets learn (教学设计)-2024-2025学年人教PEP版(2024)英语三年级上册
- 山东省临淄区七年级政治下册 第六单元 走进法律 与法同行 生活离不开法教学实录 鲁人版五四制
- 35岁全职妈妈可以学的非遗
- 小学信息技术上册 第27课 编辑声音教学实录 苏科版
- np离子注入光阻变形
- mqtt接收多主题后处理逻辑
- 电气导轨卡扣拆卸
- 麻醉机内呼吸回路消毒及灭菌课件
- 房建工程样板节点参考照片图文并茂
- ICC国际冠军杯传播及招商方案
- 高等数学35函数最大值和最小值课件
- 化工热力学答案-冯新-宣爱国-课后总习题答案详解
- 拉斐尔课件完整版
- 核舟记测模拟试题及答案
- 口腔急救药品使用要点
- YS/T 1028.3-2015磷酸铁锂化学分析方法第3部分:磷量的测定磷钼酸喹啉称量法
- GB/T 39305-2020再生水水质氟、氯、亚硝酸根、硝酸根、硫酸根的测定离子色谱法
- 土力学 第一章 土的组成和土的性质
评论
0/150
提交评论