JPH04501027A - キャッシュメモリー付マルチ処理システム - Google Patents

キャッシュメモリー付マルチ処理システム

Info

Publication number
JPH04501027A
JPH04501027A JP1507645A JP50764589A JPH04501027A JP H04501027 A JPH04501027 A JP H04501027A JP 1507645 A JP1507645 A JP 1507645A JP 50764589 A JP50764589 A JP 50764589A JP H04501027 A JPH04501027 A JP H04501027A
Authority
JP
Japan
Prior art keywords
data
cache
bus
main memory
memory means
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
JP1507645A
Other languages
English (en)
Other versions
JP3510240B2 (ja
Inventor
シュワルツ,マーティン・ジェイ
ベッカー,ロバート・ディー
Original Assignee
エルジー・セミコン・カンパニー・リミテッド
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=22795556&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JPH04501027(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by エルジー・セミコン・カンパニー・リミテッド filed Critical エルジー・セミコン・カンパニー・リミテッド
Publication of JPH04501027A publication Critical patent/JPH04501027A/ja
Application granted granted Critical
Publication of JP3510240B2 publication Critical patent/JP3510240B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • G06F12/0833Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)

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)
  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】
キャンシュメモリー付マルチ処理システム
【技術分野】
本発明はキャッシュメモリーを使用したマルチ処理システムに関し、特にデータ の完全性を保つ手段と方法に関する。
【背景技術】
高速、小容量のキャッシュメモリーシステムは周知である。各種のキャッシュメ モリーシステムがあるが1周知のシステムは書通しwrite through ’キャッシュと書戻し”write back”キャッシュである。書通しキャ ッシュでは、データはキャッシュに書込むと同時に主メモリーに書込まれる。か くして、キャッシュは常に主メモリーに記憶されるデータと同しデータを含み、 データの完全性(同一性)をシステム全体について保たれる。書通し構造の問題 点は過大量のバス移送量を生じ、書通しキャッシュへの書込と同時に主メモリー への書込が生ずる。この構造の利点は常に最も更新されたデータがどこにも存在 する点である。 畜房キャッシュを使用する構造はバスの移送量が著しく減少する。最初にデータ を主メモリーから畜房キャッシュに書込み、中央処理ユニット(CP U)が次 に作動に使用する。CPUがデータをキャッシュに書戻して修正したとすればダ ーティ−ビットがセントされ、このデータがキャッシュに独自であり、主メモリ ーに存在するデータとは異なることを示す。このキャッシュでは通常は改修され たデータを主メモリーに書込んでデータの完全性を保つプロセスは使用しない。 明°らかにダーティ−ビットはデータの同一性を保つことはできない、書戻しキ ャッシュを1個のプロセッサと共に使用する場合にはデータ処理は簡単である。 しかし、2個以上のCPUが同じ主メモリーを使用する時はデータ処理は複雑に なこのシステムでは2個以上のキャッシュメモリーが存在することが多い、キャ ッシュのエントリ位置には有効/無効ビットが存在する。CPUが他のキャッシ ュがメモリーに書込み、そのキャッシュが同じデータアドレスを有する場合には キャッシュを更新せずに自分のキャッシュエントリを無効とする。かくしてCP Uが特定のデータアドレスでキャッシュにアクセスした時に無効のエントリを見 て主メモリーに再び向い7時間のかかるプロセスとなる。 本発明の目的はマルチ処理キャッシュ装置のデータの完全性を保ち、主メモリー に対する多数回のアクセスを必要としないようにすることである。 本発明の他の目的は複数のCPUが関連するキャッシュメモリーを経てデータを アクセスし、各CPUは常に最も更新されたデータをアクセスすることができる ようにすることである。 本発明の別の目的はマルチ処理システムを提供し、畜房キャッシュを使用し主メ モリーアクセスを最小とし、同時にシステム全体のデータの完全性を保つことで ある。 本発明の他の目的は、キャッシュメモリーシステムを提供し、有効/無効データ 表示の使用を廃止することである。
【発明の開示】
本発明によるマルチ処理システムは少なくとも2個のCPUと、主メモリ一手段 とバス手段とを含む。キャンシュメモリ一手段を含み、各CPUをバス手段に結 合し、更にキャッシュメモリ一手段内に記憶されたデータユニットのステータス を示す手段を含む。あるステータス表示は記憶位置の内容が主メモリーから受信 されてから修正されたか否かを示し、他の表示は記憶位置の内容が他のキャッシ ュメモリ一手段内に存在するか否かを示す。制御手段を含み、cpuからデータ ユニットを受けCPUに関連するキャッシュメモリ一手段に記憶させた時点を確 認し、このデータユニットが他のCPLIに関連するキャンシュメモリ一手段内 にも記憶されており、このCPUデータユニットは主メモリ一手段に書込まれて いることを確認する。このプロセス間に、他のカーシェメモリ一手段がバス手段 を監視して対応するデータユニットを更新する。各キャッシュメモリ一手段にバ ス監視手段を含み、主メモリーから読出してシステム全体のデータの完全性を保 つ。
【図面の簡単な説明】 図1は本発明によるデータ処理システムのアドレスとデータフォーマントを来園 3はメモリーに対するCPUの読出し要求間に生ずるシーケンスを示すデシジョ ンツリーである。 図4は非要求CPU/キャッシュがシステムバスを監視し続出要求者にデータ戻 しを行う時に生ずるシーケンスを示すデシジョンツリーである。 図5はCPUのメモリーへの書込に際して生ずるシーケンスを示すデシジョンツ リーである。 図6は非要求CPU/キャッシュが書込要求者によるメモリーへの書込を監視す る際に生ずるシーケンスを示すデシジョンツリーである。 図7は非要求CPU/キャッシュがメモリーから要求cPtJ/キャッシュへの 多数ワード続出を監視する際に生ずるシーケンスを示すデシジョンツリーである 。 図8はメモリーからの多数ワードデータ続出を示すフローチャートである。 図9はデータ戻し間にキャッシュ間に生ずる調停を示すフローチャートである。 図10a、 10b、 10cは本発明によるタイミング線図である。
【発明を実施するための最良の形態】
位置は2ワード(二重ワード)を記憶し、バイトレベルでアドレス指定可能とす る°。何れのバイトも個々にアドレス指定、読み、書き可能であり、バイト ワ ード、二重ワードの組合せが可能である。通常はこのシステム内で移送するデー ターにフィジカルアドレスがあり1 ここでデータのサブセット(例えばバイト )を見出し得る。フィジカルアドレスの一部を使用してアクセスし、畜房キャッ シュメモリー内の位置を識別する。各キャッシュは12ビツト(4,−16ビツ ト)のフィジカルアドレスを使用してデータワードを識別し、12ビ、トをタグ と称する。フィジカルアドレスの他の部分即ちビット17−28を使用してキャ ッシュメモリー内の記憶位置のアドレス(キャッシュアドレス)とする。キャッ シュアドレスはキャッシュメモリー内の記憶位置の基準となるがタグはその記憶 位置に実際に記憶されたデータを識別する。 キャソソユメモリーへのアドレスはCPUからのフィジカルアドレスの到着によ って開始する。キャッシュはキャッシュアドレスを使用してメモリー位置の1個 にアクセスする。次に、受信したフィジカルアドレスのタグ部分をキャッシュア ドレスに記憶されたデータのタグ部分と比較して一致しているか否かを定め。 この場合はヒントが生したことを示し、アクセスし、書き、又は変更し、利用す べき正当なデータがフィジカルアドレスによって実際に指定される。一致してい ない場合(ミス)のシステムの代表的応答は要求されたデータの主メモリーに対 する読出し要求の発生である。 上述の通り、データフォーマットは長さ2ワードであり、各ワードは32ビツト であり、8ビツトのバイト4個を含む、同様にパリティビットが組合されるが本 発明の説明には無関係である。 次の説明において留意すべきことは1本発明はキャッシュデータが常にシステム 内で最新であることを確実にしてデータの完全性を保つことである。かくしてキ ヤノンユデータに関する有効、無効の表示はなく、キャッシュのデータは常にそ の不変性が有効(即ち最新)であることが保証される。 これに対して、有効、無効表示を使用するキャフンユシステムは無効データユニ ットをアドレスした時に不可避的にキャッシュミスの数を累積する。このシステ 、ムでは有効データユニットを受けた時にキャッシュ内に置き2次に要求者に提 示される。本発明はこの不必要なメモリーサイクルを避け、指令等の有効無効デ ータのリストの必要なく、メモリーコントローラがキャッシュ作動の記録を保管 する必要がない。 本発明のキャッシュメモリーでは1表示は主メモリーからアクセスされるから各 キャノンユデータワードの修正の状!I3(例えばダーティ−1又は非ダーティ −)に関係し、また他のカーシュスドア内にあるか否か(例えばシェア又は非シ ェア)に関係する。この表示はシステムが常にキャッシュデータワードを最新に し、要求された時に更新することを確実にする。キャッシュストアが要求された データを持たない場合でもこのデータが他のキャッシュストア内に存在する場合 には要求されたキャンシュスドアに直に移送する手段を有する。 本発明は更に、2+i1以上のCPUが同時に1個のワード内のバイトを修正し ようとする場合の特別な手順の手段を必要としない0本発明はこの修正を定常作 動の間に行う。 定義によって1本発明のシステムのキャッシュは最新であるため、システム作動 が開始されれば、各キャッシュはデータで充満する必要がある。このために。 主メモリーからデータを無作為に選択して各キャッシュストアに書込み、記憶し 、システムが始動すれば主メモリーのデータは最新と見做される。システムは後 述する通りに次の作動を開始する。 図2は、少なくとも2個のCPUl0,12を含むマルチプロセサシステムのハ イレベルブロック図を示す、各CPUはパーチャルアドレスシステムによって作 動する。しかし、内部CPU及びメモリー作動が実行されればパーチャルアドレ スはフィジカルアドレスに変換され、アドレスの示すデータを記憶する主メモリ ー14内の実際のアドレス位置を示す、アドレス変換はアドレス変換器16゜1 6゛ によって行い、フィジカルアドレスはマルチプレックサ18.18’を経 てフィジカルアドレスレジスタ20,20°に供給される。各CPUと組合せた キャッシュメモリーシステムとは同様とし、CPUl0のみを説明し、CPUI 2は同様であり、同じ符号にプライムを付して示す。 キャッシュアドレス(即ちビット17−28)に対応するフィジカルアドレスレ 、ジスタ20内に存在するフィジカルアドレスの部分はケーブル22を経てキャ ッシュバス24に供給される。キャッシュバス24にはキャッシュデータストア 26、キャッシュタグストア28.ダーティ−ビットストア30.シェアビット ストア32とバス監視キャッシュタグストア54を接続する。ケーブル27はC PtJloからキャッシュデータストアへの直接入力用である。キャッシュデー タストア26は32にバイトメモリーであり、4にライン深さ、64ビツト(8 バイト)幅とする。このキャッシュストアの各ラインは二重ワードを記憶する。 キャッシュタグストア28は4にライン深さ、13ビツト幅とし、フィジカルア ドレスのタグ部分を記憶し5キヤツシユデータストア26の何処に対応するデー タが記憶されるかをタグが画成する。各データの二重ワードはフィンカルアドレ スを組合せ、二重ワードを記憶した主メモリー14の位置を表示する。キヤ・7 シユタグストア28の各ラインはキャッシュデータストア26内のデータストア アドレスの位置に対応し、このキャッシュデータストアアドレスに記憶されたデ ータに組合せたフィジカルアドレスのタグ部分を含む。 ダーティ−ビットレジスタ30とシェアビットレジスタ32は夫々4にライン深 さとする。ダーティ−ビットレジスタ30の任意のラインの11”ビットはカー シュデータストア26の対応するライン内のデータが主メモリー14の対応する 記憶位置内のデータよりも最新であることを示す、ダーティ−ビットレジスタ3 0のラインの“0″設定はキャッシュデータストア26内の対応するエントリー が主メモリー内のその位置に出現するデータと同じ(除外例は後述する)ことを 表示する。シェアビットレジスタ32のラインの1にセットしたビットはシステ ム内の他のキャッシュが同じエントリーを含むことを示す。シェアビットレジス タ32のラインのOにセントしたビットは他のキャッシュが同じエントリーを持 たないことを示す。 フィジカルアドレスレジスタ28では、ケーブル34がフィジカルアドレスのタ グ部分(ビット4−16)をアクセスして比較a36に供給する。キャッシュタ グストア28からのケーブル3日は比較器36に記憶した選択タグを供給する。 比較が生じた時に両タグが等しいことを示す(ヒント)時にはライン39を経て 信号がカーシュコントローラ40に送られる。 、キャッシュコントローラ40及び他の作動制御機器は個別の機器として示すが その機能は後述する通りcpuに組合せられ、完全に独立した機器ではない。 ケーブル42.44はカーシュコントローラ40にカーシュアドレスビットをカ ーツユバス24から、及びレジスタ20から完全なフィジカルアドレスを夫々供 給する。ライン43.45はカーシュコントローラ40のダーティ−とンエアビ ノトのセツティングと読出しの手段を供給する。キャッシュコントローラ40は ケーブル42を経てキャンシュバス24に信号を供給し、キャッシュデータスト ア26.キャッシュタグストア28.ダーティ−ピントレジスタ30.シエアビ ットレジスタ32.バス監視キャッシュタグストア54からの書込み、読出しを 制御する。 図2に示すシステムの主素子間の接続はシステムバス42に生ずる。実際はシス テムバス42は3本の別のバスシステム、iちデータバス102.アドレスバス 104.制御バス106を含む、制御バス106は主制御ライン53.シェアラ イン55 (凡てのカーシュコントローラに接続)バスロックライン59 (シ ステムバス42に接続された凡てのユニットによって監視される)保持ライン5 7.57゛ から成る。保持ライン57はキャッシュコントローラ40から出て 、保持ライン57゛ はカーシュコントローラ40゛から出る0両保持ライン5 7,57゛はシステムバス42に接続された凡てのユニットによって監視される 。 各保持ライン57,57° ロックライン59はほぼ同様な機能(システムバス からの他の機能を除く)を行う。キャッシュコントローラが保持ラインを指定し た時はシステムハスの他の潜在使用者は保持ラインが解放されるまではバスに接 続されない。例えば、後述する通り、キャッシュコントローラは他の要求者への 返送システムを監視してそれ自体のキャッシュストア内に存在する場合がある。 この場合には監視するキャッシュコントローラは保持ラインをセットし、データ 要求者に対して多くのデータが入力するため接続をシステムバスに解放できない ことを表示する。かくして保持ラインは、データ要求者が利用可能の最新のデー タを確実に受取るまでは次の個々の作用が生ずるのを防ぐ。 バスロックライン59に関しては、バスに接続された入力はアクセスを要求する 必要があり、他の高次の優先順位の入力が同様の要求で待っていないことをシス ゛テムが確認した後にアクセスが許可される。バスロックライン59に対するア クセスが許可されて独占すれば、この入力とメモリー制御ユニット54のみがシ ステムバスにアクセス可能である。独占入力が読み要求を出せば、メモリー制御 ユニット54は応答可能であり、他の入力が主メモリーにアクセスして要求デー タを変更する惧れはない、特定の作動を完了すれば、バスロック線ライン59は 解放され、他の要求入力が利用可能となる。 データバス102は凡ての主サブシステム間(キャッシュメモリーシステムと主 メモリー14との間等)にデータを搬送する。各キャッシュメモリーはデータバ スインターフェース50を有し、データバス102との間のアクセスを行う。 同様にして、アドレスバス104はアドレスバスインターフェース52を経て各 キャッシュメモリーによってアクセスされる。制御バス106はケーブル49に よってキャッシュコントローラ40に接続され、各種システム制御信号に対する 所要の交通路となる。各バス102,104,106は更にメモリー制御ユニッ ト54に接続され、凡ての主メモリー作動を制御する。各バス102,104゜ 106は更にI10インターフェース61に接続され、接続された入力出力装置 と各種システムバスとの間の移送を制御し、システム制御インターフェースユニ ット63に接続されてシステム主動制御と診断を行う。 データの完全性を確実にするための各キャッシュメモリーの重要な部分はバス監 視キャッシュタグストア54である。バス監視キャッシュタグストア54はキャ ッシュタグストア28と同様な構成であり、キャッシュタグストア28の含む同 様なタグのセントを含む。 アドレスバスインターフェース52がアドレスバス104上のフィジカルアドレ スを監視する時は、そのアドレスをケーブル56を経て外部アドレスレジスタ5 8に伝達する。外部アドレスレジスタ58からの出カケーブル60は監視したフ ィジカルアドレスのキャッシュアドレス部分を送り、バス監視キャッシュタグス トア54の対応メモリー線を読出し、ケーブル62を経て比較器64に送る。 比較器64の他の入力はケーブル66に生じ、外部アドレスレジスタ58に記憶 されたフィジカルアドレスのタグ部分である。比較器64からの同一表示はライ ン67を経てキャッシュコントローラ40に供給される。キャッシュコントロー ラ′40に対する他の入力はケーブル56.68を経てアドレスバスインターフ ェース52によって監視された完全フィジカルアドレスを送る。キャッシュコン トローラ40はライン70.72上の信号を経てアドレスバスインターフェース 52とデータバスインターフェース50との作動を制御する。データバスインタ ーフェース50はアドレスバスインターフェース52とほぼ同様に作動するが、 データバス102に生ずるデータを受けてケーブル51を通る指令によってキャ ッシュデータストア26に送る。 図3 (図2と関連する)はデシジョンツリーを示しCPUI Oが読出要求を 主メモリー14に送った時に生ずる作動を示す。この場合に、CPUl0は読出 要求をケーブル80を経てキャッシュコントローラ40に送る。予め、メモリー から読出す要求されたデータのフィジカルアドレスがCPUl0によってフィジ カルアドレスレジスタ20に介挿されている。キャッシュコントローラ40は次 に比較すべきフィジカルアドレスレジスタ20のタグ部分をキャッシュタグレジ スタ28に記憶されたタグと比較する。比較器36で一致が検出されれば、ライ ン38を経てキャッシュコントローラ40にヒントを示す信号を供給する。キャ ッシュコントローラ40が所定時間以内にヒツト信号を受けない時はミス信号が 発生したと見做し、対応するデータがキャッシュデータストア26内にないこと を示す。同様にフィジカルアドレスレジスタ20内のキャッシュアドレスはライ ン43.45を経てダーティ−、シェア状態のピントを読出してキャッシュコン トローラ40に送る。かくしてキャッシュコントローラ40は捜索するデータが キャッシュデータストア26にあるか否か(ヒツト又はミス)ダーティ−か否か 。 シェアか否かを知る。 図3に示す通り、デシジョンフリーの上部4本の枝は捜索中のデータがキャッシ ュデータストア26内にあることを示す。この場合にはデータがダーティ−か否 か、シェアか否かは無関係であり、キャッシュコントローラ40はキャッシュデ ータストア26に指令して要求されたデータをケーブル27を経てCPUl0に 読出す。 これに反して、キャッシュコントローラ40が要求されたデータがキャッシュデ ータストア26内にないと検出した時(ミス)及びキャッシュデータストア26 、内のアドレス位置に記憶されたデータがダーティ−でシェアであると検出した 時は次の一連の作動を行う、最初に、キャッシュコントローラ40はメモリー制 御ユニット54に主メモリー読出し要求を発生しフィジカルアドレスレジスタ2 0内に記憶されているフィジカルアドレス位置からのデータを要求することを示 す。次にメモリー制御ユニット54は主メモリー14内のフィジカルアドレスか ら要求されたデータをアクセスしてデータバス102を経てデータバスインター フェース50に供給する。このデータがキャッシュデータストア26に書込まれ る前にキャッシュデータストア26内のこのアドレスに現在記憶されている希望 されないデータを救済する必要がある。希望されないデータはダーティ−である ため、ケーブル51とデータバスインターフェース50を経て主メモリー14に 書戻す、かくして、主メモリー14内のデータは更新され、キャッシュデータス トア26のアドレス位置に現存する希望されないダーティ−データに相当する。 このアドレスに対応するダーティ−ビットはリセットされて0とし、データバス インターフェース50は指令されて要求されたデータ(データバスインターフェ ース50内に保持)をフィジカルアドレス20の指示したキャッシュアドレスの キャッシュデータストア26内に書く、同様にして、要求されたデータのタグ部 分をキャッシュタグストア28及びバス監視キャッシュタグストア54に供給す る。これに対応するシェアビットストア32内のシェアビットは制御バス106 に出現するバスシェア信号(この作動は後述する)に応じて更新される0次にキ ャッシュデータストア26に新規に入ったデータはケーブル27を経てCPUに 読戻される。 各キャッシュコントローラは連続的にシステムバス42を監視して2種の作動を 行う、(a)主メモリー14へのデータ書込み(b)読出し要求を満足するため の主メモリー14からのデータ戻しである。この監視は続出又は書込要求が発生 するか否かに無関係である。(例えばキャッシュ/CP U、システムバスイン ターフェース、システム制御インターフニースミ10インターフエース)この連 続監視はデータの完全性を保つのに著しく有効である。 図2に戻って、キャッシュコントローラ40が制御バス106にデータ読出し要 求を発生した時に、この信号はキャッシュコントローラ40°によって感知され てアドレスバスインターフェース52″に指令してアドレスバス46に次に記憶 されるアドレスをラッチする。アドレスバスインターフェース52′ は要求さ れたフィジカルアドレスをアドレスバスからラッチして外部アドレスレジスタ5 8゛に記載する。ここでタグ部分を使用してバス監視タグストア54゛が外部ア ドレスレジスタ58”に挿入されたアドレスタグ部分に相当するタグを有するか 否かを定める。比較が成立すれば、キャッシュコントローラ40゛ は保持信号 を制御バス106にセントし、キャッシュコントローラ40にデータが潜在的に 現存しシステムバス接続を解放しないことを示す、キャンシュコントローラ40 ゜は更にキャッシュデータストア26′ 内のデータがダーティ−か否かを定め る。 ダーティ−である場合にはカーシュデータストア26゛ 内のアドレスされたダ ーティ−データをデータバス102に置く、データバスインターフェース50は このデータを捕捉しキャッシュデータストア26に供給して記憶させる。更に、 キャッシュコントローラ40”は制御バス106にバスシェアラインをセントし 。 キャッシュデータストア26内に新に記憶されたデータが2位置以上にあること を示す、(明らかに、キャッシュコントローラ40′がデータがダーティ−でな いことを知った時はキャッシュデータストア26への連絡は不必要であり、キャ ッシュデータストア26°内のデータは主メモリー14から読出すデータと同様 である) キャッシュコントローラ40°がある状態に対してバスシェアラインをセットし た時に、キャッシュコントローラ40はシェアレジスタ32にシェアビット(キ ャッシュデータストア26に令書込んだデータに対応する)をその状態に対して セットする。 データをキャッシュデータストアから主メモリー14に書込むと仮定すれば。 このデータ移送は上述の通り2組合されないキャッシュコントローラ(即ちデー タを読込まれるキャッシュデータストア以外のキャッシュデータストアを制御す るキャッシュコントローラ)によって監視される。かくして、キャッシュコント ローラ40°がキャッシュコントローラ40からの制御バス48に生ずる書込指 令を感知した時はアドレスバスインターフェース52゛及びデータバスインター フェース50゛に指令して主メモリー14に書込むアドレスとデータをラッチす る、次にタグ比較を行い、バス監視キャッシュタグストア54゛ 内のタグがア ドレスバスインターフェース52゛ に記憶されたタグと等しいか否かを定める 0等しい場合にはキャッシュコントローラ40゛はデータバスインターフェース 50°に指令してカーシュデータストア26”を新しいデータで更新する。 図3において、デシジョンツリーのCPU読込要求上にキャッシュミス、ダーテ ィ−、シェアでないとの一連のシーケンスが生じた時は、シェアデータの場合と 同様の作動を行う。即ち、データがシェアかシェアでないかは作動のシーケンス に無関係である。 しかし、キャッシュミスが生しデータがダーティ−でない場合(シェアがシェア でない場合共に)作動のシーケンスは異なる。この場合は主メモリー読出し要求 がキヤ・7ノユコントローラ4oからメモリー制御ユニット54に送られ主メモ リーデータをキャッシュデータストア26に書込む、キャッシュデータストア2 6のアドレス位置のデータはダーティ−でないため、主メモリー14内に存在す る同しデータで更新する必要はない、バスシェアラインはサンプルされ、シェア ヒツトは他のキャッシュコントローラが制御バスに生した続出要求に応答してシ ェアラインをセットし、同しデータを有することを示すことに応じてセントする 。最後にキャンシュデータストア26の内容をCPUl0に読込む。 図4に示すデシジョンツリーはデータ戻し表示を非要求キャッシュコントローラ によってシステムハス上に監視された時のシステムの作動を示す、上述の通り各 キャッシュコントローラは主メモリーに対するデータの書込読出に関して制御バ スを監視する。図4に示す例では1主メモリー14からの続出をキャッシュコン トローラ40が要求し、このデータ戻し要求をキャッシュコントローラ40’に よって監視する。上述の通り、キャッシュコントローラ40′はアドレスバスイ ンターフェース52°内にラッチすべきアクセスされたデータのフィジカルアド レスを生ずる。次に、キャッシュヒントが生ずるか否かを定め、データがダーテ ィ−か否かを定め、ンエ7か否かを定める。この条件がヒツトでダーティ−でシ ェアであった時は、キャッシュコントローラ40“は制御バス106に保持ライ ンをセットし、キャッシュデータストア26゛ に指令して記憶したデータをデ ータバス106に書込み、このデータをキャッソユデータストア26がデータバ スインターフェース50に入力して記憶する。キャッシュコントローラ40’  は更に制御バス106にシェアラインをセントし、lに等しく、データの要求者 はcpuであると見做す。 上述の場合に、キャッシュコントローラ40“がシェアピントレジスタ32゜内 の表示がシェアでないことを知った時は、シェア条件とほぼ同様のプロセスであ るが、シュアビットレジスタ32″ は1にセントしキャッシュデータストア2 6°内のデータのシェア状態を適切に表示する。 キャッシュヒントであり、キャッシュデータストア26゛ 内のデータがダーテ ィ−でない時は次の作動が生ずる。データがシェアの時は、キャッシュコントロ ーラ40°はバスシェアラインを1にセットし、要求者はCPUと見做す、デー タがシェアでない場合はバスシェア信号はlにセントしキャッシュデータストア 26°内の夫々のデータラインに組合せたシェアビットは1にセットし、記憶さ れたデータは事実上シェアであることを示す、この場合も要求者はCPUである と見做す、プロセス内にキャッシュミスが存在すれば9作動の必要はない。 図10a、10b、10cのタイミング図は各種形式のバス相互作用を示す。 図10aはバイト、ワード、二重ワードの書込1次に指令IDと二重続出(64 ビツト)次に要求された二重ワードのMCLJ戻しを示す。 図10bはキャッシュ取出し書戻しに対するロックライン、保持ラインの使用を 示す。この場合はキャッシュ取出が生じた時に、ミスが生じダーティ−データが アドレス位置に存在する。主メモリーから要求されたデータがキャッシュストア に書込まれる前にダーティ−データは主メモリーに書戻す必要がある0組合せた キャッシュコントローラ保持ラインとロックラインとを独占して指令IDをMC U34に送り、8ワード続出を行う、独占した保持ラインは解放されるまではM CU34がキャンシュスドアへの書込を行うのを防ぎ、独占したロックラインは このシーケンスの間に他のバス接続がバスを使用するのを防ぐ、書戻しの後に保 持ラインとロックラインを解放し、MCU34は要求された4個の二重ワードを キャッシュストアに自由に書込み得る。 図10cは保持ラインの他の使用を示す0図示のバス接続は二重ワードの読込を 要求し、MCU34は要求された二重ワードを戻す、キャッシュは二重ワードの アドレスをラッチし9次のサイクルのロックアツプの指令を行う、キャッシュが ダーティ−マツチを発見した時はサイクル終了の僅かに前にキャッシュは保持を 独占する。書戻しキャッシュが二重ワードとそのアドレスを再送信しその後に解 放するまで他の接続がバスを使用するのを防ぐ、再送信はシステムバス上のバス 有効信号の独占によって示す。 図5はメモリー指令に対する書込をCPUから受けた時のプロセスを示す、こフ ィジカルアドレスを解析して書込むべく探索するデータがキャッシュデータスト ア26内に存在するか否か(ヒントかミスか)を定める。ヒツトであり、ダーテ ィ−でシェアである時は、キャッシュコントローラ40はキャッシュデータスト ア26とキャソシュタダスト728に夫々のデータとタグビットを記憶させる。 しかしCPUはシェア位置に書込中であるため、書込作用は主メモリー14に対 して生ずる。かくしてデータはキャッシュデータストア26に書込まれるに加え て、制御ハス106上の書込指令を経て主メモリー14に書込まれる。 シェアデータがキャッシュデータストア26゛ に存在すると仮定すれば、書込 はキャッシュコントローラ40°によって感知され、キャッシュデータストア2 6゛ は同じタグを有するデータを含むことを定める。キャッシュコントローラ 40°はデータバスインターフェース50゛ に指令してキャッシュデータスト ア26から主メモリー14に書込中のデータのデータ位置を更新する。(指令は アドレスバス及びデータバスインターフェース52°、50゛ によって捕捉さ れる)これによって、各キャッシュデータストアは最も更新された情報を記憶す る。主メモリーデータとキャッシュデータストアとは同じ情報を含むため、ダー ティ−ビットはリセットされて0になる。 主メモリーに書込むデータがシェアでない時は、必要なことはキャッシュデータ ストア26を更新することである。データは主メモリー14内に記憶されるデー タと等しくないため、主メモリーに対する書込みは生じない。 キヤ、ンユヒントであり、ダーティ−でなく、シェアの表示がある場合には。 キヤノンユヒノト、ダーティ−、シェアの場合と同じ作動である。データがシェ アでない場合には、キャッシュは更新され、キャッシュデータストア26内のデ ータは主メモリー14内の同じメモリー位置に記憶されたデータとは異なるため ダーティ−ビットは1にセットされる。 CPUがメモリーに書込指令を受け、キャッシュミスがあり、キャッシュデータ ストア26内のそのアドレス位置内に既に記憶されているデータにダーティ−表 示がある場合には複雑なステップの組合せが生ずる。データがシェアか否かは無 関係である。第1に主メモリー続出要求がキャッシュコントローラ40によって メモリー制御ユニット54に伝達される1次にキャッシュデータストア26内の ダーティ−エントリーを主メモリー14に書込む、修正すべき実際のデータを主 メモリーI4からキャッシュデータストア26に逆に書込み、キャッシュタグス トアとバス監視キャッシュタグストアを更新する。キャッシュデータストア26 の新データを次にCPUl0の作動によって更新し、新データを同じデータ位置 に重ね書きを行う。(システムは選択的に全二重ワード、1個のワード、バイト の任意の組合せを重ね書きする能力を有する。)メモリー信号に対する書込は制 御バス106上で感知され、他のキャッシュコントローラがキャッシュデータス トア内にアクセスされたデータを持つ場合には制御バス106にバスシェアライ ンをセットしてシェアデータを示す、バスシェア信号はキャッシュコントローラ 40によって感知され、シェアビットレジスタ32内のシェアビットを1にセッ トする。更にCPUl0によってキャッシュデータストア26に書込まれたデー タを主メモリー14に書込み、キャッシュコントローラ40°によって感知され てそのキャッシュデータストアを修正する。ダーティ−ビットレジスタ30内の ダーティ−ビットを0にリセットする。母線シェア信号が0である時はCPUエ ントリーを主メモリー14に書込む必要はない。図5のデシジョンフリーの下部 の枝に示す通り、最初に表示されたデータがシェアか否かは作動に無関係である 。 CPUの書込信号に応答して、キャッシュミス、ダーティ−でない、シェア又は シェアでない表示がある場合は2作動はダーティ−の場合とほぼ同様である。 しかし、ダーティ−でない場合は同じデータを含むため主メモリーの更新は不必 要である。 図6に示すデシジョンツリーはメモリーへの書込指令をシステムバス上に感知の CPU/キャッシュシステム又はI10インターフェースからメモリーに書込ま れるデータが組合せたキャッシュデータストア内にあることを知り、シェアであ ることを知った時は、単にキャッシュを更新してメモリーに書込む新データに一 致させる。シェアでない場合にキャツシュヒツトを表示される時は、もし他のキ ャッシュデータストアからメモリーに書込まれるデータと同じデータがキャッシ ュデータストアにある時はエラー状態を感知する。凡ての場合にキャッシュデ− タストアをメモリーに書込むデータによって更新する。 ここまでの説明は主として、メモリーからの二重ワードアクセスとメモリーへの 二重ワード書込である0図1に示す通り1図2のシステムの使用するデータフォ ーマントは2個の4バイトワードをキャッシュデータストアのライン毎に含む、 多くの例で、データワードを続出、書込のみでなく、1回の作動で多数の二重ワ ードを続出、書込を行い、各二重ワードについて個々の記憶又は書込の必要がな いことが有利である。指令セント、又は長い特性のストリング上の作動のアクセ ス又は書込の場合に特に有利である。 多数の二重ワード作動を取扱うにはステータスレジスタを準備する0図2に示す 通り、各カーシュコントローラ40,40°はマルチワードステータスレジスタ 90.90’ を含む、このステータスレジスタはマルチワード移送に使用され る。 図7に示すフロー図はマルチワードデータ移送がシステムバス42に生じ、マル チワード続出要求者以外のキャッシュコントローラによって監視された場合であ る。各キャッシュコントローラは連続的にマルチワード移送に対して監視する、 データ戻し間、キャッシュコントローラは移送されるデータワードが組合せたバ ス監視キャッシュタグストア内に記憶されるタグと同じタグを有することを知る 場合がある。キャッシュコントローラは組合せたマルチワード移送レジスタのヒ ント表示を知ったキャッシュタグのアドレスに対応する位置に1ビツトつをセッ トする。同様にキャッシュコントローラはマルチワード移送に第1のヒントを検 出すれば、バス保持制御ラインをセットし、キャッシュコントローラは追加のデ ータを期待し得るデータを受けることを注意する。 キャッシュコントローラはシステムの監視を継続し、マルチワード移送が終了す るまで継続する。この時に(キャッシュコントローラ40°はバスを監視する) マルチワードレジスタ90゛ は一連のOと1とを記憶し、1はヒツト表示が生 じたアドレスに対応する位置である。 キャッシュコントローラは第1のヒントによって指示されたアドレスでそのタグ ストアをアドレスする。このアドレスに記憶されたデータがダーティ−と示され ている時はこれをデータ要求者に送信する。データがダーティ−でないことを知 れば次のアドレスをアクセスし、プロセスを繰返してマルチワード移送レジスタ の位置に相当する凡てのアドレスを検査する。 次に、キャッシュコントローラ40”はダーティ−でありマルチワード移送レジ スタ90°に対応するデータをキャッシュコントローラ40に組合せたインター フェースユニットに送信してキャッシュデータストア26に記憶させる。 図8はメモリーからのNマルチワードデータ続出を示すフロー図である。最初に CPUは組合せたキャッシュからのマルチワードデータ続出を要求する0例えば CPUl0はライン80を経てキャッシュコントローラ40にマルチワードデー タ要求を発生する。しかし要求された最初のキャッシュタグがキャッシュデータ ストア26内にない(ミス)ことを知った。コントローラ40はメモリー制御ユ ニット54にマルチワードインストラクション要求を送る。実際のデータ移送が 生ずる前にキャッシュタグストア26内の第1の二重ワードを受けるメモリー位 置がアドレスされる。このアドレスに現存するデータに対応するダーティ−ビッ トを検査してlをセットすべきかを定める。否の場合には主メモリーに畜房す必 要はなく、マルチワード移送レジスタ内の対応するステータスビットは0を保ち 、この位置は重ね書き可能を示す、1にセットすれば1Mね書きの前に更新のた めに主メモリーに畜房す必要がある。 畜房し、又は畜房し不必要の後に、キャッシュタグストアをアドレスする。ヒツ トがあれば、マルチワード移送レジスタ90内のステータスビットは1にセント する0次にNタグストアのアドレスが生ずるまでプロセスを繰返し凡てのN二重 ワードを検査する。次にデータバスインターフェース50によって捕捉されたデ ータバス102上にNデータワードを読出したメモリー制御ユニット54からコ ントローラ40はデータ戻しを行う、マルチワード移送レジスタ90が参加しキ ャッシュデータストア26内の位置を更新する。(即ちマルチワードレジスタ9 0のOにセットされた位置に対応する位置のみ)かくしてダーティ−データが主 メモリーに畜房され主メモリーが完全に更新されるだけでなく、主メモリー14 から受けた最新でないデータはキャッシュデータストアに記憶されるのを防がれ る。 場合によって、キャッシュメモリー間に矛盾が生ずる。この例として主メモリー から要求者にデータを戻す間に2個以上のキャッシュによって監視される。これ らのキャッシュが主メモリーから戻されるデータユニットに対してヒントとすれ ば、監視したアドレスでデータのダーティ−状態を検査する機会を持つ前に夫々 の保持ラインをセットする。矛盾を防ぐために図9に示すプロセスを使用する、 各キャッシュコントローラは他の保持ラインが前のクロックサイクル間にセット されたか否かを検査する。イエスならば以前にセットされた保持ラインが優先す る。両保持ラインが同じクロックサイクル間にセントされた時はキャッシュコン トローラは小さい識別番号を有するCPUが優先する。 本発明の上述の実施例は例示であり、当業者は各種の変型が可能である。従って 本発明は上述の実施例のみに限定されず、請求の範囲によって限定されるもので ある。 浄11F(内容に変更なし) アyv又 フォーマント フ゛−り フォーマント FIG、 IB FIG、 2b ノモ1升への経出忠ヤ FIG、 3 FIG、 4 メでり1x(puの−X込 FIG、 6 メモリー力らのNマルチワード プーフi&已FIG、8 FIG、 9 手続補正書(方式) %式% 2、発明の名称 キャッシュメモリー付マルチ処理システム3、補11:をする者 事件との関係 特許出願人 住所 名 称 ウォング・ラボラトリーズ・インコーホレーテッド4、代理人 住 所 東京都千代11.1区大手町二丁目2番1号新大手町ビル 206区 5、補正命令の[1付 平成 3年10J18日 (発送日)別紙の通り(尚、 (3)の書面の内容には変更ない国際調査報告

Claims (12)

    【特許請求の範囲】
  1. 1.中央処理ユニットと,主メモリー手段と,バス手段とを含むデータ処理シス テムにおいて, 該中央処理ユニットとバス手段との間に結合され主メモリー手段から受けたデー タユニットをアドレス可能記憶位置内に記憶するキャッシュメモリー手段であっ て, データユニットの無効姓を示す装置を有しないキャッシュメモリー手段,各デー タユニット記憶位置に関連し,該位置の内容が主メモリー手段から受信されてか ら修正されたか否かを示すステータス手段,キャッシュメモリー手段に関連し, データユニットが中央処理ユニットから要求された時に各データユニットが最新 のデータを代表することを確認する制御手段とを含むことを特徴とするデータ処 理システム。
  2. 2.前記ステータス手段が,データユニット記憶位置の内容が他にあるか否かを 示す場合に,中央処理ユニットから受けたデータユニットをキャッシュメモリー ユニットのデータユニット記憶位置に入れる手段を含み,前記制御手段は入力し たデータユニットが他にあることのステータス手段の表示に応答して入力したデ ータユニットを主メモリー手段に送信させることを特徴とする請求項1記載のデ ータ処理システム。
  3. 3.前記制御手段は,データユニットの主メモリー手段への送信に応答してステ ータス手段を修正してキャッシュメモリー手段内の記憶位置内のデータユニット が主メモリー手段内に記憶されるデータユニットと相違しないことを示すことを 特徴とする請求項2記載のデータ処理システム。
  4. 4.前記キャッシュメモリー手段に関連しかつバス手段に結合され,主メモリー 手段に書込まれたデータユニットを監視してデータユニットを主メモリー手段か ら移送する監視手段を更に含むことを特徴とする請求項3記載のデータ処理シス テム。
  5. 5.主メモリー手段に対してマルチデータ読出し表示を発生させるキャッシュコ ントローラ手段, 前記ステータス手段がキャッシュメモリー手段の記憶位置内のデータユニットか 主メモリー手段から最近に書戻されたため内容物が修正されていると表示した時 に主メモリー手段からデータユニットをキャッシュメモリー手段に記憶位置への 移送を禁止するレジスタ手段, とを含むことを特徴とする請求項1記載のデータ処理システム。
  6. 6.前記制御手段は断定された時に他から母線手段のアクセスを得るのを防ぐ保 持手段を含み,制御手段はメモリーに書込み指令に応答した後にキャッシュミス 及びダーティーデータを該指令に示すアドレスに発見した時に保持手段を断定す ることを特徴とする請求項1記載のデータ処理システム。
  7. 7.前記ダーティーデータが主メモリー手段に書込まれた後に制御手段によって 保持手段をリセットし,これによって主メモリー手段はアドレスデータを指令に よって指示されたキャッシュ手段のアドレスに書込むことを可能にすることを特 徴とする請求項6記載のデータ処理システム。
  8. 8.前記キャッシュメモリー手段に関連しかつバス手段に接続され,バス手段に 主メモリー手段からデータレジスタに移送されたデータのアドレスを検出するバ ス監視手段, 移送されたデータと同じアドレスを有するデータがキャッシュメモリー手段内に あるか否かを定め存在すれば保持信号をバス手段に発生する手段,とを含むこと を特徴とする請求項1記載のデータ処理システム。
  9. 9.キャッシュメモリー手段内のアドレスに記憶されたデータが移送されたデー タと相違するか否かを検出し,この場合に相違する内容のデータをキャッシュメ モリー手段からデータレジスタに移送する手段をさらに含むことを特徴とする請 求項8記載のデータ処理システム。
  10. 10.前記データレジスタは保持信号の感知に応答して母線手段との相互作用を 保ち,異なる内容のデータをキャッシュメモリー手段から受けることを特徴とす る請求項9記載のデータ処理システム。
  11. 11.マルチデータユニット移送レジスタと,主メモリーからの母線手段への多 数データ読出しの検出に応答してこのデータユニットがキャッシュメモリー手段 内にあるか否かを定める手段をさらに含み,マルチデータユニット移送レジスタ 内の存在の表示を記録し,データユニットがダーティーであるか否かを定めるこ とを特徴とする請求項10記載のデータ処理システム。
  12. 12.更に指示されたデータユニットがキャッシュレジスタ内に存在しダーティ ーである場合にキャッシュメモリー手段からマルチデータユニット移送の受取者 に移送する手段を含むことを特徴とする請求項11記載のデータ処理システム。
JP50764589A 1988-06-30 1989-06-22 キャッシュメモリー付マルチ処理システム Expired - Lifetime JP3510240B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US213,556 1988-06-30
US07/213,556 US4939641A (en) 1988-06-30 1988-06-30 Multi-processor system with cache memories

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2001307304A Division JP2002163148A (ja) 1988-06-30 2001-10-03 キャッシュメモリー付マルチ処理システム

Publications (2)

Publication Number Publication Date
JPH04501027A true JPH04501027A (ja) 1992-02-20
JP3510240B2 JP3510240B2 (ja) 2004-03-22

Family

ID=22795556

Family Applications (2)

Application Number Title Priority Date Filing Date
JP50764589A Expired - Lifetime JP3510240B2 (ja) 1988-06-30 1989-06-22 キャッシュメモリー付マルチ処理システム
JP2001307304A Pending JP2002163148A (ja) 1988-06-30 2001-10-03 キャッシュメモリー付マルチ処理システム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2001307304A Pending JP2002163148A (ja) 1988-06-30 2001-10-03 キャッシュメモリー付マルチ処理システム

Country Status (7)

Country Link
US (1) US4939641A (ja)
EP (1) EP0422113B1 (ja)
JP (2) JP3510240B2 (ja)
AU (1) AU622471B2 (ja)
CA (1) CA1320284C (ja)
DE (1) DE68927172T2 (ja)
WO (1) WO1990000285A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8250309B2 (en) 2004-02-16 2012-08-21 Arm Limited Control of data accesses to a cache in data processing

Families Citing this family (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01302444A (ja) * 1988-05-31 1989-12-06 Toshiba Corp 論理アドレスキャッシュ制御方式
US5148533A (en) * 1989-01-05 1992-09-15 Bull Hn Information Systems Inc. Apparatus and method for data group coherency in a tightly coupled data processing system with plural execution and data cache units
US5371874A (en) * 1989-01-27 1994-12-06 Digital Equipment Corporation Write-read/write-pass memory subsystem cycle
US5179679A (en) * 1989-04-07 1993-01-12 Shoemaker Kenneth D Apparatus and method for permitting reading of data from an external memory when data is stored in a write buffer in the event of a cache read miss
US5119485A (en) * 1989-05-15 1992-06-02 Motorola, Inc. Method for data bus snooping in a data processing system by selective concurrent read and invalidate cache operation
US5155824A (en) * 1989-05-15 1992-10-13 Motorola, Inc. System for transferring selected data words between main memory and cache with multiple data words and multiple dirty bits for each address
US5287484A (en) * 1989-06-21 1994-02-15 Hitachi, Ltd. Multi-processor system for invalidating hierarchical cache
JP2511146B2 (ja) * 1989-07-07 1996-06-26 富士通株式会社 デ―タ処理装置
US5283886A (en) * 1989-08-11 1994-02-01 Hitachi, Ltd. Multiprocessor cache system having three states for generating invalidating signals upon write accesses
CA2028085A1 (en) * 1989-11-03 1991-05-04 Dale J. Mayer Paged memory controller
DE69025302T2 (de) * 1989-12-22 1996-10-02 Digital Equipment Corp Hochleistungsrasterpuffer- und -cachespeicheranordnung
GB2239724B (en) * 1990-01-05 1993-11-24 Sun Microsystems Inc Apparatus for maintaining consistency in a multi-processor computer system using virtual caching
US5452463A (en) * 1990-05-25 1995-09-19 Dell Usa, L.P. Processor and cache controller interface lock jumper
US5249286A (en) * 1990-05-29 1993-09-28 National Semiconductor Corporation Selectively locking memory locations within a microprocessor's on-chip cache
US5249284A (en) * 1990-06-04 1993-09-28 Ncr Corporation Method and system for maintaining data coherency between main and cache memories
US5226150A (en) * 1990-10-01 1993-07-06 Digital Equipment Corporation Apparatus for suppressing an error report from an address for which an error has already been reported
US5339397A (en) * 1990-10-12 1994-08-16 International Business Machines Corporation Hardware primary directory lock
US5249282A (en) * 1990-11-21 1993-09-28 Benchmarq Microelectronics, Inc. Integrated cache memory system with primary and secondary cache memories
US5249283A (en) * 1990-12-24 1993-09-28 Ncr Corporation Cache coherency method and apparatus for a multiple path interconnection network
US5303362A (en) * 1991-03-20 1994-04-12 Digital Equipment Corporation Coupled memory multiprocessor computer system including cache coherency management protocols
JPH04328657A (ja) * 1991-04-30 1992-11-17 Toshiba Corp キャッシュメモリ
US5353423A (en) * 1991-06-21 1994-10-04 Compaq Computer Corporation Memory controller for use with write-back cache system and multiple bus masters coupled to multiple buses
US5440752A (en) * 1991-07-08 1995-08-08 Seiko Epson Corporation Microprocessor architecture with a switch network for data transfer between cache, memory port, and IOU
GB2260429B (en) * 1991-10-11 1995-05-24 Intel Corp Versatile cache memory
US5301298A (en) * 1991-10-11 1994-04-05 Intel Corporation Processor for multiple cache coherent protocols
US5584017A (en) * 1991-12-19 1996-12-10 Intel Corporation Cache control which inhibits snoop cycles if processor accessing memory is the only processor allowed to cache the memory location
EP0553743A1 (en) * 1992-01-31 1993-08-04 Motorola, Inc. A cache controller
EP0553742A1 (en) * 1992-01-31 1993-08-04 Motorola, Inc. A method of operating a first and second cache tag memory array
JPH06318174A (ja) * 1992-04-29 1994-11-15 Sun Microsyst Inc キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法
GB2271201B (en) * 1992-10-01 1995-12-13 Digital Equipment Int Low-overhead,non-coherent cache refreshment mechanism
DE69327643T2 (de) * 1992-12-18 2000-08-31 Advanced Micro Devices Inc Cachespeichersysteme
US5682515A (en) * 1993-01-25 1997-10-28 Benchmarq Microelectronics, Inc. Low power set associative cache memory with status inhibit of cache data output
US5530832A (en) * 1993-10-14 1996-06-25 International Business Machines Corporation System and method for practicing essential inclusion in a multiprocessor and cache hierarchy
JP2634141B2 (ja) * 1994-01-19 1997-07-23 インターナショナル・ビジネス・マシーンズ・コーポレイション マルチプロセッサ・システム
JPH07248974A (ja) * 1994-03-10 1995-09-26 Hitachi Ltd 情報処理装置
US5557769A (en) * 1994-06-17 1996-09-17 Advanced Micro Devices Mechanism and protocol for maintaining cache coherency within an integrated processor
US5548752A (en) * 1994-08-10 1996-08-20 Motorola, Inc. Method and system for storing data in a memory device
US6000017A (en) * 1995-01-20 1999-12-07 Intel Corporation Hybrid tag architecture for a cache memory
US5594863A (en) * 1995-06-26 1997-01-14 Novell, Inc. Method and apparatus for network file recovery
US5778431A (en) * 1995-12-19 1998-07-07 Advanced Micro Devices, Inc. System and apparatus for partially flushing cache memory
US7266725B2 (en) 2001-09-03 2007-09-04 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
US6021466A (en) * 1996-03-14 2000-02-01 Compaq Computer Corporation Transferring data between caches in a multiple processor environment
US5960456A (en) * 1996-05-17 1999-09-28 National Semiconductor Corporation Method and apparatus for providing a readable and writable cache tag memory
US5860113A (en) * 1996-06-03 1999-01-12 Opti Inc. System for using a dirty bit with a cache memory
US5937431A (en) * 1996-07-12 1999-08-10 Samsung Electronics Co., Ltd. Multi- node, multi-level cache- only memory architecture with relaxed inclusion
JP3590203B2 (ja) 1996-07-16 2004-11-17 株式会社東芝 記憶手段の制御方法及びその装置
DE19654595A1 (de) 1996-12-20 1998-07-02 Pact Inf Tech Gmbh I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
US5900016A (en) * 1997-04-02 1999-05-04 Opti Inc. System for using a cache memory with a write-back architecture
JPH1173370A (ja) * 1997-08-29 1999-03-16 Fujitsu Ltd 情報処理装置
US8686549B2 (en) * 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
DE19861088A1 (de) 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
JP4179677B2 (ja) 1998-09-04 2008-11-12 株式会社ルネサステクノロジ マルチプロセッサ装置
AU5805300A (en) * 1999-06-10 2001-01-02 Pact Informationstechnologie Gmbh Sequence partitioning in cell structures
EP1342158B1 (de) 2000-06-13 2010-08-04 Richter, Thomas Pipeline ct-protokolle und -kommunikation
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US7444531B2 (en) 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
WO2005045692A2 (en) 2003-08-28 2005-05-19 Pact Xpp Technologies Ag Data processing device and method
US7996827B2 (en) 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
US7434191B2 (en) 2001-09-03 2008-10-07 Pact Xpp Technologies Ag Router
US8686475B2 (en) * 2001-09-19 2014-04-01 Pact Xpp Technologies Ag Reconfigurable elements
DE10392560D2 (de) 2002-01-19 2005-05-12 Pact Xpp Technologies Ag Reconfigurierbarer Prozessor
US8127061B2 (en) 2002-02-18 2012-02-28 Martin Vorbach Bus systems and reconfiguration methods
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US20110161977A1 (en) * 2002-03-21 2011-06-30 Martin Vorbach Method and device for data processing
WO2004021176A2 (de) 2002-08-07 2004-03-11 Pact Xpp Technologies Ag Verfahren und vorrichtung zur datenverarbeitung
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
EP1537486A1 (de) 2002-09-06 2005-06-08 PACT XPP Technologies AG Rekonfigurierbare sequenzerstruktur
US8332592B2 (en) * 2004-10-08 2012-12-11 International Business Machines Corporation Graphics processor with snoop filter
US20070150658A1 (en) * 2005-12-28 2007-06-28 Jaideep Moses Pinning locks in shared cache
US8250503B2 (en) * 2006-01-18 2012-08-21 Martin Vorbach Hardware definition method including determining whether to implement a function as hardware or software
US8180968B2 (en) * 2007-03-28 2012-05-15 Oracle America, Inc. Reduction of cache flush time using a dirty line limiter
DE112008003643A5 (de) * 2007-11-17 2010-10-28 Krass, Maren Rekonfigurierbare Fliesskomma- und Bit- ebenen Datenverarbeitungseinheit
WO2009068014A2 (de) * 2007-11-28 2009-06-04 Pact Xpp Technologies Ag Über datenverarbeitung
US20110119657A1 (en) * 2007-12-07 2011-05-19 Martin Vorbach Using function calls as compiler directives

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3735360A (en) * 1971-08-25 1973-05-22 Ibm High speed buffer operation in a multi-processing system
US3761883A (en) * 1972-01-20 1973-09-25 Ibm Storage protect key array for a multiprocessing system
US3845474A (en) * 1973-11-05 1974-10-29 Honeywell Inf Systems Cache store clearing operation for multiprocessor mode
US3967247A (en) * 1974-11-11 1976-06-29 Sperry Rand Corporation Storage interface unit
US4084234A (en) * 1977-02-17 1978-04-11 Honeywell Information Systems Inc. Cache write capacity
US4167782A (en) * 1977-12-22 1979-09-11 Honeywell Information Systems Inc. Continuous updating of cache store
US4394732A (en) * 1980-11-14 1983-07-19 Sperry Corporation Cache/disk subsystem trickle
US4464712A (en) * 1981-07-06 1984-08-07 International Business Machines Corporation Second level cache replacement method and apparatus
US4442487A (en) * 1981-12-31 1984-04-10 International Business Machines Corporation Three level memory hierarchy using write and share flags
US4551799A (en) * 1983-02-28 1985-11-05 Honeywell Information Systems Inc. Verification of real page numbers of stack stored prefetched instructions from instruction cache
US4527238A (en) * 1983-02-28 1985-07-02 Honeywell Information Systems Inc. Cache with independent addressable data and directory arrays
US4602368A (en) * 1983-04-15 1986-07-22 Honeywell Information Systems Inc. Dual validity bit arrays
JPS60138653A (ja) * 1983-12-27 1985-07-23 Hitachi Ltd 階層記憶制御方式
US4685082A (en) * 1985-02-22 1987-08-04 Wang Laboratories, Inc. Simplified cache with automatic update
US4811209A (en) * 1986-07-31 1989-03-07 Hewlett-Packard Company Cache memory with multiple valid bits for each data indication the validity within different contents

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8250309B2 (en) 2004-02-16 2012-08-21 Arm Limited Control of data accesses to a cache in data processing

Also Published As

Publication number Publication date
EP0422113A4 (en) 1992-03-25
DE68927172T2 (de) 1997-04-24
CA1320284C (en) 1993-07-13
EP0422113A1 (en) 1991-04-17
DE68927172D1 (de) 1996-10-17
US4939641A (en) 1990-07-03
JP2002163148A (ja) 2002-06-07
JP3510240B2 (ja) 2004-03-22
AU3963689A (en) 1990-01-23
WO1990000285A1 (en) 1990-01-11
AU622471B2 (en) 1992-04-09
EP0422113B1 (en) 1996-09-11

Similar Documents

Publication Publication Date Title
JPH04501027A (ja) キャッシュメモリー付マルチ処理システム
US5652859A (en) Method and apparatus for handling snoops in multiprocessor caches having internal buffer queues
US5097409A (en) Multi-processor system with cache memories
US5113514A (en) System bus for multiprocessor computer system
US5535352A (en) Access hints for input/output address translation mechanisms
EP0674267B1 (en) Sub-line cache coherent write transactions
KR100567099B1 (ko) L2 디렉토리를 이용한 멀티프로세서 시스템의 가-저장촉진 방법 및 장치
KR100243853B1 (ko) 개량된메모리아키텍쳐를위한방법및장치
US5845324A (en) Dual bus network cache controller system having rapid invalidation cycles and reduced latency for cache access
US5261106A (en) Semaphore bypass
JPH11506852A (ja) 多数のバスマスタと共用レベル2キャッシュとを備える多レベルキャッシュシステムでのキャッシュスヌーピングオーバーヘッドの低減
JPH10254773A (ja) アクセス方法、処理装置およびコンピュータ・システム
US20060236039A1 (en) Method and apparatus for synchronizing shared data between components in a group
JPH10333985A (ja) データ供給方法及びコンピュータ・システム
JPH0668735B2 (ja) キヤツシユメモリ−
KR19980079662A (ko) Smp 버스의 공유 상태에서의 캐시 라인들의 공유 개입 방법
KR19980079663A (ko) Smp 버스의 최근 판독 상태에서의 캐시 라인들의 공유 개입 방법
US6105108A (en) Method and apparatus for releasing victim data buffers of computer systems by comparing a probe counter with a service counter
US8209490B2 (en) Protocol for maintaining cache coherency in a CMP
US5263144A (en) Method and apparatus for sharing data between processors in a computer system
JPH11506850A (ja) 多重レベルキャッシュシステムにおけるキャッシュ・スヌーピング・オーバヘッドを減少するための方法および装置
JPH0950400A (ja) マルチプロセッサシステム
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
JPH03225542A (ja) データ記憶方法及びビットエンコードデータの処理回路
US7464227B2 (en) Method and apparatus for supporting opportunistic sharing in coherent multiprocessors

Legal Events

Date Code Title Description
A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20031225

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080109

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090109

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090109

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100109

Year of fee payment: 6

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100109

Year of fee payment: 6