JP3260466B2 - メモリ更新方式 - Google Patents

メモリ更新方式

Info

Publication number
JP3260466B2
JP3260466B2 JP06231193A JP6231193A JP3260466B2 JP 3260466 B2 JP3260466 B2 JP 3260466B2 JP 06231193 A JP06231193 A JP 06231193A JP 6231193 A JP6231193 A JP 6231193A JP 3260466 B2 JP3260466 B2 JP 3260466B2
Authority
JP
Japan
Prior art keywords
memory
storage means
tlb
register
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.)
Expired - Fee Related
Application number
JP06231193A
Other languages
English (en)
Other versions
JPH06274418A (ja
Inventor
雅俊 小藤
徹 福田
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 Corp
Original Assignee
NEC Corp
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 Corp filed Critical NEC Corp
Priority to JP06231193A priority Critical patent/JP3260466B2/ja
Publication of JPH06274418A publication Critical patent/JPH06274418A/ja
Application granted granted Critical
Publication of JP3260466B2 publication Critical patent/JP3260466B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はメモリ更新回路、特に高
速メモリ素子を使用し、主記憶装置上のデータを高速に
アクセスするキャッシュメモリや、主記憶装置に設けら
れたアドレス変換テーブルを使用して得られる仮想アド
レスから実アドレスへ変換を高速におこなうTLB(テ
ーブルルックアサイドバッファ)のメモリ更新回路に関
する。
【0002】
【従来の技術】今日の情報処理装置は、主記憶装置にあ
るデータを高速にアクセスするため主記憶装置のデータ
の写しを記憶するキャッシュメモリや、主記憶装置にあ
るアドレス変換テーブルを使用して得られる仮想アドレ
スから実アドレスへ変換を高速におこなうため仮想アド
レスと実アドレスの対を記憶するTLBを備えることが
一般的になっている。このキャッシュメモリやTLBに
使われるメモリ素子のスピードは情報処理装置のクロッ
クサイクルを決定する要因となりうるため、高速のメモ
リ素子を使用する必要がある。
【0003】また、キャッシュメモリ及びTLBは、通
常、複数のセット構成をとる。複数セット構成にする
と、新規のデータを登録する場合にどのセットに登録す
るかを指定するためには、登録済みのデータの使用頻度
をメモリに記録しておき、登録の際にこの記録をこのメ
モリから読みだし、使用頻度の少ないセットに書き込む
というLRU方式と呼ばれる技法を採用する必要があ
る。
【0004】従来のこの種のメモリ更新回路は、キャッ
シュメモリ及びTLBに使用するメモリを第一のメモリ
情報処理装置のクロックサイクルと同一のサイクルで使
用されるため、LRU方式に使用する使用頻度を記録す
る第二のメモリには上記クロックサイクルと同一のサイ
クルで使用頻度を記録する、すなわち書き込みが行われ
ていた。
【0005】図3は従来のメモリ更新回路の一例を示す
2セットのTLBのブロック図である。図3を使用し
て、仮想アドレスレジスタ3に格納されている仮想アド
レスからTLBを使用してアドレス変換を行い、得られ
た実アドレスを実アドレスレジスタ4へ格納し、その際
使用したTLBのセット番号をLRUメモリ21へ格納
する処理を説明する。
【0006】TLBはTLB−K0とTLB−K1で表
され仮想アドレスの上位部を記憶する2セットのTLB
キー部1と、TLB−D0とTLB−D1で表され対応
する実アドレスの上位部を記憶する2セットのTLBデ
ータ部2とで構成される。仮想アドレスの上位部は仮想
アドレスレジスタ3の出力の一部である出力11であ
り、仮想アドレスの中位部は仮想アドレスレジスタ3の
出力12であり、この二つの部分が実アドレスの上位部
へ変換される。
【0007】出力12でアクセスされたTLBキー部1
は、仮想アドレス上位部である出力11と比較器8及び
9で比較され、一致がとれたセットのTLBデータ部を
セレクタ10で選択し、実アドレス上位部として実アド
レスレジスタ4へ格納される。同時に実アドレスの下位
部は、仮想アドレスの下位部と等しく出力13がそのま
ま実アドレスレジスタ4へ格納され、アドレス変換が終
了する。この時、TLBをアクセスした仮想アドレスの
中位部はメモリアドレスレジスタ5に、比較器8、9の
比較結果はフリップフロップであるFF6及びFF7に
格納される。
【0008】次のタイミングで、メモリアドレスレジス
タ5はレジスタ19へ、FF6とFF7はOR回路17
にて論理ORをとり、すなわちTLBヒット状態はFF
18へ、またFF7はそのままFF20へ格納される。
レジスタ19はLRUメモリ21のアドレス、FF18
は書き込み指示信号、FF20は書き込みデータとなり
LRUメモリ21への書き込みを行う。すなわちヒット
したセットの番号が記録される。TLBミスが発生する
と、すなわちFF18が論理値“0”であればTLBメ
モリへの書き込みはおこなわれず、反転回路23により
LRUメモリ21の内容が、FF22に読み出され、こ
の論理値により次に書くべきTLBのセットが選択され
る。
【0009】
【発明が解決しようとする課題】キャッシュメモリ及び
TLBは所望のデータが登録されている確率が高いた
め、登録されているデータがない場合に所望のデータを
得てこのデータを書き込む頻度は少ない。このため、第
一のメモリに使用されるメモリ素子は、読みだしサイク
ルは上記クロックサイクル以内に収まる必要があるが、
書き込みサイクルは余裕のある方式を採用できる。しか
し、第二のメモリに使用されるメモリ素子は、逆に読み
だしサイクルには余裕があるが、TLBアクセスが連続
して行われ、そのアクセスがTLBヒットであれば、こ
の記録動作は各クロックサイクルで行われるため、LR
Uメモリ21は連続した書き込み動作を行わなければな
らないため、書き込みサイクルは上記クロックサイクル
以内で収まる特性が必要となる。
【0010】一方、最近のメモリ素子は、読みだしサイ
クルが高速で書き込みサイクルは比較的低速である特性
をもつ傾向がある。したがって、上述した従来のメモリ
更新回路では、書き込みサイクルに高速を要求される第
二のメモリに使用されるメモリ素子の書き込み速度が情
報処理装置のクロックサイクルを決定することになるの
で、LRUメモリ21にはクロックサイクルと同一の書
き込みサイクルを実行できる高速のメモリ素子を使用す
る必要があるという問題点があった。
【0011】
【課題を解決するための手段】本発明の回路は、主記憶
装置に存在するデータやアドレス変換テーブルを高速に
アクセスするため使用される複数セットのバッファメモ
リである第一のメモリと、該複数セットの第一のメモリ
に対し書き込みするセットの順序を指定するため第一の
メモリの使用履歴を記憶する第二のメモリを有し、第一
のメモリは該情報処理装置のクロックサイクルと同一の
サイクルにてアクセスされ、第二のメモリには該クロッ
クサイクルの複数サイクルにて書き込むメモリ素子を使
用している情報処理装置におけるメモリ更新回路におい
て、前記第一のメモリの使用結果を記憶する第一の記憶
手段と、第一の記憶手段の出力から得られる第二のメモ
リに対する書き込みデータを複数個記憶する第二の記憶
手段と、前記第二の記憶手段の出力を記憶し第二のメモ
リへの書き込みデータとなる第三の記憶手段と、該第一
から第三の記憶手段には第二のメモリをアクセスするア
ドレス及び該記憶手段の内容が有効かどうかをしめすV
ビットをも含み、前記第一の記憶手段と前記第二の記憶
手段にて各々のアドレスを比較する比較手段と、該比較
手段における比較結果が同一であれば、対応する第二の
記憶手段のVビットを落とす無効化手段を有することを
特徴とする。
【0012】
【実施例】次に本発明について図面を参照して説明す
る。図1は本発明の第1の実施例である。
【0013】仮想アドレスレジスタ3に格納されている
仮想アドレスが、TLBを使用しアドレス変換され実ア
ドレスが実アドレスレジスタ4へ、またTLBアクセス
アドレスがメモリアクセスレジスタ5へ、TLBのセッ
ト毎のヒット状況がFF6及びFF7に格納されること
は図3の従来と変るところがない。これらの3種のレジ
スタ及びF/Fを第一の記憶手段と定義する。
【0014】また次のタイミングで、メモリアドレスレ
ジスタ5はレジスタ41へ、FF6とFF7はOR回路
17にて論理ORをとり、すなわちTLBヒット状態を
FF40へ、またヒットしたセット番号であるFF7は
そのままFF42へ格納されることも図3と実質上同一
である。
【0015】しかし、FF40,レジスタ41,FF4
2は次のタイミングでそれぞれFF43,レジスタ4
4,FF45へ移送され、また次のタイミングではそれ
ぞれFF46,レジスタ47,FF48へ移送される。
この3段のレジスタ群を第二の記憶手段と定義する。
【0016】その次のタイミングでは、FF46,レジ
スタ47,FF48はそれぞれFF49,レジスタ5
0,FF51へ移送され、それぞれLRUメモリ91の
書き込み指示信号,アクセスアドレス,書き込みデータ
となる。これらの3種のレジスタ及びF/Fを第三の記
憶手段と定義する。
【0017】ただし、ここでLRUメモリ91はクロッ
クサイクル2回(以降2Tと略す)で書き込みを行う比
較的遅いメモリ素子を使用している。この2Tで前半の
サイクルはFF80が論理値“0”、後半のサイクルは
論理値“1”となることで区別する。従って、第三の記
憶手段であるFF49,レジスタ50,FF51の値は
2T間変化できないこと及びこれらのレジスタ群より前
段の論理はクロックサイクル1回(以降1Tと略す)で
動作するため、図示はしていないが第二の記憶手段にV
ビットが論理値“1”である有効なデータたまった場合
に前記前段の動作を止める論理が存在する。
【0018】第二の記憶手段には比較器30,31及び
32が付帯し、メモリアドレスレジスタ5の値と第二の
記憶手段に記憶された値が比較される。一致がとれた場
合は、対応するVビットを記憶しているF/Fすなわち
FF40,FF43,FF16をリセットする作用をす
る。図4を使用してこのVビットのリセット動作を詳細
に説明する。
【0019】図4はFF40,FF43,FF46の詳
細図である。ここでT1信号とはFF80の出力であ
り、COMP信号は対応する比較器の出力である。従っ
て、COMP信号が論理値“0”のときはVFF81の
値がそのままANDゲート82を通し後段へ伝搬する
が、COMP信号が論理値“1”のときはVFF81の
値は“0”に押さえられる。
【0020】またT1信号が論理値“0”のときはLR
Uメモリ91の書き込みサイクルの前半であり、セレク
タ80によりCOMP信号の論理値を反映するANDゲ
ート82の出力を選択することによりVビットの値をそ
のまま保持するかリセットし、T1信号が論理値“1”
のときはLRUメモリ91の書き込みサイクルの後半で
あり前段のVビットの出力を選択し伝搬させる。
【0021】すなわちCOMP信号が論理値“1”にな
ることで自分自信のVビットをリセットし、LRUメモ
リ91の書き込みサイクルの後半で前段のVビートを受
け取る動作をする。従って、TLBアクセスの結果が第
一の記憶手段に格納されると、複数団数、すなわちこの
例では3段の第二の記憶手段のメモリアドレス部を比較
して、合致している第二の記憶手段のVビットをリセッ
トする。
【0022】言い替えれば、以前にTLBをアクセスし
てLRUメモリ91にヒットしたセットを登録するため
に、本例では3段構成の第2の記憶手段に保持されてい
る仮想アドレスの中位部と、今回TLBをアクセスして
第一の記憶手段に保持された仮想アドレスの中位部が同
一であれば、第二の記憶手段に保持されている情報のう
ち同一であった段の情報を無効にする機能を提供するこ
とになる。すなわち上記無効動作が多く働けば、2Tで
動作する第3の記憶手段のための時間の余裕が生まれ、
2Tの書き込みサイクルの素子を使用する欠点は見えな
くなる。
【0023】一般に仮想アドレスから実アドレスへのア
ドレス変換は4キロバイトのページ単位にておこなわれ
るため、同一ページにあるアドレスはTLBに登録され
る仮想アドレスと実アドレスの対は同一の対が使用され
る。情報処理装置においての主記憶装置へのアクセス傾
向からアドレス分布には局所性があるため、TLBはヒ
ットする確立は高く、かつ同一ページへのアクセスの確
立が高いことが知られている。前記同一の対であること
は、すなわち図1において、メモリアドレスレジスタ5
に格納され、レジスタ41,レジスタ44,レジスタ4
7,レジスタ50と移送される仮想アドレスの中位部が
同一であり、かつTLBのセットが同一であることにな
る。従って、上記無効動作が働く頻度が高く、2Tの書
き込みサイクルの素子を使用する欠点は実際には見えな
くなる。
【0024】次に本発明の第2の実施例を示す図2を参
照すると、仮想アドレスレジスタ3に格納されている仮
想アドレスが、TLBを使用しアドレス変換され実アド
レスが実アドレスレジスタ4へ、またTLBアクセスア
ドレスがメモリアクセスレジスタ5へ、TLBのセット
毎のヒット状況がFF6及びFF7に格納されることは
第1の実施例と同一である。これらの3種のレジスタ及
びF/Fを第一の記憶手段と定義する。また次のタイミ
ングで、メモリアドレスレジスタ5はレジスタであるレ
ジスタ61へ、FF6とFF7はOR回路17にて論理
ORをとり、すなわちTLBヒット状態をFF60へ、
またヒットしたセット番号であるFF7ほそのままFF
62へ格納されること、さらに、FF60,レジスタ6
1,FF62は次のタイミングでそれぞれFF63,レ
ジスタ64,FF65へ移送され、また次のタイミング
ではそれぞれFF66,レジスタ67,FF68へ移送
される。この3段のレジスタ群を第二の記憶手段と定義
する。その次のタイミングではそれぞれFF69,レジ
スタ70,FF71へ移送され、それぞれLRUメオリ
91の書き込み指示信号,アクセスアドレス,書き込み
データとなる。これらの3種のレジスタ及びF/Fを第
三の記憶手段と定義する。ただし、ここでLRUメモリ
91はクロックサイクル2回(以降2Tと略す)で書き
込みを行う比較的遅いメモリ素子を使用している。この
2Tで前半のサイクルはFF80が論理値“0”、後半
のサイクルは論理値“1”となることで区別する。従っ
て、第三の記憶手段であるFF69,レジスタ70,F
F71の値は2T間変化できないこと及びこれらのレジ
スタ群より前段の論理はクロックサイクル1回(以降1
Tと略す)で動作するため、図示はしていないが第二の
記憶手段にVビットが論理値1である有効なデータたま
った場合に前記前段の動作を止める論理が存在する。
【0025】第二の記憶手段には比較器30,31及び
32が追加され、メモリアドレスレジスタ5の値と第二
の記憶手段に記憶された値が比較され一致がとれた場合
は、対応するヒットしたTLBのセット番号を記憶して
いるF/FすなわちFF62,FF65,FF68の値
を第一の記憶手段の一つであるFF7の値に置き換える
作用をする。図5を使用してこのセット番号の置き換え
動作を詳細に説明する。
【0026】図5はFF62とセレクタ72,FF65
とセレクタ73,FF68とセレクタ74の詳細図であ
る。ここでT1信号とはFF80の出力であり、COM
P信号は対応する比較器の出力である。従って、COM
P信号が論理値“0”のときはLFF97の値がそのま
まセレクタ92で選択し後段へ伝搬するが、COMP信
号が論理値“1”のときは図2の第一の記憶手段の一つ
であるFF7の出力である信号96をセレクタ92で選
択し後段へ伝搬する。
【0027】またT1信号が論理値“0”のときはCO
MP信号の論理値で制御されたセレクタ92の出力を選
択することによりLFF97の値をそのまま保持するか
FF7に置き換えるかを行い、T1信号が論理値“1”
のときはLRUメモリ91の書き込みサイクルの後半で
あり前段のLFFの出力を選択し伝搬させる。
【0028】すなわちCOMP信号が論理値1になるこ
とで自分自信のLFFをFF7へ置き換え、LRUメモ
リ91の書き込みサイクルの後半で前段のLFFを受け
取る動作をする。従って、TLBアクセスの結果が第一
の記憶手段に格納されると、複数段数すなわちこの例で
は3段の第二の記憶手段のメモリアドレス部を比較し
て、合致している第二の記憶手段のセット番号をTLB
アクセス結果と置き換える。
【0029】言い替えれば、以前にTLBをアクセスし
てLRUメモリ91にヒットしたセットを登録するため
に、本例では3段構成の第2の記憶手段に保持されてい
る仮想アドレスの中位部と、今回TLBをアクセスして
第一の記憶手段に保持された仮想アドレスの中位部が同
一であれば、第二の記憶手段に保持されている情報のう
ち同一であった段の情報を今回のアクセス結果で置き換
える機能を提供することになる。すなわち上記無効動作
が多く働けば、2Tで動作する第3の記憶手段のだめの
時間の余裕が生まれ、2Tの書き込みサイクルの素子を
使用する欠点は見えなくなる。
【0030】
【発明の効果】以上説明したように本発明は、書き込み
サイクルが情報処理装置のクロックサイクルより比較的
低速なメモリ素子をLRUに使用した場合でも、TLB
をアクセスするアドレスの局所性を利用してLRUへの
書き込み回数を削減する記憶手段を追加する事により、
書き込みサイクルが前記クロックサイクルに収まる高速
なメモリ素子を使用したLRUの記憶内容と同等な記憶
内容を管理できる効果がある。
【0031】最近のメモリ素子は、読みだしサイクルが
高速で書き込みサイクルは比較的低速である特性をもつ
傾向があり、従来、書き込みサイクルに高速を要求され
るLRUから、本発明によりこの要求条件を取り除ける
ことが可能となるため、メモリ素子の速度が大きな要素
となる情報処理装置のクロックサイクルを高速化する効
果がある。
【図面の簡単な説明】
【図1】本発明の第1の実施例のブロック図である。
【図2】本発明の第2の実施例のブロック図である。
【図3】従来例のブロック図である。
【図4】図1に示した第2の記憶手段のVビットの詳細
回路図である。
【図5】図2に示した第2の記憶手段の一部の詳細回路
図である。
【符号の説明】
1 TLBキー部 2 TLBデータ部 3 仮想アドレスレジスタ 4 実アドレスレジスタ 5 メモリアドレスレジスタ 6,7,18,20,22,40,42,43,45,
46,48,49,51,60,62,63,65,6
6,68,69,71,80 フリップフロップ(F
/F) 8,9,30,31,32 比較器 10,72,73,74,86,90,92 セレク
タ 17 OR回路 19,41,44,47,50,61,64,67,7
0 レジスタ 21,91 LRUメモリ 81 VF/F 97 LF/F
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平2−301845(JP,A) 特開 平2−311937(JP,A) 特開 平1−216447(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/08 - 12/12

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 主記憶装置に存在するデータやアドレス
    変換テーブルを高速にアクセスするため使用される複数
    セットのバッファメモリである第一のメモリと、該複数
    セットの第一のメモリに対し書き込みするセットの順序
    を指定するため第一のメモリの使用履歴を記憶する第二
    のメモリを有し、第一のメモリは該情報処理装置のクロ
    ックサイクルと同一のサイクルにてアクセスされ、第二
    のメモリには該クロックサイクルの複数サイクルにて書
    き込むメモリ素子を使用している情報処理装置における
    メモリ更新回路において、 前記第一のメモリの使用結果を記憶する第一の記憶手段
    と、第一の記憶手段の出力から得られる第二のメモリに
    対する書き込みデータを複数個記憶する第二の記憶手段
    と、前記第二の記憶手段の出力を記憶し第二のメモリへ
    の書き込みデータとなる第三の記憶手段と、該第一から
    第三の記憶手段には第二のメモリをアクセスするアドレ
    ス及び該記憶手段の内容が有効かどうかをしめすVビッ
    トをも含み、前記第一の記憶手段と前記第二の記憶手段
    にて各々のアドレスを比較する比較手段と、該比較手段
    における比較結果が同一であれば、対応する第二の記憶
    手段のVビットを落とす無効化手段を有することを特徴
    とするメモリ更新回路。
  2. 【請求項2】 前記無効化手段の代りに、前記比較手段
    における比較結果が同一であれば、対応する前記第二の
    記憶手段の書き込みデータを前記第一の記憶手段の書き
    込みデータにて置換する置換手段を設けたことを特徴と
    する請求項1記載のメモリ更新回路。
JP06231193A 1993-03-23 1993-03-23 メモリ更新方式 Expired - Fee Related JP3260466B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP06231193A JP3260466B2 (ja) 1993-03-23 1993-03-23 メモリ更新方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP06231193A JP3260466B2 (ja) 1993-03-23 1993-03-23 メモリ更新方式

Publications (2)

Publication Number Publication Date
JPH06274418A JPH06274418A (ja) 1994-09-30
JP3260466B2 true JP3260466B2 (ja) 2002-02-25

Family

ID=13196470

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06231193A Expired - Fee Related JP3260466B2 (ja) 1993-03-23 1993-03-23 メモリ更新方式

Country Status (1)

Country Link
JP (1) JP3260466B2 (ja)

Also Published As

Publication number Publication date
JPH06274418A (ja) 1994-09-30

Similar Documents

Publication Publication Date Title
US4168541A (en) Paired least recently used block replacement system
KR100959014B1 (ko) Tlb 록 표시자
JP3204323B2 (ja) キャッシュメモリ内蔵マイクロプロセッサ
JPS589277A (ja) デ−タ処理装置
JP5128093B2 (ja) 複数のアドレス・キャッシュ・エントリを無効化する装置
JPH05509189A (ja) コンピュータシステムを動作する方法及びコンピュータシステムにおけるメモリ管理装置
US6240489B1 (en) Method for implementing a pseudo least recent used (LRU) mechanism in a four-way cache memory within a data processing system
US6219764B1 (en) Memory paging control method
US7577791B2 (en) Virtualized load buffers
US6686920B1 (en) Optimizing the translation of virtual addresses into physical addresses using a pipeline implementation for least recently used pointer
JPH02234242A (ja) 部分書込み制御装置
JP3260466B2 (ja) メモリ更新方式
JPH0695967A (ja) データプロセッサ
JP4116346B2 (ja) 演算処理装置及びそのアドレス変換方法
JP2000148584A (ja) プリフェッチ方法および装置
JP3564343B2 (ja) キャッシュバイパス時のデータ転送装置と方法
JP3729832B2 (ja) キャッシュメモリ装置
JPH1185613A (ja) キャッシュメモリ
JP3147456B2 (ja) キャッシュメモリシステム
JP2703255B2 (ja) キャッシュメモリ書込み装置
JP3492544B2 (ja) キャッシュメモリの更新キャンセルシステム及び方法
JP3761890B2 (ja) キャッシュメモリ装置
JPH02136946A (ja) キャッシュメモリ制御回路
JPH0415844A (ja) キャッシュメモリ制御回路
JPH0512109A (ja) キヤツシユメモリ方式

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20011113

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees