gpt4 book ai didi

assembly - 英特尔开发人员手册中的 "store-buffer forwarding"是什么意思?

转载 作者:行者123 更新时间:2023-12-04 00:35:09 26 4
gpt4 key购买 nike

Intel 64 and IA-32 Architectures Software Developer's Manual
以下是单个处理器对 Action 的重新排序(第 8.2.2 节,
“P6 和更多最新处理器系列中的内存排序”):

Reads may be reordered with older writes to different locations but not with older writes to the same location.



然后在讨论与之前相比放松的点时
处理器,它说:

Store-buffer forwarding, when a read passes a write to the same memory location.



据我所知,“存储缓冲区转发”没有精确定义
任何地方(也不是“通过”)。读通过写是什么意思
到这里的同一位置,鉴于上面说读取不能
重新排序写入相同的位置?

最佳答案

命名有点尴尬。 “转发”发生在核心/逻辑处理器内部,如下所示。如果您首先执行 STORE,它将转到存储缓冲区以异步刷新到内存。如果在将值刷新到缓存/内存之前对同一处理器上的相同位置进行后续加载,则存储缓冲区中的值将被“转发”,您将获得刚刚存储的值。读取是“传递”写入,因为它发生在从存储缓冲区到内存(尚未发生)的实际写入之前。

如果您只关心排序规则,则该声明实际上并没有说太多 - 这种转发是他们在内部所做的工作的详细信息,以确保(在处理器上)读取不会与对同一位置的较旧写入重新排序(部分你引用的规则)。

尽管这里有一些其他答案,但(至少就排序保证而言)处理器/内核之间没有存储缓冲区转发/监听,如 8.2.3.5“允许处理器内转发”示例中的手册显示。

关于assembly - 英特尔开发人员手册中的 "store-buffer forwarding"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24176599/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com