- 1、本文档共104页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章标量处理机(5.1,5.2,5.3)-性能分析与非线性调度概要
预约表确定,则可以确定初始冲突向量,根据初始冲突向量,可以画出唯一的一张状态图。 由于不同的预约表可以产生相同的初始向量,由相同的初始向量可以得到相同的状态图。所以不同的预约表可以对应相同的状态图。 可知:根据预约表可画出状态图,根据状态图却不能得到预约表。 5.3.2 非线性流水线的优化调度 L.E.Shar于1972年提出流水线最小平均启动距离的限制范围: (1)最小平均启动距离的下限是预约表中任意一行里“×”的最多个数。 (2)最小平均启动距离小于等于状态图中任意一个简单循环的平均启动距离。 (3)最小平均启动距离的上限是冲突向量中1的个数再加上1。 1992年,L.E.Shar又证明了上述限制范围。 最有用的是第1条。预约表中“×”最多的行一定是瓶颈流水段 在同一行中“×”最多的为2个,因此,最小平均距离可以达到2。 现取恒定循环(2)。 每一行中与第1个“×”的距离为2的倍数的位置都要预留出来。 在非线性流水线中,“×”最多的流水段一定是“瓶颈“流水段。 实现最优调度的目标是使“瓶颈”流水段处于忙碌状态,没有空闲周期。 最优调度方法能够使非线性流水线的吞吐率、加速比和效率达到最优。 5.3.2 非线性流水线的优化调度 L.E.Shar于1972年提出流水线最小平均启动距离的限制范围: (1)最小平均启动距离的下限是预约表中任意一行里“×”的最多个数。 (2)最小平均启动距离小于等于状态图中任意一个简单循环的平均启动距离。 (3)最小平均启动距离的上限是冲突向量中1的个数再加上1。 1992年,L.E.Shar又证明了上述限制范围。 最有用的是第1条。预约表中“×”最多的行一定是瓶颈流水段 在同一行中“×”最多的为2个,因此,最小平均距离可以达到2。 现取恒定循环(2)。 每一行中与第1个“×”的距离为2的倍数的位置都要预留出来。 在非线性流水线中,“×”最多的流水段一定是“瓶颈“流水段。 实现最优调度的目标是使“瓶颈”流水段处于忙碌状态,没有空闲周期。 最优调度方法能够使非线性流水线的吞吐率、加速比和效率达到最优。 * 流水线就像装配线一样。在汽车装配线上,一辆汽车的装配分为很多步骤,每一个步骤完成汽车生产的一部分。在流水线中每一个步骤都与其他步骤并行执行,但装配的是不同的汽车。指令流水线同样,不同的步骤并行完成流水线中不同指令的不同 部分。 * 多个处理机经存储器串接起来,串行对同一数据流进行处理,每个处理机完成一项任务 * * * * 输入任务之间间隔的时钟周期数应该越小越好.很多时候间隔的周期数不是一个常数,调度的任务是找出最小的循环周期,按照这个周期向流水线输入新任务,流水线的功能段不会发生冲突,同时吞吐率和效率也最高. * 1、有反馈和前馈线。2、不是从最后一个功能段流出结果 需要预约表与连接图共同表示 * 原因:预约表的同一列中有多个符号,表明这个周期多个功能段有输出,从而下一个功能段的输入可能有多个来源。图中是一对多。要是相邻的两个列中都有多个符号,就形成多对多的连接关系。 * 后续任务需要等待的拍数与前一个任务在流水线中已经进行了几拍有关。 由初始冲突向量可以知道,第二个任务可以距离第一个任务1拍、3拍、5拍进入流水线。当第二个任务也流入流水线后,应该产生新的冲突向量,以决定第三个任务应该可以间隔多少拍进入流水线,才不会与已经进入流水线的第一个和第二个任务争用功能段。随着第一个任务每拍向前推进一个功能段,原先禁止第二个任务流入流水线的各种间隔拍数要相应的减去1拍。 逻辑右移产生的冲突向量仅表示与第一个任务不发生冲突,只有按位或以后才能保证与第二个任务也不发生冲突 * 后续任务需要等待的拍数与前一个任务在流水线中已经进行了几拍有关。 由初始冲突向量可以知道,第二个任务可以距离第一个任务1拍、3拍、5拍进入流水线。当第二个任务也流入流水线后,应该产生新的冲突向量,以决定第三个任务应该可以间隔多少拍进入流水线,才不会与已经进入流水线的第一个和第二个任务争用功能段。随着第一个任务每拍向前推进一个功能段,原先禁止第二个任务流入流水线的各种间隔拍数要相应的减去1拍。 逻辑右移产生的冲突向量仅表示与第一个任务不发生冲突,只有按位或以后才能保证与第二个任务也不发生冲突 * 后续任务需要等待的拍数与前一个任务在流水线中已经进行了几拍有关。 由初始冲突向量可以知道,第二个任务可以距离第一个任务1拍、3拍、5拍进入流水线。当第二个任务也流入流水线后,应该产生新的冲突向量,以决定第三个任务应该可以间隔多少拍进入流水线,才不会与已经进入流水线的第一个和第二个任务争用功能段。随着第一个任务每拍向前推进一个功能段,原先禁止第二个任务流入流水线的各种间隔拍数要相应的减去1拍。 逻辑右移产生的冲突向
文档评论(0)