JPH06243034A - 推論的データ転送を有するデータ処理装置と動作方法 - Google Patents

推論的データ転送を有するデータ処理装置と動作方法

Info

Publication number
JPH06243034A
JPH06243034A JP6023076A JP2307694A JPH06243034A JP H06243034 A JPH06243034 A JP H06243034A JP 6023076 A JP6023076 A JP 6023076A JP 2307694 A JP2307694 A JP 2307694A JP H06243034 A JPH06243034 A JP H06243034A
Authority
JP
Japan
Prior art keywords
data
signal
block
address
data block
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
JP6023076A
Other languages
English (en)
Inventor
Michael C Becker
マイケル・シー・ベッカー
Charles R Moore
チャールス・アール・ムーア
John S Muhich
ジョン・エス・ミュヒッチ
Robert J Reese
ロバート・ジェイ・リーズ
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.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
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 Motorola Inc filed Critical Motorola Inc
Publication of JPH06243034A publication Critical patent/JPH06243034A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06F12/0859Overlapped cache accessing, e.g. pipeline with reload from main memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Communication Control (AREA)
  • Advance Control (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

(57)【要約】 (修正有) 【目的】 推論的データ転送を有するデータ処理装置を
提供する。 【構成】 推論的データ転送を有するデータ処理装置は
アドレス回路40およびデータ回路42,44を有す
る。アドレス回路は、データ・ブロックおよびタグに対
応づけられたメモリ・アドレスを生成する。前記タグは
データ・ブロックの妥当性を表す。前記データ回路は、
第1時刻でメモリ・アドレスに対応づけられたデータ・
ブロックを受け取り、第2時刻で信号を受信する。この
信号はデータ・ブロックの妥当性を表す。データ回路
は、前記信号に応答してデータ・ブロックを拒否する。
データ処理装置は、データの妥当性がたとえばアドレス
比較または誤り訂正符号構成によって並行して判定され
る間、データを受け取ることができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は一般にデジタル・コンピ
ューティング・システムに関し、具体的には推論的デー
タ転送モードを有するデータ処理装置に関する。
【0002】
【従来の技術】データ処理装置の多くの用途では、個々
の記憶場所に格納されたデータの妥当性は対応づけられ
たタグによって決定される。そのため個々のデータ・ア
クセスを成功させるには、要求されたデータに対応づけ
られたタグが所定の基準を満たさなければならない。外
部メモリ・キャッシュおよび誤り訂正符号(以下「EC
C」と略記)メモリ・システムは、データの妥当性がこ
のような基準によって決定される2つのデータ記憶機構
である。
【0003】外部メモリ・キャッシュは、頻繁に用いら
れるデータをデータ処理装置または他の装置に供給する
ための比較的小型で高速のメモリ・システムである。時
間が許せば、またデータ処理システムの必要に応じて、
データはデータ処理システムのより低速の主記憶装置か
ら外部メモリ・キャッシュに定期的にロードされる。デ
ータはまた、外部メモリ・キャッシュから主記憶装置に
定期的に書き換えられて、他のデータのために外部キャ
ッシュの記憶場所を空ける。
【0004】個々のシステムにおいて外部メモリ・キャ
ッシュはその場所に特徴がある。外部メモリ・キャッシ
ュは、外部メモリ・キャッシュがデータを供給する先で
あるデータ処理装置またはその他の装置が位置するのと
同じ集積回路または「チップ」の上には位置づけられな
い。逆に外部メモリ・キャッシュは、キャッシュがデー
タを供給する先であるデータ処理装置の上に位置づけら
れるキャッシュ・システムである。しかしながら外部メ
モリ・キャッシュは、データ処理システムに結合される
唯一のキャッシュである場合もある。外部メモリ・キャ
ッシュは、内部メモリ・キャッシュ・システムの適正な
動作を必要としない。
【0005】どのキャッシュも、多くのメモリ・ブロッ
クとこれに対応する数の「タグ」に分割される。各メモ
リ・ブロックには、データ処理装置の動作に役立つデー
タが入っている。各タグは1つもしくは1群のメモリ・
ブロックに対応づけられており、対応づけられたメモリ
・ブロックもしくはメモリ・ブロック群を識別するデー
タが入っている。通常、タグは、対応づけられたデータ
・ブロックをロードする起点となる主記憶装置アドレス
の一部を表すデータを入れている。キャッシュは1つだ
けのまたは2〜3の特定のキャッシュ記憶素子の中に各
データ・ブロックを格納できる。記憶素子は、当該デー
タの主記憶装置アドレス・ビットのサブセットを介して
アクセスされる。同じアドレス・ビットのサブセットに
よって標識付けられた記憶素子を持つことができること
は「連想性」として知られる。たとえば四重連想(four-
way associative)キャッシュでは、各メモリ・アドレス
をキャッシュ内の4つの場所にマップできる。ダイレク
ト・マップ(direct-mapped) メモリ・キャッシュは、デ
ジェネレイト・キャッシュ(degenerate cache)の例であ
る。ダイレクト・マップ・メモリ・キャッシュ内では、
各メモリ・アドレスを一つのキャッシュ記憶素子にしか
マップできない。
【0006】データ処理システムが外部キャッシュから
データを要求する場合には、キャッシュはデータ・ブロ
ックの1つまたは複数の可能な場所にアクセスして、そ
れぞれの連想タグを、要求されたブロックのアドレスの
サブセットと比較しなければならない。タグの一つがデ
ータ・アドレスに符号する場合には「ヒット」が発生
し、当該タグの連想データがデータ処理システムに転送
される。タグがどれもメモリ・アドレスに符号しない場
合には「ミス」が発生して、キャッシュは要求されたデ
ータを収集するために、主記憶システムにアクセスしな
ければならない。誤り訂正符号メモリ・システムは、デ
ータの完全性が極めて重要なときに使用されるメモリ・
システムである。金融取引は、データの完全性が極めて
重要な種類のデータ処理である。この場合、メモリ・ブ
ロック内の1ビットが誤ると、プラス・マイナス何百万
ドルも違ってくることがある。ECCメモリ・システム
は、各メモリ・ブロックに一つのタグを対応づけること
によって動作する。各タグ内のデータの計算は、連想デ
ータ・ブロック上の関数を、当該データ・ブロックが最
初にメモリに格納されるときに実行することによって行
う。メモリからデータ・ブロックが検索されて、その結
果が、格納されたタグと比較されるたびに、関数は再計
算できる。結果とタグが異なる場合には、メモリ・エラ
ーが発生している。またほとんどのメモリ構成は、一定
のエラーを検出し訂正することができる。たとえばある
ECCメモリ構成では、64ビットの各データ・ブロッ
クは、これに対応づけられた8ビットのタグを有する。
それぞれのタグは、対応づけられたデータ・ブロック内
の1ビットおよび2ビットのエラーを検出でき、1ビッ
トのエラーは訂正できる。2ビットのエラーを有するメ
モリ・ブロックはメモリ・アクセス・エラーを生ずる。
【0007】
【発明が解決しようとする課題】既知の外部キャッシュ
および既知のECCメモリ・システムは、タグのないメ
モリ・システムに比べて、各システムのタグ比較がある
ために時間的ハンデが生ずる。各システムは要求された
データを検索してタグ比較を行い、ついでこのタグ比較
に基づいて、要求されたデータを転送するか、またはな
んらかの矯正措置を講じなければならない。すべての種
類のメモリ・システムは、データ処理システムが高速化
するに伴って高速化し、データ・ロード動作中にデータ
処理システムの機能が停止するのを回避しなければなら
ない。
【0008】
【課題を解決するための手段】本発明に従って、推論的
にデータを転送するための回路を有し、また先行技術の
不便な点を実質的に排除するデータ処理装置が開示され
る。
【0009】推論的データ転送を有するデータ処理装置
はアドレス回路およびデータ回路を有する。アドレス回
路は、データ・ブロックおよびタグに対応づけられるメ
モリ・アドレスを生成する。タグはデータ・ブロックの
妥当性を表す。データ回路は、第1時刻で前記メモリ・
アドレスに対応づけられたデータ・ブロックを受け取
り、続く第2時刻で信号を受信する。この信号は当該デ
ータ・ブロックの妥当性を表す。データ回路は、この信
号に応答して当該データ・ブロックを選択的に拒否す
る。
【0010】データを推論的にデータ処理装置に転送す
る方法は、複数のアドレス・ビットを生成する段階、デ
ータ処理装置の入力においてデータ・ブロックおよび周
期クロッキング信号を受信する段階、受け取ったデータ
・ブロックの妥当性を表す信号をデータ処理装置の入力
において受信する段階、および前記被受信信号に応答し
て、受け取ったデータ・ブロックを選択的に無視する段
階を有する。前記アドレス・ビット(複数)は一つのデ
ータ・ブロックに対応づけられる。このデータ・ブロッ
クおよび周期クロッキング信号は第1時刻で受信され
る。受け取ったデータ・ブロックの妥当性を表す信号は
第2時刻で受信される。第1時刻および第2時刻は周期
クロッキング信号の隣接するサイクルである。
【0011】
【実施例】図1は、本発明に従って構成されたデータ処
理システム10のブロック図を表す。データ処理システ
ム10は中央処理装置12(以下「CPU」または「デ
ータ処理装置」と略記),外部キャッシュ14(「EX
T.$」と表示),バス・アービトレーション装置1
6,主記憶装置18,入出力装置20(以下「I/O装
置」と略記)およびシステム・バス22を有する。図に
示すように、外部キャッシュ14,バス・アービトレー
ション装置16,主記憶装置18およびI/0装置20
はシステム・バス22を介して相互接続される。CPU
12は外部キャッシュ14を介してシステム・バス22
に接続される。本発明に従って、データ処理システム1
0は外部キャッシュ14または主記憶装置18からデー
タを推論的にロードして、これによって、本発明を用い
ない同等の装置に比べて、これらの装置へのメモリ・ア
クセス時間を減らすことができる。データは、CPU1
2に転送された時点でその妥当性が未知である場合には
「推論的にロードされる」。データの妥当性は、たとえ
ば、アドレス比較の間、または誤り訂正符号関数の結果
が出るまで、未知になる場合がある。妥当性検査段階
は、データ転送段階と並行して行うことができる。
【0012】以下に示すように、CPU12は、同報通
信アドレスによって識別および対応づけられたデータ・
ブロックが必要なときに、特に外部キャッシュ14また
は主記憶装置18にアドレスを同報通信する。当該装置
はついでデータを検索して、システム・バス22を介し
てこれをCPU12に戻す。当該装置はまた、データの
検索/同報通信段階と並行して、同報通信データ・ブロ
ックが妥当か否かを示す。外部キャッシュ14によって
供給されたデータの場合、当該データ・ブロックが本
来、主記憶装置18内の、CPU12によって同報通信
されたアドレスとは異なるアドレスから来たものである
ことを、データ・ブロックに対応づけられたタグが示す
場合には、データが無効となることがある。主記憶装置
18の場合、主記憶装置が、たとえば誤り訂正符号(以
下「ECC」と略記)構成を使用し、この構成がメモリ
・エラーの発生を示すならば、データ・ブロックは無効
になることがある。どちらの場合でも、当該装置は、デ
ータ・ブロックがCPU12に戻った直後のクロック・
サイクルで、CPU12にデータ再試行信号を同報通信
する。CPU12は、データ再試行信号を受信すると直
ちに、以前受け取ったデータ・ブロックを無視する。無
効のデータ・ブロックを供給した装置はついで、一定の
状況の下で、CPU12に有効なデータ・ブロックを戻
すことができる。
【0013】当業者は、図1に示す諸ブロックの機能の
多くを熟知していよう。一般に、CPU12は、主記憶
装置18に格納された一連の命令を実行する汎用データ
処理装置である。外部キャッシュ14には、主記憶装置
18に格納されたデータのサブセットが入っており、こ
れを要求できるいずれの装置(通常はCPU12)にも
これを迅速に提供する。I/0装置20は、各種の周辺
装置(図示せず)と、データ処理システム10の他の装
置との間で、システム・バス22を介してデータをやり
とりする経路を設定する。これらの周辺装置には、ビデ
オ・ディスプレイ,プリンタ,通信ネットワークなどを
含めることができる。バス・アービトレーション装置1
6はシステム・バス22を、当該バスの使用をその都度
要求できる装置に割り当てる。図1に示す装置の機能
で、本発明を実現するのに必要なさらなる機能につい
て、以下に説明する。
【0014】図2は、図1に示す中央処理装置12のブ
ロック図を表す。CPU12は、分岐命令装置26,固
定小数点実行装置28および浮動小数点実行装置30
(まとめて「実行装置」という)に命令およびオペラン
ドを供給する命令待ち行列およびディスパッチ論理装置
24を有する。分岐命令装置26の出力は命令取り出し
装置32の入力に接続される。命令取り出し装置32の
出力は内部キャッシュ34(「INTERNAL $」
と表示)の入力に接続される。内部キャッシュ34の出
力および第2入力はメモリ待ち行列およびバス・インタ
フェース装置36に接続される。固定小数点実行装置2
8の出力はメモリ管理装置38(以下「MMU」と略
記)に接続される。MMU38の出力は内部キャッシュ
34に接続される。浮動小数点実行装置30および内部
キャッシュ34はそれぞれ、命令待ち行列およびディス
パッチ論理装置24に接続される出力を生成する。
【0015】当業者は図2に示す諸ブロックの機能の多
くを熟知していよう。一般に、命令待ち行列およびディ
スパッチ論理装置24は、特定の種類の命令が与えられ
た場合に適宜、命令およびオペランドを3つの実行装置
に転送する。3つの実行装置は結合されて、CPU12
が実行可能な一群の命令を実行する。分岐命令装置26
および命令取り出し装置32は、演算中にどの命令を実
行すべきかを決定して、内部キャッシュ34に、当該命
令を命令待ち行列およびディスパッチ論理装置24に転
送させる。固定小数点実行装置28は固定小数点命令,
メモリ・ロード命令およびメモリ記憶命令を処理する。
浮動小数点実行装置30はすべての浮動小数点命令を処
理する。内部キャッシュ34は、主記憶装置18からの
データおよび命令を一時的に格納する高速メモリ・シス
テムである。内部キャッシュ34は、データを命令待ち
行列およびディスパッチ論理装置24に送る。メモリ待
ち行列およびバス・インタフェース装置36は内部キャ
ッシュ34と連携して、システム・バス22へのアクセ
スまたはシステム・バス22からのアクセスを必要とす
る演算を処理する。メモリ待ち行列およびバス・インタ
フェース装置36は、DATA,CONTROLおよび
ADDRESSという3つの信号グループに結合され
る。DATAおよびADDRESSと称される信号は、
特定のデータ・ブロックとこれに対応するメモリ内の場
所を識別する情報を含む。(これらの信号はまた、メモ
リ・システム以外の装置にアクセスし、これを制御する
のにも用いられる。)CONTROLと称される信号
は、CPUのバス・プロトコルを実行する各種の制御信
号を識別する情報を含む。MMU38は、ロード命令,
記憶命令および命令取り出しのために、仮想アドレスか
ら実アドレスへの変換を実行する。
【0016】図3は、図2に示すメモリ待ち行列および
バス・インタフェース装置36のブロック図を表す。メ
モリ待ち行列およびバス・インタフェース装置36は、
システム・バス22にアドレス要求を同報通信し、シス
テム・バス22から連想データ・ブロックを受け取るた
めにそれぞれ、バス・アドレス・レジスタ40およびバ
ス・データ・レジスタ42を有する。バス・アドレス・
レジスタ40およびバス・データ・レジスタ42はとも
に、周期クロッキング・バス信号(「>」と略記)によ
って刻時される。メモリ待ち行列およびバス・インタフ
ェース装置36までのデータの流れは、書換バッファ4
4にパイプラインされてから、内部キャッシュ34に送
られる。図に示す実施例において、書換バッファ44は
2データ・ブロック幅であり、内部キャッシュ34は、
書換バッファ44に2個の有効なデータ・ブロックが入
っている場合にのみアクセスされる。メモリ待ち行列お
よびバス・インタフェース装置36はこれにより、内部
キャッシュ34への書き込み回数を少なくして、他のよ
り重要な動作のために内部キャッシュ34を空ける。N
ANDゲート46への入力はバス・クロッキング信号
「CLOCK」およびデータ再試行信号「反転DRT
Y」に接続される。
【0017】演算において、データ・レジスタ42は、
バス・アドレス・レジスタ40が連想アドレスを同報通
信した後、システム・バス22によって、CPU12に
戻されるデータ・ブロックを無条件にラッチする。次の
クロック・サイクルで、このデータ・ブロックを供給す
る装置は、反転DRTRY信号をアサートすることによ
って、このデータ・ブロックを無効にできる。反転DR
TRY信号が論理高レベル(非アサート)の場合には、
書換バッファ44はバス・データ・レジスタ42内に存
在するデータ・ブロックをラッチする。反転DRTRY
信号が論理低レベル(アサート)場合には、バス・デー
タ・レジスタ42内に格納されたデータ・ブロックは書
換バッファ44によってラッチされない。その代わり、
次のバス・クロック・サイクルの間に、バス・データ・
レジスタ42内のデータ・ブロックは上書きされて、無
効のデータ・ブロックは書換バッファ44に転送されな
い。
【0018】図4は図1に示す外部キャッシュ14のブ
ロック図を表す。前述したように、外部キャッシュ14
はCPU12と同じ集積回路上にはない。外部キャッシ
ュ14は、複数のデータ・ブロックおよび複数の連想タ
グを格納するために、それぞれメモリ・セルの第1バン
クおよび第2バンク48,50を有する。メモリ・バン
ク48,50はそれぞれ信号ADDRESSに接続され
る。信号ADDRESSはまた外部キャッシュ・コント
ローラ52に接続される。外部キャッシュ・コントロー
ラ52は反転DRTRY信号および「RELOAD/W
RITE」と称される信号を生成する。
【0019】通常、第1メモリ・バンク48は高速ラン
ダム・アクセス・メモリ(「RAM」)セルのバンクで
ある。これらのセルの少なくとも一つのブロックと、第
2メモリ・バンク50からの連想タグには、信号ADD
RESSを構成するアドレス・ビットのサブセットを用
いて同時に指標が付けられる。一つまたは複数の指標付
きデータ・ブロックには、以前のキャッシュ動作に応じ
て、所望のデータが入っている場合とそうでない場合が
ある。指標付きデータ・ブロック/タグ対の数は、キャ
ッシュの連想性の度合いによって異なる。たとえばダイ
レクト・マップ・キャッシュは一つのデータ・ブロック
/タグ対しか指標を付けない。四重連想キャッシュは、
4個のデータ・ブロック/タグ対に指標を付ける。その
ため、キャッシュ内のデータ・ブロックのアドレスによ
って、データ・ブロックの起点アドレスが一意に決定さ
れるわけではない。キャッシュ・データ・ブロックの
「起点アドレス」は、元々そのデータ・ブロックがあっ
た主記憶装置内のアドレスである。外部キャッシュ・コ
ントローラ52は、各指標付きタグの内容を、当該タグ
の指標付けに使用されなかったアドレスのビットと比較
する。タグの内容と選択したアドレス・ビットが符号す
る場合には、連想データ・ブロックは実際に所望のデー
タになる。タグの内容と選択したアドレス・ビットとが
符号しない場合には、連想データ・ブロックは所望のデ
ータではない。連想タグの内容は、キャッシュ配列内の
タグ(またはデータ・ワード)の場所と組み合わせて、
連想データ・ブロックの起点アドレスを一意に識別す
る。
【0020】演算において、外部キャッシュ14はたと
えばCPU12が所望するデータ・ブロックのアドレス
を受け取る。好適実施例では、一つのデータ・ブロック
と一つの連想タグは、信号ADDRESSのサブセット
によって識別される。当業者は、本発明を、ダイレクト
・マップ・キャッシュ以外のキャッシュの実現へと容易
に拡張できる。ついでデータ・ブロックは信号DATA
を介して出力される。同時に、連想タグの内容が、当該
データ・ブロックおよびタグのアドレス指定に使用され
なかった信号ADDRESSの部分と比較される。当該
タグと残りのアドレス・ビットが同一の場合には、既に
出力されたデータ・ブロックは事実上、完全な信号AD
DRESSによって識別されたデータ・ブロックにな
る。これは「キャッシュ・ヒット」と呼ばれる。当該タ
グと残りのアドレス・ビットが同一でない場合には、既
に出力されたデータ・ブロックは、完全な信号ADDR
ESSによって識別されたデータ・ブロックではない。
これは「キャッシュ・ミス」と呼ばれる。外部キャッシ
ュ・コントローラ52はこのミスを検出して、出力され
たデータ・ブロックが無効であることを示す反転DRT
RY信号をアサートする。ついで外部キャッシュ・コン
トローラ52はRELOAD/WRITE信号を生成で
き、この信号は、所望のデータ・ブロックを、主記憶装
置18から外部キャッシュ14にロードさせる。その後
データは、たとえばCPU12に転送されることができ
る。正しいデータがシステム・バス22に供給された
後、反転DRTRY信号はデアサート(deassert)され
る。信号RELOAD/WRITEも外部キャッシュ1
6(14?)によってアサートされて、外部キャッシュ
14がデータ・ブロックを変更した後、データ・ブロッ
クを主記憶装置18に書き込むことができる。
【0021】図5は図1に示す主記憶装置18のブロッ
ク図を表す。主記憶装置18は、誤り訂正符号ジェネレ
ータ54(以下誤り訂正符号を「ECC」と略記),複
数のデータ・ブロックと連想ECCタグを格納するため
のRAMセルのブロック56,RAM56の出力を受け
取って格納するためのデータ・レジスタ58およびEC
C検出/訂正装置60を有する。当業者は、図5が単純
化された主記憶システムを表していることを容易に認め
よう。本発明に関係のないいくつかの機能は、本発明の
コンセプトをより明確に示すために削除されている。た
とえば主記憶システムは、主記憶システムが実行するい
かなる種類の記憶動作も制御するために、READおよ
びWRITE制御信号を有する。
【0022】演算において、たとえばCPU12は、信
号ADDRESSおよびDATAを介して、アドレスお
よび連想データ・ブロックをそれぞれ、メモリ書き込み
動作において供給する。ECCジェネレータ54はデー
タ・ブロックを受け取り、入力としてデータ・ブロック
を用いてECC関数を計算し、格納するために「記号」
をRAM56に転送する。この記号はデータ・ブロック
とECC関数の出力を組み合わせたものである。RAM
56は、連想ADDRESSSG信号によって示される
記憶場所にこの記号を格納する。主記憶装置18は、起
点ブロックと共に、ECCの結果またはタグを格納する
必要はない。タグは、後のメモリ読み込み動作で使用す
るために、どこかに格納しておかなければならない。
【0023】メモリ読み取り動作において、たとえばC
PU12は、CPU12が所望するデータ・ブロックの
アドレスをRAM56に供給する。RAM56は、指定
したアドレスに格納されたデータ・ブロックおよびタグ
をデータ・レジスタ58に出力する。データ・レジスタ
58はこのデータ・ブロックをラッチして、これを信号
DATAを介して外部キャッシュ14およびECC検出
/訂正装置60に出力する。データ・レジスタ58はま
たタグもECC検出/訂正装置60に転送する。ECC
検出/訂正装置60は、格納されたデータ・ブロックを
用いて、その入力と同じECC関数を生成する。格納さ
れたデータ・ブロックもしくはタグが、この2つがRA
M56に書き込まれた時と、この2つがRAM56から
読み取られた時の間で変化した場合には、2つのECC
タグは異なる。ECC検出/訂正装置60はECCの結
果と以前格納されたタグとを比較する。この2つのタグ
が異なる場合には、メモリ・エラーが発生して、ECC
検出/訂正装置60は反転DRTRY信号をアサートす
る。前述したとおり、反転DRTRY信号のアサートに
よって、CPU12は以前転送されたデータ・ブロック
を無視する。この2つのタグが同じ場合には、メモリ・
エラーは発生しておらず(或いは、可能性は低いが、検
出不可能なマルチビット・エラーが発生)、ECC検出
/訂正装置60は反転DRTRY信号をアサートしな
い。この並行して行われるデータ転送/妥当性検査プロ
セスは、データの妥当性検査機能を保持しながら、可能
な限り迅速に、要求側の装置にデータ・ブロックを転送
する。
【0024】ECC検出/訂正装置60は一定のECC
構成ではデータ・ブロックを訂正することができる。E
CC検出/訂正装置60がデータを訂正できる場合に
は、正しいデータをデータ・レジスタ58に転送し、反
転DRTRY信号をデアサートする。要求側の装置はつ
いで、信号DATAを介して正しいデータ・ブロックを
見る。
【0025】図6は、第1動作モードに従って本発明を
実現するために動作可能な制御信号セットのタイミング
図62を表す。具体的には、図6は一つのデータ・ブロ
ック・トランザクションを表す。タイミング図62は、
横軸に添って時間変数を表す。時間は便宜上、「CLO
CK」と称される周期クロック信号64のサイクルによ
って計測できる。タイミング図62は、信号CLOCK
と、他の5つの信号とを対比させて表している。すなわ
ち反転TSと称されるトランザクション・スタート6
6,反転DBGと称されるデータ・バス使用許可68,
反転DBBと称されるデータ・バス使用中70,DAT
Aと称されるデータ72,および反転DRTRYと称さ
れるデータ再試行74である。反転TSおよび反転DB
B信号は、データ処理システム10のいくつかの異なる
装置によってアサートできるバス信号である。そのため
これらの信号は、非能動の高論理状態のときは平行二重
線で表されるトライ・ステート信号である。信号DAT
Aは、Nビット幅(Nは整数)のデータ経路のためのN
個の独立した信号となることを理解されたい。
【0026】演算において、CPU12は、反転TS信
号をアサートすることによって、システム・バス22が
必要であることを示す。バス・アービトレーション装置
16は、反転DBG信号をアサートすることによってシ
ステム・バス22が使用可能なときに、CPU12に対
しシステム・バス22の使用を許可する。この例では、
システム・バス22はすぐに使用可能になる。そのため
バス・アービトレーション装置16は第1クロック・サ
イクルの間に反転DBGをアサートする。CPU12
は、つぎのクロック・サイクルで反転DBB信号をアサ
ートすることによってデータ処理システム10にシステ
ム・バス22の使用を同報通信し、CPU12がシステ
ム・バス22の使用を終えるまで、反転DBBのアサー
トを続ける。選択したデータを入れているサブシステム
も、第2クロック・サイクルの間にデータを送出する。
【0027】図6の括弧内に示すように、第2クロック
・サイクルの間にCPU12に送出されたデータ・ブロ
ックは無効である。前述したとおり、このデータが無効
となるのは、それが所望のアドレスに対応づけられたデ
ータではないため、そのデータがエラーが入っているた
め、またはその他のなんらかの理由による。データを供
給するサブシステムは反転DRTRY信号をアサートし
て、CPU12に、以前のサイクルで同報通信されたデ
ータを無視させる。データを供給するサブシステムは、
正しいデータを供給できるようになるまで、反転DRT
RY信号のアサートを続ける。ついでサブシステムは、
サブシステムが正しいデータを供給したクロック・サイ
クルの直後のサイクルで、反転DRTRY信号をデアサ
ートする。図に示す例では、正しいデータは、誤ったデ
ータが供給された直後、すなわち第3クロック・サイク
ルで供給される。そのため反転DRTRY信号は第4ク
ロック・サイクルでデアサートされる。
【0028】図7は、第2動作モードに基づき本発明を
実現するために動作可能な制御信号セットのタイミング
図76を表す。具体的には、図7は4データ・ブロック
・トランザクションまたはバーストを表す。タイミング
図76は横軸に添って時間変数を表す。時間は便宜上、
「CLOCK」と称される周期クロック信号64のサイ
クルによって計測できる。タイミング図76は信号CL
OCKと対比させて他の3つの信号を表す。すなわち反
転DBBと称されるデータ・バス使用中80,DATA
と称されるデータ82,反転DRTRYと称されるデー
タ再試行84である。反転TSおよび反転DBBという
2つの信号は図7には示されていない。これらは図6に
関連して前に説明してある。信号DATAは、Nビット
幅(Nは整数)のデータ経路のためのN個の独立信号と
なることを理解されたい。
【0029】4ブロック・データ・バースト動作におい
て、選択されたデータを入れているサブシステムは、第
1クロック・サイクルから4個のデータ・ブロックを送
出する。図7の括弧内に示すように、第4クロック・サ
イクルの間にCPU12に送出された4番目のデータ・
ブロックは無効である。しかしながら本発明は、一つま
たは複数のデータ・ブロックが無効であることを示すの
に使用できる。データを供給するサブシステムは反転D
RTRY信号をアサートして、CPU12に、以前の
(第4)サイクルで同報通信されたデータを無視させ
る。データを供給するサブシステムは、正しいデータを
供給できるようになるまで、反転DRTRY信号のアサ
ートを続ける。図に示す例では、正しいデータは第7サ
イクルにおいて供給される。そのため反転DRTRY信
号は第8サイクルでデアサートされる。一般に、無効の
データ・ブロックがn番目のクロック・サイクル(nは
整数)でCPU12に同報通信される場合はいつでも、
当該サブシステムは(n+1)番目のクロック・サイク
ルで反転DRTRYをアサートできる。
【0030】図8は、図6および図7に示すタイミング
図を実現するために動作可能な一連の段階の流れ図86
を表す。図8に示す諸段階は、推論データを受け取る装
置によって実行される。上記の例では、CPU12が図
8に示す諸段階を実行する。流れ図86は、CPU12
がシステム・バス22の制御を取得し、一つの記憶場所
に一つのアドレスを発行する段階88から開始する。つ
いでCPU12は、要求されたデータ・ブロックを管理
するサブシステムによってデータがCPUに戻されるの
を待つ(段階90)。最終的にCPU12はシステム・
バス22を介してデータ・ブロックを受け取る。通常、
各データ・ブロックは転送肯定応答信号を伴わなければ
ならない(段階92)。転送肯定応答信号は、当該シス
テムがデータ・ブロックをシステム・バス22に乗せた
ことを示す。転送肯定応答信号が存在しない場合には、
流れ図86は段階90に分岐して、さらなるデータおよ
び適正な転送肯定応答信号を待つ。
【0031】転送肯定応答信号が正しい場合には、CP
U12は受け取ったデータ・ブロックをバス・データ・
レジスタ42にロードする(段階94)。後続のクロッ
ク信号の間、要求されたデータ・ブロックを供給するサ
ブシステムによって、反転DRTRY信号がアサートさ
れる場合がある(段階96)。反転DRTRY信号がア
サートされる場合には、流れ図86は段階94に分岐す
る。段階94では、データ・ブロックが有効になり、反
転DRTRY信号がアサートされなくなるまで、CPU
12はシステム・バス22の上に存在するデータ・ブロ
ックをロードしてフラッシュ(flush) を続ける。反転D
RTRY信号がアサートされないと、CPU12は、受
け取ったデータ・ブロックを書換バッファ44にロード
する。
【0032】段階100では、信号転送肯定応答がアサ
ートされる場合には、CPU12は段階94に分岐し
て、さらなるデータ・ブロックをバス・データ・レジス
タ42にロードする。信号転送肯定応答がアサートされ
ない場合には、流れ図86は段階102にいく。段階1
02では、CPU12は、要求されたデータ・ブロック
すべてが受け取られたか否かを判定する。CPU12が
すべてのデータ・ブロックを受け取った場合には、流れ
図86は終了する(段階104)。CPUが要求された
すべてのデータ・ブロックを受け取っていない場合に
は、流れ図86は段階90に分岐して、CPU12はさ
らなるデータ・ブロックなどを待つ。 1.推論的データ転送を有するデータ処理装置(12)
であって:メモリ・アドレスを生成するためのアドレス
回路(40)であって、前記アドレスはデータ・ブロッ
クおよびタグに対応づけられ、前記タグは前記データ・
ブロックの妥当性を表すアドレス回路;および第1時刻
でメモリ(42,44)・アドレスに対応づけられたデ
ータ・ブロックを受け取り、また続く第2時刻で信号を
受信するためのデータ回路であって、前記信号は前記デ
ータ・ブロックの妥当性を表し、前記データ回路は前記
信号に応答して前記データ・ブロックを選択的に拒否す
るためのデータ回路;によって構成されることを特徴と
するデータ処理装置。 2.推論的データ転送を有するデータ処理装置(12)
であって:メモリ・アドレスを生成するためのアドレス
回路(40)であって、前記メモり・アドレスはデータ
・ブロックおよびタグに対応づけられるアドレス回路;
および前記データ・ブロック,周期クロッキング信号,
および前記データ・ブロックの妥当性を表す信号を受信
するためのデータ回路(42,44)であって、前記デ
ータ回路は第1時刻で前記データ・ブロックを受け取
り、続く第2時刻で前記信号を受信し、また前記データ
回路は前記信号に応答して前記データ・ブロックを拒否
し、前記第1時刻および前記第2時刻は前記周期クロッ
キング信号の隣接サイクルであるデータ回路;によって
構成されることを特徴とするデータ処理装置。 3.データを推論的にデータ処理装置(12)に転送す
る方法であって:複数のアドレス・ビットを生成し、前
記アドレス・ビットが一つのデータ・ブロックに対応づ
けられる段階;第1時刻で、前記データ処理装置の入力
において、前記データ・ブロックおよび周期クロキング
信号を受信する段階(90);前記受け取ったデータ・
ブロックを前記データ処理装置内に格納する段階(9
4);続く第2時刻で、前記データ処理装置の入力にお
いて、前記受け取ったデータ・ブロックの妥当性を表す
信号を受信し、前記第1および第2時刻は、前記周期ク
ロッキング信号の隣接するサイクルに対応づけられる段
階(96);および前記被受信信号に応答して前記受け
取ったデータ・ブロックを選択的に無視する段階(9
8);によって構成されることを特徴とする方法。 A.前記データ回路はさらに:第1時刻で、前記データ
・ブロックを受け取って格納するための第1ラッチ(4
2);および前記第1ラッチに結合された第2ラッチ
(44)であって、前記第2ラッチは前記信号に応答し
て第2時刻で前記データ・ブロックを受け取る第2ラッ
チ(44);によって構成されることを特徴とする前記
1記載のデータ処理装置。 B.データ処理システム(10)であって:前記(1)
記載のデータ処理装置(12);前記アドレス回路およ
び前記データ回路に結合されたメモリ回路(16)であ
って、前記メモリ回路は:前記データ処理装置に応答し
て、前記データ・ブロックおよび前記タグを検索するた
めの記憶回路(48);および前記記憶回路によって検
索された前記連想タグに応答して前記信号を生成するた
めのタグ比較回路(50,52);によって構成される
メモリ回路(16);によって構成されることを特徴と
するデータ処理システム。 C.前記タグ比較回路は、前記連想タグを、前記メモリ
・アドレスのアドレス・ビットのサブセットと比較する
ことを特徴とする前記B記載のデータ処理システム。 D.前記データ回路はさらに:第1時刻に前記データ・
ブロックを受け取って格納するための第1ラッチ(4
2);および前記第1ラッチに結合された第2ラッチ
(44)であって、前記第2ラッチは前記信号に応答し
て続く第2時刻で前記データ・ブロックを受け取る第2
ラッチ;によって構成されることを特徴とする前記C記
載のデータ処理システム。 E.前記タグ比較回路は、誤り訂正符号関数を生成する
ための誤り訂正符号回路(60)によって構成されるこ
とを特徴とする前記B記載のデータ処理システム。 F.前記データ回路はさらに:第1時刻で前記データ・
ブロックを受け取って格納するための第1ラッチ(4
2);および前記第1ラッチに結合された第2ラッチ
(44)であって、前記第2ラッチは前記信号に応答し
て続く第2時刻で前記データ・ブロックを受け取る第2
ラッチ;によって構成されることを特徴とする前記E記
載のデータ処理システム。 G.前記データ回路はさらに:第1時刻で前記データ・
ブロックを受け取って格納するための第1ラッチ;およ
び前記第1ラッチに結合された第2ラッチであって、前
記第2ラッチは前記信号に応答して続く第2時刻で前記
データ・ブロックを受け取る第2ラッチ;によって構成
されることを特徴とする前記2記載のデータ処理システ
ム。 H.データ処理システム(10)であって:前記(2)
記載データ処理装置(10);前記アドレス回路および
前記データ回路に結合されたメモリ回路(16)であっ
て、前記メモリ回路は:前記データ処理装置に応答し
て、前記データ・ブロックおよび前記タグを検索するた
めの記憶回路(48);および前記記憶回路によって検
索された前記連想タグに応答して、前記信号を生成する
ためのタグ比較回路(50,52);によって構成され
るメモリ回路;によって構成されることを特徴とするデ
ータ処理システム。 I.前記タグ比較回路は前記連想タグを、前記メモリ・
アドレスのアドレス・ビットのサブセットと比較するこ
とを特徴とする前記H記載のデータ処理システム。 J.前記データ回路はさらに:第1時刻で前記データ・
ブロックを受け取って格納するための第1ラッチ(4
2);および前記第1ラッチに結合された第2ラッチ
(44)であって、前記第2ラッチは前記信号に応答し
て続く第2時刻で前記データ・ブロックを受け取る第2
ラッチ;によって構成されることを特徴とする前記I記
載のデータ処理システム。 K.前記タグ比較回路は、誤り訂正符号関数を生成する
ための誤り訂正符号回路(60)によって構成されるこ
とを特徴とする前記H記載のデータ処理システム。 L.前記データ回路はさらに:第1時刻で前記データ・
ブロックを受け取って格納するための第1ラッチ(4
2);および前記第1ラッチに結合された第2ラッチ
(44)であって、前記第2ラッチは前記信号に応答し
て続く第2時刻で前記データ・ブロックを受け取る第2
ラッチ;によって構成されることを特徴とする前記K記
載のデータ処理システム。 M.データ処理システム内でデータを転送する方法であ
って:前記3記載の方法;前記データ処理装置の外部で
前記アドレス・ビットを受け取る段階;第1時刻で、前
記アドレス・ビットに対応づけられた前記データ・ブロ
ックを前記データ処理装置に同報通信する段階;前記デ
ータ・ブロックに対応づけられたタグを、前記データ処
理装置の外部の所定の値と比較する段階;第2時刻で、
前記信号を前記データ処理装置に同報通信し、前記信号
は前記比較段階に応答している段階;によって構成され
ることを特徴とする方法。 N.前記比較する段階が、前記データ・ブロックから誤
り訂正符号関数を生成する段階によって構成されること
を特徴とする前記M記載の方法。 O.前記無視する段階が、前記信号に応答してレジスタ
内で前記データ・ブロックをラッチする段階によって構
成されることを特徴とする前記N記載の方法。 P.前記比較する段階が、前記タグを前記アドレス・ビ
ットのサブセットと比較する段階によって構成されるこ
とを特徴とする前記M記載の方法。 Q.前記無視する段階が、前記信号に応答してレジスタ
内で前記データ・ブロックをラッチする段階によって構
成されることを特徴とする前記P記載の方法。
【0033】本発明は具体的な実施例を参照して説明し
てきたが、当業者はさらなる変形および改良が考えられ
よう。たとえば、開示されたCPU12の諸機能のそれ
ぞれを実行するCPU12の個々の装置は任意のもので
ある。各種の機能は異なる装置または装置の組み合わせ
によって実行しても、等しく支障なく動作できる。また
データ・ブロックの妥当性は、アドレス比較やECC構
成以外の構成によっても判定し得る。データ処理装置
は、格納されたパリティ・ビット(タグ)に対して単純
パリティ・チェックを使用してデータの完全性を確保し
てもよい。したがって本発明は、添付請求の範囲に定義
される本発明の意図および範囲から逸脱しない変形をす
べて包含するものと理解されたい。
【図面の簡単な説明】
本発明の特徴および利点は、添付図と合わせて上記の詳
細な説明からより明確に理解されよう。これらの図では
同一番号は同一部品および対応する部品を表す。
【図1】本発明に基づき構成されたデータ処理システム
のブロック図を表す。
【図2】図1に示す中央処理装置のブロック図を表す。
【図3】図2に示すメモリ待ち行列およびバス・インタ
フェース装置のブロック図を表す。
【図4】図1に示す第2レベル・メモリ・キャッシュの
ブロック図を表す。
【図5】図1に示す主記憶装置のブロック図を表す。
【図6】第1動作モードに従って本発明を実現するため
に動作可能な制御信号セットのタイミング図を表す。
【図7】第2動作モードに従って本発明を実現するため
に動作可能な制御信号セットのタイミング図を表す。
【図8】図6および図7に示すタイミング図を実現する
ために動作可能な一連の段階の流れ図を表す。
【符号の説明】
10 データ処理システム 12 中央処理装置 14 外部キャッシュ 16 バス・アービトレーション装置 18 主記憶装置 20 入出力装置 22 システム・バス 24 命令待ち行列およびディスパッチ論理装置 26 分岐命令装置 28 固定小数点実行装置 30 浮動小数点実行装置 32 命令取り出し装置 34 内部キャッシュ 36 メモリ待ち行列およびバス・インタフェース装置 38 メモリ管理装置 40 バス・アドレス・レジスタ 42 バス・データ・レジスタ 44 書換バッファ 48,50 メモリ・バンク 52 外部キャッシュ・コントローラ 54 ECCジェネレータ 56 RAM 58 データ・レジスタ 60 ECC検出/訂正装置 62 タイミング図 64 周期クロック信号 66 トランザクション・スタート 68 データ・バス使用許可 70 データ・バス使用中 72 データ 74 データ再試行 76 タイミング図 78 周期クロック信号 80 データ・バス使用中 82 データ 84 データ再試行 86 流れ図 88 スタート 90 データを待つ 92 転送肯定応答? 94 データを一時レジスタにロード 96 データ再試行? 98 データを永久レジスタにロード 100 転送肯定応答? 102 演算完了? 104 終了
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジョン・エス・ミュヒッチ アメリカ合衆国テキサス州オースチン、ア ルバ−ストン・ウエイ8606 (72)発明者 ロバート・ジェイ・リーズ アメリカ合衆国テキサス州オースチン、エ ファレム・ロード8100

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 推論的データ転送を有するデータ処理装
    置(12)であって:メモリ・アドレスを生成するため
    のアドレス回路(40)であって、前記アドレスはデー
    タ・ブロックおよびタグに対応づけられ、前記タグは前
    記データ・ブロックの妥当性を表すアドレス回路;およ
    び第1時刻でメモリ(42,44)・アドレスに対応づ
    けられたデータ・ブロックを受け取り、また続く第2時
    刻で信号を受信するためのデータ回路であって、前記信
    号は前記データ・ブロックの妥当性を表し、前記データ
    回路は前記信号に応答して前記データ・ブロックを選択
    的に拒否するためのデータ回路;によって構成されるこ
    とを特徴とするデータ処理装置。
  2. 【請求項2】 推論的データ転送を有するデータ処理装
    置(12)であって:メモリ・アドレスを生成するため
    のアドレス回路(40)であって、前記メモり・アドレ
    スはデータ・ブロックおよびタグに対応づけられるアド
    レス回路;および前記データ・ブロック,周期クロッキ
    ング信号,および前記データ・ブロックの妥当性を表す
    信号を受信するためのデータ回路(42,44)であっ
    て、前記データ回路は第1時刻で前記データ・ブロック
    を受け取り、続く第2時刻で前記信号を受信し、また前
    記データ回路は前記信号に応答して前記データ・ブロッ
    クを拒否し、前記第1時刻および前記第2時刻は前記周
    期クロッキング信号の隣接サイクルであるデータ回路;
    によって構成されることを特徴とするデータ処理装置。
  3. 【請求項3】 データを推論的にデータ処理装置(1
    2)に転送する方法であって:複数のアドレス・ビット
    を生成し、前記アドレス・ビットが一つのデータ・ブロ
    ックに対応づけられる段階;第1時刻で、前記データ処
    理装置の入力において、前記データ・ブロックおよび周
    期クロキング信号を受信する段階(90);前記受け取
    ったデータ・ブロックを前記データ処理装置内に格納す
    る段階(94);続く第2時刻で、前記データ処理装置
    の入力において、前記受け取ったデータ・ブロックの妥
    当性を表す信号を受信し、前記第1および第2時刻は、
    前記周期クロッキング信号の隣接するサイクルに対応づ
    けられる段階(96);および前記被受信信号に応答し
    て前記受け取ったデータ・ブロックを選択的に無視する
    段階(98);によって構成されることを特徴とする方
    法。
  4. 【請求項4】 データを推論的にデータ処理装置(1
    2)に転送する方法であって:前記データ処理装置内に
    複数のアドレス・ビットを生成し、前記アドレス・ビッ
    トは一つのデータ・ブロックに対応づけられる段階;第
    1時刻で、前記データ処理装置の入力において、前記ア
    ドレス・ビットのサブセットに対応づけられたデータ・
    ブロックを受け取る段階(92);前記受け取ったデー
    タ・ブロックを前記データ処理装置の第1レジスタ内
    に、格納する段階(94);続く第2時刻で、前記デー
    タ処理装置の入力において、前記データ・ブロックの妥
    当性を表す信号を受信する段階(96);および前記被
    受信信号に応答して、前記受け取ったデータ・ブロック
    を前記データ処理装置の第2レジスタ内に格納する段階
    (98);によって構成されることを特徴とする方法。
JP6023076A 1993-01-29 1994-01-25 推論的データ転送を有するデータ処理装置と動作方法 Pending JPH06243034A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/011,024 US5500950A (en) 1993-01-29 1993-01-29 Data processor with speculative data transfer and address-free retry
US011024 1996-02-02

Publications (1)

Publication Number Publication Date
JPH06243034A true JPH06243034A (ja) 1994-09-02

Family

ID=21748529

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6023076A Pending JPH06243034A (ja) 1993-01-29 1994-01-25 推論的データ転送を有するデータ処理装置と動作方法

Country Status (4)

Country Link
US (1) US5500950A (ja)
EP (1) EP0614146A1 (ja)
JP (1) JPH06243034A (ja)
KR (1) KR940018762A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004030527A (ja) * 2002-06-28 2004-01-29 Fujitsu Ltd 記憶制御装置、および記憶制御方法

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2130065C (en) * 1994-08-12 1999-03-02 Michael Joel Cincinatus Utilizing pseudotables as a method and mechanism for providing database monitor information
US5715106A (en) * 1994-10-17 1998-02-03 Adaptec, Inc. Disk system with headerless track format, embedded servo fields and constant density recording
US6223255B1 (en) 1995-02-03 2001-04-24 Lucent Technologies Microprocessor with an instruction level reconfigurable n-way cache
US5774685A (en) * 1995-04-21 1998-06-30 International Business Machines Corporation Method and apparatus for biasing cache LRU for prefetched instructions/data based upon evaluation of speculative conditions
US5664154A (en) * 1995-10-02 1997-09-02 Chromatic Research, Inc. M/A for optimizing retry time upon cache-miss by selecting a delay time according to whether the addressed location's dirty bit indicates a write-back
KR100348808B1 (ko) * 1996-04-24 2003-01-29 엘지전자주식회사 메모리간의 데이타 전송장치
US5940862A (en) * 1997-03-24 1999-08-17 Adaptec, Inc. Data sector mark generation for a headerless disk drive architecture
US6000018A (en) * 1997-06-17 1999-12-07 Adaptec, Inc. System for aligning control words for identifying boundaries of headerless data sectors using automatic incrementing and discarding of data frame numbers
US5961636A (en) * 1997-09-22 1999-10-05 International Business Machines Corporation Checkpoint table for selective instruction flushing in a speculative execution unit
US6263404B1 (en) * 1997-11-21 2001-07-17 International Business Machines Corporation Accessing data from a multiple entry fully associative cache buffer in a multithread data processing system
FR2777370B1 (fr) * 1998-04-09 2000-06-23 Sgs Thomson Microelectronics Architecture de dsp optimisee pour les acces memoire
US6502218B1 (en) * 1999-12-16 2002-12-31 Intel Corporation Deferred correction of a single bit storage error in a cache tag array
AU2003241090A1 (en) * 2002-06-13 2003-12-31 Koninklijke Philips Electronics N.V. Load speculation method
US7136990B2 (en) * 2003-01-16 2006-11-14 Ip-First, Llc. Fast POP operation from RAM cache using cache row value stack
US7139877B2 (en) * 2003-01-16 2006-11-21 Ip-First, Llc Microprocessor and apparatus for performing speculative load operation from a stack memory cache
US7191291B2 (en) * 2003-01-16 2007-03-13 Ip-First, Llc Microprocessor with variable latency stack cache
US7139876B2 (en) * 2003-01-16 2006-11-21 Ip-First, Llc Microprocessor and apparatus for performing fast speculative pop operation from a stack memory cache
US7966468B1 (en) * 2004-12-13 2011-06-21 Nvidia Corporation Apparatus, system, and method for fast read request transfer through clock domains
US8549383B2 (en) * 2011-08-24 2013-10-01 Oracle International Corporation Cache tag array with hard error proofing
KR20130136341A (ko) * 2012-06-04 2013-12-12 에스케이하이닉스 주식회사 반도체 장치 및 그 동작 방법
US9384002B2 (en) 2012-11-16 2016-07-05 International Business Machines Corporation Speculative finish of instruction execution in a processor core
US8990640B2 (en) 2012-11-16 2015-03-24 International Business Machines Corporation Selective posted data error detection based on request type
US8990641B2 (en) 2012-11-16 2015-03-24 International Business Machines Corporation Selective posted data error detection based on history
US9058260B2 (en) 2013-04-04 2015-06-16 International Business Machines Corporation Transient condition management utilizing a posted error detection processing protocol

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4051355A (en) * 1976-04-29 1977-09-27 Ncr Corporation Apparatus and method for increasing the efficiency of random access storage
US4493026A (en) * 1982-05-26 1985-01-08 International Business Machines Corporation Set associative sector cache
US4604750A (en) * 1983-11-07 1986-08-05 Digital Equipment Corporation Pipeline error correction
US4914582A (en) * 1986-06-27 1990-04-03 Hewlett-Packard Company Cache tag lookaside
DE3750662T2 (de) * 1986-08-12 1995-02-16 Hitachi Ltd Mikroprozessor zur Datentransferwiederholung.
US4791642A (en) * 1986-10-17 1988-12-13 Amdahl Corporation Buffer error retry
US5210867A (en) * 1990-10-05 1993-05-11 Bull Hn Information Systems Inc. Method and apparatus for memory retry
US5361267A (en) * 1992-04-24 1994-11-01 Digital Equipment Corporation Scheme for error handling in a computer system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004030527A (ja) * 2002-06-28 2004-01-29 Fujitsu Ltd 記憶制御装置、および記憶制御方法

Also Published As

Publication number Publication date
EP0614146A1 (en) 1994-09-07
KR940018762A (ko) 1994-08-18
US5500950A (en) 1996-03-19

Similar Documents

Publication Publication Date Title
JPH06243034A (ja) 推論的データ転送を有するデータ処理装置と動作方法
US4995041A (en) Write back buffer with error correcting capabilities
US5509119A (en) Fast comparison method and apparatus for error corrected cache tags
US6665774B2 (en) Vector and scalar data cache for a vector multiprocessor
US5586294A (en) Method for increased performance from a memory stream buffer by eliminating read-modify-write streams from history buffer
US5388247A (en) History buffer control to reduce unnecessary allocations in a memory stream buffer
US5224214A (en) BuIffet for gathering write requests and resolving read conflicts by matching read and write requests
CN101495968B (zh) 用于软件事务存储器系统的硬件加速
US6564306B2 (en) Apparatus and method for performing speculative cache directory tag updates
JP3067112B2 (ja) 遅延プッシュをコピー・バック・データ・キャッシュに再ロードする方法
KR100308677B1 (ko) 복수l1캐쉬라인의파이프라인형스누핑
US7337352B2 (en) Cache entry error-connecting code (ECC) based at least on cache entry data and memory address
US5893921A (en) Method for maintaining memory coherency in a computer system having a cache utilizing snoop address injection during a read transaction by a dual memory bus controller
US6480975B1 (en) ECC mechanism for set associative cache array
US5909694A (en) Multiway associative external microprocessor cache
JPH0345407B2 (ja)
JPH08272688A (ja) 階層化された記憶項目とキャッシュタグを単一キャッシュアレイ構造に格納するキャッシュメモリ装置及び方法
US7120836B1 (en) System and method for increasing cache hit detection performance
US7707463B2 (en) Implementing directory organization to selectively optimize performance or reliability
US6477635B1 (en) Data processing system including load/store unit having a real address tag array and method for correcting effective address aliasing
US6591393B1 (en) Masking error detection/correction latency in multilevel cache transfers
JPH05334170A (ja) デュアルポートメモリ用制御回路
US6138206A (en) Data register for multicycle data cache read
US6898738B2 (en) High integrity cache directory
US5687350A (en) Protocol and system for performing line-fill address during copy-back operation