ARM技术william hill官网
直播中

zhongnian

9年用户 1396经验值
擅长:MEMS/传感技术
私信 关注
[资料]

ARMv8之exclusive操作资料汇总

1、为什么arm要加入exclusive指令呢
AMRv8 架构中对于 A64,提供了如下的一些 exclusive 指令,用来支持 exclusive 操作。那为什么,arm 在加入 exclusive 指令呢?加入这个,主要是为了解决多核情况下,锁的竞争问题。在软件层面,对于共享资源的访问,会设定一个锁,只有能拿到这个锁的程序,才能够访问共享资源,而没有拿到锁的程序,就不能访问该共享资源。拿到锁的程序,在访问完毕后,要释放锁,这样,其他的程序,才可以竞争该锁,从而访问共享资源。

ARMv8之exclusive操作(一)exclusive操作的引入.pdf (229.18 KB)
(下载次数: 0, 2022-4-2 09:32 上传)


2、ARM的exclusive指令是如何工作的
之前,提到了为什么要引入 exclusive 操作。ARM 对于 exclusive 操作,新增了 exclusive 指令。下面以一个例子,来说明下,这个是如何工作的。
以以下代码进行说明,标准的抢锁代码:
1.jpg
ARMv8之exclusive操作(二)exclusive操作例子.pdf (346.68 KB)
(下载次数: 0, 2022-4-2 09:33 上传)


3、exclusive monitor有何功能
为了支持 exclusive 操作,硬件会增加 exclusive monitor 来支持。
exclusive monitor 分为 2 类:
local monitor: 实现在 cpu 内部,针对 cacheable 属性地址进行监测
global monitor:实现在 cpu 外部,针对 non-cacheabal 属性和 device 属性地址进行监测

ARMv8之exclusive操作(三) exclusive monitor.pdf (291.36 KB)
(下载次数: 0, 2022-4-2 09:32 上传)



更多回帖

发帖
×
20
完善资料,
赚取积分