JP2002082832A - キャッシュ更新方法及びキャッシュ更新制御システム並びに記録媒体 - Google Patents

キャッシュ更新方法及びキャッシュ更新制御システム並びに記録媒体

Info

Publication number
JP2002082832A
JP2002082832A JP2000272859A JP2000272859A JP2002082832A JP 2002082832 A JP2002082832 A JP 2002082832A JP 2000272859 A JP2000272859 A JP 2000272859A JP 2000272859 A JP2000272859 A JP 2000272859A JP 2002082832 A JP2002082832 A JP 2002082832A
Authority
JP
Japan
Prior art keywords
cache
request
data
address
miss
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2000272859A
Other languages
English (en)
Inventor
Atsushi Yamashiroya
篤 山代屋
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2000272859A priority Critical patent/JP2002082832A/ja
Priority to EP01121260A priority patent/EP1187025A3/en
Priority to US09/945,632 priority patent/US6647463B2/en
Priority to CA002357085A priority patent/CA2357085C/en
Publication of JP2002082832A publication Critical patent/JP2002082832A/ja
Pending 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
    • G06F12/0859Overlapped cache accessing, e.g. pipeline with reload from main memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 キャッシュミスによるデータ読み出しのリク
エストを主記憶に出しながらも後続命令の処理が継続で
きるというノンブロッキング方式のキャッシュの特徴を
十分に活用し得る新規なキャッシュ更新方法を提供す
る。 【解決手段】 プロセッサコアからのロードリクエスト
時にキャッシュミスが生じた場合、発行チェックブロッ
ク20はそのキャッシュミスによるデータ読み出しのリク
エストを発行制御回路50から主記憶に発行し、そのリク
エストの情報をリクエストバッファ回路30に登録する。
キャッシュブロック10ではその時点でアドレスアレイ12
は更新せず、更新予定のエントリに格納されているアド
レスに後続命令がヒットした場合にはキャッシュヒット
として処理する。アドレスアレイ12の更新は、前記リク
エストに対して主記憶から応答データを受信したことを
契機にデータアレイ11の更新と同時に実施される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はキャッシュ更新方法
に関し、特にノンブロッキング方式のキャッシュにおけ
るアドレスアレイの更新方法に関する。
【0002】
【従来の技術】一般に現在の計算機システムは、プロセ
ッサコアと主記憶との間に高速、小容量のキャッシュを
配置し、主記憶に置かれたデータへのアクセスの高速化
を図っている。現在主流となっているセットアソシアテ
ィブ方式のキャッシュの概要を図14に示す。図示した
キャッシュは、セットアソシアティブ方式の内でも最も
単純な1WAY構成である。
【0003】図14において、データアレイ(DA)1
1は、主記憶データの一部の写しをブロック単位(図の
例では128バイト)で保持し、アドレスアレイ(A
A)12はデータアレイ11に格納されているデータブ
ロックのアドレスを格納する。双方とも図示の例では2
56個のエントリから構成される。また、ヒット/ミス
の判定を行うための比較器13がある。主記憶に対する
読み出し命令であるロード命令(LD)が指示する主記
憶アドレスは、キャッシュをアクセスする場合、便宜的
にその上位より順にタグアドレス、インデックスアドレ
ス、ブロックアドレスに分けられる。図示の例では、ブ
ロックアドレスは4ビット、インデックスアドレスは8
ビット、タグアドレスは主記憶アドレスの残りビットに
なる。
【0004】ロード命令の実行に際しては、ロード命令
からインデックスアドレスを切り出してアドレスアレイ
12のエントリを特定し、そのエントリに記憶されてい
るタグアドレスとロード命令のタグアドレスとが一致す
るか否かを比較器13で比較する。また一般的にはアド
レスアレイ12中の各エントリには、そのエントリに記
憶されているタグアドレスが有効か否かを示す有効性指
示ビットが設けられており、前記タグアドレスの比較と
同時にその有効性指示ビットが調べられる。
【0005】有効性指示ビットが有効で且つ比較器13
で双方のタグアドレスの一致が検出された状態をキャッ
シュヒット、または単にヒットと言い、それ以外をキャ
ッシュミス、または単にミスと言う。キャッシュヒット
した場合、ロード命令のインデックスアドレス+ブロッ
クアドレスの部分で特定されるデータアレイDA11中
の該当エントリ内の8バイトが、キャッシュデータとし
て読み出され、リプライデータとしてプロセッサコアに
送られる。
【0006】他方、キャッシュミスした場合は、ロード
命令が指示する主記憶アドレスに従って主記憶に対して
ミスリクエストを送出し、主記憶から当該アドレスに対
応する8バイトのデータを含む128バイトのブロック
を読み出し、その中の該当する8バイトをプロセッサコ
アに返却する。また、ミスしたアドレスアレイ12の該
当エントリにロード命令のタグアドレスを登録すると共
に、データアレイ11の該当エントリに主記憶から読み
出された128バイトのブロックを記憶する。
【0007】ここで、従来においては、ミス時における
キャッシュの更新は、ミスリクエストを主記憶に対して
発行したことを契機にアドレスアレイ12にインデック
スアドレスを登録し、発行したミスリクエストに対して
主記憶からブロックデータが送られてきた時点でデータ
アレイ11を更新していた。このようなキャッシュの更
新方法を記載した文献としては、例えば特公平7−69
862号公報(特にその第3頁左欄第3行目〜第31行
目)がある。そして、このようなキャッシュの更新方法
は、近年開発されたノンブロッキング方式のキャッシュ
についてもそのまま踏襲されていた。
【0008】
【発明が解決しようとする課題】ノンブロッキング方式
のキャッシュは、キャッシュミスによるデータ読み出し
のリクエストを主記憶に出しながらも後続命令の処理を
継続できるキャッシュである。つまり、従来のノンブロ
ッキング方式でないキャッシュでは、キャッシュミス時
にはそのデータが準備されるまでプロセッサコアは後続
命令の処理を停止しなければならなかったが、ノンブロ
ッキング方式のキャッシュでは複数のブロックデータの
読み出しを主記憶に要求できるため、その分だけ実行性
能が向上する。例えば図14の1WAYセットアソシア
ティブのキャッシュを例に説明すると、或るインデック
スアドレスINDEX1を持つロード命令LDaでキャッシュ
ミスになった場合、ミスリクエストが主記憶に送出され
た後、プロセッサコアの処理を停止させることなく次の
ロード命令LDbが処理される。従って、ロード命令L
DbがINDEX1以外のインデックスアドレスを持ってい
て、それがキャッシュにヒットすれば、ヒットしたキャ
ッシュデータがロード命令LDbに対するリプライデー
タとしてプロセッサコアに返却されることになる。
【0009】しかし、従来のノンブロッキング方式のキ
ャッシュでは、アドレスアレイの更新はミスリクエスト
の送出を契機に実施しているため、ノンブロッキング方
式の特徴が十分に活かされていないという課題があっ
た。例えば前述の例で説明すると、ロード命令LDaの
ミス時にアドレスアレイ12のINDEX1に対応するエント
リはミスリクエスト送出を契機にかなり早い時期に更新
されるため、その更新前のタグアドレスをTAG1として、
若し後続のロード命令LDbがインデックスアドレスIN
DEX1とタグアドレスTAG1を持つとしてもミスヒットとな
ってしまうからである。
【0010】本発明はこのような事情に鑑みて提案され
たものであり、その目的は、キャッシュミスによるデー
タ読み出しのリクエストを主記憶に出しながらも後続命
令の処理が継続できるというノンブロッキング方式のキ
ャッシュの特徴を十分に活用し得る新規なキャッシュ更
新方法及びキャッシュメモリ装置を提供することにあ
る。
【0011】
【課題を解決するための手段】本発明のキャッシュ更新
方法及びキャッシュ更新制御システム並びに記録媒体に
おいては、ノンブロッキング方式のキャッシュにおい
て、キャッシュミスによるデータ読み出しのリクエスト
に対して主記憶から応答データを受信したことを契機に
アドレスアレイ及びデータアレイを更新する。
【0012】
【作用】本発明にあっては、プロセッサコアからのロー
ドリクエスト時にキャッシュミスが生じた場合、そのキ
ャッシュミスによるデータ読み出しのリクエスト(ミス
リクエスト)に対して主記憶から応答データを受信した
ことを契機にアドレスアレイを更新するため、アドレス
アレイの更新が従来に比べて遅延する。例えば、ミスリ
クエストを送出してから応答データが返ってくるまでの
主記憶アクセス時間をnTとすると、ミスリクエストの
送出を契機にアドレスアレイを更新していた従来技術に
比べると、約nT時間だけアドレスアレイの更新が遅れ
る。一般にnTは、マシンクロック周期の60倍前後で
あるため、かなりの時間がかかる。従って、その遅延時
間の間に、更新予定のアドレスアレイのエントリに入っ
ているアドレスにヒットする後続命令がプロセッサコア
から発行されればキャッシュヒットすることになり、ノ
ンブロッキング方式のキャッシュの特徴を十分に活用す
ることが可能となる。
【0013】
【発明の実施の形態】次に本発明の実施の形態の例につ
いて図面を参照して詳細に説明する。
【0014】図1を参照すると、本発明を適用したノン
ブロッキング方式のキャッシュメモリ装置の一例は、キ
ャッシュブロック10と、発行チェックブロック20
と、リクエストバッファ回路30と、アドレスチェック
回路40と、発行制御回路50と、リクエストレジスタ
60とを主要部として備えている。
【0015】キャッシュブロック10は、主記憶データ
の一部の写しをブロック単位で格納するデータアレイ
(DA)11と、データアレイ11に格納されているデ
ータブロックのアドレスを格納するアドレスアレイ(A
A)12と、図示は省略してあるが、ヒット/ミスの判
定を行う比較器などから構成される。キャッシュの構成
としては、1WAY、2WAY、4WAYセットアソシ
アティブ等いろいろあるが、本発明は全てのWAY構成
に対して適用可能である。以下の説明では、図14で説
明した1WAY構成を前提に行い、適宜に他のWAY構
成を採用する場合の変更点について説明する。
【0016】リクエストレジスタ60は、図示しないプ
ロセッサコアからのロードリクエストやストアリクエス
トといったアクセス要求を保持するレジスタである。リ
クエストバッファ回路30は、主記憶に対して発行した
ミスリクエスト(ロードリクエスト)の情報(アドレス
等)をそのミスリクエストにより要求された主記憶デー
タがキャッシュに登録される迄保持する回路である。リ
クエストバッファ回路30が保持できるミスリクエスト
情報の個数の最大値をNとすると、ミスリクエストの同
時送出個数(発行してデータをまだキャッシュに登録し
ていないミスリクエストの個数)はN個となる。リクエ
ストバッファ回路30が保持できるミスリクエスト情報
の最大数は本発明とは直接関係せず、1以上の任意の個
数とすることができる。
【0017】アドレスチェック回路40は、リクエスト
バッファ回路30に保持されているミスリクエストのア
ドレス中のインデックスアドレスと後続のロードリクエ
ストのアドレス中のインデックスアドレスとを比較する
回路である。発行制御回路50は、プロセッサよりプロ
セッサ外に命令を発行する場合に必要な既存の回路であ
り、キャッシュミスとなったリクエストなどの発行を制
御する。発行チェックブロック20は、キャッシュへの
読み出しデータの保証及びリクエストの発行チェックな
どを行う部分である。
【0018】次に、プロセッサコアからロードリクエス
トが発行された際のキャッシュ動作について、図1乃至
図7を参照して説明する。なお、図2はロードリクエス
ト時のキャッシュ動作の概略を示すフローチャート、図
3乃至図7は各場面毎の動作説明図である。
【0019】プロセッサコアからのロードリクエスト
は、結線100を介してリクエストレジスタ60に格納
される。ロードリクエストには、リクエスト種別と主記
憶アドレスと当該リクエストを一意に識別する識別子
(以下、リクエストIDと称す)とが含まれる。主記憶
アドレスは図14で説明したようにタグアドレス、イン
デックスアドレス、ブロックアドレスから構成される。
リクエストレジスタ60に格納されたロードリクエスト
の内容は結線101を通じてキャッシュブロック10、
発行チェックブロック20及びアドレスチェック回路4
0に伝達される。
【0020】キャッシュブロック10では、ロードリク
エストのアドレス中のインデックスアドレスによりアド
レスアレイ12の該当エントリがアクセスされ(図2の
S1)、そのエントリに記憶されているタグアドレスと
ロードリクエストのアドレス中のタグアドレスとの比較
および有効性指示ビットの検査により、キャッシュヒッ
トか否かの判定が行われる(S2)。この判定結果は、
結線102を通じて発行チェックブロック20にも伝達
される。
【0021】キャッシュミスの場合(S2でNO)、発
行チェックブロック20は、リクエストバッファ回路3
0にミスリクエストの情報が保持されているか否かを判
断し(S3)、ミスリクエストの情報が1つも保持され
ていない場合は(S3でNO)、結線113を通じて、
空いているリクエストバッファ回路30にミスリクエス
トの情報(今回のロードリクエストのアドレス(タグア
ドレス、インデックスアドレス、ブロックアドレス)、
リクエストID等)を登録すると同時に、結線103を
通じて発行制御回路50に対してリクエストを伝達する
ことで、発行制御回路50より結線104を通じて主記
憶に対し、リクエストレジスタ60に保持されているロ
ードリクエストで指定される主記憶アドレスを指定した
ブロックデータのロードリクエスト、つまりミスリクエ
ストを送出する(S7、S8)。本発明においては、ミ
スリクエスト送出時点においてキャッシュブロック10
のアドレスアレイ12は更新しない。
【0022】図3はこの場面の動作説明図であり、ロー
ドリクエストのアドレスを基にキャッシュブロック10
内のアドレスアレイ12をアクセスしてヒット/ミスの
判定を行ったところ((1))、ミスであった為にミス信号
が発行チェックブロック20に出され((2))、発行チェ
ックブロック20がミスリクエスト発行要求を発行制御
回路50に発行し((3))、同時に、発行したミスリクエ
ストの情報をリクエストバッファ回路30に登録してい
る((4))。また、発行制御回路50により主記憶に対し
ミスリクエストが送出されている((5))。
【0023】他方、リクエストバッファ回路30にミス
リクエストの情報が保持されている場合は(S3でYE
S)、アドレスチェック回路40において、リクエスト
バッファ回路30に保持されているミスリクエストの情
報中のインデックスアドレスとリクエストレジスタ60
中のインデックスアドレスとが一致するか否かを調べる
(S4)。そして、先行ミスリクエストとインデックス
アドレスが不一致の場合は(S4でNO)、リクエスト
バッファ回路30に空きがあれば(S5でNO)、ステ
ップS7へと進む。つまり、リクエストバッファ回路3
0にミスリクエストの情報を登録すると同時に発行制御
回路50より主記憶に対しミスリクエストを送出する
(S7、S8)。
【0024】しかし、先行ミスリクエストとインデック
スアドレスが一致していたときは(S4でYES)、プ
ロセッサコアに対して結線106を通じて発行リトライ
要求を出すことにより(S6)、今回のロードリクエス
トを先行ロードリクエスト(ミスリクエスト)のデータ
がキャッシュ登録されてから再発行するように指示す
る。図4はこの場面の動作説明図であり、ロードリクエ
ストのアドレスを基にキャッシュブロック10内のアド
レスアレイ12をアクセスしてヒット/ミスの判定を行
ったところ((1))、ミスであった為にミス信号が発行チ
ェックブロック20に出され((2))、また、アドレスチ
ェック回路40からは先行ミスリクエストと後続ロード
リクエストのインデックスアドレスが一致していること
が結線105を通じて発行チェックブロック20に出さ
れている((3))。このため、発行チェックブロック20
は、プロセッサコアに対して発行リトライ要求を送出し
ている((4))。
【0025】ここで、後続のロードリクエストがミスヒ
ットで且つ先行ロードリクエストと同一インデックスア
ドレスの場合に発行リトライ要求を出す理由は、本実施
例は1WAYセットアソシアティブ構成のキャッシュな
ので、以下の点を考慮したことによる。 (a)先行のロードリクエストと後続のロードリクエス
トが、同じインデックスアドレスでミスしたということ
は、キャッシュ上の同じエントリに書き込むことにな
り、若し、後続リクエストに対しても主記憶にミスリク
エストを出す構成にすれば、先行リクエストと後続リク
エストのデータの戻ってくるタイミングが同じであれ
ば、そのエントリに同時に異なるアドレスのデータが返
ってくるため、それを整理するには回路が非常に複雑に
なること。 (b)同じインデックスアドレスの場合、タグアドレス
が同じであれば、同じキャッシュライン(ブロック)と
なる。この場合、先行のリクエストにより主記憶からデ
ータを取ってくれば、後続のリクエストは、そのデータ
がキャッシュに登録されるまで待っていれば、キャッシ
ュからデータを取り出すことができ、わざわざ主記憶に
リクエストを出す必要が無く、効率的であること。
【0026】但し、2WAYセットアソシアティブ構成
以上のキャッシュの場合は、後続ロードリクエストがミ
スで且つ先行ロードリクエストとインデックスアドレス
とタグアドレスが同一である場合のみ発行リトライ要求
をプロセッサコアに出し、インデックスアドレスのみ一
致した場合は、そのまま後続ロードリクエストを空きの
リクエストバッファ回路30に登録して主記憶に対して
ミスリクエストを送出する。インデックスアドレス及び
タグアドレスが同一の場合に発行リトライ要求を出す理
由は、1WAY構成において発行リトライを出す理由
(b)と同じである。また、インデックスアドレスのみ
一致した場合、つまり、タグアドレスが相違した場合に
ミスリクエストを送出するのは、nWAY(n>2)構
成の場合、1つのインデックスアドレスに対してn個の
エントリがあるので、先行リクエストと同じインデック
スアドレスであったとしても、後続のリクエストは先行
と異なるエントリに登録すれば良いためである。但し、
同じインデックスアドレスに対してn+1以上のミスリ
クエストを送出すると、同一エントリに2つ以上の異な
ったアドレスのデータが登録されるような状態になって
制御が非常に面倒になるので、その場合には発行リトラ
イを出すようにする。
【0027】さて、主記憶に対して送出したミスリクエ
ストに応答して、主記憶からデータが戻ってくると、キ
ャッシュ更新の処理が開始される(S10)。図5はこ
の場面の動作説明図である。
【0028】先ず、主記憶から結線107を通じてキャ
ッシュ上の書き込みアドレス指示等を行うメモリデータ
制御信号が送られてくると、それがキャッシュブロック
10、発行チェックブロック20及びリクエストバッフ
ァ回路30に伝達される((1))。発行チェックブロック
20は、メモリデータ制御信号を受けることにより、プ
ロセッサコアに対してキャッシュの使用を禁止するため
に結線106を通じて後続命令発行抑止指示を送出する
(S11)((2)) 。また、リクエストバッファ回路30
は、メモリデータ制御信号を受けることにより、当該メ
モリデータ制御信号のアドレス中のタグアドレス及びイ
ンデックスアドレスと同じタグアドレス及びインデック
スアドレスを持つミスリクエスト情報を結線109を通
じてキャッシュブロック10へ送出する((3)) 。キャッ
シュブロック10は、メモリデータ制御信号を受けるこ
とにより、データの書き込みが開始されたことを認識
し、発行チェックブロック20から後続命令発行抑止指
示が出された後のタイミングで、リクエストバッファ回
路30から結線109に出力されたミスリクエスト情報
中のタグアドレスを、同じくリクエストバッファ回路3
0から結線109に出力されたインデックスアドレスで
示されるアドレスアレイ12のエントリに書き込むこと
により、アドレスアレイ12を更新する(S12)
((4)) 。このように本発明においては、ミスリクエスト
に対する応答データの受信を契機にアドレスアレイ12
を更新する。
【0029】一方、メモリデータ制御信号の後に(また
は同じタイミングで)入力された主記憶データは、結線
108を通じてキャッシュブロック10に入力される
((5))。キャッシュブロック10は、この入力された主
記憶データを、結線109に出力されているミスリクエ
スト情報中のインデックスアドレスで示されるデータア
レイ11のエントリに書き込むことにより、データアレ
イ11を更新する(S13)((6)) 。同時に、キャッシ
ュブロック10は、データアレイ11へ書き込む主記憶
データのブロック内のアドレスを常時チェックし、結線
109を通じてリクエストバッファ回路30から伝達さ
れたミスリクエスト情報中のブロックアドレスと同じア
ドレスのデータが入ってきた時点で、そのデータ(8バ
イト)を抜き出し、結線110を通じてリプライデータ
としてプロセッサコアへ返却する(S14)((7)) 。リ
プライデータにはミスリクエスト情報中のリクエストI
Dを付随させ、どのロードリクエストに対するリプライ
データであるかがプロセッサコアで判別できるようにす
る。そして、このようなキャッシュ更新が終了すると、
発行チェックブロック20は、プロセッサコアに対して
結線106を通じて出していた後続命令発行抑止指示信
号を解除する(S15)((8)) 。最後に発行チェックブ
ロック20は、今回処理したミスリクエストの情報をリ
クエストバッファ回路30から消去し(S16)((9))
、当該ミスリクエストにかかる動作を終了する。
【0030】次に、プロセッサコアから発行されたロー
ドリクエストがキャッシュヒットした場合の動作を説明
する。図6の動作説明図に示されるように、ヒット/ミ
スの判定を行い((1)) 、キャッシュヒットした場合(S
2でYES)、ヒットしたキャッシュデータがデータア
レイ11から読み出され(S20)、結線110を通じ
てリトライデータとしてプロセッサコアへ返却される
(S21)((2)) 。
【0031】更にこのとき、先行ミスリクエストが存在
し、そのミスリクエストに対してインデックスアドレス
一致が発生した場合、図7の動作説明図に示されるよう
に、キャッシュブロック10から発行チェックブロック
20へヒット信号が送出される((3))。このため、発行
チェックブロック20は、たとえ、今回のロードリクエ
ストのインデックスアドレスとリクエストバッファ回路
30に登録されている先行ミスリクエストのインデック
スアドレスとが一致していることがアドレスチェック回
路40で検出されていたとしても((4)) 、プロセッサコ
アへ発行リトライ要求を出さない。これにより有効デー
タであることが保証される((5)) 。つまり、発行リトラ
イ要求が出ないことから、プロセッサコアは結線110
を通じて返却されたデータが有効であることを認識し
て、そのデータを使用する。
【0032】以上説明したように本実施例のキャッシュ
メモリ装置によれば、アドレスアレイの更新をミスリク
エストの発行を契機に開始するのではなく、そのミスリ
クエストに対して主記憶から応答データを受信したこと
を契機に開始することにより、アドレスアレイの更新時
期をわざと遅らせている。これによって、更新する予定
のエントリに入っている古いキャッシュデータが極力長
く利用できるようになり、キャッシュの効率的な使用が
可能となる。一例として、図8に従来技術と本実施例と
の処理速度の違いを示す。この例では、同じインデック
スアドレスで異なるキャッシュラインのリクエストが交
互に来た場合の動作を示している。即ち、ロードリクエ
ストLD0、LD2、LD4は同じタグアドレス及びイ
ンデックスアドレスの同じブロック内(キャッシュライ
ンA)をアクセスし、ロードリクエストLD1、LD
3、LD5は同じタグアドレス及びインデックスアドレ
スの同じブロック内(キャッシュラインB)をアクセス
し、キャッシュラインAとキャッシュラインBは同一イ
ンデックスであるが、異なるキャッシュラインである。
つまり、ロードリクエストLD0、LD2、LD3とロ
ードリクエストLD1、LD3、LD5は同じインデッ
クスアドレスであるが、異なるタグアドレスを持つ。ま
た、最初にキャッシュラインAに対応するキャッシュデ
ータは登録されているものとしている。
【0033】図8から明らかなように、(b)の従来技
術では、ロードリクエストLD0がヒットした後、後続
の同一インデックスアドレスのロードリクエストLD1
は異なるキャッシュラインであるため、ミスとなり、ミ
スリクエストとして発行される。次のロードリクエスト
LD2はロードリクエストLD0と同じキャッシュライ
ンであるが、既にロードリクエストLD1によりアドレ
スアレイが更新されているため、発行リトライ待ちとな
る(1WAY構成であるため、同一インデックスアドレ
スのリクエストは発行できない)。この後ロードリクエ
ストLD1のデータがキャッシュに登録されて、リトラ
イ要求が解除され、ロードリクエストLD2が発行され
てもロードリクエストLD1がすでに登録されているた
めミスリクエストとなり、さらに主記憶へのデータ要求
及び取り込みのための時間がかかってしまう。このよう
に同一インデックスアドレスが続くと、ミス及びリトラ
イが多くなり、非常にキャッシュの使用効率が落ちる。
【0034】一方、(a)の本実施例のキャッシュメモ
リ装置では、ロードリクエストLD1は従来技術と同様
にミスとなるが、ロードリクエストLD2に関しては、
まだロードリクエストLD0と同じキャッシュデータを
使用できるため、ヒットとなる。次のロードリクエスト
LD3は、ロードリクエストLD1が既に発行されてい
るため発行リトライ待ちとなる。次のロードリクエスト
LD4はロードリクエストLD2と同じで更新前のキャ
ッシュデータにヒットしてデータを取り込み、ロードリ
クエストLD5はロードリクエストLD3と同じで発行
リトライ待ちとなり、ロードリクエストLD2のデータ
が登録された時点でキャッシュにアクセス可能となって
ヒットでデータを取り込む。この結果、本実施例の場
合、同一インデックスアドレスで、異なるキャッシュラ
インのリクエストが交互に続く場合、かなりの性能向上
が図れる。
【0035】次に本実施例におけるストアリクエストに
対するキャッシュ動作について説明する。本実施例のキ
ャッシュメモリ装置は、キャッシュに対する全ての書き
込み操作は、その都度、主記憶上の対応するアドレスに
対しても行うライトスルー(write-through) 方式を採
用する。その処理の概略を図9に示す。
【0036】プロセッサコアからのストアリクエストが
リクエストレジスタ60に保持されると、その内容(ス
トアアドレス等)が結線101を通じてキャッシュブロ
ック10及び発行チェックブロック20に伝達され、ス
トアリクエストのアドレス中のインデックスアドレスに
よりアドレスアレイ12の該当エントリがアクセスされ
(S21)、そのエントリに記憶されているタグアドレ
スとストアリクエストのアドレス中のタグアドレスとの
比較および有効性指示ビットの検査により、キャッシュ
ヒットか否かの判定が行われる(S22)。この判定の
結果、ヒットした場合には、結線111を通じてプロセ
ッサコアから入力されるストアデータによって、ヒット
したデータアレイ11のエントリにおけるストアアドレ
スで示されるバイト位置が更新される(S23)。ま
た、ヒット、ミスに関係なく、キャッシュブロック10
はプロセッサコアからのストアデータを結線112を通
じて主記憶に送出し、発行チェックブロック20は、発
行制御回路50より主記憶へストアリクエストを送出す
る(S24)。
【0037】本実施例のキャッシュメモリ装置では前述
したように、アドレスアレイの更新を従来より遅延さ
せ、ミスリクエストによって更新する予定のエントリに
入っているキャッシュデータをできるだけ長く利用可能
としている。このため、ロードリクエストの場合と同様
にストアリクエストの場合のヒット率も向上する。つま
り、ミスリクエストによって更新する予定のエントリに
入っているキャッシュデータに対するストアリクエスト
はヒットし、キャッシュ上で更新される。このため、そ
の直後に当該エントリに入っているキャッシュデータに
対するロードリクエストが発行された場合にヒットし、
更なるヒット率の向上が可能となる。
【0038】次に、本実施例のキャッシュメモリ装置に
おける主要な部分の具体例を説明する。
【0039】図10はキャッシュブロック10の構成例
を示すブロック図である。制御部15はキャッシュブロ
ック10の主たる制御を司る部分で、通常はセレクタ1
6をリクエストレジスタ60につながる結線101側に
切り替え、セレクタ18をストアデータを伝達する結線
111側に切り替え、セレクタ1Aをセレクタ16から
出力されるアドレス中のブロックアドレスを選択する側
に切り替えている。結線101を通じてリクエストレジ
スタ60の内容が伝達されると、制御部15はリクエス
ト種別を判別し、ロードリクエスト、ストアリクエスト
の種別に応じて制御を切りわける。
【0040】ロードリクエストの場合、ロードリクエス
トで指示された主記憶アドレス中のインデックスアドレ
スによりアドレスアレイ12の該当エントリがアクセス
され、ヒット判定回路14により、そのエントリに記憶
されているタグアドレスとロードリクエスト中のタグア
ドレスとの比較および有効性指示ビットの検査が行わ
れ、ヒットであればヒット信号が、ミスであればミス信
号がヒット判定回路14から出力される。ヒット/ミス
信号は結線102を通じて発行チェックブロック20に
伝達されると同時に、キャッシュブロック10内の制御
部15及びデータアレイ11へも伝えられる。キャッシ
ュヒットした場合、ヒット判定回路14からデータアレ
イ11へ加わるヒット信号は読み出しイネーブル信号と
なり、ロードリクエストのインデックスアドレスで特定
されるデータアレイ11のエントリ中の、ロードリクエ
ストのブロックアドレスで特定される8バイトのデータ
がデータアレイ11から読み出され、マルチプレクサ1
9を通じて結線110により、ストアリクエスト中のリ
クエストIDを付随させてプロセッサコアに送られる。
他方、キャッシュミスした場合は、読み出しイネーブル
信号が有効とならないので、キャッシュデータの読み出
しは行われない。
【0041】他方、ストアリクエストの場合、ロードリ
クエストの場合と同様にヒット判定回路14でヒット、
ミスの判定が行われ、ヒットしていれば、制御部15が
書き込みイネーブル信号をデータアレイ11へ出力す
る。これにより、結線111及びセレクタ18を通じて
プロセッサコアから送られてくるストアデータが、スト
アリクエストのインデックスアドレス及びブロックアド
レスで特定されるデータアレイ11のエントリの該当バ
イト位置に書き込まれる。他方、キャッシュミスした場
合は、書き込みイネーブル信号が有効とならないので、
データアレイ11への書き込みは行われない。キャッシ
ュヒット、ミスにかかわらず、結線111上のストアデ
ータは結線112を通じて主記憶へ送られる。
【0042】結線107を通じてミスリクエストにかか
る応答データとして主記憶からメモリデータ制御信号を
受信すると、制御部15は、当該ミスリクエストにかか
る処理が完了するまで、セレクタ16をリクエストバッ
ファ回路30につながる結線109側に切り替え、セレ
クタ18を主記憶からのメモリデータを伝達する結線1
08側に切り替え、セレクタ1Aを自身が出力するブロ
ックアドレスを選択する側に切り替える。また、リプラ
イデータ抽出部17を起動する。そして、アドレスアレ
イ12に対して書き込みイネーブル信号を送出すること
により、セレクタ16で選択されたタグアドレス(リク
エストバッファ回路30から結線109を通じて送られ
てくるミスリクエストにかかるアドレスのタグアドレ
ス)を、同インデックスで特定されるエントリに書き込
むことで、アドレスアレイ12を更新する。有効性指示
ビットは既に有効であればそのままとし、無効であれば
有効にするが、具体的には有効無効の判断を省略し、ア
ドレスアレイ12にインデックスアドレスを書き込むと
きに常に有効化する操作を行う。
【0043】また制御部15は、結線107に現れるブ
ロックアドレスを順次にセレクタ1Aを介してデータア
レイ11へ加えると共に、データアレイ11の書き込み
イネーブル信号を有効にすることによって、結線108
及びセレクタ18を通じて主記憶から送られてくるブロ
ックデータを、リクエストバッファ回路30から結線1
09及びセレクタ16を通じて送られてくるインデック
スアドレスと、自身が順に出力しているブロックアドレ
スとで特定されるデータアレイ11のエントリのバイト
位置に書き込むことで、データアレイ11を更新する。
更に、リプライデータ抽出部17は、結線107上に現
れるブロックアドレスを監視し、結線101を通じてリ
クエストバッファ回路30から送られているミスリクエ
ストにかかるアドレスのブロックアドレスと同じアドレ
スが結線107に現れた時点で、結線108上のターゲ
ットデータ(キャッシュミスしていたデータ)を抽出
し、リクエストIDを付随させてマルチプレクサ19及
び結線110を通じてプロセッサコアに送出する。
【0044】なお、2WAYセットアソシアティブ構成
以上のキャッシュでは、1つのインデックスアドレスに
対するエントリが2以上あるので、更新するエントリは
LRU方式やFIFO方式などで決定される。この更新
するエントリの決定は、ミスリクエストにかかる応答デ
ータを受信したことを契機に行っても良く、更新エント
リの決定処理だけはミスリクエストの発行を契機に行っ
ておき、応答データの受信を契機に実施するアドレスア
レイの更新時期まで一時的に保存しておくようにしても
良い。
【0045】図11はリクエストバッファ回路30及び
アドレスチェック回路40の構成例を示すブロック図で
あり、ミスリクエストの同時送出個数の最大値が3の場
合の例を示す。リクエストバッファ回路30中に設けら
れた3個のバッファ31−1〜31−3は、結線113
を通じて発行チェックブロック20から送られてくるそ
れぞれ1個分のミスリクエストの情報を保持する。各バ
ッファ31−1〜31−3に保持された内容は選択回路
32へ出力され、インデックスアドレス部分は更にアド
レスチェック回路40へも出力される。選択回路32
は、結線107を通じて与えられるメモリデータ制御信
号中のタグアドレス及びインデックスアドレスを入力
し、同じタグアドレス及びインデックスアドレスを保持
するバッファ31−1〜31−3の出力を選択して、結
線109を通じてキャッシュブロック10へ出力する。
【0046】アドレスチェック回路40は、リクエスト
バッファ回路30の各バッファ31−1〜31−3に1
対1に対応する比較器41−1〜41−3から構成され
る。各比較器41−1〜41−1は、対応するバッファ
31−1〜31−3から出力されているインデックスア
ドレスと結線101を通じて入力されるリクエストレジ
スタ60中のインデックスアドレスとを比較し、一致し
ていれば一致信号を結線105を通じて発行チェックブ
ロック20へ出力する。
【0047】図12に発行チェックブロック20の構成
例を示す。この例の発行チェックブロック20は、制御
部21とバッファ管理部22と発行抑止制御部23とを
含んでいる。バッファ管理部22は、結線113を通じ
てリクエストバッファ回路30と接続されており、リク
エストバッファ回路30内の個々のバッファ(図11の
バッファ31−1〜31−3)の使用状態を管理し、ま
た各バッファへのミスリクエスト情報の登録処理や削除
処理を行う。発行抑止制御部23は、結線101を通じ
て入力されるリクエストレジスタ60の内容を結線10
3を介して発行制御回路50へ伝達する部分で、伝達す
るか否かは制御部21からの指示に従う。制御部21
は、結線101を通じてリクエストレジスタ60の内容
を、結線102を通じてキャッシュブロック10のヒッ
ト/ミス信号を、結線105を通じてアドレスチェック
回路40からのチェック信号を、結線107を通じて主
記憶からのメモリデータ制御信号をそれぞれ入力し、バ
ッファ管理部22及び発行抑止制御部23を制御すると
共に、結線106を通じてプロセッサコアに対して発行
リクエスト要求や後続命令発行抑止要求などを送出す
る。
【0048】図13は制御部21の処理例を示すフロー
チャートである。制御部21は、結線101上にリクエ
ストが発生したか否か、結線107上にメモリデータ制
御信号が発生したか否かを監視する(S31、S3
2)。
【0049】結線101上にリクエストが発生した場合
(S31でYES)、その種別を判別し(S33)、ロ
ードリクエストであれば、キャッシュブロック10から
結線102を通じて送られてくるヒット/ミス信号を監
視し(S34)、ヒットであれば(S34でNO)、ス
テップS31へ制御を戻す。
【0050】キャッシュミスであれば(S34でYE
S)、バッファ管理部22で管理されているリクエスト
バッファ回路30の各バッファの使用状況を参照して全
て空きか否か(つまり先行ミスリクエストが1つも無い
か否か)を判別し(S35)、全て空きでなければ(S
35でNO)、結線105を通じてアドレスチェック回
路40からインデックスアドレスの一致信号が送られて
いるか否かを調べる(S36)。そして、一致信号が出
ているか(S36でYES)、出ていなくても空きバッ
ファがリクエストバッファ回路30に存在しない場合に
は(S37でYES)、発行抑止制御部23に対してリ
クエストの発行の抑止を指示し(S38)、結線106
を通じてプロセッサコアに発行リトライ要求を出力し
(S39)、ステップS31へ制御を戻す。発行抑止制
御部23は、リクエストの発行の抑止が指示されたた
め、結線101上のロードリクエストの内容を発行制御
回路50へは伝達しない。
【0051】リクエストバッファ回路30の全バッファ
が空きか(S35でYES)、そうでなくてもインデッ
クスアドレスの一致が検出されず且つ空きバッファが有
る場合には(S37でNO)、今回のロードリクエスト
の内容をバッファ管理部22に渡してミスリクエスト情
報の登録を要求し(S40)、発行抑止制御部23に対
してはリクエストの発行を指示する(S41)。そし
て、ステップS31へ制御を戻す。バッファ管理部22
は、リクエストバッファ回路30の空きのバッファを1
つ選択し、そのバッファにミスリクエスト情報を書き込
み、そのバッファを使用中として管理する。また、発行
抑止制御部23は、結線103を通じて発行制御回路5
0へロードリクエストの内容を伝える。これにより、発
行制御回路50から主記憶に対してミスリクエストが発
行される。
【0052】発生したリクエストがストアリクエストの
場合(S33)、発行抑止制御部23に対してリクエス
トの発行を指示し(S41)、制御をステップS31へ
戻す。発行抑止制御部23は、結線103を通じて発行
制御回路50へストアリクエストの内容を伝える。これ
により、発行制御回路50から主記憶に対してストアリ
クエストが発行される。
【0053】他方、結線107上にメモリデータ制御信
号が発生した場合(S32でYES)、結線106を通
じてプロセッサコアに対して後続命令発行抑止要求を出
力し(S42)、キャッシュブロック10におけるデー
タアレイ11の更新が終了したタイミングで、結線10
6に出していた後続命令発行抑止要求を解除する(S4
3)。次に、メモリデータ制御信号のアドレス中のタグ
アドレス及びインデックスアドレスをバッファ管理部2
2に通知して該当するバッファ中のミスリクエスト情報
の削除を要求する(S44)。そして、ステップS31
へ制御を戻す。バッファ管理部22は、通知されたタグ
アドレス及びインデックスアドレスを含むアドレスが登
録されているリクエストバッファ回路30中のバッファ
の内容をクリアすることによりミスリクエスト情報を削
除し、そのバッファの使用状態を空き状態に戻す。
【0054】以上本発明について実施例を挙げて説明し
たが、本発明は以上の実施例にのみ限定されずその他各
種の付加変更が可能である。また、前述した実施例にお
ける処理は、図示しない機械読み取り可能な記録媒体に
予め制御プログラムとして格納し、このプログラムをコ
ンピュータに読み取らせることにより実行制御するよう
にできることは勿論のことである。
【0055】
【発明の効果】以上説明したように本発明によれば、キ
ャッシュミスによるデータ読み出しのリクエストを主記
憶に出しながらも後続命令の処理が継続できるというノ
ンブロッキング方式のキャッシュの特徴を十分に活用で
き、キャッシュの性能を向上することができる。
【図面の簡単な説明】
【図1】本発明を適用したノンブロッキング方式のキャ
ッシュメモリ装置の一例を示すブロック図である。
【図2】本発明の一実施例のキャッシュメモリ装置にお
けるロードリクエスト時のキャッシュ動作の概略を示す
フローチャートである。
【図3】本発明の一実施例のキャッシュメモリ装置にお
いてキャッシュミス時に主記憶へミスリクエストを送出
する場面の動作説明図である。
【図4】本発明の一実施例のキャッシュメモリ装置にお
いてキャッシュミス時にプロセッサコアへ発行リトライ
要求を送出する場面の動作説明図である。
【図5】本発明の一実施例のキャッシュメモリ装置にお
いてミスリクエストに対する応答データを主記憶から受
信した場面の動作説明図である。
【図6】本発明の一実施例のキャッシュメモリ装置にお
いてキャッシュヒット時の動作説明図である。
【図7】本発明の一実施例のキャッシュメモリ装置にお
いてキャッシュヒット時の動作説明図である。
【図8】従来技術と本発明の実施例のキャッシュメモリ
装置の処理速度の違いを示すタイミングチャートであ
る。
【図9】本発明の一実施例のキャッシュメモリ装置にお
けるストアリクエスト時のキャッシュ動作の概略を示す
フローチャートである。
【図10】キャッシュブロックの構成例を示すブロック
図である。
【図11】リクエストバッファ回路及びアドレスチェッ
ク回路の構成例を示すブロック図である。
【図12】発行チェックブロックの構成例を示すブロッ
ク図である。
【図13】発行チェックブロック内の制御部の処理例を
示すフローチャートである。
【図14】1WAYセットアソシアティブ方式のキャッ
シュの概要を示すブロック図である。
【符号の説明】
10…キャッシュブロック 11…データアレイ 12…アドレスアレイ 20…発行チェックブロック 30…リクエストバッファ回路 40…アドレスチェック回路 50…発行制御回路 60…リクエストレジスタ

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 キャッシュミスによるデータ読み出しの
    リクエストを主記憶に出しながらも後続命令の処理が継
    続できるノンブロッキング方式のキャッシュにおいて、
    前記リクエストに対して主記憶から応答データを受信し
    たことを契機に、キャッシュに格納されているデータブ
    ロックのアドレスを格納するアドレスアレイ及び前記デ
    ータブロックを格納するデータアレイを更新するキャッ
    シュ更新方法。
  2. 【請求項2】 前記応答データを受信した時点からキャ
    ッシュの更新処理が完了するまでプロセッサコアからの
    後続命令の発行を抑止する請求項1記載のキャッシュ更
    新方法。
  3. 【請求項3】 キャッシュミスによるデータ読み出しの
    リクエストを主記憶に出しながらも後続命令の処理が継
    続できるノンブロッキング方式のキャッシュにおいて、
    前記リクエストに対して主記憶から応答データを受信し
    たことを契機に、キャッシュに格納されているデータブ
    ロックのアドレスを格納するアドレスアレイ及び前記デ
    ータブロックを格納するデータアレイを更新する手段を
    備えたキャッシュ更新制御システム。
  4. 【請求項4】 前記応答データを受信した時点からキャ
    ッシュの更新処理が完了するまでプロセッサコアからの
    後続命令の発行を抑止する手段を備えた請求項3記載の
    キャッシュ更新制御システム。
  5. 【請求項5】 キャッシュに格納されているデータブロ
    ックのアドレスを格納するアドレスアレイと、前記デー
    タブロックを格納するデータアレイと、キャッシュミス
    によるデータ読み出しのリクエストの情報を少なくとも
    1つ以上格納するリクエストバッファ回路とを含み、キ
    ャッシュミスによるデータ読み出しのリクエストを主記
    憶に出しながらも後続命令の処理が継続できるノンブロ
    ッキング方式のキャッシュにおいて、前記リクエストに
    対して主記憶から応答データを受信したことを契機に前
    記アドレスアレイ及び前記データアレイを更新する手段
    と、前記応答データを受信した時点からキャッシュの更
    新処理が完了するまでプロセッサコアからの後続命令の
    発行を抑止する手段とを備えたキャッシュ更新制御シス
    テム。
  6. 【請求項6】 キャッシュミスによるデータ読み出しの
    リクエストを主記憶に出しながらも後続命令の処理が継
    続できるノンブロッキング方式のキャッシュの更新を制
    御するプログラムを記録した記録媒体であって、前記プ
    ログラムは、前記リクエストに対して主記憶から応答デ
    ータを受信したことを検出するステップと、該応答デー
    タの受信を契機に、キャッシュに格納されているデータ
    ブロックのアドレスを格納するアドレスアレイ及び前記
    データブロックを格納するデータアレイを更新するステ
    ップとを含む記録媒体。
  7. 【請求項7】 前記プログラムは更に、前記応答データ
    を受信した時点からキャッシュの更新処理が完了するま
    でプロセッサコアからの後続命令の発行を抑止するステ
    ップを含む請求項6記載の記録媒体。
JP2000272859A 2000-09-08 2000-09-08 キャッシュ更新方法及びキャッシュ更新制御システム並びに記録媒体 Pending JP2002082832A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2000272859A JP2002082832A (ja) 2000-09-08 2000-09-08 キャッシュ更新方法及びキャッシュ更新制御システム並びに記録媒体
EP01121260A EP1187025A3 (en) 2000-09-08 2001-09-05 Cache update method and cache update control system employing non-blocking type cache
US09/945,632 US6647463B2 (en) 2000-09-08 2001-09-05 Cache update method and cache update control system employing non-blocking type cache
CA002357085A CA2357085C (en) 2000-09-08 2001-09-06 Cache update method and cache update control system employing non-blocking type cache

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000272859A JP2002082832A (ja) 2000-09-08 2000-09-08 キャッシュ更新方法及びキャッシュ更新制御システム並びに記録媒体

Publications (1)

Publication Number Publication Date
JP2002082832A true JP2002082832A (ja) 2002-03-22

Family

ID=18758910

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000272859A Pending JP2002082832A (ja) 2000-09-08 2000-09-08 キャッシュ更新方法及びキャッシュ更新制御システム並びに記録媒体

Country Status (4)

Country Link
US (1) US6647463B2 (ja)
EP (1) EP1187025A3 (ja)
JP (1) JP2002082832A (ja)
CA (1) CA2357085C (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007088591A1 (ja) * 2006-01-31 2007-08-09 Fujitsu Limited メモリアクセス制御装置およびメモリアクセス制御方法
JP2007286990A (ja) * 2006-04-19 2007-11-01 Nec Corp キャッシュメモリ装置及びそれに用いるキャッシュメモリ制御方法並びにそのプログラム
WO2010087310A1 (ja) * 2009-01-28 2010-08-05 日本電気株式会社 キャッシュメモリおよびその制御方法
WO2010098152A1 (ja) * 2009-02-27 2010-09-02 日本電気株式会社 キャッシュメモリシステムおよびキャッシュメモリ制御方法
JP2018055568A (ja) * 2016-09-30 2018-04-05 富士通株式会社 演算処理装置、情報処理装置及び演算処理装置の制御方法
JP2019053390A (ja) * 2017-09-13 2019-04-04 富士通株式会社 演算処理装置及び演算処理装置の制御方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100395758B1 (ko) * 2001-06-21 2003-08-21 삼성전자주식회사 새로운 블럭 교체 스킴을 채용한 캐쉬 메모리
EP1421490B1 (en) * 2001-08-29 2006-04-12 Analog Devices, Inc. Methods and apparatus for improving throughput of cache-based embedded processors by switching tasks in response to a cache miss
US6933945B2 (en) * 2003-03-31 2005-08-23 Sun Microsystems, Inc. Design for a non-blocking cache for texture mapping
US7194576B1 (en) * 2003-07-31 2007-03-20 Western Digital Technologies, Inc. Fetch operations in a disk drive control system
US8144586B2 (en) * 2006-08-22 2012-03-27 Embarq Holdings Company, Llc System and method for controlling network bandwidth with a connection admission control engine
US7615857B1 (en) * 2007-02-14 2009-11-10 Hewlett-Packard Development Company, L.P. Modular three-dimensional chip multiprocessor
EP3141219A1 (en) 2008-04-23 2017-03-15 Medtronic, Inc. Stented heart valve devices
JP5321203B2 (ja) * 2009-03-31 2013-10-23 富士通株式会社 システム制御装置、情報処理システムおよびアクセス処理方法
US8904153B2 (en) * 2010-09-07 2014-12-02 International Business Machines Corporation Vector loads with multiple vector elements from a same cache line in a scattered load operation
US8850123B2 (en) * 2010-10-19 2014-09-30 Avago Technologies General Ip (Singapore) Pte. Ltd. Cache prefetch learning
US9715461B2 (en) 2014-03-03 2017-07-25 Kabushiki Kaisha Toshiba Cache memory control circuit and processor
US10817296B2 (en) 2017-04-21 2020-10-27 Intel Corporation Message based general register file assembly
CN116700621A (zh) * 2019-01-30 2023-09-05 瑞昱半导体股份有限公司 快取存储器及快取存储器的管理方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63234336A (ja) 1987-03-24 1988-09-29 Nec Corp 情報処理装置
JPH0769862A (ja) 1993-09-01 1995-03-14 Kao Corp 入浴剤組成物
US5555392A (en) * 1993-10-01 1996-09-10 Intel Corporation Method and apparatus for a line based non-blocking data cache
US5826109A (en) * 1994-01-04 1998-10-20 Intel Corporation Method and apparatus for performing multiple load operations to the same memory location in a computer system
JPH07219845A (ja) 1994-01-28 1995-08-18 Kofu Nippon Denki Kk キャッシュメモリ制御方式
US5680572A (en) * 1994-02-28 1997-10-21 Intel Corporation Cache memory system having data and tag arrays and multi-purpose buffer assembly with multiple line buffers
US5623628A (en) * 1994-03-02 1997-04-22 Intel Corporation Computer system and method for maintaining memory consistency in a pipelined, non-blocking caching bus request queue
JPH0855061A (ja) 1994-08-16 1996-02-27 Oki Electric Ind Co Ltd キャッシュメモリ制御装置
US6148372A (en) * 1998-01-21 2000-11-14 Sun Microsystems, Inc. Apparatus and method for detection and recovery from structural stalls in a multi-level non-blocking cache system
US6226713B1 (en) * 1998-01-21 2001-05-01 Sun Microsystems, Inc. Apparatus and method for queueing structures in a multi-level non-blocking cache subsystem
US6249851B1 (en) * 1998-08-25 2001-06-19 Stmicroelectronics, Inc. Computer system having non-blocking cache and pipelined bus interface unit
JP3221409B2 (ja) 1998-09-16 2001-10-22 日本電気株式会社 キャッシュ制御システム及びその読出し方法並びにその制御プログラムを記録した記録媒体

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007088591A1 (ja) * 2006-01-31 2007-08-09 Fujitsu Limited メモリアクセス制御装置およびメモリアクセス制御方法
KR100987996B1 (ko) * 2006-01-31 2010-10-18 후지쯔 가부시끼가이샤 메모리 액세스 제어 장치 및 메모리 액세스 제어 방법
JP2007286990A (ja) * 2006-04-19 2007-11-01 Nec Corp キャッシュメモリ装置及びそれに用いるキャッシュメモリ制御方法並びにそのプログラム
WO2010087310A1 (ja) * 2009-01-28 2010-08-05 日本電気株式会社 キャッシュメモリおよびその制御方法
JP5348146B2 (ja) * 2009-01-28 2013-11-20 日本電気株式会社 キャッシュメモリおよびその制御方法
US9053030B2 (en) 2009-01-28 2015-06-09 Nec Corporation Cache memory and control method thereof with cache hit rate
WO2010098152A1 (ja) * 2009-02-27 2010-09-02 日本電気株式会社 キャッシュメモリシステムおよびキャッシュメモリ制御方法
JP2018055568A (ja) * 2016-09-30 2018-04-05 富士通株式会社 演算処理装置、情報処理装置及び演算処理装置の制御方法
JP2019053390A (ja) * 2017-09-13 2019-04-04 富士通株式会社 演算処理装置及び演算処理装置の制御方法

Also Published As

Publication number Publication date
US20020032841A1 (en) 2002-03-14
EP1187025A3 (en) 2003-01-15
CA2357085A1 (en) 2002-03-08
US6647463B2 (en) 2003-11-11
EP1187025A2 (en) 2002-03-13
CA2357085C (en) 2006-11-07

Similar Documents

Publication Publication Date Title
JP2002082832A (ja) キャッシュ更新方法及びキャッシュ更新制御システム並びに記録媒体
US8095732B2 (en) Apparatus, processor, cache memory and method of processing vector data
US5490261A (en) Interlock for controlling processor ownership of pipelined data for a store in cache
KR100310567B1 (ko) 공유메모리프로세싱시스템및그동작방법과,공유메모리프로세싱노드및그에대한캐시일관성제어기
EP0394620A2 (en) Data processing system with queue mechanism
JPH06318177A (ja) キャッシュ・ミス・ペナルティを減少させる方法、装置及びコンピュータ・システム
JP2002163151A (ja) データ処理装置及びデータ処理装置におけるロックダウン・コントローラ及びデータ値をロックする方法
KR102581572B1 (ko) 허브 디바이스 및 그의 작동방법
EP0438960B1 (en) Fast store-through cache memory
US20110022802A1 (en) Controlling data accesses to hierarchical data stores to retain access order
EP1622026B1 (en) Cache memory control unit and cache memory control method
JP4469911B2 (ja) リクエスト生成装置、リクエスト処理システム及び制御方法
JP3174211B2 (ja) バッファストレイジのムーブイン制御方法
JP4504134B2 (ja) システム制御装置、投機フェッチ方法および情報処理装置
US7543113B2 (en) Cache memory system and method capable of adaptively accommodating various memory line sizes
US6934810B1 (en) Delayed leaky write system and method for a cache memory
CN112286647A (zh) 屏障终止命令的完成的基于轮次的确定
KR100900012B1 (ko) 정보 처리 시스템, 정보 처리 기판, 및 캐시 태그 및스누프 태그의 갱신 방법
JPH0516061B2 (ja)
JP3241679B2 (ja) プロセッサからの大容量データ転送処理リクエストにおけるキャッシュ読み出し方法
JP4111645B2 (ja) キャッシュミスした後のメモリバスアクセス制御方式
JP3221409B2 (ja) キャッシュ制御システム及びその読出し方法並びにその制御プログラムを記録した記録媒体
CN101127012A (zh) 探测标记的控制装置
JPH10207773A (ja) バス接続装置
JP2023139733A (ja) スイッチ装置およびスイッチ装置の制御方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040607

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040615

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040809

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050805

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20051004