基于 Arm Cortex-R82AE 简化高性能区域控制器的软件开发

作者:Arm 汽车事业部高级产品经理 Prakash Mohapatra

之前的一篇推文中我曾谈到过,汽车行业的近期发展趋势正在推动对汽车架构中区域控制器和域控制器的需求。而基于 Armv8-R 的 Arm Cortex-R52 和 Cortex-R52+ 核心正是满足区域控制器和域控制器设计和性能需求的理想之选。Cortex-R52 和 Cortex-R52+ 已广泛应用于汽车设计领域,既包括独立的微控制器 (MCU),也有与 Cortex-A 核心结合的异构设计。

对于更多特性和功能的需求使得车载算力要求与日剧增。在追求更高性能的过程中,区域控制器的发展也齐头并进。为应对新兴的电子/电气 (E/E) 架构引发的应用整合趋势,对更高性能区域控制器的需求愈发高涨。在某些设计场景中,可能需要多个 Cortex-R52 和 Cortex-R52+ 集群来满足性能要求。

image.png

新的 Arm Cortex-R82AE

为了满足区域控制器的高性能需求,Arm 推出了基于 Armv8-R AArch64 架构的 Cortex-R82AE。Cortex-R82AE 核心现已向合作伙伴开放授权并可部署到其设计中。作为首款采用 Armv8-R AArch64 架构的汽车增强 (AE) 处理器,Cortex-R82AE 提供先进的功能安全性和出色的单核性能。Cortex-R82AE 不仅拓展了性能边界,更为汽车合作伙伴提供了扩展产品系列的升级途径。

Cortex-R82AE 的优势

Cortex-R82AE 进一步扩大了已被广泛采用的 Cortex-R 系列在汽车市场的覆盖范围。这款 64 位处理器支持每个集群多达八个核心。其内存系统经过增强后,具备更宽的集群端口和共享 L2 缓存,能够提供更高的性能。与此同时,通过支持集群内和集群间一致性,Cortex-R82AE 简化了面向更高计算对称多处理 (SMP) 设计的软件开发流程。

此外,作为首款汽车增强 Cortex-R 处理器,Cortex-R82AE 配备了可选的内存管理单元 (MMU),能够支持 Linux、Adaptive AUTOSAR 等功能强大的操作系统。除此之外,与 Cortex-R 系列的其他核心一样,Cortex-R82AE 也配备了内存保护单元 (MPU)。它支持实时虚拟化,可在单个核心上运行功能强大的操作系统,以及 Zephyr、FreeRTOS、Classic AUTOSAR 等实时操作系统。虚拟机管理程序可确保运行不同软件组件的虚拟机之间互不干扰 (FFI)。

Cortex-R82AE 可与 Cortex-A 核心等应用处理器一起部署在异构设计中。由于应用处理器核心集群和 Cortex-R82AE 集群具有统一的内存视图,对大地址位宽的支持简化了系统集成。在这种异构设计中,Cortex-R82AE 的主要用例之一是充当安全岛。安全岛的目的是进行故障报告并验证应用处理器的运行情况。它还可用于实时任务、启动编排和系统测试。

升级至 Cortex-R82AE

为了满足区域控制器和安全岛设计的新兴需求,目前采用 Cortex-R52 和 Cortex-R52+ 的合作伙伴考虑在其即将推出的产品中升级到 Cortex-R82AE。为了支持这一升级过程,Arm 精心编制了一份指南,为合作伙伴如何将其现有软件迁移到基于 Cortex-R82AE 的设计中提供建议。该指南同样适用于 Cortex-R82AE 的新项目开发。除了提供软件迁移指导外,该指南还讨论了基于 Armv8-R AArch32 的 Cortex-R52 和 Cortex-R52+,与基于 Armv8-R AArch64 的 Cortex-R82AE 之间的主要区别。

其中包含以下几个部分:

  • 指令集架构 (ISA):该节列出了 Armv8-R AArch32 和 Armv8-R AArch64 架构上使用的不同指令集。该节还阐述了这两种架构在浮点支持和寄存器集方面的差异。
  • 异常模型:深入探讨这两种架构中的异常向量表和异常处理的细节。
  • 内存模型:Armv8-R AArch32 仅支持物理地址;而 Armv8-R AArch64 还支持虚拟内存。该节讨论内存映射和虚拟内存系统架构 (Virtual Memory System Architecture, VMSA),仅 Armv8-R AArch64 支持 VMSA 架构。
  • 系统寄存器:深入探讨这两种架构中包含的系统寄存器。
  • 安全性:Cortex-R82AE 支持“仅安全访问”状态,因此它可以发起正常访问和安全内存访问。而基于 Armv8-R AArch32 的 Cortex-R52 和 Cortex-R52+ 仅支持正常访问状态。
  • 虚拟化:利用 EL2 MPU 技术的 Cortex-R82AE 以及 Cortex-R52 和 Cortex-R52+ 核心均支持虚拟化,可确保在同一设备上运行的多个混合关键软件组件之间互不干扰 (FFI)。而 Cortex-R82AE 具有可选的 EL1 MMU,适合在虚拟机中运行 Linux 等功能强大的操作系统的同时,使用 EL1 MPU 运行实时操作系统。
  • 编译器和优化:该节围绕基于 Cortex-R52 和 Cortex-R52+,以及 Cortex-R82AE 的开发,提供关于编译选项的提示和指导。

Cortex-R82AE 可连接至更大容量的内存,并同时具备更高的性能,可助力合作伙伴在不影响域控制器和区域控制器设计的实时性要求下,实现更大的计算处理能力。更多关于 Cortex-R52/Cortex-R52+ 与 Cortex-R82AE 之间的对比,以及将软件迁移到基于 Cortex-R82AE 的设计,可于《从 Armv8-R AArch32 到 Armv8-R AArch64 的软件迁移指南》获取更多细节。

  • 本文为 Arm 原创文章,转载请留言联系获得授权并注明出处。
作者:Prakash Mohapatra
文章来源:Arm社区

推荐阅读

推荐阅读
关注数
23583
内容数
1035
Arm相关的技术博客,提供最新Arm技术干货,欢迎关注
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息