




已阅读5页,还剩58页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,不可屏蔽中断请求,中断逻辑,单步,中断控制器,8259,外部中断,NMI,INTR,CPU,IBMPC机中断系统,7.4可编程中断控制器8259A,能管理8级外中断,在不增加其他电路的情况下,通过芯片级联方式最多可以管理64级外中断。,对每个中断源的请求可以允许/屏蔽。,在中断响应周期,提供相应的中断类型码,以便转中断服务程序。,7.4.18259A的编程模型,D7D0IRQ0RD中断服务中断优先中断请求WR寄存器级分析器寄存器IRQ7INTISRPRIRRINTA地地址CSICW1IMR(OCW1)址线译码ICW2OCW2A0CAS0ICW3OCW3CAS1操作命令字寄存器CAS2ICW4SP/EN初始化命令字寄存器,1.中断请求寄存器IRR(8位)存放外中断的中断请求IRQ0IRQ7,若IRQi有外中断请求时,则相应的Di位置1。,2.中断屏蔽寄存器IMR(8位)对IRR起屏蔽作用。当某中断需要屏蔽时,IMR中的对应位置。,3.优先级判别器PR(8位)对保存在IRR中未被屏蔽的中断请求进行判优,确定最高优先级。,4.中断服务寄存器ISR(8位)记录当前正在处理中的所有中断级。当某个(或几个)中断级正在被服务时,ISR中对应位置。,5.初始化命令字寄存器ICW1ICW4(8位)初始化时用于存放8259A的初始化命令字ICW1ICW4,在以后的操作过程中基本保持不变,6.操作命令字寄存器OCW1OCW3(8位)用于存放操作数OCW1OCW3,以实现对中断过程动态管理。其中寄存器OCW1即中断屏蔽寄存器IMR。,7.4.28259A的外部引脚D0D7双向三态数据线IRQ7IRQ0(I)中断请求INT(O)中断请求(接至CPU的INTR)INTA(I)中断允许(接至CPU的INTA)RD(I)读控制线WR(I)写控制线CS(I)片选,SP/EN从片/允许缓冲信号工作于缓冲方式(EN)用作输出,控制缓冲器的收发;工作于其它方式(SP)用作输入,用于控制是主片(SP=1)还是从片(SP=0)。,CAS0CAS2级联信号线,用于级联主片输出;从片输入,A0(I)内部寄存器寻址,注意:寄存器ICW1ICW4和OCW1OCW3只占用两个I/O端口地址(奇地址和偶地址),由引脚A0的输入信号来选择。,例18259A在IBMPC/XT机中的连接,在IBM-PC/XT机中,用A9A8A7A6A5=00001(即CS=0)选中8259A;用A0地址接于A0,选择内部寄存器;A4A3A2A1未用。A9A8A7A6A5A4A3A2A1A0基本地址000010020H(偶地址)000011021H(奇地址),INTAINTACAS0IRQ0CAS11RQ1INTACAS2CAS0INTIRQ7INTRCAS1SP/ENINTCAS2IRQ0IRQ1INTACAS0IRQ0IRQ7CAS1IRQ1SP/ENCAS2+5VINTIRQ7SP/EN,例28259A的级联,7.4.38259A的工作方式,1.中断嵌套方式,普通全嵌套方式,特殊全嵌套方式,该方式的中断优先权固定,IRQ最高,依次到IRQ最低。普通全嵌套方式是8259A最常用且是默认的工作方式。,主要用在级联情况。与全嵌套方式基本相同,区别有两点:CPU响应某从片中断请求后,并不屏蔽该从片的中断;退出中断服务程序之前,要检查该从片中是否还有其它中断源。,2.中断屏蔽方式,普通屏蔽方式,特殊屏蔽方式,根中断线中任一根都可根据要求单独屏蔽,只要将IMR寄存器的对应位置,就可屏蔽掉相应的中断请求。,正在处理的中断优先级别最低,其他未屏蔽的中断源都可中断其服务程序。,3.中断优先权循环方式,全嵌套方式中,中断源的优先权是固定的,故又称为固定优先权方式。实际中,中断源的优先权不一定有明显的等级,而且优先权还有可能改变。在8259A中有下列两种改变优先权的方法:自动循环方式(等优先权方式)特殊循环方式(指定最低级的循环方式),自动循环(等优先权)方式,初始优先权是固定的(由高到低:IRQ、IRQ1、IRQ)。某级中断被处理完,它的优先级降为最低,而原来比它低一级的中断请求升为最高级。,例:初始顺序由高到低:IRQ、IRQ、IRQ。若IRQ中断,其服务程序执行完后,优先权顺序由高到低调整为:IRQ、IRQ、IRQ、IRQ,特殊(指定最低级的)循环方式,与自动循环方式的不同在于初始优先权不是固定的,在程序中利用操作命令字指定最低优先级,其他中断源的优先级也随之确定。,例:初始设置IRQ5优先权最低,则最初优先权由高到低为:IRQ6、IRQ7、IRQ、IRQ、IRQ5,4.中断查询方式,查询方式可用来查询8259A是否有中断请求正在被处理。如果有,则给出当前处理的最高优先级是哪一级。,5.中断结束方式,中断处理结束后须将ISR相应位清,以开放同级或低级的中断请求,清除的方式就是中断结束方式。,CPU响应中断请求时,8259A自动将ISR的相应位清。,自动结束方式,非自动结束方式(常用),中断服务程序末尾向8259A发出中断结束(EOI)命令,清除ISR对应位。普通EOI命令(全嵌套方式):自动清除最高优先权位特殊EOI命令(任意方式):位编码指定清除位,6.中断触发方式,8259A的IRQi引脚上出现上升沿信号表示有中断请求。,边沿触发方式,电平触发方式,8259A的IRQi引脚上出现高电平信号表示有中断请求。,7.4.48259A的的编程,1.初始化命令字(ICW),用来规定8259A的初始状态,ICW1、ICW2、ICW3、ICW4,(1)ICW1字用于设置中断请求信号的有效形式、单片/级联、是否跟ICW4字等,0,A0D7D6D5D4D3D2D1D0,标志位(用于寻址),IC4,1:跟ICW4字,0:不跟,S,1:单片方式,0:级联方式,1LTIM,1:高电平触发,0:上升沿触发,偶地址,说明:在IBM-PC机中,ICW1=00010011B(13H),其工作方式为:中断请求信号为上升沿触发,单片方式,后要跟ICW4字。装入程序:MOVAL,13H;MOVDX,020HOUTDX,AL;,说明:在IBM-PC/XT机中,ICW2=00001B即:0级中断类型码为08H(IRQ0),1级中断类型码为09H(IRQ1),7级中断类型码为0FH(IRQ7)。,(2)ICW2字用于设置中断类型码,(3)ICW3字仅用于级联,A0D7D6D5D4D3D2D1D0,1,(奇地址),1:相应IRQ接从8259;0:不接8259,主片ICW3,A0D7D6D5D4D3D2D1D0,1,(奇地址),从片INT接主片的IRQ的编号,从片ICW3,00000,(4)ICW4字,A0D7D6D5D4D3D2D1D0,1000SFNMBUFM/SAEOIuPM,(奇地址),1:8086/88,0:8080/85,1:自动结束,0:非自动结束,0:非缓冲方式10:缓冲方式/从片11;缓冲方式/主片,1:特殊全嵌套方式,0:正常全嵌套方式,(5)8259A初始化字装入规则,送ICW1字,送ICW2字,送ICW3字,送ICW4字,IC4=1?,(偶地址),(奇地址),(奇地址),单片?,紧跟IC4?,Y,N,N,Y,(奇地址),S=1?,1、对于每片8259,ICW1和ICW2是必须的。但ICW3和ICW4则根据需要设置。,2、级联情况下,主片和从片8259均要设置ICW3。但主片和从片的ICW3设置的内容不同。,3、ICW1必须写在偶地址寄存器中。而ICW2ICW4则必须写在奇地址寄存器中,并且要注意顺序,不能顺序颠倒或无序。,2.操作命令字OCW,写入初始化命令字以后,8259A就处于就绪状态。如果要改变中断优先权管理方式或状态,或者需要读8259A内部寄存器,则需要向8259A写入有关操作命令字。,OCW1、OCW2、OCW3,操作命令字可随时写入写入时可以不按顺序进行,(1)OCW1中断屏蔽操作命令字(IMR),1:被屏蔽;0:未屏蔽,M0,M1,M2,M3,M4,M5,M6,M7,1,A0D7D6D5D4D3D2D1D0,(奇地址),(2)OCW2优先循环和中断结束方式操作命令字,A0D7D6D5D4D3D2D1D00RSLEOI00L2L1L0,说明:D7(R)优先循环方式设定位0:非循环方式1:优先级循环方式,(偶地址),D6(SL)设定L2L1L0是否有效0:无效;1:有效,D5(EOI)中断结束命令位非自动结束方式由该位结束中断。EOI=1,使ISR的相应位复位(清0)。操作:MOVAL,20HMOVDX,020HOUTDX,AL,R、SL、EOI三位组合为中断结束方式及循环方式,D2D1D0(L2L1L0)当SL=1时有效,用于指示该操作命令字涉及的哪一级中断。例:L2L1L0=011,则3级为最低,4级为最高,依次为:45623,(3)OCW3字,说明:D6D5(ESMM)(SMM)0:无意义11:设置特殊屏蔽方式10:撤消特殊屏蔽方式,(偶地址),D2D1D0(P)(RR)(RIS)00:无操作010:下一个读指令读取IRR011:下一个读指令读取ISR1:下一个读指令读中断状态(查询命令),7.4.58259A的应用,8259A在IBMPC/XT机中的应用,一片8259A基地址020H和021H,中断级类型码中断向量地址功能0级08H00020H实时时钟1级09H00024H键盘2级0AH00028H保留(可做实验口)3级0BH0002CH保留(串行口2)4级0CH00030H保留(串行口1)5级0DH00034H硬盘6级0EH00038H软盘7级0FH0003CH打印机,在IBM-PC/XT机中用1片8259A管理8级外中断,即07级,其中0级优先权最高,7级最低,具体如下:,BIOS关于8259A初始化程序段:,INTA00EQU020HINTA01EQU021HMOVAL,13HMOVDX,INTA00OUTDX,ALMOVAL,08HMOVDX,INTA01OUTDX,ALMOVAL,09HOUTDX,AL,ICW1:边沿触发,单片8259,需要ICW4,ICW2:IRQ0IRQ7对应的中断类型码为08H0FH。,ICW4:普通全嵌套方式、缓冲方式、非自动结束。,IBM-PC/XT机初始化命令字在系统启动时已自动装入。特点为:,1.中断采用正常全嵌套方式优先级是固定的,顺序为:IRQ0IRQ1IRQ2IRQ7,2.中断采用正常结束方式(非自动)在每个中断服务程序的最后要用中断结束命令:MOVAL,20HMOVDX,020HOUTDX,AL,例7.1在IBMPC/XT机中,从BUF开始的数据缓冲区中放有100个字符的字符串,中断请求信号通过IRQ输入,每中断一次,则通过地址为27FH的端口输出一个字符,字符串全部输出后返回操作系统。,;主程序DATASEGMENT;数据段BUFDB100DUP(?)DATAENDSCODESEGMENT;代码段ASSUMECS:CODE,DS:DATASTART:MOVDX,DATAMOVDS,AXPUSHDS;设置中断向量MOVAX,SEGINTPRMOVDS,AXMOVDX,OFFSETINTPRMOVAL,0AHMOVAH,25HINT21HPOPDS,MOVDX,021H;开放IRQ中断INAL,DXANDAL,0FBHOUTDX,ALMOVSI,OFFSETBUF;设置地址指针MOVCX,100;计数器赋初值STI;开中断LOP:HLT;等待中断LOOPLOP;CX-,等待下一次中断MOVDX,021H;CX-,关闭IRQ中断INAL,DXORAL,04HOUTDX,ALMOVAH,4CH;返回INT21H,;中断服务程序INTPRPROCNEARMOVAL,SI;输出一个字符MOVDX,27FHOUTDX,ALINCSI;修改地址指针MOVAL,20H;发中断结束命令MOVDX,020HOUTDX,ALIRET;返回主程序INTPRENDPCODEENDSENDSTART,说明:CPU执行到HLT指令时,不断进行空操作,直到接到INTR,才退出空操作,转到中断服务程序,28259A在IBMPC/AT机中的应用,主片的级中断都被系统占用(其中IRQ2被从片占用),从片尚保留级未用;其他的中断请求信号都来自I/O通道的扩展板。,*从片基地址A0H和A1H,中断码70H77H;,*主片基地址20H和21H,中断码08H0FH;主片IRQ2级联出IRQ8IRQ15;,、掌握中断的基本概念和中断过程;、熟悉中断系统(中断源、中断向量表、中断响应过程等);、熟悉8259的编程模型、工作方式及简单应用。,END,;主8259A的初始化MOVAL,11H;,边沿触发,级联方式OUT20H,AL;ICW1MOVAL,08H;设定IRQ0的中断类型码为08HOUT21H,AL;ICW2MOVAL,04H;主片IRQ2级联从片OUT21H,AL;ICW3MOVAL,11H;特殊全嵌套方式,普通EOI方式OUT21H,AL;ICW4,(1)8259A初始化编程,;从8259A初始化MOVAL,11H;边沿触发,级联方式OUT0A0H,AL;ICW1,MOVAL,70H;设从片IRQ0的中断类型码为70HOUT0A1H,AL;ICW2,MOVAL,02H;从片IRQ2级联于主片的IRQ2OUT0A1H,AL;ICW3MOVAL,01H;普通全嵌套方式,普通EOI方式OUT0A1H,AL;ICW4,中断服务程序结束时必须用软件来检查被服务的中断是否是该从片中唯一的中断请求,只有从片所有中断服务完后,才能向主片发EOI命令结束从片中断请求进行服务时,主片的优先权控制逻辑不屏蔽该从片,使该从片的更高优先级的中断请求仍能被主片识别,(2)级联工作编程,;读ISR的内容MOVAL,0BH;写入OCW,读ISROUT0A0H,ALNOP;延时,等待8259A操作结束INAL,0A0H;读出ISR;从片发EOI命令MOVAL,20H;写从片EOI命令OUT0A0H,AL;主片发EOI命令MOVAL,20H;写主片EOI命令OUT20H,AL,3、8259A在IBM-PC机中的使用,在IBM-PC机中用1片8259A管理8级外中断(见前述),其初始化命令字在系统启动时已自动装入,工作方式为:(1)中断请求触发为上升沿有效;(2)中断采用正常全嵌套方式,特点:优先级是固定的,即0级(IRQ0)最高,7级(IRQ7)最低;顺序为:IRQ0IRQ1IRQ2IRQ7;低、高级中断同时请求时,响应高级中断;,低级中断执行时,高级中断可以嵌入低级中断;执行条件:主程序中要有开中断指令,使IF=1时,才可能响应中断;中断服务程序中要有开中断指令,才可能使高级中断嵌入;,(3)中断采用正常结束方式(非自动)因此在每个中断服务程序的最后要使用关中断指令:MOVAL,20H;OUT20H,AL;,初始化,中断结束,关中断,IRET,开中断,IR2中断,IR3中断,开中断,开中断,开中断,开中断,IRET,中断结束,关中断,关中断,主程序,IRQ3请求,IRQ2请求,中断嵌套过程,IRQ0,IRQ0,1,0,8259,IRQ0,IRQ1,IRQ2,IRQ3,IRQ4,IRQ5,IRQ6,IRQ7,INT,8086CPU,INTR,利用8259A对外部可屏蔽中断进行控制时应完成:,1.分配合适的中断级,2.设计或选择中断请求信号产生逻辑,3.设置中断向量表,开放中断,按照任务的紧急程序安排中断优先级,越紧急,分配优先级越高的IRQ端只能利用没有被系统已有设备占用的IRQ端,将中断服务程序的入口地址置入中断向量表清除8259A对相应IRQ的屏蔽,例:某8088系统中8259A单级使用,端口地址80H和81H:,MOVAL,18H;ICW2字OUT81H,AL;,向8259A写入I
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年国家公共图书馆研究生入学考试试卷
- 2025年现代统计分析与决策支持的课程考试卷及答案
- 2025年甘肃省特岗教师招聘2261人笔试参考题库及答案详解1套
- 物资装备仓库管理制度
- 特困中心安全管理制度
- 特护病房护士管理制度
- 特殊体质学生管理制度
- 特殊学校代币管理制度
- 特殊教育培训管理制度
- 特殊病例后续管理制度
- 2024年全国导游资格考试《导游业务》考试真题及参考答案
- 苏炳添人物介绍运动体育介绍人物经历流线历程动画精美课件
- 2024年下半年南昌财政局事业单位招考易考易错模拟试题(共500题)试卷后附参考答案
- 《棉铃虫的习性》课件
- 售后延保合同范例
- 通信工程建设标准强制性条文汇编(2023版)-定额质监中心
- 中建2024装配式建筑+铝模一体化施工技术手册
- 2024秋国开《职场写作》形考作业1-4参考答案
- 自动寻优控制系统在生料立磨中的应用实践
- 土地延期合同范本
- 1.4行列式的性质
评论
0/150
提交评论