Barrier操作:软件三大命令ISB,DMB,DSB
ISB: instruction synchronous barrier,指令同步屏障,作用:清洗CPU内部流水线,几乎不上总线,告诉CPU重新取指,常用于修改了MMU页表后
DMB:data,memory barrier,数据内存屏障,作用保序,保证DMB前面的内存访问先于后续内存访问,常用于CPU给AXI事物打上顺序ID
DSB:data synchronous barrier,作用保证完成,CPU停下后续所有访存和流水线操作,等到之前所有load/store操作在真实物理终点完工
Barrier事物在AXI总线是一种不带数据传输的伪事物,一般以下作用域:
NS(non-shareable):只管CPU自己私有外设/内存
IS(inner shareable):只管一个CPU cluster的core
OS(outer shareable):管多个CPU,GPU等大范围的一致性区域
SY(system shareable):管整个系统中的所有外设
互联总线接收到barrier事物的处理策略:
1.入口封锁(stall/block):通道挂起,不再接收后续读写请求
2.结账盘点(tracking outstanding):内部检查FIFO/tracker,确定哪些属于该domain的事物未完成
3.等待完成(wait for completion):等待外设响应,或者其他CPU的snoop响应结束
4.封印解除(barrier response):所有outstanding事物结束,回复完成响应
夜雨聆风