内存相关知识,为何存在诸多误解?

1个回答

写回答

加一甜甜圈

2026-01-25 04:48

+ 关注

大众
大众

网络上不少孩子有望文生义的毛病,我能理解,我初中看科普杂志时也这样。但你们要知道,你们看到的文字、科普文章并非全部知识,面向大众的知识类文字是删减版的。真正完整的硬件知识在厂家的Datasheet(数据手册)和技术白皮书里,只是篇幅太长,才没展示给你们看。内存和固态硬盘都属于异步传输设备,非程序员出身的人,对异步这个概念没有本能的认识。他们觉得:内存比CPU慢1倍,最多慢5倍,只要给CPU降频,内存就能和CPU差不多快了。这种想法是把CPU、内存、控制器想象成刚性同步锁相的数字电路连接起来了。实际上,在这种理解下被认为速度能跟上CPU频率的东西,在计算机科学术语里叫寄存器,只有寄存器才与CPU核心同步、同频、同周期运行。内存频率就好比燃油车的发动机转速。转速和车的时速有一定关联,可你也能原地让发动机3000转轰油门,而时速为0,车静止不动。懂了吧?不是发动机转速越快,车就必然越快,因为从内存(类似发动机输出轴)到CPU(类似驱动轮),中间还串着变速箱(Gear1/Gear2/RingBus/FCLK)和离合器(CPU内存控制器IMC)。

要是程序猿的话,肯定晓得如今Intel和AMD的CPU执行一条计算指令,单核用时不到1纳秒,其计算速度可谓快如电光石火。而DDR4/DDR5内存的读写响应速度在60 - 110纳秒,CPU比内存大概要快60 - 100倍,哪怕用最简单的Python程序也能算出这个结果。

DDR2、DDR3、DDR4、DDR5内存频率存在虚标情况。内存频率分为:内存数据传输频率中的MT/s,就是我们常说的6400、7200、8000这类内存频率。DDR内存的内存IO频率是数据传输频率的二分之一。内存颗粒内部频率方面,DDR5内存是内存IO频率的十六分之一,通常处于133MHz(4800MT/s)到200MHz(6400MT/s)之间,超频条颗粒能达300MHz;而DDR3和DDR4内存则为内存IO频率的八分之一。内存控制器IMC频率通常处于3.2G至4.3G之间。内存控制器总线频率固定于1900 - 2300MHz。DDR5内存接口频率为标称的一半,像6400的实频是3200。通常来讲,题主似乎理解到这一步了,可实际并非如此,因为内存颗粒速度没那么快,这涉及DDR内存关键技术。预取:Prefetch。DRAM内部存储单元核心频率提升困难且成本高,于是引入prefetch(预取)来确保数据传输速率增长。它实质为并串转换,以并行方式提前获取数据后串行输出,进而提高数据传输速率。

硬盘
硬盘

DDR5采用16 - bit prefetch或者16 - n prefetch(n为芯片位宽),这使得实际数据传输速率达到IO时钟频率的16倍。例如,传输频率(MT/s)为6400的DDR5内存芯片,其真实频率(Internal Clock)是200MHz。DDR内存的真实频率和PCIe类似,在近20年借助各种倍频调制技术发展的情况下,依然处于133MHz - 300MHz范围(像EXPO/XMP超频时),且最近15年都保持在这个范围,未曾改变。

当内存IO频率处于2200频率以下时,内存IO Clock频率与内存IMC同频,这被懂行的人称为Gear1。例如6400内存的实际频率为3200,8000的实际频率为4000。而当CPU内存IMC分频为1:2时,运行在1600 - 2000,也就是四分之一频率,懂行的人称为Gear2。未来堆叠Rank内存上市后,会以四分之一到八分之一标注频率运行。然而,内存条与CPU连接的系统拓扑结构并不简单。实际上,CPU到内存的通路是分段式的,在内存IMC(集成内存控制器)与CPU计算单元之间还存在一层总线,Intel的叫RingBus(酷睿系列为IU),至强系列叫Mesh Bus,AMD各种龙系列则是HT总线,该总线频率被称为Ring频率或者FCLK频率。目前,Intel的RingBus频率在4.3G到4.6G之间,这个频率等同于小核频率,超Intel小核也就相当于超RingBus总线,因为要是CPU小核频率低于此频率,也会同步降频至CPU频率。AMD的FCLK目前最高运行在2200MHz到2350MHz。

举报有用(0分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号