CH6-输入输出和中断技术-陈裕国_第1页
CH6-输入输出和中断技术-陈裕国_第2页
CH6-输入输出和中断技术-陈裕国_第3页
CH6-输入输出和中断技术-陈裕国_第4页
CH6-输入输出和中断技术-陈裕国_第5页
已阅读5页,还剩95页未读 继续免费阅读

下载本文档

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

文档简介

第6

章输入输出和中断技术6.1输入输出接口

6.2简单接口电路

6.3输入输出的控制方式

6.4中断技术

6.5

可编程中断控制器8259A思考题、作业题

输入输出(I/O)设备是计算机系统的重要组成部分,程序、原始数据都要通过输入设备输入到计算机,计算结果和控制信号需要输出到各种输出设备。由于I/O设备的多样性,CPU并不与I/O设备直接进行信息交换,而是通过I/O接口进行。I/O接口是CPU和I/O设备之间信息交换的桥梁。1.接口的基本概念接口的功能与结构接口传递的信息接口的种类2.输入输出的寻址方式I/O端口的编址输入输出指令6.1输入输出接口

返回

设置I/O接口的必要性——I/O设备的多样性使CPU与I/O设备交换信息比CPU与存储器交换信息更为复杂,表现在:1)I/O设备工作速度不同;如:打印机比显示器慢;2)I/O设备的数据字长多样;如:8位、16位等;3)I/O设备处理的信号不同(模拟或数字信号、并行或串行);如:按钮输入开关信号、麦克风输入模拟信号;4)I/O设备所需的控制信号不同。

I/O设备的多样性返回微机系统各种接口返回◆接口内应有供CPU直接存取数据的单元---端口;◆接口内应有地址译码和读写控制电路;◆接口可传送除基本信息(数据信息)外的各种信息。◆接口在它连接的CPU与I/O设备之间起信号转换作用。接口的功能与结构返回CPU外设信息信号DBABCB端口译码读写信号转换电路

接口传递的基本信息是数据信息,除此之外,还传递状态信息和控制信息。不同的信息用不同的端口区分。

数据信息:CPU与I/O设备间传递的基本信息。

状态信息:反映I/O设备当前工作状态的信息,如输出设备是否空闲,输入设备是否数据准备好等。

控制信息:CPU通过接口传递给I/O设备的信息,用以控制I/O设备的工作,如启动、停止等。接口传递的信息返回CPU外设数据信息状态信息控制信息DBABCB数据口状态口控制口按通用性分:专用接口——为某种用途或为某类外设而专门设计的接口电路。通用接口——可供几类外设使用的标准接口,大多为可编程的大规模集成电路。

按数据传送方式分:并行接口——多位数据同时在多条数据线上传送。如打印机接口;串行接口——一条传送线按顺序传送所有的二进制信息。如USB接口。接口的种类返回

因CPU要访问I/O接口,必须对I/O端口进行编址,即给每个I/O端口不同的地址以区分它们。I/O端口编址的方式有两种:1、I/O端口和存储器统一编址

外设端口地址和存储器单元地址,共占存储器的访问空间,即一个外设端口占用一个存储单元地址。存储器数据传送指令可直接访问I/O端口。

2、I/O端口独立编址I/O端口和存储器分别建立两个相互独立的地址空间。需有专门的I/O访问指令。I/O端口的编址返回

1、I/O端口和存储器统一编址

把一个外设端口当作存储器的一个单元来看待,每个外设端口占有存储器的一个地址。从外设输入一个数据,看作存储器一次读操作;向外设输出一个数据,看作存储器一次写操作;

优点:内存和外设的地址由一个译码器解决,不需专门的I/O指令,全部存储器指令都可用,指令多,使用方便(输入/输出不只局限于累加器);

缺点:占用内存空间,寻址的地址字节增加,增加了指令的执行时间。

I/O端口的编址返回

2、I/O端口独立编址

目前的IBM-PC系列计算机,存储器和端口寻址是分开的。

直接寻址,可寻址0~255个端口

间接寻址,可寻址64K个端口

注意:是以端口作为地址单元,因一个外设可能有一个或一个以上的端口。I/O端口的编址返回

I/O端口按字节组织。

1、输入指令

直接寻址

INAL,PORT ;(AL)←(PORT) IN AX,PORT ;(AL)←(PORT) ;(AH)←(PORT+1)

注:直接寻址中I/O端口地址只能用8位表示,16位I/O端口地址用间接寻址方式。间接寻址

IN AL,DX ;(AL)←(DX) IN AX,DX ;(AL)←(DX) ;(AH)←(DX+1)输入输出指令下页2、输出指令

直接寻址

OUT PORT,AL ;(PORT)←(AL) OUT PORT,AX ;(PORT)←(AL) ;(PORT+1)←(AH)

注:直接寻址中I/O端口地址只能用8位表示,16位I/O端口地址用间接寻址方式。间接寻址

OUT DX, AL;(DX)←(AL) OUT DX, AX ;(DX)←(AL) ;(DX+1)←(AH)输入输出指令返回

1.简单输入接口

例:用三态缓冲器74LS244作输入接口。编程实现当所有开关闭合时转向NEXT1,否则转向NEXT25.2简单接口电路

下页(输入端口)地址分析:(A14∨A13∨A12∨A11∨A10)=0,A14~A10=0(A15∧A9∧A8∧A7∧A6∧A5∧A4∧A3∧A2)=0A9~

A2=1,A15=1A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0

10000011111111XX地址:83FCH~83FFHMOVDX,83FCHINAL,DX;8bit,地址>255ANDAL,0FFH;全部闭合ZF=1JZNEXT1JMPNEXT2三态缓冲器74LS244返回20VCC191817161514131211

123456789GND10

2.简单输出接口

例:用锁存器74LS273作为输出接口。希望Q2和Q6端子上的发光二极管发光,其余的不发光。程序段如下:5.2简单接口电路

返回(输出端口)地址分析:(A7∧A146∧A5∧A4∧A3∧A2∧A1∧A0)=0A7~A0=1(A15∧A14∧A13∧A12∧A11∧A10∧A9∧A8)=0A15~

A8=1A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A01111111111111111地址:FFFFHMOVDX,0FFFFHMOVAL,01000001BOUTDX,AL锁存器74LS273返回SQ0D0D1Q1Q2D2D3Q3GNDVCCQ7D7D6Q6Q5D5D4Q4CP20

1011SCPDiQi011X↑↑X10010

I/O接口是CPU和I/O设备之间信息交换的桥梁。端口是接口内供CPU直接存取数据的单元,端口是I/O接口内必不可少的组成部分。不同的I/O设备、不同的工作环境,CPU与I/O接口交换数据可采取不同的方式,CPU对外设的控制方式也不同,电路结构、软件编程也不同。(1)无条件传送方式(2)查询方式(3)中断方式(4)DMA方式

重点:四种方式的实现技术细节。难点:为什么有这四种输入输出方式?5.3输入输出的数据传送方式

返回CPU直接对外设进行数据转送。没有状态信息和控制信息的交换;认为外设总是处于数据准备好的状态。是最简单的输入输出数据传送方式。

操作:CPU直接执行IN/OUT指令从输入设备读取数据或送出数据到输出设备。要求:输入操作时,指定的输入端口已准备好数据;输出时,指定的输出端口已空。适用:开关、发光二极管、数码管、继电器等设备。

例无条件传送方式返回如图示,外设为8个发光二极管,与其相连的输出端口地址80H,欲使发光二极管全亮,执行指令:

MOVAL,0 OUT 80H,AL无条件传送方式-例(输出)返回CPU输出接口(80H)DBABCBOO+5V…………输出设备

CPU在传送数据前先查询外设的状态,确知外设准备好时才传送数据;若未准备好,则CPU等待(即继续查询外设的状态,直至外设准备好)。

接口至少需要两个端口:数据端口和状态端口。查询方式返回

例CPUI/O设备译码数据端口状态端口DBABCB查询方式-例子(查询式输入)返回标志Ready=1?读状态读数据YN

mov

dx,d_port;准备好,输入数据

inal,dx;输入数据,同时清状态信息s_port

equ180h;状态口地址d_port

equ182h;输入数据口地址Wait:mov

dx,s_port;dx状态口地址

inal,dx;输入状态信息

testal,80h;Ready=1?

jzWait;未准备好,循环等待查询方式-例子(查询式输入)返回

中断数据传送方式---不是由CPU(象查询方式那样被动地)通过执行程序(主程序)来检查外设是否处在准备好的状态,而是当外设准备就绪,由外设向CPU提出数据传送的请求(中断请求),CPU在接到请求后暂时中断运行原来的程序(主程序)

,转去执行一个和外设进行数据传送(如:输入、或输出一个数据)的程序(中断服务程序),待数据传送结束后CPU又返回原来中断的程序(主程序),继续运行。中断方式接下页中断请求中断服务程序主程序中断方式返回

1、中断数据传送方式的I/O接口电路:

◆外设准备好时,能够向CPU发出请求信号(中断信号);

◆I/O接口电路常规功能部件(端口、地址译码、读写控制等)。

2、中断数据传送方式的软件:

◆主程序、中断服务程序;◆主程序转入中断服务程序、中断服务程序返回主程序的机制;

3、中断方式数据传送由一套中断系统来完成。

在大量数据传送的条件下,无条件传送、查询、中断三种数据传送方式的共同点:外设输入/输出大量数据,由于大量数据一定是在内存中(不可能在CPU内部,CPU内部寄存器有限),大量数据传送的每一个数据必经过CPU内部寄存器,这样效率不够高;如果在内存与外设(接口)之间建立直接数据传输通道,可显著提高效率,这就是DMA。DMA方式

DMA数据传送方式由来下页

——由辅助硬件电路(DMA控制器)完成数据传送。

工作过程:DMA控制器向CPU发出总线请求,CPU发回响应信号,并同时让出总线管理权给DMA控制器。在DMA控制器控制下,数据在I/O接口与存储器之间直接传送。传送完毕,DMA控制器向CPU发送结束信号,则CPU收回总线管理权。DMA方式既应用在内存与外设间,亦应用在外设与外设之间的直接快速数据传送。DMA方式下页DMA方式返回DMA过程:CPU存储器DMA控制器外设HOLDDRQHLDADACKSYSTEMBUSMEMRMEMRMEMRMEMRMEMRMEMRMEMRMEMR外设DMA控制器CPU0初始化设置DMA目标地址、计数1发出请求DRQ2请求系统总线HOLD3释放系统总线发HLDA4向MEM发地址和控制,监视HOLD

送数据到总线向外设发DACK和AENIORIOWAENIORIOWAENMEMR5释放系统总线HOLD失效重新获得系统总线控制MEMRMEMR控者

最简单的传送方式是不管外设是否准备好,CPU直接对外设进行数据转送。无条件传送的问题是:若外设未准备好,数据传送失效。于是产生了查询传送方式。

查询方式中CPU要不断地查询外设,当外设没有准备好时,CPU要等待(循环读状态),浪费了CPU的时间;而且许多外设速度比较低,在输入输出时,CPU可以执行大量的时间,为了提高CPU的效率,于是产生了中断传送方式。5.3输入输出的控制方式

---为什么有这四种输入/输出方式?接下页采用中断方式就大大提高了CPU的效率,且CPU可与多个外设同时工作,从而实现了多任务。事实上PC机上的键盘输入、打印任务的管理等都是采用中断方式进行输入输出的。利用中断进行传送,可大大节约CPU时间,但中断传送仍然由CPU通过程序来传送,每次要保护断点,现场信息,都需要花多条指令的时间。对于高速的I/O设备,比如磁盘与内存之间交换数据,就显得速度太慢了。因此希望用硬件在外设与内存之间直接进行数据交换,而不通过CPU,这就是DMA方式,这个硬件就是DMAC(DMA控制器)。5.3输入输出的控制方式

返回

中断系统是计算机系统不可缺少的重要组成部分。5.4.1中断的基本概念(1)中断基本概念(2)中断处理过程(3)中断优先权管理5.4.28086的中断系统(1)中断指令(2)8086/8088的中断源

(3)8086中断向量表(4)8086中断处理过程5.4中断技术

返回

1)中断——由于外设的请求或某事件的发生使CPU暂停执行现行程序,转去执行处理相应请求或事件的中断服务程序,处理完毕再返回运行原程序,这样的过程为中断。

中断的出现是为了解决高速CPU与慢速外设之间的矛盾而引出的一个概念。

2)中断源——能够引起中断的事件。中断源:◆一般的I/O设备。如键盘、打印机等;◆数据通道中断源。如磁盘、磁带机等;◆实时时钟

;◆故障引起的中断

。如电源掉电;◆中断指令或软件故障。如系统功能调用、除数为0等。中断基本概念下页

3)中断系统

——为实现中断功能而设置的

各种软件和硬件。应具备:◆中断源的识别、响应及返回——完成一次中断过程;◆中断优先权排队——给中断源按轻重缓急排队;◆中断嵌套——

优先权高的中断源能中断优先权低的中断处理。中断基本概念返回中断请求→中断排队

→中断响应→中断服务→中断返回

(1)中断请求——中断源向CPU发出的请求中断服务的信号。必须满足条件:

●中断源已准备好;

●系统允许该中断源发出中断信号。

系统中可设置硬件电路加以控制,如8259A的中断屏蔽寄存器中断请求信号是随机发生的,因此,CPU一般隔一定时间检测一次中断请求信号确定是否有中断请求。中断处理过程下页(2)中断排队——系统中有多个中断源,当两个以上中断源同时向CPU发出中断请求信号,则CPU必须先响应重要的、紧急的中断,即优先权高的中断源。这就是中断排队(中断判优)。(3)中断响应是指CPU在接到中断请求信号后,确定可以响应时自动完成的操作,包括:关中断;保护断点;形成中断入口地址,转入中断服务程序。中断处理过程下页(4)中断服务——CPU执行中断服务程序。

①保护现场;②开中断——为实现中断嵌套,必须设置开中断。③中断处理——这是中断服务程序的核心;④关中断——为保证下一步恢复现场的操作不被打断;⑤恢复现场;⑥开中断⑦中断返回。

中断处理过程下页

(5)中断返回——中断服务结束时,应将在中断响应时保护的断点恢复,回到被中断的主程序,即中断返回。中断处理过程返回

将中断源按轻重缓急排队,确定各中断优先权次序。优先权管理是指判别和确定各中断源的中断优先权次序。

中断优先权判别方法有两种:

软件判优

硬件判优中断优先权管理返回

用软件查询哪个中断源有中断请求,先查询到的先响应。即:查询次序确定各中断优先权次序,先查询的优先权最高。用软件查询确定中断优先权,必须先将各中断源的中断请求状态储存,如一个8位中断请求触发器存放了8个中断源的中断请求信号。软件排队确定中断优先权,方法简单,硬件电路省,但中断源多时,查询速度慢,影响中断响应速度软件判优返回软件判优返回外设A外设B外设C外设D外设E外设F外设G外设H保护现场A申请服务?外设A中断服务程序B申请服务?外设B中断服务程序C申请服务?外设B中断服务程序恢复现场返回YNYNYN…IN AL,80HTESTAL,01HJNZASEVTESTAL,02HJNZBSEVTESTAL,04HJNZCSEV…TESTAL,80HJNZHSEV

用硬件电路实现中断源排队。作用:(1)能够送出当前有中断请求的中断源中优先权最高的中断请求。(2)当一个中断源的中断请求被CPU响应后,比它低优先权的中断源被屏蔽。常用的硬件排队电路:

并行判优网络

链式判优电路硬件判优返回并行判优网络返回外设1请求中断IR0中断优先级控制2IRiU1控制逻辑 U2,比较逻辑,把最高优先级的IR的序号输出到中断矢量寄存器3CPU响应INTR进入中断过程,在特定时序中,输出中断矢量寄存器的值,CPU根据该值获得中断服务程序入口地址,并进入相应的服务程序。记录CPU正在响应的中断允许或禁止某个中断外设IR中断矢量入口地址链式判优电路返回链式判优电路:EI=H,允许输出中断请求INT

当INT输出有效时,EO=L

否则EO=HEI=L,不允许输出中断请求INT

且EO=LEIEOINT0#申请中断时,1#,2#均不能申请中断。3#申请中断时,除非1#,2#均没有申请中断。特点:优先级由中断源的物理位置确定

1.INT指令

格式:INTn

;n=0~255,为中断类型码,用8位二进制表示。指令的操作:(SP)←(SP)-2,((SP+1),(SP))←(FR);保护标志寄存器

(IF)←0,(TF)←0;关中断,关单步中断标志(SP)←(SP)-2,((SP+1),(SP))←(CS);保护断点

(SP)←(SP)-2,((SP+1),(SP))←(IP)(IP)←(n×4);由中断类型码n形成中断入口地址(CS)←(n×4+2)中断指令下页

2.INTO溢出中断指令

格式:INTO

;n=4用于带符号数加、减运算后,;若由溢出,则进入n=4的中断。

3.IRET中断返回指令

格式:IRET

指令的操作:(IP)←((SP+1),(SP)),(SP)←(SP)+2;恢复断点(CS)←((SP+1),(SP)),(SP)←(SP)+2(FR)←((SP+1),(SP)),(SP)←(SP);恢复标志寄存器中断指令返回一、内部中断——满足某种特殊条件引起的中断或软件中断。

1.除法错误中断

2.单步中断

3.断点中断

4.溢出中断

5.软件中断二、外部中断——外部的硬件产生,送至CPU的NMI和INTR引脚上引起中断,具有随机性。

1.非屏蔽中断

2.可屏蔽中断

8086规定这些中断优先权为:内部中断、NMI、INTR、单步执行(T)。8086/8088的中断源返回

中断类型码

n=0执行除法指令时,若发现除数为0或商超过了寄存器所能表示的范围,就立即产生了一个类型为0的内部中断,CPU转入除法错误中断处理程序。

除法错误中断是由内部电路自动生成的。除法错误中断返回

中断类型码n=1

由CPU对状态标志寄存器中的陷阱标志TF的测试而产生的中断。当TF=1,每执行一条指令,转入单步中断服务程序。这是8086提供给用户使用的一种调试程序手段。

单步中断用于调试较小程序。单步中断返回

INT3——3型中断为了加快程序的调试速度,在调试程序时,通常把程序按功能分成几段,然后每段设置一个断点。当CPU执行到断点时便会产生中断,在断点中断服务程序中,可显示有关的寄存器、存储单元等内容,以便程序员分析到断点为止程序运行是否正确。8086/8088指令系统中有一条专用于设置断点的指令INT3,用户只需把INT3指令插入程序段的最后即可。

断点中断返回

中断类型码n=4

由程序员在程序恰当的位置设置INTO指令而实现。由于CPU本身不能判别当前处理的数据是否带符号,因此,它提供了INTO指令给用户。在带符号运算后安排一条INTO指令,当运算后OF=1,则进入溢出中断服务程序进行处理。溢出中断返回

中断类型码n由用户定义。

用户可自行设计一些中断服务程序,用INTn运行,这与段件调用子程序相似。如系统功能调用INT21H软件中断返回中断类型码n=2

非屏蔽中断请求由NMI引脚送入。所谓非屏蔽,指该中断请求不受中断允许标志IF状态的影响,在当前指令执行完后,CPU就响应。

非屏蔽中断用于较重要、紧急的中断请求。非屏蔽中断返回

中断类型码n由申请中断的中断源提供。

可屏蔽中断请求由INTR引脚送入。所谓可屏蔽,指该中断请求须由中断允许标志IF的状态决定其是否被CPU响应。IF的设置可由指令实现。

STI ;IF=1,允许中断

CLI ;IF=0,禁止中断当IF=1,INTR有效时,CPU将送出中断响应信号INTA。中断源接到该信号,将其中断类型码送给CPU。可屏蔽中断返回

在第一个中断响应周期,CPU输出中断响应信号INTA,CPU使AD15-AD0浮空,在第二个中断响应周期,被响应的外设(或接口芯片)应向数据总线输送一个字节的中断向量号,CPU读入中断向量号后,就可以在中断向量表上找到该设备服务程序的入口地址,转入中断服务。可屏蔽中断返回

1、中断向量表中断向量即中断服务程序的入口地址,用32位逻辑地址表示。中断向量表是一个存储区,该存储区存放所有中断向量。表内容:所有中断服务程序的入口地址,即256个中断向量。表长度:一个中断向量4个字节,256个中断向量共256×4=1024字节,即占用1K存储空间。表位置:在0段内偏移地址为0000~03FFH的范围内,即实际地址为00000~003FFH。

存放次序:按中断类型码从小到大依次存放。每个中断向量占用的4个单元中,小地址的存放偏移地址,大地址的存放段地址。8086中断向量表下页

2、中断向量表示意图

全部中断服务程序首地址,排列成表,存放在内存00000H~003FH处,这块内存区域叫中断向(矢)量表。

Adr=n×4

n-类型号

Adr-中断向量入口地址

Adr处存放的内容是中断服务程序起始点CS:IP的值。8086中断向量表下页

3、例

某一中断源的中断类型码为45H,则该中断源的中断向量在中断向量表的位置是:45H×4=00114H

若中断向量表部分单元内容如图示,则该中断源的中断向量为:3400H:1020H。

即该中断服务程序的入口地址为35020H。8086中断向量表下页地址存储单元内容00118H00H00117H34H00116H00H00115H10H00114H20H

4、中断向量表的设置将中断源的中断向量存入中断向量表对应的位置。方法一:用系统功能调用设置。

实现:(1)功能号:25H (2)调用参数:DS←中断向量的段基址 DX←中断向量的偏移地址 AL←中断类型码N

方法二、用传送指令设置

例8086中断向量表返回

方法一:用系统功能调用设置。例:某中断源的中断类型码为70H,其中断服务程序入口地址为IRQ0。该中断源的中断向量表设置程序:

PUSH DS MOV AX, SEGIRQ0 MOV DS, AX ;段基址送入DS MOV DX, OFFSETIRQ0 ;偏移地址送入DX MOV AX, 2570H ;类型码送AL,功能号送AHINT 21H ;系统功能调用 POP DS8086中断向量表返回方法二、用传送指令设置例:某中断源的中断类型码为72H(72H×4=018CH),其中断服务程序入口地址为IRQ2。该中断源的中断向量表设置程序:

CLI PUSH DS MOV AX, 0 MOV DS, AX ;中断向量表段基址为0 MOV[01C8H], OFFSETIRQ0 ;存入偏移地址MOV[01CAH], SEGIRQ0 ;存入段基址POP DS8086中断向量表返回

1、中断响应条件

当前指令执行结束,CPU检测各中断,决定是否中断响应。当下列之一发生,CPU将响应中断。内部中断发生;NMI中断发生;INTR中断发生,且IF=1。特殊地:

①当CPU执行封锁指令(LOCK)时,要待后面的指令执行完后才响应中断。②设置段寄存器内容的指令和下条指令之间不允许中断。③等待指令和重复串操作指令执行过程中,可响应中断,但必须在一个基本操作完成后。8086中断处理过程下页

2、中断处理顺序(1)中断源的识别:内部中断

非屏蔽中断

可屏蔽中断

单步中断(2)可屏蔽中断INTR必须在IF=1在条件下才响应。(3)中断类型码的获取:

内部中断——指令中断由指令本身提供,其余固定。非屏蔽中断——固定为2。

可屏蔽中断——从数据总线读取中断源提供的类型码。

(4)中断响应:标志寄存器入栈

TF→

暂存器TEMP,TF=0,IF=0 CS、IP入栈

由中断类型码N获取中断向量8086中断响应过程下页2、中断处理顺序返回YYYN计算向量表地址保护FLAGSCS,IP入栈IF=TF=0TEMP←TF高字→CS低字→IP转入中断服务程序NMI?YIRET指令的操作NYIF=1??中断响应读回类型码TF=1?返回被中断的程序类型码=1TEMP=1?执行中断服务程序恢复CS和IP恢复FLAGSYN取指令执行指令执行完否?类型码=0~255类型码=2内部中断?NMI?INTR?Y图5-20中断响应和中断处理流程

3、中断响应过程1)执行两个中断响应总线周期,

CPU接收8位中断类型码;

2)执行一个总线写周期,FR→推入堆栈;

3)把IF和TF置0;

4)执行一个总线写周期,把CS的内容推入堆栈。

5)执行一个总线写周期,把IP的内容推入堆栈。

6)执行一个总线读周期,从中断向量表读入IP

7)执行一个总线读周期,从中断向量表读入CS。

对非屏蔽中断或内部中断,则由第2步开始执行。8086中断响应过程返回8086从中断向量表读入IP、CS返回对程序员透明,在硬件完成后主要是正确地写出程序n=721272H×4=0111001000B=1C8HJ1J28086中也叫类型码(n)8088中向(矢)量表

8259A是微机系统中管理多中断源的专用芯片。

(1)8259A的功能(2)8259A的内部结构(3)8259A的引脚(4)8259A的工作过程(5)8259A的工作方式(6)8259A的命令字(7)8259A的编程(8)8259的级联5.5可编程中断控制器8259A

返回主要功能:

1)每片8259A能管理8级中断,也可多片芯片级联构成 主从式中断管理系统,最多可扩展至64级中断。 2)每级中断都可以被屏蔽或允许。 3)可提供中断源的中断类型码给CPU。4)允许中断嵌套,提供多种优先权排队方式。5)提供多种不同的工作方式供用户编程选择。6)提供中断查询方式。8259A的功能返回8259A的内部结构返回RD(IOR)当前服务寄存器ISR优先级比较器PR中断屛蔽寄存器IMR操作命令OCW初始化寄存器组ICW1~ICW4读/写控制电路级连控制中断请求寄存器IRRINTINTACSA0RDWRCAS0CAS1CAS2SP/ENIR0IR7…..外设CPU数据缓冲器INTRINTA译码电路WR(IOW)8088的A08086的A1D0~D78位锁存器,存放8个中断源的中断请求信号。有中断请求时,对应的位置1。 此寄存器可读。8位寄存器,用于记录正在处理的中断请求。有中断请求且CPU响应时,对应的位置1,表示CPU正在执行该中断服务。该寄存器可读。优先权级别可以由编程定义或修改。1)多个中断同时申请中断时,判定优先权最高的先响应。2)中断服务中有中断请求,判别是否比正在处理的中断优先权高。是,中断嵌套;否,不响应新的中断请求。8位锁存器,存放对8个中断请求的屏蔽信息。当某位为1时,表示相应位的中断请求被屏蔽(该中断请求不能送出)。该寄存器可读可写。操作命令寄存器,在初始化后运行期间使用初始化命令寄存器,在初始化期间使用寄存并比较在系统中使用的全部8259的级连地址INT接CPU的中断输入,INTA接中断响应输出控制逻辑双列28引脚8259A引脚信号:

1)中断请求引脚——IR0~IR7

2)与CPU相连的数据线——D0~D73)CPU控制线——A0、CS、RD、WR4)中断信号——

INT、INTA

5)级联——CAS0、CAS1、CAS2、SP/EN6)电源、地8259A的引脚返回

中断请求信号IR0~IR7

——输入信号,接受来自中断源的中断请求信号或在主-从系统中,接受来自8259A从片的中断请求INT信号。可设置为上升沿触发或高电平触发。8259A的引脚返回

CPU控制线

RD、WR——输入信号,读/写控制信号。

CS——8259A的片选信号。由系统地址总线高位译码确定,与A0组成8259A的端口地址。

A0——输入信号,用以选择8259A内部不同寄存器,A0=0,偶地址端口;A0=1,奇地址端口8086系统中,若8259A的D7~D0与系统数据线低8位相连,因CPU通过低8位数据线与偶地址传递数据信息,所以A0应与系统地址总线的A1相连,系统地址总线A0应为0。8088系统中,A0与系统地址总线的A0相连。8259A的引脚返回

中断信号线

INT——输出信号,送出中断请求信号。连至CPU的可屏蔽中断输入端INTR。INTA——输入信号,接受来自CPU的中断响应信号。8259A通过INT引脚将中断请求信号送给CPU,当接到CPU发回的中断响应信号INTA,送出中断类型码。8259A的引脚返回8259A的工作过程返回外设

8259

CPU1申请中断IR0IRR,并和IMR运行程序PROC

IRn有效相“与”,有效结果PR。

PR检出最高的IRRx,IRRx

同ISRx比较,IRRx>ISRx

输出INT信号。

3第二个中断响应周期: 输出INTA。

把INTA信号作为读信号中断矢量n送数据线。读数据n,FLAGS、CS、IP进堆栈, IF=0[4n][4n+1]IP

[4n+2][4n+3]CS

2锁定IRR,IRRxISR和第一个中断响应周期:中断矢量寄存器。输出INTA。开放数据线

4INT撤消。中断程序PROC,运行中 断服务程序,撤消ISR, 结束后返回PROC

支持中断嵌套——解决中断有效、中断屏蔽、中断排队、中断嵌套、中断结束等问题。1.中断请求触发方式

2.屏蔽中断方式

3.中断优先权设置方式

4.中断结束方式

5.连接系统总线方式8259A的工作方式返回中断请求触发方式

◆电平触发方式——IRi端出现高电平

◆边沿触发方式——IRi端出现由低到高的上升沿8259A的工作方式返回

中断屏蔽方式

◆普通屏蔽方式 ——对IMR寄存器中的位置位或复位可设置对应的中断请求被屏蔽或允许。

◆特殊屏蔽方式 ——在中断服务中设置命令使ISR对应的位清0,并屏蔽该中断源,从而开放了比当前低优先权的中断请求。一般用于较长中断服务程序中。8259A的工作方式返回

中断优先权设置方式

◆普通全嵌套方式——8个中断请求的优先权次序为:(最高)IR0→IR7(最低)

◆特殊全嵌套方式——优先权次序与普通全嵌套方式相同。但可实现同级中断。一般用于8259A级联方式中的主片。

——这两种方式的优先权次序是固定的,系统初始化后设置的是普通全嵌套方式。

8259A的工作方式下页中断优先权设置方式◆优先权自动循环方式——初始时,8个中断请求的优先权次序为:(最高)IR0→IR7(最低)当某一中断请求被响应后,该中断源的中断优先权降为最低。如IR3被响应后,中断优先权的次序改为:

IR4→IR5→IR6→IR7→IR0→IR1→IR2→IR3

◆优先权特殊循环方式——用命令指定8个中断请求的初始优先权次序,当一个中断被响应,该中断的优先权降为最低,同优先权自动循环一样。命令指定IR5为最低中断优先权,如图示,则初始优先权次序为:

IR6→IR7→IR0→IR1→IR2→IR3→IR4→IR58259A的工作方式返回

中断结束方式(EOI)

◆自动中断结束方式-自动EOI

——进入中断服务时自动清除ISR。

◆普通中断结束方式-普通EOI

——中断服务结束时,通过对8259A发一个普通EOI命令,使8259A清除ISR寄存器中的已置位的位◆特殊中断结束方式-特殊EOI

——在中断服务结束时,通过对8259A发一个特殊EOI命令,使8259A清除命令中指定的位。中优先权最高的位。8259A的工作方式返回连接系统总线的方式◆非缓冲方式

——8259A直接与系统总线相连◆缓冲方式

——8259A通过总线驱动器与系统数据总线连接。8259A的工作方式返回

——对8259A工作方式的选择。

1.初始化命令字

ICW1~ICW4,通常在系统初始化时写入8259A中,写入次序固定,依次为ICW1、ICW2、ICW3(需要时)、ICW4。其中,ICW1写入偶地址,其余写入奇地址。8259的命令字下页设置初始化命令字流程

8259的命令字下页NICW1设置:级联

中断请求触发

是否设置ICW4ICW2设置:中断类型码是否级联?ICW3设置:各中断请求引脚连接从片状态设置ICW4?ICW4设置:缓冲方式

优先权特殊嵌套

自动EOI主片?ICW3设置:低3位为从片标识符(000~111)NYYY8259的命令字ICW1下页8259的命令字ICW2下页8259的命令字ICW3下页8259的命令字ICW4下页

2.操作命令字

优先权循环方式、普通/特殊EOI命令、普通/特殊屏蔽等由操作命令字设置。OCW1~OCW3,可在系统运行时随时修改。由写入不同端口和标志位方式区分。其中,OCW1写入奇地址,其余写入偶地址。OCW1设置各中断源普通屏蔽;OCW2设置优先权循环、EOI命令;OCW3设置特殊屏蔽、查询方式、读IRR和ISR寄存器。8259的命令字下页8259的命令字OCW1下页8259的命令字OCW2下页8259的命令字OCW3返回初始化程序——ICW1~ICW4(主程序中)、OCW1(任意位置)2.

中断向量表设置——非查询方式下(主程序中)3.

中断服务程序中设置——特殊屏蔽、EOI命令(中断服务中)4.设置优先权循环方式、读IRR/ISR(任意位置)设8259A的端口地址为20H、21H8259A的编程返回初始化程序MOV AL, 00010011;设置单片工作,中断请求OUT 20H, AL

边沿触发,须设置ICW4MOV AL, 00001000;设置中断类型码08,即8个中断源IR0~IR7对应的中断类型码为:OUT 21H, AL

温馨提示

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

评论

0/150

提交评论