目录
2.1 处理器属性
2.2 Cortex-R 系列处理器
2.2.1 Cortex-R4 处理器
2.2.2 Cortex-R5 处理器
2.2.3 Cortex-R7 处理器
2.3 开发平台
MCBTMS570
Hercules
2.4 适用于 Cortex-R 处理器的操作系统
ARM 会定期发布新版本的架构,这些版本会增加新功能或对现有行为进行更改。这些更改几乎总是向后兼容的,这意味着在旧版本架构上运行的用户代码在新版本上仍然可以正确运行。当然,利用新功能编写的代码将无法在缺乏这些功能的旧处理器上运行。
在所有版本的架构中,某些系统特性和行为是实现定义的。例如,架构并不定义缓存大小或单个指令的周期时间,这些由具体的处理器和 SoC 决定。
ARMv7 架构还引入了配置文件的概念。这些配置文件是针对不同市场和用途的处理器架构变体。
配置文件包括:
A 应用型配置文件:定义了一种针对高性能处理器的架构,支持使用内存管理单元 (MMU) 的虚拟内存系统。它能够运行全功能的操作系统,并支持 ARM 和 Thumb 指令集。
R 实时型配置文件:定义了一种针对需要确定性时间和低中断延迟的系统的架构。这些系统使用内存保护单元 (MPU) 来保护内存区域。这些系统不支持虚拟内存系统和 MMU。
M 微控制器型配置文件:定义了一种针对低成本系统的架构,其中低延迟的中断处理至关重要。它使用不同于其他配置文件的异常处理模型,并且只支持 Thumb 指令集的一个变体。
下图展示了架构随时间的发展情况,说明了每个新版本中架构的新增内容。几乎所有架构的变化都是向后兼容的,这意味着为 ARMv4T 架构编写的软件可以在 ARMv7 处理器上使用。
2.1 处理器属性
多年来,ARM 采用了顺序编号系统来命名处理器,如 ARM9 紧随 ARM8 之后,而 ARM8 则在 ARM7 之后。各种数字和字母被附加到基本系列名称之后,以表示不同的变体。例如,ARM7TDMI 处理器中的 T 代表 Thumb,D 代表调试 (Debug),M 代表快速乘法器 (fast Multiplier),I 代表嵌入式调试接口 (EmbeddedICE)。
对于 ARMv7 架构,ARM 采用了 Cortex 作为其处理器的品牌名称,附加的字母表示处理器支持的三种配置文件中的哪一种,即 A、R 或 M。下图显示了不同架构版本与不同处理器实现之间的对应关系。该图并不全面,未包含所有架构版本或处理器实现。
本节简要介绍了一些 ARM 处理器,并确定了每种处理器实现的架构版本。 “Cortex-R 系列处理器” 更详细地介绍了实现 ARMv7-R 架构版本的一些单个处理器。本章中的术语对于首次接触 ARM 处理器的用户来说可能不太熟悉。
下表列出了 Cortex 系列处理器所实现的架构版本。
下表对比了 Cortex-R 系列处理器的特性。
2.2 Cortex-R 系列处理器
本节将更详细地介绍每种实现 ARMv7-R 架构的处理器。这里每种处理器的介绍都是概括性的。
2.2.1 Cortex-R4 处理器
ARM Cortex-R4 处理器专为嵌入式实时系统设计。它实现了 ARMv7-R 架构,并包括 Thumb-2 技术,以优化代码密度和处理吞吐量,但也可以使用 ARM 指令。该处理器适用于高产量、深度嵌入式的系统芯片(SoC)应用,例如硬盘驱动器控制器、无线基带处理器、消费类产品以及汽车系统的电子控制单元。
2.2.2 Cortex-R5 处理器
Cortex-R5 处理器专为嵌入式实时系统设计。它实现了 ARMv7-R 架构,并包括 Thumb-2 技术,以优化代码密度和处理吞吐量,同时也可以使用 ARM 指令。该处理器的流水线具有一个单独的算术逻辑单元(ALU),但通过有限的双发指令功能可以有效利用其他资源,如寄存器文件。Cortex-R5 处理器提供了硬件加速器一致性端口(ACP),在与其他主设备共享内存时,可以减少慢速软件缓存维护操作的需求。
2.2.3 Cortex-R7 处理器
ARM Cortex-R7 MPCore 处理器是一种高度可配置的处理器,适用于嵌入式实时系统。它由一个或两个 Cortex-R7 核心组成,位于一个集群中。该处理器实现了 ARMv7-R 架构,并包含 Thumb-2 技术,以实现最佳的代码密度和处理吞吐量。
Cortex-R7 处理器通过引入乱序指令执行和动态寄存器重命名,为 Cortex-R 系列处理器提供了更高的性能水平。此外,Cortex-R7 处理器还改进了分支预测功能,具备超标量执行能力,并且支持更快的硬件除法、数字信号处理(DSP)和浮点运算功能。
Cortex-R7 处理器具有以下特性:
灵活的多处理器核心 (MPCore) 配置。
支持冗余核心的锁步配置。
对称多处理 (SMP)。
非对称多处理 (AMP)。
集成通用中断控制器 (GIC)、窥探控制单元 (SCU) 和定时器。
服务质量 (QoS) 特性。
为 SMP 提供完整的缓存一致性支持。
支持硬件加速的数据缓存操作,具有在 SCU 中的 Tag RAM 复制功能。
双核和 I/O 一致性。
专用的低延迟外设和内存端口,用于硬实时工作。
灵活且可配置的浮点单元 (FPU)。
CoreSight SoC 调试和跟踪。
可选嵌入式跟踪宏单元 (ETMv4)。
2.3 开发平台
有现成的基于 ARM 处理器的开发平台,适合学生和爱好者使用:
MCBTMS570
MCBTMS570 开发套件是基于 Cortex-R4 的开发板套件,可用于生成和测试德州仪器(Texas Instruments)TMS570x 微控制器的应用程序。MCBTMS570 板载所有在单芯片 TMS570x 系统中所需的硬件组件。
TMS570LS 系列是高性能的汽车级微控制器系列,已通过 IEC 61508 SIL3 安全系统认证,集成了运行在 1.6 DMIPS/MHz 的 Cortex-R4F 处理器,配置最高可运行至 160 MHz,提供超过 250 DMIPS 的性能。TMS570LS 系列还提供不同的闪存(1MB 或 2MB)和数据 SRAM(128KB 或 160KB)选项,具有单比特错误修正和双比特错误检测功能。
TMS570LS 系列是具有安全关键需求的高性能实时控制应用的理想解决方案。
Hercules
Hercules 安全微控制器平台包含两个基于 Cortex-R4 的微控制器系列:TMS570 和 RM4x。Hercules 平台专为 IEC 61508 和 ISO 26262 安全关键应用设计,提供先进的集成安全功能,同时提供可扩展的性能、连接性和内存选项。
2.4 适用于 Cortex-R 处理器的操作系统
在 Cortex-R 处理器上运行的代码可以是没有操作系统的裸机应用程序,或者使用实时操作系统 (RTOS)。常见的实时操作系统包括:
Green Hills 的 Integrity
Mentor Graphics 的 Nucleus
eSOL 的 Extended T-Kernel
还有许多其他操作系统可供选择。Cortex-R 处理器也可以运行适当修改的 Linux 版本,这些版本配置为在不使用完整 MMU 的情况下运行。