论文部分内容阅读
目前多核处理器已成为服务器和桌面的主流,不久将广泛地运用在高端嵌入式领域。以往嵌入式系统的实时性研究主要集中于任务调度和切换、实时任务的通信和容错性等,未涉及到实时任务本身的改造。而当前多核的优化更关注于系统的吞吐量,而非针对某一实时任务的优化。本文在分析了多核处理器的特性和国内外相关的工作后,以实时任务在多核体系结构上的改造为手段,研究嵌入式系统的实时性问题。目前多核处理器以多个核为一组共享二级缓存,本文还通过挖掘二级缓存的高命中率来进一步地提升实时任务的性能。本文提出的多核嵌入式系统实时性改造方案,主要分为任务并行和操作系统支持两部分。任务并行主要利用多核的资源进行基于功能和数据的划分,通过比较划分前后在多核上运行的性能,总结出合理的划分方法以提高实时任务的性能。改造方案还包括在操作系统中设计了基于二级缓存共享的线程分配算法,提供划分后任务的运行支持。实验证明,在本文的设计下实时任务的性能可以获得很大的提高。本文以Simics模拟器为测试环境,使用基于功能的划分将一个播放器的核心代码划分为三个线程,性能提升了102.6%。使用了基于数据的划分将快速排序程序拆分为两个线程,性能提升了87%;将归并排序拆分为两个线程,性能提升了92%。在本文的测试案例中,基于二级缓存共享的线程分配算法可将实时任务的性能提升6.25%。通过本文的改造方案,可以大大提升系统实时任务的性能,从而降低系统的激励-响应周期。