2

受到这个答案的启发

沙桥和 haswell SSE2/AVX/AVX2 的每周期 FLOPS

对于 Sandy/Ivy Bridge、Broad/Haswell、Sky/Kaby Lake,可以在核心上发布多少个 just-loads/loads-and-stores?AMD Bulldozer、Jaguar 和 Zen 的数量也很有趣。

PS - 我知道由于缓存/内存带宽的原因,这可能不是一个可持续的速率,我只是在询问问题。

4

1 回答 1

5

根据以下信息:

Sandy/Ivy:每个周期,2 次装载,或 1 次装载和 1 次存储。256 位加载和存储计数加倍,但仅相对于加载或存储本身 - 它仍然只有一个地址,因此 AGU 在下一个周期再次可用。通过混合一些 256b 操作,您仍然可以获得每个周期 2x 128b 负载和 1x 128b 存储。

Haswell/Broadwell:2 次加载一次存储,256 位加载/存储不算双倍。端口 7(存储 AGU)只能处理简单的地址计算(base+const,无索引),复杂的情况会去 p2/p3 并与负载竞争,简单的情况无论如何可能会竞争但至少不必竞争

Sky/Kaby:与 Broadwell 相同

推土机:2 次装载,或 1 次装载和 1 次存储。256 位加载和存储计数加倍。

Jaguar:1 次加载或 1 次存储,256 位加载和存储计数加倍。到目前为止,该列表中最差的一个,因为它是列表中唯一的低功耗 µarch。

Ryzen:2 个负载,或 1 个负载和 1 个存储。256 位加载和存储计数加倍。

于 2017-07-14T17:10:52.757 回答