第8章 微机原理DMA技术与DMA控制器
DMA与DMA控制器.ppt

校验传输 写传输
1 0 读传输
11
非法
X X D7 D6=11
• 8237A 控制/命令REG. 格式(写8号):硬件设置与运行控制
➢8237A硬件设置:
DACK有效电平 低电平有效
D7 D6 D5 D4 0
高电平有效
1
DREQ有效电平
高电平有效
0
低电平有效
1
扩展写
不扩展写
0
扩展写
1
D3=1
X
优先级类型
➢ RESET:输入,复位信号,复位时屏幕寄存器 置1,其它寄存器置0。
➢ EOP#:双向。输出时,表明内部通道传送结束; 输入时,表明外部强迫DMA传送仃止。
➢ DREQ0-DREQ3:I/O设备DMA请求输入信号。 ➢ DACK0-DACK3:输出DMA请求的响应。 ➢ HRQ:8237A向处理器发出的总线请求信号。 ➢ HLDA:处理器发给8237A的总线请求响应信号。
非法
A
写屏蔽标志 REG.
单一位
非法
B
写模式 REG.
非法
C
清除字节指针 F/F
读暂存器
D
复位 (总清)
非法
E
清除/屏蔽标志 REG.
三个软件 命令不依 赖DB上 数据
非法
F
所有位
写所有屏蔽 REG
• 8237A 模式 REG. 格式(写B号):工作方式设定
模式选择
D7 D6 D5 D4
随机请求传输模式 0
M M传送操作时经DB7-DB0,将M数据送 8237A暂存器。 ➢ A3-A4:地址线,从模块时为输入,处理器寻 址8237A;主模块时输出低压位地址。
微机原理与接口技术:18第8章 计数器定时器与DMA控制器

交通信息与控制工程系教案(理论教学用)
课程名称微机原理与接口技术第 18 次第 9 周 2 学时上课教室WM1310 课程类型专业基础课授课对象自动化专业章节名称第8章计数器/定时器与DMA控制器(8.1,8.2)
教学目的和要求1.了解软硬件定时的原理;2.掌握8253的原理及应用。
讲授主要内容及时间分配1.接口电路概况;(10min)
2.8253的外部引线和内部结构;(20min)
3.8253的工作方式和控制字;(30min)
4.8253的应用。
(30min)
教学重点与难点重点:
1.软硬件定时的原理;2.8253的原理及应用。
难点:
8253的原理及应用。
要求掌握知识点和分析方法1.了解软硬件定时的原理;2.掌握8253的原理及应用。
启发与提问
1.软件定时与硬件定时的区别?教学手段
多媒体
作业布置思考题:
1.了解最新的硬件定时芯片的原理及其应用,如DS12887等。
主要参考资料
备注
长安大学讲稿(第十九讲)。
第8章 DMA控制器(微型计算机技术课件)

二、 DMA数据传送的工作过程(续)
⑤ 待 CPU 将总线浮空,即放弃了总线控制权后,由 DMAC接管系统总线的控制权,并向外设送出DMA 的应答信号。 ⑥ 由DMAC送出地址信号和控制信号,实现外设与内 存或内存不同区域之间大量数据的快速传送。 ⑦ DMAC将规定的数据字节传送完之后,通过向CPU 发HOLD信号,撤消对CPU的DMA请求。CPU收到 此信号,一方面使 HLDA 无效,另一方面又重新开 始控制总线,实现正常取指令、分析指令、执行指 令的操作。
四、8237A的两种工作状态(续)
作为主模块工作时(有效周期): 当 8237A 作为主模块工作时,它会往总线 上提供要访问的内存地址,地址的低8位放在 A7~A0,而地址的高8位放在D7~D0。 作为主模块工作时, 8237A 还必须输出必 要 的 读 写 信 号 , IOR 、 IOW 、 MEMR 、 MEMW。
8 8 8 6 4 4
5.8237的三态缓冲器
8237 的数据引线,地址引线都有三 态缓冲器,因而可以接也可以释放 总线。
三、8237的外部结构
8237 是具有 40 个引脚的双列直插式 集成电路芯片
首先分类展开外部引脚
1. 请求与响应信号
DREQ0~DREQ3:DMA通道请求。当外设需 要请求DMA服务时,将DREQ信号置成有效电 平,并要保持到产生响应信号。对应于四个独 立的通道,DREQ的有效电平可以通过编程来 加以确定,优先级可以固定,也可以旋转。 HRQ :总线请求。 8237A 输出有效的 HRQ 高 电平,向CPU申请使用系统总线。 HLDA:总线响应。8237A接受来自CPU的响 应信号HLDA,取得了总线的控制权。 DACK0~DACK3:DMA通道响应。8237A使 请求服务的通道产生相应的DMA响应信号。
DMA控制器

西北师范大学计算机科学系http:// 版权声明本电子教案内容为西北师范大学计算机科学系微机原理与汇编语言课讲义,大家可以自己个人使用。
但由于本教案同时也部分使用了其他人所写讲义或CAI课件的内容,因此禁止使用本材料进行任何商业性或赢利性活动。
同时作者不承担由于使用本教案而引发的其他连带责任。
转载时请保留本版权声明。
-索国瑞suogr@DMA控制器❑DMA基本概念❑DMA控制器82371 DMA 基本概念利用中断进行数据传送,可以大大提高CPU 的利用率。
例如,某外设平均每 1 秒钟可以传送100 个字节。
如果采用查询方式,在这1 秒钟之内CPU 就要全部用于查询和传送;如果用中断传送方式的话,假定CPU 每传送一个字节的中断服务程序需要100μs,那么传送100 字节,CPU需用10 ms,即占1 秒的1/100。
于是,其余99/100的时间CPU就可以用于执行主程序。
但是中断传送仍然是由CPU 通过程序来传送数据。
每次都要完成保护断点,保护现场等操作,要执行多条指令。
每条指令都需要花费CPU的时间,这对于一个高速I/O 设备,以及成组交换数据的情况,例如磁盘与内存间的信息交换,就显得速度太慢,操作太烦琐。
所以希望用硬件在外设与内存间直接进行数据交换(DMA,Direct Memory Access),而不通过CPU。
这样数据传送速度的上限就取决于存储器和外设的数据传输速度。
但是,通常系统的地址总线和数据总线以及一些控制信号线(例如M/IO#、RD #、WR#等)都是由CPU 管理的。
……在DMA 方式时,希望CPU把总线控制权让出来(即使CPU 连到这些总线上的引脚处于第三态:高阻状态),由DMA 控制器来接管总线。
DMA 控制器将控制传送的字节数,判断DMA 传送是否结束,以及发出DMA 结束等信号。
通常DMA 的工作流程如图8-17所示;实现上述操作的框图,如图8-18所示。
当外设把数据准备好以后,发出一个选通脉冲,使DMA请求触发器置1。
DMA技术与DMA控制器

数据 状态/控制 状态/ 端口 端口 Ready
DMA控制器 DMA控制器 地址寄存器 计数器 控制/ 控制/状态 寄存器
HOLD C P U 存 储 器
HLDA
DMA请求 DMA请求 数据缓冲 寄存器 DMA请求 DMA请求 触发器 DMA响应 DMA响应
输入设备
DMA控制器工作原理图1 DMA控制器工作原理图1 控制器工作原理图
8237A的主要特性 的主要特性
4.具有单字节传送、数据块传送、请求传送 和级联传送四种工作方式。 5.可用级联方式扩展DMA通道数目。 6.DMA传送结束信号可由内部计数产生,也 可由外部输入提供。 7.单一的+5V电源,40个引脚双列直插式封 装。 8.采用5MHz时钟,传送速率可达1.6M字节/ 秒。 9.8237可以级连,任意扩展通道数。
DMA技术概述 技术概述
2、DMA传送方式的特点 DMA传送方式的特点 外设和内存之间,直接进行数据传送, 不通过CPU, 传送效率高。适用于在内存 与高速外设、内存两个区域之间,或两 个高速外设之间进行大批量数据传送。 电路结构复杂,硬件开销较大
DMA 传送过程示意图
总线
CPU
总线 请求 总线 响应
内 存
DMA请求 请求 DREQ
DMAC
DMA响应 响应 DACK
外 设
§11.1.1 DMAC的基本功能 的基本功能
接收接口往DMA控制器发出DMA请求信号后, DMA控制器能向CPU发出总线请求信号 HOLD(高电平)。 当CPU向DMA发出响应信号HLDA(高电平)以 后,DMA能接管对总线的控制,进入DMA方式。 能向地址总线发出内存地址信息,对其进 行寻址及修改地址指针。
8237A的工作原理 的工作原理
DMA控制器专业知识讲座

8.3 8237A旳工作模式和模式寄存器
1)工作模式:
① 单字节传播模式 ② 块传播模式 ③ 祈求传播模式
每完毕一种字节就释放 总线,然后P时中断传播。
每传完一种字节, 对DREQ测试。
④ 级联传播模式
第8章 DMA控制器
8.1 DMA控制器概要
DMA传送方式
为了克服程序控制传送旳不足:
外设←→CPU→←存储器
用专用接口电路直接和存储器进行数据传
送。
外设←→存储器
直接存储器存取DMA方式
特点:DMAC取得总线旳控制权,而且提供内 存/外设旳地址和读写控制信号
8.1 DMA控制器概要
① 作为从模块工作时 作为一种一般I/O接口与CPU通信。 CPU对它进行读写操作,以便初始化 或读取状态。
模式寄存器旳格式
8.4 8237A旳工作时序
8.5 8237A旳控制寄存器和状态寄存器
1、控制字:控制DMA控制器全部通道旳操作方式。
8.5 8237A旳控制寄存器和状态寄存器
2、状态字:
8.5 8237A旳控制寄存器和状态寄存器
3、祈求字和屏蔽字 DMA祈求寄存器旳格式 :
软件设置DMA 祈求,EOP信 号清除标志
8.5 8237A旳控制寄存器和状态寄存器
屏蔽寄存器旳格式
单个通道旳 屏蔽字
8.5 8237A旳控制寄存器和状态寄存器
综合屏蔽命令旳格式
4个通道旳 屏蔽字
8.5 8237A旳控制寄存器和状态寄存器
4、复位命令也叫综合清除命令,它旳功能
和RESET信号相同。使控制寄存器、状态 寄存器、DMA祈求寄存器、暂存器以及先/ 后触发器都清0,而使屏蔽寄存器置位。
第8章 DMA控制器

微机原理 DMA控制器(4)
8.2 DMA控制器8237A的编程结构和外部信号
• 8237A的对外连接信号
•CLK •CS# 时钟 片选 •IOW# • EOP# • DREQ • DACK • HRQ • HLDA 输入输出设备写 DMA传输过程结束 通道DMA请求输入 应答信号 总线请求 总线响应
微机原理 DMA控制器(13)
8.5 8237A的控制寄存器和状态寄存器 • 8237A全屏蔽命令的格式
微机原理 DMA控制器(14)
8.6 8237A各寄存器对应的端口地址
A3 1 1 1 1 1 1 1 1 1 1 A2 0 0 0 0 0 1 1 1 1 1 A1 0 0 0 1 1 0 0 0 1 1 A0 0 0 1 0 1 0 1 1 0 1 IOR 0 1 1 1 1 1 0 1 1 1 IOW 1 0 0 0 0 0 1 0 0 0 命令 读状态寄存器 写控制寄存器 写DMA请求寄存器 写单屏蔽寄存器 写模式寄存器 清除字节指针 读暂存器 发复位命令 清除屏蔽寄存器 写全屏蔽寄存器
微机原理 DMA控制器(23)
本章内容到此结束!
8.7 8237A的编程和使用
• 对通道1~3的地址寄存器的值进行测试
MOV DX,DMA+2 MOV CX,3 READ:IN AL,DX MOV AH,AL IN AL,DX CMP AX,0FFFFH JNZ HHH INC DX INC DX LOOP READ HHH:HLT
微机原理 DMA控制器(19)
8.7 8237A的编程和使用
• 8237A的初始化
总清 地址低字节 地址高字节 计数低字节 计数高字节 方式字
命令字
屏蔽字 其他通道参数
微机原理与接口技术9章(DMA控制器)

DMA控制器8237A
• 8237的引脚
– 其他
• EOP :双向,当字节数计数器减为0时,在 上输出一个有效的低电平脉冲,表明DMA传 送已经结束;也可接收外部的信号,强行结 束8237的DMA操作或者重新进行8237的初始 化 • CLK:时钟信号输入,对于标准的8237,其输 入时钟频率为3MHz • READY:输入,高电平表示传送准备好。可用 来在DMA传送周期中插入等待状态 • RESET:输入,复位信号。芯片复位时,屏蔽 寄存器被置1,其他寄存器均清零,8237工作 于空闲周期SI
– DMAC是控制存储器和外设之间直接高速传送数 据的硬件 – DMAC应具备的功能
• 能接受外设的DMA请求信号,并向外设发出DMA响 应信号 • 能向CPU发出总线请求信号,当CPU发出总线保持响 应信号后,能够接管对总线的控制权 • 能发出地址信息,对存储器寻址并修改地址 • 能向存储器和外设发出读/写控制信号 • 能控制传输的字节数,并判断传送是否结束 • 能发出DMA结束信号,DMA传送结束后,能释放总 线,让CPU重新获得总线控制权
DMA控制器8237A
• 8237的引脚
– 读写控制信号
• MEMR、MEMW:输出信号,控制对存储器的 读写 • IOW 、IOR :双向信号
– 输入信号:CPU向8237写控制字或读8237状态 – 输出信号:8237控制对外设的读写
DMA控制器8237A
• 8237的引脚
– 数据地址信号
• DB0~DB7:既是CPU向8237的数据通道(输入或输出);主动状 态时为向存储器输出的高8位地址A8~15 • A0~7:分两部分 – A0~3为双向,由CPU输入时选择8237的端口 – 输出时A0~3和A4~7一起输出存储器低8位地址 • ADSTB:正脉冲输出,地址选通信号,将DB0~7中的高8位地址信 号锁存到外部锁存器中 • AEN:高电平输出,地址输出允许,由它把锁存在外部锁存器中 的高8位地址送入系统的地址总线,同时禁止其它系统驱动器使 用系统总线 • CS :输入信号,片选信号
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
屏蔽寄存器,8位。
请求标志寄存器, 8位 暂存器, 8位
• 作从模块----接收CPU的信号 和命令字,产生控制,读/写内部 寄存器 • 作主模块----控制总线,产生 控制命令完成DMA传送
定时和控制逻辑
优先级编码电路---优先级裁决
16
16
8237的引脚功能
17
17
8237的引脚功能
控制总线的主模块要提供系统的地址及控制信号。
DMA控制器与处理器配合可实现系统的DMA功能。
2
2. DMA系统组成及工作过程․ DMA系统组成
地址总线
总线 请求 HOLD HLDA CPU 总线 响应 控制总线 HRQ DMAC HLDA DACK DREQ
DMA 请求 I/O 设备 DMA 响应
36
存储器到存储器的传送
固定使用通道0和通道1 通道0的地址寄存器存源区地址 通道1的地址寄存器存目的区地址,通道1的字节数寄 存器存传送的字节数 传送由设置通道0的软件请求启动 每传送一字节需用8个时钟周期 前4个时钟周期用通道0地址寄存器的地址从源区读 数据送入8237A的临时寄存器 后4个时钟周期用通道1地址寄存器的地址把临时寄 存器中的数据写入目的区
31
(2) DMA传送-数据块方式
由DREQ启动就连续地传送数据,直到字节数 寄存器从0减到FFFFH终止计数,或由外部输 入有效信号终结DMA传送 DREQ只需维持有效到DACK有效 特点: 一次请求传送一个数据块,效率高 整个DMA传送期间CPU长时间无法控制总线 (无法响应其他DMA请求、无法处理中断等)
28
28
DACK3 DACK2 DACK1 DACK0
选择 页寄存器 选择 页寄存器 选择 页寄存器 页寄存器
选择 A19~A16
8237 DMAC
A19~A16
A15~A0 DMA存储器地址
利用页寄存器产生存储器地址
29
29
8237A的工作方式
DMA传送方式 · 单字节传送方式 · 数据块传送方式 · 请求传送方式 · 级连方式 DMA传送类型 · DMA读 · DMA写 · DMA检验 存储器到存储器的传送
30
DMA传送方式
(1) DMA传送-单字节方式
每次DMA传送时仅传送一个字节 传送一个字节之后,字节数寄存器减1,地址寄存器 加1或减1,HRQ变为无效 8237A释放系统总线,将控制权还给CPU 若传送后使字节数从0减到FFFFH,则终结DMA传送 或重新初始化 特点: 一次传送一个字节,效率略低 DMA传送之间CPU有机会重新获取总线控制权
33
(4) DMA传送-级连方式
用于通过多个8237A级连以扩展通道 第二级的HRQ和HLDA信号连到第一级某个通 道的DREQ和DACK上 第二级芯片的优先权等级与所连通道的优先权 相对应 第一级只起优先权网络的作用,实际的操作由 第二级芯片完成 还可由第二级扩展到第三级等
34
8237A的级联
那对于 20 位 地 址 线 8237 如 何 处理?
在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传送。 其地址产生如图所示。
DMAC向I/O设备发出 的DMA应答信号
CPU脱离对系统总线的控制, 由DMAC接管对系统总线的控制
9
§8.2 可编程DMA控制器8237A
§8.2.1 8237A的主要特性 1.具有四个独立的 DMA 通道,每个通道都具 有64K的存贮器寻址能力,即一次传送的最大 长度为64K字节。 2 .可实现内存与外设之间的高速大批量数据 传送 ,也可实现内存两个不同区域之间的高 速数据传送。 3.每个通道的 DMA 请求均可分别允许或禁止, 且四个通道的 DMA 请求的优先权可由软件设 置为固定的或循环的。
DMAC 控制传一个字节 Y
DMA请求? N 放总线
块结束否? Y 放总线中断请求
随机请求 DEMAND REQUEST
8
DMA传送的过程
I/O设备向DMAC发出DMA请求
完成设定的字节数据传送, CPU恢复对系统总线的控制
DMAC向CPU发出总线请求
DMAC进行一个字节的传送
CPU在执行完当前指令的当前 的总线周期后,向DMAC发出 总线响应信号
18
8237的引脚功能
•地址信号
:CPU初始化8237或读8237状态时所需的 片选信号 A7~A0(输出):8237访问存储器的地址信号 的低8位。 A3~A0(输入):CPU初始化8237或读8237 状态时,用于寻址8237内部寄存器
19
19
8237的引脚功能
•数据信号(双向): DB7~DB0
,则强制DMAC内部
21
8237的引脚功能
MEMR/MEMW: 8237发出的存储器读/写信号 IOR/IOW: 8237作为主控时,输出的I/O读/写信号。 8237作为从控时,CPU发出的I/O读/写信号,用于 读/写8237
22
22
8237的引脚功能
ADSTB:地址选通信号
用于启动地址锁存器
20
20
8237的引脚功能
•地址允许信号:AEN 8237作为主控时(8237控制总线),输出AEN=1。 8237作为从控时(CPU控制总线),输出AEN=0。 •DMA传输结束信号: (双向)
当DMAC内部任一通道传输结束,8237发出 若由外部给DMAC送入有效的 所有通道结束传输。
21
第二级 第一级 8237
微处理器
HOLD | HLDA | HRQ HLDA
DREQ 0 | DACK0 |
HRQ
HLDA
|
DREQ 3 | DACK 3
HRQ HLDA 8237
35
DMA传送类型
DMA读——把数据由存储器传送到外设 由MEMR*有效从存储器读出数据,由IOW*有效把 这一数据写入外设 DMA写——把外设输入的数据写入存储器 由IOR*有效从外设输入数据,由MEMW*有效把这 一数据写入存储器。 DMA检验——空操作 8237A不进行任何检验 外设可以进行DMA校验 存储器和I/O控制线保持无效,不进行传送
26
26
由上可见8237工作 于模块方式,可取 代CPU产生地址及 控制信息。
8237A处于DMA方式时,全部地址均用来寻 址存储器 ,无法同时提供 I/O设备的端口地 DMA 控制器 8237 址.为了寻址外部设备,8237A提供DACK信 号,作为对请求DMA方式的外部设备的应答, 并指明该外部设备被认可,可以进行DMA传 送.在整个传输过程中只要DACK信 号,IOR,IOW同时有效,就能完成读外部设 备的I/O读写操作.所以,在DMA方式下,I/O 设备的地址无效.即:以DACK代替了片选和 译码功能.
第8章 DMA技术与DMA控制器
§8.1 DMA技术概述 §8.2 可编程DMA控制器8237A §8.3 DMA技术在微机系统中的应用
直接存储器存取
1
§8.1 DMA技术概述
1.DMA(Direct Memory Access)的概念
DMA方式不用处理器干预完成M与I/O间数据传送。 DMA期间系统总线由其它主模块控制(驱动)
READY:存储器或I/O的就绪信号
23
23
DMA控制器8237
工作方式 1)从模块工作方式: 当CPU将数据送入或取出8237时,DMA完全 象一个普通的I/O接口,此时它工作于从模块。
24
24
DMA控制器8237
2)主模块工作方式:
此时DMA已取代CPU控制系统。它 将提供系统正常工作的地址信息,控 制信息完成DMA方式的数据传送。
10
8237A的主要特性
4 .具有单字节传送、数据块传送、请求传送 和级联传送四种工作方式。 5.可用级联方式扩展DMA通道数目。 6.DMA传送结束信号可由内部计数产生,也 可由外部输入提供。 7.单一的+5V电源,40个引脚双列直插式封 装。 8.采用 5MHz时钟,传送速率可达 1.6M字节 /秒。
12
§8.2.2 8237A的工作原理
1.8237A的编程结构 编程结构见下页图 内部有大量寄存器,内部寄存器的功能、 端口地址等信息 参见下表.
13
Intel 8237A可编程DMA控制器框图
14
1)8237A组成说明:
8237A有四个独立通道:通道0~通道3。每个通道可独立响 应外部DMA请求,完成DMA传送。 基地址寄存器 ----放DMA传送RAM地址初值 当前地址寄存器: ----DMA传送时内容变化,可读。
32
(3) DMA传送-请求方式
DREQ信号有效就连续传送数据 DREQ信号无效,DMA传送被暂时中止,8237A释放 总线,CPU可继续操作 DMA通道的地址和字节数的中间值仍被保持 DREQ信号再次有效,DMA传送就继续进行 如果字节数寄存器从0减到FFFFH,或者由外部送来 一个有效的信号,将终止计数 特点: DMA操作可由外设利用DREQ信号控制传送的过程