JP3893210B2 - Parallel data processing device and visual inspection device using the same - Google Patents

Parallel data processing device and visual inspection device using the same Download PDF

Info

Publication number
JP3893210B2
JP3893210B2 JP06327398A JP6327398A JP3893210B2 JP 3893210 B2 JP3893210 B2 JP 3893210B2 JP 06327398 A JP06327398 A JP 06327398A JP 6327398 A JP6327398 A JP 6327398A JP 3893210 B2 JP3893210 B2 JP 3893210B2
Authority
JP
Japan
Prior art keywords
unit
state
processing
data
drive 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.)
Expired - Fee Related
Application number
JP06327398A
Other languages
Japanese (ja)
Other versions
JPH11259434A (en
Inventor
亮 中垣
秀明 土井
広志 川口
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 JP06327398A priority Critical patent/JP3893210B2/en
Publication of JPH11259434A publication Critical patent/JPH11259434A/en
Application granted granted Critical
Publication of JP3893210B2 publication Critical patent/JP3893210B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、複数のプロセッサエレメントを用いて入力デジタル信号を並列処理するシステムとそれを用いた被検査物の外観検査装置に係り、特に、画像データなどのように、高速かつ大量の処理を必要とするデジタル信号の処理に好適な並列データ処理装置とそれを用いた外観検査装置に関する。
【0002】
【従来の技術】
複数のプロセッサエレメント(PE)を備えた従来の並列データ処理装置では、これら全てのプロセッサエレメントがデータ入力部と共通の通信バスを介して接続され、このデータ入力部からデジタルデータが転送されてくると、これらプロセッサエレメントのいずれかにこのデジタルデータが分配されて処理されるものである。この場合、データ入力部からのデジタルデータを分配するプロセッサエレメントを決定するために、各プロセッサエレメントの状態(データ処理中、待機中、あるいは故障中といった状態)を管理する状態管理部と、この状態管理部でのかかるプロセッサエレメントの状態を示す管理情報に基づいてデータを転送するプロセッサエレメントを決定する処理分配部とが設けられており、この処理分配部によって決定されたプロセッサエレメントのみが通信バスを介してデータを取り込み、これを処理するようにしており、かかる従来技術の一例が特開平5−173990号公報に開示されている。
【0003】
図10はかかる従来の並列データ処理装置を示すブロック図であって、1はデータ入力部、6はデータ出力部、21は状態管理部、22は管理情報、23は処理分配部、24は通信バス、PE(1)〜(n)はプロセッサエレメントである。
【0004】
同図において、共通の通信バス24にデータ入力部1やデータ出力部6,n個(但し、nは2以上の整数)のプロセッサエレメントPE(1)〜(n),状態管理部21,処理分配部23が接続されている。データ入力部1から入力されたデジタルのデータは通信バス24を通じてプロセッサエレメントPE(1)〜(n)に分配されて並列処理され、これによって処理されたデータは通信バス24を通じてデータ出力部6から出力される。
【0005】
また、状態管理部21と処理分配部23とは通信バス24を介してプロセッサエレメントPE(1)〜(n)と通信可能であって、状態管理部21では、各プロセッサエレメントPE(1)〜(n)からその現在の上記のような状態を示す情報が送られてきて、これを管理情報22として保持し、夫々のプロセッサエレメントPE(1)〜(n)の状態を管理している。また、処理分配部23は、状態管理部21での管理情報22をもとに夫々のプロセッサエレメントPE(1)〜(n)の状態を把握し、データ入力部1で次に入力されるデータを分配して処理させるプロセッサエレメントPEを決定する。
【0006】
ここで、プロセッサエレメントPE(1)〜(n)は、その状態が変化したとき、その新たな状態を示す情報(以下、状態情報という)を通信バス24でデータが転送されない期間(非転送期間)に状態管理部21に伝送して自己の状態を知らせ、また、その非転送期間内に処理分配部23がデータ入力部1から次に転送されるデータの分配先を決定する。
【0007】
そこで、プロセッサエレメントPE(1)〜(n)は、例えば、処理状態からその処理が終わって待機状態となるようにその状態が変化したとき、通信バス24の状態を認識し、現在データの転送が行なわれているときには、その転送が終わるのを待って、また、データの転送が行なわれていないときには、直ちに状態情報を状態管理部21に送る。処理分配部23は、状態管理部21の管理情報22をもとに次にデータ処理を行なうべきプロセッサエレメントPEを決定し、しかる後、データ入力部1からデータが入力されて決定されたプロセッサエレメントPEに転送される。
【0008】
【発明が解決しようとする課題】
このように、処理分配部23で次のデータを処理すべきプロセッサエレメントPEを決定してからデータ入力部1が次のデータを入力するものであるから、プロセッサエレメントPEから状態管理部21への状態情報の伝送と処理分配部23による次のデータ処理すべきプロセッサエレメントPEの決定とを余裕をもって行なうことができ、また、入力データを取こぼすようなことはない。
【0009】
しかしながら、データ入力部1をイメージセンサやビデオカメラなどの画像検出器とし、処理するデータを2次元データである画像データとすると、かかる画像データはプロセッサエレメントPEの状態や処理分配部23の動作にかかわりなく順次データ入力部1から入力されることになり、また、情報量が大きく、取こぼしが許されない場合が多い。このため、上記従来技術のように、プロセッサエレメントPEから状態管理部21への状態情報の伝送や処理分配部23による次のデータ処理すべきプロセッサエレメントPEの決定のための期間を余裕をもって設定する、というようなことはできず、このような余裕のある期間を設けるためには、入力データを一時的に蓄えるための大容量のバッファメモリが必要になる。
【0010】
そこで、画像データの並列処理については、複数のプロセッサエレメントPEに入力データを分配する順序を設定するようにした方法が知られている。これは、いま、4個のプロセッサエレメントPE(1),(2),(3),(4)が使用されるものとして、図11に示すように、画像データDが順次入力されるものとし、この画像データDを単位画像データ(1水平走査期間またはフィールド期間の画像データ)毎に夫々のプロセッサエレメントPE(1),(2),(3),(4)に順番に分配処理させるようにするものである。従って、プロセッサエレメントPE(1)は3個おきの単位データD1,D5,D9,D13,……が分配されて処理し(なお、図11の斜めハッチング部分が単位画像データの処理期間を表わし、この処理期間には、処理した単位データの出力処理も含まれる)、プロセッサエレメントPE(2)は他の3個おきの単位データD2,D6,D10,……が分配されて処理し、プロセッサエレメントPE(3)はさらに他の3個おきの単位データD3,D7,D11,……が分配されて処理し、プロセッサエレメントPE(4)は残りの3個おきの単位データD4,D8,D12,……が分配されて処理する。この場合、各プロセッサエレメントPEが単位画像データを何個おきに処理するかは単位画像データの処理に要する最大時間で決まり、単位画像データの情報量に応じてこの処理時間はまちまちであって、最大処理時間が長いほど単位データの取り込む間隔が長くなり、この分使用するプロセッサエレメントPEの個数も多くなって並列データ処理装置が大型化,高価格化する。
【0011】
また、かかる画像データの並列処理方法によると、例えば、図11でのプロセッサエレメントPE(1)の単位画像データD5の処理のように、取り込んだ単位画像データを短時間で処理してしまうような場合でも、このプロセッサエレメントPE(1)は次の単位画像データD9が転送されてくるまで待機していなければならない。このため、並列データ処理装置全体としてのプロセッサエレメントPEの稼働率が低下する。
【0012】
本発明の目的は、かかる問題を解消し、画像データなどの大量の情報を有しかつ高速に入力されるデータを取りこぼすことなく、かつ効率良く処理することができ、プロセッサエレメントの稼働率を向上させることができるようにした小型,低価格の並列データ処理装置を提供することにある。
【0013】
【課題を解決するための手段】
上記目的を達成するために、本発明は、駆動信号バスを介して伝送されてくる駆動信号によって駆動され、該駆動信号の予め決められた第1の状態でデジタル信号を入力するデータ入力部と、データバスを介して該データ入力部で入力されたデジタル信号がデータバスを介して供給される複数のプロセッサエレメントと、該データ入力部がデジタル信号を入力しない該駆動信号の第2の状態で、通信バスを介して複数の該プロセッサエレメントと通信する処理分配部とからなり、該処理分配部は、該駆動信号が第2の状態にあるとき、複数の該プロセッサエレメントの状態を監視し、その監視結果に応じて、該データ入力部からのデジタル信号を分配して処理させる該プロセッサエレメントを決定する手段を有するものである。
【0014】
かかる構成により、デジタル信号が入力されない期間に各プロセッサエレメントの状態を把握して、次に入力されるデジタル信号を待機状態にある任意のプロセッサエレメント分配して処理させることを決定することができて、プロセッサエレメントの個数を多くしないで、入力されるデジタル信号を、取りこぼしなく、処理することができるし、また、夫々のプロセッサエレメントに一様に分配することが可能となって、全体のプロセッサエレメントの稼働率が向上する。
【0015】
また、本発明は、複数の前記プロセッサエレメントを複数のグループに分割して、該グループ毎に前記処理分配部を設け、該各グループ内で、データ入力部からのデジタル信号をプロセッサエレメントに分配して処理する要にする。
【0016】
かかる構成によると、各プロセッサエレメントPEと処理分配部との間の通信量が多くても、かかる通信を夫々のグループが分担することになるから、個々のグループでの通信量が低減し、入力デジタル信号の夫々のプロセッサエレメントへの分担が確実に行なわれるようになる。
【0017】
【発明の実施の形態】
以下、本発明の実施形態を図面を用いて説明する。
【0018】
図1は本発明による並列データ処理装置の一実施形態を示すブロック図であって、1はデータ入力部、2は駆動信号バス、3はデータバス、4は通信バス、5は処理分配部、6はデータ出力部、PE(1),(2),(3),……,(n)はプロセッサエレメントである。
【0019】
同図において、データ入力部1は、例えば、イメージセンサやビデオカメラなどの2次元の画像データを入力する画像検出器であって、駆動信号バス2を介して供給される駆動信号によって駆動される。ここでは、データ入力部1をビデオカメラとし、従って、この駆動信号は水平または垂直同期パルス(以下、これらを総称して同期パルスという)である。
【0020】
データ入力部1から入力された画像データは、データバス3を介してn個(但し、nは2以上の整数)のプロセッサエレメントPE(1),(2),(3),……,(n)に転送される。これらプロセッサエレメントPE(1),(2),(3),……,(n)と処理分配部5とは通信バス4を介して相互に通信可能となっている。また、これらプロセッサエレメントPE(1),(2),(3),……,(n)と処理分配部5とは駆動信号バス2に接続されており、この駆動信号バス2の状態を常時監視している。いま、駆動信号バス2を伝送される同期パルスのパルス期間で駆動信号バス2の状態を“H”とし、それ以外の期間の状態を“L”とすると、駆動信号バス2の状態が“L”になる毎に、データ入力部1からデータバス3を介して画像データが転送され、駆動信号バス2の状態が“H”のとき(即ち、同期パルスのパルス期間)では、データバス3で画像データは転送されない。
【0021】
なお、以下では、同期パルスの間の期間(駆動信号バス2の状態が“L”である期間)でのデータ入力部1から転送される画像データが単位画像データであり、この単位画像データは、同期パルスが水平同期パルスであるとき、1水平走査期間での画像データ、また、同期パルスが垂直同期パルスあるいはフレームパルスであるとき、1フィールドあるいは1フレームの画像データである。
【0022】
プロセッサエレメントPE(1),(2),(3),……,(n)と処理分配部5とは、上記のように、駆動信号バス2の状態を常時監視しており、この状態が“H”(即ち、同期パルスのパルス期間内)であるとき、通信バス4を介して相互に通信可能とする。プロセッサエレメントPE(1),(2),(3),……,(n)からは、その状態(処理中や待機中,故障中など)に変更があったとき、新たな状態を表わす情報(以下、状態情報という)を通信バス4を介して処理分配部5に送信し、処理分配部5は、かかる状態情報を受信して管理情報として保持し、これによってこれらプロセッサエレメントPE(1),(2),(3),……,(n)の状態を管理するとともに、この管理情報に基づいてデータ入力部1からの画像データを、単位画像データ毎に、分配するプロセッサエレメントPEを決定し、その決定を表わす情報(以下、分配決定情報という)を該当するプロセッサエレメントPEに送信する。これにより、分配決定されたプロセッサエレメントPEはデータ入力部1からデータバス3を介して次に転送される単位画像データを取り込む。この取り込みが終了すると、駆動信号バス2の状態が“H”(即ち、同期パルスのパルス期間)となるので、このプロセッサエレメントPEは「処理中」の状態情報を通信バス4を介して処理分配部5に送信し、しかる後、この取り込んだ単位画像データの処理を開始する。この処理された単位画像データはデータバス3を転送され、データ出力部6から出力される。この処理した単位画像データの出力処理が終了すると、次に駆動信号バス2が“H”の状態になったとき、当該プロセッサエレメントPEは「待機中」の状態情報を処理分配部5に送信する。
【0023】
なお、プロセッサエレメントPEで処理された単位画像データは、同じデータバス3、もしくは別に設けられた処理結果転送用のバスを介してデータ出力部6から出力されるが、同じデータバス3を介して転送される場合には、データ出力部6がデータ入力部1からの入力画像データと区別できるように、例えば、変調などの処理がなされており、データ出力部6はこれを取り込んで復調などの処理を行なう。
【0024】
このようにして、この実施形態は、画像データに必然的に付加される同期パルス期間を検出し、その期間にプロセッサエレメントPEと処理分配部5との通信を行なうようにするものであるから、画像データが順次続けてデータ入力部1から入力されても、各プロセッサエレメントPEから処理分配部5に夫々の状態情報を送ることができ、処理分配部5も全てのプロセッサエレメントPEの状態を監視することができて、単位画像データ毎のプロセッサエレメントPEへの分配を、取りこぼすことなく、確実に行なうことができる。
【0025】
図2は図1におけるプロセッサエレメントPEの一具体例を示すブロック図であって、7はマイクロプロセッサ(以下、マイコンという)、8はローカルメモリ、9はスイッチ部、10は駆動信号監視部、11は処理状態記憶部、12は分配内容記憶部である。
【0026】
同図において、駆動信号監視部10は駆動信号バス2の状態を常時監視している。処理状態記憶部11はマイコン7の状態(処理中や待機中,故障中などの状態)を表わす状態情報を記憶するものであって、ローカルメモリ8の一部であってもよい。マイコン7はデータバス3からスイッチ部9を介してローカルメモリ8に取り込んだ単位画像データを処理するものであって、待機中から処理中へ、処理中から待機中へなど状態を変更すると、この変更後の新たな状態を表わす状態情報を処理状態記憶部11に記憶させる。
【0027】
また、分配内容記憶部12には、処理分配部5(図1)から通信バス4を介して送られてきた分配決定情報の内容(分配内容)が記憶され、これに応じてスイッチ部9がオン,オフ制御される。この分配内容がこのプロセッサエレメントPEに単位画像データを分配することを決定したことを表わす場合には、分配内容記憶部12がスイッチ部9をオンし、単位画像データがデータバス3からスイッチ部9を介してローカルメモリ8に取り込まれる。
【0028】
次に、この具体例の動作を説明する。
【0029】
いま、マイコン7が待機状態にあるものとすると、分配内容記憶部12に記憶されている分配内容は「分配せず」であり、これにより、スイッチ部9はオフ状態にある。また、処理状態記憶部11での状態情報も「待機中」を示している。
【0030】
いま、駆動信号バス2を介してデータ入力部1(図1)に同期パルスが供給され、これにより、駆動信号バス2の状態が“H”になったことを駆動信号監視部10が検知すると、この駆動信号監視部10の制御により、処理状態記憶部11がそこに記憶されている状態情報を通信バス4を介して処理分配部5(図1)に送信可能となり(この場合、勿論この状態情報を送信するようにしてもよいが、状態情報の内容が変更していないため、送信しないようにしてもよい。ここでは、内容の変更がない限り、状態情報の送信は行なわれないものとする)、また、分配内容記憶部12は通信バス4を介して処理分配部5から分配決定情報を受信可能な状態となる。
【0031】
そこで、いま、この処理分配部5からこのプロセッサエレメントPEに分配決定した内容の分配決定情報が通信バス4を介して送られてくると、分配内容記憶部12はこれを記憶してその内容を判断し、スイッチ部9をオン状態にする。しかる後、駆動信号バス2の状態が“L”となり、データ入力部1(図1)がデータバス3から単位画像データの転送を開始すると、この単位画像データはスイッチ部9を介して、マイコン7の制御のもとに、ローカルメモリ8に取り込まれる。この取込みが終了すると、スイッチ部9をオフ状態にし、マイコン7は処理状態記憶部11の状態情報の内容を「待機中」から「処理中」に変更する。そして、駆動信号バス2の状態が次の同期パルスによって“H”に変わると、駆動信号監視部10は処理状態記憶部11の「処理中」という状態情報を通信バス4を介して処理分配部5に送信させる。以上の動作とともに、マイコン7はローカルメモリ8に取り込まれた単位画像データの処理動作を開始する。
【0032】
処理動作が終了すると、マイコン7は処理状態記憶部11の状態情報の内容を「処理中」から「待機中」に変更する。そして、駆動信号バス2の状態が次の同期パルスによって“H”に変わると、駆動信号監視部10は処理状態記憶部11の「待機中」という状態情報を通信バス4を介して処理分配部5に送信させる。
【0033】
このようにして、画像データが転送されない駆動信号バス2の“H”状態の期間に、各プロセッサエレメントPEはその状態情報を処理分配部5(図1)に送信することができ、また、この処理分配部5からの分配決定情報を受信することができる。
【0034】
なお、この具体例では、画像データのうちの特定のデータ(例えば、画面上の左上隅などの特定部分での画像データ)のみを処理するようにすることもできる。この場合には、画像データの単位画像データの構成データ(例えば、画素データ)毎に、例えば、そのヘッダ部にデータの種類を識別するための情報(識別情報)が付加されており、また、図2において、分配内容記憶部12にこの特定のデータを指定する情報(指定情報)も格納されており、通信バス2を介して供給される分配決定情報がそのプロセッサエレメントPEに単位画像データを分配することを表わしたものであっても、データバス3を介して送られてくる単位画像データのうちのこの指定情報で指定される種類情報をもつ構成データであるときのみ、分配内容記憶部12がスイッチ部9をオン状態にする。
【0035】
図3は図1における処理分配部5の一具体例を示すブロック図であって、13は状態管理部、14は処理分配決定部、15は駆動信号監視部である。
【0036】
同図において、駆動信号バス2が“H”の状態にある期間にプロセッサエレメントPEから通信バス4を介して状態情報が供給されると、状態管理部13はこれを取り込む。即ち、状態管理部13に各プロセッサエレメントPEの状態を表わす管理情報が格納されており、あるプロセッサエレメントPEから状態情報が送られてくると、この状態情報により、状態管理部13での管理情報中の該当するプロセッサエレメントPEに対する内容が変更される。このようにして、この管理情報から各プロセッサエレメントPEの現在の状態を知ることができる。
【0037】
一方、駆動信号監視部15は駆動信号バス2の状態を常時監視しており、この駆動信号バス2がプロセッサエレメントPEとの通信を可能とする“H”の状態になると、駆動信号監視部15は処理分配決定部14を動作させる。これにより、処理分配決定部14は状態管理部13の管理情報を用いて次の単位画像データを分配すべきプロセッサエレメントPEを決定し、また、これまで処理状態にあったプロセッサエレメントPEを待機状態にする場合には、そのプロセッサエレメントPEを待機状態に変更することを決定し、夫々の決定を分配決定情報として、通信バス4を介し、該当するプロセッサエレメントPEに送信する。
【0038】
このようにして、処理分配部5は、駆動信号バス2が“H”の状態にあるとき、プロセッサエレメントPEとの通信が可能となる。
【0039】
図4は駆動信号バス2の状態と画像データとのタイミング関係を示す図であって、図示するように、駆動信号バス2が“H”状態にある同期パルスの間の“L”期間に画像データが存在する。画像データが存在しない“H”状態の期間内で処理分配部5とプロセッサエレメントPEとの通信を行ない、単位画像データを分配すべきプロセッサエレメントPEを決定しているので、駆動信号バス2の次の“L”状態での単位画像データは必ず決定されたプロセッサエレメントPEに分配されることになり、画像データは取りこぼしなく処理されることになる。
【0040】
図5は図1に示した実施形態の動作を示すタイミング図であり、また、図6は図5の夫々の状態での図3における情報管理部13の管理情報を示す図である。
【0041】
図5において、駆動信号バス2の状態でのS1,S2,S3,S4,S5,S6,……は駆動信号である同期パルスのパルス期間の“H”の状態を示しており、この“H”期間の間の“L”期間毎に、データバス3上を単位画像データD1,D2,D3,D4,D5,D6,……が転送される。
【0042】
ここで、3個(N=3)のプロセッサエレメントPE(1),(2),(3)が使用されるものとして、いま、初期状態として、これらプロセッサエレメントPE(1),(2),(3)が全て待機状態にあるものとすると、状態管理部13(図3)での管理情報は図6(a)に示されるようになっている。処理分配決定部14(図3)は、駆動信号バス2が“H”の状態S1でこの管理情報を先頭から「待機中」のプロセッサエレメントを検索し、最初に見つけ出した「待機中」のプロセッサエレメントを次の単位画像データを処理させるものと決定するが、初期状態にある駆動信号バス2が“H”の状態S1では、図6(a)に示す管理情報から、処理分配部5は単位画像データを分配すべきものとしてプロセッサエレメントPE(1)を決定する。これにより、この“H”の状態S1後に転送される単位画像データD1はプロセッサエレメントPE(1)に取り込まれる。この取込みが終了すると、プロセッサエレメントPE(1)はこの単位画像データD1の処理を開始するとともに、次の駆動信号バス2の“H”の状態S2でのプロセッサエレメントPE(1)から状態管理部13(図3)への状態情報の通信により、状態管理部13での管理情報が、図6(b)に示すように、プロセッサエレメントPE(1)が「処理中」であることを示すことになる。
【0043】
この場合、管理情報での配列は、状態が変化したプロセッサエレメントの状態情報が最後に配列され、その分他のプロセッサエレメントの状態情報の順序が繰り上がる。従って、状態管理部13がプロセッサエレメントPE(1)からの「処理中」とする状態情報を受けることにより、そこでの管理情報は図6(b)に示すようになる。
【0044】
なお、プロセッサエレメントPE(1)の動作でのハッチングして示す部分は取り込んだ単位画像データの処理期間及び処理結果を出力する期間を示しており、他のプロセッサエレメントPE(2),(3)についても同様である。
【0045】
処理分配部5の処理分配決定部14は、駆動信号バス2の“H”状態S2において、プロセッサエレメントPEからの状態情報の状態管理部13での取込みのための設定期間経過後、この状態管理部13での管理情報を検索し、次の単位画像データを処理すべきプロセッサエレメントPEを決定する。この場合、図6(b)に示す管理情報により、プロセッサエレメントPE(2)をかかるプロセッサエレメントPEと決定する。これにより、この駆動信号バス2の“H”状態S2が経過すると、次の単位画像データD2はこのプロセッサエレメントPE(2)に取り込まれる。
【0046】
プロセッサエレメントPE(2)でのこの単位画像データD2の取込みが終了し、駆動信号バス2の次の“H”状態S3になると、プロセッサエレメントPE(2)から情報管理部13に「処理中」を示す状態情報が送信され、これにより、この状態管理部13での管理情報は、図6(c)に示すように、プロセッサエレメントPE(2)が「処理中」と管理され、その情報が最後に配列される。これとともに、プロセッサエレメントPE(2)は単位画像データD2の処理を開始する。
【0047】
同様にして、この駆動信号バス2の“H”状態S3において、図6(c)に示す管理情報がプロセッサエレメントPE(3)が次の単位画像データD3を処理すべきものと決定され、駆動信号バス2の“H”状態S3が経過すると、このプロセッサエレメントPE(3)がこの単位画像データD3の取込みを開始する。
【0048】
プロセッサエレメントPE(3)で単位画像データD3の取込み中にプロセッサエレメントPE(2)での単位画像データD2の処理が終了すると、駆動信号バス2の“H”状態S4では、プロセッサエレメントPE(3)から「処理中」の状態情報が、また、プロセッサエレメントPE(2)から「待機中」の状態情報が夫々状態管理部13に送信され、従って、この状態管理部13での管理情報は、図6(d)に示すように、プロセッサエレメントPE(2)のみが「待機中」となる。そこで、処理分配決定部14は、この管理情報からプロセッサエレメントPE(2)を選択し、次の単位画像データD4を処理するプロセッサエレメントと決定する。従って、駆動信号バス2の“H”状態S4経過後、プロセッサエレメントPE(2)はこの単位画像データD4を取り込む。
【0049】
このプロセッサエレメントPE(2)による単位画像データD4の取込み中にプロセッサエレメントPE(3)が単位画像データD3の処理を終了し、また、駆動信号バス2の次の“H”状態S5での上記のプロセッサエレメントからの状態情報の状態管理部13での取込みのための設定期間内にプロセッサエレメントPE(1)の単位画像データD1の処理が終了すると、状態管理部13での管理情報は、図6(e)に示すように、プロセッサエレメントPE(3),(1)が「待機中」として管理され、処理分配決定部14は、このうちのプロセッサエレメントPE(3)を優先して次の単位画像データD5を処理するものと決定する。これにより、駆動信号バス2のこの“H”状態S5が経過すると、プロセッサエレメントPE(3)が次の単位画像データD5を取込み開始する。
【0050】
このプロセッサエレメントPE(3)の単位画像データD5の取込み中にプロセッサエレメントPE(2)が単位画像データD4の処理を終了すると、駆動信号バス2の次の“H”状態S6において、状態管理部13での管理情報は、図6(f)に示すように、プロセッサエレメントPE(1),(2)を「待機中」として管理し、プロセッサエレメントPE(3)を「処理中」として管理する。このため、処理分配決定部14は、次の単位画像データD6を処理するものとして、プロセッサエレメントPE(1)を優先して決定する。
【0051】
以下同様にして、処理分配決定部14は、駆動信号パス2の“H”状態Sの期間毎に、そのとき「待機中」にあるプロセッサエレメントPEを、また、複数のプロセッサエレメントPEが「待機中」にあるときには、管理情報内で先行して状態情報が配列している方のプロセッサエレメントPEが優先して、夫々次の単位画像データを処理すべきものとして決定する。
【0052】
このようにして、この実施形態では、駆動信号バス2の“H”状態Sで「待機中」の状態にある任意のプロセッサエレメントを次の単位画像データの処理をすべきものと決定するので、順次一定の期間毎にデータ入力部1(図1)から転送されてくる画像データを、取りこぼしなく、かつプロセッサエレメントの使用個数を少なくして処理することが可能となる。
【0053】
複数のプロセッサエレメントを順番に処理に使用する図11で説明した従来の技術では、図5と同様に、3個のプロセッサエレメントPE(1)〜(3)を使用するものとすると、プロセッサエレメントPE(1)が単位画像データD1の処理中にプロセッサエレメントPE(2),(3)が夫々単位画像データD2,D3の処理を終了しても、単位画像データD4は、順番により、プロセッサエレメントPE(1)で処理されることになっているので、これらプロセッサエレメントPE(2),(3)が「待機中」にあることを知ることは不可能である。このため、この単位画像データD4を処理することができず、この単位画像データD4は取りこぼしとなる。これを防止するためには、さらにもう1つプロセッサエレメントを追加する必要がある。
【0054】
画像データでは、情報量が大きいほどこれを処理するに要する時間が長くなる。従って、単位画像データの処理時間はそれが有する情報量に応じてばらつくことになり、そのばらつき具合を前もって予測することは困難である。しかし、そのばらつきが大きいほどプロセッサエレメントを多く必要とするものであり、このため、図11に示した従来の技術では、かかるばらつきを考慮し、単位画像データの最長の処理時間を推定してプロセッサエレメントの使用個数を決定するため、非常に多くのプロセッサエレメントを必要とするものである。これに対し、この実施形態では、画像データが伝送されない同期パルスのパルス期間(駆動信号バス2の“H”状態の期間)を有効に利用し、この期間で「待機中」にあるプロセッサエレメントPEを見つけ出してそれを次の単位画像データの処理に割り当てるものであるから、「待機中」にある任意のプロセッサエレメントPEを次の単位画像データの処理に使用することができ、プロセッサエレメントPEの使用数の増加を防ぐことができる。
【0055】
また、この実施形態では、状態管理部13で「待機中」として管理されているプロセッサエレメントPEのうち、先行して「待機中」となったプロセッサエレメントPEの方を優先して次の単位画像データを処理するものと決定するので、各プロセッサエレメントPEの「待機中」の状態を短くすることができ、プロセッサエレメントPEの稼働率を高めることができる。
【0056】
なお、図5に示した具体例では、同期パルスが有効になる期間の度毎に各プロセッサエレメントPEの動作状態を調べ、次に処理すべき単位画像データを処理するプロセッサエレメントPEを決定するものとしているが、画像データの転送速度や演算処理の内容によっては、必ずしも同期パルスのパルス期間毎に行なう必要はなく、数回の同期パルス期間につき1回といったように、任意の同期パルス期間で各プロセッサエレメントPEの動作状態の調査と次の単位画像データの送信相手の決定とを行なうようにしてもよい。このことは、以下に説明する他の実施形態についても同様である。
【0057】
図7は本発明による並列データ処理装置の他の実施形態を示すブロック図であって、4a,4bは通信バス、5a,5bは処理分配部であり、図1に対応する部分には同一符号をつけて重複する説明を省略する。
【0058】
この実施形態は、図1で示したようなn個のプロセッサエレメントPEを1つの処理分配部5で管理することができない場合のものであって(例えば、同期パルスの短かいパルス期間でプロセッサエレメントPEから処理分配部5への状態情報の通信と処理分配部5から所定のプロセッサエレメントPEへの分配決定情報の通信とを行なうものであるが、複数のプロセッサエレメントPEから状態情報の通信がある場合、この短かいパルス期間に処理分配部5がこれら全ての状態情報を取り込むことができない場合もある)、複数のプロセッサエレメントPEを複数のグループ(以下、PEグループという)に区分し、夫々のPEグループ毎に処理分配部が設けられて独立に制御されるものである。ここでは、2つのPEグループA,Bに区分され、PEグループAは処理分配部5aとm個のプロセッサエレメントPE(1)〜(m)とから構成され、PEグループBは処理分配部5bと(n−m)個のプロセッサエレメントPE(m+1)〜(n)とから構成されているものとする。
【0059】
PEグループAでは、処理分配部5aとプロセッサエレメントPE(1)〜(m)とが通信バス4aを介して通信可能であり、PEグループBでは、処理分配部5bとプロセッサエレメントPE(m+1)〜(n)とが通信バス4bを介して通信可能である。また、これら処理分配部5a,5bは相互に管理を行なっている。即ち、これら処理分配部5a,5bは、例えば、図3に示す構成をなしているが、処理分配部5a,5bの一方が管理するプロセッサエレメントPEが全て「処理中」にあるときには、他方が管理する「待機中」のプロセッサエレメントPEが次の単位画像データを処理できるようにする。
【0060】
そこで、図1に示した実施形態と同様にして、処理分配部5aでは、その情報管理部13(図3)に各プロセッサエレメントPE(1)〜(m)の状態を示す管理情報が格納されており、また、処理分配部5bでは、その情報管理部13に各プロセッサエレメントPE(m+1)〜(n)の状態を示す管理情報が格納されているが、いま、処理分配部5aの情報管理部13での管理情報から全てのプロセッサエレメントPE(1)〜(m)が「処理中」にあるとすると、処理分配部5aはこの旨を処理分配部5bに通知する。これにより、この処理分配部5bは、その情報管理部13での管理情報により、図1に示した実施形態と同様にして、「待機中」にあるプロセッサエレメントPEを検索し、これを次の単位画像データを処理するプロセッサエレメントPEとして決定する。
【0061】
ここで、PEグルーブAで優先して次の単位画像データを処理するプロセッサエレメントPEを決定するようにし、ここでかかるプロセッサエレメントPEがない場合(全てのプロセッサエレメントPE(1)〜(m)が「処理中」にあるとき)、PEグループBでプロセッサエレメントPE(m+1)〜(n)の中からかかるプロセッサエレメントPEを検索するようにしてもよいし、また、稼動するプロセッサエレメントPEが一方のPEグループに片寄らないようにするために、PEグループA,B交互に次の単位画像データを処理するプロセッサエレメントPEを決定するようにし、かかる決定をすべきプロセッサエレメントPEがない場合には、他方のPEグループに移るようにしてもよい。
【0062】
以上はデータ入力部1からの単位画像データをプロセッサエレメントPE(1)〜(n)のいずれかに分配して処理させるものであり、この点では、図1に示した実施形態と同様であるが、図7に示すこの実施形態の変形例として、PEグループAとPEグループBとで画像での異なる単位画像データを処理させるようにしてもよい。
【0063】
例えば、図8(a)に示すように、PEグループAはデータ入力部1からの1つおきの単位画像データD1,D3,……を処理し、PEグループBはデータ入力部1からの他の1つおきの単位画像データD2,D4,……を処理するようにしてもよい。この場合には、データ入力部1から転送される1つおきの単位画像データと他の1つおきの単位画像データとには、これらを識別できるようにする識別情報が付加されており、また、PEグループAのプロセッサエレメントPE(1)〜(m)では、その分配内容記憶部12(図2)に、取り込むべき単位画像データの識別情報に対する指定情報が格納され、同様に、PEグループBのプロセッサエレメントPE(m+1)〜(n)でも、その分配内容記憶部12に、取り込むべき単位画像データの識別情報に対する指定情報が格納される。
【0064】
また、他の変形例として、例えば、図8(b)に示すように、各単位画像データの一部(例えば、前半部)をPEグループAに分配して処理するようにし、各単位画像データの他の一部(例えば、後半部)をPEグループBに分配して処理するようにしてもよい。これらの部分毎に異なる識別情報が付加されており、また、PEグループAのプロセッサエレメントPE(1)〜(m)の分配内容記憶部12(図2)とPEグループBのプロセッサエレメントPE(m+1)〜(n)の分配内容記憶部12とには、夫々取り込むべきデータの識別情報に対する指示情報が格納されている。この場合、単位画像データを1水平走査期間の画像データとすると、PEグループAは画面の左半分の画像データを処理することになり、PEグループBは画面の右半分の画像データを処理することになる。また、単位画像データが1フィールドの画像データである場合には、PEグループAは画面の上半分の画像データを処理することになり、PEグループBは画面の下半分の画像データを処理することになる。なお、PEグループAとPEグループBとで処理内容が異なるようにしてもよい。
【0065】
以上の実施形態において、データ転送量やデータ転送速度,同期パルス期間の頻度や長さなどの条件に応じて、PEグループの個数や1PEグループを構成するプロセッサエレメントPEの個数が決められるものであり、これにより、様々な条件において最適な構成をとることができる。
【0066】
なお、以上説明した実施形態において、同期パルスのパルス期間での駆動信号バス2の状態を“H”としたが、“L”の状態としてもよい。要するに、これら実施形態においては、画像データが転送されない駆動信号バス2の特定の状態のとき、上記のように、処理分配部5,5a,5bとプロセッサエレメントPEとの間で通信を行ない、これらプロセッサエレメントPEの状態の管理と単位画像データを処理するプロセッサエレメントの決定をすればよい。
【0067】
また、この点からすると、このような処理分配部5,5a,5bとプロセッサエレメントPEとの間で通信は、必ずしも同期パルスのパルス期間で行なう必要がなく、また、処理するデータも画像データである必要がなく、所定の時間間隔で対象物の観測を行なう場合のように、処理対象となる任意のデータに途切れる期間があれば、その期間を検出してその期間に処理分配部5,5a,5bとプロセッサエレメントPEとの間での同様の通信を行なうようにしてもよい。
【0068】
図9は本発明による並列データ処理装置を用いた半導体ウェハの外観検査装置の一実施形態を示す構成図であって、16は本発明による並列データ処理装置、17はステージ、18は半導体ウェハ、19はレンズ、20はリニアセンサである。
【0069】
この実施形態は、半導体ウェハの外観を検査するものであって、図9において、検査対象となる半導体ウェハ18はステージ17上に搭載されている。このステージ17はx,y方向に駆動可能になっている。半導体ウェハ18の所定部位がレンズ19を介してリニアセンサ20に結像され、リニアセンサ20からこの部位の画像が画像データとして出力される。この画像データは並列データ処理装置16に転送される。この並列データ処理装置16は図1や図7などに示した構成をなして、転送されてきた画像データを、図5や図8などで説明したように、効率的な並列処理を行なう。
【0070】
一般に、半導体ウェハの外観検査では、リニアセンサ20より検出される画像データはデータ量が膨大となる。また、リニアセンサ20の検出速度も向上しており、並列データ処理装置16では、莫大な画像データを高速に処理する必要がある。
【0071】
そこで、並列データ処理装置16として、上記の実施形態としての並列データ処理装置を用いることにより、このような莫大な画像データを処理する必要がある半導体ウェハの外観検査であっても、効率良く各プロセッサエレメントPEに画像データを分配処理することができるため、必要最小限のプロセッサエレメントPE数で処理を行なうことができる。
【0072】
また、検査を行なう条件や検査対象の変化により、リニアセンサ20の検出速度やデータ転送速度,使用するセンサが異なった場合には、図7で説明したように、複数のプロセッサエレメントPEをグループ化し、また、そのグループ数や1グループを構成するプロセッサエレメントPEの個数などを最適なものに変更することにより、効率良く各プロセッサエレメントPEに画像データを分配することができて、プロセッサエレメントPEの稼働率が向上し、外観検査装置の価格を低減することができる。
【0073】
なお、検査対象は、半導体ウェハのみに限るものではなく、プリント配線基板やその他のものであってもよく、上記と同様の効果が得られ、外観検査装置の価格低減を実現することができる。
【0074】
【発明の効果】
以上説明したように、本発明によれば、複数のプロセッサエレメントを有効活用することができ、その結果、大容量のデータを高速に処理することができて、価格性能比も向上する。
【図面の簡単な説明】
【図1】本発明による並列データ処理装置の一実施形態を示すブロック図である。
【図2】図1におけるプロセッサエレメントの一具体例を示すブロック図である。
【図3】図1における処理分配部の一具体例を示すブロック図である。
【図4】図1における駆動信号バスの状態とデータバスでの画像データとのタイミング関係を示す図である。
【図5】図1に示した実施形態の動作を示すタイミング図である。
【図6】図5に示した動作に応じた図3における状態管理部の管理情報の変化を示す図である。
【図7】本発明による並列データ処理装置の他の実施形態を示すブロック図である。
【図8】図7に示した実施形態の変形例の動作を示す図である。
【図9】本発明による並列データ処理装置を用いた外観検査装置の一実施形態を示す構成図である。
【図10】従来の並列データ処理装置の一例を示すブロック図である。
【図11】画像データに対する従来の並列データ処理装置の処理動作を示す図である。
【符号の説明】
PE(1)〜(n) プロセッサエレメント
1 データ入力部
2 駆動信号バス
3 データバス
4,4a,4b 通信バス
5,5a,5b 処理分配部
6 データ出力部
7 マイクロプロセッサ
8 ローカルメモリ
9 スイッチ部
10 駆動信号監視部
11 処理状態記憶部
12 分配内容記憶部
13 状態管理部
14 処理分配決定部
15 駆動信号監視部
16 並列データ処理装置
17 ステージ
18 半導体ウェハ
19 レンズ
20 リニアセンサ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a system for processing input digital signals in parallel using a plurality of processor elements and an inspection device for inspecting an object to be inspected using the system, and particularly requires high-speed and large-scale processing such as image data. The present invention relates to a parallel data processing apparatus suitable for processing digital signals and an appearance inspection apparatus using the parallel data processing apparatus.
[0002]
[Prior art]
In a conventional parallel data processing apparatus having a plurality of processor elements (PE), all these processor elements are connected to a data input unit via a common communication bus, and digital data is transferred from the data input unit. The digital data is distributed to any one of these processor elements and processed. In this case, in order to determine a processor element that distributes digital data from the data input unit, a state management unit that manages the state of each processor element (a state such as data processing, standby, or failure), and this state And a processing distribution unit for determining a processor element to which data is transferred based on management information indicating the state of the processor element in the management unit. Only the processor element determined by the processing distribution unit uses the communication bus. Data is taken in and processed, and an example of such a prior art is disclosed in JP-A-5-173990.
[0003]
FIG. 10 is a block diagram showing such a conventional parallel data processing apparatus, wherein 1 is a data input unit, 6 is a data output unit, 21 is a state management unit, 22 is management information, 23 is a processing distribution unit, and 24 is a communication unit. The buses PE (1) to (n) are processor elements.
[0004]
In the figure, a common communication bus 24 has a data input unit 1, data output unit 6, n (where n is an integer of 2 or more) processor elements PE (1) to (n), state management unit 21, and processing. A distribution unit 23 is connected. Digital data input from the data input unit 1 is distributed to the processor elements PE (1) to (n) through the communication bus 24 and processed in parallel. The processed data is transmitted from the data output unit 6 through the communication bus 24. Is output.
[0005]
The state management unit 21 and the processing distribution unit 23 can communicate with the processor elements PE (1) to (n) via the communication bus 24. In the state management unit 21, the processor elements PE (1) to (n) Information indicating the current state as described above is sent from (n), held as management information 22, and the state of each of the processor elements PE (1) to (n) is managed. Further, the processing distribution unit 23 grasps the states of the respective processor elements PE (1) to (n) based on the management information 22 in the state management unit 21, and the data to be input next in the data input unit 1 Processor elements PE to be distributed and processed are determined.
[0006]
Here, when the state changes, the processor elements PE (1) to (n) do not transfer data indicating the new state (hereinafter referred to as state information) over the communication bus 24 (non-transfer period). ) To the state management unit 21 to inform the state of itself, and the processing distribution unit 23 determines a distribution destination of data to be transferred next from the data input unit 1 within the non-transfer period.
[0007]
Therefore, the processor elements PE (1) to (n) recognize the state of the communication bus 24 and transfer the current data, for example, when the state changes from the processing state to the standby state after the processing is completed. If the data transfer is not completed, the status information is immediately sent to the status management unit 21. The processing distribution unit 23 determines the processor element PE to be subjected to data processing next based on the management information 22 of the state management unit 21, and then the processor element determined by data input from the data input unit 1. Transferred to PE.
[0008]
[Problems to be solved by the invention]
In this way, since the data input unit 1 inputs the next data after the processing distribution unit 23 determines the processor element PE to process the next data, the processor element PE sends the next data to the state management unit 21. Transmission of the status information and determination of the processor element PE to be processed next by the processing distribution unit 23 can be performed with a margin, and input data is not missed.
[0009]
However, if the data input unit 1 is an image detector such as an image sensor or a video camera, and the data to be processed is image data that is two-dimensional data, the image data depends on the state of the processor element PE and the operation of the processing distribution unit 23. Regardless of this, the data is sequentially input from the data input unit 1, and the amount of information is large, so that there are many cases where the data cannot be overlooked. For this reason, as in the above-described prior art, a period for transmission of status information from the processor element PE to the status management unit 21 and determination of the processor element PE to be processed next by the processing distribution unit 23 is set with a margin. In order to provide such a marginal period, a large-capacity buffer memory for temporarily storing input data is required.
[0010]
Thus, a method is known in which the order of distributing input data to a plurality of processor elements PE is set for parallel processing of image data. It is assumed that four processor elements PE (1), (2), (3), and (4) are used, and image data D is sequentially input as shown in FIG. The image data D is distributed to the processor elements PE (1), (2), (3), and (4) in order for each unit image data (image data in one horizontal scanning period or field period). It is to make. Therefore, every three unit data D1, D5, D9, D13,... Are distributed and processed by the processor element PE (1) (note that the hatched portion in FIG. 11 represents the processing period of the unit image data, This processing period includes output processing of the processed unit data), and the processor element PE (2) distributes and processes every other unit data D2, D6, D10,. PE (3) further distributes and processes every other unit data D3, D7, D11,..., And processor element PE (4) processes the remaining unit data D4, D8, D12,. …… is distributed and processed. In this case, how many unit image data each processor element PE processes is determined by the maximum time required for processing the unit image data, and this processing time varies depending on the information amount of the unit image data. The longer the maximum processing time, the longer the interval for taking in unit data, and the number of processor elements PE to be used increases accordingly, which increases the size and cost of the parallel data processing device.
[0011]
Further, according to such a parallel processing method of image data, for example, the captured unit image data is processed in a short time like the processing of the unit image data D5 of the processor element PE (1) in FIG. Even in this case, the processor element PE (1) must wait until the next unit image data D9 is transferred. For this reason, the operation rate of the processor element PE as the whole parallel data processing apparatus is lowered.
[0012]
An object of the present invention is to solve such a problem, and can efficiently process data that has a large amount of information such as image data and is input at high speed, and can improve the operating rate of the processor element. The object is to provide a compact, low-cost parallel data processing device that can be improved.
[0013]
[Means for Solving the Problems]
In order to achieve the above object, the present invention comprises a data input unit that is driven by a drive signal transmitted through a drive signal bus and inputs a digital signal in a first predetermined state of the drive signal. A plurality of processor elements to which a digital signal input through the data bus through the data input unit is supplied through the data bus; and a second state of the drive signal in which the data input unit does not input the digital signal. A processing distribution unit that communicates with the plurality of processor elements via a communication bus, and the processing distribution unit monitors the states of the plurality of processor elements when the drive signal is in the second state, According to the monitoring result, there is provided means for determining the processor element to distribute and process the digital signal from the data input unit.
[0014]
With such a configuration, it is possible to grasp the state of each processor element during a period in which no digital signal is input, and to determine that the next input digital signal is to be distributed and processed in any standby processor element. The input digital signal can be processed without being missed without increasing the number of processor elements, and can be uniformly distributed to the respective processor elements. The operating rate of
[0015]
The present invention also divides a plurality of the processor elements into a plurality of groups, and provides the processing distribution unit for each group, and distributes the digital signal from the data input unit to the processor elements in each group. To process.
[0016]
According to such a configuration, even if there is a large amount of communication between each processor element PE and the processing distribution unit, such communication is shared by each group, so the amount of communication in each group is reduced and input is reduced. The division of the digital signal to the respective processor elements is ensured.
[0017]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0018]
FIG. 1 is a block diagram showing an embodiment of a parallel data processing apparatus according to the present invention, wherein 1 is a data input unit, 2 is a drive signal bus, 3 is a data bus, 4 is a communication bus, 5 is a processing distribution unit, Reference numeral 6 denotes a data output unit, and PEs (1), (2), (3),..., (N) are processor elements.
[0019]
In the figure, a data input unit 1 is an image detector for inputting two-dimensional image data, such as an image sensor or a video camera, and is driven by a drive signal supplied via a drive signal bus 2. . Here, the data input unit 1 is a video camera. Therefore, the drive signal is a horizontal or vertical sync pulse (hereinafter collectively referred to as a sync pulse).
[0020]
The image data input from the data input unit 1 is n (where n is an integer of 2 or more) processor elements PE (1), (2), (3),. n). These processor elements PE (1), (2), (3),..., (N) and the processing distribution unit 5 can communicate with each other via the communication bus 4. The processor elements PE (1), (2), (3),..., (N) and the processing distribution unit 5 are connected to the drive signal bus 2, and the state of the drive signal bus 2 is always changed. Monitoring. Now, assuming that the state of the drive signal bus 2 is “H” in the pulse period of the synchronization pulse transmitted through the drive signal bus 2 and the state of the other period is “L”, the state of the drive signal bus 2 is “L”. Each time “”, image data is transferred from the data input unit 1 via the data bus 3, and when the state of the drive signal bus 2 is “H” (that is, the pulse period of the synchronization pulse), the data bus 3 Image data is not transferred.
[0021]
In the following, image data transferred from the data input unit 1 in a period between synchronization pulses (a period in which the state of the drive signal bus 2 is “L”) is unit image data, and this unit image data is When the sync pulse is a horizontal sync pulse, image data in one horizontal scanning period, and when the sync pulse is a vertical sync pulse or a frame pulse, it is image data of one field or one frame.
[0022]
The processor elements PE (1), (2), (3),..., (N) and the processing distribution unit 5 constantly monitor the state of the drive signal bus 2 as described above. When it is “H” (that is, within the pulse period of the synchronization pulse), it is possible to communicate with each other via the communication bus 4. From the processor elements PE (1), (2), (3),..., (N), information indicating a new state when the state (processing, standby, failure, etc.) is changed. (Hereinafter, referred to as state information) is transmitted to the processing distribution unit 5 via the communication bus 4, and the processing distribution unit 5 receives the state information and holds it as management information, whereby these processor elements PE (1) , (2), (3),..., (N), and a processor element PE for distributing image data from the data input unit 1 for each unit image data based on this management information. The information representing the decision (hereinafter referred to as distribution decision information) is transmitted to the corresponding processor element PE. As a result, the processor element PE whose distribution has been determined takes in the unit image data to be transferred next from the data input unit 1 via the data bus 3. When this capture is completed, the state of the drive signal bus 2 becomes “H” (that is, the pulse period of the synchronization pulse), so that the processor element PE distributes the status information “processing” via the communication bus 4. The data is transmitted to the unit 5, and then processing of the captured unit image data is started. The processed unit image data is transferred through the data bus 3 and output from the data output unit 6. When the output processing of the processed unit image data is completed, the next time the drive signal bus 2 is in the “H” state, the processor element PE transmits the “standby” state information to the processing distribution unit 5. .
[0023]
The unit image data processed by the processor element PE is output from the data output unit 6 through the same data bus 3 or a processing result transfer bus provided separately. When the data is transferred, for example, a process such as modulation is performed so that the data output unit 6 can be distinguished from the input image data from the data input unit 1. Perform processing.
[0024]
In this way, this embodiment detects a synchronization pulse period that is inevitably added to image data, and performs communication between the processor element PE and the processing distribution unit 5 during that period. Even if image data is successively input from the data input unit 1, each processor element PE can send status information to the processing distribution unit 5, and the processing distribution unit 5 also monitors the status of all the processor elements PE. Therefore, the distribution of the unit image data to the processor elements PE can be reliably performed without being lost.
[0025]
2 is a block diagram showing a specific example of the processor element PE in FIG. 1, wherein 7 is a microprocessor (hereinafter referred to as a microcomputer), 8 is a local memory, 9 is a switch unit, 10 is a drive signal monitoring unit, 11 Is a processing state storage unit, and 12 is a distribution content storage unit.
[0026]
In the figure, the drive signal monitoring unit 10 constantly monitors the state of the drive signal bus 2. The processing state storage unit 11 stores state information indicating the state of the microcomputer 7 (processing, standby, failure, etc.), and may be part of the local memory 8. The microcomputer 7 processes the unit image data fetched from the data bus 3 to the local memory 8 via the switch unit 9. When the status is changed from standby to processing, from processing to standby, etc. State information representing the new state after the change is stored in the processing state storage unit 11.
[0027]
Further, the distribution content storage unit 12 stores the content (distribution content) of the distribution determination information sent from the processing distribution unit 5 (FIG. 1) via the communication bus 4, and the switch unit 9 responds accordingly. ON / OFF controlled. When this distribution content indicates that it is decided to distribute the unit image data to the processor element PE, the distribution content storage unit 12 turns on the switch unit 9 and the unit image data is transferred from the data bus 3 to the switch unit 9. Is taken into the local memory 8 via.
[0028]
Next, the operation of this specific example will be described.
[0029]
Assuming that the microcomputer 7 is in a standby state, the distribution content stored in the distribution content storage unit 12 is “not distributed”, and the switch unit 9 is in an OFF state. The status information in the processing status storage unit 11 also indicates “standby”.
[0030]
Now, a synchronization pulse is supplied to the data input unit 1 (FIG. 1) via the drive signal bus 2, and when the drive signal monitoring unit 10 detects that the state of the drive signal bus 2 has become "H". Under the control of the drive signal monitoring unit 10, the processing state storage unit 11 can transmit the state information stored therein to the processing distribution unit 5 (FIG. 1) via the communication bus 4 (in this case, of course, this Although the status information may be transmitted, the content of the status information may not be transmitted because the content of the status information has not changed.Here, the status information is not transmitted unless the content is changed. In addition, the distribution content storage unit 12 can receive distribution determination information from the processing distribution unit 5 via the communication bus 4.
[0031]
Therefore, when the distribution determination information of the content determined to be distributed to the processor element PE is sent from the processing distribution unit 5 via the communication bus 4, the distribution content storage unit 12 stores this and stores the content. Judgment is made and the switch unit 9 is turned on. Thereafter, when the state of the drive signal bus 2 becomes “L” and the data input unit 1 (FIG. 1) starts transferring the unit image data from the data bus 3, the unit image data is transferred to the microcomputer via the switch unit 9. 7 is taken into the local memory 8 under the control of 7. When this capture is completed, the switch unit 9 is turned off, and the microcomputer 7 changes the content of the state information in the processing state storage unit 11 from “standby” to “processing”. When the state of the drive signal bus 2 changes to “H” by the next synchronization pulse, the drive signal monitoring unit 10 transmits the status information “processing” in the processing state storage unit 11 via the communication bus 4 to the processing distribution unit. 5 is transmitted. Along with the above operation, the microcomputer 7 starts the processing operation of the unit image data fetched into the local memory 8.
[0032]
When the processing operation ends, the microcomputer 7 changes the content of the state information in the processing state storage unit 11 from “processing” to “standby”. When the state of the drive signal bus 2 is changed to “H” by the next synchronization pulse, the drive signal monitoring unit 10 transmits the status information “waiting” in the processing state storage unit 11 via the communication bus 4 to the processing distribution unit. 5 is transmitted.
[0033]
In this way, each processor element PE can transmit its state information to the processing distribution unit 5 (FIG. 1) during the “H” state of the drive signal bus 2 where no image data is transferred. Distribution determination information from the processing distribution unit 5 can be received.
[0034]
In this specific example, only specific data of the image data (for example, image data at a specific portion such as the upper left corner on the screen) can be processed. In this case, for each configuration data (for example, pixel data) of the unit image data of the image data, for example, information (identification information) for identifying the type of data is added to the header portion, and In FIG. 2, information (designation information) for designating this specific data is also stored in the distribution content storage unit 12, and the distribution determination information supplied via the communication bus 2 stores unit image data in the processor element PE. Even if it represents that the data is to be distributed, the distribution content storage unit only when it is the configuration data having the type information specified by the specified information of the unit image data sent via the data bus 3 12 turns on the switch unit 9.
[0035]
FIG. 3 is a block diagram showing a specific example of the processing distribution unit 5 in FIG. 1, in which 13 is a state management unit, 14 is a processing distribution determination unit, and 15 is a drive signal monitoring unit.
[0036]
In the figure, when the state information is supplied from the processor element PE through the communication bus 4 during the period in which the drive signal bus 2 is in the “H” state, the state management unit 13 captures this. That is, management information representing the state of each processor element PE is stored in the state management unit 13, and when the state information is sent from a certain processor element PE, the management information in the state management unit 13 is obtained from this state information. The content for the corresponding processor element PE is changed. In this way, the current state of each processor element PE can be known from this management information.
[0037]
On the other hand, the drive signal monitoring unit 15 constantly monitors the state of the drive signal bus 2, and when the drive signal bus 2 is in an “H” state that enables communication with the processor element PE, the drive signal monitoring unit 15. Operates the processing distribution determination unit 14. As a result, the processing distribution determination unit 14 determines the processor element PE to which the next unit image data is to be distributed using the management information of the state management unit 13, and waits for the processor element PE that has been in the processing state so far. In this case, it is determined that the processor element PE is changed to the standby state, and each determination is transmitted to the corresponding processor element PE via the communication bus 4 as distribution determination information.
[0038]
In this manner, the processing distribution unit 5 can communicate with the processor element PE when the drive signal bus 2 is in the “H” state.
[0039]
FIG. 4 is a diagram showing the timing relationship between the state of the drive signal bus 2 and the image data. As shown in FIG. 4, the image is displayed in the “L” period between the synchronization pulses in which the drive signal bus 2 is in the “H” state. Data exists. Communication between the processing distribution unit 5 and the processor element PE is performed within a period of “H” state in which no image data exists, and the processor element PE to which unit image data is to be distributed is determined. The unit image data in the “L” state is always distributed to the determined processor element PE, and the image data is processed without missing.
[0040]
FIG. 5 is a timing diagram showing the operation of the embodiment shown in FIG. 1, and FIG. 6 is a diagram showing management information of the information management unit 13 in FIG. 3 in each state of FIG.
[0041]
In FIG. 5, S1, S2, S3, S4, S5, S6,... In the state of the drive signal bus 2 indicate the “H” state of the pulse period of the synchronization pulse as the drive signal. The unit image data D1, D2, D3, D4, D5, D6,... Are transferred on the data bus 3 every “L” period.
[0042]
Here, assuming that three (N = 3) processor elements PE (1), (2), (3) are used, these processor elements PE (1), (2), If all (3) are in the standby state, the management information in the state management unit 13 (FIG. 3) is as shown in FIG. 6 (a). The processing distribution determination unit 14 (FIG. 3) searches for the “waiting” processor element from the top of this management information in the state S1 in which the drive signal bus 2 is “H”, and first finds the “waiting” processor. Although the element is determined to process the next unit image data, in the state S1 in which the drive signal bus 2 in the initial state is “H”, the processing distribution unit 5 determines the unit from the management information shown in FIG. The processor element PE (1) is determined as the image data to be distributed. As a result, the unit image data D1 transferred after this "H" state S1 is taken into the processor element PE (1). When this capture is completed, the processor element PE (1) starts processing the unit image data D1, and the state management unit starts from the processor element PE (1) in the "S" state S2 of the next drive signal bus 2. As shown in FIG. 6B, the management information in the state management unit 13 indicates that the processor element PE (1) is “processing” by communication of the state information to 13 (FIG. 3). become.
[0043]
In this case, in the arrangement in the management information, the state information of the processor element whose state has changed is arranged last, and the order of the state information of the other processor elements is advanced accordingly. Accordingly, when the state management unit 13 receives the state information “processing” from the processor element PE (1), the management information there is as shown in FIG. 6B.
[0044]
The hatched portion in the operation of the processor element PE (1) indicates the processing period of the captured unit image data and the period for outputting the processing result. The other processor elements PE (2), (3) The same applies to.
[0045]
The processing distribution determination unit 14 of the processing distribution unit 5 performs this state management after a set period for capturing the state information from the processor element PE in the state management unit 13 in the “H” state S2 of the drive signal bus 2. The management information in the section 13 is searched to determine the processor element PE that should process the next unit image data. In this case, the processor element PE (2) is determined as the processor element PE based on the management information shown in FIG. Thus, when the “H” state S2 of the drive signal bus 2 elapses, the next unit image data D2 is taken into the processor element PE (2).
[0046]
When the capture of the unit image data D2 in the processor element PE (2) is completed and the next "H" state S3 of the drive signal bus 2 is reached, the processor element PE (2) sends "in process" to the information management unit 13. As a result, as shown in FIG. 6C, the processor element PE (2) is managed as “processing” and the management information in the state management unit 13 is Finally arranged. At the same time, the processor element PE (2) starts processing the unit image data D2.
[0047]
Similarly, in the “H” state S3 of the drive signal bus 2, it is determined that the management information shown in FIG. 6C is to be processed by the processor element PE (3) for the next unit image data D3. When the “H” state S3 of the bus 2 elapses, the processor element PE (3) starts taking in the unit image data D3.
[0048]
When the processing of the unit image data D2 in the processor element PE (2) is completed while the unit image data D3 is being taken in by the processor element PE (3), the processor element PE (3 in the “H” state S4 of the drive signal bus 2 ) From the processor element PE (2) and “standby” status information to the state management unit 13. Therefore, the management information in the state management unit 13 is As shown in FIG. 6D, only the processor element PE (2) becomes “standby”. Accordingly, the processing distribution determination unit 14 selects the processor element PE (2) from this management information, and determines the processor element that processes the next unit image data D4. Accordingly, after the “H” state S4 of the drive signal bus 2 elapses, the processor element PE (2) takes in the unit image data D4.
[0049]
While the unit image data D4 is being captured by the processor element PE (2), the processor element PE (3) finishes the processing of the unit image data D3, and the above-described “H” state S5 of the drive signal bus 2 is described above. When the processing of the unit image data D1 of the processor element PE (1) is completed within the set period for fetching the state information from the processor element of FIG. 6 (e), the processor elements PE (3) and (1) are managed as “standby”, and the processing distribution determination unit 14 gives priority to the processor element PE (3), and The unit image data D5 is determined to be processed. As a result, when the “H” state S5 of the drive signal bus 2 elapses, the processor element PE (3) starts taking in the next unit image data D5.
[0050]
When the processor element PE (2) completes the processing of the unit image data D4 while the unit image data D5 of the processor element PE (3) is being fetched, in the next “H” state S6 of the drive signal bus 2, the state management unit As shown in FIG. 6 (f), the management information at 13 is managed with processor elements PE (1) and (2) as “waiting” and processor element PE (3) as “processing”. . Therefore, the processing distribution determination unit 14 preferentially determines the processor element PE (1) as processing the next unit image data D6.
[0051]
Similarly, for each period of the drive signal path 2 in the “H” state S, the processing distribution determination unit 14 selects a processor element PE that is “waiting” at that time, and a plurality of processor elements PE are “standby”. When it is “medium”, the processor element PE in which the state information is arranged in advance in the management information is preferentially determined to process the next unit image data.
[0052]
In this manner, in this embodiment, since it is determined that any processor element in the “standby” state in the “H” state S of the drive signal bus 2 should be processed for the next unit image data, sequentially. Image data transferred from the data input unit 1 (FIG. 1) at regular intervals can be processed without being missed and the number of processor elements used is reduced.
[0053]
In the conventional technique described with reference to FIG. 11 in which a plurality of processor elements are used for processing in the same manner as in FIG. 5, assuming that three processor elements PE (1) to (3) are used, the processor element PE Even if the processor elements PE (2) and (3) finish the processing of the unit image data D2 and D3 while (1) is processing the unit image data D1, the unit image data D4 is processed in order according to the processor element PE. Since it is supposed to be processed in (1), it is impossible to know that these processor elements PE (2) and (3) are “waiting”. For this reason, the unit image data D4 cannot be processed, and the unit image data D4 is lost. In order to prevent this, it is necessary to add another processor element.
[0054]
In image data, the larger the amount of information, the longer the time required to process it. Accordingly, the processing time of the unit image data varies depending on the amount of information that it has, and it is difficult to predict the degree of variation in advance. However, the larger the variation is, the more processor elements are required. For this reason, in the conventional technique shown in FIG. 11, the longest processing time of the unit image data is estimated in consideration of the variation and the processor is used. In order to determine the number of elements used, a very large number of processor elements are required. On the other hand, in this embodiment, the processor element PE in which the pulse period of the synchronization pulse in which the image data is not transmitted (the period of the “H” state of the drive signal bus 2) is effectively used and is “waiting” in this period is used. Therefore, any processor element PE that is "waiting" can be used for processing the next unit image data, and the processor element PE can be used. The increase in the number can be prevented.
[0055]
Further, in this embodiment, among the processor elements PE managed as “waiting” by the state management unit 13, the processor unit PE that is previously “waiting” is prioritized and the next unit image is given priority. Since it is determined that the data is to be processed, the “waiting” state of each processor element PE can be shortened, and the operating rate of the processor element PE can be increased.
[0056]
In the specific example shown in FIG. 5, the operating state of each processor element PE is checked every time the synchronization pulse is valid, and the processor element PE that processes the unit image data to be processed next is determined. However, depending on the transfer speed of the image data and the content of the arithmetic processing, it is not always necessary to perform every synchronization pulse pulse period. Each synchronization pulse period may be used for each synchronization pulse period, such as once every several synchronization pulse periods. You may make it investigate the operation state of processor element PE, and determine the transmission partner of the next unit image data. The same applies to other embodiments described below.
[0057]
FIG. 7 is a block diagram showing another embodiment of the parallel data processing apparatus according to the present invention. 4a and 4b are communication buses, 5a and 5b are processing distribution units, and parts corresponding to those in FIG. A duplicate description is omitted.
[0058]
This embodiment is a case where n processor elements PE as shown in FIG. 1 cannot be managed by one processing distribution unit 5 (for example, a processor element with a short pulse period of a synchronization pulse). Communication of status information from the PE to the processing distribution unit 5 and communication of distribution determination information from the processing distribution unit 5 to a predetermined processor element PE are performed, but there is communication of status information from a plurality of processor elements PE. In this case, the processing distribution unit 5 may not be able to capture all the state information during this short pulse period), and divide the plurality of processor elements PE into a plurality of groups (hereinafter referred to as PE groups), and A processing distribution unit is provided for each PE group and is controlled independently. Here, the PE group A is divided into two PE groups A and B. The PE group A is composed of a processing distribution unit 5a and m processor elements PE (1) to (m), and the PE group B is a processing distribution unit 5b. It is assumed that (n−m) processor elements PE (m + 1) to (n) are included.
[0059]
In the PE group A, the processing distribution unit 5a and the processor elements PE (1) to (m) can communicate with each other via the communication bus 4a. In the PE group B, the processing distribution unit 5b and the processor elements PE (m + 1) to PE (m + 1) to (n) can communicate with each other via the communication bus 4b. Further, these processing distribution units 5a and 5b manage each other. That is, these processing distribution units 5a and 5b have, for example, the configuration shown in FIG. 3, but when all the processor elements PE managed by one of the processing distribution units 5a and 5b are in “processing”, the other The managed “standby” processor element PE is allowed to process the next unit image data.
[0060]
Therefore, similarly to the embodiment shown in FIG. 1, in the processing distribution unit 5a, management information indicating the states of the processor elements PE (1) to (m) is stored in the information management unit 13 (FIG. 3). In the processing distribution unit 5b, management information indicating the state of each processor element PE (m + 1) to (n) is stored in the information management unit 13, but now the information management of the processing distribution unit 5a If all the processor elements PE (1) to (m) are in “processing” from the management information in the unit 13, the processing distribution unit 5a notifies the processing distribution unit 5b of this fact. As a result, the processing distribution unit 5b searches for the processor element PE in “standby” using the management information in the information management unit 13 in the same manner as in the embodiment shown in FIG. It is determined as a processor element PE that processes unit image data.
[0061]
Here, the processor element PE for processing the next unit image data is determined with priority in the PE groove A, and when there is no such processor element PE (all the processor elements PE (1) to (m) are present). In the case of “in process”, the processor element PE may be searched from the processor elements PE (m + 1) to (n) in the PE group B. In order not to shift to the PE group, the processor elements PE for processing the next unit image data are determined alternately in the PE groups A and B, and when there is no processor element PE to be determined, the other You may make it move to the PE group.
[0062]
The above processing distributes the unit image data from the data input unit 1 to any one of the processor elements PE (1) to (n), and this is the same as the embodiment shown in FIG. However, as a modification of this embodiment shown in FIG. 7, different unit image data in images may be processed in PE group A and PE group B.
[0063]
For example, as shown in FIG. 8A, PE group A processes every other unit image data D1, D3,... From data input unit 1, while PE group B receives other data from data input unit 1. Alternatively, every other unit image data D2, D4,... May be processed. In this case, every other unit image data transferred from the data input unit 1 and every other unit image data are added with identification information for identifying them, and In the processor element PE (1) to PE (m) of the PE group A, designation information for the identification information of the unit image data to be captured is stored in the distribution content storage unit 12 (FIG. 2). Similarly, the PE group B Also in the processor elements PE (m + 1) to (n), the distribution information storage unit 12 stores designation information for identification information of unit image data to be captured.
[0064]
As another modification, for example, as shown in FIG. 8B, a part (for example, the first half) of each unit image data is distributed to the PE group A for processing. Another part (for example, the second half) may be distributed to the PE group B for processing. Different identification information is added to each of these parts, and the distribution content storage unit 12 (FIG. 2) of the processor elements PE (1) to (m) of the PE group A and the processor element PE (m + 1) of the PE group B In the distribution content storage unit 12 of () to (n), instruction information for identification information of data to be fetched is stored. In this case, if the unit image data is image data of one horizontal scanning period, PE group A processes image data of the left half of the screen, and PE group B processes image data of the right half of the screen. become. When the unit image data is one-field image data, PE group A processes the upper half of the screen image data, and PE group B processes the lower half of the image data. become. The processing contents may be different between PE group A and PE group B.
[0065]
In the above embodiment, the number of PE groups and the number of processor elements PE constituting one PE group are determined according to conditions such as data transfer amount, data transfer rate, and frequency and length of synchronization pulse period. Thus, an optimum configuration can be taken under various conditions.
[0066]
In the embodiment described above, the state of the drive signal bus 2 in the pulse period of the synchronization pulse is “H”, but may be “L”. In short, in these embodiments, when the drive signal bus 2 is in a specific state where image data is not transferred, communication is performed between the processing distribution units 5, 5a, 5b and the processor element PE as described above. It is only necessary to manage the state of the processor element PE and determine the processor element for processing the unit image data.
[0067]
From this point, communication between the processing distribution units 5, 5a, 5b and the processor element PE does not necessarily have to be performed in the pulse period of the synchronization pulse, and the data to be processed is image data. If there is a period in which arbitrary data to be processed is interrupted as in the case of observing an object at a predetermined time interval, the period is detected and the processing distribution units 5 and 5a are detected in that period. , 5b and the processor element PE may perform the same communication.
[0068]
FIG. 9 is a block diagram showing an embodiment of a semiconductor wafer visual inspection apparatus using a parallel data processing apparatus according to the present invention, wherein 16 is a parallel data processing apparatus according to the present invention, 17 is a stage, 18 is a semiconductor wafer, Reference numeral 19 denotes a lens, and 20 denotes a linear sensor.
[0069]
In this embodiment, the appearance of a semiconductor wafer is inspected. In FIG. 9, a semiconductor wafer 18 to be inspected is mounted on a stage 17. This stage 17 can be driven in the x and y directions. A predetermined part of the semiconductor wafer 18 is imaged on the linear sensor 20 via the lens 19, and an image of this part is output from the linear sensor 20 as image data. This image data is transferred to the parallel data processing device 16. The parallel data processing device 16 has the configuration shown in FIGS. 1 and 7 and performs the efficient parallel processing on the transferred image data as described with reference to FIGS.
[0070]
In general, in the appearance inspection of a semiconductor wafer, the amount of image data detected by the linear sensor 20 is enormous. Further, the detection speed of the linear sensor 20 is also improved, and the parallel data processing device 16 needs to process enormous image data at high speed.
[0071]
Therefore, by using the parallel data processing apparatus according to the above-described embodiment as the parallel data processing apparatus 16, even in the appearance inspection of a semiconductor wafer that needs to process such a huge amount of image data, Since image data can be distributed to the processor elements PE, processing can be performed with the minimum number of processor elements PE.
[0072]
Further, when the detection speed of the linear sensor 20, the data transfer speed, and the sensor to be used differ depending on the inspection conditions and the change in the inspection target, a plurality of processor elements PE are grouped as described with reference to FIG. In addition, by changing the number of groups and the number of processor elements PE constituting one group to an optimum one, it is possible to efficiently distribute image data to each processor element PE and to operate the processor element PE. The rate is improved and the price of the appearance inspection apparatus can be reduced.
[0073]
The inspection target is not limited to the semiconductor wafer, but may be a printed wiring board or other ones. The same effect as described above can be obtained, and the price of the appearance inspection apparatus can be reduced.
[0074]
【The invention's effect】
As described above, according to the present invention, a plurality of processor elements can be effectively used. As a result, a large amount of data can be processed at high speed, and the price / performance ratio is improved.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an embodiment of a parallel data processing apparatus according to the present invention.
FIG. 2 is a block diagram showing a specific example of a processor element in FIG.
3 is a block diagram illustrating a specific example of a processing distribution unit in FIG. 1. FIG.
4 is a diagram showing a timing relationship between the state of the drive signal bus in FIG. 1 and image data on the data bus. FIG.
FIG. 5 is a timing chart showing an operation of the embodiment shown in FIG. 1;
6 is a diagram showing a change in management information of the state management unit in FIG. 3 according to the operation shown in FIG.
FIG. 7 is a block diagram showing another embodiment of a parallel data processing apparatus according to the present invention.
FIG. 8 is a diagram showing an operation of a modification of the embodiment shown in FIG.
FIG. 9 is a configuration diagram showing an embodiment of an appearance inspection apparatus using a parallel data processing apparatus according to the present invention.
FIG. 10 is a block diagram showing an example of a conventional parallel data processing apparatus.
FIG. 11 is a diagram illustrating a processing operation of a conventional parallel data processing apparatus for image data.
[Explanation of symbols]
PE (1)-(n) Processor element
1 Data input section
2 Drive signal bus
3 Data bus
4, 4a, 4b Communication bus
5, 5a, 5b Processing distribution unit
6 Data output part
7 Microprocessor
8 Local memory
9 Switch part
10 Drive signal monitoring unit
11 Processing state storage unit
12 Distribution contents storage
13 State Management Department
14 Processing distribution decision section
15 Drive signal monitoring unit
16 Parallel data processor
17 stages
18 Semiconductor wafer
19 Lens
20 Linear sensor

Claims (5)

駆動信号バスを介して伝送されてくる駆動信号によって駆動され、該駆動信号の予め決められた第1の状態でデジタル信号を入力するデータ入力部と、
データバスを介して該データ入力部で入力されたデジタル信号がデータバスを介して供給される複数のプロセッサエレメントと、
該データ入力部がデジタル信号を入力しない該駆動信号の第2の状態で、通信バスを介して複数の該プロセッサエレメントと通信する処理分配部と
からなり、
該データ入力部は、画像検出手段であり、
該処理分配部は、該駆動信号が第2の状態にあるとき、複数の該プロセッサエレメントの状態を監視し、その監視結果に応じて、該データ入力部からのデジタル信号を分配して処理させる該プロセッサエレメントを決定する手段を有し、
該駆動信号は、同期信号であって、該同期信号の信号期間を該駆動信号の第2の状態の期間とし、該同期信号の信号期間以外の期間を該駆動信号の第1の状態の期間とすることを特徴とする並列データ処理装置。
A data input unit that is driven by a drive signal transmitted via a drive signal bus and inputs a digital signal in a first state of the drive signal;
A plurality of processor elements to which a digital signal input at the data input unit via the data bus is supplied via the data bus;
A processing distribution unit that communicates with a plurality of the processor elements via a communication bus in a second state of the drive signal in which the data input unit does not input a digital signal;
The data input unit is an image detection unit,
The processing distribution unit monitors the states of the plurality of processor elements when the drive signal is in the second state, and distributes and processes the digital signals from the data input unit according to the monitoring result. have a means for determining the processor elements,
The drive signal is a synchronization signal, a signal period of the synchronization signal is a period of the second state of the drive signal, and a period other than the signal period of the synchronization signal is a period of the first state of the drive signal parallel data processing apparatus characterized by a.
請求項1において、
前記プロセッサエレメントは夫々、
前記データ入力部からのデジタル信号を処理するマイクロプロセッサと、
前記駆動信号の状態を常時監視する第1の監視部と、
該マイクロプロセッサが処理中であるか、待機中であるかを示す状態データを記憶し、該第1の監視部の監視結果に応じて、前記駆動信号が前記第2の状態にあるとき、該状態データを前記通信バスを介して前記処理分配部に送信する処理状態記憶部と、
該第1の監視部の監視結果に応じて、前記通信バスを介して、前記処理分配部から決定指令信号を受信し、該決定指令信号に応じて、前記データバスを介して前記データ入力部から伝送されてくる前記デジタル信号を取り込み、該マイクロプロセッサに処理させる分配内容記憶部と
を備え、前記処理分配部は、
前記駆動信号の状態を常時監視する第2の監視部と、
該第2の監視部の監視結果から前記駆動信号が前記第2の状態にあるとき、前記通信バスを介して前記プロセッサエレメント夫々の該処理状態記憶部から送られてくる該状態データを取り込んで保持する状態管理部と、
該第2の監視部の監視結果から前記駆動信号が前記第2の状態であるとき、該状態管理部に保持されている該状態データにより、前記駆動信号の次の第1の状態で前記データ入力部で入力されるデジタル信号を分配すべき前記プロセッサエレメントを決定し、その決定結果を該決定指令信号として、前記通信バスを介し、デジタル信号の分配を決定した当該プロセッサエレメントに送信する分配決定部と
を備えたことを特徴とする並列データ処理装置。
In claim 1,
Each of the processor elements is
A microprocessor for processing a digital signal from the data input unit;
A first monitoring unit that constantly monitors the state of the drive signal;
Storing state data indicating whether the microprocessor is processing or waiting, and when the drive signal is in the second state according to a monitoring result of the first monitoring unit, A processing state storage unit for transmitting state data to the processing distribution unit via the communication bus;
A determination command signal is received from the processing distribution unit via the communication bus according to a monitoring result of the first monitoring unit, and the data input unit via the data bus according to the determination command signal A distribution content storage unit that captures the digital signal transmitted from the processing unit and causes the microprocessor to process the processing unit.
A second monitoring unit that constantly monitors the state of the drive signal;
When the drive signal is in the second state from the monitoring result of the second monitoring unit, the state data sent from the processing state storage unit of each of the processor elements is fetched via the communication bus. A state management unit to hold;
When the driving signal is in the second state based on the monitoring result of the second monitoring unit, the data in the first state next to the driving signal is determined by the state data held in the state management unit. Distribution decision to determine the processor element to which the digital signal input at the input unit should be distributed, and to transmit the determination result as the determination command signal to the processor element that has determined distribution of the digital signal via the communication bus And a parallel data processing device.
請求項において、
複数の前記プロセッサエレメントを複数のグループに分割して、該グループ毎に前記処理分配部を設け、
該各グループ内で、前記データ入力部からのデジタル信号をプロセッサエレメントに分配して処理することを特徴とする並列データ処理装置。
In claim 1 ,
Dividing the plurality of processor elements into a plurality of groups, and providing the processing distribution unit for each group;
A parallel data processing apparatus for processing a digital signal from the data input unit distributed to processor elements within each group .
請求項1記載の並列データ処理装置を用いて半導体ウェハやプリント基板などの外観を検査する装置であって、
検査結果や検査条件を元に、前記夫々のプロセッサエレメントに処理する内容を変更することを特徴とする外観検査装置
An apparatus for inspecting the appearance of a semiconductor wafer, a printed circuit board or the like using the parallel data processing apparatus according to claim 1,
An appearance inspection apparatus characterized in that the contents to be processed by each of the processor elements are changed based on an inspection result or an inspection condition .
請求項記載の並列データ処理装置を用いて半導体ウェハやプリント基板などの外観を検査する装置であって、
検査結果や検査条件を元に、前記夫々のプロセッサエレメントに処理する内容を変更
また、検査結果や検査条件を元に、前記グループの個数や前記グループを形成する前記プロセッサエレメントの個数を可変とすることを特徴とする外観検査装置。
An apparatus for inspecting the appearance of a semiconductor wafer, a printed circuit board or the like using the parallel data processing apparatus according to claim 3 ,
Based on the test results and test conditions, change the contents to be processed in the respective processor element,
An appearance inspection apparatus characterized in that the number of groups and the number of processor elements forming the group are variable based on inspection results and inspection conditions .
JP06327398A 1998-03-13 1998-03-13 Parallel data processing device and visual inspection device using the same Expired - Fee Related JP3893210B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP06327398A JP3893210B2 (en) 1998-03-13 1998-03-13 Parallel data processing device and visual inspection device using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP06327398A JP3893210B2 (en) 1998-03-13 1998-03-13 Parallel data processing device and visual inspection device using the same

Publications (2)

Publication Number Publication Date
JPH11259434A JPH11259434A (en) 1999-09-24
JP3893210B2 true JP3893210B2 (en) 2007-03-14

Family

ID=13224544

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06327398A Expired - Fee Related JP3893210B2 (en) 1998-03-13 1998-03-13 Parallel data processing device and visual inspection device using the same

Country Status (1)

Country Link
JP (1) JP3893210B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4743805B2 (en) 2000-04-06 2011-08-10 ルネサスエレクトロニクス株式会社 Appearance inspection method and apparatus
JP4693074B2 (en) 2000-04-28 2011-06-01 ルネサスエレクトロニクス株式会社 Appearance inspection apparatus and appearance inspection method
JP4038442B2 (en) 2003-02-28 2008-01-23 株式会社日立ハイテクノロジーズ Image processing device for visual inspection
JP4772287B2 (en) * 2004-02-24 2011-09-14 名古屋電機工業株式会社 Appearance inspection apparatus, appearance inspection method, and appearance inspection program
JP2011153832A (en) * 2010-01-26 2011-08-11 Hitachi High-Technologies Corp Defect review device
CN112964721B (en) * 2021-02-01 2024-01-30 苏州百迈半导体技术有限公司 Multi-target random array fly-swatter visual detection method and detection system

Also Published As

Publication number Publication date
JPH11259434A (en) 1999-09-24

Similar Documents

Publication Publication Date Title
JP3893210B2 (en) Parallel data processing device and visual inspection device using the same
TW200815747A (en) Inspection system
JPH0783368B2 (en) Multiple information transmission system
JP2004279037A (en) Display panel defect inspection system and method
JP3585166B2 (en) Image inspection apparatus for camera module and image inspection method for camera module
JPH06229941A (en) Inspection apparatus for image
NL8602940A (en) METHOD AND APPARATUS FOR TRANSFER OF INFORMATION.
JP2020088658A (en) Monitoring device, monitoring method and monitoring program
JPH04305774A (en) High-resolution visual apparatus for part inspection
JP2000047995A (en) Method and device for parallel processing and appearance checking device using the same
JP4101476B2 (en) Camera monitoring system, video selection control device, and video selection control method
CN115914855A (en) Image processing method and related device
JPH05258047A (en) Image analyzing device
JP4089302B2 (en) Appearance inspection apparatus and appearance inspection method
JPH07141500A (en) Picture processor
JP7207014B2 (en) Display control device, display control program and inspection system
JPH09182062A (en) Monitoring device
JPH0652296A (en) Picture division parallel processing device
JP2004166030A (en) Video signal selection method and device thereof
JPH1115794A (en) Parallel data processor
JPH04360285A (en) Image processor
CN113301285A (en) Multi-channel data transmission method, device and system
KR20100037568A (en) Microcomputer, system including the same, and data transfer device
JP2002288630A (en) Image processing device
JPS61273675A (en) 3-dimensional address generating circuit

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060801

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060822

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061023

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20061205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061211

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20101215

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees