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

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

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

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

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

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

第7章中断7.1概述7.1概述 7.1.1中断的基本概念 一、中断和中断源 所谓“中断”是指在CPU正常运行程序时,由于内、外部事件引起CPU暂时中止正在运行的程序,转而去执行请求CPU暂时中止的内、外部事件的服务程序,待该服务程序处理完毕后又返回到被中止的程序。 二、中断系统的功能 中断处理 中断控制 三、中断的主要用途 四、可屏蔽中断与不可屏蔽中断 凡是微处理器内部能够“屏蔽”的中断,称为可屏蔽中断; 凡是微处理器内部不能够“屏蔽”中断,称为不可屏蔽中断;所谓“屏蔽”是指微处理器拒绝响应中断请求信号,不允许打断微处理器所执行的主程序。通常是由内部的中断触发器(或中断允许触发器)来控制的。7.1.2中断处理过程 一、CPU响应中断的条件 1.设置中断请求触发器 2.设置中断屏蔽触发器 3.设置中断允许触发器的状态(CPU内) 4.CPU在现行指令结束后响应中断 中断处理过程的流程图 具有中断屏蔽的接口电路二、CPU对中断响应 1.关中断 2.保护断点 3.识别中断源 识别中断源的两种方法: (1)查询中断;(2)向量中断(VectoredInterrupt) 4.保护现场 5.执行中断服务程序 6.恢复现场 7.开中断与返回97.1.3中断优先级 遇到多个中断源同时请求中断的情况, CPU必须确定首先为哪一个中断源服务, 根据中断源要求的轻重缓急, 排好中断处理的优先次序, 即优先级(Priority),又称优先权。 解决中断的优先级的方法有: 一、软件查询确定中断优先级11二、硬件查询确定优先级 优先级中断链电路三、中断优先级编码电路 优先级编码器—对提出请求的中断源的中断请求的优先级进行编码,中断源编码为三位代码。 优先级寄存器—存放正在进行中断处理的外设的优先级编码,当CPU执行主程序时,优先级失效信号置“1”。 比较器—用于对新输入的中断请求和CPU正在执行的中断请求进行比较,以确定是否进行中断嵌套。 三态缓冲器—存放中断类型码,由读出。 147.1.4中断的嵌套 当CPU执行优先级较低的中断服务程序时,允许响应优先级较高的中断源请求中断,而挂起正在处理的中断,这就是中断嵌套或称多重中断。 多重中断流程与单级中断的区别: (1)加入屏蔽本级和较低级中断请求的环节; (2)在进行中断服务之前,要开放中断; (3)中断服务程序结束之后,必须安排并执行关中断指令。7.28086/8088的中断系统7.28086/8088的中断系统 8086/8088有一个简单而灵活的中断系统,每个中断都有一个中断类型码(TypeCode),以供CPU进行识别,8086/8088最多能处理256种不同的中断类型。 7.2.1外部中断 8086/8088有两条中断信号线—INTR和NMI,可供外设向CPU发中断请求指令。一、可屏蔽中断INTR 如果IF=“H”(置1)表示INTR线上的中断开放,CPU在完成现在正在执行的指令后,识别该中断请求,并进行中断处理。 CPU对INTR中断请求的响应过程是执行两个INTA(中断响应)总线周期。 二、不可屏蔽中断NMI 不可屏蔽中断请求信号NMI用来通知CPU发生了“灾难性”的事件,如电源掉电、存储器读写出错、总线奇偶位出错等。在CPU响应NMI时,不必由中断源提供中断类型码(规定为2),因此NMI响应也不需要执行总线周期INTA。 7.2.2内部中断 内部中断是通过软件调用的不可屏蔽中断,包括溢出中断、除法出错中断、单步中断、INTn指令中断以及单字节INT3指令中断。一、溢出中断 OF置“1”,执行溢出中断指令(INTO),产生一个4型中断(中断类型码为4)。 二、除法出错中断(中断类型码为0) 三、INTn指令中断(中断类型码为n) 四、断点中断 断点中断即单字节INT3指令中断(中断类型码为3) 五、单步(陷阱)中断 当陷阱标志TF置“1”时,8086/8088处于单步工作方式。单步方式是一种有用的调试工具(中断类型码为1) 内部中断的特点是: (1)中断类型码或包含在指令中,或是预先规定的; (2)不执行INTA总线周期; (3)除单步中断外,任何内部中断都无法禁止; (4)除单步中断外,任何内部中断的优先级都比任何外部中断的优先级高。7.2.3中断向量表 中断向量表(又称中断指针表)是存放中断服务程序入口地址(即“中断向量”)的表格。它存放在存储器的最低端,共1024个字节,每4个字节存放一个中断服务程序的入口地址。 给出中断类型码n,CPU将n×4得中断向量表的地址指针,找到该指针对应的4个内存单元,前2字节送IP, 后二字节送CS,由此