跳至主要內容

Hardware

LincZero大约 2 分钟

Hardware

目录

杂记(未整理)

https://jingyan.baidu.com/article/335530daf0c53319ca41c35a.html

1个机器周期 = 6个状态周期 = 12个振荡周期(即时钟周期)


  • 硬件参考: AMD R7 8核16线程 4Ghz = 410^9hz 内存 3600MHz = 3.610^9hz

  • 内存接口参考: PCI-E 3.0 x4:4GB/s PCI-E 4.0 x1:4~5GB/s PCI-E 4.0 x16:64GB/s

3b8fb4d7726b0ce21a3a6bbbef781423bfb9b671
3b8fb4d7726b0ce21a3a6bbbef781423bfb9b671
  • 内存频率与传输量关系参考: 带宽=内存时钟频率内存总线位数倍增系数÷8带宽=内存时钟频率*内存总线位*数倍增系数\div8

  • 计算: (3.2109)642/(8109)=3.2642/8=51.2GBps(3.2 *10^9)*64*2/(8*10^9)=3.2*64*2/8=51.2GBps

    (3.6109)642/(8109)=3.6642/8=57.6GBps(3.6*10^9)*64*2/(8*10^9)=3.6*64*2/8=57.6GBps

  • 多级缓存

    • 一级缓存:2TBbps
    • 二级缓存:1TBbps
    • 三级缓存:0.6TBps
image-20201123135326700
image-20201123135326700

内存带宽计算

内存带宽计算公式:带宽=内存时钟频率内存总线位数倍增系数÷8带宽=内存时钟频率*内存总线位*数倍增系数\div8

以DDR400内存为例,它的运行频率为200MHz,数据总线位数为64bit,由于上升沿和下降沿都传输数据,因此倍增系数为2 此时带宽为:200×64×2/8=3.2GB/s(如果是两条内存组成的双通道,那带宽则为6.4 GB/s)

很明显,在现有技术水准下,运行频率很难成倍提升,此时数据总线位数与倍增系数是技术突破点

单通道内存节制器一般都是64-bit的,8个二进制位相当于1个字节,换算成字节是64/8=8,再乘以内存的运行频率,如果是DDR内存就要再乘以2,因为它是以SD内存双倍的速度传输数据的,所以:

  • DDR266,运行频率为133MHz,带宽为133×2×64/8 = 2.1GBps (PC2100)
  • DDR333,运行频率为166MHz,带宽为166×2×64/8 = 2.7GBps (PC2700)
  • DDR400,运行频率为200MHz,带宽为200×2×64/8 = 3.2GBps (PC3200)

所谓双通道DDR,就是芯片组可以在两个不同的数据通道上分离寻址、读取数据。这两个相互独立工作的内存通道是依靠于两个独立并行工作的、位宽为64-bit的内存节制器下,因此使普通的DDR内存可以到达128-bit的位宽,因此,内存带宽是单通道的两倍,因此:

  • 双通道DDR266的带宽为133×2×64/8×2 = 4.2GBps
  • 双通道DDR333的带宽为166×2×64/8×2 = 5.4GBps
  • 双通道DDR400的带宽为200×2×64/8×2 = 6.4GBps