(57)【特許請求の範囲】
【請求項１】
書き込みアドレスポートにおいて指定されたアドレスにおける書き込みポートにおいてレジスタデータをファイルに書き込む、第１の数の書き込みポート及び第１の数の書き込みアドレスポートと、
読み出しアドレスポートにおいて指定されたアドレスから読み出しポートにおいてファイルからレジスタデータを読み出す、第２の数の読み出しポート及び第２の数の読み出しアドレスポートと、
各々が第４の数のビットを有する第３の数の第１レジスタを含む第１レジスタファイルユニットと、
各々が前記第４の数より小さい第６の数のビットを有する第５の数の第２レジスタを含む第２レジスタファイルユニットとを具えるマルチポートレジスタファイルにおいて、
前記読み出しポートのうち少なくとも１つは、前記第１及び第２レジスタファイルユニットのうち一方のみに接続されたことを特徴とするマルチポートレジスタファイル。
【請求項２】
請求の範囲１に記載のマルチポートレジスタファイルを具えるVLIWプロセッサ。
【請求項３】
請求の範囲１に記載のマルチポートレジスタファイルにおいて、前記第１の数は少なくとも１であり、前記第２の数は少なくとも２であることを特徴とするマルチポートレジスタファイル。
【請求項４】
請求の範囲１に記載のマルチポートレジスタファイルにおいて、前記書き込みレジスタのうち少なくとも１つの少なくとも１ビットは、前記第１及び第２レジスタファイルユニットの双方に接続されたことを特徴とするマルチポートレジスタファイル。
【請求項５】
書き込みアドレスポートにおいて指定されたアドレスにおける書き込みポートにおいてレジスタデータを書き込む、第１の数の書き込みポート及び第１の数の書き込みアドレスポートと、
各々が複数のレジスタを具え、各々が前記書き込みポート及び書き込みアドレスポートに並列に接続された第１及び第２ファイルユニットと、
第１読み出しアドレスポートにおいて指定されたアドレスから第１読み出しポートにおいて前記第１ファイルユニットからレジスタデータを読み出す、第２の数の第１読み出しポート及び第２の数の第１読み出しアドレスポートと、
第２読み出しアドレスポートにおいて指定されたアドレスから第２読み出しポートにおいて前記第２ファイルユニットからレジスタデータを読み出す、第３の数の第２読み出しポート及び第３の数の第２読み出しアドレスポートとを具えることを特徴とするマルチポートレジスタファイル。
【請求項６】
請求の範囲５に記載のマルチポートレジスタファイルにおいて、前記第１ファイルユニットのレジスタは、各々、第５の数のビットを格納し、前記第２ファイルユニットのレジスタは、各々、第６の数のビットを格納することを特徴とするマルチポートレジスタファイル。
【請求項７】
請求の範囲６に記載のマルチポートレジスタファイルにおいて、前記第６の数のビットより多くのデータは、前記第２ファイルユニットにおいて格納されたデータの第２バージョンは前記第６の数のビットのみを有し、前記第１ファイルユニットにおいて格納されたバージョンは前記第６の数より多くのビットを有するように、前記第１及び第２ファイルユニットに同時に書き込まれることを特徴とするマルチポートレジスタファイル。
【請求項８】
請求の範囲６に記載のマルチポートレジスタファイルにおいて、前記書き込みポートの前記第６の数のラインは前記第２ファイルユニットに接続され、前記書き込みポートの前記第４の数のラインは前記第１ファイルユニットに接続されたことを特徴とするマルチポートレジスタファイル。
【請求項９】
請求の範囲６に記載のマルチポートレジスタファイルにおいて、前記第１読み出しポートは前記第４の数のラインを有し、前記第２読み出しポートは前記第６の数のラインを有することを特徴とするマルチポートレジスタファイル。
【請求項１０】
請求の範囲５に記載のマルチポートレジスタファイルを具えるVLIWプロセッサ。
【請求項１１】
請求の範囲10に記載のVLIWプロセッサにおいて、前記第１ファイルユニットはオペランドを格納し、前記第２ファイルユニットはガードビットを格納することを特徴とするVLIWプロセッサ。
【請求項１２】
請求の範囲５に記載のマルチポートレジスタファイルにおいて、前記第１、第２及び第３の数は、各々、少なくとも１であることを特徴とするマルチポートレジスタファイル。
【請求項１３】
書き込みアドレスポートにおいて指定されたアドレスにおける書き込みポートにおいてレジスタデータをファイルに書き込む、第１の数の書き込みポート及び第１の数の書き込みアドレスポートと、
読み出しアドレスポートにおいて指定されたアドレスから読み出しポートにおいてファイルからレジスタデータを読み出す、第２の数の読み出しポート及び第２の数の読み出しアドレスポートと、
各々が第４の数のビットを有する第３の数の第１レジスタと、
各々が前記第４の数より小さい第６の数のビットを有する第５の数の第２レジスタとを具えるマルチポートレジスタファイルにおいて、
前記第１レジスタは第１ファイルユニット内に配置され、
前記第２レジスタは第２ファイルユニット内に配置され、
前記第１及び第２ファイルユニットの双方は、すべての前記書き込みポートの少なくとも１ビットによって書き込み可能であり、
前記読み出しポートを実現するのに必要な配線及び構成要素が、一様な長さのレジスタと前記第２の数の読み出しポートとを有するレジスタファイルに必要なよりも少なくなるように、前記読み出しポートは、前記第１及び第２ファイルユニット間で分割されることを特徴とするマルチポートレジスタファイル。
【請求項１４】
請求の範囲13に記載のマルチポートレジスタファイルにおいて、前記第２ファイルユニットはガードビットを収容することを特徴とするマルチポートレジスタファイル。
【請求項１５】
請求の範囲14に記載のマルチポートレジスタファイルにおいて、前記ガードビットは、VLIWプロセッサの関連する機能ユニットから前記第１ファイルユニットへの演算結果の書き込みを条件付けることを目的とされることを特徴とするマルチポートレジスタファイル。
【請求項１６】
請求の範囲13に記載のマルチポートレジスタファイルにおいて、前記第２ファイルユニットはフラグビットを収容することを特徴とするマルチポートレジスタファイル。
【請求項１７】
請求の範囲16に記載のマルチポートレジスタファイルにおいて、前記第１の数は少なくとも１であり、前記第２の数は少なくとも２であることを特徴とするマルチポートレジスタファイル。
【請求項１８】
請求の範囲13に記載のマルチポートレジスタファイルにおいて、前記第４の数は32であり、前記第６の数は１であることを特徴とするマルチポートレジスタ。
【請求項１９】
請求の範囲13に記載のマルチポートレジスタファイルにおいて、前記第１ファイルユニットはすべての前記書き込みポートのすべてのビットによって書き込み可能であり、前記第２ファイルユニットは前記書き込みポートのすべてより少ないビットによって書き込み可能であることを特徴とするマルチポートレジスタファイル。
【発明の詳細な説明】
本発明の背景
1.発明の技術分野
本発明は、
−  複数の機能的ユニットと、
−  各々が第１の数のビットを有する第１の数のアドレス可能第１レジスタと、
−  各々が前記第１の数のビットより少ない第２の数のビットを有する第２の数のアドレス可能第２レジスタと、
−  各々が、関係する書き込みアドレスポートを有し、この関係する書き込みアドレスポートが結合された前記機能的ユニットに各々が結合された複数の書き込みポートと、
−  各々が、関係する読み出しアドレスポートを有し、この関係する読み出しアドレスポートが結合された前記機能的ユニットに各々が結合された複数の読み出しポートとを含むレジスタファイルとを具えるプロセッサに関するものである。
本発明は、このようなプロセッサにおいて使用されるレジスタファイルにも関係する。
2.関連技術
マルチポートレジスタファイルは、複数のレジスタに同時にアクセスする必要があるディジタルデータプロセッサに使用される。特に、このようなレジスタファイルは、VLIW（超長命令ワード（Very Long Instruction Word））プロセッサに有用である。このようなプロセッサはさらに、複数の命令コードを収容する命令レジスタと、前記複数の命令コードの実行を１つのマシンサイクルにおいて同時に開始する複数の機能的ユニットとを含む。
マルチポートレジスタファイルを、他の形式のプロセッサにおいて同様に使用することができる。
先行技術のマルチポートレジスタファイルを図１に示す。このファイルは、128の32ビットレジスタを含む。
このファイルの左側に、各々が８ビット幅の書き込みアドレスポートWA1、WA2およびWA3を示す。左側に、各々が32ビット幅の書き込みポートWD1、WD2およびWD3も示す。３つの機能的ユニットによる結果を、前記書き込みアドレスポートにおいて特定されるアドレスにおける前記書き込みポートにおいて、同時に書き込むことができる。このファイルの右側に、各々が８ビット幅の読み出しアドレスポートRA1、RA2、RA3、RA4、RA5、RA6、RA7、RA8およびRA9を示す。右側に、各々が32ビット幅の読み出しポートRD1、RD2、RD3、RD4、RD5、RD6、RD7、RD8およびRD9も示す。前記機能的ユニットに対して予定された９個のオペランドまで、このファイルから、前記書き込みアドレスポートにおいて特定されたアドレスによる前記書き込みポートにおいて同時に読み出すことができる。
VLIWプロセッサにおいて、保護ビットを使用し、前記機能ユニットによる結果の前記マルチポートレジスタファイルへの書き込みを調節する。保護ビットは、欧州特許明細書第479390号において説明されているように、分岐遅延のためVLIWにおいて必要になっている。前記機能的ユニットは、命令を、前記プロセッサがこれらの命令の結果を実際に使用するか否かを決定する前の分岐遅延中に実行する。これらの命令が完了した後、各々の機能ユニットは、関係する保護ビットが適切な値を有する場合のみ、結果をレジスタに書き込む。
当該VLIWプロセッサは３つの命令を収容する命令ワードを有するため、このファイルユニットには９個の読み出しポートが存在する。各々の命令は、代表的に２つのデータオペランドおよび保護ビットを必要とする。３つの書き込みポートが存在し、同時に実行する３つの機能的ユニットの各々の結果を収容する。各々の読み出しまたは書き込みポートは、関係するアドレスポートを有する。
一般に、前記保護ビットを前記マルチポートレジスタファイルから供給すべきである。一般に保護ビットまたはマルチビット保護値は、先行技術のレジスタファイルにおいて利用可能な32ビットレジスタおよび32ビット読み出しおよび書き込みポートより極めて小さい。各々の機能的ユニットからの書き込みを保護ビットまたは値によって調節すべき場合、多量の余計な回路網が必要となり、特に追加の32ビット書き込みおよび読み出しポートと追加の８ビット書き込みおよび読み出しアドレスポートとが必要になる。
本発明の要約
本発明の目的は、前記プロセッサの命令に必要な回路網を減少することである。
この目的は、前記プロセッサにおいて、
−  前記第１レジスタを、第１ファイルユニットにおいて、前記書き込みポート、書き込みアドレスポート、読み出しポートおよび読み出しアドレスポートの関係するものと共に配置し、
−  前記第２レジスタを、第２ファイルユニットにおいて、前記書き込みポート、書き込みアドレスポート、読み出しポートおよび読み出しアドレスポートの関係するものと共に配置したことを特徴とすることによって達成される。
保護ビットを、前記VLIWプロセッサ用第２レジスタに記憶する。他の形式のプロセッサに関して、他の形式の短いデータを前記第２ファイルユニットに記憶することができる。このような短いデータは、例えばフラグを含む。
【図面の簡単な説明】
本発明を、非制限的な例によって以下の図の参照と共に説明する。
図１は、先行技術のマルチポートレジスタファイルを示す。
図２は、本発明によるマルチポートレジスタファイルを示す。
図３は、レジスタファイルの平面図を示す。
図４は、先行技術の平面図における使用に適したレジスタセルを示す。
図５は、本発明によるレジスタファイルの平面図を示す。
図６は、図５のレジスタファイルのデータ部分における使用に適したレジスタセルを示す。
図７は、図５のレジスタファイルの保護部分における使用に適したレジスタセルを示す。
図８は、読み出しおよび書き込みアドレス信号を読み出しおよび書き込み許可信号に変換するデコーダを示す。
好適な実施例の詳細な説明
図２は、本発明によるマルチポートレジスタファイルを示す。このファイルを、再び128レジスタ、32ビット幅ファイルのデータファイルユニット20と、128レジスタ、１ビット幅ファイルの保護ファイルユニット22との２つの部分に分割する。
書き込みアドレス入力部WA1、WA2およびWA3と、書き込みデータ入力部WD1、WD2およびWD3とを、前記先行技術において示したようなものとする。しかしながら、データ入力部の１ビットのみを、保護ファイル22に伝送する必要がある。保護ビットは、両方のファイルに書込まれ、一方のファイルのみから読み出されるため、経路選択回路は必要ない。読み出しアドレス入力部RA1、RA2、RA3、RA4、RA5およびRA6と、読み出しデータ出力部RD1、RD2、RD3、RD4、RD5およびRD6とを、データファイル20の専用にする。読み出しアドレス入力部RA7、RA8およびRA9と、読み出しデータ出力部RD1、RD2およびRD3とを、保護ファイル22の専用にする。保護ファイル専用の読み出しデータ出力部は１ビット幅のみであることから、データファイル20の出力部において３つの追加の32ビット幅データバスを必要とする先行技術による実現よりも相当な回路網を減らすことができる。前記読み出しポートおよび書き込みポートは、欧州特許明細書第605927号のアーキテクチャに、ちょうど前記先行技術のマルチポートレジスタファイルが適合したように適合する。
図３は、図１によるレジスタファイルの平面図を示す。前記ファイルは、行および列に配置されたレジスタセルの行列から成る。簡潔にするために、上および下の行と左および右の列のみを示す。32列が存在し、１列が前記レジスタの各々のビットに対応する。128行が存在し、１行が前記レジスタの各々に対応する。
図４は、図３の平面図において使用するのに好適なレジスタセルを示す。左側において、書き込みデータ信号の個々の入力ビットWD1、WD2およびWD3が存在し、これらのビットをMOSFET401、402および403に各々接続する。MOSFET401、402および403のゲートを、書き込み許可信号の個々のビットWE1、WE2およびWE3に結合する。接続部425は、インバータ423に入力する配線ORとして機能する。帰還インバータ424を、インバータ423の入力部と出力部との間に結合する。インバータ423の出力部404を、MOSFET405−413のゲートに結合する。MOSFET405−413を、RD1−RD9の各々のビットに接続する。さらにMOSFET405−413を、MOSFET414−422に接続する。MOSFET414−422のゲートを、読み出し許可信号の各々のビットRE1−RE9に各々接続する。
したがって図３のレジスタファイルにおいて、以下のことが期待できる。
0003591842.tif 000002
図５は、本発明によるマルチポートレジスタファイルの平面図を示す。この新たなマルチポートレジスタファイルは、前記先行技術と同様の平面図を有するデータレジスタファイルユニット（ａ）と、128のレジスタセルの列を１列有する保護レジスタファイルユニット（ｂ）とを含む。データレジスタファイルユニット（ａ）の平面図は前記先行技術のレジスタファイルと同様であるが、この新たなレジスタファイルに必要なレジスタセルは非常に簡単である。保護レジスタファイルユニット（ｂ）に必要なセルは、よりいっそう簡単である。
図６は、本発明によるデータレジスタファイルユニット（ａ）において機能するレジスタセルを示す。このレジスタセルの左側部分は、図４におけるレジスタセルと同様であり、同様の部品は同様の参照符を有する。しかしながら、このセルの右側部分は簡単であり、トランジスタ405−413をトランジスタ605−610に置き換え、トランジスタ414−422をトランジスタ614−619に置き換えてある。すなわち、図６のセルは、図４のセルより６個少ないトランジスタと、対応して少ない読み出しラインとを有する。
図７は、図５の保護レジスタユニット（ｂ）において機能するレジスタセルを有する。このセルの左側部分は、図４のセルの左側部分に類似している。しかしながら、右側部分は、図６のセルよりさらに簡単である。MOSFET405−413をMOSFET705−707に置き換え、MOSFET414−422をMOSFET714−716に置き換えた。MOSFET705−707を、読み出しデータラインRD7−RD9の各々のビットに接続する。MOSFET714−716を、読み出し許可ラインRE7−RE9の各々のビットに結合する。すなわち、図７のセルは、図４のセルより12個少なく、図６のセルより６個少ないトランジスタを有し、対応してより少ない読み出しラインを有する。読み出し許可ラインRE7−９がデータレジスタファイルユニット（ａ）において必要なく、読み出し許可ラインRE1−６が保護レジスタファイルユニット（ｂ）において必要ないことから、ラインRE7−９は、ラインRE1−６の３つに割り当てられたのと同じ水平方向の空間を使用することができる。したがって、RE7−９のための追加の水平配線空間は必要ない。
したがって、図５のレジスタファイルにおいて、以下のことが分かる。
0003591842.tif 000003
したがって、図２および５−７の実施例は、図１および３−４の実施例に比べて、22912個少ないトランジスタと、384少ない水平配線空間と、90少ない垂直配線とを有する。
図４、６および７における読み出し許可入力信号および書き込み許可入力信号を、図８に示すようなデコーダ回路を使用して、読み出しアドレス入力信号および書き込みアドレス入力信号から得る。標準的なアドレス復号化ブロックを、801、802、803、804、805、806、807、808、809、810、811および812において示す。これらのブロックは、８ビットアドレスWA1、WA2、WA3、RA1、RA2、RA3、RA4、RA5、RA6、RA7、RA8およびRA9を、128ビット許可信号WE1、WE2、WE3、RE1、RE2、RE3、RE4、RE5、RE6、RE7、RE8およびRE9に各々変換する。
書き込み許可信号の各々のビットは、レジスタファイルの各々の行に関係し、データレジスタファイルユニット（ａ）および保護レジスタファイルユニット（ｂ）の双方の各々の行における各々のセルに行く。読み出し許可信号RE1、RE2、RE3、RE4、RE5およびRE6の各々のビットは、データレジスタファイルユニット（ａ）の各々の行に関係し、データレジスタファイルユニット（ａ）の各々の行における各々のセルに行く。読み出し許可信号RE7、RE8およびRE9の各々のビットは、保護レジスタファイルユニット（ｂ）の各々の行に関係し、保護レジスタファイルユニット（ｂ）の各々の行における各々のセルに行く。したがって、例えば、WE1のビット１は両方のレジスタファイルユニットの行１における各々のセルに行き、RE1のビット１はデータレジスタファイルユニット（ａ）の行１における各々のセルに行き、RE7のビット１は保護レジスタファイルユニット（ｂ）の行１のセルに行く、等である。
これらの通常の当業者は、本発明によるマルチポートレジスタファイルが他の種々の実施例を持ちうることを容易に認識するであろう。これらの実施例は、以下のものを含む。前記データレジスタを、個々のプロセッサにおいてオペランドおよび結果データに使用される、16ビットのようなどのような幅としてもよい。前記保護レジスタを、マルチビット保護またはフラグ値を使用すべき場合、僅かにより広くしてもよい。プロセッサが他の異なった幅のデータを使用する必要がある場合、より多くのレジスタファイルを使用してもよい。
【図１】
0003591842.tif 000004
【図２】
0003591842.tif 000005
【図３】
0003591842.tif 000006
【図４】
0003591842.tif 000007
【図５】
0003591842.tif 000008
【図６】
0003591842.tif 000009
【図７】
0003591842.tif 000010
【図８】
0003591842.tif 000011