《(精品)第六章IO接口和数据传输.ppt》由会员分享,可在线阅读,更多相关《(精品)第六章IO接口和数据传输.ppt(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、微型计算机原理及其应用微型计算机原理及其应用第六章:输入第六章:输入/输出接口和数据传输输出接口和数据传输皖西学院计算机系皖西学院计算机系1左旭坤()第六章:输入第六章:输入/输出接口和数据传输输出接口和数据传输1.1.输入输入/输出接口功能输出接口功能2.2.CPUCPU和输入输出设备间的信号和输入输出设备间的信号3.3.接口部件的接口部件的I/OI/O端口和寻址方式端口和寻址方式4.4.CPUCPU和外设间的数据传送方式和外设间的数据传送方式2左旭坤()第六章:输入第六章:输入/输出接口和数据传输输出接口和数据传输1.1.输入输入/输出接口功能输出接口功能2.2.CPUCPU和输入输出设备
2、间的信号和输入输出设备间的信号3.3.接口部件的接口部件的I/OI/O端口和寻址方式端口和寻址方式4.4.CPUCPU和外设间的数据传送方式和外设间的数据传送方式3左旭坤()第六章:输入第六章:输入/输出接口和数据传输输出接口和数据传输接口功能接口功能什么是输入什么是输入/输出设备?输出设备?计算机有各种用途,但不论用于何种场合,都离不开信息处理。计算机有各种用途,但不论用于何种场合,都离不开信息处理。所处理的信息,均要由输入设备提供,而处理后的结果数据,则要送所处理的信息,均要由输入设备提供,而处理后的结果数据,则要送给输出设备,以各种形式报告给用户。例如,键盘、鼠标器、磁盘和给输出设备,以
3、各种形式报告给用户。例如,键盘、鼠标器、磁盘和扫描仪等是大家熟悉的输入设备,而磁盘、扫描仪等是大家熟悉的输入设备,而磁盘、CRTCRT显示器、打印机、显示器、打印机、X-YX-Y绘图仪等则是最常见的输出设备。绘图仪等则是最常见的输出设备。亦即能够完成输入亦即能够完成输入/输出操作的设输出操作的设备就叫输入备就叫输入/输出设备,简称外设或输出设备,简称外设或I/OI/O设备。设备。4左旭坤()第六章:输入第六章:输入/输出接口和数据传输输出接口和数据传输接口功能接口功能输入输入/输出设备与输出设备与CPUCPU信息交换时有什么问题?信息交换时有什么问题?外部设备种类繁多,从工作原理来讲,可分为机
4、械式、电动式、外部设备种类繁多,从工作原理来讲,可分为机械式、电动式、电子式和其它形式等几类。它们对所传输的信息的要求也各不相同,电子式和其它形式等几类。它们对所传输的信息的要求也各不相同,这就给计算机和外设之间的信息交换带来以下一些问题:这就给计算机和外设之间的信息交换带来以下一些问题:(1)(1)速度不匹配速度不匹配:CPUCPU的速度很高,而外设的速度要低得多,而且不同的的速度很高,而外设的速度要低得多,而且不同的外设速度差异甚大,它们之中既有每秒钟能传送兆位数量级的硬磁盘,外设速度差异甚大,它们之中既有每秒钟能传送兆位数量级的硬磁盘,也有每秒钟只能打印百位字符的串行打印机或速度更慢的键
5、盘。也有每秒钟只能打印百位字符的串行打印机或速度更慢的键盘。(2)(2)信号电平不匹配信号电平不匹配:CPUCPU所使用的信号都是所使用的信号都是TTLTTL电平,而外设大多是复杂电平,而外设大多是复杂的机电设备,往往不能用的机电设备,往往不能用TTLTTL电平所驱动,必须有自己的电源系统和电平所驱动,必须有自己的电源系统和信号电平。信号电平。(3)(3)信号格式不匹配信号格式不匹配:CPUCPU系统总线上传送的通常是系统总线上传送的通常是8 8位、位、1616位或位或3232位的位的并行数据,而各种外设使用的信息格式各不相同。有些设备上用的是并行数据,而各种外设使用的信息格式各不相同。有些设
6、备上用的是模拟量,而有些是数字量或开关量;有些设备上的信息是电流量,而模拟量,而有些是数字量或开关量;有些设备上的信息是电流量,而有些却是电压量,有些设备采用串行方式传送数据,而有些则用并行有些却是电压量,有些设备采用串行方式传送数据,而有些则用并行方式。方式。(4)(4)时序不匹配时序不匹配:各种外设都有自己的定时和控制逻辑,与计算机的各种外设都有自己的定时和控制逻辑,与计算机的CPUCPU时序不一致。时序不一致。5左旭坤()第六章:输入第六章:输入/输出接口和数据传输输出接口和数据传输接口功能接口功能什么是输入什么是输入/输出接口?输出接口?因此,要实现外部设备与主机之间的连接因此,要实现
7、外部设备与主机之间的连接(connection)(connection)和信息交和信息交换,必须经过一个数据转换和传输的设备。这种设备,我们叫做换,必须经过一个数据转换和传输的设备。这种设备,我们叫做I/OI/O接口接口(interface)(interface)。6左旭坤()第六章:输入第六章:输入/输出接口和数据传输输出接口和数据传输接口功能接口功能输入输入/输出接口及其功能输出接口及其功能 I/OI/O接口:接口:I/OI/O接口是指把外设同微型计算机连接起来实现数据传送的接口是指把外设同微型计算机连接起来实现数据传送的中间控制电路。中间控制电路。接口的功能有:接口的功能有:(1)(1)
8、数据格式转换功能数据格式转换功能(串串/并转换并转换);(2)(2)联络功能联络功能(协调数据传送的状态信息协调数据传送的状态信息);(3)(3)速度匹配功能;速度匹配功能;(4)(4)寻址功能;寻址功能;7左旭坤()第六章:输入第六章:输入/输出接口和数据传输输出接口和数据传输1.1.输入输入/输出接口功能输出接口功能2.2.CPUCPU和输入输出设备间的信号和输入输出设备间的信号3.3.接口部件的接口部件的I/OI/O端口和寻址方式端口和寻址方式4.4.CPUCPU和外设间的数据传送方式和外设间的数据传送方式8左旭坤()第六章:输入第六章:输入/输出接口和数据传输输出接口和数据传输CPUC
9、PU和和I/OI/O设备间的信号设备间的信号CPUCPU和外设之间需要交换三种信息和外设之间需要交换三种信息1.1.数据信息:数据信息:送入送入CPUCPU进行加工处理的信息或输出到外设的运算结果。进行加工处理的信息或输出到外设的运算结果。数字量:数字量:通常由键盘、磁盘驱动器等读入的信息,或由通常由键盘、磁盘驱动器等读入的信息,或由CPUCPU送给打印机、送给打印机、磁盘驱动器、显示器或绘图仪的信息。它们是二进制形式数据或磁盘驱动器、显示器或绘图仪的信息。它们是二进制形式数据或ASCIIASCII码码表示的数据及字符。表示的数据及字符。模拟量:模拟量:当微型计算机用于控制时,多数情况下的输入
10、信息是现场连续当微型计算机用于控制时,多数情况下的输入信息是现场连续变化的物理量,它们常常需要被转化成电压或电流信号,然后进行模拟变化的物理量,它们常常需要被转化成电压或电流信号,然后进行模拟/数字数字(A/D)(A/D)转换,变成数字量,送入计算机。相反,输出控制时又要将数转换,变成数字量,送入计算机。相反,输出控制时又要将数字量转换成模拟量字量转换成模拟量(D/A)(D/A)来驱动被控对象。来驱动被控对象。开关量:开关量:开关量可以表示两个状态,如开关的通、断,电机的启动和停开关量可以表示两个状态,如开关的通、断,电机的启动和停止等。常常可以把一组开关量组成一个数字量,以便于计算机的处理。
11、止等。常常可以把一组开关量组成一个数字量,以便于计算机的处理。2.2.控制信息:控制信息:是是CPUCPU发出的,用以控制外设的工作方式或外设的启动和发出的,用以控制外设的工作方式或外设的启动和停止。停止。3.3.状态信息:状态信息:反映了外设当前所处的工作状态,是外设通过接口送给反映了外设当前所处的工作状态,是外设通过接口送给CPUCPU的信号。的信号。9左旭坤()第六章:输入第六章:输入/输出接口和数据传输输出接口和数据传输CPUCPU和和I/OI/O设备间的信号设备间的信号CPUCPU和外设之间需要交换三种信息和外设之间需要交换三种信息 CPUCPU与外设之间不是直接交换数据、控制、状态
12、信息,而是通过与外设之间不是直接交换数据、控制、状态信息,而是通过接口间接传送的。以上三种信息在形式上都是二进制代码,它们都是接口间接传送的。以上三种信息在形式上都是二进制代码,它们都是通过通过DBDB来传送的,分别放在接口内的不同端口中。而接口对来传送的,分别放在接口内的不同端口中。而接口对DBDB上数上数据识别其类型是根据相应的端口地址来进行。据识别其类型是根据相应的端口地址来进行。10左旭坤()第六章:输入第六章:输入/输出接口和数据传输输出接口和数据传输1.1.输入输入/输出接口功能输出接口功能2.2.CPUCPU和输入输出设备间的信号和输入输出设备间的信号3.3.接口部件的接口部件的
13、I/OI/O端口和寻址方式端口和寻址方式4.4.CPUCPU和外设间的数据传送方式和外设间的数据传送方式11左旭坤()第六章:输入第六章:输入/输出接口和数据传输输出接口和数据传输I/OI/O端口和寻址方式端口和寻址方式接口部件的接口部件的I/OI/O端口端口 CPUCPU与外设通信时,传送的信息主要包括数据信息、状态信息和与外设通信时,传送的信息主要包括数据信息、状态信息和控制信息。在接口电路中,这些信息分别进入不同的寄存器,控制信息。在接口电路中,这些信息分别进入不同的寄存器,通常将通常将这些寄存器和它们的控制逻辑统称为这些寄存器和它们的控制逻辑统称为I/OI/O端口端口 。即:。即:I/
14、OI/O端口:端口:是指是指I/OI/O接口中接口中CPUCPU可以读可以读/写的寄存器。一般接口通常有写的寄存器。一般接口通常有数据端口、控制端口、状态端口。数据端口、控制端口、状态端口。数据端口:数据端口:数据端口是用来存放外设送往数据端口是用来存放外设送往CPUCPU的数据或的数据或CPUCPU要输出到外要输出到外设去的数据。这些数据是主机和外设之间交换的最基本的信息,长度一设去的数据。这些数据是主机和外设之间交换的最基本的信息,长度一般为般为1-21-2字节,数据端口主要起数据缓冲的作用。字节,数据端口主要起数据缓冲的作用。状态端口:状态端口:状态端口是用来指示外设的当前状态。每种状态
15、用状态端口是用来指示外设的当前状态。每种状态用1 1位表示,位表示,每个外设可以有几个状态位,它们可由每个外设可以有几个状态位,它们可由CPUCPU读取,以测试或检查外设的读取,以测试或检查外设的状态,决定程序的流程。状态,决定程序的流程。控制端口:控制端口:它用来存放它用来存放CPUCPU向接口发出的各种命令和控制字,以便控制向接口发出的各种命令和控制字,以便控制接口或设备的动作。常见的命令信息位有启动位、停止位、允许中断位接口或设备的动作。常见的命令信息位有启动位、停止位、允许中断位等。接口芯片不同,控制字的格式和内容是各不相同的,常见的控制字等。接口芯片不同,控制字的格式和内容是各不相同
16、的,常见的控制字有方式选择控制字,操作命令字等。有方式选择控制字,操作命令字等。12左旭坤()第六章:输入第六章:输入/输出接口和数据传输输出接口和数据传输I/OI/O端口和寻址方式端口和寻址方式I/OI/O端口的寻址方式端口的寻址方式 CPUCPU对外设的访问实质上是对对外设的访问实质上是对I/OI/O接口电路中相应的端口进行访问,接口电路中相应的端口进行访问,因此和存储器那样,也需要由译码电路来形成因此和存储器那样,也需要由译码电路来形成I/OI/O端口地址。端口地址。I/OI/O端口端口的编址方式有两种:的编址方式有两种:存储器映象编址方式存储器映象编址方式和和独立编址方式。独立编址方式
17、。存储器映像编制方式:存储器映像编制方式:在这种编址方式中,将外设接口地址和内部存在这种编址方式中,将外设接口地址和内部存储器地址统一安排在内存的地址空间中。即把内存地址分配给外设,储器地址统一安排在内存的地址空间中。即把内存地址分配给外设,由外设来占用这些地址。用于外设的这些地址,存储器不能再使用。由外设来占用这些地址。用于外设的这些地址,存储器不能再使用。独立编制方式:独立编制方式:在这种编址方式中,内存地址空间和外设地址空间是在这种编址方式中,内存地址空间和外设地址空间是相互独立的。例如,相互独立的。例如,在在8086CPU8086CPU中,内存地址是连续的中,内存地址是连续的1M1M字
18、节,从字节,从00000H00000HFFFFFHFFFFFH,而外设的地址范围从,而外设的地址范围从0000H0000HFFFFHFFFFH。它们相互独立,。它们相互独立,互不影响互不影响。13左旭坤()第六章:输入第六章:输入/输出接口和数据传输输出接口和数据传输I/OI/O端口和寻址方式端口和寻址方式I/OI/O端口的寻址方式端口的寻址方式 存储存储单元单元 存储器映像编址存储器映像编址I/OI/O端口端口2 220201M1M内存单元内存单元2 2161664K64KI/OI/O端口端口独立编址方式独立编址方式14左旭坤()第六章:输入第六章:输入/输出接口和数据传输输出接口和数据传输
19、1.1.输入输入/输出接口功能输出接口功能2.2.CPUCPU和输入输出设备间的信号和输入输出设备间的信号3.3.接口部件的接口部件的I/OI/O端口和寻址方式端口和寻址方式4.4.CPUCPU和外设间的数据传送方式和外设间的数据传送方式15左旭坤()第六章:输入第六章:输入/输出接口和数据传输输出接口和数据传输数据传送方式数据传送方式 在计算机的操作过程中,最基本的最大量的操在计算机的操作过程中,最基本的最大量的操作是数据传送。在微机系统中,数据主要在作是数据传送。在微机系统中,数据主要在CPU、存储器和存储器和I/O接口之间传送,在数据传送过程中,接口之间传送,在数据传送过程中,关键问题是
20、数据传送的控制方式,微机系统中的关键问题是数据传送的控制方式,微机系统中的数据传送的控制方式主要有数据传送的控制方式主要有软件传送方式软件传送方式(程序控程序控制方式制方式)和和硬件传送方式硬件传送方式(主要是主要是DMA直接存储器直接存储器存取存取)方式方式。其中,软件传送方式又包括:。其中,软件传送方式又包括:无条件无条件传送方式传送方式、查询传送方式查询传送方式和和中断传送方式中断传送方式。16左旭坤()第六章:输入第六章:输入/输出接口和数据传输输出接口和数据传输数据传送方式数据传送方式无条件传送方式无条件传送方式 无条件传送方式也称为同步传送方式,无条件传送方式也称为同步传送方式,无
21、无条条件件传传送送方方式式用用得得较较少少,只只用用在在对对一一些些简简单单外外设设的的操操作作,如如指指示示灯灯,数数码码管管显显示示等等;或或者者用用于于控控制制CPUCPU与与低低速速接接口口之之间间的的信信息息交交换换,例例如如温温度度、压压力力、流流量量等等(A/D)(A/D)转转换换器器。由由于于这这些些信信号号变变化化的的速速度度相相对对于于CPUCPU的的处处理理速速度度慢慢得得多多,所所以以,CPUCPU可可以以间间隔隔较较长长的的时时间间才才去去访访问问这这些些外外设设,而而外外设设也也就就有充裕的时间来准备数据。有充裕的时间来准备数据。无条件传送分为两种情况:无条件传送分
22、为两种情况:无条件输入(外设无条件输入(外设CPUCPU)、无条件输出()、无条件输出(CPUCPU外设外设)若外设是输入设备,由于外设数据更新的速度很慢,所以输入端可直接用若外设是输入设备,由于外设数据更新的速度很慢,所以输入端可直接用“输入缓冲器输入缓冲器”作为接口与作为接口与CPU的数据总线相连。的数据总线相连。若外设是输出设备,因为外设的速度较慢,所以要求若外设是输出设备,因为外设的速度较慢,所以要求CPU送到外设的数据送到外设的数据只能暂时保存在接口中,直到外设取完全部数据;所以此时应选用有锁存只能暂时保存在接口中,直到外设取完全部数据;所以此时应选用有锁存能力的接口(能力的接口(锁
23、存器锁存器)。)。17左旭坤()第六章:输入第六章:输入/输出接口和数据传输输出接口和数据传输数据传送方式数据传送方式无条件传送无条件传送输入缓冲器:输入缓冲器:外设送来的数据在接口电路的输入端外设送来的数据在接口电路的输入端保持一段时间。以便保持一段时间。以便CPUCPU与慢速的输入设备在速度与慢速的输入设备在速度上进行匹配。上进行匹配。输出锁存器:输出锁存器:CPU送出的数据在接口电路的输出端保送出的数据在接口电路的输出端保持一段时间。与慢速的输出设备在速度上进行匹配。持一段时间。与慢速的输出设备在速度上进行匹配。端口译码器:端口译码器:CPUCPU执行端口读写指令时,地址总线执行端口读写
24、指令时,地址总线送出端口地址,送出端口地址,MMIOIO信号有效,端口译码器有效信号有效,端口译码器有效打开分别控制两个锁存器打开分别控制两个锁存器/缓冲器的或门。缓冲器的或门。这时,若这时,若RDRD信号有效,则打开输入缓冲器,信号有效,则打开输入缓冲器,CPUCPU读入读入输入缓冲器端口中的数据;若输入缓冲器端口中的数据;若WRWR信号有效,则将信号有效,则将CPUCPU送到数据总线的数据打入输出锁存器,输出锁存器保送到数据总线的数据打入输出锁存器,输出锁存器保持这个数据,直到外设取走。持这个数据,直到外设取走。可以看出,这里的输入输出端口公用相同的端口地址。可以看出,这里的输入输出端口公
25、用相同的端口地址。11端口译码器决定端口地址低低18左旭坤()第六章:输入第六章:输入/输出接口和数据传输输出接口和数据传输数据传送方式数据传送方式无条件传送方式无条件传送方式【例例6-16-1】图图中中外外设设是是简简单单的的发发光光二二极极管管.此此外外设设的的接接口口是是用用锁锁存存器器来来实实现现的的。锁锁存存器器在在打打入入脉脉冲冲CPCP上上升升沿沿将将输输入入端端D D的的数数据据锁锁存存在在它它的的输输出出Q Q端端。编编写写点点亮亮二二极极管管的程序。的程序。(端口地址为(端口地址为0000H0000H)MOVMOVAL,81HAL,81HMOVMOVDX,0000H;DX,
26、0000H;送端口地址送端口地址OUTOUTDX,ALDX,AL ;点亮发光二极管点亮发光二极管IOW:由低变高时,由低变高时,74LS237锁存锁存CPU发来的数据发来的数据19左旭坤()第六章:输入第六章:输入/输出接口和数据传输输出接口和数据传输数据传送方式数据传送方式无条件传送方式无条件传送方式【例例6 6-2-2】类类似似于于例例6 6-1-1中中,让让接接在在Q Q0 0Q Q7 7上上的的二二极极管管自自上上而而下下轮轮流流点点亮亮3s3s,编编写写程程序序实现。实现。MOVMOVAL,01HAL,01H;使使Q Q0 0为为1 1,LEDLED0 0先亮先亮 MOV DX,00
27、00H MOV DX,0000Hnextnext::OUTOUTDX,ALDX,AL ;将信息送将信息送0000H0000H端口端口CALLCALLDELAYDELAY;调用延时调用延时3S3S子程序子程序ROLROLAL,1AL,1;循环左移循环左移1 1位位JMPJMPnextnext;循环点亮循环点亮LEDLED20左旭坤()循环子程序设计循环子程序设计 采用多重循环程序,内循环完成采用多重循环程序,内循环完成10ms10ms的延时,外层循环的延时,外层循环300300次即可。次即可。DELAY PROC NEAR MOV DL,300DELAY1:MOV CX,2800HDELAY2:
28、LOOP DELAY2 DECDL JNZDELAY1 RETDELAY ENDP第六章:输入第六章:输入/输出接口和数据传输输出接口和数据传输数据传送方式数据传送方式21左旭坤()第六章:输入第六章:输入/输出接口和数据传输输出接口和数据传输数据传送方式数据传送方式查询传送方式查询传送方式 查询传送也称条件方式传送,用查询方式传送时,查询传送也称条件方式传送,用查询方式传送时,CPU通过执行程通过执行程序不断读取并测试外设的状态,如果外设处于准备好状态序不断读取并测试外设的状态,如果外设处于准备好状态(输入设备输入设备)或或者空闲状态者空闲状态(输出设备输出设备),则,则CPU执行输入指令或
29、输出指令与外设交换信执行输入指令或输出指令与外设交换信息。因此,接口电路除了有传送数据的端口,还要求有传送状态的端口。息。因此,接口电路除了有传送数据的端口,还要求有传送状态的端口。对于查询传送来说,一个数据传送过程由对于查询传送来说,一个数据传送过程由3个环节组成:个环节组成:CPUCPU从接口中读取状态字;从接口中读取状态字;CPUCPU检测状态字的对应位是否满足检测状态字的对应位是否满足“就绪就绪”的条件,如果不满足,的条件,如果不满足,则回到前一步读取状态字;则回到前一步读取状态字;如状态字表明外设已处于如状态字表明外设已处于“就绪就绪”状态,则传送数据状态,则传送数据。22左旭坤()
30、第六章:输入第六章:输入/输出接口和数据传输输出接口和数据传输数据传送方式数据传送方式查询传送方式查询传送方式 否否否否23左旭坤()输入设备在数据准备好以后输入设备在数据准备好以后便往接口发一个选通信号。这便往接口发一个选通信号。这个选通信号有两个作用,一方个选通信号有两个作用,一方面将外设的数据送到接口的锁面将外设的数据送到接口的锁存器中,另一方面使接口中的存器中,另一方面使接口中的一个一个D触发器输出触发器输出1,从而使接,从而使接口中状态缓冲器的口中状态缓冲器的READY位位置置1。数据信息和状态信息从不同数据信息和状态信息从不同的端口经过数据总线送到的端口经过数据总线送到CPU。按数
31、据传送过程的按数据传送过程的3个步骤,个步骤,CPU从外设输入数据时先读取从外设输入数据时先读取状态字,检查状态字看数据是状态字,检查状态字看数据是否准备就绪,即数据是否已进否准备就绪,即数据是否已进入接口的锁存器中,如准备就入接口的锁存器中,如准备就绪,则执行输入指令读取数据,绪,则执行输入指令读取数据,同时,状态位同时,状态位清清0 0 ,这样,便,这样,便开始下一个数据传输过程。开始下一个数据传输过程。用查询方式进行输入的接口电路的工作原理:用查询方式进行输入的接口电路的工作原理:+5V D Q 选选通通输输入入设设备备锁锁存存器器数数据据缓缓冲冲器器状状态态缓缓冲冲器器地址地址译码译码
32、地址总线地址总线D0D7M/IORDR图图53 查询方式输入的接口电路查询方式输入的接口电路地址1地址211端口译码器决定端口地址READYREADY24左旭坤()当当CPU要往一个外设输出数据时,要往一个外设输出数据时,先读取接口中的状态字,如果状态字先读取接口中的状态字,如果状态字表明外设有空表明外设有空(或或“不忙不忙”),则说明,则说明可以往外设输出数据,此时可以往外设输出数据,此时CPU执行执行输出指令,否则输出指令,否则CPU必须等待。必须等待。CPU执行输出指令时,由选择信号执行输出指令时,由选择信号MIO和写信号和写信号WR产生的选通信号产生的选通信号将数据总线上的数据打入接口
33、锁存器,将数据总线上的数据打入接口锁存器,同时使同时使D触发器输出触发器输出1。D触发器的输触发器的输出信号一方面为外设提供一个联络信出信号一方面为外设提供一个联络信号,告诉外设现在接口中已有数据可号,告诉外设现在接口中已有数据可供提取;另一方面,供提取;另一方面,D触发器的输出信触发器的输出信号使状态寄存器的对应标志位置号使状态寄存器的对应标志位置1告诉告诉CPU,当前外设处于当前外设处于“忙忙”状态,从状态,从而阻止而阻止CPU输出新的数据。输出新的数据。用查询方式进行输出的接口电路工作原理。用查询方式进行输出的接口电路工作原理。当输出设备从接口中取走数据后,通常会送一个回答信号当输出设备
34、从接口中取走数据后,通常会送一个回答信号ACK,ACK信号使接口信号使接口中的中的D触发器清触发器清0,从而使状态寄存器中的对应标志位置,从而使状态寄存器中的对应标志位置0,这样就可以开始下一个输,这样就可以开始下一个输出过程。出过程。1125左旭坤()第六章:输入第六章:输入/输出接口和数据传输输出接口和数据传输数据传送方式数据传送方式查询传送方式查询传送方式 【例例6 6-3-3】现欲将现欲将48000H48000H为为首地址的顺序首地址的顺序100100个单元个单元的数据,利用查询方式输的数据,利用查询方式输出到外设。外设经输入输出到外设。外设经输入输出接口与出接口与80868086的系
35、统总线的系统总线连接。连接。CPUCPU通过三态接口通过三态接口(74LS244)(74LS244)可以查询外设可以查询外设的状态,而且当外设状态的状态,而且当外设状态信号信号BUSY=1BUSY=1时,可以接收时,可以接收CPUCPU由锁存器由锁存器(74LS273)(74LS273)输输出的数据。出的数据。BUSY=0BUSY=0时,表时,表示外设处于忙状态示外设处于忙状态,不能,不能接收数据。接收数据。(两个端口地(两个端口地址都是址都是00FFH00FFH)26左旭坤()第六章:输入第六章:输入/输出接口和数据传输输出接口和数据传输数据传送方式数据传送方式查询传送方式查询传送方式STA
36、RT:MOVAX,4000HMOVDS,AX ;数据段址;数据段址DSMOVSI,8000H ;数据偏移量;数据偏移量SIMOVCX,100 ;传递;传递100个数据个数据GOON:MOVDX,00FFH ;端口地址(触发器、锁存器);端口地址(触发器、锁存器)DXWAIT:INAL,DXANDAL,01H ;测试;测试BUSY是否为是否为1JZWAIT ;若;若BUSY=0,则等待,则等待MOVAL,SI ;若;若BUSY=1,开始传递数据,开始传递数据OUTDX,ALINCSILOOP GOONRET 27左旭坤()第六章:输入第六章:输入/输出接口和数据传输输出接口和数据传输数据传送方式
37、数据传送方式查询传送方式查询传送方式当系统中有多个外设时当系统中有多个外设时查询方式如何工作?查询方式如何工作?由图可见,由图可见,CPUCPU逐个外设进行查逐个外设进行查询。若发现那个外设准备就绪,就询。若发现那个外设准备就绪,就对该外设实施数据传送。然后再对对该外设实施数据传送。然后再对下一外设查询,依次循环。结果,下一外设查询,依次循环。结果,在查询过程中,在查询过程中,CPUCPU不能做别的事不能做别的事情,这就大大降低了情,这就大大降低了CPUCPU的效率。的效率。而且,假如某一外设刚好在查询过而且,假如某一外设刚好在查询过后处于就绪状态,那么它必须等到后处于就绪状态,那么它必须等到
38、CPUCPU查询完所有外设,再次查询此查询完所有外设,再次查询此外设时才能发现它处于就绪状态,外设时才能发现它处于就绪状态,而后对此外设服务。这样就不能对而后对此外设服务。这样就不能对外设进行实时数据交换,这对许多外设进行实时数据交换,这对许多实时性要求较高的外设来说,就有实时性要求较高的外设来说,就有可能丢失数据。可能丢失数据。28左旭坤()第六章:输入第六章:输入/输出接口和数据传输输出接口和数据传输数据传送方式数据传送方式查询传送方式查询传送方式优点:优点:接口电路和程序设计都较为简单,容易实现。接口电路和程序设计都较为简单,容易实现。缺点:缺点:CPUCPU外设不能并行工作,外设不能并
39、行工作,CPUCPU的效率低,外设得不到及时的效率低,外设得不到及时响应。响应。适用场合:适用场合:这种传送方式适用于一般工作速度较慢的外设,特别这种传送方式适用于一般工作速度较慢的外设,特别是外设数量不多,实时性要求不高的场合。是外设数量不多,实时性要求不高的场合。29左旭坤()第六章:输入第六章:输入/输出接口和数据传输输出接口和数据传输数据传送方式数据传送方式中断传送方式中断传送方式 中断传送方式会在每次外设准备好或空闲时,主动向中断传送方式会在每次外设准备好或空闲时,主动向CPUCPU发出发出中断请求,以示要传送数据,中断请求,以示要传送数据,CPUCPU响应该请求后,执行中断服务响应
40、该请求后,执行中断服务程序,实现与外设的数据传送。其工作过程简述如下:程序,实现与外设的数据传送。其工作过程简述如下:暂停主程序,实现程序的转移,即中断响应;暂停主程序,实现程序的转移,即中断响应;保护和恢复有关寄存器的内容;保护和恢复有关寄存器的内容;执行执行I/OI/O操作;操作;实现中断返回。实现中断返回。30左旭坤()第六章:输入第六章:输入/输出接口和数据传输输出接口和数据传输数据传送方式数据传送方式中断传送方式中断传送方式 INTRINTR31左旭坤()第六章:输入第六章:输入/输出接口和数据传输输出接口和数据传输数据传送方式数据传送方式中断传送方式中断传送方式优点:优点:系统的工
41、作效率高,系统的工作效率高,CPUCPU、I/OI/O设备可以并行工作,外设设备可以并行工作,外设可以主动向可以主动向CPUCPU请求,能够得到请求,能够得到CPUCPU的及时响应。的及时响应。缺点:缺点:每次传送数据,每次传送数据,CPUCPU都要做许多额外的工作,传送速度仍都要做许多额外的工作,传送速度仍然不是很快。然不是很快。适用场合:适用场合:这种方式适用于一般工作速度不是很快的外设,特别这种方式适用于一般工作速度不是很快的外设,特别是实时控制、检测场合。是实时控制、检测场合。32左旭坤()1DMA传送方式的提出传送方式的提出比比起起程程序序方方式式来来,利利用用中中断断方方式式进进行
42、行数数据据传传送送可可以以大大大大提提高高CPU的的工工作作效效率率,但效率仍然不是很高:但效率仍然不是很高:在中断方式下,仍然是通过在中断方式下,仍然是通过CPU执行中断程序来实现数据的传送,与数据传输执行中断程序来实现数据的传送,与数据传输无关的额外开销,要使无关的额外开销,要使CPU花费很多时间;花费很多时间;中断处理子程序都是按字节或字来进行传输数据,不能实现按数据块传输。中断处理子程序都是按字节或字来进行传输数据,不能实现按数据块传输。DMA传送方式的提出传送方式的提出DMA是直接存储器访问的英文缩写,顾名思义它不需要经过是直接存储器访问的英文缩写,顾名思义它不需要经过CPU的中转,
43、由硬的中转,由硬件逻辑直接控制实现按数据块直接传输,大大提高了传输效率。件逻辑直接控制实现按数据块直接传输,大大提高了传输效率。在利用在利用DMA方式进行数据传输时,要利用系统的数据总线、地址总线和控制总方式进行数据传输时,要利用系统的数据总线、地址总线和控制总线。因此在用线。因此在用DMA方式进行数据传输时,方式进行数据传输时,DMA接口电路要向接口电路要向CPU发出请求,发出请求,使使CPU让出总线,即把总线控制权交给控制让出总线,即把总线控制权交给控制DMA传输的接口电路。这种接口电传输的接口电路。这种接口电路就是路就是DMA控制器。控制器。第六章:输入第六章:输入/输出接口和数据传输输
44、出接口和数据传输数据传送方式数据传送方式DMA(DirectDMA(Direct Memory Access)Memory Access)控制方式控制方式33左旭坤()2DMA控制器的功能和控制器的功能和DMA传送的原理传送的原理 当当外外设设准准备备就就绪绪,希希望望进进行行DMA操操作作时时,会会向向DMA控控制制器器发发出出DMA请请求信号求信号,DMA控制器接到此信号后,应能向控制器接到此信号后,应能向CPU发发总线请求信号总线请求信号。CPU接到总线请求信号后,如果允许,则会发出接到总线请求信号后,如果允许,则会发出DMA响应信号响应信号,从而,从而CPU放弃对总线的控制,这时放弃对
45、总线的控制,这时DMA控制器应能实行对总线的控制。控制器应能实行对总线的控制。DMA控控制制器器得得到到总总线线控控制制权权以以后后,要要往往地地址址总总线线发发送送地地址址信信号号,并并能能够够按照数据快传输的要求按照数据快传输的要求自动修改地址指针自动修改地址指针。在在DMA传送期间,传送期间,DMA控制器应能控制器应能按照时序要求产生读写控制信号按照时序要求产生读写控制信号。为为了了决决定定所所传传送送的的字字节节数数,并并且且判判断断DMA传传送送是是否否结结束束,在在DMA控控制制器器内内部部必必须须有有1个个字字节节计计数数器器,用用来来存存放放所所传传送送的的字字节节数数。一一开
46、开始始由由软软件件设设置置数数据据长长度度。在在DMA过过程程中中,每每传传送送1个个字字节节,字字节节计计数数器器的的值值便便自自动动减减1,减减为为0时,则时,则DMA过程结束。过程结束。DMA过过程程结结束束时时,DMA控控制制器器应应向向CPU发发出出结结束束信信号号,将将总总线线控控制制权权交还给交还给CPU。第六章:输入第六章:输入/输出接口和数据传输输出接口和数据传输数据传送方式数据传送方式34左旭坤()第六章:输入第六章:输入/输出接口和数据传输输出接口和数据传输数据传送方式数据传送方式DMA(Direct Memory Access)DMA(Direct Memory Acc
47、ess)控制方式控制方式 35左旭坤()6.1 接口电路的作用是什么接口电路的作用是什么?6.2 CPU和输入输出设备之间传送的信息有哪几类和输入输出设备之间传送的信息有哪几类?6.3 什么叫端口什么叫端口?通常有哪几类端口通常有哪几类端口?计算机对计算机对IO端口编址时通常采用哪端口编址时通常采用哪两种方法两种方法?在在8086/8088系统中,用哪种方法对系统中,用哪种方法对I/O端口进行编址端口进行编址?6.4 CPU和外设之间的数据传送方式有哪几种和外设之间的数据传送方式有哪几种?实际选择某种传输方式时,实际选择某种传输方式时,主要依据是什么主要依据是什么?6.5 无条件传送方式用在哪
48、些场合无条件传送方式用在哪些场合?画出无条件输入画出无条件输入/输出方式的工作原理图输出方式的工作原理图并说明。并说明。6.6 查询传送方式的工作原理是怎样的查询传送方式的工作原理是怎样的?画出条件画出条件(查询查询)方式输入方式输入/出过程的出过程的流程图。流程图。6.7 设一个接口的输入端口地址为设一个接口的输入端口地址为0100H,而它的状态端口地址为,而它的状态端口地址为0104H,状态端口中第状态端口中第5位为位为1表示输入缓冲区中有一个字节准备好,可输入。设表示输入缓冲区中有一个字节准备好,可输入。设计具体程序实现查询式输入。计具体程序实现查询式输入。6.8 查询式传送方式有什么优缺点查询式传送方式有什么优缺点?中断方式为什么能弥补查询方式的缺点中断方式为什么能弥补查询方式的缺点?第六章:输入第六章:输入/输出接口和数据传输输出接口和数据传输思考题思考题36左旭坤()