JPH08263286A - 緩衝記憶装置 - Google Patents

緩衝記憶装置

Info

Publication number
JPH08263286A
JPH08263286A JP7062850A JP6285095A JPH08263286A JP H08263286 A JPH08263286 A JP H08263286A JP 7062850 A JP7062850 A JP 7062850A JP 6285095 A JP6285095 A JP 6285095A JP H08263286 A JPH08263286 A JP H08263286A
Authority
JP
Japan
Prior art keywords
address
branch
block
block load
circuit
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
JP7062850A
Other languages
English (en)
Inventor
Katsumi Yoda
克巳 依田
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 JP7062850A priority Critical patent/JPH08263286A/ja
Publication of JPH08263286A publication Critical patent/JPH08263286A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 メモリアクセスの競合時における主記憶装置
からのデータ取り出し時間を改善する。 【構成】 サーチ判定回路6は、ブロックロード要求の
アドレスに対して、次ブロックロードアドレスを作成す
る。後続サーチ判定回路4は、その作成したアドレスに
よってタグ部を索引して、ヒット・ミスヒットを判定す
る。OPコード検出回路5は、先に発行したブロックロ
ード要求に対するリプライデータのOPコードを判定
し、リプライデータに分岐命令がなく、かつミスヒット
の場合、サーチ判定回路6は、連続してブロックロード
要求を発行する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は緩衝記憶装置、特にマル
チプロセッサシステム等においてメモリアクセスの競合
が発生した場合に有効な緩衝記憶装置に関する。
【0002】
【従来の技術】緩衝記憶装置、特に連続性の高い命令キ
ャッシュについては、性能を上げる為に命令の先取り、
そして分岐命令がある場合は、分岐予測テーブルを用い
た方法による命令先取り方法などが従来から用いられて
いる。
【0003】このような従来の緩衝記憶装置は、図5に
示す様に、主記憶装置から主記憶制御装置を経由しライ
ン200によって送られてきたデータを登録するデータ
登録部2と、ライン201によって送られてきたアドレ
スを登録するタグ部3と、ライン200と201によっ
て送られてきた分岐先アドレスを格納する分岐先テーブ
ル40と、サーチ判定回路41とから構成される。
【0004】この緩衝記憶装置において、性能を上げる
為に一般的に用いられる命令の先取り方式は、先ずキャ
ッシュヒットした有効なデータをデータライン202に
よってデータ登録部2からサーチ判定回路41へ送付
し、さらにライン207によってCPUへ送りながら、
次に使用されると予想される命令に対してキャッシュ索
引を行う。
【0005】この時、キャッシュヒットすれば命令をデ
ータ登録部2からサーチ判定回路41へ受け、ライン2
07によってCPUへ命令を発行する。キャッシュミス
ヒットと判定された場合は、サーチ判定回路からライン
206を通して次のブロックロード要求を主記憶制御装
置に対して発行する。ここで発行するブロックロードの
アドレスは分岐命令等がなければ連続したアドレスとな
り、分岐命令がある場合は、前回の分岐命令の成功/不
成功の判断を行い、不成功の場合は、連続のブロックロ
ード要求処理を行い、成功の場合は分岐先テーブル40
よりライン204によって分岐先のアドレスを受け取
り、その分岐先のアドレスによりブロックロード要求を
おこなっていた。
【0006】
【発明が解決しようとする課題】上述した従来の緩衝記
憶装置では、先取りの命令個数がそれほど多くなく、マ
ルチプロセッサシステムによる構成においては、他プロ
セッサとのメモリアクセス競合が発生する為、メモリか
らのデータ取り出し時間が長くなり、そのため装置の性
能低下は避けられないという問題点がある。
【0007】
【課題を解決するための手段】本発明の装置は、セット
アソシアティブ方式のキャッシュを備えた緩衝記憶装置
に於いて、ブロックロードに後続するブロックのヒット
・ミスヒットを判定する後続サーチ判定回路と、ブロッ
クロードリプライデータのオペレーションコードを判定
して分岐命令がない時に次ブロックロード要求可能と判
断するOPコード検出回路と、前記後続サーチ判定回路
からのミスヒット判定信号と前記OPコード検出回路か
らのブロックロード要求可能信号とによって、次ブロッ
クロート要求指示を主記憶制御装置に出力するサーチ判
定回路とを有することを特徴とする。
【0008】
【実施例】次に、本発明について図面を参照して説明す
る。
【0009】図1は本発明の第1の実施例を示すブロッ
ク図である。本例は、主記憶装置からライン100によ
り主記憶制御装置を経由し、さらにライン101により
送られてきたデータを登録するデータ登録部2、登録デ
ータに対応したアドレスをライン102を通して受け取
り登録するタグ部3、ライン103により送られた要求
済みブロックロードアドレスの次ブロックのヒット/ミ
スヒットを判定する後続サーチ判定回路4、ライン10
1を通して送られてきたブロックロードリプライデータ
のオペレーションコードから分岐命令があるか否かを判
断するOPコード検出回路5、後続サーチ判定回路4か
らライン104を通して送られてくる信号と、OPコー
ド検出回路5からライン107を通して送られてくる信
号により、次ブロックロード要求をするか否かを判定す
るサーチ判定回路6から構成される。
【0010】後続サーチ判定回路4は、要求済みブロッ
クロードアドレスに1ブロック加算を行い、次ブロック
ロードアドレスを作成して、タグ部3に送り、タグ部3
から索引されたアドレスについて一致/不一致検出を行
い、一致(ヒット)すれば、有効なデータは、命令の発
行順に従い、データ登録部2からライン109とサーチ
判定回路を通してライン110によってCPUへ送られ
る。一方、不一致と検出されると(ミスヒット)、主記
憶制御装置へブロックロード要求を発行する。
【0011】上記ヒット及びミスヒットのケースにおい
て次ブロックロードアドレスをタグ部3へ送るタイミン
グは、一般的には前のブロックロードリプライデータが
戻ってきたタイミングではなく、発行する命令(デー
タ)が一定数を割り込んだ時に送る様になっている。分
岐があった場合には、従来と同様に、分岐先テーブルに
従ってブロックロードアドレスは分岐先アドレスによっ
て索引を行う。
【0012】図2は、図1に示した実施例の詳細図であ
る。
【0013】後続サーチ判定回路4は、図3に示される
とおり、加算器20,アドレス比較器2,インバータ2
2,B/L中フラグ24及びセレクタ25から成る。B
/L中フラグ24は、ブロックロード中であれば
“1”、そうでなければ“0”がセットされる。セレク
タ25はB/L中フラグ24が“0”ならサーチ判定回
路6からの索引アドレス、“1”なら加算器20の出力
を選択する。アドレス比較器21は、セレクタ25の出
力とタグ部3からのアドレスと比較し、一致(ヒット)
すれば“1”、不一致(ミスヒット)なら“0”を出力
し、インバータ22はこれを反転する。
【0014】尚、加算器20は索引アドレスに32を加
算する。これは、本実施例では、1ブロックを32バイ
トとしたため、索引アドレスの次ブロックアドレスを生
成することを意味する。
【0015】セレクタ29は、B/L中フラグ24が
“0”なら索引アドレス、“1”なら加算器20の出力
を選択してアドレスバッファ23に格納する。タグ部3
は、このアドレスバッファ23の出力で索引され、その
出力をアドレス比較器21に出力する。セレクタ29及
びアドレスバッファ23は、説明の便宜上、タグ部3と
分離して図示しているが、物理的にはタグ部3に含ま
れ、それ故に、図1では明示していない。
【0016】サーチ判定回路は、図3に示されるとお
り、2つのセレクタ3a、3bと、アンドゲート3c
と、加算器3dとを含む。セレクタ3aは、分岐信号が
“0”(分岐でない)なら加算器3dの出力、分岐信号
が“1”(分岐である)なら分岐先アドレスを選択す
る。尚、分岐信号及び分岐アドレスは分岐先テーブル
(図示省略)に登録されている。また、セレクタ3b
は、リプライ信号が“0”(リプライがない)なら0、
“1”(リプライがある)なら32を出力する。
【0017】従って、加算器3dは、分岐でない場合に
は、リプライがないなら索引アドレスをそのまま、リプ
ライがあれば索引アドレスに32を加算して出力し、分
岐である場合には、リプライがない分岐アドレスをその
まま、リプライがあれば分岐アドレスに32を加算して
出力する。
【0018】OPコード検出回路5は、図3に示すとお
り、4つのOPコード比較器27−1,27−2,27
−3,27−4と分岐命令検出器28とを含む。OPコ
ード比較器27−1〜27−4は、B/Lリプライデー
タ(32バイトのブロックデータ)について、8バイト
構成の命令語を4つ並列して、あらかじめ埋め込まれて
いる分岐OP情報26と比較する。その結果、どれか一
つの命令語が分岐命令であれば分岐命令検出器28は
“0”をアンドゲート3cに出力する。
【0019】以上の結果、アンドゲート3cは、次ブロ
ックアドレスがミスヒットし、かつ当該命令語が分岐命
令でない場合にブロックロード要求を出すことになる。
【0020】いま、キャッシュ索引を実施してミスヒッ
トと判定された時、ライン111を通して主記憶制御装
置に対してブロックロードアドレス、ライン112を通
してブロックロード要求を発行する。加算器32は、ブ
ロックロード要求中に、発行されたブロックロードアド
レスに32を加算する。アドレスバッファ23は、32
が加算され、ライン105’によって送付されてくるア
ドレスを格納する。アドレス比較器24は、アドレスバ
ッファ23の出力によってタグ部3から索引された情報
をライン106を通して受け付け、32加算されたアド
レスの上位アドレスと比較して一致判定する。
【0021】ミスヒットと判定された時、ライン104
を通してサーチ判定回路6へ後続のブロックロードがミ
スヒットしたことを通知する。さらに主記憶装置から主
記憶制御装置を通し、さらにライン101を通して送ら
れてきた1ブロック(32B)データ(命令語:8B幅
とする)のOPコードを、予め格納してあった分岐OP
情報26の内容とOPコード比較回路27−1〜27−
4において比較して、その比較結果情報から1ブロック
の中に1つも分岐命令がないことを検出する。
【0022】サーチ判定回路6では、後続サーチ判定回
路4からライン104を通して送られてきたミスヒット
情報、及びOPコード検出回路5からライン107を通
して送られてきた分岐命令を含まれていないという情報
により、後続のブロックロード要求を発行することを判
定する。また、分岐命令があった場合には、加算器3d
は分岐先のアドレスを受付て次ブロックロードアドレス
を作成し、後続サーチ判定回路4へライン103によっ
て索引アドレスを供給する。
【0023】図3は、本発明の第2の実施例のブロック
図であり、図1に示した第1の実施例における後続サー
チ判定回路4及びOPコード検出回路5の代りに、タグ
部7,データ登録部8及び使用頻度情報登録部9から成
る分岐先データ登録部10を設けている。
【0024】図4は、分岐先データ登録部10の詳細図
であり、本図によれば、タグ部7は4つの分岐先アドレ
スバッファ30−1〜30−4と、これと1:1対応の
4つのアドレス比較回路31−1〜31−4と、データ
選択信号作成回路32とで構成されていることがわか
る。また、データ登録部8は、分岐先アドレスバッファ
30−1〜30−4と1:1対応の4つの分岐先データ
バッファ33−1〜33−4と、ブロック選択回路34
とで構成され、また使用頻度情報登録部9はライン10
2が入力し、サーチ判定回路11と接続されている。
【0025】分岐先アドレスバッファ30−1〜30−
4と分岐先データバッファ33−1〜33−4には、よ
く使用される4つのブロックに対応するアドレスとデー
タが登録され、その制御は使用頻度情報登録部9におけ
る使用頻度情報に基づいて行われる。この使用頻度情報
は、当該ブロックがロードされるか、又はアドレス比較
回路31−1〜31−4においてヒット判定されたとき
にカウントアップされる。
【0026】いま、ライン102を通して、ブロックロ
ードされてくると、分岐先アドレスバッファ30−1〜
30−4のうちの一つに入力するが、その選択は、サー
チ判定回路11が使用頻度情報に基づいて出力するライ
ン125上の信号により行われる。そして、分岐先デー
タバッファ33−1〜33−4のうち、対応するものに
分岐先データが登録されることになる。
【0027】また、サーチ判定回路11が出力する索引
アドレスはライン124を通してアドレス比較回路31
−1〜31−4に導かれ、それぞれ分岐先アドレスバッ
ファ30−1〜30−4の内容と比較される。その結
果、ヒットすれば、データ選択信号作成回路32は選択
信号を作成し、ブロック選択回路34は、この選択信号
に応答して、分岐先データバッファ33−1〜33−4
のうちの対応するものの出力をサーチ判定回路11に出
力する。サーチ判定回路11は、これをCPUに送出す
るとともに、使用頻度情報をカウントアップする。
【0028】本実施例によれば、頻繁に使用される分岐
先命令を含むブロックロードデータは、メモリにアクセ
スされることなく、分岐先データバッファ33−1〜3
3−4から直接にCPUに出力されることになるが、本
効果は、前回実行した結果と同一方向、同一分岐先アド
レスが実行される確率が高いというソフトウェアの特性
に基づく。
【0029】また、本実施例は、第1の実施例におい
て、リプライデータに分岐命令が検出された場合には、
次ブロックロードをできないことに鑑み考案されたもの
である。
【0030】
【発明の効果】本発明によれば、マルチプロセッサシス
テムなどメモリアクセスなどの競合が発生し、命令の先
取りが必要な緩衝記憶装置において、ハードウェア量を
それほど増やさずに次の命令の供給ができる為、競合等
による大幅な性能低下を阻止できる効果がある。
【図面の簡単な説明】
【図1】本発明の第1の実施例を示すブロック図であ
る。
【図2】図1に示した第1の実施例の詳細図である。
【図3】本発明の第2の実施例を示すブロック図であ
る。
【図4】図2に示した第2の実施例の詳細図である。
【図5】従来の緩衝記憶装置を示すブロック図である。
【符号の説明】
1 緩衝記憶装置 2 データ登録部 3 タグ部 4 後続サーチ判定回路 5 OPコード検出回路 6 サーチ判定回路 7 タグ部 8 データ登録部 9 使用頻度情報登録部 10 分岐先データ登録部 11 サーチ判定回路 20,3d 加算器 21 アドレス比較器 22 インバータ 23 アドレスバッファ 24 B/L中フラグ 25,29,3a,3b セレクタ 26 分岐OP情報 27−1〜27−4 OPコード比較器 28 分岐命令検出器 30−1〜30−4 分岐先アドレスバッファ 31−1〜31−4 アドレス比較回路 32 データ選択信号作成回路 33−1〜33−4 分岐先データバッファ 34 ブロック選択回路 40 分岐先テーブル 41 サーチ判定回路。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 セットアソシアティブ方式のキャッシュ
    を備えた緩衝記憶装置に於いて、 ブロックロードに後続するブロックのヒット・ミスヒッ
    トを判定する後続サーチ判定回路と、ブロックロードリ
    プライデータのオペレーションコードを判定して分岐命
    令がない時に次ブロックロード要求可能と判断するOP
    コード検出回路と、前記後続サーチ判定回路からのミス
    ヒット判定信号と前記OPコード検出回路からのブロッ
    クロード要求可能信号とによって、次ブロックロート要
    求指示を主記憶制御装置に出力するサーチ判定回路とを
    有することを特徴とする緩衝記憶装置。
  2. 【請求項2】 特に分岐命令によって頻度で使用される
    分岐先データを必要頻度に応じて格納する分岐先データ
    登録部を設け、頻繁に使われる分岐命令は前記分岐先デ
    ータ登録部から供給するように制御することを特徴とす
    る請求項1記載の緩衝記憶装置。
JP7062850A 1995-03-22 1995-03-22 緩衝記憶装置 Pending JPH08263286A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7062850A JPH08263286A (ja) 1995-03-22 1995-03-22 緩衝記憶装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7062850A JPH08263286A (ja) 1995-03-22 1995-03-22 緩衝記憶装置

Publications (1)

Publication Number Publication Date
JPH08263286A true JPH08263286A (ja) 1996-10-11

Family

ID=13212206

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7062850A Pending JPH08263286A (ja) 1995-03-22 1995-03-22 緩衝記憶装置

Country Status (1)

Country Link
JP (1) JPH08263286A (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5140824A (ja) * 1974-10-04 1976-04-06 Hitachi Ltd
JPS63136229A (ja) * 1986-11-28 1988-06-08 Nec Corp 命令取出し装置
JPH03212736A (ja) * 1990-01-17 1991-09-18 Mitsubishi Electric Corp データ処理装置
JPH0683621A (ja) * 1992-08-31 1994-03-25 Fujitsu Ltd フェッチ方式

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5140824A (ja) * 1974-10-04 1976-04-06 Hitachi Ltd
JPS63136229A (ja) * 1986-11-28 1988-06-08 Nec Corp 命令取出し装置
JPH03212736A (ja) * 1990-01-17 1991-09-18 Mitsubishi Electric Corp データ処理装置
JPH0683621A (ja) * 1992-08-31 1994-03-25 Fujitsu Ltd フェッチ方式

Similar Documents

Publication Publication Date Title
US4626988A (en) Instruction fetch look-aside buffer with loop mode control
US10083126B2 (en) Apparatus and method for avoiding conflicting entries in a storage structure
US4463420A (en) Multiprocessor cache replacement under task control
JP2881049B2 (ja) プリフェッチバッファ
US5509119A (en) Fast comparison method and apparatus for error corrected cache tags
EP0125855B1 (en) Buffer-storage control system
EP0139407B1 (en) Data select match
JP3205989B2 (ja) 情報処理システム
US6581140B1 (en) Method and apparatus for improving access time in set-associative cache systems
JP3254019B2 (ja) データ先読み制御装置
EP0321793A2 (en) Apparatus for forcing a reload from main memory upon cache memory error
US7552287B2 (en) Method and system of controlling a cache memory by interrupting prefetch request with a demand fetch request
US5692151A (en) High performance/low cost access hazard detection in pipelined cache controller using comparators with a width shorter than and independent of total width of memory address
US7689770B2 (en) Method and system for selectively permitting cache memory access during a cache miss request
JPH08263286A (ja) 緩衝記憶装置
US7447884B2 (en) Multi-table branch prediction circuit for predicting a branch's target address based on the branch's delay slot instruction address
US6442665B2 (en) Data processing device
US6397304B1 (en) Method and apparatus for improving system performance in multiprocessor systems
CN117093271B (zh) 一种分支指令的预取方法及装置
JP3176255B2 (ja) キャッシュメモリ装置
CN117331602A (zh) 一种跳转指令的预取方法及装置
JPS61289464A (ja) スカラ演算処理装置
JP3697990B2 (ja) ベクトル処理装置のオペランドキャッシュ
JP2690593B2 (ja) 情報処理装置
JPH02188846A (ja) リクエストキャンセル方式

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19970408