版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、6. 3 DMA方式,6.3.1 概述,直接存储器访问(Direct Memory Access)不需要CPU和软件介入,CPU只负责启动而不参与传送过程,整个传送过程由DMA控制器(DMAC)来控制,完全由硬件实现,数据传送速度快,主要用于需要高速大批量数据传送的场合,正常方式下: CPU控制总线,包括数据总线(DB)、地址总线(AB)和控制总线(CB),DMA方式下: CPU让出总线的控制权(CPU相应引脚输出置为高阻),而由DMA控制器来接管这些总线,负责DMA传送的全过程控制。,DMA的工作流程,1DMA操作的基本方式,把CPU不访问存储器的时间周期“挪用”来实现DMA操作,DMAC不
2、用通知CPU就可直接使用总线,关键是如何识别合适的可挪用的周期,(1)周期挪用方式,(2)周期扩展方式,专门的时钟发生器 / 驱动器电路。,CPU的处理速度减慢,而且CPU时钟周期的加宽是有限的,一次只能传送一个字节,(3)CPU停机方式,DMAC向CPU发出DMA请求信号HOLD,CPU在现行的总线周期结束后让出总线控制权,并向DMAC发回DMA响应信号HLDA,DMAC接管总线进行数据传送,传送结束后,CPU恢复对总线的控制,继续执行被中断的程序,可传送单字节,也可传送数据块,CPU利用率降低,会影响CPU对中断等的响应,2DMA的传送方式,3DMA系统的组成及功能, 接收外设发出的DMA
3、请求信号DREQ,并能向CPU发出总线请求信号HOLD,组成:,功能:,DMAC, 当收到CPU发出DMA响应信号HLDA后,能向外设发回DMA服务认可信号DACK,接管系统总线,进入DMA方式, 输出地址信息,对存储器寻址并修改地址指针;, 向存储器和外设发出相应的读/写控制信号;, 控制传送的字节数,判断DMA传送是否结束;, DMA传送结束后,结束DMA请求信号,释放总线,使CPU恢复对总线的控制权,DMA方式数据传送示意图,4PC微机的DMA控制器,6.3.2 DMA控制器8237A,8237A的基本功能, 有4个独立的可编程DMA通道(可级连扩展通道数), 每个通道请求的优先权可编程
4、,也可被屏蔽, 有单字节传送方式、成组传送方式、请求传送方式和级连方式, 可在存储器与外设间,也可以在存储器与存储器之间传送数据,每次传送的最大长度可达64KB, 可由外部输入结束处理信号来结束DMA传送或重新初始化,8237A的内部结构,8237A的外部引脚,DIP40,主机接口,外设接口,其它,8237A的数据传送方式,(4)级连方式 主从式,从芯片的HRQ和HLDA端分别连到主芯片相应通道的DREQ和DACK端上 主芯片的HRQ和HLDA连到系统总线上,主芯片的方式寄存器设置为级连方式,而从芯片可设置为其它3种方式之一。 当主芯片某个级连通道被响应后,由相应的从芯片来控制外设与存储器数据
5、的传送。而主芯片仅对从芯片的DREQ请求作出DACK响应,故除了HRQ外,主芯片的其它输出均被禁止,8237A的工作时序状态,SI,(传送状态) 操作周期,(非传送状态) 空闲周期,8237A的内部寄存器,寄存嚣 通道共用,寄存嚣X4 通道独立,8237A的端口地址分配,16个I/O端口地址,由地址线A3A0控制选择,在PC机中,其端口地址为00H0FH (表6.4 ),对于16位寄存器,先/后触发器为0时,表示访问低8位;为1时访问高8位,有几个地址分配用于形成软命令,8237A的编程方法,每次DMA传送前都要先进行初始化,初始化编程时应注意, 在编程开始时,要禁止8237A响应DMA请求,
6、初始化编程全部结束后,才允许其响应DMA请求, 8237A上电复位或软件复位后,除屏蔽寄存器各通道屏蔽位被置位(不能响应DMA请求)外,所有内部寄存器均被复位(清0), 在系统上电后,对DMA芯片进行检测,检测通过后,方可进行DMA初始化编程,初始化编程的步骤, 复位8237A,使其进入空闲状态, 写入基地址和当前地址寄存器, 写入基字节数和当前字节数计数器, 写入方式寄存器, 写入屏蔽寄存器, 写入命令寄存器, 写入请求寄存器, 开放通道,允许该通道的DREQ启动DMA传送,例6.4 用0通道输入16KB的数据块,传送至内存8000H开始的区域(增量传送),连续传送方式,传送完毕不自动预置,
7、DREQ为低电平有效,DACK为高电平有效。8237A端口地址为00H0FH,其初始化程序为: OUT 0DH, AL ; 软件复位命令,使8237A进入空闲周期 MOV AL, 00H ; AL 00H OUT 00H, AL ; 基地址和当前地址寄存器 地址低8位 MOV AL, 80H ; AL 80H OUT 00H, AL ; 基地址和当前地址寄存器 地址高8位 MOV AL, 00H ; AL 00H OUT 01H, AL ; 基字节和当前字节计数器 字节数低8位 MOV AL, 40H ; AL 40H OUT 01H, AL ; 基字节和当前字节计数器 字节数高8位 MOV
8、AL, 84H ; AL 84H(=10000100) OUT 0BH, AL ; 方式寄存器 84H(块传送方式、增量传送、不自动预置、写传送、通道0) MOV AL, 00H ; AL 00H OUT 0AH, AL ; 屏蔽寄存器 00H,清除屏蔽 MOV AL, 0C0H ; AL 0C0H(=1100000) OUT 08H, AL; 命令寄存器 0C0H(DACK高电平有效、DREQ低电平有效、固定优先级) HLT ;,例6.5 PC机系统的BIOS芯片中编写了对8237A的初始化和测试程序。,MOV A L, 04H ; AL 04H(=00000100) OUT DMA+08H
9、,AL; 命令寄存器 AL,禁止DMAC工作 OUT DMA+0DH,AL; 软件复位命令,使8237A进入空闲周期 MOV AL, 0FFH ; AL 0FFH,准备作赋“1”检测 C16: MOV BL, AL ; 将赋值信息保存在BX,以便后面比较 MOV BH, AL ; BH AL MOV CX, 8 ; 预置读写次数 MOV DX, DMA ; 将通道起始地址送DX C17: OUT DX, AL ; 将全“1”信息送指定通道寄存器(低8位) OUT DX, AL ; 将全“1”信息送指定通道寄存器(高8位) IN AL, DX ; AL DX,将刚写入的低8位字节读出 MOV AH, AL ; AH AL,将读出的低8位字节保存在AH IN AL, DX ; 将刚写入的高8位字节读出 CMP BX, AX ; 比较读出的16位字节 JE C18 ; 若比较结果一致则转至C18 HLT ; 若比较结果不一致则暂停 C18: INC DX ; 通道地址加1,指向下一个通道寄存器 LOOP C17 ; 若CX未减到0,回到C17;否则转入下一条指令 INC AL ;原AL中数值为FFH,加1后即为00H JE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 辽宁建筑职业学院《有机化学Ⅰ》2023-2024学年第一学期期末试卷
- 科尔沁艺术职业学院《算法分析与设计实验》2023-2024学年第一学期期末试卷
- 江苏理工学院《视听节目策划》2023-2024学年第一学期期末试卷
- 吉林大学《汽车电工电子技术》2023-2024学年第一学期期末试卷
- 湖南农业大学《烹调工艺学》2023-2024学年第一学期期末试卷
- 湖北体育职业学院《消费者保护法》2023-2024学年第一学期期末试卷
- 【物理】《功》(教学设计)-2024-2025学年人教版(2024)初中物理八年级下册
- 高考物理总复习《带电粒子在交变场中的运动》专项测试卷含答案
- 重庆工程职业技术学院《分布式系统与云计算》2023-2024学年第一学期期末试卷
- 正德职业技术学院《学习科学基础》2023-2024学年第一学期期末试卷
- 电力工程施工人员培训方案
- 代理记账有限公司简介(5个范本)
- 校园物业管理层培训课件
- 安全生产培训资料-20220703152820
- 3-U9C操作培训-MRP基础
- 2024至2030年中国铜制装饰材料行业投资前景及策略咨询研究报告
- 中金公司在线测评真题
- 高中英语新课程标准解读课件
- 2024供应商大会策划方案
- 2024小学语文六年级上册第四单元:大单元整体教学课件
- 12S108-1 倒流防止器选用及安装
评论
0/150
提交评论