首页 > 代码库 > ARMV8 datasheet学习笔记3:AArch64应用级体系结构之Synchronization and semapores

ARMV8 datasheet学习笔记3:AArch64应用级体系结构之Synchronization and semapores

1.前言

 

2. Exclusive access instructions and Non-shareable memory locations

  • Load-Exclusive

Load-Exclusive指令执行时local monitor标记PE执行load EX的地址为独占,local monitor由Open Access状态转换为Exclusive Access状态;

  • Store-Exclusive

依赖local monitor的状态:

(1)如果local monitor 为Exclusive Access状态

如果store的地址为先前load EX访问时的地址,则store EX会发生,并清空独占地址标记,否则由各个厂商自己定义,状态值会返回给寄存器,如果store EX发生则状态值为0,否则状态值为1;

(2)如果local monitor为Open Access状态:

不会有store EX发生;状态值1返回给寄存器,表示store EX没有发生;状态local monitor保持open access状态

技术分享

 

 

一个Local monitor对应一个PE,会检查PE对内存地址是否设置了独占标记。

参考文档

[1] Linux内核ARM构架中原子变量的底层实现研究 

 

ARMV8 datasheet学习笔记3:AArch64应用级体系结构之Synchronization and semapores