【发布时间】:2019-07-19 10:44:29
【问题描述】:
Intel optimization manual 讨论了处理器的许多部分中存在的存储缓冲区的数量,但似乎没有讨论存储缓冲区的大小。这是公共信息还是存储缓冲区的大小作为微架构细节保留?
我正在研究的处理器主要是 Broadwell 和 Skylake,但有关其他处理器的信息也会很好。
另外,存储缓冲区到底有什么作用?
【问题讨论】:
-
@RobertHarvey 不太明白你为什么搁置这个问题。有什么不清楚的地方吗?什么特别宽泛?
-
@RobertHarvey 我提到他们都没有谈论存储缓冲区的大小。这是我想问的——是公共信息吗?如果不是,当人们想要估计这个时,他们会怎么做?你在这里推荐什么?
-
@RobertHarvey 我认为 OPs 的问题完全符合主题。他可能需要做的唯一改进是将其确定为特定的微架构和特定的存储缓冲区。并非所有问题都需要与软件开发问题有关,我认为您结束这个问题的速度太快了。
-
@RobertHarvey 我不明白是什么让你得出这个结论。我们能否重新提出问题,以激励人们提供相关详细信息的答案?
-
这没有记录,但存储缓冲区条目至少包含存储数据、存储物理地址、存储线性地址、存储类型字段(基本上是存储操作码)、阻塞代码字段,和其他领域。例如,在具有 AVX2(但不是 AVX512)的微架构上,条目大小至少为 32 字节(用于数据)+ 39 位(物理地址)+ 48 位(线性地址)+ 其他较小的字段。我们并不确切知道。
标签: performance assembly x86 intel cpu-architecture