JP2012523616A - マルチプロセッサデータ処理システムにおけるデバッグシグナリング - Google Patents

マルチプロセッサデータ処理システムにおけるデバッグシグナリング Download PDF

Info

Publication number
JP2012523616A
JP2012523616A JP2012504697A JP2012504697A JP2012523616A JP 2012523616 A JP2012523616 A JP 2012523616A JP 2012504697 A JP2012504697 A JP 2012504697A JP 2012504697 A JP2012504697 A JP 2012504697A JP 2012523616 A JP2012523616 A JP 2012523616A
Authority
JP
Japan
Prior art keywords
debug
processor
synchronized
clock
mode
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012504697A
Other languages
English (en)
Other versions
JP5459807B2 (ja
JP2012523616A5 (ja
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.)
NXP USA Inc
Original Assignee
NXP USA Inc
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 NXP USA Inc filed Critical NXP USA Inc
Publication of JP2012523616A publication Critical patent/JP2012523616A/ja
Publication of JP2012523616A5 publication Critical patent/JP2012523616A5/ja
Application granted granted Critical
Publication of JP5459807B2 publication Critical patent/JP5459807B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1679Temporal synchronisation or re-synchronisation of redundant processing components at clock signal level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3632Software debugging of specific synchronisation aspects
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1695Error detection or correction of the data by redundancy in hardware which are operating with time diversity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

システムが、第1のプロセッサ12、第2のプロセッサ14、第1のプロセッサに接続された第1のクロック54、第1のプロセッサおよび第2のプロセッサに接続された第3のクロック56を含む。第1のプロセッサが、第3のクロックを受けるために接続されたデバッグ回路68、第1のクロックを受けるために接続された同期化回路を含み、ここで、同期化回路がデバッグモードに入るための第1の要求を受信し、第1の同期化デバッグ開始要求信号51または25を与え、そして、第1の同期化デバッグ開始要求信号は第1のクロックに対して同期化された。第1のプロセッサが、第2のプロセッサから第2の同期化デバッグ開始要求信号27を受信するための入力をさらに含み、ここで、第1のプロセッサが、第1の同期化デバッグ開始要求及び第2の同期化デバッグ開始要求信号が両方アサートされたまでにデバッグモードに入るために待機する。

Description

本発明は、一般にデータ処理に関し、より詳細には、マルチプロセッサデータ処理システムにおけるデバッグシグナリングに関する。
集積回路データ処理システムの幾つかの用途では、平均的な信頼性のレベルよりも高い信頼性が要求される。例えば、フライ・バイ・ワイヤ、アンチロックブレーキ、自動車エアバッグのシステムや、故障によって事故が発生し得るシステムは、高信頼性の動作を要求するシステムの例である。
信頼性を改善する多くの方法が存在する。例えば、メモリでは、第1の部品の故障時に引き継ぎを行う冗長的な部品を追加することによって、信頼性が改善される。マルチプロセッサシステムでは、「ロックステップ」(lockstep)方式で複数のプロセッサを作動させることによって、より優れた信頼性が達成される。2つ以上のプロセッサがロックステップ方式で作動するとき、各プロセッサは同時にまたは互いの所定スキュー以内(すなわち、互いの所定のクロック数以内)で同じ命令ストリームを実行する。しかしながら、そのようなマルチプロセッサシステムのデバッグ時には問題が生じる。例えば、1つのプロセッサの動作はデバッグ開始および終了命令の続く同期とは異なる場合があるので、マルチプロセッサシステム内の1つ以上のプロセッサのプロセッサクロック領域に対するデバッグポートの非同期性によって、ロックステップに残る問題が生じる。すなわち、マルチプロセッサシステム内の別のプロセッサは、デバッグ開始および終了命令を同じクロックサイクルにおいて同期できない場合があり、そのため、デバッグモードへの出入りを認識するのに遅延が生じて、ロックステップの損失を生じる。
一実施形態によるマルチプロセッサシステムのブロック図。 一実施形態による図1のマルチプロセッサシステム内のプロセッサのデバッグ制御の一部のブロック図。 一実施形態による図2のデバッグ制御のデバッグ命令レジスタの図。 一実施形態による図3のデバッグ命令レジスタの様々なフィールドを表形式で示す図。 一実施形態による図2のデバッグ制御のデバッグ制御レジスタの図。 一実施形態による図5のデバッグ制御レジスタのフィールドを表形式で示す図。 非ロックステップモードによるデバッグ開始シグナリングの一例における図1または図2の様々な信号のタイミング図。 ロックステップモードによるデバッグ開始シグナリングの一例における図1または図2の様々な信号のタイミング図。 ロックステップモードによるデバッグ開始シグナリングの別例における図1または図2の様々な信号のタイミング図。 非ロックステップモードによるデバッグ終了シグナリングの一例における図1または図2の様々な信号のタイミング図。 ロックステップモードによるデバッグ終了シグナリングの一例における図1または図2の様々な信号のタイミング図。 ロックステップモードによるデバッグ終了シグナリングの別例における図1または図2の様々な信号のタイミング図。
本発明は例示の方法により説明されており、添付の図面により限定されるものではなく、図面において、同様の参照符号は類似の要素を示す。図中の要素は簡潔かつ明確に説明されており、必ずしも寸法通りに描かれていない。
一般に、複数のプロセッサ、コア、または中央処理ユニット(CPU)が、ロックステップ方式によってなど同期される方式により動作する、マルチプロセッサデータ処理システムが提供される。しかしながら、デバッグモードへの出入りなどデバッグ動作の非同期性のため、ロックステップが失われることがある。例えば、一対のプロセッサをロックステップ方式により作動させるとき、同期されていない入力がプロセッサのクロックに対して同期されることを保証するため、各プロセッサにおいて同期化回路が使用される。しかしながら、このような同期化回路内に生じ得る準安定性のため、その2つのプロセッサの各々における同期化回路の同期された出力は、実際には異なることがあり、プロセッサクロックに対して非同期的に動作するデバッグ制御インタフェースを用いてデバッグ動作を実行する場合、ロックステップ動作が失われる。この場合、デバッガは、ロックステップの喪失を考慮して、再同期を試みる必要がある。したがって、一実施形態では、プロセッサ間でのデバッグモードの出入りを協調させるために、ロックステップデバッグインタフェースなどクロスシグナリングインタフェースが用いられる(例えば、両方のプロセッサが同時にまたは互いの所定のクロックサイクル数以内でデバッグモードに出入りすることが保証される)。一実施形態では、このクロスシグナリングによって、1つのプロセッサにおけるデバッグの開始および終了を別のプロセッサが同じ要求を認識するまで条件付で遅延させることによって、プロセッサがロックステップ方式に維持されることを保証する。また、一実施形態では、プロセッサが実際にロックステップモードにより動作しているか否かに基づき、条件付で、このクロスシグナリングインタフェースが用いられる。
本明細書において使用されるものとして、用語「バス」は、1以上の各種の情報、例えばデータ、アドレス、制御又は状態を送信するために使用される複数の信号又は導体を参照するものとして使用される。本明細書において説明される導体は、単一の導体、複数の導体、単方向の導体、又は双方句の導体として参照して図示又は説明される。しかしながら、異なる実施形態は導体の実施を変更してもよい。例えば、別々の単方向の導体が双方向の導体に代えて使用されてもよく、反対に、双方向の導体が別々の単方向の導体に代えて使用されてもよい。また、複数の信号を連続的に送信したり、時間多重化して送信したりする単一の導体によって、複数の導体が置換されてもよい。同様に、複数の信号を搬送する単一の導体が、それらの信号の一部分を搬送する様々な異なる導体に分割されてもよい。従って、信号を送信するための多くの選択肢が存在する。
「アサート」または「セット」及び「ネゲート」(または「ディアサート」もしくは「クリア」)という語は、本明細書において、それぞれ、信号、状態ビット、または同様の装置を論理的に真または論理的に偽の状態にすることを指して用いられる。論理的に真の状態が論理レベル1である場合、論理的に偽の状態は論理レベルゼロ(0)である。また、論理的に真の状態が論理レベルゼロの場合、論理的に偽の状態は論理レベル1である。
本明細書に記載の各信号は正論理または負論理として設計され得る。ここで、負論理は、信号名の上の棒(バー)か、信号名に続く文字「B」で示される。負論理信号の場合、信号はアクティブローであり、論理的に真の状態は論理レベル0に相当する。正論理信号の場合、信号はアクティブハイであり、論理的に真の状態は論理レベル1に相当する。本明細書に記載の任意の信号は、負論理または正論理の信号として設計され得る。従って、代替の実施形態では、正論理信号として記載される信号が負論理信号として実装されてもよく、負論理信号として記載される信号が正論理信号として実装されてもよい。
図1には、一実施形態によるデータ処理システム10の簡略化したブロック図を示す。システム10は、プロセッサ12、プロセッサ14、他のモジュール22、システム相互接続部24、およびデバッグインタフェース20を含む。プロセッサ12は、デバッグ制御16、ロックステップモードイネーブル32、プログラムカウンタ15、プロセッサ制御論理38を含む。ロックステップモードイネーブル32、プログラムカウンタ15、およびプロセッサ制御論理38の各々は、デバッグ制御16に接続される。ロックステップモードイネーブル32はロックステップモードインジケータ42をデバッグ制御16に与え、プロセッサ制御論理38が信号40を介してデバッグ制御16と通信する。プロセッサ14は、デバッグ制御18、ロックステップモードイネーブル34、プログラムカウンタ17、およびプロセッサ制御論理39を備える。ロックステップモードイネーブル34、プログラムカウンタ17、およびプロセッサ制御論理39の各々は、デバッグ制御18に接続される。ロックステップモードイネーブル34はロックステップモードインジケータ36をデバッグ制御18に与え、プロセッサ制御論理39が信号41を介してデバッグ制御18と通信する。図示された実施形態では、プロセッサ12,14は実質的に同一であり、例えば、汎用プロセッサ、デジタル信号プロセッサ(DSP)等、任意の種類のプロセッサであってよい。他の実施形態では、プロセッサ12,14は異なってもよい。例えば、プロセッサ12は汎用プロセッサであり、プロセッサ14はDSPであってもよい。また、2つのプロセッサしか示していないが、本明細書に記載の実施形態が2つ以上のプロセッサを有するシステムにも適用され得ることが当業者には理解される。加えて、他の実施形態では、プロセッサ12,14は図示したものとは異なる論理ブロックを備えてもよく、図1に示されていない追加の論理ブロックが存在してもよい。例えば、プロセッサ12,14の各々は、1つ以上の実行ユニット、命令フェッチユニット、命令デコードユニット、バスインタフェースユニット等を備えてよい。したがって、処理制御論理38,39は、それぞれのプロセッサ12,14の動作を制御することが可能である。プロセッサ12,14の動作は既知であるので、本発明の実施形態を説明するために必要と考えられる範囲を超える説明は行わない。
プロセッサ12,14および他のモジュール22(存在する場合)は、システム相互接続部24に双方向的に接続される。なお、図1に示されていない、システム相互接続部24に接続された追加の機能ブロックが存在してもよい。一実施形態では、システム相互接続部24は、システムの各ブロックに接続された複数の導体を含むバスとして具体化されてもよい。別の実施形態では、システム相互接続部24は、システムブロック間における同時通信を可能とする従来の「クロスバー」型バスであってもよい。別の実施形態では、システム相互接続部24は、AHB(Advanced High−performance Bus)であってよい。AHBは、ARM社(ARM Ltd Company)によって公開されたAMBA仕様第2版において紹介されているバスプロトコルである。さらに別の実施形態では、システム相互接続部24は、別のタイプのシステム相互接続システムであってよい。
システム10は、プロセッサ12におけるデバッグ制御16とプロセッサ14におけるデバッグ制御18との間のロックステップデバッグインタフェース30を含む。一実施形態では、ロックステップデバッグインタフェース30は、次の信号、すなわち、同期化デバッグ開始要求25(デバッグ制御16からデバッグ制御18に与えられる)、同期化デバッグ終了命令26(デバッグ制御16からデバッグ制御18に与えられる)、同期化デバッグ開始要求27(デバッグ制御18からデバッグ制御16に与えられる)、および同期化デバッグ終了命令28(デバッグ制御18からデバッグ制御16に与えられる)を含む。なお、デバッグ制御16と18との間に追加の信号が存在してもよい。デバッグインタフェース20は、デバッグ制御16,18と外部デバッガ(図示せず)との間のインタフェースを行う。例えば、一実施形態では、デバッグインタフェース20はJTAGポートまたはその一部であってよい。デバッグインタフェース20は、外部デバッガとシステム10のそれぞれのプロセッサに配置されたデバッグ制御との間において、デバッグの命令および結果の通信を行うことができる。
動作時には、プロセッサ12,14は、同じプロセッサクロック、すなわち、PCLK54(図1には示さず)を用いて動作し、互いにロックステップ方式により動作可能である。一実施形態では、プロセッサ12,14の各々におけるロックステップモードイネーブルは、ロックステップモードをイネーブルするようにアサートされることが可能である。一実施形態では、ロックステップモードは、システム10内においてプロセッサ12,14の内部または外部にある回路(図示せず)によって与えられたシステム信号に応答してイネーブルされる。代替の実施形態では、プロセッサ12,14が常にロックステップモードにより動作してもよい。プロセッサ12,14がロックステップ方式により作動する場合、各プロセッサは、同時にまたは互いの所定のスキュー以内(すなわち、互いの所定のクロック数以内)で同じ命令ストリームを実行する。例えば、一実施形態では、ロックステップ方式により作動する場合、プロセッサ14における同じ命令の実行は、プロセッサ12における同じ命令の実行に比較して、PCLKについて10サイクル未満だけスキューされる。また、プロセッサ12,14がロックステップモード方式により作動する場合(デバッグモードにおいても)、各プロセッサは、その対応するプログラムカウンタ(それぞれプログラムカウンタ15およびプログラムカウンタ17)を同時に更新する。
ロックステップ方式により作動する場合、デバッグ命令は、デバッグインタフェース20を介して外部デバッガからデバッグ制御16,18へ与えられることが可能である。そのデバッグ命令に応答して、プロセッサ12及びプロセッサ14の各々はデバッグモードに入ることができる。しかしながら、ロックステップ方式による作動を維持するために、プロセッサ12およびプロセッサ14は、同時にまたは互いの所定のクロック数以内にデバッグモードに入る必要がある。幾つかの実施形態では、デバッグインタフェース20は、TCLK56などクロックを用いて動作する。このクロックは、プロセッサ12,14によって用いられるクロックに対して同期されておらず、また異なる周波数でもよく、一実施形態では十分に低い周波数である。したがって、一実施形態では、デバッグモードに入ることが必要なとき、各プロセッサは、自身がデバッグ命令を認識し、デバッグモードに入る準備が済むとともに、他方のプロセッサが同じデバッグ命令を認識し、やはりデバッグモードに入る準備が済むまで待機する。したがって、一実施形態では、1つのプロセッサがデバッグモードに入る準備が済むとき、そのプロセッサのデバッグ制御が同期化デバッグ開始要求信号をアサートするので、そのプロセッサがデバッグモードに入る準備が済むときを他方のプロセッサが認識できる。このようにして、プロセッサは、他方のプロセッサがデバッグモードに入る準備が済むまで、デバッグに入るのを待機する。同様な説明が、デバッグモードから出ることに適用される。ここで、プロセッサがデバッグモードから出るとき、そのプロセッサのデバッグ制御が同期化デバッグ終了命令信号をアサートするので、そのプロセッサがデバッグモードから出る準備が済むときを他方のプロセッサが認識できる。動作のさらなる詳細について、図2〜12を参照して記載する。
図2には、デバッグ制御16の一部をブロック図により示す。デバッグ制御16は、制御回路43、同期化回路48、デバッグ制御レジスタ44、およびデバッグ命令レジスタ46を備える。制御回路43は、ロックステップモードインジケータ42、プログラムカウンタ15、PCLK54、プロセッサ14からの同期化デバッグ開始要求27、プロセッサ14からの同期化デバッグ終了命令28、および同期化回路48からの同期化された出力52を受信する。なお、同期化出力52は、同期化されたDR51および同期化GO53を含むことができる。また、制御回路43は、信号40を介してプロセッサ制御論理38と通信する。同期化回路48はPCLK54を受信し、同期化された出力52を制御回路43に与える。デバッグ制御レジスタ44およびデバッグ命令レジスタ46は、デバッグインタフェース20と通信し、同期化回路48に非同期入力50を与える。デバッグ回路58は、デバッグ制御レジスタ44およびデバッグ命令レジスタ46を備え、テストクロック(TCLK)56を受信する。したがって、デバッグ回路58が、PCLK54に対して同期されていなくてよいTCLK56にしたがって動作することが留意される。したがって、非同期入力50はPCLK54に対して同期されていなくてもよい。しかしながら、これに代えて、TCLK56がPCLK54に対して同期されていてよい。また、デバッグインタフェース20から入って来る入力は、PCLK54に同期されていなくてもよい。したがって、デバッグ回路(例えば、デバッグ回路58)の第1の部分は第1のクロック(例えば、TCLK56)を用いて動作する一方、デバッグ回路の第2の部分(例えば、同期化回路48および制御回路43)は第1のクロックに対して同期されていない第2のクロック(例えば、PCLK54)を用いて動作することが可能である。図2の動作については、図3〜6を参照してデバッグ制御レジスタ44およびデバッグ命令レジスタ46について説明した後、より詳しく記載する。
図3には、本発明の一実施形態によるデバッグ命令レジスタ46を示す。デバッグ命令レジスタ46は、読取/書込命令ビットを格納するためのR/Wフィールド60、入命令ビットを格納するためのGOフィールド62、出命令ビットを格納するためのEXフィールド64、およびレジスタ選択インジケータを格納するためのRSフィールド66を含む。図4には、デバッグ命令レジスタ46における各フィールドの動作について記載する表を示す。読取/書込命令ビットによって、データ転送の方向が指定される。例えば、R/W60が論理レベル0にクリアされるとき、命令に関連したデータはRS66によって指定されるレジスタに書き込まれ、論理レベル1に設定されるとき、RS66によって指定されるレジスタに格納されているデータが読み取られる。GO62が論理レベル0にクリアされるとき、動作は実行されない。GO62が論理レベル1に設定されるとき、(プロセッサ12内の)命令レジスタ(IR)における命令が実行される。この命令を実行するために、プロセッサ12はデバッグモードから抜け、命令を実行する。EX64が論理レベル0にクリアされるとき、プロセッサ12は、命令の実行直後、デバッグモードに戻る。プロセッサ12は、EX64が論理レベル1に設定されるとき、通常の動作を継続し、他のデバッグ要求源はアサートされない。したがって、EX64が論理レベル1に設定されるとき、プロセッサ12はデバッグモードを抜けて、別のデバッグ要求が生成されるまで通常動作を再開する。
図5には、本発明の一実施形態によるデバッグ制御レジスタ44を示す。デバッグ制御レジスタ44は、デバッグ要求制御ビットを格納するためのDRフィールド70を備える。図6には、DR70の動作を説明する表を示す。DR70は、無条件にプロセッサ12にデバッグモードに入ることを要求するために用いられる。したがって、DR70が論理レベル0にクリアされるとき、デバッグモード要求は行われず、論理レベル1に設定されるとき、プロセッサ12は次の命令境界においてデバッグモードに入る。
なお、デバッグ命令レジスタ46およびデバッグ制御レジスタ44は、任意の数のフィールドを各々有する1つ以上のレジスタを用いて実装されてよく、各フィールドは任意の数のビットを有し、任意に編成されてよい。
従って、戻って図2を参照すると、例えば、外部デバッガからの命令に応答して、デバッグモードに出入りするための要求を生成するために、デバッグインタフェース20がレジスタ44,46のフィールドを設定またはクリアしてよい。デバッグ回路58はTCLK56にしたがって動作するので、レジスタ44,46のフィールドは、デバッグインタフェース20からの命令に応答して、TCLK56にしたがって更新される(例えば、TCLKの立ち上がりまたは立ち下がり縁に応答して)。同期化回路48は、レジスタ44,46から非同期入力50を受信する。例えば、DR70またはGO62が設定またはクリアされるとき、それらの入力は同期化回路48によって入力として受信される。これらのビットはTCLK56に同期して設定またはクリアされるので、PCLK54に対して同期されていなくてもよい。同期化回路48は、PCLK54に従って動作し、DR70およびGO62をPCLK54に同期させて、DR70の同期化されたバージョン、すなわち、同期化されたDR51と、GO62の同期化されたバージョン、すなわち、同期化GO53とを生成し、それらは各々PCLK54に対し同期化される。したがって、同期化回路48は、制御回路43に対し対応する同期された出力52(ここで、同期化DR51および同期化GO53は同期化出力52に含まれてよい)を与えるように、デバッグ回路58から受信された非同期入力50を同期させるように動作する。
これらの同期化出力を用いて、制御回路43は、プロセッサ14に対し、制御回路43が同期され、適切な動作(デバッグモードの出入りなど)を行う準備が済んだことを適切にアラートする。例えば、デバッグモードに入ることのDR70のアサートに応答して、同期化回路48は同期化DR51を制御回路43に与える。この点において、プロセッサ12がデバッグモードに入る準備が済んだと考えられてもよい。したがって、制御回路43は、同期化DR51のアサートに応答して、プロセッサ14のデバッグ制御18に同期化デバッグ開始要求25を与えて、プロセッサ12がデバッグモードに入る準備が済んだことをデバッグ制御18に指示することが可能である。しかしながら、プロセッサ12は、プロセッサ14のデバッグ制御18からのアサートされた同期化デバッグ開始要求27が受信され、プロセッサ14もデバッグモードに入る要求を受信し(その対応するデバッグ制御レジスタのDRビットのアサートを介して)、それに応じて、デバッグモードに入る準備が済んでいることを示すまで、デバッグモードに入らない。したがって、プロセッサ12は、プロセッサ14がデバッグモードに入る準備が済むまで、デバッグモードに入らない。反対に、プロセッサ14は、プロセッサ12がデバッグモードに入る準備が済むまで、デバッグモードに入らない。このようにして、両方のプロセッサはロックステップ方式により、すなわち同時に、デバッグモードに入ることが可能である。プロセッサ14は、同様に、プロセッサ12が、プロセッサ12がデバッグモードに入る準備が済んだことをプロセッサ14にアラートし、プロセッサ14自身もデバッグモードに入る準備が済むまで、デバッグモードに入らない。
同様な動作が、デバッグモードから出ることに適用される。例えば、デバッグモードから出ることのGO62のアサートに応答して、同期化回路48は同期化GO53を制御回路43に与える。この点において、プロセッサ12がデバッグモードから出る準備が済んだと考えられてもよい。したがって、制御回路43は、同期化GO53のアサートに応答して、プロセッサ14またはデバッグ制御18に同期化デバッグ終了命令26を与えて、プロセッサ12がデバッグモードから出る準備が済んだことをデバッグ制御18に指示することが可能である。しかしながら、プロセッサ12は、プロセッサ14のデバッグ制御18からのアサートされた同期化デバッグ終了命令27が受信され、プロセッサ14もデバッグモードから出る命令を受信し(その対応するデバッグ命令レジスタのGOビットのアサートを介して)、それに応じて、デバッグモードから出る準備が済んでいることを示すまで、デバッグモードから出ない。したがって、プロセッサ12は、プロセッサ14がデバッグモードから出る準備が済むまで、デバッグモードから出ない。反対に、プロセッサ14は、プロセッサ12がデバッグモードから出る準備が済むまで、デバッグモードから出ない。このようにして、両方のプロセッサはロックステップ方式により、すなわち同時に、デバッグモードから出ることが可能である。プロセッサ14は、同様に、プロセッサ12が、プロセッサ12がデバッグモードから出る準備が済んだことをプロセッサ14にアラートし、プロセッサ14自身もデバッグモードから出る準備が済むまで、デバッグモードから出ない。
一実施形態では、プロセッサ12およびプロセッサ14がデバッグモードに入ると、デバッグインタフェース20を介して外部デバッグによって要求される続く動作は、両方のプロセッサにおいてTCLK56クロックを用いて実行されることができ、プロセッサ12とプロセッサ14との間では、それらの動作の同期および続くイベントのハンドシェークが必要ないので、通信が簡略化される。代替の実施形態では、プロセッサクロックPCLK54は、要求される動作を実行するために両方のプロセッサにおいて用いられてもよく、PCLK54は、デバッグ制御16内の制御58に同期されている代替のクロックに切り替えられてもよいので、制御シグナリングのさらなる同期化の必要が回避される。このデバッグまたはテストクロックと汎用プロセッサのクロックとの間のクロックハンドオフによって、幾つかの実施形態においてより高度にシグナリングを簡略化することが可能となる。
なお、一実施形態では、同期化デバッグ開始要求25は同期化DR51の遅延されたバージョンである(例えば、組み合わせまたは連続した論理を通じた伝搬による遅延)。すなわち、同期化デバッグ開始要求25は同期化DR51と同じ信号であってよく、PCLK54の1以上のクロックサイクルだけ遅延されているだけである。すなわち、同期化DR51および同期化デバッグ開始要求25の両方は、同じイベントに応答してアサートされる(すなわち、それらの両方は、デバッグ回路58を介して受信されたデバッグモードに入るための要求を同期化回路48が同期化することに応答してアサートされる)。同期化デバッグ終了命令26の場合も、同期化デバッグ終了命令26が単に同期化GO53の遅延されたバージョンであるという点で同じであってよい。すなわち、同期化GO53および同期化デバッグ終了命令信号26の両方は、同じイベントに応答してアサートされる(すなわち、それらの両方は、デバッグ回路58を介して受信されたデバッグモードから出るための要求を同期化回路48が同期化することに応答してアサートされる)。
また、同期化回路48によって出力される同期化DR51の任意の部分または同期化デバッグ開始要求25の任意の部分は、プロセッサ12がデバッグモードに入る時を決定する同期化デバッグ開始要求信号として用いられることができる。例えば、一実施形態では、プロセッサ12は、プロセッサ14から受信された同期化DR51および同期化デバッグ開始要求27の両方がアサートされるまで、デバッグモードに入るのを待機する。代替の実施形態では、プロセッサ12は、プロセッサ14から受信された同期化デバッグ開始25および同期化デバッグ開始要求信号27の両方がアサートされるまで、デバッグモードに入るのを待機する。したがって、上述のように、同じイベントに応答して同期化DR52および同期化デバッグ開始要求25の両方がアサートされるので、同期化DR51または同期化デバッグ開始要求25が同期化デバッグ開始要求信号(デバッグモードに入る時を決定する際にプロセッサ12によって用いられる)として用いられてもよいことが留意される。同様に、代替の実施形態では、同期化回路48によって出力される同期化GO53の任意の部分または同期化デバッグ終了命令26の任意の部分は、プロセッサ12がデバッグモードから出る時を決定する同期化デバッグ終了命令信号として用いられることができる。
図2を参照すると、任意のタイプの周知の同期化回路を用いて、入力50をPCLK54に対し同期させることができる。例えば、一実施形態では、各入力および対応する出力について、同期化回路は、PCLK54によってクロックの与えられる複数の直列に接続されたDタイプのフリップフロップを含むことが可能である。非同期入力は最初の直列に接続されたフリップフロップのデータ入力において与えられることが可能であり、対応する同期出力は最後の直列に接続されたフリップフロップのデータ出力において与えられることが可能である。ここで、データ出力は次いでPCLK54に対して同期される。例えば、一実施形態では、DR70およびGO62の各々は一連の3つの直列に接続されたDタイプフリップフロップに対し与えられることが可能である。ここで、直列における第1のフリップフロップのデータ入力がDR70またはGO62を受信し、直列における第3のかつ最後のフリップフロップのデータ出力がDR51またはGO53を与える。これに代えて、任意の数のフリップフロップまたは他のタイプの同期化回路が用いられてもよい。
一実施形態では、デバッグ制御回路18はデバッグ制御回路16と同じであり、制御回路、同期化回路、デバッグ制御レジスタ、およびデバッグ命令レジスタを備え、それらはデバッグ制御回路16と同じように接続され、同じように動作する。したがって、この実施形態では、デバッグ制御回路16およびプロセッサ12に対して上述においてしたのと同じ説明がデバッグ制御回路18およびプロセッサ14にも適用される。デバッグ制御回路18のデバッグ制御レジスタのDRビットおよびデバッグ命令レジスタのGOビットも、デバッグインタフェース20を介してアサートまたはネゲートされる。幾つかの実施形態では、プロセッサ12をデバッグモードに入らせる(例えば、プロセッサ12におけるDR50をアサートすることによって)第1の要求は、プロセッサ14をデバッグモードに入らせる(例えば、プロセッサ14におけるDRビットをアサートすることによって)第2の要求と同じ、デバッグモードに入るための要求と考えられる。しかしながら、代替の実施形態では、複数のプロセッサが含まれるため、複数のプロセッサに対するそうした要求は、複数の個別の要求と考えられてもよい。プロセッサ12と同様、プロセッサ14は、デバッグモードへの出入りを行う準備が済み(プロセッサ14の同期化DRまたは同期化GO信号のアサートによって示される)、プロセッサ12からアサートされた同期化デバッグ開始要求27または同期化デバッグ終了命令28がそれぞれ受信されるまで、デバッグモードに出入りしない。一実施形態では、プロセッサ12,14の両方は、PCLK54のような同じプロセッサクロックにしたがって動作する。ここで、プロセッサ12,14の各々のデバッグ回路の非同期部分は、TCLK56のような同じテストクロックにしたがって動作する。しかしながら、代替の実施形態では、第3のクロックがプロセッサ14に対して用いられ、プロセッサ14は自身のプロセッサクロック(プロセッサ12によって用いられるPCLK54と同じ場合も異なる場合もある)にしたがって動作することができる。
一実施形態では、各プロセッサの対応するデバッグ回路制御のDRまたはGOビットはデバッグインタフェース20によって同時に設定またはクリアされることが可能であるが、プロセッサ12の同期化回路48からの同期化された出力およびプロセッサ14の同期化回路からの同期化された出力は同時に与えられない。プロセッサ12,14の同期化回路は同一であった場合にも、様々な原因に基づいて、同期化された出力を与えるように入力を同期化するために、1つサイクル以上が取られることがある。デバッグモードに入るまたはデバッグモードから出るために各プロセッサが単にそれぞれの同期化回路の出力に依存し、デバッグモードに入るまたはデバッグモードから出る準備が済んだか否かに関するインジケータを他のプロセッサから受信しない場合、同期化時間の差のために、2つのプロセッサが1サイクル以上離れてデバッグモードに入るまたはデバッグモードから出ることがあり、したがって、ロックステップが失われる。したがって、ロックステップデバッグインタフェース30を含むことおよびシステムにおける他のロックステッププロセッサは、デバッグモードに入るまたはデバッグモードから出る準備が済むまで、この信号を用いてデバッグモードの開始または終了を遅延し、上述に説明したように、ロックステップの損失を防ぐことが可能である。代替の実施形態では、異なるタイプの同期化回路は各プロセッサに用いられることにおいて、上述したようなロックステップデバッグインタフェースの使用もロックステップの損失を防ぐことに役立つ可能性がある。
また、一実施形態では、各プロセッサのデバッグ制御回路に対応するロックステップモードイネーブルインジケータによって示されるように、プロセッサ12,14はロックステップモードで動作する時のみ、ロックステップデバッグインタフェース30が用いられる、あるいはデバッグモードの開始または終了が遅延される。なお、幾つかの実施形態では、ロックステップモードで動作する時、プロセッサ12,14が、その2つのプロセッサとの間に遅延を有するように動作し、同じクロックサイクルで動作することはできない。さもなければ、ロックステップモードがイネーブルしない時、対応する制御回路がそれの対応する同期化回路から同期化されたDRまたはGO命令を受信すると、各プロセッサがデバッグモードに入るまたはデバッグモードから出ることができる。すなわち、プロセッサ12,14はロックステップモードで動作しないとき、独立モードで動作する、ここで、プロセッサ12,14は別の独立プロセッサとして機能する。
システム10の動作について図7〜12のタイミング図を参照して以下に詳しく説明する。しかしながら、同じ説明をシステム内の任意のプロセッサに適用することが可能である。タイミング図の各々において、PCLK54およびTCLK56は第1の2つの信号として与えられる(また、プログラムカウンタ15およびプログラム17の図7〜12の各々に用いられたプログラムカウンタ値は16進数式であることを注意されたい)。
図7には、ロックステップがディザブルされた状態でデバッグモードに入るタイミングの例を示す。したがって、図7の最後の信号、ロックステップモード、はネゲートされる。この例において、デバッグモードに入ることはDR70のアサートによって要求される(ここで、プロセッサ14のDRビットも同時にアサートされることが可能である)。矢印81で示すように、TCLK56の立ち上がり縁に応答して、DR70のアサートはサイクル1の間に起きる。この点において、DR70はPCLK54に対して同期されていない。矢印82で示すように、DR70はPCLK54(同期化回路48によって)さらに同期化され、サイクル3で同期化DR51を生成する。矢印83で示すように、同期化DR51のアサートに応答して、制御回路43が後のサイクル3で同期化デバッグ開始要求25(デバッグ制御16の出力)をアサートする。また、矢印84で示すように、同期化DR51のアサートに応答して、プロセッサ12がサイクル4でデバッグモードに入る(デバッグモード信号が論理レベル1のとき、プロセッサ12はデバッグモードであり、論理レベルがゼロのとき、プロセッサはデバッグモードではない)。矢印85で示すように、上述のように、PCLK54とTCLK56との間の関係は固定されないので、同期化されたバージョンのDR(同期化DR)はプロセッサ12,14で異なることが可能である。したがって、プロセッサ14のDRビットはDR70と同時に設定できるが、プロセッサ14の同期化されたDRはサイクル4まで、プロセッサ14の同期化回路によって出力されず、該サイクル4は、プロセッサ12で同期化DR51が与えられるときより1つ後のサイクルである。後のサイクル4では、矢印86で示すように、プロセッサ14の制御回路が同期化デバッグ開始要求27(デバッグ制御18の出力)をアサートする。また、矢印87で示すように、サイクル4における同期化DRのアサートに応答して、プロセッサ14がサイクル5でデバッグモードに入る。したがって、プロセッサ14がプロセッサ12より1つ後のサイクルでデバッグモードに入る。しかしながら、ロックステップモードがイネーブルされていないので、デバッグ制御16(同期化デバッグ開始要求27)の入力におけるインタフェース信号およびデバッグ制御18(同期化デバッグ開始要求25)の入力におけるインタフェース信号が無視され、したがって、プロセッサが無条件でデバッグモードに入る。したがって、デバッグモードにおいて、各プロセッサのプログラムカウンタが異なる値になり(サイクル6および7に認識されるように)、このときプロセッサ12,14は同期されていない。
図8には、ロックステップモードがイネーブルされた状態でデバッグモードに入る時間の例を示す。したがって、図8における最後の信号、ロックステップモード、がアサートされる。この例において、デバッグモードに入ることは、DR70のアサートによって要求される(ここで、プロセッサ14のDRビットも同時にアサートされることが可能である)。矢印91で示すように、TCLK56の立ち上がり縁に応答して、DR70のアサートはサイクル1の間に起きる。この点では、DR70はPCLK54に対して同期されていない。矢印92で示すように、DR70はPCLK54(同期化回路48によって)にさらに同期化され、サイクル3で同期化DR51を生成する。矢印93で示すように、同期化DR51のアサートに応答して、制御回路43が後のサイクル3で同期化デバッグ開始要求25(デバッグ制御16の出力)をアサートする。矢印94で示すように、この同期化デバッグ開始要求25のアサートがデバッグ制御18の入力を次に伝達する。上述で説明したように、PCLK54とTCLK56との間の関係が固定されないので、同期化されたバージョンのDR(同期化されたDR)はプロセッサ12,14で異なることが可能である。したがって、矢印95で示すように、プロセッサ14のDRビットはDR70に同時に設定できるが、プロセッサ14の同期化されたDRはサイクル4までプロセッサ14の同期化回路によって出力できず、該サイクル4は、同期化DR51はプロセッサ12に与えられた時より1つ後のサイクルである。矢印96によって示すように、サイクル4の後、プロセッサ14の制御回路が同期化デバッグ開始要求27(デバッグ制御18の出力で)をアサートする。矢印97で示すように、この同期化デバッグ開始要求27のアサートがデバッグ制御16の出力を伝達する。
同期化DR51のアサートに応答してプロセッサ12がデバッグモードに入ることを示す図7と異なって、矢印98で示すように、同期化DR51がアサートされ、同期化デバッグ開始要求27のアサートが受信されるまでプロセッサ12がデバッグモードの開始を遅延する。したがって、図7のようにサイクル4でデバッグモードに入るよりプロセッサ12がサイクル5までデバッグモードの開始を遅延する。同様に、矢印99で示すように、プロセッサ14の同期化されたDRがアサートされ、同期化デバッグ開始要求25のアサートが受信された時、プロセッサ14がデバッグモードに入る。したがって、プロセッサ14もサイクル5でデバッグモードに入る。よって、両方のプロセッサは同期しており、ロックステップを損失しない。したがって、同期化デバッグ開始要求信号の使用によって、ロックステップが維持できる。図7の例に比較すると、サイクル5〜7に示すように、プロセッサ12,14のプログラムカウンタ値はデバッグモードの間で同じ値である。
図9が、ロックステップ動作がイネーブルされた状態でデバッグモードに入るタイミングの別の例を示す。したがって、図9の最後の信号、ロックステップモード、がアサートされる。この例において、デバッグモードの開始はDR70のアサートによって要求される(ここで、プロセッサ14のDRビットも同時にアサートされることが可能である)。矢印101で示すように、TCLK56の立ち上がり縁に応答して、DR70はサイクル1でアサートされる。この点で、DR70はPCLK54に対して同期されていない。矢印105で示すように、DR70はPCLK54(同期化回路48によって)にさらに同期化され、サイクル3で同期化DR51を生成する。矢印106で示すように、同期化DR51のアサートに応答して、制御回路43が後のサイクル3で同期化デバッグ開始要求25(デバッグ制御16から出力)をアサートする。矢印103で示すように、同期化デバッグ開始要求25のアサートが、デバッグ制御18の入力をさらに伝達する。上述で説明したように、PCLK54とTCLK56との間の関係は固定されないので、同期化されたバージョンのDR(同期化されたDR)はプロセッサ12,14で異なることが可能である。しかしながら、図9において、矢印102で示すように、プロセッサ14の同期化されたDRもサイクル4でプロセッサ14の同期化回路によって出力される。後のサイクル3で、矢印109で示すように、プロセッサ14の制御回路が同期化デバッグ開始要求27(デバッグ制御18の出力で)をアサートする。矢印104で示すように、この同期化デバッグ開始要求27のアサートが、デバッグ制御16の入力をさらに伝達する。
また図9を参照して、矢印107で示すように、同期化デバッグ開始要求25がデバッグ制御16の出力でアサートされ、アサートおよび同期化デバッグ開始要求27はデバッグ制御16によって受信される時、プロセッサ12がデバッグモードに入る。同様に、矢印108で示すように、同期化デバッグ開始要求27がデバッグ制御18の出力でアサートされ、アサートおよび同期化デバッグ開始要求25はデバッグ制御18によって受信される時、プロセッサ14がデバッグモードに入る。したがって、この例において、デバッグモードに入るために別のプロセッサからアサートされた同期化デバッグ開始要求を受信することに加えて同期化されたDRのアサートを待機するより、別のプロセッサからアサートされた同期化デバッグ開始要求を受信することに加えてプロセッサの各々がプロセッサの各々の同期化デバッグ開始要求を受信するまで各プロセッサが待機する。したがって、この例において、ロックステップを損失することなく、両方のプロセッサは同期状態で維持される。したがって、同期化デバッグ開始要求信号の使用によって、ロックステップは維持できる。
図10が、ロックステップ動作状態でデバッグモードから出るタイミングの例を示す。したがって、図10の最後の信号、ロックステップモード、がネゲートされる。この例において、デバッグモードの終了はGO62のアサートによって要求される(ここで、プロセッサ14のGOビットも同時にアサートされることが可能である)。矢印111で示すように、TCLK56の立ち上がり縁に応答して、GO62がサイクル1でアサートされる。この点において、GO62はPCLK54に対して同期されていない。矢印112で示すように、GO62はPCLK54(同期化回路48によって)にさらに同期化され、サイクル3で同期化GO53を生成する。矢印113で示すように、同期化GO53のアサートに応答して、制御回路43が後のサイクル3で同期化デバッグ終了命令26(デバッグ制御16の出力)をアサートする。また、矢印114で示すように、同期化GO53のアサートに応答して、プロセッサ12がサイクル4でデバッグモードから出る。上述で説明したように、PCLK54とTCLK56との間の関係は固定されないので、同期化されたバージョンのGO(同期化GO)がプロセッサ12,14と異なることが可能である。したがって、プロセッサ14のGOビットはGO62に同時に設定されることが可能であるが、矢印115で示すように、プロセッサ14の同期化GOはサイクル4までプロセッサ14の同期化回路によって出力できなく、該サイクル4は、同期化GO53がプロセッサ12に与えられた時より1つ後のサイクルである。後のサイクル4において、矢印116で示すように、プロセッサ14の制御回路が同期化デバッグ終了命令28(デバッグ制御18の出力で)をアサートする。また、矢印117で示すように、サイクル4における同期化GOのアサートに応答して、プロセッサ14がサイクル5でデバッグモードに入る。したがって、この例において、プロセッサ14がプロセッサ12の1つ後のサイクルでデバッグモードから出る。しかしながら、ロックステップモードがイネーブルされないので、デバッグ制御16の入力におけるインタフェース信号(同期化デバッグ終了命令28)およびデバッグ制御18の入力におけるインタフェース信号(同期化デバッグ終了命令26)が無視され、したがって、プロセッサがデバッグモードから出ることに条件を付けない。したがって、各プロセッサのプログラムカウンタは異なる値になり(サイクル6および7から参照するように)、よって、このときプロセッサ12,14は同期されていない。
図11が、ロックステップモードがイネーブルされた状態でデバッグモードに入るまたはデバッグモードから出るタイミングの例を示す。したがって、図11の最後の信号、ロックステップ、がアサートされる。この例において、デバッグモードから出ることはGO62のアサートによって要求される(ここで、プロセッサ14のGOビットも同時にアサートされることが可能である)。矢印121で示すように、TCLK56の立ち上がり縁に応答して、GO62がサイクル1でアサートされる。この点において、GO62はPCLK54に対して同期されていない。矢印122で示すように、GO62はPCLK54(同期化回路48によって)にさらに同期化され、サイクル3で同期化GO53を生成する。矢印123で示すように、同期化GO53のアサートに応答して、制御回路43が同期化デバッグ終了命令26(デバッグ制御16の出力で)をアサートする。矢印124で示すように、この同期化デバッグ終了命令26のアサートがデバッグ制御18の入力を伝達する。上述で説明したように、PCLK54とTCLK56との間の関係が固定されないので、同期化されたバージョンのGO(同期化GO)がプロセッサ12,14で異なることが可能である。したがって、矢印125で示すように、プロセッサ14のGOビットはGO62に同時に設定されることが可能であるが、プロセッサ14の同期化GOはサイクル4までプロセッサ14の同期化回路によって出力されない、該サイクル4は、同期化GO53がプロセッサ12に与えられた時より1つ後のサイクルである。後のサイクル4で、矢印126で示すように、プロセッサ14の制御回路が同期化デバッグ終了命令28(デバッグ制御18の出力で)をアサートする。矢印127で示すように、この同期化デバッグ終了命令28のアサートがデバッグ制御16の入力を伝達する。
同期化GO53のアサートに応答してプロセッサ12がデバッグモードから出ることを示す図10と異なって、矢印128で示すように、同期化GO53がアサートされ、同期化デバッグ終了命令28がアサートされることが受信されるまでプロセッサ12がデバッグモードの終了を遅延する。したがって、図10で行ったように、プロセッサ12が、サイクル4よりサイクル5までデバッグモードの終了を遅延する。同様に、矢印129で示すように、プロセッサ14の同期化GOがアサートされ、同期化デバッグ終了命令26のアサートが受信されるまでプロセッサ14がデバッグモードから出る。したがって、プロセッサ14もサイクル5でデバッグモードから出る。したがって、ロックステップを損失しなく、両方のプロセッサは同期化で維持する。したがって、同期化デバッグ終了命令信号の使用を介して、ロックステップが維持される。
図12が、ロックステップ動作をイネーブルされた状態でデバッグモードから出るタイミングの例を示す。したがって、図12の最後の信号、ロックステップモード、がアサートされる。この例において、デバッグモードの終了は、GO62のアサートによって要求される(ここで、プロセッサ14のGOビットも同時にアサートされることが可能である)。矢印131で示すように、TCLK56の立ち上がり縁に応答して、GO62がサイクル1でアサートされる。この点において、GO62はPCLK54に対して同期されていない。矢印133で示すように、GO62はPCLK54(同期化回路48によって)にさらに同期化され、同期化GO53をサイクル3で生成する。矢印134で示すように、同期化GO53のアサートに応答して、制御回路43が後のサイクル3で同期化デバッグ終了命令26(デバッグ制御16の出力)をアサートする。上述で説明したように、PCLK54とTCLK56との間の関係は固定されないので、同期化されたバージョンのGO(同期化GO)はプロセッサ12,14で異なることが可能である。しかしながら、図12において、矢印132で示すように、プロセッサ14の同期化GOもサイクル4プロセッサ14の同期化回路によって出力される。後のサイクル3において、矢印139で示すように、プロセッサ14の制御回路が同期化されたデバッグ開始命令28(デバッグ制御18の出力で)をアサートする。矢印136で示すように、この同期化デバッグ終了命令28のアサートがデバッグ制御16の入力を伝達する。
また図12を参照して、矢印137で示すように、同期化デバッグ終了命令26がデバッグ制御16の出力でアサートされ、アサートされた同期化デバッグ終了命令28はデバッグ制御16によって受信される時、プロセッサ12がデバッグモードから出る。同様に、矢印138で示すように、同期化デバッグ終了命令28がデバッグ制御18の出力でアサートされ、アサートされた同期化デバッグ終了命令26がデバッグ制御18によって受信される時、プロセッサ14がデバッグモードから出る。したがって、この例において、デバッグモードから出るために別のプロセッサからアサートされた同期化デバッグ終了命令を受信することに加えて同期化GOを待機するより、別のプロセッサからアサートされた同期化デバッグ終了命令を受信することに加えてプロセッサの各々がプロセッサの各々の同期化デバッグ終了命令をアサートするまでプロセッサの各々が待機する。したがって、この例において、両方のプロセッサが、ロックステップを損失しなくロックステップで維持する。したがって、同期化デバッグ終了命令信号の使用を介して、ロックステップが維持できる。
したがって、クロスシグナリングの使用によって、ロックステップモードで動作するシステム内のプロセッサがロックステップを損失せず、デバッグモードに入るまたはデバッグモードから出ることが保証されることが理解される。このようにして、デバッグを開始または終了しても、システムにおける複数のプロセッサが同期状態を維持する。
例えば、一実施形態では、システム10の図示された素子は単一集積回路または同じデバイス以内に配置される。あるいは、システム10は、任意の数の別の集積回路または別の互いに相互接続されたデバイスを含むことが可能である。例えば、他のモジュール22がある場合、そのモジュールは、プロセッサ12,14と同じ集積回路または別の集積回路に配置されてもよく、またはシステム10の他の素子から別々に離れた別の周辺装置またはスレーブ装置に配置されてもよい。
以下に本発明の様々の実施形態を説明する。
項目1は、第1のプロセッサと、第2のプロセッサと、第1のプロセッサに接続された第1のクロックと、第2のプロセッサに接続された第2のクロックと、第1のプロセッサおよび第2のプロセッサに接続された第3のクロックと、を備えるシステムである。第1のプロセッサは、第3のクロックを受信するように接続されたデバッグ回路と、第1のクロックを受信するように接続された同期化回路であって、デバッグモードに入るための第1の要求を受信し、第1の同期化デバッグ開始要求信号を供給する、同期化回路と、第2のプロセッサから第2の同期化デバッグ開始要求信号を受信するための入力とを備える。第1の同期化デバッグ開始要求信号は第1のクロックに対して同期化されており、第1のプロセッサは、第1の同期化デバッグ開始要求信号および第2の同期化デバッグ開始要求信号の両方がアサートされるまで、デバッグモードに入ることを待機する。項目2は、項目1のシステムを含み、第3のクロックは第1のクロックに対して同期されていない。項目3は、項目2のシステムを含み、第2のクロックは第2のクロックに対して同期されていない。項目4は、項目1のシステムを含み、デバッグ回路はデバッグ要求レジスタビットを備え、デバッグ要求レジスタビットのアサートに応答して、デバッグモードに入るための第1の要求は、同期化回路に対し供給される。項目5は、項目1のシステムを含み、第1のプロセッサは第1のプログラムカウンタを備え、第2のプロセッサは第2のプログラムカウンタを備え、第1のプロセッサ及び第2のプロセッサがデバッグモードにあるとき、同時に第1のプロセッサは第1のプログラムカウンタをインクリメントし、第2のプロセッサは第2のプログラムカウンタをインクリメントする。項目6は、項目1のシステムを含み、第1のプロセッサおよび第2のプロセッサはデバッグモードに入り、該デバッグモード中、ロックステップ方式により同じ命令を実行する。項目7は、項目1のシステムを含み、第1のプロセッサおよび第2のプロセッサはデバッグモードに入り、該デバッグモード中、同じ命令を実行し、第1のプロセッサによる前記同じ命令の実行は、第2のプロセッサによる前記同じ命令の実行と比較して、第1のクロックにおける10サイクル以下だけスキューされる。項目8は、項目1のシステムを含み、同期化回路はデバッグモードから出るための要求をデバッグ回路から受信し、第1の同期化されたデバッグ終了コマンド信号を供給し、第1の同期化されたデバッグ終了コマンド信号は第1のクロックに対して同期化されており、第1のプロセッサはさらに、第1の同期化デバッグ開始要求信号を第1のプロセッサから第2のプロセッサに転送するための第1の出力と、第1の同期化デバッグ終了命令信号を第1のプロセッサから第2のプロセッサに転送するための第2の出力と、第2の同期化デバッグ終了命令信号を第2のプロセッサから受信するための入力とを備え、第1のプロセッサは、第1の同期化されたデバッグ終了コマンド信号および第2の同期化されたデバッグ終了コマンド信号の両方がアサートされるまで、デバッグモードを出ることを待機する。項目9は、項目1のシステムを含み、第2のプロセッサは、第3のクロックを受信するように接続されたデバッグ回路と、第2のクロックを受信するように接続された同期化回路であって、デバッグモードに入るための第2の要求を受信し、第2の同期化デバッグ開始要求信号を第1のプロセッサに供給する、同期化回路と、第1のプロセッサから第1の同期化デバッグ開始要求信号を受信するための入力とを備える。項目10は、項目9のシステムを含み、第2のプロセッサは、第1の同期化デバッグ開始要求信号および第2の同期化デバッグ開始要求信号の両方がアサートされるまで、デバッグモードに入ることを待機する。
項目11は、第1のクロックを用いてデバッグ回路の第1の部分にクロックを供給する工程と、第2のクロックを用いてデバッグ回路の第2の部分にクロックを供給する工程であって、第1のクロックは第2のクロックに対して同期されていない工程と、デバッグモードに入るための第1の要求をデバッグ回路の第1の部分から同期化回路に転送する工程であって、デバッグモードに入るための第1の要求は第2のクロックに対して同期されていない工程と、第1のプロセッサが、第1の同期化デバッグ開始要求を生成するために、デバッグモードに入るための第1の要求を第2のクロックと同期させる工程と、第1のプロセッサが、第2のプロセッサから受信されている第2の同期化デバッグ開始要求を監視する工程と、第1のプロセッサが、第1の同期化デバッグ開始要求および第2の同期化デバッグ開始要求の両方がアサートされるまで、デバッグモードに入ることを待機する工程と、を含む方法である。項目12は、項目11の方法において、第1の同期化デバッグ開始要求を第1のプロセッサから第2のプロセッサに転送する工程をさらに含む。項目13は、項目11の方法において、第1のプロセッサおよび第2のプロセッサに対するロックステップ動作をイネーブルする工程をさらに含み、ロックステップ動作は、デバッグモード中、第1のプロセッサおよび第2のプロセッサにおいて同じ命令を実行することを含む。項目14は、項目11の方法において、デバッグモードから出るための要求をデバッグ回路の第1の部分から同期化回路に転送する工程であって、デバッグモードから出るための要求は第2のクロックに対して同期されていない工程と、第1のプロセッサが、第1の同期化デバッグ終了命令を生成するために、デバッグモードから出るための要求を第2のクロックと同期させる工程と、第1のプロセッサが、第2のプロセッサから受信されている第2の同期化デバッグ終了命令を監視する工程と、第1のプロセッサが、第1の同期化デバッグ終了命令および第2の同期化デバッグ終了命令の両方がアサートされるまで、デバッグモードから出ることを待機する工程と、をさらに含む。項目15は、項目11の方法において、第2のプロセッサが、第2の同期化デバッグ開始要求を生成するために、デバッグモードに入るための第2の要求を第3のクロックと同期させる工程をさらに含み、第1のクロックは第3のクロックに対して同期されていない。項目16は、項目15の方法において、第2のクロックおよび第3のクロックは同期されていない。項目17は、項目15の方法において、デバッグモードに入る前に、第2のプロセッサが、第1のプロセッサから受信されている第1の同期化デバッグ開始要求を監視する工程と、第1の同期化デバッグ開始要求および第2の同期化デバッグ開始要求の両方がアサートされた後、第2のプロセッサが、デバッグモードにおいて1つ以上の命令を実行する工程と、をさらに含む。項目18は、項目11の方法において、第1のプロセッサおよび第2のプロセッサは同じ集積回路上に形成される。
項目19は、第1のプロセッサおよび第2のプロセッサにテストクロックを入力する工程と、第1のプロセッサに第1のプロセッサクロックを入力する工程と、第2のプロセッサに第2のプロセッサクロックを入力する工程と、を備え、テストクロックは第1のプロセッサクロックに対して同期されておらず、テストクロックは第2のプロセッサクロックに対して同期されておらず、さらに、第1のプロセッサが、デバッグモードに入るための第1の要求を受信する工程と、第2のプロセッサが、デバッグモードに入るために前記要求を受信する工程であって、デバッグモードに入るための第1の要求およびデバッグモードに入るための第2の要求はテストクロックに対して同期されている工程と、第1のプロセッサが、第1の同期化デバッグ開始要求を生成するために、デバッグモードに入るための第1の要求を第1のプロセッサクロックに対して同期させる工程と、第2のプロセッサが、第2の同期化デバッグ開始要求を生成するために、デバッグモードに入るための前記要求を前記プロセッサクロックに対して同期させる工程と、第1のプロセッサが、第2のプロセッサから第2の同期化デバッグ開始要求を受信し、第2の同期化デバッグ開始要求を用いて、デバッグモードに入る時を決定する工程と、第2のプロセッサが、第1のプロセッサから第1の同期化デバッグ開始要求を受信し、第1の同期化デバッグ開始要求を用いて、デバッグモードに入る時を決定する工程と、を備える方法である。項目20は、項目19の方法において、デバッグモードに入る前に、第1のプロセッサが、第1の同期化デバッグ開始要求及び第2の同期化デバッグ開始要求の両方がアサートされるまで待機し、デバッグモードに入る前に、第2のプロセッサが、第2の同期化デバッグ開始要求及び第1の同期化デバッグ開始要求の両方がアサートされるまで待機する。

Claims (20)

  1. 第1のプロセッサと、
    第2のプロセッサと、
    第1のプロセッサに接続された第1のクロックと、
    第2のプロセッサに接続された第2のクロックと、
    第1のプロセッサおよび第2のプロセッサに接続された第3のクロックと、を備えるシステムにおいて、
    第1のプロセッサは、
    第3のクロックを受信するように接続されたデバッグ回路と、
    第1のクロックを受信するように接続された同期化回路であって、デバッグモードに入るための第1の要求を受信し、第1の同期化デバッグ開始要求信号を供給する、同期化回路と、
    第2のプロセッサから第2の同期化デバッグ開始要求信号を受信するための入力と、を備え、
    第1の同期化デバッグ開始要求信号は第1のクロックに対して同期化されており、
    第1のプロセッサは、第1の同期化デバッグ開始要求信号および第2の同期化デバッグ開始要求信号の両方がアサートされるまで、デバッグモードに入ることを待機する、システム。
  2. 第3のクロックは第1のクロックに対して同期されていない、請求項1に記載のシステム。
  3. 第2のクロックは第2のクロックに対して同期されていない、請求項2に記載のシステム。
  4. デバッグ回路はデバッグ要求レジスタビットを備え、デバッグ要求レジスタビットのアサートに応答して、デバッグモードに入るための第1の要求は、同期化回路に対し供給される、請求項1に記載のシステム。
  5. 第1のプロセッサは第1のプログラムカウンタを備え、第2のプロセッサは第2のプログラムカウンタを備え、第1のプロセッサ及び第2のプロセッサがデバッグモードにあるとき、同時に第1のプロセッサは第1のプログラムカウンタをインクリメントし、第2のプロセッサは第2のプログラムカウンタをインクリメントする、請求項1に記載のシステム。
  6. 第1のプロセッサおよび第2のプロセッサはデバッグモードに入り、該デバッグモード中、ロックステップ方式により同じ命令を実行する、請求項1に記載のシステム。
  7. 第1のプロセッサおよび第2のプロセッサはデバッグモードに入り、該デバッグモード中、同じ命令を実行し、第1のプロセッサによる前記同じ命令の実行は、第2のプロセッサによる前記同じ命令の実行と比較して、第1のクロックにおける10サイクル以下だけスキューされる、請求項1に記載のシステム。
  8. 同期化回路はデバッグモードから出るための要求をデバッグ回路から受信し、第1の同期化されたデバッグ終了コマンド信号を供給し、第1の同期化されたデバッグ終了コマンド信号は第1のクロックに対して同期化されており、第1のプロセッサはさらに、
    第1の同期化デバッグ開始要求信号を第1のプロセッサから第2のプロセッサに転送するための第1の出力と、
    第1の同期化デバッグ終了命令信号を第1のプロセッサから第2のプロセッサに転送するための第2の出力と、
    第2の同期化デバッグ終了命令信号を第2のプロセッサから受信するための入力とを備え、
    第1のプロセッサは、第1の同期化されたデバッグ終了コマンド信号および第2の同期化されたデバッグ終了コマンド信号の両方がアサートされるまで、デバッグモードを出ることを待機する、請求項1に記載のシステム。
  9. 第2のプロセッサは、
    第3のクロックを受信するように接続されたデバッグ回路と、
    第2のクロックを受信するように接続された同期化回路であって、デバッグモードに入るための第2の要求を受信し、第2の同期化デバッグ開始要求信号を第1のプロセッサに供給する、同期化回路と、
    第1のプロセッサから第1の同期化デバッグ開始要求信号を受信するための入力と、を備える、請求項1に記載のシステム。
  10. 第2のプロセッサは、第1の同期化デバッグ開始要求信号および第2の同期化デバッグ開始要求信号の両方がアサートされるまで、デバッグモードに入ることを待機する、請求項9に記載のシステム。
  11. 第1のクロックを用いてデバッグ回路の第1の部分にクロックを供給する工程と、
    第2のクロックを用いてデバッグ回路の第2の部分にクロックを供給する工程であって、第1のクロックは第2のクロックに対して同期されていない工程と、
    デバッグモードに入るための第1の要求をデバッグ回路の第1の部分から同期化回路に転送する工程であって、デバッグモードに入るための第1の要求は第2のクロックに対して同期されていない工程と、
    第1のプロセッサが、第1の同期化デバッグ開始要求を生成するために、デバッグモードに入るための第1の要求を第2のクロックと同期させる工程と、
    第1のプロセッサが、第2のプロセッサから受信されている第2の同期化デバッグ開始要求を監視する工程と、
    第1のプロセッサが、第1の同期化デバッグ開始要求および第2の同期化デバッグ開始要求の両方がアサートされるまで、デバッグモードに入ることを待機する工程と、を含む方法。
  12. 第1の同期化デバッグ開始要求を第1のプロセッサから第2のプロセッサに転送する工程をさらに含む、請求項11に記載の方法。
  13. 第1のプロセッサおよび第2のプロセッサに対するロックステップ動作をイネーブルする工程をさらに含み、
    ロックステップ動作は、デバッグモード中、第1のプロセッサおよび第2のプロセッサにおいて同じ命令を実行することを含む、請求項11に記載の方法。
  14. デバッグモードから出るための要求をデバッグ回路の第1の部分から同期化回路に転送する工程であって、デバッグモードから出るための要求は第2のクロックに対して同期されていない工程と、
    第1のプロセッサが、第1の同期化デバッグ終了命令を生成するために、デバッグモードから出るための要求を第2のクロックと同期させる工程と、
    第1のプロセッサが、第2のプロセッサから受信されている第2の同期化デバッグ終了命令を監視する工程と、
    第1のプロセッサが、第1の同期化デバッグ終了命令および第2の同期化デバッグ終了命令の両方がアサートされるまで、デバッグモードから出ることを待機する工程と、をさらに含む請求項11に記載の方法。
  15. 第2のプロセッサが、第2の同期化デバッグ開始要求を生成するために、デバッグモードに入るための第2の要求を第3のクロックと同期させる工程をさらに含み、
    第1のクロックは第3のクロックに対して同期されていない、請求項11に記載の方法。
  16. 第2のクロックおよび第3のクロックは同期されていない、請求項15に記載の方法。
  17. デバッグモードに入る前に、第2のプロセッサが、第1のプロセッサから受信されている第1の同期化デバッグ開始要求を監視する工程と、
    第1の同期化デバッグ開始要求および第2の同期化デバッグ開始要求の両方がアサートされた後、第2のプロセッサが、デバッグモードにおいて1つ以上の命令を実行する工程と、をさらに含む請求項15に記載の方法。
  18. 第1のプロセッサおよび第2のプロセッサは同じ集積回路上に形成される、請求項11に記載の方法。
  19. 第1のプロセッサおよび第2のプロセッサにテストクロックを入力する工程と、
    第1のプロセッサに第1のプロセッサクロックを入力する工程と、
    第2のプロセッサに第2のプロセッサクロックを入力する工程と、を備え、
    テストクロックは第1のプロセッサクロックに対して同期されておらず、テストクロックは第2のプロセッサクロックに対して同期されておらず、さらに、
    第1のプロセッサが、デバッグモードに入るための第1の要求を受信する工程と、
    第2のプロセッサが、デバッグモードに入るために前記要求を受信する工程であって、デバッグモードに入るための第1の要求およびデバッグモードに入るための第2の要求はテストクロックに対して同期されている工程と、
    第1のプロセッサが、第1の同期化デバッグ開始要求を生成するために、デバッグモードに入るための第1の要求を第1のプロセッサクロックに対して同期させる工程と、
    第2のプロセッサが、第2の同期化デバッグ開始要求を生成するために、デバッグモードに入るための前記要求を前記プロセッサクロックに対して同期させる工程と、
    第1のプロセッサが、第2のプロセッサから第2の同期化デバッグ開始要求を受信し、第2の同期化デバッグ開始要求を用いて、デバッグモードに入る時を決定する工程と、
    第2のプロセッサが、第1のプロセッサから第1の同期化デバッグ開始要求を受信し、第1の同期化デバッグ開始要求を用いて、デバッグモードに入る時を決定する工程と、を備える方法。
  20. デバッグモードに入る前に、第1のプロセッサが、第1の同期化デバッグ開始要求及び第2の同期化デバッグ開始要求の両方がアサートされるまで待機し、デバッグモードに入る前に、第2のプロセッサが、第2の同期化デバッグ開始要求及び第1の同期化デバッグ開始要求の両方がアサートされるまで待機する、請求項19に記載の方法。
JP2012504697A 2009-04-08 2010-03-23 マルチプロセッサデータ処理システムにおけるデバッグシグナリング Active JP5459807B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/420,521 US8275977B2 (en) 2009-04-08 2009-04-08 Debug signaling in a multiple processor data processing system
US12/420,521 2009-04-08
PCT/US2010/028300 WO2010117618A2 (en) 2009-04-08 2010-03-23 Debug signaling in a multiple processor data processing system

Publications (3)

Publication Number Publication Date
JP2012523616A true JP2012523616A (ja) 2012-10-04
JP2012523616A5 JP2012523616A5 (ja) 2013-05-09
JP5459807B2 JP5459807B2 (ja) 2014-04-02

Family

ID=42935272

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012504697A Active JP5459807B2 (ja) 2009-04-08 2010-03-23 マルチプロセッサデータ処理システムにおけるデバッグシグナリング

Country Status (5)

Country Link
US (1) US8275977B2 (ja)
JP (1) JP5459807B2 (ja)
CN (1) CN102365624B (ja)
TW (1) TWI483181B (ja)
WO (1) WO2010117618A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020112903A (ja) * 2019-01-09 2020-07-27 ルネサスエレクトロニクス株式会社 動作検証プログラム、動作同期方法及び異常検出装置

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5400443B2 (ja) 2009-03-25 2014-01-29 スパンション エルエルシー 集積回路、デバッグ回路、デバッグコマンド制御方法
TW201145016A (en) * 2010-06-15 2011-12-16 Nat Univ Chung Cheng Non-intrusive debugging framework for parallel software based on super multi-core framework
GB2483907A (en) * 2010-09-24 2012-03-28 Advanced Risc Mach Ltd Privilege level switching for data processing circuitry when in a debug mode
US8700955B2 (en) 2011-09-22 2014-04-15 Freescale Semiconductor, Inc. Multi-processor data processing system having synchronized exit from debug mode and method therefor
US9110142B2 (en) * 2011-09-30 2015-08-18 Freescale Semiconductor, Inc. Methods and apparatus for testing multiple-IC devices
US8819485B2 (en) * 2012-03-12 2014-08-26 Infineon Technologies Ag Method and system for fault containment
JP6360387B2 (ja) 2014-08-19 2018-07-18 ルネサスエレクトロニクス株式会社 プロセッサシステム、エンジン制御システム及び制御方法
CN104484258A (zh) * 2014-12-05 2015-04-01 中国航空工业集团公司第六三一研究所 一种多处理器的同步调试支持电路
CN106776186B (zh) * 2016-12-29 2020-04-07 湖南国科微电子股份有限公司 一种多cpu架构下的cpu运行状态调试方法和系统
CN106933721B (zh) * 2017-02-15 2020-06-26 北京四方继保自动化股份有限公司 一种就地化保护装置串口远程监视方法
US10606764B1 (en) * 2017-10-02 2020-03-31 Northrop Grumman Systems Corporation Fault-tolerant embedded root of trust using lockstep processor cores on an FPGA
JP6981920B2 (ja) * 2018-05-25 2021-12-17 ルネサスエレクトロニクス株式会社 半導体装置、およびデバッグ方法
JP7378254B2 (ja) * 2019-09-19 2023-11-13 キヤノン株式会社 マルチプロセッサデバイス
CN111240834B (zh) * 2020-01-02 2024-02-02 北京字节跳动网络技术有限公司 任务执行方法、装置、电子设备和存储介质
US11892505B1 (en) * 2022-09-15 2024-02-06 Stmicroelectronics International N.V. Debug and trace circuit in lockstep architectures, associated method, processing system, and apparatus

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07261814A (ja) * 1994-03-16 1995-10-13 Yaskawa Electric Corp Pcのデュアルシステムにおける割込み同期方法
JP2006079142A (ja) * 2004-09-07 2006-03-23 Fujitsu Ltd マルチプロセッサ装置
JP2006512634A (ja) * 2002-09-12 2006-04-13 シーメンス アクチエンゲゼルシヤフト 同期または非同期にクロック制御される処理ユニットを同期化する方法および回路装置
JP2006178617A (ja) * 2004-12-21 2006-07-06 Nec Corp フォールトトレラントコンピュータ及びその制御方法
JP2008518299A (ja) * 2004-10-25 2008-05-29 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 少なくとも2つの実行ユニットを有する計算機システムの信号を評価するための方法および装置

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5452437A (en) 1991-11-18 1995-09-19 Motorola, Inc. Methods of debugging multiprocessor system
US5313618A (en) * 1992-09-03 1994-05-17 Metalink Corp. Shared bus in-circuit emulator system and method
US5537655A (en) * 1992-09-28 1996-07-16 The Boeing Company Synchronized fault tolerant reset
JP3175757B2 (ja) * 1996-08-13 2001-06-11 日本電気株式会社 デバッグシステム
US6145100A (en) * 1998-03-04 2000-11-07 Advanced Micro Devices, Inc. Debug interface including timing synchronization logic
SE9801678L (sv) * 1998-05-13 1999-11-14 Axis Ab Datorchip och datoranordning med förbättrad avlusningsförmåga
US6343358B1 (en) * 1999-05-19 2002-01-29 Arm Limited Executing multiple debug instructions
US6321329B1 (en) * 1999-05-19 2001-11-20 Arm Limited Executing debug instructions
US6826717B1 (en) 2000-06-12 2004-11-30 Altera Corporation Synchronization of hardware and software debuggers
US7206733B1 (en) 2000-10-26 2007-04-17 Cypress Semiconductor Corporation Host to FPGA interface in an in-circuit emulation system
US7188063B1 (en) 2000-10-26 2007-03-06 Cypress Semiconductor Corporation Capturing test/emulation and enabling real-time debugging using an FPGA for in-circuit emulation
US6675334B2 (en) * 2001-05-31 2004-01-06 Texas Instruments Incorporated Apparatus and method for multi-cycle memory access mapped to JTAG finite state machine with external flag for hardware emulation
US7774190B1 (en) * 2001-11-19 2010-08-10 Cypress Semiconductor Corporation Sleep and stall in an in-circuit emulation system
US6993674B2 (en) * 2001-12-27 2006-01-31 Pacific Design, Inc. System LSI architecture and method for controlling the clock of a data processing system through the use of instructions
US7805638B2 (en) * 2003-06-18 2010-09-28 Nethra Imaging, Inc. Multi-frequency debug network for a multiprocessor array
US20050039074A1 (en) * 2003-07-09 2005-02-17 Tremblay Glenn A. Fault resilient/fault tolerant computing
US7219265B2 (en) * 2003-12-29 2007-05-15 Agere Systems Inc. System and method for debugging system-on-chips
US7055117B2 (en) * 2003-12-29 2006-05-30 Agere Systems, Inc. System and method for debugging system-on-chips using single or n-cycle stepping
US7237144B2 (en) * 2004-04-06 2007-06-26 Hewlett-Packard Development Company, L.P. Off-chip lockstep checking
DE102004038590A1 (de) 2004-08-06 2006-03-16 Robert Bosch Gmbh Verfahren zur Verzögerung von Zugriffen auf Daten und/oder Befehle eines Zweirechnersystems sowie entsprechende Verzögerungseinheit
KR20070085278A (ko) 2004-10-25 2007-08-27 로베르트 보쉬 게엠베하 적어도 2개의 실행 유닛을 구비한 컴퓨터 시스템의 전환방법 및 그 전환 장치
KR20070083772A (ko) 2004-10-25 2007-08-24 로베르트 보쉬 게엠베하 멀티 프로세서 시스템에서의 동기화 방법 및 장치
US20060161818A1 (en) * 2005-01-14 2006-07-20 Ivo Tousek On-chip hardware debug support units utilizing multiple asynchronous clocks
US7549092B2 (en) * 2005-09-29 2009-06-16 Hynix Semiconductor, Inc. Output controller with test unit
US7293214B2 (en) 2005-12-02 2007-11-06 Broadcom Corporation Testable design methodology for clock domain crossing
TWI331278B (en) * 2007-03-14 2010-10-01 Ind Tech Res Inst Debug method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07261814A (ja) * 1994-03-16 1995-10-13 Yaskawa Electric Corp Pcのデュアルシステムにおける割込み同期方法
JP2006512634A (ja) * 2002-09-12 2006-04-13 シーメンス アクチエンゲゼルシヤフト 同期または非同期にクロック制御される処理ユニットを同期化する方法および回路装置
JP2006079142A (ja) * 2004-09-07 2006-03-23 Fujitsu Ltd マルチプロセッサ装置
JP2008518299A (ja) * 2004-10-25 2008-05-29 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 少なくとも2つの実行ユニットを有する計算機システムの信号を評価するための方法および装置
JP2006178617A (ja) * 2004-12-21 2006-07-06 Nec Corp フォールトトレラントコンピュータ及びその制御方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020112903A (ja) * 2019-01-09 2020-07-27 ルネサスエレクトロニクス株式会社 動作検証プログラム、動作同期方法及び異常検出装置
JP7073285B2 (ja) 2019-01-09 2022-05-23 ルネサスエレクトロニクス株式会社 動作検証プログラム、動作同期方法及び異常検出装置

Also Published As

Publication number Publication date
US8275977B2 (en) 2012-09-25
WO2010117618A3 (en) 2011-01-13
CN102365624B (zh) 2013-10-16
JP5459807B2 (ja) 2014-04-02
WO2010117618A2 (en) 2010-10-14
TW201044268A (en) 2010-12-16
US20100262811A1 (en) 2010-10-14
TWI483181B (zh) 2015-05-01
CN102365624A (zh) 2012-02-29

Similar Documents

Publication Publication Date Title
JP5459807B2 (ja) マルチプロセッサデータ処理システムにおけるデバッグシグナリング
US7487377B2 (en) Method and apparatus for fault tolerant time synchronization mechanism in a scaleable multi-processor computer
US10248156B2 (en) Data processing device
EP1672504A2 (en) Method and system for resetting fault tolerant computer system
US9940288B1 (en) SerDes alignment process
US20100315134A1 (en) Systems and methods for multi-lane communication busses
US11200184B1 (en) Interrupt control device and interrupt control method between clock domains
US10467181B2 (en) Interface apparatus and method
US8156371B2 (en) Clock and reset synchronization of high-integrity lockstep self-checking pairs
JP2004110803A (ja) フォールトトレラントコンピュータ、そのトランザクション同期制御方法及びプログラム
US10769038B2 (en) Counter circuitry and methods including a master counter providing initialization data and fault detection data and wherein a threshold count difference of a fault detection count is dependent upon the fault detection data
US7489752B2 (en) Synchronisation of signals between asynchronous logic
JP2013250848A (ja) マルチプロセッサ
US7353297B2 (en) Handling of write transactions in a data processing apparatus
JP3604637B2 (ja) 非同期転送装置および非同期転送方法
EP3739463B1 (en) Circuit for asynchronous data transfer
JPH1011309A (ja) プロセッサ出力比較方法およびコンピュータシステム
JPH03232040A (ja) データ処理装置
JP2806854B2 (ja) バスの同期チェック装置
JPH06175976A (ja) 同期式データ処理システム用の同期化装置
JP2003006178A (ja) クロック同期化システム、及びその方法
JPH0769754B2 (ja) 同期タイミング制御方式
JPH07182274A (ja) 情報処理装置用バス
JPH0474244A (ja) ラツチ回路
JPH04367958A (ja) バス同期多重系システムのダイレクトメモリアクセス装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130322

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130322

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131213

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: 20131217

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140109

R150 Certificate of patent or registration of utility model

Ref document number: 5459807

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250