输入输出接口总论.ppt_第1页
输入输出接口总论.ppt_第2页
输入输出接口总论.ppt_第3页
输入输出接口总论.ppt_第4页
输入输出接口总论.ppt_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第 7 章,第7章 基本输入输出接口,教学重点 I/O接口电路的典型结构 端口的地址译码方式 无条件传送方式 查询传送方式 中断工作过程,第7章:7.1 I/O接口概述,什么是I/O接口(电路)? I/O接口是位于系统与外设之间、用来协助完成数据传送和控制任务的中间连接电路 PC机系统板的可编程接口芯片、I/O总线槽的电路板(适配器)都是接口电路,第7章:7.1 I/O接口概述(续1),为什么需要I/O接口(电路)? 微机的外部设备多种多样,各种外设工作原理、驱动方式、信息格式、以及工作速度方面彼此差别很大 它们不能与CPU直接相连,必须经过中间电路再与系统相连,第7章:7.1 I/O接口概述(续2),什么是微机接口技术? 处理微机系统与外设间联系的技术 根据应用系统的需要,采用软硬件结合的方式,使用和构造相应的接口电路,编制配套的接口程序,支持和连接相关设备,(1) I/O接口的主要功能,(1)根据CPU的命令,对外设进行控制,如设置其工作方式、数据传输等 (2)充当CPU与外设数据交换的中转站与翻译机:对输入输出数据进行缓冲和锁存、对信号的形式和数据的格式进行变换(如进行串、并转换,数模转换等) (3)对I/O端口进行寻址 (4)与CPU和I/O设备进行联络:如采用何种传送方式与CPU交换数据(中断传送等),(2) I/O接口的典型结构,1. 接口电路的外部特性,接口电路的外部特性主要体现在引脚上,分成两侧信号 面向CPU一侧的信号: 用于与CPU连接 主要是数据、地址和控制信号 面向外设一侧的信号: 用于与外设连接 提供的信号五花八门 功能定义、时序及有效电平等差异较大,2. 接口电路芯片的分类,接口电路核心部分往往是一块或数块大规模集成电路芯片(接口芯片): 通用接口芯片 支持通用的数据输入输出和控制的接口芯片 面向外设的专用接口芯片 针对某种外设设计、与该种外设接口,如显卡、声卡等 面向微机系统的智能接口 与CPU和系统配套使用,以增强其总体功能,如DMA控制器等,3. 接口电路的内部结构,CPU与外设主要有数据、状态和控制信息需要相互交换,于是从应用角度看,接口电路的内部结构主要有: 数据寄存器(数据端口) 输入数据寄存器:保存外设给CPU的数据 输出数据寄存器:保存CPU给外设的数据 状态寄存器(状态端口) 保存外设或接口电路的状态 控制寄存器(控制端口) 保存CPU给外设或接口电路的命令,7.2 I/O端口(PORT),端口是接口电路中能被CPU访问的单元,通常对应接口电路的寄存器 一个接口电路可以具有多个I/O端口(寄存器),每个端口用来保存和交换不同的信息 数据寄存器、状态寄存器和控制寄存器占有的I/O地址常依次被称为数据端口、状态端口和控制端口,用于保存数据、状态和控制信息 输入、输出端口可以是同一个I/O地址,第7章:7.1.1 I/O端口的编址,接口电路占用的I/O端口有两类编排形式 I/O端口单独编址方式 I/O地址空间独立于存储地址空间 如8086/8088 与存储器对应的统一编址方式 它们共享一个地址空间 如M6800,第7章: I/O端口单独编址,优点: I/O端口的地址空间独立 控制和地址译码电路相对简单 专门的I/O指令使程序清晰易读 缺点: I/O指令没有存储器指令丰富,80x86采用I/O端口独立编址, I/O端口与存储器统一编址,优点: 不需要专门的I/O指令 I/O数据存取与存储器数据存取一样灵活 缺点: I/O端口要占去部分存储器地址空间 程序不易阅读(不易区分本次操作是访问内存还访问外设),(2) 8088/8086的输入输出指令,输入指令(IN:将外设数据传送给CPU内的AL/AX) IN AL,i8 ;字节输入 (端口地址小于256时用此方式) IN AL,DX ;字节输入 IN AX,i8 ;字输入 IN AX,DX ;字输入 输出指令(OUT:将CPU内的AL/AX数据传送给外设) OUT i8,AL ;字节输出 OUT DX,AL ;字节输出 OUT i8,AX ;字输出 OUT DX,AX ;字输出,第7章:8088/8086的I/O端口,8086只能通过输入输出指令与外设进行数据交换;呈现给程序员的外设是端口(Port),即I/O地址 8086用于寻址外设端口的地址线为16条,端口最多为21665536个,端口号为0000H FFFFH 访问端口时有两种寻址方式 直接寻址:只用于寻址00H FFH前256个端口,操作数i8表示端口号 间接寻址:可用于寻址全部64K个端口,DX寄存器中的值就是端口号 对大于FFH(255)的端口必须采用间接寻址方式,IN、OUT指令实例,(1)从20H端口输入一个字 ;方法1:直接寻址,字量输入 in ax,20h ;方法2:间接寻址,字量输入 mov dx,20h in ax,dx,如果输入输出一个字节,利用AL寄存器 如果输入输出一个字,利用AX寄存器,(2)向300H端口输出一个字节 ;唯一的方法:采用间接寻址 mov al,88H mov dx,300h out dx,al,7.2.3 I/O端口地址译码技术,计算机中的数字电路基础,与、或、非门: 最基本的门电路,将它们适当地连接,可得到任意复杂的逻辑功能,与非、或非、异或门 与非门:是数字集成电路中构成其它器件的基础 异或门:是构成运算器的关键,计算机中的数字电路基础,译码器: n位输入,在2n位输出中只有对应于输入的一位才有有效输出。其典型应用如3-8译码器。,74LS138即三八译码器(三个输入对应8个输出)。 当E1=E2=0,E3=1时,对三个输入A、B、C(C为高位)进行译码。 当CBA=000时,对应输出Y0=0,其它全为1; 当CBA=001时,对应输出Y1=0,其它全为1 ,二、计算机中如何实现译码,CPU为了对某一外设的端口进行读写操作,就需要在众多的I/O端口中选定该端口地址。如何通过CPU发出的地址编码来识别确认这个端口,就是所谓的地址译码。译码是通过译码电路来实现的。,外设,地址总线,最简单的译码电路:门电路译码, ,根据本译码电路,只有当地址线上的译码信号为 1001111000B,即278H 时,在输出端才能得到有效的输出(注:低电平有效),其它则不会!,在上面的基础上,下图进一步说明了计算机是如何在众多的设备中对外设进行寻址的。,IN AL, 21H,OUT 43H, AL,返回,根据本译码电路,只有当地址线上的译码信号为 1011100010B,即2E2H 时,在输出端才能得到有效的输出(注:低电平有效)。,计算机中如何实现译码:门电路译码,在本电路图中,另外还多了两根信号线:IOR和IOW。由此又得到两个有效输出,它表明当我们在地址线上送出一个端口地址时,操作对象可以是两个不同的寄存器!,在本译码电路图中,地址线A9A5直接参加3-8译码器的译码,而A3A0作为芯片内部寄存器的访问地址。因此,对于本图中所确定出的端口地址是一个地址范围,如8259的地址范围是02003FH,8237的地址范围是0001FH等。,计算机中如何实现译码:3-8译码器的例子,在本译码电路图中, 当跳线开关置于J10时,所得的端口地址(范围)为2F82FFH; 当跳线开关置于J12时,所得的端口地址(范围)为3F83FFH;,计算机中如何实现译码:跳线式可选端口译码,补充内容:计算机中如何实现译码:开关式可选端口译码,在本译码电路图中,地址线A9A3作为比较器的输入端,而A2A0作为 三八译码器的输入端。因此,对于本图中所确定出的端口地址为0008H。当改变DIP开关状态,可得到不同的端口地址。,7.3 I/O数据传送方式,7.3 数据传送方式,程序控制下的数据传送通过CPU执行程序中的I/O指令来完成传送,又分为: 无条件传送 查询传送 中断传送 DMA传送,7.3.1 无条件传送方式及其接口,在CPU与一些设备交换数据时,可以认为它们总是处于“就绪”状态,随时可以进行数据传送,这就是无条件传送,或称立即传送、同步传送 适用对象:适合于简单设备,如LED数码管、按键或读取开关的状态等 无条件传送的接口和操作均十分简单 采用此种传送的前提:外设必须随时就绪,无条件传送:输入实例,MOV DX, 160H IN AL, DX,74LS244,+5V,10K x 8,G1 G2,数据总线,CS,RD,160H,无条件传送:输出实例,MOV DX, 160H MOV AL, BX OUT DX, AL,160H,无条件传送:输入输出接口,next: mov dx,8000h ;DX指向数据端口 in al,dx ;从输入端口读开关状态 not al ;反相 out dx,al ;送输出端口显示 call delay ;调子程序延时 jmp next ;重复,7.3.2 查询传送方式及其接口,CPU需要先了解(查询)外设的工作状态,然后在外设可以交换信息的情况下(就绪)实现数据输入或输出 对多个外设的情况,则CPU按一定顺序依次查询(轮询)。先查询的外设将优先进行数据交换 查询传送的特点是:工作可靠,适用面宽,但传送效率低,第7章:查询传送的两个环节, 查询环节 读取状态寄存器的标志位,若不就绪就继续查询,直至就绪 传送环节 若为输入,使用in指令从数据端口读入数据 若为输出,使用out指令向数据端口输出数据,流程,查询传送流程,返回,查询输入接口,mov dx,8000h ;DX指向状态端口 status: in al,dx ;读状态端口 test al,01h ;测试标志位D0 jz status ;D00,未就绪,继续查询 inc dx ;D01,就绪,DX指向数据端口 in al,dx ;从数据端口输入数据,选通信号,第7章:7.3.2 查询输出接口,mov dx,8000h ;DX指向状态端口 status: in al,dx ;读取状态端口的状态数据 test al,80h ;测试标志位D7 jnz status ;D71,未就绪,继续查询 inc dx ;D70,就绪,DX指向数据端口 mov al,buf ;变量buf送AL out dx,al ;将数据输出给数据端口,7.3.3 中断传送方式,CPU在执行程序中,被内部或外部的事件所打断,转去执行一段预先安排好的中断服务程序;服务结束后,又返回原来的断点,继续执行原来的程序,流程,中断传送流程,返回,中断传送与接口,中断传送是一种效率更高的程序传送方式 中断请求是外设随机向CPU提出的,而进行传送的中断服务程序是预先设计好的 CPU对请求的检测是有规律的:一般是在每条指令的最后一个时钟周期采样中断请求输入引脚 中断有着非常广泛的应用,正因为微机采用了中断传送方式,因此才能有今天的成就,7.3.4 DMA传送方式,直接存储器存取(DMA)传送请求由外设向DMA控制器(DMAC)提出,后者向CPU申请总线,最后DMAC利用系统总线来完成外设和存储器间的数据传送 希望克服程序控制传送的不足: 外设CPU存储器 直接存储器存取DMA: 外设存储器 CPU释放总线,由DMA控制器管理,DMA传送流程,返回,第7章:DMA传送的工作过程, DMA向CPU提出DMA请求; (2)如果允许,CPU对DMA控制器进行初始化设置 (3) 外设、DMAC和CPU三者通过应答信号建立联系:CPU将总线交给DMAC控制 (4) DMA传送开始 DMA读存储器:存储器 外设 DMA写存储器:存储器 外设 (5) 自动增减地址和计数,判断传送完成否 (6)DMA控制器释放系统总线,第7章:DMA传送流程,流程,第7章:传送方式的比较,无条件传送:慢速外设需与CPU保持同步 查询传送: 简单实用,效率较低 中断传送:外设主动,可与CPU并行工作,但每次传送需要大量额外时间开销 DMA传送:DMAC控制,外设直接和存储器进行数据传送,适合大量、快速数据传送,第7章:教学要求,1. 了解I/O接口电路的主要功能、内部和外部特点、端口编址方法、I/O地址译码特点 2. 掌握输入输出指令 3. 掌握无条件、查询传送方式 4. 理解中断、中断源、中断工作过程、中断源识别、优先权排队和中断嵌套 5.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论