(57)【要約】【課題】命令セットのコード効率を向上させる情報処理装置、演算処理方法及び電子機器等を提供する。【解決手段】情報処理装置１０は、並列動作可能に構成された第１及び第２の演算処理ユニットＥＸＵ１、ＥＸＵ２と、各入力レジスターの設定データが読み出し及び書き込み可能に構成される複数の入力レジスターと、第１及び第２の演算処理ユニットＥＸＵ１、ＥＸＵ２の処理結果が格納される複数の出力レジスターとを含む。複数の入力レジスターは、第１の演算処理ユニットＥＸＵ１に割り当てられる第１の入力レジスターと、第２の演算処理ユニットＥＸＵ２に割り当てられる第２の入力レジスターとを有し、複数の出力レジスターは、第１の演算処理ユニットＥＸＵ１に割り当てられる第１の出力レジスターと、第２の演算処理ユニットＥＸＵ２に割り当てられる第２の出力レジスターとを有する。【選択図】図１
2010176350.tif 000002
【特許請求の範囲】
【請求項１】
第１の演算処理を行う第１の演算処理ユニットと、
前記第１の演算処理ユニットと並列動作可能に構成され第２の演算処理を行う第２の演算処理ユニットと、
各入力レジスターの設定データが読み出し及び書き込み可能に構成される複数の入力レジスターと、
前記第１の演算処理ユニットの処理結果及び前記第２の演算処理ユニットの処理結果が格納される複数の出力レジスターとを含み、
前記複数の入力レジスターが、
前記第１の演算処理ユニットに割り当てられる第１の入力レジスターと、
前記第２の演算処理ユニットに割り当てられる第２の入力レジスターとを有し、
前記複数の出力レジスターが、
前記第１の演算処理ユニットに割り当てられる第１の出力レジスターと、
前記第２の演算処理ユニットに割り当てられる第２の出力レジスターとを有し、
所与の実行サイクル毎に、前記第１の演算処理ユニットが、前記第１の入力レジスターの設定データを用いて前記第１の演算処理を行い、該第１の演算処理の処理結果を前記第１の出力レジスターに格納すると共に、前記第２の演算処理ユニットが、前記第２の入力レジスターの設定データを用いて前記第２の演算処理を行い、該第２の演算処理の処理結果を前記第２の出力レジスターに格納することを特徴とする情報処理装置。
【請求項２】
請求項１において、
フェッチされた命令データをデコードする命令デコード部を含み、
前記命令デコード部のデコード結果にかかわらず、前記第１の演算処理ユニット及び前記第２の演算処理ユニットは、前記実行サイクル毎に、各演算処理ユニットの処理結果を、対応する出力レジスターに格納することを特徴とする情報処理装置。
【請求項３】
請求項２において、
前記命令デコード部が、
算術演算命令、論理演算命令及びシフト演算命令を除く、データ転送命令及び分岐命令をデコードすることを特徴とする情報処理装置。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記第１の出力レジスターの格納データ又は前記第２の出力レジスターの格納データは、前記複数の入力レジスターのいずれかに転送可能に構成されることを特徴とする情報処理装置。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記第１の入力レジスターが、
前記第２の演算処理ユニットに割り当てられ、
前記第２の演算処理ユニットが、
前記実行サイクル毎に、前記第１の入力レジスターの設定データを用いて前記第２の演算処理を行い、該第２の演算処理の処理結果を前記第２の出力レジスターに格納することを特徴とする情報処理装置。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記第１の演算処理ユニット又は前記第２の演算処理ユニットは、
加算演算、乗算演算、減算演算、論理演算及びシフト演算のいずれかの演算処理を行うことを特徴とする情報処理装置。
【請求項７】
請求項１乃至６のいずれかにおいて、
前記第１の演算処理ユニット及び前記第２の演算処理ユニットは、
同一構成の算術論理演算ユニットであることを特徴とする情報処理装置。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記複数の入力レジスターを構成する各入力レジスターが、汎用レジスターであることを特徴とする情報処理装置。
【請求項９】
請求項１乃至８のいずれかにおいて、
前記複数の出力レジスターを構成する各出力レジスターが、アキュームレーターであることを特徴とする情報処理装置。
【請求項１０】
第１の演算処理を行う第１の演算処理ユニットと、
前記第１の演算処理ユニットと並列動作可能に構成され第２の演算処理を行う第２の演算処理ユニットと、
各入力レジスターの設定データが読み出し及び書き込み可能に構成される第１の入力レジスターと第２の入力レジスターとを有する複数の入力レジスターと、
前記第１の演算処理ユニットの処理結果及び前記第２の演算処理ユニットの処理結果が格納される第１の出力レジスターと第２の出力レジスターとを有する複数の出力レジスターとを含む情報処理装置の演算処理方法であって、
前記第１の入力レジスターを前記第１の演算処理ユニットに割り当て、前記第２の入力レジスターを前記第２の演算処理ユニットに割り当てると共に、前記第１の出力レジスターを前記第１の演算処理ユニットに割り当て、前記第２の出力レジスターを前記第２の演算処理ユニットに割り当て、
所与の実行サイクル毎に、前記第１の演算処理ユニットが、前記第１の入力レジスターの設定データを用いて前記第１の演算処理を行い、該第１の演算処理の処理結果を前記第１の出力レジスターに格納すると共に、前記第２の演算処理ユニットが、前記第２の入力レジスターの設定データを用いて前記第２の演算処理を行い、該第２の演算処理の処理結果を前記第２の出力レジスターに格納することを特徴とする演算処理方法。
【請求項１１】
請求項１０において、
フェッチされた命令データのデコード結果にかかわらず、前記第１の演算処理ユニット及び前記第２の演算処理ユニットは、前記実行サイクル毎に、各演算処理ユニットの処理結果を、対応する出力レジスターに格納することを特徴とする演算処理方法。
【請求項１２】
請求項１０又は１１において、
前記命令データは、
算術演算命令、論理演算命令及びシフト演算命令を除く、データ転送命令及び分岐命令に対応した命令データであることを特徴とする演算処理方法。
【請求項１３】
請求項１０乃至１２のいずれかにおいて、
前記複数の入力レジスターを構成する各入力レジスターが、汎用レジスターであることを特徴とする演算処理方法。
【請求項１４】
請求項１０乃至１３のいずれかにおいて、
前記複数の出力レジスターを構成する各出力レジスターが、アキュームレーターであることを特徴とする演算処理方法。
【請求項１５】
プログラム及びデータを記憶するメモリーと、
前記プログラム及び前記データに対応した演算処理を行う請求項１乃至９のいずれか記載の情報処理装置とを含むことを特徴とする電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、演算処理方法及び電子機器等に関する。
【背景技術】
【０００２】
近年、マイクロプロセッサ（広義には情報処理装置）が身の回りのあらゆる機器に組み込まれており、このマイクロプロセッサには、小型化、低コスト化、低消費電力化、高機能化、高性能化が求められている。マイクロプロセッサの高機能化や高性能化を図る技術については様々なものが考えられており、その１つとしてマイクロプロセッサの命令セットを縮小することがある。
【０００３】
命令セットを縮小することは、ＣＩＳＣ（Complex Instruction Set Computer）アーキテクチャーのマイクロプロセッサに対するＲＩＳＣ（Reduced Instruction Set Computer）アーキテクチャーの技術思想に相当する。即ち、命令セットを縮小することで、デコードする命令をシンプルなものに限定して単純化することで高速化を図るものである。
【０００４】
命令セットを縮小すると、命令を表すオペコードのビット数を減らすことができる。そうすると、例えばオペランドと呼ばれる、レジスターを指定するためのビット数を増やしてレジスター数を増加させたり、即値として命令に埋め込める最大値が大きくなって演算処理や分岐処理が高速化できたりするメリットがある。
【０００５】
その一方、命令セットを縮小すると、ＣＩＳＣアーキテクチャーのマイクロプロセッサと同様の処理を実現しようとする場合にステップ数が多くなる上に、命令長を短くするとコード効率を向上させるのが困難になるという問題がある。
【０００６】
そこで、より一層処理を高速化するために、演算処理ユニット自体の高速化を図ることが考えられる。この演算処理ユニットの高速化を図る技術については、例えば特許文献１に開示されている。特許文献１には、アキュームレーターを介して数値演算を行うことが処理速度の低下の要因であると分析して、転送命令を用いることなくアキュームレーターと汎用レジスターとの間の転送をただちに行うことで、演算の高速化を図る技術が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平５−２５０３１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に開示された技術では、転送命令を省略できて若干の効率向上になるものの、命令セットが本質的に変わらないため、コード効率を向上させることはできない。ましてや、新たな転送パスが必要となることによって、新たな転送命令を命令セットに割り当てる必要が生じ、例えば即値に割り当てられるビット数が少なくなってしまうという問題がある。
【０００９】
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的の１つは、命令セットのコード効率を向上させる情報処理装置、演算処理方法及び電子機器等を提供することにある。
【課題を解決するための手段】
【００１０】
（１）本発明の一態様は、情報処理装置が、第１の演算処理を行う第１の演算処理ユニットと、前記第１の演算処理ユニットと並列動作可能に構成され第２の演算処理を行う第２の演算処理ユニットと、各入力レジスターの設定データが読み出し及び書き込み可能に構成される複数の入力レジスターと、前記第１の演算処理ユニットの処理結果及び前記第２の演算処理ユニットの処理結果が格納される複数の出力レジスターとを含み、前記複数の入力レジスターが、前記第１の演算処理ユニットに割り当てられる第１の入力レジスターと、前記第２の演算処理ユニットに割り当てられる第２の入力レジスターとを有し、前記複数の出力レジスターが、前記第１の演算処理ユニットに割り当てられる第１の出力レジスターと、前記第２の演算処理ユニットに割り当てられる第２の出力レジスターとを有し、所与の実行サイクル毎に、前記第１の演算処理ユニットが、前記第１の入力レジスターの設定データを用いて前記第１の演算処理を行い、該第１の演算処理の処理結果を前記第１の出力レジスターに格納すると共に、前記第２の演算処理ユニットが、前記第２の入力レジスターの設定データを用いて前記第２の演算処理を行い、該第２の演算処理の処理結果を前記第２の出力レジスターに格納する。
【００１１】
本態様においては、並列動作可能に構成された第１の演算処理ユニットと第２の演算処理ユニットを有する情報処理装置において、複数の入力レジスターのうち第１の入力レジスターが第１の演算処理ユニットに割り当てられ、該複数の入力レジスターのうち第２の入力レジスターが第２の演算処理ユニットに割り当てられると共に、複数の出力レジスターのうち第１の出力レジスターが第１の演算処理ユニットに割り当てられ、該複数の出力レジスターのうち第２の出力レジスターが第２の演算処理ユニットに割り当てられる。そして、所与の実行サイクル毎に、第１の演算処理ユニットが、第１の入力レジスターの設定データを用いて第１の演算処理を行い、該第１の演算処理の処理結果を第１の出力レジスターに格納すると共に、第２の演算処理ユニットが、第２の入力レジスターの設定データを用いて第２の演算処理を行い、該第２の演算処理の処理結果を第２の出力レジスターに格納する。こうすることで、実行サイクル毎に、入力レジスターの設定データを用いて演算処理を行った結果を出力レジスターに格納することが繰り返され、入力レジスターにデータを設定したり、出力レジスターからデータを取得したりするデータ転送命令のみで、第１の演算処理を指定する命令と第２の演算処理を指定する命令を不要にして、極めてコード効率の高い情報処理装置を実現することが可能となる。
【００１２】
（２）本発明の他の態様に係る情報処理装置では、フェッチされた命令データをデコードする命令デコード部を含み、前記命令デコード部のデコード結果にかかわらず、前記第１の演算処理ユニット及び前記第２の演算処理ユニットは、前記実行サイクル毎に、各演算処理ユニットの処理結果を、対応する出力レジスターに格納する。
【００１３】
本態様によれば、命令デコード部のデコード結果にかかわらず、実行サイクル毎に、各演算処理ユニットの処理結果を、対応する出力レジスターに格納するようにしたので、第１の演算処理の結果及び第２の演算処理の結果を一度に取得でき、演算処理の高速化を図ることができるようになる。
【００１４】
（３）本発明の他の態様に係る情報処理装置では、前記命令デコード部が、算術演算命令、論理演算命令及びシフト演算命令を除く、データ転送命令及び分岐命令をデコードする。
【００１５】
本態様によれば、命令セットで規定されるビットフィールドに余裕を持たせ、極めてコード効率が高い情報処理装置を提供できるようになる。その結果、コードの難読性を高めて、逆アセンブルを困難にして安全性の高いコードを生成することができ、リバースエンジニアリング防止やセキュリティーの向上に寄与できるようになる。
【００１６】
（４）本発明の他の態様に係る情報処理装置では、前記第１の出力レジスターの格納データ又は前記第２の出力レジスターの格納データは、前記複数の入力レジスターのいずれかに転送可能に構成される。
【００１７】
本態様によれば、第１の演算処理ユニットと第２の演算処理ユニットによって行われる演算処理結果を用いて、再び演算処理に供することができ、演算処理を指定する命令がなくても、演算処理結果を用いた分岐処理等の処理が可能となる。
【００１８】
（５）本発明の他の態様に係る情報処理装置では、前記第１の入力レジスターが、前記第２の演算処理ユニットに割り当てられ、前記第２の演算処理ユニットが、前記実行サイクル毎に、前記第１の入力レジスターの設定データを用いて前記第２の演算処理を行い、該第２の演算処理の処理結果を前記第２の出力レジスターに格納する。
【００１９】
本態様によれば、１つの入力レジスターに設定されたデータを用いて複数種類の演算処理を行う場合に、一度に行うことができ、処理の高速化を図ることができる。
【００２０】
（６）本発明の他の態様に係る情報処理装置では、前記第１の演算処理ユニット又は前記第２の演算処理ユニットは、加算演算、乗算演算、減算演算、論理演算及びシフト演算のいずれかの演算処理を行う。
【００２１】
本態様によれば、加算演算命令、乗算演算命令、減算演算命令、論理演算命令及びシフト演算命令が省略された命令セットにもかかわらず、加算演算、乗算演算、減算演算、論理演算及びシフト演算のいずれかの演算処理を取得できる情報処理装置を提供できるようになる。
【００２２】
（７）本発明の他の態様に係る情報処理装置では、前記第１の演算処理ユニット及び前記第２の演算処理ユニットは、同一構成の算術論理演算ユニットである。
【００２３】
本態様によれば、上記の効果に加えて、柔軟性の高い演算結果が得られる情報処理装置を提供できるようになる。
【００２４】
（８）本発明の他の態様に係る情報処理装置では、前記複数の入力レジスターを構成する各入力レジスターが、汎用レジスターである。
【００２５】
本態様によれば、演算処理ユニット専用の特別なレジスターを設けることなく、コード効率が極めて高い情報処理装置を提供できるようになる。
【００２６】
（９）本発明の他の態様に係る情報処理装置では、前記複数の出力レジスターを構成する各出力レジスターが、アキュームレーターである。
【００２７】
本態様によれば、演算処理ユニット専用の特別なレジスターを設けることなく、コード効率が極めて高い情報処理装置を提供できるようになる。
【００２８】
（１０）本発明の他の態様は、第１の演算処理を行う第１の演算処理ユニットと、前記第１の演算処理ユニットと並列動作可能に構成され第２の演算処理を行う第２の演算処理ユニットと、各入力レジスターの設定データが読み出し及び書き込み可能に構成される第１の入力レジスターと第２の入力レジスターとを有する複数の入力レジスターと、前記第１の演算処理ユニットの処理結果及び前記第２の演算処理ユニットの処理結果が格納される第１の出力レジスターと第２の出力レジスターとを有する複数の出力レジスターとを含む情報処理装置の演算処理方法であって、前記第１の入力レジスターを前記第１の演算処理ユニットに割り当て、前記第２の入力レジスターを前記第２の演算処理ユニットに割り当てると共に、前記第１の出力レジスターを前記第１の演算処理ユニットに割り当て、前記第２の出力レジスターを前記第２の演算処理ユニットに割り当て、所与の実行サイクル毎に、前記第１の演算処理ユニットが、前記第１の入力レジスターの設定データを用いて前記第１の演算処理を行い、該第１の演算処理の処理結果を前記第１の出力レジスターに格納すると共に、前記第２の演算処理ユニットが、前記第２の入力レジスターの設定データを用いて前記第２の演算処理を行い、該第２の演算処理の処理結果を前記第２の出力レジスターに格納する。
【００２９】
本態様によれば、実行サイクル毎に、入力レジスターの設定データを用いて演算処理を行った結果を出力レジスターに格納することが繰り返され、入力レジスターにデータを設定したり、出力レジスターからデータを取得したりするデータ転送命令のみで、第１の演算処理を指定する命令と第２の演算処理を指定する命令を不要にして、極めてコード効率の高い情報処理装置の演算処理方法を提供することが可能となる。
【００３０】
（１１）本発明の他の態様に係る演算処理方法では、フェッチされた命令データのデコード結果にかかわらず、前記第１の演算処理ユニット及び前記第２の演算処理ユニットは、前記実行サイクル毎に、各演算処理ユニットの処理結果を、対応する出力レジスターに格納する。
【００３１】
本態様によれば、命令デコード部のデコード結果にかかわらず、実行サイクル毎に、各演算処理ユニットの処理結果を、対応する出力レジスターに格納するようにしたので、第１の演算処理の結果及び第２の演算処理の結果を一度に取得でき、演算処理の高速化を図ることができるようになる。
【００３２】
（１２）本発明の他の態様に係る演算処理方法では、前記命令データは、算術演算命令、論理演算命令及びシフト演算命令を除く、データ転送命令及び分岐命令に対応した命令データである。
【００３３】
本態様によれば、命令セットで規定されるビットフィールドに余裕を持たせ、極めてコード効率が高い情報処理装置の演算処理方法を提供できるようになる。その結果、コードの難読性を高めて、逆アセンブルを困難にして安全性の高いコードを生成することができ、リバースエンジニアリング防止やセキュリティーの向上に寄与できるようになる。
【００３４】
（１３）本発明の他の態様に係る演算処理方法では、前記複数の入力レジスターを構成する各入力レジスターが、汎用レジスターである。
【００３５】
本態様によれば、上記の効果に加えて、柔軟性の高い演算結果が得られる情報処理装置の演算処理方法を提供できるようになる。
【００３６】
（１４）本発明の他の態様に係る演算処理方法では、前記複数の出力レジスターを構成する各出力レジスターが、アキュームレーターである。
【００３７】
本態様によれば、上記の効果に加えて、柔軟性の高い演算結果が得られる情報処理装置の演算処理方法を提供できるようになる。
【００３８】
（１５）本発明の他の態様は、電子機器が、プログラム及びデータを記憶するメモリーと、前記プログラム及び前記データに対応した演算処理を行う上記のいずれか記載の情報処理装置とを含む。
【００３９】
本態様によれば、命令セットのコード効率を向上させると共に、コードの難読性を高めて、逆アセンブルを困難にして安全性の高いコードを生成して複雑な演算処理を実現する一方で、リバースエンジニアリング防止やセキュリティー防止が可能な電子機器を提供できるようになる。
【図面の簡単な説明】
【００４０】
【図１】本発明に係る実施形態における情報処理装置の原理的な構成例を示す図。
【図２】図１の情報処理装置としてのＣＰＵの構成例のブロック図。
【図３】図２のＣＰＵが読み込むプログラムの命令データの説明図。
【図４】図２の汎用レジスター部の構成例を示す図。
【図５】図２のアキュームレーター部の構成例を示す図。
【図６】本実施形態における汎用レジスター部、演算処理部及びアキュームレーター部の詳細な構成例のブロック図。
【図７】図６の演算処理部の処理例の説明図。
【図８】図８（Ａ）、図８（Ｂ）は図２のＣＰＵの動作例の説明図。
【図９】本実施形態におけるＣＰＵの命令セットの一例の説明図。
【図１０】図１０（Ａ）、図１０（Ｂ）は本実施形態におけるＣＰＵが実行するプログラムのコードの効果の説明図。
【図１１】本実施形態の変形例における演算処理部の構成例のブロック図。
【図１２】本実施形態における電子機器としてのプロジェクターを含む画像表示システムの構成例のブロック図。
【図１３】図１２の画像処理装置のハードウェア構成例のブロック図。
【図１４】図１の投射装置の構成例の図。
【発明を実施するための形態】
【００４１】
以下、本発明の実施の形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成のすべてが本発明の必須構成要件であるとは限らない。
【００４２】
１．  情報処理装置
図１に、本発明に係る実施形態における情報処理装置の原理的な構成例を示す。
【００４３】
本実施形態における情報処理装置１０は、汎用レジスター部２０と、アキュームレーター部３０と、演算処理部４０とを含む。
【００４４】
汎用レジスター部２０は、外部から設定データの読み出しと設定データの書き込みとが可能な複数の汎用レジスターＲＧ０、・・・、ＲＧｊ、・・・、ＲＧｋ、・・・、ＲＧｍ、・・・、ＲＧｎ、・・・を有し、演算処理部４０において行われる演算処理に供される入力データが設定される。汎用レジスター部２０が有する複数の汎用レジスターは、演算処理部４０の入力データが設定される入力レジスターの機能を有する。
【００４５】
アキュームレーター部３０は、演算処理部４０において行われる演算処理の処理結果が格納される複数のアキュームレーターＲＧ１０、・・・、ＲＧ１ｘ、・・・、ＲＧ２ｙ、・・・を含む。アキュームレーター部３０が有する複数のアキュームレーターは、演算処理部４０の処理結果が格納される出力レジスターの機能を有する。
【００４６】
演算処理部４０は、並列動作可能に構成された複数の演算処理ユニットを有する。複数の演算処理ユニットは、互いに異なる演算処理を行ってもよいし、１つの演算処理ユニットの処理内容が別の演算処理ユニットの演算処理と同じ種類の演算処理を行ってもよい。演算処理部４０が有する複数の演算処理ユニットを構成する各演算処理ユニットは、いわゆる算術演算、論理演算又はシフト演算を行うことが望ましい。算術演算は、加算演算、乗算演算、減算演算、除算演算、インクリメント演算、デクリメント演算のいずれかであることが望ましい。論理演算は、論理和演算、論理積演算、論理否定演算、排他的論理和演算、排他的論理和否定演算のいずれかであることが望ましい。シフト演算は、論理シフト演算、算術シフト演算、回転演算、スワップ演算のいずれかであることが望ましい。
【００４７】
演算処理部４０が有する複数の演算処理ユニットを構成する各演算処理ユニットには、汎用レジスター部２０が有する複数の汎用レジスターのうち１又は複数の汎用レジスターが割り当てられると共に、アキュームレーター部３０が有する複数のアキュームレーターのうち１又は複数のアキュームレーターが割り当てられる。そして、複数の演算処理ユニットは、所与の実行サイクル毎に、演算処理ユニット毎に割り当てられた汎用レジスターに設定された入力データを用いて同時に演算処理を行い、演算処理ユニット毎に割り当てられたアキュームレーターに演算処理の処理結果を格納する。
【００４８】
即ち、演算処理部４０は、第１の演算処理を行う第１の演算処理ユニットＥＸＵ１と、第２の演算処理を行う第２の演算処理ユニットＥＸＵ２とを少なくとも含む。第１の演算処理の処理内容は、第２の演算処理の処理内容と同じであってもよいし、異なっていてもよい。複数の汎用レジスター（入力レジスター）は、第１の演算処理ユニットＥＸＵ１に割り当てられる第１の汎用レジスター（入力レジスター）ＲＧｊ、ＲＧｎと、第２の演算処理ユニットＥＸＵ２に割り当てられる第２の汎用レジスター（入力レジスター）ＲＧｋとを有する。また、複数のアキュームレーター（出力レジスター）は、第１の演算処理ユニットＥＸＵ１に割り当てられる第１のアキュームレーター（出力レジスター）ＲＧ１ｘと、第２の演算処理ユニットＥＸＵ２に割り当てられる第２のアキュームレーター（出力レジスター）ＲＧ２ｙとを有する。そして、情報処理装置１０は、実行サイクル毎に、第１の演算処理ユニットＥＸＵ１が、第１の汎用レジスターＲＧｊ、ＲＧｎの設定データを用いて第１の演算処理を行い、該第１の演算処理の処理結果を第１のアキュームレーターＲＧ１ｘに格納すると共に、第２の演算処理ユニットＥＸＵ２が、第２の汎用レジスターＲＧｋの設定データを用いて第２の演算処理を行い、該第２の演算処理の処理結果を第２のアキュームレーターＲＧ２ｙに格納する。
【００４９】
ここで、第１の演算処理ユニットＥＸＵ１には、第１のアキュームレーターＲＧ１ｘを含む複数のアキュームレーターが割り当てられてもよい。同様に、第２の演算処理ユニットＥＸＵ２には、第２のアキュームレーターＲＧ２ｙを含む複数のアキュームレーターが割り当てられてもよい。
【００５０】
即ち、情報処理装置１０の演算処理方法として、複数の入力レジスターのうち第１の入力レジスターを第１の演算処理ユニットＥＸＵ１に割り当て、該複数の入力レジスターのうち第２の入力レジスターを第２の演算処理ユニットＥＸＵ２に割り当てると共に、複数の出力レジスターのうち第１の出力レジスターを第１の演算処理ユニットＥＸＵ１に割り当て、該複数の出力レジスターのうち第２の出力レジスターを第２の演算処理ユニットＥＸＵ２に割り当てる。そして、所与の実行サイクル毎に、第１の演算処理ユニットＥＸＵ２が、第１の入力レジスターの設定データを用いて第１の演算処理を行い、該第１の演算処理の処理結果を第１の出力レジスターに格納すると共に、第２の演算処理ユニットが、第２の入力レジスターの設定データを用いて第２の演算処理を行い、該第２の演算処理の処理結果を第２の出力レジスターに格納する。
【００５１】
このような情報処理装置１０は、実行サイクル毎に、汎用レジスターの設定データを用いて演算処理を行った結果をアキュームレーターに格納することを繰り返すことで、演算処理を指定する命令を不要にして命令セットで規定されるビットフィールドに余裕を持たせ、極めてコード効率の高い情報処理装置を実現することが可能となる。
【００５２】
また、第１のアキュームレーターの格納データ又は第２のアキュームレーターの格納データは、複数の汎用レジスターのいずれかに転送可能に構成される。こうすることで、演算処理部４０によって行われる演算処理結果を用いて、再び演算処理に供することができる。そのため、演算処理を指定する命令がなくても、演算処理結果を用いた分岐処理等の処理が可能となる。
【００５３】
また、第１の汎用レジスターが、第２の演算処理ユニットＥＸＵ２に割り当てられ、第２の演算処理ユニットＥＸＵ２が、実行サイクル毎に、第１の汎用レジスターの設定データを用いて第２の演算処理を行い、該第２の演算処理の処理結果を第２のアキュームレーターに格納するようにしてもよい。こうすることで、１つの汎用レジスターに設定されたデータを用いて複数種類の演算処理を行う場合に、一度に行うことができ、処理の高速化を図ることができる。
【００５４】
図２に、図１の情報処理装置１０としての中央演算処理装置（Central Processing Unit：ＣＰＵ）の構成例のブロック図を示す。図２において、図１と同一部分には同一符号を付し、適宜説明を省略する。
図３に、図２のＣＰＵ１００が読み込むプログラムの命令データの説明図を示す。
【００５５】
ＣＰＵ１００は、汎用レジスター部２０及びアキュームレーター部３０を含むレジスター部５０と、命令デコード部６０と、バス制御部７０と、プログラムカウンター（Program Counter:ＰＣ）８０と、スタックポインター（Stack Pointer：ＳＰ)８２と、オペコードレジスター８４と、オペランドレジスター８６と、制御部９０とを含む。
【００５６】
ＣＰＵ１００は、外部又は内部の図示しないメモリーに格納されたプログラムを読み込み、該プログラムにより指定された処理を実行する。このプログラムは、それぞれがＣＰＵ１００の処理内容を指定する、図３に示すような命令データの列である。命令データは、オペコード部とオペランド部とを有し、オペコード部が処理内容を指定する部分であり、オペランド部が、オペコード部で指定された処理の対象を指定する部分である。
【００５７】
プログラムカウンター８０は、ＣＰＵ１００が現在実行するプログラムのアドレスを保持する制御レジスターであり、ＣＰＵ１００が処理の実行を終了する度にその内容が更新される。スタックポインター８２は、スタック領域と呼ばれるデータの待避領域に最後に待避したアドレスを保持する制御レジスターであり、例えばサブルーチン処理に移行する際に現在の処理を中断し、サブルーチン処理の終了後に中断した処理を再開させるために用いられる。オペコードレジスター８４は、ＣＰＵ１００によりフェッチされた命令データのオペコード部を保持する制御レジスターである。オペランドレジスター８６は、ＣＰＵ１００によりフェッチされた命令データのオペランド部を保持する制御レジスターである。
【００５８】
命令デコード部６０は、プログラムカウンター８０により指定されるアドレスに記憶されるプログラムの命令データがＣＰＵ１００によりフェッチされたとき、該命令データをデコードし、デコード結果を制御部９０に出力する。
【００５９】
バス制御部７０は、制御部９０からの指示により、ＣＰＵ１００の外部又は内部に設けられたバスの調停制御を行って、アクセス制御を行う。
【００６０】
制御部９０は、命令デコード部６０からのデコード結果に基づいて、プログラムカウンター８０、スタックポインター８２、オペコードレジスター８４、オペランドレジスター８６、バス制御部７０、演算処理部４０及びレジスター部５０を制御して、ＣＰＵ１００の制御を司る。
【００６１】
図４に、図２の汎用レジスター部２０の構成例を示す。
【００６２】
本実施形態では、汎用レジスター部２０が、１６種類の汎用レジスターＲＧ０〜ＲＧｆを有する。なお、本実施形態では、ＣＰＵ１００が、１６種類の汎用レジスターを有するものとして説明するが、本発明は汎用レジスター数に限定されるものではなく、複数の汎用レジスターを有していればよい。また、本実施形態では、汎用レジスターのビット数が「１６」であるものとして説明するが、本発明はこれに限定されるものではなく、汎用レジスターのビット数に限定されるものではない。
【００６３】
図４に示す各汎用レジスターは、制御部９０からアクセス可能に構成されており、制御部９０は、各汎用レジスターにデータを書き込んだり、各汎用レジスターからデータを読み出したりすることができるようになっている。そして、図２の汎用レジスターＲＧ０〜ＲＧｆのいずれかは、演算処理部４０が有する複数の演算処理ユニットのいずれかに予め割り当てられている。汎用レジスターＲＧ０〜ＲＧｆのうち、演算処理部４０が有する複数の演算処理ユニットのいずれにも割り当てられない汎用レジスターがあってもよいし、１つの汎用レジスターが、演算処理部４０が有する複数の演算処理ユニットに割り当てられていてもよい。
【００６４】
図５に、図２のアキュームレーター部３０の構成例を示す。
【００６５】
本実施形態では、アキュームレーター部３０が、３２種類のアキュームレーターＲＧ１０〜ＲＧ２ｆを有する。なお、本実施形態では、ＣＰＵ１００が、３２種類のアキュームレーターを有するものとして説明するが、本発明はアキュームレーター数に限定されるものではなく、複数のアキュームレーターを有していればよい。また、本実施形態では、アキュームレーターのビット数が「１６」であるものとして説明するが、本発明はこれに限定されるものではなく、アキュームレーターのビット数に限定されるものではない。
【００６６】
図５に示す各アキュームレーターは、演算処理部４０が有する演算処理ユニットから書き込み可能に構成されており、制御部９０は、各アキュームレーターに書き込まれたデータを読み出したり、該データを汎用レジスター部２０のいずれかの汎用レジスターに転送したりできるようになっている。そして、図２のアキュームレーターＲＧ１０〜ＲＧ２ｆのいずれかは、演算処理部４０が有する複数の演算処理ユニットのいずれかに予め割り当てられている。アキュームレーターＲＧ１０〜ＲＧ２ｆのうち、演算処理部４０が有する複数の演算処理ユニットのいずれにも割り当てられないアキュームレーターがあってもよい。
【００６７】
演算処理部４０が有する複数の演算処理ユニットを構成する各演算処理ユニットは、実行サイクル毎に、入力レジスターとして割り当てられた汎用レジスターのデータを用いて演算処理を行い、その演算処理結果を、出力レジスターとして割り当てられたアキュームレーターに格納する。
【００６８】
図６に、本実施形態における汎用レジスター部２０、演算処理部４０及びアキュームレーター部３０の詳細な構成例のブロック図を示す。図６において、図４又は図５と同一部分には同一符号を付し、適宜説明を省略する。
図７に、図６の演算処理部４０の処理例の説明図を示す。
【００６９】
図６において、演算処理部４０は、複数の演算処理ユニット４０１〜４０１１を有する。図６では、演算処理部４０が、１１個の演算処理ユニットを含む例を説明するが、本発明が、演算処理ユニット数に限定されるものではなく、演算処理部４０が複数の演算処理ユニットを有していればよい。
【００７０】
演算処理ユニット４０１は、加算演算処理を行う。演算処理ユニット４０１には、汎用レジスターＲＧ０、ＲＧ１と、アキュームレーターＲＧ１０、ＲＧ２０とが割り当てられる。そして、実行サイクル毎に、演算処理ユニット４０２〜４０１１と並列に、演算処理ユニット４０１は、汎用レジスターＲＧ０の入力データと汎用レジスターＲＧ１の入力データとの加算演算を行い、加算演算結果を、アキュームレーターＲＧ１０、ＲＧ２０に格納する。ここで、アキュームレーターＲＧ１０には、加算演算結果の下位ビット側が格納され、アキュームレーターＲＧ２０には、キャリービットが格納される。
【００７１】
演算処理ユニット４０２もまた、加算演算処理を行う。ただ、演算処理ユニット４０２は、演算処理ユニット４０１とは別の汎用レジスターが入力レジスターとして割り当てられている。即ち、演算処理ユニット４０２には、汎用レジスターＲＧ２、ＲＧ３と、アキュームレーターＲＧ１２、ＲＧ２２とが割り当てられる。そして、実行サイクル毎に、演算処理ユニット４０１、４０３〜４０１１と並列に、演算処理ユニット４０２は、汎用レジスターＲＧ２の入力データと汎用レジスターＲＧ３の入力データとの加算演算を行い、加算演算結果を、アキュームレーターＲＧ１２、ＲＧ２２に格納する。ここで、アキュームレーターＲＧ１２には、加算演算結果の下位ビット側が格納され、アキュームレーターＲＧ２２には、キャリービットが格納される。
【００７２】
演算処理ユニット４０３は、乗算演算処理を行う。演算処理ユニット４０３には、汎用レジスターＲＧ４、ＲＧ５と、アキュームレーターＲＧ１４、ＲＧ２４とが割り当てられる。そして、実行サイクル毎に、演算処理ユニット４０１〜４０２、４０４〜４０１１と並列に、演算処理ユニット４０３は、汎用レジスターＲＧ４の入力データと汎用レジスターＲＧ５の入力データとの乗算演算を行い、乗算演算結果を、アキュームレーターＲＧ１４、ＲＧ２４に格納する。ここで、アキュームレーターＲＧ１４には、乗算演算結果の下位ビット側が格納され、アキュームレーターＲＧ２４には、乗算演算結果の上位ビット側が格納される。
【００７３】
演算処理ユニット４０４もまた、乗算演算処理を行う。演算処理ユニット４０４には、汎用レジスターＲＧ６、ＲＧ７と、アキュームレーターＲＧ１６、ＲＧ２６とが割り当てられる。そして、実行サイクル毎に、演算処理ユニット４０１〜４０３、４０５〜４０１１と並列に、演算処理ユニット４０４は、汎用レジスターＲＧ６の入力データと汎用レジスターＲＧ７の入力データとの乗算演算を行い、乗算演算結果を、アキュームレーターＲＧ１６、ＲＧ２６に格納する。ここで、アキュームレーターＲＧ１６には、乗算演算結果の下位ビット側が格納され、アキュームレーターＲＧ２６には、乗算演算結果の上位ビット側が格納される。
【００７４】
演算処理ユニット４０５は、減算演算処理を行う。演算処理ユニット４０５には、汎用レジスターＲＧ８、ＲＧ９と、アキュームレーターＲＧ１８とが割り当てられる。そして、実行サイクル毎に、演算処理ユニット４０１〜４０４、４０６〜４０１１と並列に、演算処理ユニット４０５は、汎用レジスターＲＧ９の入力データから汎用レジスターＲＧ８の入力データを減算する減算演算を行い、減算演算結果を、アキュームレーターＲＧ１８に格納する。
【００７５】
演算処理ユニット４０６は、デクリメント演算処理を行う。演算処理ユニット４０６には、汎用レジスターＲＧａと、アキュームレーターＲＧ１ａとが割り当てられる。そして、実行サイクル毎に、演算処理ユニット４０１〜４０５、４０７〜４０１１と並列に、演算処理ユニット４０６は、汎用レジスターＲＧａの入力データから１を減算したデクリメント演算を行い、デクリメント演算結果をアキュームレーターＲＧ１ａに格納する。
【００７６】
演算処理ユニット４０７は、インクリメント演算処理を行う。演算処理ユニット４０７には、汎用レジスターＲＧｂと、アキュームレーターＲＧ１ｂとが割り当てられる。そして、実行サイクル毎に、演算処理ユニット４０１〜４０６、４０８〜４０１１と並列に、演算処理ユニット４０７は、汎用レジスターＲＧｂの入力データに１を加算したインクリメント演算を行い、インクリメント演算結果をアキュームレーターＲＧ１ｂに格納する。
【００７７】
演算処理ユニット４０８は、論理積演算処理を行う。演算処理ユニット４０８には、汎用レジスターＲＧｃ、ＲＧｄと、アキュームレーターＲＧ１ｃとが割り当てられる。そして、実行サイクル毎に、演算処理ユニット４０１〜４０７、４０９〜４０１１と並列に、演算処理ユニット４０８は、汎用レジスターＲＧｃの入力データと汎用レジスターＲＧｄの入力データとの論理積演算を行い、論理積演算結果をアキュームレーターＲＧ１ｃに格納する。
【００７８】
演算処理ユニット４０９は、左方向の論理シフト演算処理を行う。演算処理ユニット４０９には、汎用レジスターＲＧｃと、アキュームレーターＲＧ２ｃとが割り当てられる。そして、実行サイクル毎に、演算処理ユニット４０１〜４０８、４０１０〜４０１１と並列に、演算処理ユニット４０９は、汎用レジスターＲＧｃの入力データを左方向にシフトしたシフト演算を行い、シフト演算結果をアキュームレーターＲＧ２ｃに格納する。
【００７９】
演算処理ユニット４０１０は、論理和演算処理を行う。演算処理ユニット４０１０には、汎用レジスターＲＧｅ、ＲＧｆと、アキュームレーターＲＧ１ｅとが割り当てられる。そして、実行サイクル毎に、演算処理ユニット４０１〜４０９、４０１１と並列に、演算処理ユニット４０１０は、汎用レジスターＲＧｅの入力データと汎用レジスターＲＧｆの入力データとの論理積演算を行い、論理積演算結果をアキュームレーターＲＧ１ｅに格納する。
【００８０】
演算処理ユニット４０１１は、右方向の論理シフト演算処理を行う。演算処理ユニット４０１１には、汎用レジスターＲＧｅと、アキュームレーターＲＧ２ｅとが割り当てられる。そして、実行サイクル毎に、演算処理ユニット４０１〜４０１０と並列に、演算処理ユニット４０１１は、汎用レジスターＲＧｅの入力データを右方向にシフトしたシフト演算を行い、シフト演算結果をアキュームレーターＲＧ２ｅに格納する。
【００８１】
図６の演算処理部４０の演算処理ユニット４０１〜４０１１は、それぞれ実行サイクル毎に、対応するアキュームレーターの値を更新する。即ち、命令デコード部６０のデコード結果にかかわらず、演算処理ユニット４０１〜４０１１は、それぞれ実行サイクル毎に、各演算処理を行う。従って、実行サイクル前に、割り当てられた汎用レジスターの入力データが書き換えられたとき、対応するアキュームレーターに格納されるデータが変化することになる。
【００８２】
図８（Ａ）、図８（Ｂ）に、図２のＣＰＵ１００の動作例の説明図を示す。図８（Ａ）は、ＣＰＵ１００のプログラムの一例を表す。図８（Ａ）において、命令ＬＤＩは、指定された即値を汎用レジスターに転送する転送命令である。図８（Ｂ）は、ＣＰＵ１００の動作例のタイミング図を表す。なお、図８（Ｂ）は、演算による遅延を無視し、各汎用レジスターと各アキュームレーターの状態を模式的に表す。
【００８３】
例えば図８（Ａ）に示すように、汎用レジスターＲ０、Ｒ１、Ｒ２、Ｒ３に、それぞれ即値「１」、「２」、「３」、「４」を転送し、演算処理ユニット４０１、４０２の処理例を考える。このデータ転送命令列の直前において、汎用レジスターＲ０、Ｒ１、Ｒ２、Ｒ３、アキュームレーターＲＧ１０、ＲＧ２０、ＲＧ１２、ＲＧ２２が初期化され、各汎用レジスター及び各アキュームレーターのデータが「０」であるものとする。
【００８４】
まず、実行サイクルＴ１において、汎用レジスターＲ０に即値「１」が設定される。これにより、実行サイクルＴ１では、演算処理ユニット４０１は、汎用レジスターＲ０に設定された「１」と汎用レジスターＲ１に設定された「０」とを加算した加算演算結果「１」を、アキュームレーターＲＧ１０に設定する。このとき、キャリービットが「０」なので、アキュームレーターＲＧ２０のデータはそのままである。同様に、演算処理ユニット４０２は、汎用レジスターＲ２に設定された「０」と汎用レジスターＲ３に設定された「０」とを加算した加算演算結果「０」を、アキュームレーターＲＧ１２に設定するが、アキュームレーターＲＧ１２のデータはそのままである。このとき、キャリービットが「０」なので、アキュームレーターＲＧ２２のデータはそのままである。
【００８５】
次に、実行サイクルＴ２において、汎用レジスターＲ１に即値「２」が設定される。これにより、実行サイクルＴ２では、演算処理ユニット４０１は、汎用レジスターＲ０に設定された「１」と汎用レジスターＲ１に設定された「２」とを加算した加算演算結果「３」を、アキュームレーターＲＧ１０に設定する。このとき、キャリービットが「０」なので、アキュームレーターＲＧ２０のデータはそのままである。一方、演算処理ユニット４０２は、汎用レジスターＲ２、Ｒ３のデータがそのままであるため、加算演算結果をアキュームレーターＲＧ１２に設定するが、アキュームレーターＲＧ１２のデータはそのままである。このとき、キャリービットが「０」なので、アキュームレーターＲＧ２２のデータはそのままである。
【００８６】
次に、実行サイクルＴ３において、汎用レジスターＲ２に即値「３」が設定される。これにより、実行サイクルＴ３では、演算処理ユニット４０１は、汎用レジスターＲ０、Ｒ１のデータがそのままであるため、アキュームレーターＲＧ１０、ＲＧ２０のデータもそのままである。一方、演算処理ユニット４０２は、汎用レジスターＲ２に設定された「３」と汎用レジスターＲ３に設定された「０」とを加算した加算演算結果「３」を、アキュームレーターＲＧ１２に設定する。このとき、キャリービットが「０」なので、アキュームレーターＲＧ２２のデータはそのままである。
【００８７】
そして、実行サイクルＴ４において、汎用レジスターＲ３に即値「４」が設定される。これにより、実行サイクルＴ４では、演算処理ユニット４０１は、汎用レジスターＲ０、Ｒ１のデータがそのままであるため、アキュームレーターＲＧ１０、ＲＧ２０のデータもそのままである。一方、演算処理ユニット４０２は、汎用レジスターＲ２に設定された「３」と汎用レジスターＲ３に設定された「４」とを加算した加算演算結果「７」を、アキュームレーターＲＧ１２に設定する。このとき、キャリービットが「０」なので、アキュームレーターＲＧ２２のデータはそのままである。
【００８８】
このように、プログラムの命令列に加算命令を含まなくても、入力レジスターに割り当てられた汎用レジスターにデータを設定するだけで、実行サイクル毎に、加算結果を得ることができるようになる。即ち、ＣＰＵ１００は、演算処理部４０が有する演算処理ユニット４０１〜４０１１が行う演算処理に対応する算術演算命令、論理演算命令及びシフト演算命令をオペコードに持つ必要がなくなり、少ないビットフィールドを他の命令に割り当てることができ、極めてコード効率を高くすることができるようになる。
【００８９】
図９に、本実施形態におけるＣＰＵ１００の命令セットの一例の説明図を示す。図９は、ニーモニック毎に、１６ビットのオペコードと、処理内容の説明を表す。
【００９０】
図９は、ＣＰＵ１００の命令セットを表しており、ＣＰＵ１００が実行可能な全命令を列挙したものである。即ち、ＣＰＵ１００の命令セットは、データ転送命令群１５０と、条件分岐命令群（より具体的には、無条件分岐命令群１６０と条件分岐命令群１７０）からなり、演算処理部４０において行われる算術演算命令、論理演算命令及びシフト演算命令が省略されている。
【００９１】
ここで、データ転送命令群１５０は、レジスター間転送命令と、レジスター・メモリー間転送命令とを有する。
【００９２】
レジスター間転送命令は、ＬＤＲ命令からなる。ＬＤＲ命令は、オペコード部で転送元として指定された転送元レジスターから、該オペコード部で転送先として指定された転送先レジスターへの転送を指示する命令である。レジスター・メモリー間転送命令は、ＬＤＩ命令、ＬＤＭ命令、ＳＴＭ命令、ＬＤＵ命令、ＳＴＵ命令からなる。ＬＤＩ命令は、オペコード部で指定された即値を、該オペコード部で指定された転送先レジスターへの転送を指示する命令である。ＬＤＭ命令は、オペコード部で指定された転送元のメモリー上のアドレスに格納されたデータを、該オペコード部で指定された転送先レジスターへの転送を指示する命令である。ＳＴＭ命令は、オペコード部で指定された転送元レジスターに設定されたデータを、該オペコード部で指定された転送先のメモリー上のアドレスへの転送を指示する命令である。ＬＤＵ命令は、オペコード部で指定された転送元レジスターの値をアドレスとしてメモリーから読み出し、該オペコード部で指定された転送先レジスターへの転送を指示する命令である。ＳＴＵ命令は、オペコード部で指定された転送元レジスターに設定されたデータを、転送先レジスターの値をアドレスとしたメモリーの記憶領域への転送を指示する命令である。
【００９３】
無条件分岐命令群１６０は、ＪＰ命令、ＪＳ命令、ＪＰＯ命令、ＪＳＯ命令、ＪＰＲ命令、ＪＳＲ命令、ＲＴＳ命令、及びＮＯＰ命令からなる。ＪＰ命令は、オペコード部で指定された分岐先絶対アドレスに分岐を指示する命令である。ＪＳ命令は、サブルーチン分岐命令であり、オペコード部で指定されたサブルーチン分岐先絶対アドレスにサブルーチン分岐する命令である。ＪＰＯ命令は、例えば現在の実行アドレスを基準に、オペコード部で指定される相対ジャンプ先アドレスだけ進んだ分岐先アドレス又は相対ジャンプ先アドレスだけ戻った分岐先アドレスへの分岐を指示する命令である。ＪＰＲ命令は、オペコード部で指定されるレジスターに格納される値を分岐先アドレスとして分岐を指示する命令である。ＪＳＲ命令は、オペコード部で指定されるレジスターに格納される値を相対値として、例えば現在の実行アドレスを基準に、該相対値だけ進んだ分岐先アドレス又は該相対値だけ戻った分岐先アドレスへの分岐を指示する命令である。ＲＴＳ命令は、サブルーチン復帰命令である。ＮＯＰ命令は、何も命令を実行しないことを指示する命令である。
【００９４】
条件分岐命令群１７０は、ＥＱＲ命令、ＥＱＩ命令、ＮＥＲ命令、ＮＥＩ命令、ＧＴＲ命令、ＧＴＩ命令、ＬＴＲ命令、及びＬＴＩ命令からなる。
【００９５】
ＥＱＲ命令は、オペコード部で指定された基準レジスターに格納された値と該オペコード部で指定された比較レジスターに格納された値とが一致したときに、例えばオペランド部で指定された分岐先アドレスへの分岐を指示する命令である。ＥＱＩ命令は、オペコード部で指定された基準レジスターに格納された値と該オペコード部で指定された即値とが一致したときに、例えばオペランド部で指定された分岐先アドレスへの分岐を指示する命令である。
【００９６】
ＮＥＲ命令は、オペコード部で指定された基準レジスターに格納された値と該オペコード部で指定された比較レジスターに格納された値とが不一致のときに、例えばオペランド部で指定された分岐先アドレスへの分岐を指示する命令である。ＮＥＩ命令は、オペコード部で指定された基準レジスターに格納された値と該オペコード部で指定された即値とが不一致のときに、例えばオペランド部で指定された分岐先アドレスへの分岐を指示する命令である。
【００９７】
ＧＴＲ命令は、オペコード部で指定された基準レジスターに格納された値が該オペコード部で指定された比較レジスターに格納された値より大きいときに、例えばオペランド部で指定された分岐先アドレスへの分岐を指示する命令である。ＧＴＩ命令は、オペコード部で指定された基準レジスターに格納された値が該オペコード部で指定された即値より大きいときに、例えばオペランド部で指定された分岐先アドレスへの分岐を指示する命令である。
【００９８】
ＬＴＲ命令は、オペコード部で指定された基準レジスターに格納された値が該オペコード部で指定された比較レジスターに格納された値より小さいときに、例えばオペランド部で指定された分岐先アドレスへの分岐を指示する命令である。ＬＴＩ命令は、オペコード部で指定された基準レジスターに格納された値が該オペコード部で指定された即値より小さいときに、例えばオペランド部で指定された分岐先アドレスへの分岐を指示する命令である。
【００９９】
このように本実施形態では、ＣＰＵ１００の命令セットにおいて、データ転送命令群１５０と、無条件分岐命令群１６０と、条件分岐命令群１７０のみが規定されている。しかしながら、上記のような演算処理部４０を備えることにより、所与の実行サイクル毎に、算術演算結果、論理演算結果及びシフト演算結果を得ることができる。即ち、ＣＰＵ１００の命令デコード部６０は、算術演算命令、論理演算命令及びシフト演算命令を除く、データ転送命令、及び分岐命令（無条件分岐命令、条件分岐命令）をデコードする。しかも、命令デコード部６０のデコード結果にかかわらず、演算処理部４０が有する複数の演算処理ユニットは、実行サイクル毎に、各演算処理ユニットの処理結果を、対応するアキュームレーターに格納する。これにより、命令デコード部６０が簡素化されると共に、算術演算命令、論理演算命令及びシフト演算命令をオペコードに持つ必要がなくなり、少ないビットフィールドを他の命令に割り当てることができ、極めてコード効率を高くすることができるようになる。
【０１００】
更に、算術演算命令、論理演算命令及びシフト演算命令をオペコードに持つ必要がなくなるため、ＣＰＵ１００を実行するプログラムのコードは、従来のコードと比較して、以下のような効果を奏することができるようになる。
【０１０１】
図１０（Ａ）、図１０（Ｂ）に、本実施形態におけるＣＰＵ１００が実行するプログラムのコードの効果の説明図を示す。図１０（Ａ）は、フィナボッチ数列の第ｎｕｍ（ｎｕｍ≧３）項を返す関数をＣ言語で表したコード例である。図１０（Ｂ）は、図１０（Ａ）のコードを、図９のニーモニックを用いてアセンブラで表記した例を表したものである。
【０１０２】
図１０（Ａ）に示すように、この関数は、整数型の変数ｉのデクリメント演算と、整数型の変数ｆ＿０、ｆ＿１の加算演算とが繰り返し行われる。これに対して、本実施形態におけるＣＰＵ１００の命令セットに対応したアセンブラに変換すると、図１０（Ｂ）に示すように、データ転送命令と条件分岐命令とからなる命令列になる。
【０１０３】
即ち、図１０（Ｂ）では、加算演算命令やデクリメント演算命令が含まれておらず、データ転送命令により、図６の演算処理ユニット４０１に対応した汎用レジスターＲＧ０、ＲＧ１に値を設定するだけで加算演算結果を取得したり、図６の演算処理ユニット４０６に対応した汎用レジスターＲＧａに値を設定するだけでデクリメント演算結果を取得したりしている。しかも、命令列の途中で、汎用レジスターＲＧ２を変数の値の待避用に使用している。なお、図１０（Ｂ）では、返り値がｓｈｏｒｔ型であれば汎用レジスターＲＧ０に転送され、返り値がｉｎｔ型であれば汎用レジスターＲＧ０、ＲＧ１に転送される。
【０１０４】
即ち、図１０（Ｂ）に示すように、汎用レジスターに値を設定するだけで、所与の実行サイクル後に演算結果を取得できる一方、所与の実行サイクル後に取得できる演算結果を使用しなければ汎用レジスターを従来のレジスターとして使用することができる。
【０１０５】
このように、本実施形態によれば、算術演算命令、論理演算命令及びシフト演算命令がない命令データ列で算術演算処理等を実現できるため、上記のように極めてコード効率を高くすることができる。更に、本実施形態によれば、図１０（Ｂ）に示すように、コードの難読性を高めて、逆アセンブルを困難にして安全性の高いコードを生成することができる。この結果、リバースエンジニアリング防止やセキュリティーの向上に寄与できるようになる。
【０１０６】
なお、本実施形態では、図６に示すように、演算処理部４０が有する複数の演算処理ユニットを構成する各演算処理ユニットが、それぞれ加算演算、減算演算等の予め決められた演算処理を行うものとして説明したが、本発明はこれに限定されるものではない。
【０１０７】
図１１に、本実施形態の変形例における演算処理部の構成例のブロック図を示す。図１１において、図６と同一の部分には同一符号を付し、適宜説明を省略する。
【０１０８】
本変形例における演算処理部２００は、図２の演算処理部４０に代えてＣＰＵ１００に含まれる。この演算処理部２００は、複数の演算処理ユニット２００１〜２００３、４０３〜４０４、４０６〜４０１１を有する。演算処理ユニット２００１〜２００３は、それぞれ同一の構成の算術論理演算ユニットである。図１１では、演算処理部２００が、１１個の演算処理ユニットを含む例を説明するが、本発明が、演算処理ユニット数に限定されるものではなく、演算処理部２００が複数の演算処理ユニットを有していればよい。
【０１０９】
演算処理ユニット２００１〜２００３を構成する各演算処理ユニットは、加算演算処理及び減算演算処理のいずれかの演算処理を行う。各演算処理ユニットは、例えば図示しない制御レジスターの制御データにより、加算演算処理及び減算演算処理のいずれかの演算処理を行うように指定される。
【０１１０】
そして、演算処理ユニット２００１には、汎用レジスターＲＧ０、ＲＧ１と、アキュームレーターＲＧ１０、ＲＧ２０とが割り当てられる。そして、実行サイクル毎に、演算処理ユニット２００２、４０３〜４０４、２００３、４０６〜４０１１と並列に、演算処理ユニット２００１は、汎用レジスターＲＧ０の入力データと汎用レジスターＲＧ１の入力データとを用いて制御データにより指定された演算を行い、その演算結果を、アキュームレーターＲＧ１０、ＲＧ２０に格納する。ここで、アキュームレーターＲＧ１０には、演算結果の下位ビット側が格納され、アキュームレーターＲＧ２０には、演算結果の上位ビット側が格納される。
【０１１１】
演算処理ユニット２００２もまた、制御データにより指定された演算を行う。ただ、演算処理ユニット２００２は、演算処理ユニット２００１とは別の汎用レジスターが入力レジスターとして割り当てられている。即ち、演算処理ユニット２００２には、汎用レジスターＲＧ２、ＲＧ３と、アキュームレーターＲＧ１２、ＲＧ２２とが割り当てられる。そして、実行サイクル毎に、演算処理ユニット２００１、４０３〜４０４、２００３、４０６〜４０１１と並列に、演算処理ユニット２００２は、汎用レジスターＲＧ２の入力データと汎用レジスターＲＧ３の入力データとを用いて制御データにより指定された演算を行い、その演算結果を、アキュームレーターＲＧ１２、ＲＧ２２に格納する。ここで、アキュームレーターＲＧ１２には、演算結果の下位ビット側が格納され、アキュームレーターＲＧ２２には、演算結果の上位ビット側が格納される。
【０１１２】
演算処理ユニット２００３もまた、制御データにより指定された演算を行う。ただ、演算処理ユニット２００３は、演算処理ユニット２００１、２００２とは別の汎用レジスターが入力レジスターとして割り当てられている。即ち、演算処理ユニット２００３には、汎用レジスターＲＧ８、ＲＧ９と、アキュームレーターＲＧ１８、ＲＧ２８とが割り当てられる。そして、実行サイクル毎に、演算処理ユニット２００１〜２００２、４０３〜４０４、４０６〜４０１１と並列に、演算処理ユニット２００３は、汎用レジスターＲＧ８の入力データと汎用レジスターＲＧ９の入力データとを用いて制御データにより指定された演算を行い、その演算結果を、アキュームレーターＲＧ１８、ＲＧ２８に格納する。ここで、アキュームレーターＲＧ１８には、演算結果の下位ビット側が格納され、アキュームレーターＲＧ２８には、演算結果の上位ビット側が格納される。
【０１１３】
図１１の演算処理部２００の演算処理ユニット２００１〜２００３、４０３〜４０４、４０６〜４０１１は、それぞれ実行サイクル毎に、対応するアキュームレーターの値を更新する。即ち、命令デコード部６０のデコード結果にかかわらず、演算処理ユニット２００１〜２００３、４０３〜４０４、４０６〜４０１１は、それぞれ実行サイクル毎に、各演算処理を行う。従って、実行サイクル前に、割り当てられた汎用レジスターの入力データが書き換えられたとき、対応するアキュームレーターに格納されるデータが変化することになる。
【０１１４】
このような本変形例によれば、演算処理内容に応じて、並列動作可能な演算処理をダイナミックに切り替えることができ、極めて高いコード効率で、より一層高い演算能力を得ることができるようになる。
【０１１５】
なお、図１１において、演算処理ユニット４０６〜４０８、４０１０の少なくとも１つが、演算処理ユニット２００１と同様の構成を有し、図示しない制御レジスターに設定された制御データにより指定された演算を行うようにしてもよい。
【０１１６】
２．  電子機器
本実施形態又はその変形例におけるＣＰＵは、プロジェクター等の電子機器に搭載することができる。なお、以下では本実施形態又はその変形例における電子機器がプロジェクターである例について説明するが、本実施形態又はその変形例におけるＣＰＵが適用される電子機器がプロジェクターに限定されるものではなく、種々の電子機器に適用できることは言うまでもない。
【０１１７】
図１２に、本実施形態における電子機器としてのプロジェクターを含む画像表示システムの構成例のブロック図を示す。
【０１１８】
画像表示システム３００は、プロジェクター（広義には画像表示装置）３１０と、スクリーンＳＣＲとを含む。プロジェクター３１０は、入力画像信号に基づいて図示しない光源からの光を変調し、変調後の光をスクリーンＳＣＲに投射することで画像を表示する。
【０１１９】
このプロジェクター３１０は、画像処理装置３２０（広義には画像処理部）と、投射装置４００（広義には投射部、画像表示部）とを含む。画像処理装置３２０は、入力画像信号を補正し、補正後の画像信号を投射装置４００に出力する。このような画像処理装置３２０が行う補正処理としては、例えばエッジ強調処理、ディテール強調処理や階調補正処理等がある。投射装置４００は、画像処理装置３２０からの画像信号に基づいて変調した光をスクリーンＳＣＲに投射する。
【０１２０】
図１３に、図１２の画像処理装置３２０のハードウェア構成例のブロック図を示す。
【０１２１】
画像処理装置３２０は、ＣＰＵ３２２、読み出し専用メモリー（Read Only Memory：ＲＯＭ）３２４、ランダムアクセスメモリー（Random Access Memory:ＲＡＭ）３２６、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）回路３２８、バス３２９を有し、バス３２９を介して、ＣＰＵ３２２、ＲＯＭ３２４、ＲＡＭ３２６、及びＩ／Ｏ回路３２８が電気的に相互に接続されている。
【０１２２】
例えばＲＯＭ３２４又はＲＡＭ３２６には、画像処理装置３２０の機能を実現するプログラムやデータが記憶される。このプログラムは、図９に示す命令セットで規定されたオペコード部と該オペコードに対応したオペランド部とを有する命令データ列である。ＲＯＭ３２４又はＲＡＭ３２６に格納されるデータは、この命令データ列を構成する命令データにより参照される。
【０１２３】
ＣＰＵ３２２は、本実施形態又はその変形例における情報処理装置１０としての図２のＣＰＵ１００の構成及び機能を有する。ＣＰＵ３２２は、ＲＯＭ３２４又はＲＡＭ３２６に記憶されたプログラムを読み出し、該プログラムに対応した処理を実行することで、画像処理装置３２４の機能をソフトウェア処理で実現できる。なお、ＲＡＭ３２６は、ＣＰＵ３２２による処理の作業エリアとして用いられたり、Ｉ／Ｏ回路３２８やＲＯＭ３２４のバッファエリアとして用いられたりする。
【０１２４】
Ｉ／Ｏ回路３２８は、図示しない画像信号生成装置からの画像信号の入力インターフェイス処理や、画像処理装置３２０から投射装置４００への画像信号の出力インターフェイス処理等を行う。
【０１２５】
画像処理装置３２０は、図１３に示す構成により、ＲＯＭ３２４又はＲＡＭ３２６に格納されたプログラムを読み出し、該プログラムに対応した処理を実行することで、入力画像信号に対して例えばエッジ強調処理、ディテール強調処理や階調補正処理等を行った画像信号をソフトウェア処理で生成する。本実施形態では、算術演算命令、論理演算命令及びシフト演算命令がない命令データ列で算術演算処理等を実現できるため、極めて高いコード効率で、コードの難読性を高めて、安全性の高いコードで、例えばエッジ強調処理、ディテール強調処理や階調補正処理等の画像処理を行うことができるようになる。このような画像処理装置３２０によって処理された画像信号は、投射装置４００に送られる。
【０１２６】
図１４に、図１の投射装置４００の構成例の図を示す。図１４では、投射装置４００が、いわゆる３板式の液晶プロジェクターにより構成されるものとして説明するが、本発明に係る投射装置がいわゆる３板式の液晶プロジェクターにより構成されるものに限定されるものではない。即ち、以下では、１画素がＲ成分のサブ画素、Ｇ成分のサブ画素、及びＢ成分のサブ画素により構成されるものとして説明するが、１画素を構成するサブ画素数（色成分数）に限定されるものではない。
【０１２７】
また、図１４では、画像処理装置３２０から入力される輝度信号Ｙ、色差信号Ｕ、Ｖが、ＲＧＢの各色成分の画像信号に変換された後、色成分毎に光源からの光を変調するものとする。この場合、ＲＧＢ信号への変換回路は、画像処理装置３２０が備えていてもよいし、投射装置４００が備えていてもよい。
【０１２８】
投射装置４００は、光源４１０、インテグレーターレンズ４１２、４１４、偏光変換素子４１６、重畳レンズ４１８、Ｒ用ダイクロイックミラー４２０Ｒ、Ｇ用ダイクロイックミラー４２０Ｇ、反射ミラー４２２、Ｒ用フィールドレンズ４２４Ｒ、Ｇ用フィールドレンズ４２４Ｇ、Ｒ用液晶パネル４３０Ｒ（第１の光変調素子）、Ｇ用液晶パネル４３０Ｇ（第２の光変調素子）、Ｂ用液晶パネル４３０Ｂ（第３の光変調素子）、リレー光学系４４０、クロスダイクロイックプリズム４６０、投射レンズ４７０を含む。Ｒ用液晶パネル４３０Ｒ、Ｇ用液晶パネル４３０Ｇ及びＢ用液晶パネル４３０Ｂとして用いられる液晶パネルは、透過型の液晶表示装置である。リレー光学系４４０は、リレーレンズ４４２、４４４、４４６、反射ミラー４４８、４５０を含む。
【０１２９】
光源４１０は、例えば超高圧水銀ランプにより構成され、少なくともＲ成分の光、Ｇ成分の光、Ｂ成分の光を含む光を射出する。インテグレーターレンズ４１２は、光源４１０からの光を複数の部分光に分割するための複数の小レンズを有する。インテグレーターレンズ４１４は、インテグレーターレンズ４１２の複数の小レンズに対応する複数の小レンズを有する。重畳レンズ４１８は、インテグレーターレンズ４１２の複数の小レンズから射出される部分光を液晶パネル上で重畳する。
【０１３０】
また偏光変換素子４１６は、偏光ビームスプリッターアレイとλ／２板とを有し、光源４１０からの光を略一種類の偏光光に変換する。偏光ビームスプリッターアレイは、インテグレーターレンズ４１２により分割された部分光をｐ偏光とｓ偏光に分離する偏光分離膜と、偏光分離膜からの光の向きを変える反射膜とを、交互に配列した構造を有する。偏光分離膜で分離された２種類の偏光光は、λ／２板によって偏光方向が揃えられる。この偏光変換素子４１６によって略一種類の偏光光に変換された光が、重畳レンズ４１８に照射される。
【０１３１】
重畳レンズ４１８からの光は、Ｒ用ダイクロイックミラー４２０Ｒに入射される。Ｒ用ダイクロイックミラー４２０Ｒは、Ｒ成分の光を反射して、Ｇ成分及びＢ成分の光を透過させる機能を有する。Ｒ用ダイクロイックミラー４２０Ｒを透過した光は、Ｇ用ダイクロイックミラー４２０Ｇに照射され、Ｒ用ダイクロイックミラー４２０Ｒにより反射した光は反射ミラー４２２により反射されてＲ用フィールドレンズ４２４Ｒに導かれる。
【０１３２】
Ｇ用ダイクロイックミラー４２０Ｇは、Ｇ成分の光を反射して、Ｂ成分の光を透過させる機能を有する。Ｇ用ダイクロイックミラー４２０Ｇを透過した光は、リレー光学系４４０に入射され、Ｇ用ダイクロイックミラー４２０Ｇにより反射した光はＧ用フィールドレンズ４２４Ｇに導かれる。
【０１３３】
リレー光学系４４０では、Ｇ用ダイクロイックミラー４２０Ｇを透過したＢ成分の光の光路長と他のＲ成分及びＧ成分の光の光路長との違いをできるだけ小さくするために、リレーレンズ４４２、４４４、４４６を用いて光路長の違いを補正する。リレーレンズ４４２を透過した光は、反射ミラー４４８によりリレーレンズ４４４に導かれる。リレーレンズ４４４を透過した光は、反射ミラー４５０によりリレーレンズ４４６に導かれる。リレーレンズ４４６を透過した光は、Ｂ用液晶パネル４３０Ｂに照射される。
【０１３４】
Ｒ用フィールドレンズ４２４Ｒに照射された光は、平行光に変換されてＲ用液晶パネル４３０Ｒに入射される。Ｒ用液晶パネル４３０Ｒは、光変調素子（光変調部）として機能し、Ｒ用画像信号に基づいて透過率（通過率、変調率）が変化するようになっている。従って、Ｒ用液晶パネル４３０Ｒに入射された光（第１の色成分の光）は、Ｒ用画像信号に基づいて変調され、変調後の光がクロスダイクロイックプリズム４６０に入射される。
【０１３５】
Ｇ用フィールドレンズ４２４Ｇに照射された光は、平行光に変換されてＧ用液晶パネル４３０Ｇに入射される。Ｇ用液晶パネル４３０Ｇは、光変調素子（光変調部）として機能し、Ｇ用画像信号に基づいて透過率（通過率、変調率）が変化するようになっている。従って、Ｇ用液晶パネル４３０Ｇに入射された光（第２の色成分の光）は、Ｇ用画像信号に基づいて変調され、変調後の光がクロスダイクロイックプリズム４６０に入射される。
【０１３６】
リレーレンズ４４２、４４４、４４６で平行光に変換された光が照射されるＢ用液晶パネル４３０Ｂは、光変調素子（光変調部）として機能し、Ｂ用画像信号に基づいて透過率（通過率、変調率）が変化するようになっている。従って、Ｂ用液晶パネル４３０Ｂに入射された光（第３の色成分の光）は、Ｂ用画像信号に基づいて変調され、変調後の光がクロスダイクロイックプリズム４６０に入射される。
【０１３７】
Ｒ用液晶パネル４３０Ｒ、Ｇ用液晶パネル４３０Ｇ、Ｂ用液晶パネル４３０Ｂは、それぞれ同様の構成を有している。各液晶パネルは、電気光学物質である液晶を一対の透明なガラス基板に密閉封入したものであり、例えばポリシリコン薄膜トランジスタをスイッチング素子として、各サブ画素の画像信号に対応して各色光の通過率を変調する。
【０１３８】
本実施形態では、画像処理装置３２０が、１画素を構成する色成分毎に、入力画像信号に対して上記の例えばエッジ強調処理、ディテール強調処理や階調補正処理等を行った画像信号を生成する。そして、投射装置４００では、１画素を構成する色成分毎に光変調素子としての液晶パネルが設けられ、各液晶パネルの透過率がサブ画素に対応した画像信号により制御される。即ち、Ｒ成分のサブ画素用の画像信号が、Ｒ用液晶パネル４３０Ｒの透過率（通過率、変調率）の制御に用いられ、Ｇ成分のサブ画素用の画像信号が、Ｇ用液晶パネル４３０Ｇの透過率の制御に用いられ、Ｂ成分のサブ画素用の画像信号が、Ｂ用液晶パネル４３０Ｂの透過率の制御に用いられる。
【０１３９】
クロスダイクロイックプリズム４６０は、Ｒ用液晶パネル４３０Ｒ、Ｇ用液晶パネル４３０Ｇ及びＢ用液晶パネル４３０Ｂからの入射光を合成した合成光を出射光として出力する機能を有する。投射レンズ４７０は、出力画像をスクリーンＳＣＲ上に拡大して結像させるレンズである。
【０１４０】
本実施形態における画像表示システム３００では、このような構成を有する投射装置４００を制御して、上記の階調補正処理等において補正された画像信号に基づいてスクリーンＳＣＲに画像を表示することができる。
【０１４１】
以上のように、プロジェクター３１０は、プログラム及びデータを記憶するメモリーと、このプログラム及びデータに対応した演算処理を行うＣＰＵ３２２（又はＣＰＵ３２２を有する画像処理装置３２０）とを含む。本実施形態によれば、極めて高いコード効率で、複雑な演算処理を実現する一方で、リバースエンジニアリング防止やセキュリティー防止が可能なプロジェクター３１０又は該プロジェクター３１０を含む画像表示システム３００を提供できるようになる。
【０１４２】
以上、本発明に係る情報処理装置、演算処理方法及び電子機器等を上記の実施形態又はその変形例に基づいて説明したが、本発明は上記の実施形態又はその変形例に限定されるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【０１４３】
（１）上記の実施形態又はその変形例では、汎用レジスターが、演算処理部を構成する演算処理ユニットのいずれかに予め割り当てられているものとして説明したが、各汎用レジスターが、演算処理部が有する複数の演算処理ユニットのいずれかに動的に割り当てられるようにしてもよい。
【０１４４】
（２）上記の実施形態又はその変形例では、アキュームレーターが、演算処理部を構成する演算処理ユニットのいずれかに予め割り当てられているものとして説明したが、各アキュームレーターが、演算処理部が有する複数の演算処理ユニットのいずれかに動的に割り当てられるようにしてもよい。
【０１４５】
（３）上記の実施形態又はその変形例で説明した汎用レジスターの数やアキュームレーターの数に、本発明が限定されるものではない。
【０１４６】
（４）上記の実施形態又はその変形例では、演算処理ユニットが行う演算として図７に示す算術演算、論理演算及びシフト演算を例に説明したが、本発明は、図７に示す算術演算、論理演算及びシフト演算に限定されるものではない。例えば、演算処理ユニットが除算演算を行うようにしてもよい。
【０１４７】
（５）上記の実施形態又はその変形例では、図９に示す命令セットを例に説明したが、本発明は、図９に示す命令セットに限定されるものではない。
【０１４８】
（６）上記の実施形態又はその変形例では、本発明に係る情報処理装置が適用される電子機器としてプロジェクターを例に説明したが、本発明はこれに限定されるものではない。また、このプロジェクターにおいて、１画素を３つの色成分のサブ画素で構成されるものとして説明したが、本発明はこれに限定されるものではない。１画素を構成する色成分数が２、又は４以上であってもよい。更に、プロジェクターの光変調素子として透過型の液晶パネルを用いるものとして説明したが、本発明はこれに限定されるものではない。光変調部として、例えばＤＬＰ（Digital Light Processing)（登録商標）、ＬＣＯＳ（Liquid Crystal On Silicon)等を採用してもよい。更に、プロジェクターの光変調素子として、いわゆる３板式の透過型の液晶パネルを用いたライトバルブを例に説明したが、単板式の液晶パネルや４板式以上の透過型の液晶パネルを用いたライトバルブを採用してもよい。
【０１４９】
（７）上記の実施形態又はその変形例において、本発明を、情報処理装置、演算処理方法及び電子機器として説明したが、本発明はこれに限定されるものではない。
【符号の説明】
【０１５０】
１０…情報処理装置、  ２０…汎用レジスター部、  ３０…アキュームレーター部、
４０，４０１〜４０１１，２００，２００１〜２００３…演算処理部、
５０…レジスター部、  ６０…命令デコード部、  ７０…バス制御部、
８０…プログラムカウンター、  ８２…スタックポインター、
８４…オペコードレジスター、  ８６…オペランドレジスター、  ９０…制御部、
１００，３２２…ＣＰＵ，  ３００…画像表示システム、  ３１０…プロジェクター、
３２０…画像処理装置、  ３２４…ＲＯＭ、  ３２６…ＲＡＭ、  ３２８…Ｉ／Ｏ回路、
３２９…バス、  ４００…投射装置、  ４１０…光源、
４１２，４１４…インテグレーターレンズ、  ４１６…偏光変換素子、
４１８…重畳レンズ、  ４２０Ｒ…Ｒ用ダイクロイックミラー、
４２０Ｇ…Ｇ用ダイクロイックミラー、  ４２２，４４８，４５０…反射ミラー、
４２４Ｒ…Ｒ用フィールドレンズ、  ４２４Ｇ…Ｇ用フィールドレンズ、
４３０Ｒ…Ｒ用液晶パネル、  ４３０Ｇ…Ｇ用液晶パネル、
４３０Ｂ…Ｂ用液晶パネル、  ４４０…リレー光学系、
４４２，４４４，４４６…リレーレンズ、  ４６０…クロスダイクロイックプリズム、
４７０…投射レンズ、  ＥＸＵ１…第１の演算処理ユニット、
ＥＸＵ２…第２の演算処理ユニット
【図１】
2010176350.tif 000003
【図２】
2010176350.tif 000004
【図３】
2010176350.tif 000005
【図４】
2010176350.tif 000006
【図５】
2010176350.tif 000007
【図６】
2010176350.tif 000008
【図７】
2010176350.tif 000009
【図８】
2010176350.tif 000010
【図９】
2010176350.tif 000011
【図１０】
2010176350.tif 000012
【図１１】
2010176350.tif 000013
【図１２】
2010176350.tif 000014
【図１３】
2010176350.tif 000015
【図１４】
2010176350.tif 000016