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 仅用
超级会员免费看
订阅专栏 解锁全文
103

被折叠的 条评论
为什么被折叠?



