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

合集下载

DMA与DMA控制器.ppt

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;主模块时输出低压位地址。

第8章 DMA控制器

第8章 DMA控制器

8.2.4 8237A方式控制字
5.命令寄存器
命令寄存器为8位寄存器,4个通道公用。用于控制8237A的操作,其内容 由CPU写入,进行初始化编程或写入新的命令,而用复位信号RESET或软件清除 命令来清除它的内容。该寄存器只能写,不能读。
8.2.4 8237A方式控制字
5.命令寄存器
旋转优先权示意
8.1.3 DMA操作步骤
1.DMA控制器的预置(初始化)
DMA操作之前,必须把一些信息,如传送方向、存储器首地址、传 送字节数等预置入DMA控制器。
指定数据传送方向,即指定I/O设备要对存储器“读”还是“写”,
这就要指定其控制/状态寄存器中相应的控制位的值; 数据应传送至何处,这就要指定其地址的初值(即首地址); 传送字节数即有多少数据(字数)需要传送,也就是要指定其字计 数寄存器的初值。 预置DMA控制器初值的工作,是由CPU执行指令来完成的,即把DMA 控制器内部相应的寄存器看作是I/O端口,用输出指令把这些内容存放 到相应的寄存器中去。
8.2.4 8237A方式控制字
7.屏蔽寄存器
用来禁止或允许通道的DMA请求。当屏蔽位置位时。禁止本通道的DREQ进入。 若通道编程为不自动预置,则当该通道遇到 EOP 信号时,它所对应的屏蔽位置 位。 屏蔽字有两种格式,即写1位屏蔽位的屏蔽字和写4位屏蔽位的屏蔽字。
8.2.4 8237A方式控制字
8.2.2 8237A内部结构
8.2.2 8237A内部结构
1.控制逻辑单元
定时和控制逻辑单元 命令控制单元
优先权控制逻辑单元
2.缓冲器
两个I/O缓冲器
一个输出缓冲器
8.2.2 8237A内部结构
3.内部寄存器

DMA控制器

DMA控制器
(2)DMAC在接收到DREQ后,同CPU之间也有一对联络信号线——DMAC向CPU发出总线请求信号(HOLD或 BUSRQ),CPU在当前总线周期结束后向DMAC发出总线响应信号(HLDA或BUSAK),DMAC接管对总线的控制权,进入 DMA操作方式;
(3)能发出信息,对存储器寻址,并修改指针,DMAC内部必须有能自动加1或减1的寄存器;
DMA控制器
分散控制系统
01 产品介绍
03 设置 05 基本功能
目录
02 结构 04 DMA运行模式 06 基本组成
基本信息
DMA(Direct Memory Access)控制器是一种在系统内部转移数据的独特外设,可以将其视为一种能够通过 一组专用总线将内部和外部存储器与每个具有DMA能力的外设连接起来的控制器。它之所以属于外设,是因为它 是在处理器的编程控制下来执行传输的。
(2)字计数器:用于记录传送数据块的长度(多少字数)。其内容也是在数据传送之前由程序预置,交换的 字数通常以补码形式表示。在DMA传送时,每传送一个字,字计数器就加“1”。当计数器溢出即最高位产生进位 时,表示这批数据传送完毕,于是引起DMA控制器向CPU发出中断信号。
(3)数据缓冲寄存器:器,再由缓冲寄存器通过数据总线送到内存。反之,输出时,由内存通过数据总线送到数据缓冲寄存器,然后再 送到设备。
设置
设置
有两类主要的DMA传输结构:寄存器模式和描述符模式。无论属于哪一类DMA,表1的几种信息都会在DMA控 制器中出现。当DMA以寄存器模式工作时,DMA控制器只是简单地利用寄存器中所存储的参数值。在描述符模式中, DMA控制器在存储器中查找自己的配置参数。
(1)基于寄存器的DMA
在基于寄存器的DMA内部,处理器直接对DMA控制寄存器进行编程,来启动传输。基于寄存器的DMA提供了最 佳的DMA控制器性能,因为寄存器并不需要不断地从存储器中的描述符上载入数据,而内核也不需要保持描述符。 基于寄存器的DMA由两种子模式组成:自动缓冲(Autobuffer)模式和停止模式。在自动缓冲DMA中,当一个传输 块传输完毕,控制寄存器就自动重新载入其最初的设定值,同一个DMA进程重新启动,开销为零。如果将一个自 动缓冲DMA设定为从外设传输一定数量的字到 L1数据存储器的缓冲器上,则DMA控制器将会在最后一个字传输完 成的时刻就迅速重新载入初始的参数。这构成了一个“循环缓冲器”,因为当一个量值被写入到缓冲器的最后一 个位置上时,下一个值将被写入到缓冲器的第一个位置上。

微机原理课件DMA控制器

微机原理课件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与外设之间的数据传送,传送完成后仍返回 被中断的断点处继续执行主程序。

DMA控制器专业知识讲座

DMA控制器专业知识讲座
作为主模块时,8237A还必须输出必要旳读写信 号。
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,而使屏蔽寄存器置位。

微型计算机控制技术PPT课件

微型计算机控制技术PPT课件

优点是结构简单,控制灵活和安全。 缺点是要由人工操作,开环结构,控制的实时性差,不能 控制多个对象。
主要用于生产初期实验,过程模型获取
1.2.2 直接数字控制(DDC)系统
计算机通过检测单元对过程参数进行巡回检测,并经过输入 通道将检测数据输入计算机,计算机按照一定的控制规律进行 运算,得到相应的控制信息,并通过输出通道去控制执行机构, 从而使系统的被控参数达到期望的要求
地址
译码
C
DB
数据
P
缓冲
U
CB
控制
电路
数据端口

状态端口
控制端口

(1)从编程角度看,接口内部主要包括一个或多个CPU可 以进行读/写操作的有地址的寄存器,又称为I/O端口. (2)数据端口:双向的数据端口具有锁存和三态缓冲功能. 状态端口:只读端口,包含三态缓冲器. 控制端口:只写端口,包含锁存器.
接口的必要性: 外设是用来实现人机交互的一些机电设备.外设处理信息的类
型、速度、通信方式与CPU不匹配,不能直接挂在总线上,必须 通过接口和系统相连.
CPU与外设之间交换信息的种类
通常有三类信息:
数据信息
状态信息 控制信息
数字量 模拟量 开关量
数据
CPU
状态
外部 设备
控制
接口的构成
AB
第2章 输入输出接口与过程通道
2.1 IO端口及地址译码技术 2.2 数字量输入输出接口与过程通道 2.3 模拟量输入接口与过程通道 2.4 模拟量输出接口与过程通道 2.5 硬件抗干扰技术
第2章 输入输出接口与过程通道
接口:接口是计算机与外部设备(部件与部件之间)交换信 息的桥梁,它包括输入接口和输出接口。 接口的含义: 狭义上:连接计算机和I/O设备的部件; 广义上:还包括接口电路的管理驱动程序; 接口技术:接口技术是研究计算机与外部设备之间如何交换 信息的技术。

(精)第8章 可编程DMA控制器8237A

(精)第8章 可编程DMA控制器8237A

和当前字计数器,以及一个6位的工作方式寄存器。片内还
各有一个可编程的命令寄存器、屏蔽寄存器、请求寄存器、
状态寄存器和暂存寄存器,以及不可编程的字数暂存器和地
址暂存器等。
2. 8237A的引脚 8237A是一种具备40个
引脚的双列直插式DIP封 装的芯片,如图8-2所示。
8.3 8237A的工作方式 8237A在系统中可以有两种功能:一种功能是系统总线的主 控者,这是它工作的主方式。在取代CPU控制DMA传送时,它 应 提供存储器的地址和必要的读写控制信号,数据是在I/O设备 与存储器之间通过数据总线直接传递;另一种功能是在成为主控 者之前,必须由CPU对它编程以确定通道的选择、数据传送的模 式、存储器区域首地址、传送总字节数等等。在DMA传送之后 ,也有可能由CPU读取DMA控制器的状态。这时8237A如同一般 I/O端口设备一样,是系统总线的从设备,这是8237A工作的从方 式。
8.5 8237A的编程及应用
1. 8237A编程的一般步骤 在进行DMA传输之前,CPU要对8237A进行初始化编程, 设 定工作模式及参数等。通常,其编程内容主要包括以下几 步: 1 输出总清除命令,使8237A处于复位状态,做好接收 新命令的准备; 2 根据所选通道,写入相应通道的基地址寄存器和当前 地址寄存器的初始值; 3 写入基字节计数寄存器和当前字节计数寄存器的初始 值; 4 写入方式控制寄存器,以确定8237A的工作方式和传 送类型; 5 写入屏蔽寄存器; 6 写入命令寄存器,以控制8237A的工作; 7 写入请求寄存器。
DMA EQU 00H OUT DMA+0DH,AL MOV AX,6000H OUT DMA+00H,AL MOV AL,AH OUT DMA+00H,AL MOV AX,0400H DEC AX OUT DMA+01H,AL MOV AL,AH OUT DMA+01H,AL

DMA控制器

DMA控制器
D1 D0 功 能
0 0 1 1
0 1 0 1
选择0通道 选择1通道 选择2通道 选择3通道
6.屏蔽寄存器 其格式如下:
各位的含义如下: D7~D3:未定义。 D2:DMA屏蔽设置位。 D1~D0:通道选择位。如表4.5所示。 DMA屏蔽标志是通过往屏蔽寄存器中写入屏蔽 字节来进行设置的。
表4.5 通道屏蔽选择
POP AX
;位移地址至AX
ADD AX,CX ;相加,若溢出段界则CF=1 POP CX ;恢复入口寄存器
;开通道2
MOV AX,2 ;清除通道2屏蔽位
OUT DMA+10,AL ;写屏蔽寄存器 RET ;返回
D—SET ENDP ;DMA结束
返回本节
5.6.3.3 8237A DMA可编程控制与微机系统 的接口电路 1.用于将数据从存储器传送到I/O接口的DMA 控制电路
OUT DMA+4,AL ;预置通道2地址寄存 JMP SHORT $+2
MOV AL ,AH
OUT DMA+4,AL ;先低字节,后高字节
MOV AL,CH
;取最高4位地址
JMP SHORT $+2
AND AL,0FH OUT 08LH, AL 页面寄存器 ;初始化字节计数器 ;预置通道2对应的
2.用于将数据从I/O接口传送到内存的接口 电路
图4.4 使用DMA通道实现内存到I/O接口的电路
图4.5 使用DMA通道实现I/O到内存接口的电路
返回本节
表4.1 工作方式选择逻辑
D5:地址寄存增减方式选择。 D4:DMA自动预置功能选择。 D3D2:数据传输类型选择。其含义如表4.2所 示。 D1D0:通道选择。它用来选择四个通道。其选 择如表4.3所示。

!微机原理讲义(第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发总线请求

第8章_DMA控制器8237

第8章_DMA控制器8237

DMA控制器的地址寄存器加1或减1 ,计数器减1,DMA撤除总线请求信号
7.2.2 8237A的编程结构(含工作 的编程结构( 的编程结构 模式) 模式)
8237A是INTEL系统中的高性能可编程 是 系统中的高性能可编程 DMA控制器,允许 控制器, 控制器 允许DMA传输速度高达 传输速度高达 1.6M字节 秒。 字节/秒 字节 8237A一方面为总线主模块,另一方面 一方面为总线主模块, 一方面为总线主模块 又可以和其他接口一样,接受CPU的读 又可以和其他接口一样,接受 的读 写操作,即作为总线从模块。 写操作,即作为总线从模块。
置屏蔽寄存器对应位为1, 置屏蔽寄存器对应位为 ,则该通道不能 接收DMA请求(硬件或软件); 请求( 接收 请求 硬件或软件); 在没有设置自动预置时, 在没有设置自动预置时,当EOP信号有 信号有 效时,就自动设置屏蔽标志。 效时,就自动设置屏蔽标志。
DMA请求寄存器的格式 请求寄存器的格式
说明:
(1)自动预置:当计数到 时,当前地址寄存 )自动预置:当计数到0时 器和当前字节计数器会从基本地址寄存器和基 本字节计数器中重新取得新值, 本字节计数器中重新取得新值,从而可进入下 一个数据传输过程。 一个数据传输过程。 (2)读写传输是相对于内存而言, )读写传输是相对于内存而言, (3)校验传输用于器件测试。 )校验传输用于器件测试。
7.2 DMA控制器 控制器8237A 控制器
7.2.1 7.2.2 7.2.3 7.2.4 DMA控制器概述 控制器概述 8237的编程结构(含工作模式) 的编程结构( 的编程结构 含工作模式) 8237的引脚信号 的引脚信号 8237的应用编程 的应用编程
7.2.1 DMA控制器概述
DMA控制器可得到总线控制权,用 控制器可得到总线控制权, 控制器可得到总线控制权 DMA方式实现外部设备和存储器之间的 方式实现外部设备和存储器之间的 数据高速传输。 数据高速传输。 一个DMA控制器一般可以连接一个或几 一个 控制器一般可以连接一个或几 个输入输出接口, 个输入输出接口,每个接口通过一组连 线和DMA控制器相连。 控制器相连。 线和 控制器相连 习惯上, DMA控制器中和某个接口有联 习惯上,将DMA控制器中和某个接口有联 系的部分称为一个通道

微机原理 dma控制器

微机原理 dma控制器
20
模式2 分频器 3. 模式2—分频器
( 高)
(5)在计数到1 如果写入新的值, GATE信号又出现上升 (5)在计数到1前,如果写入新的值,而GATE信号又出现上升 比如一个负脉冲的后沿),那么在下一个时钟脉冲时, ),那么在下一个时钟脉冲时 沿(比如一个负脉冲的后沿),那么在下一个时钟脉冲时, 新的计数值被送入CE CE中 新的计数值被送入CE中,从而计数器由新的初值开始重新 计数,并且,在计数减为1之前,输出端OUT OUT一直维持高电 计数,并且,在计数减为1之前,输出端OUT一直维持高电 平 21 .
3
二,8253结构和功能 8253结构和功能
1,8253的主要功能 , 的主要功能 具有三个独立的16位计数通道. 16位计数通道 (1) 具有三个独立的16位计数通道. 每个计数器通道都可按照二或二(2) 每个计数器通道都可按照二或二- 十进制 计数. 计数. 每个计数器通道的计数速率最高可达2MHZ. (3) 每个计数器通道的计数速率最高可达2MHZ. 每个计数器通道有6 工作方式, (4) 每个计数器通道有6种工作方式,均可由程 序设置和改变. 序设置和改变. 全部输入输出都与TTL电平兼容. TTL电平兼容 (5) 全部输入输出都与TTL电平兼容.
模式2 分频器 3. 模式2—分频器
(4)在计数过程中改变计数值对正在进行的计数过程没有 (4)在计数过程中改变计数值对正在进行的计数过程没有 影响,而是从下一个输出周期开始, 新的计数值进 下一个输出周期开始 影响,而是从下一个输出周期开始,按新的计数值进 改变输出脉冲的频率. 行计数而改变输出脉冲的频率 如上波形图所示. 行计数而改变输出脉冲的频率.如上波形图所示.
25
模式4 5. 模式4— 软件触发的选通信号发生器

DMA控制器

DMA控制器

2. 申请阶段
DMA控制器发出DMA请求信号DREQ。
►DMA控制器接收到DMA请求信号后,向CPU
发出总线请求信号HRQ。该信号连接到CPU的 HOLD引脚。
HRQ DREQ
CPU
DMAC
外部设备
9.1
DMA概要
CPU检测HRQ N HRQ有效且LOCK无效 Y CPU交出总线
3. 响应阶段
►CPU收到DMA的HRQ
④ DACK
外设接口
AEN IOW MEMW IOR MEMR
系统总线

存储器
9.1
DMA概要
DMA的传送过程分5个阶段:
1. 初始化阶段
要传送的数据字节数 ► 数据在存储器中的起始地址 ► 传送方向 ► DMAC的通道号 ……

DMAC
6
9.1
DMA概要
►当外设有DMA需求,并且已准备就绪,则向
具有多种控制方式和操作类型。
13
9.2
8237A的编程结构
二. 8237A的编程结构
DMA控制器的2种状态
主动工作状态:主模块
在主动工作状态下,DMAC取代处理器CPU,获得 了对系统总线的控制权,成为系统总线的主控者, 向存储器和外设发号施令。
被动工作状态:从模块
在被动工作状态下,DMAC接受CPU对它的控制和 指挥。例如:对DMAC进行初始化编程以及从 DMAC读取状态等。
速外设直接进行数据交换而无需CPU的干预。
特点
DMA传送期间,DMA控制器(DMAC)接管了
CPU对总线的控制权。
DMA方式中,内存地址的修改、传送结束的判
断都由硬件电路实现。即:用硬件控制代替了 软件控制。

计算机接口技术第8章DMA接口技术

计算机接口技术第8章DMA接口技术

更强的可扩展性
更完善的安全性和可靠性 保障
随着系统规模的扩大和设备数 量的增加,DMA接口技术将向 更强的可扩展性发展,以支持 更多设备的同时传输。
在数据传输过程中,安全性和 可靠性至关重要。未来的DMA 接口技术将更加注重安全性和 可靠性的保障,提供更加完善 的数据传输安全机制和错误处 理机制。
06 DMA接口技术的应用实 例
状态机
控制DMA传输的开始、暂停和结束 等操作,确保数据传输的正确性和可 靠性。
控制寄存器
存储DMA传输的配置和控制信息, 如传输方向、数据长度等。
错误检测与处理逻辑
用于检测数据传输过程中的错误,如 地址错误、数据校验错误等,并进行 相应的处理。
DMA数据传输的硬件支持
数据缓冲区
用于暂存DMA传输的数据,确保数据在传 输过程中的完整性和正确性。
中断的清除与返回
在中断服务程序执行完毕后,需要清除中断标志位,以便于下一次的中 断处理。同时,中断处理程序需要返回,以便于CPU继续执行后续的指 令。
05 DMA接口技术的优缺点 分析
DMA接口技术的优点
高传输速率
DMA接口技术能够实现高速数据传输, 显著提高数据吞吐量,满足大规模数据
处理的需求。
DMA接口技术的应用场景
数据采集
在实时数据采集系统中,DMA接口技术可以快速 传输大量数据到内存中,便于后续处理和分析。
高速网络通信
在高速网络通信中,DMA接口技术可以用于快速 传输数据,提高网络通信的效率。
音视频处理
在音视频处理中,DMA接口技术可以用于快速传 输大量数据,提高音视频处理的效率。
查询方式
在查询方式下,CPU会不断查询DMA接口的状态,以了解数据传输是否完成。 如果数据传输未完成,CPU需要等待;如果数据传输完成,CPU可以继续执行其 他任务。这种方式不需要编写复杂的程序,但会占用CPU的时间。

《DMA技术》课件

《DMA技术》课件

THANKS
感谢观看
率。
04
DMA技术的优势与挑战
DMA技术的优势
高数据传输速率
减轻CPU负担
DMA技术能够实现高速数据传输,显著提 高了数据处理的效率。
通过DMA,数据可以直接在内存和硬件设 备之间传输,减轻了CPU的负担,使其能 够更专注于其他任务。
支持多任务并发处理
减少数据拷贝
DMA技术允许多个设备同时进行数据传输 ,提高了系统的并发处理能力。
它通过使用专门的DMA控制器来管理 数据的传输,使得数据传输过程更加 高效。
DMA的工作原理
DMA控制器与内存和外部设备之间建立数据传输的通道。
当需要传输数据时,DMA控制器向内存发送读或写请求,并将数据直接 从内存传输到外部设备或从外部设备传输到内存。
数据传输过程中,DMA控制器负责管理数据传输的起始地址、传输大小 和传输方向等参数。
高的传输速率。
02
DMA技术的应用场景
工业自动化
01
02
03
自动化生产
DMA技术可以用于自动化 生产流程中,实现设备与 设备之间的数据高速传输 ,提高生产效率。
实时监控
工业自动化中,DMA技术 可以用于实时监控生产线 的运行状态,确保生产安 全。
智能物流
DMA技术可以实现智能物 流管理,优化库存和运输 ,降低物流成本。
DMA技术可以用于医疗影像的快速传 输,便于医生远程诊断和会诊。
DMA技术可以实现医疗设备的互联互 通,便于数据的共享和协同工作。
医疗数据存储与处理
DMA技术可以实现医疗数据的快速存 储和高效处理,提高医疗服务的效率 和质量。
智能家居
智能安防
DMA技术可以用于智能家居的安防系统中,实现视频、音频等数 据的快速传输和实时监控。

第8章 DMA控制器

第8章  DMA控制器

8.6 8237A各寄存器对应的端口地址
8.7 8237A的编程和使用
8.7 8237A的编程和使用
8.7 8237A的编程和使用
8.7 8237A的编程和使用
8.7 8237A的编程和使用
8.7 8237A的编程和使用
8.2.3 8237A工作时各信号的配合
• 作为从模块工作时 • 作为主模块工作时
8.3.1 8237A 的工作模式
• • • • 字节传输模式 块传输模式 请求传输模式 级联传输模式
8.3.2 模式寄存器
• 8237A模式寄存器的格式
8.4 8237A的工作时序
图8.3
8237A的典型时序
8.5 8237A的寄存器和触发器
• 8237A的控制寄存器
图8.4
8237A控制寄存器的格式
8.5 8237A的寄存器和触发器
• 8237A的控制寄存器控制寄存器的设置使用
– 8237A的启动和停止 – 实现内存到内存的传输 – 建立扩展写信号功能 – 解决优先级问题 – DREQ信号和DACK信号的极性程结构; •DMA控制器的作为主模块和从模块时的差别; •8237A的工作模式; •8237A的时序; •结合例子了解8237A的编程方法。 •片选信号的产生方法
8.1 DMA控制器概要
• DMA控制器包含
– 控制寄存器 – 状态寄存器 – 地址寄存器 – 字节计数器
8.5 8237A的寄存器和触发器
• 8237A的状态寄存器
图8.5
8237A的状态寄存器的格式
8.5 8237A的寄存器和触发器
• 8237A的请求触发器的格式
图8.6 DMA请求寄存器的格式
8.5 8237A的寄存器和触发器
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二、 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响应信号。
8.2 DMA控制器8237A的原理
控制寄存器 请求触发器 状态寄存器 模式寄存器 当前地址寄存器 当前字节寄存器 屏蔽触发器
通道0 基本地址寄存器 基本字节寄存器
通道1
通道2
通道3
一、 DMA控制器8237A的编程结构




含有 4 个相互独立的通道,每个通道有独立的 地址寄存器和字节数寄存器,而控制寄存器、 状态寄存器为四个通道所共用。 每个DMA通道具有不同的优先权 每个DMA通道可以分别允许和禁止 每个DMA通道有4种工作方式,分别为:单字 节传送、数据块传送、请求传送、级连方式。 通道中地址寄存器的长度为 16位,一次传送的 最大长度可达64KB 多个8237A芯片可以级连,扩展通道数
Si
S0
S0
S1
S2
S3
S4
S2
S3
S4
Si
Si
CLK
DREQ HRQ HLDA
S1状态——输出16位存储器地址 AEN输出高电平,表示DMA传送 S2状态——输出DMA响应信号和控制信号 DMA读:MEMR*和IOW*有效
AEN
ADSTB
DB0~DB7
DMA写:IOR*和MEMW*有效
S3和Sw状态——检测数据传送是否能够完 成,决定是否插入等待状态Sw S 状态——完成数据传送
3. 处理器接口信号(续3)


CLK :时钟信号输入引脚,对于标准的 8237 ,其 输入时钟频率为 3MHz,对于8237-2,其输入时钟 频率可达5MHz。 RESET :复位信号,输入引脚,用来清除 8237 中 的命令、状态请求和临时寄存器,且使字节指针 触发器复位并置位屏蔽触发器的所有位(即使所 有通道工作在屏蔽状态),在复位之后, 8237 工 作于空闲周期SI。
8237A引脚的两种作用
与CPU连接 (从模块)的引脚
CLK、RESET A0~A3、CS*、DB0~DB7 IOR*、IOW* HRQ、HLDA
与外设连接 (主模块)的引脚
AEN、ADSTB、READY、EOP* A0~A7、DB0~DB7 IOR*、IOW*、MEMR*、MEMW* DREQ0~DREQ3、DACK0~DACK3
3. 处理器接口信号(续2)


A3~A0:4条双向三态的低位地址信号引脚。在 空闲周期,接收来自于CPU的四位地址信号,用 以寻址8237内部的不同的寄存器(组);在DMA传 送时,输出要访问的存储单元或者 I/O 端口地址 的低4位。 A7~ A4 : 4 条三态地址信号输出引脚。在 DMA 传送时,输出要访问的存储单元或者 I/O 端口地 址的中4位。
二、8237A的内部组成和结构
1.四个独立的DMA通道

每个通道都有一个 16 位的基地址寄 存器,一个 16 位的基字节数计数器, 一个 16 位的当前地址寄存器和一个 16位的当前字节数计数器及一个 8位 的方式寄存器,方式寄存器接收并 保存来自于 CPU 的方式控制字,使 本通道能够工作于不同的方式下;
3. 处理器接口信号



CS :片选。低有效时,微处理器与 8237A 通 过数据线通信,主要完成对8237A的编程。 IOR:I/O读。读取8237A内部寄存器低电平 有效的双向三态信号引脚。在空闲周期,它是 一条输入控制信号, CPU 利用这个信号读取 8237 内部状态寄存器的内容;而在 DMA 传送 时,它是读端口控制信号输出引脚,与相配合, 使数据由外设传送到内存。 IOW : I/O 写。写入 8237A 内部寄存器。低 电平有效的双向三态信号引脚,其功能与相对 应。
2. DMA传送控制信号(续)


MEMR:存储器读。有效将数据从存储器读出 MEMW:存储器写。有效将数据写入存储器 IOR:I/O读。有效将数据从外设读出 IOW:I/O写。有效将数据写入外设 READY :准备好。 DMA 传送的 S3 下降沿检测 到为低时,插入等待状态 Sw ,直到 READY 为 高才进入第4个时钟周期S4。 EOP:过程结束。 DMA传送过程结束,输出一 个低有效脉冲。外部输入低脉冲信号,则终结 DMA传送。
2. DMA传送控制信号



A0~A7:地址线。输出低8位存储器地址。 DB0~DB7:数据线。输出高8位存储器地址; 存贮器与存贮器的传送期间,用于数据传送。 ADSTB:地址选通。DMA传送开始时,输出高 有效,把在DB0~DB7上输出的高8位地址锁存 在外部锁存器中。 AEN:地址允许。输出高有效,将锁存的高8位 地址送入系统总线,与芯片此时输出的低8位地 址组成16位存储器地址。
二、 DMA数据传送的工作过程
① 外设向DMAC发出DMA传送请求。 ② DMAC 通过连接到 CPU 的 HOLD 信号向 CPU 提出 DMA请求。 ③ CPU在完成当前总线操作后会立即对DMA请求做 出响应。CPU的响应包括两个方面: 一方面, CPU 将控制总线、数据总线和地址总线浮 空,即放弃对这些总线的控制权; 另一方面, CPU 将有效的 HLDA 信号加到 DMAC 上, 用此来通知DMAC,CPU已经放弃了总线的控制权。
进入有效周期
五、 8237的工作周期 · 有效周期



8237A 采样到外设有 DMA 请求,就脱 离空闲周期进入有效周期 8237A 作 为 系 统 的 主 控 芯 片 , 控 制 DMA传送操作 DMA 传送借用系统总线完成,其控制 信号以及工作时序类似CPU总线周期
进入DMA传送时序
Si
五、 8237的工作周期 · 空闲周期



当 8237的任一通道都无 DMA请求时,则其处 于空闲周期或称为 SI 状态,空闲周期由一系 列的时钟周期组成,在空闲周期中的每一个 时钟周期,8237只做两项工作: 8237A采样CS片选信号,该信号有效,CPU 就要对8237A进行读/写操作 8237A 还采样通道的请求输入信号 DREQ , 该信号有效,就进入有效周期

一次传送一个字节,效率略低 DMA传送之间CPU有机会重新获取总线控制权
1. DMA传送-数据块方式



在这种传送方式下,DMAC一旦获得总线控制权,便开始 连续传送数据。每传送一个字节,自动修改当前地址及 当前字节数寄存器的内容,直到字节数寄存器从 0 减到 FFFFH 终止计数,或由外部输入 EOP 有效信号终结 DMA 传 送,将总线控制权交给CPU。 一次所传送数据块的最大长度可达 64KB,数据块传送结 束后可自动初始化。 DREQ只需维持有效到DACK有效 特点: 一次请求传送一个数据块,效率高 整个 DMA 传送期间 CPU 长时间无法控制总线(无法响 应其他DMA请求、无法处理中断等)
A0 ~ A7
DACK
4) MEMR(IOR
IOW(MEMW)
DMA传送时序
六、8237A的工作方式

DMA传送方式
·单字节传送方式 ·请求传送方式 ·数据块传送方式 ·级连方式 ·DMA检验

DMA传送类型
·DMA读 ·DMA写

存储器到存储器的传送
1. DMA传送-单字节方式


பைடு நூலகம்

每次DMA传送时仅传送一个字节 传送一个字节之后,当前字节数寄存器减1, 当前地址寄存器加1或减1,HRQ变为无效 每传送完这一个字节, 8237A释放系统总线, DMAC就将总线控制权交回CPU。 若传送后使字节数从 0 减到 FFFFH ,则终结 DMA传送或重新初始化 特点:
二、 DMA数据传送的工作过程(续)
需要注意的是,在内存与外 设之间进行DMA传送期间, DMAC控制器只是输出地址 及控制信号,而数据传送是 直接在内存和外设端口之间 进行的,并不经过DMAC; 对于内存不同区域之间的 DMA传送,则应先用一个 DMA存储器读周期将数据 从内存的源区域读出,存入 到DMAC的内部数据暂存器 中,再利用一个DMA存储 器写周期将该数据写到内存 的目的区域中去。
相关文档
最新文档