JP2006048181A - 記憶制御装置、ムーブインバッファ制御方法およびプログラム - Google Patents
記憶制御装置、ムーブインバッファ制御方法およびプログラム Download PDFInfo
- Publication number
- JP2006048181A JP2006048181A JP2004224854A JP2004224854A JP2006048181A JP 2006048181 A JP2006048181 A JP 2006048181A JP 2004224854 A JP2004224854 A JP 2004224854A JP 2004224854 A JP2004224854 A JP 2004224854A JP 2006048181 A JP2006048181 A JP 2006048181A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- instruction
- buffer
- data
- storage device
- 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.)
- Granted
Links
- 239000000872 buffer Substances 0.000 title claims abstract description 223
- 238000000034 method Methods 0.000 title claims description 84
- 238000012545 processing Methods 0.000 claims abstract description 152
- 238000001514 detection method Methods 0.000 claims abstract description 29
- 238000012544 monitoring process Methods 0.000 claims description 52
- 238000012546 transfer Methods 0.000 claims description 24
- 108700010388 MIBs Proteins 0.000 abstract description 17
- 238000010586 diagram Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 6
- 238000007796 conventional method Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 108700019579 mouse Ifi16 Proteins 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000003068 static effect Effects 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0855—Overlapped cache accessing, e.g. pipeline
- G06F12/0859—Overlapped cache accessing, e.g. pipeline with reload from main memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- 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/3802—Instruction prefetching
-
- 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/3802—Instruction prefetching
- G06F9/3814—Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
-
- 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
- G06F9/383—Operand prefetching
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
Abstract
【解決手段】中央処理装置10は、命令の実行順序を変換して処理するアウトオブオーダ処理に基づいて、ロード命令とストア命令とプリフェッチ命令とを少なくとも実行し、有効MIB検出部1041aは、主記憶装置30のデータに対する一次キャッシュ1034の参照要求が保持された一次キャッシュMIB1036の数を検出し、MIB制御部1041cは、検出されたキャッシュバッファの数が所定の数に達した場合に、ロード命令またはストア命令による参照要求をプリフェッチ命令による参照要求に優先して一次キャッシュMIB1036に保持するよう制御する。
【選択図】 図1
Description
前記フェッチポート保持工程でフェッチポートに保持されたフェッチ処理要求の実行を監視する命令実行監視工程と、をさらに含み、前記バッファ制御工程は、前記命令実行監視工程によってフェッチ処理が所定の時間停滞していることが検出された場合は、前記フェッチポートに保持されているフェッチ処理要求のなかで最も古く格納されたフェッチ処理要求による前記参照要求を前記キャッシュバッファに保持するよう制御し、前記命令実行監視工程によってフェッチ処理が所定の時間停滞していることが検出されなかった場合は、前記フェッチ処理要求による前記参照要求を前記キャッシュバッファに保持するよう制御することを特徴とする。
図1を参照して、記憶制御装置103の概要と主要な特徴について説明する。図1は、実施例1に係るコンピュータシステム1の構成を示す機能ブロック図である。
次に、図1を参照して、実施例に係るコンピュータシステム1の構成について説明する。コンピュータシステム1は、中央処理装置10、50、システムコントローラ20、主記憶装置30、入出力装置40を有するマルチプロセッサシステムである。中央処理装置10、50は、主記憶装置30に格納されたプログラムに従い、データを処理した結果を再び主記憶装置30に格納する処理部であり、命令処理装置101、演算装置102、記憶制御装置103を有する。
次に、ストア命令に対するMIB制御について説明する。一次キャッシュ制御部1041は、ストア命令に例外、すなわちアドレス変換バッファのページ属性にアクセス不可があったか否かを確認し、確認結果を命令処理装置101に通知する。そして、命令処理装置101は、ストア命令に例外が発生せず、ストアデータを記憶制御装置103へ出力済みであり、ストア命令が実行中の先頭にきた場合は、記憶制御装置103に対しストア命令についてストア許可を出力する。
次に、ロード命令/ストア命令の実行停滞、すなわちハング防止のためのMIB制御について説明する。命令実行監視部1041dは、開放信号がOFFであって、ストアポート1032およびフェッチポート1033に有効な命令が滞留している場合、ストアポート1032およびフェッチポート1033のそれぞれが有するハングカウンタを加算する。すなわち、命令実行監視部1041dは、実行完了による開放を待つポートが存在し、ポートの開放が行われない場合は、ハングカウンタを加算する。このハングカウンタが所定の閾値、例えば2000サイクルを超えた場合、ストアポート1032またはフェッチポート1033でハングが発生していると看做して、MIB制御部1041cは、ストアポート1032またはフェッチポート1033のTOQ以外の命令が一次キャッシュMIB1036を確保することを禁止する。
次に、図5を参照して、図1に示すMIB制御部1041cによるプリフェッチ命令に対するMIB制御手順について説明する。図5は、図1に示すMIB制御部1041cによるプリフェッチ命令に対するMIB制御手順を示すフローチャートである。同図に示すように、一次キャッシュ1034のパイプラインに投入されたロード命令、ストア命令、プリフェッチ命令のいずれか一つがキャッシュミスをすると(ステップS501)、MIB制御部1041cは、有効MIB検出部1041aに一次キャッシュMIB1036が満杯か否かを確認する(ステップS502)。なお、ストア命令には、突き放されたストア命令が含まれる。
次に、図6を参照して、図1に示すMIB制御部1041cによるアウトオブオーダ処理に対するMIB制御手順について説明する。図6は、図1に示すMIB制御部1041cによるアウトオブオーダ処理に対するMIB制御手順を示すフローチャートである。同図に示すように、一次キャッシュのパイプラインに投入されたロード命令、ストア命令、プリフェッチ命令のいずれか一つが一次キャッシュミスをすると(ステップS601)、MIB制御部1041cは、有効MIB検出部1041aに一次キャッシュMIB1036が満杯か否かを確認する(ステップS602)。なお、ストア命令には、突き放されたストア命令が含まれる。
次に、図7を参照して、図1に示すMIB制御部1041cによるロード命令/ストア命令の実行停滞に対するMIB制御手順について説明する。図7は、図1に示すMIB制御部1041cによるロード命令/ストア命令の実行停滞に対するMIB制御手順を示すフローチャートである。同図に示すように、一次キャッシュのパイプラインに投入されたロード命令、ストア命令、プリフェッチ命令のいずれか一つが一次キャッシュミスをすると(ステップS701)、MIB制御部1041cは、有効MIB検出部1041aに一次キャッシュMIB1036が満杯か否かを確認する(ステップS702)。なお、ストア命令には、突き放されたストア命令が含まれる。
その結果、ストアポート1032でハングしており、ストアポートのTOQ以外の命令である場合は(ステップS708肯定)、MIB制御部1041cは、プリフェッチポート1040を確保して(ステップS703)、二次キャッシュ1038へのムーブインを要求する(ステップS704)。
一方、ストアポート1032でハングしていないか、またはストアポートのTOQの命令である場合は(ステップS708否定)、一次キャッシュMIB1036を確保して(ステップS709)、一次キャッシュ1034へのムーブインを要求する(ステップS710)。
その結果、一次キャッシュミスした命令がプリフェッチ命令である場合は(ステップS706肯定)、MIB制御部1041cは、プリフェッチポート1040を確保して(ステップS703)、二次キャッシュ1038へのムーブインを要求する(ステップS704)。
その結果、ストアポート1032でハングしている場合は(ステップS708肯定)、MIB制御部1041cは、プリフェッチポート1040を確保して(ステップS703)、二次キャッシュ1038へのムーブインを要求する(ステップS704)。
一方、ストアポート1032でハングしていないか、またはストアポートのTOQの命令である場合は(ステップS708否定)、一次キャッシュMIB1036を確保して(ステップS709)、一次キャッシュ1034へのムーブインを要求する(ステップS710)。
前記中央処理装置は、命令の実行順序を変換して処理するアウトオブオーダ処理に基づいて、前記キャッシュまたは主記憶装置から前記演算装置に前記データを格納する命令であるロード命令と、前記演算装置の演算結果を前記キャッシュまたは前記主記憶装置に書き込むストア命令と、前記主記憶装置のデータを前記キャッシュへ格納する命令であるプリフェッチ命令と、を少なくとも実行し、
前記主記憶装置のデータに対する前記キャッシュの参照要求が保持されたキャッシュバッファの数を検出する有効バッファ検出手段と、
前記検出されたキャッシュバッファの数が所定の数に達した場合に、前記ロード命令または前記ストア命令による前記参照要求を前記プリフェッチ命令による前記参照要求に優先して前記キャッシュバッファに保持するよう制御するバッファ制御手段と、
を備えたことを特徴とする記憶制御装置。
前記フェッチポートに保持されたフェッチ処理要求の実行を監視する命令実行監視手段と、をさらに備え、
前記バッファ制御手段は、前記命令実行監視手段によってフェッチ処理が所定の時間停滞していることが検出された場合は、前記フェッチポートに保持されているフェッチ処理要求のなかで最も古く格納されたフェッチ処理要求による前記参照要求を前記キャッシュバッファに保持するよう制御し、前記命令実行監視手段によってフェッチ処理が所定の時間停滞していることが検出されなかった場合は、前記フェッチ処理要求による前記参照要求を前記キャッシュバッファに保持するよう制御することを特徴とする付記1または2に記載の記憶制御装置。
前記命令実行監視手段は、前記ストアポートに保持されたストア命令の実行をさらに監視し、
前記バッファ制御手段は、前記命令実行監視手段によって、書き込みを許可されたストア命令が所定の時間停滞していることが検出された場合は、前記ストアポートに保持されているストア命令のなかで最も古く格納されたストア命令による前記参照要求を前記キャッシュバッファに保持するよう制御することを特徴とする付記3に記載の記憶制御装置。
前記キャッシュバッファは、前記主記憶装置のデータに対する前記二次キャッシュの参照要求を保持する二次キャッシュバッファと、前記二次キャッシュのデータに対する前記一次キャッシュの参照要求を保持する一次キャッシュバッファと、を有し、
前記一次キャッシュから前記二次キャッシュへ転送する前記参照要求を保持するバッファである参照要求転送ポートと、をさらに備え、
前記バッファ制御手段は、前記キャッシュバッファに保持するよう制御した参照要求を前記一次キャッシュバッファに保持するよう制御し、前記キャッシュバッファに保持するよう制御した参照要求以外の前記参照要求を前記参照要求転送ポートによって前記一次キャッシュから前記二次キャッシュへ転送することを特徴とする付記1〜4のいずれか一つに記載の記憶制御装置。
前記中央処理装置は、命令の実行順序を変換して処理するアウトオブオーダ処理に基づいて、前記キャッシュまたは主記憶装置から前記演算装置に前記データを格納する命令であるロード命令と、前記演算装置の演算結果を前記キャッシュまたは前記主記憶装置に書き込むストア命令と、前記主記憶装置のデータを前記キャッシュへ格納する命令であるプリフェッチ命令と、を少なくとも実行し、
前記主記憶装置のデータに対する前記キャッシュの参照要求が保持されたキャッシュバッファの数を検出する有効バッファ検出工程と、
前記検出されたキャッシュバッファの数が所定の数に達した場合に、前記ロード命令または前記ストア命令による前記参照要求を前記プリフェッチ命令による前記参照要求に優先して前記キャッシュバッファに保持するよう制御するバッファ制御工程と、
を含んだことを特徴とするムーブインバッファ制御方法。
前記フェッチポート保持工程でフェッチポートに保持されたフェッチ処理要求の実行を監視する命令実行監視工程と、をさらに含み、
前記バッファ制御工程は、前記命令実行監視工程によってフェッチ処理が所定の時間停滞していることが検出された場合は、前記フェッチポートに保持されているフェッチ処理要求のなかで最も古く格納されたフェッチ処理要求による前記参照要求を前記キャッシュバッファに保持するよう制御し、前記命令実行監視工程によってフェッチ処理が所定の時間停滞していることが検出されなかった場合は、前記フェッチ処理要求による前記参照要求を前記キャッシュバッファに保持するよう制御することを特徴とする付記6または7に記載のムーブインバッファ制御方法。
前記命令実行監視工程は、前記ストアポート保持工程でストアポートに保持されたストア命令の実行をさらに監視し、
前記バッファ制御工程は、前記命令実行監視工程によって、書き込みを許可されたストア命令が所定の時間停滞していることが検出された場合は、前記ストアポートに保持されているストア命令のなかで最も古く格納されたストア命令による前記参照要求を前記キャッシュバッファに保持するよう制御することを特徴とする付記8に記載のムーブインバッファ制御方法。
前記キャッシュバッファは、前記主記憶装置のデータに対する前記二次キャッシュの参照要求を保持する二次キャッシュバッファと、前記二次キャッシュのデータに対する前記一次キャッシュの参照要求を保持する一次キャッシュバッファと、を有し、
前記一次キャッシュから前記二次キャッシュへ転送する前記参照要求をバッファである参照要求転送ポートに保持する参照要求転送ポート保持工程と、をさらに含み、
前記バッファ制御工程は、前記キャッシュバッファに保持するよう制御した参照要求を前記一次キャッシュバッファに保持するよう制御し、前記キャッシュバッファに保持するよう制御した参照要求以外の前記参照要求を前記参照要求転送ポートによって前記一次キャッシュから前記二次キャッシュへ転送することを特徴とする付記6〜9に記載のムーブインバッファ制御方法。
前記中央処理装置は、命令の実行順序を変換して処理するアウトオブオーダ処理に基づいて、前記キャッシュまたは主記憶装置から前記演算装置に前記データを格納する命令であるロード命令と、前記演算装置の演算結果を前記キャッシュまたは前記主記憶装置に書き込むストア命令と、前記主記憶装置のデータを前記キャッシュへ格納する命令であるプリフェッチ命令と、を少なくとも実行し、
前記主記憶装置のデータに対する前記キャッシュの参照要求が保持されたキャッシュバッファの数を検出する有効バッファ検出手順と、
前記検出されたキャッシュバッファの数が所定の数に達した場合に、前記ロード命令または前記ストア命令による前記参照要求を前記プリフェッチ命令による前記参照要求に優先して前記キャッシュバッファに保持するよう制御するバッファ制御手順と、
をコンピュータに実行させることを特徴とするムーブインバッファ制御プログラム。
前記フェッチポート保持手順でフェッチポートに保持されたフェッチ処理要求の実行を監視する命令実行監視手順と、をさらにコンピュータに実行させ、
前記バッファ制御手順は、前記命令実行監視手順によってフェッチ処理が所定の時間停滞していることが検出された場合は、前記フェッチポートに保持されているフェッチ処理要求のなかで最も古く格納されたフェッチ処理要求による前記参照要求を前記キャッシュバッファに保持するよう制御し、前記命令実行監視手順によってフェッチ処理が所定の時間停滞していることが検出されなかった場合は、前記フェッチ処理要求による前記参照要求を前記キャッシュバッファに保持するよう制御することを特徴とする付記11または12に記載のムーブインバッファ制御プログラム。
前記命令実行監視手順は、前記ストアポート保持手順でストアポートに保持されたストア命令の実行をさらに監視し、
前記バッファ制御手順は、前記命令実行監視手順によって、書き込みを許可されたストア命令が所定の時間停滞していることが検出された場合は、前記ストアポートに保持されているストア命令のなかで最も古く格納されたストア命令による前記参照要求を前記キャッシュバッファに保持するよう制御することを特徴とする付記13に記載のムーブインバッファ制御プログラム。
前記キャッシュバッファは、前記主記憶装置のデータに対する前記二次キャッシュの参照要求を保持する二次キャッシュバッファと、前記二次キャッシュのデータに対する前記一次キャッシュの参照要求を保持する一次キャッシュバッファと、を有し、
前記一次キャッシュから前記二次キャッシュへ転送する前記参照要求をバッファである参照要求転送ポートに保持する参照要求転送ポート保持手順と、をさらにコンピュータに実行させ、
前記バッファ制御手順は、前記キャッシュバッファに保持するよう制御した参照要求を前記一次キャッシュバッファに保持するよう制御し、前記キャッシュバッファに保持するよう制御した参照要求以外の前記参照要求を前記参照要求転送ポートによって前記一次キャッシュから前記二次キャッシュへ転送することを特徴とする付記11〜14のいずれか一つに記載のムーブインバッファ制御プログラム。
10、50 中央処理装置
20 システムコントローラ
30 主記憶装置
40 入出力装置
101 命令処置装置
102 演算装置
103 記憶制御装置
1031 命令ポート
1032 ストアポート
1033 フェッチポート
1034 一次キャッシュ
1034a 命令キャッシュ
1034b オペランドキャッシュ
1036 一次キャッシュMIB
1036a 命令キャッシュMIB
1036b オペランドキャッシュMIB
1038 二次キャッシュ
1039 二次キャッシュMIB
1040 プリフェッチポート
1041 一次キャッシュ制御部
1041a 有効MIB検出部
1041b 命令識別部
1041c MIB制御部
1041d 命令実行監視部
1042 二次キャッシュ制御部
200 コンピュータシステム
201 本体部
202 ディスプレイ
202a 表示画面
203 キーボード
204 マウス
205 モデム
206 ローカルエリアネットワークまたは広域エリアネットワーク(LAN/WAN)
207 公衆回線
208 フレキシブルディスク(FD)
209 CD−ROM
211 他のコンピュータシステム(PC)
212 サーバ
213 プリンタ
221 CPU
222 RAM
223 ROM
224 ハードディスクドライブ(HDD)
225 CD−ROMドライブ
226 FDドライブ
227 I/Oインターフェース
228 LANインターフェース
Claims (10)
- 主記憶装置と中央処理装置に含まれる命令処理装置および演算装置との間に介在し、前記命令処理装置および演算装置から前記主記憶装置のデータに対する参照を制御し、また前記主記憶装置のデータおよび該データに対応するアドレス情報を記憶するキャッシュと、前記主記憶装置のデータに対する前記キャッシュの参照要求であるアドレス情報を保持するキャッシュバッファと、を有する記憶制御装置であって、
前記中央処理装置は、命令の実行順序を変換して処理するアウトオブオーダ処理に基づいて、前記キャッシュまたは主記憶装置から前記演算装置に前記データを格納する命令であるロード命令と、前記演算装置の演算結果を前記キャッシュまたは前記主記憶装置に書き込むストア命令と、前記主記憶装置のデータを前記キャッシュへ格納する命令であるプリフェッチ命令と、を少なくとも実行し、
前記主記憶装置のデータに対する前記キャッシュの参照要求が保持されたキャッシュバッファの数を検出する有効バッファ検出手段と、
前記検出されたキャッシュバッファの数が所定の数に達した場合に、前記ロード命令または前記ストア命令による前記参照要求を前記プリフェッチ命令による前記参照要求に優先して前記キャッシュバッファに保持するよう制御するバッファ制御手段と、
を備えたことを特徴とする記憶制御装置。 - 前記バッファ制御手段は、前記命令の実行順序に基づいて前記ロード命令または前記ストア命令による前記参照要求を前記キャッシュバッファに保持するよう制御することを特徴とする請求項1に記載の記憶制御装置。
- 前記キャッシュまたは主記憶装置からデータを取り出す要求であるフェッチ処理要求を保持するバッファであるフェッチポートと、
前記フェッチポートに保持されたフェッチ処理要求の実行を監視する命令実行監視手段と、をさらに備え、
前記バッファ制御手段は、前記命令実行監視手段によってフェッチ処理が所定の時間停滞していることが検出された場合は、前記フェッチポートに保持されているフェッチ処理要求のなかで最も古く格納されたフェッチ処理要求による前記参照要求を前記キャッシュバッファに保持するよう制御し、前記命令実行監視手段によってフェッチ処理が所定の時間停滞していることが検出されなかった場合は、前記フェッチ処理要求による前記参照要求を前記キャッシュバッファに保持するよう制御することを特徴とする請求項1または2に記載の記憶制御装置。 - 前記ストア命令を保持するバッファであるストアポートをさらに備え、
前記命令実行監視手段は、前記ストアポートに保持されたストア命令の実行をさらに監視し、
前記バッファ制御手段は、前記命令実行監視手段によって、書き込みを許可されたストア命令が所定の時間停滞していることが検出された場合は、前記ストアポートに保持されているストア命令のなかで最も古く格納されたストア命令による前記参照要求を前記キャッシュバッファに保持するよう制御することを特徴とする請求項3に記載の記憶制御装置。 - 前記キャッシュは、前記主記憶装置のデータおよび該データに対応したアドレス情報を記憶する二次キャッシュと、前記二次キャッシュのデータおよび該データに対応したアドレス情報を記憶する一次キャッシュと、を有し、
前記キャッシュバッファは、前記主記憶装置のデータに対する前記二次キャッシュの参照要求を保持する二次キャッシュバッファと、前記二次キャッシュのデータに対する前記一次キャッシュの参照要求を保持する一次キャッシュバッファと、を有し、
前記一次キャッシュから前記二次キャッシュへ転送する前記参照要求を保持するバッファである参照要求転送ポートと、をさらに備え、
前記バッファ制御手段は、前記キャッシュバッファに保持するよう制御した参照要求を前記一次キャッシュバッファに保持するよう制御し、前記キャッシュバッファに保持するよう制御した参照要求以外の前記参照要求を前記参照要求転送ポートによって前記一次キャッシュから前記二次キャッシュへ転送することを特徴とする請求項1〜4のいずれか一つに記載の記憶制御装置。 - 主記憶装置と中央処理装置に含まれる命令処理装置および演算装置との間に介在し、前記命令処理装置および演算装置から前記主記憶装置のデータに対する参照を制御し、また前記主記憶装置のデータおよび該データに対応するアドレス情報を記憶するキャッシュと、前記主記憶装置のデータに対する前記キャッシュの参照要求であるアドレス情報を保持するキャッシュバッファと、を有する記憶制御装置に用いられるムーブインバッファ制御方法であって、
前記中央処理装置は、命令の実行順序を変換して処理するアウトオブオーダ処理に基づいて、前記キャッシュまたは主記憶装置から前記演算装置に前記データを格納する命令であるロード命令と、前記演算装置の演算結果を前記キャッシュまたは前記主記憶装置に書き込むストア命令と、前記主記憶装置のデータを前記キャッシュへ格納する命令であるプリフェッチ命令と、を少なくとも実行し、
前記主記憶装置のデータに対する前記キャッシュの参照要求が保持されたキャッシュバッファの数を検出する有効バッファ検出工程と、
前記検出されたキャッシュバッファの数が所定の数に達した場合に、前記ロード命令または前記ストア命令による前記参照要求を前記プリフェッチ命令による前記参照要求に優先して前記キャッシュバッファに保持するよう制御するバッファ制御工程と、
を含んだことを特徴とするムーブインバッファ制御方法。 - 前記バッファ制御工程は、前記命令の実行順序に基づいて前記ロード命令または前記ストア命令による前記参照要求を前記キャッシュバッファに保持するよう制御することを特徴とする請求項6に記載のムーブインバッファ制御方法。
- 前記キャッシュまたは主記憶装置からデータを取り出す要求であるフェッチ処理要求をバッファであるフェッチポートに保持するフェッチポート保持工程と、
前記フェッチポート保持工程でフェッチポートに保持されたフェッチ処理要求の実行を監視する命令実行監視工程と、をさらに含み、
前記バッファ制御工程は、前記命令実行監視工程によってフェッチ処理が所定の時間停滞していることが検出された場合は、前記フェッチポートに保持されているフェッチ処理要求のなかで最も古く格納されたフェッチ処理要求による前記参照要求を前記キャッシュバッファに保持するよう制御し、前記命令実行監視工程によってフェッチ処理が所定の時間停滞していることが検出されなかった場合は、前記フェッチ処理要求による前記参照要求を前記キャッシュバッファに保持するよう制御することを特徴とする請求項6または7に記載のムーブインバッファ制御方法。 - 前記ストア命令をバッファであるストアポートに保持するストアポート保持工程をさらに含み、
前記命令実行監視工程は、前記ストアポート保持工程でストアポートに保持されたストア命令の実行をさらに監視し、
前記バッファ制御工程は、前記命令実行監視工程によって、書き込みを許可されたストア命令が所定の時間停滞していることが検出された場合は、前記ストアポートに保持されているストア命令のなかで最も古く格納されたストア命令による前記参照要求を前記キャッシュバッファに保持するよう制御することを特徴とする請求項8に記載のムーブインバッファ制御方法。 - 主記憶装置と中央処理装置に含まれる命令処理装置および演算装置との間に介在し、前記命令処理装置および演算装置から前記主記憶装置のデータに対する参照を制御し、また前記主記憶装置のデータおよび該データに対応するアドレス情報を記憶するキャッシュと、前記主記憶装置のデータに対する前記キャッシュの参照要求であるアドレス情報を保持するキャッシュバッファと、を有する記憶制御装置に用いられるムーブインバッファ制御プログラムであって、
前記中央処理装置は、命令の実行順序を変換して処理するアウトオブオーダ処理に基づいて、前記キャッシュまたは主記憶装置から前記演算装置に前記データを格納する命令であるロード命令と、前記演算装置の演算結果を前記キャッシュまたは前記主記憶装置に書き込むストア命令と、前記主記憶装置のデータを前記キャッシュへ格納する命令であるプリフェッチ命令と、を少なくとも実行し、
前記主記憶装置のデータに対する前記キャッシュの参照要求が保持されたキャッシュバッファの数を検出する有効バッファ検出手順と、
前記検出されたキャッシュバッファの数が所定の数に達した場合に、前記ロード命令または前記ストア命令による前記参照要求を前記プリフェッチ命令による前記参照要求に優先して前記キャッシュバッファに保持するよう制御するバッファ制御手順と、
をコンピュータに実行させることを特徴とするムーブインバッファ制御プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004224854A JP4691335B2 (ja) | 2004-07-30 | 2004-07-30 | 記憶制御装置、中央処理装置、情報処理装置及び記憶制御装置の制御方法 |
US10/995,560 US7451274B2 (en) | 2004-07-30 | 2004-11-24 | Memory control device, move-in buffer control method |
EP04257447A EP1622029B1 (en) | 2004-07-30 | 2004-11-30 | Memory control device, move-in buffer control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004224854A JP4691335B2 (ja) | 2004-07-30 | 2004-07-30 | 記憶制御装置、中央処理装置、情報処理装置及び記憶制御装置の制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006048181A true JP2006048181A (ja) | 2006-02-16 |
JP4691335B2 JP4691335B2 (ja) | 2011-06-01 |
Family
ID=34930865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004224854A Expired - Fee Related JP4691335B2 (ja) | 2004-07-30 | 2004-07-30 | 記憶制御装置、中央処理装置、情報処理装置及び記憶制御装置の制御方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7451274B2 (ja) |
EP (1) | EP1622029B1 (ja) |
JP (1) | JP4691335B2 (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007097029A1 (ja) | 2006-02-27 | 2007-08-30 | Fujitsu Limited | プロセッサ装置および命令処理方法 |
WO2008155833A1 (ja) * | 2007-06-20 | 2008-12-24 | Fujitsu Limited | キャッシュメモリ制御装置およびキャッシュメモリ制御方法 |
JPWO2007099598A1 (ja) * | 2006-02-28 | 2009-07-16 | 富士通株式会社 | プリフェッチ機能を有するプロセッサ |
WO2009104240A1 (ja) * | 2008-02-18 | 2009-08-27 | 富士通株式会社 | 演算処理装置および演算処理装置の制御方法 |
JP2010176692A (ja) * | 2010-03-15 | 2010-08-12 | Fujitsu Ltd | 演算処理装置、情報処理装置及び制御方法 |
JPWO2008155822A1 (ja) * | 2007-06-19 | 2010-08-26 | 富士通株式会社 | キャッシュ制御装置及び制御方法 |
JP2011013864A (ja) * | 2009-06-30 | 2011-01-20 | Fujitsu Ltd | 命令制御装置、命令制御方法および演算回路 |
JP2011123608A (ja) * | 2009-12-09 | 2011-06-23 | Fujitsu Ltd | 演算処理装置及び演算処理装置の制御方法 |
WO2011077549A1 (ja) * | 2009-12-25 | 2011-06-30 | 富士通株式会社 | 演算処理装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9641809B2 (en) * | 2014-03-25 | 2017-05-02 | Nxp Usa, Inc. | Circuit arrangement and method for processing a digital video stream and for detecting a fault in a digital video stream, digital video system and computer readable program product |
US9826252B2 (en) | 2014-07-29 | 2017-11-21 | Nxp Usa, Inc. | Method and video system for freeze-frame detection |
KR102639784B1 (ko) * | 2016-10-25 | 2024-02-26 | 삼성디스플레이 주식회사 | 모노아민 화합물 및 이를 포함하는 유기 전계 발광 소자 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6446145A (en) * | 1987-08-13 | 1989-02-20 | Fujitsu Ltd | Cache memory control system |
JPH0421044A (ja) * | 1990-05-14 | 1992-01-24 | Mitsubishi Electric Corp | 1チップキャッシュメモリ |
JPH05233441A (ja) * | 1991-11-19 | 1993-09-10 | Fujitsu Ltd | メモリアクセス装置 |
JPH06222990A (ja) * | 1992-10-16 | 1994-08-12 | Fujitsu Ltd | データ処理装置 |
JPH07253926A (ja) * | 1994-02-14 | 1995-10-03 | Hewlett Packard Co <Hp> | キャッシュ・ミスによる時間ペナルティ減少方法 |
JPH0816468A (ja) * | 1994-06-24 | 1996-01-19 | Matsushita Electric Ind Co Ltd | データプリフェッチ制御回路 |
US5551010A (en) * | 1991-11-19 | 1996-08-27 | Fujitsu Limited | Arithmetic operation unit and memory accessing device for accessing primary and secondary cache memories independently of a CPU |
US6073215A (en) * | 1998-08-03 | 2000-06-06 | Motorola, Inc. | Data processing system having a data prefetch mechanism and method therefor |
-
2004
- 2004-07-30 JP JP2004224854A patent/JP4691335B2/ja not_active Expired - Fee Related
- 2004-11-24 US US10/995,560 patent/US7451274B2/en not_active Expired - Fee Related
- 2004-11-30 EP EP04257447A patent/EP1622029B1/en not_active Expired - Fee Related
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6446145A (en) * | 1987-08-13 | 1989-02-20 | Fujitsu Ltd | Cache memory control system |
JPH0421044A (ja) * | 1990-05-14 | 1992-01-24 | Mitsubishi Electric Corp | 1チップキャッシュメモリ |
JPH05233441A (ja) * | 1991-11-19 | 1993-09-10 | Fujitsu Ltd | メモリアクセス装置 |
US5551010A (en) * | 1991-11-19 | 1996-08-27 | Fujitsu Limited | Arithmetic operation unit and memory accessing device for accessing primary and secondary cache memories independently of a CPU |
JPH06222990A (ja) * | 1992-10-16 | 1994-08-12 | Fujitsu Ltd | データ処理装置 |
US5828860A (en) * | 1992-10-16 | 1998-10-27 | Fujitsu Limited | Data processing device equipped with cache memory and a storage unit for storing data between a main storage or CPU cache memory |
JPH07253926A (ja) * | 1994-02-14 | 1995-10-03 | Hewlett Packard Co <Hp> | キャッシュ・ミスによる時間ペナルティ減少方法 |
US5603004A (en) * | 1994-02-14 | 1997-02-11 | Hewlett-Packard Company | Method for decreasing time penalty resulting from a cache miss in a multi-level cache system |
JPH0816468A (ja) * | 1994-06-24 | 1996-01-19 | Matsushita Electric Ind Co Ltd | データプリフェッチ制御回路 |
US6073215A (en) * | 1998-08-03 | 2000-06-06 | Motorola, Inc. | Data processing system having a data prefetch mechanism and method therefor |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007097029A1 (ja) | 2006-02-27 | 2007-08-30 | Fujitsu Limited | プロセッサ装置および命令処理方法 |
JP4574712B2 (ja) * | 2006-02-28 | 2010-11-04 | 富士通株式会社 | 演算処理装置、情報処理装置及び制御方法 |
US8074029B2 (en) | 2006-02-28 | 2011-12-06 | Fujitsu Limited | Processor equipped with a pre-fetch function and pre-fetch control method |
JPWO2007099598A1 (ja) * | 2006-02-28 | 2009-07-16 | 富士通株式会社 | プリフェッチ機能を有するプロセッサ |
JP4706030B2 (ja) * | 2007-06-19 | 2011-06-22 | 富士通株式会社 | キャッシュ制御装置及び制御方法 |
JPWO2008155822A1 (ja) * | 2007-06-19 | 2010-08-26 | 富士通株式会社 | キャッシュ制御装置及び制御方法 |
JPWO2008155833A1 (ja) * | 2007-06-20 | 2010-08-26 | 富士通株式会社 | キャッシュメモリ制御装置およびキャッシュメモリ制御方法 |
US8677070B2 (en) | 2007-06-20 | 2014-03-18 | Fujitsu Limited | Cache memory control apparatus and cache memory control method |
JP4710024B2 (ja) * | 2007-06-20 | 2011-06-29 | 富士通株式会社 | キャッシュメモリ制御装置およびキャッシュメモリ制御方法 |
WO2008155833A1 (ja) * | 2007-06-20 | 2008-12-24 | Fujitsu Limited | キャッシュメモリ制御装置およびキャッシュメモリ制御方法 |
US8190825B2 (en) | 2008-02-18 | 2012-05-29 | Fujitsu Limited | Arithmetic processing apparatus and method of controlling the same |
WO2009104240A1 (ja) * | 2008-02-18 | 2009-08-27 | 富士通株式会社 | 演算処理装置および演算処理装置の制御方法 |
JP4843717B2 (ja) * | 2008-02-18 | 2011-12-21 | 富士通株式会社 | 演算処理装置および演算処理装置の制御方法 |
JP2011013864A (ja) * | 2009-06-30 | 2011-01-20 | Fujitsu Ltd | 命令制御装置、命令制御方法および演算回路 |
JP2011123608A (ja) * | 2009-12-09 | 2011-06-23 | Fujitsu Ltd | 演算処理装置及び演算処理装置の制御方法 |
WO2011077549A1 (ja) * | 2009-12-25 | 2011-06-30 | 富士通株式会社 | 演算処理装置 |
JP5482801B2 (ja) * | 2009-12-25 | 2014-05-07 | 富士通株式会社 | 演算処理装置 |
JP2010176692A (ja) * | 2010-03-15 | 2010-08-12 | Fujitsu Ltd | 演算処理装置、情報処理装置及び制御方法 |
Also Published As
Publication number | Publication date |
---|---|
EP1622029B1 (en) | 2011-07-06 |
EP1622029A2 (en) | 2006-02-01 |
US7451274B2 (en) | 2008-11-11 |
JP4691335B2 (ja) | 2011-06-01 |
EP1622029A3 (en) | 2006-08-09 |
US20060026363A1 (en) | 2006-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5983325A (en) | Dataless touch to open a memory page | |
JP5615927B2 (ja) | データストリームのためのストアアウェアプリフェッチ | |
US6681295B1 (en) | Fast lane prefetching | |
US5524233A (en) | Method and apparatus for controlling an external cache memory wherein the cache controller is responsive to an interagent communication for performing cache control operations | |
US6725337B1 (en) | Method and system for speculatively invalidating lines in a cache | |
US9892039B2 (en) | Non-temporal write combining using cache resources | |
US8412888B2 (en) | Cache-based speculation of stores following synchronizing operations | |
US7213126B1 (en) | Method and processor including logic for storing traces within a trace cache | |
US9652385B1 (en) | Apparatus and method for handling atomic update operations | |
JP4298800B2 (ja) | キャッシュメモリにおけるプリフェッチ管理 | |
JP4504132B2 (ja) | 記憶制御装置、中央処理装置、情報処理装置及び記憶制御装置の制御方法 | |
JP4691335B2 (ja) | 記憶制御装置、中央処理装置、情報処理装置及び記憶制御装置の制御方法 | |
US8375170B2 (en) | Apparatus and method for handling data in a cache | |
US20090106498A1 (en) | Coherent dram prefetcher | |
EP1782184B1 (en) | Selectively performing fetches for store operations during speculative execution | |
US10997079B2 (en) | Method and arrangement for saving cache power | |
US5909697A (en) | Reducing cache misses by snarfing writebacks in non-inclusive memory systems | |
KR102590180B1 (ko) | 자격 메타데이터를 관리하는 장치 및 방법 | |
EP2416251A1 (en) | A method of managing computer memory, corresponding computer program product, and data storage device therefor | |
US7133975B1 (en) | Cache memory system including a cache memory employing a tag including associated touch bits | |
JP3007870B2 (ja) | アーキテクチャ操作を管理する方法及び装置 | |
US20100223624A1 (en) | Method for pushing work request-associated contexts into an io device | |
US7310712B1 (en) | Virtual copy system and method | |
US6643741B1 (en) | Method and apparatus for efficient cache management and avoiding unnecessary cache traffic | |
US6393523B1 (en) | Mechanism for invalidating instruction cache blocks in a pipeline processor |
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: 20100330 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100531 |
|
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: 20110215 |
|
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: 20110221 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140225 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |