您好、欢迎来到现金彩票网!
当前位置:双彩网 > 向量流水线 >

计算机组成与结构第9章 流水线技术 知识ppt

发布时间:2019-05-25 20:29 来源:未知 编辑:admin

  1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。

  第 9 章 流水线 重叠解释方式 ;指令的顺序解释与重叠解释 ;重叠取指k+1和分析k的实现方法;重叠执行k和分析k+1的实现方法;例如,第k+1条指令的源操作数地址i正好是第k条指令运算结构的地址,顺序解释不会出错,但重叠解释时,“分析k+1”从i单元取出的源操作数内容成了“执行k”存进运算结果前的原内容,并不是第k条指令的运算结果,从而发生错误。这种情况称为“数相关”,即第k、K+1指令的数据地址存在关联。与之对应,还有“指令相关”,例如通过执行第k指令来形成第k+1条指令。 无论是数相关还是指令相关,为避免出错都不能重叠解释。 ;9.1.2 相关处理 ; “执行”指令是IBM 370机器为此设置的一条指令,其形式为 ;IBM 370“执行”指令的执行 ;2. 主存空间数相关的处理 ;3. 通用寄存器组相关的处理 设机器的基本指令格式为 ;指令解释过程中与通用寄存器内容有关的微操作时间关系;“执行k”、 “分析k+1”重叠时,访问通用寄存器组的时间关系 ;用相关专用通路解决通用寄存器组的数相关 ;设操作数的有效地址 ;B一次相关与二次相关 ;B一次、 二次相关的推后处理 ;B相关专用通路法 ;9.2 流 水 方 式 ;流水处理 ;流水和重叠的区别;2. 流水线的分类 ;ASC机运算器的流水线 静、 动态多功能流水线 流水线处理机的主要性能 ; 它受限于流水线中最慢子过程所需要的时间。称流水线中经过时间最长的子过程为瓶颈子过程。 ;最大吞吐率取决于瓶颈段的时间 ;瓶颈子过程再细分 ;瓶颈子过程并联 ; 设一m段流水线的各段经过时间均为Δt0,则第1条指令从流入到流出需要T0=mΔt0的流水建立时间,之后每隔Δt0就可以流出一条指令,其时—空图如图5.22所示(这里设m=4)。这样,完成n个任务的解释共需时间T=m·Δt0+(n-1)Δt0。在这段时间里, 流水线的实际吞吐率 ;从时—空图分析实际的吞吐率 ; 2. 效率 流水线的效率是指流水线中的设备实际使用时间占整个运行时间之比,也称流水线设备的时间利用率。由于流水线存在有建立时间和排空时间(最后一个任务流入到流出的时间),在连续完成n个任务的时间里,各段并不总是满负荷工作的。 如果是线性流水线,且各段经过时间相同,如图5.22那样, 则在T时间里,流水线各段的效率都相同,均为η0,即 ;式中,分母m·T是时—空图中m个段和流水总时间T所围成的总面积,分子m·nΔt0则是时—空图中n个任务实际占用的总面积。因此,从时—空图上看,效率实际上就是n个任务占用的时—空区面积和m个段总的时—空区面积之比。显然,与吞吐率类似,只有当nm时,η才趋近于1。 同时还可看出,对于线性流水且每段经过时间相等时, 流水线的效率是正比于吞吐率的, 即 ; 对于复杂的非线性流水线,实际的吞吐率TP和效率η需要通过画出实际工作时的时—空图,才能分别用下列两个式子求得: ;图 5.23 流水线. 流水线调度 ;;;;;;;;9.3 向量的流水处理与向量流水处理机 ; 如果向量的长度N太长,超出了向量寄存器组中寄存器的个数,可以将该向量分割成若干个组,使每组都能装得进向量寄存器组中。 这样,每一组内均按纵向方式处理,而组和组之间则采用软件方法编制循环程序的方法依次循环处理。 我们称这种处理方式为分组纵横处理方式。有了这种分组纵横处理的方式,就可以对向量长度N的大小不加限制。 CRAY—1就是采用这种方式来进行向量的流水处理的。 ;9.3.2 向量流水处理机 1. 向量处理机的指令系统 向量处理机的指令系统一般应包含有向量型和标量型两类指令。 向量型运算类指令一般又可以有如下几种:  向量V1运算得向量V2, 如V2=SIN(V1);  向量V运算得标量S, 如 ;  向量V1与向量V2运算得向量V3,如V3=V1∧V2;  向量V1与标量S运算得向量V2, 如V2=S*V1。 ;2. 向量流水处理机的结构 ;CRAY—1的向量流水处理部分简图 ; 为了能充分发挥向量寄存器和可并行工作的6个流水线功能部件的作用, 加快对向量的处理,将CRAY—1设计成每个Vi组都有连到6个功能部件的单独总线,而每个功能部件也都有把运算结果送回向量寄存器组的输出总线。这样,只要不出现Vi冲突和功能部件冲突,各个Vi之间和各个功能部件之间都能并行工作,大大加快了向量指令的处理,这是CRAY—1向量处理的一个显著特点。 ; 所谓Vi冲突指的是,并行工作的各向量指令的源向量或结果向量使用了相同的Vi。除了相关情况之外,就是出现源向量冲突,例如  V4←V1+V2 V5←V1∧V3 这两条向量指令不能同时执行,必须在第一条向量指令执行完, 释放出V1之后,第二条向量指令才能开始执行。因为虽然这两条向量指令的源向量之一都取自V1,由于二者的首元素下标可能不同,向量长度也可能不同,难以由V1同时提供两条指令所需要的源向量。 ; 所谓功能部件冲突指的是,同一个功能部件被一条以上的要求并行工作的向量指令所使用。 例如 V4←V2*V3 V5←V1*V6 这两条向量指令都需要使用浮点相乘流水功能部件,那就需在第一条向量指令执行到计算完最后一个结果分量,释放出功能部件之后, 第二条向量指令才能开始执行。 ;CRAY—1的4种向量指令 ; CRAY—1向量处理的另一个显著特点是,只要不出现功能部件冲突和源向量冲突,通过链接机构可使有数据相关的向量指令仍能重叠并行处理。例如,对前述向量运算 D=A*(B+C) 若向量长度N≤64,向量为浮点数,则在B、C取到V0、V1后, 就可用以下3条向量指令求解:  V3←存贮器(访存取A向量)  V2←V0+V1(B向量和C向量浮点加)  V4←V2*V3(浮点乘,存D向量) ;通过链接技术实现向量  指令之间大部分时间并行 ; CRAY—1启动访存,把元素送往功能部件,把结果存入Vi都需要有1拍的传送延迟。由于第一、二条指令之间没有冲突,可以同时执行,并且“访存”拍数正好与“浮加”的一样,因此,从访存开始,直至把第一个结果分量存入V4,所需拍数(亦称为链接流水线的建立时间)为 ;此后,每拍就可取得一个结果分量存入V4,一共只需17+(N-1)拍就可以执行完这3条向量指令,获得全部结果分量。 显然,这要比第一、二条指令全执行完,所有分量全部送入V2、V3后,才开始执行第三条指令要快得多,因为后者需1+6+1+N-1+1+7+1+N-1=15+2N拍。 ; CRAY—1指令可以链接的特点,使得它能灵活地组织各流水线功能部件的并行操作。最多能并行处理6条向量指令,进一步发挥这些流水线功能部件的效能。因此,链接技术是提高机器整体运算速度的一个非常重要的措施。  CRAY—1的向量指令还可以通过让源向量和结果向量使用同一个向量寄存器组,并控制分量计数器值的修改,来实现递归操作。  CRAY—1的每个向量寄存器组Vi都有一个相应的分量计数器。 当一条向量指令开始执行时,它的源向量寄存器和结果向量寄存器相应的分量计数器均置成“0”。;递归向量和的部分时间关系 ; 加法指令在t0时启动,两个源向量的第0个分量V00和V11被送到浮点加功能部件,等到t1时开始计算V00+V10。由于V1的分量计数器已在t0结束时加“1”,而V0的分量计数器仍保持为0, 所以t1时又将源向量分量V00和V11送往功能部件。这样,功能部件在t2时计算V00+V11,并将V00和V12送往功能部件。依次类推,一直继续到t8,V00接收V00+V10的运算结果。此后,V0的分量计数器也开始每周期加1。t8时,送往功能部件的V00和V18中的V00已不是初始的“0”值,而是0+V10(即V10值)了。t8以后,由于V0的分量计数器的变化,所以每次送V0的下一分量的内容。运算结束后,V0中各个分量的内容如下: ;可以看出,第八部分(结果部分)V056到V063中存放的是V1的64个分量的8个部分和。这种递归向量和的运算是很有用的。例如在科学计算中,经常需要计算两个向量A=(a0, a1, …, aN-1)和B=(b0, b1, …, bN-1)的点积 ;在STAR—100机中,需用专门处理点积的指令来完成,而在CRAY—1机上,未专门设置处理点积的指令,只需用一个向量循环和一个标量循环即可。在向量循环中,就可以利用这种递归特性组成一个乘—加链: ;3. 超级向量流水处理机举例 ; 1988年的CRAY Y—MP,由8台处理机组成,时钟周期为6 ns,共享1 GB中央存贮器,采用256个体交叉访问。 1991年问世的CRAY Y—MP C—90是目前最大的CRAY机器,它是由16个类似于Y—MP的CPU组成的集成系统。 CRAY公司1992年10月公布了MPP研究计划,目的是想解决目前大多数用RISC微处理器作为MPP系统构造块在性能、效率上的不足。 CDC公司于1973年推出了第一台超级计算机STAR—100之后, 于1982年生产了CYBER 205。 以后又推出了有8个CPU,共享存贮器和18台I/O处理机的ETA10, 性能可达10 GFLOPS。 ; 日本早期由Fujitsu公司生产的VP—2000系列最高性能为5 GFLOPS,时钟周期为3.2 ns。1991年NEC公司生产的SX—X系列性能已达22 GFLOPS,时钟周期为2.9 ns,具体机器是1992年生产的NEC SX—X44向量超级计算机。采用基于VLSI的高密度封装。 4台运算处理机共享寄存器或2 GB主存通信,每台处理机有4组向量流水线条加/移流水线条乘/逻辑运算流水线路并行。高速标量部件采用128个标量寄存器的RISC结构。指令通过重新排序来开发较高的并行性。主存采用1 024路交叉。16 GB的扩展存贮器的最大数据传输速率可达2.75 GB/s。系统最多可配4台I/O处理机,每台I/O处理机的数据传输率为1 GB/s, 可有256个通道用于高速网络、图形和外围操作, 能支持100 MB/s的通道工作。 ;9.4 指令级高度并行的超级处理机 ;度m=3的超标量处理机时-空图 ; 典型的超标量流水线处理机有IBM RS/6000、DEC 21064、Intel i960CA、TandemCyclone等。1986年的Intel i960CA时钟频率为25 MHz,度m=3, 有7个功能部件可以并发使用。1990年的IBM RS/6000使用1 μm CMOS工艺,时钟频率为30 MHz。处理机中有转移处理、定点、浮点 3 种功能部件,它们可并行工作。 转移处理部件每Δt可执行多达5条指令,度m=4,性能可达34 MIPS和11 MFLOPS。非常适合于在数值计算密集的科学工程上应用及在多用户商用环境下工作。许多基于RS/6000的工作站和服务器都是IBM生产的。如POWER Station 530。1992年的DEC 21064使用0.75 μm CMOS, 时钟频率为150 MHz,度m=2,10段流水线 MFLOPS。Tandem公司的Cyclone(旋风)计算机由4到16台超级标量流水处理机组成。 每个处理机的寄存器组有9个端口(其中5个为读,4个为写),有两个算术逻辑部件, 度m=2。由于程序中可开发的指令并行性有限,所以超标量流水线处理机的度m比较低。 ;9.4.2 超长指令字处理机 ;9.4.3 超流水线处理机 ;每Δt′流出一条指令,且度m=3的超流水线处理机时-空图 ; 超流水线处理机早就出现了,如CRAY—1的定点加法为3Δt′。1991年2月MIPS公司的64位RISC计算机R4000,度m=3。超流水线还可以与超标量组合构成超流水线超标量处理机,如DEC公司早期的Alpha处理机每Δt′可流出两条指令且度m=6。 超标量处理机利用资源重复,设置多个执行部件寄存器堆端口。 超流水线处理机则着重开发时间并行性,在公共的硬部件上采用较短的时钟周期,深度流水来提高速度,需使用多相时钟, 时钟频率高达100 MHz到500 MHz。没有高速时钟机制,超流水线处理机是无法实现的。如果一台有k段流水线的m度超流水线处理机,执行完N条指令的时间为 ; 所需时间为

http://bluecaleel.com/xiangliangliushuixian/6.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有