CN102609040A - 一种面向加固的国产计算机及其安全bios工作方法 - Google Patents

一种面向加固的国产计算机及其安全bios工作方法 Download PDF

Info

Publication number
CN102609040A
CN102609040A CN2012100087773A CN201210008777A CN102609040A CN 102609040 A CN102609040 A CN 102609040A CN 2012100087773 A CN2012100087773 A CN 2012100087773A CN 201210008777 A CN201210008777 A CN 201210008777A CN 102609040 A CN102609040 A CN 102609040A
Authority
CN
China
Prior art keywords
godson
processor
address
computer
bios
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012100087773A
Other languages
English (en)
Other versions
CN102609040B (zh
Inventor
秦继荣
刘军
吴勇
巩晋艳
赵岩
董国卿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NORTH AUTOMATIC CONTROL TECHNOLOGY INSTITUTE
Beijing BNC Technologies Co Ltd
Original Assignee
NORTH AUTOMATIC CONTROL TECHNOLOGY INSTITUTE
Beijing BNC Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NORTH AUTOMATIC CONTROL TECHNOLOGY INSTITUTE, Beijing BNC Technologies Co Ltd filed Critical NORTH AUTOMATIC CONTROL TECHNOLOGY INSTITUTE
Priority to CN201210008777.3A priority Critical patent/CN102609040B/zh
Publication of CN102609040A publication Critical patent/CN102609040A/zh
Application granted granted Critical
Publication of CN102609040B publication Critical patent/CN102609040B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明提供了一种面向加固的国产计算机及其安全BIOS工作方法,国产计算机包括:龙芯2F处理器,作为主控CPU;龙芯1A处理器,作为南桥芯片,通过PCI总线龙芯2F处理器连接;该方法包括:将BIOS的起始地址设置为特定地址;初始化龙芯2F处理器;对内存及龙芯2F处理器进行初始化,;对内存进行初始化;对TLB和CACHE进行初始化:执行地址映射;对C环境进行初始化;对龙芯1A处理器进行初始化;搜寻总线上的设备,安装驱动;验证用户身份;对SHELL进行初始化;加载操作系统,将对硬件的控制权交给操作系统。该计算机及方法具有低功耗、高性能、多接口、易加固、高安全性及自主可控的效果。

Description

一种面向加固的国产计算机及其安全BIOS工作方法
技术领域
本发明涉及计算机领域,具体地涉及一种面向加固的国产计算机及其安全BIOS工作方法。
背景技术
众所周知,计算机是一种重要的信息安全类设备。随着网络和信息化的飞速发展,信息安全已与政治安全、经济安全、国防安全、文化安全共同成为国家安全的重要组成部分。信息安全威胁作为一种新的非传统安全威胁,正在对政治稳定、经济发展、公共利益乃至国家安全造成重要影响。信息安全关系着企业、民生、经济、军事、国家等各个方面的安全,如果将我们国家的信息系统、安全体系建立在国外的技术之上,那么就根本没有安全可言。
然而,目前大部分计算机产品都采用国外芯片,都是建立在国外核心技术之上的,因此存在CPU后门、序列号外泄等安全隐患。Intel早在2005年就发现了CPU的SMM(System Management Mode)缓存攻击漏洞并且开始着手解决问题,目前已经有成熟的解决方案,现在只是部分主板没有搭载含解决方案的BIOS(BIOS:基础输入输出系统,一般用于引导操作系统),而作为核心的BIOS源码却掌握在外国厂商手中。
现有技术一的技术方案:
下面对目前国内外某通用计算机设备的典型规格做出分析。某典型计算机的规格如表1所示:
表1:某典型计算机的配置表
Figure BDA0000130479370000021
该方案采用英特尔公司CPU Celeron M作为中央处理器,采用90纳米工艺处理器前端总线频率600MHz,该处理器的典型主频0.9GHz,功耗5W,集成北桥。Celeron M采用的是CISC指令集(Complex Instruction Set Computer,复杂指令集计算机)。在CISC微处理器中,程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢。PCI总线上挂载AMD公司南桥CS5530A芯片,CS5530芯片是AMD公司2001年的产品。
通过南桥CS5530扩展出IDE接口,该接口为ULTRA DMA/33,最高存储速度为33Mbyte/s。具有两个独立控制器支持4路IDE设备,具有突发读写功能。CS5530A集成两路USB1.0主控制器OHCI,USB1.1最高速率为12Mbps。CS5530A通过内部X-BUS集成ISA总线接口控制器。CS5530A还集成了AC97音频接口,JOYSTICK,AT compatibility logic和一个集成显示控制器。
通过CPU的系统总线PCI总线挂接RTL8139C拓展两路百兆以太网。
BIOS:采用AWARD公司的FLASH做启动BIOS芯片。其固件程序采用的是INTEL公司写死的二进制代码,对方案研发单位完全是黑盒,研发单位对该BIOS启动过程的核心代码完全不可见。对于新改进的方案,BIOS的实现必须通过INTEL公司授权制定的单位进行定制。
对该计算机设备进行提取后,该计算机的软件规格如表2所示。
表2:软件规格表
  操作系统(可选)   厂商   备注
  Windows XPE   微软   国外厂商
  Windows NTE   微软   国外厂商
  Windows CE.NET 5.0   微软   国外厂商
发明人在实现本发明的过程中发现,现有技术一的缺点在于:
1)低性能,高功耗
其采用INTEL Celeron M CSIC处理器,主频为0.9GHz,典型功耗为5W。其典型的主频功耗比为0.9(Ghz)∶5(W)即0.18(Ghz/W)。
方案采用CS5530A作为南桥芯片,该芯片主要能扩展出IDE存储设备,USB接口,显示接口,音频和ASA接口。其实作为一个典型的串口网关计算机设备,其主要控制逻辑为通过多路串口(UART,485等)接入受控的内部网设备,由方案集成的以太网接口接入以太网。基于以上分析,实际上主要芯片组之一的南桥芯片只提供了USB1.0的OHCI接口,存储用IDE接口以及通用计算机架构的所需要的PS/2鼠标键盘接口。
2)安全可靠性低
在网络安全中“缓冲区溢出攻击”技术是一种常用的网络攻击技术。采用X86架构的处理器对这种攻击有天然的缺陷,目前通常的做法是通过软件防溢出技术来实现,然而是非常困难的,并且这些技术对于高超的黑客而言也是容易攻破的。
3)安全性低,不可控
操作系统:用于有效管理包括CPU,内存,存储,输入输出的软件集合,一般包含进程管理、文件管理、存储管理、输入输出管理等模块。操作系统是一管理电脑硬件与软件资源的程序,同时也是计算机系统的内核与基石。如果说CPU处理器是计算机的大脑,操作系统就大脑中的思想和灵魂,而上述方案中几乎全部采用微软公司的操作系统,如Windows NTE,WINDOW2000,WindoswXP,Windows PE,Windows CE等,WINDOWS是美国微软公司的产品,不公开源代码是该操作系统的最大特点之一。微软公司将其操作系统内核封装成一个黑盒,开放有限的API接口,程序员必须通过API接口调用完成其应用程序所需要的内核支持。从无数的历史经验看来,这个封闭的WINDOWS内核隐藏了众多的后门(BACK DOOR),破坏分子通过后门能够轻易的侵入计算机信息系统。对于而爆发于2008年的微软黑屏事件再次说明采用国外进口的操作系统等基础软件,其安全性存在极大的潜在威胁,特别是在国防、金融等关键领域大量应用国外软件,将会直接威胁国家安全。因此软件是“不安全”,不可控的。
此外上述方案中采用,X86架构(INTEL公司的主要处理器架构)处理器的设计方法,这将导致BIOS固件必须采用X86汇编来实现。更为致命的是,INTEL公司对于其处理器的BIOS源代码也是采取不公开的策略,对于应用者而言,不能随意的进行方案的更改。同样,其作为一个黑盒,应用者完全无法得知其BIOS的隐藏功能和后门。
就上述计算机方案做下述提取,其硬件方案的主要元器件构成如下表1.3所示。
表3:硬件主要元器件表
  主要芯片   型号   厂商   备注
  CPU   Celeron M 600MHz   INTEL   国外厂商
  芯片组(桥片)   CS5530AG   AMD   国外厂商
  内存   MT47H64M16   Micron   国外厂商
  BIOS Flash   AWARD   AWARD   国外厂商
  显示芯片组   AMD CS5530A   AMD   国外厂商
  以太网   RTL8139C   Realtek   国外厂商
  串口控制器   PCI954   0xford   国外厂商
从上表来看,目前采用的方案中主要的元器件,如CPU,内存,芯片组,显示芯片,以太网控制器,串口控制器均为国外元器件。其中CPU采用的国外英特尔公司的处理器作为计算机的核心控制与运算器件,而中央处理器是一台信息处理的运算核心和控制核心,CPU的内部对于国内的技术开发人员和使用人员均是黑盒,因此存在巨大的不安全性,另外核心元器件都是国外产品,从供货情况和器件级别均存在巨大的不确定性,因此硬件是“不安全”,不可控的。
现有技术二的技术方案:
国内出现了一种采用龙芯3A拓展AMD RS780E/SB710芯片组的加固计算机。图1示出了该龙芯3A计算机架构。上述方案采用以兼容MIPS处理器架构的龙芯3A高性能四核通用处理器,通过HT高速总线扩展北桥RS780E和南桥SB710,及其集成的双通道DDR2/DDR3SDRAM控制器采用INTEL82574扩展千兆以太网的方案构成。
发明人在实现本发明的过程中发现,现有技术二的缺点在于:
1)不方便加固
目前通用的加固计算机采用一般采用计算机标准化模块方式:如德国控创提出的ETX标准及升级版本的COM-E标准,还有PC104标准,及最为流行的3UCPCI及6UCPCI标准。其中,CPCI是一种工业计算机板卡标准。面向加固的计算机的主要特点:对印制板面积、环境温度要求严格、功耗、防震、防尘、稳定性和可维护性有着严格的要求。龙芯3A处理器的封装为400mm*400mm,并且不集成北桥,还需要采用AMD公司的南北桥芯片组RS780E/SB710,而RS780E及SB710芯片的封装为270mm*270mm,之外由于加固类的计算机考虑到震动冲击因素对SDRAM一般需采用内存颗粒方式,又考虑到大容量的内存颗粒非常贵,如需要使用2G的内存大小,需选用16片128Mb的内存颗粒,因此对于这些基础计算机主要构成就已经占用了较大的面积资源。对于特种行业还需要其他的总线结构要求,如CAN、1553B、FLEXFAY;或对其他的功能如实时视频监控,存储、数字I0信号量等等行业应用需要的扩展就比较困难了。
2)功耗较大
功耗较大也是影响其方案作为行业应用一大问题。龙芯3A工作在1GHz的情况下功耗达到15W,而北桥RS780E实测功耗为5.6W,南桥SB710的实测功耗为2.8W,加上电源损耗及DDR颗粒所消耗的功耗,近考虑上述因素,总功耗共计近30W。这些功耗尚未考虑行业应用其他功能所需功耗。因此以上述方案在一些功耗要求比较严格的嵌入式内加固领域是有较大的局限性的。
3)国产率低
除去龙芯3A处理器是国产芯片,其他的主要芯片组如南北桥(RS780E,SB710)及以太网控制器(INTEL82574)等均采用国外产品。
发明内容
本发明的目的是提供一种嵌入式加固计算机及其安全BIOS工作方法,以实现低功耗、高性能、多接口、易加固、高安全性及自主可控的效果。
为达上述目的,一方面,本发明实施例提供了一种面向加固的国产计算机,所述国产计算机包括:龙芯2F处理器,作为主控中央处理器;龙芯1A处理器,作为南桥芯片,通过PCI总线与所述龙芯2F处理器连接。
为达上述目的,另一方面,本发明实施例提供了一种面向加固的国产计算机的安全BIOS工作方法,所述国产计算机包括:龙芯2F处理器,作为主控中央处理器;以及龙芯1A处理器,作为南桥芯片,通过PCI总线与所述龙芯2F处理器连接;所述方法包括:
将BIOS的起始地址设置为特定地址;
对所述龙芯2F处理器进行初始化;
在冷启动时候对内存及所述龙芯2F处理器的地址窗口进行初始化,或者,在热启动时将内存及所述龙芯2F处理器的地址窗口设计为保持上次所述龙芯2F处理器初始化后的状态设置;
对内存进行初始化;
对旁路转换缓冲TLB和高速缓冲存储器CACHE进行初始化:
执行地址映射;
对C环境进行初始化;
对所述龙芯1A处理器进行初始化;
通过设备文件注册总线的驱动程序搜寻总线上的设备,并根据注册的驱动进行匹配,匹配成功后安装驱动;
验证用户身份;对人机交互界面SHELL进行初始化;
加载操作系统,将对硬件的控制权交给所述操作系统。
本发明实施例提供的上述技术方案的有益技术效果在于:本发明提供一种基于龙芯2F处理器龙芯1A和操作系统的具有完全自主知识产权的国产计算机架构技术,升级并替代现有的基于国外的处理器和操作系统的计算机设备,本发明对于实现作为关键基础类信息安全设备的计算机的自主可控,安全可靠,具有重要意义与应用需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中某龙芯3A计算机架构示意图;
图2为本发明实施例的全国产计算机的软硬件系统架构示意图;
图3为本发明实施例的计算机硬件设计原理框图;
图4为本发明实施例的安全BIOS的工作流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例采用以兼容MIPS处理器架构的龙芯2F高性能通用处理器,通过PCI总线外扩龙芯1A桥片构建国产计算机的主要架构,龙芯2F集成了北桥和DDR2SDRAM控制器,龙芯1A集成了丰富的外围接口,可以满足多种嵌入式加固类的应用场合。本发明实施例还提供了一种支持龙芯2F及龙芯1A的BIOS固件,龙芯2F采用完全兼容MIPS64指令集体系结构,能选用具有完成自主知识产权的国产中标麒麟系统,以此构成了一种全新的国产计算机的核心架构。
图2为本发明实施例的全国产计算机的软硬件系统架构示意图。龙芯2F控制器通过PCI总线拓展同样具有该PCI总线的龙芯1A桥片,该芯片组具有非常丰富的外围接口,可非常灵活地配置所需要的外围通信接口。同时整个技术方案采用自主可控的安全BIOS作为BIOS固件,因此固件可以根据具体的应用而定制。上层操作系统采用国产中标麒麟操作系统,中标麒麟操作系统是一种LINUX操作系统,在其上面可以方便的移植应用软件。
其中,龙芯2F处理器:由中科院计算机所研制的国产处理器,具有完全自主知识产权,主频1G,SPEC分值大于500。龙芯1A处理器:由中科院计算机所研制的国产处理器,具有完全自主知识产权,面向嵌入式领域的SOC芯片。中标麒麟操作系统:由中标软公司和国防科技大学发表的一种国产Linux操作系统。
龙芯2F处理器及龙芯1A是整个全国产加固计算机的核心器件,龙芯2F是兼容MIPS体系架构的多核处理器。MIPS架构处理属于RISC指令集架构。MIPS架构的处理与通常的X86体系结构的处理器架构不同,因此通常基于X86体系结构的BIOS固件与操作系统在本技术方案中将没法复用。而本发明实施例采用一种全新的BIOS固件:安全BIOS,并根据硬件方案设计进行BIOS制定工作,以达到可以自主可控的目的。
以下对本发明实施例的技术方案进行更为详细的说明。
全国产计算机的硬件架构采用龙芯2F及龙芯1A实现了全国产计算机主要架构,通过研发一种适用该方案的BIOS,之后通过移植国产中标麒麟操作系统和应用软件,最终实现了一种全国产的计算机架构方案。
具体实施方案包括:一、计算机架构硬件技术方案;二、安全BIOS实现;三、国产中标麒麟操作系统的移植。以下分别对上述三部分进行详细说明。
一、计算机架构硬件技术方案
该计算机主要技术指标如表4所示:
表4:技术规格
Figure BDA0000130479370000101
国产计算机核心模块实现方案:
(1)机械结构
采用6U-CPCI通用工业板块标准结构,方案模块易于推广,便于维护和加固。
(2)核心模块设计框图
图3为本发明实施的计算机硬件架构设计框图。对图3说明如下:1、采用龙芯2F作为主控制CPU;2、通过龙芯2F集成在DDR2控制器挂载DDR2内存颗粒;3、通过龙芯2F本地总线连接可编程器件CPLD,CPLD经过逻辑控制连接启动在BIOS芯片并扩展串口;4、通过龙芯2F的PCI系统总线连接龙芯1A,并将龙芯1A设置为南桥,同时扩展显示VGA,显示LVDS,PS2接口,串口,CAN总线,音频,以太网,SATA,USB2.0等接口;5、通过龙芯2F的PCI系统总线连接海思HI3512视频控制器,实现视频采集功能;6、通过CPCI桥芯片连接其他在PCI功能子卡。
(3)主器件清单
表5:主控制器件清单
Figure BDA0000130479370000111
(4)方案简介
龙芯2F作为主控CPU,龙芯2F的系统总线为PCI总线,频率设置为66M,总线宽度为32位;与其搭配的芯片组为龙芯1A,其中龙芯1A有两个工作模式,CPU主工作模式和南桥设备的从工作模式,作为从工作模式,其内部的LS232的CPU IP核处于静止状态,其作为PCI的从设备工作。龙芯1A集成了音频AC97接口,CAN总线控制器,千兆以太网控制器,集成2D加速引擎,具有LCD和VGA接口以及NAND控制器。系统总线上挂接PCI桥芯片PCI2050B以适应CPCI的需求,系统总线上挂接海思HI3512的视频采集控SOC,满足实时视频监控的需求。
由龙芯2F处理器,龙芯1A(南桥),海思HI3512视频采集SOC构建了面向加固的全自主可控的计算机硬件基础。整个架构结构清晰,接口丰富,功耗极低,主要的控制元器件全国产,自主可控。
二、安全BIOS实现技术
由于方案架构中,采用的核心处理器为兼容MIPS的龙芯2F处理器,由于基于INTEL X86架构的UEFI BIOS不公开,而PMON等BIOS固件对龙芯1A的支持不足,并且不支持设备驱动的中断机制,并不能适用基于龙芯2F及龙芯1A的计算机架构的硬件设计,需开发一种适用龙芯2F及龙芯1A全国产计算机架构技术的BIOS固件,下面介绍了该BIOS的实现方法。
本发明中的安全BIOS功能十分强大。它不仅支持BIOS启动配置,支持USB、以太网、SATA、IDE等多种方式的内核加载,支持身份认证,设备驱动智能配置,甚至智能安装操作系统。将彻底摈弃传统的基于INTEL的UEFI架构的BIOS。其实现方式如下,请参阅图4示出的本发明实施例的安全BIOS工作流程图。BIOS工作流及关键技术描述:
101、重启入口(将BIOS的起始地址应设置为特定地址)
龙芯2F的重启实际是一种处理器的例外(注:MIPS体系结构处理器异常的专业术语),冷重置是MIPS架构中例外优先级最高的例外,当处理器冷重置之后,PC值将指向特定地址,对于64位或32位MIPS处理器(包括龙芯2F)的重置例外向量地址为0Xffffffff_BFC00000,在MIPS体系结构中,该地址属于UNCACHE/UNMAP的地址空间,即不通过Cache进行存取,也无需地址映射。重置例外向量地址为0XFFFFFFFF_BFC00000对应的物理地址为0xFFFFFFFF_1FC00000。该地址被龙芯2F内部映射到起本地Local IO总线上,因此做硬件设计时候需将启动BIOS FLASH(型号可选用SST49LF040B)挂接在龙芯2F的Local IO总线上并设置为BOOT DEVICE。并在BIOS FLASH的地址0x0开始存储BIOS执行码。
102、早期初始化(对龙芯2F处理器进行初始化)
由于MIPS的地址空间决定,从第一条指令开始的代码不能超过32条指令,因为后面紧跟设计为中断向量的地址。接着,将CP0的状态寄存器COP_0_STATUS_REG和COP_0_CAUSE_REG寄存器全部清空为0。接着设置状态寄存器的BEV位,这样就是让CP0运行在没有TLB的模式,并且运行在引导模式。之后主要设置引导程序的堆栈空间。之后清空TLB。
通过置位处理器STATUS寄存器的KX,SX,UX位使能64位Kernel段访问,使用XTLB Refill向量;使能64位Supervisor段访问;使用XTLBRefill向量;使能64位User段访问;使用XTLB Refill向量。
BIOS启动和操作系统运行时在需通过上述提供的寄存器清空MAILBOX。
初始化龙芯2F集成UART。龙芯2F拥有两个UART,UART0和UART1的物理地址分别为0x1FE001E0和0x1FE001E8。在寄存器和功能上兼容NS16550A,配置UART0并将其作为BIOS的调试串口。其初始化方法与通常的NS16550A串口的方法相同。
103a-103b、ROM入口及RAM入口
本步骤中,在冷启动时候对内存及所述龙芯2F处理器的地址窗口进行初始化,或者,在热启动时将内存及所述龙芯2F处理器的地址窗口设计为保持上次所述龙芯2F处理器初始化后的状态设置。
具体地,判断对CPU是冷复位还是热复位的具体方法为:
la s0,start;subu s0,ra,s0;and s0,0xffff000;
通过获取当前执行位置的PC指针值,其值与进入BIOS的start值进行比较,如果s0等于0,说明是从RAM中RELOAD,如s0不为零,说明BIOS从ROM中开始执行。如是从RAM中进行RELOAD,BIOS将继承原来的内存初始化,TLB初始化及地址映射方法,通过C环境初始化后进入之后的工作流。
104、内存初始化
龙芯2F处理器内部集成的内存控制器的设计遵守DDR2SDRAM的行业标准(JESD79-2B)。在龙芯2F处理器中,所实现的所有内存读/写操作都遵守JESD79-2B及JESD79-3的规定。龙芯2F处理器支持最大2个CS(由4个DDR2 SDRAM片选信号实现,即两个双面内存条),一共含有18位的地址总线。最大支持的地址空间为128GB(237)。龙芯2F处理器在具体选择使用不同内存芯片类型时,可以调整DDR2控制器参数设置进行支持。其中,支持的最大片选(CS_n)数为4,行地址(RAS_n)数为15,列地址(CAS_n)数为14,逻辑体选择(BANK_n)数为3。
由于系统中可能使用不同类型的DDR2SDRAM,因此,在系统上电复位以后,需要对DDR2 SDRAM进行配置。在JESD79-2B中规定了详细的配置操作和配置过程,在没有完成DDR2的内存初始化操作之前,DDR2不可用。内存初始化操作执行顺序如下:
A、系统复位,此时控制器内部所有寄存器内容将被清除为初始值。
B、系统解复位。
C、向配置寄存器地址发64位写指令,配置所有152个配置寄存器。此时如果写CTRL_03,应将其中参数START设为0。所有寄存器都必须正确配置才可以正常工作。
D、向配置寄存器CTRL_03中发64位写指令。此时应将参数START设为1。结束后内存控制器将自动对内存发起初始化指令。
105、TLB(TLB,Translation Lookaside Buffer,一种MIPS处理器的内存映射硬件)/Cache初始化
龙芯2F中的存储管理,虚实地址转换是通过TLB来实现的。以32位地址空间来介绍TLB的作用。在32位下,程序地址空间下面2大区域需要做MMU转换。
kuseg:0x0000000-0x7FFF FFFF(低端2G):这些地址是用户态可用的地址。在有MMU(TLB)的机器里,这些地址将一概被MMU作转换。除非MMU的设置被建立好,这2G地址是不可用的。
kseg0:0x8000 0000-0x9FFF FFFF(512M):这些地址映射到物理地址简单的通过把最高位清零,然后把它们映射到物理地址低段512M(0x0000 0000-0x1FFF FFFF)。因为这种映射是很简单的,通常称之为“非转换的”地址区域。几乎全部的对这段地址的存取都会通过快速缓存(cache)。因此在cache设置好之前,不能随便使用这段地址。通常一个没有MMU的系统会使用这段地址作为其绝大多数程序和数据的存放位置。对于有MMU的系统,操作系统核心会存放在这个区域。
kseg1:0xA000 0000-0xBFFF FFFF(512M):这些地址通过把最高3位清零的方法来映射到相应的物理地址上,与kseg0映射的物理地址一样。但kseg1是非cache存取的。kseg1是唯一的在系统重启时能正常工作的地址空间。这也是为什么重新启动时的入口向量是0xBFC0 0000。这个向量相应的物理地址是0x1FC0 0000。将使用这段地址空间去存取你的初始化ROM。大多数人在这段空间使用I/O寄存器。
kseg2:0xC000 0000-0xFFFF FFFF(1G):这段地址空间只能在核心态下使用并且要经过MMU的转换。在MMU设置好之前,不能存取这段区域。
把虚拟地址映射成物理地址是由TLB来实现的。第一级的TLB是JTLB,同时也作数据TLB,另外,龙芯2F处理器包含独立的指令TLB以缓解对JTLB的竞争。地址映射为了能够快速地进行虚拟地址到物理地址的映射,龙芯2F处理器采用了较大的,全相联映射机制的TLB,JTLB用于指令和数据的地址映射,用它们的名字进行索引。JTLB按奇/偶表项成对组织,把虚拟地址空间和地址空间标识符映射到1T的物理地址空间。在默认的情况下,JTLB有64对奇/偶表项,允许128页进行映射。有两个机制分别用来协助控制映射空间的大小和内存不同区域的替换策略。
第一,页的大小可以是4KB到16MB,但必须是按4倍递增。CP0寄存器PageMask用于记录映射的页的大小,并且这个记录在写一个新的表项的同时载入TLB中。因此操作系统可以支持不同大小的页表项以适用于不同的目的,然而在同一运行的时刻只能是固定大小的页。龙芯2F处理器在将来可以在同一运行时刻支持不同大小的页,允许操作系统产生特定目的的映射:例如,帧缓冲区就可以只用一个表项来进行内存映射。
第二,龙芯2F处理器在TLB缺失的时候采用随机替换的策略来选择要被替换的TLB表项。也有不经过TLB的虚拟地址转换,比如CKSEG0和CKSEG1内核地址空间段就是不进行页面映射的,其中的物理地址是由虚拟地址减去一个基址得到的。操作系统会把一定数量的页面驻留在TLB中,而不致于被随机替换出去,这种机制有利于使操作系统提高性能,避免死锁。这种机制也使实时系统比较方便地为某一关键软件提供特定入口。对每个页来说,JTLB还维护该页面的Cache一致性属性,每个页都有特定的位来标记:不经过Cache(Uncached),非一致性Cache(Cacheable Noncoherent),或者是非Cache加速(Uncached Accelerated)。指令TLB龙芯2F处理器的指令TLB(ITLB)有16个表项,它最小化了JTLB的容量,并通过一个大的相联阵列缩短了映射时的时间关键路径,降低了功率。每个ITLB表项只能映射一页,页面大小由PageMask寄存器来指定。ITLB指令地址的映射和数据地址的映射能并行执行,从而提高了性能。当ITLB中的表项失效时,从JTLB中查找相应的表项,随机选择一个ITLB表项进行替换,ITLB的操作对用户是完全透明的。处理器并没有保证ITLB与JTLB的一致,如果JTLB被修改时要求ITLB也要修改,则需要使用核心态指令刷新ITLB,否则ITLB可能保持旧值。
龙芯2F都具有三个独立的Cache,一级指令Cache64K,一级数据Cache64K,二级混合Cache 1MB。一级缓存采用虚地址索引和物理地址标志,二级缓存的索引和标志采用的都是物理地址。一级和二级缓存都采用随机替换算法。由于具有两级缓存,为了确保缓存数据与内存里的数据一致性。
106、地址映射
在龙芯2F中有CPU地址空间、DDR2地址空间、以及PCI地址空间共三个IP相关的地址空间。地址窗口是供CPU和PCI-DMA两个具有master功能的IP进行路由选择和地址转换而设置的。CPU和PCIDMA两者都拥有4个地址窗口,可以完成目标地址空间的选择以及从源地址空间到目标地址空间的转换。每个地址窗口由BASE、MASK和MMAP三个64位寄存器组成,BASE以M字节对齐,MASK采用类似网络掩码高位为1的格式,MMAP的低两位是路由选择,表示对应新地址空间的编号,其中DDR2的标号为0,PCI/Local IO编号为1。对这些配置寄存器的赋值通过64位的双字写进行。
窗口命中公式:(IN_ADDR & MASK)==BASE
新地址换算公式:OUT_ADDR=(IN_ADDR&~MASK)|{MMAP[63:20],20’h0}
根据缺省的寄存器配置,芯片启动后:CPU的0x0-0x0fff_ffff的地址区间(256M)映射到DDR2的0x0-0x0fff_ffff的地址区间,CPU的0x1000_0000-0x1fff_ffff区间(256M)映射到PCI的0x1000_0000-0x1fff_ffff区间,PCIDMA的0x8000_0000到0x8fff_ffff的地址区间(256M)映射到DDR的0x0-0x0fff_ffff的地址区间。软件可以通过修改相应的配置寄存器实现新的地址空间路由和转换。
CPU共有窗口0、窗口1、窗口2、窗口3四个地址窗口,即Master0。
PCIDMA共有窗口0、窗口1、窗口2、窗口3四个地址窗口,即Master1。
A)master0(CPU到PCI和CPU到DDR)的配置
Master0窗口1的大小为256M,映射到PCI,CPU物理地址的256M-512M映射到PCI,具体映射的方法由PCIMAP来决定。CPU的启动地址也落在这个区域。256M开始的3个64M pci窗口方便32位程序访问pci空间。
窗口0不能超过256M,因为超过的话就和窗口1覆盖了。
将窗口3配置为DDR,大小为实际的DDR大小,开始地址为2G,容量为1G.
将窗口4配置为另外一个1G PCI窗口,CPU的1G-2G到PCI的1G-2G。
Figure BDA0000130479370000181
256M开始的3个64M PCI窗口的分配:
第一个窗口建议固定映射到0-0x03ffffff,因为VGA显存(0xb8000开始)落在这个范围。
第二个窗口和第三个窗口建议配置成连续的128M PCI空间。为了防止BIOS和内核中PCI空间分配冲突,BIOS中窗口2在0x04000000-0x07ffffff,窗口3在0x08000000-0x0bffffff。
Figure BDA0000130479370000182
内核中的窗口2在0x14000000-0x17ffffff,窗口3在0x18000000-0x1bffffff。
内核中CPU访问PCI地址和PCI设备被分配的地址相同(这也是照顾目前内核中驱动的写法和驱动程序移植的方便)。
下面是将内核中将窗口4配置成CPU 1G-2G到PCI 1G-2G的映射。
Figure BDA0000130479370000183
B)Master1(pci到ddr映射)配置
PCI到DDR映射牵涉到PCI配置头部分寄存器和地址窗口寄存器两部分。
PCI配置头部分寄存器设置什么地址范围内的PCI访问能进入CPU。Master1地址窗口寄存器决定进来的地址映射到DDR的什么地址上。配置头部分寄存器包括基地址和Mask寄存器。
将Master1窗口0为2G,PCI 2G一4G直接对应于2G DDR空间。
将Master1窗口1为8M,8-16M主要用于软驱等设备DMA使用(注意不能位于0M,因为和VGA显存地址冲突,冲突的时候CPU访问VGA显存地址的时候会同时写到DDR和VGA显存里面)。
Master1窗口3,4目前没有用到。
经过地址映射后得到CPU的地址分配如下:
表6:CPU地址分配表
  开始地址   大小   所属空间   允许的访问类型
  0x00000000   256M   DDR   -
  0x10000000   64M   PCI MEM Lo0   CDWHB1
  0x14000000   64M   PCI MEM Lo1   CDWHB
  0x18000000   64M   PCI MEM Lo2   CDWHB
  0x1c000000   32M   LIO ROM   CDWHB
  0x1e000000   28M   LIO IO   CDWHB
  0x1fc00000   1M   BOOT ROM   CDWHB
  0x1fd00000   1M   PCI IO   WHB
  0x1fe00000   256B   Registers   WHB
  0x1fe00100   256B   PCI Header   WHB
  0x1fe80000   2K   PCI CONF   WHB
  0x1ff00000   1M   LIO IO   -
  0x40000000   1G   PCI 1G-2G   -
  0x80000000   1G   DDR   -
107、C环境初始化
前面已经初始化内存,缓存及TLB,程序进入内存中运行的条件已经成熟。在SDRAM里的存取速度比ROM里快很多,并且可以随时修改数据,而在ROM是不能修改的,就算可以修改,也是非常慢的。因此需要将ROM中的代码“搬运”到RAM中来执行。
首先需要获取当前ROM开始地址,计算ROM里的代码开始位置和代码的长度,以及RAM里的开始。适用寄存器a0保存要存的RAM的开始地址0xa0010000,a1保存ROM的开始地址0xbfc0 0000,a2保存RAM里的结束地址。使用MIPS汇编的MOVE指令完成从ROM到RAM中的搬运工作。
108、龙芯1A初始化
龙芯1A在方案中的应用为当南桥使用,龙芯1A集成的功能分别为PCI设备和一些IO设备。对这些设备的初始化是通过PCI配置空间与IO的访问读写实现的。
A)配置空间读写
对PCI设备的初始化主要是对PCI的配置空间进行初始化工作,获取PCI的Device ID,Vender ID,Class code,并对其分配MEM/IO资源等等。
通过PCI设备的BUS_NUM、DEVICE_NUM、FUNCTION_NUM来对特定的PCI配置空间进行读写。而南桥1A上的PCI设备均挂接在BUS 0上。
首先通过PCI规范获取配置空间访问地址:
addr=(1<<(device+11))|(function<<8)|reg;
清PCICMD的Master Abort和Target Abort:
*(volatile int*)0xffffffffbfe00004|=0x28000000;
通过0x1fe00118写入,PCI配置读写时AD线的高16位:
*(volatile int*)0xffffffffbfe00118=(addr>>16)|type;
由CPU的地址分配空间可知,PCI CONF映射到CPU的物理地址0x1fe80000,通过读写PCI配置读写时AD线低16位。
if(access type==PCI ACCESS_READ)
data=*(volatile pcireg_t*)0xffffffffbfe80000|(addr & 0xfffc));//读
else
*(volatile pcireg_t*)0xffffffffbfe80000|(addr & 0xfffc));=data;//写
B)IO读写
由CPU地址分配表中,可以得知PCI IO映射到CPU的0x1fd00000,该段地址的访问是处于kseg1中0xA000 0000-0xBFFF FFFF(512M),所以程序访问的地址为0xbfd00000,而龙芯2F为64位CPU,通过将高32位置为1以完全兼容32地址空间。如IO的端口为port,数据地址为data,读写方式如下:
*(volatile char*)(0xffffffffbfd00000+port)=data;
data=*(volatile char*)(0xffffffffbfd00000+port);
通过上述方法实现对龙芯1A内部的逻辑进行初始化。
109a-109b、设备扫描与驱动加载
为使BIOS下的设备驱动进行正确的挂接。首先要正确配置设备配置文件。
Figure BDA0000130479370000211
配置完之后系统将形成一个CFDATA链表。CFDATA中体现出了总线的关系。首先是mainbus,然后mainbus下面有一个pci桥pcibr0和一个localbus0。Pci桥下面有fxp0(82559网卡),rtl(rtl8139网卡),pciide。Pciide下面又有wd(ide磁盘)和ide_cd两个设备。每个总线的驱动程序里面负责搜寻自己总线上的设备,并根据cfdata结构来匹配(match),成功后attch安装驱动。
110、身份认证
BIOS中加入了对用户的密码验证功能,如用户3次输入的密码错误,24小之内将不能正常进入。
111、SHELL(一种人机交互界面))初始化
Shell初始化之后,用户将可通过Shell命令与BIOS内核进行接口完成相关的命令如:加载内核,设置ip地址,查询设备初始化情况,查询PCI资源分配情况。
112a-112b、加载内核并运行、交出控制权
BIOS进入SHELL之后,BIOS系统将通过默认的AL参数正确引导操作系统,之后进入操作系统,对硬件的控制权交给了操作系统。BIOS的结构及组成:包含Targets、conf、doc、examples、fb、include、lib、sys、tools、zloader等目录。Targets目录是板级相关的代码;Bonito/start.S启动代码;Bonito/tgt_machdep.c启动c代码,入口init_mips;conf是配置文件目录;conf/Bonito是配置文件;conf是总的配置文件目录;conf/files是配置文件;fb:framebuffer相关程序的目录;include头文件目录;lib库文件目录,如libc等;驱动程序放在Sys/dev;Tools是配置的工具程序源码等;Zloader是解压缩程序。
三、操作系统方案
操作系统采用中标麒麟操作系统。需要移植该操作系统,实现的驱动包括CPU初始化,内存初始化,南桥芯片组初始化,及其串口驱动初始化,千兆网络初始化,IDE及Sata驱动等,还需正确的配置中断路由。
本发明实施例的上述技术方案的有益技术效果在于:
本发明提供了一种全新的全国产计算机架构技术,即采用具有完全自主知识产权的国产龙芯2F和龙芯1A构建计算机,实现其安全可控的BIOS固件及应用国产中标麒麟操作系统,从而实现从硬件到软件、从系统到芯片的完全自主可控,为信息安全核心部件提供了保证,切合了国家的产业政策,同时力争使得使用该技术的产品在政府、军队、航天国防等国家战略部门得到广泛应用。将为自主安全打实了基础,节约了成本,也并将对中国信息安全的发展产生深远影响而实现从软件到硬件、系统到芯片完全自主可控。完全改变现有采用INTEL,AMD,PPC,ARM的主芯片作为核心控制处理器,采用微软windows等国外操作系统的加固计算机一统天下的局面。
本发明实施例采用龙芯2F处理器,其主频为1GHz,功耗为3W,由于其为四核处理器,得出其主频功耗比为(1)∶(3),即0.33(Ghz/W),是现有技术一的主频功耗比的近180%!
龙芯2F采用独有的防“缓冲区溢出攻击”技术,缓冲区溢出保护缓冲区溢出是一种非常危险的漏洞,是目前大多数网络攻击所采取的办法。龙芯内网核心处理模块通过对堆栈段的取指进行限制,可以有效防止利用缓冲区溢出技术进行的网络攻击,从而在硬件层面保障系统稳定和信息安全,极大的提高了数据和资料的安全性。
龙芯2F的功耗为3.5W,龙芯1A为1W,整板功耗可以控制在10W以下,并且计算机模块可以非常方便的小型化,方便在各种嵌入式加固领域中应用。
以上实施例仅用以说明本发明实施例的技术方案,而非对其限制;尽管参照前述实施例对本发明实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例各实施例技术方案的精神和范围。

Claims (8)

1.一种面向加固的国产计算机,其特征在于,所述国产计算机包括:
龙芯2F处理器,作为主控中央处理器;
龙芯1A处理器,作为南桥芯片,通过PCI总线与所述龙芯2F处理器连接。
2.根据权利要求1所述的国产计算机,其特征在于,所述国产计算机还包括:
海思视频采集控制器,与所述龙芯2F处理器的PCI总线相连接。
3.根据权利要求1所述的国产计算机,其特征在于,所述国产计算机是采用中标麒麟操作系统。
4.根据权利要求1所述的国产计算机,其特征在于,所述国产计算机还包括:
1GB的SDRAM,作为所述龙芯2F处理器的内存;以及,
16GB的NAND FLASH颗粒,作为ROM存储器。
5.根据权利要求1-4中任一项所述的国产计算机,其特征在于,所述国产计算机还包括:
安全BIOS固件,用于将BIOS的起始地址设置为特定地址;对龙芯2F处理器进行初始化;在冷启动时候对内存及龙芯2F处理器的地址窗口进行初始化,或者,在热启动时将内存及龙芯2F处理器的地址窗口设计为保持上次龙芯2F处理器初始化后的状态设置;对内存进行初始化;对旁路转换缓冲TLB和高速缓冲存储器CACHE进行初始化:执行地址映射;对C环境进行初始化;对所述龙芯1A处理器进行初始化;通过设备文件注册总线的驱动程序搜寻总线上的设备,并根据注册的驱动进行匹配,匹配成功后安装驱动;验证用户身份;对人机交互界面SHELL进行初始化;以及加载操作系统,将对硬件的控制权交给所述操作系统。
6.一种面向加固的国产计算机的安全BIOS工作方法,其特征在于,所述国产计算机包括:龙芯2F处理器,作为主控中央处理器;以及龙芯1A处理器,作为南桥芯片,通过PCI总线与所述龙芯2F处理器连接;所述方法包括:
将BIOS的起始地址设置为特定地址;
对所述龙芯2F处理器进行初始化;
在冷启动时候对内存及所述龙芯2F处理器的地址窗口进行初始化,或者,在热启动时将内存及所述龙芯2F处理器的地址窗口设计为保持上次所述龙芯2F处理器初始化后的状态设置;
对内存进行初始化;
对旁路转换缓冲TLB和高速缓冲存储器CACHE进行初始化:
执行地址映射;
对C环境进行初始化;
对所述龙芯1A处理器进行初始化;
通过设备文件注册总线的驱动程序搜寻总线上的设备,并根据注册的驱动进行匹配,匹配成功后安装驱动;
验证用户身份;
对人机交互界面SHELL进行初始化;
加载操作系统,将对硬件的控制权交给所述操作系统。
7.根据权利要求6所述的方法,其特征在于,所述国产计算机还包括:海思视频采集设备,与所述龙芯1A处理器的PCI总线相连接。
8.根据权利要求6所述的方法,其特征在于,所述国产计算机是采用中标麒麟操作系统。
CN201210008777.3A 2012-01-12 2012-01-12 一种面向加固的国产计算机及其安全bios工作方法 Active CN102609040B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210008777.3A CN102609040B (zh) 2012-01-12 2012-01-12 一种面向加固的国产计算机及其安全bios工作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210008777.3A CN102609040B (zh) 2012-01-12 2012-01-12 一种面向加固的国产计算机及其安全bios工作方法

Publications (2)

Publication Number Publication Date
CN102609040A true CN102609040A (zh) 2012-07-25
CN102609040B CN102609040B (zh) 2015-04-08

Family

ID=46526487

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210008777.3A Active CN102609040B (zh) 2012-01-12 2012-01-12 一种面向加固的国产计算机及其安全bios工作方法

Country Status (1)

Country Link
CN (1) CN102609040B (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103744480A (zh) * 2013-12-30 2014-04-23 天津市英贝特航天科技有限公司 一种基于龙芯2f的嵌入式计算机模块
CN104572162A (zh) * 2014-03-21 2015-04-29 中电科技(北京)有限公司 一种基于龙芯手持式计算机的uefi固件实现方法
CN105528545A (zh) * 2015-12-09 2016-04-27 浪潮电子信息产业股份有限公司 基于国产64位arm处理器的服务器及安全设计方法
CN105610739A (zh) * 2016-01-13 2016-05-25 浪潮集团有限公司 一种采用deltaos实现龙芯交换机操作系统的方法
CN105721353A (zh) * 2016-01-18 2016-06-29 浪潮集团有限公司 一种基于数据中心的高性能国产以太网交换机
CN105787361A (zh) * 2014-12-22 2016-07-20 迈普通信技术股份有限公司 一种mips系统代码的保护方法及设备
TWI622883B (zh) * 2017-04-20 2018-05-01 遠東金士頓科技股份有限公司 用於控制記憶體模組之控制系統及控制方法
CN108292342A (zh) * 2016-01-25 2018-07-17 惠普发展公司,有限责任合伙企业 向固件中的侵入的通知
CN108664414A (zh) * 2017-03-31 2018-10-16 龙芯中科技术有限公司 Ddr内存配置空间访问方法及装置
CN109634673A (zh) * 2018-12-06 2019-04-16 西南电子技术研究所(中国电子科技集团公司第十研究所) 星载电子系统管理控制设备
CN109656630A (zh) * 2018-12-27 2019-04-19 龙芯中科技术有限公司 配置空间的访问方法、装置、架构及储存介质
CN109783422A (zh) * 2019-01-23 2019-05-21 西安微电子技术研究所 一种基于线簧cpci总线的主板
CN110472421A (zh) * 2019-07-22 2019-11-19 深圳中电长城信息安全系统有限公司 主板、固件安全检测方法及终端设备
CN111338997A (zh) * 2020-03-05 2020-06-26 苏州浪潮智能科技有限公司 一种arm服务器bios支持tcm通信的方法、装置、设备和介质
CN111984333A (zh) * 2020-08-18 2020-11-24 山东超越数控电子股份有限公司 基于龙芯的定时开机方法、装置及计算机可读存储介质
CN112597504A (zh) * 2020-12-22 2021-04-02 中国兵器装备集团自动化研究所 一种国产化计算机两级安全启动系统及方法
CN114579495A (zh) * 2022-05-06 2022-06-03 成都前锋信息技术股份有限公司 基于飞腾处理器的全国产通用计算机固件的实现方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100375025C (zh) * 2005-09-13 2008-03-12 联想(北京)有限公司 计算机系统启动方法
CN201336033Y (zh) * 2008-12-22 2009-10-28 研祥智能科技股份有限公司 一种嵌入式板卡和嵌入式计算机系统
CN201467318U (zh) * 2009-07-31 2010-05-12 上海芯动信息技术有限公司 一种电脑电视一体机
CN101719312A (zh) * 2008-10-10 2010-06-02 福建大兆电子科技有限公司 无线电子媒体公众安全监视系统
CN101980235A (zh) * 2010-10-27 2011-02-23 中国航天科工集团第二研究院七○六所 一种安全计算平台
CN102023879A (zh) * 2010-11-04 2011-04-20 天津曙光计算机产业有限公司 一种龙芯刀片南桥sata控制器bios的实现方法
CN102214132A (zh) * 2011-05-16 2011-10-12 曙光信息产业股份有限公司 一种调试龙芯cpu和南北桥芯片的方法和装置
CN102236381A (zh) * 2011-05-10 2011-11-09 山东超越数控电子有限公司 一种基于龙芯3a处理器的加固计算机

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100375025C (zh) * 2005-09-13 2008-03-12 联想(北京)有限公司 计算机系统启动方法
CN101719312A (zh) * 2008-10-10 2010-06-02 福建大兆电子科技有限公司 无线电子媒体公众安全监视系统
CN201336033Y (zh) * 2008-12-22 2009-10-28 研祥智能科技股份有限公司 一种嵌入式板卡和嵌入式计算机系统
CN201467318U (zh) * 2009-07-31 2010-05-12 上海芯动信息技术有限公司 一种电脑电视一体机
CN101980235A (zh) * 2010-10-27 2011-02-23 中国航天科工集团第二研究院七○六所 一种安全计算平台
CN102023879A (zh) * 2010-11-04 2011-04-20 天津曙光计算机产业有限公司 一种龙芯刀片南桥sata控制器bios的实现方法
CN102236381A (zh) * 2011-05-10 2011-11-09 山东超越数控电子有限公司 一种基于龙芯3a处理器的加固计算机
CN102214132A (zh) * 2011-05-16 2011-10-12 曙光信息产业股份有限公司 一种调试龙芯cpu和南北桥芯片的方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张菊莉 等: "基于龙芯2F架构的PMON分析与优化", 《现代电子技术》, vol. 34, no. 2, 15 January 2011 (2011-01-15), pages 19 - 21 *
李雷 等: "基于PMON的龙芯BIOS初始化及VGA BIOS模拟器", 《计算机工程》, vol. 35, no. 1, 31 January 2009 (2009-01-31), pages 204 - 206 *

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103744480A (zh) * 2013-12-30 2014-04-23 天津市英贝特航天科技有限公司 一种基于龙芯2f的嵌入式计算机模块
CN104572162A (zh) * 2014-03-21 2015-04-29 中电科技(北京)有限公司 一种基于龙芯手持式计算机的uefi固件实现方法
CN105787361A (zh) * 2014-12-22 2016-07-20 迈普通信技术股份有限公司 一种mips系统代码的保护方法及设备
CN105787361B (zh) * 2014-12-22 2018-12-28 迈普通信技术股份有限公司 一种mips系统代码的保护方法及设备
CN105528545A (zh) * 2015-12-09 2016-04-27 浪潮电子信息产业股份有限公司 基于国产64位arm处理器的服务器及安全设计方法
CN105610739B (zh) * 2016-01-13 2018-08-24 浪潮集团有限公司 一种采用deltaos实现龙芯交换机操作系统的方法
CN105610739A (zh) * 2016-01-13 2016-05-25 浪潮集团有限公司 一种采用deltaos实现龙芯交换机操作系统的方法
CN105721353A (zh) * 2016-01-18 2016-06-29 浪潮集团有限公司 一种基于数据中心的高性能国产以太网交换机
CN108292342A (zh) * 2016-01-25 2018-07-17 惠普发展公司,有限责任合伙企业 向固件中的侵入的通知
US11321454B2 (en) 2016-01-25 2022-05-03 Hewlett-Packard Development Company, L.P. Notice of intrusion into firmware
CN108664414A (zh) * 2017-03-31 2018-10-16 龙芯中科技术有限公司 Ddr内存配置空间访问方法及装置
CN108664414B (zh) * 2017-03-31 2020-09-22 龙芯中科技术有限公司 Ddr内存配置空间访问方法及装置
TWI622883B (zh) * 2017-04-20 2018-05-01 遠東金士頓科技股份有限公司 用於控制記憶體模組之控制系統及控制方法
US10565136B2 (en) 2017-04-20 2020-02-18 Kingston Digital, Inc. Control system and control method for controlling memory modules
CN109634673A (zh) * 2018-12-06 2019-04-16 西南电子技术研究所(中国电子科技集团公司第十研究所) 星载电子系统管理控制设备
CN109656630A (zh) * 2018-12-27 2019-04-19 龙芯中科技术有限公司 配置空间的访问方法、装置、架构及储存介质
CN109656630B (zh) * 2018-12-27 2021-09-17 龙芯中科技术股份有限公司 配置空间的访问方法、装置、架构及储存介质
CN109783422A (zh) * 2019-01-23 2019-05-21 西安微电子技术研究所 一种基于线簧cpci总线的主板
CN110472421A (zh) * 2019-07-22 2019-11-19 深圳中电长城信息安全系统有限公司 主板、固件安全检测方法及终端设备
CN110472421B (zh) * 2019-07-22 2021-08-20 深圳中电长城信息安全系统有限公司 主板、固件安全检测方法及终端设备
CN111338997B (zh) * 2020-03-05 2021-07-20 苏州浪潮智能科技有限公司 一种arm服务器bios支持tcm通信的方法、装置、设备和介质
CN111338997A (zh) * 2020-03-05 2020-06-26 苏州浪潮智能科技有限公司 一种arm服务器bios支持tcm通信的方法、装置、设备和介质
US11669477B2 (en) 2020-03-05 2023-06-06 Inspur Suzhou Intelligent Technology Co., Ltd. Method and apparatus for supporting TCM communication by BIOS of ARM server, device, and medium
CN111984333A (zh) * 2020-08-18 2020-11-24 山东超越数控电子股份有限公司 基于龙芯的定时开机方法、装置及计算机可读存储介质
CN112597504A (zh) * 2020-12-22 2021-04-02 中国兵器装备集团自动化研究所 一种国产化计算机两级安全启动系统及方法
CN112597504B (zh) * 2020-12-22 2024-04-30 中国兵器装备集团自动化研究所有限公司 一种国产化计算机两级安全启动系统及方法
CN114579495A (zh) * 2022-05-06 2022-06-03 成都前锋信息技术股份有限公司 基于飞腾处理器的全国产通用计算机固件的实现方法
CN114579495B (zh) * 2022-05-06 2022-09-30 成都前锋信息技术股份有限公司 基于飞腾处理器的通用计算机固件的实现方法

Also Published As

Publication number Publication date
CN102609040B (zh) 2015-04-08

Similar Documents

Publication Publication Date Title
CN102609040B (zh) 一种面向加固的国产计算机及其安全bios工作方法
CN101203838B (zh) 直接存储器存取转换的地址窗口支持
US7917740B1 (en) Virtualization assist for legacy x86 floating point exception handling
TWI715580B (zh) 用以支援保護容器的即時遷移之處理器、方法、系統和指令
TWI524182B (zh) 用以改變安全獨立領域的頁面之位址的處理器、方法、系統及指令
Bugnion et al. Bringing virtualization to the x86 architecture with the original vmware workstation
CN101351773B (zh) 基于存储器访问数据结构执行直接高速缓存访问事务
US8352670B2 (en) Execute-only memory and mechanism enabling execution from execute-only memory for minivisor
US8166276B2 (en) Translate and verify instruction for a processor
CN105993005B (zh) 具有地址转译快取的处理器及其操作方法
CN102906716A (zh) 依据适配器的多个地址空间
Fan Real-time embedded systems: design principles and engineering practices
CN102906719A (zh) 输入/输出地址到存储器地址的转换
RU2565514C2 (ru) Средство функциональной виртуализации для блокировки командной функции многофункциональной команды виртуального процесса
WO2007053980A1 (en) Method and apparatus to support virtualization with code patches
CN102947808A (zh) 用于适配器函数的转换格式的运行时确定
CN102906702A (zh) 对适配器的地址空间的访客端访问
CN102906720A (zh) 启用/禁用计算环境的适配器
US10671419B2 (en) Multiple input-output memory management units with fine grained device scopes for virtual machines
CN113196234A (zh) 使用硬件分页提示的进程空间标识符虚拟化
CN106909349A (zh) 一种基于服务器的uefi固件实现方法
Syeda et al. Program verification in the presence of cached address translation
Kolanski Verification of programs in virtual memory using separation logic
Allievi et al. Windows internals, part 2
CN106909400A (zh) 一种基于笔记本计算机的uefi固件实现方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant