『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 发布!

相关推荐
亿道电子Emdoor6 天前
【ARM】DS如何查看工程的堆栈使用情况
arm开发·stm32·单片机·arm
A.sir啊9 天前
计算机组成原理知识点精汇(一)计算机基础知识
硬件架构·cpu·计算机组成原理·冯诺依曼
toradexsh11 天前
ARM 处理器平台 eMMC Flash 存储磨损测试示例
linux·arm·nxp·toradex·emmc
CYRUS STUDIO14 天前
使用 AndroidNativeEmu 调用 JNI 函数
android·汇编·arm开发·arm·逆向·jni
小虾米的Daddy22 天前
ARM64 Trust Firmware [一]
linux·arm·安全架构
问道飞鱼1 个月前
【知识科普】CPU,GPN,NPU知识普及
cpu·gpu·npu
世事如云有卷舒1 个月前
《ARM64体系结构编程与实践》学习笔记(三)
笔记·学习·arm
亿道电子Emdoor1 个月前
【ARM】MDK烧录配置文件无权限访问
arm开发·stm32·单片机·arm
tangyoha1 个月前
arm 下 多线程访问同一变量 ,使用原子操作 性能差问题
arm
徐某人..1 个月前
ARM嵌入式学习--第十天(UART)
arm开发·单片机·学习·arm