您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > DMA方式和通道方式
6.6直接存储器存取(DMA)2一、基本概念DMA(DirectMemoryAccess)直接存储器存取•在主存储器和外设之间直接进行数据交换,不需要CPU的程序干预。通过专门的硬件装置——DMA控制器(DMAC)来进行控制,并借用系统总线作为信息的传送通道。•除事先设置DMAC需要CPU介入外,一旦启动DMA传送,则完全由硬件自动操作完成,整个传送过程不再需要CPU的干预。•在微机系统中,DMAC有双重身份:在CPU掌管总线时,它是总线上的被控设备(I/O设备),CPU可以对它进行I/O读和I/O写;在DMAC接管总线时,它是总线的主控设备,通过系统总线来控制存储器和外设直接进行数据交换。4二、DMA的传送方式1.周期挪用方式•当DMA要求访问主存时,如果CPU也要访问主存,则CPU暂时停顿一个存储周期。一个数据结束后,CPU立即继续运行。也称单字传送方式。•适用:主存储器工作速度高出I/O设备较多时。可以提高主存的时间利用率,对CPU程序执行的影响较小。CPU访存读盘(写盘)周期挪用CPU处理内部事务DMA访存主存工作时间t5二、DMA的传送方式2.CPU暂停访问方式•当DMA传送数据时,CPU停止工作,把主存使用权交给DMA控制逻辑。在这批数据传送结束后,DMA再交还主存使用权。也称成组传送方式。•适用:I/O设备的数据传输率接近主存储器的工作速度。读盘(写盘)CPU访存DMA访存可供CPU访问DMA工作可供CPU访问读盘(写盘)t主存工作时间6二、DMA的传送方式3.DMA与CPU交替访存方式•“透明的DMA方式”•适用:外设的工作周期接近主存的存取周期CPU访存DMA访存1234…………主存工作时间t7三、DMA接口组成•主存地址寄存器•块长计数器•设备数据地址寄存器•命令/状态寄存器•数据缓冲寄存器•DMA控制逻辑•中断控制逻辑•端口译码DMA接口•负责申请、控制总线,控制DMA传送DMA接口的基本模型(图6.39)8三、DMA接口组成中断逻辑DMA逻辑数据块长计数器端口译码命令状态寄存器数据缓冲寄存器主存地址寄存器设备数据地址寄存器…外设-11中断向量ABDB中断请求中断应答DMA请求DMA应答MMRDMMWR四、DMA过程包括:1初始化、2DMA传送、3结束处理。1.初始化,包括:•中断初始化(设置中断向量,允许中断等)•对DMA接口设置参数:主存缓冲区首地址传送的数据块长度外设地址启动命令及传送方向设置中断向量消除屏蔽位开中断CPU内存首地址=接口主存地址寄存器外设数据地址=接口外设地址寄存器数据块长度=接口块长计数器读/写及启动命令=接口命令寄存器启动磁盘中断初始化DMA初始化DMA接口10四、DMA过程2.DMA传送(以输入为例)•DMA请求当输入数据已准备好,接口缓冲寄存器已满时,接口通过DMA请求逻辑向CPU发DMA请求;•DMA响应CPU接到DMA请求,在当前内存周期结束后,将总线输出端置成高阻态,发出DMA应答信号,将总线控制权交给DMA控制器•DMA访问内存接口接到应答信号后,接管总线使用权,将接口中主存地址送地址总线,将存储器读写信号送控制总线,完成一次数据传送。每次DMA传送后,接口中主存地址自增(或自减),数据块长度减1完成一次传送后,清除DMA请求信号,准备好下一批时,再发DMA请求信号。重复直至传送结束。DMA接口组成DMA访问内存CPU访问内存中断应答中断请求一批数据读写完毕磁盘中断处理程序IRET一条指令执行结束中断向量当前内存周期结束DMA应答DMA访问内存CPU访问内存DMA请求数据寄存器满当前内存周期结束DMA应答读盘柱面符合?扇区符合?NNCPU访问内存读盘DMA请求数据寄存器满其它任何程序磁盘寻址DMA接口CPU12四、DMA过程3.结束处理•数据块传送完毕后,发中断请求信号,CPU进行中断处理。(重新初始化或中止DMA操作)DMA接口组成13五、DMA方式特点(与中断方式对比)1.DMA方式的并行性比中断方式更高;•仅初始化和结束处理需CPU干预2.DMA传送无需程序切换、程序控制;3.DMA方式主要是靠硬件来实现数据传送;4.CPU响应DMA请求在CPU周期结束后,而响应中断是在当前指令周期结束后;5.DMA方式中存在CPU与DMA接口之间内存访问权和总线控制权的频繁转换;6.DMA只能完成数据传送,不能像中断那样实现各种处理功能。6.7I/O通道控制方式15程序查询方式、程序中断、DMA有共同特点:1、都需要CPU的介入程序查询:完全介入;中断:需要CPU介入,但CPU可做其他事务;DMA:在传输开始和结束时介入。2、都需要接口硬件支持程序查询:最简单的硬件;中断:需增加中断控制器;DMA:需增加DMA控制器但保留中断控制器。因此,这三种方式适用于外设不太多的小型机、微型机。对于I/O数量多,输入输出频繁的系统,占用CPU时间太多,接口硬件太复杂。166.7.1基本概念通道,能执行有限通道指令的I/O控制器,代替CPU管理控制外设。与DMA相比•都能在I/O设备和主存之间建立数据直传通路;•DMA只能实现固定的数据传送控制,而通道有自己的指令和程序,具有更强的独立处理数据输入和输出的能力。•DMA只能控制一台或少数几台同类设备,而一个通道可以同时控制多台同类或不同类设备。•通道是在一定的硬件基础上利用软件手段实现对I/O的控制和传送。17CPU主机主存储器通道通道设备控制器设备控制器设备控制器设备控制器外设外设…外设外设…外设外设…外设外设…典型具有通道的计算机结构186.7.2通道的功能接受CPU的I/O指令,并按指令要求选择指定外设。从主存中取出相应通道程序执行,向设备控制器发送各种命令。控制外设和主存间的数据交换,根据需要进行数据字的拆装,提供数据缓存空间以及指示数据存入主存的地址和数据量。获得外设的状态信息,并形成整个通道的状态信息,根据要求将这些信息存入主存特定单元,提供给CPU使用。将来自外设的中断请求和通道本身的中断请求按次序及时报告给CPU。•来自通道的中断有两种:数据传送结束中断,故障中断。196.7.3通道的类型1.字节多路通道•用于连接多台慢速外设,如键盘、打印机等•以字节交叉方式传送信息•数据传输率等于各慢速外设速度之和A1A2…B1B2…C1C2…通道A1B1C1A2B2C2。。。206.7.3通道的类型2.选择通道•可连接多台高速外设,但一次只选择一台设备,成组传送。待一批数据传送完毕后,才能选择另一台设备。•数据传输率等于所连接外设中速度最高的外设速率A1A2…B1B2…C1C2…通道A1A2C1B2B1C2………216.7.3通道的类型3.数组多路通道•综合前两种通道的优点,可连接多台高速设备,允许几台设备并行工作,以成组交叉方式传送。每个外设都有数据缓冲区。•最大传输率为所连外设中传输率最大的一个。22具有三种通道的计算机系统主CPU选择通道内存字节多路通道数组多路通道系统总线设备控制器低速设备设备控制器中速设备设备控制器高速设备设备控制器高速设备设备控制器高速设备设备控制器高速设备………局部I/O总线局部I/O总线局部I/O总线236.7.4通道的工作过程通道完成一次数据传输,工作过程主要分以下3步:•在用户程序中,遇到输入输出访管指令,由CPU通过管理程序组织一个通道程序,并启动通道。•通道执行CPU为它组织的通道程序,完成指定的数据输入输出。•通道程序结束后,向CPU发出中断请求。CPU接到中断请求后,第二次调用管理程序对中断请求进行处理。然后返回用户程序。图解24用户程序、管理程序和通道程序的时间关系CPU运行用户程序CPU运行I/O管理程序通道运行存放在主存中的通道程序请求输入输出访管指令编制通道程序启动I/O通道组织I/O操作向CPU发中断请求响应I/O中断请求登记或处理
本文标题:DMA方式和通道方式
链接地址:https://www.777doc.com/doc-3251899 .html