DMA与通道PPT演示文稿_第1页
DMA与通道PPT演示文稿_第2页
DMA与通道PPT演示文稿_第3页
DMA与通道PPT演示文稿_第4页
DMA与通道PPT演示文稿_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、第21讲 直接存储器存取(DMA)方式,1 DMA的基本概念 2 DMA传送方式 3 基本的DMA控制器 4 DMA和中断的区别,2,1、DMA的基本概念 DMA方式是指直接依靠硬件在主存与I/O设备之间进行直接数据传送,传送期间不需要CPU干预,应用 大批量数据采集、主存与I/O简单高速数据传送。如:磁 盘、光盘等。 特点 DMA 只需要占用系统总线,不切换程序、不用处理现场等一系列操作,3,DMA方式的五个特点,它使主存与CPU的固定联系脱钩,主存既可被CPU访问,又可被外设访问。 在数据块传送时,主存地址的确定,传送数据的计数等等都用硬件电路直接实现。 主存中要开辟专用缓冲区,及时供给和

2、接收外设的数据。 DMA传送速度快,CPU和外设并行工作,提高了系统的效率。 DMA在开始前和结束后要通过程序和中断方式进行预处理和后处理,4,2、常见的DMA数据传送方式 (1)CPU暂停方式(成组传送) 当外设要求传送一批数据,由DMAC发一个停止信号给CPU,CPU放弃对总线的控制权,并停止使用总线访问内存。 DMAC获得总线控制权以后,开始在内存和外设之间进行数据传送,在一批数据传送完毕后,DMAC把总线控制权交回给CPU,CPU就可以使用总线,5,控制简单,CPU 处于不工作状态,或保持状态,未充分发挥 CPU 对主存的利用率,优点,缺点:在DMAC访问阶段,6,因外设传送二个数据之

3、间的间隔一般大于内存的存储周期,因此,许多空闲的存储周期不能被CPU利用。 适用场合:数据传输率很高的设备进行成组数据传送。 (2)周期挪用(周期窃取) (单字传送) 当外设没有DMA请求,CPU按程序要求访问内存,一旦外设有DMA请求,则由外设挪用一个或几个内存周期。传送完一个数据后立即释放总线,7,I/O设备要求DMA传送会遇到三种情况: 一种是此时CPU不需访问主存(如CPU正在执行乘法指令,由于乘法指令执行时间较长,此时CPU不需访问主存),故I/O设备访存与CPU不发生冲突。 第二种情况是I/O设备要求DMA传送时,CPU正在访存,此时必须待存取周期结束时刻,CPU才能将总线占有权让

4、出。 第三种情况是I/O设备要求访存时,CPU也要求访存,这就出现了访存冲突。此刻,I/O访存优先于CPU访存,因为I/O不立即访存就可能丢失数据,这时I/O要窃取一二个存取周期,意味着CPU在执行访存指令过程中插入了DMA请求,并挪用了一二个存取周期,使CPU延缓了一二个存取周期再访存,8,周期挪用(或周期窃取,优点: 实现了CPU和外设并行工作; 较好地发挥了主存和CPU的效率,9,缺点:外设每次挪用周期都要有申请总线控制权、建立总线控制权、归还总线控制权的过程,虽然传送一个数据只需一个主存周期,但DAMC一般要用25主存周期。 适用场合:外设读写周期大于内存周期的情况,3)DMA与CPU

5、交替访内 如果CPU的工作周期比内存的存取周期长得多,可以将一个CPU周期分为两个分周期,第一个分周期专供DMAC访内,第二个分周期专供CPU访内,从而实现DMAC与CPU交叉访内。 优点: DMA传送效率最高,10,DMA 与 CPU 交替访问,CPU 工作周期,所有指令执行过程中的一个基准时间,11,DMA接口的功能和组成,1DMA接口的功能利用DMA方式传送数据时,数据的传输过程完全由DMA接口电路控制。DMA接口应具有如下几个功能: (1) 向CPU申请DMA传送; (2) 在CPU允许DMA工作时,处理总线控制权的转交,避免因进入DMA工作而影响CPU正常活动或引起总线竞争 (3)在

6、DMA期间管理系统总线,控制数据传送; (4)确定数据传送的起始地址和数据长度,修正数据传送过程中的数据地址和数据长度。 (5)在数据块传送结束时,给出DMA操作完成的信号,12,2. DMA 接口组成,1,1,13,1)主存地址寄存器AR。AR用于存放主存中需要交换数据的地址。在DMA传送前,须通过程序将数据在主存中的首地址送到主存地址寄存器。在DMA传送过程中,每交换一次数据,将地址寄存器内容加1,直到一批数据传送完毕为止。 (2)字计数器WC。WC用于记录传送数据的总字数,通常以交换字数的补码值预置。在DMA传送过程中,每传送一个字,字计数器加1,直到计数器为0,即最高位产生进位时,表示

7、该批数据传送完毕。于是DMA接口向CPU发中断请求信号。 (3)数据缓冲寄存器BR。BR用于暂存每次传送的数据。通常DMA接口与主存之间采用字传送,而DMA与设备之间可能是字节或位传送。因此DMA接口中还可能包括有装配或拆卸字信息的硬件逻辑,如数据移位缓冲寄存器、字节计数器等,14,4)DMA控制逻辑。它用于负责管理DMA的传送过程,由控制电路、时序电路及命令状态控制寄存器等组成。每当设备准备好一个数据字(或一个字传送结束),就向DMA接口提出申请(DREQ),DMA控制逻辑便向CPU请求DMA服务,发出总线使用权的请求信号(HRQ)。待收到CPU发出的响应信号HLDA后,DMA控制逻辑便开始

8、负责管理DMA传送的全过程,包括对主存地址寄存器和字计数器的修改、识别总线地址、指定传送类型(输入或输出)以及通知设备已经被授予一个DMA周期(DACK)等,15,5)中断机构。当字计数器溢出(全“0”)时,表示一批数据交换完毕,由“溢出信号”通过中断机构向CPU提出中断请求,请求CPU作DMA操作的后处理。必须注意,这里的中断与上一节介绍的I/O中断的技术相同,但中断的目的不同,前面是为了数据的输入或输出,而这里是为了报告一批数据传送结束。它们是I/O系统中不同的中断事件。 (6)设备地址寄存器DAR。DAR存放I/O设备的设备码或表示设备信息存储区的寻址信息,如磁盘数据所在的区号、盘面号和

9、柱面号。具体内容取决于设备的数据格式和地址的编址方式,16,DMA传送过程,第一步: DMA接口的预置(初始化)(由软件实现) 数据传送之前,CPU将执行一段初始化程序,完成对DMA接口中各参数寄存器的初始值的设定。主要操作包括: 准备内存区 若是从外设输入数据,则进行内存缓冲区的申请,并对缓冲区进行初始化;若是输出到外设,则先在内存准备好数据,17,启动外设,然后CPU继续执行其他程序,设置传送参数 执行I/O指令,测试外设状态,对DMA接口设置各种参数: * 内存首址=地址寄存器 * 字计数值=字计数器 * 传送方向=控制寄存器 * 设备地址=设备地址寄存器,18,第二步:DMA数据传送(

10、由硬件实现) DMA接口数据传送过程如下: 当外设准备好数据(从外设取数),或准备好接收数据(向外设送数)时,就发“选通”信号,使数据送数据缓冲寄存器,同时DMA请求触发器置“1,DMA请求触发器向控制/状态端口发“Ready”信号,同时向DMA控制器发“DMA请求”信号,DMA接口接受到“DMA请求”信号后,就向CPU发“总线请求”信号,19,CPU完成现行机器周期后,响应DMA请求,向DMA接口发出“总线响应”信号。DMA接口接受到该信号后,向外设接口发 “DMA响应”信号,使DMA请求触发器复位。CPU浮动它的总线,让出总线控制权,由DMA接口控制总线,DMA接口给出内存地址,并在其读/

11、写线上发出“读”或“写”命令,随后在数据总线上给出数据,根据读写命令,将数据总线上的数据写入存储器中,或写入数据端口,并进行主存地址增量,字计数值减1。 若采用“CPU停止法”,则循环第6步,直到计数值为“0”。 若采用“周期挪用法”,则释放总线,下次数据传送时再按过程(1)到(6)进行,20,第三步:DMA结束处理 根据计数值为“0”,发出DMA结束信号送接口控制,产生DMA中断请求信号给CPU,当DMA的中断请求得到响应后,CPU停止源程序的执行,转去执行中断服务程序,做一些DMA的结束工作。它包括校验送入主存的数据是否正确;决定是否继续用DMA传送其他数据块,若继续传送,则又要对DMA接

12、口进行初始化,若不需要传送,则停止外设;测试在传送过程中是否发生错误,若出错,则转错误诊断及处理错误程序,21,DMA接口与系统的连接方式,DMA接口与系统的连接方式有两种。 下图为具有公共请求线的DMA请求方式,若干个DMA接口通过一条公用的DMA请求线向CPU申请总线控制权。CPU发出响应信号用链式查询方式通过DMA接口,首先选中的设备获得总线控制权,即可占用总线与主存传送信息,22,上图是独立的DMA请求方式,每一个DMA接口各有一对独立的DMA请求线和DMA响应线,它由CPU的优先级判别机构裁决首先响应哪个请求,并在响应线上发出响应信号,被获得响应信号的DMA接口使可控制总线与主存传送

13、数据,23,DMA 接口中控制传送的硬件逻辑称为DMA控制器。DMA控制器与接口的连接应考虑以下因素,DMA控制器与接口是相互分离, 还是合为一体,数据传送是经DMA控制器, 还是经接口直接与存储器相连,系统中有多个DMA控制器时, 采用公共DMA请求, 还是采用独立DMA请求方式,一个DMA控制器控制多个I/O设备时, 是采用选择型工作方式, 还是采用多路型工作方式,基于以上考虑的几种常见连接模式,24,1. 单通道DMA控制器,一个DMA控制器只连接一台I/O设备, 并通常将DMA控制器与接口合为一体, 传送的数据经由DMA控制器,25,2. 选择型DMA控制器,一个DMA控制器连接(控制

14、)多台I/O设备, 即: 多台I/O设备共享一个DMA控制器,一般采用DMA控制器与接口合为一体, 传送的数据经由DMA控制器,选择型DMA控制器一般采用成组传送方式, 分时为各设备服务,26,3. 多路型DMA控制器,当一个DMA控制器连接(控制)的多台I/O设备速度较慢时, 让多个外设同时工作, 以字或字节方式传送, 使多个外设轮流交叉使用系统总线进行DMA传送, 即为多路型DMA控制器,多路型DMA控制器一般采用与外设接口分离的连接方式, 数据传送不经过DMA控制器, 而是直接在内存与接口之间进行传送,DMA控制器只负责接收接口的请求信号, 并向CPU提出DMA请求, 在收到CPU的响应

15、信号后, 通知接口, DMA传送周期开始,DMA控制器与接口的连接关系如下图所示,27,多路型DMA与选择型DMA并无严格界限, 当以单字(或字节)方式传送, 各外设交叉占有总线时, 为典型的多路型DMA; 若按成组方式传送, 各设备分时占有总线, 即为选择性DMA,28,DMA和中断的区别,1、中断方式是程序切换,需要保护和恢复现场;而DMA方式除了开始和结尾时,不占用CPU的任何资源。 2、对中断请求的响应只能发生在每条指令执行完毕时;而对DMA请求的响应可以发生在每个机器周期结束时。 3、中断传送过程需要CPU的干预;而DMA传送过程不需要CPU的干预,故数据传送速率非常高,适合于高速外

16、设的成组数据传送。 4、DMA请求的优先级高于中断请求。 5、中断方式具有对异常事件的处理能力;而DMA方式仅局限于完成传送信息块的I/O操作,29,六、通道控制方式 1、基本知识 通道是实现I/O设备和主存之间直接交换数据的控制器。 (1)通道与DMAC的区别 DMAC是通过硬件控制逻辑实现对数据传送的控制 通道是通过执行通道程序实现对数据传送的控制 DMAC通常只控制一台或少数几台同类设备 通道可同时控制许多台同类或不同类的设备,30,2)通道控制方式的连接,通道承担数据的输入/输出控制,CPU负责数据处理,形成了通道与CPU分时使用内存的情况,大大提高了CPU与通道并行工作能力以及各个通

17、道之间、同一通道控制的各个设备之间的并行工作能力; 增减外部设备灵活; 通道有自己的通道指令、通道地址、通道程序和通道状态字等。通道程序完全独立于主机之外,在通道内执行,31,通道的种类,按通道独立于CPU的程度来分,通道分为结合型通道和独立型通道,按数据传送方式来分;通常将通道分为以下三种:字节多路通道、选择通道和成组多路通道,结合型通道在硬件上与CPU做在一起,而独立型通道则硬件上独立于CPU,32,1字节多路通道 字节多路通道采用字节交叉传送方式进行数据传送,适合于连接多个低速I/O设备(在20K字节/秒以下),设备传送一个字节的时间相应较短,相邻字节之间数据准备时间较长,分时使用通道,

18、轮流传送数据,实现多台I/O设备间的并行,以提高通道利用率,字节多路通道由多个子通道构成,每个子通道并 行工作,各服务于一个设备控制器,每个子通道中包含:字符缓冲器、状态/控制寄存器以及通道参量(如:字节计数值、内存地址、)、主存单元的地址指针等,33,2选择通道 选择通道用于对高速设备进行控制;在一段时间内选择通道只执行一个设备的通道程序,采用“成组”方式传送,某个设备一旦被选中便独占通道,直到传送完毕才释放通道,所以传输速率高,选择通道可接多台同类设备,其数据宽度是可变的,通道中包含一个参数寄存器,用于记录I/O操作所需的通道参量,34,3数组多路通道 多台设备以定长数据块为单位分时使用传

19、输通路,轮流传送数据块。这种通道称为成组多路通道,既允许各子通道间并行工作,又以独占方式成组地连续传送数据,因而具有很高的传输率。用于控制多台同类高速设备,35,2、具有多种通道的计算机系统结构,36,1)使用多个通道的优点 可以克服因数据流量大而集中于某一通道所造成的拥塞现象; 可以实现对不同类型的外设分类管理。 (2)存储管理部件的主要任务 存储管理部件是主存的控制部件,其主要任务是根据事先确定的优先次序,决定下一周期由哪个部件使用存储总线访问主存。 (3)各部件访问主存的优先次序 通道与CPU同时要求访问主存,通道优先于CPU; 多个通道同时要求访问主存,选择通道和数组多路通道的优先级高

20、于字节多路通道,37,4)通道的功能 通道的基本功能是执行通道程序,实施外设与主存的数据传送,按I/O指令要求启动外设,向CPU报告中断等。 接受CPU的I/O指令,并按I/O指令的要求与指定的外设进行通信; 从主存选取属于该通道程序的通道指令,经译码后向设备控制器和外设发送各种命令; 实现外设与主存之间的数据传送,提供信息传送通路、装配和拆卸信息、提供数据存入主存的地址和传送数据的计数值,38,从外设获取设备的状态信息,形成并保存通道本身的状态信息,根据要求把这些信息送到主存的指定单元,供CPU使用; 将外设的中断请求和通道本身的中断请求按次序及时通知CPU。 (5)设备控制器的功能 从通道接受通道指令,控制外

温馨提示

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

评论

0/150

提交评论