JP2500485B2 - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JP2500485B2 JP2500485B2 JP6231982A JP23198294A JP2500485B2 JP 2500485 B2 JP2500485 B2 JP 2500485B2 JP 6231982 A JP6231982 A JP 6231982A JP 23198294 A JP23198294 A JP 23198294A JP 2500485 B2 JP2500485 B2 JP 2500485B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- read request
- data
- read
- level
- 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 - Lifetime
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】技術分野 本発明は情報処理装置に関し、特に情報処理装置のキャ
ッシュ制御方式に関する。従来技術 従来、情報処理装置においては、主記憶装置からのブロ
ック転送によるキャッシュメモリへの書込みと、これに
後続するキャッシュメモリへのリード要求とが競合しな
いようにキャッシュメモリに対する制御が行われてい
る。すなわち、主記憶装置とキャッシュメモリとの間に
ブロック転送のデータを保持するためのバッファを設
け、ブロック転送されたデータが該バッファに格納され
ると、この格納されたデータが次のブロック転送時にキ
ャッシュメモリに書込まれ、あるいは後続のリード要求
に使用されるというように制御する方法がある。この方
法においては、バッファによってキャッシュメモリ上で
のブロック転送と後続のリード要求とが競合しないよう
になっている。この方法については、「特公昭53−2
4260号公報」に詳述されている。また、ブロック転
送によるキャッシュメモリへの書込みを行う際に、書込
みレジスタのデータ幅をブロック転送のデータ幅の整数
倍とすることにより書込み回数を減らし、この書込み回
数を減らしたタイミングで後続のリード要求を処理する
ように制御する方法もある。この方法については、「特
開昭57−105879号公報」に詳述されている。こ
のような従来の情報処理装置では、主記憶装置とキャッ
シュメモリとの間にブロック転送のデータを保持するた
めのバッファを設けてキャッシュメモリ上でのブロック
転送と後続のリード要求とが競合しないようにする方法
によってキャッシュ制御を行う場合には、一ブロック分
のリード要求可能なバッファを設置する必要があり、ま
た書込みレジスタのデータ幅をブロック転送のデータ幅
の整数倍とすることによりキャッシュメモリ上でのブロ
ック転送と後続のリード要求とが競合しないようにする
方法によってキャッシュ制御を行う場合には、ブロック
転送のデータ幅の整数倍の書込みパスをキャッシュメモ
リに設置する必要があるので、ハードウェア量が増大す
るという欠点がある。特に、キャッシュメモリへの読出
し要求が複数のマシンサイクル毎に出されるような情報
処理装置である場合には、キャッシュメモリに対する要
求が緩やかであるから、よりハードウェアの少ないキャ
ッシュメモリ構成が要望される。発明の目的 本発明は上記のような従来のものの欠点を除去すべくな
されたもので、少ないハードウェア量で実現され、キャ
ッシュメモリ上でブロック転送と後続のリード要求とを
競合させることなく同時に処理することができる情報処
理装置の提供を目的とする。発明の構成 本発明による情報処理装置は、キャッシュメモリへの読
出し要求が複数のマシンサイクル毎に行われる情報処理
装置であって、読出し要求を格納する格納手段と、前記
格納手段に設定された第1の読出し要求により主記憶装
置からブロック転送されてきた書込みデータの書込みレ
ベルと前記格納手段に設定された後続する第2の読出し
要求により読出される読出しデータの読出しレベルとが
異なるときに前記書込みデータの書込みと前記読出しデ
ータの読出しとが同時に処理可能な複数レベルのキャッ
シュメモリと、前記第1の読出し要求による前記書込み
レベルと前記第2の読出し要求による前記読出しレベル
との一致を検出する検出手段と、前記検出手段により一
致が検出された前記第2の読出し要求により読出された
前記読出しデータの転送を抑止する抑止手段と、前記第
2の読出し要求を前記格納手段においてホールドする手
段とを含むことを特徴とする。実施例 次に、本発明の一実施例について図面を参照して説明す
る。第1図は本発明の一実施例の構成を示すブロック図
である。図において、本発明の一実施例によるキャッシ
ュメモリは4レベル構成であり、このキャッシュメモリ
に登録されたデータのアドレスは、キャッシュメモリの
レベル構成(4レベル)に夫々対応して分割されたアド
レスアレイ(AA)21〜24からなるアドレスアレイ
2に格納され、登録されたデータはキャッシュメモリの
レベル構成に夫々対応して分割されたデータアレイ(D
A)10〜13に格納されている。また、データアレイ
10〜13には夫々対応して設けられたアドレスレジス
タ(AR)6〜9からアドレスが供給される。アドレス
線100を介して入力されたリード要求元(図示せず)
からのリード要求アドレスはアドレスレジスタ(ADA
R)1に格納され、このリード要求アドレスは信号線1
01を介してアドレスアレイ2と、比較回路3と、アド
レスレジスタ(ADBR)5と、アドレスレジスタ6〜
9とに夫々送出される。アドレスアレイ2ではアドレス
レジスタ1から送られてきたリード要求アドレスにより
各アドレスアレイ21〜24の索引が行われ、その索引
結果が比較回路3に出力される。比較回路3では各アド
レスアレイ21〜24に対応して設けられた比較器31
〜34により各アドレスアレイ21〜24からの索引結
果とアドレスレジスタ1からのリード要求アドレスとの
比較が行われる。すなわち、各比較器31〜34ではリ
ード要求アドレスによって指定されるデータがキャッシ
ュメモリに登録済みか否かが判定される。比較器31〜
34のいずれかでキャッシュメモリに登録済みと判断さ
れた場合には、比較回路3は信号線102を介して制御
ブロック4及びヒットレベルレジスタ14に夫々ヒット
レベルを出力する。次のタイミングで、アドレスレジス
タ5にはアドレスレジスタ1からのリード要求アドレス
が格納され、またリード要求アドレスの一部がデータア
レイ10〜13へのアドレスとしてアドレスレジスタ6
〜9に格納される。さらに、ヒットレベルレジスタ14
には比較回路3からのヒットレベルが格納される。デー
タアレイ10〜13ではアドレスレジスタ6〜9からア
ドレスが供給されることによりデータが読出され、これ
らのデータはデータ線105〜108を介してリードデ
ータレジスタ(RDR)17に出力される。リードデー
タレジスタ17ではデータアレイ10〜13からのデー
タのうち一つが、信号線109を介して入力されるヒッ
トレベルレジスタ14からのヒットレベルに応じて選択
されて格納され、リードデータレジスタ17に格納され
たデータはデータ線111を介してリード要求元に転送
される。リード要求されたデータがキャッシュメモリに
未登録であると比較器31〜34で判断された場合に
は、アドレスレジスタ5に格納されたリード要求アドレ
スがアドレス線103を介してアドレスレジスタ(AD
CR)15に送出され、このリード要求アドレスがアド
レスレジスタ15に格納される。このとき、主記憶装置
(図示せず)に対してブロック転送が起動されるととも
に、ブロック転送データをどのレベルのデータアレイ1
0〜13に書込むかを示すブロック転送レベルが作成さ
れ、このブロック転送レベルがブロック転送レベルレジ
スタ16に格納される。主記憶装置からブロック転送デ
ータが転送されてくると、このブロック転送データはデ
ータ線112を介してライトデータレジスタ(WDR)
18に入力されて格納される。また、アドレスレジスタ
15に格納されたリード要求アドレスからデータアレイ
10〜13への書込みアドレスが生成され、この書込み
アドレスはアドレス線104を介してアドレスレジスタ
6〜9に送出される。さらに、書込みアドレスはブロッ
ク転送レベルレジスタ16に格納されたブロック転送レ
ベルに対応するアドレスレジスタ6〜9に格納される。
よって、ブロック転送レベルに対応するデータアレイ1
0〜13にはアドレスレジスタ6〜9から書込みアドレ
スが供給されることにより、データ線113を介してラ
イトデータレジスタ18から送られてくるブロック転送
データが書込まれる。すなわち、キャッシュメモリのレ
ベル構成に対応して設けられたデータアレイ10〜13
のアドレスレジスタ6〜9には、ブロック転送データが
主記憶装置から転送されてきたときのみ、ブロック転送
レベルの示すレベルに対応してアドレスレジスタ15か
らの書込みアドレスが格納され、それ以外の場合にはア
ドレスレジスタ1に格納されているリード要求アドレス
の一部、つまりデータアレイ10〜13への読出しアド
レスが格納される。したがって、主記憶装置に対してブ
ロック転送が起動されている場合でも、後続するリード
要求により要求されるデータがブロック転送レベルレジ
スタ16に格納されたブロック転送レベルに対応するデ
ータアレイ10〜13に登録されていないかぎりハード
ウェアでのぶつかりはなく、ブロック転送とリード要求
とが競合することなく同時に処理可能となる。しかしな
がら、ブロック転送レベルレジスタ16に格納されたブ
ロック転送レベルに対応するデータアレイ10〜13に
リード要求により要求されるデータが登録されている場
合には、それらによって使用されるハードウェア、すな
わちヒットレベルのアドレスレジスタ6〜9及びデータ
アレイ10〜13が重なるために後続のリード要求を抑
止する必要がある。そのため、制御ブロック4では比較
回路3からのヒットレベルとブロック転送レベルレジス
タ16に格納されたブロック転送レベルとを比較し、そ
れらの一致が検出されたときには後続のリード要求を抑
止するために、アドレスレジスタ1からアドレスレジス
タ5へのリード要求アドレスの移送を抑止する制御が行
われる。第2図は第1図の制御ブロック4の構成を示す
ブロック図である。図において、ADARバリッドフラ
グ(AV)(以下、アドレスバリッドフラグとする)4
0、ADBRバリッドフラグ(BV)(以下、アドレス
バリッドフラグとする)41、ADCRバリッドフラグ
(CV)(以下、アドレスバリッドフラグとする)42
は夫々アドレスレジスタ1,5,15に格納されている
アドレスが有効である場合に論理値“1”となり、無効
である場合に論理値“0”となるフラグである。アドレ
スバリッドフラグ42が論理値“0”である場合(主記
憶装置に対してブロック転送が起動されていない場合)
に、リード要求元からアドレスレジスタ1にリード要求
アドレスが格納されるとアドレスバリッドフラグ40が
論理値“1”となる。また、アドレスレジスタ1に格納
されたリード要求アドレスによりアドレスアレイ2が索
引され、比較回路3からのヒットレベルのうちいずれか
がヒット状態となると、オア回路49からの出力が論理
値“1”となる。よって、次のタイミングでアドレスバ
リッドフラグ41にアンド回路53を介して論理値
“1”がセットされるとともに、ヒットフラグ(HV)
44にアンド回路51を介して論理値“1”がセットさ
れる。これにより、比較回路3からデータが読出され
る。さらに、その次のタイミングでデータリプライバリ
ッドフラグ(DV)(以下、データバリッドフラグとす
る)43にアンド回路55を介して論理値“1”がセッ
トされ、リード要求元へのデータ転送指示が出力され
る。このデータ転送指示により、ヒットレベルに対応す
るデータアレイ10〜13から読出されてリードデータ
レジスタ17に格納されるデータがリード要求元に転送
される。尚、ヒットフラグ44の負出力が論理値“0”
なのでアドレスバリッドフラグ42には論理値“1”は
セットされない。アドレスバリッドフラグ4が論理値
“1”である場合(主記憶装置に対してブロック転送が
起動されている場合)に、リード要求元からアドレスレ
ジスタ1にリード要求アドレスが格納されるとアドレス
バリッドフラグ40が論理値“1”となる。また、アド
レスレジスタ1に格納されたリード要求アドレスにより
アドレスアレイ2が索引され、比較回路3からのヒット
レベルのうちいずれかがヒット状態となると、オア回路
49からの出力が論理値“1”となる。このとき、比較
器45〜48で比較回路3からのヒットレベルとブロッ
ク転送レベルレジスタ16に格納されたブロック転送レ
ベルとが比較され、それら比較器45〜48のいずれか
で一致が検出されるとオア回路50の出力が論理値
“1”となり、ナンド回路52の出力が論理値“0”と
なってアンド回路53の出力も論理値“0”となる。こ
れにより、アドレスバリッドフラグ40に論理値“1”
がセットされていてもアドレスバリッドフラグ41には
論理値“1”がセットされず、アンド回路53の出力に
よりアドレスバリッドフラグ40の状態は論理値“1”
にホールドされる。すなわち、アドレスレジスタ15に
格納されているアドレスによるブロック転送データの書
込みの対象レベルと、後続のリード要求のキャッシュメ
モリ索引によるヒットレベルとが同一の場合には、アド
レスレジスタ1に格納されているリード要求アドレスは
アドレスレジスタ1にホールドされてアドレスレジスタ
5に移送されず、このリード要求アドレスによる後続の
リード要求が抑止されることとなる。これに対して、比
較器45〜48で一致が検出されず、オア回路50の出
力が論理値“0”になるか、あるいはブロック転送の終
了によりアドレスバリッドフラグ42がリセットされる
と、アドレスバリッドフラグ41に論理値“1”がセッ
トされるので、アドレスレジスタ1に格納されたリード
要求アドレスによる後続のリード要求の処理が行われる
ことになる。尚、アドレスレジスタ1に格納されたリー
ド要求アドレスによるリード要求において、比較回路3
で一致が検出されないときには主記憶装置からのブロッ
ク転送が起動されることとなるが、このときにはアドレ
スバリッドフラグ41からの出力とヒットフラグ44の
負出力とによりアンド回路54を介してアドレスバリッ
ドフラグ42に論理値“1”がセットされる。これら図
1及び図2を用いて本発明の一実施例の動作について具
体的に説明する。主記憶装置からのブロック転送データ
はライトデータレジスタ18に格納されており、アドレ
スレジスタ15に格納されたリード要求アドレスの一
部、すなわち書込みアドレスがアドレスレジスタ8に移
送されることにより、このブロック転送データがレベル
2のデータアレイ12に書込まれる。このとき、制御ブ
ロック4のアドレスバリッドフラグ42には論理値
“1”がセットされている。このブロック転送データの
データアレイ12への書込み動作とは独立に、後続のリ
ード要求のアドレスがアドレスレジスタ1に格納される
と、このアドレスによりアドレスアレイ2が索引され、
次のタイミングではアドレスレジスタ5〜9にアドレス
を移送しようとするが、ブロック転送中のためレベル2
のアドレスレジスタ8には書込みアドレスが格納されて
いる。したがって、後続のリード要求はレベル2のデー
タアレイ12からデータを読出すことができなくなる。
このとき、制御ブロック4の比較器47では後続のリー
ド要求のヒットレベルとブロック転送レベルレジスタ1
6に格納されたブロック転送レベル(レベル2)との一
致が検出され、アドレスバリッドフラグ40の状態が論
理値“1”にホールドされるとともに、アドレスバリッ
ドフラグ41には論理値“0”がセットされるので、ア
ドレスレジスタ1のリード要求アドレスがホールドされ
るとともに、アドレスレジスタ5に移送されたアドレス
が無効となって、後続のリード要求はブロック転送が終
了するまで抑止されることになる。ブロック転送が終了
するとアドレスバリッドフラグ42がリセットされるの
で、アドレスバリットフラグ41に論理値“1”がセッ
トされ、アドレスレジスタ1にホールドされていたリー
ド要求アドレスにより後続のリード要求が実行される。
このように、ブロック転送レベルレジスタ16に格納さ
れたブロック転送レベルと、後続のリード要求に対する
比較回路3からのヒットレベルとを制御ブロック4で比
較し、一致が検出されたときに後続のリード要求を制御
ブロック4により抑止するとともに、アドレイレジスタ
1に格納された後続のリード要求のリード要求アドレス
をホールドすることによって、主記憶装置からキャッシ
ュメモリへのブロック転送とキャッシュメモリに対する
後続のリード要求とが競合することなく、同時に処理す
ることができる。よって、制御ブロック4などの追加と
いう少ないハードウェア量の増加で、これらの処理の同
時処理を実現することができる。発明の効果 以上説明したように本発明によれば、格納手段に設定さ
れた第1の読出し要求により主記憶装置からブロック転
送されてきた書込みデータの書込みレベルと、格納手段
に設定された後続する第2の読出し要求により読出され
る読出しデータの読出しレベルとが異なるときに書込み
データの書込みと読出しデータの読出しとが同時に処理
可能な複数レベルのキャッシュメモリにおいて、第1の
読出し要求による書込みレベルと第2の読出し要求によ
る読出しレベルとの一致が検出されたときに第2の読出
し要求による読出しを抑止するとともに、格納手段に格
納された第2の読出し要求をホールドすることによっ
て、少ないハードウェア量で実現され、キャッシュメモ
リ上でブロック転送と後続のリード要求とを競合させる
ことなく同時に処理することができるという効果があ
る。
ッシュ制御方式に関する。従来技術 従来、情報処理装置においては、主記憶装置からのブロ
ック転送によるキャッシュメモリへの書込みと、これに
後続するキャッシュメモリへのリード要求とが競合しな
いようにキャッシュメモリに対する制御が行われてい
る。すなわち、主記憶装置とキャッシュメモリとの間に
ブロック転送のデータを保持するためのバッファを設
け、ブロック転送されたデータが該バッファに格納され
ると、この格納されたデータが次のブロック転送時にキ
ャッシュメモリに書込まれ、あるいは後続のリード要求
に使用されるというように制御する方法がある。この方
法においては、バッファによってキャッシュメモリ上で
のブロック転送と後続のリード要求とが競合しないよう
になっている。この方法については、「特公昭53−2
4260号公報」に詳述されている。また、ブロック転
送によるキャッシュメモリへの書込みを行う際に、書込
みレジスタのデータ幅をブロック転送のデータ幅の整数
倍とすることにより書込み回数を減らし、この書込み回
数を減らしたタイミングで後続のリード要求を処理する
ように制御する方法もある。この方法については、「特
開昭57−105879号公報」に詳述されている。こ
のような従来の情報処理装置では、主記憶装置とキャッ
シュメモリとの間にブロック転送のデータを保持するた
めのバッファを設けてキャッシュメモリ上でのブロック
転送と後続のリード要求とが競合しないようにする方法
によってキャッシュ制御を行う場合には、一ブロック分
のリード要求可能なバッファを設置する必要があり、ま
た書込みレジスタのデータ幅をブロック転送のデータ幅
の整数倍とすることによりキャッシュメモリ上でのブロ
ック転送と後続のリード要求とが競合しないようにする
方法によってキャッシュ制御を行う場合には、ブロック
転送のデータ幅の整数倍の書込みパスをキャッシュメモ
リに設置する必要があるので、ハードウェア量が増大す
るという欠点がある。特に、キャッシュメモリへの読出
し要求が複数のマシンサイクル毎に出されるような情報
処理装置である場合には、キャッシュメモリに対する要
求が緩やかであるから、よりハードウェアの少ないキャ
ッシュメモリ構成が要望される。発明の目的 本発明は上記のような従来のものの欠点を除去すべくな
されたもので、少ないハードウェア量で実現され、キャ
ッシュメモリ上でブロック転送と後続のリード要求とを
競合させることなく同時に処理することができる情報処
理装置の提供を目的とする。発明の構成 本発明による情報処理装置は、キャッシュメモリへの読
出し要求が複数のマシンサイクル毎に行われる情報処理
装置であって、読出し要求を格納する格納手段と、前記
格納手段に設定された第1の読出し要求により主記憶装
置からブロック転送されてきた書込みデータの書込みレ
ベルと前記格納手段に設定された後続する第2の読出し
要求により読出される読出しデータの読出しレベルとが
異なるときに前記書込みデータの書込みと前記読出しデ
ータの読出しとが同時に処理可能な複数レベルのキャッ
シュメモリと、前記第1の読出し要求による前記書込み
レベルと前記第2の読出し要求による前記読出しレベル
との一致を検出する検出手段と、前記検出手段により一
致が検出された前記第2の読出し要求により読出された
前記読出しデータの転送を抑止する抑止手段と、前記第
2の読出し要求を前記格納手段においてホールドする手
段とを含むことを特徴とする。実施例 次に、本発明の一実施例について図面を参照して説明す
る。第1図は本発明の一実施例の構成を示すブロック図
である。図において、本発明の一実施例によるキャッシ
ュメモリは4レベル構成であり、このキャッシュメモリ
に登録されたデータのアドレスは、キャッシュメモリの
レベル構成(4レベル)に夫々対応して分割されたアド
レスアレイ(AA)21〜24からなるアドレスアレイ
2に格納され、登録されたデータはキャッシュメモリの
レベル構成に夫々対応して分割されたデータアレイ(D
A)10〜13に格納されている。また、データアレイ
10〜13には夫々対応して設けられたアドレスレジス
タ(AR)6〜9からアドレスが供給される。アドレス
線100を介して入力されたリード要求元(図示せず)
からのリード要求アドレスはアドレスレジスタ(ADA
R)1に格納され、このリード要求アドレスは信号線1
01を介してアドレスアレイ2と、比較回路3と、アド
レスレジスタ(ADBR)5と、アドレスレジスタ6〜
9とに夫々送出される。アドレスアレイ2ではアドレス
レジスタ1から送られてきたリード要求アドレスにより
各アドレスアレイ21〜24の索引が行われ、その索引
結果が比較回路3に出力される。比較回路3では各アド
レスアレイ21〜24に対応して設けられた比較器31
〜34により各アドレスアレイ21〜24からの索引結
果とアドレスレジスタ1からのリード要求アドレスとの
比較が行われる。すなわち、各比較器31〜34ではリ
ード要求アドレスによって指定されるデータがキャッシ
ュメモリに登録済みか否かが判定される。比較器31〜
34のいずれかでキャッシュメモリに登録済みと判断さ
れた場合には、比較回路3は信号線102を介して制御
ブロック4及びヒットレベルレジスタ14に夫々ヒット
レベルを出力する。次のタイミングで、アドレスレジス
タ5にはアドレスレジスタ1からのリード要求アドレス
が格納され、またリード要求アドレスの一部がデータア
レイ10〜13へのアドレスとしてアドレスレジスタ6
〜9に格納される。さらに、ヒットレベルレジスタ14
には比較回路3からのヒットレベルが格納される。デー
タアレイ10〜13ではアドレスレジスタ6〜9からア
ドレスが供給されることによりデータが読出され、これ
らのデータはデータ線105〜108を介してリードデ
ータレジスタ(RDR)17に出力される。リードデー
タレジスタ17ではデータアレイ10〜13からのデー
タのうち一つが、信号線109を介して入力されるヒッ
トレベルレジスタ14からのヒットレベルに応じて選択
されて格納され、リードデータレジスタ17に格納され
たデータはデータ線111を介してリード要求元に転送
される。リード要求されたデータがキャッシュメモリに
未登録であると比較器31〜34で判断された場合に
は、アドレスレジスタ5に格納されたリード要求アドレ
スがアドレス線103を介してアドレスレジスタ(AD
CR)15に送出され、このリード要求アドレスがアド
レスレジスタ15に格納される。このとき、主記憶装置
(図示せず)に対してブロック転送が起動されるととも
に、ブロック転送データをどのレベルのデータアレイ1
0〜13に書込むかを示すブロック転送レベルが作成さ
れ、このブロック転送レベルがブロック転送レベルレジ
スタ16に格納される。主記憶装置からブロック転送デ
ータが転送されてくると、このブロック転送データはデ
ータ線112を介してライトデータレジスタ(WDR)
18に入力されて格納される。また、アドレスレジスタ
15に格納されたリード要求アドレスからデータアレイ
10〜13への書込みアドレスが生成され、この書込み
アドレスはアドレス線104を介してアドレスレジスタ
6〜9に送出される。さらに、書込みアドレスはブロッ
ク転送レベルレジスタ16に格納されたブロック転送レ
ベルに対応するアドレスレジスタ6〜9に格納される。
よって、ブロック転送レベルに対応するデータアレイ1
0〜13にはアドレスレジスタ6〜9から書込みアドレ
スが供給されることにより、データ線113を介してラ
イトデータレジスタ18から送られてくるブロック転送
データが書込まれる。すなわち、キャッシュメモリのレ
ベル構成に対応して設けられたデータアレイ10〜13
のアドレスレジスタ6〜9には、ブロック転送データが
主記憶装置から転送されてきたときのみ、ブロック転送
レベルの示すレベルに対応してアドレスレジスタ15か
らの書込みアドレスが格納され、それ以外の場合にはア
ドレスレジスタ1に格納されているリード要求アドレス
の一部、つまりデータアレイ10〜13への読出しアド
レスが格納される。したがって、主記憶装置に対してブ
ロック転送が起動されている場合でも、後続するリード
要求により要求されるデータがブロック転送レベルレジ
スタ16に格納されたブロック転送レベルに対応するデ
ータアレイ10〜13に登録されていないかぎりハード
ウェアでのぶつかりはなく、ブロック転送とリード要求
とが競合することなく同時に処理可能となる。しかしな
がら、ブロック転送レベルレジスタ16に格納されたブ
ロック転送レベルに対応するデータアレイ10〜13に
リード要求により要求されるデータが登録されている場
合には、それらによって使用されるハードウェア、すな
わちヒットレベルのアドレスレジスタ6〜9及びデータ
アレイ10〜13が重なるために後続のリード要求を抑
止する必要がある。そのため、制御ブロック4では比較
回路3からのヒットレベルとブロック転送レベルレジス
タ16に格納されたブロック転送レベルとを比較し、そ
れらの一致が検出されたときには後続のリード要求を抑
止するために、アドレスレジスタ1からアドレスレジス
タ5へのリード要求アドレスの移送を抑止する制御が行
われる。第2図は第1図の制御ブロック4の構成を示す
ブロック図である。図において、ADARバリッドフラ
グ(AV)(以下、アドレスバリッドフラグとする)4
0、ADBRバリッドフラグ(BV)(以下、アドレス
バリッドフラグとする)41、ADCRバリッドフラグ
(CV)(以下、アドレスバリッドフラグとする)42
は夫々アドレスレジスタ1,5,15に格納されている
アドレスが有効である場合に論理値“1”となり、無効
である場合に論理値“0”となるフラグである。アドレ
スバリッドフラグ42が論理値“0”である場合(主記
憶装置に対してブロック転送が起動されていない場合)
に、リード要求元からアドレスレジスタ1にリード要求
アドレスが格納されるとアドレスバリッドフラグ40が
論理値“1”となる。また、アドレスレジスタ1に格納
されたリード要求アドレスによりアドレスアレイ2が索
引され、比較回路3からのヒットレベルのうちいずれか
がヒット状態となると、オア回路49からの出力が論理
値“1”となる。よって、次のタイミングでアドレスバ
リッドフラグ41にアンド回路53を介して論理値
“1”がセットされるとともに、ヒットフラグ(HV)
44にアンド回路51を介して論理値“1”がセットさ
れる。これにより、比較回路3からデータが読出され
る。さらに、その次のタイミングでデータリプライバリ
ッドフラグ(DV)(以下、データバリッドフラグとす
る)43にアンド回路55を介して論理値“1”がセッ
トされ、リード要求元へのデータ転送指示が出力され
る。このデータ転送指示により、ヒットレベルに対応す
るデータアレイ10〜13から読出されてリードデータ
レジスタ17に格納されるデータがリード要求元に転送
される。尚、ヒットフラグ44の負出力が論理値“0”
なのでアドレスバリッドフラグ42には論理値“1”は
セットされない。アドレスバリッドフラグ4が論理値
“1”である場合(主記憶装置に対してブロック転送が
起動されている場合)に、リード要求元からアドレスレ
ジスタ1にリード要求アドレスが格納されるとアドレス
バリッドフラグ40が論理値“1”となる。また、アド
レスレジスタ1に格納されたリード要求アドレスにより
アドレスアレイ2が索引され、比較回路3からのヒット
レベルのうちいずれかがヒット状態となると、オア回路
49からの出力が論理値“1”となる。このとき、比較
器45〜48で比較回路3からのヒットレベルとブロッ
ク転送レベルレジスタ16に格納されたブロック転送レ
ベルとが比較され、それら比較器45〜48のいずれか
で一致が検出されるとオア回路50の出力が論理値
“1”となり、ナンド回路52の出力が論理値“0”と
なってアンド回路53の出力も論理値“0”となる。こ
れにより、アドレスバリッドフラグ40に論理値“1”
がセットされていてもアドレスバリッドフラグ41には
論理値“1”がセットされず、アンド回路53の出力に
よりアドレスバリッドフラグ40の状態は論理値“1”
にホールドされる。すなわち、アドレスレジスタ15に
格納されているアドレスによるブロック転送データの書
込みの対象レベルと、後続のリード要求のキャッシュメ
モリ索引によるヒットレベルとが同一の場合には、アド
レスレジスタ1に格納されているリード要求アドレスは
アドレスレジスタ1にホールドされてアドレスレジスタ
5に移送されず、このリード要求アドレスによる後続の
リード要求が抑止されることとなる。これに対して、比
較器45〜48で一致が検出されず、オア回路50の出
力が論理値“0”になるか、あるいはブロック転送の終
了によりアドレスバリッドフラグ42がリセットされる
と、アドレスバリッドフラグ41に論理値“1”がセッ
トされるので、アドレスレジスタ1に格納されたリード
要求アドレスによる後続のリード要求の処理が行われる
ことになる。尚、アドレスレジスタ1に格納されたリー
ド要求アドレスによるリード要求において、比較回路3
で一致が検出されないときには主記憶装置からのブロッ
ク転送が起動されることとなるが、このときにはアドレ
スバリッドフラグ41からの出力とヒットフラグ44の
負出力とによりアンド回路54を介してアドレスバリッ
ドフラグ42に論理値“1”がセットされる。これら図
1及び図2を用いて本発明の一実施例の動作について具
体的に説明する。主記憶装置からのブロック転送データ
はライトデータレジスタ18に格納されており、アドレ
スレジスタ15に格納されたリード要求アドレスの一
部、すなわち書込みアドレスがアドレスレジスタ8に移
送されることにより、このブロック転送データがレベル
2のデータアレイ12に書込まれる。このとき、制御ブ
ロック4のアドレスバリッドフラグ42には論理値
“1”がセットされている。このブロック転送データの
データアレイ12への書込み動作とは独立に、後続のリ
ード要求のアドレスがアドレスレジスタ1に格納される
と、このアドレスによりアドレスアレイ2が索引され、
次のタイミングではアドレスレジスタ5〜9にアドレス
を移送しようとするが、ブロック転送中のためレベル2
のアドレスレジスタ8には書込みアドレスが格納されて
いる。したがって、後続のリード要求はレベル2のデー
タアレイ12からデータを読出すことができなくなる。
このとき、制御ブロック4の比較器47では後続のリー
ド要求のヒットレベルとブロック転送レベルレジスタ1
6に格納されたブロック転送レベル(レベル2)との一
致が検出され、アドレスバリッドフラグ40の状態が論
理値“1”にホールドされるとともに、アドレスバリッ
ドフラグ41には論理値“0”がセットされるので、ア
ドレスレジスタ1のリード要求アドレスがホールドされ
るとともに、アドレスレジスタ5に移送されたアドレス
が無効となって、後続のリード要求はブロック転送が終
了するまで抑止されることになる。ブロック転送が終了
するとアドレスバリッドフラグ42がリセットされるの
で、アドレスバリットフラグ41に論理値“1”がセッ
トされ、アドレスレジスタ1にホールドされていたリー
ド要求アドレスにより後続のリード要求が実行される。
このように、ブロック転送レベルレジスタ16に格納さ
れたブロック転送レベルと、後続のリード要求に対する
比較回路3からのヒットレベルとを制御ブロック4で比
較し、一致が検出されたときに後続のリード要求を制御
ブロック4により抑止するとともに、アドレイレジスタ
1に格納された後続のリード要求のリード要求アドレス
をホールドすることによって、主記憶装置からキャッシ
ュメモリへのブロック転送とキャッシュメモリに対する
後続のリード要求とが競合することなく、同時に処理す
ることができる。よって、制御ブロック4などの追加と
いう少ないハードウェア量の増加で、これらの処理の同
時処理を実現することができる。発明の効果 以上説明したように本発明によれば、格納手段に設定さ
れた第1の読出し要求により主記憶装置からブロック転
送されてきた書込みデータの書込みレベルと、格納手段
に設定された後続する第2の読出し要求により読出され
る読出しデータの読出しレベルとが異なるときに書込み
データの書込みと読出しデータの読出しとが同時に処理
可能な複数レベルのキャッシュメモリにおいて、第1の
読出し要求による書込みレベルと第2の読出し要求によ
る読出しレベルとの一致が検出されたときに第2の読出
し要求による読出しを抑止するとともに、格納手段に格
納された第2の読出し要求をホールドすることによっ
て、少ないハードウェア量で実現され、キャッシュメモ
リ上でブロック転送と後続のリード要求とを競合させる
ことなく同時に処理することができるという効果があ
る。
第1図は本発明の一実施例の構成を示すブロック図、第
2図は第1図の制御ブロックの構成を示すブロック図で
ある。 主要部分の符号の説明 1,5〜9,15 アドレスレジスタ
2 アドレスアレイ 3 比較回路 4 制御ブロッ
ク 10〜13 データアレイ 14 ヒットレベルレジスタ 16 ブロック転送レベルレジスタ 40〜42 アドレスレジスタバリッドフラグ 43 データリプライバリッドフラグ 44 ヒットフラグ 45〜48 比較器
2図は第1図の制御ブロックの構成を示すブロック図で
ある。 主要部分の符号の説明 1,5〜9,15 アドレスレジスタ
2 アドレスアレイ 3 比較回路 4 制御ブロッ
ク 10〜13 データアレイ 14 ヒットレベルレジスタ 16 ブロック転送レベルレジスタ 40〜42 アドレスレジスタバリッドフラグ 43 データリプライバリッドフラグ 44 ヒットフラグ 45〜48 比較器
Claims (1)
- 【請求項1】キャッシュメモリへの読出し要求が複数の
マシンサイクル毎に行われる情報処理装置であって、 読出し要求を格納する格納手段と、 前記格納手段に設定された第1の読出し要求により主記
憶装置からブロック転送されてきた書込みデータの書込
みレベルと前記格納手段に設定された後続する第2の読
出し要求により読出される読出しデータの読出しレベル
とが異なるときに前記書込みデータの書込みと前記読出
しデータの読出しとが同時に処理可能な複数レベルのキ
ャッシュメモリと、 前記第1の読出し要求による前記書込みレベルと前記第
2の読出し要求による前記読出しレベルとの一致を検出
する検出手段と、 前記検出手段により一致が検出された前記第2の読出し
要求により読出された前記読出しデータの転送を抑止す
る抑止手段と、 前記第2の読出し要求を前記格納手段においてホールド
する手段とを含むことを特徴とする情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6231982A JP2500485B2 (ja) | 1994-08-22 | 1994-08-22 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6231982A JP2500485B2 (ja) | 1994-08-22 | 1994-08-22 | 情報処理装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63289167A Division JPH0719225B2 (ja) | 1988-11-16 | 1988-11-16 | 情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07253925A JPH07253925A (ja) | 1995-10-03 |
JP2500485B2 true JP2500485B2 (ja) | 1996-05-29 |
Family
ID=16932095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6231982A Expired - Lifetime JP2500485B2 (ja) | 1994-08-22 | 1994-08-22 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2500485B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101471114B1 (ko) | 2008-03-06 | 2014-12-10 | 삼성전자주식회사 | 프로세서 및 컴퓨팅 시스템 |
-
1994
- 1994-08-22 JP JP6231982A patent/JP2500485B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH07253925A (ja) | 1995-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1560123B1 (en) | Information processing apparatus and method of accessing memory | |
JPH10207768A (ja) | エンジン動作中におけるフラッシュ・メモリにアクセスするための方法および装置 | |
US6823426B2 (en) | System and method of data replacement in cache ways | |
US6594732B1 (en) | Computer system with memory system in which cache memory is kept clean | |
JP2500485B2 (ja) | 情報処理装置 | |
US5946707A (en) | Interleaved burst XOR using a single memory pointer | |
US6629219B1 (en) | Method and apparatus for providing highly programmable memory mapping and improved interleaving | |
JPH0719225B2 (ja) | 情報処理装置 | |
JP2003058420A (ja) | Nand型フラッシュメモリからのデータ読み出し方法 | |
JP3564343B2 (ja) | キャッシュバイパス時のデータ転送装置と方法 | |
JP2853555B2 (ja) | 記憶制御装置 | |
JPH07219845A (ja) | キャッシュメモリ制御方式 | |
JP4773343B2 (ja) | キャッシュメモリのためのエラーを認識する方法と装置,およびキャッシュメモリ | |
JP2927160B2 (ja) | レジスタ装置 | |
JP3136681B2 (ja) | データ処理装置 | |
JPH11161545A (ja) | 密結合マルチプロセッサシステムの制御方法、密結合マルチプロセッサシステム及びその記録媒体 | |
JP2694076B2 (ja) | 記憶部制御装置 | |
JP2591928B2 (ja) | キャッシュ記憶回路 | |
JP3047992B2 (ja) | 主記憶キー制御方法 | |
JP2000207278A (ja) | 分散共有主記憶を有する情報処理装置 | |
JP3063501B2 (ja) | メモリアクセス制御方式 | |
US7917826B2 (en) | Error correction apparatus and method for data stored in memory | |
JPH04167036A (ja) | ライトバッファ | |
JPS6238743B2 (ja) | ||
JPH04232550A (ja) | 一致処理制御装置 |