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