第7章中断与定时技术系统_第1页
第7章中断与定时技术系统_第2页
第7章中断与定时技术系统_第3页
第7章中断与定时技术系统_第4页
第7章中断与定时技术系统_第5页
已阅读5页,还剩138页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机学院计算机学院 体系结构中心体系结构中心1. 中断的基本概念中断的基本概念2. 8086的中断系统的中断系统3. 可编程中断控制器可编程中断控制器82594. 8259的应用举例的应用举例5. 硬件中断服务程序的编写硬件中断服务程序的编写6. 定时与计数技术定时与计数技术 计算机学院计算机学院 体系结构中心体系结构中心 软中断软中断u是用软中断指令来激活的是用软中断指令来激活的 硬中断硬中断u中断的产生具有随机性,改变程序的执行顺序中断的产生具有随机性,改变程序的执行顺序主程序主程序中断服务程序中断服务程序外设接口中断请求中断请求中断响应中断响应中断服务中断服务完成完成I/OI/O保护现

2、场保护现场恢复现场恢复现场计算机学院计算机学院 体系结构中心体系结构中心内部中断源内部中断源u指令中断指令中断u出错中断出错中断u调试中断调试中断外部中断源外部中断源u可屏蔽中断可屏蔽中断u非屏蔽中断非屏蔽中断计算机学院计算机学院 体系结构中心体系结构中心什么是中断识别什么是中断识别?uCPU管理多个中断源时,在收到中断源发出的中断管理多个中断源时,在收到中断源发出的中断请求后,需判断是哪一个中断源提出的中断请求,请求后,需判断是哪一个中断源提出的中断请求,以便对它进行服务(或处理)以便对它进行服务(或处理)中断识别的方法中断识别的方法u查询中断法查询中断法u向量中断法向量中断法计算机学院计算

3、机学院 体系结构中心体系结构中心 CPU响应中断后,转入执行一特定地址的中断响应中断后,转入执行一特定地址的中断服务程序,该中断服务程序查询状态口,确定服务程序,该中断服务程序查询状态口,确定发出中断请求的外设,然后进行相应的处理。发出中断请求的外设,然后进行相应的处理。CPUCPUINTRINTR状态状态端口端口状态信号状态信号Data BusData Bus外设外设外设外设计算机学院计算机学院 体系结构中心体系结构中心 外设的中断优先级由查询的次序决定外设的中断优先级由查询的次序决定查询各外设对查询各外设对应的状态位应的状态位外设外设1 1的中断的中断处理处理外设外设2 2的中断的中断处理

4、处理外设外设1 1中断中断外设外设2 2中断中断主程序主程序中断服务程序中断服务程序无状态位置无状态位置位位计算机学院计算机学院 体系结构中心体系结构中心 多个外设经中断控制器向多个外设经中断控制器向CPU提出中断请求,提出中断请求,CPU响响应中断发出应中断发出INTA信号,中断控制器将相应的中断向信号,中断控制器将相应的中断向量号(中断类型号)放在数据总线上,量号(中断类型号)放在数据总线上,CPU读取后,读取后,即可确定中断源,查中断向量表进行相应处理。即可确定中断源,查中断向量表进行相应处理。CPUCPUINTRINTR中断中断控制控制器器状态信号状态信号Data BusData Bu

5、s外设2外设2外设1外设1INTAINTA中断向量中断向量中断请求中断请求计算机学院计算机学院 体系结构中心体系结构中心 中断向量表中断向量表u由若干中断服务程序入口地址组成的表由若干中断服务程序入口地址组成的表u例:例:X86的中断向量表的中断向量表中断服务程序入口中断服务程序入口0 0中断服务程序入口中断服务程序入口1 1中断服务程序入口中断服务程序入口255255I PCSI PCSI PCSI PCSI PCS00000H00004H003FCH计算机学院计算机学院 体系结构中心体系结构中心 将中断类型号为将中断类型号为60H的中断服务程序的中断服务程序intr入口入口地址填入中断向量

6、表地址填入中断向量表1.直接修改中断向量表直接修改中断向量表xor ax,axmov es, axmov bx, 60h*4;中断向量号中断向量号x4mov ax, offset intr;中断服务程序的偏移地址中断服务程序的偏移地址mov es:bx,axmov ax, seg intr;中断服务程序的段地址中断服务程序的段地址mov es:bx+2,ax计算机学院计算机学院 体系结构中心体系结构中心2.利用利用DOS调用修改中断向量表调用修改中断向量表mov ax, 3560h;取取原中断向量入口地址原中断向量入口地址 int 21h ;ES:BX = 入口地址入口地址mov old_of

7、f, bxmov bx, esmov old_seg, bxmov ax, 2560h;置中断向量入口地址置中断向量入口地址mov dx, seg intrmov ds, dxmov dx, offset intr ;DS:DX = 入口地址入口地址 int 21h计算机学院计算机学院 体系结构中心体系结构中心mov ax, 2560h;恢复恢复原中断向量入口地址原中断向量入口地址mov dx, old_segmov ds, dx mov dx, old_off ; DS:DX = 入口地址入口地址 int 21h计算机学院计算机学院 体系结构中心体系结构中心 当多个中断源同时提出中断请求时,

8、当多个中断源同时提出中断请求时,CPU在一在一个时刻只能响应并处理一个中断请求,因此,个时刻只能响应并处理一个中断请求,因此,响应优先级最高的中断请求。中断源的优先级响应优先级最高的中断请求。中断源的优先级可按如下方式确定:可按如下方式确定:u按优先级排队按优先级排队 根据预先确定的原则,对每一中断源指定优先级。根据预先确定的原则,对每一中断源指定优先级。例如:软件的查询顺序,硬件方式例如:软件的查询顺序,硬件方式u按轮循排队按轮循排队 所有中断源的优先级相等所有中断源的优先级相等计算机学院计算机学院 体系结构中心体系结构中心当前正在被执行的中断服务程序可被优先级更当前正在被执行的中断服务程序

9、可被优先级更高的中断请求中断高的中断请求中断优先级相同或更低的中断请求不能中断当前正优先级相同或更低的中断请求不能中断当前正在被执行的中断服务程序在被执行的中断服务程序计算机学院计算机学院 体系结构中心体系结构中心外部中断(硬中断)外部中断(硬中断)u非屏蔽中断非屏蔽中断NMIu可屏蔽中断可屏蔽中断INT内部中断(软中断)内部中断(软中断)u除法错中断除法错中断u溢出错中断溢出错中断u指令中断指令中断u单步中断单步中断计算机学院计算机学院 体系结构中心体系结构中心8259可编程可编程中断中断控制器控制器中断逻辑中断逻辑INT nINTO除除法法错误错误单单步步中断中断CPU非屏蔽中断请求非屏蔽

10、中断请求IR0定时定时IR1键盘键盘IR2级联级联IR3com2IR4com1IR5硬盘硬盘IR6软盘软盘IR7打印机打印机104NMIINTRINTA计算机学院计算机学院 体系结构中心体系结构中心硬中断的特点硬中断的特点u由外部事件引起,具有随机性由外部事件引起,具有随机性uCPU需发中断响应信号需发中断响应信号u可以被屏蔽可以被屏蔽软中断的特点软中断的特点u通常用软中断指令触发,中断的发生时刻是可知的通常用软中断指令触发,中断的发生时刻是可知的uCPU不发中断响应信号不发中断响应信号u中断类型号由指令直接给出中断类型号由指令直接给出u不可被屏蔽不可被屏蔽计算机学院计算机学院 体系结构中心体

11、系结构中心完成当前指令完成当前指令内部中断?内部中断?标志进栈标志进栈执行下一条指令执行下一条指令识别中断识别中断读中断类型号读中断类型号YesNoNMI?INTR?TF=0?IF=1?BAYesYesYesYesNoNoNoNo计算机学院计算机学院 体系结构中心体系结构中心0TF0 IFA查中断向量表查中断向量表得中断服务程序入口地址得中断服务程序入口地址执行中断服务程序执行中断服务程序IRET恢复被中断的服务程序恢复被中断的服务程序B保存断点保存断点计算机学院计算机学院 体系结构中心体系结构中心 当当CPU收到非屏蔽中断收到非屏蔽中断NMI请求后,默认该请求的中请求后,默认该请求的中断类型

12、号为断类型号为02H。PC机里包括机里包括3个非屏蔽中断源个非屏蔽中断源u协处理器出错协处理器出错u系统系统RAM奇偶校验错奇偶校验错uI/O通道校验错通道校验错CPUCPUNMINMI8087中断请求8087中断请求Q Q D DCLRCLRCKCKPCKPCKI/O CHECKI/O CHECKD7D7RESETRESET写(A 0 H)写(A 0 H)计算机学院计算机学院 体系结构中心体系结构中心 在在PC机系统设计时,允许机系统设计时,允许NMI请求被屏蔽请求被屏蔽u复位后或向复位后或向A0H端口写端口写00H,禁止禁止NMI请求请求 mov al, 00h out 0a0h, alu

13、向向A0H端口写端口写80H,允许允许NMI请求请求 mov al, 80h out 0a0h, al计算机学院计算机学院 体系结构中心体系结构中心在在CPU的的INT引脚输入引脚输入“高高”有效信号时,则有效信号时,则产生硬件可屏蔽中断请求信号。产生硬件可屏蔽中断请求信号。是否响应该请求由是否响应该请求由PSW寄存器的寄存器的IF位决定。位决定。uIF=0,屏蔽中断(执行屏蔽中断(执行CLI指令)指令)uIF=1,允许中断(执行允许中断(执行STI指令)指令)使用中断控制器可管理多个硬件中断源使用中断控制器可管理多个硬件中断源CPUCPUNMINMIIFIF0 09 91515PSWPSWI

14、NTINT控制控制INTINTINTAINTAWRWRRDRDA0A0IR0IR0IR1IR1IR2IR2IR3IR3IR4IR4IR5IR5IR6IR6IR7IR78259A8259ACSCSD D0-70-7CASCAS0-20-2SP/ENSP/ENCPUCPU响应可屏蔽中断条件:响应可屏蔽中断条件:1 1)当前指令执行完毕)当前指令执行完毕2 2)IF=1IF=13 3)INTRINTR信号有效信号有效计算机学院计算机学院 体系结构中心体系结构中心 除法错中断除法错中断u执行执行DIV或或IDIV指令时,商超出机器表示的最大值,指令时,商超出机器表示的最大值,即产生即产生0号中断号中断

15、 溢出错中断溢出错中断u当当PSW的的OF=1时,执行时,执行INTO指令,即产生指令,即产生4号中号中断断 单步中断单步中断u当当PSW的的TF=1时,执行每条指令,即产生时,执行每条指令,即产生1号中断号中断 指令中断指令中断u断点中断断点中断 INT 3H(机器码为:机器码为:CCH),),单字节指令单字节指令uINT nH计算机学院计算机学院 体系结构中心体系结构中心 中断申请中断申请u外设向外设向CPU发中断请求信号申请发中断请求信号申请CPU给予服务,给予服务,CPU决定决定是否响应是否响应 中断响应中断响应u发中断响应信号,获取中断类型号,保存断点及发中断响应信号,获取中断类型号

16、,保存断点及PSW于堆于堆栈,查表获得中断服务程序入口地址栈,查表获得中断服务程序入口地址 中断服务程序中断服务程序u保护现场,对外设进行服务(保护现场,对外设进行服务(I/O操作),恢复现场操作),恢复现场 中断返回中断返回u从堆栈弹出断点及从堆栈弹出断点及PSW,回到中断前的地址继续执行回到中断前的地址继续执行计算机学院计算机学院 体系结构中心体系结构中心计算机学院计算机学院 体系结构中心体系结构中心优先级排队管理优先级排队管理u完全嵌套完全嵌套u循环优先级循环优先级u特殊完全嵌套方式特殊完全嵌套方式接受和扩充外部设备的中断请求接受和扩充外部设备的中断请求u利用级联方式可扩展至利用级联方式

17、可扩展至8片,管理片,管理64个中断源个中断源提供中断类型号提供中断类型号中断请求的允许与屏蔽中断请求的允许与屏蔽计算机学院计算机学院 体系结构中心体系结构中心计算机学院计算机学院 体系结构中心体系结构中心 WR(In) 写信号线写信号线 RD(In) 读信号线读信号线 INT(Out) 中断请求线中断请求线 INTA(In) 中断应答线中断应答线 A0 用作芯片内的端口地址指示用作芯片内的端口地址指示计算机学院计算机学院 体系结构中心体系结构中心CS(In) 片选片选信号线。用于使能信号线。用于使能8259A芯片。芯片。SP/EN(In/Out) 从方式编程(从方式编程(1标识主方式,标识主

18、方式,0标识从方式)标识从方式)/使使能缓冲器(当工作在缓冲器模式时用于控制数能缓冲器(当工作在缓冲器模式时用于控制数据总线上的收发器)据总线上的收发器)CAS2CAS0(In/Out) 级联信号线。主片为输出,从片为输入。级联信号线。主片为输出,从片为输入。计算机学院计算机学院 体系结构中心体系结构中心数据总线数据总线缓冲器缓冲器读读/写写控制逻辑控制逻辑级联缓冲级联缓冲/比较器比较器控制逻辑控制逻辑正在服务正在服务寄存器寄存器ISR优先权优先权分析器分析器PR中断请求中断请求寄存器寄存器IRR中断屏蔽寄存器中断屏蔽寄存器IMRIR0IR1IR2IR3IR4IR5IR6IR7INTINTAD

19、07RDWRA0CSCAS0CAS1CAS2SP/EN计算机学院计算机学院 体系结构中心体系结构中心中断请求寄存器(中断请求寄存器(IRR)u存放外部中断源发出的中断请求信号,存放外部中断源发出的中断请求信号, Di位为位为1表表示示IRi引脚有中断请求。具有锁存功能引脚有中断请求。具有锁存功能正在服务寄存器(正在服务寄存器(ISR)u存放正在被服务中的中断请求信号。存放正在被服务中的中断请求信号。 Di位为位为1表示表示IRi中断正在服务中。中断嵌套时,有多个比特同中断正在服务中。中断嵌套时,有多个比特同时被置时被置“1”中断屏蔽寄存器(中断屏蔽寄存器(IMR)u“0”允许中断;允许中断;“

20、1”屏蔽中断屏蔽中断计算机学院计算机学院 体系结构中心体系结构中心优先权分析器(优先权分析器(PR)u把把IRR的内容与的内容与ISR的内容进行比较,响应优先级的内容进行比较,响应优先级高的中断高的中断数据总线缓冲器数据总线缓冲器u三态双向三态双向8位缓冲器作为与系统总线的接口位缓冲器作为与系统总线的接口读读/写控制逻辑写控制逻辑级联缓冲器级联缓冲器/比较器比较器u用于存储和比较系统中所有用于存储和比较系统中所有8259的标识号的标识号INTINTINTAINTAWRWRRDRDA0A0IR0IR0IR1IR1IR2IR2IR3IR3IR4IR4IR5IR5IR6IR6IR7IR78259A8

21、259ACSCSD D0-70-7CASCAS0-20-2SP/ENSP/EN计算机学院计算机学院 体系结构中心体系结构中心CAS0CAS2D0D7SP/ENIR0IR7CPU响应周期响应周期8259A工作波形工作波形INT第一个周期第一个周期T1 T2 T3 T4ALECLK 第二个周期第二个周期T1 T2 T3 T4第一个第一个INTA前保持为高电平前保持为高电平 INTALOCK计算机学院计算机学院 体系结构中心体系结构中心T1T2T3T4T1T2T3T4CLKALELOCKINTAD0-7中断类型号计算机学院计算机学院 体系结构中心体系结构中心第一个第一个INTA,CPU封锁总线(封锁

22、总线(LOCK有效),有效),8259A优先级最高的请求所对应的优先级最高的请求所对应的ISR中的中的位置位置1 1,而相应,而相应IRR中的位随之中的位随之复位复位第二个第二个INTA,总线解锁,总线解锁,8259A将当前中断请将当前中断请求对应的中断类型号送到数据总线上求对应的中断类型号送到数据总线上ISRISR的复位在自动结束的复位在自动结束/ /非自动结束时是不一样的非自动结束时是不一样的计算机学院计算机学院 体系结构中心体系结构中心主程序主程序STIEOIIRETSTIEOIIRETSTIEOIIRETSTIEOIIRETIR2IR1IR4IR3IR2,IR4中断请求中断请求IR1中

23、断请求中断请求IR3中断请求中断请求ISR=00000100ISR=00000110ISR=00010000ISR=00011000清清“0”计算机学院计算机学院 体系结构中心体系结构中心A0=0计算机学院计算机学院 体系结构中心体系结构中心中断触发方式中断触发方式u边沿触发方式边沿触发方式u电平触发方式电平触发方式屏蔽中断源方式屏蔽中断源方式u普通屏蔽方式普通屏蔽方式u特殊屏蔽方式特殊屏蔽方式中断嵌套方式中断嵌套方式u完全嵌套方式完全嵌套方式u特殊完全嵌套方式特殊完全嵌套方式计算机学院计算机学院 体系结构中心体系结构中心优先级管理方式优先级管理方式u优先级固定方式优先级固定方式u优先级轮转方

24、式优先级轮转方式v自动轮转方式自动轮转方式v指定轮转方式指定轮转方式结束中断的处理方式结束中断的处理方式u自动中断结束方式自动中断结束方式u手工中断结束方式手工中断结束方式v不指定不指定v指定指定计算机学院计算机学院 体系结构中心体系结构中心数据线连接方式数据线连接方式u缓冲方式缓冲方式u非缓冲方式非缓冲方式计算机学院计算机学院 体系结构中心体系结构中心初始化命令字初始化命令字u芯片控制(工作方式设置)芯片控制(工作方式设置)ICW1u中断类型号中断类型号ICW2u级联方式级联方式ICW3u特定完全嵌套、缓冲器方式特定完全嵌套、缓冲器方式ICW4操作命令字操作命令字u中断屏蔽字中断屏蔽字OCW

25、1u中断结束方式中断结束方式OCW2u中断查询中断查询OCW3计算机学院计算机学院 体系结构中心体系结构中心完成触发方式设置及级联方式设置的功能完成触发方式设置及级联方式设置的功能SINGLSINGL IC4IC4ADIADILTIMLTIM1 10 00 00 00 07 70 0A0A01:需要设置I C W 41:需要设置I C W 40:不需要设置I C W 40:不需要设置I C W 41:单片使用1:单片使用0:级联使用0:级联使用1:16位机中无效1:16位机中无效0:地址间距为80:地址间距为81:电平触发1:电平触发0:边沿触发0:边沿触发特特征征位位16位机16位机中无效中

26、无效ICW1ICW1计算机学院计算机学院 体系结构中心体系结构中心当系统中需要管理当系统中需要管理的中断源超过的中断源超过8个时,个时,8259A可以采用级可以采用级联的方式来管理。联的方式来管理。由一个主由一个主8259A和和若干个从若干个从8259A (最多(最多8个)构成。个)构成。MasterMasterIR0IR0IR3IR3IR6IR6IR7IR7SlaveSlaveA AIR0IR0IR7IR7SlaveSlaveB BIR0IR0IR7IR7INTINTINTAINTAICW3=01001000BICW3=01001000BICW3A=03HICW3A=03HICW3B=06H

27、ICW3B=06HINTINTINTINTCASCAS0-30-3中断中断计算机学院计算机学院 体系结构中心体系结构中心边沿触发方式边沿触发方式uIRi端出现的上升沿视为端出现的上升沿视为有效的中断请求信号有效的中断请求信号电平触发方式电平触发方式uIRi端出现的高电平视为端出现的高电平视为有效的中断请求信号有效的中断请求信号计算机学院计算机学院 体系结构中心体系结构中心完成中断类型号设置的功能完成中断类型号设置的功能T4T4T5T5T6T6T7T70 07 71 1A0A0中断类型中断类型的高5 位的高5 位000 IR0000 IR0001 IR1001 IR1111 IR7111 IR7

28、ICW2ICW2T3T3 X XX XX X计算机学院计算机学院 体系结构中心体系结构中心在奇地址(在奇地址(A01)端口写入)端口写入00001000B后,对后,对应的中断类型号为应的中断类型号为08-0FH在奇地址(在奇地址(A01)端口写入)端口写入10000000B后,对后,对应的中断类型号为应的中断类型号为80-87H计算机学院计算机学院 体系结构中心体系结构中心只在级联方式下使用。用来描述主、从片间的只在级联方式下使用。用来描述主、从片间的连接关系。连接关系。对主片的设置对主片的设置S4S4S5S5S6S6S7S70 07 71 1A0A0ICW3ICW3S3S3 S2S2 S1S

29、1 S0S0Si=0: IRi上未接从片Si=0: IRi上未接从片Si=1: IRi上接有从片Si=1: IRi上接有从片计算机学院计算机学院 体系结构中心体系结构中心对从片的设置对从片的设置0 00 00 00 00 07 71 1A0A0ICW3ICW30 0 ID2ID2从片的识别地址从片的识别地址ID1ID1 ID0ID0计算机学院计算机学院 体系结构中心体系结构中心MasterMasterIR0IR0IR3IR3IR6IR6IR7IR7SlaveSlaveA AIR0IR0IR7IR7SlaveSlaveB BIR0IR0IR7IR7INTINTINTAINTAICW3=01001

30、000BICW3=01001000BICW3A=03HICW3A=03HICW3B=06HICW3B=06HINTINTINTINTCASCAS0-30-3中断中断计算机学院计算机学院 体系结构中心体系结构中心CAS0CAS2D0D7SP/ENIR0IR7CPU响应周期响应周期8259A工作波形工作波形INT第一个周期第一个周期T1 T2 T3 T4ALECLK 第二个周期第二个周期T1 T2 T3 T4第一个第一个INTA前保持为高电平前保持为高电平 INTALOCK计算机学院计算机学院 体系结构中心体系结构中心完成结束中断方式、缓冲模式和嵌套模式的设完成结束中断方式、缓冲模式和嵌套模式的设

31、置功能置功能AEOIAEOI uPMuPMM/SM/SBUFBUFSFNMSFNM0 00 00 00 07 71 1A0A01:8086/8088模式1:8086/8088模式0:8位机模式0:8位机模式1:自动结束中断1:自动结束中断0:普通结束中断0:普通结束中断0X:非缓冲模式0X:非缓冲模式10:缓冲模式, 从片10:缓冲模式, 从片11:缓冲模式, 主片11:缓冲模式, 主片1:特殊完全嵌套模式1:特殊完全嵌套模式0:完全嵌套模式0:完全嵌套模式ICW4ICW4计算机学院计算机学院 体系结构中心体系结构中心普通普通EOI 中断服务程序需向中断服务程序需向8259A 送中断结束命令送

32、中断结束命令(EOI),),将将ISR的对应的对应bit清清0,以标识中断结,以标识中断结束。束。自动自动EOI 中断程序无需送中断程序无需送EOI命令。在第二个命令。在第二个INTA脉冲脉冲信号的后沿,将信号的后沿,将ISR的对应的对应bit清清0。计算机学院计算机学院 体系结构中心体系结构中心非缓冲模式非缓冲模式u SP/EN1将将8259A置为主片方式,置为主片方式, SP/EN0置为置为从片方式从片方式缓冲模式缓冲模式u当系统中要求当系统中要求8259A必须通过总线缓冲器(总线收必须通过总线缓冲器(总线收发器)挂在系统的数据总线上时,发器)挂在系统的数据总线上时,8259A需设置工需设

33、置工作在作在缓冲模式缓冲模式。此时,。此时,SP/EN作输出,用来控制总作输出,用来控制总线缓冲器的传送方向。线缓冲器的传送方向。u由于由于SP/EN已已用作输出,只能用软件来设置用作输出,只能用软件来设置8259A工作在主片还是从片。工作在主片还是从片。计算机学院计算机学院 体系结构中心体系结构中心主片主片从片从片计算机学院计算机学院 体系结构中心体系结构中心 当前正在被执行的中断服务程序可被优先级相当前正在被执行的中断服务程序可被优先级相等或更高的中断请求中断等或更高的中断请求中断 MasterMasterIR0IR0IR3IR3IR6IR6IR7IR7SlaveSlaveA AIR0IR

34、0IR7IR7SlaveSlaveB BIR0IR0IR7IR7INTINTINTAINTAICW3=01001000BICW3=01001000BICW3A=03HICW3A=03HICW3B=06HICW3B=06HINTINTINTINTCASCAS0-30-3中断中断IR21. 中断中断2.计算机学院计算机学院 体系结构中心体系结构中心完成完成中断屏蔽中断屏蔽IR0-7的设置功能。的设置功能。OCW1可读可读可写可写M4M4M5M5M6M6M7M70 07 71 1A0A0OCW1OCW1M3M3 M2M2 M1M1 M0M0Mi=1: 屏蔽由I R i 引 入 的 中断请求Mi=1:

35、 屏蔽由I R i 引 入 的 中断请求Mi=0: 允许由I R i 引 入 的 中断请求Mi=0: 允许由I R i 引 入 的 中断请求计算机学院计算机学院 体系结构中心体系结构中心完成非自动中断结束方式、中断排队方式的设完成非自动中断结束方式、中断排队方式的设置功能置功能L0L0EOIEOI0 07 70 0A0A0指定中断优先级指定中断优先级SL=1,L0-2有效SL=1,L0-2有效SL=0,L0-2无效SL=0,L0-2无效001:不指定E O I 命 令001:不指定E O I 命 令011:指定E O I命 令011:指定E O I命 令101:不指定E O I 命 令 轮 换

36、命令101:不指定E O I 命 令 轮 换命令100:自动E O I的 轮 换置位命令100:自动E O I的 轮 换置位命令000:自动E O I的 轮 换复位命令000:自动E O I的 轮 换复位命令111:指定E O I命 令 轮换命令111:指定E O I命 令 轮换命令110:直接置优先级轮换命令110:直接置优先级轮换命令010:无效010:无效特特征征位位OCW2OCW2L1L1L2L20 00 0SLSLR RAEOI=1计算机学院计算机学院 体系结构中心体系结构中心如果采用完全嵌套方式,可采用不指定如果采用完全嵌套方式,可采用不指定EOI方方式。式。 在发出在发出EOI后

37、,中断控制器将后,中断控制器将ISR中优先级最中优先级最高的高的bit复位。复位。例:若例:若ISR=00100100,执行执行 mov al, 20h out 20h, al 后,后,ISR=00100000计算机学院计算机学院 体系结构中心体系结构中心如果中断优先级被打乱(即:当前正在被服务如果中断优先级被打乱(即:当前正在被服务的中断服务程序的优先级不是最高的),则必的中断服务程序的优先级不是最高的),则必须采用指定须采用指定EOI方式。方式。在发出在发出EOI时,必须指定要复位的时,必须指定要复位的ISR的的bit的的位置。位置。例:例:ISR=00100100,当前服务程序对应当前服

38、务程序对应ISR的的bit5 mov al, 01100101b out 20h, al 后,后, ISR=00000100计算机学院计算机学院 体系结构中心体系结构中心某中断源被服务后,优先级自动降为最低级。某中断源被服务后,优先级自动降为最低级。例:轮换前例:轮换前 轮换后轮换后1 10 01 10 0ISR7ISR7ISRISR0 00 00 00 0ISR0ISR04 45 56 67 7LowLowPriorityPriorityStatusStatus3 32 21 10 0HighHigh0 00 01 10 0ISR7ISR7ISRISR0 00 00 00 0ISR0ISR0

39、7 70 01 12 2LowLowPriorityPriorityStatusStatus6 65 54 43 3HighHigh计算机学院计算机学院 体系结构中心体系结构中心利用命令将指定中断源的优先级置为最低利用命令将指定中断源的优先级置为最低 R=1,SL=1,L0-L2指定需轮换的中断源号指定需轮换的中断源号计算机学院计算机学院 体系结构中心体系结构中心完成完成IR和和ISR寄存器、状态字查询,特殊屏蔽寄存器、状态字查询,特殊屏蔽方式设置的功能方式设置的功能RRRR RISRISP PSMMSMMESMMESMM0 07 70 0A0A00X:无效0X:无效10:下次R D 有 效

40、, 读I R 寄 存器10:下次R D 有 效 , 读I R 寄 存器11:下次R D 有 效 , 读I S R寄存器11:下次R D 有 效 , 读I S R寄存器1:查询8 2 59状 态1:查询8 2 59状 态0:不查询0:不查询0X:无效0X:无效10:清特殊屏蔽方式10:清特殊屏蔽方式11:置特殊屏蔽方式11:置特殊屏蔽方式特特征征位位OCW3OCW31 10 0计算机学院计算机学院 体系结构中心体系结构中心 读读IRR mov al, 00001010b out 20h, al nop;延时;延时 in al, 20h; IRRal 读读ISR mov al, 00001011b

41、 out 20h, al nop;延时;延时 in al, 20h; ISRal计算机学院计算机学院 体系结构中心体系结构中心读读IMR in al, 21h; IMRal计算机学院计算机学院 体系结构中心体系结构中心STIIR03允许允许IR47禁止禁止EOIEOIIRETIRET主程序主程序IR4屏蔽屏蔽置位置位SMMIR03,57允许允许IR4禁止禁止清清IR4屏蔽屏蔽禁止同级中断,响禁止同级中断,响应高级中断请求和应高级中断请求和低级中断请求。低级中断请求。STIIR4中中断请求断请求清清SMMSMM计算机学院计算机学院 体系结构中心体系结构中心用于表示用于表示8259A状态状态I I

42、0 07 70 0A0A0W2W2申请服务的优先申请服务的优先级编码级编码W1W1 W0W00:无中断请求0:无中断请求1:有中断请求1:有中断请求计算机学院计算机学院 体系结构中心体系结构中心例例: mov al, 00001100b;查询查询8259状态状态 out 20h, al nop;延时;延时 in al, 20h; 查询字查询字al计算机学院计算机学院 体系结构中心体系结构中心送送ICW1ICW1送送ICW2ICW2级联方式?级联方式?送送ICW3ICW3送送ICW4ICW4准备接收中断准备接收中断需要需要ICW4?A0=0A0=1A0=1A0=1NoNoYesYesA0=0A0

43、=1D4D3ICW1 1 ICW2 ICW3 ICW4初始化完成 OCW1OCW2 00OCW3 01计算机学院计算机学院 体系结构中心体系结构中心两片两片8259主从级联,从片主从级联,从片INT直接连到主片的直接连到主片的IR2上。均采用非缓冲器方式,中断请求信号上。均采用非缓冲器方式,中断请求信号均采用边沿触发。均采用边沿触发。主片:端口地址主片:端口地址20H和和21H,中断类型号为中断类型号为08H0FH。从片:端口地址从片:端口地址A0H和和A1H,中断类型号为中断类型号为70H77H。计算机学院计算机学院 体系结构中心体系结构中心CAS02+5V主主8259A8288 CPUIN

44、TRD0D7SP/ENINTD0D7日时钟日时钟键盘键盘串口串口com2串口串口com1并口并口2软盘软盘并口并口1A0INTR1CS IRQ0 IRQ1 IRQ2 IRQ3 IRQ4 IRQ5 IRQ6 IRQ7 A0 CSINTARDWRINTAIORIOW计算机学院计算机学院 体系结构中心体系结构中心CAS02 从从8259AD0D7INTSP/EN实时钟实时钟保留保留保留保留保留保留保留保留协处理器协处理器硬盘硬盘保留保留A0INTR2CS IRQ8 IRQ9 IRQ10 IRQ11 IRQ12 IRQ13 IRQ14 IRQ15 A0 CSINTARDWR计算机学院计算机学院 体系结

45、构中心体系结构中心sport0 equ a0hsport0 equ a0hsport1 equ a1hsport1 equ a1h. mov al,11hmov al,11hout sport0,alout sport0,alnopnop mov al,70hmov al,70h out sport1,alout sport1,alnopnop mov al,02mov al,02 out sport1,alout sport1,al nopnopmov al,01hmov al,01hout sport1,alout sport1,al .从片从片mport0 equ 20hmport1 e

46、qu 21h.mov al,11h;mov al,11h;边沿触发边沿触发, ,多片多片, ,icw4icw4out mport0,alout mport0,alnopnopmov al,8mov al,8; ;中断向量中断向量out mport1,alout mport1,alnopnopmov al,04mov al,04; ;IR2IR2上接从片上接从片out mport1,alout mport1,alnopnopmov al,11h;mov al,11h;非缓冲非缓冲, ,特殊嵌套特殊嵌套, ,非非AEOIAEOIout mport1,alout mport1,al. . 主片主片计

47、算机学院计算机学院 体系结构中心体系结构中心主程序主程序u设置中断向量表设置中断向量表u使能使能CPU中断允许标志,即:中断允许标志,即:IF1u设置设置8259A的中断屏蔽寄存器的中断屏蔽寄存器中断服务程序中断服务程序u中断服务程序要尽量短中断服务程序要尽量短u参数传递、临时变量要使用存储单元参数传递、临时变量要使用存储单元u向中断控制器向中断控制器8259A发送中断结束命令发送中断结束命令EOI计算机学院计算机学院 体系结构中心体系结构中心定时器定时器8253每每55ms通过通过8259A的的IR0脚向脚向CPU发出中断请求,编写中断服务程序(中断向量发出中断请求,编写中断服务程序(中断向

48、量号为号为08H),),每次中断显示一信息,共显每次中断显示一信息,共显10次。次。计算机学院计算机学院 体系结构中心体系结构中心cliclipop axpop axout 21h,alout 21h,alpop dxpop dxpop dspop dsmov ax,2508hmov ax,2508hint 21hint 21hstistimov ax,4c00hmov ax,4c00hint 21hint 21hmsgmsgdb Interrupt!db Interrupt!db 0dh,0ah,db 0dh,0ah,0 0countcount db 0db 0.mov ax,3508hmo

49、v ax,3508hint 21hint 21hpush push esespush push bx;bx;保存旧中断入口保存旧中断入口cliclipush dspush dsmov dx,offset intrmov dx,offset intrmov ax,seg intrmov ax,seg intrmov ds,axmov ds,axmov ax,2508hmov ax,2508hint 21hint 21hpop dspop dsin al,21hin al,21h; ;读旧中断屏蔽字读旧中断屏蔽字push axpush ax; ;保存保存and al,0feh;and al,0fe

50、h;允许允许IR0IR0out 21h,alout 21h,alstistiagain:cmp count,10again:cmp count,10; ;等待中断等待中断jb againjb again 计算机学院计算机学院 体系结构中心体系结构中心d disis procproc push axpush ax push bxpush bxlp1:lodsblp1:lodsb; ; al(si) cmp al,0cmp al,0 jz lp2jz lp2 mov bx,0mov bx,0 mov ah,0ehmov ah,0eh int int 10h;10h;显示,显示,BIOSBIOS调用

51、调用 jmp lp1jmp lp1lp2:lp2: pop pop bxbx poppop ax ax retretDispDisp endpendpintrintrprocprocstistipush axpush axpush bxpush bxpush dspush dspush sipush simov ax,datamov ax,datamov ds,axmov ds,axinc countinc countmov si,offset msgmov si,offset msgcall dispcall dispmov al,20hmov al,20hout 20h,alout 20h

52、,al;EOIEOI命令命令pop sipop sipop dspop dspop bxpop bxpop axpop axiretiretintrintrendp endp 计算机学院计算机学院 体系结构中心体系结构中心对例对例1的要求做修改的要求做修改定时器定时器8253每每55ms通过通过8259A的的IR0脚向脚向CPU发出中断请求,试编写一秒表显示程序(即:发出中断请求,试编写一秒表显示程序(即:00、01、02、 59、00、)。)。计算机学院计算机学院 体系结构中心体系结构中心mov ah,02mov dl,blint 21h ;显示十位显示十位mov ah,02mov dl,b

53、hint 21h ;显示个位显示个位mov dl, 0dh mov ah, 02;回车回车 int 21h jmp againmsgmsgdb Interrupt!db Interrupt!db 0dh,0ah,db 0dh,0ah,0 0countcount db 0db 0lastlastdb 1db 1secdsecddb 0db 0.stistiagain:movagain:moval,secdal,secdcmpcmpal,60al,60jcjclp1lp1movmovsecd,0 ;secd,0 ;满满6060清清0 0lp1:lp1:movmoval,secdal,secdcmp

54、cmpal,last;al,last;显示值是否已更新显示值是否已更新jzjzlp1lp1movmovlast,allast,almovmovbl,10bl,10movmovah,0ah,0divdivblblmovmovbx,axbx,axaddaddbx,3030h;bx,3030h;变为变为ASCASC码码计算机学院计算机学院 体系结构中心体系结构中心pop sipop dspop bxpop axiretintrendpintrintrprocprocstistipushpushaxaxpushpushbxbxpushpushdsdspush push sisimov mov ax,d

55、ataax,datamov mov ds,axds,axincinccountcountmovmoval,countal,countcmpcmpal,18al,18jnzjnzlp2lp2movmovcount,0count,0incincsecdsecdlp2:lp2:mov mov al,20hal,20hout out 20h,al20h,al;EOIEOI命令命令计算机科学与技术学院计算机科学与技术学院 体系结构中心体系结构中心 定时定时 提供一个时间基准。提供一个时间基准。 定时的信号具有周期性。定时的信号具有周期性。 本质上,定时是通过计数来实现的。本质上,定时是通过计数来实现的。

56、 计数计数 对特定事件(即:脉冲)进行计数。对特定事件(即:脉冲)进行计数。 计数的信号可能具有随机性。计数的信号可能具有随机性。 用途用途u系统时钟系统时钟uDRAM刷新定时刷新定时u定时采样定时采样u实时控制实时控制u脉冲的计数脉冲的计数计算机科学与技术学院计算机科学与技术学院 体系结构中心体系结构中心通常,一个计算机系统中定时功能是不可却少通常,一个计算机系统中定时功能是不可却少的。该定时器用来驱动操作系统的系统时钟。的。该定时器用来驱动操作系统的系统时钟。操作系统根据系统时钟完成任务调度等。定时操作系统根据系统时钟完成任务调度等。定时长度(称为长度(称为Tick)可以是可以是10ms,

57、100ms,或或1s等。等。计算机科学与技术学院计算机科学与技术学院 体系结构中心体系结构中心软件定时软件定时 由于指令执行周期的长短是可知的,因此,用由于指令执行周期的长短是可知的,因此,用一段循环程序可实现定时。但占用一段循环程序可实现定时。但占用CPU时间。时间。而且主机频率不同,同一软件执行时其延时就而且主机频率不同,同一软件执行时其延时就可能不同,定时程序通用性差。可能不同,定时程序通用性差。硬件定时硬件定时 采用硬件或可编程定时器芯片实现。定时准确,采用硬件或可编程定时器芯片实现。定时准确,不占用不占用CPU时间。但需附加硬件。时间。但需附加硬件。计算机科学与技术学院计算机科学与技

58、术学院 体系结构中心体系结构中心Intel8253/8254 8254是是8253的改进型。的改进型。Zilog CTC计算机科学与技术学院计算机科学与技术学院 体系结构中心体系结构中心具有具有3 3个独立的个独立的1616位定时位定时/ /计数器(计数器(T/CT/C)每个每个T/CT/C功能:功能:u可按二、十进制计数可按二、十进制计数u有有6 6种不同的工作方式种不同的工作方式u最高频率最高频率1010MHzMHzu有读回状态功能。有读回状态功能。(8253(8253没有没有) )计算机科学与技术学院计算机科学与技术学院 体系结构中心体系结构中心计算机科学与技术学院计算机科学与技术学院

59、体系结构中心体系结构中心面向面向CPU的信号线的信号线uD0D7(In/Out) 三态双向数据线三态双向数据线uRD(In) 读信号线读信号线uWR(In)写信号线写信号线uCS(In) 片选片选uA0,A1 (In)地址线。占有地址线。占有4个个I/O端口端口面向面向I/O的信号线(包括的信号线(包括3组同样的信号)组同样的信号)uCLK (In)计数时钟输入计数时钟输入uGATE(In)门控信号。门控信号。“0”电平禁止计数器工电平禁止计数器工作。作。uOUT(Out)计数器输出。表示定时或计数已到。计数器输出。表示定时或计数已到。计算机科学与技术学院计算机科学与技术学院 体系结构中心体系

60、结构中心数据总线缓冲器数据总线缓冲器 三态、双向三态、双向8位寄存器位寄存器读读/写控制电路写控制电路 A1、A0占用占用4个端口。个端口。控制命令寄存器控制命令寄存器 存放存放CPU送来的控制字送来的控制字A1 A00 0 计数器计数器00 1 计数器计数器11 0 计数器计数器21 1 控制寄存器控制寄存器计算机科学与技术学院计算机科学与技术学院 体系结构中心体系结构中心计数器计数器 芯片内部有芯片内部有3个独立、完全相同的计数器。每一个计个独立、完全相同的计数器。每一个计数器有数器有6种不同的工作模式,包含有种不同的工作模式,包含有3个个16位寄存器位寄存器u16位计数初值寄存器位计数初值寄存器

温馨提示

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

评论

0/150

提交评论