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