Point of coherency (PoC)and Point of unification(PoU)

对于set-based way-based clean invalidate, 对应的操作通常是在特定级别的cache上执行的. 对于使用虚拟地址的操作, 系统架构定义了两个点:POCPOU

原文详见:https://developer.arm.com/documentation/den0024/a/Caches/Point-of-coherency-and-unification

Point of Coherency (PoC).

对于特定的地址, PoC是保证所有可以访问内存的观察者(例如内核、DSPDMA引擎)看到内存位置的相同副本的点。通常是主存。

Point of coherency (PoC)and Point of unification(PoU)_第1张图片

 Point of Unification (PoU)

一个corePoU ,就是保证icachedcache translation table walks 看到的同一个地址副本的点.举例来讲:a unified level 2 cache would be the point of unification in a system with Harvard level 1 caches and a TLB for caching translation table entries. 如果没有外部cache,那么主存将是Point of Unification.

Point of coherency (PoC)and Point of unification(PoU)_第2张图片

PoUPoC的区别

有一个wiki对这一块的介绍非常清晰,大家可以参考:https://blog.csdn.net/dai_xiangjun/article/details/120199782

PoC是系统的一个概念,和系统配置相关,包含GPU,CPU,DMA等有能力访问内存的设备,我们称为观察者。例如,Cortex-A53可以配置L2 cache和没有L2 cache,可能会影响PoU的范围。

Point of coherency (PoC)and Point of unification(PoU)_第3张图片

Point of coherency (PoC)and Point of unification(PoU)_第4张图片

图1:

    此图中没有集成L2 cache,只有一个Core和I/D cache TLB,所以PoU等于PoC

图2:

站在core1上看集成了L2 cache,包含core,I/D cache TLB L2 cache组成了PoU for inter share

站在系统上看,包含了core1、core2和系统内存,整体组成了PoC

图3:

系统架构包含了两个cluster组成,每个cluster包含了L1、L2 cache,可以独立看成一个PoU。两个Cluster共享了L3 cache和系统内存,则可以是PoC 

 

 

你可能感兴趣的:(arm/汇编,操作系统,arm,POC,POU)