第7章--输入输出接口技术要点.ppt_第1页
第7章--输入输出接口技术要点.ppt_第2页
第7章--输入输出接口技术要点.ppt_第3页
第7章--输入输出接口技术要点.ppt_第4页
第7章--输入输出接口技术要点.ppt_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、1,I/O接口的功能 I/O端口及其寻址方式 CPU与外设间的数据传送方式 PC机的I/O地址分配,第7章 输入输出接口技术,2,为了让外部设备按计算机的要求有次序地输入或接收数据,计算机的CPU要能控制输入输出设备启动或停止,以及了解它们的当前工作状态,并据此送出相应的控制命令。 通常,我们把计算机与外设间的这种交换数据、状态和控制命令的过程统称为通信。 CPU与外设交换信息的过程,和它与存储器交换数据那样,也是在控制信号的作用下通过数据总线来完成的。,3,I/O接口的功能 采用I/O接口的必要性 计算机和外设之间的信息交换带来一些问题: 速度不匹配 信号电平不匹配 信号格式不匹配 时序不匹

2、配 接口电路:CPU与外设之间实现信息交换的连接电路。,4,接口的功能: 设置数据缓冲器以解决两者速度差异所带来的不协调问题 设置信号电平转换电路 设置信息转换逻辑以满足对各自格式的要求 设置时序控制电路来同步CPU和外设的工作 提供地址译码电路,使CPU在同一时刻只能选中某一个I/O端口。,CPU,接口,外设,5,注意: CPU对外设的输入输出操作类似于存储器的读写操作,即I/O读写,但外设与存储器有诸多不同; 外设与计算机的连接不能像存储器那样直接挂在总线上,必须通过各自的专用接口电路与主机相连。,6,可编程中断控制器8259A 可编程计数器/定时器8253 可编程外围接口芯片8255A

3、串行通信和可编程接口芯片8251A A/D和D/A转换芯片。 本章介绍最常用的简单I/O接口芯片,主要有缓冲器(Buffer)和锁存器(Latch)。,可编程输入输出接口芯片,7,二、I/O端口及其寻址方式,I/O端口 CPU与外设通信时,传送的信息主要包括数据信息、状态信息和控制信息。 这些信息分别进入不同的寄存器,通常将这些寄存器和它们的控制逻辑统称为I/O端口(Port),CPU可对端口中的信息直接进行读写。,数据信息,状态信息,控制信息,CPU,外设,数据端口,数据端口,状态端口,控制端口,8,(1)3种信息(数据、状态、控制)的性质不同,应通过不同的端口分别传送。每个端口都有自己的端

4、口地址,用不同的端口地址来区分不同性质的信息。 (2)在用输入输出指令来寻址外设时,外设的状态作为一种输入数据,而CPU的控制命令,是作为一种输出数据,从而可通过数据总线来分别传送。 (3)端口地址由CPU地址总线的低8位或低16位地址信息来确定,CPU根据IO指令提供的端口地址来寻址端口,然后同外设交换信息。,注意:,9,1)数据端口(Data Port) 存放CPU与外设之间交换的数据,1-2个字节,起缓冲作用。 2)状态端口(Status Port) 状态信息是反映外设当前所处工作状态的信息,以作为CPU与外设间可靠交换数据的条件。 输入时:告知CPU有关输入设备的数据是否准备好(Rea

5、dy=1?); 输出时:告知CPU输出设备是否空闲(Busy=0?)。 CPU是通过接口电路来掌握输入输出设备的状态,以决定可否输入或输出数据。,1. I/O端口,10,准备就绪位(Ready) 针对CPU输入端口:1表示数据准备好等CPU来读取,被取走后清0。 针对CPU输出端口:1表示上一个数据已被外设取走,可接收CPU的下一个数据了,新数据到达后清0。 忙碌位(Busy) 表明外设是否能接收数据 1表示外设正在进行输出数据传送操作,不允许CPU送数据过来,本次数据传送完毕,该位清0,表明外设空闲,允许CPU将下一个数据送到输出端口。 错误位(Error) 指示在数据传送过程中出现错误,2

6、)状态端口,11,3)命令端口(Command Port) 也称为控制端口(Control Port) 存放CPU向接口发出的各种命令和控制字,以便控制接口或设备的动作。 命令信息有启动位、停止位、允许中断位等。 常见的控制字有方式控制字、操作命令字等。,1. I/O端口,CPU通过IN和OUT指令进行输入输出。 将状态信息作为输入数据,控制信息作为输出数据。 3种信息都通过数据总线传送,但被送入3种不同端口的寄存器,因而能实施不同的功能。,12,2. I/O端口的寻址方法,1)存储器映像寻址方式(Memory Mapped I/O) 把系统中的每一个I/O端口看作一个存储单元,并与存储单元一

7、样统一编址。访问存储器的所有指令均可用来访问I/O端口,不用设置专门的I/O指令。 实际上是把I/O地址映射到存储空间,作为整个存储空间的一小部分。 应用于Motorola的MC6800、MC68000等。 优点:简化了指令系统的设计,不必包含I/O操作指令;能用功能强的存储器指令,操作方便灵活;I/O地址空间可调。 缺点:I/O端口占用存储器的地址空间;译码电路复杂;指令较长,延长了输入输出的操作时间。,CPU对外设的访问实质上是对I/O接口电路中相应端口的访问,也需要由译码电路来形成I/O端口地址。,13,2. I/O端口的寻址方法,2)I/O单独编址方式 对I/O端口单独编址来构成一个I

8、/O空间,用专门的IN和OUT指令来访问端口。 Intel 8086和8088等采用这种方式。 8086中用地址总线的低16位来寻址I/O口 输入和输出端口可用相同的地址,M/IO控制信号用来区分是I/O寻址和存储器寻址。 优点:将I/O指令和访存指令区分开,使程序清晰,可读性好;I/O指令较短,执行速度快,也不占用内存空间;I/O译码电路较简单。 缺点:CPU指令系统必须有专门的IN和OUT指令,没有访存指令的功能强。CPU必须提供区分存储器和I/O读写的控制信号(如8086的M/IO信号等)。,14,三、CPU与外设间的数据传送方式,软件实现:无条件方式、程序查询方式、中断方式。 硬件实现

9、:DMA方式。,无条件方式 最简单的传送方式,主要用于控制CPU与低速接口之间的信息交换,或者外设的定时是固定的或已知的场合。 这类信号变化缓慢,当需要采集时,外设已经将数据准备就绪了,无需检查端口的状态,就可立即采集数据。 对少量数据传送来说,它是最省时间的一种传送方法。,15,输入数据时,因简单外设输入数据的保持时间相对于CPU的接收速度来说较长,故输入数据通常不用加锁存器来锁存,而直接使用三态缓冲器与CPU数据总线相连即可。 输出数据时,一般都需要锁存器将要输出的数据保持一段时间,其长短和外设的动作相适应。 锁存时,在锁存允许端CE=1(为无效电平)时,数据总线上的新数据不能进入锁存器。

10、 只有当确知外设已取走CPU上次送入锁存器的数据,方能在CE=0(为有效电平)时将新数据再送入锁存器保留。,输入缓冲与输出锁存的概念,16,输入输出(无条件程序传送)原理图,17,输入时,假定来自外设的数据已输入至三态缓冲器; 当CPU执行IN指令时,所指定的端口地址经地址总线的低16位或低8位送至地址译码器,CPU进入了输入周期; 选中的地址信号和M/IO(以及RD)相“与”后,去选通输入三态缓冲器,把外设的数据与数据总线连通并读入CPU。 显然,这样做必须是当CPU执行IN指令时,外设的数据是已准备好的,否则就会读错。,输入时:,18,输出时,假定CPU的输出信息经数据总线已送到输出锁存器

11、的输入端; CPU执行OUT指令时,端口的地址由地址总线的低位地址送至地址译码器,CPU进入了输出周期; 所选中的地址信号和M/IO(以及WR 信号)相“与”后,去选通锁存器,把输出信息送至锁存器保留,由它再把信息通过外设输出。 显然,在CPU执行OUT指令时,必须确信所选外设的锁存器是空的。,输出时:,19,无条件传送方式,开关连接到三态缓冲器,缓冲器输出端接到CPU的数据总线。 开关断开:高电平输入; 开关闭合:低电平输入。 执行输入指令,使M/IO、RD和片选信号CS同时变为低电平,经过反向与非门变成有效的低电平开启缓冲器的三态门,使开关的当前状态以二进制的形式被读入CPU。 检查字节各

12、位的内容,就能了解各开关的当前状态。,简单输入端口,CPU查询按键开关的状态,20,无条件传送方式,用一个由锁存器构成的输出端口来把LED接到计算机的数据总线上,并串接一个限流电阻。 共阴连接:需要点燃某个LED时,只要用输出指令向此端口输出一个字节,该字节中相应于点燃的LED的位是1,其余各位为0。 输出指令使M/IO、WR和片选信号CS同时变低,相与后的低电平信号经反相后触发锁存器,将输出指令送到数据总线上的值锁存在输出端,使指定的LED发光。 由于锁存器的作用,输出值能一直保持到下一个输出指令到达为止,这段时间内,LED的状态也将保持不变。,简单输出端口,控制LED显示器的点灭,21,2

13、. 查询式传送,它也是一种程序传送,但与前述无条件的同步传送不同,是有条件的异步传送。 条件是:在执行输入(IN指令)或输出(OUT指令)前,要先查询接口中状态寄存器的状态 输入时:由该状态信息指示要输入的数据是否已“准备就绪”; 输出时:又由它指示输出设备是否“空闲”; 由此条件来决定执行输入或输出。,22,查询式输入方式,当输入设备准备好数据后,就向I/O接口电路发一个选通信号。 把数据送入锁存器; 使D触发器的Q端置1,给出“准备”READY的状态信号.表明数据准备好。 CPU执行IN指令读状态口的信息,三态门开启,Q端的1送到D0位,并被读入累加器。 程序检测到D0为1后,便执行IN指

14、令读数据口。 开启数据缓冲器,将外设送到锁存器中的数据经缓冲器送到数据总线后进累加器。 将D触发器清0,一次数据传送完毕。,Ready,23,查询式输入方式,设状态口的地址是PORT_S1,输入数据口的地址是PORT_IN,传送数据的总字节数为COUNT_1: MOV BX,0;初始化地址指针BX MOV CX,COUNT_1;字节数 READ_S1:IN AL,PORT_S1;读入状态位 TEST AL,01H;数据准备好否? JZ READ_S1;否,循环检测 IN AL,PORT_IN;已准备好,读数据 MOV BX,AL;存到内存缓冲区 INC BX;修改地址指针 LOOP READ_

15、S1 ;未传送完,继续传送,24,查询式输出方式,当CPU准备向外设输出数据时,先执行IN指令读状态口的信息。三态门开启,从数据总线D1位读入BUSY状态。 若BUSY=1,表示外设在接收上一个数据的忙碌状态。 只有在BUSY=0时,CPU才能向外设输出新的数据。 程序检测到D1(BUSY)为0后,便执行OUT指令输出数据。 选通数据锁存器,将数据送向外设。 选通信号的后沿使D触发器翻转,置Q为高电平,将状态口的BUSY置1。 输出设备从接口中取出数据后,就送回一个应答信号ACK,将D触发器清0,即置BUSY为0,允许CPU送出下一个数据。,25,查询式输出方式,设状态口的地址是PORT_S2

16、,输出数据口的地址是PORT_OUT,传送数据的总字节数为COUNT_2: MOV CX,COUNT_2;传送的字节数 READ_S2: IN AL,PORT_S2;读入状态位 TEST AL,02H;忙否? JNZ READ_S2;忙,循环检测 MOV AL,输出数据;不忙 OUT PORT_OUT,AL;存到内存缓冲区 LOOP READ_S2;未传送完,循环 ;已送完,26,程序查询输入/输出传送方式的执行过程:,()CPU从I/O接口的状态端口中读入所寻址的外设的状态信息“READY”或“BUSY”。 ()根据读入的状态信息进行判断。程序查询输入时,若状态信息READY0,则外设数据未

17、准备好,CPU继续等待查询,直至READY,外设已准备好数据,执行下一步操作;程序查询输出时,若状态信息BUSY,则外设正在“忙”,CPU继续等待查询,直至外设“空闲”,BUSY0时,执行下一步操作。 ()执行输入/输出指令,进行I/O传送。完成数据的输入输出,同时将外设的状态信息复位,一个位的数据传送结束。,27,优点:接口电路简单,硬件成本低。 缺点:CPU必须作程序等待循环,不断测试外设的状态,直至外设为交换数据准备就绪时为止。这种循环等待方式很花费时间,大大降低了CPU的运行效率。 所以这种输入输出方式只适用于CPU数据处理任务不繁忙,而且外部设备数较少的情况。,查询法输入输出方法的优

18、缺点:,28,查询等待过程会占去CPU的绝大部分时间 采用中断方式与外设交换数据 CPU平时执行主程序 当输入设备准备好时向CPU发出中断请求 CPU响应中断后暂停执行当前的程序 转去执行管理外设的中断服务程序 用输入或输出指令在CPU和外设之间进行一次数据交换 输入输出操作完成之后CPU又回去执行原来的程序,第八章,中断,3. 中断方式,29,所谓中断是外设或其他中断源中止CPU当前正在执行的程序,而转向为该外设服务的程序,一旦服务结束,又返回原程序继续工作。 这样,外设处理数据期间,CPU就不必浪费大量时间去查询它们的状态,只待外设处理完毕主动向CPU提出请求(向CPU发中断请求信号)。 而CPU在每一条指令执行的结尾阶段,均查询是否有中断请求信号(这种查询是由硬件完成的,不占用CPU的工作时间),若有,则暂停执行现行的程序,转去为申请中断的某个外设服务,以完成数据传送。,30,优点:大大提高

温馨提示

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

评论

0/150

提交评论