JPH04280347A - 高速バス装置 - Google Patents

高速バス装置

Info

Publication number
JPH04280347A
JPH04280347A JP13918791A JP13918791A JPH04280347A JP H04280347 A JPH04280347 A JP H04280347A JP 13918791 A JP13918791 A JP 13918791A JP 13918791 A JP13918791 A JP 13918791A JP H04280347 A JPH04280347 A JP H04280347A
Authority
JP
Japan
Prior art keywords
bus
output
input
port
multiplexer
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
JP13918791A
Other languages
English (en)
Inventor
Ramanujan Rai
ライ ラマヌジャン
B Keller James
ジェイムズ ビー ケラー
A Samaras William
ウィリアム エイ サマラス
Derosa John
ジョン デローザ
E Stewart Robert
ロバート イー スチュワート
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment 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 Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of JPH04280347A publication Critical patent/JPH04280347A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Bus Control (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、1つのメモリを共用す
る1つ以上のプロセッサを有するコンピュータシステム
に関し、具体的には多重プロセッサコンピュータシステ
ムの共用メモリのためのバス配列に関する。
【0002】
【発明の背景】同一の情報がCPU、メモリ等のような
複数のシステム要素へ送信され、これらの要素から受信
されるコンピュータシステムにおけるバスへのアプロー
チは、一般にドロップバスを使用することであった。典
型的なマルチドロップバスは、各要素へ走る複数のバス
線からなる。
【0003】マルチドロップバスの有利な面は、ある時
点にCPUのような1つのバス要素だけにバス上への送
信が許され、全てのバス要素がバス上に何が送信されつ
つあるのかを知り得ることである。マルチドロップバス
の欠点は、全てのバス要素が常にバスに接続され、バス
へのアクセスのための仲裁の制御が、あるバス要素と他
のバス要素との間の分離した通信に叙述されることであ
る。これは時間を費やし、従ってシステムの処理速度を
低下させる。
【0004】マルチドロップバスは多くのシステムのた
めに十分に働くが、処理速度が増加するにつれてこれら
のバスシステムは問題を呈してきた。これらの問題は、
複数のバス要素が同じ線に結合されていることの直接の
結果である。  具体的には、ECL論理に基づく装置
をマルチドロップバスシステムと共に使用すると種々の
問題に遭遇する。これらの問題は、ECLベースのシス
テムを設計速度で作動させなければ防ぐことができる。 従ってその結果として、高速システムでは、これらのシ
ステムの処理速度の進歩を無効にするような遥かに遅い
速度でバスが作動する。
【0005】従って高速で作動する共用メモリと、EC
L論理のような論理要素とを有する多重プロセッサ環境
において使用できるバスに対する要望が存在している。
【0006】
【発明の概要】本発明は、高速計算システムに使用でき
るバスシステムに係る。  本発明の高速バスシステム
は、全てのCPUによる各トランザクションの共通可視
性のような普通のマルチドロップバスにおいてよく知ら
れている機能性の多くを提供するだけではなく、単方向
二地点間バスの速度と信号の質の長所をも併せ持ってい
る。後述するように本発明は、この目的を、マルチドロ
ップバスの代わりにゲートまたはマルチプレクサ、及び
それらを制御する論理要素によって達成する。本発明の
特定の実施例によれば、メモリが知る情報はメモリが必
要とするものだけに限られるが、全てのCPUはそれら
が必要とする全ての情報を知ることができるようになっ
ている。
【0007】本発明の高速バスシステムは多重プロセッ
サ・共用メモリシステムに使用することが好ましく、ま
た複数のプロセッサと、共用メモリと呼ぶメモリアレイ
との間に配置される。本発明の高速バスシステムはプロ
セッサからメモリアレイへ、メモリアレイからプロセッ
サへ、そしてプロセッサから他のプロセッサへ、命令及
びデータを転送する。
【0008】本発明の高速バスシステムは、中央装置及
び一連の単方向バスを含む。一対の単方向バスが、中央
装置とメモリアレイとの間に接続される。第1の単方向
バスは中央装置から共用メモリへの伝送用であり、第2
の単方向バスは共用メモリから中央装置への伝送用であ
る。複数のプロセッサと中央装置との間の伝送のための
単方向バスも設けられている。各プロセッサは、中央装
置との接続用に2つの二地点間単方向バスを有している
。これらのバスの一方はプロセッサから中央装置への伝
送用であり、他方は中央装置からプロセッサへの伝送用
である。
【0009】中央装置は、共用メモリへ入力するための
複数のプロセッサからの全ての伝送と、プロセッサへ入
力するための共用メモリからの全ての伝送とを受け、こ
れらの伝送を適切に分配する。また中央装置は高速バス
システムの共用バスを制御して一時に1つのプロセッサ
だけが共用バスにアクセスできるようにする。これらの
バスの共用は、中央装置の一部である仲裁論理要素によ
って決定される。  中央装置の第1の実施例は一連の
ORゲートを含み、これらのORゲートは二地点間単方
向バスを通してプロセッサからの送信を受信し、またメ
モリ制御装置からの送信を受信する。これらのORゲー
トは、プロセッサからの伝送をメモリ制御装置及び他の
プロセッサへ配分し、メモリ制御装置からの伝送をプロ
セッサへ配分するように処理する。メモリ制御装置はプ
ロセッサと共用メモリとの間の全ての伝送を制御する。 メモリ制御装置は仲裁論理要素をも含む。  第1の実
施例は一連のORゲートの出力に接続された状態装置を
も含み、この装置はプロセッサから他のプロセッサへの
、及び共用メモリからプロセッサへの伝送を制御する。 状態装置からの伝送出力は、プロセッサへの二地点間バ
スへ印加される前にドライバによって処理される。
【0010】中央装置の第2の実施例は第1の実施例に
類似しているが、一連のORゲートの代わりに一連のマ
ルチプレクサが用いられ、これらのマルチプレクサを制
御する論理要素が付加されていることが異なる。連の最
初のマルチプレクサはその入力に対応付けられた論理要
素を有し、この論理要素は共用バスの不作動時間をなく
すのを援助し、またプロセッサからの命令及びデータの
有効性を決定するのを援助する。
【0011】
【実施例】本発明の高速バスシステムは、多重プロセッ
サ・共用メモリシステムにおけるプロセッサと共用メモ
リとの間の命令及びデータの伝送に使用される高速バス
を提供する。図1は、本発明の装置及び方法を実現でき
るシステムの概要ブロック線図である。このシステムは
、11で示すCPU0、12で示すCPU1、13で示
すCPU2及び14で示すCPU3を有している。これ
らのCPUは中央装置15に結合されている。中央装置
15の詳細に関しては後述する。  各CPUは二地点
間バスを介して中央装置15に接続されている。即ち、
E−BUS  0  TAバス17はCPU0(11)
と中央装置15とを接続し、E−BUS  1  TA
バス19はCPU1(13)と中央装置15とを接続し
、E−BUS  2  TAバス18はCPU2(12
)と中央装置15とを接続し、そしてE−BUS  3
TAバス20はCPU3(14)と中央装置15とを接
続している(これらのバスを、纏めて“E−BUS  
TAバス”と呼ぶ)。これらの単方向バスはCPUから
中央装置15への伝送用である。中央装置15からCP
Uへデータを伝送するためにE−BUS  0  FA
バス21がCPU0(11)と中央装置15とを接続し
、E−BUS  1  FAバス23がCPU1(13
)と中央装置15とを接続し、E−BUS  2  F
Aバス22がCPU2(12)と中央装置15とを接続
し、そしてE−BUS  3  FAバス24がCPU
3(14)と中央装置15とを接続している。
【0012】各CPUは2つの単方向バスを介してI/
Oバスアダプタ25にも接続されている。一方のバスは
入力バスであり、他方のバスは出力バスである。  図
1に示すように、制御コンソール29がCPU0(11
)に組み合わされている。しかし、コンソールは1つ以
上のCPUに組み合わせ得ることを理解されたい。中央
装置15は、単方向A−BUS  FAバス33及びA
−BUS  TAバス35によって共用メモリ31に接
続されている。A−BUS  FA33は中央装置15
から共用メモリ31への伝送用であり、逆にA−BUS
  TA35は共用メモリ31から中央装置15への伝
送用である。  共用メモリ31は、メモリモジュール
31a、31b、31c、31d、31e及び31fを
含む。各メモリモジュールはA−BUSFA33及びA
−BUS  TA35によって中央装置15に接続され
ている。より多くの共用メモリを設けてもよいこと、ま
たは1つの共用メモリのメモリモジュールの数はより多
くても、もしくはより少なくてもよいことを理解された
い。さらに各メモリが同一の型のメモリであっても、ま
たは各メモリが異なる型のメモリであっても差し支えな
いことも理解されたい。
【0013】E−BUS  TAバス17、18、19
、及び20、E−BUS  FAバス21、23、22
及び24、及びA−BUS  FAバス33は32ビッ
ト並列バスであり、A−BUS  TAバス35は64
ビット並列バスである。  中央装置15は2つの基本
機能を遂行する。第1は、E−BUS  TAバス上の
CPUからの信号入力と、A−BUS  TAバス上の
メモリからの信号入力とを混合して出力E−BUS F
Aバス及びA−BUS  FAバス上へ出力として供給
することである。 第2は、メモリモジュール31a−31fのためのメモ
リ制御装置を含むことである。中央装置15はシステム
タイミングも制御する。これは中央クロック(図示せず
)によって行われる。  図2は、図1に示すシステム
に本発明を実施した第1の例のブロック線図である。こ
の実施例では、E−BUS  TAバス17、18、1
9、及び20からの二地点間信号を共通信号に混合する
ためにORゲートを使用している。  図2に示すよう
に、32ビット幅のE−BUSTAバス17、18、1
9、及び20は一連のORゲート37及び41に接続さ
れている。図を簡易化するために32ビット幅のバスに
対して1本の線だけと、これらのバスを受けている一連
のORゲートだけとを示してあるが、実際には32ビッ
トのバスを受け入れるために32連のORゲート37及
び41が設けられていることは理解されよう。また、O
Rゲート37の32ビット幅の出力がメモリ制御装置4
5及びORゲート41へ入力され、ORゲート41の3
2ビット幅の出力が状態装置42へ入力されていること
も理解されよう。この理解に基づいて図2を説明する。   この第1の実施例によれば、CPU0(11)から
のE−BUS  0  TAバス17はORゲート37
への第1の入力であり、CPU1(13)からのE−B
US  1  TAバス19はORゲート37への第2
の入力であり、CPU2(12)からのE−BUS18
はORゲート37への第3の入力であり、そしてCPU
3(14)からのE−BUS  3  TAバス20は
ORゲート37への第4の入力である。ORゲート37
の出力のバス36はORゲート41への第1の入力であ
る。バス36はメモリ制御装置45へも入力される。O
Rゲート41への第2の入力はメモリ制御装置45から
の出力である。 バス39上のORゲート41の出力は、状態装置42の
データ入力Dへの入力である。ORゲート41から入力
を受けると状態装置42は、それを出力Qに供給するま
でに1サイクルの間その出力を記憶する。
【0014】図2には示してないが、普通の仲裁論理要
素、及びCPU間の通信回線も存在しているのである。 この仲裁論理要素は中央に配置しても、または1または
それ以上のCPUに配置してもよく、一時に1つのCP
Uだけがバス36にアクセスすることを保証するために
必要である。この論理要素は要求/要求承認型の動作を
する。
【0015】状態装置42の出力はドライバ43を通っ
た後、E−BUS0  FAバス21を介してCPU0
(11)へ、E−BUS  1  FAバス23を介し
てCPU1(13)へ、E−BUS  2 FAバス2
2を介してCPU2(12)へ、そしてE−BUS  
3 FA24を介してCPU3(14)へ入力される。 状態装置42の出力は32ビット幅の出力であることを
理解されたい。  E−BUSx  TAバス(“x”
は何れかのバス要素を表す)に印加された信号が、次の
バスサイクルにE−BUS  x  FAバス上に現れ
ることに注目されたい。従ってE−BUS  x  F
Aバスのための仲裁は、E−BUS  x  TAバス
上に何等かの要素を伝送する前に行わなければならない
。  前述のように、ゲート37の出力であるバス36
はメモリ制御装置45への入力である。ORゲート41
への第2の入力はメモリ制御装置45の出力である。即
ちA−BUS  TAバス35上のメモリ31からの再
充填データはメモリ制御装置45を通ってORゲート4
1の第2の入力へ入力される。このデータは、後に状態
装置42へ入力せしめられる。状態装置42によって処
理された後、再充填データは、ドライバ43及びE−B
US  FAバスを介してCPUへ供給される。これが
、ある読み出しに対して再充填データがどのように移動
するかの説明である。
【0016】メモリへデータを書き込む必要がある場合
、線36上のORゲート37からのデータは、メモリ制
御装置45を通してA−BUS  FAバス33上へ印
加される。このデータがメモリ内へ書き込まれるのであ
って、再充填データは供給されない。図3は、図1に示
すシステム内に組み込まれた第2の実施例の簡易ブロッ
ク線図である。この実施例では、一連のORゲートでは
なくマルチプレクサ(以後“MUX”と略記)が使用さ
れている。即ちMUX37a及び41aがORゲートの
代わりである。図3に示すように、論理要素50も付加
されている。  ポート論理要素49がMUX37aへ
の入力に配置されている。ポート論理要素49内のバッ
ファは3語までを保持することができる(語数は、E−
BUSTAバスの1つからのバス承認条件を認識するの
にCPUが要する時間長の関数である)。
【0017】E−BUS  TAバスからの殆どの信号
はMUX37aへ入力されるが、若干のビットはポート
論理要素49から論理要素50へ出力される。論理要素
50はこれらのビットを処理し、MUX37a及び41
aの選択入力へ供給する。  図4は、図3の中央装置
15のより詳細なブロック線図である。図3の論理要素
50は、その一部としてポート選択論理要素65を含む
。ポート選択論理要素65はMUX37aと共にスケジ
ューリング論理要素66を形成している。  図3の論
理要素50内に含まれている他の論理要素は資源検査論
理要素67である。資源検査論理要素67はMUX41
a及び状態装置42と共に仲裁装置51を形成する。
【0018】図4に示すように、E−BUS  0  
TAバス17、E−BUS  1  TAバス19、E
−BUS  2  TAバス18、及びE−BUS  
3  TAバス20はポート論理要素49に接続されて
いる。CPUの1つからの各E−BUS  TAバスは
ポート論理要素49自体のポートに接続されている。例
えば、E−BUS0  TAバス17はポート49aに
接続され、E−BUS  1TAバス19はポート49
bに接続され、等々である。
【0019】E−BUS  TAバス上では4つの型の
情報が通信可能である。これらの型は(1)データ、命
令及びアドレス情報(“DAL”)、(2)DAL線上
の情報が命令であるのか、アドレスであるのか、または
データであるのかを示すFC情報、(3)そのバスに対
応付けられたCPUが“スヌーピーヒット”を有してい
ることを示す“スヌーピーヒット”情報、及び(4)パ
リティ情報である。  図示はしてないが、各CPUは
キャッシュメモリを含むことができる。これらのメモリ
は、CPUによって拡張的に使用されるデータへのアク
セス速度を上げるために使用できる。即ち、読み出し命
令を送り出す度に、各CPUは対応付けられたアドレス
がそのキャッシュ内にあるか否かを見るための検査をす
る。 以下に詳述するように、“スヌーピー”動作として知ら
れるこの動作は、再充填データがメモリ31内のメモリ
モジュールの1つから戻る前に“スヌーピー”読み出し
(これは“スヌーピーヒット”である)に対する応答が
発生することを保証するタイミングで遂行される。
【0020】図4に示すように、E−BUS  0  
TAバス17、E−BUS  1  TAバス19、E
−BUS  2  TAバス18、及びE−BUS  
3  TAバス20上の情報は状態装置53へ入力され
る。状態装置53の出力は、MUX59とバッファ55
とに結合されている。バッファ55は所定の長さの3語
までを記憶することができる。
【0021】状態装置53の出力は有効性論理要素57
へも入力される。有効性論理要素57への第2の入力は
、それ自身の一方の出力から戻された信号である。有効
性論理要素57の他方の出力はMUX59の選択入力に
接続されている。仲裁論理要素51からの出力である線
61上のポート承認信号も有効性論理要素57へ入力さ
れる。
【0022】有効性論理要素57の機能は、命令及びデ
ータが有効か否かを決定することの他に、バッファ55
内のデータとポートMUX59へ直接入力されるデータ
のどちらをバス63上へ出力させるかを決定することで
ある。  バス63上の出力ポートMUX59の出力は
、MUX37aへ入力されると共にポート選択論理要素
65にも入力される。MUX37a及びポート選択論理
要素65はスケジューリング論理要素66の一部である
。   ポート選択論理要素65は、仲裁論理要素51から
の出力に応答して、MUX37aへの4つの入力の中の
1つをそのMUXの出力へ通過させるように選択する。 これはバス63上へのポートMUX59の出力を制御す
る有効性論理要素57の動作に似ている。ポート選択論
理要素65は、バス63へ出力を供給する4つのポート
がラウンドロビン方式でバス36にアクセスすることを
承認する。  出力バス36は、仲裁論理要素51の資
源検査論理要素67、MUX41a及び他の多くの装置
への入力である。これらの装置は、メモリマップ装置(
“MMAP”)69、ロック論理装置(“LOCK”)
71、入力/出力装置(“CPIO”)73、割り込み
要求装置(“IREQ/SNIT”)75、メモリ制御
装置(“MEMC/DBEC”)77、及びメモリ書き
込みデータ経路装置(“MWDP”)79である。各装
置69、71、73、75、及び77はMUX41aへ
の入力も供給する。
【0023】資源検査論理要素67は、MMAP69、
LOCK71、CPIO73、IREQ/SNIT75
、MEMC/DBEC77、及びMWDP79からステ
ータス入力を受ける。これらはそれぞれ、メモリモジュ
ールステータス、ロックレジスタステータス、I/Oモ
ジュールステータス、メモリ制御装置ステータス及び書
き込みバッファステータスメッセージである。さらに、
資源検査論理要素67は、MUX41aへの入力として
の仲裁命令と、MUX41aが状態装置42への入力と
してどの入力を選択すべきかを指示する仲裁MUX選択
命令をも生成する。
【0024】A−BUS  TAバス35は64ビット
幅のバスである。このバス上の信号はDAL情報、EC
C(誤り訂正コード)情報、及びACK(肯定応答)情
報を含む。ACKビットはメモリ読み出しデータ経路装
置(“MRDP”)81によって処理される。DAL及
びECC情報を含むMRDP81の出力はMEMC/D
BEC77への入力である。ここでは、DAL情報は一
般的に再充填データである。MEMC/DBEC77の
出力は再充填データであり、この出力はMUX41aへ
の入力の1つである。
【0025】MEMC/DBEC77はA−BUS  
FAバス33上にも出力を供給する。この出力は、DA
L、ECC、FC及びパリティ情報を含む。A−BUS
  FAバス33上のこの情報はメモリモジュール31
a−31fへの入力である。状態装置42を通過するM
UX41aの出力は、ECC情報が含まれていないこと
を除けば、MEMC/DBEC77がA−BUS FA
バス33上に出力される情報と同じ情報を含む。
【0026】バス36から適切な命令信号が資源検査論
理要素67へ入力されると、資源検査論理要素67はM
MAP69、LOCK71、CPIO73、IREQ/
SNIT75、MEMC/DBEC77、及びMWDP
79からのステータス情報入力を使用して異なる入力を
仲裁し、MUX41a及び状態装置42を通してどの入
力にE−BUS  TAバス21−24へのアクセスを
与えるかを決定する。これらのバスにアクセスすること
を望む信号は、バス36上の資源検査DAL信号及びF
C信号と、MMAP69からのMMAP  LW  R
D  DAL信号出力と、LOCK71からのLOCK
  LW  RD  DAL信号出力と、CPIO73
からのCPIO  LW  RD  DAL信号出力と
、IREQ/SNIT75からのIREQ/SNIT 
 LW  RD  DAL信号出力と、MEMC/DB
EC77からのMCTL再充填DAL信号出力である。 資源検査論理要素67は、状態装置67a及び67bを
通して結合されている出力線と、仲裁MUX選択信号出
力とによって、これらのバスへのアクセスを制御する。 状態装置67aからの線61及び85上の出力は、E−
BUS  TAバスのバス36へのアクセスの制御用で
ある。状態装置67bからの線83上の出力は、MMA
P69、LOCK71、CPIO73、IREQ/SN
IT75、及びMEMC/DBEC77からのDAL情
報を選択してMUX41aへ入力させるためのものであ
る。
【0027】図5は、図4のスケジューリング論理要素
66のより詳細なブロック線図である。前述のようにス
ケジューリング論理要素は、主要素として、ポート選択
論理要素65及びMUX37aを含む。図4のポート論
理要素49の出力が、バス63を介してスケジューリン
グ論理要素66へ入力される。この入力はポートDAL
信号と、ポートFC信号と、ポート“スヌーピーヒット
”信号と、ポート命令有効信号とを含む。これらの信号
の中からどの信号をポート論理要素49から出力させる
かは、有効性論理要素57によって決定済である。 図
5のバス63の線87はポート“スヌーピーヒット”信
号を伝送する。これらの信号は優先順位エンコーダ89
及びORゲート91へ入力される。優先順位エンコーダ
89の出力はMUX403へ入力される。ORゲート9
1の出力はポート選択発生器93へ入力される。
【0028】バス63の線96はDAL信号及びFC信
号を伝送する。これらの信号はMUX37aへ入力され
る。FC信号は、古FC  MUX95にも入力される
。   バス63の線97はポート命令有効信号を伝送する
。 これらの信号はバレルシフタ99へ入力される。バレル
シフタ99の出力は優先順位エンコーダ401へ入力さ
れる。優先順位エンコーダ401の4ビット出力はMU
X403への入力の1つである。この4ビット出力は左
シフト1要素405へも入力される。左シフト1要素4
05の出力は、MUX407への入力の1つである。M
UX407の出力には状態装置409が結合されている
。状態装置409の出力は、MUX407への第2の4
ビット入力として、またバレルシフタ99への4ビット
制御入力としてフィードバックされる。
【0029】MUX403への第1の4ビット入力は状
態装置411からのフィードバック信号である。これは
MUX403への最後の入力である。MUX403の4
ビット出力は状態装置411への入力である。MUX4
03のからの出力が状態装置411へ入力された次のサ
イクルに、これは状態装置411の出力に現れる。状態
装置411の4ビット出力は古FC  MUX95の選
択入力にも印加される。上述のように、この古FC  
MUX95には、バス63の線96からFC信号が入力
されている。
【0030】線419上のMUX95の出力は古FC信
号である。この信号は、ORゲート91の出力及び他の
2つの入力と共にポート選択発生器93へ入力される。 これらの他の2つの入力とは、線85a上のスケジュー
リング承認信号と、線85b上のスヌーピーヒットシャ
ドウ信号である。これらの信号は共に仲裁論理要素51
の状態装置67aの出力である。これらの信号は、E−
BUS  TAバスのバス36へのアクセスを制御する
ためのものである。  ポート選択発生器93の第1の
出力はMUX403の選択入力であり、第2の出力はM
UX407の選択入力である。これら2つのMUXの選
択信号がMUX37aからバス36上へ出力される内容
を決定し、また線86上の4ビットのスケジューリング
ID信号が何になるかを決定する。MUX403の出力
はMUX37aの選択入力へ印加され、MUX37aの
出力はバス36に供給される。図4及び図5に基づいて
、図5のスケジューリング論理要素66の動作を説明す
る。 システムが付活されて動作指令を待機しているところに
、ポート命令有効信号がバス63の線97からバレルシ
フタ99へ入力されるものとする。有効命令及びデータ
を有するポートだけがバス63へのアクセスを許される
ので、最初に決定しなければならないのは「どの命令及
びデータが有効か」であるから、これが初期動作である
。従って各ポート命令有効信号はそれが有効命令及びデ
ータを表す適切な状態を有しているか否かが評価される
。  4つのポートが全て有効な命令を有しているもの
とすれば優先順位エンコーダ401は、最高優先順位を
有するポートの信号を“現ポート”信号として最初に線
413上に出力させる。この信号は左シフト1要素40
5へも入力される。左シフト1要素405の出力が順序
(シーケンス)の次のポートである。それ故左シフト1
要素405の出力は“次のポート”信号としてMUX4
07へ入力される。MUX407への他方の入力は状態
装置409からのフィードバック信号である。この信号
はバレルシフタ99の制御入力へも印加される。従って
この信号は、バレルシフタ99にこの信号に対応付けら
れたポートを指し示させる。通常はフィードバックルー
プされているこの信号が“現ポート”である。これは“
次のポート”が選択されて変化するまで維持される。 例として、優先順位エンコーダ401が最初にポート“
0”をバス36にアクセスさせるべきであると決定した
ものとする。優先順位エンコーダ401の4ビット出力
は左シフト1要素405へ入力されるので、左シフト1
要素405は通常の順序では次のポートがポート“1”
であることを指示する。  左シフト1要素405の出
力はMUX407の第2の入力へ印加される。MUX4
07の第1の入力は、MUX407の現出力であって現
ポート(即ちポート“0”)であり、状態装置409に
ラッチされているこの信号がMUX407の第1の入力
へフィードバックされているのである。状態装置409
は、ポート“0”情報が完全に伝送されてしまうまで、
ポート“0”をフィードバックし続ける。これは、ポー
ト“0”がそのデータをバス36上に伝送し終るまでフ
ィードバック入力を選択し続けるポート選択発生器93
によって制御される。ポート“0”がその伝送を完了す
ると、ポート選択発生器93はMUX407への第2の
入力を選択する。これは左シフト1要素405の出力で
あり、MUX407は出力に“次のポート”であるポー
ト“1”を供給する。次のサイクルには“次のポート”
信号は状態装置409の出力となり、MUX407の第
1の入力へフィードバックされる。
【0031】ポート1を指定するこの値が状態装置40
9から出力されると、それはバレルシフタ99へも入力
される。通常の順序の“次のポート”信号がポート命令
有効信号を有している限り、新しいポート指定信号がバ
レルシフタ99を1だけ進める。もし順序の次のポート
が有効でなければ、バレルシフタは次の有効ポートまで
前進する。
【0032】バレルシフタ99の出力は優先順位エンコ
ーダ401への入力であり、優先順位エンコーダ401
は今度は新しいポートを表す出力を供給する。新たに選
択されたポートが“現ポート”になり、新しい“次のポ
ート”が上述のようにして選択される。この動作方法は
、各ポートがラウンドロビン方式の順番を有するように
続行される。
【0033】ポート選択発生器93の出力は、通常は“
現ポート”入力を選択して出力するMUX403の選択
入力へ印加される。この“現ポート”出力がMUX37
aからバス36へ出力される信号を選択する。後述する
ように、MUX403が他の入力を選択した時に限って
他の動作が遂行される。  以上に、バス36へのアク
セスをあるポートに与える方法を説明した。今度はスケ
ジューリング論理要素66の動作を説明する。  通常
、各命令には少なくとも1つの語が続く。この語はアド
レスであっても、またはデータであっても(再充填の場
合)よい。このアドレスまたはデータに、付加データ(
書き込み命令の場合)、再充填命令、または交換命令(
読み出し及び書き込みの複合命令)が後続し得る。
【0034】バス36へのアクセスがあるポートに与え
られると、そのポートはその命令またはデータをバス3
6へ伝送し終るまで与えられたアクセスを維持し続けな
ければならない。例えば、交換命令の場合、そのポート
は交換命令、読み出しアドレス、ライトバック命令、書
き込みアドレス、そして書き込みデータを送るためにア
クセスし続けなければならない。データ及び命令が送ら
れている間、DAL線上に何が存在するかに従って、F
Cは状態を変化させる。もしそれが命令であればFCは
1つの状態となり、もし命令でなければ他の状態となる
。MUX403の目的は、“先のポート”、“スヌーピ
ーポート”及び“現ポート”の何れかを選択することで
ある。前述のように、MUX403への“先のポート”
または“スヌーピーポート”入力が選択された場合だけ
所定の動作が遂行される。以下に、MUX403の出力
選択方法を説明する。  MUX403の出力はMUX
37aの選択入力である。これは、バス36へのアクセ
スをどのポートに承認するかを決定する。通常、MUX
403の出力は“現ポート”であるからMUX37aは
“現ポート”を選択する。“現ポート”は状態装置41
1へも入力される。この信号は、“現ポート”が状態装
置411へ入力された次のクロックサイクルに線417
上に出力される。この出力は古FCMUX95の選択入
力に印加され、またMUX403へ“先のポート”とし
てフィードバックされる。
【0035】MUX37aが選択したポートが1サイク
ル後に伝送する情報は、データまたはアドレスであって
命令ではない。従って、FC信号は状態を変える。この
新しい状態はポート選択発生器93へ入力される。この
ため発生器93のスケジューリングモードセレクタ出力
は、状態装置411内にラッチされているMUX403
への“先のポート”入力を選択するビットパターンを有
するようになる。“先のポート”値は、データが終り新
しい命令が現れたことを指示するために線419上のF
C信号の状態が変化するまで、MUX403の出力とし
て保持される。そのようになった時に限りポート選択発
生器93はその選択信号を変化させて、“先のポート”
ではなく“現ポート”を選択させる。この動作は、別の
命令がバス36上に出現する前にデータ伝送が完了する
ことを保証する。一方、線419上のFC信号の状態の
変化に応答して、MUX407は“次のポート”値を選
択する。これはポート選択発生器93がMUX407の
出力をそのように変化させる選択信号を出力するからで
ある。選択された“次のポート”信号は、状態装置40
9を通してMUX407及びバレルシフタ99へフィー
ドバックされる。そこでバレルシフタ99は次の有効ポ
ートを選択し、そのポートが今度は線413上の“現ポ
ート”になる。これらの動作を繰り返すべく、スケジュ
ーリング論理要素66は選択されたFC信号の状態の次
の変化を待機する。スケジューリング論理要素66の動
作を以下の例で説明する。“スヌーピーヒット”が存在
しない通常の動作中、“現ポート”(例えばポート“0
”)が選択されてMUX403を通ると、この“現ポー
ト”信号はMUX37aに“現ポート”DAL及びFC
を選択させる。次のクロックサイクルにこのポート指定
、即ちポート“0”が状態装置411の出力に現れる。 この出力はMUX95に対応ポートFC信号を選択させ
、出力させる。即ち、もしポート“0”が現ポートであ
れば、ポート“0”のためのFC信号がMUX95から
出力され、ポート選択発生器93へフィードバックされ
る。命令を含む最初のサイクル中のFCビットが例えば
論理値“1”であるとすれば、命令以外の情報が伝送さ
れる第2のサイクルにはFCビットは論理値“0”に変
化しよう。
【0036】ポート“0”FC信号が切り替わると、こ
の変化した値はポート選択発生器93へ入力される。こ
の変化に応答してポート選択発生器93は、状態装置4
11の出力である“先のポート”入力を選択する。従っ
て、MUX403の出力は“先のポート”入力になる。 これらの動作が、全てのポート“0”情報を伝送可能な
らしめるように期間を保持する。FC信号が状態を変え
て再び命令が伝送されることを指示すると、MUX40
3の選択入力へ供給されるポート選択発生器93の出力
が再び“現ポート”(今はポート“1”)を選択させる
。このプロセスはラウンドロビン方式で選択される各ポ
ート毎に繰り返される。図5に関する説明の残りの部分
は、バス36への“スヌーピーヒット”のアクセスの承
認に関する。通常の動作におけるバス36へのポートの
アクセスは、仲裁論理要素51の線85a上の適切な状
態のスケジューリング承認信号で叙述される。
【0037】要求されたデータがCPUのキャッシュ内
に存在することを表す“スヌーピーヒット”は、通常の
命令及びデータに対して優先順位を与えられている。従
ってスヌーピーヒットシャドウ信号が適切な状態にある
時には、命令またはデータはバス36上に出現できない
。“スヌーピーヒットシャドウ”は、“スヌーピーヒッ
ト”が存在している場合にCPUから戻される信号を得
るのに必要な期間をカバーする時間である。即ち読み出
し命令がバス上に出されると、信号が戻される前に“ス
ヌーピーヒット”を示すある長さの時間が存在するので
ある。もし、“スヌーピーヒット”が存在すれば“スヌ
ーピー再充填命令”が発生するので、識別されたデータ
が供給される。
【0038】図6は資源検査論理要素67のより詳細な
ブロック線図である。図6及び図5を参照してスヌーピ
ーヒットシャドウ信号の生成方法を説明する。読み出し
命令が発行され、それが命令デコーダ435において検
出されると、“スヌーピーシャドウ”期間が開始される
。命令及び資源検査論理要素427の出力の1つが、線
425上の“スヌーピーシャドウスタート”信号である
。この信号は多段シフトレジスタ429へ入力される。 シフトレジスタ429の出力はORゲート431におい
て混合される。ORゲート431の出力は命令及び資源
検査論理要素427へフィードバックされると共に、資
源検査論理要素67の出力であるスヌーピーヒットシャ
ドウ信号として線85b上に供給される。図5において
、“スヌーピーヒットシャドウ”時間中は“スヌーピー
ヒット”に優先順位があるために、バス36へアクセス
を要求するポートの何れに対してもこのようなアクセス
は与えられない。“スヌーピーヒットシャドウ”時間が
経過した後(線85b上の信号のステータスによって指
示される)に限って、ポート選択発生器93は次のポー
トへ進むことが可能となる。  もし1以上の“スヌー
ピーヒット”が存在すれば、優先順位エンコーダ89は
最優先順位を割り当てられた“スヌーピー”ポートを表
す信号を出力する。識別された“スヌーピーヒット”が
存在する場合には、ORゲート91の出力の状態が変化
する。ORゲート91の出力の状態の変化に応答して、
ポート選択発生器93は今度はMUX403及びMUX
37aを通してバス36へアクセスする正しい“スヌー
ピーポート”を選択する。即ち、優先順位エンコーダ8
9からの“スヌーピーポート”出力がMUX403の出
力へ結合される。この出力はMUX37aを通して出力
すべき(“スヌーピーヒット”に対応する)正しいポー
トを選択する。このようにして選択された“スヌーピー
ポート”は、その再充填データをバス36へ送り出す。
【0039】図4に示す資源検査論理要素67の一部で
ある命令及び資源検査論理要素427(図6)は、MM
AP69、KOCK71、CPIO73、IREQ/S
NIT75、MEMC/DBEC77、及びMWDP7
9からステータス入力を受ける。命令デコーダ435に
よってデコードされたスケジューリング論理要素66か
らの命令も、命令及び資源検査論理要素427へ入力さ
れる。この命令は、命令及びアドレスをバス36へ伝送
することを望んでいる特定のCPUまたはポートからの
ものであってよい。本発明の場合には、MMAP69か
らのメモリモジュールステータス出力が最大のインパク
トを有している。図1に示すように、複数のメモリモジ
ュール(メモリモジュール31a−31f)が存在して
いる。本発明の装置及び方法の好ましい動作では、メモ
リ待ち時間と、メモリが再充填データを供給するのに要
する時間とを含む所定の時間が経過するまでは、先行の
活動状態の読み出し命令を導いたメモリモジュールのた
めのバスと同一のバスには第2の読み出し命令は伝送さ
れない。メモリ制御の本質は、係争中の複数の命令を一
時に制御し、しかも所与のメモリモジュールに対して1
つの命令だけを未決定とすることである。この好ましい
型のメモリ制御を達成するために、命令及び資源検査論
理要素427は命令と、それらに伴うアドレスとをデコ
ードし、アクセスを要求しているポートを承認できるか
否かと、命令の数と未決の数とに基づくメモリバスへの
アクセスと、特定のメモリモジュールの可用性とを決定
する。
【0040】図4において、仲裁MUX選択出力はMU
X41aの選択入力へ印加される。MUX41aへの入
力は、バス36からの資源検査DAL及び資源検査FC
信号と、MMAP69からのMMAP  LW  RD
 DAL信号と、LOCK71からのLOCK  LW
  RD  DAL信号と、CPIO73からのCPI
O  LWRD  DAL信号と、IREQ/SNIT
75からのIREQ/SNIT  LWRD  DAL
信号と、MEMC/DBEC77からのMCTL再充填
DAL信号である。 これらの入力の中で本発明にとって重要なことは、スケ
ジューリング論理要素66からバス36への資源検査D
AL信号と、MEMC/DBEC77からのMCTL再
充填データ出力との間の選択である。この詳細に関して
は後述する。
【0041】MUX41aの出力の選択を説明する目的
から、もしMEMC/DBEC77が再充填データを供
給していれば、どのポートもMUX41aを通してバス
へアクセスすることは承認されない。即ち、MUX41
aを通して再充填データが転送されている時には、ポー
トにアクセスが与えられる前に全ての再充填データがE
−BUS  FAバス21−24上に伝送されるように
線61及び85が制御されている。
【0042】以下は、本発明の装置及び方法による、特
に図3−6に示す装置による命令及びデータ処理の例で
ある。もし複数のCPUの1つがバス36へのアクセス
を望んでいれば、そのCPUはある命令と、それに続く
アドレスとを連続する2サイクル中に伝送する。この命
令及びアドレスはE−BUS TAバス17−20上に
現れる。メモリ転送を含む基本的な命令が存在する。こ
れらは、読み出し命令、データを1つのCPUからメモ
リへ書き込むライトバック命令、データをメモリまたは
別のCPUの何れかから1つのCPUへ書き込む再充填
命令、及び交換命令である。これらの命令に関しては適
切な図面に基づいて説明する。図7に読み出し命令の場
合のタイミング図を示す。この例ではCPU1が読み出
し命令を送り出しているものとする。CPU1は第1サ
イクルに読み出し命令101を送り、第2サイクルにア
ドレス103を送る。105で示すように、命令は第2
サイクルに仲裁される。この仲裁は、バス36へアクセ
スすべく係争中のCPU間でなされる。読み出し命令は
バッファ55(図4参照)の第1バッファ位置内にロー
ドされ、読み出しアドレスはそのバッファの第2バッフ
ァ位置内にロードされる。バッファ55はその3つのバ
ッファ位置に3語までを保持することができるが、ここ
ではこれらの位置の2つだけが使用されている。もし有
効性論理要素57がこの命令は有効であると決定し、要
求されたメモリモジュールが使用可能であれば、第3サ
イクルにCPU1ポートがバス36へのアクセスを承認
される(図7の107参照)。これはバッファ55内の
第1バッファ位置内の読み出し命令を、MUX59及び
37aを通してバス36へ出力することによって(図4
参照)遂行される。この命令はMUX41aを通してE
−BUS  FAバス21−24に転送される。
【0043】次のサイクル中に、ポート論理要素49内
のバッファ55の第2バッファ位置からのアドレスがバ
ス36上に送られる。第1サイクル中にCPUがE−B
USTAバスの1つに供給した読み出し命令101は、
第3サイクルに各E−BUSFAバス21−24上に現
れる(図7の111)。このようにして最初の命令を送
ったCPUは(他の全てのCPUも同様に)、要求が承
認されバス36へのアクセスが与えられたことを知る。 これは各CPUに分離した通信を必要とせずになされる
のである。また読み出し命令101及びアドレス103
は他の各CPUにも供給されるので、これらのCPUは
“スヌーピーヒット”の目的で、それらのキャッシュ内
に要求された情報を有しているか否かを決定できる。も
しそれが書き込み命令であれば第3サイクルにデータの
最初の片が送られ、残余のデータは爾後のサイクル中に
供給される。書き込み命令及びアドレスは、読み出し命
令及びアドレスと同じようにして処理される。しかしデ
ータはメモリ内に書き込まれ、戻されることはない。
【0044】図8は、“スヌーピー”再充填命令タイミ
ングのためのタイミング図である。この図に基づいて“
スヌーピーヒット”の処理を説明する。前述のように、
“スヌーピーヒット”は、CPUがそのキャッシュ内に
読み出し命令に対応付けられたアドレスを有している場
合に発生する。そのキャッシュ内にデータを有している
CPUは、“スヌーピー再充填”命令とそれに続く再充
填データをE−BUSTAバス上に供給することによっ
て、読み出し命令に応答する。図8に示すように、第1
サイクルに再充填命令201があるCPUから出力され
てバッファ55(図4)の第1バッファ位置へ入力され
、次いで所定数のサイクルに亙って再充填データが出力
される。このデータは1バイト/サイクルのレートで出
力される。図示のように再充填データの第1バイト20
3は第2サイクルに出力されてバッファ55の第2バッ
ファ位置に入力され、第3サイクルに出力される第2バ
イト205はバッファ55の第3バッファ位置に入力さ
れ、第4サイクルに出力される第3バイト207は状態
装置53(図4)に保持される。残余のデータは爾後の
サイクルに出力される。
【0045】例えば、CPU3(14)が再充填命令2
01を送ろうとした時、バス36が話し中であるものと
する。その結果、CPU3(14)はバスへアクセスす
るまで待機しなければならない。従って、送られた再充
填命令、データ“0”及びデータ“1”は、前述のよう
に、アクセスが承認されるまでポート論理要素49のバ
ッファ55内に保持される。前述のように、ポート論理
要素49のこのバッファ55は3語を保持することがで
きる。
【0046】バスが話し中であるから、仲裁を行うこと
ができる最も早い時点は第4サイクルである。従ってC
PU3には、それを要求してから2サイクル後に(2サ
イクル遅れて)バス36へのアクセスが与えられる。一
方、第4サイクルには再充填データ“2”の第3片20
7がバス上に送り出され、状態装置53(図4)内に保
持されている(バッファは3語しか保持できないから、
バッファは一杯である)。仲裁が206において行われ
、仲裁論理要素51がCPU3にバス36へのアクセス
を与えると、再充填命令が全てのE−BUS  FAバ
ス21−24上に出力される。これは第5サイクルにお
いて発生する。
【0047】第5サイクルに、再充填命令は状態装置4
2内にラッチされる。この再充填命令209は第1バッ
ファ位置から転送される。同様に、再充填データ“0”
(211)がバッファ55の第2バッファ位置から転送
され、再充填データ“1”(213)がバッファ55の
第3バッファ位置から転送される。第7サイクルに再充
填データ“2”が状態装置42内に転送される。従って
、状態装置42は、次の第8サイクルに、215で示す
ように、E−BUS  FAバス上に出力することがで
きる。
【0048】第4サイクルの206において仲裁論理要
素51が承認すると、そのポートは線61、バッファ5
5の第1バッファ位置の入力に結合されている有効性論
理要素57(図4)を介しMUX59を通してバスへア
クセスする。従ってこの入力がMUX59からバス63
へ出力される。次のサイクルにはバッファ55の第2バ
ッファ位置の入力が出力され、その次のサイクルには第
3バッファ位置の入力が出力される。その後、状態装置
53の出力がMUXを通して出力される。再充填命令及
び再充填データを送ったCPUは、再充填データ217
で示すように第7サイクルに再びデータが送られ始めた
ことを知る。209で示すように再充填命令は第5サイ
クルにはE−BUS  FAバス21−24上に送られ
ている。第6サイクルにはCPU3はこのデータを読み
、第7サイクルには再びデータを送り始めている。これ
で2サイクル遅れ問題が解消されたことになる。これが
再充填データ207を1バイト長ではなく3バイト長に
してある理由である。図示のようにこのデータ271は
、データ215の直後にバス36上に現れている。残余
の再充填データはバッファを使用せずに通過する。本発
明によるバッファ及びバスシステムの使用方法によって
、一旦CPUにバスへのアクセスが承認されると、デー
タ及び命令の連続した流れが保証される。図9は交換命
令の場合のタイミングを示す。交換命令301は第1サ
イクルにバッファ55の第1バッファ位置へ入力され、
読み出しアドレス303は第2サイクルに第2バッファ
位置へ入力される。ライトバック命令305は第3サイ
クルにバッファ55の第3バッファ位置へ入力される。 第4サイクルに、ライトバックアドレス307が、例え
ばCPU2のためのE−BUS  TAバス18上に保
持される。ここに保持される理由を以下に説明する。図
9は1サイクル遅れ仲裁を示している。仲裁直後のサイ
クルに、E−BUSFAバス21−24上に交換命令3
11が現れ、読み出しアドレス313が後続している。 図8に示す状況と同様に、送り出しCPUはアクセスが
承認されたことを知り、315で示すように第6サイク
ルから再びデータを送り始めることができる。この時点
で、1サイクル遅れ仲裁問題が解消される。  データ
はE−BUS  FAバス上には現れない。これはデー
タがメモリへ書き込まれるからである。従って、データ
はバス36からメモリ制御装置45へ直接供給され、M
UX41a及び状態装置42を通してE−BUS  F
Aバス21−24上へは出力されない。
【0049】本発明は、本発明の範囲から逸脱すること
なく多くの変更が可能であることから以上の説明に使用
した用語及び表現は本発明を限定する目的からではなく
、図示し説明した機能、またはその一部に等価のものを
排除する意図を持たないことを理解されたい。
【図面の簡単な説明】
【図1】本発明の高速バスシステムを含む装置の概要ブ
ロック線図。
【図2】ORゲートを使用した本発明の第1の実施例の
簡易ブロック線図。
【図3】マルチプレクサを使用した本発明の第2の実施
例の簡易ブロック線図。
【図4】図3に示す中央装置の一部のより詳細なブロッ
ク線図。
【図5】図4に示すスケジューリング論理要素のより詳
細なブロック線図。
【図6】図4に示す資源検査論理要素のより詳細なブロ
ック線図。
【図7】読み出し命令タイミングのためのタイミング図
【図8】スヌーピーヒットに対するスヌーピー再充填命
令のためのタイミング図。
【図9】交換命令タイミングのためのタイミング図。
【符号の説明】
11、12、13、14  CPU 15  中央装置 17、18、19、20  E−BUS  TAバス2
1、22、23、24  E−BUS  FAバス25
  I/Oバスアダプタ 29  制御コンソール 31  共用メモリ 33  A−BUS  FAバス 35  A−BUS  TAバス 36、39、61、63、85  バス37、41、9
1、431  ORゲート37a、41a、59、95
、403、407  マルチプレクサ 42、53、67a、67b、409、411  状態
装置 43  ドライバ 45  メモリ制御装置 49  ポート論理要素 50  論理要素 51  仲裁論理要素 55  バッファ 57  有効性論理要素 65  ポート選択論理要素 66  スケジューリング論理要素 67  資源検査論理要素 69  メモリマップ装置(MMAP)71  ロック
論理要素(LOCK) 73  入力/出力装置(CPIO) 75  割り込み要求装置(IREQ/SNIT)77
  メモリ制御装置(MEMC/DBED)79  メ
モリ書き込みデータ経路装置(MWDP)81  メモ
リ読み出しデータ経路装置(MRDP)89、401 
 優先順位エンコーダ 93  ポート選択発生器 99  バレルシフタ 405  左シフト1論理要素 427  命令及び資源検査論理要素 429  シフトレジスタ 435  命令デコーダ

Claims (36)

    【特許請求の範囲】
  1. 【請求項1】  (a)複数のバス要素と、(b)複数
    のバス入力と1つの出力とを有し、少なくとも1つの入
    力を出力へ結合する中央装置と、(c)バス要素を中央
    装置のバス入力へ結合する第1の複数の単方向二地点間
    バスと、(d)中央装置の出力を各バス要素へ結合する
    第2の複数の単方向二地点間バスと、(e)中央装置を
    通して一時に1つのバス要素がアクセスすることを承認
    する仲裁論理要素とを具備することを特徴とするバス装
    置。
  2. 【請求項2】  中央装置の出力に配置されている状態
    装置をも含む請求項1に記載の装置。
  3. 【請求項3】  中央装置が少なくとも1つのORゲー
    トを備え、対応付けられた第1のバスへのバス要素のア
    クセスを仲裁論理要素が承認するようになっている請求
    項2に記載の装置。
  4. 【請求項4】  中央装置がマルチプレクサを含む請求
    項2に記載の装置。
  5. 【請求項5】  中央装置への各入力に状態装置をも含
    み、これらの状態装置が仲裁論理要素にも接続されてい
    る請求項4に記載の装置。
  6. 【請求項6】  仲裁論理装置が中央装置の一部分であ
    る請求項5に記載の装置。
  7. 【請求項7】  仲裁論理装置がスケジューリング論理
    要素及び仲裁論理要素を含む請求項6に記載の装置。
  8. 【請求項8】  バス要素が複数の中央処理装置及び共
    用メモリを含む請求項1に記載の装置。
  9. 【請求項9】  共用メモリが複数のメモリモジュール
    をも備え、メモリへの結合のために単一の第1のバス及
    び単一の第2のバスが設けられている請求項8に記載の
    装置。
  10. 【請求項10】  中央装置がOR論理要素をも含み、
    対応付けられた第1のバスへのバス要素のアクセスを仲
    裁論理要素が承認するようになっている請求項8に記載
    の装置。
  11. 【請求項11】  OR論理要素が、複数の中央処理装
    置からの第1のバスを入力とし、出力が共用メモリのた
    めの第2のバスに結合されている第1のORゲートと、
      第1のORゲートの出力を第1の入力とし、共用メ
    モリからの第1のバスを第2の入力とし、出力が中央処
    理装置への第2のバスに結合されている第2のORゲー
    トとを備えている請求項10に記載の装置。
  12. 【請求項12】  第2のORゲートの出力に結合され
    ている状態装置をも含み、この状態装置の出力が中央処
    理装置へ向かう第2のバスに接続されている請求項11
    に記載の装置。
  13. 【請求項13】  状態装置の出力と、中央処理装置へ
    向かう第2のバスとの間に少なくとも1つのドライバを
    も含む請求項12に記載の装置。
  14. 【請求項14】  中央装置内に、マルチプレクサ回路
    と、これらのマルチプレクサ回路を制御するための仲裁
    論理要素とを含む請求項8に記載の装置。
  15. 【請求項15】  マルチプレクサ回路が、各中央処理
    装置からの第1のバスを入力とし、中央装置から共用メ
    モリへ向かう第2のバスへ出力を供給する第1のマルチ
    プレクサと、第1のマルチプレクサの出力を第1の入力
    とし、共用メモリから中央装置へ向かう第1のバスを第
    2の入力とし、中央処理装置へ向かう第2のバスの各々
    に出力が接続されている第2のマルチプレクサとを備え
    ている請求項14に記載の装置。
  16. 【請求項16】  第2のマルチプレクサの出力に結合
    されている第1の状態装置をも含み、この第1の状態装
    置の出力が中央処理装置へ向かう第2のバスに接続され
    ている請求項15に記載の装置。
  17. 【請求項17】  第1の状態装置の出力と、中央処理
    装置へ向かう第2のバスとの間に少なくとも1つのドラ
    イバをも含む請求項16に記載の装置。
  18. 【請求項18】  中央装置がメモリ制御装置をも含み
    、このメモリ制御装置はメモリからの第1のバスを入力
    とし、出力はメモリへの第2のバスであり、第1のバス
    を第2のマルチプレクサへ接続し、そして第1のマルチ
    プレクサの出力を第2のバスへ接続するようになってい
    る請求項17に記載の装置。
  19. 【請求項19】  第1のバスの各々を中央処理装置か
    ら第1のマルチプレクサへ接続するポート論理要素をも
    含む請求項18に記載の装置。
  20. 【請求項20】  ポート論理要素が、入力状態装置と
    、複数の位置を有し、入力状態装置の出力を入力とする
    バッファと、  バッファ位置の出力と入力状態装置の
    出力とを入力とするポートマルチプレクサと、状態装置
    の出力を入力とし、ポートがバス装置へアクセスするの
    を承認する仲裁論理要素からの制御入力を有し、出力を
    ポートマルチプレクサへ供給する有効性論理要素とを第
    1のバスの1つに結合されている各入力ポート毎に含む
    請求項19に記載の装置。
  21. 【請求項21】  仲裁論理要素が、仲裁論理装置とス
    ケジューリング論理要素とを含む請求項20に記載の装
    置。
  22. 【請求項22】  各中央処理装置毎のポート論理要素
    のポートマルチプレクサの出力が第1のマルチプレクサ
    の入力に接続され、ポート選択論理要素がポートマルチ
    プレクサの出力と仲裁論理装置からの入力とに応答し、
    第1のマルチプレクサの入力の1つをその出力に選択的
    に結合せしめるように第1のマルチプレクサを制御する
    論理要素を備えている請求項21に記載の装置。
  23. 【請求項23】  スケジューリング論理要素が、入力
    ポートのアクセスをラウンドロビン方式で承認する論理
    要素を含む請求項22に記載の装置。
  24. 【請求項24】  ポート選択論理要素が、バレルシフ
    タと、バレルシフタの出力を入力とする第1の優先順位
    エンコーダと、  第1の優先順位エンコーダの出力を
    第1の入力とし、第1のマルチプレクサを制御するよう
    に結合されている出力を有するスケジュールポートID
    マルチプレクサと、第1の優先順位エンコーダの出力を
    入力とし、1だけ左へシフトした出力を供給する左シフ
    ト1論理要素と、この左シフト1論理要素の出力を第1
    の入力とする次のポートマルチプレクサと、次のポート
    マルチプレクサの出力を入力とし、出力が次のポートマ
    ルチプレクサの第2の入力へ及びバレルシフタの制御入
    力へフィードバックされている第2の状態装置と、スケ
    ジュールポートIDマルチプレクサの出力を入力とし、
    出力がスケジュールポートIDマルチプレクサの第2の
    入力にフィードバックされている第3の状態装置と、優
    先順位エンコーダの入力と第3の状態装置からのフィー
    ドバック入力との間でスケジュールポートIDマルチプ
    レクサを切り替えるように制御するポート選択論理要素
    とを備えている請求項23に記載の装置。
  25. 【請求項25】  第1のバスの各々がそのバス上の伝
    送の始まりと終わりとを表す少なくとも1つのFC線を
    含み、ポート選択論理要素がこの制御線に応答してスケ
    ジュールポートIDマルチプレクサを次のポートに切り
    替える請求項24に記載の装置。
  26. 【請求項26】  ポート選択論理要素が、各ポートか
    らのFC線を入力とし、第3の状態装置の出力によって
    制御される古FCマルチプレクサと、古FCマルチプレ
    クサの出力を第1の入力とし、仲裁論理要素からのスケ
    ジューラ承認入力を第2の入力とするポート選択発生器
    とを含む請求項25に記載の装置。
  27. 【請求項27】  少なくとも若干の中央処理装置がキ
    ャッシュメモリを含み、別の中央処理装置によって発行
    された読み出し命令内のアドレスがそのキャッシュメモ
    リ内に含まれていることを示す“スヌーピーヒット線”
    を第1のバスの各々が含み、ポートスケジューリング論
    理要素がさらに、  “スヌーピーヒット線”を入力と
    する第2の優先順位エンコーダと、  “スヌーピーヒ
    ット線”を入力とし、出力をポート選択発生器へ供給す
    るORゲートと、をも備え、ポート選択発生器は“スヌ
    ーピーヒット信号”が発生し得る期間を示す“スヌーピ
    ーヒットシャドウ信号”をも入力とし、スケジュールポ
    ートIDマルチプレクサへの第3の入力である第2の優
    先順位エンコーダの出力は“スヌーピーヒット”が発生
    した“スヌーピーポート”を指定し、ポート選択発生器
    は“スヌーピーヒットシャドウ”期間中に“スヌーピー
    ヒット信号”を受信するとそれに応答して優先順位エン
    コーダの出力が指定した“スヌーピーポート”をアクセ
    ス承認ポートとして選択する請求項26に記載の装置。
  28. 【請求項28】  共用メモリ内のモジュールのステー
    タスを示すメモリマップステータス装置を含む少なくと
    も1つの資源ステータス装置をも備え、仲裁論理要素は
    、資源ステータス装置からの出力、第1のマルチプレク
    サの出力、及びメモリ制御装置の出力を入力とする資源
    検査論理要素を含み、資源検査論理要素はこれらの入力
    に応答してスケジューリング論理要素内のポート論理要
    素とポート選択論理要素とに出力を供給し、また第2の
    マルチプレクサにも出力を供給して資源を選択させ、こ
    れらの資源が第1のマルチプレクサの出力に現れる中央
    処理装置の1つからのデータと、共用メモリモジュール
    からのメモリデータとを含む請求項27に記載の装置。
  29. 【請求項29】  資源検査論理要素が、第1のマルチ
    プレクサからの出力を入力として受ける命令デコーダと
    、  命令デコーダの出力を入力の1つとし、共用メモ
    リのモジュールのステータスを示す装置の出力を別の入
    力とする命令及び資源検査モジュールと、  “スヌー
    ピーヒットシャドウ”を生成するタイミング回路とを含
    む請求項28に記載の装置。
  30. 【請求項30】  複数の中央処理装置と、共用メモリ
    と、少なくとも中央処理装置とメモリとの合計数と同数
    の複数の入力を受け、これらの入力の少なくとも1つを
    出力に結合する組み合わせ論理要素と、どの入力を出力
    に供給するかを制御する仲裁論理要素と、メモリ入力を
    組み合わせ論理要素に供給し、また組み合わせ論理要素
    からメモリ出力を受けるメモリ制御装置とを含む中央装
    置と、各々が各中央処理装置を組み合わせ論理要素の1
    つの入力に結合する複数の第1の単方向二地点間バスと
    、メモリをメモリ制御装置に結合する第1の単方向メモ
    リバスと、  組み合わせ論理要素の出力を中央処理装
    置に結合する複数の第2の単方向二地点間バスと、メモ
    リの出力をメモリ制御装置に結合する第2の単方向メモ
    リバスとを具備することを特徴とする装置。
  31. 【請求項31】  組み合わせ論理要素が、中央処理装
    置からの第1のバスを入力とし、出力をメモリ制御装置
    へ供給する第1段の組み合わせ論理要素と、第1段の組
    み合わせ論理要素の出力とメモリ制御装置の出力とを入
    力とし、複数の中央処理装置に結合されている第2のバ
    スに出力を供給する第2段の組み合わせ論理要素との2
    段の組み合わせ論理要素を備えている請求項30に記載
    の装置。
  32. 【請求項32】  第1段の組み合わせ論理要素が第1
    のマルチプレクサを備え、第2段の組み合わせ論理要素
    が第2のマルチプレクサを備え、仲裁論理要素がこれら
    のマルチプレクサを制御する論理要素を備えている請求
    項31に記載の装置。
  33. 【請求項33】  複数のバス要素が結合される高速バ
    スを実現する方法であって、(a)バス要素から中央装
    置へ向かう方向を有する分離した第1の単方向バスによ
    って各バス要素を中央装置に結合する段階と、  (b
    )中央装置への第1のバス入力の1つを出力として選択
    する段階と、  (c)中央装置からバス要素へ向かう
    方向を有する第2の単方向バスによって上記出力を各バ
    ス要素に結合する段階とを具備することを特徴とする方
    法。
  34. 【請求項34】  バス要素が、複数の中央処理装置と
    共用メモリとを含む請求項33に記載の方法。
  35. 【請求項35】  選択段階が、中央処理装置からの第
    1のバス上の入力と、メモリからのバス上の入力の何れ
    かを選択することをも含む請求項34に記載の方法。
  36. 【請求項36】  中央処理装置がメモリへのアクセス
    を要求する命令を出力し、各命令にはアドレス、データ
    及び付加命令の全てもしくは何れかが後続し、さらに、
    3語までの出力を中央装置の中央処理装置によって記憶
    する段階と、  記憶した命令を出力に供給し、爾後の
    サイクルに中央装置に記憶した付加語を出力上に供給す
    ることによって中央処理装置入力の1つに対するアクセ
    ス承認を含む中央装置の出力バスへのアクセスを仲裁す
    る段階と、  記憶した全ての語が次のサイクル及び爾
    後のサイクルに出力上に供給された後は、中央処理装置
    からのどの入力語も直接出力上に供給させる段階をも含
    み、複数の語を中央装置内に記憶することによって、一
    旦中央処理装置がバスへのアクセスを承認されると、不
    動作時間を生ずることなくデータの連続した流れが得ら
    れる請求項36に記載の装置。
JP13918791A 1990-06-29 1991-06-11 高速バス装置 Pending JPH04280347A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US54654790A 1990-06-29 1990-06-29
US546547 1990-06-29

Publications (1)

Publication Number Publication Date
JPH04280347A true JPH04280347A (ja) 1992-10-06

Family

ID=24180912

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13918791A Pending JPH04280347A (ja) 1990-06-29 1991-06-11 高速バス装置

Country Status (5)

Country Link
EP (1) EP0464708B1 (ja)
JP (1) JPH04280347A (ja)
AU (1) AU636739B2 (ja)
CA (1) CA2042711A1 (ja)
DE (1) DE69129566T2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003296267A (ja) * 2002-04-02 2003-10-17 Nec Electronics Corp バスシステム及びバスシステムを含む情報処理システム
KR100464036B1 (ko) * 2002-09-07 2005-01-03 엘지전자 주식회사 멀티프로세서의 정보 교환 장치
JP2006085732A (ja) * 2005-11-04 2006-03-30 Nec Electronics Corp バスシステム及びバスシステムを含む情報処理システム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2285524B (en) * 1994-01-11 1998-02-04 Advanced Risc Mach Ltd Data memory and processor bus
US5754865A (en) * 1995-12-18 1998-05-19 International Business Machines Corporation Logical address bus architecture for multiple processor systems
FR2759472B1 (fr) * 1997-02-12 1999-05-07 Thomson Csf Registre semaphore rapide a fonctionnement securise sans protocole de bus specifique
US6732255B1 (en) * 1999-09-15 2004-05-04 Koninklijke Philips Electronics N.V. Can microcontroller that permits concurrent access to different segments of a common memory by both the processor core and the DMA engine thereof
CN114036091B (zh) * 2021-10-30 2023-06-16 西南电子技术研究所(中国电子科技集团公司第十研究所) 多处理器外设复用电路及其复用方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3340123A1 (de) * 1983-11-05 1985-05-15 Helmut Dipl.-Inform. 5860 Iserlohn Bähring Kommunikationseinheit zur kopplung von mikrorechnern
EP0257061A1 (en) * 1986-02-10 1988-03-02 EASTMAN KODAK COMPANY (a New Jersey corporation) Multi-processor apparatus
JPH02115962A (ja) * 1988-10-26 1990-04-27 K S D:Kk コンピュータ装置とその周辺装置との接続方式

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003296267A (ja) * 2002-04-02 2003-10-17 Nec Electronics Corp バスシステム及びバスシステムを含む情報処理システム
US7337260B2 (en) 2002-04-02 2008-02-26 Nec Electronics Corporation Bus system and information processing system including bus system
KR100464036B1 (ko) * 2002-09-07 2005-01-03 엘지전자 주식회사 멀티프로세서의 정보 교환 장치
JP2006085732A (ja) * 2005-11-04 2006-03-30 Nec Electronics Corp バスシステム及びバスシステムを含む情報処理システム

Also Published As

Publication number Publication date
AU636739B2 (en) 1993-05-06
CA2042711A1 (en) 1991-12-30
DE69129566D1 (de) 1998-07-16
EP0464708B1 (en) 1998-06-10
AU7528191A (en) 1992-03-26
DE69129566T2 (de) 1998-12-17
EP0464708A1 (en) 1992-01-08

Similar Documents

Publication Publication Date Title
US7668997B2 (en) High speed bus system that incorporates uni-directional point-to-point buses
US5003465A (en) Method and apparatus for increasing system throughput via an input/output bus and enhancing address capability of a computer system during DMA read/write operations between a common memory and an input/output device
US5168547A (en) Distributed architecture for input/output for a multiprocessor system
US4481572A (en) Multiconfigural computers utilizing a time-shared bus
EP0834816B1 (en) Microprocessor architecture capable of supporting multiple heterogenous processors
KR100420707B1 (ko) 가변폭버스의동시적인액세스를이용하는다중프로세서시스템에서버스중재를위한방법및시스템
US8082378B1 (en) Master and slave side arbitrators associated with programmable chip system components
US6088753A (en) Bus arrangements for interconnection of discrete and/or integrated modules in a digital system and associated method
US5404464A (en) Bus control system and method that selectively generate an early address strobe
CA1216366A (en) Data processing system architecture
AU598857B2 (en) Move-out queue buffer
EP1189132B1 (en) Shared peripheral architecture
KR100296718B1 (ko) 다중프로세서 시스템에서 가변폭 버스를 동시에 액세스하기 위한 방법 및 시스템
US5202973A (en) Method of controlling a shared memory bus in a multiprocessor system for preventing bus collisions and for ensuring a full bus
US5634076A (en) DMA controller responsive to transition of a request signal between first state and second state and maintaining of second state for controlling data transfer
JPH0797363B2 (ja) 多重階層レベルマルチプロセツサ装置
KR19990029295A (ko) 가변폭 버스의 동시적인 액세스를 이용하는 다중프로세서시스템에서 i/o 제어를 위한 방법 및 시스템
JP2002140289A (ja) 調整可能ワード・サイズ転送とアドレス配列/増加を備えたマイクロコントローラdmaオペレーション
US20020199052A1 (en) System and method for controlling bus arbitration during cache memory burst cycles
JPS60246460A (ja) デジタルコンピユ−タ−システムで交信路の制御を割当てる調停機構
KR100644596B1 (ko) 버스 시스템 및 그 버스 중재방법
EP1069509A2 (en) Improvements in or relating to microprocessors
KR100708096B1 (ko) 버스 시스템 및 그 실행 순서 조정방법
JPH04280347A (ja) 高速バス装置
US6801985B1 (en) Data bus using synchronous fixed latency loop including read address and data busses and write address and data busses