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

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

3天内不再提示

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

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

将软件集中到一个硬件平台中被认为是航空电子设备的一种良好做法。事实标准 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)。这样做时,性能将受到显着影响。相反,申请人可以将应用程序排序为具有相同软件级别的组。通过确保安全关键进程并行运行,缓存可以在关键时间框架开始时失效。

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

细粒度的锁定和清晰的前景

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

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

概括

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

审核编辑:郭婷

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

    关注

    68

    文章

    18240

    浏览量

    222022
  • 存储器
    +关注

    关注

    38

    文章

    7139

    浏览量

    161963
  • 操作系统
    +关注

    关注

    37

    文章

    6274

    浏览量

    121861
收藏 人收藏

    评论

    相关推荐

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

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

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

    其实“多核”这个词已经流行很多年了,世界上第一款商用的非嵌入式多核处理器是2002年IBM推出的POWER4。
    的头像 发表于 11-16 16:25 824次阅读
    为什么有<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 322次阅读
    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 454次阅读
    芯片验证板卡设计原理图:基于XCVU440的<b class='flag-5'>多核</b><b class='flag-5'>处理器</b>多输入芯片验证板卡

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

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

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

    随着智能化产品的需求不断提高,慢慢的单芯片单核处理器已经不能满足我们的需求,于是就在一个芯片上集成两个或多个核心,进而转向了多核处理器的发展,多核
    的头像 发表于 07-10 11:10 1326次阅读
    <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 1719次阅读
    <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 1175次阅读
    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 494次阅读