0

我在这里读到ISR 和 DPC 会弄脏处理器缓存。谁能解释一下如何?

4

1 回答 1

1

由于执行级别的优先级较高,ISR 和 DPC 可以抢占当前正在运行的代码。抢占完成后,ISR/DPC 代码开始执行。内存寻址是一个非常基本的操作,几乎肯定会需要它。一旦请求内存访问,缓存行可能会被替换。

综上所述 - ISR 和 DPC 由于其更高的优先级而破坏了稳定状态并执行无序操作。通常,执行需要的内存与当前缓存的内存不同(因为它不是抢占前正在执行的逻辑的一部分),从而导致中断前正在执行的代码受到污染。

于 2013-07-20T22:07:14.970 回答