x86 32 64 Arm这些听过但不懂,都是什么?是架构还是系统?一文梳理

这篇具有很好参考价值的文章主要介绍了x86 32 64 Arm这些听过但不懂,都是什么?是架构还是系统?一文梳理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

x86 听过吗?
64位操作系统知道吧 和x86什么关系
32和64都是什么东西?
曾经的我也一头雾水,今天我才来整理一下,惭愧惭愧!
今天带着沉重的心情来梳理一下学习内容吧

如果你很熟悉很了解计算机的话,应该知道,处理器、操作系统、驱动、软件都有32位和64位之分,只不过我们现在使用的多为64位。但是我们还是从历史的头头梳理吧。

见识见识 大名鼎鼎的x86

一、x86是啥

1978年,因特尔发布了第一款 x86 指令集架构处理器 Intel8086。
x86,计算机基础,架构,arm
后来,这一系列的处理器名称全部以数字 86为结尾,所以这个系列就被简称为 x86了。所以x86是一种指令集架构

x86最开始为16为处理器设计,后来演进为32位和64位处理器的指令集架构。现在,x86架构成为了个人计算机主流的指令集架构。

99.99%的可能性是,你手中的电脑就是x86指令集架构的。(苹果除外)

Intel开始使用32位指令集的时间在1985年,称为 x86_32
随着Intel不断推出新的32位处理器,后来,32位也简称为x86。这也是我们现在看到的x86都是默认的32位的原因。

后来

2003年,AMD抢先Intel发布64位处理器,命名为AMD64。此后,x86正式开始进入64位的时代
64位在性能和应用场景上领先32位,具有很大的提升。
随后,Intel也发布与之兼容的处理器,命名为Intel 64。
AMD64和Intel 64两者统称为x86_64。

所以x86实际上是包含了x86_32和x86_64,同时包含32位和64位。【x64是对x86_64的简称】。

二、32位 vs 64位

硬件上

在硬件上的区别也是当年 64 位被推上舞台的原因,因为64位支持的内存远比64位大得多。

32 位支持的内存是 2^32 Byte,也就是**最大只支持 4GB 内存。**而 64 位支持 2^64 Byte,也就是 17179869184G=16777216TB ≈ ∞。

所以,64 位处理器解决了内存地址总线的问题。

另外 64 位处理器的寄存器也是 64 位,曾经 32 位处理器一次运算需要 4 个「寄存器」,在 64 位处理器上只需要 2 个就够了。好处就是速度更快了。

软件上

Windows系统,32位的系统单个进程**最多使用内存是2GB,**所以大型软件无法良好工作。而在64位系统中,则没有限制,内存绝对够用。

所以,其实很多大型软件是根本没有32位的版本的。

另外,

在 Windows 32 位系统中 C:\Program Files\是软件默认安装目录,C:\System32\ 是系统文件和 DLL 库的目录。
在 Windows 64 位系统中,C:\Program Files\ 是 64 位软件的默认安装目录,而C:\Program Files(x86)\ 是 32 位软件的默认安装目录。
x86,计算机基础,架构,arm
因为 DLL 文件也分 32 位和 64 位的缘故,所以
64 位系统中 C:\Windows\System32\ 目录用来放 64 位 DLL 文件,
C:\Windows\SysWOW64\ 目录则存放 32 位的 DLL。

x86,计算机基础,架构,arm

x86,计算机基础,架构,arm

【可能感觉名称和位数有点乱七八糟的,额,个人简单理解就是原来32位系统的安装目录和DLL目录分别是C:\ProgramFiles\C:\System32\。升级为64位之后,我64位的对应文件还放在原属于32位的位置,只是考虑兼容的目的,把32位的安装目录和DLL目录额外规定为了C:\Program Files(x86)\C:\Windows\SysWOW64

所以呢,

64位Windows系统包含了32位系统的兼容库,还有其单独文件夹,可以运行大部分的32位的软件呢。
但是32位系统不能使用64位软件哦。

博主家里,初中时才买的电脑,好像是一几年了,那时还是用的XP系统,是32位的。大学时候(2018入学),我竟然搬到学校去了,发现4GB内存,贼卡。
其实,Windows 系统从 XP 开始一直有 32 位版和 64 位版,而 macOS 自 v10.8(Mountain Lion)开始就抛弃了 32 位版,只提供 64 位版。

好在现在电脑配置还不错:
x86,计算机基础,架构,arm
还配有3080

三、32位

Windows11的升级给硬件带来了许多要求,其中就有:需要64位或ARM64处理器,不在支持32位处理器

也算是极大的进步,毕竟淘汰32位意味着顺带淘汰一些落后的技术(BIOS(非UEFI)、MBR 分区表格式、32 位发行版、16 位运行环境(NTVDM)等)。

但是呢,
系统中还是保留了32位的虚拟系统,仍然可以运行32位程序。

二十年来,苹果从 MacOS9 RISC 到 OSX RISC 到 OSX X86 到 macOS X64 到 macOS ARM,更新了 4 次架构,
Windows 这才终于移除了 32 位处理器和 IE 浏览器,减轻了一点历史包袱。

为什么 Windows 这么先进的系统,直到 Windows 11 才肯放弃 32 位处理器呢?
主要还是用户太多了。
Windows 10 发布时,前微软的官方负责人回答过这个问题:当时还有大约 1 亿用户在使用 32 位的处理器。
微软并不打算放弃这部分用户。

6 年后的今天,大概那 1 亿台设备也老的老,破的破了,所以微软终于可以在 Windows 11 上移除对 32 位处理器的支持。

四、x86总结

Window系统的向下兼容性一直非常好,即使一些软件不能在Windows上运行,但这压根不影响Windows系统的向下兼容是是业界楷模,已经达到了变态程度,甚至阻碍其发展

也正是 Windows 系统的兼容性好,软件开发商就省事了,反正我的软件不需要那么多系统资源,甚至一套软件开发完不需要维护就能卖十几年,既然如此为什么还要单独出64位版的?
2022 年的 Windows 11 还能运行 90 年代的软件,这在其他操作系统上是很难做到的。

五、Arm

Arm和x86是并列的关系,都是cpu架构。

X86架构的CPU是PC服务器行业的老大,ARM架构的CPU则是移动端的老大。

X86架构和arm架构实际上就是CISC与RISC之间的区别,实际上就是它们应用领域不太相同,追求也不相同。

x86架构和Arm架构两者的区别

  1. 追求不同:x86追求性能,功耗大。Arm追求节能,低功耗,性能没x86强。
  2. 领域不同:x86多用于Intel和AMD的PC机和服务器,Arm多用于移动终端(手机,平板)。
  3. 本质不同:X86采用CISC复杂指令集计算机,Arm采用的是RISC精简指令集计算机。
  4. CISC是复杂指令集CPU,指令多,共好大,CPU电路设计复杂,但编译器设计简单。RISC是精简指令集CPU,指令少,功耗小,CPU电路设计简单,但编译器设计复杂,它的关键在于流水线操作能在一个时钟周期内完成多条指令。

X86架构(The X86 architecture)是微处理器执行的计算机语言指令集,指一个intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合。x86泛指一系列基于Intel 8086且向后兼容的中央处理器指令集架构。
Intel在早期以80x86这样的数字格式来命名处理器,包括Intel 8086、80186、80286、80386以及80486,由于以“86”作为结尾,因此其架构被称为“x86”。由于数字并不能作为注册商标,因此Intel及其竞争者均在新一代处理器使用可注册的名称,如奔腾(Pentium)、酷睿(Core)、锐龙(Ryzen,AMD推出)。
ARM架构,曾称进阶精简指令集机器(Advanced RISC Machine)更早称作Acorn RISC Machine,是一个32位精简指令集(RISC)处理器架构。还有基于ARM设计的派生产品,重要产品包括Marvell的XScale架构和德州仪器的OMAP系列。
ARM家族占比所有32位嵌入式处理器的75%,成为占全世界最多数的32位架构。
ARM处理器广泛使用在嵌入式系统设计,低耗电节能,非常适用移动通讯领域。消费性电子产品,例如可携式装置(PDA、移动电话、多媒体播放器、掌上型电子游戏,和计算机),电脑外设(硬盘、桌上型路由器),甚至导弹的弹载计算机等军用设施。
在数据中心需求增长的趋势下,核心芯片的角逐越演越烈。ARM已经进军服务器市场,ARM单核的面积仅为 X86 核的 1/7,同样芯片尺寸下可以继承更多核心数。通过“堆核”的方式,使得ARM架构处理器在性能快速提升下,也能保持较低的功耗。根据Ampere给出的数据,其CPU的性能超越传统x86处理器3倍,性能功耗比领先近4倍。与 x86 服务器CPU相比,Ampere Altra 系列可用50%的能耗,提供200%的性能。
近年来,ARM架构的的兴起下,许多巨头纷纷开始自研ARM架构的服务器芯片,包括国外的亚马逊、谷歌甚至微软,国内的腾讯、阿里巴巴、华为等等都积极参与其中。
曾经失败的高通似乎也在尝试再次进军服务器芯片市场,去年收购了芯片创业公司Nuvia,而Nuvia创立的目标是打造高性能的ARM服务器芯片。
ARM的服务器芯片有三大目标市场即云计算、HPC和边缘计算。

参考链接:
[1] 32、64、x86、x64 有什么区别?Win 11 最大的进步是干掉了这个「老破小」
[2] X86架构与Arm架构区别文章来源地址https://www.toymoban.com/news/detail-861660.html

到了这里,关于x86 32 64 Arm这些听过但不懂,都是什么?是架构还是系统?一文梳理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 服务器基础知识:aarch64 arm64 arm x86有什么区别

    aarch64 和 arm64 是指基于ARM架构的64位处理器,而 arm 是指基于ARM架构的32位处理器。 x86 则是指基于x86架构的处理器。 架构: aarch64 、 arm64 和 arm 都属于ARM架构,而 x86 属于x86架构。 位数: aarch64 和 arm64 是64位处理器架构,能够使用64位的寄存器和指令集。 arm 是32位处理器架构

    2024年02月08日
    浏览(13)
  • X86架构下交叉编译arm64源代码

    glibc在/lib(/lib32 /lib64)目录下的.so文件为libc.so.6 glibc是GNU发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。由于 glibc 囊括了几乎所有

    2023年04月21日
    浏览(15)
  • ARM和X86、X86和X64、Intel和AMD、CPU和GPU介绍

    X86 和 ARM 都是CPU设计的一个架构。X86 用的是复杂指令集。ARM用的是精简指令集。 指令集其实就是机器码,机器码上是汇编,汇编之上是程序语言例如java、c、c#。 复杂指令集是在硬件层面上设计了很多指令,所以编程会简单些。 精简指令集是在硬件层面上设计的指令比较少

    2024年02月04日
    浏览(11)
  • x86架构ubuntu 搭建arm64交叉编译环境及QT编译arm64架构工程

    背景:由于最近项目需要做国产系统适配,很多软件需要重新编译以适配不同架构CPU。 环境: 1、主机win10 64bit   vmware虚拟主机ubuntu1804 64bit 2、vmware虚拟主机已经安装了qt5.14.2及qt_create4.11.1 一、C/C++程序交叉编译 1、交叉编译环境搭建 ①选定编译工具aarch64-linux-gnu ②安装交叉

    2024年02月09日
    浏览(14)
  • 在x86机器上的Docker运行arm64容器

    工作中常用电脑主机CPU为x86架构,有时由于产品需要,我们需要编译aarch64架构的SDK或者应用程序供使用或者测试。 一种比较快捷的方式是使用aarch64的CPU构建相应操作系统,实现真机运行。但在无arm架构CPU环境下,我们可否x86配合相应软件模拟aarch64指令集,实现程序的正常运

    2024年02月06日
    浏览(27)
  • x86架构上构建arm64架构的docker镜像

    项目需要提供arm64架构上的centos7对应docker镜像,然后本地宿主机只有x86架构机器,因此需要在x86机器上构建centos arm64架构的docker镜像 宿主机操作系统:centos7.7 amd64架构 docker版本:19.03.15 ARM,AMD,X86,AArch64的概念可以参考: https://blog.csdn.net/Bubbler_726/article/details/88397357 下载 qemu-

    2024年02月11日
    浏览(20)
  • CentOS(4)——关于Linux软件下载时:amd64、x86、x86_64、arm64 的说明

    目录 一、简介 二、常见的CPU架构 三、Linux查看CPU架构命令 ①arch命令 ②uname -a 命令 ③lscpu 在安装GitLab Runner的时候,去清华源下载RPM包时发现同一个软件有许多不同架构的安装包,常见的有amd64、x86、x86_64、arm64这些架构,这就类似于Windows下安装软件需要区分32bit和64bit。在

    2024年02月03日
    浏览(19)
  • 【docker】x86主机在docker中运行arm64镜像

    1、在x86搭建arm64 ros的开发环境。 2、宿主机:虚拟机x86_ubuntu18 3、设备:jetson agx xavier(jetpack4.6.1) jetson已安装各种软件环境 打包jeston文件系统 把U盘插到jetson,然后执行打包命令。 --exclude是排除不需要打包的文件 2、x86加载docker文件 a、打包完成后,将U盘插到pc主机 b、将文

    2024年02月05日
    浏览(10)
  • 使用QEMU(x86)模拟运行ARM64架构并进行内核调试

    在 x86 上使用 QEMU 虚拟机模拟并调试 ARM64。 参考:ubuntu虚拟机中使用QEMU搭建ARM64环境 主机 ubuntu 20.04, Linux 5.16.0 QEMU emulator version 7.2.92 (v8.0.0-rc2-23-gefcd0ec14b) :qemu-7.2.29 合适的ARM64内核源码:linux-4.14.221.tar.gz 安装交叉编译工具: sudo apt-get install gcc-aarch64-linux-gnu 命令安装以及源码

    2024年02月09日
    浏览(12)
  • arm和x86架构服务器拉取arm64架构的docker镜像

    dockerhub提供的镜像部分支持arm64架构 Docker arm架构服务器拉取docker镜像,默认是arm架构  查看docker镜像的架构 x86平台拉取arm平台的docker镜像 对docker版本有限制 docker运行其他平台容器,需要使用--platform参数指定容器 docker19.03.9及以上版本才支持--platform参数 查看是否开启experi

    2024年01月20日
    浏览(23)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包