Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在这里读到ISR 和 DPC 会弄脏处理器缓存。谁能解释一下如何?
由于执行级别的优先级较高,ISR 和 DPC 可以抢占当前正在运行的代码。抢占完成后,ISR/DPC 代码开始执行。内存寻址是一个非常基本的操作,几乎肯定会需要它。一旦请求内存访问,缓存行可能会被替换。
综上所述 - ISR 和 DPC 由于其更高的优先级而破坏了稳定状态并执行无序操作。通常,执行需要的内存与当前缓存的内存不同(因为它不是抢占前正在执行的逻辑的一部分),从而导致中断前正在执行的代码受到污染。