第6章输入输出4(8259A)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 循环优先级
0指定优先级D2~ D0无效 0自动EOI 1指定D2~ D0有 1非自动EOI
D7 D6 D5 :优先级排队方式
微机原理与接口技术
OCW3——屏蔽方式和读出控制字
微机原理与接口技术
OCW3(续)
查询方式允许8259A不工作于中断方式,而是以查 询方式工作。 • CPU先写一个D2=1的OCW3,再对同一地 址读入,即可得到如下状态字节: I x x x x R2 R1 R0 I=1表示有中断请求,中断请求号为R2-R0 读IRR/ISR:写入此命令后,随后再对同一地址 读,即可得到IRR或ISR的内容。
向量类型
微机原理与接口技术
9.4.3 8259A引脚
CPU侧:
CS;
DB0~DB7; RD、WR、A0; INT、INTA; 外设侧:
IR0~IR7;
级联: SP/EN、 CAS0~CAS2。
8259A的编程结构
总线
微机原理与接口技术
处理部分
0 0 数据线 D0 0 ~ 0 D7 0 A0 0 0 片 0 选 CS ICW1 芯片控制
ICW1~ICW4 向8259A写入ICW的过程称为初始化编程
操作命令字OCW (Operation Command Word)
OCW1~OCW3 向8259A写入OCW的过程称为操作方式编程
初始化流程
微机原理与接口技术 用ICW1设置,是否级连,请求
信号格式,后面是否用ICW4 用ICW2设置中断类型码 是否为级连方 式? 是
ISRi
最低级
IR4的服务结束以前
最高级
最高级
最低级
IR4的服务结束以后
微机原理与接口技术
中断结束处理方式:
8259A工作方式
当某一IRi中断被服务时,ISR中的相应位 ISRi=1。当服务结束后,则必须清零该ISRi位。 使ISRi=0是通过向8259A发出中断结束命令 三种EOI命令 (EOI命令)实现的。 自动EOI(AEOI) 正常EOI方式 特殊EOI方式
微机原理与接口技术
ICW2——中断向量字
向8259A写入ICW1后,应立即向8259A送ICW2
A0 1
D7 T7
D6 T6
D5 T5
D4 T4
D3 T3
D2 x
D1 x
D0 x
T7~T3:中断类型号的高5位 T2~T0:最低3位为中断源的序号IRn 000~111分别对应IR0~IR7 由8259A根据中断源的序号自动填入
ICW1 = 00010010 = 12H ICW2 = 08H OCW1 = 11110000 = 0F0H 中断向量码 中断屏蔽字
微机原理与接口技术
初始化程序如下: INIT8259A: MOV DX,20H ;A0=0,写ICW1 MOV AL,12H ;上升沿触发,单片,不写ICW4 OUT DX,AL MOV DX,21H ;A0=1,写ICW2,OCW1 MOV AL,08H ;ICW2 OUT DX,AL MOV AL,0F0H ;OCW1:屏蔽IR4-IR7 OUT DX,AL
存放中断屏蔽字, 某位=1表示对应 的IRi输入被屏 蔽
微机原理与接口技术
8259A对中断请求的处理过程如下: 9.4.2 8259A内部结构
当某IRi有效时,IRR相应位置1 若有效的IRi未被屏蔽,则向CPU发出中断请求
检测到第1个INTA信号后,置ISRi=1,IRRi=0 检测到第2个INTA信号后,把ISRi=1中最高优 先级的中断类型码放到DB上
微机原理与接口技术 根据PR
8259A内部结构
系统数 据总线 与 8259A 的接口 接收地 连接总 址信号 线与级 和读写 联方式 信号
保存所有正在服 务的中断源,某 位=1表示对应的 IRi中断正在被 服务
确定是否向 请求向CPU CPU发出中断 发INT信号, 确定是否向 请求,中断响 并接受INTA CPU发出中断 应时确定ISR 响应信号 请求,中断响 的哪位应置位 应时确定ISR 及把相应中断 的哪位应置位 的类型码放到 及把相应中断 数据总线上 的类型码放到 数据总线上
微机原理与接口技术
8259A工作方式
中断优先级管理方式:
固定优先级方式 所有中断请求IRi的中断优先级固定不变 加电后8259A的默认方式,默认优先级顺 序从高到低为IR0~IR7
默认优先级 IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 7 6 5 4 3 2 1 0
最低级
最高级
微机原理与接口技术
优先级循环方式 8259A工作方式 中断源轮流处于最高优先级,即自动中断优先 级循环 初始优先级顺序可用编程改变 某中断请求IRi被处理后,其优先级别自动降 为最低,原来比它低一级的中断上升为最高级
IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 0 2 1 1 0 0 0 7 0 6 0 5 0 4 0 3 0 7 1 6 0 5 1 4 0 3 0 2 0 1 0 0
8259A工作方式
微机原理与接口技术
缓冲模式: 非缓冲方式:小系统中,8259A数据线直接连系 统数据总线,不需要总线缓冲器,此时SP/EN表 示级联时主/从关系。 主片:SP/EN接高电平; 从片:SP/EN接低电平。 缓冲方式:大系统中,数据总线都具有总线缓 冲器,此时SP/EN表示数据传送方向,级联时主 /从关系通过软件设定ICW4来决定。
IR0 IR1
IR0
IR1
IR2 IR3
A.
IR2
假定IR3发生中 断,并获得服务
去CPU INT
IR3
INT
IR4 IR5 IR6 IR7 IR4 IR5 IR6
E.
D. 特殊嵌套方式:
IR7
IR4 的 中 断 被 服 务时,只封锁 IR5-IR7。
特殊嵌套方式: 因主片不封锁从片的 INT,故级别高的IR0IR2中断可以得到响应。 ( 但 IR3-IR7 仍 被 本 从 片封锁)
微机原理与接口技术
8259A工作方式
中断请求方式:
边沿触发方式:正跳变向8259A请求中断 电平触发方式:高电平向8259A请求中断,响应 中断后要及时清除高电平。 在第1个INTA结束前,IRi必须保持高电平
屏蔽方式:
正常屏蔽:IMR中相应位置位; 特定屏蔽:开放比自己优先级低的IR。
D0 ~ D7 A0 A5 ~ A9
IOR
ISR 当前 中断 服务 寄存器
译 码
1×
A0 I3 I4 0
1
0 0 0 0 PR 0 优先级 0 裁决器 0 0 A0 1 0 0 1 0 1 0 0 1
IRR 中断 申请 寄存器
IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7
RD WR
ICW2 中断类型号
CS# RD# WR# A0 0 0 0 1 0 0 1 0 0 1 0 1
微机原理与接口技术
8259A编程举例
按以下要求初始化8259A:
接口地址为20H和21H; 中断为上升沿触发;单片8259A;不写ICW4; 与IR0-IR3对应的中断向量码为08H-0BH; IR4-IR7不使用。 根据要求,各初始化参数及工作参数如下:
微机原理与接口技术
8259A工作方式
级联工作方式:
单片8259A可支持8个中断源; 采用多片8259A级连,可最多支持64个中断 源; 级连时只能有一片8259A为主片,其余的均 为从属片;
微机原理与接口技术
8259A的编程
8259A的控制命令分为
初始化命令字ICW(Init Command Word)
微机原理与接口技术
8259A内部寄存器的寻址方法
需要CS#、A0、RD#、WR#和D4、D3的配合
内部寄存器的访问方法如下表:
D4 0 0 1 x x D3 0 1 x x x 读写操作 写OCW2 写OCW3 写ICW1 写ICW2,ICW3,ICW4,OCW1(顺序写入) 读出IRR、ISR 读出IMR
若工作在AEOI方式,在第2个INTA结束时,
使ISRi复位;否则由CPU发出EOI命令使ISRi复位
微机原理与接口技术
中断响应周期时序 第一个
中断响应周期 T1 T2 T3 T4 CLK INTA AD7~AD0 置 ISRi=1,I RRi=0 8259A 将 中断类型 号送至数 据总线上
第二个 中断响应周期 T1 T2 T3 T4
微机原理与接口技术
第6章 可编程中断控制器8259
教学内容 中断的基本概念 8086的中断系统 可编程中断控制器—8259A
微机原理与接口技术
可编程中断控制器8259A
8259A的功能: •对8个中断源实现优先级控制 •扩展至对64个中断源实现优先级控制
•可编程设置不同工作方式
•根据中断源向x86提供不同中断类型码
微机原理与接口技术
8259A在PC/AT中的应用
微机原理与接口技术
例: PC/AT中对8259A的设置
微机原理与接口技术
ICW3——级连控制字
Si=1 对应IRi线上连接了从片
ID2~ID0标识码,说明本从 片连接到主片的哪个IR引脚
微机原理与接口技术
例:多片8259A级连时的ICW3的 用法
主片:OUT 21H,01001000B (48H)
从片1:OUT 21H,03H 从片2:OUT 21H,06H
否
是 设ICW3的各位对应
本片为主片吗? 否 设置ICW3的低三位为从控标志码 需要用ICW4 吗? 是 否
IR0~IR7的连接情况
用ICW4设置,是否为特定固定优先级方式;缓冲
方式;自动结束中断方式;8086/8088系统
OCWn
微机原理与接口技术
ICW1——初始化字
初始化8259A必须从ICW1开始
微机原理与接口技术
8259A工作方式
AEOI:在第2个INTA#结束时,由8259A使ISRi 自动复位; 正常EOI方式:由CPU发出正常EOI命令,该EOI 命令使ISRi=1的位中优先级最高的那一位复位。 特殊EOI方式:由CPU发出一条SEOI命令,该 EOI命令中指出了所要复位的ISR的位号。
一中断正被处理时,允许同级或更高优先级的事 件打断当前的中断处理过程而被服务。 特殊全嵌套方式
一般全嵌套方式与特殊全嵌套 B. C. 方式的区别
一般嵌套方式: IR4的中断被服务 时,这些中断将 被封锁。
微机原理与接口技术
主8259A
从8259A
一般嵌套方式: 从片的INT被主片封锁, 故更高级别的IR0-IR2 中断也无法得到响应
OCW1 中断屏蔽寄存器 IMR
0 0
0
SP/EN
IOW
INTA INTR
ICW3 主从片连接关系
OCW2 优先级设置、发EOI
INTA
CA0 CA1 CA2
1
ICW4 方式控制
0 1
0
INT
VCC
GND
OCW3特殊屏蔽,查询方式设置
1
控制部分
微机原理与接口技术
8259A工作方式
中断嵌套方式: 在中断处理过程中允许被更高优先级的事 件所中断称为中断嵌套。 一中断正被处理时,只有更高优先级的事 件可以打断当前的中断处理过程而被服务。 完全全嵌套方式
OCW1——中断屏蔽字
Mi =1中断请求线IRi被屏蔽 OCW1将写入IMR寄存器。
A0=1时读OCW1可读出设置的IMR内容。
微机原理与接口技术
OCW2——中断结束和优先级循环
微机原理与接口技术
OCW2——EOI命令
D4D3 =00特征位 D7
D2~ D0中断源编码 D6 D5
0 固定优先级
微机原理与接口技术
ICW4——中断方式字
微机原理与接口技术
OCW用于设置8259的工作状态 8259A的操作命令字OCW 在初始化后写入 OCW的写入顺序可任意 写入地址要求:
OCW1必须写入奇地址端口(A0=1) OCW2,OCW3必须写入偶地址端口(A0=0)
பைடு நூலகம்
微机原理与接口技术
0指定优先级D2~ D0无效 0自动EOI 1指定D2~ D0有 1非自动EOI
D7 D6 D5 :优先级排队方式
微机原理与接口技术
OCW3——屏蔽方式和读出控制字
微机原理与接口技术
OCW3(续)
查询方式允许8259A不工作于中断方式,而是以查 询方式工作。 • CPU先写一个D2=1的OCW3,再对同一地 址读入,即可得到如下状态字节: I x x x x R2 R1 R0 I=1表示有中断请求,中断请求号为R2-R0 读IRR/ISR:写入此命令后,随后再对同一地址 读,即可得到IRR或ISR的内容。
向量类型
微机原理与接口技术
9.4.3 8259A引脚
CPU侧:
CS;
DB0~DB7; RD、WR、A0; INT、INTA; 外设侧:
IR0~IR7;
级联: SP/EN、 CAS0~CAS2。
8259A的编程结构
总线
微机原理与接口技术
处理部分
0 0 数据线 D0 0 ~ 0 D7 0 A0 0 0 片 0 选 CS ICW1 芯片控制
ICW1~ICW4 向8259A写入ICW的过程称为初始化编程
操作命令字OCW (Operation Command Word)
OCW1~OCW3 向8259A写入OCW的过程称为操作方式编程
初始化流程
微机原理与接口技术 用ICW1设置,是否级连,请求
信号格式,后面是否用ICW4 用ICW2设置中断类型码 是否为级连方 式? 是
ISRi
最低级
IR4的服务结束以前
最高级
最高级
最低级
IR4的服务结束以后
微机原理与接口技术
中断结束处理方式:
8259A工作方式
当某一IRi中断被服务时,ISR中的相应位 ISRi=1。当服务结束后,则必须清零该ISRi位。 使ISRi=0是通过向8259A发出中断结束命令 三种EOI命令 (EOI命令)实现的。 自动EOI(AEOI) 正常EOI方式 特殊EOI方式
微机原理与接口技术
ICW2——中断向量字
向8259A写入ICW1后,应立即向8259A送ICW2
A0 1
D7 T7
D6 T6
D5 T5
D4 T4
D3 T3
D2 x
D1 x
D0 x
T7~T3:中断类型号的高5位 T2~T0:最低3位为中断源的序号IRn 000~111分别对应IR0~IR7 由8259A根据中断源的序号自动填入
ICW1 = 00010010 = 12H ICW2 = 08H OCW1 = 11110000 = 0F0H 中断向量码 中断屏蔽字
微机原理与接口技术
初始化程序如下: INIT8259A: MOV DX,20H ;A0=0,写ICW1 MOV AL,12H ;上升沿触发,单片,不写ICW4 OUT DX,AL MOV DX,21H ;A0=1,写ICW2,OCW1 MOV AL,08H ;ICW2 OUT DX,AL MOV AL,0F0H ;OCW1:屏蔽IR4-IR7 OUT DX,AL
存放中断屏蔽字, 某位=1表示对应 的IRi输入被屏 蔽
微机原理与接口技术
8259A对中断请求的处理过程如下: 9.4.2 8259A内部结构
当某IRi有效时,IRR相应位置1 若有效的IRi未被屏蔽,则向CPU发出中断请求
检测到第1个INTA信号后,置ISRi=1,IRRi=0 检测到第2个INTA信号后,把ISRi=1中最高优 先级的中断类型码放到DB上
微机原理与接口技术 根据PR
8259A内部结构
系统数 据总线 与 8259A 的接口 接收地 连接总 址信号 线与级 和读写 联方式 信号
保存所有正在服 务的中断源,某 位=1表示对应的 IRi中断正在被 服务
确定是否向 请求向CPU CPU发出中断 发INT信号, 确定是否向 请求,中断响 并接受INTA CPU发出中断 应时确定ISR 响应信号 请求,中断响 的哪位应置位 应时确定ISR 及把相应中断 的哪位应置位 的类型码放到 及把相应中断 数据总线上 的类型码放到 数据总线上
微机原理与接口技术
8259A工作方式
中断优先级管理方式:
固定优先级方式 所有中断请求IRi的中断优先级固定不变 加电后8259A的默认方式,默认优先级顺 序从高到低为IR0~IR7
默认优先级 IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 7 6 5 4 3 2 1 0
最低级
最高级
微机原理与接口技术
优先级循环方式 8259A工作方式 中断源轮流处于最高优先级,即自动中断优先 级循环 初始优先级顺序可用编程改变 某中断请求IRi被处理后,其优先级别自动降 为最低,原来比它低一级的中断上升为最高级
IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 0 2 1 1 0 0 0 7 0 6 0 5 0 4 0 3 0 7 1 6 0 5 1 4 0 3 0 2 0 1 0 0
8259A工作方式
微机原理与接口技术
缓冲模式: 非缓冲方式:小系统中,8259A数据线直接连系 统数据总线,不需要总线缓冲器,此时SP/EN表 示级联时主/从关系。 主片:SP/EN接高电平; 从片:SP/EN接低电平。 缓冲方式:大系统中,数据总线都具有总线缓 冲器,此时SP/EN表示数据传送方向,级联时主 /从关系通过软件设定ICW4来决定。
IR0 IR1
IR0
IR1
IR2 IR3
A.
IR2
假定IR3发生中 断,并获得服务
去CPU INT
IR3
INT
IR4 IR5 IR6 IR7 IR4 IR5 IR6
E.
D. 特殊嵌套方式:
IR7
IR4 的 中 断 被 服 务时,只封锁 IR5-IR7。
特殊嵌套方式: 因主片不封锁从片的 INT,故级别高的IR0IR2中断可以得到响应。 ( 但 IR3-IR7 仍 被 本 从 片封锁)
微机原理与接口技术
8259A工作方式
中断请求方式:
边沿触发方式:正跳变向8259A请求中断 电平触发方式:高电平向8259A请求中断,响应 中断后要及时清除高电平。 在第1个INTA结束前,IRi必须保持高电平
屏蔽方式:
正常屏蔽:IMR中相应位置位; 特定屏蔽:开放比自己优先级低的IR。
D0 ~ D7 A0 A5 ~ A9
IOR
ISR 当前 中断 服务 寄存器
译 码
1×
A0 I3 I4 0
1
0 0 0 0 PR 0 优先级 0 裁决器 0 0 A0 1 0 0 1 0 1 0 0 1
IRR 中断 申请 寄存器
IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7
RD WR
ICW2 中断类型号
CS# RD# WR# A0 0 0 0 1 0 0 1 0 0 1 0 1
微机原理与接口技术
8259A编程举例
按以下要求初始化8259A:
接口地址为20H和21H; 中断为上升沿触发;单片8259A;不写ICW4; 与IR0-IR3对应的中断向量码为08H-0BH; IR4-IR7不使用。 根据要求,各初始化参数及工作参数如下:
微机原理与接口技术
8259A工作方式
级联工作方式:
单片8259A可支持8个中断源; 采用多片8259A级连,可最多支持64个中断 源; 级连时只能有一片8259A为主片,其余的均 为从属片;
微机原理与接口技术
8259A的编程
8259A的控制命令分为
初始化命令字ICW(Init Command Word)
微机原理与接口技术
8259A内部寄存器的寻址方法
需要CS#、A0、RD#、WR#和D4、D3的配合
内部寄存器的访问方法如下表:
D4 0 0 1 x x D3 0 1 x x x 读写操作 写OCW2 写OCW3 写ICW1 写ICW2,ICW3,ICW4,OCW1(顺序写入) 读出IRR、ISR 读出IMR
若工作在AEOI方式,在第2个INTA结束时,
使ISRi复位;否则由CPU发出EOI命令使ISRi复位
微机原理与接口技术
中断响应周期时序 第一个
中断响应周期 T1 T2 T3 T4 CLK INTA AD7~AD0 置 ISRi=1,I RRi=0 8259A 将 中断类型 号送至数 据总线上
第二个 中断响应周期 T1 T2 T3 T4
微机原理与接口技术
第6章 可编程中断控制器8259
教学内容 中断的基本概念 8086的中断系统 可编程中断控制器—8259A
微机原理与接口技术
可编程中断控制器8259A
8259A的功能: •对8个中断源实现优先级控制 •扩展至对64个中断源实现优先级控制
•可编程设置不同工作方式
•根据中断源向x86提供不同中断类型码
微机原理与接口技术
8259A在PC/AT中的应用
微机原理与接口技术
例: PC/AT中对8259A的设置
微机原理与接口技术
ICW3——级连控制字
Si=1 对应IRi线上连接了从片
ID2~ID0标识码,说明本从 片连接到主片的哪个IR引脚
微机原理与接口技术
例:多片8259A级连时的ICW3的 用法
主片:OUT 21H,01001000B (48H)
从片1:OUT 21H,03H 从片2:OUT 21H,06H
否
是 设ICW3的各位对应
本片为主片吗? 否 设置ICW3的低三位为从控标志码 需要用ICW4 吗? 是 否
IR0~IR7的连接情况
用ICW4设置,是否为特定固定优先级方式;缓冲
方式;自动结束中断方式;8086/8088系统
OCWn
微机原理与接口技术
ICW1——初始化字
初始化8259A必须从ICW1开始
微机原理与接口技术
8259A工作方式
AEOI:在第2个INTA#结束时,由8259A使ISRi 自动复位; 正常EOI方式:由CPU发出正常EOI命令,该EOI 命令使ISRi=1的位中优先级最高的那一位复位。 特殊EOI方式:由CPU发出一条SEOI命令,该 EOI命令中指出了所要复位的ISR的位号。
一中断正被处理时,允许同级或更高优先级的事 件打断当前的中断处理过程而被服务。 特殊全嵌套方式
一般全嵌套方式与特殊全嵌套 B. C. 方式的区别
一般嵌套方式: IR4的中断被服务 时,这些中断将 被封锁。
微机原理与接口技术
主8259A
从8259A
一般嵌套方式: 从片的INT被主片封锁, 故更高级别的IR0-IR2 中断也无法得到响应
OCW1 中断屏蔽寄存器 IMR
0 0
0
SP/EN
IOW
INTA INTR
ICW3 主从片连接关系
OCW2 优先级设置、发EOI
INTA
CA0 CA1 CA2
1
ICW4 方式控制
0 1
0
INT
VCC
GND
OCW3特殊屏蔽,查询方式设置
1
控制部分
微机原理与接口技术
8259A工作方式
中断嵌套方式: 在中断处理过程中允许被更高优先级的事 件所中断称为中断嵌套。 一中断正被处理时,只有更高优先级的事 件可以打断当前的中断处理过程而被服务。 完全全嵌套方式
OCW1——中断屏蔽字
Mi =1中断请求线IRi被屏蔽 OCW1将写入IMR寄存器。
A0=1时读OCW1可读出设置的IMR内容。
微机原理与接口技术
OCW2——中断结束和优先级循环
微机原理与接口技术
OCW2——EOI命令
D4D3 =00特征位 D7
D2~ D0中断源编码 D6 D5
0 固定优先级
微机原理与接口技术
ICW4——中断方式字
微机原理与接口技术
OCW用于设置8259的工作状态 8259A的操作命令字OCW 在初始化后写入 OCW的写入顺序可任意 写入地址要求:
OCW1必须写入奇地址端口(A0=1) OCW2,OCW3必须写入偶地址端口(A0=0)
பைடு நூலகம்
微机原理与接口技术