ISB:DSB这些指令是干什么的,异常都是同步

🔍 溯源 ✍️ Jack | 📅 2026-04-11 | 👍 0 | 原帖↗
#知识星球 #立芯嵌入式 #来源/立芯星球 #技术/调试可靠性 #技术/ARM体系结构 #质量/普通

原帖 | Jack | 2026-04-11 16:45 | 👍0 | 阅读约1

ISB/DSB这些指令是干什么的,异常都是同步的吗?

DSB(Data Synchronization Barrier)
你可以先理解成:前面的内存访问,先给我真的做完,再往后走。
比如你刚写了某个外设寄存器、NVIC、SCB 这种关键寄存器,这时候如果马上接别的动作,有些场景下你会希望这个写操作已经“落地”了,那就会用 DSB。
ISB(Instruction Synchronization Barrier)
这个更多是:前面如果改了会影响后续取指/执行环境的东西,那后面的指令流要重新按新的状态来。
说白一点,就是把流水线里旧的理解清掉,后面按新配置执行。
比如改了中断使能、特权级、向量表、MPU 之类,后面常常会接一个 ISB。


相关笔记