CN1249579C - 计算机开机预设值的加载方法 - Google Patents

计算机开机预设值的加载方法 Download PDF

Info

Publication number
CN1249579C
CN1249579C CN 02149009 CN02149009A CN1249579C CN 1249579 C CN1249579 C CN 1249579C CN 02149009 CN02149009 CN 02149009 CN 02149009 A CN02149009 A CN 02149009A CN 1249579 C CN1249579 C CN 1249579C
Authority
CN
China
Prior art keywords
bios program
preset value
mnemon
computer system
state value
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.)
Expired - Fee Related
Application number
CN 02149009
Other languages
English (en)
Other versions
CN1501241A (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.)
Inventec Corp
Original Assignee
Inventec Corp
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 Inventec Corp filed Critical Inventec Corp
Priority to CN 02149009 priority Critical patent/CN1249579C/zh
Publication of CN1501241A publication Critical patent/CN1501241A/zh
Application granted granted Critical
Publication of CN1249579C publication Critical patent/CN1249579C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

一种计算机开机预设值的加载方法,适用于具有一个非易失性内存的计算机系统中,该非易失性内存用以储存计算机系统前次开机用的BIOS程序状态值,其中,BIOS程序状态值是根据BIOS程序的相关信息与一个预设的转换公式求出的。该加载方法是由计算机系统从BIOSROM中读取目前BIOS程序以进行开机程序,且取出相关信息通过转换公式求出BIOS程序状态值;接着,将求出的状态值与储存于该非易失性内存内的状态值比较,若不同,则将求得的状态值存于非易失性内存中,作为下次开机时的BIOS程序状态值的对比,且将该BIOS ROM中所储存的开机预设值加载至非易失性内存中。

Description

计算机开机预设值的加载方法
技术领域
本发明涉及一种计算机开机预设值的加载方法,尤其涉及具有一个非易失性内存的计算机系统,使该计算机系统在其BIOS程序更新时将开机预设值自动加载的方法。
背景技术
为了顺应计算机系统处理效率及周边硬件装置研发技术日新月异的发展,使计算机制造商不断设计出不同版本的基本输入输出系统(Basic Input/Output System,以下简称为BIOS)程序,使计算机系统可明确判定出其目前所搭配的周边硬件装置是什么,据此让这些周边硬件装置与该计算机系统之间可正常运作,进而提供计算机系统使用者或BIOS程序测试人员对计算机系统进行正常操作。
尽管BIOS程序不断更新,但是,对于BIOS更新后所需的开机预设值(Default)的加载程序而言,要通过BIOS程序所提供的设置(Setup)功能,或利用该计算机系统主机板上的开关(Switch)进行设定后方可加载开机预设值。因此,计算机系统使用者或BIOS程序测试人员均需以手动方式来加载BIOS程序开机预设值至计算机系统中。然而,以手动方式加载开机预设值,使用者或测试人员容易忽略,因而导致计算机系统于运作过程中产生错误。
因此,在计算机系统的BIOS程序更新后,如何有效避免因忽略BIOS程序开机预设值的设定程序而导致系统不正常运作,以及提供一种可自动加载开机预设值的方法,是目前需要解决的问题。
发明内容
鉴于上述现有技术的缺点,本发明的主要目的在于提供一种计算机开机预设值的加载方法,用以让计算机系统在BIOS程序更新后可自动加载BIOS程序开机预设值,以有效避免因人工易于忽略BIOS程序开机预设值的设定程序而导致系统不正常运作。
本发明的另一目的在于提供一种计算机开机预设值的加载方法,可适用于一般具有非易失性内存(例如NVRAM)的计算机系统中,通过该非易失性内存来储存BIOS程序更新后的相关信息,以供该计算机系统判定是否需自动加载BIOS程序开机预设值,因此,不须增加额外的硬件成本即可达到自动加载开机预设值的功能。
为达到上述目的,本发明提供了一种计算机开机预设值的加载方法。该预设值的加载方法,适用于具有一个非易失性内存的计算机系统中,该非易失性内存用以储存计算机系统前次开机所使用的BIOS程序的前BIOS程序状态值,且该计算机系统至少包括一个用以储存BIOS程序及开机预设值的主记忆单元,该加载方法至少包含:令该计算机系统从该主记忆单元中读取BIOS程序以进行开机程序,且取出该BIOS程序的版本及日期资料;接着,令该计算机系统根据该取得的版本及日期资料求出该BIOS程序状态值,且从该非易失性内存中取出前BIOS程序状态值,并将根据该主记忆单元中的BIOS程序而求得的BIOS程序状态值与前BIOS程序状态值进行比较;如果两值相同,则该计算机系统不须将主存储器中所储存的BIOS程序加载其开机预设值,进而根据该非易失性内存的BIOS程序执行POST程序;反之,若两值不同,则将该根据主记忆单元所求得的BIOS程序状态值存储在该非易失性内存中,以作为下次开机程序时的状态值比较,且将该主存储器所储存的开机预设值加载至非易失性内存中,并使该计算机系统根据加载于非易失性内存的开机预设值进行POST程序。
附图说明
图1表示本发明的计算机开机预设值的加载方法所需的基本应用结构方块图;
图2A表示本发明的计算机开机预设值的加载方法所需执行的各步骤流程图;
图2B表示图2A中步骤S7的进一步的处理流程图。
图中的符号说明
1           计算机系统
10          CPU
11          北桥芯片
12          南桥芯片
110         SRAM
111         DRAM
112         Cache
120         BIOS ROM
121         NVRAM存取控制器
122         NVRAM
123         I/O控制器以及CMOS单元
124         键盘/鼠标
125         VGA
具体实施方式
以下配合附图,详细说明本发明的计算机开机预设值的加载方法的实施例。
图1表示本发明的计算机开机预设值的加载方法所需的基本应用结构方块图。如图所示,本发明的计算机开机预设值的加载方法适用于一个计算机系统1中,例如笔记本计算机或台式计算机等,该计算机系统1至少包括一个中央处理器10(Central Processing Unit;以下将简称为CPU)、一个北桥芯片11、一个南桥芯片12、一个静态随机存取内存110(Static Random Access Memory;以下简称为SRAM)、一个动态随机存取内存111(Dynamic Random Access Memory;以下简称为DRAM)、一个高速缓存112(以下简称为cache)、一个BIOS ROM120、一个非易失性随机存取内存(Non-Volatile Random Access Memory;以下简称为NVRAM)存取控制器121、一个NVRAM122、一个I/O控制器以及CMOS单元123、一个键盘/鼠标124以及一个VGA(Video GraphicsArray)125。其中,该北桥芯片11主要负责与该CPU10、SRAM110、DRAM111及cache112等内存进行数据传输处理,以负责较高速的协调工作;而该南桥芯片12主要负责与BIOS ROM120、NVRAM存取控制器121、I/O控制器以及CMOS单元123、VGA125等周边硬件装置的信号控制,以负责较慢速的协调工作。由于上述各芯片、各内存等都是计算机技术人员所熟知的,因此,在此将不对其功能及内部结构作进一步详细说明,以下仅说明与本发明相关的部分。
该NVRAM122是一种可在中断电源时仍能保存资料的随机存取内存,用以储存该计算机系统1前次开机所用的BIOS程序的前BIOS程序状态值N,而该BIOS程序状态值N是通过一个转换公式而来的,该转换公式根据该次开机所用的BIOS程序的日期及版本进行编码运算以产生一个特定位数,以将该求得的特定位数作为BIOS程序状态值N。在此举例说明该BIOS程序状态值N的取得方式,由于BIOS程序一般均具有版本日期,以mm/dd/yy表示,以及版本号码,以Vn.ab表示,在本实施例中假设该BIOS程序状态值N=f(BIOS程序版本日期,BIOS程序版本)=10×mm+dd+n+(a÷10)+(b÷100),例如若BIOS程序相关信息包括Compiled 11/29/99、Version 5.28时,即BIOS程序状态值N=10×11+29+5+(2÷10)+(8÷100)=144.28,因此,一般而言,不同版本的BIOS程序间的BIOS程序状态值N很难相同。在此须特别说明的是,该转换公式除以上述BIOS程序版本日期及BIOS程序版本作为参数外,还可加入其它参数例如开机日期,也就是说,该转换公式的参数可根据所需的实施情况而定。
利用本发明的计算机开机预设值的加载方法,使该计算机装置1在开机时,将由该南桥芯片12从BIOS ROM120中读取BIOS程序以进行系统自我测试工作(Power-On Self Test;以下简称为POST),在此需要说明的是,该POST程序是一般计算机系统所需执行的必要程序,因此在此不再赘述。首先,由该计算机装置1从该BIOS ROM120中读取其所储存的BIOS程序的BIOS程序版本日期及BIOS程序版本,并根据可求出BIOS程序状态值N的转换公式求得目前的BIOS程序状态值N’;接着,以该求得的BIOS程序状态值N’与预储于该NVRAM122中的前BIOS程序状态值N进行比较,若不同,就表示目前开机用的BIOS程序版本已更新,并令BIOS ROM120中所储存的开机预设值自动储存于NVRAM122以及I/O控制器及CMOS单元123中。
这样,在该计算机装置1判定BIOS程序更新时即可自动加载开机预设值,而不需通过人工方式用主机板上的开关装置或由BIOS程序所提供的设置功能(Setup)来进行开机预设值的加载程序。
图2A表示本发明的计算机开机预设值的加载方法所需执行的各步骤流程图。如图所示,若该计算机装置1开机后,将由该南桥芯片12从BIOS ROM120中读取BIOS程序并进行系统自我测试工作(Power-On SelfTest;以下简称为POST)以取得计算机系统1上相关的硬件信息,其中该POST程序如步骤S1及步骤S2所示,在步骤S1中,由该计算机装置1设定各芯片例如南、北桥芯片(11、12)以及各控制器例如NVRAM存取控制器、I/O控制器(121、123)等,以供该计算机系统1取得各周边硬件装置的种类、机型及特性,接着进行步骤S2。
在步骤S2中,由该计算机装置1设定各内存例如SRAM、DRAM以及cache(110、111、112)等,以供该计算机系统1取得各内存的容量大小,接着进行步骤S3。
在步骤S3中,进行BIOS程序状态值转换处理,包括步骤S30以及步骤S31,首先进行步骤S30,计算机系统1从BIOS ROM120中取得目前开机用的BIOS程序的版本日期以及版本,例如日期为11月29日,版本为5.28,接着进行步骤S31。
在步骤S31中,通过一个预设的转换公式(其可预存于该BIOSROM120中以供该计算机系统1在求取BIOS程序状态值时使用)以根据在该步骤S30中所取得的版本日期以及版本进行目前BIOS程序状态值N’的转换,例如该BIOS程序状态值N’的转换公式为10×月部分+日部分+版本个位数+(版本小数点后第一位÷10)+(版本小数点后第二位÷100),也就是说,目前BIOS程序状态值N’=10×11+29+5+(2÷10)+(8÷100)=144.28,接着进行步骤S4。
在步骤S4中,由该计算机系统1从NVRAM122中取出上次BIOS程序开机后所预存的前BIOS程序状态值N(该状态值的取得方式与上述步骤S30及该步骤S31相同,在此不再赘述),接着进行步骤S5。
在步骤S5中,由该计算机系统1判断根据BIOS ROM120内的BIOS程序所转换的BIOS程序状态值N’是否与该NVRAM122所预存的前BIOS程序状态值N相同,若两值相同,则进行步骤S7;反之,则进行步骤S6。
在步骤S6中,由该计算机系统1建立一个预设值加载标志,且将其值设为1并储存在该NVRAM122中,以及将该取得的目前BIOS程序状态值N’储存在该NVRAM122中。这样,当计算机系统1读取该预设值加载标志的值为1时,即可判断出目前BIOS程序已更新,因而需自动加载开机预设值(default)以防止计算机系统1在运作过程中产生错误;再者,将取得的目前BIOS程序状态值N’储存在该NVRAM122中以供下次开机时,作为BIOS程序版本比对之用。接着进行步骤S7。
在步骤S7中,当该计算机系统1在开机且对其BIOS程序版本完成状态值转换、比对等相关处理程序之后,就继续进行后续的POST程序。接下来,参见图2B所示上述图2A中步骤S7的进一步的处理流程,如图所示,若该计算机系统1以该BIOS ROM120内的BIOS程序进行开机且根据该BIOS程序的版本日期及版本完成状态值转换以及比对等相关处理程序之后,随即进行步骤S70,由该计算机系统1从该NVRAM122中读取该预设值加载标志值是否为1,若为1,则进行步骤S71;反之,则进行步骤S72。
在步骤S71中,由该计算机系统1将该BIOS ROM120中的BIOS程序所提供的BIOS程序开机预设值(default)自动加载于I/O控制器及CMOS单元123以及NVRAM122中,接着进行步骤S72。
在步骤S72中,令该计算机系统1根据储存于I/O控制器及CMOS单元123以及NVRAM122中的开机预设值进行POST程序。
根据本发明的计算机开机预设值的加载方法,不须额外的硬件成本,只需利用计算机系统1一般现有的NVRAM122来储存前次开机的BIOS程序状态值,进而供该计算机系统1判定此次开机用的BOIS程序的版本更新与否,以作为自动加载开机预设值的依据。以提供使用者或测试人员一种可改善人工加载开机预设值的不便以及可有效避免因人工加载易于忽略而导致计算机系统运作不正常的开机预设值的加载方法。
以上所述只是本发明的较佳实施例,并不构成对本发明的实质技术内容的范围的限制,该BIOS程序状态值的转换公式并不限于以BIOS程序的版本日期或版本作为转换参数,还可加入其它具有识别BIOS程序信息的参数。本发明的实质技术内容广义地定义于本发明的权利要求书中,任何他人所完成的技术实体或方法,如与本发明的权利要求书中所定义的完全相同,或者是其等效变更,均被视为涵盖于此权利要求之中。

Claims (11)

1、一种计算机开机预设值的加载方法,其特征在于,可以让一个计算机系统以不同BIOS程序开机而将开机预设值自动加载的方法,该计算机系统至少包括一个用以储存前次开机用的BIOS程序的前BIOS程序状态值的第一记忆单元以及一个用以储存BIOS程序及开机预设值的第二记忆单元,该加载方法包含:
令该计算机系统从第二记忆单元中读取BIOS程序以进行开机程序,且取出该BIOS程序的资料;以及
令该计算机系统根据该取得的BIOS程序的资料求出该BIOS程序状态值,且从该第一记忆单元中取出前BIOS程序状态值,并将根据第二记忆单元的BIOS程序而求得的BIOS程序状态值与前BIOS程序状态值进行比较;若两值相同,则该计算机系统不须将第二记忆单元所储存的BIOS程序加载其开机预设值,进而根据该第一记忆单元的BIOS程序执行POST程序;反之,若两值不同,则将该根据第二记忆单元所求得的BIOS程序状态值存于该第一记忆单元中,以作为下次开机程序时的状态值对比,且将该第二记忆单元所储存的开机预设值加载至第一记忆单元中,并使该计算机系统根据加载于第一记忆单元的开机预设值进行POST程序。
2、如权利要求1所述的计算机开机预设值的加载方法,其特征在于,所述BIOS程序的资料至少包括BIOS程序的版本及日期。
3、如权利要求1所述的计算机开机预设值的加载方法,其特征在于,由所述计算机系统在第二记忆单元中设定一个预设值加载标志,以供该计算机系统作为在判定BIOS程序更新后可否加载开机预设值的依据。
4、如权利要求3所述的计算机开机预设值的加载方法,其特征在于,若所述由第二记忆单元而求得的BIOS程序状态值与第一记忆单元所储存的前BIOS程序状态值不同时,就由该计算机系统设定该预设值加载标志值为特定准位信号,以供该计算机系统作为在判定BIOS程序更新后可加载开机预设值的依据。
5、如权利要求4所述的计算机开机预设值的加载方法,其特征在于,若所述计算机系统将该预设值加载标志值设为特定准位信号时,将该第二记忆单元所储存的开机预设值加载至第一记忆单元中,并使该计算机系统根据第一记忆单元的开机预设值进行POST程序。
6、如权利要求4所述的计算机开机预设值的加载方法,其特征在于,该特定准位信号是指高准位信号以及低准位信号其中之一。
7、如权利要求1所述的计算机开机预设值的加载方法,其特征在于,所述BIOS程序状态值是通过一个转换公式取得的。
8、如权利要求7所述的计算机开机预设值的加载方法,其特征在于,所述转换公式是根据该BIOS程序的资料进行编码运算以产生一个特定位数,该求得的特定位数将作为该BIOS程序的BIOS程序状态值。
9、如权利要求1所述的计算机开机预设值的加载方法,其特征在于,该第一记忆单元是指非易失性的记忆单元。
10、如权利要求9所述的计算机开机预设值的加载方法,其特征在于,所述非易失性的记忆单元是指NVRAM。
11、如权利要求1所述的计算机开机预设值的加载方法,其特征在于,所述计算机系统为台式计算机及笔记本计算机其中任一种。
CN 02149009 2002-11-18 2002-11-18 计算机开机预设值的加载方法 Expired - Fee Related CN1249579C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 02149009 CN1249579C (zh) 2002-11-18 2002-11-18 计算机开机预设值的加载方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 02149009 CN1249579C (zh) 2002-11-18 2002-11-18 计算机开机预设值的加载方法

Publications (2)

Publication Number Publication Date
CN1501241A CN1501241A (zh) 2004-06-02
CN1249579C true CN1249579C (zh) 2006-04-05

Family

ID=34233443

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 02149009 Expired - Fee Related CN1249579C (zh) 2002-11-18 2002-11-18 计算机开机预设值的加载方法

Country Status (1)

Country Link
CN (1) CN1249579C (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102737724B (zh) * 2011-04-07 2016-04-06 北京大家玩科技有限公司 非易失性随机访问存储器测试方法
CN102521195B (zh) * 2011-11-18 2015-04-29 华为技术有限公司 一种地址资源分配方法及存储器
TWI533122B (zh) * 2012-01-05 2016-05-11 緯創資通股份有限公司 開機檢測電路、電腦系統以及其開機檢測方法

Also Published As

Publication number Publication date
CN1501241A (zh) 2004-06-02

Similar Documents

Publication Publication Date Title
CN1261868C (zh) 计算机快速启动方法
US20230236654A1 (en) System on chip for reducing wake-up time, method of operating same, and computer system including same
US20070198787A1 (en) Patching ROM code
US7512777B2 (en) Method and system for maintaining system management BIOS
US20080183968A1 (en) Computer system having cache system directly connected to nonvolatile storage device and method thereof
CN101051271A (zh) 智能型cpu超頻方法
CN1959638A (zh) 计算机系统中存储器初始化的方法和设备
US20080072029A1 (en) Method for executing power on self test on a computer system and updating SMBIOS information partially
US20110283098A1 (en) Electronic device with overlapped boot task fetches and boot task execution
US9348603B2 (en) Electronic apparatus and booting method
US20040225874A1 (en) Method for reduced BIOS boot time
CN1249579C (zh) 计算机开机预设值的加载方法
CN101957762A (zh) 加速启动装置、具有该装置的计算机系统及其启动方法
CN102455919A (zh) 基本输入输出系统自动最佳化设定方法
US20120179926A1 (en) Memory control circuit and integrated circuit including branch instruction and detection and operation mode control of a memory
CN111198719A (zh) Arm平台实现acpi的方法、装置、设备及存储介质
US7398384B2 (en) Methods and apparatus for acquiring expansion read only memory size information prior to operating system execution
KR101118111B1 (ko) 이동통신단말기 및 그 부팅방법
KR101342074B1 (ko) 컴퓨터시스템 및 그 제어방법
CN1455343A (zh) 防止覆写dmi数据中外围端子的mac地址的方法
CN1564130A (zh) 一种判别嵌入式系统内存大小的方法
CN1277212C (zh) 动态随机存取存储器初始化设定系统及方法
KR100970933B1 (ko) 오퍼레이팅 시스템의 고속 부팅장치 및 방법
CN1710541A (zh) 启动计算机系统的方法
CN114217750B (zh) Ssd低功耗优化方法、装置、计算机设备及存储介质

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20060405

Termination date: 20101118