微机原理9.
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8
9.1.2 8259A芯片的工作方式
中断触发方式 边沿触发方式 电平触发方式 完全嵌套方式 设置优先权方式 自动循环方式 中断屏蔽方式
自动中断结束方式
结束中断处理方式 屏蔽中断源方式 普通中断结束方式 非自动中断结束方式 特殊中断结束方式 普通屏蔽方式 特殊屏蔽方式 缓冲方式 非缓冲方式
9
数据线连接方式
2019/2/25
23
ICW4对于8086/8088系统是必须设置的预置命令字, 其具体格式如图所示
2019/2/25
24
2. 操作命令字
8259A经ICWi预置后已进入初始化状态,可接收来自IRi端 的中断请求。自动进入操作命令状态,准备接收CPU写入 8259A的操作命令字OCWi。 OCW1 用来实现中断屏蔽功能,其端口地址为奇地址(A0=1), OCW1内容被直接置入中断屏蔽寄存器IMR中,格式如下: A0 7 0 1 M7 M6 M5 M4 M3 M2 M1 M0 Mi= 1:屏蔽由IRi引入的中断请求 0:允许IRi端中断请求进入
;写入ICW4 ;0000 0001 ;与8086连接、非缓冲、非自动EOI
31
2019/2/25
初始化从片8259A
mov al,11h out 0a0h,al mov al,70h out 0a1h,al mov al,02h out 0a1h,al mov al, 01h out 0a1h,al ;写入ICW1 ;写入ICW2 ;写入ICW3 ;写入ICW4
INTA
控制逻辑
D7~D0 数据 总线 缓冲器 读 /写 控制 逻辑 级联 缓冲器 比较器
2019/2/25
INT 中 断 请 求 寄 存 器
RD WR A0 CS CAS0 CSA1 CAS2 SP/EN
中 断 服 务 寄 存 器
优 先 权 判 别 电 路
IR0
IR7
中断屏蔽寄存器
7
2019/2/25
29
2019/2/25
1. 初始化命令字ICW
初始化命令字ICW最多有4个 8259A在开始工作前必须写入 必须按照ICW1~ICW4顺序写入 ICW1和ICW2是必须送的 ICW3和ICW4由工作方式决定
2019/2/25
30
初始化主片8259A
mov al,11h out 20h,al ;写入ICW1 ;偶地址,0001 0001
intel8259a是可编程中断控制器pic可用于管理可屏蔽中断201612229118259a芯片内部结构intaint中断屏蔽寄存器数据总线缓冲器ir0ir7控制逻辑级联缓冲器比较器rdwrcscas0csa1cas2spen控制逻辑201612229128259a芯片的工作方式设置优先权方式普通中断结束方式特殊中断结束方式自动中断结束方式非自动中断结束方式结束中断处理方式屏蔽中断源方式普通屏蔽方式特殊屏蔽方式中断触发方式边沿触发方式电平触发方式数据线连接方式缓冲方式非缓冲方式完全嵌套方式自动循环方式中断屏蔽方式2016122210中断触发方式边沿触发方式8259a将中断请求输入端出现的上升沿作为中断请求信号不管是采用什么方式引入的中断在中断响应周期内第2个inta信号有效期间8259a应将当前被响应的中断类型码n通过数据总线d7d0传送给cpu
3
2019/2/25
本章 主要外语词汇
ICW:Interrupt Control Word,中断控制字
IOW:Interrupt Operation Word,中断操作字 ISR:Interrupt Service Register,中断服务寄存器
IMR:Interrupt Mask Register,中断屏蔽寄存器
2019/2/25 18
9.1.4
8259A芯片的控制字及其工作方式
8259A的初始化操作可分成两个部分:
通过预置命令字(ICWi)对8259A进行初始化,
通过操作命令字(OCWi)来定义8259A的操作方式
在8259A的操作过程中允许重置操作命令字,以动态 地改变8259A的操作与控制方式。
8259A的中断优先权顺序固定不变,从高到低依次为IR0、 IR1、IR2、……IR7 中断请求后,8259A对当前请求中断中优先权最高的中 断IRi予以响应,将其向量号送上数据总线,对应ISR 的Di位置位,直到中断结束(ISR的Di位复位) 在ISR的Di位置位期间,禁止再发生同级和低级优先 权的中断,但允许高级优先权中断的嵌套
8259A可采用优先权级别固定分配和循环设置两种方式。
8259A中对中断优先权的管理,可概括为完全嵌套方式、自 动循环方式和中断屏蔽方式。
2019/2/25
12
完全嵌套方式
完全嵌套方式是8259A被初始化后自动进入的基本工作 方式,在这种方式下,由各个IRi端引入的中断请求具有 固定的中断级别。IR0具有最高优先级,IR7具有最低优 先级,其他级顺序类推。
结束给8259A发出EOI命令的同时,将当前结束的中断级别也 传送给8259A。
这种情况下,8259A将ISR寄存器中指定级别的相应位清 “0”,显然这种结束方式可在任何情况下使用。 自动EOI方式: 任何一级中断被响应后,ISR寄存器中相应位 置“1”,CPU将进入中断响应总线周期,在第2个中断响应信 号(INTA)结束时,自动将ISR寄存器中相应位清“0”。
2019/2/25
28
7.3.4 8259A的编程
初始化编程
8259A开始工作前,必须进行初始化编程 给8259A写入初始化命令字ICW
中断操作编程
在8259A工作期间 可以写入操作命令字OCW将选定的操作传送 给8259A,使之按新的要求工作 还可以读取8259A的信息,以便了解他的工 作状态
Intel 8259A是可编程中断控制器PIC 可用于管理可屏蔽中断
8259A的基本功能
一片8259A可以管理8级中断,可扩展至64级 每一级中断都可单独被屏蔽或允许 在中断响应周期,可提供相应的中断向量号 8259A设计有多种工作方式,可通过编程选择
2019/2/25
6
9.1.1 8259A芯片内部结构
2019/2/25 10
8259A中断类型码的形成
由一片8259A引入的8级中断请求的类型码肯定是 连续的。 中断类型码在对8259A初始化时写入的相应控制字 来确定。
2019/2/25
Байду номын сангаас
11
2. 设置优先权方式
8259A具有非常灵活的中断管理方式,可满足使用者 的各种不同要求。中断优先权管理是中断管理的核心 问题。
2019/2/25
14
自动循环方式
自动循环方式下,每当任何一级中断被处理完,它的优先级别就被改变 为最低级,而将最高优先级赋给原来比它低一级的中断请求。
实现自动循环方式有下面3种不同的做法:
普通EOI循环方式 当任何一级中断被处理完后,CPU给8259A回送普通EOI命令,8259A接 收到这一命令后将ISR寄存器中优先级最高的置“1”位清“0”,并赋给 它最低优先级,而将最高优先级赋给原来比它低一级的中断请求,其他 中断请求的优先级别以循环方式类推。 自动EOI循环方式 任何一级中断响应后,在中断响应总线周期中,由第2个中断响应信号 INTA 的后沿自动将ISR寄存器中相应位清“0”,并立即改变各级中断的 优先级别,改变方案与上述普通EOI循环方式相同。 特殊EOI循环方式 可根据用户要求将最低优先级赋给指定的中断源。用户可在主程序或中 断服务程序中利用置位优先权命 令把最低优先级赋给某一中断源IRi, 于是最高优先级便赋给IRi+1,其他各级按循环方式类推。
2019/2/25
25
OCW2 用来定义中断结束方式,其端口地址为偶地址(A0=0),其 格式如图所示。
2019/2/25
26
OCW3 端口地址仍为偶地址(A0=0),D4D3(=01)作为OCW3的 标志位可与OCW2区别开,其格式如图所示。
2019/2/25
27
上述操作控制字OCW1~OCW3可安排在预置命令字之后, 用户可根据需要在程序的任何位置上设置它们。 当需要读取ISR或IRR寄存器内容或需要查询当前8259A的 中断状态时,都必须先定义OCW3,然后用IN指令读入。 如果只需要读入IMR寄存器内容,则不需要定义OCW3。 并不是任何时候都需要设置OCW3操作命令字。
将IMR的Di位置1,对应的中断IRi被屏蔽的同时,使 ISR的Di位置0
特殊屏蔽方式
2019/2/25
16
9.1.3 8259A芯片的级联使用
一片8259A芯片只能管理8级中断,在多于8级中断的系统 中,必须将多片8259A级联使用。
2019/2/25
17
第1个INTA有效时,主8259A将 级联地址从CAS2~CAS0 3端输 出给所有的从8259A芯片 到第2个INTA有效时,与主 8259A发出的级联地址相符的从 8259A将向CPU送出当前的中断 类型码n 当从8259A引入的中断处理过程 结束时,CPU需送出两个EOI结 束命令,一个送给主8259A,用 来将主8259A中的ISR寄存器的 相应位清“0”;另一个送给从 8259A,用来将从8259A中的 ISR寄存器相应位清“0”,才标 志一次中断处理过程的结束。
写ICW2
是 SNGL=1 否 写ICW3 IC4=1 是 写ICW4
A0=1
按顺序对A0=1 端口写入命令 字
A0=1
否
A0=1
20
2019/2/25
ICW1和ICW2是必须的,ICW3是级联使用时才需要设置, ICW4是在8086/8088-8259A配置系统中需要设置。 ICW1具体格式
2019/2/25 13
完全嵌套方式下的中断结束方式
普通EOI方式: 当任何一级中断服务程序结束时,只给8259A传 送一个EOI结束命令,8259A收到这个EOI命令后,自动将ISR寄 存器中级别最高的置“1”位清“0”。 只有当前结束的中断总是尚未处理完的级别最高的中断时, 才能使用这种结束方式 特殊EOI方式: 在普通EOI方式的基础上,当中断服务程序
IRR:Interrupt Request Register,中断请求寄存器
2019/2/25
4
主要内容
可编程中断控制器8259A 中断处理程序的编制 可编程计数/定时控制器8253
2019/2/25
5
9.1 可编程中断控制器8259A
中断系统可解决当前高速运算CPU与低速外部设备信息交换 之间的矛盾。
2019/2/25
1. 中断触发方式
边沿触发方式
8259A将中断请求输入端 出现的上升沿作为中断请 求信号
电平触发方式
中断请求端出现的高电平是有效的 中断请求信号
不管是采用什么方式引入的中断,在中断响应周期内第2 个INTA信号有效期间8259A应将当前被响应的中断类型 码n通过数据总线D7~D0传送给CPU。
每片8259A包含两个内部端口地址,一个偶地址端口(A0=0), 一个奇地址端口(A0=1),其他高位地址码由用户定义,用 来作为8259A的片选信号(CS)。
2019/2/25
19
1. 预置命令字
8259A的预置命令字共4个(ICW1~ICW4),可根据 8259A的使用情况来选取,设置流程如图所示。 写ICW1 A0=0,D4=1
;边沿触发、级联使用、有ICW4
mov al,08h out 21h,al mov al,04h out 21h,al
mov al,1h out 21h,al
;写入ICW2 ;奇地址,0000 1000 ;类型码高五位为= 00001 ;写入ICW3 ;0000 0100
;在主8259A的IR2上接有从片8259A
2
本章 学习要求
1.掌握
可编程定时/计数器芯片(8253)的结构及编程应用技术; 8259的内部结构; 8259和8253的初始化; 8253的内部结构
2.理解
初始化编程命令和工作方式命令;
8259A级联方式
3.了解
中断控制器8259A在微机系统中的作用;
8259A的工作方式;
第9章 中断控制器、计数/定时 控制器及DMA控制器
2019/2/25
1
本章教学目的
理解中断系统的功能与执行过程,掌握可编程控 制器的结构、原理和应用, 8253 定时器 / 计数器 也是计算机重要的接口芯片,通过本章的学习理 解计数与定时的概念,以及怎样通过定时芯片实 现定时与计数过程。
2019/2/25
2019/2/25
21
ICW2具体格式
紧跟在ICW1之后,端口地址为奇地址(A0=1)表示当前写入 8259A的是预置命令字ICW2,由它定义中断类型码的高5 位。低3位取决于当前的中断请求是由IR7~IR0中哪一个端 输入。由此可确定当前中断请求的中断类型码。
2019/2/25
22
ICW3只对级联方式有效,端口地址为奇地址。对于主 8259A,使用格式如图 (a)所示,对于从8259A的使用 格式如图 (b)所示。 ID2~ID0用来表明该从8259A是接 在主8259A的哪个IR端上
2019/2/25
15
中断屏蔽方式
CPU在任何时候都可安排一条清除中断标志指令(CLI), 将中断标志位清“0”,从此以后,CPU将禁止所有的由 INTR端引入的可屏蔽中断请求。
普通屏蔽方式
将IMR的Di位置1,则对应的中断IRi被屏蔽,该中断 请求不能从8259A送到CPU 如果IMR的Di位置0,则允许IRi中断产生