x86系统的中断机制

提炼:
1 中断基本概念 (外部中断 内部中断,以及区别)
2 实模式下 与 保护模式下 中断响应过程 以及 中断与对应的中断服务程序 如何映射关联

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

外部中断:外部设备向处理器发出的中断,如网卡 键盘 鼠标等等
内部中断:处理器自己所发出的中断

软中断:由代码来产生,在形式上 类似于函数调用
异常:处理器是逐条指令执行的 如果遇到不认识  不合法的指令 就会发出异常中断 

在这里插入图片描述

很形象的比喻:

在这里插入图片描述
在这里插入图片描述
INTR 可屏蔽中断
NMI 不可屏蔽中断

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

不论工作在什么模式(实模式,保护模式),处理器和外设之间的通信机制必然是中断,因此 实模式下 和 保护模式下 都有中断

在这里插入图片描述
在这里插入图片描述
也就是说,中断与对应的中断服务程序之间是通过 中断向量表 关联到一起的,中断发生后 使用中断向量 去查 中断向量表,进而得到一个中断服务程序地址,之后跳转到中断服务程序去执行。

在这里插入图片描述
第1步:外设通过 INTR引脚 向处理器发送中断请求
第2步:处理器通过 INTA引脚 向外设发出响应
第3步:外设将中断向量发送给处理器
第4步:处理器捏着中断向量 去查 中断向量表
第5步:查找的结果是 中断服务程序地址
第6步:处理器跳转到中断服务程序中执行

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
因为中断服务程序是没有参数的 所以这里的 Param不设置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

x86中断硬件机制是计算机系统中重要的组成部分,涉及多种技术和概念。 在x86架构中,自英特尔硬件辅助的虚拟化技术出现后,有一系列与中断相关的虚拟化技术,这反映了x86架构对于中断虚拟化技术的不断演进和优化。像VT - x、VT FlexPriority、APICv、Post Interrupt等技术都是这一发展过程中的产物,它们在中断处理的虚拟化方面有着不同的作用和特点 [^1]。 从基础层面看,以Intel 80386处理器为例,其存在特定的中断机制。而在Windows系统中,还涉及到IRQ和IRQL的关系,以及软件层面虚拟出IRQL这套中断机制等内容。APC和DPC作为软件中断,也有对应的IDT表项中的处理例程相关问题,这些都与x86中断硬件机制相互关联,软件层面的中断机制依赖于底层的硬件中断机制来实现相应功能 [^2]。 在硬件层面,x86架构存在中断控制器,如8259A可编程中断控制器(PIC),它负责管理外部设备产生的中断请求(IRQ)。当外部设备需要CPU处理时,会向PIC发送中断请求信号,PIC根据优先级等规则选择合适的中断请求发送给CPU。现代x86系统更多采用高级可编程中断控制器(APIC),它有更好的扩展性和性能,能更高效地处理多处理器系统中的中断。 CPU内部有中断向量表(IVT)或中断描述符表(IDT),当CPU接收到中断信号后,会根据中断号在相应表中查找对应的中断处理程序入口地址,然后跳转到该地址执行中断处理程序,从而完成对中断事件的处理。 ### 代码示例 以下是一个简单的伪代码示例,展示了中断处理的基本流程: ```python # 模拟中断描述符表 IDT = [None] * 256 # 定义中断处理程序 def interrupt_handler_0(): print("Handling interrupt 0") # 将中断处理程序地址存入IDT IDT[0] = interrupt_handler_0 # 模拟CPU接收到中断信号 received_interrupt_number = 0 # 根据中断号查找处理程序并执行 if IDT[received_interrupt_number] is not None: IDT[received_interrupt_number]() ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ma浩然

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值