arm与x86有什么区别?

发布网友 发布时间:2022-04-21 09:35

我来回答

1个回答

热心网友 时间:2023-11-09 02:42

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

1、ARM架构

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

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

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

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

2、X86架构

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

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

3、x86和ARM的对比

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

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

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com