中断查看源代码讨论查看历史
中断 | |
---|---|
中断,指当出现需要时,CPU暂时 停止当前程序的执行转而执行处理新情况的程序和执行过程。即在程序运行过程中,系统出现了一个必须由CPU立即处理的情况,此时,CPU暂时中止程序的执行转而处理这个新的情况的过程就叫做中断。
基本含义
虽然现在win9x已经有了PNP(即插即用)功能,但是中断冲突仍然是不可避免的,其中最为容易发生冲突的就是IRQ、DMA和I/O。首先我们先了解一下IRQ、DMA和I/O的概念:
1、IRQ(Interrupt Request) [1]
IRQ英文全称Interrupt Request,中文翻译为中断请求线。计算机中有许多设备(例如声卡、硬盘等)他们都能在没有CPU介入的情况下完成一定的工作。但是这些设备还是需要定期中断CPU,让CPU为其做一些特定的工作。如果这些设备要中断CPU的运行,就必需在中断请求线上把CPU中断的信号发给CPU。
所以每个设备只能使用自己独立的中断请求线。一般来说在80286以上计算机中,共有16个中断请求线与各种需要用中断的不同外设相连接,(每个中断线有一个标号也就是中断号)。
中断号的分配情况如下: [2]
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个地址。
简单理解
中断是一种发生了一个外部的事件时调用相应的处理程序的过程。
按照Ti官方文档得解释:中断是由于软件的或硬件的信号,使得CPU放弃当前的任务,转而去执行另一段子程序。可见中断是一种可以人为参与(软件)或者硬件自动完成的,使CPU发生的一种程序跳转。
通常,程序中断是由外部设备通过CPU的中断请求线向CPU提出的。在一定条件下,CPU响应中断后,暂停源程序的执行,转至为外设服务的中断处理程序。中断处理程序可以按照所要完成的任务编写与过程类似的程序段。在程序段最后执行一条中断返回指令返回主程序,继续按原顺序执行。
SNMP中的中断
简介 SNMP从被管设备中收集数据的基本方法之一: 基于中断的方法(称为自陷,Trap)由被管设备主动发出,可以立即通知网络管理工作站。特点是实时性好,但有可能会导致系统资源消耗。
详细解释
中断是计算机中的一个十分重要的概念,在现代计算机中毫无例外地都要采用中断技术。什么是中断呢?可以举一个日常生活中的例子来说明,假如你正在给朋友写信,电话铃响了。这时,你放下手中的笔,去接电话。通话完毕,再继续写信。
这个例子就表现了中断及其处理过程:电话铃声使你暂时中止当前的工作,而去处理更为急需处理的事情(接电话),把急需处理的事情处理完毕之后,再回头来继续原来的事情。
在这个例子中,电话铃声称为"中断请求",你暂停写信去接电话叫作"中断响应",接电话的过程就是"中断处理",相应地,在计算机执行程序的过程中,由于出现某个特殊情况(或称为"事件"),使得CPU中止现行程序,而转去执行处理该事件的处理程序(俗称中断处理或中断服务程序),待中断服务程序执行完毕,再返回断点继续执行原来的程序,这个过程称为中断。
中断是为了使单片机具有对外或内部随机发生的事件实时处理而设置的,中断功能的存在,很大程度上提高了单片机处理外部或内部时间的能力。它也是学习单片机重要的功能之一。
对于单片机来讲,中断是指CPU在处理某一事件A时,发生了另一事件B,请求CPU迅速去处理(中断发生);CPU暂时停止当前的工作(中断响应),转去处理事件B(中断服务);待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回),这一过程称为中断。
计算机为什么要采用中断
为了说明这个问题,再举一例子。假设你有一个朋友来拜访你,但是由于不知道何时到达,你只能在大门等待,于是什么事情也干不了。如果在门口装一个门铃,你就不必在门口等待而去干其它的工作,朋友来了按门铃通知你,你这时才中断你的工作去开门,这样就避免等待和浪费时间。
计算机也是一样,例如打印输出,CPU传送数据的速度高,而打印机打印的速度低,如果不采用中断技术,CPU将经常处于等待状态,效率极低。而采用了中断方式,CPU可以进行其它的工作,只在打印机缓冲区中的当前内容打印完毕发出中断请求之后,才予以响应,暂时中断当前工作转去执行向缓冲区传送数据,传送完成后又返回执行原来的程序。这样就大大地提高了计算机系统的效率。