PCI总线 DMA burst 基本概念
转载地址:http://blog.csdn.net/sunjiajiang/article/details/7945057
DMA和burst不是一个概念。
DMA传送不经过CPU的控制,假如硬盘的数据不能经过DMA控制器读到内存,那么每完成一次将硬盘的数据读出来,再存放到内存的操作,都要通过CPU运行几条读写指令来完成,这时CPU就做不了别的事了,如果有DMA控制器,则这个过程不需要CPU的参与,只需要占用总线就可以了。CPU还可以去完成别的运算。
Burst操作还是要通过CPU的参与的,与单独的一次读写操作相比,burst只需要提供一个其实地址就行了,以后的地址依次加1,而非burst操作每次都要给出地址,以及需要中间的一些应答、等待状态等等。如果是对地址连续的读取,burst效率高得多,但如果地址是跳跃的,则无法采用burst操作
一般芯片的dma有基本功能。
1、普通的内存、外设间互传数据,一次性的。
PCI设备DMA控制器,设置好后DMA 控制器的寄存器,PCI设备就会通过PCI总线向其他设备发送信号。
2、支持链表的,美其名曰“scatter”,内核有struct scatter可以参考。
说一下注意点:
dma有burst、burst size、transfer的概念:
burst:
dma实际上是一次一次的申请总线,把要传的数据总量分成一个一个小的数据块。比如要传64个字节,那么dma内部可能分为2次,一次传64/2=32个字节,这个2(a)次呢,就叫做burst。这个burst是可以设置的。这32个字节又可以分为32位 *8或者16位*16来传输。
transfer size:
就是数据宽度,比如8位、32位,一般跟外设的FIFO相同。
burst size:
就是一次传几个 transfer size.
配置数据宽度为32位。一次传8个32位=32个字节。
那么如果总长度为128字节,那么实际dma设置的长度为 128/32 = 4.
很好的一篇文章:基于FPGA的PCI接口DMA传输的设计与实现
http://www.docin.com/p-755091145.html
PCI总线 DMA burst 基本概念相关推荐
- PCIe扫盲——PCI总线基本概念
转载地址:http://blog.chinaaet.com/justlxy/p/5100053077 PCI是Peripheral Component Interconnect(外设部件互连标准)的缩 ...
- pci总线协议学习笔记——PCI总线基本概念
1.pci总线概述 (1)PCI,外设组件互连标准(Peripheral Component Interconnection),是一种由英特尔(Intel)公司1991年推出的用于定义局部总线的标准; ...
- PCI总线体系结构概述
§1.PCI总线体系结构概述 PCI总线体系结构是一种层次式的(Hierarchical)体系结构.在这种层次式体系结构中,PCI桥设备占据着重要的地位,它将父总线与子总线连接在一起,从而使整个系统 ...
- PCI总线的桥与配置(一)
在PCI体系结构中,含有两类桥片,一个是HOST主桥,另一个是PCI桥.在每一个PCI设备中(包括PCI桥)都含有一个配置空间.这个配置空间由HOST主桥管理,而PCI桥可以转发来自HOST主桥的配置 ...
- PCI——第1章——PCI总线的基本知识
摘要:对PCI 总线基本知识的整理,建议看完三章内容后再来进行总结或者阅读 目录 1.PCI基础知识 1. 1 PCI 总线的组成结构 HOST主桥 PCI 总线 PCI 设备 HOST处理器 PCI ...
- PCI——第3章——PCI 总线的数据交换
摘要:PCI 总线的数据交换 前三章还是在讨论PCI的东西,基本了解了PCI之后,再进入后面PCIE的深入学习. 目录 第 3 章 PCI 总线的数据交换 3. 1 PCI 设备 BAR 空间的初始化 ...
- Kernel PCI总线框架
2019独角兽企业重金招聘Python工程师标准>>> 1,PCI总线介绍 在PC时代的早期,外部设备通过ISA总线接入计算机.ISA总线只有24根地址线,因此其上的外部设备 ...
- Linux下DMA添加两个channel,基于Linux嵌入式系统的ISA总线DMA的实现
1.DMA概述本文引用地址:http://www.eepw.com.cn/article/151577.htm DMA是外设与主存之间的一种数据传输机制.一般来说,外设与主存之间存在两种数据传输方法: ...
- PCIe扫盲——PCIe总线怎样做到在软件上兼容PCI总线
转自:http://blog.chinaaet.com/justlxy/p/5100053245 前面的文章中多次说道,PCIe总线在软件上是向前兼容PCI总线的.因此,PCIe总线完整的继承了PCI ...
最新文章
- 【翻译】将Ext JS Grid转换为Excel表格
- 关于移动端 触摸事件导致子元素不能绑定事件
- java 常用十种设计模式示例归纳 | 已打包请带走
- docker 三种挂载文件路径方式
- laravel Excel导入导出
- php基础是什么,php基础学什么?
- android自定义view的实现方法,Android自定义View的实现方法
- python3.4安装pygame_python 3.4.3 安装pygame
- 【BP数据预测】基于matlab狼群算法优化BP神经网络数据预测【含Matlab源码 658期】
- AlphaGo原理分析
- 华为荣耀鸿蒙系统安装谷歌商店
- 在v$lock里找Holder和Waiter
- Pytorch搭建EfficientNet网络和Openmax
- 游戏王计算机兽,游戏王电脑堺卡牌——影依刺猬,影依兽,融合,幽鬼兔,三叉龙...
- 笔记本电池信息查询与电池更换
- 简单差分放大器和套筒式共源共栅放大器Cadence仿真
- c语言实现7段数码管显示,七段数码管显示实验.doc
- PCB中solder层和paste层的区别
- 题目:输入一个8bit数,输出其中1的个数,只能使用1bit全加器
- 如何激活conda环境?conda创建新环境步骤教程