JP3703532B2 - 多重化アドレスバスを備えたコンピュータシステム - Google Patents
多重化アドレスバスを備えたコンピュータシステム Download PDFInfo
- Publication number
- JP3703532B2 JP3703532B2 JP18814595A JP18814595A JP3703532B2 JP 3703532 B2 JP3703532 B2 JP 3703532B2 JP 18814595 A JP18814595 A JP 18814595A JP 18814595 A JP18814595 A JP 18814595A JP 3703532 B2 JP3703532 B2 JP 3703532B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- data
- bus
- write
- computer system
- 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 - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0215—Addressing or allocation; Relocation with look ahead addressing means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1615—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using a concurrent pipeline structrure
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Information Transfer Systems (AREA)
- Memory System (AREA)
Description
【産業上の利用分野】
本発明は、コンピュータシステムに於けるデータ伝送に関する。特に、中央演算装置、システムメモリ、及び一つ以上のスレーブデバイス(slave device)の間をつなぐバスに関する。このバスは、多重化アドレスサイクルを用いており、データ伝送肯定応答(achnowledgement)によるオーバヘッドを小さくするためにパイプライン化された書き込み動作を実行する。
【0002】
【従来の技術】
コンピュータシステムは、システムメモリと中央演算装置(CPU)との間のデータ伝送を高速メモリバスによって行う。例えばプリンタドライバのようなスレーブデバイスとCPUとの間の入力/出力(I/O)動作に対しては、通常、より速度の遅いI/Oバスが別に用いられる。従来のコンピュータシステムは、システムメモリとCPUとの間のデータ伝送に対してもより速度の遅いI/Oバスを用いていた。この方法では、データのメモリからの読み出し及びメモリへの書き込みに要する時間が大幅に増加する。そのため、従来のコンピュータシステムは、システムメモリに対しては高速メモリバスを、スレーブデバイスに対しては別の低速I/Oバスを用いるようになった。このようなハードウェア上の冗長性をなくし、システムメモリとCPUとの間のデータ伝送と、CPUとスレーブデバイスとの間の制御動作の両方に対して一つの高速メモリバスを用いることが強く望まれている。そのようなシステムは、システムメモリの再構成を必要としない。言い換えると、スレーブデバイスは、既存のシステムメモリアクセスアーキテクチャと共に動作する。
【0003】
低速I/OバスによってCPUとスレーブデバイスとの間のデータ伝送をするための従来の方法は、2つのステップからなる。最初に、CPU(マスタデバイスとも呼ばれる)が、書き込み要求と、メモリマッピングされたI/Oアドレスと、データとをI/Oバス上に発生する。プリンタドライバのようなスレーブデバイスは、情報を読みとり、マスタデバイスへ肯定応答を送り返す。書き込み要求とデータ肯定応答との間の時間は、データ伝送肯定応答待ち時間(data transfer acknowledgement latency)となる。
【0004】
従来のコンピュータバスの帯域幅は、このデータ伝送肯定応答待ち時間によって制限されている。データ伝送肯定応答待ち時間の問題は、図1を参照することによって、より理解されるだろう。まず、マスタデバイスから書き込み要求が送られる。データの受信を知らせる肯定応答信号がスレーブデバイスから数サイクル後に送られる。図1に示されているように、この肯定応答信号が受け取られた後にしか、マスタデバイスは次の書き込み要求を発生しない。同期式バスでは、このデータ伝送肯定応答待ち時間によって、一つの書き込み要求を送るのに必要なクロックサイクル数が2倍または3倍になる。
【0005】
データ伝送肯定応答待ち時間に関連する帯域幅の消費を緩和するため、バーストモードデータ伝送が開発された。バーストモードデータ伝送では、大きなデータブロックに対して一つの肯定応答が送られる。従って、バーストモードデータ伝送によって、より大きな書き込みデータブロックに渡ってデータ伝送肯定応答待ち時間が減少される。
【0006】
都合の悪いことに、バーストモードデータ伝送法にも関連する問題がある。まず、データ伝送肯定応答待ち時間が、第1図に示した従来のデータ伝送の場合と同じ長さである。別の問題点として、バーストモードデータ伝送は、常に同じ量のデータの伝送を必要とする。しばしば、送られるべきデータ量が、バーストモードデータ伝送に要求される量より少ないことがある。この問題は、バーストモードデータの未使用部分をマスクする特別な方法によって解決される。しかし、その結果、システムが複雑になりコストも上昇する。
【0007】
バーストモードデータ伝送に関する他の問題は、固定バイトオーダ(fixed byte order)が必要とされることである。即ち、バーストサイズ内のアドレスのみしかバーストモードではアクセスできない。どのアドレスをどのようなオーダでもアクセスできることが望まれている。この機能はグラフィック応用に於いては特に重要である。例えば、ベクトルや三角形を描く場合、アドレスは局在化しているが、それらはランダムな方向となっている。
【0008】
従って、データ伝送肯定応答待ち時間によるオーバヘッドを減少させるコンピュータシステムデータバスの提供が強く望まれている。そのようなシステムではバーストモードデータ伝送にまつわる問題を回避することができる。
【0009】
【発明が解決しようとする課題】
本発明の目的は、データ伝送肯定応答待ち時間によるオーバヘッドを減少させると共に、複数バスによるハードウェアの冗長性を解消することのできるデータバスを備えたコンピュータシステム及びその動作方法を提供することである。
【0010】
【課題を解決するための手段】
上述の課題を解決するため、本発明によれば、システムメモリとスレーブデバイスの両方に共有される多重化アドレスバスを備えたコンピュータシステムが提供される。また、そのようなコンピュータシステムの動作方法が提供される。
【0011】
【作用】
本発明に於いて、スレーブデバイスは、多重化アドレスバス上で2サイクルのアドレスシーケンスを実行するためのバスコントローラが提供されることによって、既存のシステムメモリ構造に組み込まれる。各アドレスシーケンスは、上位アドレスビットがバス上に送出され、選択されたスレーブデバイスにラッチされる第1書き込みサイクルを含む。また、各アドレスシーケンスは、残りの下位アドレスビット及びバイトマスクビット(byte mask bits)が選択されたスレーブデバイスに送られる第2サイクルを含む。その後のアドレスシーケンスでは、上位アドレスビットは、それらの内容が変化したときにのみ再送付される。従って、バスコントローラからスレーブデバイスへのほとんどのアドレスシーケンスは、一つのアドレスサイクルしか含まない。
【0012】
本システムのバスコントローラは、最初のデータ書き込みに対する肯定応答が受信される前に、多重化された、またはパイプライン化されたバスへのデータ書き込みを行う。この方法では、最初のデータ書き込みに対するスレーブデバイスによる肯定応答は、通常、マスタデバイスによって次のデータ書き込みが行われるのと同じ時間に送られる。従って、データ伝送肯定応答は、データ書き込みとオーバラップする。このオーバラップ動作によって、書き込み動作の間バスが十分に使用され、それによってデータ帯域幅を改善することができる。本発明の特徴及び目的をより理解するため、添付の図面と共に、以下の詳細な説明を参照されたい。
【0013】
【実施例】
本発明は、システムメモリとスレーブデバイスの両方に共有される多重化アドレスバスを備えたコンピュータシステムを指向している。このようにバスを一つにすることによって、ハードウェアの冗長性が減少される。更に、このシステムよって、スレーブデバイスは、システムメモリに用いられる大きなデータフィールド(本例では、64ビット)にアクセスすることができる。本発明によれば、多重化アドレスバス上で2サイクルのアドレスシーケンスを実行するためのバスコントローラを提供することによって、スレーブデバイスは既存のシステムメモリ構造に組み込まれる。各アドレスシーケンスは、上位アドレスビットがバス上に送出され、選択されたスレーブデバイスにラッチされる第1書き込みサイクルを含む。また、各アドレスシーケンスは、残りの下位アドレスビット及びバイトマスクビットが選択されたスレーブデバイスに送られる第2サイクルを含む。その後のアドレスシーケンスでは、上位アドレスビットは、それらの内容が変化したときにのみ再送付される。従って、バスコントローラからスレーブデバイスへのほとんどのアドレスシーケンスは、一つのアドレスサイクルしか含まない。この特徴によってスレーブデバイスのデータ帯域幅が改善される。これは、メモリシステムに於ける高速ページモードと似ているが、スレーブデバイスに関する使用に於いては新規であると考えられる。
【0014】
アドレスシーケンスの後、データの伝送がそれに続く。本発明のシステムは、アドレス情報の受信時間と、そのアドレス情報に対応するデータの受信時間との間に、ランダムな待ち時間を設けることができる。このランダムな待ち時間は、他のコンピュータの目的に対して活用することができる。アドレス動作とデータ書き込み動作の間にランダムな待ち時間を設けることができるという機能は新規であると考えられる。
【0015】
また、本発明では、最初のデータ書き込みに対する肯定応答が受信される前の、多重化された、またはパイプライン化されたデータバスへのデータ書き込みを可能とすることによって、コンピュータシステムのデータバス上のデータ帯域幅が改善されている。この方法では、最初の書き込みに対するスレーブデバイスによる肯定応答は、通常、マスタデバイスによって次のデータ書き込みが行われるのと同じ時間に送られる。従って、データ伝送肯定応答は、データ書き込みとオーバラップする。このオーバラップ動作によって、書き込み動作の間バスが十分に使用され、それによってデータ帯域幅を改善することができる。
【0016】
本発明の顕著な特徴について述べてきたが、今度は、本発明のより詳細な考察に移る。まず、本発明の多重化バスのアーキテクチャについて説明し、その後、本発明によるパイプライン化された書き込み動作の説明に移る。
【0017】
図2は、本発明の多重化バス22を組み込んだコンピュータシステム20を図示している。多重化バス22は、制御ライン22Aとアドレス/データライン22Bとを含む。多重化バス22は、一つ若しくは複数のスレーブデバイス24をシステム20内に組み込むために用いられる。スレーブデバイス24は、バスコントローラ26によって制御される。簡単のため、本発明は、一つのスレーブデバイス24について説明されるが、理解されるように、複数のスレーブデバイスを使用することが可能である。
【0018】
制御ライン22A、バスコントローラ26、及びスレーブデバイス24は、中央演算装置(CPU)28、メモリコントローラ30、メモリ制御ライン32、及びシステムメモリ34を含む既存のシステム内に組み込まれている。アドレス/データライン22Bは、システムメモリ34によって用いられる既存のアドレス/データラインから構成されている。従って、理解されるように、本発明の多重化バスは既存のシステムメモリ34の資源を活用すると共に、スレーブデバイス24が使えるように更に制御ラインが付け加えられている。このようにして、スレーブデバイス24は別々のアドレスバス及びデータバスを必要としなくなるため、システムのハードウェアの冗長性を減らすことができる。この特徴は、また、第2のバスがないことによってCPUがサポートしなければならないピンの数が減少するという点からみても利点を有する。このことは、パッケージングに於ける重要な留意事項である。更に、スレーブデバイスは、アドレス/データライン22Bの広い帯域幅のデータにアクセスすることができる。従って、グラフィックカードのようなデータスループットの高いデバイスをスレーブデバイス24として用いることができる。
【0019】
本発明は、既存のシステム資源を活用する多重化バス22に向けられている。CPU28、メモリコントローラ30、及びシステムメモリ34を含む既存のシステム資源は、本分野では公知であり、詳細に述べる必要はない。更に、アドレス/データライン22Bに対する、バスコントローラ26とメモリコントローラ30との間の競合(contention)は、いくつかの競合解消技法によって処理される。アドレス/データライン22Bがシステムメモリ34とスレーブデバイス24とによって異なった時間に使用されるということが重要である。
【0020】
アドレス/データライン22Bは、既存のコンピュータバスの構成内にある。図2は、アドレス/データライン22Bが、以下のラインを含んでいることを示している。即ち、AB[10:0]、WRITE_L、及びDB[63:0]を含んでいる。AB[10:0]は11本のアドレスラインがあることを示しており、DB[63:0]は64本のデータラインがあることを示しており、WRITE_Lは、読み取りまたは書き込み動作を区別するのに用いられる。
【0021】
本発明の多重化バスは、これらの既存のラインを用いると共に、スレーブデバイス24がサービスを受けることができるように、1セットの制御ライン22Aを更に備えている。図2に於いて、制御ライン22Aは、AEN(アドレスイネーブル)、AB[14:11]、S_REPLY[1:0]、P_REPLY[1:0]、LO_ADDR(下位アドレス)、INT_L、CLK、RESET_L、及びDEV_PRES_Lを含む。制御ライン22Aは、テスト信号線、電源及び接地線を含むが、それらは簡単のため省略されている。
【0022】
多重化バスの各ラインの動作の特徴を、以下に述べる。AENはアドレスイネーブル信号である。AENが立っている(ハイ状態)とき、それはコマンド要求があると同時に、ABバス、LO_ADDR、及びWRITE_Lライン上に有効なデータがあることを示している。AEN信号は、また、読み取りサイクルに許可を与える。アドレス/バイトマスクバスAB[14:0]は、データがどこに書き込まれるか、またはデータがどこから読み出されるかを示す多重化された物理アドレスを含んでいる。更に、それはバイトマスクを含んでいる。このアドレス/バイトマスクのデータは、2つのアドレスサイクルに渡って多重化されるが、それについて以下に述べる。
【0023】
本システムの応答信号S_REPLY[1:0]は、バスが選択されたということ及びアクセスの種類を示す。ポートの応答信号P_REPLY[1:0]は、データが書き込みによって書き込みバッファから処理された(取り除かれた)こと、または読み取りデータが読み取りラッチ内で入手可能な状態にあることを示す。
【0024】
下位アドレス信号LO_ADDRは、AEN信号によって有効になる。この信号によって、コントローラがアドレスバス及び書き込みライン上に送っているのがどちらのアドレスサイクルであるかが決定される。0にされているときは、この信号は、アドレスサイクル0(上位アドレスビット)を示す。1にされているときは、この信号はアドレスサイクル1(下位アドレスビット及びバイトマスク)を示す。
【0025】
バス割り込み信号INT_Lは、スレーブデバイス24が、何らかのイベントが発生し、サービスを要求するということをコントローラ26に対して通知するのに用いられる。割り込み信号を立てる前に、スレーブデバイス24は内部レジスタ内のビットを割り込みの原因を示すようにセットしなければならない。割り込みは、このビットを読んだCPU28によって処理される。このビットは、それを読むことによって、またはCPU28による外部書き込みによってクリアされる。いったんクリアされると、スレーブデバイス24は割り込み信号を落とさなければならない。
【0026】
信号DEV_PRES_Lは、デバイスの存在を認識するのに用いられる。より詳細には、このピンは、スレーブデバイス24が、ある物理的位置に存在することを示すのに用いられる。
【0027】
バスのリセット信号RESET_Lによって、電源投入若しくはシステムリセットの後、全てのスレーブデバイスが適切に初期化される。RESET_Lの要求を検出すると、スレーブデバイス24は、初期化に必要とされる内部処理を全て行わなければならない。
【0028】
WRITE_L信号は、AENによって有効にされ、またアドレスサイクル1の間のみ有効である。0にされているときは、この信号は書き込み要求を示す。1にされているときは、この信号は読み取り要求を示す。
【0029】
データラインDB[63:0]は、CPU28とスレーブデバイス24との間のデータ伝送に用いられる。これらのデータラインは、4つの基本データフォーマットをサポートする。即ち、(1)8個のデータビットから構成されるバイト、(2)16個のデータビットから構成される半ワード、(3)32個のデータビットから構成されるワード、(4)64個のデータビットから構成される倍ワードをサポートする。簡便のため、データバスの最下位ビットはDB[0]であり、最上位ビットはDB[63]とする。
【0030】
多重化バス22の上述したラインの各動作を表1にまとめる。
【0031】
【表1】
【0032】
本発明の多重化バス22は、上述した信号と以下の表2を参照して説明されるように、2サイクルのアドレスシーケンス動作を実行する。
【0033】
【表2】
【0034】
表2に描かれている線は、信号の第1のセットは制御ライン22Aに加えられ、信号の第2のセットはアドレス/データライン22Bに加えられるということを示している。サイクル0の間、スレーブデバイス24は、上位アドレスビット(PA[27]〜PA[14])をラッチする。これらのラッチされた値は、以後の各アドレスサイクルに於いて、下位アドレスビット(PA[13]〜PA[3])と組み合わせられる。次のアドレスサイクル0は、データが“ページ境界”を越え、上位アドレスビットの修正が必要とならない限り必要とされない。
【0035】
サイクル1では、バイトマスク値がスレーブデバイス24にラッチされることに注意されたい。これらのバイトマスク値は、データが64ビットフィールドの中のどこにあるかを認識するのに用いられる。上述したように、データラインは4つの基本データフォーマットをサポートする。即ち、(1)8個のデータビットから構成されるバイト、(2)16個のデータビットから構成される半ワード、(3)32個のデータビットから構成されるワード、(4)64個のデータビットから構成される倍ワードをサポートする。従来のバーストモードデータ伝送と異なり、本発明は下位アドレスの範囲内でどのようなアドレスのシーケンス(sequence)も可能とする。このことは、データが逆のオーダで読み取り及び書き込みされなければならないような、オーバラップする複写動作に於いて有用である。また、アクセスが局在化されているがランダムな方向となるベクトル及び三角形グラフィック応用に於いても有用である。
【0036】
多重化バス22の2サイクルアドレスシーケンス動作は、図3を参照することにより、より詳細に理解される。図3は、アドレスイネーブル信号AENによって、最初のサイクルのAB[14:0]への上位ビットの書き込みが始められることを示している。その後、下位アドレス信号LO_ADDRに応答して、下位ビットが書き込まれる。上位ビットは変化しないため、それらは再送付されず、下位ビットが続けて書き込まれていることに注意されたい。
【0037】
図4は、多重化バス22の2サイクルアドレスシーケンス動作に応じたスレーブデバイス24による処理を示している。書き込みシーケンスの初期サイクルで、上位アドレスビットが送られる。詳述すると、上位アドレスビットの上位アドレス信号(AB[14:11])は、制御ライン22Aを介してラッチ40にラッチされ、上位アドレス信号の下位アドレスビット(AB[10:0])は、アドレス/データライン22Bを介してラッチ40にラッチされる。
【0038】
アドレスシーケンスの次のサイクルでは、バイトマスクが、制御ライン22AのラインAB[14:11]によって、ラッチ40に伝達され、上位アドレス信号の残りの下位アドレスビット(AB[10:0])が、アドレス/データライン22Bによってラッチ40へと伝えられる。こうして、全てのアドレスデータが得られる。更に、続いてアドレスの書き込みが開始されると、ラッチ40内のデータは、例えば先入れ先出し(FIFO)データ記憶構造のような、標準的なデータ記憶構造43へ送られる。図4には、一連のアドレスを記憶するためのアドレスFIFO43が図示されている。
【0039】
各アドレスが書き込まれた後、そのアドレスに対応するデータがデータFIFO42に受信される。制御論理回路44は、ラッチ40内の受信されたアドレスとFIFO42内の受信されたデータを整合させる。アドレス情報には、適切なデータを選択するべく制御論理回路44によって使用されるバイトマスクデータが含まれていることを想起されたい。メモリマッピングされたI/O46を用いることにより、制御論理回路44は、受信されたデータに関する選択された動作を実行する。
【0040】
本発明の多重化バス22については、ここまでに詳細に説明した。次に、本発明のパイプライン化された書き込み動作の説明に移る。
【0041】
既述したように、スレーブデバイス24は、伝送されたアドレス及びデータ情報を保持するアドレスFIFO43とデータFIFO42を備えている。スレーブデバイス24に送られた書き込み要求は、アドレスFIFO43とデータFIFO42に保存される。続いて、制御論理回路が、それぞれのFIFO42、43からデータを読み、バスコントローラ26へ肯定応答信号を送る。従って、本発明に従うと、予め定められた数の書き込み要求が実行され、スレーブデバイス24のアドレスFIFO43及びデータFIFO42に保持される。
【0042】
この動作は、図3を参照して説明される。図3では、4つの書き込み要求(A、B、C、D)がS_REPLYライン上に送出されている。既述したように、このS_REPLY信号は、制御ライン22Aを介して直接スレーブデバイス24に伝えられる。データラインの書き込みが、次に、データライン22B(DB[63:0])上で各書き込み要求の1サイクル以内に開始される。制御ライン22AのP_REPLYライン上の肯定応答は、書き込み動作とオーバラップする。例えば、書き込み要求Cは、書き込みデータAに対する肯定応答と同じ時間に発生している。
【0043】
従って、図3から理解されるように、一連の書き込み動作は、肯定応答が受信される前及び間に実行される。
【0044】
この方法は、各書き込み動作の前に肯定応答が必要とされる従来技術と対照的である。従って、本発明によれば、パイプライン化された書き込み動作による広い帯域幅が達成される。各書き込み動作に対して肯定応答が送られることに注意されたい。バーストモードデータ伝送法では、複数の書き込みが送られるが、ひとまとめの書き込みに対して一つの肯定応答しか使用されない。本発明のパイプライン化された書き込み動作は、バーストモードデータ伝送に関わる欠点の多くを回避している。詳述すると、パイプライン化された書き込み動作では、一定量のデータを伝送する必要はなく、固定バイトオーダを必要とすることもなく、また、アドレスの範囲も制限されない。また、本発明に関して用いられる既述したようなマスクバイトによって、バーストモードデータ伝送で可能であったデータフォーマットより、はるかにフレキシブルなデータフォーマットが可能となっている。
【0045】
既述したように、本発明は、受信されたアドレスと書き込みデータとを記憶するためのFIFOを各スレーブデバイス24に備えさせることによって、実現することができる。図3に示した動作に対応するFIFOは、4つの書き込みを保持することができなければならない。本発明は、任意の数の書き込み動作に対応したデータ記憶構造を備えるようにすることができる。
【0046】
バスコントローラ26は、標準的に動作するが、書き込み動作の数を追うカウンタを含んでいる。カウンタは、予め定められた書き込みの制限値に達すると、制御回路を動作させ、バスコントローラ26がFIFO42及び43の容量を超えて書き込みを生成するのを防止する。このようにして、図3の例では、4つの書き込み動作の後、バスコントローラ26はデータバス22Bに対するデータ書き込み処理を中止している。
【0047】
図3に於いて、EとFは読み取りサイクルである。読み取りサイクルEの前にスペースがあることに注意されたい。スレーブデバイス24のFIFO内の肯定応答がなされていない書き込みが一つまたは0の場合のみ、読み取りが開始されるようにシステム20を設計することが望まれている。従って、Eの読み取り要求は、Cに対する肯定応答がP_REPLYライン上に送られた後に送出されている。システム20は、肯定応答なされていない書き込みがFIFO内に多数あっても読み取りを開始できるように設計することもできる。しかし、その数が大きすぎる場合、読み取り動作がシステム20を長時間止めてしまう危険がある。
【0048】
読み取り動作は、図3に示されているように、同じクロックサイクルに、AEN信号が活性化され、“Read Single”コード(11)がS_REPLYライン上に置かれ、サイクル1に於けるAB[14:0]への下位アドレスの書き込みが行われるときに実行される。スレーブデバイス24の読み取りに対する応答の準備ができると、スレーブデバイス24は、図4に示されているレジスタ48を介してDBライン上にデータを送出すると同時に、“Read Single”コード(11)をP_REPLYライン上に送出する。このモードは、2クロックサイクルに於ける最適な読み取り動作を行えるという利点を有する。
【0049】
本発明のアーキテクチャを十分に活用するため、バスコントローラ26とスレーブデバイス24は、別のタイプの読み取り動作(本明細書中では分割読み取りと呼ぶ)をサポートすることが好ましい。この分割読み取りによって、読み取りデータを待っている間に、CPU28は、例えばメモリ書き込みなどの機能を実行することができる。
【0050】
分割読み取りは、本発明に於いてはアドレス信号がデータ信号から切り離されているという事実を活用するものである。従って、本発明によれば、アドレスとデータを別の時間に送ることができる。ただし、アドレスが最初に送られなければならない。データは、その後、任意のクロックサイクルの後に送ることができる。
【0051】
この動作は図5を参照することによりより詳細に理解される。分割読み取りサイクルは、アドレスサイクル1の間、S_REPLY信号が立っていない場合にスレーブデバイス24に認識される。アクセス対象のデータを準備すると、スレーブデバイス24は、“Read Single”コード(11)をP_REPLYライン上に送出する。コントローラ26は、それに応答して、S_REPLYライン上に“Read Single”コード(11)を出し、スレーブデバイス24にデータバスが使用可能であることを伝える。スレーブデバイス24は2クロックサイクル後にDBライン上にデータを送出し、データ伝送が終了する。
【0052】
図5に示されているように、分割読み取りは、最短でも、5クロック(CLK)サイクルを要する。サイクル0に於いて、必要ならば、バスコントローラ26はAB[14:0]上にアドレスを送出してから、AENを立ててもよい。第2のアドレスサイクル(アドレスサイクル1)では、バスコントローラ26はLO_ADDRを立てる。読み取りに対して準備ができると(WRITE_Lが立っていないことで認識される)、スレーブデバイス24は、P_REPLYに“Read Single”コード(11)を立てる。読み取りデータを受け取る準備ができると、バスコントローラ26は、S_REPLYを立てる。2クロックサイクル後、スレーブデバイス24は要求された読み取りデータをDB[63:0]上に送出する。
【0053】
上述の本発明の特定の実施例に関する説明は、例示及び説明を目的としたものであり、網羅的であることを意図したものでも、あるいは本発明を説明されたもののみに限定することを意図したものでもなく、上述の観点から様々な変形変更が可能であることは明らかであろう。例えば、本発明は複数のスレーブデバイスに対して適用可能であることを思いつくであろう。また、バスコントローラ26は、CPU28内に収容されている必要もない。これらの実施例は、本発明の趣旨及びその実際の応用を最もよく説明し、当業者が、考えられる特定の使用に適合するように、最もよく本発明と様々な変形を伴う様々な実施例を利用する事ができるように記述されたものである。本発明の範囲は特許請求の範囲によって画定される。
【0054】
【発明の効果】
本発明によると、システムメモリとスレーブデバイスの両方に共有される多重化アドレスバスを備えたコンピュータシステムによって、データ伝送肯定応答をデータ書き込みとオーバラップさせることができ、それによって、データ伝送肯定応答待ち時間によるオーバヘッドを小さくすることができる。また、バスを一つにできるためハードウェアの冗長性も減少される。
【図面の簡単な説明】
【図1】図1は、従来の、データ伝送肯定応答待ち時間の問題を示すのに用いられるタイミング信号の組を示す図である。
【図2】本発明によるコンピュータシステムの概念図である。
【図3】本発明のパイプライン化された書き込み動作と多重化されたアドレスを例示するタイミングダイヤグラムである。
【図4】図4は、本発明に従って使用し得るスレーブデバイスを示す図である。
【図5】図5は、本発明の分割読み取り動作を示すためのタイミングダイヤグラムである。
【符号の説明】
20 コンピュータシステム
22 多重化バス
22A 制御ライン
22B アドレス/データライン
24 スレーブデバイス
26 バスコントローラ
28 中央演算装置(CPU)
30 メモリコントローラ
32 メモリ制御ライン
34 システムメモリ
40 ラッチ
42 データFIFO
43 アドレスFIFO
44 制御論理回路
46 メモリマッピングされたI/O
Claims (5)
- コンピュータシステムであって、
メモリシステムと、
入出力デバイスと、
アドレスライン、データライン、及び書き込み/読み出し指定ラインを含み、前記メモリシステムと前記入出力デバイスとに直接接続された共有バスと、
アドレス伝送シーケンスと、前記アドレス伝送シーケンスに続いて待ち時間の後に実行されるデータ伝送シーケンスとを発生するバスコントローラと、
前記入出力デバイスと前記バスコントローラとに直接接続された、入出力デバイスアドレスバスを含む制御ラインとを有することを特徴とし、
前記アドレス伝送シーケンスが、
上位アドレスビットが前記共有バス及び前記入出力デバイスアドレスバス上に供給される第1サイクルと、
下位アドレスビットが前記共有バスに供給され、所定のデータフィールドフォーマットの組を特定するマスクビットが前記入出力デバイスアドレスバス上に供給される第2サイクルとを含み、
前記バスコントローラは、書き込み肯定応答を受け取る前に、前記アドレス伝送シーケンスの間に書き込み要求のシーケンスを発生することを特徴とし、
前記データ伝送シーケンスが、前記メモリシステムまたは前記入出力デバイスによって選択的に行われる処理のための、前記共有バス上への複数のデータビットの送出を含んでいることを特徴とするコンピュータシステム。 - 前記所定のデータフィールドフォーマットの組が、
(a)所定の数のデータビットから構成されるバイトと、
(b)前記所定の数のデータビットの2倍の数のデータビットから構成される半ワードと、
(c)2個の前記半ワードから構成されるワードと、
(d)4個の前記半ワードから構成される倍ワードとを含むことを特徴とする請求項1に記載のコンピュータシステム。 - 前記データ伝送シーケンスが、前記アドレス伝送シーケンスに続いてランダムな待ち時間の後に実行されることを特徴とする請求項1に記載のコンピュータシステム。
- 前記入出力デバイスが、前記書き込み要求のシーケンスを保存し、続けて前記書き込み要求のシーケンスにおける各書き込み要求に対する書き込み肯定応答を供給することを特徴とする請求項1に記載のコンピュータシステム。
- 前記入出力デバイスが、ランダムな待ち時間の後に前記書き込み肯定応答を供給することを特徴とする請求項4に記載のコンピュータシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US26958594A | 1994-07-01 | 1994-07-01 | |
US08/269,585 | 1994-07-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08190522A JPH08190522A (ja) | 1996-07-23 |
JP3703532B2 true JP3703532B2 (ja) | 2005-10-05 |
Family
ID=23027880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP18814595A Expired - Lifetime JP3703532B2 (ja) | 1994-07-01 | 1995-06-30 | 多重化アドレスバスを備えたコンピュータシステム |
Country Status (4)
Country | Link |
---|---|
US (1) | US6141741A (ja) |
EP (1) | EP0690382B1 (ja) |
JP (1) | JP3703532B2 (ja) |
DE (1) | DE69529250T2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6081860A (en) * | 1997-11-20 | 2000-06-27 | International Business Machines Corporation | Address pipelining for data transfers |
KR100644597B1 (ko) | 2000-08-05 | 2006-11-10 | 삼성전자주식회사 | 버스 시스템 및 그 커맨드 전달방법 |
US8275972B2 (en) * | 2006-08-23 | 2012-09-25 | Ati Technologies, Inc. | Write data mask method and system |
GB2455772A (en) * | 2007-12-20 | 2009-06-24 | Symbian Software Ltd | Early reporting of commands to a peripheral device |
GB2464495A (en) * | 2008-10-16 | 2010-04-21 | Symbian Software Ltd | Overlapping write requests using a write transaction |
CN102253906B (zh) | 2010-05-18 | 2014-05-07 | 凹凸电子(武汉)有限公司 | 地址分配方法和地址分配系统 |
US9152598B2 (en) | 2012-11-28 | 2015-10-06 | Atmel Corporation | Connecting multiple slave devices to a single master controller in bus system |
US9178513B1 (en) | 2013-12-19 | 2015-11-03 | Altera Corporation | Memory blocks with shared address bus circuitry |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4195352A (en) * | 1977-07-08 | 1980-03-25 | Xerox Corporation | Split programmable logic array |
US4286321A (en) * | 1979-06-18 | 1981-08-25 | International Business Machines Corporation | Common bus communication system in which the width of the address field is greater than the number of lines on the bus |
US4403283A (en) * | 1980-07-28 | 1983-09-06 | Ncr Corporation | Extended memory system and method |
US4454575A (en) * | 1980-12-29 | 1984-06-12 | International Business Machines Corporation | Shared memory system with access by specialized peripherals managed by controller initialized by supervisory CPU |
US4674032A (en) * | 1984-04-02 | 1987-06-16 | Unisys Corporation | High-performance pipelined stack with over-write protection |
EP0288649B1 (en) * | 1987-04-22 | 1992-10-21 | International Business Machines Corporation | Memory control subsystem |
US5450552A (en) * | 1987-08-17 | 1995-09-12 | Nec Corporation | Expanded address bus system for providing address signals to expanding devices |
US5150467A (en) * | 1987-09-04 | 1992-09-22 | Digital Equipment Corporation | Method and apparatus for suspending and restarting a bus cycle |
US4933845A (en) * | 1987-09-04 | 1990-06-12 | Digital Equipment Corporation | Reconfigurable bus |
US4987529A (en) * | 1988-08-11 | 1991-01-22 | Ast Research, Inc. | Shared memory bus system for arbitrating access control among contending memory refresh circuits, peripheral controllers, and bus masters |
US5253353A (en) * | 1990-01-02 | 1993-10-12 | Digital Equipment Corporation | System and method for efficiently supporting access to I/O devices through large direct-mapped data caches |
ES2109256T3 (es) * | 1990-05-25 | 1998-01-16 | At & T Corp | Disposicion de bus de acceso a memoria. |
JP2910303B2 (ja) * | 1990-06-04 | 1999-06-23 | 株式会社日立製作所 | 情報処理装置 |
US5237567A (en) * | 1990-10-31 | 1993-08-17 | Control Data Systems, Inc. | Processor communication bus |
US5228134A (en) * | 1991-06-04 | 1993-07-13 | Intel Corporation | Cache memory integrated circuit for use with a synchronous central processor bus and an asynchronous memory bus |
AU2270892A (en) * | 1991-06-26 | 1993-01-25 | Ast Research, Inc. | Automatic distribution of interrupts controller for a multiple processor computer system |
JP3042549B2 (ja) * | 1991-08-23 | 2000-05-15 | 古河電気工業株式会社 | 多重伝送方式の受信応答方法 |
US5191656A (en) * | 1991-08-29 | 1993-03-02 | Digital Equipment Corporation | Method and apparatus for shared use of a multiplexed address/data signal bus by multiple bus masters |
US5386579A (en) * | 1991-09-16 | 1995-01-31 | Integrated Device Technology, Inc. | Minimum pin-count multiplexed address/data bus with byte enable and burst address counter support microprocessor transmitting byte enable signals on multiplexed address/data bus having burst address counter for supporting signal datum and burst transfer |
US5423008A (en) * | 1992-08-03 | 1995-06-06 | Silicon Graphics, Inc. | Apparatus and method for detecting the activities of a plurality of processors on a shared bus |
US5448701A (en) * | 1992-12-22 | 1995-09-05 | International Business Machines Corporation | Flow controller for shared bus used by plural resources |
CA2109043A1 (en) * | 1993-01-29 | 1994-07-30 | Charles R. Moore | System and method for transferring data between multiple buses |
-
1995
- 1995-06-23 DE DE69529250T patent/DE69529250T2/de not_active Expired - Fee Related
- 1995-06-23 EP EP95109764A patent/EP0690382B1/en not_active Expired - Lifetime
- 1995-06-30 JP JP18814595A patent/JP3703532B2/ja not_active Expired - Lifetime
-
1996
- 1996-08-29 US US08/705,057 patent/US6141741A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH08190522A (ja) | 1996-07-23 |
EP0690382B1 (en) | 2003-01-02 |
EP0690382A3 (en) | 1996-10-02 |
DE69529250T2 (de) | 2003-10-30 |
US6141741A (en) | 2000-10-31 |
EP0690382A2 (en) | 1996-01-03 |
DE69529250D1 (de) | 2003-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4860244A (en) | Buffer system for input/output portion of digital data processing system | |
KR950008226B1 (ko) | 버스트 전송 모드를 갖는 버스 마스터 | |
US7096296B2 (en) | Supercharge message exchanger | |
JP4447892B2 (ja) | マルチコア通信モジュールを組み入れたデータ通信システム及び方法 | |
KR100881049B1 (ko) | 복수의 어드레스 2 채널 버스 구조 | |
US6715000B2 (en) | Method and device for providing high data rate for a serial peripheral interface | |
US20040107265A1 (en) | Shared memory data transfer apparatus | |
US20090024776A1 (en) | High data rate serial peripheral interface | |
WO2005071556A1 (en) | A two channel bus structure to support address information, data, and transfer qualifiers | |
WO2005078594A1 (en) | Scalable bus structure | |
JP3703532B2 (ja) | 多重化アドレスバスを備えたコンピュータシステム | |
EP0437160B1 (en) | Main storage memory cards having single bit set and reset functions | |
EP0618537B1 (en) | System and method for interleaving status information with data transfers in a communications adapter | |
GB2377138A (en) | Ring Bus Structure For System On Chip Integrated Circuits | |
US6898659B2 (en) | Interface device having variable data transfer mode and operation method thereof | |
EP1742147B1 (en) | Microprocessor apparatus and method for enabling variable width data transfers | |
US5671370A (en) | Alternating data valid control signals for high performance data transfer | |
US5931932A (en) | Dynamic retry mechanism to prevent corrupted data based on posted transactions on the PCI bus | |
JPS60186151A (ja) | プロセツサ間デ−タ通信方法 | |
JPH11252150A (ja) | ネットワーク接続装置、及びネットワーク接続制御方法 | |
KR0170742B1 (ko) | 엠버스를 이용한 데이터 전송 방법 | |
JP3056169B2 (ja) | データ送受信方式とその方法 | |
JPS6041158A (ja) | バス制御方式 | |
JPH02211571A (ja) | 情報処理装置 | |
JPH05143561A (ja) | 複合計算機システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050114 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050118 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050404 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050524 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050526 |
|
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: 20050621 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050720 |
|
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: 20080729 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090729 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090729 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100729 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110729 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110729 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120729 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120729 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130729 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |