EEJournal

编辑的博客
现在就订阅

多核如何影响代码覆盖率?

多核系统可以是一个b…东验证代码,这取决于你有事情。离开,说,一个操作系统调度器,代码执行一般电脑上不是决定性的,因为中断的可能性的其他程序或外部中断。所以它变成了近于不可能证明关键安全系统的行为。

# 1课从这个事实是,“不要这样做。“关键代码多核必须仔细设计保证证明地确定的性能。但是# 2的教训是,当工具要求分析多核代码,你需要问一些问题弄清楚到底是什么意思。

这就是我当LDRA宣布了新的多核代码覆盖率分析。这种分析总是涉及到仪表的源代码,,根据定义,加剧担忧决定论。所以在LDRA的情况下这是什么意思?

我要花几分钟与一个西班牙,杰伊·托马斯(是的,他们实际上是足够的信任,我们俩,坦率地说,让一个工程师跟出版社)得到一个更好的理解发生了什么。

首先,分析覆盖的范围,确定是否一个特定的代码被执行。这是概念上完成(即通过添加一些代码。插装),每个“基本块。”

一个基本的代码块是一组直线的声明没有任何分支。因为没有分支机构,如果您输入,你知道每一行在那块被执行。想大声,我想如果你把额外的检测代码块的开始,然后一个中断或计划外的停止可能无效的证据;如果你把仪表的基本块(图中蓝色的),然后,通过它,你可以合理地断言之前你必须执行指令。

Drawing.png

覆盖在scoreboard-like跟踪矩阵,所以“检查”一块包括设置一个值在一个矩阵对应块的位置执行。

这里的挑战是性能。一个简单的“索引矩阵”每次操作涉及计算的目标地址。这可能听起来微不足道,但是,显然它增加。和多核使情况变得更糟,不仅因为你可能会期望这样的新项目更大,但是因为现在你有碰撞的可能性。我们将讨论碰撞,但让我们首先解决性能。

为了减少计算开销,LDRA pre-calculates目的地址在编译时的实现代码。我完全没有看到这是如何工作的,但效果类似于改变间接存储直接存储操作。这节省了大量的时间在程序执行。

放在一边,让我们回到碰撞问题。有一个大的记分板为整个项目,而不是针对每个核心。所以两个核心可能试图在同一时间写单核系统——一个不可能的情况。有一些细微差别,因为你可能会认为内存控制器应该隐藏事实两个内存请求在同一时间。

有很多方法来设计一个记分牌,但对于密实度,LDRA包碎片。内存控制器可以管理单独的单词或字节(或者无论其粒度是),但不能管理bit-packing。如果两个核心试图设置位碰巧挤进同一个词,然后有一个不肯舍弃碰撞。和性能意味着你不想要一个是等待,直到完成。(我无法想象丑陋的性能影响是什么如果你天真地试图生成单独的非阻塞终端线程的写为代码的测试…)

LDRA处理这种碰撞的方式放弃试图检查在这个词已经在使用其他验讫。先来先得。事实上,先到,只有服务。

这意味着,即使仪器说“核对块”,如果你实际上可能不会发生碰撞与一个不同的核心检查不同的块。对于这个特定的实例,您可以考虑这个“假阳性。“换句话说,如果你立即使用生成的位的值来确定是否阻止了,说它没有覆盖,而事实上它——它只是日志操作失败。

这是保守的行为:批判性的关键任务软件,它不会创建一个假阴性。说不同,跟踪报道以这样一种方式可能比表示;它不会更糟。重要的是要知道。

但是,假阳性并不有趣。没有人希望通过一系列“失败”,却发现他们没有,事实上,失败。需要很长时间来做分析,最后得到这漫长的例外列表,只是感觉…混乱,尤其是当你试图建立对代码的信心。

这个问题有两种解决方案。第一种是什么都不做——字面上。嵌入式程序爱循环,所以你可能无法检查一块在一个循环迭代;没问题,下次你可能会遇到它。由于这个原因,尽管一个人写一个假阳性可能表示,当你完成执行整个程序,大部分可能已经消失了。

但还有可能掉队。为了解决这个问题,LDRA提供控制有多少位挤进一个字。如果你让每个单词稀疏的,那么可能有更少的碰撞。极限是一个词/基质细胞。在这一水平,内存控制器可以管理冲突,你是好去。当然,成本是矩阵的大小。

你可以找到更多的在LDRA公告

留下一个回复

有特色的博客
2023年1月19日
本周周二,马尔科姆·佩恩未来的视野给三个年度报告里的一个半导体行业的前景。我上次写了一个报告,马尔科姆·什么是感觉“最近”,但事实上,在2021年。那篇文章叫Se……
2023年1月18日
众所周知的工作安全性至关重要和关键任务系统,GridVortex的员工由一些被称为“万无一失的裸机人”……
2023年1月18日
学习为什么2023年将会是大multi-die系统芯片设计者使用chiplet技术和UCIe标准来满足日益增长的PPA需求HPC和超越。邮局为什么2023年前景大Multi-Die系统出现第一次从硅软件....
2023年1月16日
由Slava Zhuchenya所以你净跟踪太多的寄生电阻。它从何而来?你跑……

有特色的视频

Synopsys对此224 g和112 g以太网PHY IP 2022 ECOC OIF互操作

Synopsys对此

这个特色的视频显示了四个示威Synopsys对此长224 g和112 g以太网PHY IP,介质达到性能,与第三方进行渠道和并行转换器。

了解更多

以注入式教学法亚博里的电子竞技

扩大SiliconMAX SLM攷虑

Synopsys对此

为了跟上当今电子设计的严格的步伐,我们必须了解每个步骤的集成电路设计生命周期包括调试、启动和攷虑操作。注入式教学法在这节课中,阿米莉亚道尔顿亚博里的电子竞技聊天与史蒂夫接线盒Synopsys对此对硅攷虑基础设施生命周期管理,这一优势分析时扮演的角色攷虑优化,以及云分析,运行时代理和SiliconMAX传感器分析可以提供你更多的信息比以往任何时候都为您的IC设计的生命周期。

点击这里获取更多信息SiliconMAX硅生命周期管理

Baidu