我在某处读到了为了找到ram的实际延迟,你可以使用以下规则:
1 /((RAMspeed / 2)/ 1000)x CL =真实延迟,以纳秒为单位即对于具有400Mhz时钟速度的DDR1来说,逻辑上是……
好的,我找到了答案。
每当制造商提高内存时钟速度时,他们就会在一个时间内完成 的 恒定速率 强> 永远 是FSB时钟速度的两倍(2倍) 。即
MEM CLK FSB ------------------- DDR200 100 MHz DDR266 133 MHz DDR333 166 MHz DDR400 200 MHz DDR2-400 200 MHz DDR2-533 266 MHz DDR2-667 333 MHz DDR2-800 400 MHz DDR2-1066 533 MHz DDR3-800 400 MHz DDR3-1066 533 MHz DDR3-1333 666 MHz DDR3-1600 800 MHz
因此,内存模块始终具有FSB的双倍速度。
的 CAS延迟在内存总线时钟周期中。这始终是每秒传输次数的一半 强> 。例如DDR3-1600的内存时钟为800MHz,每秒传输1600M(在突发传输期间)。
DDR2,DDR3和DDR4仍然使用双泵64位存储器总线(在时钟信号的上升沿和下降沿传输数据),而不是四泵浦。这就是他们仍被召唤的原因 双倍数据速率(DDR)SDRAM 。
的 FSB速度与它无关 强> 。
在没有集成内存控制器的旧CPU上,即实际上的系统 有 FSB,其频率通常可以与内存速度分开配置(在BIOS中)。看到 前端总线和RAM速度 ;在更老的系统上,FSB和内存时钟是同步的。
通常,系统设计具有足够快的FSB以跟上存储器控制器。以与内存相同的时钟速度运行FSB可以通过避免时钟域之间的缓冲来减少延迟。
是的, 的 以秒为单位的CAS延迟是 cycle_count / frequency 强> ,或更像你的公式 1000ns/us * CL / RAMspeed * 2 transfers/clock ,其中RAMspeed是每秒超级传输。
cycle_count / frequency
1000ns/us * CL / RAMspeed * 2 transfers/clock
较高内存频率下较高的CL数通常会达到类似的绝对延迟(以秒为单位)。换句话说,现代RAM具有更高的CAS延迟时序数,因为在相同的时间内发生更多的时钟周期。
带宽已经大大改善,而延迟几乎保持不变, 根据Crucial的这些图表 这解释了CL与频率的关系。
当然 的 这不是“内存延迟”,也不是“真正的”内存延迟 强> 。
这是DRAM本身的CAS延迟,是内存控制器和DRAM之间延迟的最重要因素,但是 的 只是CPU核心和内存之间延迟的一部分 强> 。核心和非核心(L3和内存控制器)之间的CPU内部存在不可忽略的延迟。 Uncore是英特尔的术语; IDK是AMD在各种微体系结构中称为内存层次结构的部分。
由于连接所有内核的大型环形总线,特别是多核Xeon CPU对L3 /内存控制器具有显着的延迟。与具有相同内存和CPU时钟频率的类似双核或四核相比,多核Xeon的L3和内存延迟更差。
这种额外的延迟实际上将大型Xeon上的单线程/单核带宽限制为比笔记本电脑CPU更差,因为单个核心无法保留足够的请求以填充具有这么多延迟的内存管道。 为什么Skylake比Broadwell-E在单线程内存吞吐量方面要好得多? 。