JP4575065B2 - キャッシュメモリ制御装置、キャッシュメモリ制御方法、中央処理装置、情報処理装置、中央制御方法 - Google Patents

キャッシュメモリ制御装置、キャッシュメモリ制御方法、中央処理装置、情報処理装置、中央制御方法 Download PDF

Info

Publication number
JP4575065B2
JP4575065B2 JP2004221156A JP2004221156A JP4575065B2 JP 4575065 B2 JP4575065 B2 JP 4575065B2 JP 2004221156 A JP2004221156 A JP 2004221156A JP 2004221156 A JP2004221156 A JP 2004221156A JP 4575065 B2 JP4575065 B2 JP 4575065B2
Authority
JP
Japan
Prior art keywords
cache
request
replacement
response
prefetch
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 - Fee Related
Application number
JP2004221156A
Other languages
English (en)
Other versions
JP2006040090A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2004221156A priority Critical patent/JP4575065B2/ja
Priority to US10/986,860 priority patent/US7552287B2/en
Priority to EP04257182A priority patent/EP1622026B1/en
Priority to EP08152649A priority patent/EP1942416B1/en
Priority to DE602004018913T priority patent/DE602004018913D1/de
Publication of JP2006040090A publication Critical patent/JP2006040090A/ja
Application granted granted Critical
Publication of JP4575065B2 publication Critical patent/JP4575065B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • 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
    • 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/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels

Landscapes

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

Description

本発明は、1次キャッシュと2次キャッシュを備えたキャッシュメモリ制御装置、キャッシュメモリ制御方法、中央処理装置、情報処理装置、中央制御方法に関するものである。
図6は、従来のマルチプロセッサシステムの構成の一例を示すブロック図である。従来のマルチプロセッサシステムは、メインメモリ1、SC(System Controller)2、少なくとも1つのCPU(中央処理装置:Central Processing Unit)103で構成される。SC2は、メインメモリ1、全てのCPU103と接続された主記憶制御装置である。CPU103の内部には、L1キャッシュ4、L2キャッシュ105、演算部6を備える。L1キャッシュ4はCPU103の1次キャッシュ、L2キャッシュ105はCPU103の2次キャッシュである。L1キャッシュ4は、命令キャッシュ用のI1キャッシュ11と、データ(オペランド)キャッシュのD1キャッシュ12で構成される。演算部6は、L1キャッシュ4のデータを用いて演算を行う。
CPUのメモリアクセスのレイテンシを隠蔽する方法として、プリフェッチが広く用いられている。これは、使われる可能性が高いと思われるメインメモリの領域をあらかじめムーブイン(メインメモリからキャッシュへデータを登録すること)しておくことにより、キャッシュミス率の低下を図るものである。
L2キャッシュ要求(L1キャッシュ4からL2キャッシュ105への要求)には、メインメモリ1からの通常の読み出しであるディマンドフェッチ要求と、投機的な読み出しであるプリフェッチ要求がある。ディマンドフェッチ要求は、L2キャッシュ105への登録と、要求元であるL1キャッシュ4への登録の両方を行う動作であるが、プリフェッチ要求は、L2キャッシュ105への登録は行うが、L1キャッシュ4への登録は行わない動作である。
次に、L2キャッシュ要求の種類について説明する。図7は、L2キャッシュ要求の一例を表す表である。ここで、I1キャッシュ11のキャッシュブロックは、V(Valid)とI(Invalid)の2状態をとるI1 TC(タイプコード)で管理される。D1キャッシュ12のキャッシュブロックは、M(Modified)、C(Clean)、I(Invalid)の3状態をとるD1 TC(タイプコード)で管理される。L2キャッシュ105のキャッシュブロックは、M(Modified)、O(Ownered)、E(Exclusive)、S(Shared)、I(Invalid)の5状態をとるL2 TC(タイプコード)で管理される。
まず、ディマンドフェッチ要求のためのL2キャッシュ要求IF-MI-SH、OP-MI-SH、OP-MI-CHについて説明する。
I1キャッシュ11は、命令フェッチミスを契機に、IF-MI-SH(共有型キャッシュブロックを要求するためのL2キャッシュ要求)を発行する。
D1キャッシュ12は、オペランドロードミスを契機に、OP-MI-SH(共有型キャッシュブロックを要求するためのL2キャッシュ要求)を発行する。また、D1キャッシュ12は、オペランドストアミスを契機に、OP-MI-CH(排他型キャッシュブロックを要求するためのL2キャッシュ要求)を発行する。また、D1キャッシュ12は、オペランドロードに関して、OP-MI-BL(キャッシュ登録を伴わないブロックロードと呼ばれるL2キャッシュ要求)を発行する。
また、L1キャッシュミス時のL2キャッシュヒット率の向上を図るために、上述したディマンドフェッチ要求のためのL2キャッシュ要求IF-MI-SH、OP-MI-SH、OP-MI-CHにそれぞれ対応する形で、プリフェッチ要求のためのL2キャッシュ要求IF-PF-SH、OP-PF-SH、OP-PF-EXがある。
プリフェッチ要求において、L1キャッシュ4は、発行した後は一切関与しない。また、L2キャッシュ105は、処理待ち要求が多い場合など、プリフェッチ処理が困難であるときには、プリフェッチ要求を捨ててしまっても構わないことになっている。
次に、L2キャッシュ105とSC2の間の動作について説明する。L2キャッシュ105は、L2キャッシュ要求についてキャッシュヒットであればデータをL1キャッシュ4へ応答する。また、キャッシュミスであればSC2に対してムーブイン要求P-Reqを発行し、その応答S-Replyとして受け取ったデータを、L1キャッシュ4へ応答するとともに、L2キャッシュ105にも登録する。
L2キャッシュ105からSC2へのP-ReqがP-RDSA(強い共有型)であれば、SC2からL2キャッシュ105へS-ReplyとしてS-RBS(共有型)が返される。また、P-ReqがP-RDS(共有型)であれば、S-ReplyとしてS-RBS(共有型)またはS-RBU(排他型)が返される。また、P-ReqがP-RDO(排他型)であれば、S-ReplyとしてS-RBU(排他型)が返される。
L2キャッシュ要求がOP-MI-CHである場合、応答のキャッシュブロックがcleanな(メモリに対する書き戻し義務のない)キャッシュブロックであっても、M型(Modified)で登録を行う。
また、L2キャッシュ要求OP-MI-BLがL2キャッシュミスとなった場合、L2キャッシュ105からSC2へP-RDD(他のキャッシュブロックの無効化や共有化を伴わない棄却型のリクエスト)が発行される。
次に、L2キャッシュ105の構成について説明する。図8は、従来のL2キャッシュの構成の一例を示すブロック図である。L2キャッシュ105は、L2キャッシュ制御部120とデータRAM29で構成される。L2キャッシュ制御部120は、MI-PORT21、PF-PORT22、その他のポート23,24、プライオリティ部25、処理パイプライン127、MIB(ムーブインバッファ)128で構成される。
L2キャッシュ105へのL2キャッシュ要求は、まず、L2キャッシュ要求に関連づけられたポート21,22,23,24で受け入れられる。プライオリティ部25は、ポート21,22,23,24で待機しているL2キャッシュ要求を取り出し、処理パイプライン127に投入する。処理パイプライン127は、タグ処理部26におけるタグの検索および更新、L2キャッシュ要求に対するL1キャッシュへの応答の発行、MIB128の確保などを行う。MIB128は、キャッシュミスしたデータをSC2から受け取るためのバッファであり、ムーブイン処理毎に確保される。
MIB128は、キャッシュミス時に確保され、タグ情報を保持し、対応するムーブイン処理の完了とともに解放される。タグ情報とは、ムーブイン要求元、ムーブイン要求アドレス、リプレース対象のライトバックアドレスなどの情報である。MIB128は、SC2からのムーブインデータ到着、およびムーブイン要求アドレスに対する処理の異常終了を、L1キャッシュ4に通知する手段を持つ。L1キャッシュ4への通知信号として、データ有効信号、エラー通知信号などがある。データRAM29は、SC2からのデータを格納する。L2キャッシュヒットによりSC2から得られるデータはL1キャッシュ4に送られ、L2キャッシュミスによりSC2から得られるデータはL1キャッシュ4に送られるとともにデータRAM29に登録される。
次に、通常のディマンドフェッチ処理の動作について説明する。図9は、通常のディマンドフェッチ要求に対するL2キャッシュの動作の一例を示すタイムチャートである。L1キャッシュ4から発行されたディマンドフェッチ要求は、MI-PORT21に格納され、プライオリティ部25で取り出されて処理パイプライン127に投入される。この場合、readフローでタグを検索した結果がキャッシュミスであるため、MIB128を確保し、SC2に対してムーブイン要求を発行する。SC2からのムーブインデータは、直ちにL1キャッシュ4へ送られるとともに、原則としてL2キャッシュ105へも登録される。
次に、通常のプリフェッチ処理の動作について説明する。図10は、通常のプリフェッチ要求に対するL2キャッシュの動作の一例を示すタイムチャートである。L1キャッシュ4から発行されたプリフェッチ要求は、PF-PORT22に格納され、プライオリティ部25で取り出されて処理パイプライン127に投入される。この場合、タグを検索した結果がキャッシュミスであるため、MIB128を確保し、SC2に対してムーブイン要求を発行する。SC2からのムーブインデータは、L2キャッシュ105のみに登録され、処理が終了する。
なお、本発明の関連ある従来技術として、例えば、下記に示す特許文献1が知られている。
特開平2−133842号公報 (第4−6頁、第2図)
上述した従来のL2キャッシュにおいては、SC2へのムーブイン要求を発行してから、SC2からの応答が到着するまでの間、同一アドレスに対するムーブイン要求を発行しないようにするために、処理パイプライン127に投入された要求と同一アドレスのムーブイン待ち状態のMIBがあるときには、処理パイプライン127に投入された要求の処理を中断させ、ポートで待機させる。
図11は、プリフェッチ要求の直後にディマンドフェッチ要求が発行された場合における従来のL2キャッシュの動作の一例を示すタイムチャートである。このプリフェッチ要求とディマンドフェッチ要求は、同一キャッシュブロック上のアドレスに対して行われている。先行のプリフェッチ要求はPF-PORT22から取り出され、処理パイプライン127に投入される。この場合、タグを検索した結果がキャッシュミスであるため、MIB128を確保しSC2へ要求を発行する。後続のディマンドフェッチ要求はMI-PORT21から取り出されるが、要求のアドレスが処理待ち状態であるため、処理が進まずMI-PORT21で待機することになる。先行のプリフェッチ要求に対する応答のムーブインデータが到着し、キャッシュブロックをタグに登録してMIB128の解放を行う。先行のプリフェッチ要求の処理が終了した後、後続のディマンドフェッチ要求がキャッシュヒットすることでディマンドフェッチ処理が行われる。
つまり、L1キャッシュ4からのディマンドフェッチ要求があり、SC2からムーブインデータが到着しているにもかかわらず、それがプリフェッチ要求の応答であるために、直接L1キャッシュ4にデータを渡すことができず、L2キャッシュ105に登録されるのみとなる。プリフェッチ要求に対するムーブイン完了後、ディマンドフェッチ要求が処理パイプラインに投入されたときに、L2キャッシュ105に登録されたデータをL1キャッシュ4に送出する。従って、プリフェッチ処理を待つディマンドフェッチ処理の待ち時間が発生していた。
本発明は上述した問題点を解決するためになされたものであり、プリフェッチ処理を待つディマンドフェッチ処理の待ち時間を短縮するキャッシュメモリ制御装置、キャッシュメモリ制御方法、中央処理装置、情報処理装置、中央制御方法を提供することを目的とする。
上述した課題を解決するため、本発明は、キャッシュメモリの制御を行うキャッシュメモリ制御装置であって、1次キャッシュから発行されたプリフェッチ要求およびディマンドフェッチ要求を受信する要求受信部と、前記要求受信部でプリフェッチ要求を受信した後に、前記要求受信部で前記プリフェッチ要求に係るメモリアドレスと同一アドレスを指定したディマンドフェッチ要求を受けた場合に、前記プリフェッチ要求の応答のために確保したムーブインバッファを、前記プリフェッチ要求に続く前記ディマンドフェッチ要求の応答のために用いるためのすりかえ処理を行うすりかえ処理部とを備えたものである。
また、本発明に係るキャッシュメモリ制御装置において、前記すりかえ処理部は、前記ムーブインバッファのタグ情報を書き換えることにより、前記すりかえ処理を行うことを特徴とするものである。
また、本発明に係るキャッシュメモリ制御装置において、前記すりかえ処理部は、前記すりかえ処理を行うか否かを判定する期間であるすりかえ判定期間中に、前記プリフェッチ要求に対する正当な応答が到着した場合、前記1次キャッシュへ前記ディマンドフェッチ要求に対する応答の到着の予告を通知することを特徴とするものである。
また、本発明に係るキャッシュメモリ制御装置において、前記すりかえ処理部は、前記すりかえ判定期間中に、前記予告を通知した後、すりかえ処理を行わない場合は前記予告のキャンセルを前記1次キャッシュへ通知することを特徴とするものである。
また、本発明に係るキャッシュメモリ制御装置において、前記すりかえ処理部は、前記すりかえ処理を行うか否かを判定する期間であるすりかえ判定期間中に、前記プリフェッチ要求に対するエラー応答が到着した場合であっても、前記すりかえ処理を行うことを特徴とするものである。
また、本発明に係るキャッシュメモリ制御装置において、前記すりかえ処理部は、前記すりかえ処理により前記エラー応答が遅延し、前記エラー応答と後続の応答が衝突する場合、前記後続の応答を遅延させることを特徴とするものである。
また、本発明に係るキャッシュメモリ制御装置において、前記すりかえ処理部は、前記ディマンドフェッチ要求が2次キャッシュへの登録を行う必要のない要求であってもすりかえ処理を行うことを特徴とするものである。
また、本発明は、キャッシュメモリの制御を行うキャッシュメモリ制御方法であって、1次キャッシュから発行されたプリフェッチ要求およびディマンドフェッチ要求を受信する要求受信ステップと、前記要求受信ステップでプリフェッチ要求を受信した後に、前記要求受信ステップで前記プリフェッチ要求に係るメモリアドレスと同一アドレスを指定したディマンドフェッチ要求を受けた場合に、前記プリフェッチ要求の応答のために確保したムーブインバッファを、前記プリフェッチ要求に続く前記ディマンドフェッチ要求の応答のために用いるためのすりかえ処理を行うすりかえ処理ステップとを備えたものである。
また、本発明に係るキャッシュメモリ制御方法において、前記すりかえ処理ステップは、前記ムーブインバッファのタグ情報を書き換えることにより、前記すりかえ処理を行うことを特徴とするものである。
また、本発明に係るキャッシュメモリ制御方法において、前記すりかえ処理ステップは、前記すりかえ処理を行うか否かを判定する期間であるすりかえ判定期間中に、前記プリフェッチ要求に対する正当な応答が到着した場合、前記1次キャッシュへ前記ディマンドフェッチ要求に対する応答の到着の予告を通知することを特徴とするものである。
また、本発明に係るキャッシュメモリ制御方法において、前記すりかえ処理ステップは、前記すりかえ判定期間中に、前記予告を通知した後、すりかえ処理を行わない場合は前記予告のキャンセルを前記1次キャッシュへ通知することを特徴とするものである。
また、本発明に係るキャッシュメモリ制御方法において、前記すりかえ処理ステップは、前記すりかえ処理を行うか否かを判定する期間であるすりかえ判定期間中に、前記プリフェッチ要求に対するエラー応答が到着した場合であっても、前記すりかえ処理を行うことを特徴とするものである。
また、本発明に係るキャッシュメモリ制御方法において、前記すりかえ処理ステップは、前記すりかえ処理により前記エラー応答が遅延し、前記エラー応答と後続の応答が衝突する場合、前記後続の応答を遅延させることを特徴とするものである。
また、本発明に係るキャッシュメモリ制御方法において、前記すりかえ処理ステップは、前記ディマンドフェッチ要求が2次キャッシュへの登録を行う必要のない要求であってもすりかえ処理を行うことを特徴とするものである。
また、本発明は、情報処理に関する制御を行う中央処理装置であって、プリフェッチ要求およびディマンドフェッチ要求を発行する1次キャッシュと、前記プリフェッチ要求の応答のために確保したムーブインバッファを、前記プリフェッチ要求に続く前記ディマンドフェッチ要求の応答のために用いるためのすりかえ処理を行う2次キャッシュと、前記1次キャッシュのデータを用いて演算を行う演算部とを備えたものである。
また、本発明に係る中央処理装置において、前記2次キャッシュは、前記ムーブインバッファのタグ情報を書き換えることにより、前記すりかえ処理を行うことを特徴とするものである。
また、本発明に係る中央処理装置において、前記2次キャッシュは、前記すりかえ処理を行うか否かを判定する期間であるすりかえ判定期間中に、前記プリフェッチ要求に対する正当な応答が到着した場合、前記1次キャッシュへ前記ディマンドフェッチ要求に対する応答の到着の予告を通知することを特徴とするものである。
また、本発明に係る中央処理装置において、前記2次キャッシュは、前記すりかえ判定期間中に、前記予告を通知した後、すりかえ処理を行わない場合は前記予告のキャンセルを前記1次キャッシュへ通知することを特徴とするものである。
また、本発明に係る中央処理装置において、前記2次キャッシュは、前記すりかえ処理を行うか否かを判定する期間であるすりかえ判定期間中に、前記プリフェッチ要求に対するエラー応答が到着した場合であっても、前記すりかえ処理を行うことを特徴とするものである。
また、本発明に係る中央処理装置において、前記2次キャッシュは、前記すりかえ処理により前記エラー応答が遅延し、前記エラー応答と後続の応答が衝突する場合、前記後続の応答を遅延させることを特徴とするものである。
また、本発明に係る中央処理装置において、前記2次キャッシュは、前記ディマンドフェッチ要求が前記2次キャッシュへの登録を行う必要のない要求であってもすりかえ処理を行うことを特徴とするものである。
また、本発明は、情報処理を行う情報処理装置であって、上述した少なくとも1つの中央処理装置と、前記中央処理装置が用いるデータを格納する主記憶部と、前記中央処理装置と前記主記憶の間でデータの管理を行う主記憶制御部とを備えたものである。
また、本発明は、情報処理に関する制御を行う中央制御方法であって、情報処理に関する制御を行う中央制御方法であって、プリフェッチ要求およびディマンドフェッチ要求を発行する1次キャッシュステップと、前記プリフェッチ要求の応答のために確保したムーブインバッファを、前記プリフェッチ要求に続く前記ディマンドフェッチ要求の応答のために用いるためのすりかえ処理を行う2次キャッシュステップと、前記1次キャッシュのデータを用いて演算を行う演算ステップとを備えたものである。
また、本発明に係る中央制御方法において、前記2次キャッシュステップは、前記ムーブインバッファのタグ情報を書き換えることにより、前記すりかえ処理を行うことを特徴とするものである。
また、本発明に係る中央制御方法において、前記2次キャッシュステップは、前記すりかえ処理を行うか否かを判定する期間であるすりかえ判定期間中に、前記プリフェッチ要求に対する正当な応答が到着した場合、前記1次キャッシュステップへ前記ディマンドフェッチ要求に対する応答の到着の予告を通知することを特徴とするものである。
また、本発明に係る中央制御方法において、前記2次キャッシュステップは、前記すりかえ判定期間中に、前記予告を通知した後、前記すりかえ処理を行わない場合は前記予告のキャンセルを前記1次キャッシュステップへ通知することを特徴とするものである。
また、本発明に係る中央制御方法において、前記2次キャッシュステップは、前記すりかえ処理を行うか否かを判定する期間であるすりかえ判定期間中に、前記プリフェッチ要求に対するエラー応答が到着した場合であっても、前記すりかえ処理を行うことを特徴とするものである。
また、本発明に係る中央制御方法において、前記2次キャッシュステップは、前記すりかえ処理により前記エラー応答が遅延し、前記エラー応答と後続の応答が衝突する場合、前記後続の応答を遅延させることを特徴とするものである。
また、本発明に係る中央制御方法において、前記2次キャッシュステップは、前記ディマンドフェッチ要求が前記2次キャッシュステップへの登録を行う必要のない要求であっても前記すりかえ処理を行うことを特徴とするものである。
なお、キャッシュメモリ制御装置とは実施例におけるL2キャッシュ制御部のことであり、要求受信部とは実施例におけるMI-PORTとPF-PORTのことであり、すりかえ処理部とは実施例における処理パイプラインのことである。また、中央処理装置とは実施例におけるCPUのことであり、情報処理装置とは実施例におけるマルチプロセッサシステムのことであり、主記憶部とは実施例におけるメインメモリのことであり、主記憶制御装置とは実施例におけるSCのことである。
本発明によれば、プリフェッチ処理を待つディマンドフェッチ処理の待ち時間を短縮することにより、情報処理装置におけるメモリアクセスが高速化できる。
以下、本発明の実施の形態について図面を参照しつつ説明する。
本発明においては、先行するプリフェッチ要求のキャッシュミスによって確保されたMIBを、後続のディマンドフェッチ要求で用いることができるようにする。この処理をMIBのすりかえ(swap)処理と呼ぶことにする。具体的には、MIBは、自身が確保される要因であるL1キャッシュからの要求の種類をタグ情報として保持しており、これをプリフェッチ要求からディマンドフェッチ要求に書き換えることで実現する。
図1は、本発明に係るマルチプロセッサシステムの構成の一例を示すブロック図である。図1において、図6と同一符号は図6に示された対象と同一又は相当物を示しており、ここでの説明を省略する。図1のマルチプロセッサシステムは、CPU103の代わりにCPU3を、L2キャッシュ105の代わりにL2キャッシュ5を備える。
図2は、本発明に係るL2キャッシュの構成の一例を示すブロック図である。図
2において、図8と同一符号は図8に示された対象と同一又は相当物を示しており、ここでの説明を省略する。図2のL2キャッシュは、L2キャッシュ制御部120の代わりにL2キャッシュ制御部20を、処理パイプライン127の代わりに処理パイプライン27を、MIB128の代わりにMIB28を備える。
図3は、本発明に係るすりかえ処理が行われる場合のL2キャッシュの動作の一例を示すタイムチャートである。先行のプリフェッチ要求がPF-PORT22から処理パイプライン27に投入されると、キャッシュミスであるため、MIB28を確保し、P-Reqを発行する。次に、同一アドレスに対する後続のディマンドフェッチ要求がMI-PORT21から処理パイプライン27に投入されると、同様にキャッシュミスとなるが、同一アドレスに対するMIB28が確保されているため、これをディマンドフェッチ要求が確保したかのようにすりかえる処理を行う。次に、先行のプリフェッチ要求に対するSC2からの応答のデータを後続のディマンドフェッチ要求が使うことにより、L1キャッシュ4に対して直ちにデータを送ることができる。
このすりかえ処理は、プリフェッチ要求のキャッシュミスによって、MIB28が確保された時に行われた処理が、後続のディマンドフェッチ要求によって引き継ぐことが可能となる要求の組み合わせの場合にのみ行うことができる。図4は、本発明に係るすりかえ処理が可能となるプリフェッチとディマンドフェッチの組み合わせの一例を示す表である。
ここで、プリフェッチ要求と同一アドレスに対して、ブロックロードOP-MI-BLを行う場合も、すりかえが可能となる。この場合、先行するプリフェッチ要求との整合性(キャッシュブロックのリプレースのための処理)のため、通常のブロックロードでは行わないL2キャッシュ5への登録を行う。
プリフェッチ要求が確保したMIB28がSC2からの応答のキャッシュブロックデータを受信し、L2キャッシュ5への登録を開始してしまった場合、そのMIB28はすりかえ処理の対象としない。プリフェッチ要求ではL1キャッシュ4へデータを送出しないため、すりかえ処理を行ったとしても受信したキャッシュブロックデータをL1キャッシュ4へ直ちに送出することができないためである、
ここで、図4の表にない組み合わせ、即ち、すりかえが不可能である組み合わせについて説明する。
まず、先行するプリフェッチ要求がIF-PF-SHまたはOP-PF-SH、後続のディマンドフェッチ要求がOP-MI-CHの場合、すりかえ処理を行うことができない。なぜなら、図7によれば、先行のプリフェッチにおいてL2キャッシュ登録はS型となる場合があるのに対して、後続のディマンドフェッチにおいてL2キャッシュ登録は常にE型となり、キャッシュの一貫性を保てないためである。
また、後続のディマンドフェッチがIF-MI-SHの場合、すりかえ処理を行うことができない。なぜなら、図7によれば、IF-MI-SHのキャッシュミス時に発行されるP-ReqがP-RDSAであるために、L2キャッシュ登録は常にS型となる。しかし、先行するプリフェッチ要求のキャッシュミスによって発行されたP-Reqの種類によっては、L2キャッシュ登録がE型またはM型となる場合があり、キャッシュの一貫性を保てないためである。
また、後続のディマンドフェッチがOP-MI-SHの場合、すりかえ処理を行うことができない。なぜなら、図7によれば、OP-MI-SHのL2キャッシュ登録はS型またはE型となる。しかし、先行のプリフェッチ要求OP-PF-EXのときの、L2キャッシュ登録はM型となり、キャッシュの一貫性を保てないためである。
図5は、本発明に係る処理パイプラインの構成の一例を示すブロック図である。処理パイプライン27は、MIBアドレス比較部31、タグ読み出し部32,MIBタイプコード判定部33、MIBすりかえ判定部34,MIBすりかえ部35,MIB確保部36で構成される。
MI-PORT21またはPF-PORT22からの要求は、プライオリティ部25からreadフローとして処理パイプライン27に投入される。MIBアドレス比較部31は、先行する要求と後続の要求の対象となるアドレスの比較を行う。
タグ読み出し部32はタグ処理部26へタグを渡し、タグ処理部26は検索を行う。キャッシュヒットの場合、L1キャッシュ4へデータを返し(プリフェッチの場合はデータを返さない)、キャッシュミスした場合、MIB確保部36はMIB28を確保し、SC2へムーブイン要求の発行を行う。ここで、ディマンドフェッチ要求のためのreadフローをdemand#readと呼ぶ。
次に、MIB毎にについてすりかえ処理の可能性の検出を行う。MIBタイプコード判定部33は、連続するL2キャッシュ要求が、図4に示したすりかえ可能な組み合わせであるか否かの判定を行い、すりかえ可能な組み合わせである場合をすりかえ可能性としてMIBすりかえ判定部34へ渡す。次に、MIBすりかえ判定部34は、MIBタイプコード判定部33のすりかえ可能性と、処理パイプライン27のdemand#readによって、すりかえ条件が成立したと見なし、MIBすりかえ部35がMIB28のタグ情報を書き換える。
ここで、MIB28が保持しているタグ情報には、xreply、address、pf、opc、swappedがある。xreplyは、MIB28がSC2からの応答を受信したことを示す。addressは、要求するムーブインのアドレスを示す。pfは、MIB28が確保された要因がプリフェッチであることを示す。opcは、MIB28が確保された要因となった要求の種類を示す。swappedは、MIB28の確保された要因がプリフェッチからディマンドフェッチに変わり、すりかえ処理がされたことを示す。
図3において、Tbは、すりかえ処理を行うreadフローが処理パイプライン27に投入されてから、実際にすりかえ処理が行われるまでの期間であり、すりかえ判定期間と呼ぶことにする。MIB28に対する更新要求は、readフローが処理パイプライン27に投入されてから4サイクル後に発行される。また、処理パイプライン27には、2サイクル毎に処理フローが投入されるものとする。
訂正可能エラーの検出などにより、readフロー自体が中断されることがある。この場合、すりかえ処理は成立しないため、MIB28のタグ情報の更新も行わない
ここで、すりかえ可能性のあるdemand#readが連続で投入された場合、2度のすりかえ可能性を検出してしまう恐れがある。これを避けるために、2サイクル前に発行された先行の処理フローが同一アドレスに対する処理で、MIB28のタグ情報の更新を行う場合は、後続の処理フローのすりかえ処理を抑止する。
図3において、Tcは、CPU3がSC2からの応答を受信してから、その要求元のMIB28が応答を受信したことを示すタグ情報xreplyがセットされるまでの時間である。Tcの区間がTbの区間と重なった場合、つまり、同じMIB28に対してすりかえ可能性のあるdemand#readフローがさらに投入された場合において、すりかえ処理が成功すれば、到着したムーブインデータを直ちにL1キャッシュ4へ転送する。すりかえ処理が行われなければ、プリフェッチ処理となるため、L1キャッシュ4への通知は行わない。
これを実現するために、すりかえ可能性のあるreadフローが処理パイプライン27に流れているときにムーブインデータが到着した場合、L1キャッシュ4にムーブインデータの到着の予告を通知し、その後すりかえ処理が行われなければ、L1キャッシュ4にキャンセル信号の発行を行う。
本発明のL2キャッシュ5は、SC2から到着したムーブインデータをL1キャッシュ4に通知するためのMIB28は、データ有効信号(DOW-fr-SC)とそのキャンセル信号(DOW-CAN-fr-SC)を生成し、L1キャッシュ4に通知する。ここで、DOW-fr-SCは、要求するムーブインデータがSC2からL2キャッシュ5へ到着したことを示す。DOW-CAN-fr-SCは、数サイクル前(ここでは3サイクル前)に発行したDOW-fr-SCが無効になったことを示す。L2キャッシュ5がSC2からムーブインデータを受信したとき、受信するべき要求元のMIB28を、カレントMIBと呼ぶ。
従来技術において、ムーブインデータが到着し、それがプリフェッチ要求由来ではなくディマンドフェッチ要求由来のものであるときに、DOW-fr-SCを有効にしていた。しかし、本発明においては、カレントMIBにすりかえ可能性がある場合には、DOW-fr-SCの発行を許す。そして、すりかえ可能性によりDOW-fr-SCの発行を許した時刻の3サイクル後に、カレントMIBのswappedタグ情報を参照する。このとき、すりかえ処理が行われなかった場合には、プリフェッチ処理扱いとなるのでDOW-CAN-fr-SCを発行し、先に発行したDOW-fr-SCのキャンセルを行う。
また、すりかえ判定期間中にSC2から到着した応答がエラー応答だった場合、すりかえ処理が成立してディマンドフェッチ処理として扱われていれば、L1キャッシュ4に対するエラー通知を行い、すりかえ処理が成立せずプリフェッチ処理として扱われていれば、L1キャッシュ4に対するエラー通知を行わない。
これを実現するために、本発明のL2キャッシュ5におけるMIB28は、エラー通知信号を生成し、L1キャッシュ4に通知する。
従来技術においては、プリフェッチ要求により確保されたMIBが受信したエラー応答については、L1キャッシュに対するエラー通知を行わないようにしていた。しかし、本発明においては、すりかえ処理が行われた場合、エラー通知を行わなければならない。そこで、プリフェッチ要求によって確保されたMIB28がエラー応答を受信すると、その3サイクル後にMIB28のタグ情報swappedを参照し、すりかえ処理が行われていれば、L1キャッシュ4への通知を行う。この3サイクルという時間は、SC2からのエラー応答を受信したMIB28(この時点ではタグ情報xreplyがセットされていないため、すりかえ対象になり得る)が、処理パイプライン27上ですりかえ判定の対象となっていた場合、判定結果がMIB28のタグ情報にセットされるまでに必要な時間である。
上述したように、エラー応答を受信したMIB28がすりかえ処理をされた場合、通常のエラー通知信号より遅れてエラー通知信号が発行される。そこで、遅れて発行されたエラー通知信号と、後続の通常のエラー通知信号が衝突する場合には、後続のエラー通知信号を遅らせる。
(付記1) キャッシュメモリの制御を行うキャッシュメモリ制御装置であって、
1次キャッシュから発行されたプリフェッチ要求およびディマンドフェッチ要求を受信する要求受信部と、
前記要求受信部でプリフェッチ要求を受信した後に、前記要求受信部で前記プリフェッチ要求に係るメモリアドレスと同一アドレスを指定したディマンドフェッチ要求を受けた場合に、前記プリフェッチ要求の応答のために確保したムーブインバッファを、前記プリフェッチ要求に続く前記ディマンドフェッチ要求の応答のために用いるためのすりかえ処理を行うすりかえ処理部と、
を備えてなるキャッシュメモリ制御装置。
(付記2) 付記1に記載のキャッシュメモリ制御装置において、
前記すりかえ処理部は、前記ムーブインバッファのタグ情報を書き換えることにより、前記すりかえ処理を行うことを特徴とするキャッシュメモリ制御装置。
(付記3) 付記1または2に記載のキャッシュメモリ制御装置において、
前記すりかえ処理部は、前記すりかえ処理を行うか否かを判定する期間であるすりかえ判定期間中に、前記プリフェッチ要求に対する正当な応答が到着した場合、前記1次キャッシュへ前記ディマンドフェッチ要求に対する応答の到着の予告を通知することを特徴とするキャッシュメモリ制御装置。
(付記4) 付記3に記載のキャッシュメモリ制御装置において、
前記すりかえ処理部は、前記すりかえ判定期間中に、前記予告を通知した後、すりかえ処理を行わない場合は前記予告のキャンセルを前記1次キャッシュへ通知することを特徴とするキャッシュメモリ制御装置。
(付記5) 付記1乃至4のいずれかに記載のキャッシュメモリ制御装置において、
前記すりかえ処理部は、前記すりかえ処理を行うか否かを判定する期間であるすりかえ判定期間中に、前記プリフェッチ要求に対するエラー応答が到着した場合であっても、前記すりかえ処理を行うことを特徴とするキャッシュメモリ制御装置。
(付記6) 付記5に記載のキャッシュメモリ制御装置において、
前記すりかえ処理部は、前記すりかえ処理により前記エラー応答が遅延し、前記エラー応答と後続の応答が衝突する場合、前記後続の応答を遅延させることを特徴とするキャッシュメモリ制御装置。
(付記7) 付記1乃至6のいずれかに記載のキャッシュメモリ制御装置において、
前記すりかえ処理部は、前記ディマンドフェッチ要求が2次キャッシュへの登録を行う必要のない要求であってもすりかえ処理を行うことを特徴とするキャッシュメモリ制御装置。
(付記8) キャッシュメモリの制御を行うキャッシュメモリ制御方法であって、
1次キャッシュから発行されたプリフェッチ要求およびディマンドフェッチ要求を受信する要求受信ステップと、
前記要求受信ステップでプリフェッチ要求を受信した後に、前記要求受信ステップで前記プリフェッチ要求に係るメモリアドレスと同一アドレスを指定したディマンドフェッチ要求を受けた場合に、前記プリフェッチ要求の応答のために確保したムーブインバッファを、前記プリフェッチ要求に続く前記ディマンドフェッチ要求の応答のために用いるためのすりかえ処理を行うすりかえ処理ステップと、
を備えてなるキャッシュメモリ制御方法。
(付記9) 付記8に記載のキャッシュメモリ制御方法において、
前記すりかえ処理ステップは、前記ムーブインバッファのタグ情報を書き換えることにより、前記すりかえ処理を行うことを特徴とするキャッシュメモリ制御方法。
(付記10) 付記8または9に記載のキャッシュメモリ制御方法において、
前記すりかえ処理ステップは、前記すりかえ処理を行うか否かを判定する期間であるすりかえ判定期間中に、前記プリフェッチ要求に対する正当な応答が到着した場合、前記1次キャッシュへ前記ディマンドフェッチ要求に対する応答の到着の予告を通知することを特徴とするキャッシュメモリ制御方法。
(付記11) 付記10に記載のキャッシュメモリ制御方法において、
前記すりかえ処理ステップは、前記すりかえ判定期間中に、前記予告を通知した後、すりかえ処理を行わない場合は前記予告のキャンセルを前記1次キャッシュへ通知することを特徴とするキャッシュメモリ制御方法。
(付記12) 付記8乃至11のいずれかに記載のキャッシュメモリ制御方法において、
前記すりかえ処理ステップは、前記すりかえ処理を行うか否かを判定する期間であるすりかえ判定期間中に、前記プリフェッチ要求に対するエラー応答が到着した場合であっても、前記すりかえ処理を行うことを特徴とするキャッシュメモリ制御方法。
(付記13) 付記12に記載のキャッシュメモリ制御方法において、
前記すりかえ処理ステップは、前記すりかえ処理により前記エラー応答が遅延し、前記エラー応答と後続の応答が衝突する場合、前記後続の応答を遅延させることを特徴とするキャッシュメモリ制御方法。
(付記14) 付記8乃至13のいずれかに記載のキャッシュメモリ制御方法において、
前記すりかえ処理ステップは、前記ディマンドフェッチ要求が2次キャッシュへの登録を行う必要のない要求であってもすりかえ処理を行うことを特徴とするキャッシュメモリ制御方法。
(付記15) 情報処理に関する制御を行う中央処理装置であって、
プリフェッチ要求およびディマンドフェッチ要求を発行する1次キャッシュと、
前記プリフェッチ要求の応答のために確保したムーブインバッファを、前記プリフェッチ要求に続く前記ディマンドフェッチ要求の応答のために用いるためのすりかえ処理を行う2次キャッシュと、
前記1次キャッシュのデータを用いて演算を行う演算部と、
を備えてなる中央処理装置。
(付記16) 付記15に記載の中央処理装置において、
前記2次キャッシュは、前記ムーブインバッファのタグ情報を書き換えることにより、前記すりかえ処理を行うことを特徴とする中央処理装置。
(付記17) 付記15または16に記載の中央処理装置において、
前記2次キャッシュは、前記すりかえ処理を行うか否かを判定する期間であるすりかえ判定期間中に、前記プリフェッチ要求に対する正当な応答が到着した場合、前記1次キャッシュへ前記ディマンドフェッチ要求に対する応答の到着の予告を通知することを特徴とする中央処理装置。
(付記18) 付記17に記載の中央処理装置において、
前記2次キャッシュは、前記すりかえ判定期間中に、前記予告を通知した後、すりかえ処理を行わない場合は前記予告のキャンセルを前記1次キャッシュへ通知することを特徴とする中央処理装置。
(付記19) 付記15乃至18のいずれかに記載の中央処理装置において、
前記2次キャッシュは、前記すりかえ処理を行うか否かを判定する期間であるすりかえ判定期間中に、前記プリフェッチ要求に対するエラー応答が到着した場合であっても、前記すりかえ処理を行うことを特徴とする中央処理装置。
(付記20) 付記19に記載の中央処理装置において、
前記2次キャッシュは、前記すりかえ処理により前記エラー応答が遅延し、前記エラー応答と後続の応答が衝突する場合、前記後続の応答を遅延させることを特徴とする中央処理装置。
(付記21) 付記15乃至20のいずれかに記載の中央処理装置において、
前記2次キャッシュは、前記ディマンドフェッチ要求が前記2次キャッシュへの登録を行う必要のない要求であってもすりかえ処理を行うことを特徴とする中央処理装置。
(付記22) 付記1乃至7のいずれか1つに記載の中央処理装置と、
前記中央処理装置が用いるデータを格納する主記憶部と、
前記中央処理装置と前記主記憶の間でデータの管理を行う主記憶制御部と、
を備えてなる情報処理装置。
(付記23) 情報処理に関する制御を行う中央制御方法であって、
プリフェッチ要求およびディマンドフェッチ要求を発行する1次キャッシュステップと、
前記プリフェッチ要求の応答のために確保したムーブインバッファを、前記プリフェッチ要求に続く前記ディマンドフェッチ要求の応答のために用いるためのすりかえ処理を行う2次キャッシュステップと、
前記1次キャッシュのデータを用いて演算を行う演算ステップと、
を備えてなる中央制御方法。
(付記24) 付記23に記載の中央制御方法において、
前記2次キャッシュステップは、前記ムーブインバッファのタグ情報を書き換えることにより、前記すりかえ処理を行うことを特徴とする中央制御方法。
(付記25) 付記23または24に記載の中央制御方法において、
前記2次キャッシュステップは、前記すりかえ処理を行うか否かを判定する期間であるすりかえ判定期間中に、前記プリフェッチ要求に対する正当な応答が到着した場合、前記1次キャッシュステップへ前記ディマンドフェッチ要求に対する応答の到着の予告を通知することを特徴とする中央制御方法。
(付記26) 付記25に記載の中央制御方法において、
前記2次キャッシュステップは、前記すりかえ判定期間中に、前記予告を通知した後、前記すりかえ処理を行わない場合は前記予告のキャンセルを前記1次キャッシュステップへ通知することを特徴とする中央制御方法。
(付記27) 付記23乃至26のいずれかに記載の中央制御方法において、
前記2次キャッシュステップは、前記すりかえ処理を行うか否かを判定する期間であるすりかえ判定期間中に、前記プリフェッチ要求に対するエラー応答が到着した場合であっても、前記すりかえ処理を行うことを特徴とする中央制御方法。
(付記28) 付記27に記載の中央制御方法において、
前記2次キャッシュステップは、前記すりかえ処理により前記エラー応答が遅延し、前記エラー応答と後続の応答が衝突する場合、前記後続の応答を遅延させることを特徴とする中央制御方法。
(付記29) 付記23乃至28のいずれかに記載の中央制御方法において、
前記2次キャッシュステップは、前記ディマンドフェッチ要求が前記2次キャッシュステップへの登録を行う必要のない要求であっても前記すりかえ処理を行うことを特徴とする中央制御方法。
本発明に係るマルチプロセッサシステムの構成の一例を示すブロック図である。 本発明に係るL2キャッシュの構成の一例を示すブロック図である。 本発明に係るすりかえ処理が行われる場合のL2キャッシュの動作の一例を示すタイムチャートである。 本発明に係るすりかえ処理が可能となるプリフェッチとディマンドフェッチの組み合わせの一例を示す表である。 本発明に係る処理パイプラインの構成の一例を示すタイムチャートである。 従来のマルチプロセッサシステムの構成の一例を示すブロック図である。 L2キャッシュ要求の一例を表す表である。 従来のL2キャッシュの構成の一例を示すブロック図である。 通常のディマンドフェッチ要求に対するL2キャッシュの動作の一例を示すタイムチャートである。 通常のプリフェッチ要求に対するL2キャッシュの動作の一例を示すタイムチャートである。 プリフェッチ要求の直後にディマンドフェッチ要求が発行された場合における従来のL2キャッシュの動作の一例を示すタイムチャートである。
符号の説明
1 メインメモリ、2 SC、3,103 CPU、4 L1キャッシュ、5,105 L2キャッシュ、6 演算部、11 I1キャッシュ、12 D1キャッシュ、20,120 L2キャッシュ制御部、21 MI-PORT、22 PF-PORT、23,24 ポート、25 プライオリティ部、26 タグ処理部、27,127 処理パイプライン、28,128 MIB、29 データRAM、31 MIBアドレス比較部、32 タグ読み出し部、33 MIBタイプコード判定部、34 MIBすりかえ判定部、35 MIBすりかえ部、36 MIB確保部。

Claims (11)

  1. キャッシュメモリの制御を行うキャッシュメモリ制御装置であって、
    1次キャッシュから発行されたプリフェッチ要求およびディマンドフェッチ要求を受信する要求受信部と、
    前記要求受信部でプリフェッチ要求を受信した後に、前記要求受信部で前記プリフェッチ要求に係るメモリアドレスと同一アドレスを指定したディマンドフェッチ要求を受けた場合に、前記プリフェッチ要求の応答のために確保したムーブインバッファを、前記プリフェッチ要求に続く前記ディマンドフェッチ要求の応答のために用いるためのすりかえ処理を行うすりかえ処理部とを備え
    前記すりかえ処理部は、前記すりかえ処理を行うか否かを判定する期間であるすりかえ判定期間中に、前記プリフェッチ要求に対する正当な応答が到着した場合、前記1次キャッシュへ前記ディマンドフェッチ要求に対する応答の到着の予告を通知することを特徴とするキャッシュメモリ制御装置。
  2. 請求項1に記載のキャッシュメモリ制御装置において、
    前記すりかえ処理部は、前記ムーブインバッファのタグ情報を書き換えることにより、前記すりかえ処理を行うことを特徴とするキャッシュメモリ制御装置。
  3. 請求項1又は請求項2に記載のキャッシュメモリ制御装置において、
    前記すりかえ処理部は、前記すりかえ判定期間中に、前記予告を通知した後、すりかえ処理を行わない場合は前記予告のキャンセルを前記1次キャッシュへ通知することを特徴とするキャッシュメモリ制御装置。
  4. 請求項1乃至請求項3のいずれかに記載のキャッシュメモリ制御装置において、
    前記すりかえ処理部は、前記すりかえ判定期間中に、前記プリフェッチ要求に対するエラー応答が到着した場合に、到着したエラー応答を前記1次キャッシュへ伝えることを特徴とするキャッシュメモリ制御装置。
  5. 請求項4に記載のキャッシュメモリ制御装置において、
    前記すりかえ処理部は、前記すりかえ処理により前記エラー応答が遅延し、前記エラー応答と後続の応答が衝突する場合、前記後続の応答を遅延させることを特徴とするキャッシュメモリ制御装置。
  6. キャッシュメモリの制御を行うキャッシュメモリ制御方法であって、
    1次キャッシュから発行された要求を受信する要求受信部により、1次キャッシュから発行されたプリフェッチ要求およびディマンドフェッチ要求を受信する要求受信ステップと、
    前記要求受信ステップでプリフェッチ要求を受信した後に、前記要求受信ステップで前記プリフェッチ要求に係るメモリアドレスと同一アドレスを指定したディマンドフェッチ要求を受けた場合に、前記プリフェッチ要求の応答のために確保したムーブインバッファを、前記プリフェッチ要求に続く前記ディマンドフェッチ要求の応答のために用いるためのすりかえ処理を行うすりかえ処理部により前記すりかえ処理を行うすりかえ処理ステップとを備え
    前記すりかえ処理ステップは、前記すりかえ処理を行うか否かを判定する期間であるすりかえ判定期間中に、前記プリフェッチ要求に対する正当な応答が到着した場合、前記1次キャッシュへ前記ディマンドフェッチ要求に対する応答の到着の予告を通知することを特徴とするキャッシュメモリ制御方法。
  7. 請求項に記載のキャッシュメモリ制御方法において、
    前記すりかえ処理ステップは、前記すりかえ処理部が前記ムーブインバッファのタグ情報を書き換えることにより、前記すりかえ処理を行うことを特徴とするキャッシュメモリ制御方法。
  8. 情報処理に関する制御を行う中央処理装置であって、
    プリフェッチ要求およびディマンドフェッチ要求を発行する1次キャッシュと、
    前記プリフェッチ要求の応答のために確保したムーブインバッファを、前記プリフェッチ要求に続く前記ディマンドフェッチ要求の応答のために用いるためのすりかえ処理を行う2次キャッシュと、
    前記1次キャッシュのデータを用いて演算を行う演算部とを備え
    前記2次キャッシュは、前記すりかえ処理を行うか否かを判定する期間であるすりかえ判定期間中に、前記プリフェッチ要求に対する正当な応答が到着した場合、前記1次キャッシュへ前記ディマンドフェッチ要求に対する応答の到着の予告を通知することを特徴とする中央処理装置。
  9. 請求項に記載の中央処理装置において、
    前記2次キャッシュは、前記ムーブインバッファのタグ情報を書き換えることにより、前記すりかえ処理を行うことを特徴とする中央処理装置。
  10. 請求項8又は請求項9に記載の中央処理装置と、
    前記中央処理装置が用いるデータを格納する主記憶部と、
    前記中央処理装置と前記主記憶の間でデータの管理を行う主記憶制御部と、
    を備えてなる情報処理装置。
  11. 情報処理に関する制御を行う中央制御方法であって、
    1次キャッシュによりプリフェッチ要求およびディマンドフェッチ要求を発行する1次キャッシュステップと、
    前記プリフェッチ要求の応答のために確保したムーブインバッファを、前記プリフェッチ要求に続く前記ディマンドフェッチ要求の応答のために用いるためのすりかえ処理を行うすりかえ処理部により前記すりかえ処理を行う2次キャッシュステップと、
    前記1次キャッシュのデータを用いて演算を行う演算部により前記演算を行う演算ステップとを備え
    前記2次キャッシュステップは、前記すりかえ処理を行うか否かを判定する期間であるすりかえ判定期間中に、前記プリフェッチ要求に対する正当な応答が到着した場合、前記1次キャッシュへ前記ディマンドフェッチ要求に対する応答の到着の予告を通知することを特徴とする中央制御方法。
JP2004221156A 2004-07-29 2004-07-29 キャッシュメモリ制御装置、キャッシュメモリ制御方法、中央処理装置、情報処理装置、中央制御方法 Expired - Fee Related JP4575065B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2004221156A JP4575065B2 (ja) 2004-07-29 2004-07-29 キャッシュメモリ制御装置、キャッシュメモリ制御方法、中央処理装置、情報処理装置、中央制御方法
US10/986,860 US7552287B2 (en) 2004-07-29 2004-11-15 Method and system of controlling a cache memory by interrupting prefetch request with a demand fetch request
EP04257182A EP1622026B1 (en) 2004-07-29 2004-11-19 Cache memory control unit and cache memory control method
EP08152649A EP1942416B1 (en) 2004-07-29 2004-11-19 Central processing unit, information processor and central processing method
DE602004018913T DE602004018913D1 (de) 2004-07-29 2004-11-19 Cachespeicher-Steuereinheit und -Steuerverfahren

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004221156A JP4575065B2 (ja) 2004-07-29 2004-07-29 キャッシュメモリ制御装置、キャッシュメモリ制御方法、中央処理装置、情報処理装置、中央制御方法

Publications (2)

Publication Number Publication Date
JP2006040090A JP2006040090A (ja) 2006-02-09
JP4575065B2 true JP4575065B2 (ja) 2010-11-04

Family

ID=35170065

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004221156A Expired - Fee Related JP4575065B2 (ja) 2004-07-29 2004-07-29 キャッシュメモリ制御装置、キャッシュメモリ制御方法、中央処理装置、情報処理装置、中央制御方法

Country Status (4)

Country Link
US (1) US7552287B2 (ja)
EP (2) EP1942416B1 (ja)
JP (1) JP4575065B2 (ja)
DE (1) DE602004018913D1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101681304B (zh) 2007-06-20 2012-07-04 富士通株式会社 高速缓冲存储器控制装置及流水线控制方法
US8171225B2 (en) * 2007-06-28 2012-05-01 Intel Corporation Cache for a multi thread and multi core system and methods thereof
JPWO2009096161A1 (ja) * 2008-01-29 2011-05-26 パナソニック株式会社 プロセッサ性能解析装置、方法及びシミュレータ
JP4843717B2 (ja) 2008-02-18 2011-12-21 富士通株式会社 演算処理装置および演算処理装置の制御方法
JP2010191754A (ja) * 2009-02-19 2010-09-02 Mitsubishi Electric Corp キャッシュ記憶装置
JP5444889B2 (ja) * 2009-06-30 2014-03-19 富士通株式会社 演算処理装置および演算処理装置の制御方法
JP5609092B2 (ja) * 2009-12-09 2014-10-22 富士通株式会社 演算処理装置及び演算処理装置の制御方法
EP2518632A4 (en) 2009-12-25 2013-05-29 Fujitsu Ltd COMPUTING DEVICE
JP5730126B2 (ja) 2011-05-18 2015-06-03 キヤノン株式会社 データ供給装置、キャッシュ装置、データ供給方法、キャッシュ方法およびプログラム
JP6711167B2 (ja) 2016-06-22 2020-06-17 富士通株式会社 演算処理装置および演算処理装置の制御方法
CN114661442A (zh) * 2021-05-08 2022-06-24 支付宝(杭州)信息技术有限公司 处理方法及装置、处理器、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6625697B1 (en) * 1998-11-25 2003-09-23 Siemens Aktiengesellschaft Cache-storage device with a buffer storing prefetch data
US6643745B1 (en) * 1998-03-31 2003-11-04 Intel Corporation Method and apparatus for prefetching data into cache

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63751A (ja) * 1986-06-20 1988-01-05 Fujitsu Ltd プリフエツチ制御方式
JPH02133842A (ja) 1988-11-15 1990-05-23 Fujitsu Ltd 中間バッファプリフェッチ制御方式
JPH04270432A (ja) * 1991-01-25 1992-09-25 Fujitsu Ltd ディスクキャッシュ制御方式
JP3566319B2 (ja) * 1993-06-20 2004-09-15 株式会社リコー 情報記憶装置
JP3284508B2 (ja) * 1994-02-08 2002-05-20 富士通株式会社 データ先読み制御装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6643745B1 (en) * 1998-03-31 2003-11-04 Intel Corporation Method and apparatus for prefetching data into cache
US6625697B1 (en) * 1998-11-25 2003-09-23 Siemens Aktiengesellschaft Cache-storage device with a buffer storing prefetch data

Also Published As

Publication number Publication date
DE602004018913D1 (de) 2009-02-26
EP1942416B1 (en) 2011-06-29
EP1942416A3 (en) 2008-09-03
US7552287B2 (en) 2009-06-23
EP1622026A3 (en) 2006-09-13
EP1622026B1 (en) 2009-01-07
US20060026366A1 (en) 2006-02-02
JP2006040090A (ja) 2006-02-09
EP1622026A2 (en) 2006-02-01
EP1942416A2 (en) 2008-07-09

Similar Documents

Publication Publication Date Title
EP1311956B1 (en) Method and apparatus for pipelining ordered input/output transactions in a cache coherent, multi-processor system
US6636949B2 (en) System for handling coherence protocol races in a scalable shared memory system based on chip multiprocessing
US6681295B1 (en) Fast lane prefetching
US7707361B2 (en) Data cache block zero implementation
US6640287B2 (en) Scalable multiprocessor system and cache coherence method incorporating invalid-to-dirty requests
US7921275B2 (en) Method for enabling direct prefetching of data during asychronous memory move operation
US7640401B2 (en) Remote hit predictor
US7941627B2 (en) Specialized memory move barrier operations
US7958327B2 (en) Performing an asynchronous memory move (AMM) via execution of AMM store instruction within the instruction set architecture
US20070067529A1 (en) Method for denying probes during proactive synchronization within a computer system
US8356151B2 (en) Reporting of partially performed memory move
US9396127B2 (en) Synchronizing access to data in shared memory
EP0372201B1 (en) Method for fetching potentially dirty data in multiprocessor systems
US8275963B2 (en) Asynchronous memory move across physical nodes with dual-sided communication
US10042580B2 (en) Speculatively performing memory move requests with respect to a barrier
US10140052B2 (en) Memory access in a data processing system utilizing copy and paste instructions
JP4673585B2 (ja) メモリシステム制御装置およびメモリシステム制御方法
JP4575065B2 (ja) キャッシュメモリ制御装置、キャッシュメモリ制御方法、中央処理装置、情報処理装置、中央制御方法
US7937570B2 (en) Termination of in-flight asynchronous memory move
KR101093784B1 (ko) 리플레이 메커니즘을 구비한 로드 저장 유닛
US20180052788A1 (en) Memory move supporting speculative acquisition of source and destination data granules
JPH0340047A (ja) キヤツシユ・ライン・ストア方法
US6976128B1 (en) Cache flush system and method
JP3550092B2 (ja) キャッシュ装置及び制御方法
US20180052607A1 (en) Migration of memory move instruction sequences between hardware threads

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061027

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100316

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100601

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100730

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100817

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100819

R150 Certificate of patent or registration of utility model

Ref document number: 4575065

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130827

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees