(57)【要約】【課題】  メモリモジュールへのクロック信号の供給による放射ノイズを低減するとともに、高速で安定したメモリアクセスを実現する。【解決手段】  メモリモジュールが装着されていないメモリスロットである空きメモリスロットに対するクロック信号の供給を停止するとともに、メモリモジュールが装着されているメモリスロットの数に応じ、メモリモジュールに供給するクロック信号の周波数を変更する（例えば、メモリスロットに装着されているメモリモジュールの数が少ないほど、メモリモジュールに供給するクロック信号の周波数を高くする）。これにより、メモリモジュールへのクロック信号の供給による放射ノイズを低減するとともに、高速で安定したメモリアクセスを実現することができる。【選択図】    図４
2006085607.tif 000002
【特許請求の範囲】
【請求項１】
メモリモジュールを装着可能なメモリスロットを複数備え、前記メモリスロットに装着された前記メモリモジュールに対してクロック信号を供給するメモリ制御装置において、
前記各メモリスロットに前記メモリモジュールが装着されているか否かを検出する手段と、
前記メモリモジュールが装着されていない前記メモリスロットに対するクロック信号の供給を停止する手段と、
前記メモリモジュールが装着されている前記メモリスロットの数を検出する手段と、
前記メモリスロットに装着されている前記メモリモジュールの数が少ないほど、前記メモリモジュールに供給するクロック信号の周波数を高くする手段と、
を備えることを特徴とするメモリ制御装置。
【請求項２】
メモリモジュールを装着可能なメモリスロットを複数備え、前記メモリスロットに装着された前記メモリモジュールに対してクロック信号を供給するメモリ制御装置において、
前記各メモリスロットに前記メモリモジュールが装着されているか否かを検出する手段と、
前記メモリモジュールが装着されていない前記メモリスロットに対するクロック信号の供給を停止する手段と、
前記メモリモジュールが装着されている前記メモリスロットの位置を検出する手段と、
隣接する前記メモリスロットに前記メモリモジュールが装着されている場合には、前記メモリモジュールに供給するクロック信号の周波数を低くする手段と、
を備えることを特徴とするメモリ制御装置。
【請求項３】
前記メモリモジュールに供給するクロック信号の周波数の変更は、前記メモリモジュールが装着されている前記メモリスロットの数とクロック信号の周波数との関係について予め規定したテーブルに従って行う、
ことを特徴とする請求項１記載のメモリ制御装置。
【請求項４】
前記メモリモジュールに供給するクロック信号の周波数の変更は、前記メモリモジュールが装着されている前記メモリスロットの位置とクロック信号の周波数との関係について予め規定したテーブルに従って行う、
ことを特徴とする請求項２記載のメモリ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリモジュールを装着可能なメモリスロットを複数備え、前記メモリスロットに装着された前記メモリモジュールに対してクロック信号を供給するメモリ制御装置に関する。
【背景技術】
【０００２】
パーソナルコンピュータ等においては、メモリモジュールを搭載するためのメモリスロットを、例えばマザーボード上に複数設けている。このようにメモリモジュールを搭載するためのメモリスロットを複数設けるのは、例えば性能向上等の目的で搭載メモリ量を増加可能にするためである。
【０００３】
例えば、メインメモリにＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）を用いる場合には、通常、ＤＩＭＭ（Dual Inline Memory Module）等のメモリモジュールを使用し、複数用意されたメモリスロットに装着するメモリモジュールの枚数を変更することにより、性能向上等を図ることが可能になっている。
【０００４】
ところで、ＳＤＲＡＭのようなメモリを動作可能にするためには、メモリモジュールに対して動作用クロックを供給する必要がある。そのため、メモリスロットには、アドレス線やデータ線、メモリチップの制御線に加えて、動作用クロック信号を供給するためのクロック供給線が接続されている（特許文献１参照）。なお、ＦＰＭ−ＤＲＡＭ（Fast Page Mode-DRAM）やＥＤＯ−ＤＲＡＭ（Extended Output-DRAM）等をメモリとして用いる場合には、メモリモジュールに対して動作用クロック信号を供給する必要はない。
【０００５】
メモリスロットに挿し込まれたメモリモジュールのクロック周波数やタイミングの設定方法としては、クロック周波数やタイミングを固定で設定する方法、ユーザがＢＩＯＳセットアップ等でクロック周波数やタイミングを設定する方法、メモリモジュールがＤＩＭＭの場合においてＳＰＤ（Serial Presence Detect）によりクロック周波数やタイミングを自動的に設定する方法などがある。
【０００６】
そして、メモリモジュールが複数存在する場合には、前述の方法により、全メモリスロットまとめてクロック周波数やタイミングの設定を行う。
【０００７】
【特許文献１】特開２００１−３３１３６５公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところで、搭載するメモリモジュールの枚数がマザーボード上に用意されている全てのメモリスロット数を満たさない場合、メモリモジュールが装着されないメモリスロット（空きメモリスロット）が存在することになる。そして、従来の技術によれば、全メモリスロットまとめてクロック周波数やタイミングの設定を行うことから、空きメモリスロットに対しても動作用クロック信号を供給するようになっている。
【０００９】
しかしながら、空きメモリスロットに対して動作用クロック信号を供給し続けた場合には、マザーボードにおいて使用されないクロック信号がパターンを介して流れたままになってしまい、クロック供給線から放射ノイズが発生することになる。具体的には、空きメモリスロットの端子部が開放端となるような配線となることから、この開放クロック供給線からノイズが発生することになる。このようなクロック供給線から発生する放射ノイズは、他の信号に悪影響（スキュー、クロストーク等）を与えるものである。特に、ＳＤＲＡＭ等のように高速のクロック信号を供給する場合には、より影響が大きくなる。
【００１０】
本発明は、メモリモジュールへのクロック信号の供給による放射ノイズを低減するとともに、高速で安定したメモリアクセスを実現することを目的とする。
【課題を解決するための手段】
【００１１】
本発明は、メモリモジュールを装着可能なメモリスロットを複数備え、前記メモリスロットに装着された前記メモリモジュールに対してクロック信号を供給するメモリ制御装置において、前記各メモリスロットに前記メモリモジュールが装着されているか否かを検出する手段と、前記メモリモジュールが装着されていない前記メモリスロットに対するクロック信号の供給を停止する手段と、前記メモリモジュールが装着されている前記メモリスロットの数を検出する手段と、前記メモリスロットに装着されている前記メモリモジュールの数が少ないほど、前記メモリモジュールに供給するクロック信号の周波数を高くする手段と、を備える。
【００１２】
本発明は、メモリモジュールを装着可能なメモリスロットを複数備え、前記メモリスロットに装着された前記メモリモジュールに対してクロック信号を供給するメモリ制御装置において、前記各メモリスロットに前記メモリモジュールが装着されているか否かを検出する手段と、前記メモリモジュールが装着されていない前記メモリスロットに対するクロック信号の供給を停止する手段と、前記メモリモジュールが装着されている前記メモリスロットの位置を検出する手段と、隣接する前記メモリスロットに前記メモリモジュールが装着されている場合には、前記メモリモジュールに供給するクロック信号の周波数を低くする手段と、を備える。
【発明の効果】
【００１３】
本発明によれば、メモリモジュールへのクロック信号の供給による放射ノイズを低減するとともに、高速で安定したメモリアクセスを実現することができる。
【発明を実施するための最良の形態】
【００１４】
[第一の実施の形態]
本発明の第一の実施の形態を図１ないし図４に基づいて説明する。
【００１５】
本実施の形態は、メモリ制御装置としてパーソナルコンピュータ（以下、ＰＣと略す。）を適用した例である。
【００１６】
ここで、図１はＰＣ１００の構成を概略的に示すブロック図、図２はＰＣ１００に内蔵されているマザーボード２００を示す斜視図である。図１または図２に示すように、ＰＣ１００は、各部の制御を司るマイクロプロセッサであるＣＰＵ（Central Processing Unit）１をマザーボード２００上に備えており、このＣＰＵ１に対してメモリコントローラ２と、メモリモジュールＭをそれぞれ着脱可能に保持する４つのメモリスロット３，４，５，６とがバス接続されている。メモリコントローラ２及びメモリスロット３，４，５，６は、ＣＰＵ１と同様に、マザーボード２００上に設けられている。なお、メモリモジュールＭは、動作用クロックの供給する必要があるＤＩＭＭである。このようなメモリモジュールＭには、後述する“Index”値などが設定されている。
【００１７】
なお、本実施の形態においては、メモリスロット３は“Ｎｏ．１”のメモリスロット、メモリスロット４は“Ｎｏ．２”のメモリスロット、メモリスロット５は“Ｎｏ．３”のメモリスロット、メモリスロット６は“Ｎｏ．４”のメモリスロットと規定されている。
【００１８】
メモリコントローラ２は、メモリスロット３〜６に装着されたメモリモジュールＭに対してデータの読み出し／書き込みを行う際に、ＣＰＵ１とメモリモジュールＭとの間で制御の仲介を行う。より詳細には、メモリコントローラ２は、ＣＰＵ１とメモリモジュールＭとの間でデータバスのバス幅の変換や、メモリモジュールＭに対するＤＭＡ（Direct Memory Access）動作の実行等のメモリアクセスに関する各種の制御動作を実行する。
【００１９】
このようなメモリコントローラ２は、クロックジェネレータ７、クロックドライバ８を備えており、メモリスロット３〜６に対してクロック信号CLKを供給する。クロックジェネレータ７は、メモリモジュールＭ用の動作用のクロック信号を供給する。クロックドライバ８は、クロックジェネレータ７から供給されたクロック信号をメモリモジュールＭに供給するために分配する。
【００２０】
加えて、本実施の形態のＰＣ１００のＣＰＵ１には、クロック制御用マイコン９がバス接続されている。このクロック制御用マイコン９は、クロックジェネレータ７のクロック周波数を設定したり、クロックドライバ８におけるクロック信号の各メモリスロット３〜６に対する分配を制御するものである。
【００２１】
さらに、ＰＣ１００のＣＰＵ１には、ＢＩＯＳ（Basic Input Output System）等を格納するＲＯＭ（Read Only Memory）１０や、操作者がＰＣ１００に命令や情報等を入力するためのキーボード１２、処理経過や処理結果等を操作者に表示する表示器１３、オペレーティングシステムやアプリケーションプログラム等を記憶するＨＤＤ（Hard Disk Drive）１４等を接続するためのＩ／Ｏ機器制御部１１がバス接続されている。なお、ＲＯＭ１０やＩ／Ｏ機器制御部１１も、ＣＰＵ１、メモリコントローラ２、メモリスロット３，４，５，６と同様に、マザーボード２００上に設けられている。
【００２２】
次に、本実施の形態のＰＣ１００が備える特長的な機能について説明する。
【００２３】
ＰＣ１００のＣＰＵ１は、電源（図示せず）が投入されると、ＲＯＭ１０内のＢＩＯＳにより各デバイスを初期化したり各種設定を行なう（この動作をブートという）。本実施の形態においては、このブートの際に、ＰＣ１００のＣＰＵ１は、メモリスロット３〜６にメモリモジュールＭが装着されているか否か、すなわち空きスロットが存在するか否かを確認する。ここで、メモリスロット３〜６にメモリモジュールＭが装着されているか否かの検出手法について説明する。メモリモジュールＭがＤＩＭＭである場合には、ＳＰＤ（Serial Presence Detect）により、メモリスロット３〜６毎にメモリモジュールＭの“Index”の取得を行い、その“Index”の値に基づいてＢＩＯＳでメモリスロット３〜６にメモリモジュールＭが装着されているか否かの判別を行う。例えば、メモリスロット３にメモリモジュールＭが装着されていれば“Index＝０１ｈ”、メモリスロット３にメモリモジュールＭが装着されていなければ“Index＝ＦＦｈ”という具合である。
【００２４】
そして、上記の検出手法によりメモリモジュールＭが装着されていないメモリスロット（空きメモリスロット）を検出した場合、ＰＣ１００のＣＰＵ１は、空きメモリスロットに対するクロック信号の供給を停止する。具体的には、ＰＣ１００のＣＰＵ１は、クロック制御用マイコン９に対して空きメモリスロットを伝達する。空きメモリスロットを伝達されたクロック制御用マイコン９は、メモリコントローラ２のクロックドライバ８を制御し、空きメモリスロットへのクロック信号の分配を行わせないようにする。
【００２５】
加えて、ＰＣ１００のＣＰＵ１は、メモリスロット３〜６に装着されているメモリモジュールＭの数によって、メモリモジュールＭに供給するクロック信号のクロック周波数を変更する。一般的に、クロック周波数が高いほど、コンピュータの処理速度は速くなる。具体的には、ＰＣ１００のＣＰＵ１は、クロック制御用マイコン９に対して空きメモリスロットを伝達する。空きメモリスロットを伝達されたクロック制御用マイコン９は、空きメモリスロットの数に応じてクロック周波数を変更する。ここで、クロック制御用マイコン９は、図３に示すテーブルＴ１に従ってクロック周波数を設定する。テーブルＴ１は、メモリモジュールＭが装着されているメモリスロット３〜６の数とクロック周波数との関係について予め規定したテーブルであり、クロック制御用マイコン９に格納されている。
【００２６】
ここで、図４はクロック周波数の設定例を示す説明図である。図４に示すように、例１では、４つあるメモリスロットのうちの“Ｎｏ．１”であるメモリスロット３のみにメモリモジュールＭが装着されている場合で、この時のクロック周波数はメモリ数が１ということで、テーブルＴ１に従い１３３ＭＨｚに設定する。例２では、４つあるメモリスロットのうちの“Ｎｏ．１”〜“Ｎｏ．３”であるメモリスロット３〜５にメモリモジュールＭが装着されている場合で、この時のクロック周波数はメモリ数が３ということで、テーブルＴ１に従い１００ＭＨｚに設定する。例３では、４つあるメモリスロットのうちの“Ｎｏ．１”〜“Ｎｏ．４”であるメモリスロット３〜６の全てにメモリモジュールＭが装着されている場合で、この時のクロック周波数はメモリ数が４ということで、テーブルＴ１に従い６６ＭＨｚに設定する。
【００２７】
上述の処理が終了した後、ＣＰＵ１はＲＯＭ１０内のＢＩＯＳに含まれるローダーというプログラムを起動させ、ＨＤＤ１４からオペレーティングシステムをメモリスロット３〜６に装着されているメモリモジュールＭに読み込む。オペレーティングシステムは起動すると、ユーザの操作に応じてアプリケーションプログラムの起動、情報の読み込み、保存等をサポートする。
【００２８】
このようにメモリスロット３〜６に装着されているメモリモジュールＭの数が少ないほど、メモリモジュールＭに供給するクロック信号のクロック周波数を高くするようにしたことにより、高速で安定したメモリアクセスを実現することが可能になる。
【００２９】
このように本実施の形態によれば、メモリモジュールＭが装着されていないメモリスロットである空きメモリスロットに対するクロック信号の供給を停止するとともに、メモリスロット３〜６に装着されているメモリモジュールＭの数が少ないほど、メモリモジュールＭに供給するクロック信号の周波数を高くすることにより、メモリモジュールＭへのクロック信号の供給による放射ノイズを低減するとともに、高速で安定したメモリアクセスを実現することができる。
【００３０】
[第二の実施の形態]
本発明の第二の実施の形態を図５および図６に基づいて説明する。なお、前述した第一の実施の形態と同一部分は同一符号で示し説明も省略する。
【００３１】
第一の実施の形態においては、メモリスロット３〜６に装着されているメモリモジュールＭの数によって、メモリモジュールＭに供給するクロック信号のクロック周波数を変更するようにしたが、本実施の形態のＰＣ１００のＣＰＵ１は、メモリモジュールＭが装着されているメモリスロット３〜６の位置によって、メモリモジュールＭに供給するクロック信号のクロック周波数を変更するようにしたものである。具体的には、ＰＣ１００のＣＰＵ１は、クロック制御用マイコン９に対して空きメモリスロットを伝達する。空きメモリスロットを伝達されたクロック制御用マイコン９は、メモリモジュールＭが装着されているメモリスロット３〜６の位置に応じてクロック周波数を変更する。ここで、クロック制御用マイコン９は、図５に示すテーブルＴ２に従ってクロック周波数を設定する。テーブルＴ２は、メモリモジュールＭが装着されているメモリスロット３〜６の位置とクロック周波数との関係についてシミュレーション等によって予め規定したテーブルであり、クロック制御用マイコン９に格納されている。例えば、周波数が高い場合には隣接するメモリスロットからの影響を受けやすいため、隣接するメモリスロットにメモリモジュールＭが装着されている場合には、メモリモジュールＭに供給するクロック信号のクロック周波数を低くするようにしている。なお、テーブルＴ２には、考えられる組み合わせの全てについて、設定値を設けるのが望ましい。
【００３２】
ここで、図６はクロック周波数の設定例を示す図である。図６に示すように、例４では、４つあるメモリスロットのうちの“Ｎｏ．１”と“Ｎｏ．３”であるメモリスロット３，５にメモリモジュールＭが装着されている場合で、この時のクロック周波数はテーブルＴ２より１００ＭＨｚに設定する。例５では、４つあるメモリスロットのうちの“Ｎｏ．１”と“Ｎｏ．４”であるメモリスロット３，６にメモリモジュールＭが装着されている場合で、この時のクロック周波数はテーブルＴ２より１３３ＭＨｚに設定する。
【００３３】
上述の処理が終了した後、ＣＰＵ１はＲＯＭ１０内のＢＩＯＳに含まれるローダーというプログラムを起動させ、ＨＤＤ１４からオペレーティングシステムをメモリスロット３〜６に装着されているメモリモジュールＭに読み込む。オペレーティングシステムは起動すると、ユーザの操作に応じてアプリケーションプログラムの起動、情報の読み込み、保存等をサポートする。
【００３４】
このようにメモリモジュールＭが装着されているメモリスロット３〜６の位置によって、メモリモジュールＭに供給するクロック信号のクロック周波数を変更するようにしたことにより、高速で安定したメモリアクセスを実現することが可能になる。
【００３５】
このように本実施の形態によれば、メモリモジュールＭが装着されていないメモリスロットである空きメモリスロットに対するクロック信号の供給を停止するとともに、隣接するメモリスロットにメモリモジュールＭが装着されている場合には、メモリモジュールＭに供給するクロック信号の周波数を低くすることにより、メモリモジュールＭへのクロック信号の供給による放射ノイズを低減するとともに、高速で安定したメモリアクセスを実現することができる。
【図面の簡単な説明】
【００３６】
【図１】本発明の第一の実施の形態のＰＣの構成を概略的に示すブロック図である。
【図２】ＰＣに内蔵されているマザーボードを示す斜視図である。
【図３】クロック制御用マイコンに格納されているテーブルＴ１を示す模式図である。
【図４】クロック周波数の設定例を示す説明図である。
【図５】本発明の第二の実施の形態のクロック制御用マイコンに格納されているテーブルＴ２を示す模式図である。
【図６】クロック周波数の設定例を示す説明図である。
【符号の説明】
【００３７】
３〜６…メモリスロット、Ｍ…メモリモジュール、Ｔ１，Ｔ２…テーブル
【図１】
2006085607.tif 000003
【図２】
2006085607.tif 000004
【図３】
2006085607.tif 000005
【図４】
2006085607.tif 000006
【図５】
2006085607.tif 000007
【図６】
2006085607.tif 000008