JPH03218555A - マルチプロセッサコンピュータシステムおよびデータ通信方法 - Google Patents

マルチプロセッサコンピュータシステムおよびデータ通信方法

Info

Publication number
JPH03218555A
JPH03218555A JP2192863A JP19286390A JPH03218555A JP H03218555 A JPH03218555 A JP H03218555A JP 2192863 A JP2192863 A JP 2192863A JP 19286390 A JP19286390 A JP 19286390A JP H03218555 A JPH03218555 A JP H03218555A
Authority
JP
Japan
Prior art keywords
data
label information
communication bus
processor
address
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
JP2192863A
Other languages
English (en)
Inventor
Geoffrey L Thiel
ジェフェリィ・ローレンス・シール
Paul S Pontin
ポール・サイモン・ポンティン
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.)
Akebia Ltd
Original Assignee
Akebia Ltd
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 Akebia Ltd filed Critical Akebia Ltd
Publication of JPH03218555A publication Critical patent/JPH03218555A/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/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8015One dimensional arrays, e.g. rings, linear arrays, buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0207Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • 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)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) 本発明は、マルチプロセッサコンピュータシステムにつ
いてのコンピュータアーキテクチャに関し、特に、各プ
ロセッサが共通の通信バスラインにより接続されている
マルチプロセッサコンピュータシステムに関する. (従来の技術) 従来のマルチプロセッサコンピュータシステムを第9図
に示す.各プロセッサ20a、20b等は通信バスライ
ン22に接続される.各プロセッサ20a、20b等は
通信バスライン22を使わなくてもアクセスすることが
できる(データをローカル転送できる)ローカルメモリ
エリアを有する.各プロセッサ20a、20b等のロー
カルメモリ以外のエリア内に格納されているデータは通
信バスライン22を使わなくては転送できない.通信バ
スラインを使うデータ転送は非ローカル転送と呼ばれる
. このようなシステムでは、システムのハードウエアがソ
フトウェアにより組織化されたデータをサポートすると
いう問題点がある.コンピュータメモリのハードウェア
は通常は1次元アレイヮードとして線形にアドレス指定
される.一方、コンピュータソフトウェアはその共通部
分の大部分はデータアレイである多様なデータ構造を必
要とする.多次元データアレイをメモリハードウエア上
にマッピングする際に問題が生じる.ソフトウエア上で
論理的に近接しているデータ項目が線形アドレスメモリ
ハードウエア上では分散されることがある.第10図は
3次元データアレイに関して生じる問題点を示す.X方
向のデータ行はメモリハードウェア内の連続したブロッ
クに都合よく対応するが、Z方向のデータ列はメモリ全
体にわたって物理的に分散される.プロセッサがX(行
)方向以外の方向の非ローカルデータを必要とする場合
、全データアレイをプロセッサのローカルメモリ内に取
り込まなければならないから、データ列が分散されるこ
とは、並列コンピュータシステムにおいてかなりの遅延
を生じる.そのため、必要以上のデータが転送されるこ
とになる.あるいは、所望のサブセットの各要素が独立
にアクセスされると、ハードウェアの効率を悪くする単
一ワードの何回もの転送が生じる. いくつかのプロセッサが部分的には重複しているが異な
るデータを必要とする場合、従来のシステムでは別の非
効率的な問題が発生する.第11図は、簡略化のために
、4つのプロセッサが、利用可能なデータの約半分を必
要とする場合の例を示す.ソースデータのある領域は4
つの全てのプロセッサにより必要とされるが、他の領域
は2つ、あるいは1つのプロセッサのみにより必要とさ
れる.従来のパラレルプロセッサシステムでは、データ
の全部を各プロセッサのローカルメモリに転送する必要
があるので、メモリ容量を無駄に使ってしまう.あるい
は、所望のデータブロツクを結合しないで、すなわち、
各プロセッサ毎の分離したデータとして処理し、それら
をそれぞれのプロセッサに順次転送することも可能であ
るが、こうすると、プロセッサの処理時間とバスの通信
帯域が無駄になる. 上述の例では、データソースは単一のメモリであると仮
定したが、ソースデータアレイが多数のプロセッサのロ
ーカルメモリにわたってマッピングされ、多数のプロセ
ッサに再分配されなければならない場合は、問題はより
複雑である.このような場合とは、アルゴリズムの1つ
のステップから次のステップに移る時、第1のステップ
からマッピングされた演算結果データと第2のステップ
のためにマッピングされる入力データとが異なる場合で
ある.第12図は4つのプロセッサがデータをそれぞれ
のローカルメモリ内に同図(a)に示すような行フォー
マットで格納し、次のアルゴリズムステップでは同図(
b)に示すような列フォーマットのデータが必要とされ
る場合を示す.同図(C)に示すように、演算結果デー
タの移動は4つのプロセッサからなる場合においても、
きわめて複雑である.従来装置はデータを完全なアレイ
フォーマットと16のサブアレイフォーマットとの間で
分散、再結合される必要がある.これは、効率が悪く、
処理時間を無駄に使用する.従来装置の一例が特開昭5
9−53964号公報(公開日:  1984年3月2
8日、特許出願昭和57年第163924号、出願人:
 日立製作所)に記載されている.この従来例では、デ
ータブロックはプロセッサ組織の厳しい制限の下で制御
プロセッサから他の数台のプロセッサに同時に送られる
.このシステムではプロセッサ間の効率的なデータの再
構成は容易ではなく、上述した問題の全てを解決しては
いない. (発明が解決しようとする課題) 本発明は上述した事情に対処すべくなされたもので、そ
の目的は、データアレイをプロセッサ間に効率的に再分
散させることができ,各プロセッサ内のローカルメモリ
の使用を最適化することができるマルチプロセッサコン
ピュータシステムを提供することである. [発明の構成] (課題を解決するための手段) 本発明によるコンピュータシステムは、それぞれが通信
バスラインに接続される多数のデータプロセッサを有す
る.通信バスラインはデータとデータを一義的に識別す
るためのデータに関連したラベル情報とを通信する.各
プロセッサはデータプロセッサが必要とするデータのバ
ス上のラベル情報を検出するプログラム可能なリード検
出器を有する.各データプロセッサはプロセッサが現在
格納しているデータのバス上のラベル情報を検出するプ
ログラム可能なライト検出器も有する.リード検出器、
ライト検出器は独立にプログラム可能である.動作期間
中、各プロセッサの検出器には現在プロセッサが必要と
する、あるいはプロセッサに格納されているデータの適
切なラベル情報がプログラムされる.バス上のラベル情
報がいずれかのプロセッサが必要とするデータに対応す
る場合は、そのプロセッサのリード検出器はラベル情報
を検出すると、対応するデータをバスがらプロセッサに
読み込ませる.同様に、バス上のラベル情報がいずれか
のプロセッサに格納されているデータに対応する場合は
、そのプロセッサのライト検出器はラベル情報を検出す
ると、対応するデータをプロセッサからバスに書き込ま
せ、その結果、他のプロセッサはバスからデータを読み
取ることができる. 通信バスラインはデータパスと、データを識別するラベ
ル情報を通信するアドレスバスとを有する.バスライン
にアドレス発生器が接続され、連のアドレスがバスライ
ンに与えられる.各プロセッサのリード検出器、ライト
検出器が初期化されると、アドレス発生器はバスライン
に一連のアドレスを供給する.各アドレスに対して、プ
ロセッサの1つは関連するデータをメモリに格納し、ア
ドレスに対応するデータをバスラインに書き込む.デー
タを必要とする他のどんなプロセッサも自身のメモリ内
へデータを取り込むことができる.このため、システム
は各プロセッサに他のプロセッサにより読み込まれるデ
ータと重複するデータブロックを読み込ませることがで
きる.データの再構成の期間中、アドレス発生器は一度
だけアドレスを発生する必要がある.この単一のアドレ
ス発生の期間、対応するデータはバスライン上で自動的
に利用可能となり、各プロセッサはそのデータから必要
とするサブセットデータを読み取る.コンピュータシス
テムは、それぞれが通信バスラインに接続される多数の
データプロセッサを有する.通信バスラインはデータと
データを一義的に識別するためのデータに関連したラベ
ル情報とを通信する.各プロセッサは必要とするデータ
のバス上のラベル情報を検出するプログラム可能なリー
ド検出器と、現在格納しているデータのバス上のラベル
情報を検出するプログラム可能なライト検出器とを有す
る.動作期間中、ラベル情報の各ビットに対して、各プ
ロセッサは、先ず、バス上のラベル情報がプロセッサに
現在格納されているデータに対応するか否かをライト検
出器により検出するライトサイクルとして動作する.そ
のようなラベル情報が検出されると、関連するデータが
プロセッサからバスに書き込まれる.ライトサイクルの
次に、各プロセッサは、バス上のラベル情報がプロセッ
サが必要とするデータに対応するか否かをリード検出器
により検出するリードサイクルとして動作する.そのよ
うなラベル情報が検出されると、バス上の関連するデー
タがプロセッサに読み込まれる.このように、ラベル情
報の各ビットに対して、データは1つのプロセッサから
バスに書き込まれ、そのデータを必要とする他のプロセ
ッサがそのデータを読み込むことができる.これにより
、プロセッサ間でデータの転送、再結合するために従来
必要であったプロセッサ間の複雑なデータバスによる問
題点を解決することができる. (作用) このようなコンピュータシステムでは、通信バスライン
上のデータの利用可能性についてはなんらの影響も与え
ずに、データは多数のプロセッサにわたって分散される
.データ転送、再構成のために、各プロセッサのリード
検出器にはブロセツサが必要とする可能性のあるデータ
のサブセットが正確にプログラムされる.データ転送中
、必要なデータのみがプロセッサ内に取り込まれる.そ
の結果、メモリの効率のよいシステムが実現できる. ハードウェアは多次元アドレスをラベル情報として処理
する.このため、システムはデータアレイを、線形フォ
ーマットへ分解することなく、そのまま処理することが
できる. データアレイをプロセッサ間で効率的に再分配、再分散
させることができる.データ転送の間に、各プロセッサ
をプログラムすることにより、各プロセッサは必要とす
るデータのサブセットを正確に受信することができ、各
プロセッサ内のローカルメモリの使用を最適化すること
ができる.各プロセッサは、データがシステム内の多く
の物理的に分離されたメモリに分散されているアレイデ
ータであっても、通信バスラインを介してデータのどの
部分でもアクセスすることができる.(実施例) 以下図面を参照してこの発明によるマルチプロセッサコ
ンピュータシステムの実施例を説明する.第1図に示す
ように、マルチインストラクション・マルチデータ(M
IMD)パラレルコンピュータシステム30は16個の
プロセッサ32a、32b〜32pを具備する.図示の
簡略化のために、プロセッサ32a、 32b、 32
pしか図示していないが、プロセッサ32a、 32b
、32pについての回路構成と接続は全て同じであり、
他のプロセッサ32についても図示したものと同じであ
る.各プロセッサ32は32ビットプロセッサである. MIMDコンピュータでは、各プロセッサは独立に動作
するが、しばしば、システム全体に分散されているデー
タを必要とする. 各プロセッサ32a、32b、32pは各リンク34に
より通信バスライン36に接続される.通信バスライン
36は32ビット幅の多次元(MD)パラレルアドレス
バス38と、 64ビット幅のデータバス40を有する
,MDアドレス発生器42はMDアドレスバス38に接
続され、バス38にデータパス40上のデータを一義的
に識別するラベル情報として作用するMDアドレスを供
給する. 各プロセッサ32はCPU48、ローカルメモリ50、
 リード検出器&ライト検出器として作用するMDデコ
ーダ&メモリアドレス発生器52を有する.各MDデコ
ーダ&メモリアドレス発生器52はMDアドレスの各次
元毎にプログラム可能なリード上限、 リード下限、 
ライト上限、ライト下限を有する,MDデコーダ&メモ
リアドレス発生器52はMDアドレスバス38から受信
した多次元アドレスをデコードし、デコード結果のアド
レスがMDアドレスのプログラム境界値範囲内にある場
合は、アドレスはローカルメモリ50をアクセスするた
めの線形アドレスに変換される.各ローカルメモリ50
のデータ入出力端子はデータパス40とCPU48とに
接続される.ここで、データパス40への接続はCPU
48への接続よりも優先度が高い.その結果、有効なM
DアドレスがMDデコーダ&メモリアドレス発生器52
によりデコードされると、データはデータパス4oとロ
ーカルメモリ50との間を転送される.各CPU48が
現在ローカルメモリ50をアクセスしていると、そのア
クセスは一時中断され、データバス40とのデータ転送
が行なわれる.システムは、ダイナミックRAMからな
りデータ入出力端子がデータバス40に接続される大容
量メモリ44を有する.実施例では、大容量メモリ44
は256ビット幅であり、各MDアドレスは256デー
タピットをアクセスする.大容量メモリ44はMDアド
レスバス38に接続され、 リードデコーダ&ライトデ
コーダとして作用するMDデコーダ&メモリアドレス発
生器46を有する.MDデコーダ&メモリアドレス発生
器46は上述したMDデコーダ&メモリアドレス発生器
52と同様にMDアドレスの各次元毎にプログラム可能
な上限、下限を有する. このように、コンピュータシステムは多数のプロセッサ
32、通信バスライン36を有する.各プロセッサ32
は通信バスライン36に接続される.通信バスライン3
6はデータと、データを一義的に識別するためのデータ
に関連したラベル情報とを転送する.各プロセッサ32
は、プロセッサ32に接続されプロセッサが必要とする
データの識別情報を検出し、通信バスライン36から検
出されたラベル情報に対応するデータを読み込むため手
段、すなわちリンク34、MDデコーダ&メモリアドレ
ス発生器52を有する.各プロセッサ32は、通信バス
ライン36に接続されプロセッサが現在格納しているデ
ータのラベル情報を検出し、検出されたラベル情報に対
応するデータを通信バスラインに書き込むための手段、
すなわちリンク34、MDデコーダ&メモリアドレス発
生器52を有する. プロセッサ32、MDアドレス発生器42、大容量メモ
リ44のそれぞれは制御バス54に接続される.制御プ
ロセッサ56はコンピュータシステムを管理するために
制御バス54に制御データを送る. 第2図はMDアドレス発生器42の詳細を示す,アドレ
ス発生器42は(N+1)個の1次元アドレス発生器6
0を有する.ここで、Nはハードウエアが適応できるア
ドレスの次元の最大値である.Nの最小値は0である.
ここでは、N=2であり、アドレスは次元0,  1、
2を有し、対応するアドレス発生器がそれぞれ1次元ア
ドレス発生器60a、60b、60cとされている.別
の実施例では、より高次元のアドレスに対応でき、各次
元毎に発生器を具備することができるようにより多くの
1次元アドレス発生器60を具備していてもよい,MD
アドレス発生器42は、 1次元アドレス発生器60か
らの出力をMDアドレスとして組み合わせるための結合
回路62と、 1次元アドレス発生器60のインクリメ
ントを制御するための再ロード回路64を有する.ルー
プカウンタ66が発生された多数のアドレスを介して再
ロード回路64に接続される. 各1次元アドレス発生器60は、再ロード回路64から
供給されるカウント人力72、再ロード入力74、およ
び再ロード値入力76、出力78を有するカウンタ70
を有する.初期値レジスタ80には再ロード値人力76
が供給される.再ロード信号74が供給されると、カウ
ンタ7oは初期値レジスタ80内に保持されている値に
リセットされる.カウンタ70の出力78は比較器82
の第1人力端子に供給される.比較器82の第2人力端
子は境界値レジスタ86に接続され、比較器82の出力
88は再ロード回路64に供給される.カウンタ70の
出力78の値が境界値レジスタ86に格納されている値
と一致すると、比較器82は再ロード回路64に一致信
号を供給する.カウンタ70の出力78は関連するシフ
ト値レジスタ92とマスク値レジスタ94とを有するシ
フト&マスク回路90の入力端子にも供給される.シフ
ト&マスク回路90は1フィールド分のMDアドレスを
発生するため、に、シフト値レジスタ92、マスク値レ
ジスタ94に保持されている値に依存してカウンタ70
の出力78の値をシフト、およびマスクする.シフト&
マスク回路9oの出力は結合回路62に供給される. MDアドレス発生器42は次のようにして一連のMDア
ドレスを発生する. 通信バスライン36は1次元アドレス発生器60内の初
期値レジスタ80、境界値レジスタ86、シフト値レジ
スタ92、マスク値レジスタ94、カウンタ70のそれ
ぞれと、ループカウンタ66とを初期化する.各サイク
ルの後、カウント信号はカウンタ70aをインクリメン
トし、ループカ,ウンタ66をディクリメントする.カ
ウント値のいずれかが対応する境界値に一致すると、そ
の次元についての一致信号が確定される.その結果、再
ロード信号がそれ自身のカウンタに戻され、カウント信
号が次の高次元側のカウンタに供給される.各次元のカ
ウンタ出力は各アドレスフィールドを形成するためにシ
フトおよびマスクされ、これらのフィールドはMDアド
レス出力を形成するために結合回路62によって連結さ
れる.ループカウンタ66は発生されたアドレスの全数
を記録し、最後に処理を停止させる. 第3図はMDアドレス発生器42により発生されたMD
アドレスの典型例のフォーマットを示す.これは、多数
の1次元アドレスフィールドの連結からなる.各アドレ
スフィールドの全体の数と幅は各1次元アドレス発生器
60のシフト&マスク回路90を制御する制御ユニット
プロセッサ56により制御される. 第4図に示すように、MDデコーダ&メモリアドレス発
生器46、MDデコーダ&メモリアドレス発生器52a
、 52b〜52pはMD7ドレスバス入力102に対
して並列に接続される線形デコーダ100a、 100
b〜1oonを有する.各MDデコーダのMDアドレス
バス入力102はアドレスバス(第IllのMDアドレ
スバス38)に接続される.各線形デコーダ100はM
Dアドレスの各フィールドをデコードする. 各線形デコーダ100はMDアドレスバス入力102に
接続され、関連したシフト値レジスタ106、マスク値
レジスタ108とを有するシフト&マスク回路104を
有する.シフト&マスク回路104はマスク値レジスタ
108内に記憶されている値に依存してMDアドレスの
特定のビットのみを抽出し、抽出したビットをシフト値
レジスタ106内に記憶されている値に依存してMSB
の方にシフトする. シフト&マスク回路104の出力は比較器110の第1
入力端子に供給される.比較器110の第2人力端子に
は図示しないスイッチを介してリード下限値レジスタ1
12とライト下限値レジスタ114のいずれかの出力が
供給される.比較器110の出力はシフト&マスク回路
104の出力が、選択された下限値レジスタの値に等し
いか、それ以上の時は論理l (ハイ)レベルである.
シフト&マスク回路104の出力は比較器116の第1
入力端子にも供給される.比較器116の第2人力端子
には図示しないスイッチを介してリード上限値レジスタ
118とライト上限値レジスタ120のいずれかの出力
が供給される.比較器ll6の出力はシフト&マスク回
路104の出力が選択された上限値レジスタの値に等し
いか、それ以下の時は論理l (ハイ)レベルである.
比較器110. 116の出力はアンドゲートl22の
2つの入力端子のそれぞれに供給される.アンドゲート
122の出力124は各線形デコーダについてのフィー
ルドデコード出力である.すなわち、デコード出力12
4aはMDアドレスの0次元フィールドをデコードする
線形デコーダ100aについてのフィールドデコード出
力である.各出力124aはMDアドレスの各フィール
ドの値が各フィールドデコーダ100についての選択さ
れた下限値レジスタ、上限値レジスタ内に記憶されてい
る上限値、下限値間にある場合は、論理1 (ハイ)レ
ベルである. 線形デコーダ100の出力124はアンドゲート126
の入力端子に供給される.アンドゲート126の出力1
28はMDデコーダからのMDデコード出力であり、M
Dアドレスの各フィールドの値が各アドレスフィールド
についての上限値、下限値間にある場合は、論理l (
ハイ)レベルである. 第5図は2次元アドレス(y,  x)のデコードの様
子を示す.アドレスのO次元(X)フィールドについて
の上限値レジスタ、下限値レジスタはそれぞれXmax
,  Xminを記憶する.アドレスの1次元(y)フ
ィールドについての上限値レジスタ、下限値レジスタは
それぞれYmax,  Yminを記憶する.アドレス
値値XがX minとXmaxの間にあり、アドレス値
yがYmaxとYminとの間にある時のみ、アンドゲ
ートl26からMDデコード信号128が出力される. 第4図に戻り、MDデコーダ&メモリアドレス発生器4
6、MDデコーダ&メモリアドレス発生器52の各々は
デコードされたMDアドレスからローカルメモリ位置ア
ドレスを発生するための線形アドレス発生器130を有
する.線形アドレス発生器130はそれぞれが乗算器1
36と、その一方の入力端子に接続されるインクリメン
ト値レジスタ134とを有する(N+1)個のインクリ
メント回路132を有する.シフト&マスク回路104
の出力が乗算器136の他方の入力端子に供給される.
乗算器136の出力は各インクリメント回路132から
の出力として取り出され、各出力は加算器(並列加算器
)l38の各入力端子に供給される.加算器138は図
示しないスイッチを介してリードアレイベースアドレス
レジスタ140とライトアレイベースアドレスレジスタ
142とのいずれかに接続される入力端子も有する.シ
フト&マスク回路104からのデコードされたフィール
ドアドレスはインクリメント回路132でインクリメン
ト値レジスタ134内に格納されているインクリメント
値と乗算される.乗算結果は加算器138でリード、あ
るいはライトベースアドレスレジスタ140, 142
内に格納されているベースアドレスと加算される.加算
器138の出力はローカルメモリ位置を示す線形メモリ
アドレスに対応する. インクリメント値レジスタ134a内に格納されている
値をDa、インクリ・メント値レジスタl34b内に格
納されている値をDb、アレイベースアドレスをBPと
すると、MDデコーダ&メモリアドレス発生器から発生
される悪形メモリアドレスは次のように表わされる. メモリアドレス =BP+ (AaXDa)+ (AbXDb)+−ここ
で、Aa,Ab,  ・・・はMDアドレスの0次元、
 1次元、・・・次元フィールドのフィールドアドレス
のデコード値である. 第6図(a)はメモリに格納される2次元アレイを示す
.アレイの各要素は(y,  x)座標によりアドレス
指定される.アレイはX方向にはO〜Xlenの間に広
がり、y方向ではO−Ylenの間に分散されている.
このアレイをメモリに格納するためには上記した式の変
数は次のように設定する。
D a=Dx= 1 Db=Dy=XIen+1 アドレスP(x.y) =BP+x+y (Xlen+1) アレイの各要素をメモリに格納する様子を第6図(b)
に示す.ここで、ベースアドレスBPは要素p(o,o
)の位置に対応する. 第1図に戻って、データパス40の幅はデータワードの
幅よりも広く、できるだけ広いことが好ましい.公知の
並列バスアーキテクチャがバスパフォーマンスを実現す
るために使われている.バス上のデータ転送はデータバ
スの幅に対応する最小のブロックサイズに限定される.
バスサイクルタイムは現在の技術レベルとシステムコス
トにより実現できる最も短い時間にすることが好ましい
.データパス40は64ビット幅であり、大容量メモリ
44は256ビット幅である.各MDアドレスサイクル
は320nsで、各MDアクセスの間に256ビットが
64ビット幅の4つのパスワードとしてデータパスに転
送される.各パスワードは80ns  (320ns/
4)のデータサイクルで転送される.このような構成の
効果はメモリ帯域の増加をもたらす.各アドレスアクセ
スは多バイト長の連続データからなる.同時に、各MD
アドレスサイクルの期間は低速のMDアドレスデコード
回路を作用させるに充分な時間である.各プロセッサ3
2は図示しないさらなるシフト&マスク回路を有し、そ
れの入出力端子はデータバス40に接続される.この回
路は選択的にデータバス40上のデータを8ビットの解
像度でアクセスし、その結果、データにさらなるアドレ
ッシングステージを追加する.この回路はデータを連続
したブロック内でリード、ライト可能なようにMDデコ
ーダ&線形アドレス発生器により制御される. MDデコーダ&メモリアドレス発生器46、52がMD
アドレスをデコードし、 リード、 ライトの上限値、
下限値と比較するために必要とされる時間のために、そ
の間にデータがデータパス40に転送されるデータサイ
クルはアドレスバス38上のMDアドレスの対応するア
ドレスサイクルよりも遅らされる6 このように、関連
するアドレスとデータはパイプライン化される. 第7図は通信バスライン36上のアドレスとデータの転
送例を示す.アドレスとデータはバスサイクル1 60
a、160b、160c−(各々は320ns)と同期
している.アドレスサイクル162aはバスサイクル1
60aと一致する.次のバスサイクル160bには、対
応するデータサイクル164aがデータパス上に現われ
る.この次のバスサイクル160bの期間中、次のMD
アドレスサイクル162bが生じるが、MDアドレスサ
イクル162bに関連するデータ情報を転送するデータ
サイクル164bはさらなるバスサイクル160cまで
データパス40上に現われない.このため、関連するア
ドレスサイクルとデータサイクルとがパイプライン化さ
れる.上述したように、このような構成は、アドレスバ
ス38とデータバス40の効率的な動作を可能にし、か
つMDアドレスデコード回路とメモリアクセスが作動す
ることができるポーズ期間(320ns)を確保する。
制御プロセッサ56は制御バス54によりコンピュータ
システム30の全ての部分の初期化と実行時間制御を行
なう.非ローカルデータ転送、すなわち、プロセッサ間
の転送、プロセッサ/犬容量メモリ間の転送はデータバ
ス40とアドレスバス38とにより実行される.全ての
非ローカルデータ転送はダイレクトメモリアクセス(D
MA)ブロック転送の形で行なわれる. 非ローカルデータ転送の間にMDアドレス発生器42は
制御プロセッサ56の制御の下でアドレスバス38へ一
連のMDアドレスを供給する.各アドレスはアドレスサ
イクルの間にアドレスバス38に供給される.MDデコ
ーダの中で各アドレスサイクルはライトサイクルと、そ
れに後続するリードサイクルとに分割される. ライトサイクルの期間に、MDアドレスはライト上限値
レジスタ120、ライト下限値レジスタ114内に格納
された値と比較される,MDアドレスが特定のデコーダ
の境界値の範囲内にある場合は、そのデコーダについて
のMDデコード信号は確定され、線形ライトアドレスが
得られる.後続するリードサイクルの期間に、各MDデ
コーダとメモリアドレスカウンタはMDアドレスフィー
ルドをリード上限値レジスタ118、 リード下限値レ
ジスタ112内の値と比較する,MDアドレスが特定の
デコーダの境界値の範囲内にある場合は、そのデコーダ
についてのMDデコード信号は確定され、線形リードア
ドレスが得られる.MDアドレスがどのデコーダのリー
ド、またはライト境界値の範囲内にない場合は、どのM
Dデコード信号も確定されず、MDデコーダおよび線形
アドレス発生器の出力が未定のままである.プロセッサ
32内のMDデコーダ&メモリアドレス発生器52の出
力と大容量メモリ44のMDデコーダ&メモリアドレス
発生器46の出力とに依存して、各プロセッサ、メモリ
は互いに独立してデータバス40上のデータを読み込む
、書き込む、または無視する.データパス40上にデー
タを存在させるために、MDデコーダ&メモリアドレス
発生器52と大容量メモリ44の一方はデータをデータ
バス40上に書き込まなければならない.いずれか一方
のみがMDアドレスに対してデータバス40上にデータ
を書き込む.ハードウェアは2つ以上の装置が同時にデ
ータを書き込もうとした場合の、バス競合を保護しなけ
ればならない.どのMDアドレスに対しても、 1つ以
上のプロセッサ32、および/または大容量メモリ44
は同時にデータバス40からのデータを読むことができ
る. 従って、各バスサイクルの期間、データは同一のメモリ
の異なるエリアに同時に読み書きできる.このとき、各
MDデコーダ&メモリアドレス発生器はデータアレイを
独立に読み書きアクセスできる.これは、 リードアレ
イ、 ライトアレイに対して異なるベースアドレスを指
すようにリードアレイベースアドレスレジスタ140、
ライトアレイベースアドレスレジスタ142の値を適当
に設定することにより実現できる. 上述の実施例では、アレイに格納されたデータは多数の
プロセッサメモリに転送、分散されることがある.各プ
ロセッサ毎に所望のアレイブロックのリード境界値をプ
ログラムすることにより、データの転送はアレイアドレ
スによる単一の転送システムにより実現される.転送中
、各プロセッサはデータを識別する.そのデータはプロ
グラムされたアドレス範囲内のMDアドレスにより読ま
れる.識別データは自動的にプロセッサ内に読み込まれ
る.数台のプロセッサが重複するデータブロックを必要
とする場合は、各境界値レジスタには重複するアドレス
フィールドが書き込まれる.各プロセッサは他のプロセ
ッサとは独立にデータを読む.一回のアドレス指定の期
間、適当なデータが各プロセッサに分散される。
アレイに対するソースデータも多数のプロセッサにわた
って分散される.各プロセッサに格納されているソース
データのライト境界値をプログラムすることにより、適
当なソースデータはMDアドレスが各プロセッサに対す
るライト境界値の範囲内にあるときに、各プロセッサか
らデータバスに自動的に転送される. 上述したように、ソースアレイと宛先アレイとが多数の
プロセッサにわたって分散されるので、システムはアレ
イアドレスの一回の指定によりプロセッサ間でそのよう
なデータアレイを再分散、再分配させることができる.
各プロセッサには自身が現在格納しているデータに対す
るライト境界値アドレスと、自身が読み込むべきデータ
のリード境界値アドレスが書き込まれる.転送中、MD
アドレスに対する適当なデータはプロセッサからデータ
パスに書き込まれ、データは適当な単一または複数の宛
先プロセッサに読み込まれる.プロセッサと大容量メモ
リとの間のデータの再分散は同様な転送により実行され
る. 第8図は第1段、第2段の間でデータの再分散を必要と
する2段のアルゴリズムの例である6 このようなアル
ゴリズムの典型例は2次元高速フーリエ変換(2DFF
T)である.データは2×512X512  (512
Kワード)のサイズの3次元データアレイに格納される
5 1 2X5 1 2の複素数からなる.2DFFT
アルゴリズムは行データに対して実行される512の1
次元FFTと、引き続き列データに対して実行される5
12の1次元FFTから−なる.アルゴリズムの第1段
の間、行方向にのみアクセスが行なわれ、同様に第2段
の間は、列方向にのみアクセスが行なわれる.アルゴリ
ズムは、同図(a)に示すように第1段で変換するため
に32の行データのいずれかを各プロセッサに与え、同
図(b)に示すように第2段で変換するために32の列
データのいずれかを各プロセッサに与えることにより、
 l6プロセッサ間に容易に分割される.アルゴリズム
の第1段、第2段間で、通信バスラインがデータを行フ
ォーマットから列フォーマットへの再分散を同時に行な
う2つのバッファ間で移動させるために使われる.第8
図(C)は通信バスにより16のプロセッサ間を自動的
に転送される256のデータ部分を示す.データ部分は
1つのバッファから他のバッファへ依然としてコピーさ
れるものの、これらのうちの16部分は同一のソースと
同一の宛先プロセッサを有する. 上述の実施例では、コンピュータシステムは16個のプ
ロセッサ32を有するが,他の実施例では、同様のアー
キテクチャで、異なる数の、例えば2個、あるいは32
個のプロセッサを有してもよいことが容易に分かる.ア
ーキテクチャは新しいプロセッサを通信バスにプラグイ
ンさせたり、休止中のプロセッサをスイッチオフさせる
.プロセッサが追加されたり、削除されると、制御プロ
セッサのためのソフトウェアは再ロードされ、どのプロ
セッサが使用中かを示す情報が更新される.実施例では
、ハードウェアは多次元データアレイに組織化された情
報を直接にサポートする.アレイ中のデータ自身はシス
テムの多《の物理的に分離されたメモリにわたって分散
されているものの、各プロセッサは通信バスを用いてデ
ータアレイのどんな部分をも好便的にアクセスする.シ
ステムはプロセッサ間の高割合なデータ交換を必要とす
るような多様な異なるアルゴリズムを効率的に実行する
.アクセス方法、潜在転送、転送速度はデータの物理的
な配置とは独立している.並列的なハードウェア資産を
効率よく使うためにシステムのプログラムは、単一のプ
ロセッサシステムをプログラムするに比べて若干付加的
なステップを必要とする. 各プロセッサはそれが必要とするデータのサブセットを
正確に受信し、その結果、ローカルメモリの使用を最適
化する.数台のプロセッサが同一のデータのある部分、
あるいは全部を必要とする場合、それらは同一のアクセ
スサイクルの間に適当な部分を受信する.従って、利用
可能な通信帯域を効率よく使うことができる. 多次元アレイの形に組織化されたデータは多次元アレイ
フォーマットの形を保ったままシステム内を移動する.
データは各プロセッサ内で線形フォーマットに分解され
る必要はなく、アレイフォーマットに再結合される必要
はない,データは多次元フォーマットを保ったままシス
テムから外部装置へ転送される. 本発明によるコンピュータシステムは、例えば、画像処
理、コンピュータグラフィク、CAD、科学計算に好適
である. [発明の効果] 以上説明したように、本発明によれば、データアレイを
プロセッサ間に効率的に再分散させることができ、各プ
ロセッサ内のローカルメモリの使用を最適化することが
できるマルチプロセッサコンピュータシステムが提供さ
れる.
【図面の簡単な説明】
第IIIは本発明によるマルチプロセッサコンピュータ
システムの一実施例のブロック図、第2図はMDアドレ
ス発生器の詳細なブロック図、第3図はMDアドレスの
フォーマットを示す図、第4図はMDデコーダ&メモリ
アドレス発生器の詳細なブロック図、第5図は2次元ア
ドレスのデコードを説明する図、第6図は2次元アレイ
データのメモリマッピングを示す図、第7図は通信バス
ライン上のデータ転送を示す図、第8図は2DFFTの
データフォーマットを示す図、第9図は従来のマルチプ
ロセッサコンピュータシステムのブロック図、第10図
は従来のアレイデータのメモリマッピングを示す図、第
11図はサブアレイデータを示す図、第12図は行デー
タから列データへのデータフォーマットの変換を示す図
である.36・・・通信バスライン、 38・・・MD
アドレスバ人 40・・・データパス、 42・・・M
Dアドレス発生器、 44・・・大容量メモ リ、 4 6、 5 2 ・・MDデコ −ダ&メモリアドレス発生器、 4 8 ・・CPU、 5 0・・・ローカルメモリ、 5 6・・・制御プロセッサ.

Claims (4)

    【特許請求の範囲】
  1. (1)複数のデータプロセッサと、通信バストとを有し
    、前記各データプロセッサは前記通信バスに接続され、
    前記通信バスはデータとデータを一義的に識別するため
    のデータに関連したラベル情報とを通信し、前記各デー
    タプロセッサは、前記通信バスに接続され各データプロ
    セッサが必要とするデータのラベル情報を検出するプロ
    グラム可能なリード検出器と、前記リード検出器に接続
    され検出されたラベル情報に対応するデータを前記通信
    バスから読み込む手段とを有するマルチプロセッサコン
    ピュータシステムにおいて、前記各データプロセッサは
    、前記通信バスに接続され各データプロセッサが格納し
    ているデータのラベル情報を検出し、前記リード検出器
    とは独立にプログラム可能なライト検出器と、検出され
    たラベル情報に対応するデータを前記通信バスに書き込
    む手段とを具備することを特徴とするマルチプロセッサ
    コンピュータシステム。
  2. (2)複数のデータプロセッサと、通信バストとを有し
    、データとデータを一義的に識別するためのデータに関
    連したラベル情報とが前記通信バスに供給され、前記各
    データプロセッサには、必要とするデータのラベル情報
    のリード検出情報と、格納しているデータのラベル情報
    のライト検出情報とがプログラムされ、前記各データプ
    ロセッサは前記リード検出情報に対応したデータのラベ
    ル情報を検出し前記通信バスから前記ラベル情報に関連
    するデータを読み込むマルチプロセッサシステムにおけ
    るデータ通信方法において、前記リード検出情報と前記
    ライト検出情報とは独立にプログラムされ、前記各デー
    タプロセッサは前記ライト検出情報に対応するデータの
    ラベル情報を検出し前記通信バスに前記ラベル情報に関
    連するデータを供給することを特徴とするマルチプロセ
    ッサコンピュータシステムにおけるデータ通信方法。
  3. (3)データとデータを一義的に識別するためのデータ
    に関連したラベル情報とを通信する通信バスと、前記通
    信バスに接続される多数のデータプロセッサとを具備し
    、前記各データプロセッサは、前記通信バスに接続され
    各データプロセッサが必要とするデータのラベル情報を
    検出するリード検出器手段と、前記リード検出器手段に
    接続され検出されたラベル情報に対応するデータを前記
    通信バスから読み込む手段と、前記通信バスに接続され
    各データプロセッサが格納しているデータのラベル情報
    を検出するライト検出器手段と、前記ライト検出器手段
    に接続され検出されたラベル情報に対応したデータを前
    記通信バスに書き込む手段と、前記リード検出器手段と
    ライト検出器手段とを制御し、前記ラベル情報を、先ず
    、データが前記通信バスに書き込まれるライトサイクル
    で処理し、次に、データが前記通信バスから読み出され
    るリードサイクルで処理する手段とを具備するマルチプ
    ロセッサコンピュータシステム。
  4. (4)通信バスと、前記通信バスに接続される多数のデ
    ータプロセッサとを具備するマルチプロセッサコンピュ
    ータシステムにおけるデータ通信方法において、前記通
    信バスにより通信されるデータを一義的に識別するため
    のデータに関連するラベル情報を前記通信バスに供給し
    、前記各データプロセッサに各データプロセッサが必要
    とするデータに対応するラベル情報のリード検出情報を
    プログラムし、前記各データプロセッサに各データプロ
    セッサが格納しているデータに対応するラベル情報のラ
    イト検出情報をプログラムし、前記各データプロセッサ
    を、先ず、各データプロセッサが前記ライト検出情報に
    対応するデータのラベル情報を検出し検出したラベル情
    報に対応するデータを前記通信バスに供給するライトサ
    イクルで前記ラベル情報を処理し、次に、各データプロ
    セッサが前記リード検出情報に対応するデータのラベル
    情報を検出し検出したラベル情報に対応するデータを前
    記通信バスから読み込むリードサイクルで前記ラベル情
    報を処理させるマルチプロセッサコンピュータシステム
    におけるデータ通信方法。
JP2192863A 1989-07-20 1990-07-20 マルチプロセッサコンピュータシステムおよびデータ通信方法 Pending JPH03218555A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP89307362A EP0408810B1 (en) 1989-07-20 1989-07-20 Multi processor computer system
EP89307362.7 1989-07-20

Publications (1)

Publication Number Publication Date
JPH03218555A true JPH03218555A (ja) 1991-09-26

Family

ID=8202739

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2192863A Pending JPH03218555A (ja) 1989-07-20 1990-07-20 マルチプロセッサコンピュータシステムおよびデータ通信方法

Country Status (4)

Country Link
US (1) US5586256A (ja)
EP (1) EP0408810B1 (ja)
JP (1) JPH03218555A (ja)
DE (1) DE68926043T2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007511828A (ja) * 2003-11-13 2007-05-10 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ パックワードをバスを介して送信する電子データ処理回路
US8141057B2 (en) 2001-02-16 2012-03-20 Sony Corporation Data processing apparatus and associated method

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0695999A3 (en) * 1994-06-30 1998-07-08 Digital Equipment Corporation System bus with separate address and data bus protocols
US5659714A (en) * 1995-07-05 1997-08-19 Mitsubishi Denki Kabushiki Kaisha Data processor including memory for associating data elements of two-dimensional array which are numbered in spiral order with element numbers thereof
FR2737029B1 (fr) * 1995-07-19 1997-09-26 Sextant Avionique Dispositif d'interface entre un calculateur a architecture redondante et un moyen de communication
GB9605853D0 (en) * 1996-03-20 1996-05-22 Univ Strathclyde Array indexing
US6021274A (en) * 1996-12-19 2000-02-01 Raytheon Company Automated data distribution system and method for massively parallel processes
US6658417B1 (en) 1997-12-31 2003-12-02 International Business Machines Corporation Term-based methods and apparatus for access to files on shared storage devices
JP4317296B2 (ja) 1999-09-17 2009-08-19 株式会社ターボデータラボラトリー 並列コンピュータのアーキテクチャおよびこのアーキテクチャを利用した情報処理ユニット
US6912586B1 (en) * 1999-11-12 2005-06-28 International Business Machines Corporation Apparatus for journaling during software deployment and method therefor
US6615274B1 (en) 1999-12-09 2003-09-02 International Business Machines Corporation Computer network control systems and methods
US6704782B1 (en) 1999-12-09 2004-03-09 International Business Machines Corporation System and methods for real time progress monitoring in a computer network
US6604237B1 (en) 1999-12-14 2003-08-05 International Business Machines Corporation Apparatus for journaling during software deployment and method therefor
US7191208B1 (en) 1999-12-14 2007-03-13 International Business Machines Corporation Methods of selectively distributing data in a computer network and systems using the same
US6588011B1 (en) 1999-12-14 2003-07-01 International Business Machines Corporation Apparatus for automatically generating restore process during software depolyment and method therefor
TW508494B (en) * 2001-03-28 2002-11-01 Shansun Technology Company Data protection device capable of self-defining address arrangement sequence in protection area of storage device
GB0130534D0 (en) * 2001-12-20 2002-02-06 Aspex Technology Ltd Improvements relating to data transfer addressing
US7958374B2 (en) 2002-03-19 2011-06-07 Shansun Technology Company Digital information protecting method and apparatus, and computer accessible recording medium
US9081725B2 (en) 2002-03-19 2015-07-14 Shansun Technology Company Digital information protecting method and apparatus, and computer accessible recording medium
US7131204B2 (en) * 2003-11-10 2006-11-07 Irwin Industrial Tool Company Utility knife with actuator for moving blade carrier and for releasing blade therefrom, and related method
KR20060130674A (ko) * 2004-03-25 2006-12-19 소니 가부시끼 가이샤 정보 신호 처리 장치, 기능 블록 제어 방법 및 기능 블록
US20060177122A1 (en) * 2005-02-07 2006-08-10 Sony Computer Entertainment Inc. Method and apparatus for particle manipulation using graphics processing
US8781110B2 (en) * 2007-06-30 2014-07-15 Intel Corporation Unified system architecture for elliptic-curve cryptography
US8621322B2 (en) * 2008-09-30 2013-12-31 Freescale Semiconductor, Inc. Data interleaver
US20100228785A1 (en) * 2009-03-05 2010-09-09 Gaither Blaine D Row Column Storage
US20100257329A1 (en) * 2009-04-02 2010-10-07 Brucek Khailany Apparatus and method for loading and storing multi-dimensional arrays of data in a parallel processing unit
US11210221B2 (en) * 2019-12-10 2021-12-28 Pony Ai Inc. Memory architecture for efficient spatial-temporal data storage and access

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4954951A (en) * 1970-12-28 1990-09-04 Hyatt Gilbert P System and method for increasing memory performance
US3851313A (en) * 1973-02-21 1974-11-26 Texas Instruments Inc Memory cell for sequentially addressed memory array
AU501600B2 (en) * 1973-11-30 1979-06-28 Compagnie Internationale Pour L'informatique Cii Multiprogramming computer system
GB1532275A (en) * 1976-01-28 1978-11-15 Nat Res Dev Apparatus for controlling raster-scan displays
US4045781A (en) * 1976-02-13 1977-08-30 Digital Equipment Corporation Memory module with selectable byte addressing for digital data processing system
US4051551A (en) * 1976-05-03 1977-09-27 Burroughs Corporation Multidimensional parallel access computer memory system
JPS533029A (en) * 1976-06-30 1978-01-12 Toshiba Corp Electronic computer
CA1116261A (en) * 1976-12-01 1982-01-12 Richard T. Flynn Method and apparatus by which one processor in a multiprocessor computer system communicates with another
FR2394921A1 (fr) * 1977-06-13 1979-01-12 Poitevin Jean Pierre Modulateur a quatre phases a sauts decales
NL7713706A (nl) * 1977-12-12 1979-06-14 Philips Nv Informatiebuffergeheugen van het "eerst-in, eerst-uit" type met een variabele ingang en een variabele uitgang.
GB2017987B (en) * 1978-03-29 1982-06-30 British Broadcasting Corp Method of and apparatus for processing data particularly digital audio signals
DE2842288A1 (de) * 1978-09-28 1980-04-17 Siemens Ag Datentransferschalter mit assoziativer adressauswahl in einem virtuellen speicher
US4231088A (en) * 1978-10-23 1980-10-28 International Business Machines Corporation Allocating and resolving next virtual pages for input/output
GB2044580B (en) * 1979-02-27 1983-03-23 Micro Consultants Ltd Distributed store and processor with movement tag system
US4344130A (en) * 1979-09-26 1982-08-10 Sperry Corporation Apparatus to execute DMA transfer between computing devices using a block move instruction
US4315312A (en) * 1979-12-19 1982-02-09 Ncr Corporation Cache memory having a variable data block size
EP0059731A4 (en) * 1980-09-23 1985-10-01 Western Electric Co PROCESSOR CONNECTION SYSTEM.
FR2500659B1 (fr) * 1981-02-25 1986-02-28 Philips Ind Commerciale Dispositif pour l'allocation dynamique des taches d'un ordinateur multiprocesseur
JPS59146345A (ja) * 1983-02-10 1984-08-22 Masahiro Sowa コントロ−ルフロ−並列計算機方式
GB2168182A (en) * 1984-12-05 1986-06-11 Conic Corp Data-driven processor
US4855903A (en) * 1984-12-20 1989-08-08 State University Of New York Topologically-distributed-memory multiprocessor computer
US4803617A (en) * 1986-02-10 1989-02-07 Eastman Kodak Company Multi-processor using shared buses
US4766534A (en) * 1986-10-16 1988-08-23 American Telephone And Telegraph Company, At&T Bell Laboratories Parallel processing network and method
US5086498A (en) * 1987-01-23 1992-02-04 Hitachi, Ltd. Parallel computer with asynchronous communication facility
US5293481A (en) * 1987-02-18 1994-03-08 Canon Kabushiki Kaisha Data parallel processing apparatus
JPH0828094B2 (ja) * 1987-07-31 1996-03-21 日立マクセル株式会社 テ−プカ−トリツジ
US4959776A (en) * 1987-12-21 1990-09-25 Raytheon Company Method and apparatus for addressing a memory by array transformations

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8141057B2 (en) 2001-02-16 2012-03-20 Sony Corporation Data processing apparatus and associated method
JP2007511828A (ja) * 2003-11-13 2007-05-10 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ パックワードをバスを介して送信する電子データ処理回路

Also Published As

Publication number Publication date
EP0408810B1 (en) 1996-03-20
US5586256A (en) 1996-12-17
EP0408810A1 (en) 1991-01-23
DE68926043D1 (de) 1996-04-25
DE68926043T2 (de) 1996-08-22

Similar Documents

Publication Publication Date Title
JPH03218555A (ja) マルチプロセッサコンピュータシステムおよびデータ通信方法
US4622632A (en) Data processing system having a pyramidal array of processors
EP0263924B1 (en) On-chip bit reordering structure
US5526501A (en) Variable accuracy indirect addressing scheme for SIMD multi-processors and apparatus implementing same
US5239642A (en) Data processor with shared control and drive circuitry for both breakpoint and content addressable storage devices
US5956274A (en) Memory device with multiple processors having parallel access to the same memory area
US5751987A (en) Distributed processing memory chip with embedded logic having both data memory and broadcast memory
US4974146A (en) Array processor
US5341500A (en) Data processor with combined static and dynamic masking of operand for breakpoint operation
US5410727A (en) Input/output system for a massively parallel, single instruction, multiple data (SIMD) computer providing for the simultaneous transfer of data between a host computer input/output system and all SIMD memory devices
US5386523A (en) Addressing scheme for accessing a portion of a large memory space
EP0341897A2 (en) Content addressable memory array architecture
US20060143428A1 (en) Semiconductor signal processing device
US8341328B2 (en) Method and system for local memory addressing in single instruction, multiple data computer system
JPH0622034B2 (ja) マルチポートベクトルレジスタファイル
US5956517A (en) Data driven information processor
US4764896A (en) Microprocessor assisted memory to memory move apparatus
KR100772287B1 (ko) 대규모 병렬 프로세서 어레이를 메모리 어레이에 비트직렬 방식으로 접속하는 방법 및 장치
US5708839A (en) Method and apparatus for providing bus protocol simulation
US5247630A (en) M-dimensional computer memory with m-1 dimensional hyperplane access
JPS61256478A (ja) 並列処理計算機
JPS6191740A (ja) メモリ・アクセス制御方式
GB2399901A (en) Method for using a reduced width instruction set in an active memory device
JP2515724B2 (ja) 画像処理装置
JPH0646413B2 (ja) デ−タ処理プロセッサ