Hi ARM专家们,有几个问题请教一下:
1、PoC是所有Agents能看到同一个memory copy的点,通常是external memory;CCN-5xx HN-F中实现了PoC,
用于管理RN-Fs间的coherency,假如CPU发出带PoC属性的cache maintenance操作,是否可以maintenance L3?
2、如果CPU发出的是带PoU但是带Inner-Shareable属性的cache maintenance操作,此时是否会maintenance L3?
因为CPU接口规定,如果是BROADCASTINNER=1,则BROADCASTOUTER也必须是1。
3、CCN-5xx L3中特别注明指令是pseudo-inclusive,这个与inclusive差别在哪呢?
4、DEN0024A_v8_architecture_PG.pdf文档p214,Table 14-1中,用Set/Way来maintenance cache不带Broadcast
可以理解,但为啥DC IVAC, Xt是一定Broadcast,而DC CVAC, Xt仅是Maybe Broadcast?
斑竹,帖子要沉了,帮忙顶起!
谈谈个人理解,PoUIS和PoC可以从CLIDR_EL1中读出来,对于A53/57来说,PoUIS是1,代表了PoU点在L1和L2(如果有的话)之间,换句话说对Cache进行PoU的操作,如果是Clean的话,数据会从L1中被Clean出去;PoC是2,同理,Clean操作会同时作用于L1,L2,这样Dirty数据就会出L2,对于L3因为是支持Cache Maintenance操作的,如果L2中的BROADCASTINNER被置为1(相应的BROADCASTOUTER也必须是1),则带PoC的Clean操作应该也会作用于L3,如果L3命中(L1、L2都Miss),则数据会被Clean。
Correct.
Hi steven , fengxg 帮忙回复你了,你可以看看