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

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

3天内不再提示

CAST-32方法为多核处理器打开了大门

星星科技指导员 来源:嵌入式计算设计 作者:Oliver Kuhlert 2022-11-29 16:17 次阅读

在航空电子设备中,将软件集中到一个硬件平台中被认为是一种很好的做法。事实上的标准 ARINC653 根据排除和缓解硬件资源冲突的分区模型描述了它如何正常工作。随着此模型的成功和多核处理器 (MCP) 的出现越来越多,证书颁发机构已开始扩大其对使用多核处理器的接受程度。

CAST-32 方法为多核处理器打开了大门。..

关于这一点,认证机构软件小组(CAST),一个由认证和监管机构代表组成的国际小组(EASA,FAA),发表了一篇名为CAST-32的论文,描述了允许在机载系统中使用多核处理器的条件。从本质上讲,本文确定了可能对系统安全产生影响的主要主题,在大多数情况下,事实证明确定性是关键。CAST-32的最终结论是可以使用多核处理器,但范围仅限于最多两个活动内核。

。..但随后的开发实际上允许有效地利用它们

随着CAST-32文件CAST-32A(2016)的更新,这种情况发生了变化。现在可以在机载系统中并行使用处理器的所有内核。该文件明确允许使用多个内核,只要提交认证的组织(申请人)可以为上述问题提供最先进的解决方案。这些问题涉及硬件设计的各个方面以及软件体系结构的问题。后者需要通过适当的操作系统打下坚实的基础。高级操作系统已经将多核支持紧密地整合到其分区管理中。

规划的挑战

CAST-32A 定位文件的“规划”部分讨论了与处理器、架构、操作系统和工具选择相关的所有主题。它始于申请人确定MCP的责任。此外,CAST-32A要求申请人注意软件架构(包括IMA考虑),资源分区模型和要使用的开发工具。

最大的挑战:管理共享处理器缓存而不发生冲突

CAST-32A最具争议的讨论主题被称为“干扰信道和资源使用”。它让申请人来识别应用程序之间的干扰,定义资源使用情况,并评估对整个系统的确定性行为的影响。共享处理器缓存和主内存带宽的影响这两个问题正在挑战申请人构建系统。

由于高级缓存在处理器内核之间共享,因此 CPU 的硬件必须处理同步问题。此外,共享缓存的状态可能会受到错误应用程序的影响,从而严重影响安全关键分区的性能。

及时处理任务的内存冲突解决方案

为了应对最坏的情况,符合 CAST-32A 标准的操作系统必须提供缓存带宽监控,以便关闭错误的应用程序。除了这些在运行时适用的技术方法之外,申请人应该有可能(几乎)消除架构级别的缓存影响。最明显的方法是增加时间分区窗口的安全裕度,以便即使共享缓存永久不稳定,也可以满足最坏情况执行时间 (WCET)。这样做时,性能将受到重大影响。相反,申请人可以将应用程序分成具有相同软件级别的组。通过确保安全关键流程并行运行,缓存可以在关键时间范围开始时失效。这应该类似于单核处理器上的情况,其中应用程序按顺序调度,在关键安全应用程序启动时执行资源清理。

poYBAGOFwC6AFRoJAAB3GbDnu4Q887.png

另一个干扰源是主内存总线。即使内存区域被划分并因此相互保护,对总线的访问也需要一定的时间。一个应用程序对内存总线的密集使用是以并行运行的应用程序为代价的。本主题与共享缓存讨论非常相似,缓解措施几乎相同。

细粒度锁定和清晰的前景

当在不同内核上执行的应用程序同时进入内核空间时,也可能发生争用,从而可能访问相同的数据结构。传统上,对整个内核内存的访问受全局锁保护,一次只允许一个内核执行操作系统服务。这在技术上可能已经足够,但在可扩展性方面并不令人满意。为了减少这种干扰通道的影响,一个兼容良好的操作系统必须使用细粒度锁定,这大大降低了应用程序同时请求同一锁的概率。

除了识别干扰信道外,CAST-32A论文还要求对每个内核的资源使用情况进行分析。例如,申请人仍然需要在合理条件下确定安全任务的WCET,并且最终必须确定安全裕度。这同样适用于存储区域大小的分析。一个好的操作系统必须通过提供有关内存预算和执行时间的信息来支持用户。

总结

证书颁发机构团队 (CAST) 小组勾勒出在航空电子系统中使用多个处理器内核的方法。他们的定位文件CAST-32A提到了硬件设计的各个方面以及软件架构的问题。通过PikeOS操作系统,SYSGO公司提供了主要的构建块之一,将强大的资源和时间分区扩展到具有多个内核的CPU,完美地应用了CAST-32A论文中描述的需求。

审核编辑:郭婷

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

    关注

    68

    文章

    18288

    浏览量

    222185
  • 航空电子
    +关注

    关注

    15

    文章

    479

    浏览量

    44861
收藏 人收藏

    评论

    相关推荐

    Andes晶心科技正式推出AndesCore® AX65全新RISC-V乱序执行、超纯量、多核处理器

    高效率、低功耗、32/64 位 RISC-V 处理器核的领先供货商和 RISC-V 国际协会创始首席成员Andes晶心科技,宣布全面推出高性能AndesCore AX65--乱序执行、超纯量、多核处理器IP。
    的头像 发表于 01-17 13:48 571次阅读

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

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

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

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

    同时触发ADC1 ADC2 ADC3方法

    同时触发ADC1 ADC2 ADC3方法
    发表于 10-19 06:24

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

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

    如何在蜂鸟处理器核的基础上扩展第三指令?

    想咨询一下如何在蜂鸟处理器核的基础上扩展第三指令,使用户自定义指令,并如何构建机器码等内容? 我看了胡老师的RISC-V处理器设计的书里面讲的使用custom1-4来进行扩展,并以EAI
    发表于 08-16 07:36

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

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

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

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

    多核同构SMP--调度算法分析

    随着智能化产品的需求不断提高,慢慢的单芯片单核处理器已经不能满足我们的需求,于是就在一个芯片上集成两个或多个核心,进而转向了多核处理器的发展,多核
    的头像 发表于 07-10 11:10 1339次阅读
    <b class='flag-5'>多核</b>同构SMP--调度算法分析

    用手机APP和Wemos D1板打开大门或车库

    电子发烧友网站提供《用手机APP和Wemos D1板打开大门或车库.zip》资料免费下载
    发表于 07-03 10:11 0次下载
    用手机APP和Wemos D1板<b class='flag-5'>打开大门</b>或车库

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

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

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

    是否有说明多核应用程序如何为 lpc4370 处理器工作的文档? lpc4370 处理器多核应用应该使用哪些闪存驱动程序文件和内存配置文件? 是否有针对 lpc4370
    发表于 06-08 09:01

    KUKA机器人CAST_TO-CAST_FROM数据传输

    CAST_TO使得使用单个CWRITE语句处理多达4 KB的数据成为可能。CAST_TO将单个变量分组为一个缓冲区。然后,CWRITE将此缓冲区写入通道。
    发表于 05-22 09:23 1207次阅读
    KUKA机器人<b class='flag-5'>CAST_TO-CAST</b>_FROM数据传输

    为什么无法“State_Machine”执行处理器在环 (PIL) 仿真?

    SIL 或 PIL 仿真、目标创建连接配置和处理器在环 (PIL) 仿真。 存在 S32k 配置块并选择了 PIL 选项。 有一个解决方法,从模型中删除 s32k 配置块并将其放回原处。重新启动
    发表于 05-22 07:44

    KUKA机器人CAST_TO-CAST_FROM简析

    CAST_TO使得使用单个CWRITE语句处理多达4 KB的数据成为可能。CAST_TO将单个变量分组为一个缓冲区。
    发表于 05-09 15:40 495次阅读