指令: 顺序 取值 译码
可能乱序 发射
in-order
out-of-order:
pipeline
- DMB 数据内存屏障: DMB指令前的所有显示内存访问早于DMB指令后的显示内存访问(注意,data cache也算作显示访问内存)
- DSB 数据同步屏障(1)位于此指令前的所有显示内存访问均完成(2)位于此指令前的所有缓存、跳转预测和TLB维护操作全部完成
- ISB 指令同步屏障
(1)不同的线程threads/cores之间共享数据
(2)传递数据到peripherals,如DMA操作
(3)修改指令所在的内存,如load一个程序到RAM
(4)修改内存管理方案,如context switching
(以上总结为:不同obvious 之间共享数据时,需使用barries指令)
arm架构