arm64与x86有什么区别?

如题所述

ARM64指的是运行在AArch64状态下的处理器体系结构,ARM64与x86主要在架构上存在一定的区别。

1、ARM64架构

ARM64比较准切的称呼应该是AArch64,但是为了通熟易懂,我们一般简称为ARM64,另外需要指出的是:A32指令集和A64指令集不兼容。AArch64可以兼容AArch32。

我们常说的ARM其实是英国ARM公司提供的一种CPU结构的支持产权。我们常见的各种移动智能设备、智能消费电子产品的CPU一般都是采用ARM架构,目前PC市场上,Apple自研的M1芯片也是基于ARM架构的。

ARM架构,曾称或者全称是进阶精简指令集机器(AdvancedRISCMachine),更早之前称之为AcronRISCMachine。是一个32位精简指令集(RISC:ReducedInstructionSetComputer)处理器架构。这里的32位指的是指令的位宽。

ARM公司本身并不生产芯片,只提供芯片设计的Idea。向客户提供处理器IP。ARM公司一般有两种授权方式。体系结构授权,客户可以根据这个规范自行设计与之兼容的处理器,比如华为,苹果等。处理器IP授权,ARM公司根据某个版本的体系结构来设计处理器。然后把处理器的设计方案授权可客户。比如现在国内的一些芯片初创公司。

2、X86架构

x86架构是一个称之为复杂指令系统计算机的微处理器指令集架构,指一个intel通用计算机系列的标准编号缩写,也是一套通用的计算机指令合集。x86这种叫法源自于Intel很久之前出品的8086CPU,后续还有8088等等。后来Intel在此基础上注册了奔腾品牌,将x86一直优化迭代更新,有了奔腾1,奔腾2,奔腾3,等等,以及现在的新品牌酷睿架构。

与之相关的还有个名词是x64,x64的全称应该是x86_x64。当时intel并没有基于64位版本的x86指令集。准备新开一个IP,但是AMD在原来x86的基础上扩展和丰富了x86,当然这其中肯定或有一些竞争,但最终还是采用了AMD的方案,并命名为x86_x64。

3、x86和ARM64的对比

比较准确的做法应该是将x86架构和ARM架构进行对比,x86_x32处理器体系结构和AArch32处理器体系结构对比,x86_x64处理器体系结构和AArch64处理器体系结构对比。无论是AArch32还是AArch64(即ARM64),他们都不是架构,而是CPU寄存器、运算器能访问、处理的数据位宽,以及与此相关的一整套CPU设计规范。

ARMv7.ARMv8之类的才是架构,是一套指令集和体系结构。类似的,X86是架构,在这基础之下的x32和x64是CPU寄存器、运算器能访问、处理的数据位宽,以及与此相关的一整套CPU设计规范。无论是ARM架构还是x86结构,都有支持32位和64位访问的指令集或者架构版本。

温馨提示:答案为网友推荐,仅供参考
相似回答