如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第9章中断系统和中断控制器8259A本章教学目的及要求掌握有关中断源、中断屏蔽、中断优先级、中断嵌套、中断向量等基本概念;了解8086/8088CPU中断系统的中断源分类、IBM-PC机的中断分配;掌握可编程中断控制器8259A的功能、内部结构、工作方式及初始化命令和操作命令的定义、使用方法,服务程序的基本编写方法。9.1中断系统的基本概念2.中断源能够引起中断的事件称为中断源,包括:外部设备请求中断:系统中I/O设备需要数据传输;实时请求中断:实时控制系统中的定时时间到;故障请求中断:机器运行过程中的硬件错误(电源掉电、存储器奇偶校验错误等);程序性中断:中断指令和程序运行过程中发生的非预期性错误(运算溢出、除数为0等)。根据中断源与CPU的相对关系,中断可分为:内部(软)中断:由程序性中断源引发;外部(硬)中断:由连至CPU引脚上的信号引发。3.中断屏蔽为了增加中断系统的灵活性,CPU和I/O接口中可分别设置触发器,用以控制外部中断请求信号进入CPU内部中断控制逻辑,包括:CPU内部中断允许触发器IFF:当IFF为‘0’时,连至CPU引脚的中断请求信号不能得到响应,称为关中断状态或中断禁止;当IFF为‘1’时,可以响应中断请求,称为开中断状态或中断允许;IFF的状态可以用CPU指令随时设置;非屏蔽中断(NMI):紧急事件引发,要求CPU必须立即处理,不受IFF状态控制;可屏蔽中断(INT):受IFF状态控制。在可屏蔽中断源的接口电路中,一般设置中断请求触发器和中断屏蔽寄存器:当中断源有中断请求时,将中断请求触发器置‘1’;若中断屏蔽触发器为‘0’,表示允许该中断请求信号送往CPU,CPU在响应此中断后,将中断请求触发器清‘0’;若中断屏蔽触发器为‘1’,表示禁止将该中断请求信号送往CPU,尽管该中断源有中断请求,也不能送出,称该中断请求被屏蔽。4.中断优先权系统中存在多个中断源时,会出现几个中断源同时要求中断的情况,包括正在服务的中断(中断竞争),而CPU一次只能为一个中断服务;事先须根据各中断源的重要性,为每个中断确定一个中断优先级别,即中断优先权;CPU首先响应优先权高的中断请求。5.中断嵌套多级中断处理体系中,允许高优先权中断源打断优先权低的中断服务,在为高优先权中断服务完毕,再回到原来的低优先权中断服务,称为中断嵌套;若新的中断源优先权级别为同级或低级,不能打断正在处理的中断服务过程(可利用特殊方法实现低权中断优先服务—可屏蔽中断的特殊屏蔽方式)。6.中断优先权管理中断优先权管理就是判别并确定各中断源的中断优先权,进而解决多个中断竞争(排队)和实现高优先级打断低优先级中断(嵌套)等操作。CPU内部中断逻辑通常可以确定内部中断、外部非屏蔽中断和可屏蔽中断之间的等级关系;多个外部可屏蔽中断源(对应不同的外设)的优先级需要通过软件或硬件方案解决。软件确定中断优先权CPU响应中断请求后,在中断服务程序中查询确定是哪个中断源提出中断请求;查询的次序决定了中断优先权次序,最先被查询的中断源优先级最高。优点:不需要复杂的硬件电路,简单易实现;缺点:中断源较多时查询时间长,中断响应速度慢。硬件确定中断优先权用硬件实现中断优先权的判别,常用的硬件电路有:中断优先权编码电路、链式优先权排队电路及专用硬件(包含优先权编码电路)等。链式优先权排队电路:硬件逻辑电路代替查询程序。中断源串行连接形成链;链中某中断源得到CPU中断服务后,封锁后续中断源的中断请求,只有在中断源链前的中断源可以提出中断申请。特点:排在链最前面的中断源为优先级最高,越远的中断源级别越低。专用硬件—中断控制器如Intel8259A,具有8个优先权控制,经级联可扩展至64级,且每级中断都可以设置为允许或屏蔽。通过编程来设置或改变其工作方式,使用起来方便灵活。9.2中断处理过程3.中断响应根据中断排队确定要响应的中断源后,CPU转去对应中断服务程序入口的过程称为中断响应。中断响应是有条件的,如CPU的当前指令或某些特殊指令操作执行结束后才可以响应中断请求;中断响应过程中CPU自动完成:保护状态标志寄存器FR;保护断点:将正在执行程序地址(断点)推入堆栈;关闭中断允许触发器IFF;形成中断服务程序入口地址:不同类型CPU形成中断服务程序入口地址方式不同,小系统可采用固定入口地址方法,中断源较多时通常采用向量表方法。Intel8086/8088CPU采用向量表方法。4.中断服务和中断返回(中断服务程序)CPU执行中断服务程序,中断服务程序须事先编制;保护现场:保护与被中断程序有冲突的寄存器,将其内容送入堆栈;开中断IFF:CPU响应中断时,自动关闭IFF,要实现