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

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

3天内不再提示

针对安全关键型应用优化多核架构

星星科技指导员 来源:嵌入式计算设计 作者:RICK HEARN,RICH JAE 2022-11-09 15:06 次阅读

作者:RICK HEARN,RICH JAENICKE

虽然多核处理器为安全关键型航空电子设备的设计人员提供了更小尺寸、更低功耗和更高性能的显著优势,但事实证明,将这些优势带到安全关键型系统中具有挑战性。这主要是由于验证和认证多核软件和硬件架构的复杂性。主要关注的是在一个内核上运行的应用程序如何干扰在另一个内核上运行的应用程序,从而对确定性、服务质量以及最终的安全性产生负面影响。

正在努力简化多核处理器的安全关键型实施。已经更新了几个标准来解决多核问题。

其中包括ARINC 653,它涵盖了安全关键航空电子应用的实时操作系统(RTOS)的空间和时间分区。ARINC 653 于 2015 年更新(ARINC 653 第 1 部分补充 4),以解决单个应用程序的多核操作,称为“分区”。开放组的未来机载能力环境 (FACE) 技术标准版本 3.0 通过要求遵守补充协议 4 来解决多核支持问题。此外,由 FAA、EASA、TCCA 和其他航空当局支持的认证机构软件团队 (CAST) 发布了一份立场文件,其中包含名为 CAST-32A 的多核系统指南。这些文档共同提供了成功将多核解决方案用于可认证高达 DAL A 的应用程序的要求,DAL A 是安全关键型软件的最高 RTCA/DO-178C 设计保证级别。

多核的优势

多核架构的好处很多,而且引人注目:

更高的吞吐量:在多个内核上运行的多线程应用程序可扩展吞吐量。多个单线程应用程序可以通过每个应用程序同时在自己的核心中运行来更快地运行。最佳核心利用率使吞吐量能够随核心数线性扩展。

更好的 SWaP [尺寸、重量和功耗]:应用程序可以在单个多核处理器中的单独内核上运行,而不是在单独的单核处理器上运行。对于机载系统,较低的SWaP可降低成本并延长飞行时间。

未来增长空间:多核处理器的更高性能支持未来的需求和应用。

更长的供应可用性:大多数单核芯片已经过时或接近过时。多核芯片在其供电寿命开始时提供处理器。

安全关键型应用中多核面临的挑战

在单核处理器中,通过在托管应用程序之间对内存空间和处理器时间进行可靠分区,多个安全关键型应用程序可以在同一处理器上执行。内存空间分区将内存的非重叠部分专用于在给定时间运行的每个应用程序,由处理器的内存管理单元 (MMU) 强制执行。时间分区将固定时间间隔(称为主帧)划分为一系列固定子间隔(称为分区时间窗口)。为每个应用程序分配一个或多个分区时间窗口,窗口的长度和数量是应用程序最坏情况执行时间 (WCET) 和所需重复率的因素。操作系统 (OS) 确保每个应用程序在其分配的时间内都可以访问处理器的核心。将这些安全关键技术应用于多核处理器需要克服几个复杂的挑战,最困难的是内核之间通过共享资源进行干扰。

磁芯之间的干扰

在多核环境中,每个处理核心的专用资源有限。所有多核硬件架构还包括共享资源,例如内存控制器DDR 内存、I/O、缓存以及连接它们的内部结构(图 1)。当多个内核尝试同时访问同一资源时,会导致争用。这种情况意味着较低关键性的应用程序/分区可能会阻止较高关键性的应用程序/分区执行其预期功能。在四核系统中,内核仅通过互连访问 DDR 内存(即没有 I/O 访问),来自多个内核的多个干扰源显示 WCET 增加了 12 倍以上。由于DDR控制器中的共享资源仲裁和调度算法无法保证公平性,干扰影响通常是非线性的。事实上,测试表明,单个干扰核心可以将另一个核心上的WCET增加8倍。

图1:单独的处理器内核(灰色)共享许多资源(绿色),范围从互连到内存和 I/O。

poYBAGNrUaGAUI3aAADY6GRG_e8186.jpg

CAST-32A 为解决多核处理器中的干扰问题提供了认证指导。一种方法是基于对每个应用程序/分区的 WCET 测试和分析及其对共享资源的最坏情况利用率创建一个特殊用例。但是,特殊用例解决方案可能会导致供应商锁定和重新验证整个系统,并更改任何一个应用程序/分区,从而使这种方法成为集成模块化航空电子设备(IMA)系统实施和维护的重大障碍。如果没有操作系统机制和工具来支持减轻干扰,维持成本和风险非常高。对任何一个申请的更改都需要对所有综合申请进行完整的WCET重新验证活动。

更好的方法是让操作系统根据解决 CAST-32A 目标的 DAL A 运行时机制、库和工具的可用性有效地管理干扰。这为系统集成商提供了有效、灵活和敏捷的解决方案。它还简化了新应用程序的添加,而无需对系统架构进行重大更改,减少了重新验证活动,并有助于消除 OEM 供应商锁定。

将单核软件设计移植到多核

虽然将现有安全系统移植到多核平台可提供更多计算资源,但由于访问共享资源的延迟较长或来自其他内核的干扰,给定应用程序的 WCET 可能会增加。需要新的分析来确定其他资源(如内存、内存控制器和内核间通信)是否会成为新的瓶颈。虽然资源可能运行得更快,但相对性能的变化可能会导致应用程序停止工作或以不确定的方式运行。

有效利用多核资源

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

软件多处理架构

与多处理器系统一样,多核处理器上的软件体系结构可以根据访问来自其他处理器或内核的内存的方式以及每个处理器或内核是否运行自己的操作系统副本进行分类。对于基于多核的系统,最简单的软件架构是非对称多处理 (AMP),其中每个内核独立运行,每个内核都有自己的操作系统或虚拟机管理程序之上的来宾操作系统。每个内核运行不同的应用程序,在调度方面内核之间很少或根本没有有意义的协调。由于缺乏负载均衡、难以缓解共享资源争用以及无法跨内核执行协调活动(如全面内置测试所需的活动),这种解耦可能会导致利用率不足。

现代替代方案是对称多处理 (SMP),其中单个操作系统控制所有资源,包括哪些应用程序线程在哪些内核上运行。这种架构易于编程,因为所有内核都“对称”访问资源,从而使操作系统能够将任何线程分配给任何内核。

不知道哪些线程将在哪些内核上运行是一个重大挑战,也是关键系统中确定性操作的风险。为了解决这个问题,CAST-32A引用了绑定多处理(BMP)的使用。BMP 是一种增强且受限的 SMP 形式,它将应用程序的任务静态绑定到特定内核,使系统架构师能够严格控制多个内核的并发操作。BMP 直接遵循 ARINC 653 补充 4 第 2.2.1 节中的多核要求,其中指出:“计划在不同处理器内核上同时执行的分区内的多个进程。

用于安全认证的多核实时操作系统的一个例子是Green Hill的INTEGRITY-178 tuMP,它是一个统一的多核RTOS,支持AMP,SMP和BMP的同时组合。RTOS 的时变统一多处理 (tuMP) 方法为将安全关键型和安全关键型应用移植、扩展和优化到多核架构提供了灵活性。它从跨所有内核运行的时间分区内核开始,该内核允许将 AMP、SMP 和 BMP 应用程序的任意组合绑定到称为关联组的一个或多个内核组(图 2)。

图2:INTEGRITY-178 TuMP 的时变功能支持将应用程序与不同分区时间窗口的核心进行不同的绑定。

poYBAGNrUaOAMFLfAAFKaRnPtPc233.jpg

然后,它会添加时间差异,以便分区时间窗口不需要在内核之间对齐。INTEGRITY-178 tuMP还包括带宽分配和监控(BAM)功能,根据DO-178C DAL A目标开发。BAM 旨在使系统集成商能够识别和减轻基于多核的系统的干扰,直接解决 CAST-32A 指南并降低集成和认证风险。

硬件角度:DO-254 可认证的多核硬件

除了DO-178软件外,飞机的全面安全认证还需要硬件的DO-254认证。当前和新兴的航空航天需求要求硬件处理能力能够支持具有混合安全关键级别的多种功能和应用。这些要求,以及包括多核处理器在内的密集计算需求和架构,突出了对能够防止性能下降和共享资源争用的RTOS技术的非常明确和迫切的需求。

包含多核处理技术的硬件体系结构必须专门设计为设置活动内核的数量和执行频率,指定激活哪些 MCP 外设,并确定对共享内存和缓存的硬件支持。在安全关键型应用中,必须仔细选择多核处理器,并根据几个关键因素构建其主机板,包括处理器的服务历史、制造可用性和质量数据、I/O 功能、性能水平和功耗。

Curtiss-Wright 基于 NXP QorIQ T2080 电源架构处理器的 VPX3-152 是专为支持安全关键型多核应用而设计的单板计算机 (SBC) 的一个示例。四核 T2080 以相对较低的功耗水平满足许多 DAL A 应用的性能要求。T2080 的 16 个可用 SerDes 通道有效地将可从处理器直接提供服务的功能数量增加了一倍,从而简化了整体电路板设计和认证工作。

这些多核处理器的全部功能在与RTOS相辅相成时得以实现,RTOS使系统设计人员和集成商能够以高保证的方式利用处理器内核的所有可用计算能力。使用安全关键型多核 SBC 和提供确定性、用户定义内核和调度分配的 RTOS 可以确保完全实现多核硬件的性能功能。

审核编辑:郭婷

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

    关注

    68

    文章

    19155

    浏览量

    229059
  • 操作系统
    +关注

    关注

    37

    文章

    6732

    浏览量

    123182
  • RTOS
    +关注

    关注

    21

    文章

    809

    浏览量

    119413
收藏 人收藏

    评论

    相关推荐

    如何优化SOC芯片性能

    优化SOC(System on Chip,系统级芯片)芯片性能是一个复杂而多维的任务,涉及多个方面的优化策略。以下是一些关键优化措施: 一、架构
    的头像 发表于 10-31 15:50 195次阅读

    【「嵌入式Hypervisor:架构、原理与应用」阅读体验】+全文学习心得

    在深入研读《嵌入式Hypervisor:架构、原理与应用》这部专著后,我对嵌入式Hypervisor技术有了全面而深入的理解。从基础的架构原理到高级特性与优化策略,再到其在各个领域中的实际
    发表于 10-09 19:11

    【「嵌入式Hypervisor:架构、原理与应用」阅读体验】+第三四章阅读报告

    Hypervisor如何通过特定的架构设计和算法实现,来确保多个虚拟机(VMs)在有限资源下的高效、安全运行。 关键收获 : 架构设计 :了解到嵌入式Hypervisor通常采用微内核
    发表于 10-09 18:29

    更深入地了解汽车与航空电子等安全关键应用的IP核考量因素

    中国已经连续十多年成为全球第一大汽车生产国和消费市场,同时越来越多的制造商正在考虑进入无人机和飞行汽车等低空设备,而所有的这些产品都需要先进芯片的支撑,同时这些芯片又都是安全关键芯片
    的头像 发表于 07-09 16:22 275次阅读
    更深入地了解汽车与航空电子等<b class='flag-5'>安全</b><b class='flag-5'>关键</b><b class='flag-5'>型</b>应用的IP核考量因素

    针对特定内核使用PFlash,是否会影响多核应用程序的性能?

    程序/函数应保持在 PFlash 0,内核 1 保持在 Pflash1 ... 等。 但如果我们保留所有 .text 无论是在 PFlash0 还是在 PFlash1,是否会影响我的多核应用程序的性能?
    发表于 07-04 06:04

    带你走进信息安全软件架构

    经纬恒润车端信息安全解决方案整合了 MCU 端以及 MPU 端的信息安全解决方案,具体方案包括 Security Boot、安全通信、安全存储、安全
    的头像 发表于 06-12 14:36 847次阅读
    带你走进信息<b class='flag-5'>安全</b>软件<b class='flag-5'>架构</b>

    risc-v多核芯片在AI方面的应用

    处理器的性能,使其在处理复杂的AI任务时具有更高的效率。同时,RISC-V允许任何人免费设计、制造和销售RISC-V芯片和软件,无需像ARM那样购买昂贵的架构许可证,这进一步降低了RISC-V多核芯片在AI
    发表于 04-28 09:20

    多核架构高性能电机控制芯片

    基于传统单核架构的电机控制芯片已无法应对新出现的严峻挑战,多核架构的控制芯片应运而生。双核架构芯片已在许多领域成功应用,并显示出其独特的优势,可以利用无传感器技术实现高性能的电机控制模
    的头像 发表于 04-19 14:46 8208次阅读
    <b class='flag-5'>多核</b><b class='flag-5'>架构</b>高性能电机控制芯片

    数字孪生关键技术及体系架构

    的可行思路。首先介绍了数字孪生的演进与价值,然后给出了数字孪生典型特征及其体系架构,并基于该架构介绍了多项数字孪生关键技术,最后对数字孪生进行了展望,包括其面临的挑战与未来发展趋势。 01 概述 数字孪生中“孪生
    的头像 发表于 04-02 14:21 717次阅读

    多核异构通信框架(RPMsg-Lite)

    ,还优化了能耗,为众多领域带来了革命性的变革。 异构多核系统是指在一个芯片上集成多种不同类型的处理器核心,这些核心可能采用不同的指令集架构(ISA),具备不同的性能特性和功耗要求。这些核心可以是高性能的通用处理
    的头像 发表于 03-08 18:20 4846次阅读
    <b class='flag-5'>多核</b>异构通信框架(RPMsg-Lite)

    如何对MD5加密算法优化

    有人针对程序安全启动过程,进行MD5算法的优化嘛。目前采用标准算法,时间稍长,如果有人做过优化的话,可以分享一下,谢谢。
    发表于 02-18 08:20

    架构开发与优化咨询和实施服务

    得益于硬件平台算力的提升,汽车电子电气架构的集成度逐渐提高,多域融合成为了目前行业中软件工程的重要工作内容。经纬恒润可以为汽车电子和软件工程师在开发软件架构过程中提供:既有软件设计梳理与建模、架构
    的头像 发表于 02-05 14:26 345次阅读
    <b class='flag-5'>架构</b>开发与<b class='flag-5'>优化</b>咨询和实施服务

    SAFERTOS现已支持RISC-V架构安全应用

    WHIS是一家为汽车、医疗和工业领域提供实时操作系统(RTOS)和平台解决方案的安全系统公司。SAFERTOS是WHIS的安全关键预认证RTOS,已通过TÜV SÜD独立认证,符合IEC 61508 SIL3和ISO 26262
    的头像 发表于 01-12 11:17 777次阅读
    SAFERTOS现已支持RISC-V<b class='flag-5'>架构</b><b class='flag-5'>安全</b>应用

    SMP多核启动:armv8的安全扩展

    为了增强arm架构安全性,aarch64一共实现了secure和non-secure两种安全状态。通过一系列硬件扩展,在cpu执行状态、总线、内存、外设、中断、tlb、cache等方面都实现了两种
    的头像 发表于 12-05 16:48 642次阅读
    SMP<b class='flag-5'>多核</b>启动:armv8的<b class='flag-5'>安全</b>扩展

    ADC架构IV:Σ-ΔADC高级概念和应用

    电子发烧友网站提供《ADC架构IV:Σ-ΔADC高级概念和应用.pdf》资料免费下载
    发表于 11-24 15:36 1次下载
    ADC<b class='flag-5'>架构</b>IV:Σ-Δ<b class='flag-5'>型</b>ADC高级概念和应用