版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
6.3DMA方式6.3.1概述直接存储器访问(DirectMemoryAccess)不需要CPU和软件介入,CPU只负责启动而不参与传送过程,整个传送过程由DMA控制器(DMAC)来控制,完全由硬件实现,数据传送速度快,主要用于需要高速大批量数据传送的场合正常方式下:CPU控制总线,包括数据总线(DB)、地址总线(AB)和控制总线(CB)DMA方式下:CPU让出总线的控制权(CPU相应引脚输出置为高阻),而由DMA控制器来接管这些总线,负责DMA传送的全过程控制。DMA的工作流程(2)周期扩展方式专门的时钟发生器/驱动器电路。CPU的处理速度减慢,而且CPU时钟周期的加宽是有限的,一次只能传送一个字节供给CPU的时钟周期加宽,宽度相当于若干个正常的时钟周期,而供给存储器和DMAC的时钟周期不变加宽时钟周期内CPU的操作不往下进行,用来DMA操作(3)CPU停机方式√DMAC向CPU发出DMA请求信号HOLDCPU在现行的总线周期结束后让出总线控制权,并向DMAC发回DMA响应信号HLDADMAC接管总线进行数据传送传送结束后,CPU恢复对总线的控制,继续执行被中断的程序可传送单字节,也可传送数据块CPU利用率降低会影响CPU对中断等的响应2.DMA的传送方式
每次请求只传送一个字节数据,占用一个总线周期(1)单字节传送方式一次请求可传送一组数据信息,所字节数由DMAC初始化时编程决定(2)成组传送方式每传送一个字节后,DMAC要检测(查询)外设原来发出的DMA请求信号是否继续有效,以决定是否继续传送(3)请求传送方式——查询传送方式DMA方式数据传送示意图
4.PC微机的DMA控制器系统板上采用一片可编程DMAC8237A,有4个独立可编程DMA通道,其端口地址为00H~0FH,分别控制DRAM的刷新、预留用户、软磁盘接口和硬磁盘接口的DMA传送PC/XT微机系统板上采用两片8237A级连,级连后共有7个独立的可编程DMA通道PC/AT微机不再采用专门的DMA芯片,而是采用多功能外围芯片中的DMAC实现DMA传送,有8个独立的可编程DMA通道,允许使用全部32位总线宽度,系统的I/O操作速度大大提高80386及以上的微机6.3.2DMA控制器8237A8237A的基本功能①有4个独立的可编程DMA通道(可级连扩展通道数)②每个通道请求的优先权可编程,也可被屏蔽③有单字节传送方式、成组传送方式、请求传送方式和级连方式④可在存储器与外设间,也可以在存储器与存储器之间传送数据,每次传送的最大长度可达64KB⑤可由外部输入结束处理信号来结束DMA传送或重新初始化8237A的外部引脚
DIP40主机接口外设接口其它电源线VCC、GNDCLK、RESETNC请求线DREQ0~DREQ3响应线DACK0~DACK3过程结束信号EOP地址线A0~A3、A4~A7数据线DB0~DB7复用控制线CS、MEMR、MEMW、IOR、IOW、AEN、READY、HLDA、HRQ、ADSTB8237A的数据传送方式(1)单字节传送方式(2)成组传送方式(3)请求传送方式(4)级连方式——主从式从芯片的HRQ和HLDA端分别连到主芯片相应通道的DREQ和DACK端上主芯片的HRQ和HLDA连到系统总线上主芯片的方式寄存器设置为级连方式,而从芯片可设置为其它3种方式之一。当主芯片某个级连通道被响应后,由相应的从芯片来控制外设与存储器数据的传送。而主芯片仅对从芯片的DREQ请求作出DACK响应,故除了HRQ外,主芯片的其它输出均被禁止8237A的工作时序状态SIS0初始态S1操作态S2读出S3写入Sw延长等待S4判别(传送状态)操作周期(非传送状态)空闲周期8237A的端口地址分配16个I/O端口地址,由地址线A3~A0控制选择在PC机中,其端口地址为00H~0FH(表6.4)对于16位寄存器,先/后触发器为0时,表示访问低8位;为1时访问高8位有几个地址分配用于形成软命令总清命令清除屏蔽寄存器命令清除先/后触发器命令8237A的编程方法每次DMA传送前都要先进行初始化初始化编程时应注意⑴在编程开始时,要禁止8237A响应DMA请求,初始化编程全部结束后,才允许其响应DMA请求⑵8237A上电复位或软件复位后,除屏蔽寄存器各通道屏蔽位被置位(不能响应DMA请求)外,所有内部寄存器均被复位(清0)⑶在系统上电后,对DMA芯片进行检测,检测通过后,方可进行DMA初始化编程初始化编程的步骤
①复位8237A,使其进入空闲状态②写入基地址和当前地址寄存器③写入基字节数和当前字节数计数器④写入方式寄存器⑤写入屏蔽寄存器⑥写入命令寄存器⑦写入请求寄存器⑧开放通道,允许该通道的DREQ启动DMA传送例6.5PC机系统的BIOS芯片中编写了对8237A的初始化和测试程序。MOVAL,04H;AL←04H(=00000100)OUTDMA+08H,AL;命令寄存器←AL,禁止DMAC工作OUTDMA+0DH,AL;软件复位命令,使8237A进入空闲周期MOVAL,0FFH;AL←0FFH,准备作赋“1”检测C16:MOVBL,AL;将赋值信息保存在BX,以便后面比较MOVBH,AL;BH←ALMOVCX,8;预置读写次数MOVDX,DMA;将通道起始地址送DXC17:OUTDX,AL;将全“1”信息送指定通道寄存器(低8位)OUTDX,AL;将全“1”信息送指定通道寄存器(高8位)INAL,DX;AL←DX,将刚写入的低8位字节读出MOVAH,AL;AH←AL,将读出的低8位字节保存在AHINAL,DX;将刚写入的高8位字节读出CMPBX,AX;比较读出的16位字节JEC18;若比较结果一致则转至C18HLT;若比较结果不一致则暂停C18:INCDX;通道地址加1,指向下一个通道寄存器LOOPC17;若CX未减到0,回到C17;否则转入下一条指令INCAL;原AL中数值为FFH,加1后即为00HJEC16;回到C16,进行赋“0”检8237A应用举例
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 渔业生产行业智能化渔业生产技术与装备方案
- 2025年清远货运上岗资格证模拟考试
- 宋词三百首读后感
- 勇气点亮青春希望灯
- 游戏娱乐业云游戏存储与计算优化研究
- 新材料研发及生产扩大规模投资协议
- 2025年桂林如何考货运从业资格证
- 篮球训练教案
- 2025年常德道路运输从业资格证考试
- 2025年淮北a2货运资格证考试题
- 2023年六安霍邱合高现代产业园投资有限公司招聘笔试题库含答案解析
- 福建省厦门市2023届高三上学期期末质检英语试题+Word版含答案
- 教练场地技术条件说明
- 代县雁门光伏升压站~宁远220kV线路工程环评报告
- 承诺函(支付宝)
- 蒙特利尔认知评估量表北京版
- 危险化学品目录2023
- GB/T 24123-2009电容器用金属化薄膜
- GB/T 20154-2014低温保存箱
- 艾滋病梅毒乙肝实验室检测
- 固定资产报废管理制度管理办法
评论
0/150
提交评论