第7章 微型计算机中断系统

第7章 微型计算机中断系统

ID:24785330

大小:1.04 MB

页数:102页

时间:2018-11-14

第7章 微型计算机中断系统_第1页
第7章 微型计算机中断系统_第2页
第7章 微型计算机中断系统_第3页
第7章 微型计算机中断系统_第4页
第7章 微型计算机中断系统_第5页
资源描述:

《第7章 微型计算机中断系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第七章微型计算机中断系统7-1概述一、中断概念当CPU正常运行程序时,由于微处理器内部事件或外设请求,引起CPU中断正在运行的程序,转去执行请求中断的外设(或内部事件)的中断服务子程序,中断服务程序执行完毕后,再返回被中止的程序,这一过程称为中断。1.中断源引起程序中断的事件称为中断源。中断源有外部中断和内部中断,内部中断由程序预先安排的中断指令(INTn)引起,或由于CPU运算中产生的某些错误(如除法出错、运算溢出)引起。外部中断是外部设备或协处理器向CPU发出中断申请引起的。2.中断响应中断请求何时发生是随机的。CPU在每条指令的最后一个T周期去检测INTR引脚,CPU

2、一旦检测到有中断请求,在满足中断响应的条件下(IF=1),CPU响应中断,会向外设发出中断响应信号。并保护断点(当前CS、IP和PSW值入栈),然后转向中断服务程序。中断服务程序执行完毕,CPU返回原执行程序的中断处,继续向下执行,称为中断返回。3.中断向量表CPU响应中断后,必须由中断源提供地址信息,引导程序进入中断服务子程序,这些中断服务子程序的入口地址存放在中断向量表中。内存中专门开辟了一个区域,存放中断向量表(也称中断矢量表)。4.中断优先级当有多个中断源请求中断时,中断系统判别中断申请的优先级,CPU响应优先级高的中断,挂起优先级低的中断。当CPU在运行中中断服务

3、子程序时,又有新的更高优先级的中断申请进入,CPU要挂起原中断进入更高级的中断服务子程序,实现中断嵌套功能。5.中断屏蔽当中断源申请中断时,CPU可以由软件设置,使之不能响应,称为中断屏蔽。二、中断分类8086/8088有一个强有力的中断系统,可以处理256种不同的中断。8086/8088系统上的中断源如图7-1所示。图7-18086/8088中断源以产生中断的方法来分类,256种中断可以分为两大类:外部中断和内部中断。外部中断也称为硬件中断,是由外部的硬件产生的,硬件中断又分成不可屏蔽中断和可屏蔽中断。下面分别加以说明。1.外部中断8086/8088CPU有两个外部中断请

4、求线:不可屏蔽中断请求线NMI和可屏蔽中断请求线INTR。(1)由NMI引脚引入的不可屏蔽中断请求,采用边沿触发,上升沿之后维持两个时钟周期高电平有效。对于不可屏蔽中断用户是不能用软件来屏蔽的,一旦有不可屏蔽中断请求,CPU必须予以响应。不可屏蔽中断请求的中断类型号为2,即中断处理程序的入口地址在0段的0008H~000BH的4个单元中。(2)由INTR引脚引入的外设提出的可屏蔽中断请求,采用电平触发,高电平有效,INTR信号的高电平必须维持到CPU响应中断才结束。可屏蔽中断是用户可以通过软件设置来屏蔽的外部中断,即使外部设备有中断请求,CPU可以不予响应。由外设引起的可屏

5、蔽中断请求要得到响应应有两个条件:①外设中断请求是否被屏蔽;②CPU是否允许响应中断。在8086CPU系统中,外设的中断请求信号接入可编程中断控制器8259A的IRi端,而8259A的中断输出INT连到CPU的INTR引脚上。8259A中设有中断屏蔽寄存器,它的8位对应控制8个外设,通过设置这个寄存器的某位为0或1,可以允许或禁止某个外设的中断请求。一块8259A可管理8个中断,当外设超过8个时,可以使用多个8259A进行级联,扩大到64级中断。外设与8259A的连接是由用户来设计的,硬件连线决定了中断类型号和中断优先级次序。CPU是否允许响应中断,与中断允许位IF有关。I

6、F=1,CPU允许响应中断;IF=0,CPU禁止响应中断。2.内部中断内部中断又称为软件中断。软件中断通常有三种情况引起:①由中断指令INT引起的中断;②由CPU的某些运算错误引起的中断;③由调试程序debug设置的中断。※内部中断只要由上面三种情况引起了,是不可屏蔽的!(1)由中断指令INT引起的中断CPU执行一条INTn指令后立即产生中断,并且调用系统中相应的中断处理程序去完成中断功能,指令中的n指出了中断类型号。例7-1测试存储器容量INT12HCPU执行这条指令时,立即产生一个中断。并从中断向量表的0:12H×4开始的单元中取出4个字节,其内容为中断服务子程序的段地

7、址和偏移地址,然后转去此入口去执行中断服务子程序,完成对存储器的测试。(2)由CPU的某些运算错误引起的中断CPU在运行程序时,会发现一些运算中出现的错误,此时CPU就会中断,让用户去处理这些错误。主要有:①除法错中断:除法错中断类型号为0,在除法运算中,若除数为0或商超过了寄存器所能表达的范围,就产生一个类型号为0的中断,转去类型号为0的中断处理。②溢出中断:溢出中断类型号为4,专用指令为INTO。若OF=1执行中断指令INTO;若OF=0,不执行中断指令。通常INTO放在加、减法运算指令的后面。例7-2测试加法

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。