预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共74页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

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

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,要实现