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

キャッシュ装置

Info

Publication number
JPH117410A
JPH117410A JP9158577A JP15857797A JPH117410A JP H117410 A JPH117410 A JP H117410A JP 9158577 A JP9158577 A JP 9158577A JP 15857797 A JP15857797 A JP 15857797A JP H117410 A JPH117410 A JP H117410A
Authority
JP
Japan
Prior art keywords
data
cache
main storage
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.)
Granted
Application number
JP9158577A
Other languages
English (en)
Other versions
JP3481425B2 (ja
Inventor
Takahiko Uesugi
貴彦 上杉
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 Computertechno Ltd
Original Assignee
NEC Computertechno 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 Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP15857797A priority Critical patent/JP3481425B2/ja
Priority to CA002240634A priority patent/CA2240634C/en
Priority to US09/097,593 priority patent/US6154814A/en
Priority to EP98250210A priority patent/EP0884683B1/en
Priority to DE69808700T priority patent/DE69808700T2/de
Publication of JPH117410A publication Critical patent/JPH117410A/ja
Application granted granted Critical
Publication of JP3481425B2 publication Critical patent/JP3481425B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0855Overlapped cache accessing, e.g. pipeline
    • G06F12/0859Overlapped cache accessing, e.g. pipeline with reload from main memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】キャッシュミス後の後続主記憶ロード命令のキ
ャッシュアクセス抑止時間を削減し、キャッシュアクセ
ス要求の待ち時間を短縮する。 【解決手段】主記憶装置4が送出するデータを保持する
データバッファ18と、データを前記データバッファか
らバイパスする第一のバイパス路33と、前記データバ
ッファが送出するデータと前記第一のバイパス路のデー
タとのいずれかを選択するセレクタ19と、前記セレク
タを介してデータを前記汎用レジスタに導く第二のバイ
パス路34と、前記ターゲットデータを前記第一のバイ
パス路および前記第二のバイパス路を介して前記汎用レ
ジスタに書き込むターゲットデータバイパス制御回路2
5と、前記主記憶装置が送出するすべてのデータを前記
データバッファが保持したとき新たなデータキャッシュ
アクセスを抑止し前記データをデータアレイ22に書き
込むデータアレイ書込み制御回路26とを備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はキャッシュ装置に関
し、特に複数の演算処理装置によって共用されている主
記憶装置にアクセスするキャッシュ装置に関する。
【0002】
【従来の技術】従来のキャッシュ装置では、主記憶から
のロード要求がキャッシュミスとなった時、主記憶装置
から戻って来たブロックデータをキャッシュメモリに書
き込み、同時に目的データをメモリアクセス要求元に返
す処理を行う。加えて、キャッシュの処理性能を向上さ
せる為に、1つのキャッシュミスが発生しても後続のロ
ード要求を処理出来るノンブロッキングのハードウェア
機構を備えており、最大2つまで処理出来る。
【0003】ところで一般の情報処理装置では、情報処
理能力を向上させる為、主記憶装置を共有するように接
続された複数の演算処理装置が接続される構成となって
おり、同時期に異なる演算処理装置からのロード要求を
処理するケースが発生する。この為、異なる演算処理装
置からの処理要求が主記憶装置上で競合する場合、主記
憶から各演算器に戻るブロックロードデータは、主記憶
から連続に戻るのではなく、順不同でかつブロックデー
タ戻りの間隔が不定となる。この為、ブロックロードデ
ータは、より小さな基本データ単位で制御が行われる。
【0004】従来のキャッシュ装置では、主記憶からの
ブロックデータ中のターゲットデータを汎用レジスタに
戻すリプライデータパスと、キャッシュ内に目的データ
がありキャッシュヒットにて必要なデータをキャッシュ
から読み出す為の読み出しパスを共有している。したが
って、主記憶から戻るブロックロードデータ中のターゲ
ットデータをメモリアクセス要求元に返す場合は、デー
タアレイからの読み出しがパス競合により使用不可能な
ので、後続の主記憶へのロード命令はキャッシュへのア
クセスが抑止される。後続命令のキャッシュへのアクセ
スが抑止されるので、後続命令のロード命令処理は中断
され、処理性能が低下する。
【0005】たとえば、特公平7−69863号公報に
よれば、連続する主記憶からのロード要求が共にキャッ
シュミスとなった時、連続してメモリアクセスできるノ
ンブロッキングのハードウェア機構を実現している。さ
らに、主記憶からのブロッキングデータ中のターゲット
データを汎用レジスタに戻すリプライデータパスと、キ
ャッシュ内に目的データがありキャッシュヒットにて必
要なデータをキャッシュから読み出す為の読み出しパス
を共有している。したがって、主記憶から戻るブロック
ロードデータ中のターゲットデータをメモリアクセス要
求元に返す場合は、データアレイからの読み出しがパス
競合により使用不可能なので、後続の主記憶へのロード
命令は、キャッシュへのアクセスが抑止される。後続命
令のキャッシュへのアクセスが抑止されるので、後続命
令のロード命令処理は中断され、処理性能が低下するこ
とになる。
【0006】図3は従来のキャッシュ装置の例を示すブ
ロック図である。同図において、命令制御装置2はプロ
グラムカウンタに従い、順次命令を処理する。そして処
理命令が主記憶からロードする命令の場合は、主記憶を
アクセスするアドレスをEA(Effective Address)レ
ジスタ11にセットする。
【0007】EAレジスタ11にセットされるアドレス
は、3つのアドレスデータから構成される。1つ目は、
ロードされるブロックデータ内アドレスを示すブロック
内アドレスである。2つ目は、ブロックデータを基本単
位として、キャッシュのアクセスアドレスを決定するキ
ャッシュ索引アドレスである。3つ目は、キャッシュ容
量を基本単位として、キャッシュ容量以上アドレスをサ
ーチアドレスとするタグアドレスである。
【0008】アドレスアレイ12のアドレスは、EAレ
ジスタ11内のキャッシュ索引アドレスを索引するアド
レスとして使用する。アドレスアレイ12をサーチして
得られたアドレスは、EAレジスタのタグアドレスとの
比較を比較器13で行う。比較結果について、両アドレ
スが一致すれば(キャッシュヒットすれば)、所望のデ
ータがキャッシュに存在する事になる。両アドレスが一
致しなければ(キャッシュミスすれば)、所望データが
キャッシュに存在しないので、主記憶からロードする事
になる。
【0009】キャッシュヒットの場合、アドレスアレイ
12から読み出したタグデータとEAレジスタ11内の
タグデータを比較し、一致した結果をヒットミスレジス
タ14にヒット情報としてセットする。同時にEAレジ
スタ11内のキャッシュ索引アドレスは、EA1レジス
タ16にセットされる。
【0010】データアレイ22内の該当するデータはE
A1レジスタのアドレスで読み出され、ヒットミスレジ
スタ14のヒット情報により、データアレイ22から読
み出されたデータから所望のデータをセレクター23a
で選択してレジスタA24にセットする。その後、選択
されたデータは、レジスタB5を介して汎用レジスタ7
aに書き込まれる。
【0011】キャッシュミスが発生した場合、アドレス
アレイ12から読み出したタグデータとEAレジスタ1
1のタグデータとを比較し、不一致した結果をヒットミ
スレジスタ14にミス情報としてセットする。ミス情報
により主記憶からデータをロードする起動信号は、アド
レス制御装置3に送付する。更に、主記憶からブロック
ロードするデータのアドレスは、EAレジスタ11から
アドレス制御装置3に送付する。アドレス制御装置3は
論理アドレスを物理アドレスに変換し、主記憶装置4か
らブロックデータをキャッシュ装置1aに送付する。
【0012】キャッシュ装置1aでは、セレクタ15a
によって信号線31の書き込みアドレスを選択し、リプ
ライレジスタ17に受信した書き込みデータをデータア
レイ22に書き込む。
【0013】なお、主記憶へのストア命令で書き換えら
れる書き込み元データがキャッシュに存在する場合は、
主記憶と同時にキャッシュデータの更新も行う必要があ
る。その場合は、セレクタ15aはEAレジスタ11の
書き込みアドレスを選択し、セレクタ21aは信号線3
2の書き込みデータを選択してデータアレイ22に書き
込みを行う。
【0014】主記憶装置4は他の情報処理装置とも接続
されており、他装置から主記憶へのアクセス要求によ
り、主記憶装置内でデータ処理競合が発生する。この
為、主記憶装置からのブロックロードデータはキャッシ
ュ装置に順不同な順番で戻ることになる。
【0015】すなわち、上記のブロックロードデータ
は、基本データ単位(たとえば、8バイト)で制御さ
れ、基本データ間の戻り順に制限がない。したがって、
1つのキャッシュミスリクエストに対するブロックロー
ドデータは、8個のリプライデータとして戻る。そして
8個のリプライデータ中には汎用レジスタに書き込む所
望のデータ(以下、ターゲットデータと呼ぶ)が存在す
る。ターゲットデータが主記憶装置4から戻る場合、一
旦リプライレジスタ17で受信し、レジスタA24とレ
ジスタB5を介して、汎用レジスタ7aに書き込む。
【0016】従来のキャッシュ装置では、主記憶装置か
らのブロックデータの戻りに間隔が開き戻り時間を多く
要する場合でも、最初のリプライデータを受信してから
最後のデータを受信するまで、後続キャッシュアクセス
制御の難しさからキャッシュビジー信号を立てつづけ、
後続キャッシュアクセスリクエスト処理を抑止してい
た。
【0017】図4は上記のキャッシュ装置1aの動作例
を示すタイムチャートである。同図において、タイミン
グ1で主記憶ロード要求が命令制御装置2より発行さ
れ、タイミング2でキャッシュミスと判定され、ヒット
ミスレジスタにミス情報がセットされる。キャッシュミ
スにより、主記憶からデータをロードする処理の為、ア
ドレス制御装置3でアドレス変換が行われ、論理アドレ
スが物理アドレス変換されて主記憶の該当するアドレス
からブロックデータをロードする。
【0018】主記憶装置4では、他の情報処理装置によ
るリクエストとの競合により、ブロックロードデータが
乱れて戻ってくる。すなわち、タイミング9にa3,タ
イミング10にa2,タイミング13にa5,タイミン
グ17にa1,タイミング18にa6,タイミング22
にa4,タイミング23にa7,タイミング26にa8
が戻ってきている。
【0019】ターゲットデータはタイミング17に戻っ
てくるので、タイミング18でレジスタA24に,タイ
ミング19でレジスタB5にデータをセットし、タイミ
ング20で汎用レジスタ7aにデータをセットする。
【0020】上記において、ブロックデータはタイミン
グ9から戻り始めるので、タイミング9からブロックロ
ードデータの全データを受信するまで、キャッシュビジ
ー信号はセットされる。本例では、タイミング26でキ
ャッシュビジー信号は解除される。
【0021】ところで、後続の主記憶へのロード要求
は、タイミング12で発生している。キャッシュビジー
信号はタイミング9からタイミング26までセットされ
ているので、リクエスト処理起動が保留され、キャッシ
ュビジー信号が解除になるタイミング27で起動処理が
実行される。タイミング27では、主記憶ロードに対す
るキャッシュサーチが行われサーチした結果、キャッシ
ュヒットであるので、データアレイから所望のデータを
読み出し、タイミング31で汎用レジスタに書き込んで
いる。
【0022】
【発明が解決しようとする課題】上記のような従来のキ
ャッシュ装置は次の問題点を有する。すなわち、キャッ
シュミスになった場合でも後続メモリアクセス命令を止
める事なく処理するノンブロッキング構造を採用してい
るキャッシュ装置において、キャッシュミスによる主記
憶から戻るブロックデータ中の汎用レジスタに書き戻す
所望データ(ターゲットデータ)が戻ってくるケースで
は、ノンブロッキング構造キャッシュである為、後続ロ
ード命令がキャッシュをアクセスする可能性がある。後
続ロード命令がキャッシュをアクセスするタイミングで
は、汎用レジスタに書き戻すパスで主記憶から戻るター
ゲットデータとのデータ選択競合が発生するために、後
続主記憶ロード命令によるキャッシュアクセスを抑止し
て主記憶から戻るブロックデータ中のターゲットデータ
を戻す処理を優先にしている。この場合、ブロックロー
ドデータ中のターゲットデータがキャッシュに戻る場
合、後続命令のキャッシュアクセスが抑止されるので、
メモリアクセス処理が低下する。
【0023】その理由は、主記憶からの戻りデータパス
とキャッシュヒットにおけるアクセスパスを共有してい
る構造を採用し、かつ主記憶から戻るブロックデータを
直接キャッシュに格納する場合キャッシュビジー信号が
長時間セットされる可能性があり、主記憶からのブロッ
クロードデータが戻ってきた場合、後続命令によるキャ
ッシュアクセスをガードするために後続主記憶ロード命
令処理を抑止しなければならないからである。
【0024】本発明の目的は、上記の欠点を改善するた
めに、キャッシュミス後の後続主記憶ロード命令のキャ
ッシュアクセス抑止時間を削減し、キャッシュアクセス
要求の待ち時間を短縮することができるキャッシュ装置
を提供することにある。
【0025】
【課題を解決するための手段】本発明のキャッシュ装置
は、複数の演算処理装置によって共用されている主記憶
装置にアクセスするキャッシュ装置において、主記憶ア
クセス命令がキャッシュミスのとき、前記キャッシュミ
スに対して前記主記憶装置が送出するブロックロードデ
ータを順次に保持し、この間にブロックロードデータ中
のターゲットデータを外部に送出し、その後全ブロック
ロードデータを連続してデータアレイに書き込む間だけ
データキャッシュアクセスを抑止するようにして構成さ
れる。
【0026】また、本発明のキャッシュ装置は、主記憶
アクセス命令のキャッシュミスに対して主記憶装置が送
出するブロックロードデータを順次に保持するデータバ
ッファと、前記データバッファを介さずに前記ブロック
ロードデータ中のターゲットデータを外部に送出するバ
イパス路とを備えて構成される。
【0027】また、本発明のキャッシュ装置は、命令制
御装置が送出する主記憶アクセス命令に従って前記主記
憶アクセス命令が指示するターゲットデータを汎用レジ
スタに書き込むキャッシュ装置において、主記憶装置が
送出するデータを保持するデータバッファと、前記デー
タを前記データバッファからバイパスする第一のバイパ
ス路と、前記データバッファが送出するデータと前記第
一のバイパス路のデータとのいずれかを選択するセレク
タと、前記セレクタを介してデータを前記汎用レジスタ
に導く第二のバイパス路と、前記ターゲットデータを前
記第一のバイパス路および前記第二のバイパス路を介し
て前記汎用レジスタに書き込む第一の制御手段と、前記
主記憶装置が送出するすべてのデータを前記データバッ
ファが保持したとき後続のデータキャッシュアクセスを
抑止し前記データをデータアレイに書き込む第二の制御
手段とを備えて構成される。
【0028】さらに、本発明のキャッシュ装置はデータ
アレイからの入力部およびバイパス路からの入力部を備
える汎用レジスタに前記ターゲットデータを書き込むよ
うにして構成される。
【0029】すなわち、本発明によるキャッシュ装置
は、命令制御装置からの主記憶ロード要求がキャッシュ
ミスとなった時、主記憶装置から順不同で転送されてき
たブロックデータをデータバッファに一時記憶した後に
キャッシュメモリに書き込む。
【0030】さらに、本発明によるキャッシュ装置は、
先行する主記憶ロード要求がキャッシュミスし、このキ
ャッシュミスに対応するブロックデータがデータアレイ
に戻るタイミングで後続の主記憶ロード要求がキャッシ
ュアクセスする時、ブロックデータ中の汎用レジスタに
戻すターゲットデータをバイパス路を使用して最速で汎
用レジスタに返す手段を有し、汎用レジスタへの書込み
をキャッシュヒットパス以外に、主記憶から戻るブロッ
クデータを汎用レジスタに戻す専用パスを用意して書き
込む。
【0031】また、本発明のキャッシュ装置は、先行キ
ャッシュミスに対応する主記憶からのブロックデータ戻
りがあるタイミングでも後続主記憶ロード要求の処理を
継続することができる。具体的には、主記憶からのブロ
ックデータをバッファリングするデータバッファと、ブ
ロックデータをバイパス路を用いて汎用レジスタに書き
戻す専用パスを持つので、汎用レジスタ書き込みで競合
が発生せずに書き込める。
【0032】換言すれば、汎用レジスタへの書込みのた
めにキャッシュヒットパスとキャッシュミスパスとを有
し、無秩序に戻る主記憶ブロックロードデータをデータ
バッファにバッファリングした後にキャッシュに連続し
て書き戻すようにしたので、主記憶からのブロックロー
ドデータがキャッシュに戻るタイミングでも、後続主記
憶ロード命令はキャッシュをアクセスすることができ
る。
【0033】
【発明の実施の形態】以下、本発明について図面を参照
しながら説明する。
【0034】図1は本発明の実施の一形態を示すブロッ
ク図である。同図において、本発明によるキャッシュ装
置1は、命令制御装置2が送出する主記憶アクセス命令
に従って前記主記憶アクセス命令が指示するターゲット
データを汎用レジスタ7に書き込むキャッシュ装置1に
おいて、主記憶装置4が送出するデータを保持するデー
タバッファ18と、前記データを前記データバッファか
らバイパスする第一のバイパス路33と、前記データバ
ッファが送出するデータと前記第一のバイパス路のデー
タとのいずれかを選択するセレクタ19と、前記セレク
タを介してデータを前記汎用レジスタに導く第二のバイ
パス路34と、前記ターゲットデータを前記第一のバイ
パス路および前記第二のバイパス路を介して前記汎用レ
ジスタに書き込む第一の制御手段(ターゲットデータバ
イパス制御回路25)と、前記主記憶装置が送出するす
べてのデータを前記データバッファが保持したとき後続
のデータキャッシュアクセスを抑止し前記データをデー
タアレイ22に書き込む第二の制御手段(データアレイ
書込み制御回路26)とを備える。
【0035】そして、上記のキャッシュ装置1はデータ
アレイからの入力部およびバイパス路からの入力部を備
える汎用レジスタ7に前記ターゲットデータを書き込
む。
【0036】命令制御装置2はプログラムカウンタに従
い順次に命令を処理する。そして処理命令が主記憶から
データをロードする命令の場合は、主記憶をアクセスす
るアドレスをEA(Effective Address)レジスタ11
にセットする。
【0037】EAレジスタ11にセットされるアドレス
は、3つのアドレスデータから構成される。1つ目は、
ロードされるブロックデータ内アドレスを示すブロック
内アドレスである。2つ目は、ブロックデータを基本単
位として、キャッシュのアクセスアドレスを決定するキ
ャッシュ索引アドレスである。3つ目は、キャッシュ容
量を基本単位として、キャッシュ容量以上のアドレスを
サーチアドレスとするタグアドレスである。
【0038】アドレスアレイ12のアドレスは、EAレ
ジスタ11内のキャッシュ索引アドレスを索引するアド
レスとして使用する。そしてアドレスアレイ12をサー
チして得られたアドレスと、EAレジスタ11のタグア
ドレスとの比較を比較器13で行なう。比較結果につい
て、両アドレスが一致すれば(キャッシュヒットすれ
ば)、所望のデータがキャッシュに存在する。両アドレ
スが一致しなければ(キャッシュミスすれば)、所望デ
ータがキャッシュに存在しないので、主記憶からロード
する。
【0039】キャッシュヒットの場合、一致した結果を
ヒットミスレジスタ14にヒット情報としてセットす
る。同時にEAレジスタ11内のキャッシュ索引アドレ
スを、EA1レジスタ16にセットする。
【0040】データアレイ22内の該当するデータはE
A1レジスタ16の上記のアドレスで読み出され、ヒッ
トミスレジスタ14のヒット情報により、データアレイ
22から読み出されたデータから所望のデータをセレク
タ23で選択し、レジスタA24にセットする。その
後、選択されたデータは、レジスタB5を介して汎用レ
ジスタ7に書き込まれる。
【0041】キャッシュミスが発生した場合、不一致し
た結果をヒットミスレジスタ14にミス情報としてセッ
トする。ミス情報により、主記憶からデータをロードす
る起動信号をアドレス制御装置3に送付する。さらに、
主記憶からブロックロードするデータのアドレスをEA
レジスタ11からアドレス制御装置3に送付する。アド
レス制御装置3は論理アドレスを物理アドレスに変換
し、主記憶装置4からブロックデータをキャッシュ装置
1に送付する。
【0042】なお、主記憶へのストア命令により書き換
えられる書き込み元データがキャッシュに存在する場合
は、主記憶のコピーがキャッシュに存在するので、主記憶
と同時にキャッシュデータの更新も行う必要がある。そ
の場合は、信号線32に書き込みデータをセットして書
き込みを行う。
【0043】主記憶装置4は他の情報処理装置とも接続
されており、他の装置から主記憶へのアクセス要求によ
り主記憶装置内でデータ処理競合が発生する。したがっ
て、主記憶装置からのブロックロードデータは、キャッ
シュ装置に順不同な順番で戻ってくる。すなわち、主記
憶からのブロックロードデータは、基本データ単位(た
とえば、8バイト)で制御され、基本データ間の戻り順
に制限はない。上記のキャッシュ装置では、1つのキャ
ッシュミスリクエストに対するブロックロードデータ
は、8個のリプライデータ(8個と仮定する。)として
戻ってくる。
【0044】8個のリプライデータの中には、汎用レジ
スタに書き込む所望のデータ(ターゲットデータ)が存
在する。ターゲットデータが主記憶装置4から戻る場
合、一旦リプライレジスタ17で受信したデータは、タ
ーゲットデータバイパス制御回路25の指示により、バ
イパス路33およびセレクタ19を介して直接汎用レジ
スタ7に送出される。すなわち、上記のターゲットデー
タは、バイパス路33を通過後、レジスタC20,バイ
パス路34,およびレジスタD6を介して汎用レジスタ
7に書き込まれる。
【0045】キャッシュ装置1は、ブロックロードデー
タ全てを一旦バッファリングし、バッファリングが完了
したらデータアレイ22にデータを書き込む。このと
き、後続の主記憶をロードする命令でキャッシュをアク
セスさせない為に、キャッシュビジー信号をセットす
る。
【0046】そして、データアレイ書込み制御回路26
からの指示により、データバッファ18からデータを読
み出し、さらにデータアレイ書込み制御回路26の指示
により、そのデータを選択するようにセレクタ19を操
作してそれを送出する。
【0047】データアレイ書込み制御回路26は、セレ
クタ21を制御して上記のデータをデータアレイ22に
導き、セレクタ15を制御して信号線35から送出され
てくるアドレスをEA1レジスタ16にセットする。そ
してEA1レジスタ内のデータをアドレスとして、セレ
クタ21からのデータをデータアレイ22に書込む。
【0048】キャッシュをアクセスさせない為のキャッ
シュビジー信号は、ブロックロードデータが8個から構
成されているので、8tセットされる。
【0049】図2は上記のキャッシュ装置の動作例を示
すタイムチャートである。同図において、タイミング1
で主記憶ロード要求が命令制御装置2より発行され、タ
イミング2でキャッシュミスと判定され、ヒットミスレ
ジスタにミス情報がセットされる。
【0050】キャッシュミスにより、主記憶からデータ
をロードする処理の為、アドレス制御装置3で論理アド
レスが物理アドレス変換され、主記憶の該当するアドレ
スからブロックデータをロードする。主記憶装置4では
他の情報処理装置によるリクエストとの競合があるの
で、ブロックロードデータは順不同かつ間隔が空いて戻
ってくる。同図では、タイミング9にa3,タイミング
10にa2,タイミング13にa5,タイミング17に
a1,タイミング18にa6,タイミング22にa4,
タイミング23にa7,タイミング26にa8が戻って
きている(a1をターゲットデータとする。)。
【0051】ターゲットデータは、タイミング17に戻
ってくるので、タイミング18でレジスタC20に,タ
イミング19でレジスタD6にデータをセットし、タイ
ミング20で汎用レジスタ7にそれを書き込む。
【0052】ブロックデータはタイミング26で全て戻
るので、キャッシュビジー信号をタイミング27からセ
ットし、データバッファ18からブロックロードデータ
を順に読み出し、読み出したデータを連続してデータア
レイ22に供給し格納する。そしてタイミング34でデ
ータアレイへのデータ移送は終了するので、キャッシュ
ビジー信号はタイミング27からタイミング34までの
8t間セットされた後に解除される。
【0053】後続の主記憶ロード要求は、タイミング1
2で発生している。このとき、キャッシュビジー信号は
セットされていないので、タイミング12でキャッシュ
をサーチする。サーチ結果はキャッシュヒットであるの
で、データアレイから目的データを読み出し、タイミン
グ16で汎用レジスタ7にそれを書き込むことができ
る。
【0054】上記のキャッシュ装置1では、先行および
後続の主記憶ロード処理がタイミング20ですべて終了
しているので、従来例と比べて11t早く処理が終了す
る(図4参照)。
【0055】
【発明の効果】以上、詳細に説明したように、本発明の
キャッシュ装置によれば、キャッシュミス後の後続ロー
ド命令のキャッシュアクセス抑止時間を削減できるの
で、キャッシュアクセス要求の待ち時間を短縮すること
ができる。すなわち、主記憶ロード要求により主記憶か
ら戻るブロックロードデータの戻しパスをキャッシュヒ
ットにより読み出されるパスとは別に設けて汎用レジス
タに書き込むように制御し、かつブロックロードデータ
をデータバッファに一旦溜めてから連続してデータアレ
イに書き込むので、キャッシュビジー信号をセットしな
ければならない時間を短縮することができる。したがっ
て、情報処理システムの処理能力を向上させることがで
きるという効果がある。
【図面の簡単な説明】
【図1】本発明の実施の一形態を示すブロック図。
【図2】本発明の動作例を示すタイムチャート。
【図3】従来例を示すブロック図。
【図4】従来例の動作例を示すタイムチャート。
【符号の説明】
1 キャッシュ装置 2 命令制御装置 3 アドレス制御装置 4 主記憶装置 5 レジスタB 6 レジスタD 7 汎用レジスタ 11 EAレジスタ 12 アドレスアレイ 13 比較器 14 ヒットミスレジスタ 15,19,21,23 セレクタ 16 EA1レジスタ 17 リプライレジスタ 18 データバッファ 20 レジスタC 22 データアレイ 24 レジスタA 25 ターゲットデータバイパス制御回路 26 データアレイ書込み制御回路 33,34 バイパス路

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 複数の演算処理装置によって共用されて
    いる主記憶装置にアクセスするキャッシュ装置におい
    て、主記憶アクセス命令がキャッシュミスのとき、前記
    キャッシュミスに対して前記主記憶装置が送出するブロ
    ックロードデータを順次に保持し、この間にブロックロ
    ードデータ中のターゲットデータを外部に送出し、その
    後全ブロックロードデータを連続してデータアレイに書
    き込む間だけデータキャッシュアクセスを抑止すること
    を特徴とするキャッシュ装置。
  2. 【請求項2】 請求項1記載のキャッシュ装置におい
    て、主記憶アクセス命令のキャッシュミスに対して主記
    憶装置が送出するブロックロードデータを順次に保持す
    るデータバッファと、前記データバッファを介さずに前
    記ブロックロードデータ中のターゲットデータを外部に
    送出するバイパス路とを備えることを特徴とするキャッ
    シュ装置。
  3. 【請求項3】 命令制御装置が送出する主記憶アクセス
    命令に従って前記主記憶アクセス命令が指示するターゲ
    ットデータを汎用レジスタに書き込むキャッシュ装置に
    おいて、主記憶装置が送出するデータを保持するデータ
    バッファと、前記データを前記データバッファからバイ
    パスする第一のバイパス路と、前記データバッファが送
    出するデータと前記第一のバイパス路のデータとのいず
    れかを選択するセレクタと、前記セレクタを介してデー
    タを前記汎用レジスタに導く第二のバイパス路と、前記
    ターゲットデータを前記第一のバイパス路および前記第
    二のバイパス路を介して前記汎用レジスタに書き込む第
    一の制御手段と、前記主記憶装置が送出するすべてのデ
    ータを前記データバッファが保持したとき後続のデータ
    キャッシュアクセスを抑止し前記データをデータアレイ
    に書き込む第二の制御手段とを備えることを特徴とする
    キャッシュ装置。
  4. 【請求項4】 請求項3記載のキャッシュ装置におい
    て、前記キャッシュ装置はデータアレイからの入力部お
    よびバイパス路からの入力部を備える汎用レジスタに前
    記ターゲットデータを書き込むことを特徴とするキャッ
    シュ装置。
JP15857797A 1997-06-16 1997-06-16 キャッシュ装置 Expired - Fee Related JP3481425B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP15857797A JP3481425B2 (ja) 1997-06-16 1997-06-16 キャッシュ装置
CA002240634A CA2240634C (en) 1997-06-16 1998-06-15 Cache device
US09/097,593 US6154814A (en) 1997-06-16 1998-06-16 Cache device that reduces waiting time necessary for a given subsequent request to gain access to the cache
EP98250210A EP0884683B1 (en) 1997-06-16 1998-06-16 Cache device
DE69808700T DE69808700T2 (de) 1997-06-16 1998-06-16 Cachespeichervorrichtung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15857797A JP3481425B2 (ja) 1997-06-16 1997-06-16 キャッシュ装置

Publications (2)

Publication Number Publication Date
JPH117410A true JPH117410A (ja) 1999-01-12
JP3481425B2 JP3481425B2 (ja) 2003-12-22

Family

ID=15674737

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15857797A Expired - Fee Related JP3481425B2 (ja) 1997-06-16 1997-06-16 キャッシュ装置

Country Status (5)

Country Link
US (1) US6154814A (ja)
EP (1) EP0884683B1 (ja)
JP (1) JP3481425B2 (ja)
CA (1) CA2240634C (ja)
DE (1) DE69808700T2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6014759A (en) * 1997-06-13 2000-01-11 Micron Technology, Inc. Method and apparatus for transferring test data from a memory array
US6044429A (en) 1997-07-10 2000-03-28 Micron Technology, Inc. Method and apparatus for collision-free data transfers in a memory device with selectable data or address paths
US6757817B1 (en) * 2000-05-19 2004-06-29 Intel Corporation Apparatus having a cache and a loop buffer
US6933945B2 (en) * 2003-03-31 2005-08-23 Sun Microsystems, Inc. Design for a non-blocking cache for texture mapping
US7174426B2 (en) * 2003-07-24 2007-02-06 International Business Machines Corporation Interleave pre-checking in front of shared caches with pipelined access
US7167952B2 (en) * 2003-09-17 2007-01-23 International Business Machines Corporation Method and system for performing a memory-mode write to cache

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62102344A (ja) * 1985-10-29 1987-05-12 Fujitsu Ltd バツフア・メモリ制御方式
JPS6459441A (en) * 1987-08-24 1989-03-07 Ibm Cash system
JPH0415844A (ja) * 1990-05-09 1992-01-21 Nec Ibaraki Ltd キャッシュメモリ制御回路
JPH0447350A (ja) * 1990-06-12 1992-02-17 Nec Ibaraki Ltd 主記憶読み出し応答制御方式
US5454093A (en) * 1991-02-25 1995-09-26 International Business Machines Corporation Buffer bypass for quick data access
JPH04293136A (ja) * 1991-03-20 1992-10-16 Nec Ibaraki Ltd キャッシュ制御方式
JPH0769863A (ja) * 1993-08-27 1995-03-14 Dainippon Jochugiku Co Ltd 液体白濁入浴剤
JPH08221328A (ja) * 1995-02-10 1996-08-30 Hitachi Ltd キャッシュメモリ装置
JPH08272608A (ja) * 1995-03-31 1996-10-18 Hitachi Ltd パイプライン処理装置

Also Published As

Publication number Publication date
EP0884683A3 (en) 1999-07-21
DE69808700D1 (de) 2002-11-21
US6154814A (en) 2000-11-28
CA2240634C (en) 2002-08-13
CA2240634A1 (en) 1998-12-16
EP0884683B1 (en) 2002-10-16
JP3481425B2 (ja) 2003-12-22
EP0884683A2 (en) 1998-12-16
DE69808700T2 (de) 2003-06-12

Similar Documents

Publication Publication Date Title
KR100274327B1 (ko) 캐시가 일관된 다중 처리기 컴퓨터 시스템에서 다중 미결동작을 제공하기 위한 장치 및 그 방법
US6185660B1 (en) Pending access queue for providing data to a target register during an intermediate pipeline phase after a computer cache miss
JP4417715B2 (ja) キャッシュメモリにおける、タグおよびデータアクセスを分断する方法および装置
JP2761506B2 (ja) 主記憶制御装置
JP2003504757A (ja) 外部メモリアクセス用バッファリングシステムバス
JP2005533295A5 (ja)
JPS6118226B2 (ja)
JPH02166539A (ja) フェッチ方法
JPH04306748A (ja) 情報処理装置
JPH03225542A (ja) データ記憶方法及びビットエンコードデータの処理回路
JP3481425B2 (ja) キャッシュ装置
JPH07325760A (ja) 情報処理システムにおける記憶制御方法および記憶制御装置
JP3505728B2 (ja) 記憶制御装置
US5623685A (en) Vector register validity indication to handle out-of-order element arrival for a vector computer with variable memory latency
JPH0756808A (ja) データキャッシュバッファ及び記憶方法
JP4111645B2 (ja) キャッシュミスした後のメモリバスアクセス制御方式
JP3130569B2 (ja) キャッシュメモリのストア方式
JPH0773035A (ja) 複数プロセツサ・システム
JP3221409B2 (ja) キャッシュ制御システム及びその読出し方法並びにその制御プログラムを記録した記録媒体
US6996665B2 (en) Hazard queue for transaction pipeline
JP3039391B2 (ja) メモリシステム
JP3093446B2 (ja) 情報処理装置
EP0304587A2 (en) Interruptible cache loading
JPH10111798A (ja) 情報処理装置
JPS63286959A (ja) メモリアクセス方式

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20010109

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081010

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091010

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091010

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101010

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111010

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121010

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131010

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees