《微型计算机原理及其应用.ppt》由会员分享,可在线阅读,更多相关《微型计算机原理及其应用.ppt(33页珍藏版)》请在三一办公上搜索。
1、1,微型计算机原理及其应用第六章:输入/输出接口和数据传输,合肥工业大学计算机与信息学院,2,第六章:输入/输出接口和数据传输,输入/输出接口功能CPU和输入输出设备间的信号接口部件的I/O端口和寻址方式CPU和外设间的数据传送方式,3,第六章:输入/输出接口和数据传输,输入/输出接口功能CPU和输入输出设备间的信号接口部件的I/O端口和寻址方式CPU和外设间的数据传送方式,4,第六章:输入/输出接口和数据传输接口功能,什么是输入/输出设备?计算机有各种用途,但不论用于何种场合,都离不开信息处理。所处理的信息,均要由输入设备提供,而处理后的结果数据,则要送给输出设备,以各种形式报告给用户。例如
2、,键盘、鼠标器、磁盘和扫描仪等是大家熟悉的输入设备,而磁盘、CRT显示器、打印机、X-Y绘图仪等则是最常见的输出设备。亦即能够完成输入/输出操作的设备就叫输入/输出设备,简称外设或I/O设备。,5,第六章:输入/输出接口和数据传输接口功能,输入/输出设备与CPU信息交换时有什么问题?外部设备种类繁多,从工作原理来讲,可分为机械式、电动式、电子式和其它形式等几类。它们对所传输的信息的要求也各不相同,这就给计算机和外设之间的信息交换带来以下一些问题:(1)速度不匹配:CPU的速度很高,而外设的速度要低得多,而且不同的外设速度差异甚大,它们之中既有每秒钟能传送兆位数量级的硬磁盘,也有每秒钟只能打印百
3、位字符的串行打印机或速度更慢的键盘。(2)信号电平不匹配:CPU所使用的信号都是TTL电平,而外设大多是复杂的机电设备,往往不能用TTL电平所驱动,必须有自己的电源系统和信号电平。(3)信号格式不匹配:CPU系统总线上传送的通常是8位、16位或32位的并行数据,而各种外设使用的信息格式各不相同。有些设备上用的是模拟量,而有些是数字量或开关量;有些设备上的信息是电流量,而有些却是电压量,有些设备采用串行方式传送数据,而有些则用并行方式。(4)时序不匹配:各种外设都有自己的定时和控制逻辑,与计算机的CPU时序不一致。,6,第六章:输入/输出接口和数据传输接口功能,什么是输入/输出接口?因此,要实现
4、外部设备与主机之间的连接(connection)和信息交换,必须经过一个数据转换和传输的设备。这种设备,我们叫做I/O接口(interface)。,7,第六章:输入/输出接口和数据传输接口功能,输入/输出接口及其功能 I/O接口:I/O接口是指把外设同微型计算机连接起来实现数据传送的中间控制电路。接口的功能有:(1)数据格式转换功能(串/并转换);(2)联络功能(协调数据传送的状态信息);(3)速度匹配功能;(4)寻址功能;,8,第六章:输入/输出接口和数据传输,输入/输出接口功能CPU和输入输出设备间的信号接口部件的I/O端口和寻址方式CPU和外设间的数据传送方式,9,第六章:输入/输出接口
5、和数据传输CPU和I/O设备间的信号,CPU和外设之间需要交换三种信息数据信息:送入CPU进行加工处理的信息或输出到外设的运算结果。数字量:通常由键盘、磁盘驱动器等读入的信息,或由CPU送给打印机、磁盘驱动器、显示器或绘图仪的信息。它们是二进制形式数据或ASCII码表示的数据及字符。模拟量:当微型计算机用于控制时,多数情况下的输入信息是现场连续变化的物理量,它们常常需要被转化成电压或电流信号,然后进行模拟/数字(A/D)转换,变成数字量,送入计算机。相反,输出控制时又要将数字量转换成模拟量(D/A)来驱动被控对象。开关量:开关量可以表示两个状态,如开关的通、断,电机的启动和停止等。常常可以把一
6、组开关量组成一个数字量,以便于计算机的处理。控制信息:是CPU发出的,用以控制外设的工作方式或外设的启动和停止。状态信息:反映了外设当前所处的工作状态,是外设通过接口送给CPU的信号。,10,第六章:输入/输出接口和数据传输CPU和I/O设备间的信号,CPU和外设之间需要交换三种信息 CPU与外设之间不是直接交换数据、控制、状态信息,而是通过接口间接传送的。以上三种信息在形式上都是二进制代码,它们都是通过DB来传送的,分别放在接口内的不同端口中。而接口对DB上数据识别其类型是根据相应的端口地址来进行。,11,第六章:输入/输出接口和数据传输,输入/输出接口功能CPU和输入输出设备间的信号接口部
7、件的I/O端口和寻址方式CPU和外设间的数据传送方式,12,第六章:输入/输出接口和数据传输I/O端口和寻址方式,接口部件的I/O端口 CPU与外设通信时,传送的信息主要包括数据信息、状态信息和控制信息。在接口电路中,这些信息分别进入不同的寄存器,通常将这些寄存器和它们的控制逻辑统称为I/O端口。即:I/O端口:是指I/O接口中CPU可以读/写的寄存器。一般接口通常有数据端口、控制端口、状态端口。数据端口:数据端口是用来存放外设送往CPU的数据或CPU要输出到外设去的数据。这些数据是主机和外设之间交换的最基本的信息,长度一般为1-2字节,数据端口主要起数据缓冲的作用。状态端口:状态端口是用来指
8、示外设的当前状态。每种状态用1位表示,每个外设可以有几个状态位,它们可由CPU读取,以测试或检查外设的状态,决定程序的流程。控制端口:它用来存放CPU向接口发出的各种命令和控制字,以便控制接口或设备的动作。常见的命令信息位有启动位、停止位、允许中断位等。接口芯片不同,控制字的格式和内容是各不相同的,常见的控制字有方式选择控制字,操作命令字等。,13,第六章:输入/输出接口和数据传输I/O端口和寻址方式,I/O端口的寻址方式 CPU对外设的访问实质上是对I/O接口电路中相应的端口进行访问,因此和存储器那样,也需要由译码电路来形成I/O端口地址。I/O端口的编址方式有两种:存储器映象编址方式和独立
9、编址方式。存储器映像编制方式:在这种编址方式中,将外设接口地址和内部存储器地址统一安排在内存的地址空间中。即把内存地址分配给外设,由外设来占用这些地址。用于外设的这些地址,存储器不能再使用。独立编制方式:在这种编址方式中,内存地址空间和外设地址空间是相互独立的。例如,在8086CPU中,内存地址是连续的1M字节,从00000HFFFFFH,而外设的地址范围从0000HFFFFH。它们相互独立,互不影响。,14,第六章:输入/输出接口和数据传输I/O端口和寻址方式,I/O端口的寻址方式,15,第六章:输入/输出接口和数据传输,输入/输出接口功能CPU和输入输出设备间的信号接口部件的I/O端口和寻
10、址方式CPU和外设间的数据传送方式,16,第六章:输入/输出接口和数据传输数据传送方式,在计算机的操作过程中,最基本的最大量的操作是数据传送。在微机系统中,数据主要在CPU、存储器和I/O接口之间传送,在数据传送过程中,关键问题是数据传送的控制方式,微机系统中的数据传送的控制方式主要有软件传送方式(程序控制方式)和硬件传送方式(主要是DMA直接存储器存取)方式。其中,程序控制方式又包括:无条件传送方式、查询传送方式和中断传送方式。,17,第六章:输入/输出接口和数据传输数据传送方式,无条件传送方式 无条件传送方式也称为同步传送方式,主要用于对简单外设进行操作,或者外设的定时是固定的或已知的场合
11、。也就是说,这类外设在任何时刻均已准备好数据或处于接收数据状态,或者在某些固定时刻,它们处在数据就绪或准备接收状态,因此程序可以不必检查外设的状态,而在需要进行输入或输出操作时,直接执行输入输出指令。无条件传送方式一般用于控制CPU与低速接口之间的信息交换.例如开关、温度、压力流量等(A/D)转换器。由于这些信号变换缓慢,当需要采集这些数据时,外设已经将数据准备就绪了,因此无需检查端口的状态,就可以立即采集数据。由于数据保持时间相对于CPU的处理时间长得多,故输入端可直接用输入缓冲器与CPU的数据总线相连。若外设是输出设备,一般要求接口有锁存能力,也就是CPU送给外设的数据应该在接口中保持一段
12、时间,其原因是外设的速度较慢,所以要求CPU送到接口的数据能保持到外设动作相适应的时间。,18,第六章:输入/输出接口和数据传输数据传送方式,无条件传送方式【例6-1】图中外设是简单的发光二极管.此外设的接口是用锁存器来实现的。锁存器在打入脉冲CP上升沿将输入端D的数据锁存在它的输出Q端。编写点亮二极管的程序。(端口地址为0000H),MOVAL,81HMOVDX,0000H;送端口地址OUTDX,AL;点亮发光二极管,19,第六章:输入/输出接口和数据传输数据传送方式,无条件传送方式【例6-2】类似于例6-1中,让接在Q0Q7上的二极管自上而下轮流点亮3s,编写程序实现。MOVAL,01H;
13、使Q0为1,LED0先亮LOP:OUT0000H,AL;将信息送0000H端口CALLDELAY;调用延时3S子程序ROLAL,1;小循环左移1位JMPLOP;循环点亮LED,20,第六章:输入/输出接口和数据传输数据传送方式,查询传送方式 查询传送也称条件方式传送,用查询方式传送时,CPU通过执行程序不断读取并测试外设的状态,如果外设处于准备好状态(输入设备)或者空闲状态(输出设备),则CPU执行输入指令或输出指令与外设交换信息。因此,接口电路除了有传送数据的端口,还要求有传送状态的端口。对于条件传送来说,一个数据传送过程由3个环节组成:CPU从接口中读取状态字;CPU检测状态字的对应位是否
14、满足“就绪”的条件,如果不满足,则回到前一步读取状态字;如状态字表明外设已处于“就绪”状态,则传送数据。,21,第六章:输入/输出接口和数据传输数据传送方式,查询传送方式,22,第六章:输入/输出接口和数据传输数据传送方式,查询传送方式,23,第六章:输入/输出接口和数据传输数据传送方式,查询传送方式【例6-3】现欲将48000H为首地址的顺序100个单元的数据,利用查询方式输出到外设。外设经输入输出接口与8086的系统总线连接。CPU通过三态接口(74LS244)可以查询外设的状态,而且当外设状态信号=1时,可以接收CPU由锁存器(74LS273)输出的数据。=0时,表示外设处于忙状态,不能
15、接收数据。(两个端口地址都是00FFH),24,第六章:输入/输出接口和数据传输数据传送方式,查询传送方式START:MOVAX,4000HMOVDS,AXMOVSI,8000HMOVCX,100GOON:MOVDX,00FFHWAIT:INAL,DXANDAL,01HJZWAITMOVAL,SIOUTDX,ALINCSILOOPGOONRET,25,第六章:输入/输出接口和数据传输数据传送方式,查询传送方式当系统中有多个外设时查询方式如何工作?由图可见,CPU逐个外设进行查询。若发现那个外设准备就绪,就对该外设实施数据传送。然后再对下一外设查询,依次循环。结果,在查询过程中,CPU不能做别的
16、事情,这就大大降低了CPU的效率。而且,假如某一外设刚好在查询过后处于就绪状态,那么它必须等到CPU查询完所有外设,再次查询此外设时才能发现它处于就绪状态,而后对此外设服务。这样就不能对外设进行实时数据交换,这对许多实时性要求较高的外设来说,就有可能丢失数据。,26,第六章:输入/输出接口和数据传输数据传送方式,查询传送方式优点:接口电路和程序设计都较为简单,容易实现。缺点:CPU外设不能并行工作,CPU的效率低,外设得不到及时响应。适用场合:这种传送方式适用于一般工作速度较慢的外设,特别是外设数量不多,实时性要求不高的场合。,27,第六章:输入/输出接口和数据传输数据传送方式,中断传送方式
17、中断传送方式会在每次外设准备好或空闲时,主动向CPU发出中断请求,以示要传送数据,CPU响应该请求后,执行中断服务程序,实现与外设的数据传送。其工作过程简述如下:暂停主程序,实现程序的转移,即中断响应;保护和恢复有关寄存器的内容;执行I/O操作,并实现内存累加器端口之间的传送;实现中断返回。,28,第六章:输入/输出接口和数据传输数据传送方式,中断传送方式,29,第六章:输入/输出接口和数据传输数据传送方式,中断传送方式优点:系统的工作效率高,CPU、I/O设备可以并行工作,外设可以主动向CPU请求,能够得到CPU的及时响应。缺点:每次传送数据,CPU都要做许多额外的工作,传送速度仍然不是很快
18、。适用场合:这种方式适用于一般工作速度不是很快的外设,特别是实时控制、检测场合。,30,第六章:输入/输出接口和数据传输数据传送方式,DMA(Direct Memory Access)控制方式 中断控制的I/O虽然克服了查询方式I/O的缺点,能够快速响应I/O传送的请求,但是I/O设备的服务仍然是由软件实现,为完成一个字节(字)的数据传送,CPU必须执行很多额外的工作。当要求快速进行数据传送的场合,执行上述过程已无法满足系统实时性的要求。这时可以采用直接存储器存取,由DMA控制器实现外设存储器间的直接传送。采用DMA方式传送数据时,需要一块专门的硬件电路(通常叫DMA控制器)对整个数据传送过程
19、进行管理。这种控制器能给出访问内存所需要的地址信息,并能自动修改地址指针,也能设定和修改传送的字节数,还能向存储器和外设发出相应的读/写控制信号。在DMA传送结束后,它能释放总线,把对总线的控制权又交还给CPU。因此采用DMA方式传输数据时,不需要进行保护和恢复断点及现场之类的额外操作,一旦进入DMA操作,就可直接在硬件的控制下快速完成一批数据的交换任务,数据传送的速度基本上取决于外设和存储器的存取速度。,31,第六章:输入/输出接口和数据传输数据传送方式,DMA(Direct Memory Access)控制方式,32,第六章:输入/输出接口和数据传输总结,输入输出概述。外设接口的特性和基本结构,要求达到“领会”层次。I/O端口的编址方式,要求达到“识记”层次。数据传送的控制方式,要求达到“综合应用”层次。计算机系统中数据传送的两种控制方式程序控制传送和DMA传送的区别。无条件传送方式的原理、特点及适用场合。查询传送方式的原理、特点及适用场合。中断传送方式的原理、特点及适用场合。DMA控制传送的特点(了解)。,33,