可编程中断控制器.ppt

上传人:小飞机 文档编号:5248937 上传时间:2023-06-18 格式:PPT 页数:37 大小:287KB
返回 下载 相关 举报
可编程中断控制器.ppt_第1页
第1页 / 共37页
可编程中断控制器.ppt_第2页
第2页 / 共37页
可编程中断控制器.ppt_第3页
第3页 / 共37页
可编程中断控制器.ppt_第4页
第4页 / 共37页
可编程中断控制器.ppt_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《可编程中断控制器.ppt》由会员分享,可在线阅读,更多相关《可编程中断控制器.ppt(37页珍藏版)》请在三一办公上搜索。

1、可编程中断控制器8259A,第七章,中断系统是冯诺.依曼结构计算机的一项重要技术,尤其为解决当前高速运算CPU与低速外部设备信息交换之间的矛盾。8086系列有功能很强的中断系统,它可通过8259A可编程中断控制器来实现。中断控制器的功能是在有多个中断源系统中,协助CPU实现对外部中断的管理,对它们进行优先级排队后向CPU发出中断请求信号。8259A是可编程的8输入端中断控制器,其功能很强,也很灵活,但使用时比较复杂。,概 述,Intel8259A芯片有以下特点:单片8259A能管理8级中断。若采用级联工作方式,可以用9片8259A构成64级主从式中断系统。具有中断判优逻辑功能,且对每一级中断都

2、可以屏蔽或允许。中断响应后,能将预置的中断类型码自动提供给CPU。8259A可以通过编程工作在多种不同的方式,从而能方便的满足多种类型微机中断系统的需要。,1.8259A的内部结构和引脚功能,A0:地址码,选择内部控制寄存器,A0=0:选择内部偶地址,A0=1:选择内部奇地址,级联缓冲器:多8259A系统,也称缓冲方式。该缓冲器用来选通某个8259A与DB连接。,中断请求触发器(IRR)8位寄存器,接收8个中断源的中断申请信号,并且保持在这!若该中断源未被屏蔽,则进入排队电路。,中断服务寄存器(ISR)记录优选后的中断申请标志(正在执行的中断服务程序其ISR相应位置1),后来的中断申请在优先排

3、队电路的控制下与当前正在执行的中断过程进行优先级排队,以决定是否实现中断嵌套。,中断屏蔽寄存器IMR 由CPU设置,以决定某个中断源是否被屏蔽,当该寄存器中某一位置“1”时,表示禁止该中断请求进入系统。通过IMR寄存器可实现对各级中断的有选择的屏蔽。,2.8259A的工作原理,8259A接收外部中断,IRR有8位,对IR0IR7,IRR接收来自某一引脚的中断请求后,对应位置1,锁存请求。逻辑电路根据IMR中的对应位是否屏蔽决定是否让其进入优先级排队电路。,ISR寄存器存放的是当前进行的中断服务的标志,如果新来的优先级足够高,则8259A会通过逻辑电路使输出端INT向CPU发中断请求。此时若IF

4、=1,则CPU在执行完当前指令后,就可以响应中断。,对8086CPU而言,响应中断申请后,向8259A回送两个负脉冲INTA。,第一个INTA到达时,8259A做3件事:IRR锁存功能失效,不接受任何申请;使ISR相应位置位,提供判优依据;使IRR清零。,第二个INTA到达时,8259A做三件事:恢复IRR功能;将中断类型号送上数据总线的D7D0,传给CPU;如果方式控制字(ICW4),自动中断结束位为1,那么在第二个脉冲结束时,8259A会将第一个INTA脉冲到来时设置的ISR清0。,每一个中断源都有一个中断矢量号(设备号)。8259A中断类型码的确定,0 0 0 IR00 0 1 IR10

5、 1 0 IR20 1 1 IR31 0 0 IR41 0 1 IR51 1 0 IR61 1 1 IR7,3.中断矢量号的设置,8259A具有非常灵活的中断管理方式,可满足使用者的不同要求,而中断优先级是中断管理的核心问题。中断优先级确定后,一般的处理原则:高级中断打断低级中断而被优先处理,禁止低级打断高级或同级中断相互打断。,4.8259A的优先级管理方式,完全嵌套方式自动嵌套方式中断屏蔽方式特殊完全嵌套,在中断嵌套的过程中,CPU每响应一次中断进入中断服务程序后,执行一条STI指令,将IF置“1”,否则高级中断将无法进入系统。任何一级中断处理完毕,CPU应向8259A回送EOI结束命令,

6、以便8259A将ISR寄存器中的相应位清“0”,标志本级中断结束。,普通结束方式,特殊结束方式,自动结束方式,普通结束方式 在服务程序结束之前,执行一段中断结束程序,但是要求当前结束的中断服务应是最高级的,并且清ISR的相应位。如果在中断服务程序中,曾经修改过中断级别,则决不能采用这种方式。,特殊结束方式 与普通方式类似,只是CPU执行中断结束程序时,同时将该中断的中断优先级回送给8259A。,自动结束方式(AEOI)特点:中断服务程序中不用程序结束,只要执行IRET 指令即可,CPU响应中断时就将对应的ISR清“0”。缺点:任何一级中断在执行中断服务程序期间,在 8259中没有任何标记,如果

7、出现了新的中断不 管级别高低,只要 IF=1,就能响应,出现嵌套 混乱!,自动循环方式 在基本方式中,各优先级是固定的,IR0IR7,在特殊方式中,可以用指令去改变它们的优先级顺序。自动循环方式是改变中断请求优先级的别的策略之一。,普通EOI循环方式自动EOI循环方式特殊EOI循环方式,基本思想:任何一级中断处理完,它的优先级别就被改变为最低级,而将最高级赋给原来比他们低一级的中断请求。,普通EOI循环方式 当任何一级中断被处理完后,CPU给8259A回送普通EOI命令,8259A接收到这一命令后,将ISR寄存器中优先级最高的位清“0”,并赋给它最低优先级,而将最高级赋给它的下一级。,自动EO

8、I循环方式 任何一级中断响应后,在中断响应总线周期中,由第二个中断响应信号INTA的后沿自动将ISR寄存器中相应位清“0”,并立即改变各级中断的优先级别。(重复嵌套!),特殊EOI循环方式 利用置位优先权指令对任何一个中断源(IRi)设置为最低级别,那么IRi+1应该是最高级别,其它各级按循环方式类推。,使用置位优先权指令后,正在处理的中断不一定在尚未处理完的中断中具有最高优先级,在该方式下只能是特殊EOI方式。,中断屏蔽方式 CPU可以利用CLI指令,将IF清“0”,禁止一切可屏蔽中断。8259A可以有选择的屏蔽,可以响应任何级别的中断,也可以屏蔽任何级别的中断。,普通屏蔽方式,特殊屏蔽方式

9、,普通屏蔽方式 将IMR中的1位或某几位置“1”,就可屏蔽中断请求。,特殊屏蔽方式 当CPU正在处理某级中断时,要求对本级中断进行屏蔽,而允许优先级比他高或低的中断进入系统,可利用控制寄存器的SMM位置位,使8259A进入这种特殊的屏蔽方式。,特殊完全嵌套方式 级联方式下有效。采用特殊全嵌套方式的中断级联系统中,任何一个从8259A接收到中断请求经判优后,确定为最高优先级,CPU应该响应这一中断请求,从8259A的INT向主8259A相应IRi提出请求,如果这时主8259A的ISR相应位已经为“1”,说明当前在同一个从8259A中接收到了比原先优先级更高的中断请求。主8259A允许他进入,只要

10、它是当前主8259A中断请求最高位,就应通过主8259A的INT向CPU发请求,CPU将中断原来的程序去执行它,以保证任一从8259A控制器实现完全嵌套方式正常操作。,可编程中断控制器8259A的初始化操作可明确分成两个部分,首先预置命令字ICWi对8259A初始化,然后8259A将自动进入操作模式,用8259A的操作命令字OCWi来定义8259A的操作方式,而且在8259A的操作过程中,允许重置操作命令字,以动态的改变8259A的操作和控制方式。每片包含两个内部端口地址,一个偶地址端口(A0=0),一个奇地址端口(A0=1),其它高位地址码由用户定义,用来做8259A的片选信号(CS),5.

11、8259A芯片的控制字及工作方式,ICW1和ICW2是必需的ICW3是级联式才需要设置,ICW4是8086/8088系统中必需的。,ICW1 芯片初始化命令字 标记:A0=0,D4=1,ICW2 设置中断类型码初始化命令字,紧跟在ICW1之后,定义中断类型码的高5位,低3位由IRi确定。标记:A0=1,ICW3 级联方式初始化字,紧跟在ICW2之后,标记:A0=1,主8259A(SP=1),例:ICW3=F0H,IR7 IR4 联接有从8259,而 IR3 IR0不联接从8259,可以接外设中断源。,ICW4 对于8086/8088系统是必须设置的预置命令字。方式控制初始化命令字,写ICW4的

12、标记为A0=1。,所谓缓冲方式,是指在多片8259A级联的大系统中8259A通过总线驱动器和数据总线相连的一种方式,在此方式下,将8259A的SP/EN端和总线驱动器的允许端相连,利用从SP/EN端输出的低电平,可以作为总线驱动器的启动信号。,当8259A经预置ICWi后,已进入初始状态,便可接受来自IRi端的中断请求,然后自动进入操作命令字状态,准备接受由CPU写入8259A的操作命令字OCWi。8259A有3个操作命令字,即OCW1OCW3,操作命令字是在应用程序中设置的,对OCWi的操作,次序上没有严格的要求,但是对端口地址有严格的规定即OCW1必须写入奇地址端口,OCW2和OCW3必须

13、写入偶地址端口。,OCW1,中断屏蔽操作命令字,标记:A0=1。,OCW2 设置优先级循环方式和中断结束方式的操作命令字,标记:A0=0,D3=D4=0。,001-普通EOI方式011-特殊EOI方式(L20有效,指定结束的是哪一级中断,并清ISR)101-普通EOI循环方式111-特殊EOI循环方式(L20有效,清L20指 定级别ISR,并 赋予其最低优先级)000-自动EOI方式(复位)100-自动EOI方式(置位)乱套!110-置位优先权命令,向8259A发置位优先权命令,最低优 先级赋予L20指定的IRi,其它中断源按循环方式分别赋给,OCW3 标记:A0=0,D3D4=01。,读IM

14、R寄存器不需要设置RR和RIS只需将端口设置成奇地址A0=1。用IN指令,IMR AL,与OCW3无关,可在程序的任何位置安排IN指令实现。,P-查询位,查询当前有无中断以及中断工作在哪一级。,OCW3不是必需的,当要读IRR、ISR或者查询时,定义OCW3,用IN指令读入,读IMR不必设OCW3,在中断服务程序中置OCW3的P位为1 IN AL,81H 可得,数据采集系统,共有4个模拟通道,它们转换完毕后的中断请求信号线,分别接到8259A的IR0、IR1、IR2、IR3。输入线,并且按照完全嵌套方式获得优先权,IR0中断类型号是90H。中断请求采用边沿触发,中断结束采用指定EOI方式。8259的两个端口地址分别为0FFDCH和0FFDEH。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号