JPH08185355A - データメモリおよびその動作方法 - Google Patents
データメモリおよびその動作方法Info
- Publication number
- JPH08185355A JPH08185355A JP7251463A JP25146395A JPH08185355A JP H08185355 A JPH08185355 A JP H08185355A JP 7251463 A JP7251463 A JP 7251463A JP 25146395 A JP25146395 A JP 25146395A JP H08185355 A JPH08185355 A JP H08185355A
- Authority
- JP
- Japan
- Prior art keywords
- memory cell
- data
- memory
- cell group
- read
- 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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 159
- 238000011017 operating method Methods 0.000 title abstract 2
- 239000000872 buffer Substances 0.000 claims abstract description 100
- 230000004044 response Effects 0.000 claims abstract description 6
- 238000000034 method Methods 0.000 claims description 8
- 235000014121 butter Nutrition 0.000 abstract 2
- 238000010586 diagram Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- ADTDNFFHPRZSOT-PVFUSPOPSA-N ram-330 Chemical compound C([C@H]1N(CC2)C)C3=CC=C(OC)C(OC)=C3[C@]32[C@@]1(O)CC[C@@H](OC(=O)OCC)C3 ADTDNFFHPRZSOT-PVFUSPOPSA-N 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6028—Prefetching based on hints or prefetch instructions
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Dram (AREA)
- Memory System (AREA)
Abstract
ータメモリおよびその動作方法を開示する。 【解決手段】 所定のメモリセルグループとしてアクセ
スできるアドレス指定が可能なメモリセルのアレイ40
を有するデータメモリ20は、少なくとも最も最近に読
出されたメモリセルグループと、もう1つの前に読出さ
れたメモリセルグループとの内容をストアするための出
力バッファ手段50、60と、必要なメモリセルを含む
前記メモリセルグループの前記内容が、前記出力バッフ
ァ手段50、60内にストアされていない旨の表示に応
答して、前記必要なメモリセルを含む前記メモリセルグ
ループの前記内容を前記出力バッファ手段50、60内
へ読出す読出手段30とを含み、少なくとも前記必要な
メモリセルの前記内容は前記出力バッファ手段50、6
0から出力として供給される。
Description
アクセスに関する。
置(CPU)のパフォーマンスを改善するために、キャ
ッシュメモリを用いることは公知である。キャッシュメ
モリは、比較的小さい、高速度のランダムアクセスメモ
リ(RAM)であり、CPUにより頻繁に要求されるデ
ータをストアするために用いられる。通常は、キャッシ
ュRAMは、(例えば、外部メモリ管理ユニット(MM
U)を経ずに)CPUにより直接アクセスされ、CPU
とキャッシュメモリとの間の信号伝搬時間を短縮するた
めに、CPUに物理的に接近して配置される。これらの
特徴は、データが極めて速く、キャッシュRAMにスト
アされ、またそれから検索できることを意味する。
キャッシュ「ライン」として組織され、それぞれのライ
ンは、例えば、8つのデータワードをストアできる。キ
ャッシュRAMがアクセスされる時は、データライン全
体が読出され、出力ビットライン上に配置される。もし
次のキャッシュRAMアクセスが、同じキャッシュライ
ンからのデータワードを要求しても、その時そのライン
を再読出しする必要はない。そのワードは、出力ビット
ラインから簡単に読出すことができる。
読出す動作は、キャッシュRAMの全電力要求のかなり
の割合を消費する。これは、読出し動作が、高度に容量
性であるビットライン自体をチャージ(充電)する前
の、データを読出すためのセンスアンプのプリチャージ
を含むからである。
ーキテクチャにおいては、データワードおよびプロセッ
サ命令語の双方をストアするために単一のキャッシュR
AMが用いられる。これは、1キャッシュラインからロ
ードされた命令の実行が、プロセッサをして、異なるキ
ャッシュラインからデータをロード、または異なるキャ
ッシュラインにデータをストアする場合に、特に高電力
消費を招く。この状況においては、プロセッサは最初、
キャッシュRAMからの命令を、その命令をストアする
キャッシュラインをして、ビットライン上へ読出される
ことによりロードする。該命令が実行される時、プロセ
ッサはもう1つのキャッシュラインを読出すか、または
もう1つのキャッシュラインに書込む。これは、前記命
令を含むキャッシュラインが、ビットラインから廃棄さ
れ、新しいキャッシュラインがビットライン上へ読取ら
れることを意味する。(プロセッサがキャッシュRAM
に書込む場合には、ビットラインが該書込みプロセスに
おいて用いられるので、現在該ビットライン上に保持さ
れている値もやはり廃棄されなければならない)。ロー
ドまたはストア動作が完了した後は、ビットライン上に
保持されていた新しい値は、再び廃棄されなくてはなら
ず、また原キャッシュラインは再読出しされ、プロセッ
サは後の必要な命令にアクセスしうるようにされる。
は、電力消費と、キャッシュRAMのアクセス時間とを
かなり増大させる可能性がある。電力消費の増加は、全
キャッシュの電力消費の10%から30%の間であると
推定され、これは、すでにシステムの電力の比較的高い
割合を使用するキャッシュRAMの主要な問題である。
また、上述のように、アクセス時間の増大は、主要な要
求が高速度動作であるキャッシュRAMにおいては、特
に不利となる。
タメモリ、特にキャッシュメモリ、の電力消費およびア
クセス時間を減少させることである。この目的は、携帯
用の、電池電源式装置に用いるためのデータメモリに特
に関連する。
メモリは、所定のメモリセルグループとしてアクセスで
きる、アドレス指定が可能なメモリセルのアレイと、少
なくとも最も最近に読出されたメモリセルグループと、
もう1つの前に読出されたメモリセルグループと、の内
容をストアするための出力バッファ手段と、必要なメモ
リセルを含む前記メモリセルグループの前記内容が、前
記出力バッファ内にストアされているか否かの表示に応
答して、前記必要なメモリセルを含む前記メモリセルグ
ループの前記内容を前記出力バッファ手段内へ読出す読
出し手段と、を含み少なくとも前記必要なメモリセルの
前記内容が、前記出力バッファ手段から出力として供給
される。
モリセルのグループ(例えばキャッシュライン)が読出
され、少なくとも1つの他の前に読出されたグループと
共に出力バッファ内にストアされる。これは、上述の問
題を軽減することができ、その場合、1キャッシュライ
ンからロードされたプロセッサ命令の実行は、該プロセ
ッサをして、異なるキャッシュラインからデータをロー
ド、または異なるキャッシュラインへデータをストアさ
せた後に、原キャッシュラインへ復帰させて、後の必要
な命令を読出す。これは、(上述の、前に提案されたメ
モリにおけるようには)原キャッシュラインが廃棄され
ず、出力バッファ手段内に保持されるからである。上述
のように、これは、キャッシュラインの読出し動作の回
数を、命令−データ−命令系列のアクセスの場合におい
て、例えば、3回のアクセスから2回のアクセスへ減少
させることにより、例えば、キャッシュRAMの電力消
費を、劇的に改善できる。
とも2つの出力ラッチを含み、それぞれの出力ラッチは
1メモリセルグループの内容をストアする。実施例にお
いては、該出力ラッチの少なくとも1つは、トランジス
タまたは半導体ラッチのような能動ラッチである。しか
し、代替例としては、該出力ラッチの少なくとも1つ
は、容量性またはダイナミックラッチであってもよい。
このタイプのラッチは、実質的に、メモリセルのアレイ
に接続されたビットラインのキャパシタンスによって形
成できる。
って形成され、そのそれぞれが1メモリセルグループを
ストアする時、前にラッチされたデータに制御された方
法でオーバライトすると有利である。これを行う1つの
方法は、読出し手段が、必要なメモリセルを含むメモリ
セルグループの内容を、最も古く書込まれた出力ラッチ
内に読出す動作ができる実施例において用いられる。
のデータをストアする、別の実施例においては、それぞ
れのカテゴリからのデータは、出力ラッチのそれぞれの
(専用の)1つの中にストアできる。好ましくは、この
構成は、2つのカテゴリのデータ、すなわち、命令語
と、非命令語と、をストアするデータメモリに対して用
いられる。
プが出力バッファ内へ読出されるべきか否かの表示が外
部装置により供給されるように、外部装置から制御でき
るが、1実施例においては、この表示は、データメモリ
自体内において、前記出力バッファ手段内にストアされ
ている前記メモリセルグループのアドレスを表示するア
ドレスデータをストアする手段と、必要なメモリセルの
前記アドレスおよびストアされているアドレスデータに
応答して、該必要なメモリセルを含む前記メモリセルグ
ループの前記内容が前記出力バッファ手段内にストアさ
れているか否かを検出する検出手段とを用いることによ
り得られ、該検出手段は、前記必要なメモリセルを含む
前記メモリセルグループの前記内容が前記出力バッファ
手段内にストアされているか否かの前記表示を発生し且
つ前記読出し手段へ供給する。
データメモリにアクセスする装置からの、現在の必要な
メモリセルが前の必要なメモリセルの隣接アドレスを有
するか否かについての表示に応答する。これは、前記現
在の必要なメモリセルの内容が、前記出力バッファ内に
おいて見出すことができることを、少なくとも部分的に
示す。
タメモリにアクセスする装置からの、現在の必要なメモ
リセルが前の必要なメモリセルの隣接アドレスを有する
か否かについての表示に応答する。この場合、前記検出
手段は、(ある実施例において)順次アクセスが前記出
力バッファ手段内に保持されているキャッシュラインの
終端部をオーバランしたか否かをチェックするほかに
は、現在必要なワードが該バッファ手段内に保持されて
いるか否かをチェックする必要はない可能性がある。
要なメモリセルのアドレスが、該必要なメモリセルを含
む前記メモリセルグループ内の最後のアドレスであるか
否かを検出する手段を含む。前記データメモリは、好ま
しくはキャッシュメモリである。本発明は、中央処理装
置と、以上において定められたデータメモリとを含むデ
ータ処理装置において特に有効に用いられる。
なメモリセルが、前の必要なメモリセルの隣接アドレス
を有すること、を表示する動作を、該前の必要なメモリ
セルの該アドレスが、メモリセルグループ内の前記最後
のアドレスを有することを検出されなかった時にのみ、
行いうる。中央処理装置は、この検出を自身で行う、ま
たは上述の読出し手段による検出を信頼することができ
る。いずれの場合においても、次のアクセスが非順次的
に行われる事実は、前記読出し装置を自動的にトリガし
て、新しいキャッシュラインを前記出力バッファ手段内
へ読出すために用いることができる。
モリセルグループとしてアクセスできるアドレス指定が
可能なメモリセルのアレイを有するデータメモリの動作
方法を提供し、該方法は、少なくとも最も最近に読出さ
れたメモリセルグループと、もう1つの前に読出された
メモリセルグループと、の内容を出力バッファ手段内に
ストアするステップと、必要なメモリセルを含む前記メ
モリセルグループの前記内容が、前記出力バッファ内に
ストアされているか否かの表示に応答して、前記必要な
メモリセルを含む前記メモリセルグループの前記内容を
前記出力バッファ手段内へ読出すステップとを含み、少
なくとも前記必要なメモリセルの前記内容は、前記出力
バッファ手段から出力として供給される。
の、諸目的および諸利点は、添付図面を参照しつつ読ま
れるべき実施例に関しての以下の詳細な説明において明
らかにされる。
(RAM)20に接続された処理コア10を含むデータ
処理装置の概略図である。キャッシュRAM20は、ア
クセス制御装置30と、トランジスタメモリセルのアレ
イを含むメモリアレイ40と、2つのラインバッファ5
0、60と、マルチプレクサ70とを含む。
は、共通集積回路のそれぞれの部分として製造できる。
メモリアレイ40は、いくつかのキャッシュライン45
を含み、そのそれぞれは、256メモリセルから形成さ
れる。従って、キャッシュラインは、それぞれが32ビ
ット(4バイト)のデータを含む8つのデータワードを
ストアする。
は、キャッシュRAMからデータを読取る機構が主とし
て示されている。他の点では、ビットラインを経てのキ
ャッシュRAMへのデータの書込みのための機構は通常
のものである。
制御のもと、キャッシュライン45の1つがアクセスの
ために選択可能であり、そのキャッシュライン内に保持
されているデータは(通常のセンスアンプを経て)ビッ
トライン55上へ出力される。ビットライン55は、ラ
インバッファ50およびラインバッファ60へ並列に供
給される。
および処理されるべきデータの双方をストアするために
用いられる。一般に、処理コア10は、キャッシュRA
M20の1部分にストアされている1つまたはそれ以上
の命令語へのアクセスを要求し、続いて、キャッシュR
AM20の異なる部分にストアされているさまざまなデ
ータワードへのアクセスが行われる。データワードがア
クセスされた後には、処理コア10は、前にアクセスさ
れた命令語に隣接してストアされている、さらなる命令
語へのアクセスへ復帰する。
10は、メモリアレイ40の2つの異なる部分、すなわ
ちデータワードをストアする部分と、命令語をストアす
る部分とに対し交互のアクセスを要求する。(前述され
た、前に提案されたキャッシュメモリにおけるように)
処理コア10がキャッシュRAM20の新しい部分への
アクセスを要求する毎に、もし全キャッシュラインがア
クセスされなくてはならないとすれば、これは、全キャ
ッシュライン45が、交互の命令−データ−命令のアク
セスのために、繰り返して読出されなくてはならないこ
とを意味する。これは、キャッシュRAM20の平均電
力消費(および恐らくは平均アクセス時間をも)増大さ
せる。
アクセス制御装置30の制御のもとに動作する2つのラ
インバッファ50、60を用いる。次に、この構成を詳
細に説明する。
5がアクセスされた時、そのキャッシュラインの内容
は、ラインバッファ50、60の一方にストアされる。
そのバッファは、アクセス制御装置30の制御下にあ
り、「現」バッファと呼ばれる。該現ラインバッファの
内容は、マルチプレクサ70(これもアクセス制御装置
30の制御下にある)を経て、処理コア10の入力へ送
られる。メモリアレイ40から読出される次のキャッシ
ュライン45は、ラインバッファ50、60の他方の1
つの中にストアされ、そのバッファは次に、新しい現バ
ッファになる。これは、前に読出されたキャッシュライ
ンの内容が廃棄されずに、非現ラインバッファ内にスト
アされることを意味する。
50、60のそれぞれの中にストアされている特定のキ
ャッシュライン45のレコードを、いずれのラインバッ
ファが現ラインバッファであるかの表示と共に保持す
る。処理コア10がキャッシュRAM20内にストアさ
れているワードへのアクセスを要求する毎に、処理コア
10は、アクセス制御装置30へアドレスを送信する。
次に、アクセス制御装置30は、そのワードを保持する
キャッシュライン45が既に読出され、かつなお現在ラ
インバッファ50、60の一方内にストアされているか
否かを検出する。もし必要なキャッシュライン45が、
ラインバッファ50、60の一方内にストアされていれ
ば、そのバッファは次に現ラインバッファとなり、マル
チプレクサ70がそのラインバッファの出力を選択し、
必要なワードは、メモリアレイへのアクセスを再び必要
とすることなく、処理コア10へ供給される。しかし、
もしアクセス制御装置30が、必要なワードがラインバ
ッファ50、60のいずれにもストアされていないこと
を検出すれば、アクセス制御装置30は、必要なキャッ
シュライン45がメモリアレイ40から読出されるよう
に、メモリアレイ40を制御する。そのキャッシュライ
ン45内にストアされているデータは、ビットライン5
5上へ出力され、かつアクセス制御装置30の制御のも
とに、非現ラインバッファ内にストアされる(該非現ラ
インバッファは次に、出力のための現ラインバッファと
なる)。
インバッファ50、60のそれぞれは、命令語またはデ
ータワードのいずれかをストアできる。実際には、ライ
ンバッファ50、60の一方は、命令語をストアする傾
向があり、他方は、データワードをストアする傾向があ
るが、その理由は、単にこれら2つのタイプのワード間
で一般に交互するアクセスが要求されるからである。
命令語をストアするための専用ラインバッファと、デー
タワードをストアするための第2専用ラインバッファと
を有する。図2において、処理コア110は、アクセス
制御装置130と、いくつかのキャッシュライン145
から形成されたメモリアレイ140と、2つのラインバ
ッファ150、160とを含むキャッシュRAM120
と通信する。
令語のアドレスを発生し、それはアクセス制御装置13
0により、「非データ命令(instruction−
not−data)」(I/D(バー))信号ラインと
共に処理される。非データ命令信号ラインは、処理コア
がキャッシュRAM120から命令を読出しつつある時
に、一方のラインバッファ(実際には、ラインバッファ
150)が動作を可能化され、処理コア110がキャッ
シュRAM120からデータワードを読出しつつある時
に、他方のラインバッファ(ラインバッファ160)が
動作を可能化されるように、相補的なそれぞれの形式で
ラインバッファ150、160へ供給される。
スに対する必要なデータまたは命令語が、すでに適切な
ラインバッファ150、160内にストアされていれ
ば、そのワードが再びアクセスされずに単に適切なすな
わち該当するラインバッファから読出されるように、キ
ャッシュラインのアドレスのレコードを、ラインバッフ
ァ150、160のそれぞれの中に保持する。
実施例においては、処理コア210は、アクセス制御装
置230と、キャッシュライン245を有するメモリア
レイ240と、ラインバッファ250、260とを含む
キャッシュRAM220と通信する。
0は、命令語またはデータワードのいずれかに対する専
用のものとなる。現在必要なワードの性質に依存して用
いられるべきラインバッファは、「適切な」ラインバッ
ファと呼ばれる。
ア210からの「順次」フラグの使用により、図2のア
クセス制御装置130に比し簡単化される。順次フラグ
は、アクセス制御装置230へ供給され、処理コア21
0が要求する現キャッシュアクセスが、直前のキャッシ
ュアクセスに対して順次的であることを表示する。順次
アクセスの例は、処理コア210が第1命令にアクセス
し、その命令を処理またはパイプラインし終わると、キ
ャッシュRAM220内の隣接メモリアドレスにストア
されている、直後に続く命令にアクセスするものであ
る。
ドで動作させることができる。以下、これらを順次説明
する。異なる諸モードは、処理コアおよび/またはアク
セス制御装置のために用いられるハードウェアまたはオ
ペレーティングソフトウェアに反映させることができ
る。一般に、これらの差は、図3の概略的性質からは明
らかではないが、以下の説明において明らかにされる。
に、前のキャッシュアクセスと同じキャッシュラインへ
のアクセスを要求する。しかし、上述のように、そのキ
ャッシュラインは、(命令に対する)ラインバッファ2
50、または(データワードに対する)ラインバッファ
260内にストアされているはずである。従って、必要
なワードは、処理コア210からの非データ命令制御フ
ラグによって選択された適切なラインバッファ250、
260から読出すことができる。
ードが、適切なラインバッファ内に現在保持されている
キャッシュラインの端部を実際にオーバランしているか
否かを検出することが必要である。もしオーバランして
いれば、そのラインバッファの内容は、次のキャッシュ
ラインを該バッファ内へ読出すことによりリフレッシュ
されなければならない。従って、この動作モードにおけ
るアクセス制御装置230の主な役割は、以下のように
なる。
キャッシュラインの端部をオーバランしたか否かの検出
は、必要なアドレスの最低次ビットが、キャッシュライ
ンの最初に対応するか否かを検出することによって行う
ことができる。
おいては第1動作モードにおけるように動作するが、非
順次アクセスにおいては常に、新しいキャッシュライン
を適切なラインバッファ内へ読出す。これは、アクセス
制御装置が行わなければならない唯一のアドレス比較に
よって、現在必要とされているワードが、バッファされ
たキャッシュラインの端部をオーバランしているか否か
をチェックすることであることを意味する。これらの動
作は以下のように要約される。
必要なワードが、現在バッファされたキャッシュライン
の端部にあるか否かを検出する。もしある場合は、アク
セス制御装置は、処理コア210へ送られる「ライン端
部」フラグをセットする。ライン端部フラグがセットさ
れた時は、処理コアによる次のキャッシュアクセスは、
常に非順次アクセスであるように強制される。非順次ア
クセスが処理コアによって行われる時、アクセス制御装
置は応答して、常に、完全なキャッシュラインを適切な
ラインバッファ内に読出す。これらの動作は、以下のよ
うに要約される。
びキャッシュRAMは、協働してアクセス制御装置の処
理要求を減少させる。アクセス制御装置が、入来する
(必要な)アドレスを、ストアされているアドレスと比
較する必要はもうない。アクセス制御装置が行わなくて
はならないのは、最後の(この場合は、8番目の)ワー
ドが、ラインバッファの1つから読出されつつある時、
フラグをセットすることのみである。処理コアは次に、
(順次フラグをセットしないことにより)自動的に次の
キャッシュアクセスを非順次アクセスにする。アクセス
制御装置は、非順次アクセスを、キャッシュラインが適
切なラインバッファ250、260内へ読出されること
を常に要求するものとして解釈する。
れぞれのキャッシュラインから読出されたワード数の、
またはキャッシュライン内の現在必要なワードの位置
の、レコードを保持する。処理コアは次に、アクセス制
御装置からのライン端部フラグを必要とすることなく、
非順次アクセスでそれぞれのキャッシュラインへの最初
のアクセスを自動的に行う。この場合は、アクセス制御
装置の動作は以下のようにさらに簡単化される。
置は、順次アクセスにおける第3または第4モードにお
けるように動作できるが、非順次アクセスにおいては、
(第1モードにおけるように)アドレス比較を行うこと
ができる。
り、この実施例においては、中央処理装置(CPU)3
00は、処理コア310と、プリフェッチユニット31
2と、マルチプレクサ314と、キャッシュRAM32
0と通信するバスドライバ316とを含み、キャッシュ
RAM320は、アクセス制御装置330と、キャッシ
ュライン345とを有するメモリ340と、ラインバッ
ファ350、360と、バスドライバ370とを含む。
6および単方向バス380を経て)キャッシュRAM3
20へ伝送されるべき、以下の中から選択された情報を
供給する。キャッシュRAM(RA/WA)内の必要な
ワードのアドレスを示す読出しアドレスまたは書込みア
ドレス、キャッシュRAM(WD)へ書込まれるべきデ
ータ、および前記キャッシュRAM内に保持されている
命令のアドレスを示すプログラムカウンタ(PC)。
(AF)および命令フラグ(IF)の制御のもとに、単
方向バス380を経て伝送されるべき以上のアイテムの
1つを選択する。アドレスフラグは、処理コア310に
より発生され、該コアが、キャッシュRAM320への
非順次的読出しまたは書込みアクセスを要求しており、
かつ単方向バス380上にアドレスを配置しつつあるこ
とを表示し、命令フラグは、プリフェッチユニット31
2により発生され、該プリフェッチユニットがキャッシ
ュRAM320内の命令語へのアクセスを要求している
ことを表示する。単方向バス380上へ伝送されるアイ
テムは、アドレスフラグおよび(データワードの読出し
および書込み動作をそれぞれ表示する読出しフラグおよ
び書込みフラグを含む)他のフラグと共に、アクセス制
御装置330へ供給される。アクセス制御装置330お
よび処理コア310は、図3に関連して上述されたアク
セス制御装置のいずれとも同様に動作し、順次または非
順次アクセスおよび命令の表示としてアドレスフラグ、
上述の非データ命令フラグの代わりに読出しおよび書込
みフラグを用いる。もしさまざまな動作モードの特定の
1つにおいて適切ならば、アクセス制御装置はライン端
部フラグを処理コアへ供給し返す。
必要なデータまたは命令語は、メモリアレイ340から
読出されるか、または、ラインバッファ350、360
の適切な1つからバスドライバ370へ直接出力され
る。そのデータまたは命令語は次に、第2単方向バス3
90を経てCPU300へ伝送される。CPU300に
おいては、単方向バス390上へ伝送されたアイテム
は、(もしそれが命令であれば)プリフェッチユニット
312へ、または(もしそれがデータワードであれば)
処理コア310の読出しデータ(RD)入力へ送られ
る。
点は、(それぞれのバスドライバを停止させることによ
り)1方向へのバス伝送を中止して、関連する電力消費
および遅延を有する他方向への伝送を(異なるバスドラ
イバを初期化することにより)再開する必要がないこと
である。
ファ(50、60;150、160;250、260;
350、360)はスタティックラッチ、(キャパシタ
または、2つのバッファの一方においては、ビットライ
ンのキャパシタンス、のような)ダイナミックラッチ、
またはビットライン上の値を一時的に保持できる他の装
置でもよい。もちろん、3つまたはそれ以上のラインバ
ッファを使用することもでき、この構成は、図1から図
4までに関連して上述された2つのカテゴリのワード
(命令語およびデータワード)よりも多くをストアする
キャッシュメモリに対して適切となろう。この場合に
は、ラインバッファの内容は、同じカテゴリのデータに
よって、または「最も古く用いられた」という根拠に基
づいて、オーバライトされてもよい。
は、それぞれが例えば1キロバイトのデータをストアす
るブロックまたはセグメントのアレイから形成されたキ
ャッシュメモリに適用できる。この場合には、それぞれ
のセグメントに対して少なくとも1つのラインバッファ
が備えられ、そのセグメントによって出力された前に読
出されたデータをストアする。それらのセグメントは、
例えば、アソシアチブ4×4アレイによって配列され、
該セグメントのそれぞれの行は、4重の連想(アソシア
チブ)キャッシュを形成する。直接アドレス指定を用い
て、正しい行が選択され、次にその行のセグメント内の
正しいキャッシュラインが選択される。このようにし
て、キャッシュラインをセグメントに分割することによ
り、ビットラインのキャパシタンスは減少され、より高
速度かつより低電力消費の動作が得られる。
の実施例を詳細に説明してきたが、本発明は、これらの
精細な実施例に限定されるものではないこと、および添
付の特許請求の範囲によって定められる本発明の範囲お
よび精神から逸脱することなく、本当業者によりさまざ
まな変更および改変を行えることを理解すべきである。
モリ(RAM)を含むデータ処理装置の概略図。
処理装置の第2実施例の概略図。
処理装置の第3実施例の概略図。
処理装置の第4実施例の概略図。
Claims (17)
- 【請求項1】 所定のメモリセルグループとしてアクセ
ス可能なアドレス指定が可能なメモリセルのアレイと、 少なくとも最も最近に読出されたメモリセルグループ
と、もう1つ前に読出されたメモリセルグループと、の
内容をストアするための出力バッファ手段と、 必要なメモリセルを含む前記メモリセルグループの前記
内容が、前記出力バッファ内にストアされているか否か
の表示に応答して、前記必要なメモリセルを含む前記メ
モリセルグループの前記内容を前記出力バッファ手段内
へ読出す読出手段とを含み少なくとも前記必要なメモリ
セルの前記内容が、前記出力バッファ手段から出力とし
て供給されるデータメモリ。 - 【請求項2】 前記出力バッファ手段が、少なくとも2
つの出力ラッチであってそれぞれの出力ラッチが1メモ
リセルグループの前記内容をストアする、該少なくとも
2つの出力ラッチを含む請求項1記載のデータメモリ。 - 【請求項3】 少なくとも1つの前記出力ラッチが能動
ラッチである請求項2記載のデータメモリ。 - 【請求項4】 少なくとも1つの前記出力ラッチが容量
性ラッチである請求項2記載のデータメモリ。 - 【請求項5】 前記容量性ラッチ、または前記容量性ラ
ッチの1つが、前記メモリセルのアレイに接続されたビ
ットラインのキャパシタンスにより実質的に形成される
請求項4記載のデータメモリ。 - 【請求項6】 前記読出手段が、前記必要なメモリセル
を含む前記メモリセルグループの前記内容を、最も古く
書込まれた前記出力ラッチ内に読出すべく動作可能な請
求項2記載のデータメモリ。 - 【請求項7】 前記データメモリが少なくとも2つのカ
テゴリのデータをストアし、それぞれのカテゴリからの
データが前記出力ラッチのそれぞれの1つにストアされ
る請求項2記載のデータメモリ。 - 【請求項8】 前記データメモリが2つのカテゴリのデ
ータ、すなわち、 命令語と、 非命令語とをストアする請求項7記載のデータメモリ。 - 【請求項9】 前記出力バッファ手段内にストアされて
いる前記メモリセルグループのアドレスを表示するアド
レスデータをストアする手段と、 必要なメモリセルの前記アドレスおよび前記アドレスデ
ータに応答して、該必要なメモリセルを含む前記メモリ
セルグループの前記内容が前記出力バッファ手段内にス
トアされているか否かを決定する検出手段とを含み、 該検出手段が、前記必要なメモリセルを含む前記メモリ
セルグループの前記内容が前記出力バッファ手段内にス
トアされているか否かの前記表示を発生し且つ前記読出
手段へ供給する請求項1記載のデータメモリ。 - 【請求項10】 前記読出手段が、前記データメモリに
アクセスする装置からの、現在の必要なメモリセルが前
の必要なメモリセルの隣接アドレスを有するか否かにつ
いての表示に応答する請求項1記載のデータメモリ。 - 【請求項11】 現在の必要なメモリセルのアドレス
が、該必要なメモリセルを含む前記メモリセルグループ
内の最後のアドレスであるか否かを検出する手段を、前
記読出手段が含む請求項10記載のデータメモリ。 - 【請求項12】 前記データメモリがキャッシュメモリ
である、請求項1記載のデータメモリ。 - 【請求項13】 中央処理装置と、 請求項1記載のデータメモリと、を含むデータ処理装
置。 - 【請求項14】 中央処理装置と、 請求項11記載のデータメモリと、を含む、データ処理
装置。 - 【請求項15】 現在の必要なメモリセルが、前の必要
なメモリセルの隣接アドレスを有することを表示する動
作を、該前の必要なメモリセルの該アドレスが、メモリ
セルグループ内の前記最後のアドレスを有することを検
出されなかった時にのみ前記中央処理装置が行うことが
できる、請求項14記載のデータ処理装置。 - 【請求項16】 所定のメモリセルグループとしてアク
セス可能な、アドレス指定が可能なメモリセルのアレイ
を有するデータメモリの動作方法であって、該方法が、 少なくとも最も最近に読出されたメモリセルグループ
と、もう1つの前に読出されたメモリセルグループと、
の内容を出力バッファ手段内にストアするステップと、 必要なメモリセルを含む前記メモリセルグループの前記
内容が、前記出力バッファ内にストアされているか否か
の表示に応答して、前記必要なメモリセルを含む前記メ
モリセルグループの前記内容を前記出力バッファ手段内
へ読出すステップと、を含み、 少なくとも前記必要なメモリセルの前記内容が、前記出
力バッファ手段から出力として供給されるデータメモリ
の動作方法。 - 【請求項17】 請求項1記載のデータメモリのアレ
イ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB94197464 | 1994-09-30 | ||
GB9419746A GB2293668B (en) | 1994-09-30 | 1994-09-30 | Accessing data memories |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08185355A true JPH08185355A (ja) | 1996-07-16 |
JP3798049B2 JP3798049B2 (ja) | 2006-07-19 |
Family
ID=10762147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25146395A Expired - Lifetime JP3798049B2 (ja) | 1994-09-30 | 1995-09-28 | データメモリおよびその動作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5627988A (ja) |
JP (1) | JP3798049B2 (ja) |
GB (1) | GB2293668B (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6412059B1 (en) | 1998-10-02 | 2002-06-25 | Nec Corporation | Method and device for controlling cache memory |
JP2010511224A (ja) * | 2006-11-27 | 2010-04-08 | エルエスアイ コーポレーション | 記憶装置コントローラキャッシュオフロード回路の性能および信頼性を最適化するためのシステム |
JP2016506009A (ja) * | 2013-01-08 | 2016-02-25 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | 開放されたロウの好適する数をもつメモリ装置 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU8181198A (en) * | 1997-07-02 | 1999-01-25 | Creative Technology Ltd | Audio effects processor having decoupled instruction execution and audio data sequencing |
EP0921471A1 (en) * | 1997-12-05 | 1999-06-09 | Texas Instruments France | Cache architecture |
FR2778256B1 (fr) * | 1998-04-29 | 2001-10-26 | Texas Instruments France | Circuit de memoire cache, procede pour inserer des donnees dans une memoire cache et dispositif de traitement utilisant une telle memoire |
US8427490B1 (en) | 2004-05-14 | 2013-04-23 | Nvidia Corporation | Validating a graphics pipeline using pre-determined schedules |
US8624906B2 (en) * | 2004-09-29 | 2014-01-07 | Nvidia Corporation | Method and system for non stalling pipeline instruction fetching from memory |
US8736623B1 (en) * | 2004-11-15 | 2014-05-27 | Nvidia Corporation | Programmable DMA engine for implementing memory transfers and video processing for a video processor |
US9092170B1 (en) | 2005-10-18 | 2015-07-28 | Nvidia Corporation | Method and system for implementing fragment operation processing across a graphics bus interconnect |
US8683126B2 (en) * | 2007-07-30 | 2014-03-25 | Nvidia Corporation | Optimal use of buffer space by a storage controller which writes retrieved data directly to a memory |
US9024957B1 (en) | 2007-08-15 | 2015-05-05 | Nvidia Corporation | Address independent shader program loading |
US8698819B1 (en) | 2007-08-15 | 2014-04-15 | Nvidia Corporation | Software assisted shader merging |
US8411096B1 (en) | 2007-08-15 | 2013-04-02 | Nvidia Corporation | Shader program instruction fetch |
US8659601B1 (en) | 2007-08-15 | 2014-02-25 | Nvidia Corporation | Program sequencer for generating indeterminant length shader programs for a graphics processor |
US8780123B2 (en) * | 2007-12-17 | 2014-07-15 | Nvidia Corporation | Interrupt handling techniques in the rasterizer of a GPU |
US9064333B2 (en) | 2007-12-17 | 2015-06-23 | Nvidia Corporation | Interrupt handling techniques in the rasterizer of a GPU |
US8923385B2 (en) * | 2008-05-01 | 2014-12-30 | Nvidia Corporation | Rewind-enabled hardware encoder |
US8681861B2 (en) * | 2008-05-01 | 2014-03-25 | Nvidia Corporation | Multistandard hardware video encoder |
US8489851B2 (en) * | 2008-12-11 | 2013-07-16 | Nvidia Corporation | Processing of read requests in a memory controller using pre-fetch mechanism |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3938097A (en) * | 1974-04-01 | 1976-02-10 | Xerox Corporation | Memory and buffer arrangement for digital computers |
US5185879A (en) * | 1988-01-21 | 1993-02-09 | Akira Yamada | Cache system and control method therefor |
US5201041A (en) * | 1988-12-29 | 1993-04-06 | International Business Machines Corporation | Cache bypass apparatus |
GB2244157A (en) * | 1990-05-15 | 1991-11-20 | Sun Microsystems Inc | Apparatus for row caching in random access memory |
CA2043493C (en) * | 1990-10-05 | 1997-04-01 | Ricky C. Hetherington | Hierarchical integrated circuit cache memory |
US5126975A (en) * | 1990-10-24 | 1992-06-30 | Integrated Device Technology, Inc. | Integrated cache SRAM memory having synchronous write and burst read |
GB2255211B (en) * | 1991-04-25 | 1995-05-17 | Intel Corp | LRU pointer updating in a controller for two-way set associative cache |
-
1994
- 1994-09-30 GB GB9419746A patent/GB2293668B/en not_active Expired - Lifetime
-
1995
- 1995-08-16 US US08/515,543 patent/US5627988A/en not_active Expired - Lifetime
- 1995-09-28 JP JP25146395A patent/JP3798049B2/ja not_active Expired - Lifetime
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6412059B1 (en) | 1998-10-02 | 2002-06-25 | Nec Corporation | Method and device for controlling cache memory |
JP2010511224A (ja) * | 2006-11-27 | 2010-04-08 | エルエスアイ コーポレーション | 記憶装置コントローラキャッシュオフロード回路の性能および信頼性を最適化するためのシステム |
JP2016506009A (ja) * | 2013-01-08 | 2016-02-25 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | 開放されたロウの好適する数をもつメモリ装置 |
Also Published As
Publication number | Publication date |
---|---|
GB9419746D0 (en) | 1994-11-16 |
GB2293668B (en) | 1999-09-29 |
JP3798049B2 (ja) | 2006-07-19 |
US5627988A (en) | 1997-05-06 |
GB2293668A (en) | 1996-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3798049B2 (ja) | データメモリおよびその動作方法 | |
US4912632A (en) | Memory control subsystem | |
JP3323212B2 (ja) | データプレフェッチの方法およびその装置 | |
US4847758A (en) | Main memory access in a microprocessor system with a cache memory | |
US8850112B2 (en) | Non-volatile hard disk drive cache system and method | |
JP3289661B2 (ja) | キャッシュメモリシステム | |
US5265236A (en) | Method and apparatus for increasing the speed of memory access in a virtual memory system having fast page mode | |
US5251310A (en) | Method and apparatus for exchanging blocks of information between a cache memory and a main memory | |
US5499353A (en) | Cache address strobe control logic for stimulated bus cycle initiation | |
JPH05127992A (ja) | 2レベルのキヤツシユ・メモリ内の干渉を低減する装置と方法 | |
JPH06101225B2 (ja) | コンピユータ・システム、コンピユータ・システム中のメモリの読取方法及び転送方法、メモリ制御の方法及びメモリ・コントローラ | |
JPH0668735B2 (ja) | キヤツシユメモリ− | |
JPH06222992A (ja) | キャッシュシステムおよびキャッシュコントローラを制御するための方法 | |
US5293622A (en) | Computer system with input/output cache | |
EP1030243B1 (en) | Optimized hardware cleaning function for virtual index virtual tag data cache | |
US5761709A (en) | Write cache for servicing write requests within a predetermined address range | |
KR960007833B1 (ko) | 고속 페이지 모드 선택을 위한 방법 및 장치 | |
EP0474356A1 (en) | Cache memory and operating method | |
US5809534A (en) | Performing a write cycle to memory in a multi-processor system | |
JPH09319657A (ja) | 命令読み込み用バッファを備えたプロセッサ | |
US20020016886A1 (en) | Method and apparatus for simultaneously accessing the tag and data arrays of a memory device | |
US6141735A (en) | Performing a memory access cycle in a multi-processor computer system | |
JPH0793215A (ja) | 半導体記憶装置 | |
JPH0447350A (ja) | 主記憶読み出し応答制御方式 | |
JP2000066946A (ja) | メモリコントローラ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050606 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050617 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050920 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060324 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060419 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090428 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100428 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100428 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110428 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120428 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130428 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130428 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140428 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |