各位专家:
请教一下在ARMv8包括ARMv7-A架构中,Single-copy atomicity和multicopy atomicity具体指的什么?有什么作用,如何理解?谢谢!
这是一个关于ARM架构中原子访问的概念,所谓single-copy atomicity访问是指这笔读写访问是不会被中断的即单次完成,也就是说一个读/写访问是single-copy atomicity则:
在ARMv7中,single-copy atomic的处理器访问有以下几种(ARMv8中扩展了一部分):
ARM中LDM, LDC, LDC2, LDRD, STM, STC, STC2, STRD, PUSH, POP, RFE, SRS, VLDM, VLDR, VSTM, VSTM, and VSTR指令的执行都是按一系列按字对齐的word访问序列。每个32-bit的word访问都被保证是single-copy atomic,但架构不保证该序列中的两个或更多的word访问的子序列是single-copy atomic的。
multi-copy atomicity是在多核系统中的存储访问的原子性的概念,这里面涉及到一致性的概念,当对存储单元的写操作同时满足以下条件时称为multi-copy atomic:
通常对Normal memory的写不是multi-copy atomic.