欢迎来到论文网! 识人者智,自知者明,通过生日认识自己! 生日公历:
网站地图 | Tags标签 | RSS
论文网 论文网8200余万篇毕业论文、各种论文格式和论文范文以及9千多种期刊杂志的论文征稿及论文投稿信息,是论文写作、论文投稿和论文发表的论文参考网站,也是科研人员论文检测和发表论文的理想平台。lunwenf@yeah.net。
您当前的位置:首页 > 科技论文 > 计算机论文

浅谈可编程中断控制器

时间:2011-04-23  作者:秩名

论文导读:引言:假如我们现在需要从磁盘上读入十个字节需要10秒钟,利用传统的顺序执行时,在这10秒钟之内CPU就无所事事,不得不等待磁盘慢慢读入这十个字节,但如果在这10秒钟之内,CPU转去运行其它的程序,不就可以防止浪费CPU的时间吗?于是我们想到了引入了中断控制器以提高CPU利用率。计算机上挂接着许多外部设备,比如键盘、磁盘驱动器、鼠标、声卡……等等,而这些设备都可能在同一时刻向CPU发出中断信号,那么CPU到底应当响应哪一个设备的中断信号呢?这都通过另外一个芯片来控制,在PC机中,这个芯片常常被称作:可编程中断控制器(PIC)8259A。
关键词:中断,可编程芯片,8259A
 

引言:假如我们现在需要从磁盘上读入十个字节需要10秒钟,利用传统的顺序执行时,在这10秒钟之内CPU就无所事事,不得不等待磁盘慢慢读入这十个字节,但如果在这10秒钟之内,CPU转去运行其它的程序,不就可以防止浪费CPU的时间吗?于是我们想到了引入了中断控制器以提高CPU利用率。

一、中断概述

中断就是外部设备或程序同CPU通信的一种方式。CPU在接收到中断信号时,会中断正在运行的程序,转到对中断的处理上,而这个对中断的处理程序常常称为中断服务程序,当中断服务程序处理完后,CPU再返回到原先被中断的程序上继续执行。

中断可以分为两大类:硬件中断和软件中断。硬件中断是同多外部的硬件产生的,所以也常常不把硬件中断称为外部中断。硬件中断又分为两类:非屏蔽中断和可屏蔽中断。分别通过CPU的NMI引脚和INTR引脚引入。软件中断是CPU根据某条指令或者软件对标志寄存器中某个标志的设置而产生的,完全和硬件电路无关。

二、认识中断号及8259A芯片

计算机上挂接着许多外部设备,比如键盘、磁盘驱动器、鼠标、声卡……等等,而这些设备都可能在同一时刻向CPU发出中断信号,那么CPU到底应当响应哪一个设备的中断信号呢?这都通过另外一个芯片来控制,在PC机中,这个芯片常常被称作:可编程中断控制器(PIC)8259A。

一个8259A芯片有8根中断请求(IRQ)信号线:IRQ0~IRQ7。免费论文。每个外部设备使用一根或多个外部设备共用一根中断信号线,它们通过IRQ发送中断请求,8259A芯片接到中断请求后对中断进行优先级选定,然后对多个中断中具有最高优先级的中断进行处理,将其所对应的中断向量送上通往CPU的数据线,并通知CPU有中断到来。免费论文。

对于CPU来说中断就是中断,只有一种,无论是由外部硬件触发的还是由运行的软件本身触发的,中断处理的过程都是一样的:中断现行程序,转到中断服务程序处执行,回到被中断的程序继续执行。CPU对于其它的模块只提供了一种接口,即是 256个中断处理向量,也称为中断号。由这些中断控制器自行去使用这256个中断号中的一个与CPU进行交互。中断号是由中断服务程序一一对应的。免费论文。一个中断号就是一个中断服务程序,8259A将中断号通知CPU后,它的任务就完成了,使用此中断号去调用什么程序由CPU支配。

三、8259A的内部中断处理流程

下面从一个系统程序员(System Programmer)的角度来看8259A的内部结构。

首先,一个外部中断请求信号通过中断请求线IRQ,传输到IMR(中断屏蔽寄存器),IMR根据所设定的中断屏蔽字,决定是将其丢弃还是接受。如果可以接受,则8259A将IRR中代表此IRQ的位置位,以表示此IRQ有中断请求信号,并同时向CPU的INTR(中断请求)引脚发送一个信号,但CPU这时可能正在执行一条指令,因此CPU不会立即响应,而在CPU正忙着执行某条指令时,还有可能有其余的IRQ线送来中断请求,这些请求都会接受IMR的挑选,如果没有被屏蔽,那么这些请求也会被放到IRR中,也即IRR中代表它们的IRQ的相应位会被置1。

当CPU执行完一条指令时后,会检查一下INTR引脚是否有中断请求信号,如果发现有中断请求信号,就会转到中断服务,此时,CPU会立即向8259A芯片的INTA(中断应答)引脚发送一个信号。当芯片收到此信号后,判优部件开始工作,它在IRR中,挑选优选级最高的中断,将中断请求送到ISR,并将IRR中相应位置零,表明此中断正在接受CPU的处理。

内容看起来仿佛十分复杂,但我们可以用一个很简单的比喻来解释。CPU就相当于一个学校的校长,而8259A芯片就相当于这个校长的秘书,现在有很多人想见校长,但校长正在打电话,于是交由秘书先行接待。每个想见校长的人都需要把自己的名片高端控制器,交给秘书,秘书首先看看名片,有没有校长明确表示不愿见到的人,如果没有就把它放到一个盒子里面,这时校长的电话还没打完,但不停的有人递上名片求见校长,秘书就把符合要求的名片全放在盒子里了。这时,校长打完电话了,探出头来问秘书:有人想见我吗?这时,秘书就从盒子里挑选一个级别最高的(8259A芯片中存在优先权判定),并把它的名片交给校长。

当芯片把中断号送上通往CPU的数据线后,就会检测,ICW4中的EOI是否被置位。如果EOI被置位表示自动结束,则芯片会自动将ISR中的相应位清零。如果EOI没有被置位,则需要中断处理程序向芯片发送EOI消息,芯片收到EOI消息后才会将ISR中的相应位清零。

四、结语

使用中断控制器在同步操作时不仅可以实现CPU和外设之问的并行工作,而且CPU可命令多个外设同时工作,这大大提高CPU的利用率,加快了输出的速度。同时,实时处理时可以及时处理随机输入到微型计算机的各种参数和信息,使微型计算机具备实时处理与控制的能力。最重要的是在做故障处理时CPU可以就根据故障源发出的中断请求,立即去执行相应的故障处理程序,自行处理故障而不必停机,提高了微型计算机工作的可靠性。


参考文献:
[1]李大友.微型计算机接口技术[M] .北京:清华大学出版社,2000年.
[2]周明德.微型计算机系统原理及应用[M].北京:清华大学出版社,1996年.
[3]戴梅萼 史嘉权.微型计算机技术及其应用[M].北京:清华大学出版社,2008年.
 

 

查看相关论文专题
加入收藏  打印本文
上一篇论文:浅谈计算机网络的故障及维护
下一篇论文:浅谈面向过程与面向对象编程思想
科技论文分类
科技小论文 数学建模论文
数学论文 节能减排论文
数学小论文 低碳生活论文
物理论文 建筑工程论文
网站设计论文 农业论文
图书情报 环境保护论文
计算机论文 化学论文
机电一体化论文 生物论文
网络安全论文 机械论文
水利论文 地质论文
交通论文
相关计算机论文
    无相关信息
最新计算机论文
读者推荐的计算机论文