多核系统仍然是军事和航空航天领域的一个有吸引力的选择,这已经不是什么秘密了。随着嵌入式系统尺寸、重量和功耗 (SWaP) 的减小,依赖多核系统的推动力仍在继续。
原因不难理解。同一芯片上的双核可提高性能,而无需增加功率或增加尺寸或重量。减少芯片数量等于减少物理空间 - 例如,有助于安装在飞机上的狭小空间中,或用于侦察任务中的士兵手持设备。不要介意减少的功率、热量等。你知道好处!
然而,在军事/航空航天市场,测试和认证多核系统的挑战总是抵消了明显的好处 - 特别是在试图满足DO-178标准时。从单核转向多核(并行处理)的相同优势也增加了挑战。
安全关键型测试的动态
在研究多核挑战之前,我们需要了解安全关键开发的典型动态,这些动态必须在系统级别进行测试。这是挑战开始的时候。目标系统永远不会具有与开发平台相同的内存和运行时性能。证明结构覆盖所需的代码检测往往会使系统陷入困境,尤其是在需要板载 I/O 来导出测试结果的情况下。
由于对系统性能的影响,由于目标资源有限,通常无法对嵌入式系统进行整体检测。通常通过一次验证和分析一个组件的代码,然后聚合结果来解决此限制。
在安全关键领域,由于所使用的处理器和工具链通常不是最新的,因此具有更大的资源限制,因此这种循序渐进的过程更具挑战性。因此,传统流程要求对每个组件重复系统级测试,从而大大延长了整体验证计划。
多核提升认证赌注
在多核系统上进行测试使这些挑战进一步复杂化。当多个进程在不同的内核上运行时,有效收集结构覆盖数据可能会受到并发性、可靠性和稳健性障碍的阻碍。
例如,创建线程安全检测数据记录函数的典型方法依赖于使用同步对象(如互斥锁)。这可确保一次只有一个进程可以执行数据记录代码;执行函数的第一个进程“抓取”互斥锁,阻止任何其他尝试使用同一函数的进程执行。
一旦第一个函数完成了数据记录过程,它就会“释放”互斥锁,执行列表中的下一个进程会“抓取”它并继续处理。对于多核系统的所有并发进程,不难看出这种切换方法可能会对系统的运行时性能产生不利影响。
新的轻量级检测解决了问题
随着开发进度越来越紧,以及行业对降低嵌入式系统SWaP的推动,传统仪器和数据收集技术的内存和运行时开销已成为生产力和应用性能的障碍。传统的仪器和数据收集技术在越来越多地用于满足SWaP要求的多核系统的情况下根本不可行。
满足安全关键行业标准的验证要求要求所有测试都在系统级对最终系统硬件执行,并且必须通过使用结构覆盖分析来证明测试完整性。
新的轻量级仪器技术解决了这两个目标。在我的下一篇文章中,我将研究一些有希望的突破,以经济高效地测试多核系统,以满足安全关键标准。
审核编辑:郭婷
-
芯片
+关注
关注
452文章
50117浏览量
420339 -
嵌入式
+关注
关注
5056文章
18950浏览量
301510
发布评论请先 登录
相关推荐
评论