指令表
文章目录
- 指令表
- 吞吐量计算
- 示例
- 一般情况
在数字电子学中,执行阶段的交错是一个通用概念,不仅应用于主CPU流水线,还应用于独立指令和内存的层面。大多数执行单元都有自己的小流水线,可以在前一个指令之后一到两个周期内接收另一个指令。
在这种情况下,使用两种不同的“成本”来衡量指令是有意义的:
- 延迟(Latency):需要多少个周期才能得到指令的结果。
- 吞吐量(Throughput):平均每个周期可以执行多少条指令。
你可以从CPU的指令表文档中获得特定架构的延迟和吞吐量数据。这里有一些Zen 2的示例值(如果有差异,则针对32位操作数):
指令 | 延迟 | 吞吐量(倒数) |
---|---|---|
jmp | - | 2 |
mov r, r | - | 1/4 |
mov r, m | 4 | 1/2 |
mov m, r | 3 | 1 |