资源预览内容
第1页 / 共69页
第2页 / 共69页
第3页 / 共69页
第4页 / 共69页
第5页 / 共69页
第6页 / 共69页
第7页 / 共69页
第8页 / 共69页
第9页 / 共69页
第10页 / 共69页
亲,该文档总共69页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第2章 输入输出,在微型计算机系统的应用中,CPU除与内存交换信息外,还必然要经常与各种外部设备交换信息。主机与外设进行信息交换过程主要是完成数据输入或输出的传送操作。输入或输出操作的确切含义是有选择地启动被微处理器选中的外部设备,以便使其接收来自CPU的数据或向CPU送入数据。 数据传送的方向标准通常以微处理器为中心,当数据是由外部设备,如键盘、纸带读入机、光笔等设备向CPU送入时,称为输入传送;而当数据自CPU送到如发光二极管、七段显示器、CRT显示器、点阵打印机、绘图仪等设备时,称为输出传送。 CPU与各外部设备之间的连接和信息交换是比较复杂的。通常把CPU与外部设备间的连接方法与信息交换手段的研究称为输入输出技术(由于外部设备通常简称I/O设备,故亦称输入输出技术为I/0技术)。,2.1 接口概述,2.1.1 接口与端口 从广义上讲,接口就是指两个系统或两个部件之间的交接部分,可以是两种硬设备之间的连接电路,也可以是两个软件之间公用的逻辑边界。在微型计算机系统中,CPU与外部设备之间的联系,需要有特定的硬件连接和相应的控制软件。完成这一任务的软、硬件的综合称为接口。对这种硬件、软件的设计,称为接口技术。 应该指出,接口(Interface)和端口(Port)是不同的。所谓端口是指接口电路中那些完成信息传送,可由程序寻址并进行读写操作的寄存器。原则上讲,若干个端口加上相应的控制逻辑才构成接口。所以,一个接口中往往含有几个端口,CPU可以通过输入指令从端口读出信息,通过输出指令向端口写入信息。CPU寻址的是端口,而不是笼统的外设接口。,2.1.2 接口的功能,1地址译码或设备选择 接口必须进行地址译码,从而产生设备选择信号,以使微处理器和指定的外部设备交换信息。 2数据缓冲和锁存 在微计算机系统中,数据总线是系统各部分之间公用的双向总线,所有设备分时复用。所以,无论是存储器,还是外部设备,都不能长期占用数据总线,只允许被选中的设备在读/写周期内可用其传送数据。 3信息格式与电平的转换 接口应该具有信号传送格式、信号类型、信号电平的转换能力。 4数据传送的协调 CPU工作是有一定的时序的,CPU与外部设备交换数据时必须采用一定的传送方式进行控制。,2.1.3 接口的一般编程结构,I/O接口与外设的连接信号,I/O接口与外设的连接信号分为数据线、状态线和控制线三种。 (1)数据线 大致分为如下三种类型。 1)数字量。数字量是以二进制形式表示的数据或是以ASCII码表示的数据及字符。 2)模拟量。许多连续变化的物理量,如温度、湿度、位移、压力、流量等都是模拟量。 3)开关量。开关量可表示两个状态,如开关的闭合和断开、电机的运转和停止、阀门的打开和关闭等。 (2)状态线 外设将其状态通过状态线送往接口中的状态寄存器,它反映了当前外设所处的工作状态。对于输入设备来说,通常用准备好(READY)信号来表明输入设备是否准备就绪。 (3)控制线 控制线是由CPU向I/O接口输出的控制外部设备的信息。,2.1.4 接口的分类,1按应用分类 从应用角度分类,微计算机接口一般可分为四种基本类型:用户交互接口、辅助操作接口、传感接口和控制接口。 2按功能分类 (1)按数据传送方式分类:并行接口、串行接口。 (2)按接口通用性分类:通用接口、专用接口。 (3)按接口的可选择性分类:可编程接口、不可编程接口。 (4)按接口输入/输出信号分类:数字接口、模拟接口。,2.2 I/O端口的地址选择,微计算机的操作速度很快,可以控制很多外部设备。但是,微计算机采用的是总线结构,只有一组数据线。当CPU发出一个数据信息后,到底哪一个外部设备来接收这个数据呢?不得而知。因此,在微计算机与外部设备交换信息之前,应首先通过地址总线发出地址信息,通过某种编址方式来选中一个外部设备,进而实现信息交换。这里所谓的“与外部设备”交换信息,确切地应理解为“与外部设备的端口”交换信息。对端口的编址(寻址)有两种方式,这就是存储器映像方式和I/O映像方式。常见的端口地址选择方法有三种:门电路组合法、译码器译码法、比较器比较法。,2.2.1 输入输出的寻址方式,1存储器映像方式 这种寻址方式把一个I/O端口看作是一个存储单元(或采用地址重叠技术,对应n个存储单元),相当于给每一个I/O端口分配一个存储器地址(或n个存储器地址)。 存储器映像寻址方式的主要优点是: (1)指令丰富。 (2)I/O端口空间大。 (3)寻址的控制逻辑比较简单。 这种寻址方式的主要缺点是: (1)I/O端口占用了一部分存储器地址空间,使可用的内存空间相对减少。 (2)对I/O端口的访问和对存储器的访问一样,必须对全部地址线译码,因而地址译码电路比较复杂。 (3)存储器操作指令的机器码比较长,需要较长的执行时间。 (4)用存储器指令来处理输入/输出操作,在程序清单中不易区别,给程序的设计、分析、调试带来一定的困难。 采用存储器映像寻址方式的计算机有PDP-11小型机、6800系列微型机、6502系列微型机等。,2I/O映像方式 在这种寻址方式中,I/O端口空间与存储器空间各自独立,互不干涉,互不影响,故亦称为独立的I/O寻址方式。 在指令操作上,对存储单元的一般性传送使用MOV指令,而对I/O端口的传送操作,使用系统专门提供的一组I/O指令,即IN和OUT指令。 I/O映像寻址方式的主要优点是: (1)I/O空间与存储器空间各自独立,可分开设计。 (2)由于采用单独的I/O指令,其助记符与存储器指令明显不同,因而使程序编制清晰,易于理解。 (3)I/O地址线较少,所以译码电路简单。 (4)I/O指令格式短,执行时间快。 这种寻址方式的主要缺点是: (1)需要专门的I/O指令,且这些指令一般不如存储器访问指令丰富,程序设计灵活性较差。 (2)参加译码的地址线较少,使外设端口的数目受到限制。 (3)采用专用的I/O周期和专用的I/O控制线,这不仅使微处理器有限的引脚更加紧张,而且也增加了控制逻辑的复杂性。,2.2.2 用门电路组合法进行端口地址选择,门电路组合法是最简单的一种端口地址选择方法,它采用常见的与门、或门、非门等作为基本的组合元件。一般端口都是指寄存器、锁存器或缓冲器,这些器件都有一个芯片选择信号,简称片选信号,多数是低电平有效。当然,也有一些芯片没有片选信号,而是有使能端,或脉冲控制端,总之是使器件产生动作的控制端。 端口地址选择的目的,是当地址线上出现某种信息组合时,在端口地址选择电路的输出端会产生一个有效信号(有效信号有四种状态,即高电平、低电平、上跳沿、下跳沿,具体使用哪种状态,视所使用的器件而定),该信号连到器件的控制端,使器件产生动作,从而完成I/O端口的读/写操作。,2.2.3 用译码器译码法进行端口地址选择,译码器译码法是最常用的一种方法,就是利用译码器芯片对地址进行译码。PC/XT微计算机系统板上接口芯片的端口地址译码电路采用译码器译码法。所连接的接口芯片都有片选信号,74LS138译码器的输出与这些接口芯片的片选信号连接。 各接口芯片内部有多个寄存器,因而,相应地有多个端口地址。译码器只直接使用地址线A9-A5,其余的低5位地址线A4-A0未接,留给各接口芯片内部自行译码,以便寻址多个寄存器。,2.2.4 用比较器比较法进行端口地址选择,2.3 输入输出控制方式,CPU对I/O控制方式,就微机系统而言有四种基本方式,即程序查询方式、程序中断方式、DMA方式和I/O处理机方式。前两种主要由程序来实现,而后两种主要由附加硬件来实现。目前,微机中多数采用前三种。 程序查询方式:CPU通过查询I/O设备的状态,断定哪个设备需要服务,然后转入相应的服务程序。 程序中断方式:当I/O设备需要CPU为其服务时,可以发生中断请求信号INTR,CPU接到请求信号后,中断正在执行的程序,转去为该设备服务,服务完毕,返回原来被中断的程序并继续执行。 直接存储器存取(DMA)方式:采用这种方式时,在DMA控制器的管理下,I/O设备和存储器直接交换信息,而不需要CPU介入。 I/O处理机方式:引入I/O处理机,全部的输入/输出操作由I/O处理机独立地承担。,2.3.1 程序查询方式,程序查询传送方式又分为无条件传送方式和查询传送方式。 程序查询方式是有条件的传送控制方式,在这种方式中,CPU对I/O设备的控制(调度)全部由程序来实现,所有的输入输出操作都处于正在被执行的程序的控制下,I/O设备完全处于被动地位。 所谓查询,就是询问外部设备的工作状态,通过这一状态来判定外设是否已具备了与CPU交换数据的条件,即外设是否已准备好与CPU交换数据。对输入设备而言,这个状态指示输入设备的数据是否已经准备就绪,CPU是否可以随时来读取这个数据。对输出设备而言,这个状态指示输出设备的数据接收寄存器是否已空,是否可以随时接受CPU送来的数据。,1无条件传送方式,2查询输入传送方式,3查询输出传送方式,2.3.2 程序中断方式,无条件传送方式和查询传送方式的缺点是CPU和外设只能串行工作,各外设之间也只能串行工作。为了使CPU和外设以及外设和外设之间能并行工作,提高系统的工作效率,充分发挥CPU高速运算的能力,在微机系统中引入了中断技术,利用中断来实现CPU与外设之间的数据传送,这就是程序中断传送方式。 在程序中断传送方式中,通常是在主程序中某一时刻安排启动某一台外设的指令,然后CPU继续执行其主程序,当外设完成数据传送的准备后,向CPU发出“中断请求”信号,在CPU可以响应中断的条件下,中断(即暂停)现行主程序的执行,而转去执行“中断服务程序”,在“中断服务程序”中完成一次CPU与外设之间的数据传送,传送完成后仍返回被中断的断点处继续执行主程序。,2.3.3 DMA方式,1DMA传送方式的提出 与程序查询方式相比,利用中断方式进行数据传送可以大大提高CPU的工作效率。但在中断方式中,仍然是通过CPU执行程序来实现数据传送的,每传送一个字节(或一个字)CPU都必须把主程序停下来,转去执行中断服务程序。而每进入一次中断服务程序,CPU都要保护断点和转入中断服务程序,上述几方面的因素造成中断方式下的传输效率仍然不是很高。 如果I/O设备的数据传输率较高,那么CPU和这样的外部设备进行数据传输时,即使尽量压缩程序查询方式和中断方式中的非数据传输时间,也仍然不能满足要求。这是因为在这两种方式下,还存在另外一个影响传输速度的原因,即它们都是按字节或字来进行传输的。为了解决这个问题,实现按数据块传输,就需要改变传输方式,为此,提出了在外设和内存之间直接传送数据的方式,这就是直接存储器传输方式,即DMA方式。,2DMA操作的基本方法,(1)CPU停机方式 在这种方式下,当要进行DMA传送时,DMA控制器向CPU发出总线请求信号,迫使CPU在现行的总线周期结束后,使其地址总线、数据总线和部分控制总线处于高阻状态,从而让出对总线的控制权,并给出DMA响应信号。DMA控制器接到该响应信号后,就可以对总线进行数据传送的控制工作,直到DMA操作完成,CPU再恢复对总线的控制权,继续执行被中断的程序。 (2)周期扩展 在这种方式下,当需要进行DMA操作时,由DMA控制器发出请求信号给时钟电路,时钟电路把供给CPU的时钟周期加宽,而提供给存储器和DMA控制器的时钟周期不变。用这种方法进行DMA操作,一次只能传送一个字节。 (3)周期挪用 在这种方式下,利用CPU不访问内存的那些周期来实现DMA操作,此时DMA操作使用总线不用通知CPU也不会妨碍CPU的工作。,3DMA控制器的功能,(1)当外设准备就绪,希望进行DMA操作时,会向DMA控制器发出DMA请求信号,DMA控制器接到此信号后,应能向CPU发总线请求信号。 (2)CPU接到总线请求信号后,如果允许,则会发出DMA响应信号,从而CPU放弃对总线的控制,这时DMA控制器应能实行对总线的控制。 (3)DMA控制器得到总线控制权以后,要往地址总线发送地
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号