ARM 与 x86:有何区别?

ARM 与 x86:有何区别?

程序员元老之间一场很久之前的争论导致了计算机科学中两种主要理念之间的分歧:究竟是简化程序员的工作,还是简化微处理器的工作。要想使用计算机执行任何高效的操作,操作系统及其执行的程序需要与中央处理器(CPU)以及其他硬件(如内存、存储器和网卡)进行交互。CPU 发挥着在操作系统(和上面运行的程序)与这些硬件之间进行调解的作用。为了简化程序员的工作,CPU 有一组预定义的操作和计算,称为指令集或 ISA(指令集架构)。操作系统及其执行的程序(均由程序员编写)依赖这些指令来执行低层功能,例如:

CPU 与硬件(内存、存储器、网络等)之间的交互算术函数(加法、减法等)数据操作(二进制移位等)。最初的 x86 CPU 拥有(并且现在仍然拥有)非常丰富的指令集。一条指令可以完成整个计算(如乘法)或将一块数据直接从内存中的一个位置移动到另一个位置。这听起来没什么大不了,但在内存中的不同位置之间进行乘法计算和移动数据确实需要在低层执行大量指令。对于 x86 计算机,这一系列复杂的操作可以在一个周期内完成。具有这种类型指令集的处理单元被称为复杂指令集计算机(CISC)。

然而,CISC 计算机中的指令如此强大,也意味着它需要更多的晶体管,从而会占用空间并消耗能量。

为了探索能效和简化 CPU 架构中指令集的方法,1980 年代初,人们发起了一系列项目。研究人员发现,在现实中,大多数计算机仅使用 CISC 计算机所提供的大量指令中的一小部分。最终,精简指令集计算机(RISC)处理器设计应运而生。RISC 处理器也有一个指令集,但其中每条指令仅代表一个能耗较低的简单操作。这就使汇编语言程序员的工作变得更加复杂,但却简化了处理器的工作。利用 RISC 处理器和先进的 RISC 计算机,可以通过运行多条指令或通过将复杂工作推给编译器(而不是 CPU 内核)来执行复杂操作。

其中离不开一些权衡与取舍。x86 CPU 往往具有非常快的计算能力,并且在编程和指令数量方面会更加清晰或简单,但它的代价,就是更大、更昂贵且具有大量晶体管的芯片。ARM 处理器对于某些类型的操作而言可能非常快,但单个指令的重复循环可能会减慢它的速度,这是因为操作更为复杂,并且定义和执行操作的更多工作被推给了编程(和程序员),而不是指令集。

此外,鉴于以上差异,我们可能难以计算其 MIPS(每秒百万条指令,一种对计算机原始处理能力的常用度量),因为不同类型的处理器在执行同一活动时需要用到不同的指令集。

关于作者: admin

相关推荐

来说下伊份的自营APP 最近发现 来伊份 的线下店有明显的增加,在购物中心闲逛时总会发现来伊份的零食店。这次店员给我介绍了来伊份的自营APP,抱...
静女原文、翻译及赏析、拼音版及朗读
谷歌Gboard输入法:从安装到设置

谷歌Gboard输入法:从安装到设置

365bet官网娱乐网址 07-08