- 1
- 2
- 3
- 4
- 5
动态指令调度-真依赖解决
资料介绍
一、核心概念与问题背景
现代处理器的性能提升,除了依赖工艺升级带来的主频提升,更核心的手段是通过指令级并行(ILP)挖掘同一程序内部多条指令的并行执行能力,从而在相同主频下完成更多的计算任务。在流水线处理器的早期设计中,指令严格按照程序编写的顺序发射执行,也就是顺序执行模型。这种模型最大的问题在于,当指令之间存在依赖关系,或者因为缓存缺失、分支预测失败导致流水线暂停时,后续本来可以独立执行的指令也会被阻塞,造成大量的硬件资源浪费。
为了打破顺序执行的限制,充分利用处理器的功能单元,乱序执行(Out-of-Order Execution, OoOE)架构被提出并成为现代超标量处理器的核心技术。乱序执行的核心思想非常直接:只要硬件资源空闲,且指令执行所需的所有操作数都已经准备就绪,那么指令就可以不按照原本的程序顺序发射执行,提前完成计算。而在乱序执行中,指令依赖是最核心的限制条件,依赖关系可以分为两类:真依赖和假依赖,乱序执行解决的核心痛点就是真依赖带来的流水线阻塞问题,同时通过寄存器重命名等技术解决假依赖的限制。
二、指令依赖的分类辨析
2.1 假依赖:不存在数据冲突的依赖
假依赖也叫名字依赖,本质是因为寄存器资源有限,多条指令复用了同一个寄存器编号,但实际上指令之间并没有真正的数据读写顺序需求。假依赖主要分为两种:
· 反依赖(Write after Read, WAR):后续指令需要写某寄存器,而前序指令需要读该寄存器,顺序要求是前读后续写。如果乱序执行中后写提前发生,就会破坏前序读的正确数据,这种依赖是由寄存器命名复用导致的,并非程序逻辑需要的真依赖。
部分文件列表
| 文件名 | 大小 |
| 动态指令调度-真依赖解决.docx | 18K |
最新上传
-
21下载积分 打赏20.00元 3天前
用户:white工
-
Lzhf918@ 打赏10.00元 3天前
-
21ic下载 打赏310.00元 3天前
用户:mulanhk
-
21ic下载 打赏310.00元 3天前
用户:lanmukk
-
21ic下载 打赏310.00元 3天前
用户:zhengdai
-
21ic下载 打赏240.00元 3天前
用户:江岚
-
21ic下载 打赏240.00元 3天前
用户:潇潇江南
-
21ic下载 打赏210.00元 3天前
用户:gsy幸运
-
21ic下载 打赏70.00元 3天前
用户:小猫做电路
-
21ic下载 打赏120.00元 3天前
用户:jh0355
-
21ic下载 打赏110.00元 3天前
用户:jh03551
-
21ic下载 打赏70.00元 3天前
用户:liqiang9090
-
21ic下载 打赏45.00元 3天前
用户:有理想666
-
21ic下载 打赏20.00元 3天前
用户:w178191520
-
21ic下载 打赏40.00元 3天前
用户:烟雨
-
21ic下载 打赏20.00元 3天前
用户:eaglexiong
-
21ic下载 打赏20.00元 3天前
用户:sun2152
-
21ic下载 打赏20.00元 3天前
用户:xuzhen1
-
21ic下载 打赏15.00元 3天前
用户:kk1957135547
-
21ic下载 打赏15.00元 3天前
用户:w993263495
-
21ic下载 打赏15.00元 3天前
用户:x15580286248
-
21ic下载 打赏15.00元 3天前
用户:w1966891335
-
小猫做电路 打赏830.00元 3天前
-
gsy幸运 打赏880.00元 3天前
-
zhengdai 打赏730.00元 3天前
-
21ic小能手 打赏10.00元 3天前
-
21ic小能手 打赏10.00元 3天前
-
21ic小能手 打赏5.00元 3天前
资料:STM32智能交流电检测
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏10.00元 3天前
-
21ic小能手 打赏10.00元 3天前
-
21ic小能手 打赏15.00元 3天前
-
21ic小能手 打赏10.00元 3天前
-
21ic小能手 打赏10.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前




全部评论(0)