ARM SWP指令和缓存

时间:2018-03-16 09:19:24

标签: arm

我一直在阅读ARM处理器中的同步方法。我在这方面遇到了一些问题。如果我使用SWP指令,我需要在内存中给出一些地址作为第三个参数。但是,如果系统是多核ARM - 在这个内存地址的内容缓存在其他处理器的缓存中的情况下呢?

在这种情况下缓存会失效还是会发生其他事情?任何人都可以解释一下吗?

1 个答案:

答案 0 :(得分:-1)

正如一些答案所述,SWP已不再使用,即使是在相当旧的CPU上(在所有Cortex-A CPU上已弃用)。

虽然不是替代品,但必须使用LDREX/STREX。 Cortex-A CPU能够直接在其L1缓存中共享数据(请参阅https://fr.wikipedia.org/wiki/Protocole_MESI),而无需失效。