我们都对个人电脑的 CPU 有不少的了解,但对服务器 CPU 没有亲眼见过。所以总会有人会发生疑问,把我自己的 PC 作业电脑上的 CPU 拔下来插到服务器上行不可。

  答案当然是否定的。服务器 CPU 和个人电脑中的 CPU 存在许多不同。今日我用一篇文章给我们总结下,服务器 CPU 和个人台式机电脑 CPU 之间都存在哪些的不同。

  阐明:Intel 官方的文档顶用 server 来指代服务器 CPU,会用 client 来指代个人台式机电脑中运用的 CPU。

  图中的 Gen11 Graphics 便是在 CPU 硬件内部集成的显卡,能够彻底满意日常作业时根本的图形图像显现功用。而服务器的 CPU 都是没这个模块的。

  而服务器为了应对海量的核算,要规划更多的物理核进来。下图是 2015 年发布的 Broadwell 代际,型号为 E7-8890 的服务器 CPU。其内部没有集成显卡,可是却放进去了 24 个物理中心。

  ECC 内存(Error-Correcting Code memory)是一种具有纠错才能的核算机内存。与一般的非 ECC 内存比较,ECC 内存包含了额定的纠错码信息,能够检测和修正内存中的过错数据位。

  上图中第一条内存是一般个人台式机内存,总共有 8 个黑色颗粒。而第二条内存是 ECC 内存,它有 9 个黑色颗粒,比一般内存多了一个。飞哥后边会在「开发内功修炼」大众号中独自再写一篇文章介绍 ECC 内存的作业原理。

  服务器中全系都是支撑 ECC 内存的。而个人台式机绝大部分都不支撑,只要最近单个新 client CPU 开端支撑 ECC。

  别的便是内存条的数量。client CPU 一般只支撑 2 - 4 条内存。而服务器单 CPU 则能支撑到 8 - 12 个内存条。总体上最大支撑 1 TiB,乃至是 2 TiB 的大内存。

  而服务器 CPU 为了更大程度地在单服务器内增加算力,还在芯片内规划了 QPI/UPI 模块,用来支撑多 CPU 之间的互联。

  现在干流的服务器,至少都是选用的双物理 CPU 的规划,当需求拜访对方直连的内存时,经过 UPI 总线来进行跨 CPU 内存通讯。

  最高端的铂金 Xeon Platinum 有 3 条 UPI 总线,最多能支撑八个物理 CPU 互联。换句话说,就应该在一台服务器中最多能装下八个 CPU。

  而个人电脑 CPU 为了寻求高性能和更好的游戏体会,而不太关怀稳定性,所以出厂的主频设置的会比较高。

  总归,个人电脑 CPU 与服务器 CPU 有着很大的差异,是彻底不能够混用的。最后来张服务器机箱的内部图,来直观感触下服务器上 CPU 和 内存条的数量。