(57)【特許請求の範囲】
【請求項１】
以下の(a)から(d)を設け、メモリ・モジュール対として構成され、夫々が存在検出ビットを生成するメモリ・モジュールのメモリ構成を、当該メモリ・モジュールを制御するに当たって使用するために決定する装置：
(a) 前記存在検出ビットを前記メモリ・モジュールの各々から並列に受け取ってストアする外部レジスタ：前記存在検出ビットはメモリ・モジュール容量及びメモリ・モジュール速度を表す符号化されたビットを含む；
(b) 前記メモリ・モジュールを制御するメモリ・コントローラ集積回路：前記外部レジスタは前記メモリ・コントローラ集積回路の外部に設けられ、前記メモリ・コントローラ集積回路は前記存在検出ビットをストアする内部レジスタを含む；
(c) 前記存在検出ビットを前記外部レジスタから前記内部レジスタへ直列に転送する手段；
(d) 前記メモリ・コントローラ集積回路内にあって、前記存在検出ビットに応答してメモリ構成を決定する論理手段：該論理手段は、メモリ構成レジスタと、前記メモリ・モジュール対の存在検出ビットを比較する比較手段と、前記比較手段に応答して、前記比較手段が前記メモリ・モジュール対の前記存在検出ビットがマッチしたことを示した場合にはメモリ・モジュール対の一つのメモリ・モジュールの前記存在検出ビットを前記メモリ構成レジスタにロードし、前記比較手段が前記メモリ・モジュール対の前記存在検出ビットがマッチしていないことを示した場合には予め定められたミスマッチ・コードを前記メモリ構成レジスタにロードするセレクタ手段を有する。
【請求項２】
前記直列に転送する手段は前記メモリ・コントローラ集積回路上に単一のデータ線及び単一のクロック線を有することを特徴とする請求項１記載の装置。
【請求項３】
前記外部レジスタ及び前記メモリ・コントローラ集積回路をマウントする回路基板を有することを特徴とする請求項１記載の装置。
【請求項４】
前記比較手段は前記メモリ・モジュール対毎に比較器を含み、
前記セレクタ手段は前記メモリ・モジュール対毎にデータ・セレクタを含むことを特徴とする請求項１記載の装置。
【請求項５】
前記メモリ構成レジスタは前記存在検出ビットまたは前記ミスマッチ・コードを前記メモリ・モジュール対毎にストアするための手段を含むことを特徴とする請求項４記載の装置。
【請求項６】
以下の(a)から(d)を設け、夫々が存在検出ビットを生成するメモリ・モジュールの１つまたは複数の対のメモリ構成を、当該メモリ・モジュールを制御するに当たって使用するために決定する装置：
(a) 前記存在検出ビットを前記メモリ・モジュールの各々から並列に受け取ってストアするレジスタ：前記存在検出ビットはメモリ・モジュール容量及びメモリ・モジュール速度を表す符号化されたビットを含む；
(b) メモリ構成レジスタ；
(c) 前記メモリ・モジュールの各々の前記存在検出ビットを比較して前記メモリ・モジュールの対の各々についてマッチ信号あるいはミスマッチ信号を生成する比較手段：前記マッチ信号は対応する前記メモリ・モジュールの対の前記存在検出信号の間でマッチが取れたことを表し、前記ミスマッチ信号は対応する前記メモリ・モジュールの対の前記存在検出信号の間でマッチが取れなかったことを表す；
(d) 前記マッチ信号に応答して対応する前記メモリ・モジュールの対の１つのメモリ・モジュールの前記存在検出信号を前記メモリ構成レジスタにロードし、前記ミスマッチ信号に応答して予め定められたミスマッチ・コードを前記メモリ構成レジスタにロードするセレクタ手段。
【請求項７】
前記比較手段は前記メモリ・モジュールの対毎に比較器を含み、
前記比較器はマッチ信号またはミスマッチ信号を生成することを特徴とする請求項６記載の装置。
【請求項８】
前記セレクタ手段は前記メモリ・モジュールの対毎に前記マッチ信号またはミスマッチ信号に応答するデータ・セレクタを含むことを特徴とする請求項７記載の装置。
【請求項９】
前記メモリ・モジュール、前記レジスタ、前記メモリ構成レジスタ、前記比較手段及び前記セレクタ手段をその中に含むとともにこれらを制御するメモリ・コントローラ集積回路を含むことを特徴とする請求項６記載の装置。
【請求項１０】
前記メモリ・コントローラ集積回路上の単一のデータ線及び単一のクロック線を使って前記存在検出ビットを前記レジスタに直列に転送する手段を含むことを特徴とする請求項９記載の装置。
【発明の詳細な説明】
【０００１】
【発明の技術分野】
この発明はコンピュータ・メモリを制御するための技術に関するものであり、より詳細には、ユーザ依存で構成されるコンピュータ・メモリの構成を自動的に決定するための装置に関するものである。
【０００２】
【発明の背景】
コンピュータ・メモリについての要求は、該コンピュータの適用に依存して、その容量、速度、データ・バスの幅等に関して広範に変動している。汎用コンピュータの製造業者にとって通常のことは、モジュール式のメモリ・サブシステムを提供することである。メモリ・サブシステムに含まれているものは、メモリ・モジュールのための多くのスロットまたはコネクタである。メモリ・モジュールは、その適用に依存して、幾つかのまたは全てのスロットに搭載される。該メモリ・モジュールは、その容量、動作速度、データ・バスの幅等について変動するものである。
【０００３】
典型的なコンピュータで用いられるメモリ・コントローラは、ＣＰＵ  によって供給されるメモリ・アドレスを、ある特定のメモリ位置をアクセスするための所要のアドレス信号およびコントロール信号に変換するためのものである。典型的なメモリ・コントローラによって発生されるものは、列アドレス・ストローブ、行アドレス・ストローブおよびライト・イネーブル信号である。該メモリ・コントローラは典型的には一つまたは複数の大規模集積回路において実施される。メモリがモジュール式のものであるときには、メモリ・コントローラおよび  ＣＰＵ  は、システム内に存在するメモリ・モジュールに対して所要のアドレス信号およびコントロール信号を供給するために、メモリの構成を規定する情報を受け入れねばならない。このために、各々のメモリ・モジュールが、そのコネクタにおいて、多くの存在検出コードまたは存在検出ビットを生成させることは通常のことである。該存在検出ビットに含まれている情報は、メモリ・モジュールの容量、ＤＲＡＭ  デバイスの速度等に関するものである。メモリ構成は該存在検出ビットから決定される。存在検出ビットを生成させる例示的なメモリ・モジュールは、単一のインライン式のメモリ・モジュール（ＳＩＭＭ）である。
【０００４】
多くの存在検出ビットがメモリ・コントローラによって処理されねばならない。典型的なメモリ・サブシステムには８個までのメモリ・モジュールを含ませることが可能であり、その各々により６個の存在検出ビットが発生され、総体的には４８個の存在検出ビットになる。この情報は、Ｉ／Ｏ  ピンの本数に制限があるメモリ・コントローラ集積回路に入力されねばならない。先行技術のシステムにおける存在検出ビットは、メモリ・モジュールから並列に利用可能であることから、典型的には、並列にラッチされたものであった。
【０００５】
実在するメモリ・サブシステムにおけるメモリ・モジュールは、広いデータ・バスを達成させるために対にして用いられる。例えば、標準的なメモリ・モジュールでは３２ビットのデータ・バスが利用可能であるが、多くのコンピュータ・システムでは６４ビットのメモリ・データ・バスが必要とされる。このために、６４ビットのデータ・バスを達成させるためには、メモリ・モジュールを対にして備え付けることが必要である。この場合において、各対のメモリ・モジュールは同等のものでなければならない。コンピュータ・システムは、異なるメモリ・モジュールを、ユーザの不注意から対のものとして備え付けたことを決定できるものでなければならない。先行技術のシステムにおいては、メモリ・モジュールの対のミスマッチを決定することは、システムのソフトウエアによって実行されていた。このアプローチの不利な点は、時間のかかるソフトウエアの介在を必要とすること、および、メモリ・モジュールのミスマッチを認識するために、システムのソフトウエアにおいて多くのレジスタを必要とすることである。
【０００６】
【発明の目的】
この発明の目的は、メモリ・モジュールのメモリ構成を決定するための装置を設けて前記の不利な点を解消することにある。
【０００７】
【発明の概要】
メモリ・モジュールの各々によって存在検出ビットが生成される。本発明の装置に含まれている外部レジスタは、該メモリ・モジュールの各々からの存在検出ビットの受け入れおよび格納のためのものであり、また、メモリ・コントローラの集積回路は、メモリ・モジュールを制御するためのものである。該メモリ・コントローラの集積回路に含まれている内部レジスタは、存在検出ビットを格納するためのものである。該装置に更に含まれているものは、外部レジスタからの存在検出ビットを内部レジスタに対して直列的に伝送するための手段、および、該存在検出ビットに応答してメモリ構成を決定するための、メモリ・コントローラの集積回路内のロジック手段である。存在検出ビットを直列的に伝送するための手段に好適に含まれているものは、メモリ・コントローラの集積回路上の単一のデータ・ラインおよび単一のクロック・ラインである。好適な実施例においては、メモリ・モジュール、外部レジスタおよびメモリ・コントローラの集積回路は、単一の回路板上に搭載される。
【０００８】
メモリ構成を決定するためのロジック手段に好適に含まれているものは、メモリ構成レジスタ、メモリ・モジュールの対の存在検出ビットを比較するための比較手段、および、メモリ・モジュールの対の存在検出ビットがマッチしていることが比較手段によって指示されたときに、該比較手段に応答して、メモリ・モジュールの対の存在検出ビットをメモリ構成レジスタにロードし、また、メモリ・モジュールの対の存在検出ビットがミスマッチしていることが比較手段によって指示されたときには、ミスマッチ・コードをメモリ構成レジスタにロードするためのセレクタ手段である。比較手段に好適に含まれているものは、メモリ・モジュールの各対のための比較器である。セレクタ手段に好適に含まれているものは、メモリ・モジュールの各対のためのデータ・セレクタである。
【０００９】
この発明の別の局面によれば、一対または複数対のメモリ・モジュールのメモリ構成を決定するための装置が提供される。該メモリ構成はメモリ・モジュールを制御する際に用いられる。メモリ・モジュールの各々により存在検出ビットが生成される。該装置に含まれているものは、メモリ・モジュールの各々によって生成された存在検出ビットを受け入れ、該存在検出ビットを格納するためのレジスタ、メモリ構成レジスタ、メモリ・モジュールの各対の存在検出ビットを比較して、マッチ信号またはミスマッチ信号を発生させるための比較手段、および、該マッチ信号に応答してメモリ・モジュールの対応する対の存在検出ビットを該メモリ構成レジスタにロードし、また、該ミスマッチ信号に応答してミスマッチ・コードを該メモリ構成レジスタにロードするためのセレクタ手段である。該レジスタ、メモリ構成レジスタ、比較手段およびセレクタ手段は、好適には、メモリ・コントローラの集積回路内に構成される。
【００１０】
【発明の実施例】
図１に示されているものは、この発明を取り込んでなるコンピュータ・システムのブロック図である。コンピュータ・システム１０に含まれているものは、マイクプロセッサ１２のような中央処理ユニット（ＣＰＵ）である。メモリ・サブシステムに含まれているものは、メモリ・コントローラ１４およびメモリ１６である。メモリ・コントローラ１４は、マイクプロセッサ１２による、メモリ１６に対するアクセスの制御をする。コンピュータ・システム１０に更に含まれている入出力（Ｉ／Ｏ）コントローラ２０は、Ｉ／Ｏ  デバイス（図示されない）との通信の制御をする。マイクプロセッサ１２，メモリ・コントローラ１４およびＩ／Ｏ  コントローラ２０はバス２４に接続されており、そして、このバス２４上での通信をする。
【００１１】
メモリ・コントローラ１４は典型的には大規模集積回路であり、バス２４上でマイクプロセッサ１２からのアドレスを受け入れ、また、メモリ１６における特定の位置に対する読み取りまたは書き込みのために、メモリ１６に対してコントロール信号を付与する。後述されるように、メモリ１６は、外部レジスタ２８に対して存在検出ビットを付与する。この存在検出ビットは、クロック・ライン３２上のクロック信号の制御の下に、データ・ライン３０上でメモリ・コントローラ１４に入力される。
【００１２】
図２には、メモリ・サブシステムがより詳細に示されている。メモリ・コントローラ１４からのアドレスが、アドレス・バス３８によってメモリ１６まで搬送され、また、メモリ１６とメモリ・コントローラ１４との間で、データがデータ・バス４０によって搬送される。メモリ・コントローラ１４により、コントロール信号がメモリ１６に与えられる。より詳細には、行アドレス・ストローブ（ＣＡＳ）信号  ＣＡＳ０，ＣＡＳ１，および、列アドレス・ストローブ（ＲＡＳ）信号  ＲＡＳ０，ＲＡＳ１，ＲＡＳ２，ＲＡＳ３，ＲＡＳ４，ＲＡＳ５，ＲＡＳ６  および  ＲＡＳ７  が、メモリ・コントローラ１４によって発生される。ＣＡＳ０  および  ＣＡＳ１  信号は、行アドレスを、メモリ１６のダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）にストローブするために用いられる。同様にして、ＲＡＳ０  −  ＲＡＳ７信号は、列アドレスをメモリ１６の  ＤＲＡＭ  チップにストローブするために用いられる。メモリ１６内の位置がアクセス可能になるのに先立ち、その行アドレスおよび列アドレスが、ＣＡＳ  信号および  ＲＡＳ  信号を用いてＤＲＡＭ  チップにストローブされねばならない。ライト・イネーブル（ＷＥ）信号は、メモリ・コントローラ１４により生成されて、メモリ１６の  ＤＲＡＭ  チップに対してデータを書込むことが可能化される。
【００１３】
メモリ１６に含まれているドライバ４２は、アドレス・バス３８上のアドレス，ＣＡＳ０，ＣＡＳ１  信号、ＲＡＳ０  −  ＲＡＳ７信号を受け入れて駆動するものである。この例においては、メモリ１６には  ８  個のスロットまたはコネクタが含まれており、その中にメモリ・モジュールを装着することができる。各々のスロットは単一のメモリ・モジュールを保持することができる。コンピュータ・システム１０のユーザは、メモリ・モジュールをスロット内に装着することにより、ある特定の適用に対して要求されるようなシステムの構成をする。図２の例においては、８  個のスロットの各々は、単一のインライン・メモリ・モジュール（ＳＩＭＭ）によってロードされる。ＳＩＭＭ  は産業上の標準をなすメモリ・モジュールである。ある好適な実施例においては、メモリ１６は  Ｘ３６  ＥＣＣ  ＳＩＭＭでもって動作する。スロット  ０  は  ＳＩＭＭ  １ａ  をもってロードされる；スロット  １  は  ＳＩＭＭ  １ｂ  をもってロードされる；スロット  ２は  ＳＩＭＭ  ２ａ  をもってロードされる；スロット  ３  は  ＳＩＭＭ  ２ｂ  をもってロードされる；スロット  ４  は  ＳＩＭＭ  ３ａ  をもってロードされる；スロット  ５  は  ＳＩＭＭ  ３ｂ  をもってロードされる；スロット  ６  は  ＳＩＭＭ  ４ａ  をもってロードされる；そして、スロット  ７  は  ＳＩＭＭ  ４ｂ  をもってロードされる。これらの  ＳＩＭＭ  は典型的には  ３６  ビットのデータ出力を有している。この例におけるデータ幅は  ７２  ビットであり、ＳＩＭＭ  は、１ａと１ｂ，２ａと２ｂ，３ａと３ｂ，および  ４ａと４ｂ  の対をなしてアドレスされる。（ＳＩＭＭ  １ａ  と  １ｂ  のような）各対の  ＳＩＭＭ  は、同じ  ＲＡＳ  信号および  ＣＡＳ  信号を受け入れるように相互に連結されている。データ・バス４０は  ＳＩＭＭ  の各対に接続されていて、ビット  ０  −  ３５  は該当の対の第１の  ＳＩＭＭ  に接続し、ビット  ３６  −  ７２  は該当の対の第２の  ＳＩＭＭ  に接続するようにされている。
【００１４】
各  ＳＩＭＭ  は  １８  個までの  ＤＲＡＭ  チップを含むことが可能であり、これらのチップは、１  ＭＢｉｔ  チップ、４  ＭＢｉｔ  チップまたは  １６  ＭＢｉｔ  チップであることができる。単一の  ＳＩＭＭ  上における全ての  ＤＲＡＭ  チップは同じメモリ容量のものである。対にされた  ＳＩＭＭ  の各々は、同じメモリ容量の  ＤＲＡＭ  チップを含まねばならない。各  ＳＩＭＭ  はフル・ポピュレーションまたはハーフ・ポピュレーションにすることができる。フル・ポピュレーションにされた  ＳＩＭＭ  には、各側部に  ９  個の  ＤＲＡＭ  チップ（総体では  １８  個の  ＤＲＡＭ  チップ）が含まれている。ハーフ・ポピュレーションにされた  ＳＩＭＭ  には、一方の側部に  ９  個の  ＤＲＡＭ  チップが含まれている。
【００１５】
ＳＩＭＭ  の各対の対応する側部上の  ＤＲＡＭ  チップにより、一つの  ＤＲＡＭ  バンクが構成される。例えば、ＳＩＭＭ  １ａ  および  ＳＩＭＭ  １ｂ  の一方の側部の  ＤＲＡＭ  チップにより  ＤＲＡＭ  バンク  ０  が形成される。ＳＩＭＭ１ａ  および  ＳＩＭＭ  １ｂ  の他方の側部の  ＤＲＡＭ  チップにより  ＤＲＡＭバンク  １  が形成される。同様にして、ＳＩＭＭ  ２ａ  および  ２ｂ  には  ＤＲＡＭ  バンク  ２  および  ３  が含まれている；ＳＩＭＭ  ３ａ  および  ３ｂ  には  ＤＲＡＭ  バンク  ４  および  ５  が含まれている；そして、ＳＩＭＭ  ４ａ  および  ４ｂ  には  ＤＲＡＭ  バンク  ６  および  ７  が含まれている。
【００１６】
メモリ１６から出力される存在検出ビットは、後述されるように、メモリの構成を決定するために用いられる。メモリ１６におけるメモリ・モジュールまたはＳＩＭＭ  の各々により、総体的には  ４８  ビットの、６  存在検出ビットが生成される。各  ＳＩＭＭ  からの  ６  ビットはコード化されて、ＤＲＡＭ  チップのメモリ・モジュール・サイズおよび速度を指示するようにされる。
【００１７】
図３には、メモリ・モジュール  ＳＩＭＭ  １ａ  がより詳細に示されている。メモリ１６における他の  ＳＩＭＭ  も同じ構成を有している。ＳＩＭＭ  １ａ  には  ＤＲＡＭ  バンク  ０  および  ＤＲＡＭ  バンク  １  が含まれている。ＤＲＡＭバンク  ０  および  １  のデータ・ラインはデータ・バス４０に接続されており、また、ＤＲＡＭ  バンク  ０  および  １  のアドレス・ラインはアドレス・バス３８に接続されている。ＳＩＭＭ  １ａ  上の  ＤＲＡＭ  チップのサイズに依存して、該アドレス・バスは、９  −  １２  ビットのアドレスを搬送することができる。ＤＲＡＭ  バンク  ０  は、ＲＡＳ０  信号および  ＣＡＳ０  信号を受け入れる。ＤＲＡＭ  バンク  １  は、ＲＡＳ１  信号および  ＣＡＳ１  信号を受け入れる。ＤＲＡＭ  バンク  ０  および  １  の双方は、メモリ・コントローラ１４からのライト・イネーブル信号を受け入れる。ＳＩＭＭ  １ａ  では、後述されるようなメモリ構成を決定するための  ６  存在検出ビットが生成される。ＲＡＳ，ＣＡＳ  とライト・イネーブル信号、および、メモリ・モジュールの  ＤＲＡＭ  チップをアクセスするための列アドレスと行アドレスを発生させることの技術は、当業者には一般に知られていることである。好適なメモリ・コントローラの望ましい特徴については、共に係属中の次の米国特許出願に開示されている。即ち、１９９２年８月３１日になされた米国特許出願第０７／９３８，９０１号、および、１９９２年８月３１日になされた米国特許出願第０７／９３８，１１３号に開示されている。これらは、ここでの参照によって取り込まれる。
【００１８】
図４には、この発明によるメモリ構成を決定するための装置のブロック図が示されている。ＳＩＭＭ  １ａ，１ｂ，２ａ，２ｂ，３ａ，３ｂ，４ａ  および  ４ｂ  は、外部シフト・レジスタ２８に対して、存在検出ビットを並列に供給する。外部レジスタ２８は、コンピュータ・システム内で装着される最大数のメモリ・モジュールに対する存在検出ビットを格納するのに十分な容量を有している。この例においては、システムは  ８  個までの  ＳＩＭＭ  を受け入れることが可能であり、該  ＳＩＭＭ  の各々からは  ６  存在検出ビットが生成される。このために、外部レジスタ２８は  ４８  ビットの容量を有している。この外部レジスタ２８は、好適には、メモリ・モジュールと同じ回路板上に搭載される。
【００１９】
更に、この発明によれば、大規模集積回路として実施されたメモリ・コントローラ１４には、内部シフト・レジスタ５０が含まれている。この内部レジスタ５０は好適には外部レジスタ２８と同じ容量を有している。メモリ・コントローラ１４によって発生されたクロック信号は、クロック・ライン３２上を、外部レジスタ２８に対して搬送される。メモリ・モジュールからシフト・レジスタ２８に対して、存在検出ビットが並列にロードされた後では、外部レジスタ２８からのデータを内部レジスタ５０に対して直列に伝送するために該クロック信号が用いられる。かくして、４８  ビットの存在検出データは、単一のクロック・ライン３２および単一のデータ・ライン３０を用いて、メモリ・コントローラ１４内の内部レジスタ５０に対して伝送される。
【００２０】
内部レジスタ５０に含まれている存在検出データは、メモリ・コントローラ１４内のロジック回路６０により処理されて、メモリ構成を決定するようにされる。特に、メモリ・モジュールの対に対する存在検出ビットが比較されて、当該存在検出ビットがマッチしているかどうかが決定される。上述されたように、メモリ・モジュールは、所望のメモリ・データ・バス幅を得るために対にされている。一対のメモリ・モジュールは典型的には互いに隣接して構成されているが、互いに隣接して構成されることは必要とされない。一対のメモリ・モジュールは同等のものでなければならない。より詳細にいえば、ＳＩＭＭ  １ａ  および  １ｂ  の存在検出ビットは比較器６２によって比較される；ＳＩＭＭ  ２ａ  および  ２ｂ  の存在検出ビットは比較器６４によって比較される；ＳＩＭＭ  ３ａ  および  ３ｂ  の存在検出ビットは比較器６６によって比較される；そして、ＳＩＭＭ  ４ａ  および  ４ｂ  の存在検出ビットは比較器６８によって比較される。比較器６２，６４，６６および６８からは、それぞれの存在検出ビットに依存して、マッチ信号またはミスマッチ信号が生成される。
【００２１】
比較器６２，６４，６６および６８の出力は、それぞれに、データ・セレクタ７２，７４，７６および７８の選択入力に供給される。ＳＩＭＭ  １ｂ  の存在検出ビットはデータ・セレクタ７２の一つの入力に供給される；ＳＩＭＭ  ２ｂ  の存在検出ビットはデータ・セレクタ７４の一つの入力に供給される；ＳＩＭＭ  ３ｂ  の存在検出ビットはデータ・セレクタ７６の一つの入力に供給される；そして、ＳＩＭＭ  ４ｂ  の存在検出ビットはデータ・セレクタ７８の一つの入力に供給される。各対のいずれかのメモリ・モジュールに対する存在検出ビットは、それぞれのデータ・セレクタに対して入力できるものであるが、その理由は、該当する対のメモリ・モジュールに対する存在検出ビットがマッチしたときにのみ、この入力が選択されることにある。この例において理解されることは、比較器６２，６４，６６，６８，および、データ・セレクタ７２，７４，７６，７８の各入力および各出力が  ６  ビット幅であることである。
【００２２】
データ・セレクタ７２，７４，７６，７８の各々の第２の入力に対して、ライン８０上にミスマッチ・コードが供給される。該ミスマッチ・コードは、存在検出ビットの組み合わせとはマッチしない任意のビットの組み合せのものであり、メモリ・コントローラ回路およびシステム・ソフトウエアによって、対をなすメモリ・モジュール間のミスマッチを指示するものとして認識されるものである。データ・セレクタ７２，７４，７６，７８に対する入力は次のように接続される。即ち、ある一対のメモリ・モジュールの存在検出ビット間のミスマッチがそれぞれの比較器の出力によって指示されるときに、そのミスマッチ・コードが該当のデータ・セレクタによって出力されるように接続される。それぞれの比較器の出力によって存在検出ビット間のマッチが指示されたときには、該当の対をなすメモリ・モジュールに対する存在検出ビットがデータ・セレクタによって出力される。
【００２３】
データ・セレクタ７２，７４，７６および７８の出力はメモリ構成レジスタ９０にロードされる。メモリ構成レジスタ９０に含まれているものは、メモリ・モジュールの各対を表すメモリ構成情報を格納するためのセクションである。かくして、レジスタ・セクション９２には、ＳＩＭＭ  １ａ  および  １ｂ  に対するメモリ構成情報が含まれている；レジスタ・セクション９４には、ＳＩＭＭ  ２ａ  および  ２ｂ  に対するメモリ構成情報が含まれている；レジスタ・セクション９６には、ＳＩＭＭ  ３ａ  および  ３ｂ  に対するメモリ構成情報が含まれている；そして、レジスタ・セクション９８には、ＳＩＭＭ  ４ａ  および  ４ｂ  に対するメモリ構成情報が含まれている。ある一対のメモリ・モジュールがマッチしたときには、該当のレジスタ・セクションには、該一対のメモリ・モジュールに対する存在検出ビットがロードされる。ある一対のメモリ・モジュールがマッチしたときには、該当のレジスタ・セクションにはミスマッチ・コードがロードされる。適正な動作のためには、ある一対のメモリ・モジュールに対する存在検出ビットは同等でなければならないことから、メモリ構成レジスタ９０の容量は内部レジスタ５０および外部レジスタ２８の容量の半分である。かくして、外部レジスタ２８および内部レジスタ５０の容量がそれぞれに  ４８  ビットである例においては、メモリ構成レジスタ９０の容量は  ２４  ビットだけである。その結果として、マイクロプロセッサ１２に供給されるメモリ構成データのビット数がより少なくなり、これにより、アドレス・マップにおけるスペースの節減がなされる。
【００２４】
その動作においては、全てのメモリ・モジュールからの存在検出ビットが、システム・リセットにおいて、外部レジスタ２８に対して並列にロードされる。メモリ・コントローラ１４がリセットから外れた後で、外部レジスタ２８から内部レジスタ５０に対して、クロック・データが直列的に開始される。先に指示されたように、この配列で必要とされるメモリ・コントローラ１４上の僅かに２本のＩ／Ｏ  ピンは、存在検出ビットを得るために専用されるものである。
【００２５】
メモリ構成レジスタ９０で提示される単一の存在検出コードは、一対のメモリ・モジュールからの存在検出ビットが同等であるときには、システム・ソフトウエアに対する一対のメモリ・モジュールを表すものである。該当の存在検出ビットがマッチしていないときには、ミスマッチ・コードがレジスタ９０にロードされ、また、システム・ソフトウエアに対して提示される。システム・ソフトウエアがレジスタ９０の読み取りを行って、ミスマッチ・コードが発見されたときには、ミスマッチの旨がユーザに対して告知される。ここで開示された技術によれば、メモリ・モジュールの各対のためのソフトウエアに対して与えられることが要求されるのは一つのコードだけであり、また、各対をなす２個の  ＳＩＭＭ  も同等であることが保証される。
【００２６】
【発明の効果】
この発明によれば、メモリ構成を決定するために必要とされる  Ｉ／Ｏ  ピンの数を２本に減少させることにより、メモリ・コントローラ集積回路のコストが節減される。別の利点は、対にされたメモリ・システムにおけるメモリ・モジュールのミスマッチが、ハードウエアで検出されることである。これにより、メモリ構成情報をシステム・ソフトウエアにレポートすることについて、より迅速かつより簡潔なやり方が提供される。
【００２７】
この発明の好適な実施例として現に考えられていることの開示および説明がなされたが、当業者には明かであるように、添記された特許請求の範囲の項において規定されたこの発明の範囲から逸脱することなく、種々の変更および修正をなし得るものである。
【図面の簡単な説明】
【図１】この発明が取り込まれたコンピュータ・システムのブロック図である。
【図２】図１に示されているメモリ・サブシステムのブロック図である。
【図３】該メモリ・サブシステムにおいて用いられるメモリ・モジュールのブロック図である。
【図４】この発明によってメモリ構成を決定するための装置のブロック図である。
【符号の説明】
１０−−コンピュータ・システム；１２−−マイクロプロセッサ；１４−−メモリ・コントローラ；１６−−メモリ；２０−−Ｉ／Ｏ  コントローラ；２８−−外部シフト・レジスタ；３８−−アドレス・バス；４０−−データ・バス；４２−−ドライバ；５０−−内部シフト・レジスタ；６０−−ロジック回路；６２，６４，６６，６８−−比較器；７２，７４，７６，７８−−データ・セレクタ；９０−−メモリ構成レジスタ；
【図１】
0003634393.tif 000002
【図２】
0003634393.tif 000003
【図３】
0003634393.tif 000004
【図４】
0003634393.tif 000005