第9章 DMA技术及DMA控制器
DMA控制器学习教程
1.CPU暂时放弃总线控制权方式 此类DMA操作,CPU必须暂停任何总线操作,并让出对总线的控制权、直至 DMA传
送结束或完成一个总线操作周期之后,CPU才能继续控制总线。 实现这种方式的方法是 DMAC向CPU发出总线请求信号, CPU在完成当前的总线周期 操作之后,释放对总线的控制(有关的引脚信号处于高阻状态)并发出总线响应信号。
第17页/共85页
(3)输出缓冲器。4位、输出、三态缓冲器。在CPU控制总线时,它为高阻状态;而在 DMA控制总线时,它导通,由8237A提供的16位存储器地址的第8位到第5位地址A7~
A4通过它送出。
第18页/共85页
3.内部寄存器
8237A的内部寄存器如表7-1所列。它与用户编程直接发生 关系。
高阻状态),将地址总线的低4位A3~A0送入 8237A进行译码后,选通内部的寄存器,以便在有 效时,将数据总线的内容写入被选中的内部寄存器, 或在有效时将被选中寄存器的内容送上数据总线。 在DMA控制总线时,输出缓冲器导通(输入则处 于高阻状态),送出8237A产生的16位存储器地址
的低4位A3~A0。
级,并且每个通道的优先级可以是固定的,也可以是循环的。 (3)8237A具有4种传送方式:单字节传送方式,数据块传送方式,
请求传送方式和级联方式。
第13页/共85页
7.3.1 8237A的内部构成框图 第14页/共85页
1.3个基本控制逻辑单元
(1)定时和控制逻辑单元。
根据初始化编程时所设置的工作方式寄存器的内容和命令, 在输入时钟信号的定时控制下,产生8237A内部的定时信号
排在CPU执行内部操作当中 例如取完指令操作码后,CPU要进行指令译码或 CPU内部要进行算术/逻辑运算时,CPU均不使用总 线,这时DMAC可以接管总线。MC6800 CPU有专 门的信号用来指示总线是否正在被使用,这就给安
第八章中断系统第九章DMA控制器
为CPU专用;一部分是由磁盘操作系统DOS保留为 系统使用,用户可以使用200个左右中断。
§8.5 IBM PC/XT的中断方式
第九章 DMA控制器
DMA:direct memory access
直接存储器访问技术,适合高速的数据交换
2. 硬件优先权排队电路
(1)中断优先权编码电路
若有8个中断源,当任意一个有中断请求时,通过或门, 即可有一个中断请求信号产生,能否送至CPU的中断请 求线,还要受比较器的控制。
(2)雏菊花环(Daisy Chain)式或称为链式优先权排队电 路
§8.3 中断优先权及多重中断
中断响应(来自CPU)
§8.3 中断优先权及多重中断
8.3.1 中断优先权
(2)移位法 XOR AL,AL IN AL,[20H] RCL AL, 1 JC PWF RCL AL, 1 JC DISS ……
;输入中断请求触发器的状态 ;外设A中断服务程序 ;外设B中断服务程序
§8.3 中断优先权及多重中断
8.3.1 中断优先权
§8.4 8086/8088的中断方式
3.中断向量表 o 每一种中断类型对应一个中断向量; o 每个中断向量占4个字节,前两个字节存放中断处 理子程序入口地址的偏移量(IP),后两个字节存放 中断处理子程序入口地址的段地址(CS); o 256个中断中:0-4为专用中断,5-31为系统保留 (21个),32以上共224个为用户自定义中断。
内部中断
INT n指令—类型为n的中断指令
软件中断 INT 3指令—断点中断指令 INT0指令—溢出中断指令
IRET指令—中断返回
微机原理与接口技术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 :输入信号,片选信号
DMA控制器
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所示。
DMA原理与应用
DMA原理与应用DMA(Direct Memory Access,直接内存访问)是一种计算机的输入输出技术,它允许外部设备(如硬盘驱动器、网络适配器等)直接访问主存(内存),而无需经过中央处理器(CPU)的干预。
DMA技术的应用极大地提高了计算机的IO性能和效率,让计算机在处理数据时变得更加高效。
DMA技术是通过将外设的数据传输任务交给DMA控制器(DMA Controller)来实现的。
DMA控制器是一种特殊的硬件设备,由寄存器、计数器、状态标志和控制逻辑等组成。
它负责管理数据传输的目标地址、数据长度、中断请求等。
在DMA传输过程中,首先CPU将DMA命令和相应的参数写入到DMA控制器的相关寄存器中,然后CPU继续执行其他任务,与此同时,DMA控制器会根据接收到的指令和参数,直接控制数据的传输。
当数据传输完成后,DMA控制器会发出一个中断请求来通知CPU,CPU再通过检查DMA控制器的状态标志等方式获取数据传输的结果。
DMA技术的应用:1.IO设备的数据传输:DMA技术可以用于实现大容量数据的高速传输,例如将硬盘上的文件传输到内存中。
在这种应用场景中,DMA控制器负责从硬盘读取数据,并直接将数据传输至内存,而CPU则可以继续执行其他任务,提高了系统的响应速度和效率。
2.外设控制:DMA技术可以用于实现对外部设备的直接控制,例如通过DMA控制器驱动音频设备,实现音频数据的实时传输和处理。
在这种应用中,DMA控制器负责从音频设备读取数据,并将数据传输至内存或进行其他处理,而CPU则可以专注于音频数据的处理算法,提高了音频设备的性能和音频处理的实时性。
3.内存备份与恢复:DMA技术可以用于实现内存的快速备份和恢复,例如在系统断电或发生故障时,通过DMA控制器将内存中的数据备份到硬盘中,从而保护系统的数据安全。
在这种应用中,DMA控制器负责读取内存数据并传输至硬盘,而CPU则可以处理其他任务,提高了系统的可靠性和稳定性。
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方式中,内存地址的修改、传送结束的判
断都由硬件电路实现。即:用硬件控制代替了 软件控制。
《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控制接口习题
简答
简述DMAC占用总线控制权的方式(p82)。 简述DMA传送的传送类型(p92)。 简述DMA传送的四种工作方式(p93)。
3. 在8237控制下进行“写传送”时,8237需先后 向I/0接口和存储器发出的控制信号是:(A ) A)IOR,MEMW B)IOR,MEMR C)IOW,MEMW D)IOR,IOW 4 . 在 CPU 停机方式的 DMA 操作中, CPU 与总线 的关系是 ( ) A. 只能控制数据总线 B. 只能控制地址总线 C. 处于隔离状态 D. 能传送所有控制信号
选择题
1. DMA控制器8237有四种工作方式,其中,传输率 较高的一种是:( B) A)单字节传送方式 B)块传送方式 C)请求传送方式 D)级联方式 2.8086在响应外部HOLD请求后,( D )。 A)转入特殊中断服务程序 B)进入等待周期 C)只接收外部数据 D)所有三态引脚处于高阻, C机管理直接存储器传输的接口芯片是( ) A 8237 B 8251 C 8255 D 8253 8.在DMA传送方式中,对数据传递过程进行控制的 硬件称为( C ) A.数据传递控制器 B.直接存储器 C.DMAC D.DMAT
9.在DMA方式下,将外设的数据传送到内存的路径 为(C) A.外设→总线→CPU→内存 B.外设→DMAC→ 内存 C.外设→数据总线→内存 D.外设→总线 →DMAC→内存 10. DMAC在( ② )接管总线的控制权。 ① 申请阶段 ② 响应阶段 ③ 数据传送阶段 ④ 结束阶段
5. 在微机系统中采用 DMA 方式传输数据时,数据传 送是( C ) A .由 CPU 控制完成 B .由执行程序(软件) 完成 C .由 DMAC 发出的控制信号控制下完成的 D .由总线控制器发出的控制信号控制下完成的 6. CPU响应中断请求和响应DMA请求的本质区别是 ( B ) A.中断响应靠软件实现 B.响应中断时CPU仍然控 制总线,而响应DMA请求时,CPU要让出总线 C.速度慢 D.控制简单
第9章DMA控制器
S2状态:
在 S2 状 态 , 8237A 向 外 围 设 备 发 出 DMA 响 应 信 号 DACK,通知外设,数据传送即将开始。
S3状态:
在S3状态,8237A发出读命令:如果是DMA读操作, 则发出存储器读命令MEMR;如果是DMA写操作,则发 出I/O读命令IOR。该命令将持续到S4 结束。 压缩读方式:取消S3状态,读信号和写信号同时在S4 产生,适合高速电路。
第9章 DMA控制器
9.1 DMA控制器概要
一个DMA控制器通常可连接一个或几个输入/输出接口, 每个接口通过一组连线和DMA控制器相连。
通道:将DMA控制器中和某个接口有联系的部分称为一 个通道,一个DMA控制器一般由几个通道组成。 DMA控制器内不包含控制寄存器、地址寄存器和字节计 数器。当DMA控制器包含多个通道时,控制寄存器和状态 寄存器为多个通道所公有,但地址寄存器和计数器则为每 个通道独立配备。
9.2.3 8237A的工作周期
8237A有两种工作周期:空闲周期和有效周期。 (1)空闲周期( 8237A作为从模块) 当所有的通道都没有DMA请求时,8237A处于空闲周期, 此时,8237A始终执行Si状态。在每个Si状态都采样通道请 求线DREQ,如果没有请求,则继续进入Si状态。 在Si状态8237A作为受CPU控制的一个接口芯片,CPU 可对它编程,或读取其状态。 8237A在Si状态下持续监测片选CS,只要它变为有效, 则认为CPU要对它进行读 /写操作。
(3) 请求传送方式
这种方式和块传输方式类似,只是每传输一个字节后, 8237A都对DREQ端进行检测,如果DREQ有效,则继续传 输下一字节;如果 DREQ无效,则马上暂停传输,退出 DMA。在这种传送方式停止时,8237A释放总线,CPU可 继续工作,其地址和字节数的中间值保存在相应通道的现 行地址和字节数寄存器中,只要外设的DREQ再次有效, 就可以继续传送下去。直到计数结束或外部输入EOP信号, 才停止传输。
第九章中断控制器计时定时控制器及DMA控制器
(3) 优先级自动循环方式
采用这种方式,各中断源优先级是循环变化的,主要用在系统
中各中断源优先级相同的情况下。一个设备的中断服务完成后,其
优先级自动降为最低,而将最高优先级赋给原来比它低一级的中断 请求。
开始时,优先级队列还是IR0,IR1,IR2,IR3,IR4,IR5,IR6,
IR7(IR0最高,IR7最低);若此时出现了IR0请求,响应IR0并处理完
接高电平,从片的该引脚接低电平。
9.1.2 8259A的工作方式
1.中断优先级管理方式 (1)全嵌套模式
也称固定优先级方式。在这种方式下,由IR端 引入的中断请求具有固定的优先级,IR0最高, IR7最低。8259A的默认方式。
当一个中断请求被响应时,ISR中的对应位ISn 被置1,8259A把中断类型号放到数据总线上,然 后进入中断服务程序。一般情况下(除中断自动 结束方式外),在CPU发出中断结束命令前,此对 应位一直保持为1,以封锁同级或低级的中断请 求,但并不禁止比本级优先级高的中断请求。
CPU收到中断请求后,若IF=1,则CPU完成当前指 令后响应中断,即执行两个中断响应周期,在 INTA 引脚上发出两个负脉冲。 8259A收到第一个负脉冲后,使IRR锁存功能失效, 不接受IR0~IR7上的中断请求信号;直到第二个负脉 冲结束后,才又使IRR锁存功能有效,并清除IRR的相 应位,使ISR的对应位置1,以便为优先级判别器以后 的判别提供依据。 收到第二个负脉冲后,8259A把当前中断的中断 类型号送到D7~D0,CPU根据此类型号进入相应的中断 服务程序。在中断服务程序结束时向8259A发中断结 束命令,该命令将ISR寄存器的相应位清0,中断处理 结束。
正在处理的中断(即最后一次被响应和处理的中断),
dma控制器名词解释
dma控制器名词解释
DMA(Direct Memory Access)控制器是一种计算机硬件设备,
用于实现直接内存访问。
它充当了主机CPU和系统内存之间的数据
传输中介,可以在不占用CPU时间的情况下,直接将数据从外设传
输到内存,或者从内存传输到外设。
DMA控制器的主要作用是减轻CPU的负担,提高数据传输的效率。
传统上,当需要进行数据传输时,CPU需要通过程序控制来完
成数据的读取或写入操作,这会消耗大量的CPU时间和资源。
而有
了DMA控制器,数据传输可以在CPU的干预下进行,CPU只需进行
一次初始化设置,之后可以将控制权交给DMA控制器,从而释放出
更多的CPU资源来处理其他任务。
DMA控制器通常与外设设备(如硬盘、网络适配器、显卡等)
相连,通过DMA通道进行数据传输。
控制器通过直接访问系统总线,绕过了CPU,实现了高速的数据传输。
在数据传输过程中,DMA控制
器会负责处理数据的读取、写入、校验和中断等操作,以确保数据
的可靠性和完整性。
DMA控制器的工作原理大致如下,首先,CPU通过DMA控制器的
寄存器设置传输的起始地址、目的地址、数据长度等参数。
然后,DMA控制器根据这些参数控制总线的访问,直接将数据从外设读取到内存,或者从内存写入到外设。
在数据传输完成后,DMA控制器可以触发中断信号,通知CPU数据传输已完成。
总之,DMA控制器是一种重要的硬件设备,它可以提高数据传输的效率,减轻CPU的负担,实现高速、可靠的数据传输。
通过直接访问内存,它允许外设设备与内存之间进行直接的数据传输,提升系统的整体性能。
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 控制器介绍
于是,在内存和外围设备之间进行数据交换.每交换一个字, 于是,在内存和外围设备之间进行数据交换.每交换一个字, 则地址计数器和字计数器加“ ,当计数值到达零时, 则地址计数器和字计数器加“l”,当计数值到达零时, DMA操作结束,DMA控制器向 操作结束, 控制器向CPU提出中断报告 。 操作结束 控制器向 提出中断报告 DMA的数据传送是以数据块为基本单位进行的,因此,每 的数据传送是以数据块为基本单位进行的, 的数据传送是以数据块为基本单位进行的 因此, 控制器占用总线后, 次DMA控制器占用总线后,无论是数据输入操作,还是输 控制器占用总线后 无论是数据输入操作, 出操作,都是通过循环来实现的。当进行输入操作时, 出操作,都是通过循环来实现的。当进行输入操作时,外 围设备的数据(一次一个字或一个字节 传向内存; 一次一个字或一个字节)传向内存 围设备的数据 一次一个字或一个字节 传向内存;当进行输 出操作时,内存的数据传向外围设备。 出操作时,内存的数据传向外围设备。 一旦DMA的中断请求得到响应 CPU停止主程 的中断请求得到响应, 后处理 一旦DMA的中断请求得到响应,CPU停止主程 序的执行,转去执行中断服务程序做一些DMA的结束处理 序的执行,转去执行中断服务程序做一些 的结束处理 工作。这些工作包括校验送入内存的数据是否正确; 工作。这些工作包括校验送入内存的数据是否正确;决定 继续用DMA方式传送下去,还是结束传送;测试在传送过 方式传送下去, 继续用 方式传送下去 还是结束传送; 程中是否发生了错误等等。 程中是否发生了错误等等。 基本DMA控制器与系统的连接方式: 控制器与系统的连接方式: 请求方式;( 请求方式, (1)公用的 )公用的DMA请求方式;( )独立的 请求方式;(2)独立的DMA请求方式, 请求方式 这与中断方式类似。 这与中断方式类似。
第9章 DMA技术及DMA控制器
上页
下页
帮助
退出
9.2 可编程DMA控制器8237A
9.2.1 8237A的主要特性 9.2.2 8237A的内部结构
9.2.3 8237A的引脚功能
9.2.4 8237A的操作方式
9.2.5 8237A的编程
第9章
9.2.1 8237A 的主要特性
第9章
上页
下页
帮助
退出
9.2.2 8237A 的内部结构
(第9章)
王向慧 主编 中国水利水电出版社 ISBN 978-7-5170-3719-4
第9章 DMA技术及DMA控制器
9.1 直接存储器存取(DMA)技术概述 9.2 可编程DMA控制器8237A
9.3 DMA技术在微型计算机系统中的应用
习题与思考
9.1 直接存储器存取(DMA) 技术概述
9.1.1 DMA控制器的基本功能
第9章
上页
下页
帮助
退出
9.1.2 DMA 控制器的一般结构
I/O
存 储 器
总线请求
总线响应
总线 接口
控制寄存器 状态寄存器DMA请求Fra bibliotek接 口
CPU
DMA响应
I/O
DMA结束信号
总线 控制 逻辑
地址寄存器 字节计数器
外 设
第9章
上页
下页
帮助
退出
9.1.3 DMA 控制器的工作方式
(1)单字节传送方式
/ / / / / / / / / / / / / / / / //// / / / / / // / / / / / / / / /
每次DMA操作只传送一个字节。
(2)块传送方式(组传送方式)
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;主模块时输出低压位地址。
试述DMA控制器的工作原理
试述DMA控制器的工作原理
DMA(Direct Memory Access,直接内存访问)控制器是一种专门用于高速数据传输的硬件设备,它可以绕过CPU,直接在外设和内存之间进行数据传输。
DMA控制器的工作原理如下:
1. 初始化:CPU将DMA控制器的寄存器设置为适当的值,以配置DMA控制器的工作模式、数据传输方向、数据传输长度等参数。
2. 申请DMA通道:DMA控制器接收到外设请求数据传输的信号后,会给出一个DMA请求信号,并向系统总线请求DMA通道的使用权。
3. 获得总线的使用权:如果DMA通道空闲,DMA控制器将获得总线的使用权,然后控制总线的访问权限从CPU转移到DMA控制器。
4. 传输数据:DMA控制器通过总线直接访问内存,将数据从外设读取到内存或反之,而不需要CPU的干预。
DMA控制器可以执行多种数据传输方式,如单字节传输、块传输、循环传输等。
5. 中断/完成通知:当数据传输完成后,DMA控制器可以向CPU发出中断请求(IRQ),或者通过其他方式通知CPU数据传输已经完成。
总结起来,DMA控制器通过直接访问内存,实现外设和内存之间的数据传输,减轻了CPU的负担,提高了系统的效率和吞吐量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(第9章)
王向慧 主编 中国水利水电出版社 ISBN 978-7-5170-3719-4
第9章 DMA技术及DMA控制器
9.1 直接存储器存取(DMA)技术概述 9.2 可编程DMA控制器8237A
9.3 DMA技术在微型计算机系统中的应用
习题与思考
9.1 直接存储器存取(DMA) 技术概述
9.1.1 DMA控制器的基本 HLDA
上页
下页
帮助
退出
9.1.4 DMA 操作过程
(以数据由外部设备向存储器输入为例) 1. CPU对DMAC初始化,送入存储器起始地址、数据块长度。 2. 从I/O接口向DMAC发出DMA请求信号DREQ。 3. DMAC向CPU发出总线请求HRQ。 4. CPU结束现行总线周期后向DMAC回送总线响应信号HLDA。 5. CPU让出控制总线、地址总线、数据总线,由DMAC控制。 6. DMAC向外部设备发出DMA响应信号DACK。 7. 进行DMA传送:DMAC向I/O接口发出读信号,数据读到DB 上,通过AB发送存储器地址,通过CB向存储器发出写信 号,DB上的数据写入指定的存储器单元。 8. DMAC修改内部地址寄存器+1或-1,字节计数器-1。 9. 重复第7、8步,直至设定的字节数传送完毕。 10.DMAC撤消HRQ信号,释放总线,CPU重新控制总线。
第9章
上页
下页
帮助
退出
9.2 可编程DMA控制器8237A
9.2.1 8237A的主要特性 9.2.2 8237A的内部结构
9.2.3 8237A的引脚功能
9.2.4 8237A的操作方式
9.2.5 8237A的编程
第9章
9.2.1 8237A 的主要特性
第9章
上页
下页
帮助
退出
9.2.2 8237A 的内部结构
第9章
上页
下页
帮助
退出
9.1.2 DMA 控制器的一般结构
I/O
存 储 器
总线请求
总线响应
总线 接口
控制寄存器 状态寄存器
DMA请求
接 口
CPU
DMA响应
I/O
DMA结束信号
总线 控制 逻辑
地址寄存器 字节计数器
外 设
第9章
上页
下页
帮助
退出
9.1.3 DMA 控制器的工作方式
(1)单字节传送方式
9.1.2 DMA控制器的一般结构
9.1.3 DMA控制器的工作方式 9.1.4 DMA操作过程
第9章
9.1.1 DMA 控制器的基本功能
存储器 DMA通道 DMAC I/O接口 高速I/O设备
1. 能接受CPU的编程,以便进行功能设定。 2. 能接收 I/O 接口的 DMA 请求,并向 CPU 发出总线请求信 号,请求总线控制权。 3. CPU响应总线请求之后,DMAC 能接管总线的控制,进 入DMA传送过程。 4. 能实现有效的寻址,即能输出地址信息并在数据传送过 程中自动修改地址指针。 5. 能向内存储器和I/O接口发出相应的读/写控制信号。 6. 能控制传送数据的字节数,判定DMA传送是否结束。 7. DMA结束时能释放总线,恢复CPU对总线的控制。
微型计算机原理与接口技术(第二版)
/ / / / / / / / / / / / / / / / / / / / / / / / / //// / / / / / / / / / / / / // //// / / / / / / / / / / / / / / // / / / / / / / / /
/ / / / / / / / / / / / / / / / //// / / / / / // / / / / / / / / /
位数 数量 CPU访问方式
8 6 4 4 8 8 1 4 1 1 1 1 写 写 写 写 读 读
8237A 从态时受 CPU 的控制, 根据 CPU 对 8237A 初始化时的 8237A 内部有 4个 DMA通道,每 8237A 从态时, DB7~DB0 用于 设置要求,对同时提出 DMA请求的 时序与控制逻辑电路接受系统送来 个通道各有一个 16位的基地址寄存器、 传输 CPU 要对其读 / 写的数据信息, 2.优先级编码及控制逻辑 多个通道进行优先级次序裁决,以 基字节计数器、当前地址寄存器、当 的时钟、复位、片选和读 /写控制等 主态时用于向存储器送出高位地址。 前字节计数器,及一个 6 位的工作方 确定优先级最高的通道。 3.命令控制逻辑 引脚 A7~A4 、 A3~A0 为地址线, 信号,完成相应的内部控制操作。 式寄存器。 优先级高的设备在服务时,其 片内还有可编程的命令寄存器、 在主态时用于向存储器送出低位地 8237A 主态时,向存储器或 I/O 4.数据和地址缓冲器组 他低级别的通道请求均被禁止,直 屏蔽寄存器、请求寄存器、状态寄存 址,从态时 CPU 通过 A3~A0 引脚对 接口发出读 / 写等各种控制信号。 器和暂存寄存器各 1 个,不可编程的 至高优先级通道的服务结束。 5.内部寄存器组 8237A 进行内部寄存器选择。 计数暂存器和地址暂存器各 1个。
(1)单字节传送方式
每次DMA操作只传送一个字节。
(2)块传送方式(组传送方式)
每次DMA操作连续传送一组数据。
HOLD HRQ (3)请求传送方式 DREQ I/O接口 DACK HLDA HLDA 类似于块传送方式,只是当外设发来的 DREQ DREQ I/O 接口 DACK 无效时暂停DMA操作,有效时继续。 CPU 二级DMAC DREQ HRQ DREQ I/O接口 HLDA DACK (4)级联传送方式 DACK 一级DMAC DREQ I/O接口 DACK 通道数量。 这种方式可以扩展系统中的DMA 二级DMAC … … …
第9章
上页
下页
帮助
退出
9.2.2 8237A 的内部结构
名称
基地址寄存器 基字节计数器 当前地址寄存器 当前字节计数器 地址暂存器 计数暂存器
位数 数量 CPU访问方式
16 16 16 16 16 16 4 4 4 4 1 1 写 写 读/写 读/写 不能访问 不能访问
名称
命令寄存器 工作方式寄存器 屏蔽寄存器 请求寄存器 状态寄存器 暂存寄存器
每次DMA操作只传送一个字节。
(2)块传送方式(组传送方式)
每次DMA操作连续传送一组数据。
(3)请求传送方式
类似于块传送方式,只是当外设发来的DREQ 无效时暂停DMA操作,有效时继续。
(4)级联传送方式
这种方式可以扩展系统中的DMA通道数量。
第9章
上页
下页
帮助
退出
9.1.3 DMA 控制器的工作方式