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

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

3天内不再提示

任务关键型环境中的多核处理器

星星科技指导员 来源:嵌入式计算设计 作者:GUILLEM BERNAT 2022-11-09 15:19 次阅读

多核处理器越来越多地被采用在关键系统领域,特别是在关键任务的军事环境中。它们为单核处理器的长期可用性问题以及促进军事系统创新所需的处理能力增加的问题提供了解决方案。由于多核处理器既不提供确定性环境,也不提供可预测的软件执行时间,因此需要一种新的验证方法(一种解决多核时序分析挑战的方法)来安全使用。

处理器的SWaP(尺寸,重量和功率)问题的持续进展导致多核供电手机比阿波罗11号月球着陆器包含更多的功率。使用多核处理器带来的好处导致该技术在主流技术行业中得到广泛采用,单核处理器现在只占市场的一小部分。由于这种转变,芯片制造商正在远离生产这些传统处理器,它们的长期可用性受到严重质疑。

随着单核处理器的供应不断减少,现代嵌入式系统越来越受欢迎,采用多核处理器是不可避免的。然而,在关键任务军事领域安全使用这些处理器具有挑战性,因为它们既不提供确定性环境,也不提供可预测的软件执行时间。

军用航空电子认证的黄金标准

DO-178C 是 FAA [联邦航空管理局] 和 EASA [欧盟航空安全局] 等著名认证机构批准所有商业软件航空航天系统的主要文件。多年来,它也已成为在军用航空电子系统中使用软件的事实黄金标准。

美国联邦航空局用题为“多核处理器”的立场文件CAST-32A补充了DO-178C指南,以解决航空中越来越多地使用多核处理器的问题。

美国陆军指定的主要适航机构AMRDEC航空工程局(AED)发布了一份名为“多核处理器(MCP)适航要求”的指导文件草案,其中DO-178C和CAST-32A目标被确定为可用于满足MCP [多核处理器]适航要求的指南。

时序分析是 CAST-32A 指南中确定的核心目标之一,并具体由称为 MCP_Software_1 的目标解决,该目标需要证据证明所有托管软件组件正常运行,并且在多核环境中运行时有足够的时间完成其执行。这是一个非常具有挑战性的目标,并且已被证明是旨在认证多核项目的军事和航空航天公司的严重障碍。

分析多核时序行为

由于多种原因,旨在验证单核系统时序行为的验证解决方案不适用于多核时序分析,主要是因为这些解决方案无法考虑资源争用引起的干扰的影响。为了验证多核系统的时序行为,需要专门解决多核时序分析挑战的新方法。

考虑资源争用和干扰

多核系统任务中任务的计时行为不仅受其上运行的软件及其输入的影响,还受与其他内核上运行的任务共享的资源(如总线、缓存和 GPU)争用的影响。为了设计实验来分析多核系统的时序行为,必须识别并考虑干扰源。

图 1 显示了多核架构的简化示例,其中总线在多个内核之间共享。由核心 N 访问此总线而导致的流量可能会影响在核心 0 上运行的应用程序的计时行为,该应用程序需要访问此总线。

图1|多核系统中的干扰信道示例。

450-5d7a9b3560f59-Rapita-Figure+1+REDRAWN.jpg.jpg

必须测试假设

为了分析多核系统的时序行为,必然需要对所研究系统的行为进行一些假设,包括存在的干扰信道的影响。由于多核系统的复杂性,对系统做出的看似合乎逻辑的假设以后可能会被证明是不正确的,可能需要一个迭代过程来做出假设,测试它们,并使用分析结果来完善下一轮测试的假设。

这最好用一个实际示例来解释:正在研究的是运行在 Xilinx Zynq Ultrascale+ ZCU102 目标板上的内存密集型应用对不同干扰水平的敏感性。运行应用程序的应用程序处理单元有四个内核。合理的假设是,由于对系统的先验了解,二级缓存是此应用的主要干扰通道。为了验证这一假设,在应用程序运行时执行了一项测试,同时从 0 到 3 个竞争者内核上运行的任务对 L2 缓存进行持续访问。

图2|CPU 周期和二级缓存未命中。

450-5d7a9e9aef80e-Rapita-Figure_2.jpg.jpg

如果假设有效,则应用程序执行的二级缓存未命中数和 CPU 周期数将随着每个额外的竞争者内核而增加。该图显示,这一假设一直持续到引入第三个竞争者核心。这增加了 CPU 周期数,但二级缓存未命中数与只有两个竞争者内核处于活动状态时大致相同。

多核系统中干扰效应的复杂性意味着设计人员应该期望需要迭代周期来形成假设,测试它们,并使用分析结果形成新的假设。虽然没有办法自动化这个过程,但工程师可以在如何形成关于多核处理器的合理假设以及如何通过处理多个项目和积累经验来在调查工作中重新评估这些假设方面发展专业知识。有效的重新评估和测试将导致全面了解多核处理器的行为方式以及哪些因素会影响其计时行为。

在真实硬件上进行测试

多核CPU很复杂,其内部通常是隐藏的,因此纯分析模型在理解其时序行为方面的用途有限。虽然纯分析(静态分析)模型可以为单核系统提供可用的时序估计,但对于多核系统则不是这种情况。即使使用这些方法,它们也会根据多核配置的病理最坏情况行为产生高度悲观的结果,并且这些结果将没有实际用途。

要从多核系统生成可用的时序指标,必须测量系统本身的时序行为。Rapita Systems的工程师使用巴塞罗那超级计算中心开发的一系列微基准来强调特定的共享资源,并在发生这种争用时观察应用程序的计时行为。通过使用该技术对特定共享资源应用可配置的争用程度,可以制定实验,以帮助根据可行的计时环境分析计时指标。这些实验可以产生满足CAST-32A定时目标所需的关键证据,例如最坏情况执行时间(WCET)。

多核时序分析不能完全自动化

多核处理器的复杂性意味着构建全自动时序分析解决方案是不现实的。虽然工具支持可以自动化大多数数据收集和分析过程,但需要工程智慧和专业知识来了解系统和指导工具使用以产生必要的证据。工程师在了解多核系统、研究干扰信道和使用支持工具方面的经验越多,分析过程的效率就越高。

未来的关键任务

军事领域使用的关键任务嵌入式系统越来越多地使用多核处理器。这些系统的认证考虑因素不是事后才考虑的,而是在开发过程的早期考虑的。值得庆幸的是,DO-178C 提供了一组强大的目标,以确保安全可靠地使用这些处理器。多核系统的时序分析具有挑战性,但久经考验的解决方案可以在商业环境中执行。

审核编辑:郭婷

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

    关注

    68

    文章

    18283

    浏览量

    222166
  • MCP
    MCP
    +关注

    关注

    0

    文章

    252

    浏览量

    13737
收藏 人收藏

    评论

    相关推荐

    高通解锁骁龙X Elite处理器更多信息:GeekBench多核跑分比苹果M3高28.4%

     在GeekBench 6.2版本的测试中,骁龙X Elite处理器多核成绩达到了15610分,相较于苹果M3(12154分)提升了28.4%。这一结果显示,微软对采用Arm处理器的Windows笔记本电脑充满信心,认为其在C
    的头像 发表于 04-17 18:15 925次阅读

    RISC-V处理器对应什么开发环境

    RISC-V处理器是开源的,那开发环境需要厂商自己开发还是沿用传统的开发环境呢?比如keil
    发表于 01-13 19:18

    选择处理器的几个关键因素

    选择处理器的几个关键因素  选择处理器时,有几个关键因素需要考虑。这些因素包括处理器的性能、功耗、价格、架构和生产工艺。 首先,性能是选择
    的头像 发表于 12-15 09:43 389次阅读

    为什么有多核处理器?从多核到众核处理器

    其实“多核”这个词已经流行很多年了,世界上第一款商用的非嵌入式多核处理器是2002年IBM推出的POWER4。
    的头像 发表于 11-16 16:25 843次阅读
    为什么有<b class='flag-5'>多核</b><b class='flag-5'>处理器</b>?从<b class='flag-5'>多核</b>到众核<b class='flag-5'>处理器</b>

    北京君正X2600处理器亮相ELEXCON 2023,打造多核异构跨界新价值

    控制等关键技术,同时承袭了北京君正特有的功耗低、开发门槛低等技术特点,适用于各类消费、商业和工业的嵌入式应用领域。 多核异构,按需优化 北京君正X2600系列处理器采用多核异构架构,内
    发表于 11-03 18:17

    X2600处理器,打造多核异构跨界新价值

    跨界处理器。 据介绍,X2600系列处理器采用了北京君正自研的CPU内核、图像/视频处理、2D处理引擎和打印机控制等关键技术,同时承袭了北京
    的头像 发表于 10-10 14:22 330次阅读
    X2600<b class='flag-5'>处理器</b>,打造<b class='flag-5'>多核</b>异构跨界新价值

    芯片验证板设计原理图第446篇:基于VU440T的多核处理器多输入芯片验证板卡

    基于VU440T的多核处理器多输入芯片验证板卡 一、板卡概述 基于XCVU440-FLGA2892的多核处理器多输入芯片验证板卡为实现网络交换芯片的验证,包括四个FMC接口、DD
    发表于 09-08 15:07

    芯片验证板卡设计原理图:基于VU440T的多核处理器多输入芯片验证板卡

    基于XCVU440-FLGA2892的多核处理器多输入芯片验证板卡为实现网络交换芯片的验证,包括四个FMC接口、DDR、GPIO等,板卡用于完成甲方的芯片验证任务,多任务功能验证。
    的头像 发表于 08-24 10:58 511次阅读
    芯片验证板卡设计原理图:基于VU440T的<b class='flag-5'>多核</b><b class='flag-5'>处理器</b>多输入芯片验证板卡

    Arm Cortex-R82处理器技术参考手册

    ®-R82处理器有一到八个核心,每个核心实施一个ARM®V8-R AArch64兼容处理元素(PE)。 在Cortex®-R82处理器环境
    发表于 08-17 07:45

    ARM 720T处理器技术参考手册

    ARM720T是一款通用的32位微处理器,具有8KB的高速缓存、扩大的写入缓冲区和内存管理单元(MMU),组合在一个芯片中。ARM720T的CPU是ARM7TDMI。ARM720T是与ARM处理器
    发表于 08-02 11:36

    芯片验证板卡设计原理图:基于XCVU440的多核处理器多输入芯片验证板卡

    本板卡系我司自主研发的基于6U CPCI处理板,适用于多核处理器多输入芯片验证的应用。芯片采用工业级设计。
    的头像 发表于 07-31 15:50 459次阅读
    芯片验证板卡设计原理图:基于XCVU440的<b class='flag-5'>多核</b><b class='flag-5'>处理器</b>多输入芯片验证板卡

    芯片验证板卡设计原理图:446-基于VU440T的多核处理器多输入芯片验证板卡

    基于XCVU440-FLGA2892的多核处理器多输入芯片验证板卡为实现网络交换芯片的验证,包括四个FMC接口、DDR、GPIO等,板卡用于完成甲方的芯片验证任务,多任务功能验证。
    的头像 发表于 07-25 14:17 440次阅读
    芯片验证板卡设计原理图:446-基于VU440T的<b class='flag-5'>多核</b><b class='flag-5'>处理器</b>多输入芯片验证板卡

    服务器多核处理器有何优点和缺点?

    什么是多核处理器多核处理器是包含两个或多个处理器的芯片。每个处理器能够同时执行不同的
    的头像 发表于 07-13 17:08 1608次阅读

    多核处理器启动的基本原理

    本文选自极术专栏《IC设计》的文章,授权转自微信公众号老秦谈芯。本篇将介绍多核处理器的启动过程。     在早些年前,一个中央处理器(CPU)里面只有一个处理器核(Core)。那时候C
    的头像 发表于 06-14 09:24 1729次阅读
    <b class='flag-5'>多核</b><b class='flag-5'>处理器</b>启动的基本原理

    是否有说明多核应用程序如何为lpc4370处理器工作的文档?

    决? 在 lpc43S67 处理器上运行 multicore_blinky 应用程序时,我没有收到此错误。我确实参考了 LPC43xx Cortex-M4 / M0 多核应用文档。在本文档,我看到
    发表于 06-08 09:01