(57)【特許請求の範囲】
【請求項１】
所定のクロックにしたがって、所定の処理を行うＣＰＵ（Central Processing Unit）を有する情報処理装置であって、
前記クロックを発生する発生手段と、
前記クロックを分周する分周比を記憶している、書換可能な記憶手段と、
前記クロックを、前記記憶手段に記憶されている前記分周比にしたがって分周し、システムクロックを生成する生成手段と、
前記発生手段が発生するクロックの周波数を検出する検出手段と、
前記検出手段により検出された前記クロックの周波数を元に、前記システムクロックに従って動作する所定のデバイスに対して最適な分周比を算出する算出手段と、
前記記憶手段に記憶されている前記分周比を、前記算出手段により算出された最適な前記分周比に書き換える書き換え手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記検出手段は、前記生成手段が生成するシステムクロックの周波数に基づいて、前記クロックの周波数を検出する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記記憶手段は、所定のフラグも記憶しており、
前記書き換え手段は、前記フラグがたっていないときのみ、前記分周比を書き換え、その書き換えを行ったとき、前記フラグをたてる
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
所定のクロックにしたがって、所定の処理を行うＣＰＵ（Central Processing Unit）を有する情報処理装置の情報処理方法であって、
前記情報処理装置は、
前記クロックを発生する発生手段と、
前記クロックを分周する分周比を記憶している、書換可能な記憶手段と、
前記クロックを、前記記憶手段に記憶されている前記分周比にしたがって分周し、システムクロックを生成する生成手段と
を備え、
前記発生手段が発生するクロックの周波数を検出し、
前記クロックの周波数を元に、前記システムクロックに従って動作する所定のデバイスに対して最適な分周比を算出し、
前記記憶手段に記憶されている前記分周比を、算出した最適な前記分周比に書き換える
ことを特徴とする情報処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置および情報処理方法に関する。特に、例えば、ワークステーションなどにおいて、所定のクロックからシステムに最適なシステムクロックを、容易に生成することができるようにする情報処理装置および情報処理方法に関する。
【０００２】
【従来の技術】
従来の、例えばワークステーションなどでは、ＲＯＭ（Read Only Memory）にブートモードが記憶されており、装置の電源がオンにされると、ＣＰＵ（Central Processing Unit）は、このブートモードを読み込んで、起動に必要な設定を行うようになされている。
【０００３】
ところで、従来より、例えば、ＣＰＵ以外のハードウェア（デバイス）は、基本的にそのままで、ＣＰＵを、動作速度の異なるものに載せ替えることにより、グレードの異なるワークステーションを製造することが行われている。
【０００４】
なお、例えば、ＣＰＵが、より高速のクロックで動作可能なものに載せ替えられる場合には、そのＣＰＵにクロックを供給する水晶発振器も、そのような高い周波数のクロックを発生するものに載せ替えられる。また、この場合、ブートモードが記憶されているＲＯＭも載せ替えられる。
【０００５】
【発明が解決しようとする課題】
このように、ＣＰＵに伴い、ブートモードが記憶されているＲＯＭ（以下、適宜、ブートモードＲＯＭという）も載せ替える必要があるのは、次のような理由による。即ち、ブートモードＲＯＭに記憶されているブートモードには、ＣＰＵが動作するためのクロック（水晶発振器が発生するクロック）と、ＣＰＵ以外のデバイスが動作するためのシステムクロック（バスクロック）との比を設定するためのフィールドがある。このフィールド（以下、適宜、分周比フィールドという）には、水晶発振器が発生するクロックを分周してシステムクロックを生成するための分周比が記憶されている。
【０００６】
従って、ＣＰＵに対応して水晶発振器を載せ替えた場合、クロックは変わるが、必要とされるシステムクロックは変わらないので、分周比フィールドに、クロックの変化に対応したものが記憶されているブートモードＲＯＭを用意し、これに載せ替える必要がある。
【０００７】
しかしながら、ブートモードＲＯＭを、分周比フィールドにシステムクロックの周波数を低くする分周比が記憶されているものに、誤って載せ替えてしまった場合には、システムクロックにしたがって動作するデバイスの処理速度が低下するだけで、その処理には支障がないため、ブートモードＲＯＭを誤って載せ替えたことに気づかず、その結果、（正常なブートモードＲＯＭが搭載されていれば高い性能を発揮するのにも拘らず）性能の低いワークステーションが製造されることになる。
【０００８】
さらに、従来においては、グレードの異なるワークステーションを製造する場合、各種のクロックに対応したブートモードＲＯＭを製造するためのマスターＲＯＭや設備を用意し、あるいは、異なるクロックに対応したブートモードＲＯＭを製造するごとに、マスターＲＯＭや設備を変更する必要があり、これにより、ワークステーションが高コスト化することにもなる。
【０００９】
本発明は、このような状況に鑑みてなされたものであり、所定のクロックからシステムに最適なシステムクロックを、容易に生成することができるようにするものである。
【００１０】
【課題を解決するための手段】
請求項１に記載の情報処理装置は、クロックを分周する分周比を記憶している、書換可能な記憶手段と、発生手段が発生するクロックの周波数を検出する検出手段と、検出手段により検出されたクロックの周波数を元に、システムクロックに従って動作する所定のデバイスに対して最適な分周比を算出する算出手段と、記憶手段に記憶されている分周比を、算出手段により算出された最適な分周比に書き換える書き換え手段とを備えることを特徴とする。
【００１１】
請求項５に記載の情報処理方法は、発生手段が発生するクロックの周波数を検出し、クロックの周波数を元に、システムクロックに従って動作する所定のデバイスに対して最適な分周比を算出し、記憶手段に記憶されている分周比を、算出した最適な分周比に書き換えることを特徴とする。
【００１２】
請求項１に記載の情報処理装置においては、記憶手段は、書き換え可能なもので、クロックを分周する分周比を記憶している。検出手段は、発生手段が発生するクロックの周波数を検出し、算出手段は、検出手段により検出されたクロックの周波数を元に、システムクロックに従って動作する所定のデバイスに対して最適な分周比を算出し、書き換え手段は、記憶手段に記憶されている分周比を、算出手段により算出された最適な分周比に書き換えるようになされている。
【００１３】
請求項５に記載の情報処理方法においては、発生手段が発生するクロックの周波数を検出し、クロックの周波数を元に、システムクロックに従って動作する所定のデバイスに対して最適な分周比を算出し、記憶手段に記憶されている分周比を、算出した最適な分周比に書き換えるようになされている。
【００１４】
【発明の実施の形態】
図１は、本発明を適用したワークステーションの一実施例の構成を示している。水晶発振器１（発生手段）は、ＣＰＵ２が動作するのに必要なクロックを発生し、ＣＰＵ２に供給するようになされている。ＣＰＵ２（生成手段）は、ＲＯＭ８やＲＡＭ（Random Access Memory）９に記憶されたプログラムやデータにしたがって、所定の処理を行うようになされている。さらに、ＣＰＵ２は、水晶発振器１が発生するクロックを、ブートモードＲＯＭ５に記憶されている分周比にしたがって分周し、これによりシステムクロックを生成するようにもなされている。システムクロックは、ＣＰＵ２から、システムクロック計測回路３その他の必要なブロック（例えば、ＲＯＭ８や、ＲＡＭ９，ＤＭＡＣ１０，Ｉ／Ｆ１１など）に供給されるようになされている。
【００１５】
システムクロック計測回路３（検出手段）は、ＣＰＵ２から供給されるシステムクロックの周波数を計測し、その周波数に基づいて、水晶発振器１が発生するクロックの周波数を検出するようになされている。システムクロック計測回路３において検出されたクロックの周波数は、書き換え回路４に供給されるようになされている。
【００１６】
書き換え回路４（書き換え手段）は、システムクロック計測回路３からのクロックの周波数に対応して、ブートモードＲＯＭ５にブートモードとして記憶されている分周比を書き換えるようになされている。即ち、書き換え回路４は、ＣＰＵ２が出力するシステムクロックにしたがって動作する各種のデバイス（例えば、ＲＯＭ８や、ＲＡＭ９，ＤＭＡＣ１０，Ｉ／Ｆ１１など）に対して最適な分周比を算出し、その最適な分周比に、ブートモードＲＯＭ５に記憶されている分周比を書き換えるようになされている。
【００１７】
ブートモードＲＯＭ５（記憶手段）は、例えば電気的に書き換えが可能なＥＥＰＲＯＭ（Electrically Erasable Programable ROM）などでなり、そこには、水晶発振器１が発生するクロックを分周してシステムクロックを生成するための分周比その他のブートモードが記憶されている。リセット制御回路６は、ブートモードＲＯＭ５や、その他の必要なブロック（例えば、ＣＰＵ２や、システムクロック計測回路３、書き換え回路４など）に、リセット信号を供給するようになされている。電源ボタン７は、装置（ワークステーション）の電源をオン／オフするときに操作されるようになされている。
【００１８】
ＲＯＭ８は、ＯＳ（Operating System）その他のシステムプログラムを記憶している。ＲＡＭ８は、ＣＰＵ２が実行するアプリケーションプログラムや、ＣＰＵ２の動作上必要なデータを一時記憶するようになされている。ＤＭＡＣ（Dynamic Memory Controller）１０は、デバイス間におけるＤＭＡ転送の制御を行うようになされている。Ｉ／Ｆ（Interface）１１は、キーボード１２、マウス１３、ディスプレイ１４、プリンタ１５、ハードディスク装置１６、およびモデム１７に対する入出力を管理するようになされている。
【００１９】
キーボード１２は、例えばコマンドやデータなどを入力する場合に操作され、マウス１３は、図示せぬカーソルを移動したり、ディスプレイ１４の画面上の所定の位置を指定する場合などに操作される。ディスプレイ１４は、そこに入力される画像や文字などを表示するようになされている。プリンタ１５は、そこに入力される画像や文字などを、所定の用紙に印刷するようになされている。ハードディスク装置１６は、図示せぬハードディスクを駆動し、情報の記録、再生を行うようになされている。モデム１７は、例えば公衆網を介して通信を行う場合の、その通信制御を行うようになされている。
【００２０】
なお、ＣＰＵ２，ＲＯＭ８，ＲＡＭ９，ＤＭＡＣ１０，Ｉ／Ｆ１１は、互いに、システムバス、データバスを介して接続されている。
【００２１】
次に、その動作について、図２のフローチャートを参照して説明する。電源ボタン７が操作され、これにより、装置の電源がオンにされると、ステップＳ１において、ブートモードＲＯＭ５からブートモードが読み出され、ＣＰＵ２および書き換え回路４に供給される。即ち、電源ボタン７がオンにされると、リセット制御回路６は、ブートモードＲＯＭ５や、その他の必要なブロック（上述したように、例えば、ＣＰＵ２や、システムクロック計測回路３、書き換え回路４など）にリセット信号を出力し、ブートモードＲＯＭ５は、リセット制御回路６からリセット信号を受信すると、そこに記憶されているブートモードを読み出し、ＣＰＵ２および書き換え回路４に出力する。なお、リセット信号を受信したその他のブロックにおいては、その内部状態がリセットされる。
【００２２】
書き換え回路４は、ブートモードを受信すると、その中のフラグがたっているかどうかを、ステップＳ２において判定する。即ち、ブートモードＲＯＭ５には、そこに記憶されているクロックの分周比の書き換えが、過去に行われたかどうかを表すフラグ（以下、適宜、書き換えフラグという）が記憶されており、この書き換えフラグは、後述するように、分周比の書き換えが行われたときにたてられるようになされている（従って、書き換えが行われる前は、書き換えフラグはたっていない）。ステップＳ２では、このような書き換えフラグがたっているかどうかが判定される。
【００２３】
ステップＳ２において、書き換えフラグがたっていないと判定された場合、即ち、ブートモードＲＯＭ５に記憶されている分周比の書き換えが、過去に行われていない場合、ステップＳ３に進み、システムクロック計測回路３において、水晶発振器１が発生するクロックの周波数が検出される。
【００２４】
即ち、ＣＰＵ２は、ステップＳ１において、ブートモードＲＯＭ５からブートモードを受信すると、そのブートモードに対応した設定（起動設定）を行い処理を開始するようになされている。これにより、ＣＰＵ２は、水晶発振器１が発生するクロックを、ブートモードＲＯＭ５に記憶されている分周比で分周してシステムクロックを生成し、システムクロック計測回路３およびその他の必要なブロック（デバイス）（ここでは、例えば、上述したように、ＲＯＭ８や、ＲＡＭ９，ＤＭＡＣ１０，Ｉ／Ｆ１１など）（このようにシステムクロックにしたがって動作するデバイスを、以下、適宜、システムデバイスという）に供給する。
【００２５】
なお、ここでは、ＣＰＵ２は、例えば、水晶発振器１が発生するクロックを２倍し、その結果得られるクロック（以下、適宜、２倍クロックという）を分周するようになされており、従って、ＣＰＵ２では、２倍クロックをｎ分周することで、システムクロックが生成されるようになされている。即ち、クロックは、その周波数が２／ｎ倍されることで、システムクロックとされるようになされている（但し、ｎは分周比を表し、２以上の整数である）。
【００２６】
ここで、ブートモードＲＯＭ５には、分周比ｎの初期値として、水晶発振器１が発生するクロックの周波数がどのような値であっても、システムデバイスが充分動作可能な周波数のシステムクロックが生成されるような値が書き込まれている。即ち、システムデバイスが動作可能なシステムクロックの最高の周波数は、そのシステムデバイスが搭載されるマザーボードの設計により決まる。一方、水晶発振器１が発生するクロックの周波数は、ＣＰＵ２によって決まるものであり、また、ＣＰＵ２として、どのような周波数のクロックにしたがって動作するものを用いるかは、ワークステーションの製造前に決まっているものであるから、水晶発振器１が発生するクロックの周波数の範囲はあらかじめ特定することができる。従って、そのような範囲の最大の周波数のクロックが、水晶発振器１から発生される場合に、システムデバイスが充分動作可能なシステムクロックが生成されるような分周比ｎが、初期値として、ブートモードＲＯＭ５に記憶されている。
【００２７】
具体的には、例えば、システムデバイスが動作可能なシステムクロックの周波数の最大値が５０ＭＨｚで、ＣＰＵ２として、６６ＭＨｚと８８ＭＨｚのクロックで動作する２種類のＣＰＵのうちのいずれかが搭載されるものとした場合においては、高い周波数である８８ＭＨｚのクロックが、水晶発振器１から発生されるときに、システムデバイスが充分動作可能なシステムクロックが生成されるような分周比ｎとしての、例えば４などを、初期値として、ブートモードＲＯＭ５に記憶させるようにすれば良い（ここでは、上述したように、２倍クロックが分周されてシステムクロックが生成されるので、８８ＭＨｚのクロックの２倍クロックを、整数の分周比ｎで分周して、５０ＭＨｚ以下のシステムクロックを得るためには、分周比ｎは、８８×２／５０以上の最小の整数である４以上の値となる）。
【００２８】
以上から、ＣＰＵ２では、最初に電源がオンにされた場合には、そのような分周比の初期値にしたがって、水晶発振器１が発生するクロックが分周されてシステムクロックが生成され、システムクロック計測回路３およびシステムデバイスに供給される。
【００２９】
システムクロック計測回路３は、ＣＰＵ２からシステムクロックを受信すると、ステップＳ３において、そのシステムクロックから、水晶発振器１が発生するクロックの周波数を算出（検出）する。即ち、システムクロック計測回路３には、書き換え回路４から、ブートモードＲＯＭ５より読み出された分周比（ここでは、分周比の初期値）が供給されるようになされている。そして、システムクロック計測回路３は、システムクロックの周波数を検出し、その周波数に、書き換え回路４からの分周比の逆数を乗算することで、クロックの周波数を算出する（ここでは、上述したように、システムクロックは、２倍クロックを分周することで生成されるので、クロックの周波数は、システムクロックの周波数をｎ／２倍することで算出される）。システムクロック計測回路３は、クロックの周波数を算出すると、それを、書き換え回路４に供給する。
【００３０】
書き換え回路４は、システムクロック計測回路３からクロックの周波数を受信すると、ステップＳ４において、システムデバイスに対して最適な分周比（システムデバイスが動作し得る最高の周波数のシステムクロックを得るための分周比）を算出する。即ち、書き換え回路４は、システムデバイスが動作し得るシステムクロックの最高の周波数を認識しており（この周波数は、上述したようにマザーボードの設計により決まるので、書き換え回路４にあらかじめ設定しておくことができる）、その最高の周波数で、クロックの周波数を除算し、その乗算値の小数点以下を切り上げることにより、最適な分周比ｎを求める。
【００３１】
なお、ここでは、上述したように、２倍クロックが分周されてシステムクロックが生成されるので、書き換え回路４では、クロックの周波数の２倍が、システムデバイスが動作し得るシステムクロックの最高の周波数で除算されることにより、最適な分周比ｎが求められる。
【００３２】
書き込み回路４は、以上のようにして最適な分周比ｎを求めると、ステップＳ５において、その最適な分周比ｎを、ブートモードＲＯＭ５に、初期値の分周比に換えて書き込む。なお、この場合、初期値の分周比を消去して、最適な分周比が書き込まれるが、ブートモードＲＯＭ５におけるデータの消去が、所定の記憶領域単位で行われるために、初期値の分周比の他に、他のデータ（ブートモード）の消去も行われてしまう場合には、例えば、図１において点線で示すように、ＲＡＭ１８などを設け、書き換え回路４に、消去される記憶領域単位に記憶されている初期値の分周比以外のデータをＲＡＭ１８に一旦退避させ、最適な分周比を、ブートモードＲＯＭ５に書き込んだ後に、ＲＡＭ１８に退避させたデータを再度書き込ませるようにすれば良い。
【００３３】
書き込み回路４は、最適な分周比の書き込みを終了すると、ステップＳ６において、ブートモードＲＯＭ５に記憶されている書き換えフラグをたて、ステップＳ７に進み、装置の電源をオフにさせ、処理を終了する。
【００３４】
一方、ステップＳ２において、書き換えフラグがたっていると判定された場合、即ち、ブートモードＲＯＭ５に記憶されている分周比の最適なものへの書き換えが、既に行われている場合、ステップＳ８に進み、ＣＰＵ２において、例えばキーボード１２やマウス１３の操作に対応した処理や、ＲＡＭ９に記憶（展開）されたプログラムにしたがった処理などの通常の処理が行われ、その後、電源がオフにされると、処理を終了する。
【００３５】
即ち、ＣＰＵ２は、上述したように、ステップＳ１でブートモードＲＯＭ５からブートモードを受信後、そのブートモードに対応した設定を行うから、ブートモードＲＯＭ５に記憶されている分周比の最適なものへの書き換えが、既に行われている場合には、ＣＰＵ２においては、そのような最適な分周比にしたがってクロックが分周されてシステムクロックが生成される。従って、ステップＳ８では、システムデバイスは、それに最適なシステムクロックにしたがって動作することになる。
【００３６】
以上のように、ブートモードＲＯＭ５には、分周比ｎの初期値として、水晶発振器１が発生するクロックの周波数がどのような値であっても、システムデバイスが充分動作可能な周波数のシステムクロックが生成されるような値を書き込んでおき、後で、それを、水晶発振器１が発生するクロックに対応して、最適な分周比に書き換えるようにしたので、異なるクロックごとに最適な分周比を、誤りなく、容易に設定することができる。
【００３７】
さらに、この場合、各種のクロックに対応したブートモードＲＯＭを用意しておく必要もない。即ち、ブートモードＲＯＭ５としては、水晶発振器１が発生するクロックの周波数がどのような値であっても、システムデバイスが充分動作可能な周波数のシステムクロックが生成されるような値を書き込んだものだけを用意すれば良い。その結果、生産ラインの共通化を図ることができ、生産コストの低減化を図ることができる。
【００３８】
なお、最適な分周比への書き換え、即ち、図２のステップＳ１乃至Ｓ７の処理は、例えば、生産ラインにおいて、電源ボタン７をオンすることにより行われる。従って、ユーザが、ワークステーションを購入する際には、既に、最適な分周比がブートモードＲＯＭ５に書き込まれているので、ユーザは、ワークステーションの購入後、即座に、最適なシステムクロックで動作する状態のワークステーションを使用することができる。
【００３９】
以上、本発明を、ワークステーションに適用した場合について説明したが、本発明は、ワークステーションの他、起動時に、クロックを分周してシステムクロックを生成するあらゆる情報処理装置に適用可能である。
【００４０】
なお、本実施例においては、書き換えフラグを、ブートモードが記憶されているブートモードＲＯＭ５に記憶させておくようにしたが、書き換えフラグは、その他の不揮発性のメモリ（但し、書き換え可能なもの）に記憶させておくようにすることも可能である。
【００４１】
また、本実施例では、ブートモードＲＯＭ５として、ＥＥＰＲＯＭを用いるようにしたが、ブートモードＲＯＭ５としては、ＥＥＰＲＯＭ以外の書き換え可能な不揮発性のメモリを用いることが可能である。
【００４２】
さらに、本実施例では、ステップＳ６の処理後、ステップＳ７において、電源をオフするようにしたが、ステップＳ７では、その他、例えば、ブートモードを再設定するような状態にしても良い。
【００４３】
また、本実施例では、システムクロック計測回路３において、システムクロックに基づいて、水晶発振器１が出力するクロックの周波数を検出するようにしたが、このクロックの周波数は、水晶発振器１の出力を、直接計測することにより求めるようにすることも可能である。但し、通常、システムクロックは、マザーボードの端子から容易に得られるのに対し、水晶発振器１が出力するクロックは、そのようにはなされていないので、水晶発振器１の出力を直接計測するには、システムクロック計測回路３に水晶発振器１の出力を供給するように、回路を構成する必要があり、その結果、回路が複雑化するので、本実施例で説明したように、水晶発振器１が出力するクロックの周波数は、システムクロックから求めるようにするのが望ましい。
【００４４】
【発明の効果】
請求項１に記載の情報処理装置および請求項５に記載の情報処理方法によれば、発生手段が発生するクロックの周波数が検出され、そのクロックの周波数を元に、システムクロックに従って動作する所定のデバイスに対して最適な分周比が算出され、記憶手段に記憶されている分周比が、算出した最適な分周比に書き換えられる。従って、所定のクロックからシステムに最適な分周比を、容易に設定することが可能となる。
【図面の簡単な説明】
【図１】本発明を適用したワークステーションの一実施例の構成を示すブロック図である。
【図２】図１のワークステーションの動作を説明するフローチャートである。
【符号の説明】
１  水晶発振器（発生手段），  ２  ＣＰＵ（生成手段），  ３  システムクロック計測回路（検出手段），  ４  書き換え回路（書き換え手段），  ５  ブートモードＲＯＭ（記憶手段），  ８  ＲＯＭ，  ９  ＲＡＭ，  １０  ＤＭＡＣ，  １１  Ｉ／Ｆ
【図１】
0003697708.tif 000002
【図２】
0003697708.tif 000003