阅读:1336回复:4
中断描述符表中断号和硬件的关系
保护模式下发生中断或者异常时,处理器先从IDTR寄存器得到中断描述符表(IDT)的地址,然后取出其中N号中断或者异常的门描述符,再丛描述符中得到中断服务程序的地址XXXX:YYYYYYYY,经过段地址转换后得到服务程序的32位线性地址转移后执行,
我找了好久,一直不明白中断描述符表(IDT)的中断号和硬件产生的中断号有什么固定对应关系没有, 比方说,在实摸下,键盘中断号(IRQ1)在中断向量表里面就是INT 9号中断,很固定, 现在我想知道,在XP下,在RING0特权级中,中断描述符表(IDT)的每个中断号是不是都是对应固定的硬件中断呢,比如说,键盘,鼠标等等,我一直查不到这方面的资料,网上和书上都是只说了中断描述符表前16个中断号的硬件对应关系,就是没有说键盘,鼠标其它等等的, 实摸下我很清楚,也能写自己的中断例程 其实我就是不知道,在保护模式下,当产生了个硬件中断,它所对应的是哪个中断号,以及它和这个中断号是不是一直都是固定的关系,(听有人说,没有规定的关系,中断描述符表(IDT)的中断号只要电脑启动一次,就变一次,)我差点晕死,如果是这样的话,当一个硬件产生中断,我该如何把握呢,我如何编写自己处理它的中断程序呢, 有点长,请大家能指点一下,也希望大家告诉我哪有中断描述符表(IDT)所有中断号的详细介绍说明,谢谢了 :( |
|
沙发#
发布于:2007-06-08 08:23
IOAPIC
|
|
|
板凳#
发布于:2007-06-08 13:24
引用第1楼wowocock于2007-06-08 08:23发表的 : 我是初学,你的意思我不能理解饿, 能不能多说几句呢 我在XP的RING0环里,比方说这次键盘(IRQ1)中断用的是中断序列符表的1号中断,而下次开机用的也可能就变成2号,或者3号中断了。 是不是这样的呢 能给肯定一下吗,谢谢了 |
|
地板#
发布于:2007-06-13 18:40
有个影射关系,,,
IRQ到IDT表,,,同时还有个irql, 呵呵,涉及到apic控制器编程的知识,,, |
|
地下室#
发布于:2007-06-17 12:54
quote]引用第3楼qiweixue于2007-06-13 18:40发表的 :
有个影射关系,,, IRQ到IDT表,,,同时还有个irql, 呵呵,涉及到apic控制器编程的知识,,,[/quote] 我就是不明白IRQ到IDT表描述符号的关系,折腾了1个月了,还是不明白 apic控制器编程,书店看完了,也不知道该找什么书,有没有书名字啊,给说一下把 我在网上在找找,谢谢大师了 |
|