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
Application number
JP7251463A
Other languages
English (en)
Other versions
JP3798049B2 (ja
Inventor
William H Oldfield
ヘンリー オールドフィールド ウィリアム
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.)
ARM Ltd
Original Assignee
Advanced Risc Machines Ltd
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 Advanced Risc Machines Ltd filed Critical Advanced Risc Machines Ltd
Publication of JPH08185355A publication Critical patent/JPH08185355A/ja
Application granted granted Critical
Publication of JP3798049B2 publication Critical patent/JP3798049B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6028Prefetching based on hints or prefetch instructions
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

(57)【要約】 【課題】 電力消費およびアクセス時間を減少させたデ
ータメモリおよびその動作方法を開示する。 【解決手段】 所定のメモリセルグループとしてアクセ
スできるアドレス指定が可能なメモリセルのアレイ40
を有するデータメモリ20は、少なくとも最も最近に読
出されたメモリセルグループと、もう1つの前に読出さ
れたメモリセルグループとの内容をストアするための出
力バッファ手段50、60と、必要なメモリセルを含む
前記メモリセルグループの前記内容が、前記出力バッフ
ァ手段50、60内にストアされていない旨の表示に応
答して、前記必要なメモリセルを含む前記メモリセルグ
ループの前記内容を前記出力バッファ手段50、60内
へ読出す読出手段30とを含み、少なくとも前記必要な
メモリセルの前記内容は前記出力バッファ手段50、6
0から出力として供給される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データメモリへの
アクセスに関する。
【0002】
【従来の技術】データ処理システムにおける中央処理装
置(CPU)のパフォーマンスを改善するために、キャ
ッシュメモリを用いることは公知である。キャッシュメ
モリは、比較的小さい、高速度のランダムアクセスメモ
リ(RAM)であり、CPUにより頻繁に要求されるデ
ータをストアするために用いられる。通常は、キャッシ
ュRAMは、(例えば、外部メモリ管理ユニット(MM
U)を経ずに)CPUにより直接アクセスされ、CPU
とキャッシュメモリとの間の信号伝搬時間を短縮するた
めに、CPUに物理的に接近して配置される。これらの
特徴は、データが極めて速く、キャッシュRAMにスト
アされ、またそれから検索できることを意味する。
【0003】キャッシュRAMは、通常は、いくつかの
キャッシュ「ライン」として組織され、それぞれのライ
ンは、例えば、8つのデータワードをストアできる。キ
ャッシュRAMがアクセスされる時は、データライン全
体が読出され、出力ビットライン上に配置される。もし
次のキャッシュRAMアクセスが、同じキャッシュライ
ンからのデータワードを要求しても、その時そのライン
を再読出しする必要はない。そのワードは、出力ビット
ラインから簡単に読出すことができる。
【0004】キャッシュラインを出力ビットライン上に
読出す動作は、キャッシュRAMの全電力要求のかなり
の割合を消費する。これは、読出し動作が、高度に容量
性であるビットライン自体をチャージ(充電)する前
の、データを読出すためのセンスアンプのプリチャージ
を含むからである。
【0005】1つの公知のタイプのキャッシュRAMア
ーキテクチャにおいては、データワードおよびプロセッ
サ命令語の双方をストアするために単一のキャッシュR
AMが用いられる。これは、1キャッシュラインからロ
ードされた命令の実行が、プロセッサをして、異なるキ
ャッシュラインからデータをロード、または異なるキャ
ッシュラインにデータをストアする場合に、特に高電力
消費を招く。この状況においては、プロセッサは最初、
キャッシュRAMからの命令を、その命令をストアする
キャッシュラインをして、ビットライン上へ読出される
ことによりロードする。該命令が実行される時、プロセ
ッサはもう1つのキャッシュラインを読出すか、または
もう1つのキャッシュラインに書込む。これは、前記命
令を含むキャッシュラインが、ビットラインから廃棄さ
れ、新しいキャッシュラインがビットライン上へ読取ら
れることを意味する。(プロセッサがキャッシュRAM
に書込む場合には、ビットラインが該書込みプロセスに
おいて用いられるので、現在該ビットライン上に保持さ
れている値もやはり廃棄されなければならない)。ロー
ドまたはストア動作が完了した後は、ビットライン上に
保持されていた新しい値は、再び廃棄されなくてはなら
ず、また原キャッシュラインは再読出しされ、プロセッ
サは後の必要な命令にアクセスしうるようにされる。
【0006】これらの多重命令−データ−命令アクセス
は、電力消費と、キャッシュRAMのアクセス時間とを
かなり増大させる可能性がある。電力消費の増加は、全
キャッシュの電力消費の10%から30%の間であると
推定され、これは、すでにシステムの電力の比較的高い
割合を使用するキャッシュRAMの主要な問題である。
また、上述のように、アクセス時間の増大は、主要な要
求が高速度動作であるキャッシュRAMにおいては、特
に不利となる。
【0007】
【発明が解決しようとする課題】本発明の目的は、デー
タメモリ、特にキャッシュメモリ、の電力消費およびア
クセス時間を減少させることである。この目的は、携帯
用の、電池電源式装置に用いるためのデータメモリに特
に関連する。
【0008】
【課題を解決するための手段】本発明が提供するデータ
メモリは、所定のメモリセルグループとしてアクセスで
きる、アドレス指定が可能なメモリセルのアレイと、少
なくとも最も最近に読出されたメモリセルグループと、
もう1つの前に読出されたメモリセルグループと、の内
容をストアするための出力バッファ手段と、必要なメモ
リセルを含む前記メモリセルグループの前記内容が、前
記出力バッファ内にストアされているか否かの表示に応
答して、前記必要なメモリセルを含む前記メモリセルグ
ループの前記内容を前記出力バッファ手段内へ読出す読
出し手段と、を含み少なくとも前記必要なメモリセルの
前記内容が、前記出力バッファ手段から出力として供給
される。
【0009】本発明によるデータメモリにおいては、メ
モリセルのグループ(例えばキャッシュライン)が読出
され、少なくとも1つの他の前に読出されたグループと
共に出力バッファ内にストアされる。これは、上述の問
題を軽減することができ、その場合、1キャッシュライ
ンからロードされたプロセッサ命令の実行は、該プロセ
ッサをして、異なるキャッシュラインからデータをロー
ド、または異なるキャッシュラインへデータをストアさ
せた後に、原キャッシュラインへ復帰させて、後の必要
な命令を読出す。これは、(上述の、前に提案されたメ
モリにおけるようには)原キャッシュラインが廃棄され
ず、出力バッファ手段内に保持されるからである。上述
のように、これは、キャッシュラインの読出し動作の回
数を、命令−データ−命令系列のアクセスの場合におい
て、例えば、3回のアクセスから2回のアクセスへ減少
させることにより、例えば、キャッシュRAMの電力消
費を、劇的に改善できる。
【0010】好ましくは、出力バッファ手段は、少なく
とも2つの出力ラッチを含み、それぞれの出力ラッチは
1メモリセルグループの内容をストアする。実施例にお
いては、該出力ラッチの少なくとも1つは、トランジス
タまたは半導体ラッチのような能動ラッチである。しか
し、代替例としては、該出力ラッチの少なくとも1つ
は、容量性またはダイナミックラッチであってもよい。
このタイプのラッチは、実質的に、メモリセルのアレイ
に接続されたビットラインのキャパシタンスによって形
成できる。
【0011】出力バッファ手段がいくつかのラッチによ
って形成され、そのそれぞれが1メモリセルグループを
ストアする時、前にラッチされたデータに制御された方
法でオーバライトすると有利である。これを行う1つの
方法は、読出し手段が、必要なメモリセルを含むメモリ
セルグループの内容を、最も古く書込まれた出力ラッチ
内に読出す動作ができる実施例において用いられる。
【0012】データメモリが少なくとも2つのカテゴリ
のデータをストアする、別の実施例においては、それぞ
れのカテゴリからのデータは、出力ラッチのそれぞれの
(専用の)1つの中にストアできる。好ましくは、この
構成は、2つのカテゴリのデータ、すなわち、命令語
と、非命令語と、をストアするデータメモリに対して用
いられる。
【0013】データメモリは、新しいメモリセルグルー
プが出力バッファ内へ読出されるべきか否かの表示が外
部装置により供給されるように、外部装置から制御でき
るが、1実施例においては、この表示は、データメモリ
自体内において、前記出力バッファ手段内にストアされ
ている前記メモリセルグループのアドレスを表示するア
ドレスデータをストアする手段と、必要なメモリセルの
前記アドレスおよびストアされているアドレスデータに
応答して、該必要なメモリセルを含む前記メモリセルグ
ループの前記内容が前記出力バッファ手段内にストアさ
れているか否かを検出する検出手段とを用いることによ
り得られ、該検出手段は、前記必要なメモリセルを含む
前記メモリセルグループの前記内容が前記出力バッファ
手段内にストアされているか否かの前記表示を発生し且
つ前記読出し手段へ供給する。
【0014】実施例においては、前記検出手段は、前記
データメモリにアクセスする装置からの、現在の必要な
メモリセルが前の必要なメモリセルの隣接アドレスを有
するか否かについての表示に応答する。これは、前記現
在の必要なメモリセルの内容が、前記出力バッファ内に
おいて見出すことができることを、少なくとも部分的に
示す。
【0015】好ましくは、前記読出し手段は、前記デー
タメモリにアクセスする装置からの、現在の必要なメモ
リセルが前の必要なメモリセルの隣接アドレスを有する
か否かについての表示に応答する。この場合、前記検出
手段は、(ある実施例において)順次アクセスが前記出
力バッファ手段内に保持されているキャッシュラインの
終端部をオーバランしたか否かをチェックするほかに
は、現在必要なワードが該バッファ手段内に保持されて
いるか否かをチェックする必要はない可能性がある。
【0016】好ましくは、前記読出し装置は、現在の必
要なメモリセルのアドレスが、該必要なメモリセルを含
む前記メモリセルグループ内の最後のアドレスであるか
否かを検出する手段を含む。前記データメモリは、好ま
しくはキャッシュメモリである。本発明は、中央処理装
置と、以上において定められたデータメモリとを含むデ
ータ処理装置において特に有効に用いられる。
【0017】好ましくは、中央処理装置は、現在の必要
なメモリセルが、前の必要なメモリセルの隣接アドレス
を有すること、を表示する動作を、該前の必要なメモリ
セルの該アドレスが、メモリセルグループ内の前記最後
のアドレスを有することを検出されなかった時にのみ、
行いうる。中央処理装置は、この検出を自身で行う、ま
たは上述の読出し手段による検出を信頼することができ
る。いずれの場合においても、次のアクセスが非順次的
に行われる事実は、前記読出し装置を自動的にトリガし
て、新しいキャッシュラインを前記出力バッファ手段内
へ読出すために用いることができる。
【0018】本発明は、第2特徴から見ると、所定のメ
モリセルグループとしてアクセスできるアドレス指定が
可能なメモリセルのアレイを有するデータメモリの動作
方法を提供し、該方法は、少なくとも最も最近に読出さ
れたメモリセルグループと、もう1つの前に読出された
メモリセルグループと、の内容を出力バッファ手段内に
ストアするステップと、必要なメモリセルを含む前記メ
モリセルグループの前記内容が、前記出力バッファ内に
ストアされているか否かの表示に応答して、前記必要な
メモリセルを含む前記メモリセルグループの前記内容を
前記出力バッファ手段内へ読出すステップとを含み、少
なくとも前記必要なメモリセルの前記内容は、前記出力
バッファ手段から出力として供給される。
【0019】
【発明の実施の形態】本発明の、上述の、およびその他
の、諸目的および諸利点は、添付図面を参照しつつ読ま
れるべき実施例に関しての以下の詳細な説明において明
らかにされる。
【0020】
【実施例】図1は、キャッシュランダムアクセスメモリ
(RAM)20に接続された処理コア10を含むデータ
処理装置の概略図である。キャッシュRAM20は、ア
クセス制御装置30と、トランジスタメモリセルのアレ
イを含むメモリアレイ40と、2つのラインバッファ5
0、60と、マルチプレクサ70とを含む。
【0021】処理コア10およびキャッシュRAM20
は、共通集積回路のそれぞれの部分として製造できる。
メモリアレイ40は、いくつかのキャッシュライン45
を含み、そのそれぞれは、256メモリセルから形成さ
れる。従って、キャッシュラインは、それぞれが32ビ
ット(4バイト)のデータを含む8つのデータワードを
ストアする。
【0022】この図および図2から図4までにおいて
は、キャッシュRAMからデータを読取る機構が主とし
て示されている。他の点では、ビットラインを経てのキ
ャッシュRAMへのデータの書込みのための機構は通常
のものである。
【0023】以下に詳述されるアクセス制御装置30の
制御のもと、キャッシュライン45の1つがアクセスの
ために選択可能であり、そのキャッシュライン内に保持
されているデータは(通常のセンスアンプを経て)ビッ
トライン55上へ出力される。ビットライン55は、ラ
インバッファ50およびラインバッファ60へ並列に供
給される。
【0024】キャッシュRAM20は、プロセッサ命令
および処理されるべきデータの双方をストアするために
用いられる。一般に、処理コア10は、キャッシュRA
M20の1部分にストアされている1つまたはそれ以上
の命令語へのアクセスを要求し、続いて、キャッシュR
AM20の異なる部分にストアされているさまざまなデ
ータワードへのアクセスが行われる。データワードがア
クセスされた後には、処理コア10は、前にアクセスさ
れた命令語に隣接してストアされている、さらなる命令
語へのアクセスへ復帰する。
【0025】従って、通常の動作においては、処理コア
10は、メモリアレイ40の2つの異なる部分、すなわ
ちデータワードをストアする部分と、命令語をストアす
る部分とに対し交互のアクセスを要求する。(前述され
た、前に提案されたキャッシュメモリにおけるように)
処理コア10がキャッシュRAM20の新しい部分への
アクセスを要求する毎に、もし全キャッシュラインがア
クセスされなくてはならないとすれば、これは、全キャ
ッシュライン45が、交互の命令−データ−命令のアク
セスのために、繰り返して読出されなくてはならないこ
とを意味する。これは、キャッシュRAM20の平均電
力消費(および恐らくは平均アクセス時間をも)増大さ
せる。
【0026】この問題を軽減するために、本実施例は、
アクセス制御装置30の制御のもとに動作する2つのラ
インバッファ50、60を用いる。次に、この構成を詳
細に説明する。
【0027】本実施例においては、キャッシュライン4
5がアクセスされた時、そのキャッシュラインの内容
は、ラインバッファ50、60の一方にストアされる。
そのバッファは、アクセス制御装置30の制御下にあ
り、「現」バッファと呼ばれる。該現ラインバッファの
内容は、マルチプレクサ70(これもアクセス制御装置
30の制御下にある)を経て、処理コア10の入力へ送
られる。メモリアレイ40から読出される次のキャッシ
ュライン45は、ラインバッファ50、60の他方の1
つの中にストアされ、そのバッファは次に、新しい現バ
ッファになる。これは、前に読出されたキャッシュライ
ンの内容が廃棄されずに、非現ラインバッファ内にスト
アされることを意味する。
【0028】アクセス制御装置30は、ラインバッファ
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の制御のも
とに、非現ラインバッファ内にストアされる(該非現ラ
インバッファは次に、出力のための現ラインバッファと
なる)。
【0029】図1に示されている実施例においては、ラ
インバッファ50、60のそれぞれは、命令語またはデ
ータワードのいずれかをストアできる。実際には、ライ
ンバッファ50、60の一方は、命令語をストアする傾
向があり、他方は、データワードをストアする傾向があ
るが、その理由は、単にこれら2つのタイプのワード間
で一般に交互するアクセスが要求されるからである。
【0030】図2は、第2実施例を示し、この実施例は
命令語をストアするための専用ラインバッファと、デー
タワードをストアするための第2専用ラインバッファと
を有する。図2において、処理コア110は、アクセス
制御装置130と、いくつかのキャッシュライン145
から形成されたメモリアレイ140と、2つのラインバ
ッファ150、160とを含むキャッシュRAM120
と通信する。
【0031】処理コア110は、必要なデータまたは命
令語のアドレスを発生し、それはアクセス制御装置13
0により、「非データ命令(instruction−
not−data)」(I/D(バー))信号ラインと
共に処理される。非データ命令信号ラインは、処理コア
がキャッシュRAM120から命令を読出しつつある時
に、一方のラインバッファ(実際には、ラインバッファ
150)が動作を可能化され、処理コア110がキャッ
シュRAM120からデータワードを読出しつつある時
に、他方のラインバッファ(ラインバッファ160)が
動作を可能化されるように、相補的なそれぞれの形式で
ラインバッファ150、160へ供給される。
【0032】アクセス制御装置130は、もし現アクセ
スに対する必要なデータまたは命令語が、すでに適切な
ラインバッファ150、160内にストアされていれ
ば、そのワードが再びアクセスされずに単に適切なすな
わち該当するラインバッファから読出されるように、キ
ャッシュラインのアドレスのレコードを、ラインバッフ
ァ150、160のそれぞれの中に保持する。
【0033】図3は、第3実施例の概略図であり、この
実施例においては、処理コア210は、アクセス制御装
置230と、キャッシュライン245を有するメモリア
レイ240と、ラインバッファ250、260とを含む
キャッシュRAM220と通信する。
【0034】この場合も、ラインバッファ250、26
0は、命令語またはデータワードのいずれかに対する専
用のものとなる。現在必要なワードの性質に依存して用
いられるべきラインバッファは、「適切な」ラインバッ
ファと呼ばれる。
【0035】アクセス制御装置230の動作は、処理コ
ア210からの「順次」フラグの使用により、図2のア
クセス制御装置130に比し簡単化される。順次フラグ
は、アクセス制御装置230へ供給され、処理コア21
0が要求する現キャッシュアクセスが、直前のキャッシ
ュアクセスに対して順次的であることを表示する。順次
アクセスの例は、処理コア210が第1命令にアクセス
し、その命令を処理またはパイプラインし終わると、キ
ャッシュRAM220内の隣接メモリアドレスにストア
されている、直後に続く命令にアクセスするものであ
る。
【0036】図3の装置は、いくつかの異なる動作モー
ドで動作させることができる。以下、これらを順次説明
する。異なる諸モードは、処理コアおよび/またはアク
セス制御装置のために用いられるハードウェアまたはオ
ペレーティングソフトウェアに反映させることができ
る。一般に、これらの差は、図3の概略的性質からは明
らかではないが、以下の説明において明らかにされる。
【0037】第1動作モード キャッシュアクセスが順次的である時は、それは一般
に、前のキャッシュアクセスと同じキャッシュラインへ
のアクセスを要求する。しかし、上述のように、そのキ
ャッシュラインは、(命令に対する)ラインバッファ2
50、または(データワードに対する)ラインバッファ
260内にストアされているはずである。従って、必要
なワードは、処理コア210からの非データ命令制御フ
ラグによって選択された適切なラインバッファ250、
260から読出すことができる。
【0038】しかし、現在必要な順次アクセスされたワ
ードが、適切なラインバッファ内に現在保持されている
キャッシュラインの端部を実際にオーバランしているか
否かを検出することが必要である。もしオーバランして
いれば、そのラインバッファの内容は、次のキャッシュ
ラインを該バッファ内へ読出すことによりリフレッシュ
されなければならない。従って、この動作モードにおけ
るアクセス制御装置230の主な役割は、以下のように
なる。
【0039】
【表1】
【0040】現在必要なワードが、現在バッファされた
キャッシュラインの端部をオーバランしたか否かの検出
は、必要なアドレスの最低次ビットが、キャッシュライ
ンの最初に対応するか否かを検出することによって行う
ことができる。
【0041】第2動作モード 代替例としては、アクセス制御装置は、順次アクセスに
おいては第1動作モードにおけるように動作するが、非
順次アクセスにおいては常に、新しいキャッシュライン
を適切なラインバッファ内へ読出す。これは、アクセス
制御装置が行わなければならない唯一のアドレス比較に
よって、現在必要とされているワードが、バッファされ
たキャッシュラインの端部をオーバランしているか否か
をチェックすることであることを意味する。これらの動
作は以下のように要約される。
【0042】
【表2】
【0043】第3動作モード 第3動作モードにおいては、アクセス制御装置は、現在
必要なワードが、現在バッファされたキャッシュライン
の端部にあるか否かを検出する。もしある場合は、アク
セス制御装置は、処理コア210へ送られる「ライン端
部」フラグをセットする。ライン端部フラグがセットさ
れた時は、処理コアによる次のキャッシュアクセスは、
常に非順次アクセスであるように強制される。非順次ア
クセスが処理コアによって行われる時、アクセス制御装
置は応答して、常に、完全なキャッシュラインを適切な
ラインバッファ内に読出す。これらの動作は、以下のよ
うに要約される。
【0044】
【表3】
【0045】この動作モードにおいては、処理コアおよ
びキャッシュRAMは、協働してアクセス制御装置の処
理要求を減少させる。アクセス制御装置が、入来する
(必要な)アドレスを、ストアされているアドレスと比
較する必要はもうない。アクセス制御装置が行わなくて
はならないのは、最後の(この場合は、8番目の)ワー
ドが、ラインバッファの1つから読出されつつある時、
フラグをセットすることのみである。処理コアは次に、
(順次フラグをセットしないことにより)自動的に次の
キャッシュアクセスを非順次アクセスにする。アクセス
制御装置は、非順次アクセスを、キャッシュラインが適
切なラインバッファ250、260内へ読出されること
を常に要求するものとして解釈する。
【0046】第4動作モード もう1つの動作モードにおいては、処理コア自体が、そ
れぞれのキャッシュラインから読出されたワード数の、
またはキャッシュライン内の現在必要なワードの位置
の、レコードを保持する。処理コアは次に、アクセス制
御装置からのライン端部フラグを必要とすることなく、
非順次アクセスでそれぞれのキャッシュラインへの最初
のアクセスを自動的に行う。この場合は、アクセス制御
装置の動作は以下のようにさらに簡単化される。
【0047】
【表4】
【0048】第5および第6動作モード さらなる可能な動作モードにおいては、アクセス制御装
置は、順次アクセスにおける第3または第4モードにお
けるように動作できるが、非順次アクセスにおいては、
(第1モードにおけるように)アドレス比較を行うこと
ができる。
【0049】最後に、図4は、第4実施例の概略図であ
り、この実施例においては、中央処理装置(CPU)3
00は、処理コア310と、プリフェッチユニット31
2と、マルチプレクサ314と、キャッシュRAM32
0と通信するバスドライバ316とを含み、キャッシュ
RAM320は、アクセス制御装置330と、キャッシ
ュライン345とを有するメモリ340と、ラインバッ
ファ350、360と、バスドライバ370とを含む。
【0050】マルチプレクサ314は、(ドライバ31
6および単方向バス380を経て)キャッシュRAM3
20へ伝送されるべき、以下の中から選択された情報を
供給する。キャッシュRAM(RA/WA)内の必要な
ワードのアドレスを示す読出しアドレスまたは書込みア
ドレス、キャッシュRAM(WD)へ書込まれるべきデ
ータ、および前記キャッシュRAM内に保持されている
命令のアドレスを示すプログラムカウンタ(PC)。
【0051】マルチプレクサ314は、アドレスフラグ
(AF)および命令フラグ(IF)の制御のもとに、単
方向バス380を経て伝送されるべき以上のアイテムの
1つを選択する。アドレスフラグは、処理コア310に
より発生され、該コアが、キャッシュRAM320への
非順次的読出しまたは書込みアクセスを要求しており、
かつ単方向バス380上にアドレスを配置しつつあるこ
とを表示し、命令フラグは、プリフェッチユニット31
2により発生され、該プリフェッチユニットがキャッシ
ュRAM320内の命令語へのアクセスを要求している
ことを表示する。単方向バス380上へ伝送されるアイ
テムは、アドレスフラグおよび(データワードの読出し
および書込み動作をそれぞれ表示する読出しフラグおよ
び書込みフラグを含む)他のフラグと共に、アクセス制
御装置330へ供給される。アクセス制御装置330お
よび処理コア310は、図3に関連して上述されたアク
セス制御装置のいずれとも同様に動作し、順次または非
順次アクセスおよび命令の表示としてアドレスフラグ、
上述の非データ命令フラグの代わりに読出しおよび書込
みフラグを用いる。もしさまざまな動作モードの特定の
1つにおいて適切ならば、アクセス制御装置はライン端
部フラグを処理コアへ供給し返す。
【0052】アクセス制御装置330の制御のもとに、
必要なデータまたは命令語は、メモリアレイ340から
読出されるか、または、ラインバッファ350、360
の適切な1つからバスドライバ370へ直接出力され
る。そのデータまたは命令語は次に、第2単方向バス3
90を経てCPU300へ伝送される。CPU300に
おいては、単方向バス390上へ伝送されたアイテム
は、(もしそれが命令であれば)プリフェッチユニット
312へ、または(もしそれがデータワードであれば)
処理コア310の読出しデータ(RD)入力へ送られ
る。
【0053】図4に示されている単方向バスを用いる利
点は、(それぞれのバスドライバを停止させることによ
り)1方向へのバス伝送を中止して、関連する電力消費
および遅延を有する他方向への伝送を(異なるバスドラ
イバを初期化することにより)再開する必要がないこと
である。
【0054】全ての上述の実施例において、ラインバッ
ファ(50、60;150、160;250、260;
350、360)はスタティックラッチ、(キャパシタ
または、2つのバッファの一方においては、ビットライ
ンのキャパシタンス、のような)ダイナミックラッチ、
またはビットライン上の値を一時的に保持できる他の装
置でもよい。もちろん、3つまたはそれ以上のラインバ
ッファを使用することもでき、この構成は、図1から図
4までに関連して上述された2つのカテゴリのワード
(命令語およびデータワード)よりも多くをストアする
キャッシュメモリに対して適切となろう。この場合に
は、ラインバッファの内容は、同じカテゴリのデータに
よって、または「最も古く用いられた」という根拠に基
づいて、オーバライトされてもよい。
【0055】さらに別の実施例においては、上述の技術
は、それぞれが例えば1キロバイトのデータをストアす
るブロックまたはセグメントのアレイから形成されたキ
ャッシュメモリに適用できる。この場合には、それぞれ
のセグメントに対して少なくとも1つのラインバッファ
が備えられ、そのセグメントによって出力された前に読
出されたデータをストアする。それらのセグメントは、
例えば、アソシアチブ4×4アレイによって配列され、
該セグメントのそれぞれの行は、4重の連想(アソシア
チブ)キャッシュを形成する。直接アドレス指定を用い
て、正しい行が選択され、次にその行のセグメント内の
正しいキャッシュラインが選択される。このようにし
て、キャッシュラインをセグメントに分割することによ
り、ビットラインのキャパシタンスは減少され、より高
速度かつより低電力消費の動作が得られる。
【0056】ここでは、添付図面を参照しつつ、本発明
の実施例を詳細に説明してきたが、本発明は、これらの
精細な実施例に限定されるものではないこと、および添
付の特許請求の範囲によって定められる本発明の範囲お
よび精神から逸脱することなく、本当業者によりさまざ
まな変更および改変を行えることを理解すべきである。
【図面の簡単な説明】
【図1】処理コアおよびキャッシュランダムアクセスメ
モリ(RAM)を含むデータ処理装置の概略図。
【図2】処理コアおよびキャッシュRAMを含むデータ
処理装置の第2実施例の概略図。
【図3】処理コアおよびキャッシュRAMを含むデータ
処理装置の第3実施例の概略図。
【図4】処理コアおよびキャッシュRAMを含むデータ
処理装置の第4実施例の概略図。
【符号の説明】 10 処理コア 20 キャッシュRAM 30 アクセス制御装置 40 メモリアレイ 50 ラインバッファ 60 ラインバッファ 110 処理コア 120 キャッシュRAM 130 アクセス制御装置 140 メモリアレイ 150 ラインバッファ 160 ラインバッファ 210 処理コア 220 キャッシュRAM 230 アクセス制御装置 240 メモリアレイ 250 ラインバッファ 260 ラインバッファ 300 中央処理装置 310 処理コア 320 キャッシュRAM 330 アクセス制御装置 340 メモリアレイ 350 ラインバッファ 360 ラインバッファ

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】 所定のメモリセルグループとしてアクセ
    ス可能なアドレス指定が可能なメモリセルのアレイと、 少なくとも最も最近に読出されたメモリセルグループ
    と、もう1つ前に読出されたメモリセルグループと、の
    内容をストアするための出力バッファ手段と、 必要なメモリセルを含む前記メモリセルグループの前記
    内容が、前記出力バッファ内にストアされているか否か
    の表示に応答して、前記必要なメモリセルを含む前記メ
    モリセルグループの前記内容を前記出力バッファ手段内
    へ読出す読出手段とを含み少なくとも前記必要なメモリ
    セルの前記内容が、前記出力バッファ手段から出力とし
    て供給されるデータメモリ。
  2. 【請求項2】 前記出力バッファ手段が、少なくとも2
    つの出力ラッチであってそれぞれの出力ラッチが1メモ
    リセルグループの前記内容をストアする、該少なくとも
    2つの出力ラッチを含む請求項1記載のデータメモリ。
  3. 【請求項3】 少なくとも1つの前記出力ラッチが能動
    ラッチである請求項2記載のデータメモリ。
  4. 【請求項4】 少なくとも1つの前記出力ラッチが容量
    性ラッチである請求項2記載のデータメモリ。
  5. 【請求項5】 前記容量性ラッチ、または前記容量性ラ
    ッチの1つが、前記メモリセルのアレイに接続されたビ
    ットラインのキャパシタンスにより実質的に形成される
    請求項4記載のデータメモリ。
  6. 【請求項6】 前記読出手段が、前記必要なメモリセル
    を含む前記メモリセルグループの前記内容を、最も古く
    書込まれた前記出力ラッチ内に読出すべく動作可能な請
    求項2記載のデータメモリ。
  7. 【請求項7】 前記データメモリが少なくとも2つのカ
    テゴリのデータをストアし、それぞれのカテゴリからの
    データが前記出力ラッチのそれぞれの1つにストアされ
    る請求項2記載のデータメモリ。
  8. 【請求項8】 前記データメモリが2つのカテゴリのデ
    ータ、すなわち、 命令語と、 非命令語とをストアする請求項7記載のデータメモリ。
  9. 【請求項9】 前記出力バッファ手段内にストアされて
    いる前記メモリセルグループのアドレスを表示するアド
    レスデータをストアする手段と、 必要なメモリセルの前記アドレスおよび前記アドレスデ
    ータに応答して、該必要なメモリセルを含む前記メモリ
    セルグループの前記内容が前記出力バッファ手段内にス
    トアされているか否かを決定する検出手段とを含み、 該検出手段が、前記必要なメモリセルを含む前記メモリ
    セルグループの前記内容が前記出力バッファ手段内にス
    トアされているか否かの前記表示を発生し且つ前記読出
    手段へ供給する請求項1記載のデータメモリ。
  10. 【請求項10】 前記読出手段が、前記データメモリに
    アクセスする装置からの、現在の必要なメモリセルが前
    の必要なメモリセルの隣接アドレスを有するか否かにつ
    いての表示に応答する請求項1記載のデータメモリ。
  11. 【請求項11】 現在の必要なメモリセルのアドレス
    が、該必要なメモリセルを含む前記メモリセルグループ
    内の最後のアドレスであるか否かを検出する手段を、前
    記読出手段が含む請求項10記載のデータメモリ。
  12. 【請求項12】 前記データメモリがキャッシュメモリ
    である、請求項1記載のデータメモリ。
  13. 【請求項13】 中央処理装置と、 請求項1記載のデータメモリと、を含むデータ処理装
    置。
  14. 【請求項14】 中央処理装置と、 請求項11記載のデータメモリと、を含む、データ処理
    装置。
  15. 【請求項15】 現在の必要なメモリセルが、前の必要
    なメモリセルの隣接アドレスを有することを表示する動
    作を、該前の必要なメモリセルの該アドレスが、メモリ
    セルグループ内の前記最後のアドレスを有することを検
    出されなかった時にのみ前記中央処理装置が行うことが
    できる、請求項14記載のデータ処理装置。
  16. 【請求項16】 所定のメモリセルグループとしてアク
    セス可能な、アドレス指定が可能なメモリセルのアレイ
    を有するデータメモリの動作方法であって、該方法が、 少なくとも最も最近に読出されたメモリセルグループ
    と、もう1つの前に読出されたメモリセルグループと、
    の内容を出力バッファ手段内にストアするステップと、 必要なメモリセルを含む前記メモリセルグループの前記
    内容が、前記出力バッファ内にストアされているか否か
    の表示に応答して、前記必要なメモリセルを含む前記メ
    モリセルグループの前記内容を前記出力バッファ手段内
    へ読出すステップと、を含み、 少なくとも前記必要なメモリセルの前記内容が、前記出
    力バッファ手段から出力として供給されるデータメモリ
    の動作方法。
  17. 【請求項17】 請求項1記載のデータメモリのアレ
    イ。
JP25146395A 1994-09-30 1995-09-28 データメモリおよびその動作方法 Expired - Lifetime JP3798049B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001509610A (ja) * 1997-07-02 2001-07-24 クリエイティヴ テクノロジー リミテッド 減結合の命令実行及び音声データシーケンスを有する音声効果プロセッサ
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
US8416251B2 (en) 2004-11-15 2013-04-09 Nvidia Corporation Stream processing in 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
US9064333B2 (en) 2007-12-17 2015-06-23 Nvidia Corporation Interrupt handling techniques in the rasterizer of a GPU
US8780123B2 (en) * 2007-12-17 2014-07-15 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)

* Cited by examiner, † Cited by third party
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

Cited By (3)

* Cited by examiner, † Cited by third party
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
GB2293668A (en) 1996-04-03
GB9419746D0 (en) 1994-11-16
JP3798049B2 (ja) 2006-07-19
GB2293668B (en) 1999-09-29
US5627988A (en) 1997-05-06

Similar Documents

Publication Publication Date Title
JP3798049B2 (ja) データメモリおよびその動作方法
US4912632A (en) Memory control subsystem
US4847758A (en) Main memory access in a microprocessor system with a cache memory
JP3323212B2 (ja) データプレフェッチの方法およびその装置
US8850112B2 (en) Non-volatile hard disk drive cache system and method
JP3289661B2 (ja) キャッシュメモリシステム
US5251310A (en) Method and apparatus for exchanging blocks of information between a cache memory and a main memory
JPH05127992A (ja) 2レベルのキヤツシユ・メモリ内の干渉を低減する装置と方法
JPH06101225B2 (ja) コンピユータ・システム、コンピユータ・システム中のメモリの読取方法及び転送方法、メモリ制御の方法及びメモリ・コントローラ
JPH1055307A (ja) コンピュータ・システム
JPH02223091A (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
EP0474356A1 (en) Cache memory and operating method
US5809534A (en) Performing a write cycle to memory in a multi-processor system
CA1299767C (en) Cache memory control system
EP0488566A2 (en) Method and apparatus for fast page mode selection
JPH09319657A (ja) 命令読み込み用バッファを備えたプロセッサ
US6141735A (en) Performing a memory access cycle in a multi-processor computer system
JPH0793215A (ja) 半導体記憶装置
JPH0469750A (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