JPH07113903B2 - キャッシュ記憶制御方式 - Google Patents
キャッシュ記憶制御方式Info
- Publication number
- JPH07113903B2 JPH07113903B2 JP62159350A JP15935087A JPH07113903B2 JP H07113903 B2 JPH07113903 B2 JP H07113903B2 JP 62159350 A JP62159350 A JP 62159350A JP 15935087 A JP15935087 A JP 15935087A JP H07113903 B2 JPH07113903 B2 JP H07113903B2
- Authority
- JP
- Japan
- Prior art keywords
- request
- address
- cache
- register
- line
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0855—Overlapped cache accessing, e.g. pipeline
- G06F12/0857—Overlapped cache accessing, e.g. pipeline by multiple requestors
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は情報処理装置のキャッシュ記憶制御方式に係
り、特にキャッシュ記憶装置へのリクエスト要求元が複
数個存在する場合、1リクエスト元からのキャッシュデ
ィレクトリ部のアクセス頻度を低減し、他のリクエスト
元アクセスにキャッシュディレクトリ部を開放すること
により、キャッシュ記憶装置の利用率を向上せしめるキ
ャッシュ記憶制御方式に関する。
り、特にキャッシュ記憶装置へのリクエスト要求元が複
数個存在する場合、1リクエスト元からのキャッシュデ
ィレクトリ部のアクセス頻度を低減し、他のリクエスト
元アクセスにキャッシュディレクトリ部を開放すること
により、キャッシュ記憶装置の利用率を向上せしめるキ
ャッシュ記憶制御方式に関する。
キャッシュ記憶装置は、主記憶装置上のデータを或るま
とまった単位(以下、ライン単位という)に保持するキ
ャッシュ記憶部と、該キャッシュ記憶部に保持されてい
るデータの主記憶アドレス(ラインアドレス)を保持す
るキャッシュディレクトリ部から成り、リクエスト元か
らメモリリクエストが発行されると、キャッシュディレ
クトリ部を検索し、その結果によりキャッシュ記憶部を
アクセスしている。
とまった単位(以下、ライン単位という)に保持するキ
ャッシュ記憶部と、該キャッシュ記憶部に保持されてい
るデータの主記憶アドレス(ラインアドレス)を保持す
るキャッシュディレクトリ部から成り、リクエスト元か
らメモリリクエストが発行されると、キャッシュディレ
クトリ部を検索し、その結果によりキャッシュ記憶部を
アクセスしている。
従来、このようなキャッシュ記憶装置では、例えば同一
ラインアドレスで連続する8バイトのストアは、2個の
8バイトストアをキャッシュ記憶装置のスタック内でマ
ージすることにより1個の16バイトストアとし、通常2
回キャッシュディレクトリ部の検索が必要な処理を、1
回のキャッシュディレクトリ部の検索でアクセス可能に
して、該キャッシュディレクトリ部のアクセス頻度を低
減し、これにより生じたディレクトリ部のあき時間を他
のリクエスト元処理に使用してキャッシュ記憶装置の利
用率向上を図っていた。
ラインアドレスで連続する8バイトのストアは、2個の
8バイトストアをキャッシュ記憶装置のスタック内でマ
ージすることにより1個の16バイトストアとし、通常2
回キャッシュディレクトリ部の検索が必要な処理を、1
回のキャッシュディレクトリ部の検索でアクセス可能に
して、該キャッシュディレクトリ部のアクセス頻度を低
減し、これにより生じたディレクトリ部のあき時間を他
のリクエスト元処理に使用してキャッシュ記憶装置の利
用率向上を図っていた。
また、例えば特開昭54−66727号公報には、キャッシュ
記憶装置の利用率向上のために、ディレクトリ部をバン
ク分けし、複数リクエスト元からの処理を同時に行う方
式が示されている。
記憶装置の利用率向上のために、ディレクトリ部をバン
ク分けし、複数リクエスト元からの処理を同時に行う方
式が示されている。
上記従来技術のうち、前者の方式は1つはリクエスト元
からのストアが連続した場合についてのみディレクトリ
部のアクセス頻度の低減が可能で、それ以外はディレク
トリ部のアクセス頻度の低減ができないため、効果がか
なり限定されたものになる。また、後者の方式では、キ
ャッシュ記憶装置の利用率向上の面からいえば有利な点
は多いが、複数バンク化による制御系、アドレス系等の
ハードウェア量の増大が予想され、コスト的に有利とは
言いがたい。
からのストアが連続した場合についてのみディレクトリ
部のアクセス頻度の低減が可能で、それ以外はディレク
トリ部のアクセス頻度の低減ができないため、効果がか
なり限定されたものになる。また、後者の方式では、キ
ャッシュ記憶装置の利用率向上の面からいえば有利な点
は多いが、複数バンク化による制御系、アドレス系等の
ハードウェア量の増大が予想され、コスト的に有利とは
言いがたい。
本発明の目的は、ハードウェア量の増加を少なくして、
不必要なキャッシュディレクトリ部の検索を止め、その
あき時間を利用して別リクエストを処理することによっ
てバッファ記憶装置の利用率を向上せしめるキャッシュ
記憶制御方式を提供することにある。
不必要なキャッシュディレクトリ部の検索を止め、その
あき時間を利用して別リクエストを処理することによっ
てバッファ記憶装置の利用率を向上せしめるキャッシュ
記憶制御方式を提供することにある。
上記目的は、複数のリクエスト元を有するキャッシュ記
憶装置において、同一リクエスト元の連続するリクエス
トのアクセスラインが同一であることを報告する手段
と、キャッシュディレクトリ部検索後のキャッシュ記憶
部アクセスアドレスを各リクエスト元対応に保持するス
タック手段と、キャッシュディレクトリ部以外は同時に
複数個のリクエストをサービスできるパイプラインを有
し、同一リクエスト元から同一ラインへのアクセスが連
続した場合、後続同一リクエスト元かつ同一ラインリク
エストのキャッシュ記憶部アクセスアドレスは、キャッ
シュディレクトリ部検索により求めず、直前の同一のリ
クエスト元かつ同一ラインリクエストにより求めたキャ
ッシュ記憶部アクセスアドレスを前記スタックより再度
読出して使用し、キャッシュディレクトリ部を検索しな
い後続リクエスト処理中に、他リクエスト元のアクセス
要求が存在している場合には、該リクエストにキャッシ
ュディレクトリ部の使用権を与え、同時に複数個のリク
エスト処理を可能にすることにより達成される。
憶装置において、同一リクエスト元の連続するリクエス
トのアクセスラインが同一であることを報告する手段
と、キャッシュディレクトリ部検索後のキャッシュ記憶
部アクセスアドレスを各リクエスト元対応に保持するス
タック手段と、キャッシュディレクトリ部以外は同時に
複数個のリクエストをサービスできるパイプラインを有
し、同一リクエスト元から同一ラインへのアクセスが連
続した場合、後続同一リクエスト元かつ同一ラインリク
エストのキャッシュ記憶部アクセスアドレスは、キャッ
シュディレクトリ部検索により求めず、直前の同一のリ
クエスト元かつ同一ラインリクエストにより求めたキャ
ッシュ記憶部アクセスアドレスを前記スタックより再度
読出して使用し、キャッシュディレクトリ部を検索しな
い後続リクエスト処理中に、他リクエスト元のアクセス
要求が存在している場合には、該リクエストにキャッシ
ュディレクトリ部の使用権を与え、同時に複数個のリク
エスト処理を可能にすることにより達成される。
1つのリクエスト元に連続するリクエストにおいて、後
続リクエストが先行リクエストのアクセスラインと同一
であることを報告する手段は、キャッシュ記憶部アクセ
スアドレスを、キャッシュディレクトリ部検索結果を用
いるか、先行リクエストのキャッシュディレクトリ部検
索結果を用いるか指示するために用いる。キャッシュデ
ィレクトリ部検索後のキャッシュ記憶部アクセスアドレ
スをリクエスト対応に保持するスタック手段は、キャッ
シュディレクトリ部検索後のアドレスを一時保持し、同
一ラインリクエストのときは、該スタックよりアドレス
を読出して使用するために用いる。キャッシュディレク
トリ部以外の複数個のパイプラインは、1つのリクエス
ト元処理が同一ラインリクエストでディレクトリ部を使
用しないときに、ディレクトリ部検索が必要な他のリク
エスト元要求を同時に処理するために利用される。
続リクエストが先行リクエストのアクセスラインと同一
であることを報告する手段は、キャッシュ記憶部アクセ
スアドレスを、キャッシュディレクトリ部検索結果を用
いるか、先行リクエストのキャッシュディレクトリ部検
索結果を用いるか指示するために用いる。キャッシュデ
ィレクトリ部検索後のキャッシュ記憶部アクセスアドレ
スをリクエスト対応に保持するスタック手段は、キャッ
シュディレクトリ部検索後のアドレスを一時保持し、同
一ラインリクエストのときは、該スタックよりアドレス
を読出して使用するために用いる。キャッシュディレク
トリ部以外の複数個のパイプラインは、1つのリクエス
ト元処理が同一ラインリクエストでディレクトリ部を使
用しないときに、ディレクトリ部検索が必要な他のリク
エスト元要求を同時に処理するために利用される。
複数リクエスト元が接続されるキャッシュ記憶装置は、
通常、記憶制御部(SC)におかれる。リクエスト元は、
複数台の命令処理装置(IP)、複数台の入出力処理装置
IOPにより構成される。IPはそれ自身、自分で専有でき
るキャッシュ記憶装置を持っているケースが多い。この
IP内のキャッシュ記憶装置がストアスルー方式の場合、
SC内キャッシュ記憶装置へのアクセスはストアが大部分
を占める。ラインサイズが256バイト〜512バイトと大き
くなる従って、同一IPから連続8バイトストアだけでな
く、離散したアドレスへのストアも同一ライン内に入る
確率が増加することが予想され、本発明の効果は大であ
る。また、IOPからのリクエストも、データ転送等は同
一ラインの読書きが大部分を占めることが予想され、効
果が大である。
通常、記憶制御部(SC)におかれる。リクエスト元は、
複数台の命令処理装置(IP)、複数台の入出力処理装置
IOPにより構成される。IPはそれ自身、自分で専有でき
るキャッシュ記憶装置を持っているケースが多い。この
IP内のキャッシュ記憶装置がストアスルー方式の場合、
SC内キャッシュ記憶装置へのアクセスはストアが大部分
を占める。ラインサイズが256バイト〜512バイトと大き
くなる従って、同一IPから連続8バイトストアだけでな
く、離散したアドレスへのストアも同一ライン内に入る
確率が増加することが予想され、本発明の効果は大であ
る。また、IOPからのリクエストも、データ転送等は同
一ラインの読書きが大部分を占めることが予想され、効
果が大である。
以下、本発明の一実施例について図面により説明する。
第2図はシステムの概略図を示しており、命令処理装置
0(IP0)1、命令処理装置1(IP1)2、入出力処理装
置(IOP)3、記憶制御装置(SC)4、該SC4内のキャッ
シュ記憶装置5、主記憶装置(MS)6より構成される。
0(IP0)1、命令処理装置1(IP1)2、入出力処理装
置(IOP)3、記憶制御装置(SC)4、該SC4内のキャッ
シュ記憶装置5、主記憶装置(MS)6より構成される。
第1図はキャッシュ記憶装置5の詳細構成である。こゝ
では、キャッシュ記憶装置5は4ローからなるキャッシ
ュディレクトリ部(WAA)7、4バンクからなるキャッ
シュ記憶部(WS)8を有している。このキャッシュ記憶
装置5に対するリクエストは、1のIP0の場合、IP0用リ
クエスト信号線9、IP0用同一ラインリクエスト信号線1
0およびIPO用リクエストアドレス線11により受付けられ
る。また、同様に、2のIP1からのリクエストについて
は、IP1用リクエスト信号線12、IP2用同一ラインリクエ
スト信号線13およびIP1用リクエストアドレス線14によ
り受付けられ、3のIOPからのリクエストについては、I
OP用リクエスト信号線15、IOP用同一ラインリクエスト
信号線16、IOP用リクエストアドレス線17により受付け
られる。
では、キャッシュ記憶装置5は4ローからなるキャッシ
ュディレクトリ部(WAA)7、4バンクからなるキャッ
シュ記憶部(WS)8を有している。このキャッシュ記憶
装置5に対するリクエストは、1のIP0の場合、IP0用リ
クエスト信号線9、IP0用同一ラインリクエスト信号線1
0およびIPO用リクエストアドレス線11により受付けられ
る。また、同様に、2のIP1からのリクエストについて
は、IP1用リクエスト信号線12、IP2用同一ラインリクエ
スト信号線13およびIP1用リクエストアドレス線14によ
り受付けられ、3のIOPからのリクエストについては、I
OP用リクエスト信号線15、IOP用同一ラインリクエスト
信号線16、IOP用リクエストアドレス線17により受付け
られる。
受付けられたリクエストは一次スタックされるが、IP0,
IP1,IOPからの通常リクエスト(WAA検索要リクエスト)
はそれぞれスタック18、スタック21、スタック24に、IP
0,IP1,IOPからの同一ラインリクエスト(WAA検索不要リ
クエスト)はそれぞれスタック19、スタック22、スタッ
ク25に、IP0,IP1,IOPからのリクエストアドレスはそれ
ぞれスタック20、スタック23、スタック26に格納され
る。スタックに格納されたリクエストは、通常リクエス
トの場合はプライオリティ回路27により、また同一ライ
ンリクエストの場合はプライオリティ回路28によりそれ
ぞれプライオリティがとられ、独立に切出される。プラ
イオリティ通過後のリクエスト発行元情報(シンク情
報)は、通常リクエストについてはレジスタ29で、同一
ラインリクエストについてはレジスタ30で保持される。
また、レジスタ29に保持されたリクエストに対応する通
常リクエストアドレスについては、WAA検索アドレスは
レジスタ31に、それ以外のアドレスでWSアクセスのため
に必要なアドレスはレジスタ32に保持される。レジスタ
30に保持されたリクエストに対応する同一ラインリクエ
ストアドレスについてはWAAを検索不要のため、セレク
タ46を介してレジスタ33のみで保持する。
IP1,IOPからの通常リクエスト(WAA検索要リクエスト)
はそれぞれスタック18、スタック21、スタック24に、IP
0,IP1,IOPからの同一ラインリクエスト(WAA検索不要リ
クエスト)はそれぞれスタック19、スタック22、スタッ
ク25に、IP0,IP1,IOPからのリクエストアドレスはそれ
ぞれスタック20、スタック23、スタック26に格納され
る。スタックに格納されたリクエストは、通常リクエス
トの場合はプライオリティ回路27により、また同一ライ
ンリクエストの場合はプライオリティ回路28によりそれ
ぞれプライオリティがとられ、独立に切出される。プラ
イオリティ通過後のリクエスト発行元情報(シンク情
報)は、通常リクエストについてはレジスタ29で、同一
ラインリクエストについてはレジスタ30で保持される。
また、レジスタ29に保持されたリクエストに対応する通
常リクエストアドレスについては、WAA検索アドレスは
レジスタ31に、それ以外のアドレスでWSアクセスのため
に必要なアドレスはレジスタ32に保持される。レジスタ
30に保持されたリクエストに対応する同一ラインリクエ
ストアドレスについてはWAAを検索不要のため、セレク
タ46を介してレジスタ33のみで保持する。
WAA検索後のロー情報は、各リクエスト元対応に保持す
るが、IP0用、IP1用、IOP用のロー情報格納レジスタは
それぞれレジスタ34、レジスタ36、レジスタ38である。
これに対応してそれ以外のアドレスでWSアクセスのため
に必要なアドレスも各リクエスト元対応に保持するが、
IP0用、IP1用、IOP用のWSアクセスアドレス格納用レジ
スタは、それぞれレジスタ35、レジスタ37、レジスタ39
である。レジスタ40〜レジスタ43はバンク対応のWSアク
セスアドレスレジスタである。
るが、IP0用、IP1用、IOP用のロー情報格納レジスタは
それぞれレジスタ34、レジスタ36、レジスタ38である。
これに対応してそれ以外のアドレスでWSアクセスのため
に必要なアドレスも各リクエスト元対応に保持するが、
IP0用、IP1用、IOP用のWSアクセスアドレス格納用レジ
スタは、それぞれレジスタ35、レジスタ37、レジスタ39
である。レジスタ40〜レジスタ43はバンク対応のWSアク
セスアドレスレジスタである。
以下、通常リクエスト処理、同一ラインリクエスト処
理、通常リクエストと同一ラインリクエスト同時処理に
ついて詳述する。こゝでは全てキャッシインの場合を仮
定する。
理、通常リクエストと同一ラインリクエスト同時処理に
ついて詳述する。こゝでは全てキャッシインの場合を仮
定する。
(1) 通常リクエスト処理(WAA検索要リクエスト) IP0より通常リクエストが発せられた場合を考える。通
常リクエストは、IP0用リクエスト信号線9によりIP0用
通常リクエストスタック18に格納され(通常リクエスト
の場合は、IP0用同一ラインリクエスト信号線10は、オ
フのまゝである)、対応するアドレスはIP0用リクエス
トアドレス線11を通り、IP0用リクエストアドレススタ
ック20に格納される。該リクエストはプライオリティ回
路27により選択されると、エンコーダ61によりエンコー
ドされてIP0リクエスト発行元に対応するセレクト信号
を発生し、信号線56により、IP0用リクエストアドレス
レジスタスタック20内のリクエストアドレスをセレクタ
44および45により、WAA検索用アドレスはWAA検索用アド
レスレジスタ31に、それ以外のアドレス通常リクエスト
用WSアクセスアドレスレジスタ32にセットされる。この
とき、セレクタ46はオフ状態になっており、レジスタ33
には、アドレスはセットされない。
常リクエストは、IP0用リクエスト信号線9によりIP0用
通常リクエストスタック18に格納され(通常リクエスト
の場合は、IP0用同一ラインリクエスト信号線10は、オ
フのまゝである)、対応するアドレスはIP0用リクエス
トアドレス線11を通り、IP0用リクエストアドレススタ
ック20に格納される。該リクエストはプライオリティ回
路27により選択されると、エンコーダ61によりエンコー
ドされてIP0リクエスト発行元に対応するセレクト信号
を発生し、信号線56により、IP0用リクエストアドレス
レジスタスタック20内のリクエストアドレスをセレクタ
44および45により、WAA検索用アドレスはWAA検索用アド
レスレジスタ31に、それ以外のアドレス通常リクエスト
用WSアクセスアドレスレジスタ32にセットされる。この
とき、セレクタ46はオフ状態になっており、レジスタ33
には、アドレスはセットされない。
レジスタ31に格納されたアドレスにより、WAA7を検索
し、比較器63でアドレスの一致が検出されると、エンコ
ーダ64でそのローアドレスが生成される。この時、デコ
ーダ65によりIP0用のセット信号線47がオンしており、
エンコーダ64で生成されたローアドレスはセレクタ34を
通ってIP0用アドレスレジスタ34にのみセットされる。
この場合はIP0からのリクエストであるため、IP1用セッ
ト信号線48、IOP用セット信号線49はオフであり、IP1用
ローアドレスレジスタ36、IOP用ローアドレスレジスタ3
8にローアドレスがセットされることはない。ローアド
レスのセットに並行して、レジスタ32のアドレスはセレ
クタ50を通過し、やはり信号線47がオンであるため、IP
0用WSアクセスアドレスレジスタ35にセットされる。セ
レクタ50の動作は、信号線53がオフのときレジスタ32の
出力を選択し、オンときはレジスタ33の出力を選択す
る。同様に、セレクタ51は信号線54がオフのときレジス
タ32の出力を選択し、オンのときはレジスタ33の出力を
選択し、セレクタ52は信号線55がオフのときレジスタ32
の出力を選択し、オンのときはレジスタ33の出力を選択
する。該リクエストがWSバンク0に対するリクエストで
あれば、レジスタ34、レジスタ35よりWSリクエストアド
レスがWSバンク0アクセスアドレスレジスタ40に格納さ
れ、WS8のバンク0をアクセスする。
し、比較器63でアドレスの一致が検出されると、エンコ
ーダ64でそのローアドレスが生成される。この時、デコ
ーダ65によりIP0用のセット信号線47がオンしており、
エンコーダ64で生成されたローアドレスはセレクタ34を
通ってIP0用アドレスレジスタ34にのみセットされる。
この場合はIP0からのリクエストであるため、IP1用セッ
ト信号線48、IOP用セット信号線49はオフであり、IP1用
ローアドレスレジスタ36、IOP用ローアドレスレジスタ3
8にローアドレスがセットされることはない。ローアド
レスのセットに並行して、レジスタ32のアドレスはセレ
クタ50を通過し、やはり信号線47がオンであるため、IP
0用WSアクセスアドレスレジスタ35にセットされる。セ
レクタ50の動作は、信号線53がオフのときレジスタ32の
出力を選択し、オンときはレジスタ33の出力を選択す
る。同様に、セレクタ51は信号線54がオフのときレジス
タ32の出力を選択し、オンのときはレジスタ33の出力を
選択し、セレクタ52は信号線55がオフのときレジスタ32
の出力を選択し、オンのときはレジスタ33の出力を選択
する。該リクエストがWSバンク0に対するリクエストで
あれば、レジスタ34、レジスタ35よりWSリクエストアド
レスがWSバンク0アクセスアドレスレジスタ40に格納さ
れ、WS8のバンク0をアクセスする。
(2) 同一ラインリクエスト処理(WAA検索不要リク
エスト) (1)の動作に続いて、IP0より同一ラインリクエスト
が送出された場合を考える。同一ラインリクエストか否
かの識別はリクエスト送出元で判定し、IP0用リクエス
ト信号線9でリクエストを送出すると同時にIP0用同一
ラインリクエスト信号線10により同一ラインリクエスト
であることを報告する。即ち、同一ラインリクエストの
場合は、リクエスト信号線9と同一ラインリクエスト信
号線10が同時にオンとなる。この状態においては、リク
エストはIP0用同一ラインリクエストスタック19に格納
される。また、リクエストアドレスは、リクエストと同
時にIP0用リクエストアドレス線11によりアドレススタ
ック20に格納される。IP0の同一ラインリクエストがプ
ライオリティ回路28により選択されると、エンコーダ62
によりエンコードされて、IP0に対応するセレクト信号
を発生し、信号線57によりIP0用リクエストスタック20
内のリクエストアドレスをセレクタ46によりレジスタ33
に切出する。このとき信号線56は活性化されないため、
レジスタ31にはアドレスはセットされない。
エスト) (1)の動作に続いて、IP0より同一ラインリクエスト
が送出された場合を考える。同一ラインリクエストか否
かの識別はリクエスト送出元で判定し、IP0用リクエス
ト信号線9でリクエストを送出すると同時にIP0用同一
ラインリクエスト信号線10により同一ラインリクエスト
であることを報告する。即ち、同一ラインリクエストの
場合は、リクエスト信号線9と同一ラインリクエスト信
号線10が同時にオンとなる。この状態においては、リク
エストはIP0用同一ラインリクエストスタック19に格納
される。また、リクエストアドレスは、リクエストと同
時にIP0用リクエストアドレス線11によりアドレススタ
ック20に格納される。IP0の同一ラインリクエストがプ
ライオリティ回路28により選択されると、エンコーダ62
によりエンコードされて、IP0に対応するセレクト信号
を発生し、信号線57によりIP0用リクエストスタック20
内のリクエストアドレスをセレクタ46によりレジスタ33
に切出する。このとき信号線56は活性化されないため、
レジスタ31にはアドレスはセットされない。
一方、デコーダ66により、セット信号線53がオンしてお
り、レジスタ33のアドレスはセレクタ50により、IP0用W
Sアクセスアドレスレジスタ35に格納される。このときI
P0用ローアドレスレジスタ34にはセット信号線47がオフ
であるため、前リクエストによるWAA検索結果がホール
ドされた状態で残っている。WSアクセスアドレスはレジ
スタ34、レジスタ37によりアクセスバンクレジスタ40,4
1,42のいずれかに格納され、WS8をアクセスする。
り、レジスタ33のアドレスはセレクタ50により、IP0用W
Sアクセスアドレスレジスタ35に格納される。このときI
P0用ローアドレスレジスタ34にはセット信号線47がオフ
であるため、前リクエストによるWAA検索結果がホール
ドされた状態で残っている。WSアクセスアドレスはレジ
スタ34、レジスタ37によりアクセスバンクレジスタ40,4
1,42のいずれかに格納され、WS8をアクセスする。
この動作からわかるように、同一ラインリクエストのロ
ーアドレスは、前リクエストのWAA検索結果をローアド
レスレジスタ34,36,38から読出して使用するため、WAA7
を検索する必要がない。
ーアドレスは、前リクエストのWAA検索結果をローアド
レスレジスタ34,36,38から読出して使用するため、WAA7
を検索する必要がない。
(3) 通常リクエストと同一ラインリクエストの同時
処理 こゝではIP0から同一ラインリクエストが、IP1から通常
リクエストが発行された場合につき説明する。IP0から
リクエストは(2)の動作と同様にリクエストスタック
19に格納され、プライオリティ回路28によりセレクトさ
れる。それに伴い信号線57がIP0に対応するセレクト信
号が発生し、IP0からのリクエストアドレスがスタック2
0からセレクタ46によりセレクトされてレジスタ33に格
納される。これと同期して、IP1からのリクエストは
(1)の動作と同様にプライオリティ回路27によりセレ
クトされる。それに伴い信号線56にIP1に対応するセレ
クト信号が発生し、IP1からのリクエストアドレスはス
タック23から、そのWAA検索用アドレスはセレクタ44に
よりレジスタ31に、それ以外のアドレスはセレクタ45に
よりレジスタ32に格納される。
処理 こゝではIP0から同一ラインリクエストが、IP1から通常
リクエストが発行された場合につき説明する。IP0から
リクエストは(2)の動作と同様にリクエストスタック
19に格納され、プライオリティ回路28によりセレクトさ
れる。それに伴い信号線57がIP0に対応するセレクト信
号が発生し、IP0からのリクエストアドレスがスタック2
0からセレクタ46によりセレクトされてレジスタ33に格
納される。これと同期して、IP1からのリクエストは
(1)の動作と同様にプライオリティ回路27によりセレ
クトされる。それに伴い信号線56にIP1に対応するセレ
クト信号が発生し、IP1からのリクエストアドレスはス
タック23から、そのWAA検索用アドレスはセレクタ44に
よりレジスタ31に、それ以外のアドレスはセレクタ45に
よりレジスタ32に格納される。
一方、デコーダ65により信号線53がオンであるため、IP
0からの同一ラインリクエストアクセスアドレスは、レ
ジスタ33よりセレクタ50を通してIP0用WSアクセスアド
レスレジスタ35にセットされる。このIP0については、
信号線47がオフであるため、ローアドレスレジスタ34は
前リクエストのローアドレスをホールドしたまゝであ
る。
0からの同一ラインリクエストアクセスアドレスは、レ
ジスタ33よりセレクタ50を通してIP0用WSアクセスアド
レスレジスタ35にセットされる。このIP0については、
信号線47がオフであるため、ローアドレスレジスタ34は
前リクエストのローアドレスをホールドしたまゝであ
る。
IP0からのリクエストアドレスの動きと並行して、IP1か
らのリクエストは、デコーダ65により信号線48がオン、
デコーダ66により信号線54がオフであるため、ローアド
レスはWAA検索結果がIP1用ローアドレスレジスタ36に、
その他のWSアクセスアドレスがレジスタ32によりセレク
タ51を通過してレジスタ37にセットされる。
らのリクエストは、デコーダ65により信号線48がオン、
デコーダ66により信号線54がオフであるため、ローアド
レスはWAA検索結果がIP1用ローアドレスレジスタ36に、
その他のWSアクセスアドレスがレジスタ32によりセレク
タ51を通過してレジスタ37にセットされる。
こゝまでの動作により、2つのリクエスト元のリクエス
トが並行して処理され、WSアクセスアドレスについて、
IP0のリクエストはレジスタ34とレジスタ35に、IP1のリ
クエストはレジスタ36とレジスタ37に保持されたことに
なる。これにより、双方のリクエストのWSアクセスバン
クが異なる場合は、WS制御により同時に処理される。も
し双方のリクエストが同一バンクをアクセスする場合
は、WSバンク制御によりプライオリティがとられる。な
お、並行動作中、通常リクエスト処理(この例ではIP1
のリクエスト)がキャッシュミスとなった場合には、同
一ラインリクエスト処理完了後、MS6からのライン転送
動作に移ることゝなる。
トが並行して処理され、WSアクセスアドレスについて、
IP0のリクエストはレジスタ34とレジスタ35に、IP1のリ
クエストはレジスタ36とレジスタ37に保持されたことに
なる。これにより、双方のリクエストのWSアクセスバン
クが異なる場合は、WS制御により同時に処理される。も
し双方のリクエストが同一バンクをアクセスする場合
は、WSバンク制御によりプライオリティがとられる。な
お、並行動作中、通常リクエスト処理(この例ではIP1
のリクエスト)がキャッシュミスとなった場合には、同
一ラインリクエスト処理完了後、MS6からのライン転送
動作に移ることゝなる。
本実施例においては、リクエスト元の数を3個に限定し
て話を進めたが、リクエストを4個以上に拡張すること
は容易である。また、こゝでは並列処理を2個と限定し
たが、これも3個以上に拡張することは容易である。
て話を進めたが、リクエストを4個以上に拡張すること
は容易である。また、こゝでは並列処理を2個と限定し
たが、これも3個以上に拡張することは容易である。
本発明によれば、複数リクエスト元からの要求を処理す
るキャッシュ記憶装置において、同一リクエスト元の連
続するリクエストのアクセスラインが同一である場合、
この連続するリクエスト中、後続リクエストはキャッシ
ュディレクトリ部を検索しないため、キャッシュディレ
クトリ部を他リクエスト元処理に開放でき、少ないハー
ドウェア量増加で複数リクエストの並列処理を行うこと
ができるので、キャッシュ記憶装置の利用率が向上し、
各リクエストのキャッシュ記憶装置での待時間を低減す
ると共に、キャッシュ記憶装置のスループットを向上さ
せる効果がある。
るキャッシュ記憶装置において、同一リクエスト元の連
続するリクエストのアクセスラインが同一である場合、
この連続するリクエスト中、後続リクエストはキャッシ
ュディレクトリ部を検索しないため、キャッシュディレ
クトリ部を他リクエスト元処理に開放でき、少ないハー
ドウェア量増加で複数リクエストの並列処理を行うこと
ができるので、キャッシュ記憶装置の利用率が向上し、
各リクエストのキャッシュ記憶装置での待時間を低減す
ると共に、キャッシュ記憶装置のスループットを向上さ
せる効果がある。
第1図は本発明によるキャッシュ記憶装置の一実施例の
構成図、第2図はキャッシュ記憶装置を複数のリクエス
ト元で利用するシステム例の概略構成図である。 1……命令処理装置0(IP0)、 2……命令処理装置1(IP1)、 3……入出力処理装置(IOP)、 4……記憶制御装置(SC)、 5……キャッシュ記憶装置、 6……主記憶装置(MS)、 7……キャッシュディレクトリ部(WAA)、 8……キャッシュ記憶部(WS)、 9……IP0リクエスト信号線、 10……IP0用同一ラインリクエスト信号線、 11……IP0用リクエストアドレス線、 12……IP1用リクエスト信号線、 13……IP1用同一ラインリクエスト信号線、 14……IP1用リクエストアドレス線、 15……IOP用リクエスト信号線、 16……IOP用同一ラインリクエスト信号線、 17……IOP用リクエストアドレス線、 18……IP0用通常リクエストスタック、 19……IP0用同一ラインリクエストスタック、 20……IP01用リクエストアドレススタック、 21……IP1用通常リクエストスタック、 22……IP1用同一ラインリクエストスタック、 23……IP1用リクエストアドレスタック、 24……IOP用通常リクエストスタック、 25……IOP用同一ラインリクエストスタック、 26……IOP用リクエストアドレススタック、 29……通常リクエスト用シンクレジスタ、 30……同一ラインリクエスト用シンクレジスタ、 31……WAA検索アドレスレジスタ、 32……通常リクエスト用WSアクセスアドレスレジスタ、
33……同一ラインリクエスト用WSアクセスアドレスレジ
スタ、 34……IP用アドレスレジスタ、 35……IP0用WSアクセスアドレスレジスタ、 36……IP1用ローアドレスレジスタ、 37……IP1用WSアクセスアドレスレジスタ、 38……IOP用ローアドレスレジスタ、 39……IOP用WSアクセスアドレスレジスタ、 40……WSバンク0アクセスアドレスレジスタ、 41……WSバンク1アクセスアドレスレジスタ、 42……WSバンク2アクセスアドレスレジスタ、 43……WSバンク3アクセスアドレスレジスタ。
構成図、第2図はキャッシュ記憶装置を複数のリクエス
ト元で利用するシステム例の概略構成図である。 1……命令処理装置0(IP0)、 2……命令処理装置1(IP1)、 3……入出力処理装置(IOP)、 4……記憶制御装置(SC)、 5……キャッシュ記憶装置、 6……主記憶装置(MS)、 7……キャッシュディレクトリ部(WAA)、 8……キャッシュ記憶部(WS)、 9……IP0リクエスト信号線、 10……IP0用同一ラインリクエスト信号線、 11……IP0用リクエストアドレス線、 12……IP1用リクエスト信号線、 13……IP1用同一ラインリクエスト信号線、 14……IP1用リクエストアドレス線、 15……IOP用リクエスト信号線、 16……IOP用同一ラインリクエスト信号線、 17……IOP用リクエストアドレス線、 18……IP0用通常リクエストスタック、 19……IP0用同一ラインリクエストスタック、 20……IP01用リクエストアドレススタック、 21……IP1用通常リクエストスタック、 22……IP1用同一ラインリクエストスタック、 23……IP1用リクエストアドレスタック、 24……IOP用通常リクエストスタック、 25……IOP用同一ラインリクエストスタック、 26……IOP用リクエストアドレススタック、 29……通常リクエスト用シンクレジスタ、 30……同一ラインリクエスト用シンクレジスタ、 31……WAA検索アドレスレジスタ、 32……通常リクエスト用WSアクセスアドレスレジスタ、
33……同一ラインリクエスト用WSアクセスアドレスレジ
スタ、 34……IP用アドレスレジスタ、 35……IP0用WSアクセスアドレスレジスタ、 36……IP1用ローアドレスレジスタ、 37……IP1用WSアクセスアドレスレジスタ、 38……IOP用ローアドレスレジスタ、 39……IOP用WSアクセスアドレスレジスタ、 40……WSバンク0アクセスアドレスレジスタ、 41……WSバンク1アクセスアドレスレジスタ、 42……WSバンク2アクセスアドレスレジスタ、 43……WSバンク3アクセスアドレスレジスタ。
Claims (1)
- 【請求項1】主記憶装置上のデータを所定の単位(以
下、ライン単位という)に保持するキャッシュ記憶部
と、該キャッシュ記憶部に保持されるデータの主記憶ア
ドレス(ラインアドレス)を保持するキャッシュディレ
クトリ部を有し、複数のリクエスト元からの要求を処理
し、前記キャッシュディレクトリ部の検索結果によりキ
ャッシュ記憶部をアクセスするキャッシュ記憶装置にお
いて、 前記キャッシュディレクトリ部検索後のキャッシュ記憶
部アクセス情報をリクエスト元対応に保持するスタック
手段を設け、 同一リクエスト元の後続リクエストのアクセスラインが
同一である場合、キャッシュ記憶部アクセス情報を前記
スタック手段より読出して使用すると共に、他のリクエ
スト元のキャッシュディレクトリ部の使用権を与えるよ
うにしたことを特徴とするキャッシュ記憶制御方式。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62159350A JPH07113903B2 (ja) | 1987-06-26 | 1987-06-26 | キャッシュ記憶制御方式 |
US07/211,451 US4916604A (en) | 1987-06-26 | 1988-06-24 | Cache storage apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62159350A JPH07113903B2 (ja) | 1987-06-26 | 1987-06-26 | キャッシュ記憶制御方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS643755A JPS643755A (en) | 1989-01-09 |
JPH07113903B2 true JPH07113903B2 (ja) | 1995-12-06 |
Family
ID=15691926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62159350A Expired - Fee Related JPH07113903B2 (ja) | 1987-06-26 | 1987-06-26 | キャッシュ記憶制御方式 |
Country Status (2)
Country | Link |
---|---|
US (1) | US4916604A (ja) |
JP (1) | JPH07113903B2 (ja) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2761506B2 (ja) * | 1988-07-08 | 1998-06-04 | 株式会社日立製作所 | 主記憶制御装置 |
US5210848A (en) * | 1989-02-22 | 1993-05-11 | International Business Machines Corporation | Multi-processor caches with large granularity exclusivity locking |
US5233702A (en) * | 1989-08-07 | 1993-08-03 | International Business Machines Corporation | Cache miss facility with stored sequences for data fetching |
US5539911A (en) * | 1991-07-08 | 1996-07-23 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
US5493687A (en) * | 1991-07-08 | 1996-02-20 | Seiko Epson Corporation | RISC microprocessor architecture implementing multiple typed register sets |
US5440752A (en) * | 1991-07-08 | 1995-08-08 | Seiko Epson Corporation | Microprocessor architecture with a switch network for data transfer between cache, memory port, and IOU |
EP0636256B1 (en) * | 1992-03-31 | 1997-06-04 | Seiko Epson Corporation | Superscalar risc processor instruction scheduling |
EP0638183B1 (en) * | 1992-05-01 | 1997-03-05 | Seiko Epson Corporation | A system and method for retiring instructions in a superscalar microprocessor |
US5628021A (en) * | 1992-12-31 | 1997-05-06 | Seiko Epson Corporation | System and method for assigning tags to control instruction processing in a superscalar processor |
DE69330889T2 (de) * | 1992-12-31 | 2002-03-28 | Seiko Epson Corp., Tokio/Tokyo | System und Verfahren zur Änderung der Namen von Registern |
JPH0756815A (ja) * | 1993-07-28 | 1995-03-03 | Internatl Business Mach Corp <Ibm> | キャッシュ動作方法及びキャッシュ |
US5603046A (en) * | 1993-11-02 | 1997-02-11 | Motorola Inc. | Method for complex data movement in a multi-processor data processing system |
US5893148A (en) * | 1994-03-03 | 1999-04-06 | International Business Machines Corporation | System and method for allocating cache memory storage space |
US6151661A (en) * | 1994-03-03 | 2000-11-21 | International Business Machines Corporation | Cache memory storage space management system and method |
US5636364A (en) * | 1994-12-01 | 1997-06-03 | International Business Machines Corporation | Method for enabling concurrent misses in a cache memory |
US5873119A (en) * | 1996-02-09 | 1999-02-16 | Intel Corporation | Method for parallel processing of dram read request in a memory-cache controller system |
US5893160A (en) * | 1996-04-08 | 1999-04-06 | Sun Microsystems, Inc. | Deterministic distributed multi-cache coherence method and system |
US5838631A (en) | 1996-04-19 | 1998-11-17 | Integrated Device Technology, Inc. | Fully synchronous pipelined ram |
CA2211984C (en) | 1997-09-12 | 2002-11-05 | Marc-Andre Mathieu | Cementitious panel with reinforced edges |
US6115320A (en) | 1998-02-23 | 2000-09-05 | Integrated Device Technology, Inc. | Separate byte control on fully synchronous pipelined SRAM |
US6269427B1 (en) | 1999-03-18 | 2001-07-31 | International Business Machines Corporation | Multiple load miss handling in a cache memory system |
US6321303B1 (en) | 1999-03-18 | 2001-11-20 | International Business Machines Corporation | Dynamically modifying queued transactions in a cache memory system |
US6311254B1 (en) | 1999-03-18 | 2001-10-30 | International Business Machines Corporation | Multiple store miss handling in a cache memory memory system |
US7069406B2 (en) * | 1999-07-02 | 2006-06-27 | Integrated Device Technology, Inc. | Double data rate synchronous SRAM with 100% bus utilization |
WO2002033191A1 (en) | 2000-10-17 | 2002-04-25 | National Gypsum Properties, Llc | Cementitious panel with basalt fiber reinforced major surface(s) |
US7344049B2 (en) * | 2005-04-21 | 2008-03-18 | Parata Systems, L.L.C. | Devices useful in system and method for dispensing prescriptions |
US20090083490A1 (en) * | 2007-09-26 | 2009-03-26 | International Business Machines Coproration | System to Improve Data Store Throughput for a Shared-Cache of a Multiprocessor Structure and Associated Methods |
US7818504B2 (en) * | 2007-09-26 | 2010-10-19 | International Business Machines Corporation | Storage system that prioritizes storage requests |
US9430395B2 (en) * | 2008-08-11 | 2016-08-30 | International Business Machines Corporation | Grouping and dispatching scans in cache |
US11010210B2 (en) * | 2019-07-31 | 2021-05-18 | International Business Machines Corporation | Controller address contention assumption |
US11481134B1 (en) * | 2021-05-24 | 2022-10-25 | Sap Se | Adaptive caching for hybrid columnar databases with heterogeneous page sizes |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4208716A (en) * | 1978-12-11 | 1980-06-17 | Honeywell Information Systems Inc. | Cache arrangement for performing simultaneous read/write operations |
US4314331A (en) * | 1978-12-11 | 1982-02-02 | Honeywell Information Systems Inc. | Cache unit information replacement apparatus |
DE3270597D1 (en) * | 1981-06-30 | 1986-05-22 | Fujitsu Ltd | Data processing system |
US4525777A (en) * | 1981-08-03 | 1985-06-25 | Honeywell Information Systems Inc. | Split-cycle cache system with SCU controlled cache clearing during cache store access period |
US4523206A (en) * | 1982-03-03 | 1985-06-11 | Sperry Corporation | Cache/disk system with writeback regulation relative to use of cache memory |
JPH06180447A (ja) * | 1992-12-14 | 1994-06-28 | Matsushita Electric Ind Co Ltd | 投写形画像表示装置 |
-
1987
- 1987-06-26 JP JP62159350A patent/JPH07113903B2/ja not_active Expired - Fee Related
-
1988
- 1988-06-24 US US07/211,451 patent/US4916604A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPS643755A (en) | 1989-01-09 |
US4916604A (en) | 1990-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH07113903B2 (ja) | キャッシュ記憶制御方式 | |
EP0072179B1 (en) | Clearing invalid addresses in cache memory | |
US5140682A (en) | Storage control apparatus | |
US4323968A (en) | Multilevel storage system having unitary control of data transfers | |
US5603006A (en) | Cache control unit using a plurality of request stacks | |
JP2714952B2 (ja) | 計算機システム | |
US5446844A (en) | Peripheral memory interface controller as a cache for a large data processing system | |
JP3481425B2 (ja) | キャッシュ装置 | |
EP0465847B1 (en) | Memory access control having commonly shared pipeline structure | |
JPS63284648A (ja) | キャッシュメモリ制御方法 | |
JPH06324999A (ja) | マルチプロセッサシステム | |
JPH10111798A (ja) | 情報処理装置 | |
JPS6391756A (ja) | 記憶装置の部分書き込み命令処理方式 | |
JPH05225058A (ja) | 記憶制御装置 | |
JPH042977B2 (ja) | ||
JPH0447344B2 (ja) | ||
JPH0540625A (ja) | キヤツシユメモリのムーブイン制御方式 | |
JPH05334182A (ja) | データ転送システム | |
JPH08212068A (ja) | 情報処理装置 | |
JPH03116345A (ja) | データ処理装置 | |
JPH0368045A (ja) | 主記憶制御方式 | |
JPH0412858B2 (ja) | ||
JPH0415490B2 (ja) | ||
JPH07334421A (ja) | キャッシュメモリ制御装置 | |
JPH01269143A (ja) | ストアバッファ制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |