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

キャッシュ装置

Info

Publication number
JPH07295881A
JPH07295881A JP6084352A JP8435294A JPH07295881A JP H07295881 A JPH07295881 A JP H07295881A JP 6084352 A JP6084352 A JP 6084352A JP 8435294 A JP8435294 A JP 8435294A JP H07295881 A JPH07295881 A JP H07295881A
Authority
JP
Japan
Prior art keywords
cache
address
line
transfer
stack
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
JP6084352A
Other languages
English (en)
Inventor
Yoshibumi Fujikawa
義文 藤川
Kiyokazu Nishioka
清和 西岡
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 JP6084352A priority Critical patent/JPH07295881A/ja
Publication of JPH07295881A publication Critical patent/JPH07295881A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】本発明の目的は、スタックプッシュアクセスが
キャッシュミスした場合のキャッシュエントリの生成に
おいて、不要なデータの転送をしないようにし、システ
ムの全体の効率が上がるキャッシュ装置を提供すること
にある。 【構成】CPU1からのアクセス要求がスタックへのプッシ
ュ操作であることを識別するスタックプッシュ信号13
と、スタックプッシュ信号13によって主記憶装置2から
のデータ転送範囲を変える転送アドレス・サイズ計算部
を設ける。キャッシュミスによるキャッシュエントリの
生成に伴う主記憶装置2からのデータ転送の際に、スタ
ックプッシュ信号13によって、転送アドレス・サイズ計
算部6は、転送アドレスとサイズを変更して、主記憶ア
クセス部5に、転送を依頼する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、主記憶上のデータへの
アクセスを高速にできる、キャッシュ装置に関する。
【0002】
【従来の技術】従来のキャッシュ装置の構成と、それを
用いたデータ処理装置を図2に示す。データ処理装置
は、中央処理装置(CPU)1と、主記憶装置2と、キャッシ
ュ装置30とから成る。CPU1とキャッシュ装置3の間と、
キャッシュ装置30と主記憶装置2の間は、それぞれ、制
御信号線10,20とアドレス線11,21とデータ線12,22で、
接続されている。データ線22は1ワード分のデータ線で
構成されており、連続した複数のワードを転送するに
は、1ワード分の転送に比べて、転送に時間がかかる。
【0003】キャッシュ装置30は、キャッシュメモリ部
4と、主記憶アクセス部50から成る。 キャッシュメモ
リ部4は、複数のキャッシュエントリからなる。各キャ
ッシュエントリは、主記憶上の連続した複数のワードの
情報のコピーを保持するデータメモリと、そのデータの
主記憶上のアドレスを保持するタグから成る。各キャッ
シュエントリのデータメモリのサイズは、固定である。
この各キャッシュエントリに格納されるデータの集まり
を、以降、キャッシュラインと呼ぶ。また、キャッシュ
ラインのサイズは、8ワードと仮定する。主記憶装置2
上のアドレスとキャッシュラインの関係を図3に示す。
以降、主記憶装置2上のキャッシュライン相当のデータ
ブロックも、キャッシュラインと呼ぶ。図4に示すよう
に、主記憶装置2上の各データを識別するアドレスは、
キャッシュライン内の位置を示すライン内アドレスと、
キャッシュラインを特定するラインアドレスとに分けら
れる。この場合、ラインアドレスは、0から7の値をと
る。
【0004】主記憶アクセス部50は、ラインアドレス線
41を通して与えられたラインアドレス用いて、ライン内
アドレスを0としたアドレスから、キャッシュラインの
サイズ分、主記憶装置2との間で転送を行う。
【0005】CPU1からのアクセスの要求が制御信号10と
アドレス線11とデータ線12を通してキャッシュ装置30に
伝えられると、アクセス要求はキャッシュメモリ部4で
処理される。その処理手順を説明する。まず、アクセス
要求の対象のデータを含むキャッシュエントリがあるか
調べられる。対象のデータを含むキャッシュラインがあ
る(キャッシュヒット)場合は、そのキャッシュエントリ
のキャッシュラインをアクセスし、CPU1からのアクセス
要求を満たす。該当キャッシュラインがない(キャッシ
ュミス)場合は、まず、空きエントリを1つ確保し、そ
の後、その空きエントリに主記憶装置2から該当データ
を転送して該当エントリを生成する。そして、生成した
エントリのキャッシュラインに対してアクセスし、CPU1
からのアクセス要求を満たす。
【0006】空きエントリを確保するには、まず、ある
1つのキャッシュエントリを選択する。そのエントリが
使用中でない場合は、そのまま、そのエントリを空きエ
ントリとして確保する。使用中でありエントリ内のキャ
ッシュラインの内容と該当する主記憶装置2上のデータ
とが一致する場合は、そのエントリの内容を破棄するこ
とで、空きエントリを確保する。選択したエントリが使
用中であり、エントリ内のキャッシュラインの内容と該
当する主記憶装置2上のデータとが一致しない場合は、
エントリ内のキャッシュラインの内容を主記憶装置2上
に転送した後に、そのエントリの内容を破棄すること
で、空きエントリを確保する。エントリ内のキャッシュ
ラインの主記憶装置2への転送を、主記憶アクセス部50
に依頼するために、そのエントリ内のキャッシュライン
の内容と、主記憶装置2上での該当アドレスのラインア
ドレスを、主記憶アクセス部50に伝える。主記憶アクセ
ス部50は、キャッシュライン内の全データを、主記憶装
置2に転送する。
【0007】空きエントリに主記憶装置2から該当キャ
ッシュラインを転送するには、アクセス要求アドレスの
ラインアドレスをキャッシュラインアドレス線41を通し
て主記憶アクセス部50に伝えて、主記憶アクセス部50に
転送を依頼する。主記憶装置2から主記憶アクセス部5が
受け取ったデータは、データ線42を通して、キャッシュ
メモリ部4に伝えられ、そして、該当エントリに格納さ
れる。
【0008】
【発明が解決しようとする課題】上記の従来技術では、
主記憶装置2内にスタック領域を置いた場合の、スタッ
クプッシュアクセスに対して、アクセス要求のアドレス
からスタックの拡大する方向の主記憶上のデータは不要
のデータであるという点が、考慮されていない。このた
め、従来技術では、スタックプッシュアクセスがキャッ
シュミスの場合、キャッシュライン内のすべてのデータ
メモリには、不要なデータも含んで主記憶のデータ内容
がコピーされる。これによって、主記憶アクセス速度が
制限されていた。
【0009】スタックプッシュアクセスの場合の、アク
セス直前のキャッシュラインの例を、図5に示す。ここ
で、キャッシュラインの大きさは8ワードと仮定する。
また、スタック領域は、高アドレスから低アドレスへ向
かって、拡大すると仮定する。アクセス要求アドレスと
そのアドレスより低いアドレスのデータ情報は、スタッ
クプッシュアクセスの直前では、無効データである。そ
れら無効データは、その時のスタックプッシュアクセス
や後に続くスタックプッシュアクセスによって上書きさ
れることはあっても、参照されることはない。よって、
キャッシュエントリを生成する場合、参照されることの
ないデータ情報は、主記憶からコピーをする必要はな
い。
【0010】本発明の目的は、スタックプッシュアクセ
スがキャッシュミスした場合のキャッシュエントリの生
成において、不要なデータの転送をしないようにし、シ
ステムの全体の効率が上がるキャッシュ装置を提供する
ことにある。
【0011】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、主記憶装置内に記憶されている情報の一
部のコピーを保持するキャッシュメモリ部と、前記キャ
ッシュメモリ部からの要求によってキャッシュメモり部
と主記憶装置の間のデータ転送を行う主記憶アクセス部
を、備えるキャッシュ装置において、CPUのアクセス要
求がスタックへのプッシュ操作であることを識別するス
タックプッシュ信号と、前記スタックプッシュ信号によ
って主記憶装置との間で転送するデータの転送開始アド
レスとサイズを変更する転送アドレス・サイズ計算部と
を設けたものである。
【0012】
【作用】キャッシュミスによるキャッシュエントリ生成
に伴う主記憶装置からの転送の場合、スタックプッシュ
信号によってアクセス要求がスタックプッシュアクセス
であるかどうかを識別する。
【0013】その結果、スタックプッシュアクセスの場
合は、スタックプッシュアクセス要求アドレスよりスタ
ックの縮小する方向に1つ移動したアドレスから、スタ
ックの縮小する側のキャッシュラインの端のアドレスの
間を、転送対象とするように、転送アドレス・サイズ計
算部で、転送開始アドレスとサイズを計算する。具体的
には、スタック領域が低いアドレスに向かって拡張する
場合は、スタックプッシュアクセス要求アドレスより1
つ大きいアドレスを転送開始アドレスとし、キャッシュ
ラインの最後尾のアドレスとスタックプッシュアクセス
要求アドレスの差を転送サイズとする。スタック領域が
高いアドレスに向かって拡張する場合は、キャッシュラ
インの先頭のアドレスを転送開始アドレスとし、キャッ
シュラインの先頭のアドレスとスタックプッシュアクセ
ス要求アドレスの差を転送サイズとする。
【0014】その他の転送の場合は、従来通りの転送に
なるように、キャッシュラインの先頭アドレスを転送開
始アドレスとし、キャッシュラインサイズを転送サイズ
とする。
【0015】これによって、スタックプッシュアクセス
がキャッシュミスした場合のキャッシュエントリの生成
において、不要なデータの転送をしないようになる。
【0016】
【実施例】本発明の一実施例を、図1を用いて説明す
る。本実施例は、CPU1とキャッシュ制御装置3と主記憶
装置2から成るデータ処理装置に用いた例である。主記
憶装置2上にスタック領域を置き、CPU1は、キャッシュ
装置3を通して、主記憶装置2上のスタックや他のデータ
をアクセスする。キャッシュ装置3は、中央処理装置CPU
1の主記憶装置2上のデータへのアクセスを支援する。ス
タック領域の拡大は、高いアドレスから低いアドレスに
向って、伸びると仮定する。
【0017】CPU1のアクセス要求をキャッシュ装置3に
伝えるために、CPU1とキャッシュ装置3の間は、制御信
号線10とアドレス線11とデータ線12とスタックプッシュ
信号線13で、接続されている。同様に、キャッシュ装置
3と主記憶装置2の間は、制御信号20とアドレス線21とデ
ータ線22で、接続されている。データ線22は1ワード分
のデータ線で構成されており、連続した複数のワードを
転送するには、1ワード分の転送に比べて、転送に時間
がかかる。
【0018】キャッシュ装置3は、キャッシュメモリ部4
と、主記憶アクセス部5と、転送アドレス・サイズ計算
部6とから成る。
【0019】キャッシュメモリ部4は、従来と同様、複
数のキャッシュエントリからなる。キャッシュラインサ
イズは、8ワードと仮定する。
【0020】主記憶アクセス部5は、転送開始アドレス
線60を通して与えられたアドレスから、転送サイズ線61
を通して与えられたワード数分、主記憶装置2との間で
転送を行う。
【0021】スタックプッシュ信号線13は、CPU1のメモ
リアクセス要求がスタックプッシュアクセスであるかど
うかを識別するスタックプッシュ信号を伝える信号線で
あり、スタックプッシュ信号は、CPU1より出力され、転
送アドレス・サイズ計算部6に伝えられる。
【0022】CPU1からのアクセスの要求が制御信号線10
とアドレス線11とデータ線12を通してキャッシュ装置30
に伝えられると、アクセス要求はキャッシュメモリ部4
で、従来と同様に処理される。まず、アクセス要求の対
象のデータを含むキャッシュエントリがあるか調べられ
る。対象のデータを含むキャッシュラインがある(キャ
ッシュヒット)場合は、そのキャッシュラインをアクセ
スし、CPU1からのアクセス要求を満たす。該当キャッシ
ュラインがない(キャッシュミス)場合は、まず、空きエ
ントリを1つ確保し、その後、その空きエントリに主記
憶装置2から該当データを転送して該当エントリを生成
する。そして、生成したエントリのキャッシュラインに
対してアクセスし、CPU1からのアクセス要求を満たす。
【0023】空きエントリを確保する過程でエントリ内
のキャッシュラインのデータを主記憶装置2へ転送する
場合、キャッシュメモリ部4は、そのエントリ内のキャ
ッシュラインの内容をデータ線42に、主記憶装置2上で
の該当アドレスのラインアドレスをキャッシュラインア
ドレス線41に、キャッシュメモリ部4から主記憶装置2へ
の転送を示す信号を転送方向線40に、出力する。
【0024】エントリを生成する過程で空きエントリへ
主記憶装置2から該当キャッシュライン分のデータを転
送する場合、キャッシュメモリ部4は、アクセス要求ア
ドレスに対応するキャッシュラインアドレスをキャッシ
ュラインアドレス線41に、主記憶装置2からキャッシュ
メモリ部4への転送を示す信号を転送方向線40に、出力
する。
【0025】転送アドレス・サイズ計算部6は、キャッ
シュメモリ部4から主記憶装置2とのデータ転送の要求を
受けると、スタックプッシュ信号線13と転送方向線40に
従って、実際の転送開始アドレスと転送サイズを計算す
る。計算結果は、転送開始アドレス60と転送サイズ61を
通して、主記憶アクセス部5に伝えられる。主記憶アク
セス部5は、転送開始アドレス60を通して与えられたア
ドレスから、転送サイズ61を通して与えられたワード数
分、主記憶装置2との間で転送を行う。
【0026】転送アドレス・サイズ計算部6のより詳し
い動作を、図6を用いて説明する。
【0027】アドレス線11によって入力されたアクセス
要求アドレス情報の内、ライン内アドレスのみが、ライ
ン内アドレス線110を通して、加算器62と減算器63に入
力される。加算器62では、入力されたライン内アドレス
に1を加えた値を出力する。減算器63では、ライン内ア
ドレスの最大値“7”からライン内アドレスを引いた値
を出力する。スタックプッシュ信号線13と転送方向線40
は、論理演算器64に入力される。論理演算器64では、ス
タックプッシュアクセスでありかつ主記憶装置2からの
転送であるかどうかを、論理積で計算し、結果をセレク
タ65に出力する。セレクタ65は、スタックプッシュアク
セスでありかつ主記憶装置2からの転送である場合は、
加算器62と減算器63の結果を、それぞれ、ライン内アド
レス線600と転送サイズ線61に出力する。そうでない場
合は、ライン内アドレスの最小値“0”と、キャッシュ
ラインサイズ“8”を、それぞれ、ライン内アドレス線
600と転送サイズ線61に出力する。ライン内アドレス線6
00とキャッシュラインアドレス線41は、主記憶装置2上
のデータを識別する1つのアドレスに合成され、転送開
始アドレス線60に、出力される。
【0028】キャッシュ領域が低いアドレスから高いア
ドレスに向かって拡大する場合の、転送アドレス・サイ
ズ計算部の実施例を図7に示す。転送開始アドレスのラ
イン内アドレスは、“0”で固定である。スタックプッ
シュアクセスでありかつ主記憶装置2からの転送である
場合の転送サイズは、アドレス線11のライン内アドレス
の値となる。
【0029】
【発明の効果】本発明によれば、主記憶装置内にスタッ
ク領域を置くデータ処理装置のキャッシュシステムにお
いて、スタックプッシュアクセス時のキャッシュエント
リの生成時間が、大幅に短縮されるので、アクセス効率
のよいキャッシュシステムを構築できる。
【0030】ランダムにスタックプッシュアクセスがキ
ャッシュミスする場合、主記憶からのデータ転送量は平
均半分になり、スタックプッシュアクセスが高速にな
る。これによって、全アクセスによる主記憶へのアクセ
スの時間とキャッシュエントリの生成時間が、短くな
り、システム全体の処理効率が上がる。
【0031】従来のキャッシュの中には、書き込みアク
セスがキャッシュミスした場合にキャッシュエントリを
生成せずに直接、主記憶にアクセスするものがある。し
かし、一般に、スタックプッシュされたデータは、すぐ
に読み出される確率が高い。そのため、スタックプッシ
ュされたデータを読み出す際は、キャッシュエントリに
格納される。本発明によれば、プッシュアクセスによる
キャッシュエントリの生成が従来よりも高速なため、ス
タックアクセス全体のアクセスが高速になる。
【0032】また、一般のアプリケーションでは、スタ
ックとスタック外の両方のデータにアクセスする。本発
明によれば、スタック以外のデータも従来と同様にキャ
ッシュの対象となるため、スタック専用キャッシュより
も全体のアクセス効率が上がる。
【図面の簡単な説明】
【図1】本発明によるキャッシュ装置の一実施例を示す
ブロック図である。
【図2】従来の技術によるキャッシュ装置のブロック図
である。
【図3】主記憶上のアドレスとキャッシュラインの関係
を示す図である。
【図4】主記憶上のアドレスとキャッシュラインアドレ
スとキャッシュライン内アドレスの関係を示す図であ
る。
【図5】スタックプッシュアクセスとキャッシュライン
上のデータの関係を示す図である。
【図6】転送アドレス・サイズ計算部の一実施例を示す
ブロック図である。
【図7】転送アドレス・サイズ計算部の別の実施例を示
すブロック図である。
【符号の説明】
1…中央処理装置CPU、10…制御信号線、11…アドレス
線、12…データ線、13…スタックプッシュ信号線、2…
主記憶装置、20…制御信号線、21…アドレス線、22…デ
ータ線、3…キャッシュ装置、4…キャッシュメモリ部、
40…転送方向信号線、41…キャッシュラインアドレス
線、42…データ線、5…主記憶アクセス部、6…転送アド
レス・サイズ計算部、60…転送開始アドレス線、61…転
送サイズ線。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】主記憶装置内にスタック領域を置くデータ
    処理装置において、 前記主記憶装置内に記憶されている情報の一部のコピー
    を保持するキャッシュメモリ部と、前記キャッシュメモ
    リ部からの要求によってキャッシュメモり部と主記憶装
    置の間のデータ転送を行う主記憶アクセス部を、備える
    キャッシュ装置に、 前記主記憶装置内に記憶されている情報へのアクセス要
    求がスタックへのプッシュ操作であることを識別するス
    タックプッシュ信号線と、 前記スタックプッシュ信号線によって、主記憶装置との
    間で転送するデータの転送開始アドレスとサイズを変更
    する転送アドレス・サイズ計算部と、 を備えたことと、 前記転送アドレス・サイズ計算部によって、アクセス要
    求がスタックプッシュ操作である場合の主記憶からの転
    送対象範囲を、アクセス要求アドレスよりスタックの縮
    小する方向に1つ移動したアドレスからスタックの縮小
    する側に限定することと、 を特徴とするキャッシュ装置。
JP6084352A 1994-04-22 1994-04-22 キャッシュ装置 Pending JPH07295881A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6084352A JPH07295881A (ja) 1994-04-22 1994-04-22 キャッシュ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6084352A JPH07295881A (ja) 1994-04-22 1994-04-22 キャッシュ装置

Publications (1)

Publication Number Publication Date
JPH07295881A true JPH07295881A (ja) 1995-11-10

Family

ID=13828130

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6084352A Pending JPH07295881A (ja) 1994-04-22 1994-04-22 キャッシュ装置

Country Status (1)

Country Link
JP (1) JPH07295881A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004303232A (ja) * 2003-03-20 2004-10-28 Matsushita Electric Ind Co Ltd データメモリキャッシュ装置及びデータメモリキャッシュシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004303232A (ja) * 2003-03-20 2004-10-28 Matsushita Electric Ind Co Ltd データメモリキャッシュ装置及びデータメモリキャッシュシステム

Similar Documents

Publication Publication Date Title
EP0422656B1 (en) Information processing system
FI61363B (fi) Databehandlingssystem
US6088769A (en) Multiprocessor cache coherence directed by combined local and global tables
JPH0137773B2 (ja)
US5313602A (en) Multiprocessor system and method of control over order of transfer of data between buffer storages
JPH0695972A (ja) ディジタルコンピュータシステム
JPH04336641A (ja) 処理システムにおける使用のためのデータキャッシュおよび方法
JPH09167143A (ja) メッセージ受信制御方式
US6931510B1 (en) Method and system for translation lookaside buffer coherence in multiprocessor systems
JPH07295881A (ja) キャッシュ装置
JP2501353B2 (ja) プリフェッチ制御方式
JPH02110646A (ja) メモリの先行読出し装置
JPH01226056A (ja) アドレス変換回路
JP3564343B2 (ja) キャッシュバイパス時のデータ転送装置と方法
EP0567708A1 (en) Apparatus for optimizing cache memory invalidation
JPH10207773A (ja) バス接続装置
JP2964504B2 (ja) 文書処理装置
JPS6131495B2 (ja)
US7840757B2 (en) Method and apparatus for providing high speed memory for a processing unit
JPH05233443A (ja) マルチプロセッサシステム
JPH06149673A (ja) キャッシュ制御方式
JPS5890245A (ja) デ−タ処理装置
JP2000242557A (ja) キャッシュプリフェッチ装置
JPH04353949A (ja) キャッシュメモリ制御方式
JPS60123944A (ja) 情報処理装置におけるバツフアメモリ制御方式