(57)【特許請求の範囲】
【請求項１】
予め定められたサポート動作周波数で動作する前提のコンピュータシステムにおいて、
メモリの動作可能周波数を検出する第１の検出手段と、
前記メモリの現在の動作周波数を検出する第２の検出手段と、
前記第１の検出手段によって検出された前記メモリの動作可能周波数が、前記サポート動作周波数によってサポートされているか否かを判定するサポート動作周波数判定手段と、
前記メモリの動作可能周波数が、前記サポート動作周波数によってサポートされていると判定された場合に、前記第２の検出手段によって検出された前記メモリの現在の動作周波数が前記第１の検出手段によって検出された前記メモリの動作可能周波数に合致しているか否かを判定する判定手段と、
前記判定手段によって前記第２の検出手段によって検出された前記メモリの現在の動作周波数が前記第１の検出手段によって検出された前記メモリの動作可能周波数に合致していないと判定された場合に、合致していないと判定されたメモリの現在の動作周波数を、前記合致していないと判定されたメモリの動作可能周波数に対応する前記サポート動作周波数に設定する手段と
を具備することを特徴とするコンピュータシステム。
【請求項２】
前記メモリの動作可能周波数は前記メモリに格納され、前記メモリの現在の動作周波数は前記コンピュータシステムのＩ／Ｏコントロールハブのレジスタに格納されていることを特徴とする請求項１記載のコンピュータシステム。
【請求項３】
前記サポート動作周波数判定手段により前記第１の検出手段によって検出された前記メモリの動作可能周波数が、前記サポート動作周波数によってサポートされていないと判断された場合に、サポートされていないメモリを交換しなければならない旨のメッセージを表示する手段をさらに具備することを特徴とする請求項１記載のコンピュータシステム。
【請求項４】
前記設定手段により、前記合致していないと判定されたメモリの現在の動作周波数が、前記合致していないと判定されたメモリの動作可能周波数に対応する前記サポート動作周波数に設定されたか否かを判定する設定状態判定手段と、
前記設定状態判定手段により設定されたと判定された場合に、コンピュータシステムを再起動する再起動手段をさらに具備することを特徴とする請求項１記載のコンピュータシステム。
【請求項５】
予め定められたサポート動作周波数で動作する前提のコンピュータシステムにおいて、
第１のメモリ及び第２のメモリの動作可能周波数を検出する第１の検出手段と、
前記第１のメモリ及び前記第２のメモリに共通の現在の動作周波数を検出する第２の検出手段と、
前記第１の検出手段によって検出された前記第１のメモリ及び前記第２のメモリの動作可能周波数が前記サポート動作周波数によってサポートされているか否かを判定するサポート動作周波数判定手段と、
前記第１のメモリ及び第２のメモリの動作可能周波数が、前記サポート動作周波数によってサポートされていると判断された場合に、前記第２の検出手段によって検出された前記第１のメモリ及び前記第２のメモリに共通の現在の動作周波数が、前記第１の検出手段によって検出された前記第１のメモリ及び前記第２のメモリの動作可能周波数のうち低い方の動作可能周波数に合致しているか否かを判定する判定手段と、
前記判定手段によって合致していないと判定された場合に、合致していないと判定された第１のメモリ及び第２のメモリに共通の現在の動作周波数を、前記合致していないと判定された第１のメモリ及び第２のメモリの動作可能周波数のうち低い方の動作可能周波数に対応する前記サポート動作周波数に設定する手段と
を具備することを特徴とするコンピュータシステム。
【請求項６】
前記第１のメモリ及び前記第２のメモリの動作可能周波数はそれぞれ前記第１のメモリ及び前記第２のメモリに格納され、前記第１のメモリ及び前記第２のメモリに共通の現在の動作周波数は前記コンピュータシステムのＩ／Ｏコントロールハブのレジスタに格納されていることを特徴とする請求項５記載のコンピュータシステム。
【請求項７】
前記サポート動作周波数判定手段により、前記第１の検出手段によって検出された前記第１のメモリ及び第２のメモリの動作可能周波数が、前記サポート動作周波数によってサポートされていないと判断された場合に、サポートされていない第１のメモリ及び第２のメモリを交換しなければならない旨のメッセージを表示する手段をさらに具備することを特徴とする請求項５記載のコンピュータシステム。
【請求項８】
前記設定手段により、前記合致していないと判定された第１のメモリ及び第２のメモリに共通の現在の動作周波数が、前記合致していないと判定された第１のメモリ及び第２のメモリの動作可能周波数のうち低い方の動作可能周波数に対応するサポート動作周波数に設定されたか否かを判定する設定状態判定手段と、
前記設定状態判定手段により設定されたと判定された場合に、コンピュータシステムを再起動する再起動手段をさらに具備することを特徴とする請求項５記載のコンピュータシステム。
【請求項９】
予め定められたサポート動作周波数で動作するコンピュータシステムの動作周波数切り替え方法において、
メモリの動作可能周波数を検出し、
前記メモリの現在の動作周波数を検出し、
前記検出された前記メモリの動作可能周波数が、前記サポート動作周波数によってサポートされているか否かを判定し、
前記メモリの動作可能周波数が、前記サポート動作周波数によってサポートされていると判定された場合に、検出された前記メモリの現在の動作周波数が検出された前記メモリの動作可能周波数に合致しているか否かを判定し、
前記メモリの現在の動作周波数が前記メモリの動作可能周波数に合致していないと判定された場合に、合致していないと判定されたメモリの現在の動作周波数を、前記合致していないと判定されたメモリの動作可能周波数に対応する前記サポート動作周波数に設定するステップを具備することを特徴とするコンピュータシステムの動作周波数切り替え方法。
【請求項１０】
前記合致していないと判定されたメモリの現在の動作周波数が、前記合致していないと判定されたメモリの動作可能周波数に対応する前記サポート動作可能周波数に設定されたか否かを判定し、
設定されたと判定された場合に、コンピュータシステムを再起動するステップをさらに具備することを特徴とする請求項９記載のコンピュータシステムの動作周波数切り替え方法。
【請求項１１】
予め定められたサポート動作周波数で動作するコンピュータシステムの動作周波数の切り替え方法において、
第１のメモリ及び第２のメモリの動作可能周波数を検出し、
前記第１のメモリ及び前記第２のメモリに共通の現在の動作周波数を検出し、
前記検出された前記第１のメモリ及び前記第２のメモリの動作可能周波数が前記サポート動作周波数によってサポートされているか否かを判定し、
前記検出された前記第１のメモリ及び第２のメモリの動作可能周波数が、前記サポート動作周波数によってサポートされていると判断された場合に、前記検出された前記第１のメモリ及び前記第２のメモリに共通の現在の動作周波数が、前記検出された前記第１のメモリ及び前記第２のメモリの動作可能周波数のうち低い方の動作可能周波数に合致しているか否かを判定し、
合致していないと判定された場合に、合致していないと判定された第１のメモリ及び第２のメモリに共通の現在の動作周波数を、前記合致していないと判定された第１のメモリ及び第２のメモリの動作周波数のうち低い方の動作可能周波数に対応する前記サポート動作周波数に設定するステップを具備することを特徴とするコンピュータシステムの動作周波数の切り替え方法。
【請求項１２】
前記合致していないと判定された第１のメモリ及び第２のメモリに共通の現在の動作周波数が、前記合致していないと判定された第１のメモリ及び第２のメモリの動作可能周波数のうち低い方の動作可能周波数に対応するサポート動作周波数に設定されたか否かを判定し、
設定されたと判定された場合に、コンピュータシステムを再起動するステップをさらに具備することを特徴とする請求項１１記載のコンピュータシステムの動作周波数の切り替え方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、種類の違うメモリやＣＰＵを使用するコンピュータシステムに関し、特に、種類の違うメモリやＣＰＵを使用するノート型パーソナルコンピュータに関する。
【０００２】
【従来の技術】
ノート型パーソナルコンピュータ（以下、「ノートＰＣ」という。）には、現在、業界標準のメモリモジュールとしてＥ２ＰＲＯＭが搭載されている。そして、このメモリモジュールの容量、動作周波数、タイミング等を表わすデータはＳＰＤと呼ばれている。
【０００３】
インテル社製のチップセットは、４３０ＴＸの世代からメモリに関するバッファ能力やタイミングを調整するレジスタを有している。従来のノートＰＣは、メモリモジュールのＳＰＤの値に応じて、レジスタの設定値を調整し、これにより最適なバッファ能力とタイミングでメモリモジュールを使用している。
【０００４】
一方、ＣＰＵに関しては、システム毎に固有の基本周波数で動作している。ＣＰＵの周波数の動的な切り替え技術として、インテル社のＳｐｅｅｄＳｔｅｐという技術があるが、これは、ＣＰＵの内部動作周波数を動的に変えるもので、システム毎に固有の基本周波数を変えるものではない。
【０００５】
【発明が解決しようとする課題】
従来のノートＰＣでは、サポートしているメモリの動作周波数と、ＣＰＵの動作周波数とは一意で決まっており、サポートしていないメモリやＣＰＵを使用した場合には、動作速度を落として動作させていたが、この場合にはシステムが不安定となりコンピュータシステムが動作しなくなるという問題があった。
【０００６】
また、メモリとＣＰＵの動作周波数は固定であるため、より高い周波数で動作するメモリなどに置き換えてもその性能を十分に発揮することができないという問題があった。
【０００７】
本発明は、上記実情に鑑みてなされたものであり、メモリ及びＣＰＵの現在の動作周波数の判別を行ない、その判別結果に基づいてメモリ及びＣＰＵの動作周波数を切り替えることにより、コンピュータシステムを安定に動作させるとともに、メモリ及びＣＰＵの性能を発揮することができるコンピュータシステムを提供することを目的とする。
【０００８】
【課題を解決するための手段】
したがって、まず、上記目的を達成するために本発明の第１の発明によれば、予め定められたサポート動作周波数で動作する前提のコンピュータシステムにおいて、メモリの動作可能周波数を検出する第１の検出手段と、前記メモリの現在の動作周波数を検出する第２の検出手段と、前記第１の検出手段によって検出された前記メモリの動作可能周波数が、前記サポート動作周波数によってサポートされているか否かを判定するサポート動作周波数判定手段と、前記メモリの動作可能周波数が、前記サポート動作周波数によってサポートされていると判定された場合に、前記第２の検出手段によって検出された前記メモリの現在の動作周波数が前記第１の検出手段によって検出された前記メモリの動作可能周波数に合致しているか否かを判定する判定手段と、前記判定手段によって前記第２の検出手段によって検出された前記メモリの現在の動作周波数が前記第１の検出手段によって検出された前記メモリの動作可能周波数に合致していないと判定された場合に、合致していないと判定されたメモリの現在の動作周波数を、前記合致していないと判定されたメモリの動作可能周波数に対応する前記サポート動作周波数に設定する手段とを具備することを特徴とするコンピュータシステムである。
【００１７】
【発明の実施の形態】
＜第１の実施の形態＞
図１は、本発明の第１の実施の形態に係るコンピュータシステムを示すブロック図である。なお、図１においては、本発明を説明するために必要な要素のみを示しており、ディスプレイ及び記憶装置などの要素はここでは省略している。
【００１８】
本実施の形態においては、インテル社製の８１５Ｅチップセットを使用し、ＣＰＵ及びメモリモジュールともに１００ＭＨｚと１３３ＭＨｚとをサポートしている場合の制御方法を例にして説明する。
【００１９】
同図に示すように、システム全体の制御を司るＣＰＵ１は、バスａを介してグラフィックメモリコントロールハブ２に接続されている。グラフィックメモリコントロールハブ２は、メモリバスｃを介してメモリモジュール３に接続されている。
【００２０】
このメモリモジュール３は、コンピュータシステムに設けられたスロットに対して着脱可能であり、メモリモジュールの容量、動作周波数、タイミング等を表わすデータであるＳＰＤを格納している。
【００２１】
グラフィックメモリコントロールハブ２は、バスｂを介してＩ／Ｏコントロールハブ４に接続されている。このＩ／Ｏコントロールハブ４は、ＳＭバスｄを介してメモリモジュール３に接続されている。また、Ｉ／Ｏコントロールハブ４は、レジスタ４ａを有している。
【００２２】
レジスタ４ａのＧＰＩＯxx1(general purpose I/O)は、現在のＰＳＢ（processor system bus)の動作周波数、すなわち、現在のＣＰＵの動作周波数を示すものであり、”０”であれば現在のＣＰＵの動作周波数が１００ＭＨｚを意味し、”１”であれば現在のＣＰＵの動作周波数が１３３ＭＨｚを意味する。また、ＧＰＩＯxx2は、現在のメモリモジュール３の動作周波数を示すものであり、”０”であれば現在のメモリモジュール３の動作周波数が１００ＭＨｚを意味し、”１”であれば現在のメモリモジュール３の動作周波数が１３３ＭＨｚを意味する。
【００２３】
クロックジェネレータ５は、Ｉ／Ｏコントロールハブ４のレジスタ４ａのＧＰＩＯxx1及びＧＰＩＯxx2の値に基づいて、ＣＰＵ１及びメモリモジュール３の動作周波数のクロックを発振するものである。なお、ＧＰＩＯxx1及びＧＰＩＯxx2の値は、システムを立ち上げた時に有効となる。
【００２４】
また、Ｉ／Ｏコントロールハブ４にはバスｅを介してＥＣ／ＫＢＣ（embedded controller / keyboard controller)６が接続されている。
【００２５】
次に、本実施の形態に係るコンピュータシステムのＣＰＵ及びメモリモジュー.ルの動作周波数の切り替え動作について図１０のフローチャートを参照して説明する。なお、動作周波数の切り替え動作は、ＢＩＯＳ（basic input output system)処理に基づいて行なわれるものとする。
【００２６】
まず、最初に、ノートＰＣが起動されると、ＣＰＵ１は、Ｉ／Ｏコントロールハブ４のＧＰＩＯxx１の設定を読み出し、現在のＰＳＢ（processor system bus)の動作周波数、すなわち現在のＣＰＵの動作周波数を読み出す（Ｓ１）。図２は、Ｓ１の動作を視覚的に説明するための図である。
【００２７】
ここで、ＧＰＩＯxx1(general purpose I/O)の値が”０”であれば現在のＣＰＵの動作周波数が１００ＭＨｚを意味し、”１”であれば現在のＣＰＵの動作周波数が１３３ＭＨｚを意味する。
【００２８】
次に、ＣＰＵ１のレジスタ、例えば、キャッシュメモリからＣＰＵの動作可能周波数（個別動作可能周波数）を読み出す（Ｓ２）。ここでは、ＣＰＵの動作可能周波数として、１００ＭＨｚ或いは１３３ＭＨｚがＣＰＵ１のレジスタに格納されているものとする。図３は、Ｓ２の動作を視覚的に説明するための図である。
【００２９】
次に、ＣＰＵ１は、Ｉ／Ｏコントロールハブ４のＧＰＩＯxx2の設定を読み出し、現在のメモリモジュール３の動作周波数を読み出す（Ｓ３）。図４は、Ｓ３の動作を視覚的に説明するための図である。
【００３０】
ここで、ＧＰＩＯxx2の値が”０”であれば現在のメモリモジュール３の動作周波数が１００ＭＨｚを意味し、”１”であれば現在のメモリモジュール３の動作周波数が１３３ＭＨｚを意味する。
【００３１】
ＣＰＵ１は、メモリモジュール３に格納されたＳＰＤ３ａをＳＭバスｄを介して読み出すことにより、メモリモジュール３の動作可能周波数（個別動作可能周波数）を読み出す（Ｓ４）。図５は、Ｓ４の動作を視覚的に説明するための図である。
【００３２】
ここでは、例えば、メモリアドレス１２６の値によってメモリモジュール３の動作可能周波数が求められる。
【００３３】
具体的には、メモリアドレス１２６の値が「６３Ｈ」以下である場合には、メモリモジュール３の動作可能周波数は９９ＭＨｚ以下であり、「６４Ｈ〜８４Ｈ」である場合には、メモリモジュール３の動作可能周波数は１００ＭＨｚ〜１３２ＭＨｚ及び「８５Ｈ」以上である場合には、メモリモジュール３の動作可能周波数は１３３ＭＨｚ以上である。
【００３４】
次に、ＣＰＵ１は、読み出された現在のＣＰＵ１の動作可能周波数及びメモリモジュール３の動作可能周波数がサポートしている動作周波数であるか否かを判定する（Ｓ５）。
【００３５】
具体的には、本実施の形態においては、ＣＰＵ１及びメモリモジュール３の動作周波数は、１００ＭＨｚ及び１３３ＭＨｚで動作していることを前提としているので、例えば、メモリモジュール３の現在の動作可能周波数が９９ＭＨｚ以下である場合には、サポートしている動作周波数ではないと判定される。
【００３６】
Ｓ５において、サポートしている動作周波数ではないと判断された場合には、図示せぬディスプレイ上にメッセージを表示して動作周波数の切り替え処理を終了する（Ｓ６）。なお、メッセージについては、図７を参照。
【００３７】
一方、Ｓ５において、サポートしている動作周波数であると判定された場合には、図７に示す設定処理を行なう（Ｓ７）。
【００３８】
図７に示した例のうち、いくつかの例を説明する。
【００３９】
１．  ＣＰＵの個別動作可能周波数が１００ＭＨｚ、メモリモジュールの個別動作可能周波数がどのような周波数でもよい場合であって、現在のＧＰＩＯxx1の値が１３３ＭＨｚ、ＧＰＩＯxx2の値がどのような動作周波数であってもよい場合
→  ＧＰＩＯxx1の値を１００ＭＨｚに設定し、ＧＰＩＯxx2の値は変更しない。
【００４０】
２．  ＣＰＵの個別動作可能周波数が１００ＭＨｚ、メモリモジュールの個別動作可能周波数が９９ＭＨｚ以下である場合であって、現在のＧＰＩＯxx1の値が１００ＭＨｚ、ＧＰＩＯxx2の値がどのような動作周波数であってもよい場合
→  ＧＰＩＯxx1及びＧＰＩＯxx2の値は変更しない。
【００４１】
３．  ＣＰＵの個別動作可能周波数が１００ＭＨｚ、メモリモジュールの個別動作可能周波数が１００ＭＨｚ〜１３２ＭＨｚ、１３３ＭＨｚ以上である場合であって、現在のＧＰＩＯxx1の値が１００ＭＨｚ、ＧＰＩＯxx2の値が１００ＭＨｚである場合
→  ＧＰＩＯxx1及びＧＰＩＯxx2の値は変更しない。
【００４２】
すなわち、Ｓ７の設定処理においては、ＣＰＵ及びメモリモジュールの個別動作可能周波数が、ＧＰＩＯxx1、ＧＰＩＯxx2の値が示す現在の動作周波数と異なる場合には、ＧＰＩＯxx1、ＧＰＩＯxx2の値をＣＰＵ及びメモリモジュールの個別動作可能周波数にあわせる処理を行なう。
【００４３】
図６は、ＣＰＵ１がレジスタ４ａの値を設定する動作を視覚的に説明するための図である。
【００４４】
Ｓ７において、設定処理終了後、ＣＰＵ１は再起動が必要か否かの判断を行なう（Ｓ８）。具体的には，Ｓ７における設定処理において、ＧＰＩＯxx1及びＧＰＩＯxx2の値のうち少なくとも１つを変更した場合に、再起動が必要とされる。これは、ＧＰＩＯxx1及びＧＰＩＯxx2の値は、再起動後に初めて有効となるからである。
【００４５】
Ｓ８において、再起動が必要と判断された場合には、ノートＰＣの再起動処理が行なわれ（Ｓ１０）、Ｓ１の処理に戻る。一方、Ｓ８において、再起動処理が不要と判断された場合には、後続する他の処理に進む（Ｓ９）。なお、図８は、再起動処理を視覚的に説明するための図である。
【００４６】
図９は、本実施の形態に係るコンピュータシステムの回路図である。
【００４７】
同図において、ＧＰＩＯｘｘ１の出力を”０”にすることでＣＰＵのＰＳＢ（processor system bus)を１００ＭＨｚに、”１”にすることで１３３ＭＨｚに変えることができる。ＧＰＩＯｘｘ１の出力は、Ｉ／Ｏコントロールハブ内のレジスタで設定する。
【００４８】
また、ＧＰＩＯｘｘ２の出力を”０”にすることでメモリモジュールのクロックを１００ＭＨｚに、”１”にすることで１３３ＭＨｚに変えることができる。ＧＰＩＯｘｘ２の出力は、Ｉ／Ｏコントロールハブ内のレジスタで設定する。
【００４９】
すなわち、本実施の形態のコンピュータシステムにおいては、現在のＣＰＵの動作可能周波数及び現在のメモリモジュールの動作可能周波数を検出するとともに、Ｉ／Ｏコントロールハブ４内のレジスタ４ａに設定されたＧＰＩＯｘｘ１及びＧＰＩＯｘｘ２の値を読み出す。
【００５０】
そして、まず、検出された現在のメモリモジュール及びＣＰＵの動作可能周波数が、予め定められた動作周波数（本実施の形態においては、ＣＰＵ及びメモリモジュールともに１００ＭＨｚ、１３３ＭＨｚ）に合致しているかの判定が行なわれ、合致していない場合には、メモリモジュール及びＣＰＵを取り替えなければならない旨のメッセージを表示し、動作周波数切り替え処理を終了する。
【００５１】
一方、検出された現在のメモリモジュール及びＣＰＵの動作可能周波数が、予め定められた動作周波数に合致している場合には、現在のＣＰＵ及びメモリモジュールの動作可能周波数が、現在のＧＰＩＯxx1、ＧＰＩＯxx2の値が示す動作周波数と異なるか否かの判断を行ない、異なる場合には、ＧＰＩＯxx1、ＧＰＩＯxx2の値を現在のＣＰＵ及びメモリモジュールの動作可能周波数にあわせる。
【００５２】
したがって、本実施の形態のコンピュータシステムによれば、メモリ及びＣＰＵの現在の動作周波数の判別を行ない、その判別結果に基づいて、現在設定されている動作周波数を最適な値に変更するので、コンピュータシステムを安定に動作させるとともに、メモリ及びＣＰＵの性能を発揮することができるコンピュータシステムを提供することができる。
【００５３】
＜第２の実施の形態＞
次に、本発明の第２の実施の形態に係るコンピュータシステムについて説明する。上述の第１の実施の形態においては、メモリモジュールが１つの場合について説明したが、本実施の形態においては、メモリモジュールが複数の場合について説明する。
【００５４】
なお、本実施の形態においては、第１の実施の形態と同様に、インテル社製の８１５Ｅチップセットを使用し、ＣＰＵ及びメモリモジュールともに１００ＭＨｚと１３３ＭＨｚとをサポートしている場合の制御方法を例にして説明する。
【００５５】
図１１は、本発明の第２の実施の形態に係るコンピュータシステムを示すブロック図である。なお、図１と同一の部分には同一の符号を付し、ここではその説明を省略する。
【００５６】
同図に示すように、本実施の形態に係るコンピュータシステムと、図１に示したコンピュータシステムを示すブロック図と異なる点は、メモリモジュールが複数設けられている点にある。
【００５７】
メモリモジュール３１、３２は、それぞれグラフィックメモリコントロールハブ２にメモリバスｃを介してそれぞれ接続されるとともに、ＳＭバスｄを介してＩ／Ｏコントロールハブ４にそれぞれ接続されている。
【００５８】
また、メモリモジュール３１、３２は、それぞれ対応するメモリモジュールの容量、動作周波数、タイミング等を表わすデータであるＳＰＤ３１ａ、３２ａを有している。
【００５９】
次に、本実施の形態に係るコンピュータシステムのＣＰＵ及び複数のメモリモジュー.ルの動作周波数の切り替え動作について図１２のフローチャートを参照して説明する。なお、動作周波数の切り替え動作は、ＢＩＯＳ（basic input output system)処理に基づいて行なわれるものとする。
【００６０】
まず、最初に、ノートＰＣが起動されると、ＣＰＵ１は、Ｉ／Ｏコントロールハブ４のＧＰＩＯxx１の設定を読み出し、現在のＰＳＢ（processor system bus)の動作周波数、すなわち現在のＣＰＵの動作周波数を読み出す（Ｓ２１）。
【００６１】
ここで、ＧＰＩＯxx1(general purpose I/O)の値が”０”であれば現在のＣＰＵの動作周波数が１００ＭＨｚを意味し、”１”であれば現在のＣＰＵの動作周波数が１３３ＭＨｚを意味する。
【００６２】
次に、ＣＰＵ１のレジスタ、例えば、キャッシュメモリからＣＰＵの動作可能周波数を読み出す（Ｓ２２）。ここでは、ＣＰＵの動作可能周波数として、１００ＭＨｚ或いは１３３ＭＨｚがＣＰＵ１のレジスタに格納されているものとする。
【００６３】
次に、ＣＰＵ１は、Ｉ／Ｏコントロールハブ４のＧＰＩＯxx2の設定を読み出し、現在のメモリモジュール３１、３２の動作周波数を読み出す（Ｓ２３）。
【００６４】
ＣＰＵ１は、メモリモジュール３１、３２にそれぞれ格納されたＳＰＤ３１ａ、３２ａをＳＭバスｄを介して読み出すことにより、メモリモジュール３１、３２の動作可能周波数を読み出す（Ｓ２４）。
【００６５】
次に、ＣＰＵ１は、現在のメモリモジュール３１、３２の動作可能周波数のうち、低いほうの現在の動作可能周波数を決定する（Ｓ２５）。例えば、メモリモジュール３１の現在の動作可能周波数が１００ＭＨｚ、メモリモジュール３２の動作可能周波数が１３３ＭＨｚである場合には、１００ＭＨｚがメモリモジュールの動作可能周波数として決定される。
【００６６】
そして、ＣＰＵ１は、読み出された現在のＣＰＵの動作可能周波数、メモリモジュール３１の現在の動作可能周波数及びメモリモジュール３２の現在の動作可能周波数それぞれがサポートしている動作周波数であるか否かの判定をする（Ｓ２６）。
【００６７】
具体的には、本実施の形態においては、ＣＰＵ１及びメモリモジュール３１、３２の動作周波数は、１００ＭＨｚ及び１３３ＭＨｚで動作していることを前提としているので、例えば、メモリモジュール３１の現在の動作可能周波数が１００ＭＨｚであってもメモリモジュール３２の現在の動作可能周波数が９９ＭＨｚ以下である場合には、サポートしている動作周波数ではないと判定される。
【００６８】
Ｓ２６において、サポートしている動作周波数ではないと判断された場合には、図示せぬディスプレイ上にメッセージを表示して動作周波数の切り替え処理を終了する（Ｓ３０）。
【００６９】
一方、Ｓ２６において、サポートしている動作周波数であると判定された場合には、図１３に示す設定処理を行なう（Ｓ２７）。
【００７０】
以下、図１３に示した例のうち、いくつかの例を説明する。
【００７１】
１．  ＣＰＵの個別動作可能周波数が１００ＭＨｚ、メモリモジュール３１の個別動作可能周波数がどのような周波数でもよく、メモリモジュール３２の個別動作可能周波数もどのような動作周波数でもよい場合であって、現在のＧＰＩＯxx1の値が１３３ＭＨｚ、ＧＰＩＯxx2の値がどのような動作周波数であってもよい場合
→    ＧＰＩＯxx1の値を１００ＭＨｚに設定し、ＧＰＩＯxx2の値は変更しない。
【００７２】
２．  ＣＰＵの個別動作可能周波数が１００ＭＨｚ、メモリモジュール３１の個別動作可能周波数が９９ＭＨｚ以下、メモリモジュール３２の個別動作可能周波数が１３３ＭＨｚ以上である場合であって、現在のＧＰＩＯxx1の値が１００ＭＨｚ、ＧＰＩＯxx2の値がどのような動作周波数であってもよい場合
→  ＧＰＩＯxx1及びＧＰＩＯxx2の値は変更しない。
【００７３】
３．  ＣＰＵの個別動作可能周波数が１００ＭＨｚ、メモリモジュール３１の個別動作可能周波数が１００ＭＨｚ〜１３２ＭＨｚ、１３３ＭＨｚ以上、メモリモジュール３２の個別動作可能周波数が１３３ＭＨｚ以上である場合であって、現在のＧＰＩＯxx1の値が１００ＭＨｚ、ＧＰＩＯxx2の値が１００ＭＨｚである場合
→  ＧＰＩＯxx1及びＧＰＩＯxx2の値は変更しない。
【００７４】
すなわち、Ｓ２７の設定処理においては、ＣＰＵ及びＳ２５において決定されたメモリモジュール３１、３２の動作可能周波数のうち周波数の低いほうの動作可能周波数が現在のＧＰＩＯxx1、ＧＰＩＯxx2の値が示す動作周波数と異なる場合には、ＧＰＩＯxx1、ＧＰＩＯxx2の値をＣＰＵ及びメモリモジュールの動作可能周波数にあわせる処理を行なう。
【００７５】
Ｓ２７において、設定処理終了後、ＣＰＵ１は再起動が必要か否かの判断を行なう（Ｓ２８）。具体的には，Ｓ２７における設定処理において、ＧＰＩＯxx1及びＧＰＩＯxx2の値のうち少なくとも１つを変更した場合に、再起動が必要とされる。これは、ＧＰＩＯxx1及びＧＰＩＯxx2の値は、再起動後に初めて有効となるからである。
【００７６】
Ｓ２８において、再起動が必要と判断された場合には、ノートＰＣの再起動処理が行なわれ（Ｓ３１）、Ｓ２１の処理に戻る。一方、Ｓ２８において、再起動処理が不要と判断された場合には、後続する他の処理に進む（Ｓ２９）。
【００７７】
したがって、本実施の形態のコンピュータシステムによれば、複数のメモリモジュールが設けられている場合であっても、ＣＰＵ及び複数のメモリモジュールの動作周波数を判別し、この判別結果に基づいて動作周波数を設定しなおすので、コンピュータシステムの性能を引き出すことができ、また、コンピュータシステムの動作を安定化させることができる。
【００７８】
なお、本願発明は、上記各実施形態に限定されるものでなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合組み合わされた効果が得られる。さらに、上記各実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば実施形態に示される全構成要件から幾つかの構成要件が省略されることで発明が抽出された場合には、その抽出された発明を実施する場合には省略部分が周知慣用技術で適宜補われるものである。
【００７９】
【発明の効果】
以上詳記したように、本発明によれば、メモリ及びＣＰＵの現在の動作周波数の判別を行ない、その判別結果に基づいてメモリ及びＣＰＵの動作周波数を切り替えることにより、コンピュータシステムを安定に動作させるとともに、メモリ及びＣＰＵの性能を発揮することができるコンピュータシステムを提供することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係るコンピュータシステムを示すブロック図。
【図２】現在のＣＰＵの動作周波数を読み出す場合の動作を視覚的に説明するための図。
【図３】ＣＰＵのレジスタからＣＰＵの動作可能周波数を読み出す場合の動作を視覚的に説明するための図。
【図４】Ｉ／Ｏコントロールハブ４のＧＰＩＯxx2の設定を読み出す動作を視覚的に説明するための図。
【図５】ＳＰＤ３ａをＳＭバスｄを介して読み出す動作を視覚的に説明するための図。
【図６】ＣＰＵ１がレジスタ４ａの値を設定する動作を視覚的に説明するための図。
【図７】ＣＰＵ１のレジスタ４ａへの値を設定及びその後の動作を説明するための図。
【図８】再起動処理を視覚的に説明するための図。
【図９】本実施の形態に係るコンピュータシステムの回路図。
【図１０】本実施の形態に係るコンピュータシステムの動作を説明するためのフローチャート。
【図１１】本発明の第２の実施の形態に係るコンピュータシステムを示すブロック図。
【図１２】本実施の形態に係るコンピュータシステムの動作を説明するためのフローチャート。
【図１３】同実施の形態に係るコンピュータシステムの設定処理を説明するための図。
【符号の説明】
１…ＣＰＵ、
２…グラフィックメモリコントロールハブ、
３…メモリモジュール、
３ａ…ＳＰＤ，
４…Ｉ／Ｏコントロールハブ、
４ａ…レジスタ、
５…クロックジェネレータ、
６…ＥＣ／ＫＢＣ、
ａ〜ｅ…ハブ。
【図１】
0004373595.tif 000002
【図２】
0004373595.tif 000003
【図３】
0004373595.tif 000004
【図４】
0004373595.tif 000005
【図５】
0004373595.tif 000006
【図６】
0004373595.tif 000007
【図７】
0004373595.tif 000008
【図８】
0004373595.tif 000009
【図９】
0004373595.tif 000010
【図１０】
0004373595.tif 000011
【図１１】
0004373595.tif 000012
【図１２】
0004373595.tif 000013
【図１３】
0004373595.tif 000014