(57)【要約】【課題】  不良のＰＥがあっても、簡単な構成でプロセッサの救済および正常かつ速やかなデータ転送を常に行うことができるマイクロプロセッサを提供する。【解決手段】  複数のデータを処理するための複数のプロセッサエレメント４０を有するＳＩＭＤ型プロセッサ５１で、前記各プロセッサエレメント４０に対しあらかじめ備わるＲレジスタＲ０〜Ｒ３１とは別のレジスタ（不良フラグ）５３を設け、不良フラグ５３に外部からアクセスするためのデータ転送用ポートを設け、データ転送用ポートに各プロセッサエレメント４０のＲレジスタＲ０等と外部のメモリとの間でデータ転送を行うためのデータ転送装置（メモリコントローラ２１）を接続し、メモリコントローラ２１は、不良フラグ５３の値によって前記データ転送を抑止する。【選択図】図３
2005316887.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータを処理するための複数のプロセッサエレメントを有するＳＩＭＤ型プロセッサを備えたマイクロプロセッサにおいて、
前記各プロセッサエレメントに対しあらかじめ備わる汎用レジスタとは別のレジスタを設け、
前記汎用レジスタおよび前記レジスタに外部からアクセスするためのデータ転送用ポートを設け、
前記データ転送用ポートに前記各プロセッサエレメントの汎用レジスタと外部のメモリとの間でデータ転送を行うためのデータ転送装置を接続し、
前記データ転送装置は、前記レジスタの値によって前記データ転送を抑止することを特徴とするマイクロプロセッサ。
【請求項２】
前記レジスタは、自己のプロセッサエレメントの不良の有無を示す不良フラグであることを特徴とする請求項１に記載のマイクロプロセッサ。
【請求項３】
前記各プロセッサエレメントは、前記レジスタに命令インストラクションにより各プロセッサエレメント毎に個別のデータを設定することが可能であることを特徴とする請求項１または２に記載のマイクロプロセッサ。
【請求項４】
前記各プロセッサエレメントに前記レジスタとは別のレジスタを設け、
前記別のレジスタに命令インストラクションによって各プロセッサエレメント毎に個別のデータを設定することを可能にし、
前記データ転送装置は、前記レジスタの値と前記別のレジスタの値との論理演算結果によって前記データ転送を抑止することを特徴とする請求項１乃至３の何れか一つに記載のマイクロプロセッサ。
【請求項５】
前記各プロセッサエレメント毎に設定される前記個別のデータは、画像処理における変倍制御ビットであることを特徴とする請求項３乃至５の何れか一つに記載のマイクロプロセッサ。
【請求項６】
前記レジスタ、前記別のレジスタの値は、前記ＳＩＭＤ型プロセッサ内の前記各プロセッサエレメントのセルフテストの結果に基づいて設定されることを特徴とする請求項１乃至６の何れか一つに記載のマイクロプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＳＩＭＤ型プロセッサを構成する複数のプロセッサエレメントのうち何れかに不良が生じても、簡易な構成で問題無く所定の演算処理を並列に行い、かつ変倍処理にも適するマイクロプロセッサに関する。
【背景技術】
【０００２】
近年、製造プロセスの微細化によってＬＳＩの集積度は高まる一方であり、ＳＩＭＤ（Single Instruction Stream, Multiple Data Stream）型プロセッサにおいても演算ユニット（プロセッサエレメント）数の増加が可能となってきた。
ＳＩＭＤ型プロセッサでは、複数のプロセッサエレメント（以下、ＰＥという）により複数のデータに対して1つの命令で同時に同一の演算処理を実行することが可能である。この複数のＰＥは、演算は同一であるがデータ量が非常に多い処理（例えばデジタルコピアなどにおける画像処理）に係る用途において、頻用される。
ＳＩＭＤ型プロセッサにおける通常の画像処理では、複数のＰＥを主走査方向に並べ、同一の演算を同時に複数のデータに対して実行することによって高速な演算処理が可能となっている。
複数のＰＥで並列処理を行う構成のＳＩＭＤ型プロセッサにおいても、複数のＰＥのうち一つでも故障した場合、プロセッサ全体として故障となってしまうため、従来は、例えば冗長なＰＥを設けて正常なＰＥと置き換えるなどして、プロセッサ全体を救済するという手法が取られてきた。
【０００３】
即ち、従来、プロセッサ全体を救済する技術として、例えば第１に、故障している基本要素プロセッサがある場合、予備要素プロセッサで代替して基本となるアレー結合構造の再構成を行う際に、故障している基本要素プロセッサに隣接している基本要素プロセッサと予備プロセッサを接続するという高並列プロセッサの冗長構成方法が知られている（例えば特許文献１参照。）。
【０００４】
第２に、複数のＰＥそれぞれに設けられた可動・停止を制御する信号線を不良ＰＥに対して割り当てることなく、置き換え用の冗長ＰＥに割り当てる冗長切り替え装置を設け、これにより不良ＰＥが含まれる並列プロセッサを正常に動作させるという並列プロセッサの冗長切り替え装置が知られている（例えば特許文献２参照。）。
【０００５】
第３に、ＰＥの多数個を相互に結合し並列処理を行う際に、一つのＰＥと該ＰＥを回路に接続または切り離し、信号を通過させる機能を有する複数個の接続切り替え手段との組み合わせを複数個含むプロッセッシングモジュールを基本要素とし、同一構造をもつこれらのプロセッシングモジュールと、隣接するプロセッシングモジュール間を結ぶ１本以上の配線とで構成し、故障ＰＥ回避処理をＰＭ単位で行い、故障前のトポロジィを再現するという並列マシンが知られている（例えば特許文献３参照。）。
【０００６】
第４に、ｎ＋１個の記憶装置と、ｎ個の演算装置と、記憶装置が不良であるか否かの情報を保持するｎ個のレジスタと、レジスタの情報が記憶装置の不良を示す場合または前段からの切替信号をハイレベルで受けた場合にハイレベルの切替信号を次段の回路および同段の切替回路に出力する切替信号生成回路と、切替信号がローレベルのときは演算装置のデータ入出力ラインと記憶装置の入出力端子を接続し、切替信号がハイレベルに切替わると演算装置のデータ入出力ラインを記憶装置の入出力端子から次段の記憶装置の入出力端子に切り替え接続する切替回路とを設けたデータ処理装置が知られている（例えば特許文献４参照。）。
【０００７】
第５に、１個のプロセッサ部とプロセッサ部の第１の側に隣接する他のプロセッサ部とを接続する第１の通信経路と、プロセッサ部とプロセッサ部の第２の側に隣接する他のプロセッサとを接続する第２のデータ通信経路とを有し、プロセッサ部は、プロセッサ部の無効化制御回路と、無効化制御回路の作動による故障のプロセッサ部の無効化時に、第１のデータ通信経路から入力されたデータを第２のデータ通信経路に出力するバイパス回路とを有する半導体装置が知られている（例えば特許文献５参照。）。
【０００８】
第６に、一または複数の構成群に別の同じ付加的構成群の配属し、構成群の入力側にマルチプレクサを前置接続し、該マルチプレクサは、一つの構成群の入力バスを後続の構成群に接続することができ、構成群の出力側にマルチプレクサを後置接続し、該マルチプレクサは、後続の構成群のうち一つの構成群の出力バスを受け取ることができ、構成群の一つが故障した場合、マルチプレクサは、故障した構成群が後続の構成群によって、最後の構成群が付加的構成群によって置換されるという集積回路の修復方法が知られている（例えば特許文献６参照。）。
【０００９】
【特許文献１】特開平９−２２４００号公報
【特許文献２】特開平９−２８８６５２号公報
【特許文献３】特許第３００５２４３号公報
【特許文献４】特開２０００−１４８９９８号公報
【特許文献５】特開２００２−１６９７８７号公報
【特許文献６】特表２００１−５２７２１８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
このように、特開平９−２２４００号、特開平９−２８８６５２号、特許第３００５２４３号などの各号報に記載の従来例においては、不良プロセッサを置き換えるための冗長ＰＥを設けておき、故障しているＰＥがある場合には、ＰＥを特定する信号を冗長ＰＥに割り当てることで並列プロセッサを救済しており、特に、特開平９−２８８６５２号に記載の従来例においては、プロセッサ外部とのデータの受け渡しに関して、外部出力バスに対して３ステートバッファで出力する形態であり、バッファの出力イネーブル信号自体が故障ＰＥと冗長ＰＥとで切り替わるように構成されている。
これらはＰＥ数が少ない場合には有効な手法であるが、あらかじめ冗長なＰＥを必要とするため、ＰＥ数が多い場合には切り替えが必要な制御線の数が非常に多くなるとともに、構成面積の増大化、製造の複雑化、および製造コストの増大化を余儀なくされるという欠点がある。
【００１１】
また、特開２０００−１４８９９８号、特開２００２−１６９７８７号、特表２００１−５２７２１８号などの各号報に記載の従来例においては、隣接したＰＥからの出力信号と自身が出力する信号とを共有するマルチプレクサを各ＰＥが有し、故障しているＰＥでは隣接したＰＥからの出力信号をバイパスして出力することで並列プロセッサを救済しており、特に、特開２００２−１６９７８７号には何ら記載が無いが、特開２０００−１４８９９８号に記載の従来例においては、プロセッサ外部とのデータの受け渡しに関しては、シフトレジスタ構成を取ることで対応している。
これらは構成は簡単であるがシフトレジスタを用いるため、特定のＰＥよりも大きいＰＥのみのデータ転送を行うような場合であっても、特定のＰＥよりも小さいＰＥに関してもデータのシフトを行う必要が伴い、転送にかかる時間が多くなってしまうという欠点がある。
【００１２】
本発明は、上記課題に鑑み、ＳＩＭＤ型プロセッサにおいて不良のＰＥがあっても、簡単な構成で、プロセッサの救済および正常かつ速やかなデータ転送を常に行うことができるマイクロプロセッサを提供することを第１の目的とし、しかも画像処理に際しては、プロセッサの救済とともに変倍処理をも同時に行うことができるマイクロプロセッサを提供することを第２の目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するため、本発明は、複数のデータを処理するための複数のプロセッサエレメントを有するＳＩＭＤ型プロセッサを備えたマイクロプロセッサにおいて、前記各プロセッサエレメントに対しあらかじめ備わる汎用レジスタとは別のレジスタを設け、前記汎用レジスタおよび前記レジスタに外部からアクセスするためのデータ転送用ポートを設け、前記データ転送用ポートに前記各プロセッサエレメントの汎用レジスタと外部のメモリとの間でデータ転送を行うためのデータ転送装置を接続し、前記データ転送装置は、前記レジスタの値によって前記データ転送を抑止することを特徴とする。
【００１４】
前記レジスタは、自己のプロセッサエレメントの不良の有無を示す不良フラグであることを特徴とする。
【００１５】
前記各プロセッサエレメントは、前記レジスタに命令インストラクションにより各プロセッサエレメント毎に個別のデータを設定することが可能であることを特徴とする。
【００１６】
前記各プロセッサエレメントに前記レジスタとは別のレジスタを設け、前記別のレジスタに命令インストラクションによって各プロセッサエレメント毎に個別のデータを設定することを可能にし、前記データ転送装置は、前記レジスタの値と前記別のレジスタの値との論理演算結果によって前記データ転送を抑止することを特徴とする。
【００１７】
前記各プロセッサエレメント毎に設定される前記個別のデータは、画像処理における変倍制御ビットであることを特徴とする。
【００１８】
前記レジスタ、前記別のレジスタの値は、前記ＳＩＭＤ型プロセッサ内の前記各プロセッサエレメントのセルフテストの結果に基づいて設定されることを特徴とする。
【発明の効果】
【００１９】
本発明によれば、各プロセッサエレメントのうち、何れかのプロセッサエレメントに不良があるとしても、不良のプロセッサエレメントの悪影響を除き、ＳＩＭＤ型プロセッサ全体を救済することができ、このため不良のプロセッサエレメントがあっても、常に正常に等しい演算処理を行って、正常にデータ転送（送信または受信）を行うことができる。
また、本発明によれば、何れかのプロセッサエレメントに不良があっても、ＳＩＭＤ型プロセッサを救済するとともに確実に変倍処理（または任意の変倍率の変倍処理）をも行うことが可能であり機能的にも向上する。
【発明を実施するための最良の形態】
【００２０】
まず、図１および図２を参照して、本発明の前提となる技術について説明する。図１は本発明の前提となる技術の概略構成を示すブロック図であり、図２は本発明の前提となる技術の部分的な詳細構成を示すブロック図である。
【００２１】
本発明の前提となる技術は、即ち、図１に示すように、ＳＩＳＤ（Single Instruction stream Single Data stream）型のプロセッサであるグローバルプロセッサ（以下、ＧＰという）１３と、ＳＩＭＤ（Single Instruction stream Multiple Data stream）型プロセッサ（図２参照）１１を構成するプロセッサエレメントグループ１５、および、データ転送装置としてのメモリコントローラ２１に接続される外部インタフェース１７を備えたマイクロプロセッサである。
【００２２】
ＧＰ１３は、メモリコントローラ２１およびプロセッサエレメントグループ１５を制御する。ＧＰ１３は、具体的には、メモリコントローラ２１を起動し、外部のメモリ２３から画像データ等を読み取らせるとともに、外部インタフェース１７を介してプロセッサエレメントグループ１５のレジスタファイル３１内の所定の汎用レジスタ（後述するＲレジスタ）に格納させ、かつ演算アレイ３３を制御してその画像データ等に同一の演算処理を行わせ、レジスタファイル３１内の他の汎用レジスタ（Ｒレジスタ）に格納させる。そして、ＧＰ１３は、メモリコントローラ２１を起動し、外部インタフェース１７を介してその演算処理後の画像データ等を取り込ませるとともに、外部のメモリ２３に書き込ませる。
【００２３】
尚、ＧＰ１３は、同一のメモリコントローラ２１を制御し、同一の外部のメモリ２３に対する画像データ等のリード／ライトを行わせるものとは必ずしも限らず、別のメモリコントローラを制御して演算処理後の画像データ等を別の外部のメモリに書き込ませる場合もある。
【００２４】
メモリコントローラ２１は、概略的には、ＧＰ１３からの所定の命令に基づいて、外部インタフェース１７を制御するとともに、例えばディジタル複写機やファクシミリ等のＣＣＤセンサ等を含む画像入力系等に備わるメモリ（シングルポートメモリ：ＲＡＭ）２３から演算対象となる画像データ等を順次に読み出して、外部インタフェース１７を介しプロセッサエレメントグループ１５内の各プロセッサエレメント（以下、ＰＥという）のレジスタファイル（後述するＲレジスタ）３１に一時的に記憶する制御、および、一時記憶後の画像データ等の演算アレイ３３による演算処理の結果（画像データ等）を外部インタフェース１７を介しメモリ２３に格納する制御を行う。メモリ２３に格納された演算後の画像データ等は、例えばディジタル複写機やファクシミリ等の静電潜像形成、現像、用紙への転写等を行う画像形成系等に出力される。
【００２５】
即ち、メモリコントローラ２１は、各Rレジスタ毎に備わっている各外部インタフェース１７毎に設けられており、具体的には、図４に示すように、メモリ（ＲＡＭ）２３に画像データをライトする際に用いるライトバッファ７１、メモリ２３から画像データをリードする際に用いるリードバッファ７３、ＰＥのレジスタファイル３１へのアクセスを行うべく外部インタフェース１７を制御する外部Ｉ／Ｆ制御部７５、メモリ２３への画像データの記録、読み出し、演算後の画像データの記録を制御するＲＡＭ制御部７７、および、全体を制御するシーケンスユニット（以下、ＳＣＵという）７９を備えている。
【００２６】
メモリコントローラ２１は、ＳＩＭＤ型プロセッサを構成するプロセッサエレメントグループ１５のレジスタファイル３１と外部インタフェース１７内のデータ転送ポート（図示せず：出力ポートと入力ポートを備える）を介して接続されており、レジスタファイル３１からメモリ２３へのデータ転送、および、メモリ２３からレジスタファイル３１へのデータ転送を制御する。メモリコントローラ２１が制御するレジスタは、Ｉ／Ｏ空間にマッピングされており、ＧＰ１３からの要求に従いリード、ライトの制御が可能となっている。
【００２７】
ライトバッファ７１にはＳＩＭＤ型プロセッサ１１の外部インタフェース１７の出力ポートが接続され、リードバッファ７３には外部インタフェース１７の入力ポートが接続される。データ転送ポートは、それぞれ偶数ＰＥ用と奇数ＰＥ用の入力ポート、および出力ポートを独立して有しており、1サイクルで一度に偶数、奇数の１組のＰＥ分のデータがアクセス可能に構成されている。
【００２８】
また、ライトバッファ７１、リードバッファ７３とメモリ２３との間のデータバスは、それぞれ４ＰＥ分のデータ幅で構成されており、1サイクルで一度に４ＰＥ分のデータをアクセスできる。尚、１ＰＥ分のデータは8ｂｉｔとしており、外部インタフェース１７とライトバッファ７１、およびリードバッファ７３との間のデータバスのｂｉｔ幅は１６ｂｉｔで構成される。従って、メモリコントローラ２１とメモリ２３との間のｂｉｔ幅は３２ｂｉｔで構成される。
【００２９】
この結果、外部インタフェース１７のデータ転送ポートとメモリコントローラ２１との間のデータ転送を２回行う間に、メモリ２３とメモリコントローラ２１との間のデータ転送を１回実行すれば良いことになる。メモリコントローラ２１のライトバッファ７１は、各ＰＥの外部インタフェース１７より出力されたデータを２回取り込み、４個のＰＥ分のデータが格納された後、メモリ２３に転送する動作を行っている。また、リードバッファ７３は、メモリ２３から読み出した４個のＰＥ分のデータを２回に分けて、各ＰＥの外部インタフェース１７に転送する動作を行っている。
【００３０】
一方、ＳＣＵ７９には、外部インタフェース１７の制御ビット用ポート（図示せず）が接続されており、制御ビット用ポートを介して、データ転送の際に転送抑止データをリードし、データ転送の制御を行う。
【００３１】
次に、図２を参照して、ＧＰ１３、およびＳＩＭＤ型プロセッサを構成するＰＥの具体的な構成について説明する。ＧＰ１３は、図２に示すように、具体的には、第１に、各ＰＥ４０を制御するプログラムを格納するプログラムＲＡＭ４１、演算データ格納用のデータＲＡＭ４３が内蔵されている。
【００３２】
ＧＰ１３は、第２に、プログラムのアドレスを保持するプログラムカウンタＰＣ、演算処理のデータ格納用の汎用レジスタＧ０，Ｇ１，Ｇ２，Ｇ３、レジスタ退避、復帰時にデータＲＡＭ４３の退避先アドレスを保持するスタックポインタＳＰ、サブルーチンコール時にコール元のアドレスを保持するリンクレジスタＬＳ、同じくＩＲＱ（割込み信号入力）時とＮＭＩ（優先度の高い割込み処理）時の分岐元アドレスを保持するレジスタＬＩ，ＬＮ、および、ＧＰ１３の状態を保持するプロセッサステータスレジスタＰが内蔵されている。
【００３３】
ＧＰ１３は、第３に、詳しく図示しないが、所定の命令を実行するための命令デコーダ、ＡＬＵ（算術論理演算装置）、メモリ制御回路、割り込み制御回路、外部Ｉ／Ｏ制御回路、および、ＧＰ演算制御回路が内蔵されている。
【００３４】
また、ＧＰ１３は、ＰＥ命令実行時は、図示しないが、命令デコーダ、レジスタファイル制御回路、ＰＥ演算制御回路を使用して、プロセッサエレメントグループ１５内の各ＰＥ４０のレジスタファイル３１の制御、各ＰＥ４０の演算アレイ（後述する算術論理演算装置を含む）３３の制御、および、各ＰＥ４０の７ｔｏ１マルチプレクサ（以下、７ｔｏ１ＭＵＸという）３５の制御を行う。
【００３５】
一方、各ＰＥ４０は、図２に示すように、第１に、例えばメモリ２３から読み出した１画素の画像データ（Ｄａｔａ）を選択的に一時的に記憶する例えば２４個の８ｂｉｔレジスタ（以下、Ｒレジスタという）Ｒ０〜Ｒ２３、および、後述する演算後の１画素の画像データを選択的に一時的に記憶する例えば８個の８ｂｉｔレジスタ（以下、Ｒレジスタという）Ｒ２４〜Ｒ３１を備えている。
【００３６】
各ＲレジスタＲ０〜Ｒ３１は、後述する算術論理演算装置４７に対する一つの読み出しポートと一つの書き込みポートとを備えており、８ｂｉｔのリード／ライト兼用のバスＢ１を介して後述する演算アレイからアクセスされる。各ＲレジスタＲ０〜Ｒ３１のうち、特にＲレジスタＲ０〜Ｒ２３は、外部からアクセスするためのデータ転送用ポートを備えており、外部インタフェース１７を介し外部のメモリコントローラ２１乃至メモリ２３との間で画像データ等のデータ転送を行うことが可能である。
【００３７】
殊に、メモリコントローラ２１は、アドレス信号（Ａｄｄｒｅｓｓ）、クロック信号（ＣＬＫ）、リード／ライト制御信号（ＲＷＢ）を出力することで任意のＲレジスタＲ０〜Ｒ２３の読み書きが可能であることは上述した通りである。
【００３８】
各ＰＥ４０は、前述のＲレジスタＲ０〜Ｒ３１を備えるとともに、例えば２５６組の配列構成となっており、この場合、Ｒレジスタの総数は８１９２個になる計算である。但し、ＰＥ４０は、例えば１０２４組の配列構成を採用する態様もある。
【００３９】
各ＰＥ４０は、第２に、７ｔｏ１ＭＵＸ３５、シフト＆拡張回路（ＳｈｉｆｔＥｘｐａｎｄ：以下、ＳＥという）４５、１６ｂｉｔの算術論理演算装置（以下、ＡＬＵという）４７、Ａレジスタ４８、およびＦレジスタ４９を備えている。また、各ＰＥ４０は、詳しく図示しないが、８ｂｉｔの条件レジスタを備えており、各ＰＥ４０毎に演算実行の無効／有効の制御が可能である。これにより特定のＰＥ４０を演算対象として選択することができる。
【００４０】
尚、演算アレイとして、本例の場合はアキュムレータ方式を採用しているが、汎用レジスタ方式等を用いても良いことは勿論である。
【００４１】
７ｔｏ１ＭＵＸ３５は、各ＲレジスタＲ０〜Ｒ３１を接続するバスＢ１に接続されるとともに、両隣三つの各ＰＥ４０のバスＢ１にも接続されており、合計七つのＰＥ４０の各ＲレジスタＲ０〜Ｒ３１から一つのＲレジスタＲ０等へのアクセス、もしくはＲレジスタＲ２４等へのアクセスを選択する。即ち、７ｔｏ１ＭＵＸ３５は、ＧＰ１３からの選択指令に基づいて選択したＲレジスタＲ０等に一時的に記憶された画像データ等をＳＥ４５に出力する場合、および、演算後の画像データ等をＲレジスタＲ２４等に一時的に記憶させる場合の何れかの処理を行う。これにより７ｔｏ１ＭＵＸ３５は、両隣三つのＰＥ４０を含め七つのＰＥ４０の各ＲレジスタＲ０〜Ｒ２３に保持されている画像データのうち何れかを利用してＡＬＵ４７に演算処理を行わせることを可能にし演算能力を高める。
【００４２】
ＳＥ４５は、７ｔｏ１ＭＵＸ３５からの画像データ等を所定ビットシフトしＡＬＵ４７に出力するか、ＡＬＵ４７からの演算後の画像データ等を所定ビットシフトし７ｔｏ１ＭＵＸ３５に出力するかの何れかの処理を行う。尚、ＳＥ４５の処理には例えば画像データ等にゼロ拡張や所定の定数倍に処理する場合もが含まれるものである。
【００４３】
ＡＬＵ４７は、ＳＥ４５からの画像データと、Ａレジスタ４８に保持されたデータに基づいて所定の算術論理演算を行う。ＡＬＵ４７は、１６ｂｉｔの画像データ等に対応することが可能である。演算後のデータは、Ａレジスタ４８に記憶される他、該データをＦレジスタ（テンポラリレジスタ）４９に記憶する。これらはＧＰ１３により制御される。
【００４４】
次に、メモリコントローラ２１と、各ＰＥ４０の動作の概要について説明する。外部のメモリ２３には、例えばスキャナ等から取り込んだ１ライン分の画像処理（演算処理）前の画像データが格納されているものとする。ＧＰ１３からの要求に基づいてメモリコントローラ２１がメモリ２３内の画像データを読み出すとともに、各ＰＥ４０の例えばＲレジスタＲ０等に転送し一時的に記憶させる。
【００４５】
続いて、各ＰＥ４０は、全体として例えば２５６画素の画像データに対して画像処理（所定の演算処理）を行う。演算処理には例えば数１００回の演算を経て出力画像が形成される。演算後の画像データは、ＧＰ１３からの要求により例えば各ＰＥ４０のＲレジスタＲ１に一時的に記憶される。ＧＰ１３からの要求により所定のメモリコントローラ（例えば別のメモリコントローラ）を起動させ、各ＲレジスタＲ１に記憶された演算後の画像データを外部のメモリ（例えば別のメモリ）に格納する。
【００４６】
画像処理を行うべき画像データの横幅（主走査方向の画素数）が２５６以内であれば上記の動作を行うことで１ライン分の処理が終了する。画像データの横幅が２５６以上であれば上述の処理を複数回に分けて行うことで１ライン分の処理が終了する。後は、これを縦方向の画素数（副走査方向の画素数）回だけ繰り返すことで画像処理（演算処理）が完了する。
【００４７】
以下、図３乃至図９を参照して、本発明の第１の実施の形態に係るマイクロプロセッサについて説明する。本実施の形態のマイクロプロセッサもＳＩＭＤ型プロセッサに適用される。図３は本実施の形態のＳＩＭＤ型プロセッサおよびＧＰ１３の詳細構成を示すブロック図である。尚、図３において図２に示した部分と同一部分には同一の符号を付して説明を省略する。
【００４８】
本例のＳＩＭＤ型プロセッサ５１は、図３に示すように、各ＰＥ４０に対して、不良フラグ５３、ＩＤレジスタ５５、Ｔレジスタ５７、二つのＭＰＸ５９，６１、および、ＰＥ選択部６３を新たに備えたものである。
【００４９】
各不良フラグ５３は、１ｂｉｔのレジスタであり、ＧＰ１３のプログラムＲＡＭ４１に格納されたセルフテストのプログラム実行に伴い、自己のＰＥ４０が正常に動作するか否かをセルフテストした結果として、自己のＰＥ４０が不良であるか否かを示す情報がセットされる。各不良フラグ５３は、自己のＰＥ４０が正常である場合は例えば‘０’にセットされ、不良である場合は‘１’にセットされる。各不良フラグ５３は、シフトレジスタで構成されており、ＧＰ１３から各々の値が‘０’であるか‘１’であるかの設定を行うことが可能である。
【００５０】
不良フラグ５３は、外部（メモリコントローラ２１）からのアクセスを中継する外部インタフェース１７との接続を図るためのデータ転送用ポート（図示せず）と接続されており、不良フラグ５３の値によりメモリコントローラ２３等に対しデータ転送を抑止させることが可能である。データ転送には、主に演算前もしくは演算後の画像データ等のデータ転送が含まれる。
【００５１】
不良フラグ５３の値は、転送用ポートから外部インタフェース１７を介して外部のメモリコントローラ２１等に出力し、メモリコントローラ２１に不良のＰＥ４０を認識させることが可能である。不良フラグ５３の値も、外部のメモリコントローラ２１からのアクセスが偶数のＰＥ４０と奇数のＰＥ４０との１組で１つのデータとして行われるので、偶数ＰＥ４０用と奇数ＰＥ４０用との２ｂｉｔが１回のアクセスで外部のメモリコントローラ２１へ伝達される。
【００５２】
ＩＤレジスタ５５は、自己のＰＥ４０が例えば図示最も左側（最初）のＰＥ４０から数えて何番目のＰＥであるかを示すデータが格納される。即ち、後述するセルフテストの際に判明した不良のＰＥ４０を除いて‘０’から順にインクリメントした数が格納される。ＩＤレジスタ５５の値は、データバスを介してＡＬＵ（１６ｂｉｔＡＬＵ）４７に入力されており、ＡＬＵ４７においてＧＰ１３からの即値データと比較した結果がＴレジスタ５７に反映される。
【００５３】
画像処理においては、ディザテーブルのロード等のように、例えば四つおきのＰＥ４０に同一の値をロードするといった処理が必要になる場合があるが、ＩＤレジスタ５５を内蔵することによって不良のＰＥ４０があっても対応することが可能となる。
【００５４】
Ｔレジスタ５７は、詳しくは、図５に示すように、マルチプレクサ６４、フラグとしての１ｂｉｔの複数のレジスタＴ７〜Ｔ０、マルチプレクサ６５、および、不良フラグ５３の反転入力とマルチプレクサ６５の出力とのアンドを取るアンド回路６７を備えている。マルチプレクサ６４は、各ＰＥ４０のＡＬＵ４７から出力される演算フラグ（図示せず）の値と、レジスタＴ７〜Ｔ０を初期化するためにデータバスからのデータとを入力し、演算結果に応じてレジスタＴ７〜Ｔ０の何れかを設定することが可能である。マルチプレクサ６５は８組あるレジスタＴ７〜Ｔ０の中の一つを演算種別の条件として選択するために備えられている。アンド回路６７は、不良のあるＰＥ４０では選択された結果が常にネゲート（否定）されており、不良ＰＥでは演算を行わせない。即ちアンド回路６７は、マルチプレクサ６５の出力を入力するとともに不良フラグ５３の出力を反転入力し、マルチプレクサ６５で選択された演算実行が肯定された場合に、その旨を示す出力をＡレジスタ４８、Ｆレジスタ４９、および、ＭＰＸ５９に反映させ、常に１６ｂｉｔＡＬＵ４７の演算実行の無効／有効を制御する。
【００５５】
ＭＰＸ５９は、ＧＰ１３における即値１データバスからの即値データを入力する一方で、シフタ（即ち図２に示すＳＥと同一：以下、シフタという）４５からの画像データ等を入力し、画像データ等をＡＬＵ４７に転送する。尚、即値データは、全ＰＥ４０に共通にデータを設定する場合等に使用されるもので、命令中に記載されている値のことである。
【００５６】
ＭＰＸ６１は、ＧＰ１３における即値２データバスからの即値データを入力する一方で、Ａレジスタ４８からのデータを入力し、Ａレジスタ４８からのデータをＡＬＵ４７に転送する。尚、この場合の即値データも、全ＰＥ４０に共通にデータを設定する場合等に使用されるもので、命令中に記載されている値のことである。
【００５７】
例えば上記ディザテーブルのロード等のように、例えば４つおきのＰＥ４０に同一の値をロードするといった処理が必要になった場合には、各ＰＥ４０のＡＬＵにおいて、ＩＤレジスタの値と、ＧＰから供給される即値データ“３”とのＡＮＤ演算を行い演算結果をＡレジスタに格納する（Ｓｔｅｐ１）。
次にＡレジスタの値と、ＧＰから供給される即値データ“０”との比較を行い比較結果の演算フラグの値（Ｚフラグ（演算結果が等しい場合に“１”になるフラグ）をＴレジスタのＴ１フラグに格納する（Ｓｔｅｐ２）。
同様にＡレジスタの値と、ＧＰから供給される即値データ“１”との比較結果のＺフラグの値をＴ２フラグに格納する（Ｓｔｅｐ３）。
同様にＡレジスタの値と、ＧＰから供給される即値データ“２”との比較結果のＺフラグの値をＴ３フラグに格納する（Ｓｔｅｐ４）。
同様にＡレジスタの値と、ＧＰから供給される即値データ“３”との比較結果のＺフラグの値をＴ４フラグに格納する（Ｓｔｅｐ５）。
このようにすると、ＰＥ番号が（４ｎ）のＰＥはＴ１に“１”が、ＰＥ番号が（４ｎ＋１）のＰＥはＴ２に“１”が、ＰＥ番号が（４ｎ＋２）のＰＥはＴ３に“１”が、そしてＰＥ番号が（４ｎ＋３）のＰＥはＴ４に“１”が格納されるので、この４つのフラグ（Ｔ１〜Ｔ４フラグ）を使えば、４つおきのＰＥ毎に同一の値をロードすることが可能となることがわかる。
【００５８】
ＡＬＵ４７は、前述と同じく、シフタ４５からの画像データ等と、Ａレジスタ４８からのデータに基づいて所定の算術論理演算を行う。ＡＬＵ４７は、１６ｂｉｔの画像データ等に対応することが可能である。演算後のデータは、Ａレジスタ４８に記憶される他、該データをＦレジスタ（テンポラリレジスタ）４９に記憶する場合がある。これらはＧＰ１３により制御される。
【００５９】
ＰＥ選択部６３は、第１に、自己のＰＥ４０においてＲレジスタＲ０〜Ｒ３１に接続するバスＢ１に接続し、第２に、各ＰＥ４０の配列方向に対し前方（図示左方向）の三つ隣分、および四つ目の隣分の各々のＰＥ４０においてＲレジスタＲ０〜Ｒ３１に接続する各バスＢ１に個別に接続し、第３に、各ＰＥ４０の配列方向に対し後方（図示右方向）の三つ隣分、および四つ目の隣分の各々のＰＥ４０においてＲレジスタＲ０〜Ｒ３１に接続する各バスＢ１に個別に接続する合計九つの配線経路６８を備えており、その何れかのＰＥ４０のＲレジスタＲ０〜Ｒ３１との選択的なアクセスを可能にする所謂９ｔｏ１のマルチプレクサとしての構成を含む。
【００６０】
即ち、ＰＥ選択部６３は、例えばＧＰ１３からの選択命令により自己に関係する全九つのＰＥ４０のうち、一つのＰＥ４５のＲレジスタＲ０〜Ｒ３１とのアクセスを選択する。尚、前方および後方の各四つ目の隣にあたるＰＥ４０は、各三つ隣のＰＥ４０のうち何れかに不良が生じた場合に対応する救済用乃至予備用として扱うものである。
【００６１】
また、各ＰＥ選択部６３は、自己に関係する全九つのＰＥ４０のうち、自己および両隣三つ分のＰＥ４０の不良フラグ５３の値（特に不良の場合を示す‘１’の値）が入力されるものであり、例えば自己の前方の１つ隣のＰＥ４０に不良がある場合は、前方の２つ隣のＰＥ４０のＲレジスタＲ０〜Ｒ３１とのアクセスを選択する。以下、同様に不良のＰＥ４０がある場合は、その一つ外隣のＰＥ４０のＲレジスタＲ０〜Ｒ３１とのアクセスを選択する。
【００６２】
ＰＥ選択部６３は、図６に示すように、一例として論理回路を含めて構成し、入力（命令の入力）には、まず各三つ隣分の不良フラグ５３からの不良を示す出力（即ち‘１’）の入力があり、その他、現在実行中の命令が、どのＰＥ４０に格納されている画像データを参照するのかを示す例えばＧＰ１３からの次の７通りの制御信号の入力がある。即ち、Ｃ＿ｅｎは自己のＰＥ４０の参照命令が発行された時にアクティブになる制御信号であり、Ｌ１＿ｅｎは一つ前のＰＥ４０の参照命令が発行された時にアクティブになる制御信号であり、Ｌ２＿ｅｎは二つ前のＰＥ４０の参照命令が発行された時にアクティブになる制御信号であり、Ｌ３＿ｅｎは三つ前のＰＥ４０の参照命令が発行された時にアクティブになる制御信号であり、Ｕ１＿ｅｎは一つ後のＰＥ４０の参照命令が発行された時にアクティブになる制御信号であり、Ｕ２＿ｅｎは二つ後のＰＥ４０の参照命令が発行された時にアクティブになる制御信号であり、Ｕ３＿ｅｎは三つ後のＰＥ４０の参照命令が発行された時にアクティブになる制御信号である。
【００６３】
また、論理回路の制御信号には、各々のＰＥ４０で実際に開かれる配線経路（即ち各ＰＥ４０のＲレジスタに通じるバスＢ１に接続する配線経路）が何れの経路であるかを決定する次の９通りの制御信号がある。即ち、Ｃ＿ｅｎａｂｌｅは自己のＰＥ４０（即ちＲレジスタＲ０等：以下、省略する）を参照するゲートを開く制御信号であり、Ｌ１＿ｅｎａｂｌｅは一つ前のＰＥ４０を参照する経路のゲートを開く制御信号であり、Ｌ２＿ｅｎａｂｌｅは二つ前のＰＥ４０を参照する経路のゲートを開く制御信号であり、Ｌ３＿ｅｎａｂｌｅは三つ前のＰＥ４０を参照する経路のゲートを開く制御信号であり、Ｌ４＿ｅｎａｂｌｅは四つ前のＰＥ４０を参照する経路のゲートを開く制御信号である。Ｕ１＿ｅｎａｂｌｅは一つ後のＰＥ４０を参照する経路のゲートを開く制御信号であり、Ｕ２＿ｅｎａｂｌｅは二つ後のＰＥ４０を参照する経路のゲートを開く制御信号であり、Ｕ３＿ｅｎａｂｌｅは三つ後のＰＥ４０を参照する経路のゲートを開く制御信号であり、Ｕ４＿ｅｎａｂｌｅは四つ後のＰＥ４０を参照する経路のゲートを開く制御信号である。
【００６４】
一方、ＰＥ選択部６３の論理回路の構成は、図６に示す構成を有するものであり、図面上から明らかであるため詳しい説明は省略する。
【００６５】
以上、ＰＥ選択部６３は、上述の論理回路の構成を含むことにより、自己に関係する全九つのＰＥ４０のうち、ＧＰ１３からの命令に基づいて自己がアクセスすべき隣接するＰＥ４０に不良がある場合には、さらに１つ隣のＰＥ４０のＲレジスタＲ０等にアクセスすることが可能であり、これによりＳＩＭＤ型プロセッサ５１全体を救済し、良好な処理および正常なデータ転送を行うことができる。
【００６６】
尚、予備の配線経路を増やせば二つ以上の故障がある場合でも対応は出来るが回路規模の増加と故障頻度を考えた場合には本実施の形態に示す程度が最適である。
【００６７】
次に、セルフテスト後の本実施の形態の動作の要点について説明する。図７は、メモリコントローラ２１を用いて例えばライト制御およびリード制御を行う場合のデータの流れを示す概念図である。
【００６８】
図７に示す転送抑止データは、データ転送と同期して、各ＰＥ４０の不良フラグ５３の値が外部インタフェース１７の制御ビット用ポートを介して読み出され、故障しているＰＥに関してデータ転送を抑止するために用いられる。転送抑止データは、正常なＰＥ４０では‘０’が、不良のＰＥ４０では‘１’が読み出される。
【００６９】
メモリコントローラ２１がライト制御（ＰＥ４０のＲレジスタＲ０等からメモリ２３への転送）を行う場合は、転送抑止データが各々‘０’であるＰＥ４０のデータＤ０，Ｄ２，Ｄ４等のみがＳＣＵ７９及びＲＡＭ制御部７７の制御に基づいてメモリ２３に格納される。即ち、転送抑止データが各々‘１’であるＰＥ４０のデータＤ１，Ｄ３等はＳＣＵ７９の制御に基づいてメモリ２３に格納されず間引かれる。
【００７０】
また、メモリコントローラ２１がリード制御（メモリ２３からＰＥ４０のＲレジスタＲ０等への転送）を行う場合、転送抑止データが各々‘１’であるＰＥ４０に対してはメモリ２３からのデータを更新せず、一つＰＥ番号が少ないＰＥ４０に対して転送したデータＤ０、Ｄ１等と同一のデータを転送する。
【００７１】
かかる構成によれば、不良のＰＥ４０があっても、メモリ２３と、各ＰＥ４０に内蔵されるＲレジスタＲ０等との間でのデータ転送を正しく行うことが可能となり、ＳＩＭＤ型プロセッサ５１を有効に救済することが可能である。
【００７２】
尚、セルフテストのプログラムは、例えば上位のホストプロセッサ等からプログラムＲＡＭ４１にダウンロードする。
【００７３】
一方、メモリコントローラ２１は、図４に示すように、ＳＣＵ７９が、各不良フラグ５３に基づく外部インタフェース１７からの制御データの出力を入力することで不良のＰＥ４０を認識することが可能である。尚、本処理に関する処理以外は、メモリコントローラ２１とＳＩＭＤ型プロセッサ５１との関係は、図２に示したメモリコントローラ２１とＳＩＭＤ型プロセッサ１１との関係と同様であり詳しい説明は省略する。
【００７４】
ところで、図８に示すように、外部インタフェースを介してＲレジスタを制御しているレジスタコントローラ６９は、各偶数、各奇数のＰＥ４０に備わる図６および図７にレジスタとして示す各ＲレジスタＲ０等に対し個別に設けられているものである。レジスタコントローラ６９の動作は前述の例と同様であり、詳しくは、第１に、外部インタフェース１７を介しメモリコントローラがアクセスを行う所定のＰＥ４０のアドレスを入力し、かつライト制御の信号を入力した場合は、例えばＲレジスタＲ０等のポートＷ１にライト指示の信号を出力し、例えばＲレジスタＲ０等に、外部インタフェース１７を介し転送される画像データ等をポートＤ１から取り込ませ一時的に記憶させる。第２に、外部インタフェース１７を介しリード制御の信号を入力した場合は、例えばＲレジスタＲ０等のポートＲ１にリード指示の信号を出力し、例えばＲレジスタＲ０等に、ポートＤ１を通して外部インタフェース１７に対し一時記憶済みの演算後の画像データ等を転送させる。
【００７５】
一方、例えばＲレジスタＲ０等は、例えばＧＰ１３からのリード制御の信号をポートＲ２から入力した場合は、記憶後の画像データ等をポートＤ２を通してＰＥ選択部６３に転送する。また、ＲレジスタＲ０等は、例えばＧＰ１３からのライト制御の信号をポートＷ２から入力した場合は、ＰＥ選択部６３からの演算後の画像データ等をポートＤ２から取り込んで一時的に記憶する。尚、記憶後における演算後の画像データ等は、レジスタコントローラ６９の前記第２の制御に従い外部インタフェース１７を介し外部のメモリコントローラ２１に転送される。
【００７６】
次に、図９に示すフローチャートを参照してセルフテストを行う際のＧＰ１３の処理動作について説明する。まず、ステップ８０１において電源投入を行った後、ステップ８０２において例えば上位のホストコンピュータ等から自己検査プログラムをダウンロードし、かつステップ８０３においてＧＰ１３の検査を開始する。そして、ステップ８０４において、ＧＰ１３の検査結果がＯＫであるか否かを判定する。
【００７７】
ＧＰ１３の検査結果がＮＧである場合は、ＧＰ１３を不良品として認定し例えばメンテナンス等を行う。しかし、ＧＰ１３の検査結果がＯＫである場合は、ステップ８０５において全ＰＥ４０の検査を開始すべく、まず、対象ＰＥとしてＰＥ＝０のアドレスのＰＥ４０の検査を選択する。そして、ステップ８０６において既選択のＰＥ４０の検査を実行する。尚、ＰＥの検査に際しては、例えば全ＰＥ４０に対し順次に同一の画像データ（テスト用データ）等を転送し各々に同一の演算処理を行わせ、あらかじめ用意した演算結果のデータと相違するＰＥ４０を探索する場合、あるいは所定の特性を有して個別に異なり得る画像データ（テスト用データ）等を順次に転送し各々の演算結果を確認する場合等、随時任意の検査を行うことが可能である。
【００７８】
続いて、ステップ８０７において既選択のＰＥ４０の検査結果がＯＫであるか否かを判定する。検査結果がＯＫである場合は、ステップ８０８において検査対象のＰＥ４０のアドレスをインクリメントし、かつ最終のＰＥ４０の検査を終えたか否かを判定する。最終のＰＥ４０の検査を終えていない場合は、ステップ８０６に戻り次の選択のＰＥ４０の検査を行う。かくて、最終のＰＥ４０までの検査を終えた場合は、ステップ８１９へ進んでメインプログラムのダウンロードを行い、かつステップ８２０においてメインプログラムの実行を行う。
【００７９】
しかし、ステップ８０７において、検査結果がＮＧであるＰＥ４０の存在が判明した場合は、ステップ８０９において検査対象のＰＥ４０のアドレスをインクリメントし、かつ最終のＰＥ４０の検査を終えたか否かを判定する。最終のＰＥ４０の検査を終えていない場合は、ステップ８１０へ進む。しかし、最終のＰＥ４０までの検査を終えた場合は、ステップ８１９へ進んでメインプログラムのダウンロードを行い、かつステップ８２０においてメインプログラムの実行を行う。
【００８０】
一方、ステップ８１０においては、ＮＧである該ＰＥ４０の次のＰＥ４０の検査を行い、かつステップ８１１においてその検査結果がＯＫであるか否かを判定する。検査の結果、ＮＧであるＰＥ４０が確認された場合は、図６に示すＰＥ選択回路６３が三つの隣接するＰＥの内の一つのＰＥだけが不良である場合に対応できる構成となっており、三つの隣接するＰＥの中に二つ以上の不良のＰＥがある場合には救済ができないため、ＳＩＭＤ型プロセッサ５１全体を不良品として扱う。しかし、検査結果がＯＫである場合は、ステップ８１２へ進む。
【００８１】
ステップ８１２においては、検査対象のＰＥ４０のアドレスをインクリメントし、かつ最終のＰＥ４０の検査を終えたか否かを判定する。最終のＰＥ４０の検査を終えた場合はステップ８１９へ進むが、最終のＰＥ４０の検査を終えていない場合は、ステップ８１３において次の既選択のＰＥ４０の検査を行った後、ステップ８１４においてその検査結果がＯＫであるか否かを判定する。検査の結果、ＮＧであるＰＥ４０が確認された場合は、上述と同じ理由でＳＩＭＤ型プロセッサ５１全体を不良品として扱う。しかし、検査の結果がＯＫである場合はステップ８１５へ進む。
【００８２】
ステップ８１５においては、検査対象のＰＥ４０のアドレスをインクリメントし、かつ最終のＰＥ４０の検査を終えたか否かを判定する。最終のＰＥ４０の検査を終えた場合はステップ８１９へ進むが、最終のＰＥ４０の検査を終えていない場合は、ステップ８１６において次の既選択のＰＥ４０の検査を行った後、ステップ８１７においてその検査結果がＯＫであるか否かを判定する。検査の結果、ＮＧであるＰＥ４０が確認された場合は、上述と同じ理由でＳＩＭＤ型プロセッサ５１全体を不良品として扱う。しかし、検査の結果がＯＫである場合はステップ８１８へ進む。
【００８３】
ステップ８１８においては、検査対象のＰＥ４０のアドレスをインクリメントし、かつ最終のＰＥ４０の検査を終えたか否かを判定する。最終のＰＥ４０の検査を終えた場合はステップ８１９へ進むが、最終のＰＥ４０の検査を終えていない場合は、ステップ８０６へ移行する。
【００８４】
このようにステップ８０７において不良のＰＥが検出された場合は、ステップ８１０で次のＰＥ検査の後、ステップ８１１で検査結果がＯＫであり、かつ同様にステップ８１４でさらに次のＰＥの検査結果がＯＫであり、かつ同様にステップ８１７でさらに次のＰＥの検査結果がＯＫである場合にＳＩＭＤ型プロセッサ５１の救済が可能であり、このための検査を行うことになる。
【００８５】
次に、図１０乃至図１３を参照して、本発明の第２の実施の形態に係るマイクロプロセッサについて説明する。本実施の形態のマイクロプロセッサもＳＩＭＤ型プロセッサに適用される。図１０は本実施の形態のＳＩＭＤ型プロセッサの詳細構成を示すブロック図である。尚、図１０において図３に示した部分と同一部分には同一の符号を付して説明を省略する。
【００８６】
本実施の形態のＳＩＭＤ型プロセッサ１１１は、図１０に示すように、各ＰＥ４０に対して、変倍フラグ１１３が新たに備えられたものである。
【００８７】
変倍フラグ１１３は、図１１に示すように、具体的には、第２の実施の形態で示したものと同様の不良フラグ５３、各ＰＥ４０のデータバスに接続された変倍フラグ１１３、および、不良フラグ５３の出力もしくは変倍フラグ１１３の出力を入力した際に能動となりＰＥ４０のＰＥ汎用レジスタ（ＲレジスタＲ０等）へ出力を与えるオア回路１１５を備えて構成されている。
【００８８】
即ち、変倍フラグ１１３には、ＧＰ１３から出力される例えばライト制御信号によりデータバスから入力された値が書きこまれる。変倍フラグ１１３の値は、不良フラグ５３の値との論理和が取られ、ＰＥ汎用レジスタ（ＲレジスタＲ０等）へと供給される。
【００８９】
尚、変倍フラグ１１３は、外部（メモリコントローラ２１）からのアクセスを制御する外部インタフェース１７との接続を図るためのデータ転送用ポート（図示せず）と接続されており、変倍フラグ１１３の値によりメモリコントローラ２１等に対しデータ転送を抑止させることが可能である。データ転送には、主に演算前もしくは演算後の画像データ等のデータ転送が含まれる。また、変倍フラグ１１３の値により外部のメモリコントローラ２１等のリード／ライト制御の形態を拡大、縮小の形態に変更させることが可能である。
【００９０】
図１２の上側は、デジタルコピーやファクシミリ等でよく行われる変倍処理の内、縮小を実現するための間引きライト動作について図示したものである。各ＰＥ４０の変倍フラグ１１３の値は、例えば‘０’か‘１’かの１ｂｉｔデータであり、ここではＧＰ１３からの設定に基づいて正しい間引き制御データを構成すべく一例としてＰＥ１，ＰＥ４，ＰＥ７の変倍フラグ１１３の値が‘１’に設定されている。この結果、ＳＣＵ７９の制御に基づくＲＡＭ制御部（図４参照）７７は、各ＰＥ４０のうち、アドレス例として、ＰＥ１，ＰＥ４，ＰＥ７等の画像データを間引き、ＰＥ０，ＰＥ２，ＰＥ３，ＰＥ５，ＰＥ６，ＰＥ８，ＰＥ９等のＰＥ４０の汎用レジスタ（ＲレジスタＲ０等）のデータをメモリ（ＲＡＭ）２３に書き込む。
【００９１】
図１２の下側は、不良のＰＥがある場合の縮小の変倍処理の動作について図示したものである。ここではＧＰ１３からの設定に基づいて正しい間引き制御データを構成すべく一例としてＰＥ１、ＰＥ６の変倍フラグ１１３の値が‘１’に設定されているとともに、アドレス例として、ＰＥ２，ＰＥ４，ＰＥ８のＰＥ４０の不良フラグ５３が不良を示す‘１’を出力している。この場合、間引き制御データ（転送抑止データ）にはＰＥ１，ＰＥ２，ＰＥ４，ＰＥ６，ＰＥ８等に間引きを示す‘１’が含まれる。この結果、ＳＣＵ７９の制御に基づくＲＡＭ制御部（図４参照）７７は、各ＰＥ４０のうち、アドレス例として、ＰＥ０，ＰＥ３，ＰＥ５、ＰＥ７，ＰＥ９等のＰＥ４０の汎用レジスタ（ＲレジスタＲ０等）のデータをメモリ（ＲＡＭ）２３に書き込む。即ち、ＳＩＭＤ型プロセッサ    は、不良のＰＥを飛ばして再構成されるから、ライト制御データおよび画像データが図１２の下側のように格納されることになる。ライト制御データと故障ＰＥ情報との論理和を転送抑止データとすると、図のようにＰＥ１，ＰＥ２，ＰＥ４，ＰＥ６，ＰＥ８のデータが間引かれることになり、メモリ２３等に格納されるデータは故障のない場合のデータの場合と全く同一であることがわかる。
【００９２】
図１３の上側は、デジタルコピーやファクシミリ等でよく行われる変倍処理の内、拡大を実現するための重複リード動作について図示したものである。ここでは、メモリ２３等から読み取る画像データとして、アドレス例として、ＰＥ１，ＰＥ４，ＰＥ７等の画像データが直前のＰＥであるＰＥ０，ＰＥ３，ＰＥ６に格納されるデータと同じ値のデータとなっている。従って、ＰＥ１，ＰＥ４，ＰＥ７を飛ばして、ＰＥ０，ＰＥ２，ＰＥ３，ＰＥ５，ＰＥ６，ＰＥ８，ＰＥ９にメモリ２３等から読み出した画像データが格納されることになる。
【００９３】
図１３の下側は、不良のＰＥがある場合の拡大処理の動作について図示したものである。ここでは、アドレス例として、ＰＥ２，ＰＥ４，ＰＥ８等に不良がある場合を例示する。不良のＰＥがある場合、ＳＩＭＤ型プロセッサ１１１は、不良のＰＥを飛ばして再構成されるので、リード制御データは図のように格納されていることになる。また、画像データの方も同様に図のように格納されている。リード制御データと故障ＰＥ情報との論理和を転送抑止データとすると、図のようにＰＥ１，ＰＥ２，ＰＥ４，ＰＥ６，ＰＥ８に格納されるデータが直前のＰＥのデータと重複することになり故障のない場合にＰＥのレジスタファイルに格納されるデータと全く同一であることがわかる。故障のあるＰＥを飛ばして順番にデータが格納されている。即ち、本実施の形態の構成によれば、故障しているＰＥがあっても変倍を正しく行うことが可能であることがわかる。
【００９４】
かかる構成によれば、ＰＥ４０に不良がある場合でも、変倍フラグ１１３の値との論理和を行うことで、不良のＰＥに係らず画像データ等に正常な変倍処理を行うことが可能であり、ＳＩＭＤ型プロセッサ１１１を救済するとともに変倍処理を行えるもので機能的にも優れる利点がある。
【００９５】
次に、図１４を参照して、本発明の第３の実施の形態に係るマイクロプロセッサについて説明する。本実施の形態のマイクロプロセッサもＳＩＭＤ型プロセッサに適用されるものであり、図１４は本実施の形態のＳＩＭＤ型プロセッサの詳細構成を示すブロック図である。尚、図１４において図３に示した部分と同一部分には同一の符号を付して説明を省略する。
【００９６】
本実施の形態のＳＩＭＤ型プロセッサ２１１は、図１４に示すように、各ＰＥ４０の汎用レジスタ（ＲレジスタＲ０等）に対して、第２の実施の形態において、各ＰＥ４０に１つ設けられた変倍フラグ１１３の代わりに、各ＰＥ４０の汎用レジスタＲレジスタ毎に独立して設けられた変倍フラグ２１３が新たに備えられたものである。変倍フラグ２１３は、ポートＷ１にＧＰ１３からのライト制御信号を入力した場合、例えばＤ１ポートから例えば変倍率のデータを取り込み、ポートＲ１にリード制御信号を入力した場合、例えば変倍率のデータを汎用レジスタ（ＲレジスタＲ０等）、およびオア回路２１５に出力する。変倍フラグ２１３は、ＧＰ１３のプログラムに基づいて任意の変倍率の変倍データを設定可能である。
【００９７】
変倍フラグ２１３は、Ｄ１という端子でデータバスＢ１と接続されており、ＧＰ１３より制御することでデータの設定が可能となっている。ポートＷ１にライト制御信号をアサートすると、データバスＢ１からデータを変倍フラグ２１３に書き込む。またＲ１にリード制御信号をアサートすると、変倍フラグ２１３の内容をデータバスＢ１に出力する。オア回路２１５へは変倍フラグ２１３の値が常に出力されている。
【００９８】
上記第２の実施の形態においては、各ＰＥ４０に１つのみ設けられた変倍フラグ１１３を備えているために、画像処理全体において、外部インタフェース１７を介してＲレジスタに接続される複数のメモリコントローラ２１に対して、複数のメモリコントローラ２１が同時に、共通の変倍率を使用しての変倍は可能であるが、各メモリコントローラ２１毎に異なった変倍率を用いた変倍処理を行う場合や、共通の変倍率を使用する場合においても、各メモリコントローラ２１が、同時ではなく、非同期に変倍を行うような場合には対応し得ないものである。
【００９９】
しかし、本実施の形態においては、各汎用レジスタ（ＲレジスタＲ０等）に一つずつ変倍率変更可能の変倍フラグ２１３を有し、それぞれ個別のオア回路２１５で自己のＰＥ４０の不良フラグ５３の値との論理和を取り外部インタフェース１７を介しメモリコントローラ２１に供給する構成となっている。メモリコントローラ２１は、ＳＣＵ７９の制御を介するＲＡＭ制御部７７の動作等を以って変倍フラグ２１３が示す変倍率での変倍処理に対応することが可能である。
【０１００】
かかる構成によれば、複数個ある汎用レジスタ毎の変倍フラグ２１３により、複数個あるメモリコントローラ２１毎に独立した変倍率を設定することが可能であるため、不良のＰＥ４０の悪影響を除くとともに、画像処理における複数の変倍率がある場合の変倍処理に対応することが可能となり、また複数個のメモリコントローラ２１は変倍処理を行う場合においても、それぞれが独立して非同期に動作することが可能となるため、本実施の形態のＳＩＭＤ型プロセッサ２１１を使用した画像処理装置のシステム構成としての自由度が向上する。
【図面の簡単な説明】
【０１０１】
【図１】本発明の前提となる技術の概略構成を示すブロック図である。
【図２】本発明の前提となる技術の部分的な詳細構成を示すブロック図である。
【図３】本発明の第１の実施の形態のＳＩＭＤ型プロセッサの構成を示すブロック図である。
【図４】第１の実施の形態のメモリコントローラの構成を示すブロック図である。
【図５】第１の実施の形態のＴレジスタの構成を示すブロック図である。
【図６】第１の実施の形態のＰＥ選択部の構成を示す回路構成図である。
【図７】第１の実施の形態のリード／ライト制御を行う際のデータの流れを説明する説明図である。
【図８】第１の実施の形態のＳＩＭＤ型プロセッサの要部を拡大して示す要部拡大図である。
【図９】第１の実施の形態のセルフテストを行う際の処理動作を示すフローチャートである。
【図１０】本発明の第２の実施の形態のＳＩＭＤ型プロセッサの構成を示すブロック図である。
【図１１】第２の実施の形態の変倍フラグの構成を示す回路構成図である。
【図１２】第２の実施の形態の縮小の変倍処理を行う際のデータの流れを説明する説明図である。
【図１３】第２の実施の形態の拡大の変倍処理を行う際のデータの流れを説明する説明図である。
【図１４】本発明の第３の実施の形態のＳＩＭＤ型プロセッサの要部構成を拡大して示すブロック図である。
【符号の説明】
【０１０２】
１１，５１，１１１，２１１  ＳＩＭＤ型プロセッサ
１３  ＧＰ（グローバルプロセッサ）
１５  プロセッサエレメントグループ
１７  外部インタフェース
２１  メモリコントローラ
２３  メモリ
３１  レジスタファイル
３３  演算アレイ
３５  ７ｔｏ１ＭＵＸ
４１  プログラムＲＡＭ
４３  データＲＡＭ
４５  ＳＥ（Shift Expand：シフタ）
４７  ＡＬＵ
４８  Ａレジスタ
４９  Ｆレジスタ
Ｂ１  バス
Ｒ０〜Ｒ２３，Ｒ２４〜Ｒ３１  汎用レジスタ（Ｒレジスタ）
５３  不良フラグ
５５  ＩＤレジスタ
５８  Ｔレジスタ
５９，６１  ＭＰＸ
６３  ＰＥ選択部
６４，６５  マルチプレクサ
６７  アンド回路
Ｔ７〜Ｔ０  レジスタ
６８  配線経路
６９  レジスタコントローラ
７１  ライトバッファ
７３  リードバッファ
７５  外部Ｉ／Ｆ制御部
７７  ＲＡＭ制御部
７９  ＳＣＵ（シーケンサユニット）
９２  バッファ
１１３，２１３  変倍フラグ
１１５，２１５  オア回路
【図１】
2005316887.tif 000003
【図２】
2005316887.tif 000004
【図３】
2005316887.tif 000005
【図４】
2005316887.tif 000006
【図５】
2005316887.tif 000007
【図６】
2005316887.tif 000008
【図７】
2005316887.tif 000009
【図８】
2005316887.tif 000010
【図９】
2005316887.tif 000011
【図１０】
2005316887.tif 000012
【図１１】
2005316887.tif 000013
【図１２】
2005316887.tif 000014
【図１３】
2005316887.tif 000015
【図１４】
2005316887.tif 000016