研究笔记02 |汽车ECU多核调度

发布于 2023-5-11 11:57
浏览
0收藏

1 汽车领域多核 ECU 的主要用例

研究笔记02 |汽车ECU多核调度-汽车开发者社区

多核 ECU 平台存在非常不同的硬件和软件架构。就硬件而言,供应商设想了各种多核架构:相同的内核、具有不同运行速度和指令集的异构内核,以及可能的各种 I/O 和内存结构。然而,一段时间以来,芯片制造商一直在为 PC 行业生产具有相同内核的多处理器内核,这对汽车行业有一定的影响,因为这些架构已在使用中得到证明,并且由于大规模生产,并且可能会更便宜。下面我们将讨论多核 ECU 的主要用例以及适合它们的实施解决方案。

1.1 降低车载架构的复杂性

多核架构提供的更高级别的性能允许通过在多个内核上执行以前要在多个 ECU 上运行的软件来简化车载架构。这种向更集中式架构的可能演变也是 OEM 减少网络连接和总线数量的机会。这意味着部分复杂性将从 E/E 架构转移到 ECU 的硬件和软件架构。此外,静态循环调度允许在现有 ECU 上轻松添加功能/可运行项。然而目前重要的架构转变受到 ECU 和现有子网络的阻碍「因为把功能分布在多个 ECU 上运行的软件的架构被通用汽车制造商广泛使用」。因此,在多大程度上将采用更集中的架构仍然不确定。

1.2 处理资源要求高的应用程序

多核 ECU 为一些需要高性能的应用带来了重大改进,例如高端发动机控制器和实时图像处理应用。此用例不需要任何特定的硬件功能,并且更有可能使用相同的内核来满足高性能要求。在这些应用程序中,人们利用在多核架构上并行作业的可能性。通常,相同的应用程序可以在不同的内核上执行,以并行方式处理同一数据集的不同部分。

1.3 提高安全性

多核架构提供了实现安全机制的有效方法。我们提供了利用多核架构提高安全性的三种主要方法。


1. 第一种方法包括在不同的内核上分离可信代码和不可信代码。例如,汽车制造商可能将供应商提供的软件视为不受信任的代码,或者 ECU 集成商可能出于责任原因将汽车制造商的代码视为不受信任。软件组件之间的这种隔离需要对内存、CPU 时间和其他共享资源的强大保护机制,它们可以由 Autosar OS 机制,或者由虚拟机机制来实现和保证。


2. 第二种方法包括以冗余方式执行安全关键软件组件,可能通过投票系统选择由大多数重复的可运行程序给出的输出。可以将分配给另一个内核的整个软件组件集复制到另一个内核上,或者只复制最关键的可运行文件,以便在安全性和计算要求之间找到平衡点。为了进一步提高安全性,可以使用 N 版本编程 (NVP):由不同供应商开发的相同可运行文件的多个版本并行执行,而不是执行相同实现的副本。


3. 最后,多核架构可以更轻松地实现功能监控。在这种情况下,可以用另一个内核监视一个内核上某些功能的正确执行。应该注意的是,可以通过使用几个不同的微处理器来实现更高级别的安全性,而不是像在发动机控制器的 E-Gas 框架中那样在同一个微处理器上使用几个不同的内核,尽管这些解决方案更多实施起来很昂贵。

1.4 专用内核

最后,利用多核 ECU 的另一个重要用例是使用一个核来处理特定的低级服务。在 Autosar OS 的上下文中,一个内核可以作为一个专用的 I/O 控制器,执行通信堆栈或整套基本软件模块,而其他一些核心只负责应用级软件组件。例如,一个内核可用于运行时间触发的应用程序,而第二个内核处理中断以及事件触发的可运行文件。


文章转载自公众号:软件赋能汽车

标签
收藏
回复
举报
回复
相关推荐