CPU流水线中Dispatching与Issuing的差异及架构相关疑问
关于AMD EPYC与Intel Xeon微架构中Dispatch/Issuing术语及流程的解答
一、AMD EPYC系列CPU(以Zen4为例)
- 流程推测验证
你的流程推测完全符合Zen4的实际执行逻辑:
- 指令在前端解码生成macro-ops
- macro-ops被dispatch至ROB(重排序缓冲区)及分配站等乱序后端组件
- 当数据依赖解除、执行单元就绪时,需要拆分的macro-ops会被分解为micro-ops,再由调度器issued到对应的执行单元
Zen4里Dispatch确实是前端到后端的传输环节,早于Issuing,和你参考的《AMD Zen4微架构软件优化指南》定义一致。
- Port对应的环节
Zen4中的port对应issuing环节。每个port关联特定类型的执行单元(比如整数运算、浮点运算、内存访问),调度器会把就绪的micro-ops通过对应port发送到执行单元执行。
二、Intel Xeon系列CPU
Intel的术语定义和AMD有明显区别:
- Intel架构前端直接生成micro-ops,没有macro-op这个中间层。这里的Dispatch指的是把解码后的micro-ops发送到调度器(Reservation Station)的操作
- Issuing同样是调度器将就绪的micro-ops发送到执行单元的环节
也就是说,Intel的Dispatch和Issuing的指代阶段和Zen4不匹配,不能直接套用AMD的术语定义。
内容的提问来源于stack exchange,提问作者Frontier_Setter
相关产品推荐
相关产品推荐

