多处理器系统具有内置于其中的某种类型的高速缓存一致性协议,例如MSI、MESI等。高速缓存一致性重要的唯一情况是当在两个不同处理器中执行的指令试图写入/读取共享数据时。为了使共享数据实际有效,程序员无论如何都必须引入内存屏障。如果没有内存屏障,则无论底层处理器是否实现高速缓存一致性,共享数据都将是“错误的”。那么为什么需要硬件级别的缓存一致性机制呢?
发布于 2021-11-20 19:06:08
如果没有缓存一致性,而不仅仅是屏障,在访问共享数据时必须刷新和使缓存无效,这比缓存一致性具有更高的开销。
在历史上,有一些共享内存的多处理器架构,但由于很难正确和有效地编程,它们都已经消亡,转而支持CC。
https://stackoverflow.com/questions/70048914
复制相似问题