CN1610894A - 用于修改版本标识寄存器的内容的方法和装置 - Google Patents

用于修改版本标识寄存器的内容的方法和装置 Download PDF

Info

Publication number
CN1610894A
CN1610894A CNA028264665A CN02826466A CN1610894A CN 1610894 A CN1610894 A CN 1610894A CN A028264665 A CNA028264665 A CN A028264665A CN 02826466 A CN02826466 A CN 02826466A CN 1610894 A CN1610894 A CN 1610894A
Authority
CN
China
Prior art keywords
revision identification
register
value
identification register
revision
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
CNA028264665A
Other languages
English (en)
Other versions
CN100533418C (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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of CN1610894A publication Critical patent/CN1610894A/zh
Application granted granted Critical
Publication of CN100533418C publication Critical patent/CN100533418C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Communication Control (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Plural Heterocyclic Compounds (AREA)
  • Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

修改版本标识寄存器的内容的实施例包括既可读又可写的版本标识寄存器(该版本标识寄存器的内容是可修改的)。还包括版本标识修改位。只有当版本标识修改位被设置成表示将可接受对版本标识寄存器的写时,才可修改版本标识寄存器的内容。

Description

用于修改版本标识寄存器的内容的方法和装置
技术领域
本发明涉及计算机系统领域。更具体地说,本发明涉及版本(revision)标识寄存器领域。
背景技术
在一般的计算机系统中,许多计算机系统设备包括版本标识寄存器,其包含用于表示相关联的硬件的当前版本的值。一般地,每次对设备进行版本改动(经常称之为“版本步进”(stepping))时,都会改变存储在版本标识寄存器中的值以反映新的版本步进。现有技术的计算机系统设备将版本标识寄存器实现为只读寄存器。也就是说,版本标识寄存器的内容不可修改。
当在计算机系统引导过程中加载操作系统时,操作系统一般会检查各个版本标识寄存器,以确定各设备的当前的步进版本。操作系统使用版本标识信息来决定加载哪些设备驱动程序。当操作系统识别到新的设备步进版本时,操作系统为该设备加载更新的设备驱动程序。
计算机系统一般包括常称之为“芯片组”的高度集成的系统逻辑设备。这些系统逻辑设备可包括各种功能单元,许多这些功能单元可包括版本标识寄存器。一般地,当高度集成的系统逻辑设备进行新的版本步进时,多数功能单元在功能上不会有改变来产生改变设备驱动程序的需求。然而,对于每个新的步进版本,与该集成式功能单元相关联的每个版本标识寄存器都包含反映该新的步进版本的值。在引导过程中,如果操作系统检测到新的设备步进版本,那么,即使从以前的步进版本到当前的步进版本没有功能上的变化,操作系统也会为各个功能单元加载更新的设备驱动程序。
当检测到新的步进版本时无论是否必要都加载更新的驱动程序,这给计算机系统制造商制造了难题。计算机系统制造商经常在一个系统上构建操作系统的预加载(pre-load),然后将其转移到下述相同的系统,所述相同的系统可能具有带有不同的硅步进版本的系统逻辑设备。打开电源时,即使没有必要,操作系统也会加载新的设备驱动程序,因而增加了制造时间。
上述版本标识寄存器经常是根据外围组件互连(PCI)总线标准(1998年12月18日发布的外围组件互连局部总线规范2.2版)来实现的。
附图说明
从下面给出的对本发明的详细描述以及本发明的实施例的附图可更完整地理解本发明,然而所述描述及附图不应被理解为将本发明限制为所描述的具体实施例,而只是用于说明和理解。
图1是包含可修改的版本标识寄存器的计算机系统的一个实施例的框图。
图2是用于修改存储在版本标识寄存器中的值的方法的一个实施例的流程图。
图3是用于修改存储在版本标识寄存器中的值的方法的另一实施例的流程图。
具体实施方式
用于修改版本标识寄存器的内容的方法的实施例包括既可读又可写的版本标识寄存器(该版本标识寄存器的内容是可修改的)。还包括版本标识修改位。只有当版本标识修改位被设置成表示可接受对版本标识寄存器的写时,才可修改版本标识寄存器的内容。这一实施例在下述场合下是有用的:更新了硬件,但不需要为高度集成的系统逻辑设备中的一个或多个特定功能单元更新操作系统设备驱动程序。在这种情形下,前操作系统引导软件(例如在加载操作系统之前执行的基本输入/输出系统(BIOS))可以在操作系统加载之前决定将较老的版本标识值置入版本标识寄存器中,其中所述前操作系统引导软件是为特定的计算机系统配置而开发的。操作系统认为硬件没有改变。这防止了对设备驱动程序不必要的枚举、搜索和重加载,因而节省了制造时间。
图1是包括可修改的版本标识寄存器的计算机系统的一个实施例的框图。图1的计算机系统包括处理器110。处理器110耦合到系统逻辑设备120。系统逻辑设备120可包含用于和系统存储器130通信的存储器控制器。系统逻辑设备120还可包含其他功能单元,所述功能单元包括图形控制器。
系统逻辑设备120还耦合到输入/输出中心(hub)140。输入/输出中心140可包含多个功能单元,包括但不局限于提供与通用串行总线(USB)165、PCI总线155以及磁盘驱动器接口175之间的通信的功能单元。磁盘驱动器接口175可与其上存储有操作系统的存储设备(未示出)通信。操作系统的全部或一部分可在计算机系统引导过程期间加载到系统存储器130中。
输入/输出中心140还耦合到非易失性存储器180。非易失性存储器180可存储器基本输入/输出系统(BIOS)或其他前操作系统软件。如在此所使用的,术语“前操作系统软件”意在包括系统引导过程期间在操作系统加载之前执行的任何软件代理。
图1的计算机系统包括多个版本标识寄存器。系统逻辑设备120包括版本标识寄存器122和版本标识修改位124。当版本标识修改位124被设置成值“1”时,版本标识寄存器122将接受写。当版本标识修改位124反映值“0”时,版本标识寄存器122是只读的(将不会接受写)。
输入/输出中心140包括版本标识寄存器141、143和145。输入/输出中心140还包括版本标识修改位142、144和146。版本标识寄存器141和版本标识修改位142与提供和USB 165之间的通信的功能单元相关联。版本标识寄存器143和版本标识修改位144与提供和PCI总线155之间的通信的功能单元相关联。版本标识寄存器145和版本标识修改位146与提供和磁盘驱动器接口175之间的通信的功能单元相关联。存在许多其他可能的实施例,其中版本标识寄存器和版本标识修改位与大量功能单元或设备中的任意之一相关联。
与版本标识寄存器122和版本标识修改位124相似,当相关联的版本标识修改位142、144和146包含值“0”时,版本标识寄存器141、143和145不可修改。当版本标识修改位142、144和146被设置为值“1”时,相关联的版本标识寄存器141、143和145可修改。即,版本标识寄存器141、143和145将接受写。
存储在非易失性存储器180中的前操作系统软件可包括对存储在各版本标识寄存器中的当前值进行检查的代码。这一代码可确定是否用反映以前的设备版本步进的值来替换当前的版本标识寄存器值。
对于这一示例性实施例,版本标识寄存器122、141、143和145以及版本标识修改位124、142、144和146可被包含为与各个关联设备或功能单元相关联的PCI配置空间的一部分。
尽管在此描述的示例性实施例讨论了用于确定是否可修改相关联的版本标识寄存器的一个版本标识修改位,但是其他实施例可以使用多于一个的位。
而且,尽管在此描述的示例性实施例包含这样的版本标识修改位,其中的值“1”表示关联版本标识寄存器可修改,而值“0”表示版本标识寄存器的只读状态,但是也可以有其他实施例,其中的值“0”表示关联版本标识寄存器可修改,而值“1”表示版本标识寄存器的只读状态。
图2是用于修改存储在版本标识寄存器中的值的方法的一个实施例的流程图。在方框210,从版本标识寄存器中读取当前的版本标识寄存器值。在方框220,进行检查以确定当前的版本标识值是否表示了第一设备版本步进。所述第一设备版本步进可能是最近一次作出了重大功能改变的版本步进。术语“第一设备版本步进”并非一定意味着设备或功能单元的初始版本。
如果当前的版本标识值表示了第一设备版本步进,则不采取任何进一步的动作。然而,如果当前的版本标识值不表示第一设备版本步进,则在方框230,用表示第一设备版本步进的值替换当前的版本标识值。
图3是用于修改存储在版本标识寄存器中的值的方法的另一个实施例的流程图。在方框310,执行前操作系统软件代理。在方框320,读取存储在版本标识寄存器中的值。在方框330,确定是否要修改存储在版本标识寄存器中的值。如果确定不修改存储在版本标识寄存器中的值,则在350加载操作系统。如果确定修改存储在版本标识寄存器中的值,则在340修改该值,然后在方框350加载操作系统。方框320、330和340处表示的操作是在前操作系统软件代理的控制下执行的。
在前面的说明书中已参考其具体的示例性实施例来描述了本发明。然而,很明显可以对其作出各种修改和改变,而不会偏离本发明如在所附的权利要求中阐述的更宽的精神和范围。因此,说明书和附图应被看作为说明性的而非限制性的。
说明书中对“实施例”“一个实施例”“一些实施例”或“其他实施例”的引用意味着结合所述实施例而描述的具体特征、结构或特性至少包含在本发明的一些实施例中,而不一定包含在所有的实施例中。“实施例”“一个实施例”或“一些实施例”在不同地方的出现不一定都指的是相同的实施例。

Claims (22)

1.一种装置,包括:
使得可修改版本标识寄存器内容的版本标识寄存器。
2.如权利要求1所述的装置,还包括:
版本标识修改寄存器,其中,当所述版本标识修改寄存器的内容指示允许修改所述版本标识寄存器内容时,所述版本标识寄存器使得可修改所述版本标识寄存器内容。
3.如权利要求2所述的装置,其中所述版本标识修改寄存器包括单个的位,所述位的状态表示当前是否可修改所述版本标识寄存器的内容。
4.如权利要求3所述的装置,其中所述版本标识修改寄存器的值“1”表示所述版本标识寄存器将接受写到所述版本标识寄存器的任意值。
5.如权利要求4所述的装置,其中所述版本标识修改寄存器的值“0”表示所述版本标识寄存器将忽略对所述版本标识寄存器的任何写。
6.一种方法,包括:
确定存储在版本标识寄存器中的当前版本标识值是否表示第一设备版本步进;以及
如果所述当前版本标识值不表示所述第一设备版本步进,则用表示所述第一设备版本步进的版本标识值来替换所述当前版本标识值。
7.如权利要求6所述的方法,还包括:
确保版本标识修改寄存器包含表示所述版本标识寄存器将接受写的值。
8.如权利要求7所述的方法,还包括:
在所述版本标识修改寄存器中置入表示所述版本标识寄存器将不接受写的值,其中,所述在所述版本标识修改寄存器中置入值发生在用表示所述第一设备版本步进的版本标识值替换所述当前版本标识值之后。
9.一种方法,包括:
执行前操作系统软件代理,所述前操作系统软件代理用于确定是否要修改存储在版本标识寄存器中的值;
修改存储在所述版本标识寄存器中的值;以及
加载操作系统。
10.如权利要求9所述的方法,其中,确定是否要修改存储在所述版本标识寄存器中的值包括确定存储在所述版本标识寄存器中的值是否表示第一设备版本步进。
11.如权利要求10所述的方法,其中修改存储在所述版本标识寄存器中的值包括:如果存储在所述版本标识寄存器中的值不表示所述第一设备版本步进,则用表示所述第一设备版本步进的值来替换存储在所述版本标识寄存器中的值。
12.一种其上存储有指令的机器可读介质,所述指令当被计算机系统执行时使得所述计算机系统执行包括下述步骤的方法:
确定存储在版本标识寄存器中的当前版本标识值是否表示第一设备版本步进;以及
如果所述当前版本标识值不表示所述第一设备版本步进,则用表示所述第一设备版本步进的版本标识值来替换所述当前版本标识值。
13.如权利要求12所述的机器可读介质,其上存储有被执行时执行下述步骤的附加指令:
确保版本标识修改寄存器包含表示所述版本标识寄存器将接受写的值。
14.如权利要求13所述的机器可读介质,其上存储有被执行时执行下述步骤的附加指令:
在所述版本标识修改寄存器中置入表示所述版本标识寄存器将不接受写的值,其中,所述在所述版本标识修改寄存器中置入值发生在用表示所述第一设备版本步进的版本标识值替换所述当前版本标识值之后。
15.一种其上存储有指令的机器可读介质,所述指令当被计算机系统执行时使得所述计算机系统执行包括下述步骤的方法:
执行前操作系统软件代理,所述前操作系统软件代理用于确定是否要修改存储在版本标识寄存器中的值;
修改存储在所述版本标识寄存器中的值;以及
加载操作系统。
16.如权利要求15所述的机器可读介质,其中,确定是否要修改存储在所述版本标识寄存器中的值包括确定存储在所述版本标识寄存器中的值是否表示第一设备版本步进。
17.如权利要求16所述的机器可读介质,其中修改存储在所述版本标识寄存器中的值包括:如果存储在所述版本标识寄存器中的值不表示所述第一设备版本步进,则用表示所述第一设备版本步进的值来替换存储在所述版本标识寄存器中的值。
18.一种系统,包括:
处理器;以及
耦合到所述处理器的系统逻辑设备,所述系统逻辑设备包括
使得可修改版本标识寄存器内容的版本标识寄存器。
19.如权利要求18所述的系统,其中所述系统逻辑设备还包括版本标识修改寄存器,其中,当所述版本标识修改寄存器的内容指示允许修改所述版本标识寄存器内容时,所述版本标识寄存器使得可修改所述版本标识寄存器内容。
20.如权利要求19所述的系统,其中所述版本标识修改寄存器包括单个的位,所述位的状态表示当前是否可修改所述版本标识寄存器的内容。
21.如权利要求20所述的系统,其中所述版本标识修改寄存器的值“1”表示所述版本标识寄存器将接受写到所述版本标识寄存器的任意值。
22.如权利要求21所述的系统,其中所述版本标识修改寄存器的值“0”表示所述版本标识寄存器将忽略对所述版本标识寄存器的任何写。
CNB028264665A 2001-12-31 2002-12-06 用于修改版本标识寄存器的内容的方法和装置 Expired - Fee Related CN100533418C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/039,652 2001-12-31
US10/039,652 US7036005B2 (en) 2001-12-31 2001-12-31 Method and apparatus for modifying the contents of revision identification register

Publications (2)

Publication Number Publication Date
CN1610894A true CN1610894A (zh) 2005-04-27
CN100533418C CN100533418C (zh) 2009-08-26

Family

ID=21906619

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028264665A Expired - Fee Related CN100533418C (zh) 2001-12-31 2002-12-06 用于修改版本标识寄存器的内容的方法和装置

Country Status (10)

Country Link
US (1) US7036005B2 (zh)
EP (1) EP1461711B1 (zh)
JP (1) JP4199121B2 (zh)
KR (1) KR100692349B1 (zh)
CN (1) CN100533418C (zh)
AT (1) ATE393432T1 (zh)
AU (1) AU2002351295A1 (zh)
DE (1) DE60226276T2 (zh)
TW (1) TWI262440B (zh)
WO (1) WO2003058439A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110826112A (zh) * 2019-11-04 2020-02-21 北京配天技术有限公司 硬件版本号的识别方法及系统

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2835947A1 (fr) * 2002-02-11 2003-08-15 St Microelectronics Sa Extraction d'un code binaire a partir de parametres physiques d'un circuit integre
US20040078497A1 (en) * 2002-10-17 2004-04-22 Nalawadi Rajeev K. Method and apparatus for detecting configuration change
US7237102B2 (en) * 2002-10-30 2007-06-26 Intel Corporation Methods and apparatus for configuring hardware resources in a pre-boot environment without requiring a system reset
US7076643B2 (en) * 2003-01-28 2006-07-11 Hewlett-Packard Development Company, L.P. Method and apparatus for providing revision identification numbers
TW586075B (en) * 2003-01-30 2004-05-01 Integrated Circuit Solution In Method of making any card capable of booting from a multi-card reader/writer
US8463951B1 (en) * 2003-03-27 2013-06-11 Nvidia Corporation Unified driver architecture device identifier strategy
US7219167B2 (en) 2003-09-25 2007-05-15 Intel Corporation Accessing configuration registers by automatically changing an index

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4590552A (en) * 1982-06-30 1986-05-20 Texas Instruments Incorporated Security bit for designating the security status of information stored in a nonvolatile memory
US5327564A (en) * 1988-03-04 1994-07-05 Dallas Semiconductor Corporation Timed access system for protecting data in a central processing unit
DE69129480T2 (de) 1990-08-23 1998-10-01 Fujitsu Ltd Anordnung zur Modifikation der Firmware, wobei ältere Versionen erneut geladen werden können.
JP3227542B2 (ja) * 1991-06-17 2001-11-12 サン・マイクロシステムズ・インコーポレーテッド 特定のコンピュータ・ハードウェア・アーキテクチャのために作成されたソフトウェアのバージョンの互換性を確保する装置および方法
US5826075A (en) * 1991-10-16 1998-10-20 International Business Machines Corporation Automated programmable fireware store for a personal computer system
US5596738A (en) * 1992-01-31 1997-01-21 Teac Corporation Peripheral device control system using changeable firmware in a single flash memory
US5790834A (en) * 1992-08-31 1998-08-04 Intel Corporation Apparatus and method using an ID instruction to identify a computer microprocessor
US5592641A (en) * 1993-06-30 1997-01-07 Intel Corporation Method and device for selectively locking write access to blocks in a memory array using write protect inputs and block enabled status
GB9323453D0 (en) * 1993-11-13 1994-01-05 Calluna Tech Ltd Security system for portable hard disk drive
JPH07210395A (ja) * 1994-01-10 1995-08-11 Fujitsu Ltd ファームウェアメンテナンス方式
US5764995A (en) * 1994-03-25 1998-06-09 Packard Bell Nec Write once read only registers
US5815731A (en) * 1996-10-31 1998-09-29 International Business Machines Corporation Method and system for providing device driver configurations on demand
US20010011318A1 (en) * 1997-02-27 2001-08-02 Vishram P. Dalvi Status indicators for flash memory
JP3884839B2 (ja) * 1997-10-17 2007-02-21 株式会社ルネサステクノロジ 半導体記憶装置
US6148384A (en) * 1998-06-02 2000-11-14 Adaptec, Inc. Decoupled serial memory access with passkey protected memory areas
US6405311B1 (en) * 1998-07-28 2002-06-11 Compaq Computer Corporation Method for storing board revision
KR100504111B1 (ko) * 1998-09-28 2005-09-26 삼성전자주식회사 자체 인식 정보를 구비하는 프로세서 모듈 및 그인식 방법
US6728864B2 (en) * 2001-01-31 2004-04-27 International Business Machines Corporation Identifying architecture and bit specification of processor implementation using bits in identification register

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110826112A (zh) * 2019-11-04 2020-02-21 北京配天技术有限公司 硬件版本号的识别方法及系统

Also Published As

Publication number Publication date
EP1461711A2 (en) 2004-09-29
US20030126421A1 (en) 2003-07-03
KR20040075047A (ko) 2004-08-26
JP4199121B2 (ja) 2008-12-17
CN100533418C (zh) 2009-08-26
WO2003058439A2 (en) 2003-07-17
ATE393432T1 (de) 2008-05-15
DE60226276D1 (de) 2008-06-05
TWI262440B (en) 2006-09-21
DE60226276T2 (de) 2009-07-16
TW200304092A (en) 2003-09-16
WO2003058439A3 (en) 2003-11-06
EP1461711B1 (en) 2008-04-23
AU2002351295A8 (en) 2003-07-24
KR100692349B1 (ko) 2007-03-09
JP2006504153A (ja) 2006-02-02
US7036005B2 (en) 2006-04-25
AU2002351295A1 (en) 2003-07-24

Similar Documents

Publication Publication Date Title
CN1174307C (zh) 用于自动设备驱动程序配置的方法和系统
CN1208718C (zh) 包含存储器存取控制器的计算机系统
US6944867B2 (en) Method for providing a single preloaded software image with an ability to support multiple hardware configurations and multiple types of computer systems
CN1947099B (zh) 数据处理装置与计算机进行数据交换的方法
CN1151414C (zh) 计算机存储装置的可修改分区引导记录
CN1464386A (zh) 嵌入式系统中固件程序在线升级的实现方法
CN1193775A (zh) 软只读存储器
CN1610894A (zh) 用于修改版本标识寄存器的内容的方法和装置
CN1202477C (zh) 通用驱动器服务器
US7127675B1 (en) Method and system for automatically revising software help documentation
US6671744B1 (en) Access control method for drive units, and a drive unit using the method
US6971003B1 (en) Method and apparatus for minimizing option ROM BIOS code
CN1245682C (zh) 一种计算机芯片资料写入装置及方法
CN1122215C (zh) 驱动程序的安装方法
CN1280721C (zh) 一种判别嵌入式系统内存大小的方法
US20070208929A1 (en) Device information managements systems and methods
US20040019896A1 (en) Method of automatic program installation for computer device
US20040210716A1 (en) Apparatus and method for simulating virtual floppy disk and virtual hard disk
CN112395017A (zh) Uefi的启动方法、uefi和计算机
CN1145102C (zh) 硬盘主动分区的切换方法
CN1719412A (zh) 更新部分基本输入输出系统的方法
CN100347670C (zh) 自动判断计算机平台类型的程序码写入方法及系统
CN100403262C (zh) 计算机装置开机方法及使用该方法的计算机装置
CN115794135A (zh) 一种基于光盘介质的多系统安装方法、装置及计算设备
CN1260660C (zh) 外接装置传输介面控制方法及相关装置

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

Granted publication date: 20090826

Termination date: 20181206

CF01 Termination of patent right due to non-payment of annual fee