JP7405773B2 - マルチコア相互接続のレベル2キャッシュへのアクセスを検証する方法 - Google Patents

マルチコア相互接続のレベル2キャッシュへのアクセスを検証する方法 Download PDF

Info

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
Application number
JP2020564129A
Other languages
English (en)
Other versions
JP2021524966A (ja
Inventor
チュー,タオタオ
Original Assignee
シー-スカイ マイクロシステムズ カンパニー,リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by シー-スカイ マイクロシステムズ カンパニー,リミテッド filed Critical シー-スカイ マイクロシステムズ カンパニー,リミテッド
Publication of JP2021524966A publication Critical patent/JP2021524966A/ja
Application granted granted Critical
Publication of JP7405773B2 publication Critical patent/JP7405773B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0706Error 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/0721Error 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/0724Error 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/3834Maintaining memory consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0706Error 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/073Error 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0766Error or fault reporting or storing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • G06F12/0828Cache consistency protocols using directory methods with concurrent directory accessing, i.e. handling multiple concurrent coherency transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0895Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/885Monitoring specific for caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1008Correctness of operation, e.g. memory ordering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • 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キャッシュが再アクセスされる必要がないとの判定に応答してキャッシュ予測キュー内の対応するエントリ情報を削除することと、一次メモリがアクセスされる必要があるか否かを判定し、一次メモリがアクセスされる必要があるとの判定に応答して一次メモリへのアクセスを一次メモリ予測キューに保存し、マルチコア相互接続システムにより開始された一次メモリへの一次メモリアクセス要求を観察し、一次メモリへのアクセス要求に関する一次メモリアクセス要求情報を収集することと、アクセス要求の有効な予測結果のために一次メモリ予測キュー内を検索し、有効な予測結果を見つけたことに従いエラーを報告することとを含む。
図面の簡単な説明
[4]本開示のいくつかの実施形態による、マルチコア相互接続からL2キャッシュへのアクセスを検証する例示的なシステムの模式図である。 [5]本開示のいくつかの実施形態による、遅延の無いL2キャッシュへのアクセスを検証する例示的な方法のフロー図である。 [6]本開示のいくつかの実施形態による、例示的な大域的精密制御回路のエントリ内容を示す模式図である。
詳細な説明
[7] 本開示の実施形態の目的、技術的解決策及び利点を明確にすべく、本開示の実施形態における技術的解決策について、本開示の実施形態の添付図面を参照しながら以下に述べる。明らかに、記述する複数の実施形態は、本開示の実施形態の全てではなく単に一部に過ぎない。本開示の複数の実施形態に基づいて、当業者が想到する他の全ての実施形態は本開示の権利保護範囲に含まれるものとする。
[8] マルチコア相互接続の設計者は一般に、マルチコア相互接続の性能を向上させるべくL2キャッシュをマルチコア相互接続アーキテクチャに追加する。シングルコア内のキャッシュが特定のアドレスでデータ損失に直面した場合、以前はオフチップ一次メモリに向けられていたデータの取得を、今後はL2キャッシュへのアクセスに変更することにより、メモリアクセス遅延が減る。その結果、L2キャッシュへのアクセスが必要であるか否か、及びL2キャッシュへのアクセスを通じて取得されたデータが正しいか否かを検証することが重要になる。従来の検証処理は、シングルコアアクセス方法に基づいて実行される。マルチコア相互接続アーキテクチャがL2キャッシュにアクセスした際に問題が生じた場合、問題の箇所を迅速且つ正確に特定するのは困難である。一方、シングルコアにより送られた伝送種別に固有の多様性、及び現在のキャッシュラインの異なる一貫性状態に起因して、L2キャッシュへのアクセスの結果を判定することは複雑である。従って、L2キャッシュとのマルチコア相互接続を検証する処理においてエラー箇所の特定に長い遅延が生じ、且つ検査予測結果の生成が困難になる。
[9] 本開示の複数の実施形態は、マルチコア相互接続からL2キャッシュへのアクセスを検証するシステム及び方法を提供することにより、上述の問題を克服する。図1は、本開示のいくつかの実施形態による、マルチコア相互接続からL2キャッシュへのアクセスを検証する例示的なシステムの模式図である。図1に示すシステムは、マルチコア相互接続システム171、一貫性伝送監視回路110、L2キャッシュ予測生成器120及びキャッシュ検査回路130を含む。
[10] 一貫性伝送監視回路110は、マルチコアシステム内のいずれかのシングルコアプロセッサが伝送データを送っているか否かを、リアルタイムで監視するように構成されている。伝送データが送られて検知された場合、一貫性伝送監視回路110は、伝送データに関する伝送情報を収集する。収集処理は、検証プラットフォームにより入力された試験刺激(test stimuli)から独立しており、一貫性伝送監視回路110自身により行われる。一貫性伝送監視回路110は更に、L2キャッシュ予測生成器に伝送情報を送るように構成されている。
[11] L2キャッシュ予測生成器120は、一貫性伝送監視回路110から伝送情報を受信し、伝送情報を用いて伝送データをソートし、伝送データがL2キャッシュにアクセスする必要があるか否かを判定するように構成されている。ソーティング処理は、マルチコア一貫性動作種別及び動作アドレス属性を解析することにより行われる。L2キャッシュ予測生成器120は更に、L2キャッシュにアクセスする必要がある伝送データをキャッシュ予測キューに保存するように構成されている。一貫性伝送監視回路110は更に、マルチコア相互接続システム171がL2キャッシュへのアクセス要求を開始するか否かを観察するように構成されている。アクセス要求が開始されて観察されたならば、アクセス要求に関連付けられたアクセス要求情報が収集され、キャッシュ検査回路130は検査を実行するよう通知される。
[12] 検査を実行するために、キャッシュ検査回路130は、キャッシュ予測キュー内を検索して要求の予測結果が存在するか否かを検査するように構成されている。有効な予測結果が予測キューに存在しない、又は有効な予測結果が予測キューに存在するものの予測結果が実際の結果と矛盾する場合、システム内でエラーが生じたと考えられる。いくつかの実施形態において、エラーが報告されてエラー情報が提供される。この時点で、要求に応じてL2キャッシュに対して開始された第1のアクセスの結果の精度比較を完了することができる。
[13] いくつかの実施形態において、図1に示すシステムは更に、マルチコア相互接続システム171とインタラクトするCPU(プロセッサ)コア180、CPUコア181、CPUコア182、CPUコア183、L2キャッシュ173、及び一次メモリ172を含む。一貫性伝送監視回路110は更に、CPUコア180~183、L2キャッシュ173、及び一次メモリ172がマルチコア相互接続システム171と通信するか否かを監視し、通信が行われた場合に通信情報を収集し、通信情報をL2キャッシュ予測生成器120に送るように構成されている。L2キャッシュ予測生成器120は更に、大域的メモリ精密制御回路160により、マルチコア相互接続システム171のL2キャッシュ173及び一次メモリ172へのアクセス予測を生成するように構成されている。キャッシュ検査回路130及び一次メモリ検査回路140は、予測された結果と実際の結果を比較して動作精度報告を生成する。
[14] 図2は、本開示のいくつかの実施形態による、遅延の無いL2キャッシュへのアクセスを検証する例示的な方法のフロー図である。図2の方法が図1に示すシステム上で実行できる点を理解されたい。図1を参照して図2に示すように、方法1000は次のステップを含んでいる。
[15] ステップ1010において、一貫性伝送監視回路(例:図1の一貫性伝送監視回路110)は、シングルコアによりマルチコア相互接続システム(例:図1のマルチコア相互接続システム171)に送られた伝送データをリアルタイムで監視し、伝送データに関する伝送情報を収集し、収集された伝送情報をL2キャッシュ予測生成器(例:図1のL2キャッシュ予測生成器120)に送る。いくつかの実施形態において、伝送情報は、マルチコア一貫性動作種別、動作アドレス、動作アドレス間隔サイズ、動作データ、動作アドレス属性、及び動作識別番号を含む。
[16] ステップ1020において、L2キャッシュ予測生成器は、受信した伝送情報に対して前処理を行い、伝送データをソートして伝送データがL2キャッシュにアクセスする必要があるか否かを判定し、L2キャッシュにアクセスする必要がある伝送データの伝送情報をキャッシュ予測キューに保存する。いくつかの実施形態において、前処理は、動作アドレス属性に従ってスクリーニングすること、及び動作アドレス属性がキャッシュ属性であるとの判定に応じてL2キャッシュにアクセスすることを含む。いくつかの実施形態において、L2キャッシュにアクセスする必要がある伝送データの伝送情報は、動作識別番号を含んでいる。動作識別番号は、各々の伝送データを識別するために用いられる。
[17] ステップ1030において、一貫性伝送監視回路は、マルチコア相互接続システムによりL2キャッシュに送られたアクセス要求をリアルタイムで監視し、アクセス要求に関するアクセス要求情報を収集し、収集されたアクセス要求情報をキャッシュ検査回路(例:図1のキャッシュ検査回路130)に送る。いくつかの実施形態において、収集されたアクセス要求情報は、アクセス要求の要求識別番号を含む。要求識別番号は、各々のアクセス要求を識別するために用いられる。いくつかの実施形態において、収集されたアクセス要求情報は更に、L2キャッシュ動作種別、動作アドレス、動作データ、及び動作識別番号を含む。
[18] ステップ1040において、ステップ1030で受信及び収集されたアクセス要求情報に従い、キャッシュ検査回路は、キャッシュ予測キュー内を検索してアクセス要求に対応する伝送情報の予測結果が存在するか否かを検査する。いくつかの実施形態において、伝送情報の予測結果とアクセス要求との間の対応が確立するのは、キャッシュ検査回路がアクセス要求の要求識別番号とキャッシュ予測キューの動作識別番号とのマッチングに成功し、且つアクセス要求と動作識別番号により識別された伝送データとの間で他の伝送情報(例:動作種別、動作アドレス等)のマッチングに成功した場合である。いくつかの実施形態において、キャッシュ検査回路は、キャッシュ予測キュー内の動作識別番号とのマッチングにアクセス要求の要求識別番号を用いるのではなく、アクセス要求の動作識別番号を用いてもよい。
[19] 予測キュー内に有効な予測結果が存在しない場合、又は予測キュー内に有効な予測結果が存在するものの予測結果が実際の結果と矛盾する場合、システム内でエラーが生じたと考えられる。いくつかの実施形態において、キャッシュ検査回路はエラーを報告すると共にエラー情報を提供する。さもなければ、マルチコア相互接続システムは正常に動作していると判定してよく、ステップ1050が実行される。
[20] ステップ1050において、一貫性伝送監視回路は、L2キャッシュによりマルチコア相互接続システムに送られたフィードバック情報をリアルタイムで監視し、収集されたフィードバック情報をL2キャッシュ予測生成器に送る。いくつかの実施形態において、フィードバック情報は、キャッシュが欠落しているか否かを示すインジケーションを含む。
[21] ステップ1060において、ステップ1050で収集されたL2キャッシュフィードバック情報に従い、L2キャッシュ予測生成器は、大域的メモリ精密制御回路(例:図1の大域的メモリ精密制御回路160)から全てのコア内のキャッシュラインの状態を取得して、L2キャッシュが再アクセスされる必要があるか否かを判定する。L2キャッシュが再アクセスされる場合、L2キャッシュ予測生成器は、キャッシュ予測キュー内の対応するエントリ情報を更新する。L2キャッシュが再アクセスされる必要が無い場合、L2キャッシュ予測生成器は、キャッシュ予測キュー内の対応するエントリ情報を削除する。また、L2キャッシュ予測生成器は、一次メモリ(例:図1の一次メモリ172)がアクセスされる必要があるか否かも判定する。一次メモリがアクセスされる場合、L2キャッシュ予測生成器は、一次メモリにアクセスする必要がある伝送データの伝送情報を一次メモリ予測キューに保存する。いくつかの実施形態において、L2キャッシュ予測生成器は、キャッシュラインの状態に応じてバス伝送プロトコルに基づいてL2キャッシュへのアクセスを一次メモリへのアクセスに変換する。いくつかの実施形態において、一次メモリにアクセスする必要がある伝送データの伝送情報は、動作識別番号を含む。動作識別番号は、各々の伝送データを識別するために用いられる。
[22] ステップ1070において、一貫性伝送監視回路は、マルチコア相互接続システムにより開始された一次メモリへのアクセス要求をリアルタイムで監視及び観察し、一次メモリへのアクセス要求に関する一次メモリアクセス要求情報を収集し、収集された一次メモリアクセス要求情報を一次メモリ検査回路(例:図1の一次メモリ検査回路140)に送る。いくつかの実施形態において、収集された一次メモリアクセス要求情報は、アクセス要求の要求識別番号を含む。要求識別番号は、各々のアクセス要求を識別するために用いられる。いくつかの実施形態において、一次メモリアクセス要求情報は、一次メモリアクセス動作種別、動作アドレス、動作アドレス間隔サイズ、動作データ、動作アドレス属性、及び動作識別番号を含む。
[23] ステップ1080において、ステップ1070で受信した要求識別番号に従い、一次メモリ検査回路は、要求に対する有効な予測結果のために一次メモリ予測キュー内を検索する。いくつかの実施形態において、一次メモリ検査回路がアクセス要求の要求識別番号と一次メモリ予測キュー内の動作識別番号とのマッチングに成功し、且つアクセス要求と動作識別番号により識別された伝送データとの間で他の伝送情報(例:動作種別、動作アドレス等)のマッチングに成功した場合、要求に対する有効な予測結果が決定される。いくつかの実施形態において、一次メモリ検査回路は、一次メモリ予測キュー内の動作識別番号とのマッチングにアクセス要求の要求識別番号を用いるのではなく、アクセス要求の動作識別番号を用いてもよい。
[24] 予測キュー内に有効な予測結果が存在しない場合、又は予測キュー内に有効な予測結果が存在するものの予測結果が実際の結果と矛盾する場合、システム内でエラーが生じたと考えられる。いくつかの実施形態において、一次メモリ検査回路は、エラーを報告すると共にエラー情報を提供する。さもなければ、マルチコア相互接続システムは正常に動作していると判定してよく、ステップ1090が実行される。
[25] ステップ1090において、全ての伝送データの伝送が終了した場合、キャッシュ検査回路は、キャッシュ予測キュー内に1個以上のエントリが残っているか否かを検査する。一次メモリ検査回路もまた、一次メモリ予測キュー内に1個以上のエントリが残っているか否かを検査する。キャッシュ予測キュー又は一次メモリ予測キュー内に1個以上のエントリが残っている場合、システム内でエラーが生じたと考えられる。いくつかの実施形態において、キャッシュ検査回路又は一次メモリ検査回路は、エラーを報告すると共にエラー情報を提供する。さもなければ、マルチコア相互接続システムは正常に動作していると判定してよい。いくつかの実施形態において、キャッシュ検査回路又は一次メモリ検査回路は、マルチコア相互接続システム内で伝送損失のエラーを見つけたならば直ちにエラーを報告する。
[26] 図2のステップ1050に示すように、一貫性伝送監視回路は、L2キャッシュによりマルチコア相互接続システムに送られたフィードバック情報を監視する。いくつかの実施形態において、フィードバック情報は、キャッシュが欠落しているか否かのインジケーションを含む。L2キャッシュ予測生成器は、フィードバック情報に従い大域的メモリ精密制御回路から全てのコア内のキャッシュラインの状態を取得し、キャッシュ一貫性プロトコルに従いL2キャッシュに再アクセスする必要があるか否かを判定する。アクセスが必要な場合、キャッシュ予測キュー内の対応するエントリ情報が更新される。アクセスが必要でない場合、キャッシュ予測キュー内の対応するエントリ情報は削除される。同時に、一次メモリにアクセスする必要があるか否かを判定する。アクセスが必要ならば、エントリ情報を一次メモリ予測キューに保存する。次いで、一貫性伝送監視回路は、マルチコア相互接続システムが再びL2キャッシュへのアクセスを開始するか否かを観察し、アクセスが開始されたならばアクセス情報を収集し、キャッシュ検査回路は検査を実行するよう通知される。キャッシュ検査回路は、キャッシュ予測キュー内を検索して第2のアクセス要求に対する予測結果が存在するか否かを調べる。予測キュー内に有効な予測結果が存在しないか、又は予測キュー内に有効な予測結果が存在するものの予測結果が実際の結果と矛盾する場合、システム内でエラーが生じたと考えられる。いくつかの実施形態では次いで、エラーが報告されると共にエラー情報が提供される。同じ要求に対して開始されたL2キャッシュへの第2のアクセスの結果の精度比較を完了することができる。
[27] 図2のステップ1070に示すように、一貫性伝送監視回路は、一次メモリへの伝送データを含むアクセス伝送をマルチコア相互接続システムが開始したか否かをリアルタイムに観察する。伝送データが送られている場合、伝送情報を収集する。一次メモリ検査回路は、伝送情報識別番号に従い、要求に対する有効な予測結果のために一次メモリ予測キュー内を検索する。予測キュー内に有効な予測結果が存在しないか、又は予測キュー内に有効な予測結果が存在するものの予測結果が実際の結果と矛盾する場合、システム内でエラーが生じたと考えられる。いくつかの実施形態では次いで、一次メモリ検証モジュールは、エラーを報告すると共にエラー情報を提供する。同じ要求に対して開始された一次メモリへのアクセスの結果の精度比較を完了することができる。
[28] 図2のステップ1090に示すように、全ての伝送データの伝送が終了した場合、キャッシュ検査回路は、キャッシュ予測キュー内にエントリがまだ残っているか否かを検査し、一次メモリ検査回路は、一次メモリ予測キュー内にエントリがまだ残っているか否かを検査する。キャッシュ予測キュー又は一次メモリ予測キュー内にエントリがまだ残っている場合、システム内でエラーが生じたと考えられる。いくつかの実施形態において、キャッシュ検査回路又は一次メモリ検査回路は、エラーを報告すると共にエラー情報を提供する。さもなければ、マルチコア相互接続システムは正常に動作していると判定される。
[29] 図3は、本開示のいくつかの実施形態による、例示的な大域的精密制御回路のエントリ内容を示す模式図である。図3に示すように、大域的精密制御回路(例:図1の大域的精密制御回路160)は、複数のメモリアドレスに対応する全てのシングルコアからの書き込み動作のアドレス、いくつか又は全てのシングルコアからのデータ、及びシングルコア内のキャッシュラインの状態を記録する。同一アドレスの情報レコードは、大域的精密制御回路内に1個のエントリだけを有している。更に、複数のアドレスがキューに保存されるため、ストレージ空間の占有を減らす。
[30] 本開示による、マルチコア相互接続によるL2キャッシュへのアクセスを検証する方法において、マルチコア相互接続システムの動作中、試験刺激生成から独立してインタラクト情報を収集することができ、大域的メモリ精密制御回路は、キャッシュ一貫性原理に従い別個に維持される。次いでL2キャッシュアクセスの予測結果が遅延無しに提供され、複数のキャッシュアクセスの判定がサポートされる。最後に予測結果が実際の結果と比較されてエラー箇所の迅速な特定を支援する。
[31] 本開示のいくつかの具体的な実施形態について述べてきたが、本開示の保護範囲は上述の実施形態に限定されない。本開示が開示する技術範囲内で当業者が容易に想到可能ないかなる変型又は代替も本開示の保護範囲に含まれるものとする。従って、本開示の保護範囲は請求項の保護範囲に従うものとする。

Claims (30)

  1. マルチコア相互接続からレベル2(L2)キャッシュへのアクセスを検証する方法であって、
    シングルコアプロセッサによりマルチコア相互接続システムに送られた伝送データに関連付けられた伝送情報を収集することと、
    前記収集された伝送情報を用いて、前記伝送データがL2キャッシュへのアクセスを必要とするデータであるか否かを判定することと、
    前記L2キャッシュへのアクセスを必要としている前記判定された伝送データをキャッシュ予測キューに保存することと、
    前記マルチコア相互接続システムにより前記L2キャッシュに送られたアクセス要求に関連付けられたアクセス要求情報を収集することと、
    前記収集されたアクセス要求情報に従い、前記アクセス要求に対応する有効な予測結果を発見すべく前記キャッシュ予測キュー内を検索し、検索結果に基づき前記L2キャッシュへのアクセスを検証するすることを含む方法。
  2. 前記収集された伝送情報が、マルチコア一貫性動作種別、動作アドレス、動作アドレス間隔サイズ、動作データ、動作アドレス属性、及び動作識別番号を含む、請求項1に記載の方法。
  3. 前記収集された伝送情報を用いて、前記伝送データがL2キャッシュへのアクセスを必要とするデータであるか否かを判定することが更に、
    前記動作アドレス属性がキャッシュ属性であるとの判定に応答して、前記動作アドレス属性に従い前記収集された伝送情報をスクリーニングして前記L2キャッシュにアクセスすることを含む、請求項2に記載の方法。
  4. 前記アクセス要求情報が要求識別番号を含む、請求項1~3のいずれか1項に記載の方法。
  5. 前記アクセス要求情報が更に、L2キャッシュ動作種別、動作アドレス、動作データ、及び動作識別番号を含む、請求項1~4のいずれか1項に記載の方法。
  6. 収集されたアクセス要求情報に従い、前記アクセス要求に対応する予測結果を発見すべく前記キャッシュ予測キュー内を検索することが更に、
    前記キャッシュ予測キューに前記有効な予測結果が存在しない、又は前記有効な予測結果が存在するものの前記有効な予測結果が実際の結果と矛盾するとの判定に応答して、エラーを認定すること、及び、
    前記エラーを報告することを含む、請求項1~5のいずれか1項に記載の方法。
  7. 前記L2キャッシュにより前記マルチコア相互接続システムに送られたフィードバック情報を収集することと、
    前記収集されたフィードバック情報に従い前記シングルコアプロセッサ内のキャッシュラインの状態を取得することと、
    前記L2キャッシュが再アクセスされるか否かを判定することと、
    前記L2キャッシュが再アクセスされるとの判定に応答して前記キャッシュ予測キュー内の対応するエントリ情報を更新することと、
    前記L2キャッシュが再アクセスされないとの判定に応答して前記キャッシュ予測キュー内の対応するエントリ情報を削除することを更に含む、請求項1~6のいずれか1項に記載の方法。
  8. 前記フィードバック情報が、前記L2キャッシュにおいてキャッシュミスが発生しているか否かを示すインジケーションを含む、請求項7に記載の方法。
  9. 前記収集されたフィードバック情報に従い前記シングルコアプロセッサ内のキャッシュラインの状態を取得することが更に、
    メモリアドレスに対応する前記シングルコアプロセッサの書き込み動作アドレスと、メモリアドレス用の前記シングルコアプロセッサのデータとを記録すること含む、請求項7又8に記載の方法。
  10. 一次メモリがアクセスされるか否かを判定することと、
    前記一次メモリがアクセスされるとの判定に応答して前記一次メモリへのアクセスを一次メモリ予測キューに保存することと、
    前記マルチコア相互接続システムにより前記一次メモリに送られた、観察された一次メモリアクセス要求に関連付けられた一次メモリアクセス要求情報を収集することと、
    前記収集された一次メモリアクセス要求情報に従い、前記一次メモリアクセス要求に対応する有効な予測結果を発見すべく前記一次メモリ予測キュー内を検索することを更に含む、請求項9に記載の方法。
  11. 前記一次メモリアクセス要求の有効な予測結果のために前記一次メモリ予測キュー内を検索することが更に、
    前記一次メモリ予測キュー内に有効な予測結果が存在しない、又は有効な予測結果が存在するものの前記予測結果が実際の結果と矛盾するとの判定に応答して、エラーを認定すること、及び
    前記エラーを報告することを含む、請求項10に記載の方法。
  12. 前記一次メモリがアクセスされるか否かを判定して、前記一次メモリがアクセスされるとの判定に応答して前記一次メモリへのアクセスを前記一次メモリ予測キューに保存することが更に、
    前記L2キャッシュへのアクセスを、前記シングルコアプロセッサ内の前記メモリアドレスの前記キャッシュラインの状態に従いバス伝送プロトコルに基づいて前記一次メモリへのアクセスに変換することを含む、請求項10に記載の方法。
  13. 前記一次メモリアクセス要求情報が、一次メモリアクセス動作種別、動作アドレス、動作アドレス間隔サイズ、動作データ、動作アドレス属性、及び動作識別番号を含む、請求項10~12のいずれか1項に記載の方法。
  14. 全ての伝送データの伝送が終了したことに応答して前記キャッシュ予測キュー内に残っているエントリを見つけること更に含む、請求項7~13のいずれか1項に記載の方法。
  15. 全ての伝送データの伝送が終了したことに応答して前記キャッシュ予測キュー内に残っているエントリを見つけることが更に、
    前記マルチコア相互接続システム内の伝送損失に基づいてエラーを見つけること、及び前記エラーを報告することを含む、請求項14に記載の方法。
  16. マルチコア相互接続からL2キャッシュへのアクセスを検証するシステムであって、
    シングルコアプロセッサによりマルチコア相互接続システムに送られた伝送データに関連付けられた伝送情報を収集するように構成された一貫性伝送監視回路と、
    前記収集された伝送情報を用いて、前記伝送データがL2キャッシュへのアクセスを必要とするデータであるか否かを判定し、
    前記L2キャッシュへのアクセスを必要としている前記判定された伝送データをキャッシュ予測キューに保存し、
    前記マルチコア相互接続システムにより前記L2キャッシュに送られたアクセス要求に関連付けられたアクセス要求情報を収集するように構成されたL2キャッシュ予測生成器と、
    前記収集されたアクセス要求情報に従い、前記アクセス要求に対応する有効な予測結果を発見すべく前記キャッシュ予測キュー内を検索するように構成されたキャッシュ検査回路とを含むシステム。
  17. 前記収集された伝送情報が、マルチコア一貫性動作種別、動作アドレス、動作アドレス間隔サイズ、動作データ、動作アドレス属性、及び動作識別番号を含む、請求項16に記載のシステム。
  18. 前記L2キャッシュ予測生成器が更に、
    前記動作アドレス属性がキャッシュ属性であるとの判定に応答して、前記動作アドレス属性に従い前記収集された伝送情報をスクリーニングして前記L2キャッシュにアクセスするように構成される、請求項17に記載のシステム。
  19. 前記アクセス要求情報が要求識別番号を含む、請求項16~18のいずれか1項に記載のシステム。
  20. 前記アクセス要求情報が更に、L2キャッシュ動作種別、動作アドレス、動作データ、及び動作識別番号を含む、請求項16~19のいずれか1項に記載のシステム。
  21. 前記キャッシュ検査回路が更に、
    前記キャッシュ予測キューに前記有効な予測結果が存在しない、又は前記有効な予測結果が存在するものの前記有効な予測結果が実際の結果と矛盾するとの判定に応答して、エラーを認定するように、及び
    前記エラーを報告するように構成される、請求項16~20のいずれか1項に記載のシステム。
  22. 前記一貫性伝送監視回路が更に、
    前記L2キャッシュにより前記マルチコア相互接続システムに送られたフィードバック情報を収集するように構成され、
    前記L2キャッシュ予測生成器が更に、
    前記収集されたフィードバック情報に従い前記シングルコアプロセッサ内のキャッシュラインの状態を取得し、
    前記L2キャッシュが再アクセスされるか否かを判定し、
    前記L2キャッシュが再アクセスされるとの判定に応答して前記キャッシュ予測キュー内の対応するエントリ情報を更新し、
    前記L2キャッシュが再アクセスされないとの判定に応答して前記キャッシュ予測キュー内の対応するエントリ情報を削除するように構成される、請求項16~21に記載のいずれか1項に記載のシステム。
  23. 前記フィードバック情報が、前記L2キャッシュにおいてキャッシュミスが発生しているか否かを示すインジケーションを含む、請求項22に記載のシステム。
  24. 前記L2キャッシュ予測生成器が更に、
    メモリアドレスに対応する前記シングルコアプロセッサの書き込み動作アドレスと、メモリアドレス用の前記シングルコアプロセッサのデータとを記録するように構成される、請求項22又は23に記載のシステム。
  25. L2キャッシュ予測生成器が更に、
    一次メモリがアクセスされるか否かを判定し、
    前記一次メモリがアクセスされるとの判定に応答して前記一次メモリへのアクセスを一次メモリ予測キューに保存するように構成され、
    前記一貫性伝送監視回路が更に、
    前記マルチコア相互接続システムにより前記一次メモリに送られた、観察された一次メモリアクセス要求に関連付けられた一次メモリアクセス要求情報を収集し、
    前記収集された一次メモリアクセス要求情報に従い、前記一次メモリアクセス要求に対応する有効な予測結果を発見すべく前記一次メモリ予測キュー内を検索するように構成される、請求項24に記載のシステム。
  26. 前記一貫性伝送監視回路が更に、
    前記一次メモリ予測キュー内に有効な予測結果が存在しない、又は有効な予測結果が存在するものの前記予測結果が実際の結果と矛盾するとの判定に応答して、エラーを認定し、
    前記エラーを報告するように構成される、請求項25に記載のシステム。
  27. 前記L2キャッシュ予測生成器が更に、
    前記L2キャッシュへのアクセスを、前記シングルコアプロセッサ内の前記メモリアドレスの前記キャッシュラインの状態に従いバス伝送プロトコルに基づいて前記一次メモリへのアクセスに変換するように構成される、請求項25に記載のシステム。
  28. 前記一次メモリアクセス要求情報が、一次メモリアクセス動作種別、動作アドレス、動作アドレス間隔サイズ、動作データ、動作アドレス属性、及び動作識別番号を含む、請求項25~27のいずれか1項に記載のシステム。
  29. 前記キャッシュ検査回路が更に、
    全ての伝送データの伝送が終了したことに応答して前記キャッシュ予測キュー内に残っているエントリを見つけるように構成される、請求項22~28のいずれか1項に記載のシステム。
  30. 前記キャッシュ検査回路が更に、
    前記マルチコア相互接続システム内の伝送損失に基づいてエラーを見つけ、
    前記エラーを報告するように構成される、請求項29に記載のシステム。
JP2020564129A 2018-06-01 2019-05-31 マルチコア相互接続のレベル2キャッシュへのアクセスを検証する方法 Active JP7405773B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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