这是每个物理核心。
如果您在后端执行端口以外的其他方面遇到瓶颈,SMT(超线程)只会对整体吞吐量有所帮助。如果线程有时因高速缓存未命中或分支未命中而停滞,SMT 可以更接近于让执行单元接受新的微指令来启动每个时钟周期,从而实现列出的吞吐量限制。即使一个逻辑核心上的线程被卡在等待某事,有两个用于无序调度的指令流可以避免饥饿(停顿)。
请注意,您可以从https://uops.info/获取有关指令时序的更多详细信息,以及从https://agner.org/和/或英特尔优化手册获取有关数字含义的更多详细信息。
单个指令的“吞吐量”并不能告诉您它是否与其他指令竞争。例如,具有 0.5c 吞吐量的 FMA 在不同的端口(p0 和 p1)上运行,而不是在 Haswell 和 Skylake 等 Intel CPU 上运行具有 1c 吞吐量的 shuffle(p5)。(如果我们谈论的是不能在辅助洗牌单元上运行的洗牌,则还有 Ice Lake。)这就是为什么查看后端 uops 更有用,有多少 uops 以及用于哪个端口。
也可以看看
| 归档时间: |
|
| 查看次数: |
145 次 |
| 最近记录: |