(57)【要約】プロセッサは、主コントローラ（CRT11）と、複数の処理装置（1-9）とを備える。各処理装置（1-9）はローカルコントローラ（CRT1-CRT9）および前記ローカルコントローラ（CRT1-CRT9）によって制御可能な少なくとも１つの機能ユニット（FU1-FU9）を含む。処理ユニット（1-9）の前記ローカルコントローラ（CRT1-CRT9）は前記主コントローラ（CRT11）と結合される。前記プロセッサは、少なくとも１つの処理装置（1-9）の動作を高める少なくとも１つの命令を有する命令セットとを備える。主コントローラ（CTR11）は、少なくとも１つの処理装置（1-9）の動作を増大するための少なくとも１つの命令を処理するように構成される。処理装置（1-9）をオンするための命令は対応するローカルコントローラ（CRT1-CRT9）によってでなく主コントローラ（CRT11）自身によって処理されるため、前記プロセッサの１以上の処理装置（1-9）は、対応するローカルコントローラ（CRT1-CRT9）を含めて、完全に停止されることができる。
2005527037.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサであって、
主コントローラと、
複数の処理装置であって、各処理装置はローカルコントローラおよび前記ローカルコントローラによって制御可能な少なくとも１つの機能ユニットを含み、前記ローカルコントローラは前記主コントローラと結合された、複数の処理装置と、
少なくとも１つの処理装置の動作を高める少なくとも１つの命令を有する命令セットとを具備してなり、
前記主コントローラは、前記少なくとも１つの命令を処理するように構成されていることを特徴とするプロセッサ。
【請求項２】
前記命令セットは、少なくとも１つの処理装置の動作を低下させる少なくとも１つの命令をさらに有し、
前記主コントローラは、前記少なくとも１つの命令を処理するように構成されている、請求項１に記載のプロセッサ。
【請求項３】
少なくとも１つの処理装置の動作を低下させる前記命令は、前記処理装置を完全にオフにする命令であり、
少なくとも１つの処理装置の動作を高める前記命令は、前記処理装置を完全にオンにする命令である、請求項２に記載のプロセッサ。
【請求項４】
前記処理装置は、ローカル命令メモリをさらに備える、請求項１に記載のプロセッサ。
【請求項５】
前記処理装置は、ローカルプログラムカウンタをさらに備える、請求項４に記載のプロセッサ。
【請求項６】
少なくとも１つの処理装置はレジスタファイルをさらに備え、前記レジスタファイルに前記機能ユニットがアクセス可能である、請求項１に記載のプロセッサ。
【請求項７】
レジスタファイルは分散型レジスタファイルである、請求項６に記載のプロセッサ。
【請求項８】
前記プロセッサは、前記処理装置の機能ユニットと当該処理装置のレジスタファイルとを結合する通信ネットワークをさらに備える、請求項６に記載のプロセッサ。
【請求項９】
前記通信ネットワークは部分的に接続された通信ネットワークである、請求項８に記載のプロセッサ。
【請求項１０】
前記プロセッサは構成可能なプロセッサである、前記請求項のいずれかに記載のプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主コントローラと、複数の処理装置と、各処理装置はローカルコントローラおよび前記ローカルコントローラによって制御可能な少なくとも１つの機能ユニットを含み、前記ローカルコントローラは前記主コントローラと結合され、少なくとも１つの処理装置の動作を高める少なくとも１つの命令を有する命令セットとを具備してなるプロセッサに関する。
【背景技術】
【０００２】
同時処理は、プロセッサの性能を高めることを可能とし、ある形式の並列性をプロセッサアーキテクチャに導入することを必要とする。プロセッサは２つの形式の並列性を利用することができる。第１のものは命令レベルの並列性であり、一度に２つ以上の命令が１つのタスクで実行される。第２のものはタスクレベル並列性であり、複数のタスクがプロセッサによって同時に実行される。実行されなければならないアプリケーションによって、最大限に利用できる命令レベル並列性およびタスクレベル並列性の大きさが決定される。
【０００３】
構成可能なプロセッサは、特定の機能を行うようにカスタマイズできる組み立て式の装置である。拡張可能なＶＬＩＷ（Ｖｅｒｙ  Ｌａｒｇｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｗｏｒｄ）プロセッサ、即ち多数の機能ユニットを有するＶＬＩＷプロセッサは、構成可能なプロセッサの一例である。ＶＬＩＷプロセッサはプログラムにおいて命令レベル並列性を利用することを可能とするため、一度に２つ以上の命令を実行することを可能とする。複数の独立した機能ユニットを用いて複数の動作が並列して実行される。ＶＬＩＷプロセッサは１つの非常に長い命令に応答して複数の機能ユニット動作を実行する。各ＶＬＩＷはプロセッサのデータ経路を効率的に構成して、空間的に、即ち並列して計算を行う。
【０００４】
ＶＬＩＷプロセッサの柔軟性を、プロセッサが複数のタスクを並列して実行することを可能にすること、およびアプリケーションに存在する場合はタスクレベル並列性を利用することによって向上させることができる。従来のＶＬＩＷプロセッサの場合、対応する単一のプログラムカウンタを有する単一のコントローラしか存在しないため、単一のタスクしか実行することができない。しかし、分割されたコントローラを有するＶＬＩＷプロセッサはタスクレベル並列性を利用することが可能であり、この原理については１９９０年、１１月１２日から１６日にアメリカ合衆国ニューヨーク州ニューヨークでＡｒｃｈｉｔｅｃｔｕｒｅ  ａｎｄ  ｉｍｐｌｅｍｅｎｔａｔｉｏｎ  ｏｆ  ａ  ＶＬＩＷ  ｓｕｐｅｒｃｏｍｐｕｔｅｒ，  Ｃｏｌｗｅｌｌ．  Ｒ．  ｅｔ．  Ａｌ．，  Ｐｒｏｃ．  ｏｆ  Ｓｕｐｅｒｃｏｍｐｕｔｉｎｇ  ’９０において説明されている。各コントローラはプロセッサのセグメントを制御し、原則として２つの動作モードが可能となっている。第１のモードにおいてコントローラは独立して動作し、第２のモードにおいてすべてのコントローラは共にロックされる。第１のモードにおいては、最終的な効果はマルチプロセッサシステムを有することであり、それによって複数のタスクを同時に実行することが可能となるため、タスクレベル並列性を利用することが可能となる。第２のモードにおいては、古典的なＶＬＩＷプロセッサが得られる。計算を行う間に両方のモードの間で切り替えることが可能となる。
【０００５】
並列性をプロセッサアーキテクチャに導入することに関連する問題は、とりわけ機能ユニットの数の増大およびそれに対応する通信費の増加に関わり、その結果としてこれらのリソースを所定の時間で完全に利用することができない場合には不必要に電力が損失されることとなる。例えば、分割されたコントローラを有する拡張可能なＶＬＩＷプロセッサの場合、特定のアプリケーションにおいて不十分な命令並列性またはタスクレベル並列性が存在する時は、機能ユニットが使用されないままとなる。それにもかかわらずこれらの機能ユニットは大量の電力を消費する場合がある。
【０００６】
ＵＳ６，２１９，７９６のＶＬＩＷプロセッサは、専用の命令、例えば関連する実行ユニットの電源を少なくとも部分的に停止するＳＬＥＥＰ命令に応答するようにされた処理ユニットを有している。これらの実行ユニットも同様に、別の専用の命令、例えばＷＡＫＥ命令、またはアクティブ、即ち非ＳＬＥＥＰ命令のいずれかによって作動するようにされている。その結果として、プロセッサの作動している構成をＶＬＩＷの命令の流れに存在する専用命令によって変更することができ、それにより動作しているプロセッサの消費電力が低減される。専用命令はコンパイラによってＶＬＩＷに挿入される。これは、所定の機能ユニットに対して非アクティブ命令のセグメント、例えばＮＯＰＳを初めに検出し、次にセグメントの第１の非アクティブ命令を例えばＳＬＥＥＰ命令に置き換え、セグメントの最後の非アクティブ命令をＷＡＫＥ命令と置き換えることによって実現される。
【０００７】
従来技術のプロセッサにおいては、処理装置を完全にオフにすることができないという欠点がある。処理装置を再び作動させる命令を処理することを可能とするためには、いくつかの制御論理回路に電力を供給したままとしなければならない。
【発明の開示】
【０００８】
本発明の目的は、１つ以上の処理装置を完全にオフにすることを可能とするプロセッサアーキテクチャを提供することである。この目的は、主コントローラが少なくとも１つの処理装置の動作を高める少なくとも１つの命令を処理するように構成されていることを特徴とする前に述べた種類のプロセッサによって達成される。
【０００９】
処理装置をオンにする命令は対応するローカルコントローラによってではなく主コントローラ自体によって処理されるため、対応するローカルコントローラを含むプロセッサの１つ以上の処理装置を完全にオフにすることができる。完全にオフにされた処理装置においては漏れ電流は回避される。アプリケーションの計算の間は、所定の時間にアプリケーションに存在する命令レベル並列性およびタスクレベル並列性の大きさに応じて、処理装置を主コントローラによってオフにし、その後オンにすることができる。さらに、性能と引き換えに消費電力を低減することができる。低い消費電力が要求されるアプリケーションを計算する場合には、１つ以上の処理装置を完全にオフにし、それにより性能を犠牲にして消費電力を低減することによって達成される。
【００１０】
本発明の一実施の形態は、命令セットが少なくとも１つの処理装置の動作を低下させる少なくとも１つの命令をさらに有し、主コントローラが、少なくとも１つの処理装置の動作を低下させる前記少なくとも１つの命令を処理するように構成されていることを特徴とする。この実施の形態の利点は、１つの命令を実行することによって複数の処理装置の動作を同時に低下させることができることである。さらに、ローカルコントローラの複雑性が緩和される。
【００１１】
本発明の一実施の形態は、少なくとも１つの処理装置の動作を低下させる命令がこの処理装置を完全にオフにする命令であり、少なくとも１つの処理装置の動作を高める命令がこの処理装置を完全にオンにする命令であることを特徴とする。多数の処理装置を有するプロセッサの場合、特定のアプリケーションにおいて不十分な命令並列性またはタスクレベル並列性が存在する時は、処理装置の一部を使用しない状態にしてもよい。それにもかかわらずこれらの処理装置は大量の電力を消費する場合があり、１つ以上の処理装置を完全にオフにすることによって不必要な電力消費が防止される。この実施の形態の利点は、１つ以上の処理装置をオフまたはオンにする動作を主コントローラのハードウェア内で行い、それによってＶＬＩＷのサイズが縮小され、処理装置をオフおよびオンにする応答時間が短縮されることである。
【００１２】
本発明の一実施の形態は、処理装置がローカル命令メモリをさらに備えることを特徴とする。この実施の形態の利点は、処理装置がオフにされた場合、対応するローカル命令メモリもオフにすることができることである。
【００１３】
本発明の一実施の形態は、処理装置がローカルプログラムカウンタをさらに備えることを特徴とする。このローカルプログラムカウンタによって、ある処理装置が他の処理装置と無関係に動作することができる。
【００１４】
本発明の一実施の形態は、少なくとも１つの処理装置がレジスタファイルをさらに備え、このレジスタファイルに機能ユニットがアクセス可能であることを特徴とする。レジスタファイルは機能ユニットの入力データを記憶するために使用され、これらのデータへの高速アクセスを可能とし、プロセッサの性能が高められる。
【００１５】
本発明の一実施の形態は、レジスタファイルが分散型レジスタファイルであることを特徴とする。分散型レジスタファイルの利点は、レジスタファイルセグメントごとに要求される読み出しおよび書き込みポートがより少ないため、レジスタファイルの帯域幅が小さくなることである。さらに、中央レジスタファイルと比較するとプロセッサの拡張性が向上する。
【００１６】
本発明の一実施の形態は、プロセッサが処理装置の機能ユニットと前記処理装置のレジスタファイルとを結合する通信ネットワークをさらに備えることを特徴とする。通信ネットワークによって、機能ユニットからレジスタファイルへ直接出力値を送ることが可能となり、プロセッサの性能が高められる。
【００１７】
本発明の一実施の形態は、通信ネットワークが部分的に接続された通信ネットワークであること、即ち処理装置の各機能ユニットおよび前記処理装置の各レジスタファイルが結合されているわけではないことを特徴とする。部分的に接続されたネットワークを使用することによって、アドレス可能なレジスタが少なくなるためにコードサイズおよび消費電力が減少する。さらに、完全に接続されたネットワークと比較するとプロセッサの拡張性が向上する。
【００１８】
本発明の一実施の形態は、プロセッサが構成可能なプロセッサであることを特徴とする。構成可能なプロセッサの利点はその柔軟性にあるが、これは特定のアプリケーションだけでなく、一定のドメインのアプリケーションに対する計算を行うようにプロセッサをカスタマイズできるためである。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施の形態の特徴について図面を参照して詳述する。
【００２０】
図を参照すると、概略ブロック図において、複数の処理装置１乃至９および主制御装置１１を備えるＶＬＩＷプロセッサが示されている。各処理装置１乃至７は、対応する機能ユニットＦＵ１乃至ＦＵ７と、対応するレジスタファイルＲＦ１乃至ＲＦ７と、対応するローカルコントローラＣＴＲ１乃至ＣＴＲ７と、対応するローカルプログラムカウンタＰＣ１乃至ＰＣ７と、対応するローカル命令メモリＩＭ１乃至ＩＭ７とを有している。各レジスタファイルＲＦ１乃至ＲＦ７には、その対応する機能ユニットＦＵ１乃至ＦＵ７がアクセス可能である。処理装置９は、機能ユニットＦＵ９と、コントローラＣＴＲ９と、ローカルプログラムカウンタＰＣ９と、ローカル命令メモリＩＭ９とを有している。主制御装置１１は、主コントローラＣＴＲ１１と、プログラムカウンタＰＣ１１と、命令メモリＩＭ１１とを有している。プロセッサは、機能ユニットＦＵ１乃至ＦＵ９とレジスタファイルＲＦ１乃至ＲＦ７とを結合するための通信ネットワーク１３をさらに備え、機能ユニットＦＵ１乃至ＦＵ９の出力からの値をレジスタファイルＲＦ１乃至ＲＦ７へ送ることが可能となっている。主コントローラＣＴＲ１１は、接続１５を介してローカルコントローラＣＴＲ１乃至ＣＴＲ９に結合されている。ローカルコントローラＣＴＲ１乃至ＣＴＲ９は、接続１７乃至２３を介して互いに結合されている。
【００２１】
各ローカルコントローラＣＴＲ１乃至ＣＴＲ９は、その対応する処理装置１乃至９を制御する。主コントローラＣＴＲ１１は主制御装置１１を制御する。コンパイラはプロセッサに対して発せられたＶＬＩＷを６つのセグメントに分割し、各セグメントは命令メモリＩＭ１乃至ＩＭ１１のいずれかに発せられる。各ローカル命令メモリＩＭ１乃至ＩＭ９は、対応するローカルコントローラＣＴＲ１乃至ＣＴＲ９によって処理されるべき命令を保持する。ローカルプログラムカウンタＰＣ１乃至ＰＣ９は、処理されるべき次の命令が記憶されている対応するローカル命令メモリＩＭ１乃至ＩＭ９のアドレスを参照する。ローカルコントローラＣＴＲ１乃至ＣＴＲ９は対応するローカル命令メモリＩＭ１乃至ＩＭ９から実行されるべき次の命令を取り出し、その命令をデコードする。次に、その結果発生した動作コードおよびレジスタアドレスが対応する機能ユニットおよびレジスタファイルに対してそれぞれ発せられる。主制御装置１１によって処理されるべき命令は命令メモリＩＭ１１に記憶される。プログラムカウンタＰＣ１１は、主コントローラＣＴＲ１１によって処理されるべき次の命令が記憶されている命令メモリＩＭ１１のアドレスを参照する。主コントローラＣＴＲ１１は命令メモリＩＭ１１から実行されるべき次の命令を取り出し、その命令をデコードし、動作を行う。
【００２２】
第１の動作モードにおいて、ローカルコントローラＣＴＲ１乃至ＣＴＲ９はいわゆるロックステップモードで動作する。このモードは、すべてのローカルプログラムカウンタＰＣ１乃至ＰＣ９を、対応するローカル命令メモリＩＭ１乃至ＩＭ９の同一の論理アドレスを指示させることによって達成されることが好ましい。実際のローカルプログラムカウンタＰＣ１乃至ＰＣ９はローカルコントローラＣＴＲ１乃至ＣＴＲ９の１つによって決定され、接続１７乃至２３を介して他のローカルコントローラへ送られる。ローカル命令メモリＩＭ１乃至ＩＭ９の同一の論理アドレスから命令が取り出されるので、プロセッサは１つのタスクのみで１つのＶＬＩＷを効果的に実行し、それ故古典的なＶＬＩＷプロセッサと同様に動作する。第２の動作モードにおいて、各ローカルコントローラＣＴＲ１乃至ＣＴＲ９は独立して働き、命令を取り出すために用いられるローカルプログラムカウンタに対してその独自の値を決定する。この動作モードにおいては、並列して５つの独立したタスクを計算することが可能なマルチプロセッサシステムが存在している。異なる動作モードにおいては、第１および第２の動作モードを組み合わせることが可能である。例えば、ローカルコントローラＣＴＲ１およびＣＴＲ３はロックステップモードで動作することができ、それら独自のタスクを実行し、限定された程度の命令レベル並列性を利用することが可能である。ローカルコントローラＣＴＲ５乃至ＣＴＲ９もロックステップモードで動作することができ、同様にそれら独自のタスクを実行する。このモードでは、すべてのローカルコントローラＣＴＲ１乃至ＣＴＲ９がロックステップモードで動作する第１の動作モードと比較して、プロセッサは２つの独立したタスクを実行し、各タスクにおいて限定された程度の命令レベル並列性を利用することができる。
【００２３】
主コントローラは１つ以上の処理装置の動作を低下させる命令および高める命令を処理する。命令メモリＩＭ１１に保持された命令は、主コントローラＣＴＲ１１によって行われなければならない動作の種類およびこの動作がどのローカルコントローラに当てはまるかを示すいくつかのフィールドを含む。例えば、処理装置１および３の動作を低下させなければならない場合、「ＳＬＥＥＰ」と呼ばれる操作を使用することができる。これは、フィールド「ＳＬＥＥＰ」、およびこの命令が処理装置１および３のみに当てはまることを示す他のビットフィールドを含む、命令メモリＩＭ１１に対して発せられる命令によって実現される。または、その動作がどの処理装置に当てはまるかを示す命令の所定のフィールドでその動作をエンコードすることができる。主コントローラＣＴＲ１１は命令メモリＩＭ１１から命令を読み出し、その命令をデコードし、その後処理装置１および３の動作を低下させる。その後の時点で、処理装置１および３の動作を「ＷＡＫＥ」と呼ばれる操作によって高めることができる。命令メモリＩＭ１１に対して発せられたその命令は、フィールド「ＷＡＫＥ」、およびこの命令が処理装置１および３のみに当てはまることを示す他のビットフィールドを含んでいる。主コントローラＣＴＲ１１は命令メモリＩＭ１１から命令を読み出し、その命令をデコードし、その後処理装置１および３の動作を高める。
【００２４】
コンパイラは処理装置が非アクティブ命令のセグメントを有するかを検出する。これを、所定のアプリケーションがすべての処理装置に対してアクティブ命令を予定するのに十分な命令レベル並列性またはタスクレベル並列性を有していない場合に当てはめるようにしてもよい。非アクティブ命令のセグメントの始めに、ＶＬＩＷに対して命令が付加されて対応する処理装置の動作を低下させ、主制御装置１１が後の命令を処理する。処理装置の非アクティブ命令のセグメントの最後に、ＶＬＩＷに対して命令が付加されて対応する処理装置の動作を高め、主制御装置１１によって後の命令が処理される。この命令を非アクティブ命令のセグメントの終わりの前に付加することによって処理装置がその動作を高めるための時間をより多く有することができるようにし、その後アクティブ命令をその処理装置に予定するようにしてもよい。主制御装置１１に対して発せられた命令によって２つ以上の処理装置が同時にそれらの動作を低下するようにしてもよい。次に、それらの動作を高めさせる命令を非アクティブ命令のセグメントの大きさに応じて異なる時点で実行するようにしてもよい。
【００２５】
好ましい実施の形態において、「ＳＬＥＥＰ」操作は１つ以上の処理装置１乃至９を完全にオフにし、「ＷＡＫＥ」操作は１つ以上の処理装置１乃至９を完全にオンにする。この実施の形態の利点は、消費電力の最も大きな低減が達成されることであり、処理装置の対応するローカルコントローラ、対応するレジスタファイルおよび対応するローカル命令メモリの電源が停止する。処理装置をオンにする命令が対応するローカルコントローラによってではなく主コントローラＣＴＲ１１によって処理されなければならないため、処理装置を完全にオフにすることができる。完全にオフとした結果、処理装置内の漏れ電流が回避される。この実施の形態のさらなる利点は、性能と引き換えに消費電力を低減することができることである。低い消費電力が要求されるアプリケーションを計算する場合には、１つ以上の処理装置を完全にオフにすることによって達成することができ、それにより性能を犠牲にして消費電力が低減される。他の実施の形態において、「ＳＬＥＥＰ」操作は１つ以上の処理装置１乃至９の選択された部分のみをオフにし、「ＷＡＫＥ」操作は１つ以上の処理装置１乃至９の選択された部分のみをオンにする。例えば、「ＳＬＥＥＰ」操作は、１つ以上の処理装置の機能ユニットおよび対応するローカルコントローラのみをオフにするようにしてもよい。この実施の形態の利点は、「ＷＡＫＥ」操作が適用される時点で、処理装置を完全にオフにした場合と比較して使用可能となるまでの応答時間が短縮されることである。さらに、ローカル命令メモリは、揮発性型のメモリである場合でも、その記憶した命令を保持することができる。他の実施の形態においては、ローカル命令メモリはＲＯＭ等の不揮発性型であってもよく、それによってデータを失うことなくローカル命令メモリもオフとすることができる。
【００２６】
異なる実施の形態において、主制御装置１１によって処理される命令は、処理装置１乃至９のうちのどれをオフまたはオンにすべきかを制御するビットフィールドのみを含んでもよい。行われなければならない動作は、主コントローラＣＴＲ１１のハードウェア内で固定され且つ行われる。この実施の形態の利点は、ＶＬＩＷのサイズが縮小され、処理装置をオフおよびオンにする応答時間が短縮されることである。
【００２７】
他の実施の形態において、いくつかの種類の命令を１つの命令セットに定義して処理装置を異なる低下された動作の状態にすることができる。例えば、２つの電源停止命令を定義して完全に動作している処理装置の動作を低下させることができる。即ち、処理装置を部分的に動作しない状態にするものと、処理装置を完全にオフにする第２のものとである。完全に動作している処理装置を第２の電源停止命令によって１つのステップで、または第２の電源停止命令に続く第１の電源停止命令によって２つの連続的なステップでオフにすることができる。さらに、２つの電源投入命令を定義して完全にオフにされた際の処理装置の動作を高めることができる。即ち、処理装置を部分的に動作する状態にするものと、処理装置を完全に動作させる第２のものとである。完全にオフにされた処理装置に対して電源投入することは、第２の電源投入命令によって１つのステップで、または第２の電源投入命令に続く第１の電源投入命令によって２つの連続的なステップで行うことができる。この実施の形態において、１つ以上の処理装置を完全にオフにする場合と比較してより多くの電力を消費する状態にすることができるが、再度使用可能となるまでの応答時間が短くなる。この実施の形態の利点は、処理装置を部分的に動作する状態にすることによって、完全な動作を回復するために必要な遅延時間が短縮されることである。
【００２８】
他の実施の形態において、処理装置１乃至９のいずれかの動作を低下させる命令は、その対応するローカル命令メモリＩＭ１乃至ＩＭ９に対して直接発せられ、その対応するローカルコントローラＣＴＲ１乃至ＣＴＲ９によって処理される。その後、１つ以上の処理装置の動作を高める命令を処理することによって、主コントローラが処理装置をより高い動作状態にするようにしてもよい。この実施の形態の利点は、主コントローラＣＴＲ１１の複雑性が緩和されると共に、主コントローラＣＴＲ１１とローカルコントローラＣＴＲ１乃至ＣＴＲ９との間の通信費が削減されることである。主コントローラＣＴＲ１１が常時処理装置をより高い動作状態にすることができるので、ローカルコントローラはそれ自身も含めてその対応する処理装置を完全にオフにすることができる。
【００２９】
有利な実施の形態において、処理装置１乃至９は、機能ユニットの入力データを記憶してこれらのデータの高速アクセスを可能にする対応するレジスタファイルＲＦ１乃至ＲＦ７を有している。
【００３０】
好ましい実施の形態において、レジスタファイルＲＦ１乃至ＲＦ７は分散型レジスタファイルであり、即ち、それぞれが限定された機能ユニットの組のためのいくつかのレジスタファイルが、すべての機能ユニットＦＵ１乃至ＦＵ９のための１つの中央レジスタファイルの代わりに使用されている。分散型レジスタファイルの利点は、レジスタファイルセグメントごとに要求される読み出しおよび書き込みポートがより少ないため、レジスタファイルの帯域幅が小さくなることである。さらに、中央レジスタファイルと比較するとプロセッサの拡張性が向上する。
【００３１】
有利な実施の形態において、機能ユニットＦＵ１乃至ＦＵ９とレジスタファイルＲＦ１乃至ＲＦ７とを結合する通信ネットワーク１３が存在する。通信ネットワーク１３によって、機能ユニットＦＵ１乃至ＦＵ９の１つの出力値をレジスタファイルＲＦ１乃至ＲＦ７の１つへ直接送ることが可能となる。
【００３２】
好ましい実施の形態において、通信ネットワーク１３は部分的に接続された通信ネットワークであり、即ち各機能ユニットＦＵ１乃至ＦＵ９が各レジスタファイルＲＦ１乃至ＲＦ７に結合されているわけではない。部分的に接続された通信ネットワークを使用することによって、コードサイズおよび消費電力が減少し、且つプロセッサの性能を高めることが可能となる。さらに、完全に接続された通信ネットワークと比較するとプロセッサの拡張性が向上する。
【００３３】
尚、上述の実施の形態は例証であって本発明を限定するものではなく、当業者は添付された請求の範囲から逸脱せずに他の多くの実施の形態を設計することが可能であろう。請求の範囲において、括弧内の参照符号はいずれも請求の範囲を限定するものではない。「備える（ｃｏｍｐｒｉｓｉｎｇ）」という言葉は請求の範囲に記載されていない要素またはステップの存在を排除するものではない。要素の前にある「１つの（”ａ”または”ａｎ”）」という言葉はこのような要素が複数存在することを排除するものではない。いくつかの手段を列挙する装置の請求項において、これらの手段のいくつかをハードウェアの１つのおよび同一のアイテムによって実施することができる。互いに異なる従属請求項においてある範囲が記載されているということは、これらの範囲を組み合わせて都合良く使用することができないということを示している訳ではない。
【図面の簡単な説明】
【００３４】
【図１】本発明の実施の形態によるＶＬＩＷプロセッサの概略図である。
2005527037.tif 000003
【国際調査報告】
2005527037.tif 000004
2005527037.tif 000005