一种面向龙芯3b处理器的服务器操作系统实现方法

文档序号:6373189阅读:259来源:国知局
专利名称:一种面向龙芯3b处理器的服务器操作系统实现方法
技术领域
本发明涉及一种面向龙芯3B处理器的服务器操作系统实现方法,具体涉及操作系统内核对龙芯3B体系结构相关的的支持,以及相应的中断管理子系统、内存管理子系统相关的软件实现方法,属于计算机操作系统技术领域。
背景技术
龙芯3B CPU是一款通用的多核CPU,采用MIPS架构,在单个芯片上集成了多个高性能处理器核,其主要面向服务器和高性能应用。虽然龙芯3B CPU与龙芯3A CPU在硬件管脚上兼容,但是龙芯3B处理器与龙芯3A处理器在内部结构上还是有较大的差别,龙芯3B处理器在龙芯3A处理器的基础上,单芯片 上集成了 8个处理器核,并且提高了工作主频,同时还集成了大量的二级cache,此外还对片内集成的DDR控制器增加了 ECC校验功能,并且调整了片内集成的PCI控制器的工作频率。面向龙芯3A CPU的操作系统也不能直接在龙芯3B上运行,目前尚无良好支持龙芯3B处理器的操作系统。没有操作系统的支持,就无法在龙芯3B处理器上运行上层应用,相应的云计算、高性能计算都无法正常进行。另一方面,NUMA架构在服务器体系结构中越来越流行,然而现有的国产服务器操作系统对于NUMA架构的支持还很不完善,其对物理内存的管理采用统一编址的方式实现,没有充分考虑NUMA架构的特点,在内存分配的时候缺乏对节点本地内存和远程内存的区分管理,这样的做法增加了远程访存的频率,过多的远程访存导致系统开销增大,进而使系统运行效率低下。因此,针对龙芯3B处理器以及NUMA体系结构的特点,实现面向龙芯3B处理器的服务器操作系统具有很强的实用价值。

发明内容
I、目的有鉴于此,本发明的目的是提供一种面向龙芯3B处理器的服务器操作系统实现方法,实现对龙芯3B处理器以及NUMA架构的良好支持。2、技术方案为达到上述目的,本发明的技术方案是这样的如图I所示,本发明一种面向龙芯3B处理器的服务器操作系统实现方法,该方法包括以下步骤步骤101.实现体系结构相关的初始化;步骤102.实现陷阱门和中断门的设置;步骤103.实现支持NUMA架构的内存初始化和内存管理模块;步骤104.实现中断初始化的设置;步骤105.实现PCI子系统初始化的设置;本发明在硬件条件方面,要求提供基于龙芯3B处理器的硬件平台。在软件条件方面,要求在相应硬件平台上调试好的PMON可供加载内核。其中,步骤101所述的实现体系结构相关的初始化是指与CPU相关的主频、一级cache容量、二级cache容量、串口初始化地址等信息的校正以及对板级相关的参数初始化。其中,步骤102所述的实现陷阱门和中断门的设置主要是设置CPU的异常处理函数,TLB重填,cache出错还有对通用异常处理表的初始化。其中,步骤103所述的实现支持NUMA架构的内存初始化是指服务器操作系统内核在进行内存初始化的时候考虑到NUMA架构的影响,在传统初始化方法的基础上扩充对节点内存的初始化管理。此外,内存初始化部分还包括对页地址池的 初始化。PCI内存和高端内存的初始化。其中,步骤103所述的实现支持NUMA架构的内存管理模块是指在为进程分配内存的过程中,充分考虑到NUMA架构的特点,结合当前进程所在的CPU,就近分配内存,从而避免进程与自身的内存在不同的节点带来的远地访存问题。其中,步骤104所述的实现中断初始化的设置是指对系统中断路由的设置、中断处理的设置、对系统PCI设备的中断处理设置以及对系统内的设备中断号和相应中断处理程序的映射设置。其中,步骤105所述的实现PCI子系统初始化的设置是指按顺序实现子系统的初始化。这些子系统包括总线、驱动、USB子系统等。3、优点及功效本发明一种面向龙芯3B处理器的服务器操作系统实现方法,它与现有Li nux操作系统相比,其主要优点是(I)提供对龙芯3B硬件平台的支持,填补当前的技术空白;(2)充分考虑到NUMA体系结构的影响,避免远地访存,比同类面向龙芯numa服务器的操作系统具有更高的性能。


图I龙芯3B服务器操作系统实现示意2龙芯3B服务器操作系统详细实现示意3龙芯3B服务器操作系统内存初始化流程示意图
具体实施例方式为使本发明的目的、技术方案和优点表达得更加清楚明白,下面结合附图及具体实施例对本发明再作进一步详细的说明。见I一图3,本发明的主要思想是根据龙芯3B硬件体系结构的特点以及NUMA体系架构的特点,来实现对龙芯3B NUMA服务器具有良好支持的服务器操作系统。详细步骤如图2所示步骤201-1 =CPU的类型主要是通过读取CPU的PRID寄存器的值来确定。进而确定相应的指令集、TLB容量、一级cache和二级cache的容量、数据cache和指令cache的容量。由于龙芯3B处理器具有浮点协处理器,所以还需要使能浮点协处理器。例如可采用以下代码实现
权利要求
1.一种面向龙芯3B处理器的服务器操作系统实现方法,其特征在于该方法包括以下步骤 步骤101.实现体系结构相关的初始化; 步骤102.实现陷阱门和中断门的设置; 步骤103.实现支持NUMA架构的内存初始化和内存管理模块; 步骤104.实现中断初始化的设置; 步骤105.实现PCI子系统初始化的设置。
2.一种面向龙芯3B处理器的服务器操作系统实现方法,其特征在于步骤101所述的实现体系结构相关的初始化是指与CPU相关的主频、一级cache容量、二级cache容量、串口初始化地址信息的校正以及对板级相关的参数初始化。
3.一种面向龙芯3B处理器的服务器操作系统实现方法,其特征在于步骤102所述的实现陷阱门和中断门的设置是设置CPU的异常处理函数,TLB重填,cache出错还有对通用异常处理表的初始化。
4.一种面向龙芯3B处理器的服务器操作系统实现方法,其特征在于步骤103所述的实现支持NUMA架构的内存初始化是指服务器操作系统内核在进行内存初始化的时候考虑到NUMA架构的影响,在传统初始化方法的基础上扩充对节点内存的初始化管理,此外,内存初始化还包括对页地址池的初始化、PCI内存和高端内存的初始化。
5.一种面向龙芯3B处理器的服务器操作系统实现方法,其特征在于步骤103所述的实现支持NUMA架构的内存管理模块是指在为进程分配内存的过程中,充分考虑到NUMA架构的特点,结合当前进程所在的CPU,就近分配内存,从而避免进程与自身的内存在不同的节点带来的远地访存问题。
6.一种面向龙芯3B处理器的服务器操作系统实现方法,其特征在于步骤104所述的实现中断初始化的设置是指对系统中断路由的设置、中断处理的设置、对系统PCI设备的中断处理设置以及对系统内的设备中断号和相应中断处理程序的映射设置。
7.一种面向龙芯3B处理器的服务器操作系统实现方法,其特征在于其中,步骤105所述的实现PCI子系统初始化的设置是指按顺序实现子系统的初始化;这些子系统包括总线、驱动和USB子系统。
全文摘要
一种面向龙芯3B处理器的服务器操作系统实现方法,该方法有五大步骤步骤101.实现体系结构相关的初始化;步骤102.实现陷阱门和中断门的设置;步骤103.实现支持NUMA架构的内存初始化和内存管理模块;步骤104.实现中断初始化的设置;步骤105.实现PCI子系统初始化的设置。本发明首先根据龙芯3B处理器硬件的需求,实现了CPU、内存、中断和NUMA架构的支持,保证了整个操作系统的稳定运行。它在计算机操作系统领域具有广泛地实用价值和应用前景。
文档编号G06F9/44GK102789384SQ201210241548
公开日2012年11月21日 申请日期2012年7月12日 优先权日2012年7月12日
发明者张坤, 王慧祥, 田鸿运, 肖利民, 阮利 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1