- 在计算机与外设交换数据的过程中,无论是无条件传送、利用查询方式传送还是利用中断方式传送,都需要由CPU通过执行程序来实现,这就限制了数据的传送速度
- 直接内存存储(Direct Memory Access,DMA)是指数据在内存与I/O设备间的直接成块传送,即在内存与I/O设备间传送一个数据块的过程中,不需要CPU的任何干涉,只需要CPU在过程开始启动(即向设备发出“传送一块数据”的命令)与过程结束(CPU通过轮询或中断得知过程是否结束和下次操作是否准备就绪)时的处理,实际操作由DMA硬件直接执行完成,CPU在此传送过程中可做别的事情
- DMA传送的一般过程如下图所示
- (1)外设向DMA控制器(DMAC)提出DMA传送的请求
- (2)DMA控制器向CPU提出请求,其请求信号通常加到CPU的保持请求输入端HOLD
- (3)CPU在完成当前的总线周期后立即对此请求作出响应,CPU的响应包括两个方面的内容:
- 一方面,CPU将有效的保持响应信号HLDA输出加到DMAC上,告诉DMAC它的请求已经已得到响应;
- 另一方面,CPU将其输出的总线信号置为高阻
DMA直接存储器存储方式是什么?
于 2022-03-07 23:54:08 首次发布
直接内存访问(DMA)允许数据在内存与I/O设备间直接快速传送,无需CPU介入。在DMA过程中,CPU仅在开始和结束时参与,其余时间可执行其他任务。DMA通过DMA控制器控制总线,实现数据的高效传输。在DMA传送期间,CPU无法使用系统总线。
摘要由CSDN通过智能技术生成