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

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

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

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

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

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

第八章中断系统 BUPT 主要内容 „中断的基本概念 „8086/8088CPU的中断系统 „8259A的中断工作过程和工作方式 „中断服务程序的编写 6学时 8.1中断的基本概念 BUPT 一、问题的提出 早期的计算机没有中断系统。那时CPU和 外设之间的信息交换是通过程序查询方式传递 的。CPU需要不断查询外设的状态,实现信息 交换。 现在的CPU工作速度很快,CPU启动外设 输入/输出一字节的数据,通常只执行一、两 条指令,仅需微秒级的时间,而外设的工作速 度一般在毫秒级以上。所以,CPU和外设之间 交换信息采用程序查询方式,会使得CPU的大 部分时间都浪费在反复查询上。为了解决“快 速CPU”与“慢速外设”之间速度不匹配问题, 一方面要提高外设的工作速度,另一方面,发 展了中断的概念。 二、中断、中断系统、中断源和中断分类 1、中断:是指计算机的CPU暂时中止它正在执行的主 BUPT程序,转去执行请求中断的那个外设或事件的中断服 务(处理)程序,待处理完后,又返回到被中止了的 程序。 2、中断系统:计算机所具有的上述功能,称为中断功 能。为了实现中断功能而设置的各种硬件和软件统称 为中断系统。 3、中断源:引起中断的原因或发出中断申请的来源, 称为中断源。有以下几种: (1)一般的输入/输出设备,如键盘,打印机 (2)数据通道中断源,如磁盘 (3)软件设置的中断源,如程序中的中断指令INTn (4)故障请求中断源,如电源掉电、运算溢出 (5)为调试程序而设置的中断源,如断点或单步执 行方式. 4、中断分类 中断分外部中断和内部中断两大类;其中外部中断 BUPT分为两类: ⑴可屏蔽中断INTR,由标志寄存器中的IF位控制; ⑵不可屏蔽中断NMI,不受IF位控制 三、中断系统的功能 1、实现中断和返回:当某一中 断源发出中断申请时,若CPU响应 该请求,则在现行指令执行完后, 保存断点/标志,然后转到需要处 理的中断源的中断服务程序入口, 同时清除中断请求触发器。当中 断处理结束后,恢复断点/标志, 使CPU返回,继续执行主程序。 8.1中断的基本概念 BUPT 2、能实现优先权排队:设计者事先根据任务的轻重 缓急,给每个中断源确定一个中断优先权级别,当 多个中断源同时发出中断申请时,先响应级别高的 再响应级别低的中断申请。 3、高级中断源能中断低级的中断处理:类似于子程 序嵌套。当前正在执行中断服务子程序,又发生了 新的中断请求,如果新的中断请求比正在处理的中 断源同级或更低级,则CPU就先不响应新的中断请 求,直至正在处理的中断服务程序执行完后,才去 处理新的中断请求。 8.1中断的基本概念 BUPT 四、中断处理过程 1、CPU响应中断的条件 (1)设置中断请求触发器:每一个中断源,要能发出 中断请求信号,且这个信号能保持着,直到CPU响 应这个中断后,才可清除中断请求。所以要求每一 个中断源有一个中断请求触发器。 (2)设置中断屏蔽触发器:在实际系统中往往是多中 断源,为了灵活控制,在每个外设的接口电路中增 加一个中断屏蔽触发器,只有该触发器为1时,外 设的中断才能被送至CPU 8.1中断的基本概念 BUPT 具有中断请求与中断屏蔽的接口电路 8.1中断的基本概念 BUPT (3)对可屏蔽中断:CPU需开放中断,即CPU内部设 置的中断允许触发器=1,此触发器可用开中断指令 (STI)置1,用关中断指令(CLI)清0。实际上就是 标志寄存器中的IF位=1,表示开放可屏蔽中断。 8.1中断的基本概念 BUPT (4)无总线请求:别的微处理器或DMAC没有 发出总总线请求信号。 (5)对可屏蔽中断:无非屏蔽中断请求。 (6)CPU在现行指令结束后响应中断: 中断源向CPU发中断请求是随机的,大多数 CPU在现行指令周期结束时检测有无中断请 求。8086CPU在每条指令的最后一个机器周 期的最后一个时钟周期检测中断请求信号输 入线INTR。 2、CPU对中断的响应过程 满足前述条件,即转入中断周期: BUPT 1)关中断:CPU发出中断响应信号的同时,自动关 中断。 2)保存断点:硬件自动完成。 3)给出中断入口地址:由中断矢量形成,自动完 成。 4)保护现场:把各寄存器的内容入栈保存,在中断 服务子程序中完成。 5)开中断:(如果允许中断嵌套) 5)执行中断服务程序 5)关中断:(如果允许中断嵌套) 6)恢复现场;把先前压栈的寄存器恢复 7)开中断与返回:执行IRET指令,自动完成 可屏蔽中断时序流程图可屏蔽中断响应服务及返回流程图 BUPT 中断服务程序 IRET 指令 8.1中断的基本概念 BUPT 中断的工作过程可分为五大步骤: 即中断请求、中断判优、中断响应、中