计算机组成原理第八章
-
Upload
kellie-hoover -
Category
Documents
-
view
39 -
download
9
description
Transcript of 计算机组成原理第八章
计算机组成原理第八章
知识点三: DMA方式
主讲教师:谭志虎
问题引入
利用中断服务程序完成数据传输,效率低下,如何改进?
学习建议
系统观: DMA 控制器的内存争用与 DRAM 的刷新过程中的内存争用类似,其处理方式也类似。
构造观: DMA 方式本质是外设可以不通过 CPU 直接访问内存,学习时可以从 DMA 控制器构成,内存争用,中断机制应用等角度理解 DMA 数据传输的完整过程。
1. DMA 的基本概念
中断方式提高了主机和外设并行工作的效率,但是每传送一个数据就要执行一次中断服务子程序,数据传送时仍然要占用 CPU 的时间,不适合于高速传输的系统。
DMA 在外设与主存之间建立一个由硬件管理的数据通路,使 CPU 不介入传送时的操作,数据也不经过CPU 。这样就减少了 CPU 的开销,系统效率得到了提高。
CPUCPU 主存主存 DMADMA 接口 接口
2. 内存争用
DMA 方式进行数据传送时, CPU 仍执行主程序,此时 DMA 控制逻辑与 CPU 可能同时要访问主存,引起主存使用权的冲突。
如何处理这种冲突呢? 停止 CPU 使用主存 DMA 与 CPU 交替使用主存 周期挪用法
3.DMA 主要操作过程
预处理阶段 数据传输阶段 结束阶段
DMA 主要操作过程(准备阶段)
主机通过指令向 DMA 接口发送必要的传送参数,并启动 DMA 工作。 数据传送的方向 ;
数据块在主存的首地址 ;
数据在外设存储介质上的地址 ;
数据的传送量。
-6-
DMA 主要操作过程(传送阶段) 宏观上看 DMA 接口连续传送一批数据。从微观上看,每传
送一个数据,发一次 DMA 请求,经历一个循环操作。循环体:
外设准备好数据时,向主机发 DMA 请求; CPU 在本机器周期执行完毕后 ( 周期挪用方式 ) 响应该
请求 , 让出主存使用权; DMAC 挪用一个存储周期对主存进行读或写操作。周
期挪用结束后,给 DMA 接口一个应答信号; DMAC 接到应答信号,撤除 DMA 请求,将主存数据
缓冲区地址指针加 1 ,计数器减 1 ; DMAC 判断数据是否全部传送完。若传送完毕,则进
入结束阶段;否则继续一个循环操作;
-7-
DMA 主要操作过程(结束阶段)
DMA 在两种情况下都进入结束阶段。 正常结束,一批数据传送完毕; 非正常结束, DMA 故障
结束阶段 DMA 向主机发出中断请求, CPU 执行服务程序,查询 DMA 接口状态,根据状态进行不同处理。
-8-
一个数据块的传送过程 ( 停止访内方式 )
DMA请求DMA请求
DMA响应DMA响应
传送一个字 传送一个字
DMA结束DMA结束
N
Y
传送完 ?传送完 ?
修改地址指针字计数器修改地址指针字计数器
发送内存地址发送内存地址
-9-
知识点三 回顾
DMA 控制方式与程序中断方式的区别;
DMA 内存争用处理与 DRAM 刷新方式处理的异同;
DMA 控制方式中的 CPU 开销。