有人能给我解释一下 cpu 核心中的 dispatch、commit、issue 和 squash width 之间的区别吗,它以乱序方式执行。
据我所知:
- 问题宽度——可以并行执行的指令数
- 调度宽度 - 重新排序缓冲区内可以有多少条指令(不确定)
我不知道另外两个。解释会很有帮助
最佳答案
Issue Width:解码可以插入多少条指令 执行(EX)阶段。通常受问题队列 (IQ) 大小的限制 (在 EX 中,指令首先被插入 IQ,然后被"dispatch" 到 ALU/功能单元以“真正”执行)
调度宽度:可以从 IQ 移动到 ALU/FU 的指令数。 受限于 ALU/FU 的数量,或者我们的智商有多少 阅读/循环。
提交/压缩宽度:每次提交/压缩的指令数 循环。 GEM5 似乎正在对带宽需求进行建模 与每个周期的提交/压缩相关联(通常涉及 从 ROB 中删除条目并调整重命名表)
关于cpu - cpu core 中 dispatch,commit,issue 和 squash width 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58692814/