微机原理中断处理过程剖析PPT课件

8.2:最简单的中断情况微机原理微机原理外部中断外部中断8086有两条外部中断请求线l1:INTR:可屏蔽中断:简单说就是CPU可以选择响应的中断!l2:NMI:不可屏蔽中断:简单说就是CPU必须响应的中断!8.28.2:最简单的中断情况:最简单的中断情况8086的中断情况CPU响应中断的条件CPU对中断的响应中断源 CPU设置中断请求触发器设置中断屏蔽触发器(拓展)中断允许触发器为1(中断开放)现行指令结束关中断保留断点保护现场给出中断入口,转入相应的中断服务程序恢复现场开中断与返回概念回顾概念回顾触发器触发器是时序逻辑电路的基本单元的组成单元,属于时序逻辑电路!能够存储一位信号存储一位信号的基本单元电路称为触发器;在实际的数字系统中,通常把能够用来存储一组二进制代码的同步时序逻辑电路称为寄存器由于触发器内有记忆功能,因此利用触发器可以方便地构成寄存器由于一个触发器能够存储一位二进制码,所以把n个触发器的时钟端口连接起来就能构成一个存储n位二进制码的寄存器寄存器寄存器:多个触发器构成,存储多位二进制信息所谓锁存器所谓锁存器,就是输出端的状态不会随输入端的状态变化而变化,仅在有锁存信号时输入的状态被保存到输出,直到下一个锁存信号到来时才改变。
典型的锁存器逻辑电路是典型的锁存器逻辑电路是 D D 触发器电路触发器电路锁存器多用于集成电路中,在数字电路中作为时序电路的存储元件接口电路和端口接口电路和端口接口电路:接口电路:计算机之间,计算机与外围设备之间,计算机内部部件之间起连接作用的逻辑电路接口电路是CPU与外部设备进行信息交互的桥梁l硬件端口硬件端口:是接口电路中能被CPU直接访问的寄存器的地址这些寄存器分别用来存放数据信息、控制信息和状态信息,相应的端口分别称为数据端口、控制端口和状态端口CPU响应中断的条件一:设置中断请求触发器(教教 材材;P223;P223)对每个中断源来说,对每个中断源来说,既要能发出中断请求信既要能发出中断请求信号,号,而且能保持这个信号,而且能保持这个信号,直至直至CPUCPU响应该响应该请求后再将其清除请求后再将其清除因此,因此,每个中断源都每个中断源都要有一个中断请求触发器,要有一个中断请求触发器,如下图中的触发如下图中的触发器器A A图图8-1 8-1 设置中断请求的情况设置中断请求的情况读入数据并清读入数据并清除中断请求信除中断请求信号!号!CPU通过端口和外设进行数据交换CPU响应中断的条件二:设置中断屏蔽触发器(拓展 为什么?)是指即使某个中断源发出中断请求信号,是指即使某个中断源发出中断请求信号,也使该信号不起作用的措施。
也使该信号不起作用的措施方法是在每个外方法是在每个外设的接口电路中设置一个中断屏蔽触发器,设的接口电路中设置一个中断屏蔽触发器,用来控制其对应外设所发出的中断请求能否送用来控制其对应外设所发出的中断请求能否送到到CPUCPU,只有为,只有为1 1时,外设的中断请求才能送至时,外设的中断请求才能送至CPU!CPU!进而又可把一组屏蔽触发器进而又可把一组屏蔽触发器(如如8 8个个)组成组成一个中断屏蔽寄存器端口,一个中断屏蔽寄存器端口,用输出指令来控用输出指令来控制其状态制其状态!具有中断屏蔽的接口电路如下!具有中断屏蔽的接口电路如下!图图8-2 8-2 具有中断屏蔽的接口电路具有中断屏蔽的接口电路设置中断屏蔽触发器的指令WR写信号写信号WR读信号读信号CPU通过端口和外设进行数据交换l 当外设发 ST TB数据入锁存器,中断请求触发器置 1若没有屏蔽则产生 INT TRCP PU 满足条件(允许中断;指令执行完)发 INT TA(进入中断服务子程序)读数据,发 RD,和地址清中断请求触发器,数据送 D0D7 7三:三:中断允许触发器为1(中断开放时)教材教材224224页页CPUCPU内部有一个中断允许触发器,只有当其为内部有一个中断允许触发器,只有当其为1 1时,时,CPUCPU才响才响应中断!若其为应中断!若其为0 0,即使,即使INTRINTR线上有中断请求,线上有中断请求,CPUCPU也不响应也不响应!(按教材讲)(按教材讲)IFIF标志位:标志位:就是控制就是控制CPUCPU的中断状态!(开,或关)的中断状态!(开,或关)CLI CLI指令:指令:禁止中断发生,即关中断(禁止中断发生,即关中断(IFIF标志位为标志位为0 0)STI STI指令:指令:允许中断发生,即开中断(允许中断发生,即开中断(IFIF标志位为标志位为1 1)四:现行指令结束后响应中断四:现行指令结束后响应中断CPUCPU在现行指令结束后响应中断,即运行到最在现行指令结束后响应中断,即运行到最后一个机器周期的最后一个后一个机器周期的最后一个T T状态时,状态时,CPUCPU才才采样采样INTRINTR线线。
教材教材224224页(按教材讲)页(按教材讲)其响应的流程图如下所示!其响应的流程图如下所示!图图8-3 8-3 中断响应流程图中断响应流程图中断锁存器置18.2.2 CPU对中断的响应对中断的响应讲解为什么这样做讲解为什么这样做!根据教材根据教材P224P224页!分别论述!页!分别论述!(1 1)关中断)关中断(2 2)保留断点)保留断点(3 3)保护现场)保护现场(4 4)给出中断入口,转入相应的中断服务程序)给出中断入口,转入相应的中断服务程序(5 5)恢复现场)恢复现场(6 6)开中断与返回)开中断与返回图图8-4 8-4 中断响应、服务及返回流程图中断响应、服务及返回流程图总结总结8086的中断情况CPU响应中断的条件CPU对中断的响应中断源 CPU设置中断请求触发器设置中断屏蔽触发器(拓展)中断允许触发器为1(中断开放)现行指令结束关中断保留断点保护现场给出中断入口,转入相应的中断服务程序恢复现场开中断与返回l中断允许寄存器IF是总的设置,IF=0则禁止一切中断请求,IF=1则允许中断请求进入中断屏蔽寄存器是在中断允许即IF=1的基础上,对某些引脚的中断请求进行屏蔽的,8259有8个中断请求输入引脚,中断屏蔽寄存器为8位,分别对应这8个引脚,设为0则不屏蔽,该引脚的请求可以进入;而若中断屏蔽寄存器某些位设为1的话,表示屏蔽相应引脚的请求,该请求就不会进入8259的优先级分析器中。
若中断屏蔽寄存器设为00001111B,则IR0IR3的请求被屏蔽,IR4IR7的中断请求未被屏蔽,可以进入优先级分析器,由优先级分析器找出其中优先级最高的一个请求,进而向CPU发出请求。