(57)【特許請求の範囲】
【請求項１】
駆動信号バスを介して伝送されてくる駆動信号によって駆動され、該駆動信号の予め決められた第１の状態でデジタル信号を入力するデータ入力部と、
データバスを介して該データ入力部で入力されたデジタル信号がデータバスを介して供給される複数のプロセッサエレメントと、
該データ入力部がデジタル信号を入力しない該駆動信号の第２の状態で、通信バスを介して複数の該プロセッサエレメントと通信する処理分配部と
からなり、
該データ入力部は、画像検出手段であり、
該処理分配部は、該駆動信号が第２の状態にあるとき、複数の該プロセッサエレメントの状態を監視し、その監視結果に応じて、該データ入力部からのデジタル信号を分配して処理させる該プロセッサエレメントを決定する手段を有し、
該駆動信号は、同期信号であって、該同期信号の信号期間を該駆動信号の第２の状態の期間とし、該同期信号の信号期間以外の期間を該駆動信号の第１の状態の期間とすることを特徴とする並列データ処理装置。
【請求項２】
請求項１において、
前記プロセッサエレメントは夫々、
前記データ入力部からのデジタル信号を処理するマイクロプロセッサと、
前記駆動信号の状態を常時監視する第１の監視部と、
該マイクロプロセッサが処理中であるか、待機中であるかを示す状態データを記憶し、該第１の監視部の監視結果に応じて、前記駆動信号が前記第２の状態にあるとき、該状態データを前記通信バスを介して前記処理分配部に送信する処理状態記憶部と、
該第１の監視部の監視結果に応じて、前記通信バスを介して、前記処理分配部から決定指令信号を受信し、該決定指令信号に応じて、前記データバスを介して前記データ入力部から伝送されてくる前記デジタル信号を取り込み、該マイクロプロセッサに処理させる分配内容記憶部と
を備え、前記処理分配部は、
前記駆動信号の状態を常時監視する第２の監視部と、
該第２の監視部の監視結果から前記駆動信号が前記第２の状態にあるとき、前記通信バスを介して前記プロセッサエレメント夫々の該処理状態記憶部から送られてくる該状態データを取り込んで保持する状態管理部と、
該第２の監視部の監視結果から前記駆動信号が前記第２の状態であるとき、該状態管理部に保持されている該状態データにより、前記駆動信号の次の第１の状態で前記データ入力部で入力されるデジタル信号を分配すべき前記プロセッサエレメントを決定し、その決定結果を該決定指令信号として、前記通信バスを介し、デジタル信号の分配を決定した当該プロセッサエレメントに送信する分配決定部と
を備えたことを特徴とする並列データ処理装置。
【請求項３】
請求項１において、
複数の前記プロセッサエレメントを複数のグループに分割して、該グループ毎に前記処理分配部を設け、
該各グループ内で、前記データ入力部からのデジタル信号をプロセッサエレメントに分配して処理することを特徴とする並列データ処理装置。
【請求項４】
請求項１記載の並列データ処理装置を用いて半導体ウェハやプリント基板などの外観を検査する装置であって、
検査結果や検査条件を元に、前記夫々のプロセッサエレメントに処理する内容を変更することを特徴とする外観検査装置。
【請求項５】
請求項３記載の並列データ処理装置を用いて半導体ウェハやプリント基板などの外観を検査する装置であって、
検査結果や検査条件を元に、前記夫々のプロセッサエレメントに処理する内容を変更し、
また、検査結果や検査条件を元に、前記グループの個数や前記グループを形成する前記プロセッサエレメントの個数を可変とすることを特徴とする外観検査装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のプロセッサエレメントを用いて入力デジタル信号を並列処理するシステムとそれを用いた被検査物の外観検査装置に係り、特に、画像データなどのように、高速かつ大量の処理を必要とするデジタル信号の処理に好適な並列データ処理装置とそれを用いた外観検査装置に関する。
【０００２】
【従来の技術】
複数のプロセッサエレメント(ＰＥ)を備えた従来の並列データ処理装置では、これら全てのプロセッサエレメントがデータ入力部と共通の通信バスを介して接続され、このデータ入力部からデジタルデータが転送されてくると、これらプロセッサエレメントのいずれかにこのデジタルデータが分配されて処理されるものである。この場合、データ入力部からのデジタルデータを分配するプロセッサエレメントを決定するために、各プロセッサエレメントの状態（データ処理中、待機中、あるいは故障中といった状態）を管理する状態管理部と、この状態管理部でのかかるプロセッサエレメントの状態を示す管理情報に基づいてデータを転送するプロセッサエレメントを決定する処理分配部とが設けられており、この処理分配部によって決定されたプロセッサエレメントのみが通信バスを介してデータを取り込み、これを処理するようにしており、かかる従来技術の一例が特開平５−１７３９９０号公報に開示されている。
【０００３】
図１０はかかる従来の並列データ処理装置を示すブロック図であって、１はデータ入力部、６はデータ出力部、２１は状態管理部、２２は管理情報、２３は処理分配部、２４は通信バス、ＰＥ(１)〜(ｎ)はプロセッサエレメントである。
【０００４】
同図において、共通の通信バス２４にデータ入力部１やデータ出力部６，ｎ個(但し、ｎは２以上の整数)のプロセッサエレメントＰＥ(１)〜(ｎ），状態管理部２１，処理分配部２３が接続されている。データ入力部１から入力されたデジタルのデータは通信バス２４を通じてプロセッサエレメントＰＥ(１)〜(ｎ)に分配されて並列処理され、これによって処理されたデータは通信バス２４を通じてデータ出力部６から出力される。
【０００５】
また、状態管理部２１と処理分配部２３とは通信バス２４を介してプロセッサエレメントＰＥ(１)〜(ｎ)と通信可能であって、状態管理部２１では、各プロセッサエレメントＰＥ(１)〜(ｎ)からその現在の上記のような状態を示す情報が送られてきて、これを管理情報２２として保持し、夫々のプロセッサエレメントＰＥ(１)〜(ｎ)の状態を管理している。また、処理分配部２３は、状態管理部２１での管理情報２２をもとに夫々のプロセッサエレメントＰＥ(１)〜(ｎ)の状態を把握し、データ入力部１で次に入力されるデータを分配して処理させるプロセッサエレメントＰＥを決定する。
【０００６】
ここで、プロセッサエレメントＰＥ(１)〜(ｎ)は、その状態が変化したとき、その新たな状態を示す情報(以下、状態情報という)を通信バス２４でデータが転送されない期間(非転送期間)に状態管理部２１に伝送して自己の状態を知らせ、また、その非転送期間内に処理分配部２３がデータ入力部１から次に転送されるデータの分配先を決定する。
【０００７】
そこで、プロセッサエレメントＰＥ(１)〜(ｎ)は、例えば、処理状態からその処理が終わって待機状態となるようにその状態が変化したとき、通信バス２４の状態を認識し、現在データの転送が行なわれているときには、その転送が終わるのを待って、また、データの転送が行なわれていないときには、直ちに状態情報を状態管理部２１に送る。処理分配部２３は、状態管理部２１の管理情報２２をもとに次にデータ処理を行なうべきプロセッサエレメントＰＥを決定し、しかる後、データ入力部１からデータが入力されて決定されたプロセッサエレメントＰＥに転送される。
【０００８】
【発明が解決しようとする課題】
このように、処理分配部２３で次のデータを処理すべきプロセッサエレメントＰＥを決定してからデータ入力部１が次のデータを入力するものであるから、プロセッサエレメントＰＥから状態管理部２１への状態情報の伝送と処理分配部２３による次のデータ処理すべきプロセッサエレメントＰＥの決定とを余裕をもって行なうことができ、また、入力データを取こぼすようなことはない。
【０００９】
しかしながら、データ入力部１をイメージセンサやビデオカメラなどの画像検出器とし、処理するデータを２次元データである画像データとすると、かかる画像データはプロセッサエレメントＰＥの状態や処理分配部２３の動作にかかわりなく順次データ入力部１から入力されることになり、また、情報量が大きく、取こぼしが許されない場合が多い。このため、上記従来技術のように、プロセッサエレメントＰＥから状態管理部２１への状態情報の伝送や処理分配部２３による次のデータ処理すべきプロセッサエレメントＰＥの決定のための期間を余裕をもって設定する、というようなことはできず、このような余裕のある期間を設けるためには、入力データを一時的に蓄えるための大容量のバッファメモリが必要になる。
【００１０】
そこで、画像データの並列処理については、複数のプロセッサエレメントＰＥに入力データを分配する順序を設定するようにした方法が知られている。これは、いま、４個のプロセッサエレメントＰＥ(１），(２），(３），(４）が使用されるものとして、図１１に示すように、画像データＤが順次入力されるものとし、この画像データＤを単位画像データ(１水平走査期間またはフィールド期間の画像データ）毎に夫々のプロセッサエレメントＰＥ(１），(２），(３），(４)に順番に分配処理させるようにするものである。従って、プロセッサエレメントＰＥ(１)は３個おきの単位データＤ１，Ｄ５，Ｄ９，Ｄ１３，……が分配されて処理し(なお、図１１の斜めハッチング部分が単位画像データの処理期間を表わし、この処理期間には、処理した単位データの出力処理も含まれる）、プロセッサエレメントＰＥ(２)は他の３個おきの単位データＤ２，Ｄ６，Ｄ１０，……が分配されて処理し、プロセッサエレメントＰＥ(３)はさらに他の３個おきの単位データＤ３，Ｄ７，Ｄ１１，……が分配されて処理し、プロセッサエレメントＰＥ(４)は残りの３個おきの単位データＤ４，Ｄ８，Ｄ１２，……が分配されて処理する。この場合、各プロセッサエレメントＰＥが単位画像データを何個おきに処理するかは単位画像データの処理に要する最大時間で決まり、単位画像データの情報量に応じてこの処理時間はまちまちであって、最大処理時間が長いほど単位データの取り込む間隔が長くなり、この分使用するプロセッサエレメントＰＥの個数も多くなって並列データ処理装置が大型化，高価格化する。
【００１１】
また、かかる画像データの並列処理方法によると、例えば、図１１でのプロセッサエレメントＰＥ(１)の単位画像データＤ５の処理のように、取り込んだ単位画像データを短時間で処理してしまうような場合でも、このプロセッサエレメントＰＥ(１)は次の単位画像データＤ９が転送されてくるまで待機していなければならない。このため、並列データ処理装置全体としてのプロセッサエレメントＰＥの稼働率が低下する。
【００１２】
本発明の目的は、かかる問題を解消し、画像データなどの大量の情報を有しかつ高速に入力されるデータを取りこぼすことなく、かつ効率良く処理することができ、プロセッサエレメントの稼働率を向上させることができるようにした小型，低価格の並列データ処理装置を提供することにある。
【００１３】
【課題を解決するための手段】
上記目的を達成するために、本発明は、駆動信号バスを介して伝送されてくる駆動信号によって駆動され、該駆動信号の予め決められた第１の状態でデジタル信号を入力するデータ入力部と、データバスを介して該データ入力部で入力されたデジタル信号がデータバスを介して供給される複数のプロセッサエレメントと、該データ入力部がデジタル信号を入力しない該駆動信号の第２の状態で、通信バスを介して複数の該プロセッサエレメントと通信する処理分配部とからなり、該処理分配部は、該駆動信号が第２の状態にあるとき、複数の該プロセッサエレメントの状態を監視し、その監視結果に応じて、該データ入力部からのデジタル信号を分配して処理させる該プロセッサエレメントを決定する手段を有するものである。
【００１４】
かかる構成により、デジタル信号が入力されない期間に各プロセッサエレメントの状態を把握して、次に入力されるデジタル信号を待機状態にある任意のプロセッサエレメント分配して処理させることを決定することができて、プロセッサエレメントの個数を多くしないで、入力されるデジタル信号を、取りこぼしなく、処理することができるし、また、夫々のプロセッサエレメントに一様に分配することが可能となって、全体のプロセッサエレメントの稼働率が向上する。
【００１５】
また、本発明は、複数の前記プロセッサエレメントを複数のグループに分割して、該グループ毎に前記処理分配部を設け、該各グループ内で、データ入力部からのデジタル信号をプロセッサエレメントに分配して処理する要にする。
【００１６】
かかる構成によると、各プロセッサエレメントＰＥと処理分配部との間の通信量が多くても、かかる通信を夫々のグループが分担することになるから、個々のグループでの通信量が低減し、入力デジタル信号の夫々のプロセッサエレメントへの分担が確実に行なわれるようになる。
【００１７】
【発明の実施の形態】
以下、本発明の実施形態を図面を用いて説明する。
【００１８】
図１は本発明による並列データ処理装置の一実施形態を示すブロック図であって、１はデータ入力部、２は駆動信号バス、３はデータバス、４は通信バス、５は処理分配部、６はデータ出力部、ＰＥ(１），(２），(３），……，(ｎ）はプロセッサエレメントである。
【００１９】
同図において、データ入力部１は、例えば、イメージセンサやビデオカメラなどの２次元の画像データを入力する画像検出器であって、駆動信号バス２を介して供給される駆動信号によって駆動される。ここでは、データ入力部１をビデオカメラとし、従って、この駆動信号は水平または垂直同期パルス（以下、これらを総称して同期パルスという）である。
【００２０】
データ入力部１から入力された画像データは、データバス３を介してｎ個（但し、ｎは２以上の整数)のプロセッサエレメントＰＥ(１），(２），(３），……，(ｎ)に転送される。これらプロセッサエレメントＰＥ(１），(２），(３），……，(ｎ)と処理分配部５とは通信バス４を介して相互に通信可能となっている。また、これらプロセッサエレメントＰＥ(１），(２），(３），……，(ｎ)と処理分配部５とは駆動信号バス２に接続されており、この駆動信号バス２の状態を常時監視している。いま、駆動信号バス２を伝送される同期パルスのパルス期間で駆動信号バス２の状態を“Ｈ”とし、それ以外の期間の状態を“Ｌ”とすると、駆動信号バス２の状態が“Ｌ”になる毎に、データ入力部１からデータバス３を介して画像データが転送され、駆動信号バス２の状態が“Ｈ”のとき(即ち、同期パルスのパルス期間)では、データバス３で画像データは転送されない。
【００２１】
なお、以下では、同期パルスの間の期間(駆動信号バス２の状態が“Ｌ”である期間)でのデータ入力部１から転送される画像データが単位画像データであり、この単位画像データは、同期パルスが水平同期パルスであるとき、１水平走査期間での画像データ、また、同期パルスが垂直同期パルスあるいはフレームパルスであるとき、１フィールドあるいは１フレームの画像データである。
【００２２】
プロセッサエレメントＰＥ(１），(２），(３），……，(ｎ)と処理分配部５とは、上記のように、駆動信号バス２の状態を常時監視しており、この状態が“Ｈ”(即ち、同期パルスのパルス期間内）であるとき、通信バス４を介して相互に通信可能とする。プロセッサエレメントＰＥ(１），(２），(３），……，(ｎ)からは、その状態(処理中や待機中，故障中など)に変更があったとき、新たな状態を表わす情報(以下、状態情報という)を通信バス４を介して処理分配部５に送信し、処理分配部５は、かかる状態情報を受信して管理情報として保持し、これによってこれらプロセッサエレメントＰＥ(１），(２），(３），……，(ｎ)の状態を管理するとともに、この管理情報に基づいてデータ入力部１からの画像データを、単位画像データ毎に、分配するプロセッサエレメントＰＥを決定し、その決定を表わす情報(以下、分配決定情報という)を該当するプロセッサエレメントＰＥに送信する。これにより、分配決定されたプロセッサエレメントＰＥはデータ入力部１からデータバス３を介して次に転送される単位画像データを取り込む。この取り込みが終了すると、駆動信号バス２の状態が“Ｈ”(即ち、同期パルスのパルス期間)となるので、このプロセッサエレメントＰＥは「処理中」の状態情報を通信バス４を介して処理分配部５に送信し、しかる後、この取り込んだ単位画像データの処理を開始する。この処理された単位画像データはデータバス３を転送され、データ出力部６から出力される。この処理した単位画像データの出力処理が終了すると、次に駆動信号バス２が“Ｈ”の状態になったとき、当該プロセッサエレメントＰＥは「待機中」の状態情報を処理分配部５に送信する。
【００２３】
なお、プロセッサエレメントＰＥで処理された単位画像データは、同じデータバス３、もしくは別に設けられた処理結果転送用のバスを介してデータ出力部６から出力されるが、同じデータバス３を介して転送される場合には、データ出力部６がデータ入力部１からの入力画像データと区別できるように、例えば、変調などの処理がなされており、データ出力部６はこれを取り込んで復調などの処理を行なう。
【００２４】
このようにして、この実施形態は、画像データに必然的に付加される同期パルス期間を検出し、その期間にプロセッサエレメントＰＥと処理分配部５との通信を行なうようにするものであるから、画像データが順次続けてデータ入力部１から入力されても、各プロセッサエレメントＰＥから処理分配部５に夫々の状態情報を送ることができ、処理分配部５も全てのプロセッサエレメントＰＥの状態を監視することができて、単位画像データ毎のプロセッサエレメントＰＥへの分配を、取りこぼすことなく、確実に行なうことができる。
【００２５】
図２は図１におけるプロセッサエレメントＰＥの一具体例を示すブロック図であって、７はマイクロプロセッサ（以下、マイコンという）、８はローカルメモリ、９はスイッチ部、１０は駆動信号監視部、１１は処理状態記憶部、１２は分配内容記憶部である。
【００２６】
同図において、駆動信号監視部１０は駆動信号バス２の状態を常時監視している。処理状態記憶部１１はマイコン７の状態(処理中や待機中，故障中などの状態)を表わす状態情報を記憶するものであって、ローカルメモリ８の一部であってもよい。マイコン７はデータバス３からスイッチ部９を介してローカルメモリ８に取り込んだ単位画像データを処理するものであって、待機中から処理中へ、処理中から待機中へなど状態を変更すると、この変更後の新たな状態を表わす状態情報を処理状態記憶部１１に記憶させる。
【００２７】
また、分配内容記憶部１２には、処理分配部５(図１)から通信バス４を介して送られてきた分配決定情報の内容(分配内容)が記憶され、これに応じてスイッチ部９がオン，オフ制御される。この分配内容がこのプロセッサエレメントＰＥに単位画像データを分配することを決定したことを表わす場合には、分配内容記憶部１２がスイッチ部９をオンし、単位画像データがデータバス３からスイッチ部９を介してローカルメモリ８に取り込まれる。
【００２８】
次に、この具体例の動作を説明する。
【００２９】
いま、マイコン７が待機状態にあるものとすると、分配内容記憶部１２に記憶されている分配内容は「分配せず」であり、これにより、スイッチ部９はオフ状態にある。また、処理状態記憶部１１での状態情報も「待機中」を示している。
【００３０】
いま、駆動信号バス２を介してデータ入力部１(図１)に同期パルスが供給され、これにより、駆動信号バス２の状態が“Ｈ”になったことを駆動信号監視部１０が検知すると、この駆動信号監視部１０の制御により、処理状態記憶部１１がそこに記憶されている状態情報を通信バス４を介して処理分配部５(図１)に送信可能となり(この場合、勿論この状態情報を送信するようにしてもよいが、状態情報の内容が変更していないため、送信しないようにしてもよい。ここでは、内容の変更がない限り、状態情報の送信は行なわれないものとする）、また、分配内容記憶部１２は通信バス４を介して処理分配部５から分配決定情報を受信可能な状態となる。
【００３１】
そこで、いま、この処理分配部５からこのプロセッサエレメントＰＥに分配決定した内容の分配決定情報が通信バス４を介して送られてくると、分配内容記憶部１２はこれを記憶してその内容を判断し、スイッチ部９をオン状態にする。しかる後、駆動信号バス２の状態が“Ｌ”となり、データ入力部１(図１)がデータバス３から単位画像データの転送を開始すると、この単位画像データはスイッチ部９を介して、マイコン７の制御のもとに、ローカルメモリ８に取り込まれる。この取込みが終了すると、スイッチ部９をオフ状態にし、マイコン７は処理状態記憶部１１の状態情報の内容を「待機中」から「処理中」に変更する。そして、駆動信号バス２の状態が次の同期パルスによって“Ｈ”に変わると、駆動信号監視部１０は処理状態記憶部１１の「処理中」という状態情報を通信バス４を介して処理分配部５に送信させる。以上の動作とともに、マイコン７はローカルメモリ８に取り込まれた単位画像データの処理動作を開始する。
【００３２】
処理動作が終了すると、マイコン７は処理状態記憶部１１の状態情報の内容を「処理中」から「待機中」に変更する。そして、駆動信号バス２の状態が次の同期パルスによって“Ｈ”に変わると、駆動信号監視部１０は処理状態記憶部１１の「待機中」という状態情報を通信バス４を介して処理分配部５に送信させる。
【００３３】
このようにして、画像データが転送されない駆動信号バス２の“Ｈ”状態の期間に、各プロセッサエレメントＰＥはその状態情報を処理分配部５(図１)に送信することができ、また、この処理分配部５からの分配決定情報を受信することができる。
【００３４】
なお、この具体例では、画像データのうちの特定のデータ(例えば、画面上の左上隅などの特定部分での画像データ)のみを処理するようにすることもできる。この場合には、画像データの単位画像データの構成データ(例えば、画素データ)毎に、例えば、そのヘッダ部にデータの種類を識別するための情報(識別情報)が付加されており、また、図２において、分配内容記憶部１２にこの特定のデータを指定する情報(指定情報)も格納されており、通信バス２を介して供給される分配決定情報がそのプロセッサエレメントＰＥに単位画像データを分配することを表わしたものであっても、データバス３を介して送られてくる単位画像データのうちのこの指定情報で指定される種類情報をもつ構成データであるときのみ、分配内容記憶部１２がスイッチ部９をオン状態にする。
【００３５】
図３は図１における処理分配部５の一具体例を示すブロック図であって、１３は状態管理部、１４は処理分配決定部、１５は駆動信号監視部である。
【００３６】
同図において、駆動信号バス２が“Ｈ”の状態にある期間にプロセッサエレメントＰＥから通信バス４を介して状態情報が供給されると、状態管理部１３はこれを取り込む。即ち、状態管理部１３に各プロセッサエレメントＰＥの状態を表わす管理情報が格納されており、あるプロセッサエレメントＰＥから状態情報が送られてくると、この状態情報により、状態管理部１３での管理情報中の該当するプロセッサエレメントＰＥに対する内容が変更される。このようにして、この管理情報から各プロセッサエレメントＰＥの現在の状態を知ることができる。
【００３７】
一方、駆動信号監視部１５は駆動信号バス２の状態を常時監視しており、この駆動信号バス２がプロセッサエレメントＰＥとの通信を可能とする“Ｈ”の状態になると、駆動信号監視部１５は処理分配決定部１４を動作させる。これにより、処理分配決定部１４は状態管理部１３の管理情報を用いて次の単位画像データを分配すべきプロセッサエレメントＰＥを決定し、また、これまで処理状態にあったプロセッサエレメントＰＥを待機状態にする場合には、そのプロセッサエレメントＰＥを待機状態に変更することを決定し、夫々の決定を分配決定情報として、通信バス４を介し、該当するプロセッサエレメントＰＥに送信する。
【００３８】
このようにして、処理分配部５は、駆動信号バス２が“Ｈ”の状態にあるとき、プロセッサエレメントＰＥとの通信が可能となる。
【００３９】
図４は駆動信号バス２の状態と画像データとのタイミング関係を示す図であって、図示するように、駆動信号バス２が“Ｈ”状態にある同期パルスの間の“Ｌ”期間に画像データが存在する。画像データが存在しない“Ｈ”状態の期間内で処理分配部５とプロセッサエレメントＰＥとの通信を行ない、単位画像データを分配すべきプロセッサエレメントＰＥを決定しているので、駆動信号バス２の次の“Ｌ”状態での単位画像データは必ず決定されたプロセッサエレメントＰＥに分配されることになり、画像データは取りこぼしなく処理されることになる。
【００４０】
図５は図１に示した実施形態の動作を示すタイミング図であり、また、図６は図５の夫々の状態での図３における情報管理部１３の管理情報を示す図である。
【００４１】
図５において、駆動信号バス２の状態でのＳ１，Ｓ２，Ｓ３，Ｓ４，Ｓ５，Ｓ６，……は駆動信号である同期パルスのパルス期間の“Ｈ”の状態を示しており、この“Ｈ”期間の間の“Ｌ”期間毎に、データバス３上を単位画像データＤ１，Ｄ２，Ｄ３，Ｄ４，Ｄ５，Ｄ６，……が転送される。
【００４２】
ここで、３個（Ｎ＝３）のプロセッサエレメントＰＥ(１），(２），(３）が使用されるものとして、いま、初期状態として、これらプロセッサエレメントＰＥ(１），(２），(３）が全て待機状態にあるものとすると、状態管理部１３(図３）での管理情報は図６(ａ)に示されるようになっている。処理分配決定部１４(図３)は、駆動信号バス２が“Ｈ”の状態Ｓ１でこの管理情報を先頭から「待機中」のプロセッサエレメントを検索し、最初に見つけ出した「待機中」のプロセッサエレメントを次の単位画像データを処理させるものと決定するが、初期状態にある駆動信号バス２が“Ｈ”の状態Ｓ１では、図６(ａ)に示す管理情報から、処理分配部５は単位画像データを分配すべきものとしてプロセッサエレメントＰＥ(１）を決定する。これにより、この“Ｈ”の状態Ｓ１後に転送される単位画像データＤ１はプロセッサエレメントＰＥ(１）に取り込まれる。この取込みが終了すると、プロセッサエレメントＰＥ(１）はこの単位画像データＤ１の処理を開始するとともに、次の駆動信号バス２の“Ｈ”の状態Ｓ２でのプロセッサエレメントＰＥ(１)から状態管理部１３(図３)への状態情報の通信により、状態管理部１３での管理情報が、図６(ｂ)に示すように、プロセッサエレメントＰＥ(１)が「処理中」であることを示すことになる。
【００４３】
この場合、管理情報での配列は、状態が変化したプロセッサエレメントの状態情報が最後に配列され、その分他のプロセッサエレメントの状態情報の順序が繰り上がる。従って、状態管理部１３がプロセッサエレメントＰＥ(１)からの「処理中」とする状態情報を受けることにより、そこでの管理情報は図６(ｂ)に示すようになる。
【００４４】
なお、プロセッサエレメントＰＥ(１)の動作でのハッチングして示す部分は取り込んだ単位画像データの処理期間及び処理結果を出力する期間を示しており、他のプロセッサエレメントＰＥ(２），(３）についても同様である。
【００４５】
処理分配部５の処理分配決定部１４は、駆動信号バス２の“Ｈ”状態Ｓ２において、プロセッサエレメントＰＥからの状態情報の状態管理部１３での取込みのための設定期間経過後、この状態管理部１３での管理情報を検索し、次の単位画像データを処理すべきプロセッサエレメントＰＥを決定する。この場合、図６(ｂ)に示す管理情報により、プロセッサエレメントＰＥ(２)をかかるプロセッサエレメントＰＥと決定する。これにより、この駆動信号バス２の“Ｈ”状態Ｓ２が経過すると、次の単位画像データＤ２はこのプロセッサエレメントＰＥ(２)に取り込まれる。
【００４６】
プロセッサエレメントＰＥ（２）でのこの単位画像データＤ２の取込みが終了し、駆動信号バス２の次の“Ｈ”状態Ｓ３になると、プロセッサエレメントＰＥ(２)から情報管理部１３に「処理中」を示す状態情報が送信され、これにより、この状態管理部１３での管理情報は、図６(ｃ)に示すように、プロセッサエレメントＰＥ(２)が「処理中」と管理され、その情報が最後に配列される。これとともに、プロセッサエレメントＰＥ(２)は単位画像データＤ２の処理を開始する。
【００４７】
同様にして、この駆動信号バス２の“Ｈ”状態Ｓ３において、図６(ｃ)に示す管理情報がプロセッサエレメントＰＥ(３)が次の単位画像データＤ３を処理すべきものと決定され、駆動信号バス２の“Ｈ”状態Ｓ３が経過すると、このプロセッサエレメントＰＥ(３)がこの単位画像データＤ３の取込みを開始する。
【００４８】
プロセッサエレメントＰＥ(３)で単位画像データＤ３の取込み中にプロセッサエレメントＰＥ(２)での単位画像データＤ２の処理が終了すると、駆動信号バス２の“Ｈ”状態Ｓ４では、プロセッサエレメントＰＥ(３)から「処理中」の状態情報が、また、プロセッサエレメントＰＥ(２)から「待機中」の状態情報が夫々状態管理部１３に送信され、従って、この状態管理部１３での管理情報は、図６（ｄ）に示すように、プロセッサエレメントＰＥ(２)のみが「待機中」となる。そこで、処理分配決定部１４は、この管理情報からプロセッサエレメントＰＥ(２)を選択し、次の単位画像データＤ４を処理するプロセッサエレメントと決定する。従って、駆動信号バス２の“Ｈ”状態Ｓ４経過後、プロセッサエレメントＰＥ(２)はこの単位画像データＤ４を取り込む。
【００４９】
このプロセッサエレメントＰＥ(２)による単位画像データＤ４の取込み中にプロセッサエレメントＰＥ(３)が単位画像データＤ３の処理を終了し、また、駆動信号バス２の次の“Ｈ”状態Ｓ５での上記のプロセッサエレメントからの状態情報の状態管理部１３での取込みのための設定期間内にプロセッサエレメントＰＥ(１)の単位画像データＤ１の処理が終了すると、状態管理部１３での管理情報は、図６(ｅ)に示すように、プロセッサエレメントＰＥ(３），(１）が「待機中」として管理され、処理分配決定部１４は、このうちのプロセッサエレメントＰＥ(３)を優先して次の単位画像データＤ５を処理するものと決定する。これにより、駆動信号バス２のこの“Ｈ”状態Ｓ５が経過すると、プロセッサエレメントＰＥ(３)が次の単位画像データＤ５を取込み開始する。
【００５０】
このプロセッサエレメントＰＥ(３)の単位画像データＤ５の取込み中にプロセッサエレメントＰＥ(２)が単位画像データＤ４の処理を終了すると、駆動信号バス２の次の“Ｈ”状態Ｓ６において、状態管理部１３での管理情報は、図６(ｆ)に示すように、プロセッサエレメントＰＥ(１），(２）を「待機中」として管理し、プロセッサエレメントＰＥ(３)を「処理中」として管理する。このため、処理分配決定部１４は、次の単位画像データＤ６を処理するものとして、プロセッサエレメントＰＥ(１)を優先して決定する。
【００５１】
以下同様にして、処理分配決定部１４は、駆動信号パス２の“Ｈ”状態Ｓの期間毎に、そのとき「待機中」にあるプロセッサエレメントＰＥを、また、複数のプロセッサエレメントＰＥが「待機中」にあるときには、管理情報内で先行して状態情報が配列している方のプロセッサエレメントＰＥが優先して、夫々次の単位画像データを処理すべきものとして決定する。
【００５２】
このようにして、この実施形態では、駆動信号バス２の“Ｈ”状態Ｓで「待機中」の状態にある任意のプロセッサエレメントを次の単位画像データの処理をすべきものと決定するので、順次一定の期間毎にデータ入力部１（図１）から転送されてくる画像データを、取りこぼしなく、かつプロセッサエレメントの使用個数を少なくして処理することが可能となる。
【００５３】
複数のプロセッサエレメントを順番に処理に使用する図１１で説明した従来の技術では、図５と同様に、３個のプロセッサエレメントＰＥ(１)〜(３)を使用するものとすると、プロセッサエレメントＰＥ(１)が単位画像データＤ１の処理中にプロセッサエレメントＰＥ（２），（３）が夫々単位画像データＤ２，Ｄ３の処理を終了しても、単位画像データＤ４は、順番により、プロセッサエレメントＰＥ（１）で処理されることになっているので、これらプロセッサエレメントＰＥ（２），（３）が「待機中」にあることを知ることは不可能である。このため、この単位画像データＤ４を処理することができず、この単位画像データＤ４は取りこぼしとなる。これを防止するためには、さらにもう１つプロセッサエレメントを追加する必要がある。
【００５４】
画像データでは、情報量が大きいほどこれを処理するに要する時間が長くなる。従って、単位画像データの処理時間はそれが有する情報量に応じてばらつくことになり、そのばらつき具合を前もって予測することは困難である。しかし、そのばらつきが大きいほどプロセッサエレメントを多く必要とするものであり、このため、図１１に示した従来の技術では、かかるばらつきを考慮し、単位画像データの最長の処理時間を推定してプロセッサエレメントの使用個数を決定するため、非常に多くのプロセッサエレメントを必要とするものである。これに対し、この実施形態では、画像データが伝送されない同期パルスのパルス期間（駆動信号バス２の“Ｈ”状態の期間）を有効に利用し、この期間で「待機中」にあるプロセッサエレメントＰＥを見つけ出してそれを次の単位画像データの処理に割り当てるものであるから、「待機中」にある任意のプロセッサエレメントＰＥを次の単位画像データの処理に使用することができ、プロセッサエレメントＰＥの使用数の増加を防ぐことができる。
【００５５】
また、この実施形態では、状態管理部１３で「待機中」として管理されているプロセッサエレメントＰＥのうち、先行して「待機中」となったプロセッサエレメントＰＥの方を優先して次の単位画像データを処理するものと決定するので、各プロセッサエレメントＰＥの「待機中」の状態を短くすることができ、プロセッサエレメントＰＥの稼働率を高めることができる。
【００５６】
なお、図５に示した具体例では、同期パルスが有効になる期間の度毎に各プロセッサエレメントＰＥの動作状態を調べ、次に処理すべき単位画像データを処理するプロセッサエレメントＰＥを決定するものとしているが、画像データの転送速度や演算処理の内容によっては、必ずしも同期パルスのパルス期間毎に行なう必要はなく、数回の同期パルス期間につき１回といったように、任意の同期パルス期間で各プロセッサエレメントＰＥの動作状態の調査と次の単位画像データの送信相手の決定とを行なうようにしてもよい。このことは、以下に説明する他の実施形態についても同様である。
【００５７】
図７は本発明による並列データ処理装置の他の実施形態を示すブロック図であって、４ａ，４ｂは通信バス、５ａ，５ｂは処理分配部であり、図１に対応する部分には同一符号をつけて重複する説明を省略する。
【００５８】
この実施形態は、図１で示したようなｎ個のプロセッサエレメントＰＥを１つの処理分配部５で管理することができない場合のものであって(例えば、同期パルスの短かいパルス期間でプロセッサエレメントＰＥから処理分配部５への状態情報の通信と処理分配部５から所定のプロセッサエレメントＰＥへの分配決定情報の通信とを行なうものであるが、複数のプロセッサエレメントＰＥから状態情報の通信がある場合、この短かいパルス期間に処理分配部５がこれら全ての状態情報を取り込むことができない場合もある）、複数のプロセッサエレメントＰＥを複数のグループ（以下、ＰＥグループという）に区分し、夫々のＰＥグループ毎に処理分配部が設けられて独立に制御されるものである。ここでは、２つのＰＥグループＡ，Ｂに区分され、ＰＥグループＡは処理分配部５ａとｍ個のプロセッサエレメントＰＥ(１)〜(ｍ)とから構成され、ＰＥグループＢは処理分配部５ｂと（ｎ−ｍ）個のプロセッサエレメントＰＥ(ｍ＋１)〜(ｎ)とから構成されているものとする。
【００５９】
ＰＥグループＡでは、処理分配部５ａとプロセッサエレメントＰＥ(１)〜(ｍ)とが通信バス４ａを介して通信可能であり、ＰＥグループＢでは、処理分配部５ｂとプロセッサエレメントＰＥ(ｍ＋１)〜(ｎ)とが通信バス４ｂを介して通信可能である。また、これら処理分配部５ａ，５ｂは相互に管理を行なっている。即ち、これら処理分配部５ａ，５ｂは、例えば、図３に示す構成をなしているが、処理分配部５ａ，５ｂの一方が管理するプロセッサエレメントＰＥが全て「処理中」にあるときには、他方が管理する「待機中」のプロセッサエレメントＰＥが次の単位画像データを処理できるようにする。
【００６０】
そこで、図１に示した実施形態と同様にして、処理分配部５ａでは、その情報管理部１３（図３）に各プロセッサエレメントＰＥ(１)〜(ｍ)の状態を示す管理情報が格納されており、また、処理分配部５ｂでは、その情報管理部１３に各プロセッサエレメントＰＥ(ｍ＋１)〜(ｎ)の状態を示す管理情報が格納されているが、いま、処理分配部５ａの情報管理部１３での管理情報から全てのプロセッサエレメントＰＥ(１)〜(ｍ)が「処理中」にあるとすると、処理分配部５ａはこの旨を処理分配部５ｂに通知する。これにより、この処理分配部５ｂは、その情報管理部１３での管理情報により、図１に示した実施形態と同様にして、「待機中」にあるプロセッサエレメントＰＥを検索し、これを次の単位画像データを処理するプロセッサエレメントＰＥとして決定する。
【００６１】
ここで、ＰＥグルーブＡで優先して次の単位画像データを処理するプロセッサエレメントＰＥを決定するようにし、ここでかかるプロセッサエレメントＰＥがない場合(全てのプロセッサエレメントＰＥ(１)〜(ｍ)が「処理中」にあるとき)、ＰＥグループＢでプロセッサエレメントＰＥ(ｍ＋１)〜(ｎ)の中からかかるプロセッサエレメントＰＥを検索するようにしてもよいし、また、稼動するプロセッサエレメントＰＥが一方のＰＥグループに片寄らないようにするために、ＰＥグループＡ，Ｂ交互に次の単位画像データを処理するプロセッサエレメントＰＥを決定するようにし、かかる決定をすべきプロセッサエレメントＰＥがない場合には、他方のＰＥグループに移るようにしてもよい。
【００６２】
以上はデータ入力部１からの単位画像データをプロセッサエレメントＰＥ(１)〜(ｎ)のいずれかに分配して処理させるものであり、この点では、図１に示した実施形態と同様であるが、図７に示すこの実施形態の変形例として、ＰＥグループＡとＰＥグループＢとで画像での異なる単位画像データを処理させるようにしてもよい。
【００６３】
例えば、図８(ａ)に示すように、ＰＥグループＡはデータ入力部１からの１つおきの単位画像データＤ１，Ｄ３，……を処理し、ＰＥグループＢはデータ入力部１からの他の１つおきの単位画像データＤ２，Ｄ４，……を処理するようにしてもよい。この場合には、データ入力部１から転送される１つおきの単位画像データと他の１つおきの単位画像データとには、これらを識別できるようにする識別情報が付加されており、また、ＰＥグループＡのプロセッサエレメントＰＥ(１)〜(ｍ)では、その分配内容記憶部１２(図２)に、取り込むべき単位画像データの識別情報に対する指定情報が格納され、同様に、ＰＥグループＢのプロセッサエレメントＰＥ(ｍ＋１)〜(ｎ)でも、その分配内容記憶部１２に、取り込むべき単位画像データの識別情報に対する指定情報が格納される。
【００６４】
また、他の変形例として、例えば、図８(ｂ)に示すように、各単位画像データの一部(例えば、前半部)をＰＥグループＡに分配して処理するようにし、各単位画像データの他の一部(例えば、後半部)をＰＥグループＢに分配して処理するようにしてもよい。これらの部分毎に異なる識別情報が付加されており、また、ＰＥグループＡのプロセッサエレメントＰＥ(１)〜(ｍ)の分配内容記憶部１２(図２)とＰＥグループＢのプロセッサエレメントＰＥ(ｍ＋１)〜(ｎ)の分配内容記憶部１２とには、夫々取り込むべきデータの識別情報に対する指示情報が格納されている。この場合、単位画像データを１水平走査期間の画像データとすると、ＰＥグループＡは画面の左半分の画像データを処理することになり、ＰＥグループＢは画面の右半分の画像データを処理することになる。また、単位画像データが１フィールドの画像データである場合には、ＰＥグループＡは画面の上半分の画像データを処理することになり、ＰＥグループＢは画面の下半分の画像データを処理することになる。なお、ＰＥグループＡとＰＥグループＢとで処理内容が異なるようにしてもよい。
【００６５】
以上の実施形態において、データ転送量やデータ転送速度，同期パルス期間の頻度や長さなどの条件に応じて、ＰＥグループの個数や１ＰＥグループを構成するプロセッサエレメントＰＥの個数が決められるものであり、これにより、様々な条件において最適な構成をとることができる。
【００６６】
なお、以上説明した実施形態において、同期パルスのパルス期間での駆動信号バス２の状態を“Ｈ”としたが、“Ｌ”の状態としてもよい。要するに、これら実施形態においては、画像データが転送されない駆動信号バス２の特定の状態のとき、上記のように、処理分配部５，５ａ，５ｂとプロセッサエレメントＰＥとの間で通信を行ない、これらプロセッサエレメントＰＥの状態の管理と単位画像データを処理するプロセッサエレメントの決定をすればよい。
【００６７】
また、この点からすると、このような処理分配部５，５ａ，５ｂとプロセッサエレメントＰＥとの間で通信は、必ずしも同期パルスのパルス期間で行なう必要がなく、また、処理するデータも画像データである必要がなく、所定の時間間隔で対象物の観測を行なう場合のように、処理対象となる任意のデータに途切れる期間があれば、その期間を検出してその期間に処理分配部５，５ａ，５ｂとプロセッサエレメントＰＥとの間での同様の通信を行なうようにしてもよい。
【００６８】
図９は本発明による並列データ処理装置を用いた半導体ウェハの外観検査装置の一実施形態を示す構成図であって、１６は本発明による並列データ処理装置、１７はステージ、１８は半導体ウェハ、１９はレンズ、２０はリニアセンサである。
【００６９】
この実施形態は、半導体ウェハの外観を検査するものであって、図９において、検査対象となる半導体ウェハ１８はステージ１７上に搭載されている。このステージ１７はｘ，ｙ方向に駆動可能になっている。半導体ウェハ１８の所定部位がレンズ１９を介してリニアセンサ２０に結像され、リニアセンサ２０からこの部位の画像が画像データとして出力される。この画像データは並列データ処理装置１６に転送される。この並列データ処理装置１６は図１や図７などに示した構成をなして、転送されてきた画像データを、図５や図８などで説明したように、効率的な並列処理を行なう。
【００７０】
一般に、半導体ウェハの外観検査では、リニアセンサ２０より検出される画像データはデータ量が膨大となる。また、リニアセンサ２０の検出速度も向上しており、並列データ処理装置１６では、莫大な画像データを高速に処理する必要がある。
【００７１】
そこで、並列データ処理装置１６として、上記の実施形態としての並列データ処理装置を用いることにより、このような莫大な画像データを処理する必要がある半導体ウェハの外観検査であっても、効率良く各プロセッサエレメントＰＥに画像データを分配処理することができるため、必要最小限のプロセッサエレメントＰＥ数で処理を行なうことができる。
【００７２】
また、検査を行なう条件や検査対象の変化により、リニアセンサ２０の検出速度やデータ転送速度，使用するセンサが異なった場合には、図７で説明したように、複数のプロセッサエレメントＰＥをグループ化し、また、そのグループ数や１グループを構成するプロセッサエレメントＰＥの個数などを最適なものに変更することにより、効率良く各プロセッサエレメントＰＥに画像データを分配することができて、プロセッサエレメントＰＥの稼働率が向上し、外観検査装置の価格を低減することができる。
【００７３】
なお、検査対象は、半導体ウェハのみに限るものではなく、プリント配線基板やその他のものであってもよく、上記と同様の効果が得られ、外観検査装置の価格低減を実現することができる。
【００７４】
【発明の効果】
以上説明したように、本発明によれば、複数のプロセッサエレメントを有効活用することができ、その結果、大容量のデータを高速に処理することができて、価格性能比も向上する。
【図面の簡単な説明】
【図１】本発明による並列データ処理装置の一実施形態を示すブロック図である。
【図２】図１におけるプロセッサエレメントの一具体例を示すブロック図である。
【図３】図１における処理分配部の一具体例を示すブロック図である。
【図４】図１における駆動信号バスの状態とデータバスでの画像データとのタイミング関係を示す図である。
【図５】図１に示した実施形態の動作を示すタイミング図である。
【図６】図５に示した動作に応じた図３における状態管理部の管理情報の変化を示す図である。
【図７】本発明による並列データ処理装置の他の実施形態を示すブロック図である。
【図８】図７に示した実施形態の変形例の動作を示す図である。
【図９】本発明による並列データ処理装置を用いた外観検査装置の一実施形態を示す構成図である。
【図１０】従来の並列データ処理装置の一例を示すブロック図である。
【図１１】画像データに対する従来の並列データ処理装置の処理動作を示す図である。
【符号の説明】
ＰＥ(１)〜(ｎ)  プロセッサエレメント
１  データ入力部
２  駆動信号バス
３  データバス
４，４ａ，４ｂ  通信バス
５，５ａ，５ｂ  処理分配部
６  データ出力部
７  マイクロプロセッサ
８  ローカルメモリ
９  スイッチ部
１０  駆動信号監視部
１１  処理状態記憶部
１２  分配内容記憶部
１３  状態管理部
１４  処理分配決定部
１５  駆動信号監視部
１６  並列データ処理装置
１７  ステージ
１８  半導体ウェハ
１９  レンズ
２０  リニアセンサ
【図１】
0003893210.tif 000002
【図２】
0003893210.tif 000003
【図３】
0003893210.tif 000004
【図４】
0003893210.tif 000005
【図５】
0003893210.tif 000006
【図６】
0003893210.tif 000007
【図７】
0003893210.tif 000008
【図８】
0003893210.tif 000009
【図９】
0003893210.tif 000010
【図１０】
0003893210.tif 000011
【図１１】
0003893210.tif 000012