- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
③ 列出各种调度方法平均间隔拍数 采用状态图中任何闭合回路调度。1011110110111011 4 2 =7 =7 3 4 =7 =7原始冲突向量 2 3 例: 7 (7) (4+7)/2=5.5 (4,7) (3+7)/2=5 (3,7) (4+3+7)/3=4.67 (4,3,7) (3+4+7)/3=4.67 (3,4,7) (3+4+3+7)/4=4.25 (3,4,3,7) (2+2+7)/3=3.67 (2,2,7) (2+7)/2=4.5 (2,7) (3+4)/2=3.5 (3,4) 平均间隔拍数 调度策略 7 (7) (4+7)/2=5.5 (4,7) (3+7)/2=5 (3,7) (4+3+7)/3=4.67 (4,3,7) (3+4+7)/3=4.67 (3,4,7) (3+4+3+7)/4=4.25 (3,4,3,7) (2+2+7)/3=3.67 (2,2,7) (2+7)/2=4.5 (2,7) (3+4)/2=3.5 (3,4) 平均间隔拍数 调度策略 ④ 求出最佳调度方案 --使流水线获得最高吞吐率 5.5 先进的流水技术 1.先进的流水调度方法 - 动态调度 静态调度 借助软件调度指令的执行顺序,减少流水 线中的相关冲突引起的流水线停顿时间; 动态调度 通过硬件重排指令的执行顺序减少流水的 停顿。 --较多的系统结构支持 动态调度优缺点 缺点:相应的硬件较复杂 ①能处理某些在编译时不知道的相关情况 ②能简化编译程序设计 ③使代码有可移植性 优点 预测 依靠硬件在程序运行过程中检测可能出现的 相关情况,保证流水线中的各功能部件最大限度 地重叠工作。 ①流水的集中式动态调度—解决相关冲突 IF ID 整数部分 浮点加 浮点乘 浮点除 RF 记录控制器 EX MEM WB 指令 控制/状态 控制/状态 寄存器堆 集中控制 例:CDC计算机 ② 流水的分布式动态调度 IBM360/91机通过给FLR设置“忙”标志来 判别指令间是否有数据相关; 站号表示数据由何处来,站号位控制相关通 路连接; CDB连接内部数据专用通路。 简化相关处理,比集中式调度更灵活 浮点 控 操作数 缓冲器 制 (FLB) 6 5 4 3 2 1 站号:0001 ↓ 0110 存储器 总线 浮点 操作栈 (FLOPS) 指令处理部件 站 忙 浮点 寄存器 号 位 (FLR) 1 F7 6 5 4 3 F2 1 F0 译码器 控 站 存数 缓冲器 制 号 (SDB) 保存站 站号 源1 站号 源2 控制 保存站 站号 源1 站号 源2 控制 加法器 乘/除法器 A1 A2 A3 M1 M2 1000 1001 1010 1011 1100 CDB公共数据总线:各部件间的连接总线 存放操作数寄存器,作为另一源操作数 数据从何来 存放主存预取来的操作数,作为源操作数使用 保存当前参加运算的数据 存放将写入存储器的结果数据 数据已作为操作数使用 运算部件 FLB总线 例:利用IBM360/91的浮点运算部件解决数据相 关问题。下列指令: S1:LD F0,FLB1 ;(FLB1)→F0 S2:MD F0,FLB2 ;(F0)*(FLB2)→F0 S3:STD F0,A ;(F0) →A S4:LD F0,FLB3 ;(FLB3) →F0 S5:ADD F0,FLB4 ;(F0)+(FLB4) →F0 数据 相 关 ①加法器、乘法部件分别设置了3个、2个保存 站,资源使用冲突的机会↓。仅当保存站都 处于“忙”时,才可能发生资源使用冲突; ②调度算法使用保存站,通过改写站号,消除 WAR和WAW的可能性; ③通过对FLR忙位状态的判别,检测是否存在 RAW; ④CDB作为专用相关通路,将有关数据直接送 往功能部件,不必先写入寄存器,再从此寄 存器读出。 特点 程序运行时,借助硬件动态预测转移方向, 尽早生成转移目标地址。将过去发生过的转移指 令地址存入BTB中,转移指令地址作为标志,供 检测用。 ③动态硬件预测转移方法
文档评论(0)