(57)【要約】【課題】処理時間を短縮化することが可能なデータ処理装置等を提供する。【解決手段】複数の２進数データの夫々が処理対象であるか否かを表す条件フラグを記憶する条件記憶手段５０４と、複数の２進数データのうち、条件記憶手段５０４に記憶された処理対象である旨を示す条件フラグに対応する２進数データを、その最上位ビットから最下位ビットまで順次ビット毎に比較した比較結果を表す結果反映手段５０１、５０２と、結果反映手段５０１、５０２により表された比較結果のうちの１つを選択する選択手段５４１と、選択手段５４１により選択された比較結果を記憶する結果記憶手段５４２と、結果記憶手段５４２に直前に記憶された比較結果と、条件記憶手段５０４に記憶された条件フラグと、結果反映手段５０１、５０２によって直前に比較結果を表されたビットとに基づいて、次の条件フラグを決定する判定手段５０８とを有する。【選択図】図５
2007272730.tif 000002
【特許請求の範囲】
【請求項１】
複数の２進数データに対し、データの最上位ビットから順次下位のビットをビット毎に評価し、最大値又は最小値のデータを検出するデータ検出方法において、
前記複数の２進数データの夫々について、上位ビットとなる第1のビットを評価し、評価結果を導出するステップと、
前記第１の直前のビットに基づいて、次のビットである第２のビットが評価されるべきであるか否かを判定し、判定結果を導出するステップと、
前記判定結果に応じて、前記第１のビットの評価結果が現時点で最大値又は最小値のデータであるデータに対し、前記第２のビットを評価し、評価結果を導出するステップとを有することを特徴とするデータ検出方法。
【請求項２】
複数の２進数データを同時に処理するデータ処理装置において、
前記複数の２進数データの夫々が処理対象であるか否かを表す条件フラグを記憶する条件記憶手段と、
前記複数の２進数データのうち、前記条件記憶手段に記憶された処理対象である旨を示す条件フラグに対応する２進数データを、その最上位ビットから順次下位のビットをビット毎に比較した比較結果を表す結果反映手段と、
該結果反映手段により表された比較結果のうちの１つを選択する選択手段と、
該選択手段により選択された比較結果を記憶する結果記憶手段と、
該結果記憶手段に直前に記憶された比較結果と、前記条件記憶手段に記憶された条件フラグと、前記結果反映手段によって直前の比較対象とされたビットとに基づいて、次の条件フラグを決定する判定手段とを有することを特徴とするデータ処理装置。
【請求項３】
前記結果反映手段は、複数のデータバスであることを特徴とする、請求項１記載のデータ処理装置。
【請求項４】
前記選択手段は、前記条件記憶手段に記憶された条件フラグに応じて、前記結果反映手段により表された比較結果を選択することを特徴とする、請求項１記載のデータ処理装置。
【請求項５】
前記判定手段は、前記結果反映手段、前記選択手段及び前記結果記憶手段による一連の動作と同時並行して次の条件フラグを決定し、その後、前記次の条件フラグを前記条件記憶手段に格納することを特徴とする、請求項１記載のデータ処理装置。
【請求項６】
複数の２進数データを同時に処理するデータ処理方法において、
前記複数の２進数データの夫々が処理対象であるか否かを表す条件フラグを記憶する条件記憶ステップと、
前記複数の２進数データのうち、前記条件記憶ステップで記憶された処理対象である旨を示す条件フラグに対応する２進数データを、その最上位ビットから順次下位のビットをビット毎に比較した比較結果を表す結果反映ステップと、
該結果反映ステップで表された比較結果のうちの１つを選択する選択ステップと、
該選択ステップで選択された比較結果を記憶する結果記憶ステップと、
該結果記憶ステップの直前の結果記憶ステップで記憶された比較結果と、前記条件記憶ステップで記憶された条件フラグと、前記結果反映ステップの直前の結果反映ステップで比較対象とされたビットとに基づいて、次の条件フラグを決定する判定ステップとを有することを特徴とするデータ処理方法。
【請求項７】
前記判定ステップは、前記結果反映ステップ、前記選択ステップ及び前記結果記憶ステップの一連のステップと同時並行して実行されるステップであり、
前記判定ステップで決定された次の条件フラグは、前記条件記憶ステップの次の条件記憶ステップで記憶されることを特徴とする、請求項５記載のデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の２進数データを同時に処理するデータ処理装置、特に、複数の２進数データから最大値又は最小値を検出することができるデータ処理装置及びその方法に関する。
【背景技術】
【０００２】
一般に、画像処理において、全ての画素データの最大値又は最小値を特徴量として画像処理の計算式を変更する、といった処理が必要となることがある。
【０００３】
また、多データを演算可能であることから画像処理に向いているとされるＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  ｓｔｒｅａｍ／Ｍｕｌｔｉｐｌｅ  Ｄａｔａ  ｓｔｒｅａｍ）型プロセッサにおいて、夫々のプロセッサエレメント（ＰＥ）に格納される画素データを最大値又は最小値の検出対象とする場合について、幾つかの方法が提案されている。
【０００４】
例えば、特開２００１−２６５５９２号公報（特許文献１）及び特開平０８−３０５７７号公報（特許文献２）等で開示されている方法は、基本的に逐次処理である。この方法では、全てのＰＥから対象画素データを読み出し、それらの大小を逐次比較し、大きい方又は小さい方のいずれかを残すことにより、結果として、全ての対象画素データの最大値又は最小値を求めることができる。この方法は、全ての対象画素データから最大値又は最小値を検出するまでに要する時間が、対象画素データの数が大きくなるに従って長くなるという特徴を有するので、ＰＥ数が大きい場合には不向きである。
【０００５】
また、特開２００２−２０７７０６号公報（特許文献３）には、多数の画素データに対応した最大値又は最小値の検出方法が開示されている。この検出方法は、夫々のＰＥに条件フラグＴを設け、全ての画素データを対象に最上位桁からビット毎に比較を行い、一のＰＥに格納された画素データが他のＰＥに格納されている画素データよりも大きい又は小さい場合には、以降の比較の対象とならないように一のＰＥの条件フラグＴをオフとし、その後、順次下位ビットへ比較を進める。従って、最下位ビットの比較が完了した段階で、最後まで条件フラグＴがオン状態であるＰＥの画素データが、最大値又は最小値となる。この方法は、対象画素データのビット幅に応じた比較ステップ分の時間を要するが、原理的に対象画素データの数に制限はないので、ＰＥ数が大きい場合に適している。
【０００６】
図１は、特許文献３に開示されているＳＩＭＤ型プロセッサの実施形態を示す図を引用したものである。図１は、ＳＩＭＤ型プロセッサのＰＥ群の一部を模式的に示した図であり、図１において、ＳＩＭＤ型プロセッサは、全体で２５６個のＰＥを有する。
【０００７】
２５６個のプロセッサエレメントＰＥ０、ＰＥ１・・・ＰＥ２５５は、共通データバス１０１に対してデータの入出力が可能である。また、プロセッサエレメントＰＥ０、ＰＥ１・・・ＰＥ２５５は、夫々、画素データを格納するＡレジスタ１０３と、条件フラグＴを格納する条件レジスタ１０４と、共通データバス１０１と接地との間で直列接続された２つのＮＭＯＳトランジスタ１０６及び１０７から成る出力ドライバとを有する。ＮＭＯＳトランジスタのうちの１つ１０６のゲートは、条件レジスタ１０４に格納された条件フラグＴがオンである間は、出力ドライバにより共通データバス１０１にデータを出力することができるが、条件フラグＴがオフである場合には、共通データバス１０１にデータを出力することができないように、論理回路１０５の出力に接続されている。ただし、他のＮＭＯＳトランジスタ１０７のゲートは、信号ＰＣＫ２に接続され、出力ドライバが共通データバスにデータを出力することができるのは、ＰＣＫ２が“Ｈｉｇｈ”である期間に限られる。
【０００８】
図１に示したＳＩＭＤ型プロセッサは、また、共通データバス１０１のプリチャージ及びチャージ保持を行うために、２つのＰＭＯＳトランジスタ１１０及び１１１から成るミラー回路と、反転インバータ１１２とを有する。ミラー回路には、信号ＰＣＫ２と同相である信号ＰＣＫ１と、反転インバータ１１２を介して共通データバス１０１とが入力される。共通データバス１０１は、信号ＰＣＫ１が“Ｌｏｗ”である期間では、プリチャージ時間とされてプルアップされる。即ち、第１の共通データバス１０１は、“Ｈｉｇｈ”となる。一方、信号ＰＣＫ１が“Ｈｉｇｈ”である期間では、夫々のＰＥの出力ドライバのうちの１つでも動作すると、第１の共通データバス１０１は“Ｌｏｗ”となり、逆に、夫々のＰＥの出力ドライバが１つも動作しないと、第１の共通データバス１０１は“Ｈｉｇｈ”のまま保持される。
【０００９】
プロセッサエレメントＰＥ０、ＰＥ１・・・ＰＥ２５５は、夫々、判定回路１０８を更に有する。判定回路１０８は、条件レジスタ１０４に格納された条件フラグＴと、Ａレジスタ１０３に格納された画素データの内容と、共通データバス１０１の状態とを判定条件として、条件レジスタ１０４に格納される次の条件フラグＴ’の内容を決定する。判定回路１０８には、入力組み合わせが８通りあり、夫々の場合の判定回路１０８の動作は、以下のようになる：
（０−１）  条件フラグＴ＝０（オフ）、画素データ＝０、共通データバス１０１＝０（Ｌｏｗ）の場合、次の条件フラグＴ’＝０（オフ）；
（０−２）  条件フラグＴ＝０（オフ）、画素データ＝０、共通データバス１０１＝１（Ｈｉｇｈ）の場合、次の条件フラグＴ’＝０（オフ）；
（０−３）  条件フラグＴ＝０（オフ）、画素データ＝１、共通データバス１０１＝０（Ｌｏｗ）の場合、次の条件フラグＴ＝０（オフ）；
（０−４）  条件フラグＴ＝０（オフ）、画素データ＝１、共通データバス１０１＝１（Ｈｉｇｈ）の場合、次の条件フラグＴ’＝０（オフ）；
（０−５）  条件フラグＴ＝１（オン）、画素データ＝０、共通データバス１０１＝０（Ｌｏｗ）の場合、次の条件フラグＴ’＝０（オフ）；
（０−６）  条件フラグＴ＝１（オン）、画素データ＝０、共通データバス１０１＝１（Ｈｉｇｈ）の場合、次の条件フラグＴ’＝１（オン）；
（０−７）  条件フラグＴ＝１（オン）、画素データ＝１、共通データバス１０１＝０（Ｌｏｗ）の場合、次の条件フラグＴ’＝１（オン）；
（０−８）  条件フラグＴ＝１（オン）、画素データ＝１、共通データバス１０１＝１（Ｈｉｇｈ）の場合、次の条件フラグＴ’＝１（オン）。
【００１０】
ただし、実際には、条件フラグＴ及び画素データが共に１である場合には、そのＰＥは、出力ドライバにより共通データバス１０１へデータを出力するので、上述したように、第１の共通データバス１０１は“Ｌｏｗ”となり、上記（０−８）は出現しない。また、そのＰＥが出力ドライバにより第１の共通データバス１０１へデータを出力していないにも関わらず第１の共通データバス１０１が“Ｌｏｗ”となる場合には、必然的に次の条件フラグＴ’は０（オフ）となり、一度オフになると、その判定回路１０８によってはオンに戻ることはない。
【００１１】
図１のＳＩＭＤ型プロセッサにおいて、最大値の検出動作を説明する。
【００１２】
最初に、全てのＰＥの条件レジスタ１０４は、条件フラグＴとして１（オン）を格納される。この状態で、全てのＰＥのＡレジスタに格納されている画素データについて、その最上位ビットが出力されるので、最上位ビットの１又は０が比較される。Ａレジスタの最上位ビットが１である画素データを有するＰＥは、共通データバス１０１へ０を出力する。従って、この場合のＰＥでは、判定回路１０８が上記（０−７）のように動作し、条件レジスタ１０４には次の条件フラグＴ’として１（オン）が格納される。一方、Ａレジスタの最上位ビットが０である画素データを有するＰＥでは、判定回路１０８は上記（０−５）のように動作し、条件レジスタ１０４には次の条件フラグＴ’として０（オフ）が格納される。
【００１３】
このように、２５６個のＰＥのうち、１つでも画素データを格納するＡレジスタの最上位ビットが１であるＰＥが存在する場合には、最上位ビットが０である画素データを有するＰＥの条件フラグＴは０（オフ）となり、一方、２５６個の全てのＰＥで画素データの最上位ビットが０である場合には、共通データバス１０１に０を出力するＰＥは存在せず、共通データバス１０１は“Ｈｉｇｈ”のまま保持される。この場合のＰＥでは、判定回路１０８は上記（０−６）のように動作し、条件レジスタ１０４に格納される次の条件フラグＴ’は１のまま維持される。
【００１４】
夫々のＰＥに格納されている画素データに関して、最上位ビットの比較が完了すると、次に上位から２番目のビットによる比較を行う。このとき、既に条件フラグＴが０（オフ）となったＰＥは、共通データバス１０１へのデータの出力ができないので、比較対象から外れた扱いとなる。従って、条件フラグＴが１（オン）であるＰＥの画素データのみが比較対象となる。このように、順次画素データの対象を下位ビットへシフトしていき、最下位ビットの比較が完了した時点で、条件フラグＴが１（オン）となっているＰＥに最大値が含まれていると判る。
【００１５】
また、特許文献３では、対象画素データのビット幅に応じた比較ステップ分の時間を要する点を改善するために、ＰＥを小グループ（所謂、セグメント。）に分け、セグメント内で画素データの比較を行う比較装置と、全てのセグメントを対象として画素データの比較を行う比較装置とから成る２段構成を有するＳＩＭＤ型プロセッサが開示されている。
【００１６】
図２は、特許文献３に開示されているＳＩＭＤ型プロセッサの他の実施形態を示す図を引用したものである。図２において、ＳＩＭＤ型プロセッサは、図１のＳＩＭＤ型プロセッサと同様に全体で２５６個のＰＥを有するが、それらが１６個で１つのセグメントを形成するように構成されている点で図１とは異なる。
【００１７】
１６個のセグメントＳ０、Ｓ１・・・Ｓ１５は、夫々、１６個のプロセッサエレメントＰＥ０、ＰＥ１・・・ＰＥ１５に加え、１個のバス接続制御部１００と、第１の共通データバス１０１とを有する。プロセッサエレメントＰＥ０、ＰＥ１・・・及びバス接続制御部１００は、第１の共通データバス１０１に対してデータの入出力が可能である。
【００１８】
図２の実施例では、第１の共通データバス１０１のプリチャージ及びチャージ保持を行うための、２つのＰＭＯＳトランジスタ１１０及び１１１から成るミラー回路と、インバータ１１２とは、バス接続制御部１００に含まれる。
【００１９】
夫々のセグメントＳ０、Ｓ１・・・Ｓ１５に含まれるプロセッサエレメントＰＥ０、ＰＥ１・・・ＰＥ１５の夫々の構成は、図１のＳＩＭＤ型プロセッサと同じであり、条件レジスタ１０４に格納される条件フラグＴがオンであって、信号ＰＣＫ２が“Ｈｉｇｈ”である場合に、第１の共通データバス１０１にデータを出力することができる。また、夫々のプロセッサエレメントＰＥ０、ＰＥ１・・・ＰＥ１５に含まれる判定回路１０８は、条件レジスタ１０４に格納された条件フラグＴと、Ａレジスタ１０３に格納された画素データの内容と、共通データバス１０１状態とを判定条件として、条件レジスタ１０４に格納される次の条件フラグＴの内容を決定する。判定回路１０８には、入力組み合わせが８通りあり、夫々の場合の判定回路１０８の動作は、図１のＳＩＭＤ型プロセッサにおける判定回路１０８の動作（０−１）〜（０−８）と同じである。
【００２０】
また、図２のＳＩＭＤ型プロセッサは、夫々のセグメントＳ０、Ｓ１・・・Ｓ１５で共有される第２の共通データバス１０２を更に有する。第２の共通データバス１０２は、夫々のセグメントのバス接続制御部１００と接続されている。バス接続制御部１００は、第１の共通データバス１０１の内容を第２の共通データバス１０２へ出力する第１の出力ドライバと、第２の共通データバス１０２の内容を第１の共通データバス１０１へ出力する第２の出力ドライバとを有する。第１の出力ドライバは、第２の共通データバス１０２と接地との間で直列接続された２つのＮＭＯＳトランジスタ１１３及び１１４を有する。ＮＭＯＳトランジスタのうちの１つ１１３のゲートは、反転インバータ１１２を介して第１の共通データバス１０１に接続され、他のＮＭＯＳトランジスタ１１４のゲートは、信号ＰＣＫ３に入力されている。従って、ＰＣＫ３が“Ｈｉｇｈ”である期間に第１の共通データバス１０１が“Ｌｏｗ”である場合には、第２の共通データバス１０２は接地に結合されて、第１の共通データバス１０１と同じく“Ｌｏｗ”となる。一方、第２の出力デバイスは、第１の共通データバス１０１と接地との間で直列接続された２つのＮＭＯＳトランジスタ１１６及び１１７と、反転インバータ１１５とを有する。ＮＭＯＳトランジスタのうちの１つ１１６のゲートは、反転インバータ１１５を介して第２の共通データバス１０２に接続され、他のＮＭＯＳトランジスタ１１７のゲートは、信号ＰＣＫ３と同相である信号ＰＣＫ４に入力されている。従って、ＰＣＫ４が“Ｈｉｇｈ”である期間に第２の共通データバス１０２が“Ｌｏｗ”である場合には、第１の共通データバス１０１は接地に結合されて、第２の共通データバス１０１と同じく“Ｌｏｗ”となる。
【００２１】
図２のＳＩＭＤ型プロセッサは、更に、第２の共通データバス１０２のプリチャージ及びチャージ保持を行うために、２つのＰＭＯＳトランジスタ１２０及び１２１から成るミラー回路と、反転インバータ１２３とを有する。ミラー回路には、信号ＰＣＫ５と、反転インバータ１２３を介して第２の共通データバス１０２とが入力される。第２の共通データバス１０２は、信号ＰＣＫ５が“Ｌｏｗ”である期間では、プリチャージ時間とされてプルアップされる。即ち、第２の共通データバス１０２は、“Ｈｉｇｈ”となる。一方、信号ＰＣＫ５が“Ｈｉｇｈ”である期間では、夫々のＰＥの出力ドライバのうちの１つでも動作すると、第２の共通データバス１０２は“Ｌｏｗ”となり、逆に、夫々のＰＥの出力ドライバが１つも動作しないと、第２の共通データバス１０２は“Ｈｉｇｈ”のまま保持される。
【００２２】
図２のＳＩＭＤ型プロセッサにおいて、最大値の検出動作を説明する。
【００２３】
最初に、夫々のセグメントＳ０、Ｓ１・・・Ｓ１５において、全てのＰＥの条件レジスタ１０４は、条件フラグＴとして１（オン）を格納される。この状態で、全てのＰＥのＡレジスタに格納されている画素データについて、その最上位ビットが出力されるので、最上位ビットの１又は０が比較される。Ａレジスタの最上位ビットが１である画素データを有するＰＥは、第１の共通データバス１０１へ０を出力する。従って、この場合のＰＥでは、判定回路１０８は上記（０−７）のように動作し、条件レジスタ１０４には次の条件フラグＴ’として１（オン）が格納される。一方、Ａレジスタの最上位ビットが０である画素データを有するＰＥでは、判定回路１０８は上記（０−５）のように動作し、条件レジスタ１０４には次の条件フラグＴ’として０（オフ）が格納される。
【００２４】
また、第１の共通データバス１０１が０となったことを受けて、第２の共通データバス１０２も０となる。第２の共通データバス１０２は、他のセグメントとも共有されているので、第２の共通データバス１０２が０となったことを受けて、他のセグメントＳ１，Ｓ２・・・Ｓ１５の第１の共通データバス１０１も０となる。
【００２５】
このように、２５６個のＰＥのうち、１つでも画素データを格納するＡレジスタの最上位ビットが１であるＰＥが存在する場合には、最上位ビットが０である画素データを有するＰＥの条件フラグＴは０（オフ）となり、一方、２５６個の全てのＰＥで画素データの最上位ビットが０である場合には、第１の共通データバス１０１に０を出力するＰＥは存在せず、第１の共通データバス１０１は“Ｈｉｇｈ”のまま保持される。この場合のＰＥでは、判定回路１０８は上記（０−６）のように動作し、条件レジスタ１０４に格納される次の条件フラグＴ’は１のまま維持される。
【００２６】
夫々のＰＥに格納される画素データに関して、最上位ビットの比較が完了すると、次に上位から２番目のビットによる比較を行う。このとき、既に条件フラグＴが０（オフ）となったＰＥは、第１の共通データバス１０１へのデータの出力ができないので、比較対象から外れた扱いとなる。従って、条件フラグＴが１（オン）であるＰＥの画素データのみが比較対象となる。このように、順次画素データの対象を下位ビットへシフトしていき、最下位ビットの比較が完了した時点で、条件フラグＴが１（オン）となっているＰＥに最大値が含まれていると判る。
【特許文献１】特開２００１−２６５５９２号公報
【特許文献２】特開平０８−３０５７７号公報
【特許文献３】特開２００２−２０７７０６号公報
【発明の開示】
【発明が解決しようとする課題】
【００２７】
しかし、プロセッサの動作周波数の向上に関する要求の高まりに伴って、画素データの最小値又は最小値の検出に要する時間に関しても更なる短縮化が求められているが、特許文献３に記載された方法では、以下のような場合における動作速度が、検出時間の短縮化を困難とする。
【００２８】
対象画素データに１を含んでいるＰＥが、全ＰＥの中でただ１つであるとする。この場合にも、図２を参照して上述したように、Ａレジスタ１０３に格納された画素データに１を含むＰＥは、出力ドライバにより第１の共通データバス１０１へ０を出力する。しかし、第１の共通データバス１０１へ０が出力されるまでに要する時間は、対象画素データに１を含んでいるＰＥが複数存在する場合よりも、概して長い。
【００２９】
次に、第１の共通データバス１０１が０となっていることを反映するように、対象画素データに１を含んでいるＰＥの属するセグメントのバス接続制御部１００は、第１の出力デバイスにより第２の共通データバス１０２へ０を出力する。しかし、先と同じく、第２の共通データバス１０２へ０が出力されるまでに要する時間は、対象画素データに１を含んでいるＰＥの属するセグメントが複数存在する場合より、概して長い。
【００３０】
第２の共通データバス１０２は、残りの１５個のセグメントとも共有されているので、第２の共通データバス１０２が０となったことを受けて、残りの１５個のセグメントのバス接続制御部１００は、夫々の第１の共通データバス１０１へ０を出力する。しかし、先と同じく、対象画素データに１を含んでいるＰＥが存在しないセグメントにおいて第１の共通バスデータ１０１へ０が出力されるまでに要する時間は、対象画素データに１を含んでいるＰＥを有する場合よりも、概して長く、如何なる場合においても最長である。
【００３１】
その後、夫々のＰＥにおいて判定回路１０８が作動し、画素データの比較を実行する。
【００３２】
以上より、従来技術におけるステップ実行時間の短縮化、即ち、高周波数化を困難としているのは、夫々のビットの比較を実行するステップと、その結果を条件フラグＴに反映するステップとが、一連のステップとして実行されることに因るということは明白である。これは、先行する比較の結果を条件フラグＴに反映しない限り、後続の比較が意味を有さない検出アルゴリズムであるためである。上位のビットから比較していく方式の場合には、最大値又は最小値でないと判明したデータの条件フラグＴを次々に消していき、最終的に残った条件フラグＴを持つデータが最大値又は最小値と定義する。そのため、上位ビットの比較結果が下位ビットの比較結果よりも優先するため、上位ビットの比較結果が出ない間は下位ビットの比較を開始することができない。従って、必然的に、１つのステップは、夫々のビットの比較を実行するステップと、その結果を条件フラグＴに反映するステップとを有することとなり、１つのステップの実行時間の短縮化には限界があるという問題が生ずる。
【００３３】
従って、本発明は、上記問題を鑑みて、処理時間を短縮化することが可能なデータ処理装置及びその方法を提供することを目的とする。
【課題を解決するための手段】
【００３４】
上記目的を達成するために、本発明のデータ検出方法は、複数の２進数データに対し、データの最上位ビットから順次下位のビットをビット毎に評価し、最大値又は最小値のデータを検出するデータ検出方法であって、前記複数の２進数データの夫々について、上位ビットとなる第1のビットを評価し、評価結果を導出するステップと、前記第１の直前のビットに基づいて、次のビットである第２のビットが評価されるべきであるか否かを判定し、判定結果を導出するステップと、前記判定結果に応じて、前記第１のビットの評価結果が現時点で最大値又は最小値のデータであるデータに対し、前記第２のビットを評価し、評価結果を導出するステップとを有することを特徴とする。
【００３５】
このように、直前の評価対象であったビット、即ち、現在の評価対象であるビットより１つ上位のビットを用いることにより、現在のビットの評価結果を導出すると同時に、次に上位のビットが評価されるべきか否かを判定することができる。従って、従来技術に比べ、一連のステップの動作時間を短縮することができる。
【００３６】
上記目的を達成するために、本発明のデータ処理装置は、複数の２進数データを同時に処理するデータ処理装置であって、前記複数の２進数データの夫々が処理対象であるか否かを表す条件フラグを記憶する条件記憶手段と、前記複数の２進数データのうち、前記条件記憶手段に記憶された処理対象である旨を示す条件フラグに対応する２進数データを、その最上位ビットから順次下位のビットをビット毎に比較した比較結果を表す結果反映手段と、該結果反映手段により表された比較結果のうちの１つを選択する選択手段と、該選択手段により選択された比較結果を記憶する結果記憶手段と、該結果記憶手段に直前に記憶された比較結果と、前記条件記憶手段に記憶された条件フラグと、前記結果反映手段によって直前の比較対象とされたビットとに基づいて、次の条件フラグを決定する判定手段とを有することを特徴とする。
【００３７】
これにより、対象ビットの比較結果が条件フラグに反映されるのを待たずに、次のビットの比較動作を実行することができる。従って、対象ビットの比較結果の反映と、次のビットの比較動作とが一連の動作として実行される従来技術とは異なり、対象ビットの比較結果を条件フラグに反映する動作と、次のビットの比較動作とを時間的にオーバーラップさせて実行することが可能となるので、全体として処理時間を短縮化することができる。
【００３８】
また、上記目的を達成するために、本発明のデータ処理装置は、前記結果反映手段が、複数のデータバスであることを特徴とする。
【００３９】
これにより、対象ビットの比較結果が如何なる結果になったとしても、次の比較動作は対応することができる。即ち、次の比較動作の開始時に、複数のデータバスのうちの１つのデータバスを１つの予測される比較結果に対応させ、他のデータバスを他の予測される比較結果に対応させることで、対象ビットの比較結果が導出される前に、次の比較動作を実行することができる。
【００４０】
また、上記目的を達成するために、本発明のデータ処理装置は、前記選択手段が、前記条件記憶手段に記憶された条件フラグに応じて、前記結果反映手段により表された比較結果を選択することを特徴とする。
【００４１】
これにより、対象ビットの比較結果を次の比較動作に反映させることができる。
【００４２】
また、上記目的を達成するために、本発明のデータ処理装置は、前記判定手段が、前記結果反映手段、前記選択手段及び前記結果記憶手段による一連の動作と同時並行して次の条件フラグを決定し、その後、前記次の条件フラグを前記条件記憶手段に格納することを特徴とする。
【００４３】
これにより、夫々の動作を順次行った場合よりも処理時間を短縮することができ、更に、対象ビットの比較結果を条件フラグに反映することで、次の比較動作時に、既に処理対象外であることが判明しているデータを処理対象から外すことができる。
【００４４】
また、上記目的を達成するために、本発明のデータ処理方法は、複数の２進数データを同時に処理するデータ処理方法であって、前記複数の２進数データの夫々が処理対象であるか否かを表す条件フラグを記憶する条件記憶ステップと、前記複数の２進数データのうち、前記条件記憶ステップで記憶された処理対象である旨を示す条件フラグに対応する２進数データを、その最上位ビットから順次下位のビットをビット毎に比較した比較結果を表す結果反映ステップと、該結果反映ステップで表された比較結果のうちの１つを選択する選択ステップと、該選択ステップで選択された比較結果を記憶する結果記憶ステップと、該結果記憶ステップの直前の結果記憶ステップで記憶された比較結果と、前記条件記憶手段に記憶された条件フラグと、前記結果反映ステップの直前の結果反映手段ステップで比較対象とされたビットとに基づいて、次の条件フラグを決定する判定ステップとを有することを特徴とする。
【００４５】
また、上記目的を達成するために、本発明のデータ処理方法は、前記判定ステップが、前記結果反映ステップ、前記選択ステップ及び前記結果記憶ステップの一連のステップと同時並行して実行されるステップであり、前記判定ステップで決定された次の条件フラグが、前記条件記憶ステップの次の条件記憶ステップで記憶されることを特徴とする。
【発明の効果】
【００４６】
本発明により、処理時間を短縮化することが可能なデータ処理装置及び方法を提供することが可能となる。
【発明を実施するための最良の形態】
【００４７】
以下、本発明の実施形態を添付の図面を参照して説明する。全ての図面を通して、同じ機能を有する構成要素に対しては同じ参照符号を付すこととする。
【００４８】
図３は、本発明のデータ処理装置の概略の構成を一例として示す図である。
【００４９】
図３において、データ処理装置は、ＳＩＭＤ型プロセッサとして表されており、グローバルプロセッサ３１と、レジスタファイル３２と、演算アレイ３３とを有する。
【００５０】
グローバルプロセッサ３１は、所謂ＳＩＳＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  ｓｔｒｅａｍ／Ｓｉｎｇｌｅ  Ｄａｔａ  ｓｔｒｅａｍ）タイプのプロセッサであり、プログラムＲＡＭ及びデータＲＡＭを有し、プログラムを解読して各種制御信号を生成する。グローバルプロセッサ３１で生成された制御信号は、内蔵する各種ブロックの制御に使用される以外に、レジスタファイル３２及び演算アレイ３３へも供給される。また、グローバルプロセッサ３１は、グローバルプロセッサ（ＧＰ）命令実行時には、内蔵する汎用レジスタ及び／又はＡＬＵ（算術論理演算器）等を使用して、各種演算処理及びプログラム制御処理等を行う。
【００５１】
レジスタファイル３２は、プロセッサエレメント（ＰＥ）命令で処理されるデータを保持している。ＰＥ命令は、ＳＩＭＤタイプの命令であり、レジスタファイル３２に保持されている複数のデータに対して同時に同じ処理を行う。レジスタファイル３２からのデータの読み出し／書き込みの制御は、グローバルプロセッサ３１によって行われる。レジスタファイル３２から読み出されたデータは、演算アレイ３３に送られ、演算アレイ３３による演算処理後にレジスタファイル３２に書き込まれる。また、レジスタファイル３２は、ＳＩＭＤプロセッサの外部からのアクセスが可能であり、グローバルプロセッサ３１の制御とは別に、外部から特定のレジスタに対してデータの読み出し／書き込みが行われる。
【００５２】
演算アレイ３３は、ＰＥ命令の演算処理を行う。演算処理の制御は、全て、グローバルプロセッサ３１によって行われる。
【００５３】
図４は、図３に示した本発明のデータ処理装置の詳細な構成の一例を示す図である。
【００５４】
グローバルプロセッサ３１は、ＳＩＭＤ型プロセッサのプログラム格納用のプログラムＲＡＭ３０１と、演算データ格納用のデータＲＡＭ３０２とを有する。更に、グローバルプロセッサ３１は、プログラムのアドレスを保持するプログラムカウンタ（ＰＣ）３０３と、演算処理のデータ格納のための汎用レジスタであるＧ０〜Ｇ３レジスタ３０４、３０５、３０６及び３０７と、レジスタ退避・復帰時に退避先データＲＡＭのアドレスを保持するスタックポイント（ＳＰ）３０８と、サブルーチンコール時にコール元のアドレスを保持するリンクレジスタ（ＬＳ）３０９と、同じくＩＲＱ（Ｉｎｔｅｒｒｕｐｔ  ＲｅＱｕｅｓｔ；割り込み要求）時及びＮＭＩ（Ｎｏｎ−Ｍａｓｋａｂｌｅ  Ｉｎｔｅｒｒｕｐｔ  ｒｅｑｕｅｓｔ；禁止不能割り込み要求）時の分岐元アドレスを保持するＬＩレジスタ３１０及びＬＮレジスタ３１１と、プロセッサの状態を保持するプロセッサステータスレジスタ（Ｐ）３１２とを有する。
【００５５】
グローバルプロセッサ３１は、これらのレジスタと、命令デコーダ、ＡＬＵ、メモリ制御回路、割り込み制御回路、外部Ｉ／Ｏ（入出力）制御回路及びＧＰ演算制御回路（これらは図示せず。）とを使用して、ＧＰ命令を実行する。
【００５６】
また、ＰＥ命令実行時には、グローバルプロセッサ３１は、命令デコーダ、レジスタファイル制御回路（図示せず。）及びＰＥ演算制御回路（図示せず。）を使用して、レジスタファイル３２及び演算アレイ３３の夫々を制御する。
【００５７】
レジスタファイル３２は、１つのＰＥ単位に８ビットのレジスタ３２０を３２本有し、２５６個のＰＥ分の組がアレイ構成となっている。レジスタ３２０は、ＰＥ毎にＲ０、Ｒ１、Ｒ２・・・Ｒ３１と呼ばれる。夫々のレジスタは、演算アレイ３３に対して読み出しポートと書き込みポートを１つずつ備えており、８ビットのリード／ライト兼用のバスを介して演算アレイ３３よりアクセスされる。３２本のレジスタのうち、Ｒ０〜Ｒ２３の２４本のレジスタは、ＳＩＭＤ型プロセッサの外部からのアクセスが可能であり、外部からクロックと、アドレス及びリード／ライト制御とを入力することで、任意のレジスタ３２０に対して読み書きを行うことができる。残りの８本のレジスタＲ２４〜Ｒ３１は、ＰＥ演算の一時的な演算データ保存用として使用される。
【００５８】
演算アレイ３３は、１６ビットのＡＬＵ３３０と、１６ビットのＡレジスタ３３１及びＦレジスタ３３２とを有する。ＰＥ命令による演算アレイ３３の演算は、レジスタファイル３２から読み出されたデータ又はグローバルプロセッサ３１から与えられたデータをＡＬＵ３３０の一方の入力とし、Ａレジスタ３３１の内容を他方の入力として行われる。その演算結果は、Ａレジスタ３３１に格納される。従って、レジスタファイル３２のＲ０〜Ｒ３２レジスタ３２０又はグローバルプロセッサ３１から与えられたデータと、Ａレジスタ３３１に格納されたデータとの演算が行われることとなる。
【００５９】
レジスタファイル３２と演算アレイ３３との間の接続は、７ｔｏ１（７対１）マルチプレクサ３４０によってなされている。図４に示すように、あるマルチプレクサ３４０から見て、左方向の３つのＰＥに含まれるＲ０〜Ｒ３１レジスタ３２０のデータと、右方向の３つのＰＥに含まれるＲ０〜Ｒ３１レジスタ３２０のデータと、中央のＰＥに含まれるＲ０〜Ｒ３１レジスタ３２０のデータとを、演算対象として選択することができるよう設定されている。また、レジスタファイル３２の８ビットのデータは、シフト・拡張回路３４１により任意ビット分だけ左シフトして、ＡＬＵ３３０に入力される。
【００６０】
更に、演算アレイ３３は、８ビットの条件レジスタ（図５の条件レジスタ５０４）を更に有し、これによりＰＥ毎の演算実行の無効／有効の制御をしており、特定のＰＥだけを演算対象として選択できるようになっている。
【実施例１】
【００６１】
〔構成〕
図５は、本発明のデータ処理装置の実施形態を示す図である。図５において、本発明のデータ処理装置は、ＳＩＭＤ型プロセッサとして表されており、全体で２５６個のＰＥを有する。図５は、ＳＩＭＤ型プロセッサのＰＥ群の一部を模式的に示した図である。
【００６２】
ＳＩＭＤ型プロセッサは、２５６個のプロセッサエレメントＰＥ１＿０、ＰＥ１＿１・・・ＰＥ１＿２５５に加え、２本の共通データバス５０１及び５０２を更に有する。夫々のプロセッサエレメントＰＥ１＿０、ＰＥ１＿１・・・ＰＥ１＿２５５は、第１及び第２の共通データバス５０１及び５０２に対してデータの入出力が可能である。また、プロセッサエレメントＰＥ１＿０、ＰＥ１＿１・・・ＰＥ１＿２５５は、夫々、画素データを格納するデータ記憶手段であるＡレジスタ３３１と、条件フラグＴを格納する条件記憶手段である条件レジスタ５０４と、第１の共通データバス５０１と接地との間で直列接続された２つのＮＭＯＳトランジスタ５０６及び５０７から成る第１の出力ドライバと、第２の共通データバス５０２と接地との間で直列接続された２つのＮＭＯＳトランジスタ５３１及び５３２から成る第２の出力ドライバとを有する。
【００６３】
プロセッサエレメントＰＥ１＿０、ＰＥ１＿１・・・ＰＥ１＿２５５は、夫々、２入力１出力の第１のＡＮＤ回路５０５と、３入力１出力の第２のＡＮＤ回路５５０とを更に有する。第１のＡＮＤ回路５０５において、一方の入力部には、比較対象であるビットＡ（ｎ）を出力するＡレジスタ３３１の出力端子が接続され、他方の入力部には、条件レジスタ５０４が接続され、更に、出力部には、第１の出力ドライバのＮＭＯＳトランジスタのうちの１つ５０６のゲートが接続されている。第２のＡＮＤ回路５３０において、第１の入力部には、比較対象であるビットＡ（ｎ）を出力するＡレジスタ３３１の出力端子が接続され、第２の入力部には、直前の比較対象であったビットＡ（ｎ＋１）を出力するＡレジスタ３３１の出力端子が接続され、第３の入力部には、条件レジスタ５０４が接続され、更に、出力部には、第２の出力ドライバのＮＭＯＳトランジスタのうちの１つ５３１のゲートが接続されている。
【００６４】
また、第１の出力ドライバの他のＮＭＯＳトランジスタ５０７及び第２の出力ドライバの他のＮＭＯＳトランジスタ５３２は、夫々、そのゲートが信号ＰＣＫ２に接続されている。
【００６５】
従って、ＰＣＫ２が“Ｈｉｇｈ”である間は、条件レジスタ５０４に格納された条件フラグＴがオンであって、Ａレジスタ３３１に格納された画素データの比較対象ビットＡ（ｎ）が１である場合に、第１の出力ドライバは第１の共通データバス５０１にデータを出力することができる。このとき、第１の共通データバス５０１は、ＮＭＯＳトランジスタ５０６及び５０７を介して接地に接続されて、“Ｌｏｗ”状態となる。更に、Ａレジスタ３３１に格納された画素データの直前の比較対象であったビットＡ（ｎ＋１）も１である場合には、第２の出力ドライバも第２の共通データバス５０２にデータを出力することができる。このとき、第２の共通データバス５０２は、ＮＭＯＳトランジスタ５３１及び５３２を介して接地に接続されて、“Ｌｏｗ”状態となる。
【００６６】
第１及び第２の共通データバス５０１及び５０２は、プリチャージバスであり、図５のＳＩＭＤ型プロセッサは、また、第１の共通データバス５０１のプリチャージ及びチャージ保持を行うための、２つのＰＭＯＳトランジスタ５１０及び５１１から成る第１のミラー回路並びに第１の反転インバータ５１２と、第２の共通データバス５０２のプリチャージ及びチャージ保持を行うための、２つのＰＭＯＳトランジスタ５２０及び５２１から成る第２のミラー回路並びに第２の反転インバータ５２２とを有する。第１のミラー回路には、信号ＰＣＫ２と同相である信号ＰＣＫ１と、第１の反転インバータ５１２を介して第１の共通データバス５０１とが入力される。一方、第２のミラー回路には、信号ＰＣＫ２と同相である信号ＰＣＫ１と、第２の反転インバータ５２２を介して第２の共通データバス５０２とが入力される。従って、第１及び第２の共通データバス５０１及び５０２は、信号ＰＣＫ１が“Ｌｏｗ”である期間では、プリチャージ時間とされてプルアップされる。即ち、第１及び第２の共通データバス５０１及び５０２は、“Ｈｉｇｈ”となる。また、信号ＰＣＫ１が“Ｈｉｇｈ”である期間では、夫々のＰＥにおいて第１及び第２の共通データの夫々に接続された対応する出力ドライバのうちの１つでも動作すると、第１の共通データバス５０１及び／又は第２の共通データバス５０２は“Ｌｏｗ”となり、逆に、夫々のＰＥにおいて第１及び第２の共通データの夫々に接続された対応する出力ドライバが１つも動作しないと、第１の共通データバス５０１及び／又は第２の共通データバス５０２は“Ｈｉｇｈ”のまま保持される。
【００６７】
第１及び第２の共通データバス５０１及び５０２は、夫々のＰＥからのデータ出力に応じて状態を切り換えられる。夫々のＰＥからのデータ出力とは、即ち、夫々のＰＥに格納された画像データのビットの比較結果である。従って、第１及び第２の共通データバス５０１及び５０２は、夫々のＰＥに格納された画像データのビットの比較結果を表す結果反映手段である。
【００６８】
図５において、ＳＩＭＤ型プロセッサは、選択器５４１と、結果記憶回路５４２とを更に有する。選択器５４１は、結果記憶回路５４２の状態、即ち、比較対象ビットＡ（ｎ）の一桁上位のビットＡ（ｎ＋１）の比較結果に従って、第１の共通データバス５０１又は第２の共通データバス５０２のいずれか一方を選択する選択手段であり、本実施例では、更に、選択した共通データバスの状態を反転して結果記憶回路５４２へ出力する。それを結果信号Ｒ（Ａ（ｎ））として、結果記憶回路５４２は記憶する。即ち、選択器５４１は、結果記憶回路５４２に直前の比較結果として結果信号Ｒ（Ａ（ｎ＋１））＝０が記憶されていた場合には、第１の共通データバス５０１を選択し、結果記憶回路５４２直前の比較結果として結果信号Ｒ（Ａ（ｎ＋１））＝１が記憶されていた場合には、第２の共通データバス５０２を選択する。更に、選択器５４１は、選択した共通データバスの状態が “Ｈｉｇｈ”である場合には０を出力し、選択した共通データバスの状態が “Ｌｏｗ”である場合には１を出力する。
【００６９】
また、プロセッサエレメントＰＥ１＿０、ＰＥ１＿１・・・ＰＥ１＿２５５は、夫々、判定回路５０８を更に有する。判定回路５０８は、選択器５４１及び結果記憶回路５４２が対象ビットＡ（ｎ）の比較結果を導出する間に、条件レジスタ５０４に格納されている条件フラグＴ（Ａ（ｎ＋１））と、Ａレジスタ３３１に格納されている画素データの直前の比較対象ビットＡ（ｎ＋１）と、結果記憶回路５４２に記憶された直前の比較結果である結果信号Ｒ（Ａ（ｎ＋１））とを判定条件として、条件レジスタ５０４に格納される次の条件フラグＴ（Ａ（ｎ））の内容を決定する判定手段である。判定回路５０８には、入力組み合わせが８通りあり、夫々の場合の判定回路の動作は、以下のようになる：
（１−１）  条件フラグＴ（Ａ（ｎ＋１））＝０（オフ）、直前の比較対象ビットＡ（ｎ＋１）＝０、結果信号Ｒ（Ａ（ｎ＋１））＝１の場合、次の条件フラグＴ（Ａ（ｎ））＝０（オフ）；
（１−２）  条件フラグＴ（Ａ（ｎ＋１））＝０（オフ）、直前の比較対象ビットＡ（ｎ＋１）＝０、結果信号Ｒ（Ａ（ｎ＋１））＝０の場合、次の条件フラグＴ（Ａ（ｎ））＝０（オフ）；
（１−３）  条件フラグＴ（Ａ（ｎ＋１））＝０（オフ）、直前の比較対象ビットＡ（ｎ＋１）＝１、結果信号Ｒ（Ａ（ｎ＋１））＝１の場合、次の条件フラグＴ（Ａ（ｎ））＝０（オフ）；
（１−４）  条件フラグＴ（Ａ（ｎ＋１））＝０（オフ）、直前の比較対象ビットＡ（ｎ＋１）＝１、結果信号Ｒ（Ａ（ｎ＋１））＝０の場合、次の条件フラグＴ（Ａ（ｎ））＝０（オフ）；
（１−５）  条件フラグＴ（Ａ（ｎ＋１））＝１（オン）、直前の比較対象ビットＡ（ｎ＋１）＝０、結果信号Ｒ（Ａ（ｎ＋１））＝１の場合、次の条件フラグＴ（Ａ（ｎ））＝０（オフ）；
（１−６）  条件フラグＴ（Ａ（ｎ＋１））＝１（オン）、直前の比較対象ビットＡ（ｎ＋１）＝０、結果信号Ｒ（Ａ（ｎ＋１））＝０の場合、次の条件フラグＴ（Ａ（ｎ））＝１（オン）；
（１−７）  条件フラグＴ（Ａ（ｎ＋１））＝１（オン）、直前の比較対象ビットＡ（ｎ＋１）＝１、結果信号Ｒ（Ａ（ｎ＋１））＝１の場合、次の条件フラグＴ（Ａ（ｎ））＝１（オン）；
（１−８）  条件フラグＴ（Ａ（ｎ＋１））＝１（オン）、直前の比較対象ビットＡ（ｎ＋１）＝１、結果信号Ｒ（Ａ（ｎ＋１））＝０の場合、次の条件フラグＴ（Ａ（ｎ））＝１（オン）。
【００７０】
ただし、実際には、構造上、条件フラグＴ（Ａ（ｎ＋１））及びビットＡ（ｎ＋１）が１である場合には、結果信号Ｒ（Ａ（ｎ＋１））は必ず１となるので、上記（１−８）はあり得ない。また、直前の比較対象ビットＡ（ｎ＋１）が０であるにも関わらず結果信号Ｒ（Ａ（ｎ＋１））が１となる場合には、必然的に次の条件フラグＴは０（オフ）となり、一度オフになると、その判定回路５０８によってはオンに戻ることはない。なお、図示していないが、条件レジスタ５０４は、格納される条件フラグＴを１（オン）に設定することが可能であり、また、結果記憶回路５４２は、格納される結果信号Ｒを初期状態Ｒ（０）＝０と設定することが可能である。
【００７１】
〔動作〕
図５のＳＩＭＤ型プロセッサにおいて、最大値の検出動作を説明する。Ａレジスタ３３１に格納されている画素データのビット幅は、理解を容易にするために８ビットとし、夫々上位からＡ（７）、Ａ（６）・・・Ａ（０）と称する。
【００７２】
最初に、初期状態として、全てのＰＥの条件レジスタ５０４は、条件フラグＴ（０）として１（オン）を格納され、結果記憶回路５４２は、結果信号Ｒ（０）として０を格納される。
【００７３】
初期状態において、全てのＰＥのＡレジスタ３３１に格納されている画素データについて、その最上位ビットＡ（７）が出力されるので、最上位ビットＡ（７）の１又は０が比較される。Ａレジスタ３３１の最上位ビットＡ（７）が１である画素データを有するＰＥは、第１の出力ドライバを介して第１の共通データバス５０１へ０を出力する。このとき、全てのＰＥにおいて、Ａレジスタ３３１の画素データの最上位ビットＡ（７）が０である場合には、第１の共通データバス５０１は、１のまま保持される。
【００７４】
選択器５４１は、結果記憶回路５４２の現在の状態、即ち、この場合には初期状態Ｒ（０）＝０に従って、第１の共通データバス５０１を選択し、その反転した状態を結果記憶回路５４２へ出力する。それを結果信号Ｒ（Ａ（７））として、結果記憶回路５４２は記憶する。即ち、結果記憶回路５４２は、結果信号Ｒ（Ａ（７））として、最上位ビットＡ（７）が１である画素データを有するＰＥが１つでも存在する場合には１を、一方、最上位ビットＡ（７）が１である画素データを有するＰＥが１つも存在しない場合には０を記憶する。ここまでの動作により、結果記憶回路５４２には画素データの最上位ビットＡ（７）の比較結果が格納されている。また、この時点で全てのＰＥの条件レジスタ５０４に格納されている条件フラグＴをＴ（Ａ（７））とする。条件フラグＴ（Ａ（７））は、初期状態のままであり、Ｔ（Ａ（７））＝Ｔ（０）＝１である。
【００７５】
次の比較動作として、全てのＰＥのＡレジスタ３３１に格納されている画素データについて、その上位から２番目のビットＡ（６）が出力されるので、このビットＡ（６）の１又は０が比較される。Ａレジスタ３３１のビットＡ（６）が１である画素データを有するＰＥは、第１の出力ドライバを介して第１の共通データバス５０１へ０を出力する。このとき、全てのＰＥにおいて、Ａレジスタ３３１の画素データのビットＡ（６）が０である場合には、第１の共通データバス５０１は、１のまま保持される。同時に、ビットＡ（６）が１であって、且つ、最上位ビットＡ（７）も１である画素データを有するＰＥは、第２の共通データバス５０２へ０を出力する。このとき、全てのＰＥにおいて、ビットＡ（６）若しくは最上位ビットＡ（７）のいずれか一方又はそれらの両方が０である場合には、第２の共通データバス５０２は、１のまま保持される。
【００７６】
選択器５４１は、結果記憶回路５４２の現在の状態に従って、第１の共通データバス５０１又は第２の共通データバス５０２のいずれか一方を選択する。即ち、選択器５４１は、結果記憶回路５４２に画素データの最上位ビットＡ（７）の比較結果としてＲ（Ａ（７））＝０が記憶されていた場合には、第１の共通データバス５０１を選択し、Ｒ（Ａ（７））＝１が記憶されていた場合には、第２の共通データバス５０２を選択する。選択器５４１は、選択した共通データバスの状態を反転し、結果記憶回路５４２へ出力する。それを結果信号Ｒ（Ａ（６））として、結果記憶回路５４２は記憶する。即ち、結果記憶回路５４２は、結果信号Ｒ（Ａ（６））として、以下のような内容を記憶する：
（２−１）  最上位ビットＡ（７）の比較結果がＲ（Ａ（７））＝０であり、全てのＰＥにおいてビットＡ（６）が０である場合には、結果信号Ｒ（Ａ（６））＝０である；
（２−２）  最上位ビットＡ（７）の比較結果がＲ（Ａ（７））＝０であり、１以上のＰＥにおいてビットＡ（６）が１である場合には、結果信号Ｒ（Ａ（６））＝１である；
（２−３）  最上位ビットＡ（７）の比較結果がＲ（Ａ（７））＝１であり、全てのＰＥにおいてビットＡ（６）が０である場合には、結果信号Ｒ（Ａ（６））＝０である；
（２−４）  最上位ビットＡ（７）の比較結果がＲ（Ａ（７））＝１であり、１以上のＰＥにおいてビットＡ（６）が１である場合には、結果信号Ｒ（Ａ（６））＝１である。
【００７７】
ここまでの動作により、結果記憶回路５４２には画素データの上位から２番目のビットＡ（６）の比較結果が格納されている。
【００７８】
一方、夫々のＰＥに格納された画素データの上位から２番目のビットＡ（６）を比較する動作と同時並行して、次の条件フラグＴ（Ａ（６））を決定するための動作が行われる。
【００７９】
結果記憶回路５４２の現在の状態、即ち最上位ビットＡ（７）の比較結果は、結果信号Ｒ（Ａ（７））として、選択器５４１だけではなく、夫々のＰＥの判定回路５０８へ入力される。判定回路５０８は、入力された結果信号Ｒ（Ａ（７））と、条件レジスタ５０４に格納されている条件フラグＴ（Ａ（７））と、Ａレジスタ３３１に格納されている画素データの直前の比較対象であった最上位ビットＡ（７）とを判定条件として、条件レジスタ５０４に格納される次の条件フラグＴ（Ａ（６））の内容を決定する。判定回路５０８が次の条件フラグＴ（Ａ（６））を決定する条件は、以下通りである：
（３−１）  条件フラグＴ（Ａ（７））＝０（オフ）、最上位ビットＡ（７）＝０、結果信号Ｒ（Ａ（７））＝０の場合、次の条件フラグＴ（Ａ（６））＝０（オフ）；
（３−２）  条件フラグＴ（Ａ（７））＝０（オフ）、最上位ビットＡ（７）＝１、結果信号Ｒ（Ａ（７））＝０の場合、次の条件フラグＴ（Ａ（６））＝０（オフ）；
（３−３）  条件フラグＴ（Ａ（７））＝０（オフ）、最上位ビットＡ（７）＝０、結果信号Ｒ（Ａ（７））＝１の場合、次の条件フラグＴ（Ａ（６））＝０（オフ）；
（３−４）  条件フラグＴ（Ａ（７））＝０（オフ）、最上位ビットＡ（７）＝１、結果信号Ｒ（Ａ（７））＝１の場合、次の条件フラグＴ（Ａ（６））＝０（オフ）；
（３−５）  条件フラグＴ（Ａ（７））＝１（オン）、最上位ビットＡ（７）＝０、結果信号Ｒ（Ａ（７））＝０の場合、次の条件フラグＴ（Ａ（６））＝１（オン）；
（３−６）  条件フラグＴ（Ａ（７））＝１（オン）、最上位ビットＡ（７）＝１、結果信号Ｒ（Ａ（７））＝０の場合、次の条件フラグＴ（Ａ（６））＝１（オン）；
（３−７）  条件フラグＴ（Ａ（７））＝１（オン）、最上位ビットＡ（７）＝０、結果信号Ｒ（Ａ（７））＝１の場合、次の条件フラグＴ（Ａ（６））＝０（オフ）；
（３−８）  条件フラグＴ（Ａ（７））＝１（オン）、最上位ビットＡ（７）＝１、結果信号Ｒ（Ａ（７））＝１の場合、次の条件フラグＴ（Ａ（６））＝１（オン）。
【００８０】
ただし、実際には、最上位ビットＡ（７）の比較の後に全てのＰＥの条件レジスタ５０４に格納された条件フラグＴ（Ａ（７））は、最初に１に設定された状態のままであるから、上記（３−１）から（３−４）はあり得ない。また、上述した最上位ビットＡ（７）の比較動作の説明から分かるように、構造上、条件フラグＴ（Ａ（７））及び最上位ビットＡ（７）が１である場合には、結果信号Ｒ（Ａ（７））は必ず１となるので、上記（３−６）もあり得ない。従って、夫々のＰＥに格納されている画素データの上位から２番目のビットＡ（６）を比較する動作では、上記（３−５）、（３−７）及び（３−８）の場合が考えられ、このようにして、最上位ビットＡ（７）の比較結果が次の条件フラグＴ（Ａ（６））に反映される。
【００８１】
次の比較動作として、条件フラグＴ（Ａ（６））が１であるＰＥのＡレジスタ３３１に格納されている画素データについて、その上位から３番目のビットＡ（５）が出力されるので、このビットＡ（５）の１又は０が比較される。条件フラグＴ（Ａ（６））が０であるＰＥは、以降の比較対象から外され、第１及び第２の共通データバス５０１及び５０２のどちらにもデータを出力しない。
【００８２】
Ａレジスタ３３１のビットＡ（５）が１である画素データを有するＰＥは、第１の出力ドライバを介して第１の共通データバス５０１へ０を出力する。このとき、全ての条件フラグＴ（Ａ（６））が１であるＰＥにおいて、Ａレジスタ３３１の画素データのビットＡ（５）が０である場合には、第１の共通データバス５０１は、１のまま保持される。同時に、ビットＡ（５）が１であって、且つ、上位から２番目のビットＡ（６）も１である画素データを有するＰＥは、第２の共通データバス５０２へ０を出力する。このとき、全ての条件フラグＴ（Ａ（６））が１であるＰＥにおいて、比較対象ビットＡ（５）若しくは直前の比較対象ビットＡ（６）のいずれか一方又はそれら両方が０である場合には、第２の共通データバス５０２は、１のまま保持される。
【００８３】
選択器５４１は、結果記憶回路５４２の現在の状態に従って、第１の共通データバス５０１又は第２の共通データバス５０２のいずれか一方を選択する。即ち、選択器５４１は、結果記憶回路５４２に画素データのビットＡ（６）の比較結果としてＲ（Ａ（６））＝０が記憶されていた場合には、第１の共通データバス５０１を選択し、結果記憶回路５４２に画素データのビットＡ（６）の比較結果としてＲ（Ａ（６））＝１が記憶されていた場合には、第２の共通データバス５０２を選択する。選択器５４１は、選択した共通データバスの状態を反転し、結果記憶回路５４２へ出力する。それを結果信号Ｒ（Ａ（５））として、結果記憶回路５４２は記憶する。即ち、結果記憶回路５４２は、結果信号Ｒ（Ａ（５））として、以下のような内容を記憶する：
（４−１）  ビットＡ（６）の比較結果がＲ（Ａ（６））＝０であり、全てのＰＥにおいて条件フラグＴ（Ａ（６））及び／又はビットＡ（５）が０である場合には、結果信号Ｒ（Ａ（５））＝０である；
（４−２）  ビットＡ（６）の比較結果がＲ（Ａ（６））＝０であり、１以上のＰＥにおいて条件フラグＴ（Ａ（６））及びビットＡ（５）が１である場合には、結果信号Ｒ（Ａ（５））＝１である；
（４−３）  ビットＡ（６）の比較結果がＲ（Ａ（６））＝１であり、全てのＰＥにおいて条件フラグＴ（Ａ（６））及び／又はビットＡ（５）が０である場合には、結果信号Ｒ（Ａ（５））＝０である；
（４−４）  ビットＡ（６）の比較結果がＲ（Ａ（６））＝１であり、１以上のＰＥにおいて条件フラグＴ（Ａ（６））及びビットＡ（５）が１である場合には、結果信号Ｒ（Ａ（５））＝１である。
【００８４】
ここまでの動作により、結果記憶回路５４２には画素データの上位から３番目のビットＡ（５）の比較結果が格納されている。
【００８５】
一方、夫々のＰＥに格納された画素データの上位から３番目のビットＡ（５）を比較する動作と同時並行して、次の条件フラグＴ（Ａ（５））を決定するための動作が行われる。
【００８６】
結果記憶回路５４２の現在の状態、即ちビットＡ（６）の比較結果は、結果信号Ｒ（Ａ（６））として、選択器５４１だけではなく、夫々のＰＥの判定回路５０８へ入力される。判定回路５０８は、入力された結果信号Ｒ（Ａ（６））と、条件レジスタ５０４に格納されている条件フラグＴ（Ａ（６））と、Ａレジスタ３３１に格納されている画素データの直前の比較対象であったビットＡ（６）とを判定条件として、条件レジスタ５０４に格納される次の条件フラグＴ（Ａ（５））の内容を決定する。判定回路５０８が次の条件フラグＴ（Ａ（５））を決定する条件は、以下通りである：
（５−１）  条件フラグＴ（Ａ（６））＝０（オフ）、ビットＡ（６）＝０、結果信号Ｒ（Ａ（６））＝０の場合、次の条件フラグＴ（Ａ（５））＝０（オフ）；
（５−２）  条件フラグＴ（Ａ（６））＝０（オフ）、ビットＡ（６）＝１、結果信号Ｒ（Ａ（６））＝０の場合、次の条件フラグＴ（Ａ（５））＝０（オフ）；
（５−３）  条件フラグＴ（Ａ（６））＝０（オフ）、ビットＡ（６）＝０、結果信号Ｒ（Ａ（６））＝１の場合、次の条件フラグＴ（Ａ（５））＝０（オフ）；
（５−４）  条件フラグＴ（Ａ（６））＝０（オフ）、ビットＡ（６）＝１、結果信号Ｒ（Ａ（６））＝１の場合、次の条件フラグＴ（Ａ（５））＝０（オフ）；
（５−５）  条件フラグＴ（Ａ（６））＝１（オン）、ビットＡ（６）＝０、結果信号Ｒ（Ａ（６））＝０の場合、次の条件フラグＴ（Ａ（５））＝１（オン）；
（５−６）  条件フラグＴ（Ａ（６））＝１（オン）、ビットＡ（６）＝１、結果信号Ｒ（Ａ（６））＝０の場合、次の条件フラグＴ（Ａ（５））＝１（オン）；
（５−７）  条件フラグＴ（Ａ（６））＝１（オン）、ビットＡ（６）＝０、結果信号Ｒ（Ａ（６））＝１の場合、次の条件フラグＴ（Ａ（５））＝０（オフ）；
（５−８）  条件フラグＴ（Ａ（６））＝１（オン）、ビットＡ（６）＝１、結果信号Ｒ（Ａ（６））＝１の場合、次の条件フラグＴ（Ａ（５））＝１（オン）。
【００８７】
ただし、実際には、上述した上位から２番目のビットＡ（６）の比較動作の説明から分かるように、構造上、条件フラグＴ（Ａ（６））及び上位から２番目のビットＡ（６）が１である場合には、結果信号Ｒ（Ａ（６））は必ず１となるので、上記（５−６）はあり得ない。従って、夫々のＰＥに格納されている画素データの上位から３番目のビットＡ（５）を比較する動作では、上記（５−１）〜（５−５）、（５−７）及び（５−８）の場合が考えられ、このようにして、上位から２番目のビットＡ（６）の比較結果が次の条件フラグＴ（Ａ（５））に反映される。
【００８８】
同様に、比較対象となるビットを上位から（８−ｎ）番目のビットＡ（ｎ）として、以下のビットに対する比較動作について説明する。
【００８９】
条件フラグＴ（Ａ（ｎ＋１））が１であるＰＥのＡレジスタ３３１に格納されている画素データについて、上位から（８−ｎ）番目のビットＡ（ｎ）が出力されるので、このビットＡ（ｎ）の１又は０が比較される。条件フラグＴ（Ａ（ｎ＋１））が０であるＰＥは、以降の比較対象から外され、第１及び第２の共通データバス５０１及び５０２のどちらにもデータを出力しない。
【００９０】
Ａレジスタ３３１のビットＡ（ｎ）が１である画素データを有するＰＥは、第１の出力ドライバを介して第１の共通データバス５０１へ０を出力する。このとき、全ての条件フラグＴ（Ａ（ｎ＋１））が１であるＰＥにおいて、Ａレジスタ３３１の画素データのビットＡ（ｎ）が０である場合には、第１の共通データバス５０１は、１のまま保持される。同時に、ビットＡ（ｎ）が１であって、且つ、一桁上位のビットＡ（ｎ＋１）も１である画素データを有するＰＥは、第２の共通データバス５０２へ０を出力する。このとき、全ての条件フラグＴ（Ａ（ｎ＋１））が１であるＰＥにおいて、ビットＡ（ｎ）若しくはビットＡ（ｎ＋１）のいずれか一方又はそれら両方が０である場合には、第２の共通データバス５０２は、１のまま保持される。
【００９１】
選択器５４１は、結果記憶回路５４２の現在の状態に従って、第１の共通データバス５０１又は第２の共通データバス５０２のいずれか一方を選択する。即ち、選択器５４１は、結果記憶回路５４２に画素データのビットＡ（ｎ＋１）の比較結果としてＲ（Ａ（ｎ＋１））＝０が記憶されていた場合には、第１の共通データバス５０１を選択し、結果記憶回路５４２に画素データのビットＡ（ｎ＋１）の比較結果としてＲ（Ａ（ｎ＋１））＝１が記憶されていた場合には、第２の共通データバス５０２を選択する。選択器５４１は、選択した共通データバスの状態を反転し、結果記憶回路５４２へ出力する。それを結果信号Ｒ（Ａ（ｎ））として、結果記憶回路５４２は記憶する。即ち、結果記憶回路５４２は、結果信号Ｒ（Ａ（ｎ））として、以下のような内容を記憶する：
（６−１）  ビットＡ（ｎ＋１）の比較結果がＲ（Ａ（ｎ＋１））＝０であり、全てのＰＥにおいて条件フラグＴ（Ａ（ｎ＋１））及び／又はビットＡ（ｎ）が０である場合には、結果信号Ｒ（Ａ（ｎ））＝０である；
（６−２）  ビットＡ（ｎ＋１）の比較結果がＲ（Ａ（ｎ＋１））＝０であり、１以上のＰＥにおいて条件フラグＴ（Ａ（ｎ＋１））及びビットＡ（ｎ）が１である場合には、結果信号Ｒ（Ａ（ｎ））＝１である；
（６−３）  ビットＡ（ｎ＋１）の比較結果がＲ（Ａ（ｎ＋１））＝１であり、全てのＰＥにおいて条件フラグＴ（Ａ（ｎ＋１））及び／又はビットＡ（ｎ）が０である場合には、結果信号Ｒ（Ａ（ｎ））＝０である；
（６−４）  ビットＡ（ｎ＋１）の比較結果がＲ（Ａ（ｎ＋１））＝１であり、１以上のＰＥにおいて条件フラグＴ（Ａ（ｎ＋１））及びビットＡ（ｎ）が１である場合には、結果信号Ｒ（Ａ（ｎ））＝１である。
【００９２】
ここまでの動作により、結果記憶回路５４２には画素データの上位から（８−ｎ）番目のビットＡ（ｎ）の比較結果が格納されている。
【００９３】
一方、夫々のＰＥに格納された画素データの上位から（８−ｎ）番目のビットＡ（ｎ）を比較する動作と同時並行して、次の条件フラグＴ（Ａ（ｎ））を決定するための動作が行われる。
【００９４】
結果記憶回路５４２の現在の状態、即ちビットＡ（ｎ＋１）の比較結果は、結果信号Ｒ（Ａ（ｎ＋１））として、選択器５４１だけではなく、夫々のＰＥの判定回路５０８へ入力される。判定回路５０８は、入力された結果信号Ｒ（Ａ（ｎ＋１））と、条件レジスタ５０４に格納された条件フラグＴ（Ａ（ｎ＋１））と、Ａレジスタ３３１に格納された画素データの直前の比較対象であったビットＡ（ｎ＋１）とを判定条件として、条件レジスタ５０４に格納される次の条件フラグＴ（Ａ（ｎ））の内容を決定する。判定回路５０８が次の条件フラグＴ（Ａ（ｎ））を決定する条件は、以下通りである：
（７−１）  条件フラグＴ（Ａ（ｎ＋１））＝０（オフ）、ビットＡ（ｎ＋１）＝０、結果信号Ｒ（Ａ（ｎ＋１））＝０の場合、次の条件フラグＴ（Ａ（ｎ））＝０（オフ）；
（７−２）  条件フラグＴ（Ａ（ｎ＋１））＝０（オフ）、ビットＡ（ｎ＋１）＝１、結果信号Ｒ（Ａ（ｎ＋１））＝０の場合、次の条件フラグＴ（Ａ（ｎ））＝０（オフ）；
（７−３）  条件フラグＴ（Ａ（ｎ＋１））＝０（オフ）、ビットＡ（ｎ＋１）＝０、結果信号Ｒ（Ａ（ｎ＋１））＝１の場合、次の条件フラグＴ（Ａ（ｎ））＝０（オフ）；
（７−４）  条件フラグＴ（Ａ（ｎ＋１））＝０（オフ）、ビットＡ（ｎ＋１）＝１、結果信号Ｒ（Ａ（ｎ＋１））＝１の場合、次の条件フラグＴ（Ａ（ｎ））＝０（オフ）；
（７−５）  条件フラグＴ（Ａ（ｎ＋１））＝１（オン）、ビットＡ（ｎ＋１）＝０、結果信号Ｒ（Ａ（ｎ＋１））＝０の場合、次の条件フラグＴ（Ａ（ｎ））＝１（オン）；
（７−６）  条件フラグＴ（Ａ（ｎ＋１））＝１（オン）、ビットＡ（ｎ＋１）＝１、結果信号Ｒ（Ａ（ｎ＋１））＝０の場合、次の条件フラグＴ（Ａ（ｎ））＝１（オン）；
（７−７）  条件フラグＴ（Ａ（ｎ＋１））＝１（オン）、ビットＡ（ｎ＋１）＝０、結果信号Ｒ（Ａ（ｎ＋１））＝１の場合、次の条件フラグＴ（Ａ（ｎ））＝０（オフ）；
（７−８）  条件フラグＴ（Ａ（ｎ＋１））＝１（オン）、ビットＡ（ｎ＋１）＝１、結果信号Ｒ（Ａ（ｎ＋１））＝１の場合、次の条件フラグＴ（Ａ（ｎ））＝１（オン）。
【００９５】
ただし、実際には、上述した上位から３番目のビットＡ（５）の比較動作の説明から分かるように、構造上、条件フラグＴ（Ａ（ｎ＋１））及び上位から（８−（ｎ＋１））番目のビットＡ（ｎ＋１）が１である場合には、結果信号Ｒ（Ａ（ｎ＋１））は必ず１となるので、上記（７−６）はあり得ない。従って、夫々のＰＥに格納された画素データのｎ番目に上位のビットＡ（ｎ）を比較する動作では、上記（７−１）〜（７−５）、（７−７）及び（７−８）の場合が考えられ、このようにして、上位から（８−（ｎ＋１））番目のビットＡ（ｎ＋１）の比較結果が次の条件フラグＴ（Ａ（ｎ））に反映される。
【００９６】
このように、最下位ビットＡ（０）までの比較動作を完了すると、結果記憶回路５４２には、画素データの最下位ビットＡ（０）の比較結果が結果信号Ｒ（Ａ（０））として格納され、夫々のＰＥの条件レジスタ５０４には、一桁上位のビットＡ（１）の比較結果が反映された条件フラグＴ（Ａ（０））が格納されている。
【００９７】
最後に、判定回路５０８は、最下位ビットＡ（０）の比較結果を反映した最終の条件フラグＴ（Ｅ）を求めるために、結果記憶回路５４２に格納された結果信号Ｒ（Ａ（０））と、条件レジスタ５０４に格納された条件フラグＴ（Ａ（０））と、Ａレジスタ３３１に格納された画素データの最下位ビットＡ（０）とを判定条件として、条件レジスタ５０４に格納される最終の条件フラグＴ（Ｅ）の内容を決定する。判定回路５０８が最終の条件フラグＴ（Ｅ）を決定する条件は、以下通りである：
（８−１）  条件フラグＴ（Ａ（０））＝０（オフ）、ビットＡ（０）＝０、結果信号Ｒ（Ａ（０））＝０の場合、次の条件フラグＴ（Ｅ）＝０（オフ）；
（８−２）  条件フラグＴ（Ａ（０））＝０（オフ）、ビットＡ（０）＝１、結果信号Ｒ（Ａ（０））＝０の場合、次の条件フラグＴ（Ｅ）＝０（オフ）；
（８−３）  条件フラグＴ（Ａ（０））＝０（オフ）、ビットＡ（０）＝０、結果信号Ｒ（Ａ（０））＝１の場合、次の条件フラグＴ（Ｅ）＝０（オフ）；
（８−４）  条件フラグＴ（Ａ（０））＝０（オフ）、ビットＡ（０）＝１、結果信号Ｒ（Ａ（０））＝１の場合、次の条件フラグＴ（Ｅ）＝０（オフ）；
（８−５）  条件フラグＴ（Ａ（０））＝１（オン）、ビットＡ（０）＝０、結果信号Ｒ（Ａ（０））＝０の場合、次の条件フラグＴ（Ｅ）＝１（オン）；
（８−６）  条件フラグＴ（Ａ（０））＝１（オン）、ビットＡ（０）＝１、結果信号Ｒ（Ａ（０））＝０の場合、次の条件フラグＴ（Ｅ）＝１（オン）；
（８−７）  条件フラグＴ（Ａ（０））＝１（オン）、ビットＡ（０）＝０、結果信号Ｒ（Ａ（０））＝１の場合、次の条件フラグＴ（Ｅ）＝０（オフ）；
（８−８）  条件フラグＴ（Ａ（０））＝１（オン）、ビットＡ（０）＝１、結果信号Ｒ（Ａ（０））＝１の場合、次の条件フラグＴ（Ｅ）＝１（オン）。
【００９８】
ただし、実際には、以上の説明から分かるように、構造上、条件フラグＴ（Ａ（０））及び最下位ビットＡ（０）が１である場合には、結果信号Ｒ（Ａ（０））は必ず１となるので、上記（８−６）はあり得ない。従って、夫々のＰＥに格納された画素データの最下位ビットＡ（０）が反映された最終の条件フラグＴ（Ｅ）を求める動作では、上記（８−１）〜（８−５）、（８−７）及び（８−８）の場合が考えられる。
【００９９】
以上の動作により、最終的に、画素データの最大値を有するＰＥのみが、最終の条件フラグＴ（Ｅ）＝１を有することとなる。
【０１００】
このように、対象ビットの比較結果を条件フラグに反映する動作と、次の比較動作とを分離し、これら動作を同時並行して実行することにより、全体の処理時間を短縮化することが可能である。
【実施例２】
【０１０１】
〔構成〕
図６は、本発明のデータ処理装置の他の実施形態を示す図である。図６において、本発明のデータ処理装置は、ＳＩＭＤ型プロセッサとして表されており、全体で２５６個のＰＥを有し、更に、それらのＰＥをセグメントにグループ化することにより、画素データの比較動作を２段のパイプラインとして実現する。２５６個のＰＥは、１６個で１つのセグメントを形成する。
【０１０２】
ＳＩＭＤ型プロセッサは、１６個のセグメントＳ２＿０、Ｓ２＿１・・・Ｓ２＿１５に加え、第１及び第２の共通データバス６１及び６２と、これらのいずれか一方を選択し、その状態を反転して記憶する全バス接続制御部６００とを有する。全バス接続制御部６００は、第１の共通データバス６１又は第２の共通データバス６２のいずれか一方を選択し、その反転された状態を出力する選択器５４１と、選択器５４１により出力されたいずれか一方の共通データバスの反転状態を記憶する結果記憶回路５４２とを有する。
【０１０３】
夫々のセグメントＳ２＿０、Ｓ２＿１・・・Ｓ２＿１５は、１６個のプロセッサエレメントＰＥ２＿０、ＰＥ２＿１・・・ＰＥ２＿１５に加え、第３、第４、第５及び第６の共通データバス６０１、６０２、６０３及び６０４と、バス接続制御部６１０とを有する。
【０１０４】
プロセッサエレメントＰＥ２＿０、ＰＥ２＿１・・・ＰＥ２＿１５は、夫々、画素データを格納するＡレジスタ３３１と、条件フラグＴを格納する条件レジスタ５０４と、次の条件フラグＴ’を求める判定回路５０８と、第３〜第６の共通データバス６０１、６０２、６０３及び６０４の夫々と接地との間で直列接続され、これらの共通データバスにデータを出力する４組のＮＭＯＳトランジスタから成る出力ドライバと、Ａレジスタ３３１に格納されている画素データのビット情報及び条件レジスタ５０４に格納されている条件フラグＴに基づいて出力ドライバを駆動する条件回路６２０とを有する。
【０１０５】
バス接続制御部６１０は、第３及び第４の共通データバス６０１及び６０３のいずれか一方を選択し、その反転された状態を出力する第１のＰＥ選択器６１１と、第１のＰＥ選択器６１１により出力されたいずれか一方の共通データバスの反転状態を記憶する第１のＰＥ結果記憶回路６１２と、第１のＰＥ結果記憶回路６１２に格納されている内容を第１の共通データバス６１に出力する第１の出力ドライバと、第５及び第６の共通データバス６０２及び６０４のいずれか一方を選択し、その反転された状態を出力する第２のＰＥ選択器６１３と、第２のＰＥ選択器６１３により出力されたいずれか一方の共通データバスの反転状態を記憶する第２のＰＥ結果記憶回路６１４と、第２のＰＥ結果記憶回路６１４に格納されている内容を第２の共通データバス６２に出力する第２の出力ドライバとを有する。
【０１０６】
夫々のセグメントＳ２＿０、Ｓ２＿１・・・Ｓ２＿１５において、夫々のプロセッサエレメントＰＥ２＿０、ＰＥ２＿１・・・ＰＥ２＿１５は、条件回路６２０の動作に基づいて、出力ドライバを介して第３〜第６の共通データバスの夫々にデータを出力し、バス接続制御回路６１０は、第１及び第２のＰＥ選択器６１１及び６１３と、第１及び第２のＰＥ結果記憶回路６１２及び６１４とにより、第３〜第６の共通データバスの夫々の状態を選択して記憶し、更に、第１及び第２の出力ドライバを介して第１及び第２の共通データバス６１及び６２の夫々に出力する。次に、ＳＩＭＤ型プロセッサ全体として、全バス接続制御部６００は、選択器５４１により第１及び第２の共通データバス６１及び６２の夫々の状態を選択して反転し、結果記憶回路５４２により、選択器５４１により反転されたいずれか一方の共通データバスの状態を記憶し、記憶した内容を結果信号Ｒとして、選択器５４１と、セグメントＳ２＿０、Ｓ２＿１・・・Ｓ２＿１５の夫々のバス接続制御部６１０に含まれる第１及び第２のＰＥ選択器６１１及び６１３と、プロセッサエレメントＰＥ２＿０、ＰＥ２＿１・・・ＰＥ２＿１５の夫々に含まれる判定回路５０８とに供給する。
【０１０７】
なお、第１〜第６の共通データバスは、全てプリチャージバスであり、これらの共通データバスの夫々に対してプリチャージ及びチャージ保持を行うための回路が設けられる。しかし、この回路は、図の簡略化のため、図６に図示されていない。制御原理は、図５に示した共通データバス５０１及び５０２に対する制御と同じである。
【０１０８】
〔動作〕
図６のＳＩＭＤ型プロセッサにおいて、最大値の検出動作を説明する。
【０１０９】
Ａレジスタ３３１に格納されている画素データのビットＡ（ｎ）について比較動作が実行されるとすると、比較動作開始時点で、夫々のバス接続制御部６１０の第１及び第２のＰＥ結果記憶回路６１２及び６１４には、現在の比較対象ビットＡ（ｎ）よりも一桁上位のビットＡ（ｎ＋１）の比較結果Ｒ（Ａ（ｎ＋１））が格納されている。この比較結果Ｒ（Ａ（ｎ＋１））は、夫々のバス接続制御部６１０が属するセグメント内の１６個のプロセッサエレメントＰＥ２＿０、ＰＥ２＿１・・・ＰＥ２＿１５における比較結果である。全バス接続制御部６００は、セグメントＳ２＿０、Ｓ２＿１・・・Ｓ２＿１５の夫々のバス接続制御部６１０に格納されている比較結果の内容を更に比較する。この比較の対象は、現在の比較対象ビットＡ（ｎ）の一桁上位のビットＡ（ｎ＋１）である。このとき、全バス接続制御部６００の結果記憶回路５４２には、現在の比較対象ビットＡ（ｎ）よりも二桁上位のビットＡ（ｎ＋２）の比較結果Ｒ（Ａ（ｎ＋２））が格納されている。
【０１１０】
夫々のＡレジスタ３３１に格納されている画素データのビットＡ（ｎ）の内容が第３〜第６の共通データバス６０１〜６０４のうちのいずれか１つに出力される条件は、以下の通りである：
（９−１）  Ｒ（Ａ（ｎ＋２））＝０、Ｒ（Ａ（ｎ＋１））＝０である場合に、画素データのビットＡ（ｎ）の内容は、第３の共通データバス６０１に出力される；
（９−２）  Ｒ（Ａ（ｎ＋２））＝０、Ｒ（Ａ（ｎ＋１））＝１である場合に、画素データのビットＡ（ｎ）の内容は、第４の共通データバス６０２に出力される；
（９−３）  Ｒ（Ａ（ｎ＋２））＝１、Ｒ（Ａ（ｎ＋１））＝０である場合に、画素データのビットＡ（ｎ）の内容は、第５の共通データバス６０３に出力される；
（９−４）  Ｒ（Ａ（ｎ＋２））＝１、Ｒ（Ａ（ｎ＋１））＝１である場合に、画素データのビットＡ（ｎ）の内容は、第６の共通データバス６０４に出力される。
条件回路６２０は、このような条件を満足するように構成される。
【０１１１】
更に、ビットＡ（ｎ）の比較動作開始時点で、全バス接続制御部６００の結果記憶回路５４２に格納されている比較結果Ｒ（Ａ（ｎ＋２））は、結果信号として、夫々のバス接続制御部６１０の第１及び第２のＰＥ選択器６１１及び６１３に入力されている。第１のＰＥ選択器６１１は、結果信号Ｒ（Ａ（ｎ＋２））が０である場合には第３の共通データバス６０１を、結果信号Ｒ（Ａ（ｎ＋２））が１である場合には第５の共通データバス６０３を選択する。一方、第２のＰＥ選択器６１２は、結果信号Ｒ（Ａ（ｎ＋２））が０である場合には第４の共通データバス６０２を、結果信号Ｒ（Ａ（ｎ＋２））が１である場合には第６の共通データバス６０４を選択する。
【０１１２】
従って、夫々の第１及び第２のＰＥ結果記憶回路６１２及び６１４に格納されているビットＡ（ｎ＋１）の比較結果Ｒ（Ａ（ｎ＋１））の内容が第１の共通データバス６１又は第２の共通データバス６２のいずれか一方に出力される条件は、以下の通りである：
（１０−１）  Ｒ（Ａ（ｎ＋２））＝０である場合に、比較結果Ｒ（Ａ（ｎ＋１））の内容は、第１の共通データバス６１に出力される；
（１０−２）  Ｒ（Ａ（ｎ＋２））＝１である場合に、比較結果Ｒ（Ａ（ｎ＋１））の内容は、第２の共通データバス６２に出力される。
【０１１３】
また、全バス接続制御部６００の結果記憶回路５４２に格納されている比較結果Ｒ（Ａ（ｎ＋２））は、結果信号として、同じく全バス接続制御部６００内にある選択器５４１にも入力されている。選択器５４１は、結果信号Ｒ（Ａ（ｎ＋２））が０である場合には第１の共通データバス６１を、結果信号Ｒ（Ａ（ｎ＋２））が１である場合には第２の共通データバス６２を選択する。
【０１１４】
同時に、全バス接続制御部６００の結果記憶回路５４２に格納されている比較結果Ｒ（Ａ（ｎ＋２））は、結果信号として、夫々のプロセッサエレメントＰＥ２＿０、ＰＥ２＿１・・・ＰＥ２＿１５の判定回路５０８に入力されている。判定回路５０８は、入力された結果信号Ｒ（Ａ（ｎ＋２））と、条件レジスタ５０４に格納されている条件フラグＴと、比較対象ビットＡ（ｎ）よりも二桁上位のビットＡ（ｎ＋２）とを判定条件として、条件レジスタ５０４に格納される次の条件フラグＴ’の内容を決定する。判定回路５０８が次の条件フラグＴ’を決定する条件は、以下通りである：
（１１−１）  条件フラグＴ＝０（オフ）、ビットＡ（ｎ＋２）＝０、結果信号Ｒ（Ａ（ｎ＋２））＝０の場合、次の条件フラグＴ’＝０（オフ）；
（１１−２）  条件フラグＴ＝０（オフ）、ビットＡ（ｎ＋２）＝１、結果信号Ｒ（Ａ（ｎ＋２））＝０の場合、次の条件フラグＴ’＝０（オフ）；
（１１−３）  条件フラグＴ＝０（オフ）、ビットＡ（ｎ＋２）＝０、結果信号Ｒ（Ａ（ｎ＋２））＝１の場合、次の条件フラグＴ’＝０（オフ）；
（１１−４）  条件フラグＴ＝０（オフ）、ビットＡ（ｎ＋２）＝１、結果信号Ｒ（Ａ（ｎ＋２））＝１の場合、次の条件フラグＴ’＝０（オフ）；
（１１−５）  条件フラグＴ＝１（オン）、ビットＡ（ｎ＋２）＝０、結果信号Ｒ（Ａ（ｎ＋２））＝０の場合、次の条件フラグＴ’＝１（オン）；
（１１−６）  条件フラグＴ＝１（オン）、ビットＡ（ｎ＋２）＝１、結果信号Ｒ（Ａ（ｎ＋２））＝０の場合、次の条件フラグＴ’＝１（オン）；
（１１−７）  条件フラグＴ＝１（オン）、ビットＡ（ｎ＋２）＝０、結果信号Ｒ（Ａ（ｎ＋２））＝１の場合、次の条件フラグＴ’＝０（オフ）；
（１１−８）  条件フラグＴ＝１（オン）、ビットＡ（ｎ＋２）＝１、結果信号Ｒ（Ａ（ｎ＋２））＝１の場合、次の条件フラグＴ’＝１（オン）。
【０１１５】
ただし、実際には、構造上、条件フラグＴ及びビットＡ（ｎ＋２）が１である場合には、結果信号Ｒ（Ａ（ｎ＋２））は必ず１となるので、上記（１１−６）はあり得ない。従って、夫々のＰＥに格納された画素データのビットＡ（ｎ）を比較する動作では、上記（１１−１）〜（１１−５）、（１１−７）及び（１１−８）の場合が考えられ、このようにして、対象ビットＡ（ｎ）よりも二桁上位のビットＡ（ｎ＋２）の比較結果が次の条件フラグＴ’に反映される。
【０１１６】
このように、画素データの比較動作を２段に分け、夫々の段で要する比較時間を短縮することにより、全体の処理時間を短縮化することも可能である。
【０１１７】
以上、発明を実施するための最小の形態について説明を行ったが、本発明は、この最小の形態で述べた実施の形態に限定されるものではない。本発明の主旨を損なわない範囲で変更することが可能である。
【０１１８】
例えば、実施例において、本発明は、夫々のＰＥに格納された画像データの最大値を検出する場合について記述されていたが、最小値を検出する場合にも適用される。この場合には、画像データを取り扱う論理、即ち、０（オフ）・１（オン）を反転すれば良い。
【０１１９】
また、本発明は、ＳＩＭＤ型プロセッサに限らず、機能メモリ及びＣＡＭ（Ｃｏｎｔｅｎｔ  Ａｄｄｒｅｓｓａｂｌｅ  Ｍｅｍｏｒｙ）等でも実現可能である。
【図面の簡単な説明】
【０１２０】
【図１】特開２００２−２０７７０６号に開示されているＳＩＭＤ型プロセッサの実施形態を示す。
【図２】特開２００２−２０７７０６号に開示されているＳＩＭＤ型プロセッサの他の実施形態を示す。
【図３】本発明のデータ処理装置の概略の構成の一例を示す。
【図４】本発明のデータ処理装置の詳細な構成の一例を示す。
【図５】本発明のデータ処理装置の実施形態を示す。
【図６】本発明のデータ処理装置の他の実施形態を示す図である。
【符号の説明】
【０１２１】
３１  グローバルプロセッサ
３２  レジスタファイル
３３  演算アレイ
ＰＥ１＿０〜ＰＥ１＿２５５  プロセッサエレメント
３３１  Ａレジスタ
５０１，５０２，６１，６２，６０１〜６０４  共通データバス
５０４  条件レジスタ
５０８  判定回路
５４１，６１１，６１３  選択器
５４２，６１２，６１４  結果記憶回路
【図１】
2007272730.tif 000003
【図２】
2007272730.tif 000004
【図３】
2007272730.tif 000005
【図４】
2007272730.tif 000006
【図５】
2007272730.tif 000007
【図６】
2007272730.tif 000008