(57)【要約】【課題】ＰＥ毎に複数の演算器を有するＳＩＭＤ型マイクロプロセッサにおいて、条件付き命令実行の際に各演算器で演算を実施するか否かを決定できるようにする。【解決手段】本発明に係るＳＩＭＤ型マイクロプロセッサは、複数のプロセッサエレメントがプロセッサエレメントアレイ部を構成し、各プロセッサエレメントが夫々、Ｍ個（Ｍは２以上の自然数）の算術論理演算回路、及び、個々の算術論理演算回路に対応するＭ個の演算結果格納用レジスタを装備するＳＩＭＤ型マイクロプロセッサである。そのようなＳＩＭＤ型マイクロプロセッサにおいて、更に、各プロセッサエレメントが、個々の算術論理演算回路から演算出力された条件データを格納する条件レジスタ部をＭ個装備しており、条件付き命令実行の際に、条件レジスタ部に格納された条件データにより、対応する算術論理演算回路の夫々が演算を実行するか否かを決定することを特徴とする。【選択図】図１
2008071130.tif 000002
【特許請求の範囲】
【請求項１】
複数のプロセッサエレメントがプロセッサエレメントアレイ部を構成し、
各プロセッサエレメントが夫々、
Ｍ個（Ｍは２以上の自然数）の算術論理演算回路、及び、個々の算術論理演算回路に対応するＭ個の演算結果格納用レジスタを装備するＳＩＭＤ型マイクロプロセッサにおいて、
更に、各プロセッサエレメントが、個々の算術論理演算回路から演算出力された条件データを格納する条件レジスタ部をＭ個装備しており、
条件付き命令実行の際に、条件レジスタ部に格納された条件データにより、対応する算術論理演算回路の夫々が演算を実行するか否かを決定することを特徴とするＳＩＭＤ型マイクロプロセッサ。
【請求項２】
各プロセッサエレメントは、Ｎ個（２≦Ｎ≦Ｍ）の算術論理演算回路を統合させて処理する手段を有し、
上記手段によりＮ個の算術論理演算回路が統合されるとき、該Ｎ個の算術論理演算回路で生成される条件データを一つに統合して、該Ｎ個の算術論理演算回路に対応するＮ個の条件レジスタ部のうちの１個の条件レジスタ部に格納し、
条件付き命令実行の際に、
その条件レジスタ部に格納された条件データにより、統合された算術論理演算回路が演算を実行するか否かを決定することを特徴とする請求項１に記載のＳＩＭＤ型マイクロプロセッサ。
【請求項３】
各プロセッサエレメントが、Ｎ個（２≦Ｎ≦Ｍ）の算術論理演算回路を統合させて処理する場合に、
Ｎ個の条件レジスタ部を統合して、条件レジスタ部におけるビット構成をＮ倍とすることを特徴とする請求項２に記載のＳＩＭＤ型マイクロプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、条件付き命令に対応した、１つの演算命令により複数の画像データ等を並列処理するＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ）型マイクロプロセッサに関する。
【背景技術】
【０００２】
画像処理を実行するマイクロプロセッサでは、ＳＩＭＤ型を採用することが多い。なぜならば、一つの命令で複数のデータに対して、同時に同一の演算処理が実行可能であるＳＩＭＤ型マイクロプロセッサの特徴が画像処理に適しているからである。ＳＩＭＤ型マイクロプロセッサは、プロセッサエレメント（以下、ＰＥという。）と呼ばれる単位において演算部とレジスタを備えており、更にそのようなＰＥを複数個有する。これら複数個のＰＥが同時に演算処理を行うことで、一つの命令で複数のデータに対して同時に同一の演算処理を実行する。ＳＩＭＤ型マイクロプロセッサでは、処理速度の向上、及び、命令供給装置や命令制御装置の共有化が可能となる。
【０００３】
ＳＩＭＤ型マイクロプロセッサ８は、概略、グローバルプロセッサ２、及びプロセッサエレメントアレイ部６を含む（図３参照）。プロセッサエレメントアレイ部６は複数のＰＥ４の配列体である。各ＰＥ４は演算器（算術論理演算回路）、及びレジスタファイル部を含む。グローバルプロセッサ２は、プログラムを読み込み実行する独立のプロセッサであると同時に、各々のＰＥ４に対し動作の指示を出すコントローラである。グローバルプロセッサ２には、制御回路、プログラムを格納するＰｒｏｇｒａｍ−ＲＡＭ、データを一時格納するＤａｔａ−ＲＡＭ、及び各種レジスタ（図示せず。）が装備されている。
【０００４】
ところでＳＩＭＤ型マイクロプロセッサでは、ＰＥ毎に演算対象データは異なるが、全てのＰＥでの演算処理機能は同じである。つまり、ＰＥ毎に異なる処理をすることができない。例えば、あるデータ群に対して、あるデータと比較演算した結果から判断して、一致した演算のデータだけ“０”に置き換えるというような処理の実行が困難である。このような条件付き命令が実行できることは、処理速度の向上に繋がる。さらに、条件付き命令の際に、判断条件となるデータをより多く保持できるならば、処理の選択肢が拡がり処理速度の向上にも繋がる。
【０００５】
また、ＳＩＭＤ型マイクロプロセッサでは、１ＰＥにつき１個の演算器（算術論理演算回路）を割り当てることが多いが、そうしてしまうと、演算データのサイズによっては、合理性を欠く程大きな回路規模を必要とすることが生じ得る。例えば、１６ビットデータの演算が多く、希に３２ビットデータの演算が必要になるようなＳＩＭＤ型マイクロプロセッサにおいては、最大データ幅の演算器を各ＰＥに備えておかねばならない。そうすると、回路全体や装置全体が有効に使われないことになってしまう。
【０００６】
特許文献１に開示される発明は、一つの命令で複数のデータを並列処理する演算処理装置であって、演算フラグに基づいて、演算結果格納用レジスタに、演算結果を書き込むか否かを制御する書き込みイネーブル信号が生成され、複数の演算器の演算結果に従ったマスク処理を条件付き命令を実行することなく行い、処理速度を高速化しているものである。但し、条件付き命令に関する開示はなく、プロセッサエレメントの概念もない。
特許文献２に開示される発明は、一つの命令で複数のデータを並列処理する演算処理装置であって、演算ユニットごとに、演算フラグ制御回路を備え、一つの命令で複数の演算ユニットの条件付き演算を可能にし、処理速度を増大させるものである。また、命令供給回路を経ることなしに条件付き処理を可能にしており、条件付き命令を用いる方法に比較して、処理速度が増大している。但し、プロセッサエレメントの概念はない。
特許文献３に開示される発明は、一つの命令で複数のデータを並列処理する演算処理装置であって、演算データサイズに応じて、演算器を連動もしくは、分割して、条件付き命令の実行を可能にするものである。そして、処理速度を増大させている。但し、プロセッサエレメントの概念はない。
特許文献４に開示される発明は、一つの命令で複数のデータを並列処理する演算処理装置であって、ＰＥごとに、演算器、フラグ情報記憶手段、データ選択手段を備えており、条件付き命令に対して条件の成立の有無に応じて、演算対象となるデータを一つの命令コードで選択し処理ステップ数を軽減するものである。但し、プロセッサエレメント毎に、複数のデータを処理することについて開示はない。
特許文献５に開示される発明は、オペランドで指定したデータを複数に分割した各データに対して、条件実行命令が、条件が成立したデータに対してのみ演算を行い、結果として高速の演算が可能なプロセッサである。該プロセッサでは、オペランドデータを一つのデータとしても条件を検証することが独立に可能であり、このことでプログラムの融通性が増す。但し、プロセッサエレメントの概念はない。
【特許文献１】特許第２８０６３４６号公報
【特許文献２】特開平５−１８９５８５号公報
【特許文献３】特許第３６５２５１８号公報
【特許文献４】特開２００４−３３４２９７公報
【特許文献５】特開２００１−２６５５９２公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来技術のＳＩＭＤ型マイクロプロセッサは、ＰＥ毎に複数の演算器（算術論理演算回路）を持ち、条件付き命令の際に、各演算器（算術論理演算回路）で演算を実施するか否かを決定できるような回路を備えていないといえる。
【０００８】
本発明は、ＳＩＭＤ型マイクロプロセッサにおいて、ＰＥ毎に、複数の、条件レジスタ部を含む演算器（算術論理演算回路）を持ち、後続の条件付き命令実行の際に各演算器（算術論理演算回路）で演算を実施するか否かを決定できるようにして、処理速度を向上させることを目的とする。
【０００９】
また、演算データサイズが大きい場合には、１つのＰＥ内の複数の演算器（算術論理演算回路）を統合させて処理し、後続の条件付き命令実行の際に、演算を実施するか否かを決定できるようにして、回路規模を有効に利用することを目的とする。更に、条件データのビット数を増やして、後続の条件付き命令処理の条件数を増やし、処理速度を向上させることを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、上記の目的を達成するために為されたものである。本発明に係る請求項１に記載のＳＩＭＤ型マイクロプロセッサは、
複数のプロセッサエレメントがプロセッサエレメントアレイ部を構成し、
各プロセッサエレメントが夫々、
Ｍ個（Ｍは２以上の自然数）の算術論理演算回路、及び、個々の算術論理演算回路に対応するＭ個の演算結果格納用レジスタを装備するＳＩＭＤ型マイクロプロセッサにおいて、
更に、各プロセッサエレメントが、個々の算術論理演算回路から演算出力された条件データを格納する条件レジスタ部をＭ個装備しており、
条件付き命令実行の際に、条件レジスタ部に格納された条件データにより、対応する算術論理演算回路の夫々が演算を実行するか否かを決定することを特徴とする。
【００１１】
本発明に係る請求項２に記載のＳＩＭＤ型マイクロプロセッサは、
各プロセッサエレメントは、Ｎ個（２≦Ｎ≦Ｍ）の算術論理演算回路を統合させて処理する手段を有し、
上記手段によりＮ個の算術論理演算回路が統合されるとき、該Ｎ個の算術論理演算回路で生成される条件データを一つに統合して、該Ｎ個の算術論理演算回路に対応するＮ個の条件レジスタ部のうちの１個の条件レジスタ部に格納し、
条件付き命令実行の際に、
その条件レジスタ部に格納された条件データにより、統合された算術論理演算回路が演算を実行するか否かを決定することを特徴とする請求項１に記載のＳＩＭＤ型マイクロプロセッサである。
【００１２】
本発明に係る請求項３に記載のＳＩＭＤ型マイクロプロセッサは、
各プロセッサエレメントが、Ｎ個（２≦Ｎ≦Ｍ）の算術論理演算回路を統合させて処理する場合に、
Ｎ個の条件レジスタ部を統合して、条件レジスタ部におけるビット構成をＮ倍とすることを特徴とする請求項２に記載のＳＩＭＤ型マイクロプロセッサである。
【発明の効果】
【００１３】
本発明を利用することにより、複数の演算器（算術論理演算回路）を備えるＰＥを多数含むＳＩＭＤ型マイクロプロセッサにおいて、条件付き命令実行の際に各演算器（算術論理演算回路）で演算を実施するか否かを決定できるようにして、処理速度を向上させることができる。また、その際、演算データサイズが大きい場合にも機動的に適宜対処できる。更に、条件付き命令実行の際の条件データのビット数を増やすこともできる。
【発明を実施するための最良の形態】
【００１４】
以下図面を参照しつつ、本発明に係る好適な実施形態を説明する。
《第１の実施形態》
【００１５】
以下の第１から第３の実施形態に係るＳＩＭＤ型マイクロプロセッサ８は、複数のＰＥがＰＥアレイ部を構成し、各ＰＥがＭ個（Ｍは２以上の自然数）の算術論理演算回路、Ｍ個の演算結果格納用レジスタを装備する。
【００１６】
図１は、本発明の第１の実施形態に係るＳＩＭＤ型マイクロプロセッサ８のＰＥ（プロセッサエレメント）４の一部の回路図である。各ＰＥは、２個の算術論理演算回路（ＡＬＵ１、ＡＬＵ２）、２個の演算結果格納用レジスタ（演算結果レジスタ１、演算結果レジスタ２）、及び２個の条件レジスタ部（条件レジスタ部１、条件レジスタ部２）を含む。
【００１７】
算術論理演算回路（ＡＬＵ１、ＡＬＵ２）は、１６ビットデータを入力として、外部からの制御信号によって動作する。演算結果格納用レジスタ（演算結果レジスタ１、演算結果レジスタ２）は、算術論理演算回路での演算結果データを格納する１６ビットレジスタである。
【００１８】
図１２は、条件レジスタ部（条件レジスタ部１、条件レジスタ２）の構成を示す構成図である。条件レジスタ部１と条件レジスタ部２は共に同じ構成であり、Ｔ０〜Ｔ７の（各１ビットの）部分レジスタ部と、Ｔ８〜Ｔ１５の（各１ビットの）部分レジスタ部を、夫々含む。条件レジスタ部は、１ビットの条件データを入力とする。Ｔ０〜Ｔ７、及びＴ８〜Ｔ１５の夫々のビットに対して、Ｔ０＿ｅｎ〜Ｔ７＿ｅｎ、及びＴ８＿ｅｎ〜Ｔ１５＿ｅｎの書き込みイネーブル信号が入力されており、条件データは、条件レジスタのＴ０〜Ｔ７、もしくはＴ８〜Ｔ１５のいずれかに格納される。
【００１９】
出力については、Ｔ０〜Ｔ７の８ビットから１ビットを選択して出力し、及びＴ８〜Ｔ１５の８ビットから１ビットを選択して出力する構成となっている。このＴ０〜Ｔ７、及びＴ８〜Ｔ１５に格納された条件データが、後続の条件付き命令の際に演算を実行するかどうかを直接に決定するデータである。夫々の条件レジスタ部は、条件を８個まで保持していることになる。
【００２０】
第１の実施形態に係るＰＥでは、１６ビットデータを２個処理する場合に、算術論理演算回路（ＡＬＵ１、ＡＬＵ２）から演算出力された条件データが、直接条件レジスタ部（条件レジスタ部１、条件レジスタ部２）に格納される。条件レジスタ部１と条件レジスタ部２からの条件データが、夫々、ＡＬＵ１とＡＬＵ２とに供給されており、この（これらの）条件データにより後続の条件付き命令の演算実行をするか否かが決定される。
【００２１】
《第２の実施形態》
図２は、本発明の第２の実施形態に係るＳＩＭＤ型マイクロプロセッサ８のＰＥ（プロセッサエレメント）４の一部の回路図である。各ＰＥは、図１に示す第１の実施形態に係るＰＥと同様に、２個の算術論理演算回路（ＡＬＵ１、ＡＬＵ２）、２個の演算結果格納用レジスタ（演算結果レジスタ１、演算結果レジスタ２）、及び２個の条件レジスタ部（条件レジスタ部１、条件レジスタ部２）を含み、更に、２個のフラグレジスタ群（フラグレジスタ群１、フラグレジスタ群２）、及び２個の条件デコード部（ＣＣＴ１、ＣＣＴ２）を含む。
【００２２】
フラグレジスタ群（フラグレジスタ群１、フラグレジスタ群２）は、４ビットのレジスタであり、フラグデータを一度保持する。ここで、フラグデータは、
Ｎ：符号フラグ
Ｖ：オーバーフローフラグ
Ｚ：ゼロフラグ
Ｃ：キャリーフラグ
であり、算術論理演算回路（ＡＬＵ１、ＡＬＵ２）における演算により出力される。条件デコード部（ＣＣＴ１、ＣＣＴ２）は、それらフラグデータを入力として、後続の条件付き命令の条件データ１ビットを生成する。例えば、生成される条件データは、フラグデータのＮとＶの排他的論理和であってもよく、Ｃの反転であってもよい。
【００２３】
第２の実施形態に係るＰＥでは、１６ビットデータを２個処理する場合に、条件デコード部（ＣＣＴ１、ＣＣＴ２）から演算出力された条件データが、直接条件レジスタ部（条件レジスタ部１、条件レジスタ部２）に格納される。条件レジスタ部１と条件レジスタ２２からの条件データが、夫々、ＡＬＵ１とＡＬＵ２に供給されており、この（これらの）条件データにより後続の条件付き命令の演算実行をするか否かが決定される。
【００２４】
第２の実施形態に係るＳＩＭＤ型マイクロプロセッサでは、算術論理演算回路から条件レジスタ部へ１サイクルで条件データを格納することが不可能なときなどに、フラグレジスタ群（フラグレジスタ群１、フラグレジスタ群２）で一旦フラグデータ若しくは条件データを保持し次サイクルで条件レジスタ部（条件レジスタ部１、条件レジスタ部２）へ転送することが可能である。
【００２５】
更に、条件デコード部（ＣＣＴ１、ＣＣＴ２）によって、多数の複雑な条件データを生成することが可能となり、このことにより演算速度が増大され得る。
【００２６】
《第３の実施形態》
図３は、本発明の第３の実施形態に係るＳＩＭＤ型マイクロプロセッサ８の一部の回路図である。各ＰＥは、２個の算術論理演算回路（下位ＡＬＵ、上位ＡＬＵ）、２個の演算結果格納用レジスタ（下位Ａレジスタ、上位Ａレジスタ）、及び２個の条件レジスタ部（下位条件レジスタ、上位条件レジスタ）を含む。更にＰＥ数が４個である。
【００２７】
グローバルプロセッサ２より、各ＰＥ４に制御信号が供給され、条件付き命令に対応した演算を４個のＰＥ夫々において、２個の演算器（算術論理演算回路）で実行する。
【００２８】
なお、以下の実施形態では、１個のＰＥ内での構成についてのみ示す。
【００２９】
《第４の実施形態》
以下の第４から第５の実施形態に係るＳＩＭＤ型マイクロプロセッサ８は、複数のＰＥがＰＥアレイ部を構成し、各ＰＥがＭ個（Ｍは２以上の自然数）の算術論理演算回路、Ｍ個の演算結果格納用レジスタを装備する。更に、各ＰＥは、Ｎ個（２≦Ｎ≦Ｍ）の演算器（算術論理演算回路）を統合させて処理する手段を有する。
【００３０】
図４は、本発明の第４の実施形態に係るＳＩＭＤ型マイクロプロセッサ８のＰＥ（プロセッサエレメント）４の一部の回路図である。各ＰＥは、第１の実施形態と同様に、２個の算術論理演算回路（ＡＬＵ１、ＡＬＵ２）、２個の演算結果格納用レジスタ（演算結果レジスタ１、演算結果レジスタ２）、及び２個の条件レジスタ部（条件レジスタ部１、条件レジスタ部２）を含む。
【００３１】
更に、第４の実施形態では、各ＰＥは、２個の演算器（算術論理演算回路）を統合させて処理する手段を有する。即ち、ＰＥは、統合回路１２、２個の選択器（選択器１、選択器２）、及びＡＬＵ１とＡＬＵ２の間でＡＬＵ１からＡＬＵ２へのキャリーを伝播する経路１０を装備している。
【００３２】
算術論理演算回路（ＡＬＵ１、ＡＬＵ２）は、１６ビットデータを入力として、外部からの制御信号によって動作する。演算結果格納用レジスタ（演算結果レジスタ１、演算結果レジスタ２）は、算術論理演算回路での演算結果データを格納する１６ビットレジスタである。統合回路１２は、算術論理演算回路（ＡＬＵ１、ＡＬＵ２）からの条件データを選択する回路である。選択器（選択器１、選択器２）は、条件レジスタ部１と条件レジスタ部２とから条件データを選択して、夫々、算術論理演算回路（ＡＬＵ１、ＡＬＵ２）にその条件データを供給する。
【００３３】
キャリーを伝播する経路１０は、２個の演算器（算術論理演算回路（ＡＬＵ１、ＡＬＵ２））を統合する場合に有効となる。３２ビットデータを１個処理する場合に、２個の演算器（算術論理演算回路（ＡＬＵ１、ＡＬＵ２））は統合して動作する。
【００３４】
統合した場合に、ＡＬＵ２からの条件データが有効となり、統合回路１２でそれを選択して条件レジスタ部１に格納できる。そして、後続の条件付き命令の際に、条件レジスタ部１の条件データを選択器１と選択器２が選択して２個の算術論理演算回路（ＡＬＵ１、ＡＬＵ２）に供給し、ＡＬＵ１及びＡＬＵ２は演算実行をするか否かを決定する。このように、第４の実施形態に係るマイクロプロセッサは３２ビットデータを１個処理する場合にも対応できる。
【００３５】
《第５の実施形態》
図５は、本発明の第５の実施形態に係るＳＩＭＤ型マイクロプロセッサ８のＰＥ（プロセッサエレメント）４の一部の回路図である。各ＰＥは、第２の実施形態と同様に、２個の算術論理演算回路（ＡＬＵ１、ＡＬＵ２）、２個の演算結果格納用レジスタ（演算結果レジスタ１、演算結果レジスタ２）、２個の条件レジスタ部（条件レジスタ部１、条件レジスタ部２）、２個のフラグレジスタ群（フラグレジスタ群１、フラグレジスタ群２）、及び２個の条件デコード部（ＣＣＴ１、ＣＣＴ２）を含む。
【００３６】
更に、第５の実施形態では、各ＰＥは、２個の演算器（算術論理演算回路）を統合させて処理する手段を有する。即ち、ＰＥは、フラグ統合回路１４、２個の選択器（選択器１、選択器２）、及びＡＬＵ１とＡＬＵ２の間でＡＬＵ１からＡＬＵ２へのキャリーを伝播する経路１０を装備している。
【００３７】
算術論理演算回路（ＡＬＵ１、ＡＬＵ２）は、１６ビットデータを入力として、外部からの制御信号によって動作する。演算結果格納用レジスタ（演算結果レジスタ１、演算結果レジスタ２）は、算術論理演算回路での演算結果データを格納する１６ビットレジスタである。フラグレジスタ群（フラグレジスタ群１、フラグレジスタ群２）は、４ビットのレジスタであり、フラグデータを一度保持する。選択器（選択器１、選択器２）は、条件レジスタ部１と条件レジスタ２とから条件データを選択して、夫々、算術論理演算回路（ＡＬＵ１、ＡＬＵ２）にその条件データを供給する。
【００３８】
キャリーを伝播する経路１０は、２個の演算器（算術論理演算回路（ＡＬＵ１、ＡＬＵ２））を統合する場合に有効となる。
【００３９】
フラグ統合回路１４は、算術論理演算回路（ＡＬＵ１、ＡＬＵ２）からのフラグデータを演算選択する回路である。図１１は、フラグ統合回路１４の回路図である。フラグ統合回路１４は、Ｎ１とＮ２を選択する回路、Ｖ１とＶ２を選択する回路、Ｃ１とＣ２を選択する回路、及び、フラグレジスタ群１のＺ１か、Ｚ１とＺ２の論理和をとった値かを選択する回路で構成されている。
【００４０】
３２ビットデータを１個処理する場合に、２個の演算器（算術論理演算回路（ＡＬＵ１、ＡＬＵ２））は統合して動作する。
【００４１】
統合した場合には、フラグレジスタ群２のＮ２、Ｖ２、Ｃ２のフラグデータが有効となるのでフラグ統合回路１４でそれを選択し、Ｚフラグに関しては、Ｚ１とＺ２の論理和をとった結果を選択して、条件レジスタ部１に格納する。そして、後続の条件付き命令の際に、条件レジスタ部１の条件データを選択器１と選択器２が選択して２個の算術論理演算回路（ＡＬＵ１、ＡＬＵ２）に供給し、ＡＬＵ１及びＡＬＵ２は演算実行をするか否かを決定する。このように、第５の実施形態に係るマイクロプロセッサは３２ビットデータを１個処理する場合にも対応できる。
【００４２】
第５の実施形態に係るＳＩＭＤ型マイクロプロセッサでは、算術論理演算回路から条件レジスタ部へ１サイクルで条件データを格納することが不可能なときなどに、フラグレジスタ群（フラグレジスタ群１、フラグレジスタ群２）で一旦フラグデータ若しくは条件データを保持し次サイクルで条件レジスタ部（条件レジスタ部１、条件レジスタ部２）へ転送することが可能である。
【００４３】
更に、条件デコード部（ＣＣＴ１、ＣＣＴ２）によって、多数の複雑な条件データを生成することが可能となり、このことにより演算速度が増大され得る。
【００４４】
《第６の実施形態》
以下の第６から第１０の実施形態に係るＳＩＭＤ型マイクロプロセッサ８は、複数のＰＥがＰＥアレイ部を構成し、各ＰＥが、Ｍ個（Ｍは２以上の自然数）の算術論理演算回路、Ｍ個の演算結果格納用レジスタ、及びＭ個の条件レジスタ部を装備する。各ＰＥは、Ｎ個（２≦Ｎ≦Ｍ）の演算器（算術論理演算回路）を統合させて処理する手段を有し、更に、Ｎ個の演算器を統合させて処理する際にＮ個の条件レジスタ部を統合する手段を有する。
【００４５】
図６は、本発明の第６の実施形態に係るＳＩＭＤ型マイクロプロセッサ８のＰＥ（プロセッサエレメント）４の一部の回路図である。各ＰＥは、第４の実施形態と同様に、２個の算術論理演算回路（ＡＬＵ１、ＡＬＵ２）、２個の演算結果格納用レジスタ（演算結果レジスタ１、演算結果レジスタ２）、及び２個の条件レジスタ部（条件レジスタ部１、条件レジスタ部２）を含み、加えて、２個の演算器（算術論理演算回路）を統合させて処理する手段を有する。即ち、ＰＥは、統合回路１２、２個の選択器（選択器１、選択器２）、及びＡＬＵ１とＡＬＵ２の間でＡＬＵ１からＡＬＵ２へのキャリーを伝播する経路１０を装備している。
【００４６】
更に、第６の実施形態に係るＰＥでは、図４に示す第４の実施形態の構成に加えて、条件レジスタ部２の直前にマルチプレクサ１６が装備される。
【００４７】
第６の実施形態に係るＰＥでは、３２ビットデータを１個処理する場合には、２個の演算器（算術論理演算回路（ＡＬＵ１、ＡＬＵ２））は統合して動作する。統合した場合に、ＡＬＵ２からの条件データが有効となり、統合回路１２でそれを選択できる。次に、統合回路１２から出力される条件データが、条件レジスタ部１に格納されるか、若しくは、条件レジスタ部２の直前のマルチプレクサ１６で選択されて条件レジスタ部２に格納される。そして、後続の条件付き命令の際に、条件レジスタ部１若しくは条件レジスタ部２の条件データを選択器１と選択器２とにおいて選択し、２個の算術論理演算回路（ＡＬＵ１、ＡＬＵ２）に供給し、ＡＬＵ１及びＡＬＵ２は演算実行をするか否かを決定する。このとき、条件付き命令実行の際に、条件レジスタ部１と条件レジスタ部２に保持されている１６ビットの条件を使用できるということになる。即ち、第４の実施の形態の場合に比べて、２倍の条件数を条件付き命令実行の際に使用できる。
【００４８】
《第７の実施形態》
図７は、本発明の第７の実施形態に係るＳＩＭＤ型マイクロプロセッサ８のＰＥ（プロセッサエレメント）４の一部の回路図である。各ＰＥは、第５の実施形態と同様に、２個の算術論理演算回路（ＡＬＵ１、ＡＬＵ２）、２個の演算結果格納用レジスタ（演算結果レジスタ１、演算結果レジスタ２）、２個の条件レジスタ部（条件レジスタ部１、条件レジスタ部２）、２個のフラグレジスタ群（フラグレジスタ群１、フラグレジスタ群２）、及び２個の条件デコード部（ＣＣＴ１、ＣＣＴ２）を含み、加えて、２個の演算器（算術論理演算回路）を統合させて処理する手段を有する。即ち、ＰＥは、フラグ統合回路１４、２個の選択器（選択器１、選択器２）、及びＡＬＵ１とＡＬＵ２の間でＡＬＵ１からＡＬＵ２へのキャリーを伝播する経路１０を装備している。
【００４９】
更に、第７の実施形態に係るＰＥでは、図５に示す第５の実施形態の構成に加えて、第６の実施形態と同様に、条件レジスタ部２の直前にマルチプレクサ１６が装備される。
【００５０】
第７の実施形態に係るＰＥでは、３２ビットデータを１個処理する場合には、２個の演算器（算術論理演算回路（ＡＬＵ１、ＡＬＵ２））は統合して動作する。統合した場合に、フラグレジスタ群２からのフラグデータが有効となり、フラグ統合回路１４でそれを選択できる。次に、ＣＣＴ１から出力された条件データが、条件レジスタ部１に格納されるか、若しくは、条件データ２の直前のマルチプレクサ１６で選択されて条件レジスタ部２に格納される。そして、後続の条件付き命令の際に、条件レジスタ部１若しくは条件レジスタ部２の条件データを選択器１と選択器２とにおいて選択し、２個の算術論理演算回路ＡＬＵ１、ＡＬＵ２）に供給し、ＡＬＵ１及びＡＬＵ２は演算実行をするか否かを決定する。このとき、条件付き命令実行の際に、条件レジスタ部１と条件レジスタ部２に保持されている１６ビットの条件を使用できるということになる。即ち、第５の実施形態に比べて、２倍の条件数を条件付き命令実行の際に使用できる。
【００５１】
また、第７の実施形態に係るＳＩＭＤ型マイクロプロセッサでは、算術論理演算回路から条件レジスタ部へ１サイクルで条件データを格納することが不可能なときなどに、フラグレジスタ群（フラグレジスタ群１、フラグレジスタ群２）で一旦フラグデータ若しくは条件データを保持し次サイクルで条件レジスタ部（条件レジスタ部１、条件レジスタ部２）へ転送することが可能である。
【００５２】
更に、条件デコード部（ＣＣＴ１、ＣＣＴ２）によって、多数の複雑な条件データを生成することが可能となり、このことにより演算速度が増大され得る。
【００５３】
《第８の実施形態》
図８は、本発明の第８の実施形態に係るＳＩＭＤ型マイクロプロセッサ８のＰＥ（プロセッサエレメント）４の一部の回路図である。第８の実施形態に係るＳＩＭＤ型マイクロプロセッサは、第７の実施形態に係るＳＩＭＤ型マイクロプロセッサと略同様のものである。
【００５４】
ただし、第８の実施形態に係るＰＥでは、図７に示す第７の実施形態に係るＰＥにおける条件デコード部（ＣＣＴ１、ＣＣＴ２）の替わりに、マルチプレクサ１及びマルチプレクサ２が設けられている。マルチプレクサ１及びマルチプレクサ２は、通常のマルチプレクサ回路である。
【００５５】
フラグレジスタ群（フラグレジスタ群１、フラグレジスタ群２）におけるフラグデータを直接条件データとするような場合は、図１１に示す条件デコード部のような回路は不必要である。即ち、このような場合には通常のマルチプレクサ回路の設定で十分な機能が備わることになる。通常のマルチプレクサ回路は小規模な回路であるから、図８に示すＰＥの回路は、図７に示すＰＥの回路よりも規模を縮小できる。
【００５６】
《第９の実施形態》
図９は、本発明の第９の実施形態に係るＳＩＭＤ型マイクロプロセッサ８のＰＥ（プロセッサエレメント）４の一部の回路図である。第９の実施形態に係るＳＩＭＤ型マイクロプロセッサを構成する各ＰＥは、４個の算術論理演算回路（ＡＬＵ１、ＡＬＵ２、ＡＬＵ３、ＡＬＵ４）、４個の演算結果格納用レジスタ、及び４個の条件レジスタ部を装備する。各ＰＥは、４個の演算器（算術論理演算回路）を統合させて処理する手段を有し、更に、４個の演算器を統合させて処理する際に４個の条件レジスタ部を統合する手段を有する。
【００５７】
また、各ＰＥは、４個の選択器（選択器１、選択器２、選択器３、選択器４）、フラグレジスタ群（フラグレジスタ群１、フラグレジスタ群２、フラグレジスタ群３、フラグレジスタ群４）、及び４個の条件デコード部（ＣＣＴ１、ＣＣＴ２、ＣＣＴ３、ＣＣＴ４）を含む。更に、条件デコード部１の直前にフラグ統合回路１４が設けられ、算術論理演算回路間には、一方からのキャリーを伝播する経路（１０ａ、１０ｂ、１０ｃ）が設けられる。
【００５８】
第９の実施形態に係るＰＥに含まれるフラグ統合回路１６には、フラグレジスタ群１のＮ１、Ｖ１、Ｚ１、Ｃ１と、フラグレジスタ群２のＺ２と、フラグレジスタ群３のＺ３と、フラグレジスタ群４のＮ４、Ｖ４、Ｚ４、Ｃ４が入力される。フラグ統合回路１６には、Ｎ、Ｖ、Ｃの３個から１個を選択する回路と、Ｚに関して４個のＺ（Ｚ１、Ｚ２、Ｚ３、Ｚ４）の論理和かフラグレジスタ群１のＺ１かを選択する回路とが、設けられている。
【００５９】
第９の実施形態に係るＰＥでは、６４ビットデータを１個処理する場合に、条件レジスタ部１〜４の３２ビットの条件データの中から１ビットが選択されて、４個の算術論理演算回路（ＡＬＵ１、ＡＬＵ２、ＡＬＵ３、ＡＬＵ４）に供給される。４個の算術論理演算回路（ＡＬＵ１、ＡＬＵ２、ＡＬＵ３、ＡＬＵ４）は、後続の条件付き命令実行の際に、この条件データに基づいて演算を実行するか否かを決定する。
【００６０】
また、１６ビットデータを４個処理する場合に、条件レジスタ部１〜４の８ビットの条件データの中から１ビットが選択されて、４個の算術論理演算回路（ＡＬＵ１、ＡＬＵ２、ＡＬＵ３、ＡＬＵ４）の夫々に供給される。４個の算術論理演算回路（ＡＬＵ１、ＡＬＵ２、ＡＬＵ３、ＡＬＵ４）は、後続の条件付き命令実行の際に、条件データに基づいて演算を実行するか否かを決定する。
【００６１】
第９の実施形態に係るＳＩＭＤ型マイクロプロセッサでは、６４ビット１個の演算か、若しくは１６ビット４個の演算かを選択できる。
【００６２】
《第１０の実施形態》
図１０は、本発明の第１０の実施形態に係るＳＩＭＤ型マイクロプロセッサ８のＰＥ（プロセッサエレメント）４の一部の回路図である。第１０の実施形態に係るＳＩＭＤ型マイクロプロセッサは、第９の実施形態に係るＳＩＭＤ型マイクロプロセッサと略同様のものである。
【００６３】
但し、第１０の実施形態に係るＰＥでは、２個の演算器（算術論理演算回路）を統合させて処理する手段を有し、その際２個の条件レジスタ部を統合する。即ち、第１０の実施形態に係るＰＥは、条件デコード部１の直前にフラグ統合回路１４ａを装備するだけでなく、条件デコード部３の直前にもフラグ統合回路１４ｂを装備する。
【００６４】
フラグ統合回路（１４ａ、１４ｂ）は、入力に対応する構成となっている。
【００６５】
第１０の実施形態に係るＰＥでは、６４ビットデータを１個処理する場合に、条件レジスタ部１〜４の３２ビットの条件データの中から１ビットが選択されて、４個の算術論理演算（ＡＬＵ１、ＡＬＵ２、ＡＬＵ３、ＡＬＵ４）に供給される。４個の算術論理演算回路（ＡＬＵ１、ＡＬＵ２、ＡＬＵ３、ＡＬＵ４）は、後続の条件付き命令実行の際に、この条件データに基づいて演算を実行するか否かを決定する。
【００６６】
また、３２ビットデータを２個処理する場合に、条件レジスタ部１〜２の１６ビットの条件データの中から１ビットが選択されて、ＡＬＵ１とＡＬＵ２の夫々に供給される。ＡＬＵ１及びＡＬＵ２は、後続の条件付き命令実行の際に、この条件データに基づいて演算を実行するか否かを決定する。同様に、条件レジスタ部３〜４の１６ビットの条件データの中から１ビットが選択されて、ＡＬＵ３とＡＬＵ４の夫々に供給される。ＡＬＵ３及びＡＬＵ４は、後続の条件付き命令実行の際に、この条件データに基づいて演算を実行するか否かを決定する。
【００６７】
更に、１６ビットデータを４個処理する場合に、条件レジスタ部１〜４の８ビットの条件データの中から１ビットが選択されて、４個の算術論理演算回路（ＡＬＵ１、ＡＬＵ２、ＡＬＵ３、ＡＬＵ４）の夫々に供給される。４個の算術論理演算回路（ＡＬＵ１、ＡＬＵ２、ＡＬＵ３、ＡＬＵ４）は、後続の条件付き命令実行の際に、条件データに基づいて演算を実行するか否かを決定する。
【００６８】
第１０の実施形態に係るＳＩＭＤ型マイクロプロセッサでは、６４ビット１個の演算か、３２ビット２個の演算か、若しくは１６ビット４個の演算かを選択できる。
【図面の簡単な説明】
【００６９】
【図１】本発明の第１の実施形態に係るＳＩＭＤ型マイクロプロセッサのＰＥ（プロセッサエレメント）の一部の回路図である。
【図２】本発明の第２の実施形態に係るＳＩＭＤ型マイクロプロセッサのＰＥ（プロセッサエレメント）の一部の回路図である。
【図３】本発明の第３の実施形態に係るＳＩＭＤ型マイクロプロセッサの一部の回路図である。
【図４】本発明の第４の実施形態に係るＳＩＭＤ型マイクロプロセッサのＰＥ（プロセッサエレメント）の一部の回路図である。
【図５】本発明の第５の実施形態に係るＳＩＭＤ型マイクロプロセッサのＰＥ（プロセッサエレメント）の一部の回路図である。
【図６】本発明の第６の実施形態に係るＳＩＭＤ型マイクロプロセッサのＰＥ（プロセッサエレメント）の一部の回路図である。
【図７】本発明の第７の実施形態に係るＳＩＭＤ型マイクロプロセッサのＰＥ（プロセッサエレメント）の一部の回路図である。
【図８】本発明の第８の実施形態に係るＳＩＭＤ型マイクロプロセッサのＰＥ（プロセッサエレメント）の一部の回路図である。
【図９】本発明の第９の実施形態に係るＳＩＭＤ型マイクロプロセッサのＰＥ（プロセッサエレメント）の一部の回路図である。
【図１０】本発明の第１０の実施形態に係るＳＩＭＤ型マイクロプロセッサのＰＥ（プロセッサエレメント）の一部の回路図である。
【図１１】フラグ統合回路の回路図である。
【図１２】条件レジスタ部（条件レジスタ部１、条件レジスタ２）の構成を示す構成図である。
【符号の説明】
【００７０】
２・・・グローバルプロセッサ、４・・・プロセッサエレメント（ＰＥ）、６・・・プロセッサエレメントアレイ部、８・・・ＳＩＭＤ型マイクロプロセッサ、１２・・・統合回路、１４・・・フラグ統合回路。
【図１】
2008071130.tif 000003
【図２】
2008071130.tif 000004
【図３】
2008071130.tif 000005
【図４】
2008071130.tif 000006
【図５】
2008071130.tif 000007
【図６】
2008071130.tif 000008
【図７】
2008071130.tif 000009
【図８】
2008071130.tif 000010
【図９】
2008071130.tif 000011
【図１０】
2008071130.tif 000012
【図１１】
2008071130.tif 000013
【図１２】
2008071130.tif 000014