0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

安全关键应用中异构臂核心的软件注意事项

星星科技指导员 来源:嵌入式计算设计 作者:嵌入式计算设计 2022-06-02 14:32 次阅读

对于实时系统,尤其是对安全至关重要的系统,多核处理器由于对处理器内核之间共享资源的争用,对严格的确定性提出了重大挑战。

嵌入式系统在更高的吞吐量和更好的尺寸、重量和功率 (SWaP) 方面受益于多核处理器的使用。具有异构处理器内核的处理器增加了将应用程序与每种内核类型的功能相匹配的能力,进一步提高了吞吐量和 SWaP。多核处理器的优势在于软件架构的复杂性增加,以最大限度地利用处理器内核。对于实时系统,尤其是对安全至关重要的系统,多核处理器由于对处理器内核之间共享资源的争用,对严格的确定性提出了重大挑战。这一挑战随着异构内核的增加而增加,因为最坏情况下的执行时间可能会因应用程序执行的内核而异。

要更详细地探索这种权衡,请考虑 NXP® i.MX 8QuadMax 应用处理器中的异构内核(图 1)。i.MX 8QuadMax 具有四个 Arm® Cortex®-A53 内核和两个 Cortex-A72 内核,可通过将每个应用任务的性能要求与不同内核的性能容量相匹配来实现功耗优化。与 A53 核心相比,A72 核心提供大约两倍的性能,但功耗更高。

poYBAGKYWc2AbTr5AAG_Z3Yl-o4932.png

图 1:NXP i.MX 8 架构

为了实现多核解决方案的吞吐量和 SWaP 优势,软件架构需要支持可用处理器内核的高利用率。必须支持所有多核功能,从启用内核的并发操作(相对于可用内核被强制进入空闲状态或在启动时保持重置)到提供确定性负载平衡机制。软件多处理架构越灵活,系统架构师实现高利用率所需的工具就越多。

软件多处理架构

与多处理器系统一样,多核处理器上的软件架构可以根据内核之间共享和协调的数量进行分类。基于多核的系统最简单的软件架构是非对称多处理 (AMP),其中每个内核独立运行,每个内核都有自己的操作系统或管理程序/客户操作系统对。每个核心运行不同的应用程序,核心之间在调度方面很少或没有有意义的协调。由于缺乏负载平衡、难以缓解共享资源争用以及无法跨核心执行协调活动(例如综合内置测试所需的),这种解耦可能导致利用率不足。

AMP 的现代替代方案是对称多处理 (SMP),其中单个操作系统控制所有资源,包括哪些应用程序线程在哪些内核上运行。这种架构易于编程,因为所有内核都“对称”地访问资源,从而使操作系统可以将任何线程分配给任何内核。对于具有异构内核的处理器,例如 i.MX 8QuadMax,不知道应用程序将在哪种类型的内核上运行可能会导致执行时间范围广泛,从而显着影响确定性性能。

绑定多处理 (BMP) 直接解决了这个问题,它是一种增强型和受限形式的 SMP,它将应用程序的任务/线程静态绑定到特定内核。这种静态绑定允许系统架构师严格控制多个内核的并发操作。

确保确定性行为

除了实现多核处理器的吞吐量和 SWaP 目标外,安全关键系统还需要为每个应用程序保持可预测的最坏情况执行时间 (WCET)。使用 BMP 限制与应用程序配对的内核类型是确保异构系统中确定性行为的重要组成部分。确保确定性的其他技术是时间和空间分区以及管理共享资源的争用。

在单核处理器中,多个安全关键应用程序可以通过在托管应用程序之间稳健地划分内存空间来在同一处理器上执行。内存空间分区将内存的非重叠部分专用于在给定时间运行的每个应用程序,由处理器的内存管理单元 (MMU) 强制执行。确定性可以通过使用时间划分来进一步增强,时间划分将一个固定的时间间隔(称为主帧)划分为一系列固定的子间隔,称为划分时间窗口。每个应用程序都分配有一个或多个分区时间窗口,窗口的长度和数量由应用程序的 WCET 和所需的重复率决定。

多核干扰挑战确定性

在多核环境中,可以有多个应用程序在不同的内核上同时运行。这些并发应用程序每个都需要访问处理器的资源。每个处理核心都有一些专用资源,但大多数资源在处理器核心之间共享,包括内存控制器、I/O、共享缓存以及连接它们的内部结构。当多个处理器内核尝试同时访问同一资源时,会导致这些共享资源的争用。在航空电子设备等安全关键型应用程序中,主要问题是这种共享资源争用如何导致运行在一个内核上的应用程序干扰运行在另一个内核上的应用程序,从而对确定性、服务质量以及最终的安全性产生负面影响。

如果不加以缓解,共享资源争用的影响可能会很大。仅检查其中一种共享资源 DDR 内存,人们可能会猜测,当另一个内核尝试访问同一内存并且两个内核都运行内存受限的应用程序时,WCET 可能会翻倍。实际上,由于共享资源仲裁和调度算法中的非线性行为,WCET 可以增加 8 倍而不是 2 倍。尝试访问 DDR 内存或争夺其他资源(例如片上互连)的其他内核可能会导致 WCET 增长得更加显着(图 2)。

poYBAGKYWdaATtgNAACdWq7bL5s824.png

图 2:多核干扰的增加速度快于核心数量。

多核干扰缓解

减轻多核干扰的一种方法是手动调度应用程序以最小化资源争用。这种方法不会消除所有干扰,并且任何时候修改任何单个应用程序或添加新应用程序都需要重新测试和验证所有应用程序。另一种方法是安排一次只运行一个多任务应用程序。任务之间仍然会发生干扰,但不会对其他应用程序产生干扰。这种方法在具有异构内核的处理器上尤其无效,因为不同内核类型的执行时间不同。

更通用的方法是让操作系统管理共享资源争用。与操作系统使用硬件 MMU 通过将不同的内存区域分配给不同的应用程序来实现空间分区的方式相同,操作系统可以按内核为共享资源分配带宽。解决操作系统中的多核干扰为系统集成商提供了有效、灵活和敏捷的解决方案。它还简化了新应用程序的添加,而无需对系统架构进行重大更改,并减少了重新验证活动。

航空电子设备中异构核心的示例解决方案

NXP i.MX 8QuadMax 应用处理器包括四个共享 1MB L2 缓存的 Arm Cortex-A53 内核和两个共享另一个 1MB L2 缓存的 Arm Cortex-A72 内核。该处理器还包括两个用于卸载系统功能的 Cortex-M4F 内核和两个能够运行 OpenCL、Vulkan 和 OpenVX 视觉加速的 GPU。i.MX 8 的一项独特功能是硬件资源分区,其中系统控制器将外围设备和内存区域提交到特定的客户定义域中。域之间的任何通信都被迫使用通过硬件消息单元运行的消息协议。i.MX8QuadMax 面向广泛的应用,包括工业 HMI(人机界面)和控制、电子驾驶舱 (eCockpit)、平视显示器、楼宇自动化和单板计算机。

绿山的诚信®-178 tuMP™ 多核 RTOS 是一个统一的操作系统,可在 i.MX 8 中的所有 64 位处理器内核上运行,并支持 AMP、SMP 和 BMP 的同时组合。RTOS 的时变统一多处理 (tuMP) 方法为将安全关键型和安全关键型应用程序移植、扩展和优化到多核架构提供了最大的灵活性。INTEGRITY-178 tuMP 使用跨所有内核运行的时间分区内核,允许应用程序绑定到一个内核或称为关联组的内核组。如果需要,可以进一步限制关联组中应用程序的每个任务以在特定核心上运行。对于 i.MX 8QuadMax 处理器,

poYBAGKYWeiAAFGTAANNgYgMyaE766.png

图 3:使用 Affinity Groups,一个应用程序绑定到两个 Cortex-A72 内核,而另外两个应用程序绑定到一组 Cortex-A53 内核。

INTEGRITY-178 tuMP 直接解决多核干扰,包括开发到最严格安全级别的带宽分配和监控 (BAM) 功能。BAM 功能监控并强制分配来自每个处理器内核的共享资源的带宽。BAM 模拟一种基于硬件的高速方法,以确保对每个核心对共享资源的使用进行连续分配强制。BAM 在整个应用程序的执行时间窗口中平滑地调节带宽,从而允许同一执行时间窗口中的其他应用程序获取它们分配的共享资源部分。使用前面的内存访问干扰示例,将 50% 的内存带宽分配给高关键应用程序会导致几乎恒定的 WCET,即使干扰内核的数量增加,而当存在多个干扰内核时,WCET 也会降低 8 倍(图 4)。这种能力有效地减轻了多核干扰并大大降低了集成和认证风险,同时还使集成商能够获得多核处理器的最大性能优势。

poYBAGKYWfSAO0wTAAFWeYbO3Mo825.png

图 4:使用 BAM 将 50% 的共享资源带宽分配给关键应用程序后,WCET 几乎保持不变并大大降低。

NXP i.MX 8QuadMax 为优化航空电子设备和其他嵌入式实时系统中的 SWaP 提供了重要机会。Cortex-A72 和 Cortex-A53 内核的结合使系统架构师能够强调性能或电源效率,从而创建最佳的系统级解决方案。相应的软件架构需要具有灵活性和可控性,以充分利用这些异构应用内核,同时保持严格的确定性。结合使用 Affinity Groups 或某种其他形式的 BMP 的能力以及多核干扰缓解解决方案(例如 BAM),可以在安全关键型应用中有效使用 i.MX 8QuadMax。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    18951

    浏览量

    227487
  • 嵌入式
    +关注

    关注

    5046

    文章

    18847

    浏览量

    299193
  • NXP
    NXP
    +关注

    关注

    60

    文章

    1249

    浏览量

    181802
收藏 人收藏

    评论

    相关推荐

    脉冲式充电器的使用注意事项

    脉冲式充电器的使用注意事项主要包括以下几个方面: 一、安全注意事项 用电安全 :在充电过程,应始终保持警惕,
    的头像 发表于 09-26 16:05 97次阅读

    光纤收发器的使用方法和注意事项

    光纤收发器作为光纤通信系统关键设备,其正确的使用方法和注意事项对于确保网络传输的稳定性和可靠性至关重要。光纤收发器作为光纤通信系统关键
    的头像 发表于 08-26 15:20 403次阅读

    如何确保PLC系统安全的可靠性,这几个注意事项你需要牢记

    PLC(可编程逻辑控制器)是现代工业自动化系统关键组成部分。在设计 PLC 系统时,安全性是至关重要的考虑因素。本文将介绍 PLC 系统设计的一些
    的头像 发表于 07-30 15:08 196次阅读
    如何确保PLC系统<b class='flag-5'>安全</b>的可靠性,这几个<b class='flag-5'>注意事项</b>你需要牢记

    电动机控制元件的安装与注意事项

    电动机控制元件作为电动机运行的核心组成部分,其安装质量直接影响电动机的性能、安全性和使用寿命。因此,对电动机控制元件的安装过程进行严格把控,并遵循相应的注意事项,对于保障电动机的稳定运行具有重要意义。本文将从电动机控制元件的安装
    的头像 发表于 06-28 18:21 898次阅读

    FMD LINK 使用注意事项

    电子发烧友网站提供《FMD LINK 使用注意事项.pdf》资料免费下载
    发表于 05-06 10:11 0次下载

    DC电源模块的使用注意事项安全规范

    BOSHIDA DC电源模块的使用注意事项安全规范 DC电源模块在电子设备的设计和实验起到了至关重要的作用。然而,为了确保安全和可靠性,使用DC电源模块时需要
    的头像 发表于 04-03 14:09 362次阅读
    DC电源模块的使用<b class='flag-5'>注意事项</b>和<b class='flag-5'>安全</b>规范

    STM32ADC中断的使用注意事项和优化建议

    使用中断是提高系统性能和精确度的关键。本文将详细介绍STM32ADC中断的使用注意事项和优化建议。 注意事项: 1. 合理选择中断触发方式:STM32ADC可以通过软件触发(
    的头像 发表于 01-12 15:17 2605次阅读

    测速电机: 常见6大注意事项

    测速电机: 常见6大注意事项!测速电机是一种用于测量物体运动速度的设备,广泛应用于工业生产和科学研究。测速电机常见的6大注意事项以确保安全和准确性。
    的头像 发表于 01-11 10:53 331次阅读
    测速电机: 常见6大<b class='flag-5'>注意事项</b>

    霍尔元件使用的注意事项

    霍尔元件使用的注意事项  霍尔元件是一种常见的电子元件,主要用于测量和检测磁场的变化。它具有灵敏度高、响应速度快、耐磁场干扰等优点,在各种应用得到广泛使用。然而,为了确保霍尔元件的正常工作和延长其
    的头像 发表于 12-18 14:56 1030次阅读

    电流互感器的使用注意事项

    当谈到电流互感器的使用时,有一些重要的注意事项需要我们牢记。在本文中,我们将探讨这些注意事项,为您提供详细和全面的信息。
    的头像 发表于 12-15 10:34 1110次阅读
    电流互感器的使用<b class='flag-5'>注意事项</b>

    VGA OUT 的PCB设计注意事项

    VGA OUT 的PCB设计注意事项
    的头像 发表于 11-23 09:04 670次阅读

    javaequals()方法的注意事项

    会有不同的注意事项。在本文中,我们将详细讨论equals()方法的注意事项,并解释如何正确使用它来比较两个对象。 首先,我们来看一下equals()方法的基本定义: public boolean
    的头像 发表于 11-17 16:59 649次阅读

    电源的电容作用及注意事项

    电子发烧友网站提供《电源的电容作用及注意事项.pdf》资料免费下载
    发表于 11-13 09:21 0次下载
    电源<b class='flag-5'>中</b>的电容作用及<b class='flag-5'>注意事项</b>

    示波器安全使用注意事项

    “ 我在新手工程师的时候,曾用普通高阻无源探头测试浮地信号,一开机就火花四溅,发生短路炸机。后来查找资料才想明白了原因。这一篇介绍示波器安全使用注意事项,接地的正确方法,浮地测量注意事项。 ” 01
    的头像 发表于 11-03 16:58 1359次阅读
    示波器<b class='flag-5'>安全</b>使用<b class='flag-5'>注意事项</b>

    使用单电桥的注意事项

    的一个对角线上接入检流计P作为指零仪,另一个对角线上接入直流电源E。接通按钮SB后,调节标准电阻使检流计指示为零。这时Rx=R2/R3*R4 式R2/R3称为比率,R4称为比较,比较
    的头像 发表于 10-11 10:52 1849次阅读
    使用单<b class='flag-5'>臂</b>电桥的<b class='flag-5'>注意事项</b>