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

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

3天内不再提示

安全关键型应用中异构Arm内核的软件注意事项

星星科技指导员 来源:嵌入式计算设计 作者:Rich Nass 2022-10-21 10:30 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

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

poYBAGNSBFOARzH3AABWr2GG1Z8383.png

图1:恩智浦 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)。

pYYBAGNSBFSAGrU2AAAt_dI1gkc549.png

图 2:多核干扰的增长速度快于内核数。

多核干扰缓解

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

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

航空电子中异构内核的示例解决方案

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

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

poYBAGNSBFWABnl4AABgKwJDVCw905.png

pYYBAGNSBFaAI2WUAABgKwJDVCw460.png

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

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

poYBAGNSBFeAN96WAABIRlGwOSU765.png

图 4:使用 BAM 将 50% 的共享资源带宽分配给关键应用程序后,WCET 几乎是恒定的,并且大大减少。

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

审核编辑:郭婷

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

    关注

    68

    文章

    20148

    浏览量

    247156
  • ARM
    ARM
    +关注

    关注

    135

    文章

    9499

    浏览量

    388731
  • 嵌入式
    +关注

    关注

    5186

    文章

    20149

    浏览量

    328851
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    驱动板PCB布线的注意事项

    PCB Layout 注意事项 1)布局注意事项: ●● 整体布局遵循功率回路与小信号控制回路分开布局原则,功率部分和控制部分的 GND 分开回流到输入 GND。 ●● 芯片的放置方向优先考虑驱动
    发表于 12-02 07:40

    CW32F030在使用注意事项有哪些?

    CW32F030在使用注意事项有哪些?
    发表于 11-18 06:20

    emWin AppWizard 开发注意事项有哪些?

    emWin AppWizard 开发注意事项
    发表于 09-04 06:18

    智多晶PLL使用注意事项

    在FPGA设计,PLL(锁相环)模块作为核心时钟管理单元,通过灵活的倍频、分频和相位调整功能,为系统提供多路高精度时钟信号。它不仅解决了时序同步问题,还能有效消除时钟偏移,提升系统稳定性。本文将深入探讨智多晶PLL在实际应用关键
    的头像 发表于 06-13 16:37 1266次阅读
    智多晶PLL使用<b class='flag-5'>注意事项</b>

    请问从哪里可以获取CCG5 软件开发及Layout注意事项?

    我们准备开发一款雷电4的拓展坞 请问从哪里可以获取CCG5 软件开发及Layout注意事项
    发表于 05-30 06:21

    IGBT器件的防静电注意事项

    IGBT作为功率半导体器件,对静电极为敏感。我将从其静电敏感性原理入手,详细阐述使用过程防静电的具体注意事项与防护措施,确保其安全稳定运行。
    的头像 发表于 05-15 14:55 1221次阅读

    设置射频网络分析仪的测试条件有哪些注意事项

    噪声≈12dB)。 优化建议: 使用专业软件(如Keysight VEE)自动化处理数据,避免人为误差。 五、典型场景的注意事项总结 [td]测试场景关键注意事项典型问题与解决方案
    发表于 05-06 16:02

    SiC MOSFET驱动电路设计注意事项

    栅极驱动器是保证SiC MOSFET安全运行的关键,设计栅极驱动电路的关键点包括栅极电阻、栅极电压和布线方式等,本章节带你了解SiC MOSFET驱动电路设计、驱动电阻选择、死区时间等注意事项
    的头像 发表于 04-24 17:00 1794次阅读
    SiC MOSFET驱动电路设计<b class='flag-5'>注意事项</b>

    扫描电镜的日常维护有哪些注意事项

    扫描电镜日常维护的注意事项
    的头像 发表于 03-24 11:38 921次阅读
    扫描电镜的日常维护有哪些<b class='flag-5'>注意事项</b>?

    BNC 接头阻抗匹配:接线关键技术与注意事项

    阻抗匹配贯穿 BNC 连接器接线全程,依托德索的优质产品、先进技术与专业指导,掌握关键技术,遵循注意事项,才能保障信号高质量传输,为依赖 BNC 连接的系统稳定运行筑牢根基。
    的头像 发表于 03-12 10:42 1201次阅读
    BNC 接头阻抗匹配:接线<b class='flag-5'>中</b>的<b class='flag-5'>关键</b>技术与<b class='flag-5'>注意事项</b>

    智多晶DDR Controller使用注意事项

    最后一期我们主要介绍智多晶DDR Controller使用时的注意事项
    的头像 发表于 01-24 11:14 1352次阅读
    智多晶DDR Controller使用<b class='flag-5'>注意事项</b>

    K热电偶安装注意事项

    K热电偶的安装注意事项对于确保其测量精度和延长使用寿命至关重要。以下是根据高权威性来源整理的K热电偶安装注意事项的介绍: 一、选型与检查 选择合适的热电偶类型 :根据测量环境的温度
    的头像 发表于 01-14 09:39 1489次阅读

    K热电偶的使用注意事项

    K热电偶因其稳定性和可靠性,在工业温度测量中被广泛使用。然而,为了确保测量的准确性和设备的长期稳定性,用户必须遵循一定的使用规范和注意事项。 1. 选择合适的K热电偶 材料选择 :K
    的头像 发表于 01-14 09:22 1590次阅读

    多层板埋孔设计注意事项

    多层板埋孔设计注意事项
    的头像 发表于 12-20 16:06 1239次阅读

    交流负载箱的安全事项注意事项有哪些?

    交流负载箱用于模拟实际负载的电气设备,广泛应用于电力系统、通信系统、自动化控制系统等领域。在使用过程,为确保人身和设备安全,需要注意以下安全事项
    发表于 12-14 16:09