《微机原理6章.ppt》由会员分享,可在线阅读,更多相关《微机原理6章.ppt(61页珍藏版)》请在三一办公上搜索。
1、第6章 输入和输出接口,本章 讨论 I/O 的 基本概念,是后续章节内容的基础,教学重点基本概念 I/O接口、I/O端口 I/O端口的编址 输入、输出的传送方式 无条件、查询、中断、DMA传送,CPU,I/O设备,6.1 I/O接口,6.1.1 I/O接口的功能一、CPU与I/O设备之间的接口信息1、数据信息-要交换的数据本身1)数字量:二进制数、编码的数据,或准数字信号-频率信号2)模拟量:计算机 A/D 外设 计算机 D/A 外设3)开关量:两个状态的量,用1位二进制数可表示。0或1。2、状态信息-反映当前外设的工作状态。即是否准备好。由外设输入。3、控制信息-CPU控制外设工作的命令 C
2、PU向外设传送控制信息,控制外设的启动、停止、工作模式等。,二、采用I/O接口的必要性,计算机与外设之间的信息交换应解决的问题:*速度不匹配*信号电平不匹配*信号格式不匹配*信号时序不匹配因此外设不能与CPU的系统总线直接相连,必须设置接口电路。I/O接口是位于系统与外设间、用来协助完成数据传送和控制任务的逻辑电路.接口电路可以是简单的门电路,或接口芯片,甚至复杂的电路板。接口芯片分可编程、不可编程两种。,后续章节主要内容:I/O芯片、I/O芯片的编程、I/O芯片 的连接,三、I/O接口的功能(解决的方案),*设置信号电平转换电路以解决两者之间信号电平的不一致问题 例如:在串行通信中,常采用M
3、C1488,MC1489等芯片实现 电平转换。,*设置信息转换逻辑以满足对各自信号格式的要求 例如:A/D转换,D/A转换,串/并转换,并/串转换等。,*设置时序控制电路以同步CPU和外设的工作 接口电路接收CPU送来的命令或控制字,实施对外设的控 制和管理;外设的工作状态和应答信号也通过接口及时返 回给CPU(设备就绪,忙,缓冲器满,空),保证CPU与 外设工作实现同步。,*提供地址译码电路 CPU与多个外部设备交换信息;每个外部设备通常包含若干个端口(数据,控制,状态)。,*最好可编程应用,CPU与I/O设备之间的接口信息1、数据信息-要交换的数据本身1)数字量:二进制数、编码的数据,或准
4、数字信号-频率信号2)模拟量:计算机 A/D 外设 计算机 D/A 外设3)开关量:两个状态的量,用1位二进制数可表示。0或1。2、状态信息-反映当前外设的工作状态。即是否准备好。由外设输入。3、控制信息-CPU控制外设工作的命令 CPU向外设传送控制信息,控制外设的启动、停止、工作模式等。,一、I/O端口CPU与外设主要有数据、状态和控制信息需要相互交换,于是从应用角度看I/O接口电路的典型结构:数据寄存器(数据端口)保存外设给CPU和CPU发往外设的数据 状态寄存器(状态端口)保存外设或接口电路的状态 控制寄存器(控制端口)保存CPU给外设或接口电路的命令,6.1.3 I/O端口及其编址方
5、式,I/O接口电路的典型结构,控制总线CB,地址总线AB,I/O接口电路,数据,控制,状态,数据总线DB,CPU,I/O外设装置,命令控制寄存器,状态寄存器,数据寄存器,中断控制,3种信息均通过数据总线传送。读写不同的端口交换不同的信息。,INTR,一定要理解,什么是I/O端口?I/O端口是I/O接口中可以由CPU进行读或写的寄存器。一个接口电路可以具有多个I/O端口,每个端口用来保存和交换不同的信息(数据、状态和控制信息)通过端口地址来找到每一个端口。对一个I/O接口电路,从使用者的角度,主要要知道它的端口的地址和功能。,接口(interface)与端口(port):,1、I/O端口与存储器
6、统一编址,外设端口作为存储器的一个单元,占据存储器的一个地址。访问存储器和访问外设使用一样的指令。如MOTOROLA的产品优点:不需要专门的I/O指令I/O数据存取与存储器数据存取一样灵活缺点:I/O端口要占去部分存储器地址空间程序不易阅读(不易分清访存和访问外设),内存部分,I/O部分,存储器空间,00000,FFFFF,二、I/O端口的编址方式(两种),2、I/O端口单独编址,I/O地址空间独立于存储地址空间。有专门的输入输出指令。Intel 的8086/8088,Zilog 的产品等。优点:I/O端口的地址空间独立控制和地址译码电路相对简单专门的I/O指令使程序清晰易读缺点:I/O指令没
7、有存储器指令丰富注意:系统必须要有控制线来区分是寻址内存,还是外设,80 x86采用I/O端口独立编址,M/IO,8088/8086的输入输出指令,输入指令(IN:将外设数据传送给CPU内的AL/AX)IN AL,i8/DX;字节输入IN AX,i8/DX;字输入输出指令(OUT:将CPU内的AL/AX数据传送给外设)OUT i8/DX,AL;字节输出OUT i8/DX,AX;字输出,8088/8086的I/O端口,8088/8086只能通过输入输出指令与外设进行数据交换;呈现给程序员的外设是端口(Port),即I/O地址8086用于寻址外设端口的地址线为16条,端口最多为21665536(6
8、4K)个,端口号为0000H FFFFH每个端口用于传送一个字节的外设数据,不可编程的I/O接口属简单的I/O接口,典型的芯片是三态缓冲器和数据锁存器。如:74LS244,245;74LS373,374 增强总线的负载能力并隔离,简单的I/O接口芯片常用I/O芯片:缓冲器(Buffer)和锁存器(Latch)缓冲器:无锁存功能,在外设和CPU之间起缓冲 驱动和隔离作用。总线缓冲器具有三态功能。锁存器:除具有缓冲功能外还有数据锁存记忆功能。,缓冲器74LS244 8路单向数据缓冲器74LS245 8路双向数据缓冲器,(1)、8路单向数据缓冲器74LS244三态输出的八缓冲器和线驱动器;8个输入端
9、,分为二路1A11A4,2A12A4;8个输出端,分为二路1Y11Y4,2Y12Y4;分别由2个门控信号 和 控制;和 为低,芯片工作,Y=A;74LS244缓冲后,输入信号被驱动,输出信号的驱动能力加大了;常用的缓冲器还有74LS240和74LS241等。,74LS244缓冲器逻辑电路和引脚图,(2)、8路双向数据收发器74LS245三态输出的8总线收发器;16个双向传送的数据端,A1A8,B1B8;两个控制端使能端 和方向控制端DIR;芯片的功能见表6-2。表 74LS245的真值表通常用于数据的双向传送、缓冲和驱动。常用的数据收发器还有74LS243、Intel 8286、Intel 8
10、287等,74LS245八总线收发器逻辑电路和引脚图,锁存器74LS3738D锁存器8输入:1D8D8输出:1O8O输入允许端:OE输出预选端:G,表6-1 74LS373的真值表,H为高电平,L为低电平,Q0为原状态,Z为高阻抗,为任意值。74LS373锁存器主要用于锁存地址信息、数据信息以及DMA页面地址信息等。常用的锁存器还有74LS273,573,Intel 8282和8283等,74LS373锁存器逻辑电路和引脚图,6.1.4 CPU与外设数据的传送方式,程序控制下的数据传送通过CPU执行程序中的I/O指令来完成传送,又分为:无条件传送查询传送(有条件传送)中断方式直接存储器存取(D
11、MA)传送请求由外设向DMA控制器(DMAC)提出,后者向CPU申请总线,最后DMAC利用系统总线来完成外设和存储器间的数据传送,由硬件控制传送,程序控制下的数据传送,一、无条件传送方式,无条件传送(同步传送):在传送前CPU不需了解外设状态(即认为它总处于“就绪”状态),随时进行数据传送(直接执行输入输出指令。适合于简单慢速设备。如LED数码管、按键或按纽等。无条件传送的接口和操作均十分简单。这种传送有前提:外设必须随时出于就绪状态。否则,容易出错。,I/O外设,8位三态缓冲器,地址译码器,CPU,数据端口,MOV DX,120HIN AL,DX,无条件传送:输入示例,OE,CS,D7D0,
12、A15A1,A0,0120H,地址译码器,CS,A15A1,A0,0160H,I/O外设,8位锁存器,无条件传送的输出方式,MOV DX,160HOUT DX,AL,D7D0,为什么输入端口可不用锁存器,而输出端口通常要用锁存器?,输出接口有锁存缓存环节;输入接口有缓冲环节;,第6章:无条件传送:输入输出接口示例,K7,K1,K0,+5V,D0D7,A0A15,CLK,LS06反相驱动器,LS2738D锁存器,LS244三态缓冲器,8000H,译码,+5V,LED0,LED7,next:mov dx,8000h;DX指向数据端口in al,dx;从输入端口读开关状态not al;反相out d
13、x,al;送输出端口显示call delay;调子程序延时jmp next;重复,二、条件传送(查询传送方式),CPU需要先了解(查询)外设的工作状态,在外设就绪(可以交换信息的情况下)后实现数据输入或输出。必须有传送状态信号的端口。查询传送的特点是:工作可靠,适用面宽,但传送效率低对多个外设的情况,则CPU按一定顺序依次查询(轮询)。先查询的外设将优先进行数据交换,就绪?,查询传送的两个环节,查询环节读取状态寄存器的标志位若没有就绪就继续查询,直至就绪 传送环节通过输入/输出指令从数据端口读入 或输出数据,读入状态,就绪?,数据交换,Y,N,传送流程,查询式输入接口,准备好信号如何建立,如何
14、清除?简述查询式输入输出的工作过程?,POLL:IN AL,20H;读状态端口TEST AL,80H;测试标志位D7JE POLL;D70,未就绪,继续查IN AL,21H;D01,就绪.从数据端口输入数据,;同时清READY,设置外设忙与不忙的电路,8D锁存器,译码,1位三态缓冲器,R,Q,A0A15,30H,31H,D0D7,D7,D,+5V,BUSY,查询式输出接口,就绪:闲,1 忙0 闲,POLL:IN AL,STATUS_PORT;读状态端口TEST AL,80H;测试BUSY位 D7JNE POLL;D71,忙,未就绪,继续查询;D70,闲,就绪 OUT DATA_PORT,AL;
15、从数据端口输入数据,同时置Q=1,忙,何时为闲状态,取决于外设电路。状态信号是如何建立起来的?如何撤销的?,例:一个采用查询方式的数据采集系统,一个有个模拟量输入的数据采集系统,用查询方式与传送信息,电路如图所示。,8个输入模拟量,经过多路开关它由端口4输出的3位二进制码(D2、D1、D0)控制(000相应于UA0输入111UA7输入),每次送出一个模拟量至转换器;同时,转换器由端口4输出的4位控制启动与停止。转换器的READY信号由端口2的0输至CPU数据总线;经转换后的数据由端口3输入至数据总线。所以,该数据采集系统,需要用到3个端口,它们有各自的地址。,采集过程要求:(1)初始化。(2)
16、先停止转换。(3)启动转换.(4)查询输入状态信息。(5)当输入数据已转换完(READY1,即准备就绪),则经由端口输入至CPU的累加器AL中,并转送内存。(5)设置下一个内存单元与下一个输入通道,循环次。,数据采集过程的程序为:STARE:MOV DL,0F8H;设置启动A/D转换的信号,且低位选通多路 开关通道0,DL=11111000B LEA DI,DSTORAGAIN:MOV AL,DL AND AL,0EFH;AL与11101111B相与使D4 OUT 04,AL;停止A/D转换 CALL DELAY;等待停止A/D转换操作的完成 MOV AL,DL OUT 04,AL;选输入通道
17、并启动A/D转换POLL:IN AL,02;输入状态信息 SHR AL,1;查AL的D0 JNC POLL;判READY=1?若D0=0,未准备好,则循环再查 IN AL,03;若已准备就绪,则经端口将采样数据输入至AL STOSB;输入数据转送内存单元 INC DL;输入模拟量通道增1 JNE AGAIN;DL0,8个模拟量未输入完则循环;输入已完,执行别的程序,控制口,查询状态口,三、中断传送方式,断点,主程序,中断请求,为外设提供服务,继续执行,返回断点,CPU在执行程序中,被内部或外部的事件所打断,转去执行一段预先安排好的程序(中断服务程序),服务结束后,又返回原来的断点,继续执行原来
18、的程序,中断服务程序入口,中断传送是一种效率更高的程序传送方式进行传送的中断服务程序是预先设计好的中断请求是外设随机向CPU提出的CPU对请求的检测是有规律的:一般是在每条指令的最后一个时钟周期采样中断请求输入引脚(查询是否有中断请求)。该过程由硬件完成,不占用CPU工作时间。本书主要论述中断在输入和输出方面的应用中断还有着非常广泛的应用,中断传送方式的接口电路,D0D7,+5V,8D锁存器,8位三态缓冲器,R,Q,译码,中断向量号,D0D7,INTR,D,中断允许触发器,A0A15,中断请求触发器,读数据的同时清除中断请求触发器,四、DMA传送方式,程序控制传送:外设CPU存储器外设CPU存
19、储器直接存储器存取DMA:外设存储器外设存储器希望克服程序控制传送的不足 CPU释放总线,由DMA控制器DMAC控制传送,因由硬件实现,所以速度快。,(一)、DMA控制器的功能,能接收外设的请求,向CPU发出DMA请求信号HOLD当CPU发出HLDA信号后,接管对总线的控制,进入DMA方式 传送过程能发地址信息,并自动增减地址能发读或写等控制信号能决定传送的字节数,及判断DMA传送是否结束发出DMA结束信号,使CPU恢复正常工作状态。,(二)、DMA传送工作过程(以DMA 写为例),-MEMW,-IOR,数据总线,地址总线,输入设备,存储器,DMAC,CPU,HOLD,HLDA,DMA传送的工
20、作过程,CPU对DMAC进行初始化设置 外设、DMAC和CPU三者通过应答信号建立联系,CPU将总线暂交给DMAC控制,传送完后再将控制权返还。DMA传送存储器 外设存储器 存储器,DMA传送流程,单字节方式:每次DMA请求只传送1个字节。字节组传送方式:每次DMA请求连续传送1个数据块。,DMA传送方式,小结:传送方式的比较,无条件传送:慢速外设需与CPU保持同步查询传送:简单实用,独占CPU,效率较低中断传送:外设主动,可与CPU并行工作(大大提高了CPU的工作效率),但每次传送中的中断处理过程需要大量额外时间开销。DMA传送:DMAC控制,外设直接和存储器进行数据传送,适合大量、频繁、快
21、速数据传送.,微机与外设的几种输入/输出方式中便于CPU处理随机事件和提高工作效率的I/O 方式是传输速率最快的方式是认为外设总处于就绪状态的方式是需要不断测试外设状态,进行循环等待才传输数据的方式是,?,6.1.5 PC 机I/O地址分配,I/O接口的地址形成:I/O 接口的片选端 不同端口的区分常用译码器和逻辑门电路来设计地址译码电路PC/XT机(8088)的I/O端口分配:只用A9A0这低十位地址线,可寻址1K个端口。分为系统板和I/O通道上两类端口,用A9来区分。,I/O地址的译码方法与存储器地址的译码方法一样,但有它的特点:部分译码时,通常是中间地址线不连接部分译码也有最低地址线不连
22、接的情况每个接口电路通常只占用几个I/O地址,这时可以利用基本逻辑门电路进行地址译码除采用译码器、门电路进行译码外,I/O地址译码还经常采用可编程逻辑器件PLD为了给系统一定的选择余地,有些接口电路利用比较器、开关或跨接器等进行多组I/O地址的译码,6.2 总线,6.2.1 总线的概念微机系统内部中各部件间或不同微机系统间传送信息的公共通路。总线分类:片级总线、系统总线、外部总线片级总线:芯片一级的连接。一般是CPU 引脚的延伸,与CPU关系密切,但当板内芯片较多时,往往需增加锁存、驱动等电路,以提高驱动能力。系统总线:微机系统内各插件板(各模块)之间的连接,是微机系统中最重要的一种总线。使系
23、统配置灵活、便于开发扩展。系统总线是片总线经过重新驱动和扩展而成,其性能与某种CPU有关。但有不少系统总线并不依赖于某种型号的CPU,具有通用性。系统总线和片总线是同一层次的,二者没有本质区别。外总线(设备总线、通信总线)微机系统间连接或微机系统与仪器或外部设备间的连接。通过总线控制器挂在系统总线上。可进行长距离传输,几米到十几米,甚至数百米。补充:局部总线:是较新的概念,有多种含义:多模块系统中,各插件板以及系统主机板通常也是一个完整的子系统,其内的CPU、RAM,ROM,I/O之间也有总线,把插件板内部的总线叫局部总线。在多处理机系统中,每个子系统都有自己的系统总线,称为局部总线。具有总线
24、总裁能力的多主模块间称为系统总线,而不具备总线总裁能力的模块间总线称为局部总线。如ISA为局部总线。有些局部总线是片总线的另一个名称。PCI总线是局部总线。,总线标准:为了通用,要有总线标准,制定总线规范。机械结构规范、功能结构规范、电气规范。常见标准系统总线:IBM PC 机和PC/XT机的 PC总线 PC/AT 机的ISA(AT)总线 EISA PCI常用标准外部总线:RS-232,智能仪表总线IEEE-488,USB,并行打印机总线,SCSI等。,CPU向上兼容,总线也是向上兼容的,IBM PC总线(XT总线)1981年,IBM PC机中定义了一套系统总线用于在PC机的主机板上增加扩展插
25、卡。称为扩展槽或I/O通道。它是8088CPU片总线经驱动、锁存并经过8282锁存器、8286数据收发器、8288总线控制器、8259中断控制器、8237DMA控制器以及其它逻辑组合扩展而成的8位总线。PC/XT机也采用该总线,所以又称XT总线。ISA总线(AT总线)采用80286的IBM PB/AT机,在XT总线上扩展,构成了与XT总线向上兼容的、具有16位数据线和更多中断线和DMA通道的16位总线。ISA是PC问世以来应用实间最长的系统总线,至今仍有应用。EISA:由ISA扩展来的32位总线。应用于386,486等微机上。还有PCI,VESA,等高速总线。这些总线相互竞争,没有一种占统治地
26、位。直到奔腾机问世以后,PCI能很好的满足系统要求,故全部采用PCI为系统提供高速I/O通道。,PCI总线(始于1992):外围部件互连总线特点:传输数率高、传送数据位数多、支持突发传送、支持即插即用功能。PCI 总线独立于CPU:与处理器不直接相连,而是通过中间部件桥接器相连。(北桥-PCI桥路控制器、南桥-扩展总线接口)(见教材P486P487)PCI是总体解决方案,通过在PCI上挂接其它标准总线控制器(南桥),可将PCI进一步转换成其他标准总线,构成PCI总线的扩展总线。使原有的低速总线也可以在新系统上继续使用。,第6章:总结,掌握I/O接口,I/O端口的概念 I/O端口的编址方法掌握C
27、PU与外设交换信息的方式:无条件、查询传送方式、中断、DMA 及各种方式的特点总线概念和分类,The End,附录:多种多样的外设,工作原理不同机械、电子、机电、电磁传送信息类型多样数字量、模拟量、开关量传送速度差别极大传送方式不尽相同串行、并行编码方式不同二进制、BCD码、ASCII码,返回,什么是微机接口技术?处理微机系统与外设间联系的技术注意其软硬结合的特点根据应用系统的需要,使用和构造相应的接口电路,编制配套的接口程序,支持和连接有关的设备,第7章:接口电路的外部特性,主要体现在引脚上,分成两侧信号面向CPU一侧的信号:用于与CPU连接主要是数据、地址和控制信号面向外设一侧的信号:用于
28、与外设连接提供的信号五花八门功能定义、时序及有效电平等差异较大,第7章:接口电路芯片的分类,接口电路核心部分往往是一块或数块大规模集成电路芯片(接口芯片):通用接口芯片支持通用的数据输入输出和控制的接口芯片面向外设的专用接口芯片针对某种外设设计、与该种外设接口 面向微机系统的专用接口芯片与CPU和系统配套使用,以增强其总体功能,第7章:接口电路的可编程性,许多接口电路具有多种功能和工作方式,可以通过编程的方法选定其中一种接口需进行物理连接,还需编写接口软件接口软件有两类:初始化程序段设定芯片工作方式等数据交换程序段管理、控制、驱动外设,负责外设和系统间信息交换,端口(PORT),端口泛指I/O
29、地址,通常对应接口电路的寄存器一个接口电路可以具有多个I/O端口(寄存器),每个端口用来保存和交换不同的信息数据寄存器、状态寄存器和控制寄存器占有的I/O地址常依次被称为数据端口、状态端口和控制端口,用于保存数据、状态和控制信息输入、输出端口可以是同一个I/O地址,一定要理解,返回,“就绪(Ready)”的含义,在输入场合“就绪”说明输入接口已准备好送往CPU的数据,正等着CPU来读取该状态也可用接口中数据缓冲器已“满”来描述 在输出场合“就绪”说明输出接口已做好准备,等待接收CPU要输出的数据该状态也可用接口数据缓冲器已“空”、或者用接口(外设)“闲”或不“忙(Busy)”来描述,返回,就绪:满,空、闲、不忙,