ein*_*ica 2 cpu performance x86 cpu-architecture memory-bandwidth
灵感来自这个答案来
每个循环的FLOPS用于沙桥和haswell SSE2/AVX/AVX2
对于Sandy/Ivy Bridge,Broad/Haswell,Sky/Kaby Lake,可以在核心上发布的正常装载/装载和存储的数量是多少?同样有趣的是AMD Bulldozer,Jaguar和Zen的数量.
PS - 我知道由于缓存/内存带宽可能不是可持续的速率,我只是询问问题.
根据以下信息:
桑迪/常春藤:每个周期,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位加载和存储计数加倍.