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

大家好,
我是Nomushin,公司里自称最大的硬件爱好者。
各位IT工程师,你们有没有考虑过CPU架构?
虽然开发Web系统并非必须掌握架构知识,但所有程序都运行在计算机的架构之上。
因此,了解一下架构知识总是有益无害的。
如果详细展开,篇幅会太长,所以本文仅作简要介绍。如果您感兴趣,请深入研究了解更多信息。
CPU到底是什么?
“哦,对,我知道那个。就是那个像蜈蚣一样的东西,对吧?”
是的。你真是个老古董了!现在的CPU可不像蜈蚣了。
我怀疑有没有哪个IT工程师不知道CPU是什么,但以防万一:
CPU是中央处理器(Central Processing Unit)的缩写,有时也简称为CPU。它
是计算机的中央处理单元,常被比作计算机的大脑。
可以说,从个人电脑、智能手机到各种家用电器和计算器,所有电子设备都有CPU(尽管规模大小不一)。
顺便一提,无论是个人电脑还是智能手机,主流都采用所谓的SoC(系统级芯片),它将纯粹的CPU、GPU(图形处理芯片)、AI专用芯片、通信调制解调器、各种芯片组功能以及其他元件集成到单个芯片中。不过,本文暂且不谈这些细节,仅关注此类设备的CPU部分,并将其简称为“CPU”。
什么是CPU架构?
现在,让我们进入正题:架构。
“架构”一词含义广泛,因此在本文中,ISA我们将指令
虽然架构的字面意思是“建造”“设计”等含义,,也有
配备了用于执行各种操作(逻辑/算术运算、数据复制等)的基本指令,而实际处理这些指令的寄存器(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”有些人可能还见过
是 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的采用率很可能还会进一步提高。
亚马逊自研的ARM架构CPU“Graviton”已经有一些实例使用了
看来,曾经由英特尔主导的云服务器市场已经迎来了一个竞争激烈的时期。
那么,从用户的角度来看,使用非英特尔 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
