【我所认知的BIOS】->深入理解IRQ7

本文探讨了在BIOS和DOS环境下IRQ7中断服务程序(ISR)的特殊处理方式,通过对8259中断控制器的工作原理进行分析,揭示了IRQ7在不同系统中表现不同的根本原因。
部署运行你感兴趣的模型镜像

【我所认知的BIOS】->深入理解IRQ7

by lightseed

12/13/2010

这篇文章的线索是因为偶然间发现自爱DOS下面,IRQ7对应的中断服务程序(ISR)只有一个Iret.那我不经会问,这是为什么呢?因为在BIOS下面IRQ7是有对应的ISR的。

这个问题归根结底是由于8259的中断产生机制造成。

简单回顾一下8259中断的产生过程。共分了6步:

1. 一个或者多个中断请求产生的时候,8259把对应的IRRinterrupt request register)置起来。

2. 8259评估这些中断请求,如果是可以的话,发送INT信号给CPU

3. CPU收到INT后,回发INTA#8259

4. 在接收从CPU发来的INTA#的过程中优先级最高的IRR会被填入到ISR中去。同时IRR的对应位被8259清掉。(不过这这个INTA#的过程汇总,8259并不会把数据放到DATA bus上去。)

5. CPU触发第二个INTA#,在这个过程中,8259把数据放到data bus上去,CPU同时从bus上读取数据。

6. 数据传输完成,CPU解析数据并进入到对应的interrupt service routing处理,最后发EOIend of interrupt)给82598259于是清掉ISR

整个中断过程结束。

根据8259 datasheet的说明,有这样一种可能性。在第③步发生了一种特殊情况,从第③到第④步的时候,并没有interrupt request了。(比如说中断请求太短),这样的话两片8259均会把中断7填到data bus上去。看上去就想是触发了IRQ 7了一样。

我想也正是这个原因,BIOSDOS都对IRQ 7对应的ISR做了特殊的处理。比如说,BIOS的里面的IRQ7对应的ISR什么动作都没做。DOSIRQ7对应的ISR被直接替换成了IRET.

不过上面都只是我对8259 datasheet的研究的时候发现的,也纯粹是理论上的理解。真实原因也许不是这样个原因。

以上整个过程在后续的ICH和最新的南桥spec沿用了同样的规则。

您可能感兴趣的与本文相关的镜像

Qwen-Image

Qwen-Image

图片生成
Qwen

Qwen-Image是阿里云通义千问团队于2025年8月发布的亿参数图像生成基础模型,其最大亮点是强大的复杂文本渲染和精确图像编辑能力,能够生成包含多行、段落级中英文文本的高保真图像

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值