JP2008517370A - データ処理システムと処理装置のキャッシュコヒーレンスを監視する方法 - Google Patents

データ処理システムと処理装置のキャッシュコヒーレンスを監視する方法 Download PDF

Info

Publication number
JP2008517370A
JP2008517370A JP2007536341A JP2007536341A JP2008517370A JP 2008517370 A JP2008517370 A JP 2008517370A JP 2007536341 A JP2007536341 A JP 2007536341A JP 2007536341 A JP2007536341 A JP 2007536341A JP 2008517370 A JP2008517370 A JP 2008517370A
Authority
JP
Japan
Prior art keywords
cache
processing system
data processing
monitoring
cache coherence
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.)
Withdrawn
Application number
JP2007536341A
Other languages
English (en)
Inventor
エス テレシコ アンドレイ
ムアカニカラ ナジェスワラン ヤイラム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips NV
Koninklijke Philips Electronics NV
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 Koninklijke Philips NV, Koninklijke Philips Electronics NV filed Critical Koninklijke Philips NV
Publication of JP2008517370A publication Critical patent/JP2008517370A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本発明は、複数の処理装置(PU)と、前記処理装置(PU)からのデータを格納するための共有メモリ(M)と、メモリー(M)と複数の処理装置(PU)とを結合するための相互接続手段(IM)とを有するデータ処理システムに関する。処理装置(PU)のうちの少なくとも1つはキャッシュメモリ(C)を具えている。さらに、前記複数の処理装置(PU)のうち少なくとも1つにおけるキャッシュメモリ(C)の少なくともいくつかの状態遷移をバッファに格納する遷移バッファ(STB)が設けられる。あらゆるキャッシュコヒーレンス違反をも発見するために、遷移バッファ(STB)のデータに基づいて、前記複数の処理装置(PU)のキャッシュ(C)のキャッシュコヒーレンスを監視する監視手段(MM)が設けられる。

Description

本発明は、複数の処理装置と、これらの処理装置からのデータを格納するための共有メモリと、その共有メモリを複数の処理装置と結合するための相互接続手段とを有するデータ処理システムに関するものである。また、本発明は、複数の処理装置のキャッシュコヒーレンスを監視する方法に関するものでもある。
今日のシステムオンチップにおいて、複数の処理装置は、それぞれが何らかの相互接続を介してアクセスできる1つのメモリを共有する。一般的に、この種の相互接続は処理装置−メモリ相互接続であって、チップ上の単一バスまたは複合ポイント・ツー・ポイント型ネットワークとすることができる。処理装置はキャッシュメモリを有することが多い。キャッシュはハードウェア管理されるオンチップメモリであり、長いメモリレイテンシを隠蔽し、外部DRAMの帯域幅を節約する。多数のキャッシュがIC内に存在する場合、キャッシュは正しいデータを処理装置に送信するために同期しなければならない。この問題は、キャッシュコヒーレンスとして知られている。インテルのMontecito、IBMのPower 5、フィリップスのViper PNX8550、サンのMAJC等のような現代のマルチプロセッサ集積回路は、一般的に、何百万ものトランジスタを具えるので、その設計を検証するのがますます難しくなっている。再製造しないでバグの回避方法を見つけるか、あるいはハードウェアを修正しチップを迅速に再製造するために、ハードウェアのいかなる種類の論理バグもできるだけ速く発見することが望ましい。このようにして、製品化に要する時間は短縮される。
任意のハードウェアバグを見つける技術は、一般的にデバッグと呼ばれている。現代の複雑な集積回路は、ブレイクポイント・モジュールとして具現化できるテストおよびデバッグ機能を含む。一般的に、この種のモジュールは、特定のメモリ領域等からのロードのような特定のイベントで起動される。集積回路のクロックは、ICの内部レジスタおよびメモリのいくつかを慎重に検査するために停止される。各集積回路は、集積回路の検査を実行するためのジョイント・テスト・アクション・グループJTAGインターフェイスを具える。JTAGはIEEE 1149標準規格である。
しかし、ブレイクポイントモジュールは、設計期間中に決定する必要がある特定の一組のイベントに対してのみ有効である。この種のブレイクポイントモジュールは、集積回路の限られた範囲のハードウェアに対するものである。ブレイクポイントモジュールは、バス上のアドレス信号を監視することができ、ブレイクポイントは、特定のアドレスがバスにアクセスされるとすぐに実行される。これらのブレイクポイントモジュールは、IC内の選択された信号の検査を可能にするハードウェアデバッグ方法である。したがって、設計時にある程度予想されるバグのみが、この種のブレイクポイントモジュールにより発見できる。その他のバグは、この種のブレイクポイントモジュールにより発見されることはない。
非特許文献1には、キャッシュコヒーレントマルチプロセッサのフォルトトレランスを改良する方法が開示されている。ハードウェアでキャッシュコヒーレンス動作を動的に検証することによって、製造誤り、ソフトエラーおよび設計誤りによって生じるエラーを検出できる。したがって、マルチプロセッシング環境内の種々の処理装置のキャッシュコヒーレンスの検証がハードウェアで動的に行われる。マルチプロセッサ内の各処理装置は、ハードウェアコヒーレンス検査装置と、それぞれの処理装置間で状態遷移を伝達するための追加の検証バスとを具える。しかし、この種の方法によると、追加のバスが必要になり、それぞれの処理装置の構造はより複雑になる。さらに、検証用ハードウェアは、この種の検証用ハードウェアを実装するために、追加の検証と設計労力を必要とする。
非特許文献2には、分散署名解析を用いた他の検証方法が開示されている。この方法では、各コヒーレント処理装置は、その状態遷移の少なくとも一部を含む署名を動的に生成する。署名は中央に集められ、プロトコル違反、すなわちインバリアントの検証が実行される。しかし、この技術は、署名の分散のための専用のインフラを必要とし、ハードウェアの追加の複雑性をもたらすことになる。
Cantin他、「Dynamic Verification of Cache Coherence Protocol」、Workshops on Memory Performance Issues、 2001年6月 Sorin他、「Dynamic Verification of End-to-End Multiprocessor Invariants」、Proceedings of the International Conference on Dependable Systems and Networks、サンフランシスコ、2003年6月22-23日
それゆえ、本発明の目的は、種々の処理装置のキャッシュコヒーレンスに対する改良された監視機能を有するデータ処理システムおよび種々の処理装置のキャッシュコヒーレンスを監視する方法を提供することにある。
本発明の目的は、請求項1に係るデータ処理システムおよび、請求項9に係る種々の処理装置のキャッシュコヒーレンスを監視する方法により解決される。
従って、複数の処理装置と、前記処理装置からのデータを格納するための共有メモリと、そのメモリと複数の処理装置とを結合するための相互接続手段とを有するデータ処理システムが提供される。処理装置のうちの少なくとも1つは、キャッシュメモリを具えている。さらに、前記複数の処理装置のうちの1つ以上の処理装置のキャッシュメモリの状態遷移の少なくともいくつかを格納する遷移バッファが設けられる。さらに、いかなるキャッシュコヒーレンス違反も決定するために、遷移バッファのデータに基づいて前記複数の処理装置のキャッシュのキャッシュコヒーレンスを監視する監視手段が設けられる。
したがって、処理装置のいずれも、処理装置のキャッシュのキャッシュコヒーレンスを検証するために、状態遷移を追跡する必要はない。それに対して、状態遷移の追跡は監視手段により実行されるため、処理装置の設計は変えないままにでき、この設計は容易に拡張することができる。
本発明の一態様では、監視手段は、キャッシュコヒーレンスプロトコル違反が起こった場合、この種の違反を処理できるように、信号を送出するように構成される。
本発明のさらに他の態様では、監視手段は、決定されたキャッシュコヒーレンス違反の元となるバグの補修を実行時に開始する。すなわち、データ処理システムを停止させ再設計をすることを不要にする。
本発明の他の態様では、監視手段は、前記複数の処理装置のうちの1つに、ソフトウェアモニタとして実装する。従って、監視手段は、再プログラム可能で、フレキシブルである。
本発明のさらに他の態様では、状態遷移バッファは相互接続手段内に配置され、この場合、相互接続手段が遷移バッファを更新する。したがって、状態遷移に関する情報が相互接続手段から得られるので、処理装置からの追加信号は必要ない。
本発明のさらに他の態様では、監視手段は専用の処理装置上に実装され、遷移バッファは前記専用の処理装置内にメモリマップドI/Oレジスタとして実装される。
本発明のさらに他の態様では、バグまたはキャッシュコヒーレンス違反の検証は、遷移バッファおよび/または共有メモリに格納される状態遷移の履歴データに基づいて実行される。遷移バッファが限られたサイズしか有さないので、キャッシュコヒーレンス違反に関する解析を長期間にわたり実行できるように、状態遷移の履歴データは共有メモリに格納することもできる。
また、本発明は、処理装置の少なくともいくつかがキャッシュメモリを具え、相互接続手段を介して共有メモリに接続されている、データ処理システム内の複数の処理装置のキャッシュコヒーレンスを監視する方法に関するものでもある。前記処理装置のキャッシュメモリの状態遷移はバッファに格納され、前記複数の処理装置のキャッシュメモリのキャッシュコヒーレンスは状態遷移のバッファに格納されたデータに基づいて監視される。
本発明は、キャッシュコヒーレンスプロトコルの正確性を監視するという考えに基づいている。処理装置の状態遷移は遷移バッファに格納される。監視手段は、バッファに格納された状態遷移を監視し、あらゆる容認できない状態遷移を発見する。この種の容認できない状態遷移が発見された場合、監視手段はエラー通知を開始するか、発見されたバグの補修を開始することができる。
したがって、複雑な集積回路内の機能的なハードウェアバグさえ、集積回路の製造後でも解決することができる。これは、実行時にオンザフライで行われる。したがって、本発明は、従来技術と比較すると、非常にフレキシブルで包括的メカニズムである。この種の機構により、結果としてプロトコル違反になるハードウェア・キャッシュコヒーレンス論理の任意のバグを発見し、解決することが可能となる。
本発明のこれらおよびその他の態様は、以下に記載されている実施形態を参照して明瞭に説明さる。
図1は、第1の実施形態に係る、マルチプロセッサ環境の基本構成のブロック図である。図には複数の処理装置PU、相互接続手段IMおよびメモリMが示されている。さらに、監視手段MMおよび遷移バッファSTBも示されている。遷移バッファSTBは相互接続手段IMの位置に配置され、監視手段MMは相互接続手段IMに接続されている。処理装置PUのいくつかはキャッシュメモリCも具えている。この種のキャッシュメモリCはレベル1キャッシュとすることができ、ハードウェア管理オンチップメモリを構成し、長いメモリレイテンシを隠蔽し、外部DRAMの帯域幅を節約する。多数のキャッシュがIC内に存在する場合、キャッシュは正しいデータを処理装置に送信するために同期しなければならない。
キャッシュ状態遷移は、相互接続トランザクションから得られる。遷移バッファSTBは、処理装置PUのキャッシュの状態遷移を取り込む働きをする。キャッシュコヒーレンスプロトコルは、処理装置PUの正しい処理を確認するために実装される。監視手段MMは、キャッシュコヒーレンスプロトコルにおけるあらゆる違反を発見するために、遷移バッファSTBにアクセスして状態遷移を調べる。監視手段MMが、キャッシュコヒーレンスプロトコル違反を発見すると、このエラーを信号するか、あるいは、潜在的バグの補修を開始することができる。
監視手段MMは、プログラム可能な処理装置にソフトウェアモニタとして実装できる。代案として、監視手段は、専用の処理装置PUとして実装することもできる。
第1の実施形態に係る遷移バッファSTBは、相互接続手段の近傍に配置される。遷移バッファSTBは、処理装置PUに対する1つのライトポートと、監視手段MMに対する1つのリードポートとを有するFIFOとして実装することができる。
図2は、第2の実施形態に係る、マルチプロセッサ環境の基本構成のブロック図である。図には複数の処理装置PU、相互接続手段IMおよびメモリMが示されている。さらに、遷移バッファSTBを有する監視手段MMも示されている。したがって、第1実施形態と異なり、監視手段MMおよび遷移バッファSTBの両方が1台の装置内に実装される。遷移バッファSTBは、メモリマップドI/OレジスタMMIOとして実装することが好ましい。第1の実施形態のように、相互接続手段IMは、キャッシュコヒーレント処理装置の状態遷移を自動的に更新する。
第1あるいは第2の実施形態に従う監視手段MMは、キャッシュコヒーレンスプロトコル違反を検出するように構成される。変更状態(Modified)、共有状態(Shared)、無効状態(Invalid)を有するMSIプロトコルに対しては、キャッシュコヒーレンスプロトコル違反が変更状態の多数のキャッシュ・ラインから生じ得る。また、変更されたキャッシュ・ラインが処理装置(PU)の他のキャッシュ(C)に共有状態で存在し得る。キャッシュコヒーレンスプロトコルの詳細については、John L. HennessyおよびDavid Pattersonによる「Computer Architecture」(3rd edition, Else Vier Science, 2003、 Chapter 6.3 - 6.4.)を参照されたい。したがって、遷移バッファSTBを用いて、キャッシュコヒーレント処理装置の識別番号と、変更から共有、共有から無効等のような遷移識別番号と、処理装置のアドレスとを記録または格納することができる。
監視手段MMは、あらゆるキャッシュコヒーレンスプロトコル違反を見つけるために、状態遷移の履歴を調べる。また、監視手段MMは、長期間のキャッシュコヒーレンス違反を検出できるように、長期間の状態遷移の履歴データを形成するために、遷移バッファSTBにだけでなく共有メモリMにも状態遷移を格納する。その後、監視手段MMは、メモリMおよび遷移バッファSTBに格納された状態遷移の全履歴を調べ、違反を検出する。
マルチプロセッサがキャッシュコヒーレンスプロトコルに関連する場合、上述した方法はキャッシュコヒーレントマルチプロセッサに特に有効である。プロトコルは、通常単純で、単に少数のインバリアントを有するだけである。
図3は、第3の実施形態に係る、マルチプロセッサ環境の基本構成のブロック図である。処理装置PU、相互接続手段IM、メモリMおよび監視手段MMに加えて、バウンダリスキャン手段BSMおよびデバッグ手段DMを設ける。
第1あるいは第2の実施形態に基づくものとし得る第3の実施形態においては、バグ、すなわち、監視手段MMで決定されるキャッシュコヒーレンス違反は、オンザフライで、すなわち、それらの発見直後に、補修される。ハードウェアデバッグ手段が、(おそらく監視手段MMを用いて)ハードウェアバグを発見する。次に、監視手段によるハードウェアバグの検出時に実行される補修でモニタが更新される。言い換えると、デバッグは実行時に実行される。発見されたバグの位置を決定するために、スキャンチェーンまたはバウンダリスキャンがバウンダリスキャン手段BCMにより実行される。バウンダリスキャンは、IEEE 1149.1標準規格に記載されている。一般的に、マルチプロセッサ環境を有するチップは、ジョイント・テスト・アクション・グループJTAGインターフェイスを具える。通常動作中、バウンダリセルは働かず、データがマルチプロセッシング環境内を伝播するのを可能にする。しかし、テストモード中、全入力信号は分析のために取り込まれ、全出力信号はリセットされ、ポートTAP(テストアクセスポート)コントローラおよび命令レジスタで制御されるスキャンセルの動作をテストする。次に、デバッグ手段DMを用いて、検出されたキャッシュコヒーレンス違反または検出されたバグに関連するバウンダリチェーン内の不良部分を修正する。
従って、複数の処理装置、共有メモリ、および複数の処理装置と共有メモリとを結合するための相互接続手段を具えるデータ処理システムに、バウンダリスキャン装置がバウンダリスキャンを実行するために設けられる。さらに、データ処理システムの論理バグを訂正するために、デバッグ手段がバウンダリスキャンの一部を修正するように設けられる。
この種のシステムの利点は、システムが拡張可能であることにあり、非常に多くの処理装置に対しても、使用する面積と電力は少ないことにある。追加のバスは必要なく、ソフトウェア監視のために解決策をフレキシブルに容易に変更できる。
遷移バッファに状態遷移を格納する代わりに、あるいは、これに加えて、状態遷移の少なくとも一部をキャッシュメモリCに格納できる。
上述の実施形態は処理装置に配置されるキャッシュ、すなわちレベル1キャッシュのキャッシュコヒーレンスプロトコルに関して記載してきたが、本発明の基本原則は、レベル2キャッシュまたはレベル3キャッシュにも適用可能である。また、キャッシュコヒーレンス違反を決定するために、キャッシュコヒーレンスプロトコルに含まれるキャッシュの状態遷移を格納するための遷移バッファおよび格納された状態遷移を監視するための監視手段を用いてもよい。
上述の実施例は例示であり、本発明を限定するものではなく、当業者は添付の特許請求の範囲の範囲を逸脱することなく多くの代替実施例を設計可能であるということに留意する必要がある。「具えている」という単語は、請求項で述べていない要素またはステップの存在を除外するものではない。単数形で述べる要素は複数の要素を除外するものではない。いくつかの手段を列挙している装置請求項において、これらの手段のいくつかは、ハードウェアの同一の要素によって具現化できる。特定の手段が相互に異なる従属請求項に引用されているが、このことは、これらの手段の組合せが有利に使用できないことを示すものではない。
第1の実施形態に係る、マルチプロセッサ環境の基本構成のブロック図である。 第2の実施形態に係る、マルチプロセッサ環境の基本構成のブロック図である。 第3の実施形態に係る、マルチプロセッサ環境の基本構成のブロック図である。

Claims (13)

  1. データ処理システムであって、
    複数の処理装置の少なくとも1つがキャッシュメモリを具える、複数の処理装置と、
    前記複数の処理装置からのデータを格納するための共有メモリと、
    前記共有メモリと前記複数の処理装置とを結合するための相互接続手段と、
    前記複数の処理装置の少なくとも1つのキャッシュメモリの状態遷移を格納するための遷移バッファと、
    キャッシュコヒーレンス違反を決定するために、前記遷移バッファに格納される状態遷移に基づいて、前記複数の処理装置の前記少なくとも1つのキャッシュメモリのキャッシュコヒーレンスを監視するための監視手段と、
    を具えることを特徴とするデータ処理システム。
  2. 前記監視手段が、キャッシュコヒーレンス違反が決定された場合、通知信号を送出するように構成されていることを特徴とする請求項1に記載のデータ処理システム。
  3. 前記監視手段が、決定されたキャッシュコヒーレンス違反を実行時に補修するように構成されていることを特徴とする請求項1に記載のデータ処理システム。
  4. 請求項3に記載のデータ処理システムであって、
    データ処理システムの内部レジスタでバウンダリスキャンを実行するためのバウンダリスキャン手段と、
    バウンダリチェーンの不良部分を修正するためのデバッグ手段と、
    をさらに具えることを特徴とするデータ処理システム。
  5. 前記監視手段が、プログラム可能な処理装置にソフトウェアで実装されることを特徴とする請求項1〜3のいずれかに記載のデータ処理システム。
  6. 前記遷移バッファが前記相互接続手段に配置され、前記相互接続手段が前記遷移バッファを更新することを特徴とする請求項5に記載のデータ処理システム。
  7. 前記監視手段が、プログラム可能な処理装置に実装され、前記遷移バッファが、メモリマップドI/Oレジスタとして監視手段内に配置されることを特徴とする請求項1〜3のいずれかに記載のデータ処理システム。
  8. 前記状態遷移が前記共有メモリにも格納され、前記監視手段が、前記遷移バッファおよび/または前記共有メモリに格納される前記状態遷移の履歴データに基づいて、キャッシュコヒーレンスプロトコル違反を検証するように構成されていることを特徴とする請求項3、5または7に記載のデータ処理システム。
  9. 複数の処理装置が相互接続手段を経て共有メモリに接続され、複数の処理装置の少なくとも1つがキャッシュメモリを具えるデータ処理システム内の複数の処理装置のキャッシュコヒーレンスを監視する方法であって、
    前記複数の処理装置の少なくとも1つのキャッシュメモリの状態遷移をバッファに格納するステップと、
    キャッシュコヒーレンス違反を決定するために、バッファに格納された状態遷移に基づいて、前記複数の処理装置の前記少なくとも1つのキャッシュメモリのキャッシュコヒーレンスを監視するステップと、
    を具えることを特徴とする監視方法。
  10. 前記少なくとも1つのキャッシュメモリのキャッシュコヒーレンスが、前記状態遷移の履歴データに基づいて監視されることを特徴とする請求項9に記載の方法。
  11. 状態遷移が、前記少なくとも1つのキャッシュメモリまたは遷移バッファに格納されることを特徴とする請求項9または10に記載の方法。
  12. データ処理システムであって、
    複数の処理装置と、
    前記複数の処理装置からのデータを格納するための共有メモリと、
    前記共有メモリと前記複数の処理装置とを結合するための相互接続手段と、
    前記データ処理システムの内部でバウンダリスキャンを実行するためのバウンダリスキャン手段と、
    バウンダリチェーンの不良部分を実行時に修正するためのデバッグ手段と、
    を具えることを特徴とするデータ処理システム。
  13. 前記複数の処理装置の少なくとも1つのキャッシュの状態遷移を格納するための遷移バッファと、
    キャッシュコヒーレンス違反を決定するために、前記遷移バッファに格納された前記状態遷移に基づいて、前記複数の処理装置の前記少なくとも1つのキャッシュのキャッシュコヒーレンスを監視するための監視手段と、
    をさらに具えることを特徴とする請求項11に記載のデータ処理システム。
JP2007536341A 2004-10-19 2005-10-17 データ処理システムと処理装置のキャッシュコヒーレンスを監視する方法 Withdrawn JP2008517370A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP04105142 2004-10-19
PCT/IB2005/053395 WO2006043227A1 (en) 2004-10-19 2005-10-17 Data processing system and method for monitoring the cache coherence of processing units

Publications (1)

Publication Number Publication Date
JP2008517370A true JP2008517370A (ja) 2008-05-22

Family

ID=35511001

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007536341A Withdrawn JP2008517370A (ja) 2004-10-19 2005-10-17 データ処理システムと処理装置のキャッシュコヒーレンスを監視する方法

Country Status (5)

Country Link
US (1) US20090063780A1 (ja)
EP (1) EP1817670A1 (ja)
JP (1) JP2008517370A (ja)
CN (1) CN101044461A (ja)
WO (1) WO2006043227A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8347274B2 (en) 2009-01-08 2013-01-01 Kabushiki Kaisha Toshiba Debugging support device, debugging support method, and program thereof

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5100176B2 (ja) * 2007-03-29 2012-12-19 株式会社東芝 マルチプロセッサシステム
US8000337B2 (en) * 2009-03-27 2011-08-16 Cisco Technology, Inc. Runtime flow debugging a network device by examining packet counters at internal points
US8250331B2 (en) 2009-06-26 2012-08-21 Microsoft Corporation Operating system virtual memory management for hardware transactional memory
US8489864B2 (en) * 2009-06-26 2013-07-16 Microsoft Corporation Performing escape actions in transactions
US8356166B2 (en) * 2009-06-26 2013-01-15 Microsoft Corporation Minimizing code duplication in an unbounded transactional memory system by using mode agnostic transactional read and write barriers
US8370577B2 (en) 2009-06-26 2013-02-05 Microsoft Corporation Metaphysically addressed cache metadata
US8161247B2 (en) 2009-06-26 2012-04-17 Microsoft Corporation Wait loss synchronization
US8812796B2 (en) 2009-06-26 2014-08-19 Microsoft Corporation Private memory regions and coherence optimizations
US8229907B2 (en) * 2009-06-30 2012-07-24 Microsoft Corporation Hardware accelerated transactional memory system with open nested transactions
US9092253B2 (en) * 2009-12-15 2015-07-28 Microsoft Technology Licensing, Llc Instrumentation of hardware assisted transactional memory system
US8533440B2 (en) * 2009-12-15 2013-09-10 Microsoft Corporation Accelerating parallel transactions using cache resident transactions
US8539465B2 (en) 2009-12-15 2013-09-17 Microsoft Corporation Accelerating unbounded memory transactions using nested cache resident transactions
US8402218B2 (en) * 2009-12-15 2013-03-19 Microsoft Corporation Efficient garbage collection and exception handling in a hardware accelerated transactional memory system
US9575816B2 (en) * 2012-03-29 2017-02-21 Via Technologies, Inc. Deadlock/livelock resolution using service processor
US9183147B2 (en) * 2012-08-20 2015-11-10 Apple Inc. Programmable resources to track multiple buses
WO2017142547A1 (en) * 2016-02-19 2017-08-24 Hewlett Packard Enterprise Development Lp Simulator based detection of a violation of a coherency protocol in an incoherent shared memory system
US11360906B2 (en) 2020-08-14 2022-06-14 Alibaba Group Holding Limited Inter-device processing system with cache coherency

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US602646A (en) * 1898-04-19 Officex
US540650A (en) * 1895-06-11 Apparatus for burning oil
US5406504A (en) * 1993-06-30 1995-04-11 Digital Equipment Multiprocessor cache examiner and coherency checker
US5630048A (en) * 1994-05-19 1997-05-13 La Joie; Leslie T. Diagnostic system for run-time monitoring of computer operations
US5887146A (en) * 1995-08-14 1999-03-23 Data General Corporation Symmetric multiprocessing computer with non-uniform memory access architecture
US6256712B1 (en) * 1997-08-01 2001-07-03 International Business Machines Corporation Scaleable method for maintaining and making consistent updates to caches
US6115795A (en) * 1997-08-06 2000-09-05 International Business Machines Corporation Method and apparatus for configurable multiple level cache with coherency in a multiprocessor system
US6754881B2 (en) * 2001-12-10 2004-06-22 International Business Machines Corporation Field programmable network processor and method for customizing a network processor
US6928606B2 (en) * 2001-12-20 2005-08-09 Hyperchip Inc Fault tolerant scan chain for a parallel processing system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8347274B2 (en) 2009-01-08 2013-01-01 Kabushiki Kaisha Toshiba Debugging support device, debugging support method, and program thereof

Also Published As

Publication number Publication date
EP1817670A1 (en) 2007-08-15
CN101044461A (zh) 2007-09-26
US20090063780A1 (en) 2009-03-05
WO2006043227A1 (en) 2006-04-27

Similar Documents

Publication Publication Date Title
JP2008517370A (ja) データ処理システムと処理装置のキャッシュコヒーレンスを監視する方法
US10198333B2 (en) Test, validation, and debug architecture
US6629268B1 (en) Method and apparatus for servicing a processing system through a test port
US5996034A (en) Bus bridge verification system including device independent bus monitors
US20080010621A1 (en) System and Method for Stopping Functional Macro Clocks to Aid in Debugging
US7624312B2 (en) System, apparatus, computer program product for performing operational validation with limited CPU use of a communications network
US9342393B2 (en) Early fabric error forwarding
US5930482A (en) Transaction checking system for verifying bus bridges in multi-master bus systems
US20080028266A1 (en) Method to prevent firmware defects from disturbing logic clocks to improve system reliability
CN111078492A (zh) 一种SoC内部总线的状态监控系统及方法
US5938777A (en) Cycle list based bus cycle resolution checking in a bus bridge verification system
US7571357B2 (en) Memory wrap test mode using functional read/write buffers
US20070226418A1 (en) Processor and method for controlling processor
US7519865B1 (en) Systems and methods for identifying incomplete transactions
US20120324321A1 (en) Co-hosted cyclical redundancy check calculation
US10042692B1 (en) Circuit arrangement with transaction timeout detection
US6587963B1 (en) Method for performing hierarchical hang detection in a computer system
JP2014241172A (ja) 半導体装置
US11105854B2 (en) System, apparatus and method for inter-die functional testing of an integrated circuit
US20060179380A1 (en) On-chip electronic hardware debug support units having execution halting capabilities
Larsson et al. A distributed architecture to check global properties for post-silicon debug
US5958035A (en) State machine based bus cycle completion checking in a bus bridge verification system
US5963722A (en) Byte granularity data checking in a bus bridge verification system
JP5440673B1 (ja) プログラマブルロジックデバイス、情報処理装置、被疑箇所指摘方法およびプログラム
US5941971A (en) Bus bridge transaction checker for correct resolution of combined data cycles

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080425

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081014

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20090916