1.5 x86带宽计算

来源:互联网 发布:淘宝购物返现app排行榜 编辑:程序博客网 时间:2024/05/17 22:32

x86大框图的的名词解释和各部分的带宽计算,系统整理了一下,做了个总结,大家有兴趣就一起学习学习。

1、总线带宽计算方法

首先,各类带宽的计算有几个基本准则:

  • 并行总线:并行总线一般是单工的,即读写使用同一数据线,所以同一时刻只能是读/写操作的其中一种。属于并行总线的有:FSB、DDR、PCI。(QDR总线好像是并行总线中例外的一种,它的收发数据线是分开的)
  • 串行总线:串行总线一般是全双工的,它的收发通道是独立的,收发操作可以同时进行。
    在计算各部分速率是否匹配时,为了统一计算标准,因为并行总线收发带宽是不能分开的,所以串行总线采取的也是计算收发的总带宽,即串行速率 x 2。
    另外,串行总线相比较并行总线,还有一个编码的开销,一般是8b/10b编码,计算有效数据速率时需要减掉这部分开销。属于串行总线的有:QPI、HT、DMI/ESI、PCI-E、自定义serdes。

2、CPU和北桥之间的总线

1、FSB:(Frontside Bus)即通常所说的前端总线。
- 。并行总线,用于连接CPU和北桥之间的通道。我们的HCSA、WBSA系统 都是这种架构。常见的规格有1066M Hz、1333M Hz,数据总线宽度为64bit。对应的速率为1066M x 64/8 = 8.5GB/s、1333M x 64/8 = 10.6GB/s。
- BSB:(Backside Bus)通常称之为后端总线。互连CPU内核和二级缓存的总线。我们的系统 上是不是没有了这种总线?
- DIB: (Dual Independent Bus)双重独立总线。早期指FSB和BSB分别独立的总线。也指两条FSB总线,即一个北桥包含两条FSB总线,每条分别连接独立的CPU。

2、QPI:(QuickPath Interconnect)快速通道互联。 intel革命性的串行总线连接架构。不仅仅是CPU和北桥之间的连接通道又并行换成了串行,DDR控制器也又北桥改到了CPU直连。我们的BH25、UFCA系统 都是这种架构。
事实上它的官方名字叫做CSI,Common System Interface公共系统界面,用来实现芯片之间的直接互联,而不是在通过FSB连接到北桥,矛头直指AMD的HT总线。
QPI常见的速率4.8至6.4GT/s之间,一个连接的每个方向的位宽可以是5、10、20bit。以6.4GT/s、20bit为例,总线传输带宽为: 6.4G x 20bit/8 x 2(双方向) x 8/10(8b/10b编码) = 25.6GB/s

3、HT:HyperTransport。 AMD很早就采用的串行总线架构,CPU和北桥之前是串行连接,内存控制器直接挂接在CPU上。
HT总线的传输位宽为32bit,传输规格有:
这里写图片描述
以2.6GHZ为例,总线传输带宽为:2.6G x 2(ddr方式) x 32bit/8 x 2(双方向) x 8/10(8b/10b编码) = 41.6G x 0.8 = 33.2GB/s

3、南北桥之间的总线

1、DMI: 桌面级主板南北桥之前通过DMI总线进行连接,DMI总线提供2GB/s的带宽。大概就是一个PCIE x4总线速率。

2、ESI: (Enterprise Southbridge Interface)企业级南北桥接口。
从各方面看都和桌面芯片组的DMI总线差不多,都是2GB/s的双向链接带宽,内部都一样基于PCI-E技术(加入了一些新的指令),不同的地方在于,ESI总线可以并入最多两个PCI-E x4总线用来扩展带宽。

4、内存总线

1、DDR/DDR2/DDR3:

  • DDR 266,运行频率为133MHz,带宽为133*2*64/8=2.1GB/s
  • DDR 333,运行频率为166MHz,带宽为166*2*64/8=2.7GB/s
  • DDR2 533,运行频率为133MHz,带宽为133*4*64/8=4.2GB/s
  • DDR2 667,运行频率为166MHz,带宽为166*4*64/8=5.3GB/s
  • DDR3 1066,运行频率为133MHz,带宽为133*8*64/8=8.5GB/s
  • DDR3 1333,运行频率为166MHz,带宽为166*8*64/8=10.6GB/s

2、多通道:

  • 多通道是指有多个内存控制器,总带宽 = 单个内存控制器的带宽 x N。

3、FB-DIMM:(Fully Buffered-DIMM)全缓冲内存模组。

最主要的思想是把内存条和CPU之间的走线从并行转换成了串行,内存芯片还是使用DDR一样的内存芯片,在内存条上增加了一个控制芯片来实现串并转换。好处是大幅度减少了内存走线的数量和难度,内存控制器可以做的更多,DIMM槽也可以做的更多。
但是内存带宽的计算方法还是和普通ddr一样的,虽然串行速率比较高,但是实际还是约束于内存芯片的速率。

5、PCIE总线

1、PCIE 1.0

  • 基本传输速率 2.5Gbps
  • x1 带宽: 2.5G x 1(x1) x 2(双方向) x 8/10(8b/10b编码) / 8 = 0.5GB/s
  • x2 带宽: 2.5G x 2(x1) x 2(双方向) x 8/10(8b/10b编码) / 8 = 1.0GB/s
  • x4 带宽: 2.5G x 4(x1) x 2(双方向) x 8/10(8b/10b编码) / 8 = 2.0GB/s
  • x8 带宽: 2.5G x 8(x1) x 2(双方向) x 8/10(8b/10b编码) / 8 = 4.0GB/s

2、PCIE 2.0

  • 基本传输速率 5.0Gbps
  • x1 带宽: 5.0G x 1(x1) x 2(双方向) x 8/10(8b/10b编码) / 8 = 1.0GB/s
  • x2 带宽: 5.0G x 2(x1) x 2(双方向) x 8/10(8b/10b编码) / 8 = 2.0GB/s
  • x4 带宽: 5.0G x 4(x1) x 2(双方向) x 8/10(8b/10b编码) / 8 = 4.0GB/s
  • x8 带宽: 5.0G x 8(x1) x 2(双方向) x 8/10(8b/10b编码) / 8 = 8.0GB/s

6、实例:

1、某x86系统 带宽计算:
这里写图片描述

  • DDR带宽:1066M/1333M * 64/8 * 3(通道) = 25.5/31.9 GB/s
  • QPI带宽:6.4G x 20bit/8 x 2(双方向) x 8/10(8b/10b编码) = 25.6GB/s
  • 北桥和前插板FPGA1之间的带宽:2个2.0 pcie x4通道 + 1个1.0 pcie x4通道 = 4Gx2 + 2G = 10GB/s
  • 北桥和后插板FPGA之间的带宽:2个2.0 pcie x4通道 + 1个1.0 pcie x4通道 = 4Gx2 + 2G = 10GB/s
  • 前插板FPGA连接的Fabric通道带宽:4个rxaui相当于8个 6.25G serdes接口 = 6.25G x 8(x1) x 2(双方向) x 8/10(8b/10b编码) / 8 = 10GB/s
  • 前插板FPGA连接的Update通道带宽:4个1.25G serdes = 1.25G x 4(x4) x 2(双方向) x 8/10(8b/10b编码) / 8 = 1.0GB/s
  • 前后插板FPGA之间的带宽:自定义6.25G serdes x8 = 6.25G x 8(x1) x 2(双方向) x 8/10(8b/10b编码) / 8 = 10GB/s
原创粉丝点击