JPH11338842A - 並列データ処理装置 - Google Patents

並列データ処理装置

Info

Publication number
JPH11338842A
JPH11338842A JP14159798A JP14159798A JPH11338842A JP H11338842 A JPH11338842 A JP H11338842A JP 14159798 A JP14159798 A JP 14159798A JP 14159798 A JP14159798 A JP 14159798A JP H11338842 A JPH11338842 A JP H11338842A
Authority
JP
Japan
Prior art keywords
processing
data
unit
processor
processing result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP14159798A
Other languages
English (en)
Inventor
Hiroshi Kawaguchi
広志 川口
Hideaki Doi
秀明 土井
Akira Nakagaki
亮 中垣
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP14159798A priority Critical patent/JPH11338842A/ja
Publication of JPH11338842A publication Critical patent/JPH11338842A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 連続して入力されるデータを、必要最小限度
のプロセッサユニットを用い、リアルタイムで処理する
ことができるようにする。 【解決手段】 データ入力部2から連続して入力される
データがPU(プロセッサユニット)4a〜4cで分
配,処理されるが、この際、PU4a〜4cにデータの
供給順に優先順位が設定される。PU4a〜4cはその
処理結果のバッファメモリ6a,6bへの転送を要求す
るが、2以上のPUの要求が重なる場合、PU出力制御
部5は優先順位の高い順に処理結果の転送を許可する。
バッファメモリ6a,6bの一方でPU4a〜4cから
の処理結果の書込みが行なわれているときには、BM出
力制御部7により、他方から記憶されている処理結果が
読み出され、処理結果記憶部8に転送される。また、制
御CPU1は、PU4a〜4cの優先順位を、データ処
理を早く終了する順に設定し直すようにしてもよい。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、並列データ処理装
置に係り、特に、異物や欠陥などの自動検査を行なう検
査装置に用いて好適な画像信号などの並列データ処理装
置に関する。
【0002】
【従来の技術】図16は、例えば、特願昭63−206
086号に記載される従来の並列データ処理装置を示す
ブロック図であり、2個のCPU911a,911bと
2個の主メモリユニット912a,912bとが使用さ
れるものとする。
【0003】同図において、CPU911a,911b
が主メモリユニット912a,912bをアクセスする
場合、メモリリード用バス914に接続されたバスコン
トローラ921に対してバス取得要求を出力する。この
要求を受け取ったバスコントローラ921はバス取得要
求を出したCPUのうちの1つ(例えば、CPU911
a)にのみバス取得許可を与える。バス取得許可を与え
られたCPU911aは、主メモリユニット912aま
たは912bをメモリリード用バス914を介してリー
ドアクセスする。
【0004】CPU911a,911bが主メモリユニ
ット912a,912bをライトアクセスする場合に
は、これらCPU911a,911bはメモリライト用
バス915に接続されたバスコントローラ922に対し
てバス取得要求を出力する。この要求を受け取ったバス
コントローラ922は、バス取得要求を出力したこれら
CPU911a,911bのうちの1つ(例えば、CP
U911b)にのみバス取得許可を与える。許可を与え
られたCPU911bはメモリライト用バスを介して主
メモリユニット912aまたは912bのアクセスを行
なう。
【0005】このように、各バスの使用率を低下させて
CPUの使用率を向上させている。
【0006】
【発明が解決しようとする課題】しかし、上記従来の並
列データ処理装置では、各CPUからのバス取得要求に
対して、それらの優先度をチェックする機構がないた
め、連続して入力されるデータをその入力レートと同等
の処理速度でリアルタイムに処理することが要求される
場合には、リアルタイム性を満足させる必要最小限の個
数のCPUに対して余裕度が小さい個数のCPUで処理
を行なうと、各CPUに入力されるデータの量や処理内
容の違いから、後から処理を開始したCPUが先に処理
を終了する場合が発生する。このような場合、処理が終
了した順番にデータを出力していたのでは、処理に時間
を要したCPUがその処理結果を出力する前に次に処理
すべき入力データが到着し、これを取り込むことができ
ずに取りこぼす恐れがあった。
【0007】これを回避するためには、CPUの個数を
多くすることが考えられるが、このようにすると、能力
を必要以上に向上させることになって経済的効率が悪化
するし、さらに、処理結果の出力待ちのCPUも増えて
CPUの使用率も低下する。
【0008】本発明の目的は、かかる問題を解消し、連
続して入力されるデータをリアルタイムで処理すること
を可能とした並列データ処理装置を提供することにあ
る。
【0009】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、各プロセッサユニットからバッファメモ
リへの処理結果の転送要求があった場合には、転送要求
到着順と転送要求があったプロセッサユニットの優先順
位及び処理回数とから、どのプロセッサユニットの処理
結果をバッファメモリに転送すべきかを判定し、該当す
るプロセッサユニットに転送許可を与えることにより、
リアルタイム性を維持して処理を行なうものである。
【0010】また、本発明は、処理結果を出力したプロ
セッサユニットに対して優先順位を付け直し、付け直し
た優先順位が高い順にデータ入力を行なうようにして、
データ入力条件を設定し直すことにより、プロセッサユ
ニットの使用率を向上させるものである。
【0011】
【発明の実施の形態】例えば、リニアセンサを用い、被
検出試料を搭載したステージを走査することによって検
出される信号をリアルタイムに処理する場合には、デー
タ処理を行なう並列処理CPUは検出されたデータを直
ちに読み出し、並列に処理を行なう。この際、各CPU
は次の処理データが入力されるまでに処理を完了させて
おかなければ、処理のリアルタイム性を維持できない。
本発明は、このような場合に有効である。
【0012】以下、本発明の実施形態を図面を用いて説
明する。図1は本発明による並列データ処理装置の第1
の実施形態を示すブロック図であって、1は制御CP
U、2はデータ入力部、3はデータ記憶部、4a,4
b,4cはプロセッサユニット、5はPU(プロセッサ
ユニット)出力制御部、6a,6bはバッファメモリ、
7はBM(バッファメモリ)出力制御部、8は処理結果
記憶部、9,10はローカルバスである。なお、ここで
は、プロセッサユニットを3個、バッファメモリを2個
夫々示しているが、これらの使用個数は、2個以上であ
れば、任意である。
【0013】同図において、ローカルバス9には、全体
を制御する制御CPU1とデータ入力部2とデータ記憶
部3とが接続されており、データ入力部2から連続して
入力されるディジタルデータ(以下、単にデータとい
う)がデータ記憶部3に一旦記憶される。また、このロ
ーカルバス1には、データ処理を行なう複数のプロセッ
サユニット4a,4b,4cが接続されており、これら
はデータ記憶部3に記憶されているデータが分配されて
処理する。
【0014】プロセッサユニット4a,4b,4cの処
理結果は、PU出力制御部5の制御のもとに、出力され
てバッファメモリ6aまたは6bに一時記憶され、これ
らバッファメモリ6a,6bからは、ローカルバス10
に接続されたBM出力制御部7の制御のもとに、処理結
果が読み出されて、ローカルバス10を介し、ローカル
バス9,10間に接続される処理結果記憶部8に記憶さ
れる。
【0015】ここで、PU出力制御部5とBM出力制御
部7とは夫々異なるバッファメモリに接続され、バッフ
ァメモリ6a,6bの一方がPU出力制御部5に接続さ
れてプロセッサユニット4a,4b,4cの処理結果を
書き込んでいる最中に、他方がバッファメモリ出力制御
部に接続されて既に書き込まれている処理結果を読み出
せるようにする。
【0016】図2は図1におけるバッファメモリ6a,
6bの制御系統を示す図であって、10a,10b,1
1a,11bはゲート、12はインバータであり、図1
に対応する部分には同一符号をつけて重複する説明を省
略する。
【0017】同図において、プロセッサユニット出力制
御回路5は、プロセッサユニット4a,4b全てがデー
タを1回処理してそれらの処理結果をバッファメモリ6
aまたは6bに転送し終わる毎に、これをPU(プロセ
ッサユニット)ステータス信号PUSで持ってバッファ
メモリ出力回路7に通知し、バッファメモリ出力部7
は、このPUステータス信号PUSによる通知がある毎
に、BM(バッファメモリ)切替信号BMSを“H”
(ハイレベル),“L”(ローレベル)反転する。この
BM切替信号BMSによってゲート10b,11aがオ
ン,オフ制御され、また、このBM切替信号BMSのイ
ンバータ12による反転信号によってゲート10a,1
1bがオン,オフ制御される。
【0018】そこで、いま、ゲート10a,11bがオ
ンし、PU出力制御部5がバッファ6aに、BM出力制
御部7がバッファメモリ6bに夫々接続されているとす
ると、プロセッサユニット4a,4bの処理結果がPU
出力制御部5及びゲート10aを介してバッファメモリ
1に転送され、また、これと並行に、バッファメモリ6
bに一時記憶されている処理結果があるときには、この
処理結果がゲート11b,BM出力制御部7及びローカ
ルバス10を介して処理結果記憶部8に転送され、そこ
に記憶される。
【0019】全てのプロセッサユニット4a,4bが入
力したデータを1回処理し、その処理結果がバッファメ
モリ6aに転送し終わると、PU出力制御部5はPUス
テータス信号PUSによってこれをBM出力制御部7に
通知する。そこで、BM出力制御部7は、このPUステ
ータス信号PUSから各プロセッサユニット4a,4b
が次の入力データの処理に移ったことを認識すると、B
M切替信号BMSをレベル反転し、ゲート10a,11
bをオフし、ゲート10b,11aをオンして、PU出
力制御部5に接続されるバッファメモリをバッファメモ
リ6aからバッファメモリ6bに、BM出力制御部7に
接続されるバッファメモリをバッファメモリ6bからバ
ッファメモリ6aに、夫々重ならないように切替える。
【0020】即ち、プロセッサユニット4a,4bが1
回目の処理を行ない、その処理結果を転送し終わるまで
は、PU出力制御部5にはバッファメモリ6aが接続さ
れており、BM出力制御部7にはバッファメモリ6bが
接続されているが、次に、プロセッサユニット4a,4
bが2回目の処理を開始すると、PU出力制御部5には
バッファメモリ6bが接続され、BM出力制御部7には
バッファメモリ6aが接続されることになる。
【0021】以上のバッファメモリの切替制御の流れを
図3により説明する。
【0022】図2及び図3において、いま、バッファメ
モリ6aにプロセッサユニット4a,4bの処理結果が
書き込まれており、バッファメモリ6bから先に書き込
まれた処理結果が読み出されているものとして、BM出
力制御部7はPU出力制御部5から出力されるPUステ
ータス信号PUSを監視しており、これにより、全ての
プロセッサユニット4a,4bが処理結果を出力したか
否かをチェックする(ステップ101)。全てのプロセ
ッサユニット4a,4bが処理結果を出力し終わってい
る場合には、次に書込みに切り替えられて処理結果を一
時記憶するバッファメモリ6bで処理結果記憶部8への
処理結果の転送が終了しているか否かチェックし(ステ
ップ102)、終了している場合には、バッファメモリ
6aをBM出力制御部7に、バッファメモリ6bをPU
出力制御部5に夫々接続を切り替え、終了していなけれ
ば、転送が終了するまでこの切替えを待つ(ステップ1
03)。かかるバッファメモリの切替えが行なわれる
と、BM出力制御部7に接続されたバッファメモリ6a
から処理結果記憶部8への処理結果の転送とプロセッサ
ユニット4a,4bからバッファメモリ6bへの処理結
果の転送とが並行して行なわれる(ステップ104)。
【0023】このようにして、新しい処理データをプロ
セッサユニット4a,4bで処理してバッファメモリに
転送しながら、前回処理して得られた処理結果の処理結
果記憶部8への転送を同時に行なうことができる。
【0024】図1において、制御CPU1は、データ入
力部2から入力されるデータをプロセッサユニット4
a,4b,4cのどれに取り込み、処理させるかを制御
する。各プロセッサユニット4a,4b,4cは、処理
すべきデータが入力されると、その処理を開始し、その
処理結果を一時記憶用のバッファメモリ6aまたは6b
に出力する。この際、プロセッサユニット出力制御部7
により、出力の調停が行なわれる。
【0025】次に、プロセッサユニット4a〜4cの出
力制御の流れを図4を用いて説明する。
【0026】プロセッサユニット4a〜4cのいずれか
から処理結果の転送要求があると(ステップ201)、
PU出力制御部5は、転送要求したプロセッサユニット
(ここでは、プロセッサユニット4aとする)が何回目
の処理結果を転送しようとしているのかをチェックする
(ステップ202)。例えば、1回目の処理結果を転送
すべきものであるとき、この転送要求があったプロセッ
サユニット4aが1回目の処理結果を転送しようとして
いるのかどうかをチェックし、1回目の処理結果であれ
ば、今回転送すべきデータであると判断し、2回目の処
理結果であれば、次回に他方のバッファメモリに転送す
べきデータであると判定する。
【0027】かかる判定制御を図1,図2におけるPU
出力制御部5の一具体例を示す図5を用いて説明する。
但し、13a〜13cはPUステータスレジスタ、14
a〜14cはアンドゲート、15は判定回路であり、図
2に対応する部分には同一符号をつけて重複する説明を
省略する。
【0028】同図において、プロセッサユニット4a,
4b,4c毎にPUステータスレジスタ13a,13
b,13cが設けられ、初期状態で“0”に設定されて
いる。この初期設定値“0”は反転して出力され、判定
値“1”としてアンドゲート14a,14b,14cに
供給される。
【0029】かかる状態で、いま、プロセッサユニット
4aが1回目の処理結果の転送を要求するものとする
と、このプロセッサユニット4aは“1”の転送要求信
号をアンドゲート14aに送る。これにより、アンドゲ
ート14aの出力は“1”となり、これにより、判定回
路15はプロセッサユニット4aの処理結果が転送すべ
き1回目のものであると判定して、転送すべきデータと
認識する。これにより、判定回路15は、上記のよう
に、プロセッサユニット4aの処理結果をバッファメモ
リ6aまたは6bに転送させる。
【0030】そして、判定回路15は、アンドゲート1
4aから“1”の出力を受けると、このプロセッサユニ
ット4aに対するPUステータス回路13aに“1”の
転送禁止信号TPを送り、これを禁止値“1”に設定す
る。これにより、このPUステータス回路13aからア
ンドゲート14aに判定値“0”が供給され、プロセッ
サユニット4aから次の2回目の処理結果の“1”の転
送要求信号があっても、アンドゲート14aの出力は
“0”であるから、この処理結果の転送は禁止される。
【0031】プロセッサユニット4b,4cについても
同様であり、全てのプロセッサユニット4a,4b,4
cの処理結果のバッファメモリ6aまたは6bへの転送
が終了し、PU出力制御部5がPUステータス信号PU
Sを出力すると、BM出力制御部7は、全てのプロセッ
サユニット4a,4b,4cが1回目の処理結果をバッ
ファメモリ6aまたは6bに転送し終わったと判定し、
上記のように、BM切替信号BMSをレベル反転してバ
ッファメモリ6a,6bの切替えを行なうが、これとタ
イミングが同期して、レジスタリセット信号RRを出力
し、PU出力制御部5の全てのPUステータスレジスタ
13a,13b,13cを初期値“0”に設定する。こ
れにより、プロセッサユニット4a,4b,4cの次の
2回目の処理結果の転送を可能にする。
【0032】図4において、以上のように、転送要求が
あったプロセッサユニット4aの処理結果が今回バッフ
ァメモリ6aまたは6bに転送すべきものである場合に
は(ステップ202)、現在、他のプロセッサユニット
4bまたは4cがバッファメモリ6aまたは6bに処理
結果を転送していないかをチェックし(ステップ20
3)。転送中であれば、それが終わるまで待機する。そ
して、他のプロセッサユニットが転送していなければ、
さらに、他のプロセッサユニット4bまたは4cから転
送要求がないかどうかをチェックし(ステップ20
4)、他になければ、このプロセッサユニット4aにそ
の処理結果の転送を許可するが(ステップ205)、他
のプロセッサユニットから転送要求があった場合には
(ステップ204)、そのプロセッサユニットとプロセ
ッサユニット4aとの優先順位のチェックを行ない(ス
テップ206)、これらのうちの優先順位の高い方のプ
ロセッサユニットに転送許可を与える(ステップ20
5)。これは、優先順位の高いプロセッサユニットから
先に処理結果を転送することにより、入力データの取り
こぼしを防ぐためである。
【0033】図6は図1,図2におけるPU出力制御部
5の一具体例でのプロセッサユニット4a〜4cの優先
順位の判定(図4のステップ206)のための構成を示
すブロック図であって、図5に対応する部分には同一符
号をつけて重複する説明を省略する。
【0034】同図において、制御CPU1は、データ入
力部2から入力したデータをプロセッサユニット4a〜
4cにどのような順番で供給するのかを決定すると、デ
ータ入力を早く開始する順に夫々のプロセッサユニット
4a〜4cに優先順位を付け、PU出力制御部5内の判
定回路15に、優先順位通知信号PNにより、予め通知
する。これにより、判定回路15は、プロセッサユニッ
ト4a〜4c夫々の優先順位を判定することができる。
【0035】ここで、プロセッサユニット4a〜4cの
優先順位を、それらのデータ入力順に付けるのは、次の
入力データの取りこぼしを防ぐためである。
【0036】全てのプロセッサユニット4a〜4cがバ
ッファメモリ6aまたは6bに1回目の処理結果を転送
し終わると、上記のように、これらバッファメモリ6
a,6bBMを切り替えられ、次の処理結果の転送を開
始する。BM出力制御部7は、この間に、1回目の処理
結果が書き込まれたバッファメモリ6aまたは6bから
この処理結果を読み出し、処理結果記憶部8にローカル
バス10を介して転送する。
【0037】なお、この実施形態では、PU出力制御部
5は、プロセッサユニットの処理結果の転送を制御する
ために、PUステータスレジスタ13a〜13cに専用
の転送禁止信号TPを供給するようにしたが、この転送
禁止信号TPの代わりに、図7に示すように、各プロセ
ッサユニット4a〜4cの処理結果のバッファメモリ6
aまたは6bへの転送を許可する転送許可信号TAで共
用してもよい。
【0038】また、この実施形態では、データ入力部2
から入力したデータを記憶するデータ記憶部3を設けた
が、リニアセンサから連続して入力されるデータをリア
ルタイムに処理する場合には、このデータ記憶部3を介
すことなく、データ入力部2から直接プロセッサユニッ
ト4a〜4cにデータを伝送するようにしてもよい。
【0039】さらに、この実施形態では、全てのプロセ
ッサユニット4a〜4cの処理結果を処理回数毎に複数
のバッファメモリ6a,6bに転送するようにしている
が、図8に示すように、PU出力制御部5やBM出力制
御部7,プロセッサユニット4a〜4c,バッファメモ
リ6a,6bからなる図1に示したような構成部分を複
数個設け(なお、各構成部分では、プロセッサユニット
を3個ずつ、バッファメモリを2個ずつ夫々示している
が、これらの個数については、2以上であれば、任意で
ある)、入力データを夫々の構成部分に分配供給するこ
とにより、同様の処理,転送を行なわせるようにしても
よい。この場合には、夫々のバッファメモリの内容を処
理結果記憶部8に転送する際に、バッファメモリ選択部
16によって転送の調停を行なう。ここで、バッファメ
モリ選択部16での調停も、PU出力制御部5と同様
に、バッファメモリに格納されている処理結果が何回目
の処理結果であるかを判定し、各プロセッサユニットの
優先順位から処理結果記憶部8に転送すべきバッファメ
モリを選択して、処理結果の転送を行なえばよい。
【0040】図9は本発明による並列データ処理装置の
第2の実施形態を示すブロック図であって、17はスケ
ジューリング制御部、18は取込アドレス格納メモリで
あり、前出図面に対応する部分には同一符号をつけて重
複する説明を省略する。
【0041】同図において、スケジューリング制御部1
7と取込アドレス格納メモリ18とが設けられている以
外、前出図面に示す第1の実施形態と同様の構成をなし
ている。
【0042】スケジューリング制御部17は、プロセッ
サユニット4a〜4cのうちのどれが処理結果を転送し
たか、即ち、プロセッサユニット4a〜4cのうちのど
れが空き状態になったかを示す情報(空き情報VI)を
転送制御を行なっているPU出力制御部5から受け取
り、これによって当該プロセッサユニットが全体として
何番目に処理結果の転送を行なったかを判定し、それに
対応した優先順位を当該プロセッサユニットに付け直
す。
【0043】例えば、プロセッサユニット4a〜4cで
複数回に渡ってデータ処理を行なう場合、1回目の処理
結果をプロセッサユニット4bが最初に出力するとする
と、プロセッサユニット4bに1番高い優先順位を付
け、次に、プロセッサユニット4aが処理結果を出力す
るとすると、このプロセッサユニット4aに1番目に高
い優先順位を付ける。このように付け直した優先順位
は、図4のステップ206及び図6で説明したように、
優先順位通知信号PNとして、PU出力制御部5に送信
し、処理結果の出力調停の判定に用いる。
【0044】また、優先順位を付け直したプロセッサユ
ニットに対して、このプロセッサユニットの次回の処理
のための入力データの供給順序を規定する取込アドレス
を計算し、これを取込アドレス格納メモリ18に格納す
る。制御CPU1は、この取込アドレス格納メモリ18
に格納されている取込アドレスに従う順序で入力データ
をプロセッサユニット4a〜4cに供給する。
【0045】例えば、1回目の入力データをプロセッサ
ユニット4a,プロセッサユニット4b,プロセッサユ
ニット4cの順に供給したものとして、この1回目の処
理結果をプロセッサユニット4bが最初に出力するもの
とすると、スケジューリング制御部17がPU出力制御
部5からの空き情報VIに基づいてこのプロセッサユニ
ット4bが最初に処理結果を出力したことを判定し、こ
の判定結果に基づいてこのプロセッサユニット4cが取
り込んだデータの次に入力される次回処理の最初のデー
タをこのプロセッサユニット4bに供給すべきことを示
す取込アドレスを取込アドレス格納メモリ18に設定す
る。次に、プロセッサユニット4aが処理結果を出力す
ると、同様にして、プロセッサユニット4bが取り込ん
だ次回処理のデータの次に入力されるデータをこのプロ
セッサユニット4aに供給すべきことを示す取込アドレ
スを取込アドレス格納メモリ18に設定する。
【0046】このようにすることにより、各プロセッサ
ユニットの空き時間を減少させ、プロセッサユニットの
使用率を向上させることができる。
【0047】図10は本発明による並列データ処理装置
の第3の実施形態を示すブロック図であって、19は処
理結果合成制御部であり、前出図面に対応する部分には
同一符号をつけて重複する説明を省略する。
【0048】同図において、この実施形態は、BM出力
制御部7と処理結果記憶部8との間に処理結果合成制御
部19を設けたものであり、これ以外の構成は図1に示
した実施形態と同様である。
【0049】この処理結果合成制御部19は、入力デー
タと同様の配置に出力データを、出力データに添付され
ているヘッダ情報をもとに、並び替えるものである。こ
こで、この出力データの形式としては、図11(a)に
示すように、ヘッダと処理結果とで構成されており、こ
のヘッダは、同図(b)に示すように、入力データの水
平方向取込開始アドレスHSA,垂直方向取込開始アド
レスVSA,水平方向取込幅HW,垂直方向取込幅V
W、この処理結果を出力したプロセッサユニットの処理
回数PR及びこのプロセッサユニット内での処理内容P
Cなどのデータから構成されている。
【0050】このヘッダは、プロセッサユニットが処理
結果を出力する際に、その処理結果の先頭に添付される
ようにする。処理結果合成記憶部19では、このヘッダ
からプロセッサユニットの処理結果が入力データのどの
位置のものであるかを判定し、処理結果記憶部8のこれ
に対応する位置に格納する。
【0051】例えば、データ入力部2からの入力データ
を画像データとし、3個のプロセッサユニット4a,4
b,4cが、1画像毎に、3回に分けて処理するもの場
合、図12(a)に示すように、入力画像は9個の部分
画像Iij(但し、i,j=1,2,3)に分割され、3
個の部分画像Ii1がプロセッサユニット4a,4b,4
cによる1回目の処理対処となり、次の3個の部分画像
i2が2回目の処理対処となり、さらに次の3個の部分
画像Ii3が3回目の処理対処となるが、処理結果記憶部
8では、全体の画像に対するこれら部分画像Iijの位置
に対応して、これら部分画像Iijの処理結果Oijの格納
位置が決められている。
【0052】そこで、いま、1回目の処理として、プロ
セッサユニット4aが部分画像I11を、プロセッサユニ
ット4bが部分画像I21を、プロセッサユニット4cが
部分画像I31を夫々処理するものとすると、それらの処
理結果O11,O21,O31は、処理結果合成制御部19に
より、図12(b)に示すように、処理結果記憶部8の
決められた位置に夫々格納されることになる。
【0053】また、2回目の処理として、プロセッサユ
ニット4bが部分画像I12を、プロセッサユニット4a
が部分画像I22を、プロセッサユニット4cが部分画像
32を夫々処理するものとすると、それらの処理結果O
12,O22,O32は、処理結果合成制御部19がそれらの
ヘッダの内容を確認することにより、図12(b)に示
すように、その処理がどのプロセッサユニットでなされ
たかにかかわらず、処理結果記憶部8の部分画像I12
22,I32に対して決められた位置に夫々格納されるこ
とになる。
【0054】このように、画像を複数に分割して複数の
プロセッサユニットで分担して処理しても、処理結果記
憶部8では、夫々の部分画像データの処理結果が予め設
定される位置に夫々格納されることになり、処理結果記
憶部8から画像データの処理結果を読み出すときには、
もとの画像データの順でその処理結果を読み出すことが
できる。
【0055】図13は本発明による並列データ処理装置
の第4の実施形態を示すブロック図であって、20は処
理結果再分配制御部であり、図10に対応する部分には
同一符号をつけて重複する説明を省略する。
【0056】同図において、この実施形態は処理結果再
分配制御部20を備えており、これ以外の構成は図10
に示した第3の実施形態と同様である。
【0057】この処理結果再分配制御部20は、一度処
理した結果をプロセッサユニット4a〜4cで再度処理
させるものである。各プロセッサユニット4a〜4cに
は、制御CPU1で予め設定されるスケジューリングに
従ってデータが供給されるものであり、処理結果再分配
制御部20は、このスケジューリングに従って、処理結
果記憶部8からデータの処理結果を読み出してローカル
バス9に伝送するタイミングを制御する。
【0058】例えば、異物や欠陥などの自動検査装置か
らの画像データを入力画像データとする場合、かかる画
像データに対して平滑化処理や微分処理,2値化処理,
ラベリング処理の複数の処理を行なうものであるが、こ
のような場合においても、図14に示すように、画像を
分割して処理しても処理に支障がない平滑化処理(ステ
ップ301)や微分処理(ステップ302),2値化処
理(ステップ303)のような画素近傍処理を各プロセ
ッサユニット4a〜4cで一度に行ない、その処理結果
を処理結果記憶部8に図12で説明したように格納し、
しかる後、大局的処理であるラベリング処理(ステップ
304)をプロセッサユニット4a〜4cのいずれか1
つを使用して処理するように、制御CPU1でスケジュ
ーリングする。
【0059】ラベリング処理を行なうために、処理結果
記憶部8からステップ301〜303の処理結果をロー
カルバス9に伝送するタイミングは、データ入力部2か
らのデータ入力が終了していれば、処理結果再分配制御
部20により、処理が終了しているプロセッサユニット
4a〜4cのいずれか1つにデータ入力条件を設定し、
しかる後、直ちに処理結果記憶部8から処理結果を読み
出して伝送する。また、データ入力部2からのデータ入
力が終了していなければ、このデータ入力が終了するま
で待機し、処理結果再分配制御部20により、プロセッ
サユニット4a〜4cのいずれかの処理が終了している
ものにデータ入力条件を設定して、これに処理記憶部8
から処理結果を読み出して伝送する。
【0060】ここで、データ入力部2からのデータ入力
の終了判定は制御CPU1で行なわれる。また、このデ
ータ入力が終了していない場合には、データ記憶部3に
入力データを一旦格納するようにし、その間に処理結果
記憶部8からの処理結果を再処理させるようにしてもよ
い。
【0061】さらに、図15に示すように、さらに、ス
ケジューリング制御部17と取込アドレス格納メモリ1
8とを組み込み、優先順位とデータ入力の制御とを同時
に行なうようにしてもよい。これにより、各プロセッサ
ユニット4a〜4cが同一の処理を実行するSIMD(Sing
le Instruction Stream Multiple Data Streams)型と
各プロセッサユニット4a〜4cが異なる処理を実行可
能なMIMD(Multiple Instruction Stream Multiple Dat
a Streams)型との双方の機能を合わせ持つ並列データ
処理装置を提供することができる。
【0062】なお、図9や図10などに示した各実施形
態についても、図8で示したように、複数の構成部分か
らなるようにしてもよい。
【0063】以上のように、各実施形態では、複数のプ
ロセッサユニットを用いても、入力データをリアルタイ
ムで、かつ取りこぼしなく処理することができ、また、
同じデータに対して複数の処理も可能とするものである
から、例えば、異物や欠陥などの自動検査装置などに用
いて好適なものとなる。
【0064】
【発明の効果】以上説明したように、本発明によれば、
各プロセッサユニットからバッファメモリへの処理結果
の転送要求があった場合には、転送要求到着順と転送要
求があったプロセッサユニットの優先順位及び処理回数
とから、どのプロセッサユニットの処理結果をバッファ
メモリに転送すべきかを判定し、該当するプロセッサユ
ニットに転送許可を与えるものであるから、必要最小限
度のプロセッサユニットを用い、リアルタイムで取りこ
ぼしなくデータを処理することができる。
【0065】また、本発明は、処理結果を出力したプロ
セッサユニットに対して優先順位を付け直し、付け直し
た優先順位が高い順にデータ入力を行なうようにして、
データ入力条件を設定し直するものであるから、プロセ
ッサユニットの使用率を向上させることができる。
【図面の簡単な説明】
【図1】本発明による並列データ処理装置の一実施形態
を示すブロック図である。
【図2】図1におけるバッファメモリの制御系統を示す
図である。
【図3】図2に示す制御系統によるバッファメモリの切
替制御の流れを示すフローチャートである。
【図4】図1におけるプロセッサユニットの出力制御の
流れを示すフローチャートである。
【図5】図1,図2におけるプロセッサユニット出力制
御部の一具体例を示すブロック図である。
【図6】図1,図2におけるプロセッサユニット出力制
御部の他の具体例を示すブロック図である。
【図7】図1,図2におけるプロセッサユニット出力制
御部のさらに他の具体例を示すブロック図である。
【図8】本発明による並列データ処理装置の他の実施形
態を示すブロック図である。
【図9】本発明による並列データ処理装置のさらに他の
実施形態を示すブロック図である。
【図10】本発明による並列データ処理装置のさらに他
の実施形態を示すブロック図である。
【図11】本発明による並列データ処理装置でのデータ
形式の一具体例を示す図である。
【図12】図十に示した実施形態の動作を示す図であ
る。
【図13】本発明による並列データ処理装置のさらに他
の実施形態を示すブロック図である。
【図14】図13に示す実施形態の処理動作を示すフロ
ーチャートである
【図15】本発明による並列データ処理装置のさらに他
の実施形態を示すブロック図である。
【図16】従来の並列データ処理装置の一例を示すブロ
ック図である。
【符号の説明】
1 制御CPU 2 データ入力部 3 データ記憶部 4a〜4c プロセッサユニット 5 プロセッサユニット出力制御部 6a,6b バッファメモリ 7 バッファメモリ出力制御部 8 処理結果記憶部 9,10 ローカルバス 13a〜13c PUステータスレジスタ 14a〜14c アンドゲート 15 判定回路 16 バッファメモリ選択部 17 スケジューリング制御部 18 取込アドレス格納メモリ 19 処理結果合成制御部 20 処理結果再分配制御部

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 デジタルデータを時系列的に入力するデ
    ータ入力部と、該入力データを記憶するデータ記憶部
    と、該データ記憶部のデータを並列に処理する複数のプ
    ロセッサユニットと、該プロセッサユニットによる処理
    結果を記憶する処理結果記憶部と、全体を制御するCP
    Uとを有し、該入力データを複数回にわたって該各プロ
    セッサユニットに分配,処理する並列データ処理装置に
    おいて、 該複数のプロセッサユニットと該処理結果記憶部との間
    に複数のバッファメモリと、 該プロセッサユニットの処理結果を、その処理回数毎
    に、該複数のバッファメモリを切り替えて一時記憶させ
    るプロセッサユニット出力制御手段とを設けたことを特
    徴とする並列データ処理装置。
  2. 【請求項2】 請求項1記載の並列データ処理装置にお
    いて、 前記複数のプロセッサユニットに優先順位を付け、複数
    の前記プロセッサユニットから処理結果の転送要求があ
    ると、これら転送要求があったプロセッサユニットの優
    先順位を判定し、優先順位の高い方の該プロセッサユニ
    ットから転送要求を受け付ける優先順位判定部と、 該プロセッサユニット毎の処理結果の転送回数を記憶す
    る複数のレジスタと、 転送要求のあった前記プロセッサユニットの処理回数を
    これに対応する該レジスタの値により認識し、該認識結
    果に基づいて転送すべきデータか否かを決定する処理回
    数判定部とを設け、 前記プロセッサユニット出力制御手段は、複数の前記プ
    ロセッサユニットから前記バッファメモリに処理結果を
    書き込む際、該優先順位判定部と該処理回数判定部との
    判定結果から書き込み許可の判定を行なうことを特徴と
    する並列データ処理装置。
  3. 【請求項3】 請求項2記載の並列データ処理装置にお
    いて、 前記優先順位判定部は、複数の前記プロセッサユニット
    に対し、データ処理を開始する順番で前記優先順位を付
    けることを特徴とする並列データ処理装置。
  4. 【請求項4】 請求項1乃至3のいずれか1つに記載の
    並列データ処理装置において、 前記プロセッサユニット出力制御手段により選択されな
    かった前記バッファメモリに対して、前記処理結果記憶
    部への前記処理結果の転送を行わせるバッファメモリ出
    力制御手段を有することを特徴とする並列データ処理装
    置。
  5. 【請求項5】 請求項4記載の並列データ処理装置にお
    いて、 前記CPU,前記データ入力部と前記データ記憶部と前
    記プロセッサユニットと前記処理結果記憶部とに接続さ
    れ、前記データ入力部からの前記入力データを伝送する
    ためのローカルバスと、 前記処理結果記憶部と前記バッファメモリ出力制御手段
    とに接続され、前記プロセッサユニットでの処理結果を
    前記バッファメモリから前記前記処理結果記憶部に伝送
    するためのローカルバスとを有することを特徴とする並
    列データ処理装置。
  6. 【請求項6】 請求項5記載の並列データ処理装置にお
    いて、 前記バッファメモリに処理結果を出力した前記プロセッ
    サユニットに対し、その処理結果を出力した順番に優先
    順位を付け直し、付け直した優先順位が高い前記プロセ
    ッサユニットから順に次回の前記入力データを取り込む
    ように、データ入力に必要な条件を設定し直すスケジュ
    ーリング制御部を設けたことを特徴とする並列データ処
    理装置。
  7. 【請求項7】 請求項5記載の並列データ処理装置にお
    いて、 前記プロセッサユニットで処理して得られる処理結果に
    対して処理したデータの情報がヘッダとして付加されて
    おり、 前記処理結果記憶部に処理結果を格納する際に、該ヘッ
    ダから処理結果を並び替える処理結果合成制御部を設け
    たことを特徴とする並列データ処理装置。
  8. 【請求項8】 請求項7記載の並列データ処理装置にお
    いて、 前記処理結果合成制御部によって並べ替えて前記処理結
    果記憶部に格納された処理結果を前記プロセッサユニッ
    トに再分配する処理結果再分配制御部を設け、前記処理
    結果を複数回に前記プロセッサユニットで処理すること
    を特徴とする並列データ処理装置。
  9. 【請求項9】 請求項8記載の並列データ処理装置にお
    いて、 前記プロセッサユニットで処理する内容及び処理順に応
    じて、前記データ入力部,前記データ記憶部もしくは前
    記処理結果記憶部のいずれから前記プロセッサユニット
    にデータを入力するかを判定し、データ入力のスケジュ
    ーリングを行なうデータ入力スケジューリング手段を設
    けたことを特徴とする並列データ処理装置。
JP14159798A 1998-05-22 1998-05-22 並列データ処理装置 Pending JPH11338842A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14159798A JPH11338842A (ja) 1998-05-22 1998-05-22 並列データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14159798A JPH11338842A (ja) 1998-05-22 1998-05-22 並列データ処理装置

Publications (1)

Publication Number Publication Date
JPH11338842A true JPH11338842A (ja) 1999-12-10

Family

ID=15295718

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14159798A Pending JPH11338842A (ja) 1998-05-22 1998-05-22 並列データ処理装置

Country Status (1)

Country Link
JP (1) JPH11338842A (ja)

Similar Documents

Publication Publication Date Title
US20020019911A1 (en) Distributed high-speed memory controller
JPH01303543A (ja) メモリアクセス制御装置
US7392330B2 (en) Memory access bandwidth allocation and latency control in a digital camera
JP3442932B2 (ja) 情報処理システム
US20100058001A1 (en) Distributed shared memory multiprocessor and data processing method
US9172839B2 (en) Image forming apparatus, control method and storage medium
WO2006024193A1 (fr) Procede et systeme pour transfert de donnees
JP2003271574A (ja) 共有メモリ型マルチプロセッサシステムにおけるデータ通信方法
US7340544B2 (en) Method of using bus and bus interface
US5627968A (en) Data transfer apparatus which allows data to be transferred between data devices without accessing a shared memory
KR100356884B1 (ko) 투과기록제어를위한투과레지스터를구비한데이터프로세서
US20040230717A1 (en) Processing device
US20050135402A1 (en) Data transfer apparatus
US20030140189A1 (en) Method and apparatus for resource sharing in a multi-processor system
JP4446968B2 (ja) データ処理装置
JP4445621B2 (ja) マルチプロセッサ型処理装置における共有メモリアクセス方法およびその装置
JP4649257B2 (ja) マルチcpuシステム
US20060253623A1 (en) Semiconductor integrated circuit device which executes data transfer between a plurality of devices connected over network, and data transfer method
JPH1115794A (ja) 並列データ処理装置
EP0982661B1 (en) System for connecting a computer to a plurality of I/O means
JPH11134287A (ja) 入出力バスデータ転送装置
JPH09223103A (ja) 情報処理システム
JPH0728748A (ja) バス制御機構及び計算機システム
JPH0877099A (ja) Dmaコントローラ
JPH11175464A (ja) 調停装置および方法