微机原理课件 第七章 微型计算机中断系统.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:78 大小:1.5MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

微机原理课件 第七章 微型计算机中断系统.ppt

微机原理课件第七章微型计算机中断系统.ppt

预览

免费试读已结束,剩余 68 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第七章微型计算机中断系统中断请求何时发生是随机的。CPU在每条指令的最后一个T周期去检测INTR引脚,CPU一旦检测到有中断请求,在满足中断响应的条件下(IF=1),CPU响应中断,会向外设发出中断响应信号。并保护断点(当前CS、IP和PSW值入栈),然后转向中断服务程序。中断服务程序执行完毕,CPU返回原执行程序的中断处,继续向下执行,称为中断返回。3.中断向量表CPU响应中断后,必须由中断源提供地址信息,引导程序进入中断服务子程序,这些中断服务子程序的入口地址存放在中断向量表中。内存中专门开辟了一个区域,存放中断向量表(也称中断矢量表)。4.中断优先级当有多个中断源请求中断时,中断系统判别中断申请的优先级,CPU响应优先级高的中断,挂起优先级低的中断。当CPU在运行中中断服务子程序时,又有新的更高优先级的中断申请进入,CPU要挂起原中断进入更高级的中断服务子程序,实现中断嵌套功能。5.中断屏蔽当中断源申请中断时,CPU可以由软件设置,使之不能响应,称为中断屏蔽。本章讨论与8086/8088CPU相配合的中断系统及中断接口芯片8259A。二、中断分类8086/8088有一个强有力的中断系统,可以处理256种不同的中断。8086/8088系统上的中断源如图7-1所示。以产生中断的方法来分类,256种中断可以分为两大类:外部中断和内部中断。图7-18086/8088中断源1.外部中断8086/8088CPU有两个外部中断请求线:不可屏蔽中断请求线NMI和可屏蔽中断请求线INTR。(1)由NMI引脚引入的不可屏蔽中断请求,采用边沿触发,上升沿之后维持两个时钟周期高电平有效。对于不可屏蔽中断用户是不能用软件来屏蔽的,一旦有不可屏蔽中断请求,CPU必须予以响应。不可屏蔽中断请求的中断类型号为2,即中断处理程序的入口地址在0段的0008H~000BH的4个单元中。(2)由INTR引脚引入的外设提出的可屏蔽中断请求,采用电平触发,高电平有效,INTR信号的高电平必须维持到CPU响应中断才结束。可屏蔽中断是用户可以通过软件设置来屏蔽的外部中断,即使外部设备有中断请求,CPU可以不予响应。由外设引起的可屏蔽中断请求要得到响应应有两个条件:①外设中断请求是否被屏蔽;②CPU是否允许响应中断。在8086CPU系统中,外设的中断请求信号接入可编程中断控制器8259A的IRi端,而8259A的中断输出INT连到CPU的INTR引脚上。8259A中设有中断屏蔽寄存器,它的8位对应控制8个外设,通过设置这个寄存器的某位为0或1,可以允许或禁止某个外设的中断请求。一块8259A可管理8个中断,当外设超过8个时,可以使用多个8259A进行级联,扩大到64级中断。外设与8259A的连接是由用户来设计的,硬件连线决定了中断类型号和中断优先级次序。CPU是否允许响应中断,与中断允许位IF有关。IF=1CPU允许响应中断;IF=0,CPU禁止响应中断。2.内部中断内部中断又称为软件中断。软件中断通常有三种情况引起:①由中断指令INT引起的中断;②由CPU的某些运算错误引起的中断;③由调试程序debug设置的中断。※内部中断只要由上面三种情况引起了,是不可屏蔽的!(1)由中断指令INT引起的中断CPU执行一条INTn指令后立即产生中断,并且调用系统中相应的中断处理程序去完成中断功能,指令中的n指出了中断类型号。例7-1测试存储器容量INT12HCPU执行这条指令时,立即产生一个中断。并从中断向量表的0:12H×4开始的单元中取出4个字节,其内容为中断服务子程序的段地址和偏移地址,然后转去此入口去执行中断服务子程序,完成对存储器的测试。(2)由CPU的某些运算错误引起的中断CPU在运行程序时,会发现一些运算中出现的错误,此时CPU就会中断,让用户去处理这些错误。主要有:①除法错中断:除法错中断类型号为0,在除法运算中,若除数为0或商超过了寄存器所能表达的范围,就产生一个类型号为0的中断,转去类型号为0的中断处理。②溢出中断:溢出中断类型号为4,专用指令为INTO。若OF=1执行中断指令INTO;若OF=0,不执行中断指令。通常INTO放在加、减法运算指令的后面。例7-2测试加法的溢出ADDAX,BXINTO(3)由调试程序debug设置的中断在调试程序时,为了检查中间结果或寻找程序中的错误,在程序中可设置断点或进行单步跟踪,调试程序debug有此功能它也是由中断来实现的。①单步中断:单步是每次只执行一条指令,然后屏幕显示当前各寄存器和有关存储单元的内容,以及下条要执行的指令