2018_ch11_第十一章DMA和DMAC

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

D0
不用
0 0 0 1 1 1
0 选择通道0 1 选择通道1 0 选择通道2 1 选择通道3
清除DMA请求位 建立DMA请求位
微机原理与系统 第十一章 DMA和DMAC
31
8)屏蔽寄存器
D7
D6
D5 不用
D4
D3
D2
D1 0
D0 通道选择 0 1 0 1 Channel 0 Channel 1 Channel 2 Channel 3
RD RB RA
微机原理与系统 第十一章 DMA和DMAC
43
微机原理与系统 第十一章 DMA和DMAC
44
微机原理与系统 第十一章 DMA和DMAC
45
微机原理与系统 第十一章 DMA和DMAC
46
11.3.2 8237A的一般编程方法
微机原理与系统 第十一章 DMA和DMAC ¦
47
例1(教材P353):某系统使用1片8237A作为DMAC, 基地址为00H。要求利用通道0从外设读1024字节数据块 到内存以6000H开始的区域,每传完一个字节地址加1, 采用数据块连续传送方式,禁止自动预置、DREQ和 DACK高有效。 初始化程序如下:
Si
Si S0
S0
S1 S2
S3 S4
S2
S3
S4
Si
Si
A15~A8 有效地址 有效地址
8237A-5的DMA时序
教材P348
扩展写信号
微机原理与系统 第十一章 DMA和DMAC
22
关于时序的几点讨论
微机原理与系统 第十一章 DMA和DMAC
23
共用寄存器
命令寄存器; 状态寄存器 请求寄存器; 屏蔽寄存器
N
DMA 请求?
Y
DMAC发BUS请求
CPU响应DMA 放弃BUS DMAC控制 完成一次传送
块结束否?
N
DMA 放弃 总线
Y
传送结束放弃总线
微机原理与系统 第十一章 DMA和DMAC
6
允许 DMA
p 特点:获得总线使用 权之后,DMAC控制总 线连续传送,直到传 送任务全部完成。 p 但是,如果在传送期 间遇到了外部输入的 EOP信号,传送任务将 被强行终止。
13
微机原理与系统 第十一章 DMA和DMAC
14
微机原理与系统 第十一章 DMA和DMAC
15
微机原理与系统 第十一章 DMA和DMAC
16
微机原理与系统 第十一章 DMA和DMAC
17
8237A DMAC有7种状态周期:
SI、S0、S1 、S2、S3、S4及SW
SI SI S0 S0 S1 S2 DACK S3 SW SW S4
微机原理与系统 第十一章 DMA和DMAC
57
习题:P355
þ þ þ
4 5 6
暂存寄存器
微机原理与系统 第十一章 DMA和DMAC
36
内容
微机原理与系统 第十一章 DMA和DMAC
37
11.3.1 PC/XT机中的DMA控制逻辑
微机原理与系统 第十一章 DMA和DMAC
微机原理与系统 第十一章 DMA和DMAC
39
请同学们自行标注 出图中DMAC引脚 信号的传送方向
微机原理与系统 第十一章 DMA和DMAC
1: 通道 0计数结束
通道 2有DMA请求
1
1:通道 1计数结束
通道 1 有DMA请求
1
1:通道 2计数结束
通道 0 有DMA请求 1
1: 通道 3计数结束
微机原理与系统 第十一章 DMA和DMAC
34
10)暂时寄存器
在MM传送时存放中间结果,最后一次传送的内容可 以在从态时读出。
11)软件命令
0 1 0 1
1 0 1
清 Channel 1 Mask 位 设 Channel 1 Mask 位
微机原理与系统 第十一章 DMA和DMAC
33
9)状态寄存器
4个通道共用,8位,存放DMAC的工作状态。 复位或读状态寄存器之后,状态位全部被清除。
D7 通道 3 有DMA请求 1 D6 D5 D4 D3 D2 D1 D0
HLDA DREQ 被动态 空闲 状态 请求应 答态
主动状态 数据传 输状态 内部状态流程图
微机原理与系统 第十一章 DMA和DMAC
18
微机原理与系统 第十一章 DMA和DMAC
19
微机原理与系统 第十一章 DMA和DMAC
20
11
微机原理与系统 第十一章 DMA和DMAC
21
CLK DREQ HRQ HLDA AEN ADSTB D7~D0 A7~A0 DACK XXR XXW
8237A 工作 Enable 8237A Disable 8237A
共用意味着“一刀切” 无法按照每个通道的特点 进行个性化设置
优先级类型 固定优先级 循环优先级 0 1 0 1 X
时序类型 普通时序 压缩时序 D0=1
微机原理与系统 第十一章 DMA和DMAC
29
D7 传送方式选择 查询方式 单字节传送 数据块传送 级联工作方式 0 0 1 1
DMA EQU 00H OUT DMA+0DH,AL MOV AX,6000H OUT DMA+00H,AL MOV AL,AH OUT DMA+00H,AL ; 假设DMAC基首地址为00H ; 软件总清(复位)命令 ; 内存基地址 ; 分两次写入,先低 ; 现在F/L=? ; 后高,现在F/L=?
微机原理与系统 第十一章 DMA和DMAC
10
微机原理与系统 第十一章 DMA和DMAC
11
Intel 8237A的内部结构请参见教材P337图11.1
微机原理与系统 第十一章 DMA和DMAC
12
请忽略内部细节 注意某些引脚的传送方向
引脚布局参见教 材P338图11.2
微机原理与系统 第十一章 DMA和DMAC

;本例没有涉及页面寄存器,事实上初始化必须要写页面寄存器。
微机原理与系统 第十一章 DMA和DMAC
48
微机原理与系统 第十一章 DMA和DMAC
Hale Waihona Puke 49微机原理与系统 第十一章 DMA和DMAC
50
微机原理与系统 第十一章 DMA和DMAC
51
11.3.3 PC/XT机的DMA控制器的使用*
专用寄存器
方式寄存器; 字计数器; 地址寄存器。
微机原理与系统 第十一章 DMA和DMAC
24
内部寄存器(教材P340)
微机原理与系统 第十一章 DMA和DMAC
25
微机原理与系统 第十一章 DMA和DMAC
26
微机原理与系统 第十一章 DMA和DMAC
27
微机原理与系统 第十一章 DMA和DMAC
DMA请求?
N
Y
DMA 放弃 总线 DMAC发BUS请求
CPU 响应 DMA 放弃 BUS
N
Y
DMA请求有效?
DMAC控制 完成一次传送
N
EOP?
N
块结束否?
Y
Y
传送结束放弃总线
微机原理与系统 第十一章 DMA和DMAC
8
内容
微机原理与系统 第十一章 DMA和DMAC
9
11.2 8237A的组成与工作原理
共三条,仅与写入端口有关,与写入内容无关:
0CH:清除先后触发器F/L,使装入顺序为先低后高。 0DH:总清命令(软件复位),复位后屏蔽寄存器均 为1,其它寄存器为0。 0EH:清除所有的屏蔽位。
微机原理与系统 第十一章 DMA和DMAC
35
内部寄存器端口地址分配表(教材P347表11.2)
端口地址 16进制 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 寄存器 读 通道0当前地址寄存器 通道0当前字计数器 通道1当前地址寄存器 通道1当前字计数器 通道2当前地址寄存器 通道2当前字计数器 通道3当前地址寄存器 通道3当前字计数器 状态寄存器 写 通道0基地址与当前地址寄存器 通道0基字与当前字计数器 通道1基地址与当前地址寄存器 通道1基字与当前字计数器 通道2基地址与当前地址寄存器 通道2基字与当前字计数器 通道3基地址与当前地址寄存器 通道3基字与当前字计数器 命令寄存器 请求寄存器 屏蔽寄存器(通道屏蔽字) 工作方式寄存器 清除先后触发器 主清命令字(软件复位命令字) 屏蔽寄存器(清除屏蔽软件命令) 屏蔽寄存器(主屏蔽字)
40
微机原理与系统 第十一章 DMA和DMAC
41
微机原理与系统 第十一章 DMA和DMAC
42
74LS670存储单元访问特性 以及在PC/XT机中的应用 WR WB WA 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 功 能 写入#0寄存器 写入#1寄存器 写入#2寄存器 写入#3寄存器 功 能 读出#0寄存器 读出#1寄存器 读出#2寄存器 读出#3寄存器
微机原理与系统 第十一章 DMA和DMAC
52
微机原理与系统 第十一章 DMA和DMAC
53
微机原理与系统 第十一章 DMA和DMAC
54
微机原理与系统 第十一章 DMA和DMAC
55
微机原理与系统 第十一章 DMA和DMAC DREQ0 DACK0 HOLD HLDA
56
HOLD
HLDA
N
EOP?
DMA请求?
N
Y
DMAC发BUS请求
CPU 响应 DMA 放弃 BUS
DMAC控制 完成一次传送
N
块结束否?
Y
Y
传送结束放弃总线
微机原理与系统 第十一章 DMA和DMAC
7
允许 DMA
p 与成组传送区别: 在传送期间,若DMA请 求信号无效,DMAC暂 停传送并放弃总线。 当DMA请求信号重新有 效,DMAC再次申请总 线使用权,获准之后 从断点处续传。 p 在询问方式中,DMA请 求信号的作用类似于 “PAUSE”。
屏蔽寄存器
通道0 通道1 通道2 通道3 DRQ0 DRQ1 DRQ2 DRQ3
清除 MASK 位 建立 MASK 位
0 1
0 1 1
微机原理与系统 第十一章 DMA和DMAC
32
D7
D6 不用
D5
D4
D3
D2
D1
D0 0
清 Channel 0 Mask 位 设 Channel 0 Mask 位
清 Channel 3 M 位 设 Channel 3 M 位 清 Channel 2 M 位 设 Channel 2 M 位
第十一章 DMA与Intel 8237A DMAC
微机原理与系统 第十一章 DMA和DMAC
2
内容
微机原理与系统 第十一章 DMA和DMAC
3
11-1 DMA传送概述
微机原理与系统 第十一章 DMA和DMAC
4
微机原理与系统 第十一章 DMA和DMAC
5
允许 DMA
r
特点:每完成一次传 送,无论任务是否结 束,DMAC都主动放弃 总线。如果任务没有 完成,DMAC继续申请 总线使用权。
28
DACK有效电平 低电平有效 高电平有效 DREQ有效电平 高电平有效 低电平有效
D7 0 1
D6
D5
D4
D3
D2
D1
D0 0 1 禁止 允许
解释
MEMMEM传输
Channel 0 地址保持不变 0 1 扩展写 不扩展写 扩展写 D3=1 0 1 X 0 1 0 1 X Disable Enable D0=0
说明
每个通道只有4个选项: 1. 传送类型 2. 传送方式 3. 地址修改方向 4. 自动预置四个选项
自动预置功能选择 禁止 允许
微机原理与系统 第十一章 DMA和DMAC
30
7)请求寄存器
请求寄存器
通道0 通道1 通道2 通道3 DRQ0 DRQ1 DRQ2 DRQ3
D7
D6
D5
D4
D3
D2
D1
8237A DMAC ( I)
DREQ3 DACK3
DREQ0 DACK0 DREQ1 DACK1 DREQ2 DACK2 HOLD HLDA DREQ0 DACK0
8237A DMAC (III)
DREQ1 DACK1 DREQ2 DACK2 DREQ3 DACK3
8237A DMAC (II)
DREQ1 DACK1 DREQ2 DACK2 DREQ3 DACK3
D6
D5
D4
D3
D2
D1 0
D0 通道选择 0 1 0 1 选 0# Channel 选 1# Channel 选 2# Channel 选 3# Channel
0 1 0 1
0 1 1
传输类型选择 地址增量选择 地址加1 0 1 地址减1 0 0 1 1 0 1 X 0 1 0 1 X 非 法 D7 D6=11 校验传输
相关文档
最新文档