小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
本文介绍中断方式的最后一种——DMA方式
DMA方式
DMA方式是一种完全由硬件进行成组信息传送的控制方式,DMA在外设与内存之间开辟一条”直接数据通道“,信息传送不再经过CPU,因此CPU与外设可以并行工作。
DMA的特点:
- 主存既可以被CPU访问,又可以被外设访问
- 在数据快传送时,主存地址的确定,传送数据的计数等都由硬件电路直接实现
- 主存中主要开辟专用缓冲区,及时供给和接收外设的数据
- DMA传送速度快,CPU与外设并行工作
- DMA在传送开始前要通过程序进行预处理,结束后要通过中断方式进行后处理。
DMA控制器组成
- 主存地址计数器:存放要交换数据的主存地址
- 传送长度计数器:记录传送数据的长度,计数溢出时,数据即传送完毕,自动发中断请求信号
- 数据缓冲寄存器:暂存每次传送的数据。
- DMA请求触发器:每当IO设备准备好数据后,给出一个控制信号,使DMA请求触发器位置
- 控制/状态逻辑: 由控制和时序电路即状态标志组成,用于指定传送方向,修改传送参数,并对DMA请求信号和CPU响应信号进行协调和同步
- 中断机构:当有一个数据块传送完毕后触发中断机构,向CPU提出中断请求。