微型计算机原理与接口技术课件 第07章 中断控制接口_第1页
微型计算机原理与接口技术课件 第07章 中断控制接口_第2页
微型计算机原理与接口技术课件 第07章 中断控制接口_第3页
微型计算机原理与接口技术课件 第07章 中断控制接口_第4页
微型计算机原理与接口技术课件 第07章 中断控制接口_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

第7章中断控制接口第7章中断控制接口中断系统概述中断控制器8259A8259A的程序设计8259A在IBMPC系列机中的应用PC机中断系统

中断请求与中断源INTn指令中断逻辑非屏蔽中断请求8259IRQIRQIRQIRQIRQIRQIRQIRQ51234067INTR(08~0FH)NMI(2)(70H~77H)单步(1)断点(3)溢出(4)TF

IF除法错(0)外部中断:可屏蔽中断和非可屏蔽中断。内部中断:除法错等中断,软中断。OF

PC机中断系统中断系统的功能实现中断与返回:能够响应中断,转到相应的中断服务程序,处理结束后能够返回到断点处。实现优先级排队:多个中断源同时发出中断请求时,中断系统能够按优先级依次进行处理。实现中断嵌套:CPU在处理低级中断时,若出现更高级的中断请求,应暂停对较低级的中断的处理,转去处理较高级的中断。PC机中断系统CPU响应中断的条件有中断请求信号:主要指外部中断,如INTR、NMI。中断请求没有被屏蔽:每个中断源都可以在CPU的控制下发出中断请求信号(INTR),如8250的IER寄存器和OUT0、OUT1信号,8255A的PC2、4、6以及8259的IMR。CPU的中断是开放的:CPU只有在标志寄存器中的IF标志为1时才对外部中断请求信号(INTR)进行响应。CPU可通过STI、CLI指令对IF标志置1或清0。CPU在现行指令执行完毕时才响应中断满足以上条件的情况下PC机中断系统中断源可分为两大类:来自CPU内部的来自CPU外部的外部中断可屏蔽中断:指CPU可通过指令来控制是否允许对它的请求进行响应的中断。在正常情况下,这样的中断源在一个计算机系统中不只一个,可是86系列CPU只有一个INTR输入端。在86系列微机中是使用了可编程的中断控制器8259A来协助CPU管理各种不同的中断源的。非屏蔽中断:NMI输入端上的信号不能被屏蔽,即使在关中断的情况下(IF=0),在执行完当前指令以后CPU也会立即响应。非屏蔽中断的方式码固定为2。内部中断方式0——除法错中断执行DIV或IDIV指令时,商数超过了机器所能表示的最大值。方式1——单步中断陷阱标志位TF=1。方式3——断点中断一条用来设置程序断点的单字节指令。方式4——溢出中断溢出标志位OF=1。方式5——用户定义的软件中断8259A的引脚8259AD0~D7RD#WR#CS#A0INTINTA#…..IRQ0IRQ1IRQ7CAS0CAS1CAS2级联SP/EN主从/缓冲中断源8259A的内部结构8259A(一片)的中断响应顺序外部设备提出中断请求(IRQi)。中断请求被锁存在IRR中,并与IMR相“与”。经优先级分析器检出优先级最高的中断请求。由控制电路比较该中断请求与当前中断(CPU正在处理的)的优先级,判断是否能够进行嵌套。是则向CPU发出INT信号。CPU输出第一个INTA#脉冲信号,将IRR的对应位清0,并将ISR的对应位置1。输出第二个INTA#脉冲信号,8259A在这个周期将中断向量码输出到数据总线。

CPU读取中断向量码,转到相应的中断处理程序。8259A的级联INTINTA#IRQ1IRQ0IRQ7SP#/EN#…CAS0CAS1CAS2INTINTA#IRQ1IRQ0IRQ7SP#/EN#…CAS0CAS1CAS2INTINTA#IRQ1IRQ0IRQ7…CAS0CAS1CAS2主片从片INTAINTRSP#/EN#8259A的初始化命令字ICW

包括ICW1~ICW44种命令字,用于设置8259A的工作方式、中断向量的高5位等。无论8259A处于什么状态,只要命令字的第4位写“1”,且写入偶地址,8259A就认为是ICW1命令字,而且将其后写入奇地址的1~3字节的命令字作为ICW2~ICW4。如果8259A单独使用,初始化时不需要ICW3。ICW4的有无受ICW1的D0控制,当ICW1的D0位为1时需要ICW4,否则不需要。8259A的内部寄存器

ICW1:

ICW2:ICW3:

0001LTM1SNGLIC41电平触发0边沿触发1单片使用0级联使用1要求ICW40不要ICW4off7off6off5off4off3000s7s6s5s4s3s2s1s0主片1:连有从片;0:未连从片中断向量高5位8259A的内部寄存器

ICW3:ICW4:00000ID2ID1ID0000SFNMBUFM/SAEOI1从片从片ID1缓冲方式0非缓冲方式1本片为主片0本片为从片1自动EOI0非自动EOI0非特殊完全嵌套1特殊完全嵌套8259A的内部寄存器

OCW1:

/IMR

OCW2:

M7M6M5M4M3M2M1M01:该中断请求被屏蔽;0:该中断请求开放RSLEOI00L2L1L0选择一个中断级000=取消自动EOI方式的中断优先级自动循环001=非指定的EOI命令(复位当前的中断级)010=无操作011=指定的EOI命令(复位指定的中断级)100=设置自动EOI方式的中断优先级自动循环101=设置中断优先级循环和非指定的EOI命令110=设置中断优先级(L2~·L0指定的中断优先级最低)111=设置中断优先级循环和指定的EOI命令8259A的内部寄存器读IMR:INAL,21HICW1ICW2ICW3ICW4OCW1OCW2OCW3偶奇奇奇d4=1IMR奇偶偶d4=0d3=0d4=0d3=1IRRISR偶偶8259A的内部寄存器ICW1ICW2ICW3ICW4OCW1OCW2OCW3偶奇奇奇d4=1IMR奇偶偶d4=0d3=0d4=0d3=1IRRISR偶偶读IRR:MOVAL,00001010BOUT20H,ALINAL,20H8259A的内部寄存器读ISR:MOVAL,00001011BOUT20H,ALINAL,20HICW1ICW2ICW3ICW4OCW1OCW2OCW3偶奇奇奇d4=1IMR奇偶偶d4=0d3=0d4=0d3=1IRRISR偶偶;初始化主片8259AMOVAL,11H;ICW1,8259A级联使用,边沿检测

OUT20H,ALMOVAL,08H;ICW2,设置中断向量的高5位,

OUT21H,AL;IRQ0~IRQ7分别对应INT08H到0FHMOVAL,04H;ICW3,在IRQ2上接有一从属8259AOUT21H,ALMOVAL,05H;ICW4,指定非AEOI方式

OUT21H,AL8259A在PC/AT中的应用;初始化从片8259AMOVAL,11H;ICW1,8259A级联使用,边沿检测

OUT0A0H,ALMOVAL,70H;ICW2,设置中断向量的高

温馨提示

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

评论

0/150

提交评论