【完结】DMA方式
DMA方式
用于控制块设备
cpu向DMA控制器指明想要输入还是输出,要传送多少个数据,数据再主存,外设中的地址
1.接受外设发出的DMA请求(外设传送一个字的请求)并向cpu发出总线请求
2.CPU响应此总线请求,发出总线响应信号,接管总线控制权,进入dma操作周期
3.确定传送数据的主存单元地址以及长度,并能自动修改主存地址计数和传送长度计数
4.规定数据再主存和外设间的传送方向,发出读写等控制信号,执行数据传送操作
5.向cpu报告DMA操作的结束
DMA控制器(DMAC)
DMA请求:我们要向主存发送一个字的数据
DMA中断请求:一整块的请求已经完成了
具体笔记在pg314
DMA方式的特点
1.它使主存于cpu的固定联系脱钩,主存既可以被cpu访问,也可以被外设访问
2.在数据块传送时,主存地址的确定,传送数据的计数等都由硬件电路直接实现
3.主存中要开辟专用缓冲区,即使供给和接受外设的数据
4,DMA传送速度快,CPU和外设并行工作,提高系统效率
5.DMA在传送开始前要通过程序进行预处理,结束后要通过中断方式进行后续处理
DMA传送方式
这里图片不太好表达,所以直接发图片
DMA方式与中断方式
中断 | DMA | |
---|---|---|
数据传送 | 程序控制(程序的切换-》保存和恢复现场) | 硬件控制,CPU只需进行预处理和后处理 |
中断请求 | 传送数据 | 后处理 |
响应 | 指令执行周期结束后响应中断 | 每个机器周期结束均可,总线空闲时即可响应dma请求 |
场景 | cpu控制,低速设备 | dma控制器控制,高速设备 |
优先级 | 优先级低于DMA | 优先级高于中断 |
异常处理 | 能处理异常时间 | 仅传送数据 |