为何说 No 沙 No Die ?

我们经常会谈到CPU,比如 intel 家的酷睿Core,志强Xeon;AMD 家的 Ryzen 锐龙等等。

CPU 很强大,也很神秘,就像我们的大脑一样。

你是否曾在心底猜想过CPU到底是如何制造的?

你又是否听说过CPU里面的Die呢?

如果答案是否,那也没关系,因为本文将会对以上两个问题进行简要解答。

那么,Are you ready ?

咱们开始。

聚沙成芯

一切都源于沙子。

沙子渺小,便宜,且储量丰富,但别看沙子很不起眼,其作用却不可忽视。

因为有了沙子,才有了高楼大厦。因为有了沙子,才有了现代计算机,才有了如今这个互联网时代,AI时代。如果把沙子比作现代计算机科学大厦的基石,丝毫都不为过!

不过话说,沙子和计算机到底有啥关系呢?

沙子中含有大量的二氧化硅,将其融化、提纯后,便可以得到纯度极高的单晶硅。将单晶硅液化,通过高温容器旋转拉伸,便可得到圆柱形的硅锭。切割机再将硅锭切成薄片,便可得到晶圆,而晶圆便是制造CPU的“原材料”。

相信大家一定都听说过台积电吧,它就是以先进制程进行晶圆加工的著名厂商,很多CPU厂商、手机厂商都会找其代工。目前台积电旗下3nm制程已于2023年开始量产,后续2nm制程的技术研发也在有序进行着,相信将不久投入生产。

现在,我们得到晶圆,但这还只是一个开始。

后面的操作才是真正的难!!!需要极其先进的技术才能 Hold 得住!

这也是为什么目前世界上只有屈指可数的几家公司具备晶圆加工能力的原因。

拿到合格的晶圆后,CPU厂商需要在晶圆上经过各种复杂操作,如电镀、抹光刻胶、光刻机蚀刻等等。

经过以上复杂的步骤后,晶圆基本成型,质量检测(也就是良品检测)通过后,晶圆便可切割,得到本文的主角—— Die 啦!

什么是Die

注意,这里的 Die 并不是动词属性的死亡,而是指名词属性的 金属模具,压模。

具体来讲,便是从晶圆(Wafer) 上切割下来的一个个小方块。

CPU厂商通常会将1个或多个CPU Die 封装起来形成一个大的 CPU Package。Die 的尺寸越大,良品率越低,价格越贵,比如 Intel的Xeon就是将一个CPU实现在单个Die上。

所以,为了降低成本,以及提高晶圆的利用率,CPU厂商通常会逐渐减小 Die 的尺寸,但也并非绝对。

Intel 最新发布的 Ultra 系列 CPU 提出了 tile 的概念,即可以将一个芯片划分成几个tile,每个tie负责不同的功能。

比如Graphics tile负责显卡相关的功能,IO tile负责外围IO功能,Compute tile则负责计算功能等。基于tile的设计有一个好处,那就是可以降低成本。为了提高CPU的性能,CPU厂商往往是采用更小的制程,从而实现在相同面积的Die里面存放更多的晶体管。这对于单个Die而言,则成本较高,比如Xeon。

引入tile设计理念后,针对某些对制程要求不高的功能模块,如IO等,则可以采用较大、更成熟的制程,如6nm,从而降低成本,而其它如Soc, Compute则可采用更先进的4nm,或者更低3nm、2nm的制程来提升性能。

另外,Intel 的tile设计类似于AMD的chiplet,具体细节本文不再展开介绍。

继续讲咱们的Die。

一个Die里面往往包含多个内核Core。Die内部的各个组件则是通过片内总线实现互联,资源更多,速度也更快。

多于多Die Package,Die与Die之间则通过片外总线互联,即Die-to-Die设计,互联的方式有2D,也有3D, 感兴趣的读者可以去参阅相关资料。

单个Die上的内核可以实现缓存共享,比如某些Xeon志强处理器采用单个Die设计,Die内的所有Core都可以共享LLC(Last Level Cache) 。LLC也叫做第三级Cache,简称L3。不同Die之间的内核则不共享CPU的L3缓存。

对于Die呢,在咱们的UEFI里面也是有实现的。

///
///  Structure that defines the 6-level physical location of the processor
///
typedef struct {
  ///
  ///    Package     Zero-based physical package number that identifies the cartridge of the processor.
  ///
  UINT32    Package;
  ///
  ///    Module      Zero-based physical module number within package of the processor.
  ///
  UINT32    Module;
  ///
  ///    Tile        Zero-based physical tile number within module of the processor.
  ///
  UINT32    Tile;
  ///
  ///    Die         Zero-based physical die number within tile of the processor.
  ///
  UINT32    Die;
  ///
  ///     Core        Zero-based physical core number within die of the processor.
  ///
  UINT32    Core;
  ///
  ///     Thread      Zero-based logical thread number within core of the processor.
  ///
  UINT32    Thread;
} EFI_CPU_PHYSICAL_LOCATION2;

可以看到,CPU 里面包括几大层次,依次为 Package、Module、Tile、 Die、Core、Thread。前者包含后者,越到后面,颗粒度越小

为啥还有 Module 呢?笔者暂时也还没深入了解,大概是几个Tile组成一个Module吧。

其实不必深究,这里只是让读者有一个简单的认识: 知道CPU里面确实有Tile和Die的设计

以上就是本文的全部内容,你学会了吗?

  • 22
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rob月初

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值