JPH0415764A - 画像処理装置 - Google Patents
画像処理装置Info
- Publication number
- JPH0415764A JPH0415764A JP11182890A JP11182890A JPH0415764A JP H0415764 A JPH0415764 A JP H0415764A JP 11182890 A JP11182890 A JP 11182890A JP 11182890 A JP11182890 A JP 11182890A JP H0415764 A JPH0415764 A JP H0415764A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- processor
- data
- bus
- signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000015654 memory Effects 0.000 claims abstract description 276
- 238000004364 calculation method Methods 0.000 claims description 55
- 238000004891 communication Methods 0.000 claims description 50
- 238000000034 method Methods 0.000 abstract description 83
- 239000000872 buffer Substances 0.000 description 52
- 238000010586 diagram Methods 0.000 description 32
- 230000002457 bidirectional effect Effects 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 238000003672 processing method Methods 0.000 description 5
- 230000001934 delay Effects 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- GVBNSPFBYXGREE-UHFFFAOYSA-N Visnadine Natural products C1=CC(=O)OC2=C1C=CC1=C2C(OC(C)=O)C(OC(=O)C(C)CC)C(C)(C)O1 GVBNSPFBYXGREE-UHFFFAOYSA-N 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 229910017435 S2 In Inorganic materials 0.000 description 1
- 125000001246 bromo group Chemical group Br* 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Landscapes
- Image Processing (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野]
本発明は、複数のメモリブロックからなる画像メモリに
記憶されている画像データを、複数の演算要素により各
メモリブロック単位で独立して同時に並行処理できる画
像処理装置に関するものである。
記憶されている画像データを、複数の演算要素により各
メモリブロック単位で独立して同時に並行処理できる画
像処理装置に関するものである。
[従来の技術]
一般に、画像データは文書データ等に比べて大量の情報
量を含むため、このような画像データを処理する画像処
理装置では、画像データの数値計算等のために大きな演
算能力が要求される。このため、従来より、画像処理に
内在する空間的、時間的な並列性を有効に活用すること
により、演算の効率を上げることを目的とした種々の画
像処理装置が提案されている。
量を含むため、このような画像データを処理する画像処
理装置では、画像データの数値計算等のために大きな演
算能力が要求される。このため、従来より、画像処理に
内在する空間的、時間的な並列性を有効に活用すること
により、演算の効率を上げることを目的とした種々の画
像処理装置が提案されている。
「情報処理J (Vol、28.No、1 、 pp
、 19〜26)によれば、これら画像処理装置におい
て採用されている基本方式を、以下の4つに分類してい
る。
、 19〜26)によれば、これら画像処理装置におい
て採用されている基本方式を、以下の4つに分類してい
る。
(1)完全並列処理方式
演算要素を画素対応に2次元状に配置して、同時に全画
素を処理する方式である。通常、データ転送のため、演
算要素は隣接する演算要素と互いに接続されている。
素を処理する方式である。通常、データ転送のため、演
算要素は隣接する演算要素と互いに接続されている。
(2)局所並列処理方式
画像データの局所性を利用して各画素を処理して、この
処理を全画素に対し、順々に施していく方式である。例
えば、注目画素と、その画素の縦・横・斜方向に隣接す
る8画素よりなる合計9画素(注目画素を中心とした縦
・横各3画素よりなる画素マトリクス領域で、これを窓
と呼ぶ)を用いて、空間フィルタリングを行なう場合で
は、この窓を1画素列づつ右にずらしながら画像全体に
対する処理を進めてゆくものである。
処理を全画素に対し、順々に施していく方式である。例
えば、注目画素と、その画素の縦・横・斜方向に隣接す
る8画素よりなる合計9画素(注目画素を中心とした縦
・横各3画素よりなる画素マトリクス領域で、これを窓
と呼ぶ)を用いて、空間フィルタリングを行なう場合で
は、この窓を1画素列づつ右にずらしながら画像全体に
対する処理を進めてゆくものである。
(3)パイプライン方式
画像データの基本的な処理を行なう演算器を直列に接続
してバイブラインを形成し、このバイブラインの中を次
々と画素を転送してい(ことにより処理を進める方式で
ある。
してバイブラインを形成し、このバイブラインの中を次
々と画素を転送してい(ことにより処理を進める方式で
ある。
(4)マルチプロセッサ方式
複数の演算モジュールあるいは汎用のプロセッサを結合
したマルチプロセッサ型のシステムである。
したマルチプロセッサ型のシステムである。
[発明が解決しようとする課題]
しかしながら、上記従来例では以下に述べるような問題
がある。
がある。
まず、(1)の完全並列処理方式では、同時に全画素を
処理するため、画素数分の演算要素が必要となる。この
ため、装置全体が大規模化しがちである。このような大
規模化を避けようとするには演算要素を簡素化する必要
があり、これにより扱える画像演算が特定されたり、プ
ログラミングが複雑になるといった不具合がある。さら
に、各演算要素に各画素を分配するためのオーバヘッド
も大きくなる。
処理するため、画素数分の演算要素が必要となる。この
ため、装置全体が大規模化しがちである。このような大
規模化を避けようとするには演算要素を簡素化する必要
があり、これにより扱える画像演算が特定されたり、プ
ログラミングが複雑になるといった不具合がある。さら
に、各演算要素に各画素を分配するためのオーバヘッド
も大きくなる。
(2)の局所並列処理方式に於いては、実行できる処理
が予めハードウェアの構成により決まってしまうため、
画像処理に対する柔軟性が乏しいという欠点がある。
が予めハードウェアの構成により決まってしまうため、
画像処理に対する柔軟性が乏しいという欠点がある。
(3)のバイブライン処理方式では、演算器が構成する
バイブラインの流れに従わないような画像処理は実行で
きないなどの、柔軟性に乏しいという欠点がある。
バイブラインの流れに従わないような画像処理は実行で
きないなどの、柔軟性に乏しいという欠点がある。
上述したように、(1)〜(3)の方式では、ハードウ
ェアレベルが特定の画像処理用に定められたものである
ため、画像処理内容に柔軟性が乏しいという欠点がある
。
ェアレベルが特定の画像処理用に定められたものである
ため、画像処理内容に柔軟性が乏しいという欠点がある
。
(4)のマルチプロセッサ方式では、汎用のプロセッサ
や、任意のプログラム可能な複数の演算モジュールを複
数結合して構成されており、扱える処理内容には柔軟性
が高い。しかし、このマルチプロセッサ方式においても
、以下に述べる観点から問題が残る。即ち、画像処理の
アプリケーション分野により、扱う画像のサイズ(画素
数)はまちまちである。例えば、TV画像であれば51
2x512程度の画素数で十分であるが、電子出版等の
プリントであれば、4096X4096程度の画素数が
要求される。更に、印刷用の版下を作成する場合であれ
ば、更に大きな画素数をもった画像サイズに対応するこ
とが望まれる。加えて、モニタ用のデイスプレィの画像
サイズを、処理する画像データサイズとは独立して設定
できることが望ましい。
や、任意のプログラム可能な複数の演算モジュールを複
数結合して構成されており、扱える処理内容には柔軟性
が高い。しかし、このマルチプロセッサ方式においても
、以下に述べる観点から問題が残る。即ち、画像処理の
アプリケーション分野により、扱う画像のサイズ(画素
数)はまちまちである。例えば、TV画像であれば51
2x512程度の画素数で十分であるが、電子出版等の
プリントであれば、4096X4096程度の画素数が
要求される。更に、印刷用の版下を作成する場合であれ
ば、更に大きな画素数をもった画像サイズに対応するこ
とが望まれる。加えて、モニタ用のデイスプレィの画像
サイズを、処理する画像データサイズとは独立して設定
できることが望ましい。
また、画像演算の処理スピードに関しても、フライト・
シミュレータの様なリアルタイム性を要求されるものか
ら、電子出版の如く対話的な処理で人間がいらだたない
程度の時間に間に合えばよいもののように多少差がある
。また、演算の種類に応じて、アクセス可能な画像デー
タの領域が可変であることも望ましい。
シミュレータの様なリアルタイム性を要求されるものか
ら、電子出版の如く対話的な処理で人間がいらだたない
程度の時間に間に合えばよいもののように多少差がある
。また、演算の種類に応じて、アクセス可能な画像デー
タの領域が可変であることも望ましい。
以上述べてきた議論の如(、画像処理装置は、そのアプ
リケーション分野により、 1、処理できる画像サイズ。
リケーション分野により、 1、処理できる画像サイズ。
2、演算能力と演算要素数。
3、処理できる画像サイズと独立して可変できるモニタ
用の画像サイズ。
用の画像サイズ。
4、各演算要素からアクセスできる画像データ領域等が
、自由に設定できるものであることが望ましい。
、自由に設定できるものであることが望ましい。
また、扱える処理内容には柔軟性の高い前述のマルチプ
ロセッサ方式においても、上述1〜4の観点から見ると
その構成には不満があった。
ロセッサ方式においても、上述1〜4の観点から見ると
その構成には不満があった。
本発明は上記従来例に鑑みてなされたもので、プログラ
マブルな複数の演算要素により、メモリに記憶されてい
る画像データを、メモリブロック単位に並列に処理でき
る画像処理装置を提供することを目的とする。
マブルな複数の演算要素により、メモリに記憶されてい
る画像データを、メモリブロック単位に並列に処理でき
る画像処理装置を提供することを目的とする。
[課題を解決するための手段]
上記目的を達成するために本発明の画像処理装置は以下
の様な構成からなる。即ち、 プログラム可能な複数の演算要素と、前記演算要素同士
を接続する交信手段と、複数のメモリブロックに分割さ
れ、前記メモリブロックのそれぞれは前記演算要素のそ
れぞれより独立してアクセス可能な画像メモリ手段と、
前記演算要素のそれぞれを独立して動作させるとともに
、前記演算要素により前記画像メモリ手段を前記メモリ
ブロック単位でアクセスするか、或は前記メモリブロッ
クの最小画素単位でアクセスするように制御する制御手
段とを備える。
の様な構成からなる。即ち、 プログラム可能な複数の演算要素と、前記演算要素同士
を接続する交信手段と、複数のメモリブロックに分割さ
れ、前記メモリブロックのそれぞれは前記演算要素のそ
れぞれより独立してアクセス可能な画像メモリ手段と、
前記演算要素のそれぞれを独立して動作させるとともに
、前記演算要素により前記画像メモリ手段を前記メモリ
ブロック単位でアクセスするか、或は前記メモリブロッ
クの最小画素単位でアクセスするように制御する制御手
段とを備える。
[作用]
以上の構成において、画像メモリ手段は、複数のメモリ
ブロックに分割され、これらメモリブロックのそれぞれ
はプログラム可能な複数の演算要素のそれぞれより独立
してアクセス可能である。
ブロックに分割され、これらメモリブロックのそれぞれ
はプログラム可能な複数の演算要素のそれぞれより独立
してアクセス可能である。
そして、これら演算要素のそれぞれを独立して動作させ
るとともに、これら演算要素によりその画像メモリ手段
をメモリブロック単位でアクセスするか、或はメモリブ
ロックの最小画素単位でアクセスするように制御するこ
とができる。
るとともに、これら演算要素によりその画像メモリ手段
をメモリブロック単位でアクセスするか、或はメモリブ
ロックの最小画素単位でアクセスするように制御するこ
とができる。
また、好適な実施態様によれば、演算要素のそれぞれの
優先順位を設定し、これら演算要素よりの、その画像メ
モリ手段へのアクセス要求が競合したときには、その優
先順位に従ってアクセス可能な演算要素を決定するよう
にしている。
優先順位を設定し、これら演算要素よりの、その画像メ
モリ手段へのアクセス要求が競合したときには、その優
先順位に従ってアクセス可能な演算要素を決定するよう
にしている。
[実施例]
以下、添付図面を参照して本発明の好適な実施例を詳細
に説明する。
に説明する。
〈画像処理装置の説明 (第1図)〉
第1図は本実施例の画像処理装置の概略構成を示すブロ
ック図である。
ック図である。
同図において、101はシステム全体を制御するメイン
CPUである。102は画像データ等を格納する大容量
の外部記憶装置である。103は並列処理部を示し、複
数の演算要素より成る演算部104と、処理する画像デ
ータ等を保持するデータメモリ部107と、並列処理部
103とデータメモリ部107どの間のバス群を接続・
交換するバス接続・交換部106、このバス接続・交換
部106を制御するバス接続・交換制御部105、シス
テムバス116とのインターフェース(I/F)部10
9及び高速データ転送用の高速バス117とのインター
フェース(I/F)部108等より構成されている。
CPUである。102は画像データ等を格納する大容量
の外部記憶装置である。103は並列処理部を示し、複
数の演算要素より成る演算部104と、処理する画像デ
ータ等を保持するデータメモリ部107と、並列処理部
103とデータメモリ部107どの間のバス群を接続・
交換するバス接続・交換部106、このバス接続・交換
部106を制御するバス接続・交換制御部105、シス
テムバス116とのインターフェース(I/F)部10
9及び高速データ転送用の高速バス117とのインター
フェース(I/F)部108等より構成されている。
110はモニタデイスプレィ111に表示する画像デー
タを保持するビデオメモリで、システムバス116及び
高速バス117とに接続されている。112はプリンタ
・インターフェース部(■/F)であり、これを介して
プリンタ114がシステムバス116と高速バス117
に接続されている。113はスキャナ・インターフェー
ス(工/F)部であり、これを介してイメージスキャナ
(リーグ)115が、システムバス116及び高速バス
117に接続されている。
タを保持するビデオメモリで、システムバス116及び
高速バス117とに接続されている。112はプリンタ
・インターフェース部(■/F)であり、これを介して
プリンタ114がシステムバス116と高速バス117
に接続されている。113はスキャナ・インターフェー
ス(工/F)部であり、これを介してイメージスキャナ
(リーグ)115が、システムバス116及び高速バス
117に接続されている。
〈並列処理部103の説明〉
次に、並列処理部103の演算部104の各演算要素へ
、メインCPUl0Iよりプログラムをロードする方法
について説明する。以下、第1図及び第2図を参照して
説明する。
、メインCPUl0Iよりプログラムをロードする方法
について説明する。以下、第1図及び第2図を参照して
説明する。
第2図は並列処理部103の概略構成を示すブロック図
である。
である。
演算部104の各演算要素(PUO〜PU3) 211
a〜dのプログラムメモリ(、PM)に格納されるべ
きプログラムは、予めメインCPUl0Iにより開発さ
れ、各プロセッサ212a〜212d(PROC)で実
行可能なコード形式で作成されている。これらプログラ
ムは、外部記憶装置102に記憶されており、メインC
PU 101により、システムバス116からシステム
バスI/F109を経由して各プロセッサに渡される。
a〜dのプログラムメモリ(、PM)に格納されるべ
きプログラムは、予めメインCPUl0Iにより開発さ
れ、各プロセッサ212a〜212d(PROC)で実
行可能なコード形式で作成されている。これらプログラ
ムは、外部記憶装置102に記憶されており、メインC
PU 101により、システムバス116からシステム
バスI/F109を経由して各プロセッサに渡される。
これらプロセッサ(PROC) 212 a = dの
それぞれは、独自のプログラムメモリ(PM)213
a−dを有しており、各プロセッサ212a−dは、各
自に対応したプログラムをメインCPU 101より受
けとると、順次各自のプログラムメモリ(PM)の所定
のアドレスに書込んでいく機能を有している。
それぞれは、独自のプログラムメモリ(PM)213
a−dを有しており、各プロセッサ212a−dは、各
自に対応したプログラムをメインCPU 101より受
けとると、順次各自のプログラムメモリ(PM)の所定
のアドレスに書込んでいく機能を有している。
く演算部の説明〉
第3図は演算部104の各プロセッサを接続する通信路
の状態を示した図である。
の状態を示した図である。
各プロセッサ(PROC)には、それぞれ4本のシリア
ル通信路が、バスとは別に接続されており、これらシリ
アル通信路は、各プロセッサ間での交信をするのが主な
官途であるが、その他にメインCPU 101よりの各
プロセッサへのプログラムのダウンロードにも使用され
る。これらプロセッサ2128〜212dには、図示し
ないリセット信号線及びブート方法を選択するブート法
指示線がある。これらリセット信号線を介してリセット
信号が入力されると、各プロセッサは初期化され、リセ
ット信号が入力された時のブート法指示線の信号レベル
によって、ブートを特定のアドレスに割りつけられたR
OMから行なうか、もしくはシリアル通信路から入力さ
れるデータによりブートを行なうかを選択動作する機能
を有している。
ル通信路が、バスとは別に接続されており、これらシリ
アル通信路は、各プロセッサ間での交信をするのが主な
官途であるが、その他にメインCPU 101よりの各
プロセッサへのプログラムのダウンロードにも使用され
る。これらプロセッサ2128〜212dには、図示し
ないリセット信号線及びブート方法を選択するブート法
指示線がある。これらリセット信号線を介してリセット
信号が入力されると、各プロセッサは初期化され、リセ
ット信号が入力された時のブート法指示線の信号レベル
によって、ブートを特定のアドレスに割りつけられたR
OMから行なうか、もしくはシリアル通信路から入力さ
れるデータによりブートを行なうかを選択動作する機能
を有している。
本実施例では、後者のシリアル通信路を用いてブートを
行う方法をとっており、このような機能を有するプロセ
ッサとしては、例えばInmos社製のトランスピユー
タ等が代表として挙げられる。
行う方法をとっており、このような機能を有するプロセ
ッサとしては、例えばInmos社製のトランスピユー
タ等が代表として挙げられる。
第3図において、1000は通信路を任意に交換できる
スイッチ回路で、通信路交換部1002と、通信路交換
制御部1001より構成される。
スイッチ回路で、通信路交換部1002と、通信路交換
制御部1001より構成される。
通信路交換部1002には、各プロセッサよりのそれぞ
れが4本からなる通信路(計16本)、及び外部の通信
路と接続するための外部通信用交換部コネクタ1005
への8本の通信線、及びパラレル/シリアル変換器10
04のシリアル入出力線が接続されている。また、パラ
レル/シリアル変換器1003のシリアル入出力側が、
通信路交換制御部1001に接続されている。これらパ
ラレル/シリアル変換器1003.1004(7)パラ
レル入出力側は共に、システムバスI/FIO9を介し
てシステムバス116に接続されている。なお、パラレ
ル/シリアル変換器1003及び1004のパラレル入
出力アドレスは、それぞれシステムバスのアドレス空間
上の相異なる、所定のアドレスに割り付けられている。
れが4本からなる通信路(計16本)、及び外部の通信
路と接続するための外部通信用交換部コネクタ1005
への8本の通信線、及びパラレル/シリアル変換器10
04のシリアル入出力線が接続されている。また、パラ
レル/シリアル変換器1003のシリアル入出力側が、
通信路交換制御部1001に接続されている。これらパ
ラレル/シリアル変換器1003.1004(7)パラ
レル入出力側は共に、システムバスI/FIO9を介し
てシステムバス116に接続されている。なお、パラレ
ル/シリアル変換器1003及び1004のパラレル入
出力アドレスは、それぞれシステムバスのアドレス空間
上の相異なる、所定のアドレスに割り付けられている。
メインCPUl0Iは、システムバス116゜システム
バスI/F109、パラレル/シリアル変換器1003
を介して、通信路交換制御部1001に指示を与え、通
信路交換部1002の通信路の接続状態を設定する。こ
のとき、パラレル/シリアル変換器1004のシリアル
入出力は、通信路変換部1002を通して、プロセッサ
2128〜212dのうちのいずれかのプロセッサのい
ずれかの通信路に設定されて使用される。そして残りの
プロセッサは、パラレル/シリアル変換器1004に接
続されたプロセッサを介し、他の通信路を経由して通信
路変換部1002に接続させる。この際、その設定され
たプロセッサと残りのプロセッサのいずれかとの間に別
のプロセッサが介在してもよい。この状態で、メインC
PUl01は、ダウンロードのデータをシステムバス1
16、システムバスI/F109.パラレル/シリアル
変換器1004.通信路交換部1002を経由して、所
望のプロセッサに転送する。そして、プログラムデータ
転送が終了すると、そのプログラムが実行される。
バスI/F109、パラレル/シリアル変換器1003
を介して、通信路交換制御部1001に指示を与え、通
信路交換部1002の通信路の接続状態を設定する。こ
のとき、パラレル/シリアル変換器1004のシリアル
入出力は、通信路変換部1002を通して、プロセッサ
2128〜212dのうちのいずれかのプロセッサのい
ずれかの通信路に設定されて使用される。そして残りの
プロセッサは、パラレル/シリアル変換器1004に接
続されたプロセッサを介し、他の通信路を経由して通信
路変換部1002に接続させる。この際、その設定され
たプロセッサと残りのプロセッサのいずれかとの間に別
のプロセッサが介在してもよい。この状態で、メインC
PUl01は、ダウンロードのデータをシステムバス1
16、システムバスI/F109.パラレル/シリアル
変換器1004.通信路交換部1002を経由して、所
望のプロセッサに転送する。そして、プログラムデータ
転送が終了すると、そのプログラムが実行される。
スイッチ回路1000の機能を有する回路素子としては
、例えばInmos社製のリンクスイッチCOO4が有
り、またパラレル/シリアル変換器1003及び100
4の機能を有する回路素子としては、例えばInmos
社製のリンクアダプタCO12等が挙げられる。
、例えばInmos社製のリンクスイッチCOO4が有
り、またパラレル/シリアル変換器1003及び100
4の機能を有する回路素子としては、例えばInmos
社製のリンクアダプタCO12等が挙げられる。
〈並列処理部103の構成〉
本実施例では、演算部104の演算要素がデータメモリ
107をアクセスするために、データメモリ107のア
ドレス領域を複数個の小領域に分割し、この小領域を単
位として各演算要素が処理を行うようにしている。この
場合、これら小領域のそれぞれを各演算要素が占有する
方式と、各演算要素がデータメモリ領域の任意の位置の
画素をアクセスする方式とを実現するように構成されて
いる。以下、データメモリ領域をブロックメモリと呼び
、ブロックを占有するアクセス方式をブロックアクセス
方式、任意の画素をアクセスする方式を画素アクセス方
式と呼ぶことにする。
107をアクセスするために、データメモリ107のア
ドレス領域を複数個の小領域に分割し、この小領域を単
位として各演算要素が処理を行うようにしている。この
場合、これら小領域のそれぞれを各演算要素が占有する
方式と、各演算要素がデータメモリ領域の任意の位置の
画素をアクセスする方式とを実現するように構成されて
いる。以下、データメモリ領域をブロックメモリと呼び
、ブロックを占有するアクセス方式をブロックアクセス
方式、任意の画素をアクセスする方式を画素アクセス方
式と呼ぶことにする。
以上の2方式を実現する並列処理部103の機能ブロッ
ク図が第2図に示されており、200は並列処理部10
3とメインCP U’ 101との間で制御コマンドや
ステータスをやりとりするためのレジスタであるa 2
10 a〜210pはデータメモリ107を分割したブ
ロックメモリを表す。
ク図が第2図に示されており、200は並列処理部10
3とメインCP U’ 101との間で制御コマンドや
ステータスをやりとりするためのレジスタであるa 2
10 a〜210pはデータメモリ107を分割したブ
ロックメモリを表す。
本実施例の説明を容易にするために、データメモリ部1
07の容量を16Mバイトとし、データメモリ部107
を等分にMBO−MB15に16分割し、演算部104
における演算要素(Pt]0〜pu3)を4個とする。
07の容量を16Mバイトとし、データメモリ部107
を等分にMBO−MB15に16分割し、演算部104
における演算要素(Pt]0〜pu3)を4個とする。
211a〜211dは演算部104を構成する4つの演
算要素であり、各演算要素の中には212a−dの演算
プロセッサ(以下単にプロセッサと呼ぶ)とプロセッサ
を駆動するためのプログラムと一時的に小容量のデータ
を格納するための小容量メモリ(以下、これをプログラ
ムメモリと呼ぶ)213a−dをそれぞれ1つずつ有し
ている。215はシステムバス116と高速バス117
のバスインターフェース部108.109と、データメ
モリ部107どの間を接続するインターフェースバスで
ある。216a〜pは各ブロックメモリ210a〜pと
演算部104との間のデータをやりとりするメモリバス
、217a−dはプロセッサバスである。214,21
8.219,220,221,222,223はいずれ
も制御信号線であり、レジスタ200に接続されている
制御信号線のうち、信号線214はシステムバスインタ
ーフェース部109と、信号線218はバス接続・交換
制御部105(以下、バスコントローラと略す)と、信
号線220は演算部104と、信号線222は高速バス
インターフェース部108とを結び、これら制御信号綿
はコマンドやステータスのやりとりを行っている。更に
、バスコントローラ105に接続されている制御信号線
のうち、信号線219は演算部104と、信号線221
はバス接続・交換部106(以下、バスセレクタと略す
)と、信号線223はデータメモリ部107とを接続し
て、同様のやりとりを行っている。
算要素であり、各演算要素の中には212a−dの演算
プロセッサ(以下単にプロセッサと呼ぶ)とプロセッサ
を駆動するためのプログラムと一時的に小容量のデータ
を格納するための小容量メモリ(以下、これをプログラ
ムメモリと呼ぶ)213a−dをそれぞれ1つずつ有し
ている。215はシステムバス116と高速バス117
のバスインターフェース部108.109と、データメ
モリ部107どの間を接続するインターフェースバスで
ある。216a〜pは各ブロックメモリ210a〜pと
演算部104との間のデータをやりとりするメモリバス
、217a−dはプロセッサバスである。214,21
8.219,220,221,222,223はいずれ
も制御信号線であり、レジスタ200に接続されている
制御信号線のうち、信号線214はシステムバスインタ
ーフェース部109と、信号線218はバス接続・交換
制御部105(以下、バスコントローラと略す)と、信
号線220は演算部104と、信号線222は高速バス
インターフェース部108とを結び、これら制御信号綿
はコマンドやステータスのやりとりを行っている。更に
、バスコントローラ105に接続されている制御信号線
のうち、信号線219は演算部104と、信号線221
はバス接続・交換部106(以下、バスセレクタと略す
)と、信号線223はデータメモリ部107とを接続し
て、同様のやりとりを行っている。
く並列演算部の初期化〉
並列演算部103は、メインCPUI O1から画像デ
ータやプログラムをロードして動作する。
ータやプログラムをロードして動作する。
メインCPU 101は最初に並列演算部103の初期
化を行う。メインCPUl0Iはシステムバスインター
フェース部109及び信号線214を介してレジスタ2
00に初期化コマンドを書き込む。そこで、レジスタ2
00は初期化コマンドを信号線218,219,220
,221,222を介して高速バスインターフェース部
1o8.バスコントローラ105.パスセレクタ106
及び演算部104の各演算器211a−dに送り、各々
を初期化する。各演算要素211a−dの各ブログラム
メモリ213a〜dへの、メインCPU101からのプ
ロセッサの初期化プログラムのダウンロード、及びプロ
セッサ間の通信路手段の設定については別項で後述する
。
化を行う。メインCPUl0Iはシステムバスインター
フェース部109及び信号線214を介してレジスタ2
00に初期化コマンドを書き込む。そこで、レジスタ2
00は初期化コマンドを信号線218,219,220
,221,222を介して高速バスインターフェース部
1o8.バスコントローラ105.パスセレクタ106
及び演算部104の各演算器211a−dに送り、各々
を初期化する。各演算要素211a−dの各ブログラム
メモリ213a〜dへの、メインCPU101からのプ
ロセッサの初期化プログラムのダウンロード、及びプロ
セッサ間の通信路手段の設定については別項で後述する
。
以上の初期化によって、インターフェースバス215は
システムバスインターフェース部109とデータメモリ
部107どの間で接続状態にされ、アドレスやデータは
全てリセットされる。その後、メインCPU 101に
よりシステムバス116、またはインターフェースバス
215を高速バスインターフェース部108に切換えて
、外部より画像データをデータメモリ部107に書き込
む。
システムバスインターフェース部109とデータメモリ
部107どの間で接続状態にされ、アドレスやデータは
全てリセットされる。その後、メインCPU 101に
よりシステムバス116、またはインターフェースバス
215を高速バスインターフェース部108に切換えて
、外部より画像データをデータメモリ部107に書き込
む。
〈データメモリ部107の構成〉
データメモリ部107はインターフェースバス215か
ら見て連続したアドレスとなっている。
ら見て連続したアドレスとなっている。
ここで、説明を簡単にするために、1画素分のデータを
Y(黄色)1M(マゼンタ色)、C(シアン色)、Bk
(黒色)の4色で表し、各色8ビットデータで表す。デ
ータメモリ部107の容量は全部で16Mバイトである
ため、画像サイズは2048X2048となり、そのア
ドレス領域は000000H−FFFFFFH(Hは1
6進数を表わしている)となる。
Y(黄色)1M(マゼンタ色)、C(シアン色)、Bk
(黒色)の4色で表し、各色8ビットデータで表す。デ
ータメモリ部107の容量は全部で16Mバイトである
ため、画像サイズは2048X2048となり、そのア
ドレス領域は000000H−FFFFFFH(Hは1
6進数を表わしている)となる。
このデータメモリ部107のデータ構造を示したのが第
4図である。Y、M、C,Bは各色のデータを表し、(
)内の数は画像データにおける画素位置を示している。
4図である。Y、M、C,Bは各色のデータを表し、(
)内の数は画像データにおける画素位置を示している。
データメモリ107の各メモリブロックはデュアルポー
トメモリで構成され、各ブロックメモリの各ボートはイ
ンターフェースバス215とメモリバス216a〜pに
各々接続されている。そして、インターフェースバス2
15側から、これらメモリブロックをアクセスする場合
は、前述の0OOOOOH−FFFFFFHのアドレス
にて行う。ブロックメモリ210a−pのメモリ上の割
り付けは、第5図に示す通りである。点線はインターフ
ェースバス215より見たアドレスの順番を示す。
トメモリで構成され、各ブロックメモリの各ボートはイ
ンターフェースバス215とメモリバス216a〜pに
各々接続されている。そして、インターフェースバス2
15側から、これらメモリブロックをアクセスする場合
は、前述の0OOOOOH−FFFFFFHのアドレス
にて行う。ブロックメモリ210a−pのメモリ上の割
り付けは、第5図に示す通りである。点線はインターフ
ェースバス215より見たアドレスの順番を示す。
大かっこ“[]”で示されたアドレスは各画素の7色デ
ータ1バイトを格納しであるデータメモリ107のアド
レスを示している。実線はメモJバス216a−pから
見たアドレスの順番を示す。また、矢かっこ“〈〉°゛
で示されたアドレスは、メモリブロック2101におけ
る各画素の7色データ1バイトを格納しているアドレス
を示している。
ータ1バイトを格納しであるデータメモリ107のアド
レスを示している。実線はメモJバス216a−pから
見たアドレスの順番を示す。また、矢かっこ“〈〉°゛
で示されたアドレスは、メモリブロック2101におけ
る各画素の7色データ1バイトを格納しているアドレス
を示している。
〈内部バスの構成〉
第2図に示したように、並列処理部103の内部バスと
して、インターフェースバス215と、メモリバス21
6a−p及びプロセッサバス217a〜dがあるが、以
下にそれぞれのバスの構成を説明する。
して、インターフェースバス215と、メモリバス21
6a−p及びプロセッサバス217a〜dがあるが、以
下にそれぞれのバスの構成を説明する。
まず、インターフェースバス215において、アドレス
、データの幅は最大でシステムバスと同じ構成であって
もよいが、ここではアドレス空間を16Mバイトとする
。従って、アドレス幅24ビツト、データ幅32ビツト
とする。
、データの幅は最大でシステムバスと同じ構成であって
もよいが、ここではアドレス空間を16Mバイトとする
。従って、アドレス幅24ビツト、データ幅32ビツト
とする。
次に、メモリバス216a”□pは、メモリブロックの
アクセス時に使用されるため、各メモリブロックのアド
レス空間に対応して1Mバイトである。従って、アドレ
ス幅は20ビツト、データ幅を8ビツトとする。最後に
プロセッサバス217a −dの構成はメモリバス21
6a〜pと同様な構成とする。
アクセス時に使用されるため、各メモリブロックのアド
レス空間に対応して1Mバイトである。従って、アドレ
ス幅は20ビツト、データ幅を8ビツトとする。最後に
プロセッサバス217a −dの構成はメモリバス21
6a〜pと同様な構成とする。
〈ブロックアクセス方式〉
ブロックアクセス方式は、各プロセッサ212a %
dがブロックメモリ210a−pの内から複数のブロッ
クメモリを占有してアクセスする方式である。即ち、1
つのブロックメモリが同時に2つ以上のプロセッサから
アクセスされることはないようにする。ここで、プロセ
ッサPROC212a〜212dからみた場合、16M
バイトの全アドレス空間をアドレッシングできるように
するために、各プロセッサでは24ビツトのアドレスを
生成する。そこで、前述のプロセッサバス217a〜2
17dのアドレス20ビツトの上位に、第6図に示すよ
うにメモリブロック番号を示す4ビツトを付加して、2
4ビツトのアドレッシングを可能とする。
dがブロックメモリ210a−pの内から複数のブロッ
クメモリを占有してアクセスする方式である。即ち、1
つのブロックメモリが同時に2つ以上のプロセッサから
アクセスされることはないようにする。ここで、プロセ
ッサPROC212a〜212dからみた場合、16M
バイトの全アドレス空間をアドレッシングできるように
するために、各プロセッサでは24ビツトのアドレスを
生成する。そこで、前述のプロセッサバス217a〜2
17dのアドレス20ビツトの上位に、第6図に示すよ
うにメモリブロック番号を示す4ビツトを付加して、2
4ビツトのアドレッシングを可能とする。
このようなアドレスがプロセッサバス217a〜217
dに出力されると、前述のメモリブロック番号、即ちア
ドレス上位4ビツトをバスコントローラ105に送付す
る。これにより、バスコントローラ105はメモリブロ
ック番号に従ってバスセレクタ106を切換えることに
より、各プロセッサが所望のメモリブロックにアクセス
することができる。もし、同一のメモリブロックに複数
のプロセッサがアクセスしようとした時は、予め設定さ
れた優先順位に従って優先順位が最も高いプロセッサが
占有し、他のプロセッサは待ち状態になるか、他のプロ
セッサの要求を他のメモリブロックへ切り換える等の動
作を行う。
dに出力されると、前述のメモリブロック番号、即ちア
ドレス上位4ビツトをバスコントローラ105に送付す
る。これにより、バスコントローラ105はメモリブロ
ック番号に従ってバスセレクタ106を切換えることに
より、各プロセッサが所望のメモリブロックにアクセス
することができる。もし、同一のメモリブロックに複数
のプロセッサがアクセスしようとした時は、予め設定さ
れた優先順位に従って優先順位が最も高いプロセッサが
占有し、他のプロセッサは待ち状態になるか、他のプロ
セッサの要求を他のメモリブロックへ切り換える等の動
作を行う。
〈画素アクセス方式〉
画素アクセス方式は、プロセッサ212a−dのそれぞ
れがデータメモリ部107の領域の任意画素をアクセス
する方式である。即ち、1つの画素が同時に2つ以上の
プロセッサからアクセスされることがないようにする。
れがデータメモリ部107の領域の任意画素をアクセス
する方式である。即ち、1つの画素が同時に2つ以上の
プロセッサからアクセスされることがないようにする。
プロセッサ212a〜dにより生成されるアドレスデー
タは、ブロックアクセス方式と同様の24ビツトである
。このように生成されたアドレスの上位4ビツトをバス
コントローラ105に、残りの下位ビットをプロセッサ
バス(217a〜217d)に送信する。
タは、ブロックアクセス方式と同様の24ビツトである
。このように生成されたアドレスの上位4ビツトをバス
コントローラ105に、残りの下位ビットをプロセッサ
バス(217a〜217d)に送信する。
これにより、各プロセッサが同一のメモリブロックをア
クセスしない場合には、バスコントローラ105は各プ
ロセッサが要求する画素データが得られるように、パス
セレクタ106によってメモリバス216a”−pと、
対応するプロセッサバス217a−dのいずれかとを接
続する。
クセスしない場合には、バスコントローラ105は各プ
ロセッサが要求する画素データが得られるように、パス
セレクタ106によってメモリバス216a”−pと、
対応するプロセッサバス217a−dのいずれかとを接
続する。
もし、同一のメモリブロック内の画素に複数のプロセッ
サがアクセスしようとした時は、予め設定された優先順
位に従って優先順位の高いプロセッサがそのメモリブロ
ックをアクセスし、他のプロセッサは待ち状態になる。
サがアクセスしようとした時は、予め設定された優先順
位に従って優先順位の高いプロセッサがそのメモリブロ
ックをアクセスし、他のプロセッサは待ち状態になる。
そして、次のクロックでその優先順位に従って、タイム
シェアリングでメモリブロックがアクセスされる。
シェアリングでメモリブロックがアクセスされる。
くパスセレクタ106の構成〉
以下、パスセレクタ106の構成を第7図及び第8図を
参照して説明する。
参照して説明する。
パスセレクタ106の内部は双方向のセレクタを含むデ
ータ部と、1方向のセレクタを含むアドレス部とに分離
できる。第7図はパスセレクタ106のデータ部のブロ
ック図であり、第8図は同じ(パスセレクタ106のア
ドレス部のブロック図である。
ータ部と、1方向のセレクタを含むアドレス部とに分離
できる。第7図はパスセレクタ106のデータ部のブロ
ック図であり、第8図は同じ(パスセレクタ106のア
ドレス部のブロック図である。
まず、データ部の構成について説明する。第7図におい
て、300,305はデータの流れる方向を制御する双
方向バッファである。301.304は各素子の遅延に
よるデータのタイミングずれを補正するためのラッチ回
路である。302゜303はセレクタ部である。
て、300,305はデータの流れる方向を制御する双
方向バッファである。301.304は各素子の遅延に
よるデータのタイミングずれを補正するためのラッチ回
路である。302゜303はセレクタ部である。
双方向バッファ300において、306a−tは、制御
信号DIRB310が“0”で導通、“1”で高インピ
ーダンス状態になる負動作バッファ、307 a −p
は制御信号DIRBが“1”で導通、“0”で高インピ
ーダンス状態になる正動作バッファである。また、セレ
クタ部302の3088”I)は4人力のうちから1つ
を選択して出力する4−1セレクタであり、セレクタ部
303の309a−pは、1人力を4出力のうちの1つ
を選択して出力する1−4セレクタである。
信号DIRB310が“0”で導通、“1”で高インピ
ーダンス状態になる負動作バッファ、307 a −p
は制御信号DIRBが“1”で導通、“0”で高インピ
ーダンス状態になる正動作バッファである。また、セレ
クタ部302の3088”I)は4人力のうちから1つ
を選択して出力する4−1セレクタであり、セレクタ部
303の309a−pは、1人力を4出力のうちの1つ
を選択して出力する1−4セレクタである。
313a−pはメモリバス216a−pのうちのデータ
が通るデータ線を示し、例えばデータ線313aはメモ
リブロック210aからメモリバス216aへのデータ
線である。以下、313b〜pについても同様である。
が通るデータ線を示し、例えばデータ線313aはメモ
リブロック210aからメモリバス216aへのデータ
線である。以下、313b〜pについても同様である。
また、314a−dはプロセッサバス217a−dのう
ちデータが通るデータ線で、例えばデータ線314aは
プロセッサバス217aのデータ線を示している。以下
、314b〜dについても同様である。
ちデータが通るデータ線で、例えばデータ線314aは
プロセッサバス217aのデータ線を示している。以下
、314b〜dについても同様である。
310.311,312,313はバスコントローラ1
05からの制御信号線で、信号線310と311はプロ
セッサ212a−dがメモリブロック210a=pに対
して書込みを要求しているか、読込みを要求しているか
によって、各双方向バッファ300,305の方向性を
決定している。なお、信号線310を通る信号名をDI
RBとし、16ビツト幅とする。また信号線311を通
る信号名をDIRPとし、4ビット幅とする。
05からの制御信号線で、信号線310と311はプロ
セッサ212a−dがメモリブロック210a=pに対
して書込みを要求しているか、読込みを要求しているか
によって、各双方向バッファ300,305の方向性を
決定している。なお、信号線310を通る信号名をDI
RBとし、16ビツト幅とする。また信号線311を通
る信号名をDIRPとし、4ビット幅とする。
さらに信号線312と313はプロセッサ212a−d
がメモリブロック210a〜pのいずれにアクセスして
いるかによって、セレクタ部302と303における接
続を切換えるセレクタ信号を送る。信号線312を通る
信号名を5ELRとし、各メモリブロックに対してプロ
セッサの個数分の信号幅(この場合は、l 6X4=6
4ビット幅)である。信号線313を通る信号名を5E
LWとし、5ELRと同様の信号幅(この場合は、64
ビツト)である。
がメモリブロック210a〜pのいずれにアクセスして
いるかによって、セレクタ部302と303における接
続を切換えるセレクタ信号を送る。信号線312を通る
信号名を5ELRとし、各メモリブロックに対してプロ
セッサの個数分の信号幅(この場合は、l 6X4=6
4ビット幅)である。信号線313を通る信号名を5E
LWとし、5ELRと同様の信号幅(この場合は、64
ビツト)である。
次に、第8図を参照してバスセレクタ106のアドレス
部について説明する。
部について説明する。
第8図において、1300a 〜d、1302は各素子
の遅延によるデータのタイミングずれを補正するための
ラッチ回路である。1301a〜1301dは1人力を
16出力のうちから1つの出力を選択して出力する1−
16セレクタである。
の遅延によるデータのタイミングずれを補正するための
ラッチ回路である。1301a〜1301dは1人力を
16出力のうちから1つの出力を選択して出力する1−
16セレクタである。
1303a”−dはプロセッサバス217a−dのうち
アドレス情報が通るアドレス線である。ここで、例えば
アドレス線1303aはプロセッサバス217aのアド
レス線であり、プロセッサ212aと接続されている。
アドレス情報が通るアドレス線である。ここで、例えば
アドレス線1303aはプロセッサバス217aのアド
レス線であり、プロセッサ212aと接続されている。
この信号名をPAOとする。以下、アドレス線1303
b−dについても同様である。また、1304a〜pは
メモリバス216a〜dのうちのアドレスが通るアドレ
ス線を示し、例えばアドレス111304 aはメモリ
ブロック210aにアドレスを供給する。以下、同様に
アドレス線1304b−pのそれぞれは、メモリブロッ
ク210b〜pのそわぞれにアドレスをイ共糸合してい
る。
b−dについても同様である。また、1304a〜pは
メモリバス216a〜dのうちのアドレスが通るアドレ
ス線を示し、例えばアドレス111304 aはメモリ
ブロック210aにアドレスを供給する。以下、同様に
アドレス線1304b−pのそれぞれは、メモリブロッ
ク210b〜pのそわぞれにアドレスをイ共糸合してい
る。
第9図は1−16セレクタ1301a=dの構成を示す
ブロック図であり、セレクタ1301a〜dはいずれも
同じ構成であるので、1−16セレクタ1301aを例
にして説明する。
ブロック図であり、セレクタ1301a〜dはいずれも
同じ構成であるので、1−16セレクタ1301aを例
にして説明する。
1800はプロセッサバス217aのアドレス線である
。1801a=pは各メモリバス216a〜pのアドレ
ス部に通じている。1802a〜pは20ビツトの出力
に対して同時に制御線SELが“1″で導通、“O”で
高インピーダンスとなる正動作バッファである。180
3はバスコントローラ105から入力される制御信号線
(SEL)であり、これによって正動作バッファ180
2a〜pが制御される。この制御線に出力される信号は
、正動作バッファ1802aに入る制御線をMSBとし
、1802pに入る制御線をLSBとして、ブロック図
に従って順に1ビツトずつならべた信号である。
。1801a=pは各メモリバス216a〜pのアドレ
ス部に通じている。1802a〜pは20ビツトの出力
に対して同時に制御線SELが“1″で導通、“O”で
高インピーダンスとなる正動作バッファである。180
3はバスコントローラ105から入力される制御信号線
(SEL)であり、これによって正動作バッファ180
2a〜pが制御される。この制御線に出力される信号は
、正動作バッファ1802aに入る制御線をMSBとし
、1802pに入る制御線をLSBとして、ブロック図
に従って順に1ビツトずつならべた信号である。
〈パスセレクタ106の動作〉
以上の構成を基づいて、バスセレクタ106の動作につ
いて例を挙げて説明する。
いて例を挙げて説明する。
まず最初に、プロセッサ2128〜212dがメモリブ
ロック107からブロックアクセス方式によりデータを
読込む方法について述べる。
ロック107からブロックアクセス方式によりデータを
読込む方法について述べる。
ここでは、プロセッサ212aがメモリブロック210
aの100H番地から1バイトデータを読込む場合につ
いて説明する。まず、プロセッサ212aが第6図に示
すような24ビツトのアドレスを発行する。この場合、
アドレスデータは“000100.°゛となる。このア
ドレスの上位4ビツトと、読込みモードか書込みモード
かを知らせるR/W信号と、アクセスを知らせるアクセ
スモード信号は、信号線219を経てバスコントローラ
105に送られる。この場合、R/W信号は読込みを、
アクセスモード信号はブロックアクセスを示している。
aの100H番地から1バイトデータを読込む場合につ
いて説明する。まず、プロセッサ212aが第6図に示
すような24ビツトのアドレスを発行する。この場合、
アドレスデータは“000100.°゛となる。このア
ドレスの上位4ビツトと、読込みモードか書込みモード
かを知らせるR/W信号と、アクセスを知らせるアクセ
スモード信号は、信号線219を経てバスコントローラ
105に送られる。この場合、R/W信号は読込みを、
アクセスモード信号はブロックアクセスを示している。
ここで、バスコントローラ105はアクセスの衝突の有
無を判断し、衝突がない場合はアクセス可であることを
表す信号をプロセッサ212aに送る。衝突がある場合
、衝突した他のプロセッサとの優先順位を比較して、も
し他のプロセッサよりもプロセッサ212aの優先順位
が高いときはアクセス可であることを表わす信号をプロ
セッサ212aに送り、逆にプロセッサ212aの方が
優先順位が低ければ、プロセッサ212aにアクセス待
ちを表すウェイト信号が送られる。
無を判断し、衝突がない場合はアクセス可であることを
表す信号をプロセッサ212aに送る。衝突がある場合
、衝突した他のプロセッサとの優先順位を比較して、も
し他のプロセッサよりもプロセッサ212aの優先順位
が高いときはアクセス可であることを表わす信号をプロ
セッサ212aに送り、逆にプロセッサ212aの方が
優先順位が低ければ、プロセッサ212aにアクセス待
ちを表すウェイト信号が送られる。
アクセス可信号を受けとったプロセッサ212aはバス
コントローラ105に対しアクセス開始信号を送り、メ
モリブロック210aへのアクセスを開始する。バスコ
ントローラ105は必要な制御信号が信号線221を経
てパスセレクタ106に送られる。この制御信号は、パ
スセレクタ1O6のアドレス部とデータ部に分割して送
られ、データ部では信号名DIRB、DIRP、5EL
Rとして送られ、アドレス部では信号名5ELAとして
送られる。この場合は読込みであるから、双方向バッフ
ァ300,305に与えられる信号のDIRB及びDI
RPにおいて、プロセッサ212aに接続される正動作
バッファ307qと負動作バッファ306qに入力され
る信号は°゛O”であり、メモリブロック210aに接
続される正動作バッファ307aと負動作バッファ30
6aに入力される信号も“0”である。こうして、ブロ
モ・ンサバス217aのデータ糸束314aとデータバ
ス216aのデータ41313 aとを接続する。
コントローラ105に対しアクセス開始信号を送り、メ
モリブロック210aへのアクセスを開始する。バスコ
ントローラ105は必要な制御信号が信号線221を経
てパスセレクタ106に送られる。この制御信号は、パ
スセレクタ1O6のアドレス部とデータ部に分割して送
られ、データ部では信号名DIRB、DIRP、5EL
Rとして送られ、アドレス部では信号名5ELAとして
送られる。この場合は読込みであるから、双方向バッフ
ァ300,305に与えられる信号のDIRB及びDI
RPにおいて、プロセッサ212aに接続される正動作
バッファ307qと負動作バッファ306qに入力され
る信号は°゛O”であり、メモリブロック210aに接
続される正動作バッファ307aと負動作バッファ30
6aに入力される信号も“0”である。こうして、ブロ
モ・ンサバス217aのデータ糸束314aとデータバ
ス216aのデータ41313 aとを接続する。
セレクタ部303の1−4セレクタ309aのブロック
図を第10図に示す。
図を第10図に示す。
400a〜dはバスコントローラ105からの制御線4
03a−dによって入力8ビツトに対して同時に“1”
で導通、“0”で高インピーダンスとする正動作バッフ
ァである。その出力線402a−dのそれぞれは、ラッ
チ回路304を介して負動作バッファ306q−tに接
続されている。
03a−dによって入力8ビツトに対して同時に“1”
で導通、“0”で高インピーダンスとする正動作バッフ
ァである。その出力線402a−dのそれぞれは、ラッ
チ回路304を介して負動作バッファ306q−tに接
続されている。
そこで、プロセッサバスのデータ線314aとメモリバ
スのデータ線313aとを接続するためには、1−4セ
レクタ309aに入る制御線313の403aに°°1
°°を、403b〜dに°’ o ”を入力する。これ
と同時に、セレクタ部303内の他のセレクタ309b
−pの制御線403aに°゛0°“を送ってその出力を
禁止することにより、バス上での衝突をさける。
スのデータ線313aとを接続するためには、1−4セ
レクタ309aに入る制御線313の403aに°°1
°°を、403b〜dに°’ o ”を入力する。これ
と同時に、セレクタ部303内の他のセレクタ309b
−pの制御線403aに°゛0°“を送ってその出力を
禁止することにより、バス上での衝突をさける。
一方、アドレス部ではプロセッサバス217aのアドレ
ス部の1303aとメモリバス216aのアドレス部の
1304aとの接続を1−16セレクタ1301aで切
り換える。また、バスコントローラ105は制御線22
3を介してブロックメモリ210aを読出しモードにす
る。即ち、1−16セレクタ1301aに入る信号線3
13の入力の一部が16ビツトの信号線1803 (第
9図)であり、この16ビツトの信号線のMSB(最上
位ビット)が°1”で、他ビットが“0”となる。
ス部の1303aとメモリバス216aのアドレス部の
1304aとの接続を1−16セレクタ1301aで切
り換える。また、バスコントローラ105は制御線22
3を介してブロックメモリ210aを読出しモードにす
る。即ち、1−16セレクタ1301aに入る信号線3
13の入力の一部が16ビツトの信号線1803 (第
9図)であり、この16ビツトの信号線のMSB(最上
位ビット)が°1”で、他ビットが“0”となる。
以上をまとめると、プロセッサ212aから発行された
24ビツトアドレスの上位4ビツトがバスコントローラ
105に入力され、そのアドレス下メモリブロックがア
クセス可である場合に、プロセッサバス217aのアド
レス(20ビツト)がバスセレクタ106のラッチ13
00a (第8図)にまずラッチされ、次に1−16セ
レクタ1301aに入力された信号線1305によって
メモリブロック210aを選択し、ラッチ1302にそ
のアドレスがラッチされる。その後、アドレス線130
4aに出力され、メモリバス216aに送られアクセス
される。
24ビツトアドレスの上位4ビツトがバスコントローラ
105に入力され、そのアドレス下メモリブロックがア
クセス可である場合に、プロセッサバス217aのアド
レス(20ビツト)がバスセレクタ106のラッチ13
00a (第8図)にまずラッチされ、次に1−16セ
レクタ1301aに入力された信号線1305によって
メモリブロック210aを選択し、ラッチ1302にそ
のアドレスがラッチされる。その後、アドレス線130
4aに出力され、メモリバス216aに送られアクセス
される。
一方、メモリブロック210a読み出されたデータはメ
モリバス216aのデータ線からデータ線313aに入
り、負動作バッファ306aを経てラッチ301にラッ
チされる。ラッチされたデータはデータ線を経て、1−
4セレクタ309aに入力され、正動作バッファ400
a (第10図)を通りラッチ304にラッチされる。
モリバス216aのデータ線からデータ線313aに入
り、負動作バッファ306aを経てラッチ301にラッ
チされる。ラッチされたデータはデータ線を経て、1−
4セレクタ309aに入力され、正動作バッファ400
a (第10図)を通りラッチ304にラッチされる。
そして負動作バッファ306qを経てデータ線314a
、即ち、プロセッサバス217aのデータ糸束からプロ
セッサ212aに入力される。
、即ち、プロセッサバス217aのデータ糸束からプロ
セッサ212aに入力される。
以下、同じブロックメモリ(210a)内の任意のアド
レスにアクセスを行う場合は、プロセッサ2128はた
だ単にアドレスを発行して読出したデータを受けとるだ
けでよい。こうして、同一ブロックメモリへのアクセス
を終了し、他のブロックメモリにアクセスを変更する場
合は、プロセッサ212aはバスコントローラ105に
対してアクセス終了信号を送る。
レスにアクセスを行う場合は、プロセッサ2128はた
だ単にアドレスを発行して読出したデータを受けとるだ
けでよい。こうして、同一ブロックメモリへのアクセス
を終了し、他のブロックメモリにアクセスを変更する場
合は、プロセッサ212aはバスコントローラ105に
対してアクセス終了信号を送る。
次に、プロセッサ212a〜212dがメモリブロック
にデータを書込む場合について説明する。ここでは、プ
ロセッサ212aからアドレスとデータを発行して、メ
モリブロック210pの°“999 ”番地に1バイト
のデータを書込む場合を例にして説明する。
にデータを書込む場合について説明する。ここでは、プ
ロセッサ212aからアドレスとデータを発行して、メ
モリブロック210pの°“999 ”番地に1バイト
のデータを書込む場合を例にして説明する。
まず、プロセッサ212aが第6図に示すようなアドレ
スを発行する。この場合のアドレスデー夕は“FOO9
99H″である。このアドレスの上位4ビツトと、R/
Wモード信号(この場合は書込みモード)及びアクセス
モード信号(この場合はブロックアクセスモード)をバ
スコントローラ105に送る。バスコントローラ105
はブロックに対するアクセスの衝突の有無を判断し、プ
ロセッサ212aにアクセス可又はウェイト信号を送る
。アクセス可信号を受けとったプロセッサ212aはバ
ス−コントローラ105にアクセス開始信号を送り、メ
モリブロック210pへのアクセスを開始する。
スを発行する。この場合のアドレスデー夕は“FOO9
99H″である。このアドレスの上位4ビツトと、R/
Wモード信号(この場合は書込みモード)及びアクセス
モード信号(この場合はブロックアクセスモード)をバ
スコントローラ105に送る。バスコントローラ105
はブロックに対するアクセスの衝突の有無を判断し、プ
ロセッサ212aにアクセス可又はウェイト信号を送る
。アクセス可信号を受けとったプロセッサ212aはバ
ス−コントローラ105にアクセス開始信号を送り、メ
モリブロック210pへのアクセスを開始する。
まず、バスセレクタ106のデータ部の多方向バッファ
300.305の方向性を定める。まず双方向バッファ
300については、信号DIRBのLSBを“1”とし
、正動作バッファ307pを導通させ、負動作バッファ
306pを高インピーダンスとする。また双方向バッフ
ァ305については信号DIRPのMSBを“1”とし
、正動作バッファ307qを導通させ、負動作バッファ
307Pに高インピーダンスにする。次に、セレクタ部
302の中の4−1セレクタ308pに対してプロセッ
サバス217aのデータ線314aとメモリバス216
aのデータ線a1apとを接続する。バスコントローラ
105は4−1セレクタ308pに対して信号5ELW
を信号線312を通して制御する。4−1セレクタ30
8pは他のセレクタ308a〜0と同じ構成である。
300.305の方向性を定める。まず双方向バッファ
300については、信号DIRBのLSBを“1”とし
、正動作バッファ307pを導通させ、負動作バッファ
306pを高インピーダンスとする。また双方向バッフ
ァ305については信号DIRPのMSBを“1”とし
、正動作バッファ307qを導通させ、負動作バッファ
307Pに高インピーダンスにする。次に、セレクタ部
302の中の4−1セレクタ308pに対してプロセッ
サバス217aのデータ線314aとメモリバス216
aのデータ線a1apとを接続する。バスコントローラ
105は4−1セレクタ308pに対して信号5ELW
を信号線312を通して制御する。4−1セレクタ30
8pは他のセレクタ308a〜0と同じ構成である。
第11図はそのセレクタ308pの構成を示すブロック
図である。
図である。
第11図において、500a−dは制御信号線403a
−dにより°“1°゛が入力された場合は8ビツトを同
時に導通させ、“0°゛が入力された場合は8ビット同
時に高インピーダンス状態にする正動作バッファである
。501はメモリバス216Pのデータ線であり、50
2a−dはそれぞれがプロセッサバス217a−dのデ
ータ線である。従って、ブロセ゛ソサバス217aのデ
ータ糸束とメモリバス216pのデータ線を結線するた
めには、まず4−1セレクタ308pへのバスコントロ
ーラ105からの制御信号5ELWのうち、信号線40
3aのみが“1”で、403b〜dが“0″でなければ
ならない。また、バスコントローラ105は制御線22
3(第2図)を介してブロックメモリ210pを書込み
モードにする。
−dにより°“1°゛が入力された場合は8ビツトを同
時に導通させ、“0°゛が入力された場合は8ビット同
時に高インピーダンス状態にする正動作バッファである
。501はメモリバス216Pのデータ線であり、50
2a−dはそれぞれがプロセッサバス217a−dのデ
ータ線である。従って、ブロセ゛ソサバス217aのデ
ータ糸束とメモリバス216pのデータ線を結線するた
めには、まず4−1セレクタ308pへのバスコントロ
ーラ105からの制御信号5ELWのうち、信号線40
3aのみが“1”で、403b〜dが“0″でなければ
ならない。また、バスコントローラ105は制御線22
3(第2図)を介してブロックメモリ210pを書込み
モードにする。
その後に書込むべきデータがプロセッサ212aによっ
て発行され、プロセッサバス217aのデータ線314
aを通り、正動作バッファ307qを経由してラッチ3
04に一旦ラッチされる。
て発行され、プロセッサバス217aのデータ線314
aを通り、正動作バッファ307qを経由してラッチ3
04に一旦ラッチされる。
次にこのデータは4−1セレクタ308pに供給され、
データ11502a(第11図)を通り正動作バッファ
500aを経由し、データ線501を通ってラッチ回路
301(第7図)にラッチされる。その後、このデータ
は双方向バッファ300の正動作バッファ307pを経
由し、メモリバス216pのデータ糸束313pを通っ
てメモリブロック210pに到達し、そのメモリブロッ
クの所定の番地“999°゛に書込まれる。
データ11502a(第11図)を通り正動作バッファ
500aを経由し、データ線501を通ってラッチ回路
301(第7図)にラッチされる。その後、このデータ
は双方向バッファ300の正動作バッファ307pを経
由し、メモリバス216pのデータ糸束313pを通っ
てメモリブロック210pに到達し、そのメモリブロッ
クの所定の番地“999°゛に書込まれる。
以下、同じブロックメモリ内の任意のアドレスにアクセ
スを行う場合は、プロセッサ212aはただ単にアドレ
スを発行してデータを出力するだけでよ(、同一メモリ
ブロックへのアクセスを終了し、他のブロックメモリに
アクセスを変更する場合は、プロセッサ212aはバス
コントローラ105に対し、アクセス終了信号を送る。
スを行う場合は、プロセッサ212aはただ単にアドレ
スを発行してデータを出力するだけでよ(、同一メモリ
ブロックへのアクセスを終了し、他のブロックメモリに
アクセスを変更する場合は、プロセッサ212aはバス
コントローラ105に対し、アクセス終了信号を送る。
次に、メモリブロックの画素をアクセスする場合につい
て述べる。ここではプロセッサ212a〜dがデータメ
モリ107領域の中の任意の画素値を読み書きする場合
を例にして説明する。
て述べる。ここではプロセッサ212a〜dがデータメ
モリ107領域の中の任意の画素値を読み書きする場合
を例にして説明する。
プロセッサ2128〜212dのそれぞれが画素値の格
納されているメモリアドレスを発行する。これにより、
各プロセッサよりの24ビツトアドレスの上位4ビツト
、R/Wモード信号(各プロセッサで異なる)、アクセ
スモード信号(この場合は画素アクセスモード)がバス
コントローラ105に送られ、バスコントローラ105
は各画素を含むブロック単位に、画素アクセスのクロッ
ク毎にアクセスの衝突の有無を判断し、各プロセッサに
アクセス可又はウェイトの信号を信号線219を経て送
出する。更に、アクセス可となったプロセッサのプロセ
ッサバスと、その相手のメモリブロックのメモリバスと
を接続するように、バスセレクタ106とデータメモリ
部107に対して制御信号を信号線221,223を介
して送る。これら制御信号を受取ったバスセレクタ10
6とデータメモリ部107は、前述したブロックアクセ
ス時と同様に、メモリバスとプロセッサバスとを接続す
る。
納されているメモリアドレスを発行する。これにより、
各プロセッサよりの24ビツトアドレスの上位4ビツト
、R/Wモード信号(各プロセッサで異なる)、アクセ
スモード信号(この場合は画素アクセスモード)がバス
コントローラ105に送られ、バスコントローラ105
は各画素を含むブロック単位に、画素アクセスのクロッ
ク毎にアクセスの衝突の有無を判断し、各プロセッサに
アクセス可又はウェイトの信号を信号線219を経て送
出する。更に、アクセス可となったプロセッサのプロセ
ッサバスと、その相手のメモリブロックのメモリバスと
を接続するように、バスセレクタ106とデータメモリ
部107に対して制御信号を信号線221,223を介
して送る。これら制御信号を受取ったバスセレクタ10
6とデータメモリ部107は、前述したブロックアクセ
ス時と同様に、メモリバスとプロセッサバスとを接続す
る。
(以下余白)
くバスコントローラ105の構成〉
第12図はバスコントローラ105の構成を示すブロッ
ク図である。
ク図である。
バスコントローラ105は各プロセッサ212a〜dか
ら出されたアドレスの上位4ビツト、即ちメモリブロッ
クの番号、R/W信号、アクセスモード信号、アクセス
開始または終了信号を受取り、バスセレクタ106やデ
ータメモリ部107を制御する信号を送出する。601
a−dは各プロセッサ212a”−dから出されたメモ
リブロック番号を格納しておくためのバッファである。
ら出されたアドレスの上位4ビツト、即ちメモリブロッ
クの番号、R/W信号、アクセスモード信号、アクセス
開始または終了信号を受取り、バスセレクタ106やデ
ータメモリ部107を制御する信号を送出する。601
a−dは各プロセッサ212a”−dから出されたメモ
リブロック番号を格納しておくためのバッファである。
バッファ601aはプロセッサ212aから出力された
メモリブロック番号を格納する。以下、バッファ601
b−dのそれぞれも、各プロセッサ212b〜dよりの
ブロック番号を記憶しており、より詳しく説明するとバ
ッファ601aはプロセッサ212aが読出す領域と書
込む領域とを同時に占有して処理を行えるように、読出
すブロックメモリの番号と書込むブロックメモリの番号
とを格納する。
メモリブロック番号を格納する。以下、バッファ601
b−dのそれぞれも、各プロセッサ212b〜dよりの
ブロック番号を記憶しており、より詳しく説明するとバ
ッファ601aはプロセッサ212aが読出す領域と書
込む領域とを同時に占有して処理を行えるように、読出
すブロックメモリの番号と書込むブロックメモリの番号
とを格納する。
605はこれらのブロックメモリへの各プロセッサより
のアクセスの衝突を検知する衝突検出器である。606
は衝突が生じた場合にいずれのプロセッサを優先させる
かを記憶しておく優先順位保持器である。607は衝突
の有無とプロセッサの優先順位を入力して、各プロセッ
サに対しアクセス可またはウェイト信号を発生するコン
トローラである。602は衝突検出器605とコントロ
ーラ607による遅延による切換えタイミングの誤差を
なくすための遅延回路である。603はコントローラ6
07によってアクセス可となったプロセッサのメモリブ
ロック番号だけを後段に送るゲートである。604は各
メモリブロック番号とR/W信号を入力し、パスセレク
タ106とメモリブロック210a−pを制御する信号
を生成するデコーダである。
のアクセスの衝突を検知する衝突検出器である。606
は衝突が生じた場合にいずれのプロセッサを優先させる
かを記憶しておく優先順位保持器である。607は衝突
の有無とプロセッサの優先順位を入力して、各プロセッ
サに対しアクセス可またはウェイト信号を発生するコン
トローラである。602は衝突検出器605とコントロ
ーラ607による遅延による切換えタイミングの誤差を
なくすための遅延回路である。603はコントローラ6
07によってアクセス可となったプロセッサのメモリブ
ロック番号だけを後段に送るゲートである。604は各
メモリブロック番号とR/W信号を入力し、パスセレク
タ106とメモリブロック210a−pを制御する信号
を生成するデコーダである。
608a−dのそれぞれは各プロセッサ212a −d
より要求されるブロックメモリ番号等を入力する信号線
である。627はプロセッサ212a −dのそれぞれ
からのR/W信号を、628はアクセス開始または終了
信号とアクセスモード信号をバッファ601a−dに入
力するための信号線である。609aNd、611a−
d、613a % dは各プロセッサからの読出しメモ
リブロック番号を、610a=d、612a 〜d、6
14a % dは各プロセッサからの書込みメモリブロ
ック番号を各々の後段に送る信号線である。618a
y dは各プロセッサ212a−dに対してアクセス可
またはウェイト信号を出力するための信号線、617は
メインCPUl0Iで決められた各プロセッサのアクセ
ス優先順位を優先順位保持器606に送る信号線である
。619は衝突検出器605からの衝突の有無をコント
ローラ607に伝える信号線である。620はコントロ
ーラ607からアクセス可又はウェイト信号を伝える信
号線である。621はデータメモリ部107の各メモリ
ブロック210a−pにR/W信号を送る信号線である
。
より要求されるブロックメモリ番号等を入力する信号線
である。627はプロセッサ212a −dのそれぞれ
からのR/W信号を、628はアクセス開始または終了
信号とアクセスモード信号をバッファ601a−dに入
力するための信号線である。609aNd、611a−
d、613a % dは各プロセッサからの読出しメモ
リブロック番号を、610a=d、612a 〜d、6
14a % dは各プロセッサからの書込みメモリブロ
ック番号を各々の後段に送る信号線である。618a
y dは各プロセッサ212a−dに対してアクセス可
またはウェイト信号を出力するための信号線、617は
メインCPUl0Iで決められた各プロセッサのアクセ
ス優先順位を優先順位保持器606に送る信号線である
。619は衝突検出器605からの衝突の有無をコント
ローラ607に伝える信号線である。620はコントロ
ーラ607からアクセス可又はウェイト信号を伝える信
号線である。621はデータメモリ部107の各メモリ
ブロック210a−pにR/W信号を送る信号線である
。
くバスコントローラ105の動作〉
最初にブロックアクセス方式でのアクセスついて説明を
行う。例として、プロセッサ212aがメモリブロック
210aからデータを読出し、ある処理をしてメモリブ
ロック210pに書込むと同時に、プロセッサ212b
がメモリブロック210aからデータを読出し、別処理
をしてメモリブロック210Cに書込む場合を例をとっ
て説明する。説明を簡易にするために他の2つのプロセ
ッサ212c、212dよりのアクセス要求はないもの
とする。
行う。例として、プロセッサ212aがメモリブロック
210aからデータを読出し、ある処理をしてメモリブ
ロック210pに書込むと同時に、プロセッサ212b
がメモリブロック210aからデータを読出し、別処理
をしてメモリブロック210Cに書込む場合を例をとっ
て説明する。説明を簡易にするために他の2つのプロセ
ッサ212c、212dよりのアクセス要求はないもの
とする。
プロセッサ212aと212bはまず信号線627を介
して、バッファ601a、601bへ読出しモードをセ
ットし、信号線608aと608bを介してバッファ6
01a及び601bに読出すメモリブロックの番号、即
ちメモリブロック210aの番号“O″′を格納する。
して、バッファ601a、601bへ読出しモードをセ
ットし、信号線608aと608bを介してバッファ6
01a及び601bに読出すメモリブロックの番号、即
ちメモリブロック210aの番号“O″′を格納する。
次に、同様にして信号線627を介してバッファへの書
込みモードをセットし、書込むメモリブロック番号、即
ちバッファ601aには“F。
込みモードをセットし、書込むメモリブロック番号、即
ちバッファ601aには“F。
(メモリブロック210pを示す)を、バッファ601
bには”2M (メモリブロック210cを示す)
を格納する。その後、信号線628を介してバッファ6
01a、601bをブロック・アクセスモードに設定す
る。即ち、アクセス開始信号によってメモリブロック番
号を信号線609a、b、610a、bに初めて送出し
、アクセス終了信号が入力されるまで、これを保持し続
ける。
bには”2M (メモリブロック210cを示す)
を格納する。その後、信号線628を介してバッファ6
01a、601bをブロック・アクセスモードに設定す
る。即ち、アクセス開始信号によってメモリブロック番
号を信号線609a、b、610a、bに初めて送出し
、アクセス終了信号が入力されるまで、これを保持し続
ける。
この状態で、バッファ601a及び601bにプロセッ
サ212a及び212bからアクセス開始信号が入力さ
れると、信号線609a、b、610a、bを介して各
ブロックメモリ番号が遅延器602及び衝突検出器60
5に供給される。これにより、衝突検出器605は各ブ
ロックメモリ番号を比較して衝突の有無を調べる。この
例ではメモリブロック210aへのアクセスで衝突があ
ったことがわかる。そこで、衝突を起こしているプロセ
ッサの番号を信号線619を介してコントローラ607
に送る。ここで、優先順位保持器606には予めメイン
CPUI O1からシステムバスインタフェース部10
9.信号4!214. レジスタ200.信号線218
(以上、第2図)を介して衝突時の優先順位が格納され
ている。ここでは、プロセッサ212aが最優先で、以
下プロセッサ212b、212c、212dの順に優先
順位が低く設定されているものとする。
サ212a及び212bからアクセス開始信号が入力さ
れると、信号線609a、b、610a、bを介して各
ブロックメモリ番号が遅延器602及び衝突検出器60
5に供給される。これにより、衝突検出器605は各ブ
ロックメモリ番号を比較して衝突の有無を調べる。この
例ではメモリブロック210aへのアクセスで衝突があ
ったことがわかる。そこで、衝突を起こしているプロセ
ッサの番号を信号線619を介してコントローラ607
に送る。ここで、優先順位保持器606には予めメイン
CPUI O1からシステムバスインタフェース部10
9.信号4!214. レジスタ200.信号線218
(以上、第2図)を介して衝突時の優先順位が格納され
ている。ここでは、プロセッサ212aが最優先で、以
下プロセッサ212b、212c、212dの順に優先
順位が低く設定されているものとする。
こうして、コントローラ607はプロセッサ212aと
212bの衝突を知ると、優先順位保持器606の優先
順位を参照してプロセッサ212aにメモリブロック2
10aへのアクセスを認める。そこで、コントローラ6
07は信号!1618a、618c、618dを介して
プロセッサ212a、212c、212dに対してアク
セス可信号を送出するとともに、信号線618bを介し
てプロセッサ212bにウェイト信号を送出する。
212bの衝突を知ると、優先順位保持器606の優先
順位を参照してプロセッサ212aにメモリブロック2
10aへのアクセスを認める。そこで、コントローラ6
07は信号!1618a、618c、618dを介して
プロセッサ212a、212c、212dに対してアク
セス可信号を送出するとともに、信号線618bを介し
てプロセッサ212bにウェイト信号を送出する。
信号線620はこれら4本の信号線を束ねた線であり、
ゲート603にも同様の情報が伝送される。この例では
、信号線613b、614bを除く信号線に対してメモ
リブロック番号が送出される。これを受けてデコーダ6
04は信号線313.312.1305,310,62
1,311に制御信号を送出する。
ゲート603にも同様の情報が伝送される。この例では
、信号線613b、614bを除く信号線に対してメモ
リブロック番号が送出される。これを受けてデコーダ6
04は信号線313.312.1305,310,62
1,311に制御信号を送出する。
これらデコーダ604より出力される信号を以下に説明
する。
する。
まず、信号線313の信号5ELRにより4−lセレク
タ309a (第7図)がプロセッサ212aとメモリ
ブロック210aとを接続するように制御する。また、
信号線312の信号5ELWにより、1−4セレクタ3
08pがプロセッサ212aとメモリブロック210p
とを接続するように制御する。さらに、信号IS 13
05の信号5ELAの中でR/W信号が読出しモードの
とき、プロセッサバス217aのアドレス線1303a
がメモリバス216aのアドレス線1304a(第8図
)とが接続されるように、R/W信号が書込みモードの
ときプロセッサバス217aのアドレス糸1i1130
3aがメモリバス216pのアドレス線1304pとが
接続されるように1−16セレクタ1301a−dに対
して制御を行う。
タ309a (第7図)がプロセッサ212aとメモリ
ブロック210aとを接続するように制御する。また、
信号線312の信号5ELWにより、1−4セレクタ3
08pがプロセッサ212aとメモリブロック210p
とを接続するように制御する。さらに、信号IS 13
05の信号5ELAの中でR/W信号が読出しモードの
とき、プロセッサバス217aのアドレス線1303a
がメモリバス216aのアドレス線1304a(第8図
)とが接続されるように、R/W信号が書込みモードの
ときプロセッサバス217aのアドレス糸1i1130
3aがメモリバス216pのアドレス線1304pとが
接続されるように1−16セレクタ1301a−dに対
して制御を行う。
また、信号線310の信号DIRBは負動作バッファ3
06aを導通させ、かつ正動作バッファ307pを導通
させる。信号線311の信号DIRPのデータ1131
4aに関してはR/W信号が読比しモードのときは、デ
ータ1i314aの負動作バッファを導通させ(即ち°
’0”)、逆に書込みモードのときは正動作バッファを
導通させる(即ち”l”)。更に、信号線621のRW
傷信号16ビツトの信号であり、各メモリブロック21
0 a ”−p 4: 1ビツトずつ接続されており、
各プロセッサからのR/W信号を、アクセスされたメモ
リブロックに送出している。こうして、アクセス終了信
号が信号線628を介してバッファ6゜1aまたは60
1bに入力されると、バッファ内に蓄積されている次の
メモリブロックの番号が信号線609a、b、610a
、bに出力される。
06aを導通させ、かつ正動作バッファ307pを導通
させる。信号線311の信号DIRPのデータ1131
4aに関してはR/W信号が読比しモードのときは、デ
ータ1i314aの負動作バッファを導通させ(即ち°
’0”)、逆に書込みモードのときは正動作バッファを
導通させる(即ち”l”)。更に、信号線621のRW
傷信号16ビツトの信号であり、各メモリブロック21
0 a ”−p 4: 1ビツトずつ接続されており、
各プロセッサからのR/W信号を、アクセスされたメモ
リブロックに送出している。こうして、アクセス終了信
号が信号線628を介してバッファ6゜1aまたは60
1bに入力されると、バッファ内に蓄積されている次の
メモリブロックの番号が信号線609a、b、610a
、bに出力される。
次に、画素アクセス方式でのアクセスの場合について説
明する。例としてプロセッサ212aとプロセッサ21
2bが画素アクセスを行い、説明を簡易にするために他
の2つのプロセッサからのアクセスはないものとする。
明する。例としてプロセッサ212aとプロセッサ21
2bが画素アクセスを行い、説明を簡易にするために他
の2つのプロセッサからのアクセスはないものとする。
プロセッサ212aと212bはまず信号線628を介
してバッファ601aと601bを画素アクセスモード
に設定する。次にプロセッサ212aと212bは信号
線608a、608bを介してアクセスするメモリブロ
ック番号をバッファ601a、601bに格納する。そ
の後、信号線609a、b、610a、610bを介し
て各メモリブロック番号が遅延器602及び衝突検出器
605に供給−される。衝突検出器605はブロックア
クセス時と同様にして、同じメモリブロックへのアクセ
ス要求が衝突したかを検出する。
してバッファ601aと601bを画素アクセスモード
に設定する。次にプロセッサ212aと212bは信号
線608a、608bを介してアクセスするメモリブロ
ック番号をバッファ601a、601bに格納する。そ
の後、信号線609a、b、610a、610bを介し
て各メモリブロック番号が遅延器602及び衝突検出器
605に供給−される。衝突検出器605はブロックア
クセス時と同様にして、同じメモリブロックへのアクセ
ス要求が衝突したかを検出する。
更にこの結果をうけたコントローラ607は、ブロック
アクセス時と同様にして優先順位を参照して各プロセッ
サ及びゲート603にアクセス可又はウェイト信号を送
出する。ゲート603はこれに基づいて、必要とされる
メモリブロック番号をデコーダ604に送り、このデコ
ーダ604はブロックアクセス時と同様にして制御信号
を各信号線に出力する。こうして、プロセッサ212a
と212bは順次にアドレス即ちメモリブロック番号を
生成してバスコントローラ105に出力するため、この
画素毎のタイミングでバスコントローラ105の内部状
態が切換えられる。
アクセス時と同様にして優先順位を参照して各プロセッ
サ及びゲート603にアクセス可又はウェイト信号を送
出する。ゲート603はこれに基づいて、必要とされる
メモリブロック番号をデコーダ604に送り、このデコ
ーダ604はブロックアクセス時と同様にして制御信号
を各信号線に出力する。こうして、プロセッサ212a
と212bは順次にアドレス即ちメモリブロック番号を
生成してバスコントローラ105に出力するため、この
画素毎のタイミングでバスコントローラ105の内部状
態が切換えられる。
くシステム規模の変更〉
各システム内の構成部分は、メモリブロック210a〜
210p、プロセッサ212a〜212dを単位にして
構成されている。そこで、システムの規模を変更する場
合には、これらの回路を増減するだけでよい。これらの
回路を予め要求される分だけを用意して実際に実装して
お(たけて、簡単にメモリ容量やプロセッサの数を変更
することが可能である。また、これらの回路やプロセッ
サ及びその周辺、メモリブロック及びその周辺をモジュ
ール化しておき、必要に応じてメモリ容量やプロセッサ
数を変更できるようにすることも可能である。
210p、プロセッサ212a〜212dを単位にして
構成されている。そこで、システムの規模を変更する場
合には、これらの回路を増減するだけでよい。これらの
回路を予め要求される分だけを用意して実際に実装して
お(たけて、簡単にメモリ容量やプロセッサの数を変更
することが可能である。また、これらの回路やプロセッ
サ及びその周辺、メモリブロック及びその周辺をモジュ
ール化しておき、必要に応じてメモリ容量やプロセッサ
数を変更できるようにすることも可能である。
なお、前述した回路構成以外に、タイミング合せのため
のラッチ回路の増設や削除等のハードウェアの変更も可
能であり、実施例中におけるバス衝突検出、優先順位に
よるバス衝突回避はこれに限定されず、他の検出回路に
よって行ってもかまわない。また、複数のプロセッサが
完全に同時に同じ画素を読出す場合については、この実
施例を用いて行うことも可能であり、この場合デコーダ
604によって制御を変更すればよい。
のラッチ回路の増設や削除等のハードウェアの変更も可
能であり、実施例中におけるバス衝突検出、優先順位に
よるバス衝突回避はこれに限定されず、他の検出回路に
よって行ってもかまわない。また、複数のプロセッサが
完全に同時に同じ画素を読出す場合については、この実
施例を用いて行うことも可能であり、この場合デコーダ
604によって制御を変更すればよい。
[ブロックアクセス活用のアプリケーション例]ここで
は、本実施例の演算部104の複数の演算要素をバス接
続・交換制御部105及びバス接続・交換部106を用
いてデータメモリ部107と接続・交換する機能を、レ
イトレーシング法で画像を生成する演算を実行する場合
を例に説明する。
は、本実施例の演算部104の複数の演算要素をバス接
続・交換制御部105及びバス接続・交換部106を用
いてデータメモリ部107と接続・交換する機能を、レ
イトレーシング法で画像を生成する演算を実行する場合
を例に説明する。
レイトレーシング法とは、第13図に示すように、スク
リーン上の各画素を通る視線ごとに、この各視線と最初
に交わる物体を探索し、この物体上の表面色をもって、
それぞれの画素のもつ画素値を決定してい(もので、ス
クリーン上の各画素に対して、全く同様な探索法を(り
返す方式である。なお、各画素の間は互いに独立に探索
が可能である。第13図から容易に推測可能な様に、画
像を複数の画像の小領域をブロックとして、ブロック単
位に並列に実行することが可能である。
リーン上の各画素を通る視線ごとに、この各視線と最初
に交わる物体を探索し、この物体上の表面色をもって、
それぞれの画素のもつ画素値を決定してい(もので、ス
クリーン上の各画素に対して、全く同様な探索法を(り
返す方式である。なお、各画素の間は互いに独立に探索
が可能である。第13図から容易に推測可能な様に、画
像を複数の画像の小領域をブロックとして、ブロック単
位に並列に実行することが可能である。
第14図はこの扱う画像のサイズが2048画素X20
48画素より構成され、512画素×512画素よりな
る16の正方小領域に分割されている。これら16個の
正方小領域は、MBO−MB15と番号付けられて区別
されている。
48画素より構成され、512画素×512画素よりな
る16の正方小領域に分割されている。これら16個の
正方小領域は、MBO−MB15と番号付けられて区別
されている。
第2図において、各演算要素211a〜211dに対し
て、レイトレースするに必要となる形状データ、各形状
の配置を表現するデータ、光源データ、視点データ、ス
クリーンの位置、各形状の表面色データ等の3次元の世
界を記述しているデータと、これをレンダリングするア
ルゴリズムを実行するプログラム及び各プロセッサが担
当すべきスクリーン領域が情報としてダウンロードされ
、各プロセッサに独立に配置されているプログラムメモ
リ213a〜213dに対して、前述の方法でそれぞれ
ダウンロードされる。
て、レイトレースするに必要となる形状データ、各形状
の配置を表現するデータ、光源データ、視点データ、ス
クリーンの位置、各形状の表面色データ等の3次元の世
界を記述しているデータと、これをレンダリングするア
ルゴリズムを実行するプログラム及び各プロセッサが担
当すべきスクリーン領域が情報としてダウンロードされ
、各プロセッサに独立に配置されているプログラムメモ
リ213a〜213dに対して、前述の方法でそれぞれ
ダウンロードされる。
ここで、スクリーン領域とは、第13図のスクリーン1
101を16個の領域に分割してなるそれぞれ5BO−
5B15と名付けられたスクリーン上の小領域のことで
ある。これらスクリーン上の小領域5BO−3B15が
、それぞれ前記第14図のMBO〜MB15に対応して
いる。212a〜212dの4個のプロセッサのそれぞ
れ4本まで使用可能なシリアル通信手段は、プログラム
がメインCPUl0Iより通信路交換制御部1゜01(
第3図)を制御することによって、第15図の様に設定
される。
101を16個の領域に分割してなるそれぞれ5BO−
5B15と名付けられたスクリーン上の小領域のことで
ある。これらスクリーン上の小領域5BO−3B15が
、それぞれ前記第14図のMBO〜MB15に対応して
いる。212a〜212dの4個のプロセッサのそれぞ
れ4本まで使用可能なシリアル通信手段は、プログラム
がメインCPUl0Iより通信路交換制御部1゜01(
第3図)を制御することによって、第15図の様に設定
される。
第15図において、14o1はプロセッサ212aとプ
ロセッサ212bの間を結ぶシリアル通信路を示す。同
様に、14o2はプロセッサ212bとプロセッサ21
2cとの間を結ぶシリアル通信路、1403はプロセッ
サ212cとプロセッサ212dとの間を結ぶシリアル
通信路、1404はプロセッサ212dとプロセッサ2
12aとの間を結ぶシリアル通信路、14o5はプロセ
ッサ212aとプロセッサ212cとの間を結ぶシリア
ル通信路、1406はプロセッサ212bとプロセッサ
212dとの間を結ぶシリアル通信路を示している。尚
、1400は第3図のパラレル/シリアル変換器100
4とプロセッサ212aとの間を結ぶシリアル通信路を
示す。並列処理部103は、この通信路1400を通じ
て、メインCPLIIOIよりプログラム及びデータを
ダウンロードされ、また必要に応じてメインCPU 1
01と交信するものである。
ロセッサ212bの間を結ぶシリアル通信路を示す。同
様に、14o2はプロセッサ212bとプロセッサ21
2cとの間を結ぶシリアル通信路、1403はプロセッ
サ212cとプロセッサ212dとの間を結ぶシリアル
通信路、1404はプロセッサ212dとプロセッサ2
12aとの間を結ぶシリアル通信路、14o5はプロセ
ッサ212aとプロセッサ212cとの間を結ぶシリア
ル通信路、1406はプロセッサ212bとプロセッサ
212dとの間を結ぶシリアル通信路を示している。尚
、1400は第3図のパラレル/シリアル変換器100
4とプロセッサ212aとの間を結ぶシリアル通信路を
示す。並列処理部103は、この通信路1400を通じ
て、メインCPLIIOIよりプログラム及びデータを
ダウンロードされ、また必要に応じてメインCPU 1
01と交信するものである。
以下、第16図〜第18図のフローチャートに基づいて
説明する。第16図はプロセッサ212aに関するプロ
グラムとして表現されている。プロセッサ212aでは
スクリーン上の小領域SBO,SB4.SB8,5B1
2が暗黙の処理領域の分担として定められている。また
、プロセッサ212bにはSBI、SB5.SB9,5
B13が、プロセッサ212cにはSB2.SB6,5
BIO,5B14が、プロセッサ212dにはSB3.
SB7.SBI 1,5B15が暗黙の処理領域として
割り振られている。
説明する。第16図はプロセッサ212aに関するプロ
グラムとして表現されている。プロセッサ212aでは
スクリーン上の小領域SBO,SB4.SB8,5B1
2が暗黙の処理領域の分担として定められている。また
、プロセッサ212bにはSBI、SB5.SB9,5
B13が、プロセッサ212cにはSB2.SB6,5
BIO,5B14が、プロセッサ212dにはSB3.
SB7.SBI 1,5B15が暗黙の処理領域として
割り振られている。
ステップS1で処理を開始する。プロセッサ212aの
暗黙の処理領域として割付けられている小領域SBO,
SB4.SB8,5B12(7)各ブロック毎に、未処
理の領域であるが否かを示すフラグ(以下、各々SBO
処理フラグ、SB4処理フラグ、SB8処理フラグ、5
B12処理フラグと呼ぶ)が用意されている。
暗黙の処理領域として割付けられている小領域SBO,
SB4.SB8,5B12(7)各ブロック毎に、未処
理の領域であるが否かを示すフラグ(以下、各々SBO
処理フラグ、SB4処理フラグ、SB8処理フラグ、5
B12処理フラグと呼ぶ)が用意されている。
ステップS2では、これらのフラグを全てリセットして
、SBO,SB4.SB8,5B12は全て未処理の状
態であるとしてフラグを初期化する。ステップS3では
、第17図に示すフローチャートに従って、未処理の小
領域(以下、空領域と呼ぶ)を探す。
、SBO,SB4.SB8,5B12は全て未処理の状
態であるとしてフラグを初期化する。ステップS3では
、第17図に示すフローチャートに従って、未処理の小
領域(以下、空領域と呼ぶ)を探す。
第17図はこの空き領域を探す処理を示すフローチャー
トで、ここでは各小領域に対応したフラグを調べ、リセ
ットされていればその小領域の処理フラグをセットし、
その小領域のブロック番号を処理ブロック番号レジスタ
にセットする。また、小領域のいずれかに空領域がある
場合には、空領域の存在を示すフラグ(以下、空領域存
在フラグと呼ぶ)をセットするが、空領域がない場合に
は、この空領域存在フラグをリセットして、空領域が存
在しないことを明示する。
トで、ここでは各小領域に対応したフラグを調べ、リセ
ットされていればその小領域の処理フラグをセットし、
その小領域のブロック番号を処理ブロック番号レジスタ
にセットする。また、小領域のいずれかに空領域がある
場合には、空領域の存在を示すフラグ(以下、空領域存
在フラグと呼ぶ)をセットするが、空領域がない場合に
は、この空領域存在フラグをリセットして、空領域が存
在しないことを明示する。
ステップS4では、ステップS3で空領域存在フラグの
状態を基に、空き状態があるかないかを判別する。空領
域がある場合にはステップS5へ、ない場合にはステッ
プSllへ進む。ステップS5では、処理ブロック番号
レジスタに格納されている空領域番号で指定される空領
域のレンダリング処理を行なう。次にステップS6に進
み、他のプロセッサからシリアル通信路を経由して、プ
ロセッサ212aのもつ暗黙に割りつけられた処理領域
中に空領域が有るか否かの問い合わせがあったか否かを
判断している。問合せがなかった場合にはステップS3
へ戻り、問合せがあった場合にはステップS7へ進む。
状態を基に、空き状態があるかないかを判別する。空領
域がある場合にはステップS5へ、ない場合にはステッ
プSllへ進む。ステップS5では、処理ブロック番号
レジスタに格納されている空領域番号で指定される空領
域のレンダリング処理を行なう。次にステップS6に進
み、他のプロセッサからシリアル通信路を経由して、プ
ロセッサ212aのもつ暗黙に割りつけられた処理領域
中に空領域が有るか否かの問い合わせがあったか否かを
判断している。問合せがなかった場合にはステップS3
へ戻り、問合せがあった場合にはステップS7へ進む。
ステップS7ではステップS3と同様に空領域の存在を
チエツクし、空領域存在フラグを設定する。空領域が存
在した場合は、空領域の番号を空領域番号レジスタに設
定する。次にステップS8に進み、空領域存在フラグに
よりステップS7での判定結果を吟味し、空領域が存在
する場合はステップS9に進み、間合せてきたプロセッ
サへ空領域番号を返答してステップS6に戻る。一方、
空領域が存在しない場合はステップSIOへ進み、空領
域無しであることを間合せてきたプロセッサへ返答して
、ステップS6に戻る。
チエツクし、空領域存在フラグを設定する。空領域が存
在した場合は、空領域の番号を空領域番号レジスタに設
定する。次にステップS8に進み、空領域存在フラグに
よりステップS7での判定結果を吟味し、空領域が存在
する場合はステップS9に進み、間合せてきたプロセッ
サへ空領域番号を返答してステップS6に戻る。一方、
空領域が存在しない場合はステップSIOへ進み、空領
域無しであることを間合せてきたプロセッサへ返答して
、ステップS6に戻る。
一方、ステップS4で空き領域がないときはステップ$
11に進む。この時は、プロセッサ212aに暗黙に割
当てられた小領域はすべて未処理状態ではなくなった状
況である。ここで、他のプロセッサに対し、空領域の存
在を尋ねるために、尋ねるべき他のプロセッサの番号を
間合せプロセッサ番号レジスタにセットする。次にステ
ップS12に進み、間合せプロセッサ番号レジスタで指
定されたプロセッサに対して、空領域の有無を間合せ、
他のプロセッサに空領域が有れば、その空領域のレンダ
リング処理を行なう。空領域がなければ、ステップS1
2の処理を終えてステップS13へ進む。ステップS1
2では更に、以上の処理中に他のプロセッサより空領域
の問合せがあった場合に空領域は無い旨を返答している
。
11に進む。この時は、プロセッサ212aに暗黙に割
当てられた小領域はすべて未処理状態ではなくなった状
況である。ここで、他のプロセッサに対し、空領域の存
在を尋ねるために、尋ねるべき他のプロセッサの番号を
間合せプロセッサ番号レジスタにセットする。次にステ
ップS12に進み、間合せプロセッサ番号レジスタで指
定されたプロセッサに対して、空領域の有無を間合せ、
他のプロセッサに空領域が有れば、その空領域のレンダ
リング処理を行なう。空領域がなければ、ステップS1
2の処理を終えてステップS13へ進む。ステップS1
2では更に、以上の処理中に他のプロセッサより空領域
の問合せがあった場合に空領域は無い旨を返答している
。
次に、ステップS13に進み、次に尋ねるべき他のプロ
セッサ番号を間合せプロセッサ番号レジスタにセットす
る。そして、ステップS14で、間合せプロセッサ番号
レジスタにセットされているプロセッサ番号の指すプロ
セッサに対し、ステップS12と同様の処理を行なう。
セッサ番号を間合せプロセッサ番号レジスタにセットす
る。そして、ステップS14で、間合せプロセッサ番号
レジスタにセットされているプロセッサ番号の指すプロ
セッサに対し、ステップS12と同様の処理を行なう。
次にステップS15では、またもう一つの他のプロセッ
サ番号を間合せプロセッサ番号レジスタにセットし、ス
テップ316で、ステップS12及びステップS14と
同様の処理を行なう。本例では、ステップSllではプ
ロセッサ212bを、ステップS13ではプロセッサ2
12cを、ステップS15ではプロセッサ212dを指
定している。また、ステップS12.S14.S16は
同一の処理内容であり、第18図にその詳細を示す。
サ番号を間合せプロセッサ番号レジスタにセットし、ス
テップ316で、ステップS12及びステップS14と
同様の処理を行なう。本例では、ステップSllではプ
ロセッサ212bを、ステップS13ではプロセッサ2
12cを、ステップS15ではプロセッサ212dを指
定している。また、ステップS12.S14.S16は
同一の処理内容であり、第18図にその詳細を示す。
第18図は間合せるように指示されたプロセッサに空き
領域があるかどうかを間合せる処理を示すフローチャー
トである。
領域があるかどうかを間合せる処理を示すフローチャー
トである。
まずステップS21で処理を開始すると、ステップS2
2で間合せプロセッサ番号レジスタで指定されたプロセ
ッサへ空き領域があるかを間合せる。ステップS23で
返答の有無を見て、返答がまだ無い場合にはステップS
24へ進む。ステップS24では、他のプロセッサから
空領域の問合せが有るかどうかを判断し、他のプロセッ
サよりの空領域の問合せがあった場合はステップS25
へ進み、間合せて来たプロセッサに対し、空領域は無い
旨を返答してステップS24へ戻る。
2で間合せプロセッサ番号レジスタで指定されたプロセ
ッサへ空き領域があるかを間合せる。ステップS23で
返答の有無を見て、返答がまだ無い場合にはステップS
24へ進む。ステップS24では、他のプロセッサから
空領域の問合せが有るかどうかを判断し、他のプロセッ
サよりの空領域の問合せがあった場合はステップS25
へ進み、間合せて来たプロセッサに対し、空領域は無い
旨を返答してステップS24へ戻る。
ステップS24で空領域の問合せが無い場合はステップ
S23へ戻るが返答があった場合はステップS26へ進
む、ステップS26で空領域があったか否かを判断し、
空領域がある場合にはステップS27へ、無い場合には
ステップS30へ進む。ステップS27では、他のプロ
セッサからの空き領域の問合せがあったか否かを判定し
、問合せが有る場合はステップS28へ進み、間合せて
来たプロセッサに対して、空領域の無い旨を返答してス
テップS27へ戻る。一方、ステップS27で他のプロ
セッサよりの間合せがなかった場合はステップS29に
進み、返答でうけた他のプロセッサの空き領域をレンダ
ワング処理してステップS22へ戻る。ステップ326
で空領域が無い場合にはステップS30へ進み、他のプ
ロセッサから、暗黙で割り付けられている領域に空領域
が有るか否かの問い合せを受けたか否かを判断し、問合
せを受けた場合は、ステップS31で空領域が無い旨を
返答してステップS30へ戻る。ステップS30で問合
せを受けていない場合には、連の処理を終了してメイン
ルーチンに戻る。
S23へ戻るが返答があった場合はステップS26へ進
む、ステップS26で空領域があったか否かを判断し、
空領域がある場合にはステップS27へ、無い場合には
ステップS30へ進む。ステップS27では、他のプロ
セッサからの空き領域の問合せがあったか否かを判定し
、問合せが有る場合はステップS28へ進み、間合せて
来たプロセッサに対して、空領域の無い旨を返答してス
テップS27へ戻る。一方、ステップS27で他のプロ
セッサよりの間合せがなかった場合はステップS29に
進み、返答でうけた他のプロセッサの空き領域をレンダ
ワング処理してステップS22へ戻る。ステップ326
で空領域が無い場合にはステップS30へ進み、他のプ
ロセッサから、暗黙で割り付けられている領域に空領域
が有るか否かの問い合せを受けたか否かを判断し、問合
せを受けた場合は、ステップS31で空領域が無い旨を
返答してステップS30へ戻る。ステップS30で問合
せを受けていない場合には、連の処理を終了してメイン
ルーチンに戻る。
以上、プロセッサ212aの場合のプログラムを例に説
明をしたが、プロセッサ212b〜プロセツサ212d
に対しても、プログラムも暗黙に割付けられている小領
域が異なり、空領域の有無を間合せるプロセッサ番号が
異なるだけで、全く同様のプログラムで動作するもので
ある。
明をしたが、プロセッサ212b〜プロセツサ212d
に対しても、プログラムも暗黙に割付けられている小領
域が異なり、空領域の有無を間合せるプロセッサ番号が
異なるだけで、全く同様のプログラムで動作するもので
ある。
このようにして、第13図で示されるスクリーン上の各
小領域が全て処理される。
小領域が全て処理される。
(以下余白)
[データメモリからビデオフレームメモリへの画像デー
タの転送] ここでは、演算部103内のデータメモリ107に格納
されている画像データを、モニタデイスプレィ111に
表示するために、ビデオメモリ110へ画像データを高
速に転送する処理を第1図及び第20図を用いて説明す
る。第20図は、本実施例で必要な部分だけを第1図か
ら抜粋したものである。第1図と同じ動作をするものは
同一番号を付して示している。
タの転送] ここでは、演算部103内のデータメモリ107に格納
されている画像データを、モニタデイスプレィ111に
表示するために、ビデオメモリ110へ画像データを高
速に転送する処理を第1図及び第20図を用いて説明す
る。第20図は、本実施例で必要な部分だけを第1図か
ら抜粋したものである。第1図と同じ動作をするものは
同一番号を付して示している。
1010はアドレス発生器であり、第1図内の高速バス
I/F部108及び、システムバスI/F109部を合
わせたものである。107は演算部内のデータメモリ部
で、演算のための画像データを格納するメモリ部である
。説明を簡単にするために本実施例では、2048X2
048画素。
I/F部108及び、システムバスI/F109部を合
わせたものである。107は演算部内のデータメモリ部
で、演算のための画像データを格納するメモリ部である
。説明を簡単にするために本実施例では、2048X2
048画素。
R,G、B画像データは各8ビツトの構成であるとする
。1011はアドレス発生器であり、アドレス発生器1
010と同様のものである。1012はビデオフレーム
メモリであり、111のモニタデイスプレィに表示する
ための画像データを格納するメモリである。説明を簡単
にするため、本実施例では、1280X1024画素、
1画素のR,G、Bは各8ビツトの構成であるとする。
。1011はアドレス発生器であり、アドレス発生器1
010と同様のものである。1012はビデオフレーム
メモリであり、111のモニタデイスプレィに表示する
ための画像データを格納するメモリである。説明を簡単
にするため、本実施例では、1280X1024画素、
1画素のR,G、Bは各8ビツトの構成であるとする。
また、1013”は表示変換器であり、ビデオフレーム
メモリ1012に蓄積されたデジタルビデオ画像データ
をアナログ画像にD/A変換等する。111は、例えば
CRT表示装置等のモニタであり、アナログ信号に従っ
て画像を表示する。本実施例では、モニタの解像度を1
280x1024画素とする。
メモリ1012に蓄積されたデジタルビデオ画像データ
をアナログ画像にD/A変換等する。111は、例えば
CRT表示装置等のモニタであり、アナログ信号に従っ
て画像を表示する。本実施例では、モニタの解像度を1
280x1024画素とする。
先ず、動作概略について説明すると、操作者は転送した
いデータメモリ部内の先頭アドレス、転送領域の主走査
/副走査方向の画素数、及び転送先のビデオフレームメ
モリ内の先頭アドレス等、この転送処理に必要な情報を
図示しないキーボードやマウスに代表されるポインティ
ングデバイス等を用いて指定する。これらの情報を基に
、メインcpu i o iがシステムバス116を通
して該当する並列処理部103内のアドレス発生器10
10及びビデオフレームメモリ110内のアドレス発生
器1011にその旨を指示し、高速画像転送バス117
を経由して画像データを高速に転送する。
いデータメモリ部内の先頭アドレス、転送領域の主走査
/副走査方向の画素数、及び転送先のビデオフレームメ
モリ内の先頭アドレス等、この転送処理に必要な情報を
図示しないキーボードやマウスに代表されるポインティ
ングデバイス等を用いて指定する。これらの情報を基に
、メインcpu i o iがシステムバス116を通
して該当する並列処理部103内のアドレス発生器10
10及びビデオフレームメモリ110内のアドレス発生
器1011にその旨を指示し、高速画像転送バス117
を経由して画像データを高速に転送する。
以下、詳細に動作原理を説明する。
第21図は、アドレス発生器1010/1011の構成
を示すブロック図である。
を示すブロック図である。
図において、10200は、双方向のデータマルチプレ
クサ(MPX)であり、システムデータ及び画像データ
の流れを切替える。10201も同様にマルチプレクサ
であり、システムアドレスと内部発生アドレスを切替え
る。並列処理部103は、例えばDRAM等で構成され
、ストローブ信号に従って、画像データを高速に読書き
することができる。
クサ(MPX)であり、システムデータ及び画像データ
の流れを切替える。10201も同様にマルチプレクサ
であり、システムアドレスと内部発生アドレスを切替え
る。並列処理部103は、例えばDRAM等で構成され
、ストローブ信号に従って、画像データを高速に読書き
することができる。
一方、10205はYレジスタであり、画像データの転
送開始Yアドレスを保持する。10203はROW
(行)カウンタであり、転送のための垂直同期(V−s
ync)信号10215によってYレジスタ10205
の内容をロードし、その後は同じく転送のための水平同
期(H−3ync)信号10214によって1インクリ
メントされる。10204はXレジスタで、画像データ
の転送開始Xアドレスを保持する。10202はカラム
(列)カウンタであり、H−Sync信号10214に
よってXレジスタ10204の内容をロードし、その後
は転送のためのクロック(CLK)信号10213によ
って1インクリメントされる。10207.10208
はシフタで、それぞれ指令によって各カウンタ1020
2,10203の出力(内部発生アドレス)をシフトす
る。10206は制御レジスタであり、カラムカウンタ
10202.行カウンタ10203の出力を何れの方向
に何ビットシフトするかの情報を保持している。即ち、
レジスタ10206=Oなら“0″ビツト、=−1なら
下位方向に“1”ビット、=1なら上位方向に“1°。
送開始Yアドレスを保持する。10203はROW
(行)カウンタであり、転送のための垂直同期(V−s
ync)信号10215によってYレジスタ10205
の内容をロードし、その後は同じく転送のための水平同
期(H−3ync)信号10214によって1インクリ
メントされる。10204はXレジスタで、画像データ
の転送開始Xアドレスを保持する。10202はカラム
(列)カウンタであり、H−Sync信号10214に
よってXレジスタ10204の内容をロードし、その後
は転送のためのクロック(CLK)信号10213によ
って1インクリメントされる。10207.10208
はシフタで、それぞれ指令によって各カウンタ1020
2,10203の出力(内部発生アドレス)をシフトす
る。10206は制御レジスタであり、カラムカウンタ
10202.行カウンタ10203の出力を何れの方向
に何ビットシフトするかの情報を保持している。即ち、
レジスタ10206=Oなら“0″ビツト、=−1なら
下位方向に“1”ビット、=1なら上位方向に“1°。
ビットシフトする。以下、同様である。
また、10209.10210はレジスタで、シフタ1
0207,10208を通過したアドレス情報に加える
べきアドレスデータを夫々保持する。10211.10
212は加算器であり、シフタ10207,10208
を通過したアドレス情報とレジスタ10209.102
10の内容を夫々加算する。
0207,10208を通過したアドレス情報に加える
べきアドレスデータを夫々保持する。10211.10
212は加算器であり、シフタ10207,10208
を通過したアドレス情報とレジスタ10209.102
10の内容を夫々加算する。
一方、10221はYレングスレジスタであり、画像デ
ータの転送Yレングスを保持する。10219はYカウ
ンタであり、■信号10215でクリアされた後、H信
号10214を入力する毎に+1される。10220は
比較器であり、Yカウンタ10219の内容がYレング
スレジスタ10211の内容より小さい間は論理ルベル
の信号を出力する。また、10218はXレングスレジ
スタであり、画像データの転送Xレングスを保持する。
ータの転送Yレングスを保持する。10219はYカウ
ンタであり、■信号10215でクリアされた後、H信
号10214を入力する毎に+1される。10220は
比較器であり、Yカウンタ10219の内容がYレング
スレジスタ10211の内容より小さい間は論理ルベル
の信号を出力する。また、10218はXレングスレジ
スタであり、画像データの転送Xレングスを保持する。
10216はカウンタで、H信号10214でクリアさ
れ、その後、クロック信号10213を入力する毎に+
1される。10217は比較器であり、Xカウンタ10
2.16の内容がXレングスレジスタ10218の内容
より小さい間は論理ルベルの信号を出力する。1022
2はAND回路であり、比較器10220及び1021
7の出力が共に論理ルベルの間はRAMlO12に対し
てチップイネーブル信号CEを出力する。従って、この
CE倍信号出力されている間は、ストローブ信号に同期
して画像データをRAMlO12に書込むことができる
。
れ、その後、クロック信号10213を入力する毎に+
1される。10217は比較器であり、Xカウンタ10
2.16の内容がXレングスレジスタ10218の内容
より小さい間は論理ルベルの信号を出力する。1022
2はAND回路であり、比較器10220及び1021
7の出力が共に論理ルベルの間はRAMlO12に対し
てチップイネーブル信号CEを出力する。従って、この
CE倍信号出力されている間は、ストローブ信号に同期
して画像データをRAMlO12に書込むことができる
。
以下、転送動作の具体例を説明する。
く等倍転送〉
演算部103内のデータメモリ部107の任意の(12
80X 1024)画素分の領域を等倍でビデオフレー
ムメモリ1012に転送する。この場合はメインCPU
101は、以下の初期設定をする。
80X 1024)画素分の領域を等倍でビデオフレー
ムメモリ1012に転送する。この場合はメインCPU
101は、以下の初期設定をする。
[データメモリ部]
Xレジスタ10204=X転送開始アドレスYレジスタ
10203=Y転送開始アドレスMPX10200=高
速画像転送バス接続MPX10201=内部アドレス使
用 レジスタ10206=0 レジスタ10209、レジスタ10210=OXレング
スレジスタ10218=1280Yレングスレジスタ1
0221=1024[ビデオフレームメモリ] Xレジスタ10204=O Yレジスタ10203=O MP10203=O高速画像転送バス接続MPX102
01=内部アドレス使用 レジスタ10206,10209.10210二〇 Xレングスレジスタ10218=1280Yレングスレ
ジスタ10221=1024このように初期設定した後
、メインCPUl01がスタートをかけると、データメ
モリ部107のアドレスX、Yで始まる(1280X1
024)画素分の画像データがビデオフレームメモリ1
012の番地(0,O)で始まるエリアに高速画像デー
タ転送される。
10203=Y転送開始アドレスMPX10200=高
速画像転送バス接続MPX10201=内部アドレス使
用 レジスタ10206=0 レジスタ10209、レジスタ10210=OXレング
スレジスタ10218=1280Yレングスレジスタ1
0221=1024[ビデオフレームメモリ] Xレジスタ10204=O Yレジスタ10203=O MP10203=O高速画像転送バス接続MPX102
01=内部アドレス使用 レジスタ10206,10209.10210二〇 Xレングスレジスタ10218=1280Yレングスレ
ジスタ10221=1024このように初期設定した後
、メインCPUl01がスタートをかけると、データメ
モリ部107のアドレスX、Yで始まる(1280X1
024)画素分の画像データがビデオフレームメモリ1
012の番地(0,O)で始まるエリアに高速画像デー
タ転送される。
〈間引き転送〉
演算部103内のデータメモリ部107の任意の(12
80X1024)画素分の領域を1/2に間引きして、
ビデオフレームメモリ1012に転送する。この場合は
、メインCPUI 01は以下のように初期設定をする
。
80X1024)画素分の領域を1/2に間引きして、
ビデオフレームメモリ1012に転送する。この場合は
、メインCPUI 01は以下のように初期設定をする
。
[データメモリ部]
Xレジスタ10204=X転送開始アドレスYレジスタ
10203=Y転送開始アドレスMPX10200=高
速画像転送バス接続MPX10201=内部アドレス使
用 レジスタ10206=+ル ラスタ10209.10210=O Xレングスレジスタ10218=1280Yレングスレ
ジスタ10221=1024[ビデオフレームメモリ] Xレジスタ10204=O Yレジスタ10203=O MPXO203=O高XO203=O高速;0 Xレングスレジスタ10218=1280Yレングスレ
ジスタ10221=1024このように初期設定した後
、メインCPUl01がスタートをかけると、データメ
モリ部107のアドレスX,Yで始まる(1280X1
024)画素分の画像データがビデオフレームメモリ1
012の番地(0,O)で始まるエリアに間弓き転送さ
れる。この間引きは、データメモリ部107のX,Y共
に、上位方向への1ビツトシフトであるため、X,Y方
向にそれぞれ1/2である。
10203=Y転送開始アドレスMPX10200=高
速画像転送バス接続MPX10201=内部アドレス使
用 レジスタ10206=+ル ラスタ10209.10210=O Xレングスレジスタ10218=1280Yレングスレ
ジスタ10221=1024[ビデオフレームメモリ] Xレジスタ10204=O Yレジスタ10203=O MPXO203=O高XO203=O高速;0 Xレングスレジスタ10218=1280Yレングスレ
ジスタ10221=1024このように初期設定した後
、メインCPUl01がスタートをかけると、データメ
モリ部107のアドレスX,Yで始まる(1280X1
024)画素分の画像データがビデオフレームメモリ1
012の番地(0,O)で始まるエリアに間弓き転送さ
れる。この間引きは、データメモリ部107のX,Y共
に、上位方向への1ビツトシフトであるため、X,Y方
向にそれぞれ1/2である。
〈k回分側転送〉
この項では、画像データをに回に分けて転送する場合を
考える。
考える。
第22図は本実施例の画像データの転送動作を説明する
概念図である。
概念図である。
図において、1031はデータメモリ部107の一部、
1033はビデオフレームメモリ1012の一部を示す
。尚、ビデオフレームメモリ1012の内容は予めクリ
アしておく。K=4回とすると、データメモリ107の
画像データ1031を(2X2)画素毎にブロック化し
、例えば1回目は○印の全部、2回目はΔ印の全部、3
回目はx印の全部、4回目は口印の全部の如(して順に
4画面を転送する。このように転送すると、1回目の転
送終了時点でモニタ111によりO印から成る全体の概
略画像を素早(把握できる。更に、この時の画像データ
転送に要する時間は、全画像データを転送した場合に比
べ、1/4となる。
1033はビデオフレームメモリ1012の一部を示す
。尚、ビデオフレームメモリ1012の内容は予めクリ
アしておく。K=4回とすると、データメモリ107の
画像データ1031を(2X2)画素毎にブロック化し
、例えば1回目は○印の全部、2回目はΔ印の全部、3
回目はx印の全部、4回目は口印の全部の如(して順に
4画面を転送する。このように転送すると、1回目の転
送終了時点でモニタ111によりO印から成る全体の概
略画像を素早(把握できる。更に、この時の画像データ
転送に要する時間は、全画像データを転送した場合に比
べ、1/4となる。
また別の例として、データメモリ107の画像データ1
032とビデオフレームメモリ1012の画像データ1
033の関係がある。この場合もに=4回であるが、デ
ータメモリ107の画像データ1032を図示のごとく
間引いて転送することにより、ビデオフレームメモリ1
012の画像データ1033はX,Y方向共に1/2に
縮小されたものとなる。
032とビデオフレームメモリ1012の画像データ1
033の関係がある。この場合もに=4回であるが、デ
ータメモリ107の画像データ1032を図示のごとく
間引いて転送することにより、ビデオフレームメモリ1
012の画像データ1033はX,Y方向共に1/2に
縮小されたものとなる。
この時の転送動作の具体例を説明する。
〈4分割等倍転送〉
データメモリ部107のアドレス(0.0)で始まる(
1 280X l 024)画素分の画像データをビデ
オフレームメモリ1012のアドレス(0,O)で始ま
るエリアに等倍で転送するもので、K=4回とする。こ
の場合はメインCP’UIO1は以下の初期設定をする
。尚、特に記載しない場合は上述実施例と同様に考える
。
1 280X l 024)画素分の画像データをビデ
オフレームメモリ1012のアドレス(0,O)で始ま
るエリアに等倍で転送するもので、K=4回とする。こ
の場合はメインCP’UIO1は以下の初期設定をする
。尚、特に記載しない場合は上述実施例と同様に考える
。
[ビデオフレームメモリ]
Xレジスタ10204=0
Yレジスタ1 0203=O
xレングスレジスタ10218=1280Yレングスレ
ジスタ10221=1024レジスタ10206=O MP10206=O高速画儂転送バス接続MPX102
01=内部アドレス使用 [データメモリ部] Xレジスタ10204=O Yレジスタ10205=0 レジスタ10206=+ル ラスタ10209.10210(7)内容は転送1回ご
とに異なる。
ジスタ10221=1024レジスタ10206=O MP10206=O高速画儂転送バス接続MPX102
01=内部アドレス使用 [データメモリ部] Xレジスタ10204=O Yレジスタ10205=0 レジスタ10206=+ル ラスタ10209.10210(7)内容は転送1回ご
とに異なる。
画像データ○印の転送時は、
レジスタ10209=0
レジスタ10210=0
画像データΔ印の転送時は、
レジスタ10209=ル
ジメタ10210=0
画像データX印の転送は、
レジスタ10209=0
レジスタ10210=1
画像データロ印の転送時は、
レジスタ10209=ル
ラスタ10210=1
〈4分割間引き転送〉
この場合はX、Y共に1/2倍であり、K=4回とする
。この場合はメインCPUl0Iは以下のように初期設
定をする。
。この場合はメインCPUl0Iは以下のように初期設
定をする。
[データメモリ部]
レジスタ10206=+2
同じくレジスタ10209.10210の内容は転送1
回ごとに異なる。
回ごとに異なる。
画像データ○印の転送は、
レジスタ10209=0
レジスタ10210=0
画像データΔ印の転送時は、
レジスタ10209=2
レジスタ10210=0
画像データX印の転送は、
レジスタ10209=0
レジスタ10210=2
画像データロ印の転送時は、
レジスタ10209=2
レジスタ10210=2
本実施例では、並列演算部103のデータメモリ107
とビデオメモリ110の間での画像データ転送の説明を
したが、並列演算部103が複数個同一システム内に存
在する場合の、データメモリ部間での画像データ転送に
も使用できることは容易に推察できる。
とビデオメモリ110の間での画像データ転送の説明を
したが、並列演算部103が複数個同一システム内に存
在する場合の、データメモリ部間での画像データ転送に
も使用できることは容易に推察できる。
また本実施例では、転送する画像データのサイズは、1
280x1024画素で説明したが、このサイズに限ら
ないことも推察できる。更に、分割転送及び、間引き転
送の際の分割数、間引き率もこれに限定するものでない
。
280x1024画素で説明したが、このサイズに限ら
ないことも推察できる。更に、分割転送及び、間引き転
送の際の分割数、間引き率もこれに限定するものでない
。
本実施例のシステムの様に、データメモリ部107とビ
デオメモリ110とを分散させて待つことにより、並列
演算部103のデータメモリ1゜7の画像サイズは、モ
ニタデイスプレィ111の解像度、更には、ビデオメモ
リ110のデータサイズに係らず、任意のサイズのデー
タメモリ、例えば1024X1024画素、2048x
2048画素、4096X4096画素等を接続するこ
とができる。
デオメモリ110とを分散させて待つことにより、並列
演算部103のデータメモリ1゜7の画像サイズは、モ
ニタデイスプレィ111の解像度、更には、ビデオメモ
リ110のデータサイズに係らず、任意のサイズのデー
タメモリ、例えば1024X1024画素、2048x
2048画素、4096X4096画素等を接続するこ
とができる。
[大容量外部記憶装置からデータメモリへの画像データ
の転送] ここでは、大容量外部記憶装置102に格納されている
、画像データを並列演算するためにデータメモリ部へ転
送する処理を第1図、及び第19図を用いて説明する。
の転送] ここでは、大容量外部記憶装置102に格納されている
、画像データを並列演算するためにデータメモリ部へ転
送する処理を第1図、及び第19図を用いて説明する。
先ず、操作者が処理したい画像データファイル名、画像
データの主走査、副走査方向の画素数、転送先のデータ
メモリ部内のアドレス等、この処理に必要な情報を図示
しないキーボード等で指定する。これに−より、メイン
CPU 101が大容量外部記憶装置102内の該当す
る画像データファイルをアクセスして画像データを読出
し、システムバス116を経由して、データメモリ部1
07内の該当するアドレスにデータメモリ部107内の
画像データに従って、画像データを書込む。
データの主走査、副走査方向の画素数、転送先のデータ
メモリ部内のアドレス等、この処理に必要な情報を図示
しないキーボード等で指定する。これに−より、メイン
CPU 101が大容量外部記憶装置102内の該当す
る画像データファイルをアクセスして画像データを読出
し、システムバス116を経由して、データメモリ部1
07内の該当するアドレスにデータメモリ部107内の
画像データに従って、画像データを書込む。
詳細に説明すると、大容量外部記憶装置102には、画
像データが1次元の画像データとして記憶されているも
のとする。また説明を簡単にするために、画像データは
R,G、B各々8ビットで構成され、画素順次に外部記
憶装置102に格納されているものとする。また、デー
タメモリ部107のデータ構造は、1画素24ビツトで
あり、8ビツト毎のR,G、Bの順であるとする。
像データが1次元の画像データとして記憶されているも
のとする。また説明を簡単にするために、画像データは
R,G、B各々8ビットで構成され、画素順次に外部記
憶装置102に格納されているものとする。また、デー
タメモリ部107のデータ構造は、1画素24ビツトで
あり、8ビツト毎のR,G、Bの順であるとする。
この大容量外部記憶装置102に格納されている1次元
画像データを2次元の画像データとしてデータメモリ部
107に格納するためには、第19図に示すフローチャ
ートに従ってメインCPU101が処理を行なう。
画像データを2次元の画像データとしてデータメモリ部
107に格納するためには、第19図に示すフローチャ
ートに従ってメインCPU101が処理を行なう。
先ずCPUI O1は、ステップ、S41で指定された
ファイルをオーブンし、ステップS42で指定されたデ
ータメモリ内の先頭アドレスを計算する。その後ステッ
プS45で、■ライン分の画像データ、本実施例の場合
は主走査方向の画素数(R,G、Bのバイト数=3バイ
ト)をシステムバス116から読込み、ステップS46
でデータメモリ107上に1ライン分の画像データを書
込む。次にステップS47で、ラインの先頭アドレスを
計算する。この処理を、副走査方向のライン数分繰り返
した後、ステップS44で1画面の走査線・に応じた回
数だけ繰返すとステップS49に進み、オーブンしてい
る画像データファイルをクローズして処理を終了する。
ファイルをオーブンし、ステップS42で指定されたデ
ータメモリ内の先頭アドレスを計算する。その後ステッ
プS45で、■ライン分の画像データ、本実施例の場合
は主走査方向の画素数(R,G、Bのバイト数=3バイ
ト)をシステムバス116から読込み、ステップS46
でデータメモリ107上に1ライン分の画像データを書
込む。次にステップS47で、ラインの先頭アドレスを
計算する。この処理を、副走査方向のライン数分繰り返
した後、ステップS44で1画面の走査線・に応じた回
数だけ繰返すとステップS49に進み、オーブンしてい
る画像データファイルをクローズして処理を終了する。
本実施例では、画像データをロードする場合で説明した
が、画像データの格納も行なえることは容易に推察でき
る。また、外部記憶装置102に格納されている画像デ
ータのデータ構造及びデータメモリ107上の画像デー
タ構造は、上記で説明したデータ構造に限るものでない
ことも容易に推察できる。
が、画像データの格納も行なえることは容易に推察でき
る。また、外部記憶装置102に格納されている画像デ
ータのデータ構造及びデータメモリ107上の画像デー
タ構造は、上記で説明したデータ構造に限るものでない
ことも容易に推察できる。
〈他の実施例〉
ここでは、演算部104内にあるプロセッサ212a〜
dを直列に接続し、パイプライン的に接続した場合の動
作を第2図と第23図を用いて説明する。第23図は、
本実施例の概念図である。
dを直列に接続し、パイプライン的に接続した場合の動
作を第2図と第23図を用いて説明する。第23図は、
本実施例の概念図である。
この第23図に於て、第2図と同じ動作を行なうものに
は、同一の番号を付けである。
は、同一の番号を付けである。
図中、10400.10401は、プロセッサとブロッ
クメモリ間のアクセスを、10402゜10403は、
プロセッサ間のシリアル通信路を示している。この例は
、夫々のプロセッサに別々の処理をさせ、かつ、あるプ
ロセッサの演算結果を別のプロセッサの入力データとし
、それぞれの処理を連続的に行なうものである。
クメモリ間のアクセスを、10402゜10403は、
プロセッサ間のシリアル通信路を示している。この例は
、夫々のプロセッサに別々の処理をさせ、かつ、あるプ
ロセッサの演算結果を別のプロセッサの入力データとし
、それぞれの処理を連続的に行なうものである。
この例のアプリケーションとして本実施例では、データ
メモリ部107に格納されているR(レッド)、G(グ
リーン)、B(ブルー)、W(付加情報)の各8ビツト
、即ち、1画素4バイトからなる画像データの「色変換
処理」、画像データを「拡大処理」した後にカラープリ
ンタに出力するためにrRGBデータからYMCデータ
への変換処理」からなる以上3種の処理を連続的に処理
する場合を考える。各々の処理フローを、第23図内の
プログラムメモリ213a−cのフローチャートとして
示す。
メモリ部107に格納されているR(レッド)、G(グ
リーン)、B(ブルー)、W(付加情報)の各8ビツト
、即ち、1画素4バイトからなる画像データの「色変換
処理」、画像データを「拡大処理」した後にカラープリ
ンタに出力するためにrRGBデータからYMCデータ
への変換処理」からなる以上3種の処理を連続的に処理
する場合を考える。各々の処理フローを、第23図内の
プログラムメモリ213a−cのフローチャートとして
示す。
説明を簡単にするために、処理する画像データのサイズ
は1024x1024画素、1画素4バイト構成とし、
またデータメモリ部107内の1つのブロックメモリの
サイズは、1Mバイト(512X512画素×4バイト
)とする。処理される画像データは予めシステムバスや
高速画像データ転送バスを通して、例えばデータメモリ
部lO7内のブロックメモリM B O(210a)、
M B 1 (210b)、 M B 4 (210
e)、 M B 5 (210f)の4つのメモリブロ
ックに転送されているものとする。また夫々の処理プロ
グラムは、外部記憶装置102に既に格納されているも
のとする。
は1024x1024画素、1画素4バイト構成とし、
またデータメモリ部107内の1つのブロックメモリの
サイズは、1Mバイト(512X512画素×4バイト
)とする。処理される画像データは予めシステムバスや
高速画像データ転送バスを通して、例えばデータメモリ
部lO7内のブロックメモリM B O(210a)、
M B 1 (210b)、 M B 4 (210
e)、 M B 5 (210f)の4つのメモリブロ
ックに転送されているものとする。また夫々の処理プロ
グラムは、外部記憶装置102に既に格納されているも
のとする。
先ず、操作者が上記の3種類の画像処理を、例えば、プ
ロセッサ212aが「色変換処理」を、プロセッサ21
2bが「拡大処理」を、プロセッサ212cがrRGB
データがらYMCデータへの変換処理」を行なう旨を2
図示しないキーボード等で指定するものとする。またブ
ロックメモリを使用するプロセッサのデータメモリの割
付けの指定は、本実施例ではプロセッサ212aがMB
O,1,4,5から画像データを読出し、プロセッサ2
12cが、例えばMB2,3,6.7の4ブロツクに対
して、演算結果を出力する様に割付ける指定を行なう。
ロセッサ212aが「色変換処理」を、プロセッサ21
2bが「拡大処理」を、プロセッサ212cがrRGB
データがらYMCデータへの変換処理」を行なう旨を2
図示しないキーボード等で指定するものとする。またブ
ロックメモリを使用するプロセッサのデータメモリの割
付けの指定は、本実施例ではプロセッサ212aがMB
O,1,4,5から画像データを読出し、プロセッサ2
12cが、例えばMB2,3,6.7の4ブロツクに対
して、演算結果を出力する様に割付ける指定を行なう。
更にプロセッサのシリアル通信路の設定、本実施例では
、プロセッサ212aの出力側のシリアル通信路をプロ
セッサ212bの入力側のシリアル通信路に、プロセッ
サ212bの出力側のシリアル通信路をプロセッサ21
2Cの入力側のシリアル通信路に接続する旨を指定する
。
、プロセッサ212aの出力側のシリアル通信路をプロ
セッサ212bの入力側のシリアル通信路に、プロセッ
サ212bの出力側のシリアル通信路をプロセッサ21
2Cの入力側のシリアル通信路に接続する旨を指定する
。
この指定により、メインCPU 101は外部記憶装置
102に格納されている夫々のプログラムを指定された
プロセッサに、前述した[各プロセッサへのプログラム
のダウンロード]の項に説明されている手段を用いてダ
ウンロードする。更に各プロセッサのシリアル通信路の
設定は、前述した[プロセッサの通信路の接続状態の設
定法]の項に説明されている手段を用いて設定する処理
を行なう。
102に格納されている夫々のプログラムを指定された
プロセッサに、前述した[各プロセッサへのプログラム
のダウンロード]の項に説明されている手段を用いてダ
ウンロードする。更に各プロセッサのシリアル通信路の
設定は、前述した[プロセッサの通信路の接続状態の設
定法]の項に説明されている手段を用いて設定する処理
を行なう。
これらの初期設定後、各々のプロセッサが各々の処理を
開始する。先ずプロセッサ212aがブロックメモリ1
07に格納されている画像データを前記[ブロックアク
セス方式]の項に記載されている方式に基づいてアクセ
スして画像データを読出す。そして、プログラムメモリ
213aに格納されているプログラムコードに従った所
定の処理、例えば本実施例の場合は、第23図内の21
3aで示されたフローチャートに則した色変換処理を行
なう。
開始する。先ずプロセッサ212aがブロックメモリ1
07に格納されている画像データを前記[ブロックアク
セス方式]の項に記載されている方式に基づいてアクセ
スして画像データを読出す。そして、プログラムメモリ
213aに格納されているプログラムコードに従った所
定の処理、例えば本実施例の場合は、第23図内の21
3aで示されたフローチャートに則した色変換処理を行
なう。
その後、プロセッサ212aの出力側のシリアル通信路
に演算結果の画像データを随時出力される。一方、プロ
セッサ212bは、プロセッサ212aが処理した画像
データ、即ち、入力側のシリアル通信路から随時入力さ
れて(る画像データを読込み、プログラムメモリ213
bに格納されているプログラムコードに従った所定の処
理、本実施例の場合は拡大処理を施し、プロセッサ21
2aと同様に出力側のシリアル通信路に演算結果の画像
データを随時出力する。更に、プロセッサ212cもプ
ロセッサ212bと同様に、シリアル通信路から随時入
力されて(る画像データを読取り、プログラムメモリ2
13cに格納されているプログラムコードに従った所定
の処理、例えば本実施例の場合は、プログラムメモリ2
13Cに格納されているRGB−YMC変換を施し、該
当するブロックメモリ内の画素位置に画像データを前記
[ブロックアクセス方式]の項に記載されている方式に
基づいて書込む。
に演算結果の画像データを随時出力される。一方、プロ
セッサ212bは、プロセッサ212aが処理した画像
データ、即ち、入力側のシリアル通信路から随時入力さ
れて(る画像データを読込み、プログラムメモリ213
bに格納されているプログラムコードに従った所定の処
理、本実施例の場合は拡大処理を施し、プロセッサ21
2aと同様に出力側のシリアル通信路に演算結果の画像
データを随時出力する。更に、プロセッサ212cもプ
ロセッサ212bと同様に、シリアル通信路から随時入
力されて(る画像データを読取り、プログラムメモリ2
13cに格納されているプログラムコードに従った所定
の処理、例えば本実施例の場合は、プログラムメモリ2
13Cに格納されているRGB−YMC変換を施し、該
当するブロックメモリ内の画素位置に画像データを前記
[ブロックアクセス方式]の項に記載されている方式に
基づいて書込む。
本実施例に示すように、各プロセッサが有するシリアル
通信路を使用することにより、複数のプロセッサをパイ
プライン的に接続した処理が可能となる。
通信路を使用することにより、複数のプロセッサをパイ
プライン的に接続した処理が可能となる。
本実施例では、中間のプロセッサ212bが画像メモリ
を使用しない例を説明したが、画像メモリを使用するよ
うな処理の場合にも対応できることは容易に推察できる
。
を使用しない例を説明したが、画像メモリを使用するよ
うな処理の場合にも対応できることは容易に推察できる
。
また本実施例では3個のプロセッサの場合であったが、
この数はこれに限らないことも容易に推察できる。更に
入力側のブロックメモリと出力側のブロックメモリをそ
れぞれ別々の領域で説明したが、同一の領域の場合には
、[バスコントローラの動作]の項で記載している手段
を用いることにより可能となる。ブロックメモリをアク
セスするプロセッサのメモリアクセス方法は、「ブロッ
クアクセス」に限らず、[画素アクセス方式の項に記載
されている方式でも良いことも容易に推察できる。
この数はこれに限らないことも容易に推察できる。更に
入力側のブロックメモリと出力側のブロックメモリをそ
れぞれ別々の領域で説明したが、同一の領域の場合には
、[バスコントローラの動作]の項で記載している手段
を用いることにより可能となる。ブロックメモリをアク
セスするプロセッサのメモリアクセス方法は、「ブロッ
クアクセス」に限らず、[画素アクセス方式の項に記載
されている方式でも良いことも容易に推察できる。
以上説明したように本実施例によれば、演算処理部とデ
ータメモリ部の間に、バス接続・交換部及びバス接続・
交換制御部を設けたことにより、画像演算の並列化に柔
軟性の高い並列演算部が構成できた。また、並列演算部
とは別にビデオフレームメモリを有することにより、シ
ステムで扱う画像サイズが、デイスプレィ装置に依存し
ない構成を可能としている。また、高速イメージ転送バ
スで画像データの転送を行なうことにより、画像の転送
に要する時間をも節約することが可能となった。
ータメモリ部の間に、バス接続・交換部及びバス接続・
交換制御部を設けたことにより、画像演算の並列化に柔
軟性の高い並列演算部が構成できた。また、並列演算部
とは別にビデオフレームメモリを有することにより、シ
ステムで扱う画像サイズが、デイスプレィ装置に依存し
ない構成を可能としている。また、高速イメージ転送バ
スで画像データの転送を行なうことにより、画像の転送
に要する時間をも節約することが可能となった。
[発明の効果]
以上説明したように本発明によれば、プログラマブルな
複数の演算要素により、メモリに記憶されている画像デ
ータを、メモリブロック単位に並行して処理できる効果
がある。
複数の演算要素により、メモリに記憶されている画像デ
ータを、メモリブロック単位に並行して処理できる効果
がある。
第1図は本実施例の画像処理システムの概略構成を示す
ブロック図、 第2図は並列演算部の構成をさらに詳細に説明した図、 第3図はプロセッサ間のシリアル通信路の交換・制御部
を示すブロック図、 第4図はデータメモリ部のアドレマツビングを説明する
ための図、 第5図はメモリブロックの概念図、 第6図はプロセッサが発生するアドレスデータの構造を
示す図、 第7図はバスセレクタのデータ信号線の詳細を示す図、 第8図はパスセレクタのアドレス信号線の詳細を示す図
、 第9図は1−16セレクタの詳細図、 第10図は1−4セレクタの詳細図、 第11図は4−1セレクタの詳細図、 第12図はバスコントローラの詳細図、第13図はレイ
トレーシング法の原理を説明するための図、 第14図はメモリブロックの概念図、 第15図はプロセッサのシリアル通信路の接続状態を説
明するための図、 第16図はブロックアクセスによる並列演算処理を説明
するフローチャート、 第17図は空領域を探索し、空領域番号をセットする処
理を示すフローチャート、 第18図は他プロセツサの空領域を探索する処理を示す
フローチャート、 第19図は大容量外部記憶装置からデータメモリへの画
像データ転送を示すフローチャート、第20図はデータ
メモリからビデオフレームメモリへの画像データの転送
を説明する概念図、第21図はアドレス発生器の詳細図
、 第22図は間引き転送を説明するための概念図、そして 第23図は他の実施例のパイプライン処理を説明する概
念図である。 図中、101・・・メインCPU、102・・・大容量
外部記憶装置、103・・・並列処理部、104・・・
並列演算部、105・・・バス接続・交換制御部(バス
コントローラ)、106・・・バス接続・交換部(バス
セレクタ)、107・・・データメモリ部、108・・
・システムバスのI/F部、109・・・高速バスのI
/F部、110・・・ビデオメモリ部、111・・・ビ
デオデイスプレィ、115・・・イメージスキャナ、1
16・・・システムバス、117・・・高速バス、20
0・・・レジスタ、212a〜212d・・・プロセッ
サ、601a〜601d・・・バッファ、602・・・
遅延回路、604・・・デコーダ、605・・・衝突検
出器、607・・・コントローラである。 特許出願人 キャノン株式会社 第4図 第10図 第11図 第22図
ブロック図、 第2図は並列演算部の構成をさらに詳細に説明した図、 第3図はプロセッサ間のシリアル通信路の交換・制御部
を示すブロック図、 第4図はデータメモリ部のアドレマツビングを説明する
ための図、 第5図はメモリブロックの概念図、 第6図はプロセッサが発生するアドレスデータの構造を
示す図、 第7図はバスセレクタのデータ信号線の詳細を示す図、 第8図はパスセレクタのアドレス信号線の詳細を示す図
、 第9図は1−16セレクタの詳細図、 第10図は1−4セレクタの詳細図、 第11図は4−1セレクタの詳細図、 第12図はバスコントローラの詳細図、第13図はレイ
トレーシング法の原理を説明するための図、 第14図はメモリブロックの概念図、 第15図はプロセッサのシリアル通信路の接続状態を説
明するための図、 第16図はブロックアクセスによる並列演算処理を説明
するフローチャート、 第17図は空領域を探索し、空領域番号をセットする処
理を示すフローチャート、 第18図は他プロセツサの空領域を探索する処理を示す
フローチャート、 第19図は大容量外部記憶装置からデータメモリへの画
像データ転送を示すフローチャート、第20図はデータ
メモリからビデオフレームメモリへの画像データの転送
を説明する概念図、第21図はアドレス発生器の詳細図
、 第22図は間引き転送を説明するための概念図、そして 第23図は他の実施例のパイプライン処理を説明する概
念図である。 図中、101・・・メインCPU、102・・・大容量
外部記憶装置、103・・・並列処理部、104・・・
並列演算部、105・・・バス接続・交換制御部(バス
コントローラ)、106・・・バス接続・交換部(バス
セレクタ)、107・・・データメモリ部、108・・
・システムバスのI/F部、109・・・高速バスのI
/F部、110・・・ビデオメモリ部、111・・・ビ
デオデイスプレィ、115・・・イメージスキャナ、1
16・・・システムバス、117・・・高速バス、20
0・・・レジスタ、212a〜212d・・・プロセッ
サ、601a〜601d・・・バッファ、602・・・
遅延回路、604・・・デコーダ、605・・・衝突検
出器、607・・・コントローラである。 特許出願人 キャノン株式会社 第4図 第10図 第11図 第22図
Claims (4)
- (1)プログラム可能な複数の演算要素と、前記演算要
素同士を接続する交信手段と、 複数のメモリブロックに分割され、前記メモリブロック
のそれぞれは前記演算要素のそれぞれより独立してアク
セス可能な画像メモリ手段と、前記演算要素のそれぞれ
を独立して動作させるとともに、前記演算要素により前
記画像メモリ手段を前記メモリブロック単位でアクセス
するか、或は前記メモリブロックの最小画素単位でアク
セスするように制御する制御手段と、 を備えることを特徴とする画像処理装置。 - (2)前記制御手段は、前記演算要素のそれぞれの優先
順位を設定し、前記演算要素より前記画像メモリ手段へ
のアクセス要求が競合したときには前記優先順位に従つ
てアクセス可能な演算要素を決定するようにしたことを
特徴とする請求項第1項に記載の画像処理装置。 - (3)前記制御手段は前記演算要素のそれぞれの制御プ
ログラムを作成し、前記制御プログラムを各演算要素に
ダウンロード可能なプログラムロード手段を更に含むこ
とを特徴とする請求項第1項に記載の画像処理装置。 - (4)前記演算要素の個数及び前記画像メモリ手段の容
量はそれぞれ独立に変更可能であることを特徴とする請
求項第1項に記載の画像処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11182890A JPH0415764A (ja) | 1990-05-01 | 1990-05-01 | 画像処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11182890A JPH0415764A (ja) | 1990-05-01 | 1990-05-01 | 画像処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0415764A true JPH0415764A (ja) | 1992-01-21 |
Family
ID=14571188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11182890A Pending JPH0415764A (ja) | 1990-05-01 | 1990-05-01 | 画像処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0415764A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014149691A (ja) * | 2013-02-01 | 2014-08-21 | Renesas Mobile Corp | 半導体装置及びそのデータ処理方法 |
KR20170031733A (ko) * | 2014-09-17 | 2017-03-21 | 인텔 코포레이션 | 디스플레이를 위한 캡처된 이미지의 시각을 조정하는 기술들 |
-
1990
- 1990-05-01 JP JP11182890A patent/JPH0415764A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014149691A (ja) * | 2013-02-01 | 2014-08-21 | Renesas Mobile Corp | 半導体装置及びそのデータ処理方法 |
US9978117B2 (en) | 2013-02-01 | 2018-05-22 | Renesas Electronics Corporation | Semiconductor apparatus and high speed image data processing |
KR20170031733A (ko) * | 2014-09-17 | 2017-03-21 | 인텔 코포레이션 | 디스플레이를 위한 캡처된 이미지의 시각을 조정하는 기술들 |
JP2017525052A (ja) * | 2014-09-17 | 2017-08-31 | インテル コーポレイション | 表示のためにキャプチャ画像の視野を調整する技術 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5430885A (en) | Multi-processor system and co-processor used for the same | |
US5237686A (en) | Multiprocessor type time varying image encoding system and image processor with memory bus control table for arbitration priority | |
US5263169A (en) | Bus arbitration and resource management for concurrent vector signal processor architecture | |
US6025854A (en) | Method and apparatus for high speed image acquisition | |
US5781201A (en) | Method for providing improved graphics performance through atypical pixel storage in video memory | |
US4949280A (en) | Parallel processor-based raster graphics system architecture | |
US5940087A (en) | Graphic processing apparatus and method | |
EP0397180A2 (en) | Multiprocessor type time varying image encoding system and image processor | |
US20060161720A1 (en) | Image data transmission method and system with DMAC | |
US6731406B1 (en) | Segmented multilevel screening for printing files in a page description language | |
JP2001084229A (ja) | Simd型プロセッサ | |
JP4106083B2 (ja) | 計算装置用アーキテクチャ | |
EP0752694B1 (en) | Method for quickly painting and copying shallow pixels on a deep frame buffer | |
EP0910014B1 (en) | Program loading method and apparatus | |
US6754733B2 (en) | Shared memory architecture for increased bandwidth in a printer controller | |
JPH0415764A (ja) | 画像処理装置 | |
JP2006520044A (ja) | データフローアプリケーションを処理するために最適化されるキャッシュを備えるデータ処理システム | |
US6563505B1 (en) | Method and apparatus for executing commands in a graphics controller chip | |
US20060259657A1 (en) | Direct memory access (DMA) method and apparatus and DMA for video processing | |
JP3484056B2 (ja) | データ転送装置及びデータ転送システム | |
JPH0415743A (ja) | 並列演算装置 | |
JPH03205985A (ja) | マルチプロセッサ型動画像符号化装置及びバス制御方法 | |
US5513364A (en) | Data transfer device and multiprocessor system | |
JPH0765180A (ja) | データ転送制御装置 | |
EP0745242B1 (en) | Variable data processor allocation and memory sharing |