有几个高速缓存一致性协议在附近,如MSI,MESI,MOSI,MOESI等是否可以从一个不同的核心中的L1缓存线协议获取状态信息?
让我们假设这样的场景:一个CPU包含四核与L1专用高速缓存(L1高速缓存大小在这里并不重要)。这里的内存地址是说明性的。
核 - 0请求的存储器访问处理0x1111,从而该值将被加载到从主存储器其L1高速缓存行。
核心-1请求存储器访问,以解决0x2222,从而该值将被加载到从主存储器其L1高速缓存行。
核 - 2请求存储器访问,以解决0x1111(由核 - 0先前访问)。该引用已经加载到Core-0的缓存行中,因此,缓存一致性协议将复制包含引用的Core-0的缓存行,并最终将其存储到Core-2的缓存行中。
问题1:是否核心2知道,内存访问已经被内核-0的缓存行,而不是主内存提供?或者高速缓存一致性协议对于检索数据的位置是透明的?
问题2:核 - 0,和芯2有步骤3。但是在后其高速缓存线的共享状态,能够核 - 2从获取当前状态从不同的内核给出内存参考?在这种情况下,有可能Core-2知道对于此内存引用0x1111 Core-0缓存行在共享状态?