第 9 章 dma控制接口

上传人:w****i 文档编号:108590474 上传时间:2019-10-24 格式:PDF 页数:83 大小:1.52MB
返回 下载 相关 举报
第 9 章 dma控制接口_第1页
第1页 / 共83页
第 9 章 dma控制接口_第2页
第2页 / 共83页
第 9 章 dma控制接口_第3页
第3页 / 共83页
第 9 章 dma控制接口_第4页
第4页 / 共83页
第 9 章 dma控制接口_第5页
第5页 / 共83页
点击查看更多>>
资源描述

《第 9 章 dma控制接口》由会员分享,可在线阅读,更多相关《第 9 章 dma控制接口(83页珍藏版)》请在金锄头文库上搜索。

1、第 9 章 DMA控制接口 主讲:邹建伟 邹建伟制作 版权所有2013 2 DMA方式分类 DMA:允许计算机系统中某些硬件子系统在不 依赖于CPU的情况下直接访问系统主存的方法 分类: 第三方DMA DMA控制器独立于设备控制器,安装在主板上(作为芯片 组(chipset)的一部分),这种方式主要存在基于ISA总 线的PC机上 第一方DMA DMA控制器分布在各种设备控制器(智能控制器)上,系 统不再存在一个独立DMAC(除非为了兼容),由总线仲 裁逻辑负责总线的分配和使用,数据传送的发起方称为总 线的主控设备,这种方式在PCI(PCI-E)总线上使用 邹建伟制作 版权所有2013 3 第三

2、方DMA控制方式 邹建伟制作 版权所有2013 4 9.1 DMA控制器8237A Intel 8237A是一种可编程第三方DMA控制器芯 片。 在5MHz时钟频率下,其传送速率可达每秒1.6MB。 每个8237A芯片有 4个独立的DMA道,即有4个DMA 控制器(DMAC)。 每个DMA通道具有不同的优先权 都可以分别允许和禁止 每个通道有4种工作方式, 一次传送的最大长度可达64KB(8位数据总线)。 多个8237A芯片可以级连,任意扩展通道数。 邹建伟制作 版权所有2013 5 9.1.1 8237A的内部结构和引脚 内部结构主要由两类寄存器组成: 一类是通道寄存器(16位) 基地址寄存

3、器 现行地址寄存器 基字节数寄存器 现行字节数寄存器 另一类是控制和状态寄存器 方式寄存器( 4个通道都有一个, 6位寄存器) 命令寄存器( 8位) 状态寄存器( 8位) 屏蔽寄存器( 4位) 请求寄存器( 4位) 临时寄存器(8位)。 邹建伟制作 版权所有2013 6 9.1.1 8237A的内部结构和引脚 图9-1 8237的引脚示意图 邹建伟制作 版权所有2013 7 9.1.1 8237A的内部结构和引脚 1. DMA请求和响应信号 DREQ0DREQ3(DMA Request):DMA通 道请求。输入 HRQ(Hold Request):总线请求。输出 HLDA(Hold Ackno

4、wledge):总线响应。 输入 DACK0DACK3(DMA Acknowledge): DMA通道响应。输出 邹建伟制作 版权所有2013 8 9.1.1 8237A的内部结构和引脚 2. DMA传送控制信号 A0A3地址线:三态、双向 A4A7地址线:三态、输出 DB0DB7数据线:三态、双向,数据/地址 分时复用 ADSTB(Address Strobe)地址选通:拥于 锁存DB0DB7上输出的高8位地址 邹建伟制作 版权所有2013 9 9.1.1 8237A的内部结构和引脚 AEN(Address Enable)地址允许: 地址锁存器输出三态门控制 AEN在DMA传送时也可以用来屏

5、蔽别的系统 总线驱动器。 MEMR (Memory Read)存储器读:三态、 输出 MEMW (Memory Write)存储器写:三态、 输出 邹建伟制作 版权所有2013 10 9.1.1 8237A的内部结构和引脚 IOR(Input/Output Read)I/O读:三态、 输出 IOW (Input/Output Write)I/O写:三 态、输出 READY准备好:输入。在DMA传送的第3 个时钟周期S3的下降沿检测到READY线 为低时,则插入等待状态Sw,直到 READY为高才进入第4个时钟周期S4。 邹建伟制作 版权所有2013 11 9.1.1 8237A的内部结构和引脚

6、 EOP (End of Process)过程结束:双向。 在DMA传送时,当字节数寄存器的计数值从 0减到FFFFH时(即内部DMA过程结束), 在EOP引脚上输出一个低有效脉冲。 若由外部输入一信号使EOP变低,则外部信 号终结DMA传送。 不论是内部还是外部产生有效的EOP信号, 都会终止DMA数据传送。 邹建伟制作 版权所有2013 12 9.1.1 8237A的内部结构和引脚 3. 处理器接口信号 DB0DB7:数据,双向、三态 A0A3:低4位地址输入,用于片内译码, 选择芯片内部寄存器。 CS(CS Chip Select)片选:输入 IOR :输入,CPU利用它读取8237A内

7、部寄 存器的内容。 IOW 输入,CPU利用它把信息写入8237A 内部寄存器。 邹建伟制作 版权所有2013 13 9.1.1 8237A的内部结构和引脚 CLK(Clock)时钟:输入 RESET复位:复位时,使除屏蔽寄存器 被置位外,其余寄存器(包括命令、状 态、请求、临时寄存器以及内部高低触 发器)均被清除(清0),且芯片处于空 闲周期。 邹建伟制作 版权所有2013 14 9.1.2 8237A的工作时序 8237A的工作时序分成两种工作周期(工 作状态): 空闲周期:CPU控制总线工作状态 有效周期:DMAC控制总线工作状态 DREQDREQHLDAHLDA SISIS0S0S1S

8、1S2S2S3S3S4S4 SwSw SISI 单字节传送单字节传送 组传送组传送 S0S0 邹建伟制作 版权所有2013 15 1. 空闲周期 当8237A的任一通道都没有DMA请求时 就处于空闲周期( Idle Cycle)。 在 Si状态可由CPU对8237A编程,或从 8237A读取状态。8237A在Si状态始终采样 选片信号CS ,只要 CS 信号变为有效,则 CPU要对8237A进行读/写操作。 DREQDREQHLDAHLDA SISIS0S0S1S1S2S2S3S3S4S4 SwSw SISI 单字节传送单字节传送 组传送组传送 S0S0 邹建伟制作 版权所有2013 16 2

9、. 有效周期 当8237A在Si状态采样到外设有DMA请求 ( DREQ )时,就脱离空闲周期进入有 效周期(Active Cycle): 8237A作为系统的主控芯片,控制DMA 传送操作。由于DMA传送是借用系统总 线完成的,所以,它的控制信号以及工 作时序类似 CPU总线周期 DREQDREQHLDAHLDA SISIS0S0S1S1S2S2S3S3S4S4 SwSw SISI 单字节传送单字节传送 组传送组传送 S0S0 邹建伟制作 版权所有2013 17 2. 有效周期 图9-2 8237的DMA传送时序 邹建伟制作 版权所有2013 18 9.1.3 8237A的工作方式 (1)单

10、字节传送方式 这种工作方式的特点是每申请一次总线,只 传送一个字节。 数据传送后字节计数器自动减1,地址寄存器增 1/减1(增1或减1取决于编程控制值)。 传送完这一个字节后DMAC放弃系统总线,将总 线控制权交回CPU(HRQ信号变为无效,释放系 统总线)。若本次DMA操作未结束,则再次申请 总线(HRQ再次有效)。在本次DMA操作期间, 要求DMA请求信号(DREQ)保持有效。 DREQDREQHLDAHLDA SISIS0S0S1S1S2S2S3S3S4S4 SwSw SISI 单字节传送单字节传送 组传送组传送 S0S0 邹建伟制作 版权所有2013 19 9.1.3 8237A的工作

11、方式 (2)数据块(组)传送方式 在这种传送方式下,DMAC一旦获得总线控 制权便开始连续传送数据。每传送一个字节, 自动增/减地址,并使要传送的字节数减1, 直到将所有规定的字节全部传送完,或收到 外部EOP信号,DMAC才结束传送,将总线 控制权交给CPU。 DREQDREQHLDAHLDA SISIS0S0S1S1S2S2S3S3S4S4 SwSw SISI 单字节传送单字节传送 组传送组传送 S0S0 邹建伟制作 版权所有2013 20 9.1.3 8237A的工作方式 (3) 请求传送方式 DREQ信号有效就连续传送数据,DREQ信号 无效,DMA传送被暂时中止,8237A释放总 线

12、给CPU,此时DMA通道的地址和字节数的 中间值仍被保持,DREQ信号再次有效, DMA传送就继续进行 邹建伟制作 版权所有2013 21 9.1.3 8237A的工作方式 (4) 级连方式 用于通过多个8237A级连以扩展通道 第二级的HRQ和HLDA信号连到第一级某个 通道的DREQ和DACK上 第二级芯片的优先权等级与所连通道的优先 权相对应 第一级只起优先权网络的作用,实际的操作 由第二级芯片完成 还可由第二级扩展到第三级等 邹建伟制作 版权所有2013 22 9.1.3 8237A的工作方式 (4) 级连方式 DREQ DREQ DACK DACK HRQ HDLA HRQ HDLA

13、 HRQ HDLA 微 处 理 器 第一级8237A第二级8237A 邹建伟制作 版权所有2013 23 9.1.3 8237A的工作方式 2. DMA传送类型 (1) DMA读把数据由存储器传送到外设。 由 MEMR 有效从存储器读出数据,由 IOW 有效把这一数据写入外设。 (2) DMA写把外设输入的数据写入存储 器。由 IOR 有效从外设输入数据,由 MEMW 有效把这一数据写入存储器。 邹建伟制作 版权所有2013 24 9.1.3 8237A的工作方式 (3) DMA检验这是一种空操作。8237A 并不进行任何检验,而只是象DMA读或 DMA写传送一样产生时序、产生地址信 号,但是

14、存储器和I/O控制线保持无效, 所以不进行传送,而外设可以利用这样 的时序进行DMA校验。 邹建伟制作 版权所有2013 25 9.1.3 8237A的工作方式 3. 存储器到存储器的传送 固定使用通道0和通道1 通道0的地址寄存器存源区地址 通道1的地址寄存器存目的区地址,通道1的字 节数寄存器存传送的字节数 传送由设置通道0的软件请求启动 每传送一字节需用8个时钟周期 前4个时钟周期用通道0地址寄存器的地址从源区读 数据送入8237A的临时寄存器 后4个时钟周期用通道1地址寄存器的地址把临时寄 存器中的数据写入目的区 邹建伟制作 版权所有2013 26 9.1.3 8237A的工作方式 4

15、. DMA通道的优先权方式 (1) 固定优先权方式4个通道的优先权 是固定的,即通道 0优先权最高,通道 1 其次,通道2再次,通道3最低。 (2) 循环优先权方式4个通道的优先权 是循环变化的,最近一次服务的通道在 下次循环中变成最低优先权,其他通道 依次轮流相应的优先权。 注意: DMA传送不存在嵌套传送不存在嵌套 邹建伟制作 版权所有2013 27 9.1.3 8237A的工作方式 5. 自动初始化方式 每当DMA过程结束信号EOP产生时(不 论是内部终止计数还是外部输入该信号) 用基地址寄存器和基字节数寄存器的内容, 使相应的现行寄存器恢复为初始值,包括恢 复屏蔽位、允许DMA请求 这样就作好了下一次DMA传送的准备 邹建伟制作 版权所有2013 28 9.1.4 8237A的寄存器 8237A共有10种内部寄存器,对它们的 操作有时需要配合3个软件命令 8237A的“软件命令” 不需要通过数据总线写入控制字 直接由地址和控制信号译码实现 全部都用地址全部都用地址A A0 0A A3 3区分区分 邹建伟制作 版权所有2013 29 9.1.4 8237A的寄存器 表9-2 8237寄存器和软件命令的寻址 邹建伟制作 版权所有20

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号