论文部分内容阅读
面对依靠电池供电的便携嵌入式移动设备在能量使用方面受到的严格限制以及电池技术的发展速度远远落后于集成电路发展速度的现状,低功耗嵌入式系统设计已经受到学术界和工业界的普遍重视。鉴于软硬件划分对系统功耗的关键影响,本文立足于解决低功耗软硬件划分问题的算法研究。低功耗软硬件划分问题是NP难的组合优化问题。通过综述以往相关工作,发现整数规划和分支定界等确定性算法只能用于求解小规模问题的精确解,大部分工作使用遗传算法、模拟退火算法等启发式算法求得问题的近似最优解。但是缺乏能够代表大部分实际设计情况的低功耗软硬件划分形式化模型,使得以往的大部分工作只能解决特定情况下的软硬件划分问题,算法缺乏通用性,而且不同的算法之间很难进行比较。同时当前智能优化算法发展迅速,一方面表现在融合不同算法的优势设计混合智能优化算法,这类混合算法经常表现出更好的全局寻优能力和更快的设计空间探索速度;另一方面研究人员通过不断地观察物质的变化过程和生物体的进化过程,近些年又提出了一些新的智能优化算法,这些算法在低功耗软硬件划分问题方面的应用也值得深入研究。本文首先定义了以嵌入式多处理器系统为目标结构的低功耗系统级软硬件划分形式化模型,以功耗作为优化目标,以系统执行时间、软件处理器内存和专用集成电路面积作为约束条件。该形式化模型的定义明确了低功耗软硬件划分问题的优化目标和约束条件,说明了解决该问题的启发式智能优化算法的适应度函数,后面各章都是根据该适应度函数计算优化算法得到的软硬件划分解的功耗值。虽然以往的相关工作已经使用构建算法、遗传算法、模拟退火算法等智能优化算法解决了低功耗软硬件划分问题,但这些算法往往存在执行速度慢、易于陷入局部最优解等缺陷。本文融合禁忌搜索算法优秀的“爬山”能力和神经网络算法在解决组合优化问题时的出色表现,提出了基于神经网络的禁忌搜索算法。该算法的设计思想是:真实生物神经元在已经激活过之后重新激活会受到抑制,抑制神经元重复激活的阻尼特性对应禁忌搜索算法限制重复搜索的禁忌活动,借助神经网络的迭代方程实现禁忌搜索算法。对多个真实任务图的低功耗软硬件划分的仿真实验表明,该算法在全局搜索能力和设计空间探索速度方面都超过在软硬件划分领域被广泛应用的遗传算法。在这个算法的基础上,考虑到混沌优化能够遍历设计空间的特性和精致的内在规律性,本文又在神经网络中引入混沌动态,提出了基于混沌神经网络的禁忌搜索算法,混沌对设计空间的遍历性增强了算法跳出局部最优的能力。通过对GSM编码器任务图的低功耗软硬件划分的仿真实验,该算法具有优秀的全局搜索能力和较快的执行速度,能够很好地兼顾对设计空间地“挖掘”和“探索”,所得低功耗软硬件划分解的总体质量优于遗传算法。虽然本文设计的融合了神经网络、混沌优化和禁忌搜索各自优势的混合智能优化算法以低功耗软硬件划分作为典型问题,但是这种混合智能优化算法也可用于其他组合优化问题的求解。近年来有别于传统计算方法的量子计算受到了广泛地关注。量子计算利用量子态的叠加性和相干性,以及量子比特之间的纠缠性,把量子力学的概念和理论引入算法领域,它和其他经典算法最本质的区别在于量子计算的并行性。如果利用量子计算的并行性优势把量子算法和遗传算法结合,得到量子遗传算法,就能够以更小的种群规模、在更短的时间内找到问题的最优解。针对嵌入式多处理器的目标结构,本文提出了解决低功耗软硬件划分问题的量子遗传算法,用染色体表示系统设计任务对处理单元的匹配,用量子位编码表示染色体,量子位编码特有的概率幅表示使得一个量子染色体能够同时表征多种匹配情况,并通过旋转量子门进行进化搜索更新,保证种群多样性。通过MP3解码器任务图和GSM解码器任务图的低功耗软硬件划分测试,量子遗传算法得到的软硬件划分解的功耗均值和方差都优于遗传算法,而且进化过程稳定,算法能有效地跳出局部最优解。本文的工作扩大了量子遗传算法的应用领域,是量子遗传算法解决低功耗软硬件划分问题的首次尝试。上面解决的、基于嵌入式多处理器系统的目标结构、以功耗作为优化目标、以软件处理器内存、专用集成电路面积和系统执行时间作为约束条件的低功耗软硬件划分问题属于单目标优化,能够满足大部分系统的设计要求。而另外有些系统设计要求在软硬件划分过程中同时优化功耗和其他的设计目标,例如系统执行时间,对于这类多目标优化的软硬件划分问题,本文提出了基于Pareto存档种群进化和个体迁移的多目标进化算法,在硬件面积和软件处理器内存的约束条件下,同时优化系统执行时间和功耗。精英种群和单目标种群协同进化的机制以及将精英种群的优秀个体迁移到单目标种群的锦标赛选取规则提高了算法的收敛速度和非控解的精度。对GSM解码器任务图在一个通用处理器和两个专用集成电路之间的多目标软硬件划分仿真实验,该算法较好地收敛到Pareto前沿解,能够找到一致均匀分布于非控前沿的非控解集,而且精英种群的进化和个体迁移对多目标进化算法的收敛速度和收敛精度有非常重要的作用。本文提出的基于Pareto存档种群进化和个体迁移的多目标进化算法优于已用于解决多目标软硬件划分问题的NSGA-II算法和PAES算法,通过适当地设计优化目标和约束条件,也可以被用于解决多目标函数优化等其它多目标优化问题。