JPH07200404A - Dramを利用したキャッシュメモリ - Google Patents
Dramを利用したキャッシュメモリInfo
- Publication number
- JPH07200404A JPH07200404A JP5303685A JP30368593A JPH07200404A JP H07200404 A JPH07200404 A JP H07200404A JP 5303685 A JP5303685 A JP 5303685A JP 30368593 A JP30368593 A JP 30368593A JP H07200404 A JPH07200404 A JP H07200404A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- cache
- data
- processor
- dram
- 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.)
- Pending
Links
- 230000015654 memory Effects 0.000 title claims abstract description 120
- 238000012545 processing Methods 0.000 claims description 10
- 230000000694 effects Effects 0.000 claims description 7
- 238000012546 transfer Methods 0.000 claims description 6
- 238000000034 method Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 4
- 230000002411 adverse Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【目的】 プロセッサに対して0ウエイトで動作可能な
二次キャッシュをDRAMメモリを用い、小さな面積、
低消費電力を有する方式で構成すること。 【構成】 DRAMメモリを用いて二次キャッシュのデ
ータメモリを構成し、制御論理、タグメモリとともに同
一チップ上に集積する。また、データメモリ中に連続的
にアクセスされる4つのワードを異なった列にインタリ
ーブして格納することによって、見かけ上非常に速いD
RAMのアクセス動作を実現する。
二次キャッシュをDRAMメモリを用い、小さな面積、
低消費電力を有する方式で構成すること。 【構成】 DRAMメモリを用いて二次キャッシュのデ
ータメモリを構成し、制御論理、タグメモリとともに同
一チップ上に集積する。また、データメモリ中に連続的
にアクセスされる4つのワードを異なった列にインタリ
ーブして格納することによって、見かけ上非常に速いD
RAMのアクセス動作を実現する。
Description
【0001】
【産業上の利用分野】本発明は高性能マイクロプロセッ
サに接続される二次キャッシュメモリの高速化に関する
ものである。特に、これをDRAMメモリを用いて実現
する手段に関する。
サに接続される二次キャッシュメモリの高速化に関する
ものである。特に、これをDRAMメモリを用いて実現
する手段に関する。
【0002】
【従来技術】高性能マイクロプロセッサからメインメモ
リに対するアクセス速度はプロセッサの動作速度(クロ
ック速度)に比べて一般にかなり遅い。たとえば、メイ
ンクロックから見たDRAMメインメモリのアクセスタ
イムは120〜150ns程度であるのに対して、プロ
セッサのクロック速度は15ns(66MHz)以上で
ある場合が多い。このような速度の違いをそのまま放置
することはプロセッサの使用効率が低減し、明らかなシ
ステム性能の低下を来すことになる。そこで、プロセッ
サとメインメモリの間により高速にアクセス可能なキャ
ッシュメモリをおいて頻繁に使用するデータについては
キャッシュメモリからアクセスをすることによってデー
タのアクセス時間を短縮し、プロセッサの性能を十分に
発揮させることが従来から広く行われてきた。従って、
プロセッサの性能を十分に発揮させるには高速なキャッ
シュメモリを実現することが重要な要素となる。
リに対するアクセス速度はプロセッサの動作速度(クロ
ック速度)に比べて一般にかなり遅い。たとえば、メイ
ンクロックから見たDRAMメインメモリのアクセスタ
イムは120〜150ns程度であるのに対して、プロ
セッサのクロック速度は15ns(66MHz)以上で
ある場合が多い。このような速度の違いをそのまま放置
することはプロセッサの使用効率が低減し、明らかなシ
ステム性能の低下を来すことになる。そこで、プロセッ
サとメインメモリの間により高速にアクセス可能なキャ
ッシュメモリをおいて頻繁に使用するデータについては
キャッシュメモリからアクセスをすることによってデー
タのアクセス時間を短縮し、プロセッサの性能を十分に
発揮させることが従来から広く行われてきた。従って、
プロセッサの性能を十分に発揮させるには高速なキャッ
シュメモリを実現することが重要な要素となる。
【0003】このために、近年特にプロセッサと同一の
チップ上にキャッシュメモリを実装し高速化を図ること
が一般に行われている。しかし、このように同一のチッ
プ上にキャッシュメモリを実装することはチップの面積
の問題から制約がある。つまり、容量の大きなキャッシ
ュメモリの実装は困難であり、現在実装可能とされてい
るのは4〜32kB程度のものである。なお、このよう
に同一チップ上に実装することを「オンチップ」とい
い、このようにプロセッサに直結して実装・接続される
キャッシュメモリを一次キャッシュという。
チップ上にキャッシュメモリを実装し高速化を図ること
が一般に行われている。しかし、このように同一のチッ
プ上にキャッシュメモリを実装することはチップの面積
の問題から制約がある。つまり、容量の大きなキャッシ
ュメモリの実装は困難であり、現在実装可能とされてい
るのは4〜32kB程度のものである。なお、このよう
に同一チップ上に実装することを「オンチップ」とい
い、このようにプロセッサに直結して実装・接続される
キャッシュメモリを一次キャッシュという。
【0004】このオンチップキャッシュの実装に係わる
容量の制約を解決するために、キャッシュメモリをその
データのアクセス頻度に応じて二段階程度に構成し、も
っとも頻繁にアクセスされるデータに関しては一次キャ
ッシュ(L1)に、その次に頻繁にアクセスされるデー
タに関しては二次キャッシュ(L2)に格納することが
多くなっている。すなわち、図1に示すとおり、通常マ
イクロプロセッサ(CPU)と同一のチップに4〜32
kB程度の一次キャッシュを実装し、さらに外部に12
8〜512kBの二次キャッシュを接続することによっ
てシステムが構成される。ここで、図1においてはキャ
ッシュライン長128ビットの2ウエイのセットアソシ
アテイブキャッシュの例を示している。タグ情報として
は1キャッシュライン当たり18ビットを仮定してい
る。
容量の制約を解決するために、キャッシュメモリをその
データのアクセス頻度に応じて二段階程度に構成し、も
っとも頻繁にアクセスされるデータに関しては一次キャ
ッシュ(L1)に、その次に頻繁にアクセスされるデー
タに関しては二次キャッシュ(L2)に格納することが
多くなっている。すなわち、図1に示すとおり、通常マ
イクロプロセッサ(CPU)と同一のチップに4〜32
kB程度の一次キャッシュを実装し、さらに外部に12
8〜512kBの二次キャッシュを接続することによっ
てシステムが構成される。ここで、図1においてはキャ
ッシュライン長128ビットの2ウエイのセットアソシ
アテイブキャッシュの例を示している。タグ情報として
は1キャッシュライン当たり18ビットを仮定してい
る。
【0005】ここで、プロセッサの性能を十分に発揮さ
せるためには二次キャッシュにおいてもプロセッサのサ
イクルタイムに匹敵したアクセスタイムを有している高
速メモリを使用する必要がある。もし、プロセッサが5
0MHzで動作する場合には10〜20ns程度のアク
セスタイムを有している高速SRAMでこれを構成する
のが一般的である。
せるためには二次キャッシュにおいてもプロセッサのサ
イクルタイムに匹敵したアクセスタイムを有している高
速メモリを使用する必要がある。もし、プロセッサが5
0MHzで動作する場合には10〜20ns程度のアク
セスタイムを有している高速SRAMでこれを構成する
のが一般的である。
【0006】キャッシュメモリはキャッシュタグメモリ
とキャッシュデータメモリの二つで構成される。前者は
アクセスした内容を論理回路で処理して、キャッシュヒ
ット/ミスの判断を行う作用を有している。従って、キ
ャッシュデータメモリよりもさらに高速のメモリを必要
とするが、その判断のための情報は各キャッシュライン
に対するアドレスビットと数ビットのステータスビット
のみで表されて格納されるため、比較的小さな容量のメ
モリで足りる。一方、後者は実際にデータを格納する部
分であり、大きな容量を必要とする。かかる両者の要求
特性の差異に基づいて前者はキャッシュコントローラ中
にインテグレートされ、後者は独立の高速SRAMチッ
プ数個を用いて実現されるか、前者も独立のより高速な
SRAMチップを用いて実現される。
とキャッシュデータメモリの二つで構成される。前者は
アクセスした内容を論理回路で処理して、キャッシュヒ
ット/ミスの判断を行う作用を有している。従って、キ
ャッシュデータメモリよりもさらに高速のメモリを必要
とするが、その判断のための情報は各キャッシュライン
に対するアドレスビットと数ビットのステータスビット
のみで表されて格納されるため、比較的小さな容量のメ
モリで足りる。一方、後者は実際にデータを格納する部
分であり、大きな容量を必要とする。かかる両者の要求
特性の差異に基づいて前者はキャッシュコントローラ中
にインテグレートされ、後者は独立の高速SRAMチッ
プ数個を用いて実現されるか、前者も独立のより高速な
SRAMチップを用いて実現される。
【0007】その場合、キャッシュデータメモリに使用
するSRAMチップの数は例えば256kBのキャッシ
ュを構成する時には32kBの高速SRAMチップ8個
となる。
するSRAMチップの数は例えば256kBのキャッシ
ュを構成する時には32kBの高速SRAMチップ8個
となる。
【0008】しかしこのように複数のSRAMチップを
使用する方法によればいくつかの問題点が提起される。
第一に実装面積の問題がある。この方法によれば、CP
Uと同等のI/Oピン数を必要とするキャッシュコント
ローラ1個と4〜8個の高速SRAMが必要となる。こ
れは、CPU本体の数倍の実装面積を必要とすることが
多い。
使用する方法によればいくつかの問題点が提起される。
第一に実装面積の問題がある。この方法によれば、CP
Uと同等のI/Oピン数を必要とするキャッシュコント
ローラ1個と4〜8個の高速SRAMが必要となる。こ
れは、CPU本体の数倍の実装面積を必要とすることが
多い。
【0009】第二に消費電力の問題がある。多数の高速
SRAMが同時にアクテイブとなるため、大きな電力を
消費する。そして、それに伴う熱の発生も問題となる。
SRAMが同時にアクテイブとなるため、大きな電力を
消費する。そして、それに伴う熱の発生も問題となる。
【0010】第三の問題としてはウエイ数の限界が挙げ
られる。一般にキャッシュメモリのヒット率をその容量
を増大させることなく向上させる手法として同一の番地
に数個のウエイを割り当てる方法(セットアソシエ−テ
イブキャッシュ)がとられる。このウエイ数が多いほど
ヒット率が高くなる。しかし、例えば4ウエイのアソシ
エーテイブキャッシュを実現するには、プロセッサのデ
ータ幅の4倍のデータビットが同時にアクセスできなけ
ればならない。それに見合った構成をSRAMによって
実現するにはビット幅の大きなSRAMチップを採用す
る、小容量のチップを多数使用する等が考えられるが、
いずれもコスト上問題がある。
られる。一般にキャッシュメモリのヒット率をその容量
を増大させることなく向上させる手法として同一の番地
に数個のウエイを割り当てる方法(セットアソシエ−テ
イブキャッシュ)がとられる。このウエイ数が多いほど
ヒット率が高くなる。しかし、例えば4ウエイのアソシ
エーテイブキャッシュを実現するには、プロセッサのデ
ータ幅の4倍のデータビットが同時にアクセスできなけ
ればならない。それに見合った構成をSRAMによって
実現するにはビット幅の大きなSRAMチップを採用す
る、小容量のチップを多数使用する等が考えられるが、
いずれもコスト上問題がある。
【0011】さらに、キャッシュ領域での配線遅延、信
号スキュウなどを考慮すると、その分のタイミングマー
ジンを考慮して設計する必要がある。すなわち、かかる
原因からSRAMの動作は実質的に遅延するので、この
遅延を補償するためには本来の目標である15nsより
さらに数ns速いアクセスタイムを有するSRAMの使
用が要請される。かかる配線遅延、信号スキュウ等を最
小限に抑制するための設計が必要となるが、これは非常
に困難な問題である。
号スキュウなどを考慮すると、その分のタイミングマー
ジンを考慮して設計する必要がある。すなわち、かかる
原因からSRAMの動作は実質的に遅延するので、この
遅延を補償するためには本来の目標である15nsより
さらに数ns速いアクセスタイムを有するSRAMの使
用が要請される。かかる配線遅延、信号スキュウ等を最
小限に抑制するための設計が必要となるが、これは非常
に困難な問題である。
【0012】そして、最後にコスト上の問題も避けられ
ない。複数の高速SRAMチップを使用することによっ
て非常に高価なものとなるためである。
ない。複数の高速SRAMチップを使用することによっ
て非常に高価なものとなるためである。
【0013】次に0ウエイトの二次キャッシュに必要な
条件についてその動作面から説明を加える。なお、ここ
で「0ウエイト」とは全く無駄な待ちクロックサイクル
を消費することなく、連続してアクセス可能な態様をい
う。この態様で動作する場合にプロセッサの能力を完全
に活用できるので本願発明ではこれを目標とする。図2
にこの場合の動作を示す。この図は486Dx2/66
MHzの場合についての説明である。CPUのリードア
クセスがL1キャッシュでミスした場合、キャッシュラ
イン長128ビット(16バイト)の一次キャッシュ
(オンチップ)に32ビットづつ4回のバースト転送で
外部よりデータが読みこまれる。この状況において、二
次キャッシュが0ウエイト動作でL1キャッシュにデー
タを供給するためには、最初のワード転送は2バスクロ
ックで、次以降の3つのワードの転送はそれぞれ1バス
クロックで完了する必要がある。つまり、前者(リード
オフサイクルという)は60ns、後者(バーストサイ
クルという)はそれぞれ30nsで動作する必要があ
る。
条件についてその動作面から説明を加える。なお、ここ
で「0ウエイト」とは全く無駄な待ちクロックサイクル
を消費することなく、連続してアクセス可能な態様をい
う。この態様で動作する場合にプロセッサの能力を完全
に活用できるので本願発明ではこれを目標とする。図2
にこの場合の動作を示す。この図は486Dx2/66
MHzの場合についての説明である。CPUのリードア
クセスがL1キャッシュでミスした場合、キャッシュラ
イン長128ビット(16バイト)の一次キャッシュ
(オンチップ)に32ビットづつ4回のバースト転送で
外部よりデータが読みこまれる。この状況において、二
次キャッシュが0ウエイト動作でL1キャッシュにデー
タを供給するためには、最初のワード転送は2バスクロ
ックで、次以降の3つのワードの転送はそれぞれ1バス
クロックで完了する必要がある。つまり、前者(リード
オフサイクルという)は60ns、後者(バーストサイ
クルという)はそれぞれ30nsで動作する必要があ
る。
【0014】そして、これらの値がそのまま要求される
アクセスタイムの特性になるのではないことに留意すべ
きである。リードオフサイクルに対してはCPUのアド
レスサイクル開始の信号遅延および、CPUに対するデ
ータのセットアップタイム、バーストサイクルについて
はCPUに対するデータセットアプタイムがそれぞれ必
要なためである。従って、表1に示す程度のアクセスタ
イムを実現することが結局必要となる。
アクセスタイムの特性になるのではないことに留意すべ
きである。リードオフサイクルに対してはCPUのアド
レスサイクル開始の信号遅延および、CPUに対するデ
ータのセットアップタイム、バーストサイクルについて
はCPUに対するデータセットアプタイムがそれぞれ必
要なためである。従って、表1に示す程度のアクセスタ
イムを実現することが結局必要となる。
【表1】 サイクルタイム アクセスタイム リードオフサイクル 60 30 バーストサイクル 30 15 (単位はns)
【0015】このようにサイクルによって要求されるア
クセスタイムが異なるのが一つの制約条件である。例え
ば、これに適合するように二次キャッシュをSRAMを
用いて構成するとすれば、速い方のアクセスタイムであ
る15nsを基準に高速SRAMを選択する必要があ
る。このことはリードオフサイクルのアクセスタイムを
考えれば、オーバースペックを容認することとなる。
クセスタイムが異なるのが一つの制約条件である。例え
ば、これに適合するように二次キャッシュをSRAMを
用いて構成するとすれば、速い方のアクセスタイムであ
る15nsを基準に高速SRAMを選択する必要があ
る。このことはリードオフサイクルのアクセスタイムを
考えれば、オーバースペックを容認することとなる。
【0016】このような、リードオフサイクルとバース
トサイクル間のアクセスタイムの相違に起因する無駄を
防止するためにはDRAMメモリチップを使用すること
が考えられる。DRAMメモリチップでは行アドレスで
選択された一行分のデータがセンスアンプにバッファさ
れ、その後にアクセスすべきワードについてはその行内
の列アドレスの変更のみでこれを行う。従って、最初の
ワードアクセスについては比較的長時間を必要とする
が、その後の列アドレスの変更によるアクセスについて
は極めて短時間で十分である。このようなアクセスの態
様をページアクセスという。このことは、表1に示した
リードオフサイクルとバーストサイクルのアクセスタイ
ムの比率と非常によく適合するという点で、DRAMの
使用はSRAMを使用する場合に比べて大きな利点があ
ると考えられる。
トサイクル間のアクセスタイムの相違に起因する無駄を
防止するためにはDRAMメモリチップを使用すること
が考えられる。DRAMメモリチップでは行アドレスで
選択された一行分のデータがセンスアンプにバッファさ
れ、その後にアクセスすべきワードについてはその行内
の列アドレスの変更のみでこれを行う。従って、最初の
ワードアクセスについては比較的長時間を必要とする
が、その後の列アドレスの変更によるアクセスについて
は極めて短時間で十分である。このようなアクセスの態
様をページアクセスという。このことは、表1に示した
リードオフサイクルとバーストサイクルのアクセスタイ
ムの比率と非常によく適合するという点で、DRAMの
使用はSRAMを使用する場合に比べて大きな利点があ
ると考えられる。
【0017】しかし、DRAMメモリチップを使用すれ
ば以下の二点が問題となる。まず、DRAMメモリチッ
プはアクセス時間の絶対値が大きく、要求される特性を
満たさないという点である。すなわち、DRAMメモリ
チップにおいては最初のワードのアクセスタイムとそれ
以降のページアクセスタイムがそれぞれ60、30ns
程度であり、要求特性の2倍程度の時間を必要とする。
次に、データ幅の問題がある。汎用DRAMを用いれば
仮に2ウエイ程度のウエイ数のキャッシュメモリを実現
するにしても多くのモジュールを並列にする必要があ
る。このことによる実装面積、消費電力等の弊害につい
ては述べたところである。
ば以下の二点が問題となる。まず、DRAMメモリチッ
プはアクセス時間の絶対値が大きく、要求される特性を
満たさないという点である。すなわち、DRAMメモリ
チップにおいては最初のワードのアクセスタイムとそれ
以降のページアクセスタイムがそれぞれ60、30ns
程度であり、要求特性の2倍程度の時間を必要とする。
次に、データ幅の問題がある。汎用DRAMを用いれば
仮に2ウエイ程度のウエイ数のキャッシュメモリを実現
するにしても多くのモジュールを並列にする必要があ
る。このことによる実装面積、消費電力等の弊害につい
ては述べたところである。
【0018】このようにDRAMメモリチップを単に用
いた場合、従来知られていた手法によっては0ウエイト
のアクセスを実現する二次キャッシュは実用的なレベル
では構成できないこととなる。
いた場合、従来知られていた手法によっては0ウエイト
のアクセスを実現する二次キャッシュは実用的なレベル
では構成できないこととなる。
【0019】
【発明が解決しようとする課題】今まで述べてきたとこ
ろから明らかなとおり、本願発明の目的はプロセッサの
性能をフルに発揮するに足る二次キャッシュを実現する
ことである。
ろから明らかなとおり、本願発明の目的はプロセッサの
性能をフルに発揮するに足る二次キャッシュを実現する
ことである。
【0020】そして、この実現方法は実用的なものであ
る必要がある。すなわち、キャッシュデータメモリに必
要な実装面積を大幅に低減し、かつ、その消費電力や発
生熱量が小さいことが望ましい。
る必要がある。すなわち、キャッシュデータメモリに必
要な実装面積を大幅に低減し、かつ、その消費電力や発
生熱量が小さいことが望ましい。
【0021】
【課題を解決するための手段】本願発明はかかる問題点
に鑑み、論理チップ上にDRAMメモリをインテグレー
トすることによってDRAMの小面積・低消費電力とい
う長所と、DRAMメモリの行アドレスアクセスにおけ
るサイクルとページモードアクセスのサイクルタイムが
異なるという事実を利用するとともに、汎用DRAMメ
モリチップを単純に使用する場合の問題点であったCP
Uから見たアクセスタイムの絶対値を改善することによ
って0ウエイト動作可能な二次キャッシュを実現するも
のである。
に鑑み、論理チップ上にDRAMメモリをインテグレー
トすることによってDRAMの小面積・低消費電力とい
う長所と、DRAMメモリの行アドレスアクセスにおけ
るサイクルとページモードアクセスのサイクルタイムが
異なるという事実を利用するとともに、汎用DRAMメ
モリチップを単純に使用する場合の問題点であったCP
Uから見たアクセスタイムの絶対値を改善することによ
って0ウエイト動作可能な二次キャッシュを実現するも
のである。
【0022】キャッシュメモリは本来DRAMによって
構成されているメインメモリの遅さを補償する目的で登
場したものである。かかる経緯から、メインメモリを構
成するDRAM(一般的に速度が遅いと考えられてい
る)でキャッシュメモリを構成しようとする発想はなか
った。本願発明はDRAMメモリの低面積、安価という
さまざまな特長に鑑み、これをキャッシュメモリに流用
しようとするものであり、この点において従来技術の流
れから発想を逆転させるとともに、これを全く異にする
ものである。
構成されているメインメモリの遅さを補償する目的で登
場したものである。かかる経緯から、メインメモリを構
成するDRAM(一般的に速度が遅いと考えられてい
る)でキャッシュメモリを構成しようとする発想はなか
った。本願発明はDRAMメモリの低面積、安価という
さまざまな特長に鑑み、これをキャッシュメモリに流用
しようとするものであり、この点において従来技術の流
れから発想を逆転させるとともに、これを全く異にする
ものである。
【0023】さらに、セットアソシエーテイブキャッシ
ュにおいて、同一セットとして選択される複数のキャッ
シュライン間で、CPUのデータビット幅単位にデータ
をインタリーブして格納することにより、キャッシュデ
ータメモリのバンク数を増大させることなく、見かけ上
のDRAMメモリのアクセスタイム、サイクルタイムを
増大させると同時に、DRAMメモリのプリチャージタ
イムの隠蔽を実現する。
ュにおいて、同一セットとして選択される複数のキャッ
シュライン間で、CPUのデータビット幅単位にデータ
をインタリーブして格納することにより、キャッシュデ
ータメモリのバンク数を増大させることなく、見かけ上
のDRAMメモリのアクセスタイム、サイクルタイムを
増大させると同時に、DRAMメモリのプリチャージタ
イムの隠蔽を実現する。
【0024】
【実施例】図3に本願発明に係わる実施例について示
す。この実施例においてはキャッシュタグメモリとして
4kx36b構成のSRAMブロック4個を用い、キャ
ッシュデータメモリとして64kx18b構成のDRA
Mブロック4個を用いてそれぞれ構成する。この構成に
よれば、ライン長128ビットの2ウエイ・セットアソ
シアテイブ512KBの二次キャッシュを実現すること
になる。
す。この実施例においてはキャッシュタグメモリとして
4kx36b構成のSRAMブロック4個を用い、キャ
ッシュデータメモリとして64kx18b構成のDRA
Mブロック4個を用いてそれぞれ構成する。この構成に
よれば、ライン長128ビットの2ウエイ・セットアソ
シアテイブ512KBの二次キャッシュを実現すること
になる。
【0025】次にタグメモリとデータメモリの内容をそ
れぞれ図4−A,図4−Bに示す。図4−Aに示すよう
に、同一セットの2つのキャッシュラインに相当するタ
グ情報を、タグメモリのSRAMの同一アドレスに配置
する。この同一セットの2つのキャッシュラインが図4
−Bに示されるように、36ビット(データ分32ビッ
ト+パリテイ分4ビット)単位でDRAMブロックのそ
れぞれ連続した4つのアドレス上に配置される。この連
続した4つのアドレスは物理的にはDRAMの同一行中
に存在するものであり、ページモードによって高速アク
セスが可能となる。ページモードの使用が前提となるの
はこのモードによれば、表1に示したようなリードオ
フ、バーストの各サイクルのアクセスタイムの傾向に合
致するためにである。
れぞれ図4−A,図4−Bに示す。図4−Aに示すよう
に、同一セットの2つのキャッシュラインに相当するタ
グ情報を、タグメモリのSRAMの同一アドレスに配置
する。この同一セットの2つのキャッシュラインが図4
−Bに示されるように、36ビット(データ分32ビッ
ト+パリテイ分4ビット)単位でDRAMブロックのそ
れぞれ連続した4つのアドレス上に配置される。この連
続した4つのアドレスは物理的にはDRAMの同一行中
に存在するものであり、ページモードによって高速アク
セスが可能となる。ページモードの使用が前提となるの
はこのモードによれば、表1に示したようなリードオ
フ、バーストの各サイクルのアクセスタイムの傾向に合
致するためにである。
【0026】このような二次キャッシュを構成し、一次
キャッシュでキャッシュミスし、二次キャッシュでヒッ
トした場合を想定する。この時、そのヒットした結果の
データが32ビットx4のバースト転送で一次キャッシ
ュにラインフィルされる。この時のタイミングチャート
を図5に示す。この例においてはプロセッサのバスクロ
ックは33MHzと仮定し、二次キャッシュの動作クロ
ックは66MHzと仮定する。この図にしたがって説明
すると、プロセッサのT1バスサイクルの後半でタグメ
モリとキャッシュデータメモリのアクセスを開始する。
キャッシュデータメモリは同一セットの二つのキャッシ
ュラインの該当ワード位置を同時にリードする。この例
では,キャッシュラインAとBの最初のワードDA1,
DB1をリードしている。どちらのキャッシュラインで
ヒットしたのかが確定した後に、該当キャッシュライン
の残りワード(DA2,DA3,DA4)をDRAMブ
ロックよりページモードを使用して読みだす。この例に
おいてDRAMメモリのブロックの第一ワードのアクセ
スタイムと後続ワードのアクセスタイムがそれぞれ3
0,15nsなので、要求特性に合致する。
キャッシュでキャッシュミスし、二次キャッシュでヒッ
トした場合を想定する。この時、そのヒットした結果の
データが32ビットx4のバースト転送で一次キャッシ
ュにラインフィルされる。この時のタイミングチャート
を図5に示す。この例においてはプロセッサのバスクロ
ックは33MHzと仮定し、二次キャッシュの動作クロ
ックは66MHzと仮定する。この図にしたがって説明
すると、プロセッサのT1バスサイクルの後半でタグメ
モリとキャッシュデータメモリのアクセスを開始する。
キャッシュデータメモリは同一セットの二つのキャッシ
ュラインの該当ワード位置を同時にリードする。この例
では,キャッシュラインAとBの最初のワードDA1,
DB1をリードしている。どちらのキャッシュラインで
ヒットしたのかが確定した後に、該当キャッシュライン
の残りワード(DA2,DA3,DA4)をDRAMブ
ロックよりページモードを使用して読みだす。この例に
おいてDRAMメモリのブロックの第一ワードのアクセ
スタイムと後続ワードのアクセスタイムがそれぞれ3
0,15nsなので、要求特性に合致する。
【0027】このように、DRAMメモリをチップ上に
実装するという技術を用いることによって要求特性に適
合した高速の二次キャッシュを実現できる。例えば、同
一チップ上DRAMメモリをインテグレートすることに
よって、これらが別チップに構成されていた場合に必要
であった、チップ間の信号遅延が省略される。キャッシ
ュデータメモリとしDRAMメモリに与えられるアドレ
ス信号や制御信号などは制御回路から与えられるが、別
チップ構成の場合にはこれらの信号には制御回路のI/
Oドライバの遅延時間(例えば5ns程度)と、DRA
MメモリチップのI/Oレシーバの遅延時間(例えば2
ns程度)が加算される。同一チップ上にインテグレー
トされる場合はこれらは明らかに不要となるから、高速
のアクセスの実現が可能となる。
実装するという技術を用いることによって要求特性に適
合した高速の二次キャッシュを実現できる。例えば、同
一チップ上DRAMメモリをインテグレートすることに
よって、これらが別チップに構成されていた場合に必要
であった、チップ間の信号遅延が省略される。キャッシ
ュデータメモリとしDRAMメモリに与えられるアドレ
ス信号や制御信号などは制御回路から与えられるが、別
チップ構成の場合にはこれらの信号には制御回路のI/
Oドライバの遅延時間(例えば5ns程度)と、DRA
MメモリチップのI/Oレシーバの遅延時間(例えば2
ns程度)が加算される。同一チップ上にインテグレー
トされる場合はこれらは明らかに不要となるから、高速
のアクセスの実現が可能となる。
【0028】この点を図8を用いてデータを二次キャッ
シュから読み出す場合について具体的に説明する。この
説明では、従来のデータメモリが同一チップ上に実装さ
れていないDRAMメモリチップを用いたキャッシュに
ついての読み込み動作を考える。まず、制御論理に読み
取られるべきアドレスおよびコマンドが生成される。こ
れが、I/OドライバとI/Oレシーバを介してDRA
Mデータキャッシュに与えられる。次に、DRAMデー
タキャッシュでデータが見つかり、それが再度I/Oド
ライバ・I/Oレシーバを介して論理回路に戻る。そし
て、さらにI/Oドライバを介してデータが最終的にC
PUに出力される。本願発明によれば、同一チップ上に
キャッシュをインテグレートとした場合はかかるI/O
ドライバ・レシーバの計5回の通過が最終のI/Oドラ
イバの一回のみと少なくなるので、上の遅延時間を考慮
に入れれば、10〜20nsの遅延がなくなる。
シュから読み出す場合について具体的に説明する。この
説明では、従来のデータメモリが同一チップ上に実装さ
れていないDRAMメモリチップを用いたキャッシュに
ついての読み込み動作を考える。まず、制御論理に読み
取られるべきアドレスおよびコマンドが生成される。こ
れが、I/OドライバとI/Oレシーバを介してDRA
Mデータキャッシュに与えられる。次に、DRAMデー
タキャッシュでデータが見つかり、それが再度I/Oド
ライバ・I/Oレシーバを介して論理回路に戻る。そし
て、さらにI/Oドライバを介してデータが最終的にC
PUに出力される。本願発明によれば、同一チップ上に
キャッシュをインテグレートとした場合はかかるI/O
ドライバ・レシーバの計5回の通過が最終のI/Oドラ
イバの一回のみと少なくなるので、上の遅延時間を考慮
に入れれば、10〜20nsの遅延がなくなる。
【0029】同一チップ上に実装した場合にDRAMの
アクセス性能が向上する別の理由としては論理チップ上
にインテグレートされるDRAMメモリが汎用のDRA
Mメモリチップほどには容量/チップ面積の制約が厳し
くないことも挙げられる。例えば、最終的に16Mビッ
トのDRAMメモリを構成する場合においても、1Mb
以下のブロックを単位として実装することができる。こ
の結果、ワードラインドライバ、センスアンプなどの負
荷が小さくなり、結果として元の汎用DRAMの特性よ
りもかなりの向上が望める。
アクセス性能が向上する別の理由としては論理チップ上
にインテグレートされるDRAMメモリが汎用のDRA
Mメモリチップほどには容量/チップ面積の制約が厳し
くないことも挙げられる。例えば、最終的に16Mビッ
トのDRAMメモリを構成する場合においても、1Mb
以下のブロックを単位として実装することができる。こ
の結果、ワードラインドライバ、センスアンプなどの負
荷が小さくなり、結果として元の汎用DRAMの特性よ
りもかなりの向上が望める。
【0030】また、汎用DRAMを用いた際の問題点で
あったビット幅の問題も論理チップ上にDRAMメモリ
をインテグレートすることによって解消される。論理チ
ップ内にインテグレートする場合、全てのデータビット
をI/Oセルを通じて外部にとりだす必要がなくなる。
言いかえれば、プロセッサとの間のデータ転送に必要な
ビット数のみをI/Oセルを通して外部に取り出すだけ
でよい。この結果、かなり広いビット幅を自由に使用す
ることが可能となり、セットアソシエイテイブキャッシ
ュなどの実現が容易となる。
あったビット幅の問題も論理チップ上にDRAMメモリ
をインテグレートすることによって解消される。論理チ
ップ内にインテグレートする場合、全てのデータビット
をI/Oセルを通じて外部にとりだす必要がなくなる。
言いかえれば、プロセッサとの間のデータ転送に必要な
ビット数のみをI/Oセルを通して外部に取り出すだけ
でよい。この結果、かなり広いビット幅を自由に使用す
ることが可能となり、セットアソシエイテイブキャッシ
ュなどの実現が容易となる。
【0031】さらにデータメモリを同一チップ上に実装
しない場合は、多数のビットをI/Oドライバを介して
ドライブすることになるが、これは電源ノイズの制約上
困難である。また、汎用DRAMチップの場合、パッケ
ージコストの制約からむやみに広いデータビット幅を用
いることは妥当でない。
しない場合は、多数のビットをI/Oドライバを介して
ドライブすることになるが、これは電源ノイズの制約上
困難である。また、汎用DRAMチップの場合、パッケ
ージコストの制約からむやみに広いデータビット幅を用
いることは妥当でない。
【0032】次にDRAMメモリのアクセスタイムがL
2キャッシュを実現するのに要求される速度よりも遅い
場合について有効にプロセッサの性能を発揮する工夫に
ついて述べる。この場合は図6に示すようにキャッシュ
データメモリ内の特別なデータ配置を用いる。このよう
に「交互に」配置する方式をインタリーブという。この
実施例においては同一セットの二つのキャッシュライン
の間で、ワード単位でインタリーブして配置し、同一キ
ャッシュラインの隣り合う2ワードが同時にアクセス可
能な独立したDRAMブロックに配置されるようにす
る。
2キャッシュを実現するのに要求される速度よりも遅い
場合について有効にプロセッサの性能を発揮する工夫に
ついて述べる。この場合は図6に示すようにキャッシュ
データメモリ内の特別なデータ配置を用いる。このよう
に「交互に」配置する方式をインタリーブという。この
実施例においては同一セットの二つのキャッシュライン
の間で、ワード単位でインタリーブして配置し、同一キ
ャッシュラインの隣り合う2ワードが同時にアクセス可
能な独立したDRAMブロックに配置されるようにす
る。
【0033】この配置はDRAMメモリのアクセスタイ
ムが第一ワードのリードオフサイクルには適合するが、
第二ワード以降のバーストサイクルをノーウエイトで実
現するには、ページモードアクセスタイムが遅すぎる場
合の解決策として特に有効である。
ムが第一ワードのリードオフサイクルには適合するが、
第二ワード以降のバーストサイクルをノーウエイトで実
現するには、ページモードアクセスタイムが遅すぎる場
合の解決策として特に有効である。
【0034】具体的には第一ワードのリードオフサイク
ルでDA1,DB1の2ワードがDRAMメモリからア
クセスされる。今、セットAでキャッシュヒットしたと
仮定すると、この場合後続のバーストサイクルではDA
2,DA3,DA4の3ワードがアクセスされる必要が
あるが、DA2のアクセスと並行してDA3のアクセス
を行うことが可能となる。結果として、DRAMメモリ
のページモードアクセスタイムを短縮したのと同じ効果
が実現される。
ルでDA1,DB1の2ワードがDRAMメモリからア
クセスされる。今、セットAでキャッシュヒットしたと
仮定すると、この場合後続のバーストサイクルではDA
2,DA3,DA4の3ワードがアクセスされる必要が
あるが、DA2のアクセスと並行してDA3のアクセス
を行うことが可能となる。結果として、DRAMメモリ
のページモードアクセスタイムを短縮したのと同じ効果
が実現される。
【0035】インタリーブ方式自体は古くから知られる
手法であり、インタリーブのウエイ数分のメモリバンク
を用意すれば簡単に実現されるが、本方式の特に優れて
いる点はセットアソシエーテイブキャッシュ用にすでに
用意されている複数のメモリバンクを用いて、さらに、
同一セットの属する複数キャッシュライン間のインタリ
ーブを行うことにより、新たに、メモリバンクを分割す
る必要がないことである。
手法であり、インタリーブのウエイ数分のメモリバンク
を用意すれば簡単に実現されるが、本方式の特に優れて
いる点はセットアソシエーテイブキャッシュ用にすでに
用意されている複数のメモリバンクを用いて、さらに、
同一セットの属する複数キャッシュライン間のインタリ
ーブを行うことにより、新たに、メモリバンクを分割す
る必要がないことである。
【0036】かかる方式を採用することによってDRA
M固有の問題であるプリチャージタイムの問題も解決で
きる。プリチャージタイムとは、DRAMがアクセスさ
れてから、次のアクセスを受け入れられるようになるま
でに必要な休止期間のことをいう。プロセッサから二次
キャッシュへのアクセスが連続的に発生しているような
状況においてはプリチャージタイム自体がキャッシュ全
体の休止時間となってしまい,プロセッサの性能を十分
に発揮できない原因となる。本方式を採用することによ
って、見かけ上アクセスタイムが速くなるので先行アク
セスが可能となり、予めアクセスしたおいたワードをプ
ロセッサに帰している間にプリチャージタイムを確保す
ることが可能となる。
M固有の問題であるプリチャージタイムの問題も解決で
きる。プリチャージタイムとは、DRAMがアクセスさ
れてから、次のアクセスを受け入れられるようになるま
でに必要な休止期間のことをいう。プロセッサから二次
キャッシュへのアクセスが連続的に発生しているような
状況においてはプリチャージタイム自体がキャッシュ全
体の休止時間となってしまい,プロセッサの性能を十分
に発揮できない原因となる。本方式を採用することによ
って、見かけ上アクセスタイムが速くなるので先行アク
セスが可能となり、予めアクセスしたおいたワードをプ
ロセッサに帰している間にプリチャージタイムを確保す
ることが可能となる。
【0037】さて、このようにSRAMではなく、DR
AMメモリを使用することの短所としてはDRAMはメ
モリのリフレッシュが必要であるということである。リ
フレッシュ動作は典型的には一つのメモリ行について、
16ms程度の周期で必要であり、その所要時間は10
0nsくらいである。リフレッシュは1行ごとに行う必
要があるので、1024行を有するDRAMメモリの場
合はその16msの時間のうちに順次に1024回のリ
フレッシュ動作を行うことになる。リフレッシュを行っ
ている間は二次キャッシュはプロセッサに対してサービ
スができないので、そのサービス不能な累積時間は10
0nsx1024=0.1ms程度となり、これは16
msのリフレッシュ周期の約0.6%を占める。このよ
うなリフレッシュ動作が直ちにそのリフレッシュ周期に
占める時間の割合分プロセッサの性能を低下させるわけ
ではない。しかし、頻繁に二次キャッシュがアクセスさ
れるような環境においてはいくらかのプロセッサ性能の
低下を来す可能性がある以上、これを有効に防止するこ
とが望ましい。
AMメモリを使用することの短所としてはDRAMはメ
モリのリフレッシュが必要であるということである。リ
フレッシュ動作は典型的には一つのメモリ行について、
16ms程度の周期で必要であり、その所要時間は10
0nsくらいである。リフレッシュは1行ごとに行う必
要があるので、1024行を有するDRAMメモリの場
合はその16msの時間のうちに順次に1024回のリ
フレッシュ動作を行うことになる。リフレッシュを行っ
ている間は二次キャッシュはプロセッサに対してサービ
スができないので、そのサービス不能な累積時間は10
0nsx1024=0.1ms程度となり、これは16
msのリフレッシュ周期の約0.6%を占める。このよ
うなリフレッシュ動作が直ちにそのリフレッシュ周期に
占める時間の割合分プロセッサの性能を低下させるわけ
ではない。しかし、頻繁に二次キャッシュがアクセスさ
れるような環境においてはいくらかのプロセッサ性能の
低下を来す可能性がある以上、これを有効に防止するこ
とが望ましい。
【0038】本願発明においてはDRAMメモリを採用
したことから生じるこの弊害を二次キャッシュに対して
なんらアクテイビテイーが発生しないことが保証される
期間にリフレッシュ動作を実行するという手法によって
解決する。ここで、「アクテイビテイーが発生しない期
間」とは、具体的にいえば二次キャッシュミス、I/O
アクセス等でプロセッサ、二次キャッシュともに外部か
らの終了信号を待っているような場面をいう。
したことから生じるこの弊害を二次キャッシュに対して
なんらアクテイビテイーが発生しないことが保証される
期間にリフレッシュ動作を実行するという手法によって
解決する。ここで、「アクテイビテイーが発生しない期
間」とは、具体的にいえば二次キャッシュミス、I/O
アクセス等でプロセッサ、二次キャッシュともに外部か
らの終了信号を待っているような場面をいう。
【0039】図7に二次キャッシュがミスし、メインメ
モリに対してデータアクセスを行っている最中にリフレ
ッシュ動作をなす時のタイミング図を示す。このよう
に、メインメモリに対するデータアクセスは相当の長い
時間を必要とし、それが完了した時にメインメモリから
プロセッサに対してRDY信号が発せられるのである
が、示されているとおりメインメモリへのアクセスから
RDY信号の発生までの期間においてリフレッシュサイ
クルが設定されている。このリフレッシュは各メモリ行
ごとに行うものであるため、どのアドレス行をリフレッ
シュするかを特定するリフレッシュアドレスカウンタが
設けられる。そして、このカウンタは一つの行について
リフレッシュ動作が完了する度に+1インクリメントさ
れる。リフレッシュ周期である16ms経過後にカウン
タが最終行を示していないときはリフレッシュできてい
ないメモリ行が存在することになるので、この場合に初
めて残りのメモリ行をまとめてリフレッシュする。この
ような方式を採用することによってリフレッシュサイク
ルを隠蔽し、それによってプロセッサの性能の低下を最
小限にすることができる。
モリに対してデータアクセスを行っている最中にリフレ
ッシュ動作をなす時のタイミング図を示す。このよう
に、メインメモリに対するデータアクセスは相当の長い
時間を必要とし、それが完了した時にメインメモリから
プロセッサに対してRDY信号が発せられるのである
が、示されているとおりメインメモリへのアクセスから
RDY信号の発生までの期間においてリフレッシュサイ
クルが設定されている。このリフレッシュは各メモリ行
ごとに行うものであるため、どのアドレス行をリフレッ
シュするかを特定するリフレッシュアドレスカウンタが
設けられる。そして、このカウンタは一つの行について
リフレッシュ動作が完了する度に+1インクリメントさ
れる。リフレッシュ周期である16ms経過後にカウン
タが最終行を示していないときはリフレッシュできてい
ないメモリ行が存在することになるので、この場合に初
めて残りのメモリ行をまとめてリフレッシュする。この
ような方式を採用することによってリフレッシュサイク
ルを隠蔽し、それによってプロセッサの性能の低下を最
小限にすることができる。
【0040】ここで、かかる方式によってリフレッシュ
サイクルがどの程度隠蔽可能となるかを計算によって示
す。本願発明にしたがって二次キャッシュが0ウエイト
で一次キャッシュにラインフィルする状態においては、
150nsで一回の一次キャッシュのラインフィルが完
成する。すなわち、16msのリフレッシュ周期の間に
166000回程度の一次キャッシュのラインフィルを
実行する能力を有する。この最大能力の1/5程度で一
次キャッシュから二次キャッシュへのアクセスが発生す
ると仮定しても(これは極めて小さめの仮定である)、
その回数は16msのリフレッシュ周期の間に3000
0回程度となるであろう。従って、この30000回の
二次キャッシュに対するアクセス中に1024回以上二
次キャッシュミスが発生すれば、リフレッシュ周期中に
全てのメモリ行のリフレッシュが可能となる。通常、二
次キャッシュのヒット率は高々90%程度であり、そう
すると3000回の二次キャッシュミスがリフレッシュ
周期中に発生することとなり、これは必要である102
4回を大きく上回る。従って、この方式によればリフレ
ッシュサイクルはほぼ完全に隠蔽可能である。
サイクルがどの程度隠蔽可能となるかを計算によって示
す。本願発明にしたがって二次キャッシュが0ウエイト
で一次キャッシュにラインフィルする状態においては、
150nsで一回の一次キャッシュのラインフィルが完
成する。すなわち、16msのリフレッシュ周期の間に
166000回程度の一次キャッシュのラインフィルを
実行する能力を有する。この最大能力の1/5程度で一
次キャッシュから二次キャッシュへのアクセスが発生す
ると仮定しても(これは極めて小さめの仮定である)、
その回数は16msのリフレッシュ周期の間に3000
0回程度となるであろう。従って、この30000回の
二次キャッシュに対するアクセス中に1024回以上二
次キャッシュミスが発生すれば、リフレッシュ周期中に
全てのメモリ行のリフレッシュが可能となる。通常、二
次キャッシュのヒット率は高々90%程度であり、そう
すると3000回の二次キャッシュミスがリフレッシュ
周期中に発生することとなり、これは必要である102
4回を大きく上回る。従って、この方式によればリフレ
ッシュサイクルはほぼ完全に隠蔽可能である。
【0041】キャッシュメモリをDRAMメモリで構成
する、という点に着目すると例えば遠隔処理システムに
おいて中央の大容量メモリと各プロセッサノードの物理
的な距離が大きいために生じる遅延が問題となる場合
に、各プロセッサノードと頻繁にやり取りするデータを
格納するプライベートなキャッシュメモリを中央の大容
量メモリとは別にDRAMメモリで構成し各プロセッサ
ノード付近へ設置する、という方式が想定される。この
場合、遅延はその大部分は中央の大容量メモリとプロセ
ッサノードとの物理的な距離によって発生するために、
DRAMメモリで構成するプライベートキャッシュメモ
リはさほど高速なものではなくとも、アクセス速度の向
上に寄与することが可能であろう。もちろん、本願発明
のものをかかる用途に使用すれば、アクセス速度の向上
がいっそう果たせることは明白である。
する、という点に着目すると例えば遠隔処理システムに
おいて中央の大容量メモリと各プロセッサノードの物理
的な距離が大きいために生じる遅延が問題となる場合
に、各プロセッサノードと頻繁にやり取りするデータを
格納するプライベートなキャッシュメモリを中央の大容
量メモリとは別にDRAMメモリで構成し各プロセッサ
ノード付近へ設置する、という方式が想定される。この
場合、遅延はその大部分は中央の大容量メモリとプロセ
ッサノードとの物理的な距離によって発生するために、
DRAMメモリで構成するプライベートキャッシュメモ
リはさほど高速なものではなくとも、アクセス速度の向
上に寄与することが可能であろう。もちろん、本願発明
のものをかかる用途に使用すれば、アクセス速度の向上
がいっそう果たせることは明白である。
【0042】
【発明の効果】本願発明によれば、従来DRAMメモリ
で構成しえなかったキャッシュメモリをDRAMメモリ
を用いて構成できる。そして、これによってキャッシュ
メモリを非常に小型で安価なものにすることが可能であ
ろう。
で構成しえなかったキャッシュメモリをDRAMメモリ
を用いて構成できる。そして、これによってキャッシュ
メモリを非常に小型で安価なものにすることが可能であ
ろう。
【0043】また、本願発明によれば、プロセッサに対
して0ウエイトで動作可能な二次キャッシュを小さな面
積、低消費電力を有するDRAMメモリで実現可能であ
る。ページモードを使用する際にキャッシュデータメモ
リへの格納を同一セットに属する複数のキャッシュライ
ン間でインターリーブにすることによって、プロセッサ
のサイクルタイムよりも実質的に遅いDRAMメモリを
用いて0ウエイト動作可能となる。さらに、二次キャッ
シュに対して何等のアクテイビテイーも発生しないこと
が保証される期間に、DRAMメモリのリフレッシュを
行う方式によって、DRAMメモリ固有のリフレッシュ
のオーバヘッドがほぼ完全に解消される。そして、これ
らの結合によってプロセッサの性能をフルに活用できる
二次キャッシュを構成可能とする。
して0ウエイトで動作可能な二次キャッシュを小さな面
積、低消費電力を有するDRAMメモリで実現可能であ
る。ページモードを使用する際にキャッシュデータメモ
リへの格納を同一セットに属する複数のキャッシュライ
ン間でインターリーブにすることによって、プロセッサ
のサイクルタイムよりも実質的に遅いDRAMメモリを
用いて0ウエイト動作可能となる。さらに、二次キャッ
シュに対して何等のアクテイビテイーも発生しないこと
が保証される期間に、DRAMメモリのリフレッシュを
行う方式によって、DRAMメモリ固有のリフレッシュ
のオーバヘッドがほぼ完全に解消される。そして、これ
らの結合によってプロセッサの性能をフルに活用できる
二次キャッシュを構成可能とする。
【図1】プロセッサと一次キャッシュ、二次キャッシュ
との一般的な接続を示す図である。
との一般的な接続を示す図である。
【図2】0ウエイト動作で一次キャッシュに対してライ
ンフィルする時のタイミング図である。
ンフィルする時のタイミング図である。
【図3】二次キャッシュのインプレメンテーションの一
実施例である。
実施例である。
【図4】二次キャッシュのタグメモリ、データメモリ内
のデータの配置を示す図である。
のデータの配置を示す図である。
【図5】本願発明による0ウエイト動作に係わる二次キ
ャッシュのアクセスのタイミング図である。
ャッシュのアクセスのタイミング図である。
【図6】同一セットのキャッシュラインにインターリー
ブされた配置でデータを格納した実施例である。
ブされた配置でデータを格納した実施例である。
【図7】本願発明によるDRAMリフレッシュのタイミ
ング図である。
ング図である。
【図8】DRAMを外付けしてI/OドライバとI/O
レシーバを介してデータのやり取りを行った場合の図で
ある。
レシーバを介してデータのやり取りを行った場合の図で
ある。
Claims (8)
- 【請求項1】プロセッサと該プロセッサに接続されデー
タが相互に転送される一次キャッシュと前記一次キャッ
シュよりも大容量であって、前記一次キャッシュに接続
され、前記一次キャッシュ内に前記プロセッサが要求し
たデータが存在しない場合にアクセスされる二次キャッ
シュを含むデータ処理システムにおいて、前記二次キャ
ッシュはその制御をつかさどる制御論理回路と、前記二
次キャッシュのアドレス情報を格納するタグメモリと、
プロセッサの要求対象となるデータを格納するデータメ
モリを具備し、前記データメモリはDRAMメモリで構
成され、前記制御論理回路、前記タグメモリと同一のチ
ップ上に集積されている、データ処理システム。 - 【請求項2】前記データメモリは2Mb以下の単位のセ
ルで構成されている、請求項1のデータ処理システム。 - 【請求項3】前記データメモリは連続して読み取るべき
数ワードのデータを交互にインタリーブして格納してい
る、請求項1のデータ処理システム。 - 【請求項4】前記データメモリは、前記二次キャッシュ
に対して外部からのアクテイビテイーが未発生な時間を
選択してリフレッシュ動作を行う、請求項1のデータ処
理システム。 - 【請求項5】前記リフレッシュ動作はリフレッシュの対
象となるアドレス行を特定するカウンタの指示に基づい
て行い、リフレッシュ周期が経過した後に前記カウンタ
が最終アドレス行を示していない場合にリフレッシュの
完了していないメモリ行をまとめてリフレッシュする、
請求項4のデータ処理システム。 - 【請求項6】プロセッサとメインメモリの中間に接続さ
れるキャッシュメモリであって、少なくともその制御を
つかさどる制御論理回路、アドレス情報を格納するタグ
メモリ、プロセッサの要求対象となるデータメモリが同
一チップ上に集積されて構成されており、前記データメ
モリはDRAMから構成されている、キャッシュメモ
リ。 - 【請求項7】中央の大容量メインメモリとは別に各プロ
セッサノード付近にDRAMをキャッシュデータメモリ
として適用し、頻繁に転送するデータを格納するプライ
ベートキャッシュメモリを設置した、遠隔データ処理シ
ステム。 - 【請求項8】前記プライベートキャッシュメモリは少な
くともその制御をつかさどる制御論理回路、アドレス情
報を格納するタグメモリ、プロセッサの要求対象となる
データメモリが同一チップ上に集積されて構成されてい
る、請求項7の遠隔データ処理システム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5303685A JPH07200404A (ja) | 1993-12-03 | 1993-12-03 | Dramを利用したキャッシュメモリ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5303685A JPH07200404A (ja) | 1993-12-03 | 1993-12-03 | Dramを利用したキャッシュメモリ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH07200404A true JPH07200404A (ja) | 1995-08-04 |
Family
ID=17924010
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5303685A Pending JPH07200404A (ja) | 1993-12-03 | 1993-12-03 | Dramを利用したキャッシュメモリ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH07200404A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5983023A (en) * | 1997-01-17 | 1999-11-09 | Mitsubishi Denki Kabushiki Kaisha | Memory-contained processor |
| KR100345976B1 (ko) * | 1998-12-08 | 2002-07-26 | 닛폰 덴키(주) | 반도체 메모리 장치 |
| EP2339474A1 (en) | 2009-12-25 | 2011-06-29 | Fujitsu Limited | Cache unit, arithmetic processing unit, and information processing unit |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01142846A (ja) * | 1987-11-28 | 1989-06-05 | Nippon Telegr & Teleph Corp <Ntt> | 情報処理装置のキャッシュメモリ制御方式 |
| JPH01243147A (ja) * | 1988-03-25 | 1989-09-27 | Hitachi Ltd | バッファ記憶装置 |
| JPH03205680A (ja) * | 1989-10-02 | 1991-09-09 | Texas Instr Inc <Ti> | 行列配置の複数の記憶セルを有する記憶装置 |
| JPH03273592A (ja) * | 1990-03-22 | 1991-12-04 | Nec Corp | キャッシュメモリ装置 |
-
1993
- 1993-12-03 JP JP5303685A patent/JPH07200404A/ja active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01142846A (ja) * | 1987-11-28 | 1989-06-05 | Nippon Telegr & Teleph Corp <Ntt> | 情報処理装置のキャッシュメモリ制御方式 |
| JPH01243147A (ja) * | 1988-03-25 | 1989-09-27 | Hitachi Ltd | バッファ記憶装置 |
| JPH03205680A (ja) * | 1989-10-02 | 1991-09-09 | Texas Instr Inc <Ti> | 行列配置の複数の記憶セルを有する記憶装置 |
| JPH03273592A (ja) * | 1990-03-22 | 1991-12-04 | Nec Corp | キャッシュメモリ装置 |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5983023A (en) * | 1997-01-17 | 1999-11-09 | Mitsubishi Denki Kabushiki Kaisha | Memory-contained processor |
| KR100345976B1 (ko) * | 1998-12-08 | 2002-07-26 | 닛폰 덴키(주) | 반도체 메모리 장치 |
| US6601197B1 (en) | 1998-12-08 | 2003-07-29 | Nec Electronics Corporation | Semiconductor memory device |
| EP2339474A1 (en) | 2009-12-25 | 2011-06-29 | Fujitsu Limited | Cache unit, arithmetic processing unit, and information processing unit |
| US8862829B2 (en) | 2009-12-25 | 2014-10-14 | Fujitsu Limited | Cache unit, arithmetic processing unit, and information processing unit |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Carvalho | The gap between processor and memory speeds | |
| JP3065736B2 (ja) | 半導体記憶装置 | |
| US6477621B1 (en) | Parallel access virtual channel memory system | |
| KR100399034B1 (ko) | 효율적 메모리 셀 어레이 관리 방법 | |
| KR102722737B1 (ko) | 구성 가능한 메모리 어레이 뱅크 아키텍처를 위한 장치 및 방법 | |
| US7573753B2 (en) | Semiconductor device | |
| JP3304413B2 (ja) | 半導体記憶装置 | |
| US20040095818A1 (en) | Memory controller and data processing system | |
| US9836416B2 (en) | Memory devices and systems including multi-speed access of memory modules | |
| US8305834B2 (en) | Semiconductor memory with memory cell portions having different access speeds | |
| US6708254B2 (en) | Parallel access virtual channel memory system | |
| JP3629519B2 (ja) | プログラマブルsram及びdramキャッシュ・インタフェース | |
| US20100332718A1 (en) | System and method for providing configurable latency and/or density in memory devices | |
| JP2005517242A (ja) | アドレス空間、バスシステム、メモリコントローラ及びデバイスシステム | |
| JPH10312681A (ja) | 付随するsramキャッシュと内部リフレッシュ制御とを備えたdramメモリ・アレイを用いるエンハンス型信号処理ramデバイス | |
| CN100437518C (zh) | 低功率组关联缓存 | |
| US20230420017A1 (en) | Computer memory arrays employing memory banks and integrated serializer/de-serializer circuits for supporting serialization/de-serialization of read/write data in burst read/write modes, and related methods | |
| US6925028B2 (en) | DRAM with multiple virtual bank architecture for random row access | |
| US5802586A (en) | Cache memory having a read-modify-write operation and simultaneous burst read and write operations and a method therefor | |
| JPH0786847B2 (ja) | キャッシュメモリ | |
| US6094703A (en) | Synchronous SRAM having pipelined memory access enable for a burst of addresses | |
| JPH07200404A (ja) | Dramを利用したキャッシュメモリ | |
| US6542958B1 (en) | Software control of DRAM refresh to reduce power consumption in a data processing system | |
| JP4012393B2 (ja) | 記憶装置、記憶装置の内部制御方法、システム、及びシステムにおける記憶手段の制御方法 | |
| JPH08328949A (ja) | 記憶装置 |