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

大家好,
我是Nomushin,公司里自称最大的硬件爱好者。

各位IT工程师,你们有没有考虑过CPU架构?
虽然开发Web系统并非必须掌握架构知识,但所有程序都运行在计算机的架构之上。
因此,了解一下架构知识总是有益无害的。

如果详细展开,篇幅会太长,所以本文仅作简要介绍。如果您感兴趣,请深入研究了解更多信息。

CPU到底是什么?

“哦,对,我知道那个。就是那个像蜈蚣一样的东西,对吧?”
是的。你真是个老古董了!现在的CPU可不像蜈蚣了。

我怀疑有没有哪个IT工程师不知道CPU是什么,但以防万一:
CPU是中央处理器(Central Processing Unit)的缩写,有时也简称为CPU。它
是计算机的中央处理单元,常被比作计算机的大脑。
可以说,从个人电脑、智能手机到各种家用电器和计算器,所有电子设备都有CPU(尽管规模大小不一)。

顺便一提,无论是个人电脑还是智能手机,主流都采用所谓的SoC(系统级芯片),它将纯粹的CPU、GPU(图形处理芯片)、AI专用芯片、通信调制解调器、各种芯片组功能以及其他元件集成到单个芯片中。不过,本文暂且不谈这些细节,仅关注此类设备的CPU部分,并将其简称为“CPU”。

什么是CPU架构?

现在,让我们进入正题:架构。 “架构”一词含义广泛,因此在本文中,我们将指令集架构( ISA )统称为架构。虽然架构的字面意思是“建造” ,也有“设计”等含义,但 ISA 指的是后者。CPU配备了用于执行各种操作(逻辑/算术运算、数据复制等)的基本指令,而实际处理这些指令的寄存器(CPU 中用于临时存储数据的区域)的规范则由前面提到的 ISA 决定。换句话说,如果 CPU 使用相同的 ISA,那么无论 CPU 是由哪家公司开发的,相同的程序基本上都可以在其上运行。



建筑类型

架构有很多不同的类型,但这次我们将介绍以下两种我们比较熟悉的架构。

  • x86(英特尔)
  • ARM(ARM)……手臂

至于 ARM,开发它的公司也叫 ARM,而且它有时会在新闻中出现,所以即使不看 IT 网站的人也可能听说过它。

什么是x86?

  • 英特尔架构
  • 这是一台搭载“英特尔处理器”的电脑。CPU“品牌”包括至强、酷睿、奔腾、赛扬等等。
  • 广泛应用于个人电脑、服务器、超级计算机等。
  • 高性能但高功耗
  • AMD 与英特尔签订了许可协议,也开发采用相同架构的 CPU(Ryzen、Athlon、Optelon 等)。

ARM是什么?

  • ARM架构
  • 几乎所有智能手机都是这样的。
  • ARM架构CPU被广泛应用于我们日常生活中接触到的各种设备中,包括路由器等通信设备、空调、冰箱、电视等家用电器以及物联网设备。
  • 涵盖从低功耗、低成本到高性能的各种CPU
  • ARM本身并不生产CPU。
  • 2016年被软银收购,2020年被出售

*注①架构性能?
虽然上文提到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从英特尔平台切换到自家的ARM架构CPUると発表しました。これまた非常に高性能で話題になっています。
英特尔会作何反应呢?

*注2:ARM的商业模式
英特尔基于其x86架构自主设计和制造CPU(它拥有CPU制造工厂)。
相比之下,ARM的商业模式是授权(出售)ARM架构CPU的“蓝图”。ARM通过这种授权业务拥有庞大的客户群,购买这些蓝图的制造商会对这些设计进行定制(或直接使用)以生产CPU。
CPU制造英特尔(美国)、三星(韩国)和台积电(台湾)
在日本销售的智能手机CPU几乎100%都由台积电或三星制造。

*注③ x86?x64?除了 x86 之外,有些人可能还见过“x64”这个术语。x86是 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一直使用x86架构的CPU,具体来说,使用的是其授权厂商AMD的CPU,而不是英特尔的。
同样,微软同一代的Xbox主机Xbox One 到Xbox Series X/S
使用了AMD的x86架构CPU。
因此,这些游戏主机的硬件配置非常相似,可以称之为“兄弟机型”,而且它们的设计也与PC非常相似。
另一方面,任天堂在Switch上采用了ARM架构。这是一款来自NVIDIA的CPU,NVIDIA在人工智能和GPU(图形处理)领域发展迅猛。Switch的
设计理念是电池供电,因此与前两家公司以性能为先的游戏主机不同,这种选择被认为是兼顾性能和节能的结果。这种设计更接近智能手机,而不是PC。
我预测下一代 Switch 将会遵循同样的路线,但任天堂以发布难以预测的游戏机而闻名,所以这将令人兴奋。

架构采用趋势(云服务器)

目前,英特尔的x86 CPU在包括AWS、GCP和Azure在内的云服务器市场占据主导地位。然而,自2018年以来,同样采用x86架构的AMD EPYC处理器(Ryzen服务器CPU)的性能逐渐得到认可,并已被AWS和GCP采用。作为一家快速发展的制造商,AMD的采用率很可能还会进一步提高。此外,AWS已经有一些实例使用了亚马逊自研的ARM架构CPU “Graviton” ,甚至有传言称微软也将开发自己的ARM CPU并将其应用于Azure。看来,曾经由英特尔主导的云服务器市场已经迎来了一个竞争激烈的时期。


那么,从用户的角度来看,使用非英特尔 CPU 的服务器有哪些优势
AWS 对每种 CPU 实例的特性解释如下:

  • AMD 的 x86 CPU(型号以“a”结尾):性能与 Intel 相当,但价格便宜 10%。
  • 我们自主研发的 ARM Graviton CPU(型号以“g”结尾):比同代英特尔产品性价比高出 40%。

后者略显抽象,难以理解,但本质上,两者似乎都意味着“比(传统)英特尔 CPU 实例具有更高的性价比!”然而,虽然使用 PHP 等构建的 Web 系统通常可以在任何实例上以相同的方式运行,因为中间件和操作系统会弥补架构差异,但有些软件由于 CPU 架构的不同而无法运行,因此这一点需要考虑。尽管如此,两者都各有优势,因此如果它们符合您的需求,绝对值得考虑。

 

最后

我已上线“SEKARAKU Lab”,这是我所属系统开发公司的服务网站。Beyond
提供从服务器设计、搭建到运维的一站式服务,如果您在服务器端开发方面遇到任何问题,欢迎随时联系我们。SEKARAKU
Lab:https://sekarakulab.beyondjapan.com/

感谢您读到最后。
软件和硬件密不可分,但似乎有不少程序员对硬件并不感兴趣。这是否反映了时代的变迁呢?硬件
领域或许充满探索的乐趣,如果您感兴趣,不妨做些研究。

如果您觉得这篇文章对您有帮助,请点个“赞”!
20
加载中...
20票,平均分:1.00/120
43,617
X Facebook Hatena书签 口袋

这篇文章的作者

关于作者

野村由纪

大学毕业后,我先在一家本地系统开发公司从事电子病历系统开发工作。
之后,我跳槽到一家移动应用开发公司,积累了功能手机和智能手机应用开发经验,并于2013年加入Beyond公司。
目前我在大阪办公室工作,主要负责网页系统设计和开发。
业余时间,我仍然会继续开发智能手机应用。
我是个硬件爱好者,也是公司的“机械师”。电脑和自行车组装就交给我吧!