x86 和 x64 arm的区别

x86和x64是基于英特尔x86架构的复杂指令集架构(ISA),而ARM是一种精简指令集架构。

什么是指令集架构

假设我们现在要开发一个cpu,就好比说我们去修建一栋楼,开发商会先将图纸设计好。设计好之后由施工单位按照设计图去建造。在建造的这个过程中,施工方是要按照国家一定的规范来设计的,比如每层楼的高度,窗户的大小,排水管大小以及消防通道的设置等,这个设计规范对于这栋楼(CPU)来说就是指令集架构。

指令集架构就是机器的语言,包含了各种各样的指令,像我们常见的x86个arm就是两个不同的指令集架构。

像是Intel(英特尔)和amd都是采用x86指令级架构,而手机平板等才用的大多就是ARM指令集架构

X86与X64

x86架构最早可以追溯到1978年,当时英特尔推出了8086处理器。随后,英特尔发布了多个后续版本的处理器,如80286、80386、80486等,也被称为x86家族。在这些处理器中,后缀数字表示处理器的不同版本和功能。

  • 位数:x86是32位的处理器架构,而x64是64位的处理器架构。这意味着x64可以处理更大的数据块和内存地址空间,从而可以更高效地处理大型应用程序、多任务处理和大量数据。

  • 寄存器数量:x86处理器有8个通用寄存器,而x64处理器有16个通用寄存器。这意味着x64能够更高效地管理和处理数据,并且可以提供更好的性能和吞吐量。

  • 内存支持:x86处理器最多只能支持4GB的内存,而x64处理器可以支持更大的内存容量,最多能够支持16EB(exabyte)的内存。

  • 软件兼容性:x64处理器可以运行原本为x86编写的大多数软件,但反之则不一定成立。因为x86软件是为32位处理器编写的,而x64处理器是64位的,所以一些旧的x86软件可能无法在x64处理器上正常运行。

区别

  • 架构:x86和x64架构主要用于个人电脑和服务器,而ARM架构主要用于移动设备(如智能手机、平板电脑)和嵌入式系统(如物联网设备)。

  • 指令集:x86和x64使用复杂指令集计算机(CISC)指令集,其中包含大量的指令和寄存器。而ARM使用精简指令集计算机(RISC)指令集,指令数量较少但执行效率高。

  • 性能和功耗:x86架构在处理器性能方面通常比ARM架构更强大,因为它们具有更多的指令和寄存器。然而,ARM架构在功耗效率方面表现更好,适合于低功耗设备。

  • 软件兼容性:由于x86架构在个人电脑上的广泛使用,许多软件和操作系统都是针对x86架构进行优化的。而ARM架构则需要专门编译和优化软件,以确保与其兼容。

  • 扩展性:x64架构支持更大的内存地址空间和更多的寄存器,可以处理更大规模的数据。ARM架构的扩展性较弱,但它在功耗和成本方面更具优势。

需要注意的是,x86和x64是基于英特尔的x86架构发展而来的,而ARM则是基于ARM架构发展而来的。不同的处理器和芯片制造商可能会在x86和ARM架构上进行定制和优化,因此具体的性能和特性可能会有所不同。

相关推荐
Joshua-a1 天前
macOS下arm编译缺少stdint.h等问题
arm开发·macos
蚂蚁舞1 天前
在arm架构的Debian系统手动安装和卸载Mysql8的操作
arm开发·debian·安装mysql·mysql8·卸载mysql
m0_571372821 天前
嵌入式学习——ARM 体系架构1
arm开发·学习
生涯にわたる学び1 天前
自旋锁/互斥锁 设备树 iic驱动总线 day66 67 68
arm开发
李小白202002022 天前
windows 10系统安装arm虚拟机
arm开发
亿道电子Emdoor3 天前
【ARM】PACK包管理
arm开发
wypywyp4 天前
基于arm芯片的驱动开发——温湿度传感器dht11
arm开发·驱动开发
亿道电子Emdoor4 天前
【ARM】MDK如何实现使用Hex文件完成程序烧录
arm开发·stm32·单片机
彻骨寒风5 天前
在麒麟 ARM (aarch64)安装OpenJDK11和elasticsearchkibana
运维·arm开发·jenkins
2301_1472583695 天前
ARM - GPIO 标准库开发
arm开发