Nothing Special   »   [go: up one dir, main page]

JP2693629B2 - Register file - Google Patents

Register file

Info

Publication number
JP2693629B2
JP2693629B2 JP2210901A JP21090190A JP2693629B2 JP 2693629 B2 JP2693629 B2 JP 2693629B2 JP 2210901 A JP2210901 A JP 2210901A JP 21090190 A JP21090190 A JP 21090190A JP 2693629 B2 JP2693629 B2 JP 2693629B2
Authority
JP
Japan
Prior art keywords
address
register
window
signal
address conversion
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.)
Expired - Lifetime
Application number
JP2210901A
Other languages
Japanese (ja)
Other versions
JPH0492282A (en
Inventor
和貴 二宮
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 JP2210901A priority Critical patent/JP2693629B2/en
Publication of JPH0492282A publication Critical patent/JPH0492282A/en
Application granted granted Critical
Publication of JP2693629B2 publication Critical patent/JP2693629B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマイクロプロセッサ等に用いられるレジスタ
ファイルに関するものである。
The present invention relates to a register file used in a microprocessor or the like.

〔従来の技術〕[Conventional technology]

マイクロプロセッサは時代の要求に伴い、ますます高
速化が図られている。マイクロプロセッサの高速化手法
の一つとして、レジスタウィンドウという構成のレジス
タファイルが提案されている。これはレジスタファイル
を複数のウィンドウに分割し、サブルーチンへ分岐した
り又はサブルーチンから戻る度にウィンドウを切換える
ことにより、サブルーチン分岐時のレジスタデータのメ
モリへの待避をなくしマイクロプロセッサの処理を高速
化するものである。又各ウィンドウ間のレジスタは一部
が重なっており、重なっている部分においてサブルーチ
ン間でデータの受け渡しができる構成になっている。こ
のような構成のレジスタファイルでは、同一のアドレス
信号であってもウィンドウの値によりレジスタ上の実ア
ドレスと異なっている。このためアドレスとレジスタと
を1対1に対応させるため、後述するようなアドレスの
変換が行われる。
Microprocessors are becoming ever faster due to the demands of the times. As one of the techniques for increasing the speed of a microprocessor, a register file having a configuration called a register window has been proposed. This is to divide the register file into multiple windows and switch the windows each time branching to or returning from the subroutine, eliminating the saving of register data to the memory at the time of branching the subroutine and accelerating the processing of the microprocessor. It is a thing. In addition, the registers between the windows are partially overlapped, and the data can be transferred between the subroutines in the overlapped portions. In the register file having such a configuration, even the same address signal is different from the real address on the register depending on the window value. Therefore, in order to make the addresses correspond to the registers in a one-to-one correspondence, the address conversion as described later is performed.

第4図はこのようなアドレス変換を用いたレジスタフ
ァイルの構成を示すブロック図である。本図においてア
ドレス変換回路31はアドレス信号Ai,ウィンドウ信号Wi
が入力され、後述するようにアドレスを変換してアドレ
ス変換信号Biとしてアドレスデコーダ32に与える。アド
レスデコーダ32はこのアドレス信号をデコードするもの
であり、その出力は並列のワード線Wrを介してレジスタ
アレイ33に接続される。レジスタアレイ33は多数のメモ
リセル34から成るレジスタとプリチャージ回路35を含む
レジスタブロック36及び入出力回路37によって構成され
ている。例えば8枚のウィンドウを持ち1ウィンドウに
32本のレジスタが割当てられ、各ウィンドウのうち8レ
ジスタについては全てのウィンドウに共通とし、8レジ
スタは1つ前のウィンドウと共通、他の8レジスタは1
つ先のレジスタウィンドウと共通のものとすると、レジ
スタ数は136となる。レジスタブロック36はこのレジス
タに相当する容量のメモリセルを有しており、ワード線
Wr,Wwによってレジスタが選択される。又レジスタアレ
イ33へのデータの書込み時には外部から与えられるアド
レス信号Ciとウィンドウ信号Xiがアドレス変換回路38に
与えられる。アドレス変換回路38はアドレス変換回路31
と同時にアドレス変換信号Diを作成し、アドレスデコー
ダ39を介してレジスタブロック36内の所定のレジスタを
選択するものである。
FIG. 4 is a block diagram showing the structure of a register file using such address conversion. In the figure, the address conversion circuit 31 has an address signal Ai and a window signal Wi.
Is input, and the address is converted and given to the address decoder 32 as an address conversion signal Bi as described later. The address decoder 32 decodes this address signal, and its output is connected to the register array 33 via the parallel word line Wr. The register array 33 is composed of a register block 36 including a register composed of a large number of memory cells 34, a precharge circuit 35, and an input / output circuit 37. For example, if you have 8 windows and 1 window
32 registers are allocated, 8 registers of each window are common to all windows, 8 registers are common to previous window, other 8 registers are 1
The number of registers is 136 if it is common to the register window of the destination. The register block 36 has a memory cell having a capacity corresponding to this register, and the word line
The register is selected by Wr and Ww. When writing data to the register array 33, an address signal Ci and a window signal Xi, which are externally applied, are applied to the address conversion circuit 38. The address conversion circuit 38 is the address conversion circuit 31.
At the same time, the address conversion signal Di is generated and a predetermined register in the register block 36 is selected via the address decoder 39.

さてアドレス変換回路31においてアドレス信号Ai=
8、ウィンドウ信号Wi=2と、アドレス信号Ai=24、ウ
ィンドウ信号Wi=1のとき、アドレス変換信号Bi=48を
割当てた場合の変換式は、次式で示される。
Now, in the address conversion circuit 31, the address signal Ai =
8. When the window signal Wi = 2, the address signal Ai = 24, and the window signal Wi = 1, the conversion formula when the address conversion signal Bi = 48 is assigned is shown by the following formula.

Bi=MOD[Ai+8+Wi×16] 第5図は従来のアドレスの割当て図、第6図は従来のア
ドレス変換回路31の例を示す回路図である。本図におい
てアドレス信号Aiがy0〜y4に入力され、ウィンドウ信号
がx0〜x2に入力され、アドレス変換信号Biがz0からz7と
して出力される。
Bi = MOD [Ai + 8 + Wi × 16] FIG. 5 is a conventional address assignment diagram, and FIG. 6 is a circuit diagram showing an example of a conventional address conversion circuit 31. In the figure, the address signal Ai is input to y0 to y4, the window signal is input to x0 to x2, and the address conversion signal Bi is output as z0 to z7.

次にこの装置の動作について説明する。読出し動作で
は外部からのアドレス信号Aiとウィンドウを指定するウ
ィンドウ信号Wiがアドレス変換回路31に入力され、第5
図に示すアドレス変換を行いアドレス変換信号Biとな
る。アドレス信号変換Biはアドレスデコーダ32によりデ
コードされ、アドレス変換信号Biに対応するワード線Wr
を駆動する。ワード線Wrはレジスタアレイ33内のレジス
タブロック36のメモリセル34を制御し、プリチャージ回
路35によってプリチャージされた読出し用ビット線Brを
ディスチャージすることにより、メモリセル34内のデー
タを読出し用ビット線Brに出力する。次いで読出し用ビ
ット線Brのデータは入出力回路37に入力され、入出力回
路37からメモリセル34内のデータが外部に出力される。
Next, the operation of this device will be described. In the read operation, the address signal Ai from the outside and the window signal Wi designating the window are input to the address conversion circuit 31,
The address conversion shown in the figure is performed and becomes the address conversion signal Bi. The address signal conversion Bi is decoded by the address decoder 32, and the word line Wr corresponding to the address conversion signal Bi
Drive. The word line Wr controls the memory cell 34 of the register block 36 in the register array 33, and discharges the read bit line Br precharged by the precharge circuit 35 to read the data in the memory cell 34 as a read bit. Output to line Br. Next, the data on the read bit line Br is input to the input / output circuit 37, and the data in the memory cell 34 is output from the input / output circuit 37 to the outside.

書込み動作では外部からアドレス信号Ciがアドレス変
換回路38に入力され、第5図と同様にアドレスに変換さ
れてアドレス変換信号Diとなる。アドレス変換信号Diは
アドレスデコーダ39によりデコードされ、アドレス変換
信号Diに対応するワード線Wwを駆動する。外部から入力
される書込みデータは入出力回路37に入力され、書込み
用ビット線Bwに出力される。ワード線Wwはレジスタブロ
ック36のメモリセル34をアクティブとして書込み用ビッ
ト線Bwのデータが所定レジスタのメモリセル34に書込ま
れる。
In the write operation, the address signal Ci is externally input to the address conversion circuit 38 and converted into an address in the same manner as in FIG. 5 to become the address conversion signal Di. The address conversion signal Di is decoded by the address decoder 39 and drives the word line Ww corresponding to the address conversion signal Di. Write data input from the outside is input to the input / output circuit 37 and output to the write bit line Bw. The word line Ww activates the memory cell 34 of the register block 36 and the data of the write bit line Bw is written in the memory cell 34 of a predetermined register.

〔発明が解決しようとする課題〕[Problems to be solved by the invention]

さてこのような従来のレジスタファイルにおいてアド
レス変換を行った場合、Aiは32本のレジスタ部を選択す
る必要があるため5ビットの信号となり、Wiは8枚のウ
ィンドウを選択する必要があるため3ビットの信号とな
る。そしてアドレス変換回路31においては例えばAi=1
5,Wi=7のとき、以下のような変換が成される。
When address conversion is performed in such a conventional register file, Ai is a 5-bit signal because it is necessary to select 32 register units, and Wi is 3 because it is necessary to select 8 windows. It becomes a bit signal. In the address conversion circuit 31, for example, Ai = 1
When 5, Wi = 7, the following conversion is performed.

又Ai=31,Wi=7の場合には以下のような変換が成さ
れる。
When Ai = 31 and Wi = 7, the following conversion is performed.

このため4ビット目のキャリー信号が順次上位ビット
に波及することとなる。即ち+8の計算では下位の3ビ
ットは変化しないが、上位4ビットは図示のように下位
からの桁上げのため変化し、Biの計算に4ビットの加算
器が必要となる。そして第6図に示すアドレス変換装置
においてy3とy4の演算結果の桁上がり信号によりz6に影
響を与えることがわかる。このため桁上がり信号の遅延
のためアドレス変換が遅くなり、アクセスタイムが遅く
なるという問題点を有していた。
Therefore, the carry signal of the 4th bit is successively transmitted to the upper bits. That is, in the calculation of +8, the lower 3 bits do not change, but the upper 4 bits change due to carry from the lower side as shown in the figure, and a 4-bit adder is required for calculating Bi. It can be seen that in the address translation device shown in FIG. 6, z6 is affected by the carry signal of the operation result of y3 and y4. For this reason, there is a problem that the address conversion is delayed due to the delay of the carry signal and the access time is delayed.

本発明はこのような従来の問題点に鑑みてなされたも
のであって、アドレスの割当てを最適化することにより
アドレス変換時間を短縮し、その結果アクセスタイムを
高速化したレジスタファイルを提供することを技術的課
題とする。
The present invention has been made in view of such conventional problems, and provides a register file in which the address conversion time is shortened by optimizing the address allocation, and as a result, the access time is shortened. Is a technical issue.

〔課題を解決するための手段〕[Means for solving the problem]

本願の請求項1の発明は、ウィンドウ数をW、ウィン
ドウ番号をWi、1ウィンドウ当たりのレジスタの割当て
数を2N(N≧3,Nは自然数)とし各ウィンドウのオーバ
ーラップしているレジスタの数を2(N-1)、各ウィンドウ
共通にアクセス可能なレジスタの数を2(N-2)とするレジ
スタファイルであって、複数のレジスタ領域を有するレ
ジスタブロックと、レジスタブロックに接続されデータ
を入力する入出力回路と、外部から与えられるアドレス
信号をAi、ウィンドウ番号をWiとすると、レジスタブロ
ックのレジスタ領域のアドレスをMOD[{Wi×2(N-1)+A
i−2(N-2)}/{2^(≪log2W≫+N−1)}]とし、各
ウィンドウ共通のメモリセルのアドレスの割当てが2^
(≪log2W≫+N−1)+Aiとするアドレス変換信号を
出力するアドレス変換回路と、アドレス変換回路の出力
をデコードしてレジスタブロックのレジスタ領域を選択
するアドレスデコーダと、を具備することを特徴とする
ものである。
In the invention of claim 1 of the present application, the number of windows is W, the window number is Wi, and the number of registers allocated per window is 2 N (N ≧ 3, N is a natural number). A register file in which the number is 2 (N-1) and the number of registers that can be accessed in common in each window is 2 (N-2) .It is a register block having multiple register areas and data connected to the register blocks. When the input / output circuit for inputting, the address signal given from the outside is Ai, and the window number is Wi, the address of the register area of the register block is MOD [{Wi × 2 (N-1) + A
i-2 (N-2) } / {2 ^ (<< log 2 W >> + N-1)}], and the address assignment of the memory cell common to each window is 2 ^.
An address conversion circuit that outputs an address conversion signal that is (<< log 2 W >> + N-1) + Ai, and an address decoder that decodes the output of the address conversion circuit and selects the register area of the register block are provided. It is a feature.

(Y=≪X≫はY<Xを満たす最大の整数を表す。2^X
は2Xを表す。MOD(Y/X)はYのXによる余剰を表す。) 又本願の請求項2の発明は、ウィンドウ数をW、ウィ
ンドウ番号をWi、1ウィンドウ当たりのレジスタの割当
て数を2N(N≧3,Nは自然数)とし各ウィンドウのオー
バーラップしているレジスタの数を2(N-1)、各ウィンド
ウ共通にアクセス可能なレジスタの数を2(N-2)とするレ
ジスタファイルであって、複数のレジスタ領域を有する
複数のレジスタブロックと、各レジスタブロックに接続
されデータを入力する入出力回路と、外部から与えられ
るアドレス信号をAi、ウィンドウ番号をWiとすると、レ
ジスタブロックのレジスタ領域のアドレスをMOD[{Wi
×2(N-1)+Ai−2(N-2)}/{2^(≪log2W≫+N−
1)}]とし、各ウィンドウ共通のメモリセルのアドレ
スの割当てが2^(≪log2W≫+N−1)+Aiとするアド
レス変換信号を出力するアドレス変換回路と、アドレス
変換信号のうちN−2ビットの下位のアドレス変換信号
をデコードするアドレスデコーダと、アドレス変換信号
のうち残りの上位ビットをデコードしてレジスタブロッ
クに夫々接続された入出力回路を選択するブロックデー
タと、を具備することを特徴とするものである。
(Y = << X >> represents the maximum integer that satisfies Y <X. 2 ^ X
Represents 2 X. MOD (Y / X) represents the surplus of Y by X. In the invention of claim 2 of the present application, the number of windows is W, the window number is Wi, and the number of registers allocated per window is 2 N (N ≧ 3, N is a natural number), and the windows are overlapped. A register file in which the number of registers is 2 (N-1) and the number of registers that can be accessed in common in each window is 2 (N-2) .This register file has multiple register blocks and multiple registers. When the input / output circuit connected to the block and inputting data, the address signal given from the outside is Ai and the window number is Wi, the address of the register area of the register block is MOD [{Wi
× 2 (N-1) + Ai-2 (N-2) } / {2 ^ (<< log 2 W >> + N-
1)}], and an address conversion circuit that outputs an address conversion signal in which the address allocation of the memory cells common to each window is 2 ^ (<< log 2 W >> + N−1) + Ai, and N− of the address conversion signals. An address decoder for decoding a 2-bit lower address conversion signal; and block data for decoding the remaining upper bits of the address conversion signal and selecting an input / output circuit connected to each register block. It is a feature.

〔作用〕[Action]

このような特徴を有する本願の請求項1,2の発明によ
れば、レジスタウィンドウのレジスタのアドレス割当て
をアドレス変換回路によってMOD[{Wi×2(N-1)+Ai−2
(N-2)}/{2^(≪log2W≫+N−1)}]としている。
こうすればアドレス変換時Aiの値が2(N-2)より小さい場
合、各ウィンドウで共通のレジスタとなる。その場合の
変換式は2^(≪log2W≫+N−1)+Aiであり、2^(≪l
og2W≫+N−1)はAiよりも桁が大きいためキャリーの
発生はなく、桁上がりの遅延は発生しない。
According to the inventions of claims 1 and 2 having such features, the address allocation of the registers of the register window is performed by the address conversion circuit MOD [{Wi × 2 (N-1) + Ai-2
(N-2) } / {2 ^ (<< log 2 W >> + N-1)}].
In this way, when the value of Ai is smaller than 2 (N-2) during address translation, it becomes a register common to all windows. The conversion formula in that case is 2 ^ (<< log 2 W >> + N-1) + Ai, and 2 ^ (<< l
Since og 2 W >> + N-1) has a digit larger than Ai, carry does not occur and carry delay does not occur.

Aiの値が2(N-2)より大きい場合はAi−2(N-2)はボロウ
を発生しないため、2(N-2)に対応するビットを反転する
だけで変換が可能である。尚剰余をとっているのは上位
ビットへの桁上げ信号にマスクをかけるためである。
When the value of Ai is larger than 2 (N-2), Ai-2 (N-2) does not generate a borrow, so conversion can be performed only by inverting the bit corresponding to 2 (N-2) . The remainder is taken to mask the carry signal to the upper bits.

又N−2ビット以下のアドレス信号はアドレス変換に
よっても変化しないため、メモリセルを2(N-2)個で1つ
のブロックとし、N−2ビットでレジスタのアクセスを
行い、上位のビットで入出力回路を選択している。こう
すればアドレス変換時間がアクセスタイムに加算され
ず、高速なアクセスが可能となる。
In addition, since address signals of N-2 bits or less do not change even if the address is converted, 2 (N-2) memory cells are used as one block, N-2 bits are used for register access, and upper bits are used for input. The output circuit is selected. In this way, the address translation time is not added to the access time and high speed access is possible.

〔実施例〕〔Example〕

第1図は本発明によるレジスタファイルの一実施例の
構成図である。本実施例のレジスタファイルは8枚のウ
ィンドウw0〜w7を持ち、1ウィンドウあたり32本のレジ
スタが割当てられているものとする。レジスタアレイは
136本のレジスタより成り、1レジスタブロックは8本
のレジスタにより構成されている。アドレス変換回路11
はアドレス信号Aiとウィンドウ信号Wiに基づいてアドレ
スセレクト真号Br及びブロックセレクト信号Srを出力す
るものであって、下位の3ビットはそのままアドレスデ
コーダ12に与えられる。アドレスデコーダ12はこの3ビ
ットのアドレスをデコードするものであり、その出力端
はワード線Wrを介してレジスタアレイ13内の複数のレジ
スタブロック14に接続される。レジスタブロック14は8
レジスタ毎に1つのブロックとして17個のレジスタブロ
ック14a〜14qによって構成される。各レジスタブロック
は図示のようにメモリの動作を高速化するため、ビット
線Brの電位をあらかじめHighに保つプリチャージ回路15
と、レジスタの容量に相当するメモリセル16を有してい
る。又レジスタアレイ13内には各レジスタブロック14a
〜14qに夫々対応した入出力回路17a〜17qが設けられ
る。又ブロックセレクト信号Srはブロックデコーダ18に
与えられ、5ビットのブロックセレクト信号がデコード
されていずれか1つの入出力回路17a〜17qが選択され
る。
FIG. 1 is a block diagram of an embodiment of a register file according to the present invention. It is assumed that the register file of this embodiment has eight windows w0 to w7 and 32 registers are allocated to each window. Register array
It consists of 136 registers, and one register block consists of 8 registers. Address conversion circuit 11
Outputs the address select true symbol Br and the block select signal Sr based on the address signal Ai and the window signal Wi, and the lower 3 bits are given to the address decoder 12 as they are. The address decoder 12 decodes this 3-bit address, and its output end is connected to a plurality of register blocks 14 in the register array 13 via the word line Wr. Register block 14 is 8
Each register is composed of 17 register blocks 14a to 14q as one block. As shown in the figure, each register block has a precharge circuit 15 that keeps the potential of the bit line Br high beforehand in order to speed up the operation of the memory.
And a memory cell 16 corresponding to the capacity of the register. Further, each register block 14a is provided in the register array 13.
Input / output circuits 17a to 17q corresponding to 14q to 14q are provided. The block select signal Sr is applied to the block decoder 18, and the 5-bit block select signal is decoded to select one of the input / output circuits 17a to 17q.

又データの書込み時にはアドレス信号Ci,ウィンドウ
信号Xiがアドレス変換回路19に与えられる。アドレス変
換回路19はアドレス変換回路11と同様の信号を出力する
ものであり、アドレスデコーダ20に与えられる。アドレ
スデコーダ20はこの信号をフルデコードして各レジスタ
ブロックのメモリセルに接続されるワード線Wwをアクテ
ィブとするものである。
When writing data, the address signal Ci and the window signal Xi are given to the address conversion circuit 19. The address conversion circuit 19 outputs the same signal as the address conversion circuit 11, and is supplied to the address decoder 20. The address decoder 20 fully decodes this signal to activate the word line Ww connected to the memory cell of each register block.

第2図は本実施例のアドレス割当ての一例を示すもの
である。本図に示すようにレジスタアドレス「00」〜
「07」のレジスタはウィンドウw0とウィンドウw7とがオ
ーバーラップするレジスタ、レジスタアドレス「08」〜
「15」のレジスタはウィンドウw0の固有のレジスタ、レ
ジスタアドレス「16」〜「23」のレジスタはウィンドウ
w0とウィンドウw1がオーバーラップするレジスタ……の
ように設定し、レジスタアドレス「128」〜「135」のレ
ジスタは各ウィンドウw0〜w7に共通するレジスタとす
る。このようなレジスタアドレスの割当てを行うアドレ
ス変換回路11の一例を第3図に示す。本図では入力であ
るアドレス信号Aiの下位3ビットy0〜y2はそのままアド
レスセレクト信号Brとしてアドレスデコーダ12に与えら
れ、アドレス信号Aiの上位2ビットy3,y4とウィンドウ
信号Wiの3ビットの入力信号x0〜xiによってアドレスが
換され、ブロックセレクト信号Srの出力z3〜z7として入
出力回路17a〜17qを選択する信号として用いている。こ
の場合にはアドレス変換回路11のアドレス変換信号Biは
次式で与えられる。
FIG. 2 shows an example of address allocation according to this embodiment. As shown in this figure, register address "00" ~
The register of "07" is the register where window w0 and window w7 overlap, register address "08" ~
Registers of "15" are unique to window w0, registers of register addresses "16" to "23" are windows.
Registers such that w0 and window w1 overlap, and the registers with register addresses "128" to "135" are common to each window w0 to w7. An example of the address conversion circuit 11 for allocating such register addresses is shown in FIG. In this figure, the lower 3 bits y0 to y2 of the input address signal Ai are given as they are to the address decoder 12 as the address select signal Br, and the upper 2 bits y3 and y4 of the address signal Ai and the 3-bit input signal of the window signal Wi are input. The addresses are exchanged by x0 to xi, and the outputs z3 to z7 of the block select signal Sr are used as signals for selecting the input / output circuits 17a to 17q. In this case, the address conversion signal Bi of the address conversion circuit 11 is given by the following equation.

Bi=MOD[{Wi×16+Ai−8}/128] 次に本実施例による動作について説明する。まず読出
し動作では外部より入力されたアドレス信号Ai及びウィ
ンドウ信号Wiはアドレス変換回路11に入力されるが、ア
ドレス信号Aiの下位3ビットはアドレス変換によっても
変化しないためそのままアドレスデコーダ12に入力され
る。アドレスデコーダ12はアドレス信号Aiの下位3ビッ
トに相当するレジスタアドレスを選択し、ワード線Wrを
介してレジスタアレイ13内の夫々のレジスタブロック14
a〜14qのメモリセル16を制御する。そうすれば夫々のレ
ジスタブロック14のプリチャージ回路15によりプリチャ
ージされたビット線Brをディスチャージすることによ
り、メモリセル16のデータがビット線Brに出力される。
ビット線Brに出力されたデータは入出力回路17a〜17qに
入力される。アドレス変換回路11の出力は又ブロックセ
レクト信号Srとしてブロックデコーダ18に与えられ、デ
コードされて入出力回路17a〜17qに与えられているの
で、1つの入出力回路が選択されて外部にデータが出力
される。
Bi = MOD [{Wi × 16 + Ai-8} / 128] Next, the operation according to this embodiment will be described. First, in the read operation, the address signal Ai and the window signal Wi input from the outside are input to the address conversion circuit 11, but since the lower 3 bits of the address signal Ai do not change even by the address conversion, they are input to the address decoder 12 as they are. . The address decoder 12 selects a register address corresponding to the lower 3 bits of the address signal Ai, and the respective register blocks 14 in the register array 13 via the word line Wr.
It controls the memory cells 16 of a to 14q. Then, by discharging the bit line Br precharged by the precharge circuit 15 of each register block 14, the data of the memory cell 16 is output to the bit line Br.
The data output to the bit line Br is input to the input / output circuits 17a to 17q. The output of the address conversion circuit 11 is also given to the block decoder 18 as a block select signal Sr, and is decoded and given to the input / output circuits 17a to 17q, so that one input / output circuit is selected and data is output to the outside. To be done.

ここでアドレス変換回路11の動作について説明する。
アドレス信号Aiがy0からy4として入力され、ウィンドウ
信号Wiがx0からx2として入力され、変換後のアドレスが
z0からz7として出力される。
Here, the operation of the address conversion circuit 11 will be described.
The address signal Ai is input as y0 to y4, the window signal Wi is input as x0 to x2, and the converted address is
It is output as z0 to z7.

(a) アドレス信号Aiが31,Wiが7の場合には、アド
レス変換回路11は次のようなアドレス変換を行う。
(A) When the address signal Ai is 31 and Wi is 7, the address conversion circuit 11 performs the following address conversion.

(b) Ai=23,Wi=7の場合には以下のようなアドレ
ス演算が行われる。
(B) When Ai = 23 and Wi = 7, the following address calculation is performed.

更にアドレス信号Aiの上位2ビット3y,y4が共に0の
場合には第2図に示すアドレスの割当て図において各レ
ジスタウィンドウに共通のアドレスが選択されているた
め、第3図に示すナンド回路21の出力によってz7が1と
なりレジスタウィンドウの共通するレジスタが選択され
る。
Further, when the upper 2 bits 3y and y4 of the address signal Ai are both 0, a common address is selected for each register window in the address allocation diagram shown in FIG. 2, and therefore the NAND circuit 21 shown in FIG. By the output of, z7 becomes 1 and a common register in the register window is selected.

(c) Ai=7の場合には以下のようなアドレス演算が
行われる。
(C) When Ai = 7, the following address calculation is performed.

このようにアドレス変換時には上位3ビットに下位か
らの桁上げが発生しないため、第3図のアドレス変換回
路11に示すように、上位のアドレスを3ビットの加算器
を用いて変換することができる。又第3図の回路ではア
ドレス信号ビットy3,y4が「0」のときにはNAND回路21
によってz7が「1」となるが、演算結果の桁上がり信号
はz6に影響を与えないため、第6図に示す従来の4ビッ
ト加算器を使用する場合と比較して回路も小さくな
り、、高速な変換が可能となる。
In this way, since no carry is generated in the upper 3 bits from the lower side during address conversion, the upper address can be converted by using a 3-bit adder as shown in the address conversion circuit 11 in FIG. . Further, in the circuit of FIG. 3, when the address signal bits y3 and y4 are "0", the NAND circuit 21
Therefore, z7 becomes "1", but since the carry signal of the operation result does not affect z6, the circuit becomes smaller than the case where the conventional 4-bit adder shown in FIG. 6 is used. High-speed conversion is possible.

又書込み動作では外部よりアドレス信号Ciとウィンド
ウ信号Xiがアドレス変換回路19に入力され、アドレス変
換回路19から変換されたアドレス変換信号Diがアドレス
デコーダ20に入力され、アドレスデコーダ20のこの入力
信号をフルデコードしてアドレス変換信号Diに相当する
ワード線Wwを駆動する。データは外部からレジスタアレ
イ13内のレジスタブロック14a〜14qの各入出力回路17a
〜17qに入力され、各レジスタブロックのビット線Bwに
データを出力する。ワード線Wwによりレジスタブロック
の1つのメモリセル16が制御され、特定のレジスタブロ
ックのメモリセル16に書込まれる。
Further, in the write operation, the address signal Ci and the window signal Xi are externally input to the address conversion circuit 19, the address conversion signal Di converted from the address conversion circuit 19 is input to the address decoder 20, and the input signal of the address decoder 20 is input. Full decoding is performed to drive the word line Ww corresponding to the address conversion signal Di. Data is externally input / output circuit 17a of each of the register blocks 14a to 14q in the register array 13.
It is input to ~ 17q and outputs data to the bit line Bw of each register block. One memory cell 16 of the register block is controlled by the word line Ww and written in the memory cell 16 of the specific register block.

このため8枚のウィンドウを持ち1ウィンドウあたり
32本レジスタが割当てられている場合、従来例では変換
式内に+8を行う部分のため4ビットの加算器が必要で
あったが、アドレス信号Aiの5ビット中3ビットはアド
レス変換後も変化しないためレジスタの1つのブロック
を8本のレジスタで構成することにより、本実施例のレ
ジスタファイルでは3ビットの加算器を用いてアドレス
変換することが可能となる。アドレス変換が高速化で
き、レジスタファイルのアクセスを高速にすることがで
きる。又残りの2ビットとウィンドウ信号Wiによりレジ
スタを選択することにより、アドレス変換時間がアクセ
スタイムに加算されないため高速なアクセスが可能とな
る。
For this reason, we have 8 windows and one window
When 32 registers are allocated, in the conventional example, a 4-bit adder is needed because +8 is included in the conversion formula, but 3 bits out of 5 bits of the address signal Ai change even after address conversion. Therefore, by configuring one block of registers with eight registers, the register file of this embodiment can perform address conversion using a 3-bit adder. Address conversion can be speeded up, and register file access can be speeded up. Further, by selecting the register by the remaining 2 bits and the window signal Wi, the address conversion time is not added to the access time, so that high speed access becomes possible.

尚本実施例は読出し側のアドレスについて本発明を適
用したが書込み側にも適用可能である。
Although the present invention is applied to the read side address in the present embodiment, it can be applied to the write side.

又本実施例では各ウィンドウに共通のレジスタをアド
レス信号Aiの最小側に割当てているが、最大側に割当て
てもアドレス信号を各々反転することにより同様の効果
が得られる。
Further, in this embodiment, the register common to each window is assigned to the minimum side of the address signal Ai, but even if it is assigned to the maximum side, the same effect can be obtained by inverting the address signals.

〔発明の効果〕〔The invention's effect〕

以上詳細に説明したように本発明によれば、外部から
のアドレス信号をAi、ウィンドウ数をW、ウィンドウ番
号をWi、1ウィンドウ当たりのレジスタの割当て数を2N
(N≧3,Nは自然数)とし、各ウィンドウのオーバーラ
ップしているレジスタの数を2(N-1)とし、各ウィンドウ
共通にアクセス可能なレジスタの数を2(N-2)とすると、
メモリセルのアドレスの割当てをMOD[{Wi×2(N-1)+A
i−2(N-2)}/{2^(≪log2W≫+N−1)}]とし、各
ウィンドウ共通のメモリセルのアドレスの割当てが2^
(≪log2W≫+N−1)+Aiであるような構成にする。
こうすればアドレス変換によってアドレス信号AiのN−
1ビット以下からの桁上げの発生をなくすることがで
き、高速化することができる。
As described in detail above, according to the present invention, the address signal from the outside is Ai, the window number is W, the window number is Wi, and the number of registers allocated per window is 2 N.
(N ≧ 3, N is a natural number), the number of overlapping registers in each window is 2 (N-1), and the number of accessible registers common to each window is 2 (N-2). ,
Assign the address of the memory cell to MOD [{Wi × 2 (N-1) + A
i-2 (N-2) } / {2 ^ (<< log 2 W >> + N-1)}], and the address assignment of the memory cell common to each window is 2 ^.
(<< log 2 W >> + N-1) + Ai.
In this way, N- of the address signal Ai is obtained by address conversion
Carrying from one bit or less can be eliminated, and the speed can be increased.

又本発明はアドレス変換時に変換されないアドレス信
号のN−2ビットによりレジスタのアクセスを行い、ア
ドレス変換回路の出力によりレジスタからのデータを選
択する構成にすることにより、アドレスの変換とレジス
タアクセスとを並列に実行することができ、その結果レ
ジスタファイルのアクセスを高速化することができる。
Further, according to the present invention, the address is converted and the register is accessed by accessing the register by N-2 bits of the address signal which is not translated at the time of address translation and selecting the data from the register by the output of the address translation circuit. It can be executed in parallel, resulting in faster register file access.

【図面の簡単な説明】[Brief description of the drawings]

第1図は本発明の一実施例によるレジスタファイルのブ
ロック図、第2図は本実施例のレジスタファイルのアド
レス割当て図、第3図は本実施例におけるアドレス変換
回路の回路図、第4図は従来のレジスタファイルの一例
のブロック図、第5図は従来のレジスタファイルのアド
レスの割当て図、第6図は従来のレジスタファイルのア
ドレス変換回路の回路図である。 11,19……アドレス変換回路、12,20……アドレスデコー
ダ、13……レジスタアレイ、14a〜14q……レジスタブロ
ック、15……プリチャージ回路、16……メモリセル、17
a〜17q……入出力回路、18……ブロックデコーダ。
FIG. 1 is a block diagram of a register file according to an embodiment of the present invention, FIG. 2 is an address allocation diagram of the register file of the present embodiment, FIG. 3 is a circuit diagram of an address conversion circuit in the present embodiment, and FIG. Is a block diagram of an example of a conventional register file, FIG. 5 is an address allocation diagram of the conventional register file, and FIG. 6 is a circuit diagram of an address conversion circuit of the conventional register file. 11,19 ...... Address conversion circuit, 12,20 ...... Address decoder, 13 ...... Register array, 14a to 14q ...... Register block, 15 ...... Precharge circuit, 16 ...... Memory cell, 17
a to 17q …… I / O circuit, 18 …… Block decoder.

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】ウィンドウ数をW、ウィンドウ番号をWi、
1ウィンドウ当たりのレジスタの割当て数を2N(N≧3,
Nは自然数)とし各ウィンドウの互いにオーバーラップ
しているレジスタの数を2(N-1)、各ウィンドウ共通にア
クセス可能なレジスタの数を2(N-2)とするレジスタファ
イルであって、 複数のレジスタ領域を有するレジスタブロックと、 前記レジスタブロックに接続されデータを入力する入出
力回路と、 外部から与えられるアドレス信号をAi、ウィンドウ番号
をWiとすると、前記レジスタブロックのレジスタ領域の
アドレスをMOD[{Wi×2(N-1)+Ai−2(N-2)}/{2^
(≪log2W≫+N−1)}]とし、各ウィンドウ共通の
レジスタ領域のアドレスの割当てが2^(≪log2W≫+N
−1)+Aiとするアドレス変換信号を出力するアドレス
変換回路と、 前記アドレス変換回路の出力をデコードして前記レジス
タブロックのレジスタ領域を選択するアドレスデコーダ
と、を具備することを特徴とするレジスタファイル。 (Y=≪X≫はY<Xを満たす最大の整数を表す。2^X
は2Xを表す。MOD(Y/X)はYのXによる剰余を表す。)
1. The number of windows is W, the window number is Wi,
The number of registers allocated per window is 2 N (N ≧ 3,
N is a natural number) and the number of registers that overlap each other in each window is 2 (N-1) , and the number of registers that can be accessed in common in each window is 2 (N-2) . When a register block having a plurality of register areas, an input / output circuit connected to the register block for inputting data, an address signal given from the outside is Ai, and a window number is Wi, the address of the register area of the register block is MOD [{Wi × 2 (N-1) + Ai-2 (N-2) } / {2 ^
(<< log 2 W >> + N-1)}], and the address allocation of the register area common to each window is 2 ^ (<< log 2 W >> + N
-1) An address conversion circuit that outputs an address conversion signal of + Ai, and an address decoder that decodes the output of the address conversion circuit and selects the register area of the register block. . (Y = << X >> represents the maximum integer that satisfies Y <X. 2 ^ X
Represents 2 X. MOD (Y / X) represents the remainder of Y in X. )
【請求項2】ウィンドウ数をW、ウィンドウ番号をWi、
1ウィンドウ当たりのレジスタの割当て数を2N(N≧3,
Nは自然数)とし各ウィンドウの互いにオーバーラップ
しているレジスタの数を2(N-1)、各ウィンドウ共通にア
クセス可能なレジスタの数を2(N-2)とするレジスタファ
イルであって、 複数のレジスタ領域を有する複数のレジスタブロック
と、 前記各レジスタブロックに接続されデータを入力する入
出力回路と、 外部から与えられるアドレス信号をAi、ウィンドウ番号
をWiとすると、前記レジスタブロックのレジスタ領域の
アドレスをMOD[{Wi×2(N-1)+Ai−2(N-2)}/{2^
(≪log2W≫+N−1)}]とし、各ウィンドウ共通の
メモリセルのアドレスの割当てが2^(≪log2W≫+N−
1)+Aiとするアドレス変換信号を出力するアドレス変
換回路と、 前記アドレス変換信号のうちN−2ビットの下位のアド
レス変換信号をデコードするアドレスデコーダと、 前記アドレス変換信号のうち残りの上位ビットをデコー
ドして前記レジスタブロックに夫々接続された入出力回
路を選択するブロックデコーダと、を具備することを特
徴とするレジスタファイル。
2. The number of windows is W, the window number is Wi,
The number of registers allocated per window is 2 N (N ≧ 3,
N is a natural number) and the number of registers that overlap each other in each window is 2 (N-1) , and the number of registers that can be accessed in common in each window is 2 (N-2) . If a plurality of register blocks having a plurality of register areas, an input / output circuit connected to each of the register blocks and inputting data, an externally applied address signal is Ai, and a window number is Wi, the register areas of the register blocks The address of MOD [{Wi × 2 (N-1) + Ai-2 (N-2) } / {2 ^
(<< log 2 W >> + N-1)}], and the address allocation of the memory cell common to each window is 2 ^ (<< log 2 W >> + N-
1) An address conversion circuit that outputs an address conversion signal of + Ai, an address decoder that decodes an N-2 bit lower address conversion signal of the address conversion signal, and a remaining upper bit of the address conversion signal. A block decoder for decoding and selecting an input / output circuit connected to each of the register blocks.
JP2210901A 1990-08-07 1990-08-07 Register file Expired - Lifetime JP2693629B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2210901A JP2693629B2 (en) 1990-08-07 1990-08-07 Register file

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2210901A JP2693629B2 (en) 1990-08-07 1990-08-07 Register file

Publications (2)

Publication Number Publication Date
JPH0492282A JPH0492282A (en) 1992-03-25
JP2693629B2 true JP2693629B2 (en) 1997-12-24

Family

ID=16596949

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2210901A Expired - Lifetime JP2693629B2 (en) 1990-08-07 1990-08-07 Register file

Country Status (1)

Country Link
JP (1) JP2693629B2 (en)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
日経バイト,日経マグロウヒル社,昭和63年3月,第43号,P130−141

Also Published As

Publication number Publication date
JPH0492282A (en) 1992-03-25

Similar Documents

Publication Publication Date Title
US4435765A (en) Bank interleaved vector processor having a fixed relationship between start timing signals
EP0473275B1 (en) Memory control unit and memory unit
US5912854A (en) Data processing system arranged for operating synchronously with a high speed memory
US4800535A (en) Interleaved memory addressing system and method using a parity signal
US5748555A (en) Memory address preview control circuit
JP2693629B2 (en) Register file
EP0057096A2 (en) Information processing unit
CA1183275A (en) Byte addressable memory for variable length instructions and data
JP3183167B2 (en) Semiconductor storage device
JPS6143362A (en) Integrated circuit device
JP2747944B2 (en) Semiconductor storage device
JP3349929B2 (en) Memory controller
EP0332911A2 (en) Local memory fast selecting apparatus
JP2531822B2 (en) Instruction read-ahead device
SU993262A1 (en) Information processing device
JPH0810443B2 (en) Memory control circuit
JPS5841584B2 (en) Multi-access memory method and memory chip for multi-access
KR100187493B1 (en) Internal address generating method of 3 directional communicating systoric structured pipelined memory
KR900002496Y1 (en) Memory region expandent circuit
JPS58150184A (en) Storage device
JPH0444356B2 (en)
JPS58115675A (en) Memory access system
JPH05289938A (en) Memory access device
JPS5848287A (en) Address decoding circuit
JPH05189304A (en) Semiconductor storage device