查看“中断”的源代码
←
中断
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于这些用户组的用户使用:
管理员
、
行政员
、users
您可以查看与复制此页面的源代码。
== 名称 == [[中断]] == 简介 == 中断是计算机中的一个十分重要的概念,在现代计算机中毫无例外地都要采用中断技术。什么是中断呢? 可以举一个日常生活中的例子来说明,假如你正在给朋友写信,电话铃响了。这时,你放下手中的笔,去接电话。通话完毕,再继续写信。这个例子就表现了中断及其处理过程:电话铃声使你暂时中止当前的工作,而去处理更为急需处理的事情(接电话),把急需处理的事情处理完毕之后,再回头来继续原来的事情。在这个例子中,电话铃声称为“中断请求”,你暂停写信去接电话叫作“中断响应”,接电话的过程就是“中断处理”,相应地,在计算机执行程序的过程中,由于出现某个特殊情况(或称为“事件”),使得暂时中止现行程序,而转去执行处理这一事件的处理程序,处理完毕之后再回到原来程序的中断点继续向下执行,这个过程就是中断。计算机为什么要采用中断为了说明这个问题,再举一例子。假设你有一个朋友来拜访你,但是由于不知道何时到达,你只能在大门等待,于是什么事情也干不了。如果在门口装一个门铃,你就不必在门口等待而去干其它的工作,朋友来了按门铃通知你,你这时才中断你的工作去开门,这样就避免等待和浪费时间。计算机也是一样,例如打印输出,CPU传送数据的速度高,而打印机打印的速度低,如果不采用中断技术,CPU将经常处于等待状态,效率极低。而采用了中断方式,CPU可以进行其它的工作,只在打印机缓冲区中的当前内容打印完毕发出中断请求之后,才予以响应,暂时中断当前工作转去执行向缓冲区传送数据,传送完成后又返回执行原来的程序。这样就大大地提高了计算机系统的效率。 什么是中断的优先级我们仍然可以举例说明中断优先级的概念。在上面的例子中,如果在电话铃响的同时,门铃也响了,那么你将在“接电话”和“开门”这两个中断请求中选择,先响应哪一个请求。这就有一个谁优先的问题。如果“开门”比“接电话”重要(或者说“开门”比“接电话”的优先级高),那么就应该先开门,然后再接电话,接完电话后再回头来继续写信。这就是说,当同时有多个中断请求时,应该先响应优先级较高的中断请求。此外,如果在响应一个中断,执行中断处理的过程中,又有新的中断事件发生而发出了中断请求,应该如何处理也取决于中断事件的优先级。当新发生的中断事件的优先级高于正在处理的中断事件时,又将中止当前的中断处理程序,转去处理新发生的中断事件,处理完毕才返回原来的中断处理。在上面的例子中,我们假设“开门”比“接电话”的优先级高。在你写信时,电话铃响了,你去接电话,在通话的过程中,门铃又响了。因为“开门”的优先级高,你只能让通话的对方稍等,放下电话去开门。开门之后再回头继续接电话,通话完毕再回去继续写信。而如果“开门”比“接电话”的优先级低,那么在通话的过程中门铃响了也可以不予理睬,通话结束再去开门。当然,在日常生活中,谁也不会为“开门”和“接电话”规定一个优先级别的高低。但是在计算机中,各种中断事件很多,其优先级都有规定,否则就会乱套。在计算机中,中断事件的优先级是根据事件的实时性、重要性和软件处理的方便性来安排的。中断的屏蔽中断屏蔽也是一个十分重要的功能,所谓中断屏幕蔽是指通过设置相应的中断屏蔽位,禁止响应某个中断。这样作的目的,是保证在执行一些重要的程序中不响应中断,以免造成迟缓而引起错误。例如,在系统启动执行初始化程序时,就屏蔽键盘中断,使初始化程序能够顺利进行。这时,敲任何键,都不会响应。当然对于一些重要的中断是不能屏蔽的,例如重新启动、电源故障、内存出错、总线出错等影响整个系统工作的中断是不能屏蔽的。因此,从中断是否可以被屏蔽来看,可分为可屏蔽中断和不可屏蔽中断两类。中断是怎样分类的产生中断请求的设备或事件称为“中断源”。从中断源来看,中断一般可分为三类:(1)由计算机硬件异常或故障引起的中断,也称为内部异常中断。(2)由程序中执行了中断指令引起的中断,也称为软中断。(3)外部设备(如输入输出设备)请求引起的中断,也称为外部中断或I/O中断。在这三类中断中,外部中断我们接触得最多。下面我们来作进一步的介绍。中断控制器和中断通道因为每个设备都要使用中断,每个设备也就需要一个传送中断请求的通道。而CPU中只有一条接收中断请求的引脚,因此需要有一个机构来收集各个设备产生的各种中断请求,并按优先级排列送给CPU。这个机构称为中断控制器。早期的中断控制器是一片8259集成芯片,可以接收8个中断请求信号,也就是可以有8个中断通道。PC机允许使用15个中断通道,因此需要两片8259芯片。现在的微机仍然维持了这个结构,不过8259芯片已不是独立的芯片,而被进一步集成到其它的大规模芯片中了。两片8259之间用级联的方法连接起来,即一片8259的输出连接到另一片8259的输入端。因此实际可以使用的中断通道只有15个由于每个设备都要占用一个中断通道,如果有两个或两个以上的设备占用了相同的通道时就会发生冲突,使得设备不能正常工作甚至死机。因此在安装新的设备时,一定要选择那些还没有被占用(保留)的中断通道,否则就会引起冲突。选择中断通道一般是通过改变适配卡上的跳线来实现的。很多微机在安装声卡或电影卡时没有正确地选择好中断通道,造成冲突后不能工作。对于有即插即用功能的微机和适配卡,能够自动地选择未被占用的通道,就不需要我们去设置了。 [[Category:技術應用]]
返回至
中断
。
导航菜单
华夏文化百科
访客
个人工具
创建账户
登录
名字空间
页面
讨论
不转换
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
台灣正體
视图
查看
查看源代码
历史
操作
搜索
华韵导航
子站导航
首页
查字
助手
经典
文集
重要典籍
家训大全
论语集释
周易
资治通鉴
竹书纪年
十三经
金瓶梅小说
古典小说
百科导航
新撰词条
近篡词条
待撰词条
随机页面
使用帮助
工具
链入页面
相关更改
特殊页面
页面信息
旧字形下载
DroidSansFallback(荐)
H-MingLiUC-98(荐)
花园明朝体九万汉字
海峰十三万汉字库
极点海峰9.5词库
更多