JP3289284B2 - アドレス加算器付きキャッシュメモリ装置 - Google Patents

アドレス加算器付きキャッシュメモリ装置

Info

Publication number
JP3289284B2
JP3289284B2 JP16486291A JP16486291A JP3289284B2 JP 3289284 B2 JP3289284 B2 JP 3289284B2 JP 16486291 A JP16486291 A JP 16486291A JP 16486291 A JP16486291 A JP 16486291A JP 3289284 B2 JP3289284 B2 JP 3289284B2
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.)
Expired - Fee Related
Application number
JP16486291A
Other languages
English (en)
Other versions
JPH0512118A (ja
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.)
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)

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 列デコーダ
フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 12/08 G06F 12/02 G06F 9/30 - 9/36

Claims (1)

    (57)【特許請求の範囲】
  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 JPH0512118A (ja) 1993-01-22
JP3289284B2 true 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)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100522431B1 (ko) 2003-04-30 2005-10-20 주식회사 하이닉스반도체 리프레쉬 동작이 향상된 고속 데이터 억세스를 위한반도체 메모리 장치
KR100543932B1 (ko) 2003-04-30 2006-01-23 주식회사 하이닉스반도체 초기화 동작시간이 감소된 태그블럭을 구비하는 반도체 메모리 장치 및 그의 구동방법

Also Published As

Publication number Publication date
JPH0512118A (ja) 1993-01-22

Similar Documents

Publication Publication Date Title
US5913223A (en) Low power set associative cache memory
US6425055B1 (en) Way-predicting cache memory
JP3277145B2 (ja) メモリ・アレイ
US4315312A (en) Cache memory having a variable data block size
US5018061A (en) Microprocessor with on-chip cache memory with lower power consumption
US7089398B2 (en) Address translation using a page size tag
US5053951A (en) Segment descriptor unit for performing static and dynamic address translation operations
US5682515A (en) Low power set associative cache memory with status inhibit of cache data output
US5713001A (en) Circuit for converting address operands supplied by a program to hashed virtual address
JPH06314195A (ja) 記憶装置
JPH0527971A (ja) 情報処理装置
US6385696B1 (en) Embedded cache with way size bigger than page size
JPH0845275A (ja) メモリリード/ライト制御方法およびその方法を使用したメモリ装置
JP3289284B2 (ja) アドレス加算器付きキャッシュメモリ装置
US6694420B2 (en) Address range checking circuit and method of operation
JP3997404B2 (ja) キャッシュメモリ及びその制御方法
KR960015231A (ko) 향상된 어드레스 지정 방법 및 시스템
US6507531B1 (en) Cache column multiplexing using redundant form addresses
GB2282471A (en) Cache storage with invalid-line flags
JP3614956B2 (ja) メモリ制御システム
JPH04324187A (ja) ダイナミックram
JPH086857A (ja) キャッシュメモリ
JP3729832B2 (ja) キャッシュメモリ装置
JP2768101B2 (ja) アドレス加算器付きメモリ装置
JPH02161546A (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