JPH0532775B2 - - Google Patents

Info

Publication number
JPH0532775B2
JPH0532775B2 JP2336885A JP33688590A JPH0532775B2 JP H0532775 B2 JPH0532775 B2 JP H0532775B2 JP 2336885 A JP2336885 A JP 2336885A JP 33688590 A JP33688590 A JP 33688590A JP H0532775 B2 JPH0532775 B2 JP H0532775B2
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.)
Expired - Lifetime
Application number
JP2336885A
Other languages
English (en)
Other versions
JPH03225542A (ja
Inventor
Guren Aikiru Richaado
Hootaa Giaa Chaaruzu
Baanaado Rebensutain Sherudon
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)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はキヤツシユメモリを有し、共用主記憶
装置に接続する処理装置を含む情報処理システム
に関し、詳細にはキヤツシユメモリと主記憶装置
に対する読取および記憶速度を増加しつつキヤツ
シユメモリ内のデータの完全性を保証する手段に
関する。
〔従来技術および課題〕
共通主記憶メモリを共用する複数の処理装置を
備えた情報処理回路においてはキヤツシユメモリ
が回路性能を大幅に向上させることが出来る。複
数のキヤツシユメモリを夫々の処理装置内でそれ
に関連づけて1個づつ設けて主メモリに記憶され
た情報のいく分を含めるようにする。これら処理
装置の1個が共用メインメモリではなくそれに関
連するキヤツシユメモリ内でデータ記憶または取
出しを行うときにはメモリアクセス時間が大幅に
減少する。一般にキヤツシユメモリには次の二つ
のタイプがある。すなわちキヤツシユメモリの内
の1個にデータが記憶されるたびにそのデータが
共用主メモリに与えられるようになつたストア−
スルーキヤツシユメモリと、直接の記憶がキヤツ
シユメモリにだけ行われるストアーイン−バツフ
アキヤツシユメモリである。ストアー−イン−バ
ツフアキヤツシユメモリはそれに関連する処理装
置のすべての記憶を扱い、従つて減少した主記憶
バンド幅について共用主メモリへのアクセス回路
が少くてすむ。同時に、ストアーイン−バツフア
キヤツシユメモリについてはキヤツシユメモリと
主メモリの間に、これらキヤツシユメモリの任意
のものに対する最近の更新と主メモリを一致させ
ておくためのより多くの相互通信回路が必要であ
る。
米国特許第4484267号明細書は二つのタイプの
キヤツシユメモリの利点すなわちストアーイン−
バツフアキヤツシユメモリとストアースル−キヤ
ツシユメモリの特徴を選択的に組合せるハイブリ
ツドキヤツシユ制御を得るための一つの試みを開
示している。このキヤツシユ制御は多処理装置シ
ステムにおける夫々のキヤツシユデイレクトリの
夫々のライン表示に関連した共用フラグを利用す
る。このフラグは各ラインについて、そのライン
がストアーイン−バツフアラインとして扱われる
べきかストアースル−ラインとして扱われるべき
かを指示する。ハイブリツド制御は、メインメモ
リに記憶をたまに送ればよいから同様のストアー
スル−キヤツシユメモリを用いる回路と比較して
必要とする主記憶バンド幅が小さい。他方、スト
アーイン−バツフアキヤツシユメモリを用いるシ
ステムと比較すると、このハイブリツドシステム
は性能を改善する。
回路性能を改善するための他の試みは米国特許
第4695951号明細書に示されており、これは夫々
がストアーインツウ形のキヤツシユメモリを有す
る複数の処理装置についてのシステムを示してい
る。プロセツサにより変更されたデータがその関
連するキヤツシユメモリに記憶される。他のプロ
セツサが同じロケーシヨンからのデータを要求す
るときにはそのデータが元のプロセツサから要求
をなしたプロセツサに、主メモリを通じてではな
く直接に送られる。
米国特許第4439829号明細書はキヤツシユメモ
リサイクルを二つの部分、すなわち処理装置の読
取要求に使用される第1部分と、関連するキヤツ
シユメモリのチエツクのためにプロセツサからア
ドレスをとり出しそしてそのキヤツシユメモリに
書込むことを含むすべての他の動作に用いられる
第2部分に分けられるようになつた回路を示して
いる。この分割は内容の損失を生じさせるもので
あるが、それが解決して処理速度を上げている。
キヤツシユメモリは主メモリのロケーシヨンま
たはアドレスのテーブルを含んでいる。そのよう
なテーブルはキヤツシユメモリにマツピングされ
ている主メモリのロケーシヨンばかりでなく、
夫々のロケーシヨンが有効か無効かについても特
定するものである。ここでキヤツシユデイレクト
リと呼ぶこのテーブルは更にキヤツシユメモリの
ロケーシヨンとそれらに関連する主メモリのロケ
ーシヨンに関連する状態ビツトも保持しうる。
例えば、一つの情報処理システムではデータワ
ードのいくつかを、他のデータビツトと共に主メ
モリ内の特定のバイトまたはバイトの数を識別す
るアドレスを含む「ポインタ」として識別するこ
とが望ましい。ポインタは、セツトされたときそ
れらに関連するデータワードを1つのポインタと
して識別するハードウエアタグビツトにより他の
データワードから区別される。タグビツトはタグ
インストラクシヨンによつてのみセツトされうる
ものであり、他のインストラクシヨンはこれらタ
グビツトをリセツトする。従つて、1つのポイン
タがタグインストラクシヨンではなくデータ処理
インストラクシヨンによりたまたま変更されると
すると、これらリセツトタグビツトがそのポイン
タを有効とは識別しない。
システム性能を向上させるためにはポインタと
他のデータワードを一緒にし、すなわち主メモリ
にポインタの排他的な使用のための特別の領域を
設ける必要のないようにすることが望ましい。し
かしながら情報処理回路はデータワード内にタグ
ビツトがあることを許さないフオーマツトを利用
する装置を含むことがある。このため主メモリを
そのような装置の間で伝送されるデータワード内
のタグビツトを変更しなければならない。このた
め、データワードを主メモリから装置に移すと
き、タグビツトを抽出し、すなわち累積して別の
フイールドすなわち処理装置のキヤツシユデイレ
クトリに保存する。この形式の回路ではキヤツシ
ユデイレクトリはキヤツシユメモリにマツピング
された主メモリのロケーシヨンとそれらの有効性
を特定するだけでなくそのロケーシヨンのデータ
をアドレスポインタとして識別しあるいは他の方
法でそのデータの状態を示すためにそのようなロ
ケーシヨンに関連する状態ビツトを保持する。
ストア−スルーキヤツシユメモリに関連しては
データ記憶動作は2段階または2クロツクサイク
ルで行われる。第1サイクルにおいてキヤツシユ
デイレクトリが(1)ターゲツト(要求された)主メ
モリロケーシヨンが現にキヤツシユメモリにマツ
ピングされるか、(2)ターゲツトメインメモリロケ
ーシヨンが現にマツピングされており状態ビツト
が更新を要求するか、または(3)ターゲツトメイン
メモリロケーシヨンがキヤツシユメモリに現在マ
ツピングされていないか、を決定するために読取
られる。第2サイクルにおけるアクシヨンはこの
読取結果にもとづく。ターゲツトメインメモリロ
ケーシヨンがすでにキヤツシユメモリにマツピン
グされていれば記憶は完了しそして必要であれば
状態ビツトが更新される。ターゲツトメインメモ
リロケーシヨンがキヤツシユメモリにマツピング
されていなければそのキヤツシユメモリをバイパ
スするか、主メモリまたは主メモリロケーシヨン
と等価なラインにのみ記憶されたデータが記憶動
作の完了前にそのキヤツシユメモリについてとり
出される。いずれにしても各 ータ記憶動作には
少くとも2つのクロツクサイクルが必要である。
理想的にはキヤツシユメモリは同一のクロツク
サイクルについて動作速度を2倍とするように各
クロツクサイクルでのデータアクセス(すなわち
記憶または取出し動作)を可能にするものであ
る。キヤツシユデイレクトリのチエツクを実際の
記憶のための別々のサイクルを設ける「オーバヘ
ツド」がキヤツシユメモリに記憶されるデータの
完全性を保証するために必要と考えられている。
〔発明の概要及び解決課題〕
本発明の目的はストア−スルーキヤツシユメモ
リを有する少くとも1個の処理装置を含み、記憶
および取出し動作の速度がデータの完全性を損う
ことなく実質的に向上するようになつたデータ処
理回路を提供することである。
本発明の他の目的はストア−スルーキヤツシユ
メモリへのデータ記憶とキヤツシユデイレクトリ
の比較または読取が同一クロツクサイクルにおい
て生じるようになつたシステムを提供することで
ある。
他の目的は、夫々ストア−スルーキヤツシユメ
モリを含みキヤツシユデイレクトリの読取りに関
連するオーバヘツドを有さない、1つの主メモリ
を共用する複数の処理装置を備えたシステムを提
供することである。
更に他の目的は、異なる主メモリロケーシヨン
がありそしてキヤツシユメモリに有効としてマー
クされていない限り各クロツクについて1回のス
トア−スルーキヤツシユメモリと主メモリへの記
憶を行うためそして更に異なる主メモリロケーシ
ヨンがキヤツシユメモリにあるときキヤツシユラ
インを無効と識別するために関連する処理装置を
中断させるためのプロセスを提供することであ
る。
これらの目的を達成するために、ビツトエンコ
ードデータを夫々複数のデータビツトを有するデ
ータワードとして処理するための処理装置構成を
含む情報処理回路に関連して行われるプロセスが
提供される。この回路はビツトエンコードデータ
を記憶するためのメモリロケーシヨンを有する主
メモリと、この処理構成を主メモリとに接続する
主メモリインターフエースとを含む。この処理構
成は更にストア−スルーキヤツシユメモリとキヤ
ツシユメモリインターフエースを有する少くとも
1個の指定プロセツサを含む。このキヤツシユメ
モリはデータを記憶するための複数のキヤツシユ
ロケーシヨンとこれらロケーシヨンに関連する状
態情報を記憶するためのキヤツシユデイレクトリ
を含む。指定プロセツサは主メモリインターフエ
ースを介して主メモリの選ばれたメモリロケーシ
ヨンにビツトエンコードデータを記憶する手段と
キヤツシユメモリインターフエースを介してキヤ
ツシユメモリの選ばれたキヤツシユロケーシヨン
にビツトエンコードデータを記憶する手段とを含
んでいる。
このプロセスは下記の段階を含む: キヤツシユメモリの第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,28がこ
れら処理装置を結合させそしてこれら装置内にあ
る調停論理との組合せにおいてこれらプロセツサ
と主メモリの間のインターフエース30へのアク
セスに関しこれらプロセツサの内の任意の1個に
優先権を与えるために用いられる。この回路にお
ける処理装置の形態は1個の処理装置でつくられ
るか、複数の処理装置でつくることが出来、後者
の場合にはすべての処理装置の点−点接続のため
に複数の調停リンクが設けられる。
主メモリは複数のメモリカード32,34,3
6を含む。メモリカード32はバツフア38と、
夫々複数のビツトを有する複数のデータワードと
してビツトエンコードデータを記憶するメモリア
レイ40とこのメモリアレイ40に接続された内
部レジスタ42を含む。これらメモリアレイに記
憶されたデータは一時または中間記憶のために内
部レジスタ42にロードされ、その間タグビツト
(前述)がそのデータから抽出されあるいはそこ
にそう入される。
メモリカード34と36はメモリカード32と
同様であつて夫々バツフア44、メモリアレイ4
6および内部レジスタ48、およびバツフア5
0、メモリアレイ52および内部レジスタ54を
含む。これら要素はメモリカード32内の対応す
るものと実質的に同一であり同様に機能する。主
メモリは複数のメモリカードを含むことが出来
る。
これらプロセツサとメモリカードを関連づける
インターフエースはデータバスとコマンド/アド
レスバスを含み、夫々のバスが処理装置およびメ
モリカードのすべてに接続する。これらバスはデ
ータを並列に伝送する。データバスはワーキング
情報と呼ばれるこの回路のユーザに最も直接的に
必要な情報を伝送する。コマンド/アドレスバス
は特定のワーキングデータの取出し、記憶または
その他の処理のためのコマンドに関する制御情報
とメモリアレイ内の特定のワーキングデータロー
ドのロケーシヨンまたはそのようなデータが送ら
れるべきロケーシヨンを識別するためのアドレス
情報を伝送する。
ライン56,58,60はプロセツサ18,2
0,22をインターフエース30に関連づけ、ラ
イン62,64,66は同様にこのインターフエ
ースとメモリカードを関連づける。実際には別々
のラインをワーキング情報の伝送とコマンドおよ
びアドレス情報の伝送のために設ける。このイン
ターフエースは更にデータバスへのアクセスを制
御する、第1図には示さないデータバスを含み、
そしてまたワーキングデータに関係する状態情報
を伝送するための共用通信バスを含む。この形式
のインターフエースの詳細は米国特許出願第07/
445320に示されている。
処理装置18は単方向連想ストア−スルーキヤ
ツシユメモリ68を含み、これは夫々主メモリ内
の特定のアドレスまたはロケーシヨン群に関連し
た複数のキヤツシユラインを含む。キヤツシユメ
モリ68は夫々キヤツシユデイレクトリ70を含
む。このキヤツシユデイレクトリはキヤツシユメ
モリにマツプされた主メモリアドレスのレコード
であり、そしてキヤツシユメモリ内の夫々対応す
るロケーシヨンが有効か無効かを示すインジケー
シヨンを記憶する。更にキヤツシユデイレクトリ
70は夫々のキヤツシユラインとそれに関連する
主メモリ内のアドレスとに関連した状態ビツトを
含む。そのような状態ビツトは例えば特定のデー
タワードをアドレスポインタとして識別するため
あるいはデータを「有効」または「非有効」とし
て識別するために用いられるタグビツトを含む。
他の例は前記米国特許第4484267号に示す共用フ
ラグである。
72で示すようにプロセツサ18はデータを取
出しそして記憶すると共にビツトエンコードデー
タにもとづく算術論理演算を行うためのロジツク
(半導体チツプ回路の形をとる)を含む。ロジツ
ク72の一部はキヤツシユインターフエース74
を介してのキヤツシユメモリ68への記憶および
そのキヤツシユメモリからのデータの取出しまた
は回復の制御に用いられる。ロジツク72は必要
であれば前の記憶または取出し動作についてキヤ
ツシユデイレクトリ70を変更するためにインタ
ーフエース74における1クロツクサイクルを
「盗用」するため、プロセツサ18を中断するこ
とが出来る。
処理装置20と22は処理装置18と同様であ
り夫々キヤツシユデイレクトリ80と82、ロジ
ツク84と86、およびキヤツシユインターフエ
ース88と90を有するキヤツシユメモリ76と
78を含む。これら要素は処理装置18内の対応
するものと実質的に同じ機能を行う。
回路16は更にリード94,96,98により
これらプロセツサの夫々にそしてリード95,9
7,98によりメモリカードに接続するクロツク
発振器92を含む。発振器92は予定のサイクル
または周波数のクロツクパルスからなるタイミン
グ信号を発生すると共にこの信号をこれらプロセ
ツサとメモリカードに与える。
キヤツシユメモリと主メモリにデータを記憶さ
せる従来の方法を第2,3図について説明する。
夫々の記憶はプロセツサの内の1個からの記憶要
求でスタートする。この記憶要求はそのプロセツ
サ内のデータを送るべき主メモリの特定のアドレ
スまたはロケーシヨンを識別する。この要求によ
りそして第1クロツクサイクル中に、関連するキ
ヤツシユデイレクトリが、そのキヤツシユメモリ
内のラインの任意のものが主メモリの要求された
アドレスに対応するかどうかの決定を行うために
読出される。要求された主メモリアドレスがキヤ
ツシユメモリにマツプされていれば(すなわち対
応するキヤツシユラインが検出されれば)、更に
キヤツシユデイレクトリが記憶されるべきデータ
ワード内の任意の状態ビツトの更新の必要性を示
すためにこの第1クロツクサイクルにおいて読出
される。
第2クロツクサイクル(第1クロツクサイクル
に続く)中に行われるアクシヨンはキヤツシユデ
イレクトリの読取結果にもとづく。詳細には、も
し主メモリアドレスがキヤツシユメモリにマツプ
されており、キヤツシユデイレクトリの更新が要
求されないのであれば、そのデータワードはキヤ
ツシユメモリと主メモリに記憶される。状態ビツ
ト更新が必要であれば、そのデータは再びキヤツ
シユメモリと主メモリに記憶されそしてキヤツシ
ユデイレクトリ内の状態ビツトが更新される。逆
に、要求された主メモリアドレスに対応するキヤ
ツシユラインが検出されないなら、キヤツシユメ
モリはバイパスされてデータは主メモリにのみ記
憶される。あるいはキヤツシユメモリ内の対応ラ
インを特定出来なければ要求された主メモリアド
レスについてキヤツシユラインを取出しそしてキ
ヤツシユメモリおよび主メモリへの記憶を完了す
る。殆どの場合、キヤツシユメモリはバイパスさ
れる。
いずれにしても、夫々の記憶動作に2クロツク
サイクルが必要なことは第3図から明らかであ
る。奇数番号クロツクサイクルはキヤツシユデイ
レクトリのチエツクまたは読出しに用いられる。
キヤツシユメモリと主メモリへの同時記憶は偶数
番号クロツクサイクルで生じる。キヤツシユデイ
レクトリのクロツクサイクル1と3におけるチエ
ツクは夫々の場合の要求された主メモリアドレス
が状態ビツトの更新要求を伴わずにキヤツシユメ
モリにマツプされたことを示している。キヤツシ
ユデイレクトリのサイクル5における読みは状態
ビツトの更新要求とこの更新がサイクル6で行わ
れたことを示す。サイクル9におけるキヤツシユ
デイレクトリのチエツクは要求された主メモリロ
ケーシヨンに対応するキヤツシユメモリ内のライ
ンがないことを示す。従つて、キヤツシユメモリ
はサイクル10においてバイパスされ、データは主
メモリにのみ記憶される。
第4,5図は本発明による記憶を示す。第4図
に示すように本発明の記憶動作はプロセツサの内
の1個、例えばプロセツサ18、からの要求によ
りスタートする、第1クロツクサイクルにおいて
キヤツシユメモリ68のキヤツシユデイレクトリ
70は要求されたアドレスがキヤツシユメモリに
マツプされているかどうかを決定するために読出
され、すなわち主メモリ内の要求されたアドレス
と比較され、そしてマツプされていればデータワ
ード内の状態ビツトの任意のものが更新を要求し
ているかどうかを決定する。従来の方法と異な
り、データワードは第1クロツクサイクル中にキ
ヤツシユメモリ68に直接に記憶される。これ
は、キヤツシユメモリ68が要求された主メモリ
アドレスに対応するラインを含むかどうかを知る
ことなく生じるためにキヤツシユメモリに対する
「ブラインド」記憶と呼ばれる。いずれにしても
キヤツシユデイレクトリ70の読取でなされるキ
ヤツシユメモリ内の対応するラインの存在と状態
ビツトの更新の必要性についての決定は同じであ
る。
要求されたメインメモリロケーシヨンがキヤツ
シユメモリ68にマツプされたことおよび状態ビ
ツトの更新要求がないことの決定に応じてキヤツ
シユメモリへの記憶は完了するからそれ以上のア
クシヨンは要求されない。このデータは勿論第2
クロツクサイクルまではないが主メモリに記憶さ
れる。対応するラインの存在および状態ビツトの
更新要求に応じてロジツク72は第2クロツクサ
イクルにおいてプロセツサ18を1クロツクサイ
クルだけ中断させるための信号を発生する。この
プロセツサは第3クロツクサイクルにおいて中断
され、その間状態ビツトが更新される。
異なつた主メモリロケーシヨンがキヤツシユメ
モリ68にマツプされている場合にはロジツク7
2は再び第2クロツクサイクルにおいてプロセツ
サ18を1クロツクサイクルだけ中断させる信号
を発生する。プロセツサ18はこの中断信号に応
じて第3クロツクサイクル中中断されて、このサ
イクル中に第1サイクルでデータを記憶したキヤ
ツシユラインの除去のためにキヤツシユインター
フエース76をフリーにする。
本発明による記憶動作シーケンスを第5図に示
す。第1クロツクサイクルにおいて第1データワ
ードがキヤツシユメモリ68に記憶され、その間
キヤツシユデイレクトリは要求された主メモリア
ドレスに対応するキヤツシユラインの存在につい
てチエツクすなわち読出される。第1データワー
ドは第2クロツクサイクルにおいて主メモリに記
憶されその間第2データワードが、第2記憶に対
するキヤツシユデイレクトリの読取時にキヤツシ
ユメモリに記憶される。この第1および第2のキ
ヤツシユデイレクトリの読出の結果はキヤツシユ
内に対応するラインがありそして更新要求がない
ことを示す。
他方、第3データワードのキヤツシユメモリ6
8への記憶に対応するキヤツシユデイレクトリ7
0の第3読出しは、対応するラインはあるが状態
ビツトの更新が要求されていることを示す。従つ
て、第4クロツクサイクルにおいて1サイクルの
スチールが生じる。このサイクルスチールに応じ
てプロセツサ18は第5クロツクサイクルにおい
て中断され、その間第3データワードに関連する
キヤツシユデイレクトリ内の状態ビツトは更新さ
れる。
第6クロツクサイクルにおいて第5データワー
ドがキヤツシユメモリに記憶され、そしてキヤツ
シユデイレクトリが読出されてキヤツシユメモリ
が主メモリの要求されたロケーシヨンに対応する
キヤツシユラインを有さないことを示す。これに
より第7クロツクサイクルにおいてサイクルスチ
ールが生じ、第8クロツクサイクル中プロセツサ
が中断し、第5データワードが記憶されたときキ
ヤツシユメモリ68内のキヤツシユラインの除去
のためにキヤツシユインターフエース74をフリ
ーにする。クロツクサイクル7におけるこのデー
タワードの主メモリへの記憶は有効である。この
除去の結果、キヤツシユデイレクトリ70は、特
定のキヤツシユラインへの次のアクセスおよび更
新まで第5データワードを有効として保持するキ
ヤツシユラインを識別する。
クロツクサイクル9と10は第7データワードの
キヤツシユへの最終記憶と対応するキヤツシユデ
イレクトリの読みを示し、それに続き主メモリへ
のそのワードの記憶並びに第8データワードのキ
ヤツシユメモリへの記憶と関連したキヤツシユデ
イレクトリのチエツクを示す。
このように、従来の方法と比較するとキヤツシ
ユデイレクトリが読出されるときのキヤツシユメ
モリへのデータ記憶は、キヤツシユへの誤つた記
憶が示されるときのプロセツサの中断(1サイク
ルのスチール)の必要性にも拘らず実質的に性能
を改善する(キヤツシユメモリへの5ではなく8
回の記憶)。改善の度合は実施の態様により異な
る。改善された性能はキヤツシユインターフエー
ス74および関連する処理装置との関連における
対応するインターフエース88と90が、キヤツ
シユ制御ロジツクが状態ビツトの更新または関連
するキヤツシユラインの除去のためのデイレクト
リの変更を行うために1サイクルのスチールを要
求しない限りクロツクサイクル毎にデータのアク
セスに使用出来るということによる。
本発明の他の観点は主メモリにおける同一アド
レスに関係したバツク−バツクアクセスすなわち
連続した記憶または取出し動作に関する。バツク
−バツクアクセスは、第2アクセスがキヤツシユ
デイレクトリ読出しであり、その間キヤツシユ制
御ロジツクが第1アクセスに関連したデイレクト
リの読出しにもとづきキヤツシユデイレクトリの
更新のためのサイクルスチールを生じさせるため
に、誤つた結果を生じさせうる。第2アクセスに
関連したデイレクトリの読出しまたは比較は「ス
チール(stale」データを受け、そのため誤続出
しを行うことがありうる。
このエラーの性質は行われる動作により変化す
る。例えば、バツク−バツク動作が共に記憶であ
るとすると、同じくキヤツシユデイレクトリの変
更要求を生じさせる記憶動作に関連して次の4つ
の結果が考えられる。除去に続く除去、除去に続
く状態ビツトの更新、状態ビツト更新に続く除
去、および状態ビツト更新に続く状態ビツト更
新。
除去に除去が続くときには第2の除去を行う必
要はない。この場合、キヤツシユ制御ロジツクは
キヤツシユデイレクトリをして強制的に、第2の
記憶に関連して関連するキヤツシユラインを無効
と識別させなければならず、従つて第2の除去は
生じない。
除去に状態ビツト更新が続くときにはこの更新
は有効ラインを誤つて有効にしうる。キヤツシユ
制御ロジツクはここでもキヤツシユデイレクトリ
をして第2の記憶に関連して関連するラインを無
効と識別させねばならない。従つてこの場合も更
新は生いない。
状態ビツト更新に除去が続くときには関連する
キヤツシユラインはキヤツシユデイレクトリにお
いて無効と識別されたままであるからエラーは生
じない。
状態ビツト更新に状態ビツト更新が続くとき
は、前の状態ビツトがキヤツシユデイレクトリに
誤つて書もどされることがある。これを避けるた
めにデイレクトリは第2記憶について関連するキ
ヤツシユラインを無効と識別する。これは第2記
憶における除去と等価である。
取出しに続く取出しについては本質的にエラー
は生じない。しかしながら取出し動作の次に記憶
が行われそしてその取出しがキヤツシユメモリの
ミスを生じさせる(要求された主メモリロケーシ
ヨンに対応するラインがキヤツシユメモリにな
い)ときには次の記憶が同じキヤツシユラインを
アクセスする。そのキヤツシユラインについての
データが主メモリからもどされるときには次の記
憶がキヤツシユラインを変更しているからもはや
正確ではない。従つて、キヤツシユ制御ロジツク
はそのキヤツシユラインを無効と識別するために
キヤツシユデイレクトリの更新を行わねばならな
い。
記憶動作に取出しが続くときはその取出しは同
一のキヤツシユラインであるか主メモリの異なつ
たアドレスに対するものである(キヤツシユノニ
ム)。この記憶がキヤツシユミスであり、キヤツ
シユメモリ内のラインを無効とマークさせるもの
であるならば、次の取出しは、デイレクトリが関
連するキヤツシユラインを無効とマークするため
に変更される前に生じるから誤ビツトを受ける。
この場合、キヤツシユ制御ロジツクはこの取出し
動作についてキヤツシユミスとしなければならな
い。
バツク−バツクアクセスによるエラーを除去す
るためのロジツクはこれらプロセツサのロジツク
82,84,86の部分であり、第6図のように
機能する。このロジツクは第1コマンド(コマン
ド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個
への記憶を示すフローチヤート、第5図は本発明
による記憶を示す第3図と同様のタイミング図、
第6図は本発明による主メモリとキヤツシユメモ
リの同一のロケーシヨンへの連続する記憶または
取出し動作を行わせるためのロジツクのフローチ
ヤートである。 16…情報処理回路、18,20,22…処理
装置(プロセツサ)、24,26,28…調停リ
ンク、32,34,36…メモリカード、38,
44,50…バツフア、40,46,52…メモ
リアレイ、42,48,54…内部レジスタ、6
8,76,78…キヤツシユメモリ、70,8
0,82…キヤツシユデイレクトリ、72,8
4,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
    データワードの状態ビツトが更新を要求するとき
    その状態ビツトを更新する段階を含む、請求項1
    2記載の方法。 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 JPH03225542A (ja) 1991-10-04
JPH0532775B2 true 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
EP0128945B1 (en) * 1982-12-09 1991-01-30 Sequoia Systems, Inc. Memory backup system
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
JPS60500187A (ja) * 1982-12-30 1985-02-07 インタ−ナシヨナル・ビジネス・マシ−ンズ・コ−ポレ−シヨン データ処理システム
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
JPH03225542A (ja) 1991-10-04
EP0438960B1 (en) 1997-03-05
US5206941A (en) 1993-04-27
DE69030072D1 (de) 1997-04-10
DE69030072T2 (de) 1997-09-18
EP0438960A3 (en) 1992-09-02
EP0438960A2 (en) 1991-07-31

Similar Documents

Publication Publication Date Title
JP3510240B2 (ja) キャッシュメモリー付マルチ処理システム
US5696937A (en) Cache controller utilizing a state machine for controlling invalidations in a network with dual system busses
JPH0345407B2 (ja)
JPS624745B2 (ja)
JPH0668735B2 (ja) キヤツシユメモリ−
JPH0532775B2 (ja)
US4347567A (en) Computer system apparatus for improving access to memory by deferring write operations
US5263144A (en) Method and apparatus for sharing data between processors in a computer system
EP0321793A2 (en) Apparatus for forcing a reload from main memory upon cache memory error
US4658356A (en) Control system for updating a change bit
US6883077B2 (en) Cache control device and method with TLB search before key receipt
EP0144268B1 (en) Method for controlling buffer memory in data processing apparatus
JPH04336641A (ja) 処理システムにおける使用のためのデータキャッシュおよび方法
EP0173909A2 (en) Look-aside buffer least recently used marker controller
US4737908A (en) Buffer memory control system
JPH0756808A (ja) データキャッシュバッファ及び記憶方法
JPS60701B2 (ja) デ−タ処理装置
JPH04195576A (ja) キャッシュメモリ方式
JPH02259945A (ja) ストア処理方式
JPS5927994B2 (ja) コンピユ−タシステム
JPS62266634A (ja) キヤツシユメモリのアクセス制御回路
JPH06301600A (ja) 記憶装置
JPS6319856Y2 (ja)
KR100201671B1 (ko) 컴퓨팅 시스템 및 컴퓨팅 시스템의 캐시 메모리 이용방법
JPS6230108Y2 (ja)