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

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

3天内不再提示

软件引起的硬件过时:重大修复

星星科技指导员 来源:嵌入式计算设计 作者:DR. ANDREW COOMBES 2022-11-08 15:06 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

军事应用中的嵌入式系统由于其较长的使用寿命和使用过程中经历的要求变化,特别容易出现软件老化,这可能导致性能下降。反过来,这可能会导致昂贵的计划外硬件升级。避免这些升级的一种方法是对过时的软件应用优化。

与其他关键的实时嵌入式系统不同,军用航空电子系统的使用寿命长达数十年,在此期间,它们会定期更新。这些定期更新产生于计划中的变革,也产生于为满足不断变化的军事需求而对业务要求的改变。

变化(在初始设计中无法预测)与多年来发生的升级相结合,不可避免地导致软件对底层计算平台的需求增加。这种需求的增加可能导致性能下降和由于时序超支而导致的间歇性故障。避免这种情况的一种方法是频繁、昂贵的硬件升级。

另一种方法依赖于自动检测旧软件中的“时序优化机会”。这种时序优化方法也可以在旧版软件环境中工作。

软件老化:神话还是事实?

最初,软件老化似乎是一种矛盾:一旦编写了代码,它就不会物理降级 - 不像硬件,硬件受随机物理过程的影响,导致组件的性能随着时间的推移而下降。

当然,前者是基于软件不会改变的假设。在长期存在的军事系统中,这可能是一个不真实的假设:作战需求将发生变化,而这些变化将不可避免地导致软件老化。

软件老化影响冗长的项目主要有四个原因:

在很长的项目过程中,建筑设计决策背后的基本原理将消失在时间的迷雾中。

随着越来越多的决策与原始架构不一致,软件的原始“形状”就会丢失。

软件开发中不断变化的时尚将把架构拉向不同的方向。

即使使用最好的架构,也不可能提前预测可能需要的所有可能的更改。

这种软件老化的净效应是软件性能会随着时间的推移而下降。

软件引起的硬件过时

在过去的四十年中,一个默认的假设是电子/计算性能不可避免地会随着时间的推移而提高。这种“现实”导致定期硬件升级被内置到军事系统等长期运行的程序中,目的是利用性能改进。

与这些周期性的性能改进相抵触的是软件老化问题:功能要求增加,功能增益很少。当软件老化导致除了计划的升级之外还需要额外的硬件升级时,就会发生软件引起的硬件过时。

推回时间的蹂躏

计划外升级的替代方法是提高软件性能,这是通过仔细优化来实现的。在实时系统的情况下,这通常侧重于最坏情况下的性能,或软件执行给定功能所需的最长时间。

在理想情况下,优化可以通过采用现有架构并根据新需求将其重构为更高效的结构来实现。鉴于软件老化导致软件架构不可避免的退化,这需要对整个系统进行广泛的重新开发不太可能是一个可接受的选择。相反,优化必须是一种更“机会主义”的活动——在没有对底层架构有深刻理解的情况下识别改进并应用它们。

优化遵循三个主要步骤:

确定贡献(确定代码库中的哪个位置可以集中优化工作)。

优化(确定现有代码的替代方案)。

冲洗并重复(测量改进,如果有的话,并继续直到工作完成)。

确定贡献

在决定将优化工作重点放在何处时,最重要的一个因素是了解每个软件组件对整体系统性能的贡献。

这里的“贡献”用于表示执行特定代码段所花费的时间百分比。它来自两个值:代码段的最长执行时间和执行次数。

查找特定模块的贡献依赖于首先通过代码找到最坏情况的路径,然后查看每个代码子程序在该路径上花费的时间。(请参阅图 1。

图1:按子计划划分的最坏情况执行时间(WCET)的贡献。

pYYBAGNqABCAS02yAABfw-8yZI0273.jpg

如图所示,有些代码对最坏情况的路径没有贡献,而有些代码的贡献很小;第三,还有一些代码做出了重大贡献。正是最后一个类别提供了优化的最佳候选者。

不建议尝试通过手动检查代码来确定优化的候选对象,因为这会耗费大量精力,并可能导致浪费优化工作;例如,通过尝试优化属于“无贡献”类别的代码。最好的方法是通过测量代码的执行时间来识别优化候选者。

优化,确定替代方案

一旦确定了优化候选对象,下一步就是优化它们。这项活动是整个过程的核心,依赖于工程团队的技能和经验。

优化的一个重要来源是在最坏情况下多次执行的模块。每个可以删除此类代码的循环都受益于对整个路径的乘数效应。

冲洗并重复

进行优化后,有必要再次测量执行时间。此步骤将确定系统现在是否满足其性能目标。

如果在此阶段仍需要进一步改进,则重复识别优化候选者的练习可能会出现新的位置来集中优化工作。

上述三个步骤中的两个需要测量代码的最坏情况执行时间。

通常,测量执行时间涉及:

将测量点(也称为检测)添加到源代码。

收集测量值。

分析测量值。

对于大型系统,这很快就会成为一项耗时的活动。通过内部开发的工具支持或通过RapiTime等商业工具,可以大大减少上述三项活动所需的工作量。

将此类工具支持集成到构建-测试过程中意味着可以在每个构建-测试周期中自动进行时序测量。这使设计人员能够查看优化活动在每一步中的进展情况,而不是等待优化活动结束。

遗留系统呢?

许多需要优化的系统将属于“遗留系统”类别:其年龄意味着在软件工具和连接到它们的硬件方面对计算平台的支持有限。

处理此类系统的一个关键方面是时序分析方法的灵活性。例如,可能无法使用新式调试接口或其他特定硬件接口。因此,进行定时测量的方法必须能够适应可用的设施。同时,必须尽可能减少任何检测代码的影响,以避免在测量活动期间耗尽资源(例如,内存或 CPU 容量)。

军用航空电子系统软件不可避免地会“老化”,这可能导致昂贵的计划外硬件升级。另一种方法是优化老化的软件,这只能通过测量、优化和审查程序来实际执行。

自动测量软件性能可最大程度地减少所涉及的工作量,并且还允许测量以展示软件性能的增量改进。

审核编辑:郭婷

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

    关注

    5209

    文章

    20657

    浏览量

    337077
  • 航空电子
    +关注

    关注

    15

    文章

    500

    浏览量

    46879
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    AI 辅助代码修复:嵌入式软件开发的突破性进展

    凭借 AI 辅助修复,开发人员不仅能实现“边写边分析”,还能做到“边写边修复”。这不仅带来了更准确、更安全的软件,还优化了缺陷检测与修复的左移流程,提升了开发速度,进而全面增强了嵌入式
    的头像 发表于 03-26 11:19 1637次阅读
    AI 辅助代码<b class='flag-5'>修复</b>:嵌入式<b class='flag-5'>软件</b>开发的突破性进展

    内孔堆焊激光熔覆修复加工:重塑工业修复的科技标杆‌

     在工业设备高负荷、极端工况的长期运转中,内孔作为齿轮轴、阀座、缸套等关键零部件的核心承载结构,常面临磨损、腐蚀、冲蚀及疲劳裂纹等多重损伤。传统修复技术(如电弧堆焊、电镀、喷涂)要么存在热影响区
    发表于 03-24 14:36

    润和软件入选2025年度南京市重大科技专项

    近日,南京市科学技术局正式公示《2025年度市级重大科技专项拟立项项目名单》。江苏润和软件股份有限公司(以下简称“润和软件”)申报的“面向GUI系统的AI测试智能体平台关键技术研究”项目(以下简称
    的头像 发表于 12-30 17:43 1388次阅读
    润和<b class='flag-5'>软件</b>入选2025年度南京市<b class='flag-5'>重大</b>科技专项

    智能双卡设计实战指南:硬件电路与软件配置详解!

    在智能双卡设计中,硬件电路的可靠性与软件配置的精准性直接决定双卡功能的稳定性。本文基于实际项目经验,详细拆解硬件设计中SIM卡供电电路、时钟信号匹配及卡槽复用设计的实现细节,并同步讲解软件
    的头像 发表于 12-16 15:13 660次阅读
    智能双卡设计实战指南:<b class='flag-5'>硬件</b>电路与<b class='flag-5'>软件</b>配置详解!

    ADC模数转换实战:硬件设计与软件开发要点指南!

    为实现高精度、高稳定性的ADC模数转换,硬件软件设计均需遵循特定原则。硬件层面需优化信号调理、参考电压及抗干扰设计;软件层面需合理配置采样参数、实现数据滤波及异常处理。本文将结合实际
    的头像 发表于 12-16 13:25 575次阅读
    ADC模数转换实战:<b class='flag-5'>硬件</b>设计与<b class='flag-5'>软件</b>开发要点指南!

    广凌智慧教室建设内容:硬件软件介绍

    广凌科技(广凌股份)凭借“硬件+平台+数据”的深度融合,推出智慧教室整体解决方案,全面覆盖智慧教室建设的硬件配置、软件平台、数据驱动及场景适配需求,一起来看看广凌智慧教室建设需要搭建什么硬件
    的头像 发表于 11-11 16:17 1470次阅读
    广凌智慧教室建设内容:<b class='flag-5'>硬件</b>与<b class='flag-5'>软件</b>介绍

    硬件融合拼接器与软件融合拼接的区别?

    硬件融合拼接器和软件融合拼接是两种不同的图像拼接技术,它们在实现方式、效果和应用场景等方面存在一些区别。 1、实现方式 硬件融合拼接器通常是通过硬件设备来实现图像的拼接,这种设备通常由
    的头像 发表于 09-28 14:33 646次阅读

    工控一体机频繁死机?聚徽分享从硬件到系统的全维度排查与修复指南

    经济损失。为了帮助用户快速有效地解决这一棘手问题,本文将从硬件软件、系统设置以及环境因素等多个维度进行深入排查,并提供相应的修复方案。 一、硬件故障排查与
    的头像 发表于 07-02 10:13 2649次阅读

    工业触控一体机触控失灵?聚徽解析从硬件排查到驱动修复全流程

    在工业生产场景中,工业触控一体机作为重要的人机交互设备,一旦出现触控失灵的情况,会对生产流程的顺畅推进造成阻碍。面对这一问题,需要从硬件软件等多个层面进行系统性排查与修复,以下将为你展开详细解析
    的头像 发表于 06-30 17:38 1191次阅读

    工控一体机频繁蓝屏怎么办?聚徽5步定位硬件冲突与系统修复方案

    一、引言 工控一体机作为工业自动化控制的核心设备,其稳定性直接关系到生产线的正常运行。然而,频繁蓝屏问题不仅会导致生产中断,还可能造成数据丢失,给企业带来重大损失。本文将介绍一种五步定位硬件冲突
    的头像 发表于 06-24 11:30 1365次阅读

    触控失灵修复:聚徽解码工业触摸屏「校准失效」的软件/硬件解决策略

    进展,从软件算法优化与硬件结构改进两个维度,系统性解析工业触摸屏校准失效的修复策略。 一、校准失效的根源剖析 1. 软件层面的校准参数漂移 工业触摸屏的校准本质是通过物理坐标与显示坐标
    的头像 发表于 06-19 11:14 2157次阅读

    降低电视液晶屏修复线的信号延迟及液晶线路修光修复

    摘要 针对电视液晶屏修复过程中信号延迟导致的修复效率下降及液晶线路损伤问题,本文提出一种基于硬件结构优化与激光修复技术的综合解决方案。通过重构修复
    的头像 发表于 05-30 09:53 849次阅读
    降低电视液晶屏<b class='flag-5'>修复</b>线的信号延迟及液晶线路修光<b class='flag-5'>修复</b>

    硬件辅助验证(HAV) 对软件验证的价值

    硬件辅助验证 (HAV) 有着悠久的历史,如今作为软件驱动验证的必备技术,再度受到关注。 RISC-V 可能是说明这一点的最好例子。HAV 能够执行多个周期的软件驱动验证,是加速 RISC-V
    的头像 发表于 05-13 18:21 2219次阅读

    降低液晶面板修复线的信号延迟及液晶线路修光修复

    引言 在液晶面板生产与修复过程中,修复线的信号延迟会严重影响修复效率与质量,同时液晶线路的损伤也需要有效的修复手段。研究降低信号延迟的方法以及液晶线路修光
    的头像 发表于 05-12 15:17 884次阅读
    降低液晶面板<b class='flag-5'>修复</b>线的信号延迟及液晶线路修光<b class='flag-5'>修复</b>

    液晶显示模组短路修复及相关激光液晶面板线路修复方法

    解决方案,研究相关修复方法对提升生产效益意义重大。 二、液晶显示模组短路检测与定位 2.1 检测原理 通过对模组施加特定电压,利用电流检测设备监测电路中的电流变化。
    的头像 发表于 05-08 17:12 1841次阅读
    液晶显示模组短路<b class='flag-5'>修复</b>及相关激光液晶面板线路<b class='flag-5'>修复</b>方法