JP4180569B2 - 記憶制御装置、データキャッシュ制御装置、中央処理装置、記憶装置制御方法、データキャッシュ制御方法およびキャッシュ制御方法 - Google Patents
記憶制御装置、データキャッシュ制御装置、中央処理装置、記憶装置制御方法、データキャッシュ制御方法およびキャッシュ制御方法 Download PDFInfo
- Publication number
- JP4180569B2 JP4180569B2 JP2004567505A JP2004567505A JP4180569B2 JP 4180569 B2 JP4180569 B2 JP 4180569B2 JP 2004567505 A JP2004567505 A JP 2004567505A JP 2004567505 A JP2004567505 A JP 2004567505A JP 4180569 B2 JP4180569 B2 JP 4180569B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- thread
- data
- cache line
- unit
- 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
Links
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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
-
- 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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
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.
Claims (20)
- 同時に実行される複数のスレッドで共有され、該スレッドから発行されるメモリアクセス要求の処理をおこなう記憶制御装置であって、
複数の命令処理装置間で共有されるデータに対する該複数の命令処理装置間の読み出しおよび書き込みの実行順序の一貫性の保証をおこなう一貫性保証手段と、
前記メモリアクセス要求で指定されたアドレスのデータを記憶している場合に該記憶しているデータを登録したスレッドと該メモリアクセス要求を発行したスレッドが同一であるか否かを判定するスレッド判定手段と、
前記スレッド判定手段の判定結果に基づいて前記一貫性保証手段を動作させる一貫性保証動作起動手段と、
を備えたことを特徴とする記憶制御装置。 - 前記一貫性保証動作起動手段は、前記スレッド判定手段が同一でないと判定した場合に、下位の記憶制御装置に対して前記データの取り込み要求をおこない、該取り込み要求に応答して下位の記憶制御装置がおこなう指示に基づいて前記一貫性保証手段を動作させることを特徴とする請求項1に記載の記憶制御装置。
- 前記一貫性保証動作起動手段は、前記スレッド判定手段が同一でないと判定した場合に、下位の記憶制御装置に対するデータの吐き出し動作を実行して前記一貫性保証手段を動作させることを特徴とする請求項1に記載の記憶制御装置。
- 前記一貫性保証動作起動手段は、前記スレッド判定手段の判定結果および前記データの複数の命令処理装置間での共有状態に基づいてキャッシュライン置き換え動作を実行して前記一貫性保証手段を動作させることを特徴とする請求項1に記載の記憶制御装置。
- 同時に実行される複数のスレッドで共有され、該スレッドから発行されるメモリアクセス要求の処理をおこなうデータキャッシュ制御装置であって、
複数の命令処理装置間で共有されるデータに対する該複数の命令処理装置間の読み出しおよび書き込みの実行順序の一貫性の保証をおこなう一貫性保証手段と、
前記メモリアクセス要求で指定されたアドレスのデータを含むキャッシュラインを記憶している場合に該記憶しているキャッシュラインを登録したスレッドと該メモリアクセス要求を発行したスレッドが同一であるか否かを判定するスレッド判定手段と、
前記スレッド判定手段が同一でないと判定した場合に、前記一貫性保証手段を動作させる一貫性保証動作起動手段と、
を備えたことを特徴とするデータキャッシュ制御装置。 - 前記スレッド判定手段は、キャッシュタグに設けたスレッド識別子に基づいて、キャッシュラインを登録したスレッドと前記メモリアクセス要求を発行したスレッドが同一であるか否かを判定することを特徴とする請求項5に記載のデータキャッシュ制御装置。
- 前記一貫性保証手段は、前記メモリアクセス要求で指定されたアドレスのデータの無効化または他の記憶制御装置へのデータの吐き出しと該他の記憶制御装置からのデータの取り込みとを監視して前記保証をおこなうことを特徴とする請求項1〜4のいずれか一つに記載の記憶制御装置。
- 前記一貫性保証手段は、フェッチ・ポートに設けたPSTVフラグ、RIMフラグおよびRIFフラグを用いて前記アドレスのデータの無効化または他の記憶制御装置へのデータの吐き出しと該他の記憶制御装置からのデータの取り込みとを監視することを特徴とする請求項7に記載の記憶制御装置。
- 前記記憶制御装置はさらに、
前記複数の命令処理装置のうち、いずれかの命令処理装置で実行されるスレッドの切り替えが行われる際に、実行が中断されるスレッドが発行したストア命令およびフェッチ命令のうちコミットされていない全てのストア命令およびフェッチ命令を無効とするアクセス無効化手段と、
前記実行が中断されたスレッドの実行が再開された際に、コミットされたストア命令の実行結果に影響を受けるフェッチ命令を検出し、検出したフェッチ命令を該ストア命令の実行後に実行するように制御するインターロック手段と、
を備えたことを特徴とする請求項1または4に記載の記憶制御装置。 - 複数のスレッドを同時に実行する命令処理装置と一次データキャッシュ装置との組を複数有し、該複数の組の一次データキャッシュ装置で共有される二次キャッシュ装置を有する中央処理装置であって、
前記複数の組のそれぞれの一次データキャッシュ装置は、
他の組の一次データキャッシュ装置と共有するキャッシュラインに対する複数の命令処理装置間の読み出しおよび書き込みの実行順序の一貫性の保証をおこなう一貫性保証手段と、
前記命令処理装置からのメモリアクセス要求と物理アドレスが一致するキャッシュラインが異なるスレッドによって登録されている場合に前記二次キャッシュ装置に対して該キャッシュラインの取り込み要求をおこなう取り込み要求手段と、
前記二次キャッシュ装置からの要求に基づく前記キャッシュラインの無効化または吐き出しを実行して前記一貫性保証手段を動作させる吐き出し実行手段と、
を備え、
前記二次キャッシュ装置は、
前記キャッシュラインの取り込み要求を受けたキャッシュラインが他のスレッドにより前記一次データキャッシュ装置に登録されている場合には前記キャッシュラインの無効化または吐き出しの実行を該一次データキャッシュ装置に要求する吐き出し要求手段
を備えたことを特徴とする中央処理装置。 - 同時に実行される複数のスレッドから発行されるメモリアクセス要求の処理をおこなう記憶装置制御方法であって、
前記メモリアクセス要求で指定されたアドレスのデータを記憶している場合に該記憶しているデータを登録したスレッドと該メモリアクセス要求を発行したスレッドが同一であるか否かを判定するスレッド判定工程と、
前記スレッド判定工程の判定結果に基づいて、複数の命令処理装置間で共有されるデータに対する該複数の命令処理装置間の読み出しおよび書き込みの実行順序の一貫性の保証をおこなう一貫性保証機構を動作させる一貫性保証動作起動工程と、
を含んだことを特徴とする記憶装置制御方法。 - 前記一貫性保証動作起動工程は、前記スレッド判定工程が同一でないと判定した場合に、下位の記憶制御装置に対して前記データの取り込み要求をおこない、該取り込み要求に応答して下位の記憶制御装置がおこなう指示に基づいて前記一貫性保証機構を動作させることを特徴とする請求項11に記載の記憶装置制御方法。
- 前記一貫性保証動作起動工程は、前記スレッド判定工程が同一でないと判定した場合に、下位の記憶制御装置に対するデータの吐き出し動作を実行して前記一貫性保証機構を動作させることを特徴とする請求項11に記載の記憶装置制御方法。
- 前記一貫性保証動作起動工程は、前記スレッド判定工程の判定結果および前記データの複数の命令処理装置間での共有状態に基づいてキャッシュライン置き換え動作を実行することによって前記一貫性保証機構を動作させることを特徴とする請求項11に記載の記憶装置制御方法。
- 同時に実行される複数のスレッドから発行されるメモリアクセス要求の処理をおこなうデータキャッシュ制御方法であって、
前記メモリアクセス要求で指定されたアドレスのデータを含むキャッシュラインを記憶している場合に該記憶しているキャッシュラインを登録したスレッドと該メモリアクセス要求を発行したスレッドが同一であるか否かを判定するスレッド判定工程と、
前記スレッド判定工程が同一でないと判定した場合に、複数の命令処理装置間で共有されるデータに対する該複数の命令処理装置間の読み出しおよび書き込みの実行順序の一貫性の保証をおこなう一貫性保証機構を動作させる一貫性保証動作起動工程と、
を含んだことを特徴とするデータキャッシュ制御方法。 - 前記スレッド判定工程は、キャッシュタグに設けたスレッド識別子に基づいて、キャッシュラインを登録したスレッドと前記メモリアクセス要求を発行したスレッドが同一であるか否かを判定することを特徴とする請求項15に記載のデータキャッシュ制御方法。
- 前記一貫性保証機構は、前記メモリアクセス要求で指定されたアドレスのデータの無効化または他の記憶制御装置へのデータの吐き出しと該他の記憶制御装置からのデータの取り込みとを監視して前記保証をおこなうことを特徴とする請求項11〜14のいずれか一つに記載の記憶装置制御方法。
- 前記一貫性保証機構は、フェッチ・ポートに設けたPSTVフラグ、RIMフラグおよびRIFフラグを用いて前記アドレスのデータの無効化または他の記憶制御装置へのデータの吐き出しと該他の記憶制御装置からのデータの取り込みとを監視することを特徴とする請求項17に記載の記憶装置制御方法。
- 前記記憶装置制御方法はさらに、
前記複数の命令処理装置のうち、いずれかの命令処理装置で実行されるスレッドの切り替えが行われる際に、実行が中断されるスレッドが発行したストア命令およびフェッチ命令のうちコミットされていない全てのストア命令およびフェッチ命令を無効とするアクセス無効化工程と、
前記実行が中断されたスレッドの実行が再開された際に、コミットされたストア命令の実行結果に影響を受けるフェッチ命令を検出し、検出したフェッチ命令を該ストア命令の実行後に実行するように制御するインターロック工程と、
を含んだことを特徴とする請求項11または14に記載の記憶装置制御方法。 - 複数のスレッドを同時に実行する命令処理装置と一次データキャッシュ装置の組を複数有し、該複数の組の一次データキャッシュ装置で共有される二次キャッシュ装置を有する中央処理装置で用いられるキャッシュ制御方法であって、
前記一次データキャッシュ装置が、前記命令処理装置からのメモリアクセス要求と物理アドレスが一致するキャッシュラインが異なるスレッドによって登録されている場合に前記二次キャッシュ装置に対して該キャッシュラインの取り込み要求をおこなう取り込み要求工程と、
前記二次キャッシュ装置が、前記キャッシュラインの取り込み要求を受けたキャッシュラインが他のスレッドにより前記一次データキャッシュ装置に登録されている場合には前記キャッシュラインの無効化または吐き出しの実行を該一次データキャッシュ装置に要求する吐き出し要求工程と、
前記一次データキャッシュ装置が、前記二次キャッシュ装置からの要求に基づき前記キャッシュラインの無効化または吐き出しを実行することによって、他の組の一次データキャッシュ装置と共有するキャッシュラインに対する複数の命令処理装置間の読み出しおよび書き込みの実行順序の一貫性の保証をおこなう一貫性保証機構を動作させる吐き出し実行工程と、
を含んだことを特徴とするキャッシュ制御方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2003/000723 WO2004068361A1 (ja) | 2003-01-27 | 2003-01-27 | 記憶制御装置、データキャッシュ制御装置、中央処理装置、記憶装置制御方法、データキャッシュ制御方法およびキャッシュ制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2004068361A1 JPWO2004068361A1 (ja) | 2006-05-25 |
JP4180569B2 true JP4180569B2 (ja) | 2008-11-12 |
Family
ID=32800789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004567505A Expired - Fee Related JP4180569B2 (ja) | 2003-01-27 | 2003-01-27 | 記憶制御装置、データキャッシュ制御装置、中央処理装置、記憶装置制御方法、データキャッシュ制御方法およびキャッシュ制御方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP4180569B2 (ja) |
WO (1) | WO2004068361A1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2339473A1 (en) | 2009-12-25 | 2011-06-29 | Fujitsu Limited | Information processing device and cache memory control device for out-of-order memory access |
WO2011158320A1 (ja) * | 2010-06-14 | 2011-12-22 | 富士通株式会社 | マルチコアプロセッサシステム、キャッシュコヒーレンシ制御方法、およびキャッシュコヒーレンシ制御プログラム |
US9251084B2 (en) | 2012-06-26 | 2016-02-02 | Fujitsu Limited | Arithmetic processing apparatus, and cache memory control device and cache memory control method |
US9250980B2 (en) | 2009-12-18 | 2016-02-02 | International Business Machines Corporation | System, method, program, and code generation unit |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7484045B2 (en) | 2004-03-30 | 2009-01-27 | Intel Corporation | Store performance in strongly-ordered microprocessor architecture |
CN101213527A (zh) * | 2005-06-29 | 2008-07-02 | 英特尔公司 | 用于缓存操作的方法、装置和系统 |
CN101681303B (zh) * | 2007-06-19 | 2011-12-14 | 富士通株式会社 | 高速缓存控制装置以及控制方法 |
EP2169554B1 (en) * | 2007-06-20 | 2013-07-10 | Fujitsu Limited | Cache memory controller and cache memory control method |
CN101689142A (zh) | 2007-06-20 | 2010-03-31 | 富士通株式会社 | 信息处理装置、高速缓冲存储器控制装置以及存储器访问顺序保证方法 |
CN101689143B (zh) | 2007-06-20 | 2012-07-04 | 富士通株式会社 | 高速缓存控制装置以及控制方法 |
JP5583893B2 (ja) * | 2008-05-28 | 2014-09-03 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
WO2013084314A1 (ja) * | 2011-12-07 | 2013-06-13 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
JP6068325B2 (ja) * | 2013-12-19 | 2017-01-25 | インテル・コーポレーション | セキュアなアプリケーションの実行を提供するプロセッサ |
KR101713114B1 (ko) | 2015-08-12 | 2017-03-08 | 엔에이치엔엔터테인먼트 주식회사 | 모바일 환경에서의 리소스 다운로드 방법 및 시스템 |
CN111652749B (zh) * | 2018-11-28 | 2024-04-16 | 创新先进技术有限公司 | 信息核查方法以及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5257354A (en) * | 1991-01-16 | 1993-10-26 | International Business Machines Corporation | System for monitoring and undoing execution of instructions beyond a serialization point upon occurrence of in-correct results |
US5265233A (en) * | 1991-05-17 | 1993-11-23 | Sun Microsystems, Inc. | Method and apparatus for providing total and partial store ordering for a memory in multi-processor system |
US5699538A (en) * | 1994-12-09 | 1997-12-16 | International Business Machines Corporation | Efficient firm consistency support mechanisms in an out-of-order execution superscaler multiprocessor |
JP3139392B2 (ja) * | 1996-10-11 | 2001-02-26 | 日本電気株式会社 | 並列処理システム |
JP2003511754A (ja) * | 1999-10-01 | 2003-03-25 | サン・マイクロシステムズ・インコーポレイテッド | 投機的なかつ順不同(out−of−order)のロードの場合に正確なトラップ処理をするための方法 |
JP3661614B2 (ja) * | 2001-07-12 | 2005-06-15 | 日本電気株式会社 | キャッシュメモリ制御方法及びマルチプロセッサシステム |
-
2003
- 2003-01-27 WO PCT/JP2003/000723 patent/WO2004068361A1/ja active Application Filing
- 2003-01-27 JP JP2004567505A patent/JP4180569B2/ja not_active Expired - Fee Related
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9250980B2 (en) | 2009-12-18 | 2016-02-02 | International Business Machines Corporation | System, method, program, and code generation unit |
US9904581B2 (en) | 2009-12-18 | 2018-02-27 | International Business Machines Corporation | System, method, program, and code generation unit |
US10169092B2 (en) | 2009-12-18 | 2019-01-01 | International Business Machines Corporation | System, method, program, and code generation unit |
EP2339473A1 (en) | 2009-12-25 | 2011-06-29 | Fujitsu Limited | Information processing device and cache memory control device for out-of-order memory access |
US8549232B2 (en) | 2009-12-25 | 2013-10-01 | Fujitsu Limited | Information processing device and cache memory control device |
WO2011158320A1 (ja) * | 2010-06-14 | 2011-12-22 | 富士通株式会社 | マルチコアプロセッサシステム、キャッシュコヒーレンシ制御方法、およびキャッシュコヒーレンシ制御プログラム |
JP5360299B2 (ja) * | 2010-06-14 | 2013-12-04 | 富士通株式会社 | マルチコアプロセッサシステム、キャッシュコヒーレンシ制御方法、およびキャッシュコヒーレンシ制御プログラム |
US8996820B2 (en) | 2010-06-14 | 2015-03-31 | Fujitsu Limited | Multi-core processor system, cache coherency control method, and computer product |
US9390012B2 (en) | 2010-06-14 | 2016-07-12 | Fujitsu Limited | Multi-core processor system, cache coherency control method, and computer product |
US9251084B2 (en) | 2012-06-26 | 2016-02-02 | Fujitsu Limited | Arithmetic processing apparatus, and cache memory control device and cache memory control method |
Also Published As
Publication number | Publication date |
---|---|
JPWO2004068361A1 (ja) | 2006-05-25 |
WO2004068361A1 (ja) | 2004-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6681295B1 (en) | Fast lane prefetching | |
JP4180569B2 (ja) | 記憶制御装置、データキャッシュ制御装置、中央処理装置、記憶装置制御方法、データキャッシュ制御方法およびキャッシュ制御方法 | |
JP5118652B2 (ja) | アウトオブオーダープロセッサにおけるトランザクショナルメモリ | |
JP3927556B2 (ja) | マルチプロセッサ・データ処理システム、変換索引バッファ無効化インストラクション(tlbi)のハンドリングを行うための方法、およびプロセッサ | |
US8230177B2 (en) | Store prefetching via store queue lookahead | |
US5490261A (en) | Interlock for controlling processor ownership of pipelined data for a store in cache | |
US20050210204A1 (en) | Memory control device, data cache control device, central processing device, storage device control method, data cache control method, and cache control method | |
US8301843B2 (en) | Data cache block zero implementation | |
US20080010417A1 (en) | Read/Write Permission Bit Support for Efficient Hardware to Software Handover | |
US8572356B2 (en) | Space-efficient mechanism to support additional scouting in a processor using checkpoints | |
US8255591B2 (en) | Method and system for managing cache injection in a multiprocessor system | |
US20040073738A1 (en) | Scalable efficient I/O port protocol | |
WO2015057846A1 (en) | Computer processor employing cache memory with pre-byte valid bits | |
JP2003030049A (ja) | キャッシュメモリ制御方法及びマルチプロセッサシステム | |
US20090106498A1 (en) | Coherent dram prefetcher | |
JPH0670779B2 (ja) | フェッチ方法 | |
JP2005316854A (ja) | 情報処理装置、プロセッサ、プロセッサの制御方法、情報処理装置の制御方法、キャッシュメモリ | |
US20110153942A1 (en) | Reducing implementation costs of communicating cache invalidation information in a multicore processor | |
CN109196489B (zh) | 用于在非均匀计算装置中重排序的方法和设备 | |
JPWO2009122694A1 (ja) | キャッシュメモリ装置、キャッシュメモリシステム、プロセッサシステム | |
JP2001222468A (ja) | マイクロプロセッサのロード/ストア命令制御回路、およびロード/ストア命令制御方法 | |
JPH0567976B2 (ja) | ||
US11314509B2 (en) | Processing of plural-register-load instruction | |
US7975129B2 (en) | Selective hardware lock disabling | |
US20060117140A1 (en) | Memory control device and memory control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080311 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080509 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080617 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080811 |
|
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: 20080826 |
|
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: 20080827 |
|
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: 20110905 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |