第六章输入输出接口基础(CPU与外设之间的数据传输)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第6章:IN指令实例(从20H端口输入一个字)
;方法3:直接寻址,字节量输入
in al,21h mov ah,al in al,20h
;方法4:间接寻址,字节量输入
பைடு நூலகம்
mov dx,21h
in al,dx mov ah,al dec dx in al,dx
;方法1:直接寻址,字量输入
in ax,20h
§6.1 接口的基本概念
微机的外部设备多种多样
工作原理不同 机械、电子、机电、电磁……
传送信息类型多样 数字量、模拟量、开关量
传送速度差别极大 传送方式不尽相同 串行、并行 编码方式不同 二进制、BCD码、ASCII码……
§6.1 接口的基本概念
它们不能与CPU直接相连 必须经过中间电路再与系统相连 这部分电路被称为I/O接口电路
锁存器:功能是把来自设备的输入信息锁存起来,并一直 稳定地保持它,直到微处理器取走信息。如图所示:
EN o
DQ 1 CP
o
DQ
8
.……….
CP 锁存信号 D 数据输入 Q数据输出 功能: CP有效,Q=D CP无效,Q保持不变
三态缓冲器是微处理器并行总线接口中必须要使用的一种 接口部件。如图所示:
EN
o
输入
其中EN开门: 输入为1时
输出为1
输入为0时
输出为0
其中EN关门: 输入为1/0,输出为高阻
§6.1 接口的基本概念
(3)数据转换功能:对信号的形式和数据的格式进行 变换;
(4)联络功能:与CPU和I/O设备进行联络就绪信号, 忙信号等;
⑸中断管理:发出中斯请求信号、接收中断响应信 号、发送中断类型码的功能。并具有优先级管理 功能;
下图是一个典型的I/O接口和外部电路的连接 图
联络信号:读/写信号,以便决定数据传输方 向。
地址译码器,片选信号:地址译码器除了接收 地址信号外,还用来区分I/0地址空间和内存 地址空间的信号(M/)用于译码过程。
注:
⑴一个接口通常有若干个寄存器可读/写,
⑵一般用1-2位低位地址结合读/写信号来实现
输入数据寄存器:保存外设给CPU的数据 输出数据寄存器:保存CPU给外设的数据
⑵ 状态寄存器
保存外设或接口电路的状态
⑶ 控制寄存器
保存CPU给外设或接口电路的命令
§6.1 接口的基本概念
接口电路的外部特性 主要体现在引脚上,分成两侧信号 面向CPU一侧的信号:
用于与CPU连接 主要是数据、地址和控制信号
1、无条件传送方式
条件:利用程控方式与外设交换信息时, 如果输入/输出的时刻,都可以保证外设总 是处于“准备好”状态,则可以直接利用 输入/输出指令进行信息的输入/输出操作。
适合于简单设备,如LED数码管、按键或按 纽等
无条件传送的接口和操作均十分简单
这种传送有前提:外设必须随时就绪
工作原理图
无条件传送流程
5、接口的分类
接口电路按功能可分为两类:
是使微处理器正常工作所需要的辅助电路:时 钟信号或中断请求等;
是输入/输出接口电路:CPU与外部设备信息的 传送(接收、发送)。
最常用的外部设备:如键盘、显示装置、打印 机、磁盘机等都是通过输入/输出接口和总线 相连的,完成检测和控制的仪表装置也属于外 部设备之列,也是通过接口电路和主机相连。 辅助电路接口
IN AX,DX
;字输入
输出指令(OUT:将CPU内的AL/AX数据传送给外设)
OUT 8,AL
;字节输出
演示
OUT DX,AL
;字节输出
OUT 8,AX
;字输出
OUT DX,AX
;字输出
IN AL, 21H
返回
OUT 43H, AL
返回
第6章:8088/8086的I/O端口
8088只能通过输入输出指令与外设进行数 据交换;呈现给程序员的外设是端口 (Port),即I/O地址 8086用于寻址外设端口的地址线为16条, 端口最多为216=65536(64K)个,端口 号为0000H ~ FFFFH 每个端口用于传送一个字节的外设数据
对于8086,M和IO的不同之处: 地址线的条数:20、16 地址的范围:220、216、 指令不同产生的信号不同:M/IO
8088/8086的输入输出指令
输入输出指令举例
输入指令(IN:将外设数据传送给CPU内的AL/AX)
IN AL,8
;字节输入
IN AL,DX
;字节输入
演示
IN AX,8
;字输入
第6章:6.3 查询传送方式及其接口
2、条件传送方式 又称查询方式,即通过程序查询相应设备 的状态,若状态不符合,则CPU不能进行输 入/输出操作,需要等待;只有当状态信号 符合要求时,CPU才能进行相应的输入/输 出操作。
CPU需要先了解(查询)外设的工作状态,然后在 外设可以交换信息的情况下(就绪)实现数据输入 或输出 对 多 个 外 设 的 情 况 , 则 CPU 按 一 定 顺 序 依 次 查 询 (轮询)。先查询的外设将优先进行数据交换 查询传送的特点是:工作可靠,适用面宽,但传送 效率低
⑹复位:接收复位信号,从而使接口本身以及所连 的外设进行重新启动;
⑺可编程:用软件来决定其工作方式,用软件来设 置有关的控制信号;
§6.1 接口的基本概念
⑻错误检测:一类是传输错误,比如奇偶校验。 另—类是覆盖错误,数据还没有被取走之 前就被新的数据覆盖掉了。通过在相应的 状态端口的某一位来控制实现。 注:一些接口还可根据具体情况设置其它 的检测信息。
第6章:I/O寻址方式
8088/8086的端口有64K个,无需分段,设 计有两种寻址方式 直接寻址:只用于寻址00H ~ FFH前256个 端口,操作数8表示端口号 间接寻址:可用于寻址全部64K个端口, DX寄存器的值就是端口号 对大于FFH的端口只能采用间接寻址方式
第6章:数据交换方式
如果输入输出一个字节,利用AL寄存器 如果输入输出一个字,利用AX寄存器 输入一个字,实际上是从连续两个端口输入 两个字节,分别送AL(对应低地址端口) 和AH(对应高地址端口) 输出一个字,实际上是将AL(对应低地址 端口)和AH(对应高地址端口)两个字节 的内容输出给连续两个端口
存储器都是用来保存信息的,功能单一,传送方 式单一(一次必定是传送1个字节或者1个字), 品种很有限(只有只读类型和可读/可写类型), 存取速度基本上和CPU的工作速度匹配。 外部设备的功能多种多样的(输入设备,输出设 备,输入设备/输出设备),信息多样(数字式 的,模拟式的),信息传输的方式(并行的,串 行的),外设的工作速度通常比CPU的速度低得 多,而且各种外设的工作速度互不相同,这也要 求通过接口电路对输入/输出过程起一个缓冲和 联络的作用。
面向外设一侧的信号:
用于与外设连接 提供的信号五花八门 功能定义、时序及有效电平等差异较大
§6.1 接口的基本概念
接口电路芯片的分类 接口电路核心部分往往是一块或数块大规 模集成电路芯片(接口芯片): 通用接口芯片
支持通用的数据输入输出和控制的接口芯片
面向外设的专用接口芯片
针对某种外设设计、与该种外设接口
就绪(Ready)
就绪:满,空、闲、不忙 在输入场合
“就绪”说明输入接口已准备好送往CPU的数据, 正等着CPU来读取 该状态也可用接口中数据缓冲器已“满”来描述
§6.1 接口的基本概念
3、什么是微机接口技术?
处理微机系统与外设间联系的技术 注意其软硬结合的特点 根据应用系统的需要,使用和构造相应的接 口电路,编制配套的接口程序,支持和连接 有关的设备
§6.1 接口的基本概念
4、接口的功能
⑴对I/O端口进行寻址,对送来的片选信号进行 识别;
(2)根据读/写信号决定当前进行的是输入操作还 是输出操作,对输入输出数据进行缓冲和锁存 输出接口有锁存环节;输入接口有缓冲环节 实际的电路常见: 输出锁存缓冲环节、输入锁存缓冲环节
返回
注意:
⑴ 输入还是输出,所用到的地址总是对端口而言
的,不是对接口部件而言的。
⑵ 为了节省地址空间,将数据输入端口和数据输
出端口对应同一个端口地址。同样,状态端口和 控制端口也常用同一个端口地址。
⑶ CPU对外设的输入/输出操作就归结为对接口芯
片各端口的读/写操作。
§6.1 接口的基本概念
3、输入输出的寻址方式(端口的编址方式) 接口电路占用的I/O端口有两类编排形式
面向微机系统的专用接口芯片
与CPU和系统配套使用,以增强其总体功能
§6.1 接口的基本概念
接口电路的可编程性 许多接口电路具有多种功能和工作方式, 可以通过编程的方法选定其中一种 接口需进行物理连接,还需编写接口软件 接口软件有两类:
初始化程序段——设定芯片工作方式等 数据交换程序段——管理、控制、驱动外设, 负责外设和系统间信息交换
;方法2:间接寻址,字量输入
mov dx,20h
in ax,dx
第6章:OUT指令实例(向300H端口输出一个字节)
;唯一的方法:间接寻址,字节量输出
mov al,bvar mov dx,300h out dx,al
;bvar是字节变量
4、接口与系统的连接
接口电路位于CPU与外设之间,从结构上看, 可以把一个接口分为两个部分: ⑴ 用来和I/O设备相连; ⑵ 用来和系统总线相连,这部分接口电路结 构类似,连在同一总线上。
第六章 输入输出接口基 础(CPU与外设之间的
数据传输)
把数据 给我吧
Sorry, I can’t understand.
哇…
……
第六章微机与外设之间的数据传输
主要内容
接口的基本概念 CPU与端口(外设)之间的数据传送 方式 简单接口电路的扩展
§6.1 接口的基本概念
一、基本问题
1、什么是I/O接口(电路)?
程序不易阅读(不易分 清访存和访问外设)
00000
I/O 部分
§6.1 接口的基本概念
独立编址方式
FFFFF
优点:
I/O端口的地址空间独立
内存 空间
控制和地址译码电路相对简单 FFFF I/O
专门的I/O指令使程序清晰易读
缺点:
空间 0
I/O指令没有存储器指令丰富
80x86采用I/O端口独立编址
§6.1 接口的基本概念
对接口内部寄存器的寻址。
P279
§6.2 CPU与外设之间数据的传送方式
CPU与外设之间传输数据的控制方式通常有 三种: 程序方式:
• 无条件传送方式和有条件传送方式
中断方式 DMA方式
§6.2 CPU与外设之间数据的传送方式
一、程序方式 指用输入/输出指令,来控制信息传输
的方式,是一种软件控制方式,根据程序控 制的方法不同,又可以分为无条件传送方式 和条件传送方式。
I/O接口是位于系统与外设间、用来协助完 成数据传送和控制任务的逻辑电路 PC机系统板的可编程接口芯片、I/O总线槽 的电路板(适配器)都是接口电路
CPU
接口 电路
I/O 设备
§6.1 接口的基本概念
2、为什么需要I/O接口(电路)?
需要分析一下外部设备的输入/输出操作和
存储器读/写操作的不同之处:
三、接口与系统的连接
1、接口部件的典型结构
数据总线DB
I/O接口电路 数据寄存器
CPU 地址总线AB
状态寄存器
控制总线CB
控制寄存器
数据 状态
外设
控制
接口芯片的典型结构
§6.1 接口的基本概念
接口电路的内部结构 CPU与外设主要有数据、状态和控制信息需 要相互交换,于是从应用角度看内部: ⑴ 数据寄存器
二、CPU与输入输出设备之间的信号(三类)
数据信息:
• 包括三种形式:数字量、模拟量 、开关量。
状态信息:是外设通过接口往CPU传送的 如:“准备好”(READY)信号、“忙”(BUSY) 信号。 控制信息:是CPU通过接口传送给外设的 如:外设的启动信号、停止信号就是常见的 控制信息。
§6.1 接口的基本概念
端口(PORT)
2、接口部件的I/O端口
CPU和外设进行数据传输时,各类信息在接口中 进入不同的寄存器,一般称这些寄存器为I/O端 口,每个端口有一个端口地址。 一个接口电路可以具有多个I/O端口(寄存器), 每个端口用来保存和交换不同的信息 数据寄存器、状态寄存器和控制寄存器占有的 I/O地址常依次被称为数据端口、状态端口和控 制端口,用于保存数据、状态和控制信息
I/O端口与存储器统一编址
它们共享一个地址空间 如M6800
I/O端口单独编址
I/O地址空间独立于存储地址空间 如8086/8088
§6.1 接口的基本概念
统一编址方式
优点:
不需要专门的I/O指令
FFFFF
I/O数据存取与存储器数
内存
据存取一样灵活(多种
部分
寻址方式)
存储器空间
缺点:
I/O端口要占去部分存储 器地址空间