微机原理课件DMA控制器

6
DMA传送的一般工作过程
7
4 I/O处理机方式
• I/O处理机
– 为了提高整个系统的工作效率,使CPU完全摆脱管理、控制输入/输出 的沉重负担。
– 如Intel 8089就是一种专门配合8086/8088使用的I/O处理器芯片。
• I/O处理机功能
– 有自己的指令系统,也能独立地执行程序,能承担原来由CPU处理的 全部输入/输出操作。
14
1.主从模态
• DMA控制器既可以作为I/O端口接受CPU的读写操作,也可以 代替CPU占有总线,控制外设与存储器之间传送数据,它充 分体现了DMA控制器的两大特性,即总线的主控性和总线的 从属性。
• 按这两大特性,它也就有两种工作模态:
– 主态方式 – 从态方式
15
(1)主态方式
• 在主态方式时,DMA控制器是总线的控制者,它如同CPU一 样,掌握总线的控制权,可对涉及的外设端口或存储器单元 进行读写操作。
– 单字节传送方式 – 数据块传送方式 – 请求传送方式 – 级联传送方式
18
(1)单字节传送方式
• 单字节传送方式时,一次只传送一个字节,然后释放总线。 若又有外设DMA请求,8237A再向CPU发下一次总线请求 HRQ,获得总线控制权后,再传送下一个字节数据。
• 在这种传送方式中应注意以下几方面:
• 为了使CPU和外设以及外设和外设之间能并行工作,提高系 统的工作效率,充分发挥CPU高速运算的能力,在微机系统 中引入了中断技术,利用中断来实现CPU与外设之间的数据 传送,这就是程序中断传送方式。
• 在程序中断传送方式中,通常是在主程序中某一时刻安排启 动某一台外设的指令,然后CPU继续执行其主程序,当外设 完成数据传送的准备后,向CPU发出“中断请求”信号,在 CPU可以响应中断的条件下,中断(即暂停)现行主程序的 执行,而转去执行“中断服务程序”,在“中断服务程序” 中完成一次CPU与外设之间的数据传送,传送完成后仍返回 被中断的断点处继续执行主程序。
16
(2)从态方式
• 在从态方式时,CPU是总线的控制者,而DMA控制器不过是 普通的一个外部设备,有若干个端口而已,它的地位同一般 的I/O接口芯片是一样的。
• DMA控制器在开始工作之前,要由CPU写入初始化控制字, 建立DMA控制器工作的基本条件:
– 如传送方式、传送类型、地址增加还是减少、是否设置自动初始化方 式等
20
(3)请求传送方式
• 请求传送方式又称查询方式,类似数据块传送,但每传送一 个字节后,检测DREQ状态,若无效则停止,若有效则继续 DMA传送。在下述情况之一发生时,将停止传送:
– 1)DREQ变为无效。 – 2)字节数计数器减1由0变为FFFFH,产生TC信号。 – 3)外界输入有效信号。
• 当DREQ无效时,8237A停止传送,内部的当前地址寄存器和 当前字节数计数器还保留当时的数值,一旦外设准备好要传 送的新数据,可以再次使DREQ变为有效,就可以使传送继续 下去。当DREQ无效时,8237A停止传送,此时释放总线,当 DREQ重新有效时,将重新开始一次DMA请求过程。
– 直接存储器存取(DMA)方式:采用这种方式时,在DMA控制器的 管理下,I/O设备和存储器直接交换信息,而不需要CPU介入。
– I/O处理机方式:引入I/O处理机,全部的输入/输出操作由I/O处理机独 立地承担。
• 前两种主要由程序来实现,后两种主要由附加硬件来实现, 微机中多数采用前三种。
2
1 程序查询方式
21
(4)级连方式
• 这种方式允许连接一个以上的芯片来扩展DMA通道的个数。 • 连接方法
– 将扩展的DMA芯片的HRQ和HLDA分别连到主片的某个通道的DREQ 和DACK
• 当主片接到扩展芯片的DMA请求并响应后,它仅发出DACK 应答,其它的地址信号与控制信号一律禁止,由扩展芯片控 制DMA传送。这种情况下,主片的连接通道只起两个作用:
• 程序查询方式中,CPU对I/O设备的控制全部由程序来实现, 所有的输入输出操作都处于正在被执行的程序的控制下,I/O 设备完全处于被动地位。
– 无条件传送方式 – 查询传送方式
• 所谓查询,就是询问外部设备的工作状态,通过这一状态来 判定外设是否已具备了与CPU交换数据的条件,即外设是否 已准备好与CPU交换数据。
5
DMA控制器的功能
• (1)当外设准备就绪,希望进行DMA操作时,会向DMA控 制器发出DMA请求信号,DMA控制器接到此信号后,应能向 CPU发总线请求信号。
• (2)CPU接到总线请求信号后,如果允许,则会发出DMA响 应信号,从而CPU放弃对总线的控制,这时DMA控制器应能 实行对总线的控制。
• (3)DMA控制器得到总线控制权以后,要往地址总线发送 地址信号,修改所用的存储器的地址指针。
• (4)在DMA传送期间,DMA控制器应能发存储器或接口的 读/写控制信号。
• (5)能统计传送的字节数,并且判断DMA传送是否结束。 • (6)能向CPU发出DMA结束信号,将总线控制权交还给CPU。
9
8237A的内部结构及引脚功能
10
11
8237A内部端口地址分配
12
8237A芯片内部共有12种寄存器
• 1)基地址寄存器 16位×4
• 2)基字节数计数器 16位×4
• 3)当前地址寄存器 16位×4
• 4)当前字节数计数器 16位×4
• 5)方式字寄存器 6位×4
• 6)暂存地址寄存器 16位×1
– 对输入设备而言,这个状态指示输入设备的数据是否已经准备就绪, CPU是否可以随时来读取这个数据。
– 对输出设备而言,这个状态指示输出设备的数据接收寄存器是否已空, 是否可以随时接受CPU送来的数据。

2 程序中断方式
• 无条件传送方式和查询传送方式的缺点是CPU和外设只能串 行工作,各外设之间也只能串行工作。
– CPU还要写入一些数据,以确定DMA方式传送的具体内容,如存储区 地址、传送字节数等
• 在这些操作中,DMA控制器以被规定的端口地址接收数据。 另外,在DMA传送后,CPU也往往读取DMA控制器的状态。 在这两种情况下,DMA控制器是系统的从属设备。
17
2.传送方式
• 8237A通过编程,可选择4种传送方式:
19
(2)数据块传送方式
• 数据块传送方式时,响应一次DMA请求,将完成设定的字节 数的全部传送。当字节数计数器减l由0变为FFFFH时,产生 TC有效信号,使8237A将总线控制权交还给CPU从而结束 DMA操作方式,外部有效的信号也可以终结DMA传送。
• 在DACK变成有效之前,DREQ信号必须保持有效。一旦 DACK有效,不管DREQ如何,8237A一直不放弃总线控制权。 即便是在传送过程中,DREQ变为无效,8237A也不会释放总 线,只是暂停数据的传送,等到通道请求信号再次有效后, 8237A又继续进行数据传送,直到整块数据全部传完,才会退 出DMA操作,将总线控制权交还CPU。
– 一是优先级连接的作用,即将从片的4个DMA通道纳入到主片的优先 级管理机制
– 二是向CPU输出HRQ和传递HLDA。
22
3.传送类型
• DMA可以对每个通道的方式字寄存器进行设置,采用DMA 读、DMA写、DMA校验等三种不同的传送类型。
• (1)DMA读
– 8237A输出有效的MEMR和IOW信号,把存储器的数据读到I/O设备。
• 如果I/O设备的数据传输率较高,那么CPU和这样的外部设备 进行数据传输时,即使尽量压缩程序查询方式和中断方式中 的非数据传输时间,也仍然不能满足要求。
• 为了解决上述问题,实现按数据块传输,就需要改变传输方 式,为此,提出了在外设和内存之间直接传送数据的方式, 这就是直接存储器传输方式,即DMA方式。
• 主要的功能有: 1.在一片8237A内有4个独立的DMA通道。 2.每个通道的DMA请求可分别编程允许或禁止。 3.每个通道的DMA请求有不同的中断优先级(即DMA操作优先权),优 先级有两种:固定优先级和循环优先级,由编程决定。固定优先级的顺序 是通道0最高,依次是通道1,通道2和通道3。 4.可在外设与存储器,存储器与存储器之间传送数据,存储器地址寄存器 可以加1或减1。 5.可由软件编程改变DMA读写周期长度。 6.有四种工作方式:单字节传送方式,数据块传送方式,请求传送方式, 级连方式。 7.可以多片级连,扩展通道数。 8.DMA操作结束有两种方法:一是字节计数器减1由0变为FFFFH,二是 外界通过输入负脉冲,强制DMA操作结束。 9.DMA操作启动有两种方法:一是外设输入DMA请求信号DREQ,二是 通过软件编程从内部启动。
– 1)在DACK有效之前,DREQ应保持有效。 – 2)即使DREQ在传送过程中一直保持有效,在总线响应后HRQ也将变
成无效,并在传送一个字节后DMA控制器释放总线,但由于DREQ一 直有效,HRQ很快再次变成有效,在芯片接受到新的HLDA后,下一 个字节又开始传输。 – 3)每次传送后,当前字节数计数器减1,当前地址寄存器减1或加1, 当当前字节数计数器减1由0变成FFFFH时,发出有效信号(产生终止 计数TC信号),如果通道编程设为自动初始化方式,则自动地重新装 入计数值和地址寄存器。
• 如对外设进行控制、对输入/输出过程进行管理,并能完成字与字之间的 装配和拆卸、码制的转换、数据块的错误检测和纠错,以及格式变换等操 作。
– 同时它还可以向CPU报告外设和外设控制器的状态,对状态进行分析, 并对输入/输出系统出现的各种情况进行处理。
– I/O处理机同CPU程序并行执行。
8
二、DMA控制器8237A
• (2)DMA写
– 8237A输出有效的MEMW和IOR信号,把I/O设备的数据写到存储器。
• (3)DMA校验
合集下载

第8章 DMA控制器(微型计算机技术课件)

第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响应信号。

微机原理与接口技术9章(DMA控制器)

微机原理与接口技术9章(DMA控制器)
• 8位模式寄存器
– 接收并保存来自于CPU的方式控制字,使本通道能够工作 于不同的方式下
精选
DMA控制器8237A
• 8237的内部结构பைடு நூலகம்
– 4个独立的DMA通道共用的寄存器
• 1个16位的地址暂存寄存器 • 1个16位的字节数暂存寄存器 • 1个8位的状态寄存器 • 1个8位的控制(命令)寄存器 • 1个8位的暂存寄存器 • 1个4位的屏蔽寄存器 • 1个4位的请求寄存器
• 能接受外设的DMA请求信号,并向外设发出DMA响 应信号
• 能向CPU发出总线请求信号,当CPU发出总线保持响 应信号后,能够接管对总线的控制权
• 能发出地址信息,对存储器寻址并修改地址 • 能向存储器和外设发出读/写控制信号 • 能控制传输的字节数,并判断传送是否结束 • 能发出DMA结束信号,DMA传送结束后,能释放总
精选
DMA控制器8237A
• 对于内存不同区域之间的DMA传送,则应先用一个 DMA存储器读周期将数据从内存的源区域读出,存 入到DMAC的内部数据暂存器中,再利用一个DMA存 储器写周期将该数据写到内存的目的区域中去
精选
概述
• DMAC的功能
– DMAC是控制存储器和外设之间直接高速传送数 据的硬件
– DMAC应具备的功能
– DMAC向外设发出DMA应答信号DACK,通知该 外设成为被选中的DMA传送设备
– 同时,向存储器发出地址信号以及向发送存储 器和外设读写控制信号,控制数据按照初始化 设定的方向实现外设与内存之间大量数据的快 速传送
精选
概述
• DMA数据传送过程
– DMAC将规定的数据字节传送完之后,撤销总 线请求信号HRQ;CPU收到此信号,一方面使 HLDA无效,使得DMAC脱开三总线,另一方面 CPU又重新控制总线。

微机原理与接口技术课件:07 dma控制器8237a-PPT资料59页

微机原理与接口技术课件:07 dma控制器8237a-PPT资料59页
的控制。这时,CPU对DMAC进行初始化操作或从 DMAC读取状态信息。
微机原理与接口技术西北第二民族学院 电信系自动化教研室
3 8237A的工作方式
二、8237A工作模式(1)
勤读力耕 立己达人
1.单字节传输模式:在单字节传输方式下,DMA控制器每次 请求总线只传送一个字节数据,传送完后即释放总线控制权。
微机原理与接口技术西北第二民族学院 电信系自动化教研室
勤读力耕 立己达人
DACK3
选择 页寄存器
DACK2
选择 页寄存器
DACK1
选择 页寄存器
DACK0
页寄存器 选择
A19~A16
8237 DMAC
A19~A16
A15~A0 DMA存储器地址
微机原理与接口技术西北第二民族学院 电信系自动化教研室
微机原理与接口技术西北第二民族学院 电信系自动化教研室
3 8237A的工作方式
勤读力耕 立己达人
一、8237A的工作状态
1.主模块:接管并取得总线控制权,取代CPU而成为系统的
主控者。DMAC通过三总线向M或I/O发出地址码及 读/写信号,以控制M和I/O设备之间的数据传送。
2.从模块:未取得总线控制时,同于其他 I/O设备,受CPU
微机原理与接口技术西北第二民族学院 电信系自动化教研室
勤读力耕 立己达人
2.1 8237A的外部引脚
三、8237A的外部引脚:
8. IOR:(I/O Read)I/O读信号。三态双向, 低电平有效。作主模块时:输出,
给I/O设备发读命令。作从模块时: 输入,接收来自CPU的读命令。
9.IOW:(I/O Write)I/O写信号。三态双 向,低电平有效。作主模块时:输

微机原理第十章 DMA控制器

微机原理第十章 DMA控制器

模式寄存器 当前地址寄存器
通道0
基地址寄存器
READY RESET DREQ0
当前字节计数器
基本字节寄存器 DACK0
ADSTB
DB7DB0
暂存器
通道1
DREQ1 DACK1
CS
A3-A0 A7-A4
通道2
DREQ2 DACK2
通道3
DREQ3 DACK3 EOP
8237A的内部编程结构和外部连接
•CLK — 时钟输入端。用于控制芯片内部的操作和 数据传输速率。
块传输模式
8237A 可连续进行多个字节的传输, 只有当计数结束或外部I/O接口送来一个 有效的EOP信号时,才释放系统总线而结 束DMA传输。
请求传输模式
8237A 每完成一个字节的传输都对 DREQ端进行测试,一旦测到为无效电平, 则8237A会立即暂停传输,但测试过程仍 在进行。当测试到DREQ又变为有效电平 时,便在原来的基础上继续DMA传输。
4. 工作模式 每个通道可以四种模式之一工作。 模式一:单字节传输模式 模式二:块传输模式 模式三:请求传输模式 模式四:级联传输模式
单字节传输模式
8237A 每完成一个字节的传输便释放 系统总线,但在释放系统总线后会立即对 DREQ端进行测试,一旦测到为有效电平, 则8237A又会立即发出总线请求,在获得 总线控制权后,再次成为总线主模块而进 行下一字节的DMA传输。
•IOW — 输入/输出设备写双向端。
•EOP — DMA传输过程结束双向端。
•DREQ — 通道请求输入端。每通道对应一个。
•DACK — 8237A送给I/O接口的回答输出端。 每通道对应一个。
•HRQ — 总线请求输出端。

微机原理和接口课件 第四章 DMA技术

微机原理和接口课件 第四章  DMA技术
(1)DMAC只能提供16位地址: A0~A7(低8位) DB0 ~DB7(高8位) (2)PC/XT地址总线20位: ① DMAC提供16位A0~A15 ②页面地址寄存器4位, A16 ~A19 (3)PC/AT地总24位 ①DMAC提供16位 ②页面地址8位(PC/AT)(A16 ~A23)
8 D0~7 8237A DMAC G
D5=1 地址减1 D5=0 地址加1
00=校验 01=DMA写:I/O→RAM 10=DMA读:RAM →I/O 11=无效
注意:
单一方式: 通道启动一次,只传送一个数据,传送完就释放系统 总线交还CPU,并且: 当前地址寄存器+1(-1) 当前字节计数器-1
块传送:
启动一次可把整个数据块传送完,并且,当前字节计 数器减到0,产生EOP-信号,释放总线。
74LS 244
A0~7 3# 2# 1# 0#
74LS 374 页面 74LS670 DMAAEN
A8~15 8 A16~19 4
64K
图4.6 8237A在系统中有效地址的生成 地址总线20位 A1 ~A7 由DMAC地址直线产生 A8~A15 由DMAC地址直接产生 A16 ~A19 经页面地址产生 最后,DMAAEN-信号全部选通20位地址,给系统地址总线,即内存地址。
I/O →RAM 读盘(DMA写)= 0 1 0 0 0 1 1 0 B (46H) RAM →I/O 写盘(DMA读)= 0 1 0 0 1 0 1 0 B (4AH)
因此,从软盘上读一个扇区的数据存放到内存区 方式字为46H,写一个扇区的数据到软盘为4AH。
问:校验盘?
(2) 基值地址寄存器(DMA+1,+2,+4,+6) 传送中基值地址不变,只写不读。 (3) 当前地址寄存器(DMA+0,+2,+4,+6)

!微机原理讲义(第8章DMA控制器的编程结构及编程)

!微机原理讲义(第8章DMA控制器的编程结构及编程)
26
9.2 DMA控制器8237A的原理
(4)控制信号
ADSTB:地址选通信号。此信号有效时,DMA控制器的当前
地址寄存器中的高8位地址通过DB0~DB7送到外部锁存器。
AEN:地址允许。使地址锁存器中的高8位地址送地址总线。 READY:准备就绪信号。低电平时,8237A处于等待状态,
高电平表示外设或存储器准备就绪。
EOP:DMA传输过程结束信号。DMA传送过程结束,则从
EOP输出一个低有效脉冲。若从EOP输入低脉冲信号,则表 明外部强制结束DMA传送。
27
3. 8237A工作时各信号的配合

作为从模块工作时

8237A用高12位地址产生片选信号,用低4位来选择内部寄存 器 用IOR和IOW作为读/写控制端 此时信号CS、HRQ、AEN均为低电平
DREQ
HRQ
DMAC
DACK HLDA
CPU
23
9.2 DMA控制器8237A的原理
2. 8237A的外部信号 (2)地址信号线
A3 ~ A0:地址线,双向三态。
被动状态下,为输入,作为CPU对8237A内部的
16个寄存器与存储器地址的最
DMA的传送过程分5个阶段:
1. 初始化阶段
要传送的数据字节数 ► 数据在存储器中的起始地址 ► 传送方向 ► DMAC的通道号 ……

DMAC
11
DMA的传送过程分5个阶段:
2. 申请阶段
►当外设有DMA需求,并且已准备就绪,则向
DMA控制器发出DMA请求信号DREQ。
►DMA控制器接收到DMA请求信号后,向CPU
CPU在每个DMA周期结束后
DMAC发总线请求

《16位微机原理及接口技术》课件第6章

(2)成组传送方式。一个DMA请求可以传送一组信息。在 DMAC 初 始 化 时 , 由 编 程 决 定 这 一 组 信 息 的 字 节 数 , 只 要 在 DACK 有 效 之 前 DREQ 保 持 有 效 即 可 。 一 旦 DACK 有 效 , 不 管 DREQ是否有效,DMAC一直不放弃总线控制权, 直到整个数组 传送完。
器。 PC/XT使用一片8237A, PC/AT使用两片8237A, 在高档微 机中常使用多功能芯片取代8237A,但多功能芯片中的DMA控 制器与8237A的功能基本相同。
1. 8237A的内部结构和引脚功能
8237A 是 具 有 4 个 独 立 DMA 通 道 的 可 编 程 DMA 控 制 器 (DMAC),它使用单一的+5 V电源、单相时钟和40引脚双列 直插式封装。在实际应用中,8237A必须与一片8位锁存器一起 使用,才能形成一个完整的4 通道DMA控制器。8237A经初始化 后, 可以控制每一个通道在存储器和I/O口之间以最高1.6 M波 特的速率传送最多达64 KB的数据块, 而不需要CPU的介入。
Hale Waihona Puke (2)读/写逻辑。当CPU对8237A初始化或对8237A寄存器进 行读操作时,8237A就像I/O端口一样被操作,读/写逻辑接收 IOR或IOW信号。当IOR为低电平时,CPU可以读取8237A内部 寄存器的值;当IOW为低电平时,CPU可以将数据写入8237A的 内部寄存器中。
在DMA传送期间,系统由8237A控制总线。此时,8237A分 两次向地址总线上送出要访问的内存单元20位物理地址中的低 16位,8237A输出必要的读/写信号,这些信号分别为I/O读信号 IOR,I/O 写 信 号 IOW , 存 储 器 读 信 号 MEMR 和 存 储 器 写 信 号 MEMW。

《DMA控制器》课件


在视频采集和编码等应用中,DMA控制
网络传输
2
器可大幅提高数据传输速度和精度。
在网络数据传输中,DMA控制器可实现
数据处理和传输的高度并行化,有效提
升网络传输效率。
3
外设控制
在外设控制方面,DMA控制器可实现 CPU和外部设备的解耦,有效降低了系 统的延迟和负载。
CPU依赖问题
在没有DMA的情况下,CPU必须执行实际的数据传 输操作,这会大大耗费CPU的时间和资源。
解决方案
引入DMA控制器,它具有独立的地址总线、数据总 线和控制总线,能在不占用CPU资源的情况下控制 数据传输,大大减轻了CPU的压力。
DMA的基本操作流程
1
初始化
设定DMA控制器Biblioteka 工作参数。高速传输多个通道可以同时进行数据传输,大大提高了数据 传输速率。
中断处理
为了提高系统的实时性,DMA控制器支持中断功能,在数据传输结束时向CPU发出中断请求,通知CPU完 成下一步操作。
1
中断触发
数据传输结束后,DMA控制器向中断控
中断处理
2
制器发出中断请求。
中断控制器接收到中断请求后,向CPU 发出中断信号,CPU切换到中断处理程
传输量
可以传输任意长度的数据块。
传输方向
支持双向数据传输,在不占用CPU资源的情况 下实现数据交换。
错误处理
支持多种错误处理方式,可以保证数据传输的可 靠性。
多通道控制
为了满足大规模数据传输的需求,一些DMA控制器具有多个通道,可以同时传输多路数据。
通道独立
每个通道拥有独立的地址、数据和控制线路,可以 实现隔离数据流。
2
传输请求
外设向DMA控制器发出数据传输请求。

微机原理与接口技术 课件 第9章 DMA技术 8237

– 16位基地址寄存器和当前地址寄存器; – 16位基字节计数器和当前字节计数器; – 8位方式寄存器; – 1位DMA请求触发器; – 1位屏蔽触发器。
8237的引脚特性
•DMA请求和应答信号:
– DREQ0~3:外设向8237的DMA请求,同 时申请时DREQ0级别最高;
– HRQ:8237向CPU的DMA请求信号; – DACK0~3:8237向外设的DMA应答; – HLDA:CPU向8237的DMA应答信号;
– AEN:高电平输出,地址输出允许。
• 这两个信号将输出到锁存器来锁存高8位地 址。
• AEN信号也将在DMA传送时禁止其他设备 占用总线。
DMA系统的组成
• DMA控制器:产生传送所需要的地址和控 制信号。
• 页面地址寄存器:存放高位地址。对8086系 统需要存放4位地址,以便和DMA控制器所 产生的16位地址构成20位物理地址。若是 80286系统,就要存储8位高位地址了。
CS DB0~DB7
MEMW MEMR
A0~A3
IOR
IOW
8237
DACK0 DREQ0
DACK1 DREQ1
HRQ HLDA
A16~A19 AD0~AD7
A0~A3
RD CPU
WR
HOLD HLDA
A16~A19 A8~A15 A0~A7
RAM WR
RD D0~D7
RD WR
外设
页面寄存器
锁存器
8237的初始化编程
• 各通道初始化:
- 初始化地址寄存器(基地址和当前地址);
- 初始化字节计数器(基字节和当前字节); - 初始化8位方式寄存器;
一. DMA控制器在系统中的地位 二. DMA传送过程

微机原理与接口-08:DMA控制器


;控制 控制
初始化
MOV OUT MOV OUT MOV OUT MOV OUT DX, DX, AL, DX, AL, DX, AL, DX, DMA+0AH AL 01 AL 02 AL 03 AL ;单屏蔽 单屏蔽
测试:对 测试 对0-3通道的地址寄存器值 通道的地址寄存器值 进行设置
MOV MOV READ:IN MOV IN CMP JNZ INC INC LOOP HHH: HLT DX, DMA+2 CX, 0003 AL, DX AH, AL AL, DX AX, 0FFFFH HHH DX DX READ
接口 ♦ 通道
DMA控制器 控制器
♦ 内部包含 – 控制寄存器 – 状态寄存器 – 地址寄存器 当前地址寄存器 可读出 基址寄存 地址寄存器:当前地址寄存器 可读出),基址寄存 当前地址寄存器(可读出 器 – 字节计数器 当前字节计数器 可读 基本字节计 字节计数器:当前字节计数器 可读),基本字节计 当前字节计数器(可读 数器(编程写入 编程写入) 数器 编程写入 ♦ DMA的过程 的过程
♦ IOW# ♦ EOP#(DMA传输结束两种方 传输结束两种方 ♦ ♦ ♦ ♦ ♦ ♦ ♦
向) DREQ(极性编程确定 极性编程确定) 极性编程确定 DACK HRQ HLDA A3~A0(双向 双向) ~ 双向 A7~A4 ~ DB7~ DB0(从模块时对内 ~ 从模块时对内 部寄存器读出写入,主模块 部寄存器读出写入 主模块 时输出当前寄存器高8位地 时输出当前寄存器高 位地 址)
各通道的寄存器
DMA通道
基本地址寄存器 和 当前地址寄存器
基本字节计数器 和 当前字节计数寄存器
通道0 通道1 通道2 通道3
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档