JPH0981454A - キャッシュ記憶装置 - Google Patents

キャッシュ記憶装置

Info

Publication number
JPH0981454A
JPH0981454A JP7241315A JP24131595A JPH0981454A JP H0981454 A JPH0981454 A JP H0981454A JP 7241315 A JP7241315 A JP 7241315A JP 24131595 A JP24131595 A JP 24131595A JP H0981454 A JPH0981454 A JP H0981454A
Authority
JP
Japan
Prior art keywords
storage device
block
cache
data
access
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
Application number
JP7241315A
Other languages
English (en)
Inventor
Tamotsu Hayase
保 早瀬
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP7241315A priority Critical patent/JPH0981454A/ja
Publication of JPH0981454A publication Critical patent/JPH0981454A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】本発明は、電子計算機のキャッシュ記憶装置に
係り、命令処理装置からのデータアクセス時、キャッシ
ュ記憶装置と主記憶装置とのブロック置き換え頻度を少
なくし、計算機処理時間を高速化する装置を提供するこ
とにある。 【構成】本発明のキャッシュ記憶装置は、2個の独立な
記憶装置と、命令処理装置と前記2個の記憶装置とのデ
ータ転送を切り替える命令処理装置対応キャッシュ切替
え装置、前記2個の記憶装置と主記憶装置とのデータ転
送を切り替える主記憶装置対応キャッシュ切替え装置か
らなる。 【効果】アクセス可能性の高いデータの事前置き換えに
より、キャッシュ記憶装置と主記憶装置とのブロック置
き換え頻度が少なくなり、記憶装置アクセス時間の減少
により計算機処理時間の高速化が実現する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、電子計算機の命令処理
装置と主記憶装置間のデータ転送のバッファーとして、
高速なデータアクセスに寄与するキャッシュ記憶装置に
関するものである。
【0002】
【従来の技術】従来の代表的な計算機のデータ記憶装置
とその制御方式としては、ならえば、「情報処理ハンド
ブック」(情報処理学会)き記載されているように、階
層的な記憶装置(キャッシュ記憶装置、主記憶装置、2
次記憶装置)と仮想記憶方式によるブロック(ページと
呼ぶ場合もある)と呼ばれるデータ集合単位でのデータ
置き換え利用方式があげられる。一般に、命令処理装置
と各記憶装置のアクセス時間は、キャッシュ記憶装置が
約10~ 7sec/データ(現行の半導体メモリ使用時)、
主記憶装置が約10~ 6sec/データ(現行の半導体メモ
リ使用時)、2次記憶装置が約10~ 3sec/データ(現
行のDISK)要する。従って、命令処理装置でのデー
タ要求に対応したアクセス時間の短縮は、キャッシュ記
憶装置からの直接アクセスを増やし、主記憶装置及び2
次記憶装置からの間接アクセスを減らせばよい。
【0003】階層的な記憶装置を利用する仮想記憶方式
では、命令処理装置で要求するデータがキャッシュ記憶
装置にない場合、要求データを主記憶装置及び2次記憶
装置から取り出し、より高速の記憶装置へデータを転送
し、最終的にキャッシュ記憶装置の選択したブロックと
置き換える。置き換えられるブロックは、データアクセ
スの局所性を仮定し、LRU(最長時間未使用)法やF
IFO(先入れ先出し)法などにより実施される。プロ
グラムプステップ及びデータアクセス量が小規模な計算
機ジョブでは、従来装置及び方式は有効に働く。しかし
ながら、プログラムプステップ及びデータアクセスが大
規模になるにつれ、従来技術は、キャッシュ記憶装置と
主記憶装置とのブロック置き換え頻度が多くなり、命令
処理時間に記憶装置からのアクセス時間が付加され、計
算機処理時間が遅くなる。
【0004】
【発明が解決しようとする課題】本発明の課題は、上記
欠点を解消し、計算機処理時間の高速化に寄与するキャ
ッシュ記憶装置を提供することである。
【0005】
【課題を解決するための手段】上記の課題を達成するた
めのキャッシュ記憶装置の手段を示す。
【0006】命令処理装置からのデータアクセス時間を
短縮するには、要求データを含むブロックがデータ要求
時にキャッシュ記憶装置に事前に用意されていればよ
い。本装置及びその機能は、このデータを含むブロック
を事前にキャッシュ記憶装置内に用意することを目的に
したものである。
【0007】計算機の中央処理装置内にあるブロックア
ドレスレジスタは、「キャッシュ記憶装置内にあるブロ
ック」と「主記憶装置にあるブロック」との対応をとる
ブロック表を内蔵している。そのブロック表のブロック
アドレスに対応するブロック枠値を、アクセス順番の親
密性を評価する指標として、関連度Ri(i:ブロック
アドレス)と定義する。関連度Riは、主記憶装置内で
一定データ量ごとに分割されたブロックにおいて、シー
ケンシャルなブロック格納順に対応している。要求ブロ
ックアドレスiR(関連度RiR)に対し、キャッシュ記
憶装置に事前に転送するブロックアドレスi(関連度R
i)は、「RiR+N」(N:正の整数)のうち、キャッ
シュ記憶装置に事前に用意されれていないもの(ブロッ
クアドレスレジスタのブロックフォールトビットが
“1”)の最小値を選ぶ。この処理は、当該データのあ
る「キャッシュ記憶装置の一方の記憶装置」からの命令
処理装置へのデータアクセス処理と並列に、主記憶装置
から「キャッシュ記憶装置の他の記憶装置」に対して実
施する。
【0008】
【作用】本手段により、従来の仮想記憶方式のブロック
置き換え方式と異なり、「要求ごとに、次の関連度の高
いブロックをキャッシュ記憶装置へ置き換え準備する」
ことが実現する。これは、「計算機処理が、主記憶装置
に格納された物理的にシーケンシャルなデータ順に、デ
ータを参照して実行する」特徴を持つことを利用してい
る。
【0009】キャッシュ記憶装置と主記憶装置とのブロ
ック置き換え頻度が少なくなり、命令処理時間に記憶装
置からのアクセス時間の付加が少なくなり、計算機処理
時間が速くなる。
【0010】
【実施例】以下、本発明を実施例を参照して詳細に説明
する。
【0011】図1に、キャッシュ記憶装置と関連装置の
ブロック構成図を示す。構成要素1は計算機の中央処理
装置、構成要素2は主記憶装置、構成要素3は2次記憶
装置を示す。構成要素4は本発明のキャッシュ記憶装
置、構成要素5は命令処理装置、構成要素6はブロック
アドレスレジスタ、構成要素7は命令処理装置対応キャ
ッシュ切替え装置、構成要素8は記憶装置1、構成要素
9は記憶装置2、構成要素10は主記憶装置対応キャッ
シュ切替え装置を示す。
【0012】命令処理装置5からのデータの要求に応
じ、ブロックアドレスレジスタ6のブロック対応表に基
づき、キャッシュ記憶装置4にデータがある場合、キャ
ッシュ切替え装置9を通じキャッシュ記憶装置4より直
接データをアクセスする。キャッシュ記憶装置4にデー
タがない場合、主記憶装置2より、キャッシュ切替え装
置10とキャッシュ記憶装置4を通じ、データをアクセ
スする。双方のケースとも命令処理装置5とキャッシュ
記憶装置4の記憶装置1(ないし2)とのデータアクセ
ス処理時間を利用し、それと並列に実施する。実施内容
は、ブロックアドレスレジスタ6の関連度Riに基づ
き、キャッシュ記憶装置4の他の記憶装置2(ないし
1)のブロックを、主記憶装置2にある次回アクセス確
率の高いデータブロックに置き換える。
【0013】図2に、キャッシュ記憶装置のアドレス空
間と主記憶装置のアドレス空間の対応図を示す。要求さ
れたデータXは、命令処理装置5内部で、ブロックアド
レスPとブロック内アドレスLで記述されており、ブロ
ックアドレスレジスタ6内ブロック表の実アドレスのブ
ロック枠に一対一に対応している。ブロックがキャッシ
ュ記憶装置4に割り当てられているときには、ブロック
表内の該当するブロックフォールトビットが“0”とし
て管理され、キャッシュ記憶装置上のアドレス変換(P
−>K)がなされるが、該当するブロックがキャッシュ
記憶装置上に存在しないときには、ブロックフォールト
ビットを“1”にしておき、そのブロックへの参照によ
って割り込みを発生させる。オペレーティングシステム
により、必要なブロックを主記憶装置2からキャッシュ
記憶装置上に転送し、それに合わせブロック表の書き換
えを行う。キャッシュ記憶装置上に未使用ブロックが存
在しない場合、近い将来利用性が少ないブロックを選択
して、主記憶装置にある必要ブロックとの書き換えを行
う。なお、連動して、書き込まれたブロックアドレスの
フォールトビットを“1”にリセットする。
【0014】本装置では、ブロック表のブロック枠を関
連度として、次回アクセスの可能性が高いブロックの指
標とする。また、ブロック表に、識別指標としてキャッ
シュ記憶装置の2個の記憶装置を区別するビットを追加
する。“1”が記憶装置1に、“2”が記憶装置2にブ
ロックがあることに対応する。
【0015】以下、本装置の処理を制御するオペレーテ
ィングシステムのアルゴリズムにつき、詳細に説明す
る。
【0016】図3に、本装置のオペレーション制御を行
うプログラムのフローチャートを示す。プログラムフロ
ーの流れに従い説明する。
【0017】命令処理装置からデータをキャッシュ記憶
装置に要求する。要求がない場合、プログラムは終了す
る。要求があった場合、ブロックアドレスレジスタのブ
ロック表において、要求したデータのブロックアドレス
に対応するブロックフォールトビットをチェックする。
ブロックフォールトビットが“の時は、キャッシュ記憶
上に要求するデータを含むブロックがあり、“1”の時
は、ないことを意味する。ブロックフォールトビットが
“0”の場合は、直ちにデータのアクセスがなされる
(主記憶装置からのアクセスの約1/10)。一方、ブ
ロックフォールトビットが“1”の場合は、主記憶装置
より、要求データを含むブロックをキャッシュ記憶装置
上に転送する。キャッシュ記憶装置上に未使用ブロック
が存在しない場合、キャッシュ記憶装置上のブロックの
内、近い将来利用される可能性がすくないブロックを選
択して、そのブロックに要求ブロックの読み込みを行
う。
【0018】次いで、ブロックアドレスレジスターの要
求ブロックのブロックフォールトビットを“0”、書き
込まれたキャッシュ記憶装置にないブロックのブロック
フォールトビットを“1”にリセットする。
【0019】キャッシュ記憶装置に転送されたデータ
は、波命令処理装置で使用される。一方、関連度の評価
に基づき、「キャッシュ記憶装置上のブロックと主記憶
装置上のブロックとの置き換え」とそれに対応する「ブ
ロックフォールトビットのリセット」は、この「命令処
理装置での要求データの加工処理」と並列に実施する。
ただし、命令処理装置の実行にともなう次回の主記憶装
置へのアクセスが、上記並列処理の終了以前に起こった
場合、この並列処理による主記憶装置へのアクセスを優
先する。
【0020】次に、本プログラムの主要構成部である
「ブロックアドレスレジスタのリセットとブロック置き
換え処理」(図3のプログラムフローの最終ステップに
対応)の処理アルゴリズムをより詳細に説明する。
【0021】図4に、ブロックアドレスレジスタのリセ
ットとブロック置き換え処理のフローチャートを示す。
プログラムフローに従い説明する。
【0022】キャッシュ記憶装置に格納できる総ブロッ
ク数をBC、主記憶装置で格納できる総ブロック数を
M、要求したブロックアドレスをiR、ブロックアドレ
スiのブロックフォールトビットをBFi(0:キャッ
シュ記憶装置に要求ブロックあり、1:キャッシュ記憶
装置に要求ブロックなし)、要求ブロックがキャッシュ
記憶装置の2個の記憶装置のどちらにあるか識別するた
めのキャッシュフォールトビットをCFi(1:記憶装
置1に要求ブロックあり、2:記憶装置2に要求ブロッ
クあり)で示す。
【0023】まず、要求ブロックアドレスiRに対し、
「Ri=RiR+N(N>0、N:整数)」かつ「BFi
=1」を満たす最小のRiを探索し、キャッシュ記憶装
置に転送する主記憶装置のブロック枠Ki(Ki=Ri
を求める。以上の処理の論理回路はブロックアドレスレ
ジスタに組み込む。
【0024】次に、キャッシュ記憶装置で、主記憶装置
のブロック枠Kiにより書き換えられるブロックを探索
する。書き換えられるキャッシュ枠KDは、iRが格納さ
れてない他方の記憶装置において、「ブロックアドレス
Rのブロック枠KiR」に対応し、KiR>0時には
「KiR−N(N>0、N:整数)」かつ「BFi=0」
を満たす最小のKi、KiR=0時にはキャッシュ記憶装
置のなかで最大のKiとする。以上の処理の論理回路は
ブロックアドレスレジスタに組み込む。
【0025】双方の情報を利用し、キャッシュ記憶装置
に転送する主記憶装置のブロック枠Kiを、キャッシュ
記憶装置のブロック枠KDに置き換える処理をする。
【0026】次いで、ブロック枠Kiに対応するBFi
“0”にリセットし、当該ブロック枠KDに対応するB
iを“1”にセットする。本処理の論理回路も、ブロ
ックアドレスレジスタに組み込む。
【0027】なお、「キャッシュ記憶装置ブロックの主
記憶装置への書き込み処理」は、命令処理装置と並列に
実施する。ただし、命令処理装置の実行にともなう次回
の主記憶装置へのアクセスが、上記並列処理の終了以前
に起こった場合、この並列処理による主記憶装置へのア
クセスを優先する。
【0028】
【発明の効果】以上、説明したように、本発明によれ
ば、計算機処理の高速化が可能となる。
【図面の簡単な説明】
【図1】キャッシュ記憶装置と関連装置のブロック構成
図。
【図2】キャッシュ記憶装置のアドレス空間と主記憶装
置のアドレス空間の対応図。
【図3】データアクセスのオペレーション制御を行うプ
ログラムのフローチャート。
【図4】ブロックアドレスレジスタのリセットとブロッ
ク置き換え処理のフローチャート。
【符号の説明】
1…中央処理装置、 2…主記憶装置、 3…
2次記憶装置、4…キャッシュ記憶装置、5…命令処理
装置、6…ブロックアドレスレジスタ、7…命令処理装
置対応キャッシュ切り替え装置、8…記憶装置1、
9…記憶装置2、10…主記憶装置対応キャッシュ
切り替え装置。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】独自な制御が可能な複数の記憶装置をも
    ち、計算機の命令処理装置からのデータ要求時、当該デ
    ータのある記憶装置からのデータアクセス処理と並列
    に、ブロックアドレスレジスタの関連度情報に基づき、
    主記憶装置に保存されている次回参照の可能性が高いデ
    ータを含むブロックを、当該アクセス処理中の記憶装置
    以外の他記憶装置の次回参照の可能性が低いブロックと
    置き換えることを特徴とするキャッシュ記憶装置。
  2. 【請求項2】関連度情報として、主記憶装置のブロック
    枠値を使用し、次回アクセスの可能性の高さを、アクセ
    スブロック枠値と他ブロック枠値との差が正値かつ小さ
    いことで評価することを特徴とする特許請求の範囲第1
    項に記載したキャッシュ記憶装置。
JP7241315A 1995-09-20 1995-09-20 キャッシュ記憶装置 Pending JPH0981454A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7241315A JPH0981454A (ja) 1995-09-20 1995-09-20 キャッシュ記憶装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7241315A JPH0981454A (ja) 1995-09-20 1995-09-20 キャッシュ記憶装置

Publications (1)

Publication Number Publication Date
JPH0981454A true JPH0981454A (ja) 1997-03-28

Family

ID=17072470

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7241315A Pending JPH0981454A (ja) 1995-09-20 1995-09-20 キャッシュ記憶装置

Country Status (1)

Country Link
JP (1) JPH0981454A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005524170A (ja) * 2002-04-30 2005-08-11 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 不揮発性メモリを備える集積回路及び前記メモリからのデータをフェッチするための方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005524170A (ja) * 2002-04-30 2005-08-11 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 不揮発性メモリを備える集積回路及び前記メモリからのデータをフェッチするための方法

Similar Documents

Publication Publication Date Title
US5813031A (en) Caching tag for a large scale cache computer memory system
US5752275A (en) Translation look-aside buffer including a single page size translation unit
US6658549B2 (en) Method and system allowing a single entity to manage memory comprising compressed and uncompressed data
US5619671A (en) Method and apparatus for providing token controlled access to protected pages of memory
US7913058B2 (en) System and method for identifying TLB entries associated with a physical address of a specified range
JP3640978B2 (ja) ページテーブル中のハッシュアドレスタグを用いたメモリアドレス制御装置
US7809921B2 (en) Method and apparatus for translating a virtual address to a real address using blocks of contiguous page table entries
US5265227A (en) Parallel protection checking in an address translation look-aside buffer
US5555395A (en) System for memory table cache reloads in a reduced number of cycles using a memory controller to set status bits in the main memory table
US20140040529A1 (en) Translation table control
EP0911737A1 (en) Cache memory with reduced access time
EP0215544A1 (en) Virtual memory address fetching
JPH04232551A (ja) 多重仮想アドレス変換方法及び装置
US5765209A (en) Method and apparatus to eliminate redundant mapping in a TLB utilizing variable sized pages
JPS61141055A (ja) 情報処理装置のアドレス変換方式
JP3449487B2 (ja) 変換索引緩衝機構
JPH07104816B2 (ja) コンピュータシステムを動作する方法及びコンピュータシステムにおけるメモリ管理装置
US6952761B2 (en) Bus interface selection by page table attributes
EP0173909A2 (en) Look-aside buffer least recently used marker controller
JPH07248967A (ja) メモリ制御方式
JPH0981454A (ja) キャッシュ記憶装置
KR930009092B1 (ko) 가상 메모리 어드레싱을 채택한 데이타 처리 시스템에서의 페이지 프레임 교체 장치 및 방법
KR20010006774A (ko) 캐시 변수의 자동 갱신을 실행하는 방법 및 장치
US6804754B1 (en) Space management in compressed main memory
JPH0551933B2 (ja)