设备冲突原理及解决

设备冲突原理及解决

  也许你有过这样的经历,在你的计算机插上某个新的板卡后,某个程序不能运行了,或者是计算机的某个部件不能工作了,甚至于整个机器都不能动弹了。于是,你就开始抱怨,买的这个板卡有问题,或者是兼容性不好,其实此类问题并不是新卡的问题,而是它和其他的计算机设备之间产生的设备冲突。

  仔细想想,大家就会知道,一个计算机设备要能正常工作,必须能与主机进行通信。但插卡装入计算机后,往往与已有的计算机设备发生了资源冲突,而不能正常工作。最常见的也是最容易出现的资源冲突就是IRQ、DMA和I/O冲突。我们只要从这里入手,解决这方面的问题还是不难的。

  IRQ、DMA和I/O的概念

  1.IRQ(Interrupt ReQuest),意为中断请求,每一个设备都有一个IRQ,用以向CPU发送服务请求,称为中断。一般来说,计算机有16个中断线与各种需要用中断方式工作的不同外设相连(每个中断线有一个标号也就是中断号),当一条中断线被激活后,CPU就会立即停下当前的工作,装载一定的中断处理子程序(中断服务程序),这个程序执行完成以后,系统回到刚才的断点,继续原来的工作。如果两个设备拥有一个中断号,计算机系统中的某些部分就会停止工作,其甚至会导致整个计算机系统崩溃。一般来说,在我们常用的个人PC机中,中断号的分配是这样的:

  中断(Interrupt)对应表

  中断号  说明
   0   系统时钟(不可用)
   1   键盘(不可用)
   2   系统的第二个中断请求控制器(IRQ8-15)
   3   串行口2(可用)
   4   串行口1(可用)
   5   并行口2(可用)(一般用来设置声卡)
   6   软盘(不可用)
   7   并行口1(一般用作打印机)
   8   实时时钟(不可用)
   9   可用
   10   可用
   11   常用于显示卡
   12   PS/2 mouse
   13   数学协处理器
   14   IDE1控制器通道
   15   IDE2控制器通道(可用)

  为什么IRQ2用于系统的第二个中断控制器呢?看下图:

  早期的PC是两个中断管理芯片一起构成的中断管理系统。后来集成电路的集成度提高了,把古老的PC的许多芯片都集成到芯片组里了,不过保持了向下兼容,这个IRQ分配就一直保持到今天。

  2、DMA(Direct Memory Access)直接内存存取

  主机与外设之间的数据传送,一共有两条途径:一是用CPU来管理的数据的传送;二是用专门的芯片完成数据的传送。所谓DMA,就是不经CPU,外设同内存之间相互传送数据的通道,在这种方式下,外设利用DMA通道直接将数据写入存储器或将数据从存储器中读出,而不用CPU参与,系统的速度会大大增加。在PC机内部,DMA通道是如何分配的呢?

  DMA直接内存存取通道对应表

  DMA 0 可用

  DMA 1 EPC打印口(如果设置的话)

  DMA 2 软盘控制器

  DMA 3 8位数据传送

  DMA 4 级联DMA控制器

  DMA 5 可用

  DMA 6 可用

  DMA 7 可用

  3、I/O(Input/Oouput)

  输入/输出端口,计算机外设与主机(CPU和内存)进行通信时,是通过接口来进行的,这个接口就叫做端口。每个端口赋予一个端口号称为地址。每一个端口都包含一组寄存器(数据寄存器、命令寄存器和状态寄存器)。每一个想和CPU通信的外设都有不同的I/O地址,在PC机中,I/O地址是16位表示,称之为16位寻址,一共有64K个地址。

  从这个图中我们可以看到,I/O地址的分配情况。 中断、DMA通道、I/O地址大部分都有缺省值,然而,如果碰巧两个板卡使用了同样的资源,就会引起冲突。

  设备发生冲突的原因

  Windows 98是一个具有即插即用功能的操作系统,也就是说,在Windows 98下计算机的所有IRQ号、DMA通道和I/O端口等系统资源均被Windows 98接管,并由其根据情况进行智能分配,这就是我们常说的即插即用。

  然而这种即插即用是有条件的:即插即用的BIOS、即插即用的设备和即插即用的操作系统,三者缺一不可,否则可能会引发设备冲突。在实际安装时,由于即插即用设备品种规格越来越多,新设备层出不穷,常常不能正确检测出有关设备,特别是在安装设备较多的情况下,设备冲突是最容易出现的故障。

  要知道原因首先我们要知道系统中冲突的设备,做法是在控制面板中双击“系统”图标,查看设备管理器中的各设备。一般有“?”和“!”的设备要注意了,有问题的设备就是它们了。解决方法有分两步做:

  第一步: 先删去有“?”和“!”的设备,然后重新启动,让计算机自己再认一遍这些设备。这样做是因为部分有“?”和“!”的设备可能是驱动程序安装有误,再重装一遍可解决问题。

  第二步: 如果上面一步还是不能解决问题,现在多半是中断冲突了,那我们只能手动调整来解决中断冲突。在“系统/设备管理器/属性”中我们可以看到系统资源分配的情况,通过查看此项就可从中了解到哪些系统资源被占用,哪些系统资源还没有用,用户做相应的调整即可。

  排障实战

  (一)如何防止中断冲突

  要防止中断冲突,其实就是要知道什么设备容易产生中断冲突,只要知道了这点,在使用这些设备时稍微注意一下就可以了。下面我列出一些容易冲突的设备,希望对读者有用。

  1.声卡:一些早期的ISA型声卡,系统很有可能不认,就需要用户手动设置(一般为5)。

  2.内置调制解调器和鼠标:一般鼠标用COM1,内置调制解调器使用COM2的中断(一般为3),这时要注意此时COM2上不应有其他设备。

  3.网卡和鼠标:此问题一般发生在鼠标在COM1口,使用中断为3,这时要注意通常网卡的默认中断为3,两者极有可能发生冲突。

  4.打印机和EPP扫描仪:在安装扫描仪驱动程序时应将打印机打开,因为两个设备中串联,所以为了防止以后扫描仪驱动程序设置有误,一定要将打印机打开再安装扫描仪驱动程序。

  5.操作系统和BIOS:如果计算机使用了“即插即用”操作系统(例如windows 98),应将BIOS中PNP OS Installed设置为Yes这样可让操作系统重新设置中断;

  6.PS/2鼠标和BIOS:在使用PS/2鼠标时应将BIOS中PS/2 Mouse Function Control打开或设置为Auto,只有这样BIOS才能将IRQ12分配给PS/2鼠标用。

  (二)解决冲突的办法

  由于系统安装和使用的原因,出现设备资源冲突在所难免,关键在于遇到资源冲突现象后如何冷静思考,合理解决出现的问题。

  1.发现设备冲突:当某些外设不能正常运转(通常在新增外设以后)、或设备驱动程序安装不上、系统检测不到新增硬件的存在、在安装操作系统时出现死机等现象以后,在排除硬件本身故障和病毒感染之后,我们都可以大胆怀疑设备有冲突!

  2.解决设备冲突

  (1)在控制面板中双击“系统”图标;

  (2)在“系统属性”对话框中选择“设备管理”选项卡。在该选项卡中将显示出所有的计算机硬件设备(如CDROM、显示器、键盘、鼠标等),选择最上面的“计算机”设备项后单击“属性”按钮;

  (3)在“计算机属性”对话框中用户可从它的“查看资源”选项卡中查看现有系统资源。这些资源包括“中断请求(IRQ)”、“直接内存访问(DMA)”、“输入/输出(I/O)”和“内存”等四大类,用户可分别选择查看。如选择“中断请求(IRQ)”类系统资源,即可显示出Win95现在已经分配使用的中断号,用户可从中了解哪些系统资源被占用,哪些系统资源保留未用,可以通过手工调整来解决一部分设备冲突。

  3.防止设备冲突的技巧

  (1)如果使用内置调制解调器和串行鼠标,在CMOS中关闭COM2,可以节省出IRQ3,供解调器使用。

  (2)PCI网卡和显示发生冲突时,可以在CMOS中将IRQ10设置成“Disable”,也就是不为显示分配中断号,这也是一种解决问题的办法。

  (2)删除设备驱动程序,将外设重新拔插以后,让系统重新检测。

  (3)屏蔽掉暂时不需要使用的硬件(禁用某些外部设备)。在设备冲突发生后,只要系统不瘫痪,就很容易检查系统资源状况,分析冲突原因,可以关闭有关冲突设备。

  (4)注意设备的安装顺序。这一点是十分重要的,笔者建议的顺序是显卡、打印机、声卡、网卡、调制解调器、扫描仪。即外设插上一个,安装其驱动程序。

  (5)了解外设的常规使用资源,可以通过控制面板的设备管理来查看。比如:声卡通常用中断5、NE2000兼容网卡通常用中断3、显卡用中断10、串行鼠标用中断3或4、内置调制解调器通常用中断3或4、打印机用中断7等等。

  (6)当然也可以通过硬件跳线和软件的方法来修改这些缺省的配置,让其使用不被占用的资源。

  通过本文的介绍,大家一定对中断冲突的原因和解决方法有所了解,我想大家以后再遇到中断冲突问题,只要仔细的分析,一定能很好的解决。

(刘惠萱)

 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 数据在计算机中以二进制形式存储和处理。 2. 内存是计算机中用于存储数据和程序的设备。 3. CPU是计算机中控制和处理数据的核心部件。 4. ALU是CPU中用于执行算术和逻辑运算的部件。 5. 寄存器是CPU中用于临时存储数据的高速存储设备。 6. 总线是计算机中用于传输数据和控制信号的物理通道。 7. 输入设备是计算机中用于输入数据和指令的设备,如键盘和鼠标。 8. 输出设备是计算机中用于输出数据和结果的设备,如显示器和打印机。 9. 存储器层次结构包括寄存器、高速缓存、主存和辅助存储器。 10. 操作系统是计算机中控制和管理计算机资源的软件系统。 11. 指令是CPU执行的基本操作。 12. 指令寻址方式包括立即数寻址、寄存器寻址、直接寻址、间接寻址和相对寻址。 13. 数据通路是CPU中用于传输数据和指令的物理部件。 14. 控制单元是CPU中用于控制指令执行的部件。 15. 中断是指计算机在执行程序时被外部事件打断,需要暂停当前程序执行并处理外部事件。 16. 外部中断是由外部设备触发的中断。 17. 内部中断是由指令执行引起的中断。 18. DMA是计算机中用于实现直接存储器访问的技术。 19. 指令周期是CPU执行一条指令所需的时间。 20. 时钟周期是CPU中的基本时钟脉冲,用于同步CPU中的各个部件。 21. 流水线技术是用于提高CPU执行效率的技术。 22. 乘法器是CPU中用于执行乘法运算的部件。 23. 除法器是CPU中用于执行除法运算的部件。 24. 浮点运算器是CPU中用于执行浮点运算的部件。 25. 编译器是将高级语言程序转换为机器语言程序的软件系统。 26. 操作系统的功能包括进程管理、文件管理、内存管理、设备管理等。 27. 进程是程序在操作系统中的一次执行过程。 28. 进程状态包括就绪状态、执行状态和阻塞状态。 29. 进程间通信包括共享存储器、管道、消息传递等方式。 30. 文件是计算机中用于存储数据和程序的逻辑单位。 31. 文件系统是计算机中用于管理文件的软件系统。 32. 文件操作包括创建、打开、读取、写入、关闭等。 33. 磁盘是计算机中用于存储数据和程序的辅助存储设备。 34. 磁盘调度算法包括先来先服务、最短寻道时间优先、电梯算法等。 35. 虚拟存储器是计算机中用于扩展主存容量的技术。 36. 页面置换算法包括最佳置换、先进先出、最近最少使用等。 37. 缓存是计算机中用于提高数据访问速度的技术。 38. 缓存替换算法包括最近最少使用、先进先出、最不经常使用等。 39. DMA控制器是用于实现直接存储器访问的专用硬件。 40. 总线仲裁是计算机中用于解决多个设备访问总线的冲突问题的技术。 41. 存储器映射是指将物理地址映射为虚拟地址的过程。 42. 内存保护是指保护操作系统和应用程序不被恶意程序破坏的技术。 43. DMA传输模式包括单次传输、循环传输、块传输等。 44. 内存对齐是指将数据存储在内存中的地址按照一定规则对齐的过程。 45. 内存分页是指将主存划分为若干页框,将进程的地址空间分割为若干页面的过程。 46. 内存分段是指将进程的地址空间划分为若干段,每段具有不同的访问权限和长度的过程。 47. 内存交换是指将进程暂时从主存中调出,存储到辅助存储器中的过程。 48. 内存映射是指将设备的I/O地址映射为内存地址的过程。 49. DMA缓冲区是DMA传输数据的缓冲区。 50. 程序计数器是CPU中用于保存下一条指令地址的寄存器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值