微机原理第六章 输入输出和中断技术 part 3
合集下载
第章输入输出接口及中断技术X课件
“0”
IO接口电路
0
1
0
74LS138
看看具体 工作过程
输入
输出
Y0 Y1 Y2 Y3 Y4 Y5
Y6 Y7
A5 A6 A7
IOW
A B C
G2B G2A G1
74LS138
DMA CS(8237) INTR CS(8259) T/C CS(8253) PPI CS(8255)
WRTNMIREG (写NMI屏蔽寄存器)
+5v
“1”
“1”
“1”
“0”
I O 接 口 电 路
Hale Waihona Puke 74LS688低3位由A2、A1、A0决定为111
高7位由决定DIP开关通过比较器74LS688
DIP开关
四、使用可编程逻辑器件译码 (GAL、FPGA、CPLD)
是借助EDA手段可以设计专门的译码器,例如
AEN A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
2. 状态信息 状态信息作为CPU与外设之间交换数据时的联络信息,反映了当前外设所处的工作状态,是外设通过接口送往CPU的。CPU通过对外设状态信号的读取,可得知输入设备的数据是否准备好、输出设备是否空闲等情况。对于输入设备,一般用准备好(READY)信号的高低来表明待输入的数据是否准备就绪;对于输出设备,则用忙(BUSY)信号的高低表示输出设备是否处于空闲状态,如为空闲状态,则可接收CPU输出的信息,否则CPU要暂停送数。因此,状态信息能够保障CPU与外设正确地进行数据交换。
小 结
返回
二、端口(PORT)
I/O端口:是指I/O接口中存放数据信息、状态信息和控制信息,CPU可以读/写的一组寄存器或特定电路,被称为I/O端口。 一般接口通常有数据端口、控制端口、状态端口 数据端口:(I、O) 输入数据端口(I):保存外设给CPU的数据 输出数据端口(O):保存CPU给外设的数据 状态端口:(I) 存放I/O设备或接口本身的工作状态信息 控制端口:(O) 存放CPU给外设或接口电路的命令
IO接口电路
0
1
0
74LS138
看看具体 工作过程
输入
输出
Y0 Y1 Y2 Y3 Y4 Y5
Y6 Y7
A5 A6 A7
IOW
A B C
G2B G2A G1
74LS138
DMA CS(8237) INTR CS(8259) T/C CS(8253) PPI CS(8255)
WRTNMIREG (写NMI屏蔽寄存器)
+5v
“1”
“1”
“1”
“0”
I O 接 口 电 路
Hale Waihona Puke 74LS688低3位由A2、A1、A0决定为111
高7位由决定DIP开关通过比较器74LS688
DIP开关
四、使用可编程逻辑器件译码 (GAL、FPGA、CPLD)
是借助EDA手段可以设计专门的译码器,例如
AEN A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
2. 状态信息 状态信息作为CPU与外设之间交换数据时的联络信息,反映了当前外设所处的工作状态,是外设通过接口送往CPU的。CPU通过对外设状态信号的读取,可得知输入设备的数据是否准备好、输出设备是否空闲等情况。对于输入设备,一般用准备好(READY)信号的高低来表明待输入的数据是否准备就绪;对于输出设备,则用忙(BUSY)信号的高低表示输出设备是否处于空闲状态,如为空闲状态,则可接收CPU输出的信息,否则CPU要暂停送数。因此,状态信息能够保障CPU与外设正确地进行数据交换。
小 结
返回
二、端口(PORT)
I/O端口:是指I/O接口中存放数据信息、状态信息和控制信息,CPU可以读/写的一组寄存器或特定电路,被称为I/O端口。 一般接口通常有数据端口、控制端口、状态端口 数据端口:(I、O) 输入数据端口(I):保存外设给CPU的数据 输出数据端口(O):保存CPU给外设的数据 状态端口:(I) 存放I/O设备或接口本身的工作状态信息 控制端口:(O) 存放CPU给外设或接口电路的命令
【微机原理】第6章. 输入与输出中断
其连接示意图如图6.1所示.
CPU对外设的输入输出操作类似于存储器的读写操作,即 I/O—读/写;但外设与存储器有许多不同点。其比较如表 6.1所示.
接口电路(即可编程接口芯片)种类很多,它的显著特点 是可编程性,即可以通过编程来 规定其功能及操作参数。
二、接口电路的基本结构
接口电路的基本结构同它传送的信息种类 有关。信息可分 为3类:数据信息;状态信息;控制信息。
目录
6.2 CPU与外设之间数据传送的方式
本节将以8086/8088为例,来说明CPU与外设之间数据 传送 的方式。为了实现CPU与外设之间的数据传送,通常采用 以下3 种I/O传送方式。 一、程序传送
程序传送是指CPU与外设间的数据交换在程序控制 (即IN 或OUT指令控制)下进行。
(一) 无条件传送(又称同步传送) 这种传送方式只对固定的外设(如开关、继电器、7
(三) 控制信息 它用于控制外设的启动或停止。接口电路基本结构及其连接如图
6.2所示。接口电路根据传送不同信息的需要,其基本结构安排有一 些特点。
(1) 3种信息(数据、状态、控制)的性质不同,应通过不 同的端口分别传送。如数据输入/输出寄存器(缓冲器)、状态 寄存器与命令控制寄存器各占一个端口,每个端口都有自己的 端口地址,故能用不同的端口地址来区分不同性质的信息。
段显 示器、机械式传感器等简单外设)在规定的时间用IN或 OUT指
一般,这些外设随时做好了数据传送的准备,而无须检测其状态。
这里先要弄清有关输入缓冲与输出锁存的基本概念。
输入数据时,因简单外设输入数据的保持时间相对于CPU的接收速
度来说较长,故输入数据通常不用加锁存器来锁存,而直接使用三态
缓冲器与CPU数据总线相连即可。
CPU对外设的输入输出操作类似于存储器的读写操作,即 I/O—读/写;但外设与存储器有许多不同点。其比较如表 6.1所示.
接口电路(即可编程接口芯片)种类很多,它的显著特点 是可编程性,即可以通过编程来 规定其功能及操作参数。
二、接口电路的基本结构
接口电路的基本结构同它传送的信息种类 有关。信息可分 为3类:数据信息;状态信息;控制信息。
目录
6.2 CPU与外设之间数据传送的方式
本节将以8086/8088为例,来说明CPU与外设之间数据 传送 的方式。为了实现CPU与外设之间的数据传送,通常采用 以下3 种I/O传送方式。 一、程序传送
程序传送是指CPU与外设间的数据交换在程序控制 (即IN 或OUT指令控制)下进行。
(一) 无条件传送(又称同步传送) 这种传送方式只对固定的外设(如开关、继电器、7
(三) 控制信息 它用于控制外设的启动或停止。接口电路基本结构及其连接如图
6.2所示。接口电路根据传送不同信息的需要,其基本结构安排有一 些特点。
(1) 3种信息(数据、状态、控制)的性质不同,应通过不 同的端口分别传送。如数据输入/输出寄存器(缓冲器)、状态 寄存器与命令控制寄存器各占一个端口,每个端口都有自己的 端口地址,故能用不同的端口地址来区分不同性质的信息。
段显 示器、机械式传感器等简单外设)在规定的时间用IN或 OUT指
一般,这些外设随时做好了数据传送的准备,而无须检测其状态。
这里先要弄清有关输入缓冲与输出锁存的基本概念。
输入数据时,因简单外设输入数据的保持时间相对于CPU的接收速
度来说较长,故输入数据通常不用加锁存器来锁存,而直接使用三态
缓冲器与CPU数据总线相连即可。
微型计算机原理及应用:第6章 输入输出和中断技术
——可寻址的端口号为0~65535(FFFFH)
•端口地址小于或等于FFH(255),可以用立即数表示端口地址 IN AL, 42H (8位) 或 IN AX,42H (16位) OUT 43H, AL (8位) 或 OUT 43,AX (16位)
6.1.4 简单的I/O接口
1. 三态缓冲.
用三态门组成,只有当CPU选通时,才允许相应的设备与CPU进 行信息传递.P225-P226
4.DMA传送:在DMAC的控制下,外设直接和存储器(也可外设与外设,存储
器与存储器之间)进行数据传送,而不必经过CPU ,传送速度基 本取决于外设与存储器的速度,从而传送效率大大提高。
6.3 中断技术
6.3.1中断及中断处理过程
中断最初是作为处理器与外部设备交换信息的一种控制方式提出的。由此,最 初的中断全部是对外部设备而言的,称为外部中断或硬件中断。
DMA方式是一种由专门的硬件电路执行I/O的数据传送方式,它 可以让外设接口直接与内存进行高速的数据传送,而不必经过 CPU。这种专门的硬件电路称为DMA控制器,简称DMAC
DMAC的功能
▪ (1)外设通过DMA控制器向CPU提出DMA申请。 ▪ (2)DMA控制器接受外设的DMA请求,取得总线控制权。 ▪ (3)总线载决逻辑对总线申请进行载决,把总线控制权交给
由于不查询外设状态,接口电路不需要状态寄存器
输入方式 IN AL, 0A0H
输出方式 OUT 0A1H, AL
A0 CE
A1
例:采用同步传送系统
(二)查询(条件)传送 适用于CPU与外设异步工作的情况。 在执行输入输出前,要先查询接口中状态寄存器的状态。 输入时,状态寄存器的状态指示要输入的数据是否已经准备就绪 输出时,状态寄存器的状态指示输出设备是否空闲
•端口地址小于或等于FFH(255),可以用立即数表示端口地址 IN AL, 42H (8位) 或 IN AX,42H (16位) OUT 43H, AL (8位) 或 OUT 43,AX (16位)
6.1.4 简单的I/O接口
1. 三态缓冲.
用三态门组成,只有当CPU选通时,才允许相应的设备与CPU进 行信息传递.P225-P226
4.DMA传送:在DMAC的控制下,外设直接和存储器(也可外设与外设,存储
器与存储器之间)进行数据传送,而不必经过CPU ,传送速度基 本取决于外设与存储器的速度,从而传送效率大大提高。
6.3 中断技术
6.3.1中断及中断处理过程
中断最初是作为处理器与外部设备交换信息的一种控制方式提出的。由此,最 初的中断全部是对外部设备而言的,称为外部中断或硬件中断。
DMA方式是一种由专门的硬件电路执行I/O的数据传送方式,它 可以让外设接口直接与内存进行高速的数据传送,而不必经过 CPU。这种专门的硬件电路称为DMA控制器,简称DMAC
DMAC的功能
▪ (1)外设通过DMA控制器向CPU提出DMA申请。 ▪ (2)DMA控制器接受外设的DMA请求,取得总线控制权。 ▪ (3)总线载决逻辑对总线申请进行载决,把总线控制权交给
由于不查询外设状态,接口电路不需要状态寄存器
输入方式 IN AL, 0A0H
输出方式 OUT 0A1H, AL
A0 CE
A1
例:采用同步传送系统
(二)查询(条件)传送 适用于CPU与外设异步工作的情况。 在执行输入输出前,要先查询接口中状态寄存器的状态。 输入时,状态寄存器的状态指示要输入的数据是否已经准备就绪 输出时,状态寄存器的状态指示输出设备是否空闲
微机原理与接口技术-第6章-输入输出与中断技术(1)教材
当设备处于空闲状态或者外设数据准备好时,接口向CPU发 出中断请求信号,CPU收到申请后及时响应接口的中断请求, 暂停执行主程序,转入执行I/O操作程序(中断服务子程序), 完成数据传输之后再返回到主程序继续执行,这种数据传送 方式称为中断方式。
31
中断传送流程图
优点:
实时性好 处理迅速
缺点:
1A3
74LS244
1A4
2A1
2A2
≥1
1G 2A3 2G 2A4
+5V K1 K2 K3 K4 K5 K6 K7 K8
43
NEXT: GOON:
MOV DX, 0FFC1H IN AL, DX TEST AL, 0FFH JZ GOON … MOV AX, BX ADD AX, CX …
44
测试K3的状态,K3断开时转到Label处执行,程序段如 下: TEST AL, 4 JNZ Label ……
不适用于 大量数据 的高速传输
执行主程序 输入/输出指令
执行主程序 一条指令执行结束
有中断请求? 否
执行主程序
是 中断响应
中断处理,执行数据输入/输出
中断返回
32
程序控制下的输入输出方式
无条件传送方式、程序查询传送方式和中断传送方式在数据 传送过程中,CPU从内存读出数据,再输出到外部设备,因 此,这三种方式被统称为程序控制下的输入输出方式 (Programmed input and output),简称PIO方式。
25
6.3.1 无条件传送方式
又称为同步方式,适合简单外设的数据输入输出。 常用外设:开关、继电器、步进电机、发光二极管等。 优点:控制程序简单,软、硬件开销都少。
26
31
中断传送流程图
优点:
实时性好 处理迅速
缺点:
1A3
74LS244
1A4
2A1
2A2
≥1
1G 2A3 2G 2A4
+5V K1 K2 K3 K4 K5 K6 K7 K8
43
NEXT: GOON:
MOV DX, 0FFC1H IN AL, DX TEST AL, 0FFH JZ GOON … MOV AX, BX ADD AX, CX …
44
测试K3的状态,K3断开时转到Label处执行,程序段如 下: TEST AL, 4 JNZ Label ……
不适用于 大量数据 的高速传输
执行主程序 输入/输出指令
执行主程序 一条指令执行结束
有中断请求? 否
执行主程序
是 中断响应
中断处理,执行数据输入/输出
中断返回
32
程序控制下的输入输出方式
无条件传送方式、程序查询传送方式和中断传送方式在数据 传送过程中,CPU从内存读出数据,再输出到外部设备,因 此,这三种方式被统称为程序控制下的输入输出方式 (Programmed input and output),简称PIO方式。
25
6.3.1 无条件传送方式
又称为同步方式,适合简单外设的数据输入输出。 常用外设:开关、继电器、步进电机、发光二极管等。 优点:控制程序简单,软、硬件开销都少。
26
第六章_基本输入输出接口技术
20
6.3 CPU与外设之间的数据传送方式
[例] 设状态端口地址为086H,数据端口地址为084H,外 设忙碌D7=1,请用查询方式写出CPU从存储器缓冲区 Buffer送出1KB的数据给外设的程序段。 LEA SI , Buffer ;取Buffer的有效地址送SI MOV CX , 1000 ;循环次数 W1: MOV DX, 086H ;状态端口地址送DX W2: IN AL , DX ;从状态端口读入状态信息 AND AL,80H ; BUSY=0? JNZ W2 ; BUSY=1,返回继续查询 MOV AL,[SI] ; BUSY=0,取数据 MOV DX, 084H ;数据端口地址送DX OUT DX,AL ;数据输出到数据端口 INC SI ;SI指向下一个字节数据 LOOP W1 ;CX-1送CX≠0,循环 HLT ;CX=0,传送结束
FFFFF
内存 空间 I/O 空间
10
§6-2 I/O端口的编址与访问
二、 I/O端口地址的译码方法:
I/O端口地址译码的一般原则是:把CPU用于I/O端口寻址 的地址线分为高位地址线和低位地址线两部分:
将低位地址线直接连到I/O接口芯片的相应地址引脚, 实现片内寻址,即选中片内的端口。 将高位地址线与CPU的控制信号组合,经地址译码电 路产生I/O接口芯片的片选信号。 常见的译码器: 2/4线译码器74LS139 3/8线译码器74LS138
返回断点
6.3 CPU与外设之间的数据传送方式
关于中断的几点说明:
采用中断的数据传送方式时,外设处于主动申请地 位,CPU配合进行数据传送;CPU不必反复去查询 外设的状态,而是可以与外设“并行工作”,因此 提高了CPU的工作效率,并且更具有实时性。
微型计算机原理与接口技术-第6章输入输出与中断技术ppt课件
四、简单的输出接口举例
锁存器:由D触发器构成〔具有锁存功能〕
通常一个器件包含8个D触发器
常用芯片:
74LS273
74LS273
S
74LS374
S CP Di Qi 0 X X0 1 ↑ 11 1 ↑ 00
D0~D7
A0
A1
▪ ▪
&
▪
A7
IOW
≥
A8 A9
▪& ▪ ▪
A15
74LS273
与
非
用于存储器芯片选通
门
A15 与
~
非
用于I/O芯片选通
A12
门
IO/M
8088最小方式下的原理图
READY RESET
8284A
CLK READY RESET ALE
A19 ~A8 AD7~AD0
8088
+5V
MN/MX DEN DT/R
IO/M
WR RD HOLD HLDA INTR
INTA
存
储
地址 锁存储器
A0 ~ A19
器
8282 地址总线〔20根〕
系
〔三片〕
统
D0 ~ D7 收发器 8286 数据总线〔8根〕 〔一片〕
控制总线
I/O 接 口
节
6.2 简单接口电路
一、 接口电路的根本构造
译码
AB
电路
CPU DB
控制
CB
逻辑
数据输入存放器 (or 三态门)
数据输出存放器 (锁存器)
形状存放器 (or 三态门)
符号 ’8’ ’9’ ’A’ ’B’ ’C’ ’D’ ’E’ ’F’
微机原理 第6章 输入和输出
14
⒈无条件传送的输入方式
数据 三 来自 外设 态 缓冲器 8 数据总线DB 数据总线 地址译码器 地址总线
当执行: 当执行: IN AL , n
IO/M RD 图6-2 无条件传送的输入方式
15
⒉无条件传送的输出方式
74LS273 锁存器 到外设 CLK n IO/M WR 无条件传送的输出方式 8 数据总线DB 数据总线 地址译码器 地址总线
第6章 输入和输出
6.1 概述 6.2 输入和输出的寻址方式 6.3 CPU与I/O之间的接口信号 与 之间的接口信号 6.4 CPU与外设之间数据的传送方式 与外设之间数据的传送方式
1
6.1 概 述
输入和输出设备是计算机系统的重要 输入和输出设备是计算机系统的重要 组成部分。 组成部分。
程序 原始 数据 信息
25
1. 查询输入方式
数据口 • o 输 数据 入 > 装 +5V • oR
D 数据 M / IO
o
o o
CS
RD 地址译码
A7~ A0
数据端口
去DB 状态信息
Q
状态端口 地址 译码
Ready(D4) o 状态口 o CS o o
选通 信号
›
M / IO
RD
图6-5 查询式输入接口电路
26
当输入装置数据准备好① 当输入装置数据准备好①发出一个选通信 一面把数据锁存起来,一面送 号,一面把数据锁存起来 一面送 触发器的 一面把数据锁存起来 一面送D触发器的 CLK端,将D=1打入 端,使Q=1;②CPU读入状 打入Q端 使 端将 打入 ; 读入状 态信息READY(D4) ;③当READY=1,输入数据; 输入数据; 态信息 输入数据 读入数据同时,将状态信号清零 将状态信号清零。 ④读入数据同时 将状态信号清零。 程序段如下: 程序段如下:
40第6章输入输出和中断精品PPT课件
9
查询传送方式——又称异步传送方式
START:MOV DL,0F8H
LEA DI,DSTOR
; 存A/D结果的数据区指针
AGAIN:MOV AL,DL
AND AL,0EFH OUT 4,AL
; 使D4=0 ; 停止A/D
CALL DELAY
; 等待停止A/D动作的完成
MOV AL,DL OUT 4,AL POLL: IN AL,2
11Leabharlann 6.2.4 DMA传输4
数据
REA启DY动 D4 D2 D1 D0
U1 A/D转换器
IN0
…
1个模拟量
U5
IN7
电路的功能:完成8个模拟输入信号的采集。 工作过程: ①向口地址4写入一个字节,其D2—D0加到U5上,将IN0—IN7之一送到A/D转 换器的入口。同时由D4位启动A/D转换器工作。 ②A/D是否已转换完成,可通过口地址2读入判断。 ③READY=1则可从端口3读入A/D转换结果,存入指定区域。
传送数据前先检查外设状态,在状态满足条件时才可传 送数据,否则等待。 缺点:CPU花大量的时间进行状态查询,CPU效率较低
从状态端口读入状态信 息
外设准备好? N Y
从数据端口传送一个数据
8
6.2.2 查询传送方式举例
例:以查询方式工作的数据采集系统(P181图6—3)
DB
U3
D0
U4
CPU
3
2 U2
; 用意是DH=01,DL=00 ;BX指向数据区开始(用于存放A/D结果) ; AL=0,CF=0
OUT 20H,AL
; P0—P7全断电
CALL NEAR DELAY1 ;调延时子程序,等待继电器触点动作
查询传送方式——又称异步传送方式
START:MOV DL,0F8H
LEA DI,DSTOR
; 存A/D结果的数据区指针
AGAIN:MOV AL,DL
AND AL,0EFH OUT 4,AL
; 使D4=0 ; 停止A/D
CALL DELAY
; 等待停止A/D动作的完成
MOV AL,DL OUT 4,AL POLL: IN AL,2
11Leabharlann 6.2.4 DMA传输4
数据
REA启DY动 D4 D2 D1 D0
U1 A/D转换器
IN0
…
1个模拟量
U5
IN7
电路的功能:完成8个模拟输入信号的采集。 工作过程: ①向口地址4写入一个字节,其D2—D0加到U5上,将IN0—IN7之一送到A/D转 换器的入口。同时由D4位启动A/D转换器工作。 ②A/D是否已转换完成,可通过口地址2读入判断。 ③READY=1则可从端口3读入A/D转换结果,存入指定区域。
传送数据前先检查外设状态,在状态满足条件时才可传 送数据,否则等待。 缺点:CPU花大量的时间进行状态查询,CPU效率较低
从状态端口读入状态信 息
外设准备好? N Y
从数据端口传送一个数据
8
6.2.2 查询传送方式举例
例:以查询方式工作的数据采集系统(P181图6—3)
DB
U3
D0
U4
CPU
3
2 U2
; 用意是DH=01,DL=00 ;BX指向数据区开始(用于存放A/D结果) ; AL=0,CF=0
OUT 20H,AL
; P0—P7全断电
CALL NEAR DELAY1 ;调延时子程序,等待继电器触点动作
微机原理(第六章 输入输出控制)
置中断屏蔽字,从而改变原有的中断优先级。中断控制器还支持中断
的嵌套。中断的嵌套是指,当CPU正在为一个中断源服务时,又有一 个高优先级的中断请求打断当前的中断服务,从而CPU进入一个新的
中断服务的情况。
微机上用的比较多的还是可编程中断控制器芯片 如 Intel 8259A。
2014-1-5
16
系统中采用可编程中断控制器以后,硬件的连线也发生了改变 。这时,CPU的INT和引脚不再与中断接口电路相连,而是与中断 控制器相连,来自外设的中断请求信号通过中断控制器的中断请求 输入引脚IRi进入中断控制器。CPU发出信号以后,由中断控制器将 送出的级别最高的中断请求的中断类型码送出,使CPU可以转向相 应的中断服务子程序。整个电路如图6-11所示。
输出时,则可提供“忙(BUSY)”信号, BUSY=1表示其正在忙,BUSY=0表示CPU 可以进行输出操作。 (1) 程序流程( 以输入为例 )
2014-1-5 7
(2) 接口电路
输 入接口 :从 输入设备将 数据送入锁 存器 (STB=0), 发选通信 号 (STB=0)作为D触发器的CLK,使其输出为高,经三态缓冲器后
2014-1-5
22
类型0
中断向量表
IP CS 类型1 IP CS 类型2 IP CS ┅ ┅ 类型30 IP CS 类型31 IP
0000:0000H 0000:0004H 0000:0008H
0000:0078H 0000:007CH 0000:0080H
2014-1-5
CS 类型32 IP CS ┅ ┅ 类型255 IP CS
14
(2) 简单硬件方式
我们以链式中断优先权排队电路为
例。它的基本设计思想是:将所有的
输入输出和中断技术优秀课件
接口的功能
设置I/O接口的必要性——I/O设备的多样性使 CPU与I/O设备交换信息比CPU与存储器交换信息 更为复杂,表现在:
1)I/O设备工作速度不同; 2)数据字长多样; 3)处理的信号不同 (模拟或数字信号、并行或串
行) ; 4)所需的控制信号不同。 I/O接口在它连接的CPU与I/O设备之间起转换作 用。
I/O单独编址
属性 统一编址
单独编址
应用 特点
motorola的M6800系列, 80X86 ,MCS96系列,
iMCS51系列
Z80系列
1.I/O端口相当于内存的一部分, 1.端口与存储器分别独立编
使内存容量减小
址,端口不占用内存空间
2.对I/O端口的读/写与对存储器 2.设有专门的 I/O指令对端 的读/写相同,所有可对内存操 口进行读写,内存操作的指 作的指令对I/O端口均可使用 令不能用于I/O端口 3.指令系统中不专设I/O指令
在PC/XT中采用的系统总线标准:PC总线。其中:AEN 引脚信号表示:当为高电平时,CPU让出总线控制权,给 DMA控制器掌管系统总线。
简单I/O接口
三态缓冲器 输入设备通过数据总线向CPU传送数据,首先需通过缓冲 器进行缓冲隔离,当CPU选通缓冲器时,才将数据送到数 据总线上,而其他的输入设备此时与总线隔离。
2、I/O传送方式
不同的传送方式适用不同的I/O设备、不同的工作 环境 :
程序控制的输入与输出 中断控制的输入与输出 直接存储器访问方式(DMA)
程序控制的输入与输出
程序传送方式以CPU为中心,数据传送的控制来 自CPU,通过执行预先编制的输入/输出程序实现 数据传输。程序传送方式可分为无条件传送和查 询传送方式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
➢ 2. 命令操作字 (1)OCW1(A0=1,奇地址端口) OCW1是中断屏蔽操作命令字,直接写入中断屏蔽寄存器IMR。 M0-M7对应IR0-IR7,其中Mn位=1,则该Irn位屏蔽,即Irn线上的 中断不被接收
D0:若系统中的微处理器为MCS80/85,则D0=0;若系统中的CPU 为8088/8086则D0=1
保存从IR0~IR7来的中断请求信号 ➢ (2)中断服务寄存器ISR
用于保存所有正在服务的中断源 ➢ (3)中断屏蔽寄存器IMR
存放中断屏蔽字,每一位分别与IR0~IR7相对应 ➢ (4)中断判优电路
检测从IRR、ISR和IMR来的输入,并确定是否应向CPU发出中断请求
8259A内部结构框图6-25
ICW3设置
MOV AL, 03H;
写ICW4,8086/88模式,自动中断结束,非缓冲,一
般嵌套,00000011
OUT DX, AL
MOV AL, 0E0H;
写OCW1,屏蔽IR5、IR6、 IR7中断源,11100000
OUT DX, AL;
(假定这3个中断输入未用),其它开中断
4. 8259编程举例 ➢ IBM PC/AT (80286)为例说明其编程。286以上的PC机中共使用两片8259
2. 中断结束处理方式 ➢ (1)自动中断结束方式
在第二个中断响应周期INTA信号的后沿,8259自动把中断服务寄存器 ISR中的对应位清除。
用于没有中断嵌套的情况 ➢ (2)正常中断结束方式
CPU向8259发出正常中断结束EOI命令时,会把当前正在处理的中断对 应的ISR位复位。
用在全嵌套优先权工作方式下。 ➢ (3)特殊中断结束方式
4. 第一个/INTA负脉冲到达时,IRR的锁存功能失效,对于IR7-IR0上发来的中 断请求信号不理睬。使服务寄存器ISR的相应位置1,并使相应的IRR位复位。 5. 第二个/INTA负脉冲到达时,将中断类型寄存器中的内容ICW2,作为向量送 到数据总线的D7-D0上。CPU读取该中断类型码并乘以4,就可以从中断向量表 中取出服务子程序的入口地址转去执行。
6.5.1 8259A的引线及内部结构
1. 8259A的外部引线 引脚含义 D0~D7:双向数据信号线 /RD、/WR:读和写信号线 /CS:片选信号,低电平有效 A0:内部寄存器的选择信号 INT为中断请求输出信号 /INTA为中断响应输入信号 CAS0~CAS2:级联控制线 /SP//EN:双功能引线 IR0~IR7:中断请求输入信号
6.5 可编程中断控制器8259A
8259A是Intel公司专为8088/8086CPU配套的可编程中断控制器(PIC) ,用于对8086/8088 系统中的可屏蔽中断进行管理。 8259A可对8个中断源实现优先级控制,多片8259A通过级联(用9片 8259A)还可扩展至对64个中断源实现优先级控制。 在8259A中能判断一个中断请求输入是否有效,是否被屏蔽和进行优先 级判决,并在CPU响应中断后,将中断类型码发给CPU,并且每一级中 断都可以通过初始设置为允许或屏蔽状态,具有很高的编程灵活性。
(1)ICW1(A0=0,偶地址端口)
(2)ICW2(A0=1,奇地址端口)
中断源的中断号是由高5位和低3位相加得到的。高5位由ICW2指定;而其低3位是由 中断源所连接的中断请求输入线IR7~IRO的优先级编码决定,并在CPU读取中断号 之前,由8259A自动填写。也就是说,ICW2将引脚与中断号码对应起来。 例如,ICW2=08H,则IR0~IR7请求对应的中断类型码分别为:08H、09H、0AH、 0BH、0CH、0DH、0EH、0FH。 ICW2=70H,IR0~IR7请求对应的中断类型码分别 为:70H、71H、72H、73H、74H、75H、76H、77H。
FF02H(奇地址):
MOV DX, 0FF00H;
8259的地址A0=0
MOV AL, 13H;
写ICW1,边沿触发,单片,10011
OUT DX, AL
MOV DX, 0FF02H;
8259地址A0=1
MOV AL, 48H;
写ICW2,设置中断类型码
OUT DX, AL;
中断向量为48H-4FH(IR0-IR7)单片8259,不对
(3)ICW3(A0=1,奇地址端口)在级联方式时用
ICW3用于8259A的级联,对于主芯片来说,每一位对应于一片从8259A芯片,若 相应引脚上接有从8259A芯片,则相应位为1;否则,若相应引脚上未接从8259A 芯片,则相应位为0,从芯片的D7-D3为0,低三位的ID2,ID1,ID0确定了本芯片 对应主芯片的引脚。
CS
WR
RD
D7
D6
5
D5
D4
D3 D2Leabharlann D110D0
CAS0 CAS1 GND
VCC A0
INTA
IR7
IR6
23
IR5
IR4
IR3 IR2
IR1
18
IR0
INT
SP/EN
CAS2
2. 8259A的内部结构 ➢ 由中断请求寄存器IRR、中断服务寄存器ISR、中断屏蔽寄存器IMR、中断
判优电路、数据总线缓冲期、读/写电路、控制逻辑和级联缓冲/比较器组成 ➢ (1)中断请求寄存器IRR
(4)ICW4(A0=1,奇地址端口)——中断结束方式字 只有当ICW1中的D0=1时才需要设置 D0:若系统中的微处理器为MCS80/85,则D0=0;若系统中的CPU 为8088/8086则D0=1 D1:AEOI,结束中断的方式,若D1=1,则为自动中断结束方式; 若D1=0,则需要命令来结束中断 D2:M/S,缓冲方式下使用,若D2=1,则表示为主8259A;若 D2=0,则表示为从8259A D3:BUF,若8259A工作于缓冲方式,则D3=1;否则D3=0
,两片级联使用,共可管理15级中断 ➢ 各级中断的用途见书上表6-2
6.5.5 中断程序设计概述
中断程序设计的一般过程 ➢ (1)确定要使用的中断类型号 ➢ (2)保存原中断向量 ➢ (3)设置自己的中断向量 ➢ (4)设置中断屏蔽字 ➢ (5)CPU开中断 ➢ (6)回复原中断向量
6.3 8259有哪几种优先级控制方式?一个外中断服务程序的第一条指令通常为 STI,其目的是什么 6.5 单片8259能够管理多少级可屏蔽中断,若用3片级联能管理多少克屏蔽中断
2. 8259A的初始化顺序
8259A的初始化编程,需要CPU 向它输出一个初始化命令字,输 出命令字的流程如图,其中ICW1 和ICW2是必须的,而ICW3和 ICW4可以选择。
3. 8259A 的内部控制字 ➢ 8259A的命令字分成两大类,一类是初始化命令字;另一类是操作命令字。 ➢ 1. 初始化命令字ICW
6.5.2 8259A的工作过程
1. 当有一条或若干条中断请求输入(IR0-IR7)有效时,则使中断请求寄存器的 IRR的相应位置位。 2. 若中断请求线中至少有一条是中断未被屏蔽的,则8259由INT引脚向CPU发出 中断请求信号INTR。 3. 若CPU处于开中断状态,则在当前指令执行完之后,响应中断,并且从/INTA 发应答信号。
在程序中发一条特殊中断结束命令,命令指出ISR的哪一位清除 用在非全嵌套方式下
3. 屏蔽中断源的方式 ➢ (1)普通屏蔽方式 ➢ (2)特殊屏蔽方式 4. 中断触发方式 ➢ (1)边沿触发方式 ➢ (2)电平触发方式
5. 级联工作方式
6.5.4 8259A的初始化编程
1. 8259A内部寄存器的寻址方式
6. 若8259工作在自动中断结束AEOI方式,在第二个INTA脉冲结束时,就会使 中断源所对应的ISR中的相应位复位。对于非自动结束方式,则由CPU在中断服 务子程序结束时向8259写入EOI命令,才能使ISR中的相应位复位。
6.5.3 8259A的工作方式
1. 中断优先方式与中断嵌套 ➢ (1)中断优先方式 固定优先级方式 循环优先级方式:一个中断源的中断请求被响应之后,其优先级自动降 为最低。系统启动时,8级中断优先级默认为IR0-IR7,这时,刚好IR4发 出了中断请求,CPU响应之后,若8259A工作在自动循环方式下,则中断 优先级自动变为5、6、7、0、1、2、3、4 ➢ (2)中断嵌套 普通全嵌套方式:全嵌套方式8259A初始化后自动进入的基本工作方式, 此时优先级从IR0到IR7依次降低。当某一中断处理时,可响应比它高的 中断,但禁止比它低的或同级中断进入。 特殊全嵌套方式:当CPU处理某一级中断时,如果有同级中断请求,那 么CPU也会做出响应,从而形成了对同一级中断的特殊嵌套。
(2)OCW2,设置优先级循环方式和中断结束方式
(3)OCW3(A0=1,偶地址端口)——屏蔽方式和状态读出控制字 设置中断屏蔽方式 查询中断请求,先写一个P=1的OCW3到8259,再对统一地址读入 ,就可以得到6-37所示格式的状态字节。 读8259状态
对8259的初始化一定要按规定的顺序进行,假定8259占用的I/O地址为FF00和