执行“ a = 5”时缓存和DRAM会发生什么?

时间:2018-12-03 14:26:19

标签: caching memory

如果进程将立即操作数写入地址

int a;
a = 5;

L1-数据缓存和DRAM会发生什么? DRAM首先填充“ 5”,还是L1-Data Cache首先填充“ 5”?

1 个答案:

答案 0 :(得分:0)

编译器为变量a分配一些内存地址。在第二条语句中,当执行a = 5时,如果系统是多处理器系统,则将向下游发送一个请求,以使所有行均无效,并以唯一的缓存一致性状态为执行该代码的处理器提供此特定的缓存地址。然后将值5写入L1高速缓存(假设编译器希望将高速缓存行地址保留在高速缓存中,并且不认为应该将其写回到内存/ DRAM中)。