ARMv8.x-M架构计算能力概览

发布于:2025-03-19 ⋅ 阅读:(7) ⋅ 点赞:(0)

1.ARMv8.xM架构提供了哪些计算能力?

        ARMv7-M时代,Cortex-M系列CPU以提供通用计算能力为主。ARMv8-M架构提供了更加多样的计算能力。

        首先,提供Thumb2指令集提供整数通用计算能力。

        其次,ARMv8.x-M架构手册明确列出了更多可选的CPU拓展计算能力。

        The Floating-point Extension,浮点计算能力。ARMv8-M架构提供了单精度,双精度浮点计算能力。ARMv8.1-M架构还提供了半精度浮点计算能力。

        The Digital Signal Processing Extension,DSP计算能力。以Cortex-M33为例,该CPU采用ARMv8-M架构,其DSP拥有下面的拓展计算能力。

        M-Profile Vector Extension。ARM对此有另一个品牌ARM Helium。因为ARMv8架构有NEON的SIMD的计算能力。ARMv7-M架构完全没有这方面的计算能力,而ARMv8.1-M提供了适用于Cortex-M系列的SIMD计算能力。这个技术就是MVE。

        The Custom Datapath Extension。ARMv8.x-M架构的CPU内部可能集成一个名字叫做CDE的模块(比如STM32N6使用的Cortex M55)。该模块支持CPU提供用户定义第三方指令。

        总结一下。

计算需求

对应技术

通用整数计算能力

Thumb2

浮点计算能力

The Floating-point Extension

DSP计算能力

The Digital Signal Processing Extension

SIMD计算能力

MVE (Helium)

第三方定制计算能力

CDE

2.部分ARMv8.x-M架构CPU的计算能力分析

        简单统计了一下,可能有误,仅供参考。

CPU

架构

Thumb2

FP

DSP

MVE

CDE

Cortex M23

ARMv8-M

Yes

No

No

No

No

Cortex M33

ARMv8-M

Yes

Yes

Yes

No

Yes

Cortex M55

ARMv8.1-M

Yes

Yes

Yes

Yes

Yes

Cortex M85

ARMv8.1-M

Yes

Yes

Yes

Yes

Yes

3.Cortex M55的实现

        Cortex M55提供了比较完整的计算能力,其对架构的实现代表了目前ARM对ARMv8.x-M架构的实现方式。

        首先,IFU,DPU和LSU是传统CPU最基础的组成部分,执行的是取指,译码,执行,访存,写回的经典流水线步骤。

        IFU负责取指。

        DPU负责译码,执行。

        LSU负责访存。

        DPU更为常见的名称是EXU。印象里ARM以前的CPU也叫EXU,但是现在确实是DPU了。内部包含的是ALU等典型计算单元。

        另一个与计算密切相关的是PDEPU供电的这一部分。显然,这部分的EPU或CDE都是可选实现。但是如果要实现ARMv8.1-M架构完整的浮点向量计算能力,还是要实现EPU的。如果实现用户定义指令,CDE也需要实现。


网站公告

今日签到

点亮在社区的每一天
去签到