JPH11184674A - レジスタファイル - Google Patents
レジスタファイルInfo
- Publication number
- JPH11184674A JPH11184674A JP9354795A JP35479597A JPH11184674A JP H11184674 A JPH11184674 A JP H11184674A JP 9354795 A JP9354795 A JP 9354795A JP 35479597 A JP35479597 A JP 35479597A JP H11184674 A JPH11184674 A JP H11184674A
- Authority
- JP
- Japan
- Prior art keywords
- read
- bank
- word
- register file
- decoder
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30141—Implementation provisions of register files, e.g. ports
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1075—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】
【課題】 ワード数の増大に伴うビットライン負荷によ
る遅延の影響を抑制することにより読出アクセス時間の
短縮をはかるとともにデータバス幅の拡大にも対応でき
るようにするほか、読出用デコーダのゲート段数を削減
できるようにしてデータ読出時のデコード処理を高速化
し、ロジック全体の性能向上を実現する。 【解決手段】 レジスタアレイ11を複数のバンク11-1〜
11-4に分割し、各バンク11-1〜11-4にセンスアンプ14-1
〜14-4をそなえ、読出アドレスの一部ビットの解読結果
に対応するワードを選択して各バンクのレジスタアレイ
から読み出すデコーダ17X-1〜17X-4,17Y-1〜17Y-
4,17Z-1〜17Z-4と、読出アドレスの残りビットの解
読結果に対応するバンクを特定するデコーダ18X〜18Z
と、デコーダ18X〜18Zにより特定されたバンクからの
ワードを選択して読出ポート12X〜12Zへ出力するマル
チプレクサ19X〜19Zとをそなえる。
る遅延の影響を抑制することにより読出アクセス時間の
短縮をはかるとともにデータバス幅の拡大にも対応でき
るようにするほか、読出用デコーダのゲート段数を削減
できるようにしてデータ読出時のデコード処理を高速化
し、ロジック全体の性能向上を実現する。 【解決手段】 レジスタアレイ11を複数のバンク11-1〜
11-4に分割し、各バンク11-1〜11-4にセンスアンプ14-1
〜14-4をそなえ、読出アドレスの一部ビットの解読結果
に対応するワードを選択して各バンクのレジスタアレイ
から読み出すデコーダ17X-1〜17X-4,17Y-1〜17Y-
4,17Z-1〜17Z-4と、読出アドレスの残りビットの解
読結果に対応するバンクを特定するデコーダ18X〜18Z
と、デコーダ18X〜18Zにより特定されたバンクからの
ワードを選択して読出ポート12X〜12Zへ出力するマル
チプレクサ19X〜19Zとをそなえる。
Description
【0001】(目次) 発明の属する技術分野 従来の技術(図7,図8) 発明が解決しようとする課題 課題を解決するための手段 発明の実施の形態 〔A〕第1実施形態の説明(図1) 〔B〕第2実施形態の説明(図2) 〔C〕第3実施形態の説明(図3〜図6) 〔D〕その他 発明の効果
【0002】
【発明の属する技術分野】本発明は、マイクロプロセッ
サ,CPUといった処理装置内に設けられ、計算の中間
結果や定数などを格納する複数のレジスタアレイから成
るレジスタファイルに関し、特に、複数の読出ポートお
よび複数の書込ポートを有し、これらのポートにより複
数の読出アクセスおよび複数の書込アクセスを独立に且
つ同時に処理することのできる、マルチポート構成のレ
ジスタファイルに関する。
サ,CPUといった処理装置内に設けられ、計算の中間
結果や定数などを格納する複数のレジスタアレイから成
るレジスタファイルに関し、特に、複数の読出ポートお
よび複数の書込ポートを有し、これらのポートにより複
数の読出アクセスおよび複数の書込アクセスを独立に且
つ同時に処理することのできる、マルチポート構成のレ
ジスタファイルに関する。
【0003】
【従来の技術】図7に示すように、一般的なマルチポー
ト構成のレジスタファイル100は、ワード幅n(ワー
ド数;例えばn=32,64,128,…)のレジスタ
アレイ101を有して構成され、各レジスタアレイ10
1は、ビット幅m(ビット数;例えばm=16,32,
…)のワードを格納できるようになっている。即ち、レ
ジスタファイル100の本体(レジスタ部分)は、セル
アレイをm×nの矩形状に配置して構成されている。
ト構成のレジスタファイル100は、ワード幅n(ワー
ド数;例えばn=32,64,128,…)のレジスタ
アレイ101を有して構成され、各レジスタアレイ10
1は、ビット幅m(ビット数;例えばm=16,32,
…)のワードを格納できるようになっている。即ち、レ
ジスタファイル100の本体(レジスタ部分)は、セル
アレイをm×nの矩形状に配置して構成されている。
【0004】また、レジスタファイル100は、3つの
読出ポート110X〜110Zおよび4つの書込ポート
120A〜120Dを有し、これらのポート110X〜
110Zおよび120A〜120Dにより、3つの読出
アクセスおよび4つの書込アクセスを独立に且つ同時に
処理可能に構成されている。そして、レジスタファイル
100には、読出ポート110X〜110Zから読み出
すワードを選択すべく外部から入力される読出アドレス
Rx〜Rzをそれぞれ解読する読出デコーダ130X〜
130Zがそなえられている。これらの読出デコーダ1
30X〜130Zは、それぞれ、解読の結果特定したレ
ジスタアレイ101を読出状態に切り換え、そのレジス
タアレイ101に保存されているデータ(ワード)を読
出ポート110X〜110Zへ送り出している。
読出ポート110X〜110Zおよび4つの書込ポート
120A〜120Dを有し、これらのポート110X〜
110Zおよび120A〜120Dにより、3つの読出
アクセスおよび4つの書込アクセスを独立に且つ同時に
処理可能に構成されている。そして、レジスタファイル
100には、読出ポート110X〜110Zから読み出
すワードを選択すべく外部から入力される読出アドレス
Rx〜Rzをそれぞれ解読する読出デコーダ130X〜
130Zがそなえられている。これらの読出デコーダ1
30X〜130Zは、それぞれ、解読の結果特定したレ
ジスタアレイ101を読出状態に切り換え、そのレジス
タアレイ101に保存されているデータ(ワード)を読
出ポート110X〜110Zへ送り出している。
【0005】なお、読出ポート110X〜110Zのそ
れぞれには、センスアンプ(読取増幅器)111がそな
えられており、各レジスタアレイ101から読み出され
図示省略のビットライン(データライン)を通じてセン
スアンプ111に送られた信号は、このセンスアンプ1
11により、ディジタル処理可能なレベルまで増幅され
るようになっている。
れぞれには、センスアンプ(読取増幅器)111がそな
えられており、各レジスタアレイ101から読み出され
図示省略のビットライン(データライン)を通じてセン
スアンプ111に送られた信号は、このセンスアンプ1
11により、ディジタル処理可能なレベルまで増幅され
るようになっている。
【0006】また、レジスタファイル100には、書込
ポート120A〜120Dから入力されたデータの書込
先レジスタアレイ101を指定すべく外部から入力され
る書込アドレスWa〜Wdをそれぞれ解読する書込デコ
ーダ140A〜140Dがそなえられている。これらの
書込デコーダ140A〜140Dは、それぞれ、解読の
結果、特定したレジスタアレイ101を書込状態に切り
換え、そのレジスタアレイ101に書込ポート120A
〜120Dからのデータを保存している。
ポート120A〜120Dから入力されたデータの書込
先レジスタアレイ101を指定すべく外部から入力され
る書込アドレスWa〜Wdをそれぞれ解読する書込デコ
ーダ140A〜140Dがそなえられている。これらの
書込デコーダ140A〜140Dは、それぞれ、解読の
結果、特定したレジスタアレイ101を書込状態に切り
換え、そのレジスタアレイ101に書込ポート120A
〜120Dからのデータを保存している。
【0007】ところで、レジスタファイルを組み込まれ
るマイクロプロセッサ等の処理装置に求められる性能は
年々高くなり、動作周波数および取扱データ量は増加の
一途をたどり、それに伴いレジスタファイルの容量も大
きくなりつつある。しかし、図7に示すような構成のレ
ジスタファイル100において、取扱データ量を増大さ
せるべくレジスタアレイ101の数を例えば1028ワ
ードまで増やした場合、読出アクセス時に、各レジスタ
アレイ101から各読出ポート110X〜110Zまで
のビットライン負荷による遅延が問題になってくる。
るマイクロプロセッサ等の処理装置に求められる性能は
年々高くなり、動作周波数および取扱データ量は増加の
一途をたどり、それに伴いレジスタファイルの容量も大
きくなりつつある。しかし、図7に示すような構成のレ
ジスタファイル100において、取扱データ量を増大さ
せるべくレジスタアレイ101の数を例えば1028ワ
ードまで増やした場合、読出アクセス時に、各レジスタ
アレイ101から各読出ポート110X〜110Zまで
のビットライン負荷による遅延が問題になってくる。
【0008】つまり、各読出ポート110X〜110Z
におけるセンスアンプ111に近いレジスタアレイ10
1については遅延の問題は生じないが、図7における書
込ポート120A〜120D側のレジスタアレイ101
については、センスアンプ111までの物理的距離(ビ
ットラインの長さ)がかなり長くなる。このため、レジ
スタアレイ101に微弱なレベルで保存されている信号
を、ビットラインを通じてセンスアンプ111へ送り、
このセンスアンプ111で増幅して次段のフリップフロ
ップ等へ送り出すためにかなりの時間がかかり、その遅
延がネックとなってロジック全体の性能低下をも招くお
それがある。
におけるセンスアンプ111に近いレジスタアレイ10
1については遅延の問題は生じないが、図7における書
込ポート120A〜120D側のレジスタアレイ101
については、センスアンプ111までの物理的距離(ビ
ットラインの長さ)がかなり長くなる。このため、レジ
スタアレイ101に微弱なレベルで保存されている信号
を、ビットラインを通じてセンスアンプ111へ送り、
このセンスアンプ111で増幅して次段のフリップフロ
ップ等へ送り出すためにかなりの時間がかかり、その遅
延がネックとなってロジック全体の性能低下をも招くお
それがある。
【0009】そこで、図8に示すような、COLUMN-ROW読
出/書込方式を採用したレジスタファイル200も用い
られている。この図8に示すレジスタファイル200
も、図7に示したレジスタファイル100と同様、ビッ
ト幅mのレジスタアレイ201をn個有しているが、レ
ジスタファイル200では、レジスタアレイ201を横
方向(図8の左右方向)に4つ並べることにより、レジ
スタファイル200のワード幅を、レジスタファイル1
00のワード幅の4分の1(n/4)としている。レジ
スタファイル200の本体(レジスタ部分)は、セルア
レイを(m×4)×(n/4)の矩形状に配置して構成
されている。つまり、レジスタファイル200は、横方
向にビット幅mの4つの行(COLUMN)に分割されるとと
もに、縦方向(図8の上下方向)にn/4の列(ROW)に
分割されている。
出/書込方式を採用したレジスタファイル200も用い
られている。この図8に示すレジスタファイル200
も、図7に示したレジスタファイル100と同様、ビッ
ト幅mのレジスタアレイ201をn個有しているが、レ
ジスタファイル200では、レジスタアレイ201を横
方向(図8の左右方向)に4つ並べることにより、レジ
スタファイル200のワード幅を、レジスタファイル1
00のワード幅の4分の1(n/4)としている。レジ
スタファイル200の本体(レジスタ部分)は、セルア
レイを(m×4)×(n/4)の矩形状に配置して構成
されている。つまり、レジスタファイル200は、横方
向にビット幅mの4つの行(COLUMN)に分割されるとと
もに、縦方向(図8の上下方向)にn/4の列(ROW)に
分割されている。
【0010】また、レジスタファイル200は、3つの
読出ポート210X〜210Zおよび4つの書込ポート
220A〜220Dを有し、これらのポート210X〜
210Zおよび220A〜220Dにより、3つの読出
アクセスおよび4つの書込アクセスを独立に且つ同時に
処理可能に構成されている。そして、レジスタファイル
200には、読出ポート210X〜210Zから読み出
すワードを選択すべく外部から入力される読出アドレス
Rx〜Rz(例えばn=32の場合、5ビットのアドレ
ス情報)をそれぞれ解読する列デコーダ(ROWDECODER)
230X〜230Zおよび行デコーダ(COLUMN DECODER)
231X〜231Zがそなえられるとともに、4→1マ
ルチプレクサ(4 TO 1 MULTIPLEXER)232X〜232Z
がそなえられている。
読出ポート210X〜210Zおよび4つの書込ポート
220A〜220Dを有し、これらのポート210X〜
210Zおよび220A〜220Dにより、3つの読出
アクセスおよび4つの書込アクセスを独立に且つ同時に
処理可能に構成されている。そして、レジスタファイル
200には、読出ポート210X〜210Zから読み出
すワードを選択すべく外部から入力される読出アドレス
Rx〜Rz(例えばn=32の場合、5ビットのアドレ
ス情報)をそれぞれ解読する列デコーダ(ROWDECODER)
230X〜230Zおよび行デコーダ(COLUMN DECODER)
231X〜231Zがそなえられるとともに、4→1マ
ルチプレクサ(4 TO 1 MULTIPLEXER)232X〜232Z
がそなえられている。
【0011】列デコーダ230X〜230Zは、それぞ
れ、読出アドレスRx〜Rzのうちの上位ビット(例え
ば上位3ビット)に基づいてn/4列の中から1つの列
を特定し、その列における4つのレジスタアレイ201
を読出状態に切り換え、それらのレジスタアレイ201
に保存されているデータ(ワード)を4→1マルチプレ
クサ232X〜232Zへ送り出している。
れ、読出アドレスRx〜Rzのうちの上位ビット(例え
ば上位3ビット)に基づいてn/4列の中から1つの列
を特定し、その列における4つのレジスタアレイ201
を読出状態に切り換え、それらのレジスタアレイ201
に保存されているデータ(ワード)を4→1マルチプレ
クサ232X〜232Zへ送り出している。
【0012】行デコーダ231X〜231Zは、それぞ
れ、読出アドレスRx〜Rzのうちの下位ビット(例え
ば下位2ビット)に基づいて4つの行の中から1つの行
を特定して、4→1マルチプレクサ232X〜232Z
へ4ビットの行指示情報を送出している。4→1マルチ
プレクサ232X〜232Zは、それぞれ、行デコーダ
231X〜231Zからの行指示情報に応じた行部分を
開放し、その行からのデータを読出ポート210X〜2
10Zへ送り出している。
れ、読出アドレスRx〜Rzのうちの下位ビット(例え
ば下位2ビット)に基づいて4つの行の中から1つの行
を特定して、4→1マルチプレクサ232X〜232Z
へ4ビットの行指示情報を送出している。4→1マルチ
プレクサ232X〜232Zは、それぞれ、行デコーダ
231X〜231Zからの行指示情報に応じた行部分を
開放し、その行からのデータを読出ポート210X〜2
10Zへ送り出している。
【0013】なお、読出ポート210X〜210Zのそ
れぞれにも、前述と同様のセンスアンプ(読取増幅器)
211がそなえられており、各レジスタアレイ201か
ら読み出され図示省略のビットライン(データライン)
を通じてセンスアンプ211に送られた信号は、このセ
ンスアンプ211により、ディジタル処理可能なレベル
まで増幅されるようになっている。
れぞれにも、前述と同様のセンスアンプ(読取増幅器)
211がそなえられており、各レジスタアレイ201か
ら読み出され図示省略のビットライン(データライン)
を通じてセンスアンプ211に送られた信号は、このセ
ンスアンプ211により、ディジタル処理可能なレベル
まで増幅されるようになっている。
【0014】また、レジスタファイル200には、書込
ポート220A〜220Dから入力されたデータの書込
先レジスタアレイ201を指定すべく外部から入力され
る書込アドレスWa〜Wdをそれぞれ解読する書込デコ
ーダ240A〜240Dがそなえられている。これらの
書込デコーダ240A〜240Dは、それぞれ、解読の
結果、特定したレジスタアレイ201(所定の行で所定
の列にあるレジスタアレイ201)を書込状態に切り換
え、そのレジスタアレイ201に書込ポート220A〜
220Dからのデータを保存している。
ポート220A〜220Dから入力されたデータの書込
先レジスタアレイ201を指定すべく外部から入力され
る書込アドレスWa〜Wdをそれぞれ解読する書込デコ
ーダ240A〜240Dがそなえられている。これらの
書込デコーダ240A〜240Dは、それぞれ、解読の
結果、特定したレジスタアレイ201(所定の行で所定
の列にあるレジスタアレイ201)を書込状態に切り換
え、そのレジスタアレイ201に書込ポート220A〜
220Dからのデータを保存している。
【0015】上述のようなレジスタファイル200で
は、各レジスタアレイ201からセンスアンプ211ま
での物理的距離を、最長でも、図7に示したレジスタフ
ァイル100の最長距離の4分の1にすることができ
る。レジスタファイル200において例えば1028ワ
ード分のレジスタアレイ201をそなえる場合、レジス
タファイル200のワード幅は、見かけ上、256ワー
ドであり、各レジスタアレイ201からセンスアンプ2
11までの物理的距離は、最長で256ワード分とな
る。
は、各レジスタアレイ201からセンスアンプ211ま
での物理的距離を、最長でも、図7に示したレジスタフ
ァイル100の最長距離の4分の1にすることができ
る。レジスタファイル200において例えば1028ワ
ード分のレジスタアレイ201をそなえる場合、レジス
タファイル200のワード幅は、見かけ上、256ワー
ドであり、各レジスタアレイ201からセンスアンプ2
11までの物理的距離は、最長で256ワード分とな
る。
【0016】従って、取扱データ量を増大させるべくレ
ジスタアレイ201の数を増やした場合であっても、レ
ジスタファイル200では、前述したような読出アクセ
ス時におけるビットライン負荷による遅延の問題は解消
されることになる。
ジスタアレイ201の数を増やした場合であっても、レ
ジスタファイル200では、前述したような読出アクセ
ス時におけるビットライン負荷による遅延の問題は解消
されることになる。
【0017】
【発明が解決しようとする課題】しかしながら、図8に
示すレジスタファイル200では、ワード幅を4分の1
に減少させることができるが、ビット幅は逆に4倍に増
加してしまう。近年の高性能マイクロプロセッサでは、
性能向上の一環としてデータバス幅(1ワード分のビッ
ト数)を大きくする傾向にある(例えば64ビットや1
28ビット)。それに伴い、図8に示すレジスタファイ
ル200では、ビット幅が極めて増大するため(例えば
256ビットや1024ビット)、今度は、デコーダ2
30X〜230Zから各セルアレイへ至るデコードライ
ンが長くなってしまい、それによる遅延が性能低下の要
因になるという課題がある。
示すレジスタファイル200では、ワード幅を4分の1
に減少させることができるが、ビット幅は逆に4倍に増
加してしまう。近年の高性能マイクロプロセッサでは、
性能向上の一環としてデータバス幅(1ワード分のビッ
ト数)を大きくする傾向にある(例えば64ビットや1
28ビット)。それに伴い、図8に示すレジスタファイ
ル200では、ビット幅が極めて増大するため(例えば
256ビットや1024ビット)、今度は、デコーダ2
30X〜230Zから各セルアレイへ至るデコードライ
ンが長くなってしまい、それによる遅延が性能低下の要
因になるという課題がある。
【0018】上述のごとく、図7に示すレジスタファイ
ル100では、1つの読出ポート110X〜Zに1つの
センスアンプ111がそなえられておらず、ワード幅が
増大した場合には、ビットライン負荷による遅延が性能
低下の要因になる。一方、図8に示すレジスタファイル
200では、ビットライン負荷による遅延の問題は解消
できても、デコードラインによる遅延が性能低下の要因
になる。いずれにしても、ワード数の増大に伴って、ビ
ットラインやデコードラインが長くなり遅延時間が増大
するため、高速アクセスを実現するのは困難になりつつ
ある。
ル100では、1つの読出ポート110X〜Zに1つの
センスアンプ111がそなえられておらず、ワード幅が
増大した場合には、ビットライン負荷による遅延が性能
低下の要因になる。一方、図8に示すレジスタファイル
200では、ビットライン負荷による遅延の問題は解消
できても、デコードラインによる遅延が性能低下の要因
になる。いずれにしても、ワード数の増大に伴って、ビ
ットラインやデコードラインが長くなり遅延時間が増大
するため、高速アクセスを実現するのは困難になりつつ
ある。
【0019】また、図7に示すレジスタファイル100
において、読出アドレスRx〜Rzが例えば5ビットの
データである場合、実装では、各読出デコーダ130X
〜130Zは、3入力のNANDゲートおよび2入力の
NANDゲートと、これら2つのNANDゲートの出力
を入力されるNORゲートとの2段で構成されることが
ほとんどである。当然、読出アドレスRx〜Rzのビッ
ト数が増大すると、各読出デコーダ130X〜130Z
は、より多くの段数のゲートで構成されることになる。
において、読出アドレスRx〜Rzが例えば5ビットの
データである場合、実装では、各読出デコーダ130X
〜130Zは、3入力のNANDゲートおよび2入力の
NANDゲートと、これら2つのNANDゲートの出力
を入力されるNORゲートとの2段で構成されることが
ほとんどである。当然、読出アドレスRx〜Rzのビッ
ト数が増大すると、各読出デコーダ130X〜130Z
は、より多くの段数のゲートで構成されることになる。
【0020】しかし、読出デコーダ130X〜130Z
を構成するゲート段数が多くなると、読出デコーダ13
0X〜130Zのサイズが大きくなるだけでなく、デー
タ読出時のデコード処理に要する時間が増大し性能低下
の要因になってしまう。従って、読出デコーダ130X
〜130Zのゲート段数を減らし、データ読出時のデコ
ード処理を高速化することが望まれている。
を構成するゲート段数が多くなると、読出デコーダ13
0X〜130Zのサイズが大きくなるだけでなく、デー
タ読出時のデコード処理に要する時間が増大し性能低下
の要因になってしまう。従って、読出デコーダ130X
〜130Zのゲート段数を減らし、データ読出時のデコ
ード処理を高速化することが望まれている。
【0021】本発明は、このような課題に鑑み創案され
たもので、ワード数の増大に伴うビットライン負荷によ
る遅延の影響を抑制することにより読出アクセス時間の
短縮をはかるとともにデータバス幅の拡大にも対応でき
るようにするほか、読出用デコーダのゲート段数を削減
できるようにしてデータ読出時のデコード処理を高速化
し、ロジック全体の性能向上を実現した、レジスタファ
イルを提供することを目的とする。
たもので、ワード数の増大に伴うビットライン負荷によ
る遅延の影響を抑制することにより読出アクセス時間の
短縮をはかるとともにデータバス幅の拡大にも対応でき
るようにするほか、読出用デコーダのゲート段数を削減
できるようにしてデータ読出時のデコード処理を高速化
し、ロジック全体の性能向上を実現した、レジスタファ
イルを提供することを目的とする。
【0022】
【課題を解決するための手段】上記目的を達成するため
に、本発明のレジスタファイル(請求項1)は、複数の
レジスタアレイを有するとともに、読出ポートおよび書
込ポートを有し、これらのポートにより複数の読出アク
セスおよび複数の書込アクセスを独立に且つ同時に処理
可能な、マルチポート構成のものであって、複数のレジ
スタアレイを所定数のワード毎に複数のバンクに分割
し、これらのバンクのそれぞれにセンスアンプをそなえ
るとともに、読み出すべきワードを指定するアドレスの
一部ビットを解読しその解読結果に対応するワードを選
択して各バンクのレジスタアレイから読み出すバンク内
ワード選択用デコーダと、前記アドレスの残りビットを
解読しその解読結果に対応するバンクを特定するバンク
選択用デコーダと、バンク内ワード選択用デコーダによ
り選択されセンスアンプにより増幅されたワードを複数
のバンクから入力されバンク数分のワードの中からバン
ク選択用デコーダにより特定されたバンクからのワード
を選択して読出ポートへ出力するマルチプレクサとをそ
なえたことを特徴としている。
に、本発明のレジスタファイル(請求項1)は、複数の
レジスタアレイを有するとともに、読出ポートおよび書
込ポートを有し、これらのポートにより複数の読出アク
セスおよび複数の書込アクセスを独立に且つ同時に処理
可能な、マルチポート構成のものであって、複数のレジ
スタアレイを所定数のワード毎に複数のバンクに分割
し、これらのバンクのそれぞれにセンスアンプをそなえ
るとともに、読み出すべきワードを指定するアドレスの
一部ビットを解読しその解読結果に対応するワードを選
択して各バンクのレジスタアレイから読み出すバンク内
ワード選択用デコーダと、前記アドレスの残りビットを
解読しその解読結果に対応するバンクを特定するバンク
選択用デコーダと、バンク内ワード選択用デコーダによ
り選択されセンスアンプにより増幅されたワードを複数
のバンクから入力されバンク数分のワードの中からバン
ク選択用デコーダにより特定されたバンクからのワード
を選択して読出ポートへ出力するマルチプレクサとをそ
なえたことを特徴としている。
【0023】上述のごとくバンク毎にセンスアンプをそ
なえることにより、ワード数が増大しても各レジスタア
レイからセンスアンプへ至るビットラインを短くするこ
とができ、ワード数の増大に伴うビットライン負荷によ
る遅延の影響を抑制できるほか、ビット幅(データバス
幅)を拡大してもデコードラインの延長に伴う遅延時間
の影響を抑制できる。また、読出用デコーダを、バンク
内ワード選択用デコーダとバンク選択用デコーダとの2
つに分割して構成することにより、デコーダにおけるゲ
ート段数やゲート数を削減することができる。
なえることにより、ワード数が増大しても各レジスタア
レイからセンスアンプへ至るビットラインを短くするこ
とができ、ワード数の増大に伴うビットライン負荷によ
る遅延の影響を抑制できるほか、ビット幅(データバス
幅)を拡大してもデコードラインの延長に伴う遅延時間
の影響を抑制できる。また、読出用デコーダを、バンク
内ワード選択用デコーダとバンク選択用デコーダとの2
つに分割して構成することにより、デコーダにおけるゲ
ート段数やゲート数を削減することができる。
【0024】なお、バンク内ワード選択用デコーダを、
複数のバンクにより共用してもよく(請求項2)、これ
によりゲート数を削減することができる。また、この場
合、バンク内ワード選択用デコーダからの信号を反転・
増幅する第1インバータをそなえるとともに、この第1
インバータからの信号を反転・増幅してデコードライン
へ出力する第2インバータをバンク毎にそなえてもよく
(請求項3)、これにより、ゲート段数やゲート数の増
加を最小限に抑えながら、バンク内ワード選択用デコー
ダから各バンクのデコードラインへ至る信号を確実に増
幅することができる。
複数のバンクにより共用してもよく(請求項2)、これ
によりゲート数を削減することができる。また、この場
合、バンク内ワード選択用デコーダからの信号を反転・
増幅する第1インバータをそなえるとともに、この第1
インバータからの信号を反転・増幅してデコードライン
へ出力する第2インバータをバンク毎にそなえてもよく
(請求項3)、これにより、ゲート段数やゲート数の増
加を最小限に抑えながら、バンク内ワード選択用デコー
ダから各バンクのデコードラインへ至る信号を確実に増
幅することができる。
【0025】さらに、書込ポートから入力されるワード
をそのまま読出ポートへ出力するためのバイパスライン
をそなえるとともに、マルチプレクサが、バイパスライ
ンのからのワードを選択して読出ポートへ出力するバイ
パス選択回路としての機能を有するように構成してもよ
く(請求項4)、この場合、読出アドレスと書込アドレ
スとが一致した場合にマルチプレクサをバイパス選択回
路として機能させるバイパス制御回路をそなえる(請求
項5)。
をそのまま読出ポートへ出力するためのバイパスライン
をそなえるとともに、マルチプレクサが、バイパスライ
ンのからのワードを選択して読出ポートへ出力するバイ
パス選択回路としての機能を有するように構成してもよ
く(請求項4)、この場合、読出アドレスと書込アドレ
スとが一致した場合にマルチプレクサをバイパス選択回
路として機能させるバイパス制御回路をそなえる(請求
項5)。
【0026】上述のようなマルチプレクサのバイパス選
択回路としての機能を用いることにより、例えばパイプ
ライン方式で演算処理を並列的に行なう際に、ある演算
結果を、所定のレジスタアレイにワードとして書き込む
と同時に、他の演算処理のオペランドとして直ちに用い
ることが可能になる。
択回路としての機能を用いることにより、例えばパイプ
ライン方式で演算処理を並列的に行なう際に、ある演算
結果を、所定のレジスタアレイにワードとして書き込む
と同時に、他の演算処理のオペランドとして直ちに用い
ることが可能になる。
【0027】
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態を説明する。 〔A〕第1実施形態の説明 図1は本発明の第1実施形態としてのレジスタファイル
の構成を示すブロック図であり、この図1に示すよう
に、第1実施形態のレジスタファイル10は、ビット幅
mのワードを格納可能なn×4個のレジスタアレイ11
をそなえて構成されるとともに、3つの読出ポート12
X〜12Zおよび4つの書込ポート13A〜13Dを有
し、これらのポート12X〜12Zおよび13A〜13
Dにより、3つの読出アクセスおよび4つの書込アクセ
スを独立に且つ同時に処理可能に構成されている。
施の形態を説明する。 〔A〕第1実施形態の説明 図1は本発明の第1実施形態としてのレジスタファイル
の構成を示すブロック図であり、この図1に示すよう
に、第1実施形態のレジスタファイル10は、ビット幅
mのワードを格納可能なn×4個のレジスタアレイ11
をそなえて構成されるとともに、3つの読出ポート12
X〜12Zおよび4つの書込ポート13A〜13Dを有
し、これらのポート12X〜12Zおよび13A〜13
Dにより、3つの読出アクセスおよび4つの書込アクセ
スを独立に且つ同時に処理可能に構成されている。
【0028】また、本実施形態において、レジスタアレ
イ11は、nワード(所定数)毎に4つのバンク11−
1〜11−4に分割され、これらのバンク11−1〜1
1−4のそれぞれに、センスアンプ(SA,読取増幅
器)14−1〜14−4が独立してそなえられている。
つまり、各バンク11−1〜11−4は、セルアレイを
m×nの矩形状に配置して構成され、各バンク11−1
〜11−4におけるレジスタアレイ11から読み出され
図示省略のビットライン(データライン)を通じてセン
スアンプ11に送られた信号は、このセンスアンプ11
により、ディジタル処理可能なレベルまで増幅されるよ
うになっている。
イ11は、nワード(所定数)毎に4つのバンク11−
1〜11−4に分割され、これらのバンク11−1〜1
1−4のそれぞれに、センスアンプ(SA,読取増幅
器)14−1〜14−4が独立してそなえられている。
つまり、各バンク11−1〜11−4は、セルアレイを
m×nの矩形状に配置して構成され、各バンク11−1
〜11−4におけるレジスタアレイ11から読み出され
図示省略のビットライン(データライン)を通じてセン
スアンプ11に送られた信号は、このセンスアンプ11
により、ディジタル処理可能なレベルまで増幅されるよ
うになっている。
【0029】レジスタファイル10には、書込ポート1
3A〜13Dから入力されたデータの書込先レジスタア
レイ11を指定すべく外部から入力される書込アドレス
Wa〜Wdをそれぞれ解読する書込用デコーダ15A〜
15Dがそなえられている。これらの書込デコーダ15
A〜15Dは、それぞれ、解読の結果、特定したレジス
タアレイ11を書込状態に切り換え、そのレジスタアレ
イ11に書込ポート13A〜13Dからのデータを保存
している。
3A〜13Dから入力されたデータの書込先レジスタア
レイ11を指定すべく外部から入力される書込アドレス
Wa〜Wdをそれぞれ解読する書込用デコーダ15A〜
15Dがそなえられている。これらの書込デコーダ15
A〜15Dは、それぞれ、解読の結果、特定したレジス
タアレイ11を書込状態に切り換え、そのレジスタアレ
イ11に書込ポート13A〜13Dからのデータを保存
している。
【0030】そして、本実施形態のレジスタファイル1
0には、読出ポート12X〜12Zのそれぞれに対応し
て、読出アドレスバッファ16X,16Y,16Zと、
バンク内ワード選択用デコーダ17X−1〜17X−
4,17Y−1〜17Y−4,17Z−1〜17Z−4
と、バンク選択用デコーダ18X,18Y,18Zと、
マルチプレクサ(MUX)19X,19Y,19Zとが
そなえられている。
0には、読出ポート12X〜12Zのそれぞれに対応し
て、読出アドレスバッファ16X,16Y,16Zと、
バンク内ワード選択用デコーダ17X−1〜17X−
4,17Y−1〜17Y−4,17Z−1〜17Z−4
と、バンク選択用デコーダ18X,18Y,18Zと、
マルチプレクサ(MUX)19X,19Y,19Zとが
そなえられている。
【0031】なお、本実施形態において、“X”,
“Y”,“Z”を付された符号は、それぞれ読出ポート
12X,12Y,12Zに対応してそなえられたもので
あることを示し、“−1”,“−2”,“−3”,“−
4”を付された符号は、それぞれバンク11−1,11
−2,11−3,11−4に対応してそなえられたもの
であることを示している。
“Y”,“Z”を付された符号は、それぞれ読出ポート
12X,12Y,12Zに対応してそなえられたもので
あることを示し、“−1”,“−2”,“−3”,“−
4”を付された符号は、それぞれバンク11−1,11
−2,11−3,11−4に対応してそなえられたもの
であることを示している。
【0032】ここで、読出アドレスバッファ16X,1
6Y,16Zは、それぞれ、読出ポート12X〜12Z
から読み出すべきワードを選択すべく外部から入力され
る読出アドレスRx,Ry,Rzを保持するものであ
る。バンク内ワード選択用デコーダ17X−1〜17X
−4,17Y−1〜17Y−4,17Z−1〜17Z−
4およびバンク選択用デコーダ18X〜18Zは、それ
ぞれ、バッファ16X〜16Zに保持されている読出ア
ドレスRx〜Rzを解読する読出用デコーダとして機能
するものである。
6Y,16Zは、それぞれ、読出ポート12X〜12Z
から読み出すべきワードを選択すべく外部から入力され
る読出アドレスRx,Ry,Rzを保持するものであ
る。バンク内ワード選択用デコーダ17X−1〜17X
−4,17Y−1〜17Y−4,17Z−1〜17Z−
4およびバンク選択用デコーダ18X〜18Zは、それ
ぞれ、バッファ16X〜16Zに保持されている読出ア
ドレスRx〜Rzを解読する読出用デコーダとして機能
するものである。
【0033】バンク内ワード選択用デコーダ17X−1
〜17X−4,17Y−1〜17Y−4,17Z−1〜
17Z−4は、それぞれ、バッファ16X〜16Zに保
持されている読出アドレスの上位ビットを解読し、その
解読結果に対応するワードを選択して各バンク11−1
〜11−4のレジスタアレイ11から読み出すものであ
る。
〜17X−4,17Y−1〜17Y−4,17Z−1〜
17Z−4は、それぞれ、バッファ16X〜16Zに保
持されている読出アドレスの上位ビットを解読し、その
解読結果に対応するワードを選択して各バンク11−1
〜11−4のレジスタアレイ11から読み出すものであ
る。
【0034】バンク選択用デコーダ18X〜18Zは、
それぞれ、バッファ16X〜16Zに保持されている読
出アドレスの下位ビットを解読し、その解読結果に対応
するバンクをバンク11−1〜11−4の中から特定す
るものである。また、マルチプレクサ19X〜19Z
は、それぞれ、バンク内ワード選択用デコーダ18X〜
18Zにより選択されセンスアンプ14−1〜14−4
により増幅されたワードを4つのバンク11−1〜11
−4から入力され、これら4つのワードの中からバンク
選択用デコーダ18X〜18Zにより特定されたバンク
からのワードを選択して読出ポート12X〜12Zへ出
力するものである。
それぞれ、バッファ16X〜16Zに保持されている読
出アドレスの下位ビットを解読し、その解読結果に対応
するバンクをバンク11−1〜11−4の中から特定す
るものである。また、マルチプレクサ19X〜19Z
は、それぞれ、バンク内ワード選択用デコーダ18X〜
18Zにより選択されセンスアンプ14−1〜14−4
により増幅されたワードを4つのバンク11−1〜11
−4から入力され、これら4つのワードの中からバンク
選択用デコーダ18X〜18Zにより特定されたバンク
からのワードを選択して読出ポート12X〜12Zへ出
力するものである。
【0035】なお、バッファ16Xからのアドレスバス
は2つに分割され、上位ビット側のアドレスバスはバン
ク内ワード選択用デコーダ17X−1〜17X−4に接
続され、下位ビット側のアドレスバスはバンク選択用デ
コーダ18Xに接続されている。図1においては、バッ
ファ16Yとバンク内ワード選択用デコーダ17Y−1
〜17Y−4およびバンク選択用デコーダ18Yとの間
のバス配線の図示を省略するとともに、バッファ16Z
とバンク内ワード選択用デコーダ17Z−1〜17Z−
4およびバンク選択用デコーダ18Zとの間のバス配線
の図示を省略しているが、これらの配線は、図1中に図
示するバッファ16Xとバンク内ワード選択用デコーダ
17X−1〜17X−4およびバンク選択用デコーダ1
8Xとの間のバス配線と同様である。
は2つに分割され、上位ビット側のアドレスバスはバン
ク内ワード選択用デコーダ17X−1〜17X−4に接
続され、下位ビット側のアドレスバスはバンク選択用デ
コーダ18Xに接続されている。図1においては、バッ
ファ16Yとバンク内ワード選択用デコーダ17Y−1
〜17Y−4およびバンク選択用デコーダ18Yとの間
のバス配線の図示を省略するとともに、バッファ16Z
とバンク内ワード選択用デコーダ17Z−1〜17Z−
4およびバンク選択用デコーダ18Zとの間のバス配線
の図示を省略しているが、これらの配線は、図1中に図
示するバッファ16Xとバンク内ワード選択用デコーダ
17X−1〜17X−4およびバンク選択用デコーダ1
8Xとの間のバス配線と同様である。
【0036】上述のごとく構成された本発明の第1実施
形態としてのレジスタファイル10では、書込ポート1
3A〜13Dから入力されたデータは、それぞれ、書込
アドレスWa〜Wdに応じて、書込デコーダ15A〜1
5Dによりn×4個のレジスタアレイ11のうちの一つ
に書き込まれる。一方、レジスタファイル10における
あるレジスタアレイ11に書き込まれたワード(デー
タ)を、例えば読出ポート12Xから読み出す場合に
は、まず、そのワードを指定する読出アドレスRxをバ
ッファ16Xに設定する。
形態としてのレジスタファイル10では、書込ポート1
3A〜13Dから入力されたデータは、それぞれ、書込
アドレスWa〜Wdに応じて、書込デコーダ15A〜1
5Dによりn×4個のレジスタアレイ11のうちの一つ
に書き込まれる。一方、レジスタファイル10における
あるレジスタアレイ11に書き込まれたワード(デー
タ)を、例えば読出ポート12Xから読み出す場合に
は、まず、そのワードを指定する読出アドレスRxをバ
ッファ16Xに設定する。
【0037】読出アドレスRxの上位ビットは、バンク
内ワード選択用デコーダ17X−1〜17X−4へ入力
されてこれらのデコーダ17X−1〜17X−4でそれ
ぞれ解読され、その解読結果に対応するワードが、選択
されて各バンク11−1〜11−4のレジスタアレイ1
1から読み出される。読み出されたワード(信号)は、
バンク11−1〜11−4毎のセンスアンプ14−1〜
14−4によりディジタル処理可能なレベルまで増幅さ
れてから、マルチプレクサ19Xへ出力される。
内ワード選択用デコーダ17X−1〜17X−4へ入力
されてこれらのデコーダ17X−1〜17X−4でそれ
ぞれ解読され、その解読結果に対応するワードが、選択
されて各バンク11−1〜11−4のレジスタアレイ1
1から読み出される。読み出されたワード(信号)は、
バンク11−1〜11−4毎のセンスアンプ14−1〜
14−4によりディジタル処理可能なレベルまで増幅さ
れてから、マルチプレクサ19Xへ出力される。
【0038】このとき、レジスタアレイ11からセンス
アンプ14−1〜14−4へ至るビットライン(図示省
略)は、図7に示すごとくセンスアンプを1つの読出ポ
ートに対して1個そなえた場合に比べ大幅に短くするこ
とができ、ビットライン負荷による遅延の影響を抑制で
きる。なお、センスアンプ14−1〜14−4から各マ
ルチプレクサ19X〜19Zへ至るラインは長くなる
が、これらのライン上の信号は、センスアンプ14−1
〜14−4により所定レベルに増幅されているので、こ
れらのラインの配線長による遅延およびノイズの影響は
ほとんど問題にならない。
アンプ14−1〜14−4へ至るビットライン(図示省
略)は、図7に示すごとくセンスアンプを1つの読出ポ
ートに対して1個そなえた場合に比べ大幅に短くするこ
とができ、ビットライン負荷による遅延の影響を抑制で
きる。なお、センスアンプ14−1〜14−4から各マ
ルチプレクサ19X〜19Zへ至るラインは長くなる
が、これらのライン上の信号は、センスアンプ14−1
〜14−4により所定レベルに増幅されているので、こ
れらのラインの配線長による遅延およびノイズの影響は
ほとんど問題にならない。
【0039】また、読出アドレスRxの下位ビットは、
バンク選択用デコーダ18Xへ入力されてこのデコーダ
18Xで解読され、その解読結果に対応するバンクがバ
ンク11−1〜11−4の中から特定される。そして、
バンク選択用デコーダ18X〜18Zで特定されたバン
クからのワードが、マルチプレクサ19Xにより、バン
ク11−1〜11−4からの4つのワードの中から選択
され、読出ポート12Xへ出力される。
バンク選択用デコーダ18Xへ入力されてこのデコーダ
18Xで解読され、その解読結果に対応するバンクがバ
ンク11−1〜11−4の中から特定される。そして、
バンク選択用デコーダ18X〜18Zで特定されたバン
クからのワードが、マルチプレクサ19Xにより、バン
ク11−1〜11−4からの4つのワードの中から選択
され、読出ポート12Xへ出力される。
【0040】本実施形態では、上述のごとくアドレスバ
スを上位,下位の2つのバスに分け、例えば上位ビット
をバンク内ワード選択に用いてバンク毎にデータを読み
出し、下位ビットを用いてバンク数分のデータから所望
のデータ出力を得ている。これにより、読出用デコーダ
におけるゲート段数を削減でき、デコード時間を短縮で
きる。
スを上位,下位の2つのバスに分け、例えば上位ビット
をバンク内ワード選択に用いてバンク毎にデータを読み
出し、下位ビットを用いてバンク数分のデータから所望
のデータ出力を得ている。これにより、読出用デコーダ
におけるゲート段数を削減でき、デコード時間を短縮で
きる。
【0041】より具体的に説明すると、読出アドレスR
x〜Rzが例えば5ビットのデータで、上位3ビットを
バンク内ワード選択に用い、下位2ビットをバンク選択
に用いた場合、バンク内ワード選択用デコーダ17X−
1〜17X−4,17Y−1〜17Y−4,17Z−1
〜17Z−4は、それぞれ、3入力のゲートを1段だけ
そなえて構成され、バンク選択用デコーダ18X〜18
Zは、それぞれ、2入力ゲートを1段だけそなえて構成
されることになる。従って、図7により説明した例より
もゲート段数を1段削減できるとともに、ゲート数も削
減でき、ひいてはデコード処理を高速化することができ
る。
x〜Rzが例えば5ビットのデータで、上位3ビットを
バンク内ワード選択に用い、下位2ビットをバンク選択
に用いた場合、バンク内ワード選択用デコーダ17X−
1〜17X−4,17Y−1〜17Y−4,17Z−1
〜17Z−4は、それぞれ、3入力のゲートを1段だけ
そなえて構成され、バンク選択用デコーダ18X〜18
Zは、それぞれ、2入力ゲートを1段だけそなえて構成
されることになる。従って、図7により説明した例より
もゲート段数を1段削減できるとともに、ゲート数も削
減でき、ひいてはデコード処理を高速化することができ
る。
【0042】なお、上記説明では、読出ポート12Xか
らデータを読み出す場合についてのみ説明したが、読出
ポート12Y,12Zからのデータ読出も上述と同様に
して行なわれる。このように、本発明の第1実施形態と
してのレジスタファイル10によれば、センスアンプ1
4−1〜14−4をバンク11−1〜11−4のそれぞ
れに独立してそなえることにより、ワード数が増大して
も各レジスタアレイ11からセンスアンプ14−1〜1
4−4へ至るビットラインを短くできるので、ワード数
の増大に伴うビットライン負荷による遅延の影響が抑制
されて読出アクセス時間が大幅に短縮される。
らデータを読み出す場合についてのみ説明したが、読出
ポート12Y,12Zからのデータ読出も上述と同様に
して行なわれる。このように、本発明の第1実施形態と
してのレジスタファイル10によれば、センスアンプ1
4−1〜14−4をバンク11−1〜11−4のそれぞ
れに独立してそなえることにより、ワード数が増大して
も各レジスタアレイ11からセンスアンプ14−1〜1
4−4へ至るビットラインを短くできるので、ワード数
の増大に伴うビットライン負荷による遅延の影響が抑制
されて読出アクセス時間が大幅に短縮される。
【0043】また、レジスタファイル10では、ビット
幅(データバス幅)を拡大しても、図8に示したレジス
タファイル200のようにデコードラインの延長に伴う
遅延時間の影響を大きく受けることはないので、データ
バス幅の拡大に確実に対応することができる。さらに、
アドレスバスを2つに分割し、読出用デコーダを、バン
ク内ワード選択用デコーダ17X−1〜17X−4,1
7Y−1〜17Y−4,17Z−1〜17Z−4とバン
ク選択用デコーダ18X〜18Zとの2つに分割して構
成することにより、読出用デコーダにおけるゲート段数
やゲート数を削減できるので、データ読出時のデコード
処理が高速化される。
幅(データバス幅)を拡大しても、図8に示したレジス
タファイル200のようにデコードラインの延長に伴う
遅延時間の影響を大きく受けることはないので、データ
バス幅の拡大に確実に対応することができる。さらに、
アドレスバスを2つに分割し、読出用デコーダを、バン
ク内ワード選択用デコーダ17X−1〜17X−4,1
7Y−1〜17Y−4,17Z−1〜17Z−4とバン
ク選択用デコーダ18X〜18Zとの2つに分割して構
成することにより、読出用デコーダにおけるゲート段数
やゲート数を削減できるので、データ読出時のデコード
処理が高速化される。
【0044】従って、ロジック全体の性能が大幅に向上
する。 〔B〕第2実施形態の説明 図2は本発明の第2実施形態としてのレジスタファイル
の構成を示すブロック図であり、この図2に示すよう
に、第2実施形態のレジスタファイル20は、第1実施
形態のレジスタファイル10とほぼ同様に構成されてい
る。図2中、既述の符号と同一の符号は同一部分もしく
はほぼ同一部分を示しているので、その説明は省略す
る。
する。 〔B〕第2実施形態の説明 図2は本発明の第2実施形態としてのレジスタファイル
の構成を示すブロック図であり、この図2に示すよう
に、第2実施形態のレジスタファイル20は、第1実施
形態のレジスタファイル10とほぼ同様に構成されてい
る。図2中、既述の符号と同一の符号は同一部分もしく
はほぼ同一部分を示しているので、その説明は省略す
る。
【0045】第1実施形態のレジスタファイル10で
は、バンク内ワード選択用デコーダ17X−1〜17X
−4,17Y−1〜17Y−4,17Z−1〜17Z−
4が読出ポート毎に且つバンク毎にそなえられている。
これに対し、第2実施形態のレジスタファイル20で
は、第1実施形態のものと同じ機能を有するバンク内ワ
ード選択用デコーダ17X,17Y,17Zが、読出ポ
ート12X,12Y,12Zのそれぞれに対応してそな
えられているが、これらのデコーダ17X〜17Zは、
いずれも4つのバンク11−1〜11−4により共用さ
れている。これにより、第2実施形態のレジスタファイ
ル20では、読取用デコーダのゲート数をさらに削減す
ることができる。
は、バンク内ワード選択用デコーダ17X−1〜17X
−4,17Y−1〜17Y−4,17Z−1〜17Z−
4が読出ポート毎に且つバンク毎にそなえられている。
これに対し、第2実施形態のレジスタファイル20で
は、第1実施形態のものと同じ機能を有するバンク内ワ
ード選択用デコーダ17X,17Y,17Zが、読出ポ
ート12X,12Y,12Zのそれぞれに対応してそな
えられているが、これらのデコーダ17X〜17Zは、
いずれも4つのバンク11−1〜11−4により共用さ
れている。これにより、第2実施形態のレジスタファイ
ル20では、読取用デコーダのゲート数をさらに削減す
ることができる。
【0046】このようにデコーダ17X〜17Zを4つ
のバンク11−1〜11−4によって共用化した場合、
デコーダ17X〜17Zの解読結果(ワード選択信号)
を、広範囲に配置されたバンク11−1〜11−4へ送
出しなければならないため、本実施形態では、各デコー
ダ17X〜17Zと4つのバンク11−1〜11−4と
の間に、増幅機能を果たす第1インバータ21および第
2インバータ22−1〜22−4がそなえられている。
なお、図2では、デコーダ17Xと4つのバンク11−
1〜11−4との間におけるインバータ21および22
−1〜22−4のみを図示しているが、デコーダ17
Y,17Zと4つのバンク11−1〜11−4との間に
もインバータ21および22−1〜22−4が同様にそ
なえられている。
のバンク11−1〜11−4によって共用化した場合、
デコーダ17X〜17Zの解読結果(ワード選択信号)
を、広範囲に配置されたバンク11−1〜11−4へ送
出しなければならないため、本実施形態では、各デコー
ダ17X〜17Zと4つのバンク11−1〜11−4と
の間に、増幅機能を果たす第1インバータ21および第
2インバータ22−1〜22−4がそなえられている。
なお、図2では、デコーダ17Xと4つのバンク11−
1〜11−4との間におけるインバータ21および22
−1〜22−4のみを図示しているが、デコーダ17
Y,17Zと4つのバンク11−1〜11−4との間に
もインバータ21および22−1〜22−4が同様にそ
なえられている。
【0047】第1インバータ21は、デコーダ17X
(17Y,17Z)からの信号を反転・増幅するもので
あり、第2インバータ22−1〜22−4は、それぞ
れ、第1インバータ21からの信号を反転・増幅して、
バンク11−1〜11−4のデコードラインへ出力する
ものである。通常、信号の増幅を行なうバッファは2つ
のインバータを1組として構成されているが、図2に示
すように、1段目のインバータ21を共用し、2段目の
インバータ22−1〜22−4をバンク毎にそなえるこ
とにより、ゲート段数やゲート数の増加を最小限に抑え
ながら、バンク内ワード選択用デコーダ17X〜17Z
から各バンク11−1〜11−4のデコードラインへ至
る信号を確実に増幅することができる。
(17Y,17Z)からの信号を反転・増幅するもので
あり、第2インバータ22−1〜22−4は、それぞ
れ、第1インバータ21からの信号を反転・増幅して、
バンク11−1〜11−4のデコードラインへ出力する
ものである。通常、信号の増幅を行なうバッファは2つ
のインバータを1組として構成されているが、図2に示
すように、1段目のインバータ21を共用し、2段目の
インバータ22−1〜22−4をバンク毎にそなえるこ
とにより、ゲート段数やゲート数の増加を最小限に抑え
ながら、バンク内ワード選択用デコーダ17X〜17Z
から各バンク11−1〜11−4のデコードラインへ至
る信号を確実に増幅することができる。
【0048】上述の構成により、第2実施形態のレジス
タファイル20では、第1実施形態のレジスタファイル
10と同様にして、データの書込/読出が行なわれる。
ただし、データの読出に際して、読出アドレスRx〜R
zの上位ビットは、それぞれ、バンク内ワード選択用デ
コーダ17X〜17Zへ入力されてこれらのデコーダ1
7X〜17Zでそれぞれ解読される。そして、その解読
結果は、第1インバータ21および第2インバータ22
−1〜22−4により増幅されて、各バンク11−1〜
11−4のデコードラインへ送られ、その解読結果に対
応するワードが、選択されて各バンク11−1〜11−
4のレジスタアレイ11から読み出される。
タファイル20では、第1実施形態のレジスタファイル
10と同様にして、データの書込/読出が行なわれる。
ただし、データの読出に際して、読出アドレスRx〜R
zの上位ビットは、それぞれ、バンク内ワード選択用デ
コーダ17X〜17Zへ入力されてこれらのデコーダ1
7X〜17Zでそれぞれ解読される。そして、その解読
結果は、第1インバータ21および第2インバータ22
−1〜22−4により増幅されて、各バンク11−1〜
11−4のデコードラインへ送られ、その解読結果に対
応するワードが、選択されて各バンク11−1〜11−
4のレジスタアレイ11から読み出される。
【0049】このように、本発明の第2実施形態として
のレジスタファイル20によれば、前述した第1実施形
態のレジスタファイル10と同様の作用効果が得られる
ほか、バンク内ワード選択用デコーダ17X〜17Zを
4つのバンク11−1〜11−4により共用することに
より、ゲート数が大幅に削減され読出用デコーダを簡素
化かつ小型化できるとともに読出用デコーダによる消費
電力を低減できるほか、データ読出時のデコード処理の
高速化にも寄与する。
のレジスタファイル20によれば、前述した第1実施形
態のレジスタファイル10と同様の作用効果が得られる
ほか、バンク内ワード選択用デコーダ17X〜17Zを
4つのバンク11−1〜11−4により共用することに
より、ゲート数が大幅に削減され読出用デコーダを簡素
化かつ小型化できるとともに読出用デコーダによる消費
電力を低減できるほか、データ読出時のデコード処理の
高速化にも寄与する。
【0050】このとき、第1インバータ21および第2
インバータ22−1〜22−4により、ゲート段数の増
加を最小限に抑えながらバンク内ワード選択用デコーダ
17X〜17Zから各バンク11−1〜11−4のデコ
ードラインへ至る信号を確実に増幅でき、これらのイン
バータ21および22−1〜22−4のバッファリング
により負荷分散を実現でき読出アクセス時間の短縮に寄
与している。
インバータ22−1〜22−4により、ゲート段数の増
加を最小限に抑えながらバンク内ワード選択用デコーダ
17X〜17Zから各バンク11−1〜11−4のデコ
ードラインへ至る信号を確実に増幅でき、これらのイン
バータ21および22−1〜22−4のバッファリング
により負荷分散を実現でき読出アクセス時間の短縮に寄
与している。
【0051】〔C〕第3実施形態の説明 図3は本発明の第3実施形態としてのレジスタファイル
の構成を示すブロック図であり、この図3に示すよう
に、第3実施形態のレジスタファイル30は、第2実施
形態のレジスタファイル20とほぼ同様に構成されてい
る。図3中、既述の符号と同一の符号は同一部分もしく
はほぼ同一部分を示しているので、その説明は省略す
る。
の構成を示すブロック図であり、この図3に示すよう
に、第3実施形態のレジスタファイル30は、第2実施
形態のレジスタファイル20とほぼ同様に構成されてい
る。図3中、既述の符号と同一の符号は同一部分もしく
はほぼ同一部分を示しているので、その説明は省略す
る。
【0052】この第3実施形態のレジスタファイル30
では、4つの書込ポート13A〜13Dから入力される
ワードをそのまま読出ポート12X〜12Zへ出力する
ためのバイパスライン31A〜31Dが、書込ポート1
3A〜13Dと各マルチプレクサ19X〜19Zとの間
にそなえられている。また、第3実施形態におけるマル
チプレクサ19X〜19Zは、それぞれ、4つのバイパ
スライン31A〜31Dのいずれかからのワードを選択
して読出ポート12X〜12Zへ出力するバイパス選択
回路としての機能を有するように構成されている。その
詳細な構成については、図5を参照しながら後述する。
では、4つの書込ポート13A〜13Dから入力される
ワードをそのまま読出ポート12X〜12Zへ出力する
ためのバイパスライン31A〜31Dが、書込ポート1
3A〜13Dと各マルチプレクサ19X〜19Zとの間
にそなえられている。また、第3実施形態におけるマル
チプレクサ19X〜19Zは、それぞれ、4つのバイパ
スライン31A〜31Dのいずれかからのワードを選択
して読出ポート12X〜12Zへ出力するバイパス選択
回路としての機能を有するように構成されている。その
詳細な構成については、図5を参照しながら後述する。
【0053】さらに、レジスタファイル30には、読出
アドレスRx〜Rzのいずれかが書込アドレスWa〜W
dのいずれかと一致した場合に、マルチプレクサ19X
〜19Zをバイパス選択回路として機能させるバイパス
制御回路32X〜32Zがそなえられている。ここで、
バイパス制御回路32Xの詳細構成を図4により説明す
る。この図4に示すように、バイパス制御回路32X
は、4つの比較器33A,33B,33C,33DとN
OT入力端子付きANDゲート34とから構成されてい
る。
アドレスRx〜Rzのいずれかが書込アドレスWa〜W
dのいずれかと一致した場合に、マルチプレクサ19X
〜19Zをバイパス選択回路として機能させるバイパス
制御回路32X〜32Zがそなえられている。ここで、
バイパス制御回路32Xの詳細構成を図4により説明す
る。この図4に示すように、バイパス制御回路32X
は、4つの比較器33A,33B,33C,33DとN
OT入力端子付きANDゲート34とから構成されてい
る。
【0054】4つの比較器33A,33B,33C,3
3Dは、それぞれ、読出アドレスRxと4つの書込アド
レスWa〜Wdとを比較し、一致した場合に“0”から
“1”に立ち上がる信号“BYPASS A”〜“BYPASS D”を
出力するものである。また、NOT入力端子付きAND
ゲート34は、比較器33A〜33Dからの4つの信号
“BYPASS A”〜“BYPASS D”をNOT入力端子により反
転入力され、これらの反転信号の論理積を信号“NON-BY
PASS”を出力するものである。
3Dは、それぞれ、読出アドレスRxと4つの書込アド
レスWa〜Wdとを比較し、一致した場合に“0”から
“1”に立ち上がる信号“BYPASS A”〜“BYPASS D”を
出力するものである。また、NOT入力端子付きAND
ゲート34は、比較器33A〜33Dからの4つの信号
“BYPASS A”〜“BYPASS D”をNOT入力端子により反
転入力され、これらの反転信号の論理積を信号“NON-BY
PASS”を出力するものである。
【0055】なお、バイパス制御回路32Yや32Z
は、4つの書込アドレスWa〜Wdと比較する読出アド
レスがそれぞれRy,Rzとなるだけで、バイパス制御
回路32Xと同様に構成される。一方、図3に示すよう
に、レジスタファイル30において、バンク選択用デコ
ーダ18X〜18Zとマルチプレクサ19X〜19Zと
の間には、ANDゲート35X,35Y,35Zがそれ
ぞれそなえられている。これらのANDゲート35X〜
35Zは、それぞれ、バンク選択用デコーダ18X〜1
8Zからの解読結果とバイパス制御回路32X〜32Z
からの信号“NON-BYPASS”との論理積をバンク選択信号
(ここでは4ビットの信号)としてマルチプレクサ19
X〜19Zへ出力するものである。
は、4つの書込アドレスWa〜Wdと比較する読出アド
レスがそれぞれRy,Rzとなるだけで、バイパス制御
回路32Xと同様に構成される。一方、図3に示すよう
に、レジスタファイル30において、バンク選択用デコ
ーダ18X〜18Zとマルチプレクサ19X〜19Zと
の間には、ANDゲート35X,35Y,35Zがそれ
ぞれそなえられている。これらのANDゲート35X〜
35Zは、それぞれ、バンク選択用デコーダ18X〜1
8Zからの解読結果とバイパス制御回路32X〜32Z
からの信号“NON-BYPASS”との論理積をバンク選択信号
(ここでは4ビットの信号)としてマルチプレクサ19
X〜19Zへ出力するものである。
【0056】そして、第3実施形態におけるマルチプレ
クサ19X〜19Zは、図5に示すごとく、8個のスイ
ッチング素子36A,36B,36C,36D,36−
1,36−2,36−3,36−4を有して構成されて
いる。スイッチング素子36A〜36Dの入力側は、そ
れぞれ、バイパスライン31A〜31Dを介して書込ポ
ート13A〜13Dに接続されるとともに、スイッチン
グ素子36−1〜36−4の入力側は、それぞれ、バン
ク11−1〜11−4(センスアンプ14−1〜14−
4)に接続されている。
クサ19X〜19Zは、図5に示すごとく、8個のスイ
ッチング素子36A,36B,36C,36D,36−
1,36−2,36−3,36−4を有して構成されて
いる。スイッチング素子36A〜36Dの入力側は、そ
れぞれ、バイパスライン31A〜31Dを介して書込ポ
ート13A〜13Dに接続されるとともに、スイッチン
グ素子36−1〜36−4の入力側は、それぞれ、バン
ク11−1〜11−4(センスアンプ14−1〜14−
4)に接続されている。
【0057】また、これらのスイッチング素子36A〜
36Dおよび36−1〜36−4の出力側は、ワイヤー
ドORされて、読出ポート12X(12Y,12Z)に
接続されている。スイッチング素子36A〜36Dは、
それぞれ、信号“BYPASS A”〜“BYPASSD”が立ち上が
った場合に開放され、書込ポート13A〜13Dに入力
されたワードをそのまま読出ポート12X(12Y,1
2Z)へ出力するものである。また、スイッチング素子
36−1〜36−4は、それぞれ、バンク選択信号が立
ち上がった場合に開放され、バンク11−1〜11−4
から読み出されたワードを読出ポート12X(12Y,
12Z)へ出力するものである。
36Dおよび36−1〜36−4の出力側は、ワイヤー
ドORされて、読出ポート12X(12Y,12Z)に
接続されている。スイッチング素子36A〜36Dは、
それぞれ、信号“BYPASS A”〜“BYPASSD”が立ち上が
った場合に開放され、書込ポート13A〜13Dに入力
されたワードをそのまま読出ポート12X(12Y,1
2Z)へ出力するものである。また、スイッチング素子
36−1〜36−4は、それぞれ、バンク選択信号が立
ち上がった場合に開放され、バンク11−1〜11−4
から読み出されたワードを読出ポート12X(12Y,
12Z)へ出力するものである。
【0058】上述の構成により、第3実施形態のレジス
タファイル30では、第2実施形態のレジスタファイル
20と同様にして、データの書込/読出が行なわれる。
ただし、通常のデータ読出を行なう場合(バイパス不要
の場合)には、バイパス選択回路32X〜32Zにおい
て信号“BYPASS A”〜“BYPASS D”が全て“0”とな
り、ANDゲート34からの信号“NON-BYPASS”は
“1”となる。従って、バンク選択用デコーダ18X〜
18Zの解読結果は、それぞれ、ANDゲート35X〜
35Zを通過し、バンク選択信号としてマルチプレクサ
19X〜19Zへ入力される。そして、マルチプレクサ
19X〜19Zのスイッチング素子36−1〜36−4
のいずれかを開放することにより、バンク選択用デコー
ダ18X〜18Zで特定されたバンクからのワードが、
バンク11−1〜11−4からの4つのワードの中から
選択され、読出ポート12Xへ出力される。
タファイル30では、第2実施形態のレジスタファイル
20と同様にして、データの書込/読出が行なわれる。
ただし、通常のデータ読出を行なう場合(バイパス不要
の場合)には、バイパス選択回路32X〜32Zにおい
て信号“BYPASS A”〜“BYPASS D”が全て“0”とな
り、ANDゲート34からの信号“NON-BYPASS”は
“1”となる。従って、バンク選択用デコーダ18X〜
18Zの解読結果は、それぞれ、ANDゲート35X〜
35Zを通過し、バンク選択信号としてマルチプレクサ
19X〜19Zへ入力される。そして、マルチプレクサ
19X〜19Zのスイッチング素子36−1〜36−4
のいずれかを開放することにより、バンク選択用デコー
ダ18X〜18Zで特定されたバンクからのワードが、
バンク11−1〜11−4からの4つのワードの中から
選択され、読出ポート12Xへ出力される。
【0059】ところで、図6に示すように、例えば2つ
の演算器(ALU:Arithmetic andLogic Unit)40,
41をそなえパイプライン方式で並列的に演算処理を行
なうシステムに、レジスタファイル30をそなえた場合
について考える。図6に示すシステムでは、演算器4
0,41による演算結果はレジスタファイル30に書き
込まれるとともに、演算器40,41による演算に用い
られるオペランドはレジスタファイル30から読み出さ
れている。
の演算器(ALU:Arithmetic andLogic Unit)40,
41をそなえパイプライン方式で並列的に演算処理を行
なうシステムに、レジスタファイル30をそなえた場合
について考える。図6に示すシステムでは、演算器4
0,41による演算結果はレジスタファイル30に書き
込まれるとともに、演算器40,41による演算に用い
られるオペランドはレジスタファイル30から読み出さ
れている。
【0060】このとき、演算器40が演算A+B=Cを
実行し、演算器41が演算C+D=Eを実行する場合、
演算効率を向上させるためには、オペランドCをできる
だけ早く演算器41に提供する必要がある。演算器40
による演算結果Cを、レジスタファイル30に一旦書き
込んだ後、レジスタファイル30から演算器41へ読み
出していたのでは、演算器41では待ち時間が発生し演
算速度が遅くなる。そこで、演算器40による演算結果
Cを、レジスタファイル30に書き込むと同時に、図6
に示すようなバイパスライン42により演算器41へオ
ペランドとして送出できるようにすることが望まれてい
る。
実行し、演算器41が演算C+D=Eを実行する場合、
演算効率を向上させるためには、オペランドCをできる
だけ早く演算器41に提供する必要がある。演算器40
による演算結果Cを、レジスタファイル30に一旦書き
込んだ後、レジスタファイル30から演算器41へ読み
出していたのでは、演算器41では待ち時間が発生し演
算速度が遅くなる。そこで、演算器40による演算結果
Cを、レジスタファイル30に書き込むと同時に、図6
に示すようなバイパスライン42により演算器41へオ
ペランドとして送出できるようにすることが望まれてい
る。
【0061】第3実施形態のレジスタファイル30で
は、上述のようなレジスタファイル30のバイパスが必
要になる場合、読出アドレスRx〜Rzのいずれかが書
込アドレスWa〜Wdのいずれかと一致することにな
り、バイパス制御回路32X〜32Zにおける比較器3
3A〜33Dからの信号“BYPASS A”〜“BYPASS D”の
いずれかが“1”に立ち上がる。
は、上述のようなレジスタファイル30のバイパスが必
要になる場合、読出アドレスRx〜Rzのいずれかが書
込アドレスWa〜Wdのいずれかと一致することにな
り、バイパス制御回路32X〜32Zにおける比較器3
3A〜33Dからの信号“BYPASS A”〜“BYPASS D”の
いずれかが“1”に立ち上がる。
【0062】例えば、読出アドレスRxと書込アドレス
Wcとが一致した場合、バイパス制御回路32Xにおけ
る比較器33Cからの信号“BYPASS C”が“1”に立ち
上がる。これにより、ANDゲート34からの信号“NO
N-BYPASS”が“0”になってバンク選択用デコーダ18
Xからの解読結果はANDゲート35Xを通過できなく
なる一方、“1”に立ち上がった信号“BYPASS C”は、
マルチプレクサ19Xにおけるスイッチング素子36C
を開放し、書込ポート13Cに入力されたワードは、バ
イパスライン31Cおよびスイッチング素子36Cを通
じて読出ポート12Xからそのまま出力されることにな
る。
Wcとが一致した場合、バイパス制御回路32Xにおけ
る比較器33Cからの信号“BYPASS C”が“1”に立ち
上がる。これにより、ANDゲート34からの信号“NO
N-BYPASS”が“0”になってバンク選択用デコーダ18
Xからの解読結果はANDゲート35Xを通過できなく
なる一方、“1”に立ち上がった信号“BYPASS C”は、
マルチプレクサ19Xにおけるスイッチング素子36C
を開放し、書込ポート13Cに入力されたワードは、バ
イパスライン31Cおよびスイッチング素子36Cを通
じて読出ポート12Xからそのまま出力されることにな
る。
【0063】このように、本発明の第3実施形態として
のレジスタファイル30によれば、前述した第1実施形
態のレジスタファイル10や第2実施形態のレジスタフ
ァイル20と同様の作用効果が得られるほか、例えばパ
イプライン方式で演算処理を並列的に行なう際に、ある
演算結果を、所定のレジスタアレイ11にワードとして
書き込むと同時に、他の演算処理のオペランドとして直
ちに用いることが可能になる。つまり、マルチプレクサ
19X〜19Zをバイパス選択回路として兼用すること
ができ、演算器を成す回路の規模を縮小でき、ひいては
論理段数の低減や読出アクセス時間の短縮にも寄与す
る。
のレジスタファイル30によれば、前述した第1実施形
態のレジスタファイル10や第2実施形態のレジスタフ
ァイル20と同様の作用効果が得られるほか、例えばパ
イプライン方式で演算処理を並列的に行なう際に、ある
演算結果を、所定のレジスタアレイ11にワードとして
書き込むと同時に、他の演算処理のオペランドとして直
ちに用いることが可能になる。つまり、マルチプレクサ
19X〜19Zをバイパス選択回路として兼用すること
ができ、演算器を成す回路の規模を縮小でき、ひいては
論理段数の低減や読出アクセス時間の短縮にも寄与す
る。
【0064】〔D〕その他 なお、上述した各実施形態では、3つの読出ポート12
X〜12Zおよび4つの書込ポート13A〜13Dをそ
なえ、レジスタアレイ11を4つのバンク11−1〜1
1−4に分割した場合について説明したが、本発明は、
これに限定されるものではなく、本発明の趣旨を逸脱し
ない範囲で種々変形して実施することができる。
X〜12Zおよび4つの書込ポート13A〜13Dをそ
なえ、レジスタアレイ11を4つのバンク11−1〜1
1−4に分割した場合について説明したが、本発明は、
これに限定されるものではなく、本発明の趣旨を逸脱し
ない範囲で種々変形して実施することができる。
【0065】
【発明の効果】以上詳述したように、本発明のレジスタ
ファイルによれば、以下のような効果ないし利点を得る
ことができる。 (1)ワード数が増大しても各レジスタアレイからセン
スアンプへ至るビットラインを短くできるので、ワード
数の増大に伴うビットライン負荷による遅延の影響が抑
制されて読出アクセス時間が大幅に短縮される。また、
ビット幅を拡大してもデコードラインの延長に伴う遅延
時間の影響を受けることはないので、データバス幅の拡
大に確実に対応することができる。さらに、読出用デコ
ーダにおけるゲート段数やゲート数を削減できるので、
データ読出時のデコード処理が高速化される。従って、
ロジック全体の性能が大幅に向上する(請求項1)。
ファイルによれば、以下のような効果ないし利点を得る
ことができる。 (1)ワード数が増大しても各レジスタアレイからセン
スアンプへ至るビットラインを短くできるので、ワード
数の増大に伴うビットライン負荷による遅延の影響が抑
制されて読出アクセス時間が大幅に短縮される。また、
ビット幅を拡大してもデコードラインの延長に伴う遅延
時間の影響を受けることはないので、データバス幅の拡
大に確実に対応することができる。さらに、読出用デコ
ーダにおけるゲート段数やゲート数を削減できるので、
データ読出時のデコード処理が高速化される。従って、
ロジック全体の性能が大幅に向上する(請求項1)。
【0066】(2)バンク内ワード選択用デコーダを複
数のバンクにより共用することにより、ゲート数が大幅
に削減され読出用デコーダを簡素化かつ小型化できると
ともに読出用デコーダによる消費電力を低減できるほ
か、データ読出時のデコード処理の高速化にも寄与する
(請求項2)。このとき、バンク内ワード選択用デコー
ダの出力側に第1インバータをそなえるとともに各バン
クのデコードラインの入力側に第2インバータをそなえ
ることにより、ゲート段数やゲート数の増加を最小限に
抑えながらバンク内ワード選択用デコーダから各バンク
のデコードラインへ至る信号を確実に増幅できるほか、
インバータのバッファリングにより負荷分散を実現でき
読出アクセス時間の短縮に寄与する(請求項3)。
数のバンクにより共用することにより、ゲート数が大幅
に削減され読出用デコーダを簡素化かつ小型化できると
ともに読出用デコーダによる消費電力を低減できるほ
か、データ読出時のデコード処理の高速化にも寄与する
(請求項2)。このとき、バンク内ワード選択用デコー
ダの出力側に第1インバータをそなえるとともに各バン
クのデコードラインの入力側に第2インバータをそなえ
ることにより、ゲート段数やゲート数の増加を最小限に
抑えながらバンク内ワード選択用デコーダから各バンク
のデコードラインへ至る信号を確実に増幅できるほか、
インバータのバッファリングにより負荷分散を実現でき
読出アクセス時間の短縮に寄与する(請求項3)。
【0067】(3)マルチプレクサがバイパス選択回路
としての機能も兼ねることにより、演算器を成す回路の
規模を縮小でき、ひいては論理段数の低減や読出アクセ
ス時間の短縮に寄与する(請求項4,5)。
としての機能も兼ねることにより、演算器を成す回路の
規模を縮小でき、ひいては論理段数の低減や読出アクセ
ス時間の短縮に寄与する(請求項4,5)。
【図1】本発明の第1実施形態としてのレジスタファイ
ルの構成を示すブロック図である。
ルの構成を示すブロック図である。
【図2】本発明の第2実施形態としてのレジスタファイ
ルの構成を示すブロック図である。
ルの構成を示すブロック図である。
【図3】本発明の第3実施形態としてのレジスタファイ
ルの構成を示すブロック図である。
ルの構成を示すブロック図である。
【図4】第3実施形態におけるバイパスコントローラの
構成を示すブロック図である。
構成を示すブロック図である。
【図5】第3実施形態におけるマルチプレクサの構成を
示すブロック図である。
示すブロック図である。
【図6】レジスタファイルをバイパスする必要性を説明
すべく、パイプライン方式の演算器の構成を示す図であ
る。
すべく、パイプライン方式の演算器の構成を示す図であ
る。
【図7】一般的なマルチポート構成のレジスタファイル
を示すブロック図である。
を示すブロック図である。
【図8】COLUMN-ROW読出/書込方式を採用したレジスタ
ファイルの構成を示すブロック図である。
ファイルの構成を示すブロック図である。
10,20,30 レジスタファイル 11 レジスタアレイ 11−1〜11−4 バンク 12X,12Y,12Z 読出ポート 13A,13B,13C,13D 書込ポート 14−1〜14−4 センスアンプ(SA,読取増幅
器) 15A,15B,15C,15D 書込用デコーダ 16X,16Y,16Z 読出アドレスバッファ 17X,17Y,17Z,17X−1〜17X−4,1
7Y−1〜17Y−4,17Z−1〜17Z−4 バン
ク内ワード選択用デコーダ(読出用デコーダ) 18X,18Y,18Z バンク選択用デコーダ(読出
用デコーダ) 19X,19Y,19Z マルチプレクサ(MUX) 21 第1インバータ 22−1〜22−4 第2インバータ 31A,31B,31C,31D バイパスライン 32X,32Y,32Z バイパス制御回路 33A,33B,33C,33D 比較器 34 NOT入力端子付きANDゲート 35X,35Y,35Z ANDゲート 36A,36B,36C,36D,36−1,36−
2,36−3,36−4スイッチング素子 40,41 演算器(ALU) 42 バイパスライン
器) 15A,15B,15C,15D 書込用デコーダ 16X,16Y,16Z 読出アドレスバッファ 17X,17Y,17Z,17X−1〜17X−4,1
7Y−1〜17Y−4,17Z−1〜17Z−4 バン
ク内ワード選択用デコーダ(読出用デコーダ) 18X,18Y,18Z バンク選択用デコーダ(読出
用デコーダ) 19X,19Y,19Z マルチプレクサ(MUX) 21 第1インバータ 22−1〜22−4 第2インバータ 31A,31B,31C,31D バイパスライン 32X,32Y,32Z バイパス制御回路 33A,33B,33C,33D 比較器 34 NOT入力端子付きANDゲート 35X,35Y,35Z ANDゲート 36A,36B,36C,36D,36−1,36−
2,36−3,36−4スイッチング素子 40,41 演算器(ALU) 42 バイパスライン
Claims (5)
- 【請求項1】 複数のレジスタアレイを有するととも
に、読出ポートおよび書込ポートを有し、これらのポー
トにより複数の読出アクセスおよび複数の書込アクセス
を独立に且つ同時に処理可能な、マルチポート構成のレ
ジスタファイルにおいて、 該複数のレジスタアレイを所定数のワード毎に複数のバ
ンクに分割し、 該複数のバンクのそれぞれにセンスアンプをそなえると
ともに、 読み出すべきワードを指定するアドレスの一部ビットを
解読し、その解読結果に対応するワードを選択して各バ
ンクのレジスタアレイから読み出すバンク内ワード選択
用デコーダと、 前記アドレスの残りビットを解読し、その解読結果に対
応するバンクを特定するバンク選択用デコーダと、 該バンク内ワード選択用デコーダにより選択され該セン
スアンプにより増幅されたワードを該複数のバンクから
入力され、バンク数分のワードの中から、該バンク選択
用デコーダにより特定されたバンクからのワードを選択
して該読出ポートへ出力するマルチプレクサとをそなえ
たことを特徴とする、レジスタファイル。 - 【請求項2】 該バンク内ワード選択用デコーダが、該
複数のバンクにより共用されていることを特徴とする、
請求項1記載のレジスタファイル。 - 【請求項3】 該バンク内ワード選択用デコーダからの
信号を反転・増幅する第1インバータをそなえるととも
に、 該第1インバータからの信号を反転・増幅してデコード
ラインへ出力する第2インバータを該バンク毎にそなえ
たことを特徴とする、請求項2記載のレジスタファイ
ル。 - 【請求項4】 該書込ポートから入力されるワードをそ
のまま該読出ポートへ出力するためのバイパスラインを
そなえるとともに、 該マルチプレクサが、該バイパスラインからのワードを
選択して該読出ポートへ出力するバイパス選択回路とし
ての機能を有していることを特徴とする、請求項1〜請
求項3のいずれかに記載のレジスタファイル。 - 【請求項5】 読出アドレスと書込アドレスとが一致し
た場合に該マルチプレクサを該バイパス選択回路として
機能させるバイパス制御回路をそなえたことを特徴とす
る、請求項4記載のレジスタファイル。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9354795A JPH11184674A (ja) | 1997-12-24 | 1997-12-24 | レジスタファイル |
US09/132,314 US6219756B1 (en) | 1997-12-24 | 1998-08-11 | Rapidly-readable register file |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9354795A JPH11184674A (ja) | 1997-12-24 | 1997-12-24 | レジスタファイル |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH11184674A true JPH11184674A (ja) | 1999-07-09 |
Family
ID=18439964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9354795A Withdrawn JPH11184674A (ja) | 1997-12-24 | 1997-12-24 | レジスタファイル |
Country Status (2)
Country | Link |
---|---|
US (1) | US6219756B1 (ja) |
JP (1) | JPH11184674A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008507034A (ja) * | 2004-07-13 | 2008-03-06 | エヌヴィディア コーポレイション | 下位ポートカウントメモリーを用いたマルチポートメモリーのシミュレート |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6188633B1 (en) * | 1998-04-28 | 2001-02-13 | Hewlett-Packard Company | Multi-port computer register file having shared word lines for read and write ports and storage elements that power down or enter a high-impedance state during write operations |
US6298002B1 (en) * | 1999-12-14 | 2001-10-02 | Intel Corporation | Memory structures having selectively disabled portions for power conservation |
US6594714B1 (en) * | 2000-05-01 | 2003-07-15 | Hewlett-Packard Development Company, L.P. | Reconfigurable FIFO interface to support multiple channels in bundled agent configurations |
US20040133745A1 (en) | 2002-10-28 | 2004-07-08 | Quicksilver Technology, Inc. | Adaptable datapath for a digital processing system |
US7962716B2 (en) | 2001-03-22 | 2011-06-14 | Qst Holdings, Inc. | Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements |
US8843928B2 (en) | 2010-01-21 | 2014-09-23 | Qst Holdings, Llc | Method and apparatus for a general-purpose, multiple-core system for implementing stream-based computations |
US7752419B1 (en) | 2001-03-22 | 2010-07-06 | Qst Holdings, Llc | Method and system for managing hardware resources to implement system functions using an adaptive computing architecture |
US6836839B2 (en) | 2001-03-22 | 2004-12-28 | Quicksilver Technology, Inc. | Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements |
US7653710B2 (en) | 2002-06-25 | 2010-01-26 | Qst Holdings, Llc. | Hardware task manager |
US6577678B2 (en) | 2001-05-08 | 2003-06-10 | Quicksilver Technology | Method and system for reconfigurable channel coding |
US6628539B2 (en) * | 2001-05-31 | 2003-09-30 | Intel Corporation | Multi-entry register cell |
US20020184291A1 (en) * | 2001-05-31 | 2002-12-05 | Hogenauer Eugene B. | Method and system for scheduling in an adaptable computing engine |
US6832277B2 (en) | 2001-08-02 | 2004-12-14 | Sun Microsystems, Inc. | Method and apparatus for transmitting data that utilizes delay elements to reduce capacitive coupling |
US6766433B2 (en) * | 2001-09-21 | 2004-07-20 | Freescale Semiconductor, Inc. | System having user programmable addressing modes and method therefor |
US7046635B2 (en) | 2001-11-28 | 2006-05-16 | Quicksilver Technology, Inc. | System for authorizing functionality in adaptable hardware devices |
US8412915B2 (en) | 2001-11-30 | 2013-04-02 | Altera Corporation | Apparatus, system and method for configuration of adaptive integrated circuitry having heterogeneous computational elements |
US6986021B2 (en) | 2001-11-30 | 2006-01-10 | Quick Silver Technology, Inc. | Apparatus, method, system and executable module for configuration and operation of adaptive integrated circuitry having fixed, application specific computational elements |
US7215701B2 (en) | 2001-12-12 | 2007-05-08 | Sharad Sambhwani | Low I/O bandwidth method and system for implementing detection and identification of scrambling codes |
US7403981B2 (en) | 2002-01-04 | 2008-07-22 | Quicksilver Technology, Inc. | Apparatus and method for adaptive multimedia reception and transmission in communication environments |
US7660984B1 (en) | 2003-05-13 | 2010-02-09 | Quicksilver Technology | Method and system for achieving individualized protected space in an operating system |
US7328414B1 (en) | 2003-05-13 | 2008-02-05 | Qst Holdings, Llc | Method and system for creating and programming an adaptive computing engine |
US8108656B2 (en) | 2002-08-29 | 2012-01-31 | Qst Holdings, Llc | Task definition for specifying resource requirements |
JP2004102799A (ja) * | 2002-09-11 | 2004-04-02 | Nec Electronics Corp | レジスタファイル及びレジスタファイルの設計方法 |
US7937591B1 (en) | 2002-10-25 | 2011-05-03 | Qst Holdings, Llc | Method and system for providing a device which can be adapted on an ongoing basis |
US8276135B2 (en) | 2002-11-07 | 2012-09-25 | Qst Holdings Llc | Profiling of software and circuit designs utilizing data operation analyses |
US7225301B2 (en) | 2002-11-22 | 2007-05-29 | Quicksilver Technologies | External memory controller node |
US7900240B2 (en) * | 2003-05-28 | 2011-03-01 | Citrix Systems, Inc. | Multilayer access control security system |
US20060182252A1 (en) * | 2005-02-01 | 2006-08-17 | Sbc Knowledge Ventures Lp | Method and apparatus for maintaining automated call transfers between service centers |
US7653448B2 (en) * | 2005-09-30 | 2010-01-26 | Freescale Semiconductor, Inc. | NICAM processing method |
US8578117B2 (en) * | 2010-02-10 | 2013-11-05 | Qualcomm Incorporated | Write-through-read (WTR) comparator circuits, systems, and methods use of same with a multiple-port file |
US9268571B2 (en) | 2012-10-18 | 2016-02-23 | Qualcomm Incorporated | Selective coupling of an address line to an element bank of a vector register file |
US9721624B2 (en) * | 2014-12-23 | 2017-08-01 | Arm Limited | Memory with multiple write ports |
US11163568B2 (en) * | 2018-09-06 | 2021-11-02 | International Business Machines Corporation | Implementing write ports in register-file array cell |
US11188332B2 (en) * | 2019-05-10 | 2021-11-30 | International Business Machines Corporation | System and handling of register data in processors |
US11269779B2 (en) | 2020-05-27 | 2022-03-08 | Microsoft Technology Licensing, Llc | Memory system with a predictable read latency from media with a long write latency |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5222240A (en) * | 1990-02-14 | 1993-06-22 | Intel Corporation | Method and apparatus for delaying writing back the results of instructions to a processor |
US5502683A (en) * | 1993-04-20 | 1996-03-26 | International Business Machines Corporation | Dual ported memory with word line access control |
US5481495A (en) * | 1994-04-11 | 1996-01-02 | International Business Machines Corporation | Cells and read-circuits for high-performance register files |
US5724299A (en) * | 1996-04-30 | 1998-03-03 | Sun Microsystems, Inc. | Multiport register file memory using small voltage swing for write operation |
US5929660A (en) * | 1997-12-29 | 1999-07-27 | United Technologies Corporation | Dynamic, single-ended sense amplifier |
-
1997
- 1997-12-24 JP JP9354795A patent/JPH11184674A/ja not_active Withdrawn
-
1998
- 1998-08-11 US US09/132,314 patent/US6219756B1/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008507034A (ja) * | 2004-07-13 | 2008-03-06 | エヌヴィディア コーポレイション | 下位ポートカウントメモリーを用いたマルチポートメモリーのシミュレート |
US7834881B2 (en) | 2004-07-13 | 2010-11-16 | Nvidia Corporation | Operand collector architecture |
Also Published As
Publication number | Publication date |
---|---|
US6219756B1 (en) | 2001-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH11184674A (ja) | レジスタファイル | |
US20060190671A1 (en) | Memory device and method having multiple internal data buses and memory bank interleaving | |
US7386689B2 (en) | Method and apparatus for connecting a massively parallel processor array to a memory array in a bit serial manner | |
JPH06290585A (ja) | デュアルポートメモリ | |
WO1997030395A1 (fr) | Memoire a acces multiples et processeur de donnees procurant l'acces a cette memoire | |
US6370623B1 (en) | Multiport register file to accommodate data of differing lengths | |
US20020174325A1 (en) | SIMD type microprocessor and a method of sort processing | |
JPH06274528A (ja) | ベクトル演算処理装置 | |
JPS62156742A (ja) | デ−タ書込み制御方式 | |
JP4237046B2 (ja) | 画像処理装置 | |
JP2514473B2 (ja) | 並列処理装置 | |
JP3499120B2 (ja) | 半導体記憶装置 | |
JP3120930B2 (ja) | データ記憶装置 | |
JPH05204635A (ja) | レジスタ制御方式 | |
JP3259732B2 (ja) | レジスタファイル回路 | |
JP2024103373A (ja) | 情報処理装置及び制御プログラム | |
JP3886314B2 (ja) | データ転送回路及びその回路を用いた半導体集積回路装置 | |
JP2004192405A (ja) | Simd型プロセッサ | |
JP3074897B2 (ja) | メモリ回路 | |
JPH0749792A (ja) | レジスタ及びレジスタ回路並びにデータプロセッサ | |
JPS59106047A (ja) | マイクロコンピユ−タ | |
JPH1049427A (ja) | 演算読み出し機能付き記憶装置 | |
JPS62110697A (ja) | アドレス制御方式 | |
JPH05204600A (ja) | 演算回路 | |
JPH05313854A (ja) | レジスタファイル |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20050301 |