Luv Letter,日常飞纸 阅读原文 先回顾下基础。 首先, 一台设备的内存容量, 取决于: CPU/ 北桥数量 CPU/ 北桥对应的内存控制器数量 每个内存控制器的通道数量 每个通道下允许的 DIMM 数量 DIMM 下的 Rank 数量 每个 Rank 下的 chip 数量 Chip 下的 Bank 数量 Bank 内的 Row Column 数量 因此, 除了三通道之外, 理论上一条通道上三条内存, 或者一条通道上一条 2R 一条 1R 的同颗粒内存, 外加非对称通道的情况, 都可以整出非二次幂的容量。 这点看看内存厂商提供了多少 48/96gb 颗粒就知道了, 前者就是单颗 6GB, 后者是 12GB。 从 A12X 开始回顾. 由于内存频率不断提升, 对走线和散热的要求其实是在不断提高的. 如果 SoC 要跨过主板访问内存颗粒, 显然对内存控制器里的 PHY、封装基板还有 PCB 基板的要求都是不断提高的。 这就是为啥 Steam Deck 还有 Intel 12 代 CPU 上不了 LPDDR5 的满血 6400 频率. 其中 ADL 很多人都知道, 如果是普通 PCB 只能支持 5500, 最好的 HDI PCB 才支持 6000 频率。 iPad Pro 当初在 LPDDR4X 时代也遇到这个问题, 因为芯片发热量大了, 而且需要 128bit 宽度, PoP 封装做不了; 而且选择高端 PCB 下外联的方式会增加 PCB 的成本、降低生产良率, 进一步降低元器件密度。 因此到了 A12X, 苹果选择把 LPDDR 颗粒和 SoC 一起封装。 这种封装方式这其实和统一内存不是一个概念, 更不能显着突破原来内存颗粒的延迟和带宽上限; 只是相对来说更省钱、能跑更好的时序, 也能兼顾散热。 毕竟 M1 芯片面积还是大了很多, 又要满足 macOS 较大的内存需求, 而且封装体积还要继续能上 iPad Pro 平台。 因此 M1 的内存颗粒密度可以说显着提升。 那本来 LPDDR4 很多桌面机器的 32GB 都是靠着四颗 32bit 位宽 8GB 颗粒做到的, 手机 12GB PoP 内存用的是 64bit 位宽 12GB; 苹果要做 2x64bit 宽度, 面积还要比原来小, 容量还要突破原来的 6GB, 只能说顶着当时颗粒的密度上限走, 那自然被卡在了 16GB。 到了 M2 时代, LPDDR5 有了更高密度的 DRAM 工艺, 自然能做到更大容量, 只不过在这么小的面积下, 做到 32GB 仍然有一定困难。 进一步说, 还是产品定位问题。 一方面 M2 说到底和 M1 Pro|Max 类似, 本质上属于 M1.5 而非 M1 的彻底换代。 另外一方面 M2 还是用在 MacBook Air 和 13 寸 MBP 上, 这些设备并不是准备像 MBP14/16 那样干超级重的活, 加上 macOS 的 ZRAM(内存压缩)/SWAP(内存页面交换) 策略允许比较激进, 且 M1/M2 能承受比较高的交换 / 压缩率, 自然不会在更大的容量上做文章, 甚至同代提供的内存容量就比 Windows 机型少。 阅读原文