论文部分内容阅读
实时嵌入式系统在各个工业应用领域都有广泛的应用。本文主要关注汽车、航空等安全关键应用领域。以汽车领域为例,下一代汽车的电气化、智能化与自动化的大趋势,导致汽车电气电子系统的规模和复杂度日益增长,现代高端汽车的电子系统已经成为一个包含数十甚至上百个电控单元(ECU)、通过多种网络协议不同的总线互联的复杂分布式系统。系统的设计、分析与开发具有较高挑战性,需要考虑多种需求与约束,包括:多个不同安全级别的应用共存,形成混合关键性系统,需要同时通过多个级别的安全认证;系统硬件资源由于成本与功耗的原因而较为受限;安全关键应用具有硬实时性需求,必须严格满足截止期;安全关键应用需要较高的可靠性与容错性,尤其需要防范恶劣环境中运行时常见的软错误;集成化异构硬件平台需要高性能低功耗的硬件协处理器,用于加速深度学习与其它算法的实时运行。针对这些挑战,本文提出了一系列的设计优化算法,包括:·安全关键的实时嵌入式系统必须同时满足严格的时间约束以及很高的可靠性和容错性要求。控制流检测(CFC)通过在运行时监视和检查程序的控制流来判断运行时的实际控制流是否偏离控制流图,能有效地提高嵌入式系统的可靠性。现有基于软件的控制流检测在每个基本块(Basic Block)中添加额外的插桩代码,这会导致程序的执行时间大幅延长,使程序无法满足时间约束。本文提出最差执行时间(WCET)感知的部分控制流检测(WCET-Aware Partial CFC,WAPCFC)技术,在确保程序的WCET不超过给定上限的前提下,通过选择性地对程序代码中的部分基本块或超节点(Supernode)进行插桩(Instrument),使程序对控制流错误具有部分的检测能力。WAPCFC技术使控制流检测算法适用于资源受限的安全关键实时嵌入式系统,并允许设计人员根据应用的需求在实时性和可靠性需求之间做出权衡。·在AUTOSAR模型中,车载电子系统的软件通常由多个软件组件(SWC)组成。设计者需要将这些SWC映射到多个通过车内网络相连的ECU,从而产生分布式、多线程的实现。随着车载电子系统规模的增长,传统的手工映射方法难以找到最优的实现方案。本文考虑由多个通过总线连接、运行实时操作系统的ECU构成的分布式硬件平台,提出AUTOSAR模型在车载分布式嵌入式系统上的实现优化算法,在确保系统可调度性的前提下,最小化总线利用率以及每个ECU上数据一致性机制的内存开销。·时间触发协议(TTP)是一种工业标准总线协议,广泛用于安全关键的航空电子控制系统。基于TTP总线的嵌入式系统的设计需要搜索巨大的设计空间,包括任务到处理器的映射和总线访问配置。本文提出基于逻辑Benders分解的分布式嵌入式系统优化算法,在确保基于TTP总线的分布式系统的延时满足其端到端截止期的前提下,对任务到处理器节点的映射以及TTP总线访问配置进行优化设计,最小化总线利用率,高效利用总线带宽。·我们考虑将脉冲神经网络(SNN)用于深度学习高性能硬件加速器的应用建模。SNN可通过人工神经网络到脉冲神经网络(ANN-SNN)转化的方式间接地训练,即,先用传统的反向传播(Backpropagation)算法训练人工神经网络(ANN),再将训练所得的ANN转化为等效的SNN。现有ANN-SNN转化方法有的采用低效的频率编码,用于编码一个激活值的脉冲数量随着激活值线性增长;有的依赖于计算密集的脉冲神经元模型,神经元在处理输入脉冲时需要进行复杂的运算。因此,转化产生的SNN在运行时的计算量很大。为了降低SNN的计算量,提高神经网络加速器的计算效率与性能,本文提出基于对数时间编码(LTC)的ANN-SNN转化算法。LTC编码一个激活值所需的脉冲数量随着激活值以对数速率而非线性速率增长,从而减少SNN中的脉冲数量;本文提出Exponentiate-and-Fire(EF)脉冲神经元模型来配合LTC,神经元只需进行加法和移位操作,从而降低神经元处理输入脉冲所需的计算量;此外,本文改进ANN的训练过程来补偿LTC引入的近似误差,从而减少ANN-SNN转化带来的性能损失。本文提出的一系列算法为下一代高度复杂而又资源受限的安全关键实时嵌入式系统提供了设计阶段的算法支持。