0

多处理器系统中内置了某种缓存一致性协议,例如 MSI、MESI 等。缓存一致性很重要的唯一情况是当在两个不同处理器中执行的指令尝试写入/读取共享数据时。为了使共享数据实际上有效,程序员无论如何都必须引入内存屏障。如果没有内存屏障,那么无论底层处理器是否实现缓存一致性,共享数据都将是“错误的”。那么为什么需要硬件级别的缓存一致性机制呢?

4

1 回答 1

1

如果没有缓存一致性,而不仅仅是障碍,您在访问共享数据时必须刷新和使缓存无效,这比缓存一致性具有更高的开销。

从历史上看,有一些共享内存多处理器架构,但由于难以正确和高效地编程,它们都已被 CC 取代。

于 2021-11-20T19:06:07.717 回答