JP2002342295A - マルチプロセッサシステム - Google Patents

マルチプロセッサシステム

Info

Publication number
JP2002342295A
JP2002342295A JP2001145741A JP2001145741A JP2002342295A JP 2002342295 A JP2002342295 A JP 2002342295A JP 2001145741 A JP2001145741 A JP 2001145741A JP 2001145741 A JP2001145741 A JP 2001145741A JP 2002342295 A JP2002342295 A JP 2002342295A
Authority
JP
Japan
Prior art keywords
bus
processor
data
multiprocessor system
processors
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.)
Granted
Application number
JP2001145741A
Other languages
English (en)
Other versions
JP3925105B2 (ja
Inventor
Hideyuki Shimonishi
英之 下西
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2001145741A priority Critical patent/JP3925105B2/ja
Publication of JP2002342295A publication Critical patent/JP2002342295A/ja
Application granted granted Critical
Publication of JP3925105B2 publication Critical patent/JP3925105B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

(57)【要約】 【課題】 マルチプロセッサシステムにおいて、特にネ
ットワークノード装置内でパケット転送処理を行うオン
チップマルチプロセッサシステムにおいて、マルチプロ
セッサシステムが大規模化すると高速にプロセッサ間で
通信を行うことが困難である。これを解決する。 【解決手段】 1または複数の演算器を持つ複数のプロ
セッサ1−1〜1−4と、複数の演算器間を接続するバ
ス1−8〜1−10を有し、単一のバスに全てのプロセ
ッサを接続するのではなく、複数のバスにそれぞれ少数
のプロセッサを接続することで、同一のバスに接続され
たプロセッサ間では、該バスによってレジスタやメモリ
を介することなく演算器間で高速にデータ交換を行い、
異なるバスに接続されたプロセッサ間では、複数のバス
と複数のブリッジ1−5,1−6を介してデータ交換を
行うことにより、大規模なマルチプロセッサシステムに
おいても高速にプロセッサ間で通信を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はマルチプロセッサシ
ステムに関し、特にネットワークノード装置内でパケッ
ト転送処理を行うオンチップマルチプロセッサシステム
におけるプロセッサ間通信方式に関するものである。
【0002】
【従来の技術】半導体技術の進展により多くのプロセッ
サを1つの半導体上に集積することが可能となった。多
くのプロセッサを1つの半導体上に集積する一つの利点
として、プロセッサ間の通信に大きな帯域幅をとること
ができ、プロセッサ間の通信にかかる遅延時間を短縮で
きる点が挙げられる。プロセッサ間で通信を行う方式と
しては主に以下のような三方式が考えられる。
【0003】第一のプロセッサ間通信方式は、共有レジ
スタや共有キャッシュメモリや主記憶等の共有の記憶領
域を用いる方式である。あるプロセッサが共有の記憶領
域にデータを書き込むと、この記憶領域を共有する他の
プロセッサが該データを読み出すことで通信を行う。本
方式はマルチプロセッサシステムにおいて一般的に幅広
く用いられており、例えば、共有メモリを用いる例とし
ては、特開平2−244252号公報や特開平6−35
840号公報、特開平7−152647号公報等で示さ
れている方式がある。また、共有レジスタを用いる例と
しては、特開平10−78880号公報等で示される方
式がある。
【0004】第二のプロセッサ間通信方式は、プロセッ
サ間で直接データを送受信する方式である。例えば、各
プロセッサが夫々有するレジスタファイルをバスを用い
て相互に接続し、レジスタファイル間でレジスタデータ
をコピーする方式が特願平11−348545号明細書
で述べられている。
【0005】第三のプロセッサ間通信方式は、夫々のプ
ロセッサが持つ演算器間を直接結線する方式である。一
般的には、本方式はプロセッサ間の通信方式ではなく、
スーパースカラ型プロセッサやVLIW(Very Long In
struction Word)型プロセッサ内において、複数の演算
器間で演算途中のデータを交換する方式である。本方式
では、プロセッサ内の複数の演算器間、もしくは異なる
プロセッサの演算器間を直接メッシュに接続することに
より演算器間で高速にデータを交換することができる。
【0006】プロセッサ間で通信を行う際、前記第一の
方式の様に共有記憶領域を使用して通信を行う場合には
該記憶領域に対する複数のプロセッサからのアクセスを
調停し、また前記第二及び第三の方式の様にプロセッサ
もしくは演算器間を直接接続する場合には、接続のため
に使用するバスに対する複数のプロセッサからのアクセ
ス得ることを前提としており、実行時に競合が発生した
際には、アクセス要求するプロセッサのうち1つのプロ
セッサを選択して、このプロセッサにアクセスを許可
し、他のプロセッサに対してはアクセスを不許可とす
る。
【0007】第二のアクセス調停方式は、プロセッサを
固定されたタイミングで動作させ、予め競合が発生しな
いようなプログラムを与えておく方式である。本方式で
は、あらかじめコンパイラ等を用いてプログラムコード
の並べ替えを行うことにより、競合が発生しないプログ
ラムコードをプロセッサに与え、プロセッサは与えられ
たプログラムコードをコード並べ替え時に想定したタイ
ミングの通りに実行することにより、実行時にアクセス
競合を発生させない。但し、本方式では、プログラム並
び替え時に想定した動作タイミングと実行時の実際の動
作タイミングを厳密に一致させる必要があり、そのため
には、分岐やメモリアクセス等による実行の乱れを予測
してプログラムコードの並べ替えを行い、プロセッサの
ハードウエアは予測できない実行の乱れが発生しないよ
うに構成しておく必要がある。本方式を用いたプロセッ
サの例として特願平11−348545号明細書に開示
の技術が挙げられる。
【0008】
【発明が解決しようとする課題】第一の問題点は、前記
第一のプロセッサ間通信方式及び第二のプロセッサ間通
信方式において通信にかかる遅延、特にあるプロセッサ
で演算を行ってその結果を用いて他のプロセッサで演算
を行う場合のプロセッサ間の通信遅延が大きいことであ
る。前記第一の方式では、送信を行うプロセッサと受信
を行うプロセッサが共にアクセスできる記憶領域に一旦
データを書きこむ必要があるため、送信プロセッサの演
算器において演算されたデータが受信プロセッサの演算
器に到達するまで大きな遅延が発生する。
【0009】また、前記第二の方式においても、送信を
行うプロセッサは演算結果を一旦レジスタファイルに書
き込み、これを受信を行うプロセッサのレジスタファイ
ルに転送する必要があり、やはり演算器間では大きな遅
延が発生する。
【0010】第二の問題点は、前記第三のプロセッサ間
通信方式においてプロセッサ数及び演算器数を大きく出
来ない点である。本方式では、全ての演算器の出力を全
ての演算器の入力に接続する必要があるため、プロセッ
サ数及び演算器数の2乗の量の配線が必要となり、接続
できるプロセッサ及び演算器の数が少ない。
【0011】第三の問題点は、前記第一及び第二のプロ
セッサ間通信方式においてプロセッサ間の処理引継ぎに
時間がかかることである。前記方式においてはプロセッ
サ間でメモリ上のデータ及びレジスタ上のデータ、演算
器出力のデータはプロセッサ間で引き継ぐことが出来る
が、状態レジスタやプログラムカウンタの内容を引き継
ぐことは出来ない。そのため、プロセッサ間で処理を引
き継ぐ場合、状態レジスタ内の情報は一旦メモリもしく
は通常のレジスタに反映させて引継ぎを行い、引き継い
だプロセッサでは、前記メモリもしくは通常のレジスタ
の内容を調べて改めて状態レジスタを設定する必要があ
る。
【0012】また、プログラムカウンタに関しても同様
であり、あるプロセッサで処理が複数に分岐していてそ
れぞれの分岐先から処理の引継ぎを行う場合、引継ぎ元
のプロセッサはどの分岐の処理中であるかの情報を一旦
メモリもしくは通常のレジスタに反映させて引継ぎを行
い、引き継いだプロセッサでは前記メモリもしくは通常
のレジスタの内容を調べて改めて処理を分岐させる必要
がある。
【0013】第四の問題点は、第一のアクセス調停方式
が大規模なマルチプロセッシングに適さない点である。
本方式では、全てのプロセッサからのアクセス要求から
一つのプロセッサに対してアクセス許可を与えるため、
プロセッサ数が多くなるとアクセス調停の判断にかかる
遅延が大きくなり、またプロセッサからアクセス調停回
路までの物理的距離が長くなるため、プロセッサがアク
セス要求を出してから通信を開始するまでの遅延時間が
長くなる。そのため、プロセッサ数が増加するとプロセ
ッサ間の通信速度が低下するという問題がある。
【0014】第五の問題点は、第一のアクセス調停方式
が実時間処理に適さない点である。本方式では、実行中
に動的にアクセス調停を行うため、各処理に対する処理
時間を保証することが出来ない。そのため、パケット転
送処理おけるパケットスケジューリング処理等の非常に
厳密な実時間性を要求される処理を実現することが難し
い。
【0015】第六の問題点は、第二のアクセス調停方式
を用いた場合、処理内容によってはプログラムの実行効
率が低下する点である。同じ処理を単純に繰り返す処理
であれば共有資源に対するアクセス時刻を固定してもプ
ログラムの実行効率は低下しない。しかしながら、プロ
グラム内に分岐が多くその時々に応じて多様な処理を行
う場合には、全ての分岐パスにおいて共有資源へのアク
セスが競合しない様にプログラムコードを作成する必要
があり、分岐パス数が多くなるに従って無駄なアクセス
待ち時間が増加する。
【0016】パケット転送処理を例にすると、パケット
スケジューリング処理は同様の処理の繰り返し処理であ
るため、本方式を用いても処理効率は低下しないが、パ
ケットヘッダ処理において多様な種類のパケットを処理
する場合にはパケットの種類に応じて実行する処理が異
なりプログラムの実行効率が低下する恐れがある。
【0017】本発明は以上の問題点を鑑み発案されたも
のであり、マルチプロセッサシステム、特にネットワー
クノード装置内でパケット転送処理を行うオンチップマ
ルチプロセッサシステムにおいて、プロセッサ数が非常
に多い大規模なシステムにおいても、プロセッサ間の通
信を高速化し、プログラムの実行効率と実時間処理を共
に満足するアクセス調停を行うことを目的とする。
【0018】
【課題を解決するための手段】第一の問題点を解決する
ため、本発明によるマルチプロセッサシステムでは、従
来のプロセッサ間通信方式に加えて、夫々のプロセッサ
が持つ演算器間で直接通信を行うための通信路を有し、
演算器間で高速にデータの交換を行う。
【0019】第二の問題点を解決するため、全ての演算
器間をメッシュに接続するのではなく、1本あるいは複
数のバスを用いたバス接続とする。1本のバスを用いた
場合には、プロセッサ数が増加するとバスの混雑やバス
の物理的な距離の増加によって通信の効率が低下する。
そのため、プロセッサ数が増加した場合には、全プロセ
ッサを1本のバスに接続するのではなく、短いバスを複
数用意して各プロセッサは最寄のバスにのみに接続す
る。そして異なるバスに接続されたプロセッサ間で通信
を行うため、バス間をブリッジを用いて接続することで
複数のバスを経由した通信を可能とする。
【0020】第三の問題点を解決するため、夫々のプロ
セッサが持つ状態レジスタ及びプログラムカウンタの間
で直接通信を行うための通信路を有する。
【0021】第四の問題点を解決するため、全てのプロ
セッサから全共有資源に対してアクセス調停を行うので
はなく、同一のバスを共有しているプロセッサ間のみで
アクセス調停を行う。本マルチプロセッサシステムは複
数のバスを有し、プロセッサは最寄のバスにのみ接続さ
れている。そのため、1本のバスを共有しているプロセ
ッサは近接しており、またその数も限られるため、これ
らのプロセッサ間では高速にアクセス調停を行うことが
できる。
【0022】プロセッサ数を増加させるときには1本の
バスに接続するプロセッサ数を増加させるのではなくバ
スの数を増加させることにより、大規模なマルチプロセ
ッシングを行う場合においても高速にアクセス調停を行
うことができる。複数のバスを通過する通信の場合、プ
ロセッサが出力したデータは一旦経由するブリッジが受
け取り、このブリッジが次のバスに対してアクセス調停
を行いデータを出力する。
【0023】第五及び第六の問題点を解決するため、各
プロセッサを第一のアクセス調停方式に対応する非同期
的な動作と、第二のアクセス調停方式に対応する予測不
能な実行の乱れを生じる処理を禁じた同期的な動作とを
選択可能であるように構成する。共有資源に対するアク
セス制御方式としては、第一のアクセス調停方式を用い
たプロセッサに対しては動的な調停を行い、第二のアク
セス調停方式を用いたプロセッサに対してはそのアクセ
ス要求を常に許可する。
【0024】すなわち、第二のアクセス調停方式を用い
たプロセッサに対してはアクセスが競合しないようにプ
ログラムコードを作成しておき、実行時には第二のアク
セス調停方式を用いたプロセッサのアクセスを行わない
資源に限り、第一のアクセス調停方式を用いたプロセッ
サからのアクセス要求を動的に調停する。
【0025】パケット転送処理を本マルチプロセッサシ
ステム上に実装する際には、パケット転送処理を複数の
小さな処理に分割し、各処理を固定的にプロセッサに割
り当てる。そして各処理の特性に応じてプロセッサの動
作を選択することにより、すなわち多様な動作を行うパ
ケットヘッダ処理を担当するプロセッサは第一のアクセ
ス調停方式を用い、実時間性が強く単純な繰り返しが主
なパケットスケジューリング処理を担当するプロセッサ
は第二のアクセス調停方式を用いることによって、処理
の効率性と実時間性を共に満足させる。
【0026】
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態について説明する。図1は本発明によるマルチ
プロセッサシステムの第一の実施例の構成を示すブロッ
ク図である。図1を参照すると、本実施例のマルチプロ
セッサシステムは、複数のプロセッサ1−1〜1−4、
複数のプロセッサの演算器間でデータを交換するデータ
バス1−8〜1−10、データバス間でデータを交換す
るブリッジ1−5〜1−6、共有メモリ1−7、各プロ
セッサと共有メモリ1−7を接続するメモリバス1−1
1、コプロセッサ1−12〜1−13で構成される。
【0027】プロセッサ1−1はデータを保持するレジ
スタファイル1−1−1と、1または複数の演算器1−
1−2〜1−1−3、1または複数のメモリユニット1
−1−4で構成され、プロセッサ1−2〜1−3も同様
の構成である。各プロセッサはプログラムカウンタや状
態レジスタ等の一般的なプロセッサが必要とする機構は
有しているが、本実施例によるプロセッサ間通信動作と
は直接関係無いため本構成図からは省略している。
【0028】データバス1−8〜1−10は同時に複数
のデータをバス内で通信することが出来るように複数の
チャネルで構成し、各チャネルはデータ及びその宛先を
転送するための通信路で構成される。メモリバス1−1
1はアドレスとデータを転送するための通信路で構成さ
れる。コ(子)プロセッサ1−12や1−13は浮動小
数点演算器や文字列コピー等の(親)プロセッサ1−1
〜1−2や1−3〜1−4の動作をそれぞれ補助する機
構であり、データバスもしくはメモリバスを用いてプロ
セッサやメモリと通信することで処理を行う。
【0029】図2は本実施例における演算器1−1−2
の構造を示したブロック図である。演算器1−1−2は
データバスから入力レジスタへのデータ入力を制御する
入力回路1−1−9、データバスから取り込んだデータ
を一時保持する入力レジスタ1−1−5、演算回路に与
えるデータを入力レジスタもしくはレジスタファイルか
ら選択する選択回路1−1−6から1−1−7、演算回
路1−1−8、演算回路からデータバスへのデータ出力
を制御する出力回路1−1−10で構成される。他の演
算器も全て同様の構成である。
【0030】次に、図1及び図2を参照して本実施例の
動作を説明する。本実施例における各プロセッサのメモ
リアクセス動作は、例えば特開平2−244252号公
報や特開平6−35840号公報、特開平7−1526
47号公報等に示されるような一般的なマルチプロセッ
サシステムにおけるメモリアクセス動作と同様である。
従って、各プロセッサ間でメモリを介して通信を行う場
合、本実施例におけるマルチプロセッサシステムにおい
ても一般的なマルチプロセッサシステムと同様の動作で
通信を行う。
【0031】本実施例におけるマルチプロセッサシステ
ムにおいては、演算器を直接接続するデータバスを有す
る。そこで、次にデータバスを用いたプロセッサ間通信
方式について説明する。プロセッサにおいて通常の演算
命令を実行した際には、演算回路からの演算結果出力は
レジスタファイルに送られるが、データ出力を伴う演算
命令を実行した際には、演算結果出力をレジスタファイ
ルに送ると同時に出力回路を通じでデータバスへと出力
する。出力回路では、プログラムからの指示によって出
力するデータバス上のチャネルを選択し、プログラムに
よって指示されるデータの宛先のプロセッサ番号もしく
はコプロセッサ番号と共にデータをデータバスに出力す
る。
【0032】ブリッジでは、データバス上を流れるデー
タの宛先を検査し、もしデータが流れているデータバス
とその宛先が接続されているデータバスが同じであると
判断すればデータの転送処理は行わない。さもなければ
宛先への経路となるデータバスへデータを転送する。
【0033】各演算器の入力回路では、接続されている
データバス内の各チャネルを監視し、チャネル上を流れ
るデータの宛先が自プロセッサであると判断した場合に
は、そのデータを取りこんで入力レジスタへと格納して
から該入力レジスタを有効状態に設定する。演算器にお
いて通常の演算を実行する場合はデータをレジスタファ
イルから取得するが、データ入力を伴う演算を実行する
場合には入力レジスタからデータを取得して演算を行い
う。入力レジスタ上のデータを使用する際、該入力レジ
スタが無効状態にあれば演算を停止して該入力レジスタ
が有効状態に変化するまで待つ。そして該入力レジスタ
が有効状態に変化すると演算を再開し、演算が終了する
と該入力レジスタを無効状態へと設定する。
【0034】このような入力レジスタの機構はプロセッ
サ間の処理の同期をとるために必要であり、データを受
信するプロセッサがデータ到着前に演算を開始すること
を防ぐ。なお、特願平11−348545号明細書に説
明されているように、各プロセッサが固定タイミングで
動作している場合、このような同期のための機構は不必
要である。
【0035】プロセッサがコプロセッサに対して処理を
委託するためデータを送信する場合、プロセッサは前記
の動作と同様にデータバスのデータを出力し、コプロセ
ッサはデータバス上からデータを受信して所定の処理を
行う。そして処理結果は再びデータバスを用いて処理を
依頼したプロセッサに送信される。メモリ上の文字列転
送処理の様にコプロセッサが直接メモリアクセスを行う
必要がある処理では、コプロセッサはメモリバスを用い
て直接メモリアクセスを行う。
【0036】図3は本発明によるマルチプロセッサシス
テムの第二の実施例の構成を示すブロック図である。図
3を参照すると、本実施例におけるマルチプロセッサシ
ステムは、複数のプロセッサ2−1〜2−4、複数のプ
ロセッサの演算器間及びレジスタファイル間でデータを
交換するデータバス2−8〜2−10、データバス間で
データを交換するブリッジ2−5〜2−6、共有メモリ
2−7、コプロセッサ2−11〜2−12で構成され
る。
【0037】プロセッサ2−1はデータを保持するレジ
スタファイル2−1−1と、1または複数の演算器2−
1−2〜2−1−3で構成され、プロセッサ2−2〜2
−3も同様の構成である。データバス2−8〜2−10
は同時に複数のデータをデータバス内で通信することが
出来るように複数のチャネルで構成し、各チャネルはデ
ータ及びその宛先を転送するための通信路で構成され
る。また、本実施例はメモリバスを持たず、共有メモリ
2−7はデータバス内の2本のチャネルを用いて接続さ
れる。
【0038】各演算器の構成は第一の実施例における演
算器の構成と同様であるので、ここではその構成図を省
略する。
【0039】次に、図3を参照して本実施例の動作を説
明する。本実施例では、データバスを用いて共有メモリ
を接続するため、メモリアクセス動作が第一の実施例と
異なる。メモリへの書き込みを行う場合、レジスタファ
イル上の1つのレジスタに書き込みを行うアドレスを設
定し、別のレジスタに書き込みを行うデータを設定す
る。そして、送り先を共有メモリのアドレス入力に設定
してアドレスを設定したレジスタからデータバスの1つ
のチャネルにレジスタ内容を出力し、送り先を共有メモ
リのデータ入出力に設定してデータを設定したレジスタ
からデータバスの別のチャネルにレジスタ内容を出力す
る。
【0040】共有メモリはデータバスからこれらのアド
レス及びデータを受信するとメモリへの書き込みを行
う。共有メモリから読み出しを行う場合、レジスタファ
イル中の1つのレジスタに読み出しを行うアドレスを設
定し、送り先を共有メモリのアドレス入力に設定して、
該レジスタからデータバスの1つのチャネルにレジスタ
内容を出力する。共有メモリは読み出しアドレスを受け
取ってデータの読み出しを行い、宛先を要求元のプロセ
ッサ設定して読み出したデータをデータバスの1つのチ
ャネルに出力する。プロセッサはこのデータを受け取る
と所定のレジスタへと格納する。
【0041】次に、データバスを用いたプロセッサ間通
信方式について説明する。本実施例においても演算器間
をデータバスを用いて接続しているため、第一の実施例
と同様に演算器間で直接通信を行うことが可能であり、
この場合の演算器やブリッジの動作は第一の実施例と同
様である。さらに本実施例においては、レジスタファイ
ルもデータバスに接続されているため、あるプロセッサ
のレジスタファイルからレジスタのデータをデータバス
に出力し、他のプロセッサのレジスタファイル上のレジ
スタへと直接データを転送することが可能である。この
場合複数のチャネルを用いて同時に複数のレジスタのデ
ータを送受信することも可能である。
【0042】また、本実施例においては、演算器から出
力したデータをレジスタファイルで受けたり、レジスタ
ファイルから出力したデータを演算器で受けることも可
能である。さらには、メモリアクセス時において、アド
レス送信の際やデータ送受信の際にレジスタファイルで
はなく、演算器の入出力を用いることも可能である。例
えば、メモリへデータを書き込み際、演算器を用いて計
算した書き込みアドレスを直接データバスに出力し、書
き込みデータはレジスタファイルから出力することが可
能である。
【0043】本実施例において、レジスタファイルを用
いて通信を行う場合、第一の実施例における入力レジス
タと同様の構成を用いてレジスタファイル内の各レジス
タに有効状態/無効状態を持たせることで、プロセッサ
間の同期を取ることが可能である。また、各プロセッサ
が固定タイミングで同期動作を行っている場合、このよ
うな同期のための機構は不必要である。
【0044】レジスタファイルや演算器、共有メモリ、
コプロセッサがデータバス上の全てのチャネルに接続さ
れている必要は無く、図3のように特定のチャネルに接
続することも可能である。この場合、通信の自由度は低
下するが、ハードウエア量を低減する効果がある。これ
は以下の実施例においても同様である。
【0045】本実施例におけるプロセッサとコプロセッ
サの間の通信は第一の実施例と同一であるが、コプロセ
ッサとメモリ間の通信は以上で説明したようにデータバ
スを用いて行う。
【0046】図4は本発明によるマルチプロセッサシス
テムの第三の実施例の構成を示すブロック図である。図
4を参照すると、本実施例におけるマルチプロセッサシ
ステムは、複数のプロセッサ3−1〜3−4、複数のプ
ロセッサの演算器及びレジスタファイル、プログラムカ
ウンタ、状態レジスタの間でデータを交換するデータバ
ス3−8〜3−10、データバス間でデータを交換する
ブリッジ3−5〜3−6、共有メモリ3−7で構成され
る。
【0047】プロセッサ3−1はデータを保持するレジ
スタファイル3−1−1と、1または複数の演算器3−
1−2〜3−1−3、プログラムカウンタ3−1−4、
状態レジスタ3−1−5で構成され、プロセッサ3−2
〜3−3も同様の構成である。
【0048】データバス1−8〜1−10は同時に複数
のデータをバス内で通信することが出来るように複数の
チャネルで構成し、各チャネルはデータ及びその宛先を
転送するための通信路で構成される。また、本実施例は
メモリバスを持たず、共有メモリ2−7はデータバス内
の2本以上のチャネルを用いて接続される。本実施例に
おいても、各演算器の構成は第一の実施例における演算
器の構成と同様であるので、その構成図は省略する。本
実施例の特徴は、プログラムカウンタ3−1−4、状態
レジスタ3−1−5がデータバスに直接接続されている
点である。
【0049】次に、図4を参照して本実施例の動作を説
明する。本実施例におけるメモリアクセス動作及びプロ
セッサ間通信動作は第二の実施例と同様であるため、こ
こでは省略する。本実施例においては、プロセッサ間で
プログラムカウンタ及び状態レジスタの内容を送受信す
ることが可能であり、プロセッサ間での処理の引継ぎを
効率的に行うことが出来る。すなわち、プロセッサ間で
処理を引き継ぐ際、引継ぎ元のプロセッサがレジスタフ
ァイル上のレジスタの内容だけでなくプログラムカウン
タ及び状態レジスタの内容をデータバスを用いて引継ぎ
先のプロセッサに送ることが可能であり、引継ぎ先のプ
ロセッサでは引継ぎ元のプロセッサの最終的な状態と全
く同じ状態で引き継いだ処理を再開することができる。
【0050】各プロセッサが異なる処理を行うために異
なるプログラムメモリの内容を持っている場合、引継ぎ
元とプロセッサと引継ぎ先のプロセッサの間にアドレス
の整合性が無いため、単純にプログラムカウンタを引き
渡すことはできない。このような場合、引継ぎ元のプロ
セッサにおいて引継ぎ先のプロセッサの実行開始アドレ
スを計算してレジスタファイル上のレジスタに格納して
おき、処理の引継ぎ時にはこのレジスタの内容を引き継
ぎ先のプロセッサのプログラムカウンタへと送信すれば
良い。
【0051】図5は本発明によるマルチプロセッサシス
テムの第四の実施例の構成を示すブロック図である。図
5を参照すると、本実施例におけるマルチプロセッサシ
ステムは、第二の実施例におけるマルチプロセッサシス
テムに、コプロセッサ4−15〜4−16、プロセッサ
4−1〜4−2及びコプロセッサ4−15のデータバス
アクセスを調停するアービタ4−11、プロセッサ4−
1〜4−2及びコプロセッサ4−16及び共有メモリ4
−7のデータバスアクセスを調停するアービタ4−1
2、ブリッジ4−5のデータ転送動作を記述したタイム
テーブル4−13、ブリッジ4−6のデータ転送動作を
記述したタイムテーブル4−14を加えた構成である。
【0052】また、プロセッサ4−1は動作選択レジス
タ4−1−4を持ち、プロセッサ4−2〜4−4におい
ても同様である。各演算器の構成は第一の実施例におけ
る演算器の構成と同様であるので、ここではその構成図
を省略する。
【0053】本実施例においては、各プロセッサは動作
選択レジスタによって、ダイナミックスケジューリング
動作かスタティックスケジューリング動作かを選択す
る。スタティックスケジューリング動作とはプロセッサ
が固定タイミングで動作すことであり、プロセッサに対
して予測不能な実行の乱れを生じる処理を禁止し、各プ
ロセッサを予め設定した固定長の周期に従って繰り返し
処理を行なわせる動作のことである。そのため、プロセ
ッサがどの時刻にどのようなデータバスアクセスを行う
かが予測可能であり、プログラムコードを最適に並び替
える事で各プロセッサからのアクセスが競合しないよう
に調整しておくことが可能である。
【0054】一方、ダイナミックスケジューリング動作
では各プロセッサは固定長の動作周期を持たず、予測不
能な実行の乱れを生じる処理も禁止されない。そのた
め、プロセッサのデータバスアクセス動作を予め予測す
ることは不可能でり、アクセス調停はプログラム実行時
に動的に行う必要がある。
【0055】図6はタイムテーブル4−13の構成例で
ある。タイムテーブルは、ブリッジに接続された各デー
タバスの各チャネルから受信したデータの転送の可否を
定義するのもであり、受信データの宛先によって転送の
可否を時刻毎に定義する。図6の例では、時刻0におい
てはデータバス4−8のチャネル1から入力したデータ
をプロセッサ1に向けて出力することを許可し、時刻1
においてはデータバス4−8のチャネルnから入力した
データを共有メモリに向けて出力することを許可し、時
刻2においてはデータバス4−9のチャネル1から入力
したデータを共有メモリに向けて出力することを許可
し、その他のブリッジにおける転送処理は全て不許可で
あることを示している。
【0056】なお、ブリッジとスタティックスケジュー
リング動作を行うプロセッサは同期して動作し、ブリッ
ジは周期的にタイムテーブルを繰り返し参照して転送処
理を行う。
【0057】次に、図5及び図6を参照して本実施例の
動作を説明する。本実施例におけるプロセッサ間通信動
作は第二の実施例と同様であり、以下では、特にデータ
バスに対するアクセス調停の動作を詳しく説明する。ま
ず、同一データバス内での通信におけるアクセス調停動
作を説明する。プロセッサはデータバスにデータを出力
する際、宛先と使用するチャネルをアービタに伝えてチ
ャネルの使用許可を要求し、その許可を得てからデータ
の出力を行う。もし使用許可が与えられなければデータ
出力を中止し、使用許可が与えられるまで要求を繰り返
し行う。アービタは各プロセッサからの使用許可要求を
受け、それぞれのチャネルに関してデータ出力を許可す
るプロセッサを決定し、その結果を各プロセッサに伝え
る。
【0058】スタティックスケジューリング動作のプロ
セッサではプログラムコードを実行前に適切に並べ替え
ておくことによって、データバスのアクセス競合を回避
するが、ダイナミックスケジューリング動作のプロセッ
サでは、プログラム実行中に動的にアクセス調停を行う
必要がある。そのため、アービタでは、複数のプロセッ
サが同じチャネルの使用許可を要求した場合、まず、ス
タティックスケジューリング動作のプロセッサに対して
使用許可を与え、もしスタティックスケジューリング動
作のプロセッサからの要求が無い場合には、その他のプ
ロセッサの中から1つのプロセッサを選択して使用許可
を与える。
【0059】コプロセッサや共有メモリからのデータ出
力動作に関しても同様である。ただし、アービタでは、
コプロセッサや共有メモリからダイナミックスケジュー
リング動作を行っているプロセッサに対してデータを出
力する場合、このデータ出力がスタティックスケジュー
リング動作を行っているプロセッサからのデータ出力を
妨げないように、コプロセッサや共有メモリからのチャ
ネル使用要求よりもスタティックスケジューリング動作
を行っているプロセッサからのチャネル使用要求を優先
させる。
【0060】一方、コプロセッサや共有メモリからスタ
ティックスケジューリング動作を行っているプロセッサ
に対してデータを出力する場合には、このデータ出力を
ダイナミックスタティックスケジューリング動作を行っ
ているプロセッサからのチャネル使用要求よりも優先さ
せる。
【0061】次に、ブリッジを越える通信におけるアク
セス調停動作を説明する。この場合でも、プロセッサの
動作は上記と同様であり、アービタの動作が異なる。ア
ービタは他のデータバスに向かうチャネル使用許可要求
があれば、ブリッジに対して現時刻で転送可能な宛先を
問い合わせ、ブリッジはアービタが接続されているバス
の該当するチャネルに関してタイムテーブルを参照して
転送可能な宛先を回答する。そして、アービタは回答さ
れた宛先と同じ宛先をもつチャネル使用許可要求があれ
ばこの要求に対して許可を与え、さもなければブリッジ
を越える通信は全て不許可としてデータバス内での通信
に対してチャネル使用許可を与える。
【0062】ただし、スタティックスケジューリング動
作を行っているプロセッサの通信は常に優先し、これら
のプロセッサからのチャネル使用許可要求があれば、ダ
イナミックスケジューリング動作を行っているプロセッ
サのチャネル使用許可要求はブリッジを経由するしない
に係わり無く、全て不許可とする。
【0063】ブリッジでは、ブリッジを越える通信のデ
ータを受信すると、このデータの宛先への経路となるデ
ータバスに対してデータを出力するため、このデータバ
スを管轄するアービタに対してチャネル使用許可を求
め、そしてこのデータバスへデータを出力する。アービ
タでは、ブリッジからのチャネル使用要求は必ず許可
し、ブリッジにおいてデータが滞留することが無いよう
にする。そのため、各ブリッジのタイムテーブルではブ
リッジ間でデータバスを競合することが無い様に設定し
ておく必要があり、またスタティックスケジューリング
動作を行うプロセッサではブリッジ間の通信を妨げるこ
とが無い様に、プログラムコードを作成しておく必要が
ある。
【0064】以上の様に、プロセッサが最寄のアービタ
からチャネル使用許可が得られると、その後の通信経路
ではタイムテーブルの設定によって必ずチャネルが予約
されているため、データの転送が滞ることなく宛先まで
到着する。そのため、スタティックスケジューリングを
行うプロセッサでは、接続されたデータバスだけではな
く、通信途中の全てのデータバスにおいてデータが競合
しなようにプログラムを作成し、その結果に従ってタイ
ムテーブルを設定する必要がある。
【0065】一方、ダイナミックスケジューリング動作
を行うプロセッサに関しては、アービタによってアクセ
ス制御が行われているため、プログラムコードを自由に
作成することが可能である。ただし、ブリッジを超える
通信を行うためには、スタティックスケジューリング動
作を行うプロセッサの通信を遮らないように、タイムテ
ーブルの適切な時刻に通信経路を設定しておき、プロセ
ッサがこの通信を行う場合には、設定した時刻になるま
で通信を待つ必要がある。ただし、タイムテーブル余裕
があれば複数の時刻に通信経路を設定することで、通信
を待つ時間を軽減することが可能である。
【0066】なお、データバス4−9のように、ブリッ
ジしか接続されていないデータバスでは競合が発生しな
いのでアービタは不要である。
【0067】図7は本発明によるマルチプロセッサシス
テムの第五の実施例の構成を示すブロック図である。図
5を参照すると、本実施例におけるマルチプロセッサシ
ステムは、第四の実施例におけるマルチプロセッサシス
テムとほぼ同様の構成であり、タイムテーブルの代わり
に一時バッファ5−13〜5−14を有する点が異な
る。
【0068】次に、図7を参照して本実施例の動作を説
明する。本実施例では、同一データバス内でのアクセス
調停動作は第四の実施例と同様でり、ブリッジにデータ
を一時蓄えておくことで、タイムテーブルによる制御を
必要としない点が第四の実施例と異なる。すなわち、第
四の実施例ではブリッジを越える通信はタイムテーブル
を用いて全経路に関するアクセス制御を行っておくた
め、初段のアービタで送信が許可されたデータは途中の
ブリッジで滞留することはないが、本実施例では、初段
のデータバスさえ使用可能であればデータの送信を開始
し、通信経路の途中でデータバスが使用不可能となって
いれば、その直前のブリッジにおいてデータバスが使用
可能になるまでデータを待たせておく。そのため、本実
施例では、ダイナミックスケジューリング動作を行って
いるプロセッサが通信開始を待つ時間が軽減されるとい
う利点を持つが、その代わりブリッジが複雑になるとい
う欠点を持つ。
【0069】なお、スタティックスケジューリング動作
を行うプロセッサのデータがブリッジにおいて滞留する
ことは許されないため、転送するデータに対して優先度
を定め、スタティックスケジューリング動作を行うプロ
セッサからのデータやこのプロセッサ宛てのデータは、
優先データとして待ち合わせが発生しないようにアービ
タを制御し、ダイナミックスケジューリング動作を行う
プロセッサからのデータやこのプロセッサ宛てのデータ
は非優先として、他のデータと競合した場合にはブリッ
ジにおいて待ち合わせを行う。
【0070】次に、ブリッジを経由する通信におけるア
クセス調停動作に関して、アービタとブリッジの動作を
説明する。アービタは優先データに対するチャネル使用
許可要求があれば、必ずこの要求を許可する。優先デー
タが無ければ該アービタに接続された全てのブリッジに
対して一時バッファの空き容量を問い合わせ、空き容量
のあるブリッジを経由する非優先データの中から1つの
非優先データを選択してチャネル使用許可を与える。も
し、<ブリッジを経由する非優先データにチャネル使用
許可が与えられない場合、データバス内での非優先の通
信に対してチャネル使用許可を与える。
【0071】ブリッジでは、ブリッジを越える通信のデ
ータを受信すると、データの出力先となるデータバスを
管轄するアービタに対してチャネル使用許可を要求す
る。受信データが優先データであれば、該アービタは必
ず使用許可を与えるので、ブリッジは到着データを滞留
させること無く転送処理を行う。到着データが非優先デ
ータでありかつアービタが使用許可を与え、かつ同じデ
ータバスへ出力される優先データや一時バッファ内の非
優先データが無い場合は、この非優先データの転送処理
を行い、さもなければこのデータを一時バッファへと格
納する。
【0072】複数の非優先データが同じデータバスへ出
力される場合、このうちの1つの非優先データに関して
転送処理を行い、残りの非優先データは全て一時バッフ
ァに格納する。一時バッファ内に蓄えられた非優先デー
タは、出力先のデータバスが同じである優先データがな
く、かつ該データバスを管轄するアービタから許可が得
られれば、一時バッファから取り出されて転送処理が行
われる。
【0073】図8は本発明によるマルチプロセッサシス
テムの第六の実施例の構成を示すブロック図である。図
8を参照すると、本実施例におけるマルチプロセッサシ
ステムは、複数のプロセッサ6−1〜6−4、全プロセ
ッサによって共有される共有メモリ6−8、プロセッサ
6−1及び6−2から共有メモリ6−8へアクセスする
ためのメモリバス6−3、プロセッサ6−1及び6−2
とプロセッサ6−3及び6−4との共有メモリ6−8へ
のアクセスを調停するメモリ制御回路6−6、プロセッ
サ6−3及び6−4の演算器間及びレジスタファイル間
でデータを交換するデータバス6−7、プロセッサ6−
3及び6−4によって共有される共有メモリ6−9で構
成される。
【0074】プロセッサ6−1はデータを保持するレジ
スタファイル6−1−1と、1または複数の演算器6−
1−2から6−1−3、1または複数のメモリユニット
6−1−4で構成され、プロセッサ1−2も同様の構成
である。プロセッサ6−3はデータを保持するレジスタ
ファイル6−3−1と、1または複数の演算器6−3−
2から6−3−3で構成され、プロセッサ6−4も同様
の構成である。
【0075】次に、図8を参照して本実施例の動作を説
明する。プロセッサ6−1及び6−2はダイナミックス
ケジューリング動作を行い、動的に共有メモリ6−8に
対するアクセス制御を行う。これらのプロセッサは共有
メモリ6−8のみを介して通信し、これはメモリを共有
した一般的なマルチプロセッサシステムと同様の動作で
ある。
【0076】一方、プロセッサ6−3及び6−4は第二
の実施例におけるプロセッサ間通信と同様の動作を行
う。すなわちこれらのプロセッサはデータバスを用いて
演算器間及びレジスタファイル間で通信を行い、また共
有メモリ6−8や共有メモリ6−9を用いた通信も行
う。また、これらのプロセッサはスタティックスケジュ
ーリング動作を行っているため、データバス6−7に対
する様なアクセス制御は行っていない。
【0077】プロセッサ6−1及び6−2とプロセッサ
6−3及び6−4の間の通信は共有メモリ6−8を用い
て通信を行う。プロセッサ6−1及び6−2からのメモ
リアクセスとプロセッサ6−3及び6−3空のメモリア
クセスはメモリ制御回路6−6によって調停され、ダイ
ナミックスケジューリング動作を行っているプロセッサ
6−3及び6−4からのアクセスを常に優先するように
制御を行う。
【0078】本実施例は第一の実施例及び第二の実施例
を組み合わせ、特にパケット転送処理に特化した構成で
ある。すなわち、パケットヘッダ処理ではプロセッサ間
の通信が比較的少なく各プロセッサでは多様な処理が行
われるため、プロセッサ6−1及び6−2を一般的なマ
ルチプロセッサシステムと同様の構成として処理を行う
が、パケットスケジューリング処理等ではプロセッサ間
の通信が頻繁で厳密な実時間処理が必要であるため、プ
ロセッサ6−3及び6−4を第二の実施例と同様の構成
としてスタティックスケジューリング動作させて処理を
行う。
【0079】
【発明の効果】本発明の第一の効果は、マルチプロセッ
サシステムにおいて、特にネットワークノード装置内で
パケット転送処理を行うオンチップマルチプロセッサシ
ステムにおいて、夫々のプロセッサが持つ演算器間で直
接通信を行うための通信路を備えることによって、プロ
セッサ間で非常に遅延時間の短い通信を実現できること
である。
【0080】本発明の第二の効果は、全プロセッサを1
本のバスに接続するのではなく、短いバスを複数用意し
て各プロセッサを最寄のバスにのみ接続することによ
り、またバス間をブリッジを用いて接続して複数のバス
を経由した通信を可能とすることにより、多数のプロセ
ッサ及び演算器を用いる場合でも高い通信速度を実現で
きることである。
【0081】本発明の第三の効果は、夫々のプロセッサ
が持つレジスタファイルや状態レジスタ、プログラムカ
ウンタの間で直接通信を行うことで、プロセッサ間の処
理の引継ぎが効率的に行われることである。
【0082】本発明の第四の効果は、同一のバスを共有
しているプロセッサ間のみで動的なアクセス調停を行
い、ブリッジを越える通信はタイムテーブルによって静
的にスケジューリングするかもしくはブリッジ内の一時
バッファで待ち合わせを行うことにより、大規模なマル
チプロセッシングにおいて高速にアクセス調停を行うこ
とができることである。
【0083】本発明の第五の効果は、各プロセッサをダ
イナミックスケジューリング動作とスタティックスケジ
ューリング動作とを選択可能であるように構成すること
で、処理の特性によってプロセッサの動作を選択し、処
理の効率性と実時間性を共に満足させることができるこ
とである。
【図面の簡単な説明】
【図1】本発明の第一の実施例の構成を示すブロック図
である。
【図2】図1の演算器の構成を示すブロック図である。
【図3】本発明の第二の実施例の構成を示すブロック図
である。
【図4】本発明の第三の実施例の構成を示すブロック図
である。
【図5】本発明の第四の実施例の構成を示すブロック図
である。
【図6】図5の実施例におけるタイムテーブルの構成例
を示す図表である。
【図7】本発明の第五の実施例の構成を示すブロック図
である。
【図8】本発明の第六の実施例の構成を示すブロック図
である。
【符号の説明】
1−1〜1−4,2−1〜2−4,3−1〜3−4,4
−1〜4−4,5−1〜5−4,6−1〜6−4
プロセッサ 1−5,1−6,2−5,2−6,3−5,3−6,4
−5,4−6ブリッジ 1−7,2−7,3−7,4−7,5−7,6−8,6
−9共有メモリ 1−8〜1−10,2−8〜2−10,3−8〜3−1
0,4−8〜4−10,5−8〜5−10,6−5,6
−7データバス 1−11 メモリバス 1−12,1−13,2−11,2−12,4−15,
4−16コプロセッサ 4−11,4−12,5−11,5−12アービタ 4−13,4−14 タイムテーブル
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 15/16 640 G06F 15/16 640B 15/177 682 15/177 682G Fターム(参考) 5B033 AA03 AA14 DD09 5B045 BB12 BB14 BB32 BB34 BB47 CC06 DD01 EE03 EE07 EE12 EE22 GG01 GG09 5B061 BB01 BC01 FF07 GG01 GG11 RR05 5B077 BA02 BA06

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 多数のプロセッサを有するマルチプロセ
    ッサシステムであって、1または複数の演算器を持つ複
    数のプロセッサと、これ等複数の演算器間を接続する複
    数のバスを有し、これ等複数のバスを用いて、演算器間
    で直接通信を行うと共に演算器間での通信を同時に複数
    行うことを特徴とするマルチプロセッサシステム。
  2. 【請求項2】 請求項1に記載のマルチプロセッサシス
    テムであって、前記複数のバスを相互に接続するブリッ
    ジを有し、前記複数のバスの各々に前記複数の演算器の
    一部を接続し、同一のバスに接続された演算器間では該
    バスを介して直接通信を行い、異なるバスに接続された
    演算器間では前記複数のバスと前記複数のブリッジを介
    して通信を行うことを特徴とするマルチプロセッサシス
    テム。
  3. 【請求項3】 請求項1または2に記載のマルチプロセ
    ッサシステムであって、前記プロセッサの各々が有する
    レジスタファイルを接続するバスを1または複数有し、
    異なるプロセッサの前記レジスタファイル間や前記レジ
    スタファイルと前記演算器間で通信を行うことを特徴と
    するマルチプロセッサシステム。
  4. 【請求項4】 請求項1〜3いずれかに記載のマルチプ
    ロセッサシステムであって、前記プロセッサの補助とな
    る1または複数のコプロセッサと、1または複数のメモ
    リとを有し、前記バスにこれらのコプロセッサやメモリ
    を接続することで、前記演算器と前記コプロセッサやメ
    モリ間、もしくは前記レジスタファイルと前記コプロセ
    ッサやメモリ間、もしくは前記コプロセッサと前記メモ
    リ間で通信を行うことを特徴とするマルチプロセッサシ
    ステム。
  5. 【請求項5】 請求項1〜4いずれかに記載のマルチプ
    ロセッサシステムであって、前記演算器に対応してデー
    タ到着を示す状態レジスタを有し、前記バスから前記演
    算器にデータが到着した際には該演算器の状態レジスタ
    を真に設定し、前記演算器が前記バスから到着したデー
    タを用いて演算を行った後には該演算器の状態レジスタ
    を偽に設定し、前記演算器が前記バスから到着したデー
    タを用いて演算を行う際に前記バスからのデータが到着
    していない場合、すなわち前記状態レジスタが偽である
    場合、前記状態レジスタが真になるまで該演算を待つこ
    とを特徴とするマルチプロセッサシステム。
  6. 【請求項6】 請求項1〜5いずれかに記載のマルチプ
    ロセッサシステムであって、前記プロセッサの各々が有
    するフラグレジスタ等の状態レジスタやプログラムカウ
    ンタを前記バスに接続することにより、異なるプロセッ
    サの演算器、レジスタファイル、状態レジスタ、プログ
    ラムカウンタ間で通信を行うことを特徴とするマルチプ
    ロセッサシステム。
  7. 【請求項7】 請求項1または2に記載のマルチプロセ
    ッサシステムであって、前記プロセッサの各々が有する
    レジスタファイルをバスを用いて接続し、これ等レジス
    タファイル間でレジスタの内容を直接コピーすることに
    よってプロセッサ間で通信を行なうようにし、前記プロ
    セッサの各々が有するフラグレジスタ等の状態レジスタ
    やプログラムカウンタを前記バスに接続することによ
    り、異なるプロセッサの演算器、レジスタファイル、状
    態レジスタ、プログラムカウンタ間で通信を行うことを
    特徴とするマルチプロセッサシステム。
  8. 【請求項8】 請求項2〜7のいずれかに記載のマルチ
    プロセッサシステムであって、前記バスに接続された演
    算器やレジスタファイルやコプロセッサやメモリからの
    バス使用要求を調停するアービタを各バス毎に有し、各
    時刻毎のデータ転送動作を指示するタイムテーブルを前
    記ブリッジ毎に有し、前記ブリッジを越えない通信にお
    いては、各バス内で前記アービタによってバス使用要求
    の調停を行い、前記ブリッジを超える通信においては当
    該時刻において前記タイムテーブルによって許された経
    路の通信のみを前記アービタが許可することを特徴とす
    るマルチプロセッサシステム。
  9. 【請求項9】 請求項2〜7のいずれかに記載のマルチ
    プロセッサシステムであって、前記バスに接続された演
    算器やレジスタファイルやコプロセッサやメモリからの
    バス使用要求を調停するアービタを各バス毎に有し、前
    記ブリッジから出力できないデータを一時保持しておく
    一時バッファを前記ブリッジ毎に有し、前記ブリッジを
    越えない通信においては各バス内で前記アービタによっ
    てバス使用要求の調停を行い、前記ブリッジを超える通
    信においては経路上の次のバスが使用可能であれば次に
    経由するブリッジまでデータを送信し、経路上の次のバ
    スが使用不可能であれば該バスが使用可能となるまでブ
    リッジにおいてデータを保持しておくことを特徴とする
    マルチプロセッサシステム。
  10. 【請求項10】 請求項8に記載のマルチプロセッサシ
    ステムであって、前記プロセッサが固定タイミングで動
    作を行うプロセッサと動的なタイミングで動作を行うプ
    ロセッサの2種類のプロセッサであり、前記アービタが
    固定タイミングで動作を行うプロセッサにかかる通信に
    対しては常に他のプロセッサの通信よりも優先してバス
    の使用許可を与えることを特徴とするマルチプロセッサ
    システム。
  11. 【請求項11】 請求項9に記載のマルチプロセッサシ
    ステムであって、前記プロセッサが固定タイミングで動
    作を行うプロセッサと動的なタイミングで動作を行うプ
    ロセッサの2種類のプロセッサであり、前記アービタが
    固定タイミングで動作を行うプロセッサにかかる通信に
    対しては常に他のプロセッサの通信よりも優先してバス
    の使用許可を与え、前記ブリッジにおいては保持されて
    いるデータよりも前記プロセッサにかかるデータを優先
    してバスに出力することを特徴とするマルチプロセッサ
    システム。
JP2001145741A 2001-05-16 2001-05-16 マルチプロセッサシステム Expired - Fee Related JP3925105B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001145741A JP3925105B2 (ja) 2001-05-16 2001-05-16 マルチプロセッサシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001145741A JP3925105B2 (ja) 2001-05-16 2001-05-16 マルチプロセッサシステム

Publications (2)

Publication Number Publication Date
JP2002342295A true JP2002342295A (ja) 2002-11-29
JP3925105B2 JP3925105B2 (ja) 2007-06-06

Family

ID=18991502

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001145741A Expired - Fee Related JP3925105B2 (ja) 2001-05-16 2001-05-16 マルチプロセッサシステム

Country Status (1)

Country Link
JP (1) JP3925105B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007049543A1 (ja) * 2005-10-27 2007-05-03 Sonac Incorporated 演算装置
JP2009026135A (ja) * 2007-07-20 2009-02-05 Nec Electronics Corp マルチプロセッサ装置
JP2013242876A (ja) * 2007-06-01 2013-12-05 Qualcomm Inc デバイスへ向けられたメモリ・バリア
JP2015501056A (ja) * 2011-12-20 2015-01-08 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 複数のハードウェア・スレッドにわたる仮想スレッドの細粒化並列処理のための低遅延変数伝達ネットワークを利用する回路装置、集積回路デバイス、プログラム製品および方法(複数のハードウェア・スレッドにわたる仮想スレッドの細粒化並列処理のための低遅延変数伝達ネットワーク)
JP2017123197A (ja) * 2012-11-21 2017-07-13 コーヒレント・ロジックス・インコーポレーテッド 分散型プロセッサを有する処理システム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007049543A1 (ja) * 2005-10-27 2007-05-03 Sonac Incorporated 演算装置
JP2013242876A (ja) * 2007-06-01 2013-12-05 Qualcomm Inc デバイスへ向けられたメモリ・バリア
JP2009026135A (ja) * 2007-07-20 2009-02-05 Nec Electronics Corp マルチプロセッサ装置
JP2015501056A (ja) * 2011-12-20 2015-01-08 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 複数のハードウェア・スレッドにわたる仮想スレッドの細粒化並列処理のための低遅延変数伝達ネットワークを利用する回路装置、集積回路デバイス、プログラム製品および方法(複数のハードウェア・スレッドにわたる仮想スレッドの細粒化並列処理のための低遅延変数伝達ネットワーク)
JP2017123197A (ja) * 2012-11-21 2017-07-13 コーヒレント・ロジックス・インコーポレーテッド 分散型プロセッサを有する処理システム

Also Published As

Publication number Publication date
JP3925105B2 (ja) 2007-06-06

Similar Documents

Publication Publication Date Title
CN103810133B (zh) 用于管理对共享读缓冲器资源的访问的方法和装置
US20080082707A1 (en) Non-blocking bus controller for a pipelined, variable latency, hierarchical bus with point-to-point first-in first-out ordering
JP2000181878A (ja) 共有メモリ型ベクトル処理システムとその制御方法及びベクトル処理の制御プログラムを格納する記憶媒体
JP2001167066A (ja) プロセッサ間通信方法及びマルチプロセッサシステム
EP0892352B1 (en) Computer system with a bus having a segmented structure
JPH09172460A (ja) パケット交換コンピュータ・システムにおける高速転送スレーブ要求の方法および装置
US8832712B2 (en) System and method for synchronizing threads using shared memory having different buffer portions for local and remote cores in a multi-processor system
JPH0679305B2 (ja) 保留バスを用いて割り込みに応じる装置及び方法
JP4184614B2 (ja) バスシステム及びその実行順序の調整方法
WO2017084331A1 (zh) 互连电路的数据处理装置和方法
JPS62266642A (ja) デ−タ処理装置
JP3925105B2 (ja) マルチプロセッサシステム
JP4856413B2 (ja) 演算処理装置、情報処理装置、及び演算処理装置の制御方法
JP2002163228A (ja) 多重コアdsp装置のための外部バス裁定技術
JP4687925B2 (ja) 優先調停システム及び優先調停方法
US7930456B1 (en) Data packet arbitration system
US7167939B2 (en) Asynchronous system bus adapter for a computer system having a hierarchical bus structure
EP1249761A1 (en) Arbitration in local system for access to memory in a distant subsystem
US6651083B1 (en) Distributed service request system for providing fair arbitration using token passing scheme to resolve collisions
Bruening et al. ATOLL: A high-performance communication device for parallel systems
JP2000132503A (ja) データ転送装置
JPH0248765A (ja) マルチプロセッサ間データ転送システム
JPH064401A (ja) メモリアクセス回路
Ahuja et al. A multi-microprocessor architecture with hardware support for communication and scheduling
Zebelein et al. A model-based inter-process resource sharing approach for high-level synthesis of dataflow graphs

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060411

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060612

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070219

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees