JPH0764857A - データ記憶装置 - Google Patents

データ記憶装置

Info

Publication number
JPH0764857A
JPH0764857A JP5209315A JP20931593A JPH0764857A JP H0764857 A JPH0764857 A JP H0764857A JP 5209315 A JP5209315 A JP 5209315A JP 20931593 A JP20931593 A JP 20931593A JP H0764857 A JPH0764857 A JP H0764857A
Authority
JP
Japan
Prior art keywords
register file
window
contents
register
switching
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.)
Ceased
Application number
JP5209315A
Other languages
English (en)
Inventor
Hiroaki Yamamoto
裕明 山本
Jiro Miyake
二郎 三宅
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP5209315A priority Critical patent/JPH0764857A/ja
Publication of JPH0764857A publication Critical patent/JPH0764857A/ja
Ceased legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 ウインドウ構成のレジスタファイルと演算器
の間に第2のレジスタファイルを設けることにより、レ
ジスタファイル全体の回路規模を縮小する。 【構成】 ウインドウ構成のレジスタファイル10は読
み出しポートと書き込みポートを各1つずつ備えたレジ
スタを備え、1ウインドウ分のレジスタファイル11と
の間でデータ・アクセスを行なうことができる。ウイン
ドウ・ポインタの値に応じて、レジスタファイル10の
選択された部分をレジスタファイル11に置き換える。
レジスタファイル11の置き換えはウインドウ・ポイン
タの値が変化したときに行なう。演算器からレジスタへ
のアクセスは、レジスタファイル11へのアクセスとし
て処理する。レジスタファイル11を構成するレジスタ
は、演算器の数に応じた数の読み出しポートと書き込み
ポートの他に、レジスタファイル10とのデータアクセ
スのための読み出しポートと書き込みポートを備える。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ウインドウ構成のレジ
スタファイルに関する。
【0002】
【従来の技術】マイクロプロセッサにおける高速処理を
実現するため、大規模なレジスタファイル、すなわち多
数のレジスタを備えたアーキテクチャが提案され、実用
化されている(例えば、「RISCプロセッサ入門」
(大貫徹、1991 CQ出版)参照)。例えばSPA
RCアーキテクチャの場合、オーバーラップした領域を
持つウインドウ構成のレジスタファイルを採用してお
り、ウインドウポインタの減少/増加をサブルーチンの
呼び出し/サブルーチンからの復帰に対応させることに
より、サブルーチンとのデータ受渡しの高速化を実現し
ている。しかし大規模なレジスタファイルを構成する場
合、アクセス速度やチップ面積の点で不利になる。
【0003】以下図面を参照しながら、ウインドウ構成
の大規模なレジスタファイルを実現する場合の従来技術
について説明する。図6は従来技術の一例で、3個のA
LU(演算装置)を備えたプロセッサのデータ記憶装置
の構成図である。ここで用いるプロセッサは、3個のA
LU1〜3と128本/8ウインドウ構成の32ビット
レジスタ12を備え、スーパスケーラ方式による命令並
列実行を行なうものとし、各ALU1〜3は2個の入力デ
ータ(オペランド)を要し、128本のレジスタのうち
アクセスできるレジスタはPSR(プロセッサ状態レジ
スタ)のCWP(カレントウインドウポインタ)フィー
ルドで指定されたウインドウ内にある24本だけとす
る。
【0004】ALU1、ALU2、ALU3はそれぞれ
独立し並列に動作可能な演算器を表し、12は128本
の32ビットレジスタからなる8ウインドウ構成のレジ
スタファイル、20はPSR、21は命令解読・実行制
御装置、22はレジスタアドレス解読装置、100は命
令、101はCWP信号、111、112、113はそ
れぞれALU1、ALU2、ALU3の第1オペランド
として読み出したデータ、121、122、123はそ
れぞれALU1、ALU2、ALU3の第2オペランド
として読み出したデータ、131、132、133はそ
れぞれALU1、ALU2、ALU3の演算結果、14
1、142、143はそれぞれALU1、ALU2、A
LU3の第1オペランドレジスタアドレス、144、1
45、146はそれぞれALU1、ALU2、ALU3
の第2オペランドレジスタアドレス、147、148、
149はそれぞれALU1、ALU2、ALU3の書き
込みオペランドレジスタアドレス、151、152、1
53はそれぞれALU1、ALU2、ALU3の第1オ
ペランド読み出し選択信号、154、155、156は
それぞれALU1、ALU2、ALU3の第2オペラン
ド読み出し選択信号、157、158、159はそれぞ
れALU1、ALU2、ALU3の演算結果書き込み選
択信号をそれぞれ表す。
【0005】以上のように構成されたレジスタファイル
について、以下その動作について説明する。図6におい
て、命令解読・実行制御装置21は命令100を解読
し、解読した命令の演算処理内容やデータ依存関係など
に応じて演算処理を各演算器に割り当て、各演算器でア
クセスすべきレジスタアドレス141〜149を出力す
る。レジスタアドレス解読装置22はレジスタアドレス
141〜149とCWP信号101を入力とし、これら
を解読してオペランド選択信号151〜159をレジス
タファイル12を構成する各メモリセルへ出力する。
【0006】
【発明が解決しようとする課題】しかしながら上記の従
来の構成では、レジスタファイルの各メモリセルは各演
算器毎に読み出しポートおよび書き込みポートを備える
必要があるため、メモリセル部の回路構成がポート数の
増加により複雑かつ大規模なものになるという問題点を
有する。例えば図6の場合、メモリセル1個あたり必要
なトランジスタ数は19(1メモリセルあたりのトラン
ジスタ数は、4+(ALUの数)X5となる)なので、
メモリセル部全体で必要なトランジスタ数は77824
(=1メモリセル当たりのトランジスタ数(19)Xレ
ジスタのビット数(32)Xレジスタの本数(12
8))となる。この場合演算器の数が1つ増える毎に、
トランジスタ数は20480(=5X32X128)ず
つ増加する。またポート数の増加によりワード線・ビッ
ト線の数も増加し、配線領域も増大する。この場合、演
算器毎にワード線・ビット線は3本ずつ必要であり、レ
ジスタの本数は128本なのでワード線は全体で384
本(=128X3)増加し、レジスタのビット数は32
なのでビット線は96本(=32X3)増加する。従来
の構成では以上で示した要因により回路規模が増大す
る。
【0007】本発明は上記問題点を解決するもので、少
ないペナルティでレジスタファイルの回路規模を縮小す
ることを目的とする。
【0008】
【課題を解決するための手段】本発明のデータ記憶装置
は、ウインドウ構成の第1のレジスタファイルと、前記
第1のレジスタファイルの内容の一部を保持する第2の
レジスタファイルと、前記第1のレジスタファイルおよ
び前記第2のレジスタファイルの内容更新を行なうレジ
スタファイル更新制御装置を備えたものである。
【0009】
【作用】本発明のデータ記憶装置は、上記構成で演算器
とレジスタの間のデータ転送を第2のレジスタファイル
を介して行なうことにより第1のレジスタファイルのメ
モリセル部のポート数を削減してトランジスタ数および
ワード線・ビット線の配線本数を減少させることにより
レジスタファイルの回路規模縮小を実現するものであ
る。
【0010】
【実施例】以下本発明の実施例について、図面を参照し
ながら説明する。なお本実施例の構成図面において、図
6で示した従来の装置と同一構成部分には同一番号を付
して詳細な説明を省略する。
【0011】本実施例のデータ処理装置は、3個の演算
器(ALU)と128本/8ウインドウ構成の32ビッ
トレジスタファイルを備え、スーパスケーラ方式による
命令並列実行を行なうものとする。なお3個のALUは
並列動作させることができ、各ALUは2個の入力デー
タを要し、128本のレジスタのうちアクセスできるレ
ジスタはCWPで指定されたウインドウ内にある24本
だけとする。
【0012】図1は3個のALUを備えたデータ処理装
置の構成図である。図1に示すように、本実施例はそれ
ぞれ独立した並列動作可能なALU1、ALU2、AL
U3、8ウインドウ構成のレジスタファイル10、CW
Pで指定されたウインドウ内のレジスタの内容を保持す
るレジスタファイル11、レジスタファイル更新制御装
置23、PSR20、命令解読・実行制御装置21、レ
ジスタアドレス解読装置22を備えている。161はレ
ジスタファイル10からレジスタファイル11へ書き込
むデータ、162はレジスタファイル11からレジスタ
ファイル10へ書き込むデータ、163はレジスタファ
イル11からの読み出し選択信号、164はレジスタフ
ァイル11への書き込み選択信号、165はレジスタフ
ァイル10からの読み出し選択信号、166はレジスタ
ファイル10への書き込み選択信号をそれぞれ表す。
【0013】以上のように構成されたレジスタファイル
について、図1を参照しながらその動作を説明する。図
1に示すように、レジスタファイル10は3個の演算器
ALU1、ALU2、ALU3とは直接データアクセス
せず、レジスタファイル11を介してデータアクセスを
行なう。レジスタファイル11はCWP信号101で指
定されたウインドウ内のレジスタの内容を保持し、AL
U1、ALU2、ALU3と直接データアクセスを行な
うことができ、またレジスタファイル10ともデータア
クセス可能になっている。そのためレジスタファイル1
1を構成するメモリセルは各演算器毎に2つの読み出し
ポートと1つの書き込みポートを備え、さらにレジスタ
ファイル10とデータアクセスするための読み出しポー
トと書き込みポートを備える必要があるが、レジスタフ
ァイル10を構成するメモリセルには、レジスタファイ
ル11とデータアクセスするための読み出しポートと書
き込みポートがあれば十分である。
【0014】レジスタファイル11とレジスタファイル
10の間のデータアクセスはレジスタファイル更新制御
装置23で制御される。レジスタファイル更新制御装置
23はPSR20から読み出したCWP信号101の値
の変化を検出し、CWP信号101の内容がiからjに
変化したとき、iに対応したウインドウへのデータ書き
込み信号165をレジスタファイル10へ出力し、レジ
スタファイル11へはデータ読み出し信号163を出力
して、レジスタファイル11の内容をレジスタファイル
10へ書き込む。その後、レジスタファイル10中のj
で指定されるウインドウ内のレジスタの内容を読み出し
レジスタファイル11へ書き込むために、jの値に対応
したウインドウからのデータ読み出し選択信号165を
レジスタファイル10へ出力し、レジスタファイル11
へはデータ書き込み選択信号164を出力する。
【0015】次にレジスタの選択方法を説明する。命令
解読・実行制御装置21は命令100を解読し、解読し
た命令の演算処理内容やデータ依存関係などに応じて演
算処理を各演算器に割り当て、各演算器でアクセスすべ
きレジスタアドレス141〜149を出力する。レジス
タアドレス141〜149はレジスタアドレス解読装置
22で解読され、オペランド選択信号151〜159に
変換され、ALUとアクセスするレジスタが選択され
る。このレジスタアドレスの解読の際CWP信号は不要
である。従来例の場合レジスタアドレス解読装置22は
レジスタファイル10の全てのレジスタ(128本)に
必要であるが、図1の例の場合はレジスタファイル11
内のレジスタ(24本)に対応する分だけで十分であ
る。
【0016】図6の従来例の場合、メモリセル部で必要
なトランジスタ数は77824であったのが、図1の例
の場合は53760に減少する。演算器の数が1つ増え
るごとに図6の従来例では20480トランジスタずつ
増加していたのが、図1の例では3840トランジスタ
ずつの増加にとどまり、ワード線は384本ずつ増えて
いたのが72本ずつの増加にとどまることになり、従っ
て演算器の数が多くなるほど効果は大きくなる。さらに
図1の例では、レジスタアドレス解読装置でCWP信号
を解読する必要がないため、図6の場合に比べてレジス
タアドレスの解読速度も向上し、しかもレジスタアドレ
ス解読装置自体の数も従来例では128本分必要であっ
たのが、1ウインドウ分の24本で済むことになる。
【0017】以上のように図1の例によれば、ウインド
ウ構成の第1のレジスタファイルと、前記第1のレジス
タファイルの内容の一部を保持する第2のレジスタファ
イルと、前記第1のレジスタファイルおよび前記第2の
レジスタファイルの内容更新を行なうレジスタファイル
更新制御装置を設けることにより、レジスタファイルの
回路規模削減を実現することができる。
【0018】図1で示した構成では、ウインドウ変化時
に必要なレジスタファイル間のデータ(161および1
62)転送に要する時間がシステム性能向上の面で大き
な障害になる。データ転送によるロスを低減させるため
にレジスタファイル11とレジスタファイル10の間の
データバス幅を大きくとると、バス配線領域が増加して
しまい不都合である。この問題点を解決した例を以下に
示す。
【0019】図2は、図1の例でレジスタファイル11
を2ウインドウ構成にしたものである。図2において、
13は2ウインドウ分のレジスタから構成されるレジス
タファイル、24はウインドウ選択装置、167はウイ
ンドウ選択信号、171〜179はオペランド選択信号
(iウインドウ)、181〜189はオペランド選択信
号((i−1)ウインドウ)をそれぞれ表す。
【0020】以上のように構成されたレジスタファイル
について、図2を参照しながらその動作を説明する。図
2において、CWP信号101の値がiの場合レジスタ
ファイル13はウインドウポインタがi−1、iで表さ
れる隣接する2ウインドウ分の内容を保持する。ALU
1〜ALU3はレジスタファイル13のiウインドウに
アクセスする。レジスタファイル更新制御装置23はウ
インドウ選択信号167を出力し、アクセス対象となる
iウインドウをレジスタファイル13から選択する。レ
ジスタファイル更新制御装置23はPSR20から読み
出したCWP信号101の値の変化を検出する。例えば
SPARCアーキテクチャの場合、CWPの減少はサブ
ルーチンの呼び出しに、CWPの増加はサブルーチンか
らの復帰に対応づけられる(例えば、「RISCプロセ
ッサ入門」(大貫徹、1991CQ出版)参照)。CW
Pの値が1つ減少した場合、レジスタファイル更新制御
装置23はウインドウ選択信号167の値を切替えてA
LU1〜ALU3のアクセス対象をレジスタファイル1
3の(i−1)ウインドウに変更し、演算器からのアク
セスを受け付ける。図1の例の場合とは異なり、演算器
はレジスタファイルの更新終了まで待つ必要はなく直ち
に次の処理を進めることができる。その後次のウインド
ウ切替えが発生するまでの間に以下の手順でレジスタフ
ァイルの更新を進める。レジスタファイル更新装置23
はレジスタファイル10のiウインドウのレジスタへの
データ書き込み信号166およびレジスタファイル13
からのデータ読み出し信号163を出力し、レジスタフ
ァイル13のiウインドウの内容をレジスタファイル1
0内のiウインドウ内のレジスタへ書き込む。その後、
データ読み出し選択信号165およびレジスタファイル
13へのデータ書き込み信号164を出力し、レジスタ
ファイル10中の(i−2)ウインドウのレジスタの内
容をレジスタファイル13へ書き込む。
【0021】以上のように、レジスタファイル更新制御
装置23はウインドウ切り替え後にレジスタファイル1
3が保持する切り替え前のウインドウ(i)の内容をレ
ジスタファイル10の切り替え前のウインドウ(i)へ
書き込むことによりレジスタファイル10の更新を行
い、レジスタファイル10の切り替え後のウインドウ
(i−1)の次のウインドウ(i−2)の内容をレジス
タファイル13に書き込むことによりレジスタファイル
13の更新を行う。以後CWP信号101の値が減少す
る度に、上記の方法でレジスタファイルの切替えと更新
を行なう。なおCWP信号が増加する場合のレジスタフ
ァイル切替え方法は、図1の例の場合と同様の方法で行
う。
【0022】図2の例ではCWP減少によるレジスタフ
ァイル間のデータ転送を次のウインドウ切替までの間に
行なえばよいため、CWP減少によるウインドウ切替の
時間を短縮することが可能である。
【0023】なおレジスタファイル13で保持するウイ
ンドウをiウインドウと(i+1)ウインドウにしてお
き、CWPの値がiから(i+1)に増加する場合にA
LUのアクセスするウインドウをレジスタファイル13
の(i+1)ウインドウに切替え、次のウインドウ切替
えまでの間にレジスタファイル13の内容をレジスタフ
ァイル10のiウインドウへ書き込みその後レジスタフ
ァイル10の(i+2)ウインドウの内容をレジスタフ
ァイル13へ書き込むようにしてもよい。また図3の例
はレジスタファイル13が3ウインドウ以上のウインド
ウ構成であっても有効である。
【0024】以上のように図2の例によれば、ウインド
ウ構成の第1のレジスタファイルと、前記第1のレジス
タファイルの任意の隣接する2ウインドウ分の内容を保
持する第2のレジスタファイルと、前記第1のレジスタ
ファイルおよび前記第2のレジスタファイルの内容更新
を行なうレジスタファイル更新制御装置と、ウインドウ
切替時にアクセスするウインドウの切替えを行ない演算
器で使用するレジスタを前記第2のレジスタファイルか
ら選択するウインドウ選択装置を設けることにより、レ
ジスタファイルの回路規模削減を実現することができ
る。
【0025】図2の例では、CWPが減少する場合また
は増加する場合のどちらかの場合にしかその効果が現れ
ない。この問題点を解決した例を次に示す。
【0026】図3は図1の例でレジスタファイル11を
3ウインドウ構成にした例である。図3において、14
は3ウインドウ分のレジスタから構成されるレジスタフ
ァイル、171〜179はオペランド選択信号((i−
1)ウインドウ)、181〜189はオペランド選択信
号(iウインドウ)、191〜199はオペランド選択
信号((i+1)ウインドウ)をそれぞれ表す。
【0027】以上のように構成されたレジスタファイル
について、図3を参照しながらその動作を説明する。図
3において、CWP信号101の値がiの場合レジスタ
ファイル14はウインドウポインタがi−1、i、i+
1で表される隣接する3ウインドウ分の内容を保持す
る。ALU1〜ALU3はレジスタファイル14のiウ
インドウにアクセスする。レジスタファイル更新制御装
置23はウインドウ選択信号167を出力し、アクセス
対象となるウインドウをレジスタファイル14から選択
する。レジスタファイル更新制御装置23はPSR20
から読み出したCWP信号101の値の変化を検出す
る。CWPの値が1つ減少した場合、レジスタファイル
更新制御装置23はウインドウ選択信号167の値を切
替えてALU1〜ALU3のアクセス対象をレジスタフ
ァイル14の(i−1)ウインドウに変更し、演算器か
らのアクセスを受け付ける。その後次のウインドウ切替
えが発生するまでの間に以下の手順でレジスタファイル
の更新を進める。レジスタファイル更新装置23はレジ
スタファイル10へのデータ書き込み信号166および
レジスタファイル14からのデータ読み出し信号163
を出力し、レジスタファイル14の(i+1)ウインド
ウの内容をレジスタファイル10内の(i+1)ウイン
ドウ内のレジスタへ書き込む。その後、データ読み出し
選択信号165およびレジスタファイル14へのデータ
書き込み信号164を出力し、レジスタファイル10中
の(i−2)ウインドウ内のレジスタの内容をレジスタ
ファイル14へ書き込む。
【0028】またCWPが1増加する場合、レジスタフ
ァイル更新制御装置23はウインドウ選択信号167の
値を切替えてALU1〜ALU3のアクセス対象をレジ
スタファイル14の(i+1)ウインドウに変更し、レ
ジスタファイル更新装置23はレジスタファイル10へ
のデータ書き込み信号166およびレジスタファイル1
4からのデータ読み出し信号163を出力し、レジスタ
ファイル14の(i−1)ウインドウの内容をレジスタ
ファイル10内の(i−1)ウインドウ内のレジスタへ
書き込む。その後、データ読み出し選択信号165およ
びレジスタファイル14へのデータ書き込み信号164
を出力し、レジスタファイル10中の(i+2)ウイン
ドウ内のレジスタの内容をレジスタファイル14へ書き
込む。
【0029】以上のように、レジスタファイル更新制御
装置23はウインドウポインタ減少時にはレジスタファ
イル14が保持している切り替え前のウインドウ(i)
の前のウインドウ(i+1)の内容をレジスタファイル
10の切り替え前のウインドウ(i)の前のウインドウ
(i+1)へ書き込むことによりレジスタファイル10
の更新を行い、レジスタファイル10の切り替え後のウ
インドウ(i−1)の次のウインドウ(i−2)の内容
をレジスタファイル14へ書き込むことによりレジスタ
ファイル14の更新を行い、ウインドウポインタ増加時
にはレジスタファイル14が保持している切り替え前の
ウインドウ(i)の前のウインドウ(i−1)の内容を
レジスタファイル10の切り替え前のウインドウ(i)
の前のウインドウ(i−1)へ書き込むことによりレジ
スタファイル10の更新を行い、レジスタファイル10
の切り替え後のウインドウ(i+1)の次のウインドウ
(i+2)の内容をレジスタファイル14へ書き込むこ
とによりレジスタファイル14の更新を行う。以後CW
P信号101が変化する度に、CWPの変化に応じて上
記の方法でアクセスするレジスタファイルを切替えおよ
び更新を行なう。
【0030】また図3の例ではウインドウポインタが減
少する場合であっても増加する場合であっても、ウイン
ドウ切替によるレジスタファイル間のデータ転送を次の
ウインドウ切替までの間に行なえばよいため、図2の例
に比べてウインドウ切替の時間をさらに短縮することが
可能である。
【0031】なお、図3の例はレジスタファイル14が
4ウインドウ以上のウインドウ構成であっても有効であ
る。
【0032】以上のように図3の例によれば、ウインド
ウ構成の第1のレジスタファイルと、前記第1のレジス
タファイルの任意の隣接する3ウインドウ分の内容を保
持する第2のレジスタファイルと、前記第1のレジスタ
ファイルおよび前記第2のレジスタファイルの内容更新
を行なうレジスタファイル更新制御装置と、ウインドウ
切替時にアクセスするウインドウの切替えを行ない演算
器で使用するレジスタを前記第2のレジスタファイルか
ら選択するウインドウ選択装置を設けることにより、レ
ジスタファイルの回路規模削減を実現することができ
る。
【0033】例えばSPARCアーキテクチャの場合、
サブルーチンとのデータ受渡しを高速化するためにオー
バーラップしたウインドウ構成のレジスタファイルを採
用している。SPARCアーキテクチャの場合、1ウイ
ンドウ内のレジスタはout、local、inと呼ば
れる3種類のブロックに分類されており、ウインドウポ
インタがiのウインドウのoutブロックのレジスタは
ウインドウポインタが(i−1)のウインドウのinブ
ロックのレジスタに対応する(例えば、「RISCプロ
セッサ入門」(大貫徹、1991 CQ出版)参照)。
SPARCアーキテクチャで採用されているようなオー
バーラップしたウインドウ構成のレジスタファイルに図
1の構成を適用した場合、ウインドウが変化してもオー
バーラップした部分のレジスタ(inまたはoutレジ
スタ)についてはレジスタアドレスが変わるものの、新
しいウインドウ内にも存在することになるため、オーバ
ーラップした部分をレジスタファイル10に書き戻す必
要はない。またサブルーチンからの復帰によりCWPが
iから(i+1)へ増加した場合、iウインドウに残っ
ているlocalおよびoutレジスタの内容は通常使
われない。そこで図1の例において、out、loca
l、inのブロック毎にレジスタの内容更新動作実行の
有無を選択する手段を備えた構成例を図4に示す。図4
は図1の例でレジスタファイル11への読み出し選択信
号163および書き込み選択信号164をin、loc
al、outの3種類のブロックそれぞれに設けた構成
である。図4において、70はレジスタファイル10の
内容更新ブロックを指定する制御レジスタ、706はレ
ジスタファイル11のinレジスタからレジスタファイ
ル10へ書き込むデータ、703はレジスタファイル1
0からレジスタファイル11のinレジスタへ書き込む
データ、705はレジスタファイル11のlocalレ
ジスタからレジスタファイル10へ書き込むデータ、7
02はレジスタファイル10からレジスタファイル11
のlocalレジスタへ書き込むデータ、704はレジ
スタファイル11のoutレジスタからレジスタファイ
ル10へ書き込むデータ、701はレジスタファイル1
0からレジスタファイル11のoutレジスタへ書き込
むデータ、713はレジスタファイル11のinレジス
タからの読み出し選択信号、716はレジスタファイル
11のinレジスタへの書き込み選択信号、712はレ
ジスタファイル11のlocalレジスタからの読み出
し選択信号、715はレジスタファイル11のloca
lレジスタへの書き込み選択信号、711はレジスタフ
ァイル11のoutレジスタからの読み出し選択信号、
714はレジスタファイル11のoutレジスタへの書
き込み選択信号、をそれぞれ表す。
【0034】以上のように構成されたレジスタファイル
について、図4を参照しながらその動作を説明する。図
4において、ALUからレジスタファイル11へのアク
セスに関しては図1の例の場合と同じである。ウインド
ウ切替によりレジスタファイル10の保持内容を更新す
るさい、更新を行なうブロック(in)を制御レジスタ
70により指定しておく。CWPの値がiからi−1へ
変化した場合、レジスタファイル更新制御装置23はレ
ジスタファイル10へのデータ書き込み信号166をレ
ジスタファイル10へ出力するとともに、レジスタファ
イル11からの読み出し選択信号712、713を出力
し、localおよびinレジスタについてのみその内
容をレジスタファイル10へ書き込み、レジスタファイ
ル10の保持内容を更新する。その後レジスタファイル
10からの読み出し選択信号165およびレジスタファ
イル11へのデータ書き込み選択信号714、715を
出力し、i−1ウインドウのoutおよびlocalレ
ジスタの内容をレジスタファイル11に内容を書き込
む。一方、CWPの値がiからi+1へ変化した場合に
は、レジスタファイル更新制御装置23は制御レジスタ
70で指定した内容に従い、レジスタファイル10への
データ書き込み信号166、レジスタファイル11から
の読み出し選択信号711、712を出力し、レジスタ
ファイル10の保持内容更新を行なう。制御レジスタ7
0で更新を指定していればレジスタファイル11のou
tおよびlocalレジスタの内容をレジスタファイル
10へ書き込み、レジスタファイル10の保持内容を更
新する。この時制御レジスタ70で更新を指定していな
ければレジスタファイル10の保持内容は変化しない。
その後レジスタファイル10からの読み出し選択信号1
65およびレジスタファイル11へのデータ書き込み選
択信号715、716を出力し、i+1ウインドウのl
ocalおよびinレジスタの内容をレジスタファイル
11に書き込む。
【0035】図4の例ではオーバーラップしているレジ
スタ(outまたはin)のデータ転送が不要であり、
またレジスタファイル10の保持内容更新動作の省略が
可能であるため、ウインドウ切替によるレジスタファイ
ル間のデータ転送時間が短くなる。
【0036】なお、図4の例はレジスタファイル11が
2ウインドウ以上のウインドウ構成であっても有効であ
る。また制御レジスタを用いてオーバーラップしていな
いレジスタの更新動作実行の有無を指定する代わりに、
オーバーラップしていないレジスタの更新動作実行の有
無を指定する命令を用いてもよい。
【0037】以上のように図4の例によれば、オーバー
ラップしたウインドウ構成の第1のレジスタファイル
と、前記第1のレジスタファイルの内容の一部を保持す
る第2のレジスタファイルと、前記第1のレジスタファ
イルおよび前記第2のレジスタファイルの内容更新を特
定のブロック(out、local、in)のレジスタ
についてのみ行なうレジスタファイル更新制御装置を設
けることにより、レジスタファイルの回路規模縮小を実
現するとともに、レジスタファイル間のデータ転送に要
する時間を削減することができる。
【0038】SPARCアーキテクチャで採用されてい
るようなオーバーラップしたウインドウ構成のレジスタ
ファイルにおいて、サブルーチン呼び出しによりCWP
がiから(i−1)へ減少した場合、それ以前に(i−
1)ウインドウを使用した結果として残っている(i−
1)ウインドウのlocalおよびoutレジスタの内
容は通常使われない。そこで、CWP減少時にレジスタ
ファイル11のオーバーラップしていないレジスタの内
容を初期化する手段を備えた構成例を図5に示す。図5
において、90は初期化装置、911,912,913は
初期化装置からレジスタファイル11へ書き込むデータ
(それぞれout、local、inに対応)、901
〜903はレジスタファイル10から読み出したデータ
(それぞれout、local、inに対応)、91は
制御レジスタ、92は初期値レジスタ、921は制御信
号、922は初期値をそれぞれ表す。
【0039】以上のように構成されたレジスタファイル
について、図5を参照しながらその動作を説明する。図
5に示すように、レジスタファイル11の保持内容の初
期化は初期化装置90を通じて行なう。初期化装置90
は、制御レジスタ91の内容に従い、CWP減少時のレ
ジスタファイル11のオーバーラップしていないレジス
タの初期化の有無を選択する。オーバーラップしていな
いレジスタの初期化の有無は制御レジスタ91が出力す
る制御信号921により決定し、初期化を指定した場
合、CWP減少時に初期値レジスタ92の内容922を
レジスタファイル11のオーバーラップしていないレジ
スタ(outおよびlocal)にセットする。制御レ
ジスタ91による初期化を指定しない場合、レジスタフ
ァイル10から読み出したデータ901〜903がレジ
スタファイル11へ書き込まれる。
【0040】オーバーラップしていないレジスタの初期
化を指定する場合、ウインドウ切替後のオーバーラップ
していないレジスタは初期値レジスタで設定した値を保
持しているため、レジスタがより利用しやすくなる。
【0041】なお、初期化を指定しない場合図5の例で
はレジスタファイル10の内容をレジスタファイル11
へ書き込むが、レジスタファイル11への書き込みを省
略できる場合もある。この場合、具体的には図4におい
て、制御レジスタ70にさらにオーバーラップしていな
いレジスタの内容の転送の有無を指定する値を設定し、
レジスタファイル更新制御装置23は、そのレジスタの
内容の転送の有無を指定する値を参照して、レジスタフ
ァイル11への書き込み信号714〜716の値を切り
替えてレジスタファイル11への書き込みを省略する方
法を用いれば良い。
【0042】また制御レジスタを用いて初期化を指定す
る代わりに、初期化を指定する命令を用いてもよい。ま
た、図5の例はレジスタファイル11が2ウインドウ以
上のウインドウ構成であっても有効である。
【0043】以上のように図5の例によれば、オーバー
ラップしたウインドウ構成の第1のレジスタファイル
と、前記第1のレジスタファイルの内容の一部を保持す
る第2のレジスタファイルと、前記第1のレジスタファ
イルおよび前記第2のレジスタファイルの内容更新をオ
ーバーラップしていないレジスタについてのみ行なうレ
ジスタファイル更新制御装置と、前記第2のレジスタフ
ァイルの保持内容を初期化する初期化装置を設けること
により、レジスタファイルの回路規模縮小を実現すると
ともに、レジスタファイル間のデータ転送に要する時間
を削減することができる。
【0044】なお実施例では示していないが、本発明は
レジスタのビット数、ウインドウ数、ウインドウ内のレ
ジスタの本数、演算器の数、演算器で必要なオペランド
の数が実施例と違っている場合でも有効である。レジス
タファイル10のウインドウ数が実施例の場合と異なっ
ている場合でも有効である。第1レジスタファイルと第
2のレジスタファイルの間のデータ転送用バス幅に制限
はない。第2のレジスタファイルから第1レジスタファ
イルへのデータ転送および第1レジスタファイルから第
2のレジスタファイルへのデータ転送にそれぞれ独立し
たバスを使用する代わりに、1本の双方向バスで代用し
ても構わない。またレジスタファイル更新制御装置で
は、CWP信号の変化を検出する代わりにCWP値を変
更する命令を検出してもよい。
【0045】
【発明の効果】以上のように本発明のデータ記憶装置に
よれば、ウインドウ構成の第1のレジスタファイルと、
前記第1のレジスタファイルの内容の一部を保持する第
2のレジスタファイルと、前記第1のレジスタファイル
および前記第2のレジスタファイルの内容更新を行なう
レジスタファイル更新制御装置を備えることにより、レ
ジスタファイルの回路規模が縮小する。これにより、配
線容量・ゲート容量・接合容量の増加によるデータアク
セス速度の低下、ビット線・ワード線の増加による消費
電力の増加、チップ面積の増加によるチップの高価格
化、回路設計工数の増加といった問題点が解消され、高
速アクセス・低消費電力・低コスト・設計工数低減を実
現することができる。また従来の構成ではレジスタアク
セスの際CWPで指定されるウインドウ内のレジスタの
みがアクセスの対象であるにもかかわらず、アクセス毎
にCWPとレジスタアドレスの両方のデータを解読する
必要があるため、アクセスレジスタ選択装置の回路構成
が複雑かつ大規模なものになっていたが、本発明ではウ
インドウ切替えが生じるとき以外はCWPを解読する必
要がないため、アクセスレジスタ選択装置の回路構成が
簡単になり、レジスタアドレスの解読時間も短縮され
る。
【図面の簡単な説明】
【図1】本発明の一実施例のデータ記憶装置の構成図
【図2】本発明の一実施例のデータ記憶装置の構成図
【図3】本発明の一実施例のデータ記憶装置の構成図
【図4】本発明の一実施例のデータ記憶装置の構成図
【図5】本発明の一実施例のデータ記憶装置の構成図
【図6】従来のデータ記憶装置の構成図
【符号の説明】
10 ウインドウ構成の第1のレジスタファイル 11 第2のレジスタファイル 23 レジスタファイル更新制御装置 24 ウインドウ選択装置 70 制御レジスタ 90 初期化装置 91 制御レジスタ 92 初期値レジスタ

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】ウインドウ構成の第1のレジスタファイル
    と、前記第1のレジスタファイルの内容の一部を保持す
    る第2のレジスタファイルと、前記第1のレジスタファ
    イルおよび前記第2のレジスタファイルの内容更新を行
    なうレジスタファイル更新制御装置を備え、 前記レジスタファイル更新制御装置はウインドウ切替時
    に前記第2のレジスタファイルから前記第1のレジスタ
    ファイルへのデータ書き込みを行なうことにより前記第
    1のレジスタファイルの内容更新を行ない、前記第1の
    レジスタファイルの切替後のウインドウの内容を前記第
    2のレジスタファイルに書き込むことにより前記第2の
    レジスタファイルの内容更新を行なうことを特徴とする
    データ記憶装置。
  2. 【請求項2】前記第2のレジスタファイルは、第1のレ
    ジスタファイルの任意の隣接する2ウインドウ分の内容
    を保持し、 さらにウインドウ切替時にアクセスするウインドウの切
    替えを行ない、前記第2のレジスタファイルから演算器
    で使用するレジスタを選択するウインドウ選択装置を備
    えた請求項1記載のデータ記憶装置。
  3. 【請求項3】前記レジスタファイル更新制御装置はウイ
    ンドウ切替後に前記第2のレジスタファイルから1ウイ
    ンドウ分の内容を前記第1のレジスタファイルへ書き込
    むことにより前記第1のレジスタファイルの内容更新を
    行ない、前記第1のレジスタファイルの1ウインドウ分
    の内容を前記第2のレジスタファイルに書き込むことに
    より前記第2のレジスタファイルの内容更新を行なうこ
    とを特徴とする請求項2記載のデータ記憶装置。
  4. 【請求項4】前記レジスタファイル更新制御装置はウイ
    ンドウ切替後に前記第2のレジスタファイルの切替え前
    のウインドウの内容を前記第1のレジスタファイルの切
    替え前のウインドウへ書き込むことにより前記第1のレ
    ジスタファイルの内容更新を行ない、前記第1のレジス
    タファイルの切替後のウインドウの次のウインドウの内
    容を前記第2のレジスタファイルの切替え前のウインド
    ウに書き込むことにより前記第2のレジスタファイルの
    内容更新を行ない、前記レジスタ選択装置はウインドウ
    切替時にアクセスするウインドウを前記第2のレジスタ
    ファイルの切替後のウインドウに切替えることを特徴と
    する請求項2記載のデータ記憶装置。
  5. 【請求項5】前記レジスタファイル更新制御装置はウイ
    ンドウ切替後に前記第2のレジスタファイルの切替え前
    のウインドウの1つ前のウインドウの内容を前記第1の
    レジスタファイルの切替え前のウインドウの1つ前のウ
    インドウへ書き込むことにより前記第1のレジスタファ
    イルの内容更新を行ない、前記第1のレジスタファイル
    の切替後のウインドウの次のウインドウの内容を前記第
    1のレジスタファイルの切替え前のウインドウの1つ前
    のウインドウに書き込むことにより前記第2のレジスタ
    ファイルの内容更新を行ない、前記レジスタ選択装置は
    ウインドウ切替時にアクセスするウインドウを前記第2
    のレジスタファイルの切替後のウインドウに切替えるこ
    とを特徴とする請求項2記載のデータ記憶装置。
  6. 【請求項6】前記第1のレジスタファイルは、オーバー
    ラップしたウインドウ構成をとり、前記レジスタファイ
    ル更新制御装置は、ウインドウ切替による前記第1のレ
    ジスタファイルの内容更新を前記第2のレジスタファイ
    ルのオーバーラップしていないレジスタの内容のみを前
    記第1のレジスタファイルへ書き込むことにより行な
    い、前記第2のレジスタファイルの内容更新を前記第1
    のレジスタファイルのオーバーラップしていないレジス
    タの内容のみを前記第2のレジスタファイルへ書き込む
    ことにより行なうことを特徴とする請求項1記載のデー
    タ記憶装置。
  7. 【請求項7】さらに前記第2のレジスタファイルの保持
    内容を初期化する初期化装置を備え、前記初期化装置
    は、ウインドウポインタ減少時に前記第2のレジスタフ
    ァイルのオーバーラップしていないレジスタの内容の初
    期化を行なうことを特徴とする請求項6記載のデータ記
    憶装置。
  8. 【請求項8】さらにオーバーラップしていないレジスタ
    の内容の転送の有無を指定する手段を備え、前記レジス
    タファイル更新制御装置は、前記レジスタの内容の転送
    の有無を指定する手段からその指定を受けて、ウインド
    ウ切替えによる前記第1のレジスタファイルおよび前記
    第2のレジスタファイル更新のためのデータ転送の際、
    オーバーラップしていないレジスタの内容転送の実行の
    有無を決定することを特徴とする請求項6記載のデータ
    記憶装置。
JP5209315A 1993-08-24 1993-08-24 データ記憶装置 Ceased JPH0764857A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5209315A JPH0764857A (ja) 1993-08-24 1993-08-24 データ記憶装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5209315A JPH0764857A (ja) 1993-08-24 1993-08-24 データ記憶装置

Publications (1)

Publication Number Publication Date
JPH0764857A true JPH0764857A (ja) 1995-03-10

Family

ID=16570921

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5209315A Ceased JPH0764857A (ja) 1993-08-24 1993-08-24 データ記憶装置

Country Status (1)

Country Link
JP (1) JPH0764857A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6704858B1 (en) 1999-06-09 2004-03-09 Nec Electronics Corporation Information processor and method for switching those register files

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6704858B1 (en) 1999-06-09 2004-03-09 Nec Electronics Corporation Information processor and method for switching those register files

Similar Documents

Publication Publication Date Title
US5303358A (en) Prefix instruction for modification of a subsequent instruction
KR100294964B1 (ko) 다수형태의레지스터세트를구현한알.아이.에스.씨마이크로프로세서구조
US6058474A (en) Method and apparatus for DMA boot loading a microprocessor without an internal ROM
US7228401B2 (en) Interfacing a processor to a coprocessor in which the processor selectively broadcasts to or selectively alters an execution mode of the coprocessor
JP2002512399A (ja) 外部コプロセッサによりアクセス可能なコンテキストスイッチレジスタセットを備えたriscプロセッサ
KR930018378A (ko) 캐쉬 메모리 시스템의 성능최적화 방법 및 장치
JP2816624B2 (ja) 2乗演算を実行する速度改良型データ処理システム及びその方法
KR100465388B1 (ko) Risc 구조의 8비트 마이크로 제어기
KR100288170B1 (ko) 레지스터 화일군을 공유하는 연산 유닛을 갖춘 데이타 처리기
US5053986A (en) Circuit for preservation of sign information in operations for comparison of the absolute value of operands
US5119324A (en) Apparatus and method for performing arithmetic functions in a computer system
EP0908812B1 (en) Processor architecture scheme for implementing various addressing modes and method therefor
US20070271440A1 (en) Computer processor architecture selectively using finite-state-machine for control code execution
US5903919A (en) Method and apparatus for selecting a register bank
US4656581A (en) Vector mask control system
US5673410A (en) System for aligning varying width instructions in a computer
US6161171A (en) Apparatus for pipelining sequential instructions in synchronism with an operation clock
JPH1165840A (ja) 演算処理装置およびその方法
JPH0764857A (ja) データ記憶装置
US5926645A (en) Method and system for enabling multiple store instruction completions in a processing system
US6289439B1 (en) Method, device and microprocessor for performing an XOR clear without executing an XOR instruction
JP3532026B2 (ja) 演算装置
JPH08263290A (ja) データ処理装置
JPH033047A (ja) 演算機能付きメモリ
Golze et al. RISC Architectures

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040106

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040817

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040916

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20040928

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050607

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050620

A313 Final decision of rejection without a dissenting response from the applicant

Free format text: JAPANESE INTERMEDIATE CODE: A313

Effective date: 20051003

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20051028