(57)【要約】改訂識別レジスタの内容を変更する実施例は、読み出し可能かつ書き込み可能な改訂識別レジスタを有する（改訂識別レジスタの内容が変更可能である）。改訂識別変更ビットがまた含まれる。改訂識別レジスタの内容は、改訂識別変更ビットが改訂識別レジスタへの書き込みが許可されていることを示すよう設定されている場合にのみ変更可能である。
2006504153.tif 000002
【特許請求の範囲】
【請求項１】
内容の変更が可能な改訂識別レジスタを有することを特徴とする装置。
【請求項２】
請求項１記載の装置であって、さらに、
改訂識別変更レジスタを有し、
前記改訂識別レジスタは、前記改訂識別変更レジスタの内容により指示される場合、前記改訂識別レジスタの内容の変更が可能であることを特徴とする装置。
【請求項３】
請求項２記載の装置であって、前記改訂識別変更レジスタは１ビットを有し、該ビットの状態は前記改訂識別レジスタの内容が現在変更可能であるかを示すことを特徴とする装置。
【請求項４】
請求項３記載の装置であって、前記改訂識別変更レジスタの値が「１」であるということは、前記改訂識別レジスタが該改訂識別レジスタへの任意の値の書き込みを許可することを示すことを特徴とする装置。
【請求項５】
請求項４記載の装置であって、前記改訂識別変更レジスタの値が「０」であるということは、前記改訂識別レジスタが該改訂識別レジスタへの書き込みを無視することを示すことを特徴とする装置。
【請求項６】
改訂識別レジスタに格納されている現在改訂識別値が第１デバイスステッピングを示しているか決定するステップと、
前記現在改訂識別値が前記第１デバイスステッピングを示さない場合、前記現在改訂識別値を前記第１デバイスステッピングを示す改訂識別値と入れ替えるステップとを有することを特徴とする方法。
【請求項７】
請求項６記載の方法であって、さらに、
前記改訂識別レジスタが書き込みを許可することを示す値が改訂識別変更レジスタに含まれることを保証するステップを有することを特徴とする方法。
【請求項８】
請求項７記載の方法であって、さらに、
前記改訂識別レジスタが書き込みを許可しないことを示す値を前記改訂識別変更レジスタに配置するステップを有し、
該配置ステップは、前記現在改訂識別値を前記第１デバイスステッピングを示す改訂識別値と入れ替えるステップに続いて行われることを特徴とする方法。
【請求項９】
改訂識別レジスタに格納されている値を変更すべきか判断するプレオペレーティングシステムソフトウェアエージェントを実行するステップと、
前記改訂識別レジスタに格納されている値を変更するステップと、
オペレーティングシステムをロードするステップとを有することを特徴とする方法。
【請求項１０】
請求項９記載の方法であって、前記改訂識別レジスタに格納されている値を変更すべきかの判断は、前記改訂識別レジスタに格納されている値が第１デバイスステッピングを示すかどうか判断することからなることを特徴とする方法。
【請求項１１】
請求項１０記載の方法であって、前記変更するステップは、前記改訂識別レジスタに格納されている値が前記第１デバイスステッピングを示していない場合、該改訂識別レジスタに格納されている値を前記第１デバイスステッピングを示す値と入れ替えることからなることを特徴とする方法。
【請求項１２】
コンピュータシステムによる実行時、該コンピュータシステムに方法を実行させる命令を格納するマシーン読み出し可能な媒体であって、前記方法は、
改訂識別レジスタに格納されている現在改訂識別値が第１デバイスステッピングを示しているか判断するステップと、
前記現在改訂識別値が前記第１デバイスステッピングを示していない場合、前記現在改訂識別値を前記第１デバイスステッピングを示す改訂識別値と入れ替えるステップとを有することを特徴とするマシーン読み出し可能な媒体。
【請求項１３】
請求項１２記載のマシーン読み出し可能な媒体であって、実行時、前記改訂識別レジスタが書き込みを許可することを示す値が改訂識別変更レジスタに含まれることを保証するステップを実行する追加的な命令を格納するマシーン読み出し可能な媒体。
【請求項１４】
請求項１３記載のマシーン読み出し可能な媒体であって、実行時、前記改訂識別レジスタが書き込みを許可しないことを示す値を前記改訂識別変更レジスタに配置するステップを実行する追加的な命令を格納し、
該配置ステップは、前記現在改訂識別値を前記第１デバイスステッピングを示す改訂識別値と入れ替えるステップに続いて行われることを特徴とする方法。
【請求項１５】
コンピュータシステムによる実行時、該コンピュータシステムに方法を実行させる命令を格納するマシーン読み出し可能な媒体であって、前記方法は、
改訂識別レジスタに格納されている値を変更すべきか判断するプレオペレーティングシステムソフトウェアエージェントを実行するステップと、
前記改訂識別レジスタに格納されている値を変更するステップと、
オペレーティングシステムをロードするステップとを有することを特徴とするマシーン読み出し可能な媒体。
【請求項１６】
請求項１５記載のマシーン読み出し可能な媒体であって、前記改訂識別レジスタに格納されている値を変更すべきかの判断は、前記改訂識別レジスタに格納されている値が第１デバイスステッピングを示すかどうか判断することからなることを特徴とするマシーン読み出し可能な媒体。
【請求項１７】
請求項１６記載のマシーン読み出し可能な媒体であって、前記変更するステップは、前記改訂識別レジスタに格納されている値が前記第１デバイスステッピングを示していない場合、該改訂識別レジスタに格納されている値を前記第１デバイスステッピングを示す値と入れ替えることからなることを特徴とするマシーン読み出し可能な媒体。
【請求項１８】
プロセッサと、
該プロセッサに接続され、内容の変更が可能な改訂識別レジスタを有するシステム論理デバイスとを有することを特徴とするシステム。
【請求項１９】
請求項１８記載のシステムであって、前記システム論理デバイスはさらに改訂識別変更レジスタを有し、前記改訂識別レジスタは、前記改訂識別変更レジスタの内容により指示される場合、前記改訂識別レジスタの内容の変更が可能であることを特徴とするシステム。
【請求項２０】
請求項１９記載のシステムであって、前記改訂識別変更レジスタは１ビットを有し、該ビットの状態は前記改訂識別レジスタの内容が現在変更可能であるかを示すことを特徴とするシステム。
【請求項２１】
請求項２０記載のシステムであって、前記改訂識別変更レジスタの値が「１」であるということは、前記改訂識別レジスタが該改訂識別レジスタへの任意の値の書き込みを許可することを示すことを特徴とするシステム。
【請求項２２】
請求項２１記載のシステムであって、前記改訂識別変更レジスタの値が「０」であるということは、前記改訂識別レジスタが該改訂識別レジスタへの書き込みを無視することを示すことを特徴とするシステム。
【発明の詳細な説明】
【発明の詳細な説明】
【０００１】
［発明の技術分野］
本発明は、コンピュータシステム分野に関する。より詳細には、本発明は、改訂識別レジスタの分野に関する。
［発明の背景］
典型的なコンピュータシステムでは、コンピュータシステム装置の多くに関連するハードウェアの現在の改訂を示す値を有する改訂識別レジスタが含まれている。典型的には、装置が改訂（しばしば、「ステッピング（ｓｔｅｐｐｉｎｇ）」と呼ばれる）されるときはいつでも、改訂識別レジスタに格納されている値が新しいステッピングを反映するよう変更される。従来のコンピュータシステムは、改訂識別レジスタを読み出し専用レジスタとして実現していた。言い換えると、この改訂識別レジスタの内容は変更不可であった。
【０００２】
コンピュータシステムのブートプロセス中にオペレーティングシステムがロードされるとき、当該オペレーティングシステムは典型的には、様々なデバイスの現在のステッピングを決定するため様々な改訂識別レジスタをチェックする。オペレーティングシステムは、改訂識別情報を利用して、どのデバイスドライバをロードしたらよいか判断する。オペレーティングシステムが新しいデバイスのステッピングを認識すると、このデバイスの更新されたデバイスドライバをロードする。
【０００３】
コンピュータシステムは典型的に、しばしば「チップセット（ｃｈｉｐｓｅｔ）」と呼ばれる高度統合システム論理デバイスを含んでいる。これらシステム論理デバイスは多くの機能ユニットを含んでいてもよく、これら機能ユニットの多くは改訂識別レジスタを含んでいるかもしれない。典型的には、高度統合システム論理デバイスに新しいステッピングが行われると、大部分の機能ユニットはデバイスドライバの変更を保証する機能について変更されない。しかしながら、新しい各ステップに対して、統合された機能ユニットに関する各改訂識別レジスタは、この新しいステッピングを反映する値を含む。ブートプロセス中、オペレーティングシステムが新しいデバイスのステッピングを検出すると、オペレーティングシステムは以前のステッピングから現在のステッピングに機能に関する変更がなかったとしても、様々な機能ユニットの更新されたデバイスドライバをロードする。
【０００４】
新たなステッピングが検出されると、必要かどうかに関わらず、更新されたドライバのロード処理はコンピュータシステムメーカーにとって厄介である。コンピュータシステムメーカーはしばしば、オペレーティングシステムを１つのシステムの予めロードしていて、その後でそれを異なるシリコンステッピングのシステム論理デバイスを有する同一のシステムに移す。パワーアップすると、オペレーティングシステムは不要なときでさえ新しいデバイスドライバをロードすることになり、これにより製造時間が増大することになる。
【０００５】
上記改訂識別レジスタはしばしば、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バス規格（１９９８年１２月１８日にリリースされたＰＣＩローカルバス仕様、改訂２．２）に従って実現される。
【０００６】
本発明は、本発明の実施例の以下に与えられた詳細な説明と添付された図面からより十分な理解が得られるであろう。しかしながら、これは本発明を説明される特定の実施例に限定するものではなく、単なる説明及び理解のためのものである。
［詳細な説明］
改訂識別レジスタの内容を変更する一実施例は、読み出し可能かつ書き込み可能な改訂識別レジスタを含む（改訂識別レジスタの内容が変更可能である）。改訂識別変更ビットがまた含まれる。改訂識別レジスタへの書き込みが許可されていると示すように改訂識別変更ビットが設定されているときのみ、改訂識別レジスタの内容は変更可能である。本実施例は、ハードウェアが更新されるが、オペレーティングシステムデバイスドライバは高度統合システム論理デバイス内の１以上の機能ユニットに対して更新の必要がないようなシナリオにおいて有益である。そのような場合、特定のコンピュータシステムコンフィギュレーションに対して具体的に開発されたプレオペレーティングシステムブートソフトウェア（オペレーティングシステムのロード前に実行されるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍのような）が、オペレーティングシステムのロード前に古い改訂識別値を改訂識別レジスタに配置することを決定することができる。オペレーティングシステムは、ハードウェアが変更されていないと仮定している。これにより、デバイスドライバの不要なエニミュレーション（ｅｎｕｍｅｒａｔｉｏｎ）、サーチ及びリロードが回避され、製造時間の節約につながる。
【０００７】
図１は、変更可能な改訂識別レジスタを有するコンピュータシステムの一実施例のブロック図である。図１のコンピュータシステムはプロセッサ１１０を有する。プロセッサ１１０はシステム論理デバイス１２０に接続されている。システム論理デバイス１２０は、システムメモリ１３０と通信するためのメモリコントローラを含んでいてもよい。システム論理デバイス１２０はまた、グラフィックスコントローラを含む他の機能ユニットを有するかもしれない。
【０００８】
システム論理デバイス１２０はまた入出力ハブ１４０に接続されている。入出力ハブ１４０は、以下に限定するものではないが、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）１６５、ＰＣＩバス１５５及びディスクドライブインタフェース１７５との通信を提供する機能ユニットを含む様々な機能ユニットを含んでもよい。ディスクドライブインタフェース１７５は、オペレーティングシステムを格納した記憶装置（図示せず）と通信してもよい。オペレーティングシステムのすべてまたは一部が、コンピュータシステムブートプロセス中システムメモリ１３０にロードされてもよい。
【０００９】
入出力ハブ１４０はまた不揮発性メモリ１８０に接続される。不揮発性メモリ１８０はＢＩＯＳまたは他のプレオペレーティングシステムソフトウェアを格納してもよい。ここで使われる「プレオペレーティングシステムソフトウェア」という用語は、システムブートプロセス中オペレーティングシステムのロード前に実行される任意のソフトウェアエージェントを含むものとする。
【００１０】
図１のコンピュータシステムは多数の改訂識別レジスタを有する。システム論理デバイス１２０は、改訂識別レジスタ１２２と改訂識別変更ビット１２４を有する。改訂識別変更ビット１２４が「１」に設定されているとき、改訂識別レジスタ１２２は書き込みを許可する。改訂変更ビット１２４が「０」を反映しているとき、改訂識別レジスタ１２２は読み出し専用である（書き込みは許可されていない）。
【００１１】
入出力ハブ１４０は改訂識別レジスタ１４１、１４３及び１４５を有する。入出力ハブ１４０はまた改訂識別変更ビット１４２、１４４及び１４６を含んでいる。改訂識別レジスタ１４３と改訂識別変更ビット１４４は、ＰＣＩバス１５５との通信を提供する機能ユニットと関連付けされている。改訂識別レジスタ１４５と改訂識別変更ビット１４６は、ディスクドライブインタフェース１７５との通信を提供する機能ユニットと関連付けされている。改訂識別レジスタと改訂識別変更ビットが様々な機能ユニットまたはデバイスの何れかと関連付けされている他の多くの可能な実施例が存在する。
【００１２】
改訂識別レジスタ１２２と改訂識別変更ビット１２４と同様に、改訂識別変更ビット１４２、１４４及び１４６は、それらに関連付けされた改訂識別変更ビット１４２、１４４及び１４６が「０」を有するとき、変更不可である。改訂識別変更ビット１４２、１４４及び１４６は、それらに関連付けされた改訂識別変更ビット１４２、１４４及び１４６が「１」を有するとき、変更可能である。すなわち、改訂識別レジスタ１４１、１４３及び１４５は書き込みを許可する。
【００１３】
不揮発性メモリ１８０に格納されるプレオペレーティングシステムソフトウェアは、様々な改訂識別レジスタに格納されている現在値をチェックするコードを有するかもしれない。このコードにより、現在の改訂識別レジスタ値を以前のデバイスステッピングを反映する値に換えるべきか判断することができる。
【００１４】
本実施例では、改訂識別レジスタ１２２、１４１、１４３及び１４５と、改訂識別変更ビット１２４、１４２、１４４及び１４６は、様々な関連付けされたデバイスまたは機能ユニットに関連付けされたＰＣＩコンフィギュレーションスペースの一部として含まれてもよい。
【００１５】
ここで説明された実施例は関連付けされた改訂識別レジスタが変更可能であるか決定する改訂識別変更ビットを説明してきたが、他の実施例では１より大きなビットを利用することが可能である。
【００１６】
さらに、ここで説明された実施例は、関連する改訂識別レジスタが変更可能であるであることを示す「１」と、改訂識別レジスタが読み出し専用状態であることを示す「０」を有する改訂識別変更ビットを含むが、他の実施例では、「０」により関連する改訂識別レジスタが変更可能であるであることを示され、「１」により改訂識別レジスタが読み出し専用状態であることが示されるようにしてもよい。
【００１７】
図２は、改訂識別レジスタに格納される値を変更する方法の一実施例のフロー図である。ブロック２１０において、現在の改訂識別レジスタ値が改訂識別レジスタから読み出される。ブロック２２０において、現在改訂識別値が第１デバイスステッピングを示しているかチェックされる。この第１デバイスステッピングは重要な機能変更が行われた最後のステッピングであるかもしれない。「第１デバイスステッピング」という用語は、必ずしももともとのデバイスまたは機能ユニットを意味するものではない。
【００１８】
現在改訂識別値が第１デバイスステッピングを示す場合、さらなるアクションはなされない。しかしながら、現在改訂識別値が第１デバイスステッピングを示さない場合、ブロック２３０において、現在改訂識別値は第１デバイスステッピングを示す値と取り替えられる。
【００１９】
図３は、改訂識別レジスタに格納される値を変更する方法のさらなる実施例のフロー図である。ブロック３１０において、プレオペレーティングシステムソフトウェアエージェントが実行される。ブロック３２０において、改訂識別レジスタに格納されている値が読み出される。ブロック３３０において、改訂識別レジスタに格納されている値を変更すべきか判断される。改訂識別レジスタに格納されている値を変更すべきでないと判断されれば、ブロック３５０において、オペレーティングシステムがロードされる。改訂識別レジスタに格納されている値を変更すべきであると判断されれば、ブロック３５０におけるオペレーティングシステムのロード前に、ブロック３４０においてこの値が変更される。ブロック３２０、３３０及び３４０において示される処理はプレオペレーティングシステムソフトウェアエージェントの制御のもと実行される。
【００２０】
上記明細書において、特定の実施例を参照することにより本発明が説明された。しかしながら、添付されたクレームに与えられるような本発明のより広範な趣旨及び範囲から逸脱することなく様々な変更及び修正が可能であるということは明らかであろう。従って、明細書及び図面は限定的なものというよりも例示的なものとみなされるべきである。
【００２１】
明細書における「ある実施例」、「一実施例」、「いくつかの実施例」あるいは「他の実施例」という表現は、実施例に関して説明された特定の特徴、構成または特性が本発明の必ずしもすべての実施例でなく、少なくともいくつかの実施例に含まれるということを意味するものである。「ある実施例」、「一実施例」あるいは「いくつかの実施例」の様々な様相は、必ずしも同一の実施例を言及しているものではない。
【図面の簡単な説明】
【００２２】
【図１】図１は、変更可能な改訂識別レジスタを有するコンピュータシステムの一実施例のブロック図である。
【図２】図２は、改訂識別レジスタに格納されている値を変更する方法の一実施例のフロー図である。
【図３】図３は、改訂識別レジスタに格納されている値を変更する方法のさらなる実施例のフロー図である。
【図１】
2006504153.tif 000003
【図２】
2006504153.tif 000004
【図３】
2006504153.tif 000005
【国際調査報告】
2006504153.tif 000006
2006504153.tif 000007
2006504153.tif 000008