JP3309425B2 - キャッシュ制御装置 - Google Patents

キャッシュ制御装置

Info

Publication number
JP3309425B2
JP3309425B2 JP13044292A JP13044292A JP3309425B2 JP 3309425 B2 JP3309425 B2 JP 3309425B2 JP 13044292 A JP13044292 A JP 13044292A JP 13044292 A JP13044292 A JP 13044292A JP 3309425 B2 JP3309425 B2 JP 3309425B2
Authority
JP
Japan
Prior art keywords
cache
data
bit
processor
thread
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
JP13044292A
Other languages
English (en)
Other versions
JPH05324471A (ja
Inventor
博章 平田
浩三 木村
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP13044292A priority Critical patent/JP3309425B2/ja
Priority to US08/066,709 priority patent/US5535361A/en
Publication of JPH05324471A publication Critical patent/JPH05324471A/ja
Application granted granted Critical
Publication of JP3309425B2 publication Critical patent/JP3309425B2/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/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • G06F12/127Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning using additional replacement algorithms
    • 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/0813Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
    • 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

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はマルチプロセッサ・シス
テムにおいて各プロセッサに付加されるキャッシュを制
御するキャッシュ制御装置に関するものである。
【0002】
【従来の技術】近年、コンピュータなどの情報処理装置
は、複数のプロセッサを用いた並列処理方式を採り入れ
ることで情報処理能力の向上が図られている。
【0003】図3はそのような並列処理を実現するマル
チプロセッサ・システムの構成例を示している。図3に
おいて、31は主記憶装置、32はネットワーク、33
はキャッシュ、34はプロセッサである。
【0004】各プロセッサ34が必要とするデータは主
記憶装置31にあり、頻繁に使用されるデータはそれぞ
れのプライベートなキャッシュ33に一時的に記憶する
ことによって、処理速度の向上を図ることが可能であ
る。
【0005】さて、システム規模が大きくなると、ネッ
トワーク32の構成方式にも依存するが、プロセッサが
主記憶上のデータをアクセスする際の遅延時間も増大す
る。プロセッサがアクセス要求を発してから必要なデー
タがプロセッサに返されるまでプロセッサが待たなけれ
ばならないものとすれば、その間、プロセッサはアイド
ル状態となり、並列処理によっても飛躍的な処理速度の
向上を達成することは不可能である。そこで、このよう
なデータ・アクセス遅延を隠蔽し、スループットを向上
させるアーキテクチャとして、多重スレッド方式が提案
されている(例えば、「プロセッシング オブ ザ 1
7 アニュアル インターナショナルシンポジウム コ
ンピュータ アーキテクチャ」(「Proceedings of the
17thAnnual International Symposiumon Conputer Arc
hitecture」, IEEE, pp.104-114, 1990))。
【0006】各プロセッサでは、あるプログラム(その
実行単位をスレッドと呼ぶ)の実行中にそのスレッドが
キャッシュ・ミスを起こし、遠くの主記憶にアクセスし
なければならない事態に遭遇すると、プロセッサはその
スレッドの実行を中断して別のスレッドの実行を開始
(または再開)する。従って、遠隔主記憶アクセス中も
プロセッサは有用な処理を行なうことができ、スループ
ットは向上する。
【0007】しかし、このような多重スレッド方式を採
用する際のキャッシュの構成および制御方法について、
特別な報告はなされていない。
【0008】
【発明が解決しようとする課題】しかしながら多重スレ
ッド方式において、シングルプロセッサあるいはマルチ
プロセッサ用に提案されている従来構成のキャッシュ制
御装置を用いた場合には、データがキャッシュにロード
されてからそのデータを必要としていたスレッドの実行
が再開されるまでに時間的な間隔が存在するので、その
間に、実行中のスレッドによってそのデータ・ブロック
がリプレースされると、そのデータを必要としていたス
レッドの実行が再開されても再びキャッシュ・ミスを発
生するという問題点を有していた。
【0009】本発明は上記問題点に鑑み、上記のような
スレッド間のアクセス干渉によるキャッシュ・ミスの発
生を防止し、また、並列処理における同期プリミティブ
を効率良く実現するキャッシュ制御装置を提供すること
を目的とする。
【0010】
【課題を解決するための手段】上記課題を解決するため
に、第1の発明は、プロセッサ側入出力ポートとネット
ワーク側入出力ポートとを介してメッセージの授受を行
なうアクセス制御部と、前記アクセス制御部から参照さ
れるキャッシュ管理情報を複数格納するディレクトリ部
とを具備し、前記キャッシュ管理情報は痕跡ビットを含
み、前記アクセス制御部は、前記プロセッサ側入出力ポ
ートからアクセス要求メッセージを入力して前記キャッ
シュ管理情報を検索し、ヒットの場合には前記痕跡ビッ
トをセットし、また、ミスの場合には前記ネットワーク
側入出力ポートから発したフェッチ要求メッセージに対
する肯定応答メッセージを前記ネットワーク側入出力ポ
ートから入力した時点で前記痕跡ビットをリセットする
ことを特徴としている。
【0011】また、第2の発明は、キャッシュ・ブロッ
ク・リプレースメントを行なう場合に前記痕跡ビットが
セットされているキャッシュ・ブロックを置き換え対象
として優先的に選択することを特徴としている。
【0012】また、第3の発明は、前記キャッシュ管理
情報は活動体番号フィールドを含み、キャッシュ・ブロ
ック・リプレースメントを行なう場合には、前記活動体
番号フィールドの値が前記アクセス要求メッセージ中に
含まれる活動体番号と一致するキャッシュ・ブロックの
優先度を低くして置き換え対象を選択することを特徴と
している。
【0013】また、第4の発明は、前記キャッシュ管理
情報は前記活動体番号フィールドに加えて局所共有ビッ
トを含み、キャッシュ・ヒット時には、前記局所共有ビ
ットがリセットされていれば前記アクセス要求メッセー
ジ中に含まれる活動体番号と前記活動体番号フィールド
の値とを比較し、異なっていれば前記局所共有ビットを
セットし、さらに、キャッシュ・ブロック・リプレース
メントを行なう場合には、前記局所共有ビットがリセッ
トされているキャッシュ・ブロックを置き換え対象とし
て優先的に選択することを特徴としている。
【0014】また、第5の発明は、前記キャッシュ管理
情報は、前記痕跡ビットに替えて予約ビットを含み、前
記アクセス制御部は、前記プロセッサ側入出力ポートか
ら書き込み要求メッセージを入力して前記キャッシュ管
理情報を検索し、ヒットの場合には前記予約ビットをセ
ットし、また、ミスの場合には前記ネットワーク側入出
力ポートから発した書き込みフェッチ要求メッセージに
対する肯定応答メッセージを前記ネットワーク側入出力
ポートから入力した時点で前記予約ビットをリセットす
ることを特徴としている。
【0015】また、第6の発明は、前記アクセス制御部
が前記ネットワーク側入出力ポートから書き込み権要求
メッセージを入力した場合、前記予約ビットがセットさ
れていれば肯定応答メッセージを前記ネットワーク側入
出力ポートから出力し、また、前記予約ビットがリセッ
トされていれば否定応答メッセージを前記ネットワーク
側入出力ポートから出力することを特徴としている。
【0016】また、第7の発明は、前記キャッシュ管理
情報は、前記予約ビットに加えて否定ビットを含み、前
記アクセス制御部は、前記ネットワーク側入出力ポート
からの書き込み権要求メッセージに対して否定応答メッ
セージを出力する場合には前記否定ビットをセットし、
また、前記予約ビットをリセット状態からセット状態へ
遷移させる際に前記否定ビットがセットされていれば、
書き込み完了メッセージを前記ネットワーク側入出力ポ
ートから出力することを特徴としている。
【0017】また、第8の発明は、前記アクセス制御部
は、前記プロセッサ側入出力ポートから同期要求メッセ
ージを入力した場合、前記キャッシュ管理情報を検索
し、ヒットの場合には前記予約ビットをリセットし、ミ
スの場合には前記ネットワーク側入出力ポートから発し
た書き込みフェッチ要求メッセージに対する肯定応答メ
ッセージを前記ネットワーク側入出力ポートから入力し
た時点で前記予約ビットをリセットし、また、前記プロ
セッサ側入出力ポートから読み出し要求メッセージを入
力しても前記予約ビットを変更しないことを特徴として
いる。
【0018】また、第9の発明は、プロセッサ側入出力
ポートとネットワーク側入出力ポートとを介してメッセ
ージの授受を行なうアクセス制御部と、前記アクセス制
御部から参照される否定履歴情報を記憶する否定履歴記
憶部とを具備し、前記アクセス制御部は、前記ネットワ
ーク側入出力ポートから否定応答メッセージを入力した
場合にはその情報を前記否定履歴記憶部に記憶し、ま
た、前記ネットワーク側入出力ポートから書き込み完了
メッセージを入力した場合には前記否定履歴記憶部を検
索し、前記書き込み完了メッセージに対応する否定履歴
情報が前記否定履歴記憶部に存在する場合には、前記ネ
ットワーク側入出力ポートから書き込みフェッチ要求メ
ッセージを再出力することを特徴としている。
【0019】
【作用】以上の構成により、第1の発明に係わるキャッ
シュ制御装置においては、キャッシュ管理情報に痕跡ビ
ットを含み、プロセッサ側からのアクセス要求に対して
キャッシュ・ヒットの場合には前記痕跡ビットをセット
し、また、ミスの場合にはデータをキャッシュにロード
した時点で前記痕跡ビットをリセットするため、キャッ
シュ上のデータが実際にアクセスされたかどうかをデー
タ・ブロックごとに記憶することとなる。
【0020】また、第2の発明に係わるキャッシュ制御
装置においては、キャッシュ・ブロック・リプレースメ
ントを行なう場合に前記痕跡ビットがセットされている
キャッシュ・ブロックを置き換え対象として優先的に選
択するため、未アクセスのキャッシュ・ブロックがキャ
ッシュから追い出される可能性が小さくなる。
【0021】また、第3の発明に係わるキャッシュ制御
装置においては、前記キャッシュ管理情報は活動体番号
フィールドを含み、キャッシュ・ブロック・リプレース
メントを行なう場合には、前記活動体番号フィールドの
値が前記アクセス要求メッセージ中に含まれる活動体番
号と一致するキャッシュ・ブロックの優先度を低くして
置き換え対象を選択するため、実行中のスレッドが使用
するキャッシュ・ブロックがキャッシュから追い出され
る可能性が小さくなる。
【0022】また、第4の発明に係わるキャッシュ制御
装置においては、前記キャッシュ管理情報は局所共有ビ
ットを含み、キャッシュ・ヒット時には、前記局所共有
ビットがリセットされていれば前記アクセス要求メッセ
ージ中に含まれる活動体番号と前記活動体番号フィール
ドの値とを比較し、異なっていれば前記局所共有ビット
をセットし、さらに、キャッシュ・ブロック・リプレー
スメントを行なう場合には、前記局所共有ビットがリセ
ットされているキャッシュ・ブロックを置き換え対象と
して優先的に選択するため、複数のスレッドがアクセス
する共有ブロックがキャッシュから追い出される可能性
が小さくなる。
【0023】また、第5の発明に係わるキャッシュ制御
装置においては、前記キャッシュ管理情報に予約ビット
を含み、プロセッサ側からの書き込み要求に対してキャ
ッシュ・ヒットの場合には前記予約ビットをセットし、
また、ミスの場合にはデータをキャッシュにロードした
時点で前記予約ビットをリセットするため、キャッシュ
上のデータに実際に書き込みが行なわれたかどうかをデ
ータ・ブロックごとに記憶することとなる。
【0024】また、第6の発明に係わるキャッシュ制御
装置においては、ネットワーク側からの書き込み権要求
に対して、前記予約ビットがセットされていれば肯定応
答を行ない、前記予約ビットがリセットされていれば否
定応答を行うため、未書き込みのデータ・ブロックに対
するキャッシュ・コヒーレンス維持のための書き込み権
(所有権)の移動が禁止されることとなる。
【0025】また、第7の発明に係わるキャッシュ制御
装置においては、前記キャッシュ管理情報に否定ビット
を含み、ネットワーク側からの書き込み権要求に対して
否定応答を行なう場合には前記否定ビットをセットし、
前記予約ビットをリセット状態からセット状態へ遷移さ
せる際に前記否定ビットがセットされていれば書き込み
の完了を通知するため、他のプロセッサ(キャッシュ)
はいつの時点で書き込み権の移動禁止が解除されたかを
知ることとなる。
【0026】また、第8の発明に係わるキャッシュ制御
装置においては、プロセッサ側からの同期要求に対して
キャッシュ・ヒットの場合には前記予約ビットをリセッ
トし、ミスの場合にはデータをキャッシュにロードした
時点で前記予約ビットをリセットし、また、プロセッサ
側からの読み出し要求に対しては前記予約ビットを変更
しないため、同期要求によってデータ・ブロック書き込
み権移動を強制的に禁止するとともにそのデータ・ブロ
ックを読み出しても書き込み権移動禁止は解除されない
こととなる。
【0027】また、第9の発明に係わるキャッシュ制御
装置においては、アクセス要求に対して否定応答が返さ
れた場合にはこれを記憶し、書き込み完了通知を受けた
時点で再びアクセス要求を行なうため、書き込み権の移
動が禁止されている間はアクセス要求を控え、これによ
ってネットワークのトラフィック量が減少することとな
る。
【0028】
【実施例】以下本発明のキャッシュ制御装置の一実施例
について、図面を参照しながら説明する。
【0029】図1は本発明の実施例におけるキャッシュ
制御装置の構成を示すものである。図1において、11
はアクセス制御部、12はプロセッサ側入出力ポート、
13はネットワーク側入出力ポート、14はディレクト
リ部、15はキャッシュ管理情報、16は否定履歴記憶
部、17は否定履歴情報である。
【0030】以上のように構成されたキャッシュ制御装
置について、以下図面を用いてその動作を説明する。
【0031】まず、図2はキャッシュ管理情報15のフ
ィールド構成を示すものであって、21は活動体番号フ
ィールド、22は痕跡ビット、23は予約ビット、24
は局所共有ビット、25は否定ビットである。
【0032】キャッシュ管理情報15には、ここに示し
たフィールドの他、キャッシュ検索のためのアドレス・
タグはもちろんのこと、汚れビット(dirty bit)やリ
プレースのためのLRU(Least Recently Used)ビッ
ト、およびキャッシュ・コヒーレンシ維持のための諸ビ
ットを含むが、これらについては本発明と直接の関係が
ないため、省略している。
【0033】図1において、ディレクトリ部14は複数
のキャッシュ管理情報15を記憶するメモリであり、各
キャッシュ管理情報15は各キャッシュ・ブロックに対
応して用意されている。
【0034】また、否定履歴記憶部16は複数の否定履
歴情報17を記憶するメモリである。また、アクセス制
御部11はプロセッサ側入出力ポート12およびネット
ワーク側入出力ポート13を介して、外部との間でメッ
セージの授受を行なう。プロセッサ側入出力ポート12
で入力するメッセージには、アクセス要求メッセージと
同期要求メッセージとがある。また、出力メッセージに
はアクセス状態メッセージと活動状態メッセージとがあ
る。
【0035】一方、ネットワーク側入出力ポート13で
入出力するメッセージには、フェッチ要求メッセージ、
書き込み完了メッセージ、肯定応答メッセージ、否定応
答メッセージがある。
【0036】以下、これらのメッセージについて簡単に
説明する。アクセス要求メッセージには、読み出し要求
メッセージと書き込み要求メッセージとの2種がある。
読み出し要求メッセージはプロセッサ上でのロード命令
の実行によってプロセッサから出力されるものであり、
また、書き込み要求メッセージはストア命令の実行によ
って出力されるものである。
【0037】同期要求メッセージは、特殊な同期命令の
実行によってプロセッサから出力されるものである。
【0038】アクセス状態メッセージは、キャッシュ検
索の結果をプロセッサに報告するためのものであり、
「ヒット」と「ミス」のいずれかの値をとる。
【0039】活動状態メッセージはプロセッサがスレッ
ド状態の管理に用いる情報を提供するものであり、「中
断」と「再開」のいずれかの値をとる。プロセッサがア
クセス制御部11から「中断」の活動状態メッセージを
受け取ると、プロセッサは実行中のスレッドを待ち状態
に遷移させ、別のレディ状態のスレッドの実行を開始す
る。また、「再開」の活動状態メッセージを受け取った
場合には、プロセッサは待ち状態においてあったスレッ
ドをレディ状態に遷移させる。本実施例では、簡単のた
め、アクセス状態メッセージが「ミス」のときには活動
状態メッセージに「中断」を出力するものと仮定する。
【0040】フェッチ要求メッセージには、読み出しフ
ェッチ要求メッセージと書き込みフェッチ要求メッセー
ジとの2種がある。読み出しフェッチ要求メッセージは
読み出し目的でデータをキャッシュにロードすることを
主記憶または他のキャッシュ制御装置に要求・通知する
ものであり、また、書き込みフェッチ要求メッセージは
書き込み目的でデータをキャッシュにロードすることを
要求・通知するものである。特に、他のキャッシュ制御
装置からの書き込みフェッチ要求メッセージを書き込み
権要求メッセージと呼ぶことにする。
【0041】書き込み完了メッセージは、他のプロセッ
サが自キャッシュ上のデータにアクセスしてよいことを
知らせるためのものである。
【0042】肯定応答メッセージは他のキャッシュ制御
装置からのフェッチ要求メッセージに対して肯定(許
可)応答を行なうものである。逆に、否定応答メッセー
ジはそれらのメッセージに対して否定(拒絶)応答を行
なうものである。
【0043】さて、アクセス制御部11は、外部からの
メッセージ入力により動作を開始する。以下、それぞれ
のメッセージ入力による動作およびリプレース処理時の
動作について詳述する。
【0044】[読み出し要求メッセージ入力時の動作]
アクセス制御部11はディレクトリ部14中のキャッシ
ュ管理情報15を検索し、キャッシュ・ヒットの場合に
は、痕跡ビット22をセットし、アクセス状態メッセー
ジとして「ヒット」を出力する。また、読み出し要求メ
ッセージ中に含まれるスレッド番号と活動体番号フィー
ルド21に記憶されている番号とが異なっていれば局所
共有ビット24をセットする。
【0045】一方、キャッシュ・ミスの場合には、読み
出しフェッチ要求メッセージを出力する。また、アクセ
ス状態メッセージとして「ミス」を、活動状態メッセー
ジとして「中断」をそれぞれ出力する。
【0046】[書き込み要求メッセージ入力時の動作]
アクセス制御部11はディレクトリ部14中のキャッシ
ュ管理情報15を検索し、キャッシュ・ヒットの場合に
は、痕跡ビット22および予約ビット23を共にセット
し、アクセス状態メッセージとして「ヒット」を出力す
る。また、書き込み要求メッセージ中に含まれるスレッ
ド番号と活動体番号フィールド21に記憶されている番
号とが異なっていれば局所共有ビット24をセットす
る。さらに、否定ビット25がセットされている場合に
は否定ビット25をリセットするとともに書き込み完了
メッセージを出力する。
【0047】一方、キャッシュ・ミスの場合には、書き
込みフェッチ要求メッセージを出力する。また、アクセ
ス状態メッセージとして「ミス」を、活動状態メッセー
ジとして「中断」をそれぞれ出力する。
【0048】ここで、キャッシュ・ヒットとは、単にデ
ータがキャッシュ上に存在するだけでなく、プロセッサ
(キャッシュ)がそのデータ・ブロックに対する書き込
み権を有していることを意味する。つまり、書き込み時
のキャッシュのヒット/ミスはキャッシュ・コヒーレン
ス制御を含めて考えるものとする点に注意されたい。
【0049】[読み出しフェッチ要求メッセージ入力時
の動作]この場合のアクセス制御部11の動作はキャッ
シュ・コヒーレンス制御方式によって規定されるもので
あり、本発明の範囲に含まれるものではないので省略す
る。
【0050】[書き込み権要求メッセージ入力時の動
作]アクセス制御部11はディレクトリ部14中のキャ
ッシュ管理情報15を検索し、キャッシュ・ヒットの場
合には、予約ビット23の値を調べ、予約ビット23が
リセットされていれば否定ビット25をセットするとと
もに否定応答メッセージを出力する。
【0051】予約ビット23がセットされている場合の
動作の大部分はキャッシュ・コヒーレンス制御方式によ
って規定されるものであり、本発明の範囲に含まれるも
のではないので省略するが、結果的には肯定応答メッセ
ージを出力する。
【0052】また、キャッシュ・ミスの場合には、そこ
で処理を終了する。 [肯定応答メッセージ入力時の動作]肯定応答メッセー
ジは、キャッシュ制御装置が出力したフェッチ要求メッ
セージに対して、キャッシュ・コヒーレンス制御をも含
めて、肯定的な応答が返されたことを意味する。従っ
て、所要のデータ・ブロックをキャッシュ上にロード
し、キャッシュ管理情報15を初期化する。また、フェ
ッチ要求メッセージ出力の原因をつくったスレッド(ア
クセス要求を行なったスレッド)の番号とともに「再
開」の活動状態メッセージをプロセッサ側入出力ポート
12から出力する。
【0053】ここで、キャッシュ管理情報15の初期化
には、活動体番号フィールド21にフェッチ要求メッセ
ージ出力の原因をつくったスレッドの番号を記録し、痕
跡ビット22、予約ビット23、局所共有ビット24、
否定ビット25をすべてリセットすることを含む。ただ
し、予約ビット23のリセットに関しては、出力したフ
ェッチ要求メッセージが書き込みフェッチ要求メッセー
ジであった場合にのみ意味を有する。
【0054】データのキャッシュへのロード時にリプレ
ースの問題が生じる場合のアクセス制御部11の動作に
ついては後述する。
【0055】[否定応答メッセージ入力時の動作]否定
応答メッセージは、キャッシュ制御装置が出力したフェ
ッチ要求メッセージに対して、フェッチ要求が拒絶され
たことを意味する。
【0056】そこで、アクセス制御部11はそのフェッ
チ要求メッセージを否定履歴情報17として否定履歴記
憶部16に記憶する。
【0057】[書き込み完了メッセージ入力時の動作]
書き込み完了メッセージを受け取ると、アクセス制御部
11はその書き込み完了メッセージに対応する否定履歴
情報17が否定履歴記憶部16に存在するかどうかを調
べる。
【0058】その結果、存在していれば否定履歴情報1
7からフェッチ要求メッセージを生成して出力し、否定
履歴情報17を否定履歴記憶部16から削除する。
【0059】また、否定履歴情報17が否定履歴記憶部
16に存在しない場合にはそこで処理を終了する。
【0060】[同期要求メッセージ入力時の動作]アク
セス制御部11はディレクトリ部14中のキャッシュ管
理情報15を検索し、キャッシュ・ヒットの場合には、
痕跡ビット22および予約ビット23を共にリセット
し、アクセス状態メッセージとして「ヒット」を出力す
る。
【0061】一方、キャッシュ・ミスの場合には、書き
込みフェッチ要求メッセージを出力する。また、アクセ
ス状態メッセージとして「ミス」を、活動状態メッセー
ジとして「中断」をそれぞれ出力する。
【0062】ここで、キャッシュ・ヒットとは、書き込
み要求メッセージ入力時の動作の場合と同様、単にデー
タがキャッシュ上に存在するだけでなく、プロセッサ
(キャッシュ)がそのデータ・ブロックに対する書き込
み権を有していることを意味する。
【0063】さて、本発明によって実現できる同期プリ
ミティブは不可分なリード・モディファイ・ライト操作
である。プロセッサ上で、同期命令、ロード命令、演算
命令、ストア命令をこの順に実行すると、キャッシュ制
御装置には同期要求メッセージ、読み出し要求メッセー
ジ、書き込み要求メッセージの順でメッセージが与えら
れる。同期要求メッセージの処理で予約ビット23がリ
セットされるので、以後、他のキャッシュが書き込みあ
るいは同期目的でそのデータ・ブロックにアクセスする
ことはできない。従って、他のプロセッサからは、同期
命令とロード命令とが不可分に連続して実行されるよう
にみえる。読み出し要求メッセージの処理では予約ビッ
ト23の値を変更しないので、ロード命令からストア命
令までの間も不可分に連続して実行される。書き込み要
求メッセージの処理で予約ビット23がセットされるの
で、以後は、他のキャッシュが書き込みあるいは同期目
的でそのデータ・ブロックにアクセスすることができ
る。
【0064】[リプレース時の動作]キャッシュ領域が
不足する場合には、既にキャッシュ上に存在するデータ
を追い出して、新たにデータをロードする領域を確保す
る。
【0065】本実施例では、キャッシュは2ウェイのセ
ット・アソシアティブ方式で構成されており、基本とす
る置き換えアルゴリズムはLRUを採用する。
【0066】インデキシングの結果、2つのウェイの両
方のブロックが使用中であるとき、アクセス制御部11
は表1に示すポリシーに従って追い出すブロックを決定
する。
【0067】
【表1】
【0068】表1において、Nはアクセス要求メッセー
ジに含まれるスレッド番号と活動体番号フィールド21
の値との比較結果を表しており、「1」は一致、「0」
は不一致を示す。Rは予約ビット23、Pは痕跡ビット
22、Sは局所共有ビット24をそれぞれ表しており、
いずれのビットも「1」がセット、「0」がリセットを
示す。LはLRUのためのビットで、その値は最近アク
セスされた方を「1」、そうでない方を「0」としてい
る。また、記号「*」は「0」、「1」のいずれでもよ
いことを表しており、記号「=」は2つのウェイの対応
するビットの値が等しいことを表している。
【0069】アクセス制御部11は、まず、Nについて
調べ、2つのウェイでその値が異なるときはN=0のウ
ェイのブロックを追い出すものと決定する。スレッドの
切り替えには多少のオーバヘッドがかかるので、実行中
のスレッドが使用するデータを追い出さないようにして
スレッド切り替えの多発を防ぐ。
【0070】Nの値が等しい場合には、Rについて調
べ、2つのウェイでその値が異なるときはR=1のウェ
イのブロックを追い出すものと決定する。さらにRの値
も等しい場合には、Pについて調べ、2つのウェイでそ
の値が異なるときはP=1のウェイのブロックを追い出
すものと決定する。Pがリセットされていることは、そ
のブロックがまだアクセスされていないことを示してお
り、そのようなブロックを追い出すと、その同一のブロ
ックに対して再びキャッシュ・ミスが発生するため、既
にアクセスされた形跡のあるブロックを選択する。
【0071】Pの値も等しい場合には、Sについて調
べ、2つのウェイでその値が異なるときはS=0のウェ
イのブロックを追い出すものと決定する。S=1のブロ
ックは複数のスレッドがアクセスする性質のものである
ため、このようなブロックをキャッシュ上に残すことに
よって、ヒット率の向上を図る。
【0072】N、R、P、Sのすべてが等しい場合のブ
ロックの選択方針はLRU方式を採用する従来のキャッ
シュ制御装置の選択方針と同一である。L=0の方のブ
ロックを追い出すものと決定する。
【0073】以上のように、本実施例によれば、プロセ
ッサ側入出力ポートとネットワーク側入出力ポートとを
介してメッセージの授受を行なうアクセス制御部と、前
記アクセス制御部から参照されるキャッシュ管理情報を
複数格納するディレクトリ部と、前記アクセス制御部か
ら参照される否定履歴情報を記憶する否定履歴記憶部と
を具備し、前記キャッシュ管理情報は痕跡ビットを含
み、前記アクセス制御部は、前記プロセッサ側入出力ポ
ートからアクセス要求メッセージを入力して前記キャッ
シュ管理情報を検索し、ヒットの場合には前記痕跡ビッ
トをセットし、また、ミスの場合には前記ネットワーク
側入出力ポートから発したフェッチ要求メッセージに対
する肯定応答メッセージを前記ネットワーク側入出力ポ
ートから入力した時点で前記痕跡ビットをリセットする
ことにより、キャッシュ上のデータが実際にアクセスさ
れたかどうかを容易に検出することができる。
【0074】また、前記キャッシュ管理情報は予約ビッ
トを含み、前記アクセス制御部は、前記プロセッサ側入
出力ポートから書き込み要求メッセージを入力して前記
キャッシュ管理情報を検索し、ヒットの場合には前記予
約ビットをセットし、また、ミスの場合には前記ネット
ワーク側入出力ポートから発した書き込みフェッチ要求
メッセージに対する肯定応答メッセージを前記ネットワ
ーク側入出力ポートから入力した時点で前記予約ビット
をリセットすることにより、キャッシュ上のデータ・ブ
ロックに実際に書き込みが行なわれたかどうかを容易に
検出することができる。
【0075】また、前記アクセス制御部が前記ネットワ
ーク側入出力ポートから書き込み権要求メッセージを入
力した場合、前記予約ビットがセットされていれば肯定
応答メッセージを前記ネットワーク側入出力ポートから
出力し、また、前記予約ビットがリセットされていれば
否定応答メッセージを前記ネットワーク側入出力ポート
から出力することにより、キャッシュ・コヒーレンス維
持のための書き込み権移動の制御を効率的に行なうこと
ができる。
【0076】また、前記キャッシュ管理情報は否定ビッ
トを含み、前記アクセス制御部は、前記ネットワーク側
入出力ポートからの書き込み権要求メッセージに対して
否定応答メッセージを出力する場合には前記否定ビット
をセットし、また、前記予約ビットをリセット状態から
セット状態へ遷移させる際に前記否定ビットがセットさ
れていれば、書き込み完了メッセージを前記ネットワー
ク側入出力ポートから出力することにより、不要な書き
込み権要求メッセージの出力を抑止し、各プロセッサ
(キャッシュ)からの書き込み権取得の要求を効率的に
調停することができる。
【0077】また、前記アクセス制御部は、前記プロセ
ッサ側入出力ポートから同期要求メッセージを入力した
場合、前記キャッシュ管理情報を検索し、ヒットの場合
には前記予約ビットをリセットし、ミスの場合には前記
ネットワーク側入出力ポートから発した書き込みフェッ
チ要求メッセージに対する肯定応答メッセージを前記ネ
ットワーク側入出力ポートから入力した時点で前記予約
ビットをリセットし、また、前記プロセッサ側入出力ポ
ートから読み出し要求メッセージを入力しても前記予約
ビットを変更しないことにより、アトミックなリード・
モディファイ・ライト操作を効率良く実現することがで
きる。
【0078】また、前記アクセス制御部は、前記ネット
ワーク側入出力ポートから否定応答メッセージを入力し
た場合にはその情報を前記否定履歴記憶部に記憶し、ま
た、前記ネットワーク側入出力ポートから書き込み完了
メッセージを入力した場合には前記否定履歴記憶部を検
索し、前記書き込み完了メッセージに対応する否定履歴
情報が前記否定履歴記憶部に存在する場合には、前記ネ
ットワーク側入出力ポートから書き込みフェッチ要求メ
ッセージを再出力することにより、不要な書き込み権要
求メッセージの出力を控え、ネットワークのトラフィッ
クを軽減することができる。
【0079】また、キャッシュ・ブロック・リプレース
メントを行なう場合には、前記予約ビットがセットされ
ているキャッシュ・ブロックを置き換え対象として優先
的に選択し、また、前記痕跡ビットがセットされている
キャッシュ・ブロックを置き換え対象として優先的に選
択することにより、未アクセスのキャッシュ・ブロック
の追い出しを抑止してキャッシュ・ヒット率を向上さ
せ、また、コンテクスト・スイッチ回数を減らしてプロ
セッサ資源の利用率を高めることができる。また、前記
キャッシュ管理情報は活動体番号フィールドを含み、キ
ャッシュ・ブロック・リプレースメントを行なう場合に
は、前記活動体番号フィールドの値が前記アクセス要求
メッセージ中に含まれる活動体番号と一致するキャッシ
ュ・ブロックの優先度を低くして置き換え対象を選択す
ることにより、実行中のスレッドが使用するデータを追
い出さないようにして、キャッシュのミス・ヒットおよ
びスレッド切り替えの多発を防ぐことができる。
【0080】また、前記キャッシュ管理情報は前記活動
体番号フィールドに加えて局所共有ビットを含み、キャ
ッシュ・ヒット時には、前記局所共有ビットがリセット
されていれば前記アクセス要求メッセージ中に含まれる
活動体番号と前記活動体番号フィールドの値とを比較
し、異なっていれば前記局所共有ビットをセットし、ま
た、キャッシュ・ブロック・リプレースメントを行なう
場合には、前記局所共有ビットがリセットされているキ
ャッシュ・ブロックを置き換え対象として優先的に選択
することにより、複数のスレッドがアクセスするブロッ
クをキャッシュ上に残してヒット率を向上させることが
できる。
【0081】本発明において、予約ビットは、痕跡ビッ
トを書き込みアクセスに対してのみ限定して使用するも
のであるが、このような限定を行なうことにより、キャ
ッシュ・ブロック・リプレースのみでなく、キャッシュ
・コヒーレンス制御においても有効な効果を生むもので
ある。
【0082】また、予約ビットは、書き込みが行なわれ
たかどうかを記憶するという点で、いわゆる汚れビット
と類似するものであるが、本質的には全く異なる。汚れ
ビットはキャッシュ・ブロックのメモリへの書き戻しを
省略できるか否かを指示するものであり、本実施例で示
した予約ビットに関する操作と照らし合わせれば、予約
ビットと汚れビットとを1つのビットで代用できないこ
とは明らかである。
【0083】なお、本発明は、キャッシュ・コヒーレン
ス制御や多重スレッド方式、および置き換えアルゴリズ
ムと深く係わりながらも、本質的にはそれらの技術と直
交する独立の内容を有するものであり、例えば、既に報
告されている種々のキャッシュ・コヒーレンス制御方式
と組み合わせて使用することができる。従って、本発明
は上記実施例に限定されるものではなく、本発明の趣旨
に基づいて種々の変形が可能であり、これらを本発明の
範囲から除外するものではない。
【0084】
【発明の効果】以上のように本発明は、プロセッサ側入
出力ポートとネットワーク側入出力ポートとを介してメ
ッセージの授受を行なうアクセス制御部と、前記アクセ
ス制御部から参照され、活動体番号フィールド、痕跡ビ
ット、予約ビット、局所共有ビット、否定ビットを含む
キャッシュ管理情報を複数格納するディレクトリ部と、
前記アクセス制御部から参照される否定履歴情報を記憶
する否定履歴記憶部とを設けることにより、多重スレッ
ド処理プロセッサにおけるスレッド間のアクセス干渉に
よるキャッシュ・ミスの発生を防止してキャッシュ・ヒ
ット率を向上し、また、キャッシュ・コヒーレンス制御
における無駄なメッセージ通信を排除してプロセッサ資
源およびプロセッサ間ネットワーク資源を有効に利用
し、また、効率の良いリード・モディファイ・ライト操
作を実現し、これらの結果、マルチプロセッサ・システ
ムのスループットを向上して並列プログラムの実行速度
を短縮することができるといった優れた効果を奏する。
【図面の簡単な説明】
【図1】本発明の一実施例におけるキャッシュ制御装置
の構成図
【図2】本発明の実施例におけるキャッシュ管理情報の
フィールド構成図
【図3】本発明が対象とするマルチプロセッサ・システ
ムの構成例を示した図
【符号の説明】
11 アクセス制御部 12 プロセッサ側入出力ポート 13 ネットワーク側入出力ポート 14 ディレクトリ部 15 キャッシュ管理情報 16 否定履歴記憶部 17 否定履歴情報 21 活動体番号フィールド 22 痕跡ビット 23 予約ビット 24 局所共有ビット 25 否定ビット 31 主記憶装置 32 ネットワーク 33 キャッシュ 34 プロセッサ
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI G06F 15/177 681 G06F 15/177 681A (56)参考文献 特開 昭61−166651(JP,A) 特開 平4−3241(JP,A) 特開 平4−140860(JP,A) McFarling S.,,Cac he Replacement wit h Dynamic Exclusio n,WRL Technical No te,米国,Western Rese arch Laboratory,TN −22 (58)調査した分野(Int.Cl.7,DB名) G06F 12/08 - 12/12 G06F 15/16 - 15/177

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 主記憶に接続され、主記憶に蓄積された
    データに基づいて、多重スレッドを処理できるプロセッ
    サであって、 前記主記憶から読み出された各スレッドのデータを混在
    する状態で記憶できるキャッシュと、キャッシュ上のデータの属するスレッド番号を管理する
    活動体番号フィールドと、キャッシュ上のデータに対す
    るアクセスの有無を記録する痕跡ビットを保持するキャ
    ッシュ管理情報フィールドとを有し、活動体番号フィー
    ルドの内容と痕跡ビットとを用いて 前記キャッシュを制
    御するキャッシュ制御手段とを有し、 既にキャッシュヒットした他のスレッドのデータと、未
    だキャッシュヒットしていない他のスレッドのデータと
    が、前記キャッシュ上に混在する場合に、前記キャッシ
    ュ制御手段は、両者の内、前記既にキャッシュヒットし
    た他のスレッドのデータを活動体番号フィールドの内容
    と痕跡ビットとを用いて判断し、優先的にキャッシュリ
    プレースすることを特徴とするプロセッサ。
  2. 【請求項2】 主記憶に接続され、主記憶に蓄積された
    データに基づいて、多重スレッドを処理できるプロセッ
    サであって、 前記主記憶から読み出された各スレッドのデータを混在
    する状態で記憶できるキャッシュと、キャッシュ上のデータの属するスレッド番号を管理する
    活動体番号フィールドと、リード・モディファイ・ライ
    ト命令実行中のデータであることを示す予約ビットを保
    持するキャッシュ管理フィールドとを有し、活動体番号
    フィールドの内容と予約ビットとを用いて 前記キャッシ
    ュを制御するキャッシュ制御手段とを有し、 前記キャッシュ制御手段は、あるスレッドがリード・モ
    ディファイ・ライト命令を実行中のデータを前記キャッ
    シュ上に有することを予約ビットと活動体番号フィール
    ドの内容とを用いて判断し、他のスレッドからのこのデ
    ータへのアクセスを拒否することを特徴とするプロセッ
    サ。
  3. 【請求項3】 前記予約ビットは不可分なリード・モデ
    ィファイ・ライト命令に伴う同期命令の処理によってリ
    セットされ、書き込み命令の処理によってセットされる
    ことを特徴とする請求項に記載のプロセッサ。
  4. 【請求項4】 前記予約ビットはダーティビットの機能
    を併せ持つことを特徴とする請求項若しくは請求項
    記載のプロセッサ。
  5. 【請求項5】 前記プロセッサは複数のプロセッサがネ
    ットワークを介して接続されたマルチプロセッサシステ
    ムの構成要素であり、 前記キャッシュ管理フィールドは予約ビットに加え、否
    定ビットを保持し、 前記キャッシュ制御手段は、ネットワークを介して他の
    プロセッサから書き込み権要求メッセージを入力した際
    に予約ビットがリセットされていれば、前記否定ビット
    をセットし、 前記予約ビットがリセットからセットに遷移する際に、
    前記否定ビットがセットされていれば、書き込み完了メ
    ッセージを前記他のプロセッサに対し出力することを特
    徴とする請求項2から4に記載のプロセッサ。
  6. 【請求項6】 主記憶に接続され、主記憶に蓄積された
    データに基づいて、多重スレッドを処理できるプロセッ
    サであって、 前記主記憶から読み出された各スレッドのデータを混在
    する状態で記憶できるキャッシュと、キャッシュ上のデータブロックが複数のスレッドで共有
    されていることを示す局所共有ビットを保持するキャッ
    シュ管理フィールドを有し、局所共有ビットとを用いて
    前記キャッシュを制御するキャッシュ制御手段とを有
    し、 前記キャッシュ制御手段は、前記局所共有ビットを用い
    複数のスレッドがキャッシュ上で共有するデータを管
    理し、キャッシュリプレースの際に前記データを優先的
    にキャッシュ上に残すことを特徴とするプロセッサ。
JP13044292A 1992-05-22 1992-05-22 キャッシュ制御装置 Expired - Lifetime JP3309425B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP13044292A JP3309425B2 (ja) 1992-05-22 1992-05-22 キャッシュ制御装置
US08/066,709 US5535361A (en) 1992-05-22 1993-05-24 Cache block replacement scheme based on directory control bit set/reset and hit/miss basis in a multiheading multiprocessor environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13044292A JP3309425B2 (ja) 1992-05-22 1992-05-22 キャッシュ制御装置

Publications (2)

Publication Number Publication Date
JPH05324471A JPH05324471A (ja) 1993-12-07
JP3309425B2 true JP3309425B2 (ja) 2002-07-29

Family

ID=15034345

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13044292A Expired - Lifetime JP3309425B2 (ja) 1992-05-22 1992-05-22 キャッシュ制御装置

Country Status (2)

Country Link
US (1) US5535361A (ja)
JP (1) JP3309425B2 (ja)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0665503A3 (en) * 1994-01-28 1996-01-17 Nec Corp High speed synchronization communication control mechanism for a multiprocessor system.
US5933627A (en) * 1996-07-01 1999-08-03 Sun Microsystems Thread switch on blocked load or store using instruction thread field
ATE262196T1 (de) * 1996-08-02 2004-04-15 Hewlett Packard Co Verfahren und gerät das verteilte steuerung von gemeinsamen betriebsmitteln erlaubt
US6049866A (en) * 1996-09-06 2000-04-11 Silicon Graphics, Inc. Method and system for an efficient user mode cache manipulation using a simulated instruction
JP3139392B2 (ja) * 1996-10-11 2001-02-26 日本電気株式会社 並列処理システム
US5961639A (en) * 1996-12-16 1999-10-05 International Business Machines Corporation Processor and method for dynamically inserting auxiliary instructions within an instruction stream during execution
US6088788A (en) * 1996-12-27 2000-07-11 International Business Machines Corporation Background completion of instruction and associated fetch request in a multithread processor
US6098156A (en) * 1997-07-22 2000-08-01 International Business Machines Corporation Method and system for rapid line ownership transfer for multiprocessor updates
US6098152A (en) * 1997-10-17 2000-08-01 International Business Machines Corporation Method and apparatus for miss sequence cache block replacement utilizing a most recently used state
US6212544B1 (en) 1997-10-23 2001-04-03 International Business Machines Corporation Altering thread priorities in a multithreaded processor
US6105051A (en) * 1997-10-23 2000-08-15 International Business Machines Corporation Apparatus and method to guarantee forward progress in execution of threads in a multithreaded processor
US6076157A (en) * 1997-10-23 2000-06-13 International Business Machines Corporation Method and apparatus to force a thread switch in a multithreaded processor
US6567839B1 (en) 1997-10-23 2003-05-20 International Business Machines Corporation Thread switch control in a multithreaded processor system
US6697935B1 (en) 1997-10-23 2004-02-24 International Business Machines Corporation Method and apparatus for selecting thread switch events in a multithreaded processor
US6061710A (en) * 1997-10-29 2000-05-09 International Business Machines Corporation Multithreaded processor incorporating a thread latch register for interrupt service new pending threads
US6263404B1 (en) * 1997-11-21 2001-07-17 International Business Machines Corporation Accessing data from a multiple entry fully associative cache buffer in a multithread data processing system
US6256775B1 (en) 1997-12-11 2001-07-03 International Business Machines Corporation Facilities for detailed software performance analysis in a multithreaded processor
US6018759A (en) * 1997-12-22 2000-01-25 International Business Machines Corporation Thread switch tuning tool for optimal performance in a computer processor
US6016542A (en) * 1997-12-31 2000-01-18 Intel Corporation Detecting long latency pipeline stalls for thread switching
US6205519B1 (en) 1998-05-27 2001-03-20 Hewlett Packard Company Cache management for a multi-threaded processor
US6209066B1 (en) * 1998-06-30 2001-03-27 Sun Microsystems, Inc. Method and apparatus for memory allocation in a multi-threaded virtual machine
US6269425B1 (en) * 1998-08-20 2001-07-31 International Business Machines Corporation Accessing data from a multiple entry fully associative cache buffer in a multithread data processing system
KR100565886B1 (ko) * 1998-12-18 2006-03-31 도와 마이닝 가부시끼가이샤 강자성 분말
US6574725B1 (en) * 1999-11-01 2003-06-03 Advanced Micro Devices, Inc. Method and mechanism for speculatively executing threads of instructions
US6799247B1 (en) 2001-08-23 2004-09-28 Cisco Technology, Inc. Remote memory processor architecture
US20030097582A1 (en) * 2001-11-19 2003-05-22 Yves Audebert Method and system for reducing personal security device latency
US6912623B2 (en) * 2002-06-04 2005-06-28 Sandbridge Technologies, Inc. Method and apparatus for multithreaded cache with simplified implementation of cache replacement policy
US6990557B2 (en) * 2002-06-04 2006-01-24 Sandbridge Technologies, Inc. Method and apparatus for multithreaded cache with cache eviction based on thread identifier
US20040186823A1 (en) * 2003-02-12 2004-09-23 International Business Machines Corporation Data packet processing
WO2005029336A1 (ja) * 2003-09-19 2005-03-31 Matsushita Electric Industrial Co., Ltd. キャッシュメモリおよびキャッシュメモリ制御方法
JP3981070B2 (ja) * 2003-12-26 2007-09-26 株式会社東芝 キャッシュリプレース装置及びキャッシュリプレース方法
US20050182902A1 (en) * 2004-02-12 2005-08-18 Shuji Miyasaka Signal processing apparatus
JP4487744B2 (ja) * 2004-11-29 2010-06-23 富士通株式会社 マルチスレッド制御装置及び制御方法
US8195886B2 (en) * 2007-03-16 2012-06-05 Arm Limited Data processing apparatus and method for implementing a replacement scheme for entries of a storage unit
EP2159702B1 (en) * 2007-06-20 2013-04-17 Fujitsu Limited Cache control device and control method
JP5077209B2 (ja) * 2008-12-03 2012-11-21 日本電気株式会社 メモリ管理装置、メモリ管理方法およびプログラム
US20110055838A1 (en) * 2009-08-28 2011-03-03 Moyes William A Optimized thread scheduling via hardware performance monitoring
JP5404433B2 (ja) * 2010-01-08 2014-01-29 株式会社東芝 マルチコアシステム
US8504042B2 (en) * 2010-08-25 2013-08-06 Htc Corporation Method of handling service group ownership transfer in a communication system and related communication device

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4484267A (en) * 1981-12-30 1984-11-20 International Business Machines Corporation Cache sharing control in a multiprocessor
US4807110A (en) * 1984-04-06 1989-02-21 International Business Machines Corporation Prefetching system for a cache having a second directory for sequentially accessed blocks
US4885680A (en) * 1986-07-25 1989-12-05 International Business Machines Corporation Method and apparatus for efficiently handling temporarily cacheable data
US4843542A (en) * 1986-11-12 1989-06-27 Xerox Corporation Virtual memory cache for use in multi-processing systems
US4882642A (en) * 1987-07-02 1989-11-21 International Business Machines Corporation Sequentially processing data in a cached data storage system
US4928225A (en) * 1988-08-25 1990-05-22 Edgcore Technology, Inc. Coherent cache structures and methods
JPH0289145A (ja) * 1988-09-26 1990-03-29 Mitsubishi Electric Corp キャッシュメモリ
US5185875A (en) * 1989-01-27 1993-02-09 Digital Equipment Corporation Method and apparatus for reducing memory read latency in a shared memory system with multiple processors
JPH0363851A (ja) * 1989-08-02 1991-03-19 Nec Corp キャッシュメモリ
US5179702A (en) * 1989-12-29 1993-01-12 Supercomputer Systems Limited Partnership System and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling
US5297269A (en) * 1990-04-26 1994-03-22 Digital Equipment Company Cache coherency protocol for multi processor computer system
JPH04288647A (ja) * 1991-02-27 1992-10-13 Mitsubishi Electric Corp キャッシュメモリにおける置き換え制御装置
JPH04315235A (ja) * 1991-04-12 1992-11-06 Fuji Xerox Co Ltd キャッシュメモリにおけるキャッシュデータリプレース方法及びキャッシュデータリプレース装置
US5313609A (en) * 1991-05-23 1994-05-17 International Business Machines Corporation Optimum write-back strategy for directory-based cache coherence protocols
US5430850A (en) * 1991-07-22 1995-07-04 Massachusetts Institute Of Technology Data processing system with synchronization coprocessor for multiple threads

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
McFarling S.,,Cache Replacement with Dynamic Exclusion,WRL Technical Note,米国,Western Research Laboratory,TN−22

Also Published As

Publication number Publication date
JPH05324471A (ja) 1993-12-07
US5535361A (en) 1996-07-09

Similar Documents

Publication Publication Date Title
JP3309425B2 (ja) キャッシュ制御装置
CA1238984A (en) Cooperative memory hierarchy
US6704842B1 (en) Multi-processor system with proactive speculative data transfer
US7047322B1 (en) System and method for performing conflict resolution and flow control in a multiprocessor system
US5895495A (en) Demand-based larx-reserve protocol for SMP system buses
US6957304B2 (en) Runahead allocation protection (RAP)
US6640289B2 (en) Software controlled cache line ownership affinity enhancements in a multiprocessor environment
US20070136535A1 (en) System and Method for Reducing Unnecessary Cache Operations
US7281092B2 (en) System and method of managing cache hierarchies with adaptive mechanisms
CN101446923B (zh) 一种响应于指令而清洗高速缓冲存储器线的装置和方法
US7194586B2 (en) Method and apparatus for implementing cache state as history of read/write shared data
US20090037664A1 (en) System and method for dynamically selecting the fetch path of data for improving processor performance
JPH03217963A (ja) マルチプロセッサ・システムおよびそのプライベート・キャッシュ制御方法
JP2005018772A (ja) 複数のコヒーレンシ領域およびキャッシュ・パージのないコヒーレンシ領域間ソフトウェア・プロセス移行を備えるマルチプロセッサ・コンピュータ・システム
JP2010507160A (ja) データ処理装置の共有メモリへの書込みアクセス要求の処理
US6321306B1 (en) High performance multiprocessor system with modified-unsolicited cache state
JPH0625984B2 (ja) マルチプロセツサ・システム
JPH05127995A (ja) ローカルキヤツシユに共通のページ間の一貫性を確保する方法
JPH0962572A (ja) ストリーム・フィルタ装置及び方法
JP2000250812A (ja) メモリ・キャッシュ・システムおよびその管理方法
US5214766A (en) Data prefetching based on store information in multi-processor caches
US7380068B2 (en) System and method for contention-based cache performance optimization
US6332179B1 (en) Allocation for back-to-back misses in a directory based cache
US20060294319A1 (en) Managing snoop operations in a data processing apparatus
KR101472967B1 (ko) 라이트 백 동작을 수행하는 캐시 메모리, 이의 동작 방법, 및 이를 포함하는 시스템

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090524

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100524

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110524

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110524

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120524

Year of fee payment: 10

EXPY Cancellation because of completion of term