两个CPU同时向同一位置发送写入,L1 / L2 / DRAM中有哪些值?

时间:2015-10-27 19:53:13

标签: caching multiprocessing hardware multicore computer-architecture

假设我们有两个CPU,每个都有一个与之关联的L1缓存。 L2缓存由两个CPU共享,它从DRAM请求数据:

erl -pa ebin -pa deps/*/ebin -browser_spy browser_exe "/my/dir" -run bs_example test

让我们说CPU0和CPU1同时发出一个写信号:

  • 在时间戳0,CPU0发送一个wr请求 - 写入地址A为0;
  • 同样在时间戳0,CPU1发送一个wr请求 - 写入地址A到1;
  • 在时间戳0,所有L1 / L2缓存都为空,即write req将导致缓存中的未命中;
  • 在时间戳0,DRAM中地址A中的数据为100;
  • 缓存一致性协议是MOESI。

这两次写入完成后,这些值会是什么?在L1,L2和DRAM?每个缓存中的状态是什么?

0 个答案:

没有答案