Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5420182B2 - キャッシュメモリシステム、データ処理装置および記憶装置 - Google Patents
[go: Go Back, main page]

JP5420182B2 - キャッシュメモリシステム、データ処理装置および記憶装置 - Google Patents

キャッシュメモリシステム、データ処理装置および記憶装置 Download PDF

Info

Publication number
JP5420182B2
JP5420182B2 JP2008066067A JP2008066067A JP5420182B2 JP 5420182 B2 JP5420182 B2 JP 5420182B2 JP 2008066067 A JP2008066067 A JP 2008066067A JP 2008066067 A JP2008066067 A JP 2008066067A JP 5420182 B2 JP5420182 B2 JP 5420182B2
Authority
JP
Japan
Prior art keywords
processor
storage hierarchy
storage
data
cache
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
JP2008066067A
Other languages
English (en)
Other versions
JP2009223511A (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 Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor 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 Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2008066067A priority Critical patent/JP5420182B2/ja
Priority to US12/402,114 priority patent/US8230173B2/en
Publication of JP2009223511A publication Critical patent/JP2009223511A/ja
Application granted granted Critical
Publication of JP5420182B2 publication Critical patent/JP5420182B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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次キャッシュメモリとを設けることにより(即ち、キャッシュメモリに階層構造を持たせることにより)、キャッシュミスヒットの発生に伴うペナルティを軽減させる手法がよく用いられる。マルチプロセッサ構成のデータ処理装置に階層型のキャッシュメモリを適用する場合には、主記憶装置に近い方の記憶階層を複数のプロセッサ間で共有するような構成が採用されることが多い。このような場合、複数のプロセッサ間でのデータのコヒーレンシ(一貫性)を保証するためのキャッシュ制御装置が設けられることもある。
また、ムーブイン動作によりキャッシュメモリに転送されたデータは、キャッシュメモリの該当エントリのデータがストア命令(ストアデータの書き込み)により書き換えられるような場合には、プロセッサにより一度も参照されない。このため、ムーブイン動作が無駄に実施されたことになり、データ処理装置の処理性能や消費電力の面で問題となり得る。この問題を解決する技術としては、ムーブインが不要であるストア命令としてムーブインなしストア命令をプロセッサに実装し、プロセッサによるムーブインなしストア命令の実行時にはキャッシュミスヒットが発生してもムーブインを要求しないように制御することで、ムーブイン動作に伴う無駄なデータ転送(メモリアクセス)を削減する手法が本発明者により提案されている。
なお、キャッシュメモリに関連する技術については、例えば、特許文献1〜3に開示されている。
特許第2552704号公報 特許第3055908号公報 特開平5−100849号公報
例えば、ムーブインなしストア命令を実行可能なプロセッサを複数使用してデータ処理装置を構成し、更に、複数のプロセッサに対して個別に設けられる1次キャッシュメモリと複数のプロセッサ(複数の1次キャッシュメモリ)に対して共通に設けられる2次キャッシュメモリとで構成される階層型のキャッシュメモリを適用した場合、以下に示すような問題があった。
プロセッサP1による記憶領域Aへのアクセスを伴うムーブインなしストア命令の実行時には、プロセッサP1に対応する1次キャッシュメモリでキャッシュミスヒットが発生してもプロセッサP1に対応する1次キャッシュメモリから2次キャッシュメモリに対してムーブインの要求が発生しないため、プロセッサP1とは別のプロセッサP2が記憶領域Aにアクセスした場合のキャッシュコヒーレンシの問題を解決することが困難であった。
本発明の目的は、複数のプロセッサを用いたデータ処理装置に適用されるキャッシュメモリシステムについてキャッシュコヒーレンシを保ちながら記憶階層間での無駄なデータ転送を削減する技術を提供することにある。
複数のプロセッサを用いたデータ処理装置に適用されるキャッシュメモリシステムは、複数のプロセッサに対して個別に設けられる複数の第1記憶階層部と、複数のプロセッサに対して共通に設けられる第2記憶階層部と、複数の第1記憶階層部および第2記憶階層部の間でのデータ転送を制御する制御部とを備える。複数のプロセッサの各々は、第2記憶階層部から自身の第1記憶階層部へのデータ転送が不要であるストア命令としてデータ転送なしストア命令を実行可能である。複数の第1記憶階層部の各々は、自身に対応するプロセッサによりストア命令が実行される場合、実行対象の命令の種別が通常のストア命令であれば、命令実行時にキャッシュミスヒットが発生すると、第2記憶階層部から自身へのデータ転送を要求するための第1転送制御信号を制御部に出力し、実行対象の命令の種別がデータ転送なしストア命令であれば、制御部への第1転送制御信号の出力を禁止し、命令実行時にキャッシュミスヒットが発生すると、自身に対応するプロセッサによるデータ転送なしストア命令の実行時にキャッシュミスヒットが発生したことを認識させるための第2転送制御信号を制御部に出力する。制御部は、複数のプロセッサに含まれる第1プロセッサの第1記憶階層部により第2転送制御信号が出力されたことで、第1プロセッサによるデータ転送なしストア命令の実行時に第1プロセッサの第1記憶階層部でキャッシュミスヒットが発生したことを認識した場合、第1プロセッサの第1記憶階層部により指定される記憶領域に関して、少なくとも第2記憶階層部から第1プロセッサの第1記憶階層部へのデータ転送を実施せずに第1プロセッサの第1記憶階層部の状態情報を更新する。
例えば、制御部は、第1プロセッサの第1記憶階層部により第2転送制御信号が出力され、第1プロセッサの第1記憶階層部により指定される記憶領域のデータが第1プロセッサ以外の第1記憶階層部のいずれにも変更状態で存在しない場合、第2記憶階層部から第1プロセッサの第1記憶階層部へのデータ転送を実施せずに第1プロセッサの第1記憶階層部の状態情報を更新する。制御部は、第1プロセッサの第1記憶階層部の状態情報を無効状態から変更状態に更新する。例えば、制御部は、第1プロセッサの第1記憶階層部により第2転送制御信号が出力され、第1プロセッサの第1記憶階層部により指定される記憶領域のデータが第1プロセッサとは別の第2プロセッサの第1記憶階層部に変更状態で存在する場合、第2プロセッサの第1記憶階層部から第2記憶階層部へのデータ転送を実施せずに第2プロセッサの第1記憶階層部の状態情報を更新し、第2記憶階層部から第1プロセッサの第1記憶階層部へのデータ転送を実施せずに第1プロセッサの第1記憶階層部の状態情報を更新する。制御部は、第2プロセッサの第1記憶階層部の状態情報を変更状態から無効状態に更新し、第1プロセッサの第1記憶階層部の状態情報を無効状態から変更状態に更新する。例えば、複数の第1記憶階層部の各々は、ライトアロケート方式を採用している。
複数のプロセッサを用いたデータ処理装置に適用されるキャッシュメモリシステムについてキャッシュコヒーレンシを保ちながら記憶階層間での無駄なデータ転送を削減することが可能になる。これにより、データ処理装置における処理性能の向上および消費電力の削減を実現することができる。
以下、本発明の実施形態について図面を用いて説明する。
図1は、本発明の一実施形態を示している。本発明の一実施形態のデータ処理装置10は、CPU(Central Processing Unit)20a、20b、20c(CPUコア21および1次キャッシュ22を具備)と、CPU20a、20b、20cにより共有される2次キャッシュ30(キャッシュ制御装置31を具備)とを備えて構成されている。なお、図示を省略しているが、2次キャッシュ30には主記憶装置が接続されている。
CPUコア21は、命令デコーダ211等を備えて構成されおり、周知の各種命令に加えて、ムーブイン(2次キャッシュ30から1次キャッシュ22へのデータ転送)が不要であるストア命令としてムーブインなしストア命令を実行可能である。CPUコア21は、ムーブインなしストア命令の実行時にムーブイン禁止信号S1(ムーブインが不要であることを示す信号)を1次キャッシュ22に出力する。
1次キャッシュ22は、キャッシュRAM(Random Access Memory)221a、221bと、セレクタ222、223、224と、タグRAM225a、225bと、アドレス比較器226と、キャッシュ状態情報格納回路227と、制御回路228とを備えて構成されている。例えば、1次キャッシュ22では、ライトアロケート方式が採用されている。また、1次キャッシュ22では、キャッシュコヒーレンシを保証するためにMOSI方式が採用されている。
キャッシュRAM221a、221bは、制御回路228の書き込み指示に伴ってCPUコア21の出力アドレスに応じてエントリにセレクタ222の出力データを書き込む。また、キャッシュRAM221a、221bは、制御回路228の読み出し指示に伴ってCPUコア21の出力アドレスに応じてエントリからデータを読み出してセレクタ223に出力する。セレクタ222は、制御回路228の選択指示に従ってCPUコア21の出力データまたは2次キャッシュ30の出力データのいずれかを選択してキャッシュRAM221a、221bに出力する。セレクタ223は、制御回路228の選択指示に従ってキャッシュRAM221aの出力データまたはキャッシュRAM221bの出力データのいずれかを選択してセレクタ224および2次キャッシュ30に出力する。セレクタ224は、制御回路228の選択指示に従ってセレクタ223の出力データまたは2次キャッシュ30の出力データのいずれかを選択してCPUコア21に出力する。
タグRAM225a、225bは、制御回路228の書き込み指示に伴ってCPUコア21の出力アドレスに応じてエントリにアドレスの一部を書き込む。タグRAM225a、225bは、制御回路228の読み出し指示に伴ってCPUコア21の出力アドレスに応じてエントリからアドレスを読み出してアドレス比較器226に出力する。アドレス比較器226は、CPUコア21の出力アドレスの一部とタグRAM225a、225bの出力アドレスとを比較してアドレス比較結果信号S2(アドレスが一致するか否かを示す信号)を制御回路228に出力する。キャッシュ状態情報格納回路227は、レジスタ等により具現され、キャッシュコヒーレンシの制御に使用されるエントリ毎の状態情報を格納している。状態情報は、制御回路228により変更状態(M:Modified)、所有状態(O:Owned)、共有状態(S:Shared)または無効状態(I:Invalid)のいずれかに設定される。
制御回路228は、1次キャッシュ22の全体を制御するための各種動作を実施する。制御回路228は、アドレス比較結果信号S2に基づいてキャッシュヒット/キャッシュミスヒットを判定する。制御回路228は、CPUコア21によるムーブイン禁止信号S1の出力時にキャッシュミスヒットの発生を認識すると、ムーブインなしストア要求信号S3(ムーブインなしストア命令の実行時にキャッシュミスヒットが発生したことを示す信号)を2次キャッシュ30(キャッシュ制御装置31)に出力する。キャッシュ制御装置31は、CPU20a、20b、20cの1次キャッシュ22(制御回路228)と2次キャッシュ30との間でのデータ転送を制御するための動作やキャッシュコヒーレンシを保証するための動作等を実施する。
なお、図示を省略しているが、CPU20a、20b、20cの1次キャッシュ22(制御回路228)から2次キャッシュ30(キャッシュ制御装置31)に対しては、ムーブイン要求信号(2次キャッシュ30から1次キャッシュ22へのデータ転送を要求するための信号)等の各種制御信号が必要に応じて出力される。また、2次キャッシュ30(キャッシュ制御装置31)からCPU20a、20b、20cの1次キャッシュ22(制御回路228)に対しては、フラッシュ要求信号(ダーティなデータの書き戻しを要求するための信号)やインバリデート要求信号(状態情報の無効状態への設定を要求するための信号)等の各種制御信号が必要に応じて出力される。
図2は、従来のデータ処理装置の動作を示している。なお、従来のデータ処理装置10’は、CPU20a’、20b’、20c’と、2次キャッシュ30’とを備えて構成されている。CPU20a’、20b’、20c’は、ムーブインなしストア命令に関連する機構を有していない点を除いて、図1のCPU20a、20b、20cと同一である。2次キャッシュ30’は、ムーブインなしストア要求信号に関連する機構を有していない点を除いて、図1の2次キャッシュ30と同一である。
図2の動作は、CPU20b’、20c’(1次キャッシュ)のいずれにもアドレスAに対応するラインのデータが変更状態で存在しない場合にCPU20a’(1次キャッシュ)にてストア先アドレスとしてアドレスAを指定するストア命令の実行時にキャッシュミスヒットが発生した際の動作である。なお、アドレスAに対応するラインのデータは、CPU20a’にて一度も参照されないことが予め分かっているものとする。
CPU20a’にてストア先アドレスとしてアドレスAを指定するストア命令の実行時にキャッシュミスヒットが発生すると、図2(a)に示すように、CPU20a’から2次キャッシュ30’(キャッシュ制御装置31’)に対してムーブイン要求信号が出力される(O1)。これに伴って、図2(b)に示すように、ムーブイン動作により2次キャッシュ30’からCPU20a’に該当ライン(CPU20a’により指定されるアドレスAに対応するライン)のデータが転送される(O2)。CPU20a’(1次キャッシュ)では、2次キャッシュ30’から転送されたデータが該当エントリに書き込まれた後にストアデータが該当エントリに書き込まれることでストア命令の実行が完了し、キャッシュ状態情報格納回路227’の該当エントリの状態情報が“I”から“M”に更新される(O3)。ムーブイン動作により2次キャッシュ30’からCPU20a’に転送されたデータはCPU20a’にて一度も参照されないため、2次キャッシュ30’からCPU20a’へのデータ転送(ムーブイン)が無駄に実施されたことになる。
図3は、図1のデータ処理装置の動作を示している。図3の動作は、CPU20b、20c(1次キャッシュ)のいずれにもアドレスAに対応するラインのデータが変更状態で存在しない場合にCPU20a(1次キャッシュ)にてストア先アドレスとしてアドレスAを指定するムーブインなしストア命令の実行時にキャッシュミスヒットが発生した際の動作である。なお、アドレスAに対応するラインのデータは、CPU20aにて一度も参照されないことが予め分かっているものとする。
CPU20aにてストア先アドレスとしてアドレスAを指定するムーブインなしストア命令の実行時にキャッシュミスヒットが発生すると、図3(a)に示すように、CPU20aから2次キャッシュ30(キャッシュ制御装置31)に対してムーブイン要求信号ではなくムーブインなしストア要求信号が出力される(O1)。これにより、図3(b)に示すように、ムーブイン動作は実施されず(O2)、2次キャッシュ30のキャッシュ制御装置31の内部にてキャッシュコヒーレンシの保証に関する動作のみが実施される。また、CPU20aでは、ムーブインなしストア要求信号の出力と同時に、ストアデータが該当エントリに書き込まれることでストア命令の実行が完了し、キャッシュ状態情報格納回路227の該当エントリの状態情報が“I”から“M”に更新される(O3)。このように、図1のデータ処理装置10においては、従来のデータ処理装置10’の場合(図2)とは異なり、ムーブイン動作に伴う2次キャッシュ30からCPU20aへの無駄なデータ転送が回避され、CPU20a、20b、20c間でのデータのコヒーレンシも保たれる。
図4は、従来のデータ処理装置の別の動作を示している。図4の動作は、CPU20c’(1次キャッシュ)にアドレスAに対応するラインのデータが変更状態で存在する場合にCPU20a’(1次キャッシュ)にてストア先アドレスとしてアドレスAを指定するストア命令の実行時にキャッシュミスヒットが発生した際の動作である。なお、アドレスAに対応するラインのデータは、CPU20a’にて一度も参照されないことが予め分かっているものとする。
CPU20a’にてストア先アドレスとしてアドレスAを指定するストア命令の実行時にキャッシュミスヒットが発生すると、図4(a)に示すように、CPU20a’から2次キャッシュ30’(キャッシュ制御装置31’)に対してムーブイン要求信号が出力される(O1)。これに伴って、図4(b)に示すように、2次キャッシュ30’(キャッシュ制御装置31’)からCPU20c’に対してフラッシュ要求信号が出力される(O2)。このため、フラッシュ動作によりCPU20c’から2次キャッシュ30’に該当ラインのダーティなデータが転送され(O3)、CPU20c’にてキャッシュ状態情報格納回路227’の該当エントリの状態情報が“M”から“I”に更新される(O4)。そして、CPU20c’から2次キャッシュ30’に転送されたデータがムーブイン動作により2次キャッシュ30’からCPU20a’に転送される(O5)。CPU20a’(1次キャッシュ)では、2次キャッシュ30’から転送されたデータが該当エントリに書き込まれた後にストアデータが該当エントリに書き込まれることでストア命令の実行が完了し、キャッシュ状態情報格納回路227’の該当エントリの状態情報が“I”から“M”に更新される(O6)。ムーブイン動作により2次キャッシュ30’からCPU20a’に転送されたデータはCPU20a’にて一度も参照されないため、CPU20c’から2次キャッシュ30’へのデータ転送(フラッシュ)および2次キャッシュ30’からCPU20a’へのデータ転送(ムーブイン)が無駄に実施されたことになる。
図5は、図1のデータ処理装置の別の動作を示している。図5の動作は、CPU20c(1次キャッシュ)にアドレスAに対応するラインのデータが変更状態で存在する場合にCPU20a(1次キャッシュ)にてストア先アドレスとしてアドレスAを指定するムーブインなしストア命令の実行時にキャッシュミスヒットが発生した際の動作である。なお、アドレスAに対応するラインのデータは、CPU20aにて一度も参照されないことが予め分かっているものとする。
CPU20aにてストア先アドレスとしてアドレスAを指定するムーブインなしストア命令の実行時にキャッシュミスヒットが発生すると、図5(a)に示すように、CPU20aから2次キャッシュ30(キャッシュ制御装置31)に対してムーブイン要求信号ではなくムーブインなしストア要求信号が出力される(O1)。これに伴って、図5(b)に示すように、2次キャッシュ30(キャッシュ制御装置31)からCPU20cに対してフラッシュ要求信号ではなくインバリデート要求信号が出力される(O2)。このため、フラッシュ動作は実施されず(O3)、CPU20cにてキャッシュ状態格納回路227の該当エントリの状態情報が“M”から“I”に更新される(O4)。また、ムーブイン動作も実施されず(O5)、CPU20aでは、ムーブインなしストア要求信号の出力と同時に、ストアデータが該当エントリに書き込まれることでストア命令の実行が完了し、キャッシュ状態情報格納回路227の該当エントリの状態情報が“I”から“M”に更新される(O6)。このように、図1のデータ処理装置10においては、従来のデータ処理装置10’の場合(図4)とは異なり、フラッシュ動作に伴うCPU20cから2次キャッシュ30への無駄なデータ転送およびムーブイン動作に伴う2次キャッシュ30からCPU20aへの無駄なデータ転送が回避され、CPU20a、20b、20c間でのデータのコヒーレンシも保たれる。
以上のように、本発明の一実施形態のデータ処理装置10では、キャッシュコヒーレンシを保ちながらCPU20a、20b、20cの1次キャッシュ22と2次キャッシュ30との間での無駄なデータ転送(メモリアクセス)を削減することができる。この結果、データ処理装置10における処理性能の向上および消費電力の削減に大きく寄与することができる。
以上、本発明について詳細に説明してきたが、前述の実施形態は発明の一例に過ぎず、本発明はこれに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。
本発明の一実施形態を示す図である。 従来のデータ処理装置の動作を示す図である。 図1のデータ処理装置の動作を示す図である。 従来のデータ処理装置の別の動作を示す図である。 図1のデータ処理装置の別の動作を示す図である。
符号の説明
10‥データ処理装置;20a、20b、20c‥CPU;21‥CPUコア;211‥命令デコーダ;22‥1次キャッシュ;221a、221b‥キャッシュRAM;222、223、224‥セレクタ;225a、225b‥タグRAM;226‥アドレス比較器;227‥キャッシュ状態情報格納回路;228‥制御回路;30‥2次キャッシュ;31‥キャッシュ制御装置;S1‥ムーブイン禁止信号;S2‥アドレス比較結果信号;S3‥ムーブインなしストア要求信号

Claims (10)

  1. 複数のプロセッサに対して個別に設けられる複数の第1記憶階層部と、
    前記複数のプロセッサに対して共通に設けられる第2記憶階層部と、
    前記複数の第1記憶階層部および前記第2記憶階層部の間でのデータ転送を制御する制御部とを備え、
    前記複数のプロセッサの各々は、前記第2記憶階層部から自身の第1記憶階層部へのデータ転送が不要であるストア命令としてデータ転送なしストア命令を実行可能であり、
    前記複数の第1記憶階層部の各々は、自身に対応するプロセッサによりストア命令が実行される場合、実行対象の命令の種別が通常のストア命令であれば、命令実行時にキャッシュミスヒットが発生すると、前記第2記憶階層部から自身へのデータ転送を要求するための第1転送制御信号を前記制御部に出力し、実行対象の命令の種別が前記データ転送なしストア命令であれば、前記制御部への第1転送制御信号の出力を禁止し、命令実行時にキャッシュミスヒットが発生すると、自身に対応するプロセッサによる前記データ転送なしストア命令の実行時にキャッシュミスヒットが発生したことを認識させるための第2転送制御信号を前記制御部に出力し、
    前記制御部は、前記複数のプロセッサに含まれる第1プロセッサの第1記憶階層部により第2転送制御信号が出力されたことで、前記第1プロセッサによる前記データ転送なしストア命令の実行時に前記第1プロセッサの第1記憶階層部でキャッシュミスヒットが発生したことを認識した場合、前記第1プロセッサの第1記憶階層部により指定される記憶領域に関して、少なくとも前記第2記憶階層部から前記第1プロセッサの第1記憶階層部へのデータ転送を実施せずに前記第1プロセッサの第1記憶階層部の状態情報を更新することを特徴とするキャッシュメモリシステム。
  2. 請求項1に記載のキャッシュメモリシステムにおいて、
    前記制御部は、前記第1プロセッサの第1記憶階層部により第2転送制御信号が出力され、前記第1プロセッサの第1記憶階層部により指定される記憶領域のデータが前記第1プロセッサ以外の第1記憶階層部のいずれにも変更状態で存在しない場合、前記第2記憶階層部から前記第1プロセッサの第1記憶階層部へのデータ転送を実施せずに前記第1プロセッサの第1記憶階層部の状態情報を更新することを特徴とするキャッシュメモリシステム。
  3. 請求項2に記載のキャッシュメモリシステムにおいて、
    前記制御部は、前記第1プロセッサの第1記憶階層部の状態情報を無効状態から変更状態に更新することを特徴とするキャッシュメモリシステム。
  4. 請求項1に記載のキャッシュメモリシステムにおいて、
    前記制御部は、前記第1プロセッサの第1記憶階層部により第2転送制御信号が出力され、前記第1プロセッサの第1記憶階層部により指定される記憶領域のデータが前記第1プロセッサとは別の第2プロセッサの第1記憶階層部に変更状態で存在する場合、前記第2プロセッサの第1記憶階層部から前記第2記憶階層部へのデータ転送を実施せずに前記第2プロセッサの第1記憶階層部の状態情報を更新し、前記第2記憶階層部から前記第1プロセッサの第1記憶階層部へのデータ転送を実施せずに前記第1プロセッサの第1記憶階層部の状態情報を更新することを特徴とするキャッシュメモリシステム。
  5. 請求項4に記載のキャッシュメモリシステムにおいて、
    前記制御部は、前記第2プロセッサの第1記憶階層部の状態情報を変更状態から無効状態に更新し、前記第1プロセッサの第1記憶階層部の状態情報を無効状態から変更状態に更新することを特徴とするキャッシュメモリシステム。
  6. 請求項1〜5のいずれか1項に記載のキャッシュメモリシステムにおいて、
    前記複数の第1記憶階層部の各々は、ライトアロケート方式を採用していることを特徴とするキャッシュメモリシステム。
  7. 複数のプロセッサを用いたデータ処理装置であって、
    前記複数のプロセッサに対して個別に設けられる複数の第1記憶階層部と、前記複数のプロセッサに対して共通に設けられる第2記憶階層部と、前記複数の第1記憶階層部および前記第2記憶階層部の間でのデータ転送を制御する制御部とを有するキャッシュメモリシステムを備え、
    前記複数のプロセッサの各々は、前記第2記憶階層部から自身の第1記憶階層部へのデータ転送が不要であるストア命令としてデータ転送なしストア命令を実行可能であり、
    前記複数の第1記憶階層部の各々は、自身に対応するプロセッサによりストア命令が実行される場合、実行対象の命令の種別が通常のストア命令であれば、命令実行時にキャッシュミスヒットが発生すると、前記第2記憶階層部から自身へのデータ転送を要求するための第1転送制御信号を前記制御部に出力し、実行対象の命令の種別が前記データ転送なしストア命令であれば、前記制御部への第1転送制御信号の出力を禁止し、命令実行時にキャッシュミスヒットが発生すると、自身に対応するプロセッサによる前記データ転送なしストア命令の実行時にキャッシュミスヒットが発生したことを認識させるための第2転送制御信号を前記制御部に出力し、
    前記制御部は、前記複数のプロセッサに含まれる第1プロセッサの第1記憶階層部により第2転送制御信号が出力されたことで、前記第1プロセッサによる前記データ転送なしストア命令の実行時に前記第1プロセッサの第1記憶階層部でキャッシュミスヒットが発生したことを認識した場合、前記第1プロセッサの第1記憶階層部により指定される記憶領域に関して、少なくとも前記第2記憶階層部から前記第1プロセッサの第1記憶階層部へのデータ転送を実施せずに前記第1プロセッサの第1記憶階層部の状態情報を更新することを特徴とするデータ処理装置。
  8. 請求項7に記載のデータ処理装置において、
    前記制御部は、前記第1プロセッサの第1記憶階層部により第2転送制御信号が出力され、前記第1プロセッサの第1記憶階層部により指定される記憶領域のデータが前記第1プロセッサ以外の第1記憶階層部のいずれにも変更状態で存在しない場合、前記第2記憶階層部から前記第1プロセッサの第1記憶階層部へのデータ転送を実施せずに前記第1プロセッサの第1記憶階層部の状態情報を更新することを特徴とするデータ処理装置。
  9. 請求項7に記載のデータ処理装置において、
    前記制御部は、前記第1プロセッサの第1記憶階層部により第2転送制御信号が出力され、前記第1プロセッサの第1記憶階層部により指定される記憶領域のデータが前記第1プロセッサとは別の第2プロセッサの第1記憶階層部に変更状態で存在する場合、前記第2プロセッサの第1記憶階層部から前記第2記憶階層部へのデータ転送を実施せずに前記第2プロセッサの第1記憶階層部の状態情報を更新し、前記第2記憶階層部から前記第1プロセッサの第1記憶階層部へのデータ転送を実施せずに前記第1プロセッサの第1記憶階層部の状態情報を更新することを特徴とするデータ処理装置。
  10. 外部からキャッシュメモリへのデータ転送が不要であるストア命令としてデータ転送なしストア命令を実行可能なプロセッサにて前記キャッシュメモリとして用いられる記憶装置であって、
    前記プロセッサによりストア命令が実行される場合、実行対象の命令の種別が通常のストア命令であれば、命令実行時にキャッシュミスヒットが発生すると、外部から自身へのデータ転送を要求するための第1転送制御信号を外部に出力し、実行対象の命令の種別が前記データ転送なしストア命令であれば、外部への第1転送制御信号の出力を禁止し、命令実行時にキャッシュミスヒットが発生すると、前記プロセッサによる前記データ転送なしストア命令の実行時にキャッシュミスヒットが発生したことを認識させるための第2転送制御信号を外部に出力する制御部を備えることを特徴とする記憶装置。
JP2008066067A 2008-03-14 2008-03-14 キャッシュメモリシステム、データ処理装置および記憶装置 Expired - Fee Related JP5420182B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008066067A JP5420182B2 (ja) 2008-03-14 2008-03-14 キャッシュメモリシステム、データ処理装置および記憶装置
US12/402,114 US8230173B2 (en) 2008-03-14 2009-03-11 Cache memory system, data processing apparatus, and storage apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008066067A JP5420182B2 (ja) 2008-03-14 2008-03-14 キャッシュメモリシステム、データ処理装置および記憶装置

Publications (2)

Publication Number Publication Date
JP2009223511A JP2009223511A (ja) 2009-10-01
JP5420182B2 true JP5420182B2 (ja) 2014-02-19

Family

ID=41064260

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008066067A Expired - Fee Related JP5420182B2 (ja) 2008-03-14 2008-03-14 キャッシュメモリシステム、データ処理装置および記憶装置

Country Status (2)

Country Link
US (1) US8230173B2 (ja)
JP (1) JP5420182B2 (ja)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2552704B2 (ja) 1988-03-08 1996-11-13 富士通株式会社 データ処理装置
JP3049712B2 (ja) 1989-07-24 2000-06-05 日本電気株式会社 利得制御増幅回路
JP3055908B2 (ja) 1989-07-27 2000-06-26 富士通株式会社 キャッシュメモリ制御装置
JP2637320B2 (ja) 1991-10-04 1997-08-06 富士通株式会社 バッファ記憶制御方式
US6321297B1 (en) * 1998-01-05 2001-11-20 Intel Corporation Avoiding tag compares during writes in multi-level cache hierarchy
US6282615B1 (en) * 1999-11-09 2001-08-28 International Business Machines Corporation Multiprocessor system bus with a data-less castout mechanism
JP2003150444A (ja) * 2001-11-19 2003-05-23 Fujitsu Ltd キャッシュメモリシステム
WO2005066796A1 (ja) * 2003-12-22 2005-07-21 Matsushita Electric Industrial Co., Ltd. キャッシュメモリ及びその制御方法
US7389388B2 (en) * 2005-02-10 2008-06-17 International Business Machines Corporation Data processing system and method for efficient communication utilizing an in coherency state

Also Published As

Publication number Publication date
JP2009223511A (ja) 2009-10-01
US20090235027A1 (en) 2009-09-17
US8230173B2 (en) 2012-07-24

Similar Documents

Publication Publication Date Title
JP5536658B2 (ja) バッファメモリ装置、メモリシステム及びデータ転送方法
TWI432963B (zh) 加速器之低成本快取一致
EP2430551B1 (en) Cache coherent support for flash in a memory hierarchy
CN102483719B (zh) 基于块的非透明高速缓存
CN101178692B (zh) 用于提供事务处理存储器的高速缓冲存储器系统和方法
KR100660951B1 (ko) 주메모리로의 액세스 속도를 증가시키기 위한 캐시 메모리 제어 방법 및 그것을 이용한 컴퓨터
JP4803983B2 (ja) 演算処理装置
US20100064107A1 (en) Microprocessor cache line evict array
US20110173393A1 (en) Cache memory, memory system, and control method therefor
JP2010507160A (ja) データ処理装置の共有メモリへの書込みアクセス要求の処理
US20110167224A1 (en) Cache memory, memory system, data copying method, and data rewriting method
US7657667B2 (en) Method to provide cache management commands for a DMA controller
WO2013084314A1 (ja) 演算処理装置及び演算処理装置の制御方法
US20110167223A1 (en) Buffer memory device, memory system, and data reading method
JP5157424B2 (ja) キャッシュメモリシステム及びキャッシュメモリの制御方法
KR20070040340A (ko) 소형 캐시 시스템에서 원자적 보존 라인에 라이트백하는것을 배제하는 방법 및 시스템
US7353341B2 (en) System and method for canceling write back operation during simultaneous snoop push or snoop kill operation in write back caches
JPH0467242A (ja) プロセッサおよびそのキャッシュメモリ制御方法
JP5319049B2 (ja) キャッシュシステム
JP5420182B2 (ja) キャッシュメモリシステム、データ処理装置および記憶装置
US7543112B1 (en) Efficient on-chip instruction and data caching for chip multiprocessors
JP2007156821A (ja) キャッシュシステム及び共用2次キャッシュ
JP5587539B2 (ja) ローカルメモリデータのコヒーレントなキャッシュ処理
JP4765249B2 (ja) 情報処理装置およびキャッシュメモリ制御方法
JPH01255944A (ja) キャッシュメモリ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120731

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120926

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121023

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130116

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130123

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20130215

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131120

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees