版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、*5.3 流水线的调度技术,5.3.1 非线性流水线的静态调度技术 对于非线性流水线来说,由于每功能段之间存在有前馈和反馈通路,因此一个任务在执行的过程中,可能会多次通过同一流水段,如果仍要响流水线每隔一拍送入一个新任务,就会发生几个任务同时争用同一流水段的现象,这就是功能段的使用冲突。 必须解决两个问题: 当前一个任务流入流水线后,后继任务需要间隔多少拍进入流水线,才不会引起功能部件冲突 由于间隔拍数可能有多种方案,如何确定最佳的送入新任务的拍数,以使流水线有较高的效率。,*5.3 流水线的调度技术,5.3.1 非线性流水线的静态调度技术 流水线调度采用了1971年D等人提出的二维预约表进行
2、 若一个非线性、单功能流水线,由S段组成,每个任务流过流水线需N个时钟周期(t1,t2,tn),以段为纵坐标,以时间为横坐标,就可以画出流水线的预约表。如,*5.3 流水线的调度技术,5.3.1 非线性流水线的静态调度技术 根据预约表可以推算出下一个任务的执行时,各段所需的间隔拍数及最佳调度方案(策略) 1. 根据预约表写出禁止表F 2. 根据禁止表F写出冲突向量C 3. 根据原始冲突向量C画出状态转移图 4. 根据状态转移图写出调度策略 5. 根据所列出的所有调度方案,找出最佳调度方案 下面以表5.22的预约表为例,介绍其过程。,*5.3 流水线的调度技术,1. 根据预约表写出禁止表F F=
3、1, 5, 6, 8 2. 根据禁止表F写出冲突向量C C=(10110001) 3. 根据原始冲突向量C画出状态转移图 由当前冲突向量Ci求下一个冲突向量Cj Cj=SHR(k)C Ci 状态转移图见P252 4. 根据状态转移图写出调度策略(P253),5.4 先进的流水技术,普通标量处理机上的单流水线,5.4 先进的流水技术,5.4.1 超标量流水线技术原理,1,4,7,10,1,4,7,10,1,4,7,10,2,5,8,11,2,5,8,11,2,5,8,11,3,6,9,12,3,6,9,12,3,6,9,12,1,4,7,10,2,5,8,11,3,6,9,12,1,2,3,1,
4、2,3,1,2,3,1,2,3,m,T(t),0,1,2,3,4,5,6,7,IF,ID,EX,WB,每个时钟周期同时发射两条或两条以上的指令。,5.4 先进的流水技术,5.4.1 超标量流水线技术结构(设置多套功能部件),IF1,ID1,IF2,ID2,FA1,FA2,FA3,MD3,MD1,MD2,AL,L/S,WB1,WB2,送通用寄存器 或 后行写数栈,来自指令Cache,5.4 先进的流水技术,5.4.1 超标量流水线技术调度方法 顺序发射与乱序发射 顺序完成与乱序完成 例,I1: LOAD R1, A / 主存单元A R1 I2: FADD R2, R1 / (R1) + (R2)
5、R2 I3: FMUL R3, R4 / (R3)(R4)R3 I4: FADD R4, R5 / (R4) + (R5)R4 I5: DEC R6 / (R6)1 R6 I6: FMUL R6, R7 / (R6)(R7)R6,5.4 先进的流水技术,5.4.1 超标量流水线技术调度方法 方法一:顺序发射顺序完成,按序-顺序,图5-29 In-order issue with In-order completion),上图的说明: 指令1,2有(RAW),2的FA1只能在拍4。 指令3,4有(WAR),4的FA1只能在拍5。 指令5,6有(RAW)与(WAW)。 指令2和4有功能部件冲突。
6、由于顺序,指令3不可先于指令2完成, 指令5不可先于指令4完成。,Adder,5.4 先进的流水技术,5.4.1 超标量流水线技术调度方法 方法二:顺序发射乱序完成,按序-无序,图5-30 In-order issue with Out-of-order completion),上图的说明: 按三个时钟周期顺序发出三组指令, 完成的顺序是不需要考虑的。 只有两个(RAW)和一个功能部件相 关,比前法节省一个周期.功能部件 的利用率得到了改善。,Adder,5.4 先进的流水技术,5.4.1 超标量流水线技术调度方法 方法三:乱序发射乱序完成,无序-无序,图5-31 Out-of-order i
7、ssue with Out-of-order completion),上图的说明: 指令1,2有RAW, 故2在第二周期发出。 指令3,4有WAR, 无冲突,故同时发出。 指令5,6有RAW,故5先于6发出。 指令4 通过先行窗口PX发出,该窗口 可完成数据分析检测、取指和译码。,5.4 先进的流水技术,5.4.1 超标量流水线技术性能 超标量处理机指令级并行度记做(m,1),普通标量机执行时间:,超标量机执行时间:,超标量机加速比:,5.4 先进的流水技术,5.4.1 超标量流水线技术原理,1,4,7,10,1,4,7,10,1,4,7,10,2,5,8,11,2,5,8,11,2,5,8,
8、11,3,6,9,12,3,6,9,12,3,6,9,12,1,4,7,10,2,5,8,11,3,6,9,12,1,2,3,1,2,3,1,2,3,1,2,3,m,T(t),0,1,2,3,4,5,6,7,IF,ID,EX,WB,每个时钟周期同时发射两条或两条以上的指令。,5.4 先进的流水技术,5.4.2 超流水线技术 每个时钟周期分时发射两条或两条以上的指令。 (功能段再细分),功能段数与流水级数,5.4 先进的流水技术,5.4.2 超流水线技术,5.4 先进的流水技术,5.4.2 超流水线技术,5.4 先进的流水技术,5.4.3 超标量超流水线技术 超标量超流水线超标量技术超流水线技术
9、,5.4 先进的流水技术,5.4.3 超标量超流水线技术 超标量起流水线超标量技术超流水线技术,5.4 先进的流水技术,5.4.4 超长指令字(VLIW)技术 超长指令字方法是在1983年由美国耶鲁大学的Fisher教授首选提出的,它以一条长指令来实现多个操作元并行执行,以减少对存储器的访问。 超长指令字机的特点 (1)单一的控制流 (2)超长指令字被分成多个控制字段,每个字段直接独立控制每个功能部件 (3)含有大量的数据通路和功能部件 (4)在编译阶段完成超长指令中多个可并行执行操作的调度,5. 6 向量流水技术,向量流水技术是向量数据表示与流水技术的结合 获取高的流水处理性能的方法 增加流
10、水线中的段数,即流水深度 每个时钟周期能同时启动多条指令 实际应用中要使标量流水机的性能有进一步的提高,通常受到以下两因素的约束: 相关 Flynn瓶颈(一个时钟周期最多启动一条指令) 向量流水处理在一定程度上将不受上述两个因素的约束,5.6.1 向量流水的基本概念,1、 向量流水处理基本特点 在向量操作中,每个当前结果向量元素的计算与以前结果向量元素的计算是相互独立的,很少发生数据相关,这就允许向量流水线有较深的深度。 一条向量指令相当于一个标量循环,从而可降低对指令访问带宽的要求。此外,这也消除了由循环转移可能引起的控制相关。 若向量指令所要访问的向量元素均相邻,则可以在交叉存储体中高速地
11、依次访问它们。,5.6.1 向量流水的基本概念,向量与标量流水处理的区别 向量操作比一串标量指令操作更快; 向量流水机使访存和有效地址计算流水化; 高档向量机允许多个向量操作同时进行,开发 对不同元素进行多个向量操作的并行性。,5.6.1 向量流水的基本概念,2、 向量处理方式 (1)横向处理方式,(b1 + c1) k; k a1 d1 (b2 + c2) k; k a2 d2 . . . (bn + cn) k; k a3 dn,横向处理,只需要一个暂存单元k; 每个向量元素在加、乘过程中都有数据相关,共出现N次 当使用静态流水线时,流水线功能需切换2N次,不适合于向量流水处理,5.6.1
12、 向量流水的基本概念,2、 向量处理方式 (2)纵向处理方式,(b1 + c1) k1; k1 a1 d1 (b2 + c2) k2; k2 a2 d2 . . . (bn + cn) kn; kn an dn,纵向处理,只需要一个中间向量K; 数据相关只在两指令间出现一次 当使用静态流水线时,只有一次功能切换,适合在存储器存储器型向量处理机中实现,5.6.1 向量流水的基本概念,2、 向量处理方式 (3)纵横向处理方式,(b1+c1)k1; k1a1d1 (b2+c2)k2; k2a2d2 . . . (bn+cn)kn; knandn,纵向处理,(bn+1+cn+1)kn+1; kn+1a
13、n+1dn+1 (bn+2+cn+2)kn+2; kn+2an+2dn+2 . . . (b2n+1+c2n+1)k2n+1; k2n+1a2n+1d2n+1,横向处理,纵向处理,第1组,第2组,要处理的向量长度为N,向量处理机能表示的向量长度为n, N kn + r 分组。处理过程:组内纵向,组间横向。,适合在寄存器寄存器型向量处理机中实现,5.6.1 向量流水的基本概念,3. 向量处理机分类 向量处理机按照向量操作对象及结果主要存放在寄存器还是存放在存储器中,要分为两大类: 存储器存储器型向量处理机 寄存器寄存器型向量处理机,存储器存储器结构,参加运算的向量数据、运算结果在存储器中,例:向
14、量加法 C=A+B,存储器存储器向量处理机的系统结构,5.6.1 向量流水的基本概念,5.6.1 向量流水的基本概念,寄存器寄存器型,5.6.1 向量流水的基本概念,4. 向量访问步长及控制 向量访问步长 二维向量、跨步访问 在向量处理机中如何支持跨步访问 在存储器-存储器型,用软件方法重新排序 在寄存器-寄存器型,用硬件重组的办法,自动调整,5.6.3 CRAY-1向量流水处理机,1. 结构,整数加(3),移位(4),逻辑(2),浮点加(6),浮点乘(7),浮点倒数(14),移位(2-3),计数(3-4),整数加(3),逻辑(1),整数乘(6),整数加(2),向量寄存器V0-V7 每个64字
15、 每字64位,标量寄存器S0-S7 每字64位,地址寄存器S0-S7 每字24位,暂存器组T,暂存器组B,标量部件,整数向量部件,浮点向量部件,地址运算部件,主存储器,长度VL,屏蔽VM,I/O处理机,CPU2,CPU3,CPU4,CPU5,CPU6,CPU7,CPU8,实时钟(64位),处理机间通信,中 央 寄 存 器,8个V寄存器 每个有64个64 位分量寄存器,8个T寄存器 每个有64位,8个B寄存器 每个有64位,指令缓冲区 512个16位,交换参数 寄存器,长度VL(8位),屏蔽VM(64位),8个S寄存器 每个有64位,8个A寄存器 每个有32位,指令输出 发送寄存器,可编程时钟3
16、2位,向量功能部件 加/减、移位、 逻辑(64运算),浮点功能部件 加/减,倒数,乘, 近似(64运算),标量功能部件 加/减、移位、 逻辑(32运算),地址功能部件 加/减、乘 (64运算),性能监控器,状态寄存器,I/O部分,I/O控制,向量部分,标量部分,地址部分,控制部分,外部设备,Cray Y-MP 816系统结构图,CPU1,5.6.3 CRAY-1向量流水处理机,2. 四类指令,. . .,. . .,. . .,1,. . .,2,3,n,. . .,. . .,1,. . .,2,3,n,主存,. . .,1,2,3,6,主存,. . .,4,5,1,2,3,6,4,5,Vi,Vi,Vi,Vj,Vk,Vk,Vj,功能部件,功能部件,访存,访存,第I种,第II种,第III种,第IV种,5.6.3 增强向量处理性能的方法,增强向量处理性能的方法 1. 多功能部件的并行操作 多功能部件并行工作的约束条件 (1)不存在向量寄存器的使用冲突 (2)不存在功能部件的使用冲突,5.6.3 增强向量处理性能的方法,增强向量处理性能的方法 2. 链接技术,. . .,.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/HNNMIA 29-2022铜铝过渡线夹钎焊工艺规范
- 2025年山东省莱州市高二历史下册期末考试试卷【突破训练】附答案
- 2026年四川省华蓥市高二历史上册期末考试真题【夺冠系列】附答案
- 2026年河南省永城市高考历史自测卷及完整答案(考点梳理)
- 2025年山东省肥城市高二历史下册期末考试真题含完整答案(全优)
- 2025年山东省章丘市高二历史上册期末考试测试卷含完整答案(夺冠系列)
- 2025年湖北省应城市高二历史下册期末考试考试卷(名校卷)附答案
- 2025年山东省即墨市高考历史自测卷及参考答案【培优】
- 2025年江西省樟树市高二历史下册期末考试自测卷附完整答案【各地真题】
- 心电图基础知识从心电产生到异常初步判断
- 2026中国移动校园招聘备考考试题库附答案解析
- 2025年陪诊师考试题库(附答案)
- 三一研发项目管理办法
- 运营商反诈知识培训课件
- 北大印章管理办法
- 前列腺癌护理个案查房
- 患者自行拔出尿管护理不良事件
- 高三化学一轮复习-配合物 课件
- 2024江苏南京证券校园招聘129人高频500题难、易错点模拟试题附带答案详解
- 凝中国心铸中华魂铸牢中华民族共同体意识-小学民族团结爱国主题班会课件
- 季节性安全教育培训
评论
0/150
提交评论