《微机原理及接口技术》课件第六章 基本输入输出接口(wq)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
I/O端口有两种编址方式:存储器映像方式、 I/O独立编址方式
(1) 存储器映像编址
指I/O端口与存储器共享一个寻址空间,又 称为统一编址。在这种系统中,CPU可以用 同样的指令对I/O端口和存储器单元的进行访 问。
优点:对I/O口的访问灵活方便,有利于提 高端口数据的处理能力。
缺点:I/O端口占用了主存地址,相对减少 了主存的可用范围。
(2) I/O独立编址
指主存地址空间和I/O端口地址空间 相互独立,分别编址。CPU通过指令 来区分是访问I/O口还是存储单元。
优点:主存和I/O端口的地址可用范 围都比较大;
缺点:I/O指令的功能一般比较弱, 在I/O操作中必须借助CPU的寄存器 进行中转。
两种编址方式






I/O
(1) 接口部件的I/O端口(数据端口、控制端口、 状态端口)
CPU和外设进行数据传输时,各类信息在接口中 进入不同的寄存器,一般称这些寄存器为I/O端口, 每个端口有一个端口地址。用于对来自CPU和内存的 数据或者送往CPU和内存的数据起缓冲作用的,这些 端口叫数据端口。用来存放外部设备或者接口部件本 身的状态,称为状态端口。用来存放CPU发出的命令, 以便控制接口和设备的动作,这类端口叫控制端口。 如图6-2所示。
6.1 输入/输出接口概述
I/O在计算机中是处于怎样一个位置?一台计算 机一般包括主机、显视器、打印机、键盘、鼠标及一 系列设备,而主机又包含了电源、主板,还能进一步 分为CPU、RAM、ROM、硬盘、软驱。其实这些东 西组成应该叫计算机系统,显视器、键盘等都是计算 机的外围设备,而主板上的CPU加上ROM、 RAM才 是真正意义上的“脑”,它们具备了“思考”和“记 忆”的能力,但仅有它们的记忆和思考却是不够的, 必须通过键盘告诉电脑该做什么,这些事该怎么做, 而电脑也要把执行程序的结果显示在屏幕上才能说完 成了它的任务。计算机的CPU怎样和外围设备(也称 外设)进行沟通,必须通过输入/输出接口。
单向
传送这三种信息的接口电路中的寄存 器称为数据、状态和控制端口
不同的寄存器有不同的端口地址,即 用地址访问
(2) I/O接口的基本结构
从广义的角度来讲,状态信息是输入数 据信息,而控制信息是输出数据信息, 因此,状态信息、控制信息和数据信息 一起都通过数据总线来传送。
在接口电路中,这三种信息应分别进入 各自对应的寄存器中,这些寄存器的地 址各不相同,我们习惯上分别称之为数 据口地址、状态口地址以及控制口地址
因为主机与外设的工作速度有较大的差别,所以 I/O接口的基本任务之一就是必须能够解决两者之间 的时序配合问题。如:CPU应该能通过I/O接口向外 设发出启动命令;外设在准备就绪时应能通过I/O接 口送回“准备好”信息或请求中断的信号;等等。
(2) 设备选择功能
微机系统中一般有多个外设,主机在不同时刻可 能要与不同的外设进行信息交换,I/O接口必须能对 CPU送来的外设地址进行译码以产生设备选择信号。
无条件程序控制 最简单,只需直接使用输入/输出指令即可。相
对应用最少。
程序查询 适于与速度不匹配的设备进行数据交换,但
CPU必须等待外设准备好,工作效率低。
中断控制
高效、实时,但要付出相对较高的硬件代价。
直接存储器存取 即DMA方式。无需程序控制,因而速度最快。
6.2.1 程序控制方式
1.无条件程序控制(同步控制)方式
(2) 接口与系统的连接
接口电路位于CPU与外设之间,从结构上看,可以把一个接口分为两个部 分:⑴用来和I/O设备相连;⑵用来和系统总线相连。这部分接口电路结构类 似,连在同一总线上。图6-3是一个典型的I/O接口和外部电路的连接图。
2. I/O端口的编址方式
为了区分接口电路的各个寄存器,系统为 它们各自分配了一个地址,称为I/O端口地 址,以便对它们进行寻址并与存储器地址 相区别
程序如下:
DATA1 SEGMENT AT 4000H
BUFFER1 DW ……
; 已存放好1K个字数据
DATA1 ENDS
DATA2 SEGMENT AT 5000H
BUFFER2 DW 2048 DUP(?) ; 预留2K个字单元存放读入的数据
DATA2 ENDS
CODE SEGMENT
ASSUME CS:CODE , DS:DATA1, ES:DATA2
6.2 I/O接口数据传送的控制方式
外设的速度与CPU相比要慢好几个数量级,且不同 外设之间的速度也相差很大,为了保证数据传输的 可靠性,CPU一定要等外设准备就绪之后才能执行 输入/输出操作,而外设就绪的时刻对CPU而言是随 机的,因此需要同步。
三种I/O同步控制方式: ➢程序控制方式:无条件程序控制和程序查询 ➢中断控制方式 ➢直接存储器存取方式,DMA方式
第六章 基本输入/输出接口
6.1 输入/输出接口概述 6.2 输入/输出同步控制方式 6.3 简单的I/O接口芯片应用 6.4 直接存储器存取(DMA)方式
6.1 输入/输出接口概述
什么是输入/输出接口? ——主机与外部外备进行数据传输所需要的信 息交换中间环节(interface)。接口本身不是外 设,但它承担了与外设通信的任务。
(3) 数据缓冲功能
解决高速主机与低速外设矛盾的另一个常用方 法是在I/O接口中设置一个或几个数据缓冲寄存器或 锁存器,用于数据的暂存,以避免因速度不一致而丢 失数据;另一方面,采用数据缓冲或锁存也有利于增 大驱动能力。有时I/O接口还需要能向CPU提供内部 寄存器空或满的联络信号。
(4) 错误检测功能
2. I/O接口的基本结构
(1) 接口电路中的信息种类 数据信息——数字量;模拟量;开关量 状态信息——1bit的二进制数;数字量 控制信息——1bit的二进制数;数字量
数据信息:要交换的数据本身。
如键盘、磁盘数据,打印、显示、绘图数据, 模拟量经A/D转换的数据等 数据传输方向:CPU←→ I/O接口←→外设 双向
为什么需要输入/输出接口? 速度匹配问题 信号类型匹配问题 数据传输格式一致问题
6.1 输入/输出接口概述
计算机的输入输出(即I/O)是计算机系统中不可 缺少的重要组成部分,没有它,计算机只是一个聪明 的“瞎子和哑巴”,既不知道人要它做什么,也不知 道把计算机的结果反映出来,没有I/O,再高档的计算 机也无法为人服务。现代计算机系统中外部设备种类 繁多,各类外部设备不仅结构和工作原理不同,而且 与主机的连接方式也可能完全不同。为了方便地将主 机与各种外设连接起来,并且避免主机陷入与各种外 设打交道的沉重负担之中,我们需要一个信息交换的 中间环节,这个主机与外设之间的交接界面就称作输 入/输出接口。
DB
AB M /IO
端口 译码器
WR
1
RD
1
数据输出
&
பைடு நூலகம்
锁存器端口
WR
数据输入
&
缓冲器端口
RD
例:请用无条件传输方式编写一个完整的输入/输出程序,将首地 址为40000H的内存单元中的1K个字数据从端口OUTPUT处输出, 然后从端口INPUT处输入2K的字数据到首地址为50000H的内存单 元中(端口地址的实际值可自行给定)。
MOV DX, OUTPUT ; 设OUTPUT为字输出端口地址
AGAIN1: LODSW
6.1.1 接口与端口的基本概念
1. 输入/输出接口基本功能
实际上,任何主机与外设之间的信息交换都必须通 过I/O接口来完成。也就是说,在主机和外设之间必须 存在相应的I/O接口,这是因为主机与外设之间存在以 下主要差异:
1) 主机和外设的工作速度一般相差几个数量级; 2) 主机和外设处理的信息格式有较大的差异:




I/O 空 间
8086微处理器系统中I/O端口采用了独立编址方 式。为区分存储器寻址和I/O端口寻址,8086提供了 专门的I/O端口读写指令(IN/OUT指令)和外部控 制信号(28脚 M/IO )。实际上,8086CPU只允许用 户使用低16位地址线A0~A15对I/O端口寻址,即8086 系统中I/O端口地址最多有64K个;而在PC系列微机 中,I/O端口地址只有1K个,即PC机只使用了低10 位地址线A0~A9对I/O端口寻址。
▪一种最简单的I/O控制方式,CPU可以随时
根据需要无条件地读写I/O端口
外设要求:简单,数据变化缓慢,操作时间 固定,如一组开关或LED显示管。外设被认为 始终处于就绪状态
接口特点
•CPU的DB→I/O接口(输出锁存器)→外设 •CPU的DB←I/O接口(输入缓冲器)←外设
无条件程序控制(同步控制)方式
6.1 输入/输出接口概述
对于计算机在工业控制中的应用,I/O更是一个 重要的课题,实时、有效的输入/输出是计算机控制 的关键所在。计算机具有很强的计算能力,由于计 算机的加入,工业控制的内容有了很大的丰富,各 种现代控制算法显示出其强大的活力,它们往往比 经典的控制算法更快、更准,但这些算法赖以生存 的实时数据要通过I/O系统从传感器取得,再通过 I/O将处理后的结果送往执行器执行。
包括数据缓冲功能、设备选择功能、信 号转换功能、接收、解释并执行CPU命 令的功能、中断管理功能、可编程功能
为什么要使用I/O接口?
➢ 外设种类多 ✓ 信号类型有机械的、物理的、电信号等 ✓ 信号形式有脉冲、模拟量或数字量
➢ 数据传输率不同 ➢ 数据传输方式不同,有并行、串行之分
CPU与外设都是面向接口而非直接联络
START: MOV AX, DATA1
MOV DS, AX
MOV AX, DATA2
MOV ES, AX
LEA SI, BUFFER1 ; SI指向准备发送的第1个数据
LEA DI, BUFFER2 ; DI指向第1个准备存放接受数据的单元
CLD
; 地址增量方向
MOV CX, 1024
; 发送数据总个数
在很多情况下,系统还需要I/O接口能够检测和 纠正信息传输过程中引入的错误。常见的有传输线路 上噪声干扰导致的传输错误和接收和发送速率不匹配 导致的覆盖错误。
接口的作用
➢接收、转换、解释并执行CPU发来的命令
➢传送外设的状态以及CPU与外设之间的数 据等
➢管理双方的工作逻辑、协调它们的工作时 序
6.1.2 I/O端口的编址方式
1. I/O接口的访问方式
CPU对I/O接口的访问实际上就是对接口中数据寄存器、 状态寄存器和控制寄存器的访问。从含义上讲,数据信息、状 态信息和控制信息应该分别传送和处理;但在微机系统中,从 广义上讲,状态信息属于输入数据,控制信息属于输出数据, 因此CPU与I/O接口之间各类信息的交换都是通过数据总线来 进行的。在这种情况下,我们只有利用地址信号来区分各类信 息,即根据CPU送出的不同地址将数据线上出现的数据与I/O 接口内部的寄存器对应起来。换句话说,系统将给I/O接口中 的寄存器分配地址,CPU可以通过不同的地址访问不同的寄 存器,从而完成对接口的访问。为了方便,我们将I/O接口内 的寄存器称为端口(PORT),其地址称为端口地址,并与存 储单元地址相区别。
DB 总线驱动

AB 地址译码

CB 控制逻辑
数据 缓冲器
状态 寄存器
控制 寄存器
数据信息
外 状态信息 设
控制信息
接CPU一侧 接外设一侧
接口
端口
✓I/O端口编址方式:存储器映像或I/O独立编址
✓一个外设可能有多个端口,一个端口也可能属于多个外设
✓主板上的I/O地址:0~0FFH;扩展槽上的I/O地址:100~3FFH
状态信息:表征外设工作状态的信息
➢对输入接口, CPU是否准备好接收数据, “READY” 准备好吗?
➢对输出接口, 外设是否准备好接收数据, “BUSY” 外设忙吗?
数据传输方向:CPU←I/O接口←外设 单向
控制信息:控制外设工作的命令,CPU通 过接口发出,如A/D转换器的启/停信号
数据传输方向:CPU→I/O接口→处设
设置I/O接口的主要目的就是解决主机和外设之间 的这些差异:I/O接口一方面应该负责接收、转换、解 释并执行CPU发来的命令,另一方面应能将外设的状 态或请求传送给CPU,从而完成CPU与外设之间的数 据传输。具体地说,I/O接口应具有以下主要功能或其 中的一部分功能:
(1) 主机与外设的通信联络控制功能
相关文档
最新文档