潮声隔雨深 · 2019年12月29日

什么是PoU和PoC?

在cortex a7上看到PoC和PoU的概念如下:

PoC: the PoC is the point at which all blocks, for example, cores, DSPs, or DMA engines, that canaccess memory are guaranteed to see the same copy of a memory location.

PoU: the PoU for a core is the point at which the instruction and data caches of the core are guaranteed to see the same copy of a memory location.

1.感觉PoC和PoU只是看待内存的主体不一样而已,PoC是具体的agent看同一块内存的数据应该保持一致,而PoU是指的cache L1看同一块内存的数据应该保持一致,这样理解对么?

2.还有就是什么地方会用到PoC和PoU的概念呢?

1 个回答 得票排序 · 时间排序
一知半解 · 2019年12月29日

PoU和PoC的概念可以用下面的图片形象地描述:

PoU:(注:PoU的观测主体还包括TLB)
1.png
PoC:
2.png

1.感觉PoC和PoU只是看待内存的主体不一样而已,PoC是具体的agent看同一块内存的数据应该保持一致,

而PoU是指的cache L1看同一块内存的数据应该保持一致,这样理解对么?

可以这样理解。

2.还有就是什么地方会用到PoC和PoU的概念呢?

在cache maintenance operation里会用到。你会看到这样的指令:

<operation> to PoU

<operation> to PoC

每个处理器的PoC/PoU位置不尽相同。对于Cortex-A7而言,假设已经配置了内嵌L2 cache,则:

  • PoU位于L2 cache
  • PoC位于ACE master interface
你的回答