第8章 DMA控制器与定时计数器接口
微机原理与接口技术:18第8章 计数器定时器与DMA控制器
交通信息与控制工程系教案(理论教学用)
课程名称微机原理与接口技术第 18 次第 9 周 2 学时上课教室WM1310 课程类型专业基础课授课对象自动化专业章节名称第8章计数器/定时器与DMA控制器(8.1,8.2)
教学目的和要求1.了解软硬件定时的原理;2.掌握8253的原理及应用。
讲授主要内容及时间分配1.接口电路概况;(10min)
2.8253的外部引线和内部结构;(20min)
3.8253的工作方式和控制字;(30min)
4.8253的应用。
(30min)
教学重点与难点重点:
1.软硬件定时的原理;2.8253的原理及应用。
难点:
8253的原理及应用。
要求掌握知识点和分析方法1.了解软硬件定时的原理;2.掌握8253的原理及应用。
启发与提问
1.软件定时与硬件定时的区别?教学手段
多媒体
作业布置思考题:
1.了解最新的硬件定时芯片的原理及其应用,如DS12887等。
主要参考资料
备注
长安大学讲稿(第十九讲)。
精品课件-ARM Cortex-A9多核嵌入式系统开发-第八章
第8章 DMA控制器
(4) 在DMA传送期间,DMAC发出内存和外设的读/写信号。 (5) 为了决定数据块传输的字节数,在DMAC内部必须有一个 “字节计数器”。在开始时,由软件设置数据块的长度,在 DMA传送过程中,每传送一个字节,字节计数器减1,减为0 时,该次DMA传输结束。 (6) DMA过程结束时,DMAC向CPU发出结束信号(撤消HOLD请 求),将总线控制权交还CPU。
第8章 DMA控制器
DMAC(Direct Memory Access Controller)是一 个自适应、先进的微控制器总线体系的控制器,它由ARM公 司设计并基于PrimeCell技术标准。DMAC提供了一个AXI接口 用来执行DMA传输,以及两个APB接口用来控制这个操作。 DMAC在安全模式下用一个APB接口执行TrustZone技术,其他 操作则在非安全模式下执行。图8.1是DMAC外部接口框图。
首先,送出存储器源的地址和控制信号,将选中内存单元的 数据暂存,然后修改“地址寄存器”和“字节计数器”的值, 接着,送出存储器目标的地址和控制信号,将暂存的数据通 过数据总线写入存储器的目标区域中,最后修改“地址寄存 器”和“字节计数器”的内容,当“字节计数器”的值减少 到零时便结束一次DMA传送。
第8章 DMA控制器
8.2 DMAC工作原理 DMAC内部包括了指令处理模块,使得DMAC本身能 够处理代码以控制DMA传送。这些指令代码存储在系统存储 器中,DMAC通过AXI接口获取这些代码。DMAC的8个通道都是 可配置的,且每个都支持单个并发线程的操作。除此之外, 还有一个管理线程、专门用来初始化DMA通道的线程。DMAC 使用了变长指令集,范围为1~6字节,并为每个通道提供了 单独的PC寄存器。
第8章 DMA控制器(微型计算机技术课件)
二、 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响应信号。
08 DMA管脚图
硬盘控制器与HDD的接口标准多采用的是SCSI和IDE标准。 SCSI标准不是HDD的接口标准,而是一种系统级的标准通 用接口标准。它主要用于磁盘与主机的信息交换,同时也 用于CD-ROM、SCANNER、 计算机网络、多媒体系统等。 目前硬盘控制器与HDD的接口标准大多采用IDE标准。IDE 接口采用16位数据并行传输,工作速度快。以前的IDE接 口只适用于容量在528 MB以下的HDD。为克服这个限制, 提出了ATA-2、 ATA-3.x和ATA-4.0等标准,即E-IDE (Enhanced IDE)标准。
3软盘控制器的编程可分为: (1)选择驱动器,设定控制器的操作模式,即向数字输出 寄存器输出一个控制字(数据输出端口地址为3F2H)。 (2)读取主状态,了解控制器和驱动器的当前状态(状态 端口地址为3F4H)。 (3)向软盘控制器FDC发出需要执行的命令序列。 (4)等待命令执行完毕。 (5)取结果状态,分析命令序列执行正确情况,再作适当 处理。
下一级的HRQ接到上一级的某 一通道的DREQ上,而上一级 的响应信号DACK可接下一级 的HLDA上,其连接如图8.4所 示。在级联方式下,当第二 级8237的请求得到响应时, 第一级8237仅应输出HRQ信号 而不能输出地址及控制信号, 因为,第二级的8237才是真 正的主控制器,而第一级的 8237仅应起到传递DREQ请求 信号及DACK应答信号的作用。
第8章 DMA控制器及外存接口
本章学习的主要内容为: DMA三种传送方式; 8237内部结构和引脚功能; 8237的工作方式及编程应用; 软盘硬盘接口技术。
第8章 DMA控制器及外存接口
8.1 DMA概述 8.2 8237控制器 8.3 磁盘接口
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解析
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
s3c2410_第八章DMA
8 DMA概述S3C2410A支持位于系统总线和外设总线之间的4个通道的DMA控制器。
每一个通道的DMA控 制器都能没有约束的实现系统总线或者外设总线之间的数据传输,即每个通道都能处理下面四 种情况:1) 源器件和目的器件都在系统总线2) 源器件在系统总线,目的器件在外设总线3) 源器件在外设总线,目的器件在系统总线4) 源器件和目的器件都在外设总线DMA的主要优点是:可以不通过CPU的干预来实现数据的传输,DMA的运行可以通过软件、内 部外设或外部请求引脚信号的请求来初始化。
DMA 请求源每个通道的DMA控制器都能够从4个DMA 如果在DCON寄存器中H/W DMA请求模式被选中,请求源中选择一个 DMA 请求源。
(注意:如果 S/W 请求模式被选中,中断请求源的设置没有 任何意义)表 81 列出了每一个通道的 4 个 DMA 请求源。
Table 81. 每一个通道的DMA请求源Source0 Source1 Source2 Source3 Source4 Ch0 nXDREQ0 UART0 SDI Timer USB device EP1 Ch1 nXDREQ1 UART1 I2SSDI SPI0 USB device EP2 Ch2 I2SSDO I2SSDI SDI Timer USB device EP3 Ch3 UART2 SDI SPI1 Timer USB device EP4在这里,nXDREQ0和nXDREQ1表示两个外部源(外部设备),I2SSDO和I2SSDI分别表示IIS 的发送和接收。
DMA 工作过程DMA 使用三态 FSM(有限状态机)进行操作,以下用三个步骤描述:State1. 初始状态,DMA 等待DMA 请求。
若请求到达,进入状态 2。
此阶段,DMA ACK 和 INT REQ 都为 0。
DMA控制器和计数定时器
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位寄存器的读/写是从低字节开始, 应事先用此软件命令使先/后触发器强制清零。
DMA控制器专业知识讲座
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,而使屏蔽寄存器置位。
中断技术、DMA控制器及定时器计数器
编 称为DMA控制器(DMAC)。需要数据
程 传送时,DMAC向CPU提出申请,CPU DMA 让出总线控制权,由DMAC直接控制
控 地址总线、数据总线和控制总线,
制 让存储器与高速的外部设备直接交
器
换数据,CPU不再干预,这样大大减 少了中间过程,提高了数据传送速
8237A
度。
8237A的结构和功能 可 ❖引脚信号 编 程
理
中断过程
中
包括:中断请求,中断判优,中断响 应,中断处理,中断返回五个过程。
断
的
中断优先权
基
❖软件查询法
本
是在CPU响应中断后,用软件查询以确定是 哪些外设申请中断,并判断它们的优先权
原
理
❖硬件优先权排队电路
▪ 中断优先权排队电路
中
可用硬件编码器和比较器组成的优先权
断
排队电路
的
基
本
原
理
❖硬件优先权排队电路
DMA
控 制 器
8237A
❖内部结构
可
8237A有4个独立的DMA通道,24个内部寄存器。
编
程
DMA
控
制
器
8237A
可 编 程
DMA
控 制 器
8237A
▪ 内部寄存器
基址寄存器和当前地址寄存器 基字节计数寄存器和当前字节计数寄存器 暂时地址寄存器 状态寄存器 命令寄存器 暂存寄存器 方式寄存器 屏蔽寄存器 请求寄存器
定
为低电平作为初始电平,并且在计数值到达0 之前一直保持低电平。当计数到达0时,输出
时
端OUT为高电平,并且一直保持高电平,除非
器
写入新的计数值。
(精)第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
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控制器中和某个接口有联 系的部分称为一个通道
计算机接口技术第8章DMA接口技术
更强的可扩展性
更完善的安全性和可靠性 保障
随着系统规模的扩大和设备数 量的增加,DMA接口技术将向 更强的可扩展性发展,以支持 更多设备的同时传输。
在数据传输过程中,安全性和 可靠性至关重要。未来的DMA 接口技术将更加注重安全性和 可靠性的保障,提供更加完善 的数据传输安全机制和错误处 理机制。
06 DMA接口技术的应用实 例
状态机
控制DMA传输的开始、暂停和结束 等操作,确保数据传输的正确性和可 靠性。
控制寄存器
存储DMA传输的配置和控制信息, 如传输方向、数据长度等。
错误检测与处理逻辑
用于检测数据传输过程中的错误,如 地址错误、数据校验错误等,并进行 相应的处理。
DMA数据传输的硬件支持
数据缓冲区
用于暂存DMA传输的数据,确保数据在传 输过程中的完整性和正确性。
中断的清除与返回
在中断服务程序执行完毕后,需要清除中断标志位,以便于下一次的中 断处理。同时,中断处理程序需要返回,以便于CPU继续执行后续的指 令。
05 DMA接口技术的优缺点 分析
DMA接口技术的优点
高传输速率
DMA接口技术能够实现高速数据传输, 显著提高数据吞吐量,满足大规模数据
处理的需求。
DMA接口技术的应用场景
数据采集
在实时数据采集系统中,DMA接口技术可以快速 传输大量数据到内存中,便于后续处理和分析。
高速网络通信
在高速网络通信中,DMA接口技术可以用于快速 传输数据,提高网络通信的效率。
音视频处理
在音视频处理中,DMA接口技术可以用于快速传 输大量数据,提高音视频处理的效率。
查询方式
在查询方式下,CPU会不断查询DMA接口的状态,以了解数据传输是否完成。 如果数据传输未完成,CPU需要等待;如果数据传输完成,CPU可以继续执行其 他任务。这种方式不需要编写复杂的程序,但会占用CPU的时间。
微机(微型计算机技术及应用)填空题题库
第1章微型计算机概述1.微型计算机中各部件是通过构成一个整体的.2._________是微型计算机的核心。
3.总线按照其规模、用途和应用场合可分为___________、__________和____________。
4.微型计算机由________ 、_______ 、_______ 和_______ 组成。
5.以微型计算机为主体,配上___________、_____________和_________之后,就成了微型计算机系统。
6.微型计算机的主要性能指标有CPU的位数、___________、_______________、__________第2章 16位和32位微处理器1.Intel 8086CPU是_______位微处理器,有_____根数据总线和____根地址总线,存储器寻址的空间为_______,端口寻址空间为_____。
8088CPU有__根数据总线。
2.I/O端口地址有两种编址方式,分别是______________、____________.3.输入/输出端口有两种编址方法,既I/O端口与存储单元统一编址和I/O单独编址。
前一种编址的主要优点是和。
后一种编址的主要优点是和。
4.标志寄存器中包含标志和标志。
前者由人为指令设置,后者由程序运行结果决定。
5.所谓最小模式,就是。
6.所谓最大模式是7.8086工作在最大模式下,引脚MN/MX*接(高/低)电平。
8.8086/8088CPU的数据线和地址线是以_______ 方式轮流使用的。
9.8086中的BIU由__________个____________位段寄存器、一个_______位指令指针、__________字节指令队列、_______位地址加法器和控制电路组成。
10.8086/8088提供的能接受外中断请求信号的引脚是和。
两种请求信号的主要不同之处在于。
11.8086/8088的存储器是分段的,因此存储单元的物理地址是由和组合而成的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图 8- 2 8 2 3 7 A
的引脚
8.1.2 8237 A的工作方式 8237A 8237A在系统中可以有两种功能:一种功能是系统总线的主 控者,这是它工作的主方式。在取代 CPU 控制 DMA 传送时,它 应提供存储器的地址和必要的读写控制信号,数据是在 I/O 设备 与存储器之间通过数据总线直接传递;另一种功能是在成为主控 者之前,必须由CPU对它编程以确定通道的选择、数据传送的模 式、存储器区域首地址、传送总字节数等等。在 DMA 传送之后 ,也有可能由CPU读取DMA控制器的状态。这时8237A如同一般 I/O端口设备一样,是系统总线的从设备,这是8237A工作的从方 式。
写入方式字:数据块传送,地址增量,禁止自动预置,写传 送,选择通道
MOV OUT AL,10000100B DMA+0BH ,AL AL,00H DMA+0AH ,AL
写入屏蔽字:通道0屏蔽位清0
MOV OUT
写入命令字:DACK和DREQ为高电平,固定优先级,非存储 器间传送
MOV OUT AL,10000000B DMA+08H ,AL AL,04H DMA+09H ,AL
【例8.1】已知某系统采用一片8237A来设计DMA传输电路, 给定8237A的基地址为00H。利用通道0从磁盘将一个1K字 节的数据块传送到内存06000H开始的区域中,每传送一个 字节,地址增 1 ,采用数据块连续传送方式,禁止自动预 置,外设的 DMA 请求信号 DREQ和响应信号 DACK 均为高 电平有效。 对8237A的初始化程序如下: 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
A7- A 4
写缓冲器
读缓冲器 D1- D 0
IO R IO W
HRQ HLDA D R E Q 3−0 D A C K 3−0
4 4
优 先 级 ( 4) 请求寄存器 ( 4)
内部数据总线 I/O缓 冲 D B 7- D B 0 方式寄存器 ( 4× 6) 状态寄存器 ( 8) 暂存寄存器 ( 8)
2. 8237 A内部寄存器 8237A (1)当前地址寄存器 (2)当前字节计数寄存器 (3)基地址寄存器 (4)基字节计数寄存器 (5)工作方式寄存器 (6)命令寄存器 (7)状态寄存器 (8) 请求寄存器 (9)屏蔽寄存器 (10)暂存寄存器 (11)软件命令
8.1.4 8237 A的编程及应用 8237A
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
8 2A 37A
40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21
A7 A6 A5 A4 EOP A3 A2 A1 A0 VC C DB0 DB1 DB2 DB3 DB4 DACK 0 DACK1 DB5 DB6 DB7
(3)优先级编码电路:该电路根据CPU对8237A初始化 时送来的命令,对同时提出DMA请求的多个通道进行排队判 优,来决定哪一个通道的优先级别为最高。对优先级的管理 有固定优先级和循环优先级两种方式,无论采用哪种优先级 管理,一旦某个优先级高的设备在服务时,其它通道的请求 均被禁止,直到该通道的服务结束时为止。 ( 4 )数据和地址缓冲器组: 8237A 的引脚 A7~A4 、 A3~A0 为 地址线;引脚DB7~DB0在从态时传输数据信息,在主态时传 送地址信息。这些数据引线和地址引线都与三态缓冲器相 连,因而可以接管或释放总线。 (5)内部寄存器:8237A内部有4个DMA通道,每个通道都 有一个16位的基地址寄存器、基字计数器、当前地址寄存器 和当前字计数器,以及一个 6 位的工作方式寄存器。片内还 各有一个可编程的命令寄存器、屏蔽寄存器、请求寄存器、 状态寄存器和暂存寄存器,以及不可编程的字数暂存器和地 址暂存器等。
1. 8237 A传送工作方式 8237A (1)单字节传送方式 这种工作方式的特点是每申请一次只传送一个字节。数 据传送后字节计数器自动减量(增量或减量取决于编程)。传 送完这一个字节后 DMAC 放弃系统总线,将总线控制权交回 CPU。 HRQ信号变为无效,释放系统总线。若传送数据使字 节数减为0,总线计数结束发出信号,或终结DMA传送,或重 新初始化。 (2)数据块传送方式 在这种传送方式下, DMAC 一旦获得总线控制权便开始 连续传送数据。每传送一个字节,自动修改地址,并使要传送 的字节数减1,直到将所有规定的字节全部传送完,或收到外 部信号,DMAC才结束传送,将总线控制权交给CPU。
图8-1 8237A内部结构
图8-1中各主要部件的功能分析如下: (1)时序与控制逻辑:当8237A处于从态工作方式时,时序 与控制逻辑电路接受系统送来的时钟、复位、片选和读/写 控制等信号,完成相应的控制操作;当8237A处于主态工作 方式时则向系统发出相应的控制信号。 (2)命令控制逻辑:8237A处于从态工作方式时,命令控 制逻辑接收CPU送来的寄存器选择信号A3~A0,选择8237A内部 相应的寄存器;主态时,对工作方式寄存器的最低两位D1D0 进行译码,以确定DMA的操作类型。寄存器选择信号A3~A0与、 配合可组成各种操作命令。
字数暂存器 16 16
EOP RESET CS READY CLK AEN ADSTB
M EM R M EM W
地址暂存器 A1 5 ~ A8
I/O缓 冲 A3- A 0 输出缓冲
读缓冲器 时 序 与 控 制 逻 辑 基地址 寄存器 ( 16× 4) 基 字 寄存器 ( 16× 4)
读 /写 缓 冲 器 当前地址 寄存器 ( 16× 4) 当前字 计数器 ( 16× 4) 命 令 控制逻辑
数据传送方式除了查询方式和中断方式以外还有DMA控制 方式。利用DMA方式传送数据时,数据的传送过程完全由硬件 电路控制,这种电路称为DMA控制器(DMAC),它可以在DMA方 式下起到CPU的作用。DMAC的功能就是在存储器和I/O设备之间 进行高速、成批的数据传输。在8086系统中,DMAC选用的是可 编程器件Intel 8237A,它含有4个独立的DMA通道,可以用来 实现内存到接口、接口到内存及内存到内存之间的高速数据传 送,最高数据传送速率可达1.6MB/s,在此过程中CPU不再干 预,这样可大大减少数据传送的中间过程,提高了数据的传送 速度。
8.1.3 8237 A的内部寄存器 8237A 1. 8237A内部寄存器的种类 8237A的内部有10种不同类型的寄存器。各类寄存器 的名称、位数、寄存器个数及其主要功能见表8-1所示。
名称 当前地址寄存器 当前字节计数寄存器 基地址寄存器 基字节计数寄存器 工作方式控制寄存器 命令寄存器 状态寄存器 请求寄存器 屏蔽寄存器 暂存寄存器 位数 16 16 16 16 8 8 8 4 4 8 数量 4 4 4 4 4 1 1 1 1 1 功能 保存在DMA传送期间的地址值,可读写 保存当前字节数,初始值比实际值少1,可读写 保存当前地址寄存器的初始值,只能写 保存相应通道当前字节计数器的初值 保存相应通道的方式控制字,由编程写入 保存CPU发送的控制命令 保存8237A各通道的现行状态 保存各通道的DMA请求信号 用于选择允许或禁止各通道的DMA请求信号 暂存传输数据,仅用于存储器到存储器的传输
1. 8237 A编程的一般步骤 8237A 在进行 DMA 传输之前, CPU 要对 8237A 进行初始化编程, 设定工作模式及参数等。通常,其编程内容主要包括以下 几步: (1)输出总清除命令,使8237A 处于复位状态,做好接收 新命令的准备; (2)根据所选通道,写入相应通道的基地址寄存器和当前 地址寄存器的初始值; (3)写入基字节计数寄存器和当前字节计数寄存器的初始 值; (4)写入方式控制寄存器,以确定 8237A 的工作方式和传 送类型; (5)写入屏蔽寄存器; (6)写入命令寄存器,以控制8237A的工作; (7)写入请求寄存器。
(3)请求传送方式 在这种方式下, 8237A 可以进行连续的数据传送,只有出 现以下三种情况之一时才停止传送: 字节数计数器减到0,产生一个终止计数T/C信号; 由外界送来一个有效的信号; 外界的DRQ信号变为无效(外设来的数据已传送完)。 (4)级联方式 采用这种方式可以将多个8237A级联起来,以扩展系统中 的DMA通道数量。如图8-3所示,是2个8237A级联情况示意。
第8章 DMA控制器与定时 计数器接口
本章主要教学内容
A的内部结构和引 可编程 DMA控制器 8237 8237A 脚功能 A的工作方式及编程方法 � 8237 8237A
�
可编程计数/定时器接口芯片8253的编程结 构与使用方法 � 8253在PC机上的具体应用
�
8.1 可编程DMA控制器8237 A 8237A
8.1.1 8237 A的内部结构及引脚 8237A
在DMA控制器取得系统总线的控制权后,系统就完全在它 的控制下进行工作,此时DMA为总线主模块,这种工作方式通 常称为主态方式;另外, DMA 又可以和其它接口一样,接受 CPU 对它的读 /写操作,这时 DMA 控制器就成了总线从模块, 这种工作方式通常称为从态方式。8237A的编程结构和引脚信 号与这两方面的情况有关。 1. 8237A的内部结构 8237A的内部结构如图8-1所示,它主要由时序与控制逻辑、 命令控制逻辑、优先级编码电路、数据和地址缓冲器组以及内 部寄存器等5个部分组成。
2. 8237A的引脚 8237A是一种具备40个 引脚的双列直插式DIP封 装的芯片,如图8-2所示。
IO R