微信扫一扫 分享朋友圈

已有 23 人浏览分享

[车务问答] 指令调度前后数据相关延迟为什么会减少?

[复制链接]

71

主题

3

回帖

2055

积分

银牌学员

积分
2055
发表于  5 天前 | 显示全部楼层 |阅读模式
指令调度前后数据相关延迟为什么会减少?

直接答案:
指令调度不能消除数据相关,但可以通过调整指令顺序,把相互等待的指令隔开,从而减少因数据相关(写后读)造成的停顿周期。参考资料中的实验显示,调度后程序执行周期从37个减少到27个,数据相关引起的延迟从19个周期降到9个周期,加速比达到1.37。

原因说明:
参考资料中的实验基于WinDLX模拟器,采用5段流水线:取指(IF)、译码(ID)、执行(EX)、访存(MEM)、写回(WB)。实验把除法单元数设为3,加法、乘法、除法的延迟均设为3个时钟周期,并取消定向技术。

调度前,程序中多条指令紧跟在产生结果的指令之后使用该结果,形成写后读相关。例如divf f2,f9,f7之后紧接addf f3,f1,f2,后者要等前者的f2,加上浮点执行延迟,共延迟4个周期。类似情况出现多次,累计延迟19个周期。

调度后,程序把divf f4,f11,f7、divf f5,f12,f7等指令提前,插入到相关指令之间,使addf f3,f1,f2与divf f2,f9,f7之间隔开了其他指令。这样虽然6次写后读相关仍然存在,但每次等待的周期数减少,累计延迟降为9个周期。

现场提示:
这个知识点来自计算机流水线实验,不是铁路行车作业内容。铁路职培学员理解“调整顺序可以减少等待”这一思路即可,不要把它套用到接发列车、调车作业等现场指令上。现场作业的顺序和时机必须执行现行规章、调度命令和现场管理要求。

注意事项:

资料来源:《指令调度_20260904》。
说明:本文仅供学习参考;涉及规章、技术参数和现场作业要求时,以现行有效文件为准。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

0

关注

0

粉丝

71

主题
  • 铁道职培微信服务号

    关注微信服务号

  • 下载铁道职培APP

    扫描下载APP

手机版|美路科技旗下网站|铁道职培 ( 鲁ICP备18021794号-3|鲁公网安备37130202372799 )|网站地图

GMT+8, 2026-11-7 02:03 , Processed in 0.230197 second(s), 55 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.