您的当前位置:首页正文

第6章 输入输出接口技术

2024-03-26 来源:爱go旅游网
第六章 输入输出接口技术基础

(注:为赶上实验进度,先跳过存储器讲此章)

基本内容: I/O接口概念;I/O接口应用背景;CPU与I/O设备间的信号种类;I/O端口

的寄址方式;I/O三种传输方式:程序查询方式,程序中断方式,DMA方式

基本要求: 理解I/O接口的作用和一般结构;掌握I/O的编址方式和I/O传输方式的三

种方式;

重点内容: I/O接口信号种类;I/O编址方式;三种传输方式; 难点内容: 三种传输方式;

第一节 概述

实际系统中,除CPU外,还有各种外部设备,即外设,通过外设来实现人机交互,通讯控制等目的,如键盘、显示器、打印机、鼠标等。外设种类有电子式、机械式等,其信息也有数字量、模拟量等。这些设备与CPU连接或外设之间是通过接口电路来实现的。

在计算机系统里,接口指微机 (或CPU) 与外部设备之间的连接通道及有关的控制电路。

一、接口的作用

(1)信息类型不匹配时,对非数字信号进行转换,或将数字信号转换为非数字信号,如温度控制时测温度值。转速控制时将数字信号转换为电压信号(详解)。

(2)对串并行信息进行转换。

CPU→外设 外设→CPU 并 串 串 并 (3)速度不匹配时要协调锁存或缓冲 (4)多个并设设备时扩展I/O口。

也可按课本理解,速度、时序、信息格式、信息类型与电平不匹配。

二、CPU和I/O设备间的接口信息

通常,CPU和I/O设备间的接口信息有以下几类信号: 1、数据信息

CPU和外设交换的基本信息就是数据,数据通常为8位或16位。数据信息大致分为如下三种类型: (1) 数字量 (2) 模拟量

6-1

(3) 开关量 2、状态信息

反映外设当前所处的工作状态,是外设通过接口往CPU传送的。如输出设备是否空闲,输入设备是否数据准备好等。 3、控制信息

CPU通过接口传递给I/O设备的信息,用以控制I/O设备的工作,如启动、停止等。

三、I/O接口的一般结构及功能

每个接口部件都包含一组寄存器,CPU和外设进行数据传输时,各类信息在接口中进入不同的寄存器一般称这些寄存器为I/O端口,每个端口有一个端口地址。

有些端口是用于对来自CPU和内存的数据或者送往CPU和内存的数据起缓冲作用的,这些端口叫数据端口。

还有一些端口用来存放外设或者接口部件本身的状态,称为状态端口,CPU通过对状态端口的访问可以检测外设和接口部件当前的状态。

第三类端口用来存放CPU发出的命令,以便控制端口和设备的动作,这类端口叫做控制端口或命令端口。

数据端口:存放内存式CPU与外设之间传递的数据,起缓冲作用。 状态端口:存放外设的状态信息。

控制端口:存放CPU发出指令并执行选址功能

以CPU读取外设为例说明工作原理

I/O接口数据端口CPUAB状态端口CB控制端口状态信息外设DB数据信息控制信息

四、I/O端口编址方式

因CPU要访问I/O接口,必须对I/O端口进行编号,即给予I/O端口不同地址以区分它们。对端口编址有两种方式:统一编址和独立编址。

1、统一编址

把每一个端口视为一个存储单元,并赋以相应地址。CPU访问端口时可直接使用存储

6-2

器访问指令,也称存储器映象编址。此种编址方式下,被分配给I/O端口的地址,存储器不能再使用。

采用这种编址方式的微处理器有6800、6502、68000等。

特点:(1)无需专门I/O指令,可直接对端口进行算术逻辑运算,简化了指令系统 (2)外设占用了一部分内存地址空间,减少了内存可用的地址范围,对内存容量有潜在的影响。此外,从指令上不易区分当前指令是对内存进行操作还是对外设进行操作。

2、独立编址

I/O端口与存储器分开独立编址,即I/O端口和存储器都有自己的一套地址空间,而且互不相干。

例:端口号为288H,内存单元也为288H,通过不同的指令访问。访问端口用专门指令IN、OUT指令。

优点:(1)I/O设备不占用内存单元,节约了内存空间。 (2)指令执行速度快。

缺点:专门的I/O指令功能相对较弱,一般只有传送功能,而没有运算功能。 Z80、80X86微机采用这种编址方式。

规定:I/O端口的最大编址范围 (A0~A15): 216=64K

IBM PC 机的编址范围 限定为: 210=1024=1K

I/O端口的地址64K个8位口地址(0000H-FFFFH)

Intel 80x86 CPU中,I/O端口地址区域和存储器地址区域采用了独立编址方式。访问I/O端口使用专门的I/O指令( IN、OUT ) ,而访问内存则使用MOV、ADD等指令。CPU在寻址内存和外设时,使用 IO/M 控制信号来区分当前是对内存操作还是对I/O端口操作。

回顾:对端口访问可采用直接寻址和寄存器间接寻址两种寻址方式:

若采用直接寻址方式,只使用8位地址(单字节),最大可寻256个端口,寻址范围为 00H~FFH,指令格式如下:

IN AL,Port ;从Port端口(8位地址)输入数据到AL OUT Port,AL ;从AL输出 数据到Port端口(8位地址)

若采用寄存器间接寻址方式,可以使用16位范围的地址 (双字节) 作为端口地址,最大可寻64 K个端口,寻址范围为0000H~FFFFH,(注:指定采用寄存器DX进行间址)其指令格式如下:

MOV DX,XXXXH ;16位地址传送给寄存器DX

IN AL,DX ;从指定端口(16位地址)输入数据到AL

第二节 CPU与外设的数据传递方式

各种外设的工作速度相差很大,有些相当高,如磁盘机的传送速度达0.1~6Mbit/s,而有些外设却由于机械或其他因素所致速度相当低,如键盘是用于人工输入数据的,通常速度为几十毫秒输入1个字节。这样,CPU何时从输入设备读取数据以及何时往输出设备写入数据,就成为较复杂的定时问题。

6-3

概括起来,有如下三种传送方式解决上述问题:程序方式、中断方式、DMA方式。而程序方式又可分为无条件传送方式和查询(有条件传送)方式两种。

一. 程序方式

1、无条件传送方式

不查询外设状态,直接进行数据信息传送。

隐含条件:外设已准备好,接收时,数据以准备好,发送时设备处于空闲状态。 实现方法:用指令直接输入输出

如:IN AL 29H; 直接从端口29H读数据。

特点: 简单、经济,但可靠性差,易丢失数据,引起程序功能错误。 适用: 开关、发光二极管、数码管、继电器等设备。

2、条件传送方式(又称查询方式)

CPU通过程序不断读取并测试外设状态,如果外设以准备好或处于空闲状态,则CPU开始执行传送指令,否则一直等待。

例:设端口号为27H,准备好位D0。

WAIT: IN AL,27 ;(1)从状态上读状态信息 TEST AL,00000001B ;(2)是否准备好

JNZ WAIT ;若未准备好回(1)步 MOV AX,BX

OUT 28H,AX ;(3)若已准备好,则输出数据 缺点:⑴此种方式下,CPU不断读取并检测状态字,若数据一直未准备好,CPU一直查询,

从而CPU无法执行其它任务,效率底。 ⑵多个外设时,实时性不好。

特点:简单、可靠性高,但CPU效率低。

二. 中断方式

一般实时控制系统往往有几个甚至几十个外设,若采用查询方式,将占用CPU较多的工作时间,此外,由于外设接口处于消极被查询的地位,很难满足实时控制系统对I/O设备的要求。因此产生了中断方式。

此方式下,外设有申请CPU的主动权,当数据已准备好或空闲时,向CPU发出中断请求信号,使CPU暂停当前任务,进行外设数据传输,完毕后再进行原来的工作。

即CPU进行并行工作。

CPU在执行程序时,每执行完一条指令都会检查是否有中断产生,若有,目中断允许标志位(IF=1)则去执行中断服务程序。

优点⑴实时性好,多外设时,哪个准备好,哪个产生中断请求。 ⑵准确性,外设已准备好或空闲时才传输数据。 特点:无需查询等待,CPU利用率大大提高。

不足:中断控制方式仍需要一系列本与输入输出无关的操作(如压栈保护等),因此对于高速I/O设备效率仍不算快。

中断详细内容以后讲解,如果有时间的话

6-4

三. DMA方式(Direct Memory Access,直接存储器存取方式)

——由辅助硬件电路完成输入输出的操作

直接由DMA控制器硬件控制数据传输,传输过程无需CPU干预。

工作过程:由DMA控制器向CPU发出总线请求,CPU发回响应信号,并同时让出总线管理权给DMA控制器。在DMA控制器控制下,数据在I/O接口与存储器之间直接传送。传送完毕,DMA控制器向CPU发回结束中断请求,则CPU收回总线管理权。

特点:速度快(因为有DMA硬件直接控制),效率高。

主要因为中断查询等传送方式的缺点。 保护断点,标志位,寄存器内容占用时间

中断 6字节指令队列要清除,重装中断服务完成后又清除重装,不能并行工作 详解 按字节或字运行,速度受限制

为此,采用专门的接口电路,使外设和存储器进行成批数据块快速传递,不经过CPU,此时此专门接口电路要称用系统数据总线,控制总线与地址总线,之前必须向CPU申请让出总线,这个专用接口电路就是DMA控制器。

DMA控制器8237不讲,有兴趣自己看

作业:简述CPU与外设的各种数据传递方式,以及各自的优缺点。

6-5

因篇幅问题不能全部显示,请点此查看更多更全内容