汇编语言接口技术第七章输入输出系统(1).

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中断控制的输入和输出方式,也称中断传送 方式,即当外设的输入数据准备好或接收数据
的锁存器为空时,主动向CPU发出中断请求,使
CPU中断原来执行的程序(主程序),转去执行为
外设服务的输入或输出操作,服务完毕,CPU再
继续执行原来的程序。
中断传送过程可概括为以下五步: (1)I/O事件发出中断请求; (2)CPU暂停主程序,实现程序的转移,即 中断响应; (3)保护现场,即保护有关寄存器的内容; (4)执行I/O操作,并实现内存到累加器再 到端口之间的传送; (5)中断返回。

外设的 I/O 操作速度较慢,中断传送方式恰 恰在这段较慢的过程中让主机和各个外设 并行工作;仅仅在外设 I/O 过程完成后要求 与主机交换数据时才暂停 CPU 主程序运行, 而 CPU 传送输入/输出的数据到端口是很 快的,因此中断方式基本实现了主机和外 设的并行工作。
3、DMA控制方式
中断传送方式要中断主程序,每次都要保护 断点、保护现场、进入中断服务子程序,中断 服务完毕又要恢复现场、恢复断点、返回主程 序,这些操作繁多步骤重复,对低速外设和数 据量不大的 I/O操作,这些缺点不明显,中断传 送不失为一种行之有效的传送方式。但对成批 高速数据传输效率就较低,这时常采用 DMA(Direct Memory Access :直接存储器存取 ) 方式。
第7章 输入输出系统
7.1 7.2 7.3 输入输出系统概述 CPU与外设数据的传输控制方式 中断控制器8259A
7.1 概述
1、引言
I/O接口的概念(什么是I/O接口?)

把外围设备同微型计算机连接起来的电路 称为外设接口电路,简称外设接口。
2、主机(CPU)和I/O设备之间传送的信息格式
(1)数据信息 数字量(计算机可以直接接收和处理的数据)、模拟量、开 关量等,可以输入,也可以输出。 (2)状态信息 状态信息是CPU与外设之间交换数据时的联络信息。CPU通过 读取外设状态信号,可知外设的工作状态。 例如:对于输入设备的“ Ready” ;对于输出设备的“ Busy” 特点:①CPU外设接口 ②可读(不可写) (3)控制信息 控制信息是设置I/O外设(包括I/O接口)的工作模式、 命令 字的有关信息。 如“启动”、“停止”信息。 特点:①CPU外设接口 ②可写(不可读)
工作过程:当输入设备准备好数据之后,发出选通信 号。它一方面把输入数据锁存到数据锁存器中,另一方
面使状态标志触发器置1。状态标志是一位信号,通过
缓冲器后,接到CPU数据总线的某一位上,假设接至D7 位。CPU先读状态口,查询D7是否为1。若D7=1,表示输 入数据已经准备好,再读数据口,取走输入数据,同时 使状态标志触发器复位。
1) 可以直接管理8个中断源,级联方式下不用附加 电路就可以管理 64 个可屏蔽中断源,并具有优先权判 决功能。 2) 能为中断源提供中断向量码。
3) 可以对每一级中断进行屏蔽或允许控制。
4) 可提供多种可供选择的工作方式,并能通过编 程或硬件连接进行控制。 5)可直接与CPU连接,不需要外接硬件电路
DMA 方式基本思想 : 在存储器和外设之间建 立起直接的数据传送通路,即不经由 CPU, 而由专门的DMA控制器实现存储器和外设之 间的操作。于是,传送就不必进行保护现场 等一系列额外操作,从而减轻了CPU的负担, 因此特别适合于高速度大批量数据传送的场 合。但是,这种方式要增设DMA控制器,硬 件电路比前两种方式更为复杂。
小结: 1、程序控制方式 (1) 无条件传送方式 (2) 程序查询方式 2、中断控制方式 (1)中断定义: (2)中断方式的特点: a)CPU的效率高,CPU不必查询等待 b)CPU与外设可并行工作 c)外设具有申请服务的主动权 3、DMA方式 DMA方式的特点:在专门的硬件控制电路( DMAC) 控制之下,由DMAC发出地址及读/写信号来实现 高 速数据传输。在此过程中,CPU放弃总线控制权, 数据传送不经过CPU。

在数据传送之前,程序首先测试外设的状态,
当状态符合规定的条件 ( 比如输入设备的下一
个输入数据准备好了,或输出接口已经将前
一个输出的数据送往输出设备 ) 就进行输入或
输出操作,否则就踏步等待或转入其它程序
段。

因此,查询传送方式的接口电路中必须有表 征外设工作状态的触发器或寄存器以供 CPU查
1) 查询式输入
中断方式可以克服查询传送方式中存在缺点:

在中断传送方式中各个外设和主机并行工作,进 行各自的输入或输出操作。当某台外设完成了自 身的输入或输出操作(即完成了下一个数据传送的 准备)时,便向CPU申请中断,CPU收到中断请求信 号后,可暂停正在运行的程序,转去执行为该外 设服务的中断服务子程序,完成主机与外设间的 数据交换,数据传送完毕仍返回原来被中断的主 程序继续执行。
3、I/O接口的基本功能 (为什么要用I/O接口电路)
总的来说,I/O接口具有下述三方面功能: (1)速度的匹配 (2)信息格式的变换:包括串并转换,A/D、 D/A转换,电平转换等。 (3)提供主机和外设间传送数据所必须的状 态和控制信息。
4、I/O接口的基本结构


由图可见,外设通过 I/O 接口电路与 CPU 相连。通常, 每个接口电路包含一组寄存器:数据输入寄存器、 数据输出寄存器、状态寄存器、控制寄存器等。 通常称这些寄存器为I/O端口(I/O PORT),每个端口 有一个端口地址。
DMA存取方式工作过程如下:
① 当外设准备就绪后,通过I/O端口向DMAC发出
“DMA请求”信号,要求DMA传送;
② 接着DMAC向CPU发出HOLD总线请求信号,请求
接管总线;
③ CPU收到HOLD信号,如果不在总线封锁状态,
则在现行总线周期结束后便给予响应,给出HLDA
信号到DMAC,使CPU与三态的系统总线(数据、地
IR 0 IR 1 IR 2 IR 3 IR 4 IR 5 IR 6 IR 7
中 断 屏 蔽 寄 存 器 (IMR)
8259A的内部结构框图
其内部各组成模块有如下功能:
1) 中断请求寄存器IRR
8259A有8条外部中断请求输入信号线 IR0-IR7,每 一条请求线上有一个相应的触发器来保存请求信号, 当第 i个 IR 端有中断请求时, IRR中的相应位置“ 1”; 当中断请求响应时, IRR中的相应位置“0”。
相关程序如下:
RPLI: IN AL,PSTATUS ;读入状态 TEST AL,80H ;查状态 JZ RPLI ;未准备好,踏步检查 IN AL,PDATAI ;准备好输入数据 ┆
2)查询式输出
输出过程:当前输出设备空闲时,状态标志触 发器清 0。CPU 在输出数据之前,先读取状态信 息。假设忙闲标志接至数据线 D0位,当D0=0 时 ,表示输出设备空闲,CPU再对数据口执行输出 指令。数据口选中信号一方面把输出数据写入 锁存器,一方面使状态标志触发器置1,通知输 出设备。当输出设备取走当前数据后,向接口 发出确认信号 ACK,使状态标志触发器清 0,表 示输出设备空闲。
址和状态/控制线)浮空;
④ DMAC收到HLDA后,立即接管总线,并向I/O端口回
送“DMA响应”信号,通知外设进行DMA传送。
⑤ 进行DMA传送。DMA传送的内存地址、读写控制信号
及传送的字节数或字数由DMAC控制(通过对DMAC事先初 始化编程来设置)。 ⑥ DMA传送结束。设定的字节数或字数传送完毕,或 者外部给一个结束传送的控制信号,DMAC撤消向CPU的
2、中断控制的输入/输出方式
查询传送虽然简单可靠,但效率低下。 ①主机要花费大量时间查询外设状态,等待外设上一次的输 入/输出过程完成。即主机和外设在外设工作的绝大部分时 间内只能串行工作,而外设I/O 操作速度比主机慢得多,使 得CPU利用率和系统效率大大降低。 ②主机在一个时间段内只能询问一台外设的状态,与其交换 数据;因此各个外设在I/O操作完成后也只能串行等待CPU来 询问,进一步降低了系统的效率。

以下外设可采用无条件传送方式:



开关 发光器件(如发光二极管、7段数码管、灯泡等) 继电器 步进电机 优点:软件及接口硬件简单 缺点:只适用于简单外设,适应范围较窄
(2)查询方式

查询传送即条件传送, CPU 与接口之间有一个 应答过程,所以又称异步传送。

大多数外设数据传送、处理的速度较慢,跟不 上 CPU 的高速运转,为使传送可靠,程序需要 了解外设的动态情况后才决定是否进行数据传 送。
DB 数据口 CPU AB CB 状态口 控制口 状态信息 控制信息 外设 数据
7.2
CPU与外设数据的 传输控制方式
1、程序控制方式
程序控制传送方式以CPU为中心,数据传送的控制 来自 CPU ,通过执行预先编制的输入 / 输出程序实现数 据 传输。程序传送方式可分为无条件传送和查询传送方 式。 (1)无条件传送方式 无条件传输方式又称同步传送方式。使用这种方式 时外设总是处于准备好状态,CPU 无需查询其状态 而只根据程序中的输入/输出指令执行相应操作。 但这种方式必须确信外部设备已准备好的状态才可 使用,否则就会出错,故很少使用。
7.3 中断控制器8259A
8259A与标准总线的连接
1. Intel 8259A的主要性能和内部结构
(1)Intel 8259A的主要性能 Intel 8259A是被广泛使用的可编程中断控制器, 在 IBM-PC/XT 机中,就使用 Intel 8259A 作为中断控制 器。它用来管理输入到 CPU的可屏蔽中断请求,其主要 功能有:
2)中断屏蔽寄存器IMR
IMR(Interrupt Mask Register) 用 来 存 放 屏 蔽 位 信 息 , IMR的每一位可以禁止IRR中对应位的中断请求输入信号进入。 如果屏蔽优先权级别较高的中断请求输入时,不会影响到优先 级较低的中断请求输入。
3)优先权判决电路 它在中断响应期间,根据控制逻辑规定的优先权级别和中 断屏蔽寄存器IMR的内容,把中断请求寄存器IRR中允许中断的 优先权最高的中断请求位送入中断服务寄存器ISR。
总线请求信号HOLD,CPU也撤除总线响应信号HLDALeabharlann Baidu重
新控制系统总线继续运行原来的程序。
DMA传送主要应用于高速度大批量数据传送的 系统中,如磁盘存取、图像处理、高速数据采集
系统等,以提高数据的吞吐量。
DMA传送一般有三种形式: ①存储器与I/O设备之间的数据传送; ②存储器与存储器之间的数据传送; ③I/O设备与I/O设备之间的传送。
4) 中断服务寄存器ISR
ISR(Interrupt Service Register)存放当前正在进行服务的 所有中断。ISR中相应位的置位是由优先权判决电路根据IRR中 各请求位的优先权级别和 IMR 中屏蔽位的状态,将中断的最高 优先级请求位选通到ISR中。 5) 控制逻辑 在 8259A 的控制逻辑电路中有一组预置命令字寄存器和一 组操作命令字寄存器,利用它们通过编程设置来管理 8259A 的 工作方式。当有未被屏蔽的高级别的中断请求时,通过控制逻 辑输出高电平的 INT 信号,向 CPU 申请中断。当 CPU 允许中断 时,发出中断响应信号 INTA 。在中断响应期间,它允许 ISR 的 相应位置位,并发送相应的中断向量,通过数据总线缓冲器输 出到总线上。
查询输出的程序段如下:
SCAN:IN AL,状态口地址 ;取状态信息
TEST AL,01H ;
JNZ SCAN
MOV AL, OUT 数据口地址,AL
; 忙,
;空闲,输出数据
查询方式的数据传送过程可概括如下: (1)CPU从状态端口读取状态字。
( 2 ) CPU 判断状态位是否“准备就绪”,如果 没准备好,就返回上一步,继续读取状态字。 (3)如果准备好,则执行数据传送操作。
(2) Intel 8259A的内部结构
INTA
INT
D 7~ D 0
RD WR
CS A0
数据总线 缓冲器




读 /写 控制电路 中 断 服 务 寄存器 (ISR) 优先权 判 决 电 路 中断 请求 寄存器 (IRR)
CAS 0 CAS 1 CAS 2 SP / EN
级联缓 冲 /比 较 器
相关文档
最新文档