(57)【特許請求の範囲】
【請求項１】
命令区切り情報によって区切られた命令語に含まれる一つあるいは複数の基本命令を並列的に実行する情報処理装置であって、
供給される前記基本命令に応じた処理を並列的に実行する複数の命令実行部と、
前記命令区切り情報に応じて前記命令語を一つずつ取り込む命令取り込み部と、
前記命令取り込み部から供給された前記命令語に含まれる前記基本命令毎に、前記基本命令を実行すべきいずれか一つの前記命令実行部へ、選択的に前記基本命令を発行する命令発行部と、を有し、
前記命令取り込み部は、取り込んだ前記命令語毎に、前記命令語に含まれる前記基本命令を、前記複数の命令実行部に対応づけた前記基本命令と前記基本命令の発行の有無を示す有効ビットの対の形式に並び替える、
ことを特徴とする情報処理装置。
【請求項２】
前記複数の命令実行部の少なくとも二つは、同一の構成を有する請求項１に記載の情報処理装置。
【請求項３】
前記命令取り込み部は、予め複数の命令実行部の構成に応じた順序に並べられた基本命令が含まれる命令語を取り込む請求項１又は２に記載の情報処理装置。
【請求項４】
前記命令発行部は、所定の場合には、前記命令実行部における実行が完了する前に次の前記基本命令を発行する請求項１ないし３いずれかに記載の情報処理装置。
【請求項５】
前記所定の場合とは、前記命令発行に供給された基本命令が前記命令実行部おいて実行中の基本命令に対してデータ依存関係を持たず、かつ、制御依存関係を持たず、かつ、資源競合も生じないものである場合あること、
を特徴とする請求項４記載の情報処理装置。
【請求項６】
命令区切り情報によって区切られた命令語に含まれる一つあるいは複数の基本命令を並列的に実行する情報処理装置であって、
供給される前記基本命令に応じた処理を並列的に実行する複数の命令実行部と、
前記命令区切り情報に応じて前記命令語を一つずつ取り込む命令取り込み部と、
前記命令取り込み部から供給された前記命令語に含まれる前記基本命令毎に、前記基本命令を実行すべきいずれか一つの前記命令実行部へ、選択的に前記基本命令を発行する命令発行部と、を有し、
前記命令発行部は、前記命令語に含まれる前記基本命令を、前記複数の命令実行部の構成に応じて、前記基本命令と前記基本命令の発行の有無を示す有効ビットの対の形式に並び替えた後に、前記命令実行部へ発行する、
ことを特徴とする情報処理装置。
【請求項７】
命令区切り情報によって区切られた命令語に含まれる一つあるいは複数の基本命令を、前記命令区切り情報に応じて取り出し、
前記命令語に含まれる一つあるいは複数の基本命令を、前記複数の命令実行部の構成に応じて並び替え、前記命令発行部に供給し、
前記複数の命令実行部に対応づけた前記基本命令と前記基本命令の発行の有無を示す有効ビットの対の形式の前記基本命令を複数の命令実行部へ選択的に発行し、
前記一つあるいは複数の基本命令を並列的に実行すること、
を特徴とする情報処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置及び情報処理方法に関し、さらに詳しくは複数の基本命令を並列的に実行する情報処理装置及び情報処理方法に関するものである。
【０００２】
【従来の技術】
一般に、従来の計算機システムにおいてはパイプライン処理等で複数の基本命令を並列に実行することで、処理能力の向上を図っている。また従来においては、複数の基本命令をまとめて固定長の命令語とし、一つの命令語に含まれた複数の基本命令を並列に実行する方式として超長命令語（Very Long Instruction Word− VLIW ）方式が採用されている。また、スーパースカラ（super-scalar）方式等では、命令並列度に応じて基本命令を並列に実行することが行われている。
【０００３】
図１は、従来の並列処理プロセッサの構成を示す図である。図１に示されるように、従来の並列処理プロセッサ１０は、メモリ７に接続された命令読出部１と、命令読出部１に接続された命令発行部３と、それぞれが命令発行部３に接続された命令実行部ＥＵ０〜ＥＵｎと、全ての命令実行部ＥＵ０〜ＥＵｎに接続されたレジスタ部５とを備える。
【０００４】
ここで、命令読出部１はメモリ７から命令語を読み出して、該命令語を命令発行部３に供給する。また、命令発行部３は供給された命令語に含まれる基本命令を、命令実行部ＥＵ０〜ＥＵｎへ発行する。なお、このとき命令実行部ＥＵ０〜ＥＵｎが既に先の基本命令を実行中である場合には、その実行の完了を待った後に対応する命令実行部へ次の基本命令を供給する。
【０００５】
そして、命令実行部ＥＵ０〜ＥＵｎは供給された基本命令を実行するとともに、該実行が完了した場合にはその旨を命令発行部３へ通知する。また、レジスタ部５は必要に応じて命令実行部ＥＵ０〜ＥＵｎへデータを供給し、かつ各命令実行部ＥＵ０〜ＥＵｎにおける実行結果を保持する。なお、外部接続されたメモリ７は並列処理プロセッサ１０で実行する命令語列を記憶すると共に、命令実行部ＥＵ０〜ＥＵｎが命令の実行にあたり必要とするデータ及び該実行の結果得られたデータを記憶する。
【０００６】
図２は、４個の命令実行部ＥＵ０〜ＥＵ３を備えた上記の並列処理プロセッサに供給される命令語の形式を示す図である。図２に示されるように、命令語は基本命令ＥＩと、無操作命令ｎｏｐとからなる。ここで、一つの命令語に含まれ並列的に実行される基本命令の数が命令実行部ＥＵ０〜ＥＵ３の数に達しない場合には、無操作命令の割合が多くなることがわかる。
【０００７】
すなわち、従来のＶＬＩＷによる複数の基本命令の並列処理方式は、命令語が固定長であったため、並列に実行する基本命令の数が所定の数に達しない場合には、無操作命令を付加して所定の長さにする必要があった。このことから、命令並列度の低いプログラムに対しては、無操作命令が多くなると共に命令コード量が増大するため、メモリの使用効率の悪化やキャッシュメモリのヒット率の低下、命令読み出し機構の負荷の増大などを招くという問題があった。
【０００８】
一方、スーパースカラ方式については、プログラム実行時に並列実行される命令の数を増やすには、必要とされる回路規模が大きくなるという問題がある。
【０００９】
【発明が解決しようとする課題】
本発明は、上述の問題を解消するためになされたもので、効率よい情報処理を実現する情報処理装置及び情報処理方法を提供することを目的とする。
【００１０】
【課題を解決するための手段】
上記の目的は、命令区切り情報によって区切られた命令語に含まれる一つあるいは複数の基本命令を並列的に実行する並列処理プロセッサであって、供給される基本命令に応じた処理を並列的に実行する複数の命令実行部と、命令区切り情報に応じて命令語を一つずつ取り込む命令取り込み部と、命令取り込み部から供給された命令語に含まれる基本命令毎に、基本命令を実行すべきいずれか一つの命令実行部へ選択的に基本命令を発行する命令発行部とを備え、命令取り込み部は、取り込んだ前記命令語毎に、前記命令語に含まれる前記基本命令を、前記複数の命令実行部に対応づけた前記基本命令と前記基本命令の発行の有無を示す有効ビットの対の形式に並び替える、ことを特徴とする情報処理装置を提供することにより達成される。
【００１１】
また、本情報処理装置において、複数の命令実行部の少なくとも二つは、同一の構成を有するものとすることができる。
【００１２】
また、本情報処理装置において、命令取り込み部は、予め複数の命令実行部の構成に応じた順序に並べられた基本命令が含まれる命令語を取り込むものとすることができる。
また、本情報処理装置において、命令発行部は、所定の場合には、命令実行部における実行が完了する前に次の基本命令を発行するものとすることができる。所定の場合とは、命令発行に供給された基本命令が前記命令実行部おいて実行中の基本命令に対してデータ依存関係を持たず、かつ、制御依存関係を持たず、かつ、資源競合も生じないものである場合ある。
【００１３】
また、上記目的は、命令区切り情報によって区切られた命令語に含まれる一つあるいは複数の基本命令を並列的に実行する情報処理装置であって、供給される基本命令に応じた処理を並列的に実行する複数の命令実行部と、命令区切り情報に応じて命令語を一つずつ取り込む命令取り込み部と、命令取り込み部から供給された命令語に含まれる基本命令毎に、基本命令を実行すべきいずれか一つの命令実行部へ、選択的に基本命令を発行する命令発行部と、を有し、命令発行部は、命令語に含まれる基本命令を、複数の命令実行部の構成に応じて、基本命令と基本命令の発行の有無を示す有効ビットの対の形式に並び替えた後に、命令実行部へ発行する、ことを特徴とする情報処理装置を提供することにより達成される。
また、上記目的は、命令区切り情報によって区切られた命令語に含まれる一つあるいは複数の基本命令を、命令区切り情報に応じて取り出し、命令語に含まれる一つあるいは複数の基本命令を、複数の命令実行部の構成に応じて並び替え、命令発行部に供給し、複数の命令実行部に対応づけた基本命令と基本命令の発行の有無を示す有効ビットの対の形式の基本命令を複数の命令実行部へ選択的に発行し、一つあるいは複数の基本命令を並列的に実行すること、を特徴とする情報処理方法を提供することにより達成される。
【００１４】
【発明の実施の形態】
以下において、本発明の実施の形態を図面を参照して詳しく説明する。なお、図中同一符号は、同一または相当部分を示す。
［実施の形態１］
図３及び図６に示されるように、本実施の形態１に係る並列処理プロセッサ２０，２１は、それぞれ、メモリ１２に接続された命令読出部４６，４７と、命令読出部４６，４７にそれぞれ接続された命令発行部７２，７３と、命令発行部７２，７３に接続され同じ構成からなる二つの命令実行部ＥＵ０，ＥＵ１と、全ての命令実行部ＥＵ０，ＥＵ１に接続されたレジスタ部９８とを備えたものである。
【００１５】
以下において、本実施の形態１に係る並列処理プロセッサを、一命令語の最大基本命令語長が２の場合を例として説明する。なお、一命令語の最大基本命令語長が３以上の場合も同様に説明できる。
（実施例１）
図４は、図３に示された命令読出部４６と命令発行部７２の構成を示す図である。図４に示されるように、命令読出部４６は固定長フェッチ部（ＦＰＣ）３００と、加算器３２４，３２５と、命令バッファ３０８と、切出部３１６と、実行フェッチ部（ＥＰＣ）３３９とを備える。
【００１６】
ここで、ＦＰＣ３００はメモリ１２及び命令実行部ＥＵ０，ＥＵ１に接続され、加算器３２４はＦＰＣ３００に接続される。また、命令バッファ３０８はメモリ１２に接続され、切出部３１６は命令バッファ３０８に接続される。そして、加算器３２５は切出部３１６に接続され、ＥＰＣ３３９は加算器３２５及びレジスタ部９８に接続される。そして、上記ＦＰＣ３００へはメモリ１２から命令語に含まれたフェッチアドレスが供給され、命令バッファ３０８へはメモリ１２から命令語に含まれたフェッチデータが供給される。さらにＦＰＣ３００へは、分岐命令に対応する分岐先のアドレス等が命令実行部ＥＵ０，ＥＵ１から供給される。
【００１７】
一方、命令発行部７２は命令レジスタ３４７と、セレクタ３５５，３５６と、制御部３７０と、ＡＮＤゲート３７８を備える。ここで、命令レジスタ３４７は切出部３１６に接続され、セレクタ３５５，３５６は共に命令レジスタ３４７に接続される。そして、セレクタ３５５は命令実行部ＥＵ０に接続され、セレクタ３５６は命令実行部ＥＵ１に接続される。また、制御部３７０はＡＮＤゲート３７８及びセレクタ３５５，３５６に接続され、ＡＮＤゲート３７８は命令実行部ＥＵ０，ＥＵ１に接続される。ここで、命令の実行完了を示す命令完了信号ＥＵｃ０，ＥＵｃ１が、それぞれ命令実行部ＥＵ０，ＥＵ１からＡＮＤゲート３７８へ供給される。  以下において、本実施例に係る並列処理プロセッサの動作について説明する。
【００１８】
図５は、本実施例１に係る並列処理プロセッサに供給される命令語の形式を示すものである。図５に示されるように、該命令語は命令実行部で実行される基本命令語ＥＩ及び命令語区切りフィールド０，１からなり、その基本命令語長が１の場合と２の場合とがある。すなわち図５の上段は、命令語区切りフィールド０及び基本命令ＥＩからなる基本命令語と、命令語区切りフィールド１及び基本命令ＥＩからなる基本命令語との並びからなる基本命令語長が２の命令語を示し、図５の下段は、命令語区切りフィールド１及び基本命令ＥＩからなる基本命令語長１の命令語を示す。
【００１９】
上記のような命令語は、予めメモリ１２に記憶され、プロセッサ２０の命令読出部４６に含まれた加算器３２４によって固定長dispだけアドレスがインクリメントされることにより、順次読み出される。ここで、命令読出部４６に含まれた切出部３１６は上記命令語を読み出した時、命令語区切りフィールド１に続く基本命令ＥＩまでを一つの命令語と認識した上で、一命令語毎に、すなわち例えば上記基本命令語長２の一つの命令語を命令語列から切り出し、命令読出部４６に取り込む。なお、ここで加算器３２５は切出部３１６から供給された命令語長を示す信号ＳＬに基いて実行される基本命令ＥＩに対応する番地を算出し、ＥＰＣ３３９はこれを一時的に保持する。そしてさらにレジスタ部９８は、所定の場合においてＥＰＣ３３９に保持されている上記基本命令ＥＩの再実行のための戻り番地を格納する。
【００２０】
そして、命令発行部７２は切出部３１６から供給された上記一つの命令語に含まれる命令語区切りフィールド０，１に基づいて、各基本命令ＥＩを認識し、該各基本命令ＥＩをいずれか一つの命令実行部ＥＵ０，ＥＵ１へセレクタ３５５，３５６を介して選択的に発行する。従って、例えば命令語区切りフィールド０に続く基本命令ＥＩは命令実行部ＥＵ０に発行され、命令語区切りフィールド１に続く基本命令ＥＩは命令実行部ＥＵ１に発行される。なおここで、セレクタ３５５，３５６は制御部３７０により制御され、一命令語の実行が完了したときにセレクタ３５５，３５６を介して命令実行部ＥＵ０，ＥＵ１へ基本命令ＥＩが供給される。
【００２１】
また同様に、命令読出部４６により上記基本命令語長１の一つの命令語がプロセッサ２０の命令バッファ３０８に取り込まれた場合には、切出部３１６は供給された上記命令語に含まれる命令語区切りフィールド１に基づいて、命令語区切りフィールド１に続く基本命令ＥＩを切出し、命令レジスタ３４７によりいずれか一つの命令実行部、例えば命令実行部ＥＵ０へ発行される。
【００２２】
なお、上記命令語区切りフィールド０，１は一ビットで示されるが、命令語を区切る情報であればどのようなデータを命令語区切りフィールドに書込んでも良い。また、本実施例においては、同じ構成を有する命令実行部ＥＵ０，ＥＵ１が二つ備えられる場合を説明したが、三つ以上備えられたものも同様に考えられる。
【００２３】
以上より、本実施例に係る並列処理プロセッサ２０によれば、命令読出部４６は命令区切りフィールド１に応じて命令語を一つずつ取り込むため、該命令語を可変長とすることができる。そして、一つの命令発行部７２は取り込まれた命令語に含まれる基本命令ＥＩ毎に、複数の命令実行部ＥＵ０，ＥＵ１のうち該基本命令ＥＩに対応するいずれか一つの命令実行部ＥＵ０，ＥＵ１へ基本命令ＥＩを発行することから、命令語中に無操作命令ｎｏｐを含ませる必要は生じず、基本命令ＥＩを命令語により効率的に含ませることができる。そして、このような命令語に応じて基本命令ＥＩを実行することにより、並列処理プロセッサの並列処理能力を向上させることができる。
（実施例２）
図６は、本実施例２に係る並列処理プロセッサ２１の構成を示す図である。図６に示されるように、該並列処理プロセッサ２１は図３に示された並列処理プロセッサ２０と同様の構成を有するが、命令発行部７３には供給された基本命令ＥＩがいずれかの命令実行部ＥＵ０，ＥＵ１において実行されている基本命令ＥＩに対し、データ依存関係や制御依存関係を有するものであるか否か、若しくは資源競合を生じさせるものであるか否かを判断する判断部１０３が含まれている点で相違するものである。
【００２４】
ここで、判断部１０３は既に実行中の基本命令ＥＩ中に指定されているデスティネーション・レジスタ番号（書込みレジスタ番号）と、これから命令実行部ＥＵ０，ＥＵ１へ発行する基本命令ＥＩ中に指定されているソース・レジスタ番号（読み出しレジスタ番号）とを比較し、それらの番号が一致した場合にはデータ依存関係を有し、一致しない場合にはデータ依存関係を有さないものとして処理を進める。
【００２５】
また、判断部１０３は既に実行中の基本命令ＥＩが、分岐命令を含むか、あるいは０による除算等の処理の例外を発生させる可能性があると判断した場合には、制御依存関係を有し、そうでない場合には制御依存関係を有さないものとして処理を進める。
さらに、判断部１０３は各基本命令ＥＩの内容から、既に実行中の基本命令ＥＩが必要とする資源（例えば命令実行部ＥＵ０，ＥＵ１等）と、これから発行する基本命令ＥＩが必要とする資源とを比較し、それらの資源が一致した場合には資源競合を生じさせ、一致しない場合には資源競合を生じさせるものとして処理を進める。
【００２６】
以上のような判断により、命令発行部７３は、これから発行しようとする基本命令ＥＩが命令実行部ＥＵ０，ＥＵ１において実行中の基本命令ＥＩに対してデータ依存関係を持たず、かつ制御依存関係を持たず、かつ資源競合も生じないものであると判断した場合には、上記実行が完了する前に該基本命令ＥＩを対応する命令実行部ＥＵ０，ＥＵ１へ発行する。従って、この場合には命令発行部７３による命令発行動作と、命令実行部ＥＵ０，ＥＵ１における命令実行動作とは時分割型並列処理となる。
【００２７】
一方、これから発行しようとする基本命令ＥＩが命令実行部ＥＵ０，ＥＵ１において実行中の基本命令ＥＩに対してデータ依存関係や制御依存関係、あるいは資源競合を生じさせるものであると判断した場合には、上記実行の完了を待って該基本命令ＥＩを対応する命令実行部ＥＵ０，ＥＵ１へ発行する。
なお、本実施例においては、同じ構成を有する命令実行部ＥＵ０，ＥＵ１が二つ備えられる場合を説明したが、三つ以上備えられたものも同様に考えられる。
【００２８】
これより、本実施例に係る並列処理プロセッサ２１によれば、上記実施例１に係る並列処理プロセッサ２０と同様な効果を奏するとともに、さらに基本命令ＥＩの並列処理を確実かつ効率的に遂行することができ、動作の信頼性を高めることができる。
［実施の形態２］
図７及び図１２から図２１に示されるように、本実施の形態２に係る並列処理プロセッサ２２〜２７は、それぞれ、メモリ１２に接続された命令読出部４８〜５３と、命令読出部４８〜５３にそれぞれ接続された命令発行部７４〜７９と、命令発行部７４〜７９に接続される命令実行部ＬＵ０，ＩＵ０，ＩＵ１，ＦＵ０，ＦＵ１，ＢＵ０と、全ての命令実行部に接続されたレジスタ部９９とを備えたものである。
【００２９】
ここで、命令実行部ＬＵ０はロードストア命令実行部であり、ロード命令及びストア命令を実行する。なお、これらの実行が完了した時には命令実行部ＬＵ０は命令発行部７４〜７９へ通知する。また、命令実行部ＩＵ０，ＩＵ１は整数演算命令実行部であり、整数演算命令を実行する。なお、この実行が完了した時には命令実行部ＩＵ０，ＩＵ１は命令発行部７４〜７９へ通知する。
【００３０】
また、命令実行部ＦＵ０，ＦＵ１は浮動小数点演算命令実行部であり、浮動小数点演算命令を実行する。なお、この実行が完了した時には命令実行部ＦＵ０，ＦＵ１は命令発行部７４〜７９へ通知する。また、命令実行部ＢＵ０は分岐命令実行部であり、分岐命令を実行する。なお、この実行が完了した時には命令実行部ＢＵ０は命令発行部７４〜７９へ通知する。
【００３１】
以下において、本実施の形態２に係る並列処理プロセッサを、一命令語に含まれる最大基本命令語長が２の場合を例として説明する。なお、一命令語の最大基本命令語長が３以上の場合も同様に説明できる。
（実施例１）
図７は、本実施例１に係る並列処理プロセッサの構成を示す図である。図７に示されるように、この並列処理プロセッサ２２は、命令読出部４８に変換部１１５を備える。この変換部１１５は、以下に詳述するように、取り込んだ一命令語毎に、該命令語に含まれる基本命令を複数の命令実行部ＬＵ０，ＩＵ０，ＩＵ１，ＦＵ０，ＦＵ１，ＢＵ０の構成に応じて並び替えた上で命令発行部７４に供給するものである。なお、変換部１１５においてこのような並び替えを行なうのは、命令発行部７４における基本命令の発行を容易にするためである。
【００３２】
ここで、上記の「基本命令の発行を容易にする」との意味を説明する。本発明に係る並列処理プロセッサは、その構成をプリント基板上あるいはＬＳＩ上に表現することになる。すなわち、二次元平面に各構成要素が配置され、その間が配線により接続される。この時、配線が交差しそうな状況が想定されるが、一般にプリント基板あるいはＬＳＩは複数の配線層を持つので、その際は異なる配線層を使用して交差しそうな配線を迂回するように配線する。従って、論理的にはいかなる配置に対しても配線可能と考えられるが、回路の動作速度の観点からは上記迂回は配線の延長を意味するため、迂回が少ないほど動作速度を低下させる要因が少なくなる。このため、迂回が少なくて済むような配線が好ましいといえる。以上より、上記の「基本命令の発行を容易にする」とは、命令発行部７４に供給された命令語に含まれる各基本命令を対応する命令実行部に発行するための配線を短縮し、動作速度を向上させるという意味である。
【００３３】
図８は、図７に示された命令読出部４８と命令発行部７４の構成を示す図である。図８に示されるように、この命令読出部４８と命令発行部７４は、それぞれ図４に示された命令読出部４６及び命令発行部７２と同様な構成を有するが、命令読出部４８は切出部３１７に接続された上記変換部１１５をさらに備える点で相違する。なおＦＰＣ３０１へは、分岐命令に対応する分岐先のアドレス等が命令実行部ＢＵ０から供給される。
【００３４】
また、図８においては図を簡略化して見やすくするために、命令レジスタ３４８から二つの命令実行部ＬＵ０，ＩＵ０へ命令が発行される経路のみを記しているが、図７に示される他の命令実行部ＩＵ１，ＦＵ０，ＦＵ１，ＢＵ０への命令発行経路も同様に描くことができる。そしてこのことは、ＡＮＤゲート３７９へ供給される信号として二つの命令完了信号ＬＵｃ，ＩＵｃ０のみが示されている点についても同様である。
【００３５】
以下に、本実施例に係る並列処理プロセッサ２２の動作について説明する。まず、命令読出部４８の切出部３１７は上記実施の形態１に係る並列処理プロセッサと同様に、命令語区切りフィールド１までの基本命令を一命令語として、該命令語を一つずつ取り込む。ここで、命令読出部４８に供給される命令語の形式１３が、図９に示される。図９に示されるように、この命令語は図５に示された命令語と同様に、基本命令の区切りを示す命令語区切りフィールド０あるいは１と、整数演算命令ＩＩと、浮動小数点演算命令ＦＩと、ロードストア命令ＬＩと、分岐命令ＢＩとからなる。
【００３６】
また、命令発行部７４の命令実行部ＬＵ０，ＩＵ０，ＩＵ１，ＦＵ０，ＦＵ１，ＢＵ０に対するインタフェース１５は、図９に示されるように、基本命令の発行における有効ビットＶと、整数演算命令を実行する上で必要な情報ＩＩと、浮動小数点演算命令を実行する上で必要な情報ＦＩと、ロードストア命令を実行する上で必要な情報ＬＩと、分岐命令を実行する上で必要な情報ＢＩとによって記述される。すなわちインタフェース１５は、その左から順に、命令発行部７４から命令実行部ＬＵ０へは有効ビットＶ及び情報ＬＩを、命令実行部ＩＵ０，ＩＵ１へは有効ビットＶ及び情報ＩＩを、命令実行部ＦＵ０，ＦＵ１へは有効ビットＶ及び情報ＦＩを、命令実行部ＢＵ０へは有効ビットＶ及び情報ＢＩをそれぞれ供給することを意味する。
【００３７】
ここで、有効ビットＶにおける０は基本命令を発行しないことを意味し、１は基本命令を発行することを意味する。そして、係る有効ビットＶと情報ＩＩ，ＦＩ，ＬＩ，ＢＩとは対となり、それぞれ命令実行部に対応付けられる。
そして、図９に示されるように命令語の形式１３は、命令読出部４８に含まれる変換部１１５において、命令実行部ＬＵ０，ＩＵ０，ＩＵ１，ＦＵ０，ＦＵ１，ＢＵ０の構成に応じた命令語の形式１７に並び替えられ、命令発行部７４の命令レジスタ３４８に供給される。これより命令レジスタ３４８は、有効ビットＶが１の基本命令を対応する命令実行部へ発行する。すなわち例えば、命令語の形式１７の一番上に記された命令語が命令発行部７４に供給されたとき、命令発行部７４は有効ビットＶが１の浮動小数点演算命令ＦＩを命令実行部ＦＵ０へ発行し、分岐命令ＢＩを命令実行部ＢＵ０へ発行する。
【００３８】
この結果、命令実行部ＦＵ０は浮動小数点演算命令ＦＩを実行し、命令実行部ＢＵ０は分岐命令ＢＩを実行する。なおこの場合には、他の命令実行部ＬＵ０，ＩＵ０，ＩＵ１，ＦＵ１は、基本命令を何ら実行しないことになる。
図１０は、図８に示された変換部１１５の構成を示す回路図である。図１０に示されるように、変換部１１５は伝送線Ｌ１，Ｌ２と、ＢＩ検出器ＢＤ１，ＢＤ２と、ＦＩ検出器ＦＤ１，ＦＤ２と、ＩＩ検出器ＩＤ１，ＩＤ２と、ＬＩ検出器ＬＤ１，ＬＤ２と、バッファ１５５〜１５８と、ＡＮＤゲート１６３〜１６６，１８５，１８６と、排他的ＯＲゲート１８７〜１９０と、セレクタ２０９〜２１２と、ＯＲゲート１９９〜２０２とを含む。
【００３９】
ここで、伝送線Ｌ１は一命令語内に含まれる第一番目の基本命令を伝送し、伝送線Ｌ２は一命令語内に含まれる第二番目の基本命令を伝送する。また、ＢＩ検出器ＢＤ１は伝送線Ｌ１に接続され、ＢＩ検出器ＢＤ２は伝送線Ｌ２に接続される。そして、バッファ１５５はＢＩ検出器ＢＤ１に接続され、ＡＮＤゲート１６３はＢＩ検出器ＢＤ１，ＢＤ２に接続され、セレクタ２０９は伝送線Ｌ１，Ｌ２とバッファ１５５及びＡＮＤゲート１６３に接続される。また、ＯＲゲート１９９はバッファ１５５及びＡＮＤゲート１６３に接続される。
【００４０】
また、ＦＩ検出器ＦＤ１は伝送線Ｌ１に接続され、ＦＩ検出器ＦＤ２は伝送線Ｌ２に接続される。そして、バッファ１５６はＦＩ検出器ＦＤ１に接続され、ＡＮＤゲート１６４はＦＩ検出器ＦＤ１，ＦＤ２に接続され、排他的ＯＲゲート１８７の二つの入力端はそれぞれバッファ１５６の入力ノードと出力ノードとに接続される。さらには、排他的ＯＲゲート１８８の二つの入力端はそれぞれＡＮＤゲート１６４の出力ノードとＦＩ検出器ＦＤ２に接続され、ＡＮＤゲート１８５は二つの排他的ＯＲゲート１８７，１８８に接続される。また、セレクタ２１０は伝送線Ｌ１，Ｌ２とバッファ１５６及びＡＮＤゲート１６４に接続され、ＯＲゲート２００はバッファ１５６及びＡＮＤゲート１６４に接続される。
【００４１】
また、ＩＩ検出器ＩＤ１は伝送線Ｌ１に接続され、ＩＩ検出器ＩＤ２は伝送線Ｌ２に接続される。そして、バッファ１５７はＩＩ検出器ＩＤ１に接続され、ＡＮＤゲート１６５はＩＩ検出器ＩＤ１，ＩＤ２に接続され、排他的ＯＲゲート１８９の二つの入力端はそれぞれバッファ１５７の入力ノードと出力ノードとに接続される。さらには、排他的ＯＲゲート１９０の二つの入力端はそれぞれＡＮＤゲート１６５の出力ノードとＩＩ検出器ＩＤ２に接続され、ＡＮＤゲート１８６は二つの排他的ＯＲゲート１８９，１９０に接続される。また、セレクタ２１１は伝送線Ｌ１，Ｌ２とバッファ１５７及びＡＮＤゲート１６５に接続され、ＯＲゲート２０１はバッファ１５７及びＡＮＤゲート１６５に接続される。
【００４２】
また、ＬＩ検出器ＬＤ１は伝送線Ｌ１に接続され、ＬＩ検出器ＬＤ２は伝送線Ｌ２に接続される。そして、バッファ１５８はＬＩ検出器ＬＤ１に接続され、ＡＮＤゲート１６６はＬＩ検出器ＬＤ１，ＬＤ２に接続され、セレクタ２１２は伝送線Ｌ１，Ｌ２とバッファ１５８及びＡＮＤゲート１６６に接続される。また、ＯＲゲート２０２はバッファ１５８及びＡＮＤゲート１６６に接続される。
【００４３】
なお、二つのＢＩ検出器ＢＤ１，ＢＤ２によりＢＩ検出器ブロック１４７が形成され、二つのＦＩ検出器ＦＤ１，ＦＤ２によりＦＩ検出器ブロック１４９が形成される。また、二つのＩＩ検出器ＩＤ１，ＩＤ２によりＩＩ検出器ブロック１５１が形成され、二つのＬＩ検出器ＬＤ１，ＬＤ２によりＦＩ検出器ブロック１５３が形成される。
【００４４】
以上のような構成を有する変換部１１５の動作を、図９に示された命令語の形式１３の一番上に示された基本命令ＢＩ，ＦＩからなる命令語が、変換部１１５へ供給された場合を例として以下に説明する。まず第一番目の基本命令ＢＩが伝送線ＬＩを伝送するため、ＢＩ検出器ＢＤ１は該基本命令ＢＩを検出して論理レベルが１の検出信号をバッファ１５５へ供給する。なおこの時、ＡＮＤゲート１６３からは論理レベルが０の信号が出力される。これより、セレクタ２０９はバッファ１５５から供給された検出信号に応じて第一番目の基本命令ＢＩを選択し該基本命令ＢＩを命令実行部ＢＵ０で実行すべき命令として、命令発行部７４へ出力する。一方、基本命令ＢＩの出力と同時に、ＯＲゲート１９９からはバッファ１５５から供給された検出信号に応じて論理レベルが１の有効ビットＶが出力される。なお、上記第一番目の基本命令ＢＩに対してＦＩ検出器ＦＤ１とＩＩ検出器ＩＤ１及びＬＩ検出器ＬＤ１からは共に論理レベルが０の非検出信号が出力されるため、セレクタ２１０，２１１，２１２は共に、伝送線Ｌ１を伝送する第一番目の基本命令を選択しない。
【００４５】
次に、伝送線Ｌ２を上記命令語の第二番目の基本命令ＦＩが伝送する。このとき、上記第一番目の基本命令ＢＩの場合と同様にＦＩ検出器ＦＤ２は該基本命令ＦＩを検出して論理レベルが１の検出信号をＡＮＤゲート１６４へ供給する。このとき、ＡＮＤゲート１６４の出力は論理レベルが１の信号となる。そして、セレクタ２０９はＡＮＤゲート１６４から供給された該論理レベルが１の信号に応じて第二番目の基本命令ＦＩを選択して該基本命令ＦＩを命令実行部ＦＵ０で実行すべき命令として出力する。一方、基本命令ＦＩの出力と同時に、ＯＲゲート２００からはＡＮＤゲート１６４から供給された検出信号に応じて論理レベルが１の有効ビットＶが出力される。
【００４６】
なお、上記第二番目の基本命令ＦＩに対してＢＩ検出器ＢＤ２，ＩＤ２，ＬＤ２からは論理レベルが０の非検出信号が出力されるため、セレクタ２０９，２１１，２１２は共に、伝送線Ｌ２を伝送する第二番目の基本命令を選択しない。また、命令実行部ＬＵ０，ＩＵ０，ＩＵ１，ＦＵ１で実行されるべき基本命令は上記第一番目と第二番目のいずれの基本命令においても検出されなかったため、それぞれＯＲゲート２０２，２０１やＡＮＤゲート１８６，１８５からは有効ビットＶとして論理レベルが０の信号が出力される。
【００４７】
命令読出部４８における変換部１１５の以上のような動作により、図９に示された命令語の形式１３が命令語の形式１７へ並び替えられる。
図１１は、メモリ１２から命令読出部４８へ供給される命令語の最大基本命令語長が４の場合における変換部１１５の構成を示す回路図である。図１１に示されるように、この場合の変換部１１５の構成は図１０に示された最大命令語長が２の場合における変換部１１５の構成と同様であるが、最大基本命令語長が４であることに対応して４つの伝送線Ｌ１〜Ｌ４が備えられ、それぞれの伝送線Ｌ１〜Ｌ４に接続される４つのＢＩ検出器ＢＤ１〜ＢＤ４、ＦＩ検出器ＦＤ１〜ＦＤ４、ＩＩ検出器ＩＤ１〜ＩＤ４、そしてＬＩ検出器ＬＤ１〜ＬＤ４が備えられる点で相違する。また、基本命令ＦＩに対しては最大命令語長が４であることに応じて、二つのセレクタ２１４，２１５が備えられ、基本命令ＩＩに対しても同様に二つのセレクタ２１６，２１７が備えられる点で相違する。
【００４８】
さらにこの回路は、バッファ１５９〜１６２と、ＡＮＤゲート１６７〜１８４と、排他的ＯＲゲート１９１〜１９８と、ＯＲゲート２０３〜２０８と、セレクタ２１３，２１８とを備える。なお、四つのＢＩ検出器ＢＤ１〜ＢＤ４によりＢＩ検出器ブロック１４８が形成され、四つのＦＩ検出器ＦＤ１〜ＦＤ４によりＦＩ検出器ブロック１５０が形成される。また、四つのＩＩ検出器ＩＤ１〜ＩＤ４によりＩＩ検出器ブロック１５２が形成され、四つのＬＩ検出器ＬＤ１〜ＦＤ４によりＦＩ検出器ブロック１５４が形成される。
【００４９】
以上のような構成を有する変換部１１５は、図１０に示された変換部１１５と同様に動作するが、以下において同じ基本命令が含まれる命令語、例えば基本命令ＢＩ，ＦＩ，ＦＩ，ＩＩから構成される命令語が変換部１１５に供給された場合の動作について説明する。まず第一番目の基本命令ＢＩが伝送線ＬＩを伝送するため、ＢＩ検出器ＢＤ１は該基本命令ＢＩを検出して論理レベルが１の検出信号をバッファ１５９へ供給する。なおこの時、ＡＮＤゲート１６７〜１６９からは論理レベルが０の信号が出力される。これより、セレクタ２１３はバッファ１５９から供給された検出信号に応じて第一番目の基本命令ＢＩを選択し該基本命令ＢＩを命令実行部ＢＵ０で実行すべき命令として、命令発行部７４へ出力する。一方、基本命令ＢＩの出力と同時に、ＯＲゲート２０３からはバッファ１５９から供給された検出信号に応じて論理レベルが１の有効ビットＶが出力される。なお、上記第一番目の基本命令ＢＩに対してＦＩ検出器ＦＤ１とＩＩ検出器ＩＤ１及びＬＩ検出器ＬＤ１からは共に論理レベルが０の非検出信号が出力されるため、セレクタ２１４，２１６，２１８は共に、伝送線Ｌ１を伝送する第一番目の基本命令を選択しない。
【００５０】
次に、伝送線Ｌ２を上記命令語の第二番目の基本命令ＦＩが伝送する。このとき、上記第一番目の基本命令ＢＩの場合と同様にＦＩ検出器ＦＤ２は該基本命令ＦＩを検出して論理レベルが１の検出信号をＡＮＤゲート１７０へ供給する。このとき、ＡＮＤゲート１７０の出力は論理レベルが１の信号となる。そして、セレクタ２１４はＡＮＤゲート１７０から供給された該論理レベルが１の信号に応じて第二番目の基本命令ＦＩを選択して該基本命令ＦＩを命令実行部ＦＵ０で実行すべき命令として出力する。一方、基本命令ＦＩの出力と同時に、ＯＲゲート２０４からはＡＮＤゲート１７０から供給された検出信号に応じて論理レベルが１の有効ビットＶが出力される。
【００５１】
なお、上記第二番目の基本命令ＦＩに対してＢＩ検出器ＢＤ２，ＩＩ検出器ＩＤ２，ＬＩ検出器ＬＤ２からは論理レベルが０の非検出信号が出力されるため、セレクタ２１３，２１６，２１８は共に、伝送線Ｌ２を伝送する第二番目の基本命令を選択しない。
次に、伝送線Ｌ３を上記命令語の第三番目の基本命令ＦＩが伝送する。このとき、上記第一番目の基本命令ＢＩの場合と同様にＦＩ検出器ＦＤ３は該基本命令ＦＩを検出して論理レベルが１の検出信号をＡＮＤゲート１７１へ供給する。このとき、ＡＮＤゲート１７１へはＦＩ検出器ＦＤ２から論理レベルが１の検出信号が供給されているので、その出力は論理レベルが０の信号となる。このため、排他的ＯＲゲート１９３からは論理レベルが１の信号が出力されＡＮＤゲート１７４からは論理レベルが１の信号が出力される。そして、セレクタ２１５はＡＮＤゲート１７４から供給された該論理レベルが１の信号に応じて第三番目の基本命令ＦＩを選択して該基本命令ＦＩを命令実行部ＦＵ１で実行すべき命令として出力する。一方、基本命令ＦＩの出力と同時に、ＯＲゲート２０５からはＡＮＤゲート１７４から供給された信号に応じて論理レベルが１の有効ビットＶが出力される。
【００５２】
なお、上記第三番目の基本命令ＦＩに対してＢＩ検出器ＢＤ３，ＩＩ検出器ＩＤ３，ＬＩ検出器ＬＤ３からは論理レベルが０の非検出信号が出力されるため、セレクタ２１３，２１６，２１８は共に、伝送線Ｌ３を伝送する第三番目の基本命令を選択しない。
そして、次に、伝送線Ｌ４を上記命令語の第四番目の基本命令ＩＩが伝送する。このとき、上記第一番目の基本命令ＢＩの場合と同様にＩＩ検出器ＩＤ４は該基本命令ＩＩを検出して論理レベルが１の検出信号をＡＮＤゲート１７８へ供給する。このとき、ＡＮＤゲート１７８の出力は論理レベルが１の信号となる。そして、セレクタ２１６はＡＮＤゲート１７８から供給された該論理レベルが１の信号に応じて第四番目の基本命令ＩＩを選択して該基本命令ＩＩを命令実行部ＩＵ０で実行すべき命令として出力する。一方、基本命令ＩＩの出力と同時に、ＯＲゲート２０６からはＡＮＤゲート１７８から供給された信号に応じて論理レベルが１の有効ビットＶが出力される。
【００５３】
以上より、本実施例に係る並列処理プロセッサによれば、命令読出部４８は供給された命令語に含まれる基本命令を命令実行部の配置に応じて並び替えた上で、該命令語を命令発行部７４に供給するため、命令実行部への命令発行部７４による基本命令の発行を容易にし、動作速度を向上させることができる。
なお上記実施例においては、命令読出部４８は、予め複数の命令実行部の構成に応じた順序に並べられた基本命令が含まれる命令語を、メモリ１２から取り込むこととすることも有用である。すなわち、上記の命令読出部４８における並び替えを実現する上で要する回路規模が小さくなるように予め基本命令の並びを制約する。
【００５４】
具体的には、同等の機能を果たす命令語は一方のみを採用する。例えば、図９における命令語の形式１３の一番上及び上から四番目に示された命令語については、並び替えられた命令語の形式１７が同一となる。従って、このような場合には一方のみを採用し、他方を予め禁止とする。また、命令読出部２２の配線の迂回が多くなるような命令語を禁止することが考えられる。例えば、上記の二つの命令語に着目すると、基本命令ＢＩ，ＦＩの並んでいる順序が逆の関係にある。ここで、回路の構成要素は二次元平面に配置されるので、いずれか一方の命令語の並べ替えにおいては他方より配線の迂回を多く必要とする。従って、このような配線の迂回をより多く必要とする命令語の並びを予め禁止する。
【００５５】
以上のように、命令読出部４８に供給する命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ２２の回路規模を小さくすることができる。
（実施例２）
図１２は、本実施の形態２の実施例２に係る並列処理プロセッサの構成を示す図である。図１２に示されるように、この並列処理プロセッサ２３は図７に示された上記実施例１に係る並列処理プロセッサ２２と同様な構成を有するが、変換部１１６が命令発行部７５に内蔵される点で相違するものである。ここで変換部１１６の構成及び動作は、図１０及び図１１に示された変換部１１５の構成及び動作と同様なものである。
【００５６】
また図１３は、図１２に示された命令読出部４９と命令発行部７５の構成を示す図である。図１３に示されるように、この命令読出部４９と命令発行部７５は、それぞれ図４に示された命令読出部４６及び命令発行部７２と同様な構成を有するが、命令発行部７５は命令レジスタ３４９に接続された上記変換部１１６をさらに備える点で相違する。なお、図１３においても図を簡略化して見やすくするために、変換部１１６から二つの命令実行部ＬＵ０，ＩＵ０へ命令が発行される経路のみを記しているが、図１２に示される他の命令実行部ＩＵ１，ＦＵ０，ＦＵ１，ＢＵ０への命令発行経路も同様に描くことができる。またこのことは、ＡＮＤゲート３８０へ供給される信号として二つの命令完了信号ＬＵｃ，ＩＵｃ０のみが示されている点についても同様である。
【００５７】
このような本実施例に係る並列処理プロセッサによれば、命令発行部７５の変換部１１６は命令レジスタ３４９から供給された命令語に含まれる基本命令を、複数の命令実行部の構成に応じて並び替えた後に該命令実行部へ各基本命令を発行するため、全体としての配線長を短くして動作速度を向上させることができる。
【００５８】
なお、命令読出部４９に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ２３の回路規模を小さくすることができることも、上記実施例１に係る並列処理プロセッサ２２と同様である。
（実施例３）
図１４は、本実施の形態２の実施例３に係る並列処理プロセッサの構成を示す図である。図１４に示されるように、この並列処理プロセッサ２４は図７に示された上記実施例１に係る並列処理プロセッサ２２と同様な構成を有するが、命令読出部５０は取り込んだ命令語毎に、該命令語に含まれる基本命令を複数の命令実行部の構成に応じて並び替える第一変換部１１７を含み、命令発行部７６は命令読出部５０から供給された命令語に含まれる基本命令を該複数の命令実行部の構成に応じてさらに並び替える第二変換部１１８を含む点で相違するものである。
【００５９】
また図１５は、図１４に示された命令読出部５０と命令発行部７６の構成を示す図である。図１５に示されるように、この命令読出部５０と命令発行部７６は、それぞれ図４に示された命令読出部４６及び命令発行部７２と同様な構成を有するが、命令読出部５０は切出部３１９に接続された上記第一変換部１１７をさらに備え、命令発行部７６は命令レジスタ３５０に接続された上記第二変換部１１８をさらに備える点で相違する。なお、図１５においても図を簡略化して見やすくするために、第二変換部１１８から二つの命令実行部ＬＵ０，ＩＵ０へ命令が発行される経路のみを記しているが、図１４に示される他の命令実行部ＩＵ１，ＦＵ０，ＦＵ１，ＢＵ０への命令発行経路も同様に描くことができる。またこのことは、ＡＮＤゲート３８１へ供給される信号として二つの命令完了信号ＬＵｃ，ＩＵｃ０のみが示されている点についても同様である。
【００６０】
ここで、上記第一変換部１１７においては基本命令の並び替えのいわゆる前処理が行われ、上記第二変換部１１８においては基本命令の並び替えにおけるいわゆる後処理が行われる。
なお、実際の回路では並列処理プロセッサの処理能力を向上させるために、命令読出部５０と命令発行部７６における処理がパイプライン化される。このため、命令読出部５０における処理時間と命令発行部７６における処理時間の差が少ないほど、パイプライン化した効果が期待できる。従って、命令読出部５０における処理時間と命令発行部７６における処理時間の差が少なくなるように、上記前処理と後処理を分割する。
【００６１】
より具体的には、一例として、図１０及び図１１に示されたＢＩ検出器ブロック１４７，１４８、ＦＩ検出器ブロック１４９，１５０、ＩＩ検出器ブロック１５１，１５２、ＬＩ検出器ブロック１５３，１５４に相当する回路を第一変換部１１７に備えると共に、図１０及び図１１に示されたそれ以外の回路については第二変換部１１８に備えることができる。
【００６２】
以上のような構成を有する本実施例に係る並列処理プロセッサによっても、全体として配線長を短くすることができ、動作速度を向上させることができる。
なお、命令読出部５０に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ２４の回路規模を小さくすることができることは、上記実施例１及び２に係る並列処理プロセッサと同様である。
（実施例４）
図１６は、本実施の形態２の実施例４に係る並列処理プロセッサの構成を示す図である。図１６に示されるように、この並列処理プロセッサ２５は図７に示された上記実施例１に係る並列処理プロセッサ２２と同様な構成を有するが、変換部１１９が命令読出部５１に内蔵されると共に、判断部１０４が命令発行部７７に内蔵される点で相違するものである。
【００６３】
また図１７は、図１６に示された命令読出部５１と命令発行部７７の構成を示す図である。図１７に示されるように、この命令読出部５１と命令発行部７７は、それぞれ図８に示された命令読出部４８及び命令発行部７４と同様な構成を有するが、命令発行部７７が命令レジスタ３５１と制御部３７４との間に接続された判断部１０４をさらに備える点で相違する。ここで、判断部１０４は供給された基本命令に基いて、発行対象とされる基本命令が上記データ依存性や制御依存性を有するものであるか否か、または資源競合を生じさせるものであるか否かを判断し、その結果を制御部３７４へ通知する。ここで、発行対象とされる基本命令が上記データ依存性あるいは制御依存性を有し、または資源競合を生じさせるものであると判断される場合には、命令の実行完了を示す命令完了信号ＬＵｃ，ＩＵｃ０が供給されるのを待って命令発行部７７から基本命令が発行される。
【００６４】
なお、図１７においても図を簡略化して見やすくするために、命令レジスタ３５１から二つの命令実行部ＬＵ０，ＩＵ０へ命令が発行される経路のみを記しているが、図１６に示される他の命令実行部ＩＵ１，ＦＵ０，ＦＵ１，ＢＵ０への命令発行経路も同様に描くことができる。またこのことは、判断部１０４へ供給される信号として二つの命令完了信号ＬＵｃ，ＩＵｃ０のみが示されている点についても同様である。
【００６５】
ここで変換部１１９の構成及び動作は、図１０及び図１１に示された変換部１１５の構成及び動作と同様なものであり、判断部１０４の構成および動作は図６に示された判断部１０３の構成及び動作と同様なものである。
以上のような構成を有する本実施例に係る並列処理プロセッサによれば、上記実施の形態１の実施例２に係る並列処理プロセッサと、上記実施の形態２の実施例１に係る並列処理プロセッサの両者における効果を得ることができる。すなわち、命令発行部７７に判断部１０４を内蔵することにより基本命令の並列処理を確実かつ効率的に遂行することができ、動作の信頼性を高めることができるとともに、命令読出部５１に変換部１１９を内蔵することにより、命令実行部への命令発行部７７による基本命令の発行を容易にし、動作速度を向上させることができる。
【００６６】
なお、命令読出部５１に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ２５の回路規模を小さくすることができることは、上記実施例に係る並列処理プロセッサと同様である。
（実施例５）
図１８は、本実施の形態２の実施例５に係る並列処理プロセッサの構成を示す図である。図１８に示されるように、この並列処理プロセッサ２６は図１６に示された上記実施例４に係る並列処理プロセッサ２５と同様な構成を有するが、変換部１２０が命令発行部７８に内蔵される点で相違するものである。
【００６７】
また図１９は、図１８に示された命令読出部５２と命令発行部７８の構成を示す図である。図１９に示されるように、この命令読出部５２と命令発行部７８は、それぞれ図１３に示された命令読出部４９及び命令発行部７５と同様な構成を有するが、命令発行部７８が命令レジスタ３５２と制御部３７５との間に接続された判断部１０５をさらに備える点で相違する。ここで、判断部１０５は供給された基本命令に基いて、発行対象とされる基本命令が上記データ依存性や制御依存性を有するものであるか否か、または資源競合を生じさせるものであるか否かを判断し、その結果を制御部３７５へ通知する。ここで、発行対象とされる基本命令が上記データ依存性あるいは制御依存性を有し、または資源競合を生じさせるものであると判断される場合には、命令の実行完了を示す命令完了信号ＬＵｃ，ＩＵｃ０が供給されるのを待って命令発行部７８から基本命令が発行される。
【００６８】
なお、図１９においても図を簡略化して見やすくするために、命令レジスタ３５２から二つの命令実行部ＬＵ０，ＩＵ０へ命令が発行される経路のみを記しているが、図１８に示される他の命令実行部ＩＵ１，ＦＵ０，ＦＵ１，ＢＵ０への命令発行経路も同様に描くことができる。またこのことは、判断部１０５へ供給される信号として二つの命令完了信号ＬＵｃ，ＩＵｃ０のみが示されている点についても同様である。
【００６９】
ここで変換部１２０の構成及び動作は、図１０及び図１１に示された変換部１１５の構成及び動作と同様なものであり、判断部１０５の構成および動作は図１６に示された判断部１０４の構成及び動作と同様なものである。
以上のような構成を有する本実施例に係る並列処理プロセッサによれば、上記実施例４に係る並列処理プロセッサと同様な効果を得ることができる。すなわち、命令発行部７８に判断部１０５を内蔵することにより基本命令の並列処理を確実かつ効率的に遂行することができ、動作の信頼性を高めることができるとともに、命令発行部７８にさらに変換部１２０を内蔵することにより、命令実行部への基本命令の発行を容易にし、動作速度を向上させることができる。
【００７０】
なお、命令読出部５２に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ２６の回路規模を小さくすることができることは、上記実施例に係る並列処理プロセッサと同様である。
（実施例６）
図２０は、本実施の形態２の実施例６に係る並列処理プロセッサの構成を示す図である。図２０に示されるように、この並列処理プロセッサ２７は図１４に示された上記実施例３に係る並列処理プロセッサ２４と同様な構成を有するが、判断部１０６がさらに命令発行部７９に内蔵される点で相違するものである。
【００７１】
また図２１は、図２０に示された命令読出部５３と命令発行部７９の構成を示す図である。図２１に示されるように、この命令読出部５３と命令発行部７９は、それぞれ図１５に示された命令読出部５０及び命令発行部７６と同様な構成を有するが、命令発行部７９が命令レジスタ３５３と制御部３７６との間に接続された判断部１０６をさらに備える点で相違する。ここで、判断部１０６は供給された基本命令に基いて、発行対象とされる基本命令が上記データ依存性や制御依存性を有するものであるか否か、または資源競合を生じさせるものであるか否かを判断し、その結果を制御部３７６へ通知する。ここで、発行対象とされる基本命令が上記データ依存性あるいは制御依存性を有し、または資源競合を生じさせるものであると判断される場合には、命令の実行完了を示す命令完了信号ＬＵｃ，ＩＵｃ０が供給されるのを待って命令発行部７９から基本命令が発行される。
【００７２】
なお、図２１においても図を簡略化して見やすくするために、命令レジスタ３５３から二つの命令実行部ＬＵ０，ＩＵ０へ命令が発行される経路のみを記しているが、図２０に示される他の命令実行部ＩＵ１，ＦＵ０，ＦＵ１，ＢＵ０への命令発行経路も同様に描くことができる。またこのことは、判断部１０６へ供給される信号として二つの命令完了信号ＬＵｃ，ＩＵｃ０のみが示されている点についても同様である。
【００７３】
ここで、第一変換部１２１と第二変換部１２２の構成及び動作は、図１４に示された第一変換部１１７と第二変換部１１８の構成及び動作と同様なものであり、判断部１０６の構成および動作は図６に示された判断部１０３の構成及び動作と同様なものである。
以上のような構成を有する本実施例に係る並列処理プロセッサによれば、上記実施の形態１の実施例２に係る並列処理プロセッサと、上記実施の形態２の実施例３に係る並列処理プロセッサの両者における効果を得ることができる。すなわち、命令発行部７９に判断部１０６を内蔵することにより基本命令の並列処理を確実かつ効率的に遂行することができ、動作の信頼性を高めることができるとともに、命令読出部５３に第一変換部１２１を含むと共に命令発行部７７に第二変換部１２２を含むことにより、命令実行部への命令発行部７９による基本命令の発行を容易にし、動作速度を向上させることができる。
【００７４】
なお、命令読出部５３に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ２７の回路規模を小さくすることができることは、上記実施例に係る並列処理プロセッサと同様である。
［実施の形態３］
図２２から図２７に示されるように、本実施の形態３に係る並列処理プロセッサ２８〜３３は、メモリ１２に接続された命令読出部５４〜５９と、命令読出部にそれぞれ接続された命令発行部８０〜８５と、命令発行部に接続される命令実行部ＬＵ０，ＩＵ０，ＩＵ１，ＦＵ０，ＦＵ１，ＭＵ０，ＭＵ１，ＢＵ０と、全ての命令実行部に接続されたレジスタ部１００とを備えたものである。ここで、命令実行部ＭＵ０，ＭＵ１は特定用途向け専用演算命令実行部であり、特定用途向け専用演算命令を実行する。なお、これらの実行が完了した時には命令実行部ＭＵ０，ＭＵ１は命令発行部８０〜８５へ通知する。
【００７５】
以下において、本実施の形態３に係る並列処理プロセッサを、一命令語に含まれる最大基本命令語長が２の場合を例として説明する。なお、一命令語の最大基本命令語長が３以上の場合も同様に説明できる。
（実施例１）
図２２は、本実施の形態３の実施例１に係る並列処理プロセッサの構成を示す図である。図２２に示されるように、この並列処理プロセッサ２８は、命令読出部５４に変換部１２３を備える。そしてこの変換部１２３の構成及び動作は、上記実施の形態２の実施例１で詳述した変換部１１５の構成及び動作と同じものである。すなわち変換部１２３は、取り込んだ一命令語毎に、該命令語に含まれる基本命令を複数の命令実行部の構成に応じて並び替えた上で命令発行部８０に供給する。
【００７６】
以上のような構成を有する並列処理プロセッサ２８においても、上記実施の形態２の実施例１に係る並列処理プロセッサ２２と同様な効果を得ることができる。
すなわち、命令実行部への命令発行部８０による基本命令の発行を容易にし、動作速度を向上させることができる。
【００７７】
なお、命令読出部５４に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ２８の回路規模を小さくすることができることは、上記実施の形態に係る並列処理プロセッサと同様である。
（実施例２）
図２３は、本実施の形態３の実施例２に係る並列処理プロセッサの構成を示す図である。図２３に示されるように、この並列処理プロセッサ２９は図１２に示された並列処理プロセッサ２３と同様な構成を有し、変換部１２４が命令発行部８１に含まれる。ここで変換部１２４の構成及び動作は、図１０及び図１１に示された変換部１１５の構成及び動作と同様なものである。
【００７８】
このような本実施例に係る並列処理プロセッサによれば、命令発行部８１は命令読出部５５から供給された命令語に含まれる基本命令を、複数の命令実行部の構成に応じて並び替えた後に該命令実行部へ各基本命令を発行するため、全体としての配線長を短くして動作速度を向上させることができる。
なお、命令読出部５５に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ２９の回路規模を小さくすることができることも、上記の並列処理プロセッサと同様である。
（実施例３）
図２４は、本実施の形態３の実施例３に係る並列処理プロセッサの構成を示す図である。図２４に示されるように、この並列処理プロセッサ３０は図１４に示された上記の並列処理プロセッサ２４と同様な構成を有し、命令読出部５６は取り込んだ命令語毎に該命令語に含まれる基本命令を複数の命令実行部の構成に応じて並び替える第一変換部１２５を含む。そして、命令発行部８２は命令読出部５６から供給された命令語に含まれる基本命令を該複数の命令実行部の構成に応じてさらに並び替える第二変換部１２６を含む。
【００７９】
ここで、上記第一変換部１２５においては基本命令の並び替えのいわゆる前処理が行われ、上記第二変換部１２６においては基本命令の並び替えにおけるいわゆる後処理が行われる。
なお、実際の回路では並列処理プロセッサの処理能力を向上させるために、命令読出部５６と命令発行部８２における処理がパイプライン化される。このため、命令読出部５６における処理時間と命令発行部８２における処理時間の差が少ないほど、パイプライン化した効果が期待できる。従って、命令読出部５６における処理時間と命令発行部８２における処理時間の差が少なくなるように、上記前処理と後処理を分割する。
【００８０】
以上のような構成を有する本実施例に係る並列処理プロセッサにより、全体として配線長を短くすることができ、動作速度を向上させることができる。
なお、命令読出部５６に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ３０の回路規模を小さくすることができることは、上記実施例１及び２に係る並列処理プロセッサと同様である。
（実施例４）
図２５は、本実施の形態３の実施例４に係る並列処理プロセッサの構成を示す図である。図２５に示されるように、この並列処理プロセッサ３１は図１６に示された上記の並列処理プロセッサ２５と同様な構成を有し、変換部１２７が命令読出部５７に内蔵されると共に、判断部１０７が命令発行部８３に内蔵される。
【００８１】
ここで変換部１２７の構成及び動作は、図１０及び図１１に示された変換部１１５の構成及び動作と同様なものであり、判断部１０７の構成および動作は図６に示された判断部１０３の構成及び動作と同様なものである。
以上のような構成を有する本実施例に係る並列処理プロセッサによれば、上記実施の形態２の実施例４に係る並列処理プロセッサと同様の効果を得ることができる。すなわち、命令発行部８３に判断部１０７を内蔵することにより基本命令の並列処理を確実かつ効率的に遂行することができ、動作の信頼性を高めることができるとともに、命令読出部５７に変換部１２７を内蔵することにより、命令実行部への命令発行部８３による基本命令の発行を容易にし、動作速度を向上させることができる。
【００８２】
なお、命令読出部５７に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ３１の回路規模を小さくすることができることは、上記実施例に係る並列処理プロセッサと同様である。
（実施例５）
図２６は、本実施の形態３の実施例５に係る並列処理プロセッサの構成を示す図である。図２６に示されるように、この並列処理プロセッサ３２は図１８に示された上記実施の形態２の実施例５に係る並列処理プロセッサ２６と同様な構成を有し、変換部１２８及び判断部１０８が命令発行部８４に内蔵される。
【００８３】
ここで変換部１２８の構成及び動作は、図１０及び図１１に示された変換部１１５の構成及び動作と同様なものであり、判断部１０８の構成および動作は図６に示された判断部１０３の構成及び動作と同様なものである。
以上のような構成を有する本実施例に係る並列処理プロセッサによれば、上記実施の形態２の実施例５に係る並列処理プロセッサと同様な効果を得ることができる。すなわち、命令発行部８４に判断部１０８を内蔵することにより基本命令の並列処理を確実かつ効率的に遂行することができ、動作の信頼性を高めることができるとともに、命令発行部８４にさらに変換部１２８を内蔵することにより、命令実行部への基本命令の発行を容易にし、動作速度を向上させることができる。
【００８４】
なお、命令読出部５８に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ３２の回路規模を小さくすることができることは、上記実施例に係る並列処理プロセッサと同様である。
（実施例６）
図２７は、本実施の形態３の実施例６に係る並列処理プロセッサの構成を示す図である。図２７に示されるように、この並列処理プロセッサ３３は図２０に示された上記の並列処理プロセッサ２７と同様な構成を有するものである。
【００８５】
ここで、第一変換部１２９と第二変換部１３０の構成及び動作は、図１４に示された第一変換部１１７と第二変換部１１８の構成及び動作と同様なものであり、判断部１０９の構成および動作は図６に示された判断部１０３の構成及び動作と同様なものである。
以上のような構成を有する本実施例に係る並列処理プロセッサによれば、上記実施の形態２の実施例６に係る並列処理プロセッサと同様の効果を得ることができる。すなわち、命令発行部８５に判断部１０９を内蔵することにより基本命令の並列処理を確実かつ効率的に遂行することができ、動作の信頼性を高めることができるとともに、命令読出部５９に第一変換部１２９を含むと共に命令発行部８５に第二変換部１３０を含むことにより、命令実行部への命令発行部８５による基本命令の発行を容易にし、動作速度を向上させることができる。
【００８６】
なお、命令読出部５９に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ３３の回路規模を小さくすることができることは、上記実施例に係る並列処理プロセッサと同様である。
［実施の形態４］
図２８から図３３に示されるように、本実施の形態４に係る並列処理プロセッサ３４〜３９は、メモリ１２に接続された命令読出部６０〜６５と、命令読出部にそれぞれ接続された命令発行部８６〜９１と、命令発行部に接続される命令実行部ＬＵ０，ＬＵ１，ＩＵ０，ＩＵ１，ＦＵ０，ＦＵ１，ＢＵ０，ＢＵ１と、全ての命令実行部に接続されたレジスタ部１０１とを備えたものである。ここで、命令実行部ＬＵ１はロードストア命令実行部であり、ロード命令及びストア命令を実行する。なお、これらの実行が完了した時には命令実行部ＬＵ１は命令発行部８６〜９１へ通知する。また、命令実行部ＢＵ１は分岐命令実行部であり、分岐命令を実行する。なお、この実行が完了した時には命令実行部ＢＵ１は命令発行部８６〜９１へ通知する。
【００８７】
以下において、本実施の形態４に係る並列処理プロセッサを、一命令語に含まれる最大基本命令語長が４の場合を示した図を用いて説明する。なお、図２８から図３３においては、一命令語の最大基本命令語長が４であることが命令読出部６０〜６５から命令発行部８６〜９１への四本の矢印で示されている。
また、本実施の形態４は、一命令語の最大基本命令語長が４の場合に限られるものでないことはいうまでもない。
（実施例１）
図２８は、本実施の形態４の実施例１に係る並列処理プロセッサの構成を示す図である。図２８に示されるように、この並列処理プロセッサ３４は、命令読出部６０に変換部１３１を備える。そしてこの変換部１３１の構成及び動作は、上記実施の形態２の実施例１で詳述した変換部１１５の構成及び動作と同じものである。すなわち変換部１３１は、取り込んだ一命令語毎に、該命令語に含まれる基本命令を複数の命令実行部の構成に応じて並び替えた上で命令発行部８６に供給する。
【００８８】
以上のような構成を有する並列処理プロセッサ３４においても、上記実施の形態２の実施例１に係る並列処理プロセッサ２２と同様な効果を得ることができる。
すなわち、命令実行部への命令発行部８６による基本命令の発行を容易にし、動作速度を向上させることができる。
【００８９】
なお、命令読出部６０に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ３４の回路規模を小さくすることができることは、上記実施の形態に係る並列処理プロセッサと同様である。
（実施例２）
図２９は、本実施の形態４の実施例２に係る並列処理プロセッサの構成を示す図である。図２９に示されるように、この並列処理プロセッサ３５は図１２に示された並列処理プロセッサ２３と同様な構成を有し、変換部１３２が命令発行部８７に含まれる。ここで変換部１３２の構成及び動作は、図１０及び図１１に示された変換部１１５の構成及び動作と同様なものである。
【００９０】
このような本実施例に係る並列処理プロセッサによれば、命令発行部８７は命令読出部６１から供給された命令語に含まれる基本命令を、複数の命令実行部の構成に応じて並び替えた後に該命令実行部へ各基本命令を発行するため、全体としての配線長を短くして動作速度を向上させることができる。
なお、命令読出部６１に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ３５の回路規模を小さくすることができることも、上記の並列処理プロセッサと同様である。
（実施例３）
図３０は、本実施の形態４の実施例３に係る並列処理プロセッサの構成を示す図である。図３０に示されるように、この並列処理プロセッサ３６は図１４に示された上記の並列処理プロセッサ２４と同様な構成を有し、命令読出部６２は取り込んだ命令語毎に該命令語に含まれる基本命令を複数の命令実行部の構成に応じて並び替える第一変換部１３３を含む。そして、命令発行部８８は命令読出部６２から供給された命令語に含まれる基本命令を該複数の命令実行部の構成に応じてさらに並び替える第二変換部１３４を含む。
【００９１】
ここで、上記第一変換部１３３においては基本命令の並び替えのいわゆる前処理が行われ、上記第二変換部１３４においては基本命令の並び替えにおけるいわゆる後処理が行われる。
なお、実際の回路では並列処理プロセッサの処理能力を向上させるために、命令読出部６２と命令発行部８８における処理がパイプライン化される。このため、命令読出部６２における処理時間と命令発行部８８における処理時間の差が少ないほど、パイプライン化した効果が期待できる。従って、命令読出部６２における処理時間と命令発行部８８における処理時間の差が少なくなるように、上記前処理と後処理を分割する。
【００９２】
以上のような構成を有する本実施例に係る並列処理プロセッサにより、全体として配線長を短くすることができ、動作速度を向上させることができる。
なお、命令読出部６２に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ３６の回路規模を小さくすることができることは、上記実施例１及び２に係る並列処理プロセッサと同様である。
（実施例４）
図３１は、本実施の形態４の実施例４に係る並列処理プロセッサの構成を示す図である。図３１に示されるように、この並列処理プロセッサ３７は図１６に示された上記の並列処理プロセッサ２５と同様な構成を有し、変換部１３５が命令読出部６３に内蔵されると共に、判断部１１０が命令発行部８９に内蔵される。
【００９３】
ここで変換部１３５の構成及び動作は、図１０及び図１１に示された変換部１１５の構成及び動作と同様なものであり、判断部１１０の構成および動作は図６に示された判断部１０３の構成及び動作と同様なものである。
以上のような構成を有する本実施例に係る並列処理プロセッサによれば、上記実施の形態２の実施例４に係る並列処理プロセッサと同様の効果を得ることができる。すなわち、命令発行部８９に判断部１１０を内蔵することにより基本命令の並列処理を確実かつ効率的に遂行することができ、動作の信頼性を高めることができるとともに、命令読出部６３に変換部１３５を内蔵することにより、命令実行部への命令発行部８９による基本命令の発行を容易にし、動作速度を向上させることができる。
【００９４】
なお、命令読出部６３に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ３７の回路規模を小さくすることができることは、上記実施例に係る並列処理プロセッサと同様である。
（実施例５）
図３２は、本実施の形態４の実施例５に係る並列処理プロセッサの構成を示す図である。図３２に示されるように、この並列処理プロセッサ３８は図１８に示された上記実施の形態２の実施例５に係る並列処理プロセッサ２６と同様な構成を有し、変換部１３６及び判断部１１１が命令発行部９０に内蔵される。
【００９５】
ここで変換部１３６の構成及び動作は、図１０及び図１１に示された変換部１１５の構成及び動作と同様なものであり、判断部１１１の構成および動作は図６に示された判断部１０３の構成及び動作と同様なものである。
以上のような構成を有する本実施例に係る並列処理プロセッサによれば、上記実施の形態２の実施例５に係る並列処理プロセッサと同様な効果を得ることができる。すなわち、命令発行部９０に判断部１１１を内蔵することにより基本命令の並列処理を確実かつ効率的に遂行することができ、動作の信頼性を高めることができるとともに、命令発行部９０にさらに変換部１３６を内蔵することにより、命令実行部への基本命令の発行を容易にし、動作速度を向上させることができる。
【００９６】
なお、命令読出部６４に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ３８の回路規模を小さくすることができることは、上記実施例に係る並列処理プロセッサと同様である。
（実施例６）
図３３は、本実施の形態４の実施例６に係る並列処理プロセッサの構成を示す図である。図３３に示されるように、この並列処理プロセッサ３９は図２０に示された上記の並列処理プロセッサ２７と同様な構成を有するものである。
【００９７】
ここで、第一変換部１３７と第二変換部１３８の構成及び動作は、図１４に示された第一変換部１１７と第二変換部１１８の構成及び動作と同様なものであり、判断部１１２の構成および動作は図６に示された判断部１０３の構成及び動作と同様なものである。
以上のような構成を有する本実施例に係る並列処理プロセッサによれば、上記実施の形態２の実施例６に係る並列処理プロセッサと同様の効果を得ることができる。すなわち、命令発行部９１に判断部１１２を内蔵することにより基本命令の並列処理を確実かつ効率的に遂行することができ、動作の信頼性を高めることができるとともに、命令読出部６５に第一変換部１３７を含むと共に命令発行部９１に第二変換部１３８を含むことにより、命令実行部への命令発行部９１による基本命令の発行を容易にし、動作速度を向上させることができる。
【００９８】
なお、命令読出部６５に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ３９の回路規模を小さくすることができることは、上記実施例に係る並列処理プロセッサと同様である。
［実施の形態５］
図３４から図３９に示されるように、本実施の形態５に係る並列処理プロセッサ４０〜４５は、メモリ１２に接続された命令読出部６６〜７１と、命令読出部にそれぞれ接続された命令発行部９２〜９７と、命令発行部に接続される命令実行部ＬＵ０，ＬＵ１，ＩＵ０，ＩＵ１，ＦＵ０，ＦＵ１，ＭＵ０，ＭＵ１，ＢＵ０，ＢＵ１と、全ての命令実行部に接続されたレジスタ部１０２とを備えたものである。
【００９９】
以下において、本実施の形態５に係る並列処理プロセッサを、一命令語に含まれる最大基本命令語長が４の場合を示した図を用いて説明する。なお、図３４から図３９においては、一命令語の最大基本命令語長が４であることが命令読出部６６〜７１から命令発行部９２〜９７への四本の矢印で示されている。
また、本実施の形態５は、一命令語の最大基本命令語長が４の場合に限られるものでないことはいうまでもない。
（実施例１）
図３４は、本実施の形態５の実施例１に係る並列処理プロセッサの構成を示す図である。図３４に示されるように、この並列処理プロセッサ４０は、命令読出部６６に変換部１３９を備える。そしてこの変換部１３９の構成及び動作は、上記実施の形態２の実施例１で詳述した変換部１１５の構成及び動作と同じものである。すなわち変換部１３９は、取り込んだ一命令語毎に、該命令語に含まれる基本命令を複数の命令実行部の構成に応じて並び替えた上で命令発行部９２に供給する。
【０１００】
以上のような構成を有する並列処理プロセッサ４０においても、上記実施の形態２の実施例１に係る並列処理プロセッサ２２と同様な効果を得ることができる。
すなわち、命令発行部９２による命令実行部への基本命令の発行を容易にし、動作速度を向上させることができる。
【０１０１】
なお、命令読出部６６に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ４０の回路規模を小さくすることができることは、上記実施の形態に係る並列処理プロセッサと同様である。
（実施例２）
図３５は、本実施の形態５の実施例２に係る並列処理プロセッサの構成を示す図である。図３５に示されるように、この並列処理プロセッサ４１は図１２に示された並列処理プロセッサ２３と同様な構成を有し、変換部１４０が命令発行部９３に含まれる。ここで変換部１４０の構成及び動作は、図１０及び図１１に示された変換部１１５の構成及び動作と同様なものである。
【０１０２】
このような本実施例に係る並列処理プロセッサによれば、命令発行部９３は命令読出部６７から供給された命令語に含まれる基本命令を、複数の命令実行部の構成に応じて並び替えた後に該命令実行部へ各基本命令を発行するため、全体としての配線長を短くして動作速度を向上させることができる。
なお、命令読出部６７に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ４１の回路規模を小さくすることができることは、上記の並列処理プロセッサと同様である。
（実施例３）
図３６は、本実施の形態５の実施例３に係る並列処理プロセッサの構成を示す図である。図３６に示されるように、この並列処理プロセッサ４２は図１４に示された上記の並列処理プロセッサ２４と同様な構成を有し、命令読出部６８は取り込んだ命令語毎に該命令語に含まれる基本命令を複数の命令実行部の構成に応じて並び替える第一変換部１４１を含む。そして、命令発行部９４は命令読出部６８から供給された命令語に含まれる基本命令を該複数の命令実行部の構成に応じてさらに並び替える第二変換部１４２を含む。
【０１０３】
ここで、上記第一変換部１４１においては基本命令の並び替えのいわゆる前処理が行われ、上記第二変換部１４２においては基本命令の並び替えにおけるいわゆる後処理が行われる。
なお、実際の回路では並列処理プロセッサの処理能力を向上させるために、命令読出部６８と命令発行部９４における処理がパイプライン化される。このため、命令読出部６８における処理時間と命令発行部９４における処理時間の差が少ないほど、パイプライン化した効果が期待できる。従って、命令読出部６８における処理時間と命令発行部９４における処理時間の差が少なくなるように、上記前処理と後処理を分割する。
【０１０４】
以上のような構成を有する本実施例に係る並列処理プロセッサにより、全体として配線長を短くすることができ、動作速度を向上させることができる。
なお、命令読出部６８に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ４２の回路規模を小さくすることができることは、上記実施例１及び２に係る並列処理プロセッサと同様である。
（実施例４）
図３７は、本実施の形態５の実施例４に係る並列処理プロセッサの構成を示す図である。図３７に示されるように、この並列処理プロセッサ４３は図１６に示された上記の並列処理プロセッサ２５と同様な構成を有し、変換部１４３が命令読出部６９に内蔵されると共に、判断部１１３が命令発行部９５に内蔵される。
【０１０５】
ここで変換部１４３の構成及び動作は、図１０及び図１１に示された変換部１１５の構成及び動作と同様なものであり、判断部１１３の構成および動作は図６に示された判断部１０３の構成及び動作と同様なものである。
以上のような構成を有する本実施例に係る並列処理プロセッサによれば、上記実施の形態２の実施例４に係る並列処理プロセッサと同様の効果を得ることができる。すなわち、命令発行部９５に判断部１１３を内蔵することにより基本命令の並列処理を確実かつ効率的に遂行することができ、動作の信頼性を高めることができるとともに、命令読出部６９に変換部１４３を内蔵することにより、命令実行部への命令発行部９５による基本命令の発行を容易にし、動作速度を向上させることができる。
【０１０６】
なお、命令読出部６９に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ４３の回路規模を小さくすることができることは、上記実施例に係る並列処理プロセッサと同様である。
（実施例５）
図３８は、本実施の形態５の実施例５に係る並列処理プロセッサの構成を示す図である。図３８に示されるように、この並列処理プロセッサ４４は図１８に示された上記実施の形態２の実施例５に係る並列処理プロセッサ２６と同様な構成を有し、変換部１４４及び判断部１１４が命令発行部９６に内蔵される。
【０１０７】
ここで変換部１４４の構成及び動作は、図１０及び図１１に示された変換部１１５の構成及び動作と同様なものであり、判断部１１４の構成および動作は図６に示された判断部１０３の構成及び動作と同様なものである。
以上のような構成を有する本実施例に係る並列処理プロセッサによれば、上記実施の形態２の実施例５に係る並列処理プロセッサと同様な効果を得ることができる。すなわち、命令発行部９６に判断部１１４を内蔵することにより基本命令の並列処理を確実かつ効率的に遂行することができ、動作の信頼性を高めることができるとともに、命令発行部９６にさらに変換部１４４を内蔵することにより、命令実行部への基本命令の発行を容易にし、動作速度を向上させることができる。
【０１０８】
なお、命令読出部７０に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ４４の回路規模を小さくすることができることは、上記実施例に係る並列処理プロセッサと同様である。
（実施例６）
図３９は、本実施の形態５の実施例６に係る並列処理プロセッサの構成を示す図である。図３９に示されるように、この並列処理プロセッサ４５は図２０に示された上記の並列処理プロセッサ２７と同様な構成を有するものである。
【０１０９】
ここで、第一変換部１４５と第二変換部１４６の構成及び動作は、図１４に示された第一変換部１１７と第二変換部１１８の構成及び動作と同様なものであり、判断部１１２の構成および動作は図６に示された判断部１０３の構成及び動作と同様なものである。
以上のような構成を有する本実施例に係る並列処理プロセッサによれば、上記実施の形態２の実施例６に係る並列処理プロセッサと同様の効果を得ることができる。すなわち、命令発行部９７に判断部２１９を内蔵することにより基本命令の並列処理を確実かつ効率的に遂行することができ、動作の信頼性を高めることができるとともに、命令読出部７１に第一変換部１４５を含むと共に命令発行部９７に第二変換部１４６を含むことにより、命令実行部への命令発行部９７による基本命令の発行を容易にし、動作速度を向上させることができる。
【０１１０】
なお、命令読出部７１に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ４５の回路規模を小さくすることができることは、上記実施例に係る並列処理プロセッサと同様である。最後に、本発明に係る課題を解決するための手段について付記する。
（１）命令区切り情報によって区切られた命令語に含まれる一つあるいは複数の基本命令を並列的に実行する情報処理装置であって、供給される前記基本命令に応じた処理を並列的に実行する複数の命令実行部と、命令区切り情報に応じて前記命令語を一つずつ取り込む命令取り込み部と、命令取り込み部から供給された命令語に含まれる基本命令毎に、基本命令を実行すべきいずれか一つの命令実行部へ、選択的に前記基本命令を発行する命令発行部と、を有し、命令取り込み部は、取り込んだ命令語毎に、命令語に含まれる基本命令を、複数の命令実行部に対応づけた基本命令と基本命令の発行の有無を示す有効ビットの対の形式に並び替える、ことを特徴とする情報処理装置。
（２）複数の命令実行部の少なくとも二つは、同一の構成を有する（１）に記載の情報処理装置。
（３）命令取り込み部は、予め複数の命令実行部の構成に応じた順序に並べられた基本命令が含まれる命令語を取り込む（１）又は（２）に記載の情報処理装置。
（４）命令発行部は、所定の場合には、命令実行部における実行が完了する前に次の前記基本命令を発行する（１）ないし（３）いずれかに記載の情報処理装置。
（５）所定の場合とは、命令発行に供給された基本命令が命令実行部おいて実行中の基本命令に対してデータ依存関係を持たず、かつ、制御依存関係を持たず、かつ、資源競合も生じないものである場合あること、を特徴とする情報処理装置。
（６）命令区切り情報によって区切られた命令語に含まれる一つあるいは複数の基本命令を並列的に実行する情報処理装置であって、供給される前記基本命令に応じた処理を並列的に実行する複数の命令実行部と、命令区切り情報に応じて命令語を一つずつ取り込む命令取り込み部と、命令取り込み部から供給された命令語に含まれる基本命令毎に、基本命令を実行すべきいずれか一つの命令実行部へ、選択的に基本命令を発行する命令発行部と、を有し、命令発行部は、命令語に含まれる基本命令を、複数の命令実行部の構成に応じて、基本命令と前記基本命令の発行の有無を示す有効ビットの対の形式に並び替えた後に、命令実行部へ発行する、ことを特徴とする情報処理装置。
このような手段によれば、命令取り込み部は予め複数の命令実行部の構成に応じた順序に並べられた基本命令が含まれる命令語を取り込むため、並列処理プロセッサの回路規模を小さくすることができ、動作の高速化を図ることができる。
【０１１１】
上述の如く、本発明によれば、命令取り込み部は命令区切り情報に応じて命令語を一つずつ取り込むため該命令語を可変長とすることができ、命令発行部は取り込まれた命令語に含まれる基本命令毎に、命令語に含まれる基本命令を複数の命令実行部の構成に応じて並び替えた上で命令実行部に発行するものとすれば、並列処理プロセッサの回路規模を小さくすることができると共に、動作の高速化を図ることができる。
また、命令語中に基本命令をより効率的に含ませることができるので、並列処理プロセッサの並列処理能力を向上させることができる。
上記において複数の命令実行部のうち少なくとも二つが構成を異にするものとすれば、命令語の実行のため過剰な回路規模が必要とされず、並列処理プロセッサの小型化を実現することができる。
また、命令発行部が、命令実行部において実行中の基本命令の種類に応じて、該実行が完了する前に次の基本命令を発行することとすれば、さらなる並列処理の効率化を図ることができる。
【０１１２】
【発明の効果】
上述の如く、本発明によれば、効率良い情報処理を実現する情報処理装置及び情報処理方法を提供することができる。
【図面の簡単な説明】
【図１】従来の並列処理プロセッサの構成を示す図である。
【図２】４個の命令実行部を備えた図１に示される並列処理プロセッサに供給される命令語の形式を示す図である。
【図３】実施の形態１の実施例１に係る並列処理プロセッサの構成を示す図である。
【図４】図３に示された命令読出部と命令発行部の構成を示す図である。
【図５】実施の形態１に係る並列処理プロセッサに供給される命令語の形式を示すものである。
【図６】実施の形態１の実施例２に係る並列処理プロセッサの構成を示す図である。
【図７】実施の形態２の実施例１に係る並列処理プロセッサの構成を示す図である。
【図８】図７に示された命令読出部と命令発行部の構成を示す図である。
【図９】実施の形態２に係る並列処理プロセッサにおける基本命令の並び替えを説明するための図である。
【図１０】図７に示された変換部の構成を示す回路図である。
【図１１】最大基本命令語長が４の場合における変換部の構成を示す回路図である。
【図１２】実施の形態２の実施例２に係る並列処理プロセッサの構成を示す図である。
【図１３】図１２に示された命令読出部と命令発行部の構成を示す図である。
【図１４】実施の形態２の実施例３に係る並列処理プロセッサの構成を示す図である。
【図１５】図１４に示された命令読出部と命令発行部の構成を示す図である。
【図１６】実施の形態２の実施例４に係る並列処理プロセッサの構成を示す図である。
【図１７】図１６に示された命令読出部と命令発行部の構成を示す図である。
【図１８】実施の形態２の実施例５に係る並列処理プロセッサの構成を示す図である。
【図１９】図１８に示された命令読出部と命令発行部の構成を示す図である。
【図２０】実施の形態２の実施例６に係る並列処理プロセッサの構成を示す図である。
【図２１】図２０に示された命令読出部と命令発行部の構成を示す図である。
【図２２】実施の形態３の実施例１に係る並列処理プロセッサの構成を示す図である。
【図２３】実施の形態３の実施例２に係る並列処理プロセッサの構成を示す図である。
【図２４】実施の形態３の実施例３に係る並列処理プロセッサの構成を示す図である。
【図２５】実施の形態３の実施例４に係る並列処理プロセッサの構成を示す図である。
【図２６】実施の形態３の実施例５に係る並列処理プロセッサの構成を示す図である。
【図２７】実施の形態３の実施例６に係る並列処理プロセッサの構成を示す図である。
【図２８】実施の形態４の実施例１に係る並列処理プロセッサの構成を示す図である。
【図２９】実施の形態４の実施例２に係る並列処理プロセッサの構成を示す図である。
【図３０】実施の形態４の実施例３に係る並列処理プロセッサの構成を示す図である。
【図３１】実施の形態４の実施例４に係る並列処理プロセッサの構成を示す図である。
【図３２】実施の形態４の実施例５に係る並列処理プロセッサの構成を示す図である。
【図３３】実施の形態４の実施例６に係る並列処理プロセッサの構成を示す図である。
【図３４】実施の形態５の実施例１に係る並列処理プロセッサの構成を示す図である。
【図３５】実施の形態５の実施例２に係る並列処理プロセッサの構成を示す図である。
【図３６】実施の形態５の実施例３に係る並列処理プロセッサの構成を示す図である。
【図３７】実施の形態５の実施例４に係る並列処理プロセッサの構成を示す図である。
【図３８】実施の形態５の実施例５に係る並列処理プロセッサの構成を示す図である。
【図３９】実施の形態５の実施例６に係る並列処理プロセッサの構成を示す図である。
【符号の説明】
１，４６〜７１  命令読出部
３，７２〜９７  命令発行部
５，９８〜１０２  レジスタ部
７，１２  メモリ
１０  並列処理プロセッサ
１３，１７  命令語の形式
１５  インタフェース
２０〜４５  プロセッサ
１０３〜１１４，２１９  判断部
１１５〜１４６  変換部
１４７，１４８  分岐命令（ＢＩ）検出器ブロック
１４９，１５０  浮動小数点演算命令（ＦＩ）検出器ブロック
１５１，１５２  整数演算命令（ＩＩ）検出器ブロック
１５３，１５４  ロードストア命令（ＬＩ）検出器ブロック
１５５〜１６２  バッファ
１６３〜１８６  ＡＮＤゲート
１８７〜１９８  排他的ＯＲゲート
１９９〜２０８  ＯＲゲート
２０９〜２１８，３５５〜３６８  セレクタ
３００〜３０６  固定長フェッチ部（ＦＰＣ）
３０８〜３１４  命令バッファ
３１６〜３２２  切出部
３２４〜３３７  加算器
３３９〜３４５  実行フェッチ部（ＥＰＣ）
３４７〜３５３  命令レジスタ
３７０〜３７６  制御部
３７８〜３８１  ＡＮＤゲート
ＥＵ０〜ＥＵｎ，ＬＵ０，ＬＵ１，ＩＵ０，ＩＵ１，ＦＵ０，ＦＵ１，ＭＵ０，ＭＵ１，ＢＵ０，ＢＵ１  命令実行部
ＢＤ１〜ＢＤ４  分岐命令（ＢＩ）検出器
ＦＤ１〜ＦＤ４  浮動小数点演算命令（ＦＩ）検出器
ＩＤ１〜ＩＤ４  整数演算命令（ＩＩ）検出器
ＬＤ１〜ＬＤ４  ロードストア命令（ＬＩ）検出器
Ｌ１〜Ｌ４  伝送線
【図１】
0003730455.tif 000002
【図２】
0003730455.tif 000003
【図３】
0003730455.tif 000004
【図４】
0003730455.tif 000005
【図５】
0003730455.tif 000006
【図６】
0003730455.tif 000007
【図７】
0003730455.tif 000008
【図８】
0003730455.tif 000009
【図９】
0003730455.tif 000010
【図１０】
0003730455.tif 000011
【図１１】
0003730455.tif 000012
【図１２】
0003730455.tif 000013
【図１３】
0003730455.tif 000014
【図１４】
0003730455.tif 000015
【図１５】
0003730455.tif 000016
【図１６】
0003730455.tif 000017
【図１７】
0003730455.tif 000018
【図１８】
0003730455.tif 000019
【図１９】
0003730455.tif 000020
【図２０】
0003730455.tif 000021
【図２１】
0003730455.tif 000022
【図２２】
0003730455.tif 000023
【図２３】
0003730455.tif 000024
【図２４】
0003730455.tif 000025
【図２５】
0003730455.tif 000026
【図２６】
0003730455.tif 000027
【図２７】
0003730455.tif 000028
【図２８】
0003730455.tif 000029
【図２９】
0003730455.tif 000030
【図３０】
0003730455.tif 000031
【図３１】
0003730455.tif 000032
【図３２】
0003730455.tif 000033
【図３３】
0003730455.tif 000034
【図３４】
0003730455.tif 000035
【図３５】
0003730455.tif 000036
【図３６】
0003730455.tif 000037
【図３７】
0003730455.tif 000038
【図３８】
0003730455.tif 000039
【図３９】
0003730455.tif 000040