
解析:
何为中断
在我们所用的电脑中,所有的硬件都需要执行中断请求的动作,简单说它的作用就是用来停止其相关硬件的工作状态。我们可以举一个日常生活中的例子来说明,假如你正在给朋友写信,电话铃响了,这时你放下手中的笔去接电话,通话完毕再继续写信。这个例子就表现了中断及其处理的过程:电话 *** 使你暂时中止当前的工作,而去处理更为急需处理的事情——接电话,当把急需处理的事情处理完毕之后,再回过头来继续原来的事情。在这个例子中,电话 *** 就可以称为“中断请求”,而你暂停写信去接电话就叫作“中断响应”,那么接电话的过程就是“中断处理”。由此我们可以看出,在计算机执行程序的过程中,由于出现某个特殊情况(或称为“事件”),使得系统暂时中止现行程序,而转去执行处理这一特殊事件的程序,处理完毕之后再回到原来程序的中断点继续向下执行,而这个过程就被称为中断。
中断的作用
我们可以再举一个例子来说明中断的作用。假设有一个朋友来拜访你,但是由于不知何时到达,你只能在门口等待,于是什么事情也干不了;但如果在门口装一个门铃,你就不必在门口等待而可以在家里去做其他的工作,朋友来了按门铃通知你,这时你才中断手中的工作去开门,这就避免了不必要的等待。而计算机也一样,例如打印文稿的 *** 作。因为cpu传送数据的速度高,而打印机速度较慢,如果不采用中断技术,cpu将经常处于等待状态,这会使得电脑的工作效率极低。而采用了中断方式后,cpu就可以在打印的同时进行其他的工作,而只在打印机缓冲区内的当前内容打印完毕,而发出中断请求之后才予以响应,这时才暂时中断当前的工作转去执行停止打印的 *** 作,之后再返回执行原来的程序。这样就大大地提高了计算机系统的效率。
irq中断
计算机中的中断有好几种,根据中断信号产生的来源可以分为:硬件中断和软件中断。硬件中断多由外围设备和计算机系统控制器发出,软件中断一般由软件命令产生。在硬件中断中又有“可屏蔽中断”和“不可屏蔽中断”之分。顾名思义,可屏蔽中断可以由计算机根据系统的需要来决定是否进行接收处理或是延后处理(即屏蔽),而不可屏蔽中断便是直接激活相应的中断处理程序,它不能也不会被延误。而irq中断就是可屏蔽的硬件中断,它的全称为interrupt request 即“中断请求”。
在电脑的系统中,是由一个中断控制器8259或是8259a的芯片(现在此芯片大都集成到其他的芯片内)来对系统中每个硬件的中断进行控制。目前共有16组irq,去掉其中用来作桥接的一组irq,实际上只有15组irq可供硬件调用。而这些irq都有自己建议的配置。
分配irq中断
我们日常所用的 *** 作系统对于irq的设置也不尽相同,所以在安装新硬件的时候,系统往往并不能自动检测正确的irq来分配给所需调用的硬件,这就会造成此硬件设备或是原来的旧硬件出现不能正常工作的现象。其实这是系统自动将该硬件的irq分配给了其他与此irq相同的硬件上,从而发生冲突使硬件不能正常工作。一般如果遇到这种情况,只要将新旧两个硬件的irq配置手动调开就可以解决了。
对于一些常用的硬件一般都有其默认的irq数值。比如声卡常常使用irq5或7。虽然这些配件使用其他的irq值大多数也能工作,但假如碰到特别“挑剔”的软件或游戏等程序,例如只能识别irq值为5或7的声卡,那么如果将它设成irq9就白费心机了。
中断是计算机处理特殊问题的一个过程,当计算机执行程序的过程中出现某个特殊情况时,会暂时中止现行程序,转去执行这一事件的程序,处理完毕之后再回到原来程序的中断点继续执
行的整个过程叫做中断。
什么是irq
那么,什么是irq(中断请求)呢?中断请求是由某个设备发出并同时请求cpu产生中断
的一个请求响应信号。通常情况下,计算机是根据中断请求的优先级来决定究竟应当首先响应
哪一个设备的中断请求的(中断请求irq0~1rq15中,irq0的优先级别最高,irq15最低)。原
则上,计算机中每个设备自身只有惟一的一个中断请求通道,即irq值(又叫irq号)。当两个
硬件设备同时使用同一个中断通道(irq值)时,就会发生irq冲突,因为这个时候处理器已经
无法准确判断收到的中断请求究竟来自于哪个设备了。
dma的概念:dma是在专门的硬件(
dma)控制下,实现高速外设和主存储器之间自动成批交换数据尽量减少cpu干预的输入/输出 *** 作方式。通常有两种方式:
◎独占总线方式
◎周期挪用方式
(2)dma的组成:
◎主存地址寄存器
◎数据数量计数器
◎dma的控制/状态逻辑
◎dma请求触发器
◎数据缓冲寄存器
◎中断机构
(3)dma的传送数据的过程:由三个阶段组成
◎传送前的预处理:由cpu完成以下步骤
向dma卡送入设备识别信号,启动设备,测试设备运行状态,送入内存地址初值,传送数据个数,
dma的功能控制信号。
◎数据传送:在dma卡控制下自动完成
◎传送结束处理
dma
卡上应包括通用接口卡的全部组成部分,并多出如下内容:
主存地址寄存器,传送字数计数器,dma控制逻辑,dma请求,dma响应,dma工作方式,dma优先级及排队逻辑等
一次完整的dma传送过程:
dma
预处理,cpu向dma送命令,如dma方式,主存地址,传送的字数等,之后cpu执行原来的程序
dma
控制在
i/o
设备与主存间交换数据:
准备一个数据,
向cpu发dma请求,取得总线控制权,进行数据传送,修改卡上主存地址,修改字数计数器内且检查其值是否为零,不为零则继续传送,若已为零,则向
cpu发中断请求.
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)