CPU_X86架构和ARM架构入门篇

简介: CPU_X86架构和ARM架构入门篇

脑图

常见的四大CPU体系结构ARM、X86/Atom、MIPS、PowerPC,这里我们来看下主流的X86架构和ARM架构。


视频解读

CPU的x86和ARM架构有啥区别?指令集又是啥?

它诞下AMD和Intel,孕育了硅谷,让乔布斯顶礼膜拜–仙童半导体公司

X86架构——Intel 全球最大的半导体公司,荣誉背后,英特尔究竟经历了怎样的沉浮?

X86架构——和英特尔直面对抗,为什么说AMD是芯片企业中最可怕的那个

芯片行业的巨头ARM(英国公司,2016年已被日本软银收购),即使是高通这样的公司,都时刻受其制约

概括来说:

CPU两个主要的发展方向根据指令集架构来划分: 复杂指令集VS精简指令集

而复杂指令集和精简指令集最为代表性的CPU架构 : X86 和 ARM

使用X86架构生产CPU的巨头公司: Intel 和 AMD (这两家的创始人都是从仙童半导体公司出走创办的) ,采用复杂指令集 (CISC)

使用ARM(Advanced RISC Machine)架构生产CPU的巨头公司: 英国ARM公司,采用精简指令集 (RISC),ARM公司依靠 知识产权(IP) 和 指令集架构授权盈利。ARM 公司本身并不靠自有的设计来制造或出售 CPU ,而是将处理器架构授权给有兴趣的厂家,比如手机行业的 高通、三星巨头都需要依靠ARM架构来生产手机芯片 。


CPU的组成

中央处理单元(CPU)主要由运算器、控制器、寄存器三部分组成。

简单的说

  • 控制单元是整个CPU的指挥控制中心,由程序计数器PC(Program Counter), 指令寄存器IR(Instruction
    Register)、指令译码器ID(Instruction Decoder)和操作控制器OC(Operation Controller)等组成
  • 运算单元:是运算器的核心。可以执行算术运算和逻辑运算。 运算器接受控制单元的命令而进行动作,即运算单元所进行的全部操作都是由控制单元发出的控制信号来指挥的,所以它是执行部件。
  • 存储单元:包括CPU片内缓存和寄存器组,是CPU中暂时存放数据的地方,里面保存着那些等待处理的数据,或已经处理过的数据,CPU访问寄存器所用的时间要比访问内存的时间短。采用寄存器,可以减少CPU访问内存的次数,从而提高了CPU的工作速度。但因为受到芯片面积和集成度所限,寄存器组的容量不可能很大。


指令集架构: 复杂指令集 (CISC) VS 精简指令集 (RISC)

目前已存的指令集架构有4种:

  • 复杂指令集运算(Complex Instruction Set Computing,CISC);
  • 精简指令集运算(Reduced Instruction Set Computing,RISC) ;
  • 显式并行指令集运算(Explicitly Parallel Instruction Computing,EPIC);
  • 超长指令字指令集运算(VLIW)。

基于VLIW研发的CPU架构主要用于早期的小型机,现在已基本消亡。而EPIC是Intel和HP从VLIW中发展出来的,目前好像只有Intel的IA-64架构下的纯64位微处理器的Itanium/Itanium 2采用EPIC。因此目前比较流行的指令集只剩下:CISC和RISC。

要了解X86和ARM,首先需要先了解复杂指令集(CISC)和精简指令集(RISC),这两个是处理器设计的两个大的方向

举个简单的例子来理解CISC 和 RISC:机器人跳舞

复杂指令集,下发一条跳舞指令,机器人就可以完成跳舞

精简指令集,需要下发 上下左右前前后后等多条指令,机器人才能完成跳舞。

基于指令集的CPU架构 (除了X86是CISC,剩下的基本都是RISC):

  • CISC:Intel和AMD的X86架构都是基于CISC,包括X86和X86-64。
  • RISC: 包括ARM架构、MIPS架构、IBM 的PowerPC架构、SUN 的 Ultra SPARC架构。

X86架构

X86架构是微处理器执行的计算机语言指令集,基于Intel 8086且向后兼容的中央处理器指令集架构,包括Intel 8086、80186、80286、80386以及80486,由于以“86”作为结尾,因此其架构被称为“x86”

应用领域:个人计算机、服务器等


ARM架构

ARM架构是一个精简指令集(RISC)处理器架构,其广泛地使用在许多嵌入式系统设计。由于节能的特点,ARM处理器非常适用于移动通讯领域,符合其主要设计目标为低耗电的特性。

应用领域:手机、PAD、导航系统、网络设备等都是ARM架构,目前世界上使用最广泛的CPU就是ARM


X86架构 VS ARM架构

制程工艺

ARM架构主要用途决定其追求处理器功耗低,而X86架构则是处理能力强大。现在主流的ARM芯片已使用10nm制程工艺了,而I7CPU却依然采用的14nm制程工艺


64位计算

对于64位计算,X86架构的两巨头ARM和Intel也有一些显著区别。Intel最初并没有开发64位版本的x86指令集。64位的指令集名为x86-64(有时简称为x64),实际上是AMD设计开发的。Intel做的64位计算,是搞了一个新64位处理器项目名为IA64。由此制造出了Itanium系列处理器。而AMD知道自己造不出能与IA64兼容的处理器,于是它把x86扩展一下,加入了64位寻址和64位寄存器。最终出来的架构,就是 AMD64,成为了64位版本的x86处理器的标准。

而ARM在看到移动设备对64位计算的需求后,于2011年发布了ARMv8 64位架构。ARMv8使用了两种执行模式,AArch32和AArch64。顾名思义,一个运行32位代码,一个运行64位代码。ARM设计的巧妙之处,是处理器在运行中可以无缝地在两种模式间切换


异构计算

ARM的big.LITTLE架构是一项Intel一时无法复制的创新。

在big.LITTLE架构里,处理器可以是不同类型的。

传统的双核或者四核处理器中包含同样的2个核或者4个核,每个核提供一样的性能,拥有相同的功耗。而ARM通过big.LITTLE向移动设备推出了异构计算。这意味着处理器中的核可以有不同的性能和功耗。当设备正常运行时,使用低功耗核,而当你需要高计算能力时,使用的是高性能的核。


功耗

首先,功耗和工艺制程相关.

现在主流的制程工艺在10nm-14nm,而主流ARM架构CPU和X86架构CPU的制程工艺相差不大。

其次和设计相关。

X86为了增强对乱序操作的处理能力,加强了乱序指令的执行。此外,X86还增强了单核的多线程能力。,性能高,功耗高。 ARM的指令强在确定次序的执行,并且依靠多核而不是单核多线程来执行。这样容易保持子模块和时钟信号的关闭,显然就更省电。


MIPS架构

上世纪80年代由美国斯坦福大学Hennessy教授的研究小组研发,它采用精简指令系统计算结构(RISC)来设计芯片。

和Intel采用的复杂指令系统计算结构(CISC)相比,RISC具有设计更简单、设计周期更短等优点,并可以应用更多先进的技术,开发更快的下一代处理器。

MIPS是出现最早的商业RISC架构芯片之一,新的架构集成了所有原来MIPS指令集,并增加了许多更强大的功能。MIPS自己只进行CPU的设计,之后把设计方案授权给客户,使得客户能够制造出高性能的CPU。

应用领域:工作站等计算机平台,目前国内龙芯主要使用MIPS架构机器

  • 龙芯基于 MIPS架构,自研
  • 兆芯(上海兆芯集成电路有限公司生产)基于X86架构的兆芯x86通用处理器 。

02年,中科院计算机研究所制造了龙芯处理器,但未经授权,一直被MIPS公司状告侵权。07年,中科院计算机研究所的龙芯处理器获得了MIPS的全部专利、指令集授权,中国开始走上了一MIPS为基础的CPU研发道路。


PowerPC架构

PowerPC是IBM联合苹果、摩托罗拉公司研发的一种基于RISC精简指令集的CPU。

PowerPC架构最大优点是灵活性非常好,核心数目灵活可变,因此在嵌入式设备上具有很高效益,可以针对服务器市场做超多核,针对掌机做双核,因此它具有优异的性能、较低的能量损耗以及较低的散热量。


相关文章
|
3月前
|
Ubuntu Linux
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
838 3
|
17天前
|
Kubernetes 关系型数据库 MySQL
Kubernetes入门:搭建高可用微服务架构
【10月更文挑战第25天】在快速发展的云计算时代,微服务架构因其灵活性和可扩展性备受青睐。本文通过一个案例分析,展示了如何使用Kubernetes将传统Java Web应用迁移到Kubernetes平台并改造成微服务架构。通过定义Kubernetes服务、创建MySQL的Deployment/RC、改造Web应用以及部署Web应用,最终实现了高可用的微服务架构。Kubernetes不仅提供了服务发现和负载均衡的能力,还通过各种资源管理工具,提升了系统的可扩展性和容错性。
51 3
|
23天前
|
存储 前端开发 测试技术
Android kotlin MVVM 架构简单示例入门
Android kotlin MVVM 架构简单示例入门
27 1
|
27天前
|
Docker 容器
docker:记录如何在x86架构上构造和使用arm架构的镜像
为了实现国产化适配,需将原x86平台上的Docker镜像转换为适用于ARM平台的镜像。本文介绍了如何配置Docker buildx环境,包括检查Docker版本、安装buildx插件、启用实验性功能及构建多平台镜像的具体步骤。通过这些操作,可以在x86平台上成功构建并运行ARM64镜像,实现跨平台的应用部署。
486 2
|
27天前
|
消息中间件 关系型数据库 Java
‘分布式事务‘ 圣经:从入门到精通,架构师尼恩最新、最全详解 (50+图文4万字全面总结 )
本文 是 基于尼恩之前写的一篇 分布式事务的文章 升级而来 , 尼恩之前写的 分布式事务的文章, 在全网阅读量 100万次以上 , 被很多培训机构 作为 顶级教程。 此文修改了 老版本的 一个大bug , 大家不要再看老版本啦。
|
30天前
|
编解码 弹性计算 应用服务中间件
阿里云服务器Arm计算架构解析:Arm计算架构云服务器租用收费标准价格参考
阿里云服务器架构分为X86计算、Arm计算、高性能计算等多种架构,其中Arm计算架构以其低功耗、高效率的特点受到广泛关注。本文将深入解析阿里云Arm计算架构云服务器的技术特点、适用场景以及包年包月与按量付费的收费标准与最新活动价格情况,以供选择参考。
|
15天前
|
监控 API 持续交付
后端开发中的微服务架构:从入门到精通
【10月更文挑战第26天】 在当今的软件开发领域,微服务架构已经成为了众多企业和开发者的首选。本文将深入探讨微服务架构的核心概念、优势以及实施过程中可能遇到的挑战。我们将从基础开始,逐步深入了解如何构建、部署和管理微服务。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和实用的建议。
34 0
|
1月前
|
机器学习/深度学习 弹性计算 编解码
阿里云服务器计算架构X86/ARM/GPU/FPGA/ASIC/裸金属/超级计算集群有啥区别?
阿里云服务器ECS提供了多种计算架构,包括X86、ARM、GPU/FPGA/ASIC、弹性裸金属服务器及超级计算集群。X86架构常见且通用,适合大多数应用场景;ARM架构具备低功耗优势,适用于长期运行环境;GPU/FPGA/ASIC则针对深度学习、科学计算、视频处理等高性能需求;弹性裸金属服务器与超级计算集群则分别提供物理机级别的性能和高速RDMA互联,满足高性能计算和大规模训练需求。
|
1月前
|
存储 Docker 容器
ARM架构鲲鹏主机BClinux离线安装docker步骤
下载并安装适用于ARM架构的Docker CE二进制文件,解压后移动至/usr/bin目录。创建docker组,配置systemd服务脚本(docker.service、docker.socket、containerd.service),重载systemd配置,启动并启用docker服务。编辑daemon.json配置存储驱动、镜像加速地址等,最后拉取所需镜像。
44 0
|
2月前
|
存储 缓存 开发者
CPU的架构涵盖哪些方面
CPU(中央处理单元)的架构指的是CPU的设计和组织方式,包括其内部结构、数据通路、指令集、寄存器配置、存储器管理和输入输出等一系列设计原则和技术的综合体现。
71 1