CN100527083C - 一种存储器管理方法 - Google Patents
一种存储器管理方法 Download PDFInfo
- Publication number
- CN100527083C CN100527083C CNB2007100918348A CN200710091834A CN100527083C CN 100527083 C CN100527083 C CN 100527083C CN B2007100918348 A CNB2007100918348 A CN B2007100918348A CN 200710091834 A CN200710091834 A CN 200710091834A CN 100527083 C CN100527083 C CN 100527083C
- Authority
- CN
- China
- Prior art keywords
- block
- data
- expands
- management method
- storage management
- 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.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
一种存储器管理方法,包含下列步骤:自基本输入输出系统加载存储器配置初始码于系统存储器中,其中加载步骤是储存存储器配置初始码于系统存储器的延伸基本输入输出数据区域;执行存储器配置初始码以从系统存储器的物理最高地址配置第一扩充区块,以储存第一外围固件的第一数据或基本输入输出系统的数据,其中第一扩充区块包含第一标头区块及第一数据区块。另外,本发明亦揭露一种计算器装置。
Description
技术领域
本发明是关于一种存储器管理方法,特别是关于一种配置保留区域的存储器管理方法。
背景技术
不论是早期的MS-DOS操作系统,还是近年由微软所开发的Windows操作系统,在进入操作系统前,所有计算机皆需要执行开机程序。
简单来说,在加载操作系统前,计算机的中央处理器(CPU)是从基本输入输出系统(BIOS)加载开机程序来执行,并且将基本输入输出系统中指令的数据结构或是其它数据存入延伸基本输入输出数据区域(Extend Bios DataArea)中。接着,外围装置比如说,显示卡、网络卡、或声卡等被启动与检测。在这些外围装置的固件中,指令的数据结构或是其它数据亦可存入延伸基本输入输出数据区域中。
一般而言,延伸基本输入输出数据区域的范围是位于系统存储器的地址A000:0至地址9000:0,其大小为64kb,操作系统并不会对这个保留区域进行存储器配置。
当这些外围装置检测完毕之后,中央处理器执行操作系统的程序代码并加载操作系统的数据于系统存储器中。在操作系统下,当需存取一个外围装置时,中央处理器根据储存于延伸基本输入输出数据区域内此外围装置的指令数据结构来建立操作指令以对此外围装置进行存取操作。
然而,若外围装置越来越多,则延伸基本输入输出数据区域恐将不足以储存数据。若依照前述的配置方法,则部分装置的数据会被存入至系统存储器中延伸基本输入输出数据区域以外的位置,导致这些数据可能被操作系统下其它的程序所覆写而流失,造成这些对应的外围装置将无法存取,严重时,更会使整个计算机无法正确地运作。
承上所述,如何保留足够的存储器空间以储存外围固件的数据,藉以改善已知延伸基本输入输出数据区域的空间不足的缺点,为计算机产业的一大课题。
发明内容
有鉴于上述课题,本发明的目的为提供一种存储器管理方法与计算器装置以保留足够的存储器空间以储存外围固件的数据。
本发明提供一种存储器管理方法,包含下列步骤:自基本输入输出系统加载存储器配置初始码于系统存储器中,其中加载步骤是储存存储器配置初始码于系统存储器的延伸基本输入输出数据区域;执行存储器配置初始码以从系统存储器的物理最高地址配置第一扩充区块,以储存第一外围固件的第一数据或基本输入输出系统的数据,其中第一扩充区块包含第一标头区块及第一数据区块。
另外,本发明亦提供一种计算器装置,包含至少一外围固件、基本输入输出系统、系统存储器、及中央处理单元。其中,基本输入输出系统储存存储器配置初始码;中央处理单元自基本输入输出系统加载存储器配置初始码于系统存储器中,并执行存储器配置初始码以从系统存储器的物理最高地址配置至少一扩充区块,且储存外围固件的数据或基本输入输出系统的数据于扩充区块。
承上所述,因依据本发明的存储器管理方法与计算器装置中,是自系统存储器的物理最高地址来配置扩充区块,以取代已知的延伸基本输入输出数据区域,且可根据外围固件的个数以配置相对应数目的扩充区块,各扩充区块足以容纳用来存取各外围固件所需的数据。如此一来,便可改善已知延伸基本输入输出数据区域存储器空间不足的问题。
附图说明
图1为依据本发明实施例的一种计算器装置的示意图;
图2为应用本发明实施例存储器管理方法的系统存储器配置图;
图3为依据本发明实施例存储器管理方法的流程图;以及
图4为应用本发明实施例存储器管理方法的系统存储器配置图。
元件标号说明:
1:计算器装置
11:外围装置
111:第一外围装置
112:第二外围装置
11(N+1):第N+1外围装置
12:基本输入输出系统
13:系统存储器
130:延伸基本输入输出数据区域
131:第一扩充区块
131a:第一标头区块
131b:第一数据区块
132:第二扩充区块
132a:第二标头区块
132b:第二数据区块
133:第三扩充区块
133a:第三标头区块
133b:第三数据区块
13N:第N扩充区块
13Na:第N标头区块
13Nb:第N数据区块
13(N+1):第N+1扩充区块
13(N+1)a:第N+1标头区块
13(N+1)b:第N+1数据区块
14:中央处理器
S01~S05:存储器管理方法步骤
Addr2:第二扩充区块的起始地址
Addr3:第三扩充区块的起始地址
Addr4:第四扩充区块的起始地址
AddrN+1:第N+1扩充区块的起始地址
具体实施方式
以下将参照相关图式,说明依据本发明较佳实施例的存储器管理方法与计算器装置。
请参考图1所示,计算器装置1包含外围装置11、基本输入输出系统12、系统存储器13、以及中央处理器14等元件,计算器装置1为个人计算机、服务器、准系统等等。
通常计算机1在加载操作系统前需执行开机程序以检测计算机1的外围装置11,之后方进入操作系统。基本输入输出系统12储存存储器配置初始码,在开机过程中,中央处理单元14执行存储器配置初始码以从系统存储器13的物理最高地址配置至少一扩充区块,并储存外围固件的数据于扩充区块,外围固件举例来说可以是外围装置11中固件。
请参考图2所示,图2为应用本发明较佳实施例存储器管理方法的系统存储器13配置图。
前述执行存储器配置初始码后配置的扩充区块系标记为131,扩充区块131可储存外围装置11固件中的数据,此数据是记录用来存取外围装置11的指令格式或数据结构。另外,扩充区块131包含有标头区块131a及数据区块131b。于本实例中,数据区块131b储存此外围装置11固件中的数据,其大小是根据外围装置11所需而定。标头区块131a记录整个扩充区块131的总长度。
当电子计算装置1已加载操作系统之后,便可运用扩充区块131所储存的数据来建立存取外围装置111的指令。
除此之外,扩充区块131亦可先用来储存BIOS的数据,之后可接在扩充区块131旁再配置另一个扩充区块来储存外围装置的固件数据。如何配置多个扩充区块将于以下实施例中说明。
上文针对电子计算装置1的其中一个外围装置来作说明,但是,通常电子计算装置1包含多个外围装置,比如说,显示卡、声卡、或网络卡,因此,以下将说明,当电子计算装置具有N+1个外围装置时存储器管理方法如何运作。
请同时参考图3及图4所示,图3为依据本发明较佳实施例管理方法的流程图。此存储器管理方法是用于N+1个外围装置的情况,其包含有下列步骤S01~S06,图1的中央处理器14可执行以下步骤以便在存储器中配置扩充区块:
S01:加载存储器配置初始码
S02:配置扩充区块
S03:储存外围固件的数据
S04:是否配置下一扩充区块,若步骤S04为是,则返回步骤S02以配置下一扩充区块。
S05:若步骤S04为否,则结束配置存储器。
存储器配置初始码被加载后是被中央处理器14执行,以便从系统存储器13的物理最高地址(Top_mem)开始配置足够数量的扩充区块来储存各外围装置固件的数据结构或指令格式。
然后,执行第一次的步骤S02~S04以便从系统存储器13的物理最高地址(Top_mem)配置第一扩充区块131(步骤S02),并储存第一个外围装置11固件中的数据。接着,执行完第二次的步骤S02~S04以便从系统存储器13的物理最高地址减去第一扩充区块131长度之处来配置第二扩充区块132,第二扩充区块132用以储存第二个外围装置112的固件的第二数据。若有N+1个外围装置,则前述步骤S02~S04将执行N+1次,并于第N+1次时来配置第N+1个扩充区块,第N+1个扩充区块13(N+1)用以储存第N+1个外围装置11的固件的数据,第N+1个扩充区块的起始地址可由式1所计算出,其中Addr1、AddrN以及AddrN+1分别为第1、第N以及第N+1个扩充区块的起始地址:
AddrN+1=Top_mem-∑i=0 N(Lenthi+1)(式1),其中Lenthi+1为第i+1个扩充区块长度;
也就是说,这些扩充区块是从物理最高地址依序往低地址相邻排列,各区块的开头是物理最高地址减去的前全部扩充区块的总长度。
举例来说,在本实施例中,各个扩充区块具有标头区块及数据区块。因此在步骤S02中,配置扩充区块之前,每一扩充区块的标头区块被读取以得知每一扩充区块的长度,且每一扩充区的长度被加总,再以物理最高地址减去所有扩充区块的总长度,并由此处的地址为起始再配置另一扩充区块。
例如要配置第N+1个扩充区块则须先将第1至第N个扩充区块的长度加总以得到总长度,再以物理最高地址减去第1至第N个扩充区块的总长度以得到第N+1个扩充区块的起始地址,并于此起始地址配置第N+1个扩充区块。
另外,在步骤S05之后系继续开机程序,计算器装置便可加载操作系统。当操作系统询问系统存储器的大小时,中央处理器执行BIOS的存储器大小程序来响应,该程序是将物理最高地址减去所有的扩充区块长度来作为响应,因此,操作系统看到的系统存储器大小将是排除扩充区块的区域,并不会对扩充区块的存储器部分进行配置。
再者,配置各扩充区域时,可一并将各扩充区域与各外围装置的对应表储存于原始的延伸基本输入输出数据区域130中,若操作系统或其它程序、软硬件装置等需欲存取外围装置时,操作系统收到中断指令之后便呼叫服务例程,此服务例程可依据该对应表至对应的扩充区块中读取外围装置的指令格式或数据结构,并响应此外围装置的数据至操作系统。操作系统根据外围装置的指令格式或数据结构建立存取外围装置的指令,以便存取此外围装置。
此外,在另一实施例中,于第一次执行步骤S02来配置扩充区块时仅需于在第一扩充区块的标头区块储存所有扩充区块长度,如此一来,其它扩充区块无需具有标头区块来储存每一扩充区块的长度。接着,在后续执行步骤S02时读取第一标头区块以得知所有扩充区块的总长度,因此便可在物理最高地址减去总长度之处来配置另一新增的扩充区块。配置完新增的扩充区块后,随即更新第一标头区块所储存的所有扩充区块的总长度。
当操作系统询问系统存储器的大小时,存储器大小程序是将物理最高地址减去第一标头区块所记录的长度来作为响应,因此,操作系统看到的系统存储器大小将是排除扩充区块的区域,并不会对扩充区块的存储器部分进行配置。
承上所述,因依据本发明的存储器管理方式,是自系统存储器的物理最高地址配置扩充区块,以取代已知的延伸基本输入输出数据区域,且可根据外围固件的个数以配置相对应数目的扩充区块,各扩充区块足以容纳用来存取各外围固件所需的数据。如此一来,可改善已知延伸基本输入输出数据区域存储器空间不足的问题。
以上所述仅为举例性,而非为限制性者。任何未脱离本发明的精神与范畴,而对其进行的等效修改或变更,均应包含于所附的权利要求范围中。
Claims (10)
1、一种存储器管理方法,包含:
自基本输入输出系统加载存储器配置初始码于系统存储器中,其中该加载步骤是储存该存储器配置初始码于该系统存储器的延伸基本输入输出数据区域;
执行该存储器配置初始码以从该系统存储器的物理最高地址配置第一扩充区块,以储存第一外围固件的第一数据或该基本输入输出系统的数据,其中该第一扩充区块包含第一标头区块及第一数据区块。
2、根据权利要求1所述的存储器管理方法,其中该第一标头区块记录该第一数据区块的长度,该第一数据区块记录该第一外围固件的该第一数据或该基本输入输出系统的数据。
3、根据权利要求1所述的存储器管理方法,还包括:
再次执行该存储器配置初始码,将该物理最高地址减去该第一扩充区块的长度来产生配置地址,并于该配置地址配置第二扩充区块,以储存第二外围固件的第二数据。
4、根据权利要求3所述的存储器管理方法,其中该第二扩充区块包含第二标头区块及第二数据区块,其中该第二标头区块记录该第二数据区块的长度,该第二数据区块记录该第二外围固件的该第二数据。
5、根据权利要求1所述的存储器管理方法,其中该第一扩充区块至第N扩充区块是已配置于该系统存储器中,该方法还包括:
再次执行该存储器配置初始码,将该物理最高地址减去该第一扩充区块至第N扩充区块的总长度来产生配置地址,并于该配置地址配置第N+1扩充区块,以储存第N+1外围固件的第N+1数据。
6、根据权利要求5所述的存储器管理方法,其中该第N+1扩充区块包含第N+1标头区块及第N+1数据区块,其中该第N+1标头区块记录该第N+1数据区块的长度,该第N+1数据区块记录该第N+1外围固件的该第N+1数据。
7、根据权利要求1所述的存储器管理方法,还包括:
再次执行该存储器配置初始码,将该物理最高地址减去该第一扩充区块的长度来产生配置地址,于该配置地址配置第二扩充区块,以储存第二外围固件的第二数据,并将该第一扩充区块与该第二扩充区块的总长度记录于该第一扩充区块的该第一标头区块。
8、根据权利要求1所述的存储器管理方法,还包括:
再次执行该存储器配置初始码,将该物理最高地址减去该第一扩充区块至第N扩充区块的总长度来产生配置地址,于该配置地址配置第N+1扩充区块,以储存第N+1外围固件的第N+1数据,并将该第一扩充区块至该第N+1扩充区块的总长度记录于该第一扩充区块的该第一标头区块。
9、根据权利要求1所述的存储器管理方法,当系统服务被呼叫之后,该方法还包括:
当第一扩充区块储存第一外围固件的第一数据时,读取该第一扩充区块内该第一外围固件的该第一数据;以及
根据该第一数据建立操作指令以对该第一外围固件执行该操作指令。
10、根据权利要求1所述的存储器管理方法,其中该第一扩充区块至第N扩充区块是已配置于该系统存储器中,当载入操作系统时,还包括:
将该物理最高地址减去该第一扩充区块至第N扩充区块中所有扩充区块的长度来作为对操作系统的响应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007100918348A CN100527083C (zh) | 2007-03-23 | 2007-03-23 | 一种存储器管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007100918348A CN100527083C (zh) | 2007-03-23 | 2007-03-23 | 一种存储器管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101021798A CN101021798A (zh) | 2007-08-22 |
CN100527083C true CN100527083C (zh) | 2009-08-12 |
Family
ID=38709572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007100918348A Active CN100527083C (zh) | 2007-03-23 | 2007-03-23 | 一种存储器管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100527083C (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8549209B2 (en) | 2008-11-04 | 2013-10-01 | Mosaid Technologies Incorporated | Bridging device having a configurable virtual page size |
CN102200916B (zh) * | 2010-03-26 | 2014-12-31 | 联想(北京)有限公司 | 电子设备、可配置的部件及该部件的配置信息存储方法 |
CN104679535B (zh) * | 2013-11-28 | 2018-03-30 | 英业达科技有限公司 | 伺服器以及识别码同步方法 |
US9703359B2 (en) * | 2014-12-14 | 2017-07-11 | Via Alliance Semiconductor Co., Ltd. | Power saving mechanism to reduce load replays in out-of-order processor |
US10108429B2 (en) * | 2014-12-14 | 2018-10-23 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude shared RAM-dependent load replays in an out-of-order processor |
WO2016097793A1 (en) * | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Mechanism to preclude load replays dependent on off-die control element access in out-of-order processor |
US10095514B2 (en) * | 2014-12-14 | 2018-10-09 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude I/O-dependent load replays in an out-of-order processor |
US9645827B2 (en) * | 2014-12-14 | 2017-05-09 | Via Alliance Semiconductor Co., Ltd. | Mechanism to preclude load replays dependent on page walks in an out-of-order processor |
EP3055768B1 (en) * | 2014-12-14 | 2018-10-31 | VIA Alliance Semiconductor Co., Ltd. | Mechanism to preclude uncacheable-dependent load replays in out-of-order processor |
-
2007
- 2007-03-23 CN CNB2007100918348A patent/CN100527083C/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN101021798A (zh) | 2007-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100527083C (zh) | 一种存储器管理方法 | |
US8001368B2 (en) | Hot-pluggable information processing device and setting method | |
CN101369247B (zh) | 创建存储器缺陷映射表并使用该映射表优化性能的方法 | |
US6785808B2 (en) | System and method for altering an operating system start-up sequence prior to operating system loading | |
CN102693188B (zh) | 用于在可控运行时环境中进行基于硬件的动态逸出检测的方法和装置 | |
CN101477471A (zh) | 一种嵌入式系统固件在线升级方法 | |
KR101555210B1 (ko) | 휴대용 단말기에서 내장 대용량 메모리를 이용한 컨텐츠 다운로드 방법 및 장치 | |
CN110515641A (zh) | 服务器固件的更新方法、装置及系统 | |
CN102063943A (zh) | Nand闪存参数自动检测系统 | |
CN111444030B (zh) | 数据储存装置及避免固件失效的方法 | |
CN103970557A (zh) | 存储设备启动系统的方法及存储设备 | |
CN104679540A (zh) | 计算机系统与计算机系统启动方法 | |
CN103324582A (zh) | 一种内存迁移方法、装置及设备 | |
CN104035757A (zh) | 基于MIPS处理器的u-boot移植的实现方法 | |
CN102067090A (zh) | 具有高速缓存电路的处理电路,检测高速缓存行中更新地址的游程 | |
CN102830988A (zh) | 固件更新的方法及其相关计算机系统 | |
US20090138633A1 (en) | Computer, external storage and method for processing data information in external storage | |
CN107423075A (zh) | 驱动的注册方法以及用户终端 | |
CN101751268A (zh) | 主板、储存装置及其控制器与开机方法 | |
US20070016761A1 (en) | Method, apparatus, and computer program product for implementing enhanced system behavior control | |
CN100511145C (zh) | 更新系统管理基本输入输出系统数据的方法 | |
CN101271430B (zh) | 一种对存储设备中的数据进行保护的方法和装置 | |
US7162568B2 (en) | Apparatus and method for flash ROM management | |
JP5001703B2 (ja) | システム設計検証装置 | |
US20100199284A1 (en) | Information processing apparatus, self-testing method, and storage medium |
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 |