DMA控制器8237

合集下载

微机原理与接口技术-07-2-8237DMA

微机原理与接口技术-07-2-8237DMA

D7
D6
D5
D4
D3
D2
D1
D0
通道 3 有DMA请求
1
1: 通道 0计数结束
通道 2有DMA请求
1
1:通道 1计数结束
通道 1 有DMA请求
1
1:通道 2计数结束
通道 0 有DMA请求
1
1: 通道 3计数结束
暂存(临时)寄存器(端口地址DMA+0DH)
• 8位 • 4个通道共用 • 在内存内存传输时,暂存数据 • 在传送完成时,它保留传送的最后一个字节 • 此字节可由CPU读出 注意: 内存 I/O传输时,数据不进入8237内部,只存在于数据总线上
读( IOR =0) 当前地址寄存器(0) 当前字节计数器(0) 当前地址寄存器(1) 当前字节计数器(1) 当前地址寄存器(2) 当前字节计数器(2) 当前地址寄存器(3) 当前字节计数器(3) 状态寄存器
写( IOW =0) 基地址寄存器(0) 基字节计数器(0) 基地址寄存器(1) 基字节计数器(1) 基地址寄存器(2) 基字节计数器(2) 基地址寄存器(3) 基字节计数器(3) 控制寄存器 请求寄存器 屏蔽寄存器 模式寄存器 清高/低触发器
三、8237的结构及编程
1、8237的编程结构
HOLD HLDA CLOCK 关闭CPU地址锁存器 当前地址.REG. 16
ADSTB EN# STB
HRQ
控制 REG. 8 Addr.Temp.16 Count Temp. 16 暂存器 8
请求
触发器
IOR# MEMR# IOW#
HLDA 状态 REG. 8 CLK AEN 模式 REG.6
模式寄存器(端口地址DMA+0BH)

可编程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为有效, 再进行下一个字节的传送。

习题四

习题四

3. 在8237控制பைடு நூலகம்进行“写传送”时,8237需先后 向I/0接口和存储器的控制信号是:(A ) A)IOR,MEMW B)IOR,MEMR C)IOW,MEMW D)IOR,IOW 4 .在DMA方式下,CPU与总线的关系是( C ) A)只能控制数据总线 B)只能控制地址总线 C) 成隔离状态 D)成短接状态
5. 在微机系统中采用 DMA 方式传输数据时,数据传 送是( C ) A .由 CPU 控制完成 B .由执行程序(软件) 完成 C .由 DMAC 发出的控制信号控制下完成的 D .由总线控制器发出的控制信号控制下完成的 6. CPU响应中断请求和响应DMA请求的本质区别是 ( B ) A.中断响应靠软件实现 B.响应中断时CPU仍然控 制总线,而响应DMA请求时,CPU要让出总线 C.速度慢 D.控制简单
选择题
1. DMA控制器8237有四种工作方式,其中,传输率 较高的一种是:( B) A)单字节传送方式 B)块传送方式 C)请求传送方式 D)级联方式 2.8086在响应外部HOLD请求后,( D )。 A)转入特殊中断服务程序 B)进入等待周期 C)只接收外部数据 D)所有三态引脚处于高阻, CPU放弃对总线控制权。
简答

简述DMAC占用总线控制权的方式(p82)。 简述DMA传送的传送类型(p92)。 简述DMA传送的四种工作方式(p93)。
7. 用于PC机管理直接存储器传输的接口芯片是( ) A 8237 B 8251 C 8255 D 8253 8.在DMA传送方式中,对数据传递过程进行控制的 硬件称为( C ) A.数据传递控制器 B.直接存储器 C.DMAC D.DMAT
判断:


1、DMA方式不能实现内存与接口之间数据的直接 交换。(× ) 2.DMAC在系统中始终是受CPU控制的. (× ) 3.DMA写是指将内存的数据写到外设. (×) 4.当DMA传送时CPU可以执行其它程序. (正确 ) 5. DMA控制器可以和CPU同时工作. ( 正确 )

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信号变为无效(外设来的数据已送完)。

第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章可编程DMA控制8237A

微机原理与应用第12章可编程DMA控制8237A
灵活的编程控制
通过编程,8237A可以实现复杂的 DMA传输控制,满足各种应用需求。
8237a的优势与不足
• 易于集成:8237A具有标准的接口,可以方便地与其他微 处理器或外设集成。
8237a的优势与不足
成本较高
由于8237A是一款较为复杂的芯片,其制造成本相对 较高,增加了系统成本。
功耗较大
异步传输
错误检测与纠正
可编程DMA控制器8237A具备错误检测与 纠正功能,能够保证数据传输的可靠性和稳 定性,降低数据传输错误导致的系统故障。
可编程DMA控制器8237A支持异步传输 模式,使得不同外设之间可以实现独立的 数据传输,提高系统并行处理能力。
在实时系统中的应用
实时响应
可编程DMA控制器8237A能够快速响应外部事件,及时完成数据 传输任务,满足实时系统的要求。
数据传输编程包括设置数据传输的起始地址、 数据块大小、数据传输方向等参数,以确保数 据正确地从源地址传输到目标地址。
数据传输编程通常在数据传输任务开始时进行, 以确保控制器按照预期的参数和条件进行数据 传输。
控制字编程
1
控制字编程是8237a可编程dma控制器的重要特 性之一,用于控制数据传输的流程和行为。
02
初始化编程包括设置通道号、 数据块大小、数据传输方向、 是否循环传输等参数,以确保 数据传输的正确性和效率。
03
初始化编程通常在系统启动时 或数据传输任务开始前进行, 以确保控制器处于正确的初始 状态。
数据传输编程
数据传输编程是8237a可编程dma控制器的核 心功能之一,用于控制数据在内存和外部设备 之间的传输。
2
控制字编程包括设置控制字的各位值,以实现不 同的控制功能,如启动/停止数据传输、设置通道 号、设置数据块大小等。

DMA控制器和计数定时器

DMA控制器和计数定时器
/写控制端;在CPU对8237A进行读/写时。
5
8237工作时各信号的配合: (2) 当作为主模块工作时 当8237A 作为主模块工作时,它会往总线上提 供要访问的内存地址,此时CS、AEN信号为高电平。
作为主模块工作时,8237A还必须输出IOR、IOW
MEMR、MEMW读/写信号。 另外最高4位地址在传输前,用指令送到一I/O 端口中,所以DMA传输时,每次传输字节限制在216 以下。
01=单字节传输 10=块传输 11=级联传输
传输类型选择: 00=校验传输 01=写传输 10=读传输 11=无意义 自动预置功能选择: 0=禁止 1=允许
通道选择: 00=选择通道0 01=选择通道1 10=选择通道2 11=选择通道3
内存 I/O
地址增减选择: 0=地址加1 1=地址减1
10
写:I/O 读:内存
6
二、8237A的工作模式
8237A有四种工作模式,每个通道可以用四 种模式之一工作。
(1) 单字节传输模式:
此方式下,8237A一次请求总线只传送一个 字节,就释放总线控制权。8237A和CPU交替管 理。 、
7
(2)块传输模式: 在此方式下,由DREQ启动后就连续的传送数 据,直至完成预定字节数的传送或由外部I/O接 口输入有效的EOP信号,8237A才释放总线控制权 而结束传输。 (3)请求传输模式: 此模式与块传输模式类似,所不同的是在每 传输 1B后,8237A都对DREQ端进行测试,若仍有 效则继续传送,若无效则立即停止传送,待 DREQ 再次有效后继续传送。
18
8. 8237A的特殊软件命令
(2)清除先/后触发器命令 是用来控制DMA通道中地址寄存器和字节计数器 的初值而设置的。 若该触发器为“0”,则读/写低8位;若为“1”, 则读/写高8位。每当对16位寄存器进行一次读/写操 作,则触发器改变一次状态。 为了保证对16位寄存器的读/写是从低字节开始, 应事先用此软件命令使先/后触发器强制清零。

微机原理 第10章 DMA控制器8237A 习题及参考

微机原理 第10章 DMA控制器8237A 习题及参考

第十章DMA控制器8237A1.试说明在DMA方式下,传输单个数据的全过程。

答:内存往外设传输单个数据:(1)当一个接口准备就绪,要进行DMA传输时,该接口往DMA 控制器发一个DMA请求;(2)DMA控制器采样到DRED有效电平后,若屏蔽寄存器是开放的,便往控制总线上发一个总线保持请求;(3)若CPU允许让出总线,则发回一个总线保持允许信号;(4)DMA控制器接到此信号后,就将其内部地址寄存器的内容送到地址总线上;(5)同时,DMA控制器往接口发一个DMA回答信号,并发出一个内存读信号和一个I/O写信号;(6)接口收到DMA回答信号后,撤除DMA请求信号,且内存把数据送到数据总线上;(7)接口锁存数据总线上的数据后,一般往DMA控制器回送一个准备好信号;(8)DMA控制器的地址寄存器内容加1或减1,字节计数器的值减1;(9)DMA控制器撤除总线保持请求信号,CPU收回总线控制权。

这样,就完成了对一个数据的DMA输出过程。

外设往内存传输单个数据的过程:(1)当一个接口中有数据要输入时,就往DMA控制器发一个DMA 请求信号;(2)DMA控制器接到DMA请求后,(若屏蔽触发器是开放的)便往控制总线上发一个总线保持请求信号;(3)若CPU允许让出总线,则发回一个总线保持允许信号;(4)DMA控制器接到此信号后,就将其内部地址寄存器的内容送到地址总线上;(5)同时,DMA控制器往接口发一个DMA回答信号,并发一个I /O读信号和一个内存写信号;(6)接口收到DMA回答信号后,撤除DMA请求信号,并将数据送到数据总线上;(7)内存在收到数据后,一般往DMA控制器回送一个准备好信号;(8)DMA控制器的地址寄存器内容加1或减1,字节计数器的值减1;(9)DMA控制器撤除总线保持请求信号,CPU收回总线控制权。

这样,就完成了对一个数据的DMA输入过程。

2.为使DMA控制器正常工作,系统对DMA控制器进行初始化的过程分为哪两个主要方面?答:(1) 将数据传输缓冲区的起始地址或结束地址送到地址寄存器中;(2) 将传输的字节数或字数送到计数器中。

DMA控制器8237

DMA控制器8237

(2)主清除命令 ) 可清除4个通道的屏蔽触发器 个通道的屏蔽触发器, 可清除 个通道的屏蔽触发器,即允许 各通道DMA请求。 请求。 各通道 请求 7.8237的编程步骤 8237的编程步骤 (1)输出主清除命令。 )输出主清除命令。 (2)写入基与现行地址寄存器。 )写入基与现行地址寄存器。 (3)写入基与现行字节数寄存器。 )写入基与现行字节数寄存器。 (4)写入模式寄存器。 )写入模式寄存器。 (5)写入屏蔽寄存器。 )写入屏蔽寄存器。
dreq0dreq3通道dma请求输入外设向dmac输入的请求dma服务信号固定优先级时dreq0优先级最高dreq3最低优先级循环时某通道被响应后变为最低dack0drek3dma控制器送给io接口的回答输出hrq总线请求输出有效时表示8237的某通道向cpu请求占用总线hlda总线响应输入有效时表示cpu让出总线的控制权a3a0地址低4位io双向cpu控制总线时输入用做cp写入命令寄存器。 )写入命令寄存器。 ( 7) 写入请求寄存器 。 若有软件请求 , ) 写入请求寄存器。 若有软件请求, 就写入指定通道,可以开始DMA传送的过 就写入指定通道 , 可以开始 传送的过 程。 若无软件请求, 则在完成了 ( 1) ~ 若无软件请求 , 则在完成了( ) 启动DMA传 (6)的编程后,由通道的 )的编程后,由通道的DREQ启动 启动 传 送过程。 送过程。
12.3 8237在IBM PC/AT系统中的应用 在 系统中的应用 使用2片 级连, 通道, 使用 片8237A级连,提供 个DMA 通道, 级连 提供7个 如下图: 如下图:
DREQ0 DREQ1 DREQ2 DREQ3 HRQ DREQ4 DREQ5 DREQ6 DREQ7
通道1, 通道 ,用户使用 通道2, 通道 ,服务于软盘驱动器 通道4, 通道 ,用作级连 其余通道, 其余通道,保留

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 设备进行读/写。

(精)第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

第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控制器中和某个接口有联 系的部分称为一个通道

8237芯片

8237芯片

使用8237A可编程DMA控制器实验目的1、掌握8237A可编程DMA控制器和微机的接口方法。

2、学习使用8237A可编程控制器,实现数据直接快速传送的编程方法。

8237 DMA控制器实验内容1、实验内容实验原理图如图5-26(见下页)所示,本实验学习使用8237A可编程DMA控制器进行RAM 到RAM的数据传送方法。

实验中规定通道0为源地址,通道1为目的地址,通过设置0通道的请求寄存器产生软件请求,8237A响应这个软件请求后发出总线请求信号HRQ,图中8237HRQ直接连到8237A的HLDA上,相当于HRQ作为8237A的总线响应信号,进入DMA操作周期。

在8237A进行DMA传送时,当字节计数器减为0时,8237A的/EOP 引脚输出一个负脉冲,表示传送结束。

/EOP可以作为系统的外部中断信号,通过8259A 控制器使CPU 判断DMA 传递是否结束。

本实验中未用/EOP信号。

图中RAM 6264的地址为8000~9FFF,实验要求将RAM 6264中地址为8000~ 83FFH的1KB 数据传送到地址为9000H~93FFH的区域中去。

为了验证传送的正确性,你可在源地址(8000H~83FFH)区首末几个单元填充标志字节,传送完再检查目的地址区的相应单元的标志字节是否与填入的一样。

2、实验步骤(1)、将DMA扩展实验板按信号线的对应关系插入DVCC-8086H的Z5插座。

(2)、将DMA扩展实验板上的8237CS信号插孔和DVCC?8086H 的译码输出插孔00H -01FH相连。

(3)、打开DVCC-8086H电源,DVCC-8086H系统显示"DVCC -86H"。

(4)、运行实验程序在系统显示"DVCC-86H"状态下,按任意键,系统显示命令提示符"-" 。

按GO键,显示器显示"1000 XX"。

输入F000 :B8C0 。

DMA控制器8237

DMA控制器8237

DMA传送的基本原理图
DMA传送的三个阶段之准备阶段
(1)准备阶段。 • 这是一个程序工作阶段,包括对DMA控制器的初 始化、工作方式、基本参数的设置;对I/O设备及 其接口的初始化,如寄存器的清除,设备工作的 启动等。这时DMA控制器和I/O设备接口都被看作 是有多个I/O端口的设备,CPU对其相继执行若干 条OUT指令。所以图中DMA控制器、I/O设备接 口与系统总线之间都画有地址总线、数据总线和 控制总线。
• ③DMA控制器向地址总线发出将要传送数据的存储器的地 址信息,以备访问对应的存储单元。
DMA传送操作过程(续)
• ④DMA控制器向控制总线发出控制存储器和I/O设 备操作需要的读写信号,实现I/O设备和存储器之 间一个字节的传送。应该特别指出,传送数据字 节的途径是I/O设备→I/O设备接口→系统总线→存 储器,不经过DMA控制器。DMA控制器只起控制 作用。 • ⑤修改DMA控制器中提供存储器地址的地址寄存 器,指向存储器下一单元;记录传送的字节数, 为下一字节传送做好准备。
第 11 章
DMA控制器8237
教学重点
•A的工作原理 • DMA控制器8237A的初始化
教学要求
• 掌握DMA控制器传送数据的工作机理
• 了解DMA控制器的内部结构 • 了解8237的使用方法
第11章 DMA控制器8237
• 11.1 DMA传送的基本原理
DMA传送的三个阶段之结束阶段
(3)传送结束处理阶段。 • 在这一阶段通常是引入一段程序(可由中 断方法或基本I/O测试状态引入),对传送 的结果进行处理,或者同时完成下一次传 送的第一阶段的任务,为下次DMA传送作 准备。
11.2 DMA控制器8237A的工作原理

可编程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控制器的工作原 理
控制器结构
地址寄存器
计数器
状态寄存器控制逻辑源自用于存储数据传输的源 地址和目标地址。

DMA控制器8237A

DMA控制器8237A
微机原理与接口技术
DMA控制器8237A
DMA控制器8237A是一种高性能的可编程芯片,其 内部有4个独立的DMA通道,每个通道都有64 KB的寻 址能力,具有不同的优先级,都可以分别被允许和被禁 止。多片8237A可以用级联的方法扩展DMA通道数。
1.1 8237A的引脚及功能
8237A是具有40条引脚的双列直插式芯片。
DMA控制器8237A
过程结束信号,双向,低电 平有效。该信号有效时,当 前 的 DMA 传 送 终 止 , 使 请 求复位,并根据编程而做相 应的操作。当 EOP 引脚不用 时,应与数千欧姆的电阻相 连后接到高电平上,防止输 入干扰而引起MA响应信号,对应4个DMA通道的输 出信号。8237A接收到DMA请求信号, 通过DACK信号通知外设该请求已被批 准。
准备就绪信号输入端,高电平有效,与 CPU上的READY信号类似。此信号为低 电平时,将在DMA传送过程中插入时钟 周期SW,直到此信号为高电平才进入下 一个时钟周期。
复位信号输入端,高电平有效。该信号 有效时,将清除命令、状态寄存器,并 使 屏 蔽 寄 存 器 复 位 。 复 位 后 , 8237A 处 于空闲周期。
过程结束信号,双
向,低电平有效。
该信号有效时,当
前的DMA传送终止,
使请求复位,并根
据编程而做相应的
操作。当
引脚
EOP
不用时,应与数千
欧姆的电阻相连后
接到高电平上,防
止输入干扰而引起
误操作。
DMA控制器8237A
总线响应信号,是CPU对HRQ信号做出 响应时产生的信号,高电平有效。 8237A接收到该信号表示芯片获得系统 总线的控制权,开始DMA传送。
双向三态地址线。在空闲周期时,这些引脚作 为输入线,用于选择8237A内部各寄存器。在 DMA传送数据时,这些引脚用于输出要访问的 存储单元的低4位地址。

8237工作原理

8237工作原理

8237工作原理
8237是一种DMA(Direct Memory Access,直接内存访问)控制器,其工作原理如下:
1. 初始化:首先,CPU将DMA控制器的寄存器进行初始化设置,包括传输模式、传输方向、数据长度等。

2. 配置DMA通道:DMA控制器可以有多个通道,每个通道可以独立地进行数据传输。

CPU需要配置DMA通道,指定它们所要使用的内存地址、外设地址以及数据传输的方向。

3. 请求方式:外设设备通过向DMA控制器发送请求信号来启动数据传输过程。

外设设备通常是在缓冲区已满或空时发出请求,要求DMA控制器将数据从内存复制到外设或从外设复制到内存。

4. 中断处理:在数据传输完成后,DMA控制器可以发送中断信号给CPU,以便CPU知道数据传输已经完成,可以进行进一步的处理。

中断信号可以触发CPU执行指定的中断服务程序。

5. 数据传输:DMA控制器会根据配置好的参数,直接从内存中读取数据,或者将数据写入内存,而无需CPU的干预。

DMA控制器和CPU可以并行工作,提高数据传输的效率。

总结:DMA控制器通过直接访问内存,实现了CPU与外设之
间的数据传输,并且减轻了CPU的负担。

它能够在数据传输过程中独立工作,大大提高了数据传输的效率。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

写入命令控制字,禁止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的三种基本工作方式
表7-4 286机的DMA通道分配
第一片8237(DMA1)
第二片8237(DMA2)
0# 1# 2# 3#
备用 SDLC备用 软盘机用 备用
4# 5# 6# 7#
备用 备用 备用 与DMA1级联
三、 DMA接口设计举例
DMA接口的逻辑框图如下:
DMA接口的工作时序如下:
(a)主机从I/O输入数据 (b)主机向I/O输出数据
相关文档
最新文档