第八章DMA控制 1.DMA系统概述 冷2.可编程DMA控制器8237A 3.8237A在微机系统中的应用
1 ❖ 1. DMA系统概述 ❖ 2. 可编程DMA控制器8237A ❖ 3. 8237A在微机系统中的应用 第八章 DMA控制
本章学习目标 冷DMA的基本功能和在微机系统中的应用 冷 Intel8237A的功能组成和工作原理 冷DMA在微机系统中的应用
2 本章学习目标 ❖ DMA的基本功能和在微机系统中的应用 ❖ Intel 8237A的功能组成和工作原理 ❖ DMA在微机系统中的应用
1.DMA系统概述 冷1.1DMA概述 1.2DMA的功能 1.3DMA控制羅的功能结构
3 1. DMA系统概述 ❖ 1.1 DMA概述 ❖ 1.2 DMA的功能 ❖ 1.3 DMA控制器的功能结构
1.1DMA概述 DMA方式就是直接存储器存取工作方式。 在DMA方式下,外设通过DMA控制器向CPU提 出接管总线控制权的总线要求,CPU在当前 的总线周期结束后,响应DMA请求,并把总 线控制权交给DMA控制器。在DMA控制器的管 理下,外设和寄存器之间就可以直接进行数 据交换
4 1.1 DMA概述 DMA方式就是直接存储器存取工作方式。 在DMA方式下,外设通过DMA控制器向CPU提 出接管总线控制权的总线要求,CPU在当前 的总线周期结束后,响应DMA请求,并把总 线控制权交给DMA控制器。在DMA控制器的管 理下,外设和寄存器之间就可以直接进行数 据交换
1.2DMA的功能 (1)外设通过DMA控制器向CPU提出DMA申请。 (2)DMA控制器接受外设的DMA请求,取得总 线控制权。 (3)总线裁决逻辑对总线申请进行裁决,把 总线控制权交给DMA控制器
5 1.2 DMA的功能 (1)外设通过DMA控制器向CPU提出DMA申请。 (2)DMA控制器接受外设的DMA请求,取得总 线控制权。 (3)总线裁决逻辑对总线申请进行裁决,把 总线控制权交给DMA控制器
(4)DMA控制器通知外设DMA应答,开始进入 DMA传输。 (5)DMA控制器按传输数据的长度直接控制 外设与RAM进行数据交换 (6)DMA操作结東,DMA控制器向外设输出计 数终止信号,通过接口提出中断申请, 并把总线控制权交给CPU,完成一次DMA 数据传输
6 (4)DMA控制器通知外设DMA应答,开始进入 DMA传输。 (5)DMA控制器按传输数据的长度直接控制 外设与RAM进行数据交换。 (6)DMA操作结束,DMA控制器向外设输出计 数终止信号,通过接口提出中断申请, 并把总线控制权交给CPU,完成一次DMA 数据传输
1.3DMA控制器的功能结构 1)总线控制功能 2)具有用于提供交换数据地址的地址寄 存 3)具有数据块长度计数器。 4)具有可编程模式寄存器和状态寄存器
7 1.3 DMA控制器的功能结构 1)总线控制功能。 2)具有用于提供交换数据地址的地址寄 存器。 3)具有数据块长度计数器。 4)具有可编程模式寄存器和状态寄存器
2.可编程DMA控制器8237A 218237A的内部结构 228237A的外部引脚及其功能特性 238237A内部寄存器及其作用
8 2. 可编程DMA控制器8237A ❖ 2.1 8237A的内部结构 ❖ 2.2 8237A的外部引脚及其功能特性 ❖ 2.3 8237A内部寄存器及其作用
2.18237A的内部结构 内部结构如图所示 1.地址寄存器 地址寄存器、基地址寄存器、当前地址寄存器 2.字节数寄存器 字节数寄存器、基本字节寄存器、当前字节计数器
9 2.1 8237A的内部结构 ❖ 内部结构如图所示: 1.地址寄存器 地址寄存器、基地址寄存器、当前地址寄存器 2.字节数寄存器 字节数寄存器、基本字节寄存器、当前字节计数器
减1电路 加1减1电路 暂时字计数器 暂时地址寄存器 o缓冲器AA RESET 定时 (16位) READY (16位) CLK EOP 和 16位总 16 输出缓 A4A IOR 器 读/写缓冲器 控制基地址基字计数当前地址当前字计 MEMR 寄存器寄存器寄存器 数寄存 MEMW 逻辑 (16位)(16位) 命令 ADSTB 控制 写缓冲器 读缓冲器D-D 命令寄存器 O缓冲器 DBo-DE7 (8位) HRQ 11 HLDA 优先 屏蔽寄存 DREQ 权 读泻写状态暂存 器(1位) DREQ3 控制 工作方式寄存器寄存器 DACI -DAC 逻辑 请求寄存 寄存器(8位)(8位 (16位) 8237的结构框图
10 8237的结构框图 定时和 控制 逻辑 优先权 控制 逻辑 写缓冲器 读缓冲器 A4 ~A7 输出缓 冲 器 DB0 ~DB7 D0 ~D1 I/O 缓冲器 命 令 控 制 16 位总线 16 位总 线 读/写缓冲器 当前地址 当前字计 寄存器 数寄存 器 (16 位) (16 位) 读缓冲器 基地址 基字计数 寄存器 寄存器 (16 位) (16 位) A0 ~A3 A8 ~A15 A0 ~A7 减 1 电路 暂时字计数器 (16 位) 加 1/ 减 1 电路 暂时地址寄存器 (16 位) I/O 缓冲器 命令寄存器 (8 位) 屏蔽寄存 器(1 位) 请求寄存 器(1 位) 读/写 工作方式 寄存器 (16 位) 状态 寄存器 (8 位) 暂存 寄存器 (8 位) CS RESET READY CLK EOP IOR IOW MEMR MEMW AEN ADSTB HRQ HLDA DREQ0 ~DREQ3 DACK0 ~DACK3