(57)【特許請求の範囲】
【請求項１】
算術論理演算器と演算結果を保持するレジスタを含み前記レジスタが分割された状態で処理を行い得るプロセッサエレメントを、複数持つＳＩＭＤ型マイクロプロセッサにおけるデータ処理方法であって、
前記レジスタ外部のデータ設定手段によって、プロセッサエレメントの配置、及びレジスタの分割に基づいて、レジスタの分割単位にデータを設定することを特徴とするデータ処理方法。
【請求項２】
算術論理演算器と演算結果を保持するレジスタを含み前記レジスタが分割された状態で処理を行い得るプロセッサエレメントを、複数持つＳＩＭＤ型マイクロプロセッサにおけるデータ処理方法であって、
前記レジスタ外部のデータ設定手段によって、プロセッサエレメント間では異なるが、各プロセッサエレメント内のレジスタの分割単位間では同じデータを設定することを特徴とするデータ処理方法。
【請求項３】
算術論理演算器と演算結果を保持するレジスタを含み前記レジスタが分割された状態で処理を行い得るプロセッサエレメントを、複数持つＳＩＭＤ型マイクロプロセッサにおけるデータ処理方法であって、
レジスタの分割数をｉとし、各プロセッサエレメントには異なる番号ｎを付すとして、
前記レジスタ外部のデータ設定手段によって、プロセッサエレメントにおけるレジスタの分割単位の、上位ビット位置にあるものから、データとして（ｎ×ｉ）、（ｎ×ｉ＋１）・・・（ｎ×ｉ＋（ｉ−１））を設定することを特徴とするデータ処理方法。
【請求項４】
算術論理演算器と演算結果を保持するレジスタを含み前記レジスタが分割された状態で処理を行い得るプロセッサエレメントを、複数持つＳＩＭＤ型マイクロプロセッサにおけるデータ処理方法であって、
レジスタの分割数をｉ、プロセッサエレメントの配置数をｍａｘとし、各プロセッサエレメントには異なる番号ｎを付すとして、
前記レジスタ外部のデータ設定手段によって、プロセッサエレメントにおけるレジスタの分割単位の、上位ビット位置にあるものから、データとして（ｎ）、（ｎ＋ｍａｘ）・・・（ｎ＋ｍａｘ×（ｉ−１））を設定することを特徴とするデータ処理方法。
【請求項５】
各プロセッサエレメントには異なる番号ｎを付すとして、
レジスタを分割しない状態で処理を行う場合には、前記レジスタ外部のデータ設定手段によって、各プロセッサエレメントに含まれるレジスタにはデータとして（ｎ）を設定することを特徴とする請求項１に記載のデータ処理方法。
【請求項６】
算術論理演算器と演算結果を保持するレジスタを含み前記レジスタが分割された状態で処理を行い得る複数のプロセッサエレメントと、前記複数のプロセッサエレメントの制御を行なうグローバルプロセッサとを有するＳＩＭＤ型マイクロプロセッサにおけるデータ処理方法であって、
前記グローバルプロセッサによって、プロセッサエレメントの配置、及びレジスタの分割に基づいて、レジスタの分割単位にデータを設定することを特徴とするデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＳＩＭＤ型マイクロプロセッサに関し、特に、プロセッサエレメント内で演算結果を保持するレジスタを分割して使用する構造を備えるＳＩＭＤ型プロセッサエレメントに関する。
【背景技術】
【０００２】
近年、デジタル複写機やファクシミリ装置等の画像処理では、画素数の増加、画像処理の多様化などにより画質の向上が図られている。これらの画像処理では複数の画像データに対して同じ処理をすることが多い。そこで高速性を高めるために、１命令で複数のデータを同時処理するＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ−ｓｔｒｅａｍ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ−ｓｔｒｅａｍ）型のマイクロプロセッサが用いられることが多い。
【０００３】
ＳＩＭＤ型マイクロプロセッサは、算術論理演算器（ＡＬＵ）と演算レジスタを備えたプロセッサエレメントと呼ばれるブロックを持つが、複数のデータを一度に処理するためにプロセッサエレメントを複数個装備している。また、プロセッサエレメントには算術論理演算器に利用する汎用レジスタが装備されており、該算術論理演算器は、汎用レジスタのデータと演算レジスタのデータとの演算、又は、汎用レジスタのデータと命令コード中に記述された数値データとの演算等を行う。
【０００４】
ＳＩＭＤ型マイクロプロセッサは、１クロックサイクルで１命令を処理するから、１命令でプロセッサエレメントの個数分のデータを一度に処理することができる。ＳＩＭＤ型マイクロプロセッサの性能を表すには、動作周波数やプロセッサエレメントの個数、即ち１命令で処理できるデータの数などが重要であるが、一方で命令サイクル数も重要となる。つまり、同じ画像処理を行うのに必要な命令サイクルが少ないほうが性能がよいとされる。ただし、１命令で複雑な処理を行うとすれば、複雑な処理を行うための回路が必要となりコストが増加する。
【０００５】
ところで、１つのプロセッサエレメントで扱えるデータビットサイズを増やし、そのビットサイズを均等分割して一つのプロセッサエレメントで扱えるデータ数を増やしているＳＩＭＤ型マイクロプロセッサもある。このタイプのＳＩＭＤ型マイクロプロセッサでは、処理対象のデータのビットサイズが大きくても小さくても、扱うことができるというメリットがある。
【０００６】
例えば、１つのプロセッサエレメントで扱えるデータビットサイズを６４ビット、プロセッサエレメントの個数を２５６個とした場合、１サイクルで同時に処理できるデータ数は、データサイズが６４ビットの場合は２５６データ、データサイズが３２ビットの場合は２分割できるため２５６×２＝５１２データ、データサイズが１６ビットに至っては４分割できるため２５６×４＝１０２４データである。
【０００７】
上記のような分割のないＳＩＭＤ型マイクロプロセッサにおいてプロセッサエレメント（ＰＥ）に順に番号（ＰＥ番号）が付されているのと同様に、上記のように一つのプロセッサエレメントで扱えるデータ数を増やしているＳＩＭＤ型マイクロプロセッサにおいても、分割された個別データ単位に番号が順に付されることが、データ処理上望ましいことがある。例えば、プロセッサ設計段階におけるシミュレーションや、ＩＣ化されたときの選別におけるテストを行う場合である。
【０００８】
しかし、プロセッサエレメントにおける汎用レジスタの分割に合わせて、ＰＥ番号を分割された個別データ単位に対応させて設定するという構成を実現する発明は為されていない。
【０００９】
特許文献１の発明は、オペランドに指定したデータをレジスタ上に複数格納し、その複数データを一括して演算するとき、比較結果をフラグに残し高速に演算することを特徴とするプロセッサに関するが、レジスタにプロセッサエレメント毎で異なる値を入力する構成とはなっていない。特許文献２の発明は、プロセッサエレメントごとに固有の値とプロセッサエレメント共有の命令によって演算を行うＳＩＭＤ型並列装置に関するが、分割レジスタについての記述はなく、単体レジスタについての記載のみである。特許文献３の発明は、ＳＩＭＤ型マイクロプロセッサにおいてプロセッサエレメント毎に固有の値を入力できるようにし、各プロセッサエレメントに演算結果により以降の演算に条件を加える、条件フラグを作成する。更に特許文献４の発明は、グローバルプロセッサから各ＰＥに値を同時または条件をつけて設定することを目的とするものである。
【特許文献１】特開２００１−２６５５９２公報
【特許文献２】特開２００２−９１９２９公報
【特許文献３】特開２００２−１０８８３２公報
【特許文献４】特開２００１−２０２３５１公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明は、前述の汎用レジスタを複数分割し得るプロセッサエレメントを有するＳＩＭＤ型マイクロプロセッサおいて、複数分割される汎用レジスタを実効的に利用するデータ設定方法と、そのようなデータ設定を実現する手段を開発し、このことにより画像データ処理を行う命令実行サイクル数を減らすようにすることを目的としている。
【課題を解決するための手段】
【００１１】
本発明は、上記の目的を達成するためになされたものである。本発明に係る請求項１に記載のデータ処理方法は、
算術論理演算器と演算結果を保持するレジスタを含み前記レジスタが分割された状態で処理を行い得るプロセッサエレメントを、複数持つＳＩＭＤ型マイクロプロセッサにおけるデータ処理方法であって、
前記レジスタ外部のデータ設定手段によって、プロセッサエレメントの配置、及びレジスタの分割に基づいて、レジスタの分割単位にデータを設定することを特徴とするデータ処理方法である。
【００１２】
本発明に係る請求項２に記載のデータ処理方法は、
算術論理演算器と演算結果を保持するレジスタを含み前記レジスタが分割された状態で処理を行い得るプロセッサエレメントを、複数持つＳＩＭＤ型マイクロプロセッサにおけるデータ処理方法であって、
前記レジスタ外部のデータ設定手段によって、プロセッサエレメント間では異なるが、各プロセッサエレメント内のレジスタの分割単位間では同じデータを設定することを特徴とするデータ処理方法である。
【００１３】
本発明に係る請求項３に記載のデータ処理方法は、
算術論理演算器と演算結果を保持するレジスタを含み前記レジスタが分割された状態で処理を行い得るプロセッサエレメントを、複数持つＳＩＭＤ型マイクロプロセッサにおけるデータ処理方法であって、
レジスタの分割数をｉとし、各プロセッサエレメントには異なる番号ｎを付すとして、
前記レジスタ外部のデータ設定手段によって、プロセッサエレメントにおけるレジスタの分割単位の、上位ビット位置にあるものから、データとして（ｎ×ｉ）、（ｎ×ｉ＋１）・・・（ｎ×ｉ＋（ｉ−１））を設定することを特徴とするデータ処理方法である。
【００１４】
本発明に係る請求項４に記載のデータ処理方法は、
算術論理演算器と演算結果を保持するレジスタを含み前記レジスタが分割された状態で処理を行い得るプロセッサエレメントを、複数持つＳＩＭＤ型マイクロプロセッサにおけるデータ処理方法であって、
レジスタの分割数をｉ、プロセッサエレメントの配置数をｍａｘとし、各プロセッサエレメントには異なる番号ｎを付すとして、
前記レジスタ外部のデータ設定手段によって、プロセッサエレメントにおけるレジスタの分割単位の、上位ビット位置にあるものから、データとして（ｎ）、（ｎ＋ｍａｘ）・・・（ｎ＋ｍａｘ×（ｉ−１））を設定することを特徴とするデータ処理方法である。
【００１５】
本発明に係る請求項５に記載のデータ処理方法は、
各プロセッサエレメントには異なる番号ＰＥｎを付すとして、
レジスタを分割しない状態で処理を行う場合には、前記レジスタ外部のデータ設定手段によって、各プロセッサエレメントに含まれるレジスタにはデータとして（ｎ）を設定することを特徴とする請求項１に記載のデータ処理方法である。
本発明に係る請求項６に記載のデータ処理方法は、
算術論理演算器と演算結果を保持するレジスタを含み前記レジスタが分割された状態で処理を行い得る複数のプロセッサエレメントと、前記複数のプロセッサエレメントの制御を行なうグローバルプロセッサとを有するＳＩＭＤ型マイクロプロセッサにおけるデータ処理方法であって、
前記グローバルプロセッサによって、プロセッサエレメントの配置、及びレジスタの分割に基づいて、レジスタの分割単位にデータを設定することを特徴とするデータ処理方法。
【発明の効果】
【００１６】
本発明を利用すれば、ＳＩＭＤ型マイクロプロセッサにおいて複数分割され得る汎用レジスタを実効的に利用でき、このことにより画像データ処理を行う命令実行サイクル数を減らすようにすることができる。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照して本発明に係るＳＩＭＤ型マイクロプロセッサ、及び該ＳＩＭＤ型マイクロプロセッサにおけるデータ処理方法を説明する。
【００１８】
図１は、本発明を含む一般的なＳＩＭＤ型マイクロプロセッサ２の概略の構成を示すブロック図である。ＳＩＭＤ型マイクロプロセッサ２は、主としてプロセッサ２全体を制御するＣＩＳＣ型のグローバルプロセッサ（以下、ＧＰと言う。）４と、主として外部入出力装置からデータを入力しデータ処理を行い外部入出力装置にデータを出力するプロセッサエレメント３とから構成される。プロセッサエレメント３は、複数のデータを同時に処理するために複数用意されている。図１では、１個のＧＰ４と、（例えば）２５６個のプロセッサエレメント３とにより、ＳＩＭＤ型マイクロプロセッサ２が構成されている。
【００１９】
《第１の実施形態》
図２は、本発明の第１の実施形態に係るＳＩＭＤ型マイクロプロセッサ２の構成を示すブロック図である。ＧＰ４は、プログラムに記述された命令に従ってＳＣＵ（シーケンシャル・コントロール・ユニット；Ｓｅｑｕｅｎｔｉａｌ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）３６でデコードされた制御信号を各プロセッサエレメント３に送って、プロセッサエレメント３の制御を行う。ＧＰ４は、算術論理演算装置（ＡＬＵ）（図示せず。）も保持している。ＧＰ４はＡＬＵの演算結果などを汎用レジスタ（Ｇレジスタ）３４に保持する。更にＧＰ４は汎用レジスタ（Ｇレジスタ）３４から一度に全プロセッサエレメント３にデータを転送する経路（ＧＡバス）３０も有する。
【００２０】
プロセッサエレメント３は、（例えば）Ｒ０〜Ｒ３１までの３２本の汎用レジスタ１０と、汎用レジスタ１０からのデータをシフト処理若しくはデータ拡張処理するシフタ１２と、算術論理演算装置（ＡＬＵ）２０と、算術論理演算装置２０への２つの入力データを一旦保持する第１の記憶手段１６及び第２の記憶手段１８と、シフタ１２や算術論理演算装置２０の演算結果を保持する演算レジスタ（Ａレジスタ）２４と、演算結果により設定されるフラグデータを保持するＰＰレジスタ２２と、算術論理演算装置２０の結果をＡレジスタ２４に格納するか否かを制御する条件フラグを複数ビット持つＴレジスタ２６とから構成される。
【００２１】
第１の記憶手段１６には、ＧＰ４のＳＣＵ３６で命令コードから抜き出された即値データを転送することも可能である。第１の記憶手段１６への即値データの転送はＩＭＭとして示されている。即値は命令コードに１種類しか含まれないため、通常全プロセッサエレメントのＩＭＭは、同じデータである。
【００２２】
図２に示す本発明の第１の実施形態に係るＳＩＭＤ型マイクロプロセッサ２では、プロセッサエレメントの数は２５６とし、特に指定のないレジスタのサイズは３２ビットとする。また、レジスタのサイズの３２ビットに対してレジスタの分割数は２とする。３２本の汎用レジスタ１０は、図示していないが、外部装置（例えば、画像データの格納されたメモリ）と接続している。２５６個のプロセッサエレメントにおける同一番号の汎用レジスタは、水平ラインの画像データを一度に保持したりする。
【００２３】
更に、図２に示す本発明の第１の実施形態に係るＳＩＭＤ型マイクロプロセッサ２のプロセッサエレメント３には、ＰＥ番号を保持しているブロック（ＰＥ番号保持ブロック）２８を設けてある。前述のように、ＰＥ番号は、配列されるプロセッサエレメントに順に付される番号である。
【００２４】
例えば、２５６個のプロセッサエレメント３が装備され汎用レジスタ１０が２分割され得る場合は、“分割される個別データ単位に付すべき番号”として０〜５１１（＝２９−１）まで必要になる。即ち、９ビットが必要となるため、“分割される個別データ単位に付すべき番号”をＡレジスタ２４のビット０〜８にロードする構成とする。また、同じく９ビットの“分割される個別データ単位に付すべき番号”をビット１６〜２４にロードする構成とする。
【００２５】
なお以下では、“分割される個別データ単位に付すべき番号”を、「拡張ＰＥ番号」と称することとする。
【００２６】
次に、本発明の第１の実施形態に係るＳＩＭＤ型マイクロプロセッサ２によるデータ処理方法を説明する。まず、ＰＥ番号保持ブロック２８から、ＰＥ番号がＡレジスタ２４にロードされる。なお、上述のように、２５６個のプロセッサエレメント３が装備され汎用レジスタ１０が２分割され得る場合は、拡張ＰＥ番号として０〜５１１（＝２９−１）まで必要になる。
【００２７】
まず、ＰＥ番号をＡレジスタ２４のビット０〜８とビット１６〜２４にロードする。Ａレジスタ２４にロードされた後、Ａレジスタ２４のデータ、若しくは、命令に記述される即値データたるＩＭＭが、第１の記憶手段１６に保持され、Ａレジスタ２４のデータにつきシフタ１２を経由させたものが、第２の記憶手段１８に保持される。第１の記憶手段１６のデータと第２の記憶手段１８のデータがＡＬＵ２０にて演算され、その結果が再度Ａレジスタ２４に設定される。こうすることでＡレジスタ２４の上位１６ビットと下位１６ビットとにおいて、ＰＥ番号から作られるデータ（ここでは、拡張ＰＥ番号）を一度に設定することができる。上記のデータ処理方法は、ＡＬＵ２０を１回しか伝播しないため、クロックサイクルは１サイクルでしかない。
【００２８】
《第２の実施形態》
本発明の第２の実施形態に係るＳＩＭＤ型マイクロプロセッサ２におけるデータ処理方法を説明する。第２の実施形態に係るデータ処理方法も、図１及び図２に構成を示すＳＩＭＤ型マイクロプロセッサ２を利用して行うものである。
【００２９】
まず、プロセッサエレメント３毎に異なる番号ｎ（ｎ＝０〜２５５）がＡレジスタ２４にロードされる。このとき例えば、各プロセッサエレメント３では、ＰＥ番号保持ブロック２８からＰＥ番号がＡレジスタ２４のビット０〜８とビット１６〜２４に設定される。このＡレジスタ２４の値がシフタ１２でのシフトなしに第２の記憶手段１８に保持され、一方第１の記憶手段１６にはＩＭＭから０が入力保持される。そして、第１の記憶手段１６と第２の記憶手段１８のデータがＡＬＵ２０にて論理和される、若しくは加算される。こうすることで、Ａレジスタ２４の上位１６ビットと下位１６ビットに、同じＰＥ番号が保持される。以上の処理を全プロセッサエレメント３で同時に行うため、結果的に図３に示すパターンＡのようにＡレジスタ２４が設定されることになる。このようなＡレジスタ２４のデータは、同じプロセッサエレメント３にて２分割された汎用レジスタ１０に同じ処理をする場合に用いることができる。
【００３０】
また、図３に示すＡレジスタ２４のパターンＡの設定は、別の手順でも実施できる。まず、各プロセッサエレメント３にて、ＰＥ番号保持ブロック２８からＰＥ番号をＡレジスタ２４のビット０〜８に設定する。このＡレジスタ２４の値をそのまま第１の記憶手段１６に保持し、一方Ａレジスタ２４の値をシフタ１２経由で１６ビット左シフトして第２の記憶手段１８に保持する。第１の記憶手段１６と第２の記憶手段１８のデータをＡＬＵ２０にて論理和すると、若しくは加算すると、図３に示すＡレジスタ２４のパターンＡが実現される。
【００３１】
図４に示すように、原稿をスキャナで読み取り画像処理をする場合、通常、ＳＩＭＤ型マイクロプロセッサに一度に入力されるデータは、主走査方向に連続する２５６個のデータの単位である（このデータの単位は、ＳＩＭＤ型マイクロプロセッサで１回で演算し得る最大量であるという意味で１ＳＩＭＤとも称される。）。各プロセッサエレメント３において２分割処理をする場合には、主走査方向の更なる１ＳＩＭＤ分のデータ、若しくは副走査方向の１ＳＩＭＤ分のデータを同時に処理できる。画像処理では副走査方向に隣接する同じ主走査方向位置では、同じ処理を行うことが多いため、副走査方向に隣接して同じ主走査方向位置にある上下２ＳＩＭＤ分のデータ処理には、パターンＡのような演算レジスタ（Ａレジスタ）２４を用意することが有効である。
【００３２】
《第３の実施形態》
本発明の第３の実施形態に係るＳＩＭＤ型マイクロプロセッサ２におけるデータ処理方法を説明する。第３の実施形態に係るデータ処理方法も、図１及び図２に構成を示すＳＩＭＤ型マイクロプロセッサ２を利用して行うものである。
【００３３】
まず、各プロセッサエレメント３では、ＰＥ番号保持ブロック２８からＰＥ番号がＡレジスタ２４のビット０〜８とビット１６〜２４に設定される。このＡレジスタ２４の値がシフタ１２で１ビット左シフトされて第２の記憶手段１８に保持され、一方第１の記憶手段１６にはＩＭＭから“１”が入力保持される。第１の記憶手段１６と第２の記憶手段１８のデータがＡＬＵ２０にて加算される。こうすることで、ＰＥ番号が連続する複数のプロセッサエレメントの各々において、Ａレジスタ２４の上位１６ビットと下位１６ビットに、連続する拡張ＰＥ番号が保持されることになる。つまり、図３に示すパターンＢのようなＡレジスタ２４が１クロックサイクルで設定されることになる。
【００３４】
図４に示すような画像処理において、主走査方向に連続する２ＳＩＭＤ分の５１２個のデータを処理する場合、汎用レジスタ１０の分割単位に夫々に異なるデータを設定できることになり一度に５１２個のデータを扱えるＳＩＭＤ型マイクロプロセッサとすることができる。
【００３５】
《第４の実施形態》
本発明の第４の実施形態に係るＳＩＭＤ型マイクロプロセッサ２におけるデータ処理方法を説明する。第４の実施形態に係るデータ処理方法も、図１及び図２に構成を示すＳＩＭＤ型マイクロプロセッサ２を利用して行うものである。
【００３６】
まず、各プロセッサエレメント３では、ＰＥ番号保持ブロック２８からＰＥ番号がＡレジスタ２４のビット０〜８とビット１６〜２４に設定される。このＡレジスタ２４の値がシフタ１２でのシフト無しで第２の記憶手段１８に保持され、一方第１の記憶手段１６にはＩＭＭから“２５６＝１００ｈ”（“ｈ”は１６進表記であることを示す。）が入力保持される。第１の記憶手段１６と第２の記憶手段１８のデータがＡＬＵ２０にて加算される。こうすることで、ＰＥ番号が連続するプロセッサエレメントにおいて、Ａレジスタ２４の上位１６ビットに連続する拡張ＰＥ番号が保持され、下位１６ビットにその後続の連続する拡張ＰＥ番号が保持されることになる。つまり、図３に示すパターンＣのようなＡレジスタ２４が１クロックサイクルで設定されることになる。
【００３７】
《第５の実施形態》
本発明の第５の実施形態に係るＳＩＭＤ型マイクロプロセッサ２におけるデータ処理方法を説明する。第５の実施形態に係るデータ処理方法も、図１及び図２に構成を示すＳＩＭＤ型マイクロプロセッサ２を利用して行うものである。
【００３８】
このデータ処理方法は、汎用レジスタ１０をフルビットで使用する場合の方法である。このとき、各プロセッサエレメント３にてＰＥ番号保持ブロック２８からＰＥ番号をＡレジスタ２４のビット０〜８に設定することで、分割が無い３２ビット×２５６データのＳＩＭＤ型マイクロプロセッサに対応できることとなる。このようなＡレジスタ２４の設定は、上位ビットをマスクする制御信号をグローバルプロセッサ４から出力することでも実現できる。また、ＰＥ番号をＡレジスタ２４のビット０〜８とビット１６〜２４に設定し、シフタ１２で右に１６ビットシフトして第２の記憶手段１８に保持し、ＩＭＭから“０”を第１の記憶手段１６に入力保持し、第１の記憶手段１６と第２の記憶手段１８のデータをＡＬＵ２０で論理和若しくは加算することでも実現できる。
【００３９】
《第６の実施形態》
以上の第１の実施形態から第４の実施形態に係るＳＩＭＤ型マイクロプロセッサにおいては、３２ビットの汎用レジスタが２分割されて使用されることを想定している。汎用レジスタが３２ビット以外のデータ幅、例えば６４ビットであっても、勿論、上記の第１〜第４の実施形態に係るデータ処理方法は実施できる。
【００４０】
６４ビットの汎用レジスタ１０を１６ビット×４分割で使用する場合、プロセッサエレメント４の数を２５６個と仮定すると、拡張ＰＥ番号には０〜１０２３（＝２１０−１）の１０ビットが必要となる。従って、Ａレジスタ２４における（拡張）ＰＥ番号の設定ビットをビット０〜９、ビット１６〜２５、ビット３２〜４１、ビット４８〜５７の４箇所とする。なお、ＡＬＵ、シフタ、その他レジスタ、及びバスは、６４ビットに対応するものとなっていると仮定する。
【００４１】
図３に示すパターンＡを実現するには、まず、ＰＥ番号をＡレジスタ２４のビット０〜９、ビット１６〜２５、ビット３２〜４１、ビット４８〜５７に設定し、それをシフタ１２でのシフトなしで第２の記憶手段１８に保持する。一方、第１の記憶手段１６にはＩＭＭから０を入力保持する。第１の記憶手段１６と第２の記憶手段１８のデータをＡＬＵ２０にて論理和若しくは加算すれば、４分割されたＡレジスタ２４の夫々に同じ拡張ＰＥ番号を保持することができる。
【００４２】
図３に示すパターンＢを実現するには、まず、ＰＥ番号をＡレジスタ２４のビット０〜９、ビット１６〜２５、ビット３２〜４１、ビット４８〜５７に設定し、それをシフタ１２で２ビット左シフトして第２の記憶手段１８に保持する。一方、第１の記憶手段１６にはＩＭＭから“１＿０００２＿０００３ｈ”（ここで、“＿”は１６ビット毎の区切りを示す表記である）を入力保持する。第１の記憶手段１６と第２の記憶手段１８のデータをＡＬＵ２０にて論理和若しくは加算すれば、４分割されたＡレジスタにおける分割単位の各々に、パターンＢのように、連続する拡張ＰＥ番号が保持されることになる。
【００４３】
図３に示すパターンＣを実現するには、まず、ＰＥ番号をＡレジスタ２４のビット０〜９、ビット１６〜２５、ビット３２〜４１、ビット４８〜５７に設定し、それをシフタ１２でのシフトなしで第２の記憶手段１８に保持する。一方、第１の記憶手段１６にはＩＭＭから“１００＿０２００＿０３００ｈ”を入力保持する。第１の記憶手段１６と第２の記憶手段１８のデータをＡＬＵ２０にて加算する。こうすることで、ＰＥ番号が連続するプロセッサエレメントにおいて、Ａレジスタ２４のビット４８〜５７に連続する拡張ＰＥ番号が保持され、続いてビット３２〜４１にその後続の連続する拡張ＰＥ番号が保持され、続いてビット１６〜２５にその後続の連続する拡張ＰＥ番号が保持され、更に続いてビット０〜９に更に後続の連続する拡張ＰＥ番号が保持されることになる。
【図面の簡単な説明】
【００４４】
【図１】本発明を含む一般的なＳＩＭＤ型マイクロプロセッサの概略の構成を示すブロック図である。
【図２】本発明の第１の実施形態に係るＳＩＭＤ型マイクロプロセッサの構成を示すブロック図である。
【図３】本発明における演算レジスタの設定のパターンを複数示す図である。
【図４】原稿をスキャナで読み取り画像処理をする場合の主走査方向と副走査方向の関係を示す図である。
【符号の説明】
【００４５】
２・・・ＳＩＭＤ型マイクロプロセッサ、３・・・プロセッサエレメント、４・・・グローバルプロセッサ、８・・・演算アレイ、１０・・・汎用レジスタ、１２・・・シフタ、１６・・・第１の記憶手段、１８・・・第２の記憶手段、２０・・・ＡＬＵ、２４・・・Ａレジスタ（演算レジスタ）、２８・・・ＰＥ番号保持ブロック。
【図１】
0004516495.tif 000002
【図２】
0004516495.tif 000003
【図３】
0004516495.tif 000004
【図４】
0004516495.tif 000005