JPS6324428A - キヤツシユメモリ - Google Patents

キヤツシユメモリ

Info

Publication number
JPS6324428A
JPS6324428A JP61168420A JP16842086A JPS6324428A JP S6324428 A JPS6324428 A JP S6324428A JP 61168420 A JP61168420 A JP 61168420A JP 16842086 A JP16842086 A JP 16842086A JP S6324428 A JPS6324428 A JP S6324428A
Authority
JP
Japan
Prior art keywords
address
data
register
array
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP61168420A
Other languages
English (en)
Inventor
Takashi Kodama
児玉 隆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP61168420A priority Critical patent/JPS6324428A/ja
Priority to US07/073,513 priority patent/US4901228A/en
Publication of JPS6324428A publication Critical patent/JPS6324428A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operations
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • G06F11/141Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • G06F12/1054Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently physically addressed
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0855Overlapped cache accessing, e.g. pipeline

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、主記憶装置のアクセス時間を短縮するため
に設けられる小容量高速のメモリであるキャッシュメモ
リに関する。
〔従来の技術〕
一般にキャッシュメモリはCPU (プロセッサ)と主
記憶装置の間に介在し、主記憶装置のアクセス時間を短
縮するために設けられるものである。
CPUはキャッシュメモリを高速にアクセスでき、アク
セスしたい情報がキャッシュメモリ内に存在する場合を
キャツシュヒツト、存在せずアクセスできない場合をキ
ャンシュノットヒツトという。
キャッシュメモリ内に格納されていてもCPUがら最近
アクセス(参照)されなかった情報は、新たに必要とな
った情報のために追い出され、主記憶装置から新たな情
報がキャッシュメモリ内に書き替えられる。
このとき、キャッシュメモリと主記憶装置から情報を読
出したり、書き込んだりする処理を先回り制御により行
ない、複数の命令を並行して同時に行なうパイプライン
制御によりCPUによる情報処理をより高速化している
第7,8図に従来のキャッシュメモリの構成を示す。第
7図はcpuと主記憶装置12との間で用いられる高速
バッファメモリであるキャッシュメモリ2,2a、4,
4aのブロック図であり、第8図は第7図のシステムコ
ントローラ21の詳細ブロック図である。このような構
成のキャッシュメモリにおける動作は、第5図に示すよ
うに命令REQI、REQ2.REQ3に夫々対応する
例えば、アドレス指定命令のAAサイクル即ち、AAI
、AA2.AA3と、データ指定命令のDAサイクル即
ちDAl、DA2.DA3という2種類のサイクルに大
きく分類される。
ここでAAサイクルには、CPUからこのキャッシュメ
モリのパスライン25bにリクエスト信号のREQが、
又パスライン(A−BUSS)22にはアドレスデータ
(論理アドレス)が入力される。このアドレスデータは
例えば、仮想アドレス空間の仮想アドレスのため主記憶
装置の実アドレスに変換しなければならない。そしてM
AP回路1で第6図に示すように論理(仮想)アドレス
が物理(実)アドレスにマフピング変換され、MAR回
路1からの出力とアドレスアレイ2又は2aからの出力
とが物理アドレス同志一致しているかどうかコンパレー
タ3又は3aで検知される。
また、DAプサイルには、前記AAサイクル修了後に得
られる物理アドレス−数情報により、対象となるデータ
アレイ4又は4aを検知し、それらに対して読み出し、
或いは書き込みを完了させるまでの動作が行なわれる。
而して、第5図に示すREQ 1−AA 1−DAlの
命令と、時系列的に後の処理であるREQ2−AA2−
DA2の命令を同時に並行して先回り制御するのがキャ
ッシュメモリのパイプライン制御となる。
第9図のタイミングチャートに従って従来のキャッシュ
メモリの処理動作を説明する。まず、C1ock−はキ
ャッシュメモリ内の基準クロック信号であり、デコーダ
101に与えられる。今図示外のCPUからシステムコ
ントローラ21のパスライン25bにリクエスト信号R
EQIが与えられると、システムコントローラ21は、
パスライン25cを介してCPUに対して応答する。即
ちアクタ・7ジ信号ACK 1を出力し、前記AAIサ
イクルに入る。このときパスライン22を介してMAP
回路1には論理アドレスが入力される。
又、リクエスト信号のREQIはアドレスアレイ2,2
aに入力され、そこに格納された物理アドレスを出力し
、これとMAR回路1がらの変換物理アドレスとがコン
パレータ3又は3aで比較される。ここでアドレスアレ
イ2.2a、コンパレータ3,3a及びデータアレイ4
.4aを複数設けたのはキャッシュメモリの容量を増す
ためである。
さて、コンパレータ3又は3aから一致のキャツシュヒ
ツト信号がデコーダ8に入力されると、データアレイア
ドレスレジスタ9にデコーダされたアドレスに該当する
対象データアレイ4又は4aのアドレスがセットされる
このキャツシュヒツト信号は決定回路6に入力され、ア
ドレスアレイ2,2aからの物理アドレスと対照され指
定データとなってリプレースアレイ5に格納される。こ
の指定データは後述するキャッシュノットヒツト信号が
コンパレータ3又は3aから出力された場合は、どのデ
ータアレイ4又は4aの内容(情報)を主記憶装置12
の内容におき換えるか決定するものである。
データアレイアドレスレジスタ9によってアクセスされ
たデータアレイ4,4aの内容はバリティチェッカ20
に入り、パリティをチェックされると同時にセレクタ1
6により選択されてデータレジスタ18に与えられ、後
にデータバス23上にセットされる。
前記リクエスト信号REQIによるアドレスがデータア
レイアドレスレジスタ9にセットされた時点から、次の
リクエスト信号REQ2がアドレスアレイ2,2aに、
又論理アドレス信号がMAP回路1に夫々入力される。
前述同様に比較され、今度はコンパレータ3.3aから
キャッシュノットヒツト信号が出力され、この信号がリ
プレース回路5の出力と合わせて決定回路6に入り、主
記憶装置12の内容と入れ換えられるデータアレイ4又
は4aが決定されアドレスレジスタ9に対象アドレスが
セントされる。
今コンパレータ3,3aからシステムコントローラ21
のデコーダ101にキャツシュヒツト信号が与えられて
いる間は、パスライン25aに与えられるクロック信号
で、デコーダ101の端子32には“ハイ”を出力して
フリップフロップ103をセットし、データアレイ4,
4a読み出し指示実行信号DAFを出力させる。この命
令DAFがデータアレイ4,4aに与えられ、読出し内
容が前述したようにデータバス23上にセットされる。
同様に、リクエスト信号REQ2が入力されると、まず
システムコントローラ21からアクルッジ信号ACK2
を出力する。今度は、デコーダ101にキャッシュノッ
トヒツト信号が与えられており、クロック信号でデコー
ダ101の端子33に“ハイ”を出力し、フリップフロ
ップ104をセットし主記憶装置読み出し指示実行信号
MMFを出力させる。
OR回路109を通ったこのMMF信号はフリップフロ
ップ108から信号BRQを、フリップフロップ107
から負論理信号MEMFを夫々出力する。この信号BR
Qはメモリバスコントローラ11に対しメモリリクエス
トを出してメモリバス24の使用権を得るとともに、主
記憶装置12にデータ読み出しのためアクセス要求を出
す信号である。又、信号MEMFは主記憶装置12にア
クセス中であることを示すと同時に、ゲート110を制
御して次の信号REQを受は付けないようフリップフロ
ップ102が信号ACKを■ 応答信号BACKがフリップフロップ108に返された
時点でBRQはリセットされる。又、メモリバスコント
ローラー1から信号5YNCが返された時点でフリップ
フロップ107のMEMFはリセットされる。この信号
5YNCは、主記憶装置12からメモリバス24上にデ
ータが出力されていること、又はメモリバス24から逆
に主記憶装置12にデータが格納されたことを示す同期
信号である。この間、すなわちBRQリセット5YNC
セットされている間、ANDゲート114はアドレスア
レイ2.2a及びデータアレイ4,4aの内容を更新す
る信号BKWRを出力する(ノットヒットのため更新必
要)。このようにして、メモリバス24上にある主記憶
装置12からのアドレスがアドレスアレイ2,2aに、
又データがデータアレイ4.48に夫々更新格納される
次にMEMFがリセットされて、デコーダ101にクロ
ックが入力されると、システムコントローラ21は次の
REQ3を受は付け、CPUにACK3を出力し、AA
3.DA3各サイすルAAI、DAl、AA2.DA2
等のサイクル順番を現わす。今、REQI→AAI→D
AIのDAIサイクル中にデータパリティエラーがパリ
ティチェフカ20で検出されると、1ラップ発生回路2
6から信号TRAPが出力されメモリバスコントローラ
11に与えられる。これによりメモリバスコントローラ
ー1はメモリバス24の使用を禁止し主記憶装置12と
のデータの転送は不可となり、CPUは異常処理、マシ
ンチェック処理へと進む。
第10図のフローで整理すると、ステップP1でREQ
があれば、ステップP2でアドレスアレイにヒントした
かどうか調べる。ヒツトしなければステップP3に進み
、データアレイ書き換えのため主記憶装置からブロック
単位のデータを取り出し、古いデータを追い出し、この
データをロードする。ヒツトしたらステップP4に進み
、データアレイを読み出し、ステップP5でパリティエ
ラーチェックを行なう。ここでエラーがあれば、ステッ
プP6でトラップ信号を発生させ、ステップP7でトラ
ップ処理を行ない、ステップP8でマシンチェック処理
を行なう。
〔発明が解決しようとする問題点〕
従来のキャッシュメモリでは、データアレイ内にパリテ
ィエラーが発生した場合には、マシンチェック処理が優
先され、パイプライン制御の次のサイクル動作が中断さ
れ、せっかくの高速処理用キャッシュメモリが能力を発
揮できないという欠点があった。
この発明は上記問題点を解消するためになされたもので
、データアレイ内でパリティエラー又はECC(誤り訂
正符号)方式の2ビツトエラーが発生しても、主記憶装
置から内容を取り出し、システムとしての高速動作を継
続させられるキャッシュメモリを提供することを目的と
している。
〔問題点を解決するための手段〕
この発明は、パイプライン制御されるキャッシュメモリ
において、アドレスレジスタ10と並列に設けられエラ
ーが発生したデータの物理アドレスを退避させるアドレ
スバンクアップレジスタ10aと、データアレイアドレ
スレジスタ9と並列に設けられエラーが発生したデータ
のデータアドレスが退避されるデータアレイアドレスバ
ックアンプレジスタ9aと、システムコントローラ34
に設けられたバックアップレジスタ123及びエラーが
検出された場合でも主記憶装置12にアクセスを続行さ
せるレジスタ群121,122とを備えたものである。
〔作用〕
この発明においては、エラーが発生した場合でも先行す
る リクエストコードをバックアップレジスタ123に
、物理アドレスをアドレスバンクアップレジスタ10a
に、又データアドレスをデータアレイアドレスバックア
ップレジスタ9aに一時格納し、システムコントローラ
34により主記憶装置12からデータをアクセスし、エ
ラーにより中断した先行するリクエストの実行処理を可
能とする。
〔実施例〕
以下、この発明の一実施例を図面に基づいて説明する。
第1図は図示外のCPUに接続される主記憶装置12及
びキャッシュメモリ2,2a、4,4aのブロック図、
第2図は第1図のシステムコントローラ34の詳細ブロ
ック図である。
第1図において、■は論理アドレスを物理アドレスに変
換するMAP回路であり、2,2aはアドレスアレイで
あり、物理アドレスが格納されている。3,3aはコン
パレータであり、アドレスアレイ2,2aの出力とMA
P回路1からの出力(物理アドレス同志)とを比較して
一致しているかどうか検知する。4,4aはデータアレ
イであり、アドレスアレイ2,2aのアドレスと対応し
たデータが格納されており、アドレスアレイ2゜2aと
データアレイ4.43とで狭義のキャッシュメモリを構
成している。
8はコンパレータ3,3aの出力により、データアレイ
4,4aのどちら側かを決定するアドレスを作り出すデ
コーダである。6はコンパレータ3.3aの出力及びリ
プレースアレイ5の出力内容とから、データアレイ4,
4aのどちら側に主記憶装置12からの内容を格納する
かを(データの書換指定)決定する決定回路である。7
はリプレースアレイ5のアドレスレジスタである。
9はデコーダ8から出力されたアドレスを記憶するアド
レスレジスタであり、このアドレスはデータアレイ4.
4a内のデータに対応する。又9aはデータアレイレジ
スタ9の内容をハ゛フクアップするデータアレイアドレ
スバンクアンプレジスタである。10はMAP回路1の
出力である物理アドレスを格納するアドレスレジスタで
あり、又10aはアドレスレジスタ10の内容をバ・ツ
クアップするアドレスバックアップレジスタである。
27.28,29.30は3−ステートバッファであり
、3−ステートバッファ27.28はCPUの指令に゛
よりアドレスレジスタ10とアドレスバックアンプレジ
スタ10aの出力のいずれかを択一的にメモリアドレス
レジスタ13にセットする。又、同様に3−ステートバ
ッファ29゜30はデータアレイアドレスレジスタ9と
データアレイアドレスバックアップレジスタ9aの出力
データのいずれかを択一的にアドレスアレイ2゜2aに
書き込むようにするものである。
主記憶装置12のデータの一部がブロックロードされて
データアレイ4,4aに記憶され、これらデータに対応
する実アドレス(物理アドレス)がアドレスアレイ2,
2aに記憶されている。
CPUからの読み出しは仮想(論理)アドレスで行なわ
れるが、変換された物理アドレスがアドレスアレイ2.
2a内の物理アドレスとヒツトしなければ、呼出率の高
いデータとそのアドレスが主記憶装置12から引き出さ
れ、データアレイ4゜4a、及びアドレスアレイ2,2
a内の不必要な内容と交換される。メモリアドレスレジ
スタ13の物理アドレスによりメモリバス24を介して
主記憶装置12をアクセスし、主記憶装置12から読み
出されたデータはデータレジスタ14に一時格納される
。又、主記憶装置12に書き込まれるデータはメモリバ
ス24に出力する前にデータレジスタ15に一時格納さ
れる。16は主記憶装置12からのデータとデータアレ
イ4,4aからのデータのうち一方を出力するセレクタ
であり、17はセレクタ16からの出力データと書き込
み用データレジスタ19からのデータのうち一方をデー
タアレイ4.4aに入力するセレクタである。
18はセレクタ16の出力データを一時格納するデータ
レジスタであり、19は書き込みデータを格納するデー
タレジスタである。20はエラー検出器としてのパリテ
ィチェッカであり、データアレイ4,4aから出力され
るデータのパリティエラーを検知する。34はリクエス
トコードREQ等をもとに、キャッシュメモリ全体の動
作を制御するシステムコントローラであり、23はCP
U等に接続されるデータバスである。
第2図はシステムコントローラ34の詳細ブロック図で
あり、コンパレータ3,3aからのキャッシュ(ノット
)ヒツト信号はデコーダ101に入力される。103,
104,105,106はフリップフロップからなり、
デコーダ101により択一的に駆動される。レジスタ1
03はデータアレイ4,4a読み出し実行指示信号DA
Fを出力し、レジスタ104は主記憶装置12データ読
み出し実行指示信号MMFを出力し、レジスタ105は
データアレイ4,4a書き込み実行指示する。109a
は4人力OR回路であり、レジスタ103の出力がアン
ドゲート120を介して、又、レジスタ104〜106
の前記出力が与えられ、その出力は主記憶装置12に対
する読み出し及び書き込みの実行を指示する信号のもと
になる。
フリップフロップからなるレジスタ107とバスリクエ
ストレジスタ108はOR回路109aの出力でセット
され、バスリクエストレジスタ108はメモリバスコン
トローラ11に対してバスリクエスト信号BRQを出力
する。このBRQはデータバス24の使用権を得ると同
時に主記憶袋N12にアクセス要求を出すものである。
このバスリクエストレジスタ108はメモリバスコント
ローラ11からの応答信号BACKによりリセットされ
る。レジスタ107の負論理出力はORゲート115と
ANDゲート116に与えられ、レジスタ107はメモ
リバスコントローラ11から出力される信号5YNCに
よりリセットされる。
この5YNCは主記憶装置12からメモリバス24上に
データの読み出し完了、及びメモリバス24からデータ
の書き込み完了を示す同期信号であり、通常は信号BA
CKの後に出力される。
パリティチェッカ20の出力はシステムコントローラ3
4のアンドゲート119,120及びインバータ35に
与えられ、レジスタ121はアンドゲート120の出力
でセットされエラーサイクル信号ERCYを出力する。
ERCYはパリティエラーが発生し、エラー回復処理実
施中を示すものであり、cpuへ送られる。
レジスタ122はアンドゲート119により負論理でセ
ットされ、信号AKFC;を出力し、AKFGは後述す
るAAサイクルは完了したがDAサイクルが未実行であ
ることを示し、ANDゲート111と117に与えられ
ている。ANDゲート111は5YNCとAKFGの入
力により“ハイ”を出力しレジスタ121をリセットす
る。
アンドゲート114は5YNCの入力とORゲート11
5の出力により信号BKWRをアドレスアレイ2,2a
、データアレイ4.4aに出力し、BKWRはこれらの
内容を更新するデータを書き込むタイミングである。
アンドゲート117はERCYとAKFGの入力により
疑似ACKを出力する。この疑似ACKはパリティエラ
ー発生により中断したDAサイクルを継続させるための
信号である。
レジスタ121の負論理出力はORゲート115とAN
Dゲート116に与えられる。ここでレジスタ107の
負論理出力はMEMFであり、このMEMFは主記憶装
置12にアクセス中であることを示すと同時に、REQ
信号を受は付けないようにACK信号を出さないように
する信号である。レジスタ121の負論理出力によりA
NDゲート116を通過したMEMFとインバータ35
で反転されたエラー信号とは3人力A N Dゲ)11
0aに与えられる。
ANDゲート110aには又cpuから信号REQが与
えられるが、REQはCPUからキャッシュメモリに対
するメモリアクセス要求信号である。ANDゲート11
0aの論理積出力はレジスタ102をセットし、信号A
CKを出力させる。
このACKは所定条件でREQに対応して出力され、A
NDゲート119のゲート制御信号として、又NORゲ
ート118に与えられる。
NORゲート118はACKと疑似ACKとから負論理
和Pを出力し、出力Pはデコーダ101をイネーブルに
してキャッシュメモリにDAサイクルを実行させる信号
である。
123はパスライン25aに与えられるクロック信号を
バックアップするバックアップレジスタであり、124
はセレクタであり、その出力はデコーダ101に与えら
れる。
次に上記実施例の動作を第3図のタイミングチャートを
参照して説明する。
まず、CPUからREQIがキャッシュメモリ。
システムコントローラ34に入力されると、キャッシュ
メモリはAAIサイクルに入る。パスライン22  (
A−Bus)にCPUから論理アドレスが与えられ、こ
の論理アドレスはMAP回路1に人力され、前記REQ
Iはアドレスアレイ2゜2aに入力される。
MAP回路1で変換出力された物理アドレスと、アドレ
スアレイ2,2aから読み出された物理アドレスとがコ
ンパレータ3,3aで比較される。
コンパレータ3.3aから今キャツシュヒツト信号が出
力され、又MAP回路1からの物理アドレスはアドレス
レジスタ10に格納される。
次に、キャッシュメモリは第3図に示すように、REQ
IのAAIサイクルはDAIサイクルに入り、これと同
時にCPUは次のREQ2と、論理アドレスを与えるた
めREQ2のAA2サイクル開始する。又決定回路6か
ら出力されたデータアドレスはデータアドレスレジスタ
9に格納される。
DAIサイクルではデータアドレスレジスタ9の出力ア
ドレスによりデータアレイ4,4aがアクセスされ、そ
こから取り出されたデータはパリティチェッカ20及び
セレクタ16を介してデータレジスタ18に与えられる
。ここでDAIサイクルのパリティチェッカ20でパリ
ティエラーが発生した場合は、次のREQ2のAA2サ
イクルは次0DA2サイクル(データアレイ4,4aの
アクセス)に移行することができない。しかしながら、
ここでREQlはエラー発生ということでDAIサイク
ルを終了するが、その時点でREQlのAA!サイクル
の物理アドレスはアドレスレジスタ10からアドレスバ
ックアップレジスタ10aに移して格納される。同時に
データアドレスはデータアレイアドレスレジスタ9から
データアレイアドレスバックアップレジスタ9aに移し
て格納される。すると、REQ2のAA2サイクルの物
理アドレスは、空きになったアドレスレジスタ10に格
納され、REQ2の物理アドレス比較がコンパレータ3
,3aにより行なわれ、アドレスアレイ2,2aからの
データアドレスは空きになったデータアレイアドレスレ
ジスタ9に格納される。又パスライン25に与えられる
クロックはバックアップレジスタ123に格納される。
ここでシステムコントローラ34において、REIのパ
リティエラー発生ということと、キャツシュヒツトとい
う条件(パリティエラーADAF)で、ANDゲート1
20によりレジスタ121がセットされERCYが出力
され、CPUはエラー回復サイクルに入る。エラー回復
サイクルとは、REQIのDAIサイクルでパリティエ
ラーを発生したアドレスアレイ2,2aの内容(アドレ
スデータ)及び対応するデータアレイのデータを主記憶
装置12から取り出しブロックロードして書き換えるこ
とである(縮退)。
REQ2のDA2サイクルが未実行であることを示すた
め、パリティエラー発生ということとACK条件でAN
Dゲート119によりレジスタ122がセットされAF
KGが出力される。又、レジスタ108がセットされB
RQが出力されると、メモリバスコントローラ11から
BACKが返答としてシステムコントローラ34に返さ
れてく る。
次にシステムコントローラ11からS Y N C7!
l<レジスタ108.122及びANDゲート111に
与えられ、REQIのDAIサイクルに対応するデータ
が主記憶装置12からメモリバス24上に読み出される
エラー回復サイクルで今後以下のものが実行される。即
ちまず、REQlのDAIサイクルのエラーのあったデ
ータをメモリバス24からデータレジスタ14.18を
介してD−BUS 23に出力させる。
次にREQIのAAIサイクルでキャツシュヒツトした
アドレスアレイ2,2aを縮退する。これは、データア
レイアドレスバックアンプレジスタ9a内のアドレスを
使用してセレクタ31を介してアドレスアレイ2.2a
をアクセスする。そして、一般的に縮退ビットとよばれ
るものをアドレスアレイ2,2aにセットしアクセスし
てもキャッシュヒントしないようにする。続いてRE、
Q2の未実行のDA2サイクルを実行する。即ち、シス
テムコントローラ34のANDゲート117において、
ERCYとAKFGの論理積より疑似ACKを出力する
。この疑似ACKはNOR回路118を介してデコーダ
101に与えられ、デコーダ101は動作可能になる。
ここで、リクエストコードバックアップレジスタ123
にあるREQ2のクロックをセレクタ124を介して受
けたデコーダ101はレジスタ103,104゜105
.106にDAF、MMF、DAS。
MMS信号を出力させDA2サイクルを実行させる。
システムコントローラ34において、ERCYは5YN
C入力条件でリセットされ(第3図)、BKWRはER
CYの負論理と5YNCの条件でセットされる。そして
BKWRリセット後、正常状態にもどり、キャッシュメ
モリはREQ3及び論理アドレスを受は取りAA3.D
A3サイクルを実行する。
第4図のフローチャートでこれまでの動作を整理すると
、キャッシュメモリの読み出し処理は、ステップS1で
REQがあれば、ステップS2でアドレスアレイにヒツ
トしたかどうか8周べる。ヒツトしなければステップS
3に進み、データアレイ書き換えのため主記憶装置から
ブロック単位のデータを取り出し古いデータを追い出し
、このデータをロードする。
ヒントしたらステップS4に進み、データアレイを読み
出し、ステップS5でパリティエラーチェックを行なう
。ここでパリティエラーの発生があれば、ステップS6
に進み、主記憶装置から正しいデータを取り出しアドレ
スアレイを縮退する。
そして次のREQを受は付ける状態にもどり、引き続き
キャッシュメモリのパイプライン制御を行なう。
なお、上記実施例ではパリティエラー発生時としている
が、ECC2ビットエラー(誤り訂正符号)などのエラ
ー発生時でもよく、エラーを検知する方式ならどれでも
よい。又アドレス変換をMAP方弐としているがTLB
方式であっても同様な効果が得られる。
〔発明の効果〕
以上説明してきたように、この発明によれば、キャッシ
ュメモリ内のシステムコントローラによるパイプライン
制御処理中に、データアレイのデータにパリティエラー
又はECC2ビットエラーが発生しても、パイプライン
制御動作を中断することなく、主記憶装置よりデータを
取り出し、引き続きシステムを正常動作させることがで
きる。
従って高速度で信頼性の高いキャッシュメモリを提供す
ることができる。
【図面の簡単な説明】
第1図は本発明のキャッシュメモリのブロック図、第2
図は第1図のシステムコントローラの詳細回路図、第3
図及び第4図は本発明の詳細な説明するタイミングチャ
ート及びフローチャートであり、第5図はキャッシュメ
モリのパイプライン制御図、第6図はアドレス変換図で
あり、第7図は従来のキャッシュメモリのブロック図、
第8図は従来のシステムコントローラの回路図、第9図
は従来のタイミングチャート、第10図は従来の動作を
説明するためのフローチャートである。 1・・・MAP回路、2,2a・・・アドレスアレイ、
3,3a・・・コンパレータ、4,4a・・・データア
レイ、5・・・リプレースアレイ、6・・・決定回路、
9・・・データアレイアドレスレジスタ、9a・・・デ
ータアレイアドレスバンクアップレジスタ、10・・・
アドレスレジスタ、10a・・・アドレスバックアップ
レジスタ、11・・・メモリバスコントローラ、12・
・・主記憶装置、20・・・パリティチェフカ、34・
・・システムコントロー−7,101・・・テコーダ、
102〜108・・・レジスタ、121゜122・・・
レジスタ。 なお、図中同一符号は同−又は相当部分を示す。 代理人  大  岩  増  a(ほか2名)第10図 j ID 手続補正書、自発。 昭和  年  月  日 1、事件の表示   特願昭61−168420%2、
発明の名称 キャッシュメモリ 3、補正をする者 事件との関係 特許出願人 住 所    東京都千代田区丸の内皿丁目2番3号名
 称  (601)三菱電機株式会社代表者 志 岐 
守 哉 4、代理人 住 所    東京都千代田区丸の内二丁月2番3号5
、補正のり1象 発明の詳細な説明、図面の1闇。 6、補正の内容 (11明b 第23頁第10行目、fA25頁第17行目「クロック
」とあるのをrr?EQ、C0DEJと補正する。 (2)同書第9頁第5行目「ようにするもである。」と
あるのを「ようにするものである、」と補正する。 (3)同書第9頁第17行目、第10頁第1行目″ 「
アドレスアレイ2,2aJとあるのを「アドレスアレイ
2あるいは2aJと補正する。 (4)同書第9頁第17行目乃至第18行目、第10頁
第2行目[データアレイ4,4aJとあるのを「データ
アレイ4あるいは4aJと補正する。 (5)同書第9頁第20行目「メモリバス24上にある
主記憶装置12」とあるのを削除する。 (6)同書第10頁第1行目「からのアドレスが」とあ
るのを「アドレスレジスタ10からのアドレスが」と補
正する。 (7)同書第10頁第1行目「又」とあるのを「又メモ
リバス24上にある主記憶装置12からの」と補正する
。 (8)同書第10頁第14行目乃至第18行目「メモリ
ハス・−・・・となり 」とあるのを削除する。 (9)同書第18頁第10行目、第20頁第1行目r 
O’ RJとあるのをrANDjと補正する。 0Ill同書第18頁第11行目、第20員 第2行目
、第7行目rANDJとあるのをrORJと補正する。 (11)図面、第2図、第3図、第7図、第8図、第9
図を別紙のとおり補正する。 以上

Claims (1)

  1. 【特許請求の範囲】 論理アドレスを物理アドレスに変換するアドレス変換回
    路と、アドレスアレイと、このアドレスアレイからの物
    理アドレスと前記アドレス変換回路の出力とを比較する
    コンパレータと、アドレスアレイ内のアドレスと対応す
    るデータを記憶するデータアレイと、主記憶装置と、メ
    モリバスコントローラと、アドレス変換回路からの物理
    アドレスを格納するアドレスレジスタと、前記データア
    レイのアドレスを格納するデータアレイアドレスレジス
    タと、データアレイからのデータのエラーチェックを行
    なうエラー検出器と、前記メモリバスコントローラ及び
    CPUとデータの受け渡しをするシステムコントローラ
    とを有するパイプライン制御されるキャッシュメモリに
    おいて、 前記アドレスレジスタと並列に設けられエラーが発生し
    たデータの物理アドレスを格納させるアドレスバックア
    ップレジスタと、前記データアレイアドレスレジスタと
    並列に設けられエラーが発生したデータのデータアドレ
    スが格納されるデータアレイアドレスバックアップレジ
    スタと、前記システムコントローラに設けられたリクエ
    ストコードのバックアップレジスタ及び前記エラーが検
    出された場合でも前記主記憶装置にアクセスを続行させ
    るレジスタ群とを備えたことを特徴とするキャッシュメ
    モリ。
JP61168420A 1986-07-17 1986-07-17 キヤツシユメモリ Pending JPS6324428A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP61168420A JPS6324428A (ja) 1986-07-17 1986-07-17 キヤツシユメモリ
US07/073,513 US4901228A (en) 1986-07-17 1987-07-15 Pipelined cache system using back up address registers for providing error recovery while continuing pipeline processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61168420A JPS6324428A (ja) 1986-07-17 1986-07-17 キヤツシユメモリ

Publications (1)

Publication Number Publication Date
JPS6324428A true JPS6324428A (ja) 1988-02-01

Family

ID=15867793

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61168420A Pending JPS6324428A (ja) 1986-07-17 1986-07-17 キヤツシユメモリ

Country Status (2)

Country Link
US (1) US4901228A (ja)
JP (1) JPS6324428A (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01146187A (ja) * 1987-12-02 1989-06-08 Mitsubishi Electric Corp キヤッシュメモリ内蔵半導体記憶装置
JPH0743676B2 (ja) * 1988-03-11 1995-05-15 株式会社日立製作所 バツクアツプデータダンプ制御方法及び装置
GB9008145D0 (en) * 1989-05-31 1990-06-06 Ibm Microcomputer system employing address offset mechanism to increase the supported cache memory capacity
US5347648A (en) * 1990-06-29 1994-09-13 Digital Equipment Corporation Ensuring write ordering under writeback cache error conditions
US5155843A (en) * 1990-06-29 1992-10-13 Digital Equipment Corporation Error transition mode for multi-processor system
US5961629A (en) * 1991-07-08 1999-10-05 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
US5539911A (en) * 1991-07-08 1996-07-23 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
US5438668A (en) 1992-03-31 1995-08-01 Seiko Epson Corporation System and method for extraction, alignment and decoding of CISC instructions into a nano-instruction bucket for execution by a RISC computer
WO1993020505A2 (en) * 1992-03-31 1993-10-14 Seiko Epson Corporation Superscalar risc instruction scheduling
DE69308548T2 (de) * 1992-05-01 1997-06-12 Seiko Epson Corp Vorrichtung und verfahren zum befehlsabschluss in einem superskalaren prozessor.
DE69329778T2 (de) * 1992-09-29 2001-04-26 Seiko Epson Corp., Tokio/Tokyo System und verfahren zur handhabung von laden und/oder speichern in einem superskalar mikroprozessor
US6735685B1 (en) 1992-09-29 2004-05-11 Seiko Epson Corporation System and method for handling load and/or store operations in a superscalar microprocessor
EP0849665B1 (en) 1992-12-31 2001-10-04 Seiko Epson Corporation System and method for register renaming
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
GB2302190B (en) * 1994-05-09 1999-01-06 Secr Defence Data cache
GB9409148D0 (en) * 1994-05-09 1994-06-29 Secr Defence Data cache
JP3281211B2 (ja) * 1995-01-31 2002-05-13 富士通株式会社 同期式メモリを有する情報処理装置および同期式メモリ
US5987578A (en) * 1996-07-01 1999-11-16 Sun Microsystems, Inc. Pipelining to improve the interface of memory devices
US5793944A (en) * 1996-09-13 1998-08-11 International Business Machines Corporation System for restoring register data in a pipelined data processing system using register file save/restore mechanism
US6360307B1 (en) 1998-06-18 2002-03-19 Cypress Semiconductor Corporation Circuit architecture and method of writing data to a memory
US6928521B1 (en) 2000-08-01 2005-08-09 International Business Machines Corporation Method, system, and data structures for using metadata in updating data in a storage device
US7962698B1 (en) 2005-10-03 2011-06-14 Cypress Semiconductor Corporation Deterministic collision detection
JP5625329B2 (ja) * 2009-11-16 2014-11-19 富士通株式会社 演算処理装置及び演算処理装置の制御方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3866183A (en) * 1973-08-31 1975-02-11 Honeywell Inf Systems Communications control apparatus for the use with a cache store
US4048236A (en) * 1975-03-07 1977-09-13 Ube Industries, Ltd. Process for preparing o-alkoxy-p-allylphenols
US4167782A (en) * 1977-12-22 1979-09-11 Honeywell Information Systems Inc. Continuous updating of cache store
JPS6051749B2 (ja) * 1979-08-31 1985-11-15 富士通株式会社 エラ−訂正方式
JPS5687282A (en) * 1979-12-14 1981-07-15 Nec Corp Data processor
US4445172A (en) * 1980-12-31 1984-04-24 Honeywell Information Systems Inc. Data steering logic for the output of a cache memory having an odd/even bank structure
US4439829A (en) * 1981-01-07 1984-03-27 Wang Laboratories, Inc. Data processing machine with improved cache memory management
US4464717A (en) * 1982-03-31 1984-08-07 Honeywell Information Systems Inc. Multilevel cache system with graceful degradation capability
JPS5958547A (ja) * 1982-09-28 1984-04-04 Fujitsu Ltd マイクロプログラム制御装置のエラ−処理方式
US4562536A (en) * 1983-06-30 1985-12-31 Honeywell Information Systems Inc. Directory test error mode control apparatus
US4608687A (en) * 1983-09-13 1986-08-26 International Business Machines Corporation Bit steering apparatus and method for correcting errors in stored data, storing the address of the corrected data and using the address to maintain a correct data condition
JPS6134793A (ja) * 1984-07-27 1986-02-19 Hitachi Ltd ダイナミツクメモリ装置における診断及びエラ−訂正装置

Also Published As

Publication number Publication date
US4901228A (en) 1990-02-13

Similar Documents

Publication Publication Date Title
JPS6324428A (ja) キヤツシユメモリ
US6848027B2 (en) Data processor having cache memory
US4884271A (en) Error checking and correcting for read-modified-write operations
JPH0581935B2 (ja)
US4791642A (en) Buffer error retry
JP4339914B2 (ja) エラー訂正コード生成方法及びメモリ管理装置
JPS6238953A (ja) 部分書込みアクセスを圧縮する主記憶装置
US8533565B2 (en) Cache controller and cache controlling method
JPS6141024B2 (ja)
JPS603769A (ja) エラ−回復方法
JP3074897B2 (ja) メモリ回路
JPH02259945A (ja) ストア処理方式
JPS63278162A (ja) 情報処理装置におけるエラ−訂正装置
CN121166041A (zh) 基于静态随机存取存储器的时序优化装置及方法
JPS5842546B2 (ja) ストア制御方式
JPS60189553A (ja) バッファメモリ制御方法
JPH0877067A (ja) キャッシュメモリ制御装置
JPS6135583B2 (ja)
JPH0520215A (ja) 情報処理装置
JPH0439099B2 (ja)
JPH04128950A (ja) 誤り検出機能付き主記憶の部分書込方法
JPS62271030A (ja) メモリアクセス方式
JPH04125747A (ja) キャッシュメモリ制御装置
JPS6226492B2 (ja)
JPH04233052A (ja) 二重化メモリ装置