微机原理-第9章-中断与DMA技术_第1页
微机原理-第9章-中断与DMA技术_第2页
微机原理-第9章-中断与DMA技术_第3页
微机原理-第9章-中断与DMA技术_第4页
微机原理-第9章-中断与DMA技术_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

课程教学单元第1章

微型计算机基础知识第2章

80X86/Pentium微处理器内部结构第3章指令系统第4章汇编语言程序设计第5章8086/8088CPU的总线操作与时序第6章微型计算机系统结构第7章半导体存储器第8章输入输出接口技术第9章中断与DMA技术

第10章定时与计数技术第11章并行接口与串行接口第12章人机交互接口第13章模拟量输入输出接口第9章中断与DMA技术§9.1概念及处理过程1、中断概念2、中断源3、中断处理过程(1)中断请求(2)中断判优(3)中断响应(4)中断服务①②③④⑤(5)中断返回§9.2

8086中断系统1、中断源与中断类型号2、中断向量表3、中断响应过程4、中断时序§9.3中断控制器Intel8259A1、性能2、结构和工作原理3、外部引脚和工作过程4、工作方式(1)中断优先权管理方式①②③④(2)中断源屏蔽方式①②(3)结束中断方式①②③④(4)与系统总线的连接方式①②(5)引入中断请求的方式①②③5、8259A的编程(1)端口地址(2)初始化编程ICW1-ICW4(3)操作编程OCW1-OCW36、级联§9.1中断的概念及处理过程

1、中断概念

2、中断源

3、中断处理过程(1)中断请求(2)中断判优(3)中断响应(4)中断服务①②③④⑤(5)中断返回

计算机在执行正常程序的过程中,当出现某些紧急情况,异常事件或其它请求时,处理器会暂时中断正在运行的程序,转而去执行对紧急情况或其它请求的操作处理。处理完成以后,CPU回到被中断程序的断点处接着往下继续执行,这个过程称为中断。1、中断概念——引起中断的原因或设备称为中断源2、中断源中断源可以被禁止(CLI)、被屏蔽(MASK)、可以嵌套硬件中断(外部中断):即通过外部的硬件产生的中断

不可屏蔽中断:每个系统中仅允许有一个,都是用来处理紧急情况的,由NMI引脚引入,不受IF标志的影响,一旦发生,系统会立即响应;

可屏蔽中断:由INTR引脚引入,IF=1时可屏蔽中断才能进入,反之则不允许进入。可屏蔽中断可有多个,一般是通过优先级排队,从多个中断源中选出一个进行处理。(2)软件中断(内部中断):即根据某条指令或者对标志寄存器中某个标志的设置而产生,它与硬件电路无关,常见的如除数为0,或用INTn指令产生3、中断处理过程(以外部中断为例)(1)中断请求请求中断的条件:①外设准备好数据②系统允许外设发出中断请求信号工作特点:

Ⅰ.中断请求信号应保持到中断被处理为止

Ⅱ.CPU识别中断源有两个方法:

软件查询、中断矢量法

Ⅲ.CPU响应中断后,中断请求信号应及时撤销(2)中断判优

——多设备同时中断请求,CPU首先为谁服务?中断优先级控制要处理两种情况:

对同时产生的中断:首先处理优先级别较高的中断;若优先级别相同,则按先来先服务的原则处理;

非同时产生的中断:低优先级别的中断处理程序允许被高优先级别的中断源所中断,即允许中断嵌套。中断优先级的控制可有三种方法

软件查询法——顺序查询中断请求,先查询的级别高

硬件链式判优——优先权排队电路

专用硬件判优——可编程中断控制器(PIC)芯片软件查询法硬件链式判优专用硬件PIC判优(3)中断响应响应中断的时间:

每条指令最后一个时钟周期,CPU检测INTR或NMI信号响应中断的条件:

当前指令执行完(带LOCK、REP前缀要求完整地执行)当前没有复位(RESET)和保持(HOLD)信号对INTR,CPU应处于开中断状态,即IF=1,且无NMI响应中断的动作:

向中断源发出中断响应信号断点保护,包括CS、IP和FR获得中断服务程序入口地址(软件获取法、中断向量法)(4)中断处理

——进入中断服务程序

由一系列的PUSH指令完成,保护那些与主程序中有冲突的寄存器。

由STI实现,为了能中断的嵌套。

与保护现场对应,注意恢复次序。

使用中断返回指令IRET,不能用子程序返回指令RET。恢复断点地址外和标志寄存器的值。(5)中断返回

提供具体的数据传输和处理。§9.28086中断系统

1、中断源与中断类型号

2、中断向量表

3、中断响应流程

1、8086/8088的中断源与中断类型号中断源外部中断内部中断外部可屏蔽中断INTR不可屏蔽中断NMI内部硬件中断内部软件中断INTn除法出错单步跟踪断点中断溢出中断优先级从高到低顺序如下:除法出错、INTn、INT0→NMI→INTR→单步中断PC机中软件中断源与硬件中断源的关系

每个中断源分配一个中断类型码,范围0~255,8086/8088总可处理256种中断源。——溢出(INT4)、断点(INT3)、除法溢出(INT0)、单步(INT1)、非屏蔽中断的类型码(INTn)为固定值——软件中断的类型码由指令给出(n)——可屏蔽中断的类型码由PIC(可编程中断控制器)给出中断类型号:CPU获得中断号的方法:表地址:00000H~003FFH256个入口,4B/入口Bytes低字为IP,高字为CS中断n的入口地址在4n:4n+3

2、8086/8088的中断向量表——存放256个中断的中断服务程序的入口地址的表00H~07H系统专用

08H~0FH硬件中断10H~1FHBIOS用20H~3FHDOS用40H~FFH用户用

3、中断响应流程图例:设某中断源类型码为4AH,画出求中断服务处理程序示意图解:中断向量表指针为4*n=4*4AH=128H,即:0000:0128H

查中断向量表,中断服务程序入口地址是0F000H:1806H中断向量表物理地址单元内容INT4AH地址单元内容

IP=1806H

CS=F000HF000:180600000H类型0中断处理程序入口地址MOVAL,300:124类型49H中断向量00001H0:1250:126

向量地址:4AH*4=128H0:12700004H类型1中断处理程序入口地址0:12806H0:12918H0:12A00H0:12BF0H00008H…………………………………………0:12C类型4BH中断向量0:12D0:12E0:12F中断处理服务程序IRET003FFH类型FFH中断处理程序入口地址§9.3中断控制器Intel8259A1、特点2、内部结构和工作原理3、外部引脚和工作过程4、工作方式(1)中断优先权管理方式①②③④(2)中断源屏蔽方式①②(3)结束中断方式①②③(4)与系统总线的连接方式①②(5)引入中断请求的方式①②③5、8259A的编程(1)端口地址(2)初始化编程ICW1-ICW4(3)操作编程OCW1-OCW36、级联可用于8080/8085和8086/8088系统具有8级中断优先控制,通过级联可以扩展至64级优先权控制,每一级中断都可以设置为允许或屏蔽状态。在中断响应周期内提供中断类型号可以编程设置工作多种方式,使用非常灵活采用NMOS制造工艺,只需单一的+5V电源1、中断控制器Intel8259A的特点优先权比较器

(PR)

中断服务寄存器(ISR)

中断请求寄存器(IRR)中断屏蔽寄存器(IMR)控制逻辑INTINTAD7~D0A0RDWRCSCAS0CAS1CAS2SP/ENIR0IR1IR2IR3IR4IR5IR6IR7内部总线读/写逻辑数据总线缓冲器级联缓冲器/比较器2、中断控制器Intel8259A内部结构和工作原理(1).中断请求寄存器IRR8位锁存器,保存从IR0~IR7来的中断请求信号某位=1表示对应的IRi有中断请求

(2).中断服务寄存器ISR

8位寄存器,保存所有正在服务的中断源某位=1表示对应的IRi中断正在被服务多重中断时有多位被置1

(3).中断屏蔽寄存器IMR8位寄存器,存放中断屏蔽字某位=1表示对应的IRi输入被屏蔽

(4).中断优先权比较器

识别、管理各中断请求的优先级别确定是否向CPU发出中断请求中断响应时确定ISR的置位及数据总线上类型码(PR)(ISR)(IRR)(IMR)控制逻辑读/写逻辑数据缓冲缓冲比较(5).读/写控制电路●控制对8259A的读、写操作●控制信号共同控制(6).数据总线缓冲器

●双向8位3态缓冲器,8259A与CPU之间的数据接口●接收控制字、发送状态信息和中断号(7).级联缓冲/比较器●级联时存放主从设备的ID,可组成64级中断优先级●主从片8259A的CAS0~CAS2并接在一起传输ID●SP/EN区分主从身份(8).控制逻辑:●含ICW1-ICW4和OCW1-OCW3共7个寄存器●对CPU发INT、接收CPU命令,控制内部部件(PR)(ISR)(IRR)(IMR)控制逻辑读/写逻辑数据缓冲缓冲比较3、中断控制器Intel8259A外部引脚和工作过程12345678910111213142827262524232221201918171615VccA0INTAIR7IR6IR5IR4IR3IR2IR1IR0INTSP/ENCAS2CSWRRDD7D6D5D4D3D2D1D0CAS0CAS1Vss8259A(1)8259A引脚1.D7-D0

双向数据输入/输出2.IR7-IR0

8级中断请求信号输入规定优先级:IR0>…>IR7

多片级连时从片INT连主片IRi3.INT

中断请求信号输出4.INTA

中断响应应答信号输入5.RD

读控制信号输入6.WR

写控制信号输出7.CS

片选信号输入8.A0

内部寄存器选择信号输入

A0=0ICW1、OCW2、OCW3A0=1ICW2~ICW4、OCW19.CAS2-CAS0

级联信号引脚

10.SP/EN

级联管理信号输入,外部数据总线缓冲器启动信号

(2)8259A工作过程当有一条或若干条中断请求输入(IR7-IR0)有效时,则使中断请求寄存器的IRR的相应位置位8259A分析:该请求IMR不屏蔽、高于正在服务的中断程序级别,则向CPU发出INT信号若CPU处于开中断状态,则在当前指令执行完之后,响应INTR中断,并且从INTA发应答信号(两个连续负脉冲)第一个INTA负脉冲到达时,使ISR中允许中断的最高优先级位置1,;IRR寄存器的相应位复位第二个INTA负脉冲到达时,将ICW2中内容送到数据总线的D7-D0上,CPU以此作为相应中断的类型码。若ICW4中的中断结束位为1(AEOI),则第二个INTA负脉冲结束时,8259A将ISR寄存器的相应位清零。否则由中断服务程序在执行完毕时输出EOI命令使ISR复位。CAS0~CAS2D0~D7SP/ENIR0~IR7CPU响应周期8259A工作波形INT第一个周期T1T2T3T4ALECLK

第二个周期T1T2T3T4第1个INTA前保持高电平

INTALOCK4、中断控制器Intel8259A的工作方式(1)中断优先权管理方式可以编程设置或改变

4种①.全嵌套方式

8259A默认的优先权设置方式。

8259A所管理的8级中断优先权是固定不变的,其中IR0优先级最高,IR7的优先级最低。

CPU响应中断后,ISR中最高优先级的中断源相应位置位,其中断矢量送至系统数据总线,此时同级或低级的中断请求被屏蔽,只允许高级中断请求出现中断嵌套。②.特殊全嵌套方式

与全嵌套不同点:允许同级中断请求可同级嵌套。用在级连系统中主8259A,CPU既允许高级别中断输入,也能够响应来自同一从片的较高优先级别(但对于主片来讲,优先级别是相同的)的中断图:一般全嵌套方式与特殊全嵌套方式的区别:

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

一个中断源的中断请求被响应之后,其优先级自动降为最低,8级中断优先级可以动态改变。④.特殊循环方式

与自动循环方式相比,初始化的优先级是由程序控制的,而不是默认的IR0—IR7。IR7IR6IR5IR4IR3IR2IR1IR07654321021076543最低级最高级最高级最低级ISR内容IR7IR6IR5IR4IR3IR2IR1IR0IR4的服务结束以前0101000001000000IR4的服务结束以后ISRi(2)中断源屏蔽方式2种①.普通屏蔽方式

8259A的每个中断请求都受到IMR中相应位的控制。若相应位为“1”,则被屏蔽,中断请求不能送CPU。通过对IMR的编程(操作命令字OCW1)来设置和改变。②.特殊屏蔽方式

中断服务程序运行时,能动态地改变中断优先级结构,即在中断处理的一部分,禁止低级中断,而在中断处理的另一部分,又能够允许低级中断。特殊屏蔽是在中断处理程序中使用。用OCW1对IMR中的某一位复位。对外界来讲,只有正在处理的等级的同级中断被屏蔽,而其它任何级别的中断请求都开放允许。(3)结束中断方式——复位ISR中相应位的方法3种①.中断自动结束方式

适用单片8259A,不用于级联方式。

CPU系统响应中断在发第二个INTA脉冲时,就会使中断响应寄存器ISR中相应位复位。虽然系统在进行中断处理,但对8259A来讲,ISR没有相应的指示,就象已经中断处理结束返回主程序一样。CPU可以再次响应任何级别的中断请求。②.一般的中断结束方式适用全嵌套优先权管理模式。当CPU用OUT向8259A发一般中断中断结束命令OCW2时,8259A才会使ISR中优先级别最高的位复位中断服务程序┇向从PIC发EOI命令读从PIC的ISR全0?向主PIC发EOI命令YIRET恢复现场N

在特殊全嵌套优先权管理模式下,系统无法确定哪一级中断为最后处理的中断,适宜采用特殊的中断结束方式。

CPU结束中断处理之后,向8259A发送一个特殊的EOI中断结束命令,这个特殊的中断结束EOI命令,明确指出了中断响应寄存器ISR中需要复位的位。级联非自动结束中断方式的中断处理程序结束时,都必须发两个中断结束EOI命令,一个发往从片,一个发往主片。③.特殊的中断结束方式(4)与系统总线的连接方式

2种

8259A通过外部总线驱动器8286和DB相连在多片8259A级连的大系统中,起EN功能

8259A的SP/EN输出信号作为总线驱动器的启动信号,决定收发数据的传送方向①.缓冲方式②.非缓冲方式

将8259A的数据总线直接与系统数据总线相连当系统中只有少数几片8259A时,起SP功能

SP/EN作为主从标志,主片SP/EN=1,而从片应接SP/EN=0。(5)引入中断请求的方式3种①.边沿触发方式

8259A将中断请求输入端(IRi或INT)出现的上升沿作为中断请求信号,之后保持高电平。②.电平触发方式

8259A将中断请求输入端(IRi或INT)出现的高电平作为中断请求信号。此方式下中断响应之后,高电平必须及时撤除,否则在CPU响应中断过程中,开中断之后,会引起第二次不应该有的中断。中断源超过64个,8259A在查询方式工作:

a.中断源仍往8259A发中断请求,但8259A却不使用INT信号向CPU发中断请求信号。

b.CPU内部的中断允许标志复位(IF=0),所以CPU对INT引脚上出现的中断请求呈禁止状态。CPU用软件查询的方法来确定中断源,从而实现服务。从外设的角度来看是靠中断的方式来请求服务,但从CPU的角度来看是用查询方式来确定发中断请求的中断源。

查询是通过CPU向8259A发查询命令字OCW3(D2=1)来实现:D7D6D5D4D3D2D1D0X00011008259A接到OCW3后,立即组成状态字,等待CPU来读取:

D7D6D5D4D3D2D1D0

IXXXXW2W1W0I=1,有请求,W2W1W0为本片请求中最高优先级中断源编码③.中断查询方式4个初始化命令寄存器

ICW1、ICW2ICW3、ICW43个操作命令寄存器

OCW1(IMR)

OCW2、OCW3当前中断服务寄存器ISR中断申请寄存器

IRR内部9个可读写的寄存器:

I3I4ICW1

芯片控制

ICW2

中断类型号

ICW3

主从片关系

ICW4

方式控制处理部分控制部分00000000

ISR当前中断服务寄存器PR优先级裁决器IRR中断申请寄存器00000000

中断屏蔽寄存器IMROCW2优先级设置10010100

00

01

OCW3特殊屏蔽设置OCW18259A中断控制器①8259A的编程结构5、Intel8259A的编程(1)8259A端口地址SP/ENCA0CA1CA2IORIOW总线D0~D7数据线D0~D7INTAINTRA0片选译码A5~A9CSA0RD

INTAWRINT

I3I4ICW1

芯片控制

ICW2

中断类型号

ICW3

主从片连接关系

ICW4

方式控制0111A010010100OCW1

中断屏蔽寄存器IMR

00

OCW2

优先级设置、发EOI

01

OCW3特殊屏蔽,查询方式设置处理部分控制部分00000000

ISR当前中断服务寄存器PR优先级裁决器VCCGND100A0IR0IR1IR2IR3IR4IR5IR6IR7IRR中断申请寄存器00000000

②8259A与总线的信号连接③内部寄存器的访问方法表读出IRR、ISR读出IMRxx01100xx1x10100写OCW2写OCW3写ICW1写(顺序写入)ICW2,ICW3,ICW4,OCW1000010读写操作D3D4A0WRRDCS向8259A写入ICW1~ICW4的过程称为初始化编程向8259A写入OCW1~OCW3

的过程称为操作方式编程写ICW1写ICW2级连?写ICW3需ICW4?写ICW4NNYY(2)8259A初始化编程初始化流程图①ICW1——初始化开始清除ISR和IMR(全0)将中断优先级设成默认状态:

IR0最高,IR7最低设定为一般屏蔽方式采用非自动中断结束方式状态读出逻辑预置为读IRR写入ICW1后,8259A的状态如下:A0D7D6D5D4D3D2D1D00×

××1LTIM×SNGLIC4A0=0D4=1:ICW1的标志D7D6D5:8080/8085系统中断入口地址位A7A6A5D3:LTIM,IR触发方式设定=1高电平触发,=0上升沿触发D2:ADI,8080/8085调用地址间隔1/0表示间隔4/8D1:SNGL,级连控制=1单片,=0级连D0:IC4,ICW4控制

=1要写ICW4,=0不写ICW4(默认ICW4全0)A0D7D6D5D4D3D2D1D01T7

T6T5T4T3×××②ICW2——中断向量码A0=1:对ICW2编程D7~D3:T7~T3,中断向量码的高5位D2~D0:T2~T0,最低3位为中断源的序号IRn000~111分别对应IR0~IR7

由8259A根据中断源的序号自动填入

若ICW2命令字为48H[01001000],则IR0的中断向量码为48H[01001000]IR7的中断向量码为4FH[01001111]……例题A0D7D6D5D4D3D2D1D01S7

S6S5S4S3S2S1S0③ICW3——级联控制字Si=1:该位连接有从片,否则该位直接连接中断源。主片A0D7D6D5D4D3D2D1D01×××××ID2ID1ID0从片ID2~ID0:标识码,说明本从片连接到主片的哪个IR引脚上。000~111分别对应IR0~IR7。ICW3必须与主、从片的连接关系一致:

如:主片ICW3=01000000,则从片ICW3=00000100中断响应时,主片CAS2-CAS0送出被允许中断的从片标识码,各从片用自己的ICW3与之比较,二者一致的从片才可发送中断向量码。注意A0D7D6D5D4D3D2D1D010

00SFNMBUFM/SAEOIμPM④ICW4——中断结束方式字μPM:CPU类型选择,1(8086/8088),0(8080/8085)AEOI:自动EOI,1(自动EOI方式),0(非自动EOI方式)SFNM:特殊全嵌套,1(特殊全嵌套方式)0(一般全嵌套方式)

M/S:主/从缓冲选择,与BUF配合决定主、从片

BUF:缓冲方式,1(缓冲方式),0(非缓冲方式)

BUFM/S含义

11缓冲方式/主PIC10缓冲方式/从PIC0x非缓冲方式,M/S无定义(3)8259A操作方式编程OCW1-3用于系统运行中设置8259工作状态,写入顺序可任意A0D7D6D5D4D3D2D1D01M7

M6M5M4M3M2M1M0①OCW1——中断屏蔽字OCW1将写入IMR寄存器Mi=1中断请求线IRi被屏蔽(不允许中断)

=0允许该IRi中断A0=1时,读OCW1,则可读出设置的IMR内容A0D7D6D5D4D3D2D1D00R

SLEOI00L2L1L0②OCW2——中断结束和优先级循环A0=0D4=0D3=0:OCW2的标志R:优先级循环控制位,1(循环优先权)0(固定优先权)SL:L2-L0指定优先级有效标志位,1(有效)0(无效)EOI:非自动中断结束命令位,1(EOI复位)0(此位无效)L2~L0:优先级编码,000-111对应IR0-IR7RSLEOI功能001常规EOI,将ISR最高优先权复位中断结束011指定SEOI,L2-L0指定位复位101EOI,优先级自动循环自动循环100EOI,设置优先级自动循环000EOI,固定优先级(取消自动循环)111SEOI,优先级按L2-L0编码循环指定循环110设置优先级按L2-L0编码循环OCW2命令编码A0D7D6D5D4D3D2D1D00×

ESMMSMM01PRRRIS③OCW3——屏蔽方式和读出控制字A0=0D4=0D3=1,是OCW3标志ESMM:SMM使能标志,1(允许)0(禁止)SMM:特殊屏蔽方式,1(置位)0(取消)ESMMSMM11特殊屏蔽方式置位

10特殊屏蔽方式复位

0x非特殊屏蔽方式P(Polling):查询命令位

=1CPU查询方式

=0

非查询方式RR:读寄存器,1(读)0(不读)RIS:ISR/IRR选择,1(ISR)0(IRR)RRRIS11读ISR10读IRR0x无效A0D7D6D5D4D3D2D1D00×

ESMMSMM01PRRRIS6、中断控制器Intel8259A的级联

级联:以1片8259A的INT引脚与CPU的INTR引脚相连,称为主片;再将最多8片8259A的INT引脚,分别与主8259A的IR0-IR7相连,称为从片。在主-从式8259级联的微机系统中,系统能够管理的中断源可由8级扩展至64级。定义8259A级联连接图8259A级联主片中断响应图8259A级联从片中断响应图返回CAS0IR0CAS1IR1CAS2IR2IR3INTAIR4IR5INT

温馨提示

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

评论

0/150

提交评论