gpt4 book ai didi

architecture - 多个 CPU 可以同时写入同一个 RAM 位置吗?

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

机器字大小(或更小)写入序列化了吗?只需一个 native 操作码即可将寄存器内容复制到 RAM。

最佳答案

将数据写入 RAM 是原子的。如果两个 CPU 尝试同时写入同一位置,则内存 Controller 将决定写入的某个顺序。当一个 CPU 正在写入内存时,另一个 CPU 将根据需要停止尽可能多的周期,直到第一次写入完成;那么它将覆盖它的值。这就是所谓的 race condition .

小于 native 字大小的写入不是原子的——在这种情况下,CPU 必须将旧内存值读入寄存器,将新字节写入寄存器,然后将该新值写回内存。

你永远不应该有依赖于此的代码——如果你有多个 CPU 试图同时写入同一个内存位置,那么你做错了。

另一个重要的考虑因素是 cache coherency问题。每个 CPU 都有自己的缓存。如果 CPU 将数据写入其缓存,则其他 CPU 需要知道该数据值的更改才能读取它。

关于architecture - 多个 CPU 可以同时写入同一个 RAM 位置吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/516940/

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