接口22 夜大生课件 DMA控制器8237
可编程DMA控制8237A

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

写入命令控制字,禁止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的三种基本工作方式
第九章 可编程DMA控制器8237A

控制器8237 一、 DMA控制器 控制器
1. 概述 2. 8237的引脚功能 的引脚功能 3. 8237的编程结构 的编程结构 4. 8237对内存和 的寻址 对内存和I/O的寻址 对内存和
2
可编程DMA控制器 可编程 控制器 8237
23
可编存器
单字节传输模式:每次 操作只传送一字节后, 单字节传输模式:每次DMA操作只传送一字节后,接 操作只传送一字节后 着8237释放总线 释放总线 块传输模式:8237获得总线控制权后,连续传送多个 获得总线控制权后, 块传输模式: 获得总线控制权后 字节,每传输一个字节,当前字节计数器减1,当前 字节,每传输一个字节,当前字节计数器减 , 地址寄存器加1或减 或减1, 地址寄存器加 或减 ,直到所要求的字节数传输完 当前字节计数器减至0), ),8237在EOP引脚上发出 (当前字节计数器减至 ), 在 引脚上发出 结束信号,然后释放总线。在块传输过程中, 结束信号,然后释放总线。在块传输过程中,若向 8237的EOP引脚上输入低电平,可强行结束传输。 引脚上输入低电平, 的 引脚上输入低电平 可强行结束传输。
8237的编程结构 的编程结构
控制寄存器 8位,4个通道共用,用于设定 位 个通道共用, 的信号形式、 个通道共用 用于设定8237的信号形式、工作 的信号形式 时序、传输方向。 端口地址08H 时序、传输方向。 端口地址 信号形式: 信号的有效形式。 信号形式:DREQ/DACK信号的有效形式。 信号的有效形式 工作时序:普通时序( 个时钟周期完成一次传输 个时钟周期完成一次传输) 工作时序:普通时序(3个时钟周期完成一次传输) 压缩时序( 个时钟周期完成一次传输 个时钟周期完成一次传输) 压缩时序(2个时钟周期完成一次传输) 传输方向:内存→ 传输方向:内存→ I/O(常用) (常用) I/O→内存(常用) →内存(常用) 内存←→内存( 系列机未用 ←→内存 系列机未用) 内存←→内存(PC系列机未用) 19
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控制器8237

2
2 2 2 3 3 3 3
写
读
0 0 0 0 0 0 0 0
1 1 0 0 1 1 0 0
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 0 0 0 0 0 0 0 1 1
0 0 0 0 1 1 1 1 0 0
基本 /当前字计数 写 当前字计数 基本 / 当前地址 当前地址 读 写 读
M
M传送操作时经DB7-DB0,将M数据送8237A
暂存器。
A3-A4:地址线,从模块时为输入,处理器寻址
8237A;主模块时输出低位地址。
12
A7-A4:地址线,主模块时输出A7-A4。
CS:片选,从模块时处理器用来寻址8237A。
IOR,IOW:I/O读写控制,双向。8237A在从模块时
DACK有效电平
低电平有效 高电平有效 DREQ有效电平 0 1
Channel 0 地址保持不变 0 1 0 1 X 0 1 X 0 1 Disable Enable D0=0
高电平有效
低电平有效
扩展写
不扩展写 扩展写 D3=1
8237A 工作 Enable 8237A Disable 8237A
优先级类型
内 F/F
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
DB0~DB7 A0 ~ A7 A8 ~ A15 A0 ~ A7 A8 ~ A15 W0 ~ W7 W8 ~ W15 W0 ~ W7 W8 ~ W15 A0 ~ A7 A8 ~ A15 A0 ~ A7 A8 ~ A15 W0 ~ W7 W8 ~ W15 W0 ~ W7 W8 ~ W15 15
第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: 双向,从态时,寻址内部寄存器,主态
微机原理与接口技术课件:07 dma控制器8237a-PPT资料59页
微机原理与接口技术西北第二民族学院 电信系自动化教研室
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控制器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, 通道 ,用作级连 其余通道, 其余通道,保留
课件:007_可编程IO接口芯片_4_8237
7.5.5 8237的寄存器寻址与编程
• 屏蔽寄存器:设置各通道的屏蔽状态
7.5.5 8237的寄存器寻址与编程
请求寄存器:软件产生DMA启动信号
状态寄存器:显示各个通道的工作状态
7.5.5 8237的寄存器寻址与编程-例
8237编程步骤: 主清除软命令 写基/当前地址 写基/当前字节计数 写模式寄存器 写命令寄存器 写屏蔽寄存器 写请求寄存器
IOR
1
IOW
2
MEMR
3
MEMW
4
(NOTE11)
5
READY
6
HLDA
7
ADSTB
8
AEN
9
HRQ
10
CS
11
CLK
12
RESET
13
DACK2
14
DACK3
15
DREQ3
16
DREQ2
17
DREQ1
18
DREQ0
19
(GND)VCC
20
40
39
38
37
36
35
34
33
8237/
32
8237-2 31
– 不能采用数据块传送模式,因为长时间的占用系统总线会影响刷 新的定时进行;
– 必须采用固定优先权,因为刷新要求优先级最高。
7.5.6 8237在PC/XT机中的应用
• 8237应用举例:利用DMA控制器的通道1实现外部存储器同 微机内存的数据交换。外部存储器芯片采用HM6116
7.5.5 8237的寄存器寻址与编程-例
通道号 0 1 2 3
4 个 通 道
读操作(IOR) 读当前地址寄存器 读当前计数寄存器 读当前地址寄存器 读当前计数寄存器 读当前地址寄存器 读当前计数寄存器 读当前地址寄存器 读当前计数寄存器
第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控制器中和某个接口有联 系的部分称为一个通道
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《微机原理与接口技术》夜大本科生课程第22讲南京大学计算机系周嵩主讲第12章DMA控制器8237A •本章介绍以下内容–DMA方式要点–8237A的组成和工作原理–8237A的时序–8237A的编程和应用举例第23讲第2页2010年3月2日南京大学计算机系周嵩12.1 DMA 方式要点•DMA是一种输入输出方式,优于中断方式,适用于快速传送大批量数据。
•采用DMA方式,可以在存储器和外设之间开辟直接传输数据的通道,也能让两块存储器之间直接交换数据,而不需要CPU的干预。
•地址、数据、控制等信号以及对它们的操作都由DMA控制器形成和管理,使传输数据的速度能够达到硬件所允许的最快速度。
第23讲第3页2010年3月2日南京大学计算机系周嵩DMA控制器•利用DMA方式传送数据时,数据的传送过程完全由硬件控制。
这种硬件电路称为DMA控制器(英文名称是DMAC)它具有以下基本功能:能向CPU提出DMA请求,请求信号加到CPU的HOLD引脚上。
CPU响应DMA请求后,DMA控制器从CPU那儿获得对总线的控制权。
在整个DMA操作期间,由DMA控制器管理系统总线,控制数据传递,CPU则暂停工作。
能提供读/写存储器或I/O设备的各种控制命令。
确定数据传输的起始地址和数据的长度,每传送一个数据,能自动修改地址,使地址增1或减1,数据长度减1。
数据传送完毕,能发出结束DMA传送的信号。
第23讲第4页2010年3月2日南京大学计算机系周嵩DMA的过程•一个完整的DMA过程包含五个阶段–初始化–DMA请求–DMA响应–DMA传输–DMA结束•一个DMA传输过程示意图如下。
第23讲第6页2010年3月2日南京大学计算机系周嵩DMA控制器的两种工作状态•由于DMA控制器(DMAC)需要占用总线,控制外设和存储器之间的数据传输,所以DMA控制器有时取代CPU 而成为系统(总线)的主控者。
但在它取得总线控制权之前,又和其他I/O接口芯片一样,受CPU的控制。
这就是说DMA控制器在微机系统中可处于两种不同的工作状态:主动态与被动态。
•DMAC随工作状态的不同,在系统中的地位也不同。
DMAC有两种不同的地位:主控器与受控器。
•DMAC的工作状态(或系统地位)是不断转化的。
第23讲第8页2010年3月2日南京大学计算机系周嵩总线控制权的转移•在DMA方式下,总线控制权不断地在CPU和DMAC之间转移。
•I/O设备和DMAC之间有一对DMA传送的请求信号和应答信号:–DREQ / DACK•DMAC和CPU之间有一对总线控制的请求信号和应答信号:–HRQ / HLDA•当CPU收到HRQ信号后,在可能的情况下,让出总线控制权给DMAC。
•DMAC完成DMA传送后,将总线控制权还给CPU。
第23讲第9页2010年3月2日南京大学计算机系周嵩基本DMA操作•X86微处理器有两个与直接存储器存取(DMA)传输有关的引脚。
–HOLD(输入)–HLDA(输出)–一旦HOLD输入被置为逻辑1,则请求DMA操作•微处理器响应DMA后,将其地址、数据和控制总线置为高阻抗状态。
–DMA读使MRDC和IOWC信号同时被激活–DMA写使MWTC和IORC信号同时被激活–请参看下面的DMA控制引脚时序图第23讲第10页2010年3月2日南京大学计算机系周嵩12.2 8237A的组成和工作原理•Intel 8237A是一个可编程的DMA控制器芯片,它直接应用于8086/8088和80286系统。
在386和486系统中,作为集成系统外设接口芯片中的一部分仍起着DMA控制器的作用。
下图为8237A的内部结构框图。
•8237A-5芯片的工作时钟频率为5MHz。
第23讲第12页2010年3月2日南京大学计算机系周嵩8237A-5基本介绍•8237A-5是一个高性能的40引脚双列直插式可编程DMA控制器芯片,可以方便地与Intel公司的微处理机相连,实现外部设备与存储器之间的直接数据交换。
该控制器通过编程可提供多种类型的控制特性,以优化系统性能,增大数据吞吐率,使最高数据传输速率可达1.5M字节/秒(时钟频率达到5MHz),并允许在程序控制下实现动态控制。
•8237A的内部逻辑和外部连接与8237A-5相同,只是时钟频率略慢些。
–以下的8237A介绍均指8237A-5芯片,这样做不影响对8237A 的分析和认识。
第23讲第14页2010年3月2日南京大学计算机系周嵩8237A主要功能和特性-1①有4个独立的DMA通道,最多可直接连接4个I/O设备。
②对同时提出DMA请求的多个通道可进行优先级排队判优–判优策略有固定优先级编码和循环优先级编码两种–固定优先级顺序:通道0最高,通道l、2次之,通道3最低③DMA读写周期可变–通过软件与硬件结合的方法设定和改变DMA周期长度–可建立起与任何I/O速度相匹配的定时关系④可在存储器与I/O设备、存储器与存储器之间传送数据。
存储器地址指针可以增1或减l。
第23讲第16页2010年3月2日南京大学计算机系周嵩8237A主要功能和特性-2⑤操作功能比较齐全–有3种操作类型•DMA读/ DMA写/ 数据校验–有3种操作方式•单字节方式/ 字组方式/ 连续方式–有两种数据传送方式•顺序传送/ 同时传送⑥可用多个8237A芯片级联以扩充系统可用的通道数–级联方法如下图所示第23讲第17页2010年3月2日南京大学计算机系周嵩8237A主要功能和特性-3⑦有自动重新启动能力–即具有数据块链接功能⑧DMA操作启动–由外设输入DMA请求信号而开始–通过软件从内部给出DMA请求信号来启动⑨DMA操作两种结束方式–字节计数结束表示预定的数据全部传送完毕,从EOP引脚输出一个低电平指示信号–将EOP作输入用,利用一个负脉冲输入,强制本次DMA操作结束。
第23讲第19页2010年3月2日南京大学计算机系周嵩8237A的引脚功能-1•8237A共有40个引脚(见8237A的编程结构和引脚图),每个引脚的功能如下:[1]CLK:时钟,输入信号。
8237A为3MHz,8237A-5为5MHz。
[2]CS#:片选(chip select),输入,低电平有效。
[3]RESET:复位(reset),输入,高电平有效。
RESET有效时清除控制、状态、请求和暂存寄存器,同时也清除内部的先/后触发器和屏蔽寄存器。
复位以后,8237A处于空闲周期。
[4]READY:准备好,输入,高电平有效。
用来扩展8237A的读/写脉冲,以适应慢速存储器或外设。
第23讲第21页2010年3月2日南京大学计算机系周嵩8237A的引脚功能-2[5]A0~A3:低4位地址,双向,三态。
当8237A作为从模块使用时(即CPU对其编程时),它们是输入信号,作为片内口地址的选择。
当8237A作为主模块使用时(即进行DMA传输时),它们是输出信号,作为DMA传输地址的低4位。
[6]A4~A7:高4位地址,输出,三态。
在DMA传送期间,与A0~A3共同形成地址的低字节。
[7]DB0~DB7:数据线(data bus),双向,三态。
当8237A作为从模块工作时,它们用来在CPU与8237A之间传送控制信息、状态信息和地址信息;当8237A作为主模块工作时,它们用来传送DMA传输地址的高字节。
2010年3月2日南京大学计算机系周嵩第23讲第22页8237A的引脚功能-3[8]ADSTB:地址选通(address strobe),输出,高电平有效。
用来把DB0~DB7输出的高8位地址打入外部的地址锁存器,见8237A的编程结构和引脚图。
[9]AEN:地址允许(address enable)输出,输出信号,高电平有效。
使外部地址锁存器中的内容送到系统地址总线,与经A0~A7输出的低8位地址共同形成16位传输地址。
同时,AEN还使与CPU相连的地址锁存器失效,禁止来自CPU的地址码送上地址总线,以保证地址总线上的信号来自DMA控制器。
2010年3月2日南京大学计算机系周嵩第23讲第23页8237A的引脚功能-4[10]MEMR#/MEMW#:存储器读/写信号,输出,低电平有效。
主态时,与IOW#和IOR#信号配合,将数据写入I/O设备,或从I/O设备读出数据。
从态时这两个信号无效。
[11]IOR#:外部设备读信号(I/O read),双向,低电平有效。
当8237A作为从模块工作时,它为输入信号(来自CPU),此时,CPU用来读取8237A的内部寄存器的值。
当8237A作为主模块工作时,它为输出信号(发向I/O口)。
此时,将来自I/O口的数据送上系统数据总线。
[12]IOW#:外部设备写信号(I/O write),双向,低电平有效。
当其作为输入信号时,由CPU向8237A的内部寄存器写值(编程写入)。
而作为输出信号时,用来控制将数据总线上的数据写入I/O口。
第23讲第24页2010年3月2日南京大学计算机系周嵩2010年3月2日南京大学计算机系周嵩第23讲第25页8237A 的引脚功能-5•[13]DREQ 0~DREQ 3:通道的DMA 请求(DMA request)信号,输入。
这个信号来自I/O 口,其有效电平的极性可通过编程来设置。
在固定优先级情况下,8237A 默认的优先级别是DREQ 0最高,DREQ 3最低。
在循环优先级时,优先级可以改变。
•[14]DACK 0~DACK 3:通道的DMA 响应(DMA channel acknowledge)信号,输出。
作为对DREQ i 的回答信号,由8237A 发给I/O 口;表示该通道的DMA 请求已经被响应。
其有效电平的极性也可通过编程来设置。
8237A的引脚功能-6•[15]HRQ:总线保持请求(hold request),输出,由8237A 发给CPU,作为系统的DMA请求信号。
•[16]HLDA:总线保持响应(hold acknowledge),输入,由CPU发给8237A,作为HRQ的响应信号。
•[17]EOP#:DMA传输结束,即过程结束(end-of-process),双向。
作为输入信号时,DMA过程被强制结束。
作为输出信号时,当通道计数结束时发出,表示DMA传输结束。
不论什么情况,当EOP有效时,都会使8237A的内部寄存器复位,即外部信号可随时结束DMA。
第23讲第26页2010年3月2日南京大学计算机系周嵩高位地址的产生•从以上8237A的内部结构和引脚功能可以看出,8237A 只能提供16位的存储器地址,因此它所能控制传输的数据块最大长度为64K。
为了形成20位或多于20位的物理地址,必须有一个专门的部件来产生高位地址,这就是页面寄存器。
•在PC机中,系统使用了一片74LS612作为页面寄存器,仅使用了它的低4位,它(作为高4位)与8237A送出的16位地址共同形成20位的物理地址。