ARM与x86:两种处理器体系结构之间有什么区别?

您可能知道处理器世界分为两个阵营。如果您正在从智能手机观看此视频,则说明ARM处理器正在为您工作;如果从笔记本电脑正在观看,则x86芯片正在为您工作。



现在,苹果公司宣布将Mac迁移到苹果自己的Silicon ARM处理器。我们已经告诉过您为什么会这样。今天,让我们仔细看看x86和ARM之间的根本区别是什么。苹果为什么要适合所有这些呢?





因此,大多数移动设备,iPhone和Android在ARM上运行。高通,华为麒麟,三星Exynos和Apple A13 / A14 Bionic都是ARM处理器。



但是在计算机上却并非如此-在Intel和AMD的领导下,它被x86所主导。这就是为什么我们无法在电话上从计算机运行Word的原因。



x86-这是70年代和80年代经典英特尔处理器系​​列的最后几位名称。 它们有何不同? 有两个主要区别。















第一个是一组指令,即处理器能够理解的语言



x86处理器使用称为CISC的复杂指令集-复杂指令集计算。



相反,ARM处理器使用简化的指令集-RISC-精简指令集计算。



顺便说一下,ARM代表高级RICS机器-高级RISC机器。



指令集通常也称为体系结构或ISA-指令集体系结构。



第二个区别是微体系结构。这是什么?



处理器使用的语言取决于设计方式。由于要在处理器上执行每条指令,因此需要找到其自己的逻辑块。因此,不同的指令意味着不同的处理器设计。设计是微体系结构。



  • x86-CISC
  • ARM-RISC


因此,请记住。我们说x86-我们的意思是CISC体系结构,ARM是RISC。



但是处理器如何开始说不同的语言呢?



CISC的历史





程序员备忘录,1960年代。数字(机器)代码“ Minsk-22”。



一切始于1960年代。最初,程序员使用机器代码,也就是说,他们实际上写了零和一。很快所有人都厌倦了,汇编器出现了。一种低级编程语言,允许编写简单的命令,例如添加,复制等。但是用汇编程序编程也很困难。因为有必要逐字逐句地“向句柄”描述处理器的每个动作。



因此,如果您正在与处理器一起吃晚餐,并要求给它加盐,它将看起来像这样:



  • 嗨,处理器,请看表的中心。
  • 你看到盐了吗?带她去。
  • 现在看着我。
  • 给我盐。-是的,谢谢!
  • 现在再从我那拿盐。
  • 把它放在你得到它的地方
  • 非常感谢你!继续您的业务。
  • 嗯...加工者,看到胡椒了吗?
  • 等等....


在某些时候,这一切都困扰着程序员。然后他们决定:嘿,我们为什么不写指令“把盐递给我”?因此,他们做到了。一组这样的复杂指令称为CISC。



对于开发人员和企业而言,这种方法都是真正的救星。客户想要一个新的指令-如果有钱,这不是问题-我们会做到的。客户有钱。



CISC的缺点



但是这种方法是最优的吗?从开发人员的角度来看,是的。但是微架构遭受了损失。



想象一下,您买了一套公寓,现在您需要为其提供家具。面积小,每平方米算。现在,想像一下,如果CISC处理器一方面为您的客厅提供家具,它将照顾到每个潜在客人的舒适感,并为他分配自己的个人空间。



另一方面,他将不会多余的预算。一个人的沙发,另一个人的坐垫凳,第三人的沙发,为丹妮莉丝准备的权力游戏王座。在这种情况下,房间的面积很快就会结束。为了容纳所有人,您将不得不增加预算并扩大大厅。这是不合理的。但最重要的是,CISC体系结构已经存在了很长时间,并且60年代编写的说明现在不再适用。因此,将根本不使用某些家具或执行单元。但是他们中的许多人仍然在那里。因此,RISC出现了...



RISC的好处



一方面,在RISC处理器的Assembler中编写处理器不是很方便。如果我们直接比较为CISC和RISC处理器编写的代码,则前者的优势显而易见。



这就是x86和ARM相同操作的代码。



x86



  • MOV AX,15;AH = 00,AL = 0Fh
  • AAA; AH = 01,AL = 05
  • RET




  • MOV R3,#10
  • 与R2,R0,#0xF
  • CMP R2,R3
  • IT LT
  • BLT其他分支
  • 添加R2。#6
  • 添加R1。#1
  • elsebranch:
  • 结束


但这是以前的事情。长期以来没有人用汇编程序写东西。现在,编译器为程序员完成了所有这些工作,因此为RISC处理器编写代码没有任何困难。但是有优势。



假设您正在设计处理器。 x86上的块排列看起来像这样。 每个彩色正方形都是一个单独的命令。它们有很多,它们是不同的。如您所知,这里我们已经在讨论微体系结构,它来自指令集。但是ARM处理器看起来像这样。 它不需要为50年前编写的函数创建块。 实际上,这里只有最流行的球队才有禁区。但是有很多这样的障碍。这意味着可以同时执行更多基本命令。稀有产品不会占用空间。























减少RISC拨号的另一个好处:用于解码指令的块占用了芯片上更少的空间。是的,那也需要一个地方。RISC体系结构更简单,更方便,请弯曲手指:



  • 记忆更轻松,
  • 更丰富的寄存器架构,
  • 更容易做到32/64/128位数字,
  • 更容易优化,
  • 耗电量少
  • 更易于扩展和调试。


例如,这是同一代的两个处理器。ARM1和Intel386。ARM的性能类似,只有一半。而且其上的晶体管要少10倍:2.5万对27.5万。功耗也相差一个数量级:0.1 W和Intel的2W。休克。



因此,我们的运行在具有RISC架构的ARM处理器上的智能手机使用寿命长,不需要主动散热,而且速度很快。



发牌



但是这些都是技术上的差异。也存在组织差异。您是否曾经想过为什么有这么多用于智能手机的处理器制造商,而在x86 PC的世界中,只有AMD和Intel?很简单-ARM是一家许可公司,而不是制造公司。



甚至苹果公司也参与了ARM的开发。与Acorn Computers和VLSI技术一起使用。苹果已经加入了他们即将推出的设备牛顿的联盟。一种主要功能是文本识别的设备。



甚至您都可以通过购买许可证来开始生产自己的处理器。但是除了蓝色和红色公司之外,没有人可以生产x86处理器。这意味着什么?没错,竞争减少,发展放缓。这怎么发生的?







好。假设ARM在智能手机和平板电脑上做得很好,但是对于计算机和服务器呢?以及为什么苹果公司甚至以其Apple Silicon赶到那里。



现在怎么办?



假设我们认为ARM体系结构更加有效和通用。怎么办? x86被埋了吗?



实际上,英特尔和AMD并非傻瓜。而现在,现代的CISC处理器与RISC非常相似。逐渐地,CISC处理器的开发者还是来到了这个领域并开始制造混合处理器,但是旧的尾巴却不那么容易被甩掉。 但是很长一段时间以来,Intel和AMD处理器一直在将输入指令分解为较小的微指令(micro-ops),将来,您会惊讶地发现,这些指令是由RISC内核执行的。 是的,伙计们!您PC中的那些4-8内核也是RISC内核! 希望您在这里完全感到困惑。但最重要的是,现在RISC和CISC设计之间的差异很小。



















仍然重要的是微体系结构。这就是在石头本身上有效组织一切的方式。



好吧,您可能已经知道,现代iPad几乎与配备Core i7和Core i9处理器的15英寸MacBook Pro一样好。 那计算机呢? Ampere最近推出了其80核ARM处理器。根据制造商的说法,在测试中,Ampere处理器的性能比AMD最快的EPYC处理器好4%,而功耗却低14%。























安培(Ampere),爬到“云”和“工作站”部分,并在那里显示出出色的数字。当今世界上最快的超级计算机可在ARM ISA上运行。另一方面,英特尔仍在尝试进入低功耗市场,为此,它发布了一个基于Lakefield微体系结构的有趣的新处理器。



到目前为止,英特尔的笔记本电脑和处理器具有一个无可争议的优势- (散热和)架构统一。尽管高通,三星,联发科已经在ARM处理器市场上占有一席之地,但在x86领域正在建立垄断地位,开发人员更容易为“成人”处理器制作软件和游戏。



苹果公司就是这样一种公司,它可以激励足够的开发人员削减他们的ARM。但是,这种过渡的本质不是在CISC和RISC之间的对抗。随着两种方法的融合,重点转移到了苹果为其移动设备制造的微体系结构。显然,他们的微架构很酷。他们想在计算机上使用它。



而且,如果英特尔将x86许可用于他人的钱,那么苹果可能只是将其当前的微体系结构用于x86。但是由于无法做到这一点,他们决定只改用ARM。对我们而言,微体系结构的问题在于这是一个商业秘密。而且我们对她一无所知。



结果







ARM需求最终将上升。对于行业而言,这不仅是重要的一步,而且是至关重要的一步。Linus Torvalds表示,除非工作站在ARM上运行,否则服务器市场将使用x86。



事情就这样发生了-从长远来看,这是在服务器解决方案上投资的数百万美元。当然,这对消费者也有好处。美好的未来等待着我们,苹果确实取得了进步!



资料编辑:Anton Evstratenko。我们的观众Nikita Kulikov和Grigory Chirkov帮助准备了这些材料。谢谢你们!



All Articles