JP2677706B2 - メモリアクセス制御回路 - Google Patents
メモリアクセス制御回路Info
- Publication number
- JP2677706B2 JP2677706B2 JP2279249A JP27924990A JP2677706B2 JP 2677706 B2 JP2677706 B2 JP 2677706B2 JP 2279249 A JP2279249 A JP 2279249A JP 27924990 A JP27924990 A JP 27924990A JP 2677706 B2 JP2677706 B2 JP 2677706B2
- Authority
- JP
- Japan
- Prior art keywords
- cycle
- signal
- memory
- memory access
- hit
- 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
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】 〔概 要〕 2サイクルのキャッシュのメモリアクセス制御回路に
関し、 キャッシュにミスヒットリードした次のメモリアクセ
ス処理を迅速かつ、正確に行なえるようにすることを目
的とし、 第1サイクルでアドレスを送出し、第2サイクルで次
のアクセスの第1サイクルとオーバラップしてデータ転
送を行う2サイクルキャッシメモリアクセス制御回路に
おいて、第1サイクルでミスヒットした場合に、第2サ
イクルのステージ遷移を抑止する信号を発生するSTINH
発生回路と、ミスヒット時はメモリアクセス要求許可信
号(MRQOK信号)をオフにし、メインメモリよりリード
された最後のデータがキャッシュメモリに到達する直前
のサイクルでMRQOK信号をオフからオンにするMRQOK発生
回路と、MRQOK信号がオフからオンになったときにSTINH
発生回路のステージ遷移抑止信号を停止させるSTINH抑
止回路を、設けるように構成する。
関し、 キャッシュにミスヒットリードした次のメモリアクセ
ス処理を迅速かつ、正確に行なえるようにすることを目
的とし、 第1サイクルでアドレスを送出し、第2サイクルで次
のアクセスの第1サイクルとオーバラップしてデータ転
送を行う2サイクルキャッシメモリアクセス制御回路に
おいて、第1サイクルでミスヒットした場合に、第2サ
イクルのステージ遷移を抑止する信号を発生するSTINH
発生回路と、ミスヒット時はメモリアクセス要求許可信
号(MRQOK信号)をオフにし、メインメモリよりリード
された最後のデータがキャッシュメモリに到達する直前
のサイクルでMRQOK信号をオフからオンにするMRQOK発生
回路と、MRQOK信号がオフからオンになったときにSTINH
発生回路のステージ遷移抑止信号を停止させるSTINH抑
止回路を、設けるように構成する。
本発明は、第1サイクルでアドレスを送出し、第2サ
イクルで次にアクセスの第1サイクルとオーバラップし
てデータ転送を行う、2サイクルキャッシュメモリアク
セス方式において、キャッシュメモリにミスヒットした
場合、次のアクセスを迅速かつ正確に行なうためのメモ
リアクセス制御回路に関する。
イクルで次にアクセスの第1サイクルとオーバラップし
てデータ転送を行う、2サイクルキャッシュメモリアク
セス方式において、キャッシュメモリにミスヒットした
場合、次のアクセスを迅速かつ正確に行なうためのメモ
リアクセス制御回路に関する。
多くのデータ処理システムにおいては、メインメモリ
へのアクセス時間を実質的に短縮する手段として、キャ
ッシュ装置を付加するようにしている。特に高速化が要
求されるシステムでは、キャッシュメモリを効率良く利
用するために、データ転送サイクルと次のアクセスのア
ドレス送出とがオーバーラップして行われる2サイクル
方式のアクセスパイプライン制御が採用されている。
へのアクセス時間を実質的に短縮する手段として、キャ
ッシュ装置を付加するようにしている。特に高速化が要
求されるシステムでは、キャッシュメモリを効率良く利
用するために、データ転送サイクルと次のアクセスのア
ドレス送出とがオーバーラップして行われる2サイクル
方式のアクセスパイプライン制御が採用されている。
この2サイクル方式のアクセスパイプライン制御で
は、送出されたアドレスのヒット判定をしている間に次
のアクセスのアドレスが送出されているため、ミスヒッ
トとなった場合の制御が複雑になり、次のアクセスの再
開までにかなりのオーバーヘッドが生じるようになる。
は、送出されたアドレスのヒット判定をしている間に次
のアクセスのアドレスが送出されているため、ミスヒッ
トとなった場合の制御が複雑になり、次のアクセスの再
開までにかなりのオーバーヘッドが生じるようになる。
次に、第6図〜第9図を参照して、従来の2サイクル
のメモリアクセス制御方式について説明する。第6図は
ステージ遷移の説明図、第7図は従来のメモリアクセス
制御システムの説明図、第8図は従来のメモリアクセス
制御回路の動作タイミングチャート、第9図は従来のメ
モリアクセス制御システムにおけるミスヒット時でかつ
インバリデーションのあるときの動作タイミングチャー
トの説明図である。
のメモリアクセス制御方式について説明する。第6図は
ステージ遷移の説明図、第7図は従来のメモリアクセス
制御システムの説明図、第8図は従来のメモリアクセス
制御回路の動作タイミングチャート、第9図は従来のメ
モリアクセス制御システムにおけるミスヒット時でかつ
インバリデーションのあるときの動作タイミングチャー
トの説明図である。
第7図において、21はメインメモリインタフェースコ
ントローラ(MMインタフェースコントローラで示す)で
あり、図示しないメインメモリとメモリアクセス制御回
路とのインタフェース制御を行なう。211はMMインタフ
ェースコントローラ21に設けられた監視ディレクトリで
あり、自己のキャッシュのディレクトリに登録されてい
るメインメモリ領域への、他のプロセッサ又はDMA(直
接記憶アクセス)によるライトを監視する。
ントローラ(MMインタフェースコントローラで示す)で
あり、図示しないメインメモリとメモリアクセス制御回
路とのインタフェース制御を行なう。211はMMインタフ
ェースコントローラ21に設けられた監視ディレクトリで
あり、自己のキャッシュのディレクトリに登録されてい
るメインメモリ領域への、他のプロセッサ又はDMA(直
接記憶アクセス)によるライトを監視する。
MABはMMインタフェースコントローラ21とメインメモ
リ間のアドレスバスであり、MADはMMインタフェースコ
ントローラ21とメインメモリ間のデータバスである。
リ間のアドレスバスであり、MADはMMインタフェースコ
ントローラ21とメインメモリ間のデータバスである。
22はディレクトリメモリであり、タグメモリとも呼ば
れ、キャッシュメモリに登録されているデータのアドレ
スが格納される。
れ、キャッシュメモリに登録されているデータのアドレ
スが格納される。
HITは、キャッシュメモリにヒットしたことを支持す
るヒット信号であり、ヒットしたときは1を指示し、ミ
スヒットしたときは0を指示する。
るヒット信号であり、ヒットしたときは1を指示し、ミ
スヒットしたときは0を指示する。
23はヒット番号保持レジスタ(HITレジスタで示す)
であり、第1サイクルでディレクトリメモリ22から出力
されたヒット情報が格納される。ディレクトリメモリ22
が複数のブロックで構成される場合、ヒット情報はヒッ
トしたブロックの番号を指示する。このヒット情報によ
り、キャッシュメモリ中のブロックに対応するメモリ域
が選択される。
であり、第1サイクルでディレクトリメモリ22から出力
されたヒット情報が格納される。ディレクトリメモリ22
が複数のブロックで構成される場合、ヒット情報はヒッ
トしたブロックの番号を指示する。このヒット情報によ
り、キャッシュメモリ中のブロックに対応するメモリ域
が選択される。
24はキャッシュ用のバッファメモリであり(以下、キ
ャッシュメモリという)、バイポーラトランジスタ等の
高速メモリ素子で構成され、アクセスされたメインメモ
リのデータが登録される。
ャッシュメモリという)、バイポーラトランジスタ等の
高速メモリ素子で構成され、アクセスされたメインメモ
リのデータが登録される。
25はキャッシュアドレス保持レジスタ(CMAレジスタ
で示す)であり、第1サイクルで送出されたキャッシュ
メモリ24をアクセスするアドレスを格納して、次の第2
サイクルまで保持する。
で示す)であり、第1サイクルで送出されたキャッシュ
メモリ24をアクセスするアドレスを格納して、次の第2
サイクルまで保持する。
26はプロセッサであり、各サイクルにおけるステージ
処理を実行するとともに、システム全体の動作を制御す
る。
処理を実行するとともに、システム全体の動作を制御す
る。
261はプロセッサ26に設けられたアドレスレジスタで
あり、メインメモリ、ディレクトリメモリ22、キャッシ
ュメモリ24をアクセスするアドレスが格納される。
あり、メインメモリ、ディレクトリメモリ22、キャッシ
ュメモリ24をアクセスするアドレスが格納される。
262はプロセッサ26に設けられたデータレジスタであ
り、キャッシュメモリ24又はメインメモリから読み出さ
れたデータが格納される。
り、キャッシュメモリ24又はメインメモリから読み出さ
れたデータが格納される。
ABはMMインタフェースコントローラ21とプロセッサ26
間のアドレスバスであり、CBは各種制御信号が転送され
る制御信号バスであり、DBはMMインタフェースコントロ
ーラ21とプロセッサ26間のデータを転送するデータバス
である。
間のアドレスバスであり、CBは各種制御信号が転送され
る制御信号バスであり、DBはMMインタフェースコントロ
ーラ21とプロセッサ26間のデータを転送するデータバス
である。
INVLは、キャッシュメモリ24に登録されているデータ
を無効化するインバリデーション信号であり、このイン
バリデーション信号を受けると、ディレクトリメモリ22
にある無効化対象データ領域に対応する領域に無効フラ
グ(図示せず)が立てられる。
を無効化するインバリデーション信号であり、このイン
バリデーション信号を受けると、ディレクトリメモリ22
にある無効化対象データ領域に対応する領域に無効フラ
グ(図示せず)が立てられる。
30はメモリアクセス制御回路であり、MMインタフェー
スコントローラ21内に設けられ、プロセッサ26からの指
令を受けて、メインメモリに対するメモリアクセス制御
を行う。このメモリアクセス制御回路30の発生する各種
制御信号及びそのメモリアクセス制御動作については、
後記動作説明のところで説明する。なお、メモリアクセ
ス制御回路30のブロック内に括弧に入れて示される各種
制御信号は、メモリアクセス制御回路30の内部で発生す
る各種制御信号を示している。
スコントローラ21内に設けられ、プロセッサ26からの指
令を受けて、メインメモリに対するメモリアクセス制御
を行う。このメモリアクセス制御回路30の発生する各種
制御信号及びそのメモリアクセス制御動作については、
後記動作説明のところで説明する。なお、メモリアクセ
ス制御回路30のブロック内に括弧に入れて示される各種
制御信号は、メモリアクセス制御回路30の内部で発生す
る各種制御信号を示している。
次に、第7図のメモリアクセス制御回路の制御するス
テージ変移を、第6のステージ遷移説明図を参照して説
明する。
テージ変移を、第6のステージ遷移説明図を参照して説
明する。
第6図において、最初のメモリリクエストステージで
は、プロセッサ26より、図示しないメインメモリに対す
るアクセスを要求するメモリアクセス要求信号MRQを送
出する処理が行われる。
は、プロセッサ26より、図示しないメインメモリに対す
るアクセスを要求するメモリアクセス要求信号MRQを送
出する処理が行われる。
メインメモリに対するアクセス要求が受け入れられる
と、次の第1ステージにおいて、メインメモリをアクセ
スするアドレスを送出する処理と、キャッシュメモリに
対するヒット判定処理が行われる。STG1は第1ステージ
を起動する第1ステージ信号であり、メモリアクセス制
御回路30によって発生される。
と、次の第1ステージにおいて、メインメモリをアクセ
スするアドレスを送出する処理と、キャッシュメモリに
対するヒット判定処理が行われる。STG1は第1ステージ
を起動する第1ステージ信号であり、メモリアクセス制
御回路30によって発生される。
次の第2ステージにおいては、キャッシュメモリにヒ
ットしたデータを転送する処理が行われる。STG2は第2
ステージを起動する第2ステージ信号であり、メモリア
クセス制御回路30によって発生される。
ットしたデータを転送する処理が行われる。STG2は第2
ステージを起動する第2ステージ信号であり、メモリア
クセス制御回路30によって発生される。
次に、第8図の動作タイミングチャートを参照して、
メモリアクセス制御動作を説明する。第8図において、
CLK1はメモリアクセス制御回路30内で行われる各動作の
タイミングを規制するクロックで、システムに共通のシ
ステムクロックに同期して発生される。τ1,τ2等は、
クロックCLK1の各サイクルを示す(第8図(a))。
メモリアクセス制御動作を説明する。第8図において、
CLK1はメモリアクセス制御回路30内で行われる各動作の
タイミングを規制するクロックで、システムに共通のシ
ステムクロックに同期して発生される。τ1,τ2等は、
クロックCLK1の各サイクルを示す(第8図(a))。
プロセッサ26は、図示しないメインメモリに対するア
クセスを行う場合は、メモリリクエストステージにおい
て、メモリアクセス要求信号MRQを送出する(第8図
(b))。いま、クロックCLK1のサイクルτ1,τ2及び
τ3において連続してメモリアクセス要求MRQが発生
し、これを図示のように、メモリアクセス要求信号MRQ
,MRQ及びMRQとする(第8図(b))。
クセスを行う場合は、メモリリクエストステージにおい
て、メモリアクセス要求信号MRQを送出する(第8図
(b))。いま、クロックCLK1のサイクルτ1,τ2及び
τ3において連続してメモリアクセス要求MRQが発生
し、これを図示のように、メモリアクセス要求信号MRQ
,MRQ及びMRQとする(第8図(b))。
τ1サイクルで発行された最初のメモリアクセス要求
信号MRQに対し、メモリアクセス制御回路30は、メモ
リアクセス要求許可条件が満足されると、同じτ1サイ
クルにおいて、メモリアクセス要求を許容するメモリア
クセス要求許可信号MRQOK(MRQOK信号で示す)をオンに
する(第8図(c))。
信号MRQに対し、メモリアクセス制御回路30は、メモ
リアクセス要求許可条件が満足されると、同じτ1サイ
クルにおいて、メモリアクセス要求を許容するメモリア
クセス要求許可信号MRQOK(MRQOK信号で示す)をオンに
する(第8図(c))。
メモリアクセス制御回路30は、このMRQOK信号がオン
になったときは、クロックCLK1に同期して次のサイクル
τ2において第1ステージ信号STG1(STG1で示す)発
生し、制御信号バスABを介してプロセッサ26に送る(第
8図(d)の)。
になったときは、クロックCLK1に同期して次のサイクル
τ2において第1ステージ信号STG1(STG1で示す)発
生し、制御信号バスABを介してプロセッサ26に送る(第
8図(d)の)。
この第1ステージ信号STG1を受けると、プロセッサ
26は、第2サイクルτ2において第1ステージの処理を
行い、アドレスレジスタ261にあるメインメモリをアク
セスするアドレスをアドレスバスABを介して送出し(第
8図(f)の)、更に、キャッシュメモリ24に対する
ヒット判定を行う。
26は、第2サイクルτ2において第1ステージの処理を
行い、アドレスレジスタ261にあるメインメモリをアク
セスするアドレスをアドレスバスABを介して送出し(第
8図(f)の)、更に、キャッシュメモリ24に対する
ヒット判定を行う。
すなわち、プロセッサ26の送出したアドレスは、先ず
ディレクトリメモリ22をアクセスする。アクセスするア
ドレスに対応するアドレスがディレクトリメモリ22にあ
ると、ヒット信号HITが1になり、キャッシュメモリに
ヒットしたことが指示される。もし、アクセスするアド
レスに対応するアドレスがディレクトリメモリ22にない
と、ヒット信号HITが0になり。キャッシュメモリにミ
スヒットしたことが指示される。
ディレクトリメモリ22をアクセスする。アクセスするア
ドレスに対応するアドレスがディレクトリメモリ22にあ
ると、ヒット信号HITが1になり、キャッシュメモリに
ヒットしたことが指示される。もし、アクセスするアド
レスに対応するアドレスがディレクトリメモリ22にない
と、ヒット信号HITが0になり。キャッシュメモリにミ
スヒットしたことが指示される。
このヒット信号HITは、MMインタフェースコントロー
ラ21を介してメモリアクセス制御回路30に送られる。ま
た、キャッシュメモリのヒット情報がHITレジスタ23に
格納される。ディレクトリメモリ22が複数のブロックか
ら成る場合は、このヒット情報はヒットしたブロックの
番号を指示する。HITレジスタ23にあるヒット情報はキ
ャッシュメモリ24に送られ、ヒット信号HITが1(キャ
ッシュメモリにヒット)のときは、ヒットしたディレク
トリメモリ22のブロック番号に対応するキャッシュメモ
リ24の領域が選択される。
ラ21を介してメモリアクセス制御回路30に送られる。ま
た、キャッシュメモリのヒット情報がHITレジスタ23に
格納される。ディレクトリメモリ22が複数のブロックか
ら成る場合は、このヒット情報はヒットしたブロックの
番号を指示する。HITレジスタ23にあるヒット情報はキ
ャッシュメモリ24に送られ、ヒット信号HITが1(キャ
ッシュメモリにヒット)のときは、ヒットしたディレク
トリメモリ22のブロック番号に対応するキャッシュメモ
リ24の領域が選択される。
以下、キャッシュメモリ24にヒットした場合とミスヒ
ットした場合に分けて説明する。
ットした場合に分けて説明する。
(1) キャッシュメモリにヒットした場合 キャッシュメモリ24にヒットした場合、すなわちヒッ
ト信号HITが1のときは、メモリアクセス制御回路30
は、回路の動作タイミングを規定するクロック信号CLK1
に同期して次のサイクルτ3において第2ステージ信号
STG2(STG2で示す)を発生し、制御信号バスCBを介し
てプロセッサ26に送る(第8図(e)の)。
ト信号HITが1のときは、メモリアクセス制御回路30
は、回路の動作タイミングを規定するクロック信号CLK1
に同期して次のサイクルτ3において第2ステージ信号
STG2(STG2で示す)を発生し、制御信号バスCBを介し
てプロセッサ26に送る(第8図(e)の)。
この第2ステージ信号STG2を受けると、プロセッサ
26は、第6図に示すように、第2サイクルτ3において
第2ステージの処理を行い、キャッシュメモリ24にヒッ
トしたデータ読み出し、データバスDBを介してプロセッ
サ26のデータレジスタ262に転送する。
26は、第6図に示すように、第2サイクルτ3において
第2ステージの処理を行い、キャッシュメモリ24にヒッ
トしたデータ読み出し、データバスDBを介してプロセッ
サ26のデータレジスタ262に転送する。
一方、このサイクルτ3においては、最初のメモリア
クセス要求信号MRQに対する第2サイクル(第2ステ
ージ)の処理とオーバラップして、次のメモリアクセス
要求信号MRQに対する第1サイクル(第1ステージ)
の処理が行われる(第6図及び第8図(d)のSTG1及
び(e)のSTG2参照)。
クセス要求信号MRQに対する第2サイクル(第2ステ
ージ)の処理とオーバラップして、次のメモリアクセス
要求信号MRQに対する第1サイクル(第1ステージ)
の処理が行われる(第6図及び第8図(d)のSTG1及
び(e)のSTG2参照)。
次のメモリアクセス要求信号MRQの第1サイクル
(第8図(d)のτ3サイクルの第1ステージSTG1)
において、キャッシュメモリ22にヒットすると、続くτ
4サイクルにおいて、メモリアクセス要求信号MRQの
第2サイクル、すなわち、第2ステージSTG2の処理が
実行される。
(第8図(d)のτ3サイクルの第1ステージSTG1)
において、キャッシュメモリ22にヒットすると、続くτ
4サイクルにおいて、メモリアクセス要求信号MRQの
第2サイクル、すなわち、第2ステージSTG2の処理が
実行される。
以下同様にして、キャッシュメモリにヒットした場合
は、各メモリアクセス要求信号MRQに対する、第1ステ
ージSTG1及び第2ステージSTG2の各処理が連続して実行
される(図示せず)。
は、各メモリアクセス要求信号MRQに対する、第1ステ
ージSTG1及び第2ステージSTG2の各処理が連続して実行
される(図示せず)。
(2) キャッシュメモリにミスヒットした場合 いま、τ2で行われたメモリアクセス要求信号MRQ
の第1ステージSTG1の処理において、プロセッサ26か
ら送出されたアドレスがキャッシュメモリ24にミスヒッ
トしたとすると、ヒット信号HITは、サイクルτ2にお
いて0となる(第8図(j))。
の第1ステージSTG1の処理において、プロセッサ26か
ら送出されたアドレスがキャッシュメモリ24にミスヒッ
トしたとすると、ヒット信号HITは、サイクルτ2にお
いて0となる(第8図(j))。
メモリアクセス制御回路30は、ヒット信号HITが0
(ミスヒット)のときは、τ3サイクルにおいてクロッ
ク抑止信号CLKSPを発生する。
(ミスヒット)のときは、τ3サイクルにおいてクロッ
ク抑止信号CLKSPを発生する。
更に、メモリアクセス制御回路30は、ヒット信号HIT
が0(ミスヒット)で、かつ、連続するメモリアクセス
要求信号MRQの第1ステージSTG1がオンであるとき
は(第8図(d)のτ3サイクル)、τ4サイクルから
ステージ遷移抑止信号STINHをオンにする(第8図
(1))。
が0(ミスヒット)で、かつ、連続するメモリアクセス
要求信号MRQの第1ステージSTG1がオンであるとき
は(第8図(d)のτ3サイクル)、τ4サイクルから
ステージ遷移抑止信号STINHをオンにする(第8図
(1))。
これにより、メモリアクセス制御回路30から出力され
るメモリアクセス要求信号MRQの第1ステージ信号STG
1の値は、τ3サイクル以降は連続して値1を保持す
るようになり(第8図(d))、メモリアクセス要求信
号MRQの第2ステージ信号STG2は、τ3サイクル以
降は連続して値1を保持するようになる(第8図
(e))。
るメモリアクセス要求信号MRQの第1ステージ信号STG
1の値は、τ3サイクル以降は連続して値1を保持す
るようになり(第8図(d))、メモリアクセス要求信
号MRQの第2ステージ信号STG2は、τ3サイクル以
降は連続して値1を保持するようになる(第8図
(e))。
また、前述のようにτ3サイクルにおいてクロック抑
止信号CLKSPが発生されることにより、τ4以降のクロ
ックの発生を抑止されて、τ4サイクル以降のメモリア
クセス制御回路30の制御動作は、一時中断される(第8
図(n)及び(a))。
止信号CLKSPが発生されることにより、τ4以降のクロ
ックの発生を抑止されて、τ4サイクル以降のメモリア
クセス制御回路30の制御動作は、一時中断される(第8
図(n)及び(a))。
キャッシュメモリ24にミスヒットしたことにより、メ
モリアクセス制御回路30の制御動作が一時中断している
間に、MMインタフェースコントローラ21は、図示しない
メインメモリから、ミスヒットしたデータをリードし、
データバスDBを経由してプロセッサ26に転送するととも
に、キャッシュメモリ24にこのリードデータを登録し、
そのアドレス等のタグ情報をディレクトリメモリ22に登
録する処理を行う。このデータ転送処理は、τ4〜τ6
サイクルの間でおこなわれる。
モリアクセス制御回路30の制御動作が一時中断している
間に、MMインタフェースコントローラ21は、図示しない
メインメモリから、ミスヒットしたデータをリードし、
データバスDBを経由してプロセッサ26に転送するととも
に、キャッシュメモリ24にこのリードデータを登録し、
そのアドレス等のタグ情報をディレクトリメモリ22に登
録する処理を行う。このデータ転送処理は、τ4〜τ6
サイクルの間でおこなわれる。
メインメモリからのデータリードは、ブロック単位で
行われ、メモリアクセス要求信号MRQに対するミスヒ
ットしたデータを含む複数ワード(図ではD−1〜D
−4の4ワード)がリードされて、プロセッサ26及び
キャッシュメモリ24に転送される(第8図(g))。
行われ、メモリアクセス要求信号MRQに対するミスヒ
ットしたデータを含む複数ワード(図ではD−1〜D
−4の4ワード)がリードされて、プロセッサ26及び
キャッシュメモリ24に転送される(第8図(g))。
メインメモリより各ブロック単位のデータがリードさ
れるときは、MMインタフェースコントローラ21からデー
タワードD−1〜D−4に対応して、ブロックリー
ド信号BLKRD1〜BLKRD4が、メモリアクセス制御回路30に
送出されるが、第8図(h)及び(i)には、ブロック
リード信号BLKRD3及びBRKRD4が示されている。
れるときは、MMインタフェースコントローラ21からデー
タワードD−1〜D−4に対応して、ブロックリー
ド信号BLKRD1〜BLKRD4が、メモリアクセス制御回路30に
送出されるが、第8図(h)及び(i)には、ブロック
リード信号BLKRD3及びBRKRD4が示されている。
最初のデータD−1が転送された時点でプロセッサ
26は次の処理に移れるので、メモリアクセス制御回路30
のクロックCLKの抑止を止め、その制御を再開させてよ
い。そこで、MMインタフェースコントローラ21は、スタ
ート信号STARTを1(オン)にする(第8図(p)のτ
7)。
26は次の処理に移れるので、メモリアクセス制御回路30
のクロックCLKの抑止を止め、その制御を再開させてよ
い。そこで、MMインタフェースコントローラ21は、スタ
ート信号STARTを1(オン)にする(第8図(p)のτ
7)。
メモリアクセス制御回路30は、スタート信号STARTが
1になると、次のτ8サイクルでクロック抑止信号CLKS
Pを0にして、クロックCLKを再開させる(第8図(a)
及び(n)のτ8のサイクル)。
1になると、次のτ8サイクルでクロック抑止信号CLKS
Pを0にして、クロックCLKを再開させる(第8図(a)
及び(n)のτ8のサイクル)。
ミスヒットデータの転送が終了した時点、すなわちデ
ータD−4が転送された時点(τ11サイクルの終了時
点)で、ステージ遷移を抑止する必要がなくなり、次の
τ12サイクルからステージ遷移を開始して差支えない。
ータD−4が転送された時点(τ11サイクルの終了時
点)で、ステージ遷移を抑止する必要がなくなり、次の
τ12サイクルからステージ遷移を開始して差支えない。
しかし、メモリアクセス制御回路30は、ブロックリー
ドの3ワード目のデータD−3の転送期間を示すブロ
ックリード信号BLKRD3がτ10でオンになると、次のτ11
よりも1サイクル遅れた次のτ12サイクルでステージ遷
移抑止信号STINHを0(オフ)にする(第8図(l)、
なお、τ11よりも11サイクル遅らせる理由については、
後に説明する)。
ドの3ワード目のデータD−3の転送期間を示すブロ
ックリード信号BLKRD3がτ10でオンになると、次のτ11
よりも1サイクル遅れた次のτ12サイクルでステージ遷
移抑止信号STINHを0(オフ)にする(第8図(l)、
なお、τ11よりも11サイクル遅らせる理由については、
後に説明する)。
これにより、メモリアクセス要求信号MRQに関する
ステージ処理である第1ステージSTG1はτ12サイクル
までオン状態を維持し続け、キャッシュメモリ24に対す
るヒット判定が可能になったτ12で有効なヒット判定が
行われ、τ13サイクルにおいて第2ステージSTG2が正
常に実行される(第8図(d),(e),(j),
(k))。
ステージ処理である第1ステージSTG1はτ12サイクル
までオン状態を維持し続け、キャッシュメモリ24に対す
るヒット判定が可能になったτ12で有効なヒット判定が
行われ、τ13サイクルにおいて第2ステージSTG2が正
常に実行される(第8図(d),(e),(j),
(k))。
τ13サイクルでは、前述のτ3サイクルの場合と同様
に、メモリアクセス要求信号MRQに対する第2サイク
ルの処理(第2ステージSTG2)と次のメモリアクセス
要求信号MRQ2の第1サイクルの処理(第1ステージST
G1)とが並行して行われる(第8図(d),(e),
(j),(k))。
に、メモリアクセス要求信号MRQに対する第2サイク
ルの処理(第2ステージSTG2)と次のメモリアクセス
要求信号MRQ2の第1サイクルの処理(第1ステージST
G1)とが並行して行われる(第8図(d),(e),
(j),(k))。
次に、τ11サイクルより1サイクル遅れた次のτ12サ
イクルでステージ遷移抑止信号STINHを0(オフ)にす
る理由を、第9図を参照して説明する。
イクルでステージ遷移抑止信号STINHを0(オフ)にす
る理由を、第9図を参照して説明する。
第9図は、第8図と同じく動作タイミングチャートを
示したもので,(a)CLK〜(p)STARTの各記号の意味
及びτ8サイクルまでの動作内容は、第8図の動作内容
と同じである。
示したもので,(a)CLK〜(p)STARTの各記号の意味
及びτ8サイクルまでの動作内容は、第8図の動作内容
と同じである。
ただし、第8図(h)及び(i)には、ブロックリー
ド信号BLKRD2及びBLKRD3が示されている。続く(q)の
PINVLはインバリデーション要求信号であり、キャッシ
ュメモリ24に登録されたデータを指定してそれを無効に
することを要求する信号である。このインバリデーショ
ン要求信号PINVLはMMインタフェースコントローラ21の
監視ディレクトリ211により発生され、メモリアクセス
制御回路30に送られる。
ド信号BLKRD2及びBLKRD3が示されている。続く(q)の
PINVLはインバリデーション要求信号であり、キャッシ
ュメモリ24に登録されたデータを指定してそれを無効に
することを要求する信号である。このインバリデーショ
ン要求信号PINVLはMMインタフェースコントローラ21の
監視ディレクトリ211により発生され、メモリアクセス
制御回路30に送られる。
また、次の(r)のINVLは、先に説明したように、キ
ャッシュメモリ24に登録されているデータを無効化する
インバリデーション信号であり、このインバリデーショ
ン信号を受けると、ディレクトリメモリ22にある無効化
対象データ領域に対応する領域に無効フラグ(図示せ
ず)が立てられる。
ャッシュメモリ24に登録されているデータを無効化する
インバリデーション信号であり、このインバリデーショ
ン信号を受けると、ディレクトリメモリ22にある無効化
対象データ領域に対応する領域に無効フラグ(図示せ
ず)が立てられる。
メモリアクセス要求信号MRQのデータD−4の転
送がτ11で終了したとき、次のτ12サイクルにおいてメ
モリアクセス要求信号MRQのデータ転送を行おうとす
る場合は、メモリアクセス制御回路30は、ブロックリー
ドの2ワード目のデータD−2の転送期間を示すブロ
ックリード信号BLKRD2がτ9でオンになると、次のτ10
よりも1サイクル遅れた次のτ11サイクルでステージ遷
移抑止信号STINHを0(オフ)にする(第9図
(1))。
送がτ11で終了したとき、次のτ12サイクルにおいてメ
モリアクセス要求信号MRQのデータ転送を行おうとす
る場合は、メモリアクセス制御回路30は、ブロックリー
ドの2ワード目のデータD−2の転送期間を示すブロ
ックリード信号BLKRD2がτ9でオンになると、次のτ10
よりも1サイクル遅れた次のτ11サイクルでステージ遷
移抑止信号STINHを0(オフ)にする(第9図
(1))。
これにより、メモリアクセス要求信号MRQに関する
ステージ処理である第1ステージSTG1はτ11サイクル
までオン状態を維持し続け、キャッシュメモリ24に対す
るヒット判定が可能になったτ12で有効なヒット判定が
行われ、τ12サイクルにおいて第2ステージSTG2が正
常に実行される(第8図(d),(e),(j),
(k))。
ステージ処理である第1ステージSTG1はτ11サイクル
までオン状態を維持し続け、キャッシュメモリ24に対す
るヒット判定が可能になったτ12で有効なヒット判定が
行われ、τ12サイクルにおいて第2ステージSTG2が正
常に実行される(第8図(d),(e),(j),
(k))。
τ12サイクルでは、前述のτ3サイクルの場合と同様
に、メモリアクセス要求信号MRQに対する第2サイク
ルの処理(第2ステージSTG2)と次のメモリアクセス
要求信号MRQの第1サイクルの処理(第1ステージSTG
1)とが並行して行われる(第8図(d),(e),
(j),(k))。
に、メモリアクセス要求信号MRQに対する第2サイク
ルの処理(第2ステージSTG2)と次のメモリアクセス
要求信号MRQの第1サイクルの処理(第1ステージSTG
1)とが並行して行われる(第8図(d),(e),
(j),(k))。
ところが、もし、メモリアクセス要求信号MRQにつ
いてのデータ転送が行われるτ12サイクルの前に、他プ
ロセッサ又はDMAにより自己のキャッシュメモリ24のデ
ィレクトリメモリ22に登録されているメインメモリ領域
に対するライトが行われたとすると、監視ディレクトリ
211は、τ10においてインバリデーション要求信号PINVL
を発生して、メモリアクセス制御回路30に送る。
いてのデータ転送が行われるτ12サイクルの前に、他プ
ロセッサ又はDMAにより自己のキャッシュメモリ24のデ
ィレクトリメモリ22に登録されているメインメモリ領域
に対するライトが行われたとすると、監視ディレクトリ
211は、τ10においてインバリデーション要求信号PINVL
を発生して、メモリアクセス制御回路30に送る。
インバリデーション要求はステージ処理に常に優先し
て行う必要があるので、メモリアクセス制御回路30は、
インバリデーション要求信号PINVLを受けると、次のτ
11サイクルにおいてインバリデーション信号INVLを発生
し、ディレクトリメモリ22をインバリデートする。
て行う必要があるので、メモリアクセス制御回路30は、
インバリデーション要求信号PINVLを受けると、次のτ
11サイクルにおいてインバリデーション信号INVLを発生
し、ディレクトリメモリ22をインバリデートする。
このため、プロセッサ26は、τ11サイクルにおけるメ
モリアクセス要求信号MRQの第1ステージSTG1の処
理が実行できなくなる。この結果、キャッシュメモリ24
に対するヒット判定が不可能になり、以降の各処理も実
行不可能になる。
モリアクセス要求信号MRQの第1ステージSTG1の処
理が実行できなくなる。この結果、キャッシュメモリ24
に対するヒット判定が不可能になり、以降の各処理も実
行不可能になる。
そこで、このようなインバリデーションが発生して
も、キャッシュメモリ24及びディレクトリメモリ22に対
するインバリデーション処理を行った後に、それまでの
ステージ処理が正常に実行できるようにするため、従来
のメモリアクセス制御では、第8図で説明したように、
ミスヒット時のデータD−1〜の転送が終了したτ
11の次のτ12サイクルからステージ遷移抑止信号STINH
をオフにして、ステージ処理を再開させるようにしてい
る。
も、キャッシュメモリ24及びディレクトリメモリ22に対
するインバリデーション処理を行った後に、それまでの
ステージ処理が正常に実行できるようにするため、従来
のメモリアクセス制御では、第8図で説明したように、
ミスヒット時のデータD−1〜の転送が終了したτ
11の次のτ12サイクルからステージ遷移抑止信号STINH
をオフにして、ステージ処理を再開させるようにしてい
る。
これにより、もし、τ10サイクルにおいてインバリデ
ーション要求信号PINVLが発生しても、次のτ11サイク
ルでディレクトリメモリ22に対する所定のインバリデー
ション処理を行い、続くτ12サイクル以降において、先
に第8図で説明したように、それまでの各ステージ処理
が正常に実行される。
ーション要求信号PINVLが発生しても、次のτ11サイク
ルでディレクトリメモリ22に対する所定のインバリデー
ション処理を行い、続くτ12サイクル以降において、先
に第8図で説明したように、それまでの各ステージ処理
が正常に実行される。
なお、第9図の(k)に示すヒットディレイ信号HITD
は、ヒット信号HITを1サイクルディレイした信号であ
り、第1ステージ有効信号STG1Vは、第1ステージ処理
が有効であったことを指示する信号である。両信号はメ
モリアクセス制御回路30の内部で発生され、この中で、
ステージ1有効信号STG1Vとヒットディレイ信号HITD
は、ステージ遷移抑止信号STINHの発生に使用されるも
のである。
は、ヒット信号HITを1サイクルディレイした信号であ
り、第1ステージ有効信号STG1Vは、第1ステージ処理
が有効であったことを指示する信号である。両信号はメ
モリアクセス制御回路30の内部で発生され、この中で、
ステージ1有効信号STG1Vとヒットディレイ信号HITD
は、ステージ遷移抑止信号STINHの発生に使用されるも
のである。
従来のメモリアクセス制御は、前述のように、キャッ
シュメモリにミスヒットしたときは、メインメモリから
ミスヒットデータをリードして転送するときにキャッシ
ュメモリに対するインバリデーションが発生しても、メ
モリアクセス制御及びステージ制御が正常に実行できる
ようにするため、ミスヒットデータの転送が終了したサ
イクルよりも1サイクル遅らせて、ステージ処理を再開
させるようにしていた。
シュメモリにミスヒットしたときは、メインメモリから
ミスヒットデータをリードして転送するときにキャッシ
ュメモリに対するインバリデーションが発生しても、メ
モリアクセス制御及びステージ制御が正常に実行できる
ようにするため、ミスヒットデータの転送が終了したサ
イクルよりも1サイクル遅らせて、ステージ処理を再開
させるようにしていた。
このため、キャッシュメモリに対してミスヒットした
ときにインバリデーションが発生する確率が通常低いに
もかかわらず、ミスヒット時は常に余分の1サイクルが
挿入され結果、以降の処理がその分遅れ、全体のメモリ
アクセス処理効率で低下するという問題があった。
ときにインバリデーションが発生する確率が通常低いに
もかかわらず、ミスヒット時は常に余分の1サイクルが
挿入され結果、以降の処理がその分遅れ、全体のメモリ
アクセス処理効率で低下するという問題があった。
本発明は、キャッシュメモリにミスヒットした時は、
インバリデーションが発生したときのみミスヒットデー
タのデータ転送終了後に再開されるステージ処理の開始
サイクルを送らせることにより、メモリアクセス処理効
率を向上させるように改良したメモリアクセス制御回路
を提供することを目的とする。
インバリデーションが発生したときのみミスヒットデー
タのデータ転送終了後に再開されるステージ処理の開始
サイクルを送らせることにより、メモリアクセス処理効
率を向上させるように改良したメモリアクセス制御回路
を提供することを目的とする。
前述の課題を解決するために本発明が採用した手段
を、第1図を参照して説明する。第1図は、本発明の基
本構成をブロックで示したものである。
を、第1図を参照して説明する。第1図は、本発明の基
本構成をブロックで示したものである。
第1図において、10は全体のメモリアクセス制御回路
であり、第1サイクルでアドレスを送出し、第2サイク
ルで次のアクセスの第1サイクルとオーバラップしてデ
ータ転送を行い、第1サイクルで送出したアドレスと該
アドレスによりタグメモリをアクセスして得られるヒッ
ト情報及びヒットブロック番号情報とを第2サイクルの
間保持し、ヒット情報がヒットを示した場合は、第2サ
イクルで前記保持されたブロック番号とアドレスにより
キャッシュメモリ(図示せず)をアクセスし、ミスヒッ
トした場合は、メインストレージより前記アドレスによ
りブロックリードして、2サイクルでキャッシュメモリ
をアクセスする。
であり、第1サイクルでアドレスを送出し、第2サイク
ルで次のアクセスの第1サイクルとオーバラップしてデ
ータ転送を行い、第1サイクルで送出したアドレスと該
アドレスによりタグメモリをアクセスして得られるヒッ
ト情報及びヒットブロック番号情報とを第2サイクルの
間保持し、ヒット情報がヒットを示した場合は、第2サ
イクルで前記保持されたブロック番号とアドレスにより
キャッシュメモリ(図示せず)をアクセスし、ミスヒッ
トした場合は、メインストレージより前記アドレスによ
りブロックリードして、2サイクルでキャッシュメモリ
をアクセスする。
11はステージ遷移抑止信号発生回路(以下、STINH発
生回路で示す)であり、第1サイクルで出力されたヒッ
ト情報がミスヒットを示した場合に、第2サイクルのス
テージ遷移を抑止するステージ遷移抑止信号STINHを発
生する処理を行う。
生回路で示す)であり、第1サイクルで出力されたヒッ
ト情報がミスヒットを示した場合に、第2サイクルのス
テージ遷移を抑止するステージ遷移抑止信号STINHを発
生する処理を行う。
12はメモリアクセス要求許可信号発生回路(以下、MR
QOK発生回路で示す)であり、ミスヒット時はメモリア
クセス要求許可信号MRQOK(MRQOK信号で示す)をオフに
し、メインストレージより前記アドレスによりリードさ
れた最後のデータがキャッシュメモリに到達する直前の
サイクルで前記MRQOK信号をオフからオンにする処理を
行う。MRQOK信号については、先に説明したとおりであ
る。
QOK発生回路で示す)であり、ミスヒット時はメモリア
クセス要求許可信号MRQOK(MRQOK信号で示す)をオフに
し、メインストレージより前記アドレスによりリードさ
れた最後のデータがキャッシュメモリに到達する直前の
サイクルで前記MRQOK信号をオフからオンにする処理を
行う。MRQOK信号については、先に説明したとおりであ
る。
13はステージ遷移抑止停止回路(以下、STINH停止回
路で示す)であり、前記MRQOK信号がオフからオンにな
ったことを検出して、STINH発生回路11の発生するステ
ージ遷移抑止信号STINHを停止させる処理を行う。
路で示す)であり、前記MRQOK信号がオフからオンにな
ったことを検出して、STINH発生回路11の発生するステ
ージ遷移抑止信号STINHを停止させる処理を行う。
14はメモリアクセス要求許可抑止回路(以下、MRQOK
信号抑止回路で示す)であり、MRQOK信号をオンにする
サイクルにおいて、自キャッシュメモリの無効化要求が
なされた場合に、前記サイクルにおいて無効化処理を行
うために、MRQOK発生回路12が発生するMRQOK信号がオン
になるのを抑止する処理を行う。
信号抑止回路で示す)であり、MRQOK信号をオンにする
サイクルにおいて、自キャッシュメモリの無効化要求が
なされた場合に、前記サイクルにおいて無効化処理を行
うために、MRQOK発生回路12が発生するMRQOK信号がオン
になるのを抑止する処理を行う。
本発明の作用を、(1)キャッシュメモリにヒットし
た場合、(2)キャッシュメモリにミスヒットし、かつ
インバリデーション要求のない場合及び(3)キャッシ
ュメモリにミスし、かつインバリデーション要求のある
場合に分けてそれぞれ説明する。
た場合、(2)キャッシュメモリにミスヒットし、かつ
インバリデーション要求のない場合及び(3)キャッシ
ュメモリにミスし、かつインバリデーション要求のある
場合に分けてそれぞれ説明する。
(1) キャッシュメモリにヒットした場合 キャッシュメモリにヒットする正常動作時では、メモ
リアクセス制御回路10により、2サイクルでメモリアク
セス制御が行われる。
リアクセス制御回路10により、2サイクルでメモリアク
セス制御が行われる。
すなわち、第1サイクルで図示しないメインメモリを
アクセスするアドレスを送出し、第2サイクルで次のア
クセスの第1サイクルとオーバラップしてメインメモリ
からのリードデータ転送を行う。
アクセスするアドレスを送出し、第2サイクルで次のア
クセスの第1サイクルとオーバラップしてメインメモリ
からのリードデータ転送を行う。
第1サイクルで送出したアドレスと該アドレスにより
ディスクトリメモリをアクセスし、得られるヒット情報
とアドレス情報(例えば、ヒットブロック番号情報)と
を第2サイクルの間保持する。
ディスクトリメモリをアクセスし、得られるヒット情報
とアドレス情報(例えば、ヒットブロック番号情報)と
を第2サイクルの間保持する。
ヒット情報がキャッシュメモリに対するヒットを示し
た場合は、第2サイクルで前記保持されたアドレス情報
によりキャッシュメモリ(図示せず)をアクセスして、
所定のデータをリードする。
た場合は、第2サイクルで前記保持されたアドレス情報
によりキャッシュメモリ(図示せず)をアクセスして、
所定のデータをリードする。
以下、各アクセスについて、現アクセスの第2サイク
ル(データ転送ステージ)と次のアクセスの第1サイク
ル(アドレス送出ステージ)とがオーバラップする関係
で、前述の2サイクルのメモリアクセス制御が繰り返さ
れる。
ル(データ転送ステージ)と次のアクセスの第1サイク
ル(アドレス送出ステージ)とがオーバラップする関係
で、前述の2サイクルのメモリアクセス制御が繰り返さ
れる。
(2) キャッシュメモリにミスヒットし、インバリデ
ーション要求がない場合 STINH発生回路11は、第1サイクルで出力されたビッ
ト情報がミスヒットを示した場合に、第2サイクルのス
テージ遷移を抑止するステージ遷移抑止信号STINHを発
生して、図示しないプロセッサが第2サイクルで行うス
テージ処理が遷移しないようにする。
ーション要求がない場合 STINH発生回路11は、第1サイクルで出力されたビッ
ト情報がミスヒットを示した場合に、第2サイクルのス
テージ遷移を抑止するステージ遷移抑止信号STINHを発
生して、図示しないプロセッサが第2サイクルで行うス
テージ処理が遷移しないようにする。
一方、MRQOK発生回路12は、ミスヒット時はMRQOK信号
をオフにして、メモリアクセス制御回路10の以降のメモ
リアクセス制御を中断させる。
をオフにして、メモリアクセス制御回路10の以降のメモ
リアクセス制御を中断させる。
メモリアクセス制御回路10におけるメモリアクセス制
御が中断している間に、プロセッサは、メインメモリよ
り前記アドレス情報によりミスヒットデータを例えばブ
ロック単位でリードする処理が行われる。
御が中断している間に、プロセッサは、メインメモリよ
り前記アドレス情報によりミスヒットデータを例えばブ
ロック単位でリードする処理が行われる。
MRQOK発生回路12は、このリードされた最後のデータ
がキャッシュメモリに到達する直前のサイクルで前記MR
QOK信号をオフからオンにする。
がキャッシュメモリに到達する直前のサイクルで前記MR
QOK信号をオフからオンにする。
STINH停止回路13は、MRQOK発生回路12の発生する前記
MRQOK信号がオフからオンになったことを検出して、STI
NH発生回路11の発生するステージ遷移抑止信号STINHを
停止させる。
MRQOK信号がオフからオンになったことを検出して、STI
NH発生回路11の発生するステージ遷移抑止信号STINHを
停止させる。
これにより、メインメモリからミスヒットデータのブ
ロックリードが終了したサイクルの次のサイクルから直
ちに次のアクセスの第1サイクルの処理が実行される。
ロックリードが終了したサイクルの次のサイクルから直
ちに次のアクセスの第1サイクルの処理が実行される。
このように、キャッシュメモリにミスヒットしたがイ
ンバリデーション要求がない場合は、メインメモリから
ミスヒットデータのリードが終了すると、従来方式のよ
うに次の1サイクルを開けることなく、直ちに次のアク
セスの第1サイクルの処理が実行されるので、無駄なサ
イクルが無くなり、メモリアクセス処理効率を向上させ
ることができる。
ンバリデーション要求がない場合は、メインメモリから
ミスヒットデータのリードが終了すると、従来方式のよ
うに次の1サイクルを開けることなく、直ちに次のアク
セスの第1サイクルの処理が実行されるので、無駄なサ
イクルが無くなり、メモリアクセス処理効率を向上させ
ることができる。
(3) キャッシュメモリにミスヒットし、インバリデ
ーション要求がある場合 キャッシュメモリにミスヒットし、メインメモリから
ミスヒットデータをリードして転送するときにキャッシ
ュメモリに対するインバリデーション要求が発生した場
合、すなわち、MRQOK信号が再びオンになるサイクルに
おいて自キャッシュメモリの無効化要求がなされた場合
は、メモリアクセス制御回路10のMRQOK抑止回路14は、
前記サイクルにおいて無効化処理を行うために、前記MR
QOK発生回路12が発生するMRQOK信号がオンになるのを抑
止する処理を行う。
ーション要求がある場合 キャッシュメモリにミスヒットし、メインメモリから
ミスヒットデータをリードして転送するときにキャッシ
ュメモリに対するインバリデーション要求が発生した場
合、すなわち、MRQOK信号が再びオンになるサイクルに
おいて自キャッシュメモリの無効化要求がなされた場合
は、メモリアクセス制御回路10のMRQOK抑止回路14は、
前記サイクルにおいて無効化処理を行うために、前記MR
QOK発生回路12が発生するMRQOK信号がオンになるのを抑
止する処理を行う。
これにより、メインメモリからミスヒットデータのブ
ロックリードが終了したサイクルの次のサイクルにおい
ては、次のアクセスの第1サイクルの処理が抑止され
て、無効化対象となったキャッシュメモリ領域に関する
インバリデーション処理が行われる。
ロックリードが終了したサイクルの次のサイクルにおい
ては、次のアクセスの第1サイクルの処理が抑止され
て、無効化対象となったキャッシュメモリ領域に関する
インバリデーション処理が行われる。
インバリデーション処理が終了すると、次のサイクル
から次のアクセスに対する処理が正常に実行される。
から次のアクセスに対する処理が正常に実行される。
このように、キャッシュメモリにミスヒットしたが、
インバリデーション要求があった場合にのみ、メインメ
モリからミスヒットデータのブロックリードが終了する
と、従来方式のように次の1サイクルが開けられてイン
バリデーション処理が行われることになる。
インバリデーション要求があった場合にのみ、メインメ
モリからミスヒットデータのブロックリードが終了する
と、従来方式のように次の1サイクルが開けられてイン
バリデーション処理が行われることになる。
なお、DMA転送の場合は連続してインバリデーション
要求が発生する場合があるが、その場合は、インバリデ
ーション要求が連続している間MRQOK発生回路12が発生
するMRQOK信号がオンになるのを抑止する処理が行われ
る。
要求が発生する場合があるが、その場合は、インバリデ
ーション要求が連続している間MRQOK発生回路12が発生
するMRQOK信号がオンになるのを抑止する処理が行われ
る。
これにより、インバリデーション要求数に対応して、
それらのインバリデーション処理を行うサイクルが挿入
されて、連続したインバリデーション要求に対するイン
バリデーション処理が正常に行うことができる。
それらのインバリデーション処理を行うサイクルが挿入
されて、連続したインバリデーション要求に対するイン
バリデーション処理が正常に行うことができる。
以上のように、本発明は、キャッシュメモリにミスヒ
ット時には、インバリデーション要求が発生したときの
みミスヒットデータのデータ転送終了後、1サイクル遅
れてステージ処理を再開させるようにしたので、インバ
リデーション要求のないときは無駄なサイクルが無くな
って、メモリアクセス処理効率を向上させることができ
る。
ット時には、インバリデーション要求が発生したときの
みミスヒットデータのデータ転送終了後、1サイクル遅
れてステージ処理を再開させるようにしたので、インバ
リデーション要求のないときは無駄なサイクルが無くな
って、メモリアクセス処理効率を向上させることができ
る。
また、インバリデーション要求個数に対応するサイク
ル個数だけ遅れてステージ処理を再開させるようにした
ので、連続してインバリデーション要求が発生しても、
これらのインバリデーション処理を正常に処理できると
ともに、中断された各アクセス要求に対するステージ処
理を正常に再開させることができる。
ル個数だけ遅れてステージ処理を再開させるようにした
ので、連続してインバリデーション要求が発生しても、
これらのインバリデーション処理を正常に処理できると
ともに、中断された各アクセス要求に対するステージ処
理を正常に再開させることができる。
本発明の一実施例を、第2図乃至第6図を参照して説
明する。第2図は本発明の一実施例のメモリアクセス制
御回路が使用されるメモリアクセス制御システムの構成
の説明図、第3図は本発明の一実施例の構成の説明図、
第4図は同実施例のインバリデーション要求がないとき
の動作タイミングチャート、第5図は同実施例のインバ
リデーション要求があったときの動作タイミングチャー
トである。第6図のステージ遷移説明図については先に
説明したとおりである。
明する。第2図は本発明の一実施例のメモリアクセス制
御回路が使用されるメモリアクセス制御システムの構成
の説明図、第3図は本発明の一実施例の構成の説明図、
第4図は同実施例のインバリデーション要求がないとき
の動作タイミングチャート、第5図は同実施例のインバ
リデーション要求があったときの動作タイミングチャー
トである。第6図のステージ遷移説明図については先に
説明したとおりである。
(A)実施例の構成 第2図において、メモリアクセス制御回路10を除いた
他の構成は、第7図で説明した従来のメモリアクセス制
御システムの構成と共通するので、共通する構成要求部
分には同じ符号を付して説明する。
他の構成は、第7図で説明した従来のメモリアクセス制
御システムの構成と共通するので、共通する構成要求部
分には同じ符号を付して説明する。
すなわち、21はメインメモリインタフェースコントロ
ーラ(MMインタフェースコントローラ)であり、図示し
ないメインメモリとメモリアクセス制御回路とのインタ
フェース制御を行う。211はMMインタフェースコントロ
ーラ21に設けられた監視ディレクトリであり、自己のキ
ャッシュのディレクトリに登録されているメインメモリ
領域への、他のプロセッサ又はDMA(直接記憶アクセ
ス)によるライトを監視する。
ーラ(MMインタフェースコントローラ)であり、図示し
ないメインメモリとメモリアクセス制御回路とのインタ
フェース制御を行う。211はMMインタフェースコントロ
ーラ21に設けられた監視ディレクトリであり、自己のキ
ャッシュのディレクトリに登録されているメインメモリ
領域への、他のプロセッサ又はDMA(直接記憶アクセ
ス)によるライトを監視する。
MABはMMインタフェースコントローラ21とメインメモ
リ間のアドレスバスであり、MADはMMインタフェースコ
ントローラ21とメインメモリ間のデータバスである。
リ間のアドレスバスであり、MADはMMインタフェースコ
ントローラ21とメインメモリ間のデータバスである。
22はディレクトリメモリであり、キャッシュメモリに
登録されているデータのアドレス情報やそのデータが有
効か無効か指示する情報が登録される。
登録されているデータのアドレス情報やそのデータが有
効か無効か指示する情報が登録される。
HITは、キャッシュメモリ24にヒットしたことを指示
するヒット信号であり、ヒットしたときは1を指示し、
ミスヒットしたときは0を指示する。
するヒット信号であり、ヒットしたときは1を指示し、
ミスヒットしたときは0を指示する。
23はヒット番号保持レジスタ(HITレジスタで示す)
であり、第1サイクルでディレクトリメモリ22から読み
出されたヒット情報が格納される。
であり、第1サイクルでディレクトリメモリ22から読み
出されたヒット情報が格納される。
24はキャッシュメモリであり、バイポーラトランジス
タ等の高速メモリ素子で構成され、アクセスされたメイ
ンメモリのデータが一時登録される。
タ等の高速メモリ素子で構成され、アクセスされたメイ
ンメモリのデータが一時登録される。
25はキャッシュアドレス保持レジスタ(CMAレジス
タ)であり、第1サイクルで送出されたキャッシュメモ
リ24をアクセスするアドレスを格納して、次の第2サイ
クルまで保持する。
タ)であり、第1サイクルで送出されたキャッシュメモ
リ24をアクセスするアドレスを格納して、次の第2サイ
クルまで保持する。
26はプロセッサであり、各サイクルにおけるステージ
処理を実行するとともに、システム全体の動作を制御す
る。
処理を実行するとともに、システム全体の動作を制御す
る。
261はプロセッサ26に設けられたアドレスレジスタで
あり、メインメモリ、ディレクトリメモリ22、キャッシ
ュメモリ24をアクセスするアドレスが格納される。
あり、メインメモリ、ディレクトリメモリ22、キャッシ
ュメモリ24をアクセスするアドレスが格納される。
262はプロセッサ26に設けられたデータレジスタであ
り、キャッシュメモリ24又はメインメモリから読み出さ
れたデータが格納される。
り、キャッシュメモリ24又はメインメモリから読み出さ
れたデータが格納される。
ABはMMインタフェースコントローラ21とプロセッサ26
間のアドレスバスであり、CBは各種制御信号が転送され
る制御信号バスであり、DBはMMインタフェースコントロ
ーラ21とプロセッサ26間のデータを転送するデータバス
である。
間のアドレスバスであり、CBは各種制御信号が転送され
る制御信号バスであり、DBはMMインタフェースコントロ
ーラ21とプロセッサ26間のデータを転送するデータバス
である。
INVLは、キャッシュメモリ24に登録されているデータ
を無効化するインバリデーション信号であり、このイン
バリデーション信号を受けると、ディレクトリメモリ22
にある無効化対象データ領域に対応する領域に無効フラ
グ(図示せず)が立てられる。
を無効化するインバリデーション信号であり、このイン
バリデーション信号を受けると、ディレクトリメモリ22
にある無効化対象データ領域に対応する領域に無効フラ
グ(図示せず)が立てられる。
メモリアクセス制御回路10は、MMインタフェースコン
トローラ21内に設けられ、プロセッサ26からの指令を受
けて、メインメモリに対するメモリアクセス制御を行
う。メモリアクセス制御回路10の動作はクロックCLK0に
同期して行われるが、このクロックCLK0はシステムクロ
ックSCLKに同期して発生される。
トローラ21内に設けられ、プロセッサ26からの指令を受
けて、メインメモリに対するメモリアクセス制御を行
う。メモリアクセス制御回路10の動作はクロックCLK0に
同期して行われるが、このクロックCLK0はシステムクロ
ックSCLKに同期して発生される。
また、このメモリアクセス制御回路10の発生する各種
制御信号は、第8図及び第9図の従来のメモリアクセス
制御回路の動作タイミングチャートで説明したものと同
じであるが、次のメモリアクセス制御回路の一実施例の
構成の項においても、必要に応じて適宜説明する。
制御信号は、第8図及び第9図の従来のメモリアクセス
制御回路の動作タイミングチャートで説明したものと同
じであるが、次のメモリアクセス制御回路の一実施例の
構成の項においても、必要に応じて適宜説明する。
次に、第3図を参照して、本発明のメモリアクセス制
御回路の1実施例の構成について説明する。
御回路の1実施例の構成について説明する。
第3図において、STINH発生回路11、MRQOK発生回路1
2、STINH停止回路13、MRQOK抑止回路14については、第
1図で説明したとおりである。
2、STINH停止回路13、MRQOK抑止回路14については、第
1図で説明したとおりである。
STINH発生回路11は、AND回路111及びJKフリップフロ
ップ(以下、JKFFで示す)112で構成される。AND回路11
1には、後で説明する第1ステージ信号STG1*とHITD信
号とSTGIV信号のアンド出力を入力し、そのアンド出力
をJKFF112のJ端子に入力する。
ップ(以下、JKFFで示す)112で構成される。AND回路11
1には、後で説明する第1ステージ信号STG1*とHITD信
号とSTGIV信号のアンド出力を入力し、そのアンド出力
をJKFF112のJ端子に入力する。
JKFF112はシステムクロックに同期したクロックCLK0
に同期して動作し、そのK端子には、MRQOK抑止回路14
からのMRQOK停止信号が入力され、出力端子Qからはス
テージ遷移抑止信号STINHが発生され、反転出力端子
からは反転されたステージ遷移抑止信号*STINHが発生
される。
に同期して動作し、そのK端子には、MRQOK抑止回路14
からのMRQOK停止信号が入力され、出力端子Qからはス
テージ遷移抑止信号STINHが発生され、反転出力端子
からは反転されたステージ遷移抑止信号*STINHが発生
される。
MRQOK発生回路12は、インバータ121、AND回路122及び
JKFF123で構成される。AND回路122には、インバータ121
で反転されたヒット信号HITと第1ステージ信号STG1が
入力され、そのアンド出力はJKFF123のJ端子に入力さ
れる。
JKFF123で構成される。AND回路122には、インバータ121
で反転されたヒット信号HITと第1ステージ信号STG1が
入力され、そのアンド出力はJKFF123のJ端子に入力さ
れる。
JKFF123は後で説明するクロックCLK1に同期して動作
し、そのK端子には2番目のブロックリードを指示する
ブロックリード信号BLKRD2が入力され、その反転出力端
子にはMRQOK0信号が発生される。MRQOK0信号は、K端
子のブロックリード信号BLKRD2が1(オン)になったと
きに1(オン)になり、J端子の入力が1(オン)にな
ったときに0(オフ)になる。
し、そのK端子には2番目のブロックリードを指示する
ブロックリード信号BLKRD2が入力され、その反転出力端
子にはMRQOK0信号が発生される。MRQOK0信号は、K端
子のブロックリード信号BLKRD2が1(オン)になったと
きに1(オン)になり、J端子の入力が1(オン)にな
ったときに0(オフ)になる。
STINH停止回路13は、Dフリップフロップ(以下、DFF
で示す)131及びAND回路132で構成される。
で示す)131及びAND回路132で構成される。
DFF131のD端子には、メモリアクセス要求許可信号MR
QOKが入力される。AND回路132には、DFF131の反転出力
端子の出力とメモリアクセス要求許可信号MRQOKが入
力され、そのアンド出力がSTINH発生回路112のK入力へ
入力される。この構成により、STINH停止回路13は、MRQ
OK抑止回路14からのMRQOK信号がオフからオンになった
のを検出してステージ遷移抑止停止信号(以下、STINH
停止信号で示す)を発生する。
QOKが入力される。AND回路132には、DFF131の反転出力
端子の出力とメモリアクセス要求許可信号MRQOKが入
力され、そのアンド出力がSTINH発生回路112のK入力へ
入力される。この構成により、STINH停止回路13は、MRQ
OK抑止回路14からのMRQOK信号がオフからオンになった
のを検出してステージ遷移抑止停止信号(以下、STINH
停止信号で示す)を発生する。
MRQOK抑止回路14はインバータ141及びAND回路142で構
成される。AND回路142には、MRQOK発生回路12のJKFF123
からのMRQOK0信号とインバータ141で反転されたインバ
リデーション要求信号PINVが入力され、インバリデーシ
ョン要求信号PINVが0(オフ)のとき開いて、MRQOK信
号が出力される。
成される。AND回路142には、MRQOK発生回路12のJKFF123
からのMRQOK0信号とインバータ141で反転されたインバ
リデーション要求信号PINVが入力され、インバリデーシ
ョン要求信号PINVが0(オフ)のとき開いて、MRQOK信
号が出力される。
次に、15はステージ信号発生回路であり、アンド・オ
ア回路151、DFF152、AND回路153、DFF154、AND回路155
及びDFF156で構成される。
ア回路151、DFF152、AND回路153、DFF154、AND回路155
及びDFF156で構成される。
アンド・オア回路151は、AND回路151a、151b及びオア
回路151cで構成される。AND回路151aには、MRQOK抑止回
路14からのMRQOK信号とSTINH発生回路11からの反転ステ
ージ遷移抑止信号*STINHが入力され、AND回路152bに
は、STINH発生回路11からのステージ遷移抑止信号STINH
とDFF152からの第1ステージ信号STG1が入力される。オ
ア回路151cは、アンド回路151a及び151bからの各アンド
出力が入力される。
回路151cで構成される。AND回路151aには、MRQOK抑止回
路14からのMRQOK信号とSTINH発生回路11からの反転ステ
ージ遷移抑止信号*STINHが入力され、AND回路152bに
は、STINH発生回路11からのステージ遷移抑止信号STINH
とDFF152からの第1ステージ信号STG1が入力される。オ
ア回路151cは、アンド回路151a及び151bからの各アンド
出力が入力される。
DFF152はクロックCLK1に同期して動作し、そのD端子
には、アンド・オア回路151のオア回路151cのオア出力
が入力され、その出力端子Qからは第1ステージ信号ST
G1が発生される。
には、アンド・オア回路151のオア回路151cのオア出力
が入力され、その出力端子Qからは第1ステージ信号ST
G1が発生される。
AND回路153には、DFF152からのQ端子出力STG1とSTIN
H発生回路11からの反転ステージ遷移抑止信号*STINHが
入力される。
H発生回路11からの反転ステージ遷移抑止信号*STINHが
入力される。
DFF154はクロックCLK1に同期して動作し、そのD端子
には、AND回路153のアンド出力が入力され、その出力端
子Qからは第2ステージ信号STG2が発生される。
には、AND回路153のアンド出力が入力され、その出力端
子Qからは第2ステージ信号STG2が発生される。
AND回路155には、DFF152からの第1ステージ信号STG1
とSTINH発生回路11からの反転ステージ遷移抑止信号*S
TINHが入力される。
とSTINH発生回路11からの反転ステージ遷移抑止信号*S
TINHが入力される。
DFF156はクロックCLK0に同期して動作し、そのD端子
には、AND回路155のアンド出力が入力され、その出力端
子Qからは第1ステージ有効信号STG1Vを発生する。
には、AND回路155のアンド出力が入力され、その出力端
子Qからは第1ステージ有効信号STG1Vを発生する。
16はHITD発生回路であり、DFF161及びAND回路162で構
成される。
成される。
DFF161はクロックCLK1に同期して動作し、そのD端子
にはヒット信号HITが入力され、その反転出力端子か
らは、ヒット信号HITをクロックCLK1の1サイクル分遅
延した遅延ヒット信号HITDの反転信号である反転遅延ヒ
ット信号*HITDが発生される。
にはヒット信号HITが入力され、その反転出力端子か
らは、ヒット信号HITをクロックCLK1の1サイクル分遅
延した遅延ヒット信号HITDの反転信号である反転遅延ヒ
ット信号*HITDが発生される。
AND回路162には、DFF161からの反転遅延ヒット信号*
HITDとDFF156からの第1ステージ有効信号STG1Vが入力
され、反転遅延ヒット信号*HITD及び第1ステージ有効
信号STG1Vがいずれもオンのときに、反転遅延ヒット信
号*HITDVを出力する。
HITDとDFF156からの第1ステージ有効信号STG1Vが入力
され、反転遅延ヒット信号*HITD及び第1ステージ有効
信号STG1Vがいずれもオンのときに、反転遅延ヒット信
号*HITDVを出力する。
17はクロック抑止発生回路であり、インバータ171、A
ND回路172及びJKFF173で構成される。
ND回路172及びJKFF173で構成される。
AND回路171には、インバータ171で反転されたヒット
信号*HITと、STINH発生回路11からの反転ステージ遷移
抑止信号*STINHと、DFF152からの第1ステージ信号STG
1とが入力され、そのアンド出力はJKFF173のJ端子に入
力される。
信号*HITと、STINH発生回路11からの反転ステージ遷移
抑止信号*STINHと、DFF152からの第1ステージ信号STG
1とが入力され、そのアンド出力はJKFF173のJ端子に入
力される。
JKFF173はクロックCLK0に同期して動作し、そのK端
子にはスタート信号STARTが入力され、その反転出力端
子*Qからは、クロック抑止信号CLKSPの反転信号であ
る反転クロック抑止信号*CLKSPが出力される。
子にはスタート信号STARTが入力され、その反転出力端
子*Qからは、クロック抑止信号CLKSPの反転信号であ
る反転クロック抑止信号*CLKSPが出力される。
18はクロック発生制御回路であり、AND回路181で構成
され、クロックCLK1の発生を制御する。すなわち、AND
回路181には、クロック抑止発生回路17のJKFF173からの
反転クロック抑止信号*CLKSPとクロックCLK0が入力さ
れ、反転クロック抑止信号*CLKSPが1(オン)のと
き、すなわちクロック抑止信号CLKSPがオフである正常
動作時に、クロックCLK0をクロックCLK1として出力す
る。
され、クロックCLK1の発生を制御する。すなわち、AND
回路181には、クロック抑止発生回路17のJKFF173からの
反転クロック抑止信号*CLKSPとクロックCLK0が入力さ
れ、反転クロック抑止信号*CLKSPが1(オン)のと
き、すなわちクロック抑止信号CLKSPがオフである正常
動作時に、クロックCLK0をクロックCLK1として出力す
る。
以上説明したメモリアクセス制御回路10の動作につい
ては、次の実施例の動作説明の項で説明する。
ては、次の実施例の動作説明の項で説明する。
(B)実施例の動作 実施例の動作を、第4図及び第5図の動作タイミング
チャート並びに第6図のステージ遷移図を参照して説明
する。
チャート並びに第6図のステージ遷移図を参照して説明
する。
本発明の実施例においても、第6図に示すステージ遷
移に従って2サイクルのメモリアクセス制御が行われる
が、第6図については、先に説明したとおりである。
移に従って2サイクルのメモリアクセス制御が行われる
が、第6図については、先に説明したとおりである。
先ず第4図の動作タイミングチャートを参照して、前
記(1)〜(3)に共通なメモリアクセス制御動作につ
いて説明する。第4図において、クロックCLK1はクロッ
ク発生回路18によって、図示しないクロックCLK0に同期
して発生される。τ1,τ2等は、クロックCLK0の各サイ
クルを示す(第4図(a))。クロックCLK0は、前述の
ようにシステムクロックSCLKに同期して発生するクロッ
クであり、メモリアクセス制御回路10内で行われる各動
作のタイミングを規定する。
記(1)〜(3)に共通なメモリアクセス制御動作につ
いて説明する。第4図において、クロックCLK1はクロッ
ク発生回路18によって、図示しないクロックCLK0に同期
して発生される。τ1,τ2等は、クロックCLK0の各サイ
クルを示す(第4図(a))。クロックCLK0は、前述の
ようにシステムクロックSCLKに同期して発生するクロッ
クであり、メモリアクセス制御回路10内で行われる各動
作のタイミングを規定する。
プロセッサ26は、図示しないメインメモリに対するア
クセスを行う場合は、第6図に示したメモリリクエスト
ステージにおいて、メモリアクセス要求信号MRQを送出
する(第4図(b))。いま、クロックCLK0のサイクル
τ1,τ2及びτ3において連続してメモリアクセス要求
MRQが発生し、これを図示のように、メモリアクセス要
求信号MRQ,MRQ及びMRQとする(第4図(b))。
クセスを行う場合は、第6図に示したメモリリクエスト
ステージにおいて、メモリアクセス要求信号MRQを送出
する(第4図(b))。いま、クロックCLK0のサイクル
τ1,τ2及びτ3において連続してメモリアクセス要求
MRQが発生し、これを図示のように、メモリアクセス要
求信号MRQ,MRQ及びMRQとする(第4図(b))。
τ1サイクルで発行された最初のメモリアクセス要求
信号MRQに対し、同じτ1サイクルにおいて、メモリ
アクセス要求を許可するメモリアクセス要求許可信号MR
QOK(MRQOK信号で示す)が受信されて、メモリアクセス
制御回路に通知される(第4図(c))。
信号MRQに対し、同じτ1サイクルにおいて、メモリ
アクセス要求を許可するメモリアクセス要求許可信号MR
QOK(MRQOK信号で示す)が受信されて、メモリアクセス
制御回路に通知される(第4図(c))。
メモリアクセス制御回路10のDFF152は、このMRQOK信
号を受けると、クロックCLK1に同期して次のサイクルτ
2において第1ステージ信号STG1(STG1で示す)を発
生し、制御信号バスCBを介してプロセッサ26に送る(第
4図(d)の)。
号を受けると、クロックCLK1に同期して次のサイクルτ
2において第1ステージ信号STG1(STG1で示す)を発
生し、制御信号バスCBを介してプロセッサ26に送る(第
4図(d)の)。
この第1ステージ信号STG1を受けると、プロセッサ
26は、第2サイクルτ2において第1ステージの処理を
行い、アドレスレジスタ251にあるメインメモリをアク
セスするアドレスをアドレスバスABを介して送出し(第
4図(f)の)、更に、キャッシュメモリに対するヒ
ット判定を行う。
26は、第2サイクルτ2において第1ステージの処理を
行い、アドレスレジスタ251にあるメインメモリをアク
セスするアドレスをアドレスバスABを介して送出し(第
4図(f)の)、更に、キャッシュメモリに対するヒ
ット判定を行う。
すなわち、プロセッサ26の送出したアドレスは、先ず
ディレクトリメモリ22をアクセスする。アクセスするア
ドレスに対応するアドレスがディレクトリメモリ22にあ
ると、ヒット信号HITが1になり、キャッシュメモリに
ヒットしたことが指示される。もし、アクセスするアド
レスに対応するアドレスがディレクトリメモリ22にない
と、ヒット信号HITが0になり、キャッシュメモリにミ
スヒットしたことが指示される。
ディレクトリメモリ22をアクセスする。アクセスするア
ドレスに対応するアドレスがディレクトリメモリ22にあ
ると、ヒット信号HITが1になり、キャッシュメモリに
ヒットしたことが指示される。もし、アクセスするアド
レスに対応するアドレスがディレクトリメモリ22にない
と、ヒット信号HITが0になり、キャッシュメモリにミ
スヒットしたことが指示される。
このヒット信号HITは、MMインタフェースコントロー
ラ21を介してメモリアクセス制御回路10に送られる。
ラ21を介してメモリアクセス制御回路10に送られる。
また、キャッシュメモリのヒット情報がHITレジスタ2
3に格納される。HITレジスタ23にあるヒット情報はキャ
ッシュメモリ24に送られ、ヒット信号HITが1(キャッ
シュメモリにヒット)のときは、ヒットしたディレクト
リメモリ22のブロック番号に対応するキャッシュメモリ
24の領域が選択される。
3に格納される。HITレジスタ23にあるヒット情報はキャ
ッシュメモリ24に送られ、ヒット信号HITが1(キャッ
シュメモリにヒット)のときは、ヒットしたディレクト
リメモリ22のブロック番号に対応するキャッシュメモリ
24の領域が選択される。
以下、実施例の動作を、(1)キャッシュメモリにヒ
ットした場合、(2)キャッシュメモリにミスヒット
し、かつインバリデーション要求のない場合及び(3)
キャッシュメモリにミスし、かつインバリデーション要
求のある場合に分けて説明する。
ットした場合、(2)キャッシュメモリにミスヒット
し、かつインバリデーション要求のない場合及び(3)
キャッシュメモリにミスし、かつインバリデーション要
求のある場合に分けて説明する。
(1) キャッシュメモリにヒットした場合 キャッシュメモリにヒットした正常動作時では、メモ
リアクセス制御回路10により、2サイクルでメモリアク
セス制御が行われる。
リアクセス制御回路10により、2サイクルでメモリアク
セス制御が行われる。
キャッシュメモリ24にヒットした場合、すなわちヒッ
ト信号HITが1のときは、メモリアクセス制御回路10のD
FF154は、クロックCLK1に同期して次のサイクルτ3に
おいて第2ステージ信号STG2(STG1で示す)を発生
し、プロセッサ26に送る(第4図(e)の)。
ト信号HITが1のときは、メモリアクセス制御回路10のD
FF154は、クロックCLK1に同期して次のサイクルτ3に
おいて第2ステージ信号STG2(STG1で示す)を発生
し、プロセッサ26に送る(第4図(e)の)。
この第1ステージ信号STG1を受けると、プロセッサ
26は、第2サイクルτ3において第2ステージの処理を
行い、キャッシュメモリ24にヒットしたデータを読み出
し、データバスDBを介してデータレジスタ262に転送す
る。
26は、第2サイクルτ3において第2ステージの処理を
行い、キャッシュメモリ24にヒットしたデータを読み出
し、データバスDBを介してデータレジスタ262に転送す
る。
一方、このサイクルτ3においては、最初のメモリア
クセス要求信号MRQに対する第2サイクル(第2ステ
ージ)の処理とオーバーラップして、次のメモリアクセ
ス要求信号MRQに対する第1サイクル(第1ステー
ジ)の処理が行われる(第4図(d)のSTG1及び
(e)のSTG2参照)。
クセス要求信号MRQに対する第2サイクル(第2ステ
ージ)の処理とオーバーラップして、次のメモリアクセ
ス要求信号MRQに対する第1サイクル(第1ステー
ジ)の処理が行われる(第4図(d)のSTG1及び
(e)のSTG2参照)。
次のメモリアクセス要求信号MRQの第1サイクル
(第4図(d)のτ3サイクルの第1ステージSTG1)
において、キャッシュメモリ24にヒットすると、続くτ
4サイクルにおいて、メモリアクセス要求信号MRQの
第2サイクル、すなわち、第2ステージSTG2の処理が
実行される。
(第4図(d)のτ3サイクルの第1ステージSTG1)
において、キャッシュメモリ24にヒットすると、続くτ
4サイクルにおいて、メモリアクセス要求信号MRQの
第2サイクル、すなわち、第2ステージSTG2の処理が
実行される。
以下同様にして、キャッシュメモリにヒットした場合
は、各メモリアクセス要求信号MRQに対する、第1ステ
ージSTG1及び第2ステージSTG2の各処理が連続して実行
される(図示せず)。
は、各メモリアクセス要求信号MRQに対する、第1ステ
ージSTG1及び第2ステージSTG2の各処理が連続して実行
される(図示せず)。
(2) キャッシュメモリにミスヒットし、かつインバ
リデーションがない場合 いま、τ2で行われたメモリアクセス要求信号MRQ
の第1ステージSTG1の処理において、プロセッサ26か
ら送出されたアドレスがキャッシュメモリ24にミスヒッ
トしたとすると、ヒット信号HITは、サイクルτ2にお
いて0となり(第4図(m))、HITレジスタ23に格納
される。
リデーションがない場合 いま、τ2で行われたメモリアクセス要求信号MRQ
の第1ステージSTG1の処理において、プロセッサ26か
ら送出されたアドレスがキャッシュメモリ24にミスヒッ
トしたとすると、ヒット信号HITは、サイクルτ2にお
いて0となり(第4図(m))、HITレジスタ23に格納
される。
メモリアクセス制御回路10のクロック抑止発生回路17
は、ヒット信号HITが0(ミスヒット)のときは、τ3
サイクルにおいてDFF173よりクロック抑止信号*CLKSP
(CLKSPの反転信号)を発生する。
は、ヒット信号HITが0(ミスヒット)のときは、τ3
サイクルにおいてDFF173よりクロック抑止信号*CLKSP
(CLKSPの反転信号)を発生する。
一方、STINH発生回路11は、ヒット信号HITが0(ミス
ヒット)で、かつ、連続するメモリアクセス要求信号MR
Qの第1ステージSTG1がオンであるときは(第4図
(d)のτ3サイクル)、JKFF112の出力するステージ
遷移抑止信号STINHをτ4サイクル以降オンにする(第
4図(p))。
ヒット)で、かつ、連続するメモリアクセス要求信号MR
Qの第1ステージSTG1がオンであるときは(第4図
(d)のτ3サイクル)、JKFF112の出力するステージ
遷移抑止信号STINHをτ4サイクル以降オンにする(第
4図(p))。
これにより、メモリアクセス制御回路10のDFF152から
発生されるメモリアクセス要求信号MRQの第1ステー
ジ信号STG1の値は、τ3サイクル以降は連続して値1
を保持するようになり(第4図(d))、DFF152から発
生されるメモリアクセス要求信号MRQの第2ステージ
信号STG2は、τ3サイクル以降は連続して値1を保持
するようになり(第4図(e))。
発生されるメモリアクセス要求信号MRQの第1ステー
ジ信号STG1の値は、τ3サイクル以降は連続して値1
を保持するようになり(第4図(d))、DFF152から発
生されるメモリアクセス要求信号MRQの第2ステージ
信号STG2は、τ3サイクル以降は連続して値1を保持
するようになり(第4図(e))。
また、前述のようにτ3サイクルにおいてDFF173の発
生する反転クロック抑止信号*CLKSPがオフ(クロック
抑止信号CLKSPはオン)になると、クロック発生回路18
はτ4以降のクロックCLK1の発生を抑止されて、τ4サ
イクル以降のメモリアクセス制御回路10の制御動作は、
一時中断される(第4図(r)及び(a))。
生する反転クロック抑止信号*CLKSPがオフ(クロック
抑止信号CLKSPはオン)になると、クロック発生回路18
はτ4以降のクロックCLK1の発生を抑止されて、τ4サ
イクル以降のメモリアクセス制御回路10の制御動作は、
一時中断される(第4図(r)及び(a))。
キャッシュメモリ24にミスヒットしたことにより、メ
モリアクセス制御回路10の制御動作が一時中断している
間に、MMインタフェースコントローラ21は、図示しない
メインメモリから、ミスヒットしたデータをリードし、
データバスDBを経由してプロセッサ26に転送するととも
に、キャッシュメモリ24にこのリードデータを登録し、
そのアドレス等のタグ情報をディレクトリメモリ21に登
録する処理を行う。このデータ転送処理は、τ4〜τ6
サイクルの間でおこなわれる。
モリアクセス制御回路10の制御動作が一時中断している
間に、MMインタフェースコントローラ21は、図示しない
メインメモリから、ミスヒットしたデータをリードし、
データバスDBを経由してプロセッサ26に転送するととも
に、キャッシュメモリ24にこのリードデータを登録し、
そのアドレス等のタグ情報をディレクトリメモリ21に登
録する処理を行う。このデータ転送処理は、τ4〜τ6
サイクルの間でおこなわれる。
メインメモリからのデータリードは、ブロック単位で
行われ、メモリアクセス要求信号MRQに対するミスヒ
ットしたデータを含む複数ワード(図ではD−1〜D
−4のワード)がリードされて、プロセッサ26及びキ
ャッシュメモリ24に転送される(第4図(g))。各ブ
ロック単位のデータがリードされるときは、MMインタフ
ェースコントローラ21からブロックリード信号BLKRD1〜
BLKRD4がメモリアクセス制御回路10に送出されるが、第
4図(h)及び(i)には、ブロックリード信号BLKRD2
及びBLKRD3が示されている。
行われ、メモリアクセス要求信号MRQに対するミスヒ
ットしたデータを含む複数ワード(図ではD−1〜D
−4のワード)がリードされて、プロセッサ26及びキ
ャッシュメモリ24に転送される(第4図(g))。各ブ
ロック単位のデータがリードされるときは、MMインタフ
ェースコントローラ21からブロックリード信号BLKRD1〜
BLKRD4がメモリアクセス制御回路10に送出されるが、第
4図(h)及び(i)には、ブロックリード信号BLKRD2
及びBLKRD3が示されている。
最初のデータD−1が転送された時点でプロセッサ
26は次の処理に移れるので、メモリアクセス制御回路10
のクロックCLKの抑止を止め、その制御を再開させてよ
い。そこで、MMインタフェースコントローラ21は、スタ
ート信号STARTを1(オン)にする(第4図(s)のτ
7)。
26は次の処理に移れるので、メモリアクセス制御回路10
のクロックCLKの抑止を止め、その制御を再開させてよ
い。そこで、MMインタフェースコントローラ21は、スタ
ート信号STARTを1(オン)にする(第4図(s)のτ
7)。
クロック抑止発生回路17のJKFF173は、スタート信号S
TARTが1になると、次のτ8サイクルで反転クロック抑
止信号*CLKSPをオン(クロック抑止信号CLKSPをオフ)
にする。
TARTが1になると、次のτ8サイクルで反転クロック抑
止信号*CLKSPをオン(クロック抑止信号CLKSPをオフ)
にする。
反転クロック抑止信号*CLKSPがオンになると、クロ
ック発生回路18は、クロックCLK0に同期してクロックCL
K1の発生を再開させる(第4図(a)及び(r)のτ8
サイクル)。
ック発生回路18は、クロックCLK0に同期してクロックCL
K1の発生を再開させる(第4図(a)及び(r)のτ8
サイクル)。
本実施例では、本発明の主旨に従い、インバリデーシ
ョンのないときは、ミスヒットデータの転送が終了した
時点、すなわちデータD−4が転送された時点(τ11
サイクルの終了時点)で、ステージ遷移抑止を停止し
て、次のτ12サイクルからステージ遷移を開始する。
ョンのないときは、ミスヒットデータの転送が終了した
時点、すなわちデータD−4が転送された時点(τ11
サイクルの終了時点)で、ステージ遷移抑止を停止し
て、次のτ12サイクルからステージ遷移を開始する。
すなわち、τ9サイクルにおいてブロック2に対する
ブロックリード信号BLKRD2が1(オン)になるとMRQOK
発生回路12のJKFF123はMRQOK信号を0から1(オフから
オン)にする。インバリデーション要求のない時、イン
バリデーション要求信号PINVは0であるので、MRQOK抑
止回路14はMRQOK信号を抑止することなく、JKFF123から
のMRQOK信号をそのまま出力して、オフからオンにする
(第4図(b)のτ10サイクル)。
ブロックリード信号BLKRD2が1(オン)になるとMRQOK
発生回路12のJKFF123はMRQOK信号を0から1(オフから
オン)にする。インバリデーション要求のない時、イン
バリデーション要求信号PINVは0であるので、MRQOK抑
止回路14はMRQOK信号を抑止することなく、JKFF123から
のMRQOK信号をそのまま出力して、オフからオンにする
(第4図(b)のτ10サイクル)。
STINH停止回路13は、MRQOK抑止回路14からのMRQOK信
号がオフからオンになったのを検出して、STINH停止信
号を発生し、JKFF112のK端子に入力する。
号がオフからオンになったのを検出して、STINH停止信
号を発生し、JKFF112のK端子に入力する。
STINH発生回路112は、このSTINH停止信号を受ける
と、ステージ遷移抑止信号STINHをオフ(*STINHはオ
ン)にする(第4図(p)のτ11サイクル)。
と、ステージ遷移抑止信号STINHをオフ(*STINHはオ
ン)にする(第4図(p)のτ11サイクル)。
これにより、メモリアクセス要求信号MRQに関する
ステージ処理である第1ステージSTG1はτ11サイクル
までオン状態を維持し続け、キャッシュメモリ24に対す
るヒット判定が可能になったτ11で有効なヒット判定が
行われ、τ12サイクルにおいて第2ステージSTG2が正
常に実行される(第4図(d),(e),(m))。
ステージ処理である第1ステージSTG1はτ11サイクル
までオン状態を維持し続け、キャッシュメモリ24に対す
るヒット判定が可能になったτ11で有効なヒット判定が
行われ、τ12サイクルにおいて第2ステージSTG2が正
常に実行される(第4図(d),(e),(m))。
τ12サイクルでは、前述のτ3サイクルの場合と同様
に、メモリアクセス要求信号MRQに対する第2サイク
ルの処理(第2ステージSTG2)と次のメモリアクセス
要求信号MRQの第1サイクルの処理(第1ステージSTG
1)とが並行して行われる(第4図(d),(e),
(m),(n))。
に、メモリアクセス要求信号MRQに対する第2サイク
ルの処理(第2ステージSTG2)と次のメモリアクセス
要求信号MRQの第1サイクルの処理(第1ステージSTG
1)とが並行して行われる(第4図(d),(e),
(m),(n))。
以上のようにして、キャッシュメモリにミスヒット
し、かつインバリデーション要求がない場合は、ミスヒ
ットしたデータに対するデータ転送が終了したτ11サイ
クルの次のτ12サイクルから、直ちに中断していた各ス
テージ処理が再開される。
し、かつインバリデーション要求がない場合は、ミスヒ
ットしたデータに対するデータ転送が終了したτ11サイ
クルの次のτ12サイクルから、直ちに中断していた各ス
テージ処理が再開される。
(3) キャッシュメモリにミスヒットし、かつインバ
リデーション要求がある場合 キャッシュメモリにミスヒットし、かつインバリデー
ション要求がある場合のメモリアクセス制御を、第5図
を参照して説明する。
リデーション要求がある場合 キャッシュメモリにミスヒットし、かつインバリデー
ション要求がある場合のメモリアクセス制御を、第5図
を参照して説明する。
第5図は、第4図と同じく動作タイミングチャートを
示したもので、(a)CLK〜(s)STARTの各記号の意味
及びτ9サイクルまでの動作内容は、第4図の動作内容
と同じである。
示したもので、(a)CLK〜(s)STARTの各記号の意味
及びτ9サイクルまでの動作内容は、第4図の動作内容
と同じである。
また、(k)のINVLは、先に説明したように、キャッ
シュメモリ24に登録されているデータを無効化するイン
バリデーション信号であり、このインバリデーション信
号を受けると、ディレクトリメモリ22にある無効化対象
データ領域に対応する領域に無効フラグ(図示せず)が
立てられる。
シュメモリ24に登録されているデータを無効化するイン
バリデーション信号であり、このインバリデーション信
号を受けると、ディレクトリメモリ22にある無効化対象
データ領域に対応する領域に無効フラグ(図示せず)が
立てられる。
もし、メモリアクセス要求信号MRQについてのデー
タ転送が行われるτ11サイクルの前に、他プロセッサ又
はDMAにより自己のキャッシュメモリ24のディレクトリ
メモリ22に登録されているメインメモリ領域に対するラ
イトが行われたとすると、監視ディレクトリ211は、デ
ータ転送が終了するτ11サイクルの1つ前のτ10サイク
ルにおいてインバリデーション要求信号PINVLを発生し
て、メモリアクセス制御回路10に送る。
タ転送が行われるτ11サイクルの前に、他プロセッサ又
はDMAにより自己のキャッシュメモリ24のディレクトリ
メモリ22に登録されているメインメモリ領域に対するラ
イトが行われたとすると、監視ディレクトリ211は、デ
ータ転送が終了するτ11サイクルの1つ前のτ10サイク
ルにおいてインバリデーション要求信号PINVLを発生し
て、メモリアクセス制御回路10に送る。
インバリデーション要求はステージ処理に常に優先し
て行う必要があるので、メモリアクセス制御回路10のMR
QOK抑止回路14は、インバリデーション要求信号PINVLが
1(オン)になると、MRQOK発生回路12からのMRQOK信号
を遮断して0(オフ)状態を保持させる(第4図(c)
のτ10サイクル)。
て行う必要があるので、メモリアクセス制御回路10のMR
QOK抑止回路14は、インバリデーション要求信号PINVLが
1(オン)になると、MRQOK発生回路12からのMRQOK信号
を遮断して0(オフ)状態を保持させる(第4図(c)
のτ10サイクル)。
したがって、STINH停止回路13からはSTINH停止信号は
発生されす、STINH発生回路11は、τ10サイクルにおい
ても引続きステージ遷移抑止信号STINHを発生し、ステ
ージ遷移を抑止する。
発生されす、STINH発生回路11は、τ10サイクルにおい
ても引続きステージ遷移抑止信号STINHを発生し、ステ
ージ遷移を抑止する。
インバリデーション要求が1個である場合は、インバ
リデーション要求PINVLがオフになったτ11サイクルに
おいて、MRQOK抑止回路14はMRQOK発生回路12からのMRQO
K信号の抑止を停止し、MRQOK信号を発生させ、オフから
オンにする(第4図(b)のτ11サイクル)。
リデーション要求PINVLがオフになったτ11サイクルに
おいて、MRQOK抑止回路14はMRQOK発生回路12からのMRQO
K信号の抑止を停止し、MRQOK信号を発生させ、オフから
オンにする(第4図(b)のτ11サイクル)。
STINH停止回路13は、MRQOK抑止回路14からのはMRQOK
信号がオフからオンになったのを検出して、STINH停止
信号を発生し、JKFF112のK端子に入力する。
信号がオフからオンになったのを検出して、STINH停止
信号を発生し、JKFF112のK端子に入力する。
STINH回路11は、このSTINH停止信号を受けると、ステ
ージ遷移抑止信号STINHをオフ(*STINHはオン)にする
(第4図(p)のτ12サイクル)。
ージ遷移抑止信号STINHをオフ(*STINHはオン)にする
(第4図(p)のτ12サイクル)。
これにより、メモリアクセス要求信号MRQに関する
ステージ処理である第1ステージSTG1はτ12サイクル
までオン状態を維持し続け、キャッシュメモリ24に対す
るヒット判定が可能になったτ12で有効なヒット判定が
行われ、τ13サイクルにおいて第2ステージSTG2が正
常に実行される(第4図(d),(e),(m))。
ステージ処理である第1ステージSTG1はτ12サイクル
までオン状態を維持し続け、キャッシュメモリ24に対す
るヒット判定が可能になったτ12で有効なヒット判定が
行われ、τ13サイクルにおいて第2ステージSTG2が正
常に実行される(第4図(d),(e),(m))。
一方、τ11サイクルにおいては、ディレクトリメモリ
21に対し、無効化対象データに対するインバリデーショ
ン処理が行われる(第4図(k)のτ11サイクル)。
21に対し、無効化対象データに対するインバリデーショ
ン処理が行われる(第4図(k)のτ11サイクル)。
もし、τ10サイクルにおけるインバリデーション要求
に引続き、複数のインバリデーション要求が連続して発
生した場合は、その期間だけMRQOK抑止回路14はMRQOK信
号の発生を抑止し、STINH回路11は、ステージ遷移抑止
信号STINHを発生し続ける。
に引続き、複数のインバリデーション要求が連続して発
生した場合は、その期間だけMRQOK抑止回路14はMRQOK信
号の発生を抑止し、STINH回路11は、ステージ遷移抑止
信号STINHを発生し続ける。
インバリデーション要求PINVLがオフになったサイク
ルにおいて、MRQOK抑止回路14はMRQOK信号の抑止を停止
し、これを受けて、STINH回路11は、ステージ遷移抑止
信号STINHをオフ(*STINHはオン)にする。
ルにおいて、MRQOK抑止回路14はMRQOK信号の抑止を停止
し、これを受けて、STINH回路11は、ステージ遷移抑止
信号STINHをオフ(*STINHはオン)にする。
これにより、前述と同様にして、一時中断していた各
ステージの処理が正常に続行される。
ステージの処理が正常に続行される。
以上のようにして、キャッシュメモリにミスヒット
し、かつインバリデーション要求がある場合のみ、ミス
ヒットしたデータに対するデータ転送が終了したサイク
ルの次のサイクルが1サイクルが開けられて、インバリ
デーション処理が行われ、更に次のサイクルから、直ち
に中断していた各ステージ処理が再開される。
し、かつインバリデーション要求がある場合のみ、ミス
ヒットしたデータに対するデータ転送が終了したサイク
ルの次のサイクルが1サイクルが開けられて、インバリ
デーション処理が行われ、更に次のサイクルから、直ち
に中断していた各ステージ処理が再開される。
以上本発明の一実施例について説明したが、本発明は
この実施例に限定されるものではなく、その発明の主旨
に従った各種の変形が可能である。
この実施例に限定されるものではなく、その発明の主旨
に従った各種の変形が可能である。
例えば、キャッシュメモリにミスヒットした場合のデ
ータ転送量は4ワードに限定されるものではない。ま
た、ミスヒット時のインバリデーション要求が複数個連
続した場合にも本発明が適用できるものであることは、
先に実施例の所で説明したとおりである。
ータ転送量は4ワードに限定されるものではない。ま
た、ミスヒット時のインバリデーション要求が複数個連
続した場合にも本発明が適用できるものであることは、
先に実施例の所で説明したとおりである。
以上説明したように、本発明によれば、次の諸効果が
得られる。
得られる。
(1) キャッシュメモリにミスヒット時には、インバ
リデーション要求が発生したときのみミスヒットデータ
のデータ転送終了後、1サイクル遅れてステージ処理を
再開させるようにしたので、インバリデーション要求の
ないときは無駄なサイクルが無くなって、メモリアクセ
ス処理効率を向上させることができる。
リデーション要求が発生したときのみミスヒットデータ
のデータ転送終了後、1サイクル遅れてステージ処理を
再開させるようにしたので、インバリデーション要求の
ないときは無駄なサイクルが無くなって、メモリアクセ
ス処理効率を向上させることができる。
(2) インバリデーション要求個数に対応するサイク
ル個数だけ遅れてステージ処理を再開させるようにすれ
ば、連続してインバリデーション要求が発生しても、こ
れらのインバリデーション処理を正常に処理できるとと
もに、中断された各アクセス要求に対するステージ処理
を正常に再開させることができる。
ル個数だけ遅れてステージ処理を再開させるようにすれ
ば、連続してインバリデーション要求が発生しても、こ
れらのインバリデーション処理を正常に処理できるとと
もに、中断された各アクセス要求に対するステージ処理
を正常に再開させることができる。
第1図は本発明の基本構成の説明図、 第2図は本発明の一実施例に係るメモリアクセス制御回
路が使用されるメモリアクセス制御システムの説明図、 第3図は本発明の一実施例の構成の説明図、 第4図は同実施例の動作タイミングチャートの説明図、 第5図は同実施例のミスヒット時でかつインバリデーシ
ョンのあるときの動作タイミングチャートの説明図、 第6図はステージ遷移の説明図、 第7図は従来のメモリアクセス制御システムの説明図、 第8図は従来のメモリアクセス制御システムの動作タイ
ミングチャートの説明図、 第9図は従来のメモリアクセス制御システムにおけるミ
スヒット時でかつインバリデーションのあるときの動作
タイミングチャートの説明図。 第1図及び第2図において、 10……メモリアクセス制御回路、11……ステージ遷移抑
止発生回路(STINH発生回路)、12……メモリアクセス
要求許可信号発生回路(MRQOK発生回路)、13……ステ
ージ遷移抑止停止回路(STINH停止回路)、14……メモ
リアクセス要求許可抑止回路(MRQOK抑止回路)。
路が使用されるメモリアクセス制御システムの説明図、 第3図は本発明の一実施例の構成の説明図、 第4図は同実施例の動作タイミングチャートの説明図、 第5図は同実施例のミスヒット時でかつインバリデーシ
ョンのあるときの動作タイミングチャートの説明図、 第6図はステージ遷移の説明図、 第7図は従来のメモリアクセス制御システムの説明図、 第8図は従来のメモリアクセス制御システムの動作タイ
ミングチャートの説明図、 第9図は従来のメモリアクセス制御システムにおけるミ
スヒット時でかつインバリデーションのあるときの動作
タイミングチャートの説明図。 第1図及び第2図において、 10……メモリアクセス制御回路、11……ステージ遷移抑
止発生回路(STINH発生回路)、12……メモリアクセス
要求許可信号発生回路(MRQOK発生回路)、13……ステ
ージ遷移抑止停止回路(STINH停止回路)、14……メモ
リアクセス要求許可抑止回路(MRQOK抑止回路)。
フロントページの続き (72)発明者 星 健二 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 金谷 英治 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (56)参考文献 特開 昭61−165154(JP,A) 特開 昭61−221845(JP,A) 特開 昭63−214849(JP,A) 特開 平3−271843(JP,A) 特開 平2−90265(JP,A)
Claims (3)
- 【請求項1】第1サイクルでアドレスを送出し、第2サ
イクルで次のアクセスの第1サイクルとオーバラップし
てデータ転送を行い、第1サイクルで送出したアドレス
と該アドレスによりディレクトリメモリをアクセスして
得られるヒット情報とアドレス情報とを第2サイクルの
間保持し、ヒット情報がヒットを示した場合は、第2サ
イクルで前記保持されたアドレス情報によりキャッシュ
メモリをアクセスし、ミスヒットした場合は、メインメ
モリより前記アドレス情報によりデータをリードし、ア
クセスの第1サイクルで出力されたヒット情報がミスヒ
ットを示した場合にクロック発生を抑止してメインメモ
リから前記アドレス情報によりリードしたブロックデー
タのうち最初のデータが転送された時点で抑止を止める
クロック抑止信号発生回路を備え、2サイクルでキャッ
シュメモリをアクセスするメモリアクセス制御回路にお
いて、 第1サイクルで出力されたヒット情報がミスヒットを示
しており、かつ、連続するアクセスの第1サイクルのス
テージがオンであるとき、前記ミスヒットを示していた
最初のアクセスの第2サイクルのステージ遷移を抑止す
るステージ遷移抑止信号を発生するステージ遷移抑止信
号発生回路(11)と、 ミスヒット時はメモリアクセス要求許可信号をオフに
し、メインメモリより前記アドレス情報によりリードさ
れた最後のデータがキャッシュメモリに到達する直前の
サイクルで前記メモリアクセス要求許可信号をオフから
オンにするメモリアクセス要求許可信号発生回路(12)
と、 前記メモリアクセス要求許可信号がオフからオンになっ
たことを検出して、遷移抑止信号発生回路(11)の発生
するステージ遷移抑止信号を停止させるステージ遷移抑
止停止回路(13)、 を備えたことを特徴とするメモリアクセス制御回路。 - 【請求項2】前記メモリアクセス要求許可信号をオンに
するサイクルにおいて、自キャッシュメモリの無効化要
求がなされた場合、前記サイクルにおいて無効化処理を
行うために、前記メモリアクセス要求許可信号がオンに
なるのを抑止するメモリアクセス要求許可抑止回路(1
4)を設けたことを特徴とする請求項(1)記載のメモ
リアクセス制御回路。 - 【請求項3】アクセス要求許可抑止回路(14)が、前記
メモリアクセス要求許可信号をオンにするサイクルにお
いて、自キャッシュメモリの無効化要求が連続して成さ
れた場合は、その期間引続きメモリアクセス要求許可信
号を抑止し、無効化が不要になったサイクルからメモリ
アクセス要求許可信号をオンにするものであることを特
徴とする請求項(2)記載のメモリアクセス制御回路
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2279249A JP2677706B2 (ja) | 1990-10-19 | 1990-10-19 | メモリアクセス制御回路 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2279249A JP2677706B2 (ja) | 1990-10-19 | 1990-10-19 | メモリアクセス制御回路 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH04155457A JPH04155457A (ja) | 1992-05-28 |
| JP2677706B2 true JP2677706B2 (ja) | 1997-11-17 |
Family
ID=17608519
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2279249A Expired - Fee Related JP2677706B2 (ja) | 1990-10-19 | 1990-10-19 | メモリアクセス制御回路 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2677706B2 (ja) |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4695943A (en) * | 1984-09-27 | 1987-09-22 | Honeywell Information Systems Inc. | Multiprocessor shared pipeline cache memory with split cycle and concurrent utilization |
| JPH071487B2 (ja) * | 1985-03-05 | 1995-01-11 | 富士通株式会社 | バッファメモリ無効化アドレス生成方式 |
| JPS63214849A (ja) * | 1987-03-04 | 1988-09-07 | Nec Corp | メモリアクセス制御方式 |
| US5148536A (en) * | 1988-07-25 | 1992-09-15 | Digital Equipment Corporation | Pipeline having an integral cache which processes cache misses and loads data in parallel |
| JPH03271843A (ja) * | 1990-03-20 | 1991-12-03 | Fujitsu Ltd | メモリアクセス制御方式 |
-
1990
- 1990-10-19 JP JP2279249A patent/JP2677706B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH04155457A (ja) | 1992-05-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0748481B1 (en) | Highly pipelined bus architecture | |
| JP3451103B2 (ja) | データ通信装置及び方法 | |
| JPH06309230A (ja) | バススヌ−プ方法 | |
| US5987570A (en) | Performing overlapping burst memory accesses and interleaved memory accesses on cache misses | |
| JP4131789B2 (ja) | キャッシュ制御装置および方法 | |
| JPH0340047A (ja) | キヤツシユ・ライン・ストア方法 | |
| JPH02103656A (ja) | 主記憶参照の遂次化制御方式 | |
| JP3018038B2 (ja) | キャッシュを有するデータ処理装置 | |
| JP2677706B2 (ja) | メモリアクセス制御回路 | |
| US8688890B2 (en) | Bit ordering for communicating an address on a serial fabric | |
| KR940005769B1 (ko) | 캐쉬 메모리를 포함하는 멀티프로세서 시스템 및 그들사이의 데이타의 코히어런스를 유지하기 위한 캐쉬 메모리를 제어하는 방법 | |
| JP2825983B2 (ja) | 情報処理装置 | |
| JP3039391B2 (ja) | メモリシステム | |
| JP2845754B2 (ja) | マルチプロセッサシステム | |
| JP2000181711A (ja) | 命令フェッチのキャンセル方式 | |
| JP3373253B2 (ja) | 情報処理装置 | |
| JP2719227B2 (ja) | 処理装置 | |
| KR100274450B1 (ko) | 로컬버스의 트랜잭션 지연 제어방법 및 장치 | |
| JP2000347931A (ja) | キャッシュメモリおよびキャッシュメモリ制御方法 | |
| JPH08212068A (ja) | 情報処理装置 | |
| JPS60123944A (ja) | 情報処理装置におけるバツフアメモリ制御方式 | |
| JPS5829186A (ja) | 情報処理装置 | |
| JPH02224158A (ja) | キャッシュメモリ装置及びデータ処理装置並びにデータアクセス方法とキャッシュメモリへのデータ格納方法 | |
| JPH10254853A (ja) | ベクトルデータ処理装置 | |
| JPH028333B2 (ja) |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |