JP2001325212A - マルチプロセッサシステムにおけるソースプロセッサから宛先プロセッサにデータブロックを送信する方法と装置 - Google Patents

マルチプロセッサシステムにおけるソースプロセッサから宛先プロセッサにデータブロックを送信する方法と装置

Info

Publication number
JP2001325212A
JP2001325212A JP2001092257A JP2001092257A JP2001325212A JP 2001325212 A JP2001325212 A JP 2001325212A JP 2001092257 A JP2001092257 A JP 2001092257A JP 2001092257 A JP2001092257 A JP 2001092257A JP 2001325212 A JP2001325212 A JP 2001325212A
Authority
JP
Japan
Prior art keywords
block
processor
data
transmission
data block
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
JP2001092257A
Other languages
English (en)
Inventor
Bohdan Lew Bodnar
ルー ボドナー ボーダン
Neil Jerome Romy
ジェローム ロミー ニール
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.)
Nokia of America Corp
Original Assignee
Lucent Technologies Inc
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 Lucent Technologies Inc filed Critical Lucent Technologies Inc
Publication of JP2001325212A publication Critical patent/JP2001325212A/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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/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/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • G06F13/423Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with synchronous protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 マルチプロセッサシステムのソースプロセッ
サと宛先プロセッサとの間で、データブロックを送信す
る方法と装置を提供する。 【解決手段】 インテリジェントバス相互接続装置(I
BIU)が、自動装置として働き、ソースプロセッサに
より与えられた制御ブロックを用いてソースプロセッサ
からのインストラクションを受領し、このインストラク
ションを宛先プロセッサに与える。IBIUは、関連す
る制御ブロックのコンテンツにより記述されたデータブ
ロックの情報を受領し、そしてこのデータブロックをそ
れに関連する制御ブロックと共に宛先プロセッサに送
る。データブロックは、複数の優先度のレベルのうちの
いずれかの1つを用いて送信される。データブロックを
送信するプロセスは一連のサブブロックを送信するプロ
セスに分解される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マルチプロセッサ
システムにおける複数のプロセッサを相互に接続する方
法と装置に関する。
【0002】
【従来の技術】本発明のシステムは、全てのプロセッサ
によりアクセス可能な共用メモリあるいは中央バスを使
用せずに動作する。マルチプロセッサシステムにおいて
は、あるプロセッサのメモリから別のプロセッサのメモ
リに、情報ブロックを転送する必要がしばしば生じる。
共用メモリあるいは中央バスを利用しないことにより、
アクセス処理により影響されるプロセッサは、情報を伝
送することによる長い相互作用の影響を受けず、システ
ムの効率を大幅に上げることができる。
【0003】あるプロセッサから別のプロセッサに情報
ブロックを伝送する一般的な構成は、送信側プロセッサ
と受信側プロセッサによりアクセス可能な共用メモリあ
るいは中央バスを用いることである。これらの各構成は
ある種の問題点を有し、そしてそれを本発明により解決
できる。
【0004】共用メモリを使用する際の問題点は、付属
の装置がない場合には、あるプロセッサが共用メモリを
使用しているときには、別のプロセッサはそのメモリに
アクセスすることができない点である。これにより、使
用が拒否されたプロセッサは、共用メモリへのアクセス
が許可されるまで、自己のタスクの完了をすることがで
きない。さらにまた使用を拒否されているプロセッサに
より発生した待ち状態は、好ましくないメッセージ遅延
をさらにまた遅延させてしまう。
【0005】中央バスを使用することに伴う問題点は、
中央バスを使用しているデバイスは、アクセスに対し待
ち状態にいなければならない点である。これは、共用メ
モリを使用することと同様、この待ち状態により、さら
に追加的なメッセージ遅延を引き起こし、待ち状態にあ
るプロセッサを停止させる。さらに重い負荷状態におい
ては、中央バスは十分なバンド幅を提供できず、中央バ
スを共用する全てのプロセッサにより転送されるデータ
の全てをサポートすることができない。これにより再び
ブロック状態および待ち状態が発生し、負荷が中央バス
のバンド幅以下となるまで、さらに余分でかつ不要なメ
ッセージ遅延が発生する。
【0006】上記の問題点は、FIFOバッファを採用
して、送信された情報を受信側プロセッサが読み込むこ
とができるようになるまで、そして選択的事項として受
信側メモリに記憶されるまで、この送信された情報を記
憶することにより一部は解決することができる。複数の
FIFOバッファのそれぞれは、入力プロセッサから入
力バスを介して入力情報を受領する。そしてそれ以降、
各複数のFIFOバッファは、受信側プロセッサにより
読み込まれた情報を有する。これにより送信側プロセッ
サをブロックする問題を解決できるが、依然としていく
つかの問題は残りあるいはこの構成の結果として別の問
題が発生する。第1の問題点は、メッセージの送信の完
了の前に、低優先度のメッセージの送信を一時的に中断
して、高優先度のメッセージを送信するという面倒さで
ある。第2の問題点は、受信側プロセッサは、FIFO
が受信側プロセッサ用の情報を含んでいると決定するた
めに、FIFOあるいはFIFO状態レジスタをポーリ
ングしなければならない点である。あるいは、FIFO
構成は、受信側プロセッサに対し中断指令を発しなけれ
ばならない点である。
【0007】第3の問題点は、ポーリングベースあるい
は中断ベースの構成が使用されているか否かに関わら
ず、受信側プロセッサは、FIFOの出力からデータを
読み出さなければならず、そしてこのデータを処理する
かあるいはこのデータをメモリに転送するかしなければ
ならない点である。このような操作は、さらにメッセー
ジを受信側プロセッサが同一のFIFOを介して受信す
る前にとらなければならない。さらにまた、複数の優先
度のFIFOを用いない場合には、メッセージを受信し
ないことは、より高い優先度のメッセージを受信しない
ことを意味する。複数の優先度を有するFIFOを用い
た場合には、このような操作をとらないと、その優先レ
ベルのメッセージを受信することができなくなる。第4
の問題点は、マルチキャスティングすることが、すなわ
ち特定のメッセージを複数の受信側プロセッサに送信す
ることが困難な点である。複数の受信側メッセージ用
に、複数のFIFOのそれぞれにメッセージを順番に書
き込むことによりメッセージを送信する簡単な構成は、
非効率的で送信速度が遅くなる。
【0008】米国特許第4543627号に開示された
従来構成においては、プロセッサインタフェース装置
が、送信側プロセッサと各複数の受信側プロセッサとの
間に配置され、各受信側プロセッサが別々の場所に接続
されるか、あるいはこの別々の場所にそれぞれ接続され
た複数のプロセッサのハブに接続される。この構成で
は、インタリーブされた方法で複数の優先度のメッセー
ジを送信する問題は解決できず、またアクセスバスを共
用する複数のプロセッサの問題も解決できない。さらに
また、送信側プロセッサはメッセージの長さを知ってい
る必要もある。
【0009】
【発明が解決しようとする課題】したがって従来の構成
は、マルチプロセッサシステムの複数のプロセッサ(こ
れらの複数のプロセッサが少なくとも1本のバスあるい
は共用メモリを共有する)の間で、様々な優先度を有す
るメッセージを大量に送信できる効率的な方法は開示さ
れていない。従って、本発明の目的は、様々な優先度を
有するメッセージを大量に送信できる効率的な方法を提
供することである。
【0010】
【課題を解決するための手段】本発明によれば、インテ
リジェントバス相互接続装置(intelligent bus interc
onnnect unit:IBIU)は、自動構成要素として機能
し、ソースプロセッサにより与えられる制御ブロックを
用いて、ソースプロセッサからインストラクションを受
領し、そしてこのインストラクションを宛先プロセッサ
に送り、そしてソースプロセッサと宛先プロセッサの少
なくとも一方のプロセッサが、他のプロセッサおよび/
または共用メモリと、メモリアクセスを共用する。その
後、インテリジェントバス相互接続装置は、ソースプロ
セッサから関連する制御ブロックにより記述されたデー
タブロックを受領し、このデータブロックとその関連制
御ブロックを宛先プロセッサに送る。インストラクショ
ンは、メッセージの優先レベルを規定し、高優先レベル
のメッセージは、低優先レベルのメッセージの送信を中
断させる。ソースプロセッサは、インテリジェントバス
相互接続装置に小さな制御ブロックのコンテンツを介し
て、要求されたメッセージ伝送アクションを記述し、そ
してインテリジェントバス相互接続装置は、宛先プロセ
ッサにこの同じコンパクトな形式で同一の詳細情報を通
知することができる。
【0011】本発明の一実施例によれば、データブロッ
クは、出力バス上の選択された複数のプロセッサにマル
チキャスティングされる。このマルチキャスティングメ
ッセージは、IBIUに送信されると、並列あるいは直
列の選択された複数の受信側プロセッサで受け入れられ
る。好ましいことにこの構成は、マルチキャスティング
機能を実行する効率的な方法である。
【0012】本発明の一実施例においては、送信状態
(送信完了あるいは送信エラー)は、インテリジェント
バス相互接続装置により決定され、ソースプロセッサに
戻され、必要によっては宛先プロセッサにも送られる。
この構成により再伝送を要求する効率的な方法が得られ
る、あるいはソースプロセッサに対しデータブロック伝
送が完了したことを通知できる。本発明により受領確認
転送あるいは受領未確認転送の両方が可能となる。
【0013】本発明の一実施例によれば、ソースプロセ
ッサは、メッセージが送信されるべき宛先プロセッサの
宛先アドレスを知っている。初期化プロセスにおいて
は、既知(デフォルト)のアドレスが宛先アドレスとし
て用いられる。その後、各ブロック転送に続いて受領確
認、あるいはある時間の経過後、新たなアドレスがソー
スプロセッサから取り出される。この構成により各デー
タブロックを伝送するために適宜のエリアを見いだすた
めに、2つのプロセッサ間のネゴシエーションプロセス
を回避できる。
【0014】別法として、ソースプロセッサと宛先プロ
セッサとの間のネゴシエーションを用いて、データブロ
ックが送信されるアドレスを割り当てる。このような構
成により、受信バッファサイズのダイナミックな調整が
可能となる。
【0015】本発明の一実施例によれば、マスターCP
Uは、メッセージを複数の周辺制御用CPUに送る。本
発明の構成により、制御メッセージを周辺制御用CPU
に送る際に、マスターCPUのオーバーヘッドを最小に
できる。このようなオーバーヘッドの減少により、ある
プロセッサから別のプロセッサに情報を送信する行為
(act)は、送信側がメッセージの伝送を活性的にモニ
タしたり、あるいは連続的に関係することを必要とせ
ず、この行為はIBIUにより行われる。送信側プロセ
ッサは、メッセージ伝送メカニズムの設定と、メッセー
ジが送信されたか、あるいは送信が失敗したかの通知を
受領することだけに関連する。受信側においては、受信
側プロセッサのアクティビティは、新たなメッセージが
到達した通知を受領することから成り立っている。さら
にまた、信頼できる伝送を送信側プロセッサが要求し、
そしてメッセージの伝送が失敗した場合には、受信側プ
ロセッサは、このメッセージの伝送を試みたことは通知
されない。
【0016】本発明の他のアプリケーションにおいて
は、IBIUは、大きなインターネットプロトコル(I
P)ルータの中央ルーティングデータベースから、個々
のIPパケットのルーティング機能を実行する、個々の
ラインカードへのルーティング更新情報を送信するため
に用いられる。頻繁にIPルータ更新メッセージを更新
するためのオーバーヘッドは、この種類のシステムとし
ては最小となる。
【0017】
【発明の実施の形態】図1は、ソースプロセッサから宛
先プロセッサへのメッセージの伝送の1つの方向を示す
ブロック図である。本明細書で使用される用語「プロセ
ッサ」は、CPUおよびこのCPUに関連するRAMメ
モリとを有する。さらに複数のCPUにアクセス可能
な、通常大きなRAMも有する。この場合、プロセッサ
10とRAM11を有するプロセッサが、メッセージを
プロセッサ12とRAM13を有するプロセッサに送る
ことを試みる。RAM11はバス50を介して例えばイ
ンテリジェントバス相互接続装置(IBIU)1に接続
された入力バスに接続され、このバス50がRAM13
に接続されたバス52に出力を与える。インテリジェン
トバス相互接続装置(IBIU)1は、IBIUの動作
を制御する制御装置2と、バス50の出力を通り、複数
のFIFO待ち行列の1つに送信するディマルチプレク
サ(マルチプレクサ/ディマルチプレクサ)3を有す
る。IBIUは少なくとも2つのFIFO、すなわち高
優先度メッセージのFIFOである高優先度FIFO4
と、低優先度メッセージである低優先度FIFO5を有
する。さらに中間の優先メッセージFIFOをIBIU
1に追加することも可能である。
【0018】FIFOの出力は、DMAコントローラ6
に与えられ、そしてメッセージをバス52に送信し、か
つ宛先プロセッサメモリのどのメモリに特定のメッセー
ジがルーティングされるか、そしてメッセージの連続す
るバイトを宛先RAMの連続バイトにローディングする
アドレスのシーケンスを制御する。DMAコノトローラ
6は信号を宛先バスのアービタ(図示せず)に送り、R
AMを捕獲し、RAMにローディング(記憶)し、そし
てRAMを解放する。
【0019】DMAコントローラはバス53に接続さ
れ、そしてこのバス53がRAM15を含む別のプロセ
ッサ14に接続されている。さらにまた、バス52はR
AM17を含む別のプロセッサ16に接続され、そして
大きなRAM18に接続され、これはプロセッサ12と
プロセッサ16にアクセス可能である。かくしてDMA
コントローラ6は、複数のプロセッサにより共用される
バスにアクセスでき、かつ複数のバスにアクセスでき
る。
【0020】制御装置2は3個のFIFOにアクセスす
る。すなわち、この3個のFIFOは、ソースプロセッ
サからのコマンドを受け入れるコマンドFIFO21
と、IBIUからソースプロセッサに応答を送る応答F
IFO22と、宛先プロセッサに対しブロックがそのプ
ロセッサに転送されることを通知する完了ジョブFIF
O23である。
【0021】マルチキャスト、すなわちブロードキャス
トブロック転送の場合には、IBIUは、ソースプロセ
ッサからブロックを受領し、このブロックを順番にマル
チキャストアドレス、あるいはブロードキャストアドレ
スにより特定された宛先プロセッサに送る。
【0022】本発明の重要な要点は、メッセージ伝送の
設定を制御するための制御ブロックの使用である。プロ
セッサ10とRAM11からなるプロセッサが、メッセ
ージをプロセッサ12とRAM13からなるプロセッサ
に送信する場合には、それはデータブロック32を送信
するよう制御ブロック30を整える。この制御ブロック
は、データブロックの長さ36と、優先度37と、デー
タブロックが記憶されるべき宛先アドレス38(これは
このアドレスが見いだされるべきプロセッサの識別子)
と、このブロックの情報の転送状態39を特定する情報
を含む。状態は、伝送が完了したか否かを表し、伝送が
完了し、高信頼性が必要とされるメッセージのある場合
には、エラーが存在しない否かを表す。高信頼性のメッ
セージに対しては、ブロックは「サブブロック」と称す
る量で送信される。
【0023】本発明の一実施例においては、ブロック全
体は、適宜の優先度のFIFOにローディング(記憶)
され、サブブロックの形式で宛先プロセッサに送られ
る。各サブブロックが送信された後、このサブブロック
は受信側プロセッサからIBIUで読み出され、そして
呼び出されたサブブロックが送信側のFIFOに記憶さ
れたものと一致すると、次のサブブロックの伝送が始ま
る。一致しない場合には、受信側プロセッサと送信側プ
ロセッサには、この送信が失敗したことが通知される。
マルチキャトあるいはブロードキャストメッセージに対
しては、制御ブロック30へのアペンディックスは、情
報が送信されるべきマルチキャト/ブロードキャストア
ドレスを含む(ブロック40)。
【0024】インテリジェントバス相互接続装置(IB
IU)1の様々なブロックを使用することは、メッセー
ジを送信するプロセスを記述する図2−5を用いて理解
することができる。この場合メッセージは、プロセッサ
(ソースプロセッサ)10からプロセッサ(宛先プロセ
ッサ)12に送信されるものとする。このプロセスは、
ソースプロセッサがメッセージの蓄積を完了したときに
開始する(ステップ201)。ソースプロセッサ10は
メッセージに対し制御ブロックを作成する(ステップ2
03)。テストステップ205を用いて、IBIUがコ
マンドを受け入れることができるか否かを決定する。一
般的にこのテストは、IBIUのコマンドFIFOに空
きメモりが存在するか否かを見るためのテストである。
IBIUがコマンドを受領できないときには、ソースプ
ロセッサは再度トライするよう待機して(ステップ20
7)、その後テストステップ205を繰り返す。本発明
の実施例においては、送信側プロセッサとFIFOとの
間の比較は必要ではない。他の実施例においてはこの比
較プロセスを実行することもできる。
【0025】IBIUがコマンドを受け入れることがで
きた場合には、制御ブロックのアドレスはIBIUのコ
マンドFIFOに書き込まれる(ステップ211)。I
BIUはその後、ソースプロセッサからのデータブロッ
クを適宜の優先度のFIFOにコピーする(ステップ2
13)。高優先度のメッセージは、高優先度FIFOに
行き、低優先度のメッセージは低優先のFIFOに行
き、他のものは複数の中間優先度のFIFOの1つに行
く。テストステップ215を用いて、FIFOがオーバ
ーフローしているか否かを決定する。オーバーフローし
ていない場合には、テストステップ217を用いて高優
先度のコピーが進行中であるか否かを決定する。高優先
度のコピーが進行中の場合には、テストステップ219
を用いてソースプロセッサは新たなコマンドをコマンド
FIFOに書き込んだか否かを決定する。書き込んでい
ない場合には、テストステップ217は、これ以上の高
優先コピーが進行中でなくなるまで繰り返す。新たなコ
マンドが書き込まれた場合には、ステップ211が新た
なメッセージを取りに行く。
【0026】高優先度のコピーが進行中でない場合に
は、テストステップ217のテスト結果がNO(否定
的)の場合には、テストステップ301を用いて低優先
度のコピーが進行中であるか否かを決定する。進行中の
場合には、IBIUは、コピー動作を終了するために、
サブブロックを待つ(ステップ303)。そして低優先
度の作業を中止する(ステップ305)。その後ステッ
プ205に続いて、あるいはテストステップ301のテ
スト結果がNO(すなわち、低優先度のコピーが進行中
ではない)に続いてステップ307に入る。ステップ3
07は、IBIUから宛先RAMへサブブロックを動か
す。
【0027】テストステップ309を用いて、信頼性が
必要とされる伝送が要求されているか否かを決定する。
要求されている場合には、図4について以下の動作が実
行され(ステップ411から始まる)、そしてメッセー
ジはサブブロックの形式で送信される。信頼性が必要と
される伝送がこのブロックに対して要求されていない場
合には、テストステップ311を用いて完全なブロック
のコピーが行われたか否かを決定する。完全なブロック
がコピーされた場合には、図5の動作が行われる。完全
なブロックがコピーされなかった場合には、テストステ
ップ313を用いて、高優先度の作業が要求されたか否
かを決定する。高優先度の作業が要求されている場合に
は、現ブロックのコピーを中止する。ステップ315、
あるいはテストステップ313のNOのテスト結果に続
いて、サブブロックを宛先プロセッサに移すためのステ
ップ307が再度行われる。言い換えると、伝送が先取
りされる、すなわち優先度のベースで行われる。
【0028】この実施例においては、高優先度の作業が
開始する前に、サブブロックの伝送が完了する(ステッ
プ303を参照のこと)。他の実施例においては、低優
先度のブロックの伝送は、バイト、あるいはワードの伝
送の後中止される。この種の構成は、高優先度のリクエ
ストのハードウェアによる検出が必要とされる。
【0029】図4は、データFIFOがオーバーフロー
した場合(ステップ401)、あるいは信頼性が必要と
される伝送がこのメッセージに対し必要とされた場合
(ステップ411)に行われる動作に関する。FIFO
がオーバーフローしている場合には、ソースプロセッサ
の制御ブロックの状態部分は、データFIFOに空きメ
モリが存在しないことを表す「失敗」がマークされる。
制御ブロックのアドレスは、応答FIFOに書き込まれ
る(ステップ403)。その後ソースプロセッサは中断
され(ステップ405)、応答FIFOのエントリーは
ソースプロセッサがそれを読み出したときにクリアされ
る(ステップ407)。これはこのプロセスの終了であ
る(ステップ409)。
【0030】信頼性が要求される伝送が要求された場合
には、サブブロックは宛先プロセッサから読み出され、
FIFOのコンテンツと比較される(ステップ41
1)。テストステップ413を用いて、2つのサブブロ
ックがマッチするか否かが決定される。マッチする場合
には、テストステップ311を行い(図3)、そしてこ
れが最後のサブブロックであるか否かが決定され、最後
のブロックでない場合にはさらなるコピー動作を開始さ
れる。テストステップ413で一致が見いだされない場
合には、これは、コピーを適切に行うことを失敗したこ
とを表し、制御ブロックは書き込み失敗を表す「故障」
をマークする(ステップ415)。その後ステップ40
3に入り、ソースプロセッサに失敗を通知する。
【0031】図5は、ブロックの伝送が完了した後行わ
れる動作を表す。制御ブロックの状態は「完了」として
マークされ(ステップ501)、そして制御ブロックの
アドレスを応答FIFOに記憶される(ステップ50
3)。ソースプロセッサが中断される(ステップ50
5)。完了ジョブFIFO23を用いて宛先プロセッサ
に通知する(応答FIFO22と同様に動作する)。完
了ジョブFIFO23のエントリーは、ソースプロセッ
サが、このアドレスを読み出したときにクリアされる
(ステップ507)。テストステップ509を用いて、
高優先度の作業が入ったか否かを決定し、テストステッ
プ511を用いて、より多くの同一の優先度の作業が入
手可能であるか否かを決定し、いずれの場合にもステッ
プ307に入り、別のサブブロックを移動させる。テス
トステップ509と511の両方ともNOの場合には、
テストステップ513を用いて、中断した低優先度作業
のいずれかがIBIU内にあるか否かを決定する。ない
場合には、これはプロセスの終了である(ステップ51
7)。中断したり、待ち状態にある低優先度作業が存在
する場合には、この中断したあるいは待ち状態にある低
優先度作業を図3のステップ307に入ることにより再
開する(ステップ515)。
【0032】特許請求の範囲に発明の構成要件の後の括
弧内の符号が記載されている場合は、構成要件と実施例
と対応づけて発明を容易に理解させる為であり、特許請
求の範囲の解釈に用いるべきのものではない。
【図面の簡単な説明】
【図1】マルチプロセッサシステムの一方向の伝送を示
すブロック図。
【図2】本発明の方法を表すフローチャート図。
【図3】本発明の方法を表すフローチャート図。
【図4】本発明の方法を表すフローチャート図。
【図5】本発明の方法を表すフローチャート図。
【符号の説明】
1 インテリジェントバス相互接続装置(IBIU) 2 制御装置 3 マルチプレクサ/ディマルチプレクサ 4 高優先度FIFO 5 低優先度FIFO 6 DMAコントローラ 10、12、14、16 プロセッサ 11、13、15、17、18 RAM 21 コマンドFIFO 22 応答FIFO 23 完了ジョブFIFO 30 制御ブロック 32 データブロック 36 データブロックの長さ 37 優先度 38 宛先アドレス 39 転送状態 40 マルチアドレス、ブロードキャストアドレス 50、52 バス
───────────────────────────────────────────────────── フロントページの続き (71)出願人 596077259 600 Mountain Avenue, Murray Hill, New Je rsey 07974−0636U.S.A. (72)発明者 ニール ジェローム ロミー アメリカ合衆国、60532 イリノイ州、ラ イル、ブレッケンリッジ ロード 6666

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】 マルチプロセッサシステムにおいて、ソ
    ースプロセッサから宛先プロセッサにデータブロックを
    伝送する方法において、 (A)ソースプロセッサ内で制御ブロックを用意するス
    テップと、 (B)前記制御ブロックを読み出すために、前記ソース
    プロセッサからインテリジェントバス相互接続装置(I
    BIU)に情報を送信するステップと、 (C)前記インテリジェントバス相互接続装置のFIF
    Oメモリから、前記データブロックの情報を、前記宛先
    プロセッサに送信するステップと、を有し、 前記(B)ステップで、前記インテリジェントバス相互
    接続装置は、前記制御ブロックを読み出し、前記インテ
    リジェントバス相互接続装置は、前記データブロックの
    データを複数の異なる優先度のFIFOメモリのうちの
    適宜の1つにコピーし、 前記(C)ステップは、前記データブロックのサブブロ
    ックを送信するステップを含み、 前記インテリジェントバス相互接続装置は、前記データ
    ブロックの送信を完了する前に、送信中のデータブロッ
    クとは異なる高い優先度のデータブロックのデータを送
    信でき、 前記制御ブロックは、情報をインテリジェントバス相互
    接続装置に送り、前記ソースプロセッサからのデータブ
    ロックを読み出し、 前記制御ブロックは、前記データブロックを、前記宛先
    プロセッサに送信するために情報を与えることを特徴と
    するマルチプロセッサシステムにおけるソースプロセッ
    サから宛先プロセッサにデータブロックを送信する方
    法。
  2. 【請求項2】 前記(C)ステップは、前記データブロ
    ックのデータを宛先プロセッサに、前記インテリジェン
    トバス相互接続装置の直接メモリアクセス回路を用いて
    送信するステップを含むことを特徴とする請求項1記載
    の方法。
  3. 【請求項3】 (D)前記データブロックを宛先プロセ
    ッサに送信したことを完了したことを通知するために、
    前記ソースプロセッサを中断するステップをさらに有す
    ることを特徴とする請求項1記載の方法。
  4. 【請求項4】 前記宛先プロセッサは、前記データブロ
    ックの伝送の完了を通知するために中断することを特徴
    とする請求項1記載の方法。
  5. 【請求項5】 (E)前記データブロックの高信頼性が
    必要とされる伝送を行うステップをさらに有し、 前記(E)ステップは、前記インテリジェントバス相互
    接続装置内に記憶された情報と前記宛先プロセッサに書
    き込まれたデータを比較するステップを有し、 前記インテリジェントバス相互接続装置内のデータブロ
    ックのデータと、前記宛先プロセッサ内のデータとの間
    に一致が見いだせない場合には、前記ソースプロセッサ
    は、前記インテリジェントバス相互接続装置により、エ
    ラー状態が通知されることを特徴とする請求項1記載の
    方法。
  6. 【請求項6】 前記制御ブロックは、前記データブロッ
    クの長さと、データブロックの優先度と、前記データブ
    ロックに対する宛先プロセッサの宛先アドレスと、前記
    データブロックの伝送操作の状態に関連する情報を特定
    するデータを含むことを特徴とする請求項1記載の方
    法。
  7. 【請求項7】 前記制御ブロックは、前記制御ブロック
    が送信されるべき複数の宛先プロセッサのアドレスのリ
    ストを含み、 (F)前記データブロックを、前記複数の宛先プロセッ
    サのおのおのに、前記インテリジェントバス相互接続装
    置が送信するステップをさらに含むことを特徴とする請
    求項1記載の方法。
  8. 【請求項8】 低優先度のブロックの任意のサブブロッ
    クの伝送の完了の後、高優先度の伝送は低優先度のブロ
    ックの伝送を中断させることを特徴とする請求項1記載
    の方法。
  9. 【請求項9】 低優先度のブロックのバイト、ワード、
    拡張ワードの伝送が完了した後、高優先度の伝送は低優
    先度のブロックの伝送を中断させることを特徴とする請
    求項1記載の方法。
  10. 【請求項10】 マルチプロセッサシステムのソースプ
    ロセッサから宛先プロセッサの間で、複数のデータブロ
    ックを伝送する装置において、 (A)インテリジェントバス相互接続装置(IBIU)
    と、 前記インテリジェントバス相互接続装置は、データブロ
    ックを記憶する複数のFIFOメモリを有し、前記複数
    のFIFOメモリは異なる優先度のデータブロック用の
    FIFOメモリを含み、各FIFOメモリは唯一の優先
    度のデータブロックを記憶し、 (B)前記FIFOメモリのうちの1つあるいは複数の
    FIFOメモリを宛先プロセッサに記憶を制御する出力
    ポート直接メモリアクセス(DMAコントローラ)と、 (C)前記インテリジェントバス相互接続装置を制御す
    る制御装置と、 前記制御装置は、ソースプロセッサの制御ブロックを読
    み出し、前記ソースプロセッサはデータブロックを転送
    し、 前記制御ブロックの情報に基づいて、前記ソースプロセ
    ッサからのデータブロックのインテリジェントバス相互
    接続装置内の情報を獲得し、 前記制御ブロックの情報に基づいて、前記インテリジェ
    ントバス相互接続装置から、前記宛先プロセッサにデー
    タブロックの情報を送信し、 前記宛先プロセッサへの情報の送信ステップは、前記デ
    ータブロックのサブブロックを送信するステップを含
    み、高優先度のデータブロックは、低優先度の送信が完
    了する前に送信されることを特徴とするマルチプロセッ
    サシステムのソースプロセッサから宛先プロセッサの間
    で、複数のデータブロックを伝送する装置。
  11. 【請求項11】 前記インテリジェントバス相互接続装
    置は、データを、前記宛先プロセッサに送信するため
    に、直接メモリアクセス回路を有することを特徴とする
    請求項10記載の装置。
  12. 【請求項12】 前記インテリジェントバス相互接続装
    置は、前記データブロックの、前記宛先プロセッサへの
    伝送の完了を報告するために、前記ソースプロセッサを
    中断させる手段を含むことを特徴とする請求項10記載
    の装置。
  13. 【請求項13】 前記データブロックの伝送の完了を通
    知するために、前記宛先プロセッサを中断させる手段を
    さらに有することを特徴とする請求項10記載の装置。
  14. 【請求項14】 前記データブロックの高信頼性が必要
    とされる伝送を与える手段をさらに有し、 前記手段は、 前記インテリジェントバス相互接続装置内に記憶された
    情報と前記宛先プロセッサ内に書き込まれたデータを比
    較する手段と、 前記インテリジェントバス相互接続装置内のデータブロ
    ック内のデータと、前記宛先プロセッサ内のデータとの
    間に一致が見いだせない場合には、前記ソースプロセッ
    サに報告する手段と、を有することを特徴とする請求項
    10記載の装置。
  15. 【請求項15】 前記制御ブロックは、前記データブロ
    ックの長さと、データブロックの優先度と、前記データ
    ブロックに対する宛先プロセッサの宛先アドレスと、前
    記データブロックの伝送操作の状態に関連する情報を特
    定するデータを含むことを特徴とする請求項10記載の
    装置。
  16. 【請求項16】 前記制御ブロックは、前記ブロックが
    送信されるべき複数の宛先プロセッサのアドレスのリス
    トを含み、 前記インテリジェントバス相互接続装置はさらに、高優
    先度のブロックを送信するために、低優先度のブロック
    のいずれかのサブブロックの伝送が完了した後、低優先
    度のブロックの送信を中断させる手段を含むことを特徴
    とする請求項10記載の装置。
  17. 【請求項17】 低優先度のブロックのバイト、ワー
    ド、拡張ワードの伝送が完了した後、高優先度の伝送は
    低優先度のブロックの伝送を中断させることを特徴とす
    る請求項10記載の装置。
JP2001092257A 2000-03-30 2001-03-28 マルチプロセッサシステムにおけるソースプロセッサから宛先プロセッサにデータブロックを送信する方法と装置 Pending JP2001325212A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US53899000A 2000-03-30 2000-03-30
US09/538990 2000-03-30

Publications (1)

Publication Number Publication Date
JP2001325212A true JP2001325212A (ja) 2001-11-22

Family

ID=24149285

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001092257A Pending JP2001325212A (ja) 2000-03-30 2001-03-28 マルチプロセッサシステムにおけるソースプロセッサから宛先プロセッサにデータブロックを送信する方法と装置

Country Status (3)

Country Link
EP (1) EP1139228A2 (ja)
JP (1) JP2001325212A (ja)
KR (1) KR20010095103A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006260230A (ja) * 2005-03-17 2006-09-28 Japan Radio Co Ltd バス調停方法およびバス調停装置
US7289615B2 (en) 2001-01-10 2007-10-30 Matsushita Electric Industrial Co., Ltd. Private branch exchange and private branch exchange control method
JP2009031954A (ja) * 2007-07-26 2009-02-12 Nec Access Technica Ltd データ処理装置およびデータ転送方法
JP2013003966A (ja) * 2011-06-20 2013-01-07 Bosch Corp データ書き込み装置およびデータ書き込み方法
JP2013178688A (ja) * 2012-02-29 2013-09-09 Kyocera Document Solutions Inc 画像形成装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7289615B2 (en) 2001-01-10 2007-10-30 Matsushita Electric Industrial Co., Ltd. Private branch exchange and private branch exchange control method
JP2006260230A (ja) * 2005-03-17 2006-09-28 Japan Radio Co Ltd バス調停方法およびバス調停装置
JP2009031954A (ja) * 2007-07-26 2009-02-12 Nec Access Technica Ltd データ処理装置およびデータ転送方法
US7890672B2 (en) 2007-07-26 2011-02-15 Nec Access Technica, Ltd. Data processing apparatus and data transfer method
JP2013003966A (ja) * 2011-06-20 2013-01-07 Bosch Corp データ書き込み装置およびデータ書き込み方法
JP2013178688A (ja) * 2012-02-29 2013-09-09 Kyocera Document Solutions Inc 画像形成装置

Also Published As

Publication number Publication date
EP1139228A2 (en) 2001-10-04
KR20010095103A (ko) 2001-11-03

Similar Documents

Publication Publication Date Title
EP0674276B1 (en) A computer system
US5884040A (en) Per-packet jamming in a multi-port bridge for a local area network
US6882656B2 (en) Speculative transmit for system area network latency reduction
EP0391583B1 (en) Dual-path computer interconnect system with four-ported packet memory control
JP3165022B2 (ja) コンピュータ・システム及びメッセージ転送方法
JPH114256A (ja) 複数ノードの非同期データ通信システム内で早期到達メッセージを処理する方法
JP2008086027A (ja) 遠隔要求を処理する方法および装置
JP3127523B2 (ja) 通信制御装置およびデータ送信方法
US7564860B2 (en) Apparatus and method for workflow-based routing in a distributed architecture router
JP2002041449A (ja) バスシステム及びその実行順序の調整方法
US20080046694A1 (en) Multiprocessor system
US7315913B2 (en) CPU system, bus bridge, control method therefor, and computer system
US20020009098A1 (en) Communication control method and device
JPH117434A (ja) 複数ノードの非同期データ通信システム内で早期到達メッセージを処理するシステム
JP2001325212A (ja) マルチプロセッサシステムにおけるソースプロセッサから宛先プロセッサにデータブロックを送信する方法と装置
JPH07262151A (ja) 並列プロセッサシステムおよびそれに適したパケット廃棄方法
JP4104939B2 (ja) マルチプロセッサシステム
US20040230717A1 (en) Processing device
JP2000224208A (ja) パケット転送制御装置及びパケット転送方法
JP2943710B2 (ja) バッファのビジー制御方式
JP2000022728A (ja) ネットワーク装置
JP2715815B2 (ja) デ−タ書き込み方法
JPH0530138A (ja) マルチメデイア転送方式
JPH09269936A (ja) リモートリード処理方法およびその装置
KR100205055B1 (ko) 송신 연결망 인터페이스에서의 긴급 메시지 송신 제어 방법