首页 理论教育 微型计算机原理:DMA传送控制与信号通信

微型计算机原理:DMA传送控制与信号通信

时间:2026-01-26 理论教育 小霍霍 版权反馈
【摘要】:④DMA控制器通过DACK信号响应I/O端口的DMA请求,并选中该I/O端口用于进行后续DMA传送。

DMA传送可以分成三个阶段:传送准备、数据传送和传送结束。

1.传送准备

DMA传送一般由I/O端口发起,I/O端口通过向DMA控制器的DREQ端发出DMA传送请求开始一个DMA传送过程。DMA控制器收到DMA传送请求后向CPU发出总线请求HRQ,CPU执行完当前指令的当前总线周期后即通过HLDA向DMA控制器发出总线响应信号,并脱离总线,将总线交给DMA控制器。DMA控制器获得总线控制权后,即可开始数据传送过程(见图6-15)。

图示

图6-15 DMA传送准备

①I/O端口通过DREQ信号向DMA控制器提出DMA请求。

②DMA控制器通过HOLD信号向CPU发出总线请求。

③CPU在一个总线周期结束后放弃总线,通过HLDA信号将控制权交给DMA控制器。

④DMA控制器通过DACK信号响应I/O端口的DMA请求,并选中该I/O端口用于进行后续DMA传送。

2.数据传送

DMA数据传送是在DMA控制器的控制下完成的,DMA控制器将DMA传送所涉及的存储器地址送入地址总线,并产生数据传送所需要的控制信号,在I/O端口和存储器之间进行数据传送。

DMA传送分成四种:DMA读传送、DMA写传送、校验传送和存储器到存储器传送。

DMA读传送指的是从主存储器中读取数据并将其写入I/O端口的DMA数据传送,这时DMA控制器产生存储器读信号图示R,I/O写信号I图示,源数据在存储器中的地址,以及用于选定被用作数据写入目标的I/O端口的DMA响应信号DACK。这组信号控制一个数据从存储器中读出,并写入到DACK选通的I/O端口中。一个数据传送结束后,DMA控制器自动对地址进行增量或减量操作,以传送下一个数据,直到达到预设的数据传送次数为止(见图6-16)。

与DMA读传送相反的是DMA写传送,数据从I/O端口读入并写到主存储器中,DMA(https://www.xing528.com)

图示

图6-16 DMA读传送

①DMA控制器发出MEMR和地址信号给存储器,向存储器发出读命令,从存储器读数据到数据总线;同时发出图示和DACK给I/O端口,向I/O端口发出写命令。

②从存储器中读取的数据通过数据总线传送到I/O端口,DMA控制器进行地址增量或减量操作,准备下一次传送,直到传送结束。

控制器产生的控制信号是I/O读信号IOR和存储器写信号MEMW。读传送和写传送是DMA传送常见的两种传送形式,除此之外DMA还提供一个被称作校验传送的传送方式。在这种方式下,DMA控制器只产生存储器地址,并不产生存储器和I/O的控制信号,用作DMA控制器的功能校验。

DMA传送还可以实现从存储器到存储器的传送。和DMA读/写传送时使用DACK进行I/O端口选择而无需再传送I/O端口地址不同,从存储器到存储器的传送必须给出源和目的两个不同的存储器地址,这种对地址总线的争用就决定了从存储器到存储器的传送不能像DMA读/写传送那样一次将数据传送到位,而是必须使用DMA控制器内部的数据暂存器对数据进行暂存。在存储器-存储器传送时,DMA控制器首先发出图示R和源地址信号,读取源地址存储器中的内容到数据暂存器,再发出图示W和目的地址信号,将暂存器中的内容写入到目的地址中。同时,源地址和目的地址的不同也要求存储器-存储器的传送必须占用DMA控制器中的两组通道,使用两组不同的地址寄存器(见图6-17)。

图示

图6-17 存储器-存储器传送

①DMA控制器发出图示和源地址信号给存储器,向存储器发出读命令,从存储器读数据到DMA控制器中的数据暂存器。

②DMA控制器发出图示和目标地址信号给存储器,向存储器发出写命令,将数据暂存器中的内容写到存储器中。

3.传送结束

当数据传送结束后,DMA控制器撤销总线请求信号,将总线的控制权交还给CPU,CPU重新控制总线,继续执行被中断的指令的其他总线周期。

和中断方式相比,使用DMA方式进行数据传输具有一系列的优势。首先,DMA传送利用硬件直接在I/O端口和主存储器之间进行数据传输,速度比中断方式的速度要快。其次,DMA传送的响应速度也要比中断响应快。在中断方式下,CPU只有在一条指令执行完成后才能响应中断,而且中断响应后需要执行一段指令才能真正开始数据的传送,而在DMA方式下,CPU在一个总线周期的结尾就可以响应DMA发出的总线请求,进而开始数据传送。但是,DMA传送依赖于DMA控制器,其硬件电路要比中断方式复杂,而且其灵活性也不如中断方式。

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

我要反馈