PCIe数据峰值带宽和有效带宽计算

最近对于PCIe的带宽概念和计算有些模糊,网上查资料大部分都是一个模子出来的,通过下面这个公式计算:

并行总线带宽(MB/s) = 并行总线时钟频率(MHz) * 并行总线位宽(bit/8 = B) * 每时钟传输几组数据(cycle)

特别是后面计算起来不是很容易懂,后来查资料请教后,得出如下理解【个人拙见,欢迎留言质疑】:

首先需要理清一些概念

1、对于PCIe 而言总线频率如 1.25GHz、2.5GHz,一般是在 100 MHz 的基准频率上,通过PLL达到的

2、峰值带宽 = 总线频率x数据位宽x2 (GT/s)

3、有效带宽 = 峰值带宽*编码方式         (8/10) 或 (128/130)

4、GT/s:在物理信道上每秒传多少比特也就是Gbps,MBps = Gbps/(8x1000)

对于单向通道而言:

gen1x1:

峰值带宽 = 1.25G x 1 x 2 = 2.5 GT/s = 2.5 Gbps

有效带宽 = 2.5 x (8/10) = 2 Gbps = 250MB/s

gen2x1:

峰值带宽 = 2.5G x 1 x 2 = 5 GT/s = 5 Gbps

有效带宽 = 5 x (8/10) = 4 Gbps = 500MB/s

gen2x8:

峰值带宽 = 2.5G x 8 x 2 = 40 (GT/s) = 40 Gbps

有效带宽 = 40 (GT/s) x (8/10) = 32 Gbps = 4000MB/s

gen3x1

峰值带宽 = 4G x 1 x 2 = 8(GT/s) = 8 Gbps

有效带宽 =  8 Gbps x (128/130)  = 7.9 Gbps  = 984.6 MB/s

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-05 04:21:42

PCIe数据峰值带宽和有效带宽计算的相关文章

上行带宽和下行带宽是什么意思?各有什么作用?

上行带宽和下行带宽,或者说上行速度和下行速度是什么意思?在设置路由器的限速,以及配置其它一些软件的时候经常遇到上行速度和下行速度,很多用户根本就不知道这两个所代表的意识,更不说配置了,下文将为大家进行详细的介绍. 我们访问互联网的过程中存在这两种行为:一是上传数据,二是下载数据.上行宽带(速度)指的是上传的速度,而下行宽带(速度)指的是下载数据是的数度. 上行宽带(速度)和下行宽带(速度)是不对称的,一般是下行速度大于上行的速度.我们平时所使用的宽带说多少M,都是指的下行宽带,因为我们上网主要是

获取Excel部分数据并很据项目要求计算适宜性等级综合指数判断该地区的土壤适宜性

代码运行前请先导入jxl架包,以下代码仅供学习参考: 下图为项目中的Excel: ExcelTest02类代码如下: // 读取Excel的类 import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import jxl.Cell; import jxl.Sheet; import jxl.Workbook; public class ExcelTest02 { /* *该代码需要先获得exce

运算放大器【五】---全功率带宽和增益带宽积

摘要:  带宽 1. 增益带宽积 Gain Bandwidth Product---GBW 增益和带宽的乘积,其值为一定值 表示的是小信号的增益带宽,约为100mVpp 2. 定义:一个放大器的放大倍数为n倍,但并不是说对所有输入信号的放大能力都是n倍,当信号频率增大时,放大能力就会下降, 当输出信号下降到原来输出的0.707倍时,也就是根号2分之一,或者叫减小了3dB,这时候信号的频率就叫做运放的带宽 ----引用 在欠抽样系统中,ADC的速率可以很低,但须强调的是,ADC的输入电路即使在信号

asp.net采用OLEDB方式导入Excel数据时提示:未在本地计算机上注册"Microsoft.Jet.OLEDB.4.0" 提供程序"

asp.net采用OLEDB方式导入Excel数据时提示:未在本地计算机上注册"Microsoft.Jet.OLEDB.4.0" 提供程序" 笔者在项目中做做了一个从Excel表格中导入数据的模块.大体上asp.net项目中导入Excel大体分成三类: 1)采用c#内置方案System.Data.OleDb(限制较小, 通用) 2)采用Excel的COM组件(会有版本问题) 3)采用伪Excel文件.即使用文本流的方式根据需求自己定义数据格式.同时在服务端进行反格式化 笔者采

mysql数据导出到excel以及相关计算

mysql 查询出数据之后, 可以选择导出文件 默认是csv文件  如果是整数类型的数据 可以CONCAT('\'', filed) 多加个'就可以变成文本了, 然后以文本编辑器打开csv文件 把'等字符替换为空字符串. 新建一个excel文件,找到数据-->自文本,选择下一步 格式为文本  确定即可 一些基本的excel函数: 计算某个字符或数字等的个数:=COUNTIF(A:A,"测试") 就是在A列的'测试'这个字符串出现的个数 根据身份证号计算性别:=IF(MOD(MID

计算视频文件(包含PCR)播放带宽的方法 PCR计算码率

关于PCR的重要性在网络上到处都是,但是关于PCR的计算的帖子网上写的却不多 ,分析来,发现并不是一个很复杂的过程 在此 我简单描述一下关于通过PCR计算码率的过程.首先.我们要在TS流中找到 PSI信息表,这里我就不多说了.顺序是PAT-->PMT--->PCR_PID. 当得到PCR_PID后,我们就可以根据它找对应具有PCR信息的包,有时候这个包的 指向会在VIDEO数据包内,不要奇怪.是否具有PCR信息关键看 Adaptation_Filed_Control,关于Adaptation_

【转】什么是对分带宽/对半带宽 (bisection bandwidth)

转自 http://blog.sina.com.cn/s/blog_8333a3030101dh2p.html 1. 定义: 用一截面将网络划分成对等的两半时(或者两个结点数目都相同的子网)时,穿过该截面的最大传输率. 对分带宽越大,网络的通信能力越强. 2. 计算: 如果每条链路的带宽都已知道的情况下,则以链路带宽计算.否则,假设链路带宽为1. 下面的计算都是假设链路带宽为1. 1) n个结点的全连接网络(Fully interconnected network): 每个子网的结点数目为n/2

Java中浮点型数据Float和Double进行精确计算的问题

一.浮点计算中发生精度丢失  大概很多有编程经验的朋友都对这个问题不陌生了:无论你使用的是什么编程语言,在使用浮点型数据进行精确计算时,你都有可能遇到计算结果出错的情况.来看下面的例子. // 这是一个利用浮点型数据进行精确计算时结果出错的例子,使用Java编写,有所省略. double a = (1.2 - 0.4) / 0.1;System.out.println(a); 如果你认为这个程序的输出结果是“8”的话,那你就错了.实际上,程序的输出结果是“7.999999999999999”.好

Spark Streaming性能优化: 如何在生产环境下应对流数据峰值巨变

1.为什么引入Backpressure 默认情况下,Spark Streaming通过Receiver以生产者生产数据的速率接收数据,计算过程中会出现batch processing time > batch interval的情况,其中batch processing time 为实际计算一个批次花费时间, batch interval为Streaming应用设置的批处理间隔.这意味着Spark Streaming的数据接收速率高于Spark从队列中移除数据的速率,也就是数据处理能力低,在设置