小窥AMBA5 AHB协议SPEC (9)

原子性
原子性是访存行为的一个特征,我们一般称具有原子性的访存操作为原子性操作。ARMv8-A架构有两种原子性,一种是单拷贝原子性(single-copy atomicity),另一种是多拷贝原子性(multi-copy atomicity)。

观察者是指系统能观察到访存行为的主体,可以是进程或线程等。但更具体地说,在ARMv8-A架构中,观察者的具体含义为:

可以读写存储系统的机制;
可以取指令或填充指令缓存的机制,这些操作被视为读操作;
可以遍历转换表的机制,这些操作也被视为读操作。
当满足如下条件时,一个读或写的访存行为是单拷贝原子性的:

当对一个内存位置进行一系列写操作后,这个内存位置的值只能是这一系列写操作中一个写操作所写的值,而不可能部分来自于一个写操作,部分来自于另一个;
当一个读操作和一个写操作共同作用于一个内存位置时,读操作读到的值要么是写操作发生之前该内存位置的值,要么是写操作之后该内存位置的值,而不会部分是写之前的值,部分是写之后的值。
在一个多处理器系统中,当对一个内存位置的写操作同时满足如下两个条件时该写操作是满足多拷贝原子性的:

多个写操作是序列化的。这就是说这些写操作的顺序对所有的能观察到它们的观察者来说是一致的,尽管有些观察者可能只能看到部分的写操作;
在一个写操作的观察者都观察到该写操作之前,对该写操作所作用的内存位置的读操作不能返回值。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值