DMA与DMA控制器.ppt

上传人:wuy****n92 文档编号:70736246 上传时间:2023-01-27 格式:PPT 页数:23 大小:207KB
返回 下载 相关 举报
DMA与DMA控制器.ppt_第1页
第1页 / 共23页
DMA与DMA控制器.ppt_第2页
第2页 / 共23页
点击查看更多>>
资源描述

《DMA与DMA控制器.ppt》由会员分享,可在线阅读,更多相关《DMA与DMA控制器.ppt(23页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、DMADMA与与DMADMA控制器控制器1.1.DMA(Direct Memory Access)DMA(Direct Memory Access)的概念的概念DMADMA方式不用处理器干预完成方式不用处理器干预完成M M与与I/OI/O间数据传间数据传送。送。DMADMA期间系统总线由其它主模块控制期间系统总线由其它主模块控制(驱动驱动)控制总线的主模块要提供系统的地址及控制控制总线的主模块要提供系统的地址及控制信号。信号。DMADMA控制器与处理器配合可实现系统的控制器与处理器配合可实现系统的DMADMA功功能。能。地址总线地址总线HRQ DREQDMACHLDA DACK总线总线请求请求

2、总线总线响应响应 HOLD HLDACPUDMA请求请求DMA响应响应I/O设备设备控制总线控制总线数据总线数据总线DMA与DMA控制器(续)2.DMA2.DMA系统组成及工作过程系统组成及工作过程 DMA DMA系统组成系统组成DMA与DMA控制器(续)2.DMADMA系统组成及工作过程系统组成及工作过程 DMA DMA工作过程工作过程 I/OI/O向向DMAC DMACDMAC DMAC向向 CPU CPU响应响应 DMAC DMAC向向 发请求发请求 CPU CPU发请求发请求 DMAC DMAC请求请求 I/O I/O发响应发响应DMADMA传传送结束送结束DMADMA传传送进行送进行

3、DMACDMAC发出发出控制信号控制信号DMACDMAC发出发出内存地址内存地址允许允许 DMA DMA请求?请求?DMAC发发BUS请求请求CPU响应响应DMA放弃放弃BUSDMAC控制控制传一个字节传一个字节 块结束否?块结束否?放弃总线中断请求放弃总线中断请求NDMA放放总总线线NY字节传送字节传送 Y DMADMA传送方式传送方式允许允许 DMADMA请求?请求?DMAC发发BUS请求请求CPU 响应响应 DMA放弃放弃 BUSDMAC控制控制传一个字节传一个字节块结束否?块结束否?放总线中断请求放总线中断请求 DMA请求?请求?NYYN块传送块传送 DMADMA传送方式传送方式允许允

4、许 DMA DMA请求请求?DMAC发出发出BUS请求请求CPU响应响应DMA放弃总线放弃总线DMAC 控制传一个字节控制传一个字节块结束否块结束否?放总线中断请求放总线中断请求YDMA请求?请求?Y放总线放总线NNY随机请求随机请求DEMAND REQUEST DMADMA传送方式传送方式控制 REG.8 HRQCount Temp.16状态 REG.8暂存器 8HLDARENMODE REG.6REQ1FLAG1MASK FLAG当前ADDR.REG.16基地址 REG.16可读非读当前字节计数器.16基字节数REG.16 通道0通道1通道2通道3HOLDHLDACLOCKAEN关闭CPU

5、地址锁存器EN#STB锁存器ADSTBDB7 :DB0IO/M#CS#ADDR.译 码DATA SUBA15A8A7A0地址总线A3A0A7A4IOR#MEMR#IOW#MEMW#READYRESETDREQ0DACK0DREQ1DACK1DREQ2DREQ3 DACK2DACK3EOP#3.Intel 8237A3.Intel 8237A可编程可编程DMADMA控制器框图控制器框图DMA与DMA控制器(续)3.Intel 8237A3.Intel 8237A可编程可编程DMADMA控制器框图控制器框图(续)续)8237A8237A主从两面性:主从两面性:作为作为DMACDMAC,8237A8

6、237A是可控制总线的主模块。是可控制总线的主模块。作为作为I/OI/O芯片,芯片,8237A8237A可被处理器读写。可被处理器读写。运行时注意运行时注意8237A8237A主主-从地址的变化。从地址的变化。8237A8237A组成说明:组成说明:8237A8237A有四个独立通道:每个通道有有四个独立通道:每个通道有1616位地址位地址REGREG,1616位字节数计数器,位字节数计数器,6 6位模式位模式REGREG。四个通道公用控制寄存器,状态寄存器,屏蔽四个通道公用控制寄存器,状态寄存器,屏蔽寄存器,请求标志寄存器及暂存器,各寄存器寄存器,请求标志寄存器及暂存器,各寄存器均为均为8

7、8位。位。DMA与DMA控制器(续)3.Intel 8237A3.Intel 8237A可编程可编程DMADMA控制器框图控制器框图(续)续)8237A8237A组成说明:组成说明:基地址寄存器:放基地址寄存器:放DMADMA传送传送RAMRAM地址初值。地址初值。当前地址寄存器:当前地址寄存器:DMA DMA传送时内容变化传送时内容变化,可读。可读。基字节数寄存器:基字节数寄存器:DMA DMA传送的总字节数。传送的总字节数。当前字节数寄存器:当前字节数寄存器:DMA DMA传送时内容变化传送时内容变化,可可读。读。DMA与DMA控制器(续)3.Intel 8237A3.Intel 8237

8、A可编程可编程DMADMA控制器框图控制器框图(续)续)8237A8237A引线说明:引线说明:DB7-DB0DB7-DB0:双向数据总线。:双向数据总线。8237A8237A为从模块时被处理器编程或读状态,为从模块时被处理器编程或读状态,DB7-DB0DB7-DB0作为数据线,传输数据或命令字。作为数据线,传输数据或命令字。8237A8237A为主模块时为主模块时DB7-DB0DB7-DB0输出地址输出地址A15-A8A15-A8,在,在 M M M M传送操作时经传送操作时经DB7-DB0DB7-DB0,将,将M M数据送数据送8237A8237A暂存器。暂存器。A3-A4A3-A4:地址

9、线,从模块时为输入,处理器寻:地址线,从模块时为输入,处理器寻址址8237A8237A;主模块时输出低压位地址。;主模块时输出低压位地址。DMA与DMA控制器(续)A7-A4A7-A4:地址线,主模块时输出地址线,主模块时输出A7-A4A7-A4。CS#CS#:片选,从模块时处理器用来寻址片选,从模块时处理器用来寻址82378237A A。IOR#IOR#,IOW#IOW#:I/OI/O读写控制,双向。读写控制,双向。82378237A A在从在从模块时为输入,在主模块时为输出。模块时为输入,在主模块时为输出。AENAEN,ADSTBADSTB输出:输出:8 8位地址锁存允许及选通。位地址锁存

10、允许及选通。在主模块时允许外部锁存器锁存在主模块时允许外部锁存器锁存82378237A A的高的高8 8位位地址。地址。MEMR#MEMR#,MEMWMEMW:输出,存储器读写控制,主模输出,存储器读写控制,主模块时送存储器。块时送存储器。READYREADY:输入,准备就绪,主模块时控制总线输入,准备就绪,主模块时控制总线周期的长度,与慢速设备同步。周期的长度,与慢速设备同步。DMA与DMA控制器(续)RESETRESET:输入,复位信号,复位时屏幕寄存器输入,复位信号,复位时屏幕寄存器置置1 1,其它寄存器置,其它寄存器置0 0。EOP#EOP#:双向。输出时,表明内部通道传送结束;双向。

11、输出时,表明内部通道传送结束;输入时,表明外部强迫输入时,表明外部强迫DMADMA传送停止。传送停止。DREQ0-DREQ3DREQ0-DREQ3:I/OI/O设备设备DMADMA请求输入信号。请求输入信号。DACK0-DACK3DACK0-DACK3:输出输出DMADMA请求的响应。请求的响应。HRQHRQ:8237A8237A向处理器发出的总线请求信号。向处理器发出的总线请求信号。HLDAHLDA:处理器发给处理器发给82378237A A的总线请求响应信号。的总线请求响应信号。通道通道REGISTER操作操作 CS#10R#10W#A3 A2 A1 A0内内 F/FDB0DB7000 1

12、111基基/现行地址现行地址基基/现行字计数现行字计数现行地址现行地址现行字计数现行字计数 基基/现行地现行地址址现行地址现行地址基基/现行字计数现行字计数现行字计数现行字计数写写写写写写 写写读读读读读读读读 0 1 0 0 1 00 0 10 0 1 0 1 0 0 1 0 0 0 1 0 0 10 1 00 1 00 0 10 0 10 0 10 0 10 1 00 1 00 0 0 00 0 0 00 0 0 00 0 0 00 0 0 10 0 0 10 0 0 10 0 0 10 0 1 00 0 1 00 0 1 00 0 1 00 0 1 10 0 1 10 0 1 10 0

13、1 1 0 1 0 1010101010101 A0 A7 A8 A15 A0 A7 A8 A15W0 W7W8 W15W0 W7W8 W15W0 W7W8 W15W0 W7W8 W15A0 A7A8 A15A0 A7A8 A158237A 字计数器与地址寄存器端口号与对应操作(字计数器与地址寄存器端口号与对应操作(1)4.8237A编程编程5.地址、字计数器端口分配地址、字计数器端口分配0通道通道REGISTER操作操作 CS#10R#10W#A3 A2 A1 A0内内 F/FDB0DB722 3333基基/现行地址现行地址基基/现行字计数现行字计数现行地址现行地址现行字计数现行字计数 基基

14、/现行地现行地址址现行地址现行地址基基/现行字计数现行字计数现行字计数现行字计数写写写写写写 写写读读读读读读读读 0 1 0 0 1 00 0 10 0 1 0 1 0 0 1 0 0 0 1 0 0 10 1 00 1 00 0 10 0 10 0 10 0 10 1 00 1 00 1 0 00 1 0 00 1 0 00 1 0 00 1 0 10 1 0 10 1 0 10 1 0 10 1 1 00 1 1 00 1 1 00 1 1 00 1 1 10 1 1 10 1 1 10 1 1 1 0 1 0 1010101010101 A0 A7 A8 A15 A0 A7 A8 A1

15、5W0 W7W8 W15W0 W7W8 W15W0 W7W8 W15W0 W7W8 W15A0 A7A8 A15A0 A7A8 A158237A 字计数器与地址寄存器端口号与对应操作(字计数器与地址寄存器端口号与对应操作(2)22 操作命令与端口号对应关系表操作命令与端口号对应关系表A3 A2 A1 A0 IOR#IOW#操操 作作 十六进制十六进制1 0 0 0 0 1 读状态读状态 REG.81 0 0 0 1 0 写命令写命令/控制控制 REG.1 0 0 1 0 1 非法非法 91 0 0 1 1 0 写写DMA请求标志请求标志 REG.1 0 1 0 0 1 非法非法 A1 0 1

16、0 1 0 写屏蔽标志写屏蔽标志 REG.1 0 1 1 0 1 非法非法 B1 0 1 1 1 0 写模式写模式 REG.1 1 0 0 0 1 非法非法 C1 1 0 0 1 0 清除字节指针清除字节指针 F/F 1 1 0 1 0 1 读暂存器读暂存器 D 1 1 0 1 1 0 复位复位(总清)(总清)1 1 1 0 0 1 非法非法 E1 1 1 0 1 0 清除清除/屏蔽标志屏蔽标志 REG.1 1 1 1 0 1 非法非法 F1 1 1 1 1 0 写所有屏蔽写所有屏蔽 REG单一位单一位三个软件三个软件命令不依命令不依赖赖DB上上数据数据所有位所有位 82378237A A 模

17、式模式 REG.REG.格式(写格式(写B B号):工作方式设定号):工作方式设定 D7D6D5 D4D3D2D1D0模式选择模式选择随机请求传输模式随机请求传输模式 0 0单字节传输模式单字节传输模式001111非传输模式非传输模式级联传输模式级联传输模式地址增量选择地址增量选择地址加地址加1 0地址减地址减1 1自动预置功能选择自动预置功能选择禁止禁止 0 允许允许 1 通道选择通道选择 0 选选 0#Channel 0 0 1 11 01选选 1#Channel选选 2#Channel选选 3#Channel传输类型选择传输类型选择 0 0 校验传输校验传输001111 X X写传输写传

18、输 读传输读传输非非 法法D7 D6=11 8237A 控制控制/命令命令REG.格式(写格式(写8号):硬件设置与运行控制号):硬件设置与运行控制8237A硬件设置:硬件设置:D7D6D5 D4D3D2D1D0DACK有效电平有效电平低电平有效低电平有效 0 高电平有效高电平有效1 01DREQ有效电平有效电平 高电平有效高电平有效扩展写扩展写 MEM.0 11 001 Enable 8237A低电平有效低电平有效不扩展写不扩展写 0扩展写扩展写1D3=1 X优先级类型优先级类型01固定优先级固定优先级循环优先级循环优先级MEM.传输传输禁止禁止允许允许Channel 0 地址保持不变地址保

19、持不变 XDisableEnable D0=08237A 工作工作 Disable 8237A时序类型时序类型01 X普通时序普通时序压缩时序压缩时序D0=18237A DMA 请求请求REG.格式(写格式(写9号)号)D7D6D3D2D1D0D5D4运行控制不用不用0清除清除DMA请求位请求位建立建立DMA请求位请求位100Channel 0001111Channel 1Channel 2Channel 3 8237A 控制控制/命令命令REG.格式(写格式(写9号):硬件设置与运行控制号):硬件设置与运行控制8237A运行控制命令字:软件运行控制命令字:软件DMA请求请求8237A 屏蔽屏

20、蔽 REG.格式格式(单一位)(写(单一位)(写A号)号)D7D6D3D2D1D0D5D4运行控制不用不用0清除清除 MASK 位位建立建立 MASK 位位100Channel 0001111Channel 1Channel 2Channel 3 通道选择通道选择 8237A 控制控制/命令命令REG.格式(写格式(写A号):硬件设置与运行控制号):硬件设置与运行控制8237A运行控制命令字:设屏蔽字(单通道)运行控制命令字:设屏蔽字(单通道)8237A 全全4位位 MASK REG.格式格式(写(写F号)号)D7D6D3D2D1D0D5D4运行控制不用不用0清清 Channel 3 M 位位

21、设设 Channel 3 M 位位100110清清 Channel 2 M 位位1设设 Channel 2 M 位位清清 Channel 0 Mask 位位设设 Channel 0 Mask 位位清清 Channel 1 Mask 位位设设 Channel 1 Mask 位位 8237A 控制控制/命令命令REG.格式(写格式(写F号):硬件设置与运行控制号):硬件设置与运行控制8237A运行控制命令字:设屏蔽字(四通道)运行控制命令字:设屏蔽字(四通道)DMA与DMA控制器(续)4.4.82378237A A编程(续)编程(续)关于关于3 3个软件命令:与端口号有关,与个软件命令:与端口号有

22、关,与DBDB线上的内容无关。线上的内容无关。写写C C号地址:清除字节指针号地址:清除字节指针F/FF/F,使将装使将装入顺序为先入顺序为先LSBLSB后后MSBMSB。写写D D号地址:总清除命令,屏蔽号地址:总清除命令,屏蔽REG.REG.为为1 1,其它,其它REG.REG.为为0 0,软件复位。,软件复位。写写E E号地址,清除屏蔽标志。号地址,清除屏蔽标志。编程过程编程过程HLDAHLDA无效时无效时82378237A A接受接受P P编程,不管编程,不管HRQHRQ是否有是否有效。效。编程前禁止编程前禁止82378237A A:发关闭发关闭82378237A A命令,向命令,向8

23、 8号号端口(硬件设置)写端口(硬件设置)写0404H H,或对通道进行屏蔽。或对通道进行屏蔽。用软命令发出总清(用软命令发出总清(Master Clear)Master Clear)操作:向操作:向0 0DHDH端口执行一次写操作。端口执行一次写操作。向有关通道送地址值,计数值,模式字。向有关通道送地址值,计数值,模式字。送硬件设置命令字,打开送硬件设置命令字,打开82378237A A。去除去除屏蔽准备接收屏蔽准备接收DMADMA请求。请求。8237A 状态状态 REG.格式(读格式(读8号)号)D7D6D3D2D1D0D5D4 通道通道 3 有有DMA请求请求 11:通道通道 0计数结束计数结束通道通道 2有有DMA请求请求 1通道通道 1 有有DMA请求请求 1通道通道 0 有有DMA请求请求 11:通道:通道 1计数结束计数结束1:通道:通道 2计数结束计数结束1:通道通道 3计数结束计数结束状态字4.4.82378237A A编程序(续)编程序(续)5.5.82378237A A状态监测:可监测运行状态。状态监测:可监测运行状态。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com