JP4323241B2 - バス帯域幅を増加させるためのメモリコントローラ、これを利用したデータ伝送方法及びこれを備えるコンピュータシステム - Google Patents

バス帯域幅を増加させるためのメモリコントローラ、これを利用したデータ伝送方法及びこれを備えるコンピュータシステム Download PDF

Info

Publication number
JP4323241B2
JP4323241B2 JP2003201884A JP2003201884A JP4323241B2 JP 4323241 B2 JP4323241 B2 JP 4323241B2 JP 2003201884 A JP2003201884 A JP 2003201884A JP 2003201884 A JP2003201884 A JP 2003201884A JP 4323241 B2 JP4323241 B2 JP 4323241B2
Authority
JP
Japan
Prior art keywords
port
bit
memory device
main memory
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003201884A
Other languages
English (en)
Other versions
JP2004062900A (ja
Inventor
會 鎭 李
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2004062900A publication Critical patent/JP2004062900A/ja
Application granted granted Critical
Publication of JP4323241B2 publication Critical patent/JP4323241B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • G06F13/4018Coupling between buses with data restructuring with data-width conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Bus Control (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はコンピュータシステムで使われるメモリコントローラに係り、より詳細にはマルチ−バスシステムでバスの帯域幅を広げられるメモリコントローラ、このメモリコントローラを使用したデータ伝送方法及び前記メモリコントローラを備えるコンピュータシステムに関する。
【0002】
【従来の技術】
典型的なコンピュータシステムは主要な三つのサブシステム、すなわち、メモリ、一つまたはそれ以上の中央処理装置(CPU:Central Process Unit)、及び入出力(I/O:Input/Output)装置で構成される。
【0003】
現代のコンピュータシステムは使用者の要求を満足させるために色々な多様なサブシステム、例えばPCI(Peripheral Component Interconnect)、イーサネット(登録商標)、または汎用非同期化送受信器(UART:Universal Asynchronous Receiver/Transmitter)と連結できる必要がある。
【0004】
コンピュータシステムにおいて、多様なサブシステムは相互通信をするためにインタフェースを有するべきである。例えば、前記メモリと前記中央処理装置間、または前記中央処理処置とI/O装置間の通信はバスを通じて行われる。
【0005】
前記バスは複数本の導線が並列に結ばれているものであって、多様なサブシステムを共有できる通信線路である。最大バス速度は主に物理的な要素、すなわちバス長と前記バスの容量性負荷とにより制限される。
【0006】
また、コンピュータ構造理論によれば、現在のようなフォン・ノイマン方式、すなわちプログラム内蔵方式を維持するためにCPUとメモリとは必ず共存しなければならない。したがって、コンピュータシステムの性能の向上のためにCPU及びメモリの性能が同時に改善されねばならない。
【0007】
しかし、CPUは動作速度の改善を追求し、DRAMで構成されるメモリはメモリ容量の拡大を追求することによって、メモリの動作速度はCPUの動作速度に比べて相対的に顕著に低い。
また、前記コンピュータシステムに使われる前記サブシステム、例えばPCI、イーサネット(登録商標)、UARTの動作速度はCPUの動作速度より相対的に低い。
【0008】
したがって、コンピュータシステム(またはメモリシステム)の動作を評価する基準としてメモリレイタンシ(またはメモリアクセス)とメモリ帯域幅とを使用する場合、メモリレイタンシは小さければ小さいほど、メモリ帯域幅は大きければ大きいほどコンピュータシステムの性能は優れる。
【0009】
したがって、コンピュータシステムの性能を向上させるためにメモリとCPU間のバス幅を広げる方式、すなわちメモリのIOポートを増やす方法を使用する。
【0010】
【発明が解決しようとする課題】
しかし、このような方法はDRAMのチップサイズを増加させ、IOポート間に発生するクロストークノイズによって動作速度を低下させる問題がある。
【0011】
また、CPUの性能の発展速度がメモリ、PCI、イーサネット(登録商標)、またはUARTのサブシステムの性能より速い状況で、CPUの動作速度に適合するコンピュータシステムを設計することは、メモリ、PCI、イーサネット(登録商標)、またはUARTのサブシステムを再度開発しなければならない問題点がある。
例えば、CPUが2N(例えば、Nは32)ビット装置であり、PCI、イーサネット(登録商標)、またはUARTはNビット装置である場合、2Nビットでコンピュータシステムを設計する場合、従来のNビットPCI、イーサネット(登録商標)、またはUARTを2Nビットで再度開発しなければならない負担がある。
【0012】
本発明は上記の点に鑑みなされたもので、その目的は、コンピュータシステムで最大のシステム性能を得るためのメモリコントローラを提供することにある。
【0013】
【課題を解決するための手段】
本発明のメモリコントローラは、Nビットデータを各々入出力するための第1ポート及び第2ポートと、2Nビットデータを入出力するための第3ポートと、前記Nビットデータを各々入出力するための第4ポート及び第5ポートとを備え、前記メモリコントローラは、第1動作時に前記第3ポートを通じて入力される命令信号とアドレスとに応答して前記第1ポート及び前記第2ポートを通じて各々対応するメモリ装置から同時に前記Nビットデータを各々フェッチし、フェッチされた二つのNビットデータを2Nビットデータに結合し、結合された2Nビットデータを前記第3ポートに伝送し、第2動作時に前記第4ポート及び第5ポートのうち少なくとも一つのポートを通じて入力される命令信号とアドレスとに応答して前記第1ポート及び前記第2ポートのうち少なくとも一つの対応するポートを通じて対応するメモリ装置のうち少なくとも一つのメモリ装置から前記Nビットデータをフェッチし、フェッチされたNビットデータを前記第4ポート及び前記第5ポートのうち少なくとも一つのポートに伝送することを特徴とする。
【0014】
より具体的な形態として、前記メモリコントローラは、前記第3ポートを通じて入力される前記2NビットのデータをNビットずつに分割し、分割された二つのNビットデータを対応する前記第1ポート及び前記第2ポートを通じて前記対応するメモリ装置で各々出力する。
前記メモリコントローラは前記第4ポート及び前記第5ポートのうち少なくとも一つのポートを通じて入力される前記Nビットデータを前記第1ポート及び前記第2ポートのうち少なくとも一つのポートを通じて前記対応するメモリ装置に出力する。
前記命令信号はデータフェッチのための命令信号であることを特徴とする。
前記第1ポート及び前記第2ポートは相互独立したNビットバスを通じて前記対応するメモリ装置に接続される。
前記第3ポートは2Nビットバスを通じて2Nビット装置と接続され、前記2Nビットデータを入出力する。
前記第3ポートは2Nビットバスを通じて2NビットCPUと接続され、前記2Nビットデータを入出力する。
前記第4ポート及び前記第5ポートは相互独立したNビットバスを通じて対応するNビット装置と接続される。
前記Nは32である。
【0015】
本発明のコンピュータシステムは、データと命令語とを各々保存するための少なくとも二つのメモリ装置と、前記コンピュータシステムを制御して管理するための少なくとも一つの2Nビット装置と、前記メモリ装置と各々前記データをやり取りするための少なくとも二つのNビット装置と、前記メモリ装置と前記2Nビット装置、または前記メモリ装置と前記Nビット装置との間にデータをやり取りすることを制御するためのメモリコントローラと、を備え、前記メモリコントローラは、対応するNビットバスを通じてNビットデータを対応するメモリ装置とやり取りするための第1ポート及び第2ポートと、2Nビットバスを通じて2Nビットデータを前記2Nビット装置とやり取りするための第3ポートと、対応するNビットバスを通じてNビットデータを対応するNビット装置とやり取りするための第4ポート及び第5ポートと、を備え、前記メモリコントローラは、前記2Nビット装置から発生し、前記第3ポートを通じて入力された命令信号及びアドレスに応答して前記第1ポート及び前記第2ポートを通じて前記アドレスに対応するメモリ装置から同時に前記Nビットデータを各々フェッチし、この二つのNビットデータを2Nビットデータ形態に結合し、結合された2Nビットデータを前記第3ポートを通じて伝送し、または、対応する前記Nビット装置から発生し、前記第4ポート及び第5ポートのうち少なくとも一つのポートを通じて入力される命令信号及びアドレスに応答して前記第1ポート及び前記第2ポートのうち少なくとも一つのポートを通じて前記アドレスに対応するメモリ装置から前記Nビットデータをフェッチし、フェッチされたNビットデータを前記第4ポート及び前記第5ポートのうち少なくとも一つのポートに伝送することを特徴とする。
【0016】
より具体的な形態として、前記メモリコントローラは、前記2Nビット装置から発生し、前記第3ポートを通じて入力される前記2NビットのデータをNビットずつに分割し、分割されたNビットデータを対応する前記第1ポート及び前記第2ポートを通じて対応するメモリ装置に出力する。
前記メモリコントローラは、前記対応する装置から発生され、前記第4ポート及び前記第5ポートのうち少なくとも一つのポートを通じて入力される前記Nビットデータを前記第1ポート及び前記第2ポートのうち少なくとも一つのポートを通じて前記メモリ装置に出力する。
前記命令信号はデータをフェッチするための命令信号である。
【0017】
本発明のデータ伝送方法は、Nビットデータを各々入出力するための第1ポート及び第2ポート、2Nビットデータを入出力するための第3ポートと、前記Nビットデータを各々入出力するための第4ポート及び第5ポートと、を備えるメモリコントローラがデータを伝送する方法において、前記第3ポートを通じて入力される命令信号とアドレス、及び前記第4ポート及び前記第5ポートのうち少なくともある一つのポートを通じて入力される命令信号とアドレスのうち少なくとも一つを受信する段階と、前記第3ポートを通じて入力される前記命令信号と前記アドレスに応答し、前記第1ポート及び前記第2ポートを通じて対応するメモリ装置から前記Nビットデータを同時に各々フェッチし、この二つのNビットデータを2Nビットデータ形態に結合し、結合されたフェッチされた2Nビットデータを前記第3ポートに伝送する段階と、前記第4ポート及び第5ポートのうち少なくとも一つのポートを通じて入力される前記命令信号と前記アドレスとに応答し、前記第1ポート及び前記第2ポートのうち少なくとも一つのポートを通じて対応するメモリ装置のうち少なくとも一つのメモリ装置から前記Nビットデータを各々フェッチし、フェッチされたNビットデータを前記第4ポート及び前記第5ポートのうち少なくとも一つのポートに伝送する段階とを具備することを特とする。
【0018】
より具体的な形態として、前記データ伝送方法は、前記第3ポートを通じて入力される前記2NビットのデータをNビットずつに分割し、分割されたNビットデータを対応する前記第1ポート及び前記第2ポートを通じて前記対応するメモリ装置に各々出力する。
前記データ伝送方法は、前記第4ポート及び前記第5ポートのうち少なくとも一つのポートを通じて入力される前記Nビットデータを前記第1ポート及び前記第2ポートのうち少なくとも一つのポートを通じて前記対応するメモリ装置に出力する。
【0019】
【発明の実施の形態】
以下、添付した図面を参照して本発明の望ましい実施形態を説明する。ただし、下記の実施形態は例示的なものに過ぎず、当業者ならこれから多様な変形及び均等な他の実施形態が可能なのを理解しうる。したがって、本発明の真の技術的保護の範囲は特許請求の範囲の技術的思想によって決まるべきである。
【0020】
図1は、本発明によるメモリコントローラを備えるコンピュータシステムを概略的に示す図である。
本発明によるコンピュータシステム1000はデータと命令語とを各々保存するための少なくとも二つのメモリ装置100、200、コンピュータシステム1000を制御して管理するための少なくとも一つの2Nビット装置400(例えばCPU)、メモリ装置100、200と各々Nビットデータをやり取りするための少なくとも二つのNビット装置600、700、800、及びメモリ装置100、200と2Nビット装置400、またはメモリ装置100、200とNビット装置600、700、800間に2NビットまたはNビットデータをやり取りすることを制御するためのメモリコントローラ300を備える。
【0021】
メモリコントローラ300は対応するNビットバス101、201を通じて、Nビットデータを対応するメモリ装置100、200と各々入出力するための第1ポート310及び第2ポート320、2Nビットバス401を通じて2Nビットデータを2Nビット装置400と入出力するための第3ポート360、及び対応するNビットバス371、381を通じてNビットデータを対応するNビット装置600、700、800と各々入出力するための第4ポート370及び第5ポート380を備える。
【0022】
メモリコントローラ300は2Nビット装置400から発生し、第3ポート360を通じて入力された命令信号(例えば2Nビット装置400が2Nビットデータフェッチするための命令信号またはロード命令信号)及びアドレスに応答して、前記アドレスに対応するメモリ装置100、200から第1ポート310及び第2ポート320を通じて入力された前記Nビットデータを各々同時にフェッチし、フェッチされた2Nビットデータを第3ポート360を通じて2Nビット装置400に伝送する。
【0023】
また、メモリコントローラ300は対応するNビット装置600、700、800から発生され、第4ポート370及び/または第5ポート380を通じて入力される命令信号及びアドレスに応答して、前記アドレスに対応するメモリ装置100、200から第1ポート310及び/または第2ポート320を通じて入力された前記Nビットデータをフェッチし、フェッチされたNビットデータを第4ポート370及び/または第5ポート380を通じて対応するNビット装置600、700、800に伝送する。
【0024】
また、メモリコントローラ300は2Nビット装置400から発生し、第3ポート360を通じて入力される前記2NビットのデータをNビットずつに分割して、分割されたNビットデータを対応する第1ポート310及び第2ポート320を通じて対応するメモリ装置100、200に出力する。
【0025】
さらに、メモリコントローラ300は対応するNビット装置600、700、または800から発生し、第4ポート370及び/または第5ポート380を通じて入力される前記Nビットデータを第1ポート310及び/または第2ポート320を通じてメモリ装置100、200に出力する。
【0026】
図1を参照すれば、コンピュータシステム1000は第1メモリ装置100、第2メモリ装置200、メモリコントローラ300、中央処理処置400、ダウンサイザ500、PCI機能ブロック600、イーサネット(登録商標)機能ブロック700及びUART機能ブロック800を備える。
【0027】
ここで、CPU400は2N(Nは自然数、Nは32)ビット装置と仮定し、PCI機能ブロック600、イーサネット(登録商標)機能ブロック700及びUART機能ブロック800は全てNビット機能ブロックと仮定する。
各メモリ装置100、200はCPU400が必要とするデータと命令語とを保存する主メモリを意味し、DRAMで構成される。
【0028】
CPU400はバス401と101、または401と201を通じて第1メモリ装置100及び第2メモリ装置200にNビットアドレスを送って第1メモリ装置100及び第2メモリ装置200を呼び出し、バス401と101、または401と201を通じて第1メモリ装置100及び第2メモリ装置200とデータをやり取りし、このような動作が円滑に行われるように制御するための各種の制御信号を所定のコントロールバスを通じてメモリコントローラ300に出力する。すなわち、CPU400は全般的にコンピュータシステム1000を制御して管理する機能を行う。
【0029】
本発明によるメモリコントローラ300は第1ポート310、第2ポート320、第1メモリコントローラ330、第2メモリコントローラ340、ポートコントローラ350、第3ポート360、第4ポート370及び第5ポート380を備える。ポートコントローラ350は第3ポートコントローラ351、第4ポートコントローラ353及び第5ポートコントローラ355を備える。
【0030】
第1ポート310及び第1メモリ装置100はNビットバス101を通じて相互接続され、第2ポート320及び第2メモリ装置200はNビットバス201を通じて相互接続される。
第3ポート360及びダウンサイザ500、または第3ポート360及びCPU400は2Nビットバス401を通じて相互接続される。各機能ブロック600、700、800とダウンサイザ500はNビットバス501を通じて相互接続される。ダウンサイザ500は2Nビットデータを受信し、これをNビットデータに変換し、その結果を出力する。
第4ポート370及びPCI機能ブロック600は各Nビットバス371、601を通じて接続される。第5ポート380及びイーサネット(登録商標)700、または第5ポート380及びUART800は各Nビットバス381、701、801を通じて接続される。
【0031】
第1メモリコントローラ330はCPU400または各機能ブロック600、700、800から出力されるアドレス、書き込み命令信号(例えば、貯蔵命令)及びデータに応答して前記データを前記アドレスによって指定された第1メモリ装置100の所定のメモリセルに保存する書き込み動作を制御するか、あるいはCPU400または各機能ブロック600、700、800から出力されるアドレス及びリード命令信号(例えばロード命令)に応答して前記アドレスによって指定された第1メモリ装置100のメモリセルからデータをリードするリード動作を制御する。
【0032】
また、第2メモリコントローラ340はCPU400または各機能ブロック600、700、800から出力されるアドレス、書き込み命令信号及びデータに応答して前記データを前記アドレスによって指定された第2メモリ装置200の所定のメモリセルに保存する書き込み動作を制御するか、あるいはCPU400または各機能ブロック600、700、800から出力されるアドレス及びリード命令信号に応答して前記アドレスによって指定された第2メモリ装置100のメモリセルからデータをリードするリード動作を制御する。
【0033】
第3ポートコントローラ351は第1メモリ装置100から出力されるNビットデータ及び第2メモリ装置200から出力されるNビットのデータを受信し、これを結合して生成された2Nビットのデータを第3ポート360と2Nビットバス401とを通じてCPU400に伝送する動作を制御する。
【0034】
第4ポートコントローラ353は第1メモリ装置100から出力されるNビットデータまたは第2メモリ装置200から出力されるNビットデータを受信し、受信されたNビットデータを第4ポート370とバス371、601とを通じてPCI機能ブロック600に出力する。
【0035】
第5ポートコントローラ355は第1メモリ装置100から出力されるNビットデータまたは第2メモリ装置200から出力されるNビットデータを受信し、受信されたNビットデータを第5ポート380とバス381と701、または381と801とを通じてイーサネット(登録商標)機能ブロック700またはUART機能ブロック800に伝送する。
【0036】
図1を参照して、本発明によるメモリコントローラを備えるコンピュータシステムの動作を説明すれば次のようである。
CPU400が2Nビットデータをロードする場合は、前記2Nビットのデータをロードするための2Nビットのアドレス及び所定ビットの命令信号が2Nビットバス401と第3ポート360とを通じてメモリコントローラ300に入力される。
第3ポートコントローラ351は2NビットデータをNビットずつに分割し、分割された上位Nビットアドレスと前記所定ビットの命令信号を第1メモリコントローラ330に出力し、分割された下位Nビットアドレス及び前記所定ビットの命令信号を第2メモリコントローラ340に出力する。
ここで上位Nビットは最上位ビット(MSB:Most Significant Bit)を含むNビットを意味し、下位Nビットは最下位ビット(LSB:Least Significant Bit)を含むNビットを意味する。しかし、本発明によるメモリコントローラは2NビットをNビットずつに分割する多様な方法を含む。
【0037】
第1メモリコントローラ330はNビットバス101を通じて前記上位Nビットアドレスによって指定された第1メモリ装置100のメモリセルからNビットのデータをフェッチし、フェッチされたNビットデータを第3ポートコントローラ351に出力し、これと同時に、第2メモリコントローラ340はNビットバス201を通じて前記下位Nビットのアドレスによって指定された第2メモリ装置200のメモリセルからNビットのデータをフェッチし、フェッチされたNビットデータを第3ポートコントローラ351に出力する。
【0038】
第3ポートコントローラ351は第1メモリコントローラ330から出力されたNビットデータと第2メモリコントローラ340から出力されたNビットデータとを結合し、2Nビットデータを2Nビットバス401を通じてCPU400に伝送する。
【0039】
次に、CPU400が2Nビットのデータを保存する場合は、前記2Nビットのデータを保存するための2Nビットのアドレス及び所定ビットの命令信号が第3ポート360を通じてメモリコントローラ300に入力される。
第3ポートコントローラ351は2NビットデータをNビットずつに分割し、分割された上位Nビットアドレス、この上位Nビットアドレスに相応する上位Nビットデータ及び前記所定ビットの命令信号を第1メモリコントローラ330に出力する。第1メモリコントローラ330は第1ポート310とNビットバス101とを通じて上位Nビットデータを前記Nビットアドレスによって指定された第1メモリ装置100のメモリセルに伝達する。
【0040】
また、第3ポートコントローラ351は分割された下位Nビットアドレス、この下位Nビットアドレスに相応する前記下位Nビットデータ及び前記所定ビットの命令信号を第2メモリコントローラ340に出力する。第2メモリコントローラ340は第2ポート320とNビットバス201とを通じて下位Nビットデータを前記Nビットアドレスによって指定された第2メモリ装置200のメモリセルに伝達する。
【0041】
次に、PCI機能ブロック600がNビットのデータをロードする場合は、前記NビットのデータをロードするためのNビットのアドレス及び所定ビットの命令信号がNビットバス601、371及び第4ポート370を通じてメモリコントローラ300に入力される。
第4ポートコントローラ353は前記Nビットのアドレス及び前記所定ビットの命令信号を第1メモリコントローラ330と第2メモリコントローラ340ののうち何れか一つのメモリコントローラに出力する。第4ポートコントローラ353はソフトウェア的にまたはハードウェア的に第1メモリコントローラ330または第2メモリコントローラ340を選択できる。
【0042】
第4ポートコントローラ353が第1メモリコントローラ330を選択した場合は、第1メモリコントローラ330が前記Nビットアドレスによって指定された第1メモリ装置100のメモリセルからNビットのデータをフェッチする。フェッチされたNビットデータは第4ポートコントローラ353及びNビットバス371、601を通じてPCI機能ブロック600に入力される。
このようにしてPCI機能ブロック600がNビットのデータをロードする場合、イーサネット(登録商標)機能ブロック700またはUART機能ブロック800は第5ポート380、第5ポートコントローラ355及び第2メモリコントローラ340を通じてNビットデータをロードまたは保存できる。
【0043】
したがって、以上から分かるように、Nビットバス101、第1ポート310及び第1メモリコントローラ330が第1インタフェースを構成し、Nビットバス201、第2ポート320及び第2メモリコントローラ340が第2インタフェースを構成し、2Nビット装置400が2Nビットデータをローディングまたは保存する時、本発明によるメモリコントローラ300の第1インタフェース及び第2インターフェースが同時に各々Nビットデータをフェッチする。
また、各Nビット装置600、700、800がNビットデータをローディングまたは保存する時は第1インタフェースまたは第2インタフェースだけが使われ、使われない第1インタフェースまたは第2インタフェースは各Nビット装置700、800、600が使用できる。
【0044】
したがって図1を参照して、2Nビット装置のCPU400は第1インタフェース及び第2インタフェースを同時に使用し、Nビット装置のイーサネット(登録商標)機能ブロック700が第1インタフェースを使用するときは、Nビット装置のPCI機能ブロック600が第2インタフェースを使用できる。また、Nビット装置のUART800が第1インタフェースを使用するときは、Nビット装置のPCI機能ブロック600が第2インタフェースを使用できる。
Inf1は第1インタフェースの使用現況を示し、Inf0は第2インタフェースの使用現況を示し、CはCPU400、Eはイーサネット(登録商標)700、PはPCI600、UはUART800をそれぞれ示す。
【0045】
【発明の効果】
以上のように本発明によるメモリコントローラはNビット装置と2Nビット装置とを混用して使用するコンピュータシステムでバスの動作周波数を増加させなくても最大の性能が得られる。
また、本発明によるメモリコントローラ及びこれを利用したデータ伝送方法を通じて前記メモリコントローラを備えるコンピュータシステムのメモリ使用効率が増加される。
そして、本発明によるメモリコントローラを使用するコンピュータシステムにおけるバスの帯域幅が広げられる。
【図面の簡単な説明】
【図1】本発明によるメモリコントローラを備えるコンピュータシステムを概略的に示す図である。
【符号の説明】
100 第1メモリ装置
101 Nビットバス
200 第2メモリ装置
201 Nビットバス
300 メモリコントローラ
310 第1ポート
320 第2ポート
330 第1メモリコントローラ
340 第2メモリコントローラ
350 ポートコントローラ
351 第3ポートコントローラ
353 第4ポートコントローラ
355 第5ポートコントローラ
360 第3ポート
370 第4ポート
371 Nビットバス
380 第5ポート
381 Nビットバス
400 CPU
401 2Nビットバス
500 ダウンサイザ
501 Nビットバス
600 PCI機能ブロック
601 Nビットバス
700 イーサネット(登録商標)機能ブロック
701 Nビットバス
800 UART機能ブロック
801 Nビットバス
1000 コンピュータシステム

Claims (5)

  1. コンピュータシステムにおいて、
    それぞれがCPUが要求するデータと命令語とを保存する第1システムメインメモリ装置及び第2システムメインメモリ装置と、
    前記コンピュータシステムを制御して管理する2NビットCPUと、
    前記第1システムメインメモリ装置及び前記第2システムメインメモリ装置の各々とデータをやり取りするための第1機能ブロックと、
    前記第1システムメインメモリ装置及び前記第2システムメインメモリ装置の各々とデータをやり取りするための第2機能ブロックと、
    前記第1システムメインメモリ装置及び前記第2システムメインメモリ装置と
    前記2NビットCPUとの間、または、前記第1システムメインメモリ装置及び前記第2システムメインメモリ装置前記Nビット第1機能ブロック及び前記Nビット第2機能ブロックとの間にデータをやり取りすることを制御するためのメモリコントローラと、を備え、
    前記メモリコントローラは、
    Nビット第1バスを通じてNビットデータを前記第1システムメインメモリ装置とやり取りするための第1ポートと、
    Nビット第2バスを通じてNビットデータを前記第2システムメインメモリ装置とやり取りするための第2ポートと、
    2Nビット第3バスを通じて2Nビットデータを前記2NビットCPUとやり取りするための第3ポートと、
    Nビット第4バスを通じてNビットデータを前記第1機能ブロックとやり取りするための第4ポートと、
    Nビット第5バスを通じてNビットデータを前記第2機能ブロックとやり取りするための第5ポートとを備え、
    前記メモリコントローラは、
    前記2NビットCPUから発生し、前記第3ポートを通じて入力された命令信号及びアドレスに応答して前記第1ポート及び前記第2ポートを通じて前記アドレスに対応する前記第1システムメインメモリ装置と前記第2システムメインメモリ装置とから同時にNビットデータを各々フェッチし、この二つのNビットデータを2Nビットデータ形態に結合し、結合された2Nビットデータを前記第3ポートを通じて伝送し、または、
    前記第1機能ブロックから発生し、前記第4ポートを通じて入力される命令信号及びアドレスに応答して前記アドレスに対応する前記第1システムメインメモリ装置又は前記第2システムメインメモリ装置のいずれかからNビットデータをフェッチし、フェッチされたNビットデータを前記第4ポートに伝送し、
    前記第2機能ブロックから発生し、前記第5ポートを通じて入力される命令信号及びアドレスに応答して、前記アドレスに対応する前記第1システムメインメモリ装置又は前記第2システムメインメモリ装置のいずれかからNビットデータをフェッチし、フェッチされたNビットデータを前記第5ポートに伝送するものであって、
    前記第4ポートへの伝送と前記第5ポートへの伝送とを同時に可能とすることを特徴とするコンピュータシステム。
  2. 前記メモリコントローラは、
    前記2NビットCPUから発生し、前記第3ポートを通じて入力される2NビットのデータをNビットずつに分割し、分割されたNビットデータを前記第1システムメインメモリ装置と前記第2システムメインメモリ装置とにそれぞれ出力することを特徴とする請求項に記載のコンピュータシステム。
  3. 前記メモリコントローラは、
    前記第1機能ブロックから発生し、前記第4ポートを通じて入力されるNビットのデータを前記第1システムメインメモリ装置又は前記第2システムメインメモリ装置に出力することを特徴とする請求項1に記載のコンピュータシステム。
  4. 前記メモリコントローラは、
    前記第2機能ブロックから発生し、前記第5ポートを通じて入力されるNビットのデータを前記第1システムメインメモリ装置又は前記第2システムメインメモリ装置に出力することを特徴とする請求項に記載のコンピュータシステム。
  5. 前記命令信号はデータをフェッチするための命令信号であることを特徴とする請求項に記載のコンピュータシステム。
JP2003201884A 2002-07-29 2003-07-25 バス帯域幅を増加させるためのメモリコントローラ、これを利用したデータ伝送方法及びこれを備えるコンピュータシステム Expired - Fee Related JP4323241B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0044677A KR100450680B1 (ko) 2002-07-29 2002-07-29 버스 대역폭을 증가시키기 위한 메모리 컨트롤러, 이를이용한 데이터 전송방법 및 이를 구비하는 컴퓨터 시스템

Publications (2)

Publication Number Publication Date
JP2004062900A JP2004062900A (ja) 2004-02-26
JP4323241B2 true JP4323241B2 (ja) 2009-09-02

Family

ID=30768207

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003201884A Expired - Fee Related JP4323241B2 (ja) 2002-07-29 2003-07-25 バス帯域幅を増加させるためのメモリコントローラ、これを利用したデータ伝送方法及びこれを備えるコンピュータシステム

Country Status (3)

Country Link
US (2) US6931462B2 (ja)
JP (1) JP4323241B2 (ja)
KR (1) KR100450680B1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7941326B2 (en) * 2001-03-14 2011-05-10 Health Hero Network, Inc. Interactive patient communication development system for reporting on patient healthcare management
KR100450680B1 (ko) * 2002-07-29 2004-10-01 삼성전자주식회사 버스 대역폭을 증가시키기 위한 메모리 컨트롤러, 이를이용한 데이터 전송방법 및 이를 구비하는 컴퓨터 시스템
US7240144B2 (en) * 2004-04-02 2007-07-03 Arm Limited Arbitration of data transfer requests
US20060069896A1 (en) * 2004-09-27 2006-03-30 Sigmatel, Inc. System and method for storing data
US7532218B1 (en) * 2005-02-01 2009-05-12 Nvidia Corporation Method and apparatus for memory training concurrent with data transfer operations
JP4419868B2 (ja) 2005-02-25 2010-02-24 ソニー株式会社 情報処理装置および方法、メモリ制御装置および方法、記録媒体、並びにプログラム
JP4008933B2 (ja) * 2005-05-16 2007-11-14 株式会社東芝 磁気記録媒体およびその製造方法ならびに磁気記録装置
US20070239906A1 (en) * 2006-03-13 2007-10-11 Vakil Kersi H Input/output agent having multiple secondary ports
JP2009251945A (ja) * 2008-04-07 2009-10-29 Panasonic Corp メモリ制御装置
US8296526B2 (en) * 2009-06-17 2012-10-23 Mediatek, Inc. Shared memory having multiple access configurations
JP2012014397A (ja) * 2010-06-30 2012-01-19 Fujitsu Ltd 入出力制御装置、及び情報処理装置
EP2546754A1 (en) * 2011-07-14 2013-01-16 Samsung Electronics Co., Ltd. Memory control device and method
JP5864957B2 (ja) * 2011-08-31 2016-02-17 ルネサスエレクトロニクス株式会社 半導体装置
US8984203B2 (en) * 2012-10-09 2015-03-17 Sandisk Technologies Inc. Memory access control module and associated methods
KR102036514B1 (ko) 2015-07-13 2019-10-28 엘에스산전 주식회사 메모리 소자를 이용한 데이터 엑세스 장치

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4514808A (en) * 1978-04-28 1985-04-30 Tokyo Shibaura Denki Kabushiki Kaisha Data transfer system for a data processing system provided with direct memory access units
US4309754A (en) * 1979-07-30 1982-01-05 International Business Machines Corp. Data interface mechanism for interfacing bit-parallel data buses of different bit width
US4361869A (en) * 1980-01-08 1982-11-30 Honeywell Information Systems Inc. Multimode memory system using a multiword common bus for double word and single word transfer
US4716527A (en) * 1984-12-10 1987-12-29 Ing. C. Olivetti Bus converter
JPH0786853B2 (ja) * 1988-02-29 1995-09-20 株式会社ピーエフユー バス転送制御方式
JPH0484253A (ja) * 1990-07-26 1992-03-17 Mitsubishi Electric Corp バス幅制御回路
US5255374A (en) * 1992-01-02 1993-10-19 International Business Machines Corporation Bus interface logic for computer system having dual bus architecture
JPH04306756A (ja) * 1991-04-03 1992-10-29 Mitsubishi Electric Corp データ転送システム
US5207586A (en) * 1991-10-24 1993-05-04 Intel Corporation Integral connector system for credit card size I/O card external connector
JPH07504773A (ja) * 1992-03-18 1995-05-25 セイコーエプソン株式会社 マルチ幅のメモリ・サブシステムをサポートするためのシステム並びに方法
KR0126330Y1 (ko) * 1993-10-23 1998-12-15 김광호 텔레비젼 수상기의 더블스캔 제어회로
US5687102A (en) * 1995-05-26 1997-11-11 National Semiconductor Corp. Double precision (64 bit) shift operations using a 32 bit data path
US5828865A (en) * 1995-12-27 1998-10-27 Intel Corporation Dual mode bus bridge for interfacing a host bus and a personal computer interface bus
JPH1078934A (ja) * 1996-07-01 1998-03-24 Sun Microsyst Inc パケット切替えコンピュータ・システムのマルチサイズ・バス結合システム
JPH10133998A (ja) * 1996-11-05 1998-05-22 Canon Inc データ処理方法とその方法を用いた記録装置
JPH10275080A (ja) * 1997-01-24 1998-10-13 Texas Instr Inc <Ti> マイクロプロセッサ
US5974463A (en) * 1997-06-09 1999-10-26 Compaq Computer Corporation Scaleable network system for remote access of a local network
JPH11149444A (ja) * 1997-11-19 1999-06-02 Nec Corp データ転送制御装置及びデータ転送制御システム並びにデータ転送制御方法
JP3681528B2 (ja) * 1997-12-22 2005-08-10 株式会社ルネサステクノロジ グラフィックプロセッサ及びデータ処理システム
US6742098B1 (en) * 2000-10-03 2004-05-25 Intel Corporation Dual-port buffer-to-memory interface
JPH11249958A (ja) * 1998-03-03 1999-09-17 Fujitsu Ten Ltd メモリ制御システム
US6038630A (en) * 1998-03-24 2000-03-14 International Business Machines Corporation Shared access control device for integrated system with multiple functional units accessing external structures over multiple data buses
TW476029B (en) * 1999-07-12 2002-02-11 Matsushita Electric Ind Co Ltd Data processing apparatus
US6715023B1 (en) * 1999-09-23 2004-03-30 Altera Corporation PCI bus switch architecture
AU2001243463A1 (en) * 2000-03-10 2001-09-24 Arc International Plc Memory interface and method of interfacing between functional entities
US6715094B2 (en) * 2000-12-20 2004-03-30 Intel Corporation Mult-mode I/O interface for synchronizing selected control patterns into control clock domain to obtain interface control signals to be transmitted to I/O buffers
US6732247B2 (en) * 2001-01-17 2004-05-04 University Of Washington Multi-ported memory having pipelined data banks
KR100377361B1 (ko) * 2001-02-27 2003-03-26 삼성전자주식회사 모듈 및/또는 모듈 기능의 선택에 대한 식별음을 제공하는모듈라 텔레비젼
KR100434602B1 (ko) * 2001-11-27 2004-06-04 준 신 이 헬로우 캐소드 플라즈마를 이용한 실리콘 건식식각방법
US6820167B2 (en) * 2002-05-16 2004-11-16 Hewlett-Packard Development Company, L.P. Configurable crossbar and related methods
US7133972B2 (en) * 2002-06-07 2006-11-07 Micron Technology, Inc. Memory hub with internal cache and/or memory access prediction
KR100450680B1 (ko) * 2002-07-29 2004-10-01 삼성전자주식회사 버스 대역폭을 증가시키기 위한 메모리 컨트롤러, 이를이용한 데이터 전송방법 및 이를 구비하는 컴퓨터 시스템

Also Published As

Publication number Publication date
JP2004062900A (ja) 2004-02-26
US20040019748A1 (en) 2004-01-29
US6931462B2 (en) 2005-08-16
KR20040011665A (ko) 2004-02-11
US20050265108A1 (en) 2005-12-01
KR100450680B1 (ko) 2004-10-01

Similar Documents

Publication Publication Date Title
US20050265108A1 (en) Memory controller which increases bus bandwidth, data transmission method using the same, and computer system having the same
KR100860956B1 (ko) 메모리 시퀀싱 힌트들을 제공하기 위한 메모리 허브 및방법
CN100489809C (zh) 适合向多处理器提供专用或共享存储器的存储器及其方法
KR100847968B1 (ko) 컴퓨팅 시스템, 전자 통신 디바이스, 컴퓨팅 시스템 운영 방법 및 정보 처리 방법
JP2021530813A (ja) 専用低レイテンシリンクを使用した複数のハードウェアアクセラレータのための統合されたアドレス空間
US8001296B2 (en) USB controller and buffer memory control method
US20020055979A1 (en) Inter-processor communication system for communication between processors
EP1535169B1 (en) Improved inter-processor communication system for communication between processors
US6253290B1 (en) Multiprocessor system capable of circumventing write monitoring of cache memories
KR20030083572A (ko) 상위버스와 하위버스를 가지며, 네트워크에서의 데이터액세스의 제어를 행하는 마이크로 컴퓨터 시스템
JP4431492B2 (ja) 複数のコヒーレンシー・グラニュールをサポートするデータ転送ユニット
US6742087B2 (en) Control of access by multiple data processing units to multiple memories
JP5668573B2 (ja) マイクロプロセッサ、メモリアクセス方法
JPH0227696B2 (ja) Johoshorisochi
JP2000099452A (ja) Dma制御装置
CN1299099A (zh) 桥装置
EP1990725B1 (en) Central processing unit, central processing unit control method, and information processing system
JPH01291343A (ja) メモリ管理装置
EP0814412B1 (en) A digital signal processor and a method for interfacing a digital signal processor
US20110209009A1 (en) Distributed Memory Usage for a System Having Multiple Integrated Circuits Each Including Processors
JP3353877B2 (ja) メモリ装置
WO2001067271A1 (fr) Dispositif de traitement d&#39;informations
JPH06161972A (ja) マルチプロセッサシステム
KR20070068664A (ko) 8비트보다 큰 대역폭을 갖는 주변장치와 같은 대역폭을사용하는 8비트 cpu 및 8비트 cpu에서 8비트보다 큰대역폭을 갖는 주변 장치와 동일한 대역폭을 가지게 하는방법 및 이를 구현하기 위한 프로그램이 기록된 기록매체
JPH0370052A (ja) アドレス変換回路、メモリコントロール装置、情報処理装置、および、記録装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080916

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090203

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090507

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090526

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090604

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120612

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130612

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees