『ARM』和『x86』处理器架构解析指南

前言

如果问大家是否知道 CPU,我相信不会得到否定的答案,但是如果继续问大家是否了解 ARM 和 X86 架构 ,他们的区别又是什么,相信可能部分人就会哑口无言

目前随着深度学习、高性能计算、NLP、AIGC、GLM、AGI 的技术迭代,助力大模型快速发展,对于多元算力结合(CPU+GPU)需求越来越高 ,再不了解 CPU 就说不过去了,因此本文将会带您深入了解 CPU 架构,并且解析 CPU 两大主流架构:ARM 和 X86

简介

中央处理器(Central Processing Unit,CPU) 是计算机的运算核心和控制核心。CPU、内部存储器和输入/输出设备是电子计算机三大核心部件。其功能主要是解释计算机指令以及处理计算机软件中的数据

CPU 由运算器、控制器和寄存器及实现它们之间联系的数据、控制及状态的总线构成 。差不多所有的CPU的运作原理 可分为四个阶段:提取(Fetch)、解码(Decode)、执行(Execute)和写回(Writeback)。 CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码,并执行指令

处理器系列

x86

Intel 系列: Celeron(赛扬)、Pentium(奔腾)和Core(酷睿)从低端到高端

AMD 系列:Semporn(闪龙)Athlon(速龙)和 羿龙系列 从低端到高端

因为 Intel 为 x86 架构处理器龙头老大,因此后文某些地方可能使用 Intel 处理器代指 x86 架构处理器

注:上面两家公司主要做 x86 架构,但是也会做 ARM 架构,比如 2016 年 AMD 公司推出基于ARM架构的处理器 Opteron A1100

ARM

基本就是英国 ARM 公司的处理器系列,以及所有 ARM 公司授权的公司,诸如高通、苹果(三星代做)、三星和华为

指令集区别

想要了解 X86 和 ARM,需要先了解复杂指令集(Complex Instruction Set Computer,简称 CISC)和精简指令集(Reduced Instruction Set Computer,简称 RISC)

复杂指令集

在 CISC 微处理器中,程序的各条指令是按顺序串行执行的 ,每条指令中的各个操作也是按顺序串行执行的。顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢。CISC架构的服务器主要以IA-32架构(Intel Architecture,英特尔架构)为主,而且多数为中低档服务器所采用

计算机的指令系统比较丰富,有专用指令来完成特定的功能,因此,处理特殊任务效率较高 。机器的存储器操作指令多,操作直接 。包含有丰富的电路单元,因而功能强、面积大、功耗大

适用领域:个人电脑和服务器

注:x86 架构 主要采用 复杂指令集

精简指令集

RISC 是执行较少类型计算机指令的微处理器,起源于 80 年代的 MIPS 主机 (即 RISC 机),RISC 机中采用的微处理器统称 RISC 处理器

RISC 处理器能够以更快的速度执行操作 (每秒执行更多百万条指令,即 MIPS)。因为计算机执行每个指令类型都需要额外的晶体管和电路元件,计算机指令集越大就会使微处理器更复杂,执行操作也会更慢

因为设计者主要精力放在那些经常使用的指令上,尽量使它们具有简单高效的特色,不常用功能会通过组合指令来完成,因此在RISC 机器上实现特殊功能时,效率可能较低,但可以利用流水技术和超标量技术加以改进和弥补

对存储器操作有限制,使控制简单化 。包含有较少的单元电路,因而面积小、功耗低

适用领域:移动设备和嵌入式系统

注:**ARM 架构 ** 主要采用 精简指令集

总结

就 CPU 功耗来讲,RISC 和 CISC 走了两条不同道路。CISC 走的是性能路线 ,先把性能做上去,功耗其次。不断地考虑如何散热,使用金属片,风扇,水冷等多种设备降温,因为用在 PC 上,耗电大不会有明显的问题。RISC走的是低功耗路线,面向的是需要用电池的场景,功耗低是首要原则,性能其次

64位计算

x86

ADM 公司首先开发出 64 位版本的 x86 指令集,64 位的指令集名为 x86-64(简称 x64)

Intel 公司认为将自己 32 位 x86 架构进化出 64 位架构,新架构效率会很低,因此创建新 64 位处理器项目,名为 IA64,由此制造出 Itanium 系列处理器

后面 AMD 知道自己造不出能与 IA64 兼容的处理器,于是将 x86 扩展,加入了 64 位寻址和 64 位寄存器。最终出来的架构就是 AMD64,最终 ADM 成为了 64 位版本的 x86 处理器的标准。最后 Intel 将 Itanium 系列处理器彻底废弃,并最终采用 AMD64

ARM

ARM 公司在看到移动设备对 64 位计算的需求后,于 2011 年发布了 ARMv8 64 位架构,基于原有的原则和指令集,开发简明的 64 位架构,ARMv8 使用了两种执行模式,AArch32 和 AArch64

ARM 设计的巧妙之处,是处理器运行中可以无缝地在两种模式间切换 。这意味着 64 位指令的解码器是全新设计的,无需兼顾 32 位指令,而处理器依然可以向后兼容

异构计算

ARM 的 big.LITTLE 架构 处理解决当今行业面临的难题:如何创建既有高性能又有极佳节能效果的片上系统 (SoC) 以延长电池使用寿命

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

big.Little 系统中两个处理器之间高效无缝地切换工作负载是通过开发高级 ARM 系统 IP 实现的,这样可确保 Cortex-A15 和 Cortex-A7 处理器之间完全的高速缓存、I/O 的一致性

如果您想要详细了解 big.LITTLE 的底层原理和机制 ,可以查看下方 ARM 官网解释

官方解释:

功耗对比

以前人们的刻板印象,低功耗和高算力处理器就是泾渭分明,x86 架构就是做高算力,ARM 架构就是做低功耗

但是自从苹果发布 M1 芯片(目前的 M2 芯片远超同等 x86 处理器性能),并且随着其他 ARM 处理器的快速发展,人们才恍然惊觉,原来靠低功耗起家的 ARM 也能做高算力 ,可以真正做到更高性能和更低功耗

根据 2022 年 Ampere 公司给出的数据,其 CPU 的性能超越传统 x86 处理器 3 倍,性能功耗比领先近 4 倍,与 x86 服务器 CPU 相比,Ampere Altra 系列可用 50% 的能耗,提供 200% 的性能

参考链接

本文由博客一文多发平台 OpenWrite 发布!

相关推荐
シ風箏21 小时前
Neo4j【环境部署 02】图形数据库Neo4j在Linux系统ARM架构下的安装使用
linux·数据库·arm·neo4j
徐某人..4 天前
ARM嵌入式学习--第八天(PWM)
arm开发·学习·arm
徐某人..4 天前
ARM嵌入式学习--第七天(GPT)
学习·arm
驱动小百科6 天前
NPU是什么?电脑NPU和CPU、GPU区别介绍
电脑·cpu·gpu·npu·电脑硬件
whik11948 天前
Keil-MDK开发环境编译后axf自动转换bin格式文件
stm32·arm·keil·axi·bin·mdk
编程零零七9 天前
【Python】tensorflow中的argmax()函数
开发语言·python·信息可视化·数据分析·arm·python学习·python数据可视化
嵌入式小能手12 天前
shell编程入门之提取字符并设置rtc时间
linux·单片机·嵌入式硬件·arm
和码说15 天前
编程考古-CPU(上)
cpu·计算机科学·编程考古
爱喝纯牛奶的柠檬16 天前
基于stm23的智慧宿舍系统 (DAY10)_小程序
stm32·嵌入式硬件·物联网·阿里云·小程序·arm
嵌入式小能手16 天前
自动化点亮LED灯之shell点灯
linux·单片机·嵌入式硬件·arm