DMA和通道区别

1. DMA(直接存储器访问)

工作流程

设备接口发送请求:

外部设备(如磁盘)希望通过总线直接传送数据时,首先会向 CPU 发送一个 DMA 请求信号。这是一个请求,让 CPU 知道外部设备需要进行数据传输。
DMA 控制器的角色:

外部设备通过 DMA 控制器(DMAC)向 CPU 提出总线请求。DMA 控制器是一个专门的硬件,用于管理 DMA 操作。
CPU 响应请求:

CPU 收到 DMA 请求信号后,会在当前的总线周期结束后,按照优先级和请求顺序处理请求。这个过程会暂停当前的 CPU 操作,确保 DMA 操作的顺利进行。
让出总线控制权:

一旦 CPU 响应 DMA 请求,它会将总线控制权交给 DMA 控制器。这意味着接下来的数据传输不需要 CPU 参与。
直接数据交换:

在 DMA 控制器的管理下,外部设备(如磁盘)可以直接与内存进行数据交换,而 CPU 无需干预。这样提高了数据传输的效率,减轻了 CPU 的负担。
结束信号:

数据传输完成后,设备接口会向 CPU 发送一个 DMA 结束信号,表示数据传输已经完成,并请求恢复总线控制权。

2. 通道

工作原理

在 DMA 基础上的扩展:

通道是对 DMA 技术的扩展,它在 DMA 控制器的基础上增加了能够执行有限指令的 I/O 控制器。通道相当于一种协处理器,负责管理和控制外设。执行输入输出指令:通道有自己的指令集,能够执行一些基本的 I/O 指令,如读取数据、写入数据等。这使得通道能够在一定程度上代替 CPU 进行外设的管理
专门的通道总线:
通道通常使用专门的通道总线来完成控制和数据传输。这样可以减少总线冲突,提升数据传输的效率。

3. 优势比较

①CPU 负担减轻:

使用 DMA 和通道后,CPU 的负担显著减轻,因为它们能够处理大量的 I/O 请求而无需 CPU 频繁干预。

②提高效率:

通道能够执行一些 I/O 指令,进一步提升了数据传输效率,使得 I/O 操作更加灵活和高效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值