计算机系统中,1MB存储容量很大,而且也很贵,要理解 1MB 有多大和多贵,最直观的方式就是计算它在芯片上占用的物理面积。
咱们用当今最先进的工艺之一,台积电的 5 纳米(nm)工艺节点来算一笔账。
根据公开的行业研究数据,在 5nm 工艺下,一个高密度静态随机存取存储器(SRAM)的存储单元(bit cell),也就是存储 1 比特(bit)数据的最小单位,其面积大约是 0.021 平方微米(?m?)。这是经过极致优化的尖端技术成果。
现在我们来计算 1MB SRAM 的总面积:
首先,换算单位:
1 Byte = 8 bits
1 Kilobyte (KB) = 1024 Bytes
1 Megabyte (MB) = 1024 KB
所以,1MB 包含的比特数是: 1×1024×1024×8=8,388,608 bits
那么,1MB SRAM 的总面积就是: 8,388,608 bits×0.021 ?m?/bit≈176,161 ?m?
这个数字可能没啥概念,我们换算成更熟悉的平方毫米(mm?): 176,161 ?m?=0.176 mm?
0.176 mm?,这到底有多大?
让我们找个参照物——CPU 的“大脑”,也就是计算核心(Core)。
以 AMD Zen 3 架构的一颗高性能核心为例,它的面积大约是 3.24 mm? 。
简单一除,我们就能得出一个惊人的结论:仅仅 1MB 的 SRAM,就占掉了一颗 Zen 3 高性能核心大约 5.4% 的面积。
这还只是SRAM的存储部分,实际使用还包括ECC,BIST,控制器等外围功能和部件,面积会更大。
但是,也会会更贵,
通过上面CPU的图可以看到,仅仅是512K(指令)+512K(数据)的CACHE的面积+控制逻辑在内,基本上占了一个CPU core的20%;
我们再看看最新的实际产品。
以一颗 AMD Zen 5 的 8 核 Core Complex Die (CCD) 为例,也就是把 8 个核心和 L3 缓存封装在一起的那个小芯片。它采用了先进的 4nm 工艺,总面积约为 70.6 mm?,其中包含了 32MB 的 L3 缓存 。
L3 cache的面积接近占了约25%的面积,包括(SRAM,控制器,以及内部总线和互联)
换句话说,在你的 CPU 里,那个用来存放临时数据的 L3 缓存区域,比2-3个负责全部计算任务的核心本身还要“占地方”。
这下你明白,为啥缓存那么“金贵”了吧?
更要命的是,我们正面临一个“SRAM 缩放危机”。
随着芯片工艺从 7nm 到 5nm 再到 3nm 不断进步,逻辑电路(CPU 核心里的计算单元)的晶体管可以按预期不断缩小,但 SRAM 单元的缩小速度却远远跟不上了 。
比如台积电的 N3E 工艺,其 SRAM 单元面积和上一代 N5 工艺几乎完全一样,都是 0.021 ?m? 。
这意味着,每一代新工艺发布,SRAM 在整个芯片面积中的占比反而会越来越大。
这给芯片设计师带来了巨大的麻烦:是把宝贵的晶体管预算花在更强的计算核心上,还是花在更大的缓存上来“喂饱”这些核心?
这是一个极其痛苦的权衡。
这也解释了为什么业界会拼命研发像 3D V-Cache(把缓存垂直叠起来)这样的激进技术,因为在平面上继续扩大缓存面积,已经变得越来越不划算。
SRAM 之所以如此“占地”,根源在于它存储一个比特数据的基本结构。
标准的 SRAM 单元,被称为“6T 单元”,因为它需要用 6 个晶体管来稳定地存储 1 bit 的信息 。
我们可以把它想象成一个精巧的机械锁存装置。
它的核心是两个“交叉耦合反相器”,由 4 个晶体管构成。
这就像两个人 A 和 B,互相抓着对方的手臂。如果 A 站起来(代表逻辑‘1’),他就会把 B 拉得蹲下去(代表逻辑‘0’);
反之,如果 A 蹲下去,就会把 B 推得站起来。
它们永远处于一个相反的、稳定的状态。
只要有电,这个状态就能一直保持,非常“静态”(Static),所以 SRAM 不需要像 DRAM 那样反复刷新数据 。
另外两个晶体管,则扮演着“门卫”的角色,被称为“访问晶体管”。
它们连接着一根叫“字线”(Word Line)的控制线。
当 CPU 需要读写数据时,就会激活“字线”,两个“门卫”打开大门,允许数据通过两条“位线”(Bit Lines)流入或流出这个存储单元 。
这种 6T 结构天生就又快又稳。
因为数据是“锁”在里面的,一旦“开门”,状态立即可用,所以访问延迟极低,通常在 几个纳秒以内,甚至更低 。
但这种速度和稳定性的代价就是巨大的面积。
这种对速度、稳定性和尺寸的苛刻要求,共同决定了 SRAM 的“豪宅”属性:昂贵、巨大,但性能超群。
因此,它只被用在刀刃上——作为 CPU 内部的 L1、L2、L3 缓存,离计算核心最近,为它提供最快的数据供给 。
既然 SRAM 这么贵,那我们电脑里几十 GB 的主内存是怎么来的?
答案是另一种更经济的方案——动态随机存取存储器(DRAM)。
DRAM 的结构简单到了极致:每个比特只需要一个晶体管和一个电容(1T1C 结构) 。
和 SRAM 的 6 个晶体管相比,这简直是天壤之别。
这也是 DRAM 密度远高于 SRAM,成本远低于 SRAM 的根本原因 。
我们可以用一个简单的比喻来理解 DRAM 的工作原理:
电容:就像一个极小的“水桶”,用来储存电荷(水)。水桶满了,代表逻辑‘1’;水桶是空的,代表逻辑‘0’。
晶体管:就像连接水桶的“水龙头”,控制着数据的流入和流出。
但问题来了:世界上没有不漏水的水桶。
在微观世界里,这个电容“水桶”的电荷会非常快地泄漏掉,通常在几十毫秒内就会流光 。
数据一旦丢失,后果不堪设想。
为了解决这个问题,工程师想出了一个办法:刷新(Refresh)。
系统里有一个专门的电路,叫内存控制器(Memory Controller),它会像一个勤劳的管家,定期检查每一个“水桶”里的水量。
在水漏光之前,把所有水桶重新蓄满(或者抽干),恢复到它们本来的状态。
这个过程就叫 DRAM 刷新 。
你想要极致的速度和稳定性(SRAM),就必须接受高昂的成本和巨大的面积;
你想要海量的容量和低廉的价格(DRAM),就必须忍受较慢的速度和需要刷新的麻烦。
没有任何一种技术是完美的。
正是这种不完美,催生了我们今天计算机里精妙的存储金字塔:用少量、昂贵的 SRAM 做高速缓存,用海量、廉价的 DRAM 做主内存。
回到我们最初的问题:1MB 很大吗?
现在,你应该有了答案。
在芯片的世界里,1MB 从来不是一个单纯的数据容量单位。
它代表着?0.176 mm??的宝贵硅晶圆面积,代表着?8,388,608?个由 6T 晶体管构成的精密锁存器,代表着纳秒级的访问速度,也代表着高昂的制造成本和功耗。
1MB SRAM 的“大”,是物理意义上的大,是经济成本上的大,更是性能价值上的大。
从 SRAM 的“豪华别墅”,到 DRAM 的“经济适用房”,再到为 DRAM 修建的 DDR“高速公路”和 HBM“立体城市”,整个计算机存储体系的演进,就是一部围绕着“速度”与“密度”这对核心矛盾,在物理定律和经济成本的约束下,不断寻找最优解的奋斗历程。
我是歪睿老哥,一个喜欢写作的架构师,著有《芯术:算力驱动架构变革》一书,讲述算力芯片在个人计算,光影计算,人工智能,云计算,移动计算等不同算力场景下,CPU, GPU, NPU, TPU等芯片架构等相爱相杀的发展历程和技术架构。
2875