● 摘要
龙芯3B是国产龙芯3系列的第二款处理器产品,其设计充分体现了高效能的目标,能更好地应对高性能计算当前面临的诸多挑战。在龙芯3B服务器系统中,基于龙芯3B硬件平台的操作系统作为配置在计算机硬件上的主要系统软件,为服务器提供了CPU的支持、内存的支持、异常中断的支持等重要功能,该操作系统设计的稳定性、正确性和完备性是实现服务器各种功能和性能的基础。 本论文主要研究和实现基于龙芯3B硬件平台的服务器操作系统关键技术。针对龙芯3B服务器构建大规模机群系统的功能需求,通过分析龙芯3B服务器硬件结构的特点,重点研究龙芯3B MIPS架构的CPU支持技术、NUMA架构的内存支持技术、异常中断支持技术等龙芯3B服务器操作系统的关键实现技术,并在此基础上,设计和实现了基于龙芯3B硬件平台的服务器操作系统。 本文主要的工作和贡献如下:1)根据龙芯3B MIPS指令集架构的特点,研究并提出了支持龙芯3B服务器操作系统CPU的实现方法。针对目前标准Linux内核不支持龙芯3B CPU的问题,结合标准Linux的特点和龙芯3B CPU的硬件特性及MIPS体系结构的特点,通过从Linux内核龙芯3B CPU相关结构体、指令集、cache、TLB等多个方面,研究龙芯3B内核中支持CPU的方法,提出相应的实现方案;2)根据龙芯3B地址空间的特点及NUMA架构的特性,研究并提出了支持龙芯3B服务器操作系统内存的实现方法。通过结合龙芯3B I/O空间基址的分配、启动命令参数的解析、环境变量的配置、NUMA体系结构内存的特点,串口基地址分配等方面的特点,设计并实现了龙芯3B服务器操作系统的内存支持技术。在实现NUMA架构特点内存的基础上,为针对NUMA体系结构的特点对NUMA架构的内存优化提供了坚实的基础;3)根据龙芯3B异常及中断的特点,研究并提出了支持龙芯3B服务器操作系统中断异常的实现方法。从异常入口基址、CPU的TLB及cache异常处理程序、通用异常入口、异常处理表,中断路由的设置等几个方面完成异常中断各个模块的实现。 基于上述服务器操作系统关键技术,实现了在龙芯3B硬件平台上的服务器操作系统,并进行了功能测试和稳定性验证。测试结果表明,本论文设计和实现的龙芯3B服务器操作系统能够实现龙芯3B服务器的各项功能需求,并且能够稳定运行。