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