23、深入解析直接内存访问(DMA)与直接缓存访问(DCA)技术

深入解析直接内存访问(DMA)与直接缓存访问(DCA)技术

1. 传统I/O方式的弊端

在数据传输过程中,传统的编程式I/O和中断驱动I/O存在一定的局限性。中断驱动I/O虽然比简单的编程式I/O更高效,但仍需要处理器的主动干预来在内存和I/O模块之间传输数据,且所有数据传输都必须经过处理器。这两种I/O方式存在以下两个固有缺点:
- I/O传输速率受限 :I/O传输速率受限于处理器测试和服务设备的速度。
- 处理器资源占用 :处理器在管理I/O传输时会被占用,每次I/O传输都需要执行多条指令。

对于简单编程式I/O,处理器专注于I/O任务,可以以较高的速率移动数据,但代价是无法进行其他操作。而中断I/O在一定程度上释放了处理器,但会降低I/O传输速率。因此,当需要移动大量数据时,就需要一种更高效的技术——直接内存访问(DMA)。

2. 直接内存访问(DMA)

2.1 DMA功能

DMA涉及系统总线上的一个额外模块。DMA模块能够模拟处理器,并从处理器接管系统的控制权,以便通过系统总线在内存和I/O设备之间传输数据。为了实现这一点,DMA模块只能在处理器不需要总线时使用总线,或者迫使处理器暂时暂停操作,后一种技术更为常见,被称为周期窃取,因为DMA模块实际上窃取了一个总线周期。

当处理器需要读写一块数据时,它会向DMA模块发送以下信息:
- 读写请求 :通过处理器和DMA模块之间的读写控制线,指示是读操作还是写操作。
- I/O设备地址

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值