南京邮电大学微型计算机原理与接口技术 chap9 孙力娟(精品).ppt

上传人:hyn****60 文档编号:70699705 上传时间:2023-01-25 格式:PPT 页数:118 大小:1.33MB
返回 下载 相关 举报
南京邮电大学微型计算机原理与接口技术 chap9 孙力娟(精品).ppt_第1页
第1页 / 共118页
南京邮电大学微型计算机原理与接口技术 chap9 孙力娟(精品).ppt_第2页
第2页 / 共118页
点击查看更多>>
资源描述

《南京邮电大学微型计算机原理与接口技术 chap9 孙力娟(精品).ppt》由会员分享,可在线阅读,更多相关《南京邮电大学微型计算机原理与接口技术 chap9 孙力娟(精品).ppt(118页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第九九章章中断系统与中断系统与8259A中断控制器中断控制器 .1.1中断的基本概念中断的基本概念中断的基本概念中断的基本概念 复习复习复习复习CPUCPU与外设信息交换的控制方式种类与外设信息交换的控制方式种类与外设信息交换的控制方式种类与外设信息交换的控制方式种类以查询方式输入为例以查询方式输入为例以查询方式输入为例以查询方式输入为例当外设数据未准备好时,当外设数据未准备好时,CPU需要不断查询外设是否准需要不断查询外设是否准备好的状态,效率低备好的状态,效率低读取状态信息读取状态信息数据准备好?数据准备好?从数据口读数据从数据口读数据NY1.中断方式示意中断方式示意(以输入中断为例以输

2、入中断为例)数据数据中断请求中断请求中断响应中断响应数据数据断点断点现现行行程程序序中中断断服服务务子子程程序序现现行行程程序序输输入入设设备备输输入入接接口口启动启动CPU 中断基本概念中断基本概念2.什么是中断什么是中断?CPU暂停执行现行程序暂停执行现行程序,转而处理随机事件转而处理随机事件,处理完毕后再处理完毕后再返回被中断的程序返回被中断的程序,这一全过程称为中断。这一全过程称为中断。3.中断源中断源能够引发能够引发CPU中断的信息源中断的信息源(1)外部中断源(硬件中断源)外部中断源(硬件中断源)I/O设备设备如键盘、显示器、打印机如键盘、显示器、打印机数据通道数据通道如磁带、磁盘

3、如磁带、磁盘时钟时钟如如82540#,由此引发的中断由此引发的中断故障源故障源如掉电、存贮器奇偶校验错如掉电、存贮器奇偶校验错(2)内部中断源(软件中断源)内部中断源(软件中断源)执行执行INT软件中断指令软件中断指令如执行指令如执行指令INT21HCPU指令执行产生的异常指令执行产生的异常如被如被0除、单步执行除、单步执行 中断基本概念中断基本概念选通信号选通信号4.具有中断请求功能的输入接口示意图具有中断请求功能的输入接口示意图输输入入设设备备锁锁存存器器(8)三态三态缓冲缓冲器器(8)CPU数据线数据线RDQ+5V中断请求中断请求触发器触发器QD中断允许触发器中断允许触发器数据线数据线D

4、0位位地址译码器地址译码器INTR地址总线地址总线IOWIOR控制口选中控制口选中数据口选中数据口选中状态标志状态标志寄存器寄存器 中断基本概念中断基本概念5.中断系统中断系统为实现中断而采取的硬件和软件的确集合。为实现中断而采取的硬件和软件的确集合。6.中断系统应具备的基本功能中断系统应具备的基本功能对于硬件中断对于硬件中断,接口电路应具备接口电路应具备屏蔽屏蔽和和开放开放的功的功能能,这种功能由程序员通过软件去控制。这种功能由程序员通过软件去控制。能实现中断判优(中断排队),能实现中断判优(中断排队),当有多个中断源提出请求当有多个中断源提出请求时时,应能优先响应高级别的中断源。应能优先响

5、应高级别的中断源。中断基本概念中断基本概念能够实现中断嵌套能够实现中断嵌套,即高级别的中断源能够中断低级别的即高级别的中断源能够中断低级别的中断服务程序。中断服务程序。响应中断后,能自动转入中断处理,处理完毕能自动返回响应中断后,能自动转入中断处理,处理完毕能自动返回断点。断点。现现行行程程序序断点断点为为B服服务务B设备中断设备中断为为A服服务务A设备中断设备中断断点断点为为A服服务务设设“B”级别高于级别高于“A”中断基本概念中断基本概念1.开中断指令开中断指令STISTI功能:使功能:使F寄存器中寄存器中I标志置标志置1,CPU处于开中断状态。处于开中断状态。2.关中断指令关中断指令CL

6、ICLI功能:使功能:使F寄存器中寄存器中I标志置标志置0,CPU处于关中断状态。处于关中断状态。3.软件中断指令软件中断指令INTnINTnn为中断类型码为中断类型码,n为为0255之间有定义的无符号整数。之间有定义的无符号整数。功能:无条件转向功能:无条件转向n型中断服务子程序。型中断服务子程序。.280X86280X86的中断指令的中断指令的中断指令的中断指令 INTnINTn指令的执行过程指令的执行过程CPU响应软件中断的过程响应软件中断的过程F寄存器寄存器栈栈(保存保存INTn之前的之前的F状态状态)使使F中的中的T标志置标志置0禁止单步操作禁止单步操作I标志置标志置0CPU处于关中

7、断状态处于关中断状态断口地址断口地址栈栈先:断口基地址先:断口基地址(CS)栈,后:断口偏移地址栈,后:断口偏移地址(IP)栈栈CPU从从4n4n+3单元取出单元取出n型服务程序入口地址型服务程序入口地址IP:CS,从而转入从而转入n型中断服务程序。型中断服务程序。80X8680X86中断指令中断指令4.中断返回指令中断返回指令IRETIRET功能:依次从栈顶弹出功能:依次从栈顶弹出6个元素个元素IP,CS,F如果栈顶是如果栈顶是INTn的断口地址,则执行的断口地址,则执行IRET后,返回断点,否则不能。后,返回断点,否则不能。执行执行INTn栈顶示意图栈顶示意图执行执行IRET示意图示意图s

8、p断口偏移地址断口偏移地址断口段基址断口段基址FCSFIPspIRETIRET是中断服务子程序的出口指令是中断服务子程序的出口指令是中断服务子程序的出口指令是中断服务子程序的出口指令 80X8680X86中断指令中断指令.33中断向量中断向量中断向量中断向量 1.1.什么是中断向量?什么是中断向量?什么是中断向量?什么是中断向量?2.中断向量是实模式下,中断服务子程序的中断向量是实模式下,中断服务子程序的入口地址入口地址它由它由2部分组成部分组成:服务程序所在代码段的段基址服务程序所在代码段的段基址2个字节个字节 服务程序入口的偏移地址服务程序入口的偏移地址2个字节个字节2.2.中断向量表中断

9、向量表中断向量表中断向量表每个中断都指定了一个类型每个中断都指定了一个类型码码,也称为中断号。,也称为中断号。每一种中断每一种中断对应对应有一个中断服务程序有一个中断服务程序(InterruptServiceProgramISP)中断类型码通过一个中断类型码通过一个地址指针表地址指针表地址指针表地址指针表与中断服务程序的入口地址相联系:与中断服务程序的入口地址相联系:实模式实模式实模式实模式下:下:该表称为该表称为中断向量表中断向量表中断向量表中断向量表;保护模式保护模式保护模式保护模式下:该表称为下:该表称为中断描述符表中断描述符表中断描述符表中断描述符表。3.3.中断向量表的设置中断向量表

10、的设置中断向量表的设置中断向量表的设置CPU规定规定:在实模式下,中断在实模式下,中断向量表需设置在系统的向量表需设置在系统的RAM最低端的最低端的1K单元单元(00000H003FFH)00000H:00004H:003FCH:0型中断向量型中断向量1型中断向量型中断向量255型中断向量型中断向量n型中断向量型中断向量4*n:中断向量中断向量4.4.中断向量表的表地址与中断类型的关系中断向量表的表地址与中断类型的关系中断向量表的表地址与中断类型的关系中断向量表的表地址与中断类型的关系如:如:“21H”型中断向量:存放在型中断向量:存放在84H87H单元中单元中问:问:9CH型中断向量存放在何

11、处?型中断向量存放在何处?解:解:9CH4=1001110000=270H9CH型中断向量存于型中断向量存于270H273H单元中单元中4n+0+2+3+1n型服务程序入口的偏移地址型服务程序入口的偏移地址n型服务程序入口的段基址型服务程序入口的段基址n型中断型中断向量向量 中断向量中断向量5.5.中断向量的引导作用中断向量的引导作用中断向量的引导作用中断向量的引导作用 YYXX21H型中断向量型中断向量421H用户程序用户程序MOVAH,1INT21HMOVDL,ALNEXT:F寄存器内容寄存器内容堆栈区堆栈区NEXT的有效地址的有效地址NEXT的段基址的段基址XX:YY21H型服务程序型服

12、务程序IRETIPCSIPCSFIRETCPUCPU响应软件中断的过程响应软件中断的过程响应软件中断的过程响应软件中断的过程 中断向量中断向量6.6.中断向量表的初始化中断向量表的初始化中断向量表的初始化中断向量表的初始化 由由BIOS设计的中断服务程序设计的中断服务程序(如如INT16H,INT10H)其中断向量在加电时由其中断向量在加电时由BIOS负责写入中断向量表。负责写入中断向量表。由由DOS设计的中断服务程序设计的中断服务程序(如如INT21H)其中断向量是在其中断向量是在启动启动DOS时,由时,由DOS负责写入中断向量表。负责写入中断向量表。用户程序开发的中断服务程序,由用户程序写

13、入其中断向量。用户程序开发的中断服务程序,由用户程序写入其中断向量。中断向量中断向量XX:YY用户编写的用户编写的n型型中断服务程序中断服务程序IRETYYXX中断向量表中断向量表4n?问题:用户如何向中断向量表中写入中断向量?问题:用户如何向中断向量表中写入中断向量?问题:用户如何向中断向量表中写入中断向量?问题:用户如何向中断向量表中写入中断向量?中断向量中断向量方法一方法一方法一方法一、用户自己编写程序填写中断向量、用户自己编写程序填写中断向量、用户自己编写程序填写中断向量、用户自己编写程序填写中断向量CLIPUSHDSMOVAX,0000HMOVDS,AXMOVBX,4*nMOVAX,

14、OFFSETSERVICEMOVBX,AXMOVAX,SEGSERVICEMOVBX+2,AXPOPDSSTI 中断向量中断向量方方法二、法二、法二、法二、DOSDOS设计设计设计设计2 2个子程序,专门用于中断向量的读出、写入个子程序,专门用于中断向量的读出、写入个子程序,专门用于中断向量的读出、写入个子程序,专门用于中断向量的读出、写入INT21H的的35H子功能子功能功能:读出功能:读出n型中断向量型中断向量入口:入口:AL=中断类型码中断类型码出口:出口:ES:BX=n型中断向量型中断向量INT21H的的25H子功能子功能功能:写入功能:写入n型中断向量型中断向量入口:入口:DS=中断

15、服务程序所在代码段的段基址中断服务程序所在代码段的段基址DX=中断服务程序入口的偏移地址中断服务程序入口的偏移地址AL=中断类型码中断类型码出口:无出口:无 中断向量中断向量例:把用户程序中以例:把用户程序中以“TIMER”命名的中断服务子程序命名的中断服务子程序的入口地址的入口地址41CH41CH+3单元单元数:数:OLD1CDD?代:代:MOVAH,35HMOVAL,1CHINT21HMOVWORDPTROLD1C,BXMOVWORDPTROLD1C+2,ESPUSHDSMOVAX,CSMOVDS,AXMOVDX,OFFSETTIMERMOVAH,25HMOVAL,1CHINT21HPOP

16、DS 中断向量中断向量CPU中断中断硬件中断硬件中断(外部中断外部中断)软件中断软件中断PC机机256种种中断中断可屏蔽中断可屏蔽中断非屏蔽中断非屏蔽中断BIOS中断中断DOS中断中断DOS专用中断专用中断DOS保留中断保留中断用户可用用户可用DOS中断中断用户可开发的中断用户可开发的中断.44系统中断的分类系统中断的分类系统中断的分类系统中断的分类 CPU中断逻辑中断逻辑CPU中断中断软件中断(软件中断(INTn指令)指令)非屏蔽中断请求非屏蔽中断请求中中断断控控制制系系统统NMI可可屏屏蔽蔽中中断断请请求求INTR 系统中断的分类系统中断的分类1.CPU1.CPU中断中断中断中断 CPU中

17、断是指中断是指:CPU执行某些操作而引发的中断执行某些操作而引发的中断,这类中断使这类中断使用了用了0、1、3、4、6、7中断号。中断号。(1 1)除法错中断除法错中断除法错中断除法错中断0 0型中断型中断型中断型中断(2 2)单步中断单步中断单步中断单步中断1 1型中断型中断型中断型中断(3 3)断点中断断点中断断点中断断点中断3 3型中断型中断型中断型中断(4 4)溢出中断溢出中断溢出中断溢出中断4 4型中断型中断型中断型中断 系统中断的分类系统中断的分类 2.2.软件中断软件中断软件中断软件中断 执行执行有定义的有定义的INTn指令而引发的中断指令而引发的中断,称为软件中断。称为软件中断

18、。软件中断使用软件中断使用05H,10HFFH中的若干个中断号。又分为:中的若干个中断号。又分为:(1)BIOS中断中断BIOS中断中断,占用了占用了05H、10H1FH中断号中断号,用户程序执用户程序执行相关的软中断指令可以调用相应的中断服务程序。行相关的软中断指令可以调用相应的中断服务程序。INT05H屏幕打印屏幕打印;INT10H屏幕显示屏幕显示I/O;INT11H设备配置检测设备配置检测;系统中断的分类系统中断的分类INT12H测试内存容量测试内存容量;INT13H磁盘磁盘I/O;INT14H串行通信串行通信 I/O;INT15HBIOS扩展功能扩展功能;INT16H键盘键盘I/O;I

19、NT17H打印机打印机I/O;INT18H启动启动PC机机ROMBASIC(AT机机)无无;INT19H重新装入引导程序重新装入引导程序;INT1AH实时时钟管理。实时时钟管理。中断号中断号1DH,1EH,1FH,41H,46H也被也被BIOS占用了。但是,占用了。但是,与这些中断号对应的并不是中断服务程序。与这些中断号对应的并不是中断服务程序。系统中断的分类系统中断的分类(2)DOS中断中断DOS中断中断,又分为又分为DOS专用中断专用中断,DOS保留中断保留中断,用户可调用的用户可调用的DOS中断以及保留给用户开发的中断。中断以及保留给用户开发的中断。DOS专用中断专用中断22H型中断型中

20、断23H型中断型中断24H型中断型中断28H3FH型中断型中断 系统中断的分类系统中断的分类用户可调用的用户可调用的DOS中断中断20H型中断型中断21H型中断型中断25H型中断型中断26H型中断型中断27H型中断型中断用户可开发的用户可开发的DOS中断中断DOS保留的中断保留的中断 系统中断的分类系统中断的分类外部硬件中断外部硬件中断是由是由CPU以外的中断请求而引发的。如果有多以外的中断请求而引发的。如果有多个中断请求,怎样连接至个中断请求,怎样连接至CPU呢?呢?中断中断0中断中断n中断请求中断请求80X86INTR?8259A.58259A58259A中断控制器中断控制器中断控制器中断

21、控制器 1.8259A1.8259A的内部结构的内部结构的内部结构的内部结构数据数据总线总线缓冲器缓冲器D0D7读读/写写逻辑逻辑级连级连/缓冲缓冲比较器比较器CAS1CAS0CAS2SP/ENRDWRA0控制逻辑控制逻辑INTINTA中断中断服务服务寄存器寄存器(ISR)优先权优先权电路电路中断中断请求请求寄存器寄存器(IRR)IR0IR1IR2IR3IR4IR5IR6IR7中断屏蔽寄存器中断屏蔽寄存器(IMR)内内部部总总线线CS数据数据总线总线缓冲器缓冲器D0D7读读/写写逻辑逻辑级连级连/缓冲缓冲比较器比较器CAS1CAS0CAS2SP/ENRDWRA0控制逻辑控制逻辑中断中断服务服务

22、寄存器寄存器(ISR)优先权优先权电路电路中断中断请求请求寄存器寄存器(IRR)IR0IR1IR2IR3IR4IR5IR6IR7中断屏蔽寄存器中断屏蔽寄存器(IMR)内内部部总总线线CS(1 1)中断请求寄存器)中断请求寄存器)中断请求寄存器)中断请求寄存器(IRR)IRR)寄存引脚寄存引脚IR0IR7的中断请求信号的中断请求信号,IRRi位置位置1,表明,表明IRi引脚上有了中断请引脚上有了中断请求信号求信号 8259A8259A内部结构内部结构2.2.中断屏蔽寄存器中断屏蔽寄存器中断屏蔽寄存器中断屏蔽寄存器(IMR)IMR)寄存程序员写入的中断屏蔽字,屏蔽字某位寄存程序员写入的中断屏蔽字,

23、屏蔽字某位=1(IMRi位位=1),则与该位对应的则与该位对应的中断请求信号中断请求信号(IRRi位位)就不能送到中断优先权电路。就不能送到中断优先权电路。数据数据总线总线缓冲器缓冲器D0D7读读/写写逻辑逻辑级连级连/缓冲缓冲比较器比较器CAS1CAS0CAS2SP/ENRDWRA0控制逻辑控制逻辑中断中断服务服务寄存器寄存器(ISR)优先权优先权电路电路中断中断请求请求寄存器寄存器(IRR)IR0IR1IR2IR3IR4IR5IR6IR7中断屏蔽寄存器中断屏蔽寄存器(IMR)内内部部总总线线CS 8259A8259A内部结构内部结构如:如:MOVAL,11111100BOUT屏蔽寄存器口地

24、址,屏蔽寄存器口地址,AL;屏蔽屏蔽IRR7IRR2的请求开放的请求开放IRR1,IRR0如:如:INAL,屏蔽寄存器口地址屏蔽寄存器口地址ANDAL,11110111BOUT屏蔽寄存器口地址,屏蔽寄存器口地址,AL;开放开放IRR3的请求的请求;对其它位的请求不改变屏蔽对其它位的请求不改变屏蔽/开放的状态开放的状态 8259A8259A内部结构内部结构优优先先权权电电路路Q3Q4IR3IR4Q3Q4IMRIRR.数据数据总线总线缓冲器缓冲器D0D7读读/写写逻辑逻辑级连级连/缓冲缓冲比较器比较器CAS1CAS0CAS2SP/ENRDWRA0控制逻辑控制逻辑中断中断服务服务寄存器寄存器(ISR

25、)优先权优先权电路电路中断中断请求请求寄存器寄存器(IRR)IR0IR1IR2IR3IR4IR5IR6IR7中断屏蔽寄存器中断屏蔽寄存器(IMR)内内部部总总线线CS3.3.优先权电路优先权电路优先权电路优先权电路(排队电路排队电路排队电路排队电路)8259A8259A内部结构内部结构比较比较CPU正为之服务的中断源和刚进入优先权电路的中正为之服务的中断源和刚进入优先权电路的中断源,哪一个级别更高。断源,哪一个级别更高。通过判优通过判优选中选中其中级别最高的中断源,然后通过其中级别最高的中断源,然后通过控制电路,从控制电路,从INT端向端向CPU提中断请求。提中断请求。作用:作用:作用:作用:

26、比较同时送达优先权电路的中断请求,哪一个比较同时送达优先权电路的中断请求,哪一个级别最高。级别最高。8259A8259A内部结构内部结构数据数据总线总线缓冲器缓冲器D0D7读读/写写逻辑逻辑级连级连/缓冲缓冲比较器比较器CAS1CAS0CAS2SP/ENRDWRA0控制逻辑控制逻辑INTINTA中断中断服务服务寄存器寄存器(ISR)优先权优先权电路电路中断中断请求请求寄存器寄存器(IRR)IR0IR1IR2IR3IR4IR5IR6IR7中断屏蔽寄存器中断屏蔽寄存器(IMR)内内部部总总线线CS4.4.中断控制电路中断控制电路中断控制电路中断控制电路 8259A8259A内部结构内部结构通过通过

27、INTA接收接收CPU送来的中断响应信号,中断响应信号送来的中断响应信号,中断响应信号是是2个连续的负脉冲。个连续的负脉冲。INTA使使8259向向CPU送出被选中的中断源的中断类型码送出被选中的中断源的中断类型码使与被选中的中断源对应的使与被选中的中断源对应的ISRi位置位置1,IRRi位置位置0作用:作用:作用:作用:寄存一组初始化命令字和操作命令字,通过译码产寄存一组初始化命令字和操作命令字,通过译码产生内部控生内部控制信号制信号当判优电路选中一个中断源时向当判优电路选中一个中断源时向CPU提中断请求提中断请求(INT)8259A8259A内部结构内部结构数据数据总线总线缓冲器缓冲器D0

28、D7读读/写写逻辑逻辑级连级连/缓冲缓冲比较器比较器CAS1CAS0CAS2SP/ENRDWRA0控制逻辑控制逻辑INTINTA中断中断服务服务寄存器寄存器(ISR)优先权优先权电路电路中断中断请求请求寄存器寄存器(IRR)IR0IR1IR2IR3IR4IR5IR6IR7中断屏蔽寄存器中断屏蔽寄存器(IMR)内内部部总总线线CS5.5.中断服务寄存器中断服务寄存器中断服务寄存器中断服务寄存器(ISR)ISR)8259A8259A内部结构内部结构ISR:ISR:8位寄存器,位寄存器,ISRi位与位与IRRi位一一对应位一一对应作用:作用:作用:作用:记录记录CPU正为之服务的是哪一个中断源,怎样

29、记录?正为之服务的是哪一个中断源,怎样记录?反之,反之,如果如果ISR0位由位由10,表明,表明IR0的中断服务程序执行完了的中断服务程序执行完了所以所以ISR的每一位都是响应中断源的中断服务标志位。的每一位都是响应中断源的中断服务标志位。如:通过判优电路如:通过判优电路IRR0位的请求被选中,位的请求被选中,8259A向向CPU发中发中断请求,通过断请求,通过INTA收到第一个中断响应信号后,收到第一个中断响应信号后,ISR0位置位置1,IRR0位置位置0。ISR0位置位置1,表明,表明CPU正在准备正在准备(或正在或正在)执行执行IR0的服务程序。的服务程序。8259A8259A内部结构内

30、部结构6.6.数据总线缓冲器数据总线缓冲器数据总线缓冲器数据总线缓冲器 作用:作用:作用:作用:完成与完成与CPU数据线配接数据线配接接收初始化命令字,操作命令字接收初始化命令字,操作命令字当收到第二个中断响应脉冲时,通过他们当收到第二个中断响应脉冲时,通过他们向向CPU送出被选中的中断源的中断类型码送出被选中的中断源的中断类型码n在这之后在这之后CPU从从4n+04n+3单元取出单元取出n型中断向量,型中断向量,从而从而转入转入n型服务程序。型服务程序。8259A8259A内部结构内部结构7.7.读读读读/写控制模块写控制模块写控制模块写控制模块功能:功能:功能:功能:接收片选信号接收片选信

31、号CS CS、端口选择信号、端口选择信号A0A0和读写控制信和读写控制信 号号RDRD、WRWR。一片一片8259A8259A在系统中占用两个口地址在系统中占用两个口地址,用末位地址线用末位地址线A0A0选选择端口择端口,其它地址线通过译码产生其它地址线通过译码产生8259A8259A的片选信号。的片选信号。8.8.级连级连级连级连/缓冲比较器缓冲比较器缓冲比较器缓冲比较器 一位一位8259A可以管理可以管理8级中断,二片级中断,二片8259A“级连级连”可管理可管理15级中断,级连级中断,级连/缓冲比较器是为完成多片缓冲比较器是为完成多片8259A级连设置的级连设置的模块。模块。8259A8

32、259A内部结构内部结构 8259A 8259A 8259A 8259A的管脚的管脚的管脚的管脚IR0IR7IR0IR7:外部中断请求信号输入外部中断请求信号输入INTINT:输出,提向:输出,提向CPU的的INTR端端INTAINTA:输入,接收:输入,接收CPU发来的中断响应发来的中断响应D0D7D0D7:输入:输入/输出,数据总线输出,数据总线CSCS:片选信号:片选信号A0A0:地址线:地址线A0,用于选择内部端口,用于选择内部端口WRWR、RDRD:读:读/写控制信号写控制信号CAS0CAS2CAS0CAS2:用于:用于8259级联级联SP/ENSP/EN:用于:用于8259级联级联

33、CSWRRDD7D6D5D4D3D2D1D0CAS0CAS1GNDVccA0INTAIR7IR6IR5IR4IR3IR2IR1IR0INTSP/ENCAS212822732642552462372282192010191118121713161415管脚信号管脚信号2.8259A2.8259A的中断过程的中断过程的中断过程的中断过程CPUCPU响应硬件中断的过程响应硬件中断的过程响应硬件中断的过程响应硬件中断的过程首先由中断请求寄存器寄存加到引脚首先由中断请求寄存器寄存加到引脚IR0IR7上的中上的中断请求。断请求。在中断屏蔽寄存器的管理下在中断屏蔽寄存器的管理下,没有被屏蔽的中断请求被没有被

34、屏蔽的中断请求被送到优先权电路判优。送到优先权电路判优。经过优先权电路的判别经过优先权电路的判别,选中当前级别最高的中断源选中当前级别最高的中断源,然然后从引脚后从引脚INT向向CPU发出中断请求信号。发出中断请求信号。CPU满足一定条件后满足一定条件后,向向8259A发出发出2个中断响应信号个中断响应信号(负负脉冲脉冲)。在实模式下在实模式下,CPU从从4n4n3单元取出该中断源单元取出该中断源的中断向量的中断向量IP、CS,从而引导从而引导CPU执行该中断源的执行该中断源的中断服务程序。中断服务程序。8259A从引脚从引脚INTA收到第收到第1个中断响应信号之后个中断响应信号之后,立即立即

35、使中断服务寄存器中与被选中的中断源对应的那一位使中断服务寄存器中与被选中的中断源对应的那一位置置1,同时把中断请求寄存器中的相应位清同时把中断请求寄存器中的相应位清0。从引脚从引脚INTA收到第收到第2个中断响应信号后个中断响应信号后,8259A把选中把选中的中断源类型码的中断源类型码n,通过数据线送往通过数据线送往CPU。3.8259A3.8259A的中断管理方式的中断管理方式的中断管理方式的中断管理方式 82598259A A中断管理中断管理中断管理中断管理方式方式方式方式中断触发方式中断触发方式中断屏蔽方式中断屏蔽方式中断优先级管理方式中断优先级管理方式中断结束方式中断结束方式总线连接方

36、式总线连接方式边沿触发边沿触发电平触发电平触发常规屏蔽方式常规屏蔽方式特殊屏蔽方式特殊屏蔽方式完全嵌套方式完全嵌套方式特殊嵌套方式特殊嵌套方式优先级循环方式优先级循环方式自动自动EOI方式方式非自动非自动EOI方式方式缓冲方式缓冲方式非缓冲方式非缓冲方式常规常规EOI循环方式循环方式自动自动EOI循环方式循环方式特殊特殊EOI循环方式循环方式常规常规EOI方式方式特殊特殊EOI方式方式中断触发方式中断触发方式 边沿触发边沿触发边沿触发边沿触发IRi出现上升沿表示有中断请求出现上升沿表示有中断请求 电平触发电平触发电平触发电平触发IRi出现高电平表示有中断请求出现高电平表示有中断请求在第在第1个

37、个INTA#结束前,结束前,IRi必须保持高电平必须保持高电平屏蔽中断源的方式屏蔽中断源的方式屏蔽中断源的方式屏蔽中断源的方式 常规屏蔽方式常规屏蔽方式常规屏蔽方式常规屏蔽方式 MR屏蔽字决定了屏蔽字决定了允许或禁止允许或禁止某位某位IRi所对应的中断所对应的中断:IMi=1禁止,禁止,IMi=0允许。允许。特殊屏蔽方式:特殊屏蔽方式:特殊屏蔽方式:特殊屏蔽方式:提供了允许较低优先级的中断能够得到响应的特殊手段。提供了允许较低优先级的中断能够得到响应的特殊手段。原理原理:假定当前正在处理:假定当前正在处理IR6,先,先进入特殊屏蔽方式,然进入特殊屏蔽方式,然后后设置设置IM6=1。这时,除。这

38、时,除IR6外的所有中断请求均能得到外的所有中断请求均能得到响应。响应。特殊屏蔽方式中只能用特殊屏蔽方式中只能用SEOI命令结束中断。命令结束中断。中断优先级管理方式中断优先级管理方式中断优先级管理方式中断优先级管理方式 两类优先级控制方式:两类优先级控制方式:固定优先级和循环优先级固定优先级和循环优先级固定优先级和循环优先级固定优先级和循环优先级 固定优先级方式固定优先级方式固定优先级方式固定优先级方式所有中断请求所有中断请求IRi的中断优先级固定不变的中断优先级固定不变优先级排列顺序可编程改变优先级排列顺序可编程改变加电后加电后8259A的默认方式,默认优先级顺序从高到低的默认方式,默认优

39、先级顺序从高到低为为IR0IR7IR7IR6IR5IR4IR3IR2IR1IR07654321032107654最低级最高级最高级最低级优先级优先级IR7IR6IR5IR4IR3IR2IR1IR0默认优先级默认优先级优先级可编程改变优先级可编程改变 循环优先级方式循环优先级方式循环优先级方式循环优先级方式中断源轮流处于最高优先级,即自动中断优先级循环中断源轮流处于最高优先级,即自动中断优先级循环初始优先级顺序可用编程改变初始优先级顺序可用编程改变某中断请求某中断请求IRi被处理后,其优先级别自动降为最低,被处理后,其优先级别自动降为最低,原来比它低一级的中断上升为最高级原来比它低一级的中断上升

40、为最高级IR7IR6IR5IR4IR3IR2IR1IR07654321021076543最低级最高级最高级最低级ISR内容内容IR7IR6IR5IR4IR3IR2IR1IR0IR4的服务结束以前的服务结束以前0101000001000000IR4的服务结束以后的服务结束以后ISRi中断嵌套中断嵌套中断嵌套中断嵌套方式方式方式方式在中断处理过程中允许被更高优先级的事件所中断称为在中断处理过程中允许被更高优先级的事件所中断称为中断嵌套。中断嵌套。8259A有两种中断嵌套方式:有两种中断嵌套方式:普通全嵌套方式(默认方式)普通全嵌套方式(默认方式)普通全嵌套方式(默认方式)普通全嵌套方式(默认方式)

41、一中断正被处理时,只有更高优先级的事件可以打一中断正被处理时,只有更高优先级的事件可以打断当前的中断处理过程而被服务。断当前的中断处理过程而被服务。特殊全嵌套方式特殊全嵌套方式特殊全嵌套方式特殊全嵌套方式 一中断正被处理时,允许同级或更高优先级的事件一中断正被处理时,允许同级或更高优先级的事件可以打断当前的中断处理过程而被服务。可以打断当前的中断处理过程而被服务。注注:特殊全嵌套仅用于多个特殊全嵌套仅用于多个8259A级连时的主级连时的主8259A,而,而不能用于从属不能用于从属8259A或单或单8259A系统。系统。D.主主8259AIR0IR1IR2IR3IR4IR5IR6IR7一般嵌套方

42、式:一般嵌套方式:从从片片的的INT被被主主片片封封锁锁,故故更更高高级级别别的的IR0-IR2中中断断也也无无法法得到响应得到响应特殊嵌套方式:特殊嵌套方式:因因主主片片不不封封锁锁从从片片的的INT,故故级级别别高高的的IR0-IR2中中断断可可以以得得到到响响应应。(但但IR3-IR7仍仍被被本本从从片片封锁封锁)C.假定假定IR7发生中发生中断断,并获得服务并获得服务一一般般嵌嵌套套方方式式:IR4的的中中断断被被服服务务时时,这这些些中中断断将将被封锁。被封锁。B.特特殊殊嵌嵌套套方方式式:IR4的的中中断断被被服服务务 时时,只只 封封 锁锁IR5-IR7。A.INTE.从从825

43、9AINTIR0IR1IR2IR3IR4IR5IR6IR7一般全嵌套方式与特殊全嵌套方式的区别一般全嵌套方式与特殊全嵌套方式的区别 去去CPU中断结束处理方式中断结束处理方式中断结束处理方式中断结束处理方式当某一当某一IRi中断被服务时,中断被服务时,ISR中的相应位中的相应位ISRi=1。当服务。当服务结束后,则必须清零该结束后,则必须清零该ISRi位。使位。使ISRi=0是通过向是通过向8259A发出中断结束命令(发出中断结束命令(EOI命令)实现的。命令)实现的。三种三种三种三种EOIEOI命令命令命令命令自动自动EOI(AEOI)(自动(自动EOI方式)方式)非指定非指定EOI(NSE

44、OI)(正常(正常EOI方式)方式)指定指定EOI(SEOI)(特殊(特殊EOI方式方式)AEOIAEOI:在第在第2个个INTA#结束时,由结束时,由8259A使使ISRi自动复位;自动复位;因不保留当前正在服务的中断的状态,故因不保留当前正在服务的中断的状态,故AEOI不能不能用于中断嵌套方式用于中断嵌套方式 SEOISEOI:由由CPU发出一条发出一条SEOI命令,该命令,该EOI命令中指出了命令中指出了所要复位的所要复位的ISR的位号。的位号。用于特殊屏蔽方式用于特殊屏蔽方式 NSEOINSEOI:由由CPU发出正常发出正常EOI命令,该命令,该EOI命令使命令使ISRi=1的位中优先

45、级最高的那一位复位。的位中优先级最高的那一位复位。用于普通全嵌套方式用于普通全嵌套方式中断服务程序中断服务程序向从向从PIC发发EOI命令命令读从读从PIC的的ISR全全0?向主向主PIC发发EOI命令命令YIRET恢复现场恢复现场Nn n特殊全嵌套方式下的特殊全嵌套方式下的特殊全嵌套方式下的特殊全嵌套方式下的EOIEOI处理处理处理处理n只有当从只有当从PIC的中的中断全部处理完后,才断全部处理完后,才能向主能向主PIC发发EOI命命令令4.8259A4.8259A的编程的编程的编程的编程 8259A的控制命令分为的控制命令分为初始化命令字初始化命令字ICWICW1ICW4向向8259A写入

46、写入ICW的过程称为的过程称为初始化编程初始化编程操作命令字操作命令字OCWOCW1OCW3向向8259A写入写入OCW的过程称为的过程称为操作方式编程操作方式编程8259A8259A内部寄存器的寻址方法内部寄存器的寻址方法内部寄存器的寻址方法内部寄存器的寻址方法CS#RD#WR#A0D4D3读读写操作写操作010000写写OCW2写写OCW3写写ICW1写写ICW2,ICW3,ICW4,OCW1(顺顺序写入序写入)00101x1xx00101xx读读出出IRR、ISR读读出出IMRn需要需要CS#、A0、RD#、WR#和和D4、D3的配合的配合n内部寄存器的访问方法如下表:内部寄存器的访问方

47、法如下表:初始化命令字初始化命令字ICW(InitializationCommandWord)通常是系统开机时,由通常是系统开机时,由初始化程序填写,且在整个系统工作过程中保持不变。初始化命令字必须按顺初始化程序填写,且在整个系统工作过程中保持不变。初始化命令字必须按顺序填写。序填写。(1)ICW11初始化命令字初始化命令字1需要需要ICW40不需要不需要ICW41单片单片8259A0级连级连86系统不用系统不用(通常为通常为0)1电平触发方式电平触发方式0边沿触发方式边沿触发方式86系统不用系统不用(通常为通常为0)A0D7D6D5D4D3D2D1D001LTIMADISNGLICW4 82

48、59A8259A的编程的编程1T7T6T5T4T3 A0D7D6D5D4D3D2D1D01(2)(2)ICWICW2 2设置中断类型码设置中断类型码设置中断类型码设置中断类型码注:注:T7T3中断向量类型码高位,中断向量类型码高位,由编程决定由编程决定低三位低三位自动设置为自动设置为IR0IR7的类型编码的类型编码(000 111)D7D6D5D4D3D2D1D0IR7T7T6T5T4T3111IR6T7T6T5T4T3110IR5T7T6T5T4T3101IR4T7T6T5T4T3100IR3T7T6T5T4T3011IR2T7T6T5T4T3010IR1T7T6T5T4T3001IR0T7

49、T6T5T4T30008259A8259A传送的中断类型码传送的中断类型码传送的中断类型码传送的中断类型码 8259A8259A的编程的编程1S7S6S5S4S3S2S1S01IR输输入入带带有有一一个个从控制器从控制器0IR输输入入不不带带一一个个从控制器从控制器A0D7D6D5D4D3D2D1D01100000ID2ID1ID0从从控控制制器器ID,编编码码000111分分别别对对应应该该从从片片的的INT往往主主片片的的IR0IR7哪哪个个端端子输入。子输入。A0D7D6D5D4D3D2D1D01(3)ICW(3)ICW33(主控制器)主控制器)主控制器)主控制器)ICWICW33(从控

50、制器)从控制器)从控制器)从控制器)8259A8259A的编程的编程186/88模式模式080/85模式模式1自动自动EOI0非自动非自动EOI0X非缓冲方式非缓冲方式10缓缓冲冲方方式式/从从控控制制器器11缓缓冲冲方方式式/主主控控制制器器1特殊完全嵌套方式特殊完全嵌套方式0非特殊完全嵌套方式非特殊完全嵌套方式A0D7D6D5D4D3D2D1D01(4)ICW(4)ICW4 4000SFNMBUFM/SAEOI PMPM 8259A8259A的编程的编程8259A8259A初始化编程流程图初始化编程流程图初始化编程流程图初始化编程流程图ICW1奇地址奇地址ICW2偶地址偶地址ICW3奇地址

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁