




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、9.1 中断控制接口8259A教学重点n 8088 CPU的中断系统(复习的中断系统(复习 P99)n8259A的中断工作过程和工作方式的中断工作过程和工作方式n8259A的初始化的初始化复习: 中断操作 P99断点断点主程序主程序中断服务程序中断服务程序中断请求中断请求对外设对外设进行处理进行处理继续执行继续执行返回断点返回断点nCPU在执行程序中,在执行程序中,被被内部内部或或外部外部的事的事件所打断,转去执件所打断,转去执行一段预先安排好行一段预先安排好的的中断服务程序中断服务程序;服务结束后,又服务结束后,又返返回回原来的原来的断点断点,继,继续执行原来的程序续执行原来的程序流程流程中
2、断传送流程返回8088中断系统n8088的中断系统采用的中断系统采用向量中断机制向量中断机制n能够处理能够处理256个中断个中断n用中断向量号用中断向量号0 255区别区别n可屏蔽中断还需要借助专用可屏蔽中断还需要借助专用中断控制器中断控制器Intel 8259A实现实现优先权管理优先权管理1、8088的中断类型(P100)非屏蔽中断源非屏蔽中断源中断逻辑中断逻辑INTO指令指令单步单步中断中断除法除法错误错误INT N指令指令CPUINTRNMI可屏蔽中断源可屏蔽中断源8259A中断中断控制器控制器IR0IR1IR2IR3IR4IR5IR6IR7外外设设中中断断源源 INTA(1) 内部中断
3、n内部中断内部中断是由于是由于8088内部执行程序出现异内部执行程序出现异常引起的程序中断常引起的程序中断n利用内部中断,微处理器为用户提供了发利用内部中断,微处理器为用户提供了发现、调试并解决程序执行时异常情况的有现、调试并解决程序执行时异常情况的有效途径效途径n例如,例如,ROM-BIOS和和DOS系统利用内部中系统利用内部中断为程序员提供了各种断为程序员提供了各种功能调用功能调用(INT 21)(2) 外部中断n外部中断是由于外部中断是由于8088外部提出外部提出中断请求中断请求引起引起的程序中断的程序中断n利用外部中断,微机系统可以实时响应外部利用外部中断,微机系统可以实时响应外部设备
4、的数据传送请求,能够及时处理外部意设备的数据传送请求,能够及时处理外部意外或紧急事件外或紧急事件n外部中断外部中断的原因是处理器外部随机产生的,的原因是处理器外部随机产生的,所以是真正的所以是真正的中断中断(Interrupt)n内部中断内部中断的原因是处理器执行程序出现异常,的原因是处理器执行程序出现异常,所以经常被称为所以经常被称为异常异常(Exception) 非屏蔽中断n通过非屏蔽中断请求信号向微处理器提出的中断通过非屏蔽中断请求信号向微处理器提出的中断请求,微处理器请求,微处理器无法禁止无法禁止,将在当前指令执行结,将在当前指令执行结束予以响应,这个中断被称为非屏蔽中断束予以响应,这
5、个中断被称为非屏蔽中断n8088的非屏蔽中断的的非屏蔽中断的向量号为向量号为2,非屏蔽中断请求,非屏蔽中断请求信号为信号为NMIn非屏蔽中断主要用于处理系统的意外或故障。例非屏蔽中断主要用于处理系统的意外或故障。例如:如:n电源掉电前的数据保护电源掉电前的数据保护可屏蔽中断n外部通过外部通过可屏蔽中断可屏蔽中断请求信号向微处理器提出的中请求信号向微处理器提出的中断,微处理器在断,微处理器在允许可屏蔽中断允许可屏蔽中断的条件下,在当前的条件下,在当前指令执行结束予以响应,同时输出可屏蔽中断响应指令执行结束予以响应,同时输出可屏蔽中断响应信号,这个中断就是可屏蔽中断信号,这个中断就是可屏蔽中断n8
6、088的可屏蔽中断请求和响应信号分别是的可屏蔽中断请求和响应信号分别是INTR和和INTA*;由;由IF标志控制可屏蔽中断是否允许响应;标志控制可屏蔽中断是否允许响应;向量号来自外部中断控制器向量号来自外部中断控制器n8088通常需要配合通常需要配合中断控制器中断控制器8259A共同处理可屏共同处理可屏蔽中断蔽中断n可屏蔽中断主要用于主机与外设交换数据可屏蔽中断主要用于主机与外设交换数据中断标志IF的状态nIF0:可屏蔽中断:可屏蔽中断不会不会被响应被响应n关中断、禁止中断、中断屏蔽关中断、禁止中断、中断屏蔽n系统复位,使系统复位,使IF0n任何一个中断被响应,使任何一个中断被响应,使IF0n
7、执行指令执行指令CLI,使,使IF0nIF1:可屏蔽中断:可屏蔽中断会会被响应被响应n开中断、允许中断、中断开放开中断、允许中断、中断开放n执行指令执行指令STI,使,使IF1n执行指令执行指令IRET恢复原恢复原IF状态状态明明确确IF标标志志的的状状态态是是关关键键2、中断向量表n中断向量:中断向量:中断服务程序的中断服务程序的入口地址入口地址(首地址)(首地址)n逻辑地址含有段地址逻辑地址含有段地址CS和偏移地址和偏移地址IP(32位)位)n每个中断向量的每个中断向量的低字是偏移地址低字是偏移地址、高字是段地址高字是段地址,需占用需占用4个字节个字节n8088微处理器从物理地址微处理器从
8、物理地址000H开始,依次安排各开始,依次安排各个中断向量,向量号也从个中断向量,向量号也从0开始开始n256个中断占用个中断占用1KB区域,就形成区域,就形成中断向量表中断向量表向量号为向量号为N的中断向量的物理地址的中断向量的物理地址N4图图2-16 中断向量表中断向量表003FFH 003FCH 00080H 0007CH 00014H 00012H 0000CH 00008H 00004H 00000H 专用 中断向量 (5 个) 系统保留 中断向量 (27 个) 用户可用 中断向量(224 个) 16 位 CS IP 255 号向量 32 号向量 31 号向量 5 号向量 4 号向量
9、(溢出) 3 号向量 2 号向量(非屏蔽) 1 号向量(单步) 0 号向量(除法错) (2) 中断向量和中断向量表中断向量和中断向量表(断点)中断的响应过程中断的响应过程 当当CPU在在INTR引脚上接收到一个引脚上接收到一个高电平高电平的的中断请求信号中断请求信号,并且当前的并且当前的中断允许标志为中断允许标志为1时,时,CPU就会在当前指令执行就会在当前指令执行完以后,开始完以后,开始响应外部的中断请求响应外部的中断请求。具体地说,就是。具体地说,就是CPU往往INTA引脚上发引脚上发两个负脉冲两个负脉冲,外设接到第,外设接到第2个负脉冲以后,立个负脉冲以后,立即往数据线上给即往数据线上给
10、CPU送来送来中断类型码中断类型码。CPU依次作下面几件依次作下面几件事:事: (1) 从从数据总线数据总线上读取上读取中断类型码中断类型码,将其存入内部暂存器。,将其存入内部暂存器。 (2) 将将标志寄存器标志寄存器的值推入的值推入堆栈堆栈。 (3) 把标志寄存器的把标志寄存器的中断允许标志中断允许标志IF和和单步标志单步标志TF清清零零。将将IF清零是为了能够在中断响应过程中暂时屏蔽外部其他中清零是为了能够在中断响应过程中暂时屏蔽外部其他中断,以免还没有完成对当前中断的响应过程而又被另一个中断,以免还没有完成对当前中断的响应过程而又被另一个中断请求所打断,清除断请求所打断,清除TF是为了避
11、免是为了避免CPU以单步方式执行中断以单步方式执行中断处理子程序。处理子程序。 (4) 将将断点断点保护到保护到堆栈堆栈中。中。断点断点:是指响应中断时,主程:是指响应中断时,主程序中当前指令下面的一条指令的地址,即序中当前指令下面的一条指令的地址,即代码段寄存器代码段寄存器CS的值和的值和指令指针指令指针IP的值。只有保护了断点,才能在中断处的值。只有保护了断点,才能在中断处理子程序执行完以后,正确返回到原程序继续执行。理子程序执行完以后,正确返回到原程序继续执行。 (5) 根据根据中断类型码中断类型码,到,到中断向量表中断向量表中找到中找到中断向量中断向量,再根据中断向量转入相应的再根据中
12、断向量转入相应的中断处理子程序中断处理子程序。 例如:中断类型码为例如:中断类型码为0BH,则此中断对应的中断向量的,则此中断对应的中断向量的首字节在首字节在0BH4=2CH处,于是处,于是CPU在在0段的段的002CH,002DH,002EH,002FH这这4个字节中取得中断向量,并个字节中取得中断向量,并将前两个字节中的内容装入将前两个字节中的内容装入IP,将后两个字节中的内容装,将后两个字节中的内容装入入CS。这样,。这样,CPU要执行的下一条指令就是中断处理子程要执行的下一条指令就是中断处理子程序的第一条指令,也就是说,序的第一条指令,也就是说,CPU转入了对中断处理子程序转入了对中断
13、处理子程序的执行。的执行。4、中断处理子程序的结构模式(1) 中断处理子程序的开始必须通过一系列推入堆中断处理子程序的开始必须通过一系列推入堆栈指令来进一步栈指令来进一步保护保护中断时的中断时的现场现场,即保护,即保护CPU各寄存器的值各寄存器的值 (2) 设置中断允许标志设置中断允许标志IF来来开放中断开放中断,以允许级别,以允许级别较高的中断请求进入。较高的中断请求进入。(STI)(3) 中断处理中断处理的具体内容的具体内容 (4) 中断处理子程序的尾部则是一系列弹出堆栈指中断处理子程序的尾部则是一系列弹出堆栈指令,使得各寄存器恢复进入中断处理时的值。令,使得各寄存器恢复进入中断处理时的值
14、。(恢复现场恢复现场)(5) 最后是最后是中断返回指令中断返回指令IRET,中断返回指令的执,中断返回指令的执行会使堆栈中保存的断点值和标志值分别装入行会使堆栈中保存的断点值和标志值分别装入IP,CS和标志寄存器和标志寄存器。中断处理子程序在位置上也必须是固定装配的,而不是浮动的。中断处理子程序在位置上也必须是固定装配的,而不是浮动的。装配的起始地址由装配的起始地址由中断向量表中断向量表给出。给出。9.1 中断控制器8259AnIntel 8259A是可编程中断控制器是可编程中断控制器ICn可用于管理可用于管理Intel 8080/8085、8086/8088、80286/80386的可屏蔽中
15、断的可屏蔽中断n8259A的基本功能的基本功能n一片一片8259A可以可以管理管理8级中断级中断,可扩展至,可扩展至64级级n每一级中断都可每一级中断都可单独被屏蔽或允许单独被屏蔽或允许n在中断响应周期,可提供相应的在中断响应周期,可提供相应的中断向量号中断向量号n8259A设计有多种工作方式,可通过编程选择设计有多种工作方式,可通过编程选择一、 8259A的内部结构和引脚D7D0INTAINT中断请求寄存器中断请求寄存器中断屏蔽寄存器中断屏蔽寄存器数据数据总线总线缓冲器缓冲器IR0IR7读读/写写控制控制逻辑逻辑级联级联缓冲器缓冲器比较器比较器RDWRA0CSCAS0CSA1CAS2SP/E
16、N优先权判别电路优先权判别电路中断服务寄存器中断服务寄存器控制逻辑控制逻辑1 1、读写控制逻辑、读写控制逻辑 该部件接收来自该部件接收来自CPU的读写命令,完成规的读写命令,完成规定的操作。操作过程由定的操作。操作过程由 、A0、 、 等等输入信号共同控制。在输入信号共同控制。在CPU写写8259A时,时,把写入数据送至相应的寄存器中。在把写入数据送至相应的寄存器中。在CPU读读8259A时,相应寄存器的内容输出到数时,相应寄存器的内容输出到数据总线上据总线上 CSWRRD2. 中断控制寄存器n中断请求寄存器中断请求寄存器IRRn保存保存8条外界中断请求信号条外界中断请求信号IR0IR7的的请
17、求状态请求状态nDi位为位为1表示表示IRi引脚引脚有中断请求有中断请求;为;为0表示无请求表示无请求n中断服务寄存器中断服务寄存器ISRn保存正在被保存正在被8259A服务着服务着的的中断状态中断状态nDi位为位为1表示表示IRi中断中断正在服务正在服务中;为中;为0表示表示没有被服务没有被服务n中断屏蔽寄存器中断屏蔽寄存器IMRn保存对中断请求信号保存对中断请求信号IR的屏蔽状态的屏蔽状态nDi位为位为1表示表示IRi中断中断被屏蔽被屏蔽(禁止);为(禁止);为0表示表示允许允许 3 3、优先权电路、优先权电路 优先权电路优先权电路(Priority PR)负责检查中断源的负责检查中断源的
18、中断中断请求请求的的优先级优先级,并与,并与“正在服务中的中断正在服务中的中断”进行比进行比较,确定是否将这个中断请求送给处理器。较,确定是否将这个中断请求送给处理器。 假定中断源的中断比正在服务中的中断具有更假定中断源的中断比正在服务中的中断具有更高高的优先权,则的优先权,则PR就使就使INT线变为高电平,送给线变为高电平,送给CPU,为它提出申请,并在中断响应时将它记入为它提出申请,并在中断响应时将它记入ISR的对的对应位中。如果中断源的中断优先级应位中。如果中断源的中断优先级等于等于或或低于低于正在正在服务中的中断优先级,则服务中的中断优先级,则PR不为其提出申请。不为其提出申请。 4
19、4、控制逻辑、控制逻辑 控制逻辑按初始化设置的工作方式控制控制逻辑按初始化设置的工作方式控制8259A的全部工作。该电路可根据的全部工作。该电路可根据IRR的内的内容和容和PR判断结果向判断结果向CPU发中断请求信号发中断请求信号INT,并接受并接受CPU发回的中断响应信号发回的中断响应信号 ,使,使8259A进入中断服务状态进入中断服务状态 INTA8259A8259A引脚信号引脚信号一、与CPU的接口信号主要包括nD0D7,三态,8位双向数据线,CPU与8259A之间利用这个数据总线传送数据及命令 n ,写信号 n ,读信号 nA0,地址选择信号,用来对8259A内部的2个端口地址进行选择
20、 WRRD8259A8259A引脚信号引脚信号n ,片选输入信号,低电平有效 nINT,由82C59A向CPU输出的中断请求信号 n ,输入信号,接收CPU送来的中断响应信号 CSINTA A0 RD* WR* CS*功能功能 0 1 0 0 1 1 0 0 0 0 1 0 1 0 1 0 1 1 0 1写入写入ICW1、OCW2和和OCW3写入写入ICW2ICW4和和OCW1读出读出IRR、ISR和查询字和查询字读出读出IMR数据总线高阻状态数据总线高阻状态数据总线高阻状态数据总线高阻状态6. 中断级联n一个系统中,一个系统中,8259A可以级联,有一个主可以级联,有一个主8259A,若干个
21、(若干个(最多最多8个个)从)从8259An级联时,主级联时,主8259A的的三条级连线三条级连线CAS0CAS2作作为为输出线输出线,连至每个从,连至每个从8259A的的CAS0CAS2n每个每个从从8259A的中断请求信号的中断请求信号INT,连至主,连至主8259A的一个中断请求输入端的一个中断请求输入端IRn主主8259A的的INT线连至线连至CPU的中断请求输入端的中断请求输入端nSP*/EN*在非缓冲方式下,规定该在非缓冲方式下,规定该8259A是主片是主片(SP*1)还是从片()还是从片(SP*0)8259A8259A引脚信号引脚信号 / 从片编程缓冲器使能信号。该信号从片编程缓
22、冲器使能信号。该信号有有两种功能两种功能:n当当8259A8259A工作在工作在缓冲方式缓冲方式时,该引脚为时,该引脚为输出,输出,作数据总线缓冲器的使能信号作数据总线缓冲器的使能信号(EN*),即,即用它来控制用它来控制数据收发器数据收发器的工作的工作n当当8259A8259A工作在工作在非缓冲方式非缓冲方式时,该引脚为时,该引脚为输输入,入,用来指明该用来指明该8259A是是主片主片( / 1时时)还是还是从片从片( / 0时时) SPENSPSPENEN 82598259中断工作方式中断工作方式 以以8259A单片使用为例,说明可屏蔽中断处理的单片使用为例,说明可屏蔽中断处理的过程过程
23、1.当一条或多条中断请求线当一条或多条中断请求线IR0IR7变高时,设置变高时,设置相应的相应的中断请求寄存器中断请求寄存器IRR位位 2.PR对对中断优先权中断优先权和和中断屏蔽寄存器中断屏蔽寄存器的状态进行判的状态进行判断之后,如果某中断断之后,如果某中断优先权最高优先权最高且为且为允许中断状允许中断状态态,就向,就向CPU发高电平中断申请信号发高电平中断申请信号INT,请求,请求中断服务中断服务 3.如果如果CPU中断允许标志中断允许标志IF=1,则,则CPU响应中断,响应中断,给给8259A送出送出中断响应信号中断响应信号 INTA中断处理过程中断处理过程4. 8259A接到来自接到来
24、自CPU的第一个的第一个 信号时,当前信号时,当前中断服务寄存器中断服务寄存器(ISR)中相应位中相应位置位置位,并把,并把IRR中中相应位复位相应位复位。同时,。同时,82C59A准备向数据总线发送准备向数据总线发送中断类型码中断类型码 5. 在在8259A接收到第二个接收到第二个 后,后,发送发送中断类型码中断类型码,如果是在如果是在自动结束中断自动结束中断方式下,在这个方式下,在这个 负脉冲负脉冲结束时结束时复位复位ISR的相应位。在的相应位。在非自动中断结束非自动中断结束方式方式下,下,ISR相应位要由相应位要由中断服务程序结束中断服务程序结束时发出的时发出的EOI命令来命令来复位复位
25、 INTAINTAINTA二、8259A的中断过程 P233CAS0CAS2D0D7SP/ENIR0IR7CPU响应周期响应周期8259A工作波形工作波形INT第一个周期第一个周期T1 T2 T3 T4ALECLK 第二个周期第二个周期T1 T2 T3 T4第一个前保持为高电平第一个前保持为高电平 INTALOCK动画动画三、 8259A的工作方式 P228普通普通全嵌套方式全嵌套方式特殊特殊全嵌套方式全嵌套方式自动自动循环方式循环方式特殊特殊循环方式循环方式优先权优先权固定固定方式方式优先权优先权循环循环方式方式设置优先权设置优先权方式方式普通普通中断结束方式中断结束方式特殊特殊中断结束方式
26、中断结束方式自动自动中断结束方式中断结束方式非自动非自动中断结束方式中断结束方式结束中断结束中断处理方式处理方式屏蔽中断屏蔽中断源方式源方式普通屏蔽普通屏蔽方式方式特殊屏蔽特殊屏蔽方式方式中断触发中断触发方式方式边沿边沿触发方式触发方式电平电平触发方式触发方式数据线连接数据线连接方式方式缓冲方式缓冲方式非缓冲方式非缓冲方式n完全嵌套方式完全嵌套方式 n特殊全嵌套方式特殊全嵌套方式 n优先级自动循环方式优先级自动循环方式 n优先级特殊循环方式优先级特殊循环方式 1. 设置优先权方式1)完全嵌套方式全嵌套方式 全嵌套方式是全嵌套方式是8259A被被初始化后自动初始化后自动进入的基本进入的基本工作方
27、式,在这种方式下,由各个工作方式,在这种方式下,由各个IRi端引入的中断端引入的中断请求具有请求具有固定的中断级别固定的中断级别。IR0具有具有最高最高优先级,优先级,IR7具有具有最低最低优先级,其他级顺序类推。优先级,其他级顺序类推。 采用完全嵌套方式时,采用完全嵌套方式时,ISR寄存器中某位置寄存器中某位置“1”,表示表示CPU当前正在处理这一级中断请求,当前正在处理这一级中断请求,8259A将将允许比它级别高的中断请求进入允许比它级别高的中断请求进入,打断当前的中断服,打断当前的中断服务程序而被优先处理,但务程序而被优先处理,但禁止与它同级或比它级别低禁止与它同级或比它级别低的其他中断
28、请求进入的其他中断请求进入。采用这种完全嵌套方式,中断。采用这种完全嵌套方式,中断嵌套的深度取决于整个中断系统所具有的中断级数,嵌套的深度取决于整个中断系统所具有的中断级数,在一个具有在一个具有8级中断的系统中,最大的中断嵌套深度级中断的系统中,最大的中断嵌套深度为为8。1)完全嵌套方式n在中断嵌套过程中,中断服务寄存器在中断嵌套过程中,中断服务寄存器ISR的内容将不断变化,最后有可能使的内容将不断变化,最后有可能使(ISR)FFH,表示当前有,表示当前有8级中断请求正在被服级中断请求正在被服务,务,首先结束的应是最高级的中断首先结束的应是最高级的中断,待,待CPU由高级到低级将全部中断处理结
29、束返由高级到低级将全部中断处理结束返回到主程序时,回到主程序时,ISR寄存器将重新复位为寄存器将重新复位为全全“0”。2 2)特殊全嵌套方式)特殊全嵌套方式n基本与全嵌套方式相同,唯一的区别是,在处理基本与全嵌套方式相同,唯一的区别是,在处理中断时,如果有中断时,如果有同级中断产生同级中断产生,也会被系统相应。,也会被系统相应。n特殊全嵌套方式一般用于特殊全嵌套方式一般用于8259A级连系统中的主级连系统中的主片片的中断优先级。的中断优先级。3 3)优先级自动循环方式)优先级自动循环方式n该方式一般用于系统中该方式一般用于系统中多个中断源优先级相等的多个中断源优先级相等的场合场合。该方式下,优
30、先级队列是变化的,一个设。该方式下,优先级队列是变化的,一个设备备进入中断进入中断后,其后,其优先级变成最低优先级变成最低。n一开始时,一开始时,IR0的优先级最高,的优先级最高,IR7优先级最低。优先级最低。如果系统进入如果系统进入IRX的中断服务,则此后的中断服务,则此后IRX+1的优的优先级为最高,先级为最高,IRX为最低。为最低。4 4)优先级特殊循环方式)优先级特殊循环方式n基本与优先级自动循环方式相似,唯一的基本与优先级自动循环方式相似,唯一的不同是:不同是:一开始的最低优先级是由编程决一开始的最低优先级是由编程决定的。定的。具体做法见具体做法见OCW2的设置的设置2. 结束中断处
31、理方式结束中断处理方式什么是什么是8259A的中断结束?的中断结束?8259A利用中断服务寄存器利用中断服务寄存器ISR判断:判断:n某位为某位为1,表示正在进行中断服务;,表示正在进行中断服务;n该位为该位为0,就,就是该中断结束服务是该中断结束服务。这里说明如何使这里说明如何使ISR某位为某位为0,不反映,不反映CPU的工作状态。的工作状态。n1 1)自动中断结束方式)自动中断结束方式 在中断服务程序中,在中断服务程序中,中断返回之前中断返回之前,不不需要发需要发出出中断结束命令中断结束命令就会自动清除该中断源所对应的就会自动清除该中断源所对应的ISR位,实际上,在位,实际上,在CPU发出
32、第发出第2个个 信号时,信号时,8259A即即自动清除自动清除ISR中的对应位中的对应位。该方式主要。该方式主要是怕没有经验的程序员忘记在中断服务程序中给是怕没有经验的程序员忘记在中断服务程序中给出中断结束命令。出中断结束命令。 设置方法见设置方法见ICWICW4 4的设置的设置INTA2.2.结束中断的处理方式结束中断的处理方式n2 2)普通的中断结束方式)普通的中断结束方式 用于用于全嵌套方式全嵌套方式下,当下,当CPUCPU向向82598259发中断结束命令发中断结束命令时,时,82598259自动把自动把ISRISR中中最高非零位位复位最高非零位位复位,即表明,即表明结束了当前最高优先
33、级中断。结束了当前最高优先级中断。n3 3)特殊的中断结束方式)特殊的中断结束方式 用于用于非全嵌套方式非全嵌套方式,如果无法确定当前正在处理的,如果无法确定当前正在处理的是哪一级中断,则使用该方式。使用该中断结束方是哪一级中断,则使用该方式。使用该中断结束方式时,式时,CPUCPU通过通过82598259的的OCWOCW2 2来得知当前正在处理的是来得知当前正在处理的是那个中断,并使该中断对应的那个中断,并使该中断对应的ISRISR位复位。位复位。1 1)普通屏蔽方式)普通屏蔽方式 利用操作命令字利用操作命令字OCWl,使屏蔽寄存器,使屏蔽寄存器IMR中的一位中的一位或数位或数位置置1来屏蔽
34、一个或数个中断源的中断请求。若要来屏蔽一个或数个中断源的中断请求。若要开放某一个中断源的中断请求,则将开放某一个中断源的中断请求,则将IMR中相应的位清中相应的位清0。 这种屏蔽方式可在这种屏蔽方式可在两种情况两种情况下使用。下使用。其一其一是当是当CPU在在执行主程序时,要求禁止响应某级或某几级中断时,可执行主程序时,要求禁止响应某级或某几级中断时,可在主程序中将在主程序中将IMR寄存器的相应位置寄存器的相应位置“1”;其二其二是是CPU在处理某级中断过程中,要求禁止级别比它高的某一级在处理某级中断过程中,要求禁止级别比它高的某一级或某几级中断时,可在中断服务程序中将或某几级中断时,可在中断
35、服务程序中将IMR寄存器的寄存器的相应位置相应位置“1” 。 3. 屏蔽中断源方式屏蔽中断源方式2 2)特殊屏蔽方式)特殊屏蔽方式 在某些场合,执行某一个中断服务程序时,要求允许另在某些场合,执行某一个中断服务程序时,要求允许另一个优先级比它一个优先级比它低或高低或高的中断请求被响应,此时可采用的中断请求被响应,此时可采用特特殊屏蔽方式殊屏蔽方式。它可通过。它可通过OCW3来设定。来设定。 具体的做法是:在执行某级中断服务程序时,将具体的做法是:在执行某级中断服务程序时,将屏蔽寄屏蔽寄存器存器中本级中断的对应位置中本级中断的对应位置“1 1”,首先屏蔽掉本级中断,首先屏蔽掉本级中断,同时将同时
36、将当前中断服务寄存器当前中断服务寄存器的对应位置的对应位置“0 0”。(原因:。(原因:当前中断服务寄存器的高优先级中断位会阻止系统响应低当前中断服务寄存器的高优先级中断位会阻止系统响应低级中断),则任意中断都可打断该中断程序。级中断),则任意中断都可打断该中断程序。 特殊屏蔽方式当相应一个高优先级中断时就像是没有发特殊屏蔽方式当相应一个高优先级中断时就像是没有发生中断一样,因为低优先级中断也可以打断该中断。生中断一样,因为低优先级中断也可以打断该中断。 4. 中断触发方式n边沿触发方式边沿触发方式n8259A将中断请求输入端出现的将中断请求输入端出现的上升沿上升沿作为中断请求信号作为中断请求
37、信号n电平触发方式电平触发方式n中断请求端出现的中断请求端出现的高电平高电平是有是有效的中断请求信号效的中断请求信号5. 数据线连接方式n缓冲方式缓冲方式n8259A的数据线需加缓冲器予以驱动的数据线需加缓冲器予以驱动n8259A把把SP*/EN*引脚作为输出端,输出允引脚作为输出端,输出允许信号,用以锁存或开启缓冲器许信号,用以锁存或开启缓冲器n非缓冲方式非缓冲方式nSP*/EN*引脚为输入端引脚为输入端n若若8259A级连,由其确定是主片或从片级连,由其确定是主片或从片 CAS0 IR0CAS1 IR1CAS2 IR2 IR3INTA IR4 IR5INT IR6 IR7SP/EN CAS
38、0INTA CAS1 CAS2INT IR0 IR1SP/EN IR7CAS0 IR0CAS1 IR1CAS2 IR2 IR3INTA IR4 IR5INT IR6 IR7SP/ENINTAINTR+5V8259级联工作示意图级联工作示意图8259A芯片的级联使用芯片的级联使用n8259A级联使用时,主级联使用时,主8259A上没有上没有连接从连接从8259A的的IRi端,可直接与中断源相连。端,可直接与中断源相连。n在在8259A级联系统中,某一片从级联系统中,某一片从8259A的的IRi端端接收到一个或多个中断请求信号时,经过判优可接收到一个或多个中断请求信号时,经过判优可确定当前的最高级
39、中断得到响应,并通过确定当前的最高级中断得到响应,并通过INT向向主主8259A发出请求;经主发出请求;经主8259A再次判优确认是再次判优确认是当前最高级中断时,向当前最高级中断时,向CPU发出中断请求信号发出中断请求信号INT,以后的过程与单级使用时类似。对,以后的过程与单级使用时类似。对CPU来来说,说,8259A的单级使用和级联使用区别不大。的单级使用和级联使用区别不大。8259A芯片的级联使用芯片的级联使用n第第1个个INTA有效时,主有效时,主8259A将将级联地址级联地址从从CAS2CAS0 3端输出给所有的从端输出给所有的从8259A芯片,芯片,到第到第2个个INTA有效时,与
40、主有效时,与主8259A发出的发出的级联地级联地址相符址相符的从的从8259A将向将向CPU送出当前的中断类型送出当前的中断类型码码n,以后的操作过程与单级使用时相同。,以后的操作过程与单级使用时相同。n当从当从8259A引入的中断处理过程引入的中断处理过程结束结束时,时,CPU应应能送出能送出两个两个EOI结束命令,一个送给结束命令,一个送给主主8259A,用来将主用来将主8259A中的中的ISR寄存器的相应位清寄存器的相应位清“0”;另一个送给另一个送给从从8259A,用来将从,用来将从8259A中的中的ISR寄存器相应位清寄存器相应位清“0”,才标志一次中断处理过程,才标志一次中断处理过
41、程的结束。的结束。8259级联工作示意图级联工作示意图8259工作示意图工作示意图命令字和初始化编程命令字和初始化编程 8259A是根据收到是根据收到CPU的的命令字命令字进行工作的。进行工作的。CPU的命令字分两类:一类是的命令字分两类:一类是初始化命令初始化命令,称为,称为初初始化命令字始化命令字(Initialization Command Word, ICW),初始化命令字往往是在系统启动时,由初始,初始化命令字往往是在系统启动时,由初始化程序设置的。初始化命令字一旦设定,一般在系化程序设置的。初始化命令字一旦设定,一般在系统工作过程中就统工作过程中就不再改变不再改变。另一类是。另一类
42、是操作命令操作命令,称,称为为操作命令字操作命令字(Operation Command Word, OCW)。在初始化后,。在初始化后,CPU用这些控制字来控制用这些控制字来控制8259A执行不同的操作,如中断屏蔽、中断结束、执行不同的操作,如中断屏蔽、中断结束、优先权循环和中断状态的优先权循环和中断状态的读出和查询读出和查询等等1. 初始化命令字ICWn初始化命令字初始化命令字ICW最多有最多有4个个n8259A在开始工作前必须写入在开始工作前必须写入n必须按照必须按照ICW1ICW4顺序写入顺序写入nICW1和和ICW2是必须送的是必须送的nICW3和和ICW4由工作方式决定由工作方式决定
43、流程流程D7D6D5D4D3D2D1D0 芯片控制初始化命令字芯片控制初始化命令字(ICW1) ICW1应应写写入入偶地址偶地址端口,即端口,即A A0 00 0, ICW1ICW1举例举例例某8086微机系统中,使用单片8259A,中断请求信号为上升沿触发,需要设置ICW4,端口地址为20H和22H,则其初始化命令字ICW1应为:0001001113H,设置ICW1的指令为: MOV AL,13H OUT 20H,AL设置中断类型码高设置中断类型码高5位的初始化命令字位的初始化命令字(ICW2) 8259A在第在第2个中断响应总线周期向个中断响应总线周期向CPU提供的提供的8位中断类型码位中
44、断类型码,实际上是由,实际上是由两部分两部分构构成,其中,成,其中,高高5位位T7T3是由用户通过编程确是由用户通过编程确定的,这就是初始化命令字定的,这就是初始化命令字ICW2,类型码,类型码的的低低3位位,由,由8259A内部电路内部电路自动产生自动产生,分,分别对应于别对应于8个中断源的中断请求信号个中断源的中断请求信号IR0I R7的 编 号 , 即的 编 号 , 即 I R0为为 0 0 0 , I R1为为 001, ,IR7为为 111 设置中断类型码高设置中断类型码高5位的初始化命令字(位的初始化命令字(ICW2) ICW2应应写写入入奇地址奇地址端口,即端口,即Al1,格式如
45、,格式如图所示图所示 标识主片从片初始化命令字标识主片从片初始化命令字(ICW3) 只有当系统中有多片只有当系统中有多片8259A级联级联时才需时才需要设置要设置ICW3,单片,单片8259A时不用设置,时不用设置,写写入入奇地址奇地址单元。单元。 当多片当多片8259A级联时,级联时,ICW3用来指出用来指出主片上连接从片以及从片连接到主片的情况主片上连接从片以及从片连接到主片的情况,所以,所以,ICW3有有主从两种主从两种格式。格式。 注意:注意:当级连时主当级连时主82598259的的CAS0-2CAS0-2线作线作输出输出,从,从82598259的的CAS0-2CAS0-2作作输入线输
46、入线。其内部传送的数据即为从片上。其内部传送的数据即为从片上ICW3ICW3的低的低3 3位位 标识主片从片初始化命令字标识主片从片初始化命令字(ICW3)初始化命令字(初始化命令字(ICW3)方式控制初始化命令字(方式控制初始化命令字(ICW4) 当当ICW1中的中的D01时,初始化时,初始化8259A时需要写入时需要写入ICW4。ICW4写写入入奇地址奇地址端端口口. .1616位位(80868088)(80868088)系统系统必须必须设置设置ICW4. .其格式如图所示其格式如图所示 方式控制初始化命令字(方式控制初始化命令字(ICW4)二、二、82C59A初始化编程逻辑初始化编程逻辑
47、 n8259A进入正常工作之前,系统进入正常工作之前,系统必须必须对每个对每个8259A进行进行初始化设置初始化设置 n初始化是通过编程将初始化命令字初始化是通过编程将初始化命令字按顺序按顺序写写入入82C59A的端口实现的,的端口实现的,82C59A的初始的初始化流程如图所示化流程如图所示 8259A芯片的初始化流程P237写写ICW1 A0=0写写ICW2 A0=1SNGL=1 IC4=1写写ICW3 A0=1写写ICW4 A0=1是是否否是是否否按顺序对按顺序对A0=1端端口写入命令字口写入命令字初始化编程初始化编程 例:某某8086微机系统中有一片微机系统中有一片8259A,中,中断请
48、求信号为断请求信号为电平电平触发,中断类型码为触发,中断类型码为40H47H,中断优先级管理采用,中断优先级管理采用普通全嵌普通全嵌套套方式,中断结束方式采用方式,中断结束方式采用自动结束自动结束方式,方式,系统中系统中未使用数据缓冲器未使用数据缓冲器,系统分配给,系统分配给8259A的端口地址为的端口地址为20H和和21H,试对该,试对该82C59A进行初始化编程进行初始化编程 初始化编程初始化编程 分析:分析:由于系统中使用单片由于系统中使用单片8259A,所以初始化,所以初始化时不需要时不需要ICW3,本例中,本例中82C59A要求工作在非缓冲要求工作在非缓冲方式,故在硬件上将方式,故在
49、硬件上将SP*/EN*接接+5V,ICW4中的中的(MS* )位无意义,可设置为位无意义,可设置为0 对对82C59A的初始化程序如下:的初始化程序如下: MOV AL,00011011B ;设置;设置ICW1初始化命令字初始化命令字 OUT 20H,AL ;将;将ICW1输出到输出到偶地址偶地址端口端口 MOV AL,01000000B ;ICW2中断类型号基值中断类型号基值 OUT 21H,AL ;将;将ICW2送入送入奇地址奇地址端口端口 MOV AL,00001011B ;ICW4 OUT 21H,AL ;将;将ICW4送入送入奇地址奇地址瑞口瑞口 3. 8259A3. 8259A的命
50、令字的命令字OCW设置时没有次序要求设置时没有次序要求,但对地址有要求但对地址有要求. 中断屏蔽操作命令字中断屏蔽操作命令字OCWl OCWl用来实现对中断源的屏蔽功能,用来实现对中断源的屏蔽功能,OCWl的内容被直接置入的内容被直接置入IMR屏蔽寄存器屏蔽寄存器,编程要求写入编程要求写入奇地址奇地址. .其格式如图所示其格式如图所示 3.1 OCW13.1 OCW1格式格式3.23.2 优先级循环方式和中断结束方式操作优先级循环方式和中断结束方式操作命令字命令字OCW2 OCW2有两个功能:设置有两个功能:设置中断结束方式中断结束方式和和优先级优先级循环方式循环方式,要求写入,要求写入偶地址
51、偶地址端口,其格式如图所示。端口,其格式如图所示。中断结束方式:中断结束方式:1.1.自动结束自动结束 2.2.一般的结束方式一般的结束方式 3.3.特殊的中断结束方式特殊的中断结束方式优先级方式:优先级方式:1.1.全嵌套全嵌套 2.2.特殊全嵌套特殊全嵌套 3.3.优先级自动循环优先级自动循环 4.4.优先级特殊循环优先级特殊循环OCW2 操作命令字操作命令字OCW2nD7(R):用于规定中断优先级是否设置为用于规定中断优先级是否设置为循环方循环方式式 D71,为为优先权循环优先权循环方式;方式;D70,为为非循环方式非循环方式nD6(SL):用于规定:用于规定OCW2中的中的L2 L1
52、L0是否有效是否有效 D6l,表示,表示D2D0有效;有效;D60,表示无效,表示无效nD5 (EOI),中断结束命令位中断结束命令位。如果。如果ICW4中中D1(AEOI)位为位为l,表示中断采用表示中断采用自动结束方式自动结束方式。在中断自动结束方式下,当。在中断自动结束方式下,当CPU第第2个负脉冲结束时,中断服务寄存器个负脉冲结束时,中断服务寄存器ISR中相应位会中相应位会自自动清除,动清除,但如果但如果AEOI为为0,则,则ISRi位就要用位就要用EOI命令来消除。命令来消除。EOI命令是通过命令是通过OCW2中的中的D5位设置的。位设置的。 EOI=1EOI=1:用于设置:用于设置
53、中断结束中断结束方式方式 EOI=0EOI=0:用于设置:用于设置中断优先级循环中断优先级循环方式方式 EOI=0 R=1,SL=0 EOI=0 R=1,SL=0 写入写入OCW2OCW2则使得则使得8259A8259A工作于工作于优优 先级自动循环方式先级自动循环方式 R=0,SL=0 R=0,SL=0 写入写入OCW2OCW2则使得则使得8259A8259A结束自动结束自动 循环方式循环方式 R=1,SL=1 R=1,SL=1 写入写入OCW2OCW2则使得则使得8259A8259A工作于工作于中断特中断特 殊循环方式殊循环方式,最低优先级由,最低优先级由L2L1L0L2L1L0指定。指定
54、。设置优先级循环设置优先级循环EOI=1EOI=1 R=0,SL=0 R=0,SL=0 写入写入OCW2OCW2即向即向8259A8259A发送了一个发送了一个 一般中断结束命令一般中断结束命令 (清空(清空ISRISR中当前最高优先级对应的中当前最高优先级对应的ISiISi位)位) R=0,SL=1 R=0,SL=1 写入写入OCW2OCW2即向即向8259A8259A发送了一个发送了一个 特殊中断结束命令特殊中断结束命令 (清空(清空ISRISR中中L2L1L0L2L1L0指定的指定的ISiISi位)位) R=1,SL=0 R=1,SL=0 写入写入OCW2OCW2使使8259A8259A
55、工作于中断优先级工作于中断优先级 自动循环方式自动循环方式并且为并且为一般中断结束一般中断结束方式方式 R=1,SL=1 R=1,SL=1 写入写入OCW2OCW2使使8259A8259A工作于中断优先级工作于中断优先级 特殊循环方式特殊循环方式并且为并且为一般中断结束一般中断结束方式方式设置结束方式设置结束方式操作命令字操作命令字OCW2nD4、D3,D4 D300,OCW2的的标志位标志位nD2D0(L2 L1 L0),有,有两个用途两个用途:当:当OCW2给出给出特殊的中断结束命令特殊的中断结束命令时,时,L L2 2、L L1 1和和L L0 0指出具体应清除指出具体应清除中断服务寄存
56、器中的哪一位中断服务寄存器中的哪一位. .当当OCW2给出给出特殊的优特殊的优先级循环方式先级循环方式命令时,命令时,L2、L1和和L0指出循环开始时指出循环开始时哪个中断的优先级最低哪个中断的优先级最低操作命令字操作命令字OCW2 特殊屏蔽方式和中断查询方式操作命令特殊屏蔽方式和中断查询方式操作命令OCW3 有有3个功能:个功能:n设置和撤消设置和撤消特殊屏蔽特殊屏蔽方式方式n设置设置中断查询中断查询方式方式n设置读出设置读出ISR或或IRR寄存器的内容寄存器的内容n编程写入编程写入偶地址偶地址屏蔽方式:屏蔽方式:1.1.普通屏蔽普通屏蔽 2.2.特殊屏蔽特殊屏蔽 操作命令操作命令OCW3
57、操作命令操作命令OCW3(1)设置屏蔽方式)设置屏蔽方式 ESMM称为称为特殊屏蔽允许位特殊屏蔽允许位,SMM称为称为特殊屏蔽方式位特殊屏蔽方式位,这两位的组合决定是这两位的组合决定是设置特殊屏蔽还是撤销屏蔽设置特殊屏蔽还是撤销屏蔽当当ESMM、SMM11时,将时,将8259A设置为设置为特殊屏蔽特殊屏蔽方式,方式,即只屏蔽本级中断请求,允许高级的或低级的中断申请即只屏蔽本级中断请求,允许高级的或低级的中断申请进入进入 当当ESMM、SMM10时,时,撤消特殊屏蔽方式撤消特殊屏蔽方式,恢复原来,恢复原来的优先级控制的优先级控制当当ESMM0时,不能建立特殊屏蔽方式,时,不能建立特殊屏蔽方式,S
58、MM位也不位也不起作用起作用设设D2、D1、D0这这3位均为位均为0,则,则设置的特殊屏蔽方式字设置的特殊屏蔽方式字OCW3=68H,撤消特殊屏蔽方式字撤消特殊屏蔽方式字OCW348H nOCW3的中断查询功能的中断查询功能 OCW3的的D2位即位即P位位为为中断查询方式中断查询方式位。当位。当P=1时,使时,使8259A处于处于中断查询方式中断查询方式,即,即CPU向向8259A偶地址偶地址端口写入一个端口写入一个查询命令查询命令OCW30CH后,再执行输入指令后,再执行输入指令(IN AL 偶地址偶地址),CPU便可读入便可读入8259A提供的提供的查询字查询字。查询字反映了当查询字反映了
59、当前有无中断请求,以及中断请求中优先级最高的前有无中断请求,以及中断请求中优先级最高的是哪一个是哪一个。8259A的查询字格式如图的查询字格式如图操作命令操作命令OCW3(2)设置中断查询功能)设置中断查询功能操作命令操作命令OCW3(2)设置中断查询功能)设置中断查询功能nOCW3的读操作功能的读操作功能 (P=0前提下)前提下) 8259A内部有内部有3个寄存器个寄存器(IRR、IMR、ISR)可供可供CPU读出其当前的状态,读出其当前的状态,CPU在在发读命令之前,须先指定读取哪个寄存器,发读命令之前,须先指定读取哪个寄存器,然后再发然后再发IN指令到指令到偶地址偶地址,才能读取,才能读
60、取IRR和和ISR中的内容。当所读的寄存器不变,就中的内容。当所读的寄存器不变,就不必每次都指定所要读取的寄存器。在不必每次都指定所要读取的寄存器。在8259A初始化后,自动指向读初始化后,自动指向读IRR 操作命令操作命令OCW3(3)读出寄存器内容)读出寄存器内容 OCW3中的中的D1,D0两位用来指定具体读两位用来指定具体读ISR和和IRR中的哪一个寄存器中的哪一个寄存器 当当RR、RIS11时,表示时,表示CPU的下一条的下一条IN指令指令要读取要读取ISR寄存器的内容寄存器的内容当当RR、RIS=10时,表示时,表示CPU的下一条的下一条IN指令指令要读要读IRR寄存器的内容寄存器的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030全球及中国激光报警系统行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030全球及中国汽车精冲行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030全球及中国氰钴胺喷雾剂行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030全球及中国时差疗法应用程序行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030全球及中国商品食品脱水机行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030全球及中国保险经纪行业市场现状供需分析及市场深度研究发展前景及规划可行性分析研究报告
- 2025-2030全球及中国LED模块和轻型发动机行业市场现状供需分析及市场深度研究发展前景及规划可行性分析研究报告
- 2025-2030全球及中国5G无线生态系统行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030全球与中国干果生物碱行业发展现状及趋势预测研究报告
- 2025-2030儿童牙刷行业兼并重组机会研究及决策咨询报告
- 7不甘屈辱 奋勇抗争-圆明园的诉说(教学设计)-部编版道德与法治五年级下册
- GB/T 20424-2025重有色金属精矿产品中有害元素的限量规范
- 2024年黑龙江省水利投资集团招聘笔试真题
- 2025年长沙轨道交通职业学院单招综合素质考试题库完美版
- 2025美国急性冠脉综合征(ACS)患者管理指南解读课件
- 国家开放大学电大《国际私法》形考任务1-5题库及答案
- 统编历史七年级下册(2024版)第7课-隋唐时期的科技与文化【课件】f
- 脑脊液检查11课件
- 医院股东章程范本
- 全国河大版(三起)小学信息技术第二册第3单元第9课《我是小导游-调整幻灯片版式》教学设计
- TSG 23-2021 气瓶安全技术规程 含2024年第1号修改单
评论
0/150
提交评论