关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于龙芯2F架构的PMON分析与优化

基于龙芯2F架构的PMON分析与优化

作者:时间:2011-03-30来源:网络收藏

摘要:基本输入/输出系统(BIOS)是现代计算机系统的重要组成部分,负责计算机系统的开机自检、板级初始化、加载操作系统内核以及基本I/O功能。以 CPU为研究背景,在其基础上的系统结构与工作流程,通过添加网络驱动程序,最终实现通过加载Linux和VxWorks操作系统。进行必要的功能完善与性能优化,并经过严格的测试以排除可能存在的深层次缺陷,实现了一个性能稳定、功能完善、高可靠性的能与国产处理器平台紧密搭配的BIOS。
关键词:BIOS;CPU;处理器;

本文引用地址:http://www.eepw.com.cn/article/202462.htm

龙芯CPU使用PMON作为基本输入输出系统(BIOS)。PMON具有强大而丰富的功能,除基本的I/O功能外,还包括硬件初始化与检测、操作系统引导和程序调试等功能。PMON早期的版本功能少且扩展性不好。现在龙芯CPU上使用的PMON添加了硬盘和其他文件系统的支持,以及显卡的支持等。本文在深入PMON源码的前提下,添加了82551网卡驱动以便以网络下载加载操作系统内核,并对移植好的PMON系统进行了功能、性能和稳定性等方面的测试以适应某些重要领域对计算机系统高可靠性要求。通过专门的测试程序来实现此任务,并且尽量保证高的测试覆盖性。

1 基于龙芯2F的PMON
1.1 PMON执行流程分析
在龙芯2F CPU上电之初,内存和内存控制器处于不确定状态,因此CPU开始执行的BIOS代码只能放在非易失性介质中。PMON的二进制代码就存放于主板上一块512 KB的FLASH芯片上,其虚拟地址为0xBFC00000,物理地址是0x1FC00000。
由于在ROM FLASH运行的速度比较慢,并且空间有限,不能随时更改ROM中的内容,就需要把引导程序搬到内存里运行。因此,PMON的运行过程分为两个阶段:第一阶段是在ROM FLASH中运行,主要进行基本硬件初始化,如:北桥、南桥、内存控制器、缓存和串口初始化等;第二阶段在内存中执行,主要完成环境变量和基本数据结构的初始化、PCI总线扫描和设备初始化,显卡初始化、网络协议和设备初始化,并对搜索到的PCI总线上的设备进行驱动程序的加载与配置等,最后加载操作系统内核。
1.2 PMON在ROM中的执行流程
龙芯CPU开始执行的指令将CP0控制寄存器的状态寄存器和原因寄存器清零,让CPU处于内核模式。这是因为MIPS CPU启动时,必须定义足够的CPU控制寄存器状态,以使CPU能执行非缓存的指令。在对缓存初始化之前,不能访问缓存。非缓存的异常入口在0xBFC00000,但此处没有足够的空间存放启动代码,于是设计了一个跳转。这个跳转可以测试CPU是否正常工作。如果硬件发生了某种严重的错误,可能会导致CPU严重的异常。如果CPU正常启动起来并跳转到了正确的位置并执行了预先设计的指令,就可以相信CPU正常,某些硬件正常。跳转之后,PMON进行一系列的初始化与测试工作,这个过程如图1所示。

1.JPG


上一页 1 2 3 下一页

关键词: PMON 龙芯2F 架构 分析

评论


相关推荐

技术专区

关闭