计算机组成原理第八章第4讲DMA方式课件.ppt
DMA,方式,8.4 DMA,方式,8.4.1 DMA,方式的一般概念,8.4.2 DMA,传送方式,8.4.3 DMA,传送一个数据的过程,8.4.1DMA,方式的一般概念,?,?,?,直接存储器访问(,Direct Memory Access,),DMA,方式是为了在主存储器与,I,O,设备间高速,交换批量数据而设置的。,基本思想是:通过,硬件控制,实现主存与,I,O,设,备间的直接数据传送,在传送过程中无需,CPU,的干预。数据传送是在,DMA,控制器控制下进行,的,,优点:完全硬件实现,速度快。有利于发挥,CPU,的效率。,8.4.1DMA,方式的一般概念,?,过程描述:,?,由,DMA,控制器给出当前正在传送的数据的主存地址,,并统计传送数据的个数以确定一组数据的传送是否,已结束。在主存中要开辟连续地址的专用缓冲器,,用来提供或接收传送的数据。在数据传送前和结束,后要通过程序或中断方式对缓冲器和,DMA,控制器进,行预处理和后处理。,8.4.1DMA,方式的一般概念,DMA,基本操作:,?,?,?,?,(1),从外围设备发出,DMA,请求;,(2)CPU,响应请求,把,CPU,工作改成,DMA,操作,方式,,DMA,控制器从,CPU,接管总线的控制;,(3),由,DMA,控制器对内存寻址,即决定数据传送,的内存单元地址及数据传送个数的计数,并执,行数据传送的操作;,(4),向,CPU,报告,DMA,操作的结束。,?,思考:,?,DMA,正在完成,I/O,操作时,,CPU,在干什么?,?,二者同时有访存需求,怎么办?,8.4.2 DMA,传送方式,1,、停止,CPU,访问内存。,?,?,主机响应,DMA,请求后,让出存储总线,直到一组数,据传送完毕后,,DMA,控制器才把总线控制权交还给,CPU,。,采用这种工作方式的,I,O,设备,在其接口中一般设,置有小容量存储器,,I,O,设备先与小容量存储器交,换数据,然后由小容量存储器与主机交换数据,这,样可减少,DMA,传送占用存储总线的时间,也即减少,了,CPU,暂停工作的时间。,8.4.2 DMA,传送方式,?,优点,:,控制流程简单。,?,缺点,:,在,DMA,控制器,I/O,访内阶段,内存的,效能没有充分发挥,相当一部分内存工作,周期是空闲的。,?,仅适用于:数据传输率很高的设备进行成,组传送,8.4.2 DMA,传送方式,?,2,、周期挪用方式,?,DMA,控制器与主存储器之间传送一个数据,,占用一个内存周期,即,CPU,暂停访存工作,一个周期,然后继续执行程序。,8.4.2 DMA,传送方式,I/O,设备要求,DMA,传送时可能遇到两种情况,:,?,(1)CPU,不需要访内,如,CPU,正在执行乘法指令。,由于乘法指令执行时间较长,此时,I/O,访内与,CPU,访内没有冲突,即,I/O,设备挪用一二个内存周期对,CPU,执行程序没有任何影响。,?,(2)CPU,也要求访内时,这就产生了访内冲突,在,这种情况下,I/O,设备访内优先,因为,I/O,访内有时间,要求,前一个,I/O,数据必须在下一个访内请求到来,之前存取完毕。显然,在这种情况下,I/O,设备挪用,一二个内存周期,意味着,CPU,延缓了对指令的执,行,或者更明确地说,在,CPU,执行访内指令的过,程中插入,DMA,请求,挪用了一二个内存周期。,8.4.2 DMA,传送方式,?,优点:既实现了,I/O,传送,又较好地发挥了,内存和,CPU,的效率,?,缺点:每次传送都要申请总线控制权,建,立总线控制权,归还总线控制权。,?,适用于:,I/O,设备读写周期大于内存存储周,期的情况,8.4.2 DMA,传送方式,?,停止,CPU,访存和周期挪用的区别,?,?,前者:外设需传送一批数据到内存时,,DMA,独,占总线、内存等资源,一直到该任务完成,后者:当外设信息被读取后要写入内存时,才,申请总线、访存权限,完成写入,而后释放,,等到下批数据被读出时,又再申请权限、资源,,写入内存。,8.4.2 DMA,传送方式,?,3,、,DMA,和,CPU,交替访问内存工作方式,?,?,?,如果,CPU,的工作周期比内存存取周期长,很多,可以采用该种方法,指令周期包含若干,CPU,周期,,CPU,周期,中访内周期只占整个周期一部分,(eg.C1),,,另外一部分时间,(eg.C2),可交由,DMA,访内,,此时,DMA,与,CPU,并行工作。,不需要总线控制权的申请、建立与归还。,通过,C1,、,C2,分时控制,总线控制权的转,移速度快,,DMA,效率高。,8.4.2 DMA,传送方式,?,CPU,和,DMA,控制器各自有自己的访内地址,寄存器、数据寄存器和读,/,写信号等控制寄,存器。在,C1,周期中,如果,DMA,控制器有访,内请求,可将地址、数据等信号送到总线,上。在,C2,周期中,如,CPU,有访内请求,同,样传送,地址、数据等信号。,8.4.2 DMA,传送方式,?,优点:总线控制权的转移不需要时间,,DMA,传送高效,?,缺点:硬件逻辑实现复杂,?,适用于:,CPU,的工作周期比内存存取周期,长很多的情况。,8.4.3,基本,DMA,控制器,1,、,DMA,基本构成,(1),内存地址计数器,用于存放内存中要交换的数,据的地址。在,DMA,传送前,须通过程序将数据在,内存中的起始位置,(,首地址,),送到内存地址计数器。,而当,DMA,传送时,每交换一次数据,将地址计数,器加“,1”,,从而以增量方式给出内存中要交换的,一批数据的地址。,1,、,DMA,基本构成,(2),字计数器,用于记录传送数据块的长度,(,多,少字数,),。其内容也是在数据传送之前由程,序预置,交换的字数通常以补码形式表示。,在,DMA,传送时,每传送一个字,字计数器,就加“,1”,,当计数器溢出即最高位产生进,位时,表示这批数据传送完毕,于是引起,DMA,控制器向,CPU,发中断信号。,1,、,DMA,基本构成,(3),数据缓冲寄存器,用于暂存每次传送的数据,(,一个,字,),。当输入时,由设备,(,如磁盘,),送往数据缓冲寄,存器,再由缓冲寄存器通过数据总线送到内存。,反之,输出时,由内存通过数据总线送到数据缓,冲寄存器,然后再送到设备。,1,、,DMA,基本构成,(4)“DMA,请求”标志,每当设备准备好一个数据字后,给出一个控制信号,使“,DMA,请求”,标志置“,1”,。,该标志置位后向“控制,/,状态”逻辑发出,DMA,请求,,后者又向,CPU,发出总线使用权的请求,(HOLD),,,CPU,响应此请求后发回响应信号,HLDA,,“控制,/,状态”逻辑接收此信号后发出,DMA,响应信号,使,“,DMA,请求”标志复位,为交换下一个字做好准,备。,1,、,DMA,基本构成,(5)“,控制,/,状态”逻辑,由控制和时序电路以及,状态标志等组成,用于修改内存地址计数,器和字计数器,指定传送类型,(,输入或输出,),,,并对“,DMA,请求”信号和,CPU,响应信号进,行协调和同步。,1,、,DMA,基本构成,(6),中断机构,当字计数器溢出时,(,全,0),,意味着一组,数据交换完毕,由溢出信号触发中断机构,向,CPU,提出中断报告。这里的中断与上一节介绍的,I/O,中断所采用的技术相同,但中断的目的不同,,前面是为了数据的输入或输出,而这里是为了报,告一组数据传送结束。因此它们是,I/O,系统中不同,的中断事件。,8.4.3,基本,DMA,控制器,2,、传送过程,当外设有,DMA,请求时,通常,CPU,在本机器,周期结束后,响应,DMA,请求。,传送一个数据块可以分为三个阶段:,-,传送前预处理,-,正式传送,-,传送后处理,8.4.3,基本,DMA,控制器,?,预处理阶段:,?,第一阶段是进行初始化,启动设备、测试,设备。,CPU,通过程序,I,O,的方式给,DMA,控制器预置初值,取状态和送传送需要的,有关参数。其中包括内存地址计数器和字,计数器的初值。,8.4.3,基本,DMA,控制器,?,正式传送阶段:,?,由,DMA,控制器控制外设与主存之间的数据交换。,8.4.3,基本,DMA,控制器,?,正式传送阶段详解(停止,CPU,访问内存方,式),8.4.3,基本,DMA,控制器,?,传送后处理阶段:,?,第三阶段即,CPU,中断原程序后进行后处理。若,需要继续交换数据,则又要对,DMA,进行初始化;,若不需要交换数据,则停止外设;若为出错,,则转错误诊断及处理程序。,?,思考:,如果有多个设备提出,DMA,传送请求,该,怎么处置?,来看,8.4.4,选择型、多路型,DMA,控制器,8.4.4,选择型和多路型,DMA,控制器,1.,选择型,DMA,控制器,?,选择型,DMA,控制器在物理上可以连接,多个设备,而在逻辑上只允许连接一个设,备。在某一段时间内只能为一个设备服务。,8.4.4,选择型和多路型,DMA,控制器,?,要点:在第一阶段要给出所选择的,设备号,8.4.4,选择型和多路型,DMA,控制器,?,优点:只增加少量硬件达到了为多个外围,设备服务的目的,?,缺点:同一时刻不能为多个设备服务,?,适用于:数据传输速率很高,接近内存访,问速率的设备。,8.4.4,选择型和多路型,DMA,控制器,?,2.,多路型,DMA,控制器,?,?,?,多路型,DMA,不仅在物理上可以连接多个外围设,备,而且在逻辑上也允许这些外围设备同时工,作,各设备以字节交叉方式通过,DMA,控制器进,行数据传送。,字节交叉:每个设备的每个字轮流使用,DMA,传,送,连接示意图如下页,8.4.4,选择型和多路型,DMA,控制器,?,优点:同时服务多个外设,?,缺点:结构复杂,?,适用于:多个慢速外设,8.4.4,选择型和多路型,DMA,控制器,?,典型,DMA,芯片,例题:,例,3,下图中假设有磁盘、磁带、打印机三个,设备同时工作。磁盘以,30s,的间隔向控制器,发,DMA,请求,磁带以,45s,的间隔发,DMA,请求,,打印机以,150s,间隔发,DMA,请求。根据传输,速率,磁盘优先权最高,磁带次之,打印机,最低,图中假设,DMA,控制器每完成一次,DMA,传送所需的时间是,5s,。若采用多路型,DMA,控制器,请画出,DMA,控制器服务三个设备的,工作时间图。,分析,由图看出,,T1,间隔中控制器首先为打,印机服务,因为此时只有打印机有请求。,T2,间隔前沿磁盘、磁带同时有请求,首先,为优先权高的磁盘服务,然后为磁带服务,,每次服务传送一个字节。在,120s,时间阶段,中,为打印机服务只有一次,(T1),,为磁盘服,务四次,(T2,,,T4,,,T6,,,T7),,为磁带服务三,次,(T3,,,T5,,,T8),。从图上看到,在这种情,况下,DMA,尚有空闲时间,说明控制器还可,以容纳更多设备。,8.5,通道方式,?,通道的基本概念,?,?,?,通道:是计算机系统中代替,CPU,管理控制外设,的独立部件,是一种能执行有限,I,O,指令集合,(即通道命令)的,I,O,处理机。,CPU,将,传输控制,功能交由通道处理,自己专注,于数据处理,CPU,与通道分时使用内存,实现并行,8.5,通道方式,?,在通道控制方式中,一个主机可以连接多,个通道。每个通道又可连接多台,I,O,设备,,这些设备可具有不同速度,可以是不同种,类。,?,这种输入输出系统增强了主机与通道操作,的并行能力以及各通道之间、同一通道的,各设备之间的并行操作能力。同时也为用,户提供了增减外围设备的灵活性。,8.5,通道方式,?,通道结构图:,?,?,系统总线,I/O,总线,8.5,通道方式,?,存储管理部件:决定下一个存储周期有哪,个部件使用系统总线访问存储器,?,通道权限优先于,CPU,?,选择型通道优先级高于多路型通道,?,?,选择性通道连接高速设备,多路型通道连接低速设备,8.5,通道方式,?,通道方式下,多使用,4,级连接方式:主机,通道,I,O,接口(设备控制器),外围设,备。,?,在,CPU,启动通道后,通道自动地去内存取,出通道指令并执行指令。直到数据交换过,程结束向,CPU,发出中断请求,进行通道结,束处理工作。,通道的功能,?,基本功能是:执行通道指令,组织外围,设备和内存进行数据传输,按,I/O,指令要,求启动外围设备,向,CPU,报告中断等,具,体有以下五项任务:,?,?,(1),接受,CPU,的,I/O,指令,按指令要求与指定,的外围设备进行通信。,(2),从内存选取属于该通道程序的通道指令,,经译码后向设备控制器和设备发送各种命令。,通道的功能,(3),组织外围设备和内存之间进行数据传送,并,根据需要提供数据缓存的空间,以及提供数据,存入内存的地址和传送的数据量。,(4),从外围设备得到设备的状态信息,形成并保,存通道本身的状态信息,根据要求将这些状态,信息送到内存的指定单元,供,CPU,使用。,(5),将外围设备的中断请求和通道本身的中断请,求,按次序及时报告,CPU,。,?,?,?,8.5,通道方式,?,通道工作过程主要分为如下三步进行:,1,在用户程序中使用访管指令进入管理程,序,由,CPU,通过管理程序组织一个通道,程序,并启动通道。,2,通道处理机执行,CPU,为它组织的通道,程序完成指定的数据输入输出工作,3,通道程序结束后向,CPU,发中断请求。,CPU,响应这个中断请求后,第二次进入,操作系统,调用管理程序对输入输出中,断请求进行处理。,通道管理,?,CPU,对通道的管理:,?,?,CPU,执行,I/O,指令,处理来自通道的中断,?,数据传送结束,?,故障,?,管态:,CPU,运行操作系统管理程序,?,目态:,CPU,运行目标程序,?,I/O,指令的都是管态指令,通道管理,?,通道对,I/O,接口(设备控制器)的管理:,?,?,?,1.,从通道接受通道指令,控制外围设备完成所,需操作,2.,向通道反映外设状态,3.,将各外设的不同信号转换成通道能够识别的,标准信号。,