微机原理与接口技术课件:07 dma控制器8237a
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
15.READY:就绪信号。输入,低速设备 可通过给此引脚加低电平来延长 总线周期。
微机原理与接口技术西北第二民族学院 电信系自动化教研室
勤读力耕 立己达人
2.1 8237A的外部引脚
三、8237A的外部引脚:
16. AEN:(Adress Enable)地址允许信号。 输出,高电平有效。AEN=1时,8237A控制 器输出的存储器单元地址送上系统地址总线, 禁止其他总线控制设备使用总线。在DMA传 送过程中,AEN信号一直有效。 17. ADSTB:(Adress Strobe)地址选通 信 号。输出,低电平有效。表示DB7-DB0输出 的是高8位地址。利用该信号将这8位地址送 入片外地址锁存器。 18. EOP:(End of Process)传输过程结束 信号,双向,低电平有效。 输出:通过外设DMA传送结束。 输入:强迫8237结束DMA操作。
以增加硬件的复杂性为代价;DMA传送期间CPU挂起,可能影响中 断响应与处理。
不适用于小系统、速度要求不高、数据不大的系统。
微机原理与接口技术西北第二民族学院 电信系自动化教研室
1 DMA控制器概述
勤读力耕 立己达人
一、DMA控制器概念:
DMA(Direct Memory Access):直接存储器存取技术, 是一种不需要CPU干预也不需要 软件介入的高速数据传送方式。
微机原理与接口技术西北第二民族学院 电信系自动化教研室
勤读力耕 立己达人
2.1 8237A的外部引脚
三、8237A的外部引脚:
5.A3-A0:(Adress)地址信号。双向, DMAC控制总线时,输出16位地址中 的A3-A0。CPU控制总线时,输入,选 中某个寄存器。 6.A7-A4:(Adress)地址信号。输出16 位地址中的A7-A4(访问存储器)用。 7.DB7-DB0:(Data Bus)数据/地址复用 线。双向,8 位数据线,传送CPU的 控制命令,和内部寄存器的内容。作为 地址高8位锁存。
CPU只是启动DMA过程,但是 不干预这一过程,整个DMA过程 是由硬件自动完成的,也不需要 软件的介入。
在DMA控存 的数据传输。
内存
外设 无需CPU指令
DMA控制器
微机原理与接口技术西北第二民族学院 电信系自动化教研室
1 DMA控制器概述
勤读力耕 立己达人
固定优先级,也可以是循环优先级。 (5)每个通道一次传送的最大字节数为64KB。 (6)8237A提供4种传送方式:单字节传送方式、数据块
传送方式、请求传送方式和级连传送方式。
微机原理与接口技术西北第二民族学院 电信系自动化教研室
2.1 8237A的编程结构
勤读力耕 立己达人
二、8237A的编程结构图(1):
② 数据传送结束
① 数据传送结束
CPU
DMAC
I/O
微机原理与接口技术西北第二民族学院 电信系自动化教研室
1 DMA控制器概述
勤读力耕 立己达人
几种常见DMAC
型号
通道数
8257
4
8237A-5
4
Z8410A
1
MC68B44
4
数据块 长度 16K 64K 64K
64K
最高速 率M/S
0.5
传送 类型 M I/O
微机原理与接口技术西北第二民族学院 电信系自动化教研室
勤读力耕 立己达人
2 8237A的编程结构和外部引脚
二、8237A的外部引脚--与外部的连接图:
要求: 每发生一次DMA请求,就从接口电路74LS244向内存传送一个字节数据。
微机原理与接口技术西北第二民族学院 电信系自动化教研室
勤读力耕 立己达人
微机原理与接口技术西北第二民族学院 电信系自动化教研室
勤读力耕 立己达人
DACK3
选择 页寄存器
DACK2
选择 页寄存器
DACK1
选择 页寄存器
DACK0
页寄存器 选择
A19~A16
8237 DMAC
A19~A16
A15~A0 DMA存储器地址
微机原理与接口技术西北第二民族学院 电信系自动化教研室
勤读力耕 立己达人
DMA如何实现内存到内存的数据传输?
8237 暂存器
D0~D7
A0~A15 MEMW
MEMR
D0~D7
内存 内存
内存到内存的传输
微机原理与接口技术西北第二民族学院 电信系自动化教研室
3 8237A的工作方式
勤读力耕 立己达人
8237A的工作状态 8237A的工作模式 8237A的传送类型 8237A的优先级
2.块传输模式:指DMA控制器每次请求总线连续传送一个数 据块,待整个数据块全部传送完成后再释放总线控制权。 • 由DREQ启动连续地传送数据,直到字节数寄存器从0 减 到FFFFH终止计数,或由外部输入有效信号终结DMA传 送 • DREQ只需维持有效到DACK有效
微机原理与接口技术西北第二民族学院 电信系自动化教研室
1 DMA控制器概述
勤读力耕 立己达人
一、DMA(Direct Memory Access)控制器 概念
数据传送三种方式:查询、中断和DMA(直接存储器存取) 查询、中断: 需要累加器中转;修改地址、判断结束软件完成; DMA:不经过累加器;地址修改、判断结束硬件实现;
主要用于高速、大批量数据传送。如磁盘存取、高速数据采集;
微机原理与接口技术西北第二民族学院 电信系自动化教研室
勤读力耕 立己达人
2.1 8237A的外部引脚
三、8237A的外部引脚--引脚图:
8237A是有 40个引脚的双 列直插式芯片。
40个引脚分 成两组:一组 与CPU的连接; 一组与I/O接 口的连接。
微机原理与接口技术西北第二民族学院 电信系自动化教研室
1.6 M I/O MM
2 M I/O MM I/O I/O
2 M I/O
微机原理与接口技术西北第二民族学院 电信系自动化教研室
勤读力耕 立己达人
2 8237A的编程结构和外部引脚
一、8237A的主要特点:
(1)一个芯片中有4个独立的DMA通道。 (2)可以实现内存与外设,内存与内存的数据传输。 (3)每一个通道的DMA请求都可以被允许或禁止。 (4)每个通道的DMA请求有不同的优先级,即可以是
出,给I/O设备发写命令。作从模块 时:输入,接收来自CPU的写命令
10.MEMR:(Memory Read)存储器读命 令。输出,低电平有效。
11.MEMW:(Memory Write)存储器写命 令。输出,低电平有效。
微机原理与接口技术西北第二民族学院 电信系自动化教研室
勤读力耕 立己达人
2.1 8237A的外部引脚
三、8237A的外部引脚:
12. CLK:(clock )时钟信号。输入, 8237A:最高3MHZ. 8237A-5:最高5MHZ.
13. CS:(Chip Slected)片选信号。输 入,低电平有效。
14. RESET:复位信号。输入,高电平有 效。8237内部寄存器清0,屏蔽寄 存器置1,8237A处于状态,允许 CPU访问。
的控制。这时,CPU对DMAC进行初始化操作或
从
DMAC读取状态信息。
微机原理与接口技术西北第二民族学院 电信系自动化教研室
3 8237A的工作方式
二、8237A工作模式(1)
勤读力耕 立己达人
1.单字节传输模式:在单字节传输方式下,DMA控制器每 次请求总线只传送一个字节数据,传送完后即释放总线控制 权。
微机原理与接口技术西北第二民族学院 电信系自动化教研室
3 8237A的工作方式
勤读力耕 立己达人
二、8237A工作模式(续)
4.级联传输模式:在系统中有多片8237A,构成主从
式DMA系统。级联的办法是把从片的HRQ端与主
片的DREQ端联。
微处理器 HOLD |
HLDA
第一级
DREQ 0 | HRQ DACK 0 HLDA
3 8237A的工作方式
勤读力耕 立己达人
二、8237A工作模式(续)
3.请求传输模式:此方式与块传输方式基本类似,不 同的是每传输完一个字节,DMA控制器都要检测 由I/O接口发来的DMA请求信号DREQ是否仍然有 效,如果该信号仍有效,则继续进行DMA传输; 否则,就暂停传输,交还总线控制权给CPU,直至 DMA请求信号再次变为有效,数据块传输则从刚 才暂停的那一点继续进行下去。
Request)。
② 总线请求HRQ
① DMA请求DREQ
CPU
DMAC
I/O
微机原理与接口技术西北第二民族学院 电信系自动化教研室
1 DMA控制器概述
勤读力耕 立己达人
二、DMA控制器工作过程--响应阶段
1. CPU向DMA发总线保持回答信号HLDA。 状态: CPU让出总线,DMAC为主控者。
微机原理与接口技术西北第二民族学院 电信系自动化教研室
勤读力耕 立己达人
2.1 8237A的外部引脚
三、8237A的外部引脚:
8. IOR:(I/O Read)I/O读信号。三态双向, 低电平有效。作主模块时:输出,
给I/O设备发读命令。作从模块时: 输入,接收来自CPU的读命令。
9.IOW:(I/O Write)I/O写信号。三态双 向,低电平有效。作主模块时:输
勤读力耕 立己达人
2.1 8237A的外部引脚
三、8237A的外部引脚:
1.DREQ0-DREQ3:(DMA Request)DMA请 求信号。由外设输入,信号极性可编程决定 2.HRQ(Hold Request) :总线请求信号。输 出,高电平有效。 8237A向CPU请求使用总 线。 3.HLDA(Hold Acknowledge):总线响应信 号。输入,高电平有效。CPU对 HRQ的回 答,表示已让出总线控制权。 4.DACK0-DACK3:(DMA Acknowledge)DMA应答信号。DMAC 向外设输出,信号极性可编程决定。
② 总线请求
① DMA请求
CPU ③总线响应HLDA DMAC ④ DMA响应DMAC I/O
微机原理与接口技术西北第二民族学院 电信系自动化教研室
1 DMA控制器概述
勤读力耕 立己达人
二、DMA控制器工作过程--传送结束阶段
1.数据传送完毕,DMAC向外设传送“过程结束”信号 EOP。
2. DMAC向CPU交回总线,CPU重新获得总线的控制权。
微机原理与接口技术西北第二民族学院 电信系自动化教研室
3 8237A的工作方式
勤读力耕 立己达人
一、8237A的工作状态
1.主模块:接管并取得总线控制权,取代CPU而成为系统的
主控者。DMAC通过三总线向M或I/O发出地址码
及
读/写信号,以控制M和I/O设备之间的数据传送。
2.从模块:未取得总线控制时,同于其他 I/O设备,受CPU
在8086/88系统中,系统的寻址范围是1MB, 地址线有20条,即A0~A19。为了能够在 8086/88系统中使用8237来实现DMA,需要用 硬件提供一组4位的页寄存器。
通道0、1、2、3各有一个4位的页寄存器。 在进行DMA传送之前,这些页寄存器可利用 I/O地址来装入和读出。当进行DMA传送时, DMAC将A0~A15放在系统总线上,同时页寄存 器把A16~A19也放在系统总线上,形成 A0~A19这20位地址信号实现DMA传送。其地 址产生如图所示。
② 总线请求
① DMA请求
CPU ③总线响应HLDA DMAC
I/O
微机原理与接口技术西北第二民族学院 电信系自动化教研室
1 DMA控制器概述
勤读力耕 立己达人
二、DMA控制器工作过程--数据传送阶段
1. DMAC向外设发DMA请求回答信号DMACK,选中
外设。
2. 并通过AB选中内存单元
3. 通过DB将数据从源端传送到目的端。
微机原理与接口技术西北第二民族学院 电信系自动化教研室
勤读力耕 立己达人
1 DMA控制器概要 2 8237A的编程结构和外部引脚 3 8237A的工作模式和模式寄存器 4 8237A的工作时序 5 8237A的控制寄存器和状态寄存器 6 8237A各寄存器对应的端口地址
微机原理与接口技术西北第二民族学院 电信系自动化教研室
二、DMA控制器工作过程:
DMA控制器的工作过程分为四个阶段,分别是: 申请阶段 响应阶段 数据传送阶段 传送结束阶段。
微机原理与接口技术西北第二民族学院 电信系自动化教研室
1 DMA控制器概述
勤读力耕 立己达人
二、DMA控制器工作过程---申请阶段
1.外设向DMAC发出DMA请求信号DREQ(DMA Request); 2. DMAC向CPU发总线请求信号HRQ(Hold
微机原理与接口技术西北第二民族学院 电信系自动化教研室
勤读力耕 立己达人
2.1 8237A的外部引脚
三、8237A的外部引脚:
16. AEN:(Adress Enable)地址允许信号。 输出,高电平有效。AEN=1时,8237A控制 器输出的存储器单元地址送上系统地址总线, 禁止其他总线控制设备使用总线。在DMA传 送过程中,AEN信号一直有效。 17. ADSTB:(Adress Strobe)地址选通 信 号。输出,低电平有效。表示DB7-DB0输出 的是高8位地址。利用该信号将这8位地址送 入片外地址锁存器。 18. EOP:(End of Process)传输过程结束 信号,双向,低电平有效。 输出:通过外设DMA传送结束。 输入:强迫8237结束DMA操作。
以增加硬件的复杂性为代价;DMA传送期间CPU挂起,可能影响中 断响应与处理。
不适用于小系统、速度要求不高、数据不大的系统。
微机原理与接口技术西北第二民族学院 电信系自动化教研室
1 DMA控制器概述
勤读力耕 立己达人
一、DMA控制器概念:
DMA(Direct Memory Access):直接存储器存取技术, 是一种不需要CPU干预也不需要 软件介入的高速数据传送方式。
微机原理与接口技术西北第二民族学院 电信系自动化教研室
勤读力耕 立己达人
2.1 8237A的外部引脚
三、8237A的外部引脚:
5.A3-A0:(Adress)地址信号。双向, DMAC控制总线时,输出16位地址中 的A3-A0。CPU控制总线时,输入,选 中某个寄存器。 6.A7-A4:(Adress)地址信号。输出16 位地址中的A7-A4(访问存储器)用。 7.DB7-DB0:(Data Bus)数据/地址复用 线。双向,8 位数据线,传送CPU的 控制命令,和内部寄存器的内容。作为 地址高8位锁存。
CPU只是启动DMA过程,但是 不干预这一过程,整个DMA过程 是由硬件自动完成的,也不需要 软件的介入。
在DMA控存 的数据传输。
内存
外设 无需CPU指令
DMA控制器
微机原理与接口技术西北第二民族学院 电信系自动化教研室
1 DMA控制器概述
勤读力耕 立己达人
固定优先级,也可以是循环优先级。 (5)每个通道一次传送的最大字节数为64KB。 (6)8237A提供4种传送方式:单字节传送方式、数据块
传送方式、请求传送方式和级连传送方式。
微机原理与接口技术西北第二民族学院 电信系自动化教研室
2.1 8237A的编程结构
勤读力耕 立己达人
二、8237A的编程结构图(1):
② 数据传送结束
① 数据传送结束
CPU
DMAC
I/O
微机原理与接口技术西北第二民族学院 电信系自动化教研室
1 DMA控制器概述
勤读力耕 立己达人
几种常见DMAC
型号
通道数
8257
4
8237A-5
4
Z8410A
1
MC68B44
4
数据块 长度 16K 64K 64K
64K
最高速 率M/S
0.5
传送 类型 M I/O
微机原理与接口技术西北第二民族学院 电信系自动化教研室
勤读力耕 立己达人
2 8237A的编程结构和外部引脚
二、8237A的外部引脚--与外部的连接图:
要求: 每发生一次DMA请求,就从接口电路74LS244向内存传送一个字节数据。
微机原理与接口技术西北第二民族学院 电信系自动化教研室
勤读力耕 立己达人
微机原理与接口技术西北第二民族学院 电信系自动化教研室
勤读力耕 立己达人
DACK3
选择 页寄存器
DACK2
选择 页寄存器
DACK1
选择 页寄存器
DACK0
页寄存器 选择
A19~A16
8237 DMAC
A19~A16
A15~A0 DMA存储器地址
微机原理与接口技术西北第二民族学院 电信系自动化教研室
勤读力耕 立己达人
DMA如何实现内存到内存的数据传输?
8237 暂存器
D0~D7
A0~A15 MEMW
MEMR
D0~D7
内存 内存
内存到内存的传输
微机原理与接口技术西北第二民族学院 电信系自动化教研室
3 8237A的工作方式
勤读力耕 立己达人
8237A的工作状态 8237A的工作模式 8237A的传送类型 8237A的优先级
2.块传输模式:指DMA控制器每次请求总线连续传送一个数 据块,待整个数据块全部传送完成后再释放总线控制权。 • 由DREQ启动连续地传送数据,直到字节数寄存器从0 减 到FFFFH终止计数,或由外部输入有效信号终结DMA传 送 • DREQ只需维持有效到DACK有效
微机原理与接口技术西北第二民族学院 电信系自动化教研室
1 DMA控制器概述
勤读力耕 立己达人
一、DMA(Direct Memory Access)控制器 概念
数据传送三种方式:查询、中断和DMA(直接存储器存取) 查询、中断: 需要累加器中转;修改地址、判断结束软件完成; DMA:不经过累加器;地址修改、判断结束硬件实现;
主要用于高速、大批量数据传送。如磁盘存取、高速数据采集;
微机原理与接口技术西北第二民族学院 电信系自动化教研室
勤读力耕 立己达人
2.1 8237A的外部引脚
三、8237A的外部引脚--引脚图:
8237A是有 40个引脚的双 列直插式芯片。
40个引脚分 成两组:一组 与CPU的连接; 一组与I/O接 口的连接。
微机原理与接口技术西北第二民族学院 电信系自动化教研室
1.6 M I/O MM
2 M I/O MM I/O I/O
2 M I/O
微机原理与接口技术西北第二民族学院 电信系自动化教研室
勤读力耕 立己达人
2 8237A的编程结构和外部引脚
一、8237A的主要特点:
(1)一个芯片中有4个独立的DMA通道。 (2)可以实现内存与外设,内存与内存的数据传输。 (3)每一个通道的DMA请求都可以被允许或禁止。 (4)每个通道的DMA请求有不同的优先级,即可以是
出,给I/O设备发写命令。作从模块 时:输入,接收来自CPU的写命令
10.MEMR:(Memory Read)存储器读命 令。输出,低电平有效。
11.MEMW:(Memory Write)存储器写命 令。输出,低电平有效。
微机原理与接口技术西北第二民族学院 电信系自动化教研室
勤读力耕 立己达人
2.1 8237A的外部引脚
三、8237A的外部引脚:
12. CLK:(clock )时钟信号。输入, 8237A:最高3MHZ. 8237A-5:最高5MHZ.
13. CS:(Chip Slected)片选信号。输 入,低电平有效。
14. RESET:复位信号。输入,高电平有 效。8237内部寄存器清0,屏蔽寄 存器置1,8237A处于状态,允许 CPU访问。
的控制。这时,CPU对DMAC进行初始化操作或
从
DMAC读取状态信息。
微机原理与接口技术西北第二民族学院 电信系自动化教研室
3 8237A的工作方式
二、8237A工作模式(1)
勤读力耕 立己达人
1.单字节传输模式:在单字节传输方式下,DMA控制器每 次请求总线只传送一个字节数据,传送完后即释放总线控制 权。
微机原理与接口技术西北第二民族学院 电信系自动化教研室
3 8237A的工作方式
勤读力耕 立己达人
二、8237A工作模式(续)
4.级联传输模式:在系统中有多片8237A,构成主从
式DMA系统。级联的办法是把从片的HRQ端与主
片的DREQ端联。
微处理器 HOLD |
HLDA
第一级
DREQ 0 | HRQ DACK 0 HLDA
3 8237A的工作方式
勤读力耕 立己达人
二、8237A工作模式(续)
3.请求传输模式:此方式与块传输方式基本类似,不 同的是每传输完一个字节,DMA控制器都要检测 由I/O接口发来的DMA请求信号DREQ是否仍然有 效,如果该信号仍有效,则继续进行DMA传输; 否则,就暂停传输,交还总线控制权给CPU,直至 DMA请求信号再次变为有效,数据块传输则从刚 才暂停的那一点继续进行下去。
Request)。
② 总线请求HRQ
① DMA请求DREQ
CPU
DMAC
I/O
微机原理与接口技术西北第二民族学院 电信系自动化教研室
1 DMA控制器概述
勤读力耕 立己达人
二、DMA控制器工作过程--响应阶段
1. CPU向DMA发总线保持回答信号HLDA。 状态: CPU让出总线,DMAC为主控者。
微机原理与接口技术西北第二民族学院 电信系自动化教研室
勤读力耕 立己达人
2.1 8237A的外部引脚
三、8237A的外部引脚:
8. IOR:(I/O Read)I/O读信号。三态双向, 低电平有效。作主模块时:输出,
给I/O设备发读命令。作从模块时: 输入,接收来自CPU的读命令。
9.IOW:(I/O Write)I/O写信号。三态双 向,低电平有效。作主模块时:输
勤读力耕 立己达人
2.1 8237A的外部引脚
三、8237A的外部引脚:
1.DREQ0-DREQ3:(DMA Request)DMA请 求信号。由外设输入,信号极性可编程决定 2.HRQ(Hold Request) :总线请求信号。输 出,高电平有效。 8237A向CPU请求使用总 线。 3.HLDA(Hold Acknowledge):总线响应信 号。输入,高电平有效。CPU对 HRQ的回 答,表示已让出总线控制权。 4.DACK0-DACK3:(DMA Acknowledge)DMA应答信号。DMAC 向外设输出,信号极性可编程决定。
② 总线请求
① DMA请求
CPU ③总线响应HLDA DMAC ④ DMA响应DMAC I/O
微机原理与接口技术西北第二民族学院 电信系自动化教研室
1 DMA控制器概述
勤读力耕 立己达人
二、DMA控制器工作过程--传送结束阶段
1.数据传送完毕,DMAC向外设传送“过程结束”信号 EOP。
2. DMAC向CPU交回总线,CPU重新获得总线的控制权。
微机原理与接口技术西北第二民族学院 电信系自动化教研室
3 8237A的工作方式
勤读力耕 立己达人
一、8237A的工作状态
1.主模块:接管并取得总线控制权,取代CPU而成为系统的
主控者。DMAC通过三总线向M或I/O发出地址码
及
读/写信号,以控制M和I/O设备之间的数据传送。
2.从模块:未取得总线控制时,同于其他 I/O设备,受CPU
在8086/88系统中,系统的寻址范围是1MB, 地址线有20条,即A0~A19。为了能够在 8086/88系统中使用8237来实现DMA,需要用 硬件提供一组4位的页寄存器。
通道0、1、2、3各有一个4位的页寄存器。 在进行DMA传送之前,这些页寄存器可利用 I/O地址来装入和读出。当进行DMA传送时, DMAC将A0~A15放在系统总线上,同时页寄存 器把A16~A19也放在系统总线上,形成 A0~A19这20位地址信号实现DMA传送。其地 址产生如图所示。
② 总线请求
① DMA请求
CPU ③总线响应HLDA DMAC
I/O
微机原理与接口技术西北第二民族学院 电信系自动化教研室
1 DMA控制器概述
勤读力耕 立己达人
二、DMA控制器工作过程--数据传送阶段
1. DMAC向外设发DMA请求回答信号DMACK,选中
外设。
2. 并通过AB选中内存单元
3. 通过DB将数据从源端传送到目的端。
微机原理与接口技术西北第二民族学院 电信系自动化教研室
勤读力耕 立己达人
1 DMA控制器概要 2 8237A的编程结构和外部引脚 3 8237A的工作模式和模式寄存器 4 8237A的工作时序 5 8237A的控制寄存器和状态寄存器 6 8237A各寄存器对应的端口地址
微机原理与接口技术西北第二民族学院 电信系自动化教研室
二、DMA控制器工作过程:
DMA控制器的工作过程分为四个阶段,分别是: 申请阶段 响应阶段 数据传送阶段 传送结束阶段。
微机原理与接口技术西北第二民族学院 电信系自动化教研室
1 DMA控制器概述
勤读力耕 立己达人
二、DMA控制器工作过程---申请阶段
1.外设向DMAC发出DMA请求信号DREQ(DMA Request); 2. DMAC向CPU发总线请求信号HRQ(Hold