dma控制器芯片8257资料介绍

合集下载

8237芯片

8237芯片

8237芯片8237芯片是一种多功能可编程直接内存访问(DMA)控制器芯片,通常用于计算机系统和外设之间的数据传输。

以下是关于8237芯片的1000字简介:8237芯片是英特尔公司于1976年推出的一款集成电路芯片,用于计算机系统中的数据传输。

该芯片主要用于外设设备和计算机内存之间的数据传输,通过直接内存访问(DMA)技术来实现高效的数据传输。

8237芯片是针对intel 8086系列、80286、80386等CPU设计的,具有高度灵活性和可编程性。

它可控制传输速率、方向、优先级和传输长度,并可根据外设和系统的需要进行配置。

8237芯片的主要功能包括数据传输、中断控制和芯片寄存器控制等。

在数据传输方面,8237芯片可以通过DMA通道连接到外设设备,通过DMA传输方式实现高速数据传输。

它为系统提供了4个DMA通道,分别为DMA通道0、1、2和3,每个通道可以独立配置传输方向、时间和待传输数据的长度。

在中断控制方面,8237芯片具有优先级控制机制,可以控制DMA通道的中断请求优先级,确保数据传输的正常进行。

通过配置芯片的中断请求线,可以实现DMA通道的中断请求与CPU的单片或多片中断控制器之间的连接。

除了数据传输和中断控制,8237芯片还具有一系列寄存器,用于对芯片的工作模式、传输参数和状态信息进行控制和监视。

这些寄存器包括工作模式寄存器(mode register)、等待状态寄存器(status register)和请求寄存器(request register)等。

8237芯片在计算机系统中起到了关键的作用,它大大提高了数据传输的效率和可靠性。

通过使用DMA传输方式,可以减轻CPU的负担,提高系统的并行处理能力。

同时,8237芯片的可编程性使得它可以适应不同外设和系统的需求,提供灵活的数据传输方式。

总之,8237芯片是一款多功能可编程DMA控制器芯片,通过DMA传输方式实现高速数据传输。

它具有灵活性和可编程性,可以适应不同外设和系统的需求。

可编程DMA控制8237A

可编程DMA控制8237A
0固定优先权 1循环优先权
0禁止存储器到存储器传输 1允许存储器到存储器传输
0禁止通道0地址保持不变 1允许存储器到存储器传输 XD0=0时不起作用
0允许8237A操作 1禁止8237A操作
0正常时序 1压缩序 XD0=1不起作用
图12-4 命令寄存器
7.请求寄存器(RR)
8237A的4个通道都有一个于其相对应的请求触发器, 它是用来设置DMA请求标志的。在8237A控制器内,是4 个请求触发器对应1个DMA请求寄存器。我们知道,DMA 请求可以由硬件发出,也可由软件发出,对于硬件是通 过DREQ引脚引入DMA请求的,对于软件,则是通过对DMA 请求标志的设置来发出请求的,在存储器与存储器进行 数据传输时,因没有外部DREQ请求信号,因此,由软件 产生一个DMA请求信号来启动,DMA传输请求寄存器的格 式如图12-5所示。
2.当前字数寄存器(CWCR)
它用于存放当前的字节数,最大可达64KB。每一个通道都有一个16位 的当前字计数寄存器。在DMA传送操作时,每传送一个字节,该寄存器的内 容减1,当计数值变为零时,便自动产生终止计数信号。在编程状态下, CPU以字节为单位进行操作。在自动预置方式下,当计数减为0或出现有效 低电平时,基字计数寄存器(BWC)可自动地将初始值重新装入CWCR。
7 65 4 3 2 1 0
00选择请求方式 01选择单字节方式 10选择块方式 11选择级联方式
0选择地址增量 1选择地址减量
0禁止自动预置 1允许自动预置
00选择通道0 01选择通道1 10选择通道2 11选择通道3
00效验传输 01写传输 10读传输 11非法 XX若D7D6=11,则无效
图12-2 工作方式寄存器
(2)综合屏蔽命令格式(或称为主屏蔽寄存器)。其格 式如图12-6(b)所示。8237A允许使用综合屏蔽命令一 次完成对4个通道的屏蔽设置。

DMA控制器8237

DMA控制器8237

写入命令控制字,禁止8237工作
发主清除命令 分别写入4个通道当前操作内存地址 分别写入4个通道工作模式
写入命令控制字,启动8237工作 写入屏蔽寄存器,清除通道屏蔽
图7-34 8237设置流程
二、 PC机DMA结构
以8088为CPU的PC机的DMA结构
80286以上档次PC机的DMA结构和 DMA通道分配
7.4.4 DMA控制器的编程及应用 现代计算机系统中,广泛采用了DMA控制器 与DMA接口相分离的结构模式 以IBM-PC系列微型计算机的软盘机DMA接口 为例,讨论其编程结构及应用 一、 8237 DMA控制器的编程结构 Intel 8237DMA控制器芯片的内部结构 如下图
地址总线
数据总线 控制总线
四、 DMA接口设计中的个问题 •请求与响应时序 •计数终止信号T/C的应用 •DMA通道的复用 ,见下图
•DMA通道的公用
• 单字节传送方式 •成组传送方式(块方式) •请求方式
8237DMA的级联方式
HRQ HLDA DREQ DACK 8237 DREQ DACK
CPU
HRQ HLDA 8237
HRQ HLDA 8237
图7-33 8237级联方式
8237DMA的自动初始化工作方式 及在DRAM 刷新的应用
8237DMA的设置流程
A3~0
I/O缓冲
/O缓冲 时序和 控制逻辑
HLDA HRQ 优先级 仲裁逻辑 命令 控制逻辑
寄存器组和标志触发器
DACK0~3 DREQ0~3 至接口
图7-32 8237DMA控制器内部结构
8237占有16个端口地址,在读/写时分 别选择不同的内部寄存器,见教材表 7-3所示 8237DMA的引脚功能描述见讲义相关部 分 8237DMA的三种基本工作方式

4 DMA控制器8237

4 DMA控制器8237

(2)、工作方式寄存器各位含义如下所述: D7D6:DMA操作方式设定,共有4种方式: ●单字节方式 ●成组传送方式 ●请求方式 ●级联方式

级联的基本方法:
△D5:控制地址变化方向。如置“1”,每传送 一 个字节的数据,现行地址寄存器的内容减1。 反之,D5=0,地址按增量方式变化。 △D4:自动预置。如置“1”,将该通道设置成 自 动预置方式,即每当一次DMA传输结束后,2 个基本寄存器中的预置值将自动地再次写入 2个现行寄存器中。 △D3D2:数据传送方向。写传输,是指数据从 I/O设备写入到内存中去,读传输正好相反。 校验传输时8237A像DMA读或DMA写传输一样产 生时序,产生地址信号,外设可以利用这样
器、基本字节数寄存器、现行地址寄存器和 现剩字节数寄存器,每个通道都必须有这4 个寄存器,所以总数达16个。其中二种基本 寄存器只能写入,而二种现行寄存器只能读。 它们总是占用8个I/O端口地址。
2.工作方式寄存器

(1)、下图是一个字节长的工作方式寄存器各位含义。 4个方式寄存器只占用一个I/O端口地址,不管哪个通 道的方式字都用0BH地址写入,利用方式字的最低两位 D1D0位的编码来指定该方式字属于哪个通道。
D1:从存储器到存储器传输时,固定用通道0的地址 寄存器存放源地址,这时可用D1位控制源地址变化 与否。如果为 “1”,源地址在整个数据块传送中都 有保持不变。这种方式将使一个单元的内容送到规 定长度的某一内存区域中去;如果为“0”,则通道0 的地址变化。该位仅在D0位为“1”时才有意义,如 果D0位为“0”,即不作存储器之间的数据传输时, D1位就没有意义了。 D0:控制是否从存储器到存储器传输。若为1,是从 存储器到存储器传输;否则不是。存储器间传送的 操作只能用软件启动,对请求寄存器(地址为09H) 写入04H,就可以用软件方法启动通道0。

可编程DMA控制器8237A

可编程DMA控制器8237A

图7.5.5 DMA的读/写总线周期 ·非总 线信 号 (a) DMA读操作; (b) DMA写操作
(3) 8237几个特殊操作的说明。
S1 CLK AEN A8~A15 A 0~A7 RD WR 扩展 码 CLK A 0~A7 RD WR (b ) S2 S1 S2 (a) S1 S2 有效 有 效 S2 S3 S4 S2 S3 S4
定时 和 控制
A4~A7 输出缓冲
A8~ A15
命令 控制
写缓冲 DREQ0~ 4 DREQ3 HRQ HLDA DACK0~ 4 DACK3
读缓冲 据总线 I/O 缓冲 DB0~DB7
内部数 优先级 编号和 旋转优先 级逻辑 命令(8)
屏蔽(4)
读写 模式 (4×6) 状态(8) 临时(8)
请求(4)
设置命令寄存器
初始化必须设置命令寄存器,以确定其工作时序、 优先级方式、DREQ和DACK的有效电平及是否允许工 作等。
清除先/后触发器
先/后触发器是一个指针,当它为0时,对低字节进 行操作,当它为1时,对高字节进行操作。
设置地址和字节计数器
8237A每个通道有四个16位的寄存器。这四个寄存器 是基地址寄存器和当前地址寄存器以及基本字节计数 寄存器和当前字节计数寄存器。
7.5.2 DMA的工作方式、 操作类型及时序
1. 8237 DMA的工作方式及传输操作类型
(1) 8237的 4 种工作方式。 ① 单字节传送方式。在这种方式下, 每次仅传送一个字节数据。 传送
后,字节数寄存器减1,地址寄存器加1或减1(由初始化编程决定)。 HRQ变
为无效,8237释放系统总线,控制权返回给CPU。 当前字节数寄存器从初始 值减到0,还要再传输一个字节,又从0减到0FFFFH时,才发出有效EOP信号, 结束DMA传输过程。 通常,在DACK成为有效之前,DREQ必须保持有效。每次传送后, DMA控制器把总线让给CPU至少一个总线周期,且立即开始检测DREQ输入, 一旦DREQ为有效, 再进行下一个字节的传送。

8第八章 DMA 8237控制器

8第八章 DMA 8237控制器

0 0 0 0
0 1 0 1
A0~A7 A8~A15 A0~A7 A8~A15 W0~W7 W8~W15 W0~W7
写 读
0 0 0 0
1 1 0 0
0 0 1 1
0 0 0 0
0 0 0 0
1 1 1 1
1 1 1 1
0 1 0 1
W8~W15
第八章
DMA技术
8237通道寄存器寻址
通 道

寄存器 操作

CS IOR IOW A3 A2 A1 A0
内部先/ 后触发 器
数据总线
基本地 址寄存 器

2
当前地 址寄存 器
基本字 节计数 器 当前字 节计数 器

0 0 0 0 0 0 0 0
1 1 0 0 1 1 0 0
第八章
DMA技术
4.8237A各寄存器对应的端口地址(戴P268 )
表8-1 操作命令与有关信号的对应关系
CS
0 0 0
A3 A2 A1 A0
1 1 1 0 0 0 0 0 0 0 0 1
IOR IOW
0 1 1 1 0 0


读状态寄存器 写控制寄存器 写DMA请求标志寄存器
0
0 0
1
1 1
0
0 1
8237A在传送时有四种工作模式
① 单字节传送模式(戴P262 ) ② 块传送方式(戴P262 ) ③ 请求传送模式(戴P262)④级连传输模式 (戴P262)
在这种传送模式下,8237A可以进行连续的数据传送。当出现以下三种 情况之一时停止传送: a.字节计数器减到0,产生DMA传输结束信号,在线上输出一个有效脉冲。 b.由外界送来一个有效的信号 EOP 。 c.外界的DREQ信号变为无效(外设来的数据已送完)。

可编程DMA控制器8237A

可编程DMA控制器8237A

,则强制DMAC内部
15 可编程DMA控制器
8237的引脚功能
MEMR/MEMW: 8237发出的存储器读/写信号
IOR/IOW: 8237作为主控时,输出的I/O读/写信号。 8237作为从控时,CPU发出的I/O读/写信号,用于 读/写8237
16 可编程DMA控制器
8237的引脚功能
ADSTB:地址选通信号 用于启动地址锁存器
号DREQ到DMAC
DMAC检查该信号是否被屏蔽及其优先权,如确认该
信号有效则向CPU发送总线请求信号HRQ(连到CPU
的HOLD)
地址总线
CPU
数据总线
存储器
HRQ
DMAC
DREQ
外设
6 可编程DMA控制器
概述
DMA响应和数据传送阶段
每个总线周期结束时CPU检测HOLD,如为高电平,则响应 HOLD请求进入保持态,使三态总线CPU侧呈高阻状态,并以总 线保持响应信号HLDA通知DMAC DMAC接管总线,并以DACK信号通知外设,使之成为DMA传 送时被选中的设备,同时DMAC给出内存地址以及I/O读写和存 储器读写控制信号,在外设和存储器之间完成数据传送
READY:存储器或I/O的就绪信号
17 可编程DMA控制器
8237的编程结构
18 可编程DMA控制器
8237的编程结构
控制寄存器
8位,4个通道共用,用于设定8237的信号形式、工作 时序、传输方向。 端口地址08H
信号形式:DREQ/DACK信号的有效形式。 工作时序:普通时序(3个时钟周期完成一次传输)
压缩时序(2个时钟周期完成一次传输) 传输方向:内存 I/O(常用)
I/O内存(常用) 内存内存(PC系列机未用)

第8章 可编程DMA控制器8237A解析

第8章 可编程DMA控制器8237A解析
17
2) DMA传送控制信号引脚
IOR/IOW: 双向,被动态时接收CPU的读/写命令,主动态时向


I/O发读/写命令; MEMR/MEMW: 输出,主动态时向M发读/写命令; CS: 被动态时,由CPU选中该芯片进行读/写操作; DB0~DB7:被动态时作数据线,双向三态,主动态时双功能, 地址和数据分时复用:传送M地址的A8~15,M-M传输时作数据 输入/输出线; A0~A3:双向,被动态作端口选择线(16个可访问端口),主动 态发出M地址的A0~3; A4~A7:单向,主动态发出M地址的A4~7; ADSTB:地址选通,输出,用于将DB0~DB7发出的A8~15锁存 到外部地址锁存器;
内部寄存器组
有4个独立通道,每个通道有4个16位寄存器,一个工 作方式寄存器; 另有5个全芯片共用寄存器:命令,状态,请求,屏 蔽,暂存。
14
8.2 8237A内部结构及引脚
问题:芯片对外的联络方式如何?(引脚信号情况) 8-2-2 8237A的引脚 8237A是40引脚的双列直插式器件,由于它既可做主模块又
EOP RESET CS READY CLK AEN ADSTB
MEMR MEMW
地址暂存器 A15 ~A8 读/写缓冲器 当前地址 寄存器 (16×4) 当前字 计数器 (16×4)
I/O缓冲 A3~A 0 输出缓冲 A7~A4
16 读缓冲器 时 序 与 控 制 逻 辑 基地址 基字 寄存器 寄存器 4) (16× 4) (16×
可做从模块,故其外部引脚设置也具有一定的特点。如它的 I/O读写线和数据线是双向的,另外,还设置了存储器读/写 线和16位地址输出线。这些都是其他I/O接口芯片所没有的。
15

第12章8237ADMA控制器

第12章8237ADMA控制器

系统总线

① 外设发出DMA请求
② DMAC向CPU申请总线
③ CPU响应,释放总线控制权
存储器
④ DMAC得到总线控制权,并发出DMA响应信号
⑤ 由DMAC发出各种控制信号,控制外设与存储器之
间的数据传送
⑥ 数据传送完后,DMAC撤销HOLD信号
⑦ CPU释放HLDA信号,并重新控制总线
DMA传输概念 DMA控制器的工作过程
信号,完成相应的操作;
➢ 主态时则向系统发出相应的控制信号。
2. 优先权编码电路: ➢ 根据初始化命令,对同时提出DMA请求的多个通
道进行排队判优。(8237A有4个DMA 通道)
➢ 优先级管理方式:固定优先级,循环优先级。
一、8237的内部结构
8237A的组成和原理
3. 数据和地址缓冲器组
➢ A7~A4、 A3~A0为地址线; ➢ DB7~ DB0在从态时传送数据信息,主态时传送地
一、8237的内部结构 8237A是一个可编程的DMA 控制器芯片,它直接
应用于8086/8088 和80286系统。在386和486系统中,作 为集成系统外设接口芯片中的一部分仍起着DMA控制 器的作用。8237A的内部结构框图见P417图12-1 1.时序控制逻辑:
➢ 从态时接受系统送来的时钟,复位,片选和读写
➢ MEMR,MEMW: 主态时,8237输出的存储器读写信
8237A的组成和原理
8237A有两种工作状态:主态和从态,部分管脚 在主态和从态时其意义有所不同。
➢CLK:时钟信号,3MHZ; ➢ CS: 从态时有效,作为8237的片选信号; ➢ READY: 存储器或外设的引入信号,速度慢时插
入Tw; ➢ A3~A0: 双向,从态时,寻址内部寄存器,主态

第八章8237A

第八章8237A

一、空闲周期 在没有DMA请求时,8237A就空闲周期,执 行连续的空闲状态SI,在空闲周期内,每个SI 状态都要进行两种检测:
1.检测有无信号:以确定有无CPU对8237A的操作 要求。若信号有效,则表明CPU要求8237A进行读写 操作,此时8237A作为从态工作,作为CPU的一个I/O 接口。进行编程状态,受CPU的控制。对8237A的初 始化工作就在这种状态下实现的。
提交完毕 ,我继续 上课
如果采用第七章的中断技术,存在问题1:
每个同学交作业之前都需要向我申请,需要申请 108次,另外我需要响应108次申请。(即外设每次 申请只传输一个字节的数据。)---即申请次数繁多。 解决思路:只需某一位同学申请,其它同学无需申 请直接提交。
如果采用第七章的中断技术,存在问题2:
正常时序:S1 S2 S3 S4 压缩时序:S2 S4 扩展时序:S1 S2 S4
8237A内部状态变化流程
主菜单
主菜单
通过对方式字寄存器的编程,可以设备某个通道为自 动初始化方式。 自动初始化方式的功能: 当该通道完成一个数据传送并产生信号时,用基地 址寄存器和基字节寄存器的内容,使相应的当前地址 寄存器和当前字节计数器恢复初值。 自动初始化,通道就做好了另一次数据传送的准备。

DACK3 DACK2 DACK1 DACK0
选择 页寄存器 选择 页寄存器 选择 页寄存A19~A16
A15~A0 DMA存储器地址
主菜单
DMA只有一组地址线,如果实现内存到 内存的数据传输呢?
D0~D7
A0~A15 MEMW
内存
8237
暂存器
三、8237A的外部引脚:
5.A3-A0:(Adress)地址信号。双向, 作 为主模块时,输出16位地址中 的A3-A0。做为从模块时,输 入,选中某个寄存器。 6.A7-A4:(Adress)地址信号。输出16位 地址中的A7-A4。 7.DB7-DB0:(Data Bus)数据线。双向,8 位数据线,传送CPU的控制命 令,和内部寄存器的内容。

8237 内部结构及引脚_微型计算机原理及应用教程(第2版)_[共9页]

8237 内部结构及引脚_微型计算机原理及应用教程(第2版)_[共9页]

1837.5.2 8237内部结构及引脚8237A DMA 控制器有4个独立的通道,每个通道均有64KB 寻址与计数能力,并且可以用级联方式来扩充更多的通道。

它允许在外部设备与系统存储器以及系统存储器之间直接变换信息,其数据传送率可达1.5MB/s 。

它提供了多种控制方式和操作模式,大大增强了系统的性能,8237A 是一个高性能通用可编程的DMAC 。

1.8237A 的引脚8237A DMA 控制器是一个40个引脚的双列直插式组件,如图7-13所示。

由于它既作主控者又作受控者,故其外部引脚设置也独具特色,它的I/O 读/写线(IOR 、IOW )和地址线(A 0~A 3)是双向的,另外,还设置了存储器读/写线(MEM 、MEMV )和16位地址输出线(DB 0~DB 7、A 0~A 7)。

这些都是其他I/O 接口芯片所没有的。

下面对各引脚功能加以说明。

DREQ 0~DREQ 3:外部设备对4个独立通道0~3的DMA 服务请求,由申请DMA 传送的设备发出,可以是高电平或低电平有效,由程序选定。

它们的优先级是按DREQ 0最高,DREQ 3最低的顺序排列的。

DACK 0~DACK 3:8237控制器发给I/O 设备的DMA 应答信号,有效电平可高可低,由编程选定,在PC 系列中将DACK 编程为低电平有效,系统允许多个DREQ 信号同时有效,即可以几个外部设备同时提出DMA 申请,但在同一个时间,8237A 只能有一个回答信号DACK 有效,为其服务。

这一点类似于中断请求/中断服务的情况。

HRQ :总线请求,高电平有效,是由8237A 控制器向CPU 发出的要求接管系统总线的请求。

HLDA :总线应答,高电平有效,由CPU 发给8237A 控制器。

HLDA 有效时,表示CPU 已让出总线。

IOR /IOW :I/O 读/写信号,是双向的。

8237A 为主态工作时,它们是输出。

在DMAC 控制下,对I/O 设备进行读/写。

[工学]第9章 可编程DMA控制器8237A

[工学]第9章 可编程DMA控制器8237A

• ⑥ DMA传送结束,DMAC撤除总线请求信号,CPU重新控制总 线,恢复CPU的工作。 • Intel8237A是一种高性能的可编程DMA控制器,可以用软件对 芯片进行编程,使它能在多种方式下工作。 • ●一个芯片中有4个独立的DMA通道。 • ●每个通道的DMA请求都可以允许和禁止。 • ●每个通道的DMA请求有不同的优先权。优先权可以是固定的 ,也可以是循环的,由初始化编程决定。 • ●每个通道一次传送的最大长度不能超过64KB。 • ●可以用级联的方法来扩展通道数。 • 8237A DMAC有四个通道,每个通道都可用于DMA数据传送。 PC机系统占用了8237A通道0、通道2、通道3,分别用于刷新动 态存储器、软盘控制器与存储器间交换数据、硬盘控制器与存 储器交换数据,只有通道1未使用,供用户使用。
OUT 83H,AL ;置通道1页面寄存器 MOV AL,00H OUT DMA+02H,AL ;写地址低8位 MOV AL,00H OUT DMA+02H,AL ;写地址高8位 MOV AX,2000 ;置传送字节数 OUT DMA+03H,AL ;先写入低8位 MOV AL,AH ; OUT DMA+03H,AL ;后写入高8位 MOV AL,88H OUT DMA+0BH,AL ;后通道0模式字 MOV AL,85H OUT DMA+0BH,AL ;后通道1模式字 MOV AL,83H OUT DMA+08H,AL ;写命令字,允许通道0地址保持 MOV AL,0EH OUT DMA+0FH,AL ; 通道0解除屏蔽 MOV AL,04H OUT DMA+09H,AL ; 通道0软件请求,启动DMA传送 MOV AH,4CH ;返回DOS INT 21H CODE ENDS END START

第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控制器8237A

可编程DMA控制器8237A

用于控制数据传输的字 节数。
用于指示控制器的当前 状态。
负责解析命令和控制数 据传输过程。
工作模式
8237A控制器支持两 种工作模式:单周期 模式和多周期模式。
多周期模式:数据传 输需要多个时钟周期 才能完成。
单周期模式:数据传 输在一个时钟周期内 完成。
数据传输过程
地址比较
控制器比较源地址和目标地址 是否匹配。
WENKU DESIGN
WENKU DESIGN
2023-2026
ONE
KEEP VIEW
可编程DMA控制器 8237A
WENKU DESIGN
WENKU DESIGN
WENKU
REPORTING
https://
CATALOGUE
目 录
• 引言 • 8237A控制器的工作原理 • 8237A控制器的编程方法 • 8237A控制器的应用场景 • 8237A控制器的优势与局限性 • 结论
8237A控制器负责管理数据在内存和 外部设备之间的传输,包括数据的起 始地址、传输大小、传输方向等。
控制器能够实时监控各个通道的数据 传输状态,并在出现错误时进行相应 的处理,如中断或重试。
通道优先级管理
控制器支持设置不同的通道优先级, 根据优先级的高低来处理数据传输请 求。
对未来研究和应用的建议
8237A控制器的主要特点包括
多通道支持:最多支持8个数据传输通道,可同时进行 多个数据传输任务。
灵活的接口:可以与各种类型的外部设备接口连接,如 磁盘驱动器、网络适配器等。
PART 02
8237A控制器的工作原 理
控制器结构
地址寄存器
计数器
状态寄存器控制逻辑源自用于存储数据传输的源 地址和目标地址。

12章8237A

12章8237A
(4) 级连方式 连接多个8237芯片,用于系统扩展。
7)请求寄存器: 4位,1个,它们可以用硬件方法由外部送到DREQ线上的请求 信号使相应位置1,产生DMA请求。当8237A工作于数据块传送时,也可以用软 件方法使请求位置1或清0,初始化时由CPU写入,以便在软件控制下产生一个 DMA请求,如同外部设备产生DREQ请求一样。
CLR DB0~DB7 A0~A7 —时钟输入端, 分为两组: 数据线是双向 号,输出或输入低电平。 A . 与 CPU 联 络 信 号 HRQ 和 RESET IOR 当与 8237A — IOW 复位信号, 行使 是双 DMAC 向的, 功能 在 三态信号线,有双重功能, A0~A3和A4~A7。 HLDA 当 时, 8237A READY 这个引端可以双向应用。 8237A DB0~DB7 被编程时,输入,接 — 被编程时,作为数 准备好信号,同 输出高8位地 HRQ :是 向 CPU 发 址 收 CPU A8~A15 A0~A3 CPU READY 发 为双向三态信号 ,同时 来DMAC 信号含义一样, 的信 ADSTB 号 ,有 在 据线进行输入或输出数据的 如果外加一个低电平,将强 出的取得总线控制权的请求信 线,当 传送; 效 DMA 迫 ,DMA 将A8~A15 传送期间,输出,用 8237A 传送结束。作为输 锁存在外部锁 作为一个I/O 此外有电源和地端。 号,高电平有效。 由8237A DMAC 芯片接受 存器中, 作对外设的读 CPU编程时, AEN 是高电平有 / 写选通信号。 出端,当四个通道中任何一 当8237A作为DMAC时, HLDA :是 CPU 向 DMAC 发出 A0~A3 效信号,它可以作为 用内部寄存器的选择; DMA 个通道在传送字节数达到预 管脚功能可以看出, 输出 MEMR 20 位地址的 与 MEMW A8~A15 是输出 高8 的,响应 DMAC 请求,准备让 当8237A行使 DMAC 功能时, 传送时禁止其它的总线驱动 定值时,将产生一个脉冲, 信号,在 DMA传送期间, 在某种含义上, 出总线使用权的回答信号。 位。 作为20位地址线的低 器工作。 形成一个 PC/XT EOP 信号输出。无 中8237A 4位输 的 向存储器接口发读写控制信 8237A 出, AEN DMAAEN信 论是外加的还是内部产生的 B .与没用而由 I/O相当于一个没 外设之间的联络信号 号。 EOP 信号,都将停止 DMA 号代替,这是由系统总线仲 有运算功能的 DREQ0~DREQ3 : CPU 外 设。 向 A4~A7为三态输出,用 操作。 裁器送出的信号 。 DMAC 发出的中断请求信号, 于产生 A4~A7地址。

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

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

写入请求字:通道0产生请求,用软件启动8237A
2. 8237A的应用 为了掌握8237A的编程方法,我们结合IBM PC/XT计算机系 统中8237A的应用来进行说明。 【例8.2】在PC/XT机中,8237A的通道0用来对动态RAM进行 刷新,通道2和通道3分别用来进行软盘驱动器和内存之间的 数据传送以及硬盘和内存之间的数据传送,通道1用来提供其 它传送功能,比如网络通讯功能。系统采用固定优先级,即 动态 RAM 刷新的优先权最高。 4 个 DMA 请求信号中,只有 DREQ0 是和系统板相连的, DREQ1~DREQ3 几个请求信号都 接到总线扩展槽的引脚上,由对应的软盘接口板和网络接口 板 提 供 。 同 样 , DMA 应 答 信 号 DACK0 送 往 系 统 板 , 而 DACK1~DACK3信号则送往扩展槽。 该例中的8237A对应端口地址为0000H~000FH,在下面的 编程中我们采用标号DMA来代表首地址0000H。
2. 8237A的引脚
IOR
IOW MEMR MEMW NC READY HLDA ADSTB AEN HQR CS CLK RESET DACK 2 DACK 3 DREQ 3 DREQ 2 DREQ1 DREQ 0 GND
8237A是一种具备40个
引脚的双列直插式DIP封 装的芯片,如图8-2所示。
4. 8237A的传送速率 一般情况下, 8237A 进行一次 DMA 传送需要 4
个时钟周期(不包括插入的等待周期)。例如,PC机的
时 钟 周 期 约 为 210ns , 则 一 次 DMA 传 送 需 要 210 ns×4+210 ns=1050 ns,多加一个210 ns是考虑到认为插 入一个等待周期的缘故。 另外,8237A为了提高传输速率,可以在压缩定时 状态下工作。在压缩定时下,每一个DMA总线周期仅用 2个时钟周期来实现,从而大大地提高了传送速率。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

dma 控制器芯片8257 资料介绍
DMA 既可以指内存和外设直接存取数据这种内存访问的计算机技术,又可以指实现该技术的硬件模块(对于通用计算机PC 而言,DMA 控制逻辑由CPU 和DMA 控制接口逻辑芯片共同组成,嵌入式系统的DMA 控制器内建在处理器芯片内部,一般称为DMA 控制器,DMAC)。

值得注意的是,通常只有数据流量较大(kBps 或者更高)的外设才需要支持DMA 能力,这些应用方面典型的例子包括视频、音频和网络接口
现代计算机系统中,广泛采用了DMA 控制器与DMA 接口相分离的结构模式以IBM-PC 系列微型计算机的软盘机DMA 接口为例。

8237 DMA 控制器的编程结构
Intel 8237DMA 控制器芯片的内部结构
如下图。

相关文档
最新文档