微型计算机系统原理(第五版)周明德 第 7 章 输入和输出.ppt
文本预览下载声明
第 7 章 输入和输出 本章讲述 7.1 概述 7.2 CPU与外设数据传送的方式 7.3 DMA控制器 7.1 概述 输入和输出设备是计算机系统的重要组成部分。程序、原始数据和各种现场采集到的资料和信息,都要通过输入设备输入至计算机。计算结果或各种控制信号要输出给各种输出设备,以便显示、打印和实现各种控制动作。常用的输入设备有键盘(Key Board)、鼠标、扫描仪,或者经过A/D(模/数)转换的现场信息等。 常用的输出设备有CRT、各种行打印机(Line Printer)、绘图仪,以及经过D/A(数/模)转换的各种控制信号。近年来,多媒体技术有了很大发展,声音和图像的输入和输出也是重要的I/O设备。CPU与外部设备(Peripheral)交换信息也是计算机系统中十分重要和十分频繁的操作。 外部设备的种类繁多,可以是机械式、电动式、电子式以及其他形式。输入的信息也不相同,可以是数字量、模拟量(模拟的电压、电流),也可以是开关量(两个状态的信息)。而且输入信息的速度也有很大区别,可以是手动的键盘输入(每个字符输入的速度为秒级),也可以是磁盘输入(它能以1Mb/s的速率传送)。所以CPU与外设之间的连接与信息交换是比较复杂的。 7.1.1 输入输出的寻址方式 CPU寻址外设可以有两种方式: 存储器对应输入输出方式和端口寻址的输入输出方式。 1. 存储器对应输入输出方式 在这种方式中,把一个外设端口作为存储器的一个单元来对待,故每一个外设端口占有存储器的一个地址。从外部设备输入一个数据,作为一次存储器读的操作;而向外部设备输出一个数据,则作为一次存储器写的操作。 这种方式的优点是: (1) CPU对外设的操作可使用全部的存储器操作指令,故指令多,使用方便。如可对外设中的数据(存于外设的寄存器中)进行算术和逻辑运算,进行循环或移位等。 (2) 内存和外设的地址分布图是同一个。 (3) 不需要专门的输入输出指令以及区分是存储器还是I/O操作的控制信号。 这种方式的缺点是: (1) 外设占用了内存单元,使内存容量减小。 (2) 要寻址的外设的端口地址,显然比内存单元的地址要少得多。所以,在用直接寻址方式寻址外设时,它的地址字节,通常总是要比寻址内存单元的地址少一个字节,因而节省了指令的存储空间,缩短了指令的执行时间。 2. 端口寻址的输入输出方式 在这种工作方式中,CPU有专门的I/O指令,用地址来区分不同的外设。但要注意,实际上是以端口(Port)作为地址的单元,因为一个外设不仅有数据寄存器还有状态寄存器和控制命令寄存器,它们各需要一个端口才能加以区分,故一个外设往往需要多个端口地址。CPU用地址来选择外设。通常专用的I/O指令,只用一个字节作为端口地址,故最多可寻址256个端口。 在IA-32结构微处理器中,例如在Intel 8088和8086中,若用直接寻址方式寻址外设,则仍用一个字节的地址,可寻址256个端口;而用DX间接寻址外设时,则端口地址是16位的,可寻址216=64K个端口地址。 在用端口寻址方式寻址外设的CPU中,必须要有控制线来区分是寻址内存还是寻址外设。 7.1.2 CPU与I/O设备之间的接口信息 CPU与一个外设之间交换的信息,如图7-1所示。 传送的信息 1. 数据(Data) 在微型计算机中,数据通常为8位、16位或32位。它大致可以分为三种基本类型: (1) 数字量 由键盘等输入的信息是以二进制形式表示的数或以ASCII码表示的数或字符。 (2) 模拟量 当计算机用于控制时,大量的现场信息经过传感器把非电量(例如温度、压力、流量、位移等)转换为电量,并经放大即得到模拟电压或电流。这些模拟量必须先经过A/D转换才能输入计算机;计算机的控制输出也必须先经过D/A转换才能去控制执行机构。 (3) 开关量 开关量是两个状态的量,如电机的运转与停止,开关的闭合与断开,阀门的打开和关闭等。这些量只要用一位二进制数即可表示,故字长8位的机器一次输入或输出可以控制8个这样的开关量。 2. 状态信息(Status) 在输入时,有输入设备的状态信息是否准备好(Ready);在输出时,有输出设备的状态信息是否有空(Empty),若输出设备正在输出信息,则以忙(Busy)指示等。 3. 控制信息(Control) 例如控制输入输出设备启动或停止等信息。 状态信息和控制信息与数据是不同性质的信息,必须要分别传送。但在大部分微型计算机中(8086也如此),只有通用的输入IN和输出OUT指令,因此,外设的状态也必须作为一种数据输入;而CPU的控制命令,也必须作为一种数据输出。为了使它们之间相互能够区分
显示全部