(57)【要約】  共通の処理命令を格納した専用のメモリを設けることなく、異なる処理体系を混在させて並列に処理を実行することのできる情報処理装置及び集積回路を提供することを目的とする。  情報処理装置は、複数のプロセッサエレメントと、第１プログラム及び第２プログラムを記憶している命令メモリと、前記複数のプロセッサエレメントと前記命令メモリとの間に介在し、各プロセッサエレメントからの前記第１プログラムの命令及び前記第２プログラムの命令の要求を受け付け、各プロセッサエレメントのアクセス制御を行うアービターとを備え、前記アービターは、各プロセッサエレメントから同時に異なる命令に対する要求場合には調停を行い、２つ以上のプロセッサエレメントから同時に同一プログラム内の同一の命令に対する要求があると当該命令メモリの利用が可能な場合には要求元の各プロセッサへ当該命令を同時に出力する。
2010122746.tif 000002
【特許請求の範囲】
【請求項１】
複数のプロセッサエレメントと、
第１プログラム及び第２プログラムを記憶している命令メモリと、
前記複数のプロセッサエレメントと前記命令メモリとの間に介在し、各プロセッサエレメントからの前記第１プログラムの命令及び前記第２プログラムの命令の要求を受け付け、各プロセッサエレメントのアクセス制御を行うアービターとを備え、
前記アービターは、
プロセッサエレメントそれぞれから同時に同一プログラム内の異なる命令に対する要求、及び異なるプログラム内の命令に対する要求がある場合には調停を行い、
２つ以上のプロセッサエレメントから同時に同一プログラム内の同一の命令に対する要求があると、当該命令メモリの利用が可能な場合には要求元である各プロセッサへ当該命令を同時に出力する
ことを特徴とする情報処理装置。
【請求項２】
前記第１プログラムは、２つ以上のプロセッサエレメントで実行される共通の処理命令を含むＳＩＭＤ型プログラムであり、
前記第２プログラムは、プロセッサエレメント毎に実行されるＭＩＭＤ型プログラムである
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記情報処理装置は、さらに、
前記命令メモリとは別の命令メモリを備え、
前記別の命令メモリは、前記ＭＩＭＤ型プログラムとは別のＭＩＭＤ型プログラムを記憶しており、
前記アービターは、
少なくとも１つのプロセッサエレメントから前記別のＭＩＭＤ型プログラムへのアクセス要求を受け付けると、当該少なくとも１つのプロセッサエレメントに対して、前記別のＭＩＭＤ型プログラムの命令を出力する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記複数のプロセッサエレメントは、前記ＳＩＭＤ型プログラムへのアクセス要求を同時に行い、前記ＳＩＭＤ型プログラムに含まれる前記複数のプロセッサエレメントの全てに共通の命令を同時に実行し、
共通の命令を実行した後、前記複数のプロセッサエレメントのそれぞれは、当該プロセッサエレメントの処理態様に応じて、前記ＭＩＭＤ型プログラム、前記別のＭＩＭＤ型プログラム及び前記ＳＩＭＤ型プログラムの何れかへのアクセス要求を行う
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記ＭＩＭＤ型プログラムのサイズは、前記別のＭＩＭＤ型プログラムのサイズより小さいものである
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記情報処理装置は、画像処理を行う装置であり、
前記ＳＩＭＤ型プログラムには、処理すべき画像全てに共通の処理命令が含まれ、
前記ＭＩＭＤ型プログラム及び前記別のＭＩＭＤ型プログラムには、処理すべき画像の種別に応じた、異なる処理命令が含まれている
ことを特徴とする請求項４に記載の情報処理装置。
【請求項７】
前記情報処理装置は、デジタルテレビに備えられる
ことを特徴とする請求項６に記載の情報処理装置。
【請求項８】
複数のプロセッサエレメントと、
第１プログラム及び第２プログラムを記憶している命令メモリと、
前記複数のプロセッサエレメントと前記命令メモリとの間に介在し、各プロセッサエレメントからの前記第１プログラムの命令及び前記第２プログラムの命令の要求を受け付け、各プロセッサエレメントのアクセス制御を行うアービターとを備え、
前記アービターは、
プロセッサエレメントそれぞれから同時に同一プログラム内の異なる命令に対する要求、及び異なるプログラム内の命令に対する要求がある場合には調停を行い、
２つ以上のプロセッサエレメントから同時に同一プログラム内の同一の命令に対する要求があると、当該命令メモリの利用が可能な場合には要求元である各プロセッサへ当該命令を同時に出力する
ことを特徴とする集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、並列に実行する複数のプロセッサエレメントそれぞれが実行すべきプログラムに対するアクセス制御の技術に関する。
【背景技術】
【０００２】
ＴＶやレコーダ、デジタルビデオカメラ、デジタルカメラ、携帯電話などに使用するＬＳＩでは、動作周波数低減の為、ビデオコーデックや画像処理に含まれるデータ並列処理に、ＳＩＭＤ型（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉ  Ｄａｔａ）並列プロセッサが使用される。一般的にＳＩＭＤ型並列プロセッサでは、命令流が１つで複数のデータに対して同時に同じ処理を実行する為、ＳＩＭＤ型並列プロセッサを構成する各要素プロセッサに１画素を割り当て、複数画素を同時に処理させる。要素プロセッサの数を増加させることにより、同時処理可能な画素数が増え、動作周波数を低減可能である。【０００３】
しかしながら、ビデオコーデックの技術分野では、圧縮率を向上させる為、データの処理単位が小さくなる傾向にある。例えば、ＭＰＥＧ−２では動き補償の輝度情報の最小参照単位は１６×８画素であったが、Ｈ．２６４では４×４画素である。従って、ＳＩＭＤ型並列プロセッサにおいては、要素プロセッサの数を増やしても、処理単位以上は簡単に並列度を上げることはできない。【０００４】
ＳＩＭＤ型の処理体系だけで処理するには、事前に複雑なデータの並び替えが発生し、同時にプログラム構造も複雑となる。そこで、ＳＩＭＤ型の処理体系とＭＩＭＤ型（Ｍｕｌｔｉ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉ  Ｄａｔａ）の処理体系を動的に切り替える手法が提案されている（例えば、特許文献１、特許文献２参照）。【０００５】
特許文献１及び特許文献２では、ＳＩＭＤ型の処理を実行するプログラム（以下、ＳＩＭＤ型プログラムという。）を格納している命令メモリ及びＭＩＭＤ型の処理を実行するプログラム（以下、ＭＩＭＤ型プログラムという。）を格納している命令メモリと、複数のプロセッサエレメントとの間をスイッチで接続し、このスイッチを用いることでＳＩＭＤ型の処理とＭＩＭＤ型の処理を動的に切り替えている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平３−２１１６５６号公報
【特許文献２】特許第３１９９２０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来、複数のプロセッサエレメントがＭＩＭＤ型の処理体系では、各プロセッサエレメントが個別に処理を実行するのでプロセッサエレメント毎に実行すべきプログラムを格納する命令メモリ（個別メモリ）が対応付けられている。【０００８】
また、ＳＩＭＤ型の処理体系とＭＩＭＤ型の処理体系とを混在させて並列に処理を実行したいという要望、つまり複数のプロセッサエレメントのうち一部のプロセッサエレメントに共通の処理を同時に実行させたいという要望がある。この場合、上記の技術を用いると、共通の処理命令（ＳＩＭＤ型の処理命令）を格納した別の命令メモリ（専用メモリ）を別途用意して、スイッチにより共通の処理を実行する一部のプロセッサエレメントに対して個別メモリから専用メモリへと接続先を変更することで実現できる。【０００９】
しかしながら、ＩＭＤ型の処理体系とＭＩＭＤ型の処理体系とを混在させて並列に処理を実行させるために、ＳＩＭＤ型の処理命令を格納した専用のメモリを設けることは、コスト高となるという問題がある。【００１０】
そこで、本発明は、共通の処理命令を格納した専用のメモリを設けることなく、異なる処理体系を混在させて並列に処理を実行することのできる情報処理装置及び集積回路を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記にて示す目的を達成するために、本発明は、情報処理装置であって、複数のプロセッサエレメントと、第１プログラム及び第２プログラムを記憶している命令メモリと、前記複数のプロセッサエレメントと前記命令メモリとの間に介在し、各プロセッサエレメントからの前記第１プログラムの命令及び前記第２プログラムの命令の要求を受け付け、各プロセッサエレメントのアクセス制御を行うアービターとを備え、前記アービターは、プロセッサエレメントそれぞれから同時に同一プログラム内の異なる命令に対する要求、及び異なるプログラム内の命令に対する要求がある場合には調停を行い、２つ以上のプロセッサエレメントから同時に同一プログラム内の同一の命令に対する要求があると、当該命令メモリの利用が可能な場合には要求元である各プロセッサへ当該命令を同時に出力することを特徴とする。
【発明の効果】
【００１２】
この構成によると、情報処理装置は、第１プログラムと第２プログラムを１つの命令メモリに記憶し、アービターにより複数のプロセッサエレメントによるアクセスの制御を行うので、従来のように第１プログラム及び第２プログラムそれぞれについて個別の命令メモリを用意する必要することなく、複数のプロセッサエレメントそれぞれが実行すべきプログラムへのアクセスが可能となる。
【図面の簡単な説明】
【００１３】
【図１】情報処理装置１００の構成を示すブロック図である。
【図２】第１命令メモリ１０１〜第３命令メモリ１０３で記憶されているプログラムの一例を示す図である。
【図３】通信ネットワーク１０４及びアービター１０５の構成を示す図である。
【図４】全ＰＥ共通動作の処理の動作を示すタイミングチャートである。
【図５】全ＰＥ共通動作から一部ＰＥ共通動作への遷移を示すタイミングチャートである。
【図６】一部ＰＥ共通動作から全ＰＥ共通動作への遷移を示すタイミングチャートである。
【図７】情報処理装置１００を適用したシステムＬＳＩ５００の構成を示すブロック図である。
【図８】情報処理装置１００を適用したテレビ６００の構成を示すブロック図である。
【図９】情報処理装置１００を適用したレコーダ７００の構成を示すブロック図である。
【図１０】情報処理装置１００を適用したデジタルカメラ８００の構成を示すブロック図である。
【図１１】情報処理装置１００を適用した携帯電話機９００の構成を示すブロック図である。
【発明を実施するための形態】
【００１４】
１．第１の実施の形態
図面を参照しながら、本実施の形態に係る情報処理装置について説明する。
【００１５】
１．１  情報処理装置１００の構成
ここでは、情報処理装置１００の概要と構成について説明する。
【００１６】
情報処理装置１００は、図１に示すように、第１命令メモリ１０１、第２命令メモリ１０２、第３命令メモリ１０３、通信ネットワーク１０４、  アービター１０５、第１プロセッサエレメント（ＰＥ）１１１、第２ＰＥ１１２、第３ＰＥ１１３、第４ＰＥ１１４及びデータメモリ１１５、１１６、１１７、１１８を備えている。情報処理装置１００は、例えば、これらの構成要素を備える並列プロセッサである。
【００１７】
（１）第１命令メモリ１０１、第２命令メモリ１０２、第３命令メモリ１０３
第１命令メモリ１０１には、図２に示すように、ＳＩＭＤプログラム２００、及びＭＩＭＤプログラム２０１が格納されている。
【００１８】
また、図２に示すように、第２命令メモリ１０２にはＭＩＭＤプログラム２０２が、第３命令メモリ１０３にはＭＩＭＤプログラム２０３が格納されている。
【００１９】
ＳＩＭＤプログラム２００には、第１ＰＥ１１１〜第４ＰＥ１１４が共通して実行する命令が含まれている。また、ＭＩＭＤプログラム２０１〜２０３には、それぞれ異なる処理を実行する命令が含まれている。各ＰＥは、同時に何れかのＭＩＭＤプログラムを実行することで、複数の異なるデータを並行処理することができる。
【００２０】
例えば、当該情報処理装置が画像処理を行う際において、処理すべきマクロブロックのタイプが異なる場合には、処理単位が小さい為、ＳＩＭＤ型で処理を行っても並列度が上がらない。その為マクロブロック単位に異なる処理毎にＭＩＭＤプログラム２０１〜２０３を割り当てることで、異なるマクロブロックタイプのプログラムを同時実行可能にする。
【００２１】
（２）データメモリ１１５〜１１８
データメモリ１１５〜１１８それぞれは、第１ＰＥ１１１〜第４ＰＥ１１４それぞれに割り当てられている。例えば、データメモリ１１５は第１ＰＥ１１１に、データメモリ１１６は第２ＰＥ１１２に、それぞれ割り当てられている。
【００２２】
データメモリ１１５〜１１８には、割り当てられたＰＥが処理すべきデータが格納される。
【００２３】
（３）第１ＰＥ１１１〜第４ＰＥ１１４
第１ＰＥ１１１〜第４ＰＥ１１４それぞれは、割り当てられたデータメモリに格納されたデータに対する処理を行うものである。
【００２４】
第１ＰＥ１１１〜第４ＰＥ１１４それぞれは、プログラムカウンタ（ＰＣ）１０６〜１０９を有しており、プログラムカウンタが示す値に応じて、命令メモリ１０１〜１０３の何れかに格納されているプログラムの命令を読み出し、実行することで、割り当てられたデータメモリに格納されたデータに対する処理を行う。
【００２５】
（４）アービター１０５
アービター１０５は、ＰＥ１１１〜１１４からの命令メモリ１０１〜１０３への命令の要求を受け付け、アクセスの競合が発生する場合には調停を行うものである。
【００２６】
具体的には、アービター１０５は、図３に示すように、アドレス生成部１６０ａ〜１６０ｃ、アドレス不一致判定部１６１ａ〜１６１ｃ、アクセス判定部１６２ａ〜１６２ｃ、ウエイト信号生成部１６３ａ〜１６３ｄ、セレクト信号生成部１６４及びバス１６５〜１６８を有している。
【００２７】
アクセス判定部１６２ａは、第１命令メモリ１０１へのアクセスを要求するＰＥを判定するものである。
【００２８】
アドレス不一致判定部１６１ａは、第１命令メモリ１０１へのアクセスを要求する２以上のＰＥに対してアクセスを要求するアドレスが一致するか否かを判定するものである。
【００２９】
アドレス生成部１６０ａは、第１命令メモリ１０１へのアクセスに対して競合を判定する機能と、第１命令メモリ１０１へのアクセスするアドレスを生成する機能を有している。具体的には、アドレス不一致判定部１６１ａにおいて第１命令メモリ１０１へのアクセスを要求する２以上のＰＥに対してアクセスを要求するアドレスが不一致であると判定する場合には、アドレス生成部１６０ａの競合判定の機能は、アクセスを要求する異なるアドレスのうち最も小さいアドレス値を優先して、アドレス生成するようアドレス生成機能を制御する。そして、アドレス生成部１６０ａのアドレス生成の機能は、第１命令メモリ１０１へのアクセスに対するアドレスを生成する。このとき、アドレス生成の機能は、異なるアドレスが要求されている場合には競合判定の機能の制御により最も小さいアドレス値を生成し、同一のアドレスが要求されている場合にはそのアドレス値を生成する。
【００３０】
また、アクセス判定部１６２ｂは第２命令メモリ１０２に、アクセス判定部１６２ｃは第３命令メモリ１０３に対するものであり、その機能はアクセス判定部１６２ａと同様であるので、ここでの説明は省略する。
【００３１】
アドレス不一致判定部１６１ｂは第２命令メモリ１０２へのアクセスに、アドレス不一致判定部１６１ｃは第３命令メモリ１０３にそれぞれ対するものであり、その機能はアドレス不一致判定部１６１ａと同様であるので、ここでの説明は省略する。
【００３２】
アドレス生成部１６０ｂは第２命令メモリ１０２へのアクセスに、アドレス生成部１６０ｃは第３命令メモリ１０３にそれぞれ対するものであり、その機能はアドレス生成部１６０ａと同様であるので、ここでの説明は省略する。
【００３３】
ウエイト信号生成部１６３ａは、アドレス生成部１６０ａ〜１６０ｃの競合判定の機能による判定結果に応じて、第１ＰＥ１１１に対してウエイト信号を生成し、発行するものである。
【００３４】
ウエイト信号生成部１６３ｂは、アドレス生成部１６０ａ〜１６０ｃの競合判定の機能による判定結果に応じて、第２ＰＥ１１２に対してウエイト信号を生成し、発行するものである。
【００３５】
ウエイト信号生成部１６３ｃは、アドレス生成部１６０ａ〜１６０ｃの競合判定の機能による判定結果に応じて、第３ＰＥ１１３に対してウエイト信号を生成し、発行するものである。
【００３６】
ウエイト信号生成部１６３ｄは、アドレス生成部１６０ａ〜１６０ｃの競合判定の機能による判定結果に応じて、第４ＰＥ１１４に対してウエイト信号を生成し、発行するものである。
【００３７】
セレクト信号生成部１６４は、ＰＥ１１１〜１１４が命令を要求する命令メモリを示す信号を生成するものである。
【００３８】
バス１６８は第１ＰＥ１１１のＰＣ１０６の値を受け付けるものであり、バス１６７は第２ＰＥ１１２のＰＣ１０７の値を受け付けるものである。また、バス１６６は第３ＰＥ１１３のＰＣ１０８の値を受け付けるものであり、バス１６５は第４ＰＥ１１４のＰＣ１０９の値を受け付けるものである。バス１６５〜１６８それぞれは、アクセス判定部１６２ａ〜１６２ｃへ出力する。
【００３９】
（５）通信ネットワーク１０４
通信ネットワーク１０４は、図３に示すように、バス１５１〜１５３及び出力部１５４〜１５７を有している。
【００４０】
バス１５１は、アドレス生成部１６０ａで生成された第１命令メモリ１０１に対するアドレスが示す命令を受け付けるものである。
【００４１】
バス１５２は、アドレス生成部１６０ｂで生成された第２命令メモリ１０２に対するアドレスが示す命令を受け付けるものである。
【００４２】
バス１５３は、アドレス生成部１６０ｃで生成された第３命令メモリ１０３に対するアドレスが示す命令を受け付けるものである。
【００４３】
出力部１５４〜１５７それぞれは、第１ＰＥ１１１〜第４ＰＥ１１４に１対１に割り当てられており、セレクト信号生成部１６４で生成された信号に基づいて、第１命令メモリ１０１〜第３命令メモリ１０３から取得した命令を割り当てられたＰＥへ出力する。例えば、出力部１５４は、セレクト信号生成部１６４で生成された信号を基に、第１ＰＥ１１１が要求した命令メモリの命令をバス１５１を介して受け取り、当該第１ＰＥ１１１へ出力する。
【００４４】
１．２  動作
ここでは、情報処理装置１００の動作について、図を用いて説明する。
【００４５】
（１）全ＰＥ共通動作
先ず、全ＰＥが共通の動作を行う場合について、図４に示すタイミングチャートを用いて説明する。
【００４６】
第１ＰＥ１１１〜第４ＰＥ１１４は、プログラムカウンタの値に基づいて、第１命令メモリ１０１のＳＩＭＤプログラム２００のある同一の命令を要求する（ｔ１）。ここで、プログラムカウンタの値は３桁の数値からなり、最上位の桁には０、１、２が設定される。値０は第１命令メモリ１０１を、値１は第２命令メモリ１０２を、値２は第３命令メモリ１０３をそれぞれ示す。他の桁は最上位の桁で示される命令メモリに存在する命令を識別するものであり、例えばアドレスである。例えば、プログラムカウンタの値が“０００”である場合には、第１命令メモリ１０１の命令の番号が“００”である命令を要求することになる。図４のｔ１時点では、全てのＰＥが第１命令メモリ１０１の命令の番号が“００”である命令を要求している。
【００４７】
アクセス判定部１６２ａ〜１６２ｃ及びセレクト信号生成部１６４は、各ＰＥからのプログラムカウンタの値を受け付ける（ｔ２）。アクセス判定部１６２ａ〜１６２ｃは、受け取ったプログラムカウンタの値に基づいて、当該アクセス判定部が割り当てられている命令メモリに対してどのＰＥがアクセスを要求しているかを判定する。そして、アクセス判定部１６２ａ〜１６２ｃは、その結果（以下、アクセス判定結果という。）を対応するアドレス不一致判定部１６１ａ〜１６１ｃへ出力する。ここで、アクセス判定結果は、４桁の数値からなり、各桁について左から順に、第１ＰＥ１１１、第２ＰＥ１１２、第３ＰＥ１１３及び第４ＰＥ１１４が対応付けられており、各桁には値０又は１が設定される。値０は当該アクセス判定部に割り当てられた命令メモリへのアクセスを要求しない旨（ｎｏｎ−ａｃｃｅｓｓ）を、値１は割り当てられた命令メモリへのアクセスを要求する旨を示す。図４のｔ２時点でプログラムカウンタ（値“０００”）を受け取った場合には、アクセス判定部１６２ａは、全てのＰＥが第１命令メモリ１０１へのアクセスを要求していることを示す４桁の値“１１１１”を生成する。また、アクセス判定部１６２ｂ、１６２ｃは、全てのＰＥが第１命令メモリ１０１へのアクセスを要求していないことを示す４桁の値“００００”を生成する。
【００４８】
アドレス不一致判定部１６１ａ〜１６１ｃは、対応するアクセス判定部１６２ａ〜１６２ｃからアクセス判定結果を受け取る（ｔ３）。そして、アドレス不一致判定部１６１ａ〜１６１ｃは、受け取ったアクセス判定結果により、アクセスが要求された命令メモリに対して異なるＰＥから異なるアドレスへのアクセスが要求されているか否かを判定する。そして、アドレス不一致判定部１６１ａ〜１６１ｃは、その結果（以下、アドレス判定結果という。）を対応するアドレス生成部１６０ａ〜１６０ｃへ出力する。ここで、アドレス不一致判定部１６１ａ〜１６１ｃによるアドレス判定結果は、４桁の数値からなり、各桁について左から順に、第１ＰＥ１１１、第２ＰＥ１１２、第３ＰＥ１１３及び第４ＰＥ１１４が対応付けられており、各桁には値０又は１が設定される。値０は割り当てられた命令メモリにおいて、他のＰＥとの競合が起きていないことを示し、値１は割り当てられた命令メモリにおいて、他のＰＥとの競合が起きていることを示す。図４のｔ３時点でアクセス判定部１６２ａ〜１６２ｃからアクセス判定結果を受け取った場合には、アドレス不一致判定部１６１ａは、各ＰＥに対して、他のＰＥと競合が起きていないことを示す４桁の値“００００”を生成する。なぜなら、第１ＰＥ１１１から第４ＰＥ１１４は、第１命令メモリ１０１の同じ命令を要求しているので、アクセス先は同一のアドレスとなるからである。また、アドレス不一致判定部１６１ｂ、１６１ｃは、アクセスの要求自体なされていないため他のＰＥとの競合は起きないので、アドレス判定結果として値“００００”を生成する。
【００４９】
アドレス生成部１６０ａ〜１６０ｃは、対応するアドレス不一致判定部１６１ａ〜１６１ｃからのアドレス判定結果を受け取る（ｔ４）。そして、アドレス生成部１６０ａ〜１６０ｃは、対応するアドレス不一致判定部１６１ａ〜１６１ｃから受け取ったアドレス判定結果により、割り当てられた命令メモリに対して要求された命令のアドレスを生成する。具体的には、アドレス生成部１６０ａ〜１６０ｃは、競合判定の機能により、対応するアドレス不一致判定部１６１ａ〜１６１ｃのアドレス判定結果が示す競合の有無に基づいて要求を受け付けるか否かを判定する。その判定結果（以下、要求受付結果）は、４桁の数値からなり、各桁について左から順に、第１ＰＥ１１１、第２ＰＥ１１２、第３ＰＥ１１３及び第４ＰＥ１１４が対応付けられており、各桁には値０又は１が設定される。値０は要求を受け付ける旨を、値１は要求を受け付けない旨を示す。競合が起きている場合には、４桁の値からなる要求受付結果をウエイト信号生成部１６３ａ〜１６３ｄへ出力する。ここでは、競合は起きていないので、要求受付結果はウエイト信号生成部１６３ａ〜１６３ｄへ出力されない。そして、アドレス生成部１６０ａ〜１６０ｃは、アドレス生成の機能により、アクセスが許可されたＰＥが要求する命令のアドレスを生成し、生成したアドレスを割り当てられた命令メモリへ通知する。ここでは、アドレス生成部１６０ａのみが、第１命令メモリ１０１に対して、第１ＰＥ１１１〜第４ＰＥの全てが要求する同一の命令のアドレス（０００）を生成して第１命令メモリ１０１へ通知する。
【００５０】
また、セレクト信号生成部は、ｔ２時点でプログラムカウンタ１０６〜１０９から当該プログラムカウンタの値を受け付けると、第１ＰＥ１１１から第４ＰＥ１１４のそれぞれが選択する命令メモリを特定し、特定結果を通信ネットワーク１０４へ出力する。ここで、特定結果は４桁の数値からなり、各桁について左から順に、第１ＰＥ１１１、第２ＰＥ１１２、第３ＰＥ１１３及び第４ＰＥ１１４が対応付けられており、各桁には値０〜２の何れかが設定される。値０は第１命令メモリ１０１を選択することを示し、値１は第２命令メモリ１０２を選択することを示し、値２は第３命令メモリ１０３を選択することを示す。
【００５１】
第１命令メモリ１０１はアドレス生成部１６０ａで生成されたアドレスを受け取り、通信ネットワーク１０４はセレクト信号生成部１６４で生成された特定結果を受け取る（ｔ５）。そして、第１命令メモリ１０１は受け取ったアドレスが示す命令（ａ０）を通信ネットワーク１０４へ出力する。通信ネットワーク１０４は、第１命令メモリ１０１から命令（ａ０）を受け取ると、先に受け取った特定結果に基づいて、出力すべき、つまり当該命令（ａ０）を要求したＰＥへ出力する。ここでは、第１ＰＥ１１１〜第４ＰＥ１１４の全てに、命令（ａ０）が出力される。
【００５２】
第１ＰＥ１１１〜第４ＰＥ１１４は、命令（ａ０）を受け取ると（ｔ６）、受け取った命令（ａ０）を実行する。
【００５３】
（２）一部ＰＥ共通動作について
ここでは、全ＰＥ共通動作から一部ＰＥ共通動作への遷移について、図５に示すタイミングチャートを用いて説明する。
【００５４】
先ず第１ＰＥ１１１〜第４ＰＥ１１４は、プログラムカウンタの値０００に基づいて、第１命令メモリ１０１のＳＩＭＤプログラム２００のある同一の命令を要求する。なお、この場合の動作は、図４を用いて説明しているので、ここでの説明は省略する。
【００５５】
次に、第１ＰＥ１１１〜第４ＰＥ１１４は、プログラムカウンタの値に基づいて、第１命令メモリ１０１の異なる命令を要求する（ｔ１０）。図５では、第１ＰＥ１１１は第１命令メモリ１０１内において値０５で示される命令（ａ５）を要求し、第２ＰＥ１１２及び第３ＰＥ１１４は第１命令メモリ１０１内において値０３で示される命令（ａ３）を要求し、第４ＰＥ１１４は第１命令メモリ１０１内において値０１で示される命令（ａ１）を要求している。
【００５６】
アクセス判定部１６２ａ〜１６２ｃ及びセレクト信号生成部１６４は、各ＰＥからのプログラムカウンタの値を受け付ける（ｔ１１）。アクセス判定部１６２ａ〜１６２ｃは、受け取ったプログラムカウンタの値に基づいて、当該アクセス判定部が割り当てられている命令メモリに対してどのＰＥがアクセスを要求しているかを判定する。そして、アクセス判定部１６２ａ〜１６２ｃは、その結果であるアクセス判定結果を対応するアドレス不一致判定部１６１ａ〜１６１ｃへ出力する。図５では、第１ＰＥ１１１〜第４ＰＥ１１４は、第１命令メモリへのアクセスを要求しているので、アクセス判定部１６２ａは、アクセス判定結果として値“１１１１”を生成する。また、アクセス判定部１６２ｂ、１６２ｃは、アクセス判定結果として値“００００”を生成する。
【００５７】
アドレス不一致判定部１６１ａ〜１６１ｃは、対応するアクセス判定部１６２ａ〜１６２ｃからアクセス判定結果を受け取る（ｔ１２）。そして、アドレス不一致判定部１６１ａ〜１６１ｃは、受け取ったアクセス判定結果により、アクセスが要求された命令メモリに対して異なるＰＥから異なるアドレスへのアクセスが要求されているか否かを判定する。そして、アドレス不一致判定部１６１ａ〜１６１ｃは、その結果であるアドレス判定結果を対応するアドレス生成部１６０ａ〜１６０ｃへ出力する。
図５では、第１命令メモリ１０１に割り当てられたアドレス不一致判定部１６１ａは、第１ＰＥ１１１〜第４ＰＥ１１４それぞれ対して少なくとも他のＰＥと競合が起きているので、アドレス判定結果として値“１１１１”を生成する。また、他のアドレス不一致判定部１６１ａ、１６１ｂは、アクセスの要求自体なされていないので、アドレス判定結果として値“００００”を生成する。
【００５８】
アドレス生成部１６０ａ〜１６０ｃは、対応するアドレス不一致判定部１６１ａ〜１６１ｃからのアドレス判定結果を受け取る（ｔ１３）。そして、アドレス生成部１６０ａ〜１６０ｃは、対応するアドレス不一致判定部１６１ａ〜１６１ｃから受け取ったアドレス判定結果により、割り当てられた命令メモリに対して要求された命令のアドレスを生成する。先ず、アドレス生成部１６０ａ〜１６０ｃは、競合判定の機能により、対応するアドレス不一致判定部１６１ａ〜１６１ｃのアドレス判定結果が示す競合の有無に基づいて要求を受け付けるか否かを判定する。その判定結果である要求受付結果をウエイト信号生成部１６３ａ〜１６３ｄへ出力する。
図５では、第１命令メモリ１０１について競合が起きているので、アドレス生成部１６０ａは、一の要求、例えば要求された命令のアドレスの値が最小のもの（ここでは、値０１）を選択し、他の要求は選択しない、受け付けないものとし、その結果である要求受付結果“１１１０”を生成する。そして、その結果をウエイト信号生成部１６３ａ〜１６３ｄへ出力する。なお、他のアドレス生成部１６０ｂ、１６０ｃでは競合は起きていないので、要求受付結果は出力されない。そして、アドレス生成部１６０ａ〜１６０ｃは、アドレス生成の機能により、アクセスが許可されたＰＥが要求する命令のアドレスを生成し、生成したアドレスを割り当てられた命令メモリへ通知する。図５では、アドレス生成部１６０ａのみが、第１命令メモリ１０１に対して、第４ＰＥ１１４が要求する同一の命令のアドレス（００１）を生成して第１命令メモリ１０１へ通知する。
【００５９】
また、セレクト信号生成部１６４は、ｔ１１時点でプログラムカウンタ１０６〜１０９から当該プログラムカウンタの値を受け付けると、第１ＰＥ１１１から第４ＰＥ１１４のそれぞれが選択する命令メモリを特定し、特定結果を通信ネットワーク１０４へ出力する。図５では、特定結果として値“００００”が生成される。
【００６０】
また、ウエイト信号生成部１６３ａ〜１６３ｄは、値が“００００”以外の要求受付結果を生成したアドレス生成部から当該要求受付結果を受け取る（ｔ１４）。ウエイト信号生成部１６３ａ〜１６３ｄは、受け取った要求受付結果の内容に基づいて、対応するＰＥに対してウエイト信号を発行する（ｔ１５）。図５では、ウエイト信号生成部１６３ａ〜１６３ｄは、アドレス生成部１６０ａから要求受付結果として値“１１１０”を受け取る。そして、値１である桁に対応するＰＥ（ここでは、第１ＰＥ１１１〜第３ＰＥ１１３）に対してウエイト信号を発行する。
【００６１】
第１命令メモリ１０１はアドレス生成部１６０ａで生成されたアドレスを受け取り、通信ネットワーク１０４はセレクト信号生成部１６４で生成された特定結果を受け取る（ｔ１６）。そして、第１命令メモリ１０１は受け取ったアドレスが示す命令（ａ１）を通信ネットワーク１０４へ出力する。通信ネットワーク１０４は、第１命令メモリ１０１から命令（ａ１）を受け取ると、先に受け取った特定結果に基づいて、出力すべき、つまり当該命令（ａ１）を要求したＰＥへ出力する。ここでは、第４ＰＥ１１４に命令（ａ１）が出力される。
【００６２】
第４ＰＥ１１４は、命令（ａ１）を受け取ると（ｔ１７）、受け取った命令（ａ１）を実行する。
【００６３】
その後、第４ＰＥ１１４のプログラムカウンタ１０９は他の命令メモリ（ここでは、第３命令メモリ１０３）の命令を要求しているので、ウエイト信号が発行された第１ＰＥ１１１〜第３ＰＥ１１３のうち要求する命令のアドレス値が最小である命令ａ３が実行され、第１ＰＥ１１１には、再度ウエイト信号が発行される。
【００６４】
以上の説明によると、ウエイト信号の発行のタイミング、一部のＰＥの共通動作が分かる。
【００６５】
また、図５では、全ＰＥが先ず命令“ａ０”を実行し、その後一部ＰＥが共通の動作を行っているので、全ＰＥ共通動作から一部のＰＥの共通動作への遷移についてもその流れが分かる。
【００６６】
（３）一部ＰＥ共通動作から全ＰＥ共通動作への遷移
ここでは、一部ＰＥ共通動作から全ＰＥ共通動作への遷移について、図６に示すタイミングチャートを用いて説明する。
【００６７】
一部ＰＥ共通動作時における各構成要素間でのデータの受け渡し、及び全ＰＥ共通動作時における各構成要素間でのデータの受け渡しについては、既に図４、５を用いて説明しているので、以下において、遷移動作について簡単に説明する。
【００６８】
先ず、ｔ２０においては、第１ＰＥ１１１から第４ＰＥ１１４それぞれは、プログラムカウンタの値に基づいて、命令を要求する。例えば、第１ＰＥ１１１のプログラムカウンタ１０６の値は“００６”であるので、第１ＰＥ１１１は第１命令メモリ１０１の命令“ａ６”を要求する。また、第２ＰＥ１１２及び第３ＰＥ１１３双方とも、第２命令メモリ１０２の命令“ｂ１”を要求する。第４ＰＥ１１４は、第３命令メモリ１０３の命令“ｃ２”を要求する。この場合、各ＰＥにおいて、他のＰＥとは競合は発生しないので、第１ＰＥ１１１から第４ＰＥ１１４それぞれは、自身が要求した命令を実行することとなる。
【００６９】
ｔ２１においては、第１ＰＥ１１１は第１命令メモリ１０１の命令“ａ１０”を要求する。また、第２ＰＥ１１２及び第３ＰＥ１１３双方とも、第２命令メモリ１０２の命令“ｂ２”を要求する。第４ＰＥ１１４は、第３命令メモリ１０３の命令“ｃ３”を要求する。この場合も、ｔ２０と同様に、第１ＰＥ１１１から第４ＰＥ１１４それぞれは、自身が要求した命令を実行することとなる。
【００７０】
ｔ２２においては、第１ＰＥ１１１は第１命令メモリ１０１の命令“ａ１１”を要求する。また、第２ＰＥ１１２及び第３ＰＥ１１３双方とも、第２命令メモリ１０２の命令“ｂ３”を要求する。第４ＰＥ１１４は、第１命令メモリ１０１の命令“ａ２”を要求する。この場合、第１ＰＥ１１１と第４ＰＥ１１４とは、同一命令メモリ（ここでは、第１命令メモリ１０１）上の異なる命令、つまり異なるアドレスを要求しているので、競合が発生する。そこで、アービター１０５は調停を行い、アドレスの値が最小である命令ａ２の要求を受け付ける。そのため、第１ＰＥ１１１には、ウエイト信号が発行される。したがって、ｔ２２で要求された各命令のうち、第２ＰＥ１１２及び第３ＰＥ１１３が要求した命令“ｂ３”と、第４ＰＥ１１４が要求した命令“ａ２”とが実行されることとなる。
【００７１】
ｔ２３においては、第１ＰＥ１１１及び第４ＰＥ１１４の双方は、第１命令メモリ１０１の命令“ａ１１”を要求する。また、第２ＰＥ１１２及び第３ＰＥ１１３の双方は、第１命令メモリ１０１の命令“ａ４”を要求する。この場合、ｔ２２の場合と同様に、競合が発生しているので、アービター１０５は調停を行い、アドレスの値が最小である命令ａ４の要求を受け付ける。そのため、第１ＰＥ１１１及び第４ＰＥ１１４には、ウエイト信号が発行される。したがって、ｔ２３で要求された各命令のうち、第２ＰＥ１１２及び第３ＰＥ１１３が要求した命令“ａ４”が実行されることとなる。
【００７２】
ｔ２４においては、第１ＰＥ１１１から第４ＰＥ１１４の全てが、第１命令メモリ１０１の命令“ａ１１”を要求しているので、アービター１０５は調停を行うことなく、全てのＰＥに対する命令の要求を受け付ける。その結果、第１ＰＥ１１１から第４ＰＥ１１４の全てが、命令“ａ１１”を実行する。
【００７３】
以上の説明により、一部ＰＥ共通動作から全ＰＥ共通動作への遷移が確実に行われたことが分かる。
【００７４】
１．３  動作の補足
ここでは、情報処理装置１００の動作について、補足的な説明を行う。
【００７５】
なお、以下の説明において、情報処理装置１００は、例えば、ＭＰＥＧ等のビデオデコードを行うものとする。
【００７６】
第１ＰＥ１１１〜第４ＰＥそれぞれは、自身が有するプログラムカウンタ１０６〜１０９に従い、第１命令メモリ１０１〜第３命令メモリ１０３の何れかへアクセスする為、命令供給の為のリクエストをアクセス先のメモリアドレスと共にアービター１０５に発行する。アービター１０５では、複数の要素プロセッサからのリクエストからアクセス先のアドレスを解釈する。異なるメモリに対するアクセスや、同一メモリに対する同一アドレスへのアクセスであれば、競合が発生しない。そこで、通信ネットワーク１０４に対して、第１命令メモリ１０１〜第３命令メモリ１０３と第１ＰＥ１１１〜第４ＰＥ１１４を接続するようにリクエストする。これにより第１命令メモリ１０１〜第３命令メモリ１０３からの命令が第１ＰＥ１１１〜第４ＰＥ１１４に供給され、命令に従い各ＰＥは動作を始める。
【００７７】
第１ＰＥ１１１〜第４ＰＥ１１４それぞれのプログラムカウンタ１０６〜１０９が同じ値で、同一命令メモリの同一メモリアドレスをさす場合には、同じ命令が第１ＰＥ１１１〜第４ＰＥ１１４に供給され、各ＰＥは、ＳＩＭＤ型動作を行う。例えば、情報処理装置１００は、図２のＳＩＭＤプログラム２００を実行する。
【００７８】
また、情報処理装置１００が、マクロブロックのデコードを行う際、例えば４個のマクロブロックのうち、２個が同じタイプのマクロブロックの場合には、以下の通り動作する。２個のＰＥ（ここでは、第２ＰＥ１１２と第３ＰＥ１１３）のプログラムカウンタが同じ値で、同一命令メモリの同一メモリアドレスを指し、その他のＰＥ（第１ＰＥ１１１と第４ＰＥ１１４）は、アドレスが競合を発生しない異なるメモリへのアクセスを要求する。この場合には、例えば、第２命令メモリ１０２から第２ＰＥ１１２及び第３ＰＥ１１３に同じ命令が供給され、第１ＰＥ１１１、第４ＰＥ１１４にはそれぞれ第１命令メモリ１０１、第３命令メモリ１０３から供給される。これによりＭＩＭＤ型動作（部分ＳＩＭＤ型動作）を行うことが可能である。供給された命令に従い、例えばメモリアクセス命令の場合には、第１ＰＥ１１１〜第４ＰＥ１１４は、データメモリ１１５〜１１８にアクセスしてデータを取り込み、後続の演算命令で演算を行う。これにより異なるタイプのマクロブロックに対して、異なるプログラムで同時に実行することが可能となる。
【００７９】
一方、アービター１０５で、第１ＰＥ１１１〜第４ＰＥ１１４からのリクエストからアクセス先のアドレスを解釈し、同一メモリに対する異なるアドレスのアクセスが競合する場合には、アドレスの値が最小である命令のみを受け付け、他の命令は受け付けない。つまり、一のＰＥのみの要求を受け付け、残りのＰＥを待たせる。これにより、同一メモリ上、ここでは、第１命令メモリ１０１上にＳＩＭＤプログラム２００とＭＩＭＤプログラム２０１を同時に配置できる。
【００８０】
図２では、先ず全てのＰＥは、ＳＩＭＤプログラムを実行し、図中に記載しているｓｗｉｔｃｈ文により、処理を分岐して、各ＰＥがＭＩＭＤプログラム２０１〜２０３を実行し、終了後ＳＩＭＤプログラム２００に戻り同期待ちを行い、再度ＳＩＭＤプログラム２００を実行する。ここで、第１命令メモリ１０１にはＭＩＭＤプログラム２０１〜２０３の中で最も短いプログラムであるＭＩＭＤプログラム２０１が配置されているので、各ＰＥが、ＭＩＭＤプログラム２０１〜２０３の何れかを実行した後、再度ＳＩＭＤプログラム２００に戻る際の競合回数を抑制することができる。なぜなら、ＭＩＭＤプログラム２０１の実行の終了が他のＭＩＭＤプログラムの実行の終了より早いので、他のＭＩＭＤプログラムの実行が終了したときには第１命令メモリ１０１が利用されていない可能性が高いからである。
【００８１】
以上のように、例えばマクロブロックタイプに関係なく共通の処理をＳＩＭＤプログラム２００で実行し、マクロブロックタイプごとに異なる処理は、ＭＩＭＤプログラム２０１〜２０３で実行することで、並列度を上げ効率的に処理することが可能となる。
【００８２】
また、上述の記載から分かるように、アービター１０５の制御により、複数のＰＥのうち一部のＰＥが同一のＭＩＭＤプログラムを実行することができる。つまり、ＭＩＭＤプログラムについても、ＳＩＭＤプログラムと同様に、一部のＰＥにおいて共通処理を行う場合に用いることができる。
【００８３】
さらに、ＳＩＭＤプログラムについてもＭＩＭＤプログラムと同様に、アービター１０５の制御により複数のＰＥのうち一部のＰＥで実行される。つまり、ＳＩＭＤプログラムは、従来のように全てのＰＥに対してのみだけでなく、一部のＰＥにおいて共通処理を行う場合に用いられる。
【００８４】
２．適用例
ここでは、情報処理装置１００の適用例について説明する。
【００８５】
２．１  システムＬＳＩ５００
図７は、情報処理装置１００を用いたシステムＬＳＩ５００の構成を示す。
【００８６】
システムＬＳＩ５００は、放送波などのストリームを受信して、受信したストリームから画像を生成して出力する機能を備えたものである。システムＬＳＩ５００は、上述した情報処理装置１００、マスタープロセッサ５０１、アクセラレータ５０２、ストリーム入出力部５０３、メモリ制御部５０４、ＡＶ入出力部５０５及び広帯域バス５０６から構成されている。
【００８７】
情報処理装置１００は、受信したストリームに含まれるエンコードされた画像データをデコードするものである。ここで、デコードはマクロブロック単位に行われ、同じタイプのマクロブロックについては、ＳＩＭＤプログラム２００で実行し、マクロブロックタイプごとに異なる処理は、ＭＩＭＤプログラム２０１〜２０３で実行することで、エンコードされた画像データをデコードする。
【００８８】
他の構成要素については、既知のものであるが、以下において簡単に説明する。
【００８９】
ストリーム入出力部５０３は、ストリームを受信し、受信したストリームを外部にある外部メモリ５０７へ広帯域バス５０６及びメモリ制御部５０４を介して出力する機能を有している。
【００９０】
ＡＶ入出力部５０５は、外部メモリ５０７に保持されているデコードされた画像を広帯域バス５０６及びメモリ制御部５０４を介して取得し、取得した画像を外部へ出力する機能を有している。
【００９１】
メモリ制御部５０４は、外部メモリ５０７へデータの書き込み、及び外部メモリからデータを読み出す機能を有している。具体的には、メモリ制御部５０４は、ストリーム入出力部５０３で受信されたストリームのデータ（エンコードされた画像データ）を外部メモリ５０７へ書き込む。メモリ制御部５０４は、デコード対象である画像データのマクロブロックを外部メモリ５０７から読み出して、広帯域バス５０６を介して情報処理装置１００へ出力する。また、メモリ制御部５０４は、情報処理装置１００でデコードされたマクロブロックを広帯域バス５０６を介して情報処理装置１００から受け取ると、外部メモリ５０７へ書き込む。さらには、デコードされた画像を外部メモリ５０７から読み出して、ＡＶ入出力部５０５へ出力する。
【００９２】
マスタープロセッサ５０１は、システムＬＳＩ５００の全体の動作の制御を行うものである。具体的には、ストリーム入出力部５０３、メモリ制御部５０４及びＡＶ入出力部５０５の動作の制御を行う。
【００９３】
アクセラレータ５０２は、画像処理に対する処理能力高めるためのものであり、マスタープロセッサ５０１の画像処理に対する処理負担を軽減させる。
【００９４】
広帯域バス５０６は、各構成要素間において、データの入力を行うものである。
【００９５】
このように、情報処理装置１００を画像処理を行うシステムＬＳＩ５００に適用することで、マクロブロックタイプに関係なく共通の処理をＳＩＭＤプログラム２００で実行し、マクロブロックタイプごとに異なる処理は、ＭＩＭＤプログラム２０１〜２０３で実行することで、並列度を上げ効率的に処理することが可能となる。
【００９６】
２．２  テレビ６００
図８は、上述したシステムＬＳＩ５００を用いたテレビ６００の構成を示すものである。
【００９７】
テレビ６００は、システムＬＳＩ５００、外部メモリ５０７、復調部６０１及びディスプレイパネル６１１を有している。
【００９８】
システムＬＳＩ５００は既に説明しているので、ここでの説明は省略する。
【００９９】
外部メモリ５０７は、上述したようにエンコードされた画像データ及びデコードされた画像データを格納する領域を有している。
【０１００】
復調部６０１は、外部のアンテナ６１０を介してデジタル放送波（ストリーム）を受信し、受信したストリームの信号を復調する機能を有している。復調部６０１は、復調したストリームの信号をシステムＬＳＩ５００のストリーム入出力部５０３へ出力する。
【０１０１】
ディスプレイパネル６１１は、システムＬＳＩ５００のＡＶ入出力部５０５から受け取った画像を表示するものである。
【０１０２】
このように、上述したシステムＬＳＩ５００をテレビ６００に適用することで、画像処理の並列度を上げ効率的に処理することが可能となる。
【０１０３】
２．３  レコーダ７００
図９は、上述したシステムＬＳＩ５００を用いたレコーダ７００の構成を示すものである。
【０１０４】
レコーダ７００は、システムＬＳＩ５００、外部メモリ５０７、復調部６０１及び記憶部７０１を有している。
【０１０５】
システムＬＳＩ５００、外部メモリ５０７、及び復調部６０１は、既に説明しているので、ここでの説明は省略する。
【０１０６】
記憶部７０１は、受信したストリームを記憶するための領域を有しており、受信したストリームは、ストリーム入出力部５０３を介して記録される。なお、記録された時点では、ストリームに含まれるデータがデコードされていない。
【０１０７】
システムＬＳＩ５００は、記憶部７０１に記録されたストリーム（番組）を再生する際には、ストリーム入出力部５０３により記録されているストリームを読み出し、上述した処理によりエンコードされた画像をデコードして、外部に接続されたテレビ７０２へ出力する。
【０１０８】
このように、上述したシステムＬＳＩ５００をレコーダ７００に適用することで、記録した画像を再生する際の処理の並列度を上げ効率的に処理することが可能となる。
【０１０９】
２．４  デジタルカメラ８００
図１０は、上述したシステムＬＳＩ５００を用いたデジタルカメラ８００の構成を示すものである。
【０１１０】
デジタルカメラ８００は、システムＬＳＩ５００、外部メモリ５０７、カメラ機構８０１及び液晶ディスプレイ８０３を有している。また、デジタルカメラ８００は、メモリカード８０２と脱着可能である。
【０１１１】
システムＬＳＩ５００及び外部メモリ５０７は、既に説明しているので、ここでの説明は省略する。
【０１１２】
カメラ機構８０１は、レンズ、シャッター等を備えており、レンズに映し出された被写体の静止画像を撮影する機能を有している。
【０１１３】
液晶ディスプレイ８０３は、撮像された画像データを表示するものである。
【０１１４】
システムＬＳＩ５００は、被写体の撮影時には、カメラ機構８０１で撮像された画像データをＡＶ入出力部５０５で受け取ると、情報処理装置１００で画像データのエンコードに係る処理を行う。その後、ストリーム入出力部５０３を介してメモリカード８０２へ書き込む。
【０１１５】
システムＬＳＩ５００は、撮影された画像データを表示する際には、メモリカード８０２に記憶されている画像データをストリーム入出力部５０３で読み出すと、情報処理装置１００で画像データのデコードに係る処理を行う。その後、ＡＶ入出力部５０５を介して液晶ディスプレイ８０３へ出力する。
【０１１６】
なお、ここでは、適用例としてデジタルカメラとしたが、これに限定されない。システムＬＳＩ５００をデジタルビデオカメラに適用してもよい。この場合、カメラ機構が異なる。上記では、カメラ機構は、静止画像を撮影する機能を有するとしたが、デジタルビデオカメラでは、動画像を撮影する機能となる。この場合においても、上記と同様に、情報処理装置１００は、撮影時には画像データのエンコードに係る処理を行い、再生時には画像データのデコードに係る処理を行う。
【０１１７】
なお、デジタルカメラ及びデジタルビデオカメラにおいて、カメラ機構は、静止画像及び動画像を撮影する双方の機能を有していてもよい。
【０１１８】
このように、上述したシステムＬＳＩ５００をデジタルカメラ８００に適用することで、画像の撮影時及び再生時における画像処理の並列度を上げ効率的に処理することが可能となる。
【０１１９】
２．５  携帯電話機９００
図１１は、上述したシステムＬＳＩ５００を用いた携帯電話機９００の構成を示すものである。
【０１２０】
携帯電話機９００は、システムＬＳＩ５００、外部メモリ５０７、カメラ機構８０１、液晶ディスプレイ８０３、変復調部９０１及びアンテナ９１０を有している。また、携帯電話機９００は、メモリカード８０２と脱着可能である。
【０１２１】
システムＬＳＩ５００、外部メモリ５０７、カメラ機構８０１及び液晶ディスプレイ８０３は、既に説明しているので、ここでの説明は省略する。
【０１２２】
アンテナ９１０は、データの送受信を行うものである。
【０１２３】
変復調部９０１は、アンテナ９１０で受信したデータ（信号）を復調する機能と、システムＬＳＩ５００から受け取ったデータ（信号）を変調する機能を有している。例えば、変復調部９０１は、アンテナ９１０を介して画像データ（ストリーム）を外部から受け取ると、ストリームの信号を復調してシステムＬＳＩ５００のストリーム入出力部５０３へ出力する。また、変復調部９０１は、ストリーム入出力部５０３から画像データ（ストリーム）を受け取ると、データを変調してアンテナ９１０を介して外部へ出力する。
【０１２４】
このように、上述したシステムＬＳＩ５００を携帯電話機９００に適用することで、当該携帯電話機９００のカメラ機構８０１での画像の撮影時、及び撮影された画像の再生時における画像処理の並列度を上げ効率的に処理することが可能となる。また、外部から画像データを受信した場合も同様に、受信した画像データにおける画像処理についても並列度を上げ効率的に処理することが可能となる。
【０１２５】
以上、説明したように、情報処理装置１００は、ＴＶや携帯電話などに必要なビデオコーデックや画像処理を行うシステムＬＳＩに適用可能である。
【０１２６】
３．変形例
以上、各実施の形態に基づいて説明したが、本発明は上記の各実施の形態に限られない。例えば、以下のような変形例が考えられる。
【０１２７】
（１）上記実施の形態では、命令メモリの個数を３個、プロセッサエレメントの個数を４個としたが、これに限定されない。
【０１２８】
命令メモリの個数をｎ個とした場合、プロセッサエレメントの個数は少なくともｎ＋１個とすればよい。
【０１２９】
複数のプロセッサエレメントに対して、命令メモリの個数は１つである場合には、ＳＩＭＤプログラム及び複数のＭＩＭＤプログラムは全て当該命令メモリに含まれることとなる。
【０１３０】
（２）上記各実施の形態、及び各変形例で説明した各装置が備える各ブロックは、典型的には、集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されてもよいし、一部または全てを含むように１チップ化されてもよい。ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０１３１】
また、集積化の手法はＬＳＩに限るものではなく、専用回路または汎用プロセッサで実現してもよい。ＬＳＩ製造後にプログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィグラブル・プロセッサを利用してもよい。さらには、半導体技術の進歩または派生する別技術により、ＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてあり得る。
【０１３２】
（３）これらの実施の形態および変形例の組合せであってもよい。
【０１３３】
４．補足
（１）本発明の一実施態様である、情報処理装置は、複数のプロセッサエレメントと、第１プログラム及び第２プログラムを記憶している命令メモリと、前記複数のプロセッサエレメントと前記命令メモリとの間に介在し、各プロセッサエレメントからの前記第１プログラムの命令及び前記第２プログラムの命令の要求を受け付け、各プロセッサエレメントのアクセス制御を行うアービターとを備え、前記アービターは、プロセッサエレメントそれぞれから同時に同一プログラム内の異なる命令に対する要求、及び異なるプログラム内の命令に対する要求がある場合には調停を行い、２つ以上のプロセッサエレメントから同時に同一プログラム内の同一の命令に対する要求があると、当該命令メモリの利用が可能な場合には要求元である各プロセッサへ当該命令を同時に出力することを特徴とする。
【０１３４】
この構成によると、情報処理装置は、第１プログラムと第２プログラムを１つの命令メモリに記憶し、アービターにより複数のプロセッサエレメントによるアクセスの制御を行うので、従来のように第１プログラム及び第２プログラムそれぞれについて個別の命令メモリを用意する必要することなく、複数のプロセッサエレメントそれぞれが実行すべきプログラムへのアクセスが可能となる。
【０１３５】
（２）ここで、前記第１プログラムは、２つ以上のプロセッサエレメントで実行される共通の処理命令を含むＳＩＭＤ型プログラムであり、前記第２プログラムは、プロセッサエレメント毎に実行されるＭＩＭＤ型プログラムであるとしてもよい。
【０１３６】
この構成によると、情報処理装置は、１つの命令メモリに記憶されたＳＩＭＤ型のプログラムと、ＭＩＭＤ型のプログラムとを、アービターの制御により実行するので、従来のようにスイッチにより、ＳＩＭＤ型のプログラムとＭＩＭＤ型のプログラムとを切り替える必要がなくなる。つまり、情報処理装置は、１つの命令メモリにＳＩＭＤ型のプログラムと、ＭＩＭＤ型のプログラムとを共存させて、各々のプログラムを実行するので、個別に命令メモリを用意する場合と比較して、命令メモリの占有面積を小さくすることができる。
【０１３７】
（３）ここで、前記情報処理装置は、さらに、前記命令メモリとは別の命令メモリを備え、前記別の命令メモリは、前記ＭＩＭＤ型プログラムとは別のＭＩＭＤ型プログラムを記憶しており、前記アービターは、少なくとも１つのプロセッサエレメントから前記別のＭＩＭＤ型プログラムへのアクセス要求を受け付けると、当該少なくとも１つのプロセッサエレメントに対して、前記別のＭＩＭＤ型プログラムの命令を出力するとしてもよい。
【０１３８】
この構成によると、情報処理装置は別の命令メモリに別のＭＩＭＤ型プログラムを記憶しているので、アービターの制御によりこれら２つのＭＩＭＤ型プログラムを並列に実行することができる。これにより、１つの命令メモリにＳＩＭＤ型のプログラムと、ＭＩＭＤ型のプログラムとを共存させた場合でも、アービターの制御により従来と同様に複数のＭＩＭＤ型プログラムを並列に実行させることができる。
【０１３９】
（４）ここで、前記複数のプロセッサエレメントは、前記ＳＩＭＤ型プログラムへのアクセス要求を同時に行い、前記ＳＩＭＤ型プログラムに含まれる前記複数のプロセッサエレメントの全てに共通の命令を同時に実行し、共通の命令を実行した後、前記複数のプロセッサエレメントのそれぞれは、当該プロセッサエレメントの処理態様に応じて、前記ＭＩＭＤ型プログラム、前記別のＭＩＭＤ型プログラム及び前記ＳＩＭＤ型プログラムの何れかへのアクセス要求を行うとしてもよい。
【０１４０】
この構成によると、情報処理装置は、全てのプロセッサエレメントに対してＳＩＭＤ型プログラムにより共通の処理を実行させた後、個別の処理を実行させることができる。これにより、１つの命令メモリにＳＩＭＤ型のプログラムと、ＭＩＭＤ型のプログラムとを共存させた場合でも、アービターの制御により従来と同様に共通の処理の実行から個別処理の実行へと切り替えることができる。
【０１４１】
（５）ここで、前記ＭＩＭＤ型プログラムのサイズは、前記別のＭＩＭＤ型プログラムのサイズより小さいものであるとしてもよい。
【０１４２】
この構成によると、情報処理装置は、命令メモリには２つのＭＩＭＤ型プログラムにうちプログラムサイズが小さいＭＩＭＤ型プログラムを記憶しているので、大きい方のＭＩＭＤ型プログラムを記憶する場合と比較して、競合が発生する確率を低くすることができる。
【０１４３】
（６）ここで、前記情報処理装置は、画像処理を行う装置であり、前記ＳＩＭＤ型プログラムには、処理すべき画像全てに共通の処理命令が含まれ、前記ＭＩＭＤ型プログラム及び前記別のＭＩＭＤ型プログラムには、処理すべき画像の種別に応じた、異なる処理命令が含まれているとしてもよい。
【０１４４】
この構成によると、情報処理装置は、画像処理に有効である。
【０１４５】
（７）ここで、前記情報処理装置は、デジタルテレビに備えられるとしてもよい。
【０１４６】
この構成によると、情報処理装置は、デジタルテレビにおける映像を処理する際に有効である。
【産業上の利用可能性】
【０１４７】
本発明の情報処理装置によれば、ＳＩＭＤプログラムとＭＩＭＤプログラムとを同一の命令メモリ上に記憶することで回路規模の削減を実現することができる。またデジタルビデオカメラ及びデジタルカメラ、光ディスクレコーダ、ＴＶ、携帯電話等の用途にも応用できる。
【符号の説明】
【０１４８】
１００    情報処理装置
１０１〜１０３  第１命令メモリ〜第３命令メモリ
１０４    通信ネットワーク
１０５    アービター
１０６〜１０９  プログラムカウンタ（ＰＣ）
１１１〜１１４  第１プロセッサエレメント（第１ＰＥ）〜第４プロセッサエレメント（第４ＰＥ）
１１５〜１１８  データメモリ
１３１    バス
１５１〜１５３  バス
１５４〜１５７  出力部
１６０ａ〜１６０ｃ  アドレス生成部
１６１ａ〜１６１ｃ  アドレス不一致判定部
１６２ａ〜１６２ｃ  アクセス判定部
１６３ａ〜１６３ｄ  ウエイト信号生成部
１６４    セレクト信号生成部
１６５〜１６８  バス
【図１】
2010122746.tif 000003
【図２】
2010122746.tif 000004
【図３】
2010122746.tif 000005
【図４】
2010122746.tif 000006
【図５】
2010122746.tif 000007
【図６】
2010122746.tif 000008
【図７】
2010122746.tif 000009
【図８】
2010122746.tif 000010
【図９】
2010122746.tif 000011
【図１０】
2010122746.tif 000012
【図１１】
2010122746.tif 000013
【国際調査報告】
2010122746.tif 000014
2010122746.tif 000015
2010122746.tif 000016
2010122746.tif 000017