(57)【要約】【課題】  過度に費用をかけることなく、あるサーバマイクロプロセッサアーキテクチャから別のサーバマイクロプロセッサアーキテクチャに移行する方法を提供すること。【解決手段】  第１のマイクロプロセッサアーキテクチャがシステムに常駐する場合、本方法は第１のデータを提供することを含むことができ、第１のデータを提供することによって、第１のマイクロプロセッサアーキテクチャに関連するシステムの第１のアーキテクチャサポートをアクティブ化する。第２のマイクロプロセッサアーキテクチャがシステムに常駐する場合、本方法は第２のデータを提供することを含むことができ、第２のデータを提供することによって、第２のマイクロプロセッサアーキテクチャに関連するシステムの第２のアーキテクチャサポートをアクティブ化する。   【選択図】図３
2004206717.tif 000002
【特許請求の範囲】
【請求項１】
第１のマイクロプロセッサアーキテクチャまたは第２のマイクロプロセッサアーキテクチャが前記システムに常駐しているか否かを判定することと、
前記第１のマイクロプロセッサアーキテクチャが前記システムに常駐している場合、第１のデータを提供することによって前記第１のマイクロプロセッサアーキテクチャに関連する、前記システムの第１のアーキテクチャサポートをアクティブ化することと、
前記第２のマイクロプロセッサアーキテクチャが前記システムに常駐している場合、第２のデータを提供することによって前記第２のマイクロプロセッサアーキテクチャに関連する、前記システムの第２のアーキテクチャサポートをアクティブ化することを含む、システム内の異なるマイクロプロセッサアーキテクチャを自動検出する方法。
【請求項２】
前記第１のアーキテクチャサポートは前記第１のマイクロプロセッサアーキテクチャに対応する第１のファームウェアを含み、前記第２のアーキテクチャサポートは前記第２のマイクロプロセッサアーキテクチャに対応する第２のファームウェアを含む、請求項１記載の異なるマイクロプロセッサアーキテクチャを自動検出する方法。
【請求項３】
前記第１のアーキテクチャサポートは前記第１のマイクロプロセッサアーキテクチャに関連する第１の回路を含み、前記第２のアーキテクチャサポートは前記第２のマイクロプロセッサアーキテクチャに関連する第２の回路を含む、請求項１記載の異なるマイクロプロセッサアーキテクチャを自動検出する方法。
【請求項４】
前記第１のマイクロプロセッサアーキテクチャまたは前記第２のマイクロプロセッサアーキテクチャが前記システムに常駐しているか否かを判定することは、前記第１のマイクロプロセッサアーキテクチャと前記第２のマイクロプロセッサアーキテクチャとの違いを検出することを含む、請求項１記載の異なるマイクロプロセッサアーキテクチャを自動検出する方法。
【請求項５】
前記第１のマイクロプロセッサアーキテクチャまたは前記第２のマイクロプロセッサアーキテクチャが前記システムに常駐しているか否かを判定することは、前記第１のマイクロプロセッサアーキテクチャおよび前記第２のマイクロプロセッサアーキテクチャに共通するマイクロプロセッサピンにおける電圧センサを利用することを含む、請求項１記載の異なるマイクロプロセッサアーキテクチャを自動検出する方法。
【請求項６】
前記第１のマイクロプロセッサアーキテクチャまたは前記第２のマイクロプロセッサアーキテクチャが前記システムに常駐しているか否かを判定することは、前記第１のマイクロプロセッサアーキテクチャまたは前記第２のマイクロプロセッサアーキテクチャに常駐するメモリを読み出すことを含む、請求項１記載の異なるマイクロプロセッサアーキテクチャを自動検出する方法。
【請求項７】
前記第１のマイクロプロセッサアーキテクチャまたは前記第２のマイクロプロセッサアーキテクチャは、前記システムに同時に電気接続されない、請求項１記載の異なるマイクロプロセッサアーキテクチャを自動検出する方法。
【請求項８】
前記システムはコンピュータシステムを含む、請求項１記載の異なるマイクロプロセッサアーキテクチャを自動検出する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
コンピュータは、金融取引、商業取引、コンピュータ援用設計、コンピュータ援用生産、健康管理、電気通信、教育等などにおける幅広い種類の様々なアプリケーションに使用される統合ツールになった。ハードウェア技術の進歩およびソフトウェア技術の急速な発展により、コンピュータは新しい用途を見出し続けている。さらに、コンピュータシステムの機能は、こういったタイプのスタンドアロン装置をともに接続してネットワーキング環境を作り出すことによって劇的に向上する。
【背景技術】
【０００２】
ネットワーキング環境内では、ユーザはファイルの交換、共通のデータベースに格納されている情報の共有、資源のプール、および電子メール（ｅメール）およびビデオ電子会議を介しての通信を容易に行うことが可能である。さらに、インターネットのようなネットワーキング環境に接続されたコンピュータは、それぞれのユーザに世界中からのデータおよび情報へのアクセスを提供する。
【０００３】
ネットワーキング環境ならびにコンピュータシステム間のデータおよび情報の共有を可能にする多くのコンポーネントのうちの１つがサーバコンピュータであることが理解される。しかしながら、ハードウェア技術およびソフトウェア技術の留まることのない発展に伴い、往々にして、企業または会社等のサーバ所有者が、特定のマイクロプロセッサアーキテクチャを含む各自の現行サーバプラットフォームからマイクロプロセッサアーキテクチャの異なる別のサーバプラットフォームに移行することが望ましくなる。これを行うためには、サーバ所有者は各自の現行サーバプラットフォームを破棄し、新しくより望ましいサーバプラットフォームを購入することが一般的である。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、あるサーバマイクロプロセッサアーキテクチャから別のサーバマイクロプロセッサアーキテクチャに移行することに関連する欠点がある。たとえば、欠点の１つとして、サーバ所有者があるサーバマイクロプロセッサアーキテクチャから別のサーバマイクロプロセッサアーキテクチャに移行することは通常、費用がかかる。また、交換するサーバの台数が増えるにつれ、通常は全体の交換コストもますます費用がかかることが認められる。従って、過度に費用をかけることなく、あるサーバマイクロプロセッサアーキテクチャから別のサーバマイクロプロセッサアーキテクチャに移行する方法が必要である。
【課題を解決するための手段】
【０００５】
システム内の異なるマイクロプロセッサアーキテクチャの自動検出を提供する方法が提供される。本方法は、第１のマイクロプロセッサアーキテクチャまたは第２のマイクロプロセッサアーキテクチャがシステムに常駐するか否かを判定することを含む。第１のマイクロプロセッサアーキテクチャがシステムに常駐する場合、本方法は第１のデータを提供することを含むことができ、第１のデータを提供することによって、第１のマイクロプロセッサアーキテクチャに関連するシステムの第１のアーキテクチャサポートをアクティブ化する。第２のマイクロプロセッサアーキテクチャがシステムに常駐する場合、本方法は第２のデータを提供することを含むことができ、第２のデータを提供することによって、第２のマイクロプロセッサアーキテクチャに関連するシステムの第２のアーキテクチャサポートをアクティブ化する。
【発明を実施するための最良の形態】
【０００６】
これより、添付の図面に示される、例としての本発明の実施形態について詳細に言及する。本発明は実施形態と併せて説明されるが、本発明をこういった実施形態に限定する意図がないことが理解されよう。対照的に、本発明は、添付の特許請求の範囲に規定される本発明の精神および範囲内に含まれうる代替、変更、および同等物を網羅することを意図する。さらに、以下の本発明の詳細な説明では、本発明の完全な理解を提供するために多くの特定の詳細が記される。しかしながら、こういった特定の詳細なしで本発明を実施しうることが当業者には自明であろう。場合によっては、本発明の態様を不必要に曖昧にすることを回避するために、周知の方法、手順、コンポーネント、および回路については詳細に述べない。
【０００７】
表記および名称
以下の詳細な説明の部分によっては、手順、論理ブロック、処理、および演算システムまたはデジタルシステムメモリ内のデータビットに対する動作の他の象徴的な表現に関して提示されるものもある。こういった説明および表現は、データ処理分野における当業者がそれぞれの作業内容を他の当業者に最も効果的に伝えるために使用する手段である。手順、論理ブロック、プロセス等は、本明細書において、また一般に、所望の結果につながる自己矛盾のない一連のステップまたは命令と考えられる。ステップは物理的な数量の物理的な処理を含みうる。必ずしもそうとは限らないが通常、こういった物理的な処理は、演算システムまたは同様の電気演算装置での格納、転送、結合、比較、およびその他の処理が可能な電気信号または磁気信号の形をとる。便宜上の理由により、また一般的な用法に関連して、こういった信号は本発明に関連してビット、値、要素、シンボル、キャラクタ、用語、数等と呼ばれる。
【０００８】
しかしながら、こういった用語はすべて物理的な処理および数量を指すものと解釈するべきであり、単に便利な標識にすぎず、当分野において一般に用いられる用語を鑑みてさらに解釈するべきであることに留意すべきである。以下の説明から明らかなように、特に明記してあるものを除き、本発明の説明全体を通して「判定」、「処理」、「実行」、「決定」、「確認」、「送信」、「受信」、「検索」、「提供」、「提示」、「供給」、「アクティブ化」、「可能化」、「認識」、「生成」、「利用」、「実施」、「採用」、「格納」等の用語を利用する説明は、データの処理および変換を行う演算システムまたは同様の電子演算装置のアクションおよび処理を指すことが理解される。データは、演算システムのレジスタおよびメモリ内の物理的（電気的）数量として表され、同様に演算システムのメモリ、レジスタ、あるいは他のこのような情報記憶装置、伝送装置、または表示装置内の物理的数量として表される他のデータに変換される。
【０００９】
本発明による例示的な動作
図１は、コンピュータシステム内の異なるマイクロプロセッサアーキテクチャの自動検出を提供する本発明の一実施形態により実行されるステップのフローチャート１００である。フローチャート１００は、一実施形態では、コンピュータ可読かつコンピュータ実行可能な命令の制御下にあるプロセッサ（複数可）および電気コンポーネントによって実行される本発明のプロセスを含む。コンピュータ可読かつコンピュータ実行可能な命令は、たとえば、コンピュータ使用可能な揮発性メモリ、コンピュータ使用可能な不揮発性メモリ、および／またはコンピュータ使用可能な大量データ記憶装置等のデータ記憶機構に常駐することができる。しかしながら、コンピュータ可読かつコンピュータ実行可能な命令は、任意の種類のコンピュータ可読媒体に常駐しうる。特定のステップがフローチャート１００に開示されるが、かかるステップは例示的なものである。すなわち、本実施形態は、様々な他のステップまたは図１に列挙したステップを変形したものを実行するように適合される。本実施形態内で、フローチャート１００のステップはハードウェア、ソフトウェア、またはソフトウェアとハードウェアの任意の組み合わせで実行しうることを認められたい。
【００１０】
本実施形態は、コンピュータシステム内の異なるマイクロプロセッサアーキテクチャの自動検出を提供する方法を提供する。たとえば、所与のアーキテクチャのマイクロプロセッサがコンピュータシステム内にインストールされ、電力がそのシステムに提供されると、コンピュータシステム内にインストールされたマイクロプロセッサのアーキテクチャの種別（identity：アイデンティティ）が識別される。すなわち、インストールされたマイクロプロセッサのアーキテクチャに関連する識別子が、その種別を識別するために検出される。マイクロプロセッサが識別されると、識別されたマイクロプロセッサに対応するデータがコンピュータシステムに常駐するアーキテクチャサポートに提供される。このようにして、コンピュータシステムにインストールされた所与のアーキテクチャのマイクロプロセッサが自動的に検出され、機能的に収容される。よって、コンピュータシステムは、アーキテクチャの異なる様々なマイクロプロセッサを利用することが可能である。したがって、アーキテクチャの異なるマイクロプロセッサをコンピュータシステム内にインストールすることができる。このようにすると、まったく新しいコンピュータシステムを購入する必要がなく、その結果としてあるマイクロプロセッサアーキテクチャから別のマイクロプロセッサアーキテクチャに移行する費用が削減される。さらに、変更されたコンピュータシステムのユーザは、引き続き馴染みのあるソフトウェアアプリケーションを利用することが可能である。
【００１１】
図１のステップ１０２において、所与のアーキテクチャのマイクロプロセッサがコンピュータシステム内にインストールされる。コンピュータシステムとしてはサーバ、デスクトップコンピュータ、ラップトップコンピュータ、または携帯用演算装置を挙げることができるが、これらに限定されないことに留意する。さらに、一実施形態内において、マイクロプロセッサは、コンピュータシステム内にインストールされると、コンピュータシステムに電気的に接続される。たとえば、コンピュータシステムをマイクロプロセッサのピンに電気的に接続可能なソケットに、マイクロプロセッサをインストールすることができる。さらに、アーキテクチャの異なる複数のマイクロプロセッサは、共通のマイクロプロセッサソケットにインストール可能なように実装することができる。
【００１２】
ステップ１０４において、電力がコンピュータシステムに提供される。たとえば、コンピュータシステムの電源をスイッチオンして、コンピュータシステムをアクティブ化することができる。
【００１３】
ステップ１０６において、コンピュータシステムに常駐するマイクロプロセッサのアーキテクチャの種別が識別される。本実施形態によれば、マイクロプロセッサのアーキテクチャ識別子は多種多様なものでありうることに留意する。たとえば、マイクロプロセッサの識別子は、本実施形態により可読の、マイクロプロセッサに常駐するメモリ内に格納することができる。代替として、マイクロプロセッサの識別子は、特定の電圧レベルであっても、または電圧センサ等のセンサによって検出することができるマイクロプロセッサのピンの１つまたは複数における電気的な違いであってもよい。
【００１４】
図１のステップ１０８において、識別されたマイクロプロセッサのアーキテクチャに対応するデータが、コンピュータシステムの関連するアーキテクチャサポートに提供される。識別されたマイクロプロセッサのアーキテクチャサポートは、本実施形態による様々な方法で実施しうることが理解される。たとえば、アーキテクチャサポートとしては、識別されたマイクロプロセッサの動作をサポートするシステムレベルファームウェア、ハードウェア、および／またはソフトウェアであることができるが、これらに限定されない。このようにして、本実施形態は、マイクロプロセッサの識別されたアーキテクチャに適したアーキテクチャモードを自動的に提供することが可能である。提供されるデータとしては、コンピュータシステムの識別されたマイクロプロセッサに関連するアーキテクチャサポートに提示される電気信号、ビット、バイト（１つまたは複数）が挙げられるが、これらに限定されないことが認められる。ステップ１０８が完了すると、本実施形態はフローチャート１００を出る。
【００１５】
図２は、コンピュータシステム内の異なるマイクロプロセッサアーキテクチャを自動的に検出する本発明の一実施形態により実行されるステップのフローチャート２００である。フローチャート２００は、一実施形態では、コンピュータ可読かつコンピュータ実行可能な命令の制御下にあるプロセッサ（複数可）および電気コンポーネントによって実行される本発明のプロセスを含む。コンピュータ可読かつコンピュータ実行可能な命令は、たとえば、コンピュータ使用可能な揮発性メモリ、コンピュータ使用可能な不揮発性メモリ、および／またはコンピュータ使用可能な大量データ記憶装置等のデータ記憶機構に常駐することができる。しかしながら、コンピュータ可読かつコンピュータ実行可能な命令は任意の種類のコンピュータ可読媒体に常駐しうる。特定のステップがフローチャート２００に開示されるが、かかるステップは例示的なものである。すなわち、本実施形態は、様々な他のステップまたは図２に列挙したステップを変形したものを実行するように適合される。本実施形態内で、フローチャート２００のステップはハードウェア、ソフトウェア、またはソフトウェアとハードウェアの任意の組み合わせで実行しうることを認められたい。
【００１６】
本実施形態は、コンピュータシステム内の異なるマイクロプロセッサアーキテクチャを自動的に検出する方法を提供する。たとえば、コンピュータシステムに常駐するマイクロプロセッサのアーキテクチャの種別が識別される。すなわち、マイクロプロセッサに関連するアーキテクチャ識別子を、その種別を識別するために検出することができる。マイクロプロセッサのアーキテクチャが識別されると、データがコンピュータシステムに供給され、識別されたマイクロプロセッサに関連するアーキテクチャサポートがアクティブ化される。このようにして、コンピュータシステムに常駐するマイクロプロセッサのアーキテクチャが自動的に検出され、機能的に収容される。したがって、コンピュータシステムは異なるときにアーキテクチャの異なるプロセッサを利用することが可能である。
【００１７】
図２のステップ２０２において、コンピュータシステムに常駐する所与のアーキテクチャのマイクロプロセッサの種別が識別される。マイクロプロセッサが多種多様な様式でコンピュータシステムに常駐しうることが理解される。たとえば、マイクロプロセッサは、コンピュータシステム内にインストールされているときにそのコンピュータシステムに常駐しうる。代替として、マイクロプロセッサは、コンピュータシステムに電気的に接続されているときにコンピュータシステムに常駐しうる。たとえば、マイクロプロセッサは、マイクロプロセッサソケットを介してコンピュータシステムに電気的に接続することができる。しかしながら、本実施形態はかかる実施態様に厳密に限定されない。さらに、本実施形態のコンピュータシステムは種々の様式で実施することができることに留意する。たとえば、コンピュータシステムは、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、または携帯用演算装置を含みうるが、これらに限定されない。
【００１８】
マイクロプロセッサのアーキテクチャの種別はステップ２０２において本実施形態による幅広い方法で識別することができることに留意する。たとえば、マイクロプロセッサのアーキテクチャ種別は、マイクロプロセッサに常駐するメモリに格納されている予め定義された、または既知の識別子を読み取ることによって識別することができる。代替として、マイクロプロセッサのアーキテクチャ種別は、マイクロプロセッサの１つまたは複数のインタフェースピンにおける特定の電圧レベルまたは電気的な違いを検出することによって識別することができる。
【００１９】
図２のステップ２０４において、データがコンピュータシステムに提供（または供給）され、識別されたマイクロプロセッサアーキテクチャに関連するアーキテクチャサポートがアクティブ化される。このようにして、コンピュータシステムは、識別されたマイクロプロセッサアーキテクチャに適したアーキテクチャモードを自動的に提供することができる。識別されたマイクロプロセッサに関連するアーキテクチャサポートは本実施形態による種々の様式で実施しうることが認められる。
【００２０】
たとえば、アーキテクチャサポートは、識別されたマイクロプロセッサの動作をサポートするファームウェアを含みうる。さらに、アーキテクチャサポートは、識別されたマイクロプロセッサアーキテクチャの動作をサポートするハードウェアを含みうる。またさらに、アーキテクチャサポートは、識別されたマイクロプロセッサの動作をサポートするソフトウェアを含みうる。アーキテクチャサポートが本明細書に列挙される実施形態のいずれかを含みうることが理解される。しかし本実施形態のアーキテクチャサポートは、列挙される実施態様に限定されない。提供されるデータとしては、コンピュータシステムに関連する、識別されたマイクロプロセッサのアーキテクチャサポートに提示される信号、ビット、バイト（１つまたは複数）等が挙げられるが、これらに限定されないことが認められる。ステップ２０４が完了すると、本実施形態はフローチャート２００を出る。
【００２１】
本発明による例示的なハードウェア
図３は、本発明の一実施形態による、コンピュータシステム内の異なるマイクロプロセッサアーキテクチャを自動的に検出する際に利用することのできる例示的なハードウェアのブロック図である。マイクロプロセッサ設計に命令セットアーキテクチャ（ISA）を実装すると、通常、その特定のアーキテクチャに固有の機構セットがもたらされることが理解される。マイクロプロセッサ設計では、この一意性は通常、機能を実行し、かつ／またはアーキテクチャに固有のプロセッサ／システムインタフェースにおける電気的数量を有する信号の形で現れる。本実施形態は、違いが何であれこういった違いを利用し、これらを使用して情報をシステム３００の各部に提供することができる。こういった種類の違いをキーオフ（key off)することにより、使用されているマイクロプロセッサ（１つまたは複数）のアーキテクチャを判定する情報が検出システムに提供され、システムレベルハードウェア、ファームウェア、ソフトウェアがシステム３００を適切なアーキテクチャモードにするに適したアクションを行うことができる。したがって、本実施形態は、共通するハードウェアプラットフォーム上にある複数の命令セットアーキテクチャからのマイクロプロセッサをサポートする単一システムに役立つ。
【００２２】
マイクロプロセッサ３０２のアーキテクチャがマイクロプロセッサ３０４のアーキテクチャと異なることに留意する。したがって、所与のアーキテクチャのマイクロプロセッサ（たとえば、３０２または３０４）がコンピュータシステム３００のマイクロプロセッサソケット３０６内にインストールされ、電力がシステム３００に提供されると、プロセッサセレクタモジュール３０８がマイクロプロセッサ（たとえば、３０２）のアーキテクチャ種別を識別する。具体的には、プロセッサセレクタモジュール３０８が、インストールされたマイクロプロセッサ３０２に関連する識別子を検出して、そのアーキテクチャの種別を識別する。
【００２３】
マイクロプロセッサ３０２のアーキテクチャが識別されると、マイクロプロセッサ３０２に関連するデータが、プロセッサセレクタ３０８によりコンピュータシステム３００に常駐するアーキテクチャサポートに提供される。アーキテクチャサポートは、マイクロプロセッサ３０２の識別されたアーキテクチャの動作をサポートするシステムレベルファームウェア、ハードウェア、ソフトウェアを含みうるがこれらに限定されないことに留意する。このようにして、コンピュータシステム３００はマイクロプロセッサ３０２の識別されたアーキテクチャに適したアーキテクチャモードを自動的に提供する。したがって、マイクロプロセッサ（たとえば、３０２または３０４）がコンピュータシステム３００にインストールされると、そのアーキテクチャが自動的に検出され、機能的に収容される。
【００２４】
プロセッサセレクタ３０８は、ソケット３０６に接続されたマイクロプロセッサ（たとえば、３０２または３０４）の既知または予め定義されたアーキテクチャ識別子を検出可能なことに留意する。アーキテクチャ識別子は本実施形態による多種多様な方法で実施しうる。たとえば、センサ（図示せず）をプロセッサセレクタモジュール３０８の一部として実装し、マイクロプロセッサ（たとえば、３０２または３０４）がソケット３０６に接続されたときに、このマイクロプロセッサの１つまたは複数のインタフェースピンの電気的数量を監視することができる。したがって、プロセッサセレクタ３０８は、ソケット３０６に接続されたマイクロプロセッサ（たとえば、３０２または３０４）のアーキテクチャを識別することが可能である。代替として、インストールされたマイクロプロセッサ（たとえば、３０２または３０４）のアーキテクチャの種別は、プロセッサセレクタモジュール３０８が、インストールされたマイクロプロセッサに常駐するメモリに格納されている予め定義された、または既知の識別子を読み取ることによって識別することができる。したがって、プロセッサセレクタ３０８は、ソケット３０６に接続されたマイクロプロセッサ（たとえば、３０２または３０４）のアーキテクチャを識別することが可能である。
【００２５】
図３内において、ソケット３０６に接続されたマイクロプロセッサ３０２のアーキテクチャ種別が識別されると、プロセッサセレクタモジュール３０８は信号またはデータを出力して、識別されたマイクロプロセッサ３０２にアーキテクチャサポートを提供する適切なファームウェア（たとえば、３１０または３１２）をアクティブ化する。ファームウェア３１０および３１２はそれぞれ異なるマイクロプロセッサアーキテクチャにアーキテクチャサポートを提供しうることが認められる。たとえば、ファームウェア３１０はマイクロプロセッサ３０２のアーキテクチャにアーキテクチャサポートを提供することができ、その一方でファームウェア３１２はマイクロプロセッサ３０４の異なるアーキテクチャにアーキテクチャサポートを提供することができる。さらに、ファームウェア３１０および３１２はそれぞれ、類似するアーキテクチャを有する複数のマイクロプロセッサにアーキテクチャサポートを提供することができる。ファームウェアは通常、ブートアップコード、自己試験機能、メモリ試験機能、誤り処理、ならびにオペレーティングシステム（ＯＳ）およびアプリケーションとシステム３００のハードウェアとの間のインタフェースを含みうるがこれらに限定されない、マイクロプロセッサの最下位レベルの命令セットであることに留意する。さらに、ファームウェア（たとえば、３１０または３１２）は、システム３００に通信可能に接続されたメモリ（図示せず）に格納することができる。
【００２６】
さらに、ソケット３０６に接続されたマイクロプロセッサ３０２のアーキテクチャ種別が識別されると、プロセッサセレクタモジュール３０８は信号またはデータを出力して、チップセット３１４に常駐しうるマイクロプロセッサ依存ハードウェア（たとえば、３１６または３１８）をアクティブ化する。アクティブ化されたマイクロプロセッサ依存ハードウェア（たとえば、３１６または３１８）は、マイクロプロセッサ３０２の識別されたアーキテクチャの動作をサポートする。ハードウェア３１６および３１８はそれぞれ、異なるマイクロプロセッサアーキテクチャにアーキテクチャサポートを提供しうることが理解される。たとえば、ハードウェア３１６はマイクロプロセッサ３０２のアーキテクチャにアーキテクチャサポートを提供することができ、その一方でハードウェア３１８はマイクロプロセッサ３０４の異なるアーキテクチャにアーキテクチャサポートを提供することができる。しかしながら、一実施形態では、プロセッサ依存ハードウェア（たとえば、３１６）を実装して、マイクロプロセッサ３０２および３０４の異なるアーキテクチャにアーキテクチャサポートを提供することができる。このような実施形態では、他のプロセッサ依存ハードウェア（たとえば、３１８）をシステム３００の一部として実装する必要がない場合があることに留意する。さらに、ハードウェア３１６および３１８はそれぞれ、類似するアーキテクチャを有する複数のマイクロプロセッサにアーキテクチャサポートを提供することが可能である。チップセット３１４は、接続されて、システム３００のハードウェアおよび／またはソフトウェア３２０とやりとりすることに留意する。
【００２７】
一実施形態では、図３のコンピュータシステム３００は、IntelのItanium２プロセッサおよびＨＰのＰＡ−８８００プロセッサを収容するように特に実施することができる。第１のプロセッサがIntelのItaniumプロセッサファミリアーキテクチャを実装する一方で、第２のプロセッサがＨＰのPA−RISCアーキテクチャを実装する。ＨＰのPA-8800プロセッサは、IntelのItanium２プロセッサがシステム３００の残りの部分とインタフェースする際に使用するものと同じフロントサイドバスインタフェース（図示せず）を利用するように設計されていることに留意する。Itanium２プロセッサのピン配列内で、特定のピンは「デポピュレート（depopulated）」または「非接続」と定められており、それによって機能を持たず、電気的に静的である。PA−8800プロセッサは、Itanium２プロセッサに合致した様式でフロントサイドバス上の信号のコアセットを利用することに留意する。さらに、PA-8800プロセッサは、Itanium２プロセッサによって非接続またはデポピュレートと指定された信号も使用して、PA-8800プロセッサ固有の機能を実施する。これにより、PA-8800プロセッサは、それ自体に固有の機能を可能にしながら、Itanium２プロセッサバスインタフェースとの互換性を保つことが可能である。PA-8800プロセッサのこれらピンの直交的な利用により、プロセッサセレクタモジュール３０８がキーオフすることのできる電気的な違いが提供される。次に、この情報を使用して、システム３００のブート、所与のアーキテクチャに固有の任意の回路（たとえば、３１６または３１８）のアクティブ化、システムチップセット３１４のマイクロプロセッサへの／からの適宜トランザクションを可能にするなどのために正しいアーキテクチャ固有のファームウェア（たとえば、３１０または３１２）を選択するロジックを生成することができる。
【００２８】
たとえば、Itanium２プロセッサのピン配列中のピンB01は、デポピュレートピンである。PA-8800プロセッサ中の同じB01ピンは2.5Vをマイクロプロセッサに送り、PA-8800プロセッサに固有の機能を使用可能にするものである。したがって、このピンに配置された電圧センスを使用して、Itanium２プロセッサがソケット３０６に接続されている場合と、PA-8800プロセッサがソケット３０６に接続されている場合とを区別することができる。
【００２９】
図３内において、コンピュータシステム３００は、プロセッサセレクタモジュール３０８に接続されたプロセッサソケット３０６を含む。システム３００は、１つまたは複数のマイクロプロセッサ（たとえば、３０２および３０４）を受けるマイクロプロセッサソケット（たとえば、３０６ａ）をさらに備えて実装されうることに留意する。このような実施形態では、追加のマイクロプロセッサソケット（たとえば、３０６ａ）はプロセッサセレクタモジュール３０８に接続される。さらに、プロセッサセレクタ３０８は、プロセッサ固有のファームウェア３１０および３１２に通信可能に接続される。コンピュータシステム３００は、システム３００が受け入れ可能であり、また利用可能なマイクロプロセッサのサポートに必要でありうる任意の数のプロセッサ固有ファームウェアを含みうることが理解される。プロセッサセレクタ３０８は、チップセット３１４ならびにプロセッサ依存ハードウェア３１６および３１８にも通信可能に接続される。コンピュータシステム３００は、システム３００が受け入れ可能であり、また利用可能なマイクロプロセッサのサポートに必要な任意の数のプロセッサ依存ハードウェアを含みうることが認められる。チップセット３１４は、コンピュータシステム３００のハードウェアおよび／またはソフトウェア３２０に接続される。
【００３０】
図４は、本発明により使用しうる例示的なコンピュータシステム４００の一実施形態のブロック図である。システム４００はコンピュータシステムに厳密に限定されないことが理解される。したがって、本実施形態のシステム４００は、任意の種類の演算装置（たとえば、サーバコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、携帯用演算装置等）に適合される。コンピュータシステム３００は、コンピュータシステム４００のコンポーネントのいくつかまたはすべてを含むように実施しうることに留意する。
【００３１】
図４のコンピュータシステム４００は、情報をやりとりするためのアドレス／データバス４１０、およびバス４１０に接続され、情報および命令を処理する１つまたは複数の中央演算処理装置４０２を含む。中央演算処理装置（１つまたは複数）４０２は、マイクロプロセッサまたは他の任意の種類のプロセッサであることができる。コンピュータ４００はデータ格納機構も含み、データ格納機構は、たとえば、ランダムアクセスメモリ（ＲＡＭ）、スタティックＲＡＭ、ダイナミックＲＡＭ等、バス４１０に接続され、中央演算処理装置（１つまたは複数）４０２の情報および命令を格納するコンピュータ使用可能な揮発性メモリユニット４０４、ならびに読み出し専用メモリ（ＲＯＭ）、プログラマブルＲＯＭ、フラッシュメモリ、消去可能プログラマブル読み出し専用メモリ（EPROM）、電気的に消去可能なプログラマブル読み出し専用メモリ（EEPROM）等、バス４１０に接続され、中央演算処理装置（１つまたは複数）４０２の静的な情報および命令を格納するコンピュータ使用可能な不揮発性メモリユニット４０６である。
【００３２】
システム４００は、バス４１０に接続され、システム４００が他の電子装置とインタフェースできるようにする１つまたは複数の信号生成・受信装置４０８も含む。本実施形態の通信インタフェース（１つまたは複数）４０８は有線および／または無線通信技術を含みうる。たとえば、本発明の一実施形態では、通信インタフェース４０８はシリアル通信ポートであるが、代替として、多くの周知の通信規格およびプロトコル、たとえば、ユニバーサルシリアルバス（USB）、Ethernetアダプタ、ファイアワイヤ（IEEE1394）インタフェース、パラレルポート、小型コンピュータシステムインタフェース（SCSI）バスインタフェース、赤外線（IR）通信ポート、Bluetoothワイヤレス通信アダプタ、ブロードバンド接続等のいずれであってもよい。別の実施形態では、デジタル加入者回線（DSL）接続も採用することができる。このような場合、通信インタフェース（１つまたは複数）４０８はDSLモデムを含みうる。さらに、通信インタフェース（１つまたは複数）４０８はインターネットへの通信インタフェースを提供しうる。
【００３３】
オプションとして、コンピュータシステム４００は、バス４１０に接続され、情報およびコマンド選択を中央演算処理装置（１つまたは複数）４０２に伝達する、英数字および機能キーを含む英数字入力装置４１４を備えることができる。コンピュータ４００は、バス４１０に接続され、ユーザ入力情報およびコマンド選択を中央演算処理装置（１つまたは複数）４０２に伝達する、オプションのカーソル制御機構またはカーソル指向装置４１６も含むことができる。カーソル指向装置４１６は、マウス、トラックボール、トラックパッド、光学トラッキング装置、タッチスクリーン等、多くの周知の装置を使用して実施することができる。代替として、カーソルは、特殊キーおよびキーシーケンスコマンドを使用して英数字入力装置４１４からの入力を介して指向かつ／またはアクティブ化することができることが認められる。本実施形態は、たとえば音声コマンド等、他の手段によるカーソル指向にも適合される。
【００３４】
図４のシステム４００は、バス４１０に接続され、情報および命令を格納するコンピュータ使用可能な大容量データ記憶装置４１８、たとえば磁気ディスクまたは光ディスクおよびディスクドライブ（たとえば、ハードドライブまたはフロッピーディスケット）等も含むことができる。オプションの表示装置４１２が、ビデオおよび／またはグラフィックスを表示するためにシステム４００のバス４１０に接続される。オプションの表示装置４１２は陰極線管（CRT）、フラットパネル液晶ディスプレイ（LCD）、電界放出ディスプレイ（FED）、プラズマディスプレイ、またはユーザが認識可能なビデオおよび／またはグラフィック画像ならびに英数字キャラクタの表示に適した他の任意の表示装置でありうることを認められたい。
【００３５】
したがって、本発明の一実施形態は、過度に費用をかけることなく、あるサーバマイクロプロセッサアーキテクチャから別のサーバマイクロプロセッサアーキテクチャに移行できるようにする。
【００３６】
本発明の特定の実施形態の上記説明は、例示および説明を目的として提示された。これらは網羅的ではない、すなわち開示された厳密な形態に本発明を限定することを意図せず、上記教示を鑑みて多くの変更および変形が可能なことは自明である。実施形態は、本発明の原理およびその実際の応用を最良に説明し、それによって当業者が、意図する特定の用途に適するように各種変更を行って本発明および各種実施形態を最良に利用ことができるように選択され、説明されている。本発明の範囲は、本明細書に添付される特許請求の範囲およびその同等物によって規定されることが意図される。
【図面の簡単な説明】
【００３７】
【図１】コンピュータシステム内の異なるマイクロプロセッサアーキテクチャの自動検出を提供する本発明の一形態により実行されるステップのフローチャート。
【図２】コンピュータシステム内の異なるマイクロプロセッサアーキテクチャを自動的に検出する本発明の一形態により実行されるステップのフローチャート。
【図３】本発明の一形態による、コンピュータシステム内の異なるマイクロプロセッサアーキテクチャを自動的に検出する際に利用できる例示的なハードウェアのブロック図。
【図４】本発明で使用しうる例示的なコンピュータシステムの一形態のブロック図。
【図１】
2004206717.tif 000003
【図２】
2004206717.tif 000004
【図３】
2004206717.tif 000005
【図４】
2004206717.tif 000006