JP7405773B2 - マルチコア相互接続のレベル2キャッシュへのアクセスを検証する方法 - Google Patents
マルチコア相互接続のレベル2キャッシュへのアクセスを検証する方法 Download PDFInfo
- Publication number
- JP7405773B2 JP7405773B2 JP2020564129A JP2020564129A JP7405773B2 JP 7405773 B2 JP7405773 B2 JP 7405773B2 JP 2020564129 A JP2020564129 A JP 2020564129A JP 2020564129 A JP2020564129 A JP 2020564129A JP 7405773 B2 JP7405773 B2 JP 7405773B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- primary memory
- prediction
- transmission
- access request
- 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.)
- Active
Links
- 230000005540 biological transmission Effects 0.000 claims description 88
- 238000000034 method Methods 0.000 claims description 30
- 230000004044 response Effects 0.000 claims description 20
- 238000012544 monitoring process Methods 0.000 claims description 18
- 238000007689 inspection Methods 0.000 claims description 5
- 238000012216 screening Methods 0.000 claims description 2
- 238000012795 verification Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0721—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
- G06F11/0724—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
-
- 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/3834—Maintaining memory consistency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/073—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0772—Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
-
- 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
-
- 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/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
- G06F12/0828—Cache consistency protocols using directory methods with concurrent directory accessing, i.e. handling multiple concurrent coherency transactions
-
- 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/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3024—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- 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/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- 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/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/805—Real-time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/885—Monitoring specific for caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1008—Correctness of operation, e.g. memory ordering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
[1] 本開示は2018年6月1日出願の中国特許出願第201810558363.5号の優先権を主張するものであり、その全文を参照により本明細書に引用している。
[2] 計算能力に対する要求が益々増大するのに伴い、高性能プロセッサ設計はマルチコアアーキテクチャに深く根ざしている。マルチコアプロセッサは、従来のマルチレベル高速キャッシュ構造に対する要求をより高めている。各シングルコアのキャッシュ間のデータ一貫性をどのように効率的且つ正確に維持するかの問題は困難な研究課題である。マルチコア相互接続アーキテクチャは、全てのコアがキャッシュ一貫性プロトコルに従い別のシングルコア又は次のキャッシュに送られる各種のメモリアクセス伝送を行うことができる。しかし実行結果の予測は、伝送種別と現在のアドレス属性との間の一貫性に依存する。伝送種別及びアドレス属性に固有の多様性は、マルチコア検証の分野に大きな課題をもたらす。
[3] 本開示は、マルチコア相互接続による、リアルタイム検査をサポートするレベル2(L2)キャッシュへのアクセスを検証する方法及びシステムを提供するものであり、アクセスはマルチコア一貫性プロトコルに準拠する。本方法は、シングルコアプロセッサによりマルチコア相互接続システムに送られた伝送を検知し、伝送又は伝送データに関する伝送情報を収集することと、収集された伝送に関する伝送情報を前処理し、L2キャッシュへのアクセスを必要とする伝送又は伝送データをソートし、伝送又は伝送データをキャッシュ予測キューに保存することと、マルチコア相互接続システムによりL2キャッシュに送られたアクセス要求を観察し、L2キャッシュへのアクセス要求に関するアクセス要求情報であって、要求識別番号を含むアクセス要求情報を収集することと、要求識別番号に従い、キャッシュ予測キュー内を検索してアクセス要求に対応する予測結果を見つけ、予測結果の発見事項に従いエラーを報告することと、L2キャッシュによりマルチコア相互接続システムに送られたフィードバック情報を観察及び収集することと、収集されたフィードバック情報に従い全てのシングルコアプロセッサ内のキャッシュラインの状態を取得し、L2キャッシュが再アクセスされる必要があるか否かを判定し、L2キャッシュが再アクセスされる必要があるとの判定に応答してキャッシュ予測キュー内の対応するエントリ情報を更新し、L2キャッシュが再アクセスされる必要がないとの判定に応答してキャッシュ予測キュー内の対応するエントリ情報を削除することと、一次メモリがアクセスされる必要があるか否かを判定し、一次メモリがアクセスされる必要があるとの判定に応答して一次メモリへのアクセスを一次メモリ予測キューに保存し、マルチコア相互接続システムにより開始された一次メモリへの一次メモリアクセス要求を観察し、一次メモリへのアクセス要求に関する一次メモリアクセス要求情報を収集することと、アクセス要求の有効な予測結果のために一次メモリ予測キュー内を検索し、有効な予測結果を見つけたことに従いエラーを報告することとを含む。
[7] 本開示の実施形態の目的、技術的解決策及び利点を明確にすべく、本開示の実施形態における技術的解決策について、本開示の実施形態の添付図面を参照しながら以下に述べる。明らかに、記述する複数の実施形態は、本開示の実施形態の全てではなく単に一部に過ぎない。本開示の複数の実施形態に基づいて、当業者が想到する他の全ての実施形態は本開示の権利保護範囲に含まれるものとする。
Claims (30)
- マルチコア相互接続からレベル2(L2)キャッシュへのアクセスを検証する方法であって、
シングルコアプロセッサによりマルチコア相互接続システムに送られた伝送データに関連付けられた伝送情報を収集することと、
前記収集された伝送情報を用いて、前記伝送データがL2キャッシュへのアクセスを必要とするデータであるか否かを判定することと、
前記L2キャッシュへのアクセスを必要としていると前記判定された伝送データをキャッシュ予測キューに保存することと、
前記マルチコア相互接続システムにより前記L2キャッシュに送られたアクセス要求に関連付けられたアクセス要求情報を収集することと、
前記収集されたアクセス要求情報に従い、前記アクセス要求に対応する有効な予測結果を発見すべく前記キャッシュ予測キュー内を検索し、検索結果に基づき前記L2キャッシュへのアクセスを検証するすることを含む方法。 - 前記収集された伝送情報が、マルチコア一貫性動作種別、動作アドレス、動作アドレス間隔サイズ、動作データ、動作アドレス属性、及び動作識別番号を含む、請求項1に記載の方法。
- 前記収集された伝送情報を用いて、前記伝送データがL2キャッシュへのアクセスを必要とするデータであるか否かを判定することが更に、
前記動作アドレス属性がキャッシュ属性であるとの判定に応答して、前記動作アドレス属性に従い前記収集された伝送情報をスクリーニングして前記L2キャッシュにアクセスすることを含む、請求項2に記載の方法。 - 前記アクセス要求情報が要求識別番号を含む、請求項1~3のいずれか1項に記載の方法。
- 前記アクセス要求情報が更に、L2キャッシュ動作種別、動作アドレス、動作データ、及び動作識別番号を含む、請求項1~4のいずれか1項に記載の方法。
- 収集されたアクセス要求情報に従い、前記アクセス要求に対応する予測結果を発見すべく前記キャッシュ予測キュー内を検索することが更に、
前記キャッシュ予測キューに前記有効な予測結果が存在しない、又は前記有効な予測結果が存在するものの前記有効な予測結果が実際の結果と矛盾するとの判定に応答して、エラーを認定すること、及び、
前記エラーを報告することを含む、請求項1~5のいずれか1項に記載の方法。 - 前記L2キャッシュにより前記マルチコア相互接続システムに送られたフィードバック情報を収集することと、
前記収集されたフィードバック情報に従い前記シングルコアプロセッサ内のキャッシュラインの状態を取得することと、
前記L2キャッシュが再アクセスされるか否かを判定することと、
前記L2キャッシュが再アクセスされるとの判定に応答して前記キャッシュ予測キュー内の対応するエントリ情報を更新することと、
前記L2キャッシュが再アクセスされないとの判定に応答して前記キャッシュ予測キュー内の対応するエントリ情報を削除することを更に含む、請求項1~6のいずれか1項に記載の方法。 - 前記フィードバック情報が、前記L2キャッシュにおいてキャッシュミスが発生しているか否かを示すインジケーションを含む、請求項7に記載の方法。
- 前記収集されたフィードバック情報に従い前記シングルコアプロセッサ内のキャッシュラインの状態を取得することが更に、
メモリアドレスに対応する前記シングルコアプロセッサの書き込み動作アドレスと、メモリアドレス用の前記シングルコアプロセッサのデータとを記録すること含む、請求項7又8に記載の方法。 - 一次メモリがアクセスされるか否かを判定することと、
前記一次メモリがアクセスされるとの判定に応答して前記一次メモリへのアクセスを一次メモリ予測キューに保存することと、
前記マルチコア相互接続システムにより前記一次メモリに送られた、観察された一次メモリアクセス要求に関連付けられた一次メモリアクセス要求情報を収集することと、
前記収集された一次メモリアクセス要求情報に従い、前記一次メモリアクセス要求に対応する有効な予測結果を発見すべく前記一次メモリ予測キュー内を検索することを更に含む、請求項9に記載の方法。 - 前記一次メモリアクセス要求の有効な予測結果のために前記一次メモリ予測キュー内を検索することが更に、
前記一次メモリ予測キュー内に有効な予測結果が存在しない、又は有効な予測結果が存在するものの前記予測結果が実際の結果と矛盾するとの判定に応答して、エラーを認定すること、及び
前記エラーを報告することを含む、請求項10に記載の方法。 - 前記一次メモリがアクセスされるか否かを判定して、前記一次メモリがアクセスされるとの判定に応答して前記一次メモリへのアクセスを前記一次メモリ予測キューに保存することが更に、
前記L2キャッシュへのアクセスを、前記シングルコアプロセッサ内の前記メモリアドレスの前記キャッシュラインの状態に従いバス伝送プロトコルに基づいて前記一次メモリへのアクセスに変換することを含む、請求項10に記載の方法。 - 前記一次メモリアクセス要求情報が、一次メモリアクセス動作種別、動作アドレス、動作アドレス間隔サイズ、動作データ、動作アドレス属性、及び動作識別番号を含む、請求項10~12のいずれか1項に記載の方法。
- 全ての伝送データの伝送が終了したことに応答して前記キャッシュ予測キュー内に残っているエントリを見つけること更に含む、請求項7~13のいずれか1項に記載の方法。
- 全ての伝送データの伝送が終了したことに応答して前記キャッシュ予測キュー内に残っているエントリを見つけることが更に、
前記マルチコア相互接続システム内の伝送損失に基づいてエラーを見つけること、及び前記エラーを報告することを含む、請求項14に記載の方法。 - マルチコア相互接続からL2キャッシュへのアクセスを検証するシステムであって、
シングルコアプロセッサによりマルチコア相互接続システムに送られた伝送データに関連付けられた伝送情報を収集するように構成された一貫性伝送監視回路と、
前記収集された伝送情報を用いて、前記伝送データがL2キャッシュへのアクセスを必要とするデータであるか否かを判定し、
前記L2キャッシュへのアクセスを必要としていると前記判定された伝送データをキャッシュ予測キューに保存し、
前記マルチコア相互接続システムにより前記L2キャッシュに送られたアクセス要求に関連付けられたアクセス要求情報を収集するように構成されたL2キャッシュ予測生成器と、
前記収集されたアクセス要求情報に従い、前記アクセス要求に対応する有効な予測結果を発見すべく前記キャッシュ予測キュー内を検索するように構成されたキャッシュ検査回路とを含むシステム。 - 前記収集された伝送情報が、マルチコア一貫性動作種別、動作アドレス、動作アドレス間隔サイズ、動作データ、動作アドレス属性、及び動作識別番号を含む、請求項16に記載のシステム。
- 前記L2キャッシュ予測生成器が更に、
前記動作アドレス属性がキャッシュ属性であるとの判定に応答して、前記動作アドレス属性に従い前記収集された伝送情報をスクリーニングして前記L2キャッシュにアクセスするように構成される、請求項17に記載のシステム。 - 前記アクセス要求情報が要求識別番号を含む、請求項16~18のいずれか1項に記載のシステム。
- 前記アクセス要求情報が更に、L2キャッシュ動作種別、動作アドレス、動作データ、及び動作識別番号を含む、請求項16~19のいずれか1項に記載のシステム。
- 前記キャッシュ検査回路が更に、
前記キャッシュ予測キューに前記有効な予測結果が存在しない、又は前記有効な予測結果が存在するものの前記有効な予測結果が実際の結果と矛盾するとの判定に応答して、エラーを認定するように、及び
前記エラーを報告するように構成される、請求項16~20のいずれか1項に記載のシステム。 - 前記一貫性伝送監視回路が更に、
前記L2キャッシュにより前記マルチコア相互接続システムに送られたフィードバック情報を収集するように構成され、
前記L2キャッシュ予測生成器が更に、
前記収集されたフィードバック情報に従い前記シングルコアプロセッサ内のキャッシュラインの状態を取得し、
前記L2キャッシュが再アクセスされるか否かを判定し、
前記L2キャッシュが再アクセスされるとの判定に応答して前記キャッシュ予測キュー内の対応するエントリ情報を更新し、
前記L2キャッシュが再アクセスされないとの判定に応答して前記キャッシュ予測キュー内の対応するエントリ情報を削除するように構成される、請求項16~21に記載のいずれか1項に記載のシステム。 - 前記フィードバック情報が、前記L2キャッシュにおいてキャッシュミスが発生しているか否かを示すインジケーションを含む、請求項22に記載のシステム。
- 前記L2キャッシュ予測生成器が更に、
メモリアドレスに対応する前記シングルコアプロセッサの書き込み動作アドレスと、メモリアドレス用の前記シングルコアプロセッサのデータとを記録するように構成される、請求項22又は23に記載のシステム。 - L2キャッシュ予測生成器が更に、
一次メモリがアクセスされるか否かを判定し、
前記一次メモリがアクセスされるとの判定に応答して前記一次メモリへのアクセスを一次メモリ予測キューに保存するように構成され、
前記一貫性伝送監視回路が更に、
前記マルチコア相互接続システムにより前記一次メモリに送られた、観察された一次メモリアクセス要求に関連付けられた一次メモリアクセス要求情報を収集し、
前記収集された一次メモリアクセス要求情報に従い、前記一次メモリアクセス要求に対応する有効な予測結果を発見すべく前記一次メモリ予測キュー内を検索するように構成される、請求項24に記載のシステム。 - 前記一貫性伝送監視回路が更に、
前記一次メモリ予測キュー内に有効な予測結果が存在しない、又は有効な予測結果が存在するものの前記予測結果が実際の結果と矛盾するとの判定に応答して、エラーを認定し、
前記エラーを報告するように構成される、請求項25に記載のシステム。 - 前記L2キャッシュ予測生成器が更に、
前記L2キャッシュへのアクセスを、前記シングルコアプロセッサ内の前記メモリアドレスの前記キャッシュラインの状態に従いバス伝送プロトコルに基づいて前記一次メモリへのアクセスに変換するように構成される、請求項25に記載のシステム。 - 前記一次メモリアクセス要求情報が、一次メモリアクセス動作種別、動作アドレス、動作アドレス間隔サイズ、動作データ、動作アドレス属性、及び動作識別番号を含む、請求項25~27のいずれか1項に記載のシステム。
- 前記キャッシュ検査回路が更に、
全ての伝送データの伝送が終了したことに応答して前記キャッシュ予測キュー内に残っているエントリを見つけるように構成される、請求項22~28のいずれか1項に記載のシステム。 - 前記キャッシュ検査回路が更に、
前記マルチコア相互接続システム内の伝送損失に基づいてエラーを見つけ、
前記エラーを報告するように構成される、請求項29に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810558363.5 | 2018-06-01 | ||
CN201810558363.5A CN109062613B (zh) | 2018-06-01 | 2018-06-01 | 多核互联二级缓存访问验证方法 |
PCT/CN2019/089556 WO2019228506A1 (en) | 2018-06-01 | 2019-05-31 | Method of verifying access of multi-core interconnect to level-2 cache |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021524966A JP2021524966A (ja) | 2021-09-16 |
JP7405773B2 true JP7405773B2 (ja) | 2023-12-26 |
Family
ID=64819887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020564129A Active JP7405773B2 (ja) | 2018-06-01 | 2019-05-31 | マルチコア相互接続のレベル2キャッシュへのアクセスを検証する方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11550646B2 (ja) |
EP (1) | EP3797359B1 (ja) |
JP (1) | JP7405773B2 (ja) |
CN (1) | CN109062613B (ja) |
WO (1) | WO2019228506A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109062613B (zh) * | 2018-06-01 | 2020-08-28 | 杭州中天微系统有限公司 | 多核互联二级缓存访问验证方法 |
CN110727611B (zh) * | 2019-09-09 | 2022-01-07 | 无锡江南计算技术研究所 | 一种带状态监测的可配置一致性验证系统 |
CN110597656B (zh) * | 2019-09-11 | 2023-08-08 | 上海高性能集成电路设计中心 | 一种二级缓存标记阵列的校验单错处理方法 |
CN112559433B (zh) * | 2019-09-25 | 2024-01-02 | 阿里巴巴集团控股有限公司 | 一种多核互联总线、核间通信方法及多核处理器 |
CN115618801B (zh) * | 2022-12-01 | 2023-04-07 | 北京智芯微电子科技有限公司 | 缓存一致性检验方法、装置及电子设备 |
CN116167310A (zh) * | 2023-04-25 | 2023-05-26 | 上海芯联芯智能科技有限公司 | 一种验证多核心处理器缓存一致性的方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006090328A3 (en) | 2005-02-28 | 2007-01-04 | Koninkl Philips Electronics Nv | Multiprocessor system, testing device and method for generating cache coherence testing traffic |
JP2010061473A (ja) | 2008-09-04 | 2010-03-18 | Fujitsu Ltd | キャッシュ論理検証装置、キャッシュ論理検証方法およびキャッシュ論理検証プログラム |
JP2010128698A (ja) | 2008-11-26 | 2010-06-10 | Toshiba Corp | マルチプロセッサシステム |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5793941A (en) * | 1995-12-04 | 1998-08-11 | Advanced Micro Devices, Inc. | On-chip primary cache testing circuit and test method |
CN101008921A (zh) * | 2007-01-26 | 2007-08-01 | 浙江大学 | 基于总线侦听的嵌入式异构多核缓存一致性方法 |
CN101446987B (zh) * | 2007-11-27 | 2011-12-14 | 上海高性能集成电路设计中心 | 一种用于多核处理器Cache一致性实物验证的装置 |
US7984244B2 (en) * | 2007-12-28 | 2011-07-19 | Intel Corporation | Method and apparatus for supporting scalable coherence on many-core products through restricted exposure |
CN101354682B (zh) * | 2008-09-12 | 2010-12-15 | 中国科学院计算技术研究所 | 一种用于解决多处理器访问目录冲突的装置和方法 |
US8645762B2 (en) * | 2010-12-08 | 2014-02-04 | Advanced Micro Devices, Inc. | Queue freeze on protocol error |
CN102103568B (zh) * | 2011-01-30 | 2012-10-10 | 中国科学院计算技术研究所 | 片上多核处理器系统的高速缓存一致性协议的实现方法 |
CN102662885B (zh) * | 2012-04-01 | 2015-09-23 | 天津国芯科技有限公司 | 对称式多核处理器维护二级缓存一致性的装置及其方法 |
US8904073B2 (en) * | 2013-03-14 | 2014-12-02 | Apple Inc. | Coherence processing with error checking |
US9405691B2 (en) * | 2013-06-19 | 2016-08-02 | Empire Technology Development Llc | Locating cached data in a multi-core processor |
CN103440223B (zh) * | 2013-08-29 | 2017-04-05 | 西安电子科技大学 | 一种实现高速缓存一致性协议的分层系统及其方法 |
US9710380B2 (en) * | 2013-08-29 | 2017-07-18 | Intel Corporation | Managing shared cache by multi-core processor |
US20150095661A1 (en) * | 2013-09-30 | 2015-04-02 | Microsoft Corporation | Flexible Memory Addressing For Data Security |
US10540284B2 (en) * | 2014-07-29 | 2020-01-21 | Nxp Usa, Inc. | Cache-coherent multiprocessor system and a method for detecting failures in a cache-coherent multiprocessor system |
CN105740164B (zh) * | 2014-12-10 | 2020-03-17 | 阿里巴巴集团控股有限公司 | 支持缓存一致性的多核处理器、读写方法、装置及设备 |
US9524188B1 (en) * | 2015-06-26 | 2016-12-20 | International Business Machines Corporation | Multithreaded transactions |
US9792147B2 (en) * | 2015-07-02 | 2017-10-17 | International Business Machines Corporation | Transactional storage accesses supporting differing priority levels |
US10133669B2 (en) * | 2016-11-15 | 2018-11-20 | Intel Corporation | Sequential data writes to increase invalid to modified protocol occurrences in a computing system |
CN109062613B (zh) | 2018-06-01 | 2020-08-28 | 杭州中天微系统有限公司 | 多核互联二级缓存访问验证方法 |
CN109032964A (zh) * | 2018-07-02 | 2018-12-18 | 京东方科技集团股份有限公司 | 缓存替换方法及其装置、异构多核系统 |
US11106583B2 (en) * | 2019-05-24 | 2021-08-31 | Texas Instmments Incorporated | Shadow caches for level 2 cache controller |
-
2018
- 2018-06-01 CN CN201810558363.5A patent/CN109062613B/zh active Active
-
2019
- 2019-05-31 WO PCT/CN2019/089556 patent/WO2019228506A1/en unknown
- 2019-05-31 JP JP2020564129A patent/JP7405773B2/ja active Active
- 2019-05-31 US US16/488,502 patent/US11550646B2/en active Active
- 2019-05-31 EP EP19810228.7A patent/EP3797359B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006090328A3 (en) | 2005-02-28 | 2007-01-04 | Koninkl Philips Electronics Nv | Multiprocessor system, testing device and method for generating cache coherence testing traffic |
JP2010061473A (ja) | 2008-09-04 | 2010-03-18 | Fujitsu Ltd | キャッシュ論理検証装置、キャッシュ論理検証方法およびキャッシュ論理検証プログラム |
JP2010128698A (ja) | 2008-11-26 | 2010-06-10 | Toshiba Corp | マルチプロセッサシステム |
Also Published As
Publication number | Publication date |
---|---|
US11550646B2 (en) | 2023-01-10 |
EP3797359A1 (en) | 2021-03-31 |
EP3797359A4 (en) | 2021-08-18 |
JP2021524966A (ja) | 2021-09-16 |
EP3797359B1 (en) | 2024-04-17 |
WO2019228506A1 (en) | 2019-12-05 |
CN109062613B (zh) | 2020-08-28 |
US20210357327A1 (en) | 2021-11-18 |
CN109062613A (zh) | 2018-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7405773B2 (ja) | マルチコア相互接続のレベル2キャッシュへのアクセスを検証する方法 | |
CN108683562B (zh) | 异常检测定位方法、装置、计算机设备及存储介质 | |
CN115130402B (zh) | 一种缓存验证方法、系统、电子设备及可读存储介质 | |
CN112561197B (zh) | 一种带有主动防御影响范围的电力数据预取与缓存方法 | |
US20190138433A1 (en) | Evaluation of library test suites using mutation testing | |
US20210271580A1 (en) | Ethod and computer storage node of shared storage system for abnormal behavior detection/analysis | |
CN115563914A (zh) | 验证方法及装置、计算设备、计算机可读存储介质 | |
US7962692B2 (en) | Method and system for managing performance data | |
US8732323B2 (en) | Recording medium storing transaction model generation support program, transaction model generation support computer, and transaction model generation support method | |
CN116049034A (zh) | 一种多核处理器系统的缓存一致性的验证方法及装置 | |
CN108667740A (zh) | 流量控制的方法、装置及系统 | |
US20100250651A1 (en) | Data access method for making asynchronous request to block device | |
CN110910249B (zh) | 一种数据处理方法、装置、节点设备及存储介质 | |
CN110727611B (zh) | 一种带状态监测的可配置一致性验证系统 | |
CN112882956A (zh) | 一种通过数据组合计算自动生成全场景自动化测试案例的方法、装置、存储介质及电子设备 | |
US8645762B2 (en) | Queue freeze on protocol error | |
CN116167310A (zh) | 一种验证多核心处理器缓存一致性的方法及装置 | |
CN114063923A (zh) | 数据读取方法、装置、处理器及电子设备 | |
CN116643945B (zh) | 一种二级缓存的数据检测方法、系统及计算机设备 | |
US20140257736A1 (en) | Implementing automated memory address recording in constrained random test generation for verification of processor hardware designs | |
CN116661954B (zh) | 虚拟机异常预测方法、装置、通信设备及存储介质 | |
JP6497234B2 (ja) | 制御プログラム、制御方法、及び、情報処理装置 | |
CN109923846B (zh) | 确定热点地址的方法及其设备 | |
CN113407462A (zh) | 一种数据处理的方法、装置、电子设备及介质 | |
CN116185956A (zh) | 分布式系统中设备故障巡检方法、装置、设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220526 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230427 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230531 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230828 |
|
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: 20231208 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231214 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7405773 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |