44、80x86 系列 PC 中的 DMA 技术详解

80x86 系列 PC 中的 DMA 技术详解

1. DMA 基础概念

直接内存访问(DMA)是一种无需通过 CPU 即可直接访问内存的系统。在 PC 中,DMA 通过 8237A DMA 芯片实现,该芯片有 4 个数据传输通道,每个通道可用于不同设备,如软盘或硬盘。每个通道需单独编程,要为其提供数据传输的基地址和字数。8237 芯片包含 8 个控制寄存器。

2. IBM PC/XT 中的 DMA

在 IBM PC/XT 中,通道 0 用于刷新 DRAM(优先级最高),通道 1 常用于网络,通道 2 用于软盘控制器。

3. 80x86 基于 PC AT 类型计算机的 DMA

从 PC AT 开始,IBM 增加了一个额外的 8237 DMA,克隆制造商也纷纷效仿。下面详细介绍 286、386、486 和奔腾 PC、PS 及其兼容机中的 DMA。

3.1 8237 DMA#1

为保持与 PC/XT 的兼容性,DMA #1 的 DREQ1、DREQ2 和 DREQ3 可通过扩展槽使用,用于 8 位数据传输,能在 8 位 I/O 和 PC AT 的 16 - MB 内存范围之间传输数据。其端口地址与 PC/XT 完全相同。IBM 放弃了使用 DMA 通道 0 刷新 DRAM 的想法,改用 DRAM 刷新电路,使通道 0 可通过 AT 扩展槽使用,相关信号为 DREQ0 和 DACK0,可通过 PC AT 总线的 36 针边缘访问。

关于 80x86 PC AT 类型计算机中 DMA #1 的通道 0、1、2 和 3,需注意以下几点:
- 通道 0、1、2 和 3 仅用

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值