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

相关推荐
TeYiToKu4 小时前
笔记整理—linux驱动开发部分(9)framebuffer驱动框架
linux·c语言·arm开发·驱动开发·笔记·嵌入式硬件·arm
编程圈子1 天前
I.MX6U 裸机开发2. 芯片简介、汇编基础及GPIO操作准备工作
嵌入式硬件·arm
android_cai_niao2 天前
处理器用handler表示还是用processor表示比较好?
handler·处理器·processor
CyberSecurity_zhang3 天前
Armv8的安全启动
安全·arm·tf-a·tf-m·安全启动
苏寅3 天前
arm64-v8a 和 armeabi-v7a 有啥区别?
arm
ShiinaKaze7 天前
用图说明 CPU、MCU、MPU、SoC 的区别
mcu·cpu·mpu·soc·计算机架构
冷凝雨11 天前
【复旦微FM33 MCU 外设开发指南】外设篇1——硬件除法器
arm·1024程序员节·复旦微·fm33·fm33lc0
嵌入式小能手11 天前
串口通讯编程示例之开发板测试
linux·嵌入式硬件·arm
初级代码游戏15 天前
折腾记:arm上的mono和.net
.net·arm·mono
千千道18 天前
I.MX6U 之实时时钟(RTC)详解
arm开发·单片机·物联网·arm