Arm ldrex/strex和swp之间的差异
ldrex/strex和swp之间的差异 区别是什么 它们有相同的功能吗 一个比另一个好吗? 根据arm v7 rmArm ldrex/strex和swp之间的差异,arm,Arm,ldrex/strex和swp之间的差异 区别是什么 它们有相同的功能吗 一个比另一个好吗? 根据arm v7 rm ARM强烈建议所有软件使用本节所述的同步原语,而不是SWP或SWPB。SWP只需按照其名称进行操作—以原子方式将寄存器的内容与内存中的字交换,而无需其他操作。它从v6开始就被弃用,在某些v7实现中可能不存在,并且在v8中完全从体系结构中删除(类似地,单字节版本SWPB) 另一方面,它们是基本体,您可以从中构造几乎所有的基本体。排他性的另一个关键点是它们是非阻塞的,因此更适合于多处
ARM强烈建议所有软件使用本节所述的同步原语,而不是SWP或SWPB。
SWP
只需按照其名称进行操作—以原子方式将寄存器的内容与内存中的字交换,而无需其他操作。它从v6开始就被弃用,在某些v7实现中可能不存在,并且在v8中完全从体系结构中删除(类似地,单字节版本SWPB
)
另一方面,它们是基本体,您可以从中构造几乎所有的基本体。排他性的另一个关键点是它们是非阻塞的,因此更适合于多处理器环境——如果CPU1在CPU0的原子操作的中间写入相同的地址,CPU0将看到