我想找出真实的 RAM 时序。该棒的频率为 2400Mhz,但该 CPU 上的内存时钟限制为 2133MHz。我可以通过以下方式确认:
$ sudo dmidecode
...
Handle 0x0004, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x0003
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 8192 MB
Form Factor: SODIMM
Set: None
Locator: ChannelA-DIMM0
Bank Locator: BANK 0
Type: DDR4
Type Detail: Synchronous Unbuffered (Unregistered)
Speed: 2133 MT/s
Manufacturer: Samsung
Asset Tag: None
Part Number: M471A1K43BB1-CRC
Rank: 1
Configured Memory Speed: 2133 MT/s
...
检查当前的内存时序:
$ decode-dimms
# decode-dimms version $Revision$
Memory Serial Presence Detect Decoder
By Philip Edelbrock, Christian Zuckschwerdt, Burkart Lingner,
Jean Delvare, Trent Piepho and others
Decoding EEPROM: /sys/bus/i2c/drivers/ee1004/0-0050
Guessing DIMM is in bank 1
---=== SPD EEPROM Information ===---
EEPROM CRC of bytes 0-125 OK (0xFE3E)
# of bytes written to SDRAM EEPROM 384
Total number of bytes in EEPROM 512
Fundamental Memory type DDR4 SDRAM
SPD Revision 1.1
Module Type SO-DIMM
EEPROM CRC of bytes 128-253 OK (0x55EF)
---=== Memory Characteristics ===---
Maximum module speed 2400 MHz (PC4-19200)
Size 8192 MB
Banks x Rows x Columns x Bits 16 x 16 x 10 x 64
SDRAM Device Width 8 bits
Ranks 1
AA-RCD-RP-RAS (cycles) 17-17-17-39
Supported CAS Latencies 18T, 17T, 16T, 15T, 14T, 13T, 12T, 11T, 10T
---=== Timings at Standard Speeds ===---
AA-RCD-RP-RAS (cycles) as DDR4-2400 17-17-17-39
AA-RCD-RP-RAS (cycles) as DDR4-2133 15-15-15-35
AA-RCD-RP-RAS (cycles) as DDR4-1866 13-13-13-30
AA-RCD-RP-RAS (cycles) as DDR4-1600 11-11-11-26
---=== Timing Parameters ===---
Minimum Cycle Time (tCKmin) 0.833 ns
Maximum Cycle Time (tCKmax) 1.600 ns
Minimum CAS Latency Time (tAA) 13.750 ns
Minimum RAS to CAS Delay (tRCD) 13.750 ns
Minimum Row Precharge Delay (tRP) 13.750 ns
Minimum Active to Precharge Delay (tRAS) 32.000 ns
Minimum Active to Auto-Refresh Delay (tRC) 45.750 ns
Minimum Recovery Delay (tRFC1) 350.000 ns
Minimum Recovery Delay (tRFC2) 260.000 ns
Minimum Recovery Delay (tRFC4) 160.000 ns
Minimum Four Activate Window Delay (tFAW) 21.000 ns
Minimum Row Active to Row Active Delay (tRRD_S) 3.300 ns
Minimum Row Active to Row Active Delay (tRRD_L) 4.900 ns
Minimum CAS to CAS Delay (tCCD_L) 5.000 ns
Minimum Write Recovery Time (tWR) 15.000 ns
Minimum Write to Read Time (tWTR_S) 2.500 ns
Minimum Write to Read Time (tWTR_L) 7.500 ns
这是什么意思?时钟确实是 2133,我明白了,但是现在的时间是多少? 17-17-17-39? 13-13-13-32?这些都不符合 的“标准计时” AA-RCD-RP-RAS (cycles) as DDR4-2133 15-15-15-35
。这是为什么?
答案1
由decode-dimms 读取的串行存在检测(SPD) 包含有关模块的一般物理特性的信息,但不包含其当前操作模式的信息。要检查当前的频率配置,请访问 BIOS 并检查 DRAM 频率的配置。
根据其频率,列出的延迟将根据“tCK”进行设置,即 DRAM 内部使用的周期(与 DIMM 列出的总线频率不同!)。作为示例,我们以 tAA 延迟 13.750ns 为例。就“内部周期”而言,tAA 的最短时间为 13.750ns/0.833ns = 16.5 个周期(0.833ns 是 TCKmin,即器件的最小周期时间);但不存在半个周期这样的东西,因此我们必须将 AA 安全地设置为 17 个周期。
如果我们的内存频率被称为 2400 Mhz,我们必须首先忽略“双倍数据速率”,因为它只对总线传输有利,而仅考虑总线的“周期”(周期时间)为 1/1200Mhz(一半) 2400) = 0.833ns(即 tCKmin!)。如果我们将内存频率设置得较低,则会增加内部周期的周期。例如,如果我们使用2133 Mhz,则计算结果为13.750ns / 0.937ns = 14.67~,因此我们将AA设置为15个周期。在 DDR 1866 下,13.750ns / 1.071ns = 12.82,因此我们将 AA 设置为 13 个周期。在 DDR 1600 下,13.750ns / 1.25ns = 11,因此我们将 AA 设置为 11 个周期。
这些正是时序标准速度中显示的 tAA 时序,表示为设备的“周期”。您也可以在其他时间重复此练习。