上篇文章:ARM Cortex-M 系列 2.1 – RT-Thread Cortex-M7 异常处理及 hardfault 处理分析
ARM 架构
ARM架构是一种处理器架构,全称为高级精简指令集计算机(Advanced RISC Machine)。它是英国ARM公司设计的一种精简指令集(RISC)处理器架构,和复杂指令集(CISC)处理器架构相对。
CISC 与 RISC 差异
CISC(Complex Instruction Set Computer,复杂指令集计算机)和RISC(Reduced Instruction Set Computer,精简指令集计算机)是两种不同的CPU设计理念。它们的主要差异在于指令集的复杂性、执行效率和硬件设计。
-
指令集:CISC的指令集更复杂,包含大量的复杂和专门的指令,例如,一条指令可能就能完成数据的加载、运算和存储等多个操作。而RISC的指令集则更精简,每条指令只做一件事,如加载数据、运算或存储数据。
-
执行效率:CISC的每条指令执行时间不同,有的指令可能需要多个时钟周期来执行。而RISC的每条指令设计为在一个时钟周期内完成,这样可以简化硬件设计,提高指令的执行效率。
-
硬件设计:CISC的硬件设计相对复杂,因为需要硬件来处理复杂的指令。而RISC的硬件设计更简单,因为它的指令集更精简。这使得RISC的处理器更容易设计,也更容易实现并行处理,以提高性能。
-
应用场景:CISC在桌面电脑和服务器等需要执行复杂计算任务的场景中常见,例如Intel的x86架构。而RISC更多应用在移动设备和嵌入式系统中,这些场景下对功耗和体积有更高的要求,例如ARM架构。
Intel和ARM处理器的第一个区别是,前者使用复杂指令集(CISC),而后者使用精简指令集(RISC)。属于这两种类中的各种架构之间最大的区别,在于它们的设计者考虑问题方式的不同。ARM从来只是设计低功耗处理器,Intel的强项是设计超高性能的台式机和服务器处理器。
ARM 架构版本
ARM架构的主要特点是高性能、低功耗和小体积,特别适用于移动通信、嵌入式系统和其他功耗敏感的应用。
ARM架构主要有以下几个版本:
- ARMv1至ARMv3:这是最初的ARM架构,采用32位设计。
- ARMv4和ARMv5:在这两个版本中,ARM开始支持DSP指令和嵌入式实时操作系统。
- ARMv6:在这个版本中,ARM增加了SIMD指令。
- ARMv7:这是目前最广泛应用的ARM架构,它被分为三个系列:A系列用于高性能产品,R系列用于实时系统,M系列用于微控制器。
- ARMv8:这是ARM首次引入64位架构,它同时支持64位和32位应用。
ARM架构由于其高性能和低功耗的优点,广泛应用于各种电子设备中,包括智能手机、平板电脑、电视、路由器,以及汽车电子、工业自动化等领域。
ARMv6 与 ARMv7 差异
以下是它们的主要区别:
- 性能:ARMv7的性能一般比ARMv6更强。这是因为ARMv7引入了新的指令集,以及更强的浮点运算支持,可以提高处理器的计算性能。
- 浮点运算:ARMv7引入了硬件浮点运算支持(VFPv3),而ARMv6则使用较旧的VFPv2浮点运算。硬件浮点运算可以极大提高处理器处理浮点数的能力。
- 指令集:ARMv7引入了Thumb-2指令集,这是一种混合了32位和16位指令的新指令集,它既能像32位ARM指令那样提供高性能,又能像16位Thumb指令那样节省存储空间。而ARMv6则只支持原始的Thumb指令集。
- 应用:ARMv7早期被广泛应用在高性能的嵌入式系统中,例如智能手机和平板电脑(现在以ARMv8为主,部分是ARMv9)。而ARMv6则多用于低端的嵌入式设备。
ARMv8 与 ARMv7 差异
以下是它们的主要区别:
-
位数:ARMv8 是 ARM 公司首次引入的 64 位架构,它同时支持 64 位和 32 位应用。而 ARMv7 主要是 32 位架构。
-
指令集:ARMv8 引入了新的指令集 AArch64,用于执行 64 位操作。而 ARMv7 使用的是 ARM 和 Thumb 指令集。
-
浮点和 SIMD 支持:ARMv8 改进了浮点和 SIMD 的支持,它包括新的浮点运算指令和为多媒体和数据处理优化的新 SIMD 指令。
-
虚拟化支持:ARMv8 引入了硬件虚拟化支持,提高了在虚拟环境中运行应用的性能。
-
安全性:ARMv8 还提供了更加强大的安全性,例如,它支持更多的物理地址和更大的虚拟地址空间。
总的来说,ARMv8 在 64 位支持、性能、安全性和虚拟化等方面都比 ARMv7 有显著的改进。
ARMv8 与 ARMv9 差异
ARMv9是最新的版本。以下是它们的一些主要区别:
- 性能:ARMv9对ARMv8进行了一些优化和改进,以提高处理器的性能和效率。
- 机器学习和人工智能:ARMv9引入了新的SVE2(Scalable Vector Extension 2)技术,这是一种向量运算技术,可以大大提高处理器处理机器学习和人工智能任务的能力。
- 安全性:ARMv9增强了安全功能,引入了新的Realm管理架构,可以更有效地防止各种网络攻击和数据泄露。
- 虚拟化:ARMv9对虚拟化支持进行了改进,使得在云计算和其他高性能计算应用中的虚拟化更加高效。
总的来说,ARMv9在性能、机器学习和人工智能支持、安全性和虚拟化等方面都比ARMv8有所提升。文章来源:https://www.toymoban.com/news/detail-720828.html
上篇文章:ARM Cortex-M 系列 2 – CPU 之 Cortex-M7 介绍文章来源地址https://www.toymoban.com/news/detail-720828.html
到了这里,关于【ARM Cortex-M 系列 3 番外篇 -- ARMv6, ARMv7, ARMv8, ARMv9 架构差异及精简指令集 与 复杂指令集 介绍】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!