索阅 100例 首 页| 资 讯| 下 载| 论 坛| 博 客| Webinar| 高 校| 专 刊| 会展| EETV| 百科| 问答| 电路图| 工程师手册| Datasheet

EEPW首页 > 百科 > 中断

中断


贡献者:jackwang    浏览:2437次    创建时间:2009-05-24

1.中断 zhōngduàn
  [interrupt;discontinue;suspend;come to stop;break down (off)] 半中间发生阻隔、停顿或故障而断开
  交通中断
  2.是指在计算机执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行相应的时间处理程序。待处理完毕后又返回原来被中断处继续执行或调度新的进程执行的过程。
  中断是单片机实时地处理内部或外部事件的一种内部机制。当某种内部或外部事件发生时,单片机的中断系统将迫使CPU暂停正在执行的程序,转而去进行中断事件的处理,中断处理完毕后,又返回被中断的程序处,继续执行下去。
  一、什么是中断
  虽然现在win9x已经有了PNP(即插即用)功能,但是中断冲突仍然是不可避免的,其中最为容易发生冲突的就是IRQ、DMA和I/O。首先我们先了解一下IRQ、DMA和I/O的概念:
  1、IRQ(Interrupt Request)
  IRQ英文全称Interrupt Request,中文翻译为中断请求线。计算机中有许多设备(例如声卡、硬盘等)他们都能在没有CPU介入的情况下完成一定的工作。但是这些设备还是需要定期中断CPU,让CPU为其做一些特定的工作。如果这些设备要中断CPU的运行,就必需在中断请求线上把CPU中断的信号发给CPU。所以每个设备只能使用自己独立的中断请求线。一般来说在80286以上计算机中,共有16个中断请求线与各种需要用中断的不同外设相连接,(每个中断线有一个标号也就是中断号)。
  中断号的分配情况如下:
  IRQ 说明
  0 定时器
  1 键盘
  2 串行设备控制器
  3 COM2
  4 COM1
  5 LPT2
  6 软盘控制器
  7 LPT1
  8 实时时钟
  9 PC网络
  10 可用(Available)
  11 可用(Available)
  12 PS/2 鼠标
  13 数学协处理器
  14 硬盘控制器
  15 可用(Available)
  NM1 奇偶校验
  大家现在就可以清楚的看到,IRQ3、4、5、10、11、12、15可供用使用。
  2、DMA(Direct Memory Access)
  计算机与外设之间的联系一般通过两种方法:一是通过CPU控制来进行数据的传送;二是在专门的芯片控制下进行数据的传送。我们所说的DMA,就是不用CPU控制,外设同内存之间相互传送数据的通道,在这种方式下,外设利用DMA通道直接将数据写入存储器或将数据从存储器中读出,而不用CPU参与,系统的速度会大大增加。
  DMA通道分配情况表
  DMA 0 可用
  DMA 1 EPC打印口
  DMA 2 软盘控制器
  DMA 3 8位数据传送
  DMA 4 DMA控制器
  DMA 5 可用
  DMA 6 可用
  DMA 7 可用
  3、I/O(INPUT/OUTPUT)
  输入/输出端口,也就是计算机配件与CPU连接的接口。每个端口都有自己唯一的一个端口号,这个端口号称为地址。每一个想和CPU通信的外设或配件都有不同的I/O地址,通常在PC机内部一共有1024个地址。
  二、中断冲突的解决
  现在我们已经基本知道了IRQ、DMA和I/O的概念,下面我就要说一下如何解决常见的中断冲突问题。
  众所周知,现在的win9x已经运用PNP技术,它可以将中断进行自动分配,这种“即插即用”的功能可以说是大大简化了用户的操作。不过任何事物都有好与不好两方面,这种PNP技术也有它的弱点,那就是如果不能认出要安装的新设备,那么自动分配中断时就会产生冲突。现在新的硬件产品层出不穷,各种产品又相互兼容,功能类似,这就导致了win9x常常不能正确检测出新设备,中断冲突也就不可避免了。
  知道了冲突产生的原因,那我们如果解决冲突呢?在此我就详细的谈一谈在win9x下中断冲突的解决。首先我们要知道系统中冲突的设备,做法是在控制面板中双击“系统”图标,查看设备管理器中的各设备。一般有“?”和“!”的设备要注意了,有问题的设备就是它们了。解决方法有分两步做:
  第一步、先删去有“?”和“!”的设备,然后重新启动,让计算机自己再认一遍这些设备。这样做是因为部分有“?”和“!”的设备可能是驱动程序安装有误,再重装一遍可解决问题。
  第二步、如果上面一步还是不能解决问题,现在多半是中断冲突了,那我们只能手动调整来解决中断冲突。在系统=>设备管理器=>属性 中我们可以看到系统资源分配的情况,通过查看此项就可从中了解到哪些系统资源被占用,哪些系统资源还没有用,用户做相应的调整即可。
  三、如何防止中断冲突
  要防止中断冲突,其实就是要知道什么设备容易产生中断冲突,只要知道了这点,在使用这些设备时稍微注意一下就可以了。下面我列出一些容易冲突的设备,希望对读者有用。
  1、声卡:一些早期的ISA型声卡,系统很有可能不认,就需要用户手动设置(一般为5)
  2、内置调制解调器和鼠标:一般鼠标用COM1,内置调制解调器使用COM2的中断(一般为3),这时要注意此时COM2上不应有其它设备
  3、网卡和鼠标:此问题一般发生在鼠标在COM1口,使用中断为3,这时要注意通常网卡的默认中断为3,两者极有可能发成冲突。
  4、打印机和EPP扫描仪:在安装扫描仪驱动程序时应将打印机打开,因为两个设备中串联,所以为了防止以后扫描仪驱动程序设置有误,一定要将打印机打开再安装扫描仪驱动程序。
  5、操作系统和BIOS:如果计算机使用了“即插即用”操作系统(例如win98),应将BIOS中PNP OS Installed设置为Yes这样可让操作系统重新设置中断。
  6、PS/2鼠标和BIOS:在使用PS/2鼠标时应将BIOS中PS/2 Mouse Function Control打开或设置为Auto,只有这样BIOS才能将IRQ12分配给PS/2鼠标用。
  四、操作系统中断
  dos下应用程序可以自行申请中断,windows作为一种分时操作系统,工作在它之上的应用程序没有权利处理中断,这是为什么windows可以掌控所有进程并轮流运行的原因(它可以设置中断)。只有“0 ring”以内的vxd,wdm才享有中断权限,驱动级别的程序也能申请中断,这是我们能在"0 ring"以内施展拳脚的常用的途径。


如果您认为本词条还有待完善,需要补充新内容或修改错误内容,请编辑词条     查看历史版本

开放分类
    

参考资料

贡献者
jackwang    


本词条在以下词条中被提及:

关于本词条的评论共:(0条)
匿名不能发帖!请先 [ 登陆 ]