exclusive 访问时不是把地址状态设置为open了吗,不是说只有open的时候才能访问吗?怎么示意图上的是fail 呢?
excluse访问,需要使用LDREX和STREX配合使用,要先使用LDREX去查询是不是那个地址是open的,而且读到的值是正确的,这时候状态会切换到exclusive状态,然后在再exclusive状态使用STREX指令去写,如果写成功的话,那么这个地址就又变成open状态,同时说明这个地址被独家使用了。
LDREX和STREX是成对出现的,先需要使用LDREX,然后再使用STREX,因此open状态下,不能使用STREX。