DMA简单介绍
前言:
为了使数据在计算机中更快的工作运行,设置了DMA与主存==直接==连接,不用像==程序中断方式==一样等等待==CPU==做出响应后在进行。适用于==高速== I/O或辅存与 ==主存==之间的信息交换。
一.DMA的方式和特点
特点:
(1)进一步把CPU从==数据传送==过程当中解放出来,进一步实现外部设备,数据传输它的==独立性==。
(2)可以直接通过DMA实现==外部设备==和==主存==之间的数据传输
2.DMA与主存交换数据的三种方法
==它们通过字传送得==
(1)停止CPU访问主存
(2)周期挪用(周期窃取):有三种情况
- CPU==此时==不访问主存
- CPU==正在==访问主存
- CPU与DMA==同时请求访存==,因为DMA控制权高,所以把总线控制权交给DMA
(3)DMA与CPU交替访问
二.DMA接口的功能和组成
1.功能
(1)向CPU申请DMA ==传送==
(2)工作时处理总线控制权的==转交==
(3)管理==系统总线==,控制==数据传输==
(4)确定==数据传送==的起始==地址==和数据==长度==,修正数据传送过程中的数据==地址==和==长度==。
(5)给出DMA操作==完成==的信号。
2.组成
(1)原理图
(2)各个逻辑部件介绍
- 主存地址寄存器(AR):用于存放主存需要交换数据的==地址==。没交换一次,内容加
1
。- 字数计数器(WC):记录传送数据==总字数==。每传送一个==字节==,字计数器加
1
,。- 数据缓冲寄存器(BR):暂存每次传送的数据。与设备之间采用==字节==或==位==传送。
- DMA控制逻辑:管理DMA的传输过程。
DREQ(发出请求)
DACK(一个周期)
HRQ(请求信号):申请总线使用权
HLDA(响应信号):作用对象主存地址寄存器- 设备地址寄存器(DAR)
三.DMA工作过程
DMA的数据传送过程:预处理,数据传送,后处理
1. 预处理: DMA开始==工作前==,CPU给它的配置
(1)主存地址:DMA的AR
(2)设备地址:DMA的DAR
(3)传送字数: DMA的WC
2. 数据传送
DMA方式以==数据块==为单位传送
以下图片是DMA的==周期挪用==,与组成原理图一起观看效果更佳
3.后处理:由中断程序完成
(1)效验送入主存的数据是否正确
(2)继续传送==数据块==,==初始化==DMA接口。若不送,停止外设
(3)测试在传送中是否发生错误。若有,先诊断处理。
就讲到这里啦,希望对你有帮助,欢迎留言点赞
- 点赞
- 收藏
- 关注作者
评论(0)