edriver
驱动小牛
驱动小牛
  • 注册日期2002-03-04
  • 最后登录2006-09-15
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2986回复:6

关于中断号与中断向量

楼主#
更多 发布于:2003-03-10 08:59
我们都知道,PCI的中断是可以共享的,那我想问问,PCI的中断可不可以独占呢?由中断号换算成中断向量是和系统有关系的,那么究竟是怎么样的关系呢?另外,在某一特定的系统下,中断向量是不是唯一对应一个中断号呢?
所有这些问题很是迷糊,望各位老大解答,绝对给分! :D :D :D
Tom.Cat
禁止发言
禁止发言
  • 注册日期2001-10-10
  • 最后登录2019-07-29
  • 粉丝1
  • 关注0
  • 积分-53792分
  • 威望197411点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2003-03-10 21:13
用户被禁言,该主题自动屏蔽!
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2003-03-10 22:17
中断向量应该是DOS下的概念了。
edriver
驱动小牛
驱动小牛
  • 注册日期2002-03-04
  • 最后登录2006-09-15
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-03-11 10:30
可是我们在用SoftICE的intobj命令时,就能看到vector,而且在driver里面获取资源时,也能获取vector,那表明中断向量不仅仅是dos下的概念吧?
lu0
lu0
论坛版主
论坛版主
  • 注册日期2001-06-10
  • 最后登录2016-04-05
  • 粉丝2
  • 关注0
  • 积分-6311分
  • 威望21111点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-03-12 17:32
中断向量表是CPU的概念, 在各种CPU或者不同的模式下叫法各不相同.但是作用是一样的, 当CPU的对应IRQ引脚被ASSERT时, 从特定的地址执行一段代码. CPU本身不管到底是谁发出的请求. 只管调用特定地址的代码. 从这点上说, 中断都是可以共享的. 软件上只要做一下识别到底是否确实是自己管理的硬件发出的请求就可以. 但是PC BIOS并没有从一开始就编写各种设备使用同一个IRQ的代码. 导致现在部分IRQ只能独占, 只有那些以前并没有使用的IRQ可以设定为共享的了.
Regards, Lu Lin Webmaster of Inside Programming http://www.lu0s1.com
ygm99
驱动牛犊
驱动牛犊
  • 注册日期2001-11-19
  • 最后登录2006-01-19
  • 粉丝0
  • 关注0
  • 积分42分
  • 威望5点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-03-12 18:26
我们都知道,PCI的中断是可以共享的,那我想问问,PCI的中断可不可以独占呢?由中断号换算成中断向量是和系统有关系的,那么究竟是怎么样的关系呢?另外,在某一特定的系统下,中断向量是不是唯一对应一个中断号呢?
所有这些问题很是迷糊,望各位老大解答,绝对给分! :D :D :D

由中断号换算成中断向量是和系统有关系的,那么究竟是怎么样的关系呢?
答:以下回答是8086CPU下DOS中的中断向量概念(Windows应该差不多): :P,DOS中,在内存的最低端存放着一个中断向量表:
从地址0x0 0000开始用每4个字节保存一个中断入口地址,共256个!
这4个字节保存着中断入口地址的IP:CS(由低到高保存,如果对于32位OS是否合适,我不知道)。
某个硬件中断产生时,会使两片8259中接外围中断的某个引角发生电平变化,从而使8259向CPU发出中断请求,如果CPU允许硬件中断的话,8259就会继续把此中断源对应的中断类型码发给CPU,CPU收到后把:中断类型码×4就得到了中断程序入口地址(CS:IP的值),而后CPU会把当前程序指针入栈,把中断程序入口地址载入CS:IP,而后CPU就转去执行中断程序了(中断程序要在返回时恢复当前程序指针。)



学习ARM+uClinux中, 问题多多,请多指教! 我的开发板:HJARM4510b。 看上去跟samsung的SNDS100类似。 S3C4510b+16MBRAM+2MB flash 正在学习uClinux的驱动程序的开发!
ygm99
驱动牛犊
驱动牛犊
  • 注册日期2001-11-19
  • 最后登录2006-01-19
  • 粉丝0
  • 关注0
  • 积分42分
  • 威望5点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-03-12 18:42
由我的以上解释(如果你能看懂的话)很明显可以得出:
在某一特定的系统下,例如8086+DOS,中断向量是唯一对应一个中断号的!
学习ARM+uClinux中, 问题多多,请多指教! 我的开发板:HJARM4510b。 看上去跟samsung的SNDS100类似。 S3C4510b+16MBRAM+2MB flash 正在学习uClinux的驱动程序的开发!
游客

返回顶部