JPH10105308A - 情報伝送バス及び方法 - Google Patents

情報伝送バス及び方法

Info

Publication number
JPH10105308A
JPH10105308A JP9235642A JP23564297A JPH10105308A JP H10105308 A JPH10105308 A JP H10105308A JP 9235642 A JP9235642 A JP 9235642A JP 23564297 A JP23564297 A JP 23564297A JP H10105308 A JPH10105308 A JP H10105308A
Authority
JP
Japan
Prior art keywords
bus
transmission
data
state
transmitted
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.)
Pending
Application number
JP9235642A
Other languages
English (en)
Inventor
Gottfried Goldrian
ゴットフリート・ゴルトリアン
Hans-Werner Tast
ハンス−ヴェルナー・タスト
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH10105308A publication Critical patent/JPH10105308A/ja
Pending legal-status Critical Current

Links

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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol

Abstract

(57)【要約】 【課題】 バスの帯域幅の利用、特にプロセッサと第2
レベルキャッシュ間のプロセッサバスの利用を改善する
方法。 【解決手段】 バスを介して双方向にコマンドを伝送
し、コマンドバスを不必要にするために、1つのハーフ
バスにより、一方向にコマンドの伝送が可能となり、他
のハーフバスにより、他の方向にコマンド伝送が可能と
なるバスの初期状態を確立する。この初期状態におい
て、コマンドは同時に双方向に伝送可能である。さら
に、一方の半帯域幅が一方向向けに設計され、他方の半
帯域幅が他の方向向けに使われるバスの初期状態から、
全帯域幅が一方向のデータの伝送に使われるデータ伝送
に特に適した状態へ変換することが可能である。これを
行うには、一方のハーフバスまたは他方のハーフバスが
反転切り換えされなければならない。この目的のため
に、少なくとも1つのハーフバスは双方向ラインから成
るものでなければならない。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データプロセッシ
ングシステムにおける情報伝送用のバスおよびデータプ
ロセッシングシステムにおけるバスを通るデータの伝送
方法に関する。
【0002】
【従来の技術】データプロセッシングシステムにおいて
機能ユニット間の情報を伝送するには、一方向だけにデ
ータを伝送することのできるいわゆる単方向バスと呼ば
れるバスシステムが知られている。
【0003】2つの機能ユニットAおよびB間に2つの
方向に伝送可能な双方向バスのアプリケーションも知ら
れている。情報は、バスの全帯域幅を、AからBまたは
BからAへのいずれかに伝送される。そのため、伝送待
ちの情報があるときは、送信者はデータが伝送可能とな
る前にそのバスに割り当てられる送信権を予め有してい
なければならない。
【0004】このモードは、送信権が割り当てられるま
で待ち行列遅延が生じるため、タイムクリティカルなコ
マンドの伝送には適していない。プロトコルプロセスの
同期およびタイミングのための短い指示は特にタイムク
リティカルである。
【0005】このため、数多くのコントロールラインと
共に専用コマンドバスがこれらのコマンドの伝送のため
に導入されている。この方法では、タイムリミットを見
守りながらコマンドを正しく伝達することが可能であっ
た。しかし、このタイプのバスの回路には、かなりの無
駄があった。
【0006】マルチプロセッサシステム、特に、多くの
プロセッサを共通のL2キャッシュを備えたプロセッサ
バスによりリンクしなければならないシステムでは、L
2で使用可能なピンが限られている。コネクタの技術上
の理由から、これらのピンの数は自由に増やすことがで
きない。従って、キャッシュとプロセッサ間の高伝送帯
域幅を数少ないラインで実行できるようになればなるほ
ど、より多くのプロセッサがL2に連結できるようにな
る。
【0007】
【発明が解決しようとする課題】このように、本発明の
目的は、一方では、タイムリミットを見守りながら伝送
パートナー間にタイムクリティカルなコマンドを伝送す
ることができ、他方では、伝送帯域幅に関して最適なバ
スラインを用いることのできるバスを得ることである。
【0008】
【課題を解決するための手段】本発明の目的は、少なく
とも一方の伝送ラインのグループの伝送方向が反転する
ように、伝送ラインを反対の伝送方向を有する2つのグ
ループに分けた初期状態と、伝送ラインの2つのグルー
プの伝送方向が同じとなる第2の状態とを有し、この初
期状態と第2の状態との間でバスを切り換える手段とを
有するバスにより達成される。
【0009】本発明の目的はまた、バスの伝送ラインを
2つのグループに分け、伝送ラインの2つのグループが
逆の伝送方向を有する初期状態から、2つのグループの
伝送方向が同じである第2の状態に切り換え反転をする
方法によっても達成される。
【0010】バスの初期状態において、コマンドを、遅
延することなく、双方向に伝送することができる。これ
により、コマンド伝送に分割バスを用いることができ
る。データ伝送が行われるとき、バスの第2状態へコン
バートすることが可能となる。このとき、バスラインの
両方のグループの伝送方向は同じである。このように、
データは、必要に応じてバスの全帯域幅で伝送される。
この方式では、バス帯域幅を特定の要件に柔軟にマッチ
ングさせることが可能である。
【0011】本発明のさらに有益な構成においては、伝
送ラインの一方のグループの伝送ラインは、伝送方向が
反転できる双方向ラインであり、伝送ラインの他方のグ
ループの伝送ラインは、伝送方向が固定された単方向ラ
インである。
【0012】本実施例の利点は、バスの一方向におい
て、バス帯域幅を2分の1から全帯域幅に変換可能なこ
とである。この方法では、データの最大部分が交換され
るバス方向にとって最適な伝送モードが設計できる。バ
スの2分の1が単方向ラインより成るという事実から、
この解決策の実施によるハードウェアの消費は、すべて
のラインは、双方向ラインとして実施されなければなら
ない。最新技術によるバスによるものより大幅に少な
い。
【0013】本発明の実施例のさらなる利点は、両方の
グループの伝送ラインは、伝送方向が反転する双方向ラ
インであることである。
【0014】この解決策においては、半帯域幅のデータ
伝送から全帯域幅のデータ伝送への変換が、両方のバス
方向で行われる。これにより、コマンドおよびデータ伝
送に必要な帯域幅の幅決めがとりわけ柔軟に行われる。
この解決策は、伝送されるデータ量が一方向において、
ほぼ同じようなシステムに特に有益である。
【0015】本発明のさらなる実施例によれば、2つの
伝送方向のそれぞれに少なくとも1つのタグラインが存
在し、このタグラインの状態がバス上を伝送される情報
のタイプを指定する。
【0016】この方式では、伝送されたデータのタイプ
別のプロセッシングが受信側で行われる。特に、受信し
た情報を正しいレジスタへ即時に書き込むことが可能で
ある。
【0017】本発明のさらなる実施例によれば、初期状
態と第2の状態との間の反転が、タグラインの状態の関
数として行われる。
【0018】この方式では、全伝送帯域幅の割り当てを
受信する要求を、伝送におけるパートナー間で素早く伝
達することができる。
【0019】本発明のさらなる実施例によれば、初期状
態と第2の状態との間の反転が、バスを通じて伝送され
る情報の関数として行われる。
【0020】本実施例において、とりわけ初期から第2
の状態へ、またその逆のバスの変換に関わるタグライン
は省かれている。この方法はピンを節約するものであ
る。
【0021】本発明のさらなる有益な実施例によれば、
タグラインを通じてのタグ信号の伝送が、バスを通じる
情報の伝送より速いタイミングサイクルの一部分で行わ
れる。
【0022】この方法では、入ってくるバス信号のタイ
プ別プロセッシングを開始するための、受信側で使用可
能な時間が増える。また、入ってくる情報のプリプロセ
ッシングを開始するときも同様である。
【0023】本発明のさらなる有益な実施例によれば、
バスが初期状態にあり、情報が一方の伝送方向に伝送さ
れるが、バスがまだ反対方向にアクティブの場合には、
初期状態から第2の状態への変換は、反対の伝送方向へ
のバスのアクティビティが完了するまで遅延される。
【0024】バスの2分の1が使用されている場合に、
本発明の利点は、反対方向へのデータ伝送が半帯域幅で
開始され、反対側での伝送が完了したときには、全帯域
幅に変換されることである。これにより、バスをかなり
柔軟に活用できるようになる。
【0025】
【発明の実施の形態】コンピュータシステムの機能ユニ
ット間で伝送される情報は、次の4つのグループに分類
することができる。まず第一に、機能ユニットにより実
行されるオペレーションを指定するコマンドがある。こ
れらのコマンドと共に、データおよびメモリアドレスを
コマンドのオペランドとして伝送する。そして、この他
にコントロール信号がある。これは、データ伝送に関与
している機能ユニットの状態を伝達し、データ伝送を同
期する。
【0026】コンピュータ内のバスシステムは、上に挙
げた4つの情報すべてを、双方向に伝送できなければな
らない。このタイプのバスシステムの例として、最新技
術によるプロセッサバスを図1に示す。このプロセッサ
バスは、第2レベルのキャッシュ(L2)を備えたプロ
セッサ(PU)とリンクする。図示したバスは、データ
および/またはアドレスの伝送用データバス、コマンド
伝送用コマンドバスおよびコントロール情報の伝送用ラ
インの3つのセグメントに分割されている。
【0027】データバスは、ここでは双方向バスとして
インプリメントされている。これは、データ伝送に関与
している両パートナー、すなわち、プロセッサおよび第
2レベルのキャッシュチップが、64のデータライン
(102)への送信権を保持できることを意味してい
る。プロセッサが、データをL2へ伝送したい場合に
は、これらのデータはまず、プロセッサが送信権を有し
ていると仮定すると、データアウトレジスタ100へ書
き込まれ、送信ドライバ101、バスライン102およ
び受信側ドライバ103を通じて、受信側つまりL2側
のデータインレジスタ106へ伝送される。
【0028】反対向きの例で説明すると、第2レベルの
キャッシュが送信権を持っているときは、データは、L
2のデータアウトレジスタ110、送信側ドライバ10
9、バスライン102および受信側ドライバ108を通
じて、プロセッサのデータインレジスタ111へ移動す
る。送信権の管理は、出力信号が送信されるコントロー
ルユニット104を通じて、プロセッサ側送受信ドライ
バ(101、108)と、キャッシュ側の送受信ドライ
バ(109、103)との両方へなされる。コントロー
ルユニット104の出力信号のレベルに応じて、101
および103の2つのドライバ、または108および1
09の2つのドライバのいずれかが作動する。従って、
コントロールユニットの出力信号が、データバスのデー
タ伝送方向を決める。
【0029】一方、2つのコマンドバスのラインは、単
方向の設計、すなわち、はじめからデータ伝送に関与し
ている2つのパートナーが送信権を有している構成であ
る。プロセッサから第2レベルキャッシュへのコマンド
の伝送の際、コマンドはまず、プロセッサにより送信側
コマンドレジスタ120へ書き込まれる。そこから、コ
マンドバスの5つのライン(121)通じて第2レベル
のキャッシュへ伝送され、入ってくるコマンドが、そこ
に位置するコマンドレジスタ122へ書き込まれ、さら
に処理が行われる。第2レベルのキャッシュからプロセ
ッサへのコマンドの伝送のイベントシーケンスが、これ
に対応する。コマンドは再び、受信側コマンドレジスタ
123へ書き込まれ、そこから、単方向ライン124を
通じてプロセッサへ伝送され、プロセッサ側コマンドレ
ジスタ125へ書き込まれる。
【0030】さらに、全ての単方向コントロールライン
が、プロセッサからL2へ、またL2からプロセッサへ
存在している。このように、例えば、バリッドアドレス
データが双方向バス上で伝送されることを示す、2つの
それぞれの方向に「アドレスバリッド」コントロールラ
イン(130、138)がある。これと同様に、バス上
で伝送されるデータがバリッドであることを示す、2つ
のそれぞれの方向に「バリッドデータ」コントロールラ
インがある。コマンドバスを通じたコマンドの伝送は、
それぞれのコントロール信号に対する「バリッドコマン
ド」(131、139)のアプリケーションにより示さ
れる。さらに、各方向には、要求および応答ライン、そ
して、伝送エラーの表示、バスプロトコルの正しいプロ
セッシングを確実なものにするタスクを担う追加のコン
トロールラインがある。
【0031】コントロール信号は、プロセッサからL2
へ伝送され、プロセッサにより送信側コントロールレジ
スタ126へ書き込まれ、そこから送信側ドライバへ、
そしてそれぞれの単方向コントロールラインを通じて、
受信側コントロールレジスタ133へ、さらにそこでL
2により読み込まれる。L2からプロセッサへのコント
ロール信号の伝送もこれと同様である。
【0032】現在の最新技術による図1に示したバス構
成を、さらに図2に概略的に示す。2つの単方向コマン
ドバス203および204上に伝送されるコマンドおよ
びコントロールライン200の状態の関数として、送信
権が、双方向データおよびアドレスバス上に割り当てら
れる。双方向バスには、2つの状態がある。AおよびB
を、双方向バスによりリンクされた2つの機能ユニット
とする。第1の状態201において、ユニットAは、す
べてのバスライン上に送信権を保持しており、これによ
りデータをバスの全帯域幅でBへ送信することができ
る。第2の状態202において、ユニットAは受信モー
ドにあり、ここで送信権を得る。
【0033】第1から第2の状態またはその逆へ変換す
るためには、全双方向バスライン上のデータ伝送方向を
反転する必要がある。これは、BIDIコントロールユ
ニット104の出力信号を逆転することによりなされ
る。しかし、このようなバスの伝送方向の逆転には、複
数のプロセッササイクルが必要である。
【0034】信号ラインを節約し、バスを有効利用する
ために、双方向バスを通じてユニット間にデータおよび
アドレスのみを伝送するだけでなく、コマンドも伝送す
ることも考えられる。この方法では、実際、2つの単方
向コマンドバス(203、204)の両方を完全に排除
することができるが、そのかわり性能が非常に落ちる。
AからBへ短い命令を送るとき、BからAへ他のデータ
の伝送が双方向バス上で実行されていると、データ伝送
は、中断するか、完了するまで実行しなければならず、
その後でバスの伝送方向が変わる。ここでやっと短い命
令はAからBへ伝達される。このように遅延が生じるた
め、この解決策は有益ではない。
【0035】本発明による図3に示す解決策において、
これらの問題は双方向バスを分割することにより解決さ
れる。バスの初期状態では、データ伝送方向は、ハーフ
バス211つまりバスラインの1つのセグメントについ
て、ユニットAからユニットBへ計画され、ハーフバス
212つまりバスラインの他のセグメントにおいて、デ
ータ伝送はBからAへ行われる。初期状態を以上のよう
に定義すると、コマンドを、バスによりリンクされた2
つの機能ユニット間を双方向で迅速に交換することがで
きる。というのは、時間のかかるバスの反転切替えが全
くないからである。バス帯域幅の半分ではあるが、コマ
ンド、データおよびアドレスを、初期状態において分割
されたこのバス上で同時に伝達することができる。伝送
される短い命令および少量のデータについては、帯域幅
が減らされていても深刻な障害にはならない。バスによ
りリンクされたユニット間で交換される大量のデータに
ついてだけは、使用可能な帯域幅を増やす方が良い。キ
ャッシュを有するプロセッサにリンクするプロセッサバ
スでは、大量のデータは、ストアコマンドおよびフェッ
チコマンドに関連して生じるだけである。
【0036】本発明によれば、伝送されるデータの関数
として、ハーフバス(211)または(212)で伝送
方向を反転できるようにすることによって、バスを初期
状態から全帯域幅へ変換する能力が提供されている。例
えば、大量のデータがAからBへ伝送される場合、ハー
フバス211の伝送方向は変わらない(213)が、ハ
ーフバス212の伝送方向は変わる(214)。このよ
うにして、データを全帯域幅でAからBへ伝送すること
ができる。データ伝送が完了すると、再度初期状態にす
るためにハーフバス214のデータ伝送方向は再び反転
する(212)。
【0037】データボリュームがBからAへ伝送される
ときも同様である。この例において、ハーフバス212
の伝送方向は変わらないが(216)、ハーフバス21
1の伝送方向は変わる(215)。この柔軟な帯域幅マ
ッチングによって、全帯域幅が再び使用可能となる。
【0038】このバスコンセプトで、プロトコルオペレ
ーションのタイミングを確実にするために、コマンド、
データおよびアドレスに加え、コントロール信号も伝送
する必要がある。このために、専用のコントロールライ
ン210がここにも供給される。それでも、現在の最新
技術と比べれば、コントロールラインの数を大幅に減ら
すことができる。この理由は、コマンド、データおよび
アドレスの送受信は、完全に互いに独立して行うことが
できず、特定のタイムシーケンスにおいて1つの同一の
バス上で行われるからである。つまり、コマンド伝送中
およびデータ伝送中はデータを伝送することはできない
ため、ペンディングのアドレスは全くなくなる。従っ
て、バスのタイプによってペンディングの情報を指定す
る必要があるだけである。これは、少量のタグラインに
助けを借りて適切なコーディングを利用することにより
行われる。コマンド、データおよびアドレスが、共通の
バスを通じて伝送されるので、逐次伝送される必要があ
るという事実のために、必要なコントロールラインの数
はさらに抑えることができる。
【0039】本発明による新しいバス設計の変形解決策
を図4に示す。図3と同様に、バスはその初期状態にお
いて2つのハーフバス(221、222)に分割され、
ハーフバス221ではAからBへの情報の伝送がなさ
れ、ハーフバス222ではBからAへの伝送がなされ
る。再び、帯域幅のマッチングを伝送されるデータの関
数として行うことができる。しかし、図3に示した解決
策とは違って、変更は一方向にしかできない。ハーフバ
ス221の伝送方向しか反転することができない(22
3)。ハーフバス222の伝送方向は変わらないため
(224)、このハーフバスのバスラインは、単方向ラ
インとして設計してもかまわない。一つのハーフバスま
たはバスラインの1つのセグメントだけを双方向の設計
としてインプリメントするだけで済むため、ハードウェ
アの消費は大幅に削減される。
【0040】図3に示した解決策と全く同様の方法で、
図4に示した必要なコントロールライン220の数を、
現在の最新技術と比べて大幅に減らすことができる。と
いうのは、図4に示したバスの構造にも、コマンド、デ
ータおよびアドレスの逐次化が必要であるためである。
バス上にペンディングの情報のタイプを適切に指定する
には、コントロールラインの数が少ない方が適してい
る。
【0041】プロセッサとキャッシュ間のプロセッサバ
スに双方向のハーフバス1つだけをインプリメントする
コンセプトを適用したい場合には、2つのデータ伝送方
向のどちらに全帯域幅を利用させるか迷うところであ
る。L2とプロセッサ間のデータ伝送のための2つの関
連コマンドは、「ストア」と「フェッチ」である。統計
的分析によれば、フェッチコマンドによるデータ伝送
は、ストアコマンドによるデータ伝送より2倍多く行わ
れるとされている。従って、L2からプロセッサへのデ
ータ伝送のために全帯域幅に切り換えるオプションを提
供するのは理に適っている。というのは、よく使われる
フェッチコマンドが、より迅速に対応して実行されるた
めである。さらにこの理由を挙げれば、フェッチ要求を
送信後、要求を受けたデータをプロセッサが待つという
事実である。要求をしているプロセッサは、データ到着
後にのみプロセッシングを継続することができる。この
結果、フェッチコマンドに後続するデータ伝送が直接性
能に影響する。これが「フェッチ」を「ストア」とは明
らかに違うものとしている。
【0042】図5および6の変形例は、本発明のバスに
より伝送されるデータのタイプを、この目的専用のタグ
ラインにより指定する方法を示している。これを行うに
は、2つのタグライン1Aおよび2A(301)はハー
フバスA(303)へ割り当て、2つのタグライン1B
および2B(302)はハーフバスB(304)へ割り
当てる。図6において、伝送される情報をタグラインの
助けを借りてコード化する方法を例を挙げて説明してい
る。OP_IMは、「即値オペレーション」の略であ
り、引数またはオペランドを必要としない短い命令を指
定する。このタイプの「即値オペレーション」がバス上
で伝送されるとき、タグライン1(つまり、ハーフバス
A(303)のライン1AまたはハーフバスB(30
4)の1B)を「ハイ」とし、タグライン2(つまり、
ハーフバスA(303)のライン2Aまたはハーフバス
B(304)の2B)を「ロー」とする。
【0043】伝送に2つ以上のプロセッササイクルを必
要とする全てのコマンドおよび応答は、OP_IDと略
される「オペレーション識別子」としてコード化され
る。このコマンドまたは応答と共に伝送されるアドレス
情報もまた、「オペレーション識別子」として扱われ
る。このOP_IDタイプのタグコーディングには、タ
グライン1および2の両方が「ハイ」に設定される。
【0044】コマンドまたは応答の最後にデータ伝送が
バス上で行われる場合には、このタイプの情報は「デー
タ」としてコード化される。このとき、タグライン1は
「ロー」に設定され、タグライン2は「ハイ」に設定さ
れる。
【0045】この時点で、何もアクティビティがない場
合には、タグライン1および2は両方とも「ロー」とす
る。このバスの状態は、NOOPと略される「オペレー
ションなし」と指定される。
【0046】バス上の通常のデータ伝送を確実するため
には、バスの一部分だけを利用するようにバスの帯域幅
を設計する必要がある。そうしないと、コマンドおよび
データの送信は互いに妨げ合い、概して待ち行列遅延が
長くなりすぎ、コマンドは、それがバスに与えられる前
に通り抜けなければならない。通常、マルチプロセッサ
システム内のプロセッサバスは約30%程度しか利用さ
れない、つまりバスは70%はアイドル・タイム、すな
わち「オペレーションなし」状態にある。
【0047】図6に示したタグラインの助けを借りてバ
ス上を伝送される情報を指定する方法は、数ある解決策
のうちのわずか1つに過ぎない。このように、図1に示
したコントロールラインのいくつかを本発明によるバス
コンセプトと共にインプリメントすることは、伝送効率
を上げるのに有用である。例えば、上述したタグライン
に加えて、伝送されたOP_IDまたはOP_IMがコ
マンドまたはコマンドに対する応答のいずれであるかを
示す要求ラインおよび応答ラインを提供するのも有用で
ある。しかし、図6に示された解決策から、ごくわずか
のタグラインでも、バス上に伝送される多数の情報タイ
プをコード化できることは明らかである。
【0048】本発明によるバスコンセプトのハードウェ
アインプリメンテーションを図7に示す。2つのハーフ
バスはそれぞれ、双方向バスラインより成り、各2つの
ハーフバスの伝送方向は反転させることができる。ここ
に示された解決策は、図3に図示された解決策(BID
I−BIDI分割バス)に対応するものである。PUが
コマンドまたはデータをL2へ送信したいときは、まず
伝達される情報をPU側のアウトレジスタへ書き込む。
各情報タイプ、「即値オペレーション」、「オペレーシ
ョン識別子」および「データ」について専用のレジスタ
(404、405、406)がある。情報タイプはま
た、タグレジスタ401にストアされるタグ状態によっ
ても示される。このタグ状態は、特定のアウトレジスタ
を選択するセレクタ408をコントロールする。このア
ウトレジスタの内容はハーフバス409を通じて伝送さ
れる。ハーフバス409上で可能なPUからL2への伝
送のために、PU側送信ドライバ413およびL2側受
信ドライバ415を、各々のBIDIコントロールユニ
ット410または411により作動させることが必要で
ある。これにより、PU側受信ドライバ414およびL
2側送信ドライバ416は、反転された入力でペンディ
ングのBIDIコントロールユニットの出力信号41
1、412を有しているため、作動が停止される。
【0049】タグ状態に応じてセレクタ408により選
択された情報は、PU側ドライバ413、ハーフバス4
09およびL2側ドライバ415を通じて、レジスタ内
の受信側へ書き込まれ、タグラインの状態は再び適切な
インレジスタを選択する。「即値オペレーション」42
0のレジスタ、「オペレーション識別子」421のレジ
スタおよび「データ」422のレジスタが使用可能であ
る。
【0050】入ってきたデータを、さらにL2側で処理
することができる。これを行うには、例えば、「即値オ
ペレーション」420のレジスタの内容を、即値オペレ
ーションデコードユニット424に伝える。このユニッ
トでは、入ってくるOP_IMをコマンドおよびコント
ロールにデコードする。コマンド、応答およびアドレス
を表す「オペレーション識別子」を同様の方法でデコー
ドすることができる。
【0051】PUから第2レベルのキャッシュまでのタ
グ情報は、次のようにして伝送される。まず、2つのタ
グ信号がタグレジスタ401へ書き込まれる。そこか
ら、受信側ドライバ、実際のタグライン402および受
信側ドライバを通じて、タグデコードユニット403へ
伝送される。タグラインの状態は、最初、セレクタ40
8に伝達され、タグに応じて伝送される情報を選択す
る。タグラインはまた、受信側の適切なインレジスタを
選択する役目を果たす。
【0052】システムクロックの速度インパルスより速
い一部分のサイクルを生じさせる速度インパルスを持つ
アーリークロックによってタグ情報を伝送することは有
益である。この方法によれば、セレクタ408の伝送パ
スおよび受信側の適切なインレジスタは、実際のデータ
伝送の前に既に決められている。というのは、このデー
タ伝送は、システムクロックで行われているからであ
る。データ伝送と比べて速いタグ情報の伝送は、一般
に、入ってくるデータを即時に適切に処理できるように
するために、データ到着の前でも使用可能なバスデータ
に関する情報を作るのに有益である。
【0053】バスの初期状態において、第1のハーフバ
ス409は、PUからL2へ転送され、第2のハーフバ
ス436上での伝送は、逆方向、すなわち、L2からP
Uへなされる。全帯域幅で送信される伝送待ちのデータ
がPU側にあるときは、ハーフバス436の伝送方向を
反転しなければならない。これを行うには、BIDIコ
ントロールユニット410、411の出力信号437、
438を、前にアクティブだったドライバ440および
442が作動しないように反転し、ドライバ439およ
び441は、アクティブ状態になるよう変換する。高い
値を有する4データバイトを、前と同じようにPUから
L2へハーフバス409上で伝送する。しかし、低い値
の4データバイトは、「データ・ロー」レジスタ407
へ書き込んだ後、ドライバ439、ハーフバス436お
よびドライバ441を通じて、L2の「データ・ロー」
受信レジスタ423へ書き込まれ、そこからさらに処理
することができる。データ伝送が完了した後、バスは初
期状態へ戻り、ハーフバス436のデータ方向が再び元
に戻る。
【0054】反対方向での伝送、すなわち、L2からP
Uへの伝送は、対応する方法で行われる。L2側では、
「データ・ハイ」430、「データ・ロー」431、
「オペレーション識別子」432および「即値オペレー
ション」433のアウトレジスタが使用可能である。そ
こへ、伝送される情報が、L2により書き込まれる。タ
グコントロールセレクタ434、ドライバ442、ハー
フバス436およびドライバ440を通じて、情報は
「データ・ロー」451、「オペレーション識別子」4
52および「即値オペレーション」453の適切なプロ
セッサ側インレジスタに進む。伝送される情報のタイプ
に対応するインレジスタは、ハーフバス436へ割り当
てられたタグの関数として選択される。データは、タグ
レジスタ460を通じてL2から、2つの単方向タグラ
イン461およびタグデコーダ462を通じてPUへ
と、2つのタグラインを通じて伝送される。
【0055】L2からPUへ伝送されるデータについて
も、全帯域幅を用いる可能性がある。これを行うには、
ハーフバス409のポールをBIDIコントロール41
0、411によって反転し、その後、4つの高い値のデ
ータバイトを、「データ・ハイ」アウトレジスタ(43
0)、ハーフバス409および「データ・ハイ」インレ
ジスタ(450)を通じてPUへ伝送することができ
る。低い値の4データバイトは、前と同様に、ハーフバ
ス436を通じて伝送される。L2からPUへのデータ
伝送の完了時には、バスは、初期状態に反転して戻る。
【0056】図4に図示された本発明による解決策のハ
ードウェアインプリメンテーションを、図8に示す。デ
ータおよびコマンドをPUからL2へ転送する1つのハ
ーフバス508は、ここでは双方向にインプリメントさ
れている。この結果、ハーフバス508の伝送方向は、
帯域幅要件の関数として反転させることができる。これ
は、図4の双方向のハーフバス221および223の2
つの状態に対応する。これに対し、他のハーフバス53
5は、単方向データラインより成るため、L2からPU
へのデータ伝送は固定される。これは、図4の単方向の
ハーフバス222、224に対応する。
【0057】従って、データおよびコマンドは、L2か
らPUへ常に半帯域幅を通じてしか伝送されない。これ
は、伝送される情報、すなわち、OP_IM、OP_I
Dおよび「データ」を対応するアウトレジスタ504、
505、506へ書き込むPUにより行われる。伝送さ
れる情報のタイプは、タグにより指定される。この場合
では、対応するIDタグは、タグレジスタ501へ書き
込まれる。このタグ情報は、その内容が伝送されるレジ
スタの選択(507)のためにまず使われ、次に、タグ
は、2つの単方向タグライン502を通じて、アーリー
クロック500によって、L2側のタグデコーダ530
へ伝送される。初期状態において、データおよびコマン
ドは、ハーフバス508によってPUからL2へ伝送さ
れる。BIDIコントロール509の出力信号510
は、2つのドライバ511および513を作動させ、ペ
ンディングの反転されたBIDIコントロール信号を有
する2つのドライバ512および514の作動は停止さ
れる。タグ状態の関数として、伝送された情報は、3つ
の使用可能なインレジスタ520、521、522のう
ちのL2が情報の処理を継続するためにアクセスするこ
とのできる1つへ書き込まれる。伝送待ちのデータがあ
る場合には、第2の単方向のハーフバスはいずれも使用
できないため、データ(「ローデータ」および「ハイデ
ータ」)の低い値の4バイトだけでなく、高い値の4バ
イトもハーフバス508を通じて伝送する必要がある。
【0058】一方、データ伝送のためのハーフバスは、
両方とも、反対方向、すなわち、L2からPUへ使用可
能である。このため、ドライバ512および514は、
初期状態から全帯域幅の状態へ変換するために、BID
Iコントロール509および515により作動させられ
なければならない。低い値の4データバイトは、「デー
タ・ロー」アウトレジスタ531へ書き込まれ、高い値
の4データバイトは、「データ・ハイ」アウトレジスタ
530へ書き込まれる。「データ・ハイ」レジスタの内
容は、ハーフバス508を通じてプロセッサ側インレジ
スタ536へ伝送することができる。「データ・ロー」
レジスタ531の内容は、セレクタ534およびハーフ
バス535を通じてインレジスタ537へ伝送される。
OP_IDおよびOP_IMの伝送については、ハーフ
バス508の使用は必要ない。ここでの伝送は、半帯域
幅でなされる。
【0059】プロセッサとL2キャッシュ間のプロセッ
サでの典型的なデータ伝達のイベントのシーケンスを図
9から図18に示す。いくつかのプロセッサがそれぞれ
のプロセッサバスを通じて共通のL2キャッシュとリン
クしている(マルチプロセッサシステム)場合には、デ
ータ伝達もまた、図示した概略図に従って各プロセッサ
バスを流れる。
【0060】図9において、L2は、図7のハーフバス
436に対応するハーフバス601を通じてコマンド
「キャッシュライン無効」(602)をPUへ伝送す
る。バスは、初期状態にあるため、反対方向の情報の伝
送、またはハーフバス600上の伝送はなされない。コ
マンド「キャッシュライン無効」は、L2から全てのP
Uへ伝送され、全てのPU割り当てられたL1キャッシ
ュのキャッシュラインのPUにより無効を開始する。ロ
ーカルメモリ内のキャッシュラインのエンティティの無
効化は、もし、プロセッサの1つが、L2のキャッシュ
ラインを上書き、すなわち、このラインに影響するメモ
リアクセスを開始したいという信号を出す場合には必要
となる。さらに、L2のメモリ内のキャッシュライン
は、LRU(Least Recently Used)アルゴリズムによ
って削除されるためという理由もある。個々のプロセッ
サに割り当てられたL1キャッシュ内のキャッシュライ
ンの無効化には、キャッシュラインのメモリアドレス
を、「キャッシュライン無効」に加えてPUへ伝達する
必要がある。さらに、IDをこの無効化コマンドに割り
当てる。この短い命令は、「即値オペレーション」(O
P_IM、602)として、PUへ伝達される。これに
対する回答において、PUはL2へ応答(603)を送
信する。これにはキャッシュラインアドレスの他、ID
も含まれている。図10に示すように、この応答の伝達
にも半帯域幅が完全に適している。「キャッシュライン
無効」への応答も、「即値オペレーション」である。
【0061】L2またはメモリへの書き込みアクセスが
PUにより実行される場合には、PUは、L2へ、メモ
リ内のデータと共にストアコマンドを送信する。ハーフ
バス700および701の両方が双方向に実行され、初
期状態においてPUからL2へデータが伝送されて、ハ
ーフバス701の伝送方向が変わる場合における、スト
アコマンドのオペレーションのシーケンスが図11に示
されている。これは、図3に基づいた本発明による解決
策に対応する。ストアオペレーションの実行には、コマ
ンドそのもののと一緒に、第1のサイクル(702)に
おけるIDおよびリンクされたデータパケットの長さに
ついての情報を伝送する必要がある。第2のサイクル
(703)において、書き込みプロセスを始めるメモリ
内の宛先アドレスを伝達する。L2側で宛先アドレスを
速く使用可能にするためには、第1サイクルにおいて、
アドレスを伝送し、第2のサイクルまで、コマンド、I
Dおよび長さを伝達しないのが有益である。
【0062】最初の2つのサイクルにおいて、実行され
るオペレーションをより詳細に指定する情報はこのよう
にして伝送される。最初の2つのサイクルは、OP_I
Dとしてコード化され、ハーフバス700に割り当てら
れたタグラインは両方とも「ハイ」に設定される。実際
のデータ伝送は、第3のサイクルで開始される。データ
伝送の初期においては半帯域幅だけが使用可能なため、
8バイトからなるフルデータパルスは、高い値の4バイ
ト(「ハイデータ」、704)および低い値の4バイト
(「ローデータ」、705)に分割される。これらのデ
ータはハーフバス上を連続して伝送される。同時に、タ
グライン上でのコーディングは、「OP_ID」から
「データ」へ変わる。すなわち、タグライン1は「ロ
ー」に設定され、タグライン2は「ハイ」に設定され
る。その初期状態において、ハーフバス701にL2か
らPUへの情報を転送するペンディングのアクティビテ
ィがない場合には、データ伝送にこれを使うために、こ
のハーフバスの伝送方向は反転される。ハーフバス70
1の伝送方向が反転されるのに間に合うポイント(70
8)から、フルデータパルスの伝送が、ワンサイクルで
可能となり、PUからL2へ「ハイデータ」(706)
はハーフバス700で伝送され、「ローデータ」(70
7)はハーフバス701で伝送される。この伝送方向に
おけるタグコーディングは、ここでは「データ」であ
る。データ伝送の完了時には、バスシステムは、全帯域
幅状態からその初期状態へと戻る。すなわち、ハーフバ
ス701は、L2からPUへ再び情報を転送する。
【0063】図4のバスシステムに対応するバスシステ
ムについて図11に示したストアオペレーションの変形
例、すなわち、双方向バスおよび単方向のハーフバスを
備えた例を図12に示す。ここでは、その初期状態にお
いて情報をPUからL2へ転送するハーフバス800の
伝送方向は変えることができるが、ハーフバス801は
単方向であるため、L2からPUへしか情報を伝送する
ことができない。実際のデータ伝送は、最初の2つのO
P_ID、802、804の直後になされる。ハーフバ
スが1つしか使用できないため、各データパルスは、
「ハイデータ」(806または808)および「ローデ
ータ」(805または807)に分割されなければなら
ない。
【0064】フェッチプロセスにおけるオペレーション
のシーケンスを図13および14に示す。PUが、その
ローカルL1キャッシュにはないデータを求めると、ハ
ーフバス900を通じてフェッチコマンドがL2へ送信
される。フェッチコマンドは、フェッチプロセスのI
D、フェッチコマンドそのもの、要求されたデータパケ
ットの長さおよび必要なデータの開始アドレスを含む2
つの「オペレーション識別子」(902および903)
から成る。バスは、フェッチプロセスの伝送のために、
初期状態にある。フェッチコマンドの受信後、L2は、
要求されたキャッシュラインのために、ディレクトリ内
で検索を始める。データを見つけた場合には(ヒッ
ト)、必要なデータを、即時にPUへ伝送することがで
きる。L2が何も見つけない場合には(ミス)、キャッ
シュラインはメモリから要求されなければならない。
【0065】統計的に見ると、フェッチプロセスはスト
アプロセスの2倍行われている。従って、フェッチプロ
セスに基づいたデータ伝送は、ストアプロセスに基づい
たデータ伝送よりも関連がある。さらに、PUは特定の
キャッシュラインに必要な引数をオペレーションに使用
できるよう要求する。こういう理由により、PUはキャ
ッシュラインの受信後にもにプロセッシングを継続する
ことができる。これらの両方の引数から得られる結果
は、L2からPUへのデータ伝送に、全帯域幅が使用可
能となることである。
【0066】従って、図3に基づいたバス構成ばかりで
なく、図4のバス構成においても、ハーフバス900上
の情報の伝送方向をPUからL2へ変更することができ
る。設計上、このハーフバス900は双方向にインプリ
メントされなければならず、ハーフバス901は、単方
向または双方向のいずれかとなる。
【0067】フェッチコマンドに対する応答を図14に
示す。ハーフバス900上での伝送方向(911)の反
転後、OP_ID 904を第1のサイクルにおいて、
L2からPUへ伝送する。同時に、タグラインが、OP
_IDがペンディングである信号を出す。実際のデータ
伝送は、次のサイクルで行われる。全帯域幅が使用でき
るため、「ハイデータ」(906、908、910)お
よび「ローデータ」(905、907、909)を、そ
れぞれ1つのサイクルで伝送することができる。すなわ
ち、1つのデータパルスを、サイクル毎に伝送すること
ができる。このプロセスの最中に、タグラインは、伝送
された情報が「データ」であることを示す。データ伝送
の完了後、ハーフバス900上の伝送方向が再び変換さ
れるように、バスは初期状態に戻る。
【0068】「送信権」をいかに2つのハーフバスに割
り当てるか、つまりPUおよび/またはL2の2つのバ
スパーティシパントのどちらが、図7および8に示すB
IDIコントロールに入力をすべきかという問題があ
る。1つの可能性は、PUについてのみか、またはPU
およびL2か、のいずれかに専用(単方向)ラインを提
供することである。それによって、それぞれのバスパー
ティシパントは、初期状態にそれに割り当てられたハー
フバスが他のパートナーに割り当てられる準備がされた
かどうか信号を出す。図14に示されたフェッチ応答に
おいて、これは、PUがそれに割り当てられたラインに
信号を出すとき、これはこの時点では送信権を主張しな
いが、L2だけが、初期状態にPUに割り当てられたハ
ーフバス900上に送信権を持つことを意味する。しか
し、PU側に実行を待っているペンディングのストアオ
ペレーションがある場合には、PUは、L2がハーフバ
ス900上で送信権を受信しないようにすることができ
る。
【0069】このタイプの解決策は、それ自体で図4に
示すバス構成に完全に適している。図3に示すバス構成
には、専用のコントロールラインもL2に提供されてい
る。PUがハーフバス上に送信権を受信するのをL2が
防げるよう支援する。図11に示すストアコマンドの連
続的なフローにおいて、L2がこの時点で送信すること
を望まないという信号を出すと、PUはハーフバス70
1を引き継ぐだけである。
【0070】専用コントロールラインにおいて、ハーフ
バス上の伝送方向の変更を要求および/または許可する
ために、バスパーティシパント間の「即値オペレーショ
ン」の交換も可能である。
【0071】ハーフバスの伝送方向の反転は、対応する
送受信ドライバを作動させるかまたは作動させないよう
にしなければならないため、少なくとも2つのプロセッ
ササイクルを必要とする。従って、「フェッチへの応
答」のごく初期の段階で全帯域幅を使用可能にするため
に、もしPUが、フェッチコマンド(902、903)
送信後いくつかのサイクルで、ハーフバス900の伝送
方向の反転を始める場合には、有用である。L2側のデ
ィレクトリに要求されたキャッシュラインを検索し、そ
のラインにアクセスするのにも、いくつかのサイクルが
必要である。従って、「フェッチ応答」の開始後、伝送
方向(911)の反転を完了することができ、これによ
り最初から、データ伝送に全帯域幅を使用できるように
なる。しかし、L2に対するストア手順が始まろうとし
ている場合には、PUに、反転を防ぐ権利を与えること
は意味がある。この場合、フェッチ応答の伝達は、ハー
フバス901を通じて少なくとも部分的にのみ行われ
る。
【0072】図15および16は、PUが書き込みアク
セスをコンピュータシステムの機能ユニットのレジスタ
へ実行することのできるコントロールコマンドのイベン
トのシーケンスを示している。バスは、コントロールコ
マンドの伝送のために初期状態のままであり、コマンド
は、ハーフバス(1000)上でのみPUからL2へ伝
送される。最初の2つのサイクルにおいて、コマンドの
ID、コマンドそのもの、アクセスされるチップの数、
およびレジスタアドレスを含む2つのOP_ID(10
02、1003)が伝送される。この間、タグはOP_
ID状態にある。
【0073】これら2つのサイクルの完了時には、情報
の4バイトの2つのグループが伝送される。このグルー
プにはレジスタへ書き込まれる情報が含まれている。半
帯域幅しか使用できないため、「ハイデータ」(100
4)および「ローデータ」(1005)への分割が必要
である。これらのデータ項目の伝送中、タグはステータ
ス「データ」を有する。
【0074】図16は、ハーフバス(1001)をL2
からPUへ「即値オペレーション」として伝送されるこ
のコントロールコマンドへの応答1006を示してい
る。この応答には、コントロールコマンドのID、およ
びコントロールコマンドを開始するPUのIDタグが含
まれている。
【0075】逆のケースで、コンピュータシステムの機
能ユニットに属するチップの一つのレジスタ内容が読み
出される場合には、PUは、センスコマンドをL2へ送
信する。これは図17に示されている。ハーフバス(1
100)上を伝送されるセンスコマンドは、コマンドの
ID、コマンドそのもの、影響をうけるチップの数およ
びレジスタアドレスが伝達される2つのサイクル(11
02、1103)より成る。通信中、タグは、OP_I
Dのためのコーディングを示す。
【0076】読み出されるレジスタの状態は、このセン
スコマンドへの応答に伝達される。これは図18に示さ
れる。IDおよびPUのIDタグを含む「オペレーショ
ン識別子」(1104)の後、4バイトのデータ(「ロ
ーデータ」1105および「ハイデータ」1106)の
2つのグループがPUへ伝送される。これらのデータバ
イトには、読み出されたレジスタの状態が含まれてい
る。タグラインがサイクル1104の間、OP_IDの
信号を出す間、このラインは、「データ」がサイクル1
105および1106の間に伝送されることを示してい
る。
【0077】図19において、L2がPUへ「フェッチ
応答」を伝達しなければならないが、PUからL2へハ
ーフバス1200がアクティブである状態を示してい
る。図示した例において、ストアコマンド(1202)
はこのときに実行される。L2はここでハーフバス12
00が再び使用可能になるまでデータ伝送を待って、ハ
ーフバス(1200)の伝送方向を反転し、最終的にL
2からPUへ全帯域幅でデータを伝送する。この代わり
に、「フェッチ応答」(1203)の伝送もハーフバス
1201上で即時に開始することもできる。すると、伝
送は、最初、半帯域幅で行われる。ハーフバス1200
が使用可能になるとすぐ、この伝送方向も反転すること
ができ(1204)、その後、L2からPUへのデータ
伝送を全帯域幅で継続することができる。この方法によ
れば、使用可能な帯域幅を柔軟に利用することが可能と
なる。
【0078】図20に、PUはOP_IMをL2に伝達
したいが、このために提供されている初期状態のハーフ
バス1300がこの時点では使用できない状況を示す。
【0079】図示した実施例において、ハーフバス13
00はストアコマンド1302の伝送にブロックされて
いる。OP_IMの伝送を、ストアコマンドの末端まで
待機させるために、データ伝送(1306)を妨害し、
OP_IM、1303に伝達し、最終的にデータ(13
04)の伝送を継続する(1305)と良い。OP_I
Mを通常のデータフローにループする可能性により、P
UとL2間の短い命令の交換を加速することができる。
【0080】図21に同様の例を示す。ハーフバス13
10および1311は両方とも「フェッチ応答」(13
12)によりブロックされているが、OP_IMはPU
からL2へ通信される。このケースでは、「フェッチ応
答」のデータ伝送は始め、半帯域幅に限られなければな
らない。この後、ハーフバス1300上での伝送方向を
反転させることができる(1313)。OP_IM、1
314のPUからL2への伝送後、全帯域幅でのフェッ
チ応答の継続を可能にするために、ハーフバス1310
の伝送方向を再び切り換える。この解決策もPUとL2
間の「即値オペレーション」の交換を加速する役割を果
たす。
【0081】まとめとして、本発明の構成に関して以下
の事項を開示する。 (1)少なくとも2つの伝送ラインを有するデータプロ
セッシングシステムにおける情報伝送のバスにおいて、
前記伝送ラインが反対の伝送方向で2つのグループに分
けられ、少なくとも一方のグループの伝送ラインの伝送
方向が反転可能な初期状態、2つのグループの伝送ライ
ンの伝送方向が同一である第2の状態、および前記初期
状態と前記第2の状態との間のバスを切り換える手段と
を有することを特徴とするバス。 (2)上記(1)記載のバスにおいて、2つの伝送方向
を有し、それぞれについて少なくとも1つのタグライン
が使用可能であり、タグラインの状態が前記バス上を伝
送される情報のタイプを指定することを特徴とするバ
ス。 (3)上記(1)または(2)記載のバスにおいて、前
記初期状態と前記第2の状態との間の反転が、前記タグ
ラインの状態の関数として行われることを特徴とするバ
ス。 (4)上記(1)または(2)記載のバスにおいて、前
記初期状態と前記第2の状態の間の反転が、前記バスを
通じて伝送される情報の関数として行われることを特徴
とするバス。 (5)上記(1)ないし(4)のいずれか1項記載のバ
スにおいて、前記一方のグループの伝送ラインが、伝送
方向の反転が可能な双方向ラインであり、他方のグルー
プの伝送ラインが、伝送方向の固定された単方向ライン
であることを特徴とするバス。 (6)上記(1)ないし(4)のいずれか1項記載のバ
スにおいて、両方のグループの伝送ラインが、伝送方向
の反転が可能な双方向ラインであることを特徴とするバ
ス。 (7)上記(1)ないし(6)のいずれか1項記載のバ
スにおいて、前記タグラインを通じてタグ信号の伝送
が、前記バスを通じた情報の伝送より速いタイミングサ
イクルの一部分でなされることを特徴とするバス。 (8)上記(1)ないし(7)のいずれか1項記載のバ
スにおいて、前記バスが前記初期状態にあり、情報は一
方の伝送方向に伝送されるが、前記バスは反対の伝送方
向にまだアクティブである場合には、前記反対の伝送方
向でのバスアクティビティが完了するまで、前記初期状
態から前記第2の状態への変換が遅延されることを特徴
とするバス。 (9)データプロセッシングシステムにおいて少なくと
も2つの伝送ラインを有しているバスを通じて情報を伝
送する方法において、前記伝送ラインを2つのグループ
に分け、前記2つのグループが反対の伝送方向を有する
初期状態から、前記2つのグループの伝送ラインの伝送
方向が同一である第2の状態へ反転させることを特徴と
する方法。 (10)上記(9)記載の方法において、少なくとも1
つのタグラインが前記2つの伝送方向の各々に使用可能
であり、前記バス上を伝送される情報のタイプが前記タ
グラインの状態により指定されることを特徴する方法。 (11)上記(9)または(10)記載の方法におい
て、前記初期状態と前記第2の状態との間の切り換えが
前記タグラインの状態の関数としてなされることを特徴
とする方法。 (12)上記(9)または(10)記載の方法におい
て、前記初期状態と前記第2の状態との間の切り換えが
前記バスを通じて伝送される情報の関数としてなされる
ことを特徴とする方法。 (13)上記(9)ないし(12)のいずれか1項記載
の方法において、前記一方のグループの伝送ラインが、
伝送方向の反転が可能な双方向ラインであり、他方のグ
ループの伝送ラインが、伝送方向の固定された単方向ラ
インであることを特徴とする方法。 (14)上記(9)ないし(12)のいずれか1項記載
の方法において、両方のグループの伝送ラインが、伝送
方向の反転が可能な双方向ラインであることを特徴とす
る方法。 (15)上記(9)ないし(14)のいずれか1項記載
の方法において、タグ信号は、前記バスを通じた情報の
伝送より速いタイミングサイクルの一部分で、前記タグ
ラインを通じて伝送されることを特徴とする方法。 (16)上記(9)ないし(15)のいずれか1項記載
のバスにおいて、前記バスが前記初期状態にあり、情報
は前記一方の伝送方向に伝送されるが、前記バスは反対
の伝送方向にまだアクティブの場合には、前記反対伝送
方向でのバスアクティビティが完了するまで、前記初期
状態から前記第2の状態への変換が遅延されることを特
徴とする方法。
【図面の簡単な説明】
【図1】双方向データバス、2つの単方向コマンドバ
ス、双方向のコントロールラインより成るバス構造。
【図2】図1のバス構造の概略図。
【図3】両方向のデータおよびコマンドの伝送のための
双方向バス、およびコントロールまたはタグラインを含
む本発明によるバス構造。
【図4】一方のハーフバスが双方向ラインより成り、他
方のハーフバスが単方向ラインより成る本発明によるバ
ス構造の特別の形式。
【図5】個々のタグラインを2つのハーフバスに割り当
てる方法。
【図6】バス上を伝送される情報をタグラインによって
コード化する方法。
【図7】図3のバス構造のインプリメンテーション。
【図8】図4の本発明による特別な形式のバスに対する
解決策。
【図9】「キャッシュライン無効」コマンドのオペレー
ションのシーケンス。
【図10】図9のコマンドへの応答。
【図11】図3に基づいた本発明による解決策に対応す
るストアコマンドのオペレーションのシーケンス。
【図12】図4に従ってバス構造をインプリメントする
ときのストアコマンドのオペレーションのシーケンス。
【図13】フェッチコマンドのオペレーションのシーケ
ンス。
【図14】PUへのデータ伝送およびフェッチコマンド
に対する応答のオペレーションのシーケンス。
【図15】本発明によるバスを通じたコントロールコマ
ンドの伝送。
【図16】図15のコントロールコマンドに対する応
答。
【図17】機能ユニットの状態についての情報をセンス
コマンドによって要求する方法。
【図18】センスコマンドに対する応答。
【図19】1つのハーフバスがまだアクティブである場
合に、初期状態から全帯域幅の状態へのバス構造の変換
を遅延させる方法。
【図20】OP_IMの伝送を、データ伝送中に同じ方
向にオペレーションにループする本発明による方法。
【図21】本発明による全帯域幅を用いるバス上のデー
タ伝送中にOP_IMを反対方向に伝送する方法。
【符号の説明】
100、110 アウトレジスタ 101、109 送信ドライバ 102 ライン 103、108 受信ドライバ 104 BIDIコントロールユニット 106、111 インレジスタ 120、122、123、125 コマンドレジス
タ 121 ライン 124 単方向ライン 126、133、137、141 コントロールレ
ジスタ 130、131、132、138、139、14020
0 コントロールライン 131、139 バリッドコマンド 201、202 双方向コマンドバス 203、204 単方向コマンドバス 210、220 コントロールまたはタグライン 211、212、221、222、409、436、5
35、508、600、601、700、701、80
0、801、900、901、1000、1001、1
100、1101、1200、1201、1300、1
301、1310、1311 ハーフバス 213、216、224 伝送方向変更せず 214、215、1313、1315 伝送方向変更 223、911、1204 反転 301 タグライン1A2A 302 タグライン1B2B 303 ハーフバスA 304 ハーフバスB 400、500 アーリークロック 401、501 タグレジスタ 402、541 タグライン 403 タグセレクタ 404、405、406、407 アウトレジスタ 408、434、507、534 セレクタ 410、509、515 BIDIコントロールユニッ
ト 411、412、437、438、510、516 出
力信号 413、416 送信ドライバ 414、415 受信ドライバ 420、421、422、423、450、451、4
52、453、520、521、522、536、53
7、538、539…インレジスタ 424、454、540 即値オペレーションデコード
ユニット 430、431、432、433、504、505、5
06、530、531、532、533 アウトレジス
タ 439、440、441、511、512、513、5
14 ドライバ460 タグレジスタ 461、502 単方向タグライン 462、503 タグデコーダ 602 即値オペレーション 603、904、1006 応答 702、1102 第1のサイクル 703、1103 第2のサイクル 704、706、806、808、906、908、9
10、1004、1106 ハイデー
タ 705、707、805、807、905、907、9
09、1005、1105 ローデー
タ 708 反転に間に合うポイント 802、804、902、903、1002、100
3、1104 オペレーション識別子 1202、1302 ストアコマンド 1203、1312 フェッチ応答 1303、1314 即値オペレーション 1304 データ 1305、1306 データ伝送
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ハンス−ヴェルナー・タスト ドイツ連邦共和国 デー−71093 ヴァイ ル イシェーンブック ハルトマンシュト ラッセ 66

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】少なくとも2つの伝送ラインを有するデー
    タプロセッシングシステムにおける情報伝送のバスにお
    いて、 前記伝送ラインが反対の伝送方向で2つのグループに分
    けられ、少なくとも一方のグループの伝送ラインの伝送
    方向が反転可能な初期状態、 2つのグループの伝送ラインの伝送方向が同一である第
    2の状態、および前記初期状態と前記第2の状態との間
    のバスを切り換える手段とを有することを特徴とするバ
    ス。
  2. 【請求項2】請求項1記載のバスにおいて、 2つの伝送方向を有し、それぞれについて少なくとも1
    つのタグラインが使用可能であり、タグラインの状態が
    前記バス上を伝送される情報のタイプを指定することを
    特徴とするバス。
  3. 【請求項3】請求項1または2記載のバスにおいて、 前記初期状態と前記第2の状態との間の反転が、前記タ
    グラインの状態の関数として行われることを特徴とする
    バス。
  4. 【請求項4】請求項1または2記載のバスにおいて、 前記初期状態と前記第2の状態の間の反転が、前記バス
    を通じて伝送される情報の関数として行われることを特
    徴とするバス。
  5. 【請求項5】請求項1ないし4のいずれか1項記載のバ
    スにおいて、 前記一方のグループの伝送ラインが、伝送方向の反転が
    可能な双方向ラインであり、他方のグループの伝送ライ
    ンが、伝送方向の固定された単方向ラインであることを
    特徴とするバス。
  6. 【請求項6】請求項1ないし4のいずれか1項記載のバ
    スにおいて、 両方のグループの伝送ラインが、伝送方向の反転が可能
    な双方向ラインであることを特徴とするバス。
  7. 【請求項7】請求項1ないし6のいずれか1項記載のバ
    スにおいて、 前記タグラインを通じてタグ信号の伝送が、前記バスを
    通じた情報の伝送より速いタイミングサイクルの一部分
    でなされることを特徴とするバス。
  8. 【請求項8】請求項1ないし7のいずれか1項記載のバ
    スにおいて、 前記バスが前記初期状態にあり、情報は一方の伝送方向
    に伝送されるが、前記バスは反対の伝送方向にまだアク
    ティブである場合には、前記反対の伝送方向でのバスア
    クティビティが完了するまで、前記初期状態から前記第
    2の状態への変換が遅延されることを特徴とするバス。
  9. 【請求項9】データプロセッシングシステムにおいて少
    なくとも2つの伝送ラインを有しているバスを通じて情
    報を伝送する方法において、 前記伝送ラインを2つのグループに分け、 前記2つのグループが反対の伝送方向を有する初期状態
    から、前記2つのグループの伝送ラインの伝送方向が同
    一である第2の状態へ反転させることを特徴とする方
    法。
  10. 【請求項10】請求項9記載の方法において、 少なくとも1つのタグラインが前記2つの伝送方向の各
    々に使用可能であり、前記バス上を伝送される情報のタ
    イプが前記タグラインの状態により指定されることを特
    徴する方法。
  11. 【請求項11】請求項9または10記載の方法におい
    て、 前記初期状態と前記第2の状態との間の切り換えが前記
    タグラインの状態の関数としてなされることを特徴とす
    る方法。
  12. 【請求項12】請求項9または10記載の方法におい
    て、 前記初期状態と前記第2の状態との間の切り換えが前記
    バスを通じて伝送される情報の関数としてなされること
    を特徴とする方法。
  13. 【請求項13】請求項9ないし12のいずれか1項記載
    の方法において、 前記一方のグループの伝送ラインが、伝送方向の反転が
    可能な双方向ラインであり、他方のグループの伝送ライ
    ンが、伝送方向の固定された単方向ラインであることを
    特徴とする方法。
  14. 【請求項14】請求項9ないし12のいずれか1項記載
    の方法において、 両方のグループの伝送ラインが、伝送方向の反転が可能
    な双方向ラインであることを特徴とする方法。
  15. 【請求項15】請求項9ないし14のいずれか1項記載
    の方法において、 タグ信号は、前記バスを通じた情報の伝送より速いタイ
    ミングサイクルの一部分で、前記タグラインを通じて伝
    送されることを特徴とする方法。
  16. 【請求項16】請求項9ないし15のいずれか1項記載
    のバスにおいて、 前記バスが前記初期状態にあり、情報は前記一方の伝送
    方向に伝送されるが、前記バスは反対の伝送方向にまだ
    アクティブの場合には、前記反対伝送方向でのバスアク
    ティビティが完了するまで、前記初期状態から前記第2
    の状態への変換が遅延されることを特徴とする方法。
JP9235642A 1996-09-09 1997-09-01 情報伝送バス及び方法 Pending JPH10105308A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE19636381A DE19636381C1 (de) 1996-09-09 1996-09-09 Bus mit anforderungsabhängiger Anpassung der in beiden Richtungen zur Verfügung stehenden Bandbreite
DE19636381.0 1996-09-09
US08/712,033 US5872944A (en) 1996-09-09 1996-09-11 Bus with request-dependent matching of the bandwidth available in both directions

Publications (1)

Publication Number Publication Date
JPH10105308A true JPH10105308A (ja) 1998-04-24

Family

ID=26029152

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9235642A Pending JPH10105308A (ja) 1996-09-09 1997-09-01 情報伝送バス及び方法

Country Status (3)

Country Link
US (1) US5872944A (ja)
JP (1) JPH10105308A (ja)
DE (1) DE19636381C1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006277361A (ja) * 2005-03-29 2006-10-12 Fujitsu Ltd シリアルインターフェースの制御方法
WO2007032189A1 (ja) * 2005-09-12 2007-03-22 Sharp Kabushiki Kaisha メモリカード用入出力装置及びその制御方法
JP2009110335A (ja) * 2007-10-31 2009-05-21 Renesas Technology Corp 半導体装置及びデータ処理システム
JP2011513883A (ja) * 2008-06-30 2011-04-28 インテル・コーポレーション 非対称ユニバーサルシリアルバス通信
WO2023121914A1 (en) * 2021-12-20 2023-06-29 Advanced Micro Devices, Inc. Low power cache

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6032211A (en) 1998-06-17 2000-02-29 Advanced Micro Devices, Inc. Method of mode control in a bus optimized for personal computer data traffic
US6202116B1 (en) * 1998-06-17 2001-03-13 Advanced Micro Devices, Inc. Write only bus with whole and half bus mode operation
US6539450B1 (en) 1998-11-29 2003-03-25 Sony Corporation Method and system for adjusting isochronous bandwidths on a bus
US6748442B1 (en) 1998-12-21 2004-06-08 Advanced Micro Devices, Inc. Method and apparatus for using a control signal on a packet based communication link
US6374316B1 (en) 1999-03-19 2002-04-16 Sony Corporation Method and system for circumscribing a topology to form ring structures
US6631415B1 (en) 1999-03-19 2003-10-07 Sony Corporation Method and system for providing a communication connection using stream identifiers
US6810452B1 (en) 1999-03-19 2004-10-26 Sony Corporation Method and system for quarantine during bus topology configuration
US6502158B1 (en) 1999-04-23 2002-12-31 Sony Corporation Method and system for address spaces
US6728821B1 (en) 1999-11-29 2004-04-27 Sony Corporation Method and system for adjusting isochronous bandwidths on a bus
AU3643801A (en) * 1999-11-29 2001-06-04 Sony Electronics Inc. Method and system for adjusting isochronous bandwidths on a bus
US6647446B1 (en) 2000-03-18 2003-11-11 Sony Corporation Method and system for using a new bus identifier resulting from a bus topology change
US6757773B1 (en) 2000-06-30 2004-06-29 Sony Corporation System and method for determining support capability of a device coupled to a bus system
US6622194B1 (en) * 2000-08-28 2003-09-16 Intel Corporation Efficient use of multiple buses for a scalable and reliable high-bandwidth connection
TW507128B (en) * 2001-07-12 2002-10-21 Via Tech Inc Data memory controller supporting the data bus invert
US7836252B2 (en) 2002-08-29 2010-11-16 Micron Technology, Inc. System and method for optimizing interconnections of memory devices in a multichip module
US7245145B2 (en) 2003-06-11 2007-07-17 Micron Technology, Inc. Memory module and method having improved signal routing topology
US7120743B2 (en) 2003-10-20 2006-10-10 Micron Technology, Inc. Arbitration system and method for memory responses in a hub-based memory system
JP4391200B2 (ja) * 2003-11-05 2009-12-24 株式会社日立製作所 ディスクアレイ装置及びディスクアレイ装置の制御方法
JP4104538B2 (ja) * 2003-12-22 2008-06-18 三洋電機株式会社 リコンフィギュラブル回路、リコンフィギュラブル回路を備えた処理装置、リコンフィギュラブル回路における論理回路の機能決定方法、回路生成方法および回路
US7366864B2 (en) 2004-03-08 2008-04-29 Micron Technology, Inc. Memory hub architecture having programmable lane widths
US7590797B2 (en) * 2004-04-08 2009-09-15 Micron Technology, Inc. System and method for optimizing interconnections of components in a multichip memory module
US7392331B2 (en) * 2004-08-31 2008-06-24 Micron Technology, Inc. System and method for transmitting data packets in a computer system having a memory hub architecture
US7266667B2 (en) * 2004-11-12 2007-09-04 Infineon Technologies Ag Memory access using multiple sets of address/data lines
US7803732B1 (en) * 2006-05-09 2010-09-28 BAE Systems Advanced Ceramics, Inc. Compositions for improved ceramic armor
US8412900B1 (en) * 2011-09-27 2013-04-02 Hitachi, Ltd. Storage system and volume pair synchronization method

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5437438A (en) * 1977-08-27 1979-03-19 Nec Corp Bus control system
JPS5951186B2 (ja) * 1979-10-19 1984-12-12 日本電信電話株式会社 制御装置
DE3242958A1 (de) * 1982-11-20 1984-05-24 Philips Kommunikations Industrie AG, 8500 Nürnberg Nebenstellenanlage
US4707673A (en) * 1986-06-10 1987-11-17 Gulton Industries, Inc Directional coupling transformer for bi-directional full duplex data bus
JP2910303B2 (ja) * 1990-06-04 1999-06-23 株式会社日立製作所 情報処理装置
JP2502403B2 (ja) * 1990-07-20 1996-05-29 三菱電機株式会社 Dma制御装置
US5195089A (en) * 1990-12-31 1993-03-16 Sun Microsystems, Inc. Apparatus and method for a synchronous, high speed, packet-switched bus
DE4207573C2 (de) * 1992-03-10 1996-08-01 Siemens Nixdorf Inf Syst Parallele Schnittstelle zum Verbinden von Datenverarbeitungsgeräten
JP3369227B2 (ja) * 1992-11-09 2003-01-20 株式会社東芝 プロセッサ
DE4239461A1 (de) * 1992-11-24 1994-05-26 Siemens Ag Anordnung zur Übertragung von Daten über einen Bus
US5373467A (en) * 1993-11-10 1994-12-13 Silicon Storage Technology, Inc. Solid state memory device capable of providing data signals on 2N data lines or N data lines
US5649127A (en) * 1994-05-04 1997-07-15 Samsung Semiconductor, Inc. Method and apparatus for packing digital data

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006277361A (ja) * 2005-03-29 2006-10-12 Fujitsu Ltd シリアルインターフェースの制御方法
WO2007032189A1 (ja) * 2005-09-12 2007-03-22 Sharp Kabushiki Kaisha メモリカード用入出力装置及びその制御方法
KR100951991B1 (ko) 2005-09-12 2010-04-08 샤프 가부시키가이샤 메모리 카드용 입출력 장치 및 그 제어 방법
JP2009110335A (ja) * 2007-10-31 2009-05-21 Renesas Technology Corp 半導体装置及びデータ処理システム
JP2012234582A (ja) * 2008-06-30 2012-11-29 Intel Corp 非対称ユニバーサルシリアルバス通信
US8321600B2 (en) 2008-06-30 2012-11-27 Intel Corporation Asymmetrical universal serial bus communications
JP2011513883A (ja) * 2008-06-30 2011-04-28 インテル・コーポレーション 非対称ユニバーサルシリアルバス通信
US8335866B2 (en) 2008-06-30 2012-12-18 Intel Corporation Asymmetrical serial communications
US8341303B2 (en) 2008-06-30 2012-12-25 Intel Corporation Asymmetrical universal serial bus communications
US8762585B2 (en) 2008-06-30 2014-06-24 Intel Corporation Asymmetrical Universal Serial Bus communications
US9069697B2 (en) 2008-06-30 2015-06-30 Intel Corporation Asymmetrical universal serial bus communications
JP2017033588A (ja) * 2008-06-30 2017-02-09 インテル・コーポレーション 非対称ユニバーサルシリアルバス通信
WO2023121914A1 (en) * 2021-12-20 2023-06-29 Advanced Micro Devices, Inc. Low power cache
US11822484B2 (en) 2021-12-20 2023-11-21 Advanced Micro Devices, Inc. Low power cache

Also Published As

Publication number Publication date
US5872944A (en) 1999-02-16
DE19636381C1 (de) 1998-03-12

Similar Documents

Publication Publication Date Title
JPH10105308A (ja) 情報伝送バス及び方法
US4737932A (en) Processor
US7096296B2 (en) Supercharge message exchanger
KR920004402B1 (ko) 디지탈 데이타 프로세서용 버스 인터페이스 회로
US5487153A (en) Neural network sequencer and interface apparatus
US6594713B1 (en) Hub interface unit and application unit interfaces for expanded direct memory access processor
US5293500A (en) Parallel processing method and apparatus
US4470113A (en) Information processing unit
US5526508A (en) Cache line replacing system for simultaneously storing data into read and write buffers having multiplexer which controls by counter value for bypassing read buffer
JPH0332094B2 (ja)
US20040054855A1 (en) Shared memory multiprocessor performing cache coherence control and node controller therefor
JPH0724045B2 (ja) メモリ制御サブシステム
US5611075A (en) Bus architecture for digital signal processor allowing time multiplexed access to memory banks
JPH11312122A (ja) 使用者が構築可能なオンチッププログラムメモリシステム
JPH09507325A (ja) データメモリ及びプロセッサバス
US20070033303A1 (en) System and method for exchanging messages in a multi-processor environment
US6928500B1 (en) High speed bus system that incorporates uni-directional point-to-point buses
US20020166017A1 (en) Cross bar multipath resource controller system and method
JPS58222363A (ja) 共用メモリの割振装置
US6738837B1 (en) Digital system with split transaction memory access
WO1995020191A1 (en) System and method for coordinating access to a bus
EP0618537A1 (en) System and method for interleaving status information with data transfers in a communications adapter
EP0464708A1 (en) High speed bus system
JP2589821B2 (ja) 情報処理システムの中央処理ユニット
US5677859A (en) Central processing unit and an arithmetic operation processing unit