JP3730455B2 - 情報処理装置及び情報処理方法 - Google Patents

情報処理装置及び情報処理方法 Download PDF

Info

Publication number
JP3730455B2
JP3730455B2 JP28195799A JP28195799A JP3730455B2 JP 3730455 B2 JP3730455 B2 JP 3730455B2 JP 28195799 A JP28195799 A JP 28195799A JP 28195799 A JP28195799 A JP 28195799A JP 3730455 B2 JP3730455 B2 JP 3730455B2
Authority
JP
Japan
Prior art keywords
instruction
basic
unit
configuration
word
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP28195799A
Other languages
English (en)
Other versions
JP2001100997A5 (ja
JP2001100997A (ja
Inventor
英雄 三宅
敦浩 須賀
泰基 中村
好正 竹部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP28195799A priority Critical patent/JP3730455B2/ja
Priority to US09/654,527 priority patent/US7401204B1/en
Priority to EP00307646A priority patent/EP1089168B1/en
Priority to DE60045208T priority patent/DE60045208D1/de
Priority to KR1020000056946A priority patent/KR100689717B1/ko
Publication of JP2001100997A publication Critical patent/JP2001100997A/ja
Publication of JP2001100997A5 publication Critical patent/JP2001100997A5/ja
Application granted granted Critical
Publication of JP3730455B2 publication Critical patent/JP3730455B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3818Decoding for concurrent execution
    • G06F9/382Pipelined decoding, e.g. using predecoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3802Instruction prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3853Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound instructions

Description

【0001】
【発明の属する技術分野】
本発明は、情報処理装置及び情報処理方法に関し、さらに詳しくは複数の基本命令を並列的に実行する情報処理装置及び情報処理方法に関するものである。
【0002】
【従来の技術】
一般に、従来の計算機システムにおいてはパイプライン処理等で複数の基本命令を並列に実行することで、処理能力の向上を図っている。また従来においては、複数の基本命令をまとめて固定長の命令語とし、一つの命令語に含まれた複数の基本命令を並列に実行する方式として超長命令語(Very Long Instruction Word− VLIW )方式が採用されている。また、スーパースカラ(super-scalar)方式等では、命令並列度に応じて基本命令を並列に実行することが行われている。
【0003】
図1は、従来の並列処理プロセッサの構成を示す図である。図1に示されるように、従来の並列処理プロセッサ10は、メモリ7に接続された命令読出部1と、命令読出部1に接続された命令発行部3と、それぞれが命令発行部3に接続された命令実行部EU0〜EUnと、全ての命令実行部EU0〜EUnに接続されたレジスタ部5とを備える。
【0004】
ここで、命令読出部1はメモリ7から命令語を読み出して、該命令語を命令発行部3に供給する。また、命令発行部3は供給された命令語に含まれる基本命令を、命令実行部EU0〜EUnへ発行する。なお、このとき命令実行部EU0〜EUnが既に先の基本命令を実行中である場合には、その実行の完了を待った後に対応する命令実行部へ次の基本命令を供給する。
【0005】
そして、命令実行部EU0〜EUnは供給された基本命令を実行するとともに、該実行が完了した場合にはその旨を命令発行部3へ通知する。また、レジスタ部5は必要に応じて命令実行部EU0〜EUnへデータを供給し、かつ各命令実行部EU0〜EUnにおける実行結果を保持する。なお、外部接続されたメモリ7は並列処理プロセッサ10で実行する命令語列を記憶すると共に、命令実行部EU0〜EUnが命令の実行にあたり必要とするデータ及び該実行の結果得られたデータを記憶する。
【0006】
図2は、4個の命令実行部EU0〜EU3を備えた上記の並列処理プロセッサに供給される命令語の形式を示す図である。図2に示されるように、命令語は基本命令EIと、無操作命令nopとからなる。ここで、一つの命令語に含まれ並列的に実行される基本命令の数が命令実行部EU0〜EU3の数に達しない場合には、無操作命令の割合が多くなることがわかる。
【0007】
すなわち、従来のVLIWによる複数の基本命令の並列処理方式は、命令語が固定長であったため、並列に実行する基本命令の数が所定の数に達しない場合には、無操作命令を付加して所定の長さにする必要があった。このことから、命令並列度の低いプログラムに対しては、無操作命令が多くなると共に命令コード量が増大するため、メモリの使用効率の悪化やキャッシュメモリのヒット率の低下、命令読み出し機構の負荷の増大などを招くという問題があった。
【0008】
一方、スーパースカラ方式については、プログラム実行時に並列実行される命令の数を増やすには、必要とされる回路規模が大きくなるという問題がある。
【0009】
【発明が解決しようとする課題】
本発明は、上述の問題を解消するためになされたもので、効率よい情報処理を実現する情報処理装置及び情報処理方法を提供することを目的とする。
【0010】
【課題を解決するための手段】
上記の目的は、命令区切り情報によって区切られた命令語に含まれる一つあるいは複数の基本命令を並列的に実行する並列処理プロセッサであって、供給される基本命令に応じた処理を並列的に実行する複数の命令実行部と、命令区切り情報に応じて命令語を一つずつ取り込む命令取り込み部と、命令取り込み部から供給された命令語に含まれる基本命令毎に、基本命令を実行すべきいずれか一つの命令実行部へ選択的に基本命令を発行する命令発行部とを備え、命令取り込み部は、取り込んだ前記命令語毎に、前記命令語に含まれる前記基本命令を、前記複数の命令実行部に対応づけた前記基本命令と前記基本命令の発行の有無を示す有効ビットの対の形式に並び替える、ことを特徴とする情報処理装置を提供することにより達成される。
【0011】
また、本情報処理装置において、複数の命令実行部の少なくとも二つは、同一の構成を有するものとすることができる。
【0012】
また、本情報処理装置において、命令取り込み部は、予め複数の命令実行部の構成に応じた順序に並べられた基本命令が含まれる命令語を取り込むものとすることができる。
また、本情報処理装置において、命令発行部は、所定の場合には、命令実行部における実行が完了する前に次の基本命令を発行するものとすることができる。所定の場合とは、命令発行に供給された基本命令が前記命令実行部おいて実行中の基本命令に対してデータ依存関係を持たず、かつ、制御依存関係を持たず、かつ、資源競合も生じないものである場合ある。
【0013】
また、上記目的は、命令区切り情報によって区切られた命令語に含まれる一つあるいは複数の基本命令を並列的に実行する情報処理装置であって、供給される基本命令に応じた処理を並列的に実行する複数の命令実行部と、命令区切り情報に応じて命令語を一つずつ取り込む命令取り込み部と、命令取り込み部から供給された命令語に含まれる基本命令毎に、基本命令を実行すべきいずれか一つの命令実行部へ、選択的に基本命令を発行する命令発行部と、を有し、命令発行部は、命令語に含まれる基本命令を、複数の命令実行部の構成に応じて基本命令と基本命令の発行の有無を示す有効ビットの対の形式にび替えた後に、命令実行部へ発行する、ことを特徴とする情報処理装置を提供することにより達成される。
また、上記目的は、命令区切り情報によって区切られた命令語に含まれる一つあるいは複数の基本命令を、命令区切り情報に応じて取り出し、命令語に含まれる一つあるいは複数の基本命令を、複数の命令実行部の構成に応じて並び替え、命令発行部に供給し、複数の命令実行部に対応づけた基本命令と基本命令の発行の有無を示す有効ビットの対の形式の基本命令を複数の命令実行部へ選択的に発行し、一つあるいは複数の基本命令を並列的に実行すること、を特徴とする情報処理方法を提供することにより達成される。
【0014】
【発明の実施の形態】
以下において、本発明の実施の形態を図面を参照して詳しく説明する。なお、図中同一符号は、同一または相当部分を示す。
[実施の形態1]
図3及び図6に示されるように、本実施の形態1に係る並列処理プロセッサ20,21は、それぞれ、メモリ12に接続された命令読出部46,47と、命令読出部46,47にそれぞれ接続された命令発行部72,73と、命令発行部72,73に接続され同じ構成からなる二つの命令実行部EU0,EU1と、全ての命令実行部EU0,EU1に接続されたレジスタ部98とを備えたものである。
【0015】
以下において、本実施の形態1に係る並列処理プロセッサを、一命令語の最大基本命令語長が2の場合を例として説明する。なお、一命令語の最大基本命令語長が3以上の場合も同様に説明できる。
(実施例1)
図4は、図3に示された命令読出部46と命令発行部72の構成を示す図である。図4に示されるように、命令読出部46は固定長フェッチ部(FPC)300と、加算器324,325と、命令バッファ308と、切出部316と、実行フェッチ部(EPC)339とを備える。
【0016】
ここで、FPC300はメモリ12及び命令実行部EU0,EU1に接続され、加算器324はFPC300に接続される。また、命令バッファ308はメモリ12に接続され、切出部316は命令バッファ308に接続される。そして、加算器325は切出部316に接続され、EPC339は加算器325及びレジスタ部98に接続される。そして、上記FPC300へはメモリ12から命令語に含まれたフェッチアドレスが供給され、命令バッファ308へはメモリ12から命令語に含まれたフェッチデータが供給される。さらにFPC300へは、分岐命令に対応する分岐先のアドレス等が命令実行部EU0,EU1から供給される。
【0017】
一方、命令発行部72は命令レジスタ347と、セレクタ355,356と、制御部370と、ANDゲート378を備える。ここで、命令レジスタ347は切出部316に接続され、セレクタ355,356は共に命令レジスタ347に接続される。そして、セレクタ355は命令実行部EU0に接続され、セレクタ356は命令実行部EU1に接続される。また、制御部370はANDゲート378及びセレクタ355,356に接続され、ANDゲート378は命令実行部EU0,EU1に接続される。ここで、命令の実行完了を示す命令完了信号EUc0,EUc1が、それぞれ命令実行部EU0,EU1からANDゲート378へ供給される。 以下において、本実施例に係る並列処理プロセッサの動作について説明する。
【0018】
図5は、本実施例1に係る並列処理プロセッサに供給される命令語の形式を示すものである。図5に示されるように、該命令語は命令実行部で実行される基本命令語EI及び命令語区切りフィールド0,1からなり、その基本命令語長が1の場合と2の場合とがある。すなわち図5の上段は、命令語区切りフィールド0及び基本命令EIからなる基本命令語と、命令語区切りフィールド1及び基本命令EIからなる基本命令語との並びからなる基本命令語長が2の命令語を示し、図5の下段は、命令語区切りフィールド1及び基本命令EIからなる基本命令語長1の命令語を示す。
【0019】
上記のような命令語は、予めメモリ12に記憶され、プロセッサ20の命令読出部46に含まれた加算器324によって固定長dispだけアドレスがインクリメントされることにより、順次読み出される。ここで、命令読出部46に含まれた切出部316は上記命令語を読み出した時、命令語区切りフィールド1に続く基本命令EIまでを一つの命令語と認識した上で、一命令語毎に、すなわち例えば上記基本命令語長2の一つの命令語を命令語列から切り出し、命令読出部46に取り込む。なお、ここで加算器325は切出部316から供給された命令語長を示す信号SLに基いて実行される基本命令EIに対応する番地を算出し、EPC339はこれを一時的に保持する。そしてさらにレジスタ部98は、所定の場合においてEPC339に保持されている上記基本命令EIの再実行のための戻り番地を格納する。
【0020】
そして、命令発行部72は切出部316から供給された上記一つの命令語に含まれる命令語区切りフィールド0,1に基づいて、各基本命令EIを認識し、該各基本命令EIをいずれか一つの命令実行部EU0,EU1へセレクタ355,356を介して選択的に発行する。従って、例えば命令語区切りフィールド0に続く基本命令EIは命令実行部EU0に発行され、命令語区切りフィールド1に続く基本命令EIは命令実行部EU1に発行される。なおここで、セレクタ355,356は制御部370により制御され、一命令語の実行が完了したときにセレクタ355,356を介して命令実行部EU0,EU1へ基本命令EIが供給される。
【0021】
また同様に、命令読出部46により上記基本命令語長1の一つの命令語がプロセッサ20の命令バッファ308に取り込まれた場合には、切出部316は供給された上記命令語に含まれる命令語区切りフィールド1に基づいて、命令語区切りフィールド1に続く基本命令EIを切出し、命令レジスタ347によりいずれか一つの命令実行部、例えば命令実行部EU0へ発行される。
【0022】
なお、上記命令語区切りフィールド0,1は一ビットで示されるが、命令語を区切る情報であればどのようなデータを命令語区切りフィールドに書込んでも良い。また、本実施例においては、同じ構成を有する命令実行部EU0,EU1が二つ備えられる場合を説明したが、三つ以上備えられたものも同様に考えられる。
【0023】
以上より、本実施例に係る並列処理プロセッサ20によれば、命令読出部46は命令区切りフィールド1に応じて命令語を一つずつ取り込むため、該命令語を可変長とすることができる。そして、一つの命令発行部72は取り込まれた命令語に含まれる基本命令EI毎に、複数の命令実行部EU0,EU1のうち該基本命令EIに対応するいずれか一つの命令実行部EU0,EU1へ基本命令EIを発行することから、命令語中に無操作命令nopを含ませる必要は生じず、基本命令EIを命令語により効率的に含ませることができる。そして、このような命令語に応じて基本命令EIを実行することにより、並列処理プロセッサの並列処理能力を向上させることができる。
(実施例2)
図6は、本実施例2に係る並列処理プロセッサ21の構成を示す図である。図6に示されるように、該並列処理プロセッサ21は図3に示された並列処理プロセッサ20と同様の構成を有するが、命令発行部73には供給された基本命令EIがいずれかの命令実行部EU0,EU1において実行されている基本命令EIに対し、データ依存関係や制御依存関係を有するものであるか否か、若しくは資源競合を生じさせるものであるか否かを判断する判断部103が含まれている点で相違するものである。
【0024】
ここで、判断部103は既に実行中の基本命令EI中に指定されているデスティネーション・レジスタ番号(書込みレジスタ番号)と、これから命令実行部EU0,EU1へ発行する基本命令EI中に指定されているソース・レジスタ番号(読み出しレジスタ番号)とを比較し、それらの番号が一致した場合にはデータ依存関係を有し、一致しない場合にはデータ依存関係を有さないものとして処理を進める。
【0025】
また、判断部103は既に実行中の基本命令EIが、分岐命令を含むか、あるいは0による除算等の処理の例外を発生させる可能性があると判断した場合には、制御依存関係を有し、そうでない場合には制御依存関係を有さないものとして処理を進める。
さらに、判断部103は各基本命令EIの内容から、既に実行中の基本命令EIが必要とする資源(例えば命令実行部EU0,EU1等)と、これから発行する基本命令EIが必要とする資源とを比較し、それらの資源が一致した場合には資源競合を生じさせ、一致しない場合には資源競合を生じさせるものとして処理を進める。
【0026】
以上のような判断により、命令発行部73は、これから発行しようとする基本命令EIが命令実行部EU0,EU1において実行中の基本命令EIに対してデータ依存関係を持たず、かつ制御依存関係を持たず、かつ資源競合も生じないものであると判断した場合には、上記実行が完了する前に該基本命令EIを対応する命令実行部EU0,EU1へ発行する。従って、この場合には命令発行部73による命令発行動作と、命令実行部EU0,EU1における命令実行動作とは時分割型並列処理となる。
【0027】
一方、これから発行しようとする基本命令EIが命令実行部EU0,EU1において実行中の基本命令EIに対してデータ依存関係や制御依存関係、あるいは資源競合を生じさせるものであると判断した場合には、上記実行の完了を待って該基本命令EIを対応する命令実行部EU0,EU1へ発行する。
なお、本実施例においては、同じ構成を有する命令実行部EU0,EU1が二つ備えられる場合を説明したが、三つ以上備えられたものも同様に考えられる。
【0028】
これより、本実施例に係る並列処理プロセッサ21によれば、上記実施例1に係る並列処理プロセッサ20と同様な効果を奏するとともに、さらに基本命令EIの並列処理を確実かつ効率的に遂行することができ、動作の信頼性を高めることができる。
[実施の形態2]
図7及び図12から図21に示されるように、本実施の形態2に係る並列処理プロセッサ22〜27は、それぞれ、メモリ12に接続された命令読出部48〜53と、命令読出部48〜53にそれぞれ接続された命令発行部74〜79と、命令発行部74〜79に接続される命令実行部LU0,IU0,IU1,FU0,FU1,BU0と、全ての命令実行部に接続されたレジスタ部99とを備えたものである。
【0029】
ここで、命令実行部LU0はロードストア命令実行部であり、ロード命令及びストア命令を実行する。なお、これらの実行が完了した時には命令実行部LU0は命令発行部74〜79へ通知する。また、命令実行部IU0,IU1は整数演算命令実行部であり、整数演算命令を実行する。なお、この実行が完了した時には命令実行部IU0,IU1は命令発行部74〜79へ通知する。
【0030】
また、命令実行部FU0,FU1は浮動小数点演算命令実行部であり、浮動小数点演算命令を実行する。なお、この実行が完了した時には命令実行部FU0,FU1は命令発行部74〜79へ通知する。また、命令実行部BU0は分岐命令実行部であり、分岐命令を実行する。なお、この実行が完了した時には命令実行部BU0は命令発行部74〜79へ通知する。
【0031】
以下において、本実施の形態2に係る並列処理プロセッサを、一命令語に含まれる最大基本命令語長が2の場合を例として説明する。なお、一命令語の最大基本命令語長が3以上の場合も同様に説明できる。
(実施例1)
図7は、本実施例1に係る並列処理プロセッサの構成を示す図である。図7に示されるように、この並列処理プロセッサ22は、命令読出部48に変換部115を備える。この変換部115は、以下に詳述するように、取り込んだ一命令語毎に、該命令語に含まれる基本命令を複数の命令実行部LU0,IU0,IU1,FU0,FU1,BU0の構成に応じて並び替えた上で命令発行部74に供給するものである。なお、変換部115においてこのような並び替えを行なうのは、命令発行部74における基本命令の発行を容易にするためである。
【0032】
ここで、上記の「基本命令の発行を容易にする」との意味を説明する。本発明に係る並列処理プロセッサは、その構成をプリント基板上あるいはLSI上に表現することになる。すなわち、二次元平面に各構成要素が配置され、その間が配線により接続される。この時、配線が交差しそうな状況が想定されるが、一般にプリント基板あるいはLSIは複数の配線層を持つので、その際は異なる配線層を使用して交差しそうな配線を迂回するように配線する。従って、論理的にはいかなる配置に対しても配線可能と考えられるが、回路の動作速度の観点からは上記迂回は配線の延長を意味するため、迂回が少ないほど動作速度を低下させる要因が少なくなる。このため、迂回が少なくて済むような配線が好ましいといえる。以上より、上記の「基本命令の発行を容易にする」とは、命令発行部74に供給された命令語に含まれる各基本命令を対応する命令実行部に発行するための配線を短縮し、動作速度を向上させるという意味である。
【0033】
図8は、図7に示された命令読出部48と命令発行部74の構成を示す図である。図8に示されるように、この命令読出部48と命令発行部74は、それぞれ図4に示された命令読出部46及び命令発行部72と同様な構成を有するが、命令読出部48は切出部317に接続された上記変換部115をさらに備える点で相違する。なおFPC301へは、分岐命令に対応する分岐先のアドレス等が命令実行部BU0から供給される。
【0034】
また、図8においては図を簡略化して見やすくするために、命令レジスタ348から二つの命令実行部LU0,IU0へ命令が発行される経路のみを記しているが、図7に示される他の命令実行部IU1,FU0,FU1,BU0への命令発行経路も同様に描くことができる。そしてこのことは、ANDゲート379へ供給される信号として二つの命令完了信号LUc,IUc0のみが示されている点についても同様である。
【0035】
以下に、本実施例に係る並列処理プロセッサ22の動作について説明する。まず、命令読出部48の切出部317は上記実施の形態1に係る並列処理プロセッサと同様に、命令語区切りフィールド1までの基本命令を一命令語として、該命令語を一つずつ取り込む。ここで、命令読出部48に供給される命令語の形式13が、図9に示される。図9に示されるように、この命令語は図5に示された命令語と同様に、基本命令の区切りを示す命令語区切りフィールド0あるいは1と、整数演算命令IIと、浮動小数点演算命令FIと、ロードストア命令LIと、分岐命令BIとからなる。
【0036】
また、命令発行部74の命令実行部LU0,IU0,IU1,FU0,FU1,BU0に対するインタフェース15は、図9に示されるように、基本命令の発行における有効ビットVと、整数演算命令を実行する上で必要な情報IIと、浮動小数点演算命令を実行する上で必要な情報FIと、ロードストア命令を実行する上で必要な情報LIと、分岐命令を実行する上で必要な情報BIとによって記述される。すなわちインタフェース15は、その左から順に、命令発行部74から命令実行部LU0へは有効ビットV及び情報LIを、命令実行部IU0,IU1へは有効ビットV及び情報IIを、命令実行部FU0,FU1へは有効ビットV及び情報FIを、命令実行部BU0へは有効ビットV及び情報BIをそれぞれ供給することを意味する。
【0037】
ここで、有効ビットVにおける0は基本命令を発行しないことを意味し、1は基本命令を発行することを意味する。そして、係る有効ビットVと情報II,FI,LI,BIとは対となり、それぞれ命令実行部に対応付けられる。
そして、図9に示されるように命令語の形式13は、命令読出部48に含まれる変換部115において、命令実行部LU0,IU0,IU1,FU0,FU1,BU0の構成に応じた命令語の形式17に並び替えられ、命令発行部74の命令レジスタ348に供給される。これより命令レジスタ348は、有効ビットVが1の基本命令を対応する命令実行部へ発行する。すなわち例えば、命令語の形式17の一番上に記された命令語が命令発行部74に供給されたとき、命令発行部74は有効ビットVが1の浮動小数点演算命令FIを命令実行部FU0へ発行し、分岐命令BIを命令実行部BU0へ発行する。
【0038】
この結果、命令実行部FU0は浮動小数点演算命令FIを実行し、命令実行部BU0は分岐命令BIを実行する。なおこの場合には、他の命令実行部LU0,IU0,IU1,FU1は、基本命令を何ら実行しないことになる。
図10は、図8に示された変換部115の構成を示す回路図である。図10に示されるように、変換部115は伝送線L1,L2と、BI検出器BD1,BD2と、FI検出器FD1,FD2と、II検出器ID1,ID2と、LI検出器LD1,LD2と、バッファ155〜158と、ANDゲート163〜166,185,186と、排他的ORゲート187〜190と、セレクタ209〜212と、ORゲート199〜202とを含む。
【0039】
ここで、伝送線L1は一命令語内に含まれる第一番目の基本命令を伝送し、伝送線L2は一命令語内に含まれる第二番目の基本命令を伝送する。また、BI検出器BD1は伝送線L1に接続され、BI検出器BD2は伝送線L2に接続される。そして、バッファ155はBI検出器BD1に接続され、ANDゲート163はBI検出器BD1,BD2に接続され、セレクタ209は伝送線L1,L2とバッファ155及びANDゲート163に接続される。また、ORゲート199はバッファ155及びANDゲート163に接続される。
【0040】
また、FI検出器FD1は伝送線L1に接続され、FI検出器FD2は伝送線L2に接続される。そして、バッファ156はFI検出器FD1に接続され、ANDゲート164はFI検出器FD1,FD2に接続され、排他的ORゲート187の二つの入力端はそれぞれバッファ156の入力ノードと出力ノードとに接続される。さらには、排他的ORゲート188の二つの入力端はそれぞれANDゲート164の出力ノードとFI検出器FD2に接続され、ANDゲート185は二つの排他的ORゲート187,188に接続される。また、セレクタ210は伝送線L1,L2とバッファ156及びANDゲート164に接続され、ORゲート200はバッファ156及びANDゲート164に接続される。
【0041】
また、II検出器ID1は伝送線L1に接続され、II検出器ID2は伝送線L2に接続される。そして、バッファ157はII検出器ID1に接続され、ANDゲート165はII検出器ID1,ID2に接続され、排他的ORゲート189の二つの入力端はそれぞれバッファ157の入力ノードと出力ノードとに接続される。さらには、排他的ORゲート190の二つの入力端はそれぞれANDゲート165の出力ノードとII検出器ID2に接続され、ANDゲート186は二つの排他的ORゲート189,190に接続される。また、セレクタ211は伝送線L1,L2とバッファ157及びANDゲート165に接続され、ORゲート201はバッファ157及びANDゲート165に接続される。
【0042】
また、LI検出器LD1は伝送線L1に接続され、LI検出器LD2は伝送線L2に接続される。そして、バッファ158はLI検出器LD1に接続され、ANDゲート166はLI検出器LD1,LD2に接続され、セレクタ212は伝送線L1,L2とバッファ158及びANDゲート166に接続される。また、ORゲート202はバッファ158及びANDゲート166に接続される。
【0043】
なお、二つのBI検出器BD1,BD2によりBI検出器ブロック147が形成され、二つのFI検出器FD1,FD2によりFI検出器ブロック149が形成される。また、二つのII検出器ID1,ID2によりII検出器ブロック151が形成され、二つのLI検出器LD1,LD2によりFI検出器ブロック153が形成される。
【0044】
以上のような構成を有する変換部115の動作を、図9に示された命令語の形式13の一番上に示された基本命令BI,FIからなる命令語が、変換部115へ供給された場合を例として以下に説明する。まず第一番目の基本命令BIが伝送線LIを伝送するため、BI検出器BD1は該基本命令BIを検出して論理レベルが1の検出信号をバッファ155へ供給する。なおこの時、ANDゲート163からは論理レベルが0の信号が出力される。これより、セレクタ209はバッファ155から供給された検出信号に応じて第一番目の基本命令BIを選択し該基本命令BIを命令実行部BU0で実行すべき命令として、命令発行部74へ出力する。一方、基本命令BIの出力と同時に、ORゲート199からはバッファ155から供給された検出信号に応じて論理レベルが1の有効ビットVが出力される。なお、上記第一番目の基本命令BIに対してFI検出器FD1とII検出器ID1及びLI検出器LD1からは共に論理レベルが0の非検出信号が出力されるため、セレクタ210,211,212は共に、伝送線L1を伝送する第一番目の基本命令を選択しない。
【0045】
次に、伝送線L2を上記命令語の第二番目の基本命令FIが伝送する。このとき、上記第一番目の基本命令BIの場合と同様にFI検出器FD2は該基本命令FIを検出して論理レベルが1の検出信号をANDゲート164へ供給する。このとき、ANDゲート164の出力は論理レベルが1の信号となる。そして、セレクタ209はANDゲート164から供給された該論理レベルが1の信号に応じて第二番目の基本命令FIを選択して該基本命令FIを命令実行部FU0で実行すべき命令として出力する。一方、基本命令FIの出力と同時に、ORゲート200からはANDゲート164から供給された検出信号に応じて論理レベルが1の有効ビットVが出力される。
【0046】
なお、上記第二番目の基本命令FIに対してBI検出器BD2,ID2,LD2からは論理レベルが0の非検出信号が出力されるため、セレクタ209,211,212は共に、伝送線L2を伝送する第二番目の基本命令を選択しない。また、命令実行部LU0,IU0,IU1,FU1で実行されるべき基本命令は上記第一番目と第二番目のいずれの基本命令においても検出されなかったため、それぞれORゲート202,201やANDゲート186,185からは有効ビットVとして論理レベルが0の信号が出力される。
【0047】
命令読出部48における変換部115の以上のような動作により、図9に示された命令語の形式13が命令語の形式17へ並び替えられる。
図11は、メモリ12から命令読出部48へ供給される命令語の最大基本命令語長が4の場合における変換部115の構成を示す回路図である。図11に示されるように、この場合の変換部115の構成は図10に示された最大命令語長が2の場合における変換部115の構成と同様であるが、最大基本命令語長が4であることに対応して4つの伝送線L1〜L4が備えられ、それぞれの伝送線L1〜L4に接続される4つのBI検出器BD1〜BD4、FI検出器FD1〜FD4、II検出器ID1〜ID4、そしてLI検出器LD1〜LD4が備えられる点で相違する。また、基本命令FIに対しては最大命令語長が4であることに応じて、二つのセレクタ214,215が備えられ、基本命令IIに対しても同様に二つのセレクタ216,217が備えられる点で相違する。
【0048】
さらにこの回路は、バッファ159〜162と、ANDゲート167〜184と、排他的ORゲート191〜198と、ORゲート203〜208と、セレクタ213,218とを備える。なお、四つのBI検出器BD1〜BD4によりBI検出器ブロック148が形成され、四つのFI検出器FD1〜FD4によりFI検出器ブロック150が形成される。また、四つのII検出器ID1〜ID4によりII検出器ブロック152が形成され、四つのLI検出器LD1〜FD4によりFI検出器ブロック154が形成される。
【0049】
以上のような構成を有する変換部115は、図10に示された変換部115と同様に動作するが、以下において同じ基本命令が含まれる命令語、例えば基本命令BI,FI,FI,IIから構成される命令語が変換部115に供給された場合の動作について説明する。まず第一番目の基本命令BIが伝送線LIを伝送するため、BI検出器BD1は該基本命令BIを検出して論理レベルが1の検出信号をバッファ159へ供給する。なおこの時、ANDゲート167〜169からは論理レベルが0の信号が出力される。これより、セレクタ213はバッファ159から供給された検出信号に応じて第一番目の基本命令BIを選択し該基本命令BIを命令実行部BU0で実行すべき命令として、命令発行部74へ出力する。一方、基本命令BIの出力と同時に、ORゲート203からはバッファ159から供給された検出信号に応じて論理レベルが1の有効ビットVが出力される。なお、上記第一番目の基本命令BIに対してFI検出器FD1とII検出器ID1及びLI検出器LD1からは共に論理レベルが0の非検出信号が出力されるため、セレクタ214,216,218は共に、伝送線L1を伝送する第一番目の基本命令を選択しない。
【0050】
次に、伝送線L2を上記命令語の第二番目の基本命令FIが伝送する。このとき、上記第一番目の基本命令BIの場合と同様にFI検出器FD2は該基本命令FIを検出して論理レベルが1の検出信号をANDゲート170へ供給する。このとき、ANDゲート170の出力は論理レベルが1の信号となる。そして、セレクタ214はANDゲート170から供給された該論理レベルが1の信号に応じて第二番目の基本命令FIを選択して該基本命令FIを命令実行部FU0で実行すべき命令として出力する。一方、基本命令FIの出力と同時に、ORゲート204からはANDゲート170から供給された検出信号に応じて論理レベルが1の有効ビットVが出力される。
【0051】
なお、上記第二番目の基本命令FIに対してBI検出器BD2,II検出器ID2,LI検出器LD2からは論理レベルが0の非検出信号が出力されるため、セレクタ213,216,218は共に、伝送線L2を伝送する第二番目の基本命令を選択しない。
次に、伝送線L3を上記命令語の第三番目の基本命令FIが伝送する。このとき、上記第一番目の基本命令BIの場合と同様にFI検出器FD3は該基本命令FIを検出して論理レベルが1の検出信号をANDゲート171へ供給する。このとき、ANDゲート171へはFI検出器FD2から論理レベルが1の検出信号が供給されているので、その出力は論理レベルが0の信号となる。このため、排他的ORゲート193からは論理レベルが1の信号が出力されANDゲート174からは論理レベルが1の信号が出力される。そして、セレクタ215はANDゲート174から供給された該論理レベルが1の信号に応じて第三番目の基本命令FIを選択して該基本命令FIを命令実行部FU1で実行すべき命令として出力する。一方、基本命令FIの出力と同時に、ORゲート205からはANDゲート174から供給された信号に応じて論理レベルが1の有効ビットVが出力される。
【0052】
なお、上記第三番目の基本命令FIに対してBI検出器BD3,II検出器ID3,LI検出器LD3からは論理レベルが0の非検出信号が出力されるため、セレクタ213,216,218は共に、伝送線L3を伝送する第三番目の基本命令を選択しない。
そして、次に、伝送線L4を上記命令語の第四番目の基本命令IIが伝送する。このとき、上記第一番目の基本命令BIの場合と同様にII検出器ID4は該基本命令IIを検出して論理レベルが1の検出信号をANDゲート178へ供給する。このとき、ANDゲート178の出力は論理レベルが1の信号となる。そして、セレクタ216はANDゲート178から供給された該論理レベルが1の信号に応じて第四番目の基本命令IIを選択して該基本命令IIを命令実行部IU0で実行すべき命令として出力する。一方、基本命令IIの出力と同時に、ORゲート206からはANDゲート178から供給された信号に応じて論理レベルが1の有効ビットVが出力される。
【0053】
以上より、本実施例に係る並列処理プロセッサによれば、命令読出部48は供給された命令語に含まれる基本命令を命令実行部の配置に応じて並び替えた上で、該命令語を命令発行部74に供給するため、命令実行部への命令発行部74による基本命令の発行を容易にし、動作速度を向上させることができる。
なお上記実施例においては、命令読出部48は、予め複数の命令実行部の構成に応じた順序に並べられた基本命令が含まれる命令語を、メモリ12から取り込むこととすることも有用である。すなわち、上記の命令読出部48における並び替えを実現する上で要する回路規模が小さくなるように予め基本命令の並びを制約する。
【0054】
具体的には、同等の機能を果たす命令語は一方のみを採用する。例えば、図9における命令語の形式13の一番上及び上から四番目に示された命令語については、並び替えられた命令語の形式17が同一となる。従って、このような場合には一方のみを採用し、他方を予め禁止とする。また、命令読出部22の配線の迂回が多くなるような命令語を禁止することが考えられる。例えば、上記の二つの命令語に着目すると、基本命令BI,FIの並んでいる順序が逆の関係にある。ここで、回路の構成要素は二次元平面に配置されるので、いずれか一方の命令語の並べ替えにおいては他方より配線の迂回を多く必要とする。従って、このような配線の迂回をより多く必要とする命令語の並びを予め禁止する。
【0055】
以上のように、命令読出部48に供給する命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ22の回路規模を小さくすることができる。
(実施例2)
図12は、本実施の形態2の実施例2に係る並列処理プロセッサの構成を示す図である。図12に示されるように、この並列処理プロセッサ23は図7に示された上記実施例1に係る並列処理プロセッサ22と同様な構成を有するが、変換部116が命令発行部75に内蔵される点で相違するものである。ここで変換部116の構成及び動作は、図10及び図11に示された変換部115の構成及び動作と同様なものである。
【0056】
また図13は、図12に示された命令読出部49と命令発行部75の構成を示す図である。図13に示されるように、この命令読出部49と命令発行部75は、それぞれ図4に示された命令読出部46及び命令発行部72と同様な構成を有するが、命令発行部75は命令レジスタ349に接続された上記変換部116をさらに備える点で相違する。なお、図13においても図を簡略化して見やすくするために、変換部116から二つの命令実行部LU0,IU0へ命令が発行される経路のみを記しているが、図12に示される他の命令実行部IU1,FU0,FU1,BU0への命令発行経路も同様に描くことができる。またこのことは、ANDゲート380へ供給される信号として二つの命令完了信号LUc,IUc0のみが示されている点についても同様である。
【0057】
このような本実施例に係る並列処理プロセッサによれば、命令発行部75の変換部116は命令レジスタ349から供給された命令語に含まれる基本命令を、複数の命令実行部の構成に応じて並び替えた後に該命令実行部へ各基本命令を発行するため、全体としての配線長を短くして動作速度を向上させることができる。
【0058】
なお、命令読出部49に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ23の回路規模を小さくすることができることも、上記実施例1に係る並列処理プロセッサ22と同様である。
(実施例3)
図14は、本実施の形態2の実施例3に係る並列処理プロセッサの構成を示す図である。図14に示されるように、この並列処理プロセッサ24は図7に示された上記実施例1に係る並列処理プロセッサ22と同様な構成を有するが、命令読出部50は取り込んだ命令語毎に、該命令語に含まれる基本命令を複数の命令実行部の構成に応じて並び替える第一変換部117を含み、命令発行部76は命令読出部50から供給された命令語に含まれる基本命令を該複数の命令実行部の構成に応じてさらに並び替える第二変換部118を含む点で相違するものである。
【0059】
また図15は、図14に示された命令読出部50と命令発行部76の構成を示す図である。図15に示されるように、この命令読出部50と命令発行部76は、それぞれ図4に示された命令読出部46及び命令発行部72と同様な構成を有するが、命令読出部50は切出部319に接続された上記第一変換部117をさらに備え、命令発行部76は命令レジスタ350に接続された上記第二変換部118をさらに備える点で相違する。なお、図15においても図を簡略化して見やすくするために、第二変換部118から二つの命令実行部LU0,IU0へ命令が発行される経路のみを記しているが、図14に示される他の命令実行部IU1,FU0,FU1,BU0への命令発行経路も同様に描くことができる。またこのことは、ANDゲート381へ供給される信号として二つの命令完了信号LUc,IUc0のみが示されている点についても同様である。
【0060】
ここで、上記第一変換部117においては基本命令の並び替えのいわゆる前処理が行われ、上記第二変換部118においては基本命令の並び替えにおけるいわゆる後処理が行われる。
なお、実際の回路では並列処理プロセッサの処理能力を向上させるために、命令読出部50と命令発行部76における処理がパイプライン化される。このため、命令読出部50における処理時間と命令発行部76における処理時間の差が少ないほど、パイプライン化した効果が期待できる。従って、命令読出部50における処理時間と命令発行部76における処理時間の差が少なくなるように、上記前処理と後処理を分割する。
【0061】
より具体的には、一例として、図10及び図11に示されたBI検出器ブロック147,148、FI検出器ブロック149,150、II検出器ブロック151,152、LI検出器ブロック153,154に相当する回路を第一変換部117に備えると共に、図10及び図11に示されたそれ以外の回路については第二変換部118に備えることができる。
【0062】
以上のような構成を有する本実施例に係る並列処理プロセッサによっても、全体として配線長を短くすることができ、動作速度を向上させることができる。
なお、命令読出部50に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ24の回路規模を小さくすることができることは、上記実施例1及び2に係る並列処理プロセッサと同様である。
(実施例4)
図16は、本実施の形態2の実施例4に係る並列処理プロセッサの構成を示す図である。図16に示されるように、この並列処理プロセッサ25は図7に示された上記実施例1に係る並列処理プロセッサ22と同様な構成を有するが、変換部119が命令読出部51に内蔵されると共に、判断部104が命令発行部77に内蔵される点で相違するものである。
【0063】
また図17は、図16に示された命令読出部51と命令発行部77の構成を示す図である。図17に示されるように、この命令読出部51と命令発行部77は、それぞれ図8に示された命令読出部48及び命令発行部74と同様な構成を有するが、命令発行部77が命令レジスタ351と制御部374との間に接続された判断部104をさらに備える点で相違する。ここで、判断部104は供給された基本命令に基いて、発行対象とされる基本命令が上記データ依存性や制御依存性を有するものであるか否か、または資源競合を生じさせるものであるか否かを判断し、その結果を制御部374へ通知する。ここで、発行対象とされる基本命令が上記データ依存性あるいは制御依存性を有し、または資源競合を生じさせるものであると判断される場合には、命令の実行完了を示す命令完了信号LUc,IUc0が供給されるのを待って命令発行部77から基本命令が発行される。
【0064】
なお、図17においても図を簡略化して見やすくするために、命令レジスタ351から二つの命令実行部LU0,IU0へ命令が発行される経路のみを記しているが、図16に示される他の命令実行部IU1,FU0,FU1,BU0への命令発行経路も同様に描くことができる。またこのことは、判断部104へ供給される信号として二つの命令完了信号LUc,IUc0のみが示されている点についても同様である。
【0065】
ここで変換部119の構成及び動作は、図10及び図11に示された変換部115の構成及び動作と同様なものであり、判断部104の構成および動作は図6に示された判断部103の構成及び動作と同様なものである。
以上のような構成を有する本実施例に係る並列処理プロセッサによれば、上記実施の形態1の実施例2に係る並列処理プロセッサと、上記実施の形態2の実施例1に係る並列処理プロセッサの両者における効果を得ることができる。すなわち、命令発行部77に判断部104を内蔵することにより基本命令の並列処理を確実かつ効率的に遂行することができ、動作の信頼性を高めることができるとともに、命令読出部51に変換部119を内蔵することにより、命令実行部への命令発行部77による基本命令の発行を容易にし、動作速度を向上させることができる。
【0066】
なお、命令読出部51に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ25の回路規模を小さくすることができることは、上記実施例に係る並列処理プロセッサと同様である。
(実施例5)
図18は、本実施の形態2の実施例5に係る並列処理プロセッサの構成を示す図である。図18に示されるように、この並列処理プロセッサ26は図16に示された上記実施例4に係る並列処理プロセッサ25と同様な構成を有するが、変換部120が命令発行部78に内蔵される点で相違するものである。
【0067】
また図19は、図18に示された命令読出部52と命令発行部78の構成を示す図である。図19に示されるように、この命令読出部52と命令発行部78は、それぞれ図13に示された命令読出部49及び命令発行部75と同様な構成を有するが、命令発行部78が命令レジスタ352と制御部375との間に接続された判断部105をさらに備える点で相違する。ここで、判断部105は供給された基本命令に基いて、発行対象とされる基本命令が上記データ依存性や制御依存性を有するものであるか否か、または資源競合を生じさせるものであるか否かを判断し、その結果を制御部375へ通知する。ここで、発行対象とされる基本命令が上記データ依存性あるいは制御依存性を有し、または資源競合を生じさせるものであると判断される場合には、命令の実行完了を示す命令完了信号LUc,IUc0が供給されるのを待って命令発行部78から基本命令が発行される。
【0068】
なお、図19においても図を簡略化して見やすくするために、命令レジスタ352から二つの命令実行部LU0,IU0へ命令が発行される経路のみを記しているが、図18に示される他の命令実行部IU1,FU0,FU1,BU0への命令発行経路も同様に描くことができる。またこのことは、判断部105へ供給される信号として二つの命令完了信号LUc,IUc0のみが示されている点についても同様である。
【0069】
ここで変換部120の構成及び動作は、図10及び図11に示された変換部115の構成及び動作と同様なものであり、判断部105の構成および動作は図16に示された判断部104の構成及び動作と同様なものである。
以上のような構成を有する本実施例に係る並列処理プロセッサによれば、上記実施例4に係る並列処理プロセッサと同様な効果を得ることができる。すなわち、命令発行部78に判断部105を内蔵することにより基本命令の並列処理を確実かつ効率的に遂行することができ、動作の信頼性を高めることができるとともに、命令発行部78にさらに変換部120を内蔵することにより、命令実行部への基本命令の発行を容易にし、動作速度を向上させることができる。
【0070】
なお、命令読出部52に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ26の回路規模を小さくすることができることは、上記実施例に係る並列処理プロセッサと同様である。
(実施例6)
図20は、本実施の形態2の実施例6に係る並列処理プロセッサの構成を示す図である。図20に示されるように、この並列処理プロセッサ27は図14に示された上記実施例3に係る並列処理プロセッサ24と同様な構成を有するが、判断部106がさらに命令発行部79に内蔵される点で相違するものである。
【0071】
また図21は、図20に示された命令読出部53と命令発行部79の構成を示す図である。図21に示されるように、この命令読出部53と命令発行部79は、それぞれ図15に示された命令読出部50及び命令発行部76と同様な構成を有するが、命令発行部79が命令レジスタ353と制御部376との間に接続された判断部106をさらに備える点で相違する。ここで、判断部106は供給された基本命令に基いて、発行対象とされる基本命令が上記データ依存性や制御依存性を有するものであるか否か、または資源競合を生じさせるものであるか否かを判断し、その結果を制御部376へ通知する。ここで、発行対象とされる基本命令が上記データ依存性あるいは制御依存性を有し、または資源競合を生じさせるものであると判断される場合には、命令の実行完了を示す命令完了信号LUc,IUc0が供給されるのを待って命令発行部79から基本命令が発行される。
【0072】
なお、図21においても図を簡略化して見やすくするために、命令レジスタ353から二つの命令実行部LU0,IU0へ命令が発行される経路のみを記しているが、図20に示される他の命令実行部IU1,FU0,FU1,BU0への命令発行経路も同様に描くことができる。またこのことは、判断部106へ供給される信号として二つの命令完了信号LUc,IUc0のみが示されている点についても同様である。
【0073】
ここで、第一変換部121と第二変換部122の構成及び動作は、図14に示された第一変換部117と第二変換部118の構成及び動作と同様なものであり、判断部106の構成および動作は図6に示された判断部103の構成及び動作と同様なものである。
以上のような構成を有する本実施例に係る並列処理プロセッサによれば、上記実施の形態1の実施例2に係る並列処理プロセッサと、上記実施の形態2の実施例3に係る並列処理プロセッサの両者における効果を得ることができる。すなわち、命令発行部79に判断部106を内蔵することにより基本命令の並列処理を確実かつ効率的に遂行することができ、動作の信頼性を高めることができるとともに、命令読出部53に第一変換部121を含むと共に命令発行部77に第二変換部122を含むことにより、命令実行部への命令発行部79による基本命令の発行を容易にし、動作速度を向上させることができる。
【0074】
なお、命令読出部53に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ27の回路規模を小さくすることができることは、上記実施例に係る並列処理プロセッサと同様である。
[実施の形態3]
図22から図27に示されるように、本実施の形態3に係る並列処理プロセッサ28〜33は、メモリ12に接続された命令読出部54〜59と、命令読出部にそれぞれ接続された命令発行部80〜85と、命令発行部に接続される命令実行部LU0,IU0,IU1,FU0,FU1,MU0,MU1,BU0と、全ての命令実行部に接続されたレジスタ部100とを備えたものである。ここで、命令実行部MU0,MU1は特定用途向け専用演算命令実行部であり、特定用途向け専用演算命令を実行する。なお、これらの実行が完了した時には命令実行部MU0,MU1は命令発行部80〜85へ通知する。
【0075】
以下において、本実施の形態3に係る並列処理プロセッサを、一命令語に含まれる最大基本命令語長が2の場合を例として説明する。なお、一命令語の最大基本命令語長が3以上の場合も同様に説明できる。
(実施例1)
図22は、本実施の形態3の実施例1に係る並列処理プロセッサの構成を示す図である。図22に示されるように、この並列処理プロセッサ28は、命令読出部54に変換部123を備える。そしてこの変換部123の構成及び動作は、上記実施の形態2の実施例1で詳述した変換部115の構成及び動作と同じものである。すなわち変換部123は、取り込んだ一命令語毎に、該命令語に含まれる基本命令を複数の命令実行部の構成に応じて並び替えた上で命令発行部80に供給する。
【0076】
以上のような構成を有する並列処理プロセッサ28においても、上記実施の形態2の実施例1に係る並列処理プロセッサ22と同様な効果を得ることができる。
すなわち、命令実行部への命令発行部80による基本命令の発行を容易にし、動作速度を向上させることができる。
【0077】
なお、命令読出部54に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ28の回路規模を小さくすることができることは、上記実施の形態に係る並列処理プロセッサと同様である。
(実施例2)
図23は、本実施の形態3の実施例2に係る並列処理プロセッサの構成を示す図である。図23に示されるように、この並列処理プロセッサ29は図12に示された並列処理プロセッサ23と同様な構成を有し、変換部124が命令発行部81に含まれる。ここで変換部124の構成及び動作は、図10及び図11に示された変換部115の構成及び動作と同様なものである。
【0078】
このような本実施例に係る並列処理プロセッサによれば、命令発行部81は命令読出部55から供給された命令語に含まれる基本命令を、複数の命令実行部の構成に応じて並び替えた後に該命令実行部へ各基本命令を発行するため、全体としての配線長を短くして動作速度を向上させることができる。
なお、命令読出部55に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ29の回路規模を小さくすることができることも、上記の並列処理プロセッサと同様である。
(実施例3)
図24は、本実施の形態3の実施例3に係る並列処理プロセッサの構成を示す図である。図24に示されるように、この並列処理プロセッサ30は図14に示された上記の並列処理プロセッサ24と同様な構成を有し、命令読出部56は取り込んだ命令語毎に該命令語に含まれる基本命令を複数の命令実行部の構成に応じて並び替える第一変換部125を含む。そして、命令発行部82は命令読出部56から供給された命令語に含まれる基本命令を該複数の命令実行部の構成に応じてさらに並び替える第二変換部126を含む。
【0079】
ここで、上記第一変換部125においては基本命令の並び替えのいわゆる前処理が行われ、上記第二変換部126においては基本命令の並び替えにおけるいわゆる後処理が行われる。
なお、実際の回路では並列処理プロセッサの処理能力を向上させるために、命令読出部56と命令発行部82における処理がパイプライン化される。このため、命令読出部56における処理時間と命令発行部82における処理時間の差が少ないほど、パイプライン化した効果が期待できる。従って、命令読出部56における処理時間と命令発行部82における処理時間の差が少なくなるように、上記前処理と後処理を分割する。
【0080】
以上のような構成を有する本実施例に係る並列処理プロセッサにより、全体として配線長を短くすることができ、動作速度を向上させることができる。
なお、命令読出部56に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ30の回路規模を小さくすることができることは、上記実施例1及び2に係る並列処理プロセッサと同様である。
(実施例4)
図25は、本実施の形態3の実施例4に係る並列処理プロセッサの構成を示す図である。図25に示されるように、この並列処理プロセッサ31は図16に示された上記の並列処理プロセッサ25と同様な構成を有し、変換部127が命令読出部57に内蔵されると共に、判断部107が命令発行部83に内蔵される。
【0081】
ここで変換部127の構成及び動作は、図10及び図11に示された変換部115の構成及び動作と同様なものであり、判断部107の構成および動作は図6に示された判断部103の構成及び動作と同様なものである。
以上のような構成を有する本実施例に係る並列処理プロセッサによれば、上記実施の形態2の実施例4に係る並列処理プロセッサと同様の効果を得ることができる。すなわち、命令発行部83に判断部107を内蔵することにより基本命令の並列処理を確実かつ効率的に遂行することができ、動作の信頼性を高めることができるとともに、命令読出部57に変換部127を内蔵することにより、命令実行部への命令発行部83による基本命令の発行を容易にし、動作速度を向上させることができる。
【0082】
なお、命令読出部57に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ31の回路規模を小さくすることができることは、上記実施例に係る並列処理プロセッサと同様である。
(実施例5)
図26は、本実施の形態3の実施例5に係る並列処理プロセッサの構成を示す図である。図26に示されるように、この並列処理プロセッサ32は図18に示された上記実施の形態2の実施例5に係る並列処理プロセッサ26と同様な構成を有し、変換部128及び判断部108が命令発行部84に内蔵される。
【0083】
ここで変換部128の構成及び動作は、図10及び図11に示された変換部115の構成及び動作と同様なものであり、判断部108の構成および動作は図6に示された判断部103の構成及び動作と同様なものである。
以上のような構成を有する本実施例に係る並列処理プロセッサによれば、上記実施の形態2の実施例5に係る並列処理プロセッサと同様な効果を得ることができる。すなわち、命令発行部84に判断部108を内蔵することにより基本命令の並列処理を確実かつ効率的に遂行することができ、動作の信頼性を高めることができるとともに、命令発行部84にさらに変換部128を内蔵することにより、命令実行部への基本命令の発行を容易にし、動作速度を向上させることができる。
【0084】
なお、命令読出部58に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ32の回路規模を小さくすることができることは、上記実施例に係る並列処理プロセッサと同様である。
(実施例6)
図27は、本実施の形態3の実施例6に係る並列処理プロセッサの構成を示す図である。図27に示されるように、この並列処理プロセッサ33は図20に示された上記の並列処理プロセッサ27と同様な構成を有するものである。
【0085】
ここで、第一変換部129と第二変換部130の構成及び動作は、図14に示された第一変換部117と第二変換部118の構成及び動作と同様なものであり、判断部109の構成および動作は図6に示された判断部103の構成及び動作と同様なものである。
以上のような構成を有する本実施例に係る並列処理プロセッサによれば、上記実施の形態2の実施例6に係る並列処理プロセッサと同様の効果を得ることができる。すなわち、命令発行部85に判断部109を内蔵することにより基本命令の並列処理を確実かつ効率的に遂行することができ、動作の信頼性を高めることができるとともに、命令読出部59に第一変換部129を含むと共に命令発行部85に第二変換部130を含むことにより、命令実行部への命令発行部85による基本命令の発行を容易にし、動作速度を向上させることができる。
【0086】
なお、命令読出部59に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ33の回路規模を小さくすることができることは、上記実施例に係る並列処理プロセッサと同様である。
[実施の形態4]
図28から図33に示されるように、本実施の形態4に係る並列処理プロセッサ34〜39は、メモリ12に接続された命令読出部60〜65と、命令読出部にそれぞれ接続された命令発行部86〜91と、命令発行部に接続される命令実行部LU0,LU1,IU0,IU1,FU0,FU1,BU0,BU1と、全ての命令実行部に接続されたレジスタ部101とを備えたものである。ここで、命令実行部LU1はロードストア命令実行部であり、ロード命令及びストア命令を実行する。なお、これらの実行が完了した時には命令実行部LU1は命令発行部86〜91へ通知する。また、命令実行部BU1は分岐命令実行部であり、分岐命令を実行する。なお、この実行が完了した時には命令実行部BU1は命令発行部86〜91へ通知する。
【0087】
以下において、本実施の形態4に係る並列処理プロセッサを、一命令語に含まれる最大基本命令語長が4の場合を示した図を用いて説明する。なお、図28から図33においては、一命令語の最大基本命令語長が4であることが命令読出部60〜65から命令発行部86〜91への四本の矢印で示されている。
また、本実施の形態4は、一命令語の最大基本命令語長が4の場合に限られるものでないことはいうまでもない。
(実施例1)
図28は、本実施の形態4の実施例1に係る並列処理プロセッサの構成を示す図である。図28に示されるように、この並列処理プロセッサ34は、命令読出部60に変換部131を備える。そしてこの変換部131の構成及び動作は、上記実施の形態2の実施例1で詳述した変換部115の構成及び動作と同じものである。すなわち変換部131は、取り込んだ一命令語毎に、該命令語に含まれる基本命令を複数の命令実行部の構成に応じて並び替えた上で命令発行部86に供給する。
【0088】
以上のような構成を有する並列処理プロセッサ34においても、上記実施の形態2の実施例1に係る並列処理プロセッサ22と同様な効果を得ることができる。
すなわち、命令実行部への命令発行部86による基本命令の発行を容易にし、動作速度を向上させることができる。
【0089】
なお、命令読出部60に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ34の回路規模を小さくすることができることは、上記実施の形態に係る並列処理プロセッサと同様である。
(実施例2)
図29は、本実施の形態4の実施例2に係る並列処理プロセッサの構成を示す図である。図29に示されるように、この並列処理プロセッサ35は図12に示された並列処理プロセッサ23と同様な構成を有し、変換部132が命令発行部87に含まれる。ここで変換部132の構成及び動作は、図10及び図11に示された変換部115の構成及び動作と同様なものである。
【0090】
このような本実施例に係る並列処理プロセッサによれば、命令発行部87は命令読出部61から供給された命令語に含まれる基本命令を、複数の命令実行部の構成に応じて並び替えた後に該命令実行部へ各基本命令を発行するため、全体としての配線長を短くして動作速度を向上させることができる。
なお、命令読出部61に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ35の回路規模を小さくすることができることも、上記の並列処理プロセッサと同様である。
(実施例3)
図30は、本実施の形態4の実施例3に係る並列処理プロセッサの構成を示す図である。図30に示されるように、この並列処理プロセッサ36は図14に示された上記の並列処理プロセッサ24と同様な構成を有し、命令読出部62は取り込んだ命令語毎に該命令語に含まれる基本命令を複数の命令実行部の構成に応じて並び替える第一変換部133を含む。そして、命令発行部88は命令読出部62から供給された命令語に含まれる基本命令を該複数の命令実行部の構成に応じてさらに並び替える第二変換部134を含む。
【0091】
ここで、上記第一変換部133においては基本命令の並び替えのいわゆる前処理が行われ、上記第二変換部134においては基本命令の並び替えにおけるいわゆる後処理が行われる。
なお、実際の回路では並列処理プロセッサの処理能力を向上させるために、命令読出部62と命令発行部88における処理がパイプライン化される。このため、命令読出部62における処理時間と命令発行部88における処理時間の差が少ないほど、パイプライン化した効果が期待できる。従って、命令読出部62における処理時間と命令発行部88における処理時間の差が少なくなるように、上記前処理と後処理を分割する。
【0092】
以上のような構成を有する本実施例に係る並列処理プロセッサにより、全体として配線長を短くすることができ、動作速度を向上させることができる。
なお、命令読出部62に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ36の回路規模を小さくすることができることは、上記実施例1及び2に係る並列処理プロセッサと同様である。
(実施例4)
図31は、本実施の形態4の実施例4に係る並列処理プロセッサの構成を示す図である。図31に示されるように、この並列処理プロセッサ37は図16に示された上記の並列処理プロセッサ25と同様な構成を有し、変換部135が命令読出部63に内蔵されると共に、判断部110が命令発行部89に内蔵される。
【0093】
ここで変換部135の構成及び動作は、図10及び図11に示された変換部115の構成及び動作と同様なものであり、判断部110の構成および動作は図6に示された判断部103の構成及び動作と同様なものである。
以上のような構成を有する本実施例に係る並列処理プロセッサによれば、上記実施の形態2の実施例4に係る並列処理プロセッサと同様の効果を得ることができる。すなわち、命令発行部89に判断部110を内蔵することにより基本命令の並列処理を確実かつ効率的に遂行することができ、動作の信頼性を高めることができるとともに、命令読出部63に変換部135を内蔵することにより、命令実行部への命令発行部89による基本命令の発行を容易にし、動作速度を向上させることができる。
【0094】
なお、命令読出部63に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ37の回路規模を小さくすることができることは、上記実施例に係る並列処理プロセッサと同様である。
(実施例5)
図32は、本実施の形態4の実施例5に係る並列処理プロセッサの構成を示す図である。図32に示されるように、この並列処理プロセッサ38は図18に示された上記実施の形態2の実施例5に係る並列処理プロセッサ26と同様な構成を有し、変換部136及び判断部111が命令発行部90に内蔵される。
【0095】
ここで変換部136の構成及び動作は、図10及び図11に示された変換部115の構成及び動作と同様なものであり、判断部111の構成および動作は図6に示された判断部103の構成及び動作と同様なものである。
以上のような構成を有する本実施例に係る並列処理プロセッサによれば、上記実施の形態2の実施例5に係る並列処理プロセッサと同様な効果を得ることができる。すなわち、命令発行部90に判断部111を内蔵することにより基本命令の並列処理を確実かつ効率的に遂行することができ、動作の信頼性を高めることができるとともに、命令発行部90にさらに変換部136を内蔵することにより、命令実行部への基本命令の発行を容易にし、動作速度を向上させることができる。
【0096】
なお、命令読出部64に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ38の回路規模を小さくすることができることは、上記実施例に係る並列処理プロセッサと同様である。
(実施例6)
図33は、本実施の形態4の実施例6に係る並列処理プロセッサの構成を示す図である。図33に示されるように、この並列処理プロセッサ39は図20に示された上記の並列処理プロセッサ27と同様な構成を有するものである。
【0097】
ここで、第一変換部137と第二変換部138の構成及び動作は、図14に示された第一変換部117と第二変換部118の構成及び動作と同様なものであり、判断部112の構成および動作は図6に示された判断部103の構成及び動作と同様なものである。
以上のような構成を有する本実施例に係る並列処理プロセッサによれば、上記実施の形態2の実施例6に係る並列処理プロセッサと同様の効果を得ることができる。すなわち、命令発行部91に判断部112を内蔵することにより基本命令の並列処理を確実かつ効率的に遂行することができ、動作の信頼性を高めることができるとともに、命令読出部65に第一変換部137を含むと共に命令発行部91に第二変換部138を含むことにより、命令実行部への命令発行部91による基本命令の発行を容易にし、動作速度を向上させることができる。
【0098】
なお、命令読出部65に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ39の回路規模を小さくすることができることは、上記実施例に係る並列処理プロセッサと同様である。
[実施の形態5]
図34から図39に示されるように、本実施の形態5に係る並列処理プロセッサ40〜45は、メモリ12に接続された命令読出部66〜71と、命令読出部にそれぞれ接続された命令発行部92〜97と、命令発行部に接続される命令実行部LU0,LU1,IU0,IU1,FU0,FU1,MU0,MU1,BU0,BU1と、全ての命令実行部に接続されたレジスタ部102とを備えたものである。
【0099】
以下において、本実施の形態5に係る並列処理プロセッサを、一命令語に含まれる最大基本命令語長が4の場合を示した図を用いて説明する。なお、図34から図39においては、一命令語の最大基本命令語長が4であることが命令読出部66〜71から命令発行部92〜97への四本の矢印で示されている。
また、本実施の形態5は、一命令語の最大基本命令語長が4の場合に限られるものでないことはいうまでもない。
(実施例1)
図34は、本実施の形態5の実施例1に係る並列処理プロセッサの構成を示す図である。図34に示されるように、この並列処理プロセッサ40は、命令読出部66に変換部139を備える。そしてこの変換部139の構成及び動作は、上記実施の形態2の実施例1で詳述した変換部115の構成及び動作と同じものである。すなわち変換部139は、取り込んだ一命令語毎に、該命令語に含まれる基本命令を複数の命令実行部の構成に応じて並び替えた上で命令発行部92に供給する。
【0100】
以上のような構成を有する並列処理プロセッサ40においても、上記実施の形態2の実施例1に係る並列処理プロセッサ22と同様な効果を得ることができる。
すなわち、命令発行部92による命令実行部への基本命令の発行を容易にし、動作速度を向上させることができる。
【0101】
なお、命令読出部66に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ40の回路規模を小さくすることができることは、上記実施の形態に係る並列処理プロセッサと同様である。
(実施例2)
図35は、本実施の形態5の実施例2に係る並列処理プロセッサの構成を示す図である。図35に示されるように、この並列処理プロセッサ41は図12に示された並列処理プロセッサ23と同様な構成を有し、変換部140が命令発行部93に含まれる。ここで変換部140の構成及び動作は、図10及び図11に示された変換部115の構成及び動作と同様なものである。
【0102】
このような本実施例に係る並列処理プロセッサによれば、命令発行部93は命令読出部67から供給された命令語に含まれる基本命令を、複数の命令実行部の構成に応じて並び替えた後に該命令実行部へ各基本命令を発行するため、全体としての配線長を短くして動作速度を向上させることができる。
なお、命令読出部67に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ41の回路規模を小さくすることができることは、上記の並列処理プロセッサと同様である。
(実施例3)
図36は、本実施の形態5の実施例3に係る並列処理プロセッサの構成を示す図である。図36に示されるように、この並列処理プロセッサ42は図14に示された上記の並列処理プロセッサ24と同様な構成を有し、命令読出部68は取り込んだ命令語毎に該命令語に含まれる基本命令を複数の命令実行部の構成に応じて並び替える第一変換部141を含む。そして、命令発行部94は命令読出部68から供給された命令語に含まれる基本命令を該複数の命令実行部の構成に応じてさらに並び替える第二変換部142を含む。
【0103】
ここで、上記第一変換部141においては基本命令の並び替えのいわゆる前処理が行われ、上記第二変換部142においては基本命令の並び替えにおけるいわゆる後処理が行われる。
なお、実際の回路では並列処理プロセッサの処理能力を向上させるために、命令読出部68と命令発行部94における処理がパイプライン化される。このため、命令読出部68における処理時間と命令発行部94における処理時間の差が少ないほど、パイプライン化した効果が期待できる。従って、命令読出部68における処理時間と命令発行部94における処理時間の差が少なくなるように、上記前処理と後処理を分割する。
【0104】
以上のような構成を有する本実施例に係る並列処理プロセッサにより、全体として配線長を短くすることができ、動作速度を向上させることができる。
なお、命令読出部68に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ42の回路規模を小さくすることができることは、上記実施例1及び2に係る並列処理プロセッサと同様である。
(実施例4)
図37は、本実施の形態5の実施例4に係る並列処理プロセッサの構成を示す図である。図37に示されるように、この並列処理プロセッサ43は図16に示された上記の並列処理プロセッサ25と同様な構成を有し、変換部143が命令読出部69に内蔵されると共に、判断部113が命令発行部95に内蔵される。
【0105】
ここで変換部143の構成及び動作は、図10及び図11に示された変換部115の構成及び動作と同様なものであり、判断部113の構成および動作は図6に示された判断部103の構成及び動作と同様なものである。
以上のような構成を有する本実施例に係る並列処理プロセッサによれば、上記実施の形態2の実施例4に係る並列処理プロセッサと同様の効果を得ることができる。すなわち、命令発行部95に判断部113を内蔵することにより基本命令の並列処理を確実かつ効率的に遂行することができ、動作の信頼性を高めることができるとともに、命令読出部69に変換部143を内蔵することにより、命令実行部への命令発行部95による基本命令の発行を容易にし、動作速度を向上させることができる。
【0106】
なお、命令読出部69に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ43の回路規模を小さくすることができることは、上記実施例に係る並列処理プロセッサと同様である。
(実施例5)
図38は、本実施の形態5の実施例5に係る並列処理プロセッサの構成を示す図である。図38に示されるように、この並列処理プロセッサ44は図18に示された上記実施の形態2の実施例5に係る並列処理プロセッサ26と同様な構成を有し、変換部144及び判断部114が命令発行部96に内蔵される。
【0107】
ここで変換部144の構成及び動作は、図10及び図11に示された変換部115の構成及び動作と同様なものであり、判断部114の構成および動作は図6に示された判断部103の構成及び動作と同様なものである。
以上のような構成を有する本実施例に係る並列処理プロセッサによれば、上記実施の形態2の実施例5に係る並列処理プロセッサと同様な効果を得ることができる。すなわち、命令発行部96に判断部114を内蔵することにより基本命令の並列処理を確実かつ効率的に遂行することができ、動作の信頼性を高めることができるとともに、命令発行部96にさらに変換部144を内蔵することにより、命令実行部への基本命令の発行を容易にし、動作速度を向上させることができる。
【0108】
なお、命令読出部70に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ44の回路規模を小さくすることができることは、上記実施例に係る並列処理プロセッサと同様である。
(実施例6)
図39は、本実施の形態5の実施例6に係る並列処理プロセッサの構成を示す図である。図39に示されるように、この並列処理プロセッサ45は図20に示された上記の並列処理プロセッサ27と同様な構成を有するものである。
【0109】
ここで、第一変換部145と第二変換部146の構成及び動作は、図14に示された第一変換部117と第二変換部118の構成及び動作と同様なものであり、判断部112の構成および動作は図6に示された判断部103の構成及び動作と同様なものである。
以上のような構成を有する本実施例に係る並列処理プロセッサによれば、上記実施の形態2の実施例6に係る並列処理プロセッサと同様の効果を得ることができる。すなわち、命令発行部97に判断部219を内蔵することにより基本命令の並列処理を確実かつ効率的に遂行することができ、動作の信頼性を高めることができるとともに、命令読出部71に第一変換部145を含むと共に命令発行部97に第二変換部146を含むことにより、命令実行部への命令発行部97による基本命令の発行を容易にし、動作速度を向上させることができる。
【0110】
なお、命令読出部71に供給される命令語に含まれた基本命令の並びを予め制約することにより、並列処理プロセッサ45の回路規模を小さくすることができることは、上記実施例に係る並列処理プロセッサと同様である。最後に、本発明に係る課題を解決するための手段について付記する。
(1)命令区切り情報によって区切られた命令語に含まれる一つあるいは複数の基本命令を並列的に実行する情報処理装置であって、供給される前記基本命令に応じた処理を並列的に実行する複数の命令実行部と、命令区切り情報に応じて前記命令語を一つずつ取り込む命令取り込み部と、命令取り込み部から供給された命令語に含まれる基本命令毎に、基本命令を実行すべきいずれか一つの命令実行部へ、選択的に前記基本命令を発行する命令発行部と、を有し、命令取り込み部は、取り込んだ命令語毎に、命令語に含まれる基本命令を、複数の命令実行部に対応づけた基本命令と基本命令の発行の有無を示す有効ビットの対の形式に並び替える、ことを特徴とする情報処理装置。
(2)複数の命令実行部の少なくとも二つは、同一の構成を有する(1)に記載の情報処理装置。
(3)命令取り込み部は、予め複数の命令実行部の構成に応じた順序に並べられた基本命令が含まれる命令語を取り込む(1)又は()に記載の情報処理装置。
(4)命令発行部は、所定の場合には、命令実行部における実行が完了する前に次の前記基本命令を発行する(1)ないし()いずれかに記載の情報処理装置。
)所定の場合とは、命令発行に供給された基本命令が命令実行部おいて実行中の基本命令に対してデータ依存関係を持たず、かつ、制御依存関係を持たず、かつ、資源競合も生じないものである場合あること、を特徴とする情報処理装置。
)命令区切り情報によって区切られた命令語に含まれる一つあるいは複数の基本命令を並列的に実行する情報処理装置であって、供給される前記基本命令に応じた処理を並列的に実行する複数の命令実行部と、命令区切り情報に応じて命令語を一つずつ取り込む命令取り込み部と、命令取り込み部から供給された命令語に含まれる基本命令毎に、基本命令を実行すべきいずれか一つの命令実行部へ、選択的に基本命令を発行する命令発行部と、を有し、命令発行部は、命令語に含まれる基本命令を、複数の命令実行部の構成に応じて、基本命令と前記基本命令の発行の有無を示す有効ビットの対の形式に並び替えた後に、命令実行部へ発行する、ことを特徴とする情報処理装置。
このような手段によれば、命令取り込み部は予め複数の命令実行部の構成に応じた順序に並べられた基本命令が含まれる命令語を取り込むため、並列処理プロセッサの回路規模を小さくすることができ、動作の高速化を図ることができる。
【0111】
上述の如く、本発明によれば、命令取り込み部は命令区切り情報に応じて命令語を一つずつ取り込むため該命令語を可変長とすることができ、命令発行部は取り込まれた命令語に含まれる基本命令毎に、命令語に含まれる基本命令を複数の命令実行部の構成に応じて並び替えた上で命令実行部に発行するものとすれば、並列処理プロセッサの回路規模を小さくすることができると共に、動作の高速化を図ることができる。
また、命令語中に基本命令をより効率的に含ませることができるので、並列処理プロセッサの並列処理能力を向上させることができる。
上記において複数の命令実行部のうち少なくとも二つが構成を異にするものとすれば、命令語の実行のため過剰な回路規模が必要とされず、並列処理プロセッサの小型化を実現することができる。
また、命令発行部が、命令実行部において実行中の基本命令の種類に応じて、該実行が完了する前に次の基本命令を発行することとすれば、さらなる並列処理の効率化を図ることができる。
【0112】
【発明の効果】
上述の如く、本発明によれば、効率良い情報処理を実現する情報処理装置及び情報処理方法を提供することができる。
【図面の簡単な説明】
【図1】従来の並列処理プロセッサの構成を示す図である。
【図2】4個の命令実行部を備えた図1に示される並列処理プロセッサに供給される命令語の形式を示す図である。
【図3】実施の形態1の実施例1に係る並列処理プロセッサの構成を示す図である。
【図4】図3に示された命令読出部と命令発行部の構成を示す図である。
【図5】実施の形態1に係る並列処理プロセッサに供給される命令語の形式を示すものである。
【図6】実施の形態1の実施例2に係る並列処理プロセッサの構成を示す図である。
【図7】実施の形態2の実施例1に係る並列処理プロセッサの構成を示す図である。
【図8】図7に示された命令読出部と命令発行部の構成を示す図である。
【図9】実施の形態2に係る並列処理プロセッサにおける基本命令の並び替えを説明するための図である。
【図10】図7に示された変換部の構成を示す回路図である。
【図11】最大基本命令語長が4の場合における変換部の構成を示す回路図である。
【図12】実施の形態2の実施例2に係る並列処理プロセッサの構成を示す図である。
【図13】図12に示された命令読出部と命令発行部の構成を示す図である。
【図14】実施の形態2の実施例3に係る並列処理プロセッサの構成を示す図である。
【図15】図14に示された命令読出部と命令発行部の構成を示す図である。
【図16】実施の形態2の実施例4に係る並列処理プロセッサの構成を示す図である。
【図17】図16に示された命令読出部と命令発行部の構成を示す図である。
【図18】実施の形態2の実施例5に係る並列処理プロセッサの構成を示す図である。
【図19】図18に示された命令読出部と命令発行部の構成を示す図である。
【図20】実施の形態2の実施例6に係る並列処理プロセッサの構成を示す図である。
【図21】図20に示された命令読出部と命令発行部の構成を示す図である。
【図22】実施の形態3の実施例1に係る並列処理プロセッサの構成を示す図である。
【図23】実施の形態3の実施例2に係る並列処理プロセッサの構成を示す図である。
【図24】実施の形態3の実施例3に係る並列処理プロセッサの構成を示す図である。
【図25】実施の形態3の実施例4に係る並列処理プロセッサの構成を示す図である。
【図26】実施の形態3の実施例5に係る並列処理プロセッサの構成を示す図である。
【図27】実施の形態3の実施例6に係る並列処理プロセッサの構成を示す図である。
【図28】実施の形態4の実施例1に係る並列処理プロセッサの構成を示す図である。
【図29】実施の形態4の実施例2に係る並列処理プロセッサの構成を示す図である。
【図30】実施の形態4の実施例3に係る並列処理プロセッサの構成を示す図である。
【図31】実施の形態4の実施例4に係る並列処理プロセッサの構成を示す図である。
【図32】実施の形態4の実施例5に係る並列処理プロセッサの構成を示す図である。
【図33】実施の形態4の実施例6に係る並列処理プロセッサの構成を示す図である。
【図34】実施の形態5の実施例1に係る並列処理プロセッサの構成を示す図である。
【図35】実施の形態5の実施例2に係る並列処理プロセッサの構成を示す図である。
【図36】実施の形態5の実施例3に係る並列処理プロセッサの構成を示す図である。
【図37】実施の形態5の実施例4に係る並列処理プロセッサの構成を示す図である。
【図38】実施の形態5の実施例5に係る並列処理プロセッサの構成を示す図である。
【図39】実施の形態5の実施例6に係る並列処理プロセッサの構成を示す図である。
【符号の説明】
1,46〜71 命令読出部
3,72〜97 命令発行部
5,98〜102 レジスタ部
7,12 メモリ
10 並列処理プロセッサ
13,17 命令語の形式
15 インタフェース
20〜45 プロセッサ
103〜114,219 判断部
115〜146 変換部
147,148 分岐命令(BI)検出器ブロック
149,150 浮動小数点演算命令(FI)検出器ブロック
151,152 整数演算命令(II)検出器ブロック
153,154 ロードストア命令(LI)検出器ブロック
155〜162 バッファ
163〜186 ANDゲート
187〜198 排他的ORゲート
199〜208 ORゲート
209〜218,355〜368 セレクタ
300〜306 固定長フェッチ部(FPC)
308〜314 命令バッファ
316〜322 切出部
324〜337 加算器
339〜345 実行フェッチ部(EPC)
347〜353 命令レジスタ
370〜376 制御部
378〜381 ANDゲート
EU0〜EUn,LU0,LU1,IU0,IU1,FU0,FU1,MU0,MU1,BU0,BU1 命令実行部
BD1〜BD4 分岐命令(BI)検出器
FD1〜FD4 浮動小数点演算命令(FI)検出器
ID1〜ID4 整数演算命令(II)検出器
LD1〜LD4 ロードストア命令(LI)検出器
L1〜L4 伝送線

Claims (7)

  1. 命令区切り情報によって区切られた命令語に含まれる一つあるいは複数の基本命令を並列的に実行する情報処理装置であって、
    供給される前記基本命令に応じた処理を並列的に実行する複数の命令実行部と、
    前記命令区切り情報に応じて前記命令語を一つずつ取り込む命令取り込み部と、
    前記命令取り込み部から供給された前記命令語に含まれる前記基本命令毎に、前記基本命令を実行すべきいずれか一つの前記命令実行部へ、選択的に前記基本命令を発行する命令発行部と、を有し、
    前記命令取り込み部は、取り込んだ前記命令語毎に、前記命令語に含まれる前記基本命令を、前記複数の命令実行部に対応づけた前記基本命令と前記基本命令の発行の有無を示す有効ビットの対の形式に並び替える、
    ことを特徴とする情報処理装置。
  2. 前記複数の命令実行部の少なくとも二つは、同一の構成を有する請求項1に記載の情報処理装置。
  3. 前記命令取り込み部は、予め複数の命令実行部の構成に応じた順序に並べられた基本命令が含まれる命令語を取り込む請求項1又は2に記載の情報処理装置。
  4. 前記命令発行部は、所定の場合には、前記命令実行部における実行が完了する前に次の前記基本命令を発行する請求項1ないし3いずれかに記載の情報処理装置。
  5. 前記所定の場合とは、前記命令発行に供給された基本命令が前記命令実行部おいて実行中の基本命令に対してデータ依存関係を持たず、かつ、制御依存関係を持たず、かつ、資源競合も生じないものである場合あること、
    を特徴とする請求項4記載の情報処理装置。
  6. 命令区切り情報によって区切られた命令語に含まれる一つあるいは複数の基本命令を並列的に実行する情報処理装置であって、
    供給される前記基本命令に応じた処理を並列的に実行する複数の命令実行部と、
    前記命令区切り情報に応じて前記命令語を一つずつ取り込む命令取り込み部と、
    前記命令取り込み部から供給された前記命令語に含まれる前記基本命令毎に、前記基本命令を実行すべきいずれか一つの前記命令実行部へ、選択的に前記基本命令を発行する命令発行部と、を有し、
    前記命令発行部は、前記命令語に含まれる前記基本命令を、前記複数の命令実行部の構成に応じて前記基本命令と前記基本命令の発行の有無を示す有効ビットの対の形式にび替えた後に、前記命令実行部へ発行する、
    ことを特徴とする情報処理装置。
  7. 命令区切り情報によって区切られた命令語に含まれる一つあるいは複数の基本命令を、前記命令区切り情報に応じて取り出し、
    前記命令語に含まれる一つあるいは複数の基本命令を、前記複数の命令実行部の構成に応じて並び替え、前記命令発行部に供給し、
    前記複数の命令実行部に対応づけた前記基本命令と前記基本命令の発行の有無を示す有効ビットの対の形式の前記基本命令を複数の命令実行部へ選択的に発行し、
    前記一つあるいは複数の基本命令を並列的に実行すること、
    を特徴とする情報処理方法。
JP28195799A 1999-10-01 1999-10-01 情報処理装置及び情報処理方法 Expired - Fee Related JP3730455B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP28195799A JP3730455B2 (ja) 1999-10-01 1999-10-01 情報処理装置及び情報処理方法
US09/654,527 US7401204B1 (en) 1999-10-01 2000-09-01 Parallel Processor efficiently executing variable instruction word
EP00307646A EP1089168B1 (en) 1999-10-01 2000-09-05 Very long instruction word processor
DE60045208T DE60045208D1 (de) 1999-10-01 2000-09-05 Prozessor mit sehr langem Befehlswort
KR1020000056946A KR100689717B1 (ko) 1999-10-01 2000-09-28 병렬 처리 프로세서

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28195799A JP3730455B2 (ja) 1999-10-01 1999-10-01 情報処理装置及び情報処理方法

Publications (3)

Publication Number Publication Date
JP2001100997A JP2001100997A (ja) 2001-04-13
JP2001100997A5 JP2001100997A5 (ja) 2004-12-02
JP3730455B2 true JP3730455B2 (ja) 2006-01-05

Family

ID=17646271

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28195799A Expired - Fee Related JP3730455B2 (ja) 1999-10-01 1999-10-01 情報処理装置及び情報処理方法

Country Status (5)

Country Link
US (1) US7401204B1 (ja)
EP (1) EP1089168B1 (ja)
JP (1) JP3730455B2 (ja)
KR (1) KR100689717B1 (ja)
DE (1) DE60045208D1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7100026B2 (en) * 2001-05-30 2006-08-29 The Massachusetts Institute Of Technology System and method for performing efficient conditional vector operations for data parallel architectures involving both input and conditional vector values
JP2002318687A (ja) * 2001-04-18 2002-10-31 Fujitsu Ltd 情報処理装置及び計算機システム
JP4542722B2 (ja) 2001-04-25 2010-09-15 富士通株式会社 命令処理方法
KR100867269B1 (ko) 2007-02-22 2008-11-06 삼성전자주식회사 프로세서의 추론적 로드 명령 실행 방법 및 상기 방법을채용한 프로세서
KR100875836B1 (ko) 2007-03-23 2008-12-24 삼성전자주식회사 병렬 처리 vliw 컴퓨터를 위한 인스트럭션 명령어 압축장치 및 그 방법
US8578387B1 (en) 2007-07-31 2013-11-05 Nvidia Corporation Dynamic load balancing of instructions for execution by heterogeneous processing engines
US9304775B1 (en) * 2007-11-05 2016-04-05 Nvidia Corporation Dispatching of instructions for execution by heterogeneous processing engines
JP2010257199A (ja) * 2009-04-24 2010-11-11 Renesas Electronics Corp プロセッサ及びプロセッサにおける命令発行の制御方法
US8443343B2 (en) * 2009-10-28 2013-05-14 Intel Corporation Context-sensitive slicing for dynamically parallelizing binary programs
CN109324981B (zh) * 2017-07-31 2023-08-15 伊姆西Ip控股有限责任公司 高速缓存管理系统和方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5214763A (en) * 1990-05-10 1993-05-25 International Business Machines Corporation Digital computer system capable of processing two or more instructions in parallel and having a coche and instruction compounding mechanism
JPH0440525A (ja) 1990-06-06 1992-02-10 Seiko Epson Corp 並列処理型マイクロプロセッサ
JPH052484A (ja) 1991-06-24 1993-01-08 Mitsubishi Electric Corp スーパースカラプロセツサ
US5787303A (en) 1991-10-31 1998-07-28 Kabushiki Kaisha Toshiba Digital computer system capable of processing a plurality of instructions in parallel based on a VLIW architecture
JP2928684B2 (ja) 1991-10-31 1999-08-03 株式会社東芝 Vliw型演算処理装置
JP3569338B2 (ja) 1995-02-24 2004-09-22 富士通株式会社 並列処理プロセッサ
US5758114A (en) * 1995-04-12 1998-05-26 Advanced Micro Devices, Inc. High speed instruction alignment unit for aligning variable byte-length instructions according to predecode information in a superscalar microprocessor
JP2931890B2 (ja) 1995-07-12 1999-08-09 三菱電機株式会社 データ処理装置
US5852741A (en) * 1996-05-15 1998-12-22 Philips Electronics North America Corporation VLIW processor which processes compressed instruction format
US5787302A (en) * 1996-05-15 1998-07-28 Philips Electronic North America Corporation Software for producing instructions in a compressed format for a VLIW processor
US5941980A (en) * 1996-08-05 1999-08-24 Industrial Technology Research Institute Apparatus and method for parallel decoding of variable-length instructions in a superscalar pipelined data processing system
JPH1074145A (ja) 1996-08-30 1998-03-17 Oki Electric Ind Co Ltd 命令供給装置
US5870576A (en) 1996-12-16 1999-02-09 Hewlett-Packard Company Method and apparatus for storing and expanding variable-length program instructions upon detection of a miss condition within an instruction cache containing pointers to compressed instructions for wide instruction word processor architectures
EP0855648A3 (en) 1997-01-24 1999-12-22 Texas Instruments Inc. Data processing with parallel or sequential execution of program instructions
US5881307A (en) * 1997-02-24 1999-03-09 Samsung Electronics Co., Ltd. Deferred store data read with simple anti-dependency pipeline inter-lock control in superscalar processor
JP3790607B2 (ja) * 1997-06-16 2006-06-28 松下電器産業株式会社 Vliwプロセッサ
ATE362623T1 (de) * 1997-11-07 2007-06-15 Altera Corp Verfahren und gerät für effiziente, synchrone mimd-operationen mit ivliw pe-zu-pe kommunikationen
US6173389B1 (en) * 1997-12-04 2001-01-09 Billions Of Operations Per Second, Inc. Methods and apparatus for dynamic very long instruction word sub-instruction selection for execution time parallelism in an indirect very long instruction word processor
JP3451921B2 (ja) 1998-03-30 2003-09-29 松下電器産業株式会社 プロセッサ
US6738892B1 (en) * 1999-10-20 2004-05-18 Transmeta Corporation Use of enable bits to control execution of selected instructions

Also Published As

Publication number Publication date
DE60045208D1 (de) 2010-12-23
KR100689717B1 (ko) 2007-03-09
KR20010050693A (ko) 2001-06-15
US7401204B1 (en) 2008-07-15
JP2001100997A (ja) 2001-04-13
EP1089168A3 (en) 2001-10-17
EP1089168A2 (en) 2001-04-04
EP1089168B1 (en) 2010-11-10

Similar Documents

Publication Publication Date Title
US5530817A (en) Very large instruction word type computer for performing a data transfer between register files through a signal line path
US4841476A (en) Extended floating point operations supporting emulation of source instruction execution
JP2550213B2 (ja) 並列処理装置および並列処理方法
US7395414B2 (en) Dynamic recalculation of resource vector at issue queue for steering of dependent instructions
RU2109333C1 (ru) Цифровой компьютер с возможностью параллельного выполнения двух и более команд
KR100616722B1 (ko) 수퍼스칼라프로세서내의파이프라인명령디스패치유닛
JPS6217252B2 (ja)
US10437594B2 (en) Apparatus and method for transferring a plurality of data structures between memory and one or more vectors of data elements stored in a register bank
JPH11272464A (ja) 投機的境界不整列ロ―ド操作方法及び装置
JP3730455B2 (ja) 情報処理装置及び情報処理方法
CN101802779A (zh) 具有可重新组构的浮点单元的处理器
US7774582B2 (en) Result bypassing to override a data hazard within a superscalar processor
US6615339B1 (en) VLIW processor accepting branching to any instruction in an instruction word set to be executed consecutively
US6594753B2 (en) Method and apparatus for dual issue of program instructions to symmetric multifunctional execution units
US6622238B1 (en) System and method for providing predicate data
JPH10143365A (ja) 並列処理装置及びその命令発行方式
US4837730A (en) Linking scalar results directly to scalar operation inputs on a bidirectional databus in a computer which superpositions vector and scalar operations
JPH0461390B2 (ja)
EP0496407A2 (en) Parallel pipelined instruction processing system for very long instruction word
JP3640855B2 (ja) プロセッサ
JP2636821B2 (ja) 並列処理装置
Craig et al. PIPE: A High Performance VLSI Processor Implementation
JPS62119674A (ja) 命令制御方式
Katz et al. PIPE: A HIGH PERFORMANCE VLSI PROCESSOR IMPLEMENTATION GL Craig JR Goodman
Craig et al. Computer Sciences Technical Report# 513

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050419

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050617

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050712

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050909

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051004

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051006

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081014

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091014

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091014

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101014

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101014

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111014

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111014

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121014

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121014

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131014

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees