JPH1131137A - レジスタファイル - Google Patents

レジスタファイル

Info

Publication number
JPH1131137A
JPH1131137A JP9202430A JP20243097A JPH1131137A JP H1131137 A JPH1131137 A JP H1131137A JP 9202430 A JP9202430 A JP 9202430A JP 20243097 A JP20243097 A JP 20243097A JP H1131137 A JPH1131137 A JP H1131137A
Authority
JP
Japan
Prior art keywords
processor element
register
register file
processor
shared
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.)
Pending
Application number
JP9202430A
Other languages
English (en)
Inventor
Toshiaki Inoue
俊明 井上
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP9202430A priority Critical patent/JPH1131137A/ja
Priority to US09/113,291 priority patent/US6219777B1/en
Priority to KR1019980027859A priority patent/KR19990013772A/ko
Publication of JPH1131137A publication Critical patent/JPH1131137A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • 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/30098Register arrangements
    • G06F9/30141Implementation provisions of register files, e.g. ports
    • 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 or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】複数のプロセッサ要素間で共有されたレジスタ
ファイルのポート数および面積を削減し、共有データの
高速なアクセスを可能にするレジスタファイルの提供。 【解決手段】プロセッサ要素101及び106のそれぞれに割
り当てられたレジスタファイル102及び107が、各プロセ
ッサ要素のみから参照可能な局所レジスタ部分104及び1
09と、各プロセッサ要素から参照可能であり、同一の内
容を保持する共有レジスタ部分105及び108を備える。さ
らにプロセッサ要素106と111、プロセッサ要素111と11
6、プロセッサ要素116と101におけるレジスタファイル
の共有部分110と113、115と118、120と103、及びプロセ
ッサ要素111及び116における局所レジスタ部分114及び1
19においても同等の構成とする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マルチプロセッサ
等に用いられるレジスタファイルに関するものである。
【0002】
【従来の技術】集積度の向上に伴って、プロセッサ内に
搭載可能な演算器数等のハードウェア量が増加してい
る。スーパースカラプロセッサやVLIW(Very Lo
ng Instruction Word)プロセッサ等、複数命令の
並列実行が可能なプロセッサでは、これら複数の演算器
等を並列に動作させることによって処理性能を向上して
いる。ただし、この種のプロセッサで並列処理性能を維
持していくためには、同時動作する演算器の数に応じて
データの同時供給能力、および演算結果の同時書き込み
能力を備えた多ポート構成のレジスタファイルが必要で
ある。
【0003】例えば、MIPS社製のスーパースカラプ
ロセッサであるR10000では、4個の命令(2個の
整数演算命令、1個のロード/ストア命令、1個の分岐
命令)の並列実行を可能にするために、10ポート(読
み出しポート7個、書き込みポート3個)の構成の整数
演算用レジスタファイルが採用されている。
【0004】さらに集積度が向上し、スーパースカラプ
ロセッサをプロセッサ要素として複数個搭載することが
可能である場合、並列処理性能を維持するためにはプロ
セッサ要素間の共有データを高速にアクセスできる機構
が必要である。これは、共有データを、キャッシュある
いは主記憶に置かずに、レジスタファイル上に置いて、
複数のプロセッサ要素でアクセスする方式が効果的であ
るが、この場合も、スーパースカラプロセッサ等と同様
に、レジスタファイルのポート数を多重化することで解
決できる。
【0005】例えば2個の演算命令を並列実行可能なス
ーパースカラプロセッサ要素4個を搭載したプロセッサ
の構成の一例を図6に示す。図6を参照すると、すべて
のプロセッサ要素601〜604がレジスタファイル6
05に格納されたすべてのデータを共有する場合、各プ
ロセッサ要素内の2個の演算器611がそれぞれレジス
タファイル605の読み出しポート2個と書き込みポー
ト1個を消費するので、レジスタファイル605は最大
で20ポート(読み出し16個、書き込み4個)のもの
を用意すればよい。
【0006】これに対して、並列実行される命令毎にア
クセス可能なレジスタを制限することによって、並列実
行命令数を維持したままレジスタファイルのポート数を
削減することが可能である。図7に、VLIWマシンを
用いた場合の構成の一例を示す。図7を参照すると、4
個の並列実行可能な命令グループ701を2命令ずつ2
個の命令グループ702、703に分割し、これらを処
理するプロセッサ要素712、713に、それぞれ専用
のレジスタファイル704、705を割り当てる。命令
グループ702は演算器706、707を用いて演算を
実行し、レジスタファイル704をアクセスする。同様
に、命令グループ703は演算器709、710を用い
て演算を実行し、レジスタファイル705をアクセスす
る。
【0007】ここでレジスタファイル704に格納され
たデータを、プロセッサ要素713が使用する場合は、
セレクタ711を介してレジスタファイル704からレ
ジスタファイル705へ転送する。セレクタ711は、
通常の演算命令では演算器710の出力結果を選択し、
レジスタ間転送命令実行時にレジスタファイル704の
出力を選択するように制御される。同様に、セレクタ7
08はレジスタファイル705からレジスタファイル7
04へのレジスタ転送を制御するものである。
【0008】このような構成とすることによって、各命
令グループ(各プロセッサ要素)に最大6ポート(読み
出しポート4個、書き込みポート2個)のレジスタファ
イルを用意すればよく、4個の全ての命令で共有する場
合の12ポート(読み出しポート8個、書き込みポート
4個)に対して、半分のポート数で済む。例えば特開平
5−233281号公報には、この種の技術を採用して
プロセッサ要素間の独立性を高め、チップレイアウトを
容易化する高性能計算機が提案されている。
【0009】
【発明が解決しようとする課題】上記したように、図6
に示すような構成をとると、プロセッサ要素間でのデー
タの共有は容易であり、他のプロセッサ要素が生成した
データを高速にアクセスすることが可能である。
【0010】しかしながら、図6に示した構成の場合、
プロセッサ要素に搭載する演算器数に応じてレジスタフ
ァイルのポート数、すなわち遅延および面積が増大する
ので、スケーラブルな性能向上が得られない、という問
題点を有している。
【0011】また命令の独立性やデータの局所性が高
く、プロセッサ要素間で共有するデータが極めて少ない
プログラム(画像処理等)では、必要以上のポート数を
持っていることになるので無駄が多い。
【0012】一方、図7に示した構成をとると、図6に
示した構成に比べて、レジスタファイルのポート数を削
減することが可能である反面、使用するデータが他のプ
ロセッサ要素に割り当てられたレジスタファイル中に存
在する場合、使用に先立ってレジスタファイル間でデー
タを転送する操作が必要になる。この操作を、レジスタ
ファイル間転送命令で行っているために、オーバーヘッ
ドが伴い、高速なアクセスが困難になる。
【0013】したがって、本発明は、上記問題点に鑑み
てなされたものであって、その目的は、並列処理による
ポート数の増大を抑えるとともに、プロセッサ要素間の
共有データのアクセスにおいて、オーバーヘッドが伴わ
ないレジスタファイルを提供することを目的とする。
【0014】
【課題を解決するための手段】前記目的を達成するた
め、本願第1発明は、複数のプロセッサ要素からなるマ
ルチプロセッサ構成において、前記プロセッサ要素がそ
れぞれ複数ワードからなる固有のレジスタファイルを持
ち、前記レジスタファイルを、他のプロセッサ要素と共
有するために複数のプロセッサ要素で同時にアクセスで
きるポートを有するワード部分と、前記プロセッサ要素
のみがアクセス可能なワード部分に分割する構成をと
る。
【0015】本願第2発明のレジスタファイルは、第1
のプロセッサ要素が所有するnワード(n≧3)のレジ
スタファイルのうち、iワード(1≦i≦n−2)が第
2のプロセッサ要素と共有して前記第1のプロセッサ要
素と同時にアクセスできるポートを有し、jワード(1
≦j≦n−i−1)が第3のプロセッサ要素と共有して
前記第1のプロセッサ要素と同時にアクセス可能なポー
トを有し、(n−i−j)ワードが前記第1のプロセッ
サ要素のみがアクセスできるポートを有する構成をと
る。
【0016】本願第3発明のレジスタファイルは、第1
のプロセッサ要素のnワード(n≧4)のレジスタファ
イルのうち、iワード(1≦i≦n−3)が第2のプロ
セッサ要素と共有して前記第1のプロセッサ要素と同時
にアクセスできるポートを有し、jワード(1≦j≦n
−i−2)が第3のプロセッサ要素と共有して前記第1
のプロセッサ要素と同時にアクセス可能なポートを有
し、kワード(1≦k≦n−i−k−1)が全てのプロ
セッサ要素からアクセス可能なポート数を有し、(n−
i−j−k)ワードが前記第1のプロセッサ要素のみが
アクセスできるポートを有する構成をとる。
【0017】以上3個の発明のいずれかを適用すること
により、レジスタファイルの共有部分のみが、複数のプ
ロセッサ要素から同時アクセス可能なポート数を備えれ
ばよい。従って図6の従来例と比較して、ポート数を大
幅に削減することが可能になる。
【0018】そして本願第4発明のレジスタファイル
は、第1のプロセッサ要素が所有するレジスタファイル
の、第2のプロセッサ要素と共有されてアクセスされる
ワード部分のメモリセルが、前記第1のプロセッサ要素
の演算結果を書き込むための書き込みポートと、前記第
2のプロセッサ要素の演算結果を書き込むための書き込
みポートと、前記第1のプロセッサ要素へデータを供給
するための読み出しポートと、前記第2のプロセッサ要
素へデータを供給するための読み出しポートを有する構
成をとる。
【0019】本願第5発明のレジスタファイルは、第1
のプロセッサ要素が所有するレジスタファイルの、第2
のプロセッサ要素と共有されてアクセスされるワード部
分のメモリセルが、前記第1のプロセッサ要素の演算結
果を書き込むための書き込みポートと、前記第2のプロ
セッサ要素へデータを供給するための読み出しポートを
有する構成をとる。
【0020】以上2個の発明のいずれかをメモリセルに
適用することにより、暗黙的に複数のプロセッサ要素間
でデータを共有することができる。従って、図7の従来
技術に示したデータ転送操作は不要になり、オーバーヘ
ッドを削減することが可能である。
【0021】本願第6発明では、特定のプロセッサ要素
が所有する本発明のレジスタファイルの、前記プロセッ
サ要素のみがアクセス可能であり、他のプロセッサ要素
と共有してアクセスされないワード部分において、前記
プロセッサ要素の演算命令が指定するnビット(n≧
2)のレジスタ番号をmビット(m>n)のレジスタ番
号に変換するレジスタ番号変換機構を有することによっ
て、2m個のレジスタファイルにアクセスする手段をと
る。
【0022】以上の発明を演算命令のレジスタ番号指定
時に適用することにより、命令で指定可能な局所レジス
タ数を増加させることができる。
【0023】
【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して詳細に説明する。
【0024】図1は、本発明のレジスタファイルの第1
の実施の形態の構成を示す図である。図1を参照する
と、プロセッサ要素101は、2個の2入力1出力の演
算器121を含み、レジスタファイル102は、4個の
読み出しポートと2個の書き込みポートを備えている。
【0025】プロセッサ要素101とレジスタファイル
102は、2個の演算器が並列に動作可能なように接続
されている。すなわち、プロセッサ要素101は、演算
命令で指定したレジスタの内容を最大4個同時にレジス
タファイル102から読み出して2個の演算器に供給
し、同時に最大2個の演算結果を、演算命令で指定した
レジスタに書き込むことが可能である。
【0026】以上プロセッサ要素101とレジスタファ
イル102について説明した構成および動作は、プロセ
ッサ要素106とレジスタファイル107、プロセッサ
要素111とレジスタファイル112、およびプロセッ
サ要素116とレジスタファイル117についても同等
である。
【0027】ところで、レジスタファイル102は32
本のレジスタ(R0〜R31)を含み、共有レジスタ1
03(R0〜R7)、共有レジスタ105(R24〜R
31)、局所レジスタ104(R8〜R23)の3つの
領域に分割されている。
【0028】局所レジスタ104は、プロセッサ要素1
01のみがアクセス可能なレジスタであり、他のプロセ
ッサ要素はアクセスできない。
【0029】一方、共有レジスタ105(R24〜R3
1)は、プロセッサ要素106が所有するレジスタファ
イル107に含まれる共有レジスタ108(R0〜R
7)と同一の内容を指し、プロセッサ要素101とプロ
セッサ要素106の双方からアクセス可能である。
【0030】同様に、プロセッサ要素106が所有する
レジスタファイル107に含まれる局所レジスタ109
は、プロセッサ要素106のみがアクセス可能なレジス
タであり、共有レジスタ110は、プロセッサ要素11
1が所有するレジスタファイル112に含まれる共有レ
ジスタ113と同一の内容を指す。
【0031】同様に、プロセッサ要素111が所有する
レジスタファイル112に含まれる局所レジスタ114
は、プロセッサ要素111のみがアクセス可能なレジス
タであり、共有レジスタ115はプロセッサ要素116
が所有するレジスタファイル117に含まれる共有レジ
スタ118と同一の内容を指す。
【0032】同様に、プロセッサ要素116が所有する
レジスタファイル117に含まれる局所レジスタ119
は、プロセッサ要素116のみがアクセス可能なレジス
タであり、共有レジスタ120はプロセッサ要素101
が所有するレジスタファイル102に含まれる共有レジ
スタ103と同一の内容を指す。
【0033】図2は、本発明のレジスタファイルの第2
の実施の形態の構成を示す図である。図2を参照する
と、プロセッサ要素201は、2個の2入力1出力の演
算器を含み、レジスタファイル202は4個の読み出し
ポートと2個の書き込みポートを備えている。
【0034】プロセッサ要素201とレジスタファイル
202は、2個の演算器が並列に動作可能なように接続
されている。すなわちプロセッサ要素201は、演算命
令で指定したレジスタの内容を最大4個同時にレジスタ
ファイル202から読み出して2個の演算器に供給し、
同時に最大2個の演算結果を、演算命令で指定したレジ
スタに書き込むことが可能である。
【0035】以上の構成および動作は、プロセッサ要素
206とレジスタファイル207、プロセッサ要素21
1とレジスタファイル212、およびプロセッサ要素2
16とレジスタファイル217においても同等である。
【0036】レジスタファイル202は32本のレジス
タ(R0〜R31)を含み、共有レジスタ221(R0
〜R7)、共有レジスタ203(R8〜R15)、共有
レジスタ205(R16〜R31)、局所レジスタ20
4(R8〜R23)の4つの領域に分割されている。局
所レジスタ204はプロセッサ要素201のみがアクセ
ス可能なレジスタであり、他のプロセッサ要素はアクセ
スできない。
【0038】一方、共有レジスタ205(R24〜R3
1)は、プロセッサ要素206が所有するレジスタファ
イル207に含まれる共有レジスタ208(R8〜R1
5)と同一の内容を指し、プロセッサ要素201とプロ
セッサ要素206の双方からアクセス可能である。
【0039】同様に、プロセッサ要素206が所有する
レジスタファイル207に含まれる局所レジスタ209
は、プロセッサ要素206のみがアクセス可能なレジス
タであり、共有レジスタ210はプロセッサ要素211
が所有するレジスタファイル212に含まれる共有レジ
スタ213と同一の内容を指す。
【0040】同様に、プロセッサ要素211が所有する
レジスタファイル212に含まれる局所レジスタ214
は、プロセッサ要素211のみがアクセス可能なレジス
タであり、共有レジスタ215はプロセッサ要素216
が所有するレジスタファイル217に含まれる共有レジ
スタ218と同一の内容を指す。
【0041】同様に、プロセッサ要素216が所有する
レジスタファイル217に含まれる局所レジスタ219
は、プロセッサ要素216のみがアクセス可能なレジス
タであり、共有レジスタ220はプロセッサ要素201
が所有するレジスタファイル202に含まれる共有レジ
スタ203と同一の内容を指す。
【0042】また、プロセッサ要素201が所有するレ
ジスタファイル202に含まれる共有レジスタ221
は、プロセッサ要素206が所有するレジスタファイル
207に含まれる共有レジスタ222、プロセッサ要素
211が所有するレジスタファイル212に含まれる共
有レジスタ223、プロセッサ要素216が所有するレ
ジスタファイル217に含まれる共有レジスタ224と
同一の内容を指し、全てのプロセッサ要素からアクセス
可能である。
【0043】以上、図1および図2を参照して、本発明
の実施の形態におけるレジスタファイルを詳細に説明し
たが、本発明において、プロセッサ要素の個数、プロセ
ッサ要素内の演算器の個数、レジスタファイルの総ワー
ド数、共有レジスタ部分、局所レジスタ部分のワード数
は任意である、本発明は、図1および図2に示した構成
にのみ限定されるものではない。
【0044】また図1および図2に示した実施の形態で
は、隣接する2個のプロセッサ要素でレジスタファイル
の一部を共有する部分を設けたが、本発明においては、
これを3個以上のプロセッサ要素で共有する構成に拡張
して適用してもよいことは勿論である。
【0045】図3は、本発明のレジスタファイルを構成
するメモリセルの、他のプロセッサ要素との共有部分の
実施例の構成を示す図である。
【0046】メモリセル301は2組の書き込みポート
302、303および2組の読み出しポート304、3
05を備えている。メモリセル301と同等の構成のメ
モリセルを並列に、ワード長で規定されるビット数だけ
配置することによってレジスタ306が構成される。さ
らに同じポートにワード数で規定されるセルを接続する
ことによって、レジスタファイルが構成される。
【0047】ここで書き込みポート302および読み出
しポート304の組を1個のプロセッサ要素からのアク
セスに割り当て、書き込みポート303および読み出し
ポート305の組を他のプロセッサ要素からのアクセス
に割り当てる。
【0048】このような構成とすることによって、2個
のプロセッサ要素間で暗黙的にデータの共有が可能であ
る。
【0049】即ち、共有データをアクセスするために、
プロセッサ要素がデータ転送命令等の明示的な手段を用
いる必要はない。
【0050】図4は、本発明のレジスタファイルを構成
するメモリセルの、他のプロセッサ要素との共有部分に
おける第2の実施例の構成を示す図である。メモリセル
401は1組の書き込みポート402、および1組の読
み出しポート403を備える。メモリセル401を、図
3と同様に配列することによって、レジスタ404、4
05、および406が構成される。ここで書き込みポー
ト402を1個のプロセッサ要素からの書き込み専用ポ
ートとして割り当て、読み出しポート304を他のプロ
セッサ要素からの読み出し専用ポートとして割り当て
る。このような構成によっても、図3と同様に、2個の
プロセッサ要素間で暗黙的にデータを共有することが可
能である。
【0051】以上、図3および図4に示した構成は、プ
ロセッサ要素が2入力1出力の演算器を1個含んでいる
場合について、レジスタファイルの共有部分のメモリセ
ルを説明したが、プロセッサ要素に含まれる演算器数に
応じてメモリセルが備えるポート数は可変である。例え
ば2個のプロセッサ要素がそれぞれ並列動作可能な2入
力1出力の演算器を2個ずつ含んでいる場合は、図3に
対応するメモリセルは4組の書き込みポートと、4組の
2本の読み出しポートを備え、図4に対応するメモリセ
ルは2組の書き込みポートし、2組の2本の読み出しポ
ートを備えればよい。また各プロセッサ要素が異なる演
算器構成を持つ場合も同様に本発明を適用することは可
能である。
【0052】図5は、本発明のレジスタファイルのレジ
スタ番号変換部の実施例の構成を示す図である。図5を
参照すると、局所論理レジスタ501は、これを所有す
るプロセッサ要素のみからアクセス可能であり、そのプ
ロセッサ要素が実行する演算命令内で、レジスタ番号を
用いて指定される論理的なレジスタである。また物理レ
ジスタ503は、ハードウェア上に実装され、局所論理
レジスタ数(ここではR8〜R23の16個)よりも多
くのレジスタで構成されるレジスタファイルである。変
換テーブル502は、プロセッサ要素を指定するプロセ
ッサ要素番号と、演算命令が指定する局所論理レジスタ
番号を用いて、論理局所レジスタ501と物理レジスタ
503を任意に対応づけるテーブルである。同様に局所
論理レジスタ504、変換テーブル505、および物理
レジスタ506は他のプロセッサ要素に属し、変換機構
の構成および動作は前記と同等である。
【0053】
【発明の効果】以上説明したように、本発明によれば下
記記載の効果を奏する。
【0054】本発明の第1の効果は、複数のプロセッサ
要素でレジスタファイルを共有する場合に、すべてのプ
ロセッサで同時にアクセスするのに必要なポート数を備
える必要がなく、ポート数の増大に伴う面積および遅延
の増大を抑えることができる、ということである。
【0055】その理由は次の通りである。例えば2入力
1出力の演算器を2個含むプロセッサ要素4個からなる
プロセッサにおいて、全てのプロセッサ要素で演算に使
用するレジスタを共有する場合、読み書きに必要なポー
ト数は20ポートである。これに対して、隣接する2個
のプロセッサ要素のみで互いのレジスタファイルの一部
を共有するように構成してなる本発明の場合、高々共有
部分に12ポート、非共有部分に2ポート用意するだけ
でよいためである(例えば図1において、R8〜R23
は6ポート(読み出し4個、書き込み2個)、R0〜R
7及びR24〜R31で8ポート(読み出し4個、書き
込み4個))。これによってポート数を大幅に削減で
き、面積および遅延を削減することが可能である。本発
明の効果は演算器数やプロセッサ要素数によらずに得ら
れるものである。
【0056】本発明の第2の効果は、複数のプロセッサ
要素で共有データをアクセスする場合、各プロセッサ要
素に割り当てられたレジスタファイル間で、ソフトウェ
アによる明示的なデータ転送操作を実行する必要がな
く、共有データのアクセスにおいてオーバーヘッドを排
除することができる、ということである。
【0057】その理由は、例えばプロセッサ要素が所有
するレジスタファイルの一部を、他のプロセッサ要素が
所有するレジスタファイルの一部と共有し、共有部分の
メモリセルを2個のプロセッサから同時アクセス可能な
ポート数を備えた構成にしたためである。
【0058】本発明の第3の効果は、プロセッサ要素が
レジスタファイルの局所レジスタ部分をアクセスする場
合に、レジスタ不足による性能劣化を抑えることができ
る。
【0059】その理由は、局所論理レジスタをより広大
な物理レジスタに名前替えすることによって、レジスタ
の使い回しで生じる擬似的な依存関係(逆依存または出
力依存)が削減でき、従って不要な主記憶アクセスによ
るオーバーヘッドも削減できるためである。
【図面の簡単な説明】
【図1】本発明の実施の形態の構成を示す図である。
【図2】本発明の別の実施の形態の構成を示す図であ
る。
【図3】本発明の実施の形態におけるレジスタファイル
のメモリセルの構成の一例を示す図である。
【図4】本発明の実施の形態におけるレジスタファイル
のメモリセルの構成の別の例を示す図である。
【図5】本発明の実施の形態におけるレジスタファイル
のレジスタ番号変換部の構成の一例を示す図である。
【図6】従来のレジスタファイルの構成の一例を示す図
である。
【図7】従来のレジスタファイルの構成の別の例を示す
図である。
【符号の説明】
101、106、111、116、201、206、2
11、216、601、602、603、604、71
2、713 プロセッサ要素 102、107、112、117、202、207、2
12、217、605、704、705 レジスタファ
イル 103、105、108、110、113、115、1
18、120、203、205、208、210、21
3、215、218、220、221、222、22
3、224 共有レジスタ 104、109、114、119、204、209、2
14、219 局所レジスタ 301、401 メモリセル 302、303、402 書き込みポート 304、305、403 読み出しポート 306、307、308、404、405、406 レ
ジスタ 501、504 局所論理レジスタ 502、505 変換テーブル 503、506 物理レジスタ 701、702、703 命令グループ 706、707、709、701 演算器 708、711 セレクタ

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】複数のプロセッサ要素からなるマルチプロ
    セッサ構成において、前記複数のプロセッサ要素の各々
    が備える複数ワードからなるレジスタファイルであっ
    て、 他のプロセッサ要素と共有するために複数のプロセッサ
    要素で同時にアクセスできるポートを有するワード部分
    と、自プロセッサ要素のみがアクセス可能なワード部分
    と、に分割されている、ことを特徴とするレジスタファ
    イル。
  2. 【請求項2】請求項1記載のレジスタファイルにおい
    て、 第1のプロセッサ要素が所有するnワード(n≧3)の
    レジスタファイルのうち、 iワード(1≦i≦n−2)が第2のプロセッサ要素と
    共有して前記第1のプロセッサ要素と同時にアクセスで
    きるるポートを有し、 jワード(1≦j≦n−i−1)が第3のプロセッサ要
    素と共有して前記第1のプロセッサ要素と同時にアクセ
    ス可能なポートを有し、 (n−i−j)ワードが前記第1のプロセッサ要素のみ
    がアクセスできるポートを有する、ことを特徴とするレ
    ジスタファイル。
  3. 【請求項3】請求項1記載のレジスタファイルにおい
    て、 第1のプロセッサ要素のnワード(但し、n≧4)のレ
    ジスタファイルのうち、 iワード(1≦i≦n−3)が第2のプロセッサ要素と
    共有して前記第1のプロセッサ要素と同時にアクセスで
    きるポートを有し、 jワード(1≦j≦n−i−2)が第3のプロセッサ要
    素と共有して前記第1のプロセッサ要素と同時にアクセ
    ス可能なポートを有し、 kワード(1≦k≦n−i−k−1)が全てのプロセッ
    サ要素からアクセス可能なポート数を有し、 (n−i−j−k)ワードが前記第1のプロセッサ要素
    のみがアクセスできるポートを有する、ことを特徴とす
    るレジスタファイル。
  4. 【請求項4】請求項1記載のレジスタファイルにおい
    て、 第1のプロセッサ要素が所有するレジスタファイルの、
    第2のプロセッサ要素と共有されてアクセスされるワー
    ド部分のメモリセルが、 前記第1のプロセッサ要素の演算結果を書き込むための
    書き込みポートと、 前記第2のプロセッサ要素の演算結果を書き込むための
    書き込みポートと、 前記第1のプロセッサ要素へデータを供給するための読
    み出しポートと、 前記第2のプロセッサ要素へデータを供給するための読
    み出しポートと、 を有することを特徴とするレジスタファイル。
  5. 【請求項5】請求項1記載のレジスタファイルにおい
    て、 第1のプロセッサ要素が所有するレジスタファイルの、
    第2のプロセッサ要素と共有されてアクセスされるワー
    ド部分のメモリセルが、 前記第1のプロセッサ要素の演算結果を書き込むための
    書き込みポートと、 前記第2のプロセッサ要素へデータを供給するための読
    み出しポートと、 を有することを特徴とするレジスタファイル。
  6. 【請求項6】請求項1記載のレジスタファイルにおい
    て、 前記レジスタファイルを備える自プロセッサ要素のみが
    アクセス可能であり、他のプロセッサ要素と共有してア
    クセスされないワード部分において、 前記自プロセッサ要素の演算命令が指定するnビット
    (n≧2)のレジスタ番号を、mビット(m>n)のレ
    ジスタ番号に変換するレジスタ番号変換手段を備え、2
    m個のレジスタファイルにアクセスできるように構成さ
    れてなる、ことを特徴とするレジスタファイル。
JP9202430A 1997-07-11 1997-07-11 レジスタファイル Pending JPH1131137A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP9202430A JPH1131137A (ja) 1997-07-11 1997-07-11 レジスタファイル
US09/113,291 US6219777B1 (en) 1997-07-11 1998-07-10 Register file having shared and local data word parts
KR1019980027859A KR19990013772A (ko) 1997-07-11 1998-07-10 레지스터 화일

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9202430A JPH1131137A (ja) 1997-07-11 1997-07-11 レジスタファイル

Publications (1)

Publication Number Publication Date
JPH1131137A true JPH1131137A (ja) 1999-02-02

Family

ID=16457394

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9202430A Pending JPH1131137A (ja) 1997-07-11 1997-07-11 レジスタファイル

Country Status (3)

Country Link
US (1) US6219777B1 (ja)
JP (1) JPH1131137A (ja)
KR (1) KR19990013772A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002048871A1 (en) * 2000-12-11 2002-06-20 Koninklijke Philips Electronics N.V. Signal processing device and method for supplying a signal processing result to a plurality of registers

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7114056B2 (en) * 1998-12-03 2006-09-26 Sun Microsystems, Inc. Local and global register partitioning in a VLIW processor
US6629232B1 (en) * 1999-11-05 2003-09-30 Intel Corporation Copied register files for data processors having many execution units
JP2001167040A (ja) * 1999-12-14 2001-06-22 Hitachi Ltd 記憶サブシステム及び記憶制御装置
GB2362731B (en) * 2000-05-23 2004-10-06 Advanced Risc Mach Ltd Parallel processing of multiple data values within a data word
GB2419005B (en) * 2002-04-22 2006-06-07 Micron Technology Inc Providing a register file memory with local addressing in a SIMD parallel processor
WO2004046914A2 (en) * 2002-11-20 2004-06-03 Koninklijke Philips Electronics N.V. Vliw processor with copy register file
US7376813B2 (en) * 2004-03-04 2008-05-20 Texas Instruments Incorporated Register move instruction for section select of source operand
US7246218B2 (en) * 2004-11-01 2007-07-17 Via Technologies, Inc. Systems for increasing register addressing space in instruction-width limited processors
US20060104351A1 (en) * 2004-11-15 2006-05-18 Shu-Wen Teng Video/image processing devices and methods
KR101738941B1 (ko) 2010-03-23 2017-05-24 삼성전자주식회사 재구성 가능 어레이 및 재구성 가능 어레이의 제어 방법
US20110249744A1 (en) * 2010-04-12 2011-10-13 Neil Bailey Method and System for Video Processing Utilizing N Scalar Cores and a Single Vector Core
US20140258680A1 (en) * 2013-03-05 2014-09-11 Qualcomm Incorporated Parallel dispatch of coprocessor instructions in a multi-thread processor
US11295792B2 (en) * 2019-09-30 2022-04-05 Taiwan Semiconductor Manufacturing Company, Ltd. Back-up and restoration of register data

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62164155A (ja) 1986-01-16 1987-07-20 Nec Corp マルチプロセツサアドレス方式
JPS6347835A (ja) 1986-08-18 1988-02-29 Agency Of Ind Science & Technol パイプライン計算機
JPS63186363A (ja) 1987-01-28 1988-08-01 Nec Corp マルチcpuシステムのメモリ領域設定回路
JPH02116949A (ja) 1988-10-27 1990-05-01 Nec Corp 情報処理システム
DE69327504T2 (de) * 1992-10-19 2000-08-10 Koninkl Philips Electronics Nv Datenprozessor mit Operationseinheiten, die gemeinsam Gruppen von Registerspeichern benutzen
US5574935A (en) * 1993-12-29 1996-11-12 Intel Corporation Superscalar processor with a multi-port reorder buffer
US5644780A (en) * 1995-06-02 1997-07-01 International Business Machines Corporation Multiple port high speed register file with interleaved write ports for use with very long instruction word (vlin) and n-way superscaler processors

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002048871A1 (en) * 2000-12-11 2002-06-20 Koninklijke Philips Electronics N.V. Signal processing device and method for supplying a signal processing result to a plurality of registers

Also Published As

Publication number Publication date
KR19990013772A (ko) 1999-02-25
US6219777B1 (en) 2001-04-17

Similar Documents

Publication Publication Date Title
Patt et al. HPS, a new microarchitecture: Rationale and introduction
US5471628A (en) Multi-function permutation switch for rotating and manipulating an order of bits of an input data byte in either cyclic or non-cyclic mode
US5301340A (en) IC chips including ALUs and identical register files whereby a number of ALUs directly and concurrently write results to every register file per cycle
US5765011A (en) Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams
JP3916680B2 (ja) プロセッサ
US5838986A (en) RISC microprocessor architecture implementing multiple typed register sets
US5713037A (en) Slide bus communication functions for SIMD/MIMD array processor
US6631439B2 (en) VLIW computer processing architecture with on-chip dynamic RAM
US7904702B2 (en) Compound instructions in a multi-threaded processor
CN1656445B (zh) 处理系统
US8250348B2 (en) Methods and apparatus for dynamically switching processor mode
JPH1131137A (ja) レジスタファイル
US20060265555A1 (en) Methods and apparatus for sharing processor resources
JPS6014336A (ja) 命令処理装置
WO2006112045A1 (ja) 演算処理装置
EP1446717A1 (en) Method and apparatus for interfacing a processor to a coprocessor
Sprangle et al. Facilitating superscalar processing via a combined static/dynamic register renaming scheme
US6230251B1 (en) File replication methods and apparatus for reducing port pressure in a clustered processor
US6282585B1 (en) Cooperative interconnection for reducing port pressure in clustered microprocessors
Hopkins A perspective on the 801/reduced instruction set computer
US6298355B1 (en) Computer system
Kaxiras et al. Distributed vector architecture: beyond a single vector-IRAM
Mulder et al. Cost-effective design of application specific vliw processors using the scarce framework
JP3341662B2 (ja) 情報処理装置及び多ポートレジスタファイル
JP2000029778A (ja) 記憶素子

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20000523