最近我非常惊讶地发现,现代 CPU 只有大约 20 亿个晶体管,甚至像 GTX 1080 Ti 这样的 GPU 也只有 120 亿个晶体管。另一方面,快速计算表明,256 GB 微型 SD 卡大约有 1 万亿个晶体管(假设每个晶体管有 2 位,MLC NAND),占用的面积与多核 CPU 相同(i7-8700K 的芯片面积为 149 平方毫米,SD 卡大约为 165 平方毫米)。
这对我来说似乎非常不对,但我看不出我遗漏了什么,我知道我的计算可能有错误,因为即使 GTX 1080 Ti 的 11GB VRAM 也应该有超过 120 亿个晶体管,但就像我说的,我不知道我错在哪里。
我不明白我们如何能在相对便宜的电子部件中将更多数量的晶体管放在相同的空间中,但使用高端 CPU 等却要困难得多,而且成本也高得多。此外,考虑到处理器和闪存都是基于类似的工艺尺寸构建的,晶体管密度肯定应该大致相同。有人能帮我解开这个困惑吗?
编辑:我已按要求使问题更加具体。
答案1
处理器中的晶体管数量差异很大。最初的 6502 微处理器有 3.5 到 4.2 千个晶体管,具体取决于确切的零件编号,找到有这么少晶体管的“现代”微控制器并不罕见。最简化的 ARM 芯片大约有 22,000 个晶体管,其他等效 RISC 内核的数量也非常相似,但如果单个内核具有许多功能,则晶体管数量达到数十万并不罕见。最初的 80386 大约有 275,000 个晶体管,类似功率的 CISC 内核通常也差不多。在另一端,8 核 Ryzen 7 1700 大约有 48 亿个晶体管,这有点高,但对于“现代”CPU 来说仍然并不罕见(并且与该示例 CPU 的可能情况非常吻合,该 CPU 有 20 亿个晶体管,有四个内核)。
GTX 1080 Ti 的 120 亿美元报价对我来说听起来还算合理只是GPU 芯片本身,不包括 VRAM 和任何附件芯片。它有方式比现代 CPU 拥有更多的“核心”,但每个“核心”的实现都简单得多,因为它们更加专业化。VRAM 是动态 RAM,这意味着每个位都有一个晶体管(因此 11GB 至少相当于 11 万亿个晶体管)。次级芯片更难量化,因为它们因 OEM 而异,但通常晶体管数量不会太多。
您对 256GB MLC NAND SD 卡的 1 万亿容量的估计在我看来也不算太离谱,但您必须记住:
- SD 卡不是只是除了闪存之外,它们还具有控制器芯片,其复杂程度与 6502 相当,或者最差的外部 ARM 内核。这会增加您的估算,但不会太多。
- MLC NAND 实际上不只是 2 位(有些人这样使用,有些人不这样使用)。如果 SD 卡使用更高的每单元位数(4 位单元确实存在),那么这会大大减少您的位数。
- SD 卡的工作电压、信号频率、功耗和功耗与典型的“现代” CPU 或 GPU 不同。这对芯片的布局方式有很大影响,进而对芯片尺寸有很大影响。