cpu - cpu core 中 dispatch,commit,issue 和 squash width 的区别

标签 cpu cpu-architecture instructions gem5

有人能给我解释一下 cpu 核心中的 dispatch、commit、issue 和 squash width 之间的区别吗,它以乱序方式执行。

据我所知:

  • 问题宽度——可以并行执行的指令数
  • 调度宽度 - 重新排序缓冲区内可以有多少条指令(不确定)

我不知道另外两个。解释会很有帮助

最佳答案

  1. Issue Width:解码可以插入多少条指令 执行(EX)阶段。通常受问题队列 (IQ) 大小的限制 (在 EX 中,指令首先被插入 IQ,然后被"dispatch" 到 ALU/功能单元以“真正”执行)

  2. 调度宽度:可以从 IQ 移动到 ALU/FU 的指令数。 受限于 ALU/FU 的数量,或者我们的智商有多少 阅读/循环。

  3. 提交/压缩宽度:每次提交/压缩的指令数 循环。 GEM5 似乎正在对带宽需求进行建模 与每个周期的提交/压缩相关联(通常涉及 从 ROB 中删除条目并调整重命名表)

关于cpu - cpu core 中 dispatch,commit,issue 和 squash width 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58692814/

相关文章:

java - 从磁盘读取并并行处理

powershell - 使用 PowerShell 获取 CPU 百分比

java - 从 Java 内部 throttle CPU

caching - 如何查看末级缓存中有多少个切片?

assembly - Aarch64 什么是延迟转发?

assembly - fcvtzs d0,d0 真的是 AArch64 SIMD 指令吗?

c++ - SSE4、SSE5 和 AMD Cool n Quiet

c++ - 以最便宜/最少侵入的方式自动更新一点?

assembly - NASM 生成的列表文件中操作码中括号的含义是什么?

linux - 虚拟化环境下的CLFLUSH