前两天导师问我现在安全里面的维测手段用的中断是FIQ还是NMI,好吧我又丢人了,一脸懵逼强装镇定。
跨专业真的需要勇气,如果我有的话。
前两天不是刚刚学习整个GIC中断控制器的内容,这里来看看什么是NMI。
1、什么是NMI?
我推荐学习这个过程的两个关键点:联想、对比、问问题
在学习NMI的这个过程中,我们要联想着我们之前学习的FIQ、IRQ,也要与其进行对比,并在这个过程中不断的对比这些之间的区别。
外部硬件的中断是通过两根信号线通知CPU的,这两根信号线就是INTR(INTeRrupt)和NMI(Non Maskable Interrupt)。
- NMI中断,不可屏蔽中断,产生这个中断的时候,表示系统发生了致命的错误。
- INTR可屏蔽中断。
后者的INTR其中就包含了我们的FIQ、IRQ。在以前如果你玩过单片机,那么你肯定对这个有一定的认识。我记得当时我们写的程度或者命名的宏都会带上INTR。
在英特尔的中断体系中还有一些:
SCI:系统控制中断,硬件用于向OS通知ACPI事件的系统中断。 SCI是一个活动的,低可共享的级别中断。 SMI:系统管理中断,由传统系统上的中断事件生成的OS透明中断。
对于NMI中断的常见的使用场景:
- watchdog
- 调试、跨 PE 同步和热补丁
- 操作系统依赖中断来支持性能分析
- RAS事件处理
2、小结
本来是打算这里就开始详细讲讲中断,但是发现我这个专栏里面的中断系列一点都不成体系,不好不好。
于是就乘着这次机会,开始认真的从0把这个系列做成体系,当然我这个小白也是不了解中断的。所以乘着这次机会来学习一下,毕竟搞底层软件的,对于这个部分,真的是很一点也不了解。
就整一个学习系列,借着这些前辈的博客和文章来记录一下我学习中断从0到0.9的过程吧。
元旦快乐!!!
参考链接: