(57)【要約】【課題】コンピュータシステムで最大のシステム性能を得るためのメモリコントローラを提供する。【解決手段】Ｎビットデータを各々入出力するための第１、第２ポートと、２Ｎビットデータを入出力するための第３ポートと、前記Ｎビットデータを各々入出力するための第４、第５ポートとを備え、前記第３ポートを通じて入力される命令信号とアドレスとに応答して前記第１、第２ポートを通じて対応するメモリ装置から同時に前記Ｎビットデータを各々フェッチし、フェッチされた２Ｎビットデータを前記第３ポートに伝送したり、前記第４及び／または第５ポートを通じて入力される命令信号とアドレスとに応答して前記第１及び／または第２ポートを通じて対応するメモリ装置から前記Ｎビットデータをフェッチし、フェッチされたＮビットデータを前記第４及び／または第５ポートに伝送したりする。【選択図】　　　図１
2004062900.tif 000002
【特許請求の範囲】
【請求項１】
メモリコントローラにおいて、
Ｎビットデータを各々入出力するための第１ポート及び第２ポートと、
２Ｎビットデータを入出力するための第３ポートと、
前記Ｎビットデータを各々入出力するための第４ポート及び第５ポートとを備え、
前記メモリコントローラは、
第１動作時に前記第３ポートを通じて入力される命令信号とアドレスとに応答して前記第１ポート及び前記第２ポートを通じて各々対応するメモリ装置から同時に前記Ｎビットデータを各々フェッチし、フェッチされた二つのＮビットデータを２Ｎビットデータに結合し、結合された２Ｎビットデータを前記第３ポートに伝送し、
第２動作時に前記第４ポート及び第５ポートのうち少なくとも一つのポートを通じて入力される命令信号とアドレスとに応答して前記第１ポート及び前記第２ポートのうち少なくとも一つの対応するポートを通じて対応するメモリ装置のうち少なくとも一つのメモリ装置から前記Ｎビットデータをフェッチし、フェッチされたＮビットデータを前記第４ポート及び前記第５ポートのうち少なくとも一つのポートに伝送することを特徴とするメモリコントローラ。
【請求項２】
前記メモリコントローラは、
前記第３ポートを通じて入力される前記２ＮビットのデータをＮビットずつに分割し、分割された二つのＮビットデータを対応する前記第１ポート及び前記第２ポートを通じて前記対応するメモリ装置に各々出力することを特徴とする請求項１に記載のメモリコントローラ。
【請求項３】
前記メモリコントローラは前記第４ポート及び前記第５ポートのうち少なくとも一つのポートを通じて入力される前記Ｎビットデータを前記第１ポート及び前記第２ポートのうち少なくとも一つのポートを通じて前記対応するメモリ装置に出力することを特徴とする請求項１に記載のメモリコントローラ。
【請求項４】
前記命令信号はデータフェッチのための命令信号であることを特徴とする請求項１に記載のメモリコントローラ。
【請求項５】
前記第１ポート及び前記第２ポートは相互独立したＮビットバスを通じて前記対応するメモリ装置に接続されることを特徴とする請求項１に記載のメモリコントローラ。
【請求項６】
前記第３ポートは２Ｎビットバスを通じて２Ｎビット装置と接続され、前記２Ｎビットデータを入出力することを特徴とする請求項１に記載のメモリコントローラ。
【請求項７】
前記第３ポートは２Ｎビットバスを通じて２ＮビットＣＰＵと接続され、前記２Ｎビットデータを入出力することを特徴とする請求項１に記載のメモリコントローラ。
【請求項８】
前記第４ポート及び前記第５ポートは相互独立したＮビットバスを通じて対応するＮビット装置と接続されることを特徴とする請求項１に記載のメモリコントローラ。
【請求項９】
前記Ｎは３２であることを特徴とする請求項１に記載のメモリコントローラ。
【請求項１０】
コンピュータシステムにおいて、
データと命令語とを各々保存するための少なくとも二つのメモリ装置と、
前記コンピュータシステムを制御して管理するための少なくとも一つの２Ｎビット装置と、
前記メモリ装置と各々前記データをやり取りするための少なくとも二つのＮビット装置と、
前記メモリ装置と前記２Ｎビット装置、または前記メモリ装置と前記Ｎビット装置との間にデータをやり取りすることを制御するためのメモリコントローラと、を備え、
前記メモリコントローラは、
対応するＮビットバスを通じてＮビットデータを対応するメモリ装置とやり取りするための第１ポート及び第２ポートと、　２Ｎビットバスを通じて２Ｎビットデータを前記２Ｎビット装置とやり取りするための第３ポートと、
対応するＮビットバスを通じてＮビットデータを対応するＮビット装置とやり取りするための第４ポート及び第５ポートとを備え、
前記メモリコントローラは、
前記２Ｎビット装置から発生し、前記第３ポートを通じて入力された命令信号及びアドレスに応答して前記第１ポート及び前記第２ポートを通じて前記アドレスに対応するメモリ装置から同時に前記Ｎビットデータを各々フェッチし、この二つのＮビットデータを２Ｎビットデータ形態に結合し、結合された２Ｎビットデータを前記第３ポートを通じて伝送し、または、
対応する前記Ｎビット装置から発生し、前記第４ポート及び第５ポートのうち少なくとも一つのポートを通じて入力される命令信号及びアドレスに応答して前記第１ポート及び前記第２ポートのうち少なくとも一つのポートを通じて前記アドレスに対応するメモリ装置から前記Ｎビットデータをフェッチし、フェッチされたＮビットデータを前記第４ポート及び前記第５ポートのうち少なくとも一つのポートに伝送することを特徴とするコンピュータシステム。
【請求項１１】
前記メモリコントローラは、
前記２Ｎビット装置から発生し、前記第３ポートを通じて入力される前記２ＮビットのデータをＮビットずつに分割し、分割されたＮビットデータを対応する前記第１ポート及び前記第２ポートを通じて対応するメモリ装置に出力することを特徴とする請求項１０に記載のコンピュータシステム。
【請求項１２】
前記メモリコントローラは前記対応する装置から発生され、前記第４ポート及び前記第５ポートのうち少なくとも一つのポートを通じて入力される前記Ｎビットデータを前記第１ポート及び前記第２ポートのうち少なくとも一つのポートを通じて前記メモリ装置に出力することを特徴とする請求項１０に記載のコンピュータシステム。
【請求項１３】
前記命令信号はデータをフェッチするための命令信号であることを特徴とする請求項１０に記載のコンピュータシステム。
【請求項１４】
Ｎビットデータを各々入出力するための第１ポート及び第２ポート、２Ｎビットデータを入出力するための第３ポートと、前記Ｎビットデータを各々入出力するための第４ポート及び第５ポートと、を備えるメモリコントローラがデータを伝送する方法において、
前記第３ポートを通じて入力される命令信号とアドレス、及び前記第４ポート及び前記第５ポートのうち少なくともある一つのポートを通じて入力される命令信号とアドレスのうち少なくとも一つを受信する段階と、
前記第３ポートを通じて入力される前記命令信号と前記アドレスに応答し、前記第１ポート及び前記第２ポートを通じて対応するメモリ装置から前記Ｎビットデータを同時に各々フェッチし、この二つのＮビットデータを２Ｎビットデータ形態に結合し、結合されたフェッチされた２Ｎビットデータを前記第３ポートに伝送する段階と、
前記第４ポート及び第５ポートのうち少なくとも一つのポートを通じて入力される前記命令信号と前記アドレスとに応答し、前記第１ポート及び前記第２ポートのうち少なくとも一つのポートを通じて対応するメモリ装置のうち少なくとも一つのメモリ装置から前記Ｎビットデータを各々フェッチし、フェッチされたＮビットデータを前記第４ポート及び前記第５ポートのうち少なくとも一つのポートに伝送する段階とを具備することを特徴とするデータ伝送方法。
【請求項１５】
前記データ伝送方法は、
前記第３ポートを通じて入力される前記２ＮビットのデータをＮビットずつに分割し、分割されたＮビットデータを対応する前記第１ポート及び前記第２ポートを通じて前記対応するメモリ装置に各々出力することを特徴とする請求項１４に記載のデータ伝送方法。
【請求項１６】
前記データ伝送方法は前記第４ポート及び前記第５ポートのうち少なくとも一つのポートを通じて入力される前記Ｎビットデータを前記第１ポート及び前記第２ポートのうち少なくとも一つのポートを通じて前記対応するメモリ装置に出力することを特徴とする請求項１４に記載のデータ伝送方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はコンピュータシステムで使われるメモリコントローラに係り、より詳細にはマルチ−バスシステムでバスの帯域幅を広げられるメモリコントローラ、このメモリコントローラを使用したデータ伝送方法及び前記メモリコントローラを備えるコンピュータシステムに関する。
【０００２】
【従来の技術】
典型的なコンピュータシステムは主要な三つのサブシステム、すなわち、メモリ、一つまたはそれ以上の中央処理装置（ＣＰＵ：Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓ　Ｕｎｉｔ）、及び入出力（Ｉ／Ｏ：Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）装置で構成される。
【０００３】
現代のコンピュータシステムは使用者の要求を満足させるために色々な多様なサブシステム、例えばＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ　Ｃｏｍｐｏｎｅｎｔ　Ｉｎｔｅｒｃｏｎｎｅｃｔ）、イーサネット（登録商標）、または汎用非同期化送受信器（ＵＡＲＴ：Ｕｎｉｖｅｒｓａｌ　Ａｓｙｎｃｈｒｏｎｏｕｓ　Ｒｅｃｅｉｖｅｒ／Ｔｒａｎｓｍｉｔｔｅｒ）と連結できる必要がある。
【０００４】
コンピュータシステムにおいて、多様なサブシステムは相互通信をするためにインタフェースを有するべきである。例えば、前記メモリと前記中央処理装置間、または前記中央処理処置とＩ／Ｏ装置間の通信はバスを通じて行われる。
【０００５】
前記バスは複数本の導線が並列に結ばれているものであって、多様なサブシステムを共有できる通信線路である。最大バス速度は主に物理的な要素、すなわちバス長と前記バスの容量性負荷とにより制限される。
【０００６】
また、コンピュータ構造理論によれば、現在のようなフォン・ノイマン方式、すなわちプログラム内蔵方式を維持するためにＣＰＵとメモリとは必ず共存しなければならない。したがって、コンピュータシステムの性能の向上のためにＣＰＵ及びメモリの性能が同時に改善されねばならない。
【０００７】
しかし、ＣＰＵは動作速度の改善を追求し、ＤＲＡＭで構成されるメモリはメモリ容量の拡大を追求することによって、メモリの動作速度はＣＰＵの動作速度に比べて相対的に顕著に低い。
また、前記コンピュータシステムに使われる前記サブシステム、例えばＰＣＩ、イーサネット（登録商標）、ＵＡＲＴの動作速度はＣＰＵの動作速度より相対的に低い。
【０００８】
したがって、コンピュータシステム（またはメモリシステム）の動作を評価する基準としてメモリレイタンシ（またはメモリアクセス）とメモリ帯域幅とを使用する場合、メモリレイタンシは小さければ小さいほど、メモリ帯域幅は大きければ大きいほどコンピュータシステムの性能は優れる。
【０００９】
したがって、コンピュータシステムの性能を向上させるためにメモリとＣＰＵ間のバス幅を広げる方式、すなわちメモリのＩＯポートを増やす方法を使用する。
【００１０】
【発明が解決しようとする課題】
しかし、このような方法はＤＲＡＭのチップサイズを増加させ、ＩＯポート間に発生するクロストークノイズによって動作速度を低下させる問題がある。
【００１１】
また、ＣＰＵの性能の発展速度がメモリ、ＰＣＩ、イーサネット（登録商標）、またはＵＡＲＴのサブシステムの性能より速い状況で、ＣＰＵの動作速度に適合するコンピュータシステムを設計することは、メモリ、ＰＣＩ、イーサネット（登録商標）、またはＵＡＲＴのサブシステムを再度開発しなければならない問題点がある。
例えば、ＣＰＵが２Ｎ（例えば、Ｎは３２）ビット装置であり、ＰＣＩ、イーサネット（登録商標）、またはＵＡＲＴはＮビット装置である場合、２Ｎビットでコンピュータシステムを設計する場合、従来のＮビットＰＣＩ、イーサネット（登録商標）、またはＵＡＲＴを２Ｎビットで再度開発しなければならない負担がある。
【００１２】
本発明は上記の点に鑑みなされたもので、その目的は、コンピュータシステムで最大のシステム性能を得るためのメモリコントローラを提供することにある。
【００１３】
【課題を解決するための手段】
本発明のメモリコントローラは、Ｎビットデータを各々入出力するための第１ポート及び第２ポートと、２Ｎビットデータを入出力するための第３ポートと、前記Ｎビットデータを各々入出力するための第４ポート及び第５ポートとを備え、前記メモリコントローラは、第１動作時に前記第３ポートを通じて入力される命令信号とアドレスとに応答して前記第１ポート及び前記第２ポートを通じて各々対応するメモリ装置から同時に前記Ｎビットデータを各々フェッチし、フェッチされた二つのＮビットデータを２Ｎビットデータに結合し、結合された２Ｎビットデータを前記第３ポートに伝送し、第２動作時に前記第４ポート及び第５ポートのうち少なくとも一つのポートを通じて入力される命令信号とアドレスとに応答して前記第１ポート及び前記第２ポートのうち少なくとも一つの対応するポートを通じて対応するメモリ装置のうち少なくとも一つのメモリ装置から前記Ｎビットデータをフェッチし、フェッチされたＮビットデータを前記第４ポート及び前記第５ポートのうち少なくとも一つのポートに伝送することを特徴とする。
【００１４】
より具体的な形態として、前記メモリコントローラは、前記第３ポートを通じて入力される前記２ＮビットのデータをＮビットずつに分割し、分割された二つのＮビットデータを対応する前記第１ポート及び前記第２ポートを通じて前記対応するメモリ装置で各々出力する。
前記メモリコントローラは前記第４ポート及び前記第５ポートのうち少なくとも一つのポートを通じて入力される前記Ｎビットデータを前記第１ポート及び前記第２ポートのうち少なくとも一つのポートを通じて前記対応するメモリ装置に出力する。
前記命令信号はデータフェッチのための命令信号であることを特徴とする。
前記第１ポート及び前記第２ポートは相互独立したＮビットバスを通じて前記対応するメモリ装置に接続される。
前記第３ポートは２Ｎビットバスを通じて２Ｎビット装置と接続され、前記２Ｎビットデータを入出力する。
前記第３ポートは２Ｎビットバスを通じて２ＮビットＣＰＵと接続され、前記２Ｎビットデータを入出力する。
前記第４ポート及び前記第５ポートは相互独立したＮビットバスを通じて対応するＮビット装置と接続される。
前記Ｎは３２である。
【００１５】
本発明のコンピュータシステムは、データと命令語とを各々保存するための少なくとも二つのメモリ装置と、前記コンピュータシステムを制御して管理するための少なくとも一つの２Ｎビット装置と、前記メモリ装置と各々前記データをやり取りするための少なくとも二つのＮビット装置と、前記メモリ装置と前記２Ｎビット装置、または前記メモリ装置と前記Ｎビット装置との間にデータをやり取りすることを制御するためのメモリコントローラと、を備え、前記メモリコントローラは、対応するＮビットバスを通じてＮビットデータを対応するメモリ装置とやり取りするための第１ポート及び第２ポートと、２Ｎビットバスを通じて２Ｎビットデータを前記２Ｎビット装置とやり取りするための第３ポートと、対応するＮビットバスを通じてＮビットデータを対応するＮビット装置とやり取りするための第４ポート及び第５ポートと、を備え、前記メモリコントローラは、前記２Ｎビット装置から発生し、前記第３ポートを通じて入力された命令信号及びアドレスに応答して前記第１ポート及び前記第２ポートを通じて前記アドレスに対応するメモリ装置から同時に前記Ｎビットデータを各々フェッチし、この二つのＮビットデータを２Ｎビットデータ形態に結合し、結合された２Ｎビットデータを前記第３ポートを通じて伝送し、または、対応する前記Ｎビット装置から発生し、前記第４ポート及び第５ポートのうち少なくとも一つのポートを通じて入力される命令信号及びアドレスに応答して前記第１ポート及び前記第２ポートのうち少なくとも一つのポートを通じて前記アドレスに対応するメモリ装置から前記Ｎビットデータをフェッチし、フェッチされたＮビットデータを前記第４ポート及び前記第５ポートのうち少なくとも一つのポートに伝送することを特徴とする。
【００１６】
より具体的な形態として、前記メモリコントローラは、前記２Ｎビット装置から発生し、前記第３ポートを通じて入力される前記２ＮビットのデータをＮビットずつに分割し、分割されたＮビットデータを対応する前記第１ポート及び前記第２ポートを通じて対応するメモリ装置に出力する。
前記メモリコントローラは、前記対応する装置から発生され、前記第４ポート及び前記第５ポートのうち少なくとも一つのポートを通じて入力される前記Ｎビットデータを前記第１ポート及び前記第２ポートのうち少なくとも一つのポートを通じて前記メモリ装置に出力する。
前記命令信号はデータをフェッチするための命令信号である。
【００１７】
本発明のデータ伝送方法は、Ｎビットデータを各々入出力するための第１ポート及び第２ポート、２Ｎビットデータを入出力するための第３ポートと、前記Ｎビットデータを各々入出力するための第４ポート及び第５ポートと、を備えるメモリコントローラがデータを伝送する方法において、前記第３ポートを通じて入力される命令信号とアドレス、及び前記第４ポート及び前記第５ポートのうち少なくともある一つのポートを通じて入力される命令信号とアドレスのうち少なくとも一つを受信する段階と、前記第３ポートを通じて入力される前記命令信号と前記アドレスに応答し、前記第１ポート及び前記第２ポートを通じて対応するメモリ装置から前記Ｎビットデータを同時に各々フェッチし、この二つのＮビットデータを２Ｎビットデータ形態に結合し、結合されたフェッチされた２Ｎビットデータを前記第３ポートに伝送する段階と、前記第４ポート及び第５ポートのうち少なくとも一つのポートを通じて入力される前記命令信号と前記アドレスとに応答し、前記第１ポート及び前記第２ポートのうち少なくとも一つのポートを通じて対応するメモリ装置のうち少なくとも一つのメモリ装置から前記Ｎビットデータを各々フェッチし、フェッチされたＮビットデータを前記第４ポート及び前記第５ポートのうち少なくとも一つのポートに伝送する段階とを具備することを特とする。
【００１８】
より具体的な形態として、前記データ伝送方法は、前記第３ポートを通じて入力される前記２ＮビットのデータをＮビットずつに分割し、分割されたＮビットデータを対応する前記第１ポート及び前記第２ポートを通じて前記対応するメモリ装置に各々出力する。
前記データ伝送方法は、前記第４ポート及び前記第５ポートのうち少なくとも一つのポートを通じて入力される前記Ｎビットデータを前記第１ポート及び前記第２ポートのうち少なくとも一つのポートを通じて前記対応するメモリ装置に出力する。
【００１９】
【発明の実施の形態】
以下、添付した図面を参照して本発明の望ましい実施形態を説明する。ただし、下記の実施形態は例示的なものに過ぎず、当業者ならこれから多様な変形及び均等な他の実施形態が可能なのを理解しうる。したがって、本発明の真の技術的保護の範囲は特許請求の範囲の技術的思想によって決まるべきである。
【００２０】
図１は、本発明によるメモリコントローラを備えるコンピュータシステムを概略的に示す図である。
本発明によるコンピュータシステム１０００はデータと命令語とを各々保存するための少なくとも二つのメモリ装置１００、２００、コンピュータシステム１０００を制御して管理するための少なくとも一つの２Ｎビット装置４００（例えばＣＰＵ）、メモリ装置１００、２００と各々Ｎビットデータをやり取りするための少なくとも二つのＮビット装置６００、７００、８００、及びメモリ装置１００、２００と２Ｎビット装置４００、またはメモリ装置１００、２００とＮビット装置６００、７００、８００間に２ＮビットまたはＮビットデータをやり取りすることを制御するためのメモリコントローラ３００を備える。
【００２１】
メモリコントローラ３００は対応するＮビットバス１０１、２０１を通じて、Ｎビットデータを対応するメモリ装置１００、２００と各々入出力するための第１ポート３１０及び第２ポート３２０、２Ｎビットバス４０１を通じて２Ｎビットデータを２Ｎビット装置４００と入出力するための第３ポート３６０、及び対応するＮビットバス３７１、３８１を通じてＮビットデータを対応するＮビット装置６００、７００、８００と各々入出力するための第４ポート３７０及び第５ポート３８０を備える。
【００２２】
メモリコントローラ３００は２Ｎビット装置４００から発生し、第３ポート３６０を通じて入力された命令信号（例えば２Ｎビット装置４００が２Ｎビットデータフェッチするための命令信号またはロード命令信号）及びアドレスに応答して、前記アドレスに対応するメモリ装置１００、２００から第１ポート３１０及び第２ポート３２０を通じて入力された前記Ｎビットデータを各々同時にフェッチし、フェッチされた２Ｎビットデータを第３ポート３６０を通じて２Ｎビット装置４００に伝送する。
【００２３】
また、メモリコントローラ３００は対応するＮビット装置６００、７００、８００から発生され、第４ポート３７０及び／または第５ポート３８０を通じて入力される命令信号及びアドレスに応答して、前記アドレスに対応するメモリ装置１００、２００から第１ポート３１０及び／または第２ポート３２０を通じて入力された前記Ｎビットデータをフェッチし、フェッチされたＮビットデータを第４ポート３７０及び／または第５ポート３８０を通じて対応するＮビット装置６００、７００、８００に伝送する。
【００２４】
また、メモリコントローラ３００は２Ｎビット装置４００から発生し、第３ポート３６０を通じて入力される前記２ＮビットのデータをＮビットずつに分割して、分割されたＮビットデータを対応する第１ポート３１０及び第２ポート３２０を通じて対応するメモリ装置１００、２００に出力する。
【００２５】
さらに、メモリコントローラ３００は対応するＮビット装置６００、７００、または８００から発生し、第４ポート３７０及び／または第５ポート３８０を通じて入力される前記Ｎビットデータを第１ポート３１０及び／または第２ポート３２０を通じてメモリ装置１００、２００に出力する。
【００２６】
図１を参照すれば、コンピュータシステム１０００は第１メモリ装置１００、第２メモリ装置２００、メモリコントローラ３００、中央処理処置４００、ダウンサイザ５００、ＰＣＩ機能ブロック６００、イーサネット（登録商標）機能ブロック７００及びＵＡＲＴ機能ブロック８００を備える。
【００２７】
ここで、ＣＰＵ４００は２Ｎ（Ｎは自然数、Ｎは３２）ビット装置と仮定し、ＰＣＩ機能ブロック６００、イーサネット（登録商標）機能ブロック７００及びＵＡＲＴ機能ブロック８００は全てＮビット機能ブロックと仮定する。
各メモリ装置１００、２００はＣＰＵ４００が必要とするデータと命令語とを保存する主メモリを意味し、ＤＲＡＭで構成される。
【００２８】
ＣＰＵ４００はバス４０１と１０１、または４０１と２０１を通じて第１メモリ装置１００及び第２メモリ装置２００にＮビットアドレスを送って第１メモリ装置１００及び第２メモリ装置２００を呼び出し、バス４０１と１０１、または４０１と２０１を通じて第１メモリ装置１００及び第２メモリ装置２００とデータをやり取りし、このような動作が円滑に行われるように制御するための各種の制御信号を所定のコントロールバスを通じてメモリコントローラ３００に出力する。すなわち、ＣＰＵ４００は全般的にコンピュータシステム１０００を制御して管理する機能を行う。
【００２９】
本発明によるメモリコントローラ３００は第１ポート３１０、第２ポート３２０、第１メモリコントローラ３３０、第２メモリコントローラ３４０、ポートコントローラ３５０、第３ポート３６０、第４ポート３７０及び第５ポート３８０を備える。ポートコントローラ３５０は第３ポートコントローラ３５１、第４ポートコントローラ３５３及び第５ポートコントローラ３５５を備える。
【００３０】
第１ポート３１０及び第１メモリ装置１００はＮビットバス１０１を通じて相互接続され、第２ポート３２０及び第２メモリ装置２００はＮビットバス２０１を通じて相互接続される。
第３ポート３６０及びダウンサイザ５００、または第３ポート３６０及びＣＰＵ４００は２Ｎビットバス４０１を通じて相互接続される。各機能ブロック６００、７００、８００とダウンサイザ５００はＮビットバス５０１を通じて相互接続される。ダウンサイザ５００は２Ｎビットデータを受信し、これをＮビットデータに変換し、その結果を出力する。
第４ポート３７０及びＰＣＩ機能ブロック６００は各Ｎビットバス３７１、６０１を通じて接続される。第５ポート３８０及びイーサネット（登録商標）７００、または第５ポート３８０及びＵＡＲＴ８００は各Ｎビットバス３８１、７０１、８０１を通じて接続される。
【００３１】
第１メモリコントローラ３３０はＣＰＵ４００または各機能ブロック６００、７００、８００から出力されるアドレス、書き込み命令信号（例えば、貯蔵命令）及びデータに応答して前記データを前記アドレスによって指定された第１メモリ装置１００の所定のメモリセルに保存する書き込み動作を制御するか、あるいはＣＰＵ４００または各機能ブロック６００、７００、８００から出力されるアドレス及びリード命令信号（例えばロード命令）に応答して前記アドレスによって指定された第１メモリ装置１００のメモリセルからデータをリードするリード動作を制御する。
【００３２】
また、第２メモリコントローラ３４０はＣＰＵ４００または各機能ブロック６００、７００、８００から出力されるアドレス、書き込み命令信号及びデータに応答して前記データを前記アドレスによって指定された第２メモリ装置２００の所定のメモリセルに保存する書き込み動作を制御するか、あるいはＣＰＵ４００または各機能ブロック６００、７００、８００から出力されるアドレス及びリード命令信号に応答して前記アドレスによって指定された第２メモリ装置１００のメモリセルからデータをリードするリード動作を制御する。
【００３３】
第３ポートコントローラ３５１は第１メモリ装置１００から出力されるＮビットデータ及び第２メモリ装置２００から出力されるＮビットのデータを受信し、これを結合して生成された２Ｎビットのデータを第３ポート３６０と２Ｎビットバス４０１とを通じてＣＰＵ４００に伝送する動作を制御する。
【００３４】
第４ポートコントローラ３５３は第１メモリ装置１００から出力されるＮビットデータまたは第２メモリ装置２００から出力されるＮビットデータを受信し、受信されたＮビットデータを第４ポート３７０とバス３７１、６０１とを通じてＰＣＩ機能ブロック６００に出力する。
【００３５】
第５ポートコントローラ３５５は第１メモリ装置１００から出力されるＮビットデータまたは第２メモリ装置２００から出力されるＮビットデータを受信し、受信されたＮビットデータを第５ポート３８０とバス３８１と７０１、または３８１と８０１とを通じてイーサネット（登録商標）機能ブロック７００またはＵＡＲＴ機能ブロック８００に伝送する。
【００３６】
図１を参照して、本発明によるメモリコントローラを備えるコンピュータシステムの動作を説明すれば次のようである。
ＣＰＵ４００が２Ｎビットデータをロードする場合は、前記２Ｎビットのデータをロードするための２Ｎビットのアドレス及び所定ビットの命令信号が２Ｎビットバス４０１と第３ポート３６０とを通じてメモリコントローラ３００に入力される。
第３ポートコントローラ３５１は２ＮビットデータをＮビットずつに分割し、分割された上位Ｎビットアドレスと前記所定ビットの命令信号を第１メモリコントローラ３３０に出力し、分割された下位Ｎビットアドレス及び前記所定ビットの命令信号を第２メモリコントローラ３４０に出力する。
ここで上位Ｎビットは最上位ビット（ＭＳＢ：Ｍｏｓｔ　Ｓｉｇｎｉｆｉｃａｎｔ　Ｂｉｔ）を含むＮビットを意味し、下位Ｎビットは最下位ビット（ＬＳＢ：Ｌｅａｓｔ　Ｓｉｇｎｉｆｉｃａｎｔ　Ｂｉｔ）を含むＮビットを意味する。しかし、本発明によるメモリコントローラは２ＮビットをＮビットずつに分割する多様な方法を含む。
【００３７】
第１メモリコントローラ３３０はＮビットバス１０１を通じて前記上位Ｎビットアドレスによって指定された第１メモリ装置１００のメモリセルからＮビットのデータをフェッチし、フェッチされたＮビットデータを第３ポートコントローラ３５１に出力し、これと同時に、第２メモリコントローラ３４０はＮビットバス２０１を通じて前記下位Ｎビットのアドレスによって指定された第２メモリ装置２００のメモリセルからＮビットのデータをフェッチし、フェッチされたＮビットデータを第３ポートコントローラ３５１に出力する。
【００３８】
第３ポートコントローラ３５１は第１メモリコントローラ３３０から出力されたＮビットデータと第２メモリコントローラ３４０から出力されたＮビットデータとを結合し、２Ｎビットデータを２Ｎビットバス４０１を通じてＣＰＵ４００に伝送する。
【００３９】
次に、ＣＰＵ４００が２Ｎビットのデータを保存する場合は、前記２Ｎビットのデータを保存するための２Ｎビットのアドレス及び所定ビットの命令信号が第３ポート３６０を通じてメモリコントローラ３００に入力される。
第３ポートコントローラ３５１は２ＮビットデータをＮビットずつに分割し、分割された上位Ｎビットアドレス、この上位Ｎビットアドレスに相応する上位Ｎビットデータ及び前記所定ビットの命令信号を第１メモリコントローラ３３０に出力する。第１メモリコントローラ３３０は第１ポート３１０とＮビットバス１０１とを通じて上位Ｎビットデータを前記Ｎビットアドレスによって指定された第１メモリ装置１００のメモリセルに伝達する。
【００４０】
また、第３ポートコントローラ３５１は分割された下位Ｎビットアドレス、この下位Ｎビットアドレスに相応する前記下位Ｎビットデータ及び前記所定ビットの命令信号を第２メモリコントローラ３４０に出力する。第２メモリコントローラ３４０は第２ポート３２０とＮビットバス２０１とを通じて下位Ｎビットデータを前記Ｎビットアドレスによって指定された第２メモリ装置２００のメモリセルに伝達する。
【００４１】
次に、ＰＣＩ機能ブロック６００がＮビットのデータをロードする場合は、前記ＮビットのデータをロードするためのＮビットのアドレス及び所定ビットの命令信号がＮビットバス６０１、３７１及び第４ポート３７０を通じてメモリコントローラ３００に入力される。
第４ポートコントローラ３５３は前記Ｎビットのアドレス及び前記所定ビットの命令信号を第１メモリコントローラ３３０と第２メモリコントローラ３４０ののうち何れか一つのメモリコントローラに出力する。第４ポートコントローラ３５３はソフトウェア的にまたはハードウェア的に第１メモリコントローラ３３０または第２メモリコントローラ３４０を選択できる。
【００４２】
第４ポートコントローラ３５３が第１メモリコントローラ３３０を選択した場合は、第１メモリコントローラ３３０が前記Ｎビットアドレスによって指定された第１メモリ装置１００のメモリセルからＮビットのデータをフェッチする。フェッチされたＮビットデータは第４ポートコントローラ３５３及びＮビットバス３７１、６０１を通じてＰＣＩ機能ブロック６００に入力される。
このようにしてＰＣＩ機能ブロック６００がＮビットのデータをロードする場合、イーサネット（登録商標）機能ブロック７００またはＵＡＲＴ機能ブロック８００は第５ポート３８０、第５ポートコントローラ３５５及び第２メモリコントローラ３４０を通じてＮビットデータをロードまたは保存できる。
【００４３】
したがって、以上から分かるように、Ｎビットバス１０１、第１ポート３１０及び第１メモリコントローラ３３０が第１インタフェースを構成し、Ｎビットバス２０１、第２ポート３２０及び第２メモリコントローラ３４０が第２インタフェースを構成し、２Ｎビット装置４００が２Ｎビットデータをローディングまたは保存する時、本発明によるメモリコントローラ３００の第１インタフェース及び第２インターフェースが同時に各々Ｎビットデータをフェッチする。
また、各Ｎビット装置６００、７００、８００がＮビットデータをローディングまたは保存する時は第１インタフェースまたは第２インタフェースだけが使われ、使われない第１インタフェースまたは第２インタフェースは各Ｎビット装置７００、８００、６００が使用できる。
【００４４】
したがって図１を参照して、２Ｎビット装置のＣＰＵ４００は第１インタフェース及び第２インタフェースを同時に使用し、Ｎビット装置のイーサネット（登録商標）機能ブロック７００が第１インタフェースを使用するときは、Ｎビット装置のＰＣＩ機能ブロック６００が第２インタフェースを使用できる。また、Ｎビット装置のＵＡＲＴ８００が第１インタフェースを使用するときは、Ｎビット装置のＰＣＩ機能ブロック６００が第２インタフェースを使用できる。
Ｉｎｆ１は第１インタフェースの使用現況を示し、Ｉｎｆ０は第２インタフェースの使用現況を示し、ＣはＣＰＵ４００、Ｅはイーサネット（登録商標）７００、ＰはＰＣＩ６００、ＵはＵＡＲＴ８００をそれぞれ示す。
【００４５】
【発明の効果】
以上のように本発明によるメモリコントローラはＮビット装置と２Ｎビット装置とを混用して使用するコンピュータシステムでバスの動作周波数を増加させなくても最大の性能が得られる。
また、本発明によるメモリコントローラ及びこれを利用したデータ伝送方法を通じて前記メモリコントローラを備えるコンピュータシステムのメモリ使用効率が増加される。
そして、本発明によるメモリコントローラを使用するコンピュータシステムにおけるバスの帯域幅が広げられる。
【図面の簡単な説明】
【図１】本発明によるメモリコントローラを備えるコンピュータシステムを概略的に示す図である。
【符号の説明】
１００　第１メモリ装置
１０１　Ｎビットバス
２００　第２メモリ装置
２０１　Ｎビットバス
３００　メモリコントローラ
３１０　第１ポート
３２０　第２ポート
３３０　第１メモリコントローラ
３４０　第２メモリコントローラ
３５０　ポートコントローラ
３５１　第３ポートコントローラ
３５３　第４ポートコントローラ
３５５　第５ポートコントローラ
３６０　第３ポート
３７０　第４ポート
３７１　Ｎビットバス
３８０　第５ポート
３８１　Ｎビットバス
４００　ＣＰＵ
４０１　２Ｎビットバス
５００　ダウンサイザ
５０１　Ｎビットバス
６００　ＰＣＩ機能ブロック
６０１　Ｎビットバス
７００　イーサネット（登録商標）機能ブロック
７０１　Ｎビットバス
８００　ＵＡＲＴ機能ブロック
８０１　Ｎビットバス
１０００　コンピュータシステム
【図１】
2004062900.tif 000003