gpt4 book ai didi

cpu-architecture - 典型的 DRAM 行缓冲区大小是多少?如何找到它?

转载 作者:行者123 更新时间:2023-12-03 08:27:15 24 4
gpt4 key购买 nike

如何以编程方式或使用 *nix 系统中现有的工具来查找 DRAM 行缓冲区大小?

最佳答案

作为示例,使用金士顿 DDR4,我执行了以下命令(您可能需要安装一些软件包):

  sudo modprobe eeprom
decode-dimms

这些命令以及众多信息为我提供了 DDR 棒的特性:

---=== Memory Characteristics ===---
Maximum module speed 2132 MHz (PC4-17000)
Size 16384 MB
Banks x Rows x Columns x Bits 16 x 16 x 10 x 64
SDRAM Device Width 8 bits
Ranks 2
Rank Mix Symmetrical
AA-RCD-RP-RAS (cycles) 14-14-14-35
Supported CAS Latencies 16T, 15T, 14T, 13T, 12T, 11T, 9T

行和列实际上是地址位数(您可以在https://fossies.org/linux/i2c-tools/eeprom/decode-dimms处检查decode-dimms源,并在查看DDR4 SPD信息时了解代码在做什么:https://en.wikipedia.org/wiki/Serial_presence_detect#DDR4_SDRAM)

因此,如果我们有 10 个列位,则有 1024 列 (2^10),其中每列由模块宽度组成(根据上面的数据为 64,表示为“位”)。由于我们还可以看到 SDRAM 设备宽度为 8x,因此我们可以推断 DIMM 锁步 8 个 SDRAM 芯片(您在 DRAM 棒中看到的那些黑框)以获得 64 位的总宽度。

因此,我的 DDR4 中的行缓冲区大小为 64 位 * 1024 列 = 65536 位宽(8192 字节)。 DDR3和DDR4中的行缓冲区大小大多是这个长度,但HMC和HBM等新架构具有不同的大小。

因此,在一个简短的命令行中,以位为单位返回(只需除以 8 即可获取字节):解码dimms | grep "列 x 位"| awk -F 'x' '{print (2^$(NF-1))*$NF}

PS:请注意,这可处理单个 DIMM。如果您有多个 DIMM,decode-dimm 可能会返回多个模块的信息。

关于cpu-architecture - 典型的 DRAM 行缓冲区大小是多少?如何找到它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66240032/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com