计算机体系结构 week7 浙江大学 石教英 陈天洲(主讲)_第1页
计算机体系结构 week7 浙江大学 石教英 陈天洲(主讲)_第2页
计算机体系结构 week7 浙江大学 石教英 陈天洲(主讲)_第3页
计算机体系结构 week7 浙江大学 石教英 陈天洲(主讲)_第4页
计算机体系结构 week7 浙江大学 石教英 陈天洲(主讲)_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、u第第 7 7 周周 第第 1 1 节课节课u授课教师:授课教师: 陈天洲陈天洲u课件下载课件下载 http:/控制竞争造成的性能损失比数据竞争大控制竞争造成的性能损失比数据竞争大u最简单的处理方法最简单的处理方法ID知道转移后,暂停流水线,直到知道转移后,暂停流水线,直到MEM后后PC确定下来确定下来IF ID EX MEM WB IF s s IF ID 3拍拍 若转移指令占若转移指令占30% ,1+30%*3 = 1.9 u尽早知道转移是否成功尽早知道转移是否成功 将将 =0检测移入检测移入ID级级u尽早计算出目标地址尽早计算出目标地址 在在ID级计算目标地址,引入级计算目标地址,引入A

2、dder 3拍拍 1拍拍图图 改进后的改进后的DLX流水线数据通路流水线数据通路 注意:注意:u若一条若一条ALU指令后跟一条转移指令,可能引起数据指令后跟一条转移指令,可能引起数据竞争竞争u流水线级数越多,转移损失越大流水线级数越多,转移损失越大uCPI越小,转移造成的性能损失所占比例越大越小,转移造成的性能损失所占比例越大 表表4-4 修改后修改后ID流水级工作过程流水级工作过程1616 流水级流水级转移指令转移指令 IFIF/ID.IRMemPC;IF/ID.NPC,PC (if ID/EX.cond ID/EX.NPC else PC+4); IDI D / E X . A R e g

3、 s I F / I D . I R 6 . . 1 0 ; ID/EX.BRegsIF/ID.IR11.15;ID/EX.NPCIF/ID.NPC+(IR16)#IR16.31;ID/EX.IRIF/ID.IR; ID/EX.cond(RegsIF/ID.IR6.10 op 0);ID/EX.Imm(IR16)#IR16.31 EX MEM WB u条件转移使用频度条件转移使用频度 无条件转移无条件转移 (据(据165图)图)int condition branch = 16.6% 82% jump = 3.6% 18% 20.2% fp condition branch = 8.4% 86

4、% jump = 1.4% 14% 9.8%1%0%0%4%2%8%4%1%2%3%1%0%2%4%2%4%3%4%2%3%2%9%10%6%6%11%12%11%22%11%0%5%10%15%20%25%su2cormdljdphydro2deardoducligccespressoeqntottcompress无条件转移向后条件转移向前条件转移u正向转移正向转移 反向转移反向转移 int fp 综合综合 80% 正向正向 13.4% 正向正向 6.6% 10.0% 20% 反向反向 3.2% 反向反向 1.8% 2.5% u正向转移成功率正向转移成功率 1u指令执行所需时钟周期数不同,到

5、达指令执行所需时钟周期数不同,到达WB级顺级顺序不同于发射次序,所以有序不同于发射次序,所以有WW竞争(无竞争(无WAR竞争)竞争)u指令完成顺序不同于发射顺序,所以中断会出指令完成顺序不同于发射顺序,所以中断会出现新的问题现新的问题uRAW竞争引起的竞争引起的Stall 增多增多 例例 p192 /p174u在在ID级跟踪级跟踪Reg写口使用情况写口使用情况移位寄存器移位寄存器 代价:移位寄存器、写竞争检测逻辑代价:移位寄存器、写竞争检测逻辑 优点:在优点:在ID级检测,控制简单级检测,控制简单 缺点:操作功能部件推迟占用,使缺点:操作功能部件推迟占用,使RAW竞争带来的竞争带来的延时更厉害

6、延时更厉害u在进入在进入MEM或或WB级前检测级前检测 优点:优点: 竞争检测逻辑简单竞争检测逻辑简单 有两处检测竞争,插入有两处检测竞争,插入Stall,控制复杂,控制复杂 WAW竞争解决方法:竞争解决方法:u推迟发射推迟发射LD,直到,直到ADDD进入进入MEM级级u检测到竞争后,取消第一次写,立即发射检测到竞争后,取消第一次写,立即发射LD(都在(都在 ID 级检测)级检测)u困难之处:如何知道困难之处:如何知道LD在在ADDD之前结束(各操作之前结束(各操作部件的流水级数部件的流水级数+当前当前ADDD所在位置)所在位置)u简单处理方法:简单处理方法: if 本指令的目的本指令的目的R

7、eg = 已发射指令的目的已发射指令的目的Reg then 暂停发射当前指令暂停发射当前指令u浮点寄存器浮点寄存器 + 通用寄存器通用寄存器uLoad/Store 指令与浮点指令之间指令与浮点指令之间 FP-integer 寄存器传送指令寄存器传送指令小结:(在发射前需作的竞争检测)小结:(在发射前需作的竞争检测)u检查是否有结构竞争(非完全流水引起)检查是否有结构竞争(非完全流水引起)u检查是否有检查是否有RAW数据竞争数据竞争u检查是否有检查是否有WAW数据竞争数据竞争 竞争检测逻辑与整数流水线类似竞争检测逻辑与整数流水线类似 u困难之处:困难之处: 按序发射,乱序完成按序发射,乱序完成

8、195/176可能的解决方法可能的解决方法u按不精确中断方法处理按不精确中断方法处理u缓冲操作结果,直到所有先发射的指令都完成缓冲操作结果,直到所有先发射的指令都完成 历史文件历史文件/未来文件未来文件u允许中断在某种程度上不精确,但保持信息使允许中断在某种程度上不精确,但保持信息使 自陷处理例程能生成精确中断的执行序列。自陷处理例程能生成精确中断的执行序列。 196u混合方法。当确定当前发射指令前的所有指令不会混合方法。当确定当前发射指令前的所有指令不会引起竞争而能顺利执行时才允许发射当前指令引起竞争而能顺利执行时才允许发射当前指令u指令可变长、指令执行时间可变指令可变长、指令执行时间可变

9、流水级不均衡,使竞争检测、精确中断维流水级不均衡,使竞争检测、精确中断维护变复杂护变复杂u复杂的寻址方式复杂的寻址方式 修改修改Reg的寻址使冲突检测变复杂的寻址使冲突检测变复杂 使指令重执变得困难使指令重执变得困难 需多次访存的指令使流水线控制复杂需多次访存的指令使流水线控制复杂u隐含置条件码隐含置条件码增加转移延时调度的困难增加转移延时调度的困难u8级流水线级流水线 IF取指的一半。取指的一半。PC选择,访指令选择,访指令Cache启动启动IS 完成指令完成指令Cache 访问访问RF译码译码.取取Reg.竞争检测竞争检测.ICache命中检测命中检测 EX 执行(执行((转移)地址计算、

10、转移)地址计算、ALU、条件判断)、条件判断)DF取数据,访数据取数据,访数据Cache。DS完成数据完成数据Cache访问访问TCTag匹配,命中检测匹配,命中检测WBLoad 和和R-R ALU运算结果写回运算结果写回uLoad 延时:延时: 2 Stall (202)uBranch 延时:延时: 3 Stall 硬件预测硬件预测untaken, 延时转移调度:延时转移调度: 1 slot 指令指令+ 2 nop 转移成功:转移成功:2 Stall; 不成功:不成功:0 Stallufrowarding path 产生数据:产生数据:EX/DF; DF/DS; DS/TC; TC/WBu浮

11、点流水线浮点流水线 205 浮点功能部件:浮点功能部件:DIVD, MULD, ADDD 操作所需时钟周期数:操作所需时钟周期数:2(取负)(取负) 112(开方)(开方)u性能性能 Load - 2stall Branch -成功转移有成功转移有2个个stall FP操作操作-RAW竞争引起的竞争引起的Stall -争用同一流水级引起的结构竞争争用同一流水级引起的结构竞争u指令级并行性指令级并行性(Instruction Level Parallelism) -指令间潜在的可重叠执行的特性指令间潜在的可重叠执行的特性u三大途径三大途径 减小数据竞争、控制竞争带来的影响减小数据竞争、控制竞争带

12、来的影响 提高处理器的并行处理能力提高处理器的并行处理能力 利用编译技术提高利用编译技术提高ILPu转移发生概率:转移发生概率:15%,平均,平均67条指令一次转条指令一次转 - 开发基本块间的开发基本块间的ILPu效率:依赖于程序本身的效率:依赖于程序本身的ILP, 功能部件延时功能部件延时u产生结果指令产生结果指令 用结果指令用结果指令 延迟(时钟周期延迟(时钟周期) FP ALU op FP ALU op 3 FP ALU op Store double 2 Load double FP ALU op 1 Load double Store double 0Loop: LD F0, 0(

13、R1)Loop: LD F0, 0(R1) ADDD F4, F0, F2 ADDD F4, F0, F2 SD 0(R1), F4 SD 0(R1), F4 SUBI R1, R1, 8 SUBI R1, R1, 8 BNEZ R1, Loop BNEZ R1, LoopF D X M W F D s A1 A2 A3 A4 W F s D s s X W F s s D X M W F s D X M W 10 CC F F 10 CC F F块内调度块内调度+ +延时转移延时转移Loop: LD F0, 0(R1)Loop: LD F0, 0(R1) SUBI R1, R1,#8 SUB

14、I R1, R1,#8 ADDD F4, F0, F2 ADDD F4, F0, F2 BNEZ R1, Loop BNEZ R1, Loop SD 0(R1), F4 SD 0(R1), F4F D X M W F D X M W F DA1A2A3A4W F D X M W F D s X M W 6 CC F F s D X M Wu循环展开循环展开4次次 2264+6+6+6+6=2828/4 = 7 CCu展开展开4次次+块内调度块内调度 227+延迟转移延迟转移没有没有Stall14/4 = 3.5重要性:调度依据、并行度、如何开发重要性:调度依据、并行度、如何开发u数据相关数据相关 OUT i = INj ij (真相关)真相关) -RAW竞争竞争解决方法:维持相关,避免竞争(指令调度)解决方法:维持相关,避免竞争(指令调度) 改变改变 代码,消除相关代码,消除相关 ( p231)u命名相关命名相关

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论