论文部分内容阅读
多核处理器已经成为主流,并且被广泛应用于嵌入式设备中。作为用户应用与硬件的中间接口,操作系统对多核处理器的有效支撑是合理利用多核处理器性能优势的关键。在操作系统如何有效支持多核处理器方面的研究中,目前国内外大多基于常见的紧耦合共享存储架构的多核处理器,而对一些特殊存储架构的多核处理器研究并不多。本文基于多核DSP处理器BWDSP104x平台,研究适合内存受限的多级存储架构的多核操作系统模型,并完成多核嵌入式操作系统RTEMS到BWDSP104x的移植。主要研究工作包括:(1)详细分析了传统嵌入式操作系统的多处理模型,包括非对称多处理AMP、对称多处理SMP以及限定多处理BMP等,指出每种模型适用的硬件平台及应用需求的约束。针对BWDSP104x存储架构的特点,本文提出一种单代码多数据的多核操作系统模型,该模型将每核的操作系统代码合并成一份,部署在全局共享代码空间上,同时将每核的操作系统数据分别部署在具有相同地址空间的核私有数据空间上。实验表明,该模型应用在具有多级存储架构的八核DSP上,比AMP模型减少约80%的操作系统代码空间开销;与SMP模型相比,与实时性紧密相关的时间开销减少约10倍。(2)单代码多数据操作系统模型具有很好的移植性,对于单核版的嵌入式操作系统都较容易实现对多核的移植。本文将开放源代码的嵌入式操作系统RTEMS移植到BWDSP104x上,针对该DSP寄存器较多的特点,提出三种优化上下文切换时间开销和减少中断延迟的策略,提高了系统的实时性。对于不支持硬件中断栈的BWDSP104x来说,中断嵌套层次过深会导致任务栈溢出。本文采用增加独立软件中断栈技术,在中断触发之后,系统从任务栈切换到软件中断栈上,而不再使用任务栈。通过该方法,不仅有效减少任务栈对内存的需求,也提高了系统的可靠性以及中断吞吐量。