计算机组成原理第五章——DMA方式优质PPT.ppt
《计算机组成原理第五章——DMA方式优质PPT.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理第五章——DMA方式优质PPT.ppt(22页珍藏版)》请在冰豆网上搜索。
在数据传送过程中,没有保存现场、恢复现场之类的工作。
内存地址修改、传送字个数的计数等等,也不是由软件实现,而是用硬件线路直接实现的。
所以DMA方式能满足高速I/O设备的要求,也有利于CPU效率的发挥。
DMA与主存交换数据的方法,1、停止CPU访问主存2、周期挪用(周期窃取)3、DMA与CPU交替访问,1、停止CPU访问主存,当外围设备要求传送一批数据时,由DMA控制器发一个停止信号给CPU,要求CPU放弃对地址总线、数据总线和有关控制总线的使用权。
DMA控制器获得总线控制权以后,开始进行数据传送。
在一批数据传送完毕后,DMA控制器通知CPU可以使用内存,并把总线控制权交还给CPU。
在这种DMA传送过程中,CPU基本处于不工作状态或者说保持状态。
优点:
控制简单,它适用于数据传输率很高的设备进行成组传送。
缺点:
在DMA控制器访内阶段,内存的效能没有充分发挥,相当一部分内存工作周期是空闲的。
这是因为,外围设备传送两个数据之间的间隔一般总是大于内存存储周期,即使高速I/O设备也是如此。
2、周期挪用(周期窃取),当I/O设备没有DMA请求时,CPU按程序要求访问内存;
一旦I/O设备有DMA请求,则由I/O设备挪用一个或几个内存周期。
I/O设备请求DMA传送有三种情况:
1、CPU此时不需要访问主存(I/O设备与CPU无冲突)2、CPU此时正在访问主存(必须等待存取周期结束,CPU才能将总线控制权让出)3、I/O设备与CPU都要求访问主存(在CPU执行访问主存指令的过程中插入DMA请求,并挪用了一二个内存周期),优点:
既实现了I/O传送,又较好地发挥了内存和CPU的效率,是一种广泛采用的方法。
I/O设备每一次周期挪用都有申请总线控制权、建立总线控制权和归还总线控制权的过程,所以传送一个字对内存来说要占用一个周期,但对DMA控制器来说一般要25个内存周期(视逻辑线路的延迟而定)。
因此,周期挪用的方法适用于I/O设备读写周期大于内存存储周期的情况。
3、DMA与CPU交替访问,如果CPU的工作周期比内存存取周期长很多,此时采用交替访内的方法可以使DMA传送和CPU同时发挥最高的效率。
不需要总线使用权的申请、建立和归还过程,总线使用权是通过DMA访存和CPU访存分时进行的。
CPU既不停止主程序的运行,也不进入等待状态,是一种高效率的工作方式,缺点:
相应的硬件逻辑更加复杂。
5.6.2DMA接口功能和组成,DMA接口的功能:
(1)接收初始化信息(传送方向、主存起始地址、交换数据的个数)初始化
(2)接收外设dma请求,判断是否允许传送,向cpu申请总线传送前(3)接管总线控制权,发地址,读/写命令传送期间(4)给出DMA操作完成的信号,申请中断传送完,5.6.2DMA接口功能和组成,DMA接口的基本组成:
(1)主存地址寄存器AR:
存放主存中需要交换数据的地址。
(2)字计数器WC:
用于记录传送数据的总字数。
(3)数据缓冲寄存器BR:
用于暂存每次传送的数据。
(4)DMA控制逻辑:
管理DMA的传送过程。
(5)中断机构:
向CPU提出中断请求。
(6)设备地址寄存器DAR:
存放i/o设备的设备码或表示设备信息存储区的寻址信息。
5.6.3dma的工作过程,1、dma的传送过程:
预处理、数据传送、后处理。
(1)预处理(通过几条输入、输出指令预置一下信息)通知DMA控制逻辑传送方向(输入/输出主存)设备地址DMA的DAR(设备地址寄存器)主存地址dma的ar(主存地址寄存器)传送字数dma的wc(字计数器),
(2)数据传送输入,15,(3)后处理(由中断服务程序完成)校验送入主存的数是否正确决定是否继续用DMA测试传送过程是否正确,错则转诊断程序,5.6.3dma的工作过程,2、DMA接口与系统的连接方式具有公共请求线的dma请求:
若干个dma接口通过一条共用的dma请求线向cpu申请总线控制权。
Cpu用链式查询方式通过dma接口,首先选中的设备获得控制权。
2、DMA接口与系统的连接方式独立的dma请求:
每一个dma接口各有一对独立的dma请求线和dma响应线,由cpu优先级判别首先响应哪个请求,并给出控制权。
(1)数据传送,
(2)响应时间,(3)处理异常情况,(4)中断请求,(5)优先级,程序硬件,指令执行结束存取周期结束,能不能,低高,传送数据后处理,19,5.6.3dma的工作过程,3、中断方式与DMA方式的比较,1.选择型,在物理上连接多个设备在逻辑上只允许连接一个设备,20,5.6.4DMA接口的类型,2.多路型,在物理上连接多个设备在逻辑上允许连接多个设备同时工作,21,3.多路型DMA接口的工作原理,22,