从零开始系列(四):一文看懂arm架构和x86架构有什么区别

相关系列文章推荐:
  从零开始系列(一):在github上搭建自己的博客
  从零开始系列(二):数据库基础篇
  从零开始系列(三):Windows10安装Linux子系统(WSL教程)

【版权申明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权);
本博客的内容来自于:从零开始系列(四):一文看懂arm架构和x86架构有什么区别;
学习、合作与交流联系q384660495;
本博客的内容仅供学习与参考,并非营利;

文章目录

  • 从零开始系列(四):一文看懂arm架构和x86架构有什么区别
  • 一、CPU 架构是什么
  • 二、Windows如何查看系统是ARM64还是X64架构
  • 三、如何查看mac系统是32位还是64位的操作系统
  • 四、linux 查看 x64 x86 arm64 以及它们的区别
  • 五、好文推荐

一、CPU 架构是什么

  CPU 的全称是"中央处理单元",它是计算机的核心,计算都由它来完成。但是,CPU 本身只是一个概念,每家芯片公司都有自己的具体实现。

  不同的 CPU 设计实现,就称为" CPU 架构"(CPU architecture)。 不同的 CPU 架构有不同的指令集,彼此不通用,这导致运行在上面的软件也不兼容,必须重新编译。如果没有做适配,一个架构下的软件就无法移植到另一个架构。

  目前市场上主流的芯片架构有 X86、ARM、RISC-V和MIPS四种:

序号 架构 特点 代表性的厂商 运营机构 发明时间
1 X86 性能高,速度快,兼容性好 英特尔,AMD 英特尔 1978年
2 ARM 成本低,低功耗 苹果,谷歌,IBM,华为 英国ARM公司 1983年
3 RISC-V 模块化,极简,可拓展 三星,英伟达,西部数据 RISC-V基金会 2014年
4 MIPS 简洁,优化方便,高拓展性 龙芯 MIPS科技公司 1981年

  从CPU发明到现在,有非常多种架构,从我们熟悉的X86,ARM,到不太熟悉的MIPS,IA64,它们之间的差距都非常大。但是如果从最基本的逻辑角度来分类的话,它们可以被分为两大类,即所谓的“复杂指令集”与“精简指令集”系统,也就是经常看到的“CISC”与“RISC”。 Intel和ARM处理器的第一个区别是,前者使用复杂指令集(CISC),而后者使用精简指令集(RISC)。

  ARM和X86架构最显著的差别是使用的指令集不同。具体区别可以参照这篇文章:一文看懂arm架构和x86架构有什么区别

序号 架构 特点
1 ARM 主要是面向移动、低功耗领域,因此在设计上更偏重节能、能效方面
2 X86 主要面向家用、商用领域,在性能和兼容性方面做得更好

  每一种架构都有自己的优势和不足,天下并没有所谓的“万能芯片架构”。

序号 架构 特点
1 X86 英特尔和AMD的“专属”,在PC市场上独霸多年,地位不可撼动
2 ARM 在移动端和便捷设备上有着不可替代的优势
3 MIPS 在网关、机顶盒等市场上非常受欢迎
4 RISC-V 虽然出来不久,但在智能穿戴产品上的应用广泛,前景广阔

  ARM架构和X86架构是市场份额最大的两大架构,它们有着各自的特点和市场。
目前在移动领域上ARM架构占主流,X86架构也占有一定的市场份额。X86架构由于其封闭性,相对于ARM架构成本更高,但有着更高的性能、更快的速度和兼容性。英特尔近几年也在逐步的布局移动市场,如其推出的X86架构凌动系列处理器,在速度、视频体验、兼容性等方面表现优异。

  x86是指intel的开发的一种32位指令集,从386开始时代开始的,一直沿用至今,是一种cisc指令集,所有intel早期的cpu,amd早期的cpu都支持这种指令集,ntel官方文档里面称为“IA-32”

  x84_64是x86 CPU开始迈向64位的时候,有2选择:1、向下兼容x86。2、完全重新设计指令集,不兼容x86。AMD抢跑了,比Intel率先制造出了商用的兼容x86的CPU,AMD称之为AMD64,抢了64位PC的第一桶金,得到了用户的认同。而Intel选择了设计一种不兼容x86的全新64为指令集,称之为IA-64(这玩意似乎就是安腾),但是比amd晚了一步,而且IA-64也挺惨淡的,因为是全新设计的CPU,没有编译器,也不支持windows(微软把intel给忽悠了,承诺了会出安腾版windows server版,但是迟迟拿不出东西)。。。后来不得不在时机落后的情况下也开始支持AMD64的指令集,但是换了个名字,叫x86_64,表示是x86指令集的64扩展,大概是不愿意承认这玩意是AMD设计出来的。

  也就是说实际上,x86_64,x64,AMD64基本上是同一个东西,我们现在用的intel/amd的桌面级CPU基本上都是x86_64,与之相对的arm,ppc等都不是x86_64。

  x86、x86_64主要的区别就是32位和64位的问题,x86中只有8个32位通用寄存器,eax,ebx,ecx,edx, ebp, esp, esi, edi。x86_64把这8个通用寄存器扩展成了64位的,并且比x86增加了若干个寄存器(好像增加了8个,变成了总共16个通用寄存器)。同样的MMX的寄存器的位数和数量也进行了扩展。此外cpu扩展到64位后也能支持更多的内存了,等等许多好处。

二、Windows如何查看系统是ARM64还是X64架构

在cmd命令窗中输入systeminfo即可,如下图:

三、如何查看mac系统是32位还是64位的操作系统

(一)点击工具栏左上角点击 (苹果Logo)标志,关于本机 --> 更多信息 --> 系统报告 -->(左侧栏中)软件

(二)打开终端,输入命令 uname -a 回车

x86_64 表示系统为64位

i686 表示系统32位的

(三)在终端输入命令 ioreg -l -p IODeviceTree | grep “firmware-abi” | sed -e ‘s/[^0-9A-Z]//g’

输出:EFI64 --就说明系统是64位
输出:EFI32 --就说明系统是32位

四、linux 查看 x64 x86 arm64 以及它们的区别

使用命令$ arch即可查看linux的内核版本。标题中几种版本的区别课参考:linux版本信息以及x86与x86_64的区别

五、好文推荐

苹果电脑为什么要换 CPU:Intel 与 ARM 的战争

从零开始系列(四):一文看懂arm架构和x86架构有什么区别相关推荐

  1. 怎么看电脑系统是win几_一文看懂arm架构和x86架构有什么区别

    一文看懂arm架构和x86架构有什么区别 本文主要介绍的是arm架构和x86架构的区别,首先介绍了ARM架构图,其次介绍了x86架构图,最后从性能.扩展能力.操作系统的兼容性.软件开发的方便性及可使用 ...

  2. 一文看懂arm架构和x86架构有什么区别

    本文主要介绍的是arm架构和x86架构的区别,首先介绍了ARM架构图,其次介绍了x86架构图,最后从性能.扩展能力.操作系统的兼容性.软件开发的方便性及可使用工具的多样性及功耗这五个方面详细的对比了a ...

  3. 极智AI | 一文看懂昇腾达芬奇架构计算单元

        本文详细解释了昇腾达芬奇架构中计算单元的架构与计算原理. 文章目录 1.达芬奇架构概览 2.矩阵计算单元 2.1 矩阵相乘 2.2 矩阵计算单元的计算方式 2.3 向量计算单元的计算方式 2. ...

  4. 一文看懂ARM Cortex-M处理器

    ARM Cortex-M处理器家族现在有8款处理器成员.在本文中,我们会比较Cortex-M系列处理器之间的产品特性,重点讲述如何根据产品应用选择正确的Cortex-M处理器.本文中会详细的对照Cor ...

  5. 一文看懂Linux内核的整体架构

    1. 前言 本文是"Linux内核分析"系列文章的第一篇,会以内核的核心功能为出发点,描述Linux内核的整体架构,以及架构之下主要的软件子系统.之后,会介绍Linux内核源文件的 ...

  6. mysql创建非聚集索引_一文看懂聚集索引和非聚集索引的区别

    一.深入浅出理解索引结构 实际上,可以把索引理解为一种特殊的目录.微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引.簇集索引)和非聚集索引(nonclu ...

  7. 一文看懂npm、yarn、pnpm之间的区别

    原文:Understanding differences between npm, yarn and pnpm 作者:Alex Kras 翻译:雁惊寒 本文作者对比了当前主流的包管理工具npm.yar ...

  8. 干货丨一文看懂人工智能、机器学习和深度学习的区别与联系

    人工智能的浪潮正在席卷全球,诸多词汇时刻萦绕在我们耳边:人工智能(Artificial Intelligence).机器学习(Machine Learning).深度学习(Deep Learning) ...

  9. opengl地球贴纹理_一文看懂材质/纹理 Material, Texture, Shading, Shader 的区别

    在计算机图形学和三维设计中,有几个容易混淆的概念.今天我们来一举拿下. 概念整理 可以这么总结: Material 是表现 Shading 的数据集.其他几个概念都是生成这一数据集的资源或者工具. 这 ...

最新文章

  1. android action pick,Intent中各种常见的Action
  2. 全向飞行器的设计与制作-学生初步汇报内容
  3. [译] Lenses:可组合函数式编程的 Getter 和 Setter(第十九部分)
  4. php allowoverride,Apache之AllowOverride参数详解
  5. Java面试题 简述jvm内存模型?
  6. mysql两种引擎的适用场景_MySQL两种引擎的区别和应用场景
  7. CUBA平台–新的Java企业应用程序框架
  8. nashPay项目遇到的问题
  9. spark中local模式与cluster模式使用场景_不可不知的Spark调优点
  10. 辗转相除法(欧几里得算法)求解最大公约数、最小公倍数
  11. Web1.0、Web2.0、Web3.0的主要区别
  12. 2021-06-22列表样式与背景图片
  13. 排队论(Queuing Theory)
  14. 电脑qq传到我的android文件在哪里,手机QQ传文件到我的电脑功能(QQ数据线)的使用方法...
  15. wex5链接mysql_【WeX5学习】 后端服务之访问数据库表
  16. windows屏幕分辨率获取方式
  17. 【随笔】记录一次简易的液位报警器的拆机修理
  18. java微信小程序内容安全 - 检测文本是否含有违法违规内容
  19. java获取系统时间差_java获取系统时间与实际相差8小时的解决方法
  20. GIT回顾(持续更新)

热门文章

  1. Word中没有EndNote加载项
  2. Kali Linux系统时间同步
  3. 进程(四)exec函数
  4. 程序员须知:面试中最容易被问到的18个算法题(附答案!)
  5. Linux命令之parted命令
  6. 百度用心良苦 搜索页面惊现2012世界末日特效
  7. 适合做手机铃声的88首歌,喜欢就转吧!
  8. 翻页类视图 ViewPager
  9. matlab怎么新建文件运行不了,如何使用MathWorks的MATLAB程序创建脚本文件
  10. 把 Python 打包exe如何让文件更小