- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
提高向量流水处理性能的技术多个流水线功能部件并行与链接
4)加快短循环程序的处理 一是可以将长度小于指缓容量的短循环程序整个一次性放入指缓内,并暂停预取指令,避免执行循环时由于指令预取导致指缓中需循环执行的指令被冲掉,减少了访主存重复取指的次数;二是由于循环分支概率高,因此,让循环出口端的条件转移指令恒猜循环分支,减少因条件分支造成流水线断流的机会。例如,IBM360/91为上述第一点设置了“向后8条”检查的硬件。转向去址往回走且与条件转移指令之间相隔不超过8条指令时,将其间的指令全部移入指缓并停止预取新指令。为上述第二点设置了“循环方式”工作状态,使出口端的条件转移指令联向循环程序的始端。采取这些措施后可使循环时流水加快1/3~3/4。 有的机器还采取顺序执行时,让预取的指令既放入正常使用的指令缓冲器,也放入转移目标指令缓冲器中。一旦检测出是循环,可把转移目标指令缓冲器的内容作为短循环程序控制用,省去了第一次循环时重新从主存中取此短循环程序中指令的操作开销。还有的机器允许将这两种指令缓冲寄存器连接起来使用,使更大的循环程序也能得到加快处理。 3. 流水机器的中断处理 中断会引起流水线断流。然而,其出现概率比条件转移的概率要低得多,且又是随机发生的。所以,流水机器处理中断主要是如何处理好断点现场的保存和恢复,而不是如何缩短流水线的断流时间。 在执行指令i时有中断,断点本应在指令i执行结束,指令i+1尚未开始执行的地方,但流水机器是同时解释多条指令, 指令i+1、 i+2…可能已进入流水线被部分解释。 对于异步流动流水线,这些指令中有些可能流到了指令i的前面去了。 早期的流水机器,如IBM360/91,为简化中断处理采用“不精确断点”法。不论指令i在流水线的哪一段发生中断,未进入流水线的后续指令不再进入,已在流水线的指令仍继续流完,然后才转入中断处理程序。这样,断点就不一定是i,可能是i+1、i+2或i+3、…,即断点是不精确的。仅当指令i在第1段响应中断时,断点才是精确的。 “不精确断点”法不利于编程和程序的排错。后来的流水机器多数采用“精确断点”法,如Amdahl470V/6。不论指令i是在流水线中哪一段响应中断,给中断处理程序的现场全都是对应i的,i之后流入流水线的指令的原有现场都能保存和恢复。“精确断点”法需设置很多后援寄存器,以保证流水线内各条指令的原有现场都能保存和恢复。如前所述,这些寄存器也是“指令复执”所必需的。 4.流水线调度 由于线性流水线在执行每个任务(指令、操作)的过程中,各段均只通过一次,因此,每拍都可以将一个新的任务送入流水线,这些任务不会争用同一个流水线。非线性流水线则不同。因为段间设置有反馈回路,一个任务在流水的全过程中,可能会多次通过同一段或越过某些段。这样,如果每拍向流水线送入一个新的任务,将会发生多个任务争用同一功能段的使用冲突现象。要想不发生冲突就得间隔适当的拍数之后再向流水线送入下一个任务。究竟间隔几拍送入下一个任务,才既不发生功能段使用冲突,又能使流水线有较高的吞吐率和效率,是流水线调度要解决的问题。流水线调度对多功能动态流水线同样也是重要的,否则功能切换时也会发生功能部件使用冲突。 为了对流水线的任务进行优化调度和控制,1971年E.S.Davidson等人提出使用一个二维的预约表(ReservationTable)。 如果有一个由K段组成的单功能非线性流水线,每个任务通过流水线需要N拍。利用类似画时-空图的方法可以得到该任务使用流水线各段的时间关系表(即预约表)。其中拍号n为任务经过流水线的时钟节拍号。如果任务在第n拍要用到第k段就在相应第n列第k行的交点处用表示。现设流水线由5段组成,段号k分别为1~5,任务经过流水线总共需9拍,其预约表如图5-28(a)所示。 图5-28流水线预约表及状态图举例 (a)单功能流水线预约表举例;(b)单功能流水线的状态转移示意 根据预约表可以很容易得出一个任务使用各段所需间隔的拍数(也称为延迟)。例如,1段相隔8拍,2段相隔有1、5和6拍三种。那么两个任务相隔8拍流入流水线必将会争用1段,而相隔1、5或6拍流入流水线必将会争用2段。将流水线中所有各段对一个任务流过时会争用同一段的节拍间隔数汇集在一起构成一个延迟禁止表F(ForbiddenList)。如本例为{1,5,6,8}。就是说,要想不争用流水线的功能段,相邻两个任务送入流水线的间隔拍数就不能为1、5、6、8拍,这些间隔拍数应当禁止使用。可以用一个有N-1位的位向量来表示后续新任务间隔各种不同拍数送入流水线时,是否会发生功能段使用的冲突,称此位向量为冲突向量C (CollisonVector)。 冲突向量 (cN-1…
您可能关注的文档
最近下载
- 《特种设备重大事故隐患判定准则》GB45067-2024培训.pptx VIP
- 小学美术教学案例的生成式AI智能创作与艺术教育创新实践教学研究课题报告.docx
- 100T汽车吊操作手册.pdf VIP
- 入户供热维修操作技能培训.pptx VIP
- 《浏阳河随想》古典吉他独奏谱.pdf VIP
- 2024新教材七上道德与法治早背晚默.docx VIP
- 最新特种玻璃精品课件.ppt VIP
- 九上道德与法治39天早背晚默.pdf VIP
- 初中英语新人教版七年级上册全册单词默写练习(附参考答案)(2024秋).pdf VIP
- 70篇短文记完初中1600核心词汇143页 【单词批注版】【高清精美排版】.doc VIP
文档评论(0)