CPU 架构(x86/ARM)简介

news2025/1/11 8:50:43

CPU 架构通过指令集的方式一般可分为 复杂指令集(CISC)精简指令集(RISC) 两类,CISC 主要是 x86 架构,RISC 主要是 ARM 架构,还有 MIPSRISC-VPowerPC 等架构。
在这里插入图片描述
本文重点介绍 x86ARM 架构。

x86

1978 年 6 月 8 日,英特尔发布了 16 位微处理器 8086,这款史诗级的 CPUx86 架构的传奇正式拉开帷幕,x86 架构从此诞生!

之所以叫 x86 架构是因为英特尔发布的 8086801868028680386CPU 都是以 86 结尾的,所以将英特尔之后发布的 CPU 架构都叫做 x86 架构。

IA64

随着技术和硬件的不断发展,CPU 逐步从 16 位、32 位向 64 位转变,英特尔为了继续统治 64 位市场则开发了 IA64 系列,即 英特尔架构64Intel Architecture 64)。

但是 IA64 却是一个彻头彻尾的失败品,原因是 IA64 架构和 x86 架构竟然不兼容。

x86_64

几家欢喜几家忧,伴随着 IA64 的失败 AMD 则是异军突起,率先搞出了兼容 x86x64 架构 x86_64

讽刺的是 Intel 如果想要生产 x86_64 需要有 AMD 的授权,在 x86 的时代则是 AMD 需要向 Intel 要授权,真是三十年河东三十年河西啊。

amd64

因为 x86_64AMD 率先搞出来的,所以 x86_64 也叫 amd64

在安装软件选择版本时应该知道 amd64 其实就是 x86_64

在这里插入图片描述

ARM

ARM 是高级精简指令集的简称(Advanced RISC Machine),属于 精简指令集(RISC) 架构。

ARMv7 以及之前的版本都是 32 位的,ARMv8 就改成 64 位并兼容 32 位。

AArch64

AArch64ARM64 可以认为是同一个东西。

ARM64 很好理解,就是 ARM64 位版本,AArch64 是官方名称,意思是 Arm Architecture 64-bit

对于 ARMv8 来说,它拥有两种执行模式:

  • AArch64 :64-bit registers and memory accesses, new instruction set.
  • AArch32 :backwards compatible with ARMv7-A.

“AArch64” is the official name, it means “Arm Architecture 64-bit”.

“arm64” is an unofficial name some people use because the official name sucks.

Originally there was just the 32-bit architecture, called “ARM”. Then in October 2011 the ARMv8-A spec added a new 64-bit execution state called “AArch64”, retroactively renaming the old 32-bit architecture “AArch32”. Then to add a bit more confusion, in 2017 the company rebranded from being called “ARM” (an acronym for “Advanced RISC Machines”) to just “Arm”.

Support for AArch64 was added to Linux in 2012. The patchset was initially called “aarch64” but was renamed to “arm64”. The LLVM community and Apple started working in parallel to support it in clang in 2012, the LLVM community called it “aarch64” and Apple called it “arm64”. Apple open-sourced their changes and the two efforts lived together in LLVM under their different names and were eventually merged in 2014 so LLVM/clang now just calls it “aarch64”.

具体细节详情可参考 Stack OverflowWiki

  • https://stackoverflow.com/questions/31851611/differences-between-arm64-and-aarch64
  • https://en.wikipedia.org/wiki/ARM_architecture_family#Armv8-R_and_Armv8-M

MIPS

MIPS(Microprocessor without Interlocked Pipeline Stages),是一种采取精简指令集(RISC)的指令集架构(ISA),由美国MIPS计算机系统公司开发,现为美普思科技。MIPS广泛被使用在许多电子产品、网络设备、个人娱乐设备与商业设备上。最早的MIPS架构是32位,最新的版本已经变成64位。

参考文章:https://en.wikipedia.org/wiki/MIPS_architecture

RISC-V

RISC-V(发音为“risk-five”)是一个基于精简指令集(RISC)原则的开源指令集架构(ISA),简易解释为开源软件运动相对应的一种“开源硬件”。该项目2010年始于加州大学伯克利分校,但许多贡献者是该大学以外的志愿者和行业工作者。

与大多数指令集相比,RISC-V指令集可以自由地用于任何目的,允许任何人设计、制造和销售RISC-V芯片和软件而不必支付给任何公司专利费。虽然这不是第一个开源指令集[1],但它具有重要意义,因为其设计使其适用于现代计算设备(如仓库规模云计算机、高端移动电话和微小嵌入式系统)。设计者考虑到了这些用途中的性能与功率效率。该指令集还具有众多支持的软件,这解决了新指令集通常的弱点。[2]

RISC-V指令集的设计考虑了小型、快速、低功耗的现实情况来实做,但并没有对特定的微架构做过度的设计。[3][4]截至2017年5月RISC-V已经确立了版本2.22的用户空间的指令集(userspace ISA),而特权指令集(privileged ISA)也处在草案版本1.10。

参考文章:https://en.wikipedia.org/wiki/RISC-V

PowerPC

PowerPC(Performance Optimization With Enhanced RISC – Performance Computing,简称PPC)是一种精简指令集(RISC)的指令集架构 ISA(Instruction set architecture),其基本的设计源自IBM的POWER(Performance Optimized With Enhanced RISC)架构。

1991年,Apple、IBM、Motorola组成AIM联盟,意欲发展一泛用的微处理器架构,其成果即为PowerPC。PowerPC架构基础来自于1990年随RISC System/6000推出的IBM POWER架构,而POWER架构又是从早期的RISC架构(比如IBM 801)与MIPS架构的处理器得到灵感的。PowerPC架构的特点是可伸缩性好、方便灵活。第一代PowerPC采用0.6微米制程,晶体管约为单芯片280万个。

参考文章:https://en.wikipedia.org/wiki/PowerPC

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/492378.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

idea中maven的几个操作按钮:clean、validate、compile...

idea中Maven生命周期指令 clean命令 清除由项目编译创建的target validate命令 验证项目是否正确,并且所有必要的信息均可用 compile命令 编译项目的源代码 test命令 使用合适的单元测试框架来测试编译的源代码。 这些测试不应要求将代码打包或部署 verify命令 …

智安网络|一文看懂内核平台和系统服务的联系

内核平台和系统服务是操作系统中两个非常重要的组成部分。内核平台是系统底层的核心,负责管理和控制计算机硬件和资源的访问。而系统服务则是在内核之上运行的程序集合,为操作系统提供各种功能和服务。 内核平台和系统服务的关联非常密切。系统服务必须…

Emqx的简单使用

Emqx 是一个mqtt 的服务器产品。之前activemq可以作为mqtt协议的服务器,但是功能相对来说比较单一。Emqx作为跟Mqtt协议相关的新一代产品,功能实际上更为强大。 它的功能也主要体现在可视化/认证/规则/httpApi 上面。 1.Emqx 的安装 这里采用了docker…

JMeter 计算上一个接口取值到本次接口进行四则运算赋值

项目场景: 公司项目需要接口关联计算进行赋值: 项目场景:A接口提取的返回值,在传到B接口使用时,需要先进行四则运算后,再赋值使用。 A接口提取的值 B接口需要使用计算后的值 问题描述 使用beanshell预…

必须掌握的ArrayList,LinkedList,HashMap,HashTable,Collection,Colections

人的自由并不在于可以做他想做的事,而在于可以不做他不想做的事。 ArrayList和linkedList的区别 Array数组是基于索引(index)的数据结构,它使用索引在数组中搜索和读取数据是很快的 Array获取数据的时间复杂度是o(1)&#xff…

南卡OE系列再添新成员,造型犀利有型,性能强劲动听!

科技的快速发展让消费者对智能互联、操作体验、设计审美、安全健康等需求越发高涨,蓝牙耳机也正在由功能性向舒适性方向发展。如何提高蓝牙耳机的舒适度、拥有更舒适的听歌体验,成为蓝牙耳机品牌和消费者共同努力的方向。 Nank南卡:更专业的骨…

【Linux】单机版QQ之管道中的命名管道

还记得上一篇的匿名管道吗? 文章目录 前言一、命名管道总结 前言 命名管道是什么呢? 管道应用的一个限制就是只能在具有共同祖先(具有亲缘关系)的进程间通信。 如果我们想在不相关的进程之间交换数据,可以使用FIFO文…

一百零七、MySQL数据库的数据备份与数据恢复

MySQL数据库的数据备份与恢复主要有3种方法,前两种都是MySQL dump命令,第三种则是用Navicat工具直接备份。相比而言,第三种方法更加简单! 1 方法一(MySQL dump命令) 1.1 登录MySQL [roothurys22 ~]# mysq…

Maya云渲染如何使用,Maya云渲染流程实操!

Maya 是一款专业的 3D 软件,用于创建逼真的角色和大片的效果,Maya可以加速工作流程,帮助您专注于创造力并按时完成任务。也可以为角色和场景添加精美的细节,并提供让客户满意的优质作品。更有无数业内顶级艺术家依靠 Maya来创作更…

【Halcon】新建程序 读取图片 路径设置

文章目录 1 新建程序2 读取一张图片3 图片路径4 图片格式读取报错5 快速添加 绝对路径 1 新建程序 点击新程序图标,即可新建; 程序另存为,会弹出保存路径 2 读取一张图片 read_image(Image,fabrik)此时工程路径下并没有图片; …

SpringBoot2 集成 ELK 实现日志收集

目录 一 简介 二 ELK 各组件作用 三 ELK 各组件安装 四 Spring Boot2 集成 logstash 一 简介 ELK 即 Elasticsearch、Logstash、Kibana 组合起来可以搭建线上日志系统,本文主要讲解使用ELK 来收集 SpringBoot2 应用产生的日志。 二 ELK 各组件作用 Elasticsea…

基于FPGA和Matlab实现的FFT功能验证

一 、FFT设计验证思路 1、基于Matlab与FPGA的混频sin信号的FFT验证,分别在Matlab和FPGA开发环境上实现相同的FFT功能设计。 2、Matlab平台开发,使用自带的fft函数与相关操作函数,绘制出混频sin信号,经过fft功能处理后的频谱图。 3…

2022 ios APP最新开发测试教程

转载:2022 ios APP最新开发测试教程1.本文详细介绍最新的在windows上进行ios app开发编译打包安装到手机测试的完整流程。介绍ios开发经常遇到的问题和解决方法,包括ios开发证书,ios开发描述文件等。http://kxdang.com/topic/appuploader/ios…

IP报文结构

文章目录 IP报文结构分片 IP报文结构 4位版本号(version): 指定IP协议的版本, 对于IPv4来说, 就是4. 4位头部长度(header length): 类似于TCP4位首部长度,通常填的是0101(十进制5) 16位总长度(total length): IP数据报整体占多少个字节.这用…

大数据企业应用合作解决方案案例

打造产教融合的就业育人的综合服务平台,给予十余年的数据智能产业实践经验,专注于大数据和人工智能方向。 目前合作的企业案例包括:信访大数据平台解决方案、工业废水处理解决方案、找齐远程监控解决方案、道路运输安全、广电用户服务大数据解…

VS2019 c++ cmake项目 打包并使用 (lib\dlll)

背景 最近项目中经常调用第三方库、带头文件、lib和dll的库,需要使用cmake进行项目管理,之前一直比较糊涂这方面,在这里做一个整理总结 编译汇编过程 静态链接方式: 把lib里面编译好的东西(函数、变量等&#xff09…

【Yolo】YoloV5训练自定义模型

【Yolo】Jetson Orin Nano下部署 YoloV5 上一篇博文主要记录了在Jetson Orin Nano下部署YoloV5环境,并运行了yoloV5n.pt模型,本篇在上一篇的基础上,进一步记录如何训练自己的目标模型,我们以一根口香糖盒子为训练对象进行说明。 …

Kali Linux 操作系统安装详细步骤——基于 VMware 虚拟机

1. Kali 操作系统简介 Kali Linux 是一个基于 Debian 的 Linux 发行版,旨在进行高级渗透测试和安全审计。Kali Linux 包含数百种工具,适用于各种信息安全任务,如渗透测试,安全研究,计算机取证和逆向工程。Kali Linux 由…

学习笔记(4)页面开发

目录 1,页面开发1.1,标签类1.2,资源引用1.3,页面跳转 2,开发规范2.1,应用生命周期2.2,页面生命周期:2.3,条件编译 3,注意事项 1,页面开发 1.1&am…

真实业务场景使用-模板模式+策略模式组合

模板和策略设计模式一般是使用最频繁的设计模式,模板的场景主要是处理一系列相同的流程,将这些流程放到模板里,每个流程里的处理可能有一些不一样的地方,则可以抽象出一个方法,由每一个有实际意义的子类实现。 策略模…