ARM LDAPR指令用法

时间:2018-08-20 05:19:57

标签: arm

我试图了解LDAPR与LDAR有何不同。这就是参考手册ARM DDI 0487C.a所说的

  

除了Load-AcquirePC或Store-Release的要求之外,没有订购要求,   通过先执行Store-Release再执行Load-AcquirePC指令来创建。

据此我了解到,如果在STLR之后是LDAPR,则两者之间没有排序要求,即LDAPR可以由CPU调度以执行STLR完成之前(如果他们访问其他地址)。但是我无法验证这一点。这是我的例子

block1:
LOCK using LDAR
critical section
STLR

block2: 
LOCK using LDAPR; can this be scheduled before STLR of block1?
critical section
STLR

我的问题是:

1)可以将block2的锁实现中的LDAPR安排在CPU中block1的STLR之前吗?

2)是否可以保证block2中的LDAPR和同一块中紧随其后的STLR之间的顺序?

3)假设块1和块2中的指令访问不同的存储器位置,块1和块2的执行是否可以重叠?说CPU有足够的资源?

0 个答案:

没有答案