説明

バリアトランザクションのデバッグ

【課題】集積回路をデバッグするための技術を提供する。
【解決手段】集積回路2は、相互接続回路20を介してデータトランザクションを発行するための、1つ以上のトランザクションマスター8、10、12、4を含む。デバッグアクセスポート回路は、デバッグコントローラ6から受信されるデバッグコマンドに応答して、相互接続回路に発行されるバリアトランザクションを発生させるように構成される。相互接続回路は、データトランザクションの少なくともいくつかの相対的順序付けを、それらが相互接続回路を通過する時に抑制することによって、受信したバリアトランザクションに応答する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、集積回路の分野に関する。より具体的には、本発明は、集積回路をデバッグするための技術に関する。
【背景技術】
【0002】
デバッグ機構を伴う集積回路を提供することが知られている。いくつかの既知のデバッグ機構は、集積回路のメモリアドレス空間内の記憶場所を読み取るまたは書き込むために、メモリトランザクションを発生させる能力を提供する。故に、これらのデバッグ機構は、トランザクションマスターとしての機能を果たすことができ、また、集積回路の状態を判定するためにデータを読み取り、所望の刺激を集積回路に提供するためにデータを書き込む際に有用であり得る。
【0003】
これは、典型的に、デバック動作を支援するために集積回路に提供される接続ピンの数が少ない場合である。集積回路パッケージ上のピンの増加速度は、それらの回路の複雑さの増加速度に追随できていない(いわゆるムーアの法則)。他の機能のために接続ピンを集積回路に使用する様に、かなりの圧力がある。デバッグ動作は、開発中だけにしか使用され得ず、故に、多数の接続ピンをデバッグ機能専用にするよう調整することは困難である。これは、集積回路がメモリの読み取りおよびメモリの書き込み等のトランザクションを実行するように指示した時に、デバッグコントローラがデバッグ回路と通信してもよい帯域幅を制限するという結果をもたらす。典型的な集積回路は、ほぼギガヘルツ程度の周波数で動作し得るのに対して、デバッグインターフェースは、数メガヘルツの周波数でしか通信することが可能になり得ない。こうした速度の不整合は、デバッグが開始したトランザクションを、集積回路内で最高速度で起こっている他のトランザクションと組み合わせ得る方法を限定する。
【0004】
集積回路に提供されるデバッグ機構の有用性を高めるために、デバッグ専用のピンの数を増加させずに、好ましくは減少させながら、デバッグ動作を実行できる速度を増加させることが好ましい。これを達成するための1つの方法は、デバッグコントローラがデバッグインターフェースを介して集積回路と通信してもよい帯域幅を増加させることである。USB型通信の進歩等の、シリアルデータ通信技術の進歩は、デバッグ用ピンの数を増加させずに、集積回路がそのデータ処理を内部で実行するタイムスケールと同程度以上のタイムスケールで、集積回路でデバッグ機構と通信することが可能になりつつあるという結果をもたらす。
【0005】
さらなる選択肢は、集積回路内のデバッグ回路を強化することである。集積レベルの増加によって可能となるより複雑なデバッグ回路は、デバッグインターフェース上でデバッグコントローラによって送信される比較的に単純なコマンドを、例えばブロックメモリフィル等の反復的なアクションといった、複雑なトランザクションに変換できることを意味する。動作はまた、デバッグ回路によってバッファリングすることができ、よって、デバッガは、デバッグインターフェースをポーリングして、さらなる動作を送信する前に1つの動作が完了するまで待つ必要はない。両方の選択肢は、組み合わせることができる。
【発明の概要】
【課題を解決するための手段】
【0006】
一態様から概観すると、本発明は、
複数のデータトランザクションを発生させるように構成される、1つ以上のトランザクションマスターと、
該集積回路の外部のデバッグコントローラにデバッグインターフェースを介して連結されるように構成される、デバッグアクセスポート回路と、
該1つ以上のトランザクションマスターおよび該デバッグアクセスポート回路に連結され、かつ該1つ以上のトランザクションマスターおよび該デバッグアクセスポート回路から複数のデータトランザクションを受信するように構成される、相互接続回路と、を備え、
該デバッグアクセスポート回路は、該デバッグインターフェースを介して該デバッグコントローラから受信される1つ以上のデバッグコマンドに応答して、バリアトランザクションを発生させるように構成され、
該相互接続回路は、該バリアトランザクションを受信し、少なくとも該相互接続回路を通しての該複数のデータトランザクションの第1のサブセットと該第2のサブセットとの間の相対的順序付けを抑制することによって、該バリアトランザクションに応答するように構成される、集積回路を提供する。
【0007】
本技術は、高速デバッグアクセスおよびデバッグ回路の増加した複雑さが集積回路に提供された時に、デバッグ中にその集積回路とのより高度な種類の相互作用が可能になることを認める。さらに、集積回路上の1つ以上のトランザクションマスターによって開始されるデータトランザクションに対するデバッグ活動の順序付けおよび同期は、特に、デバッグ回路が多数の複雑なデバッグ動作をバッファリングして、それらをシステム速度で実行することができる時に、さらに重要になる。本技術は、集積回路の外部から受信されるデバッグコマンドに応答してバリアトランザクションを発生させる能力を伴う、集積回路上のデバッグアクセスポート回路を提供する。これらのバリアトランザクションは、より高度で正確なデバッグ動作が実行されることを可能にする様式で、集積回路の相互接続回路を通過するデータトランザクションのうちの少なくともいくつかの相対的順序付けを抑制するために使用される。バリアトランザクションのアクションを検討する別の方法は、それらを2つの群、すなわちAおよびB(ならびにバリアによって順序付けされないトランザクションである、第3群のトランザクション)に分けて、それらの群の間で順序付けを形成することである。これらの群(サブセット)は、非重複である。
【0008】
本技術を使用して導入(投入)することが可能である、異なる種類のバリアトランザクションがある。いくつかの実施形態では、バリアトランザクションは、メモリバリアトランザクションであり、相互接続回路は、該第1のサブセットの全ての該トランザクションの少なくともいくつかのアクションが、該1つ以上のトランザクションマスターおよび該デバッグアクセスポート回路のうちの1つである、各オブザーバに観察可能となった後に、該第2のサブセットの該トランザクションのうちのいずれかのアクションが該オブザーバに観察可能となることを提供するように構成される。観察可能であることは、オブザーバが観察(例えば、読み取り)を行い、次いで、そのアクションに注目(見る)するが、オブザーバが実際にその観察を行うことを必要としないという効果をもたらす。例示的実装は、メモリバリアトランザクション全体にわたって、データトランザクションのうちの少なくともいくつかの再順序付けを許可しないことによって、相対的順序付けを維持してもよい。したがって、バリアトランザクションのそれぞれの側にあるデータトランザクションは、それらがバリアトランザクションの同じ側に留まっているのであれば、再順序付けされ得るが、いかなるデータトランザクションも、一方のバリアトランザクションの側から他方のバリアトランザクションの側に変えるようには再順序付けされ得ない。
【0009】
他の実施形態では、別々に、またはメモリバリアトランザクションと組み合わせて、同期バリアトランザクションが提供されてもよい。この場合、相互接続回路は、該第1のサブセットの全ての該トランザクションの少なくともいくつかのアクションが、該1つ以上のトランザクションマスターおよび該デバッグアクセスポート回路である、全てのオブザーバに対して観察可能となった後に、該第2のサブセットの該トランザクションのうちのいずれかのアクションが、該オブザーバのうちのいずれかに観察可能となることを提供するように構成される。例示的実装は、同期バリアトランザクションの直前のトランザクションの第1のサブセットがそれらの宛先スレーブに到達するまで、同期バリアトランザクションに続くトランザクションの第2のサブセットを遅延させることによって、相対的順序付けを維持してもよい。
【0010】
複数のトランザクションマスターを伴うシステムでは、この相対的順序付けは、全てのマスターがトランザクションを発行しているマスターではない場合であっても、それらが同じ順序付けを見るように維持されなければならない。例えば、一方のマスターが、介入バリアトランザクションを伴う1対の書き込みトランザクションを発行した場合、それらの場所を読み取るもう一方のマスターは、バリアによって保証される順序で、書き込まれた値を観察することだけが可能でなければならない。
【0011】
デバッグアクセスポート回路がデバッグコントローラによって制御されてもよい、種々の方法がある。いくつかの実施形態では、デバッグアクセスポート回路は、バリア制御レジスタを備え、デバッグアクセスポート回路は、デバッグコントローラから受信されるバリアデバッグコマンドに応答して、バリア制御値をバリア制御レジスタに書き込むように構成される。このようにして、データおよびコマンドは、バリア制御レジスタを介してデバッグアクセスポート回路に転送されてもよい。
【0012】
いくつかの実施形態では、デバッグアクセスポート回路は、バリアトランザクションを発生させることによって、バリア制御値の書き込みに応答するように制御されてもよい。バリア制御値は、どのタイプのバリアトランザクションを発生させるのかを指定してもよい。バリアトランザクションと関連付けられる他のパラメータのようなさらなる情報もまた、デバッグアクセスポート内のバリア制御レジスタまたは他のレジスタに書き込まれてもよい。他のパラメータは、種々の形態を取ってもよい。
【0013】
他のパラメータは、ドメイン指定子を含んでもよい。ドメインは、バリアが前述のように観察可能性順序付けを保証する、1組のマスターを備える。
【0014】
システムは、複数のドメインを含んでもよく、それらのドメインは、階層的であってもよい。例えば、一方のマスター群が内部ドメインを形成するのに対して、他方のマスターが同じく内部ドメインを含む外部ドメインの一部であってもよい。
【0015】
内部ドメインパラメータを伴うバリアは、同じ内部ドメインの中のマスターの観察可能性順序付けだけしか保証しないのに対して、外部ドメインの順序付けを伴うバリアは、内部および外部ドメイン双方の中の全てのマスターの観察可能性を保証する。
【0016】
いくつかの実施形態では、ドメインは、バリア制御値で指定され、他では、バリア制御レジスタ等で指定される。
【0017】
バリア信号伝達は、例えば、以下を使用してもよい。
00 共有不可能。このマスターだけの順序付け。
01 内部ドメイン。
10 外部ドメイン。
11 システム。システムの中の全てのマスター。
【0018】
別の態様から概観すると、本発明は、
複数のデータトランザクションを発生させるための、1つ以上のトランザクションマスター手段と、
該集積回路の外部のデバッグコントローラにデバッグインターフェースを介して連結するための、デバッグアクセスポート手段と、
該1つ以上のトランザクションマスター手段および該デバッグアクセスポート手段から複数のデータトランザクションを受信するための、相互接続手段と、を備え、
該デバッグアクセスポート手段は、該デバッグインターフェースを介して該デバッグコントローラから受信される1つ以上のデバッグコマンドに応答して、バリアトランザクションを発生させ、
該相互接続手段は、該バリアトランザクションを受信し、少なくとも該相互接続回路を通しての該複数のデータトランザクションの第1のサブセットと第2のサブセットとの間の相対的順序付けを抑制することによって、該バリアトランザクションに応答する、集積回路を提供する。
【0019】
さらなる態様から概観すると、本発明は、
より多くのトランザクションマスターのうちの1つを伴う複数のデータトランザクションを発生させるステップと、
デバッグアクセスポート回路を、該集積回路の外部のデバッグコントローラにデバッグインターフェースを介して連結するステップと、
該1つ以上のトランザクションマスターおよび該デバッグアクセスポート回路から複数のデータトランザクションを相互接続回路で受信するステップと、
該デバッグインターフェースを介して該デバッグコントローラから受信される1つ以上のデバッグコマンドに応答して、該デバッグアクセスポート回路から該相互接続回路に発行されるバリアトランザクションを発生させるステップと、
該相互接続回路によって受信される該バリアトランザクションに応答して、少なくとも該相互接続回路を通しての該複数のデータトランザクションの第1のサブセットと第2のサブセットとの間の相対的順序付けを抑制するステップと、を含む、集積回路を動作させる方法を提供する。
【0020】
本発明の前述の、および他の目的、特徴、および利点は、添付図面に関連して読まれるべき、例示的な実施形態の以下の詳細な説明から明らかになるであろう。
【図面の簡単な説明】
【0021】
【図1】デバッグコントローラにデバッグインターフェースを介して接続される集積回路を概略的に示す図である。
【図2】デバッグアクセスポート回路を概略的に示す図である。
【図3】デバッグアクセスポート回路内の制御レジスタを概略的に示す図である。
【図4】バリア制御レジスタを概略的に示す図である。
【図5】デバッグアクセスポート回路による、バリアトランザクションの発行のトリガリングを概略的に示す図である。
【図6】メモリバリアトランザクションのアクションを概略的に示す図である。
【図7】同期バリアトランザクションのアクションを概略的に示す図である。
【発明を実施するための形態】
【0022】
図1は、デバッグインターフェースを介してデバッグコントローラ6に接続されるデバッグアクセスポート回路4を含む、集積回路2を概略的に例証する。集積回路2は、中央処理ユニット8、第1のトランザクションマスター10、および第2のトランザクションマスター12を含む、複数のトランザクションマスターを含む。メモリコントローラ14は、トランザクションスレーブであり、オフチップメモリ16へのアクセスを提供する。また、トランザクションスレーブとしての役割を果たす、オンチップメモリ18も提供される。PCIe等のインターフェース用の組み込み型周辺機器またはコントローラ等の、他のオンチップスレーブがあってもよい(図示せず)。中央処理ユニット8、第1のトランザクションマスター10、第2のトランザクションマスター12、デバッグアクセスポート回路4、メモリコントローラ14、およびオンチップメモリ18は、全て、マスターとスレーブとの間のデータトランザクションの経路を定める役目をする、相互接続回路20に接続される。相互接続回路20は、例えば、ARM Limited(Cambridge、England)によって設計された、AMBA AXI通信機構および技術に対応してもよい。
【0023】
動作に際して、通常の機能モード処理を実行するトランザクションマスター8、10、12は、相互接続回路20を介してトランザクションスレーブ14、18へ送られる、データトランザクションを発生させる。これらのデータトランザクションは、読み取りトランザクションまたは書き込みトランザクションであってもよい。
【0024】
デバッグアクセスポート回路4は、デバッグインターフェースを介してデバッグコントローラ6と通信する。デバッグコントローラ6は、次に、汎用コンピュータによって制御されてもよい。デバッグコントローラ6は、デバッグインターフェースを介してデバッグアクセスポート回路4にデバッグコマンドを発行する役目をする。これらのコマンドは、相互接続回路20に発行されるバリアトランザクションを発生させるために、デバッグアクセスポート回路4をトリガーするコマンドを含んでもよい。デバッグコマンドはまた、デバッグアクセスポート回路4によって発行される読み取りトランザクションまたは書き込みトランザクションをトリガーしてもよい。読み取りトランザクションは、図1で例証されるシステム内からのデータ値を復元するために、デバッグアクセスポート回路4によって発行されてもよい。書き込みトランザクションは、例えば集積回路内の制御レジスタを異なる値に設定して集積回路2の構成を変えるといった特定の方法で、図1に例証されるシステムを刺激するために発行されてもよい。
【0025】
図2は、デバッグアクセスポート回路4をさらに詳細に概略的に例証する。デバッグアクセスポート回路4は、デバッグインターフェースとしての役割を果たすシリアルインターフェース(他の形態のインターフェースも可能である)を介してデバッグコントローラ6からデバッグコマンドを受信する、インターフェース制御回路22を含む。これらのデバッグコマンドは、インターフェース制御回路22内の制御レジスタ24に対する読み取りおよび書き込みを実行する役目をする。これらの制御レジスタ24に書き込まれる値は、デバッグアクセスポート回路4内の複数のアクセスポートノード26、28、30が種々のデバッグ関連の動作を実行するように構成するために使用されてもよい。これらのアクセスポートノード26、28、30は、それぞれ、インターフェース制御回路22および制御レジスタ24を介してその動作を構成するようにプログラムされる、アクセスポート制御レジスタ226、228、230を含む。アクセスポートノード26、28、30は、相互接続回路20に接続し、インターフェース制御回路22、制御レジスタ24、およびアクセスポート制御レジスタ226によって構成された時に相互接続回路20に発行される書き込みトランザクション、読み取りトランザクション、およびバリアトランザクションを発生させる役目をする、ノード26を含む。ノード28は、それを介してデバッグ動作が実行されてもよいプライベートデバッグバスへのインターフェースを提供し、ノード30は、集積回路2内に提供されるJTAGシリアルスキャンチェーン回路へのインターフェースを提供する。
【0026】
図3は、制御レジスタ226をさらに詳細に概略的に例証する。これらの制御レジスタは、バリア制御レジスタ32と、データ読み取り/書き込みレジスタ34と、目標アドレスレジスタ36と、動作制御レジスタ38とを含む。動作制御レジスタ38には、トランザクションと関連付けられる特権レベルまたはドメイン等のパラメータを含む、所望の動作を実行するようにアクセスポートノード26を制御する値が書き込まれてもよい。目標アドレスレジスタ36は、相互接続回路20を介して実行される読み取りトランザクションまたは書き込みトランザクションのための目標アドレスである、アドレス値を保持するために使用される。読み取り/書き込みレジスタ34は、読み取りトランザクションに応答して、集積回路2内の記憶場所から読み取られる、または書き込みトランザクションに応答して、集積回路2内の記憶場所に書き込まれる、データ値を保持するために使用される。バリア制御レジスタ32は、バリアトランザクションの発生をトリガーするために使用される。
【0027】
図4は、バリア制御レジスタ32をさらに詳細に概略的に例証する。バリア制御レジスタ32は、第1のフィールド40を含み、「1」の値が書き込まれた場合は、ノード26を介してバリアトランザクションが相互接続回路20に発行される。バリアトランザクションが発行された時に、フィールド40は、ノード26およびインターフェース回路22によって「0」の値に再設定される。フィールド40内で保持されている値が既に「1」であるのに「1」の値がフィールド40に書き込まれた場合は、既にバリアトランザクションが発行過程にあるので、第2の書き込みは無視される。
【0028】
バリア制御レジスタ32内の第2のフィールド42は、発行されるバリアトランザクションの種類を指定する値に、デバッグコマンドによって書き込まれる。第2のフィールドに値「11」が書き込まれた場合は、同期バリアトランザクションが発行される。第2のフィールド42に値「01」が書き込まれた場合は、メモリバリアトランザクションが発行される。バリア制御レジスタ32に書き込まれるバリア制御値は、典型的に、第1のフィールド40と、第2のフィールド42とを含むことを理解するであろう。バリア制御値で最も重要なビットは、それらの意味において現在予約されている。
【0029】
図5は、バリアトランザクションを発生させる際のデバッグアクセスポート回路4の挙動を概略的に例証する。ステップ44で、トランザクションコマンドがデバッグアクセスポート回路4で受信されるまで、処理を待機する。そのようなコマンドを受信した時に、ステップ46は、デバッグコマンドが指示されたレジスタアドレスを復号化する役目をする。このレジスタアドレスは、図3で例証されるアクセスポート制御レジスタ226のうちの1つを指定する。ステップ48は、ステップ44で受信したデバッグコマンドが、バリア制御レジスタ32への書き込みであるかどうかを判定する。この実施例では、バリア制御レジスタ32への書き込みがあった場合、これは、第1のフィールド40を検査することを必要とせずに、バリアトランザクションの発行をトリガーしているとみなされてもよい。しかしながら、他の実施例では、図4に関連して前述したように、「1」の値に送信されたかどうかを判定するために、第1のフィールド40の読み取りが行われ得る可能性がある。
【0030】
ステップ48で、バリア制御レジスタ32への書き込みが行われたという判定であった場合、ステップ50は、バリア制御値内の第2のフィールド42からバリアの種類を判定する役目をする。次いで、ステップ52は、ステップ52で、選択された種類のバリアトランザクション(メモリバリアトランザクションか、または同期バリアトランザクション)を相互接続回路20に発行する。
【0031】
ステップ48で、バリア制御レジスタへの書き込みがないという判定であった場合、いくつかの他の種類のデバッグ動作が指示されているので処理は終了し、これは、他の論理および制御機構によって処理される。
【0032】
図6は、メモリバリアトランザクションを概略的に例証する。トランザクションは、メモリバリアトランザクションのそれぞれの側で最順序付けされてもよいことが分かる。しかしながら、メモリトランザクションは、メモリバリアトランザクションの側を変えるようには最順序付けされなくてもよい。
【0033】
図7は、同期バリアトランザクションを概略的に例証する。相互接続回路20は、そのような同期バリアトランザクションに応答して、同期バリアトランザクションの他方の側の最も最近に先行するトランザクションZが、その宛先トランザクションスレーブに到達するまで、相互接続回路20を通してのトランザクションYの進行を遅延させる。
【0034】
制御レジスタ38を伴うドメイン制御フィールドは、以下のような値を有してもよい。
00 共有不可能。このマスターだけのための順序付け。
01 内部ドメイン。
10 外部ドメイン。
11 システム。システムの中の全てのマスター。
【0035】
バリアトランザクションのさらなる詳細は、特許出願公開第GB−A−2,474,532号および第GB−A−2,474,533号に見出すことができる。これらの公開出願の内容は、その全体を、具体的にはバリアトランザクションの動作および挙動に関連して参照することにより本明細書に組み込まれる。
【0036】
本発明の例示的実施形態を、添付図面を参照しながら本明細書に詳細に説明したが、本発明は、それらの厳密な実施形態に限定されるものではなく、また、種々の変更および修正は、添付の特許請求の範囲に記載の本発明の範囲および趣旨から逸脱することなく、当業者によってその中で行うことができることを理解されたい。
【符号の説明】
【0037】
2 集積回路
4 デバッグアクセスポート回路
6 デバッグコントローラ
8 中央処理ユニット
10 第1のトランザクションマスター
12 第2のトランザクションマスター
14 メモリコントローラ
16 オフチップメモリ
18 オンチップメモリ
20 相互接続回路

【特許請求の範囲】
【請求項1】
複数のデータトランザクションを発生させるように構成される、1つ以上のトランザクションマスターと、
前記集積回路の外部のデバッグコントローラにデバッグインターフェースを介して連結されるように構成される、デバッグアクセスポート回路と、
前記1つ以上のトランザクションマスターおよび前記デバッグアクセスポート回路に連結され、かつ前記1つ以上のトランザクションマスターおよび前記デバッグアクセスポート回路から複数のデータトランザクションを受信するように構成される、相互接続回路と、
を備え、
前記デバッグアクセスポート回路は、前記デバッグインターフェースを介して前記デバッグコントローラから受信される1つ以上のデバッグコマンドに応答して、バリアトランザクションを発生させるように構成され、
前記相互接続回路は、前記バリアトランザクションを受信し、少なくとも前記相互接続回路を通しての前記複数のデータトランザクションの第1のサブセットと第2のサブセットとの間の相対的順序付けを抑制することによって、前記バリアトランザクションに応答するように構成される、
集積回路。
【請求項2】
前記バリアトランザクションは、メモリバリアトランザクションであり、前記相互接続回路は、前記第1のサブセットの全ての前記トランザクションの少なくともいくつかのアクションが、前記1つ以上のトランザクションマスターおよび前記デバッグアクセスポート回路のうちの1つである、各オブザーバに観察可能となった後に、前記第2のサブセットの前記トランザクションのうちのいずれかのアクションが前記オブザーバに観察可能となることを提供するように構成される、請求項1に記載の集積回路。
【請求項3】
前記バリアトランザクションは、メモリバリアトランザクションであり、前記相互接続回路は、前記メモリバリアトランザクション全体にわたって、前記複数の前記データトランザクションのうちの少なくともいくつかの再順序付けを許可しないことによって、前記相対的順序付けを維持するように構成される、請求項1に記載の集積回路。
【請求項4】
前記バリアトランザクションは、同期バリアトランザクションであり、前記相互接続回路は、前記第1のサブセットの全ての前記トランザクションのうちの少なくともいくつかのアクションが、前記1つ以上のトランザクションマスターおよび前記デバッグアクセスポート回路である、全てのオブザーバに対して観察可能となった後に、前記第2のサブセットの前記トランザクションのうちのいずれかのアクションが、前記オブザーバのうちのいずれかに観察可能となることを提供するように構成される、請求項1に記載の集積回路。
【請求項5】
前記バリアトランザクションは、同期バリアトランザクションであり、前記相互接続回路は、前記第1のサブセットがそれらの宛先スレーブに到達するまで、前記同期バリアトランザクションに続く前記第2のサブセットを遅延させることによって、前記相対的順序付けを維持するように構成される、請求項4に記載の集積回路。
【請求項6】
前記デバッグアクセスポート回路は、バリア制御レジスタを備え、前記デバッグアクセスポート回路は、前記デバッグコントローラから受信されるバリアデバッグコマンドに応答して、バリア制御値を前記バリア制御レジスタに書き込むように構成される、請求項1に記載の集積回路。
【請求項7】
前記デバッグアクセスポート回路は、前記バリアトランザクションを発生させることによって、前記バリア制御レジスタへの前記バリア制御値の書き込みに応答するように構成される、請求項6に記載の集積回路。
【請求項8】
前記バリア制御値は、どのタイプの前記バリアトランザクションを発生させるのかを指定する、請求項6に記載の集積回路。
【請求項9】
前記バリアトランザクションと関連付けられるバリア動作のパラメータを指定する、トランザクション制御レジスタをさらに備える、請求項1に記載の集積回路。
【請求項10】
前記パラメータは、前記バリアトランザクションのための動作のドメインを含む、請求項9に記載の集積回路。
【請求項11】
複数のデータトランザクションを発生させるための、1つ以上のトランザクションマスター手段と、
前記集積回路の外部のデバッグコントローラにデバッグインターフェースを介して連結するための、デバッグアクセスポート手段と、
前記1つ以上のトランザクションマスター手段および前記デバッグアクセスポート手段から複数のデータトランザクションを受信するための、相互接続手段と、
を備え、
前記デバッグアクセスポート手段は、前記デバッグインターフェースを介して前記デバッグコントローラから受信される1つ以上のデバッグコマンドに応答して、バリアトランザクションを発生させ、
前記相互接続手段は、前記バリアトランザクションを受信し、少なくとも前記相互接続回路を通しての前記複数のデータトランザクションの第1のサブセットと第2のサブセットとの間の相対的順序付けを抑制することによって、前記バリアトランザクションに応答する、
集積回路。
【請求項12】
一つ以上のトランザクションマスターを持つ複数のデータトランザクションを発生させるステップと、
デバッグアクセスポート回路を、前記集積回路の外部のデバッグコントローラにデバッグインターフェースを介して連結するステップと、
前記1つ以上のトランザクションマスターおよび前記デバッグアクセスポート回路から複数のデータトランザクションを相互接続回路で受信するステップと、
前記デバッグインターフェースを介して前記デバッグコントローラから受信される1つ以上のデバッグコマンドに応答して、前記デバッグアクセスポート回路から前記相互接続回路に発行されるバリアトランザクションを発生させるステップと、
前記相互接続回路によって受信される前記バリアトランザクションに応答して、少なくとも前記相互接続回路を通しての前記複数のデータトランザクションの第1のサブセットと第2のサブセットとの間の相対的順序付けを抑制するステップと、
を含む、集積回路を動作させる方法。
【請求項13】
前記バリアトランザクションは、メモリバリアトランザクションであり、前記相対的順序付けは、前記第1のサブセットの全ての前記トランザクションの少なくともいくつのアクションが、前記1つ以上のトランザクションマスターおよび前記デバッグアクセスポート回路のうちの1つである、各オブザーバに観察可能となった後に、前記第2のサブセットの前記トランザクションのうちのいずれかのアクションが前記オブザーバに観察可能となることを提供することによって制限される、請求項12に記載の方法。
【請求項14】
前記バリアトランザクションは、メモリバリアトランザクションであり、前記相対的順序付けは、前記メモリバリアトランザクション全体にわたって、前記複数の前記データトランザクションのうちの少なくともいくつかの再順序付けを許可しないことによって、前記相対的順序付けを維持するように抑制される、請求項13に記載の方法。
【請求項15】
前記バリアトランザクションは、同期バリアトランザクションであり、前記相対的順序付けは、前記第1のサブセットの全ての前記トランザクションのうちの少なくともいくつかのアクションが、前記1つ以上のトランザクションマスターおよび前記デバッグアクセスポート回路である、全てのオブザーバに対して観察可能となった後に、前記第2のサブセットの前記トランザクションのうちのいずれかのアクションが、前記オブザーバのうちのいずれかに観察可能となることを提供することによって抑制される、請求項12に記載の方法。
【請求項16】
前記バリアトランザクションは、同期バリアトランザクションであり、前記相対的順序付けは、前記第1のサブセットがそれらの宛先スレーブに到達するまで、前記同期バリアトランザクションに続く前記第2のサブセットを遅延させることによって、前記相対的順序付けを維持するように抑制される、請求項15に記載の方法。
【請求項17】
前記デバッグコントローラから受信されるバリアデバッグコマンドに応答して、バリア制御値を前記デバッグアクセスポート回路内のバリア制御レジスタに書き込むことを含む、請求項12に記載の方法。
【請求項18】
前記バリア制御レジスタへの前記バリア制御値の書き込みに応答して、前記バリアトランザクションを発生させることを含む、請求項17に記載の方法。
【請求項19】
前記バリア制御値は、どのタイプの前記バリアトランザクションを発生させるのかを指定する、請求項17に記載の方法。
【請求項20】
前記バリアトランザクションと関連付けられるバリア動作のパラメータをトランザクション制御レジスタに記憶することを含む、請求項12に記載の方法。
【請求項21】
前記パラメータは、前記バリアトランザクションのための動作のドメインを含む、請求項20に記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2013−37686(P2013−37686A)
【公開日】平成25年2月21日(2013.2.21)
【国際特許分類】
【外国語出願】
【出願番号】特願2012−170920(P2012−170920)
【出願日】平成24年8月1日(2012.8.1)
【出願人】(504394342)アーム・リミテッド (134)
【Fターム(参考)】