计算机处理器那些事儿

最近在做一个项目,其中也有很多关于处理器硬件相关的知识,其实开始是对这里的知识比较模糊的,很多内容知道却不深入,趁着这次项目机会也查了一些资相关的料整理并分享到这里,文章从两个角度来分享分别为:

  • 购买云服务器前:主流处理器都有哪些、主流处理器产品序列是什么样、处理器的代次是什么样、AMD与Intel CPU的区别 、AMD与ARM区别是什么?
  • 使用云服务器中:如何查看云服务器CPU型号、主频、指令集等 、云服务器是否开启了超线程等

以上的问题本文将逐一解答,因为CPU有很多的系列应用在不同的场景,本文重点介绍服务器应用场景的CPU,同时本文非常适合互联网架构师、产品经理或希望从事云计算背景的人阅读。

购买云服务器前

我们在购买云服务器时,通常会看到以下两个红框内容:

以上截图来在腾讯云云服务器

如果是一个普通玩家真心不必关心处理器型号和厂商,但如果你做一个比较大的项目需要采购大量的服务器,这时就要提前规划好购买服务器的品牌和品牌对应的型号,选择的依据主要还是看性价比,在解决自己业务的同时购买什么品牌与型号是最适合自己的,关于这个话题我们从中央处理器聊起。

中央处理器(Central Processing Unit,简称CPU)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。市场常见的CPU品牌有Intel、AMD、ARM和国产龙芯等,因为笔者主要从事云计算行业,会主要聊一下与与计算处理器相关的内容,在聊之前先从“CPU系列”与“CPU代次”两个维度,来看一下市场常见三家公司品牌的CPU

CPU的系列

Intel

每家CPU按应用场景来分,以Intel为例分为八款。用在服务器上的CPU主要是至强(Xeon)系列。

AMD

AMD的系列要更多一些。其中用于服务器的主要为Epyc(霄龙)系列。

ARM

ARM主打低功耗,它有以下这些种类。

CPU的代次

了解完各主流厂家的CPU,再来看一下CPU的代次,我们主要围绕以下两款用于服务器的CPU代次:

在一个技术性的大会上拍的Intel至强CPU

常见问题

AMD 与Intel CPU区别

AMD(EPYC霄龙)和Intel(至强)的对比。

架构和性能

  • AMD EPYC霄龙:采用AMD的Zen架构,每一代都在性能和能效上有所提升。最新的Zen 5架构处理器,如EPYC Turin,提供了高达192核心和384线程的配置,性能在多种工作负载上超越竞争对手。

  • Intel至强:采用英特尔自家的架构,也在不断迭代中提升性能。最新的Sapphire Rapids采用了多芯片封装技术,支持高达64核心,但在某些基准测试中,AMD的处理器表现更优。

核心数量和缓存

  • AMD EPYC霄龙:提供多种核心数量选项,最高可达192核心和384线程,支持高达384MB的L3高速缓存。
  • Intel至强:同样提供多种核心数量选项,最高可达64核心,但L3缓存大小通常较小。

内存支持和PCIe通道数量

  • AMD EPYC霄龙:支持DDR5内存,最多可达128个PCIe 5.0通道,提供高内存带宽和I/O性能。
  • Intel至强:支持DDR4和DDR5内存,PCIe通道数量根据具体型号有所不同,但通常不如AMD的处理器多。

安全性和功耗

  • AMD EPYC霄龙:内置AMD Infinity Guard安全功能,提供硬件级别的数据保护,支持多种安全特性,如安全加密虚拟化(SEV)和内存加密。
  • Intel至强:也提供安全特性,但具体的安全功能和实现方式可能与AMD有所不同。

市场定位和应用场景

  • AMD EPYC霄龙:主要针对高性能计算、云计算和企业数据中心市场,提供高性能和高能效的解决方案。
  • Intel至强:同样服务于企业级市场,但在某些应用场景下,如高性能计算和云计算,AMD的处理器可能提供更高的性价比。

AMD与ARM区别

公司和架构:

  • AMD:是一家生产x86架构处理器的公司,其产品主要用于桌面电脑、笔记本电脑和服务器市场。AMD的处理器以高性能和多核心设计著称,适用于计算密集型任务和高性能应用。
  • ARM:是一家设计处理器架构并授权给其他公司使用的公司,其架构广泛应用于移动设备、嵌入式系统和消费类电子产品等领域。ARM架构以低功耗和高能效而闻名,适合移动设备和节能需求。

市场定位:

  • AMD:其处理器主要面向桌面、工作站和服务器市场,尤其是在游戏、专业应用和数据中心领域。
  • ARM:其处理器和架构主要用于移动设备(如智能手机和平板电脑)、物联网设备和一些嵌入式系统。

软件生态系统:

  • AMD:由于其x86架构与Intel兼容,因此拥有庞大的软件生态系统,包括广泛的操作系统支持和优化的应用程序。
  • ARM:虽然在移动设备领域拥有丰富的软件资源,但在桌面和服务器市场上的软件生态相对较小。

技术发展:

  • AMD:在x86架构的基础上不断推出新的处理器系列,如Ryzen、EPYC等,提供多线程和多核心的高性能计算解决方案。
  • ARM:不断推出新的架构版本,如ARMv8-A(也称为AArch64),并授权给其他公司如苹果、高通等,用于设计自己的处理器。

使用云服务器中

如何查看云服务器CPU型号、主频、指令集等 、云服务器是否开启了超线程等。

如何查看CPU信息

以下是我在云上买的一台服务器,可以通过“lscpu”命令来查看CPU信息。以下是我购买的一台云服务器执行命令后输出对应的解释。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Architecture: x86_64,表示这是一台基于 x86 架构的 64 位系统。
CPU(s): 2,表示有两个 CPU 核心。
Thread(s) per core: 1,每个核心有一个线程。
Core(s) per socket: 2,每个插槽有两个核心。
NUMA node(s): 1,有一个 NUMA(Non-Uniform Memory Access)节点。
Vendor ID: GenuineIntel,CPU 制造商是 Intel。
CPU family: 6,这是 CPU 家族的标识。
Model: 85,这是 CPU 型号的标识。
Model name: Intel(R) Xeon(R) Platinum 8255C CPU @ 2.50GHz,这是 CPU 的具体型号和主频。
CPU MHz: 2494.140,CPU 的当前运行频率。
BogoMIPS: 4988.28,这是一个性能指标,通常用来估计 CPU 的处理能力。
Virtualization: 完全,表示 CPU 支持完全虚拟化。
L1d cache: 32K,L1 数据缓存大小。
L1i cache: 32K,L1 指令缓存大小。
L2 cache: 4096K,L2 缓存大小。
L3 cache: 36608K,L3 缓存大小。
NUMA node#: 0,1,表示 NUMA 节点 0 包含 CPU 0 和 1。
Flags: 列出了 CPU 支持的各种指令集和特性,例如 SSE、AVX、AVX2、AVX-512、AES 加密、虚拟化支持等。

主频 & 睿频

主频
通常,主频以MHz(兆赫兹)或GHz(吉赫兹)为单位。例如,一个2.4 GHz的CPU意味着它每秒钟可以进行24亿次时钟周期。

睿频
睿频(Intel Turbo Boost Technology,以前称为”智能加速技术”)是英特尔(Intel)开发的一种技术,它允许CPU在需要时自动提高其核心的时钟频率,以提供额外的性能。AMD的处理器有类似的技术,称为Precision Boost。Precision Boost技术允许处理器在不同的工作负载下动态地提高其核心的频率,以提供额外的性能,同时保持在设计的功率和热范围内。

指令集

CPU指令集是指中央处理器(CPU)可以执行的所有指令的集合。这些指令是CPU可以理解和执行的基本命令,它们定义了CPU能够执行的操作类型。指令集对于软件编程、操作系统、编译器和硬件设计都至关重要。以下是一些常见的CPU指令集:

x86/x86-64(AMD64):
x86是Intel 8086微处理器的指令集,现在主要用于个人电脑和服务器。
x86-64(也称为AMD64)是x86指令集的64位扩展,由AMD开发,支持更多的内存和高级计算。

ARM:
ARM指令集最初是为节能的移动设备设计的,但现在也被用于服务器和桌面计算。
ARMv7、ARMv8(也称为AArch64)是ARM架构的两个主要版本,后者是64位指令集。

MIPS:
MIPS是一个32位和64位的指令集架构,广泛用于嵌入式系统、网络设备和某些个人电脑。

PowerPC:
PowerPC是苹果电脑和IBM在1990年代和2000年代早期使用的一种指令集架构,现在主要用于嵌入式系统。

RISC-V:
RISC-V是一种开源指令集架构,基于精简指令集计算机(RISC)原则,适用于从小型嵌入式系统到大型计算机的多种用途。

AVX(高级向量扩展):
AVX是x86指令集中的一部分,提供对单指令多数据(SIMD)操作的支持,用于提高浮点和整数计算的性能。

SSE(流SIMD扩展):
SSE是x86架构中的一系列SIMD指令集,用于提高图形、音频、加密和其他需要大量计算的应用的性能。

NEON(单指令流多数据流):
NEON是ARM架构中的SIMD指令集,用于提高多媒体和信号处理应用的性能。

CISC(复杂指令集计算机):
CISC指令集包含大量的指令,每个指令可以执行复杂的操作。x86架构就是CISC的一个例子。

RISC(精简指令集计算机):
RISC指令集包含简单的指令,每个指令通常在一个时钟周期内完成。ARM、MIPS和RISC-V都是RISC架构的例子。

总结

最近做一个大数据的项目,因项目而整理的这篇文章。当前服务器高端市场主流的CPU还是Intel与AMD厂商,从项目的性价比角度出发,最终我们推荐了AMD的第四代EPYC霄龙CPU,因为AMD同代次的CPU要比Intel价格更优,同时我在的云厂商也有着规模采购优势,但是这里我们要不断的以用户业务来测试找到性价比最优的方式,而这里测试到细节我们就要看主频、睿频、核心数、磁盘IO、网络IO等一些硬件指标,并通过操作系统的优化将这些硬件性能发挥到极致,总之就是看应用场景、性能与价格间搭配最优方案作为做种衡量指标。最后把整个过程记录这里,也期待项目后续的迭代再分享更多相关内容。

相关参考
脑图:https://docs.qq.com/mind/DTlN2a3lMVXdydGJT?subId=BB08J2&mode=mind