With the application of embedded systems more and more widely,embedded systems have been rapid development,and the requirement of embedded system performance is also increasing.However,the traditional embedded real-time system has become increasingly unable to meet the higher level of demand.Research and design of high-performance embedded systems have been put on the agenda.Hardware-software co-design plays an increasingly important role in the design of embedded systems,which is more advantageous than pure software design or pure hardware design,and hardware-software partitioning is the key in hardware-software co-design.So the study of the hardware-software partitioning algorithm of embedded system is very necessary and very influential research topic.In this paper,the research on the hardware-software partitioning algorithms which are widely used in the research of several kinds of research is given,which provides some theoretical support for the idea of hybrid algorithm.Non-dominated Sorting Multi-objective Genetic Algorithm-?(NSGA-?)algorithm and Differential Evolution(DE)algorithm are selected as the basic algorithm of hybrid algorithm.Through the research and analysis of the two algorithms,it is found that NSGA-? algorithm has a slow convergence in the case of the multi-objective optimization problem,while the DE algorithm has better global convergence ability;At the same time,because of its own characteristics,the DE algorithm has many Pareto solutions lost if its solution is not superior to the parent's solution,while the NSGA-? algorithm has a fast non dominated sorting and population diversity maintenance strategy can solve the problem very well.So we can find the starting point of the fusion of the two algorithms.Because the NSGA-? algorithm has its own defects prone to repeat the individual,removes duplicate individual and keep the populationconstant firstly,then the improved NSGA-? algorithm and DE algorithm are combined to construct a new multi-objective optimization algorithm.The algorithm is implemented by MATLAB,and the validity of the hybrid algorithm is verified.Select ?C/OS-? as the reference system.The task management module in?C/OS-? is used as the object of hardware-software partitioning.The data of software and hardware execution are collected and the obtained data is used as the basis for the division of hardware-software partitioning.Using the hybrid algorithm to complete hardware-software partitioning of the task management module. |