资料介绍
总线上的数据的传递有两种形式。一种为程控输入/输出(PIO)另一种为直接存储器访问(DMA)。
1、PIO
使用PIO时,CPU是主模块,总线上数据的读取由CPU上运行的软件程序直接发起,传递的数据一定进过CPU(如下面的一、二所述)。
一、软件指令或者将已经存放在CPU数据寄存器中的数据发送到目标被控模块;
二、或者将目标被控模块里的一个数据读入,放到CPU的数据寄存器中。
例如:需要将数据从模块A---转移到----模块B,软件将这个任务分解为两个PIO操作:
第一步:从模块A读取数据,并存放到CPU的数据寄存器中;
第二步:将存放在CPU数据寄存器中的数据写入到模块B。
由于链接芯片与芯片之间的系统总线的时钟频率比CPU内部的时钟频率要低许多,用PIO读写大量的数据是一种非常低效的方式占用CPU的处理能力。所以需要利用专门的硬件来协助执行,在芯片与芯片之间或者模块与模块之间数据传输。这就是DMA。
2、DMA
此时软件只需要将传输数据要求使用PIO通知DMA硬件,DMA硬件按照要求执行数据的传输。这期间CPU继续进行其他工作。当DMA硬件执行完毕数据的传输任务之后,通过中断信号或这通过向主存储的某个特定地址写入特定的数值,通知软件。
一个DMA硬件通常包括多个DMA通道。每个通道一般用于一对模块之间的数据传输,通道之间相互独立。
DMA描述符用于指定如何传输数据块。一个DMA描述符至少包括数据传输的源地址(SA)、目的地址(DA)、需要传输的数据量(data size)、和每次总线传输的数据量(transfer size)。有些DMA模块要求软件将DMA描述符的数据结构存放在主存储器中,使用这个方法的好处时软件可以十分有效的建立DMA描述符。在DMA执行一个DMA数据传输任务之前,DMA先要用DMA的方法,将存放在CPU主存储的DMA描述符读到DMA模块中。
DMA将一个数据块的传输分为两个步骤。
第一步:从源地址的被控模块读取数据;
第二步:将读取的数据写入目的地址的被控模块。
根据DMA描述符的规定,DMA可以在传输了一个数据块之后,自动的将源地址和目的地址更新到下一个数据块地址,然后DMA开始传输下一个数据块,一直传输完实际要求传输的数量级。假设一个DMA开始传输的数据量是128Byte,每次传输的数据块是16Byte,为了完成这个DMA描述符指定的数据传输,DMA自动进行8次总线读取和8次总线写入。这些传输路径不经过CPU
转自:
(mbbeetchina)
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 用于模拟电器应用的两种霍尔效应传感器资料下载
- 对比两种制作电路板的方法,哪个更好?资料下载
- 51单片机外部中断的两种触发方式资料下载
- 两种功率电感器的额定电流介绍资料下载
- MOS管静电击穿有两种方式资料下载
- 开关电源系统中电流、电压两种工作模式资料下载
- GPS定位基本原理与两种测距计算方法资料下载
- 两种常见的镇流器有哪些不一样资料下载
- 两种万用表使用的方法与注意事项资料下载
- 电流传感器的两种基本原理资料下载
- 使用单片机实现流水灯的两种代码免费下载
- FPGA视频教程之Verilog中两种不同的赋值语句的资料说明 6次下载
- 介绍两种电机机械过载保护的结构 1次下载
- 两种形式太阳能并网逆变电源发电效率的研究 29次下载
- 两种实用的密码控制器电路图
- 两种常见的移相器电路原理解析 2530次阅读
- 互锁正反转电路的两种实现方式 1w次阅读
- 如何用两种不同的方法列写双容水槽传递函数 3212次阅读
- 浅谈VCS的两种仿真flow 3222次阅读
- MIMXRT并口连接外围器件的两种方式 1152次阅读
- MATLAB/simulink中两种实现建模方式的优势 4751次阅读
- 在MATLAB/simulink中建模时的两种不同实现方式 1720次阅读
- 光电编码器分为哪两种 9338次阅读
- IC插座的两种设计形式时什么样的 2600次阅读
- 单片机起振的两种判断方法 6856次阅读
- Wincc如何与PLC进行通讯两种常用的方式介绍 2.9w次阅读
- 帕塞瓦定理的两种常见形式 9640次阅读
- 基于总线传递数据的2种形式PIO、DMA的解析 1w次阅读
- 两种典型的电池供电电路的设计方案 7028次阅读
- 两种形式的红外光束编码波形及其典型数值电路图 2212次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 11次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5DIY动手组装LED电子显示屏
- 0.98 MB | 3次下载 | 免费
- 6基于FPGA的C8051F单片机开发板设计
- 0.70 MB | 2次下载 | 免费
- 751单片机PM2.5检测系统程序
- 0.83 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537797次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191186次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多