JPH03225542A - データ記憶方法及びビットエンコードデータの処理回路 - Google Patents

データ記憶方法及びビットエンコードデータの処理回路

Info

Publication number
JPH03225542A
JPH03225542A JP2336885A JP33688590A JPH03225542A JP H03225542 A JPH03225542 A JP H03225542A JP 2336885 A JP2336885 A JP 2336885A JP 33688590 A JP33688590 A JP 33688590A JP H03225542 A JPH03225542 A JP H03225542A
Authority
JP
Japan
Prior art keywords
cache
memory
location
data
data word
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.)
Granted
Application number
JP2336885A
Other languages
English (en)
Other versions
JPH0532775B2 (ja
Inventor
Richard G Eikill
リチャード、グレン、アイキル
Charles P Geer
チャールズ、ポーター、ギアー
Sheldon B Levenstein
シェルドン、バーナード、レベンスタイン
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH03225542A publication Critical patent/JPH03225542A/ja
Publication of JPH0532775B2 publication Critical patent/JPH0532775B2/ja
Granted legal-status Critical Current

Links

Classifications

    • 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
    • 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/0877Cache access modes
    • G06F12/0884Parallel mode, e.g. in parallel with main memory or CPU

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)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はキャッシュメモリを有し、共用主記憶装置に接
続する処理装置を含む情報処理システムに関し、詳細に
はキャッシュメモリと主記憶装置に対する読取および記
憶速度を増加しつつキャッシュメモリ内のデータの完全
性を保証する手段に関する。
〔従来技術および課題〕
共通主記憶メモリを共用する複数の処理装置を備えた情
報処理回路においてはキャッシュメモリが回路性能を大
幅に向上させることが出来る。複数のキャッシュメモリ
を夫々の処理装置内でそれに関連づけて1個づつ設けて
主メモリに記憶された情報のいく分を含めるようにする
。これら処理装置の1個が共用メインメモリではなくそ
れに関連するキャッシュメモリ内でデータ記憶または取
出しを行うときにはメモリアクセス時間が大幅に減少す
る。一般にキャッシュメモリには次の二つのタイプがあ
る。すなわちキャッシュメモリの内の1個にデータが記
憶されるたびにそのデータが共用主メモリに与えられる
ようになったストアスルーキャッシュメモリと、直接の
記憶がキャッシュメモリにだけ行われるストアーイン−
バッファキャッシュメモリである。ストアーイン−バッ
ファキャッシュメモリはそれに関連する処理装置のすべ
ての記憶を扱い、従って減少した主記憶バンド幅につい
て共用主メモリへのアクセス回路が少くてすむ。同時に
、ストアーイン−バッファキャッシュメモリについては
キャッシュメモリと主メモリの間に、これらキャッシュ
メモリの任意のものに対する最近の更新と主メモリを一
致させておくためのより多くの相互通信回路が必要であ
る。
米国特許第4484267号明細書は二つのタイプのキ
ャッシュメモリの利点すなわちストアーイン−バッファ
キャッシュメモリとストア−スルーキャッシュメモリの
特徴を選択的に組合せるハイブリッドキャッシュ制御を
得るための一つの試みを開示している。このキャッシュ
制御は多処理装置システムにおける夫々のキャッシュデ
ィレクトリの夫々のライン表示に関連した共用フラグを
利用する。このフラグは各ラインについて、そのライン
がストアーイン−バッファラインとして扱われるべきか
ストアースルーラインとして扱われるべきかを指示する
。ハイブリッド制御は、メイレメモリに記憶をたまに送
ればよいから同様のストア−スルーキャッシュメモリを
用いる回路と比較して必要とする主記憶バンド幅が小さ
い。他方、ストアーイン−バッファキャッシュメモリを
用いるシステムと比較すると、このハイブリッドシステ
ムは性能を改善する。
回路性能を改善するための他の試みは米国特許第469
5951号明細書に示されており、これは夫々かストア
ーイン、ツウ形のキャッシュメモリを有する複数の処理
装置についてのシステムを示している。プロセッサによ
り変更されたデータかその関連するキャッシュメモリに
記憶される。他のプロセッサが同じロケーションからの
データを要求するときにはそのデータが元のプロセッサ
から要求をなしたプロセッサに、主メモリを通じてでは
なく直接に送られる。
米国特許第4439829号明細書はキャッシュメモリ
サイクルを二つの部分、すなわち処理装置の読取要求に
使用される第1部分と、関連するキャッシュメモリのチ
エツクのためにプロセッサからアドレスをとり出しそし
てそのキャッシュメモリに書込むことを含むすべての他
の動作に用いられる第2部分に分けられるようになった
回路を示している。この分割は内容の損失を生じさせる
ものであるか、それが解決して処理速度を上げている。
キャッシュメモリは主メモリのロケーションまたはアド
レスのテーブルを含んでいる。そのようなテーブルはキ
ャッシュメモリにマツピングされている主メモリのロケ
ーションばかりでなく、夫々のロケーションか有効か無
効かについても特定するものである。ここでキャッシュ
ディレクトリと呼ぶこのテーブルは更にキャッシュメモ
リのロケーションとそれらに関連する主メモリのロケー
ションに関連する状態ビットも保持しうる。
例えば、一つの情報処理システムではデータワードのい
くつかを、他のデータビットと共に主メモリ内の特定の
バイトまたはバイトの数を識別するアドレスを含む「ポ
インタ」として識別することが望ましい。ポインタは、
セットされたときそれらに関連するデータワードを1つ
のポインタとして識別するハードウェアタグビットによ
り他のデータワードから区別される。タグビットはタグ
インストラクションによってのみセットされうるちので
あり、他のインストラクションはこれらタグピットをリ
セットする。従って、1つのポインタがタグインストラ
クションではなくデータ処理インストラクションにより
たまたま変更されるとすると、これらリセットタグビッ
トがそのポインタを有効とは識別しない。
システム性能を向上させるためにはポインタと他のデー
タワードを一緒にし、すなわち主メモリにポインタの排
他的な使用のための特別の領域を設ける必要のないよう
にすることが望ましい。しかしながら情報処理回路はデ
ータワード内にタグピットがあることを許さないフォー
マットを利用する装置を含むことがある。このため主メ
モリをそのような装置の間で伝送されるデータワード内
のタグピットを変更しなければならない。このため、デ
ータワードを主メモリから装置に移すとき、タグピット
を抽出し、すなわち累積して別のフィールドすなわち処
理装置のキャッシュディレクトリに保存する。この形式
の回路ではキャッシュディレクトリはキャッシュメモリ
にマツピングされた主メモリのロケーションとそれらの
有効性を特定するだけでなくそのロケーションのデータ
をアドレスポインタとして識別しあるいは他の方法でそ
のデータの状態を示すためにそのようなロケーションに
関連する状態ビットを保持する。
ストア−スルーキャッシュメモリに関連してはデータ記
憶動作は2段階または2クロックサイクルで行われる。
第1サイクルにおいてキャッシュディレクトリが(1)
ターゲット(要求された)主メモリロケーションが現に
キャッシュメモリにマツピングされるか、(2)ターゲ
ットメインメモリロケーションか現にマツピングされて
おり状態ビットが更新を要求するか、または(3)ター
ゲットメインメモリロケーションがキャッシュメモリに
現在マツピングされていないか、を決定するために読取
られる。第2サイクルにおけるアクションはこの読取結
果にもとづく。ターゲットメインメモリロケーションが
すでにキャッシュメモリにマツピングされていれば記憶
は完了しそして必要であれば状態ビットが更新される。
ターゲットメインメモリロケーションがキャッシュメモ
リにマツピングされていなければそのキャッシュメモリ
をバイパスするか、主メモリまたは主メモリロケーショ
ンと等価なラインにのみ記憶されたデータか記憶動作の
完了前にそのキャッシュメモリについてとり出される。
いずれにしても各データ記憶動作には少くとも2つのク
ロックサイクルが必要である。
理想的にはキャッシュメモリは同一のクロックサイクル
について動作速度を2倍とするように各クロックサイク
ルでのデータアクセス(すなわち記憶または取出し動作
)を可能にするものである。
キャッシュディレクトリのチエツクを実際の記憶のため
の別々のサイクルを設ける「オーバヘッド」がキャッシ
ュメモリに記憶されるデータの完全性を保証するために
必要と考えられている。
〔発明の概要及び解決課題〕
本発明の目的はストア−スルーキャッシュメモリを有す
る少くとも1個の処理装置を含み、記憶および取出し動
作の速度かデータの完全性を損うことなく実質的に向上
するようになったデータ処理回路を提供することである
本発明の他の目的はストア−スルーキャッシュメモリへ
のデータ記憶とキャッシュディレクトリの比較または読
取が同一クロックサイクルにおいて生じるようになった
システムを提供することである。
他の目的は、夫々ストア−スルーキャッシュメモリを含
みキャッシュディレクトリの読取りに関連するオーバヘ
ッドを有さない、1つの主メモリを共用する複数の処理
装置を備えたシステムを提供することである。
更に他の目的は、異なる主メモリロケーションがありそ
してキャッシュメモリに有効としてマ−りされていない
限り各クロックについて1回のストア−スルーキャッシ
ュメモリと主メモリへの記憶を行うためそして更に異な
る主メモリロケーションがキャッシュメモリにあるとき
キャッシュラインを無効と識別するために関連する処理
装置を中断させるためのプロセスを提供することである
これらの目的を達成するために、ビットエンコードデー
タを夫々複数のデータビットを有するデータワードとし
て処理するための処理装置構成を含む情報処理回路に関
連して行われるプロセスが提供される。この回路はビッ
トエンコードデータを記憶するためのメモリロケーショ
ンを有する主メモリと、この処理構成を主メモリとに接
続する主メモリインターフェースとを含む。この処理構
成は更にストア−スルーキャッシュメモリとキャッシュ
メモリインターフェースを有する少くとも1個の指定プ
ロセッサを含む。このキャッシュメモリはデータを記憶
するための複数のキャッシュロケーションとこれらロケ
ーションに関連する状態情報を記憶するためのキャッシ
ュディレクトリを含む。指定ブ0セッサは主メモリイン
ターフェースを介して主メモリの選ばれたメモリロケー
ションにビットエンコードデータを記憶する手段とキャ
ッシュメモリインターフェースを介してキャッシュメモ
リの選ばれたキャッシュロケーションにビットエンコー
ドデータを記憶する手段とを含んでいる。
このプロセスは下記の段階を含む: キャッシュメモリの第1キャッシュロケーションに第1
データワードを記憶すると共に第1データワードの記憶
に関してキャッシュディレクトリを変更する必要の有無
を決定するためにキャッシュディレクトリを読取る段階
; 主メモリの第1メモリロケーションに第1データワード
を記憶する段階; キャッシュディレクトリの変更の必要性の決定に応じて
予定の時間についてキャッシュメモリインターフェース
をフリーにするためにこの予定の時間だけ指定プロセッ
サを中断するための第1割込信号を発生する段階; この予定の時間においてキャッシュメモリディレクトリ
を変更する段階。
好適にはこの処理構成は一定の長さの一連のクロックサ
イクルに従って動作するクロック発振器により制御され
るのであり、その場合の上記予定の時間は1サイクルで
ある。
このプロセスは例えば特定のデータワードをアドレスポ
インタとして識別するための状態ビットを含むデータワ
ードに関連して利用出来る。その場合、キャッシュディ
レクトリの変更の必要性の決定段階は、第1キヤツンユ
ロケーシヨンか第1メモリロケーションに対応するかど
うかを決定しそしてそうであれば第1データワード内の
状態ビットを更新する必要かあるかどうかを決定する段
階を含む。キャッシュディレクトリを変更する段階は状
態ビットか更新を要求するかどうかの決定に応して状態
ビットを更新することを含む。あるいは第1キャッシュ
ロケーションか第1キャッシュロケーションと第1メモ
リロケーションの不対応の決定に応して排除(無効のタ
グ付け)される。
このプロセスは更に、キャッシュメモリ内の第2キャッ
シュロケーションに第2データワードを記憶すると共に
第2データワードの記憶についてキャッシュディレクト
リを変更の必要性の有無を決定するためのキャッシュデ
ィレクトリを読取る段階;主メモリの第2メモリロケー
ションに第2データワードを記憶する段階;キャッシュ
ディレクトリの更新の必要性の決定に応じて1クロック
サイクルについてキャッシュメモリインターフェースを
フリーにするため1クロックサイクルについて指定され
たプロセッサを中断するための第2割込信号を発生する
段階;この1クロックサイクル中にキャッシュディレク
トリを変更する段階を含む。第1割込信号(必要であれ
ば)を発生する段階と第2キャッシュメモリロケーシヨ
ンに第2データワードを記憶する段階は、第1データワ
ドを第1キャッシュロケーションに記憶するクロックサ
イクルの直後のクロックサイクルにおいて行われる。
以降のデータワードの記憶のためのプロセスを続ける場
合には夫々のキャッシュロケーションが1つのメモリロ
ケーションに対応しそして状態更新が要求されない限り
、記憶動作は各クロックサイクル毎に完了しうる。従っ
て、記憶動作は、キャッシュディレクトリの読取とキャ
ッシュメモリへの記憶のために別々のクロックサイクル
を用いる従来の方法に必要な時間の約半分で行われる。
勿論、キャッシュディレクトリの読取が、主メモリのメ
モリロケーションとキャッシュロケーションの不一致を
示すこと、すなわち主メモリロケーションがキャッシュ
メモリにマツピングされていなかったことを示すことが
ありうる。更に、状態ビットを用いるシステムでは、キ
ャッシュディレクトリの読取が主メモリロケーションは
キャッシュメモリにマツピングされているか状態ビット
が更新を要求することを示すことがありうる。いずれの
場合でも処理装置は、対応するデータを記憶したキャッ
シュラインか除去され(ディレクトリにおいて無効とさ
れる)るかまたはキャッシュディレクトリ内の適正な状
態ピントか更新される間に1つのクロックサイクルにお
いて中断される。
実際には記憶動作のすべては除去または更新を要求せず
、キャッシュメモリにデータを記憶するに必要な時間が
大幅に短縮される。
本発明の他の観点によれば、記憶であれ取出しであれ2
つの連続するアクセスか主メモリ内の同一ロケーション
に向けられているかどうかを決定する手段が設けられる
。これら動作の内のはじめのものがキャッシュディレク
トリ(除去または更新)の変更を要求するものであれば
、この第1動作において適正に変更される前の第2動作
におけるデータへのアクセスによるエラーを避けるため
に第2動作の特別な扱いが必要となる。
本発明によれば、連続的な記憶についての潜在的なエラ
ーは第2記憶動作が除去または単なる更新の必要性を示
すかどうかには無関係に第2記憶についての除去を強制
しすなわち関連するキャッシュラインを有効でないとす
ることにより回避される。同様に記憶の前の取出しの場
合にはキャッシュラインについてのデータか主メモリか
らもどされるときにそれはキャッシュメモリに書込まれ
ない。取出しの前の記憶についてはキャッシュミスが取
出し動作について強制的に行われる。
本発明によれば、記憶は、要求された主メモリロケーシ
ョンがキャッシュメモリにマツピングされたかどうかを
知る前にデータがキャッシュメモリに記憶されるという
点で「ブラインド」である。
キャッシュ記憶エラーは、異なるメインメモリ記憶ロケ
ーションがキャッシュにマツプされているためあるいは
データワード内の状態ビットが更新を要求しているため
にそのエラーを考慮するための1つの付加的クロックサ
イクルを必要とする。
〔実施例〕
第1図はビットエンコードデータの記憶およびそれによ
り選ばれた動作を行うための情報処理回路16を示す。
この回路は3個の処理装置18゜20.22を含み、夫
々の装置はデータについての動作を行うと共に共用主メ
モリに対して転送し転送されるコマンドと関連データを
与えるための回路を有する。調停リンク24.26.2
8がこれら処理装置を結合させそしてこれら装置内にの
る調停論理との組合せにおいてこれらプロセッサと主メ
モリの間のインターフェース30へのアクセスに関しこ
れらプロセッサの内の任意の1個に優先権を与えるため
に用いられる。この回路における処理装置の形態は1個
の処理装置でつくられるか、複数の処理装置でつくるこ
とが出来、後者の場合にはすべての処理装置の点−点接
続のために複数の調停リンクが設けられる。
主メモリは複数のメモリカード32,34゜36を含む
。メモリカード32はバッファ38と、夫々複数のビッ
トを有する複数のデータワードとしてビットエンコード
データを記憶するメモリアレイ40とこのメモリアレイ
40に接続された内部レジスタ42を含む。これらメモ
リアレイに記憶されたデータは一時または中間記憶のた
めに内部レジスタ42にロードされ、その間タグピット
(前述)がそのデータから抽出されあるいはそこにそう
人される。
メモリカード34と36はメモリカード32と同様であ
って夫々バッファ44、メモリアレイ46および内部レ
ジスタ48、およびバッファ50、メモリアレイ52お
よび内部レジスタ5くを含む。これら要素はメモリカー
ド32内の対gするものと実質的に同一であり同様に機
能する。
主メモリは複数のメモリカードを含むことが出牙る。
これらプロセッサとメモリカードを関連づけるインター
フェースはデータバスとコマンド/アドレスバスを含み
、夫々のバスが処理装置およびメモリカードのすべてに
接続する。これらバスはデータを並列に伝送する。デー
タバスはワーキング“情報と呼ばれるこの回路のユーザ
に最も直接的に必要な情報を伝送する。コマンド/アド
レスバスは特定のワーキングデータの取出し、記憶また
はその他の処理のためのコマンドに関する制御情報とメ
モリアレイ内の特定のワーキングデータロードのロケー
ションまたはそのようなデータが送られるべきロケーシ
ョンを識別するためのアドレス情報を伝送する。
ライン56,58.60はプロセッサ18゜20.22
をインターフェース3oに関連づけ、ライン62,64
.66は同様にこのインターフェースとメモリカードを
関連づける。実際には別々のラインをワーキング情報の
伝送とコマンドおよびアドレス情報の伝送のために設け
る。このインターフェースは更にデータバスへのアクセ
スを制御する、第1図には示さないデータバスを含み、
そしてまたワーキングデータに関係する状態情報を伝送
するための共用通信バスを含む。この形式のインターフ
ェースの詳細は米国特許出願第07/445B20に示
されている。
処理装置18は単方向連想ストア−スルーキャッシュメ
モリ68を含み、これは夫々主メモリ内の特定のアドレ
スまたはロケーション群に関連した複数のキャッシュラ
インを含む。キャッシュメモリ68は夫々キャッシュデ
イレクトリフoを含む。このキャッシュディレクトリは
キャッシュメモリにマツプされた主メモリアドレスのレ
コードであり、そしてキャッシュメモリ内の夫々対応す
るロケーションが有効か無効かを示すインジケーション
を記憶する。更にキャッシュデイレクトリフ0は夫々の
キャッシュラインとそれに関連する主メモリ内のアドレ
スとに関連した状態ビットを含む。そのような状態ビッ
トは例えば特定のデータワードをアドレスポインタとし
て識別するためあるいはデータを「有効」または「非有
効」として識別するために用いられるタグビットを含む
他の例は前記米国特許第4484267号に示す共用フ
ラグである。
72で示すようにブ、ロセンサ18はデータを取出しそ
して記憶すると共にビットエンコードデータにもとづく
算術論理演算を行うためのロジック(半導体チップ回路
の形をとる)を含む。ロジック72の一部はキャッシュ
インターフェース74を介してのキャッシュメモリ68
・\の記憶およびそのキャッシュメモリからのデータの
取出しまたは回復の制御に用いられる。ロジック72は
必要であれば前の記憶または取出し動作についてキャン
シュデイレクトリフ0を変更するためにインク−フェー
ス74における1クロックサイクルを「盗用」するため
、プロセッサ18を中11することか出来る。
処理装置20と22は処理装置18と同様であり夫々キ
ャッシュディレクトリ80と82、ロジック84と86
、およびキャッシュインターフェース88と90を有す
るキャッシュメモリ76と78を含む。これら要素は処
理装置18内の対応するものと実質的に同じ機能を行う
。。
回路16は更にリード94,96.98によりこれらプ
ロセッサの夫々にそしてリード9597.98によりメ
モリカードに接続するクロック発振器92を含む。発振
器92は予定のサイクルまたは周波数のクロックパルス
からなるタイミング信号を発生すると共にこの信号をこ
れらプロセッサとメモリカードに与える。
キャッシュメモリと主メモリにデータを記憶させる従来
の方法を第2.3図について説明する。
夫々の記憶はプロセッサの内の1個からの記憶要求でス
タートする。この記憶要求はそのプロセソサ内のデータ
を送るべき主メモリの特定のアドレスまたはロケーショ
ンを工別する。この要求によりそして第1クロックサイ
クル中に、関連するキャッシュディレクトリが、そのキ
ャッシュメモリ内のラインの任意のものが主メモリの要
求されたアドレスに対応するかどうかの決定を行うため
に読出される。要求された主メモリアドレスがキャンシ
ュメモリにマツプされていれば(すなわち対応するキャ
ッシュラインか検出されれば)、更にキャッシュディレ
クトリか5己憶されるべきデータワード内の1丁意の状
態ビットの更新の必要性を示すためにこの第]クロック
サイクルにおいて読出される。
第2クロックサイクル(第1クロックサイクルに続く)
中に行われるアクションはキャッシュデイレクトりの読
取結果にもとづく。詳細には、もし主メモリアドレスか
キャッシュメモリにマツプされており、キャッシュディ
レクトリの更新が要求されないのであれば、そのデータ
ワードはキャッシュメモリと主メモリに記憶される。状
態ビット更新が必要であれば、そのデータは再びキャッ
シュメモリと主メモリに記憶されそしてキャッシュディ
レクトリ内の状態ビットか更新される。逆に、要求され
た主メモリアドレスに対応するキャッシュラインが検出
されないなら、キャッシュメモリはバイパスされてデー
タは主メモリにのみ記憶される。あるいはキャッシュメ
モリ内の対応ラインを特定出来なければ要求された主メ
モリアドレスについてキャッシュラインを取出しそして
キャッシュメモリおよび主メモリへの記憶を完了する。
殆どの場合、キャッシュメモリはバイパスされる。
いずれにしても、夫々の記憶動作に2クロックサイクル
が必要なことは第3図から明らかである。
奇数番号クロックサイクルはキャッシュディレクトリの
チエツクまたは読出しに用いられる。キャッシュメモリ
と主メモリへの同時記憶は偶数番号クロックサイクルで
生じる。キャッシュディレクトリのクロックサイクル1
と3におけるチエツクは夫々の場合の要求された主メモ
リアドレスが状態ビットの更新要求に伴わすにキャッシ
ュメモリにマツプされたことを示している。キャッシュ
ディレクトリのサイクル5における読みは状態ビットの
更新要求とこの更新かサイクル6で行われたことを示す
。サイクル9におけるキャッシュデイレクトりのチエツ
クは要求された生メモリロケーンヨンに対応するキャッ
シュメモリ内のラインかないことを示す。従って、キャ
ッシュメモリはサイクル10において・ぐイパスされ、
データは主メモリにのみJ己悟される。
第4.5図は本発明による記t8を示す。第4図に示す
ように本発明の記憶動作はプロセッサの内の1個、例え
ばプロセッサ18、からの要求によりスタートする、第
]クロックサイクルにおいてキャッシュメモリ68のキ
ャッシュディレクトリ70は要求されたアドレスかキャ
ッシュメモリにマツプされているかとうかを決定するた
めに読出され、すなわち主メモリ内の要求されたアドレ
スと比較され、そしてマツプされていればデータワード
内の状四ビットの任意のものか更新を要求しているかど
うかを決定する。従来の方法と異なり、データワードは
第1クロックサイクル中にキャッシュメモリ68に直接
に記憶される。これは、キャッシュメモリ68が要求さ
れた主メモリアドレスに対応するラインを含むかどうか
を知ることなく生じるためにキャッシュメモリに対する
「ブラインド」記憶と呼ばれる。いずれにしてもキャッ
シュディレクトリ70の読取でなされるキャッシュメモ
リ内の対応するラインの存在と状態ビットの更新の必要
性についての決定は同じである。
要求されたメインメモリロケーションかキャッシュメモ
リ68にマツプされたことおよび状態ビットの更新要求
かないことの決定に応じてキャッシュメモリへの記憶は
完了するからそれ以上のアクションは要求されない。こ
のデータは勿論第2クロックサイクルまではないか主メ
モリに記憶される。対応するラインの存在および状態ビ
ットの更新要求に応じてロジック72は第2クロックサ
イクルにおいてプロセッサ18を1クロックサイクルた
け中断させるための信号を発生する。このプロセッサは
第3クロックサイクルにおいて中断され、その間状態ビ
ットが更新される。
異なった主メモリロケーションがキャッシュメモリ68
にマツプされている場合にはロジック72は再び第2ク
ロックサイクルにおいてプロセッサ18を1クロックサ
イクルたけ中断させる信号を発生する。プロセッサ18
はこの中断信号に応じて第3クロックサイクル中中断さ
れて、このサイクル中に第1サイクルでデータを記憶し
たキャッシュラインの除去のためにキャッシュインター
フェース76をフリーにする。
本発明による記憶動作シーケンスを第5図に示す。第1
クロックサイクルにおいて第1データワードがキャッシ
ュメモリ68に記憶され、その間キャッシュディレクト
リは要求された主メモリアドレスに対応するキャッシュ
ラインの存在についてチエツクすなわち読出される。第
1データワードは第2クロックサイクルにおいて主メモ
リに記憶されその間第2データワードか、第2記憶に対
するキャッシュディレクトリの読取時にキャンシュメそ
りに記憶される。この第1および第2のキャッシュディ
レクトリの読出の結果はキャッシュ内に対応するライン
かありそして更新要求がないことを示す。
他方、第3データワードのキャッシュメモリ68への記
憶に対応するキャッシュデイレクトリフ0の第3読出し
は、対応するラインはあるが状態ビットの更新か要求さ
れていることを示す。従って、第4クロゾクサイクルに
おいて1サイクルのスチールか生しる。このサイクルス
チールに応じてプロセッサ18は第5クロックサイクル
において中断され、その間第3データワードに関連する
キャッシュディレクトリ内の状態ビットは更新される。
第6クロックサイクルにおいて第5データワードかキャ
ッシュメモリ1こ5己憶され、そしてキャッシュディレ
クトリか読出されてキャッシュメモリか主メモリの要求
されたロケーションに対応するキャッシュラインを有さ
ないことを示す。これ1こより第7クロソクサイクルに
おいてサイクルスチールか生し、第8クロックサイクル
中プロセツサか中断し、第5データワードか記憶された
ときキャッシュメモリ68内のキャッシュラインの除去
のためにキャッシュインターフェース74をフリーにす
る。クロックサイクル7におけるこのデータワードの主
メモリへの記憶は有効である。この除去の結宋、キャッ
シュデイレクトリフ0は、特定のキャッシュラインへの
次のアクセスおよび更新まで第5データワードを有効と
して保持するキャッシュラインを1別する。
クロックサイクルつと10は第7データワードのキュソ
シュへの最終記憶と対応するキャッシュディレクトリの
読みを示し、それに続き主メモリへのそのワードの記憶
並びに第8データワードのキャッシュメモリへの記憶と
関連したキャッシュディレクトリのチエツクを示す。
このように、従来の方法と比較するとキャッシュディレ
クトリか読出されるときのキャッシュメモリへのデータ
記憶は、キャッシュへの誤った記憶か示されるときのプ
ロセッサの中断(1サイクルのスチール)の必要性にも
拘らず実質的に性能を改善する(キャッシュメモリへの
らではなく8回の記憶)。改善の度合は実施の態様によ
り異なる。改善された性能はキャッシュインターフェー
ス74および関連する処理装置との関連における対応す
るインターフェース88と90が、キャッシュ制御ロジ
ックが状態ビットの更新または関連するキャッシュライ
ンの除去のためのディレクトリの変更を行うために1サ
イクルのスチールを要求しない限りクロックサイクル毎
にデータのアクセスに使用出来るということによる。
本発明の他の観点は主メモリにおける同一アドレスに関
係したバック−バックアクセスすなわち連続した記憶ま
たは取出し動作に関する。ハックバックアクセスは、第
2アクセスがキャッシュディレクトリの読出しであり、
その間キャッシュ制御ロジックが第1アクセスに関連し
たディレクトリの読出しにもとつきキャッシュディレク
トリの更新のためのサイクルスチールを生じさせるため
に、誤った結果を生しさせうる。第2アクセスに関連し
たディレクトリの読出しまたは比較は「スチール(st
ale)Jデータを受け、そのため誤読出しを行うこと
がありうる。
このエラーの性質は行われる動作により変化する。例え
ば、バック−バック動作が共に記憶であるとすると、同
しくキャッシュディレクトリの変更要求を生じさせる記
憶動作に関連して次の4つの結果が考えられる。除去に
続く除去、除去に続く状態ビットの更新、状態ビット更
新に続く除去、および状態ビット更新に続く状態ビット
更新。
除去に除去か続くときには第2の除去を行う必要はない
。この場合、キャッシュ制御ロジックはキャッシュディ
レクトリをして強制的に、第2の記憶に関連して関連す
るキャッシュラインを無効と識別させなければならす、
従って第2の除去は生しない。
除去に状態ビット更新か続くときにはこの更新は有効ラ
インをご4つて釘効にしうる。キャッシュ制御ロジック
はここでもキャッシュディレクトリをして第2の記憶に
関連して関連するラインを無効と識別させねばならない
。従ってこの場合も更新は生じない。
状態ビット更新に除去が続くときには関連するキャッシ
ュラインはキャッシュディレクトリにおいて無効と識別
されたままであるからエラーは生じない。
状態ビット更新に状態ビット更新か続くときは、前の状
態ビットがキャッシュディレクトリに誤って書もどされ
ることかある。これを避けるためにディレクトリは第2
記憶について関連するキャッシュラインを無効と識別す
る。これは第2記憶における除去と等価である。
取出しに続く取出しについては本質的にエラーは生じな
い。しかしながら取出し動作の次に記憶が行われそして
その取出しがキャッシュメモリのミスを生じさせる(要
求された主メモリロケーションに対応するラインがキャ
ッシュメモリにない)ときには次の記憶か同じキャッシ
ュラインをアクセスする。そのキャッシュラインについ
てのデータか主メモリからもどされるときには次の記憶
かキャッシュラインを変更しているからもはや正確では
ない。従って、キャッシュ制御ロジックはそのキャッシ
ュラインを無効と識別するためにキャッシュディレクト
リの更新を行わねばならない。
記憶動作に取出しか続くときはその取出しは同一のキャ
ッシュラインであるか主メモリの異なったアドレスに対
するものである(キャッンユノニム)。このJ2憶かキ
ャンシュミスであり、キャッシュメモリ内のラインを無
効とマークさせるものであるならば、次の取出しは、デ
ィレクトリか関連するキャッシュラインを無効とマーク
するために変更される前に生しるから誤ビットを受ける
この場合、キャッシュ制御ロンツクはこの取出し動作に
ついてキャッシュミスとしなければならない。
ハック−バックアクセスによるエラーを除去するだめの
ロジックはこれらプロセッサのロジック82.84.8
6の部分であり、第6図のように機能する。このロジッ
クは第1コマンド(コマンド])か記憶コマンドである
か取出しコマンドであるかには無関係に活性であるとき
スタートする。
いずれの場合でもコマンド1の情報、特に主メモリアド
レスタグビットおよび取出または記憶インジケーション
か、コマンド2の同様の情報との以降の比較およびキャ
ッシュビット/ミス/更新ロジックのためにラッチされ
る。この情報は4クロックサイクルの内の第1のクロッ
クサイクルにおいてラッチされる。
コマンド2か第2クロックサイクルにおいて活性でなけ
れば、バック−バック動作のインジケーションはなく、
その場合にはキャッシュディレクトリか第4.5図で述
べたように更新要求なし、更新要求あり、または除去要
求ありのインジケーションのために読出される。キャッ
シュディレクトリの変更要求がないならば動作は完了す
る。他方、キャッシュディレクトリの読出しがディレク
トリの変更要求(除去か更新)を示すならば、その変更
は第3クロックサイクルで生じる。
コマンド2か第2クロックサイクルにおいて活性であれ
ばバック−ハックアクセスが示される。
キャッシュディレクトリは前と同様に第1コマンドに関
連して読出される。しかしながら、更に前述した強制さ
れたキャッシュミスまたはキャッシュラインの強制的な
無効識別のような要求される条件がコマンド2に関連し
て与えられる。云い換えると、この強制条件はコマンド
2からコマンド1にすぐ続かないときに生しうる変更(
または−方の欠除)を無効にする。また第2クロックサ
イクルではコマンド2に関連したキャッシュディレクト
リの読出しが生じる。最後にコマンド2に関連する情報
がバック−バック動作を確認するためにコマンド1にも
関連してラッチされた情報との比較およびキャッシュ比
較ロジックのためにラッチされる。
コマンド1についてのキャッンユディレクトリの変更が
示されれば、ディレクトリは第3クロックサイクルで変
更される。サイクル2における読取がキャッシュディレ
クトリの変更要求を示すかあるいは変更が第2クロック
サイクルで強制された場合にはその変更は第4クロック
サイクルて生じる。
このように本発明によれば、キャッシュディレクトリの
読取のために前に用いられた夫々の記憶または取出し動
作についてのクロックサイクルは回路性能の実質的な改
善のためにキャッシュメモリへの記憶にも用いられる。
この方法は前述のように付加的ロジックを特徴とする請
求されたデータがキャッシュメモリになくなるまでクロ
ックサイクル毎にキャッシュインターフェースを使用し
うるようにする。この条件に応じて関連するプロセッサ
は取出し動作については主メモリからもどすためにデー
タを待たねばならず、あるいは記憶動作の場合にはキャ
ッシュディレクトリが更新される間に1つのクロックサ
イクルを待たねばならない。しかしながらこの要件に必
要なコストはクロックサイクル毎に記憶または取出しを
完了することによる性能利得と比較すると僅かなもので
ある。バック−バックまたは連続動作を扱うためのロジ
ックについてはこの方法はキャッシュメモリ内のデータ
の完全性を維持しつつ実質的に性能を改善する。
【図面の簡単な説明】
第1図は夫々共用主メモリに関連づけられそしてキャッ
シュメモリを有する複数の処理装置を備えた情報処理回
路を示す図、第2図は従来の方法による主メモリおよび
キャッシュメモリへの記憶動作のフローチャート、第3
図は従来の記憶動作を示すタイミング図、第4図は本発
明による主メモリおよび第1図のキャッシュメモリの内
の1個への記憶を示すフロー2チヤート、第5図は本発
明による記憶を示す第3図と同様のタイミング図、第6
図は本発明による主メモリとキャッシュメモリの同一の
ロケーションへの連続する記憶または取出し動作を行わ
せるためのロジックのフローチャートである。 16・・・情報処理回路、18,20.22・・・処理
装置(プロセッサ) 、24,26.28・・・調停リ
ンク、32,34.36・・・メモリカード、38゜4
4.50・・・バッファ、40.46.52・・・メモ
リアレイ、42,48.54・・・内部レジスタ、68
.76.78・・・キャッシュメモリ、70゜80.8
2・・・キャッシュディレクトリ、72゜84.86・
・・ロジック、74,88.90・・・キャッシュイン
ターフェース、92・・・クロック発振器。

Claims (1)

  1. 【特許請求の範囲】 1、夫々複数のデータビットを有する複数のデータワー
    ドとしてビットエンコードデータを処理する少くとも1
    個の処理装置と、ビットエンコードデータを記憶するた
    めのメモリロケーションを有する主メモリと、この主メ
    モリに接続する主メモリインターフェースと、データを
    記憶するための複数のキャッシュロケーションおよびこ
    れらキャッシュロケーションに関連する状態情報を記憶
    するためのキャッシュディレクトリを含むキャッシュメ
    モリとキャッシュメモリインターフェースと上記主メモ
    リインターフェースを介して上記主メモリ内の選ばれた
    メモリロケーションにビットエンコードデータを記憶す
    る手段と上記キャッシュインターフェースを介して上記
    キャッシュメモリ内の選ばれたキャッシュロケーション
    にビットエンコードデータを記憶する手段とを有する少
    くとも1個のプロセッサと、を含む処理構成を含む情報
    処理回路において、下記段階を含むデータ記憶方法: 1つの処理装置の第1キャッシュメモリの第1キャッシ
    ュロケーションに第1データワードを記憶させると同時
    にこの第1データワードの記憶について上記キャッシュ
    ディレクトリの変更の必要性の有無を決定するために上
    記キャッシュメモリのキャッシュディレクトリを読出す
    段階; 上記第1データワードを上記主メモリ内の第1メモリロ
    ケーションに記憶する段階; 第1キャッシュディレクトリの変更の必要性ありに応じ
    て第1キャッシュメモリに関連したキャッシュインター
    フェースを予定の時間だけフリーにするためその予定の
    時間だけ上記処理装置を中断させるための第1中断信号
    を発生する段階;この予定の時間内でキャッシュディレ
    クトリを変更する段階。 2、前記処理構成は一連の一定長さのクロックサイクル
    に従って動作するクロック発振器により制御されそして
    前記予定の時間が1クロックサイクルである、請求項1
    記載の方法。 3、前記データワードの夫々は少くとも1個の状態ビッ
    トを含み、前記キャッシュディレクトリの変更の必要性
    の決定段階は前記第1キャッシュロケーションが第1メ
    モリロケーションに対応するかどうかを決定し、対応す
    る場合には第1デーワード内の状態ビットが更新される
    べきであるかどうかを決定する段階を含んでおり、前記
    キャッシュディレクトリを変更する段階は次の段階を含
    む請求項2記載の方法: (a)第1キャッシュロケーションが第1メモリロケー
    ションと対応しそして状態ビットが更新を要求するとの
    決定に応じて状態ビットを更新する段階; (b)あるいは第1キャッシュロケーションが異なるメ
    モリロケーションに対応するとの決定に応じて第1キャ
    ッシュロケーションを除去する段階。 4、下記段階を更に含む請求項3記載の方法:第2キャ
    ッシュロケーションに第2データワードを記憶すると同
    時にこの第2データワードの記憶についてキャッシュデ
    ィレクトリの変更の必要性の有無を決定するためにキャ
    ッシュディレクトリを読出す段階; 主メモリの第2メモリロケーションにこの第2データワ
    ードを記憶する段階; キャッシュディレクトリの変更の必要性ありの決定に応
    じてキャッシュインターフェースを1クロックサイクル
    だけフリーとするために処理装置を1クロックサイクル
    だけ中断させる第2中断信号を発生する段階; このクロックサイクル中にキャッシュディレクトリを変
    更する段階。 5、前記第1中断信号を発生する段階と前記第2キャッ
    シュロケーションに第2データワードを記憶する段階は
    第1データワードの第1キャッシュロケーションへの記
    憶後の次のクロックサイクルにおいて行われる請求項4
    記載の方法。 6、下記段階を更に含む請求項5記載の方法:第1およ
    び第2キャッシュロケーションが同じ主メモリアドレス
    に対応するかどうかを決定するためそれらロケーション
    を比較する段階; 第1および第2キャッシュロケーションが同一の主メモ
    リアドレスに対応するとの決定および第1データワード
    の記憶についてのキャッシュディレクトリの変更の必要
    性ありの決定に応じてその変更が除去であるか更新であ
    るかを決定する段階;変更が除去であるとの決定に応じ
    て第2データワードの記憶に関して第2キャッシュロケ
    ーションを無効とし、あるいは第1データワードの記憶
    に関しての変更が更新であるとの決定に応じて第2デー
    タワードの記憶に関しての変更が更新であるか除去であ
    るかを決定する段階; 第2データワードの記憶に関しての変更が更新であると
    の決定に応じて第2キャッシュロケーションについて除
    去を強行する段階。 7、前記処理装置は取出しコマンドについて主メモリの
    メモリロケーションとキャッシュロケーションにおける
    データをアクセスする手段を更に含み、前記第1および
    第2キャッシュロケーションの比較段階は 上記第1および第2アクセスの夫々が記憶コマンドであ
    るか取出しコマンドであるかを決定する段階、 第1アクセスが取出しコマンドであり第2アクセスが記
    憶コマンドであるとの決定に応じて第2キャッシュロケ
    ーションを除去するために第2キャッシュロケーション
    に関連してキャッシュディレクトリを無効でマークし、
    あるいは 第1アクセスが記憶コマンドであり第2アクセスが取出
    しコマンドであるとの決定に応じて取出しコマンドにつ
    いてキャッシュミスを強行する段階、 を含む請求項6記載の方法。 8、ビットエンコードデータを処理するための処理装置
    と、ビットエンコードデータをデータワードとして記憶
    するためのアレイを有する主メモリと、この処理装置と
    主メモリに接続して両者間でビットエンコードデータを
    伝送するための主メモリインターフェースとを有する、
    夫々複数のデータビットを含む複数のデータワードを含
    むビットエンコードデータを処理し記憶するためのシス
    テムであって、上記処理装置が、夫々主メモリのメモリ
    ロケーションに対応する複数のキャッシュロケーション
    およびキャッシュロケーションに対応するメモリロケー
    ションのあることを示すかあるいは各キャッシュロケー
    ションの無効条件または有効条件を示すためのキャッシ
    ュディレクトリを含むストア−スルーキャッシュメモリ
    と、キャッシュメモリ内のキャッシュロケーションへの
    アクセスを得ると共にビットエンコードデータの記憶と
    取出しのために主メモリのメモリロケーションをアクセ
    スするためのプロセッサロジックを含み、更に一定周波
    数のタイミングパルスを含むタイミング信号を発生する
    と共にその信号を上記処理装置に与えるためのタイミン
    グ手段を含むシステムにおいて、下記段階を含むデータ
    記憶方法:第1クロックサイクルにおいてキャッシュメ
    モリの第1キャッシュロケーションに第1データワード
    を記憶すると共にこの第1データワードの記憶について
    キャッシュディレクトリの変更の必要性の有無を決定す
    るためにキャッシュメモリのキャッシュディレクトリを
    読出す段階; 主メモリの第1メモリロケーションに第1データワード
    を記憶する段階; 第1クロックサイクルに続く第2クロックサイクルにお
    いてそしてキャッシュディレクトリの変更の必要性あり
    の決定に応じて第3クロックサイクル中関連するキャッ
    シュメモリインターフェースをフリーにするために第3
    クロックサイクルにおいてキャッシュメモリに関連する
    処理装置を中断するための第1中断信号を発生する段階
    ;この第3クロックサイクル中キャッシュディレクトリ
    を変更する段階。 9、前記第1メモリロケーションに第1データワードを
    記憶する段階は第2クロックサイクルにおいて生じる請
    求項8記載の方法。 10、下記段階を更に含む請求項8記載の方法: 第2クロックサイクルにおいて第2キャッシュロケーシ
    ョンに第2データワードを記憶すると共にこの第2デー
    タワードの記憶についてキャッシュディレクトリの変更
    の必要性の有無を決定するためにキャッシュディレクト
    リを読出す段階;主メモリの第2メモリロケーションに
    第2データワードを記憶する段階; キャッシュディレクトリの変更の必要性ありの決定に応
    じて第3クロックサイクルにおいて第4クロックサイク
    ル中キャッシュメモリインターフェースをフリーにする
    ために第4クロックサイクル中処理装置を中断するため
    の第2中断信号を発生する段階; 第4クロックサイクル中にキャッシュディレクトリを変
    更する段階。 11、前記第1データワードは第2クロックサイクル中
    主メモリに記憶され、第2データワードは第3クロック
    サイクル中に主メモリに記憶される請求項10記載の方
    法。 12、下記段階を更に含む請求項10記載の方法: 第1および第2キャッシュロケーションが主メモリ内の
    同一メモリロケーションに対応するかどうかを決定する
    ためにそれらキャッシュロケーションを比較する段階; 第1および第2キャッシュロケーションが同一の主メモ
    リロケーションに対応するとの決定および第1データワ
    ードの記憶についてのキャッシュディレクトリの変更の
    必要性ありの決定に応じてその変更が除去であるか更新
    であるかを決定する段階; 第1データワードの記憶についての変更が除去であると
    の決定に応じて第2データワードの記憶について第2キ
    ャッシュロケーションを無効とし、または第1データワ
    ードの記憶についての変更が更新であるとの決定に応じ
    て第2データワードの記憶についての変更が更新か除去
    かを決定しそして第2データワードの記憶についての変
    更が更新であるとき関連するキャッシュロケーションに
    ついて除去を強行する段階。 13、前記プロセッサの夫々は取出しコマンドについて
    主メモリのメモリロケーションとキャッシュロケーショ
    ンでのデータアクセスのための手段を含み、前記第1お
    よび第2キャッシュロケーションの比較段階は次の段階
    を含むごとくなった請求項12記載の方法:第1および
    第2データワードの夫々に関連するアクセスが記憶アク
    セスであるか取出しアクセスであるかを決定する段階; 第1アクセスが取出し、第2アクセスが記憶であるとき
    、第2キャッシュロケーションを除去するために第2キ
    ャッシュロケーションに関してキャッシュディレクトリ
    を無効にしまたは第1アクセスが記憶で第2アクセスが
    取出しのとき取出し用にキャッシュミスを強行する段階
    。 14、前記キャッシュディレクトリの変更の必要性の有
    無を決定する段階は第1キャッシュロケーションが第1
    メモリロケーションに対応するかどうかを決定する段階
    を含み、前記キャッシュディレクトリを変更する段階は
    第1キャッシュロケーションが第1メモリロケーション
    に対応しないとき第1キャッシュロケーションを除去す
    る段階を含む請求項8記載の方法。 15、前記データワードの夫々は少くとも1個の状態ビ
    ットを含み、前記キャッシュディレクトリの変更の必要
    性の決定段階は第1キャッシュロケーションが第1メモ
    リロケーションに対応するとき第1データワードの状態
    ビットを更新すべきかどうかを決定する段階を含み、前
    記キャッシュディレクトリの変更段階は第1キャッシュ
    ロケーションが第1メモリロケーションに対応し且つ第
    1データワードの状態ビットが更新を要求するときその
    状態ビットを更新する段階を含む、請求項12記載の方
    法。 16、夫々複数のデータビットを有する複数のデータワ
    ードとしてビットエンコードデータを処理するための少
    くとも1個の処理装置と、ビットエンコードデータをデ
    ータワードとして記憶するための複数のメモリロケーシ
    ョンを有する主メモリと、この処理装置と主メモリに接
    続して両者間でビットエンコードデータを伝送するため
    の主メモリインターフェースとを含み、 上記処理装置は夫々主メモリのメモリロケーションの1
    つに対応する複数のキャッシュロケーションを有するス
    トア−スルーキャッシュメモリとそれに関連するキャッ
    シュインターフェースを含み、このキャッシュメモリは
    更にキャッシュメモリ内のキャッシュロケーションに対
    応するメモリロケーションを識別すると共に夫々のキャ
    ッシュロケーションについて有効および無効条件を示す
    キャッシュディレクトリを含んでおり、 更に、上記プロセッサに接続して均一の幅のクロックサ
    イクルを与えるために一定周波数のタイミングパルスを
    含むタイミング信号を発生しそれを処理装置に与えるタ
    イミング手段と、 この処理装置に動作的に関連してキャッシュインターフ
    ェースを介して第1キャッシュロケーションに第1デー
    タワードを記憶すると共に3個の連続するクロックサイ
    クルの内の第1サイクルにおいて第1データワードの記
    憶についてキャッシュディレクトリの変更の必要性につ
    いてキャッシュディレクトリを読出し、必要性ありのと
    きキャッシュメモリインターフェースをフリーにするた
    め処理装置を中断するための第1中断信号を発生しそし
    て第1データワードを第2のクロックサイクルにおいて
    主メモリの第1メモリロケーションに記憶し、そして第
    3クロックサイクルにおいて処理装置を中断しそして第
    1データワードの記憶についてキャッシュディレクトリ
    を変更するためのロジック回路とを含む、 ビットエンコードデータの処理回路。 17、前記ロジック回路は前記処理装置内に有る請求項
    16記載の回路。
JP2336885A 1990-01-22 1990-11-30 データ記憶方法及びビットエンコードデータの処理回路 Granted JPH03225542A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US468048 1990-01-22
US07/468,048 US5206941A (en) 1990-01-22 1990-01-22 Fast store-through cache memory

Publications (2)

Publication Number Publication Date
JPH03225542A true JPH03225542A (ja) 1991-10-04
JPH0532775B2 JPH0532775B2 (ja) 1993-05-17

Family

ID=23858238

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2336885A Granted JPH03225542A (ja) 1990-01-22 1990-11-30 データ記憶方法及びビットエンコードデータの処理回路

Country Status (4)

Country Link
US (1) US5206941A (ja)
EP (1) EP0438960B1 (ja)
JP (1) JPH03225542A (ja)
DE (1) DE69030072T2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5428761A (en) * 1992-03-12 1995-06-27 Digital Equipment Corporation System for achieving atomic non-sequential multi-word operations in shared memory
EP0624844A2 (en) * 1993-05-11 1994-11-17 International Business Machines Corporation Fully integrated cache architecture
KR970010368B1 (ko) * 1994-01-18 1997-06-25 삼성전자 주식회사 캐시라인 리프레이스장치 및 방법
US5553264A (en) * 1994-06-24 1996-09-03 Digital Equipment Corporation Method and apparatus for efficient cache refilling by the use of forced cache misses
US5537575A (en) * 1994-06-30 1996-07-16 Foley; Denis System for handling cache memory victim data which transfers data from cache to the interface while CPU performs a cache lookup using cache status information
EP0713181A1 (en) * 1994-11-16 1996-05-22 International Business Machines Corporation Data processing system including mechanism for storing address tags
USRE38514E1 (en) 1994-11-18 2004-05-11 Apple Computer, Inc. System for and method of efficiently controlling memory accesses in a multiprocessor computer system
US5895496A (en) * 1994-11-18 1999-04-20 Apple Computer, Inc. System for an method of efficiently controlling memory accesses in a multiprocessor computer system
US5737756A (en) * 1995-04-28 1998-04-07 Unisys Corporation Dual bus computer network using dual busses with dual spy modules enabling clearing of invalidation queue for processor with store through cache while providing retry cycles for incomplete accesses to invalidation queue
JP2964926B2 (ja) * 1995-08-29 1999-10-18 富士ゼロックス株式会社 データベース管理装置及び方法
US6085288A (en) * 1997-04-14 2000-07-04 International Business Machines Corporation Dual cache directories with respective queue independently executing its content and allowing staggered write operations
JPH10340226A (ja) * 1997-06-09 1998-12-22 Nec Corp 連想記憶方式のキャッシュメモリ
US6023747A (en) * 1997-12-17 2000-02-08 International Business Machines Corporation Method and system for handling conflicts between cache operation requests in a data processing system
US6912637B1 (en) * 1998-07-08 2005-06-28 Broadcom Corporation Apparatus and method for managing memory in a network switch
WO2013058745A1 (en) 2011-10-18 2013-04-25 Soft Machines, Inc. Methods and systems for managing synonyms in virtually indexed physically tagged caches
US10223204B2 (en) 2011-12-22 2019-03-05 Intel Corporation Apparatus and method for detecting and recovering from data fetch errors

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3771137A (en) * 1971-09-10 1973-11-06 Ibm Memory control in a multipurpose system utilizing a broadcast
US4345309A (en) * 1980-01-28 1982-08-17 Digital Equipment Corporation Relating to cached multiprocessor system with pipeline timing
US4332010A (en) * 1980-03-17 1982-05-25 International Business Machines Corporation Cache synonym detection and handling mechanism
US4439829A (en) * 1981-01-07 1984-03-27 Wang Laboratories, Inc. Data processing machine with improved cache memory management
US4484267A (en) * 1981-12-30 1984-11-20 International Business Machines Corporation Cache sharing control in a multiprocessor
US4819154A (en) * 1982-12-09 1989-04-04 Sequoia Systems, Inc. Memory back up system with one cache memory and two physically separated main memories
JPS59160899A (ja) * 1982-12-09 1984-09-11 セコイア・システムス・インコ−ポレ−テツド メモリ−・バツク・アツプ・システム
US4719568A (en) * 1982-12-30 1988-01-12 International Business Machines Corporation Hierarchical memory system including separate cache memories for storing data and instructions
US4695951A (en) * 1983-07-07 1987-09-22 Honeywell Bull Inc. Computer hierarchy control
US4831622A (en) * 1987-12-22 1989-05-16 Honeywell Bull Inc. Apparatus for forcing a reload from main memory upon cache memory error

Also Published As

Publication number Publication date
DE69030072D1 (de) 1997-04-10
JPH0532775B2 (ja) 1993-05-17
EP0438960A3 (en) 1992-09-02
DE69030072T2 (de) 1997-09-18
EP0438960A2 (en) 1991-07-31
EP0438960B1 (en) 1997-03-05
US5206941A (en) 1993-04-27

Similar Documents

Publication Publication Date Title
JP3510240B2 (ja) キャッシュメモリー付マルチ処理システム
CA1124888A (en) Integrated multilevel storage hierarchy for a data processing system with improved channel to memory write capability
JPS5830319Y2 (ja) コンピユ−タシステム
US5696937A (en) Cache controller utilizing a state machine for controlling invalidations in a network with dual system busses
US5095424A (en) Computer system architecture implementing split instruction and operand cache line-pair-state management
US5845324A (en) Dual bus network cache controller system having rapid invalidation cycles and reduced latency for cache access
US5168560A (en) Microprocessor system private split cache tag stores with the system tag store having a different validity bit for the same data line
JPH03225542A (ja) データ記憶方法及びビットエンコードデータの処理回路
US5263144A (en) Method and apparatus for sharing data between processors in a computer system
EP0474450A2 (en) Processor system with improved memory transfer means
US5737756A (en) Dual bus computer network using dual busses with dual spy modules enabling clearing of invalidation queue for processor with store through cache while providing retry cycles for incomplete accesses to invalidation queue
EP0533427A1 (en) Computer memory control system
US4658356A (en) Control system for updating a change bit
EP0144268B1 (en) Method for controlling buffer memory in data processing apparatus
JPH04336641A (ja) 処理システムにおける使用のためのデータキャッシュおよび方法
US4737908A (en) Buffer memory control system
EP0442690A2 (en) Data cache store buffer for high performance computer
EP0271187B1 (en) Split instruction and operand cache management
US5426749A (en) Buffer control system using synonymic line address to retrieve second tag portion for fetch and store accesses while first tag portion is invalidated
US5276892A (en) Destination control logic for arithmetic and logic unit for digital data processor
JPH06187239A (ja) 多階層キャッシュメモリにおけるデータ一致制御方式
JPH07234819A (ja) キャッシュメモリ
JPH02110646A (ja) メモリの先行読出し装置
JPH0210446A (ja) バッファ記憶装置
JP3055908B2 (ja) キャッシュメモリ制御装置