微机原理 第7章 输入和输出.ppt
《微机原理 第7章 输入和输出.ppt》由会员分享,可在线阅读,更多相关《微机原理 第7章 输入和输出.ppt(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第7章 输入和输出7.1 7.1 7.1 7.1 概述概述概述概述7.2 CPU7.2 CPU7.2 CPU7.2 CPU与外设数据传送的方式与外设数据传送的方式与外设数据传送的方式与外设数据传送的方式7.3 DMA7.3 DMA7.3 DMA7.3 DMA控制器控制器控制器控制器7.1 概述概述7.1.1 7.1.1 输入输出的寻址方式输入输出的寻址方式CPUCPU寻址外设可以有两种方式。寻址外设可以有两种方式。1 1存储器对应输入输出方式存储器对应输入输出方式在在这这种种方方式式中中,把把一一个个外外设设端端口口作作为为存存储储器器的的一一个个单单元元来来对对待待,故故每每一一个个外外设设
2、端端口口占占有有存存储储器器的的一一个个地地址址。从从外外部部设设备备输输入入一一个个数数据据,作作为为一一次次存存储储器器读读的的操操作作;而而向向外外部部设设备备输输出出一一个个数数据据,则则作作为为一一次次存存储器写的操作。储器写的操作。这种方式的优点是:这种方式的优点是:(1 1)CPUCPU对外设的操作可使用全部的存储器操作对外设的操作可使用全部的存储器操作指令,故指令多,使用方便。例如可以对外设中的数指令,故指令多,使用方便。例如可以对外设中的数据(存于外设的寄存器中)进行算术和逻辑运算,进据(存于外设的寄存器中)进行算术和逻辑运算,进行循环或移位等。行循环或移位等。(2 2)内存
3、和外设的地址分布图是同一个。)内存和外设的地址分布图是同一个。(3 3)不需要专门的输入输出指令以及区分是存储)不需要专门的输入输出指令以及区分是存储器还是器还是I/OI/O操作的控制信号。操作的控制信号。缺点是:缺点是:外设占用了内存单元,使内存容量减小。外设占用了内存单元,使内存容量减小。2 2端口寻址的输入输出方式端口寻址的输入输出方式在在这这种种工工作作方方式式中中:CPUCPU有有专专门门的的I/OI/O指指令令,用用地地址址来来区区分分不不同同的的外外设设。但但要要注注意意实实际际上上是是以以端端口口(PortPort)作作为为地地址址的的单单元元,因因为为一一个个外外设设不不仅仅
4、有有数数据据寄寄存存器器还还有有状状态态寄寄存存器器和和控控制制命命令令寄寄存存器器,它它们们各各需需要要一一个个端端口口才才能能加加以以区区分分,故故一一个个外外设设往往往往需需要要数数个个端口地址。端口地址。CPUCPU用地址来选择外设。用地址来选择外设。要要寻寻址址的的外外设设的的端端口口地地址址,显显然然比比内内存存单单元元的的地地址址要要少少得得多多。所所以以,在在用用直直接接寻寻址址方方式式寻寻址址外外设设时时,它它的的地地址址字字节节,通通常常总总要要比比寻寻址址内内存存单单元元的的地地址址少少一一个个字字节节,因因而而节节省省了了指指令令的的存存储储空空间间,缩缩短短了了指指令
5、令的的执行时间。执行时间。7.1.2 CPU7.1.2 CPU与与I/OI/O设备之间的接口信息设备之间的接口信息1 1数据(数据(DataData)在在微微型型机机中中,数数据据通通常常为为8 8位位、1616位位或或3232位位。它它大大致可以分为三种基本类型:致可以分为三种基本类型:(1 1)数字量)数字量(2 2)模拟量)模拟量(3 3)开关量)开关量2 2状态信息(状态信息(StatusStatus)在在输输入入时时,有有输输入入设设备备是是否否准准备备好好(ReadyReady)的的状状态态信信息息;在在输输出出时时,有有输输出出设设备备是是否否有有空空(EmptyEmpty)的的
6、状状态态信信息息,若若输输出出设设备备正正在在输输出出,则则以以忙忙(BusyBusy)指指示等等。示等等。3 3控制信息(控制信息(ControlControl)控制输入输出设备启动或停止等等。控制输入输出设备启动或停止等等。状状态态信信息息和和控控制制信信息息与与数数据据是是不不同同性性质质的的信信息息,必必须须要要分分别别传传送送。但但在在大大部部分分微微型型机机中中(80868086也也如如此此),只只有有通通用用的的ININ和和OUTOUT指指令令,因因此此,外外设设的的状状态态也也必必须须作作为为一一种种数数据据输输入入;而而CPUCPU的的控控制制命命令令也也必必须须作作为为一一
7、种种数数据据输输出出。所所以以,一一个个外外设设往往往往要要几几个个端端口口地地址址,CPUCPU寻址的是端口,而不是笼统的外设。寻址的是端口,而不是笼统的外设。7.1.3 CPU7.1.3 CPU的输入输出时序的输入输出时序通常通常I/OI/O接口电路的工作速度较慢,往往要插入等待接口电路的工作速度较慢,往往要插入等待状态。状态。7.1.4 CPU7.1.4 CPU与接口电路间数据传送的形式与接口电路间数据传送的形式CPUCPU与外设的信息交换称为与外设的信息交换称为通信通信(CommunicationCommunication)。)。基本的通信方式有两种:基本的通信方式有两种:并行通信并行
8、通信数据的各位同时传送;数据的各位同时传送;串行通信串行通信数据一位一位顺序传送。数据一位一位顺序传送。7.2 CPU7.2 CPU与外设数据传送的方式与外设数据传送的方式7.2.1 7.2.1 查询传送方式查询传送方式CPUCPU与与I/OI/O设设备备的的工工作作往往往往是是异异步步的的,很很难难保保证证当当CPUCPU执执行行输输入入操操作作时时,外外设设已已把把要要输输入入的的信信息息准准备备好好了了;而而当当CPUCPU执执行行输输出出时时,外外设设的的寄寄存存器器(用用于于存存放放CPUCPU输输出出数数据据的的寄寄存存器器)一一定定是是空空的的。所所以以,通通常常程程序序控控制制
9、的的传传送送方方式式在在传传送送之之前前,必必须须要要查查询询一一下下外外设设的的状状态态,当当外外设设准准备备就就绪绪了了才才传传送送;若若未未准准备备好好,则则CPUCPU等待。等待。1 1查询式输入查询式输入在输入时,在输入时,CPUCPU必必须了解外设的状态,须了解外设的状态,看外设是否准备好。看外设是否准备好。查询式输查询式输入程序流程图入程序流程图查询式输查询式输入接口电路入接口电路查询部分的程序如下:查询部分的程序如下:POLL:INAL,STATUS_PORT;从状态端从状态端口输入状态信息口输入状态信息TEST AL,80H;检查检查READY是否为是否为1JEPOLL;未;
10、未READY,循环循环INAL,DATA_PORT;READY,从从数据端口输入数据数据端口输入数据2 2查询式输出查询式输出同样的,在输出时同样的,在输出时CPUCPU也必须了解外设的状态,看外也必须了解外设的状态,看外设是否有空(即外设不是正处在输出状态,或外设的数据设是否有空(即外设不是正处在输出状态,或外设的数据寄存器是空的,可以接收寄存器是空的,可以接收CPUCPU输出的信息),若有空,则输出的信息),若有空,则CPUCPU执行输出指令,否则就等待。执行输出指令,否则就等待。查询式输查询式输出接口电路出接口电路查询式输查询式输出程序流程图出程序流程图查询部分的程序为:查询部分的程序为
11、:POLL:INAL,STATUS_PORT;从状态端口输从状态端口输入状态信息入状态信息TESTAL,80H;检查检查BUSY位位JNEPOLL;BUSY则循环等待则循环等待MOVAL,STORE;否则,从缓冲区取数据否则,从缓冲区取数据OUTDATA_PORT,AL;从数据端口输出从数据端口输出其中,其中,STATUS_PORT是状态端口的符号地址;是状态端口的符号地址;DATA_PORT是是数据端口的符号地址;数据端口的符号地址;STORE是存放数据单元的地址偏移量。是存放数据单元的地址偏移量。一个采用查询方式的数据采集系统一个采用查询方式的数据采集系统 一个有一个有8个模拟量输入的数据
12、采集系统,用查询的方个模拟量输入的数据采集系统,用查询的方式与式与CPU传送信息,其电路如图所示。传送信息,其电路如图所示。查询方式的数据采集系统查询方式的数据采集系统 实现这样的数据采集过程的程序为:实现这样的数据采集过程的程序为:START:MOV DL,0F8H;设置启动设置启动A/D转换的信号转换的信号LEA DI,DSTOR;存放输入数据缓冲区的地址偏移量存放输入数据缓冲区的地址偏移量DIAGAIN:MOV AL,DL AND AL,0EFH;使;使D4=0 OUT 4,AL;停止停止A/D转换转换 CALL DELAY;等待停止等待停止A/D操作的完成操作的完成 MOV AL,DL
13、 OUT4,AL;启动启动A/D,且选择模拟量且选择模拟量A0POLL:IN AL,2;输入状态信息输入状态信息SHR AL,1JNC POLL ;若未若未READY,程序循环等待程序循环等待IN AL,3 ;否则,输入数据否则,输入数据STOSB ;存至内存;存至内存INC DL ;修改多路开关控制信号,指向下一个模拟量修改多路开关控制信号,指向下一个模拟量JNE AGAIN ;8个模拟量未输入完个模拟量未输入完,循环已完循环已完,执行别的程序段执行别的程序段 7.2.2 7.2.2 中断传送方式中断传送方式在在上上述述的的查查询询传传送送方方式式中中,CPUCPU要要不不断断地地询询问问外
14、外设设,当当外外设设没没有有准准备备好好时时,CPUCPU要要等等待待,不不能能进进行行别别的的操操作作,这这样样就就浪浪费费了了CPUCPU的的时时间间。而而且且许许多多外外设设的的速速度度是是较较低低的的,在在等等待待过过程程中中,CPUCPU本本可可以以执执行行大大量量的的指指令令。为为了了提提高高CPUCPU的的效效率率,可可采采用用中中断断的的传传送送方方式式:在在输输入入、输输出出时时,若若外外设设已已准准备备好好,则则由由外外设设向向CPU CPU 发发出出中中断断请请求求,CPUCPU就就暂暂停停原原执执行行的的程程序序(即即实实现现中中断断),转转去去执执行行输输入入或或输输
15、出出操操作作(中中断断服服务务),待待输输入入输输出出操操作作完完成成后后即即返返回回,CPUCPU再再继继续续执执行行原原来来的的程程序序。这这样样就就可可以以大大大大提提高高CPUCPU的的效率,而且允许效率,而且允许CPUCPU与外设(甚至多个外设)同时工作。与外设(甚至多个外设)同时工作。中断传送方式接口电路中断传送方式接口电路 7.2.3 7.2.3 直接数据通道传送(直接数据通道传送(DMADMA)中中断断传传送送仍仍是是由由CPUCPU通通过过程程序序来来传传送送,每每次次要要保保护护断断点点,保保护护现现场场需需用用多多条条指指令令,每每条条指指令令要要有有取取指指和和执执行行
16、时时间间。这这对对于于一一个个高高速速I/OI/O设设备备,以以及及成成组组交交换换数数据据的的情情况,例如磁盘与内存间的信息交换,就显得速度太慢了。况,例如磁盘与内存间的信息交换,就显得速度太慢了。所以希望用硬件在外设与内存间直接进行数据交换所以希望用硬件在外设与内存间直接进行数据交换(DMADMA),),而不通过而不通过CPUCPU,这样数据传送的速度的上限就这样数据传送的速度的上限就取决于存储器的工作速度。但是,通常系统的地址和数取决于存储器的工作速度。但是,通常系统的地址和数据总线以及一些控制信号线是由据总线以及一些控制信号线是由CPUCPU管理的。在管理的。在DMADMA方式方式时,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机原理 第7章 输入和输出 微机 原理 输入 输出
限制150内