CPU响应中断条件_第1页
CPU响应中断条件_第2页
CPU响应中断条件_第3页
CPU响应中断条件_第4页
CPU响应中断条件_第5页
已阅读5页,还剩34页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、CPU响应中断条件CPU对中断的响应关中断保存断点保护现场给出中断入口,转入相应的中断效劳程序恢复现场开中断与返回执行一条指令最后一个总线周期的最后一个T状态? 有INTR?中断开放? (FR中的IF=1?)关中断 (置FR中IF=0)断点地址(CS. IP)入栈 FR 入栈 识别中断源,转入相应中断服务程序 保护现场 中断服务处理 恢复现场 开中断STI (置FR中IF=1)中断返回IRET取下一条指令NoNoNoYesYesYes 中断优先级8086 系统中,中断优先级的次序为:高低内部中断 (除法错、INTO、INT n)NMIINTR单步中断 中断向量 (中断效劳程序入口地址) 在表中

2、的地址 = 中断类型号 41. 取类型号; 2. 计算向量地址; 3. 根据向量地址查表,将偏移地址送IP,段基址送CS; 4. 转入中断效劳程序,进展中断处理。 6.2.5 8086CPU 转入中断效劳程序的过程 6.2.6 8086CPU中断响应流程内部中断?NMI?INTR?TF0?执行下条指令完成当前指令IF1?标志进栈保存TF,将IF、TF清0断点地址进栈查中断向量表,转中断效劳程序保护现场中断效劳恢复现场关中断,返回 中断响应流程第一个中断响应周期 AD7 AD0 浮空 第二个响应周期,取中断类型码YYYYNNNNYN内部中断?NMI?INTR?TF0?执行下条指令完成当前指令 I

3、F1?第一个中断响应周期 AD7 AD0 浮空 第二个响应周期,取中断类型码AYYYYYNNNNNY标志进栈保存TF,将IF、TF清0断点地址进栈查中断向量表,转中断服务程序保护现场中断服务恢复现场开中断,返回A 6.3 8259A 可编程中断控制器 在微机系统中,可以使用8259A 扩展外部中断,Intel 8259A 可编程中断控制器,主要有以下功能: 3. 在中断响应周期,8259A 可提供相应的中断类型号。1. 1片8259A 能管理8级中断,通过级联用9片8259A可以构成64 级主从式中断系统。 2. 每一级中断可以屏蔽或允许。4. 可编程使8259A 工作在多种不同的方式。 6.

4、3.1 8259A 的内部构造与引脚信号 控制逻辑中断效劳 存放器 ISR优先权 电路 PR中断请求 存放器 IRR中断屏蔽存放器IMR读写控制 逻辑级联缓冲 比较器数据总线 缓冲器D0D7A0CAS0 CAS1 CAS2INTIR0 IR1 IR7 8259A内部逻辑框图2. 读/写控制逻辑A0:常常与地址信号线A0相连。 8259A的两个端口地址 CPU 通常利用: OUT 指令, IN 指令, 。接高位地址的译码输出:CS有关寄存器的内容。内部配合读出与A8259A0,CSRD8. 级联缓冲/比较器可以实现8259A的级联,扩展外中断。 (1) CAS2、CAS1、CAS0 引脚 主82

5、59A: CAS2CAS0 输出,输出被 响应的从片的标志码。 8259A 从片 A 8259A 主片8259A 从片 B INT CAS0 CAS1 CAS2 IR0INT CAS0 CAS1 CAS2 IR0 INT CAS0 CAS1 CAS2 IR7 IR6 IR3 IR0 SP/EN SP/ENIR7CS A0 INTACS A0 INTACS A0 INTA IR7SP/EN IR7AB CB DBGND GND Vcc 从8259A: CAS2CAS0 输入,接收主片发出的标志码,与自己的标志码比较。若相等,下一个INTA信号到来时,将中断类型号送至数据总线。 从片A标志码:01

6、1,从片B标志码:110(2) SP / EN引脚 当8259A 工作于非缓冲方式 (直接与CPU 的DB 相连) 为输入,是主从芯片定义引脚。 当8259A 工作于缓冲方式 (通过总线缓冲器与 CPU 的DB 相连) EN为输出,用于CPU与8259A传送数据信息时启动数据总线驱动器。 DBDBCPU数据总线驱动器 8259A此时,主从芯片的定义由ICW4中的M/S实现。 6.3.2 8259A 的中断处理过程 下面以8259A单片使用为例,说明其中断处理过程。1、当一条或多条中断请求线IR0 IR7变高时,设置相应的IRR位。2、PR对中断优先权和中断屏蔽存放器的状态进展判断之后,如某中断

7、优先权最高且为允许中断状态,就向CPU发高电平信号INT,请求中断效劳。3、CPU响应中断时,送回应答信号 INTA 。4、8259A接到来自CPU的第一个信号INTA时,当前中断服务寄存器(ISR)中相应位置位,并把IRR中相应位复位。同时,8259A准备向数据总线发送中断类型号。5、在8259A发送中断类型号的后一个INTA 脉冲期间,如果是在AEOI(自动结束中断)方式下,在这个 INTA 脉冲结束时复位ISR的相应位。在非自动中断结束方式下,ISR相应位要由中断服务程序结束时发出的EOI命令来复位。6.3.3 8259A 的工作方式 8259A有多种工作方式,这些工作方式可以通过初始化

8、命令字ICW1ICW4和操作命令字OCW1OCW3来设置。 ICW1:根本方式初始化字1LTIMSNGLIC4D7D6D5D4D3D2D1D0表示可以任意为1为0都可以建议为0 1只能为1,作为标志中断触发方式:LTIM1,电平触发方式LTIM0,边沿触发方式 规定单片或级连方式:SNGL1,单片方式SNGL0,级连方式是否写入ICW4IC41,要写入ICW4IC40,不写入ICW4,即ICW4规定的位全为0 ICW2:中断类型码初始化字T7T6T5T4T3D7D6D5D4D3D2D1D0设置中断向量号T7T3为中断向量号的高5位低3位由8259A自动确定:IR0为000、IR1为001、IR

9、7为111 ICW3:主片/从片初始化字S7 /ID7S6 /ID6S5 /ID5S4 /ID4S3 /ID3S2/ID2S1/ID1S0/ID0D7D6D5D4D3D2D1D0级连命令字主片8259A:Si1对应IRi接有从片;否那么IRi没有连接从片从片8259A:ID0ID2编码说明从片INT引脚接到主片哪个IR引脚 ICW4:方式控制初始化字000SFNMBUFM/SAEOIPMD7D6D5D4D3D2D1D0嵌套方式:特殊全嵌套方式SFNM1普通全嵌套方式SFNM0数据线的缓冲方式:缓冲方式BUF1非缓冲方式BUF0 主片/从片选择:主片M/S=1从片M/S=0中断完毕方式:自动中断

10、完毕AEOI1非自动中断完毕AEOI0微处理器类型:16位80 x86PM18位8080/8085PM0 0CW1:中断屏蔽操作字M7M6M5M4M3M2M1M0D7D6D5D4D3D2D1D0屏蔽命令字内容写入中断屏蔽存放器IMRDiMi对应IRi,为1制止IRi中断;为0允许IRi中断。各位互相独立。 0CW2:优先级循环和中断完毕操作字RSLEOI00L2L1L0D7D6D5D4D3D2D1D0R、SL和EOI配合使用产生中断完毕EOI命令和改变优先权顺序L2L0的3位编码指定IR引脚 有两个作用:(1) 8259A 工作于非自动中断完毕方式时,如何复位ISR 中的对应位?有两种方法:

11、SFNM 一般方法:令SL = 0, EOI =1 将OCW2写入8259A后,将刚刚被效劳的IRi对应位复位。 特殊方法:令 SL = 1, EOI = 1写入OCW2后,使L2L1L0指定的位复位。 L2 L1 L0 0 0 0 0 0 1 1 1 1 D0D1 D7ISR中的DiIR0IR1 IR7对应的IRi(2) 定义8259A 的优先权工作方法 R = 0 固定优先权方式 IR0 IR1 IR7 R = 1, SL = 0 优先权自动循环方式例:IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 初始优先权为: 7 6 5 4 3 2 1 0 若ISR =0 1 0 1

12、 0 0 0 0 则当IR4 服务完毕后,优先权为: 2 1 0 7 6 5 4 3 R = 1, SL = 1 优先权特殊循环方式此时,L2L1L0 规定循环开场时的最低优先权 例:1 1 0 0 1 0 1 IR5优先权最低 此时,优先权为: IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 1 0 7 6 5 4 3 2 0CW3:特殊屏蔽设置和中断完毕操作字0ESMMSMM01PRRRISD7D6D5D4D3D2D1D0ESMM、SMM设置中断屏蔽方式P、RR和RIS规定随后读取的状态字含义(3) 使8259A 和CPU 的通信方式由中断方式 查询方式 某些情况下,当IF

13、设置为0时,用查询方式为中断源效劳。 令OCW3 中的P = 1,写入OCW3后,若之前有IRi有效,8259A 把CPU 的下一个读信号看作 信号,使ISR 中最高优先权的某一位置位,同时送以下数据至DB。MOVAL, OCW3; 其中 P=1OUTINTA0, AL; 发OCW3INAL, INTA0; 读偶地址端口 查询字IW2W1W0D7D6D5D4D3D2D1D0中断位I位为1,有外设请求中断W2W0的编码当前中断请求的最高优先级 8259A 中IRR、ISR 只能读出,不能写入,都对应偶地址端口。此时,可先写入OCW3,OCW3中的RR、RIS 规定从偶地址端口读出的是IRR 或ISR 的值。 MOV AL, OCW3OUT INTA0, ALIN AL, INTA0 ; 若OCW3中 RR RIS 则读出的是 1 1 ISR1 0 IRR6.3.7 8259A 对ICW、OCW的识别 8259A 只占两个端口,但ICW 有4个,OCW有3个。 1. A0 = 0 (偶地址端口) 写入的有:ICW1, OCW2,OCW3(D4=1)用标志位识别2. A0 = 1 (奇地址端口) 写入的有:ICW2 ICW3 ICW4 OCW1按写入顺序识别注意:初始化过程中可能没有ICW3或ICW4,应根据具体情况确定。 6.3.5 8

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论