[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JPH10124389A - キャッシュ装置 - Google Patents

キャッシュ装置

Info

Publication number
JPH10124389A
JPH10124389A JP8274381A JP27438196A JPH10124389A JP H10124389 A JPH10124389 A JP H10124389A JP 8274381 A JP8274381 A JP 8274381A JP 27438196 A JP27438196 A JP 27438196A JP H10124389 A JPH10124389 A JP H10124389A
Authority
JP
Japan
Prior art keywords
data
tag
cache
entry
address
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.)
Withdrawn
Application number
JP8274381A
Other languages
English (en)
Inventor
Shinichi Matsumoto
心一 松本
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.)
NEC Engineering Ltd
Original Assignee
NEC Engineering 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 NEC Engineering Ltd filed Critical NEC Engineering Ltd
Priority to JP8274381A priority Critical patent/JPH10124389A/ja
Publication of JPH10124389A publication Critical patent/JPH10124389A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 キャッシュ装置において、論理アドレスミス
ヒットによるメインメモリ上のTLBリード動作を抑制
して、アクセス動作を高速化する。 【解決手段】 キャッシュのデータ部6のエントリ数よ
りも、タグ部11のエントリ数を多く設定しておく。デ
ータ部6の#1〜#8の全エントリが満杯であっても、
タグ部11の#9,#10のエントリには他の論理アド
レス及びこれに対応した物理アドレス,オフセットアド
レス等を格納しておくことができるので、論理アドレス
のミスヒットは少なくなる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はキャッシュ装置に関
し、特にIO(Input/Output)キャッシュ装置に関する
ものである。
【0002】
【従来の技術】この種のIOキャッシュはIOアダプタ
とメインメモリとの間において、DMA(Direct Memor
y Access)転送を行う時に利用されるものである。この
IOキャッシュにおいて、IOアダプタからIOキャッ
シュにアクセスがあると、データのブロック単位でメイ
ンメモリからIOキャッシュへデータを格納し、IOキ
ャッシュにヒットしている間は、IOキャッシュとIO
アダプタとの間でデータの転送が行われ、メインメモリ
へのアクセスがない分、アクセス速度の高速化が図れる
ものである。
【0003】図4はこの種のIOキャッシュの従来のブ
ロック図である。図において、論理アドレスレジスタ1
はメインメモリへのアクセス論理アドレスを格納するも
のである。データ部6はメインメモリ(図示せず)の格
納データの一部をブロック単位に、例えば8エントリ格
納するキャッシュである。
【0004】タグ部11は論理アドレスタグ2,物理ア
ドレスタグ3,オフセットアドレスタグ4,バリッドビ
ット5を、共に8エントリ(データ部6のエントリと夫
々対応)有するものである。
【0005】比較回路7は論理アドレスレジスタ1の上
位ビットの論理アドレスS1と、この論理アドレスS1
にて検索された論理アドレスタグ2の出力S4との比較
を行い、不一致の場合、TLBアクセス要求信号S9を
アクティブ(有効)とし、また一致した場合はその一致
したエントリ番号を示すタグ選択信号S13を生成す
る。
【0006】選択回路8はタグ選択信号S13に応じて
物理アドレスタグ3のエントリの一つを選択して物理ア
ドレス信号S10を生成する。
【0007】比較判定回路9は論理アドレスレジスタ1
から出力される下位ビットのオフセットアドレス信号S
2とオフセットアドレスタグ4のオフセットアドレス信
号S6とを夫々比較し、タグ選択信号S13に応じたエ
ントリが一致した時でかつ、この信号S13に応じたバ
リッドビット5の出力S7が「有効」を示す時のみ、ヒ
ット判定信号S11をアクティブとする。
【0008】選択回路12はタグ選択信号S13に応じ
たエントリ指定タグ13のエントリ指定信号S14の一
つを選択してエントリ指定信号S15として出力する。
選択回路10はこのエントリ指定信号S15に応じてデ
ータ部6のエントリ出力S8の一つを選択してIOキャ
ッシュデータとして出力する。
【0009】
【発明が解決しようとする課題】この図4に示したIO
キャッシュにおいて、DMA転送要求でIOアダプタか
ら境界の異なる論理アドレスが複数発行される時、ペー
ジ境界の異なる論理アドレスの種類がIOキャッシュに
用意されているデータ部のエントリ数よりも多い場合、
IOアダプタからの論理アドレスとIOキャッシュにあ
るタグ論理アドレスとを比較した時ミスヒットする確率
が多くなる。
【0010】ミスヒットするとタグ情報のリプレースが
行われるために、既にメインメモリ上のアドレス変換テ
ーブル(TLB)から読込んだ物理アドレスを廃棄して
しまう。この論理アドレスのミスヒットによるリプレー
スが頻繁に発生すると、メインメモリ上のアドレス変換
テーブルから物理アドレスを読出す動作がシステムの性
能を落とすことになる。
【0011】本発明の目的は、論理アドレスのミスヒッ
トの発生を抑えてメインメモリ上のアドレス変換テーブ
ルの読出し動作を少なくすることにより、システム性能
の低下をなくしたキャッシュ装置を提供することであ
る。
【0012】
【課題を解決するための手段】本発明によれば、メイン
メモリの格納データの写しを格納するデータキャッシュ
と、このデータキャッシュに格納されるデータの論理及
び物理アドレス、当該データの有効性を示す有効情報、
当該データの前記データキャッシュにおける格納エント
リ位置を示すエントリ番号を夫々対応して格納するタグ
部と、前記メインメモリへのアクセス論理アドレスが前
記タグ部に格納されているか否かを判定するヒット判定
手段と、前記ヒット判定手段によるヒットの判定に応答
して、前記データキャッシュから格納データを読出し、
ミスヒットの判定に応答して前記メインメモリから格納
データを読出してこれを前記データキャッュ及びタグ部
ヘ夫々格納制御する制御手段とを含むキャッシュ装置で
あって、前記データキャッシュのエントリ数よりも前記
タグ部のエントリ数を大に選定してなることを特徴とす
るキャッシュ装置が得られる。
【0013】そして、前記制御手段は、前記データキャ
ッシュのエントリが満杯の場合におけるミスヒットの判
定に応答して、前記メインメモリからの読出しデータに
より前記データキャッシュの所定エントリ部の更新を行
うと共に、前記読出しデータに対応する論理及び物理ア
ドレス、有効情報、前記読出しデータの前記データキャ
ッシュにおける格納エントリ位置を示すエントリ番号
を、前記タグ部の空きエントリ部に夫々格納するように
したことを特徴とする。
【0014】また、前記制御手段は、前記データキャッ
シュの前記所定エントリ部に対応するタグ部の有効情報
を無効化するようにしたことを特徴としており、そし
て、前記制御手段は、前記ヒットの判定時において前記
タグ部の対応有効情報が無効を示す時、前記タグ部の対
応物理アドレスを読出すようにしたことを特徴としてい
る。
【0015】本発明の作用を述べると、データキャッシ
ュに対応するタグのエントリ数を、データキャッシュの
エントリ数よりも多く設けておくもので、これにより、
タグのエントリのリプレースの回数をできるだけ少なく
して、TLB情報の廃棄をなくし、余分なメインメモリ
からのTLB読出し動作を減らす。
【0016】
【発明の実施の形態】以下に、図面を用いて本発明の実
施例について説明する。
【0017】図1は本発明の実施例のブロック図であ
り、図4と同等部分は同一符号により示す。図1に示し
たIOキャッシュの仕様について説明する。本実施例で
はページサイズが4キロバイトページング方式仮想記憶
システムを想定している。IOアダプタは図示していな
いバスに複数あり、このバス上では論理アドレスによる
DMA転送を行う。論理アドレスから物理アドレスに変
換する時に使用するアドレス変換テーブル(TLB:Tr
anslation Look aside Buffer )は図示していないメイ
ンメモリ上にある。アドレスの変換はページ単位で行わ
れる。
【0018】データ部6は1エントリ当り64バイトの
容量で8エントリ(#1〜#8)分あり、合計で512
バイトの容量がある。タグ部11には論理アドレス2,
物理アドレス3,オフセットアドレス4,バリッドビッ
ト5,エントリ指定ビット6の情報を格納するタグを持
ち、12エントリ(#1〜#12)分を持つ。
【0019】この実施例では、論理アドレスのビット幅
を32ビットとする。ページサイズが4キロバイトなの
で上位の20ビットが論理アドレスから物理アドレスへ
の変換対象になる。下位12ビットは論理アドレスと物
理アドレスは同じであり、ここではオフセットアドレス
と呼ぶ。データ部6のエントリのデータ容量は64バイ
トであるためオフセットアドレスの12ビットのうち、
下位5ビットはIOキャッシュからの読出し時のワード
選択に使用する。
【0020】図2はこの図1の回路の動作を示すフロー
チャートであり、図3(A)はその動作タイミングを示
している。尚、図3(B)は従来の構成での動作タイミ
ングを示し、図3(C)は図3(A),(B)の動作タ
イミング中の各記号等の読み方を示すものである。
【0021】以下に、これ等各図を参照しつつ本発明の
実施例の動作について説明する。
【0022】先ず、論理アドレスにおいて不一致となる
場合のミスヒットについて説明する。
【0023】図示していないIOアダプタからのDMA
アクセス要求がくると(ステップ101)、IOアダプ
タが出力する論理アドレスを論理アドレスレジスタ1に
格納する(ステップ102)。比較回路7は論理アドレ
スレジスタ1から出力する上位20ビットの論理アドレ
ス信号S1と論理アドレスタグ2から出力する全ての論
理アドレス信号S4を比較する(ステップ103)。
【0024】初期状態では、論理アドレスタグ2には何
も格納されていないので論理アドレスは不一致になり、
比較回路7はTLBアクセス要求信号S9を有効にす
る。図示していないメモリ制御部はTLBアクセス要求
信号S9が有効になると、論理アドレス信号S1からT
LBがあるメモリアドレスを計算してメインメモリのリ
ードアクセスを行う(ステップ106)。メインメモリ
から読出されたメモリリードデータ(物理アドレス)S
3は物理アドレスタグ3の#1に格納される(ステップ
107,108)。
【0025】また、論理アドレス信号S1は論理アドレ
スタグ2の#1に、オフセットアドレス信号S2はオフ
セットアドレスタグ4の#1に夫々格納される(ステッ
プ108)。エントリ指定のタグ11の#1を“1”に
する(ステップ109,110)。同時に、図示してい
ないメモリ制御部は得られたメモリリードデータ(物理
アドレス)信号S3とオフセットアドレス信号S2から
メモリアドレスを計算して、データ部6に格納するデー
タをメインメモリから読出す。読出された64バイトの
メモリリードデータ信号S3はデータ部6のエントリ#
1に格納して(ステップ111)、バリッドビット5の
#1を有効にする。
【0026】次に、ヒットの場合について説明する。論
理アドレスレジスタ1から出力される論理アドレス信号
S1と論理アドレスタグ2から出力される論理アドレス
信号S4を比較回路7で比較した結果、論理アドレスタ
グ2の#1にヒットするとタグ選択信号S13は、
“1”を出力する(ステップ103)。同時に論理アド
レスレジスタ1から出力されるオフセットアドレス信号
S2とオフセットアドレスタグ4のオフセットアドレス
信号S6を比較判定回路9で比較して、タグ選択信号S
13で#1の比較結果を選択する。同時にバリッドビッ
ト5の#1を選択して、ヒット/ミスヒットを判定する
(ステップ104)。ここではオフセットアドレスは一
致し、バリッドビットも有効なのでヒット判定信号S1
1が有効になる。
【0027】一方、選択回路12はタグ選択信号S13
の値が“1”なのでエントリ指定タグ11の#1の内容
をエントリ指定信号S15に出力する。選択回路10は
データ部6の#1を選択してS12にIOキャッシュの
データを出力する(ステップ105)。
【0028】オフセットアドレスで不一致するミスヒッ
トの場合について説明する。比較回路7で論理アドレス
信号S1は論理アドレスタグ2の#1で一致すると、タ
グ選択信号S13は“1”を出力する(ステップ10
3)。選択回路8は物理アドレスタグ3の#1の物理ア
ドレス信号S5を信号S10へ出力する。比較判定回路
9でオフセットアドレス信号S2とオフセットアドレス
タグ4の#1の不一致を検出すると、ヒット判定信号S
11は有効にならない(ステップ104)。
【0029】メモリ制御部は物理アドレス信号S10と
オフセットアドレス信号S2からメモリアドレスを生成
してメインメモリのリードアクセスを行う。読出された
メモリリードデータS3はデータレジスタ6の#1に格
納し、オフセットアドレスタグ4の#1にオフセットア
ドレス信号S2を格納してオフセットアドレスを更新す
る(ステップ108〜111)。そしてヒット判定信号
S11を有効にする。
【0030】9種類以上の異なった論理アドレスによる
IOキャッシュアクセスの場合について述べる。上記の
動作を繰返し比較回路7で論理アドレスで不一致による
ミスヒットが8回行われた時は、タグ部の論理アドレス
タグ2,物理アドレスタグ3,オフセットアドレスタグ
4,バリッドビット5,エントリ指定タグ11の#1か
ら#8まで有効なタグ情報が格納されている。
【0031】また、エントリ指定タグ11の#1から#
8には順に、“1,2,3,4,5,6,7,8”とな
り、データ部6のエントリを選択する値が格納されてい
る。この状態の時に、更に異なった論理アドレスによる
IOキャッシュアクセスがあると、バリッドビット11
の#1から#8のいずれかを無効化して(ステップ11
2)、そのタグに対応するデータ部6をリプレースす
る。ここではタグ部の#2をリプレースの対象として説
明する。
【0032】比較回路7で論理アドレスの不一致が発生
してからTLBリードを行い、次にメインメモリから読
出したデータをデータ部6に格納するまでの処理手順は
前述した論理アドレスで不一致する場合のミスヒットの
場合と同様である。その時のタグの更新はバリッドビッ
ト5の#2を無効にする(ステップ113)。
【0033】論理アドレスタグ2の#9,物理アドレス
タグ3の#9,オフセットアドレスタグ4の#9には夫
々のアドレスが格納される。エントリ指定タグ11の#
9にはエントリ指定タグ11の#2の内容“2”が格納
される(ステップ110)。メインメモリから読出され
たメモリリードデータ(転送データ)はデータ部6の#
2に格納され、バリッドビット5の#9が有効になる。
【0034】論理アドレスタグと一致したがバリッドビ
ットが無効の場合について説明する。前記の動作後、バ
リッドビット5の#2が無効の時、論理アドレス2の#
2と一致するIOキャッシュアクセスがあると、比較回
路7は、論理アドレスが一致するのでTLBアクセス要
求信号S9は有効にならない。タグ選択信号S13によ
って比較判定回路9はバリッドビット5の#2が無効で
あるためヒット判定信号S11は有効にならない。
【0035】この場合は既に物理アドレスが判っている
ので、物理アドレス信号S10とオフセットアドレス信
号S2からメモリアドレスを計算してメインメモリから
データを読出しデータ部6へデータを格納する。バリッ
ドビット5の#2を有効にするため、既に有効になって
いるバリッドビット5の#1,#3から#9のいずれか
を無効にする。バリッドビット5の#3を無効にする場
合、エントリ指定タグ11の#2はエントリ指定タグ1
1の#3の“3”が設定される。データのリプレース対
象はデータ部6の#3になる。
【0036】図3(A)に示す如く、本発明では、10
回目のキャッシュアクセスにおいても、データキャッシ
ュ6のエントリ数(8)よりもタグ部13のエントリ数
(12)が大となっているので、メインメモリへのTL
Bリードの発生が不要となり、図3(B)に示す如く、
従来では、データキャッシュ部とタグ部とのエントリ数
は一対一になって等しくなっているので、10回目では
メインメモリへのTLBリードの発生が生じる。
【0037】尚、エントリのリプレースアルゴリズムに
ついては、周知のものを使用できるが、例えば一般的な
LRU(Last Recently Used)アルゴリズムを用いるこ
とができる。
【0038】
【発明の効果】以上述べた如く、本発明によればデータ
部のエントリ数よりもタグ部のエントリ数を大に選定す
ることにより、論理アドレスミスヒットの発生を少なく
して、メインメモリ上のTLBリード動作を減少せしめ
ることができ、よって、アクセスの高速化が図れる。
【図面の簡単な説明】
【図1】本発明の実施例のブロック図である。
【図2】図1のブロックの動作を示すフローチャートで
ある。
【図3】(A)は図1のブロックの動作のタイミング
図、(B)は従来例の動作のタイミング図、(C)は
(A),(B)のタイミング図の見方を説明するための
図である。
【図4】従来のIOキャッシュのブロック図である。
【符号の説明】
1 論理アドレスレジスタ 2 論理アドレスタグ 3 物理アドレスタグ 4 オフセットアドレスタグ 5 バリッドビット 6 データ部 7 比較回路 8,10,12 選択回路 9 比較選択回路 11 タグ部 13 エントリ指定タグ

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 メインメモリの格納データの写しを格納
    するデータキャッシュと、このデータキャッシュに格納
    されるデータの論理及び物理アドレス、当該データの有
    効性を示す有効情報、当該データの前記データキャッシ
    ュにおける格納エントリ位置を示すエントリ番号を夫々
    対応して格納するタグ部と、前記メインメモリへのアク
    セス論理アドレスが前記タグ部に格納されているか否か
    を判定するヒット判定手段と、前記ヒット判定手段によ
    るヒットの判定に応答して、前記データキャッシュから
    格納データを読出し、ミスヒットの判定に応答して前記
    メインメモリから格納データを読出してこれを前記デー
    タキャッュ及びタグ部ヘ夫々格納制御する制御手段とを
    含むキャッシュ装置であって、前記データキャッシュの
    エントリ数よりも前記タグ部のエントリ数を大に選定し
    てなることを特徴とするキャッシュ装置。
  2. 【請求項2】 前記制御手段は、前記データキャッシュ
    のエントリが満杯の場合におけるミスヒットの判定に応
    答して、前記メインメモリからの読出しデータにより前
    記データキャッシュの所定エントリ部の更新を行うと共
    に、前記読出しデータに対応する論理及び物理アドレ
    ス、有効情報、前記読出しデータの前記データキャッシ
    ュにおける格納エントリ位置を示すエントリ番号を、前
    記タグ部の空きエントリ部に夫々格納するようにしたこ
    とを特徴とする請求項1記載のキャッシュ装置。
  3. 【請求項3】 前記制御手段は、前記データキャッシュ
    の前記所定エントリ部に対応するタグ部の有効情報を無
    効化するようにしたことを特徴とする請求項2記載のキ
    ャッシュ装置。
  4. 【請求項4】 前記制御手段は、前記ヒットの判定時に
    おいて前記タグ部の対応有効情報が無効を示す時、前記
    タグ部の対応物理アドレスを読出すようにしたことを特
    徴とする請求項3記載のキャッシュ装置。
JP8274381A 1996-10-17 1996-10-17 キャッシュ装置 Withdrawn JPH10124389A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8274381A JPH10124389A (ja) 1996-10-17 1996-10-17 キャッシュ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8274381A JPH10124389A (ja) 1996-10-17 1996-10-17 キャッシュ装置

Publications (1)

Publication Number Publication Date
JPH10124389A true JPH10124389A (ja) 1998-05-15

Family

ID=17540879

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8274381A Withdrawn JPH10124389A (ja) 1996-10-17 1996-10-17 キャッシュ装置

Country Status (1)

Country Link
JP (1) JPH10124389A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6928521B1 (en) 2000-08-01 2005-08-09 International Business Machines Corporation Method, system, and data structures for using metadata in updating data in a storage device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6928521B1 (en) 2000-08-01 2005-08-09 International Business Machines Corporation Method, system, and data structures for using metadata in updating data in a storage device

Similar Documents

Publication Publication Date Title
US6014732A (en) Cache memory with reduced access time
JP2554449B2 (ja) キャッシュ・メモリを有するデータ処理システム
US6304944B1 (en) Mechanism for storing system level attributes in a translation lookaside buffer
JP3666689B2 (ja) 仮想アドレス変換方法
US6175906B1 (en) Mechanism for fast revalidation of virtual tags
JPH06110781A (ja) キャッシュメモリ装置
JPH0628262A (ja) ルックアサイドバッファおよび仮想から物理的へアドレスを高速に翻訳する方法
JPH0512116A (ja) キヤツシユメモリ制御装置
US9720847B2 (en) Least recently used (LRU) cache replacement implementation using a FIFO storing indications of whether a way of the cache was most recently accessed
US10997078B2 (en) Method, apparatus, and non-transitory readable medium for accessing non-volatile memory
US8621152B1 (en) Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access
JP2009512943A (ja) 多階層の変換索引緩衝機構(TLBs)フィールドの更新
JP3045952B2 (ja) フルアソシアティブ・アドレス変換器
JP2007048296A (ja) 複数のアドレス・キャッシュ・エントリーを無効にする方法、装置およびシステム
US6311253B1 (en) Methods for caching cache tags
US6686920B1 (en) Optimizing the translation of virtual addresses into physical addresses using a pipeline implementation for least recently used pointer
EP0173909B1 (en) Look-aside buffer least recently used marker controller
EP0212129B1 (en) Method of updating information in a translation lookaside buffer
JP3210637B2 (ja) データ処理システム内のキャッシュ・メモリにアクセスするための方法およびシステム
JP2846697B2 (ja) キャッシュメモリ制御装置
EP0486154B1 (en) Method of operating a virtual memory system
US6480940B1 (en) Method of controlling cache memory in multiprocessor system and the multiprocessor system based on detection of predetermined software module
JPH10124389A (ja) キャッシュ装置
US6915405B2 (en) Emulated target associative memory system with a multi-digit incrementable validity counter
US6938145B2 (en) Associative memory system with a multi-digit incrementable validity counter

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20040106