JP2004220624A - キャッシュメモリ装置 - Google Patents
キャッシュメモリ装置 Download PDFInfo
- Publication number
- JP2004220624A JP2004220624A JP2004061514A JP2004061514A JP2004220624A JP 2004220624 A JP2004220624 A JP 2004220624A JP 2004061514 A JP2004061514 A JP 2004061514A JP 2004061514 A JP2004061514 A JP 2004061514A JP 2004220624 A JP2004220624 A JP 2004220624A
- Authority
- JP
- Japan
- Prior art keywords
- address
- cache
- memory
- data
- circuit
- 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
Images
Landscapes
- Advance Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【解決手段】キャッシュタグメモリ111と入力アドレスに格納されたアドレスを比較する一致検出回路113と、不一致を検出した時に外部メモリ130からデータを転送してデータ更新処理をする制御回路110と、データ更新処理をした場合に入力アドレスを更新するアドレス格納回路116と、外部からの動作中断時又はデータ更新処理中に、入力アドレスを更新し検出回路113へ出力するアドレス更新回路560と、更新アドレスとメモリ111のアドレスを検出回路113で比較した結果に応じデータ更新処理の可否情報を格納する更新情報格納回路573を備え、ミスヒットしたアドレスに続く次のアドレスもミスヒットの場合にそのアドレスを続けて更新し、検出回路113で一致を検出した時には続けてメモリ112のデータ更新処理をする。
【選択図】図14
Description
Harold S.Stone著「高性能コンピュータアーキテクチャ」(平1−3−30)丸善(株)、P.23−42 日経エレクトロニクス[434].(1987−11−16)日経BP社、P.159−174
このキャッシュメモリ装置50は情報処理装置内に設けられる中央処理装置(以下、CPUという)等のデータの読出し要求者1(以下キャッシュ要求者という)からのキャッシュアドレスCAに応じたキャッシュデータCDを出力するものであり、該キャッシュメモリ装置50の内部回路を制御するコントロール回路10、小容量高速のランダム・アクセス・メモリ(以下、RAMという)等で構成されるキャッシュタグメモリ11、小容量高速のRAM等で構成されるキャッシュデータメモリ12、及び一致検出回路13を備えている。キャッシュタグメモリ11は、キャッシュデータメモリ12に格納したデータのアドレスの一部を格納するもので、アドレス端子A、データ入/出力端子(以下、I/O端子という)D、コントロール回路10により活性化されるライトイネーブル端子WE、該コントロール回路10により活性化される端子VAi及び端子VAoを有している。キャッシュデータメモリ12は、読出し頻度の高いデータを格納するもので、アドレス端子A、I/O端子D、及びコントロール回路10により活性化されるライトイネーブル端子WEを有している。一致検出回路13は、イネーブル端子Eが活性化されると入力される2つの情報の一致/不一致を検出し、一致の時にはヒット信号HITを出力する回路である。
キャッシュタグメモリ11は、アドレス(タグ)TAGと有効ビット(バリッドビット)等からなる。タグTAGは、ハードウエア量を減らすために、ある程度、アドレスをグループ化して付けられている。このグループ化された数をライン数(またはブロック数)といい、アドレスの近いものをまとめるのが一般的である。図3においては、1グループに4つのデータとしている。つまり、キャッシュアドレスCAの下位2ビットを除くビットが同じもの、例えば“0…0”のデータを1グループとしている。
キャッシュ要求者1からキャッシュアドレスCAが供給されると、それがレジスタ14に一時格納された後、読出されてそのキャッシュアドレスCAに対応するデータがキャッシュデータメモリ12に格納されているか否か(即ち、ヒットか否か)を調べる。つまり、レジスタ14からトライステートバッファ17を介してIAバス22へ出力されたキャッシュアドレスCAと、キャッシュタグメモリ11の内容の一致/不一致が一致検出回路13で検出され、一致(以下ヒットという)ならば、該一致検出回路13からヒット信号HITが出力され、コントロール回路10に与えられると共に、レジスタ14,15のイネーブル端子Eに与えられる。ヒット信号HITがコントロール回路10に入力されると、該コントロール回路10の出力によってキャッシュタグメモリ11及びキャッシュデータメモリ12の各ライトイネーブル端子WEが活性化され、キャッシュアドレスCAのうちの下位(b+1)により指定される該キャッシュデータメモリ12内のデータがIDバス23へ読出される。このIDバス23に読出されたデータは、レジスタ15からキャッシュデータCDとしてキャッシュ要求者1へ出力される。
図4は図2のキャッシュメモリ装置50の動作を示すタイミングチャートである。図中、m,n+1 ,…はアドレスを示す。ミスヒットペナルティ時間とは、ミスヒットしてからキャッシュデータCDが有効になるまでの時間をいう。
図4において、n+1=“x…x01”(2進数表現)とする。図3に示すように1ライン4アドレス分としている。なお、外部メモリ30は、2サイクルでアクセスできるものとしている。タグTAGには、バリッドビットを含むが、1タグデータに対して1ビットしかない。4回の書込み(ライト)とも、タグデータ(=“x…x”)を書込むが、バリッドビットにバリッド情報を書くのは最後の1回のみである。図2の外部レジスタ16の下位2ビットは、カウンタになっており、ミスヒットによってキャッシュアドレスCAの値がロードされ、その下位2ビットは“00”にクリアされる。
メモリインタリーブ方式やダイナミックRAM(以下、DRAMという)の特性を生かしたアクセス方法(ページモードやスタティックカラム等)により、バースト転送をサポートすることによってミスヒットペナルティ時間を短縮することも考えられる。その構成例を図5に示す。
図5はキャッシュメモリ装置51の回路図であり、図2中の要素と共通の要素には共通の符号が付されている。
このキャッシュメモリ装置51は、DRAMページモードを使った構成である。図2のキャッシュメモリ装置50と基本的に異なる点は、外部レジスタ16内のカウンタの出力が加算器35で+1インクリメント(増分)されてセレクタ36に入力し、そのセレクタ36の出力が該カウンタに入力するようになっている点である。なお、図5の符号40は、結線状態を示す。
DRAMページモードとは、RASNを“L”レベルのままCASNパルスを次々と加えることにより、高速の読出し/書込み動作を行うモードである。このモードでは、RASNの“L”レベル状態でビット線レベルを“L”レベルあるいは“H”レベル状態にしたまま、CAS系の動作を連続的に繰返し、任意のビット線への書込みあるいは読出しを行うようになっている。
図5のキャッシュメモリ装置51では、要求されたキャッシュアドレスCAがレジスタ14に格納されると、そのレジスタ14内のタグTAGと、キャッシュタグメモリ11のデータ出力端子Doから読出されたデータとが、一致検出回路13で一致/不一致の検出が行われる。不一致のときにはミスヒットとなるので、レジスタ14内のタグTAGが結線40を介して外部レジスタ16に格納され、その外部レジスタ16の出力が結線40を介して外部メモリ30のアドレス端子Aに入力される。すると、メモリコントロール信号S10により、ページモードで、外部メモリ30の端子データDからデータが高速に読出されてキャッシュデータメモリ12のデータ入力端子Diに入力され、該キャッシュデータメモリ12の出力端子DoからキャッシュデータCDの形で読出される。これにより、ミスヒットペナルティ時間を短縮できる。
図2に示すキャッシュメモリ装置50ではミスヒット時にミスヒットしたデータをキャッシュデータメモリ12に書込むための時間が長いため、データの読出しにかかるミスヒットペナルティ時間が長い。
図5に示すキャッシュメモリ装置51では、外部メモリ30等を構成するDRAMの方がバースト転送速度に追いついていないため、最初の1つを読込むまでに数クロックかかる。最初の1つを読込んだ後には図6に示すように、4データ分を読んでくる。
キャッシュメモリ装置51では、ミスヒットを起こしたアドレスの含まれるラインの次のラインが続けて必要な場合であっても、一度バースト転送アクセスモードを抜けて、また新たにミスヒットを起こしてラインのうちの最初のデータが到達するまで、無駄な時間を費やしてしまっている。つまり、ミスヒットしたラインのデータを更新するときに、その後の連続したアドレスのデータがミスヒットすることが分かっていても、必ず一定のラインのデータしか更新しないため、ヒット率が低下するという問題がある。そのため、未だ技術的に充分満足のゆくキャッシュメモリを得ることが困難であった。
このキャッシュメモリ装置100は図2に示したキャッシュメモリ装置50において、一致検出回路150とORゲート151とが付加されている。一致検出回路150はミスヒットによるキャッシュデータメモリの更新時に、コントロール回路110の出力信号によって、イネーブル端子Eが活性化されて動作する。一致検出回路150はレジスタ114からのキャッシュアドレスCAの全ビット数aと、外部メモリ130からキャッシュデータメモリ112へデータを書込むアドレス(全ビット数a)との一致を検出する機能を有する。ORゲート151は、一致検出回路150の出力と、一致検出回路113から出力されるタグヒット信号TAG・HITとの論理和を求め、該一致検出回路150の検出結果が一致のときにレジスタ115のイネーブル端子Eを活性化する機能を有している。
図7は、図1のキャッシュメモリ装置200の動作を示すタイミングチャートである。この図7において、n+1=“x…x01”、n+4=“Y…Y00”とする。そして、1ライン4アドレス分としている。なお、外部メモリ130は、バースト転送により、連続アドレスなら、最初のみ1ウェイトで読めるものとしている。バリッドビットは、最後の書込みで“1”が書かれる。また、外部レジスタ116の下位ビットは、カウントイネーブル端子CEにより活性化されるカウンタになっている。
キャッシュデータメモリ112が更新状態に入ると、コントロール回路110は、外部メモリ130からのデータの取り込みを可能にするため、キャッシュ更新信号SIOaによってトライステートバッファ120,121をオン状態にすると共に、IAバス122へのアドレス供給源である外部レジスタ116のカウントイネーブル端子CEを活性化し、IDバス123への読出しデータ供給源を外部メモリ130にする。外部レジスタ116の内容は、ミスヒット時には必ず書き換えられる。
外部レジスタ116の下位2ビットはカウンタになっているので、キャッシュタグメモリ111及びキャッシュデータメモリ112の各ライタイネーブル端子WEが活性化されるときに、該外部レジスタ116のカウントイネーブル端子CEも活性化されて該カウンタがカウントアップする。
従って、キャッシュ要求者101がウェイト要求をすることにより、キャッシュタグメモリ111及びキャッシュデータメモリ112へのデータの書込み、外部レジスタ116の外部メモリ130からの読出しが要求されたデータアドレスの出力、キャッシュデータCDのレジスタ115への格納が禁止され、キャッシュメモリ装置200のキャッシュデータの更新処理全体が待ち状態となる。
図9において、キャッシュ要求者101がウェイト要求をしているクロック2〜4の間はレジスタ114,115は不活性化となり、それぞれ、キャッシュアドレスCA=n+1、キャッシュデータCD=mを格納したままである。また、外部レジスタ116もn+1を格納したままである。さらに、キャッシュタグメモリ111及びキャッシュデータメモリ112の各ライトイネーブル端子WEは“L”レベルのままで活性化されない。
レジスタ301各々は外部メモリ130から読出されたアドレス、データ及びコントロール回路110から出力される信号であるバリッドフラグが1セットで格納されている。このコントロール回路110から出力される信号がイネーブル端子Eに入力することによって、レジスタ301は活性化する。本実施例においてレジスタ301は3つ(バッファ0,1,2)用意されている。これは1ライン4アドレスで、キャッシュデータの更新は1ライン分行うことから、更新に充分適用できる数としたためで、3つに限るものではない。
図11において、クロック2において、ミスヒット(タグHITが“0”)となり、キャッシュメモリ装置300はキャッシュデータの更新作業を開始する。しかしクロック2において、キャッシュ要求者101がウェイト状態となっている。
第2の実施例ではウェイト状態の間はキャッシュデータの更新作業は行われなかったが、この第3の実施例においては、ウェイト状態中のクロック4にて、外部メモリ130のデータが出力されると、キャッシュデータメモリ112へそのデータが書込まれる。これと同時に、そのデータはトライステートバッファ321を介してレジスタ115に入力される。クロック4においてはキャッシュ要求者101はまだウェイト状態のため、レジスタ115に入力されたキャッシュデータを受け取れない。ただし、クロック4において、コントロール回路110からの出力信号によってレジスタ301の1つを活性化して外部メモリ130からの出力であるアドレスと、そのアドレスに対応するデータをレジスタ301(例えばバッファ0)に格納する。この時、レジズタ301(バッファ0)にはアドレス及び、そのアドレスに対応するデータの他に、コントロール回路110からの出力信号によって、バリッドフラグがバリッド(有効)になる。
第3の実施例のキャッシュメモリ装置300に対して、キャッシュメモリ装置400はバッファリング監視回路401が付加されている。バッファリング監視回路401はキャッシュ要求者101がウェイト状態の時に更新するキャッシュデータがレジスタ301に格納すべきデータか否かをチェックし、所定の格納先のレジスタ301(図12ではレジスタ301は2つしか示されていないので、バッファ0あるいはバッファ1)に格納するとともに、不要になったレジスタ301のデータを無効にするものである。バッファリング監視回路401はウェイト信号WAIT、各一致検出回路150、302の出力信号(検出結果)、外部レジスタ116の出力、及びコントロール回路110のキャッシュタグメモリ111及びキャッシュデータメモリ112のライトイネーブル端子を活性化する出力信号が入力され、レジスタ301を活性化する信号及びレジスタ301に格納されたデータの有効性を示すバリッドフラグを出力する。
バッファリング監視回路401は、レジスタ301(バッファ0と1)にデータを格納する条件及び格納したデータを無効にする条件を、例えば次のようにしている。
“キャッシュデータメモリヘの書込みをしているデータのアドレスの下位1ビットが
0”
かつ
“バッファ0自身に格納されたデータが無効”
かつ
“バイパスHITで、キャッシュ要求者101がウェイト状態であるか、バッファ1
がHITでキャッシュ要求者101がウェイト状態である。”
(2)バッファ1に格納する条件
“キャッシュデータメモリヘの書込みをしているデータのアドレスの下位1ビットが
1”
かつ
“バッファ1自身に格納されたデ一タが無効”
かつ
“バイパスHITで、キャッシュ要求者101がウェイト状態であるか、バッファ0
がHITでキャッシュ要求者101がウェイト状態である。”
(3)バッファ0に格納したデータを無効にする条件
“キャッシュデータメモリヘの書込みをしているデータのアドレスの下位1ビットが
0”
かつ
“バイパスHITかバッファ0HITでともにキャッシュ要求者101がウェイト状
態でない”
(4)バッファ1に格納したデータを無効にする条件
“キャッシュデータメモリヘの書込みをしているデータのアドレスの下位1ビットが
1”
かつ
“バイパスHITかバッファ1HITでともにキャッシュ要求者101がウェイト状
態でない。”
このキャッシュメモリ装置500は、図5のキャッシュメモリ装置51と同様に、MPU等の命令発生部に設けられる命令キャッシュメモリとして動作するもので、キャッシュ更新時においてキャッシュメモリがウェイト状態のときにミスヒットしたラインアドレスに続く次のラインアドレスもミスヒットするか否かを判定するミスヒット判定手段560と、キャッシュ更新中に新たに読んできたデータ(命令)が必要とされるか否か(例えば、分岐命令があるか否か)を判別する必要性判別手段570と、次のラインアドレスもミスヒットであってその内容が必要とされるならば(分岐命令がなければ)、続けて次のラインアドレスも更新する更新手段580とANDゲート574が、付加されている。
ANDゲート574は一致検出回路113から出力されるタグヒット信号TAG・HIT、コントロール回路110から出力される信号HIT・E、及び該コントロール回路110から出力されるライトイネーブル信号S10bの論理積を求めてヒット信号HITを出力する。ライトイネ一ブル信号SIObは、キャッシュタグメモリ111及びキャッシュデータメモリ112にそれぞれ設けられた反転ライトイネーブル端子WENをそれぞれ活性化する信号である。
更新手段580は、レジスタ114の出力を選択して外部レジスタ116の内容を更新するセレクタ581と、該外部アドレス116の出力を+1インクリメントして該セレクタ581にフィードバックする加算器582とを、備えている。なお、540は結線状態を示す。
図15は、キャッシュメモリ装置500の動作を示すタイミングチャートである。この図15中のnは、下位2ビットが“00”である場合を示す。このタイミングチャートの前提条件は、要求されるキャッシュアドレスCA(つまり命令)のうち、アドレスn〜n+5までの命命とn+7の命令は分岐命令ではないが、n+6の命令が分岐命令である。このキャッシュメモリを使うキャッシュアドレス要求側の例えぱCPUの分岐のタイプは、遅延分岐で行われ、n+6の分岐命令がmに分岐する。そのため、実行順序は、n,n+1,…,n+6, n+7,mとなる。キャッシュメモリに対してアドレスn〜n+10までとm〜m+3まではミスヒットし、m+4〜m+10まではヒットする。また、外部メモリ130へのアクセスはDRAMのぺ一ジモードを使用し、最初のデータが到達するまで、2クロックCKかかるため、2つ先のラインアドレスまでチエックできるものとする。
時刻t2において、キャッシュアドレスCAとしてnが供給されると、一致検出回路113の検出結果によってミスヒットとなる。そのため、キャッシュメモリ装置500は次から更新モードヘ移る。そして、外部メモリ130へのアドレスEAを送出するレジスタ116に、ミスヒットを起こしたアドレスnがセレクタ581を通して書込まれる。セレクタ581は、常時、レジスタ114の方を向いている。
即ち、時刻のt3,t4のウェイト状態のとき、コン卜ロール回路110から出力される信号HIT・Eが“L”レベルになる。セレクタ561は通常、レジスタ114の方を向いているが、信号HIT・Eが“L”レベルの間だけ、レジスタ563の方を向く。このレジスタ563では、常に、キャッシュタグメモリ111に与えるべき値を加算器562で+1インクリメントした値を取り込んでいるため、ウェイト状態のときに続くラインドレスがミスヒットか否かを調べることができる。なお、この間に一致検出回路113から出力されるタグヒット信号TAG・HITは、要求されたキャッシュアドレスCAに対して無効なので、信号HIT・EによってANDゲート574でマスクをかけてある。この結果、時刻t3及びt4ともミスヒットしたため、もともとミスヒットを起こしたラインアドレスとそれに続く2つのラインアドレスも、同時に更新する予定になる。
時刻t11において、もともとミスヒットを起こしたライン内の最後のアドレスを更新する。基本的には、時刻t5と同様の動作をするが、この他に、必要性判別手段570によって続くラインの更新を行うか否かの判定を行う。
即ち、時刻t3において続くラインアドレスはミスヒットすることがわかっている。ここで、今更新しているラインアドレスの中に分岐命令があるか否かをデコーダ571でデコードした結果が、キャッシュデータメモリ112へのライト時(時刻t5,t7,t9,t11)のとき、コン卜ロール回路110から出力される信号HIT・Eが“L”レベルのときにリセットされたフラグ573に格納されている。そのため、時刻t11では、このフラグ573の値とデコード結果とをORゲート572によって論理和を求めることにより、分岐命令がミスヒットしたラインアドレス内にあったか否かを判定できる。ここでは、ミスヒットしたラインアドレス内に分岐命令がなかったので、加算器582によってインクリメントした値を外部レジスタ116にロードし、次から続くラインアドレスを更新する。
時刻t20では、時刻t12と同様の動作である。ただ、この時刻t20において、レジスタ114に格納されるキャッシュアドレスCAは、n+6アドレスにあった分岐命令によって発生したアドレスmである。時刻t21以降は、キャッシュ要求者101からの要求によって発生したキャッシュ更新サイクル時刻t2以降と同様の動乍となる。
本実施例では、ミスヒットしてから最初のデータが到達するまでのキャッシュメモリがひまな間(ウェイト状態の間)に、ミスヒット判定手段560により、ミスヒットを起こしたラインアドレスの次のラインアドレスもミスヒットするか否かを調ベ、必要性判別手段570により、実際にミスヒットしたラインの連続アドレスが必要であることが判れば(例えば、分岐命令がなければ)、更新手段580によって次のラインアドレスも続けて更新するようにしているので、ヒット率を向上できる。
図16はキャッシュメモリ装置600の回路図である。図14に示すキャッシュメモリ装置500に対し、一致検出回路113と一致検出回路601の一致検出結果に基づいて、コントロール回路110が、キャッシュタグメモリ111及びキャッシュデータメモリ112をそれぞれ独立して書込みを許可するライトイネーブル信号TWE、DWEを出力している。また、キャッシュメモリ装置600はORゲート602が付加されている。一致検出回路601は、キャッシュアドレスCAのタグTAG及びラインアドレスLAと外部レジスタ116に格納されたキャッシュアドレスのタグTAG及びラインアドレスLAの一致を検出し、一致が検出された場合は、コントロール回路110へ書込みマッチング信号WA−MATを出力する。つまり、外部メモリから要求のアドレスが出力されているかどうかを検出するものである。
この時、一致検出回路601は外部メモリ130から要求のアドレスのデータが読出されているか否かを調べる。例えば時刻t7においては要求のキャッシュアドレスCAがn+1であるので、外部レジスタ116に格納されたアドレスnが、加算回路535によって、下位1ビット(IA)を1だけインクリメントした時に、一致検出回路601は一致を検出し、WA−MAT信号をコントロール回路110に出カする。また、外部メモリ130は読出し状態となっているので、D−WAIT信号もコントロール回路110に対して出力されている。
本発明の第2の実施例によれぱ、第1の実施例においてキャッシュ要求者のウェイト要求に対してキャッシュデータの更新を中断する手段を設けたので、第1の実施例の効果に加えて、ウェイト要求の信号によりキャッシュデータの更新処理全体を待ち状態にし、これによりキャッシュ要求者とキャッシュメモリ装置とのタイミングを合わせることができる。従って、キャッシュメモリ装置を有するシステム全体としての動作特性が向上する。
本発明の第3の実施例によれば、第1の実施例において、キャッシュ要求者のウェイト要求に対して、キャッシュデータのキャッシュ要求者へのキャッシュデータの出力を中断する手段と、ウェイト状態時に更新したキャッシュデータを格納しておくバッファ手段とを設けたので、ウェイト要求に対してキャッシュデータの更新を中断することなく、かつ、ウェイト状態時に更新されたキャッシュデータに対してもアクセス可能となり、第2の実施例より動作特性が向上する。
本発明の第4の実施例によれば、第3の実施例において設けたバッファ手段に格納する対象に対して、キャッシュデータの格納の必要性を判断する手段を設けて、必要なキャッシュデータのみをバッファ手段に格納するようにしたので、第3の実施例に比ベて、少ないハード量で、第3の実施例と同様な効果が得られる。
第6の実施例によれば、第5の実施例のキャッシュメモリ装置において、キャッシュデータメモリとキャッシュタグメモリをそれぞれ独立のライトイネーブル信号で制御するとともに要求のキャッシュメモリと外部メモリから読出されているメモリとの一致を検出する一致検出回路を設け、コントロール回路が、キャッシュデータメモリとキャッシュタグメモリをそれぞれ独立したライトイネーブル信号によって制御しても、キャッシュ要求者には正しく書込みが行われていることを示すHIT信号を出力するようにしたので、キャッシュデータメモリの更新期間中にキャッシュタグメモリを利用して、更新中のキャッシュアドレスのデータに続くキャッシュアドレスのヒット状態を判定でき、第5の実施例と同様な効果を得ることができる。
101 キャッシュ要求者
110 コントロール回路
112 キャッシュデータメモリ
113 一致検出回路
114,115 レジスタ
116 外部レジスタ
117,118,120,121 トライステートバッファ
122 IAバス
123 IDバス
124 ANDゲート
130 外部メモリ
150 一致検出回路
151 ORゲート
201,202,203 ANDゲート
301 レジスタ
302 一致検出回路
303 ANDゲート
304,321 トライステートバッファ
305,351 ORゲート
401 バッファリング監視回路
535,562,582 加算器
536,561,581 セレクタ
560 ミスヒット判定手段
563 レジスタ
570 必要性判別手段
571 デコーダ
572 ORゲート
573 フラグ
574 ANDゲート
580 更新手段
601 一致検出回路
602 ORゲート
Claims (3)
- 第1のアドレス及び該第1アドレスとは異なる第2のアドレスから構成され、所望のデータに対応するアドレス情報のうち、任意の第1アドレスを格納する第1のメモリと、
第2のアドレスと、前記第1のアドレスが共通なアドレス情報に対する複数の第2のアドレスに対応する複数のデータとを格納する第2のメモリと、
入力された前記アドレス情報の第1のアドレスと前記第1のメモリに格納された第1のアドレスとを比較して一致/不一致を検出する一致検出回路と、
前記一致検出回路が前記一致を検出したときには前記入力されたアドレス情報に対応したデータを出力データとして前記第2のメモリから読み出す第1の処理と、前記一致検出回路が前記不一致を検出したときには前記入力されたアドレス情報と第1のアドレス情報が共通なアドレス情報に対応する複数のデータを第3のメモリから前記第2のメモリへ書き込む第2の処理とを選択的に制御する制御回路と、
前記入力されたアドレス情報を格納し、前記制御回路が前記第2の処理を選択した場合に、前記格納されたアドレス情報の第2のアドレスを更新して前記第3のメモリに対して出力するアドレス格納回路と、
外部から動作の中断が指示されている時に、前記入力されたアドレス情報の第1のアドレスを更新して前記一致検出回路へ出力するアドレス更新回路と、
前記アドレス更新回路にて更新された第1のアドレスと前記第1のメモリに格納された第1のアドレスとを前記一致検出回路にて比較した結果に応じて、前記制御回路へ出力すべき前記更新された第1のアドレスに基づく第2の処理を行うか否かの情報を格納する更新情報格納回路と、
を有することを特徴とするキャッシュメモリ装置。 - 第1のアドレス及び該第1アドレスとは異なる第2のアドレスから構成され、所望のデータに対応するアドレス情報のうち、任意の第1のアドレスを格納する第1のメモリと
前記第1のアドレスが共通なアドレス情報に対する複数の第2のアドレスに対応する複数のデータを格納する第2のメモリと、
入力された前記アドレス情報の第1のアドレスと前記第1のメモリに格納された第1のアドレスとを比較して一致/不一致を検出する一致検出回路と、
前記一致検出回路が前記一致を検出したときには前記入力されたアドレス情報に対応したデータを出力データとして前記第2のメモリから読み出す第1の処理と、前記一致検出回路が前記不一致を検出したときには前記入力されたアドレス情報と第1のアドレスが共通なアドレス情報に対応する複数のデータを第3のメモリから前記第2のメモリへ書き込む第2の処理とを選択的に制御する制御回路と、
前記入力されたアドレス情報を格納し、前記制御回路が前記第2の処理を選択している場合に、前記格納されたアドレス情報の第2のアドレスを更新して前記第3のメモリに対して出力するアドレス格納回路と、
前記第2の処理を行っている時に、前記入力されたアドレス情報の第1のアドレスを更新して前記一致検出回路へ出力するアドレス更新回路と、
前記アドレス更新回路にて更新された第1のアドレスと前記第1のメモリに格納された第1のアドレスとを前記一致検出回路にて比較した結果に応じて、前記制御回路へ出力すべき前記更新された第1のアドレスに基づく第2の処理を行うか否かの情報を格納する更新情報格納回路と、
を有することを特徴とするキャッシュメモリ装置。 - 前記更新情報格納回路は、前記アドレス格納回路から出力されるアドレスにて前記第3のメモリから読み出されるデータに基づいて、前記アドレス更新回路にて更新された第1のアドレスに対する第2の処理を行うか否かを判断する手段を有することを特徴とする請求項1又は請求項2記載のキャッシュメモリ装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004061514A JP3729832B2 (ja) | 1992-02-28 | 2004-03-05 | キャッシュメモリ装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4177492 | 1992-02-28 | ||
JP2004061514A JP3729832B2 (ja) | 1992-02-28 | 2004-03-05 | キャッシュメモリ装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP51470293A Division JP3614428B2 (ja) | 1992-02-28 | 1993-03-01 | キャッシュメモリ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004220624A true JP2004220624A (ja) | 2004-08-05 |
JP3729832B2 JP3729832B2 (ja) | 2005-12-21 |
Family
ID=32910561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004061514A Expired - Lifetime JP3729832B2 (ja) | 1992-02-28 | 2004-03-05 | キャッシュメモリ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3729832B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010532057A (ja) * | 2007-06-28 | 2010-09-30 | インテル・コーポレーション | マルチスレッドおよびマルチコア・システムのためのキャッシュ、および、その方法 |
-
2004
- 2004-03-05 JP JP2004061514A patent/JP3729832B2/ja not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010532057A (ja) * | 2007-06-28 | 2010-09-30 | インテル・コーポレーション | マルチスレッドおよびマルチコア・システムのためのキャッシュ、および、その方法 |
Also Published As
Publication number | Publication date |
---|---|
JP3729832B2 (ja) | 2005-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0345407B2 (ja) | ||
US6327643B1 (en) | System and method for cache line replacement | |
US5854943A (en) | Speed efficient cache output selector circuitry based on tag compare and data organization | |
US6976130B2 (en) | Cache controller unit architecture and applied method | |
US8117400B2 (en) | System and method for fetching an information unit | |
JP3614428B2 (ja) | キャッシュメモリ装置 | |
JP3729832B2 (ja) | キャッシュメモリ装置 | |
US7346735B2 (en) | Virtualized load buffers | |
JP3761890B2 (ja) | キャッシュメモリ装置 | |
JP4111645B2 (ja) | キャッシュミスした後のメモリバスアクセス制御方式 | |
US6904500B2 (en) | Cache controller | |
JP4037806B2 (ja) | キャッシュメモリ装置 | |
JPH07234819A (ja) | キャッシュメモリ | |
US20060129762A1 (en) | Accessible buffer for use in parallel with a filling cacheline | |
JPH07152650A (ja) | キャッシュ制御装置 | |
JP3757768B2 (ja) | ベクトルメモリアクセス時スカラメモリアクセス命令発行制御方式 | |
JPH1185613A (ja) | キャッシュメモリ | |
JP2762797B2 (ja) | 命令キャッシュを有するパイプライン構成の情報処理装置 | |
JP3147456B2 (ja) | キャッシュメモリシステム | |
JP2004240520A (ja) | ノンキャッシュ領域内高速メモリアクセス方法 | |
JPH02259945A (ja) | ストア処理方式 | |
JP2001344152A (ja) | キャッシュメモリ装置 | |
JPH056659A (ja) | ダイナミツクram | |
JPH0769863B2 (ja) | データ処理装置 | |
JPH09212419A (ja) | キャッシュメモリー |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050329 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050531 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050801 |
|
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: 20051004 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051004 |
|
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: 20081014 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091014 Year of fee payment: 4 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091014 Year of fee payment: 4 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091014 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101014 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111014 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111014 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121014 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121014 Year of fee payment: 7 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121014 Year of fee payment: 7 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121014 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131014 Year of fee payment: 8 |
|
EXPY | Cancellation because of completion of term | ||
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R370 | Written measure of declining of transfer procedure |
Free format text: JAPANESE INTERMEDIATE CODE: R370 |