给IT工程师的建议:什么是CPU架构?

大家好,
我是Nomusin,自称是公司里最大的硬件极客。
各位IT工程师,你们有没有想过CPU架构?
虽然开发Web系统并不一定需要了解架构知识,但所有程序都运行在计算机架构之上。
因此,掌握一些架构知识总是有益无害的。
如果详细展开,篇幅会太长,所以本文仅作简要介绍。如果您感兴趣,请深入研究了解更多信息。
CPU到底是什么?
“哦,我知道。那个有蜈蚣的
。 ”,你年纪不小了!现在的CPU里已经没有蜈蚣了。
我相信没有哪个IT工程师不知道CPU是什么,但以防万一,我还是解释一下:
CPU是中央处理器(Central Processing Unit)的缩写。它有时也被称为处理器。它是
计算机的中央处理单元,通常被比作计算机的大脑。可以
说,从个人电脑、智能手机到各种家用电器和计算器,所有电子设备都配备了CPU(尽管尺寸可能有所不同)。
顺便一提,无论是个人电脑还是智能手机,主流都采用所谓的SoC(系统级芯片),它将纯粹的CPU、GPU(图形处理芯片)、AI专用芯片、通信调制解调器、各种芯片组功能以及其他元件集成到单个芯片中。不过,本文暂且不谈这些细节,仅关注此类设备的CPU部分,并将其简称为“CPU”。
什么是CPU架构?
现在进入正题:架构。
“架构”一词含义广泛,因此在本文中,我们将使用
ISA 架构的字面意思是“构造”,但也指“设计”,而 ISA 指的是后者。CPU
配备了用于各种进程的非常基础的指令(逻辑/算术运算符、数据复制等),而用于实际处理这些指令的寄存器(CPU 内部临时存储数据的区域)的规范则由前面提到的 ISA 决定。
换句话说,具有相同 ISA 的 CPU 基本上可以运行相同的程序,无论这些程序是由哪家公司开发的。
建筑类型
架构有很多不同的类型,但这次我们将介绍以下两种我们比较熟悉的架构。
- x86(英特尔)
- ARM(ARM)……手臂
至于 ARM,开发它的公司也叫 ARM,而且它有时会在新闻中出现,所以即使不看 IT 网站的人也可能听说过它。
什么是x86?
- 英特尔架构
- 这是一台搭载“英特尔处理器”的电脑。CPU“品牌”包括至强、酷睿、奔腾、赛扬等等。
- 广泛应用于个人电脑、服务器、超级计算机等。
- 高性能但高功耗
- AMD 与英特尔签订了许可协议,也开发采用相同架构的 CPU(Ryzen、Athlon、Optelon 等)。
ARM是什么?
- ARM架构
- 几乎所有智能手机都是这样的。
- ARM架构CPU被广泛应用于我们日常生活中接触到的各种设备中,包括路由器等通信设备、空调、冰箱、电视等家用电器以及物联网设备。
- 涵盖从低功耗、低成本到高性能的各种CPU
- ARM本身并不生产CPU。
- 2016年被软银收购,2020年被出售
注1:架构性能?
如上所述,x86架构“性能高但功耗大”,而ARM架构“能效高”。然而,近年来英特尔专注于能效,而ARM则专注于对性能要求较高的领域,例如PC和服务器。因此,两家公司的性能特点变得模糊不清。
英特尔曾于2012年进入智能手机CPU市场,但于2016年退出。因此,目前Android操作系统有两个版本:“ARM版”和“x86版”。
另一方面,ARM目前正在进军Windows CPU市场(尽管更准确地说,是微软为ARM开发了Windows)。虽然搭载ARM CPU的Windows PC目前尚未普及,但未来可能会更加常见。
此外,被多家媒体誉为世界最快超级计算机的“富岳”超级计算机所使用的“A64FX”CPU,由富士通开发的ARM架构CPU 。
2020年,苹果宣布将Mac电脑的CPU从英特尔平台更换
英特尔会作何反应?
*注2:ARM的商业模式:
英特尔基于其x86架构自主设计和制造CPU(它拥有自己的CPU制造工厂)。
相比之下,ARM的商业模式是授权(出售)ARM架构CPU的“蓝图”。ARM在授权业务方面拥有庞大的客户群,购买这些蓝图的制造商会自行定制设计(或直接使用不加定制的设计)来生产CPU。
制造商分别英特尔(美国)、三星(韩国)和台积电(台湾) 。
在日本销售的智能手机CPU几乎100%都由台积电或三星制造。
*注3:x86?x64?
除了x86之外,“x64”这个术语
是32位架构,而x64是x86的64位扩展架构,有时也写作“x86-64”。
简单来说,x64可以一次性处理更大的数据量,从而实现更高效、更快速的数据处理。有些人
似乎在比较x86和x64时会感到困惑,因为x64虽然数字较小,但却是更高级别的架构。不过,请注意,x64是“x86-64”的缩写。
顺便一提,您可能会在Windows 10启动盘上看到两个文件夹: “Program Files (x86)”和“Program Files”。前者包含x86(32位)兼容的应用程序,后者包含x64(64位)兼容的应用程序。
然而,现代 x86 CPU 同时支持这两种架构,而且目前市面上唯一可供购买的 Windows 10 新版本是 64 位版本(也能运行 32 位应用程序),因此用户无需担心。ARM
架构也同时支持 32 位和 64 位,但在对性能要求较高的领域,例如智能手机,64 位架构已经像 x86 架构一样成为主流。
架构采用趋势(游戏主机)
既然我们已经了解了PC和智能手机,那么这些架构还有哪些其他用途呢?
让我们来看看更熟悉的领域:游戏主机。虽然
每一代游戏主机使用的架构都不同,但索尼的PS4和PS5始终使用
同样,同代的微软Xbox也使用了AMD x86 CPU,就像Xbox One和Xbox Series X/S。
这些主机拥有相似的硬件配置,几乎就像兄弟一样,而且与PC非常相似。
与此同时,任天堂在Switch上采用了ARM架构。这款CPU来自NVIDIA,一家在人工智能和GPU(图形处理)领域发展迅猛的公司。Switch
的设计注重电池续航,这与前两家公司以性能为先的游戏主机不同,很可能是为了平衡性能和能效。这种设计更接近智能手机而非PC。
我预计下一代 Switch 也将遵循类似的路线,但看到任天堂发布如此难以预测的游戏机,还是令人兴奋不已。
架构采用趋势(云服务器)
目前,英特尔的x86 CPU在AWS、GCP、Azure等云服务中占据主导地位。
自2018年以来,同样采用x86架构的AMD EPYC处理器(Ryzen服务器CPU)性能备受赞誉,并先后被AWS和GCP采用。作为一家发展势头强劲的厂商,其采用率很可能继续增长。
此外,AWS也有一些实例采用了亚马逊自研的ARM架构CPU “Graviton ”,甚至有传言称微软可能也会开发自己的ARM CPU并将其应用于Azure。
看来,即使在英特尔曾经独占鳌头的云服务器市场,一场激烈的竞争也即将到来。
那么,从用户角度来看,使用非英特尔 CPU 的服务器有哪些好处呢?
AWS 对每个 CPU 实例的特性解释如下:
- AMD x86 CPU(型号以“a”结尾):性能与英特尔相同,价格便宜10%。
- 我们自主研发的 ARM Graviton CPU(实例名称以“g”结尾):比同代英特尔实例的性价比提升高达 40%。
后者可能有点抽象,难以理解,但关键在于,两者
都比(传统的)英特尔 CPU 实例具有更高的性价比!然而,使用 PHP 和其他技术构建的 Web 系统通常可以在任何实例上正常运行,因为中间件和操作系统能够适应架构差异。但是,有些软件由于 CPU 架构的差异而无法运行,因此必须考虑到这一点。
不过,这两个实例各有优势,如果它们符合您的需求,那么它们或许值得您认真考虑。
最后
我创办了一个名为“SEKARAKU Lab”的系统开发服务网站,我本人也在该公司工作。Beyond
可以处理从服务器设计、构建到运维的所有事宜,因此如果您在服务器端开发方面遇到任何问题,请随时与我们联系。SEKARAKU
Lab: https://sekarakulab.beyondjapan.com/
感谢您读到最后。
软件和硬件密不可分,但我感觉很多程序员对硬件并不特别感兴趣。也许是时代使然吧……硬件
领域或许很有趣,值得深入探索,所以如果您感兴趣,我鼓励您做些研究。
19