JP2006048163A - ストアデータ制御装置およびストアデータ制御方法 - Google Patents
ストアデータ制御装置およびストアデータ制御方法 Download PDFInfo
- Publication number
- JP2006048163A JP2006048163A JP2004224559A JP2004224559A JP2006048163A JP 2006048163 A JP2006048163 A JP 2006048163A JP 2004224559 A JP2004224559 A JP 2004224559A JP 2004224559 A JP2004224559 A JP 2004224559A JP 2006048163 A JP2006048163 A JP 2006048163A
- Authority
- JP
- Japan
- Prior art keywords
- store data
- store
- buffer
- waiting
- write buffer
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 159
- 239000000872 buffer Substances 0.000 claims abstract description 232
- 238000012545 processing Methods 0.000 claims description 106
- 230000015654 memory Effects 0.000 abstract description 12
- 238000001514 detection method Methods 0.000 abstract description 11
- 238000012546 transfer Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/3017—Runtime instruction translation, e.g. macros
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Abstract
【課題】ストアデータをキャッシュメモリに効率的に反映すること。
【解決手段】ストアバッファおよびライトバッファを用いて記憶装置へのストアデータの反映を制御する場合において、ストアバッファおよびライトバッファの状態を取得する手段を設け、取得した状態に基づいてマージ処理に伴う待合せを開始することによりマージ機会を増加させ、取得した状態と、待ち時間を制限するタイマ処理などの待合せ解除条件検出処理とによりかかる待合せを解除する。
【選択図】 図2
【解決手段】ストアバッファおよびライトバッファを用いて記憶装置へのストアデータの反映を制御する場合において、ストアバッファおよびライトバッファの状態を取得する手段を設け、取得した状態に基づいてマージ処理に伴う待合せを開始することによりマージ機会を増加させ、取得した状態と、待ち時間を制限するタイマ処理などの待合せ解除条件検出処理とによりかかる待合せを解除する。
【選択図】 図2
Description
この発明は、ストアデータを一時的に保持するストアバッファおよびライトバッファを有し、ストアバッファからライトバッファへストアデータを転送させる際に、ストアデータのマージ処理をおこなうストアデータ制御装置およびストアデータ制御方法に関し、特に、マージ処理に伴う待合せ処理および待合せ解除処理を適切に制御し、マージ処理の機会を増加させ、かつ、マージ処理待ちによる処理の遅れを防止することにより、ストアデータをキャッシュメモリなどの記憶装置に効率的に反映することができるストアデータ制御装置およびストアデータ制御方法に関するものである。
従来、ストアデータを一時的に保持するバッファを用いて、かかるバッファにおいてストアデータをマージ処理し、記憶装置へのストアデータの反映をおこなうストアデータ制御装置が知られている。ストアデータをマージ処理することにより、記憶装置へのストアデータの反映命令の頻度が下がるので、記憶装置へのストアデータの反映を効率的におこなうことが可能となる。
たとえば、特許文献1には、演算装置から受取ったストアデータをライトバッファに保持してマージ処理に伴う待合せをおこなうとともに、演算装置からの書込み要求の間隔を監視するタイマを設けて、タイマのタイムアウトを検出したときに、かかる待合せの解除をおこなうストアデータ制御技術が開示されている。
しかしながら、この従来技術を用いた場合、待合せの解除はタイマのタイムアウトを検出した際にのみおこなわれる。このように、待合せの解除条件がタイマのタイムアウトのみであると、タイムアウトを検出するまでは一律に待合せが解除されないため、不要な待合せが多発することにより、記憶装置へのストアデータの反映の効率が悪化してしまうという問題点がある。
たとえば、ライトバッファ上のストアデータがマージ処理に伴う待合せ中である場合に、かかるストアデータのフェッチ処理をおこなう後続のフェッチ命令は、タイマがタイムアウトするまで待たされることになる。
一方で、マージ処理に伴う不要な待合せを回避するために、マージ処理の機会を減少させ、マージ処理の頻度を下げようとすれば、ライトバッファが浪費されるとともに、記憶装置へのストアデータの反映命令が多発することにより、記憶装置へのストアデータの反映の効率が悪化してしまう。
この発明は、上述した従来技術による問題点を解消するためになされたものであり、マージ処理の機会を増加させ、かつ、マージ処理に伴う待合せの解除の機会を増加させる制御をおこない、もってストアデータの記憶装置への反映を効率的におこなうことができるストアデータ制御装置およびストアデータ制御方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、本発明に係るストアデータ制御装置は、ストアデータを一時的に保持するストアバッファおよびライトバッファを有し、前記ストアバッファから前記ライトバッファへ前記ストアデータを転送させる際に、該ストアデータのマージ処理をおこなうストアデータ制御装置であって、前記ストアバッファおよび/または前記ライトバッファのバッファ状態を取得する状態取得手段と、前記状態取得手段が取得した前記バッファ状態に基づいて、前記マージ処理に伴う待合せの開始および/または解除を制御する待合せ制御手段とを備えたことを特徴とする。
また、本発明に係るストアデータ制御方法は、ストアデータを一時的に保持するストアバッファおよびライトバッファを有し、前記ストアバッファから前記ライトバッファへ前記ストアデータを転送させる際に、該ストアデータのマージ処理をおこなうストアデータ制御方法であって、前記ストアバッファおよび/または前記ライトバッファのバッファ状態を取得する状態取得工程と、前記状態取得手段が取得した前記バッファ状態に基づいて、前記マージ処理に伴う待合せの開始および/または解除を制御する待合せ制御工程とを含んだことを特徴とする。
この発明によれば、ストアバッファおよび/またはライトバッファのバッファ状態を取得して、状態取得手段が取得したバッファ状態に基づいて、マージ処理に伴う待合せの開始および/または解除を制御するよう構成したので、マージ処理の機会を増加させ、かつ、マージ処理に伴う待合せの解除の機会を増加させることができ、もってストアデータの記憶装置への反映を効率的におこなうことができる。
また、本発明に係るストアデータ制御装置は、上記の発明において、前記待合せ制御手段は、前記ストアバッファに前記ライトバッファへの転送が可能なストアデータがない場合であっても、前記ストアバッファが保持するストアデータの転送が可能な状態になったならば、マージ処理に伴う待合せを開始することを特徴とする。
この発明によれば、ストアバッファにライトバッファへの転送が可能なストアデータがない場合であっても、ストアバッファが保持するストアデータの転送が可能な状態になったならば、マージ処理に伴う待合せを開始するよう構成したので、マージ処理の機会を増加させることができ、もってストアデータの記憶装置への反映を効率的におこなうことができる。
また、本発明に係るストアデータ制御装置は、上記の発明において、前記待合せ制御手段は、前記ライトバッファに前記マージ処理が可能なストアデータがない場合に、該マージ処理に伴う待合せ処理を解除することを特徴とする。
この発明によれば、ライトバッファにマージ処理が可能なストアデータがない場合に、マージ処理に伴う待合せ処理を解除するよう構成したので、マージ処理に伴う待合せの解除の機会を増加させることができ、もってストアデータの記憶装置への反映を効率的におこなうことができる。
また、本発明に係るストアデータ制御装置は、上記の発明において、前記待合せ制御手段は、前記ストアバッファに前記ライトバッファへの転送が可能なストアデータがない場合に、前記マージ処理に伴う待合せ処理を解除することを特徴とする。
この発明によれば、ストアバッファにライトバッファへの転送が可能なストアデータがない場合に、マージ処理に伴う待合せ処理を解除するよう構成したので、マージ処理に伴う待合せの解除の機会を増加させることができ、もってストアデータの記憶装置への反映を効率的におこなうことができる。
また、本発明に係るストアデータ制御装置は、上記の発明において、前記待合せ制御手段は、前記ライトバッファのストアデータが前記マージ処理に伴う待合せ中であるために、後続のフェッチ命令の実行が阻害されている場合に、該待合せを解除することを特徴とする。
この発明によれば、ライトバッファのストアデータがマージ処理に伴う待合せ中であるために、後続のフェッチ命令の実行が阻害されている場合に、待合せを解除するよう構成したので、マージ処理に伴う待合せの解除の機会を増加させることができ、もってストアデータの記憶装置への反映を効率的におこなうことができる。
また、本発明に係るストアデータ制御装置は、上記の発明において、前記待合せ制御手段は、前記ライトバッファのストアデータが前記マージ処理に伴う待合せ中であるために、他の中央処理装置の吐き出し要求の実行が阻害されている場合に、該待合せを解除することを特徴とする。
この発明によれば、ライトバッファのストアデータがマージ処理に伴う待合せ中であるために、他の中央処理装置の吐き出し要求の実行が阻害されている場合に、待合せを解除するよう構成したので、マージ処理に伴う待合せの解除の機会を増加させることができ、もってストアデータの記憶装置への反映を効率的におこなうことができる。
また、本発明に係るストアデータ制御装置は、上記の発明において、前記待合せ制御手段は、前記ストアバッファがストアデータを保持していない場合に、前記マージ処理に伴う待合せ処理を解除することを特徴とする。
この発明によれば、ストアバッファがストアデータを保持していない場合に、マージ処理に伴う待合せ処理を解除するよう構成したので、マージ処理に伴う待合せの解除の機会を増加させることができ、もってストアデータの記憶装置への反映を効率的におこなうことができる。
また、本発明に係るストアデータ制御装置は、上記の発明において、前記待合せ制御手段は、前記ストアバッファが保持するストアデータおよび前記ライトバッファが保持するストアデータのアドレスがマージ可能な位置関係にない場合に、マージ処理に伴う待合せを解除することを特徴とする。
この発明によれば、ストアバッファが保持するストアデータおよびライトバッファが保持するストアデータのアドレスがマージ可能な位置関係にない場合に、マージ処理に伴う待合せを解除するよう構成したので、マージ処理に伴う待合せの解除の機会を増加させることができ、もってストアデータの記憶装置への反映を効率的におこなうことができる。
また、本発明に係るストアデータ制御装置は、前記待合せ制御手段は、前記ライトバッファのストアデータが前記マージ処理に伴う待合せを所定時間継続している場合に、マージ処理に伴う待合せを解除することを特徴とする。
この発明によれば、ライトバッファのストアデータがマージ処理に伴う待合せを所定時間継続している場合に、マージ処理に伴う待合せを解除するよう構成したので、マージ処理に伴う待合せの解除の機会を増加させることができ、もってストアデータの記憶装置への反映を効率的におこなうことができる。
本発明によれば、ストアバッファおよび/またはライトバッファのバッファ状態を取得して、状態取得手段が取得したバッファ状態に基づいて、マージ処理に伴う待合せの開始および/または解除を制御するよう構成したので、マージ処理の機会を増加させ、かつ、マージ処理に伴う待合せの解除の機会を増加させることができ、もってストアデータの記憶装置への反映を効率的におこなうことができるという効果を奏する。
また、本発明によれば、ストアバッファにライトバッファへの転送が可能なストアデータがない場合であっても、ストアバッファが保持するストアデータの転送が可能な状態になったならば、マージ処理に伴う待合せを開始するよう構成したので、マージ処理の機会を増加させることができ、もってストアデータの記憶装置への反映を効率的におこなうことができるという効果を奏する。
また、本発明によれば、ライトバッファにマージ処理が可能なストアデータがない場合に、マージ処理に伴う待合せ処理を解除するよう構成したので、マージ処理に伴う待合せの解除の機会を増加させることができ、もってストアデータの記憶装置への反映を効率的におこなうことができるという効果を奏する。
また、本発明によれば、ストアバッファにライトバッファへの転送が可能なストアデータがない場合に、マージ処理に伴う待合せ処理を解除するよう構成したので、マージ処理に伴う待合せの解除の機会を増加させることができ、もってストアデータの記憶装置への反映を効率的におこなうことができるという効果を奏する。
また、本発明によれば、ライトバッファのストアデータがマージ処理に伴う待合せ中であるために、後続のフェッチ命令の実行が阻害されている場合に、待合せを解除するよう構成したので、マージ処理に伴う待合せの解除の機会を増加させることができ、もってストアデータの記憶装置への反映を効率的におこなうことができるという効果を奏する。
また、本発明によれば、ライトバッファのストアデータがマージ処理に伴う待合せ中であるために、他の中央処理装置の吐き出し要求の実行が阻害されている場合に、待合せを解除するよう構成したので、マージ処理に伴う待合せの解除の機会を増加させることができ、もってストアデータの記憶装置への反映を効率的におこなうことができるという効果を奏する。
また、本発明によれば、ストアバッファがストアデータを保持していない場合に、マージ処理に伴う待合せ処理を解除するよう構成したので、マージ処理に伴う待合せの解除の機会を増加させることができ、もってストアデータの記憶装置への反映を効率的におこなうことができるという効果を奏する。
また、本発明によれば、ストアバッファが保持するストアデータおよびライトバッファが保持するストアデータのアドレスがマージ可能な位置関係にない場合に、マージ処理に伴う待合せを解除するよう構成したので、マージ処理に伴う待合せの解除の機会を増加させることができ、もってストアデータの記憶装置への反映を効率的におこなうことができるという効果を奏する。
また、本発明によれば、ライトバッファのストアデータがマージ処理に伴う待合せを所定時間継続している場合に、マージ処理に伴う待合せを解除するよう構成したので、マージ処理に伴う待合せの解除の機会を増加させることができ、もってストアデータの記憶装置への反映を効率的におこなうことができるという効果を奏する。
以下に添付図面を参照して、この発明に係るストアデータ制御装置およびストアデータ制御方法の好適な実施例を詳細に説明する。なお、本実施例では、本発明を中央処理装置に適用した場合について説明する。
まず、本実施例の特徴部分であるストアデータ制御部の構成について説明する。図1は、かかるストアデータ制御部を含む中央処理装置の機能ブロック図である。同図に示すように、本実施例に係る中央処理装置10は、メモリ制御装置20を介して、主記憶に接続される。メモリ制御装置20は、中央処理装置10の要求に基づいて主記憶からのデータおよび命令のフェッチと主記憶へのデータのストアとを制御する装置である。
中央処理装置10は、命令処理装置11、演算装置12および記憶処理装置13を有し、この記憶処理装置13は、さらに、ストアポート14、フェッチポート15、一次キャッシュ16、二次キャッシュ17およびストアデータ制御部100を有する。
命令処理装置11は、主記憶に展開されたプログラムの命令を読取り、これを演算装置12に実行させる処理装置であり、演算装置12は、命令処理装置11の指示により各種演算をおこなう装置である。また、記憶処理装置13は、メモリ制御装置20と記憶データの入出力処理をおこなう処理装置である。一次キャッシュ16および二次キャッシュ17は、アクセスされる可能性の高い命令やデータを一時的に保持するキャッシュメモリである。
ストアポート14は、一次キャッシュ16にデータを書き込む命令であるストア命令を一時的に記憶するバッファであり、フェッチポート15は、一次キャッシュ16からデータを読み出す命令であるフェッチ命令を一時的に記憶するバッファである。
また、ストアデータ制御部100は、ストアポート14に入力されたストアを一時的に格納するストアバッファ110およびライトバッファ120を有する。かかるストアは、ストアバッファ110内のキューにいったん格納され、状況に応じて、ライトバッファ120に転送される。そして、ライトバッファ120に格納されたストアは、ライトバッファ120内のキューの先頭から順次、一次キャッシュ16へ書き込まれる。
一方で、ライトバッファ内のキューの末尾は、ストアバッファ110のストアとのマージ処理をおこなうための待ちあわせをおこなう。かかるマージ処理をおこなうことにより、一次キャッシュ16への書込み回数を減少させることができるので、ストアデータを効率的に一次キャッシュ16へ反映させることが可能となる。しかしながら、マージ処理には、次のストアとの待合せ処理が伴うため、かかる待合せの解除を効率的におこなわないとマージ処理のための無駄な待合せが発生し、ストアデータを速やかに一次キャッシュ16に反映することができない。
本実施例においては、ストアバッファ110およびライトバッファ120の状態を取得する手段を設け、取得した状態に基づいてマージ機会を増加させるとともに、取得した状態および待ち時間を制限するタイマ処理などの待合せ解除条件検出処理を設けることにより、待合せ解除をすることとしている。このように、マージ処理に伴う待合せおよび待合せ解除を制御することにより、ストアデータを速やかに一次キャッシュ16に反映させることができる。なお、本実施例においては、ストアデータ制御部100を、一次キャッシュ16へのストアデータの書き出しに適用した場合について説明するが、二次キャッシュ17や、メモリ制御装置20へのストアデータの書き出しに、かかるストアデータ制御部100を適用することもできる。
ストアデータ制御部100は、上述したマージ処理に伴う待合せおよび待合せ解除を制御するために、ストアバッファ状態取得部101、ライトバッファ状態取得部102、ストアデータ転送処理部103、ライトバッファ出力処理部104およびタイマ処理部105を有する。
ストアバッファ状態取得部101は、ストアバッファ110内のキュー状態およびキューに格納されるストアの状態を取得する処理部であり、ライトバッファ状態取得部102は、ライトバッファ120内のキュー状態およびキューに格納されるストアの状態を取得する処理部である。
ストアデータ転送処理部103は、ストアバッファ状態取得部101、ライトバッファ状態取得部102およびタイマ処理部105から情報を取得し、これらの情報に基づいて、ストアデータをストアバッファ110からライトバッファ120へ転送する処理をおこなう処理部である。また、タイマ処理部105は、マージ処理に伴う待合せの時間を制限するタイマ処理をおこなう処理部である。
ここで、ストア命令の処理の手順について説明しておく。まず、ストア命令は、命令処理装置11で解読され、解読されたストア命令は、記憶処理装置13に送信される。記憶処理装置13は、かかるストア命令をストアポート14およびフェッチポート15により受取る。
ストア命令を受取ったストアポート14は有効(Valid)状態となる。また、ストア命令を受取ったフェッチポート15は、かかるストア命令を記憶処理装置13内のパイプラインへ投入し、ストア対象領域のキャッシュヒットの有無を確認し、キャッシュミスしていれば、キャッシュラインを一次キャッシュ16へと登録する処理を実施しておく。この登録処理と並行してTLB(Translation Look-aside Buffer)を検索し、ストア対象の仮想アドレスを物理アドレスへと変換し、かかる変換結果をストアポート内のデータに反映させる。さらに、TLBに登録されている仮想アドレスのページ属性からストアアクセスの例外チェックをおこなう。
そして、かかる例外チェックにより取得した例外の有無を、STV(Status Valid)信号を用いて、記憶処理装置13から命令処理装置11へと通知する。この通知と前後して命令処理装置11では、演算処理装置12でストアデータの準備が整ったならば、かかるストアデータを記憶処理装置13へと発行するとともに、ストアデータを発行したことをSTDV(Store Data Valid)信号により通知する。
ストアデータを受取った記憶処理装置13は、受取ったストアデータをストアデータのオペランド長およびアライン情報に基づいて中央処理装置10上でのデータの並びに整列し、STDR(Sore Data Register)へと格納する。命令処理装置11が、上述したSTV信号およびSTDV信号の受信を完了すると、かかるストア命令は実行待ち状態となる。
実行待ち状態のストア命令に先行するストア命令、フェッチ命令、分岐命令、演算命令などの、すべての命令の実行が完了したならば、実行待ち状態のストア命令は、実行可能状態となる。そして、実行可能状態となったストア命令について、命令処理装置11から記憶処理装置13へとストア許可をあらわすコミット信号を通知する。
コミット信号を受取った記憶処理装置13は、受取ったコミット信号とともに示されるコミット対象ストアポートをあらわすID(識別番号)を参照して、指定されたストアポート14で、コミット信号を受信する。そして、コミット信号を受信したストアポート14は、READY状態となり、ストアバッファ110からライトバッファ120へストアデータの転送が可能となる。
次に、本実施例の特徴部分であるストアデータ制御部100の処理概要について説明する。図2は、ストアデータ制御処理概要を説明するための説明図である。同図に示すように、ストアバッファ(STB)110にいったん保持されたストアデータは、ライトバッファ(WB)120へと転送され、一次キャッシュ16に書き込まれる。
同図に示したように、ストアバッファ110およびライトバッファ120は、所定の数のストアデータを格納可能なキューである。ストアバッファ110に順次格納されたストアデータは、最も古く格納されたキューを示すTOQ(Top Of Queue)により管理され、TOQのストアデータが、ライトバッファ120への転送対象データとなる。また、ライトバッファ120は、最も古く格納されたキューを示すTOQ(Top Of Queue)および最も新しく格納されたキューを示すBOQ(Bottom Of Queue)により管理され、BOQのストアデータがマージ処理の対象となり、TOQのストアデータが、一次キャッシュ16に対してキャッシュ書込み230の書込対象データとなる。
ところで、ストアバッファのTOQのデータであるSTB(TOQ)110aが、ライトバッファ120に転送される際には、ストアデータ転送処理部103は、マージ待合せ210の場合と、マージ待合せ解除220の場合とでライトバッファ120内の異なるキューに、STB(TOQ)110aを転送する。すなわち、マージ処理の待合せをおこなう際のライトバッファ120の対象キューはWB(BOQ)120aであり、待合せを解除する条件を検出した際には、対象キューをWB(BOQ+1)120bに変更する。なお、待合せの解除条件については後述する。
ここで、ライトバッファ120の構成を、図3を用いて説明しておく。図3は、ライトバッファ120の構成を説明するための説明図である。同図に示すように、TOQは、複数あるライトバッファ内のキューの中で、最も古く書き込まれたキューを指す。ライトバッファから一次キャッシュ16への書込みが完了すると、TOQは次のキューを指すために、+1加算(インクリメント)される。そして、TOQがライトバッファ120の「n」のキューに達して次のライトバッファのキューを指す際には、ラップアラウンドして「0」のキューを指すことになる。
BOQは、複数あるライトバッファ120のキューの中で、最も新しく書き込まれたキューを指すが、ライトバッファ120に空きキューがある場合には、かかる空きキューの中で最もTOQに近いキューを指す。そして、このBOQまたはBOQ+1が、ストアバッファ110のTOQに格納されるストアデータの転送先となる。なお、かかる転送先の切替えは、ストアデータ転送処理部103がおこなう。
転送先がBOQとなる場合と、BOQ+1となる場合の条件は以下のようになる。すなわち、ライトバッファ120のBOQが空である場合には、BOQが転送先となる。また、ライトバッファ120のBOQに、先行するストアデータが格納されており、かつ、このストアデータとストアバッファ110のTOQのストアデータとがマージ可能である場合には、同様に、BOQが転送先となる。一方、ライトバッファ120のBOQに、先行するストアデータが格納されており、かつ、このストアデータとストアバッファ110のTOQのストアデータとがマージ不可能である場合には、BOQ+1が転送先となる。
また、ストアデータ転送処理部103が、マージ処理に伴う待合せを解除する条件を検出した際にも、BOQ+1が転送先になる。このように、BOQ+1が新たな転送先となる場合に、BOQは次のキューを指すために、+1加算(インクリメント)される。そして、BOQがライトバッファ120の「n」のキューに達して次のライトバッファのキューを指す際には、ラップアラウンドして「0」のキューを指すことになる。
ストアデータ転送処理部103は、ライトバッファのBOQが、ストアデータの一次キャッシュ16への書込みを実施しないよう制御する。BOQとTOQが一致しているとき、TOQのストアデータの一次キャッシュ16への書込みを開始してから、書込みを完了するまでの間に、かかるストアデータと後続のストア命令とのマージ処理が発生した場合に、後続のストア命令のストアデータが一次キャッシュ16に反映されずデータ化けを起こすからである。したがって、ライトバッファのBOQからの書込みを禁止するよう制御することによりかかるデータ化けを防止することができる。
また、ストアデータ転送処理部103は、BOQに格納されるデータのみが、マージ対象のキューとなるよう制御する。BOQ以外に格納されるデータをもマージ対象とすると、ストア命令の実行順序が崩れることになり、TSO(Total Store Order)または暗黙のシリアライズと呼ばれる、マルチプロセッサ環境下のストア命令の実行順序を保障することができずデータ化けを起こすからである。したがって、BOQに格納されるデータのみをマージ対象のキューとすることによりかかるデータ化けを防止することができる。
このようにして、ストアバッファ110のストアデータは、ライトバッファ120のBOQに格納される。そして、BOQがインクリメントされ、BOQでなくなったキューのストアデータは、TOQとなった際に、一次キャッシュ16へ書き込まれる。
次に、本実施例の特徴部分であるストアデータ制御部100の処理手順について説明する。図4は、ストアデータ制御処理の処理手順を示すフローチャートである。
ストアデータ転送処理部103は、ライトバッファ120のBOQに有効なストアデータが格納されている場合に、マージ処理に伴う待合せ処理を開始する。そして、ライトバッファ120のBOQをマージ対象とする(ステップS101)。かかる待合せは、ライトバッファ120のBOQを維持すること(インクリメントしないこと)によりおこなわれる。
そして、ストアデータ転送処理部103は、ストアバッファ状態取得部101、ライトバッファ状態取得部102およびタイマ処理部103から取得した情報に基づいて、待合せ解除条件の検出処理をおこなう(ステップS102)。そして、かかる検出処理の結果が「待合せ解除」である場合には(ステップS103肯定)、ライトバッファ120のBOQをインクリメントする(ステップS104)。すなわち、マージ処理に伴う待合せの解除は、待合せ解除条件検出処理(ステップS102)が、後述する待合せ解除条件を検出した場合におこなわれる。
一方、かかる検出処理の結果が「待合せ継続」である場合には(ステップS103否定)、再度、ステップS102以降の処理をおこなう。すなわち、待合せ処理中には、待合せを解除する条件の発生を継続して監視し、待合せ解除条件を検出するとただちに後続のストア命令との待合せを解除することで、無駄な待合せがおこなわれることを防止する。
BOQをインクリメントすることによりマージ処理の対象から外されたキューは、一次キャッシュ16への書込み対象のキューとして、かかる書込みに関する一連の処理を開始することになる。
次に、図4に示した待合せ解除条件検出処理の処理手順について図5を用いて説明する。図5は、待合せ解除条件検出処理の処理手順を示すフローチャートである。同図に示すように、待合せ解除条件は、S201〜S207の7つである。なお、同図においては説明の都合上、S201〜S207を順次実行するよう記載しているが、これらのステップの順序を限定するものではない。また、これらのステップを並列的に実行することもできる。
まず、待合せ解除条件検出処理においては、ライトバッファ120のBOQがマージ不可能なストア命令であるか否かを判定する(ステップS201)。具体的には、ライトバッファ状態取得部102により、かかるBOQに格納されているストアデータを参照し、このストアデータに対応するストア命令がマージ不可能なストア命令である場合には(ステップS201肯定)、「待合せ解除」を戻り値に設定し(ステップS209)、リターンする。一方、かかるストア命令がマージ可能なストア命令である場合には(ステップS201否定)、引き続き、待合せ解除条件の検出をおこなう。
つづいて、ストアバッファ110のTOQがマージ不可能なストア命令であるか否かを判定する(ステップS202)。具体的には、ストアバッファ状態取得部101により、かかるTOQに格納されているストアデータを参照し、このストアデータに対応するストア命令がマージ不可能なストア命令である場合には(ステップS202肯定)、「待合せ解除」を戻り値に設定し(ステップS209)、リターンする。一方、かかるストア命令がマージ可能なストア命令である場合には(ステップS202否定)、引き続き、待合せ解除条件の検出をおこなう。
つづいて、ライトバッファ120のBOQのストア命令により後続のフェッチ命令が実行を阻害されているか否かを判定する(ステップS203)。具体的には、ライトバッファ状態取得部102により、かかるBOQに格納されているストアデータを参照し、このストアデータに対応するストア命令により、処理を待たされている後続のフェッチ命令がある場合には(ステップS203肯定)、「待合せ解除」を戻り値に設定し(ステップS209)、リターンする。一方、かかるフェッチ命令が実行を阻害されていない場合には(ステップS203否定)、引き続き、待合せ解除条件の検出をおこなう。
つづいて、ライトバッファ120のBOQのストア命令により他の中央処理装置の吐き出し要求の実行が阻害されているか否かを判定する(ステップS204)。具体的には、ライトバッファ状態取得部102により、かかるBOQに格納されているストアデータを参照し、このストアデータに対応するストア命令により、実行を阻害されている他の中央処理装置の吐き出し要求がある場合には(ステップS204肯定)、「待合せ解除」を戻り値に設定し(ステップS209)、リターンする。一方、かかる吐き出し要求の実行が阻害されていない場合には(ステップS204否定)、引き続き、待合せ解除条件の検出をおこなう。
つづいて、ストアバッファ110のTOQが空であるか否かを判定する(ステップS205)。具体的には、ストアバッファ状態取得部101により、かかるTOQを参照し、このキューにストアデータが格納されていない場合には(ステップS205肯定)、「待合せ解除」を戻り値に設定し(ステップS209)、リターンする。一方、かかるキューにストアデータが格納されている場合には(ステップS205否定)、引き続き、待合せ解除条件の検出をおこなう。
つづいて、ストアバッファ110のTOQおよびライトバッファ120のBOQに格納されているストアデータが示すアドレス位置がマージ不可の関係にあるか否かを判定する(ステップS206)。具体的には、ストアバッファ状態取得部101およびライトバッファ状態取得部102により、かかるTOQおよびかかるBOQを参照し、それぞれのキューに格納されているストアデータが示すアドレス位置がマージ不可の関係にある場合には(ステップS206肯定)、「待合せ解除」を戻り値に設定し(ステップS209)、リターンする。一方、かかるアドレス位置がマージ可能な関係にある場合には(ステップS206否定)、引き続き、待合せ解除条件の検出をおこなう。
つづいて、ストアバッファ110のTOQに、ライトバッファ120に転送可能な状態(上述した、READY状態)のストアデータがないまま所定時間継続しているか否かを判定する(ステップS207)。具体的には、ストアバッファ状態取得部101により、かかるTOQを参照するとともに、タイマ処理部105により、待合せ開始からの経過時間を参照することにより、ライトバッファ120に書込み可能なストアデータがないまま所定時間が経過したことを検出した場合には(ステップS207肯定)、「待合せ解除」を戻り値に設定し(ステップS209)、リターンする。
そして、上述したS201〜S207のすべてが否定である場合、すなわち、待合せ解除条件を検出しなかった場合には、「待合せ継続」を戻り値に設定し(ステップS208)リターンする。
上述してきたように、本実施例では、ストアバッファおよびライトバッファの状態を取得する手段を設け、取得した状態に基づいてマージ機会を増加させるとともに、取得した状態および待ち時間を制限するタイマ処理などの待合せ解除条件検出処理を設けることにより、待合せ解除をするととしたので、ストアデータの記憶装置への反映を効率的におこなうことができる。
(付記1)ストアデータを一時的に保持するストアバッファおよびライトバッファを有し、前記ストアバッファから前記ライトバッファへ前記ストアデータを転送させる際に、該ストアデータのマージ処理をおこなうストアデータ制御装置であって、
前記ストアバッファおよび/または前記ライトバッファのバッファ状態を取得する状態取得手段と、
前記状態取得手段が取得した前記バッファ状態に基づいて、前記マージ処理に伴う待合せの開始および/または解除を制御する待合せ制御手段と
を備えたことを特徴とするストアデータ制御装置。
前記ストアバッファおよび/または前記ライトバッファのバッファ状態を取得する状態取得手段と、
前記状態取得手段が取得した前記バッファ状態に基づいて、前記マージ処理に伴う待合せの開始および/または解除を制御する待合せ制御手段と
を備えたことを特徴とするストアデータ制御装置。
(付記2)前記待合せ制御手段は、前記ストアバッファに前記ライトバッファへの転送が可能なストアデータがない場合であっても、前記ストアバッファが保持するストアデータの転送が可能な状態になったならば、マージ処理に伴う待合せを開始することを特徴とする付記1に記載のストアデータ制御装置。
(付記3)前記待合せ制御手段は、前記ライトバッファに前記マージ処理が可能なストアデータがない場合に、該マージ処理に伴う待合せ処理を解除することを特徴とする付記1または2に記載のストアデータ制御装置。
(付記4)前記待合せ制御手段は、前記ストアバッファに前記ライトバッファへの転送が可能なストアデータがない場合に、前記マージ処理に伴う待合せ処理を解除することを特徴とする付記1、2または3に記載のストアデータ制御装置。
(付記5)前記待合せ制御手段は、前記ライトバッファのストアデータが前記マージ処理に伴う待合せ中であるために、後続のフェッチ命令の実行が阻害されている場合に、該待合せを解除することを特徴とする付記1〜4のいずれか一つに記載のストアデータ制御装置。
(付記6)前記待合せ制御手段は、前記ライトバッファのストアデータが前記マージ処理に伴う待合せ中であるために、他の中央処理装置の吐き出し要求の実行が阻害されている場合に、該待合せを解除することを特徴とする付記1〜5のいずれか一つに記載のストアデータ制御装置。
(付記7)前記待合せ制御手段は、前記ストアバッファがストアデータを保持していない場合に、前記マージ処理に伴う待合せ処理を解除することを特徴とする付記1〜6のいずれか一つに記載のストアデータ制御装置。
(付記8)前記待合せ制御手段は、前記ストアバッファが保持するストアデータおよび前記ライトバッファが保持するストアデータのアドレスがマージ可能な位置関係にない場合に、マージ処理に伴う待合せを解除することを特徴とする付記1〜7のいずれか一つに記載のストアデータ制御装置。
(付記9)前記待合せ制御手段は、前記ライトバッファのストアデータが前記マージ処理に伴う待合せを所定時間継続している場合に、マージ処理に伴う待合せを解除することを特徴とする付記1〜8のいずれか一つに記載のストアデータ制御装置。
(付記10)ストアデータを一時的に保持するストアバッファおよびライトバッファを有し、前記ストアバッファから前記ライトバッファへ前記ストアデータを転送させる際に、該ストアデータのマージ処理をおこなうストアデータ制御方法であって、
前記ストアバッファおよび/または前記ライトバッファのバッファ状態を取得する状態取得工程と、
前記状態取得手段が取得した前記バッファ状態に基づいて、前記マージ処理に伴う待合せの開始および/または解除を制御する待合せ制御工程と
を含んだことを特徴とするストアデータ制御方法。
前記ストアバッファおよび/または前記ライトバッファのバッファ状態を取得する状態取得工程と、
前記状態取得手段が取得した前記バッファ状態に基づいて、前記マージ処理に伴う待合せの開始および/または解除を制御する待合せ制御工程と
を含んだことを特徴とするストアデータ制御方法。
(付記11)前記待合せ制御工程は、前記ストアバッファに前記ライトバッファへの転送が可能なストアデータがない場合であっても、前記ストアバッファが保持するストアデータの転送が可能な状態になったならば、マージ処理に伴う待合せを開始することを特徴とする付記10に記載のストアデータ制御方法。
(付記12)前記待合せ制御工程は、前記ライトバッファに前記マージ処理が可能なストアデータがない場合に、該マージ処理に伴う待合せ処理を解除することを特徴とする付記10または付記11に記載のストアデータ制御方法。
(付記13)前記待合せ制御工程は、前記ストアバッファに前記ライトバッファへの転送が可能なストアデータがない場合に、前記マージ処理に伴う待合せ処理を解除することを特徴とする付記10、11または12に記載のストアデータ制御方法。
(付記14)前記待合せ制御工程は、前記ライトバッファのストアデータが前記マージ処理に伴う待合せ中であるために、後続のフェッチ命令の実行が阻害されている場合に、該待合せを解除することを特徴とする付記10〜13のいずれか一つに記載のストアデータ制御方法。
(付記15)前記待合せ制御工程は、前記ライトバッファのストアデータが前記マージ処理に伴う待合せ中であるために、他の中央処理装置の吐き出し要求の実行が阻害されている場合に、該待合せを解除することを特徴とする付記10〜14のいずれか一つに記載のストアデータ制御方法。
(付記16)前記待合せ制御工程は、前記ストアバッファがストアデータを保持していない場合に、前記マージ処理に伴う待合せ処理を解除することを特徴とする付記10〜15のいずれか一つに記載のストアデータ制御方法。
(付記17)前記待合せ制御工程は、前記ストアバッファが保持するストアデータおよび前記ライトバッファが保持するストアデータのアドレスがマージ可能な位置関係にない場合に、マージ処理に伴う待合せを解除することを特徴とする付記10〜16のいずれか一つに記載のストアデータ制御方法。
(付記18)前記待合せ制御工程は、前記ライトバッファのストアデータが前記マージ処理に伴う待合せを所定時間継続している場合に、マージ処理に伴う待合せを解除することを特徴とする付記10〜17のいずれか一つに記載のストアデータ制御方法。
以上のように、本発明に係るストアデータ制御装置およびストアデータ制御方法は、ストアバッファとライトバッファとの間のマージ制御に有用であり、特に、効率的なマージ制御が必要な場合に適している。
10 中央処理装置
11 命令処理装置
12 演算装置
13 記憶処理装置
14 ストアポート
15 フェッチポート
16 一次キャッシュ
17 二次キャッシュ
20 メモリ制御装置
100 ストアデータ制御部
101 ストアバッファ状態取得部
102 ライトバッファ状態取得部
103 ストアデータ転送処理部
104 ライトバッファ出力処理部
110 ストアバッファ(STB)
110a STB(TOQ)
120 ライトバッファ(WB)
120a WB(BOQ)
120b WB(BOQ+1)
120c WB(TOQ)
210 マージ待合せ
220 マージ待合せ解除
230 キャッシュ書込み
11 命令処理装置
12 演算装置
13 記憶処理装置
14 ストアポート
15 フェッチポート
16 一次キャッシュ
17 二次キャッシュ
20 メモリ制御装置
100 ストアデータ制御部
101 ストアバッファ状態取得部
102 ライトバッファ状態取得部
103 ストアデータ転送処理部
104 ライトバッファ出力処理部
110 ストアバッファ(STB)
110a STB(TOQ)
120 ライトバッファ(WB)
120a WB(BOQ)
120b WB(BOQ+1)
120c WB(TOQ)
210 マージ待合せ
220 マージ待合せ解除
230 キャッシュ書込み
Claims (10)
- ストアデータを一時的に保持するストアバッファおよびライトバッファを有し、前記ストアバッファから前記ライトバッファへ前記ストアデータを転送させる際に、該ストアデータのマージ処理をおこなうストアデータ制御装置であって、
前記ストアバッファおよび/または前記ライトバッファのバッファ状態を取得する状態取得手段と、
前記状態取得手段が取得した前記バッファ状態に基づいて、前記マージ処理に伴う待合せの開始および/または解除を制御する待合せ制御手段と
を備えたことを特徴とするストアデータ制御装置。 - 前記待合せ制御手段は、前記ストアバッファに前記ライトバッファへの転送が可能なストアデータがない場合であっても、前記ストアバッファが保持するストアデータの転送が可能な状態になったならば、マージ処理に伴う待合せを開始することを特徴とする請求項1に記載のストアデータ制御装置。
- 前記待合せ制御手段は、前記ライトバッファに前記マージ処理が可能なストアデータがない場合に、該マージ処理に伴う待合せ処理を解除することを特徴とする請求項1または2に記載のストアデータ制御装置。
- 前記待合せ制御手段は、前記ストアバッファに前記ライトバッファへの転送が可能なストアデータがない場合に、前記マージ処理に伴う待合せ処理を解除することを特徴とする請求項1、2または3に記載のストアデータ制御装置。
- 前記待合せ制御手段は、前記ライトバッファのストアデータが前記マージ処理に伴う待合せ中であるために、後続のフェッチ命令の実行が阻害されている場合に、該待合せを解除することを特徴とする請求項1〜4のいずれか一つに記載のストアデータ制御装置。
- 前記待合せ制御手段は、前記ライトバッファのストアデータが前記マージ処理に伴う待合せ中であるために、他の中央処理装置の吐き出し要求の実行が阻害されている場合に、該待合せを解除することを特徴とする請求項1〜5のいずれか一つに記載のストアデータ制御装置。
- 前記待合せ制御手段は、前記ストアバッファがストアデータを保持していない場合に、前記マージ処理に伴う待合せ処理を解除することを特徴とする請求項1〜6のいずれか一つに記載のストアデータ制御装置。
- 前記待合せ制御手段は、前記ストアバッファが保持するストアデータおよび前記ライトバッファが保持するストアデータのアドレスがマージ可能な位置関係にない場合に、マージ処理に伴う待合せを解除することを特徴とする請求項1〜7のいずれか一つに記載のストアデータ制御装置。
- 前記待合せ制御手段は、前記ライトバッファのストアデータが前記マージ処理に伴う待合せを所定時間継続している場合に、マージ処理に伴う待合せを解除することを特徴とする請求項1〜8のいずれか一つに記載のストアデータ制御装置。
- ストアデータを一時的に保持するストアバッファおよびライトバッファを有し、前記ストアバッファから前記ライトバッファへ前記ストアデータを転送させる際に、該ストアデータのマージ処理をおこなうストアデータ制御方法であって、
前記ストアバッファおよび/または前記ライトバッファのバッファ状態を取得する状態取得工程と、
前記状態取得手段が取得した前記バッファ状態に基づいて、前記マージ処理に伴う待合せの開始および/または解除を制御する待合せ制御工程と
を含んだことを特徴とするストアデータ制御方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004224559A JP2006048163A (ja) | 2004-07-30 | 2004-07-30 | ストアデータ制御装置およびストアデータ制御方法 |
US10/991,865 US20060026369A1 (en) | 2004-07-30 | 2004-11-19 | Store data control device and store data control method |
EP04257438A EP1628208A3 (en) | 2004-07-30 | 2004-11-30 | Store data control device and store data control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004224559A JP2006048163A (ja) | 2004-07-30 | 2004-07-30 | ストアデータ制御装置およびストアデータ制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006048163A true JP2006048163A (ja) | 2006-02-16 |
Family
ID=35448175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004224559A Pending JP2006048163A (ja) | 2004-07-30 | 2004-07-30 | ストアデータ制御装置およびストアデータ制御方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20060026369A1 (ja) |
EP (1) | EP1628208A3 (ja) |
JP (1) | JP2006048163A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012043202A (ja) * | 2010-08-19 | 2012-03-01 | Nec Computertechno Ltd | ストアマージ装置、情報処理装置、ストアマージ方法およびプログラム |
JP2014063385A (ja) * | 2012-09-21 | 2014-04-10 | Fujitsu Ltd | 演算処理装置及び演算処理装置の制御方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130145097A1 (en) * | 2011-12-05 | 2013-06-06 | Qualcomm Incorporated | Selective Access of a Store Buffer Based on Cache State |
JP6680978B2 (ja) * | 2016-04-15 | 2020-04-15 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000181780A (ja) * | 1998-12-16 | 2000-06-30 | Hitachi Ltd | ストアバッファ装置 |
JP2004038341A (ja) * | 2002-06-28 | 2004-02-05 | Fujitsu Ltd | 記憶制御装置およびデータ格納方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4750154A (en) * | 1984-07-10 | 1988-06-07 | Prime Computer, Inc. | Memory alignment system and method |
US6356270B2 (en) * | 1998-03-31 | 2002-03-12 | Intel Corporation | Efficient utilization of write-combining buffers |
US6266747B1 (en) * | 1998-10-30 | 2001-07-24 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for writing data into data storage units |
US6321300B1 (en) * | 1999-05-14 | 2001-11-20 | Rise Technology Company | Apparatus and method for dynamically reconfigurable timed flushing of a queue of coalescing write buffers |
US6571319B2 (en) * | 1999-06-04 | 2003-05-27 | Sun Microsystems, Inc. | Methods and apparatus for combining a plurality of memory access transactions |
US6496905B1 (en) * | 1999-10-01 | 2002-12-17 | Hitachi, Ltd. | Write buffer with burst capability |
US6587929B2 (en) * | 2001-07-31 | 2003-07-01 | Ip-First, L.L.C. | Apparatus and method for performing write-combining in a pipelined microprocessor using tags |
US7089364B2 (en) * | 2004-04-15 | 2006-08-08 | International Business Machines Corporation | System and method to stall dispatch of gathered store operations in a store queue using a timer |
-
2004
- 2004-07-30 JP JP2004224559A patent/JP2006048163A/ja active Pending
- 2004-11-19 US US10/991,865 patent/US20060026369A1/en not_active Abandoned
- 2004-11-30 EP EP04257438A patent/EP1628208A3/en not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000181780A (ja) * | 1998-12-16 | 2000-06-30 | Hitachi Ltd | ストアバッファ装置 |
JP2004038341A (ja) * | 2002-06-28 | 2004-02-05 | Fujitsu Ltd | 記憶制御装置およびデータ格納方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012043202A (ja) * | 2010-08-19 | 2012-03-01 | Nec Computertechno Ltd | ストアマージ装置、情報処理装置、ストアマージ方法およびプログラム |
JP2014063385A (ja) * | 2012-09-21 | 2014-04-10 | Fujitsu Ltd | 演算処理装置及び演算処理装置の制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US20060026369A1 (en) | 2006-02-02 |
EP1628208A3 (en) | 2008-01-16 |
EP1628208A2 (en) | 2006-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6944746B2 (en) | RISC processor supporting one or more uninterruptible co-processors | |
JP4520790B2 (ja) | 情報処理装置およびソフトウェアプリフェッチ制御方法 | |
JP4520788B2 (ja) | マルチスレッドプロセッサ | |
EP2159702B1 (en) | Cache control device and control method | |
US8190825B2 (en) | Arithmetic processing apparatus and method of controlling the same | |
US20050210204A1 (en) | Memory control device, data cache control device, central processing device, storage device control method, data cache control method, and cache control method | |
US8103859B2 (en) | Information processing apparatus, cache memory controlling apparatus, and memory access order assuring method | |
JP2003519832A (ja) | アントレーニングを備えるストア−ロード転送プレディクタ | |
JP5089226B2 (ja) | I/oアドレス変換キャッシュ・ミスのソフトウェア・ミス処理用ハードウェア支援エクセプション | |
JP2008107983A (ja) | キャッシュメモリ | |
KR100988334B1 (ko) | 캐쉬 제어 장치, 정보 처리 장치 | |
JP2011013864A (ja) | 命令制御装置、命令制御方法および演算回路 | |
US20050060577A1 (en) | Interrupt verification support mechanism | |
JPH06309230A (ja) | バススヌ−プ方法 | |
US7451274B2 (en) | Memory control device, move-in buffer control method | |
US7519775B2 (en) | Enforcing memory-reference ordering requirements at the L2 cache level | |
US20140289501A1 (en) | Technique for freeing renamed registers | |
JP2006048163A (ja) | ストアデータ制御装置およびストアデータ制御方法 | |
US20100100709A1 (en) | Instruction control apparatus and instruction control method | |
US11586444B2 (en) | Processor and pipeline processing method for processing multiple threads including wait instruction processing | |
JP2004005710A (ja) | 情報処置装置 | |
US11550589B2 (en) | Inhibiting load instruction execution based on reserving a resource of a load and store queue but failing to reserve a resource of a store data queue | |
JP2004234420A (ja) | 割り込み制御方式及び割り込み制御方法 | |
EP1365319B1 (en) | Risc processor supporting one or more uninterruptible co-processors | |
JP2024040922A (ja) | 演算処理装置、演算処理方法及び情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061218 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091215 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100406 |