×
研发技术 > 嵌入式 > 详情

处理器核心架构大起底 提高嵌入式应用性价比

发布时间:2021-12-28 发布时间:
|

  现阶段半导体晶片商多采用ARM的处理器核心,来制造旗下处理器或微控制器等产品。ARM的核心可分为A、R、M三个系列,各有不同性能,因此晶片商也须依各自瞄准的市场、功耗需求和作业系统等差异,来选择较适合的核心,藉以制造性价比佳的产品。

  现今嵌入式应用内须用到诸多处理器,因此半导体厂商也积极投入布局,举例来说安谋国际(ARM)的处理器便广泛应用于嵌入式领域。ARM Cortex-A系列处理器经常使用在需要多功能作业系统(Rich OS)或高效能的应用中,Cortex-R系列处理器拥有较佳的即时效能,Cortex-M系列处理器则用于微控制器等类型的小型应用。

  目前采用Cortex-M的产品范围涵盖非常多样化的选项,从外型设计小巧、功耗低的Cortex-M0,其使用在深层嵌入、对成本敏感的应用如智慧型感测器节点上,到应用在大众市场的微控制器的Cortex-M3及Cortex-M4。最佳的则是Cortex-M7,其具备更高的效能,可以执行密集运算的工作负载,像是讯号处理等。

  Cortex-M处理器采用的ARMv6-M和ARMv7-M架构,是更为简易且逻辑化的程式设计模型,专为简易使用所设计。处理器核心本身在设定上较弹性,能够用于更多样化的实作。

  虽然Cortex-M核心的简易性对大部分的嵌入式应用来说是较佳的优势,但仍有其他应用需要更多功能、效能更高的环境。此类应用同样重视效率和耗电量,且经常需要Linux或Android等类型的平台作业系统。采用此类型的作业系统,则能够使用应用范围更广、更具多功能且复杂的软体生态系统,开发新的契机。

  Cortex-M处理器的设计并非针对这些高阶的作业系统,因此未包含其所需要的特定必要功能。举例来说,这些处理器未具备记忆体管理单元(MMU),在无法支援虚拟记忆体环境的情况下,当然也就不支援这一类的作业系统。若某项应用需要更多功能的作业环境,首选的通常是较高效率的Cortex-A核心。这些核心提供平台作业系统所需的较进阶功能,同时仍相当重视功耗,整体来说是更为高阶且弹性化的程式设计模型。

  有鉴于此,ARM Cortex-A处理器多部署于各种深度嵌入的应用,尤其是在需要Linux或其他多功能作业系统的市场。

  图1显示Cortex-A处理器目前的应用范围,重点在于其中的较低功耗核心。本文以此一系列中的最新型Cortex-A32处理器为主。

  

  图1 Cortex-A处理器与架构

  Cortex-A32是进入Cortex-A系列较理想的入门款,可用于需要多功能作业系统环境,或从Cortex-A处理器所提供的效能及功能中获益的应用。该处理器为目前拥有低功耗的ARMv8-A处理器,为穿戴式装置、物联网(IoT)和多功能嵌入式应用,尤其是需要Linux这一类平台作业系统之应用的较佳选择。

  抢攻32位元运算市场 A系列新处理器功耗更低

  Cortex-A32在ARM架构中扮演着独特的角色。其采用ARMv8-A架构,但仅支援32位元的运算。图2显示Cortex-A32如何融入ARMv8-A架构设定,以及与Cortex-A35的差异。

  

  图2 Cortex-A32与Cortex-A35比较

  Cortex-A35同时采用32位元的AArch32和64位元的AArch64两种执行状态,能够完整提供ARMv8-A架构的64位元功能。另一方面,Cortex-A32则只采用32位元的AArch32执行状态。移除了64位元的功能以后,不仅体积缩减,对于不需要64位元功能的使用来说,更能降低其功耗。尽管嵌入式领域中有许多应用都可从64位元的执行中获益,但有许多仍着重在32位元,且将在可预见的未来保持现况,而这些应用便是Cortex-A32的目标市场。

  AArch32执行状态为更早期的Cortex-A处理器所采用的ARMv7-A架构的进化版。据了解,Cortex-A32即使不具备64位元的功能,但仍提供某些重要的强化,因此功耗还是优于Cortex-A7和Cortex-A5。

  此外,对于仍采用这些旧版ARM处理器的延伸设计,或以此相同市场为目标的新设计而言,Cortex-A32仍是理想选择。

  AArch32优于ARMv7-A的特点包括:

  .新增许多新指令,加密演算功能效能更佳

  .新加入Load Acquire和Store Release指令,提供更有效率的记忆体排序功能,符合最新的C++11记忆体排序语法

  .额外的纯量与SIMD浮点指令

  .广泛的系统控制指令

  这些额外功能提供更佳的效能,更胜旧版32位元ARMv7-A处理器。

  Cortex-A32汇流排介面加入了先进同步扩展(ACE),因此能通过Cortex-A32来建构完全同步的多重处理系统,提高所需要的更高效能。

  假如空间或耗电量为主要的限制,Cortex-A32也有变体版本,特别针对单处理器应用最佳化,省略互连逻辑,以节省更多的功耗。

  Cortex-A32透过Large Physical Address Extension(LPAE)扩大了定址实体记忆体空间,超越Cortex-A5所提供的32位元(4GB)空间,可提供40位元定址空间。

  核心本身也整合其他多项有助于改善功耗的进阶功能,包括更弹性化的电源管理、更细微分布的电力区域,并使用保存功率闸级。

  下文将比较ARMv7-M与ARMv8-A AArch32的架构特色与差异。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
红米手机CPU系统简易科普(图文)