首页 理论教育 微机原理:DMA方式的工作过程

微机原理:DMA方式的工作过程

时间:2023-11-16 理论教育 版权反馈
【摘要】:DMA传送的基本特点是不经过CPU,不破坏CPU内各寄存器的内容,由DMAC取代CPU,获得总线控制权,实现内存与外设或者内存的不同区域之间大量数据的快速传送。所以DMA传送方式特别适合用于外部设备与存储器之间高速成批的数据传送。③CPU在完成当前总线操作后会立即对DMA请求做出响应。图8-1 典型的DMAC的工作电路⑥DMAC将规定的数据字节传送完之后,通过向CPU发送HOLD信号,撤销对CPU的DMA请求。

微机原理:DMA方式的工作过程

DMA传送的基本特点是不经过CPU,不破坏CPU内各寄存器的内容,由DMAC取代CPU,获得总线控制权,实现内存与外设或者内存的不同区域之间大量数据的快速传送。在IBM PC系统中,DMA方式传送一个字节的时间通常是一个总线周期,即4个时钟周期时间。CPU内部的指令操作只是暂停这个总线周期,然后继续操作,指令的操作次序不会被破坏。所以DMA传送方式特别适合用于外部设备与存储器之间高速成批的数据传送。

典型的DMAC的工作电路如图8-1所示。

DMA数据传送的工作过程大致如下:

①外设向DMAC发出DMA传送请求。

②DMAC通过连接到CPU的HOLD信号向CPU提出DMA请求。

③CPU在完成当前总线操作后会立即对DMA请求做出响应。CPU的响应包括两个方面:一方面,CPU将控制总线、数据总线和地址总线浮空,即放弃对这些总线的控制权;另一方面,CPU将有效的HLDA信号加到DMAC上,用此来通知DMAC,CPU已经放弃了总线的控制权。

③待CPU将总线浮空,即放弃了总线控制权后,由DMAC接管系统总线的控制权,并向外设送出DMA的应答信号。(www.xing528.com)

⑤由DMAC送出地址信号和控制信号,实现外设与内存或内存不同区域之间大量数据的快速传送。

978-7-111-42233-4-Chapter08-1.jpg

图8-1 典型的DMAC的工作电路

⑥DMAC将规定的数据字节传送完之后,通过向CPU发送HOLD信号,撤销对CPU的DMA请求。CPU收到此信号,一方面使HLDA无效,另一方面又重新开始控制总线,实现正常取指令、分析指令、执行指令的操作。

需要注意的是,在内存与外设之间进行DMA传送期间,DMAC只是输出地址及控制信号,而数据传送是直接在内存和外设端口之间进行的,并不经过DMAC;对于内存不同区域之间的DMA传送,则应先用一个DMA存储器读周期将数据从内存的源区域读出,存入到DMAC的内部数据暂存器中,再利用一个DMA存储器写周期将该数据写到内存的目的区域中去。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈