引言
我本来想讲讲 ARM 的 发展和历史, 但是我们现在这个阶段去了解ARM的历史,估计也不会留下太深刻的印象。那么我们换个主题, 我们来看看ARM架构的竞争对手,X86 , RISC-V , Xtensa 等。 国内的很多科技公司也都在转型国产芯片,芯片架构也不例外,所以我们十分有必要观看本文!
0x02
上一期 ARM架构到底是啥? 点击 -> 传送门
这是深入学习ARM架构第二篇文章。
ARM架构的历史与发展
ARM架构的历史始于1980年代,由英国Acorn公司开发,最初用于个人计算机。1985年,首个ARM处理器Acorn RISC Machine发布。1990年,Acorn成立ARM公司,专注于处理器设计与授权。
ARM架构从最初的ARMv1版本逐步演进,目前发展到ARMv9。每个版本都带来了性能和功能的提升,例如ARMv7引入了Cortex-A系列,成为移动设备的核心架构,而ARMv8引入了64位计算能力,广泛应用于智能手机和服务器。ARMv9则进一步增强了安全性、人工智能处理和高性能计算的能力。
如今,ARM架构已成为移动设备、嵌入式系统和物联网领域的主流选择,其低功耗、高效能的特点推动了全球计算设备的革命性发展。
芯片架构
上一期我们说了ARM公司 是设计芯片内核的, 那么肯定不止它一家在做这个事嘛, 接下来我们就一起来捋一捋都有哪些芯片架构吧!
8051架构
我们在学校的时候,学校的第一门课大多都是 C51 单片机吧! 其实 C51有着自己的芯片架构 那就是 8051 架构 , 8051架构被广泛用于嵌入式系统开发,特别是在简单的控制和自动化任务中。许多芯片制造商(如Atmel、STC等)基于8051架构生产微控制器,具有低成本、低功耗的特点。
在技术群里,总有人问常问: 入门嵌入式可不可以直接学32,可不可以跳过51单片机 等 问题,我认为还是十分有必要先从51学起的! 说起 51单片机, 相信我提起 普中, 郭天祥, 江科大自动协 一定能勾起的大家的回忆吧,哈哈哈 !!! 如果你想学C51的话 我安利 江协科技 的C51教程,讲得确实通俗易懂哦!
ARM架构
ARM-CortexM
大多数人在学习过C51单片机以后,会选择 STM32单片机进阶,如果我说起STM32F103C8T6
是不是又是一波回忆杀?
我们使用的STM32单片机是由 ST 公司 生产的, 我们以下图ST的MCU为例,讲讲其中使用的ARM内核, 以后的文章我们会基于ARM-CortexM3深入讲解 ARM架构 。 ST官网
由上图 我们发现 ST 主要使用了 ARM的Cortext-M系列的内核,在M系列里又分为了 M0, M3, M4,M7, M33等 ,我们不需要去背它, 等未来你在做项目的时候, 你需要对项目进行评估,进行芯片选型,到那时,你一天到晚都在看 各种芯片的资源和外设的时候, 然后再拿这个芯片的价格和负责人拉扯的时候,你自然而然的就记住这些不同系列的区别了。
ARM-CortexA
我们看了ST, 看了高通, 那您听说过NXP 的 I.MX6U 系列芯片吗? 它使用了 Cortex-A 架构,有着更高的性能,可以跑Linux系统。但是我们这篇帖子先不介绍它, 而是介绍我国珠海全志科技出品的 T113-S3 芯片, 如下图所示它也使用了 Cortex-A 系列内核, 这款内核和芯片有着更强的性能, 这意味着它可以做出更高端的产品。
ARM-CortexX
我们上期说的小米手机芯片采用了高通骁龙芯片, 高通骁龙 8gen3又采用了 ARM架构,那么它使用的是哪个内核呢? 其实上期的图里已经写了 那就是 Cortex-X 内核, 这是ARM 新推出的,性能十分强大, 在这之前手机芯片大都还使用 Cortex- A内核。
看到这我相信你应该有了这些理解
- ARM架构市场份额大,很多电子产品都使用ARM架构
- ARM内核有更多系列,各个系列都有它擅长的领域
- 做嵌入式行业需要深入学习ARM架构
除了这些, 你还有哪些理解,快去评论区一起交流吧!
X86架构
x86架构是一种广泛使用的计算机处理器架构,由英特尔公司在1978年推出。它的名称源于最初的处理器型号(如8086、80286、80386等)的后缀数字。
关键特点:
-
指令集架构(ISA):
- x86架构是一个复杂指令集计算(CISC)架构,拥有丰富的指令集和寻址模式。
- 支持多种数据类型和运算操作,包括整数运算、浮点运算和控制流指令。
-
向后兼容性:
- x86架构的一个重要特点是向后兼容性,意味着新型号的处理器通常能够运行旧版本处理器上的软件。
- 这种兼容性使得旧软件能够在新的处理器上运行,同时也保证了对旧软件的长期支持。
X86架构因其强大的功能、兼容性和广泛的支持而成为现代计算机系统的主流架构之一
ARM架构和X86的对比
ARM 和 x86 是两种主流的处理器架构,各有不同的设计理念和应用场景:
-
指令集:ARM 使用精简指令集(RISC),指令简单高效;x86 则是复杂指令集(CISC),单条指令功能更强大,但执行复杂。
-
功耗:ARM 的设计注重低功耗,常用于移动设备;x86 功耗较高,更多见于桌面电脑和服务器。
-
性能:x86 架构擅长处理复杂任务和多线程操作,适合高性能计算;ARM 性能也在快速提升,尤其在并行计算上表现优异。
-
应用场景:ARM 广泛用于智能手机、嵌入式设备;x86 主要用于PC和高性能服务器。
Apple M系列芯片
虽然我们从传统观念上,认为X86架构的CPU性能大多要比ARM强大更适合做PC端的CPU,但是苹果公司给我们打了个样, 我记得在高一的那个晚上,它发布了第一款搭载 Apple M1 的芯片,当时大家充满了质疑, 但是Apple用实力证明了,这是一个颠覆性的芯片 。Apple公司 ,
以上是苹果的两款 MacBook 它们分别搭载了 M2, M3处理器。
我这里抛出几个问题:
- 你知道苹果是哪一年发布M1芯片的吗?
- 为什么 Apple 发布 M1芯片大众充满了质疑?
- Apple M1 CPU 使用的是什么架构?
RISC-V架构
RISC-V 是一种开源的指令集架构(ISA),设计目标是简单、模块化和可扩展。与 ARM 或 x86 等专有架构不同,RISC-V 是完全免费的,任何人都可以使用,这也促进了其在各个行业的广泛应用。它的模块化设计允许用户根据需要进行定制扩展,因此在从嵌入式系统到高性能计算的各种应用中都具有很高的灵活性。
由于 RISC-V 的开源性质,它被认为有助于推动创新,并减少对单一厂商解决方案的依赖。
这是 兆易创新 GD32VF103
处理器,从下图我们可以得知,它使用 RISC-V架构, 不止兆易创新,国内MCU如雨后春笋般迅猛生长, 你还知道哪些国内的MCU厂商?
Xtensa架构
Xtensa 是由 Tensilica(现为 Cadence 旗下)开发的一种可配置的 RISC 指令集架构。Xtensa 的独特之处在于其高度的可定制性,允许芯片设计者根据特定应用需求添加或修改指令集。这使得 Xtensa 架构非常适合嵌入式系统、DSP 处理、音频和视频处理等领域。
通过使用 Xtensa 处理器,开发者可以创建高度优化的 SoC(系统级芯片),以在功耗、性能和面积之间达到理想的平衡。
下图是乐鑫科技的ESP32S3, 同样十分好用,强烈安利。
特性 | X86 | ARM | RISC-V |
---|---|---|---|
架构类型 | CISC(复杂指令集) | RISC(精简指令集) | RISC(精简指令集) |
开放性 | 封闭,专利保护 | 封闭,需授权 | 开源,完全免费 |
主要应用领域 | 个人计算机、服务器 | 移动设备、嵌入式系统、服务器 | 各类嵌入式系统、高性能计算 |
指令集复杂度 | 高,拥有大量复杂指令 | 中等,指令集较精简 | 可配置,基础指令集精简 |
能耗效率 | 较低 | 高,特别适用于移动设备 | 高度可调,依应用需求而定 |
扩展性 | 低,可扩展性有限 | 中等,具备一定的扩展性 | 高度模块化,支持定制扩展 |
厂商 | Intel, AMD | ARM Holdings, 各大芯片厂商授权 | 各类公司与开源社区 |
生态系统 | 强大,广泛支持现有软件 | 广泛,特别在移动领域有优势 | 新兴,快速增长 |
历史 | 1978 年推出(Intel 8086) | 1985 年推出(Acorn RISC Machine) | 2010 年推出,由 UC Berkeley 开发 |
总结
通过本篇文章,我们了解到了很多芯片架构以及一些对应芯片架构的芯片。
由于篇幅有限,我无法给大家在本篇文章中都详细的介绍, 但是我的专栏会在以后的文章中反复的研究,如果你对此感兴趣,欢迎关注!
下一期 : ARM-Cortex-M入门
连载中, 如果你对本文有兴趣或者意见,我十分希望能看到您的留言和评论!