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

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

Info

Publication number
JPH03211656A
JPH03211656A JP1338040A JP33804089A JPH03211656A JP H03211656 A JPH03211656 A JP H03211656A JP 1338040 A JP1338040 A JP 1338040A JP 33804089 A JP33804089 A JP 33804089A JP H03211656 A JPH03211656 A JP H03211656A
Authority
JP
Japan
Prior art keywords
processor
memory
processors
data
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.)
Granted
Application number
JP1338040A
Other languages
English (en)
Other versions
JP3026984B2 (ja
Inventor
Balmer Keith
キース バルマー
K Ing-Simmons Nicholas
ニコラス ケイ イングシモンズ
Karl M Guttag
カール エム グタッグ
Robert J Gove
ロバート ジェイ ゴーヴ
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments 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 Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JPH03211656A publication Critical patent/JPH03211656A/ja
Application granted granted Critical
Publication of JP3026984B2 publication Critical patent/JP3026984B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17375One dimensional, e.g. linear array, ring
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F12/0284Multiple user address space allocation, e.g. using different base addresses

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】
〔産業上の利用分野〕 この発明はマルチプロセッサシステム(多重処理システ
ム)に関し、特に複数個のプロセッサと多数の異なるメ
モリアドレス空間とを相互接続することが可能なマルチ
プロセッサシステム及びその使用方法に関する。 〔従来の技術〕 コンピュータやプロセッサの世界では演算能力をより大
きくシ、演算速度を高めることが間断なく求められてお
り、このような状況においては複数個のプロセッサを組
み合わせて互いに並列動作させることができるシステム
が必要となる。 画像を生じさせてデータに対する各種の操作を行い、画
像表′示されたデータ及び記憶データの表示を制御する
画像処理システムはどうしても大量の演算と記憶を必要
とするが、このような画像処理システムは、異なるプロ
セッサが異なるタスクを同時並行的に実行する多重処理
の適用対象の第1の候補である。この場合、プロセッサ
は、全部が同じ命令により動作するがデータは各種のソ
ースから取り込む単一命令多重データ(SIMD)モー
ドで同時動作させることもできるし、各プロセッサが異
なる命令セットにより異なるソースからのデータを処理
する多重命令多重データ(MIHD)モードで同時動作
させることもできる。しかし、異なる動作モードについ
てはそれぞれ異なる構成が必要となる。 〔発明が解決しようとする課題〕 そこで、この技術分野においては、マルチメモリを備え
たマルチプロセッサを取り扱うシステムにあって、それ
らのプロセッサがいくつかの異なる命令セットを処理し
ている時であっても1つまたは2つ以上のプロセッサが
マルチメモリのすべてのメモリより得られるアドレス空
間を同時に使用することができるようなシステムが求め
られている。 さらに、SIMDモードでもIIIMDモードでも相互
に切り換えて使用可能とするスイッチを具備した構成の
多重処理システムないしはマルチプロセッサシステムが
求められている。 後述のこの発明の一実施例のところに記載されている画
像処理装置のような複雑なシステムにおける荒天な相互
接続の問題を解決する1つの方法は、プロセッサ全体を
そっくり単一デバイスとして構成することである。これ
は概念的には簡単に達成することができるように見える
かもしれないが、実際には問題はかなり込み入っている
。 まず第一に、情報の効率的な移動ということを充分考慮
に入れると共にシリコンチップの貴重なスペースを節約
したアーキテクチャが創出されなければならない。その
アーキテクチャは、いったん作り上げると、異なるアプ
リケーションが生じる毎それに合わせて変更、改変する
ことは容易にはできないので、非常に高度のフレキンビ
リティが確保されるようにしなければならない。次に、
このようなシステムの処理能力は大きなものになるから
、チップに対する情報の出し入れにおいてもかなり高い
バンド幅が必要となる。それはチップ1個に固着し得る
リード線数が物理的に限定されるためである。 また、イメージプロセッサのようなパラレルプロセッサ
システムは、広範にわたり且つ絶えず変化する使用基準
を満足するに足る充分なシステムの柔軟性を確保しつつ
全体をそっくり単一のシリコンチップ上に形成するよう
な設計が望まれる。 さらに、SIMDやMIHDのような種々のモードの動
作に容易に適合させ得ると共に、チップ内外間の効率的
なデータのやりとりにも適合させ得るようなプロセッサ
ーメモリインターフェースを有するシングルチップ型の
パラレルプロセッサを構築することが望まれる。 〔課題を解決するための手段〕 この発明によれば、これらの問題は、画像処理及び図形
(グラフィックス)処理を扱う多重処理システムを設計
するに際し、すべてのプロセッサをどのメモリとでもあ
らゆる構成により相互接続してそれらの間でデータをや
りとりさせることのできるクロスバスイッチを案出し、
このシステムでn個のパラレルプロセッサをm個(ただ
しm〉n)のメモリに接続し得るようにしたことにより
解決される。 この発明によれば、高度の柔軟性、融通性を持つシング
ルチップ型イメージプロセッサの製作に付随する特育の
問題点が個々のプロセッサと個々のメモリとの間にマル
チリンク・マルチパスクロスバスイッチを設けるという
アーキテクチャにより解決され、このアーキテクチャが
高密度スイッチの設計と相俟って、すべてのプロセッサ
のすべてのメモリに対するフルアクセスを可能とする。 このクロスバスイッチは、それぞれ異なる機能に用いら
れる長さの異なるリンクを具備して構成され、これによ
ってスペースの節約を図ると共に、なおかつ高度の使用
上のフレキシビリティを確保し得るようになっている。 この発明の一実施例においては、転送プロセッサはオン
チップ/オフチップのデータのやりとりヲ制御すべく動
作させる一方、マスタープロセッサを共通メモリとのデ
ータのやりとりを制御するのに使用する。動作原理とし
ては、すべてのプロセッサが複数個の中のどのメモリに
もアクセスすることができる一方で、一部のメモリはも
っばら個々のプロセッサ用の命令を扱うために使用され
るようになっている。 この発明のマルチプロセッサシステムは、メモリソース
から供給される命令セットにより各々動作して1つまた
は2つ以上の各々一意のアドレス指定可能空間を有する
アドレス指定可能メモリに対するデータの入出移動に依
拠する多数の異なるプロセスを制御することが可能なn
個のプロセッサによって動作し、且つこのマルチプロセ
ッサは上記メモリに接続され且つ上記プロセッサに接続
されたスイッチマトリクスを有し、このスイッチマトリ
クスをプロセッササイクル単位ベースで選択的にかつ同
時にイネーブル(動作可能)化して上記のいずれ化のプ
ロセッサといずれかのメモリとを相互接続し、上記メモ
リとこれに接続された上記プロセッサとの間で1つまた
は2つ以上のアドレス指定可能メモリ空間からの命令セ
ット及びそれ以外のアドレス指定可能メモリ空間からの
データをやりとりさせるようになっている。 〔実施例〕 この発明の実施例のシステムのオペレーションについて
説明する前に、まず第5図及び第6図に示すような従来
技術における並列処理システムについて説明しておく。 第5図は、単一のメモリ55をアクセスするプロセッサ
50〜53を具備したシステムを示す。図示のシステム
は一般にシェアドメモリ(共用メモリ)システムと呼ば
れるもので、すべてのパラレルプロセッサ50〜53が
同じメモリ55に対してデータを共用的に出し入れする
。 第6図は従来技術によるもう1つの並列処理システムの
例を示し、このシステムではプロセッサ60〜63に対
しメモリ65〜68が一対一の関係で分散的に配設され
ている。この分散メモリ型のシステムでは、複数個の各
プロセッサが各々のメモリを並列にアクセスするので、
動作時プロセッサ間のメモリ競合は起こらない。第5図
及び第6図に示すようなシステムオペレージ8ンの構成
は、以下にも説明するように、ある特定の形態の課題を
扱うのに適しており、それぞれそのような特定形態の課
題に合わせて最適化されている。そして、従来は共用型
あるいは分散型のいずれかになるようにシステムを作る
という傾向があった。 これに対し、最近では処理要求がより複雑化しかつ動作
速度の重要度が増すにつれて、共用メモリモードで実行
するのが最適のオペレーション、また分散メモリモード
で実行するのが最も良いものを含めて広範にわたるオペ
レージ式ンを取り扱い得る能力がこの種のシステムにき
って重要になってきた。この発明によれば、第1図及び
第2図に示すような構成によってシステムが共用メモリ
モードでも分散メモリモードでも並列処理動作を行うこ
とができるようにすることにより上記の能力を具備した
システムが達成される。また、これらのどのモードにお
いても、SIMDやMIMDのような各種の処理方式が
実行可能である。以下、この発明を実施例によりさらに
詳細に説明する。 マルチプロセッサとメモリの 第1図に示すように、この発明のマルチプロセッサシス
テムはパラレルプロセッサ(並列フロセy?)100〜
103及びマスタープロセッサ12を宵し、これらのプ
ロセッサはクロスバスイッチと呼ばれるサイクルレート
ローカル接続網のスイッチマトリクス20を介して一連
のメモリ10に接続されている。以下に明らかにするよ
うにに、このクロスバスイッチは、各特定のオペレーシ
ョンのために必要となる都度、分散メモリ構成と共用メ
モリ構成とを色々に組み合わせることができるようサイ
クル単位ベースで動作してこれら複数個のプロセッサと
複数個のメモリを様々に組み合わせる。 また、一部のプロセッサ群が一部のメモリについて分散
モードで動作している時、これと同時に他のプロセッサ
がある特定のメモリを対象に互いに共用モードで動作す
るということも可能であるが、これについても以下に説
明する。 第2図に示すこの発明のマルチプロセッサシステムでは
、4つのパラレルプロセッサ100.101゜102、
103がスイッチマトリクス20を介してメモリIOに
接続されており、スイッチマトリクス20はこノ場合分
散バスとして描かれている。また、転送プロセッサ(T
P)11及びマスタープロセッサ(MP)+2もクロス
バスイッチ20を介してメモリlOに接続されている。 マスタープロセッサ12はバス171及び172を介し
てそれぞれデータキャッシュメモリ13及び命令キャッ
シュメモリ14に接続されている。 パラレルプロセッサ100乃至103は、以下に説明す
るように、これらのプロセッサ同士並びにマスタープロ
セッサI2及び転送プロセッサIIとの間で通信する(
信号をやりとりする)ことができるよう通信バス40を
介して相互に接続されている。転送プロセッサ11はバ
ス21を介して外部メモリ15と通信することができる
。 また、第2図において、フレームコントローラ+70は
バス110を介して転送プロセッサ11と通信t6゜フ
レームコントローラ+70は、以下に説明するように、
画像入出力部または手段を制御するのに用いられる。画
像入力部としては、例えば、ビデオカメラがあり、出力
部は例えばデータデイスプレィである。画像入出力は、
その他如何なる手段でも使用可能であるが、その方法に
ついては追ってより詳しく説明する。 コノヨウにクロスバスイッチ20を分散型にすると通信
ボトルネックを軽減するのに役立ち、システム各部間に
おける通信の流れを容易にすることができる。このクロ
スバスイッチはプロセッサ及びメモリと共に単一チップ
上に集積回路化されており、これによってもシステムの
各素子間の信号伝送、通信をさらに改善することができ
る。 また、チップ上の回路形成、集積化は数層にわたって行
われるので、スイッチマトリクスの素子も相異なるいく
つかの層に分かれる場合があるということも重要である
。クロスバスイッチを図示する場合、縦横の線によって
マトリクス状に描かれるが、実際はこれらの線は互いに
空間的に隔てられて全部同一方向に配設されているに過
ぎないこともある。従って、スイッチマトリクスのリン
クについて言う場合、縦線及び横線という用語は互換的
に使用可能であり、同じ平面あるいは異なる平面内で互
いに空間的に隔てられた線を指すものとする。 ところで、この発明のマルチプロセッサシステムは多種
類のモードで動作することができ、その1つは単一の命
令ストリームが2つ以上のパラレルプロセッサに供給さ
れ、各プロセッサは同じメモリまたは異なるメモリにア
クセスしてデータに対する処理を実行することができる
単一命令多重データ(StにD)モードである。もう1
つは多重命令多重データ(MIND)モードであり、こ
のモードでは複数のプロセッサが通常異なるメモリから
供給される複数の命令に従って動作し、同しメモリまた
は異なるメモリデータバンクからのデータを処理スル。 この発明のマルチプロセッサシステムが動作可能なモー
ドはこれらの2つの動作モード以外にも沢山あり、追っ
て明らかとなるように、このシステムは必要に応じて周
期的に動作モードを切り換えて異なる命令ストリームの
異なるアルゴリズムを処理することも容易である。 第1図に戻って、マスタープロセッサ12はクロスバス
イッチ20を介してメモリlOに接続されて1.する。 やはりクロスバスイッチ20に接続された転送プロセッ
サ11はバス21を介して外部メモリ15に接続されて
いる。また、 メモリIOにはいくつかの独立メモリ及
び後述する如くプロセッサ相互接続バス(通信バス)4
0との関連において用いられる7寸うメータメモリが設
けられている。第2図には/<ラメータメモリは1つし
か示していないが、実際にはこれは各プロセッサ毎に1
つずつ複数個のRAM(ランダムアクセスメモリ)で構
成してもよく、そうすることによって通信、信号伝送の
効率をより高めることができる共に、複数個のプロセッ
サがこれらのRAMに対して同時に通信することが可能
となる。 第4図は第1図及び第2図をより詳細に示すもので、図
示のように、 4つのパラレルプロセッサ100〜+0
3は通信バス40により相互に接続されると共にクロス
バスイッチマトリクス2oによってメモリ10にも接続
されている。このクロスバスイッチの各叉点は左下角の
0−0を起点とする座標により称呼される。この場合、
最初の数字は縦列の番号(横座標)を表す。従って、左
下角の叉点が0−0であるから、同じ最下行のそのすぐ
右隣の叉点は10となる。例えば叉点15等、各叉点は
後出の第19図に詳細に示すような構成を有する。第4
図において、パラレルプロセッサ103等の各パラレル
プロセッサはグローバルデータ接続部(G)、ローカル
データ接続部(L)及び命令接続部(1)を存する。こ
れらの接続部はそれぞれ異なる目的に用いられるが、こ
れについては以下に詳細に説明する。簡単には、例えば
グローバル接続部はプロセッサ+03をメモリ10の中
のどのメモリにでも接続可能とするためのもので、それ
らのメモリからデータを取り込むのに用いることができ
る。 これらの各パラレルプロセッサのローカルメモリボート
は、それぞれ、各プロセッサの対向位置にある縦方向ま
たは縦列スイッチマトリクスリンクに対応するメモリの
みをアドレス指定することができる。即ち、パラレルプ
ロセッサ103の場合は、クロスバスイッチマトリクス
20の縦リンクO11及び2を使ってメモリ10−16
.10−15及び 10−14をアクセスし、MIMD
モードにおけるデータ転送を行うことができる。さらに
、MINDモードの時、メモリ10−13はプロセッサ
+03に命令ストリームを供給する。追って説明するよ
うにSlにDモードにおいてはプロセッサ用の命令はす
べてメモリ10−1より供給される。そのため、命令メ
モリ10−13はデータ用として使用可能である。その
場合、クロスバスイッチマトリクス20は縦リンク4を
介してローカルメモリボートよりアクセスすることがで
きるよう構成し直すが、そのやり方については後述する
。 第4図に示すように、パラレルプロセッサ 100〜+
03は各々色々なメモリにアクセスするこトカできるよ
う特定のグローバルバスと特定のローカルバスを有して
いる。即ち、パラレルプロセッサ100はクロスバスイ
ッチマトリクス20の横リンク2よりなるグローバルバ
スを有し、パラレルプロセッサ+01はスイッチマトリ
クス2oの横リンク3よりなるグローパルスバスを存す
る。また、パラレルプロセッサ102及び103はそれ
ぞれスイッチマトリクス20の横リンク4及び5よりな
るグローバルバスををする。 各パラレルプロセッサに接続されたローカルバスは全部
でスイッチマトリクス20の横リンク6を共用する。た
だし、この横リンク6は、図示の如く、3つのスリース
テートバッファ404.405及ヒ406により4つの
部分に分けられている。これによって横リンク6は各プ
ロセッサの各ローカル入力部が異なるメモリをアクセス
することができるよう効果的に分離される。この構成は
シリコンチップ上のレイアウト面積をより効率的に利用
するために案出されたものである。上記バッファはこれ
により分割される複数個の部分を後述の如く必要に応じ
て1つに接続し、プロセッサ間でのデータの共通伝送を
可能にする。この構成によれば、メモリ10−0.10
−2.10−3及び10−4からノデータヲをパラレル
プロセッサ100〜103のどれにでも伝送することが
できる。 マルチプロセッサシステムがMIHDモードで動作して
いる時は、パラレルプロセッサの命令ボート、例えばプ
ロセッサ103の命令ボートは叉点4−7を介して命令
メモリ10−13に接続される。このモードでは、叉点
4−2. t−3,4−4,4−5及び4−6は4−1
共々デイスエーブル(動作不能)化される。またM I
MDモードにおいて叉点4−0は動的作動性の叉点であ
り、これによって転送プロセッサも必要に応じて命令メ
モリ10−13にアクセスすることができる。これと同
じ手法の動作が叉点9−7(プロセッサ102)及び叉
点14−7 (プロセッサ101)についても可能であ
る。 このマルチプロセッサシステムがSIMDモードで動作
中は、叉点4−7はイナクティブ(非動作)状態である
が、叉点4−2〜4−6はアクティブ(動作状態)化可
能であり、これによってメモリ 10−13のデータは
クロスバスイッチマトリクス20の縦リンク4を介して
全部のパラレルプロセッサI00〜103が利用可能に
なる。同時に、SIMDモードでは、バッファ401.
402、及び403がアクティブ化され、これによって
命令メモリ10−1は、プロセッサ 100〜+03の
全部が各々の命令入力ポートを介してアクセスすること
ができる。例えば、バッファ 401がアクティブ化さ
れ、バッファ402及び403はイナクティブであると
すると、プロセッサ100及び101は命令メモリ10
−1を共用してS!MDモードで動作することができる
一方、プロセッサ102及び1゜3はこれとは独立にメ
モリto−13及び10−9の命令をMINDモードで
実行する。 叉点18−0.13−0.8−0及び3−0は転送プロ
セッサ11をいずれかのパラレルプロセッサの命令入力
ポートに接続可能とするためのもので、この接続は例え
ばキャッンユミスが生じたような場合に転送プロセッサ
がこれらのパラレルプロセッサにアクセスすることがで
きるようにする等、いろいろな目的に利用可能である。 第7図はメモリ55及び55Aに関しては共用モード(
前出、第5図)で動作し、メモリ65〜68に関しては
分散モード(前出、第6図)で動作するパラレルプロセ
ッサ100〜103のオペレーションの構成概念を示す
。図示のようなパラレルプロセッサのフレキシブルな接
続構成を達成する具体的方法を以下に説明するが、これ
は以下の説明からも明らかなように、複数個のリンクを
具備したクロスバスイッチマトリクス20の動作に基づ
くものであって、このスイッチマトリクスはそれらのリ
ンクが叉点で個々に作動して所望の様々な接続構成をも
たらすようになっている。 クロスバスイッチの動作説明に入る前に第3図に示すよ
うなもう1つのシステム構成について考察しておく方が
良いと考えられる。図示の構成にあっては、バス34を
各々第1図及び第2図で説明したような構成を有する一
連のプロセッサ30〜32と接続された状態に設定する
ことができる。図示の外部メモリ35は、第1図、第2
図のメモリ15と同様単一メモリよりなる。もちろん、
この外部メモリはシステムに対しローカル配設されたも
の及びリモート配設されたものを含め、一連の複数個の
個別メモリで構成してもよい。第3図の構成は、何種類
ものプロセッサをそれらのすべてのプロセッサが統合さ
れたアドレス指定能力を有する単一のグローバルメモリ
空間にアクセスするものとして本願におけるイメージシ
ステムプロセッサ[(IsP ’)コと共に1つに統合
するのに用いることができる。また、この構成は、すべ
てのパラレルプロセッサが各々独自のオペレーションを
実行している間に信号をやりとりし合うことができ且つ
秩序を保つことができるようにバス34を介してメモリ
アクセスする統合コンテンション型構成とすることもで
きる。ホストプロセッサ33は複数のプロセッサ30〜
32の間の競合整理という問題の一部を受持って、バス
34上のデータフローの秩序を確保するよう機能する。 画」1」L埋 画像処理では、ある画像に対して実行可能ないくツカの
レベルのオペレーションがある。これらのレベルは、単
にデータをその内容を理解することなく伝達して基本オ
ペレーションを実行するだけのレベルを最下位レベルと
するいくつかの異なるレベルよりなると考えることがで
きる。この最下位レベルのオペレーションは例えば画像
から異質な斑点を除去する動作等であり、これより少し
上のレベルは例えばデータのある部分が円を表すという
ことを認識するものの、その円が人間の顔の一部分であ
るということを充分に理解することはできないというよ
うなレベルである。画像処理におけるもう1つ上のレベ
ルのオペレージ式ンとしては、例えば、色々な円やその
他の形が人間の顔のイメージあるいはその他のイメージ
を形成するということを理解して画像を処理すると共に
、そのような情報を様々な形で利用する等のオペレーン
ジンがある。 画像処理におけるこれらの各レベルのオペレーションは
プロセッサをある特定のモードで動作させることにより
最も効率的に実行される。従って、画像全体を理解しよ
うとせずにローカル的にまとめられたデータに対してオ
ペレーンジンを実行スる時は、通常、全部または一部の
プロセッサが単一命令と多重データソースからのデータ
により動作する5INDモードを用いる方がより効率的
である。 これに対して、全体画像を理解するためにそのいろいろ
な特徴からビクセル(画素)データが要求されるような
より高いレベルのオペレーションは、各プロセッサがそ
れぞれ個別の命令によって動作するMINDモードで実
行するのが最も効率的である。 ここで重要なのは、システムが5INDモードで動作し
ている時、全ピクセルイメージを単一命令スドリームに
より色々なプロセッサを通して処理することができると
いうことである。そのオペレジロンは、例えば、画像全
体をクリーニングする処理の場合や、様々なコーナー(
角部)や縁部を浮き立たせるために画像強調する処理の
場合等である。そして、すべての画像データは5IND
モードでプロセッサを通過するが、各時点において画像
の種々異なる部分からのデータを異なる目的に合わせて
異なるやり方で同時に処理することは不可能である。 
 SIMDオペレーン日ンの一般的特徴は、どの期間に
おいても処理中のデータ量は画像全体に対して比較的少
量であるということである。逐次後の段階ではより多く
のデータが同じやり方で処理される。 これと異なり、MIMDモードでは画像の色々な部分か
らのデータが一部は異なるアルゴリズムを用いて同時に
処理される。このモードのオペレーンジン構成では、所
望の結果を得るのに異なるデータに対して異なる命令が
同時に実行される。その簡単な例としては、例えば、多
くの異なるSIMDアルゴリズム(クリーン(クリーニ
ング)、エンノ1ンス(強調)、エキストラクト(抽出
))等のようなアルゴリズム)が同時に処理される場合
、あるいは多くの異なるプロセッサでバイブライン処理
される場合等が考えられる。MIMDのもう1つの例と
しては、一意の演算機能あるいは論理機能を用いつつも
同じデータフローについていくつかのアルゴリズムを実
行する場合等を挙げることができよう。 第8図及び第9図はそれぞれ従来技術によるSIMD及
びMIND構成のプロセッサを各々のメモリと共に示し
ている。図示の構成は画像処理に好都合なSIMD/M
IHDのトポロジー(接続形態)である。このシステム
のオペレージジンモードについては追って第5S図乃至
64図を参照しつつより詳しく説明する。概して言うと
、第8図のデータバス80は第60図のデータバスl1
i010、[1020,8030及び6040に相当し
、第9図のプロセッサ90は第53図のプロセッサ59
01.5911.5!12115931に相当する。こ
れらのデータバス用のコントローラ(第60図の[10
02) !を第8図では省略されている。 SIMD/MIHD         システム第10
図はこの発明のSIMD/MIHD構成変更可能型(構
成可変型)システムのトポロジーを示し、図示のシステ
ムでは、すべてサイクル単位ベースで、複数個のパラレ
ルプロセッサをクロスバスイッチマトリクス(ローカル
及びグローバル相互接続網)20を介して一連のメモリ
IOに接続することができると共に、転送プロセッサ1
1を介して外部メモリ15に接続することができる。 この場合、MIND)ポロジーでオペレーションを実行
する際の問題の1つは、実際のデータフローがシリアル
ベースで行われるかトポロジー的にエミュレートされる
SlにDモードに比べて高いバンド幅を必要とする場合
があるということである。この点、SIMDモードでは
、データは一般に1つのプロセッサから次のプロセッサ
へといくつものプロセッサを逐次通って流れる。このこ
とは有利な面もあるが、問題でもある。これが問題とな
るのは、処理のある点に到達するためには画像のデータ
をすべて処理しなければならないという点においてであ
るが、SIMDモードではこの処理はシリアル的に行わ
れる。しかしながら、MIHDモードでは、共用メモリ
はデータが到着する毎にシリアルベースでしかアクセス
できないSIMDのオペレーションに対して、個々のメ
モリのデータはサイクル中いつでも取り込むことができ
るので、上記の問題は解消される。 しかしながら、MlにDモードは、プロセッサ間通信(
IPc)を行うことを要求される場合にはオペレーシゴ
ン上のボトルネックがある。と言うのは、この場合、1
つのプロセッサがデータをメモリに書き込んだ後に他の
プロセッサがそのことを認識してそのメモリにアクセス
するようにしなければならないからである。この動作に
はかなりのサイクルタイムが必要なこともあるため、大
量のビクセルデータを伴う大きな画像は相当長い処理時
間が要求され得る。これは大きな難点である。上にも述
べたように、第1θ図の構成によれば、これらの問題は
解消される。それは、クロスバスイッチは必要に応じて
サイクル単位ベースで複数個のプロセッサをまとめて相
互接続して、ある期間単一命令により動作させるか、ま
たは第1のメモリに記憶されているデータが、他のプロ
セッサが1サイクルあるいは一定期間これと同じメモリ
に接続されている間、その第1のメモリに保持されるよ
う、これらのプロセッサをそれぞれ独立に動作させるよ
うに相互接続することができるからである。 要するに、従来技術では、データを多数のプロセッサに
アクセスさせるにはそのデータをメモリからメモリへ移
動させなければならないことがあったが、この発明のシ
ステムでは、データは一貫してメモリ内に保持しつつメ
モリに対する接続構成は必要に応じて切り換えることが
できる。これによれば、プロセッサとメモリのオペレー
ジロンにおける完全なフレキシビリティを確保し得ると
同時に、データ転送リソースの最適活用が可能である。 ここで、種々の5IHD及びMIMDモードにおけるデ
ータ処理の具体例を第12図及び第13図を参照しつつ
説明する。第12図には一連のビクセル(画素)0〜n
を存する画像125が示されている。図示の画像は1行
にビクセルが4つしかないように描かれているが、これ
は例示説明のためであって、通常は画像は例えば100
0行からなり、各行には1000個ものビクセルがある
。また、画像の行数及び各行中のビクセル数は各時点毎
に変化し得るが、ここでは、1行は4ビクセルよりなる
ものと仮定して説明する。メモリ124内におけるこれ
らのビクセルを表す1つの方法は、上から下に向けてビ
クセル0、ビクセル1、φ・・、ビクセルnと記された
メモリ124の各アドレス指定可能空間にそれぞれこれ
らのビクセルが入っているものとみなすやり方である。 以下に述べるように、このメモリは単一のメモリでも一
連の複数個のメモリで構成されたものであってもよいと
いうことはもちろんである。複数個のメモリを用いる場
合は、データを各行毎に異なるメモリに記憶するような
構成とすることも可能である。 ここで、全部のビクセルまたはビクセルの何らかのサブ
グループについてのデータに関し、そのデータをすべて
同じ命令により処理してからメモリに戻すようなオペレ
ージロンを行なおうという場合について考える。この場
合、例えばメモリ124のビクセルOの空間からのデー
タはプロセッサ120にロードされ、プロセッサ+20
から121 へ転送され、そこからプロセッサ122へ
、さらにプロセッサ+23へ転送される。そして、この
各転送動作毎に新しいデータがエントリーされるという
ような動作が行われる。この手法を用いると、プロセッ
サ12G −123はそれぞれデータに対して何らかの
処理を行う機会を与えられると共に、それらのデータに
対して以前に行われた処理を観察する機会を与えられる
。このような動作が一巡すると、データはメモナに戻さ
れる。このサイクル動作は、画像の部分集合の全ピクセ
ルまたは画像中の全ビクセルをシステムを通して逐次処
理するよう反復実行することができる。この種のオペレ
ージロンはSIMDモードで実行するのが最も良い。 第13図には、これとは対照的なMIHDモードのデー
タフローが図示されている。図示のようなシステムでは
、ビクセル0〜3とビクセル250〜500をある特定
の手法で処理する一方、他の画像領域(例えば領域3で
示す画像の一定領域)のビクセルは別のやり方で処理す
ることが望ましいと考えられる。そこで、例えばプロセ
ッサ120がビクセルO〜3及びビクセル250〜5o
oを処理し、他方プロセッサ 121はビクセル5o〜
75及びビクセル2000〜3000を処理するような
構成とすることができる。このようにして、異なるアル
ゴリズムを用い、あるいはデータ内容によりプログラム
フローを変えつつ同じアルゴリズムを用いて画像の各領
域を処理することができる。これらのビクセルはすべて
並列に処理され、種々の記憶場所に記憶される。このよ
うなオペレージロンは、データをプロセッサ121から
プロセッサ120へ移動させなければならないような場
合以外は、MI#IDモードの方がSIMDモードより
も高速に行うことができる。データを移動させる場合は
、メモリバンク内でデータ移動を行わなければならない
と考えられる。このようなプロセッサ間データ移動は、
例えば、ある領域からの処理されたデータが他の領域が
らのデータをどのようにして処理するかを決定する上に
おいて重要である場合、あるいは画像全体が表すものを
正確に決定するために重要である場合等に必要となり得
る。鼻をつがんで象の形を決定することは困難であるが
、これと全く同様に、他の色々な部分のビクセルデータ
にアクセスすることなくして画像から有意な情報を得る
ことは非常に困難である。 次に、第14図には、この発明を用いたシステムの構成
が描かれている。図示のシステムにあっては、クロスバ
スイッチマトリクス20はサイクル単位ベースで、プロ
セッサ100〜[03がメモリIOの個々のメモリ素子
M1〜M4をアクセスできるようにする。第14図の構
成では、SIMDモードに関連して第12図により説明
したオペレーンリンが可能で、メモリ素子h41〜M4
のデータは動かさずに、プロセッサとの接続構成を切り
換えるようなオペレーションが実行される。このプロセ
スは、プロセッサがある瞬間に実際に使用するより多く
のメモリ素子を用いることにより流れの連続性が改善さ
れている。このように、データはこれらの「エキストラ
」メモリ素子から入出力できるので、これらエキストラ
メモリ素子はシステムのオペレーンタンの流れの中に組
み入れてサイクル動作させることができる。このような
構成にあって、データ入力用メモリ素子及びデータ出力
用メモリ素子は、サイクル単位ベースで異なるメモリ素
子が使用され得る。データ入力用メモリ素子及びデータ
出力用メモリ素子はクロスバスイッチを介して切り換え
られるので、どの位置のメモリ素子であってもよい。こ
のように、このシステムでは、データをメモリ間で移動
させる代わりにプロセッサの接続構成が逐次切り換えら
れる。 次に、第15図には、プロセッサ100〜103ヲクロ
スバスイツチ20を介して複数個のメモリに接続するよ
うにしたMINOモードの構成が示されている。 このシステムでは、通常、図示のような接続関係が数サ
イクル持続するため、各プロセッサは各メモリにある期
間に亘って接続されることになる。 その必要がないのであれば、それは最も典型的なMIN
Dモードのオペレーンタンの場合であろう。いずれかの
プロセッサまたはプロセッサ群が第15図の旧MDモー
ドで動作する場合、クロスバスイッチ20は、あるメモ
リ素子からのデータを直ちに他のどのプロセッサでも使
用することができるようにして、そのデータをこれら他
のプロセッサに循環させるか、あるいは1回ベースで処
理することができるようにサイクル単位ベースで動作可
能である。 プロセッサ 第16図は、複数個のプロセッサが互いにやりとりしな
ければならない時にシステムがMINDモードで動作し
ている時のプロセッサ間通信の接続構成を示す。パラレ
ルプロセッサ100のようなプロセッサはクロスバスイ
ッチ20を介して共用パラメータメモリにメツセージを
送る一方、これと同時にパラメータメツセージが待機状
態にあると言うメツセージ(割込み)を行先プロセッサ
に伝える。 ここでは、行先プロセッサはプロセッサ102等上記プ
ロセッサ100以外のどのプロセッサでもよく、クロス
バスイッチ20を介して共用パラメータメモリにアクセ
スし、メツセージを取り除く。すると、行先プロセッサ
は例えば受は取ったメツセージに従って自ら再構成ある
いは構成変更する等の動作を行うことができる。この構
成変更は特定のシステムオペレーションモードを得るべ
く内部的に行うこともできれば、ある期間中はどのメモ
リにアクセスすべきでどのメモリにはアクセスすべきで
はないということに関する命令の形であってもよい。 メモリアクセスの問題(フンテンション)は、プロセッ
サは他のプロセッサがあるメモリを長期間使用している
時そのメモリをアクセスしようとして多大の時間を浪費
してしまうことがあるので、非常に重要である。システ
ムの効率的オペレーンタンは通信リンクを介してのプロ
セッサ間結合なしでは達成が極めて困難である。 プロセッサ間でやりとりされるもう1つの形態のメツセ
ージはそれらのプロセッサの同期に関するものである。 これらのメツセージ及び同期を確保するための詳細なや
り方については以下に説明する。前出の第2図は、複数
個のプロセッサがサイクル単位ベースで同期、メモリ及
びクロスバスイッチのアロケーションを制御すべくそれ
らのプロセッサ間で割込みまたはポーリングを行うため
に相互接続されるシステムの全体構成をしめす。 メモリのより効率的な活用に役立つのはクロスバスイッ
チの外部で機能する通信リンクである。 オペレーションモード間、例えばSIMDとMl)ID
モードの間の切り換えを行うのに必要なサイクル数はそ
れ以外に実行しなければならない他のオペレーションの
量によって決まる。これらの他のオペレーンタンとは、
例えば、いくつかの命令メモリにコードをロードしたり
、データを後続のオペレーンタンのためにデータメモリ
にロードする等のオペレーンタンである。外部通信リン
クは、ある特定のプロセッサがどのメモリをアクセスす
る可能性があるかを確定すると共に、すべてのプロセッ
サにそれらのプロセッサのメモリアクセスの可否を知ら
せて、アクセスが拒絶されているのにそれらのプロセッ
サが並んでアクセス待機するようなことが起こらないよ
うにすることによって上記のメモリの効率的活用を支援
することができる。 プロセッサ間の命令のやりとりは割込みによりまたポー
リングによって行うことができる。割込みは、データを
共用メモリ内の特定のメツセージ記憶場所に仕向けるフ
ラグを付して送出する周知の割込み構成のいずれかによ
って行うこともできれば、プロセッサ内部でポインタベ
ースで直接処理するようにしてもよい。どのプロセッサ
がどのメモリにアクセスできるかをサイクル単位ベース
で確定する能力は、システムが、データを特定メモリ内
に終始保持しつつ、そのデータにアクセスできるプロセ
ッサを次々に切り換えるやり方によりMIHDモードで
動作し得る能力を確保する上において重要である。この
構成を用いるならば、メモリがプロセッサに対して固定
された関係にある場合にデータをメモリからメモリへ移
動させるのに必要な時間サイクル数を顕著に減らすこと
かで゛きる。上記の通信リンクにはマスタープロセッサ
カ含まれている。
【1ヱヱヱユ2 第1図及び第2図並びに第57図に示す転送プロセッサ
11は外部メモリと複数個の内部メモリの間でデータを
転送する。転送プロセッサ目は、パラレルプロセッサの
いずれかまたはマスタープロセッサが転送プロセッサ1
1に特定のピクセルまたはピクセル群あるいはデータ群
に関するデータを供給するよう要求することができ、且
つこれに対して転送プロセッサ11が必要なデータをそ
れ以上のプロセッサ介入命令なしに外部メモリと内部メ
モリの間で転送することができるように、パケット要求
に応じて動作するよう設計されている。そのため、転送
プロセッサIIは自律的に動作することができ、且つど
のプロセッサによる監視をも受けることなくシステムの
内外にデータを転送することができる。転送プロセッサ
11はクロスバスイッチマトリクス20を介してすべて
のメモリに接続されて、これらのメモリへのアクセスに
おいて様々なリンクと競合するようになっている。いず
れか特定のリンクについては、転送プロセッサ11に最
も低い優先順位を割当て、メモリへのアクセスを他のプ
ロセッサがそのメモリをアクセスしていない時に行うよ
うにしてもよい。転送プロセッサ11により転送される
データはピクセルを処理するためのデータのみならず、
システムを制御するための命令ストリームも転送される
。これらの命令ストリームはクロスバスイッチ20を介
して命令メモリにロードされる。この転送プロセッサ1
1は、データ転送という目的を達成するためにハードウ
ェアとソフトウェアを組合せた構成を用いることもでき
る。 マスタープロセッサ マスタープロセッサ(第29図参照)は、転送プロセッ
サの制御や色々なプロセッサの間のインタラクシビンを
含め、システム全体のスケジューリング及び制御を行う
ために用いられる。マスタープロセッサはクロスバスイ
ッチを介してすべてのメモリに接続可能であり、またチ
ャンネル上の他のプロセッサとも相互接続される。マス
タープロセッサはピクセル情報およびその情報を取得す
る目的によってデータの型を制御すると共に転送プロセ
ッサがデータを取得する手法を制御する。 従って、画像の各領域は、走査の目的によって具なるモ
ードにより走査することができる。この動作はパラレル
プロセッサと連携して動作するマスタープロセッサによ
り制御される。パラレルプロセッサは、やはりオペレー
ションの目的にヨリ、単独であるいはマスタープロセッ
サと共同で各々転送プロセッサを制御するようにしても
よい。 クロスバスイッチに対するメモリのコンテンツ、ンは、
パラレルプロセッサには比較的高い優先権を与え、マス
タープロセッサには比較的低い優先権を与えると共に、
転送プロセッサの特定リンク上の特定メモリに対する優
先権は3番目かあるいは最下位となるよう構成すること
ができる。 画像処理システムで実行されると思われる典型的なオペ
レーションあるいはアルゴリズムの例が第11図にリス
トしである。中でもより典型的なオペレージロンは光学
的文字認識、目標認識あるいは運動認識であろう。これ
らの各オペレーションにおいては、各々に付随する画像
処理動作は、実行すれるオペレーションの型により制御
されることになろう。 第11図において、一般にパラレルプロセッサにより実
行される種類のオペレージ式ンは破線+100の下側に
示されており、一般にマスタープロセッサにより実行さ
れる種類のオペレージ葺ンは破線1100の上側に示さ
れている。このようなオペレージロンの構成はマスター
プロセッサとパラレルプロセッサの間で任意に分割され
るが、図示のような各種のオペレージ「ンを遂行するの
に必要なオペレージ1ンの種類によってマスタープロセ
ッサとパラレルプロセッサのどちらがより適切であるか
を仕分けすることができる。 画像から出発してオペレージ17階層のより高い所で処
理が行われる画像処理の一例を第11図により説明する
と、画像はまずイメージエンハンスメント(画像強調)
のボックス11+1に受は入れられる。情況によっては
、ボックス 1112及び+113による画像の圧縮ま
たは圧縮解除が必要になる。 次に、画像はエツジ抽出+109、ラインリンケージ(
線結合) +107、角または頂点の認!+105、ヒ
ストグラムl I I O1統計学的性質1108及び
セグメンテーシ曽ンI IO[i等のボックスを通じて
因の上方に移動させられ、必要に応じてこれらのボック
スにより処理される。これらのボックスはすべてスキッ
プ可能であり、画像を直接テンプレートマツチング11
02のボックスに与えて、識別+101のボックスによ
り画像を識別させるようにすることもできる。 このような識別を行う方法は種々あるが、画像毎にそれ
らの方法を全部行う必要はなく、またそれ;y (1)
 方法はすべて個別のアルゴリズムまたは方法として周
知である。 エンハンスメントボックス+111は基本的には画像を
きれいにし、異質な信号を取り除き、線のような画像の
細部を強調するプロセスである。ボックス1109のエ
ツジ抽出は画像の中のエツジの原因や宵無を判定するプ
ロセスである。ボックス1107では、画像から抽出さ
れたすべての線が結合され、より長い線が形成される。 このボックスでは、その後データ中の不一致により生じ
た異質な末梢的線が除去される。角/頂点のボックス1
105は画像の角部や頂点がある場合にその位置を決定
するアルゴリズムである。いったんこれらの幾何学的形
状の特徴が見出されたならば、次にボックス1104の
グルービング及びラベリングというプロセスを用いて円
、矩形というような物体の大まかな分類を行うことがで
きる。 この段階では、ボックス+111では一般に画像全体が
処理されるのに対して、画像の比較的小さな領域に的を
絞ってオペレージロンが行われる。イメージエンハンス
メント1111を経た後の上記と異なるもう1つの進行
経路は、ビクセルの輝度についてヒストグラム(ボック
ス1110)のような統計学的分析を行うものである。 ヒストグラムの1つの目的は、論理値「1」の数或いは
特定の軸線または投影線中のrlJの数を検出し、何ら
かの物体の存在または物体の配位について定量化するた
めの有用な統計学的情報を得ることにある。以下、これ
について説明する。 ボックス1108 (統計学的性質)では上記のヒスト
グラムより適切な統計学的性質が抽出される。 その上方のセグメンテーシタンのボックス1108は統
計学的情報を用いて様々の物体をセグメント化する。例
えば、いくつかに切り離された物体は極めて容易にセグ
メント化することができる。次に、グルーピング及びラ
ベリングのボックス1104に進むと、画像を構成する
異なる物体の像に各々特定のラベルが付され、識別が行
われる。この処理で典型的なアルゴリズムは結合子コン
ポーネントのアルゴリズムである。ここでもある種の幾
何学的特徴、特に物体の周囲を分析することができる。 また、他の形状記述子、オイラー数、及び表面の特徴に
関する記述が得られ、その後のマツチングオペレージロ
ンで用いられる。ボックス1102のマツチングオペレ
ージロンのレベルでは、テンプレートまたはライブラリ
として記憶された類似の情報がアクセスされ、下位レベ
ルより抽出されたデータと対比される。これは幾何学的
特徴、表面の記述でも、光学的フローの情報でもよい。 この対比によりいったん一部の結果になると、それらの
一致情報に統計学的に重みが付けられて、ボックス11
01に示すように、ある物体が識別されたという確度が
与えられる。このように物体の識別が行われると、立体
映像や立体映画のような用途分野において、この世の三
次元表示が可能となり、表示されたものが何の物体で、
表示された世界のどこに置かれているかをはっきり示す
ことができるようになる。次に、このような表示画面は
第11図の右側に図示されているようなグラフィックス
(図形)のパイプライン処理を用いて再処理することが
できる。 まず最初のボックス1114の幾何学モデルでは、その
画面の表現情報が識別(同定)される。その情報は、基
本的には位置を示す3つの座標及び形状、密度及び反射
特性等のような物体の幾何学的記述である。ここで、物
体の種類によっては画面の処理にいくつかの異なるルー
トが用いられる。 例えば、簡単なキャラクタの場合は2次元変換の手法が
用いられる。より複雑なものについては3次元の世界が
創出されることになる。例えば、ジェスチャ入力デバイ
スとして用いられるコンピュータの前での手振りはこの
方法を用い、ボックス1116の3次元変換の機能が実
行されることになる。 この機能は、3次元変換ボックスIIIGにより3次元
座標を平行移動、スケーリング(拡大縮小)あるいは回
転させることにより入力を新しい座標系に変換するもの
である。物体は、他の物体によって閉塞される場合もあ
る。例えば、再度手を例に取ると、指の一部が他の指に
よって閉塞されてしまう場合があるが、このシステムの
オペレーションではビジビリティのボックス1117を
用いて見えないはずの部分は無視するようになっている
。その下方の陰影付立体のボックス1118では、グレ
ースケールまたはピクセル情報を発生してスムーズな陰
影を存する立体画像得るためのプロセスが実行される。 これにより得られる画像は、クリッピング処理(ボック
ス1120)に到るまでに他のルートを介して処理した
場合に比べてよりリアルで本物そっくりに映る。ボック
ス1120のクリッピングでは、本来、生成中の画面の
視野外に来る事物をクリップして除去する処理が行われ
る。 コンピュータの出力画面あるいはレーザプリンタ等に文
字フォントを生じさせるような特殊な場合には、ボック
ス1119のフォントコンパイルのオペレージ縛ンを用
いることにより多数のサイズと形状の兄事なフォントを
作り出すことができる。 グラフィックスプログラムにおける最終プロセスはボッ
クスl!21により実際に描画することであるが、これ
は単に点を描いたり、これらの点を結んだ線を描くとい
うような簡単なオペレーションになることもある。この
描画は最初のイメージエンハンスメント1111と同じ
レベルにあるが、この段階ではオリジナルイメージから
導出されたモデルに基づきそのオリジナルイメージが合
成表現あるいは合成画像として再現される。 いったんキャラクタが認識されたかあるいは運動が認識
されたならば、出力を2進コードその他により得ること
ができ、その出力を用いて出力制御のボックス+ 12
2により同じ画像の以後の処理をこの画像処理システム
と共に使用するパラレルプoセッサトマスタープロセッ
サのオペレーション及び組合せによって制御することが
できる。 一般には、第11図の破線1100の下側のボックスの
オペレージ望ンはSIMDモードで実行する方が効率的
であり、旭大な量の処理を必要とする。これらはf 列
処理オペレージ日ンにより実行される。 1i[11100(7)上側のオペレージ冒ンは比較的
処理能力が小さくてもよく、またバンド幅により制約さ
れる度合も小さい。従って、これらのオペレーシーンは
単一のプロセッサで実行される。また、こレラのオペレ
ージlンに関しては、この図表で階層が上がるにつれて
MINDオペレーン3ンによる方が望ましそうであると
いうことも注目される。このようにSIMDオペレージ
ジンとMINDオペレージジンの守備範囲は重なり合い
、両方のオペレーンヨンモードが必要なこともしばしば
ある。 このマルチプロセッサシステムでは2種類のプロセッサ
が必要であるが、その主な理由は異なるレベルの処理が
必要なためである。マスタープロセッサが実行するよう
なノ\イレベルの処理は、高精度を確保するため浮動小
数1点演算手法を用いることが望ましい。高精度浮動小
数点プロセッサはより大きな実記憶空間を必要とし、非
浮動小数点型プロセッサから動作させようとすると演算
が遅くなる。従って、全部同じ覆類のプロセッサ(浮動
小数点型)を用いると、所与のチップ上に形成し得るプ
ロセッサの数は少なくなり、その結果バンド幅の問題が
大きくなり且つシステムの動作が遅くなるということに
なる。他方、ローレベル処理用のプロセッサは浮動小数
点演算が不要で、高速化、小型化が可能なため、所与の
チップ上により多くのプロセッサを形成することができ
る。このような情況にあって、この発明のクロスバスイ
ッチを利用したバス構成によれば、必要に応じて数揮類
のプロセッサを用いることが可能となり、これらのプロ
セッサを必要に応じてシステムに切り換え接続して各オ
ペレーシッンの様々な部分を実行させることができる。 マスタープロセッサは主として情報リストやデイスプレ
ィリストのようなリストによって動作するよう設計され
ており、これにたいしてパラレルプロセッサはアレイに
よって動作するよう企図されている。ローレベルの画像
処理では情報の大半は2次元アレイで記述し得るが、こ
れよりノ\イレベルになると、情報は多次元座標のリス
トとして記述される。これらの2N類のデータ表現の取
扱いには異なる処理構成が要求されるが、このこともこ
のシステムで互いに構成の異なるマスタープロセッサ及
びパラレルプロセッサを採用したもう1つの理由である
。 この実施例のマスタープロセッサはどちらかというと主
に汎用計算用と考えられているRISC(限定命令セッ
ト計算機)型のプロセッサに類似の特徴を有するが、パ
ラレルプロセッサは演算用の特殊プロセッサとして用い
られれ傾向にあるディジタルシグナルプロセッサ(DS
P)により類似している。従って、このマルチプロセッ
サシステムは画像処理システムに必要なタイプの情報処
理用として最適化することができる一方、なおかつデー
タに対し上記の両方のプロセッサを用いることにより高
度の処理能力と全体的なフレキシビリティを確保するこ
とができる。 共同譲渡になる米国特許第4,577.282号及び第
4.713,748号並びにやはり共同譲渡になる米国
特許出願一連番号第025,417号(1987年3月
13日出願)には、テキサスインスツルメントTMS 
320型DSPプロセツサが開示されている。その詳細
な背景については、テキサスインスツルメント社発行の
刊行物「第2世代のTMS 32θユーザーズガイド」
及び「第3世代のTMS 320ユーザーズガイド」に
開示がなされている。上記の特許、特許出願並びに刊行
物は本願中に引用がなされている。 2L至」」1基 第17図は前出の第1図及び第2図により説明したよう
な画像処理システムにおけるメモリのレイアウトの一例
を示している。図示の特定のメモリサイズは特定のプロ
ジェクトのために採用されたもので、この発明において
はメモリ及びメモリ及びメモリ容量についてどのような
構成でも用いることができるということはもちろんであ
る。メモリ10のパラメータ部はメモリサイズに組み込
むこともできるし、その方が望ましい場合はスタンドア
ロン型メモリとしてもよい。一定条件下では、個のパラ
メータメモリはプロセッサの通信要件次第で必ずしも設
けなくともよい。 クロスバスイッチ 第18図は、クロスバスイッチマトリクス20の優先化
回路群の図で、クロスバスイッチマトリクス20の各縦
リンク(縦列系統)は各特定叉点内の優先化回路にラウ
ントロピン方式(巡回優先順位指定方式)により接続さ
れている。各縦列系統中、横リンク(横行系統)の転送
プロセッサに割り当てられた最下行に属する叉点は優先
化回路群の配線には含まれていない。これは、同−縦列
系統中の最下行以外のどの横行系統も選択されていない
時に転送プロセッサがその縦列系統に対応するメモリに
アクセスすることができるようにするためである。この
優先化回路群の動作及び最下行の叉点の動作については
、以下に第13図及び20図を参照しつつ詳細に説明す
る。 第18図は、また、パラレルプロセッサの命令入力ボー
トIに対応する縦列系統の特殊な情況をも示している。 このパラレルプロセッサ+03の命令入カポ−)1に対
応する縦列系統は叉点4−7を介して接続されるが、こ
の叉点はインバータ1801t−介してSIMDリード
上の信号によってイネーブル化されている。これと同じ
信号が同じ縦列系統の横行に対応する叉点4−1乃至4
−6にもそれぞれ供給されてこれらの叉点をイナクティ
ブ化している。 以下、このSlにDIJ−ト上の信号及び上記縦列系統
をメモリに接続する仕方について説明する。 第19図には一例として叉点1−5の構成が詳細に示さ
れている。この図において、側辺から制御線が入る三辺
形は制御スイッチで、通常FETデバイスからなる。 ここで叉点ロジックの機能性について説明する。 この又点ロジックは4つの機能ブロックを含んでおり、
これらについて各個に説明する。まず第1の機能ブロッ
クはアドレス認識ブロック1901で、バス1932を
会してプロセッサにより供給されるアドレスの5ビツト
をバス193θ上にあるメモリモジュール10−15 
 (第4図に示すように縦列1を介して叉点1−5に接
続されている)の一意の5ピー/ ト値と比較する。上
記バス l930上の値はアドレス空間内のメモリの記
憶場所を示す。上記の比較は各ビットを個別に比較する
2人力排他NORゲート1820〜工924により行わ
れる。これら5つのゲートの出力はθ入力?1ANDゲ
ート1910の5つの入力に供給される。このゲート1
910の6番目の入力は、メモリ要求が実際に実行され
ており、プロセッサによるアドレス出力を実際に比較す
べきであるということを示すグローバルアクセス信号1
933に接続されている。この信号1933が論理値「
1」で、ゲー ト1920〜1924の出力もすべて「
1」である時のみゲー) 1B10の出力はrOJとな
る。この出力が「0」ということはメモリ10−15に
対して有効な要求がなされているということを示す。 ここで少し本題から逸れるが、上記のアドレス認識ロジ
ックに対して可能な変更、改変としては、例えばゲー)
 +910に、叉点ロジック用のイネーブル信号として
用いることのできる7番目の入力(イネーブルSIMD
)を付加することである。このイネーブル信号が論理値
rOJであるとアドレス認識ロジックがディスエーブル
化され、その結果叉点全体がディスエーブル化される。 この論理信号は水平バス10Bに接続された縦列バス4
.9及び14上の叉点で用いられ、SIMDモードでこ
れらの叉点をイネーブル化する一方、MINDモードで
はディスエーブル化する。 第2の機能ブロックはトークンラッチ1904である。 この機能ブロックは、ラウントロピン優先化の開始点示
すのに用いられる信号B1を出力する。 この信号Blは、叉点l−5の下方の次の叉点ロジック
(叉点1−4)の入力信号Bに接続される。 (叉点1
1の信号B1は、ぐるっと回って叉点1−11iの信号
Bに接続され、第18図に示すような巡回式優先化構造
を形作っている。)縦列バス1に対応する叉点ロジック
内の唯一の信号Blだけが論理値「0」を出力し、他は
すべて論理値「1」を出力する。 この関係は、システム初期化時に1つの叉点のトークン
ラッチ1804に「0」をロードし、それ以外のトーク
ンラッチには「1」をロードすることによってのみ達成
される。そのためには、1つの叉点のプリセット値信号
を論理値「0」に接続すると共にその他の叉点について
はプリセット値信号を「1」に接続し、かつクロック5
をアクティブ化する。これによって、 トランジスタ+
95[iヲ介り。 てプリセット値がインバータ1946及びインバータ1
345よりなるラッチにロードされる。このプリセット
値は、次いで、 トランジスタl955を介してクロッ
ク2によりクロック同期され、インバータ1947及び
インバータ1948よりなるラッチにロードされる。イ
ンバータ1947の出力は信号B1である。 この信号は2人力 NANDゲー) 1913の一方の
入力に供給され、このゲートの他方の入力にはゲート1
910の出力が供給されている。上記ゲー) 1913
の出力は2人力NANDゲー) +914の一方の入力
に供給され、このゲートの他方の入力にはゲート191
1の出力が供給されている。ゲート1914の出力はト
ランジスタ1952を介してクロック4によりクロック
同期され、前述のゲート1945及び194[iよりな
るラッチにロードされる。また、クロック2及びクロッ
ク4は決して同時にアクティブ化されることはなく、ク
ロック5がアクティブ状態の時クロック4がアクティブ
化されることもないように構成がなされている。 トークンラッチのロジックはメモリ10−15に付随す
るもののなかでどの叉点ロジックが最後にこのメモリに
アクセスしたかを記録する。この記録は、その叉点ラッ
チが論理値「0」のB1信号を出力することにより表示
される。このトークンラッチのロジックは、次に説明す
る優先化ブロックと連携して動作して、メモリに最後に
アクセスした叉点に対し、その後そのメモリに対して同
時アクセスが試みられた場合に最下位のアクセス優先権
を付与する。 トークンラッチの内容が変更される仕方
については、次の優先化ブロックの説明の後に説明する
。 優先化ブロック1902は2つの2人力NANDゲート
1911及びl512を有する。ゲート1912の2つ
の入力はゲート1B10及び1911の出力より供給さ
れる。ゲ−) +912の出力は下方の叉点(+−4)
の信号へに接続される信号A1である。ゲート1911
の1つの出力は2番目に高い縦列叉点(叉点1−8)に
対応する論理回路中のトークンラッチからの信号B1に
接続される前述の信号Bである。もう1つの出力は2番
目に高い縦列叉点(叉点ロジック I−G)の優先化ブ
ロックからの信号AIに接続される信号Aである。 (
これについても前述)。 優先化ロジックは、メモリを最後にアクセスした叉点ロ
ジックの下方のロジックを始点とする循環リップル状の
経路を形成する。メモリを最後にアクセスした叉点ロジ
ックはB1信号がrOJになることによって指示される
。B1信号がrOJになると、ひとつ下方の縦列叉点の
ゲート1911の出力が論理値「1」になる。この出力
は信号A1を得るためにゲート1912によってゲート
+910の出力とゲートされる。ゲート1910の出力
が「1」で、アドレス認瑚ロジックによるアドレス一致
が検出されなかったことが指示されると、信号A1は「
O」になる。この信号はひとつ下位の縦列叉点に伝送さ
れ、ゲート19+1の出力を論理値「1」にすると共に
上記循環リップル状経路のゲートの出力を次々に「1」
にする。しかしながら、ゲート1910の出力が「0」
であると、信号A1は次の叉点に論理値「1」として出
力される。すると、後続のB入力がすべて「1」になっ
ていることと合わさって(リップル状経路の始点だけが
「0」のB信号を出力し得るから)、リップル状経路の
周りの他のすべてのゲー) 1911は論理値「0」を
出力る。このように、叉点はそのゲート1911の出力
が「1」で、ゲート191Gの出力がrOJの時に限っ
てメモリにアクセスすることができる。この条件が満た
されるのは、アドレス認識ブロックによりアドレス一致
が検出され、その叉点が循環リップル状経路の始点から
最初にメモリアクセスを要求した叉点の場合のみである
。 次に、 トークンラッチの内容の管理について説明する
。ゲート1913及び1914は、最後にメモリアクセ
スした叉点は必ずトークンラッチrOJを保持するよう
にするために設計されている。ここで、次のような事例
を検討して見る。 ■ トークンラッチ1904のトークンが「0」で、ど
のバスもメモリアクセスを必要としていない。 この「0」は循環キャリー経路を完全にリップル状に一
巡して出発点の叉点の信号Aに「0」として戻り、ゲー
ト+911の出力を「1」にする。 トークンラッチに既に保持されている「0」 (信号B
l)がゲー) +913の出力を「1」にする。 これら2つの信号はゲー) 1914の出力を「0」に
し、この「0」がクロック4によってラッチ1945/
 19411iにロードされ、こうしてトークンラッチ
に「0」を保持することによりリップルの伝播が持続さ
れる。 ■ トークンラッチ1904のトークンが「0」で、他
の叉点の1つがメモリへのアクセスを要求している。こ
の場合、信号人が「1」として戻され、これが入力Bが
「1」であることと合わさって、ゲー) 1911の出
力を「0」にし、ゲート1914の出力を「1」にする
。これはクロック4よってトークンラッチ1904に「
1」としてロードされる。このトークンラッチは他の叉
点の1つが丁度メモリアクセスを果たしたために、 「
1」になる。 ■ トークンラッチ1904のトークンが「1」で、よ
り高い優先権を指定されたある叉点がメモリアクセスを
要求している。この場合、信号A及びBはいずれも「1
」として受信され、上記の例同様、 トークンにはやは
り「1」がロードされる。 ■ トークンラッチ1904のトークンが「1」で、そ
の叉点がメモリアクセスを要求しており、それより優先
順位の高い叉点は全くメモリアクセスを要求していない
。この場合は、AまたはBはrOJとして受信され、ゲ
ート1911の出力は「0」になる。ゲート1910の
出方は、アドレス認識ロジックがアドレス一致を検出し
ているので「0」となる。するとゲー) +913の出
方が「1」になる。ゲート+914の両入方は「1」で
あるから、 「Ojが出方され、これがクロック4によ
ってトークンラッチ1904にロードされる。 その結果、 トークンラッチはメモリアクセスをグラン
ド(許可)された(グランテド)ばかりであるから内容
が「0」になる。 ロジックの4番目のブロックはグランドラッチである。 ゲー) 1910の出力はインノく一タ1940を介し
て2人力NAlIDゲー) +915の一方の入力に供
給される。ゲー) 1915の他方の入力はゲー) 1
911に接続されている。ゲー) +911の出力が論
理値「1」でゲー) 1910の出力が「0」であると
いう条件はゲー) 1915の出力「0」にする。 (
それ以外の条件ではゲート1915の出力は「1」)。 この条件は叉点が首尾よくメモリアクセスを許可された
時に満たされ、且つそのメモリに対応する叉点の1つに
ついてのみ起こり得る。ゲート1915の出力はクロッ
ク1によりトランジスタ1951を介してラッチ+94
1/ 1942にロードされる。 (実際には、 クロ
ック1とクロック4は、 トークンラッチとグランドラ
ッチが同時に更新されるよう同時に作用する)。 ゲート1942の出力はクロック2によりトランジスタ
+952を介してラッチ+943/+944にロードさ
れる。 ゲー) 1944の出力は叉点スイッチ1905への接
続信号を発生するゲー)  +949を通して叉点スイ
ッチ+905はこの信号によってプロセッサバス193
2をメモリバス1931に接続する。これらの叉点スイ
ッチは最も簡単なものでは個別のn型トランジスタで形
成することができる。 ゲー) 1942の出力は、信号1834をトランジス
タ1957のソースを接続するトランジスタ1358の
ゲートにも供給され、 トランジスタ1957のドレン
は接地されておりゲートはクロック2に接続されている
。 トランジスタ1957及び1958は、その叉点が
首尾よくメモリアクセスを許可された時、信号1934
を接地に落とす。この状態はプロセッサにメモリアクセ
スを続行することができるということを指示する。 し
かしながら、信号1934はメモリアクセスが試みられ
ている時はローにならず、他の叉点がメモリアクセスを
得、プロセッサはホールトし、メモリアクセスを再請求
しなければならない。ここで説明したラウントロピン優
先化(優先順位指定)のやり方はによれば、僅かな限定
された回数のアクセスリトライを実行するだけで確実に
メモリアクセスが許可されるようになっている。 第20図はクロスバ信号のタイミングを示す。この図で
は、PP2とPP3はどちらも各サイクル毎に同じRA
Mをアクセスしようとするが、ラウントロピン優先順位
指定方式のためこのアクセスは交互に行われる。PP2
はアドレスS、  T及びUを計算して出力し、  P
P3はアドレスV及びWを計算して出力する。 r5M
sアドレス」信号から、グランテド信号をどのように用
いて最後のアドレス(リトライの場合)と計算中の新し
いアドレスを多重化するかは明らかであろう。パラレル
プロセッサは、グランテド信号がスレーブフェーズの終
わりまでにアクティブ化されないと、コンテンションが
起こったと見なし、フェッチ、アドレス及び実行の各パ
イプライン段階のマスター更新段階はキル(抹消)され
る。 スイッチマトリクスの 前にも述べたように、このンステムでは、メモリコンテ
ンシジンは各叉点に各個に設けられた論理回路群を存す
るトークンパッシング回路により処理される。この発明
の一実施例では、この論理回路群は各叉点に直接付属さ
せて配設されている。 このように、叉点は各々のポートと共にシリコン基板上
に空間的に分散配置されているから、フンテンシコン制
御ロジックも同様に空間的に分散配置されている。これ
によれば、スペース節約が可能な上、実際の回路のロジ
ックもクロスバスイッチの容量と共に大きくすることが
できる。このようにして、余分のシリコンチップスペー
スを費消することがないよう、ロジックをシリコン基板
の複数層の中の1層中に配設することができる。これに
はスペース節約の他、 トークンパッシング回路に対す
る配線量を最小限に抑え得るという長所もある。 回」L式−見p1 第21図に示すように、プロセッサ100〜103には
各々に対応させてレジスタ2100〜2103が設けら
れており、これによって同期動作が要求されているかど
うかが指示される。また、以下に述べるように、各プロ
セッサと同期された他のプロセッサのアドレス(アイデ
ンティティ)を保持するためのレジスタもそれぞれ設け
られている。命令ストリームには、これらのプロセッサ
と同期して実行しなければならない一連の命令の始めと
終わりを示す命令が含まれる。同期された命令ストリー
ムを開始させるコードがあるプロセッサに伝達されると
、そのプロセッサ及びこれと同期された一部のすべての
プロセッサは、同期されたコード命令の終わりが検出さ
れるまでは、互いにロックされたステップ関係(同期関
係)でしか命令を実行することはできない。 この手法によると、プロセッサ間でメツセージを転送す
る必要が全くなく、それらのプロセッサは実行中の命令
ストリーム次第で1サイクルの間または何サイクルかの
間インステップ(同期)状嘘を保つ。各プロセッサ間に
同期関係を確立するのに命令ストリーム以外の外部制御
は全く不要であ る。 次i:、!22図に移って、パラレルプロセッサ100
〜 】03には、 4ビツトの同期レジスタ22o7が
内蔵されており、その4ビツトにはプロセッサ103゜
102、+01及び100に対応させて3.2.1.0
のラベルが付しである。各レジスタの各ビットがそれぞ
れ1つのプロセッサに対応している。ある特定のプロセ
ッサを同期させるその他のプロセッサはそれらのプロセ
ッサに対応するビット位置に「1」を記入して指示しで
ある。また、互いに同期関係になるはずの他方のプロセ
ッサにあっては、各々の同期レジスタの適宜のビットが
同じくセットされている。 同期して実行することが望ましいコードは、LcK(ロ
ック)及び■LCK (アンロツタ)命令でバウンドす
ることにより指示されている。LCKの下側に記されて
いるtlLcKまでの命令は他のパラレルプロセッサと
のロックされたステップ関係の下にフェッチされる。 
(従って、同期された各パラレルプロセッサではLCK
とυLCK命令の間には同数の命令がなければならない
。) ここで望ましいのは命令の同期フェッチングよりむしろ
データ転送を通常よりも多く同期化することである。し
かしながら、LCK命令及びIILCK命令の直前まで
の命令(直前の命令を含む)と並列にコード化された転
送が同期しておこなわれるというのはパラレルプロセッ
サのパイプラインの故である。このような転送は、必ず
しも正確に同一マシンサイクル内で行われなくともよい
が(メモリアクセス管フンフリクトのため)、次の命令
でコード化された転送は、前の命令の同期された転送が
すべて行われるまでは開始されない。そうでないと、ロ
ードや記憶の順序がメモリアクセスフンフリクトによっ
て混乱してしまう。 同期したフードが実行されているという情報は、各状態
レジスタ(ステータスレジスタ)の5(synchro
nlzed;同期された)ビットにより記録される。 
(このビットは、LCKまたはULCK命令のアドレス
パイプライン段階のマスターフェーズまで実際にセット
あるいはリセットされることはないが、LCKまたはU
LCK命令の実行はスレーブフェーズにおける次の命令
のフェッチに影響を及ぼす。このビットはリセットによ
りクリアされ、また状態レジスタがブツシュされている
と割込みによってクリアされる。 やはり第22図において、各同期レジスタ2207の4
つのビットは色々なプロセッサの間の所望の同期の仕方
によりソフトウェアによってセットされる。そのため、
プロセッサ100をプロセッサ103と同期させるもの
とすると、図示のようなビットが各レジスタ2207に
ロードされる。例えば、 1.0.0.1という内容は
プロセッサ3をプロセッサOに同期させるということを
示す。また、図示例においては、プロセッサ101 と
102を互いに同期させるため、各々の同期制御レジス
タにはピッ)0.  L  1、Oがロードされている
。 次に、プロセッサ100について見ると、同期レジスタ
2207のいずれかのビットに「0」があると、それら
のビットが入力されている各NANDゲートの出力に論
理値「1」が現れる。図示の例では、HANDゲー) 
2203及び2204の出力がそれぞれ論理値「1」に
なる。これらの「1」はNANDゲー1−220Gの入
力に供給される。WANDゲート220Gはその入力が
すべて「1」になるまでは、プロセッサ100に如何な
る命令も実行させない。図示の場合は、レジスタ220
7の1及び2のビット位置に「0」があるため、 ゲー
ト2203及び2204はバス40のリード1及び2上
の信号を無視する。従って、この場合、コードの実行は
、バス40のリードO及び3上の情報に応動してゲート
2206により制御されることになる。ロック命令が発
生するとSビットがセットされ、ゲー) 2201の一
方の入力が論理値「1」になる。ここでは、−寸の間プ
ロセッサにおける実際の実行タイミングを制御する信号
である OK T。 5YNC信号の存在を無視することにする。ゲート22
01の出力は各プロセッサの同期レジスタ毎にツレぞれ
異なるリードに接続されている。例えば、プロセッサ1
00のゲー) 2201の出力はり−ドOに接続されて
いるが、プロセッサ+01のゲー) 2201の出力は
リード1に接続されている。ここで重要なのは、プロセ
ッサ100のゲート2201の出力はその同期レジスタ
及び他のすべてのプロセッサの同期レジスタにおけるゲ
ート2205のO入力(バス40のリード0に接続され
ている)に接続されているということである。この点は
、プロセッサ101及び102の場合、ゲー) 220
5の一方の入力が各々の同期レジスタの論理値「0」に
接続されているので、何ら影響がない。しかしながら、
ゲート22o5の一方の入力がレジスタの論理値「1」
に接続されたプロセッサ103においては、バス40の
リード0上の出力、従って実際にはプロセッサ100の
ケート2201の出力によって制御されることになる。 このようにして、プロセッサ103はプロセッサ+00
内で生じる動作により制御されるが、ここでプロセッサ
+03をプロセッサ100に同期させようとしたのであ
れば、これはまさしく所期の結果である。 図示の回路群を見れば、プロセッサ103のゲート22
01の出力はバス40のリード3に接続されており、こ
のリード3はプロセッサ10Gのゲート22o2の入力
に接続され、ゲート2202は同期レジスタ22o7か
ら他方の入力に供給される「1」によっても制御される
ので、逆にプロセッサ+03からプロセッサ+00へも
上記と同じ動作が行われるということば明らかであろう
。 ゲート2201に入力される OK To 5YIIC
信号については、この信号が論理値「1」になると、コ
ードの実行が許可され、同期レジスタのビット0の位置
に「1」が入っている他のプロセッサがすべてその信号
と同期して動作する。このようにして、OK To 5
YHC信号がローになってキャッシュメモリあるいはコ
ードの実行に関連して何らかの問題があることが指示さ
れると、この信号と同期したすべてのプロセッサはその
問題がクリアされるまで待機状態となる。以上の如く、
プロセッサ間には各レジスタに定期的に記憶されるコー
ドにより制御されるところに従い完全な同期関係が確立
される。この場合、全部のプロセッサまたはそのいずれ
かの組合せについて互いに同期させることもできれば、
プロセッサ間で何種類でも異なる同期関係が用いられる
ようにしてもよい。 同期されるのは命令フェッチであるから、同期化された
コードに割り込みを掛けることも可能である。このよう
な割込みはすぐにパラレルプロセッサの同期信号をイナ
クティブにする。キャッンユミス及びコンテンションは
ほぼ類似の結果をもたらし、ハードウェアをインステッ
プ状態に保持する。ただし、コンテンン日ンの場合は、
コンテンションが生じた命令に続く2つの命令がパイプ
ライン中にフェッチされてからパイプラインが休止する
。 アイドル命令を同期されたフードに入れて、あるパラレ
ルプロセッサが割込みされた後その割込みルーティンか
ら復帰するまで、同期されたすべてのパラレルプロセッ
サのオペレーシーンを休止させることも可能である。 同期されたコードに割込みを掛けることができるように
する必要があるため、いずれか1つのプロセッサのプロ
グラムカウンタPcを行先として指定した命令は、すべ
て状態レジスタのSビットの作用を直ちにディスエーブ
ル化(無効化)するが(tlLcKT命令と同じタイミ
ングで)、Sビットはセット状態を保持する。いったん
2つの遅延スロット命令が完了すると、Sビットの作用
が再びイネーブル化(有効化)される。このメキャニズ
ムによれば同期された遅延スロット命令に割込みが掛け
られな(でも何ら問題はない。そのために、同期ロジッ
クはブランチ(分岐)、コール(呼出し)及びリターン
(復帰)を単一の命令として取り扱う(2つの遅延スロ
ット命令が続くPCロードとして実行される)。同期信
号は2つの遅延スロット6令の間イナクティブ化され、
これらの命令は同期信号を見ることなくフェッチされる
。LCK命令が遅延スロットに入れられた場合、その効
果は遅延スロワ)6令が実行された後に発揮される。 同期されたループは、そのブランチは実行段階ではなく
フェッチパイプライン段階で働くので、通常のフード同
様の挙動を示す。 このシステムにおける同期の作用の仕方の一例が第23
図に示されている。この場合、パラレルプロセッサ2と
パラレルプロセッサ1は、AOとA1が各パラレルプロ
セッサに同じアドレスを有していると仮定すると、各々
のデータDoレジスタ(第33図参照)の内容を交換す
る。ここでは、また、Aoと人1はフンテンシランを避
けるために互いに異なるRAMを指示するものと仮定す
る。 (同じRAMを指示しても有効に作動するが、余
分のサイクルが必要である。) この例では、パラレルプロセッサ1は、パラレルプロセ
ッサ2がそのLCK命令に達してから1サイクル後にL
CK命令に達する。このように、パラレルプロセッサ2
は1サイクル待機する。そして、これらのパラレルプロ
セッサは同時に記憶を行うが、パラレルプロセッサ2は
、ロード命令をフェッチする時キャッシュミスを起こす
。両パラレルプロセッサはこのキャッシュミスが転送プ
ロセッサによって処理されるまで待機する。その後、こ
れらのプロセッサは同時に且つ同じようにULCKをロ
ードする。次いでパラレルプロセッサ1が命令4をフェ
ッチする時にキャッシュミスを起こすが、これらのプロ
セッサは今度はアンロックされているので、パラレルプ
ロセッサ2は妨害されることなく動作し続ける。 SIMDモードでの同期は、その方式自体がもともと同
期性を含んでおり、LCK及びυLCK命令が目的を持
たず、従ってコード化されたとしても何ら作用しない。 状態レジスタ(ステータスレジスタ)のSビットは、た
とえrlJにセットされているとしても何の効果もない
。 命令(LCK)はMlにDの同期されたパラレルプロセ
ッサコードを開始するのに用いられる。この命令は、そ
のパラレルプロセッサを同期レジスタの「1」により指
示されたパラレルプロセラfbifべて互いに同期する
まで待機させる。そして、次の命令がその他のj41H
Dパラレルプロセッサト同XITしてフェッチれる。ア
ドレス及び実行パイプライン段階の実行は、連続する各
命令が同期してフェッチされる毎に行われる。この命令
のアドレスパイプライン段階の開状態レジスタのSビッ
トはセットされている。 命令(tlLcK)はKHIDのパラレルプロセラサラ
互いにアンロツタ状態にする。すると、これらのパラレ
ルプロセッサは次の命令フェッチ時に独立の白金実行を
再開する。 スライス アドレス スライス式アドレス指定は、 1つのメモリ空間より隣
接情報を取り出し、その情報を配分後に、多数のプロセ
ッサがコンテンシUンを起こすことなく同時にアクセス
することができるようなやり方で多数の別個のメモリ空
間に配分する技法である。 例えば、第24図には0−127と番号が付された1行
の隣接ビクセルを有する外部イメージメモリバッファが
示されており、この行にはraJと言う記号が付されて
いる。この情報はスライスアドレス指定技法を用いてバ
ス24o1を介しメモリサブシステム10に伝送され、
最初の16のビクセル(0〜15)はアドレス0〜工5
を割り当てられた第1のメモリ10−0に入れられる。 その次の16のビクセルはメモリ10−1に入れられる
。この例では、上記のプロセスが8つのメモリについて
連続して行われ、最後のメモリ1o−7にはビクセル1
12〜+27が入れられる。スライスアドレスロジック
2401は転送プロセッサで実行されると共に、以下に
説明するように、パラレルプロセッサのクロスバアドレ
スユニットでも実行される。 上記の例の場合、従来技術のアドレス計算手段では12
Bの連続アドレスが生成されるはずである。 これはデータが1つのメモリ内に入れられるということ
を意味する。この例では、データはメモリIO−〇の連
続したアドレスに現れる。従って、複数のプロセッサに
よるこれらの情報への同時アクセスは、これらのプロセ
ッサがいっぺんに同じメモリをアクセスしようとするた
め、不可能である。 そのため、従来技術では、ビクセルO〜15がメモリ0
の行Aに入り、ビクセル16〜3Iが行Bに入り、行C
にはビクセル32〜47が入るというような動作が12
7の隣接ビクセルがすべてメモリ0の色々な行に入るま
で繰り返される。このように、従来技術にあっては、異
なるプロセッサが並列に動作して情報を処理するが、こ
れらのプロセッサがすべて色々なビクセルバイトを求め
てメモリOを競合してアクセスするので、時間が無駄に
消費され、パラレルプロセッサの価値が減殺される。 第25図はいろいろなビットのアドレスの場所を制御す
るのに用いられる従来技術の加算器を示し、この図には
、3つのシングルビット加算器2501゜2502、2
503が描かれている。これらの加算器はメモリのアド
レス範囲に等しい数のシングルビットを宵する全加算器
の一部である。これらの加算器は、アドレスの1ビツト
が各加算器2501〜25o3の各人入力に供給される
ように動作する。即ち、アドレスの最下位ビットは加算
器2501に入り、最高位ビットは最高位のシングルビ
ット加算器25o3に入る。 B入力には記憶のためにアドレスに指標付けされる量の
2進数字が入る。加算器2501〜25o3の組合せに
よって得られる結果アドレスはメモリアクセスのために
用いられる。各加算器は1つ高位の加算器のキャリー信
号入力にキャリー信号を出力する。各加算器のビット入
力には3つの入力A1B及びキャリーインが取り込まれ
、これらの入力のいずれかに2つ又は3つの「1」があ
ると、そのセルからのキャリーアウトは「1」になる。 このキャリーアウトは加算器の1つ高位のキャリ−イン
入力に供給される。このプロセスが各個別の加算器ビッ
トについて繰り返され、メモリ空間をアクセスするのに
必要なサイズの結果アドレスが生成される。各キャリー
アウトが1つ高位のキャリーインに直接接続されている
ということは、結果アドレスは常に隣接アドレス空間の
一部になっているということを意味する。前出の例の場
合、値「1」のインデックスが加算器のB入力に供給さ
れるとすると、メモリへの結果アドレス出力はA入力に
供給された最初のアドレスより「1」だけ大きくなる。 次に、第26図には上述の通常の加算器を改良したもの
が示されている。図示の改良した加算器によれば、各セ
ルのキャリーアウトは各セル(こ供給されるキャリーイ
ン信号と多重化され、これによって加算器の1つ高位の
キャリーイン入力に伝送される信号を前のセルのキャリ
ーアウトかまたはそのキャリーインのいずれかに選ぶこ
とができるようになっている。例えばセル2505 i
こつl、%て見ると、そのキャリーアウト信号はマルチ
プレクサ2508に供給され、このマルチプレクサの他
方の入力にはセル2505へのキャリーイン信号が供給
されている。信号Bはマルチプレクサ250Bを制御し
て、る2505のキャリーアウト1またはキャリーイン
のどちらかを高位側の次のセルのキャリーイン入力に通
過させるようにするために用いられる。 前述の標準加算器セルのもう1つの改良として、このシ
ステムでは、マルチプレクサの信号Bを制御するのと同
じ制御信号を供給されるADDというラベルを付した制
御入力を設けている。この場合、論理値「1」が信号B
上に供給されると、セル2505のキャリーイン信号が
次の高位のるのキャリーイン信号に供給される。また、
信号B上に論理値「1」があると、入力Aに供給された
最初のアドレスがそのままストレートに出力に通される
ようにセル2505の加算機能が抑止される。これは入
力B上の「1」の存在に対応するアドレスビットを保護
する効果がある。ここで、この改良された加算器の制御
信号に多くの「1」を供給することによって、最下位ビ
ットのセルからのキャリーアウトは、加算器の全長に及
ぶ沢山のセルに伝播した後、あるセルのキャリーインに
供給され、加算機能を実行させることができるというこ
とは明らかであろう。このセルは、ADD制御信号上に
「0」がある高位側の次のセルである。この効果は、ア
ドレス範囲の多数のビットが変更されないようにして、
バイパスされたセル内に書き込まれているアドレスを保
護することにある。前述の例では、「1」をマルチプレ
クサ及び各セルのADD制御信号上に供給することによ
り、メモリ0中のビクセル15からメモリ1のビクセル
16ヘアドレスインクリメントを行い、これによってメ
モリを1つの連続アドレス空間としてアドレス指定する
ことができる。マルチプレクサ制御信号は、一部のビッ
トをアドレス範囲からマスクアウトし、第24図に示す
ようにメモリに分散されたデータをスライスとしてアク
セスさせるので、スライスドマスク信号とよばれる。 ここで、この回路群は隣接情報を記憶するためばかりで
なく、隣接情報を検索するためにも用いられるというこ
とに注意すべきである。また、部の情報は同じメモリに
供給され、記憶されるべきであり、スライスされてはな
らないが、このことはスライスマスクのABCリードに
全て「0」を供給することにより指示される。この条件
下にあっては、加算器2502〜2506は各々従来技
術の加算器2501〜2503と全く同様に動作する。 また、いくつかのメモリに渡ってスライスされるべき分
散形データはビクセル情報ばかりでなく、何覆類か型が
あるということも重要である。これはいくつかのプロセ
ッサがその時点でどのような処理が実行されているかに
関わらずその処理のために同時に同じ型の情報をアクセ
スするようなことが想像されるばあいには常に重要であ
る。 また、スライスアドレス指定方式のところで開示したよ
うにしてメモリの分散を行うと、特定のビクセルあるい
はその他のデータの記憶には使用されない行B及びCが
その他の情報ように使用されるので、メモリの浪費は全
く生じないということも重要である。唯−起こり得ると
考えられる不利は、マルチプレクサ及び加算器の相互接
続配線の付加部分を組み込むのに余分のチップスペース
が必要ということである。この不利は、並列処理におけ
るメモリアクセスの速度が劇的に速くなり、しかも隣接
情報を多くのメモリに渡って分散させる場合及び外部制
御による制御下において単一メモリに情報を記憶させる
場合の両方の場合について充分なフレキシビリティを確
保し得ると言う成果に比べれば取るに足りないものであ
る。この手法を用いる場合、何らかの特定の情報との固
定された関係は全くないので、情報の用途に応じて、色
々な時点で多くのメモリに情報を分散させることがもで
きるし、あるいは同じ情報を異なる時点において同じメ
モリに記憶することもできる。 例えば、並列処理モードで使用するために一度スライス
された情報を後である期間−回だけ単一プロセッサ用に
用いることが決まったような場合は、その期間について
はスライスマスクに全て「0」を入れることによりその
情報を単一メモリに記憶して単一のプロセッサがその単
一メモリにアクセスすることができるようにする方が有
利であると考えられるし、これによってもスライス方式
に増してさらに貴重な時間節約を図ることができる。こ
れはシステムの設計並びにデータ記憶のためのオペレー
ションモードに対し高度のフレキシビリティを与えるも
のである。 次に、第27図には、典型的な量のビクセルを多数のメ
モリ上に分散させるやり方の一例が示されている。図示
例の場合、各メモリの容量は2キロバイトであり、これ
らの各メモリのスタートアドレス(開始アドレス)及び
エンドアドレス(終了アドレス)が示されている。例え
ば、メモリ0のスタートアドレスはooooでありエン
ドアドレスは07FFである。メモリ1のスタートアド
レスは0800であり、エンドアドレスは0FFFであ
り、以下同様にして、メモU 7ではスタートアドレス
が3800であり、エンドアドレスが3FFFとなる。 図示のように、これら複数個のメモリの間に多量のビク
セルが1メモリ当たりC4ビクセルずつスライスされて
分散されている。ここでメモリ3内における64個のビ
クセルのステップ動作について一寸考察してみる。これ
らのビクセルは図示のようにアドレス1900〜193
Fの所に記憶されている。これに隣接する1単位の情報
は、情報全体がスライス方式によりメモリシステムに分
散されているため隣のアドレス1340の所には記憶さ
れていない。このことはその隣接の1単位の情報は、メ
モリ4のアドレス2100にあると言うことを意味する
。従来技術による加算方法では、第27図に示すように
、アドレス193Fに「1」の指標を加算してアドレス
1940を作る。前述のように、このアドレスにあるの
は必要な次の1単位の情報ではなく、その情報は次のメ
モリのアドレス2100にある。第27図の最下部に、
スライス式演算による加算の仕方が示してあり、その中
でアドレス値133が2進形式で示され、その下にスラ
イスマスク情報も同様に2進形式で示されている。前に
も述べたように、スライスマスク内に「1」があると、
ある加算器セルからのキャリーアウトはキャリーバスに
沿って高位側の次のセルより遠くまで伝達される。この
例では、スライスマスクに連続して5つの「1」がある
ので、5つの加算器セルはキャリー信号によってバイパ
スされる。このように、ここで説明した改良形の加算器
のB入力に供給された「1」の指標がその改良形のA入
力に供給されるアドレス193Fの値に加算されると、
下位側から6番目のビットからのキャリーアウトは7番
目乃至11番目のビットをバイパスし、12番目のビッ
トのキャリーイン入力に伝達される。これによって、下
位側から12番目及びそれ以後のビットを含むアドレス
のビットをインクリメントさせることができ、その結果
、各メモリの容量は2キロバイトであるから、必要な次
のメモリのアドレスまでインクリメントすることができ
る。 ロ   メモリ ここで、MIHD/SIMDオペレーシーンモードでど
のようにしてメモリの構成変更が行われるかを説明する
前に、前出の第4図によりプロセッサのメモリとクロス
バスイッチの相互接続について簡単に見直しておく方が
良いと思われる。前にも説明したように、MIHDモー
ドでは、各プロセッサはそれぞれ別個のメモリから命令
を得る。そのため、第4図の実施例においては、プロセ
ッサ100はその命令ポートに接続された縦列リンク(
命令縦列リンク)から叉点19−7を介して命令メモリ
10−1に接続されている。叉点1B−7は、転送プロ
セッサが命令メモリをアクセスしている時以外は通常閉
じられており、転送プロセッサが命令メモリをアクセス
中は叉点19−7に信号が供給されてこれを制御すると
共にオフにする。 同様にして、プロセッサ101はその命令縦列リンク及
び叉点I4−7を介して命令メモリ10−5に接続され
ている。また、プロセッサ102はその命令縦列リンク
から叉点9−7を介して命令メモリ10−9に接続され
、他方プロセッサ+03は命令縦列リンクから叉点4〜
7を介して命令メモリ10−13に接続されている。こ
れはシステムがMIHDオペレーションモードにある時
のメモリープロセッサ構成方式である。 システムの全部または一部がSIMDオペレーションモ
ードに切り換えられた時は、SIMD及びMIHDモー
ドが両方とも稼働するのか、あるいは5IIIDモード
は一部のプロセッサ群についてのみ稼働するのかによっ
て、メモリ10−1を2つ以上のプロセッサに接続する
かまたは一部のプロセッサに接aするようにする方が望
ましい。図示の実施例においては、SIMDオペレーシ
ョンは4つのプロセッサlo。 〜 103の全部について行われるものと仮定する。 この場合、命令メモリ10−1は、叉点19−7を介し
てプロセッサ100に接続され、またスリーステートバ
ッファ403が叉点14−7と共にアクティブ化されて
メモリ10−1をプロセッサ+01の命令縦列リンクに
直接接続させるようになっている。同様にして、スリー
ステートバッファ402及び401が作動すると、命令
メモリ10−1がそれぞれ叉点9−7及び4−7を介し
てプロセッサ102及び+03の各命令縦列リンクに接
続される。 この時点で、プロセッサloo〜103がすべてメモリ
10−1より供給される単一の命令ストリームで動作す
るシステムが構築されたことになる。この場合、MIN
Dモードでは命令記憶用に使われるメモリ10−5.1
0−9及び10−13は他の目的用に自由に用いること
ができる。メモリ容量を少なくとも一時的に増やすため
、これらのメモリはすべてのプロセッサがアクセス可能
となる。以下、これについて詳細に説明する。 第2B図において、レジスタ282oは現在進行中のシ
ステムのオペレージ薊ンモードを示すデータを記憶する
。即ち、このレジスタはシステムがMIMDモード、 
SIMDモードあるいはSIMDとMIHDの組合せ(
ハイブリ、ド)モードの中のどのモードになっているか
を示すビットを有する。このレジスタからはMIHDを
示す信号とSiMDを示す信号の2つの信号が供給され
る。図示実施例では、一対の信号しか示されていないが
、実際は各プロセッサ毎に一対の信号が供給されるよう
にするこができる。これらの信号は叉点及びスリーステ
ートバッファに送られて、適切な構成のための適切な命
令ストリームが選択されるようになっている。MIND
の構成においては、プロセッサ101. 102及び+
03は各々独自の命令ストリームを実行する。これらの
命令ストリームはプログラムカウンタ2811.281
2及び2813によってそれぞれ指示される。これらの
プログラムカウンタの内容はそれぞれキャッシュロジッ
ク2801.2802及び2803に供給される。これ
は、プログラムカウンタにより指示された命令が現在°
それぞれメモリモジュー ル10−5.10−9及び1
0−13にあるか否かを指示する作用を存する。プログ
ラムカウンタにより指示された命令がこれらのメモリモ
ジュールにあれば、MIHD命令アドレスがキャッシュ
ロジックから各メモリへ出力され、そのメモリから逆に
命令縦列リンクを介して各プロセッサへM宜の命令スト
リームがフェッチされる。この時、メモリ内に命令がな
ければ、命令実行は停止され、叉点13−0.8−0ま
たは3−o(第4図参照)が転送プロセッサのバスに接
続され得る状態になる。これらの叉点は、各プロセッサ
によって、実行する必要のある命令の外部アドレスを伝
送したり、また次の命令ストリームが記憶されるはずの
命令メモリ10−5、lo−8または10−13内の記
憶場所を伝送するのに用いられる。転送プロセッサがい
ったんこれらの命令をフェッチすると、転送プロセッサ
よりコードがフェッチされたことを示すアクノリッジド
信号(応答信号人GK)がパラレルプロセッサへ送られ
る。すると、パラレルプロセッサは、例えば命令ストリ
ームがないことが発見されて上記のプロセスが再度リピ
ートされるような時点まで、やはり命令メモリからの命
令を実行することができる。 SIMDモードの構成では、プロセッサ1ot1+02
及び103は同じ命令ストリームを実行するので、プロ
セッサ内のキャッシュロジック2801.2802及び
2803は何の機能も果たさないことによりディスエー
ブル化される。プログラムカウンタ2B+1. 281
2及び2813の内容は、SIMDの構成では命令はす
べてプロセッサ+00によりフェッチされ、これらの内
容は命令フェッチにおいて何の機能も果たさないため無
関係である。したがって、SIMDの構成においては、
メモリl0−5、lo−9及び10−13はデータ記憶
用として用いることが望ましい。そのためには、叉点1
4−6.9−1乃至3−6及び4−1乃至4−6がイネ
ーブル化され、これによってこれらのメモリのデータが
プロセッサによりアクセスすることができる状態にする
。このことは、システムにおけるメモリの利用がS I
MD及びMIHD構成の両方について最適レベルに保た
れるということを意味するものである。 理 パーソナルコンビ −タ 第46図乃至第52図は、画像処理用のパーソナルコン
ピュータ(PC)を示すが、図示のパーソナルコンピュ
ータは3つの主要構成要素、即ち第46図に示すカメラ
センシングデバイス4600、画像処理デバイス460
2及び第48図に示すようなデイスプレィデバイス48
01で構成することができる。この画像処理用PCは必
ずしもカメラ 460Gやデイスプレィ480Iを使用
することに限定されるものではなく、多くの様々な形態
の入出力手段を用いることかでき る。 カメラ4600は例えばPCの前面4601に焦点を当
て、手4603を用いてよく聾唖者との意志伝達で行わ
れるように「手合図」をすることにより情報を入力する
ことができる。この「手合図」はカメラによって観るこ
とができるし、またスクリーンを用いてr指2本」のサ
インを表示することもでき、あるいは第11図によって
前にも説明したようにして画像情報をさらに処理するこ
とも可能である。ノで一ソナルコンピュータからの出カ
ッイスは、カメラ4600より入力される情報のディジ
タル表示をも含めて伝送するようにしてもよく、この場
合のディジタル信号としては2進信号が用いられる。従
って、ユーザはスプレッドシートやその他の情報取得手
段、例えばASCI I コードによりキーボードまた
はその他従来の方式で情報を取得する手段並びにカメラ
4600またはビデオレコーダあるいは画像処理コード
を用いるその他の形態のビデオ入力のようなビジュアル
ソースまたはビデオソースから情報を取得する手段等を
使用することができる。 ビデオ入力はテープ、ディスクまたはその他のメディア
に記録することができると共に、PCへ供給するために
情報を記憶するのと同じやり方で記憶することができる
。 このような画像処理用PCは例えば下記のような特徴を
具備し得る: 1)カメラ、スキャナ及びその他のセン
サよりイメージを取得する: 2)文書(ドキユメント
)中の情報あるいは物を理解する;3)文書または画像
から関連情報を抽出する;4)画像や文章ドキュメント
を組合せたデータベースを通じて問題を切り抜ける; 
5)ジェスチャ認識のような進んだ画像処理用インター
フェースを提供する。 このPCは、このシステムに入れられた情報は読み出す
ことができ、また情報内容は他のシステムによってさら
に処理することなく直ちにアブストラクト化できるので
、インスタントデータベースを創出するのに使用するこ
とができる。これによれば、記憶前にいずれも全く認識
されなかだ特定語(ワード)の一致により簡単にアクセ
スすることが可能なデータベースが創出される。これは
、そのような特定語だけでなく幾何学形状やビクチャに
まで拡張することができ、多くの用途に効果的に利用す
ることが可能である。例えば、カタログや新聞を走査し
て、ハイウェイ上のすべての樹木、すべての赤い車ある
いは一定寸法を超える全てのトラック等、特定の対象を
探すためのシステムを設計することもできる。そして、
概念的には、イメージプロセッサがアブストラクトして
ユーザが使い易くしたワード、物、及び形状によりデー
タベースが形成されることになる。 このような画像処理能力を有するPCの1つの用途は、
静止画でも動画でもまたビデオでも、単にPCに画像を
走査させるだけでシステム内に取り込むことができ、あ
るいは何らかのドキュメント中に組み入れることができ
るというような用い方である。このように取り込んだ情
報は、次に、第11図により前に説明したように、アブ
ストラクト処理され、その出力はユーザ制御下における
以後の処理のために画像処理用PCで利用することがで
きる。 この発明のシステムで何故そのように大きな画像処理能
力が得られるかという理由の1つは、単一チップに多数
のメモリと共に互いに並列に動作する複数個のプロセッ
サが内蔵されており、しかもこれらのメモリがすべてシ
ステムのほぼ瞬間的な再構成を可能にするクロスバスイ
ッチによってアクセス可能であることによる。これによ
れば、従来では未知の高度の能力とフレキシビリティが
確保される。このことは、また、画像処理能力の大幅な
増強を可能にし、そのような大きな画像処理能力をその
他の処理能力と共に利用することによりこれまで知られ
ていなかった形のサービスを提供することが可能になる
。その例としては、例えば、写真及びその他の画像の復
元、修復、あるいはファクシミリ文書をそのバックグラ
ンドにある異質なものを取り除いて送信されたイメージ
と同程度あるいはそれ以上に鮮明にするクリーニング処
理等が考えられる。このシステムは主に処理能力を1つ
のオペレージジン単位に組み入れられる故に、比較的小
さなバッケーノに封入することができる。バンド幅に関
する制約や配線等の物理的制約の問題も解消される。 この構想を拡張すると、画像処理PCを、腕に装着可能
で大きなビデオデイスプレィの代わりに小さなフラット
パネルを用いた小さなユニットに組み込み、第46図に
示すように、例えばユーザが上方で指を振り、その像を
入力するというようなことが可能となる。この画像処理
システムは、前述したように、種々の動き(運動)を認
識し、それらの運動を入力に変換(翻訳)する。これに
よれば、キーボードやその他の機械的入力デバイスの問
題が効果的に取り除かれ、これらの代わりにビジュアル
イメージを入力として用いることができるようになる。 この場合入力デバイスはデイスプレィともなり得、二重
の目的に使うことが可能である。すると、このことは、
光学式文字認m装置は現在考えられているよりもずっと
重要な入力手段になるということを意味する。 第47図は、画像処理PCによる制御並びに第1図及び
第2図の構成により実行される第11図のアルゴリズム
の下に2本の指の像から求められた2進出力を示す。 また、第48図は画像処理PCを用いたリモート伝送シ
ステムを示す。 第49図乃至第52図は、イメージシステムプロセッサ
のPCを様々な用途に応用した実施例を示している。例
えば、第49図は多重化された入出力デバイスを有する
パーソナル用のデスクトップ型画像処理PCを示し、こ
の例では、物体またはコピ一対象書類は、光学系490
7及びCOD (電荷結合素子)装置によって撮像ある
いは検出される。ここで検出された情報は、A/Dデー
タ収集装置4904によってアナログ情報からディジタ
ル情報に変換される。このデータ収集装置4904は、
ディジタルの検出情報をイメージシステムプロセッサ(
ISP)に供給する。 コントローラエンジン4905は、CCD装置及びプリ
ントアセンブリ4909の双方に所要のタイミング信号
を供給する。プリントアセンブリ4909は文書(コピ
ーまたはファク/ミリプロダクト)4910を出力する
。制御コンソール4902は、例えばキーボ−ド、マウ
スあるいはその他前述のイメージ入用デバイスで構成す
ることができる。LCD (液晶)またはCRT (ブ
ラウン管)デイスプレィ4903はは例えばユーザへの
ビジュアル情報提供のために用いられる。デイスプレィ
4903、ISP/メモリ4900及びプリントアセン
ブリ4909は、処理された画像テ゛−タを伝送する画
像情報バスにより互いに接続されている。 第50図はイメージシステムプロセッサ5000の隠れ
た応用例を示し、この例においては画像はやはり保安施
設における侵入者の葡無など外界から情報を収集するC
CD装置5004またはその他のセンサによって検出さ
れる。この情報はイメージシステムプロセッサ5000
の外部メモリであるフレームバッファまたはVRAM5
003に記憶される。あるいは、このISPをパターン
(または人物)認識装置として用い、出力制御情報をラ
ッチ5009に供給するよにしてもよい。この情報は例
えばドアロツタ、工場における工程等のような被制御機
構500Sを制御するのに用いられる。また、ラッチ5
008からの出力は出力デイスプレィ501Oにも供給
することができる。プログラムあるいは命令はあらかじ
めハードディスクドライブ5002または光ディスク5
001に記憶されている。これらのデバイスは上記の保
安施設等における侵入者のイメージなど、何らかの情報
の発生を記憶するのにも使用することができる。統計学
的な記録蓄積手段5007では、システムの状態及び何
らかの事象の発生に関するデータが記録され、蓄積され
る。 第51図はハンドベルト型の画像処理用PCの概略構成
を示す。この場合、イメージシステムプロセッサ510
6は位置情報入力を供給する2つのCODデバイス51
05より入力を得、この位置情報入力を処理してユーザ
が与えたジェスチャの情報及びF’Cの制御情報を抽出
する。そして、例えばユーザの手または疑似ペンの位置
と方向がデバイスの制御のために、あるいはISPと共
にを意のメツセージまたは文字を抽出するために用いら
れる。フラットパネルデイスプレィ5104はこのハン
ドベルト型PCの出力情報を表示する。オプシジン的に
は、外部カメラ5103を用いれば、ユーザは例えばハ
ンドベルト型PCの視野外のイメージを収集することが
できる。また、ホストポートあるいはプリンタポートを
設けるならば、ユーザはハンドベルトPC内の情報をダ
ウンロードし、あるいはプリントするこきができる。 第52図は、ホスト5205を宵するネットワーク構成
ニオけるISPの応用例を示し、この構成では、リモー
ト方式であるいは何らかの中央局でオフライン収集され
バッファ5201に配分された所要画像情報がホス) 
5205により供給され、図示構成の画像処理用F’C
はこの情報を用いてイメージシステムプロセッサ520
0に情報を供給する。情報を取得する1つの方法は、フ
ロントエンドプロセッサ520Gと共に用いられるスキ
ャナ5207によるものである。 このような画像処理用PCの廉価版(第49図の構成に
比べて)によれば、イメージ収集デバイスのネットワー
ク化によって資源共用(リソースシェアリング)が可能
となる。また、プリンタインターフェース5203及び
これに接続されるプリンタ機構520イによりプリンタ
ポートを得ることもできるが、これによれば、ユーザは
画像あるいはイメージシステムプロセッサによりエンハ
ンスされたイメージの外、普通の文章情報及びグラフィ
ック情報を含む複合文書をプリントすることができる。 並列処理とメモリインテラクションがすべて単一チップ
上で行われ、がっこれと相俟ってオールチップ制御にな
るプロセッサーメモリ構成とオペレーションモードの広
範なフレキシビリティが確保されるこの画像処理システ
ムのフンバクトな構成は、画像データ入力並びにASC
II入力を受は入れる画像処理用PCの能力及びこれら
2種類のデータを同時に利用する能力を助長するもので
ある。 −Lエユニ辻1」1節 第53図は色々な処理アルゴリズムを用いて画像データ
を処理する動作が可能な画像処理システム53IOを示
す。ビデオカメラ、スチールイメージカメラ、バーコー
ドリーグ等の画像処理用デバイス5312 (画像用デ
バイス)は、画像を捕捉するために用いられ、そのデー
タを画像データメモリ5314に供給する。このように
捕捉された画像のデータは、アドレスジェネレータ53
18によりアドレス指定されたイメージプロセッサ53
16によってアクセスされるまで画像データメモリ53
14に記憶される。 第1図及び第2図に示すプロセッサのようなイメージプ
ロセッサ5316は、ヒストグラム作成等画像データに
対する統計学的プロセスを含む信号処理動作を実行する
。また、画像データ中の「1」の計数値を得るために「
1」計数回路5320が設けられている。画像データ中
の投影線沿いの「1」の数のような情報は画像データの
統計学的分析のために用いられ、その分析結果はパター
ン認識等に用いることができる。例えば画像データのヒ
ストグラムを所定の画像パターンのものと比較してそれ
らのパターンが一致するかどうかの認識を行う。 出力デバイス5322はイメージプロセッサ5316に
接続されており、画像処理システム5310の何らかの
出力を表示するのに用いることができる。出力デバイス
5322としては、モニタテレビあるいはハードコピー
作成デバイス等を用いることができる。 上記の画像処理システム531Oについて少し考えて見
るならば、この発明を有利に適用し得ると考えられる環
境の一例がわかるし、また上記の説明は何ら「1」計数
回路の応用性を限定するものではないということは明ら
かであろう。 次に、第54図には「1」計数回路5320の論理ゲー
トレベルの実施例が示されている。図示の「1」計数回
路5320は、カウントセル542fia〜542[i
lのM行×N列のマトリクス5424からなり、この例
ではM:3. Il:4である。ここで、入力2進スト
リングのビット数がX。ビットとすると、Mは次式で求
めることができる: M  =  log*(X、  +  1)ただし計算
結果は大きい側の最寄りの整数に丸める。  また、 
 Nは: N = 1 である。 マトリクス5424はXで表されている2進ストリング
を入力してYで表されている2進数を出力する。 この出力はその2進ストリング中の「1」の数を示す。 Aで示されているもう1つの出力は最小化された「1」
計数回路で用いられるが、これについては以下に説明す
る。 上記マトリクス5424の各カウントセル5426a〜
!M2[il ハA)IDゲート及びXORゲート(排
他的OR)を有する。例えば、カウントセル542[i
aはANDゲート5428a及びこれと結合されたXO
Rゲート5430aを有する。  ANDゲート542
8aのようなA?lDゲートは、そのすべての入力が論
理レベル「1」である場合及びその場合に限って出力が
論理レベル「1」となるAND機能を果たす。ANDゲ
ート5428aは入力5432a及び5434aと出力
5436aを有する。 従って、入力5432a及び5434aの論理レベルが
どちらも「1」の時出力543[iaも「1」になる。 また、入力のどらかがrOJであれば出力5436aは
「0」である。 XORゲートは、その入力に奇数の「1」が印加されて
いる時のみ出力に論理レベル「1」を生じさせる。例え
ばXORゲート 5430aはその人力5440a及び
5442aのどちらか一方だけが「1」になっている時
のみ出力5438aが「1」になる。 カウントセル5426aにおいてはマトリクス5424
の他のすべてのカウントセル同様に、ANDゲート54
28aはXORゲー)  5430aに結合されている
。ANDゲート5428aの入力5432aはXORゲ
ート 5430aの入力5440aに接続されている。 ANDゲート5428aの入力5434aはXORゲー
ト5430aの入力5442aに接続されている。以上
の接続関係により、ANDゲート5428aにはXOR
ゲート5430aと同じ入力が供給される。 カウントセル5428a乃至542B+はマトリクス5
424の行及び列をなすように配列されている。ここで
、カウントセル542 G a、 5426 b及び5
42[ieの相互接続を例に取って、マトリクス542
4全体の相互接続構成を説明する。第54図に示すよう
に、カウントセル5426aはカウントセル5426b
の左側でカウントセル542[ieの上側の位置に配置
されている。また、カウントセル542Eiaはカウン
トセル542Gbに接続され、カウントセル542Gb
のXORゲー) 5430の出力5438はカウントセ
ル542[iaの入力5432a及び5440aに接続
されている。さらに、カウントセル542Gaは542
Geに接続され、カウントセル5426eのANDゲー
)  5428aの出力5436は、カウントセル54
26aのANDゲート5428aの入力5434a及び
XORゲート5430aの入力5442 aに接続され
ている。ここで説明した相互接続関係は、行間接続につ
いてはカウントセル5426aと5426eとの関係を
用い、また列間接続については、カウントセル542B
aと542Gbとの関係を用いることによりマトリクス
全体に拡張して適用することができる。また、マトリク
ス5424は行と列を入れ換えて実施することも可能で
あり、マトリクスそのものはこの発明の要旨から逸脱す
ることな(他のマトリクスと置換することができる。 ここで、マトリクス5424の構成をさらに詳しく説明
するために、行及び列に言及する場合は下記の約束に従
うものとする二 行には行番号(M −1)を付すと共
に、列には列番号(?1−1)を付し、最下行を行01
  右端の列を列Oとする。第54図の例では、Mが3
、Nが4である。さらに、 (x、y)の位置にあるカ
ウントセルを見ると、座標X及びYはそれぞれカウント
セルの列番号及び行番号を示している。例えば、カウン
トセル542Gaは(3,2)に位置している。 このようにして、マトリクス5424は行及び列をなす
ように配列され相互接続されたカウントセル5428a
乃至542[ilからなり、行0には2進ストリングX
が供給され、行1には行OのANDゲート出力が供給さ
れ、行2には出力2が生じる。列に関しては、列0には
信号伝播を開始するために何らかのソースから「0」が
供給され、列■には行OのXORゲート出力が供給され
、列3には2進ストリング中の「1」の数を示す出力Y
が生じる。列Oに与えられる論理レベル「0」は入力を
ハードウェア的に接地することにより得ることも可能で
ある。 ここで説明の便宜上2進ストリング1101(Xs=1
、X2−1、Xに〇、Xe=1)がマトリクス5424
0行Oに供給されるものと仮定する。すると、カウント
セル542G+の人NDゲート5428の出力が「0」
となり、カウントセル542[ilのXORゲート54
30の出力が「1」になる。このカウントセル5426
1のXORゲート5430の論理レベル「1」は行Oに
沿って伝達され、各カウントセルのXORゲートの出力
は対応するX入力に「1」が入る毎にトグル動作する。 従って、図示の如く上記2進ストリングが供給された場
合、カウントセル542SkのXOI’1ゲー) 54
30の出力は論理レベル「1」のままであり、カウント
セル5421ijのXORゲー) 5430の出力は「
0」にになり、カウントセル542[ilのXORケ−
) 5430の出力は「1」になる。その結果、行Oの
出力は「1」、即ちYO:rlJとなる。 行1でも、各XORゲートの出力は同様にトグル動作す
る。即ち、カウントセル5426hのXORゲートの出
力は、カウントセル542B+のANDゲート5428
より「0」が供給されており、 「0」である。 カウントセル542EigのXORゲート5430の出
力は、このセルにはカウントセル54211ihのXO
Rゲート5430及びカウントセル5426にのAND
ゲート5428より共にrOJが供給されており、 「
0」のままである。そのため、カウントセル542[i
fのXORゲート5430)出カバ、カウントセフ1/
 542[ig f7) XORゲート5430より「
0」が、カウントセル542BJのANDゲ−ト542
8より「1」が入力されており、 「1」となる。また
、カウントセル5428eのXORゲート^0の出力は
、カウントセル542GfのXORゲートioより「1
」が、カウントセル542G+のANDゲ−) 542
8より「0」が入力されており、 「O」となる。その
結果、行1の出力は「1j1 即ちY。 =「1」となる。 行2では、カウントセル5426dのXORゲート54
30の出力は、ハードウェア結線による「0」及びカウ
ントセル542GbのANDゲート5428からの「0
」が入力されており、 「0」である。カウントセル5
42[icのXOI?ゲート5430の出力は、カウン
トセル542Gd f7)XORゲー) 5430及び
カウントセル5428gのANDゲー) 5428より
共に論理レベル「0」が供給されており、 「0」のま
まである。その結果、カウントセル5426a及び54
26bのXORゲート5430の出力は共に「0」とな
り、行2の出力は「0」、即ちY2=「0」となる。そ
のため、図示例の入力2進ストリングX =: 110
1に対するマトリクスの出力2進数YはY == 01
1、即ちlO進数の3となる。実際、この2進ストリン
グ入力X = 1101中の「1」の数は3になってい
る。 ここで、 「1」計数回路5320が入力を受けてクロ
ック信号の必要なしに出力を出す非同期回路であるとい
うことは明らかである。従って、マトリクス5424で
は、入力が入ると同時に出力が発生し、信号はマトリク
スを通じて伝播する。マトリクスを通しての最長伝播時
間は、信号がカウントセル54261.5426h15
426d、  542[ic、  542Gb1 及び
5426aを含む最長経路を通って伝播するのに要する
時間であろう。 第54図のマトリクス5424は矩形状マトリクスで、
多数の同一構成のカウントセル5426よりなる。この
ような性格のため、 「1」計数回路はコン/XIクト
に作ることができ、半導体マスク製造のためのレイアウ
トも容易である。しかしながら、マトリクス5424は
、カウントセルまたはゲートある(箇マその両方の数を
さらに少なくすることにより、なお−層最小規模化する
こともできる。 第55図には、4ビツト2進ストリング入力用の最小規
模構成の「1」計数回路マトリクス5544が示されて
いる。このマトリクス5544は相互接続されたカウン
トセル554Ga乃至5546を具備している。 最小規模構成のマトリクスの場合、行数M及び各行のカ
ウントセル数Nはそれぞれ下記の式により与えられる: M=logtX内 計算結果は大きい側の最寄りの整数値に丸める。 ん=X、−2「 ただし、Xfiは入力2進ストリングXのビット数であ
り、rは0から(M −1)の範囲の行番号である。 第55図の例では、入力2進ストリングXのビット数X
。は4である。従って、上記の式を用いるで、行数Mは
2となる。第1行についてNを計算するとrhoである
から、N=3と求まる。第2行については、r=1 よ
りN=2となる。フル構成のマトリクス(第54図)で
の12個のカウントセルに比して、このように第1行に
3つ、第2行に2つ、合計5つのカウントセルしか持た
ない最小規模構成のマトリクスによって、4ビツトの2
進ストリング中の「1」の数を計算することができる。 カウントセル55411ia乃至55411ieは、各
々、第54図に示すフルマトリクス5424のカウント
セルと同様、A11Dゲート5548及びこれに結合さ
れたXOi’lゲート5550よりなる。カウントセル
5548c乃至5548eの入力には2進入カス) I
JングXが供給される。 数Yが生じる。 第55図の例では、カウントセル5546cのANDゲ
ート5548及びXORゲート5550の入力5552
にX3が供給され、X2はカウントセル5546dのA
NDゲート5548及びXORゲート5550の入力5
554に供給される。 また、xlはカウントセル554GeのANDゲート5
548及びXORゲート5550の入力5556に供給
され、X、はカウントセル554[1)ANDゲー) 
5548及びXORゲート5550のもう一方の入力に
供給される。 2進数出力Yの最上位ビットY2はカウントセル554
11iaのXORゲート5548の出力5560に発生
する。 またYlはカウントセル554fiaのXORゲートの
出力5562に生じる。最下位ビットY@はカウントセ
ル554GcのXORゲート5550の出力5564に
生じる。 この最小規模構成のマトリクス5544は矩形マトリク
スではないから、カウントセル間の相互接続関係は前述
の矩形マトリクスと異なり変更されている。特に、フル
マトリクスと対比して(x、y)の位置にカウントセル
が欠けている場合、その位置のすぐ「下」の行のカウン
トセルがそのすぐ左のカウントセル(x+1.y)のX
ORゲートの入力に接続される。また、フルマトリクス
に比べて2つ以上のカウントセルが欠けている場合、例
えば、座標(x、y)及び(x+1.y)の2つのカウ
ントセルがない場合は、(x+ 1 、y−1)の位置
のカウントセルの人!1Dゲートの出力を(x+2.y
)のカウントセルのXORゲートの入力に接続しさえす
ればよい。第55図の実施例では、(0,1)及び(1
,1)の位置のカウントセルが欠如しているから、(1
,0)の位置のカウントセル5546eのANDゲート
5548の出力は(2,1)の所のカウントセル 55
46bのANDゲー) 5548及びXORゲート55
50の入力に接続されている。また、フルマトリクスの
実施例と比べて、(θ、o)の位置のカウントセルも欠
けているため、X@は(1,0)のカウントセル 55
46e c)ANDゲー1−5548及びXORゲー)
 5550  の入力5556及び5558に直接接続
されている。さらに、座標(3,0)のカウントセルも
欠如しているから、出力Y2としては(3,1)の所の
カウントセル5546aのANDゲート5548の出力
556゜が直接用いられる。 前出の入力2進ストリングX : 1101 (X3=
 1、X2=1、X、=伝 xs=1)を入力とじて用
いると、カウントセル 546eのANDゲー) 55
38の出力はrOJであり、同カウントセル554Ge
のXORゲート5550の出力は「1」である。カウン
トセル554[iaのXORゲート555oの出力論理
レベル「1」は行0を介して伝播し、各カウントセルの
XORゲートの出力は各々対応するXN入力が「1」と
なる毎にトグル動作する。従ってカウントセル554e
dのXORケートの出力はrOJとなり、カウントセル
5546CのXORゲート5550の再度出力は「1」
になる。 その結果、行0の出力としては「l」が得られ、Ys=
rlJとなる。 2番目の行(行l)では、カウントセル554GbのA
lIDゲー) 554Bの出力Zは、このセルにはカウ
ントセル554GeのANDゲート5548より「0」
が供給されており、 「O」でる。カウントセル554
EibのXORゲート5550は、カウントセル554
GeよりrOJが、またカウントセル554Eidより
「1」が供給されており、 「1」を出力する。カウン
トセル5546aのXORゲート5550は、カウント
セル554Gcより「0」が、カウントセル554Fi
bより「1」が供給されており、 「1」を出力する。 その結果、行1の出力は「1」で、YI=「1」となる
。さらに、カウントセル5546aのANDゲート55
48の出力であるY2は「0」となる。従って、出力2
進数Yハv=ott となり、入力2進ス) IJ 7
グX : 1101中に3つの「1」があることを示す
。 上記マトリクス5544は、破線で描かれているセル5
546bの人NDゲー) 5548のような一部の論理
ゲートを省くことによりさらに小規模化することが可能
である。このANDゲー) 554Hの出力Zは出力2
進数Yを組み立てるのにはふようであるから、このゲー
トは省略することができる。従って、最小規模構成のマ
トリクスでは、同じ行中の欠如したカウントセルのすぐ
隣のカウントセルのANDゲートは省略可能であり、こ
れによって「1」計数回路のサイズを一層縮小すること
ができる。 ここで、この発明の範囲が本願で開示説明する回路の実
施例に限定されるものではないということは言うまでも
ない。特に、上記以外の実施例としては、当技術分野で
は良(知られているようにここで説明した実施例に基づ
きプールロジックにより誘導可能な回路の実施例等が含
まれる。例えば、AlIDゲー) 554gのようなA
)fDアゲートNANDゲートにインバータを結合して
も全く同等に実施することが可能である。さらに、当技
術分野では周知のド壷モルガンの定理によりAND機能
はORゲートの出力にインバータを結合すると共に、そ
のORゲートの入力を反転させるやり方でも実施可能で
ある。上記のようにこの発明より誘導可能な代替的回路
もこの発明の範囲内に含まれるものである。 次に、第56図には、この発明の文字認識の応用例が示
されている。ビクセルのマトリクス5666は文字rF
Jを形成するように配列されたrOJ及び「1」で構成
されている。このマトリクス5666のビクセルは前述
の画像処理デバイスで収集し、画像データメモリに記憶
したものであってもよい。 ビクセルマトリクス5666は、行方向及び列方向に処
理され、それぞれ各行の「1」の数の計数値(行方向カ
ラン))5[iH及び各列の「1」の数の計数値(列方
向カラン) ) 5Ei70が得られる。行方向カウン
ト5668はビクセルマトリクス566Gの各行を2進
ストリング入力Xとして「1」計数回路に供給すること
により得られる。このように、各行毎に「1」の数の計
数値が得られる。第56図の例の場合1 キャピタル文
字rFJの最初の2行には「1」のビクセルはない。行
3にはこの文字の最初の横線を形成する4つの「1」が
ある。行4には「1」は1つしかない。また、行5には
文字「F」の2番目の横線を形成する3つの「1」があ
り、行6及び7にはいずれも「1」が1つずつ含まれて
いる。 同様にして、列方向カウント5670はビクセルマトリ
クス5666の各行を「1」計数回路に供給すことによ
り得られる。列l及び2には、どちらも「1」は入って
いない。列3には文字rFJの縦線を形成する5つの「
1」があり、列4及び列5にはどちらも2つの「1」が
入っている。また、列6には「1」は1つしかなく、列
7及び8には「1」は全くない。 このようにして、この発明によれば、パターン認識シス
テムでは、すべての文字、キャラクタ及びどのようなイ
メージであっても行方向カウント及び列方向カウントを
ヒストグラムとして作り、記憶することができるので、
これらを新しい文字画像サンプルに対する比較基準とし
て用いることが可能である。 この発明の上記実施例では、入力2進ストリングの「1
」の数を計数するが、 「1」計数回路マトリクスの入
力にインバータを付加することにより2進ストリングの
rOJの数を計数するよう動作する「0」計数回路を用
いた実施例ももとより可能である。このような「0」計
数回路はこの発明の他の実施例の1つであり、この発明
の範囲内に含まれるものである。 以上、この発明について詳細に説明してきたが、特許請
求の範囲に記載したこの発明の趣旨並びに範囲を逸脱す
ることなく数多の変更、置換及び改変を行うことが可能
なことは明らかである。 プロセッサの 以下、第29図乃至第45図を参照しつつマスタープロ
セッサ、パラレルプロセッサ、及び転送プロセッサにつ
いて詳細に説明する。この説明は特許請求の範囲に記載
した本願発明の動作、作用を理解する上においては必ず
しも必要ではないが、個々の具体的な実施例を得る上に
おいては有用であろうと思われる。実際に使用されるシ
ステムの詳細はそのシステムの要件によって決まり、以
下に論する内容からも大きく異なってくる場合もあり得
る。 第29図には、同期及び色々なパラレルプロセッサ間に
流れるその他の情報の制御を含め、イメージシステムプ
ロセッサの動作を制御するのに用いられるマスタープロ
セッサ12の詳細な構成が示されている。マスタープロ
セッサ12は、命令を実行するが、その命令はオブコー
ド回路2911 (オフコードオンPCODE;オペレ
ージ四ンコード)及ヒレジスタフアイル2901によっ
て制御されるオブコードを有する32ビツトワードを用
いることができる。 プログラムカウンタ(PC)2903は制御ロジック2
904の制御下において動作し、バス172からオプコ
ードレジスタ2911への命令のローディングを制御す
る。制御ロジック2904は命令を解読し、マスタープ
ロセッサI2でのオペレージオンを与えられた命令に基
づき制御する。 整数演算装置(ALU)2902の他、このマスタープ
ロセッサには2つの部分からなる浮動小数点演算装置が
設けられている。これら2つの部分とは、1つはマルチ
プライヤ2905、正規化回路2906及び指数加算器
(EIP)2107で構成された浮動小数点乗算器であ
り、他の1つは蔓前正規化回路(PRENORM)29
08 、演算装置(AU)2909及び事後正規化シフ
タ(SHIFT−NORM)2910よりなる浮動小数
点加算器である。 プログラムカウンタ2903は32ビツト命令を読み込
む必要がある時、バス172に沿ってアドレス出力を供
給するために用いられる。整数演算装置2902は、オ
プコードレジスタ2911により解読された命令に従っ
て動作して、マスタープロセッサの外部に接続されるキ
ャッシュメモリからのデータ読み込みを制御するアドレ
スを発生することができ、そのアドレスはバス171を
介して出力される。これに対するデータは、キャッシュ
メモリよりバス+71のデータ部を通って供給され、レ
ジスタファイル2901に記憶される。 上記の命令バス172及びデータバス171はそれぞれ
アドレス部及びデータ部よりなっている。命令バス17
2の場合、アドレス部はプログラムカウンタ2903か
らアドレスを受は取り、データ部+1オブコードレジス
タ2311にデータ(命令)を取り込むよう接続されて
いる。また、データノイス+71では、アドレス部は整
数演算装置2902の出力からアドレスを受け、データ
部はレジスタファイル2901に接続されて、データは
書き込みサイクルならばレジスタファイル2901から
出、読み込みサイクルならばレジスタファイル2901
へ入れられる。 マスタープロセッサ12の各構成要素間の相互動作の態
様は当技術分野においては周知である。たとえば、グラ
フィックスプロセッサの動作形態の一例が「浮動小数点
コプロセッサ(双対プロセッサ)」という名称のカール
昏ガツターグ、デビット・ガリー 及びシェリーφヴア
ン・エイケンIこよる同時係属米国特許出願(出願番号
第387.472;1989年7月28日出願、本願中
に引用)に開示されている。 パラレルプロセッサの重 第1図及び第2図に示す4つの、<ラレルフ20セッ+
 (PP)100〜103はシステムオペレーションの
大半を実行する。これらのパラレルプロセッサは各々高
度の並行処理能を存して、各サイクル毎に限定命令セッ
ト計算機のようなオペレーションを沢山実行することが
できると共に、荒天なデータ処理能力を有し、特に画像
/図形処理においてそのデータ処理能力を発揮する。 これらの各パラレルプロセッサは、クロスバスイッチを
介してメモリへのアクセスを1サイクル当たり命令につ
いて1回、データについて2回、合計3回行うことがで
きる。また、各パラレルプロセッサは各サイクル毎にマ
ルチプライ(情報)演算及びALU(演算Φ論理装置)
オペレージタンを実行することができると共に、次の2
つのデータ転送のためのアドレスを生成することができ
る。 そして、効率的なループロジックにより3つのネストさ
れたループ(入子形ループ)のサイクルオーバヘッドを
ゼロにすることができ、論理値「1」を扱うための特殊
なロジックが組み込まれており、さらに人LUはバック
されたピクセル(こ対するオペレージジンのためにスプ
リット(分割)可能である。 前にも述べたように、パラレルプロセッサは、使用上の
フレキシビリティを確保するため、同じ命令によりオペ
レージタンを実行する(SIMD;  単一命令多重デ
ータモード)よう構成することもできれば、独立命令ス
トリームにより実行する(HIMD; 多重命令多重デ
ータモード)用構成すること可能である。MIMDモー
ドでは、パラレルプロセッサを互いにロックステップ関
係でランさせ、プロセッサ間で効率的な同期データ転送
を行うことができる。 偶然同じメモリを同時アクセスしてしまうのではないか
という気苦労からプログラマをかいはうするために、ク
ロスバスイッチにはフンテンシラン優先順位指定ロジッ
クが内蔵されており、またパラレルプロセッサにはりト
ライロジックが内蔵されている。 パラレルプロセッサ100〜+03は同じ論理設計にな
っているが、システム内部での接続関係で2つの差異的
特徴がある。まず、これらの各パラレルプロセッサには
ハードワイヤード方式により一意の2ビツト識別番号が
供給され、これによってプログラムはアドレスのような
各パラレルプロセ、す固有の情報を生成することができ
る。次に、SIMD用として構成された場合、 1つの
パラレルプロセッサ、即ちPP100が「マスターJ 
SIMDマシンとして動作し、すべてのパラレルプロセ
ッサに代わって命令フェッチを実行する。それ以外のパ
ラレルプロセッサは「スレーブ」マシンとして動作し、
単に与えられた命令ストリームを実行するだけである。 。インターフェース 第30図に示すように、パラレルプロセッサ 100〜
+03は、命令ポート3004、グローバルポート30
05及びローカルポート3006等の沢山のインターフ
ェース並びにプロセッサ間通信リンク40を介してシス
テムの他の各部に接続されている。 命令ポート3004はMIMDモードにおいてはそれ自
体の命令RAM 1O−1(10−5,10−9または
1O−14)に接統され、SIMDモードにおいては、
他のバラl/ 、+1/ 7’ロセツサの命令バスに接
続される。SIMD用として構成された場合は、 「マ
スターJ SIMDパラレルプロセッサ100のみがそ
の命令バス状にアドレスを出力する。また、命令ボート
3004は転送プロセッサ11にキャッ/ユミス情報を
伝送するのにも使用される。 グローバルボート3005は、クロスバスイッチの全長
に亘って走るパラレルプロセッサ専用のバスに固着され
ている。このバスを経て、パラレルプロセッサはクロス
バスイッチが接続されたメモリlOのどのRAMにもア
クセスすることができる。データの転送サイズは、一般
に8.IBまたは32ビツトである。このポートに関連
するコンテンション(競合)検出信号3210はクロス
バロジックによりドライブされ、 リトライを実行しな
ければならない時そのことを指示する。 ローカルボート300Bは機能的にはグローバルポート
3005と類似しているが、これがアクセスできるのは
、各パラレルプロセッサに物理的に対向する位置のクロ
スバスイッチが接続されたRAMだけである。しかしな
がら、SIMDモードにおいては、4本のローカルPP
バス6を直列に接続して「共用」読み込みを指定し、す
べてのパラレルプロセッサ(またはその部分集合)に同
じデータを供することができる(RAK 10−0.1
0−2.10−3またはlo−4の中の1つから)。そ
の場合は、 「マスターJ SIMDパラレルプロセッ
サ100のみがデータのアドレスを供給する。 MIHD構成においては、PP(パラレルプロセッサ)
プログラムをロックステップ関係で実行できるようにな
っている。それには、プログラマがコードの該当部分に
LCK及びULCKのバウンドを付すことにより指示す
る。各パラレルプロセッサにつき1出力ずつからなる4
つの信号3020はこれらのパラレルプロセッサ間に伝
達されて、各パラレルプロセッサがこのようなコード部
分に遭遇している時そのことを指示する。パラレルプロ
セッサはこれらの信号をテストすることによってフード
を同期して実行することができる。 上に述べたように、グローバルポート3005及ヒロー
カルボート3006には、コンテンションが起こった時
及びリトライが必要な時を知らせるための信号321O
及び3211 (第32図)が供給される。SIMDモ
ードの構成になっている場合は、フンテンションの問題
がすべて解消されるまですべてのパラレルプロセッサは
命令実行を休止しなければならない。そのために、すべ
てのパラレルプロセッサ間には、いずれかのパラレルプ
ロセッサがコンテンションを検出した時アクティブ化さ
れる信号3007が伝送されるようになっている。次の
命令は、この信号がイナクティブ化された時のみパラレ
ルプロセッサによってロードされる。この信号は、 「
マスターJSIHDパラレルプロセッサ!00がキャッ
ンユミスを検出した時にもアクティブ化される。 MIHDモード構成では、 信号3007は無視される
。 SIMD+1成の場合は、パラレルプロセッサ間にスタ
ックコヒーレンシー(コンンステンンー)が維持されな
ければならない。従って、条件付きコールを行う時には
、 「マスターJ SIMDパラレルプロセッサ100
から「スレーブJ SIMDパラレルプロセッサ101
〜103へその条件が真であって、 「スレーブ」パラ
レルプロセッサ101乃至103は戻りアドレスをブツ
シュすべきであるということを指示する信号3008が
必要である。 これ以外にSIMDコヒーレンシーが維持しなけらばな
らないのは、割込みが起こった時である。この条件を取
り込むために、 「マスターJ SIMDパラレパラレ
ルプロセッサ+00てアクティブ化される信号3009
があり、 「スレーブJ StにDパラレルプロセッサ
101〜103はこの信号を常時注視する。パラレルプ
ロセッサ100〜103はすべてこの信号がアクティブ
状態の時割込み疑似命令ンーケンスを実行する。 もう一つの51M0割込み関連信号301Oは、 「マ
スター」パラレルプロセッサ100に「スレーブ」パラ
レルプロセッサ101〜+03がイネーブル化された割
込みを保留しているということを示す。 「スレーブ」
パラレルプロセッサ101〜103は、常時割込まれる
ことを予期すべきではないため、この信号によってSI
MDタスクに何らかの不具合が起こったことを指示する
ことができる。 各パラレルプロセッサには沢山の割込み信号3011が
供給される。これらの割込み信号は1つのパラレルプロ
セッサがメツセージ伝達のために他のパラレルプロセッ
サにより割り込まれるのを可能にするためのものである
。マスタープロセッサ12もメツセージ伝達のため同様
にパラレルプロセッサに割り込むことができる。  ま
た、マスタープロセッサ12は、新しいタスクを与える
ためにも各パラレルプロセッサに割込みを掛けることが
できる。srMDcv場合、rスレーブ」パラレルプロ
セッサ101〜103中の割込みロジックはスタックコ
ンシスチンノーのためにアクティブ状態に保たれなけれ
ばならず、割込みは若干具なる方法で処理されるが、こ
れについては後述する。 パラレルプロセッサはパケット要求が必要な時、信号3
012によって転送プロセッサに知らせる。転送プロセ
ッサはパケット要求が処理された時もう一つの信号 3
013によってそのことを指示する。 SIMD411成の場合、 「マスター」パラレルプロ
セッサ100だけが転送プロセッサに対してパケット要
求を出力する。 Ki璽1 パラレルプロセッサのバス構成をか第30図に示されて
いる。パラレルプロセッサは3つの主要装置、即チフロ
グラムフローコントロールユニット(プログラムフロー
制御装置) 3002、アドレスユニット3001及び
データユニツ) 3000で構成されている。以下、こ
れらの各装置について個別に説明する。 プログラムフローフントロール(PFC)ユニー/ )
3002は、第31図に示すように、プログラムカウン
タ3100に関連するロジック、即ち命令キャッシュ制
御ロジック3101、ループ制御ロジック3102、ブ
ランチ/コールロジック3103及びPP同期ロジック
3104を存する。このロジックは、パラレルプロセ−
/ サ(7)命令RAM 10−1.10−5.10−
9または10−14がらのオブフードのフェッチングを
制御する。また、キャッシュミスが起こると、このロジ
ックはコードをフェッチすることができるようにセグメ
ントアドレス及びサブセグメント番号を転送プロセッサ
に伝送する。 PFCユニット 3002内にには命令パイプライン3
105がある。従って、PFCユニット3002はアド
レスユニット3001及びデータユニット3000を制
御するのに必要な信号3112を発生する。あるオプコ
ードにより指 定された即値データはやはり命令パイプラインから抽出
され、必要に応じてデータユニットに送られる。 PFCユニット3002には、割込みイネーブル(IN
TEN)3107、割込みフラグ(INTFLG)31
06及び割込みベクトルアドレス生成ロジックも設けら
れている。 このロジックはベクトルを読み込み、プログラムカウン
タ3100及びステータスレジスタ(SR)3108ノ
内容をセーブしく退避させ)、また割込みルーティンへ
分岐するために、アクティブな割込みを優先させ、疑似
命令の7−ケンスをパイプライン3105に注入する。 パケット要求ハンドンエーク信号3102及び3103
もPFCユニット3002に接続される。 PFCユニット3002はパラレルプロセッサの一部で
あり、その動作態様はSIMDモードの場合各パラレル
プロセッサ間で異なる。 [マスターJ SIMDパラ
レパラレルプロセッサ100なりとも通常の如く動作す
るが、 「スレーブ」パラレルプロセッサ1゜1−10
3は各々のキャッシュロジック3018をディスエーブ
ル化し、現在フラグ3109をフラッシュする。 ループロジック3102.  同期ロジック3104及
びパケット要求信号3102.3103もディスエーブ
ル化される。割込みロジックの動作態様は、すべてのパ
ラレルプロセッサの動作態様が同等になるよう修正され
る。 第32図に示すアドレスユニツ)3001は同一構成の
2つのサブユニット32oo及び3201を育し、これ
らの各サブユニットは、 クロスバスイッチが接続され
たRAM 10におけるデータ記憶場所の16ビツト・
バイトアドレスを生成することができる。各サブユニッ
ト内には、4つのアドレスレジスタ32o2、4つのイ
ンデックスレノスタ3203.4つの修飾子レジスタ3
204、モジュロレジスタ3205及びALU 320
6が設けられている。オブコードで2つの並列データア
クセスが指定されると、サブユニット3200はグロー
バルポート3005を介してアドレスを出力し、もう一
方のサブユニット3201はローカルボー) 300B
を介してアドレスを出力する。アクセスが1つだけ指定
された時は、単一の共用SIMD読み込みが指定されて
いない限り、サブユニツ)3200゜3201のどちら
からアドレスが出力されてもよい。 単一の共用SIMD読み込みが指定されている場合は、
「ローカル」サブユニット320Iよりアドレスを供給
する必要がある。 マタ、アドレスユニット3001は、グローバルバス3
005.ローカルバス3006のどちらかまたは両方に
フンテンションが検出されるとりトライをサポートする
機能をも有する。 アドレス指定モードには、アドレスレジスタ修飾の有無
に従い、また短期即値によるかインテ、。 クスレジスタによるかでプレインデキノング(PRE)
及びポストインデキシング(PO5T)がある。アドレ
スは、さらに、2の累乗モジュロの有無、ビット反転ア
ドレス指定の有無、及び共用SIMD読み込みによって
、データ空間またはI10空間に入るよう修飾すること
ができる。 アドレスユニット3001はまたグローバルポート30
05またはローカルボート300B上のアライナ/抽出
器(ALIGN/EXTRACT)3003  (第3
0図)をも制御する。これらのアライナ/抽出器300
3は基本的にはRAM 10へまたはRAM 10から
のバイト、ハーフワードあるいはワードの転送を行わせ
るバイトマルチプレクサである。また、これらのアライ
ナ/抽出器3003は非整合(ただしバイト整合された
)ハーフワードまたはワードをロードあるいは記憶させ
る。必要ならば、ロードのサインエキステンシ四ン(符
号拡張)も可能である。 データユニット3000 (第33図)は、8つのマル
チボートデータレノスタ3300、フル32ビツトのバ
レルンフタ(B、S、) 3301.32ビツト AL
U(演罪番論理装置)3302、左右両端rlJ / 
rlJの数ロジック3303、除算反復ロジック及び1
8X 16シングルサイクル乗算器(MULT)330
4で構成されている。 また、データ伝送のため数個のマルチプレクサ3305
〜3309が具備されている。 さらに、多重ビクセル演算が可能なように特殊な命令が
入れられている。ALU 3302は2つまたは4つの
同等の部分に分割可能で、これらの部分により加算、減
算、比較を実行することができる。 これらの演算に続いて、飽和、最大/最小、及び透過性
等を実行させるマージオペレージロンを行うことができ
る。これと同じロジックを用いると、急膨張、色圧縮及
びマスキング等のオペレーンロンも容易化することが可
能である。 データユニットの命令はすべてシングルサイクルで実行
され、またすべてレジスターツーΦレジスタオペレーン
ヨンである。これらの命令はすべて、クロスバスイッチ
に接続されたメモリlOからまたはメモリlOへ、 1
つまたは2つの別個にコード化されたロードまたは記憶
(ストア)をデータユニットのオペレーションと並行に
行うことを可能にする。即値命令が指定されると、それ
はオプコード中の並列移動を置換する。これら種々のオ
ペレーションは上記8つのデータレジスタ3300以外
のレジスタを用いても実行することができるが、その場
合即値命令に関しては並列移動を指定することはできな
い。 ニム」I 第30図に示すように、パラレルプロセッサにはそのデ
ータバスの全長に亘って走る4本のバス3014〜30
!7が設けられている。これらのバスはすべてデータの
移動に用いられ、バス数(及びレジスタの読み出しボー
ト、書き込みポートの数)とデータユニットのオペレー
ションに許容されるソース及び行き先とのバランスを考
慮して妥当な数のバスが設けられる。 左端のバス 3014は16ビツトの即値データ(左/
右の位置調整及び符号拡張後)データユニー/ )30
00へ伝送する。また、このバスは即値データを人LU
 3302を通過させ、そこからレノスタ書き込みバス
3016へロードするのにも用いられる。 左から2番目のバス 3015はアドレスユニット30
01あるいはPFCユニット3002のいずれかのレジ
スタソースからデータユニット3000ヘデータを伝送
する。また、このバスはグローバルポート3005ヲ介
シてメモリIOへ送られるストアのソースデータを運ぶ
のにも使用され、さらにALUオベレーシーンと並行し
て起こるレジスタソ−ス 移動のソースをも運ぶ。 その右隣のバス3016は、メモリ10からグローμ/
l/ 、+! −) 3005を介していずれかのレジ
スタソ−スするため、及びデータユニットのオペレーシ
ョンの結果をいずれかのレジスタへ書き込むのに使用さ
れる。このバスは、バイブラインがコンテンション、同
期またはキャッシュミスの間体止する際o−1’テータ
を一時的に保持するラッチ3018を具備している。 右端のバス3017は、 メモリ!0からまたはメモリ
10ヘデータユニツトのレジスタ3300のロードまた
はストアを行うために専らローカルボート300Bによ
って使用される。このバスはデータユニットのレジスタ
3300以外のレジスタは全くアクセスすることができ
ない。また、このバスは、バイブラインがフンテンシぼ
ン、同期又はキャッシュミスの間体止する際ロードデー
タを一時的に保持するラッチ3019を具備している。 パイプラインの パラレルプロセッサのバイブラインはフェッチ、アドレ
ス及び実行と呼ばれる3つのステージを有する。以下、
これらの各バイブラインステージについてそれぞれ簡単
に説明する。 「フェッチ」: プログラムカウンタ3100に入って
いるアドレスがセグメントレジスタ311oの内容及び
現在のフラグ3I03と比較され、命令があればフェッ
チされる。プログラムカウンタ3100は票後インクリ
メントされるかまたはループスタートアドレス(LSA
)3111よりリロードされる。MIHD同期がアクテ
ィブ状態であれば、命令フェッチの許可または禁止が行
われる。 「アドレス」:命令が1つまたは2つのメモリアクセス
を要求すると、アドレスユニット3001はこのステー
ジの間に所要アドレスを生成する。そのアドレスの上位
の5ビツトはコンテンション検出/優先順位指定のため
クロスバスイッチ20に供給される。 「実行」:レジスタ・ツー・レジスタのデータユニット
3000のオペレージ1ン及びその他のデータ移動はす
べてこのステージ中に行われる。クロスバスイッチアド
レスの上記の残りの11ビツトはRAM 10へ出力さ
れ、データ転送が実行される。コンテンションが検出さ
れると、それが解消されるまでこのステージがリピート
される。プログラムカウンタ3100が行き先(即ちブ
ランチ、コールまたはリターン)として指定されると、
PO3100はこのステージ中に書き込まれ、その結果
2つの命令の遅延スロットを生成する。 メモリ 各パラレルプロセッサは下記の3つの別個のメモリ空間
をアクセスする: 064メガバイトのオフチップのワード整合メモリ空間
(オンチップキャ、ンユより);084キロバイトのオ
ンチップのクロスバスイッに接続されたメモリ10. 
 この空間はデータ空間と称する; 064キロバイトのオンチップI10空間、この中には
パラメータRAM 、  メツセージレジスタ及びセマ
フォーフラグがある。 各パラレルプロセッサ100〜103のi10空間は互
いに分離されているので、コードはI10空間をアクセ
スする時各パラレルプロセッサ対して一意のアドレスを
計真する必要はない。従って、各パラレルプロセッサは
同じ論理アドレスの自己のパラメータRAMを見ること
になる。これはメツセージレジスタ及びセマフォーフラ
グについても同じである・ しかしながら、マスタープ
ロセッサは各パラレルプロセッサのI10空間を一意に
アドレスすることができる。 上記メモリの64キロバイトはあくまでも1つの実施例
であって、これを拡張したり変更したりすることが可能
なことはもちろんである。 プログラムフローフントロールユニー/ )プログラム
フローコントロール(PFC)ユニット3002 (第
31図)はほとんどフェッチパイプラインステージで動
作し、命令パイプラインのローディングに影響を及ぼす
。しかしながら、命令パイプラインはPFCユニツ) 
3002内にあるので、このユニットはアドレス及び実
行パイプラインステージの時もアドレスユニット300
1及びデータユニット3000に対して信号3112を
発しなければならない。 また、PFCユニット3002はアドレスユニット30
01カラコンテンンヨンが起こったということを示す信
号を受は取り、パイプラインを休止する。 立エユヱユI」 512−命令キャッンユは4つのセグメントを存し、こ
れらの各セグメントは各々4つのサブセグメントよりな
る。従って、各サブセグメントは32の命令を含むこと
になる。各サブセグメントには1つの現在フラグがある
。プログラムカウンタ3100は24ビツトであるから
、セグメントレジスタ3110は各々17ビツトである
。また、命令オブフードは32ビツト幅である。 命令RAMをアクセスするのに用いられる 9ビツトワ
ードアドレスはプログラム3100の下位の7ビツトと
セグメントアドレス比較ロジック3113からの 2ビ
ツトから作られる。この比較ロジック3113はRAM
アクセスを著しく遅延させることがないよう迅速に動作
しなければならない。 プログラムカウンタ3100の上位17ビツトがセグメ
ントアドレスレジスタ3110の 1つと一致しない場
合は、セグメントミスが起こっている。最低使用頻度の
セグメントが選びだされて、ロジック3114によりト
ラッシュされ、そのサブセグメントの現在フラグ310
9がクリアされる。しかしながら、プログラムカウンタ
3100の上位17ビツトがセグメントアドレスレジス
タ3110の 1つと一致し、それに対応するサブセグ
メントのフラグがセットされていないばあいは、サブセ
グメントミスが起こっている。 いずれかの型のキャッンユミスが起こるとパイプライン
は休止され、キャソ7ユミス信号3115が転送プロセ
ッサ11へ送られる。キャッシュミスアクノリッジ信号
が転送プロセッサエ1より供給されると、プログラムカ
ウンタ3100の上位17ビツト及びフィルすべきサブ
セグメントを表す4ビツトが転送プロセッサバスに出力
される。 (これには、パラレルプロセッサ命令バス(
水平バス7)、及び転送プロセッサバス(水平バス0)
の間のクロスバスイッチ接続0−3.0−8.0−13
または0−18が必要である)。そして、転送プロセッ
サアクノリッジ信号3115はイナクティブ化される。 そのサブセグメントが転送プロセッサIfによってフィ
ルされると、キャッシュフィルド信号3115がパラレ
ルプロセッサに送られて、対応するサブセグメントの現
在フラグ3109をセットし、パラレルプロセッサのキ
ャッシュミス信号3115をイナクティブ化して、命令
実行が再開される。 パラレルプロセッサがキャッシュミス要求の処理のため
に待機している時そのパラレルプロセ。 すに割込まれると、そのキャッシュミス処理は中止され
、これによって望まれていないコードの不必要なフェッ
チを防止するようになっている。 SIMD構成においては、 「スレーブJパラレルプロ
セッサ101〜103の現在フラグ3109がクリアさ
れた状態に保たれ、キャッシュロジック3101は無視
される。 「スレーブ」パラレルプロセッサ101〜1
03は、SIMD休止信号3007がイナクティブの時
は常に命令(「マスター」パラレルプロセッサ100に
より供給される)をパイプラインにロードする。 「マ
スター」パラレルプロセッサのキャッジ33101は通
常の如く動作するが、これもSIMD休止信号3007
がアクティブの時は常にパイプラインを休止する。 (
このような条件は「スレーブ」パラレルプロセッサ10
1〜103がコンテフシ1ンを検出すると生じる)。M
IND構成においては、  SIMD休止信号はすべて
のプロセッサにより無視される。 パラレルプロセッサのキャッシュ310+をフラッシュ
する能力はマスタープロセッサ12によりアクセス可能
なメモリマツブトレジスタによって得ることができる。 このような機能は選択されたパラレルプロセッサのすべ
ての現在フラグをクリアする。 ェy二ニゲ」(〕 ここでは、専らアドレスユニット3001用のロジック
を用いる代わりに、コンボリユーシヨンのようなオペレ
ーシゴンを速度を犠牲にすることなく適宜のアドレスに
よりフード化することができるようサイクルオーバーヘ
ッド零で実行する3つのネスト化されたループが設けら
れている。 この特徴をサポートするために、16ビツトの3つのル
ープエンド(LE)値レジスタ3116〜3118.1
6ビツトの3つのループカウント(LC)レジスタ31
19〜3121.16ビツトの3つのループリロード(
LR)値レジスタ3122〜3124、及び24ビツト
の1つのループスタートアドレス(LS人)値レジスタ
3111等多数のレジスタが具備されている。これらの
3つのループ通のスタートアドレスが共通になっている
てんは制約要因であるが、この制約はもう2つ24ビツ
トのループスタートアドレスレジスタを付加するだけで
解消することができる。 ループレジスタ3111及び3116〜3124をロー
ドするのに必要な命令の数は、ループ力つ/タレジスタ
3119〜3121を、これに対応するループリロード
レジスタ3122〜3124が書き込まれる時常に、同
時にロードすることによって減らすことができる。 このやり方で最大3つの命令を節約することができる。 この場合、セーブされたレジスタを復旧する、即ち文脈
スイッチ後に復旧する時は、ループリロードレジスタ3
122〜3124をループカウンタレジスタ3119〜
3121よりも前に復旧しなければならない。 ステータスレジスタ3108 (第34図)には、ルー
プを幾つアクティブ化する必要があるかを示す2ビツト
(ビット25.24)が用意されている。 (最大ルー
ピング深さビットMLD)。また別の2ビツト(ピッ)
23.22)が現在のルーピング深さを示すために用意
され(現在ルーピング深さピッ)CLD)、2ビツトデ
イクレメンタの形で実施されている。 これらのビットはループエンドアドレスレジスタ311
G〜3118の中のどれをプログラムカウンタ310゜
と比較すべきかを指示する。これらのCLDピッノドは
リセットにより、またステータスレジスタ31O8がブ
ツシュされていれば割込みによってゼロにクリアされる
(どのループもアクティブ状態でなくなる)。ループに
は最も外側のループを1として1から3までの番号が付
されている。ユーザはループロジックをアクティブ化す
るためにはMLDビット及びCLDビットを所望の値に
セットしなければならない。すべてのループが完了する
とCLDビットは0になる。 CLD ビットはフェッチパイプラインステージの間ル
ープロジックにより自動的にディクレメントされるから
、ループ内の最後の2命令の間はステータスレジスタ3
108に書き込みを行うべきではない。 ループロジック3102がいったんアクティブ化される
と(CLDビットにゼロ以外の値があることにより)、
そのCLD ビットにより指示される16ビツトのルー
プエンドアドレスレジスタ(3118〜3118+71
中の 1つ)が各命令フェッチの間インクレメントされ
ていないプログラムカウンタ3100と比較される。こ
の比較で一致の結果が得られる且つ対応するループカウ
ンタ(3119〜3121の中の 1つ)が 1でなけ
れば、ループスタートアドレスレジスタ3111の内容
がプログラム3100にロードされ、ループカウンタ(
3目3〜312+の中の 1つ)がディクレメントされ
、MLD ビットがCLDビットにコピーされる。 しかしながら、インクレメントされていないプログラム
カウンタ3100とループエンドアドレスレジスタ(3
118〜3118)は内容が等しく、対応するループカ
ウンタ(31+!]〜3121)の内容が 1であると
、CLDビットが lだけディクレメントされ、対応す
るループカウンタ(3119〜3121)がそれに対応
するループリロードレジスタ(3122〜3124の 
1つ)よりリロードされ、プログラム3100は次の命
令へインクレメントする。 ループエンドアドレスレジスタ3118〜3118ハ1
6ビツトしかないから、ループは 84に命令より長く
てはならないということになる。また、現在使用中のル
ープエンドアドレスレジスタ(3118〜31!8の中
の 1つ)の!6ビツト値の形でのループ外へのブラン
チまたはコールが偶然現れないかどうか注意すべきであ
る。ユーザはCLDビットにゼロをセットしてこの点に
つき何ら問題がないことを確認するべきである。ループ
エンドアドレス比較は、ブランチまたはコールの2つの
遅延スロット命令の開割込みからのリターンを助けるた
めにディスエーブル化される。 フェッチパイプラインステージの間はループロジックが
作動するから、必要ならばルーピングとに1にD同期化
を結合することができる。ループの割込みは上記同様問
題ではない。SIMDにおけるルーピングは「マスター
J SIMDパラレパラレルプロセッサ100プロジッ
クによって制御される。この場合、「スレーブ」パラレ
ルプロセッサ101〜 +03のループロジックは、そ
れらのプログラムカウンタ3100は無視されるのでや
はり動作可能である。 上記の構成については種々の構成要素を置換した実施例
が可能である。ややユーザに好意的なやり方は、 3つ
の比較器付24ビツトループエンドレジスタ及び3つの
24ビツトループスタートアドレスレジスタを具備する
ことである。各ループはステータスレジスタ中の 1つ
のビットによりイネーブル化することができる。 共通タスクに対して作用するMIHDプログラムを実行
する時は、通常プロセッサ間で通信する必要がある。こ
のシステムは、 「ルース(疎)」通信のためのメツセ
ージ伝送及びセマフォーをサポートするが、密接に結合
された(密結合)プログラムを実行する時は情報交換を
サイクル単位ベースで行う必要がある。この場合は同期
実行が役に立つ。 各パラレルプロセッサの同期ロジック5YNC/PP#
3104のレジスタには各パラレルプロセッサに対して
 1つずつ 4ビツトが設けられている。ある 1つの
パラレルプロセッサを同期させる他のパラレルプロセッ
サは、そのプロセッサのレジスタのそれらのパラレルプ
ロセッサに対応するビットに「1」を書き込んで指示す
る。同期させる予定の他のプロセッサについても、これ
と同様に各々の5YNC/PP#3104のレジスタの
該当するビットをセットする。 同期して実行することが望ましいコードは LCK(ロ
ック)及びULCK (アンロック)命令出バウンドす
ることにより指示される。LCKに続< ULCKまで
の命令(ULCKを含む)は他のパラレルプロセッサと
ロックステップ関係で実行される。従って、同期した各
パラレルプロセッサでは、LCK命令とυLCK4+令
との間の命令は同数でなければならない。 同期されたコードが実行されていると言う情報はステー
タスレジスタ3108のrSJビット(ビット26)に
より記録される。このビットは、それぞれLCKまたは
ULC:に命令のアドレスパイプラインステージのマス
ターフェーズまではセットまたはリセットされないが、
LCKまたはυLCK命令はスレーブフェーズの間欠の
命令のフェッチに影響を及ぼす。このビット26は、 
リセットにより、またステータスレジスタ3108がブ
ツシュされている場合は割込みによってクリアされる。 パラレルプロセッサはLCK命令(アドレスパイプライ
ンステージのスレーブフェーズによりデフードされる)
に遭遇すると、同期されたコードを実行中であるという
ことを指示する信号40を他のパラレルプロセッサ10
0〜103に出力する。次に、パラレルプロセッサは同
期関係を欲する他のパラレルプロセッサからの入力同期
信号をAND処理し、その結果これらのプロセッサがす
べて同期信号40を出力している時のみ次の命令がパイ
プラインヘフェッチされる。この動作は、同期している
すべてのパラレルプロセッサは同じ一致同期信号群がア
クティブ状態でなければ処理動作を行わないので、これ
らすべてのプロセッサで同時に実行される。そのため、
異なる 2つのMIMDタスクは、各々他方の同期信号
を無視するので、同時にランすることができる。 また、同期されるのは命令フェッチであるから、同期さ
れたコードに割込みを掛けることが可能である。この割
込みはパラレルプロセッサの同期信号40を直ちにイナ
クティブ化させる。キャッシュミス及びコンテンション
はほぼ類似の結果をもたらし、ハードウェアをインステ
ップ状態に保持する。ただし、コンテンションの場合は
、コンテンジョンが生じた命令に統(2つの命令がパイ
プライン中にフェッチされてからパイプラインが休止す
る。 アイドル(IDLE)命令を同期されたコードに入れて
、あるパラレルプロセッサが割込みされた後その割込み
ルーティンから復帰するまで、同期されたすべてのパラ
レルプロセッサのオペレーンジンを休止させることも可
能である。 同期されたコードに割込みを掛けることができるように
する必要があるため、いずれか1つのプロセッサのプロ
グラムカウンタPC3100を行先として指定した命令
は、すべて状態レジスタのSビットの作用を直ちにディ
スエーブル化(無効化)するが(ULCK命令と同じタ
イミングで)、Sビットはセット状態を保持する。いっ
たん2つの遅延スロット命令が完了すると、Sピッ) 
(2G)の作用が再びイネーブル化(存効化)される。 このメキャニズムによれば同期された遅延スロット命令
に割込みが掛けられなくても何ら問題はない。そのため
に、同期ロジック3104はブランチ(分岐)、コール
(呼出し)及びリターン(復帰)を単一の命令として取
り扱う(2つの遅延スロット命令が続< PC3100
ロードとして実行される)。同期信号40は2つの遅延
スロット命令の間イナクティブ化され、これらの命令は
同期信号40を見ることなくフェッチされる。LCK命
令が遅延スロットに入れられた場合、その効果は遅延ス
ロット命令が実行された後に発揮される。同期されたル
ープは、その「ブランチ」は実行ステージではなくフェ
ッチパイプラインステージで働くので、通常のコード同
様の挙動を示す。 同期の作用の仕方の一例が第23図に示されている。こ
の場合、パラレルプロセッサ102(PP2)トパラレ
ルプロセッサ+01(PPI)  は、AOとAIがそ
れぞれ各パラレルプロセッサ101及び102に同じア
ドレスを有していると仮定すると、各々のデータDOレ
ノスタの内容を交換する。ここで、また、人0とA1は
フンテンションを避けるために互いに異なるRAMを指
示するものと仮定する。 (同じRAIIを指示しても
有効に作動するが、余分のサイクルが必要である)。 この例では、PPIは、PP2がそのLCK命令に達し
てから1サイクル後にLCK命令に達する。このように
、PP2は1サイクル待機する。そして、これらのパラ
レルプロセッサは同時に記憶を行うが、PP2は、ロー
ド命令をフェッチする時キャッシュミスを起こす。両パ
ラレルプロセッサはこのキャッンユミスが転送プロセッ
サI+によって処理されるまで待機する。その後、これ
らのプロセッサは同時に且つ同じようにtlLcKをロ
ードする。次いでPPIが命令4をフェッチする時にキ
ャッシュミスを起こすが、これらのプロセッサは今度は
アンロックされているので、PP2は妨害されることな
く動作し続ける。 この簡単な例は命令lと2を組合せ、また命令2と3を
組み合わせることによって更に簡単化することができる
。 (即ち、LCKII STの後にULCKI IL
DWを続ける)。このやり方でまさしくロードは同期さ
れるが、ここで必要なのはそのことだけである。 SIMDモードでの同期は、その方式自体がもともと同
期性を含んでおり、LCK及びULCK命令が目的を持
たず、従ってコード化されたとしても何ら作用しない。 ステータスレジスタ3108のSビット(26)は、た
とえプログラムで「1」にセットされているとしても何
の効果もない。 割゛み びリターン プログラムカウンタ3100がロードされた後において
は、 2つの遅延スロットの開割込みはロックアウトさ
れなければならない。これによってプログラムカウンタ
3100の現在の値とブランチアドレスを共にセーブし
、 リターンで回復させなければならないというような
事態を防ぐことができる。 プログラムカウンタ3100のロードは遅延スロット命
令の間禁止されるが、ユーザがそれでもこのようなロー
ドを実行するような場合、ロックアウト期間は延長され
ない。そうでないと、割込みがいつまでもロックアウト
されることが起こり得るからである。 多くのプロセッサとステータスレジスタ310日にはグ
ローバル割込みイネーブルビット(27)(1)がある
。ユーザは、このビットをセット/リセットすることに
よってマスタータスク割込み及びILLOP(違法オプ
コード)割込みを除くすべての割込みをイネーブル/デ
ィスエーブル化することができる。このビット(27)
は、 リセットにより、またステータスレノスタ310
8がブツシュされていれば割込み疑似命令によってクリ
アされる。 割込みからのリターンはシーケンス POP SR,P
OF PC,DELAYI、 DELAY2によって実
行される。この場合、ステータスレジスタ3+08ノ1
(27)、 5(2B)。 及びCLD(23)、 (22)の各ビットはDELA
Y2命令の前にPOP SRによってロードされるが、
その作用はブランチ(POP PC)命令が完了するま
で抑止される。 これによってリターン完了前に作用が現れるのを防止す
る。 パラレルプロセッサ100〜+03は、各々最大16の
割込みソースを用いることができるようになっている。 これらの中 8つのソースは割込みが指定されており、
他のソースは将来の拡張のために残しである。 ここで指定された割込みは下記の通り である。 マスタータスク 11op SIMDエラー 11add コンテンション バケツ ト要求 マスタープロセッサがパラレル プロセッサ100〜103に新しい タスクをランするよう要求する (常にイネーブル化(許可)さ れる) 違法オブコードが検出された (常にイネーブル化される) 「マスターJ SIMD PP100に:(7) ミ適
用れる。 3つの「スレーブ」 PPl0I〜 +03のすべてのイネーブル化された割
込みの01?(論理 和) 存在しないオンチップアドレス がアクセスされた コンテンションが検出された。 コンテンションを通常のやす方 で解消した後側込みを行う 転送プロセッサがPPのバケット 要求連係リストを使い切った (イブジースト) マスター    マスタープロセッサ12がPPのメメ
ッセージ ッセージレジスタに書き込みを行う時生じる PPOメツセージ PPOがPPのメツセージレジスタ
に書き込みを行う時生じる PPI メツセージ PPI がPPのメツセージレジ
スタに書き込みを行う時生じる PP2メツセージ PP2がPPのメツセージレジスタ
に書き込みを行う時生じる PP3メツセージ PP3がPPのメツセージレジスタ
に書き込みを行う時生じる ■」L欠y」二と1 割込みは 2つのレジスタ、即ち割込みフラグレジスタ
3106(INTFLG)及び割込みイネーブルレジス
タ3107(INTEN)によって制御される。 割込みイネーブルレジスタ3107は、各々対応するビ
ットがハードワイヤードで「1」にセットされたマスタ
ータスク及びILLOP割込みを除き、各別込み毎に個
別のイネーブルビットを有する。このレジスタはリセッ
トによりオールゼロにクリアされる(「1」にハードワ
イヤードされたビットを除く)。ビット15〜ビツト0
は使用されない。 割込みフラグレジスタ3106は各別込みソース毎に個
別のイネーブルビットを存する。このフラグはそれぞれ
単一サイクルの間アクティブ化されるソース信号により
ラッチされる。このレジスタはリセットによりオールゼ
ロにクリアされる。ビット15〜0は使用されない。保
留のマークが付されているビットも「0」にハードワイ
ヤード接続される。すべてのフラグは「1」を書き込む
ことによってクリアされる。 「0」を書き込んでも何
の効果もない。これによって、必要ならば、割込みを生
成する代わりにフラグをソフトウェアによってポーリン
グ及びクリアすることができるようになっている。割込
みが行われると、対応するフラグがハードウェアによっ
て自動的にクリアされる。 フラグがソースによってセットされようとしており、こ
れと同時にクリアされようとしている場合は、セットが
優先する。 割込みフラグレノスタ3106は、ステータスレジスタ
3108の R((リストアレジスタ)ビット(+9)
カセットされておれば、通常のデータレジスタと同様「
0」及び「1」を用いて書き込むことができる。これに
よってタスク状態復元ルーティンは割込み状態を復元す
る事ができる。 ステータスレジスタ3108の1ビツト(27)をセッ
トさせることにより割込みがイネーブル化(許可)され
ると、それらの割込みには優先順位が指定される。セッ
トされるフラグを有するイネーブル化された割込みはす
べて優先され、すぐ次の機会に割込みが生成される。こ
の場合、下記のような3つの疑似命令のシーケンスが生
成される:■ 割込みベクトルのアドレスを生成し、プ
ログラムカウンタ(PC)3100内ヘフエツチしくま
ずpcをRET 3103ヘコビーする)、割込みフラ
グレジスタ3106内のフラグを同時に再セットされる
場合を除きクリアする:■ RET 3103をブツシ
ュする;■ ステータスレジスタ(SR13108をブ
ツシュし、 5R3108の5(2B)、  +(27
)及びCL[1(22)、  (23)ビットをクリア
する。また、これらのビットに対応する動作、機能を実
行ステージが完了するまでディスエーブル化スル。 コンテンション解消は、上記シーケンスによりサポート
されなければならないので、実行には3サイクル以上が
必要な場合がある。同様に、割込みルーティンの最初の
 2つの命令のどちらかに対するキャッンユミスは、パ
イプラインを休止させる。 割込みベクトルはパラレルプロセッサ自体のパラメータ
I?AMIOよりフェッチされる。これらのベクトルは
、パラレルプロセッサ100〜103の各々に対して同
じ論理アドレスに存在するから、これらの各パラレルプ
ロセッサ100〜!03の割込みロジックは同じベクト
ルアドレスを生成する。 割込みルーティンの最初の2つの命令はどちらもLCK
命令であってはならないと言うのはバイブライン処理の
ためである。同様の理由で、上記の第3の疑似命令の実
行ステージがが完了するまで割込みロジックは割込み3
10[i、同期ロジック3104及びループロジック3
102をディスエーブル化しなければならない。これに
よって割込みルーティンの最初の2つの命令のフェッチ
ングの間これらのロジックの機能がアクティブ化される
のを防いでいる。 割込みは、SIMDモードの場合にIMDモードの場合
とは幾分具なる扱いがなされる。SIMDモードにおい
ては、スタックコヒーレンシーを維持するためニ、「マ
スター」パラレルプロセッサ100からスレーブ」パラ
レルプロセッサ101〜103へは割込みを受けている
ということを指示する信号が送られる。この信号は「ス
レーブ」パラレルプロセッサ101〜103に各々の割
込み疑似命令のシーケンスを実行させる。プログラムカ
ウンタ3100はいずれにしても無視されるので、どの
割込みベクトルをフェッチするかは全く問題ではない。 また、SIMD構成では、逆に「マスター」パラレルプ
ロセッサ100へ「スレーブ」パラレルプロセッサ10
1〜103がイネーブル化された割込み事象を検出した
ということを示す信号を送る必要がある。その事象は、
例えばフンテンシ璽ン、違法アドレスアクセスあるいは
メツセージ割込み等である。これらはいずれもエラーと
なることはほとんど確実であるから、それらの事象は「
マスター」パラレルプロセッサ+00上で唯一の割込み
レベルにより処理される。 「スレーブ」パラレルプロ
セッサ+01−103カら「マスター」パラレルプロセ
ッサ+00へ 1つの信号30IOが供給されているが
、これは全部の「スレーブ」パラレルプロセッサ101
−103のイネーブル化割込みの論理和(OR)信号で
ある。割込みを出しているスレーブ101〜103は、
 「マスター」・ツーψ「スレーブ」への割込み信号3
009が有効(アクティブ)になるまで割込み疑似命令
を実行しない。 SIMD休止信号3007がアクティブの時割込みが発
生すると(「マスターJパラレルプロセッサ+00より
)、「マスター」會ツ一番「スレーブ」割込み信号30
09の送出は、休止の原因が取り除かれるまで遅延され
る。休止の原因がキャッンユミスであるば、そのキャッ
シュミスが解消されるとすぐに割込みを行うことができ
る。 ブランチ  フール ブランチ及びコールはプログラムカウンタ(PC)31
00に書き込みを行うことにより実行される。PC31
00は他のパラレルプロセッサのレジスタと同様にアド
レス指定可能なレジスタであり、ブランチアドレスはP
C3100に書き込まれ、PC+1という値がリターン
アドレスレノスタ(+?ET) 3103にコピーされ
る。これははブランチが実際はコールであったばあいの
りターンのために必要な値である。次に、このRETレ
ジスタ3103は、コールの中に組み入れるために遅延
スロット命令のいずれかによってスタック状にブツシュ
されるようプログラムされる。 条件付きコールができるようにするために、条件付きで
リターンアドレスをブツシュする命令が用意されている
。これはブランチが行われている場合に実行されるだけ
である。 前にも述べたように、プログラムカウンタ3100を行
き先として指定する命令は、 2番目の遅延命令がフェ
ッチされるまで割込みをロックアウトする。これによっ
てブランチアドレスまたはリターンアドレスあるいはそ
の両方が消失してまうような問題を防止することができ
る。上記の期間中は同期もディスエーブル化されるが、
これについても既に述べた。ループロジック3102が
余りにも早くアクティブ化されることによる割込みから
のリターンに付随する問題を防ぐため、上記2つの遅延
スロット命令の間はループエンドアドレス比較もディス
エーブル化される。 ステータスレジスタ ステータスレジスタ3108はPFCユニット内に設け
られ、構成は第34図に示されている。以下、各ビット
の機能について説明する。 先ず、 N(否定ピッ))(31)は結果が否定の時一
部の命令によりセットされる。ソフトウェアでのこのビ
ットへの書き込みは通常の否定結果セツティング機構を
オーバーライドする。 C(キャリービット) (30)はキャリーが起こった
時一部の命令によりセットされる。ソフトウェアでのこ
のビットへの書き込みは通常の結果キャリーセツティン
グ機構をオーバーライドする。 ■(オーバーフロービット) (2!1)はオーバーフ
ローが起こった時一部の命令により書き込まれる。 これは永久ラッチされるオーバーフローではない。 このビットの値は、これをセット/リセットする次の命
令が実行されるまでしか保持されない。ソフトウェアで
のこのビットへの書き込みは通常の結J%オーバーフロ
ーセツティング機構をオーバーライドする。 2(ゼロビット) (28)は結果がゼロの時一部の命
令によりセットされる。ソフトウェアでのこのビットへ
の書き込みは通常のゼロ結果セツティング機構をオーバ
ーライドする。 1(割込みイネーブルビット) (27)は、グローバ
ル割込みイネーブルビットで、リセット及び割込みによ
りゼロにセットされる。これは割込みイネーブルビット
がセy)されたすべての割込みを許可する。通常のバイ
ブライン遅延のために、このビットの値の変更は実行ス
テージが完了するまで何の効果ももたらさない。 S(同期コード実行ビット’I (2B)は、同期MI
HDフード実行が稼働中であることを示すビットで、リ
セット及び割込みによりゼロにセットされる。 命令は、同期ロジック5YNC/PP# 3104のレ
ジスタ中の同期(SYNC)ビットにより指示されるす
べてのパラレルプロセッサがアクティブな同期信号40
を出力している時にフェッチされるだけである。このビ
ットの値はSIMD構成では無視される。 MLD (最大ルーピング深さビット) (24)及び
(25)ハ、何W類のレベルのループロジックが稼働し
ているかを示すビットで、リセットによりゼロにセット
される。00はルーピングがないことを示し、01はル
ープ1だけ、10はループ!と2.11は3つのループ
全部がアクティブであることをそれぞれ示す。 CLD (現ルーピング深さビット)(22)及び(2
3)は、現在どのループエンドレジスタがプログラムカ
ウンタと比較されているかを指示するビットで、リセッ
トによりゼロにセットされる。00はルーピングがない
ことを示し、01はループエンド LIOはループエン
ド 2.11はループエンド3をそれぞれ示す。これら
のビットは、 リセットによりゼロにセットされ、ステ
ータスレジスタ3108がブツシュされていれば割込み
によりゼロにセットされる。 R(復元レジスタビット) (1B)は、タスクスイッ
チ後ハードウェアの状態を復元する時に用いられるビッ
トで、りせっとによりゼロにセットされる。このビット
は、 「1」にセットされていると、通常のレジスタと
同様に「1」及び「0」による割込みフラグレジスタ3
106への書き込みを可能にし、またメツセージレジス
タを新しいメツセージ割込みを生じさせることなく復元
させる。このビットは、また、同様の理由でステータス
レジスタ3108のQピッ) (+7)への書き込みを
許可する。従って、この Rビット(19)はタスク復
元ルーティンでのみ用いられる。 U(アップグレードパケット要求優先順位ピッ) )(
18)は、通常のバックグラウンド優先順位のパケット
要求をフォアグラウンドに上げるのに用いられ、 リセ
ットによってゼロにセットされる。 このビットの値は転送プロセッサ11へ伝送され、Qビ
ットの値と共に転送要求の優先順位を決定するために用
いられる。このビットはソフトウェアによりリセットさ
れるまでセット状態に保持される。 Q(待機パケット要求ビット’) (17)は、パラレ
ルプロセッサがパケット要求の待機中であるということ
を示すビットで、 リセットによりゼロにセットされる
。このビットはステータスレジスタ3108の Pビッ
ト(1B)に「1」が書き込まれた Iサイクル後にセ
ットされる。このビット(18)の値は転送プロセッサ
11に伝送され、 Uビットの値と共に転送要求の優先
順位を決定するのに用いられる。 コノビットは、パラレルプロセッサのパケット要求の連
係リストがいったん使い切られると、転送プロセッサ!
■によりクリアされる。このビットが転送プロセッサ1
1がこれをクリアしようとするのと同時にソフトウェア
が(Pビット(16)を介して)これをセットしようと
している場合は、セットが優先される。このビットへの
直接書き込みは、ステータスレジスタ3108の Rビ
ット(19)が、 「1」またはrOJを書き込むこと
ができる時、セットされていない限り何の作用ももたら
さない。このビットは不必要なパケット要求をデキュー
するのに用いることができるが、割り込まれたタスクを
復元するのにより多く必要である。 P(パケット要求ビット) (1B)は、ステータスレ
ジスタ3108の Qビット(17)をセットするのに
用いられるワンショットの短サイクルビットであり、リ
セットによってゼロにセットされる。このビットは転送
プロセッサ11へパケット要求を発動させる。このP/
Qビットメキャニズムは、パケット要求が読み出しと書
き込みの間に転送プロセッサI+によりクリアされてい
る場合に、偶発的にパケット要求を発動させることなく
ステータスレジスタ3108上で読み出し一変更一書き
込みオペレージジンができるようにするためのものであ
る。 ステータスレジスタ3108の使用されていないビット
はすべて「0」として読まれる。将来とも装置互換性(
デバイスコンパティビリティ)を維持するために、これ
ら未使用ビットには「0」のみを書き込むべきである。 ロ インデイケータ 4つの同期(SYNC’)ビットはにIMDパラレルプ
ロセッサを殿パラレルプロセッサに同期させたいかを指
示するために用いられ、リセットによってゼロにセット
される。LCK及びULCK命令によりバウンドされた
コードを実行する時は、対応する同期ビットの「1」に
より指示されたすべてのプロセ。 すが同期信号40を出力しない限り、命令フェッチは処
理されない。これらのビットの値は511110構成で
は無視される。 2つのPP#ビットはパラレルプロセッサ100〜10
3の各々に一意的に割り当てられている。これらのビッ
トは、ソフトウェアが度のパラレルプロセッサをランし
ているのかを判断することができるよう、従って正しい
一意アドレスを計算できるようハードワイヤード方式に
なっている。これらのビットへ書き込みを行っても何の
作用ももたらさない。 これらのビットのコーディングは、00−パラレルプロ
セッサ(PP)0100.0l−PPI 101.1O
−PP2102及び1l−PP3103 という関係に
なっている。 PP0100は[マスターJ SIMDである。これに
対応スルパラレルプロセッサのローカルクロスバスイッ
+RAM(DスタートアトL/Xは:0000h−PP
O100゜2(100h−PPI 101.4000b
−−P2 +02及び5OOOb−PP3103である
。 パイプライン制御はそれほど簡単ではない。その理由は
、下記のように沢山の並行オペレーン1ンが互いに関係
し合っているからである。 対応するキャッシュ管理による命令フェッチ;色々す7
1’レス指定方式によるアドレス生成;独立のコンテン
シロン解消によるクロス/< スイッチアクセス; メモリ転送; プログラムカウンタロード/インクレメントによるルー
プアドレス比較; ループカウントディクレメント/リロード;ルーピング
深さディクレメント/リロード;マルチブライ; ンフト; 加算/減算; 他のパラレルプロセッサとの同期; 割込み検出/優先順位指定。 線形コードの端的な実行において「異常」を生じさせる
パイプライン「事象」は下記の通りである: 命令キャッシュミス; グローバルバスまたはローカルバスあるいはそ]双方に
おけるコンチンシロン: ループ; ブランチ及びコール; 割込み; アイドリング; 同期。 以下、これらの事象について図解的に説明する。 以下の説明中rpc+IJ及びrpcJという略号は、
それぞれ、プログラムカウンタ3100が正常にインク
レメントされるか、されないかを示す。マーキングしで
あるパイプライン境界は、スレーブクロックフェーズ及
びこれに続くマスタークロッタフエース、即ちl  s
:rm  Iよりなるステージである。 サイクルを何回でも繰り返すことができる場合はrl、
、、+Jで示しである。 キ  シュミスパイプラインシーケンス第35図にキャ
ッシュミス用のパイプラインシーケンスを示す。この場
合、キャッシュミスはスレーフッニーズの間に検出され
、これによってパラレルプロセッサの同期信号4oがイ
ナクティブになり、5IHD休止信体3007がアクテ
ィブになり、プログラムカウンタ3100はインクレメ
ントされず、パイプライン3105はロードされない。 パイプラインは休止する。前の命令はそのままアドレス
を生成し続けるが、アドレスレジスタ32o2は変更す
れない。その前の命令はそのままデータユニットのオペ
レージ震ンをリピートし続けるが、結果は記憶していな
い。しかしながら、クロスバスイッチアクセスは、スト
アの場合はメモリに対して、またロードの場合は一時保
持ラッチ3018及び3019に対してコンプリートに
行われる。これらのアクセスは、それ以後の実行ステー
ジの反復時には実行されない。 キャッシュミス処理要求信号3115は転送プロセッサ
11へ送られる。パラレルプロセッサ100〜03はそ
の信号の受信応答(アクノリッジ)が得られるまで待機
し、受信応答が得られたならばキャッシュミス情報を転
送プロセッサ11へ転送する。 そして、パラレルプロセッサ100〜103は現フラグ
が転送プロセッサ11からの信号によってセットされる
まで再度待機する。現フラグがいったんセットされると
、同期信号40は再度アクティブになることができ、S
IMD休止信号3007がイナクティブになって、命令
フェッチング及びPP3103のインクレメント動作を
再開することができる。これによってアドレスユニット
3001及びデータユニット3゜00はリリースされて
、各々のオペレーションを完了する。また、−時保持ラ
ッチ3018及び3o19から各々の行き先レジスタへ
のロードがフンブリートに行われる。 キャッシュミス中に割込みが起こったすると(これは定
義によってPC3100のロード後2つの遅延スロット
命令中には起こらない)、キャッンユミス処理要求償号
3115をイナクティブにすることによりそのキャッシ
ュミスは打ち切られる。これによって、その時必要では
ないかも知れないコードがフェッチされるのを待つよう
な無駄を防ぐ。転送プロセッサ11は、キャッシュミス
処理要求信号3115がイナクティブになったことを検
知すると、キャッンユミス処理の実行を中止する。 コンテンション  バイプラインンーケンスコンテンシ
ジン解消のためのパイブラインシーケンスを第36図に
示す。この例では、ローカルバス300G及びグローバ
ルバス3005の両方でフンテンシランが見られる。こ
こで、コンチン/ジンは、2つ以上のパラレルプロセッ
サのローカルボート3006またはグローバルボート3
005あるいはその両方が同じメモリ内にあるアドレス
を同時に出力している状態と定義される。それらの対象
はロードまたはストアあるいはその両方の如何なる組合
せでもよい。コンテンションは、実行パイプラインステ
ージのスレーブフェーズの間にクロスバスイッチまたは
信号321O及び32!2によりローカルポー) 30
0G及びグローバルボート3005のロジックへ知らさ
れる。パラレルプロセッサの同期信号4oはイナクティ
ブになり、SIMD休止信号3007はアクティブにな
る。 実行パイプラインステージがリピートされ、ボート30
05及び3001iはアドレスパイプラインステージで
アドレスユニットにラッチされたアドレスをそれぞれ再
出力する。これが首尾よ(行われると、メモリlOへス
トアがコンプリートし、−[I保持ラッチへロードがコ
ンプリートする。実際は、ロードだけは第1ポートの保
持ラッチ3o18及び30+9に対して行われ、フンテ
ンシランを解消する。第2ポートは、ロードの場合、直
接行き先レジスタの中ヘコンブリートすることができる
。 この例では、ローカルバス3006は最初のりトライで
成功する。それがストアの場合は、そのままメモリIO
へ入り、ロードであれば、データは一時保持ラッチ30
19へ書き込まれる。この例のグローバルバス3005
は2回リトライしてからやっと転送に進寥ができる。 リトライが実行される一方で命令フェッチングは終わっ
ている。コンテンションが検出される前に次の命令がフ
ェッチされたが、コンテンションが完全に解消されるま
で実行は開始されない。次の命令が繰り返しフェッチさ
れるが、パイプラインにはロードされない。 フンテンションが解消されると、同期信号40は再度ア
クティブになることができ、SIMD信号3007はイ
ナクティブになり、命令フェッチングの再開が可能とな
る。 ループ  バイプラインンーケンス ループ制御のためのパイブラインシーケンスが第37図
に示されている。この例では、ループは1つだけ定義さ
れている(ループエンドレジスタ1(3118)、ルー
プカウントレジスタ+(3+!9)及びループリロード
レジスタ+(3122)を用いる)。このループは2つ
の命令を含んでおり、ループ開始前のカウンタ値は2で
ある。これらの原理は3つのすべてのループにも適用可
能である。 図示の例では、プログラムカウンタ3100が(スレー
ブフェーズの間に)ループエンドレジスタ3116と内
容が等しいことが判明すると、ループカウンタ3119
は「1」と比較される。これは等しくないから、プログ
ラムカウンタ3100はスタートアドレスレジスタ31
+1よりリロードされ、ループカウンタ311Bはlだ
けディクレメントされ、現ルーピング深さビット310
8 (ビット(22)及び(23))が最大ルーピング
深さビット3108 (ビット(24)及び(25))
よりリロードされる(この例では、cLD ビットは変
化しない)。 次に、ループ再度リピートされるが、今度はルーフ’の
終わりが検出され、ループカウンタ3119はrlJで
あるので、プログラムカウンタ3100は、スタートア
ドレスレジスタ3111よりロードされる代わりに、次
の命令にインクレメントされる。ル−ブカウンタ311
9はループリロードレジスタ3122よりリロードされ
、現ルーピング深さビット3108(ビット(22)及
び(23))は1だけディクレメントされる。 ブランチまたはコールのためのパイブラインシーケンス
は第38図に示されている。ブランチアドレスがプログ
ラムカウンタ3100に書き込まれると、PC+Iの値
(スレーブフェーズ中に計算される)がRET3103
にロードされる。 これは 2番目の遅延命令後の命令
のアドレスであり、コールのリターンアドレスである。 ブランチアドレスは、レジスタから24ビツトの即値で
あるいはプログラムカウンタ3I00の現在値に24ビ
ツトのインデックスを加えることにより得ることができ
る。 ブランチアドレス及びリターンアドレスをセーブするに
ついての問題は割込みが遅延スロ、)命令の間に許可さ
れた場合に生じる。このような問題を防ぐために、 2
つの6延スロット命令のフェッチパイプラインステージ
の開割込みはロックアウトされる。それには、アドレス
パイプラインステージのスレーブフェーズの間にプログ
ラムカウンタ3+00の行き先をデコードする必要があ
る。割込みのロックアウトは、 2つの遅延スロット命
令がフェッチされるまでは条件はテスト不可能であるた
め、条件付きブランチを伴う。 同期の所で説明したように、ブランチ及びコールは同期
に関する限り 1つの命令として扱われる。 従って、同期信号40は2つの遅延スロット命令の間図
示のタイミングでイナクティブになる。これは、条件に
関わらず、条件付きブランチ及びコールについても同じ
である。 また、条件付きコールは条件付きブランチが入れられた
場合にのみRET3103 (リターンアドレス)をブ
ツシュすることにより行われるから、SIMDでの条件
付きコールは、 「スレーブ」パラレルプロセッサ10
1〜103はそのブランチが入れられているかどうかを
知らないことから、問題が生じる可能性がある。そのた
め、これらのパラレルプロセッサ+01− 103はR
ET3103をブツシュすべきかどうかを知らず、スタ
ックコンシスチンシーを招来する結果ともなる。この問
題を解決するために、「マスターJ SIMDパラレパ
ラレルプロセッサ100スレーブ」パラレルプロセッサ
101−103へ「SIMDブランチ入り」という信号
3008が出力され、スレーブプロセッサはこの信号を
PRET命令でRET 3103をブツシュすべきか否
かを判断するために使用する。この信号は、図示のタイ
ミングでアクティブになる(あるいはイナクティブ状態
のままである)。 L込泣 第39図に割込み用のパイブラインシーケンスが示され
ている。このシーケンスはMl)IDまたはSIMDに
おける何らかのハードウェア用のものであるが、割込み
ソースが「スレーブ」パラレルプロセッサ101〜10
3であれば、このシーケンスは図示の如く、 「スレー
ブJPP@ツー・「マスターJ PP割込み信号301
Oによってキックオフされる。 「スレーブ」パラレル
プロセッサ101〜 +03は、図示のように、 「マ
スター」パラレルプロセッサ100が「マスター」φツ
ー・「スレーブJ PP割込み信号3009を出力する
まで待機する。 イネーブル化された割込みが検出されると、疑似命令の
シーケンスが開始される。最初の命令は割込みベクトル
アドレスを計算し、そのベクトルをプログラムカウンタ
3100ヘフエツチし、プログラムカウンタの旧値(リ
ターンアドレス)をRET3103にコピーする。 2
番目の命令はRET3103をブツシュする。 3番目
の命令はステータスレジスタ3108をブツシュし、そ
のS、 I及びCLD ビットをクリ アする。 割込みルーティンの最初の2つの命令は、ステータスレ
ジスタ3108がブツシュされ、そのS、 I及びCL
D ビットがクリアされる前にフェッチされる。 従って、 これらのS、 I及びCLD ビットの機能
は、ステータスレジスタ3108がブツシュされ、S、
1及びCLDビットがクリアされるまで割込みロノック
によってディスエーブル化される。 アイドルバイプラインシーケンス 第40図にアイドル命令用のパイプラインンーケンスが
示されている。アイドル命令は、そのアドレスパイプラ
インステージのスレーブフェーズの終わり以前にデフー
ドされ、プログラムカウンタ3I00がインクレメント
されるのを止める共に、パイプラインに次の命令がロー
ドされるのを止める。 MIMD休止信号はイナクティブになり、SIMD休止
信号がアクティブ化される。命令フェッチングは、割込
みロジックがイネーブル化された(許可された)割込み
を検出するまで停止する。そのため、イネーブル化され
た割込みが検出されると疑似命令のシーケンスはキック
オフされる。割込みソースが「スレーブJ SIMDパ
ラレルプロセッサ101〜103から発せられた場合、
割込みシーケンスは、「マスター」・ツー舎「スレーブ
J PP割込み信号3009がアクティブになるまでキ
ックオフされない。 並列転送がアイドル命令でコードかされている場合は、
それらの並列転送は割込みが起こった時割込みルーティ
ンが実行される前に行われる。 旦1 人力される同期信号が有効になるまで待機する同期M 
IllまたはSIMD用のシーケンスが第41図に示さ
れている。次の命令は、所望のすべてのパラレルプロセ
ッサがアクティブな同期信号を出力するまで命令パイプ
ラインにはフェッチされない。 アドレスユニット アドレスユニット3001内のロジックは圧倒的にアド
レスパイプラインステージで稼働して、実行ステージで
クロスバスイッチが接続されたメモリIOのアクセスに
必要なアドレスを計算する。しかしながら、実行ステー
ジのメモリアクセスは、2つのポート3005及び30
06のクロスバスイッチコンテンシロンを独立に解決し
なければならないので、これもやはりアドレスユニット
の制御下にある。 そのため、コンチンシロンの解消が行われている間はパ
イプラインを休止させるためにアドレスユニッ) 30
01カラPFCユニツ) 3002ヘフイードバツクが
用意されている。また、実行ステージの間にレジスタア
クセスとアライナ/抽出器3003のオペレーンaンを
実行する制御ロジックも設けられてい る。 第32図にアドレスユニット3001のブロック図を示
す。この図から明らかなように、このユニットの主部は
、同一構成の 2つの16ビツトサブユニツ) 320
0及び320Iからなり、サブユニット3200はレジ
スタAO−A33202からアドレスを生成し、サブユ
ニット3201はレジスタA4−A73207よりアド
レスを生成する。これら 2つのサブユニットは、それ
ぞれ3200をグローバルサブユニット、3201をロ
ーカルサブユニットと称する。 ローカルサブユニット3201は幾分誤称と言えなくも
ない。と言うのは、単一メモリアクセスが指定され、そ
れが共用SIMDロードではない場合は、そのアクセス
はサブユニット3200からでも320Iか、らでも出
すことでき、グローバルバス3005を介して行われる
ことになるからである。そのために、マルチプレクサ3
212〜3214がこれらのサブユニットの外部に設け
られている。 2つの並列アクセスが指定された場合は
、それらのアクセスはそれぞれ対応する名称のサブユニ
ットより出される。共用5IHDロード(ローカルボー
ト3006を介する)はローカルサブユニットを用いな
ければならない。 これらのサブユニット3200及び3201は16ビツ
トアドレスで動作し且つIBビットアドレスを生成する
が、ユーザソフトウェアは、将来設計ではより大きなア
ドレスを生成し得るサブユニットを具備することも考え
られるので、FFFFhからoooohへあるいはこの
逆向きのローリングをベースとするものものであっては
ならない。 通常のパイプライン遅延は、命令により変更されるアド
レスレジスタ3202及び3220、インデックスレジ
スタ3203及び3223、修飾子レジスタ3204及
び3224あるいはモジュロレノスタ3205または3
225は次の命令によって参照することができないとい
う制約をユーザに強いる。これらのレジスタは次の次の
命令によって参照することが可能である。 そのため割込みが起こっても望ましくない結果を来すこ
とはない。 グローバルサブユニット3200と3201はレジスタ
番号以外は同じであるから、どちらか一方についてだけ
説明ば充分であろう。ただし、接続の仕方及び使い方に
は両者間に若干の違いがあるので、これを重点的に説明
するが、内部構造は量サブユニット共同じである。 各サブユニット内には 4つの16ビツトアドレスレジ
スタ3202(AO−A3)または(A4−A7)が具
備されている。これらのレジスタには間接アドレスが入
っており、その内容は不変のまま使用されるかまたはこ
れにインデックスが付加される。インデックスを付加す
る場合は、レジスタ3202の前の値を索引付け(イン
デキシング)により得られた値に置換するやり方を選ん
でもよい。 アドレスレジスタ33202内の値は、転送されたデー
タサイズに関係なくバイトアドレスとみなされる。未整
合ワードまたはハーフワードの転送は個々にコードでき
るがそれには2つの命令が必要である。それについては
後に述べる。 パラレルプロセ、す100〜 +03のアドレスアクセ
スはすべてアドレスレジスタ3202または3222を
ソースとしなければならない。オブコード内の即値アド
レスをコード化する能力は具備されていない。これは、
SIMDタスクが通常各パラレルプロセッサについて同
一アドレスを指定したがることはないので、重要性は低
いと考えられる。また、そのような能力は、MIHDア
ルゴリズムはどのパラレルプロセッサでもランできるよ
うに書かれるべきであるから、MIMDにとってもやは
り重要性は低いと思われる。 アドレスレジスタA73227はスタックポインタとし
てリザーブされている。このアドレスレジスタは他のア
ドレスレジスタ3202あるいは3222と同様に参照
することができるが、レジスタA7の内容を調節する場
合は、割込みがいつでも起こり得るので注意しなければ
ならないことは明らかである。 PUSH,POP及び割込みはブツシュを事前インクレ
メントとして、またポツプを事後インクレメントとして
扱う。 各サブユニット3200または32o1内には16ビツ
トの 4つのインデックスレジスタ(χ0−X3) 3
203及び(X4−X7) 3223が具備されている
。これらのインデックスレジスタの内容は、索引付アド
レス指定を行うために、指定されたアドレスレジスタ3
202または3222の内容に対して加算または減算す
るべくオプコードによって要求することができる。この
加算/減算はアドレスがクロスバスイッチ20に送出さ
れる前または後に実行することにより、それぞれ事前ま
たは事後インデキシングを行うことができる。事前イン
デキシングによれ生成されたアドレスはアドレスレジス
タ3202または3222に戻してストアするやり方を
選ぶこともできる。事後インデキシングについては必ず
このやり方によらなければならない。 オプコードによってアクセスが1つだけ指定された場合
は、アドレスレジスタ3202または3222と同じサ
ブユニット内の4つのインデックスレシス93203ま
たは3223ノ中の 1つ(例えばAOとX2. Al
iとX4. 、、)をインデックスソースとして指定す
ることができる。指定可能なインデキシングモードIt
 11 Rまたは事後、加算または試算で、アドレスレ
ジスタ3202または3222の変更を伴う場合と伴わ
ない場合とがある。 2つの並列アクセスが指定された場合は、アドレスレジ
スタ3202または3222と同じ接尾辞を有するイン
デックスレジスタ3203または3223が用いられ(
例えばA2とX2. A5とX5)、事後−加算インデ
キシングのみが可能である。 インデックスレジスタ3203及び3223の内容値は
、転送中のデータサイズに関わらず、常にバイトアドレ
スとして解釈される。 インデックスレジスタインデキシングの代替的インデキ
シング方法としては、短即値インデキシングまたは暗黙
即値インデキシングがある。短即値インデキシングはア
クセスが1つだけ指定された場合に可能で、インデック
スとして3ビツトの短即値を使用することができる。イ
ンデックスレジスタインデキシングのモードは事前また
は事後、加算または減算でアドレスレジスタ3202ま
たは3222の変更を伴う場合と伴わない場合がある。 2つの並列アクセスがコード化されている場合は、事後
インデキシングによる+1の暗黙即値、及び事前インデ
キシングによるーlのff1f黙即値だけが指定可能で
ある。これらを指定すると、 2つの並行アクセスが並
列転送がコード化されていても8116または32ビツ
トのスタックをアクセスすることができる。 短即値または暗黙即値インデキソングを指定する場合、
即値は指定されたワードサイズが8.I6または32ビ
ツトの中の何れであるかによってシフタ3208又は3
228により左へ0. lまたは 2ビツトシフトされ
てからアドレスレジスタ3202または3222より読
み出された値に加えられる。従って、短即値インデック
スは0〜7「単位」であり、暗黙即値インデックスは十
/−1「単位」である。ただし、ここで「単位」はデー
タサイズである。アドレスレジスタは常にバイトアドレ
スを有するため、ンフ ト されない。 各アドレスレジスタ(AO−A3) 3202または(
人4−A7)3222には 8ビツトのアドレス修飾子
レジスタ(QOQ3) 320Gまたは(Q4−07)
 3224が具備されている。 これらの修飾子レジスタは、オブコードに組み人れるこ
とのできないアクセスに必要な補助的情報を記憶する。 この覆の情報は、通常、サイクル単位ベースで変更する
必要はない。 レジスタA73227はスタックポインタとして用いる
よう割当てられているため、レジスタQ73229のピ
ッ)GNOはそれぞれハードワイヤードにより0000
010に接続されている。以下、 Qレジスタ3204
及び3224の個々のビットの機能について説明する。 パラレルプロセッサのアドレス空間は 2つの半部に分
けられる。即ち、データ空間(クロスバスイッチが接続
されたメモリ10)及びI10空間(パラメータRAM
 1  メツセージレジスタ及びセマフォーフラグ)で
ある。このビットが「1」の場合、アクセスはI10空
間に対してなされる。このビットの「0」はクロスバス
イッチが接続されたRAM10へのアクセスをt旨示す
る。 2の累乗モジュロビットが「1」になっていると、その
ビットはサブユニット3200または32o1対応する
モジュロレジスタMO3205またはM43225中の
riJ  (rIJが複数の場合もある)により指示さ
れた位置でアドレス加算器3206または3226上の
キャリーバスをブレークしたいということを示している
。これによって、 2の累乗次元マトリクスアドレス指
定を行うことができる。このビットがrOJの場合、ア
ドレス加算器3206または3226は普通の16ビツ
ト加算器/減算器として動作する。 逆キャリーアドレス指定ビットが「1」にセットされて
いると、逆キャリーアドレス指定がイネーブル化される
。これはアドレス加算器/減算器3206または322
Gのキャリーバスの向きを逆転させる。 2の累乗イン
デックス(例えば11. Ift、 32等)により索
引付アドレス指定方式を指定する場合、これにはFFT
やDCTで必要なようにして計数するという作用がある
。このビットが「0」であると、アドレス加算器320
6または3226は普通の16ビツト加算器/減算器と
して動作する。 共用SIMDロードピットは、 「1」にセットされる
と、ロードが指定される場合それは共用SIMDロード
であるべきであるということを指示する。このビットは
、共用SIMDロードの性格の故に、 「マスターJ 
SIMDパラレパラレルプロセッサlooドを指定する
時、このプロセッサのQ4−Q83224だけに関係す
る。これは、パラレルプロセッサのローカルバス300
Bを、ロードの持続時間中、直列接続させる。このビッ
トが「o」であると、共用SIMDロード機能はディス
エーブル化される。このビットを「スレーブ」パラレル
プロセッサIoo−1o3、あるいは「マスター」5I
llIDパラレルプロセツサのQ4−QB以外でセット
しても何ら効果はない。ストアはこのビット値によって
左右されない。  符号拡張ビットが「工」にセットさ
れると、ハーフワードまたはバイトのロードは、ビット
15またはビット7をパラレルプロセッサのレジスタに
ロードされた時すべての再上位ビットにフビーさせる。 これはアライナ/抽出器の機能である。このビットがr
OJの場合、再上位ビットにはすべてrOJが入れられ
る。 2つのサイズビットは転送されるデータのサイズを指定
する。コーディングの内容は、00−8ビツト、  0
1−1!iビツト、  10−32ビツト、 11−逆
向きとする。これらのビットはアライナ/抽出器300
3、ストアに対するバイトストローブ、及び符号拡張機
能を制御する。 アドレス演算論理装置(AL[1)320B及び322
6は、キャリーバスの方向を逆転することができるある
いはキャリーバスをブレークすることができるという点
以外は、通常の16ビツト加算器/減算器である。 インプレースFF丁を行う場合、゛ソースデータあるい
は結果のアドレスはアクセス困難となるほどスクランブ
ルされる。 しかしながら、この場合のスクランプリン
グには、アドレス加算器3206または3226のキャ
リーバスの向きを逆にすればかなり容易にスクランブル
状態から回復する(アンスクランプリング)ことができ
るというような秩序がある。DSP共通のこの特徴は通
常逆キャリーアドレス指定方式またはビット逆転アドレ
ス指定方式と呼ばれる。 FFTポイント数を2で割った数の2の累乗数に等しい
 2の累乗インデックス(例えば8.1B、 32゜、
、、、)が逆キャリーリップルバスを用いてアドレスレ
ジスタ3202または3222からのアドレスに加算さ
れる。その結果の値はアドレスとして用いられ、アドレ
スレジスタ3202または3222に記憶される。 これによってデータをアンスクランプルするのに必要な
アドレスのシーケンスが生成される。例えば、インデッ
クスが8で、アドレスレジスタの初期値がOであるとす
ると、0.8.4. C,2,A、 Ili。 E、 1.9.5. D、 3. B、 ?、 Fのシ
ーケンスが生成される。 逆キャリーの特徴は、 2の累乗以外のどのようなイン
デックスについても用いうるが、有用な結果がもたらさ
れるとは限らない。この特徴は、指定されたAレジスタ
に対応するQレジスタ3204または3224の逆キャ
リーピット「1」にセットされている場合のみ有効とな
る。 クロスバメモリ10の周りにデータを分散させる時は、
連続データをアクセスし、境界条件を処理し、あるいは
アレイされたデータをアドレスするために、特定の次元
で「ラップアラウンド」が必要になる状況が充分起こり
得る。これを容易にサポートするために、アドレス加算
器3206または322Bのキャリーバスを 1つまた
は 2つ以上の選択された場所でブレークする能力が具
備されている。 このようなブレークの場所はモジュロレジスタNo 3
205またはM43225によって決定される。モジュ
ロレジスタのビットnに「1」が入っていると、アドレ
ス加算器のビットn−1とnの間でキャリーバスがブレ
ークされる。これによると、2nモジユロバツフアが実
施可能である。モジュロレジスタ3205または322
5には所望通りに幾つでも「1」をプログラムによって
入れることができる。 これによって、各次元が2の累乗の係数値であるとして
、多次元アレイを実施することができる。 この特徴は、指定されたアドレスレジスタ3202また
は3222に対応する修飾子レジスタ3204または3
224の2の累乗のモジュロビットが「1」にセットさ
れている時のみアクティブとなる。その他の場合は、通
常の線形アドレス指定方式が適用される。 ローカルポート びグローバルポート グローバルポート3005及びローカルポー) 300
Bの主たる特徴はγライナ/抽出器3003である。ア
ライナ/抽出器は 8ビツト、16ビツト及び32ビツ
トデータ、符号拡張、非整合アクセス及び共用SIMD
ロードを扱う。これらの機能を果たすため、アライナ/
抽出器3003は、基本的には、必要なオペレージロン
を得るために接続された一部のマルチプレクサよりなる
。グローバルポート3005及びローカルポー) 30
0Eiは各々独立に動作し、従って、どちらか一方につ
いてした説明は他方のポートについても当てはまる。た
だし、共用SIMDロードは例外で、これについては以
下に説明する。 ロードまたはストアのデータサイズは、指定されたアド
レスレジスタ3202または3222に対応する修飾子
レジスタ3204または3224内で定義される。 有効に選択し得るデータサイズのビット数は8,16ま
たは32ビツトである。このように、データサイズは、
どのアドレスレジスタ3202または3220がアクセ
スされているか及び修飾子レジスタ3204または32
24内の値によってサイクル単位ベースで変化し得る。 メモリ10とパラレルプロセッサ100〜103との間
のクロスバスイッチを通しては、たとえ指定ワードサイ
ズが 8ビツト16ビツトであっても常にフル32ビツ
トのワードが転送される。 8ビツトまたは16ビツト
の量のロードを行う場合は、アドレス及びワードサイズ
の最下位(LS)ビットによって32ビツトより適宜の
バイトが抽出される。このように抽出されたバイトは、
必要に応じて右ソフトし、右寄せしてから行き先のパラ
レルプロセッサレジスタに入れる。上位のバイトはすべ
てOを入れ、修飾子レジスタ3204または3222で
符号拡張が指定されていれば、再上位バイトに再上位(
MS)ビット(15または7)をコピーする。 クロスバスイッチが接続されたメモリ10に 8ビツト
または16ビツトの量を書き込む場合は、データ(右寄
せされている)はアライナ/抽出器3003によって 
4回または 2回繰り返し、32ビツトワードを作る。 このワードは、次いで、アドレス及びデータサイズのL
Sビットによりセットされる 4バイトのストローブと
共にクロスバ20を介して書き込まれる。このようにし
て適宜のバイトがメモリに書き込まれる。 上記のデータのロード及びストアの説明では、アドレス
は位置合わせされているものと仮定しである。即ち16
ビツトのアクセスはLSビット=Oのアドレスに対して
なされ、また32ビツトのアクセスは 2つのLSビッ
ト:OOのアドレスに対して行われる。(8ビツトの量
は常に位置合わせされる)。 それでも、位置合わせされていないIBまたは32ビツ
トのデータをもアクセスすることができるようになって
いる。これは自動的に行われるのではなく、ユーザがデ
ータの上位側部分及び下位側部分のロードまたはストア
を具体的にエンコードする必要がある。その結果、デー
タの「上位側路」、「下位側ロード」、「上位側ストア
」及び「下位側ストア」の4つの命令が得られる。これ
らの命令は、バイトアドレス及びデータサイズを用〜1
てアライナ/抽出器3003を制御し、ロードの場合は
、行き先レジスタの適宜の部分をロードするだけである
。そのためにはレジスタは各個にノ(イト書き込み信号
を持つ必要がある。このような理由から、位置合わせさ
れていないロードはデータレジスタ3200だけに限定
される。 実際は、 「下位側ロード」及び「上位側ストア」とい
う命令は通常のロード命令及びストア命令である。これ
に「上位側」の等価オペレージ麿ンが続く(または先行
する)場合は、何も転送されない。アドレスが位置合わ
せされていない場合は、適宜のバイトのみがメモリにス
トアされるかまたはレジスタにロードされる。 説明に資するため、位置合わせなしのオペレージ廖ンの
例を第42図及び第43図に示す。これらはいずれも余
計とも言えるような自明の例である。 共用SIMDロード コンポリューン言ン等においては、各ノ1−ドウエア、
各サイクル毎に 2つのアクセスを並列に実行すること
がひつような場合が時々ある。その例が、例えばデータ
がクロスバスイッチが接続されたメモリ10の中のいず
れかの場所からグローバルポート3005を介して取り
出されるような場合であり、あるいはカーネル値のよう
に各パラレルプロセッサ100〜103に「共通した」
情報の場合である。後者のような場合は、どちらかと言
うと、ローカルポート3006を介して供給されるもの
と考えられる。このような情報を 1つのデータソース
から同時にローカルポート3006へ伝送するために、
ローカルタロスバス6を直列接続する単方向バッフ1が
設けられている。 これらの直列接続は、ローカルアドレスサブユニット3
201のアドレスレジスタ3222が、共用SIMDロ
ードピットが対応する修飾子レジスタ3224でセット
されてアクセスされ、ロードが指定された時、SIMD
モードでのみ行われる。その他の条件下ではすべてロー
カルデータバス6は互いに切り離される。この直列接続
がなされると、パラレルプロセッサ[3101−103
(rスレーブJ SIMDパラレルプロセッサ)はクロ
スバスイッチ20によって無視される。 直列接続バッファは単方向性であるから、共通7’−1
はrマスターJ SIMDパラレパラレルプロセッサP
Po0 、ニ対向すル4ツ(D り(l X /<RA
M +0.0,10.2.10.3及びIOJ (即ち
71JL/X範囲0000h −IFFFh)だけに記
憶することができる。 コンチンシロ7 ノ コンチンシジン解消の目的は、偶然(あるいは意図的に
)システム内の何れか2つのデバイスによって同−RA
Mを同時にアクセスしてしまうのではないかという心配
からユーザを解放することにある。各クロスバJ?AM
には 7本のバスが接続されている。従って、常にフン
テンシーンヲ回避することにきを配るのはかなりの拘束
的要因である。 SIMDモードでは、すべてのパラレルプロセッサ10
0〜103はコンテンションが解消されるまで待機する
必要がある。そのために、rsIHD休止」信号300
7がパラレルプロセッサ100〜+03の間に巡回伝送
されており、この信号はフンテンシーンが解消されるま
で、どのパラレルプロセッサによってもアクティブ化す
ることができる。この信号は同期信号40の線路を介し
て送られる。 クロスバアクセスは、グローバルボート3005及びロ
ーカルポー) 300[iがアクセスしようとしている
RAMの所有権をグランドされる(認められる)と同時
に完了する。ストアの場合は、アクセスが可能になると
同時にメモリ10に対してコンプリートに行われる。ロ
ードの場合は、パラレルプロセッサがすぐに実行を再開
することができないと(他のボートでコンテンションが
続いている、5I14D休止信号3007が依然として
アクティブである、同期したにIMDパラレルプロセッ
サかたのパラレルプロセッサに対して待機中である、あ
るいはキャッンユミスが起こった等の理由で)、ロード
は実行が再開されるまで保持ラッチ3018及び30+
9へコンプリートされる。これは、データユニットのオ
ペレーン刊ンもホールドされており、そのソースデータ
(即ちデータレジスタ3300の内容)はストアによっ
て上書きすることができないからである。 同様に、ロードとストアが同一データレジスタに対して
アクセスしており、かつストアがフンテンシーンにより
遅延した場合は、ロードデータをラッチ30】8または
3019に一時的に保持しなければならない。 データユニット データユニット3000内のロジックは専ら実行パイプ
ラインステータスの間に稼働する。そのオペレージロン
はすべてレジスタのみかまたは即値とレジスタを使用す
る。間接(メモリ)オベラ7ドはサポートされない。従
って、メモリに対するデータ転送はストア及びロードと
して具体的にコード化される。 データユニット3000のブロック図を第33図に示す
。 このデータユニットの主構成要素は8のデータレジスタ
3300.1つのフルバレルシフタ3301.32ビツ
ト^LU 3302、シングルサイクルI[1XI8マ
ルチプライヤ3304、論理値「1」を扱う特殊ハード
ウェア3303、一連のマルチプレクサ3305〜33
09等である。 また、バレルシフタ3301及びAL[I 3302と
の密接な関係の下に 2つのレジスタ3310または3
3工1が設けられている。2つのレジスタは一定の命令
が実行される時これらのデバイスびオペレージロンを制
御する。 データユニッ) 3000内には8つのデータレジスタ
(D)3300がある。これらは汎用の32ビツトデー
タレジスタで、マルチポートになっているため大量の並
列処理が可能である。ALII 3302及びマルチプ
ライヤ3304に対しては、メモリへとメモリからの 
2つの転送が行われている間に、それらの転送と同時に
 4つのソースを提供することができる。 マルチプライヤ(乗算器) 330Gは単サイクルハー
ドウェアの18X 1Bマルチプライヤである。32ビ
ツトの演算結果はレジスタファイル3300へ戻される
。ハードウェアは符号付及び符号なしの7ji3Iをサ
ポートする。 第33図から明らかなように、データユニット内300
0内には色々なハードウェアにデータを供給する数個の
マルチプレクサが具備されている。 ALU3302に
フィードする 2つのマルチプレクサ330Bまたは3
307 (バレルシフタ(BS)3301を介して「1
」を供給する)は個々のバイトの多重化をサポートする
という点で若干異なっている。この特徴は「マージ多重
(MRGM)Jという命令を実行可能にするためである
。この命令は、各ソースの個々のバイトをオールゼロバ
イトと多重化するためにMFLAGSレジスタの 4つ
、 2つまたは 1つの最下位ビットを使用し、ALU
の一方の入力に供給されるバイトがNFLAGSに従い
混合された5rclバイトとoohバイトになるように
する。人LUの他方の入力にはoohバイトと5rc2
バイトの逆の組合せが供給される。 すると、ALU 3302はADD(加算)及びOR(
論理和)演算を行って、5rclからの一部のバイトと
5rc2からの一部のバイトからなる結果を出力する。 このオペレージロンは、飽和処理、急膨張及び色比較、
最大最小、透明度処理及びマスキングを行う上において
非常に役に立つ。 バレル/フタ3301は人LU 3302の「反転」入
力に接続されている。これによって、オプシロンズ(O
PTIOMS)レジスタ3310にセットアツプされた
定義済のシフト(けた移動)量を用いてシフトと加算の
オペレージ8ンまたはシフトと減算のオペレージジンを
行うことが可能となる。これは、マルチプライヤは結果
スケーラを持たないので、非常に重要である。バレルシ
フタ3301は0乃至31ビツト位置(けた)だけ左ま
たは右にけた移動するができ、また0乃至31ビツトの
ローチーシーンを行つことができる。 32ビツトのALU 3302はありとあらゆる論理演
算、加算及び減算を行うことができる。一部の命令はA
LU 3302を加算または減算のために2つのハーフ
ワードまたは 4バイトにスプリットさせることができ
るので、ALtlはこれにより多重ピクセルに対するオ
ペレージロンを実行することができる。 「1」ロジック3303は 3つの異なるオペレージロ
ンをおこなう。即ち、左端「1」検出、右端「1」検出
とワード内の「1」を計数するオペレージロンである。 これらのオペレーションはまとめてデータ圧縮、データ
分割及び相関付等において色々な形で利用することがで
きる。 ALU 3302の出力は 1ビツト左シフタを宵し、
これは除算反復ステップで用いられる。このシフタはオ
リジナルソースを選択してゼロインサーシヨンにより左
に 1けた移動させるか、または 2つのソースの減算
結果を選んで 1ビツト左に移動させ、「1」を押入す
る。 「多重」フラグズレジスタ(MFLAGS)レジスタ3
311は32ビツトレジスタで、radd multi
ple (多重加算; ADDM) J、 rsubt
ract multlpl (多重減算;StlBM)
 Jまたはr compare multiple (
多重比較CMPM) J命令の結果を収集するのに用い
られる。 ALU 3302はオブシ式ンズレジスタ331OのA
LUビットの値によって4つ、 2つまたは 1つのピ
ースにスプリットすることができる。 「多重」フラグ
ズレジスタ3311の 4つ、 2つまたは 1つの最
上位ビットは、上記3つの命令のキャリー ボローまた
はイクエート(相等化)ビットによってロードされる。 オブシゴンズレジスタ3310は、 2つの制御フィー
ルド、 「多重」命令と共に用いるムLUスプリットピ
ット、及びシフトと加算の命令並びにシフトと減算の命
令のためのバレルシフタの定義湯量を持っている。 オプシロンズレジスタ331Oの3つのALUビットは
、 ALU 3302を各々2.4.8.1lli及び
32ビツトサイズのピースにスプリットすることを可能
にする。 そのためのコーディングの指定内容は: 00G−2ビ
ツト、 001−4ビツト、 010−8ビツト、 0
11−IS  ピッ)、100−32ビツトである。た
だし、この実施例では、8ビツト、16ビツト及び32
ビツトだけが可能である。これらのビット値はADDN
、 5UBIII、 MRGM及びCMPM命令のオペ
レージ薯ンを制御する。 エニヱ11渣」 第44図は、第33図のハードウェアを用いてMFLA
GSレジスタをセットさせるスプリット可能ALU命令
とマージ多重(にRGM )命令との組合せにより実行
可能な複雑なオペレージジンをいくつか示している。こ
れらの例は、データ操作部分のみを示し、一般にはこれ
らのオペレージジンを多数含むループになる。 第44図の飽和加算の例では、ADDIII命令は 4
つの8ビツト加算を並行して行い、各8ビツト加算の間
にキャリーアウト(オーバーフローを示す)が起こって
いるかどうかによってMFLAGSレジスタをセットさ
せる。1B進67即ちG7hをEFhに、 またCDh
を45hに加える 8ビツト加算は、どちらも 8ビツ
ト値のキャリーアウトを生じ、その結果MFLAGビッ
トO及びlがセットされ(MFLAGSレジスタの4つ
の最下位ビット(最下位ビットから 4番目までのビッ
ト)のみがMRGM命令にとっては有意であるというこ
とに注意) 、MFLAGSレジスタは「3」にセット
される。D3は前にFFFFFFFFhにセットされて
いるから、MFLAGSレジスタの値はDlに入ってい
る前のオペレーションの結果かまたはD3に入っている
16進r FFJの飽和値のどちらかを選択するのに用
いられる。 「最大」機能はStlBMの実行後M RG M命令に
よって同じ 2つのレジスタを用いることによって得ら
れる。SUBMは、並行する 4つの 8ビツト減算の
結果一方のレジスタの中の32ビツト値の8ビツトが他
方のレジスタの対応する 8ビツトより大きくなってい
るか否かによってMFLAGSレジスタのビットをセッ
トする。この例から明らかなように、MFLACSレノ
スタに「5」 (または 4つの最下位ビットが2進形
式でrololJ )の結果が入っているということは
、16進r EEJが16進「67」より大きかったと
いうこと及び1G進r ABJが16進「23」より大
きかったということを示す。MRGM命令によってMF
LAGSレジスタ中の結果を用いることにより、レジス
タDOとDlに入っている対応する値の中大きい方の値
が最終結果としてDlに記憶される。 透明度処理については、 「透明色」か後で図示のよう
な 8ビツト値の書き込みを保護する保護色値かの比較
が行われる(図示例で値「23」は透明を示す)。CM
PM命令は並行して4つの8ビツト比較を行い、同じ比
較に基づき互いに対応する 4つのMFLAG ビット
をセットする。図示の例では、右から 3番目の比較結
果だけが「等しく」、このことはMFLAGSレジスタ
にr4J  (2進形式でrolooJが入ることによ
り指示される。すると、MRGM命令は、右から 3番
目の 8ビツトを除き、結果についてはDOの値のみを
使用することになる。 色膨張は2進マツプ中の論理値「1」または「O」に基
づく 2つの多重ビツト値の選択を含む。 図示の例では、16進「6」 (2進形式0110)の
4ビツト値がMFLAGSレジスタに移動される。この
例のMRGM命令は、IIIFLAGsレジスタの対応
する記憶場所の値に従い単にDo及びDIの8ビツト値
のどちらかを選択することである。 色圧縮においては、対応する値が各特定の色値と一致す
るか否かに基づき2進マツプが作成される。図示例の場
合、MFLAGSレジスタ中のCMPM命令の結果は所
期の結果であったということを示している。 ガイデイトコピーの例では、2進パターンアレイを用い
てソースのどの値を行き先にコピーするかを決定する。 図示例では、DOの2つの上位8ビツト値がDOヘコビ
ーされる。 以上の例では例示説明のため 8ビー/ )のデータ値
を用いたが、データ値の数並びにサイズは 8ビツト値
4つに限定されるものではない。 ここでは、マージ命令と共に使用される演算用多重命令
の重要な組泡組合せを例示説明したが、このシステムで
はこれ以外の多くの組合せや有用なオペレージロンが可
能である。また、この発明のシステムによれば、マスク
レジスタをセットさせる演算用多重命令を用い、続けて
マージ命令を実行することによって多数の有用なオペレ
ーションを得ることことができるということも重要であ
る。 オブシジンレジスタ3310の2つのOPTビットは、
シフトと加算の命令及びシフトと減算の命令の間にバレ
ルシフタ3301が実行するシフトの形を指定する。そ
のコーディングの指定内容は次の通りである=00−論
理右シフト(右けた送り)、01−算術右シフト、1〇
−輪理左ンフト、+1−ローテーションである。 オプシaンレノスタ331OのAMO1lNTビットは
、ンフトと加算の命令またはシフトと減算の命令が実行
される場合に生じる上記OPTビットで指示される形の
シフトまたはローテーシヨンのビット数を指示する。 1虚 次頁以後にパラレルプロセッサ100〜103で使用可
能な命令をいくつか詳細に例示説明する。これらの命令
でドツト(、)は所望の通りに割り当てることのできる
オペレージ8ンコードを表す。これらの中一部の命令は
既に説明したものである。 例示の順序は次の通りである。 ■ データユニット命令(並列転送を伴うもの、伴わな
いもの)及びシングルオペレージ3ン命令(即ち並列オ
ペレーションなし); ■ データユニットのオペレージロンと並列に行われる
転送。 (以下余白) シンタクス CK オペレーション !Jl!、10 PPの同期待ち オペランド なし、並列転送による ステータスビット N−影響なし 影響なし V−影響なし 影響なし !4ビット 影響なし く以下余白) ンンタクス オペレーション IfLD*As(node)、dstlllLD*An
(rsode)、dsL2asYcl−*dslノド5
rc2 −hdsL2間接、インデキンングなし コード化形式 %式% N−影響なし C−影響なし V−影響なし 2−影響なし 影響なし シンタクス IILD験kn(〃C
【ム?)、dstlIIsTsr
c2.傘k(txitzノオペレーション *5rcl−kdstl If 5yc2→dsL2j
胃灸インデキンングなし ステータスピント 影響なし C−影響なし ■ 影響なし 2−影響なし Mビット 影響なし シンタクス N14!Jl src 、dsl オペレーンヨン SrCの「l」の数−dsf any、 any 並列転送なし コード化形式 src内の「1」が計数され、ds(ヘロードされる。 ステータスビット N−影響なし C−影響なし V−影響なし 1(src内容が全部0の場合)、0(その他の場合)
藺ビット 影響なし ソンタクス ll5T 5rcl、  xtkn(myjtz)II
LD 考/ν1(rrode)、dst2オペレーノヨ
ン yc!4kdst111傘5rC2−町ゴ5t2ro1
妾、インデキシングなし ステータスビット N−影響なし C−影響なし V−影響なし Z−影響なし 入1ヒツト 影響なし シンタクス 11ST srd、 看Mrrryjtz月I ST 
5yc2. *Mmxkλオペレージタン yc! −44dstl ll5rc2−*dsL2&
’ll妾、インデキシングなし コード化形式 %式% N−影響なし C−影響なし ■ 影響なし 2−影響なし Mビット 影響なし ンンタクス lLCに オペレーノタン MIK PPを互いにアンロックする ステータスビット N−影響なし C−影響なし V−影響なし 2−影響なし Mビット 影響なし 耘」Lズ」し土工Lヱ E送プロセッサ11はシステムメモリIOとシステム外
部との間のインターフェースであり、特に外部メモリ1
5へのあらゆるアクセスに関する責任を負 う。 転送プロセッサ11は、第57図に詳細に示すように、
主としてメモリの 1つのエリアと別のエリアとの間の
ブロック転送を行う。 「ソース」及び「行き先jメモ
リはオンチップでもオフチップでもよく、データ転送は
バス5700及びFIFOバッファメモリ5701を介
して行われる。オンチップメモリはクロスバデータメモ
リlO、パラレルプロセッサの命令キャッシュ10、マ
スタープロセッサ命令キャッシュ14、及びマスタープ
ロセッサデータキャッシュ13を含む(第1図及び第2
図参照)。データメモリ10及びデータキャッシュ13
はどちらも読み出し/書き込み可能である。命令キャッ
シュ14は書き込み専用である。 キャッシュを含むすべてのオペレーションはそれらのキ
ャッシュに関連するロジックによって自動的に要求され
る。この場合、移動されるデータの量はキャッシユの「
ライン」サイズであり、データは適切なセグメントレジ
スタにより指定された外部メモリ15とキャッシュのセ
グメントとの間で移動される。 クロスバデータメモリIOを含む転送は、パラレルプロ
セッサ100〜103またはマスタープロセッサ12か
らの「パケット要求」に応動して実行され、バス570
7を介して行われる。パケット要求は、移動されるデー
タ量を含む沢山のパラメータ及びソースアドレスならび
に行き先アドレスによって転送を指定する。 L三ユヱ玉」 パケット要求はメモリの 1つのエリアから別のエリア
への一般化された転送を指定する。ソースアドレスジェ
ネレータ5704及び行き先アドレスジェネレータ57
05は共に同じように記述されている。 「ブロック」はデータアイテム(バイト、ハーフワード
、ワードまたは長ワード)を単に線状に隣接させて次々
に並べたもので良く、あるいはそのようなデータアイテ
ムを並べた領域の複数個で構成したものでも良い。この
アドレス指定機構によれば、最大3次元までの「アレイ
」を指定することができる。そのため、単一のパケット
要求により多数の 2次元バッチを処理することが可能
である。 最も内側の次元に沿ったデータアイテムは常に1単位離
れている。より高次元のアイテム間の距離は任意である
。 各次元のカウント数はソースアレイ及び行き先アレイ共
同じである。 第45図は単一パケット要求で指定することのできる複
雑な形式のブロックの一例を示す。図示のブロックは、
各々512の隣接ピクセルよりなる3本の線群が2群で
構成されている。このようなブロックが必要となるのは
、例えば、各々 1つの線群について処理中の 2つの
パラレルプロセッサが3× 3のコンボリューションを
実行しようとするような場合である。 ブロックは第45図に示す如く下記のパラメータによっ
て指定される。 ランレングス 隣接データアイテムの数、 例えば512 ピクセル レベル2 カラ ン ト 群中の 「線」 の数、 例えば レベル3 カラン ト 「ブロック」 中の 「群」 の 数、 例えば2 スタートア ド レス ブロックの始めのりニアア ト し ス、 例えば SAJ で指 示されるピクセルのアドレ ス レベル2 ステップ 第 ルベル群間の距離、 例 えばピクセルrBJと 「A 」のア ドレスの差 レベル3ステツ プ 第 2レベル群間の距傾、 例 えばビクセルrDJと「C 」のアドレスの差 す1月り勘 次に、マルチプロセッサシステムと共にビデオRAMを
使用するやり方に付いて第58図を参照しつつ説明する
。図示例では、ビデオカメラからのCOD入力またはそ
の他のビデオ信号入力がAD変換器5802によってク
ロック同期され、シフトレジスタ(S/R)5801へ
供給される。データは、シフトレジスタ5801ヘシフ
トインされ、そこからランダムメモリマトリクス580
0ヘシフトアウトされるが、この例では、ランダムメモ
リマトリクス5800は第1図のメモリ15がそのまま
使われている。Sクロック入力は、シフトレジスタ58
01に対する情報のシフトイン、シフトアウトを制御す
るのに用いられる。ランダムメモリマトリクス5800
からのデータ出力は前述した如くパラレルプロセッサに
よって制御される。即ち、パラレルプロセッサは、画像
処理、画像制御または図形識別を行うため、あるいはペ
ーパーコピーその他のコピーから斑点等を除去するクリ
ーニングを行うために情報を並列でも直列でも用いるこ
とができるようにデータ出力を制御する。ISP  (
イメージシステムプロセッサ)は第58図のポート21
を介してビデオRAMのデータにアクセスする。シフト
レジスタ5801とランダムメモリマトリクスとの相互
作用の目的は、情報をプロセッサの動作速度に関係なく
外部から非同期で取り込み、ランダムメモリマトリクス
にロードすることができるようにすることである。この
ように情報が取り込まれたならば、転送プロセッサは前
に述べたようにして情報の転送を開始する。 入力情報には、一般に、水平同期信号、ブランキング信
号及び垂直リフレッンユ信号等を含むNTSC標準信号
が含まれており、これらの信号をランダムメモリマトリ
クス5800に対する情報のローディング、アンローデ
ィングを制Jするためのタイミング信号として利用する
こともできる。 パラレルプロセッサはランダムメモリマトリクス580
0中のデータに対して様々な処理を行うことができる。 また、それらの処理の一部は同時に行うことが可能であ
る。例えば、色情報は前述したようにデータの情報波に
従い後で処理するか、あるいは分散させるために分離す
ることができるし、受は取ったデータの情報内容を、前
に第11図を用いて説明したように処理することもでき
る。 11五皇】j コントローラ及びデータバスの数、及びこれらがメモリ
と共にどのような構成で用いられているかということは
、MIMD及び5IIII)に関してアーキテクチャを
分類するのに役立つ。最も簡単な形式のものでは、 「
プロセッサ」は 1つまたは2つ以上のコントローラと
 1つまたは2つ以上のデータバスで構成することがで
きる。 第59図は、命令メモリ(5904,5B14.592
4.5934)及びデータメモリ(5907,5917
,5927,5937)に接続された 4つの別個の処
理素子(59(IL 5!1911.5921、593
1>からなる典型的なMiMD構成を示す。命令メモリ
とデータメモリは別々に図示されているが、これらのメ
モリは実際は物理的に 1つのメモリにまとめてもよい
。各処理素子は、それぞれ2つの主ブロック、即ちコン
トローラ(5902,5912,5922、5932)
及びデータバス(5905,5B15.5925゜59
35)よりなる。命令メモリは命令ノ(ス(5903,
5913,5B23.5933)を介して各コントロー
ラへ制御命令を供給される。データメモリは、各コント
ローラの制御下にアクセスされ、データノくス(590
6、591G、 5928.5938)を介してデータ
ノくスへ接続されている。命令バスとデータ/<スは実
際には同一バスとすることも可能であり、あるいはクロ
スバ構成になる一部のバスとした実施例も可能である。 コントローラは一部の制御信号(5908,5118、
5928,5938)によってデータ、(スを制御する
。 第5S図のMIHD構成においては、各プロセッサは分
散データまたは共用データに対して完全に独立の命令を
実行することができる。 第60図は単一のコントローラ6002と命令メモリ6
004を用いた一般的SIMD構成を示す。命令は)く
ス6003を介してコントローラに供給される。この単
一のコントローラは単一の命令群6000を生成し、こ
の命令群は多重データバス([1010,8020,6
030゜8040)をドライブする。各データバスはバ
ス(6o!1、8021. BO31,8041)を介
して各々のメモリ(Ei012、6022. BO32
,[1042)へ接続されている。簡単のために、各デ
ータバスのデータメモリへの接続の仕方は−通りしか示
されていないが、実際は、クロスバ構成あるいは第8図
に示すデータの逐次伝送のようにデータバスとデータメ
モリの接続の仕方は多様である。 第60図のSIMDI成では、多重データバスを単一の
命令ストリームをを用いて制御している。第60図に示
すような一般的なSIMDの場合は、多重データバスに
対してコントローラは 1つしかない。 第61図はM IMDモードで動作するよう構成したこ
の発明のマルチプロセッサシステムの一実施例を示す。 図示実施例において、各パラレルプロセッサ(+00.
 iot、 102.103)は、 クロスバスイッチ
20を介シて、メモリスペース10内のメモリを各々の
命令メモリとして用いることができる。各パラレルプロ
セッサのコントローラ3002は各々異なる命令ストリ
ームを受は取ることができる。MIHDオペレージロン
モードの構成となる場合、各パラレルプロセッサはバス
40上の同期信号を無視する。各コントローラは制御信
号3112で異なるデータバス3100を制御すること
ができ、各データバスクロスバスイッチを介して異なる
メモリにアクセスすることができるから、このシステム
はMIMDモードで動作することができる。 第62図は第61図と同じハードウェアであるが、この
場合はパラレルプロセッサはSIMDモードの構成にな
っている。このモードでは、既に第28図によって説明
したように、単一の命令メモリがすべてのプロセッサに
接続されている。5IIilD構成をなす各パラレルプ
ロセッサは同じ命令を受け、各コントローラは、一般に
同じ制御信号を出す。例えば、制御信号はデータ依存性
を考慮しなければならないために差異が生じる場合があ
る。バス40の同期信号は 2つの目的のために用いら
れる・先ずこれらの同期信号はMIMDモードからSI
MDモードのオペレージリンに切り換わる時パラレルプ
ロセッサをすべて同じ命令でスタートさせるのに用いら
れ、第2には、これらの同期信号は、いったんS!MD
オペレオペレージリンートした後、全部のパラレルプロ
セッサに等しく作用するとは限らないような何らかの事
象のためにパラレルプロセッサが同期外れになるのを防
ぐのに用いられる(例えば、2つのメモリが同じメモリ
をアクセスする場合、コンフリクト解消ロジックが一方
のメモリを他方より先にメモリにアクセスさせるように
なっている)。このようにして、第62図のシステムで
は複数個のコントローラを用いているものの、システム
全体としては第60図の従来のSIMDel成と同じ結
果が得られる。前にも説明したように、にIMDモード
で命令メモリとして使用されるメモリの一部をSIMD
モードでは必要に応じてデータメモリとして使用する。 第63図は第61図及び第62図のハードウェアを用い
て同期M!MDオペレー/ヨン用の構成とした実施例を
示す。このモードの場合、各プロセッサは異なる命令を
実行することができるが、それらの命令はバス40の同
期信号により互いに同期関係に維持される。このオペレ
ージ5ンモードでは、一般に、プロセッサ間で異なる命
令はほんの一部だけであり、プロセッサのメモリアクセ
スを同じ相対的関係に保ことが大切である。 第64図は、第61図、第62図及び第63図に示すの
と同じハードウェアを用いて可能な他の多くの構成中の
一例を示す。図示例では、プロセッサ100と101は
共通の命令メモリを共用すると共に、バス40の同期信
号を用いることによりSIMDオペレオペレージリンに
なっている。これに対して、プロセッサ102と103
は別個の命令メモリを使用しており、またバス40の同
期信号を無視してすることによりMINDモードで動作
している。これ以外にもプロセッサをMIHD、 5I
ND、  あるいは同期MIHDの各モードに割り当て
るやり方は多数あり、そのような割り当て方による実施
例が可能なこと、及びこれら 3[類の各モードに任意
の数のプロセッサを割り当てることができるということ
はもちろんである。 夾」L吐9コE圭 以下、この発明のマルチプロセッサシステムの実施例の
重要な特徴を要約して説明する。 この発明のマルチプロセッサシステムの一実施例は、メ
モリソースから供給される命令セットにより各々動作し
て1つまたは2つ以上のアドレス指定可能メモリに対す
るデータの入出移動に依拠する多数の異なるプロセスを
制御することが可能なn個(nは正の整数)のプロセッ
サと、各々一意のアドレス指定可能空間ををするm個(
mはm〉nなる整数)のメモリソースと、上記メモリに
接続され且つ上記プロセッサに接続されたスイッチマト
リクスと、上記スイッチマトリクスをプロセッササイク
ル単位ベースで選択的に且つ同時にイネーブル化して上
記のいずれかのプロセッサと上記いずれかのメモリとを
相互接続し、上記メメモリ空間からの命令セット及びそ
れ以外のアドレス指定可能メモリ空間からのデータをや
りとりさせる回路群と、を具備したことを特徴とする。 このシステムにあって、上記n個のブロセノは、共用命
令セットにより動作可能でこの共用命令セットからの同
じまたは異なる命令ストリームにより並行処理能力にお
いて相互に動作することが可能な複数個のプロセッサと
、及び異なる命令接により動作可能な少なくとも1つの
他のプロセッサとを含み、これらのすべてのプロセッサ
を上記スイッチマトリクスを介して上記m個のメモリソ
ースに接続することができるようにしたものであっても
よい。さらに、  いずれかのメモリをアクセスする優
先権を有するコンチンシロン回路群を組み込むことも可
能であり、この回路群は何れか1つのメモリについて競
合している時上記他のプロセッサに対して上記共用命令
セットのプロセッサを優先させる回路群を含むことが望
ましい。 これらのプロセッサは割込みを起こすことなく自律的に
上記の各メモリに関して競合するものであってもよく、
コンテンション回路群はさらにシーケンシャルトークン
バラソングを含むものであってもよい。また、上記n個
のプロセッサは、上記メモリへのまたは上記メモリから
のデータ転送を自律的に制御するよう動作する転送プロ
セッサを含み、その自律的な転送がDSPプロセッサま
たはRISCプロセッサからの終点命令の結果として起
こるようにしたものであってもよい。上記共用命令セッ
トプロセッサはDSPプロセッサとし、上記他のプロセ
ッサはRISCプロセッサとすることが望ましい。 上記マルチプロセッサシステムは、さらに、上記m個の
メモリをアクセスする回路群を含み、これらm個のメモ
リの中で上記n個のプロセッサによりアクセスされてい
ない1つ以上のメモリを上記n個のプロセッサによるア
クセスと干渉し合うことなく1つ以上の他のプロセッサ
によりアクセスすることができるようにしたものであっ
てもよい。上記他のプロセッサは上記システムの内外に
より多くのデータを伝送する用よう構成された転送プロ
セッサであってもよい。 また、上記マルチプロセッサシステムは、データ配線に
よるメモリ競合を防ぐための回路群、及びメモリ用途命
令の配線を含むメモリ競合を防ぐための回路群を含むも
のであってもよい。 この発明のマルチプロセッサシステムの他の実施例は、
サイクル単位ベースで実行される命令によって互いに独
立に動作するよう構成された複数個のプロセッサを有し
、且つ複数個のメモリ及び上記のいずれかのプロセッサ
といずれかのメモリとを相互接続する回路群を有し、且
つ上記プロセッサの一部をそのすべてのプロセッサが同
じ命令で動作するSIMDオペレーティングモードに接
続構成する回路群、及びプロセッサにサイクル単位ベー
スで作用して少なくとも一部の上記プロセッサヲSIM
Dオペレーティングモードのオペレージ騨ンから各プロ
セッサが別個の命令メモリより供給される別個の命令で
動作するIIIIMDオペレーティングモードのオペレ
ーションに切り換える回路群を含むことを特徴とする。 この発明の画像処理システムの一実施例は、メモリソー
スから供給される命令ストリームにより各々動作して各
々一意のアドレス指定可能空間を有するm個のアドレス
指定可能メモリに対するデ−タの入出移動に依拠する多
数の異なるプロセスを制御することが可能なn個のプロ
セッサを有しくただしmはnより大きな整数)、且つ上
記メモリに接続され且つ上記プロセッサに接続されたス
イッチマトリクスを有し、プロセッサが各々特定のプロ
セッサーメモリ関係を有する複数の動作モードで動作す
ることができるよう選択的に且つ同時にいずれかのプロ
セッサをいずれかのメモリに接続する回路群を含み、且
つ上記の動作モード切り換えを行うためにいずれかのプ
ロセッサからいずれか他のプロセッサに信号を伝送する
ためのプロセッサ間通信バスを含むことを特徴とする。 この発明のマルチマルチプロセッサシステムの他の実施
例は、 メモリソースから供給される命令ストリームに
より各々動作して各々アドレス指定可能空間を宵するm
個のアドレス指定可能メモリに対するデータの入出移動
に依拠する多数の異なるプロセスを制御することが可能
なn個のプロセッサを有し、且つ上記メモリに接続され
ると共に上記プロセッサに接続されたリンクを有するス
イッチマトリクスを有し、且つこのスイッチマトリクス
のリンクの少なくとも1つをスプリットして選択的に且
つ同時に何れかのプロセッサをいずれかのメモリに接続
し、上記メモリとこれに接続された上記プロセッサとの
間で1つまたは2つ以上のアドレス指定可能メモリ空間
からの命令ストリーム及びそれ以外のアドレス指定可能
メモリ空間からのデータをやりとりさせるようにしたこ
とを特徴とする。 この発明の処理装置の実施例は、各々独自の命令を実行
し得る複数個のプロセッサを存し、上記の各プロセッサ
に関連させて設けられ、プロセッサに他のどのプロセッ
サを同期させるかを決定する制御回路群及び上記各プロ
セッサに関連させて設けられ、互いに同期した他のプロ
セッサと同期させるべき命令の境界を決定すると共にそ
れらの境界の間にフラグをセットする命令応動回路群を
伴い、且つ実行待機モードを砧率する各プロセッサに設
けられた回路群を含み、プロセッサに各フラグがセット
されている間は各プロセッサにより各々と同期させるこ
とが決定された他のプロセッサがすべて実行待機モード
になるまでそのプロセッサの中の如何なる命令の実行を
も禁止するよう動作するロジックを有することを特徴と
するものである。 この発明のマルチプロセッサシステムの他の実施例は、
各々一意のアドレス指定空間を有するm個のメモリを具
備し、上記mこのメモリの全アドレス指定可能空間はn
ビットの単一アドレスワードによって決定され、且つ上
記アドレスワードのビット値に従い上記m個のメモリの
アドレス指定可能記憶場所へのアクセスを制御するメモ
リアドレス生成回路を具備し、且つ現アドレスワードに
加えるべきインデックス値をアクセプトして次のアドレ
ス記憶場所を指定するためにビット間のキャリーオーバ
ー信号を有する加算回路群を具備し、且つ通常は一つ隣
のメモリアドレスワードをトグルさせるはずの上記ワー
ドの一部のビットからキャリーオーバー信号をダイバー
トさせ、このキャリーオーバー信号にメモリアドレスワ
ードのりモートビットをトグルさせるよう動作する回路
群を具備したことを特徴とする。 この発明の2進ストリング中の「1」の数を示す回路の
一実施例は、第1及び第2の入力と出力を有するAND
ゲートと、第1及び第2の入力と出力を有するXORゲ
ートとを具備し、このXORゲートの第1の入力は上記
ANDゲートの第1の入力に接続されており、XORゲ
ートの第2の入力はANDゲートの第2の入力に接続さ
れており、上記ANDゲート及びXORゲートの第2の
入力は2進ストリングの1ビツトを供給されると共に、
XORゲートの出力が2進ストリングのビット中の「1
」の数を表す2進数を出力するようにしたことを特徴と
する。 この発明のマルチプロセッサシステムの他の実施例は、
1つまたは2つ以上のアドレス指定可能なメモリからの
データの移動に依拠する異なるいくつかのプロセスを制
御するためにメモリソースから供給される命令ストリー
ムにより動作可能なn個のプロセッサを具備し、且つ各
々一意にアドレス指定可能な1個のメモリソースを具備
シており、これらのメモリの一部は上記プロセッサ用の
命令ストリームを共用記憶するよう構成され、その他の
上記メモリはプロセッサ用にデータを記憶するよう構成
されており、且つ上記プロセッサとメモリとの間に通信
リンクを設定するためのスイッチマトリクスを具備し、
このスイッチマトリクスは特定のプロセッサと上記メモ
リの中の命令ストリームを記憶する特定のメモリとの間
で専用の通信を行うためのある種のリンクが具備されて
おり、且つスイッチマトリクスリンクを再構成してそれ
までは命令用に用いられたメモリへのデータアクセスを
可能にする回路群、及びこの回路群と同時に動作してす
べてのプロセッサをある種のリンクの中の特定の1つに
接続し、これによって上記リンクに関連する命令メモリ
からの命令をすべてのシステムプロセッサに伝送させる
よう構成された回路群を具備したことを特徴とするもの
である。 この発明の画像システムの一実施例は、各々ビクセルに
関連する複数個のデータビットで構成し得る複数個のビ
クセルよりなるイメージのイメージ入力を有すると共に
、メモリ、各入力イメージのビクセルをメモリへ伝送す
るイメージバス、及び供給されたイメージをメモリに記
憶されたパラメータに従い解釈するためにこれらのパラ
メータを上記に供給された各イメージのビクセルに適用
する回路群を具備したことを特徴とするものである。 この発明のスイッチマトリクスの一実施例は、複数個の
第1のポートと複数個の第2のポートとを相互接続する
マルチプロセッサシステム用のスイッチマトリクスであ
って、各々上記第1のポートの特定の1つに付随させて
設けられた複数個の縦方向バスと、個々に動作可能な複
数個の叉点と、上記第2のポートに接続されていて、上
記叉点の中のイネーブル化された叉点を介して上記第1
のポートの1つを上記第2のポートのいずれか1つに接
続する複数個の横方向バスとを有し、且つ記憶2のポー
トの中の競合するボート間の競合処理を行って上記各縦
方向バスに接続するためのこれら各縦方向バスに付随さ
せて上記各叉点に設けられた回路群を含むことを特徴と
するものである。 このスイッチマトリクスにあって、特定縦方向バスの各
叉点の競合処理回路は、上記縦方向バスに関連する上記
第 1ポートの永久アドレス名を受は取る回路群を含む
ものであってよく、かつ特定横方向バスの各叉点の競合
処理回路は、上記横方向バスに関連する上記第2ボート
より上記マトリクスを介して特定の第 1ポートへ到る
所望の接続のアドレス名を適時受は取る回路群を含むも
のであってもよい。 上記各叉点の競合処理回路は、2つ以上の上記第 2ポ
ートから同じ第 2ポートのアドレス名を受は取った場
合に上記各縦方向バスに関連する上記叉点の1つに第 
1の優先順位を与えるトークンパッシングロジックを含
むものであってもよく、また上記第 1ポートが複数個
のメモリで、上記第2ボートが複数個のプロセッサであ
ってもよい。上記スイッチマトリクスはシングルチップ
上に、望ましくは上記叉点と共に構築することができ、
また上記競合処理回路は上記第1及び第2ボートと共に
上記シングルチップ上に空間的に分散配設する。 東二約 以上、この発明を特定の実施例に基づき説明してきたが
、当業者であれば種々の変更、修正を示唆することが可
能であり、この発明はそのような変更、修正も発明の範
囲内に含まれるとみなすものである。また、本願は画像
処理を中心として開示、説明したが、この発明のシステ
ムがグラフィクス(図形処理)、信号処理、スピーチ処
理、ンナー レーダー及びその他の高密度リアルタイム
処理用にも同様に使用可能であるということは明らかで
ある。
【図面の簡単な説明】
第1図及び第2図はこの発明の画像処理システムの構成
を示すブロック図、第3図は一連の画像処理システムを
相互接続して拡張システムとした例ノフロック図、第4
図はこの発明のシステムにオケるパラレルプロセッサと
メモリとを相互接続するクロスバスイッチマトリクスの
詳細図、第5図及び第6図は従来技術によるシステムの
例を示すブロック図、第7図はその改良された構成例を
示すブロック図、第8図及び第9図は従来技術における
プロセッサとメモリの相互作用の概念を示すブロック図
、第10図はこの発明による構成可変型マルチプロセッ
サの一例の構成を示すブロック図、第11図は画像処理
システムにおけるアルゴリズム及び制御の流れを示す機
能ブロック図、第12図乃至第15図はSIMD及びに
IMDオペレーションモードのイメージビクセルの流れ
を示すブロック図、第16図はプロセッサ間の割込みポ
ーリング通信を示す模式図、第17図はクロスバスイッ
チにより相互接続されたプロセッサとメモリのレイアウ
ト模式図、第18図及び第19図クロスバスイッチの叉
点の詳細図、第20図はメモリアクセスのフンテンシジ
ンロジックのタイミング図、第21図乃至第23図はプ
ロセッサ間の同期制御の説明図、第24図乃至27図は
スライス式アドレス指定技法の説明図、第28図はSI
MD/MIMDオペレージeンモードにおける命令デー
タメモリの構成切り換えの詳細を示す説明図、第29図
はマスタープロセッサの詳細ブロック図、第30図乃至
第34図はパラレルプロセッサの詳細ブロック図、第3
5図乃至45図はパラレルプロセッサのオペレージジン
方法の説明図、第46図乃至第48図はパーソナルコン
ビ二一夕として用いられるイメージプロセッサの説明図
、第49乃至52図はリモート及びローカルベースによ
る画像システムの使用形態を示すブロック図、第53図
は画像システムの機能ブロック図、第54図は「1」計
数回路マトリクスの論理回路図、第55図は最小規模化
した「1」計数回路の論理図、第56図は「1」計数回
路の応用形態の一例の説明図、第57図は転送プロセッ
サのブロック図第58図はVRAMと共に使用する状態
を示すパラレルプロセッサのブロック図、第59図乃至
第64図は色々なオペレーションモード間の関係を示す
説明図である。 10・・ψメモリ、 11・φ・転送メモリ、 12・1マスタープロセツサ、 I3・壽・データキャッシュ、 141@命令キヤツシユ、 15−−・外部メモリ、 20・昏・クロスバスイッチマトリクス、49* *・
通信バス、 100〜103・・・パラレルプロセッサ、170 φ
・・フレームコントローラ、401〜403・・φスリ
ーステートバッファ、2IO1〜2104  Φ−レジ
スタ及びゲート、2504〜2508・・ψ加算器セル
、2507、2508−・−マルチプレクサ、4900
・拳φイメージシステムプロセッサ及びメモリ、 ・モデム、 曇制御コンソール、 Φデイスプレィ、 拳データ収集装置、 ・コントローラエンジン、 Φ COD  ユ ニ ッ ト、 4301 Φ 4902・ 903− 4904・ 4905・ 4906 ・ 4307・ 490S・ 5000・ 5001 @ 5002・ 5003・ 004− 5007 @ 5008・ 5009・ 5010・ 5101 Φ 5102・ 5I03・ 5104・ 105− 5424φ ・・光学系、 ・・プリントエレメント、 φφイメージシステムプロセブサ、 会・光リディスク、 1ハードデイスクドライブ、 −−VRAM1 ・・CCDユニット、 Φ・統計学的記録維持、 ・・ラッチ、 命Φ制御対象機構、 e11出力ディスプレイ、 ・ψイメージシステムプロセッサ、 ■メモリ、 1カメラ、 ・・フラットパネルデイスプレィ、 −−COD 。 ・ ・ マ ト リ り ス。 ソースΦデータ 先行データ C00Oh  = 0004h  = 002h ′> 999 ’>?BA 999 ? 000 + h 003h −A 8− ??A? 9L′)つつ ?BA? ′)りつ9 002h 004h A−− −−− ?A?9 9999 8A?? ’)’)’l’1 003h −− A??? 9 ? 99 FIC;。 第  43 CBA (レノスタ) バイト番号 210 (メモリ) 9つつ) ADD。 記tα。 REG値 oooh 004h CBA CBA 99つ9 CBA 99つ9 ooo+h 005h BA− 一−D C8A? ’>’;’+z CBA? ???D 002h 006h A−− −0C BA?? ″)″)9 ? BA?? ??DC 003h −−− A??? 9999 3 図 ()1 8 羅 ■  = 1′  玉 づ 沃  ! 目 罎 o1!! ロ  嵌 り し J’又− L                        
       J又−=A′″Il″l に、 し−一一−−−−−−−−−−−−−−−−−−へ一〇

Claims (1)

  1. 【特許請求の範囲】 1、メモリソースから供給される命令セットにより各々
    動作して1つまたは2つ以上のアドレス指定可能メモリ
    に対するデータの入出移動に依拠する多数の異なるプロ
    セスを制御することが可能なn個(nは正の整数)のプ
    ロセッサと; 各々一意のアドレス指定可能空間を有する m個(mはm>nなる整数)のメモリソースと; 上記メモリに接続され且つ上記プロセッサ に接続されたスイッチマトリクスと; 上記スイッチマトリクスをプロセッササイ クル単位ベースで選択的に且つ同時にイネーブル化して
    上記のいずれかのプロセッサと上記いずれかのメモリと
    を相互接続し、上記メメモリ空間からの命令セット及び
    それ以外のアドレス指定可能メモリ空間からのデータを
    やりとりさせる回路群と; を具備したことを特徴とするマルチプロセッサシステム
    。 2、前記n個のプロセッサが前記メモリに対するデータ
    転送を独立に制御する転送プロセッサを含み、これらn
    個のプロセッサの一部が限定命令セット計算機(RIS
    C)型プロセッサよりなり、前記スイッチマトリクスが
    前記メモリのいずれかにアクセスする優先権を持つコン
    テンション回路群を有しまた上記プロセッサとメモリを
    相互接続するためのリンクを含み且つさらにこれらのリ
    ンクを相互接続するための叉点を含むと共に、上記RI
    SC型プロセッサ及び上記転送プロセッサを含む上記n
    個のプロセッサ、前記m個のメモリ、及び上記リンク、
    上記叉点並びに上記コンテンション回路群を含む上記ス
    イッチマトリクスがすべて単一チップ上に形成されてお
    り、さらに上記スイッチマトリクスのリンク、叉点及び
    コンテンション回路群が上記n個のプロセッサ及び上記
    m個のメモリに対し一定の空間的関係を保って上記チッ
    プ上に分散配置されていることを特徴とする請求項1に
    記載のマルチプロセッサシステム。 3、複数個の第1のポートと複数個の第2のポートとを
    相互接続するマルチプロセッサシステム用のスイッチマ
    トリクスであって: 各々上記第1のポートの特定の1つに付随 させて設けられた複数個の縦方向バスと; 個々に動作可能な複数個の叉点と; 上記第2のポートに接続されていて、上記 叉点の中化された叉点を介して上記第1のポートの1つ
    を上記第2のポートのいずれか1つに接続する複数個の
    横方向バスと; 上記第2のポートの中の競合するポート間 の競合処理を行って上記各縦方向バスに接続するための
    これら各縦方向バスに付随させて設けられた回路群であ
    って上記各叉点に設けられたものを含む回路群と; を具備したことを特徴とするスイッチマトリクス。 4、メモリソースから供給される命令ストリームにより
    動作し、それらの命令を実行することにより1つまたは
    2つ以上のアドレス指定可能メモリに対するデータの入
    出移動に依拠するプロセスを制御することが可能なn個
    のプロセッサと、各々アドレス指定可能メモリ空間を有
    するm個のメモリソースと、上記メモリに接続され且つ
    上記プロセッサに接続されたリンクを有するスイッチマ
    トリクスとを有するマルチプロセッサシステムのオペレ
    ーティング方法において: 選択的に且つ同時に上記のいずれかのプロ セッサと上記のいずれかのメモリとを相互接続し、この
    ように選択された相互接続によって1つまたは2つ以上
    の上記アドレス指定可能メモリ空間からの命令セット及
    びそれ以外の上記アドレス指定可能メモリ空間からのデ
    ータをやりとりするステップと; 上記プロセッサと上記メモリとの間に上記 の如く選択的に行われる相互接続をプロセッササイクル
    単位ベースで切り換えるステップと; を含むことを特徴とするマルチプロセッサシステムのオ
    ペレーティング方法。
JP1338040A 1989-11-17 1989-12-26 マルチプロセッサシステム Expired - Fee Related JP3026984B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US43559189A 1989-11-17 1989-11-17
US435591 1989-11-17

Publications (2)

Publication Number Publication Date
JPH03211656A true JPH03211656A (ja) 1991-09-17
JP3026984B2 JP3026984B2 (ja) 2000-03-27

Family

ID=23729010

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1338040A Expired - Fee Related JP3026984B2 (ja) 1989-11-17 1989-12-26 マルチプロセッサシステム

Country Status (5)

Country Link
US (4) US5471592A (ja)
EP (1) EP0429733B1 (ja)
JP (1) JP3026984B2 (ja)
KR (1) KR0172595B1 (ja)
DE (1) DE68928980T2 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03206547A (ja) * 1990-01-09 1991-09-09 Nissan Motor Co Ltd クロスバーネットワーク装置
JP2003036169A (ja) * 2001-07-25 2003-02-07 Nec Software Tohoku Ltd 複数の小規模プロセッサによって並列処理を行なうシングルチップマイクロプロセッサ
US7483033B2 (en) 2003-04-30 2009-01-27 Yamaha Corporation Storage device
JP2010092285A (ja) * 2008-10-08 2010-04-22 Hitachi Ltd ストレージシステム
JP2010541088A (ja) * 2007-10-06 2010-12-24 アクシス セミコンダクター インコーポレイテッド リアルタイム信号処理のための方法及び装置
JP2011525008A (ja) * 2008-05-29 2011-09-08 アクシス・セミコンダクター・インコーポレーテッド リアルタイムデータ処理のための方法&装置
US8719551B2 (en) 2009-04-22 2014-05-06 Panasonic Corporation Processor with arbiter sending simultaneously requested instructions from processing elements in SIMD / MIMD modes
JP2016038829A (ja) * 2014-08-11 2016-03-22 大日本印刷株式会社 電子情報記録媒体、プロセッサモジュールの動作制御方法、及びプロセッサモジュールの動作制御プログラム
JP2016038690A (ja) * 2014-08-07 2016-03-22 ルネサスエレクトロニクス株式会社 データ処理装置
JP2019194583A (ja) * 2018-05-03 2019-11-07 インフィニオン テクノロジーズ アクチエンゲゼルシャフトInfineon Technologies AG レーダ信号の処理
JP2021005355A (ja) * 2019-06-26 2021-01-14 ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド ループ命令集合を処理するための方法、装置、機器及び記憶媒体

Families Citing this family (256)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE68928980T2 (de) * 1989-11-17 1999-08-19 Texas Instruments Inc. Multiprozessor mit Koordinatenschalter zwischen Prozessoren und Speichern
US5594918A (en) 1991-05-13 1997-01-14 International Business Machines Corporation Parallel computer system providing multi-ported intelligent memory
US5493687A (en) 1991-07-08 1996-02-20 Seiko Epson Corporation RISC microprocessor architecture implementing multiple typed register sets
US5440752A (en) * 1991-07-08 1995-08-08 Seiko Epson Corporation Microprocessor architecture with a switch network for data transfer between cache, memory port, and IOU
US5539911A (en) 1991-07-08 1996-07-23 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
DE69311330T2 (de) 1992-03-31 1997-09-25 Seiko Epson Corp., Tokio/Tokyo Befehlsablauffolgeplanung von einem risc-superskalarprozessor
EP0638183B1 (en) 1992-05-01 1997-03-05 Seiko Epson Corporation A system and method for retiring instructions in a superscalar microprocessor
EP0600113A1 (de) * 1992-11-30 1994-06-08 Siemens Nixdorf Informationssysteme Aktiengesellschaft Datenverarbeitungsanlage mit schlüsselgesteuertem Speicherzugriff
JP3531166B2 (ja) 1992-12-31 2004-05-24 セイコーエプソン株式会社 レジスタ・リネーミングのシステム及び方法
US5628021A (en) 1992-12-31 1997-05-06 Seiko Epson Corporation System and method for assigning tags to control instruction processing in a superscalar processor
US5598568A (en) * 1993-05-06 1997-01-28 Mercury Computer Systems, Inc. Multicomputer memory access architecture
FR2707776B1 (fr) 1993-07-15 1995-08-18 Bull Sa Procédé de gestion de mémoires d'un système informatique, système informatique mémoire et support d'enregistrement mettant en Óoeuvre le procédé.
FR2707778B1 (fr) * 1993-07-15 1995-08-18 Bull Sa NÓoeud de processeurs.
CA2138263C (en) * 1993-09-27 2000-02-22 Yukihiko Okumura Multiprocessor
US5509129A (en) * 1993-11-30 1996-04-16 Guttag; Karl M. Long instruction word controlling plural independent processor operations
US7387253B1 (en) 1996-09-03 2008-06-17 Hand Held Products, Inc. Optical reader system comprising local host processor and optical reader
JPH0830577A (ja) * 1994-07-15 1996-02-02 Mitsubishi Electric Corp Simdプロセッサ
US6704765B1 (en) * 1994-12-14 2004-03-09 International Business Machines Corporation System for allocating resources among agent processes
US5603005A (en) * 1994-12-27 1997-02-11 Unisys Corporation Cache coherency scheme for XBAR storage structure with delayed invalidates until associated write request is executed
US5761455A (en) * 1995-02-06 1998-06-02 Cpu Technology, Inc. Dynamic bus reconfiguration logic
US5878240A (en) * 1995-05-11 1999-03-02 Lucent Technologies, Inc. System and method for providing high speed memory access in a multiprocessor, multimemory environment
DE69601599T2 (de) * 1995-06-07 1999-10-14 Ibm Videoverarbeitungseinheit mit Steuerung des Adressierungsmodus
US5696985A (en) * 1995-06-07 1997-12-09 International Business Machines Corporation Video processor
US5557759A (en) * 1995-06-07 1996-09-17 International Business Machines Corporation Video processor with non-stalling interrupt service
JP3479385B2 (ja) * 1995-06-29 2003-12-15 東芝マイクロエレクトロニクス株式会社 情報処理装置
US5742840A (en) * 1995-08-16 1998-04-21 Microunity Systems Engineering, Inc. General purpose, multiple precision parallel operation, programmable media processor
US6295599B1 (en) * 1995-08-16 2001-09-25 Microunity Systems Engineering System and method for providing a wide operand architecture
US6643765B1 (en) * 1995-08-16 2003-11-04 Microunity Systems Engineering, Inc. Programmable processor with group floating point operations
US7301541B2 (en) * 1995-08-16 2007-11-27 Microunity Systems Engineering, Inc. Programmable processor and method with wide operations
US5953241A (en) * 1995-08-16 1999-09-14 Microunity Engeering Systems, Inc. Multiplier array processing system with enhanced utilization at lower precision for group multiply and sum instruction
US5909702A (en) * 1995-09-29 1999-06-01 Intel Corporation Memory address translations for programs code execution/relocation
US5790137A (en) * 1995-10-05 1998-08-04 Apple Computer, Inc. System and method for using a frame buffer in cached mode to increase bus utilization during graphics operations
KR0170500B1 (ko) * 1995-11-18 1999-03-30 양승택 멀티프로세서 시스템
US5880979A (en) * 1995-12-21 1999-03-09 Intel Corporation System for providing the absolute difference of unsigned values
US5742529A (en) * 1995-12-21 1998-04-21 Intel Corporation Method and an apparatus for providing the absolute difference of unsigned values
US6295074B1 (en) 1996-03-21 2001-09-25 Hitachi, Ltd. Data processing apparatus having DRAM incorporated therein
US6504548B2 (en) 1998-09-18 2003-01-07 Hitachi, Ltd. Data processing apparatus having DRAM incorporated therein
JP4049280B2 (ja) * 1996-09-24 2008-02-20 株式会社ハイニックスセミコンダクター グレースケール形状情報符号化/復号化装置及び方法
US5890013A (en) * 1996-09-30 1999-03-30 Intel Corporation Paged memory architecture for a single chip multi-processor with physical memory pages that are swapped without latency
US6041379A (en) * 1996-10-04 2000-03-21 Northrop Grumman Corporation Processor interface for a distributed memory addressing system
US6453409B1 (en) * 1996-11-07 2002-09-17 Yamaha Corporation Digital signal processing system
US5970253A (en) * 1997-01-09 1999-10-19 Unisys Corporation Priority logic for selecting and stacking data
US5822766A (en) * 1997-01-09 1998-10-13 Unisys Corporation Main memory interface for high speed data transfer
US6786420B1 (en) 1997-07-15 2004-09-07 Silverbrook Research Pty. Ltd. Data distribution mechanism in the form of ink dots on cards
US6006345A (en) * 1997-05-09 1999-12-21 International Business Machines Corporation Pattern generator for memory burn-in and test
US6618117B2 (en) 1997-07-12 2003-09-09 Silverbrook Research Pty Ltd Image sensing apparatus including a microcontroller
US7110024B1 (en) 1997-07-15 2006-09-19 Silverbrook Research Pty Ltd Digital camera system having motion deblurring means
US6690419B1 (en) 1997-07-15 2004-02-10 Silverbrook Research Pty Ltd Utilising eye detection methods for image processing in a digital image camera
US6879341B1 (en) 1997-07-15 2005-04-12 Silverbrook Research Pty Ltd Digital camera system containing a VLIW vector processor
US6624848B1 (en) 1997-07-15 2003-09-23 Silverbrook Research Pty Ltd Cascading image modification using multiple digital cameras incorporating image processing
US20040119829A1 (en) 1997-07-15 2004-06-24 Silverbrook Research Pty Ltd Printhead assembly for a print on demand digital camera system
US6333743B1 (en) * 1997-10-23 2001-12-25 Silicon Graphics, Inc. Method and apparatus for providing image and graphics processing using a graphics rendering engine
DE69837138T2 (de) * 1997-12-31 2007-08-16 Texas Instruments Inc., Dallas Unterbrechbare mehrfache Ausfuehrungseinheitverarbeitung waehrend mehrfacher Zuweisung von Register verwendenden Operationen
US5945749A (en) * 1998-06-10 1999-08-31 Westinghouse Air Brake Company On-board electrical power generator operated by vibration or compressed air
US6230177B1 (en) 1998-06-12 2001-05-08 Silicon Graphics, Inc. Method and apparatus for performing fast fourier transforms
KR100662667B1 (ko) * 1998-06-25 2007-01-02 코닌클리케 필립스 일렉트로닉스 엔.브이. 동기 스트림 암호
AUPP702098A0 (en) 1998-11-09 1998-12-03 Silverbrook Research Pty Ltd Image creation method and apparatus (ART73)
US6256683B1 (en) 1998-12-23 2001-07-03 Bops, Inc. Methods and apparatus for providing direct memory access control
US6339808B1 (en) * 1999-01-04 2002-01-15 Advanced Micro Devices, Inc. Address space conversion to retain software compatibility in new architectures
US6295571B1 (en) 1999-03-19 2001-09-25 Times N Systems, Inc. Shared memory apparatus and method for multiprocessor systems
US6181352B1 (en) 1999-03-22 2001-01-30 Nvidia Corporation Graphics pipeline selectively providing multiple pixels or multiple textures
US6263415B1 (en) 1999-04-21 2001-07-17 Hewlett-Packard Co Backup redundant routing system crossbar switch architecture for multi-processor system interconnection networks
US6378029B1 (en) 1999-04-21 2002-04-23 Hewlett-Packard Company Scalable system control unit for distributed shared memory multi-processor systems
US6597692B1 (en) 1999-04-21 2003-07-22 Hewlett-Packard Development, L.P. Scalable, re-configurable crossbar switch architecture for multi-processor system interconnection networks
AUPQ056099A0 (en) 1999-05-25 1999-06-17 Silverbrook Research Pty Ltd A method and apparatus (pprint01)
US6438671B1 (en) * 1999-07-01 2002-08-20 International Business Machines Corporation Generating partition corresponding real address in partitioned mode supporting system
US6779036B1 (en) 1999-07-08 2004-08-17 International Business Machines Corporation Method and apparatus for achieving correct order among bus memory transactions in a physically distributed SMP system
US6442597B1 (en) 1999-07-08 2002-08-27 International Business Machines Corporation Providing global coherence in SMP systems using response combination block coupled to address switch connecting node controllers to memory
US6467012B1 (en) 1999-07-08 2002-10-15 International Business Machines Corporation Method and apparatus using a distributed system structure to support bus-based cache-coherence protocols for symmetric multiprocessors
US6665682B1 (en) * 1999-07-19 2003-12-16 International Business Machines Corporation Performance of table insertion by using multiple tables or multiple threads
US6460120B1 (en) 1999-08-27 2002-10-01 International Business Machines Corporation Network processor, memory organization and methods
US6404752B1 (en) 1999-08-27 2002-06-11 International Business Machines Corporation Network switch using network processor and methods
US7837116B2 (en) 1999-09-07 2010-11-23 American Express Travel Related Services Company, Inc. Transaction card
US7070112B2 (en) * 1999-09-07 2006-07-04 American Express Travel Related Services Company, Inc. Transparent transaction device
US7889052B2 (en) 2001-07-10 2011-02-15 Xatra Fund Mx, Llc Authorizing payment subsequent to RF transactions
US7093767B2 (en) * 1999-09-07 2006-08-22 American Express Travel Related Services Company, Inc. System and method for manufacturing a punch-out RFID transaction device
US7239226B2 (en) 2001-07-10 2007-07-03 American Express Travel Related Services Company, Inc. System and method for payment using radio frequency identification in contact and contactless transactions
US7156301B1 (en) 1999-09-07 2007-01-02 American Express Travel Related Services Company, Inc. Foldable non-traditionally-sized RF transaction card system and method
US7306158B2 (en) 2001-07-10 2007-12-11 American Express Travel Related Services Company, Inc. Clear contactless card
US6591348B1 (en) 1999-09-09 2003-07-08 International Business Machines Corporation Method and system for resolution of transaction collisions to achieve global coherence in a distributed symmetric multiprocessor system
US6725307B1 (en) 1999-09-23 2004-04-20 International Business Machines Corporation Method and system for controlling data transfers with physical separation of data functionality from address and control functionality in a distributed multi-bus multiprocessor system
US6587930B1 (en) 1999-09-23 2003-07-01 International Business Machines Corporation Method and system for implementing remstat protocol under inclusion and non-inclusion of L1 data in L2 cache to prevent read-read deadlock
US6961084B1 (en) 1999-10-07 2005-11-01 Ess Technology, Inc. Programmable image transform processor
US6457085B1 (en) 1999-11-04 2002-09-24 International Business Machines Corporation Method and system for data bus latency reduction using transfer size prediction for split bus designs
US6535941B1 (en) 1999-11-08 2003-03-18 International Business Machines Corporation Method and apparatus for avoiding data bus grant starvation in a non-fair, prioritized arbiter for a split bus system with independent address and data bus grants
US6529990B1 (en) 1999-11-08 2003-03-04 International Business Machines Corporation Method and apparatus to eliminate failed snoops of transactions caused by bus timing conflicts in a distributed symmetric multiprocessor system
US6523076B1 (en) 1999-11-08 2003-02-18 International Business Machines Corporation Method and apparatus for synchronizing multiple bus arbiters on separate chips to give simultaneous grants for the purpose of breaking livelocks
US6516379B1 (en) 1999-11-08 2003-02-04 International Business Machines Corporation Method and apparatus for transaction pacing to reduce destructive interference between successive transactions in a distributed symmetric multiprocessor system
US6606676B1 (en) 1999-11-08 2003-08-12 International Business Machines Corporation Method and apparatus to distribute interrupts to multiple interrupt handlers in a distributed symmetric multiprocessor system
US6684279B1 (en) 1999-11-08 2004-01-27 International Business Machines Corporation Method, apparatus, and computer program product for controlling data transfer
US7529799B2 (en) 1999-11-08 2009-05-05 International Business Machines Corporation Method and apparatus for transaction tag assignment and maintenance in a distributed symmetric multiprocessor system
US6542949B1 (en) 1999-11-08 2003-04-01 International Business Machines Corporation Method and apparatus for increased performance of a parked data bus in the non-parked direction
US7268668B2 (en) * 2003-05-09 2007-09-11 American Express Travel Related Services Company, Inc. Systems and methods for managing multiple accounts on a RF transaction instrument
US8543423B2 (en) 2002-07-16 2013-09-24 American Express Travel Related Services Company, Inc. Method and apparatus for enrolling with multiple transaction environments
US8429041B2 (en) 2003-05-09 2013-04-23 American Express Travel Related Services Company, Inc. Systems and methods for managing account information lifecycles
US7172112B2 (en) 2000-01-21 2007-02-06 American Express Travel Related Services Company, Inc. Public/private dual card system and method
AUPQ542900A0 (en) * 2000-02-04 2000-02-24 Bisinella, Richard Microprocessor
WO2001063416A1 (en) * 2000-02-24 2001-08-30 Bops Incorporated Methods and apparatus for scalable array processor interrupt detection and response
WO2001067355A2 (en) 2000-03-07 2001-09-13 American Express Travel Related Services Company, Inc. System for facilitating a transaction
WO2001069411A2 (en) 2000-03-10 2001-09-20 Arc International Plc Memory interface and method of interfacing between functional entities
US20010056455A1 (en) * 2000-03-17 2001-12-27 Rong Lin Family of low power, regularly structured multipliers and matrix multipliers
GB2362771B (en) * 2000-04-06 2004-05-26 Discreet Logic Inc Network system for image data
US7143185B1 (en) * 2000-08-29 2006-11-28 Advanced Micro Devices, Inc. Method and apparatus for accessing external memories
US8479189B2 (en) 2000-11-17 2013-07-02 Hewlett-Packard Development Company, L.P. Pattern detection preprocessor in an electronic device update generation system
US7409685B2 (en) 2002-04-12 2008-08-05 Hewlett-Packard Development Company, L.P. Initialization and update of software and/or firmware in electronic devices
US7225320B2 (en) * 2000-12-28 2007-05-29 Koninklijke Philips Electronics N.V. Control architecture for a high-throughput multi-processor channel decoding system
US6630964B2 (en) 2000-12-28 2003-10-07 Koninklijke Philips Electronics N.V. Multi-standard channel decoder for real-time digital broadcast reception
US7270273B2 (en) 2001-01-22 2007-09-18 Hand Held Products, Inc. Optical reader having partial frame operating mode
US7268924B2 (en) * 2001-01-22 2007-09-11 Hand Held Products, Inc. Optical reader having reduced parameter determination delay
ATE335246T1 (de) 2001-01-22 2006-08-15 Hand Held Prod Inc Optischer leser mit teilbild-ausschnitt-funktion
US7752419B1 (en) 2001-03-22 2010-07-06 Qst Holdings, Llc Method and system for managing hardware resources to implement system functions using an adaptive computing architecture
GB2374756B (en) * 2001-04-20 2004-07-28 Discreet Logic Inc Image processing
GB2374749B (en) * 2001-04-20 2005-04-06 Discreet Logic Inc Image data processing
GB2374769B (en) 2001-04-20 2004-07-21 Discreet Logic Inc Network system for data processing systems and data storage systems
US7542942B2 (en) 2001-07-10 2009-06-02 American Express Travel Related Services Company, Inc. System and method for securing sensitive information during completion of a transaction
US7725427B2 (en) * 2001-05-25 2010-05-25 Fred Bishop Recurrent billing maintenance with radio frequency payment devices
US7650314B1 (en) 2001-05-25 2010-01-19 American Express Travel Related Services Company, Inc. System and method for securing a recurrent billing transaction
US7312707B1 (en) 2001-07-10 2007-12-25 American Express Travel Related Services Company, Inc. System and method for authenticating a RF transaction using a transaction account routing number
US8001054B1 (en) 2001-07-10 2011-08-16 American Express Travel Related Services Company, Inc. System and method for generating an unpredictable number using a seeded algorithm
US7360689B2 (en) 2001-07-10 2008-04-22 American Express Travel Related Services Company, Inc. Method and system for proffering multiple biometrics for use with a FOB
US7543738B1 (en) 2001-07-10 2009-06-09 American Express Travel Related Services Company, Inc. System and method for secure transactions manageable by a transaction account provider
US9024719B1 (en) 2001-07-10 2015-05-05 Xatra Fund Mx, Llc RF transaction system and method for storing user personal data
US7119659B2 (en) * 2001-07-10 2006-10-10 American Express Travel Related Services Company, Inc. Systems and methods for providing a RF transaction device for use in a private label transaction
US7668750B2 (en) 2001-07-10 2010-02-23 David S Bonalle Securing RF transactions using a transactions counter
US8279042B2 (en) 2001-07-10 2012-10-02 Xatra Fund Mx, Llc Iris scan biometrics on a payment device
US8294552B2 (en) 2001-07-10 2012-10-23 Xatra Fund Mx, Llc Facial scan biometrics on a payment device
US7303120B2 (en) 2001-07-10 2007-12-04 American Express Travel Related Services Company, Inc. System for biometric security using a FOB
US20050033687A1 (en) * 2001-07-10 2005-02-10 American Express Travel Related Services Company, Inc. Method and system for auditory emissions recognition biometrics on a fob
US20040232221A1 (en) * 2001-07-10 2004-11-25 American Express Travel Related Services Company, Inc. Method and system for voice recognition biometrics on a fob
US7249112B2 (en) * 2002-07-09 2007-07-24 American Express Travel Related Services Company, Inc. System and method for assigning a funding source for a radio frequency identification device
US7996324B2 (en) 2001-07-10 2011-08-09 American Express Travel Related Services Company, Inc. Systems and methods for managing multiple accounts on a RF transaction device using secondary identification indicia
US7154375B2 (en) * 2001-07-10 2006-12-26 American Express Travel Related Services Company, Inc. Biometric safeguard method with a fob
US8538863B1 (en) 2001-07-10 2013-09-17 American Express Travel Related Services Company, Inc. System and method for facilitating a transaction using a revolving use account associated with a primary account
US20040257197A1 (en) * 2001-07-10 2004-12-23 American Express Travel Related Services Company, Inc. Method for biometric security using a transponder-reader
US7429927B2 (en) 2001-07-10 2008-09-30 American Express Travel Related Services Company, Inc. System and method for providing and RFID transaction device
US20040233039A1 (en) * 2001-07-10 2004-11-25 American Express Travel Related Services Company, Inc. System for registering a biometric for use with a transponder
US7746215B1 (en) 2001-07-10 2010-06-29 Fred Bishop RF transactions using a wireless reader grid
US20090008441A1 (en) * 2001-07-10 2009-01-08 Xatra Fund Mx, Llc Tracking rf transaction activity using a transaction device identifier
US7705732B2 (en) 2001-07-10 2010-04-27 Fred Bishop Authenticating an RF transaction using a transaction counter
US8960535B2 (en) 2001-07-10 2015-02-24 Iii Holdings 1, Llc Method and system for resource management and evaluation
US20050116810A1 (en) * 2001-07-10 2005-06-02 American Express Travel Related Services Company, Inc. Method and system for vascular pattern recognition biometrics on a fob
US7503480B2 (en) 2001-07-10 2009-03-17 American Express Travel Related Services Company, Inc. Method and system for tracking user performance
US9031880B2 (en) 2001-07-10 2015-05-12 Iii Holdings 1, Llc Systems and methods for non-traditional payment using biometric data
US7827106B2 (en) 2001-07-10 2010-11-02 American Express Travel Related Services Company, Inc. System and method for manufacturing a punch-out RFID transaction device
US9454752B2 (en) 2001-07-10 2016-09-27 Chartoleaux Kg Limited Liability Company Reload protocol at a transaction processing entity
US7463133B2 (en) * 2001-07-10 2008-12-09 American Express Travel Related Services Company, Inc. Systems and methods for providing a RF transaction device operable to store multiple distinct calling card accounts
US20040232222A1 (en) * 2001-07-10 2004-11-25 American Express Travel Related Services Company, Inc. Method and system for signature recognition biometrics on a fob
US20040239481A1 (en) * 2001-07-10 2004-12-02 American Express Travel Related Services Company, Inc. Method and system for facial recognition biometrics on a fob
US20040238621A1 (en) * 2001-07-10 2004-12-02 American Express Travel Related Services Company, Inc. Method and system for fingerprint biometrics on a fob
US8548927B2 (en) 2001-07-10 2013-10-01 Xatra Fund Mx, Llc Biometric registration for facilitating an RF transaction
US20040239480A1 (en) * 2001-07-10 2004-12-02 American Express Travel Related Services Company, Inc. Method for biometric security using a transponder
US20040232224A1 (en) * 2001-07-10 2004-11-25 American Express Travel Related Services Company, Inc. Method for registering biometric for use with a fob
US20040236700A1 (en) * 2001-07-10 2004-11-25 American Express Travel Related Services Company, Inc. Method and system for keystroke scan recognition biometrics on a fob
US7121471B2 (en) * 2001-07-10 2006-10-17 American Express Travel Related Services Company, Inc. Method and system for DNA recognition biometrics on a fob
US20050160003A1 (en) * 2001-07-10 2005-07-21 American Express Travel Related Services Company, Inc. System and method for incenting rfid transaction device usage at a merchant location
US7805378B2 (en) * 2001-07-10 2010-09-28 American Express Travel Related Servicex Company, Inc. System and method for encoding information in magnetic stripe format for use in radio frequency identification transactions
US7059531B2 (en) * 2001-07-10 2006-06-13 American Express Travel Related Services Company, Inc. Method and system for smellprint recognition biometrics on a fob
US8635131B1 (en) 2001-07-10 2014-01-21 American Express Travel Related Services Company, Inc. System and method for managing a transaction protocol
US7762457B2 (en) * 2001-07-10 2010-07-27 American Express Travel Related Services Company, Inc. System and method for dynamic fob synchronization and personalization
US20040233038A1 (en) * 2001-07-10 2004-11-25 American Express Travel Related Services Company, Inc. Method and system for retinal scan recognition biometrics on a fob
US7925535B2 (en) * 2001-07-10 2011-04-12 American Express Travel Related Services Company, Inc. System and method for securing RF transactions using a radio frequency identification device including a random number generator
US20040236699A1 (en) 2001-07-10 2004-11-25 American Express Travel Related Services Company, Inc. Method and system for hand geometry recognition biometrics on a fob
US7228155B2 (en) * 2001-07-10 2007-06-05 American Express Travel Related Services Company, Inc. System and method for remotely initializing a RF transaction
US7493288B2 (en) * 2001-07-10 2009-02-17 Xatra Fund Mx, Llc RF payment via a mobile device
US20040233037A1 (en) * 2001-07-10 2004-11-25 American Express Travel Related Services Company, Inc. Method and system for iris scan recognition biometrics on a fob
US7331523B2 (en) 2001-07-13 2008-02-19 Hand Held Products, Inc. Adaptive optical image reader
US7382787B1 (en) 2001-07-30 2008-06-03 Cisco Technology, Inc. Packet routing and switching device
US7676588B2 (en) * 2001-10-05 2010-03-09 International Business Machines Corporation Programmable network protocol handler architecture
JP2003196251A (ja) * 2001-12-27 2003-07-11 Denso Corp マルチcpuシステム
US8386727B2 (en) * 2001-12-31 2013-02-26 Hewlett-Packard Development Company, L.P. Supporting interleaved read/write operations from/to multiple target devices
US7710991B1 (en) 2002-06-20 2010-05-04 Cisco Technology, Inc. Scalable packet routing and switching device and method
US7525904B1 (en) 2002-06-20 2009-04-28 Cisco Technology, Inc. Redundant packet routing and switching device and method
US7450438B1 (en) * 2002-06-20 2008-11-11 Cisco Technology, Inc. Crossbar apparatus for a forwarding table memory in a router
US7587756B2 (en) * 2002-07-09 2009-09-08 American Express Travel Related Services Company, Inc. Methods and apparatus for a secure proximity integrated circuit card transactions
US6805287B2 (en) 2002-09-12 2004-10-19 American Express Travel Related Services Company, Inc. System and method for converting a stored value card to a credit card
US7334086B2 (en) * 2002-10-08 2008-02-19 Rmi Corporation Advanced processor with system on a chip interconnect technology
US7536476B1 (en) 2002-12-20 2009-05-19 Cisco Technology, Inc. Method for performing tree based ACL lookups
WO2004066091A2 (en) * 2003-01-21 2004-08-05 Bitfone Corporation Update system capable of updating software across multiple flash chips
US7103734B1 (en) * 2003-04-28 2006-09-05 Advanced Micro Devices, Inc. System and method for identifying empty locations in a scrambled memory
US7268667B2 (en) * 2003-05-09 2007-09-11 American Express Travel Related Services Company, Inc. Systems and methods for providing a RF transaction device operable to store multiple distinct accounts
JP4363081B2 (ja) * 2003-05-22 2009-11-11 ソニー株式会社 メモリアクセス制御装置およびこれを有する演算システム
US7157934B2 (en) * 2003-08-19 2007-01-02 Cornell Research Foundation, Inc. Programmable asynchronous pipeline arrays
US8555273B1 (en) 2003-09-17 2013-10-08 Palm. Inc. Network for updating electronic devices
US7114055B1 (en) * 2003-09-29 2006-09-26 Xilinx, Inc. Reduced instruction set computer architecture with duplication of bit values from an immediate field of an instruction multiple times in a data word
US7840627B2 (en) * 2003-12-29 2010-11-23 Xilinx, Inc. Digital signal processing circuit having input register blocks
US7853632B2 (en) * 2003-12-29 2010-12-14 Xilinx, Inc. Architectural floorplan for a digital signal processing circuit
US7865542B2 (en) 2003-12-29 2011-01-04 Xilinx, Inc. Digital signal processing block having a wide multiplexer
US7853636B2 (en) * 2003-12-29 2010-12-14 Xilinx, Inc. Digital signal processing circuit having a pattern detector circuit for convergent rounding
US7840630B2 (en) * 2003-12-29 2010-11-23 Xilinx, Inc. Arithmetic logic unit circuit
US7849119B2 (en) * 2003-12-29 2010-12-07 Xilinx, Inc. Digital signal processing circuit having a pattern detector circuit
US7870182B2 (en) * 2003-12-29 2011-01-11 Xilinx Inc. Digital signal processing circuit having an adder circuit with carry-outs
US7882165B2 (en) 2003-12-29 2011-02-01 Xilinx, Inc. Digital signal processing element having an arithmetic logic unit
US7860915B2 (en) 2003-12-29 2010-12-28 Xilinx, Inc. Digital signal processing circuit having a pattern circuit for determining termination conditions
US7853634B2 (en) * 2003-12-29 2010-12-14 Xilinx, Inc. Digital signal processing circuit having a SIMD circuit
US7844653B2 (en) * 2003-12-29 2010-11-30 Xilinx, Inc. Digital signal processing circuit having a pre-adder circuit
US20050228966A1 (en) * 2004-03-16 2005-10-13 Kabushiki Kaisha Toshiba Processor system and data processing method
US7904895B1 (en) 2004-04-21 2011-03-08 Hewlett-Packard Develpment Company, L.P. Firmware update in electronic devices employing update agent in a flash memory card
JP2006018412A (ja) * 2004-06-30 2006-01-19 Fujitsu Ltd アドレス生成器および演算回路
US7318550B2 (en) 2004-07-01 2008-01-15 American Express Travel Related Services Company, Inc. Biometric safeguard method for use with a smartcard
US7314165B2 (en) 2004-07-01 2008-01-01 American Express Travel Related Services Company, Inc. Method and system for smellprint recognition biometrics on a smartcard
US8526940B1 (en) 2004-08-17 2013-09-03 Palm, Inc. Centralized rules repository for smart phone customer care
US7890735B2 (en) * 2004-08-30 2011-02-15 Texas Instruments Incorporated Multi-threading processors, integrated circuit devices, systems, and processes of operation and manufacture
US8049594B1 (en) 2004-11-30 2011-11-01 Xatra Fund Mx, Llc Enhanced RFID instrument security
US20060149923A1 (en) * 2004-12-08 2006-07-06 Staktek Group L.P. Microprocessor optimized for algorithmic processing
US7889712B2 (en) 2004-12-23 2011-02-15 Cisco Technology, Inc. Methods and apparatus for providing loop free routing tables
US20060171233A1 (en) * 2005-01-18 2006-08-03 Khaled Fekih-Romdhane Near pad ordering logic
KR100722428B1 (ko) * 2005-02-07 2007-05-29 재단법인서울대학교산학협력재단 리소스 공유 및 파이프 라이닝 구성을 갖는 재구성가능배열구조
US7302525B2 (en) * 2005-02-11 2007-11-27 International Business Machines Corporation Method and apparatus for efficiently accessing both aligned and unaligned data from a memory
NZ563047A (en) * 2005-04-05 2011-02-25 Sunfish Studio Inc Modal interval processor
US7720670B2 (en) * 2005-05-16 2010-05-18 Texas Instruments Incorporated Saving resources by deducing the total prediction events
US7676537B2 (en) * 2005-09-27 2010-03-09 Micrel, Inc. Address generation method for combining multiple selection results
US7587577B2 (en) * 2005-11-14 2009-09-08 Texas Instruments Incorporated Pipelined access by FFT and filter units in co-processor and system bus slave to memory blocks via switch coupling based on control register content
US7533244B2 (en) * 2006-05-09 2009-05-12 Le Nguyen Tran Network-on-chip dataflow architecture
US8209676B2 (en) 2006-06-08 2012-06-26 Hewlett-Packard Development Company, L.P. Device management in a network
US7730280B2 (en) * 2006-06-15 2010-06-01 Vicore Technologies, Inc. Methods and apparatus for independent processor node operations in a SIMD array processor
US7849125B2 (en) 2006-07-07 2010-12-07 Via Telecom Co., Ltd Efficient computation of the modulo operation based on divisor (2n-1)
US8752044B2 (en) 2006-07-27 2014-06-10 Qualcomm Incorporated User experience and dependency management in a mobile device
DE102006035610B4 (de) * 2006-07-31 2012-10-11 Infineon Technologies Ag Speicherzugriffssteuerung und Verfahren zur Speicherzugriffssteuerung
US20080059687A1 (en) * 2006-08-31 2008-03-06 Peter Mayer System and method of connecting a processing unit with a memory unit
JP5076418B2 (ja) * 2006-09-19 2012-11-21 ソニー株式会社 共有メモリ装置
US7870395B2 (en) * 2006-10-20 2011-01-11 International Business Machines Corporation Load balancing for a system of cryptographic processors
US7809926B2 (en) * 2006-11-03 2010-10-05 Cornell Research Foundation, Inc. Systems and methods for reconfiguring on-chip multiprocessors
US7890559B2 (en) * 2006-12-22 2011-02-15 International Business Machines Corporation Forward shifting of processor element processing for load balancing
US7852519B2 (en) 2007-02-05 2010-12-14 Hand Held Products, Inc. Dual-tasking decoder for improved symbol reading
JP2008204356A (ja) * 2007-02-22 2008-09-04 Fujitsu Ltd リコンフィギャラブル回路
US7870366B2 (en) * 2007-09-22 2011-01-11 Hirak Mitra Chained operation of functional components with DONE and GO registers storing memory address for writing and reading linking signal value
US8359462B1 (en) 2007-11-21 2013-01-22 Marvell International Ltd. Method and apparatus for programmable coupling between CPU and co-processor
US8078833B2 (en) * 2008-05-29 2011-12-13 Axis Semiconductor, Inc. Microprocessor with highly configurable pipeline and executional unit internal hierarchal structures, optimizable for different types of computational functions
JP2010015296A (ja) * 2008-07-02 2010-01-21 Seiko Epson Corp マルチプロセッサシステム及びそれを搭載した流体吐出装置
US8755515B1 (en) 2008-09-29 2014-06-17 Wai Wu Parallel signal processing system and method
US8628015B2 (en) 2008-10-31 2014-01-14 Hand Held Products, Inc. Indicia reading terminal including frame quality evaluation processing
US8543635B2 (en) * 2009-01-27 2013-09-24 Xilinx, Inc. Digital signal processing block with preadder stage
US8479133B2 (en) * 2009-01-27 2013-07-02 Xilinx, Inc. Method of and circuit for implementing a filter in an integrated circuit
US8587595B2 (en) 2009-10-01 2013-11-19 Hand Held Products, Inc. Low power multi-core decoder system and method
JP2011223273A (ja) * 2010-04-08 2011-11-04 Sony Corp 画像処理装置、画像処理方法および画像処理システム
US9324126B2 (en) 2012-03-20 2016-04-26 Massively Parallel Technologies, Inc. Automated latency management and cross-communication exchange conversion
US9201828B2 (en) 2012-10-23 2015-12-01 Analog Devices, Inc. Memory interconnect network architecture for vector processor
US9342306B2 (en) 2012-10-23 2016-05-17 Analog Devices Global Predicate counter
US9092429B2 (en) 2012-10-23 2015-07-28 Analog Devices Global DMA vector buffer
WO2014110600A1 (en) * 2013-01-14 2014-07-17 Massively Parallel Technologies, Inc. Automated latency management and cross-communication exchange conversion
JP2014199591A (ja) * 2013-03-29 2014-10-23 株式会社東芝 記憶装置制御システム、記憶装置制御装置及びプログラム
WO2015035306A1 (en) * 2013-09-06 2015-03-12 Huawei Technologies Co., Ltd. System and method for an asynchronous processor with token-based very long instruction word architecture
WO2015035339A1 (en) * 2013-09-06 2015-03-12 Huawei Technologies Co., Ltd. System and method for an asynchronous processor with heterogeneous processors
US9417816B2 (en) * 2014-01-02 2016-08-16 Advanced Micro Devices, Inc. Partitionable memory interfaces
US9921848B2 (en) 2014-03-27 2018-03-20 International Business Machines Corporation Address expansion and contraction in a multithreading computer system
US10102004B2 (en) 2014-03-27 2018-10-16 International Business Machines Corporation Hardware counters to track utilization in a multithreading computer system
US10180829B2 (en) * 2015-12-15 2019-01-15 Nxp Usa, Inc. System and method for modulo addressing vectorization with invariant code motion
CN108268931B (zh) * 2016-12-30 2022-10-25 华为技术有限公司 数据处理的方法、装置和系统
GB201717295D0 (en) * 2017-10-20 2017-12-06 Graphcore Ltd Synchronization in a multi-tile processing array
CN109683959B (zh) * 2018-12-24 2020-12-01 安谋科技(中国)有限公司 处理器的指令执行方法及其处理器
US10565036B1 (en) 2019-02-14 2020-02-18 Axis Semiconductor, Inc. Method of synchronizing host and coprocessor operations via FIFO communication
US11113028B2 (en) * 2019-07-25 2021-09-07 Arm Limited Apparatus and method for performing an index operation
GB2586277B (en) * 2019-08-16 2022-11-23 Siemens Ind Software Inc Broadcasting event messages in a system on chip
KR102246854B1 (ko) * 2019-09-27 2021-04-30 서울대학교산학협력단 매트릭스 스위치 및 이를 이용한 전력변환장치
RU199929U1 (ru) * 2019-12-31 2020-09-29 Федеральное государственное бюджетное образовательное учреждение высшего образования «Московский государственный университет геодезии и картографии» Устройство для обработки потоков пространственно-временных данных в режиме реального времени
CN114817120A (zh) * 2022-06-29 2022-07-29 湖北芯擎科技有限公司 一种跨域数据共享方法、系统级芯片、电子设备及介质

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3581286A (en) * 1969-01-13 1971-05-25 Ibm Module switching apparatus with status sensing and dynamic sharing of modules
US3596257A (en) * 1969-09-17 1971-07-27 Burroughs Corp Method and apparatus for allocating small memory spaces to a computer program
US3651473A (en) * 1970-03-27 1972-03-21 Burroughs Corp Expandable interlock exchange for multiprocessing systems
GB1394431A (en) * 1971-06-24 1975-05-14 Plessey Co Ltd Multiprocessor data processing system
FR122199A (ja) * 1973-12-17
US4058316A (en) * 1976-11-17 1977-11-15 The Seeburg Corporation Electronic control and test circuit for pinball type games
JPS53124943A (en) * 1977-04-08 1978-10-31 Agency Of Ind Science & Technol Composite information processor
US4293907A (en) * 1978-12-29 1981-10-06 Bell Telephone Laboratories, Incorporated Data processing apparatus having op-code extension register
DE3015125A1 (de) * 1980-04-19 1981-10-22 Ibm Deutschland Gmbh, 7000 Stuttgart Einrichtung zur speicherung und darstellung graphischer information
US4412286A (en) * 1980-09-25 1983-10-25 Dowd Brendan O Tightly coupled multiple instruction multiple data computer system
US4562535A (en) * 1982-04-05 1985-12-31 Texas Instruments Incorporated Self-configuring digital processor system with global system
US4644496A (en) * 1983-01-11 1987-02-17 Iowa State University Research Foundation, Inc. Apparatus, methods, and systems for computer information transfer
JPS6057467A (ja) * 1983-09-09 1985-04-03 Nec Corp ベクトルデ−タ処理装置
US4633245A (en) * 1983-12-30 1986-12-30 International Business Machines Corporation Local area network interconnect switching system
US4747043A (en) * 1984-02-10 1988-05-24 Prime Computer, Inc. Multiprocessor cache coherence system
US4779210A (en) * 1984-05-02 1988-10-18 Hitachi Engineering, Co. Ltd. Graphic processing apparatus
FR2573888B1 (fr) * 1984-11-23 1987-01-16 Sintra Systeme pour la transmission simultanee de blocs de donnees ou de vecteurs entre une memoire et une ou plusieurs unites de traitement de donnees
US5247689A (en) * 1985-02-25 1993-09-21 Ewert Alfred P Parallel digital processor including lateral transfer buses with interrupt switches to form bus interconnection segments
US4742479A (en) * 1985-03-25 1988-05-03 Motorola, Inc. Modulo arithmetic unit having arbitrary offset and modulo values
US4794517A (en) * 1985-04-15 1988-12-27 International Business Machines Corporation Three phased pipelined signal processor
US4811210A (en) * 1985-11-27 1989-03-07 Texas Instruments Incorporated A plurality of optical crossbar switches and exchange switches for parallel processor computer
US4933878A (en) * 1988-07-07 1990-06-12 Texas Instruments Incorporated Graphics data processing apparatus having non-linear saturating operations on multibit color data
US4935867A (en) * 1986-03-04 1990-06-19 Advanced Micro Devices, Inc. Signal processor memory management unit with indirect addressing using selectable offsets and modulo values for indexed address calculations
SE451219B (sv) * 1986-03-05 1987-09-14 Stiftelsen Inst Mikrovags Dataanordning fremst avsedd for exekvering av program i form av soktred, s k or parallel execution
CA1254982A (en) * 1986-05-14 1989-05-30 Northern Telecom Limited Method of and switch for switching information
US4807184A (en) * 1986-08-11 1989-02-21 Ltv Aerospace Modular multiple processor architecture using distributed cross-point switch
US5123101A (en) * 1986-11-12 1992-06-16 Xerox Corporation Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss
US5230045A (en) * 1986-11-12 1993-07-20 Xerox Corporation Multiple address space system including address translator for receiving virtual addresses from bus and providing real addresses on the bus
US4891787A (en) * 1986-12-17 1990-01-02 Massachusetts Institute Of Technology Parallel processing system with processor array having SIMD/MIMD instruction processing
EP0350478B1 (de) * 1987-03-19 1993-11-03 Siemens Aktiengesellschaft Verfahren zum betrieb einer multiprozessor-zentralsteuereinheit eines vermittlungssystemes
WO1988008167A1 (en) * 1987-04-06 1988-10-20 Lee Data Corporation Parallel networking architecture
US4834483A (en) * 1987-05-06 1989-05-30 Bell Communications Research, Inc. Fast optical cross-connect for parallel processing computers
US4852083A (en) * 1987-06-22 1989-07-25 Texas Instruments Incorporated Digital crossbar switch
US4833602A (en) * 1987-06-29 1989-05-23 International Business Machines Corporation Signal generator using modulo means
US4799187A (en) * 1987-07-30 1989-01-17 Wang Laboratories, Inc. Memory address generator with device address type specifier
US4985848A (en) * 1987-09-14 1991-01-15 Visual Information Technologies, Inc. High speed image processing system using separate data processor and address generator
US4901360A (en) * 1987-10-23 1990-02-13 Hughes Aircraft Company Gated architecture for computer vision machine
US5081575A (en) * 1987-11-06 1992-01-14 Oryx Corporation Highly parallel computer architecture employing crossbar switch with selectable pipeline delay
US4991084A (en) * 1988-02-05 1991-02-05 International Business Machines Corporation N×M round robin order arbitrating switching matrix system
US4949280A (en) * 1988-05-10 1990-08-14 Battelle Memorial Institute Parallel processor-based raster graphics system architecture
US5032985A (en) * 1988-07-21 1991-07-16 International Business Machines Corporation Multiprocessor system with memory fetch buffer invoked during cross-interrogation
US4989131A (en) * 1988-07-26 1991-01-29 International Business Machines Corporation Technique for parallel synchronization
US4985830A (en) * 1988-09-27 1991-01-15 Universities Research Association, Inc. Interprocessor bus switching system for simultaneous communication in plural bus parallel processing system
US4905141A (en) * 1988-10-25 1990-02-27 International Business Machines Corporation Partitioned cache memory with partition look-aside table (PLAT) for early partition assignment identification
US5041971A (en) * 1988-11-30 1991-08-20 Bolt Beranek And Newman Inc. Memory accessing switch network
US4973956A (en) * 1988-12-22 1990-11-27 General Electric Company Crossbar switch with distributed memory
US4984213A (en) * 1989-02-21 1991-01-08 Compaq Computer Corporation Memory block address determination circuit
US5025407A (en) * 1989-07-28 1991-06-18 Texas Instruments Incorporated Graphics floating point coprocessor having matrix capabilities
DE68928980T2 (de) * 1989-11-17 1999-08-19 Texas Instruments Inc. Multiprozessor mit Koordinatenschalter zwischen Prozessoren und Speichern
DE69133251T2 (de) * 1990-06-07 2004-01-15 Lg Electronics Inc Verfahren und gerät zur verwaltung von speicherzugriffen auf seite null in einem mehrprozessorsystem
US5490264A (en) * 1993-09-30 1996-02-06 Intel Corporation Generally-diagonal mapping of address space for row/column organizer memories

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03206547A (ja) * 1990-01-09 1991-09-09 Nissan Motor Co Ltd クロスバーネットワーク装置
JP2003036169A (ja) * 2001-07-25 2003-02-07 Nec Software Tohoku Ltd 複数の小規模プロセッサによって並列処理を行なうシングルチップマイクロプロセッサ
US7483033B2 (en) 2003-04-30 2009-01-27 Yamaha Corporation Storage device
JP2010541088A (ja) * 2007-10-06 2010-12-24 アクシス セミコンダクター インコーポレイテッド リアルタイム信号処理のための方法及び装置
JP2011525008A (ja) * 2008-05-29 2011-09-08 アクシス・セミコンダクター・インコーポレーテッド リアルタイムデータ処理のための方法&装置
JP2010092285A (ja) * 2008-10-08 2010-04-22 Hitachi Ltd ストレージシステム
US8719551B2 (en) 2009-04-22 2014-05-06 Panasonic Corporation Processor with arbiter sending simultaneously requested instructions from processing elements in SIMD / MIMD modes
JP2016038690A (ja) * 2014-08-07 2016-03-22 ルネサスエレクトロニクス株式会社 データ処理装置
JP2016038829A (ja) * 2014-08-11 2016-03-22 大日本印刷株式会社 電子情報記録媒体、プロセッサモジュールの動作制御方法、及びプロセッサモジュールの動作制御プログラム
JP2019194583A (ja) * 2018-05-03 2019-11-07 インフィニオン テクノロジーズ アクチエンゲゼルシャフトInfineon Technologies AG レーダ信号の処理
JP2021005355A (ja) * 2019-06-26 2021-01-14 ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド ループ命令集合を処理するための方法、装置、機器及び記憶媒体

Also Published As

Publication number Publication date
US5592405A (en) 1997-01-07
EP0429733A2 (en) 1991-06-05
KR0172595B1 (ko) 1999-03-30
US5696913A (en) 1997-12-09
KR910010336A (ko) 1991-06-29
EP0429733A3 (en) 1993-03-03
DE68928980T2 (de) 1999-08-19
DE68928980D1 (de) 1999-06-02
JP3026984B2 (ja) 2000-03-27
US5471592A (en) 1995-11-28
EP0429733B1 (en) 1999-04-28
US5606520A (en) 1997-02-25

Similar Documents

Publication Publication Date Title
JPH03211656A (ja) マルチプロセッサシステム
US5239654A (en) Dual mode SIMD/MIMD processor providing reuse of MIMD instruction memories as data memories when operating in SIMD mode
US5768609A (en) Reduced area of crossbar and method of operation
US5933624A (en) Synchronized MIMD multi-processing system and method inhibiting instruction fetch at other processors while one processor services an interrupt
US5410649A (en) Imaging computer system and network
US5212777A (en) Multi-processor reconfigurable in single instruction multiple data (SIMD) and multiple instruction multiple data (MIMD) modes and method of operation
US5613146A (en) Reconfigurable SIMD/MIMD processor using switch matrix to allow access to a parameter memory by any of the plurality of processors
US5197140A (en) Sliced addressing multi-processor and method of operation
US5339447A (en) Ones counting circuit, utilizing a matrix of interconnected half-adders, for counting the number of ones in a binary string of image data
US6948050B1 (en) Single integrated circuit embodying a dual heterogenous processors with separate instruction handling hardware
US5226125A (en) Switch matrix having integrated crosspoint logic and method of operation
EP3400688B1 (en) Massively parallel computer, accelerated computing clusters, and two dimensional router and interconnection network for field programmable gate arrays, and applications
US20250028676A1 (en) Distributed graphics processor unit architecture
JP2710536B2 (ja) コンピュータ・システム
US20230289242A1 (en) Hardware accelerated synchronization with asynchronous transaction support
Page Reconfigurable processor architectures
JPH0228864A (ja) マルチプロセッサ・サブシステム
KR20010031192A (ko) 기계시각시스템에서의 영상데이터와 같은 논리적으로인접한 데이터샘플들을 위한 데이터처리시스템
CN116724292A (zh) 线程组的并行处理
Tumeo et al. An interrupt controller for FPGA-based multiprocessors
Nudd et al. Hierarchical multiple-SIMD architecture for image analysis
JP2579419B2 (ja) マルチプロセッサ・メモリ・システム
Prengler et al. A reconfigurable simd-mimd processor architecture for embedded vision processing applications
Briggs et al. A Shared-Resource Multiple Microprocessor System for Pattern Recognition and Image Processing
Dillen et al. Parallel filtering and thresholding of images on the SIMD DSP-RAM architecture

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090128

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees