(57)【要約】複数の機能ユニット（１、３）；複数のセグメント（５、７、９）を有する分散型レジスタファイル（４）であって、機能ユニット（１、３）によってアクセス可能である分散型レジスタファイル（４）；メモリと通信する通信ユニット（１１）；機能ユニット（１、３）と分散型レジスタファイル（４）とを結合する通信ネットワーク（１３）を有するＶＬＩＷプロセッサであって、該ＶＬＩＷプロセッサが、分散型レジスタファイル（４）と通信ユニット（１１）との間でデータを転送するスピリング装置（１５）を更に有することを特徴とするＶＬＩＷプロセッサ。
2005523498.tif 000002
【特許請求の範囲】
【請求項１】
‐  複数の機能ユニット、
‐  複数のセグメントを有する分散型レジスタファイルであって、前記機能ユニットによってアクセス可能である分散型レジスタファイル、
‐  メモリと通信する通信手段、及び
‐  前記機能ユニットと、前記分散型レジスタファイルとを結合する通信ネットワーク、
を有するＶＬＩＷプロセッサであって、
前記ＶＬＩＷプロセッサが、前記分散型レジスタファイルと前記通信手段との間においてデータを転送するスピリング手段を更に有することを特徴とするＶＬＩＷプロセッサ。
【請求項２】
前記スピリング手段が、スピルレジスタファイル及びスピルユニットを有し、前記スピルレジスタファイルが前記スピルユニットによってアクセス可能である、請求項１に記載のＶＬＩＷプロセッサ。
【請求項３】
前記分散型レジスタファイルの前記セグメントの少なくとも１つが、前記分散型レジスタファイルの前記セグメントから前記スピリング手段までデータを通過させることができない機能ユニットに関連付けられ、パスユニットが、前記分散型レジスタファイルから前記スピリング手段までデータを通過させるために前記機能ユニットに関連付けられている、請求項１に記載のＶＬＩＷプロセッサ。
【請求項４】
前記通信ネットワークが、部分的に接続される通信ネットワークを有する、請求項１に記載のＶＬＩＷプロセッサ。
【請求項５】
前記パスユニットが、前記関連付けられた機能ユニットの一部である、請求項３に記載のＶＬＩＷプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の機能ユニット；複数のセグメントを有する分散型レジスタファイル、機能ユニットによってアクセス可能である分散型レジスタファイル；メモリと通信する通信手段；機能ユニットと分散型レジスタファイルとを結合する通信ネットワークを有するＶＬＩＷプロセッサに関する。
【背景技術】
【０００２】
上述した種類のＶＬＩＷプロセッサの実施例は、国際特許出願公開第ＷＯ００／３３１７８号に記載されている。
【０００３】
ベリー・ロング・インストラクション・ワード（ＶＬＩＷ）プロセッサは、プログラムにおける命令レベル並列処理を利用することを可能にするので、同時に２つ以上の命令を実行することができる。ＶＬＩＷプロセッサは、複数の演算を並行して実行するために、複数の、独立の機能ユニットを使用する。ＶＬＩＷプロセッサは、複数の機能ユニットの演算を１つの非常に長い命令にパッケージ化する。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ＶＬＩＷ処理の限界は、限られるハードウェアリソース、限られる並列処理、及びコードサイズの大幅な増加を含む。限られるハードウェアリソースは、機能ユニット、レジスタファイル又は通信ネットワークであり得る。この他のリソースを付加することにより、これらの限界を未然に防止することは、幾つかの重大な障害を有する。例えば、機能ユニットの数を増加させる場合、メモリサイズ及びレジスタファイルの帯域幅は、同様に増大されなければならない。更に、レジスタファイルにアクセスするために、多数の読み出し又は書き込みポートが必要であり、レジスタファイルのサイズにおける大きなコスト及びクロック速度の低下を伴わずに対応することが難しい帯域幅が課される。
【０００５】
ＶＬＩＷプロセッサ上で実行されるべき幾つかのアプリケーションに関して、限られるハードウェアリソースとは、レジスタファイルであり得る。これを防止するために、大きいレジスタファイルを使用することができる。しかしながら、これは幾つかの欠点を有する。第１に、多くのレジスタを有するレジスタファイルは、クリティカルタイミングパスを形成するので、プロセッサのサイクル時間を制限し得る。第２に、直接的にアドレッシング可能であるレジスタの数が増加するにつれて、命令内の複数のレジスタを特定するためのビット数も増加する。第３に、多くのレジスタを有するレジスタファイルは、広いシリコン面積を占める。
【課題を解決するための手段】
【０００６】
本発明の目的は、レジスタファイルが、制限するハードウェアリソースとなることを防止する、ＶＬＩＷプロセッサアーキテクチャを提供することにある。
【０００７】
この目的は、当該ＶＬＩＷプロセッサが、分散型レジスタファイル及び通信手段の間でデータを転送するスピリング手段を更に有することを特徴とする、前述した種類のＶＬＩＷプロセッサによって達成される。
【０００８】
スピリング自体は、既知のものであるが、完全に異なる分野の技術、即ちコンパイラ技術からのものであることに留意されたい。この原理は、コンパイラがマシンコードを発生、マシンが持つレジスタよりも多くの生の変数がある場合に、幾つかの変数が、レジスタからメモリへと転送される、即ち「スピリング」させられるというものである。
【０００９】
当該スピリング手段は、レジスタファイルから通信手段へ、機能ユニットを介して値を転送する機能を持つ。当該スピリング手段は、通信手段からレジスタファイルへ値を転送することによって、これらの値を再生する機能も持つ。
【００１０】
本発明の実施例は、当該スピリング手段が、スピルレジスタファイル及びスピルユニットを有し、該スピルレジスタファイルがスピルユニットによってアクセス可能であることを特徴とする。この実施例の利点は、スピル手段による通信手段への値の転送の速度が、プロセッサのクロック周波数を制限することを防止することにある。
【００１１】
本発明の実施例は、分散型レジスタファイルの少なくとも１つのセグメントが、該分散型レジスタファイルのセグメントからスピリング手段までデータを通過させることができない機能ユニットに関連付けられ、この機能ユニットには、パスユニットが、該分散型レジスタファイルのセグメントからスピリング手段までデータを通過させるために関連付けられていることを特徴とする。ＲＯＭユニットのような、機能ユニットが、レジスタファイルからスピリングされるべき値を通過させることができない場合、パスユニットがこれを行うことができる。
【００１２】
本発明の実施例は、前記通信ネットワークが、部分的に接続された通信ネットワークを有することを特徴とする。この実施例の利点は、これが完全に接続されたネットワークのオーバーヘッドを減少させることである。
【００１３】
本発明の実施例は、パスユニットが関連付けられた機能ユニットの一部であることを特徴とする。この実施例の利点は、別個のパスユニットを全く必要としないことであり、付加的なシリコン面積及び通信接続を省く。
【発明を実施するための最良の形態】
【００１４】
記載される実施例のフィーチャは、図面を参照して更に説明され、記載されるであろう。
【００１５】
図１を参照すると、概略図は、機能ユニット１及び３を含む複数の機能ユニットを有するＶＬＩＷプロセッサを示している。このプロセッサは、レジスタファイルセグメント５、７及び９を含む分散型レジスタファイル４を有する。機能ユニット１は、レジスタファイルセグメント５からの読み出しをすることができる。機能ユニット３は、レジスタファイルセグメント７及び９からの読み出しをすることができる。
【００１６】
前記プロセッサは、メモリと通信する通信ユニット１１を含む。前記メモリは、この図１には示されていない。前記プロセッサは、通信ネットワーク１３、例えば、機能ユニット１及び３と、レジスタファイルセグメント５、７及び９とを結合するバスも含む。
【００１７】
更に、前記プロセッサは、スピリング装置１５を有する。スピリング装置１５、並びにレジスタファイルセグメント５、７及び９は、通信ネットワーク１３を介して結合される。スピリング装置１５、並びに機能ユニット１及び３は、同様に通信ネットワーク１３を介して結合される。スピリング装置１５は、レジスタファイルセグメント５、７及び９から、通信ユニット１１へ、機能ユニット１及び３を介して、値を転送することを可能にする。更に、スピリング装置１５は、通信ユニット１１からレジスタファイルセグメント５、７及び９へ値を転送することにより、該値を再生することができる。
【００１８】
好ましくは、スピリング装置１５は、スピルレジスタファイル１７及びスピルユニット１９を有する。スピルユニット１９は、スピルレジスタファイル１７からの読み出しをすることができる。この実施例の利点は、これが、スピリング装置１５によって通信ユニット１１へ値を転送する速度がプロセッサのクロック周波数を制限することを防止することにある。幾つかの実施例においては、値を通信ユニット１１へ渡さずに、該値を、スピルレジスタファイル１７内に一時的に記憶することができる。スピルレジスタファイル１７から、これらの値は、スピルユニット１９によってレジスタファイルセグメント５、７及び９へと転送されることができる。この実施例の利点は、これが、通信ユニット１１に値を書き込む及びこれから値を再生する時間のかかる動作を防止することである。
【００１９】
有利な実施例においては、前記プロセッサは、パスユニット２１も有する。パスユニット２１は、レジスタファイルセグメント５からの読み出しをすることができ、パスユニット２１及びスピリング装置１５は、通信ネットワーク１３を介して結合される。パスユニット２１は、機能ユニット１がレジスタファイルセグメント５からスピリングされるべきである値を通過させることができない場合に、これを通過させることを可能にする。一部の実施例においては、複数のパスユニットが存在し、他の実施例においては存在しないであろう。機能ユニット、例えばＲＯＭユニットが、値をレジスタファイルセグメントから通過させることができない場合、パスユニットが、この機能ユニットと関連付けられることができる。
【００２０】
この図に示されている実施例において、パスユニット２１は、機能ユニット１と関連付けられる別個のユニットである。幾つかの実施例においては、パスユニット２１は、値をレジスタファイルセグメントから通過させることを可能にする付加的演算を、この機能ユニット１に付加することによって、関連付けられた機能ユニット１の一部であることが可能である。
【００２１】
前記機能ユニットは、機能ユニット１の場合のように、１つのレジスタファイルセグメントに、又は機能ユニット３の場合のように、複数のレジスタファイルセグメントに結合されることができる。前記レジスタファイルセグメントは、１つの機能ユニットに、又は複数の機能ユニットに結合されることができる。前記レジスタファイルセグメントと、機能ユニットとの間の結合度は、前記機能ユニットが実行するべき演算のタイプに依存することができる。
【００２２】
通信ネットワーク１３は、機能ユニット１及び３と、レジスタファイルセグメント５、７及び９とを結合する。この図に示されている実施例は、完全に接続された通信ネットワークを有し、これは、全ての機能ユニット１及び３が全てのレジスタファイルセグメント５、７、及び９に結合されることを意味する。幾つかの実施例において、通信ネットワーク１３は部分的に接続されているので、全ての機能ユニット１及び３が全てのレジスタファイルセグメント５、７、及び９に接続されているというわけではない。完全に接続されるネットワークと比較して、部分的に接続されているネットワークの利点は、これはシリコン面積の点でより高価ではないこと、及びこれが前記プロセッサのより高いクロック周波数を可能にすることにある。
【００２３】
機能ユニット１及び３、並びにパスユニット２１は、スピリング装置１５に結合される。この図に示されている実施例においては、これらの結合は、通信ネットワーク１３の一部である。幾つかの実施例において、１つ以上のこれらの結合は、分離され得る。
【００２４】
スピリング装置１５は、レジスタファイルセグメント５、７及び９に結合される。この図に示されている実施例において、これらの結合は通信ネットワーク１３の一部である。幾つかの実施例において、１つ以上のこれらの結合は、分離され得る。
【００２５】
上述の実施例は、本発明を限定するよりは解説するものであること、及び当業者であれば添付請求項の範囲から逸脱することなしに、多くの代替的な実施例を設計できることに留意されたい。前記請求項において、括弧内に置かれた如何なる符号も、請求項を限定するようにみなしてはならない。「有す」という語は、請求項に記載されていない構成要素又はステップの存在を排除するものではない。単数形の構成要素は、複数のこのような構成要素を排除するものではない。幾つかの手段を列挙している装置請求項において、これらの手段の幾つかは１つの同じハードウェアの項目によって、実施化することができる。特定の手段が、相互に異なる従属請求項において引用されているという単なる事実は、これらの手段の組み合わせが有利になるように使用されることができないと示すものではない。
【図面の簡単な説明】
【００２６】
【図１】図１は、本発明の実施例によるＶＬＩＷプロセッサの概略図である。
【図１】
2005523498.tif 000003
【国際調査報告】
2005523498.tif 000004
2005523498.tif 000005
2005523498.tif 000006