JPH07334421A - キャッシュメモリ制御装置 - Google Patents

キャッシュメモリ制御装置

Info

Publication number
JPH07334421A
JPH07334421A JP6127454A JP12745494A JPH07334421A JP H07334421 A JPH07334421 A JP H07334421A JP 6127454 A JP6127454 A JP 6127454A JP 12745494 A JP12745494 A JP 12745494A JP H07334421 A JPH07334421 A JP H07334421A
Authority
JP
Japan
Prior art keywords
request
address
cache memory
store
tlb
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
JP6127454A
Other languages
English (en)
Inventor
Masako Muraki
雅子 村木
Atsushi Tanaka
田中  敦
Yaoko Nakagawa
八穂子 中川
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 JP6127454A priority Critical patent/JPH07334421A/ja
Publication of JPH07334421A publication Critical patent/JPH07334421A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】 パイプライン処理において、少ない物量でア
ドレスアレイ、TLBのアクセス競合を回避する。 【構成】 ステージ制御部100はパイプラインのステ
ージ制御を司るが、アドレスアレイ2、TLB3をアク
セスする各リクエストのステージを等しくする。ストア
リクエストが発生すると、例えばステージCでアドレス
アレイ2、TLB3を参照し、リクエスト情報、論理ア
ドレス、アドレスアレイ参照結果、TLB3で求める実
アドレスをストアフェッチキュー9の一つに登録する。
その後、例えばステージFで、キュー9の登録内容にも
とづいてキャッシュメモリ1をアクセスし、データを書
き込む。フェッチリクエストもステージCでアドレスア
レイ2、TLB3を参照し、ヒットを検出すると、キャ
ッシュメモリ1からデータを読み出す。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、情報処理装置における
キャッシュメモリ制御装置に関するものである。
【0002】
【従来の技術】情報処理装置においては、一般にメモリ
アクセスを高速に行うために、小容量、高速アクセスの
キャッシュメモリ(バッファメモリ)を備えている。こ
のキャッシュメモリは一定または任意の大きさのブロッ
クに分割され、主記憶装置のデータの一部を保持してい
る。このキャッシュメモリに対応してアドレスアレイが
あり、キャッシュメモリのブロックが保持するデータの
主記憶装置上の実アドレスを登録している。
【0003】また、仮想アドレス方式をとるデ−タ処理
装置は、論理アドレスとそれに対する実アドレスとの変
換対を保持するアドレス変換バッファ(以後TLBと呼
ぶ)を備える。
【0004】キャッシュメモリ制御装置では、論理アド
レスによるアクセス要求があると、TLBにより実アド
レスを求めると共にアドレスアレイをアクセスして該当
デ−タブロックの主記憶アドレスの登録の有無を検出
し、登録されていすれば、キャッシュメモリにアクセス
する。
【0005】一方、制御方式によりデ−タ処理装置の処
理速度を向上させる方法の1つに、パイプライン方式が
ある。パイプライン方式は命令の処理シーケンスを複数
のステージに分け、各命令においてこれらのステージを
オーバーラップさせて処理することにより、複数命令の
並列処理を実現するものである。ストアリクエストおよ
びフェッチリクエストによりキャッシュメモリをアクセ
スする場合、仮にこれらストアおよびフェッチリクエス
トのパイプライン動作において、キャッシュメモリをア
クセスするステージが同じ、言い替えればこのキャッシ
ュメモリのアドレスアレイおよびTLBを参照するステ
ージが同じで、且つ1サイクルに2命令以上がデコード
されない場合、ある時刻に、ストアリクエストとフェッ
チリクエストが同時にキャッシュメモリ即ちアドレスア
レイをアクセスすることはない。しかし、ストアリクエ
ストおよびフェッチリクエストのキャッシュメモリをア
クセスするステージが異なれば、ある時刻に、この2つ
のリクエストが同時にキャッシュメモリおよびアドレス
アレイ、TLBをアクセスする場合がある。
【0006】この場合の一例を図3に示す。すなわち、
フェッチリクエストのアドレスアレイ、TLB参照をC
ステージで、ストアリクエストのアドレスアレイ、TL
B参照をFステージで行うと仮定した場合、図3に示す
ように、パイプライン処理の過程で先行するストアリク
エストと後続フェッチリクエストとでアドレスアレ
イ、TLBの参照が競合する。
【0007】このように、ストアリクエストとフェッチ
リクエストとのキャッシュメモリ、アドレスアレイ、T
LBアクセスの競合が発生した場合、どちらかのアクセ
スを待たせなければならない。これに対し、従来は、例
えば特開昭59−048879号公報に示されるよう
に、ストアリクエスト用、フェッチリクエスト用の専用
アドレス・アレイ、TLBを持つことにより、ストアリ
クエストとフェッチリクエストとのアドレスアレイ、T
LBの競合を回避しているものもある。
【0008】
【発明が解決しようとする課題】上述の従来技術におい
ては、ストアリクエスト用、フェッチリクエスト用の専
用アドレスアレイ、TLBを設けるため、ストアリクエ
ストとフェッチリクエストとのアドレスアレイ、TLB
の競合を回避できる反面、物量が増大するという問題が
ある。
【0009】本発明の目的は、ストアリクエスト用、フ
ェッチリクエスト用の専用アドレスアレイを持たずに、
アドレスアレイのアクセス競合を回避することができる
キャッシュメモリ制御装置を提供することにある。
【0010】
【課題を解決するための手段】本発明では、メモリリク
エスト発生時に、当該リクエストのアドレス、アドレス
アレイの参照結果、当該リクエストの属性を示す情報を
登録する数面のキュー(以下、ストアフェッチキューと
呼ぶ)を設け、当該リクエストの実際のキャッシュメモ
リアクセスステージに合わせて、当該キューに登録され
ている情報に基づいてキャッシュメモリをアクセスする
ことを特徴とするものである。
【0011】
【作用】キャッシュメモリへのアクセスのためにアドレ
スアレイを参照する全てのリクエストについて、各々ア
ドレスアレイ参照ステージを一番早いパイプラインステ
ージで行うものに合わせる。例えばストアリクエストと
フェッチリクエストにおいては、一般にフェッチリクエ
ストのアドレスアレイ参照ステージの方が早いので、こ
のステージにストアリクエストのアドレスアレイ参照ス
テージも合わせる。そして、ストアリクエスト発生時
に、ストアリクエストのアドレス、アドレスアレイ参照
結果などの情報をストアフェッチキューに登録し、該ス
トアリクエスト本来のキャッシュメモリアクセスステー
ジに合わせて、当該キューの情報をもとにキャッシュメ
モリをアクセスする。これにより、ストアリクエストと
フェッチリクエストなどのアドレスアレイのアクセス競
合を回避し、アドレスアレイ参照から数ステージ後にス
トアクリエストなどのキャッシュメモリのアクセスが可
能となる。
【0012】更に、ストアフェッチキューは高々数面を
備えるだけでよく、ストアリクエスト用、フェッチリク
エスト用の専用アドレスアレイ、TLBなどを設ける場
合に比べ、少ない物量にてストアリクエストとフェッチ
リクエストなどのアドレスアレイ、TLBのアクセスの
競合を避けることが可能となる。
【0013】
【実施例】以下、本発明の一実施例を図面を参照して説
明する。
【0014】図1に本発明の一実施例のブロック図を示
す。図において、1は主記憶装置の一部のデータブロッ
クを保持しているキャッシュメモリ、2はキャッシュメ
モリが保持するデータブロックの主記憶装置上の実アド
レスを登録しているアドレスアレイ、3は論理アドレス
とそれに対する実アドレスとの変換対を保持するアドレ
ス変換バッファ(TLB)、4はキャッシュメモリ1の
ヒット検出回路である。キャッシュメモリ1の下位に
は、物理アドレスにて参照を行う2レベルのキャッシュ
メモリ(中間バッファ)もしくは主記憶装置が存在する
が、図1では省略してある。
【0015】5はリクエスト情報を保持するレジスタ、
6は一般にはリクエスト論理アドレスを保持し、例外的
にブロックパージアドレスを保持するレジスタである。
7はキャッシュメモリ1のアドレスレジスタ、8はキャ
ッシュメモリのストアデータレジスタである。
【0016】9はn面(nは2以上の任意の整数)のス
トアフェッチキューであり、アドレスアレイ2、TBL
3の参照結果等を保持する。10はストアフェッチキュ
ー9内のエンキュー論理アドレスとレジスタ6のリクエ
スト論理アドレスを比較する比較回路である。11はス
トアフェッチキュー9内の論理アドレスあるいは実アド
レスのいずれを選択し、また、ストアリクエストのアク
セスがキャッシュメモリの書き込み単位を跨がるなどす
る場合にアドレス加算を行うためのセレクタ/加算回路
である。12はセレクタ/加算回路11の出力論理アド
レスあるいはリクエスト論理アドレスのいずれかを選択
するセレクタ、13はリクエスト論理アドレスとブロッ
クパージアドレスのいずれかを選択するセレクタであ
る。
【0017】100はステージ制御部であり、パイプラ
イン処理のステージ制御を司る。図1の各部の動作タイ
ミングは、このステージ制御部100のパイプラインス
テージ制御信号によって制御される。
【0018】図2にストアフェッチキュー9の内容の詳
細を記述する。すなわち、ストアフェッチキュー9に
は、キャッシュメモリ1をアクセスするストアリクエス
トの論理アドレス101、TLB3の参照により求まる
実アドレス102、アドレスアレイ2の参照結果すなわ
ちヒット検出回路4の検出結果103、リクエスト情報
(本実施例ではストアリクエスト)104、該ストアフ
ェッチキューの有効ビット105が保持される。
【0019】本実施例では、基本的なパイプラインステ
ージがA→B→C→D→E→Fと進んでいき、フェッチ
リクエストはCステージでキャッシュメモリ1のデータ
を読みだし、ストアリクエストはFステージでキャッシ
ュメモリ1にデータを書き込むものと仮定する。このキ
ャッシュメモリ1をアクセスするためには、レジスタ6
のリクエスト論理アドレスでアドレスアレイ2、TLB
3を参照しなければならないが、このアドレスアレイ2
とTLB3の参照ステージを、フェッチリクエストおよ
びストアクリエストともに(一般にはアドレスアレイ、
TLBを参照する全てのリクエストにおいて)Cステー
ジで行うとする。本実施例のパイプライン処理例を図4
に示す。以下、図4を例に図1の動作を説明する。
【0020】先行ストアリクエストは、ステージBで
リクエスト情報、リクエストアドレス(リクエスト論理
アドレス)のレジスタ5、6へ設定をおえ、Cステージ
でレジスタ6の論理アドレスによりアドレスアレイ2、
TLB3を参照した後、このストアリクエストの論理
アドレス、リクエスト情報、TLB3の参照によって求
まる実アドレス、ヒット検出回路4のアドレスアレイ参
照結果をn面あるストアフェッチキュー9の1つに登録
する。その後、この先行ストアリクエストは、Fステ
ージにて、ストアフェッチキュー9の登録内容のアドレ
スアレイ参照結果(H)103に、該先行ストアリクエ
ストがアクセスするメモリ領域がキャッシュメモリ内の
ブロックに存在していることが示されていれば(例え
ば、H=1)、そのストアフェッチキュー登録内容の論
理アドレス(LA)101を、セレクタ/加算回路11
およびセレクタ12を経由してレジスタ7に設定してキ
ャッシュメモリ1をアクセスし、該キャッシュメモリ1
にレジスタ8のデータを書き込む。また、ストアフェッ
チキュー登録内容のアドレスアレイ参照結果(H)10
3に、ストアリクエストがアクセスするメモリ領域が
キャッシュメモリ1内のブロックに存在していないこと
が示されているか(例えば、H=0)、または、このキ
ャッシュメモリ1がストアスルー方式を採用している場
合は、下位のメモリ装置(主記憶装置または2レベルの
キャッシュメモリ装置)に対し、セレクタ/加算回路1
1は、ストアフェッチキュー登録内容の実アドレス(P
A)102とリクエスト情報(C)104とを送出す
る。
【0021】後続フェッチリクエスト、、でも、
それぞれステージBまでリクエスト情報、リクエストア
ドレス(リクエスト論理アドレス)のレジスタ5、6へ
設定をおえ、Cステージでアドレスアレイ2、TLB3
を参照する。そして、キャッシュメモリ1に当該データ
が存在する場合、すなわち、ヒット検出回路4がヒット
(H=1)を検出した場合、該Cステージで当該リクエ
ストアドレスをセレクタ12を経由してレジスタ7に設
定してキャッシュメモリ1をアクセスし、該キャッシュ
メモリ1からデータを読み出す。もし、キャッシュメモ
リ1内に当該データが存在しない場合は、主記憶装置ま
たは2レベルのキャッシュメモリからデータを読み出す
こととなる。このフェッチリクエストの動作は、従来と
変るところがない。
【0022】本実施例では、図4に示すように、キャッ
シュメモリの参照ステージが遅いストアリクエストのア
ドレスアレイ、TLB参照をフェッチリクエストと同じ
Cステージとすることにより、フェッチリクエストとス
トアリクエストとのアドレスアレイ、TLB参照の競合
を回避できる。
【0023】次に、データアクセスの競合が発生した場
合のメモリアクセスの順序保証について述べる。このデ
ータアクセス競合のうち、先行ストアリクエストと後続
オペランドフェッチリクエストとのデータ競合はOSC
(オペランドストアコンフリクト)、先行ストアリクエ
ストと後続命令フェッチリクエストとのデータ競合はP
SC(プログラムストアコンフリクト)と呼ばれてい
る。
【0024】図4において、例えば後続フェッチリクエ
ストがCステージでアドレスアレイ2、TLB3を参
照したとする。この時、先行ストアリクエストとデー
タアクセスの競合が発生していないかを検出するため、
レジスタ6のフェットリクエスト論理アドレスとストア
フェッチキュー9の登録内容との比較を比較回路10で
行う。ここで、先行ストアリクエストと後続フェッチ
リクエストとのデータアクセスの競合が発生していれ
ば、先行ストアリクエストがキャッシュメモリ1にデ
ータ書き込みを終了するまで(図4では、T5サイクル
終了まで)、後続フェッチリクエストを抑止する。こ
れにより、メモリアクセスの順序保証が保たれる。先行
ストアリクエストとのデータアクセスの競合が発生せ
ず、キャッシュメモリ1に当該データが存在すれば、該
フェッチリクエストについて、該Cステージ(T3サ
イクル)でキャッシュメモリ1からデータが読みだされ
ることになる。
【0025】次に、マルチプロセッサ構成において、ス
トアリクエストがアドレスアレイ2、TLB3を参照し
てからキャッシュメモリ1に書き込む間に、他の命令処
理装置からの主記憶アクセスにより生ずる自命令処理装
置へのキャッシュメモリブロックのパージ要求が発生す
る場合について説明する。この時、ストアリクエストと
キャッシュメモリ1のパージ領域が等しい場合、このキ
ャッシュメモリのパージ要求をストアリクエストのキャ
ッシュメモリ書き込み前に行うと、ストアフェッチキュ
ー9に登録されているキャッシュメモリへの書き込み領
域はキャッシュメモリ上には存在しなくなってしまう。
このため、ストアリクエストは書き込むべきメモリ領域
がキャッシュメモリ1上に無いにも関わらずデータを書
き込んでしまい、不当なデータ書き込みや書き込みデー
タの消滅を引き起こす。このため、セレクタ13を経由
してレジスタ6に設定されるキャッシュメモリのパージ
要求アドレスとストアフェッチキュー9内のまだキャッ
シュメモリに書き込みを行っていないストアリクエスト
とを比較回路10で比較し、データアクセス競合を検出
した場合、ストアフェッチキュー9の該当登録内容のア
ドレスアレイ参照結果(H)103をキャッシュメモリ
1に存在しない状態(例えばH=0)に変更させる。こ
れにより、キャッシュメモリへの不当な書き込みが防止
できる。
【0026】このように、ストアフェッチキュー9は、
ストアリクエストとフェッチリクエストとのアドレスア
レイ2、TLB3のアクセス競合の回避だけでなく、ス
トアリクエストの情報が登録されてからキャッシュメモ
リ1への書き込み処理が終了するまで、後続のフェッチ
リクエストや他の命令処理装置からのキャッシュメモリ
パージを含む全てのキャッシュメモリアクセスとのデー
タ競合を検出することで、データの一致保証も可能にし
ている。
【0027】次に、ストアリクエストのアクセスがキャ
ッシュメモリ1の書き込み単位を跨り、さらに、そのス
トアリクエストの書き込み領域がキャッシュメモリ1の
ブロック単位内で、かつページ内である場合、キャッシ
ュメモリ1に対し2回のアクセス、つまり書き込み単位
ごとの2つのアドレスを供給する必要がある場合につい
て説明する。本実施例では、この書き込み単位ごとのア
ドレスを、ストアフェッチキュー9に登録されているア
ドレス(論理アドレス(LA)101)にセレクタ/加
算回路11でキャッシュメモリ1の書き込み単位分を加
算させることにより、アドレスアレイ2を2度参照する
こと無く、セレクタ12、レジスタ7経由でキャッシュ
メモリ1へ書き込み単位ごとのアドレスを供給すること
ができる。
【0028】以上、実施例では、仮想アドレス方式をと
るデータ処理装置を想定し、キャッシュメモリは論理ア
ドレスにて参照されるとしたが、本発明はこれに限る必
要はなく、キャッシュメモリは実アドレスで参照されて
もよく、TLBは存在しなくてもよい。つまり、TLB
が存在しない場合でも、ストアリクエストとフェッチリ
クエストとのアドレスアレイのアクセス競合が考えられ
る。本発明では、ストアフェッチキューを持つことによ
り、このアドレスアレイのアクセス競合が回避できる。
【0029】また、実施例では、ストアリクエストとフ
ェットリクエストとのアドレスアレイ、TLBのアクセ
ス競合を想定し、ストアフェッチキューに、ストアリク
エストのアドレス、アドレスアレイ等の参照結果などを
登録するとしたが、アドレスアレイ、TLBのアクセス
競合の発生はストアリクエストとフェッチリクエストと
の間に限らない。したがって、ストアフェッチキューへ
の登録は、一般的にはリクエストの種類、パイプライン
のステージ制御の状態(例えば、待ち合わせ発生等)な
どにもとづいて、所望リクエストについて行われること
になる。
【0030】
【発明の効果】以上説明したように、本発明によれば、
ストアリクエストとフェッチリクエストなどのアドレス
アレイ参照による競合を、ストアリクエスト用、フェッ
チリクエスト用の専用アドレスアレイを設けることな
く、物量の小さいキューを数面持つことにより可能とな
る。また、このキューにより、キャッシュメモリに対す
るアクセスが終了するまでそのリクエストの情報がスタ
ックされているため、先行リクエストと後続リクエスト
または他の命令プロセッサからのリクエストとの競合の
検出を行うこともでき、データの一致保証が可能とな
る。
【図面の簡単な説明】
【図1】本発明の一実施例を示すキャッシュメモリ制御
装置のブロック図である。
【図2】本発明の実施例におけるストアフェッチキュー
の登録内容を示す図である。
【図3】従来のパイプライン処理の動作例を示す図であ
る。
【図4】本発明におけるパイプライン処理の動作例を示
す図である。
【符号の説明】
1 キャッシュメモリ 2 アドレスアレイ 3 アドレス変換バッファ 4 ヒット検出回路 5、6、7、8 レジスタ 9 ストアフェッチキュー 100 ステージ制御部

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 主記憶装置の一部データブロックを保持
    するキャッシュメモリと、該キャッシュメモリに保持さ
    れているデータブロックの主記憶装置のアドレスを登録
    しているアドレスアレイを有し、メモリリクエストがあ
    るとアドレスアレイを参照して該当アドレスが登録され
    ていればキャッシュメモリをアクセスするキャッシュメ
    モリ制御装置において、 メモリリクエストのアドレス、当該リクエストのアドレ
    スアレイ参照結果、当該リクエストの属性を示す情報を
    登録するキューイング手段を設け、メモリリクエストの
    キャッシュメモリアクセスステージに合わせて、前記キ
    ューイング手段に登録されている情報に基づいてキャッ
    シュメモリをアクセスすることを特徴とするキャッシュ
    メモリ制御装置。
JP6127454A 1994-06-09 1994-06-09 キャッシュメモリ制御装置 Pending JPH07334421A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6127454A JPH07334421A (ja) 1994-06-09 1994-06-09 キャッシュメモリ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6127454A JPH07334421A (ja) 1994-06-09 1994-06-09 キャッシュメモリ制御装置

Publications (1)

Publication Number Publication Date
JPH07334421A true JPH07334421A (ja) 1995-12-22

Family

ID=14960332

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6127454A Pending JPH07334421A (ja) 1994-06-09 1994-06-09 キャッシュメモリ制御装置

Country Status (1)

Country Link
JP (1) JPH07334421A (ja)

Similar Documents

Publication Publication Date Title
JP3144794B2 (ja) マルチプロセッサシステム
US5097414A (en) Buffer-storage control system for simultaneously accessible partitions of tag and data blocks of buffer storage
JPH01269142A (ja) 計算機システム
JPH0410102B2 (ja)
JP3505728B2 (ja) 記憶制御装置
JPH07334421A (ja) キャッシュメモリ制御装置
JP2004005710A (ja) 情報処置装置
JPH06230963A (ja) メモリアクセス制御装置
JPH0552539B2 (ja)
JP3799451B2 (ja) 電子計算機システム
JPH06149669A (ja) キャッシュデータ転送方式およびキャッシュデータ転送装置
JPH03271859A (ja) 情報処理装置
JP2778623B2 (ja) プリフェッチ制御装置
JPH0679296B2 (ja) 多重仮想アドレス空間アクセス方法およびデータ処理装置
JP2506975B2 (ja) 情報処理装置のバッファ無効化処理方式
JPH06131239A (ja) 主記憶アクセス制御方式
JP2001022581A (ja) データ処理装置及びコンピュータ読み取り可能な記憶媒体
JPH03100842A (ja) 情報処理装置
JPH02259945A (ja) ストア処理方式
JPH07219845A (ja) キャッシュメモリ制御方式
JP2000194554A (ja) 演算処理装置
JPS63147248A (ja) バツフアメモリを有するプロセッサ装置
JPH01129334A (ja) キャッシュメモリのデータ制御方式
JPS63172354A (ja) 記憶制御方式
JPH02254551A (ja) オペランド読出方式