第07章 IO接口及数据传输_第1页
第07章 IO接口及数据传输_第2页
第07章 IO接口及数据传输_第3页
第07章 IO接口及数据传输_第4页
第07章 IO接口及数据传输_第5页
已阅读5页,还剩61页未读, 继续免费阅读

下载本文档

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

文档简介

1、1微型计算机原理及其应用微型计算机原理及其应用第七章:输入第七章:输入/ /输出接口和数据传输输出接口和数据传输湖南文理学院计算机学院湖南文理学院计算机学院2第七章:输入第七章:输入/ /输出接口和数据传输输出接口和数据传输1. 输入输入/输出接口功能输出接口功能2. CPU和输入输出设备间的信号和输入输出设备间的信号3. 接口部件的接口部件的I/O端口和寻址方式端口和寻址方式4. CPU和外设间的数据传送方式和外设间的数据传送方式3第七章:输入第七章:输入/ /输出接口和数据传输输出接口和数据传输1. 输入输入/输出接口功能输出接口功能2. CPU和输入输出设备间的信号和输入输出设备间的信号

2、3. 接口部件的接口部件的I/O端口和寻址方式端口和寻址方式4. CPU和外设间的数据传送方式和外设间的数据传送方式4第七章:输入第七章:输入/ /输出接口和数据传输输出接口和数据传输接口功能接口功能什么是输入什么是输入/输出设备?输出设备? 计算机有各种用途,但不论用于何种场合,都离不开信息处计算机有各种用途,但不论用于何种场合,都离不开信息处理。所处理的信息,均要由输入设备提供,而处理后的结果数据,则理。所处理的信息,均要由输入设备提供,而处理后的结果数据,则要送给输出设备,以各种形式报告给用户。例如,键盘、鼠标器、磁要送给输出设备,以各种形式报告给用户。例如,键盘、鼠标器、磁盘和扫描仪等

3、是大家熟悉的输入设备,而磁盘、盘和扫描仪等是大家熟悉的输入设备,而磁盘、CRT显示器、打印显示器、打印机、机、X-Y绘图仪等则是最常见的输出设备。绘图仪等则是最常见的输出设备。亦即能够完成输入亦即能够完成输入/输出输出操作的设备就叫输入操作的设备就叫输入/输出设备,简称外设或输出设备,简称外设或I/O设备。设备。 5第七章:输入第七章:输入/ /输出接口和数据传输输出接口和数据传输接口功能接口功能输入输入/输出设备与输出设备与CPU信息交换时有什么问题?信息交换时有什么问题? 外部设备种类繁多,从工作原理来讲,可分为机械式、电动外部设备种类繁多,从工作原理来讲,可分为机械式、电动式、电子式和其

4、它形式等几类。它们对所传输的信息的要求也各不相式、电子式和其它形式等几类。它们对所传输的信息的要求也各不相同,这就给计算机和外设之间的信息交换带来以下一些问题:同,这就给计算机和外设之间的信息交换带来以下一些问题:(1)速度不匹配:速度不匹配:CPU的速度很高,而外设的速度要低得多,而且不同的速度很高,而外设的速度要低得多,而且不同的外设速度差异甚大,它们之中既有每秒钟能传送兆位数量级的硬磁的外设速度差异甚大,它们之中既有每秒钟能传送兆位数量级的硬磁盘,也有每秒钟只能打印百位字符的串行打印机或速度更慢的键盘。盘,也有每秒钟只能打印百位字符的串行打印机或速度更慢的键盘。(2)信号电平不匹配:信号

5、电平不匹配:CPU所使用的信号都是所使用的信号都是TTL电平,而外设大多是电平,而外设大多是复杂的机电设备,往往不能用复杂的机电设备,往往不能用TTL电平所驱动,必须有自己的电源系电平所驱动,必须有自己的电源系统和信号电平。统和信号电平。(3)信号格式不匹配:信号格式不匹配:CPU系统总线上传送的通常是系统总线上传送的通常是8位、位、16位或位或32位位的并行数据,而各种外设使用的信息格式各不相同。有些设备上用的的并行数据,而各种外设使用的信息格式各不相同。有些设备上用的是模拟量,而有些是数字量或开关量;有些设备上的信息是电流量,是模拟量,而有些是数字量或开关量;有些设备上的信息是电流量,而有

6、些却是电压量,有些设备采用串行方式传送数据,而有些则用并而有些却是电压量,有些设备采用串行方式传送数据,而有些则用并行方式。行方式。(4)时序不匹配:时序不匹配:各种外设都有自己的定时和控制逻辑,与计算机的各种外设都有自己的定时和控制逻辑,与计算机的CPU时序不一致。时序不一致。6第七章:输入第七章:输入/ /输出接口和数据传输输出接口和数据传输接口功能接口功能什么是输入什么是输入/输出接口?输出接口? 因此,要实现外部设备与主机之间的连接因此,要实现外部设备与主机之间的连接(connection)和信和信息交换,必须经过一个数据转换和传输的设备。这种设备,我们叫做息交换,必须经过一个数据转换

7、和传输的设备。这种设备,我们叫做I/O接口接口(interface)。7第七章:输入第七章:输入/ /输出接口和数据传输输出接口和数据传输接口功能接口功能输入输入/输出接口及其功能输出接口及其功能 I/O接口:接口:I/O接口是指把外设同微型计算机连接起来实现数据传送接口是指把外设同微型计算机连接起来实现数据传送的中间控制电路。接口的功能有:的中间控制电路。接口的功能有:(1)数据格式转换功能数据格式转换功能(串串/并转换并转换);(2)联络功能联络功能(协调数据传送的状态信息协调数据传送的状态信息);(3)速度匹配功能;速度匹配功能;(4)寻址功能;寻址功能;8第七章:输入第七章:输入/ /

8、输出接口和数据传输输出接口和数据传输1. 输入输入/输出接口功能输出接口功能2. CPU和输入输出设备间的信号和输入输出设备间的信号3. 接口部件的接口部件的I/O端口和寻址方式端口和寻址方式4. CPU和外设间的数据传送方式和外设间的数据传送方式9第七章:输入第七章:输入/ /输出接口和数据传输输出接口和数据传输CPUCPU和和I/OI/O设备间的信号设备间的信号CPU和外设之间需要交换三种信息和外设之间需要交换三种信息1. 数据信息:数据信息:送入送入CPU进行加工处理的信息或输出到外设的运算结果。进行加工处理的信息或输出到外设的运算结果。数字量:数字量:通常由键盘、磁盘驱动器等读入的信息

9、,或由通常由键盘、磁盘驱动器等读入的信息,或由CPU送给打印机、送给打印机、磁盘驱动器、显示器或绘图仪的信息。它们是二进制形式数据或磁盘驱动器、显示器或绘图仪的信息。它们是二进制形式数据或ASCII码表示的数据及字符。码表示的数据及字符。模拟量:模拟量:当微型计算机用于控制时,多数情况下的输入信息是现场连续当微型计算机用于控制时,多数情况下的输入信息是现场连续变化的物理量,它们常常需要被转化成电压或电流信号,然后进行模拟变化的物理量,它们常常需要被转化成电压或电流信号,然后进行模拟/数字数字(A/D)转换,变成数字量,送入计算机。相反,输出控制时又要将转换,变成数字量,送入计算机。相反,输出控

10、制时又要将数字量转换成模拟量数字量转换成模拟量(D/A)来驱动被控对象。来驱动被控对象。开关量:开关量:开关量可以表示两个状态,如开关的通、断,电机的启动和停开关量可以表示两个状态,如开关的通、断,电机的启动和停止等。常常可以把一组开关量组成一个数字量,以便于计算机的处理。止等。常常可以把一组开关量组成一个数字量,以便于计算机的处理。 2. 控制信息:控制信息:是是CPU发出的,用以控制外设的工作方式或外设的启动发出的,用以控制外设的工作方式或外设的启动和停止。和停止。3. 状态信息:状态信息:反映了外设当前所处的工作状态,是外设通过接口送给反映了外设当前所处的工作状态,是外设通过接口送给CP

11、U的信号。的信号。10第七章:输入第七章:输入/ /输出接口和数据传输输出接口和数据传输CPUCPU和和I/OI/O设备间的信号设备间的信号CPU和外设之间需要交换三种信息和外设之间需要交换三种信息 CPU与外设之间不是直接交换数据、控制、状态信息,而是与外设之间不是直接交换数据、控制、状态信息,而是通过接口间接传送的。以上三种信息在形式上都是二进制代码,它们通过接口间接传送的。以上三种信息在形式上都是二进制代码,它们都是通过都是通过DB来传送的,分别放在接口内的不同端口中。而接口对来传送的,分别放在接口内的不同端口中。而接口对DB上数据识别其类型是根据相应的端口地址来进行。上数据识别其类型是

12、根据相应的端口地址来进行。11第七章:输入第七章:输入/ /输出接口和数据传输输出接口和数据传输1. 输入输入/输出接口功能输出接口功能2. CPU和输入输出设备间的信号和输入输出设备间的信号3. 接口部件的接口部件的I/O端口和寻址方式端口和寻址方式4. CPU和外设间的数据传送方式和外设间的数据传送方式12第七章:输入第七章:输入/ /输出接口和数据传输输出接口和数据传输I/OI/O端口和寻址方式端口和寻址方式接口部件的接口部件的I/O端口端口 CPU与外设通信时,传送的信息主要包括数据信息、状态信与外设通信时,传送的信息主要包括数据信息、状态信息和控制信息。在接口电路中,这些信息分别进入

13、不同的寄存器,通息和控制信息。在接口电路中,这些信息分别进入不同的寄存器,通常将这些寄存器和它们的控制逻辑统称为常将这些寄存器和它们的控制逻辑统称为I/O端口端口 。即:。即:I/O端口:端口:是指是指I/O接口中接口中CPU可以读可以读/写的寄存器。一般接口通常写的寄存器。一般接口通常有数据端口、控制端口、状态端口。有数据端口、控制端口、状态端口。数据端口:数据端口:数据端口是用来存放外设送往数据端口是用来存放外设送往CPU的数据或的数据或CPU要输出到外要输出到外设去的数据。这些数据是主机和外设之间交换的最基本的信息,长度一设去的数据。这些数据是主机和外设之间交换的最基本的信息,长度一般为

14、般为1-2字节,数据端口主要起数据缓冲的作用。字节,数据端口主要起数据缓冲的作用。状态端口:状态端口:状态端口是用来指示外设的当前状态。每种状态用状态端口是用来指示外设的当前状态。每种状态用1位表示,位表示,每个外设可以有几个状态位,它们可由每个外设可以有几个状态位,它们可由CPU读取,以测试或检查外设的读取,以测试或检查外设的状态,决定程序的流程。状态,决定程序的流程。控制端口:控制端口:它用来存放它用来存放CPU向接口发出的各种命令和控制字,以便控制向接口发出的各种命令和控制字,以便控制接口或设备的动作。常见的命令信息位有启动位、停止位、允许中断位接口或设备的动作。常见的命令信息位有启动位

15、、停止位、允许中断位等。接口芯片不同,控制字的格式和内容是各不相同的,常见的控制字等。接口芯片不同,控制字的格式和内容是各不相同的,常见的控制字有方式选择控制字,操作命令字等。有方式选择控制字,操作命令字等。13第七章:输入第七章:输入/ /输出接口和数据传输输出接口和数据传输I/OI/O端口和寻址方式端口和寻址方式I/O端口的寻址方式端口的寻址方式 CPU对外设的访问实质上是对对外设的访问实质上是对I/O接口电路中相应的端口进接口电路中相应的端口进行访问,因此和存储器那样,也需要由译码电路来形成行访问,因此和存储器那样,也需要由译码电路来形成I/O端口地址。端口地址。I/O端口的编址方式有两

16、种:端口的编址方式有两种:存储器映象编址方式存储器映象编址方式和和独立编址方式。独立编址方式。 存储器映像编制方式:存储器映像编制方式:在这种编址方式中,将外设接口地址和内部存在这种编址方式中,将外设接口地址和内部存储器地址统一安排在内存的地址空间中。即把内存地址分配给外设,储器地址统一安排在内存的地址空间中。即把内存地址分配给外设,由外设来占用这些地址。用于外设的这些地址,存储器不能再使用。由外设来占用这些地址。用于外设的这些地址,存储器不能再使用。独立编制方式:独立编制方式:在这种编址方式中,内存地址空间和外设地址空间是在这种编址方式中,内存地址空间和外设地址空间是相互独立的。例如,在相互

17、独立的。例如,在8086CPU8086CPU中,内存地址是连续的中,内存地址是连续的1M1M字节,从字节,从00000H00000HFFFFFHFFFFFH,而外设的地址范围从,而外设的地址范围从0000H0000HFFFFHFFFFH。它们相互独。它们相互独立,互不影响。立,互不影响。14第七章:输入第七章:输入/ /输出接口和数据传输输出接口和数据传输I/OI/O端口和寻址方式端口和寻址方式I/O端口的寻址方式端口的寻址方式 存储存储单元单元存储器映像编址存储器映像编址I/O端口端口2201M内存单元内存单元21664KI/O端端口口独立编址方式独立编址方式15第七章:输入第七章:输入/

18、/输出接口和数据传输输出接口和数据传输1. 输入输入/输出接口功能输出接口功能2. CPU和输入输出设备间的信号和输入输出设备间的信号3. 接口部件的接口部件的I/O端口和寻址方式端口和寻址方式4. CPU和外设间的数据传送方式和外设间的数据传送方式16第七章:输入第七章:输入/ /输出接口和数据传输输出接口和数据传输数据传送方式数据传送方式 在计算机的操作过程中,最基本的最大量在计算机的操作过程中,最基本的最大量的操作是数据传送。在微机系统中,数据主要在的操作是数据传送。在微机系统中,数据主要在CPU、存储器和、存储器和I/O接口之间传送,在数据传送接口之间传送,在数据传送过程中,关键问题是

19、数据传送的控制方式,微机过程中,关键问题是数据传送的控制方式,微机系统中的数据传送的控制方式主要有系统中的数据传送的控制方式主要有软件传送方软件传送方式式(程序控制方式程序控制方式)和和硬件传送方式硬件传送方式(主要是主要是DMA直接存储器存取直接存储器存取)方式方式。其中,程序控制方式又包。其中,程序控制方式又包括:括:无条件传送方式无条件传送方式、查询传送方式查询传送方式和和中断传送中断传送方式方式。17第七章:输入第七章:输入/ /输出接口和数据传输输出接口和数据传输数据传送方式数据传送方式无条件传送方式无条件传送方式 无条件传送方式也称为同步传送方式,主要用于对简单外设进无条件传送方式

20、也称为同步传送方式,主要用于对简单外设进行操作,或者外设的定时是固定的或已知的场合。也就是说,这类外行操作,或者外设的定时是固定的或已知的场合。也就是说,这类外设在任何时刻均已准备好数据或处于接收数据状态,或者在某些固定设在任何时刻均已准备好数据或处于接收数据状态,或者在某些固定时刻,它们处在数据就绪或准备接收状态,因此程序可以不必检查外时刻,它们处在数据就绪或准备接收状态,因此程序可以不必检查外设的状态,而在需要进行输入或输出操作时,直接执行输入输出指令。设的状态,而在需要进行输入或输出操作时,直接执行输入输出指令。 无条件传送方式一般用于控制无条件传送方式一般用于控制CPU与低速接口之间的

21、信息交与低速接口之间的信息交换换.例如开关、温度、压力流量等例如开关、温度、压力流量等(A/D)转换器。由于这些信号变换转换器。由于这些信号变换缓慢,当需要采集这些数据时,外设已经将数据准备就绪了,因此无缓慢,当需要采集这些数据时,外设已经将数据准备就绪了,因此无需检查端口的状态,就可以立即采集数据。由于数据保持时间相对于需检查端口的状态,就可以立即采集数据。由于数据保持时间相对于CPU的处理时间长得多,故输入端可直接用输入缓冲器与的处理时间长得多,故输入端可直接用输入缓冲器与CPU的数的数据总线相连。若外设是输出设备,一般要求接口有锁存能力,也就是据总线相连。若外设是输出设备,一般要求接口有

22、锁存能力,也就是CPU送给外设的数据应该在接口中保持一段时间,其原因是外设的送给外设的数据应该在接口中保持一段时间,其原因是外设的速度较慢,所以要求速度较慢,所以要求CPU送到接口的数据能保持到外设动作相适应送到接口的数据能保持到外设动作相适应的时间。的时间。18第七章:输入第七章:输入/ /输出接口和数据传输输出接口和数据传输数据传送方式数据传送方式无条件传送方式无条件传送方式【例【例6-1】图中外设是简单的发光二极管】图中外设是简单的发光二极管.此外设的接口是用锁存器来实现的此外设的接口是用锁存器来实现的。锁存锁存器在打入脉冲器在打入脉冲CP上升沿将输入端上升沿将输入端D的数据锁存在它的输

23、出的数据锁存在它的输出Q端。编写点亮二极管端。编写点亮二极管的程序。的程序。 (端口地址为(端口地址为0000H) MOVAL,81HMOVDX,0000H;送端口地址送端口地址OUTDX,AL ;点亮发光二极管点亮发光二极管19第七章:输入第七章:输入/ /输出接口和数据传输输出接口和数据传输数据传送方式数据传送方式无条件传送方式无条件传送方式【例例6-26-2】类似于例类似于例6-16-1中,让接在中,让接在Q Q0 0Q Q7 7上的二极管自上而下轮流点亮上的二极管自上而下轮流点亮3s3s,编写程,编写程序实现。序实现。MOVAL,01H;使使Q0为为1,LED0先亮先亮LOP:OUT0

24、000H,AL;将信息送将信息送0000H端口端口CALLDELAY;调用延时调用延时3S子程序子程序ROLAL,1;小循环左移小循环左移1位位JMPLOP;循环点亮循环点亮LED20第七章:输入第七章:输入/ /输出接口和数据传输输出接口和数据传输数据传送方式数据传送方式查询传送方式查询传送方式 查询传送也称条件方式传送,用查询方式传送时,查询传送也称条件方式传送,用查询方式传送时,CPU通过通过执行程序不断读取并测试外设的状态,如果外设处于准备好状态执行程序不断读取并测试外设的状态,如果外设处于准备好状态(输输入设备入设备)或者空闲状态或者空闲状态(输出设备输出设备),则,则CPU执行输入

25、指令或输出指令执行输入指令或输出指令与外设交换信息。因此,接口电路除了有传送数据的端口,还要求有与外设交换信息。因此,接口电路除了有传送数据的端口,还要求有传送状态的端口。对于条件传送来说,一个数据传送过程由传送状态的端口。对于条件传送来说,一个数据传送过程由3个环节个环节组成:组成: CPU从接口中读取状态字;从接口中读取状态字; CPU检测状态字的对应位是否满足检测状态字的对应位是否满足“就绪就绪”的条件,如果不满足,的条件,如果不满足,则回到前一步读取状态字;则回到前一步读取状态字; 如状态字表明外设已处于如状态字表明外设已处于“就绪就绪”状态,则传送数据状态,则传送数据。 21第七章:

26、输入第七章:输入/ /输出接口和数据传输输出接口和数据传输数据传送方式数据传送方式查询传送方式查询传送方式 22第七章:输入第七章:输入/ /输出接口和数据传输输出接口和数据传输数据传送方式数据传送方式查询传送方式查询传送方式 23第七章:输入第七章:输入/ /输出接口和数据传输输出接口和数据传输数据传送方式数据传送方式查询传送方式查询传送方式 【例例6-36-3】现欲将现欲将48000H48000H为为首地址的顺序首地址的顺序100100个单元个单元的数据,利用查询方式输的数据,利用查询方式输出到外设。外设经输入输出到外设。外设经输入输出接口与出接口与80868086的系统总线的系统总线连接

27、。连接。CPUCPU通过三态接口通过三态接口(74LS244)(74LS244)可以查询外设可以查询外设的状态,而且当外设状态的状态,而且当外设状态信号信号=1=1时,可以接收时,可以接收CPUCPU由锁存器由锁存器(74LS273)(74LS273)输出输出的数据。的数据。=0=0时,表示外设时,表示外设处于忙状态,不能接收数处于忙状态,不能接收数据。(两个端口地址都是据。(两个端口地址都是00FFH00FFH) 24第七章:输入第七章:输入/ /输出接口和数据传输输出接口和数据传输数据传送方式数据传送方式查询传送方式查询传送方式START:MOVAX,4000HMOVDS,AXMOVSI,

28、8000HMOVCX,100GOON:MOVDX,00FFHWAIT:INAL,DXANDAL,01HJZWAITMOVAL,SIOUTDX,ALINCSILOOP GOONRET 25第七章:输入第七章:输入/ /输出接口和数据传输输出接口和数据传输数据传送方式数据传送方式查询传送方式查询传送方式当系统中有多个外设时当系统中有多个外设时查询方式如何工作?查询方式如何工作? 由图可见,由图可见,CPU逐个外设进逐个外设进行查询。若发现那个外设准备就绪,行查询。若发现那个外设准备就绪,就对该外设实施数据传送。然后再就对该外设实施数据传送。然后再对下一外设查询,依次循环。结果,对下一外设查询,依次

29、循环。结果,在查询过程中,在查询过程中,CPU不能做别的不能做别的事情,这就大大降低了事情,这就大大降低了CPU的效的效率。而且,假如某一外设刚好在查率。而且,假如某一外设刚好在查询过后处于就绪状态,那么它必须询过后处于就绪状态,那么它必须等到等到CPU查询完所有外设,再次查询完所有外设,再次查询此外设时才能发现它处于就绪查询此外设时才能发现它处于就绪状态,而后对此外设服务。这样就状态,而后对此外设服务。这样就不能对外设进行实时数据交换,这不能对外设进行实时数据交换,这对许多实时性要求较高的外设来说,对许多实时性要求较高的外设来说,就有可能丢失数据。就有可能丢失数据。26第七章:输入第七章:输

30、入/ /输出接口和数据传输输出接口和数据传输数据传送方式数据传送方式查询传送方式查询传送方式优点:优点:接口电路和程序设计都较为简单,容易实现。接口电路和程序设计都较为简单,容易实现。缺点:缺点:CPU外设不能并行工作,外设不能并行工作,CPU的效率低,外设得不到及的效率低,外设得不到及时响应。时响应。适用场合:适用场合:这种传送方式适用于一般工作速度较慢的外设,特这种传送方式适用于一般工作速度较慢的外设,特别是外设数量不多,实时性要求不高的场合。别是外设数量不多,实时性要求不高的场合。 27第七章:输入第七章:输入/ /输出接口和数据传输输出接口和数据传输数据传送方式数据传送方式中断传送方式

31、中断传送方式 中断传送方式会在每次外设准备好或空闲时,主动向中断传送方式会在每次外设准备好或空闲时,主动向CPU发出中断请求,以示要传送数据,发出中断请求,以示要传送数据,CPU响应该请求后,执行中断响应该请求后,执行中断服务程序,实现与外设的数据传送。其工作过程简述如下:服务程序,实现与外设的数据传送。其工作过程简述如下: 暂停主程序,实现程序的转移,即中断响应;暂停主程序,实现程序的转移,即中断响应; 保护和恢复有关寄存器的内容;保护和恢复有关寄存器的内容; 执行执行I/O操作,并实现内存操作,并实现内存累加器累加器端口之间的传送;端口之间的传送; 实现中断返回。实现中断返回。 28第七章

32、:输入第七章:输入/ /输出接口和数据传输输出接口和数据传输数据传送方式数据传送方式中断传送方式中断传送方式 CPU数据缓冲器数据锁存器输入设备D70D70D70地址译码电路地址线INTRCPU数据锁存器输出设备D70D70地址译码电路地址线中断输出方式中断输入方式准备好准备好29第七章:输入第七章:输入/ /输出接口和数据传输输出接口和数据传输数据传送方式数据传送方式中断传送方式中断传送方式优点:优点:系统的工作效率高,系统的工作效率高,CPU、I/O设备可以并行工作,外设设备可以并行工作,外设可以主动向可以主动向CPU请求,能够得到请求,能够得到CPU的及时响应。的及时响应。缺点:缺点:每

33、次传送数据,每次传送数据,CPU都要做许多额外的工作,传送速度都要做许多额外的工作,传送速度仍然不是很快。仍然不是很快。适用场合:适用场合:这种方式适用于一般工作速度不是很快的外设,特这种方式适用于一般工作速度不是很快的外设,特别是实时控制、检测场合。别是实时控制、检测场合。 30第七章:输入第七章:输入/ /输出接口和数据传输输出接口和数据传输数据传送方式数据传送方式DMA(Direct Memory Access)控制方式控制方式 中断控制的中断控制的I/O虽然克服了查询方式虽然克服了查询方式I/O的缺点,能够快速响应的缺点,能够快速响应I/O传传送的请求,但是送的请求,但是I/O设备的服

34、务仍然是由软件实现,为完成一个字节设备的服务仍然是由软件实现,为完成一个字节(字字)的数的数据传送,据传送,CPU必须执行很多额外的工作。当要求快速进行数据传送的场合,必须执行很多额外的工作。当要求快速进行数据传送的场合,执行上述过程已无法满足系统实时性的要求。这时可以采用直接存储器存取,执行上述过程已无法满足系统实时性的要求。这时可以采用直接存储器存取,由由DMA控制器实现外设控制器实现外设存储器间的直接传送。存储器间的直接传送。 采用采用DMA方式传送数据时,需要一块专门的硬件电路方式传送数据时,需要一块专门的硬件电路(通常叫通常叫DMA控制器控制器)对整个数据传送过程进行管理。这种控制器

35、能给出访问内存所需要的对整个数据传送过程进行管理。这种控制器能给出访问内存所需要的地址信息,并能自动修改地址指针,也能设定和修改传送的字节数,还能向存地址信息,并能自动修改地址指针,也能设定和修改传送的字节数,还能向存储器和外设发出相应的读储器和外设发出相应的读/写控制信号。在写控制信号。在DMA传送结束后,它能释放总线,传送结束后,它能释放总线,把对总线的控制权又交还给把对总线的控制权又交还给CPU。因此采用。因此采用DMA方式传输数据时,不需要进方式传输数据时,不需要进行保护和恢复断点及现场之类的额外操作,一旦进入行保护和恢复断点及现场之类的额外操作,一旦进入DMA操作,就可直接在操作,就

36、可直接在硬件的控制下快速完成一批数据的交换任务,数据传送的速度基本上取决于外硬件的控制下快速完成一批数据的交换任务,数据传送的速度基本上取决于外设和存储器的存取速度。设和存储器的存取速度。31第七章:输入第七章:输入/ /输出接口和数据传输输出接口和数据传输数据传送方式数据传送方式DMA(Direct Memory Access)控制方式控制方式 32DMA控制器控制器8237 为了提高数据传送的速率,人们提出了直接存储器存取为了提高数据传送的速率,人们提出了直接存储器存取(DMA)的数据传送控制方式,即在一定时间段内,由的数据传送控制方式,即在一定时间段内,由DMA控制器取代控制器取代CPU

37、,获得总线控制权,来实现内存与外设或者内存的不同区域之获得总线控制权,来实现内存与外设或者内存的不同区域之间大量数据的快速传送。间大量数据的快速传送。典型的典型的DMAC的的工作电路如右图工作电路如右图所示。所示。33DMA数据传送的工作过程数据传送的工作过程: (1) 外设向外设向DMAC发出发出DMA传送请求。传送请求。 (2)DMAC通过连接到通过连接到CPU的的HOLD信号向信号向CPU提出提出DMA请求。请求。 (3)CPU在完成当前总线操作后会立即对在完成当前总线操作后会立即对DMA请求做出响应。请求做出响应。CPU的响应包括两个方面:一方面,的响应包括两个方面:一方面,CPU将控

38、制总线、数据总线和将控制总线、数据总线和地址总线浮空,即放弃对这些总线的控制权;另一方面,地址总线浮空,即放弃对这些总线的控制权;另一方面,CPU将有将有效的效的HLDA信号加到信号加到DMAC上,用此来通知上,用此来通知DMAC,CPU已经放弃已经放弃了总线的控制权。了总线的控制权。 (4)待)待CPU将总线浮空,即放弃了总线控制权后,由将总线浮空,即放弃了总线控制权后,由DMAC接管接管系统总线的控制权,并向外设送出系统总线的控制权,并向外设送出DMA的应答信号。的应答信号。 (5)由)由DMAC送出地址信号和控制信号,实现外设与内存或内存送出地址信号和控制信号,实现外设与内存或内存不同区

39、域之间大量数据的快速传送。不同区域之间大量数据的快速传送。 (6)DMAC将规定的数据字节传送完之后,通过向将规定的数据字节传送完之后,通过向CPU发发HOLD信号,撤消对信号,撤消对CPU的的DMA请求。请求。CPU收到此信号,一方面使收到此信号,一方面使HLDA无效,另一方面又重新开始控制总线,实现正常取指令、分无效,另一方面又重新开始控制总线,实现正常取指令、分析指令、执行指令的操作。析指令、执行指令的操作。34注意:注意:在内存与外设之间进行在内存与外设之间进行DMA传送期间,传送期间,DMAC控制器只是控制器只是输出地址及控制信号,而数据传送是直接在内存和外设端口之间进输出地址及控制

40、信号,而数据传送是直接在内存和外设端口之间进行的,并不经过行的,并不经过DMAC; 对于内存不同区域之间的对于内存不同区域之间的DMA传送,则应先用一个传送,则应先用一个DMA存储存储器读周期将数据从内存的源区域读出,存入到器读周期将数据从内存的源区域读出,存入到DMAC的内部数据暂的内部数据暂存器中,存器中,再利用一个再利用一个DMA存储器写周期将该数据写到内存的目的存储器写周期将该数据写到内存的目的区域中去。区域中去。 358237 的组成和工作原理的组成和工作原理一、一、DMA控制器芯片控制器芯片Intel 8237的性能概述的性能概述Intel8237是是8086/8088微机系统中常

41、用的微机系统中常用的DMAC芯片,有如下性能芯片,有如下性能:(1)含有)含有4个相互独立的通道,每个通道有独立的地址寄存器和字个相互独立的通道,每个通道有独立的地址寄存器和字节数寄存器,而控制寄存器、状态寄存器为四个通道所共用。节数寄存器,而控制寄存器、状态寄存器为四个通道所共用。(2)每个通道的)每个通道的DMA请求可以分别被允许请求可以分别被允许/禁止。禁止。(3)每个通道的)每个通道的DMA请求有不同的优先权,可以通过程序设置为请求有不同的优先权,可以通过程序设置为固定的或者是循环(旋转)的方式。固定的或者是循环(旋转)的方式。(4)通道中地址寄存器的长度为)通道中地址寄存器的长度为1

42、6位,因而一次位,因而一次DMA传送的最大传送的最大数据块的长度为数据块的长度为64K字节。字节。(5)8237有有4种工作方式,分别为:单字节传送、数据块传送、请种工作方式,分别为:单字节传送、数据块传送、请求传送、级连方式。求传送、级连方式。(6)允许用输入信号来结束)允许用输入信号来结束DMA传送或重新初始化。传送或重新初始化。(7)8237可以级连以增加通道数。可以级连以增加通道数。36DMA方式的适用场合方式的适用场合 (1)硬盘和软盘的输入)硬盘和软盘的输入 / 输出输出 (2)快速通信通道输入)快速通信通道输入 / 输出输出 (3)多处理机和多程序数据块传送)多处理机和多程序数据

43、块传送 (4)扫描操作(图象显示)扫描操作(图象显示) (5)高速数据采集。)高速数据采集。特点:特点: DMA方式适用于成组传送数据的场合,每次传送之前要对方式适用于成组传送数据的场合,每次传送之前要对DMAC进行初始化,进行初始化, CPU要对要对DMAC写入写入20-30个字节的控制字。个字节的控制字。缺点缺点:(1)DMA期间,期间,CPU不占总线,因而不能做其它工作。不占总线,因而不能做其它工作。(2)CPU对对DMAC初始化占有额外时间。初始化占有额外时间。(3)增加硬件,提高成本,使电路复杂。)增加硬件,提高成本,使电路复杂。 因此对于数据块短,需频繁因此对于数据块短,需频繁DM

44、AC初始化的场合,初始化的场合,CPU来得来得及处理的情况,就不必采用及处理的情况,就不必采用DMA方式。方式。37二、二、 8237的结构与引脚的结构与引脚38 8237的方框图如上页所示,主要包含以下几个部分:的方框图如上页所示,主要包含以下几个部分:1四个独立的四个独立的DMA通道通道 每个通道都有一个每个通道都有一个16位的基地址寄存器、一个位的基地址寄存器、一个16位的基字位的基字节数计数器、一个节数计数器、一个16位的当前地址寄存器和一个位的当前地址寄存器和一个16位的当前字位的当前字节数计数器及一个节数计数器及一个8位的方式寄存器,方式寄存器接收并保存来位的方式寄存器,方式寄存器

45、接收并保存来自于自于CPU的方式控制字,使本通道能够工作于不同的方式下;的方式控制字,使本通道能够工作于不同的方式下;2定时及控制逻辑电路定时及控制逻辑电路 对在对在DMA请求服务之前,请求服务之前,CPU编程对给定的命令字和方编程对给定的命令字和方式控制字进行译码,以确定式控制字进行译码,以确定DMA的工作方式,并控制产生所需的工作方式,并控制产生所需要的定时信号;要的定时信号;3优先级编码逻辑优先级编码逻辑 对通道进行优先级编码,确定在同时接收到不同通道的对通道进行优先级编码,确定在同时接收到不同通道的DMA请求时,能够确定相应的先后次序。通道的优先级可以通请求时,能够确定相应的先后次序。

46、通道的优先级可以通过编程确定为是固定的或者是循环的。过编程确定为是固定的或者是循环的。394 4共用寄存器共用寄存器 除了每个通道中的寄存器之外,整个芯片还有一些共用的除了每个通道中的寄存器之外,整个芯片还有一些共用的的寄存器:包括的寄存器:包括1 1个个1616位的地址暂存寄存器,位的地址暂存寄存器,1 1个个1616位的字节数位的字节数暂存寄存器,暂存寄存器,1 1个个8 8位的状态寄存器,位的状态寄存器,1 1个个8 8位的命令寄存器,位的命令寄存器,1 1个个8 8位的暂存寄存器,位的暂存寄存器,1 1个个4 4位的屏蔽寄存器和位的屏蔽寄存器和1 1个个4 4位的请求寄存器位的请求寄存

47、器等。等。 82378237内部寄存器的类型和数量如下表所示,其中,凡数量内部寄存器的类型和数量如下表所示,其中,凡数量为为4 4个的寄存器,则每个通道一个,凡数量只有一个的,则为各个的寄存器,则每个通道一个,凡数量只有一个的,则为各通道所公用。通道所公用。5 582378237的数据引线,地址引线的数据引线,地址引线都有三态缓冲器,因而可以接也都有三态缓冲器,因而可以接也可以释放总线。可以释放总线。 40寄存器名长度(Bit )数量基地址寄存器164基字节数寄存器164当前地址寄存器164当前字节数寄存器164地址暂存寄存器161字节数暂存寄存器161状态寄存器81命令寄存器81暂存寄存器8

48、1方式寄存器64屏蔽寄存器41请求寄存器41411 40 8237 20 21 IOR IOW MEMR MEMW N C R EAD Y H LD A AD STB AEN H R Q C S C LK R ESET D AC K2 D AC K3 D R EQ3 D R EQ2 D R EQ1 D R EQ0 GN D A7 A6 A5 A4 EOP A3 A2 A1 A0 Vcc D B0 D B1 D B2 D B3 D B4 D AC K0 D AC K1 D B5 D B6 D B7 428237( 40DIP )的引脚功能如下:的引脚功能如下: 1CLK:时钟信号输入引脚,对于标

49、准的时钟信号输入引脚,对于标准的8237,其输入时钟频率,其输入时钟频率为为3MHz,对于对于8237-2,其输入时钟频率可达,其输入时钟频率可达5MHz。 2CS:芯片选择信号,输入引脚。芯片选择信号,输入引脚。 3RESET:复位信号,输入引脚,用来清除复位信号,输入引脚,用来清除8237中的命令、状中的命令、状态请求和临时寄存器,且使字节指针触发器复位并置位屏蔽触发器态请求和临时寄存器,且使字节指针触发器复位并置位屏蔽触发器的所有位(即使所有通道工作在屏蔽状态),在复位之后,的所有位(即使所有通道工作在屏蔽状态),在复位之后,8237工工作于空闲状态作于空闲状态。 4READY:外设向外

50、设向8237提供的高电平有效的提供的高电平有效的“准备好准备好”信号输信号输入引脚,若入引脚,若8237在在S3状态以后的时钟下降沿检测到状态以后的时钟下降沿检测到READY为低电为低电平,则说明外设还未准备好下一次平,则说明外设还未准备好下一次DMA操作,需要插入操作,需要插入SW状态,状态,直到直到READY引脚出现高电平为止。引脚出现高电平为止。 5DREQ0DREQ3:外设的外设的DMA请求信号输入引脚,对应于四请求信号输入引脚,对应于四个独立的通道,个独立的通道,DREQ的有效电平可以通过编程来加以确定,优先的有效电平可以通过编程来加以确定,优先级可以固定,也可以循环。级可以固定,也

51、可以循环。436DACK0DACK3:对相应通道对相应通道DREQ请求输入信号,请求输入信号,DMAC的的应答信号输出引脚。应答信号输出引脚。7HRQ:8237向向CPU提出提出DMA请求的输出信号引脚,高电平有效。请求的输出信号引脚,高电平有效。8HLDA:CPU对对HRQ请求信号的应答信号输入引脚,高电平有请求信号的应答信号输入引脚,高电平有效。效。9DB0DB7:8条双向三态数据总线引脚。在条双向三态数据总线引脚。在CPU控制系统总线时,控制系统总线时,可以通过可以通过DB0DB7对对8237编程或读出编程或读出8237的内部状态寄存器的内容;的内部状态寄存器的内容;在在DMA操作期间,

52、由操作期间,由DB0DB7输出高输出高8位地址信号位地址信号A8A15,并利用并利用ADSTB信号锁存该地址信号。在进行内存不同区域之间的信号锁存该地址信号。在进行内存不同区域之间的DMA传传送时,除了送出送时,除了送出A8A15地址信号外,还分时输入从存储器源区域读地址信号外,还分时输入从存储器源区域读出的数据,送入出的数据,送入8237的暂存寄存器中,等到存储器写周期时,再将的暂存寄存器中,等到存储器写周期时,再将这些数据通过这这些数据通过这8个引脚,由个引脚,由8237的暂存寄存器送到系统数据总线的暂存寄存器送到系统数据总线上,然后写入到规定的存储单元中去。上,然后写入到规定的存储单元中

53、去。10A3A0 :4条双向三态的低位地址信号引脚。在空闲周期,接条双向三态的低位地址信号引脚。在空闲周期,接收来自于收来自于CPU的四位地址信号,用以寻址的四位地址信号,用以寻址8237内部的不同的寄存器内部的不同的寄存器(组组);在;在DMA传送时,输出要访问的存储单元或者传送时,输出要访问的存储单元或者I/O端口地址的端口地址的低低4位。位。4411A7A4:4条三态地址信号输出引脚。在条三态地址信号输出引脚。在DMA传送时,输出要传送时,输出要访问的存储单元或者访问的存储单元或者I/O端口地址的中端口地址的中4位。位。12IOR:低电平有效的双向三态信号引脚。在非低电平有效的双向三态信

54、号引脚。在非DMA周期,它是周期,它是一条输入控制信号,一条输入控制信号,CPU利用这个信号读取利用这个信号读取8237内部状态寄存器的内部状态寄存器的内容;而在内容;而在DMA传送时,它是读端口控制信号输出引脚,与相配传送时,它是读端口控制信号输出引脚,与相配合,使数据由外设传送到内存。合,使数据由外设传送到内存。13IOW:低电平有效的双向三态信号引脚,写信号,其功能与低电平有效的双向三态信号引脚,写信号,其功能与 IOR 相对应。相对应。14MEMR:低电平有效的双向三态信号引脚,用于低电平有效的双向三态信号引脚,用于DMA传送,传送,控制存储器的读操作。控制存储器的读操作。15MEMW

55、:低电平有效的双向三态信号引脚,用于低电平有效的双向三态信号引脚,用于DMA传送,传送,控制存储器的写操作。控制存储器的写操作。16AEN:高电平有效的输出信号引脚,由它把锁存在外部锁存器高电平有效的输出信号引脚,由它把锁存在外部锁存器中的高中的高8位地址送入系统的地址总线,同时禁止其它系统驱动器使位地址送入系统的地址总线,同时禁止其它系统驱动器使用系统总线。用系统总线。4517ADSTB:高电平有效的输出信号引脚,此信号把高电平有效的输出信号引脚,此信号把DB7DB0上输上输出的高出的高8位地址信号锁存到外部锁存器中。位地址信号锁存到外部锁存器中。18EOP:双向,当字节数计数器减为双向,当

56、字节数计数器减为0时,在上输出一个有效的时,在上输出一个有效的低电平脉冲,表明低电平脉冲,表明DMA传送已经结束;也可接收外部的信号,强传送已经结束;也可接收外部的信号,强行结束行结束8237的的DMA操作或者重新进行操作或者重新进行8237的初始化。当不使用端的初始化。当不使用端时,应通过数千时,应通过数千的电阻接到高电平上,以免由它输入干扰信号。的电阻接到高电平上,以免由它输入干扰信号。19+5V、GND及及N/C引脚引脚三、三、 8237的的工作方式工作方式82378237的各个通道在进行的各个通道在进行DMADMA传送时,有四种工作方式:传送时,有四种工作方式:1 1单字节传送方式单字

57、节传送方式 每次每次DMADMA操作仅传送一个字节的数据,完成一个字节的数据传操作仅传送一个字节的数据,完成一个字节的数据传送后,送后,82378237将当前地址寄存器的内容加将当前地址寄存器的内容加1(1(或减或减1)1),并将当前字节数,并将当前字节数寄存器的内容减寄存器的内容减1 1,每传送完这一个字节,每传送完这一个字节,DMACDMAC就将总线控制权交就将总线控制权交回回CPUCPU。462 2数据块传送数据块传送 在这种传送方式下,在这种传送方式下,DMACDMAC一旦获得总线控制权,便开始连续传一旦获得总线控制权,便开始连续传送数据。每传送一个字节,自动修改当前地址及当前字节数寄

58、存器送数据。每传送一个字节,自动修改当前地址及当前字节数寄存器的内容,直到将所有规定的字节全部传送完,或收到外部信号,的内容,直到将所有规定的字节全部传送完,或收到外部信号,DMACDMAC才结束传送,将总线控制权交给才结束传送,将总线控制权交给CPUCPU,一次所传送数据块的最一次所传送数据块的最大长度可达大长度可达64KB64KB,数据块传送结束后可自动初始化。数据块传送结束后可自动初始化。3 3请求传送请求传送 只要只要DREQDREQ有效,有效,DMADMA传送就一直进行,直到连续传送到字节计数传送就一直进行,直到连续传送到字节计数器为器为0 0或外部输入使变低或或外部输入使变低或DR

59、EQDREQ变为无效时为止。变为无效时为止。4 4级联方式级联方式 利用这种方式可以把多个利用这种方式可以把多个82378237连接在一起,以便扩充系统的连接在一起,以便扩充系统的DMADMA通道数。下一级的通道数。下一级的HRQHRQ接到上一级的某一通道的接到上一级的某一通道的DREQDREQ上,而上一上,而上一级的响应信号级的响应信号DACKDACK可接下一级的可接下一级的HLDAHLDA上上(P424)。在级联方式下,当第二级在级联方式下,当第二级82378237的请求得到响应时,第一级的请求得到响应时,第一级82378237仅应仅应输出输出HRQHRQ信号而不能输出地址及控制信号,因为

60、,第二级的信号而不能输出地址及控制信号,因为,第二级的82378237才才是真正的主控制器,而第一级的是真正的主控制器,而第一级的82378237仅应起到传递仅应起到传递DREQDREQ请求信号及请求信号及DACKDACK应答信号的作用。应答信号的作用。47四、四、 8237的的DMA传输类型传输类型 DMA所支持的所支持的DMA传送,可以在传送,可以在I/O接口到存储器;存储器到接口到存储器;存储器到I/O接口及内存的不同区域之间进行,它们具有不同的特点,所需接口及内存的不同区域之间进行,它们具有不同的特点,所需要的控制信号也不相同。要的控制信号也不相同。1I/O接口到存储器的传送接口到存储

温馨提示

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

评论

0/150

提交评论