JPH0512118A - アドレス加算器付きキヤツシユメモリ装置 - Google Patents

アドレス加算器付きキヤツシユメモリ装置

Info

Publication number
JPH0512118A
JPH0512118A JP3164862A JP16486291A JPH0512118A JP H0512118 A JPH0512118 A JP H0512118A JP 3164862 A JP3164862 A JP 3164862A JP 16486291 A JP16486291 A JP 16486291A JP H0512118 A JPH0512118 A JP H0512118A
Authority
JP
Japan
Prior art keywords
address
memory
adder
output
bit
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.)
Granted
Application number
JP3164862A
Other languages
English (en)
Other versions
JP3289284B2 (ja
Inventor
Takashi Nakayama
貴司 中山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP16486291A priority Critical patent/JP3289284B2/ja
Publication of JPH0512118A publication Critical patent/JPH0512118A/ja
Application granted granted Critical
Publication of JP3289284B2 publication Critical patent/JP3289284B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【構成】アドレス計算のために加算器11により2つの
入力2進数を加算し、この加算器11の下位桁出力をア
ドレスとしてデータ用メモリ12にデータを格納し、こ
のデータ用メモリ12がどのアドレスのものかをタグ用
メモリ13に記憶する。比較器14は加算器11の上位
桁出力とタグ用メモリ13の出力を比較し、加算器11
の出力の下位桁の下位桁部分をタグ用メモリ13の行ア
ドレスに入力し、加算器11の出力の下位桁の上位桁部
分をタグ用メモリ13の列アドレスに入力する。 【効果】タグ用メモリ13の行アドレスによるアクセス
時間が列アドレスによるアクセス時間より短いので、こ
れに加算器11の演算時間を合わせて、遅延時間に無駄
のないメモリを得る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、計算機の記憶装置に使
われ半導体メモリを用いたアドレス加算器つきキャッシ
ュメモリ装置に関する。
【0002】
【従来の技術】マイクロプロセッサでは、メモリをアク
セスするときに、次のようなベース・アドレッシング・
モードでアクセスするのが一般的である。
【0003】 命令 load disp[r0],r2 動作 memory(r0+disp)→r2 この例では、レジスタr0の内容とディスプレースメン
ト値(disp)の和をアドレスとしてメモリを参照
し、そのメモリの内容をレジスタr2に加算する。その
他のアドレッシング・モードでもアドレス演算に加算を
伴うものが多い。実際のプログラムでは、アドレス計算
に加算を行なう場合がほとんどである。
【0004】また、最近のRISC型プロセッサでは、
プロセッサの処理が高速化し、主記憶の速度がそれに追
い付かないため、小容量だが高速なキャッシュメモリを
付加するのが一般的である。そのため、アドレス計算を
行なってキャッシュメモリを読み出すまでの時間が、プ
ロセッサの速度を決定す主な原因となっている。そのた
め、プロセッサの演算速度を向上させるには、加算処理
とキャッシュメモリへのアクセスを高速化することが求
められている。
【0005】図5は従来例のアドレス加算器付きキャッ
シュメモリ装置のブロック図を示す。この例では、アド
レスS=A+Bに位置するメモリをアクセスでき、キャ
ッシュメモリとしては、最も高速でかつ回路が単純なダ
イレクト・マップ方式を用いている。20ビットの入力
信号(A)20および20ビットの入力信号(B)21
は、20ビットの桁上げ伝播加算器11により加算され
て20ビットの出力信号(S)22を得る。この出力信
号22をアドレスとして32ビット×220語のメモリ
(RAM)12に入力し、また32ビットの入力データ
信号23および32ビットの出力データ信号24と接続
される。11ビット×28 語のメモリ(RAM)13は
信号(S)22の下位桁8ビット(ビット9〜2)信号
31をメモリのアドレス入力とし、11ビットの入力デ
ータ信号28および11ビットの出力データ信号29と
接続される。
【0006】信号26は信号S(22)の上位桁10ビ
ット(ビット19〜10)に1ビットの「1」を付加し
た11ビット信号で、出力データ信号29とコンパレー
タ14で比較され一致を示すヒット出力信号30を出力
する。
【0007】データ用メモリ12に格納されるデータ
は、4語毎のブロックで管理され、各ブロック毎にタグ
が付加されて、タグ用メモリ13に格納されている。こ
のタグは、各ブロックがアドレス空間のどこに位置する
かのタグ情報(アドレスの上位桁)と、各ブロックに有
効なデータが格納されているかを示すフラグ(バリッド
フラグ)から構成される。コンパレータ14によって、
アドレスの上位桁26とタグ用メモリ13のタグ情報と
が一致し、かつ、バリッドフラグが有効であることが検
出されると、データ用メモリ12の内容が有効となる。
この状態をキャッシュが「ヒット」したと呼び、逆の状
態を「ミス」したと呼ぶ。キャッシュがヒットすればプ
ロセッサは処理を続行し、ミスした場合は対応するブロ
ックのデータを改めて主記憶からデータ用メモリ12に
読込み、対応するタグ情報をタグ用メモリ13に書込
む。
【0008】入力A(20)と入力B(21)の値が与
えられると加算器11で加算(S=A+B)が行われ、
時間Ta後にアドレス22が確定する。アドレス22が
確定してからアクセス時間Tr後に出力データ29が確
定する。このデータ29の確定した時間Tc後にヒット
信号30が確定する。
【0009】入力A(20)と入力B(21)の値が与
えられてから、ヒット信号(30)が確定するまでの時
間Toが、このアドレス加算器付きキャッシュメモリの
性能を示す。 To=Ta+Tr+Tc …(1) ここで、Ta=50ns,Tr=30ns,Tc=10
ns,ならばTo=90nsとなる。
【0010】(1)式は、一見正しいように見えるが、
加算器11とメモリ13の詳細な構成を考慮すると異な
ることがわかる。
【0011】図6は加算器11の詳細な構造を示すブロ
ック図である。加算器11は20桁のリップル桁上げ方
式の桁上げ伝播加算器で、20個の全加算器40〜59
から構成される。これら全加算器は、入力A,B,Ci
nの1の数をかぞえて2桁の2進数(Cout,S)を
出力する。全加算器の出力Coutは上の桁の全加算器
の入力Cinに接続されている。そのため、入力A(2
0),B(21)が与えられてから、加算結果S(2
2)の第kビットが確定する時間Ta(k)は、全加算
器の遅延時間をTfとすると、 Ta(k)=(k+1)×Tf …(2) で与えられる。つまり、LSB(Least Sign
ificant Bit)付近の結果は早く得られる
が、MSB(Most SignificantBi
t)付近の結果が確定するのは時間がかかる。
【0012】同様の考察をメモリに対して行なってみ
る。図7はスタティック・ランダムアクセス・メモリ
(SRAM)の一般的な構造を示すブロック図である。
Nビット(N=8)のアドレス入力信号31は、nビッ
ト(m=4)の行アドレス信号25とmビット(n=
4)の列アドレス信号とに分けられ、行デコーダ71が
n=4ビットのアドレス入力信号25をデコードして2
n 本のワードライン信号72を生成する。2N 本あるメ
モリセル73はそれぞれ1ビットの情報を記憶し、2本
1組で2m 組あるビットライン74の1組はメモリセル
73にデータを読み書きする真偽1組の信号となる。ビ
ットライン74のマルチプレクサ75は20チャネルの
MOSトランジスタで構成され、バッファ76は1ビッ
ト分の入力データ28をマルチプレクサ75に伝える。
読出し用センスアンプ77はマルチプレクサ75の出力
を差動入力で増幅し、列デコーダ78はmビットの入力
アドレス信号26をデコードしてマルチプレクサ75を
制御する。
【0013】22 0語のメモリセルは、2n 行×2m
の平面上に配置されている。ここで、N=n+mとす
る。20ビットのアドレスがnビットの行アドレス25
とmビットの列アドレス26に分割される。
【0014】メモリの読出しは、以下の手順で行なわれ
る。アドレス31が与えられると、行デコーダ71で行
アドレス25をデコードし、ワードラインのひとつ(7
2)が「1」になる。すると、その行の2m 個のメモリ
セルが選択され、それぞれのビットラインにメモリセル
の値(一方にはメモリセルの値,もう一方にはその反転
値)を出力する。その間に、列デコーダ78で列アドレ
ス26をデコードし、セレクタ75を制御してビットラ
イン74を選択しておく。すると、選択したビットライ
ン(74)上の値がセンスアンプ77に伝えられ、メモ
リセル(73)の値が出力データ29として出力され
る。
【0015】メモリの読出しアクセス時間は、行アドレ
スからのアクセス時間Tr(R)と、列アドレスからの
アクセス時間Tr(C)の2通り規定できる。 Tr(R)=Trd+Tce+Tse+Tap …(3) Tr(C)=Tcd+Tse+Tap …(4) ここで、Trdを行デコーダ71の遅延時間、Tcdを
列デコーダ78の遅延時間、Tceをメモリセル73の
アクセス時間、Tseをセレクタ75の遅延時間、Ta
pをセンスアンプ77の遅延時間とする。またTrdは
Tcdとほぼ等しいので、Tr(R)はTr(C)より
も、約Tce分だけ時間がかかることになる。
【0016】ここで具体例として、アドレス8ビットの
加算器付きメモリを考える。N=8,n=4,m=4で
あり、行アドレス25がアドレス31の上位4ビット、
列アドレス26がアドレス31の下位4ビットであるも
のとする。
【0017】図8はこの場合の各部の遅延時間の特性図
を示す。横軸はアドレスのビット番号、縦軸は時刻であ
る。各部の遅延時間は、次のとおりとする。 Tf=2.5ns,Trd=7.5ns,Tcd=7.
5ns,Tce=12.5ns,Tse=3.0ns,
Tap=7.0ns …(5) 図5の例ではメモリ13のアドレスとして用いられるの
は、加算器22の下位桁のみであり、上位桁加算を待た
ずに済む。(1)式は次の(6)式で置き換えられる。 To=Ta(9)+Tr+Tc …(6) 図8では、Ta(9)=25ns,Tr=30ns,T
c=10ns,To=65nsであり、(1)式による
90nsより良い性能が出ていることが分かる。しか
し、遅延のネックとなっているのはアドレス31のMS
Bであり、列アドレスは早く得らえるが、行アドレス側
が遅いためメモリの読出しが遅れている。ハードウェア
が有効に使われていないことが分かる。
【0018】
【発明が解決しようとする課題】上述した従来例のアド
レス演算器付きキャッシュメモリ装置では、読出し時間
が長いという欠点がある。これは、メモリの読出し時間
は、行アドレスからのアクセス時間Tr(R)よりも、
列アドレスからのアクセス時間Tr(C)の方が短いこ
とを有効に活用できていないためである。この有効活用
のためには、行アドレスをなるべく早くメモリに伝える
ように加算器の構成を変える必要がある。
【0019】本発明の目的は、メモリの行アドレスを列
アドレスより下位桁にすることによって、アドレス加算
器の出力が確定した部分からメモリのアクセスを開始さ
せ、読出し時間を短くしたキャッシュメモリ装置を提供
することにある。
【0020】
【課題を解決するための手段】本発明のアドレス加算器
付きキャッシュメモリ装置の構成は、アドレス計算に2
つの入力2進数を加算する加算器と、この加算器の下位
桁出力をアドレスとしてデータを格納するデータ用メモ
リと、このデータ用メモリがどのアドレスのものかを記
憶するタグ用メモリと、前記加算器の上位桁出力と前記
タグ用メモリの出力を比較する比較器とを備え、前記加
算器の出力の下位桁の下位桁部分を前記タグ用メモリの
行アドレスに入力し、前記加算器出力の下位桁の上位桁
部分を前記タグ用メモリの列アドレスに入力することを
特徴とする。
【0021】
【実施例】図1は本発明の一実施例のアドレス加算器付
きキャッシュメモリのブロック図である。この実施例で
は、アドレスS=A+Bに位置するメモリをアクセスで
きる。キャッシュメモリは、最も高速でかつ回路が単純
なダイレクト・マップ方式を用いている。本実施例が図
5の実施例と相違している点は、タグ用RAM13のア
ドレス入力信号31が、4ビットの行アドレス信号25
および4ビットの列アドレス信号26に分けられている
ことである。
【0022】加算器11は、図6で示したものと同じ構
成であり、遅延時間Taには(2)式が成立つ。メモリ
12は図7で示したものと同じ構成であり、遅延時間T
rには(3),(4)式が成立つ。本実施例が従来例
(図2)と異なるのは、メモリ13へのアドレスが、加
算器出力22の下位桁側を行アドレスしたことである。
【0023】入力A(20)と入力B(21)の値が与
えられると加算器11で加算(S=A+B)が行なわ
れ、(2)式より時間Ta(5)後に行アドレスが、時
間Ta(9)後に列アドレスが確定する。行アドレスが
確定してからアクセス時間Tr(R)後の時刻と、列ア
ドレスが確定してからアクセス時間Tr(C)後の時刻
の、遅い方の時刻にメモリ出力が確定する。また、メモ
リ出力115と加算器出力113のうち遅い方からTc
mp後にコンパレータ出力が確定する。
【0024】全体遅延時間は、 To=max(Ta(5)+Tr(R),Ta(9)+
Tr(C),Ta(19)+Tc …(7) この式に(2),(3),(4),(5)式を代入する
と次のようになる。 To=max(15+30,25+17.5,50)+
10=60ns 図1の各部の遅延時間を図2に示す。(7)式の各変数
の値は(5)式(図8で使用したもの)と同じである。
図2では各部分の遅延時間は図8と同じであるが、図8
より5ns速くなっている。これは行アドレスに速い信
号を割当てたためである。
【0025】図3は本発明の第2の実施例として他の加
算器を用いた場合の加算器のブロック図である。
【0026】図において、加算器11は、ビット3〜5
とビット17〜19において桁上げ選択加算器41,4
2,44,45に、それ以外のビットはリップル桁上げ
加算器40,43になっている。
【0027】リップル桁上げ加算器41〜45は、入力
A,B,Cinの1の数をかぞえて2桁の2進数(Co
ut,S)を出力する全加算器が3個(43は11個)
で構成される。
【0028】リップル桁上げ加算器40の桁上げ出力信
号(Cout)49によって3ビットのセレクタ46が
リップル桁上げ加算器41,42の和出力信号(S)を
切換え、ゲート48はリップル桁上げ加算器40〜42
の桁上げ出力信号(Cout)からリップル桁上げ加算
器43への桁上げ入力信号(Cin)を生成し、リップ
ル桁上げ加算器43の桁上げ出力信号(Cout)50
によって3ビットのセレクタ47がリップル桁上げ加算
器44,45の和出力信号(S)を切換える。
【0029】リップル桁上げ加算器41,42とセレク
タ46および、リップル桁上げ加算器44,45とセレ
クタ47とは、3ビットの桁上げ選択加算器41,44
は桁上げ信号49,50が1の場合の3ビットの加算
を、全加算器42,45は桁上げ信号49,50が0の
場合の3ビットの加算を行なっており、桁上げ信号4
9,50が確定した時点でセレクタ46,47で加算器
41または42(44または45)の和出力を選択す
る。同時に、ゲート48によって全加算器43への桁上
げ入力信号が確定できる。
【0030】図3の加算器を使用した場合の図1の各部
の遅延時間を図4に示す。(7)式の各変数の値は
(5)式(図8で使用したもの)と同じである。また、
セレクタ46とゲート48の遅延時間は共に2.5ns
とする。図4では、 To=max(10+30,25+17.5,40)+10=50ns であり、図2の場合より10ns速くなっている。これ
は行アドレスの生成とコンパレータへの入力を更に速く
したためである。列アドレスの生成は高速化していない
が、これによる性能向上はこの例ではないためである。
【0031】本実施例のアドレス加算器は、桁上げ選択
加算器(Carry SelectAdder)を使用
したが、桁上げ先見機構を用いた加算器(Carry
Look−Ahead Adder)でもよく、また、
本実施例ではメモリとしてスタティック・メモリ(SR
AM)を用いたが、ダイナミック・メモリ(DRAM)
であっても、読出し専用メモリ(ROM)であってもか
まわない。
【0032】
【発明の効果】以上説明したように、本発明によるアド
レス加算器付きメモリは、次の2つの効果を有する。
【0033】(1)演算時間が短い。 従来例の65nsに対し、実施例1(図6)では60n
s、実施例2では50nsと早くなった。メモリの行ア
ドレスによるアクセス時間が列アドレスによるアクセス
時間より短いことを利用し、加算器の演算時間の分布を
これに合せることによって、遅延時間に無駄の無いメモ
リが得られる。
【0034】(2)ハードウェア量はほとんど増加しな
い。 実施例1ではハードウェア量は従来例と同じであり、実
施例2では従来例より全加算器6個,3ビットのセレク
タが2個,ゲート1個だけ増加しただけで済んでいる。
【図面の簡単な説明】
【図1】本発明の一実施例のハードウェア構成を示すブ
ロック図。
【図2】図1の実施例の効果を示す遅延時間の模式図。
【図3】本発明の第2の実施例で使用した加算器のブロ
ック図。
【図4】第2の実施例の効果を示す遅延時間の模式図。
【図5】従来例のキャッシュメモリ装置のハードウェア
構成を示すブロック図。
【図6】図5で使用した加算器の構造を示すブロック
図。
【図7】従来例で使用したメモリの構造を示すブロック
図。
【図8】従来例の演算時間を示す遅延時間の模式図。
【符号の説明】
11 桁上げ伝播加算器 12 データ用メモリ 13 タグ用メモリ 14 コンパレータ 20,21 入力信号 22 出力信号S 23,28 入力データ信号 24,29 出力データ信号 25,26,31 アドレス信号 30 ビット出力信号 40〜45 リップル桁上げ加算器 46,47 セレクタ 48 ゲート 49,50 桁上げ信号 51〜70 全加算器 71 行デコーダ 72 ワードライン信号 73 メモリセル 74 ビットライン 75 マルチプレクサ 76 バッファ 77 センスアンプ 78 列デコーダ

Claims (1)

  1. 【特許請求の範囲】 【請求項1】 アドレス計算に2つの入力2進数を加算
    する加算器と、この加算器の下位桁出力をアドレスとし
    てデータを格納するデータ用メモリと、このデータ用メ
    モリがどのアドレスのものかを記憶するタグ用メモリ
    と、前記加算器の上位桁出力と前記タグ用メモリの出力
    を比較する比較器とを備え、前記加算器の出力の下位桁
    の下位桁部分を前記タグ用メモリの行アドレスに入力
    し、前記加算器出力の下位桁の上位桁部分を前記タグ用
    メモリの列アドレスに入力することを特徴とするアドレ
    ス加算器付きキャッシュメモリ装置。
JP16486291A 1991-07-05 1991-07-05 アドレス加算器付きキャッシュメモリ装置 Expired - Fee Related JP3289284B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16486291A JP3289284B2 (ja) 1991-07-05 1991-07-05 アドレス加算器付きキャッシュメモリ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16486291A JP3289284B2 (ja) 1991-07-05 1991-07-05 アドレス加算器付きキャッシュメモリ装置

Publications (2)

Publication Number Publication Date
JPH0512118A true JPH0512118A (ja) 1993-01-22
JP3289284B2 JP3289284B2 (ja) 2002-06-04

Family

ID=15801339

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16486291A Expired - Fee Related JP3289284B2 (ja) 1991-07-05 1991-07-05 アドレス加算器付きキャッシュメモリ装置

Country Status (1)

Country Link
JP (1) JP3289284B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7174418B2 (en) 2003-04-30 2007-02-06 Hynix Semiconductor Inc. Semiconductor memory device for enhancing refresh operation in high speed data access
US7363460B2 (en) 2003-04-30 2008-04-22 Hynix Semiconductor Inc. Semiconductor memory device having tag block for reducing initialization time

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7174418B2 (en) 2003-04-30 2007-02-06 Hynix Semiconductor Inc. Semiconductor memory device for enhancing refresh operation in high speed data access
US7363460B2 (en) 2003-04-30 2008-04-22 Hynix Semiconductor Inc. Semiconductor memory device having tag block for reducing initialization time

Also Published As

Publication number Publication date
JP3289284B2 (ja) 2002-06-04

Similar Documents

Publication Publication Date Title
US5913223A (en) Low power set associative cache memory
US5752260A (en) High-speed, multiple-port, interleaved cache with arbitration of multiple access addresses
US3979726A (en) Apparatus for selectively clearing a cache store in a processor having segmentation and paging
US4315312A (en) Cache memory having a variable data block size
US6023745A (en) Scoreboarding for DRAM access within a multi-array DRAM device using simultaneous activate and read/write accesses
US5343437A (en) Memory having nonvolatile and volatile memory banks
US7457917B2 (en) Reducing power consumption in a sequential cache
US6230235B1 (en) Address lookup DRAM aging
US7490190B2 (en) Method and system for local memory addressing in single instruction, multiple data computer system
US6104658A (en) Distributed DRAM refreshing
US5682515A (en) Low power set associative cache memory with status inhibit of cache data output
US5877780A (en) Semiconductor chip having multiple independent memory sections, at least one of which includes simultaneously accessible arrays
US5737569A (en) Multiport high speed memory having contention arbitration capability without standby delay
JPH0827715B2 (ja) 記憶装置
US5802586A (en) Cache memory having a read-modify-write operation and simultaneous burst read and write operations and a method therefor
US6571323B2 (en) Memory-access management method and system for synchronous dynamic Random-Access memory or the like
US5890221A (en) Method and system for offset miss sequence handling in a data cache array having multiple content addressable field per cache line utilizing an MRU bit
JPH11265569A (ja) メモリアドレス発生回路及び半導体記憶装置
JPH03219326A (ja) データ比較回路
US6385696B1 (en) Embedded cache with way size bigger than page size
US5588133A (en) Register block circuit for central processing unit of microcomputer
JPH0845275A (ja) メモリリード/ライト制御方法およびその方法を使用したメモリ装置
JP3289284B2 (ja) アドレス加算器付きキャッシュメモリ装置
JPH0413735B2 (ja)
JP3997404B2 (ja) キャッシュメモリ及びその制御方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20020219

LAPS Cancellation because of no payment of annual fees