JPH1185613A - キャッシュメモリ - Google Patents
キャッシュメモリInfo
- Publication number
- JPH1185613A JPH1185613A JP9239792A JP23979297A JPH1185613A JP H1185613 A JPH1185613 A JP H1185613A JP 9239792 A JP9239792 A JP 9239792A JP 23979297 A JP23979297 A JP 23979297A JP H1185613 A JPH1185613 A JP H1185613A
- Authority
- JP
- Japan
- Prior art keywords
- data
- line
- cache memory
- continuous data
- link
- 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
- 238000000034 method Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 4
- 102100024342 Contactin-2 Human genes 0.000 description 1
- 101000690440 Solanum lycopersicum Floral homeotic protein AGAMOUS Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000007796 conventional method Methods 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/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
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)
Abstract
(57)【要約】
【課題】 キャッシュメモリに登録された連続データを
高速にアクセスする。 【解決手段】 タグアレイ110には各ラインに対応し
て、連続データの隣接するデータの格納されたライン番
号を保持するバックワードリンクとフォワードリンクが
含まれる。タグアレイ110及びデータアレイ120に
連続データを格納する際には、直前に格納したラインの
番号をリンクレジスタ180に保持しておくことによ
り、バックワードリンク及びフォワードリンクを生成す
る。タグアレイ110及びデータアレイ120から連続
データを読み出す際には、直前にアクセスしたラインに
おけるフォワードリンクの内容をリンクレジスタ180
に保持しておくことにより、連続データにおける次のデ
ータの格納されているラインの番号を、キャッシュメモ
リの索引をすることなく特定する。
高速にアクセスする。 【解決手段】 タグアレイ110には各ラインに対応し
て、連続データの隣接するデータの格納されたライン番
号を保持するバックワードリンクとフォワードリンクが
含まれる。タグアレイ110及びデータアレイ120に
連続データを格納する際には、直前に格納したラインの
番号をリンクレジスタ180に保持しておくことによ
り、バックワードリンク及びフォワードリンクを生成す
る。タグアレイ110及びデータアレイ120から連続
データを読み出す際には、直前にアクセスしたラインに
おけるフォワードリンクの内容をリンクレジスタ180
に保持しておくことにより、連続データにおける次のデ
ータの格納されているラインの番号を、キャッシュメモ
リの索引をすることなく特定する。
Description
【0001】
【発明の属する技術分野】本発明は、キャッシュメモリ
に関し、特に連続データを記憶するキャッシュメモリに
関する。
に関し、特に連続データを記憶するキャッシュメモリに
関する。
【0002】
【従来の技術】従来この種の技術では、プロセッサから
キャッシュメモリへのアクセスがある度にアドレス(タ
グ)アレイを索引し、キャッシュメモリに登録されてい
るか否か(ヒット/ミスヒット)を判断している。この
従来の技術では、キャッシュメモリに登録されているデ
ータに区別はなく、それぞれ単独のデータとして扱われ
る。従って、各データ間に何らかの関係があっても考慮
されることなく、毎回キャッシュメモリのヒット/ミス
ヒットを判断する必要がある。
キャッシュメモリへのアクセスがある度にアドレス(タ
グ)アレイを索引し、キャッシュメモリに登録されてい
るか否か(ヒット/ミスヒット)を判断している。この
従来の技術では、キャッシュメモリに登録されているデ
ータに区別はなく、それぞれ単独のデータとして扱われ
る。従って、各データ間に何らかの関係があっても考慮
されることなく、毎回キャッシュメモリのヒット/ミス
ヒットを判断する必要がある。
【0003】たとえば、特開昭63−751号公報に
は、命令処理部が実行するプログラム及びオペランドの
アドレス分布に局所性があることに着目し、命令処理部
からフェッチ要求したデータがキャッシュメモリにヒッ
トした場合には当該ブロックの次のブロックを索引する
一方、ミスヒットした場合には主記憶装置へプリフェッ
チする制御方式が記載されている。この方式では、連続
するデータを読み出す際においても、毎回ヒット/ミス
ヒットの判定を行う必要が生じる。
は、命令処理部が実行するプログラム及びオペランドの
アドレス分布に局所性があることに着目し、命令処理部
からフェッチ要求したデータがキャッシュメモリにヒッ
トした場合には当該ブロックの次のブロックを索引する
一方、ミスヒットした場合には主記憶装置へプリフェッ
チする制御方式が記載されている。この方式では、連続
するデータを読み出す際においても、毎回ヒット/ミス
ヒットの判定を行う必要が生じる。
【0004】
【発明が解決しようとする課題】上述の従来技術では、
連続するデータを読み出す際においても、毎回ヒット/
ミスヒットの判定を行う必要があるため、高速なアクセ
スの妨げとなるという問題がある。
連続するデータを読み出す際においても、毎回ヒット/
ミスヒットの判定を行う必要があるため、高速なアクセ
スの妨げとなるという問題がある。
【0005】本発明の目的は、連続データをキャッシュ
メモリに登録する際、連続データとして登録しておき、
これを読み出す際にはタグアレイを索引することなく高
速にアクセスすることにある。
メモリに登録する際、連続データとして登録しておき、
これを読み出す際にはタグアレイを索引することなく高
速にアクセスすることにある。
【0006】
【課題を解決するための手段】上記課題を解決するため
に本発明のキャッシュメモリは、連続データにおける隣
接するデータの前後関係を保持する。
に本発明のキャッシュメモリは、連続データにおける隣
接するデータの前後関係を保持する。
【0007】本発明の他のキャッシュメモリは、少なく
とも2つのラインを有するタグアレイとこのタグアレイ
に対応するデータアレイとを含むキャッシュメモリであ
って、前記タグアレイは前記ライン毎に、連続データに
おける後方のデータが格納されているラインの番号を示
すバックワードリンクと、連続データにおける前方のデ
ータが格納されているラインの番号を示すフォワードリ
ンクとを含む。
とも2つのラインを有するタグアレイとこのタグアレイ
に対応するデータアレイとを含むキャッシュメモリであ
って、前記タグアレイは前記ライン毎に、連続データに
おける後方のデータが格納されているラインの番号を示
すバックワードリンクと、連続データにおける前方のデ
ータが格納されているラインの番号を示すフォワードリ
ンクとを含む。
【0008】本発明の他のキャッシュメモリは、連続デ
ータを前記キャッシュメモリから読み出す場合におい
て、前回アクセスしたラインにおける前記フォワードリ
ンクの内容を保持し、次回連続データにアクセスする際
のラインの番号を示すリンクレジスタをさらに含む。
ータを前記キャッシュメモリから読み出す場合におい
て、前回アクセスしたラインにおける前記フォワードリ
ンクの内容を保持し、次回連続データにアクセスする際
のラインの番号を示すリンクレジスタをさらに含む。
【0009】本発明の他のキャッシュメモリは、連続デ
ータを前記キャッシュメモリに格納する場合において、
前回アクセスしたラインの番号を保持し、次回連続デー
タにアクセスする際のラインにおけるバックワードリン
クの内容を示すリンクレジスタをさらに含む。
ータを前記キャッシュメモリに格納する場合において、
前回アクセスしたラインの番号を保持し、次回連続デー
タにアクセスする際のラインにおけるバックワードリン
クの内容を示すリンクレジスタをさらに含む。
【0010】本発明のキャッシュメモリにおける連続デ
ータの格納方法は、少なくとも2つのラインを有するタ
グアレイと、このタグアレイに対応するデータアレイ
と、連続データについて前回アクセスしたラインの番号
を保持するリンクレジスタとを含むキャッシュメモリで
あって、前記タグアレイは前記ライン毎に、連続データ
における後方のデータが格納されているラインの番号を
示すバックワードリンク及び連続データにおける前方の
データが格納されているラインの番号を示すフォワード
リンクを含むキャッシュメモリにおいて、連続データの
最初のデータであればその格納ラインにおけるバックワ
ードリンクを無効化し、連続データの2番目以降のデー
タであればその格納ラインにおけるバックワードリンク
に前記リンクレジスタの内容を格納するとともに、前記
リンクレジスタが示すラインにおけるフォワードリンク
に前記格納ラインの番号を格納する。
ータの格納方法は、少なくとも2つのラインを有するタ
グアレイと、このタグアレイに対応するデータアレイ
と、連続データについて前回アクセスしたラインの番号
を保持するリンクレジスタとを含むキャッシュメモリで
あって、前記タグアレイは前記ライン毎に、連続データ
における後方のデータが格納されているラインの番号を
示すバックワードリンク及び連続データにおける前方の
データが格納されているラインの番号を示すフォワード
リンクを含むキャッシュメモリにおいて、連続データの
最初のデータであればその格納ラインにおけるバックワ
ードリンクを無効化し、連続データの2番目以降のデー
タであればその格納ラインにおけるバックワードリンク
に前記リンクレジスタの内容を格納するとともに、前記
リンクレジスタが示すラインにおけるフォワードリンク
に前記格納ラインの番号を格納する。
【0011】本発明のキャッシュメモリにおける連続デ
ータの読出し方法は、少なくとも2つのラインを有する
タグアレイと、このタグアレイに対応するデータアレイ
とを含むキャッシュメモリであって、前記タグアレイは
前記ライン毎に、連続データにおける後方のデータが格
納されているラインの番号を示すバックワードリンク及
び連続データにおける前方のデータが格納されているラ
インの番号を示すフォワードリンクを含み、さらに前回
アクセスしたラインにおける前記フォワードリンクの内
容を保持するリンクレジスタを含むキャッシュメモリに
おいて、連続データの最初のデータであれば前記キャッ
シュメモリを索引し、連続データの2番目以降のデータ
であれば前記リンクレジスタの示すラインにアクセスす
る。
ータの読出し方法は、少なくとも2つのラインを有する
タグアレイと、このタグアレイに対応するデータアレイ
とを含むキャッシュメモリであって、前記タグアレイは
前記ライン毎に、連続データにおける後方のデータが格
納されているラインの番号を示すバックワードリンク及
び連続データにおける前方のデータが格納されているラ
インの番号を示すフォワードリンクを含み、さらに前回
アクセスしたラインにおける前記フォワードリンクの内
容を保持するリンクレジスタを含むキャッシュメモリに
おいて、連続データの最初のデータであれば前記キャッ
シュメモリを索引し、連続データの2番目以降のデータ
であれば前記リンクレジスタの示すラインにアクセスす
る。
【0012】
【発明の実施の形態】次に本発明のキャッシュメモリの
実施の形態について図面を参照して詳細に説明する。
実施の形態について図面を参照して詳細に説明する。
【0013】図1を参照すると、本発明の実施の形態
は、プロセッサ200と主記憶装置300との間にキャ
ッシュメモリ100が接続されるように構成される。プ
ロセッサ200は、データリードの際に、アドレスを信
号線201に出力する。キャッシュヒットした場合に
は、キャッシュメモリ100は、データを信号線202
に出力する。一方、キャッシュミスヒットした場合に
は、キャッシュメモリ100は、信号線301にアドレ
スを出力する。このアドレスを受け取った主記憶装置3
00は、信号線302にデータを出力する。この出力さ
れたデータは信号線202を介してプロセッサ200へ
返送される。
は、プロセッサ200と主記憶装置300との間にキャ
ッシュメモリ100が接続されるように構成される。プ
ロセッサ200は、データリードの際に、アドレスを信
号線201に出力する。キャッシュヒットした場合に
は、キャッシュメモリ100は、データを信号線202
に出力する。一方、キャッシュミスヒットした場合に
は、キャッシュメモリ100は、信号線301にアドレ
スを出力する。このアドレスを受け取った主記憶装置3
00は、信号線302にデータを出力する。この出力さ
れたデータは信号線202を介してプロセッサ200へ
返送される。
【0014】キャッシュメモリ100は、タグアレイ1
10と、データアレイ120と、プロセッサ200から
のアドレスを保持するアドレスレジスタ130と、プロ
セッサ200からのデータを保持するデータレジスタ1
40と、主記憶装置300からのアドレスを保持するア
ドレスレジスタ150と、主記憶装置300からのデー
タを保持するデータレジスタ160と、キャッシュメモ
リ100を制御する制御回路170と、前回アクセスし
たライン番号を保持するリンクレジスタ180とを含ん
でいる。
10と、データアレイ120と、プロセッサ200から
のアドレスを保持するアドレスレジスタ130と、プロ
セッサ200からのデータを保持するデータレジスタ1
40と、主記憶装置300からのアドレスを保持するア
ドレスレジスタ150と、主記憶装置300からのデー
タを保持するデータレジスタ160と、キャッシュメモ
リ100を制御する制御回路170と、前回アクセスし
たライン番号を保持するリンクレジスタ180とを含ん
でいる。
【0015】なお、この実施の形態では、説明の都合
上、2ウェイセットアソシアティブ方式のキャッシュメ
モリを想定しているが、本発明は一般にはNウェイセッ
トアソシアティブ方式(N>1)のキャッシュメモリに
適用される。
上、2ウェイセットアソシアティブ方式のキャッシュメ
モリを想定しているが、本発明は一般にはNウェイセッ
トアソシアティブ方式(N>1)のキャッシュメモリに
適用される。
【0016】タグアレイ110の各々のエントリは、デ
ータアレイ120の各々に対応し、アドレスの一部をタ
グとして保持する。ここで、キャッシュメモリ100は
2ウェイセットアソシアティブ方式であるので、各セッ
トには2組のタグが含まれる。このタグの各々により管
理されるデータの各々をラインという。
ータアレイ120の各々に対応し、アドレスの一部をタ
グとして保持する。ここで、キャッシュメモリ100は
2ウェイセットアソシアティブ方式であるので、各セッ
トには2組のタグが含まれる。このタグの各々により管
理されるデータの各々をラインという。
【0017】プロセッサ200は、連続データをリード
する際には連続データ信号線203をアサートする。連
続データの最初のデータをリードする際には、さらに最
初データ信号線204をアサートする。制御回路170
は、これら連続データ信号線203及び最初データ信号
線204を参照してキャッシュメモリの制御を行う。リ
ンクレジスタ180は、連続データをアクセスする際、
前回アクセスされた(すなわち、連続データにおける後
方のデータの)ラインの番号を保持するものである。
する際には連続データ信号線203をアサートする。連
続データの最初のデータをリードする際には、さらに最
初データ信号線204をアサートする。制御回路170
は、これら連続データ信号線203及び最初データ信号
線204を参照してキャッシュメモリの制御を行う。リ
ンクレジスタ180は、連続データをアクセスする際、
前回アクセスされた(すなわち、連続データにおける後
方のデータの)ラインの番号を保持するものである。
【0018】本発明において扱う「連続データ」とは、
例えば、文字列等の一連のデータを意味する。例えば、
「NEC」という3文字の英字文字列の場合、最初のデ
ータが「N」、2番目のデータが「E」、最後のデータ
が「C」となる。以下では、このような連続データが、
キャッシュメモリの相異なる連続するセットに格納され
る場合を想定する。
例えば、文字列等の一連のデータを意味する。例えば、
「NEC」という3文字の英字文字列の場合、最初のデ
ータが「N」、2番目のデータが「E」、最後のデータ
が「C」となる。以下では、このような連続データが、
キャッシュメモリの相異なる連続するセットに格納され
る場合を想定する。
【0019】図2を参照すると、タグアレイ110は、
セット毎に2組のタグ(TAG1及びTAG2)を保持
し、各タグにはバリッドビット(V1,V2)、バック
ワードリンク(B1,B2)、フォワードリンク(F
1,F2)が付加されている。
セット毎に2組のタグ(TAG1及びTAG2)を保持
し、各タグにはバリッドビット(V1,V2)、バック
ワードリンク(B1,B2)、フォワードリンク(F
1,F2)が付加されている。
【0020】バリッドビットは、対応するタグが有効か
否かを示す。例えば、V1が”1”であれは対応するタ
グ及びデータが有効なものであることを意味し、V1
が”0”であれば対応するタグ及びデータは有効なもの
ではないことを意味する。
否かを示す。例えば、V1が”1”であれは対応するタ
グ及びデータが有効なものであることを意味し、V1
が”0”であれば対応するタグ及びデータは有効なもの
ではないことを意味する。
【0021】バックワードリンクは、当該セットの直前
のセットにおいて連続データがいずれのラインに格納さ
れたかを示す。例えば、B1が”2”であれば直前のデ
ータは第2ラインに格納されたことを意味する。
のセットにおいて連続データがいずれのラインに格納さ
れたかを示す。例えば、B1が”2”であれば直前のデ
ータは第2ラインに格納されたことを意味する。
【0022】フォワードリンクは、当該セットの次のセ
ットにおいて連続データがいずれのラインに格納された
かを示す。例えば、F1が”1”であれば次のデータは
第1ラインに格納されたことを意味する。
ットにおいて連続データがいずれのラインに格納された
かを示す。例えば、F1が”1”であれば次のデータは
第1ラインに格納されたことを意味する。
【0023】より具体的には、図2の例において、アド
レス21のエントリについて、V1が”1”であること
から、このアドレス21が有効であり、B1及びF1
が”0”であることから、対応するデータは単独データ
である(連続データではない)ことがわかる。また、ア
ドレス32については、V2が”0”であることから、
このアドレス32は有効でないことがわかる。
レス21のエントリについて、V1が”1”であること
から、このアドレス21が有効であり、B1及びF1
が”0”であることから、対応するデータは単独データ
である(連続データではない)ことがわかる。また、ア
ドレス32については、V2が”0”であることから、
このアドレス32は有効でないことがわかる。
【0024】一方、アドレス41、アドレス52、アド
レス61、及び、アドレス71についての4つのデータ
は、連続データを構成する。すなわち、アドレス41に
ついてのB1が”0”であり、F1が”2”であること
から、このアドレス41に対応するデータが連続データ
の先頭データであり、次のデータは次のセットの第2ラ
インに格納されたことがわかる。また、次のセットの第
2ラインのアドレス52についてのB2が”1”であ
り、F2が”1”であることから、このアドレス52に
対応するデータが連続データの途中データであり、前の
データは前のセットの第1ライン、次のデータは次のセ
ットの第1ラインにそれぞれ格納されたことがわかる。
同様に、次のセットの第1ラインのアドレス61につい
てのB1が”2”であり、F1が”1”であることか
ら、このアドレス61に対応するデータが連続データの
途中データであり、前のデータは前のセットの第2ライ
ン、次のデータは次のセットの第1ラインにそれぞれ格
納されたことがわかる。そして、次のセットの第1ライ
ンのアドレス71についてのB1が”1”であり、F1
が”0”であることから、このアドレス71に対応する
データが連続データの最終データであり、前のデータは
前のセットの第1ラインに格納されたことがわかる。
レス61、及び、アドレス71についての4つのデータ
は、連続データを構成する。すなわち、アドレス41に
ついてのB1が”0”であり、F1が”2”であること
から、このアドレス41に対応するデータが連続データ
の先頭データであり、次のデータは次のセットの第2ラ
インに格納されたことがわかる。また、次のセットの第
2ラインのアドレス52についてのB2が”1”であ
り、F2が”1”であることから、このアドレス52に
対応するデータが連続データの途中データであり、前の
データは前のセットの第1ライン、次のデータは次のセ
ットの第1ラインにそれぞれ格納されたことがわかる。
同様に、次のセットの第1ラインのアドレス61につい
てのB1が”2”であり、F1が”1”であることか
ら、このアドレス61に対応するデータが連続データの
途中データであり、前のデータは前のセットの第2ライ
ン、次のデータは次のセットの第1ラインにそれぞれ格
納されたことがわかる。そして、次のセットの第1ライ
ンのアドレス71についてのB1が”1”であり、F1
が”0”であることから、このアドレス71に対応する
データが連続データの最終データであり、前のデータは
前のセットの第1ラインに格納されたことがわかる。
【0025】次に、本発明の実施の形態の動作について
説明する。
説明する。
【0026】図1及び図3を参照して、プロセッサ20
0からキャッシュメモリ100へのリードアクセスがあ
った際に、ミスヒットが発生した場合の動作について説
明する。
0からキャッシュメモリ100へのリードアクセスがあ
った際に、ミスヒットが発生した場合の動作について説
明する。
【0027】キャッシュメモリ100においてミスヒッ
トが発生すると、キャッシュメモリ100は主記憶装置
300へリードアクセスする(ステップS301)。主
記憶装置300からリードされたデータは、そのアドレ
スにより、どのセットにデータを格納すべきかが決定さ
れる。また、予め定められた方策によりいずれのライン
にそのデータを格納すべきかが決定される(ステップS
302)。この方策としては、例えば、最も長い間アク
セスされていないものを追い出してそのラインに新たな
データを格納するLRU方式等が知られている。なお、
以下ではこのようにして決定されたラインを「格納ライ
ン」という。
トが発生すると、キャッシュメモリ100は主記憶装置
300へリードアクセスする(ステップS301)。主
記憶装置300からリードされたデータは、そのアドレ
スにより、どのセットにデータを格納すべきかが決定さ
れる。また、予め定められた方策によりいずれのライン
にそのデータを格納すべきかが決定される(ステップS
302)。この方策としては、例えば、最も長い間アク
セスされていないものを追い出してそのラインに新たな
データを格納するLRU方式等が知られている。なお、
以下ではこのようにして決定されたラインを「格納ライ
ン」という。
【0028】プロセッサ200からのアクセスの際、連
続データ信号線203がアサートされていれば(ステッ
プS303)、さらに最初データ信号線204がアサー
トされているか否かをチェックする(ステップS30
4)。ステップS303において、連続データ信号線2
03がアサートされていなければ単独データのアクセス
であるため、まず、上記追い出されたラインにおけるバ
ックワードリンクをたぐり、後方のタグにおけるフォワ
ードリンクを”0”にする(ステップS309)。引き
続いて、上記追い出されたライン(すなわち、格納ライ
ン)において、バリッドビットを”1”、バックワード
リンク及びフォワードリンクを”0”とする(ステップ
S310)。これらの処理により、連続データの途中に
単独データが上書きされた場合であっても矛盾を起こさ
ないようにデータ間の整合性を維持することができる。
続データ信号線203がアサートされていれば(ステッ
プS303)、さらに最初データ信号線204がアサー
トされているか否かをチェックする(ステップS30
4)。ステップS303において、連続データ信号線2
03がアサートされていなければ単独データのアクセス
であるため、まず、上記追い出されたラインにおけるバ
ックワードリンクをたぐり、後方のタグにおけるフォワ
ードリンクを”0”にする(ステップS309)。引き
続いて、上記追い出されたライン(すなわち、格納ライ
ン)において、バリッドビットを”1”、バックワード
リンク及びフォワードリンクを”0”とする(ステップ
S310)。これらの処理により、連続データの途中に
単独データが上書きされた場合であっても矛盾を起こさ
ないようにデータ間の整合性を維持することができる。
【0029】ステップS304において最初データ信号
線204がアサートされている場合には、連続データの
最初のデータであるため、格納ラインについて、バリッ
ドビットを”1”、バックワードリンクを”0”とする
(ステップS308)。
線204がアサートされている場合には、連続データの
最初のデータであるため、格納ラインについて、バリッ
ドビットを”1”、バックワードリンクを”0”とする
(ステップS308)。
【0030】ステップS304において最初データ信号
線204がアサートされていない場合には、連続データ
の途中のデータであるため、格納ラインについて、バリ
ッドビットを”1”とするとともに、リンクレジスタ1
80の内容をバックワードリンクに格納する(ステップ
S305)。既述のように、このリンクレジスタ180
には、連続データの1つ後方のデータが格納されている
ライン番号が保持されている。このライン番号により後
方のラインを特定し、その後方のラインにおけるフォワ
ードリンクに対して、格納ラインの番号を格納する(ス
テップS306)。
線204がアサートされていない場合には、連続データ
の途中のデータであるため、格納ラインについて、バリ
ッドビットを”1”とするとともに、リンクレジスタ1
80の内容をバックワードリンクに格納する(ステップ
S305)。既述のように、このリンクレジスタ180
には、連続データの1つ後方のデータが格納されている
ライン番号が保持されている。このライン番号により後
方のラインを特定し、その後方のラインにおけるフォワ
ードリンクに対して、格納ラインの番号を格納する(ス
テップS306)。
【0031】また、ステップ303において連続データ
信号線203がアサートされていると判断された場合に
は、リンクレジスタ180に格納ラインの番号を保持し
ておく(ステップS307)。
信号線203がアサートされていると判断された場合に
は、リンクレジスタ180に格納ラインの番号を保持し
ておく(ステップS307)。
【0032】図1及び図4を参照して、プロセッサ20
0からキャッシュメモリ100へのリードアクセスがヒ
ットする場合の動作について説明する。
0からキャッシュメモリ100へのリードアクセスがヒ
ットする場合の動作について説明する。
【0033】プロセッサ200からのアクセスの際、連
続データ信号線203がアサートされていれば(ステッ
プS401)、さらに最初データ信号線204がアサー
トされているか否かをチェックする(ステップS40
2)。ステップS401において、連続データ信号線2
03がアサートされていなければ単独データのアクセス
であるため、通常通りキャッシュメモリの索引を行う
(ステップS406)。
続データ信号線203がアサートされていれば(ステッ
プS401)、さらに最初データ信号線204がアサー
トされているか否かをチェックする(ステップS40
2)。ステップS401において、連続データ信号線2
03がアサートされていなければ単独データのアクセス
であるため、通常通りキャッシュメモリの索引を行う
(ステップS406)。
【0034】ステップS402において、最初データ信
号線204がアサートされていると判断した場合には、
前回連続データにアクセスしていないため、通常通りキ
ャッシュメモリの索引を行う(ステップS406)。ま
た、最初データ信号線204がアサートされていないと
判断した場合には、リンクレジスタ180に保持された
ライン番号に従ってデータアレイ120をアクセスする
(ステップS403)。
号線204がアサートされていると判断した場合には、
前回連続データにアクセスしていないため、通常通りキ
ャッシュメモリの索引を行う(ステップS406)。ま
た、最初データ信号線204がアサートされていないと
判断した場合には、リンクレジスタ180に保持された
ライン番号に従ってデータアレイ120をアクセスする
(ステップS403)。
【0035】ステップS401において連続データ信号
線203がアサートされていると判断した場合には、さ
らに今回アクセスした格納ラインにおけるフォワードリ
ンクの内容をリンクレジスタ180に保持しておく(ス
テップS405)。
線203がアサートされていると判断した場合には、さ
らに今回アクセスした格納ラインにおけるフォワードリ
ンクの内容をリンクレジスタ180に保持しておく(ス
テップS405)。
【0036】このように、本発明の実施の形態によれ
ば、連続データの隣接するデータの格納されているライ
ン番号をタグアレイ110のフォワードリンク及びバッ
クワードリンクに格納しておくことにより、連続データ
をアクセスする際にキャッシュメモリを索引することな
くライン番号を確定することができる。
ば、連続データの隣接するデータの格納されているライ
ン番号をタグアレイ110のフォワードリンク及びバッ
クワードリンクに格納しておくことにより、連続データ
をアクセスする際にキャッシュメモリを索引することな
くライン番号を確定することができる。
【0037】
【発明の効果】以上の説明で明らかなように、本発明に
よると、連続データをアクセスする際にキャッシュメモ
リを索引することなくライン番号を確定することがで
き、キャッシュメモリへのアクセスを高速に行うことが
できる。
よると、連続データをアクセスする際にキャッシュメモ
リを索引することなくライン番号を確定することがで
き、キャッシュメモリへのアクセスを高速に行うことが
できる。
【図1】本発明のキャッシュメモリの実施の形態の構成
を示すブロック図である。
を示すブロック図である。
【図2】本発明の実施の形態におけるタグアレイの構成
を示す図である。
を示す図である。
【図3】本発明の実施の形態におけるミスヒット時の動
作を表す図である。
作を表す図である。
【図4】本発明の実施の形態におけるリード時の動作を
表す図である。
表す図である。
100 キャッシュメモリ 110 タグアレイ 120 データアレイ 130,150 アドレスレジスタ 140,160 データレジスタ 170 制御回路 180 リンクレジスタ 200 プロセッサ 300 主記憶装置
Claims (6)
- 【請求項1】 連続データにおける隣接するデータの前
後関係を保持することを特徴とするキャッシュメモリ。 - 【請求項2】 少なくとも2つのラインを有するタグア
レイとこのタグアレイに対応するデータアレイとを含む
キャッシュメモリにおいて、前記タグアレイは前記ライ
ン毎に、 連続データにおける後方のデータが格納されているライ
ンの番号を示すバックワードリンクと、 連続データにおける前方のデータが格納されているライ
ンの番号を示すフォワードリンクとを含むことを特徴と
するキャッシュメモリ。 - 【請求項3】 連続データを前記キャッシュメモリから
読み出す場合において、前回アクセスしたラインにおけ
る前記フォワードリンクの内容を保持し、次回連続デー
タにアクセスする際のラインの番号を示すリンクレジス
タをさらに含むことを特徴とする請求項2記載のキャッ
シュメモリ。 - 【請求項4】 連続データを前記キャッシュメモリに格
納する場合において、前回アクセスしたラインの番号を
保持し、次回連続データにアクセスする際のラインにお
けるバックワードリンクの内容を示すリンクレジスタを
さらに含むことを特徴とする請求項2記載のキャッシュ
メモリ。 - 【請求項5】 少なくとも2つのラインを有するタグア
レイと、このタグアレイに対応するデータアレイと、連
続データについて前回アクセスしたラインの番号を保持
するリンクレジスタとを含むキャッシュメモリであっ
て、前記タグアレイは前記ライン毎に、連続データにお
ける後方のデータが格納されているラインの番号を示す
バックワードリンク及び連続データにおける前方のデー
タが格納されているラインの番号を示すフォワードリン
クを含むキャッシュメモリにおいて、 連続データの最初のデータであればその格納ラインにお
けるバックワードリンクを無効化し、 連続データの2番目以降のデータであればその格納ライ
ンにおけるバックワードリンクに前記リンクレジスタの
内容を格納するとともに、前記リンクレジスタが示すラ
インにおけるフォワードリンクに前記格納ラインの番号
を格納することを特徴とするキャッシュメモリにおける
連続データの格納方法。 - 【請求項6】 少なくとも2つのラインを有するタグア
レイと、このタグアレイに対応するデータアレイとを含
むキャッシュメモリであって、前記タグアレイは前記ラ
イン毎に、連続データにおける後方のデータが格納され
ているラインの番号を示すバックワードリンク及び連続
データにおける前方のデータが格納されているラインの
番号を示すフォワードリンクを含み、さらに前回アクセ
スしたラインにおける前記フォワードリンクの内容を保
持するリンクレジスタを含むキャッシュメモリにおい
て、 連続データの最初のデータであれば前記キャッシュメモ
リを索引し、 連続データの2番目以降のデータであれば前記リンクレ
ジスタの示すラインにアクセスすることを特徴とするキ
ャッシュメモリにおける連続データの読出し方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9239792A JPH1185613A (ja) | 1997-09-04 | 1997-09-04 | キャッシュメモリ |
US09/148,783 US6216198B1 (en) | 1997-09-04 | 1998-09-04 | Cache memory accessible for continuous data without tag array indexing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9239792A JPH1185613A (ja) | 1997-09-04 | 1997-09-04 | キャッシュメモリ |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1185613A true JPH1185613A (ja) | 1999-03-30 |
Family
ID=17049952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9239792A Pending JPH1185613A (ja) | 1997-09-04 | 1997-09-04 | キャッシュメモリ |
Country Status (2)
Country | Link |
---|---|
US (1) | US6216198B1 (ja) |
JP (1) | JPH1185613A (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2347765A (en) * | 1999-03-11 | 2000-09-13 | Ibm | Cache memory addressing system |
US7380059B2 (en) * | 2003-05-16 | 2008-05-27 | Pillar Data Systems, Inc. | Methods and systems of cache memory management and snapshot operations |
US7124243B2 (en) * | 2003-05-16 | 2006-10-17 | Pillar Data Systems, Inc. | Methods and systems of cache memory management and snapshot operations |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5649144A (en) * | 1994-06-13 | 1997-07-15 | Hewlett-Packard Co. | Apparatus, systems and methods for improving data cache hit rates |
US5717916A (en) * | 1994-09-30 | 1998-02-10 | Vlsi Technology, Inc. | Method for providing an improved fully associative cache memory having a finite state machine and linked list structure |
US5909704A (en) * | 1997-01-09 | 1999-06-01 | Raytheon Company | High speed address generator |
-
1997
- 1997-09-04 JP JP9239792A patent/JPH1185613A/ja active Pending
-
1998
- 1998-09-04 US US09/148,783 patent/US6216198B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6216198B1 (en) | 2001-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6496902B1 (en) | Vector and scalar data cache for a vector multiprocessor | |
US8499123B1 (en) | Multi-stage pipeline for cache access | |
US6378047B1 (en) | System and method for invalidating set-associative cache memory with simultaneous set validity determination | |
JPH06318177A (ja) | キャッシュ・ミス・ペナルティを減少させる方法、装置及びコンピュータ・システム | |
JPH0950400A (ja) | マルチプロセッサシステム | |
JPH0322155A (ja) | キャッシュメモリ装置 | |
US20070130426A1 (en) | Cache system and shared secondary cache with flags to indicate masters | |
JPH03225542A (ja) | データ記憶方法及びビットエンコードデータの処理回路 | |
JP3407808B2 (ja) | コンピュータシステム | |
US4648033A (en) | Look-aside buffer LRU marker controller | |
US6976130B2 (en) | Cache controller unit architecture and applied method | |
JPH1055276A (ja) | 多重レベル分岐予測方法および装置 | |
JPH1185613A (ja) | キャッシュメモリ | |
US4737908A (en) | Buffer memory control system | |
JP3997404B2 (ja) | キャッシュメモリ及びその制御方法 | |
JP3295728B2 (ja) | パイプラインキャッシュメモリの更新回路 | |
US6904500B2 (en) | Cache controller | |
JPH06103477B2 (ja) | 並列キャッシュメモリ | |
US6460118B1 (en) | Set-associative cache memory having incremental access latencies among sets | |
JP3729832B2 (ja) | キャッシュメモリ装置 | |
US6581139B1 (en) | Set-associative cache memory having asymmetric latency among sets | |
US6460117B1 (en) | Set-associative cache memory having a mechanism for migrating a most recently used set | |
JP2001202286A (ja) | キャッシュメモリのフラッシュ制御回路及びその制御方法 | |
JPH10207773A (ja) | バス接続装置 | |
JP2001344152A (ja) | キャッシュメモリ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20000530 |