专题六 输入输出和中断系统
《微机原理与接口技术》课件——第6章输入输出及中断系统
பைடு நூலகம்
CB
AB
DB
CPU
数据端口
状态端口
I/O
设
备
译
码
控制端口
图7.3 I/O接口的基本结构
I/O接口
5、I/O端口的编址 微机系统中,I/O端口的编址方式分为统一编址和独立编址两大类。在Intel 80x86系列微机中,采用独立编址方式。 (1). I/O端口的统一编址方式 统一编址又称存储器映象编址(Memory-mapping Address Coding),就是将I/O端口看成是存储器空间的一个组成部分,按照存储器单元的编址方法统一编排地址号,每个I/O端口占用一个地址。这样,CPU对I/O端口的输入/输出操作如同对存储单元的读/写操作一样,对存储器的各种寻址方式也同样适用于I/O端口。
DB
输
出
设
备
&
数据
地址
译码器
数据端口
译码输出
地址总线
DB
状态端口
译码输出
状态
寄存器
BUSY
+5 V
锁
存
器
Q
D
数据总线DB
来自CPU
选通信号
ACK
WR
IO
/
M
R
&
RD
IO
/
M
图7.9 查询式输出的接口电路
(2)程序中断的输入/输出方式 该方式借助于CPU响应外部中断请求的能力,实现输入输出的控制。简单地说,就是外设将准备就绪的信号转换成有效的中断请求信号通知给CPU,CPU响应中断后,在中断服务子程序中执行I/O指令,进行数据传送。 查询传送方式是由CPU来查询外设的状态,CPU处于主动地位,而外设处于被动地位。中断传送方式则是由外设主动向CPU发出请求,等候CPU处理,在没有发出请求时,CPU和外设都可以独立进行各自的工作。
汇编语言第六章 输入输出和中断
第六章输入/输出和中断前面已经讲过有关输入/输出的问题,主要是用DOS中断调用INT 21H来完成键盘输入以及屏幕显示。
对于计算机来说,仅有这种输入/输出还不够,因为DOS的中断调用无法实现对其它外设的控制。
关于如何用汇编程序实现主机与外设之间的信息交换,将是本章的主要内容。
6.1I/O设备与数据传送方式一.主机与外设之间数据的传送方式计算机与外设之间传送数据有如下4中方式:1.无条件传送方式:适合于CPU与外设同步的情况。
直接传送,高速外设与主机之间数据传送。
2.查询传送方式:适合于低速外设与主机之间数据传送。
3.中断传送方式:适合于低速外设与主机之间数据传送。
4.直接存贮器(又称DMA)传送方式:适合于高速外存与主机的数据传送。
其中:无条件传送和查询传送,直接在端口上利用IN和OUT 指令传送数据。
中断传送:在DOS及BIOS层上通过系统功能调用的中断指令实现。
直接存贮方式:在端口上,采用通道技术实现。
在计算机准备好接收,外设准备好传送数据时,外设向CPU发一个请求DMA传送信号,此时CPU让出总线控制权,使外设与主存在短时间内成批传送数据。
二.外设与主机传送的接口与信息1.端口与接口计算机的外设都是通过接口连接到系统上,每个接口由一组寄存器组成,寄存器都有一个称为I/O端口的地址编码。
也就是,每一台外设都通过硬件接口与主机端口相连,并交换信息。
接口的组成:设备状态寄存器、设备控制寄存器、数据寄存器。
上述寄存器在I/O空间中都有固定编码。
I/O端口的地址空间:允许设置64K个8位端口或32K个16位端口。
对I/O空间的访问用IN或OUT两个指令。
I/O端口地址分配,可以查手册。
如:40H~43H时钟/定时器,60H~63H为8255通讯芯片的接口。
2.外设与主机的信息交换传送的信息分为三类:①控制信息:CPU把控制信息从端口输出到对应外设接口的控制寄存器中,告诉外设应做什么。
②状态信息:把外设的状态寄存器中的内容送到对应的端口中,以便CPU了解外设状态。
第六章 输入输出和中断
中断服务程序入口:
IE0
IT0 IE1 IT1 IS
0003H~000AH
000BH~0012H 0013H~001AH 001BH~0022H 0023H~002AH
在中断服务程序的最后,须放一条指令 RETI,该指令 清“ 0 ”响应时所置的优先级触发器( RET 没有此操作) ,然后返回。
举例:
接口电路究竟起什么作用? 或者说它的任务是什么?
接口电路的任务: ●对数据提供缓冲(时间和电器性能上): 设置数据的寄存、缓冲逻辑, ●信息格式相容性变换: 如串并行的转换;电平转换、数/模或模/数转换等; ●协调时序差异:提供“准备好”“空”“满”等状态信号 ●提供地址译码或设备选择信号: ●提供中断和DMA控制逻辑及管理:
二、CPU与外设间的接口信号 1、数据(Data) 数字、模拟、开关 2、状态(Status)) 输入时:“准备好”(Ready) 输 出 时 : “ 空 ” ( Empty)、“ 忙 ”(Busy) 3、控制(Control) 外设的启动、停止、读、写
6.2 CPU与外设数据传送方式
有直接、查询、中断、
(3) TF0、TF1(Timer overflow interrupt flag)定时器溢出中断标志
当定时器/计数器最高位进位时,置“1”TFi表示正在向CPU申 请中断,CPU响应中断后,自动清“0” TFi。
二、中断控制
1、IE(Interrupt Enable)中断允许寄存器:控制中断是开放还是 屏蔽的。
2、IP(Interrupt priority) 中断优先权控制寄存器(B8H)
(1)PS:串行口中断优先级控制位
(2)PT0、PT1:定时器/计数器中断优先级控制位
微型计算机原理及应用:第6章 输入输出和中断技术
•端口地址小于或等于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章 输入输出和中断
基本内容: I/O接口概念;I/O接口应用背景; CPU与I/O设备间的信号种类;I/O端口的寻址 方式;I/O三种传输方式:程序查询方式,程序中 断方式,DMA方式 基本要求: 理解I/O接口的作用和一般结构;掌 握I/O的编址方式和I/O传输方式的三种方式; 重点内容: I/O接口信号种类;I/O编址方式; 三种传输方式; 难点内容: 三种传输方式
外设已处于“就绪”状态,寻址数据口。 是输入,通过输入指令从数据端口读入数据 是输出,通过输出指令向数据端口输出数据 特点:工作可靠,适用面宽,但传送效率低
2、 查询传送方式
1)查询式输入
息 )
输 出 设 备
CPU
D7~0
数 据 缓 冲 器
D7~0
地址线
地址译 码电路
数 输 据 入 锁 D7~0 设 存 备 器 状态信息 (Ready)
2、 查询传 送方式
当系统中有多 个外设时查询 方式如何工作 ?
1号外设 准备就绪?
否
是
对1号外设服务
2号外设 准备就绪?
否
是
对2号外设服务
3号外设 准备就绪?
否
是
对3号外设服务
2、 查询传送方式
优点:
接口电路和程序设计都较为简单,容易实现。
缺点:
CPU、外设不能并行工作,CPU的效率低,外设 得不到及时响应。 适用场合: 这种传送方式适用于一般工作速度较慢的外设, 特别是外设数量不多,实时性要求不高的场合。
查询输入方式
2、 查询传送方式
例:设有某输入接口,状态口地址83H,数据口地址 80H,当状态口的D7为1时,数据准备好。试编写查寻 式输入一个数据的程序;
POLL: IN AL,83H TEST AL,80H ;检查状态位D7
6__输入输出和中断
图6-3为无条件输入方式应用实例,CPU可以随时 读入开关的状态,开关闭合时,对应的数据位为0,开关 打开时,对应的数据位为1。图6-4为无条件输出方式的 应用实例,当某输出数据位为1时,对应的发光二极管点 亮,反之,则熄灭。
图6-3 无条件输入方式
图6-4 无条件输出方式
6.2.2 查询传送方式
为了与I/O接口的信息交换,CPU就像为内存单元分 配地址那样为每个端口分配一个地址(称为端口地址)。 当一个I/O接口有多个端口时,为管理方便,通常是为其 分配一个连续的地址块,这个地址块中最小的那个地址称 为接口的基地址。
所有的端口都需要编址,常用的编址方式有两种:一 是I/O端口与内存单元统一编址;二是I/O端口独立编址。 (1) I/O端口与内存统一编址 该编址方式又称为存储器映射编址方式,即将每个 I/O端口都当作一个存储单元对待。CPU将地址空间的一 部分划给I/O接口,在此范围内,给每个端口分配一个具 体的地址,故每个端口地址将占用存储器的一个地址。 统一编址的优点是:不需要设置专门的访问I/O端口 的指令,可以用访问外部RAM的指令来访问I/O端口,为 访问外设带来了很大的灵活性;端口地址可以有较大的编 址空间,安排较灵活。 统一编址的缺点是:I/O接口占据了一部分地址空间, 减少了内存可用的地址范围;从指令形式上不易区分当前 指令是对RAM进行操作还是对端口进行操作。
图6-1 接口的基本构成
①数据输入/输出寄存器 —— 暂存输入/输出的数据 ②命令寄存器 —— 存放控制命令,用来设定接口功 能、工作参数和工作方式 ③状态寄存器 —— 保存外设当前状态,以供CPU读 取 ④译码电路——根据地址总线信息选中某一个寄存器。 ⑤控制逻辑——控制各部分协调工作。
(2)接口电路传送的信息 图6-2为CPU通过接口与外设的连接示意图。通过 接口传送的信息包括数据信息、状态信息和控制信息。
第6章输入输出及中断系统精品PPT课件
2021/2/5
《机械系统计算机控制课件》
6
接口芯片译码例子
门电路译码(译码固定) 分析8259 的CS要求低电平
或门输入必须为0;与非门输入必须为1;非门输入必须为0 满足结果的输入地址信号为:A9A8=00 A7A6A5=001
A9 “0”
A8 “0”
& “0”
“0” A7
“0” A6
“1” A5
2021/2/5
“0”
“0” ≥ 1
CS 8259A
&
《机械系统计算机控制课件》
7
接口芯片译码例子
译码器译码(74LS138)
译码条件:接G2A#、G2B#的A9A8必须00 译码结果:接CBA的A7A6A5
000对Y0低 8259 CS (00000xxxxxB) 001对Y1低 8253 CS (00001xxxxxB) 010对Y2低 8255 CS (00010xxxxxB) 111对Y7低 8251 CS (00111xxxxxB)
ቤተ መጻሕፍቲ ባይዱ数据总线DB
CPU
地址总线AB 控制总线CB
2021/2/5
存储器 RAM ROM
I/O芯片 8259 8253 8255
8251…
《机械系统计算机控制课件》
I/O设备 显示器 打印机 键盘 鼠标
3
6.1 输入/输出接口
I/O接口(续)
一般接口方式(三总线)(图例)
DB直接连接接口芯片D7-D0 地址A15-A0低连高译(得到I/O接口芯片地址) 控制总线对应连接
无条件传送
在该方式中,外设总被认为已处于准备就绪和准备接 收状态,程序不必查验外设的状态。
第6章输入输出与中断
6.2 CPU与外设之间的数据传送方式
6.2.1 无条件方式 6.2.2 查询方式 6.2.3 中断方式 6.2.4 DMA方式
6.2.1 无条件传送方式
无条件传送方式主要用于外部控制过程的各种动 作是固定的、且是已知的,控制的对象是一些简单 的、随时“准备好”的外设。也就是说,在这些设 备工作时,随时都可以接收CPU输出的数据,或者 它们的数据随时都可以被CPU读出。
端口
I/O 接 口 通 常 设 置 有 若 干 个 寄 存 器 , 用 来 暂 存CPU和外设之间传输的数据、状态和控制信息, 这些接口内部的寄存器通常称为端口,分别为数 据端口、状态端口、控制端口。每个端口有一个 独立的地址,CPU可通过端口地址来读/写它们。
6.1.3 输入/输出端口的编址方式
MOV [BX], AL ; 存到内存BUFFER缓冲区
INC BX
; 修改地址指针
LOOP ABC ; 未送完,继续传送
1)输入指令IN
格式:IN OPD,OPS 功能:从端口(地址为n或在DX中)输入8位数据到
AL或输入16位数据到AX。 IN AL,40H;从40H端口读入一个字节送AL MOV DX , 8F00H ; 将 端 口 地 址 8F00H 送 DX
优点:可以用访问内存的方法来访问 I/O端口。由于访问内存的指令种类 丰富、寻址方式多样,因此这种编址 方式为访问外设带来了很大的灵活性。 同时,I/O控制信号也可与存储器的 控制信号共用,从而给应用带来了很 大的方便。
缺点:外设占用了一部分内存地址空间,这就减少了内存可用 的地址范围。此外从指令上不易区分当前是对内存进行操作还 是对外设进行操作。 Intel MCS-51等系列的单片微型计算机采用统一编址方式。
微机系统与接口:第六章 输入输出与中断
第六章 输入输出与中断
6.2 CPU与外设数据传送方式
❖ 程序
START: MOV DL,0F8H
;D4=1,启动
MOV AX,SEG DSTOR
MOV ES,AX
LEA DI,DSTOR
AGAIN: MOV AL,DL
AND AL,0EFH
状态端口 译码输出
第六章 输入输出与中断
6.2 CPU与外设数据传送方式
❖ 查询输入方式程序:
POOL:
IN AL,STATUS_PORT TEST AL,80H JE POOL
IN AL,DATA _PORT
;读状态口 ;设状态信息在D7位 ;READY=0,未准备好,
继续查询
;准备好,读数据
第六章 输入输出与中断
➢ (一)无条件传送(同步传送)
✓ 对象:简单的外设,如开关、继电器、7段显示器等。 ✓ 指令:IN ,OUT ✓ 数据量:少
至输出设备的数 据
锁存器 CE
AB
M/IO
端口地址 译码
&
WR
三态 缓冲器
CE
来自输入设备的数据
&
RD
第六章 输入输出与中断
6.2 CPU与外设数据传送方式
❖ 例:同步传送数据采集系统
6.2 CPU与外设数据传送方式
❖ 3、例:一个采用查询方式的数据采集系统
DB
CPU
8 bits
03 02
A/D
READY D4模拟信号8 bits04
D0,D1,D2
UA0
MUX
UA7
…..
采集要求: 1、初始化 2、停止A/D转换 3、启动转换,查READY状态 4、若READY=1,则从 03 口读数 5、设置下一通道和内存单元
40第6章输入输出和中断精品PPT课件
查询传送方式——又称异步传送方式
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 ;调延时子程序,等待继电器触点动作
06章 输入输出与中断系统
二、外设为什么一定要通过接口电路和主机 总线相连呢? 1.因为外设的信息可能是数字的,也可能是 模拟的,而CPU只识别数字式,所以需用一个 接口电路(D/A,A/D)。
(一)程序控制方式:无条件传送方式和条件传 送方式 无条件传送方式:见图6-1
如果计算机能够确信一个外设已经准备就绪,那 就不必查询外设的状态,可直接进行信息传输, 这种方式称为无条件传送方式。 在无条件传送条件下,程序设计较简单,不过, 名为无条件传送,实际上是有条件的,那就是传 送不能太频繁,以保证每次传送时,外设处于就 绪状态。所以此方式用得很少,只用于一些简单 外设如开关和七段显示管等。
可屏蔽中断的中断请求可以在CPU内部设置
一个中断允许标志位“IF”,当IF为“1”时, CPU接收中断请求;当IF为0时,中断源被屏 蔽掉,即CPU控制是否响应中断。 非屏蔽中断是指中断请求不能在CPU内部被 屏蔽掉,当非屏蔽中断源请求时,CPU必须 给与响应,因此,非屏蔽中断一般用来处理 紧急事情如电源掉电等。
1.
保护断点和现场信息 所谓断点就是指响应中断时,主程序当前指 令下面的一条指令的地址,即当前PC值。为 了在中断处理结束后,CPU能够正确返回到 断点出执行程序,就必须对断点进行保护, 即断点地址被推入到堆栈中进行暂存,否则 将会导致程序出错。断点保护是由硬件自动 实现的,同理断电恢复也是由硬件完成。
以上两种编址方式各有利弊,在使用中应用
第06章输入输出接口及中断技术X课件
3.控制信息 控制信息是CPU通过接口传送给外设的,CPU通过发送控制信息设置外设(包括接口)的工作模式、控制外设的工作。如外设的启动信号和停止信号就是常见的控制信息。实际上,控制信息往往随着外设的具体工作原理不同而含义不同。
CPU通过接口和外设交换信息时,只能用输入指令(IN)和输出指令 (OUT)传送数据, 所以状态信息、控制信息也是被作为数据信息来传送的,即把状态信息作为一种输入数据,而把控制信息作为一种输出数据,这样,状态信息和控制信息也通过数据总线来传送。但在接口中,这三种信息是在不同的寄存器中分别存放的。 即通过端口来访问以上的信息
小 结
返回
二、端口(PORT)
I/O端口:是指I/O接口中存放数据信息、状态信息和控制信息,CPU可以读/写的一组寄存器或特定电路,被称为I/O端口。 一般接口通常有数据端口、控制端口、状态端口 数据端口:(I、O) 输入数据端口(I):保存外设给CPU的数据 输出数据端口(O):保存CPU给外设的数据 状态端口:(I) 存放I/O设备或接口本身的工作状态信息 控制端口:(O) 存放CPU给外设或接口电路的命令
2. 状态信息 状态信息作为CPU与外设之间交换数据时的联络信息,反映了当前外设所处的工作状态,是外设通过接口送往CPU的。CPU通过对外设状态信号的读取,可得知输入设备的数据是否准备好、输出设备是否空闲等情况。对于输入设备,一般用准备好(READY)信号的高低来表明待输入的数据是否准备就绪;对于输出设备,则用忙(BUSY)信号的高低表示输出设备是否处于空闲状态,如为空闲状态,则可接收CPU输出的信息,否则CPU要暂停送数。因此,状态信息能够保障CPU与外设正确地进行数据交换。
6.1.1I/O接口电路的功能和必要性
一、I/O接口要解决的问题 速度匹配(Buffer):键盘0.5s,打印机几十ms, 软盘500KB/S,硬盘100MB/S 信号电平和驱动能力(电平转换器、驱动器) 信号形式匹配(A/D、D/A) 信息格式(字节流、块、数据包、帧) 时序匹配(定时关系) 总线隔离(三态门)