JP2008046902A - 情報処理システム、情報処理基板、及びキャッシュタグ及びスヌープタグの更新方法 - Google Patents

情報処理システム、情報処理基板、及びキャッシュタグ及びスヌープタグの更新方法 Download PDF

Info

Publication number
JP2008046902A
JP2008046902A JP2006222439A JP2006222439A JP2008046902A JP 2008046902 A JP2008046902 A JP 2008046902A JP 2006222439 A JP2006222439 A JP 2006222439A JP 2006222439 A JP2006222439 A JP 2006222439A JP 2008046902 A JP2008046902 A JP 2008046902A
Authority
JP
Japan
Prior art keywords
tag
cache
processor
snoop
way
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
JP2006222439A
Other languages
English (en)
Inventor
Yuka Hosokawa
由佳 細川
Koji Ishizuka
孝治 石塚
Makoto Hataida
誠 畑井田
Toshikazu Ueki
俊和 植木
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 JP2006222439A priority Critical patent/JP2008046902A/ja
Priority to EP07106976A priority patent/EP1895419B1/en
Priority to US11/740,984 priority patent/US7805576B2/en
Priority to KR1020070045444A priority patent/KR100900012B1/ko
Priority to CN200710103962XA priority patent/CN101127011B/zh
Publication of JP2008046902A publication Critical patent/JP2008046902A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • G06F12/0822Copy directories
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means

Landscapes

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

Abstract

【課題】キャッシュを有するCPUと、そのキャッシュのタグのコピー(スヌープタグ)を有するシステムコントローラを搭載し、かつキャッシュタグのリプレース情報の発行がないCPUを持つ情報処理システムにおいて、CPU内のキャッシュタグの過剰なリプレースを抑制することにより、キャッシュミス率を減らし、性能低下を抑えることを目的とする。
【解決手段】システムコントローラ内のスヌープタグのWAYを、CPU内のキャッシュタグのWAY数よりも多くした情報処理システムにより、上記課題の解決を図る。
【選択図】図1

Description

本発明は、プロセッサバス上に複数のCPUコアを持ち、CPU内キャッシュのコピーであるスヌープタグをシステムコントローラが持つシステムのタグ構成に関する。
一般に、CPUよりも低速な主記憶装置へのアクセスのスループットを向上させる手段として、キャッシュメモリが使用されている。キャッシュメモリは、通常、CPUと主記憶装置との間に配置され、CPU内に設けられることが一般的である。
キャッシュメモリと主記憶装置で使用される記憶装置(外部メモリ)とを比較すると、キャッシュメモリの方がアクセス速度は高速であるが、記憶容量が小さい。したがって、キャッシュメモリに格納されるデータは、外部メモリに展開された全データの一部である。
キャッシュメモリに読み出し対象のデータが存在すれば、高速でそのデータを読み出すことができる。しかし、キャッシュメモリに読み出し対象のデータが存在しなければ、主記憶装置へアクセスして読み出し対象となるデータを読み出すことになり、読み出し速度は低下することになる。
キャッシュメモリは、通常、主記憶装置に保持されているデータの一部を格納するキャッシュ(データ領域。または、キャッシュデータという)と、キャッシュに格納されているデータのアドレスの一部(タグ)を格納するタグメモリ(タグ領域、またはキャッシュタグという)とで構成される。
プロセッサは、実行に必要なデータがキャッシュに存在するか否かを、当該データのアドレスとタグメモリ中のタグとを比較することにより知る。必要なデータがキャッシュ 中に存在しない場合、当該データが主メモリからキャッシュにロードされ、当該データのアドレスの一部が新しいタグとしてタグメモリにロードされる。この新しいタグをタグメモリにロードするため、タグメモリから不要な、あるいは不要と思われるタグを追い出す必要がある。
タグメモリは、複数のウェイ(WAY)からなる。新しいタグのロードに先立って追い出すタグを決定する(タグの更新を行う)ために、タグに予めLRU(Least Recently Used)情報が付加される。
例えば、LRU情報生成回路は、どのタグを次に置き換えるべきかを示すLRU情報をタグの書き込み時に生成し、当該タグに対応させてタグメモリに書き込む。従って、タグメモリの読み出し/書き込みの単位である1ラインにはタグとそのLRU情報とが格納される。新しいタグをタグメモリにロードする時に、補充先ウェイ情報生成回路が当該タグをどのウェイに補充するかをタグの各々に付加されたLRU情報を用いて判定する。
マッチ判定回路はプロセッサが必要とするデータのアドレス(の一部)とタグメモリに格納している所定のタグとの比較を行い、当該データがキャッシュ中に存在するか否かを判定する。
この判定の後、タグメモリから読み出されたタグ(のライン)は、再びタグメモリに書き込まれる。即ち、当該判定の後にタグの書き戻しサイクルが実行される。これは、タグの当該ラインのLRU情報をタグメモリに書き戻さなければ、LRU情報が当該判定の結果を反映した正しいLRU情報であるとは言えなくなるためである。そこで、当該ラインのヒット/ミスヒットの結果に基づいて、LRU情報生成回路が新たなLRU情報を生成してこれをタグメモリに格納する。これにより、LRU情報を用いた新たなタグの書き込みのLRU制御が行われる。
図6は、一般的なマルチプロセッサ構成を備える情報処理システムの全体図(チップセット)を示す。同図において情報処理システムは、主としてシステムボード10、入出力制御ユニット15、データクロスバー17、アドレスクロスバー16から構成される。システムボード10は、システムコントローラ1、ファームウェアハブ11、CPU2、メモリコントローラ12、メモリ13、CPUバス6、ファームウェアハブバス7から構成される。
CPUバス6は、システムコントローラ1とCPU2とを接続するものである。ファームウェアハブバス7は、システムコントローラ1とファームウェアバブ7とを接続するものである。データクロスバー17は、システムボード10間のデータを送受するバスである。アドレスクロスバー16は、システムボード10間のアドレスを送受するバスである。
システムコントローラ1は、CPU2−メモリ13間のデータの送受を制御するための装置である。ファームウェアハブ11には、ファームウェアが格納されている。メモリコントローラ12は、メモリ13の動作を制御するものである。
図7は、情報処理システムにおけるタグを示す。図7において、システムコントローラ1は、CPUバス6a,6b,6c,6dによりCPU2a,2b,2c,2dと接続されている。各CPU2(2a,2b,2c,2d)はそれぞれキャッシュメモリを備えている。各CPU2のキャッシュメモリはそれぞれ、キャッシュタグ3(3a,3b,3c,3d)とキャッシュデータ4(4a,4b,4c,4d)により構成される。
また、システムコントローラ1内には各キャッシュタグ3(3a,3b,3c,3d)に対応したスヌープタグ5(5a,5b,5c,5d)を備える。
システムコントローラ1は、例えばキャッシュミス発生時にCPU2aからリード要求があれば、そのリード要求の対象となるデータが他のスヌープタグ5b,5c,5dで保持されているかを確認する。そのリード要求の対象となるデータが他のスヌープタグ5b,5c,5dで保持されている場合、システムコントローラ1は、そのタグが保持されたスヌープタグ5からそのリード要求に対応するリプレース情報を取得して、CPU2aに渡す。しかし、いずれのスヌープタグ5にもそのリード要求の対象となるデータが保持されていなければ、システムコントローラ1は、主記憶装置よりそのリード要求に対応するリプレース情報を取得して、CPU2aに渡す。
図8は、従来におけるタグの構成例である。同図におけるCPU2aに着目して説明する。CPU2a内のキャッシュタグ3aは、例えば4つのWAY(3a−0,3a−1,3a−2,3a−3)からなる。
一方、キャッシュタグ3aに対応するシステムコントロール1のスヌープタグ5aも、同様に4つのWAY(5a−0,5a−1,5a−2,5a−3)からなる。
このように、従来の構成では、CPU2のキャッシュタグ3と、システムコントローラ1のスヌープタグ5のWAY数は同じである。このような場合には、次の事象が起こり得る。
まず、CPU2からシステムコントローラ1へキャッシュミスによるリード要求が発行(6a−Aa)されたときに、キャッシュタグ3がFULL(すなわち、キャッシュタグを構成する全てのWAYが書き込み状態)である場合、CPU2はキャッシュタグ3を構成するいずれかのWAYからアドレスを追い出して、リード要求の対象となるデータのアドレスに置き換える(リプレース情報)。
このようなシステムにおいては、どのWAYのアドレスを追い出すかのリプレース情報をCPU2からシステムコントローラ1に知らせる手段が無いか、またはそのような手段があっても確実にそのリプレース情報が通知されるとは限らない。
よって、そのリプレース情報をCPU2からシステムコントローラ1に知らせる手段が無いか、またはそのような手段があっても確実にその削除情報が通知されるとは限らないプロトコルを前提する方式を採用しているシステムでは、システムコントローラ1側でスヌープタグのリプレース対象を独自に決定している。
特開平5−204869号公報 特開平7−311711号公報 特開平10−214222号公報 特開平5−265970号公報
図9A及び図9Bは、従来におけるキャッシュミス発生時のタグの更新例を示す。CPU2a内キャッシュタグ3aを構成する4つのWAY(3a−0,3a−1,3a−2,3a−3)にはそれぞれ、アドレス(0,1,2,3)が格納されているとする(CPU2a内キャッシュタグ3aがFULLの状態)。
まず、CPU2aにおいて、キャッシュミスによるリード要求が発生する。例えば、アドレス5についてのリード要求が発生する(ステップ101。以下、ステップを「S」と称する)。
そうすると、CPU2aは、例えばキャッシュタグ3aのWAY[3a−0]をリプレース対象に決定し、WAY[3a−0]に格納されているアドレス情報(アドレス0)を削除する(S102)。
CPU2aは、S101で発生したアドレス情報(アドレス5)についてのリード要求をシステムコントローラ1に対して行う(S103)。
スヌープタグ5aの全てのWAYはアドレスが書き込まれているため(FULL状態)、いずれかのWAYをリプレース対象として削除する必要がある。
しかしながら、CPU2aからリプレース要求がないシステムにおいては、システムコントローラ1側で、スヌープタグのどのWAYについてのアドレスを置換対象とするかを勝手に決定せざるを得ない。
そこで、システムコントローラ1は、例えばリプレース対象としてWAY[5a−2]を決定し、そのWAY[5a−2]に格納されているアドレス情報(アドレス2)を削除する。
リプレース対象となったWAY[5a−2]に格納されたアドレスは、CPU2a内のキャッシュタグ3aにおいてもリプレース対象となる。よって、システムコントローラ1は、リプレース対象となったアドレス(アドレス2)の削除をCPU2aへ要求する(Eviction要求)(S104)。
Eviction要求を受け取ったCPU2aは、そのコマンドを解析し、キャッシュタグ3aのWAY[3a−2]のアドレス情報(アドレス2)を削除する(S105)。
システムコントローラ1は、スヌープタグ5aのWAY[5a−2]を更新する(WAY[5a−2]にアドレス5が格納される)。そして、システムコントローラ1は、そのアドレス情報に対応するデータをCPU2aに送信する(S106)。
CPU2aは、システムコントローラ1からのデータを受信してキャッシュデータ4aに書き込むとともに、そのデータに対応するアドレスによりキャッシュタグ3aのWAY[3a−0]を更新する(S107)。
再度、CPU2aにおいて、キャッシュミスによるリード要求が発生する。例えば、アドレス6についてのリード要求が発生する(S108)。このとき、キャッシュタグ3(WAY[3a−2])には空きがあるので、S102で述べた削除処理は行われず、CPU2aはシステムコントローラ1へアドレス6についてのリード要求を行う(S109)。
そうすると、スヌープタグ5aがFULLであるため、システムコントローラ1は、例えばWAY[5a−1]をリプレース対象に決定すると、そのWAY[5a−1]に格納されたアドレス情報(アドレス1)を削除する。
リプレース対象となったWAY[5a−1]に格納されたアドレスは、キャッシュタグ3aにおいてもリプレース対象となる。よって、システムコントローラ1は、リプレース対象となったアドレス(アドレス1)の削除をCPU2aへ要求する(Eviction要求)(S110)。
Eviction要求を受け取ったCPU2aは、そのコマンドを解析し、キャッシュタグ3aのWAY[3a−1]に格納されたアドレス情報(アドレス1)を削除する(S111)。
システムコントローラ1は、スヌープタグ5aのWAY[5a−1]を更新する(WAY[5a−1]にアドレス6が格納される)。そして、システムコントローラ1は、そのアドレスに対応するデータをCPU2aに送信する(S112)。
CPU2aは、システムコントローラ1からのデータを受信してキャッシュデータ4aに書き込むとともに、そのデータに対応するアドレスによりキャッシュタグ3aのWAY[3a−0]を更新する(S113)。
このように従来の構成では、CPU2とシステムコントローラ1のリプレース対象が必ずしも一致しないため、CPU2で余分なリプレースが生じてしまう。その結果、空きWAYの数も複数個生じることになる。そうすると、キャッシュミス率も増大することになる。
上記の課題に鑑み、本発明では、CPUからシステムコントローラへどのWAYに格納された情報を追い出すかという情報が通知されない情報処理システムにおいて、CPU内のキャッシュタグの過剰なリプレースを抑制することにより、キャッシュミス率を減らし、性能低下を抑えることを目的とする。
本発明にかかる情報処理システムは、複数ウェイからなるキャッシュタグとキャッシュデータを含むキャッシュメモリを有し、外部から受け取った命令を実行及びデータを処理する1つ以上のプロセッサと、前記プロセッサからの読み出し要求に基づいて該プロセッサへ応答するプロセッサ制御装置であって、該各プロセッサのキャッシュタグに対応するタグ情報であるスヌープタグのウェイ数が前記プロセッサのキャッシュタグのウェイ数よりも多い該スヌープタグを有する該プロセッサ制御装置と、を備えることを特徴とする。
このように構成することにより、キャッシュミス率の低減させることができる。
前記情報処理システムにおいて、キャッシュミス時に前記プロセッサから読み出し要求があった場合、前記プロセッサ制御装置は前記スヌープタグのウェイに空きがあれば、該空きウェイを該読み出し要求の対象となるアドレス情報で更新して、該アドレス情報に対応するデータを前記プロセッサへ送信することを特徴とする。
このように構成することにより、スヌープタグのリプレースを減少させることができるので、キャッシュミス率の低減させることができる。
前記情報処理システムにおいて、前記空きウェイ更新時には、前記プロセッサ制御装置から前記プロセッサへ前記キャッシュタグのウェイのうち所定のアドレス情報が格納されたウェイから該アドレス情報を削除する旨の要求がなされないことを特徴とする。
このように構成することにより、Eviction要求がCPUに通知されないために、CPU側のキャッシュタグのWAYの不要な削除を抑制することができる。
前記情報処理システムにおいて、キャッシュミス時に前記プロセッサから読み出し要求があった場合、前記スヌープタグのウェイに空きがなければ、前記プロセッサ制御装置は前記スヌープタグのウェイに格納されたアドレス情報のいずれかを削除し、該アドレス情報を削除する旨を前記プロセッサへ通知することを特徴とする。
このように構成することにより、スヌープタグのWAY数がキャッシュタグのWAY数より多いので、スヌープタグが更新されるにつれて、スヌープタグとキャッシュタグのアドレスの格納内容が大きく乖離し、両者には同一のアドレスが存在する可能性は、従来例に比べ低くなる。
前記情報処理システムには、キャッシュミス時に前記キャッシュタグのいずれかのウェイに格納されたアドレス情報を追い出す旨の情報を前記プロセッサから前記プロセッサ制御装置へ通知しない方式が用いられていることを特徴とする。
このように構成することにより、当該方式において余分な空きWAYが生じてしまうという現象を抑制することができる。
本発明は、このような方式を前提とするものである。
本発明にかかる、複数ウェイからなるキャッシュタグとキャッシュデータを含むキャッシュメモリを有し、外部から受け取った命令を実行及びデータを処理する1つ以上のプロセッサと、前記プロセッサからの読み出し要求に基づいて該プロセッサへ応答するプロセッサ制御装置であって、該各プロセッサのキャッシュタグに対応するタグ情報であるスヌープタグのウェイ数が前記プロセッサのキャッシュタグのウェイ数よりも多い該スヌープタグを有する該プロセッサ制御装置と、を備える情報処理システムのキャッシュタグ及びスヌープタグの更新方法は、キャッシュミス時に前記プロセッサから読み出し要求があった場合、前記スヌープタグのウェイに空きがあれば、前記プロセッサ制御装置は該空きウェイを該読み出し要求の対象となるアドレス情報で更新して、該アドレス情報に対応するデータを前記プロセッサへ送信することを特徴とする。
このように構成することにより、スヌープタグのリプレースを減少させることができるので、キャッシュミス率の低減させることができる。
前記キャッシュタグ及びスヌープタグの更新方法において、前記空きウェイ更新時には、前記プロセッサ制御装置から前記プロセッサへ前記キャッシュタグのウェイのうち所定のアドレス情報が格納されたウェイから該アドレス情報を削除する旨の要求がなされないことを特徴とする。
このように構成することにより、Eviction要求がCPUに通知されないために、CPU側のキャッシュタグのWAYの不要な削除を抑制することができる。
前記キャッシュタグ及びスヌープタグの更新方法において、キャッシュミス時に前記プロセッサから情報の読み出し要求があった場合、前記スヌープタグのウェイに空きがなければ、前記プロセッサ制御装置は前記スヌープタグのウェイに格納されたアドレス情報のいずれかを削除し、該アドレスを削除する旨を前記プロセッサへ通知することを特徴とする。
このように構成することにより、スヌープタグのWAY数がキャッシュタグのWAY数より多いので、スヌープタグが更新されるにつれて、スヌープタグとキャッシュタグのアドレスの格納内容が大きく乖離し、両者には同一のアドレスが存在する可能性は、従来例に比べ低くなる。
前記キャッシュタグ及びスヌープタグの更新方法において、前記情報処理システムには、キャッシュミス時に前記キャッシュタグのいずれかを追い出す旨の情報を前記プロセッサ制御装置へ通知しない方式が用いられていることを特徴とする。
このように構成することにより、当該方式において余分な空きWAYが生じてしまうという現象を抑制することができる。
本発明にかかる情報処理基板は、複数ウェイからなるキャッシュタグとキャッシュデータを含むキャッシュメモリを有し、外部から受け取った命令を実行及びデータを処理する1つ以上のプロセッサと、前記プロセッサからの読み出し要求に基づいて該プロセッサへ応答するプロセッサ制御装置であって、該各プロセッサのキャッシュタグに対応するタグ情報であるスヌープタグのウェイ数が前記プロセッサのキャッシュタグのウェイ数よりも多い該スヌープタグを有する該プロセッサ制御装置と、を備えることを特徴とする。
このように構成することにより、スヌープタグのリプレースを減少させることができるので、キャッシュミス率の低減させることができる。
本発明により、システムコントローラ1内のスヌープタグ5のリプレースを減少させることができる。したがって、CPU2内のキャッシュタグ3がFULLの場合に生じる過剰なリプレースの減少が可能となる。その結果、キャッシュミス率を低減させることができる。
本発明では、システムコントローラ内スヌープタグに収容できるWAY数を、CPUキャッシュ内のWAY数よりも多くする情報処理システムを提供する。これにより、過剰なCPU内タグのリプレースを防ぐことができる。
図1は、本発明の一実施形態にかかる情報処理システムの構成概念図を示す。本実施形態は、キャッシュを有するCPUと、そのキャッシュのタグのコピー(以下、スヌープタグと称する)を有するシステムコントローラを搭載したチップセットを有する情報処理システムで、キャッシュタグのリプレース情報の発行がないCPUを持つ情報処理システムが前提である。
本実施形態にかかる情報処理システム100は、1つ以上のプロセッサ104と、プロセッサ制御装置101を備える。
プロセッサ104は、複数ウェイ106からなるキャッシュタグ105とキャッシュデータを含むキャッシュメモリを有し、外部から受け取った命令を実行及びデータを処理するものである。
プロセッサ制御装置101は、プロセッサ104からの読み出し要求に基づいてプロセッサ104へ応答する装置である。プロセッサ制御装置101は、各プロセッサ104のキャッシュタグ105に対応するタグ情報であるスヌープタグ102を有する。スヌープタグ102のウェイ103の数(m個:任意の整数)が前記プロセッサ104のキャッシュタグ105のウェイ106の数(n個:任意の整数)よりも多い(m>n)。
キャッシュミス時にプロセッサ104から読み出し要求があった場合、プロセッサ制御装置101はスヌープタグ102のウェイ103に空きがあれば、空きウェイを読み出し要求の対象となるデータのアドレス情報で更新して、該アドレス情報に対応するデータを前記プロセッサ104へ送信することができる。
この空きウェイ更新時には、キャッシュタグ105のウェイ106のうち所定のアドレス情報が格納されたウェイから該アドレス情報を削除する旨の要求がプロセッサ制御装置101からプロセッサ104に対してなされない。
これにより、スヌープタグ102のリプレースを減少させることができるので、キャッシュミス率の低減させることができる。また、Eviction要求がCPUに通知されないために、CPU側のキャッシュタグのWAYの不要な削除を抑制することができる。
また、キャッシュミス時にプロセッサ104から読み出し要求があった場合、スヌープタグ102のウェイ103に空きがなければ、プロセッサ制御装置101はスヌープタグ102のウェイ103に格納されたアドレス情報のいずれかを削除し、該アドレス情報を削除する旨(Eviction要求)をプロセッサ104へ通知する。
本発明では、スヌープタグはキャッシュタグの内容と同じ内容が格納されているが、スヌープタグのWAY数が、キャッシュタグのWAY数よりも多いために、既にキャッシュでは保持されていないアドレスをも保持している。よって、スヌープタグがFULLの場合、任意に選択したWAYが、キャッシュ側で保持していないアドレスである可能性が高くなる。したがって、システムコントローラからのEviction要求が発生した場合、キャッシュ側ではそのEviction要求で指定されたアドレスを保持している可能性が低くなるため、キャッシュタグのWAYのアドレス削除処理が発生する可能性が低くなる。その結果、キャッシュタグの空きWAYが存在する可能性が低くなり、キャッシュミス率を低減させることができる。
それでは、以下に本発明の実施形態について詳述する。
図2は、本実施形態における情報処理システムのタグの構成図を示す。図8と比べて、図2ではシステムコントローラ1内スヌープタグ5a,5bのWAY数が、対応するCPU2a,2b内のキャッシュタグ3a,3bのWAY数より1つ多い。すなわち、本実施形態では、CPU2a,2b内キャッシュタグ3a,3bのWAY数が4であるのに対し、システムコントローラ1内スヌープタグ5a,5bのWAY数は5としている。
図2において、6a−Aa,6a−Abは、CPU2a,2bからのキャッシュREAD要求を示す。6a−Ba,6a−Bbは、システムコントローラからのEviction要求を示す。6a−Ca,6a−Cbは、CPU2a,2bから送信されるキャッシュデータを示す。
図3は、キャッシュREAD要求、Eviction要求、及びキャッシュデータのパケット形式を示す。図3(a)は、CPUからのキャッシュREAD要求6a−Aa,6a−Abのパケット形式を示す。キャッシュREAD要求は、「ID」フィールド、「OPC」フィールド、「アドレス」フィールドから構成される。「ID」フィールドは、いずれのCPUからのREAD要求であるかを識別する情報が格納されている。「OPC」フィールドには、READ命令が格納されている。「アドレス」フィールドには、読み出し要求対象のデータが格納される主メモリのアドレスが格納されている。
図3(b)は、システムコントローラからのEviction要求6a−Ba,6a−Bbのパケット形式を示す。Eviction要求は、「OPC」フィールド、「アドレス」フィールドから構成される。「OPC」フィールドには、Eviction命令が格納されている。「アドレス」フィールドには、リプレース対象となったスヌープタグのWAYに格納されたアドレスと同一のアドレスが格納されている。
図3(c)は、システムコントローラからCPUへ送信されるキャッシュデータ6a−Ca,6a−Cbのパケット形式を示す。キャッシュデータは、「ID」フィールド、「データ」フィールドから構成される。「データ」フィールドには、データが格納されている。
図4A及び図4Bは、本実施形態におけるキャッシュミス発生時のタグの更新例を示す。以下では、説明の便宜上、キャッシュタグ3a及びそのキャッシュタグ3aに対応するスヌープタグ5aに着目して説明する。
まず、CPU2a内キャッシュタグ3aは4WAYで構成され、各WAY(3a−0,3a−1,3a−2,3a−3)にはそれぞれ、アドレス(0,1,2,3)が格納されている(CPU2a内キャッシュタグ3aがFULLの状態)。
一方、システムコントローラ内スヌープタグ5aは5WAYで構成され、そのうち4つのWAY(5a−0,5a−1,5a−2,5a−3)にはそれぞれ、アドレス(0,1,2,3)が格納されている。スヌープタグ5aのWAY[5a−4]は空である。
まず、CPU2aにおいて、キャッシュミスによるリード要求が発生する。例えば、アドレス5に対応するデータついてのリード要求が発生する(S1)。
そうすると、CPU2aは、例えばキャッシュタグ3aのWAY[3a−0]をリプレース対象に決定し、WAY[3a−0]に格納されているアドレス情報(アドレス0)を削除する(S2)。
CPU2aは、S1で発生したアドレス情報(アドレス5)についてのリード要求をシステムコントローラ1に対して行う(S3)。
ここで、本実施形態によるシステムが、CPU2aからリプレース要求がないシステムであるとする。この場合、スヌープタグ5aがFULLの場合には、システムコントローラはスヌープタグにおける任意のWAYのアドレス情報を削除する必要がある。しかしながら、S3の状態ではスヌープタグ5aのWAY[5a−4]は空いているため、スヌープタグ5aのWAYの情報を削除する処理が発生しない。したがって、その削除処理に付随するCPU2aに対するEviction要求も発生しない。
そうすると、システムコントローラ1は、スヌープタグ5aのWAY[5a−4]を更新し、アドレス5がWAY[5a−4]に格納される。さらに、システムコントローラ1は、そのアドレスに対応するリード要求の対象データをCPU2aへ送信する(S4)。
CPU2aは、システムコントローラ1からのデータを受信してキャッシュデータ4aに書き込むとともに、そのデータに対応するアドレス(アドレス5)によりキャッシュタグ3aのWAY[3a−0]を更新する(S5)。
再度、CPU2aにおいて、キャッシュミスによるリード要求が発生する。例えば、アドレス6についてのリード要求が発生する(S6)。このとき、キャッシュタグ3aがFULLであるため、CPU2aは、例えばキャッシュタグ3aのWAY[3a−1]をリプレース対象に決定し、WAY[3a−1]に格納されているアドレス情報(アドレス1)を削除する(S7)。
それから、CPU2aはシステムコントローラ1へアドレス6に対応するデータのリード要求を行う(S8)。
S8の状態ではスヌープタグ5aがFULLであるため、システムコントローラ1は、例えばWAY[5a−1]をリプレース対象に決定し、そのWAY[5a−1]に格納されているアドレス情報(アドレス1)を削除する。
リプレース対象となったWAY[5a−1]に格納されたアドレス情報は、キャッシュタグ3aにおいてもリプレース対象となる。よって、システムコントローラ1は、リプレース対象となったアドレス(アドレス1)の削除をCPU2aへ要求する(Eviction要求)(S9)。
CPU2aは、Eviction要求を受け取る。しかしながら、CPU2aは、Eviction要求の対象アドレスを保持していないので、Eviction処理は発生しない。すると、システムコントローラ1は、スヌープタグ5aのWAY[5a−1]を更新し、アドレス6がスヌープタグ5aのWAY[5a−1]に格納される。さらに、システムコントローラ1は、そのアドレスに対応するリード要求の対象データをCPU2aへ送信する(S10)。
CPU2aは、システムコントローラ1からのデータを受信してキャッシュデータ4aに書き込むとともに、そのデータに対応するアドレスによりキャッシュタグ3aのWAY[3a−0]を更新し、アドレス6がキャッシュタグ3aのWAY[3a−2]が格納される(S11)。
このように、キャッシュタグ3aがFULLのときにキャッシュミスが発生した場合、キャッシュタグ3aのリプレースは、キャッシュミスによるリード要求発生直後に生じるのみとなる。すなわち、キャッシュタグ3aには、タグの更新時において、生じる空きWAYは1つのみとなり、2つ以上の空きWAYが生じず、余分なリプレースは発生しない。図4A及び図4Bで説明したことを、図5を用いて説明する。
図5は、本実施形態におけるキャッシュミス発生時のタグの更新のフローを示す。まず、CPU2において、キャッシュミスによるリード要求が発生する(S21)。そうすると、CPU2はキャッシュタグ3がFULLか否かを判断する(S22)。
キャッシュタグ3がFULLでない場合、すなわち、キャッシュタグ3に空きWAYがある場合(S22で「NO」へ進む)、S24へ進む。
キャッシュタグ3がFULLの場合、すなわちキャッシュタグ3に空きWAYがない場合(S22で「YES」へ進む)、キャッシュタグ3から任意のWAYを削除する(S23)。このとき、WAYの削除には、例えば、LRU(Least Recently Used)方式やその他の公知の方法で削除することができる。
次に、CPU2はシステムコントローラ1に対してREAD要求を行う(S24)。システムコントローラ1は、READ要求を行ったCPU2に対応するスヌープタグ5がFULLか否かを判断する(S25)。
スヌープタグ5がFULLでない場合、すなわち、スヌープタグ5に空きWAYがある場合(S25で「NO」へ進む)、システムコントロール1はその空きWAYを更新し、READ要求されたアドレスがその空きWAYに格納される(S29)。
スヌープタグ5がFULLの場合、すなわち、スヌープタグ5に空きWAYがない場合(S25で「YES」へ進む)、システムコントロール1はスヌープタグ5内のWAYをランダムに選択し、選択したWAYに格納されているアドレスを削除する。さらに、システムコントローラ1は、READ要求を行ったCPU2へEviction要求を発行する(S26)。
そうすると、CPU2は、Eviction要求されたアドレスをキャッシュタグ3内に保持しているか否かを判断する(S27)。
Eviction要求されたアドレスがキャッシュタグ3内に保持されていない場合(S27で「NO」へ進む)、S30へ進む。
Eviction要求されたアドレスがキャッシュタグ3内に保持されている場合(S27で「YES」へ進む)、CPU2は、Eviction要求されたアドレスが格納されているキャッシュタグ3のWAYのアドレスを削除する(S28)。それから、システムコントローラ1は、S26で削除したスヌープタグ5のWAYを更新する(S29)。
その後、システムコントローラ1はリード要求されたデータを、READ要求を行ったCPU2に送信し(S30)、さらに送信したデータに対応するアドレスでキャッシュタグ3のWAYを更新する(S31)。
なお、本実施形態では、システムコントローラ1内スヌープタグ5のWAY数をCPU2内キャッシュタグ3のWAY数より1だけ多くしたが、WAY数の関係はこれに限定されない。すなわち、スヌープタグ5のWAY数がキャッシュタグ3のWAY数より多ければよい。
また、本発明では、スヌープタグはキャッシュタグの内容と同じ内容が格納されているが、スヌープタグのWAY数が、キャッシュタグのWAY数よりも多いために、既にキャッシュでは保持されていないアドレスをも保持している。よって、スヌープタグがFULLの場合、任意に選択したWAYが、キャッシュ側で保持していないアドレスである可能性が高くなる。したがって、システムコントローラからのEviction要求が発生した場合、キャッシュ側ではそのEviction要求で指定されたアドレスを保持している可能性が低くなるため、キャッシュタグのWAYのアドレス削除処理が発生する可能性が低くなる。その結果、キャッシュタグの空きWAYが存在する可能性が低くなり、キャッシュミス率を低減させることができる。
なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または態様を採ることができる。
本発明により、システムコントローラ1内のスヌープタグ5のリプレースを減少させることができる。したがって、CPU2内のキャッシュタグ3がFULLの場合に生じる過剰なリプレースの減少が可能となる。その結果、キャッシュミス率の増大を防ぐことができる。
(付記1) 複数ウェイからなるキャッシュタグとキャッシュデータ領域を含むキャッシュメモリを有し、外部から受け取った命令の実行及びデータの処理を行う1つ以上のプロセッサと、
前記プロセッサからの読み出し要求に基づいて該プロセッサへ応答するプロセッサ制御装置であって、該プロセッサのキャッシュタグに対応するタグ情報であるスヌープタグを有し、前記スヌープタグのウェイ数が前記プロセッサのキャッシュタグのウェイ数よりも多いプロセッサ制御装置と、
を備えることを特徴とする情報処理システム。
(付記2) 前記プロセッサにおいてキャッシュミスが生じたときに、前記プロセッサから前記プロセッサ制御装置に対してデータの読み出し要求があった場合、前記プロセッサ制御装置は前記スヌープタグのウェイに空きがあれば、該空きウェイを該読み出し要求の対象となるアドレス情報で更新して、該アドレス情報に対応するデータを前記プロセッサへ送信する
ことを特徴とする付記1に記載の情報処理システム。
(付記3) 前記空きウェイ更新時には、前記プロセッサ制御装置から前記プロセッサへ前記キャッシュタグのウェイのうち所定のアドレス情報が格納されたウェイから該アドレス情報を削除する旨の要求がなされない
ことを特徴とする付記2に記載の情報処理システム。
(付記4) キャッシュミス時に前記プロセッサから読み出し要求があった場合、前記スヌープタグのウェイに空きがなければ、前記プロセッサ制御装置は前記スヌープタグのウェイに格納されたアドレス情報のいずれかを削除し、該アドレス情報を削除する旨を前記プロセッサへ通知する
ことを特徴とする付記1に記載の情報処理システム。
(付記5) 前記情報処理システムには、キャッシュミス時に前記キャッシュタグのいずれかのウェイに格納されたアドレス情報を追い出す旨の情報を前記プロセッサから前記プロセッサ制御装置へ通知しない方式が用いられている
ことを特徴とする付記1に記載の情報処理システム。
(付記6) キャッシュタグとキャッシュデータ領域からなる複数ウェイのキャッシュメモリを有し、命令を実行及びデータを処理する1つ以上のプロセッサと、前記プロセッサからの要求に基づいて該プロセッサへ情報を送信するプロセッサ制御装置であって、該各プロセッサのキャッシュタグに対応するタグ情報であるスヌープタグのウェイ数が前記プロセッサのキャッシュタグのウェイ数よりも多い該スヌープタグを有する該プロセッサ制御装置と、を備える情報処理システムのキャッシュタグ及びスヌープタグの更新方法であって、
キャッシュミス時に前記プロセッサから読み出し要求があった場合、前記スヌープタグのウェイに空きがあれば、前記プロセッサ制御装置は該空きウェイを該読み出し要求の対象となるアドレス情報で更新して、該アドレス情報に対応するデータを前記プロセッサへ送信する
ことを特徴とするキャッシュタグ及びスヌープタグの更新方法。
(付記7) 前記空きウェイ更新時には、前記プロセッサ制御装置から前記プロセッサへ前記キャッシュタグのウェイのうち所定のアドレス情報が格納されたウェイから該アドレス情報を削除する旨の要求がなされない
ことを特徴とする付記6に記載のキャッシュタグ及びスヌープタグの更新方法。
(付記8) キャッシュミス時に前記プロセッサから情報の読み出し要求があった場合、前記スヌープタグのウェイに空きがなければ、前記プロセッサ制御装置は前記スヌープタグのウェイに格納されたアドレス情報のいずれかを削除し、該アドレスを削除する旨を前記プロセッサへ通知する
ことを特徴とする付記6に記載のキャッシュタグ及びスヌープタグの更新方法。
(付記9) 前記情報処理システムには、キャッシュミス時に前記キャッシュタグのいずれかを追い出す旨の情報を前記プロセッサ制御装置へ通知しない方式が用いられている
ことを特徴とする付記6に記載のキャッシュタグ及びスヌープタグの更新方法。
(付記10) 複数ウェイからなるキャッシュタグとキャッシュデータ領域を含むキャッシュメモリを有し、外部から受け取った命令を実行及びデータを処理する1つ以上のプロセッサと、
前記プロセッサからの読み出し要求に基づいて該プロセッサへ応答するプロセッサ制御装置であって、該各プロセッサのキャッシュタグに対応するタグ情報であるスヌープタグのウェイ数が前記プロセッサのキャッシュタグのウェイ数よりも多い該スヌープタグを有する該プロセッサ制御装置と、
を備えることを特徴とする情報処理基板。
(付記11) キャッシュミス時に前記プロセッサから読み出し要求があった場合、前記プロセッサ制御装置は前記スヌープタグのウェイに空きがあれば、該空きウェイを該読み出し要求の対象となるアドレス情報で更新して、該アドレス情報に対応するデータを前記プロセッサへ送信する
ことを特徴とする付記10に記載の情報処理基板。
(付記12) 前記空きウェイ更新時には、前記プロセッサ制御装置から前記プロセッサへ前記キャッシュタグのウェイのうち所定のアドレス情報が格納されたウェイから該アドレス情報を削除する旨の要求がなされない
ことを特徴とする付記11に記載の情報処理基板。
(付記13) キャッシュミス時に前記プロセッサから読み出し要求があった場合、前記スヌープタグのウェイに空きがなければ、前記プロセッサ制御装置は前記スヌープタグのウェイに格納されたアドレス情報のいずれかを削除し、該アドレス情報を削除する旨を前記プロセッサへ通知する
ことを特徴とする付記10に記載の情報処理基板。
(付記14) 前記情報処理システムには、キャッシュミス時に前記キャッシュタグのいずれかのウェイに格納されたアドレス情報を追い出す旨の情報を前記プロセッサから前記プロセッサ制御装置へ通知しない方式が用いられている
ことを特徴とする付記10に記載の情報処理基板。
本発明の一実施形態にかかる情報処理システムの構成概念図を示す。 本発明の一実施形態における情報処理システムのタグの構成図を示す。 キャッシュREAD要求、Eviction要求、及びキャッシュデータのパケット形式を示す。 本発明の一実施形態におけるキャッシュミス発生時のタグの更新例(その1)を示す。 本発明の一実施形態におけるキャッシュミス発生時のタグの更新例(その2)を示す。 本発明の一実施形態におけるキャッシュミス発生時のタグの更新のフローを示す。 一般的なマルチプロセッサ構成を備える情報処理システムの全体図(チップセット)を示す。 情報処理システムにおけるタグを示す。 従来におけるタグの構成例である。 従来におけるキャッシュミス発生時のタグの更新例(その1)を示す。 従来におけるキャッシュミス発生時のタグの更新例(その2)を示す。
符号の説明
100 情報処理システム
101 プロセッサ制御装置
102 スヌープタグ
103 ウェイ
104 プロセッサ
105 キャッシュタグ
106 ウェイ
1 システムコントローラ
2(2a,2b,2c,2d) CPU
3(3a,3b,3c,3d) キャッシュタグ
4(4a,4b,4c,4d) キャッシュデータ
5(5a,5b,5c,5d) スヌープタグ
6(6a,6b,6c,6d) CPUバス

Claims (10)

  1. 複数ウェイからなるキャッシュタグとキャッシュデータ領域を含むキャッシュメモリを有し、外部から受け取った命令の実行及びデータの処理を行う1つ以上のプロセッサと、
    前記プロセッサからの読み出し要求に基づいて該プロセッサへ応答するプロセッサ制御装置であって、該プロセッサのキャッシュタグに対応するタグ情報であるスヌープタグを有し、前記スヌープタグのウェイ数が前記プロセッサのキャッシュタグのウェイ数よりも多いプロセッサ制御装置と、
    を備えることを特徴とする情報処理システム。
  2. 前記プロセッサにおいてキャッシュミスが生じたときに、前記プロセッサから前記プロセッサ制御装置に対してデータの読み出し要求があった場合、前記プロセッサ制御装置は前記スヌープタグのウェイに空きがあれば、該空きウェイを該読み出し要求の対象となるアドレス情報で更新して、該アドレス情報に対応するデータを前記プロセッサへ送信する
    ことを特徴とする請求項1に記載の情報処理システム。
  3. 前記空きウェイ更新時には、前記プロセッサ制御装置から前記プロセッサへ前記キャッシュタグのウェイのうち所定のアドレス情報が格納されたウェイから該アドレス情報を削除する旨の要求がなされない
    ことを特徴とする請求項2に記載の情報処理システム。
  4. キャッシュミス時に前記プロセッサから読み出し要求があった場合、前記スヌープタグのウェイに空きがなければ、前記プロセッサ制御装置は前記スヌープタグのウェイに格納されたアドレス情報のいずれかを削除し、該アドレス情報を削除する旨を前記プロセッサへ通知する
    ことを特徴とする請求項1に記載の情報処理システム。
  5. 前記情報処理システムには、キャッシュミス時に前記キャッシュタグのいずれかのウェイに格納されたアドレス情報を追い出す旨の情報を前記プロセッサから前記プロセッサ制御装置へ通知しない方式が用いられている
    ことを特徴とする請求項1に記載の情報処理システム。
  6. キャッシュタグとキャッシュデータ領域からなる複数ウェイのキャッシュメモリを有し、命令を実行及びデータを処理する1つ以上のプロセッサと、前記プロセッサからの要求に基づいて該プロセッサへ情報を送信するプロセッサ制御装置であって、該各プロセッサのキャッシュタグに対応するタグ情報であるスヌープタグのウェイ数が前記プロセッサのキャッシュタグのウェイ数よりも多い該スヌープタグを有する該プロセッサ制御装置と、を備える情報処理システムのキャッシュタグ及びスヌープタグの更新方法であって、
    キャッシュミス時に前記プロセッサから読み出し要求があった場合、前記スヌープタグのウェイに空きがあれば、前記プロセッサ制御装置は該空きウェイを該読み出し要求の対象となるアドレス情報で更新して、該アドレス情報に対応するデータを前記プロセッサへ送信する
    ことを特徴とするキャッシュタグ及びスヌープタグの更新方法。
  7. 前記空きウェイ更新時には、前記プロセッサ制御装置から前記プロセッサへ前記キャッシュタグのウェイのうち所定のアドレス情報が格納されたウェイから該アドレス情報を削除する旨の要求がなされない
    ことを特徴とする請求項6に記載のキャッシュタグ及びスヌープタグの更新方法。
  8. キャッシュミス時に前記プロセッサから情報の読み出し要求があった場合、前記スヌープタグのウェイに空きがなければ、前記プロセッサ制御装置は前記スヌープタグのウェイに格納されたアドレス情報のいずれかを削除し、該アドレスを削除する旨を前記プロセッサへ通知する
    ことを特徴とする請求項6に記載のキャッシュタグ及びスヌープタグの更新方法。
  9. 前記情報処理システムには、キャッシュミス時に前記キャッシュタグのいずれかを追い出す旨の情報を前記プロセッサ制御装置へ通知しない方式が用いられている
    ことを特徴とする請求項6に記載のキャッシュタグ及びスヌープタグの更新方法。
  10. 複数ウェイからなるキャッシュタグとキャッシュデータ領域を含むキャッシュメモリを有し、外部から受け取った命令を実行及びデータを処理する1つ以上のプロセッサと、
    前記プロセッサからの読み出し要求に基づいて該プロセッサへ応答するプロセッサ制御装置であって、該各プロセッサのキャッシュタグに対応するタグ情報であるスヌープタグのウェイ数が前記プロセッサのキャッシュタグのウェイ数よりも多い該スヌープタグを有する該プロセッサ制御装置と、
    を備えることを特徴とする情報処理基板。
JP2006222439A 2006-08-17 2006-08-17 情報処理システム、情報処理基板、及びキャッシュタグ及びスヌープタグの更新方法 Pending JP2008046902A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2006222439A JP2008046902A (ja) 2006-08-17 2006-08-17 情報処理システム、情報処理基板、及びキャッシュタグ及びスヌープタグの更新方法
EP07106976A EP1895419B1 (en) 2006-08-17 2007-04-26 Information processing system, information processing board, and method of updating cache tag and snoop tag
US11/740,984 US7805576B2 (en) 2006-08-17 2007-04-27 Information processing system, information processing board, and method of updating cache tag and snoop tag
KR1020070045444A KR100900012B1 (ko) 2006-08-17 2007-05-10 정보 처리 시스템, 정보 처리 기판, 및 캐시 태그 및스누프 태그의 갱신 방법
CN200710103962XA CN101127011B (zh) 2006-08-17 2007-05-17 信息处理板、信息处理系统及其更新标记的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006222439A JP2008046902A (ja) 2006-08-17 2006-08-17 情報処理システム、情報処理基板、及びキャッシュタグ及びスヌープタグの更新方法

Publications (1)

Publication Number Publication Date
JP2008046902A true JP2008046902A (ja) 2008-02-28

Family

ID=38691934

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006222439A Pending JP2008046902A (ja) 2006-08-17 2006-08-17 情報処理システム、情報処理基板、及びキャッシュタグ及びスヌープタグの更新方法

Country Status (5)

Country Link
US (1) US7805576B2 (ja)
EP (1) EP1895419B1 (ja)
JP (1) JP2008046902A (ja)
KR (1) KR100900012B1 (ja)
CN (1) CN101127011B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5011885B2 (ja) * 2006-08-18 2012-08-29 富士通株式会社 スヌープタグの制御装置
JP5790532B2 (ja) * 2012-02-13 2015-10-07 セイコーエプソン株式会社 電子機器、及びメモリー制御方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5373927A (en) * 1976-11-10 1978-06-30 Fujitsu Ltd Replacing system of intermediate buffer memory
JPH02188847A (ja) * 1989-01-18 1990-07-24 Agency Of Ind Science & Technol 階層キャッシュメモリにおけるデータ交換方式
JPH05216765A (ja) * 1992-02-06 1993-08-27 Hitachi Ltd 階層バッファ記憶装置
JPH11306082A (ja) * 1998-04-23 1999-11-05 Fujitsu Ltd 主記憶制御装置
JP2002007371A (ja) * 2000-06-23 2002-01-11 Hitachi Ltd L1キャッシュフォールスシェア緩和制御方式
JP2002055880A (ja) * 2000-08-08 2002-02-20 Hitachi Ltd キャッシュ構成方法及びプロセッサシステム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2862424B2 (ja) 1992-01-30 1999-03-03 株式会社日立製作所 情報処理装置
JPH05265970A (ja) 1992-03-19 1993-10-15 Toshiba Corp マルチプロセッサシステム
US5590310A (en) 1993-01-14 1996-12-31 Integrated Device Technology, Inc. Method and structure for data integrity in a multiple level cache system
JPH0713864A (ja) * 1993-06-25 1995-01-17 Mitsubishi Electric Corp データ処理装置
TW243509B (en) 1994-01-31 1995-03-21 Ibm Data processor with memory cache and method of operation
US5860109A (en) 1996-07-01 1999-01-12 Sun Microsystems, Inc. Methods and apparatus for a coherence transformer for connecting computer system coherence domains
JPH1173370A (ja) * 1997-08-29 1999-03-16 Fujitsu Ltd 情報処理装置
JP3989312B2 (ja) 2002-07-05 2007-10-10 富士通株式会社 キャッシュメモリ装置およびメモリ割付方法
US7143246B2 (en) * 2004-01-16 2006-11-28 International Business Machines Corporation Method for supporting improved burst transfers on a coherent bus

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5373927A (en) * 1976-11-10 1978-06-30 Fujitsu Ltd Replacing system of intermediate buffer memory
JPH02188847A (ja) * 1989-01-18 1990-07-24 Agency Of Ind Science & Technol 階層キャッシュメモリにおけるデータ交換方式
JPH05216765A (ja) * 1992-02-06 1993-08-27 Hitachi Ltd 階層バッファ記憶装置
JPH11306082A (ja) * 1998-04-23 1999-11-05 Fujitsu Ltd 主記憶制御装置
JP2002007371A (ja) * 2000-06-23 2002-01-11 Hitachi Ltd L1キャッシュフォールスシェア緩和制御方式
JP2002055880A (ja) * 2000-08-08 2002-02-20 Hitachi Ltd キャッシュ構成方法及びプロセッサシステム

Also Published As

Publication number Publication date
EP1895419B1 (en) 2013-01-23
CN101127011A (zh) 2008-02-20
KR100900012B1 (ko) 2009-05-29
US20080046662A1 (en) 2008-02-21
EP1895419A2 (en) 2008-03-05
KR20080016429A (ko) 2008-02-21
EP1895419A3 (en) 2008-03-26
CN101127011B (zh) 2010-06-02
US7805576B2 (en) 2010-09-28

Similar Documents

Publication Publication Date Title
EP4158486B1 (en) Computer memory expansion device and method of operation
US8145844B2 (en) Memory controller with write data cache and read data cache
CN113826085B (zh) 处理器中的写入流
US20080189487A1 (en) Control of cache transactions
KR101472967B1 (ko) 라이트 백 동작을 수행하는 캐시 메모리, 이의 동작 방법, 및 이를 포함하는 시스템
JP5163220B2 (ja) キャッシュ制御装置、情報処理装置
KR20100131054A (ko) 캐쉬 제어기 및 캐쉬 블록 교체 방법
JP4788528B2 (ja) ディスク制御装置、ディスク制御方法、ディスク制御プログラム
CN108920192B (zh) 基于分布式有限目录的缓存数据一致性实现方法及装置
JP5499987B2 (ja) 共有キャッシュメモリ装置
JP2007011580A (ja) 情報処理装置
JP2000285023A (ja) ファイル制御装置
US9983994B2 (en) Arithmetic processing device and method for controlling arithmetic processing device
KR100900012B1 (ko) 정보 처리 시스템, 정보 처리 기판, 및 캐시 태그 및스누프 태그의 갱신 방법
US20130339624A1 (en) Processor, information processing device, and control method for processor
JP4295814B2 (ja) マルチプロセッサシステム及びマルチプロセッサシステムの動作方法
JP5040121B2 (ja) 情報処理装置、キャッシュ制御方法及びプログラム
US20180335829A1 (en) Processing device and control method of processing device
JP5168800B2 (ja) マルチプロセッサシステム
JP4765249B2 (ja) 情報処理装置およびキャッシュメモリ制御方法
JP2008026970A (ja) ストレージ装置
JPWO2007110898A1 (ja) マルチプロセッサシステムおよびマルチプロセッサシステムの動作方法
JP2007257192A (ja) データ処理装置
WO2007110914A1 (ja) マルチプロセッサシステムおよびマルチプロセッサシステムの動作方法
JP2014170262A (ja) バスモジュール及びデータ処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090409

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120117

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120319

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120508

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120808

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120815

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20120907