论文部分内容阅读
计算机硬件与软件日益紧密结合已成为明显趋势,软件硬化、硬件软化成为两种并行的发展方向。随着嵌入式系统的发展,传统嵌入式实时操作系统的性能已经无法满足高端应用需求。同时由于SOC技术的发展,软件硬化获得了广泛的发展空间,当前有很多专用软件完成了硬化。因此,将嵌入式实时操纵系统的部分功能模块硬化,研究如何对嵌入式实时操作系统进行软硬件划分,设计并实现一个软硬件混合操作系统是一个新的、非常具有影响的课题。本文首先对参考操作系统μC/OS-II进行了简单的分析介绍,在此基础上使用VHDL语言对μC/OS-II的部分功能模块进行描述,并完成各个部分的仿真,获得硬件执行的时间、空间以及功耗数据;将μC/OS-II在XPS下进行编译,移植到PowerPC405上执行,获得软件运行的时间、空间以及功耗数据;将硬件仿真获得的数据与软件执行获得的数据进行比较,得到硬件实现的程序比软件具有更高的执行效率,但常常占用更多的硬件资源;将获得的软硬件数据应用到软硬件划分中。选择遗传算法NSGA-II作为软硬件划分算法,该算法针对遗传算法存在的问题经过长期的改进,已经克服了早熟以及运行时间较长等问题;该算法采用快速非支配排序算法,降低算法的计算复杂度,提高算法在大规模种群上的运行效率;对当前获得种群,使用拥挤度算子进行选择,从而保持种群多样性;在产生种群过程中引入精英策略,使得种群水平迅速提高。同样,由于以上措施的引入,NSGA-II算法比其他的算法更容易产生重复个体,导致大量的Pareto解丢失;文章针对这个缺陷进行了改进;通过验证,证明改进后的算法比原算法具有更好的分布性,算法能够更全面的搜索解空间;并使用改进后的算法完成对任务管理部分进行了软硬件划分。