(57)【特許請求の範囲】
【請求項１】
少なくとも１つの同期化されたユニットと、相互接続されたＣＰＵおよびキャッシュシステムとが、上部に集積化されたコンピュータチップであり、該チップが少なくとも２つの異なる作動モードのうちのいずれかのモードに設定可能であり、第１のモードがＤＵＴモードであり、第２のモードがＭＯＮＩＴＯＲモードであり、該ＭＯＮＩＴＯＲモードと前記ＤＵＴモードとが相補的であり、チップと別の同一のチップとが相補的モードにある間、これらチップをパラレルに作動できるようにする信号を送ることができるよう、別の同一のチップに接続可能なデバッグバスを含み、前記信号が前記同期化ユニットによって発生される同期化信号を含むコンピュータチップ。
【請求項２】
アドレスバス部分およびデータバス部分を含むメモリバスに接続されたメモリコントローラを更に含み、前記モニタモードが少なくとも２つの異なるテストモードを含み、前記メモリコントローラがそれぞれの異なるテストモードに対しアドレスバス部分上に異なるタイプのデータを出力できるようにするモード設定回路を含む、請求項１記載のコンピュータチップ。
【請求項３】
前記モード設定回路が多重化回路を含み、該多重化回路の出力端がメモリバスのアドレスバス部分に接続されており、多重化回路の第１入力端がチップ内通信のための通信手段内に設けられたアドレスバス部分に接続されており、第２入力端が前記通信手段内に設けられたデータバス部分に接続されており、前記多重化回路が前記テストモードのうちの第１モードにある時、前記第１入力端を前記出力端に接続し、前記テストモードの第２モードにある時、前記第２入力端を前記出力端に接続する、請求項２記載のコンピュータチップ。
【請求項４】
デバッグバス上で通信される前記信号が更にＣＰＵおよびＤＭＡユニットのステータス情報を更に含む、請求項１記載のコンピュータチップ。
【請求項５】
前記同期化信号がチップにより受信される外部非同期信号に関する同期化情報を搬送する信号およびインタラプトに関する同期化信号を搬送する信号を含む、請求項１記載のコンピュータチップ。
【請求項６】
少なくとも１つの同期化ユニットと、すべてが相互に接続されたＣＰＵと、キャッシュシステムと、ＤＭＡユニットと、メモリコントローラとが上部に集積化されたメインチップを含み、該チップが少なくとも２つの異なる作動モードのうちのいずれかのモードに設定可能であり、第１のモードがＤＵＴモードであり、第２のモードがＭＯＮＩＴＯＲモードであり、該ＭＯＮＩＴＯＲモードと前記ＤＵＴモードとが相補的であり、前記メインチップが相補的なモードとなっている間、コンピュータ装置と別のコンピュータ装置をパラレルに作動させることができる信号を送るための、同一のメインチップを含む別のコンピュータ装置に接続可能なデバッグポートを更に含む、コンピュータ装置。
【請求項７】
第１コンピュータ装置および第２コンピュータ装置を含み、これらコンピュータ装置の各々がメインチップを含み、該メインチップが少なくとも１つの同期化ユニットと、すべてが相互に接続されたＣＰＵと、キャッシュシステムと、ＤＭＡユニットと、メモリコントローラとが上部に集積化されたメインチップを含み、各チップが少なくとも２つの異なる作動モードのうちの１つのモードに設定可能であり、第１モードがＤＵＴ作動モードであり、第２モードがＭＯＮＩＴＯＲモードであり、該ＭＯＮＩＴＯＲモードとＤＵＴ作動モードとが相補的であり、各コンピュータ装置が更にデバッグポートを含み、該デバッグポートにより前記第１コンピュータと第２コンピュータとが相互に接続されており、第１コンピュータのメインチップがＤＵＴモードに設定され、第２コンピュータのメインチップがＭＯＮＩＴＯＲモードに設定されており、第１コンピュータがこの第１コンピュータ装置のメモリコントローラから引き出された第１メモリバスを含み、第２コンピュータ装置のメモリコントローラが第２コンピュータのメモリコントローラから引き出された第２メモリバスを通して少なくとも部分的に第１メモリに接続されているデバッグシステム。
【請求項８】
前記第２メモリバスのアドレスバス部分に接続されたロジカルアナライザを更に含む、請求項７記載のデバッグシステム。
【請求項９】
前記ロジカルアナライザがオペレータのコンピュータのウェブサーバーに接続可能なネットワークインターフェースを有する、請求項８記載のデバッグシステム。
【請求項１０】
前記第２コンピュータが他のチップに同一であり、ＭＯＮＩＴＯＲモードに設定される少なくとも１つの別のチップを含み、前記ロジカルアナライザが前記別のチップのメモリコントローラから引き出された別のメモリのアドレスバス部分に接続されており、ＭＯＮＩＴＯＲモードが少なくとも２つの異なるテストモードを含み、前記少なくとも２つのＭＯＮＩＴＯＲモードのチップが異なるテストモードに設定されており、それぞれのアドレスバス部分に異なる情報を出力する、請求項８記載のデバッグシステム。
【請求項１１】
チップおよびアドレスピン、データピンおよびチップとインターフェースするためのクロックピン上で処理を実行するよう、相互に結合された内部部品を含む集積回路チップに組み込むためのデバッグ回路であって、
該デバッグ回路が、入力端、出力端および制御接続部を備えたデバッグスイッチを含み、前記入力端が前記内部部品の所定の部品に結合されており、前記出力端がアドレスピンに接続されており、前記制御接続部がチップとインターフェースするためのモード選択ピンに結合されており、該デバッグスイッチがアドレスピンにてチップ上の処理をモニタできるよう、入力端のうちの１つを出力端に結合するよう、モード選択ピン上のモード信号に応答自在であるデバッグ回路。
【請求項１２】
入力端、出力端および制御接続部を備えた同期化回路を更に備え、前記制御接続部が前記モード選択ピンに結合され、前記入力端が非同期信号ソースに結合され、前記出力端が内部部品のうちの少なくとも１つに結合されており、前記同期化回路が第１コンフィギュレーションを採用するように、モード選択ピンにおける第１モード選択信号に応答自在であり、前記第１コンフィギュレーションにおいて、信号ソースからの前記非同期信号をラッチし、入力端における信号変化がない時間中、デバッグバスにイネーブル信号を出力し、処理のためのチップの内部部品に前記非同期信号をリリースするよう、該非同期信号をアンラッチするようになっている、請求項１１記載のデバッグ回路。
【請求項１３】
入力端、出力端および制御接続部を備えた同期化回路を更に備え、前記制御接続部が前記モード選択ピンに結合され、前記入力端が非同期信号ソースに結合され、前記出力端が内部部品のうちの少なくとも１つに結合されており、前記同期化回路が第２コンフィギュレーションを採用するように、モード選択ピンにおける第２モード選択信号に応答自在であり、前記第２コンフィギュレーションにおいて、信号ソースからの前記非同期信号をラッチし、デバッグバスにおけるイネーブル信号に応答し、処理のためのチップの内部部品に前記非同期信号をリリースするよう、該非同期信号をアンラッチするようになっている、請求項１２記載のデバッグ回路。
【請求項１４】
入力端、出力端および制御接続部を備えた同期化回路を更に備え、前記制御接続部が前記モード選択ピンに結合され、前記入力端が非同期信号ソースに結合され、前記出力端が内部部品のうちの少なくとも１つに結合されており、前記同期化回路が第１コンフィギュレーションを採用するように、モード選択ピンにおける第１モード選択信号に応答自在であり、前記第１コンフィギュレーションにおいて、信号ソースからの前記非同期信号をラッチし、デバッグバスにおける非同期信号に対応するコード化された信号を出力し、処理のためのチップの内部部品に前記非同期信号をリリースするよう、該非同期信号をアンラッチするようになっている、請求項１１記載のデバッグ回路。
【請求項１５】
入力端、出力端および制御接続部を備えた同期化回路を更に備え、前記制御接続部が前記モード選択ピンに結合され、前記入力端が非同期信号ソースに結合され、前記出力端が内部部品のうちの少なくとも１つに結合されており、前記同期化回路が第２コンフィギュレーションを採用するように、第２モード選択信号に応答自在であり、前記第２コンフィギュレーションにおいて、デバッグバスのコード化された信号を受信し、このコード化された信号をデコードし、デコードされた信号をラッチし、所定の遅延時間後、処理するためのチップの内部部品にデコードされた信号をリリースするよう、デコードされた信号をアンラッチするようになっている、請求項１４記載のデバッグ回路。
【請求項１６】
集積回路チップ上の内部部品がデータと、デジタル信号と、グラフィック信号、ビデオ信号、オーディオ信号、パターン認識信号およびプログラマブルロジックから成る処理の群のうちの少なくとも１つを実行する、請求項１１記載のデバッグチップ。
【請求項１７】
プロセッサと、キャッシュメモリと、メモリコントローラユニットと、チップおよびアドレスピン、データピンおよび前記チップとインターフェースするためのクロックピン上で処理を実行するよう前記プロセッサ、前記キャッシュメモリおよび前記メモリコントローラユニットを互いに結合するローカルバスとを含む集積回路チップに組み込むためのデバッグ回路であって、
入力端、出力端および制御接続部を備えたデバッグスイッチを含み、前記入力端が前記メモリコントローラユニット、前記ローカルバスのデータ部分および前記ローカルバスのアドレス部分に結合されており、出力端がアドレスピンに接続されており、前記制御接続部が前記チップとインターフェースするためのモード選択ピンに結合されており、該デバッグスイッチがモード選択ピン上のモード信号に応答し、入力端のうちの１つを出力端に結合し、アドレスピンにおいてチップ上の処理をモニタするようになっているデバッグ回路。
【請求項１８】
プログラムコードの実行中にチップの内部ステートをモニタするためのテスト装置であって、
アドレスピンおよびデータピンを備え、プログラムコードを記憶するのに適したアドレス指定可能なメモリと、
同一の第１チップおよび第２チップを含み、各チップがその上で処理を実行するよう、互いに結合された内部部品と、アドレスピンおよびデータピンを含む、各チップとインターフェースするためのピンと、前記アドレスピンに２つの入力端のいずれかを結合するためのデバッグスイッチを含み、第１チップのアドレスピンが内部部品のうちのアドレス発生部品に前記デバッグスイッチを介して結合されており、前記第２チップのアドレスピンが内部部品の別の部品に関連する処理をモニタするよう、内部部品の別の部品に前記デバッグスイッチを介して結合されており、
アドレス部分およびデータ部分を含み、前記アドレス部分が前記第１チップおよび前記アドレス指定可能なメモリの前記アドレスピンに結合されており、データ部分が前記第１チップ、前記第２チップおよび前記アドレス指定可能なメモリのデータピンに結合されているシステムバスを更に含むテスト装置。
【請求項１９】
前記第１チップ上のプログラムコードの実行と、前記第２チップ上のプログラムコードの実行とを同期化させるための手段を更に含む、請求項１８記載のテスト装置。
【請求項２０】
前記第２チップの前記アドレスピンをモニタし、前記内部部品の別の部分に関連した処理をモニタするための手段を更に含む、請求項１８記載のテスト装置。
【請求項２１】
前記第１チップおよび前記第２チップの対応する前記デバッグスイッチが、前記第１チップおよび前記第２チップの対応するチップの前記アドレスピンを前記内部部品の前記アドレス発生部品に結合するよう、モード選択ピン上の第１モード信号に応答自在であり、前記第２チップの前記アドレスピンを内部部品の別の部品に結合し、前記アドレスピンにおいてチップ上の処理をモニタするよう、前記モード選択ピン上の第２モード信号に応答自在である、請求項１８記載のテスト装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般的にはコンピュータチップおよびコンピュータ装置に関し、より詳細には、プログラムデバッギングに完全に適したコンピュータチップおよび装置に関し、デバッギングシステムにも関する。
【０００２】
【従来技術】
新しいコンピュータプログラムの開発する際の重要な工程は、プログラムエラーを訂正するためにプログラムをデバッグすることである。このプログラムデバッギングはコンピュータ上でプログラムを実行し、コンピュータと周辺機器との間で外部で通信されるだけでなく、コンピュータの異なる回路の間で内部で通信される異なる信号をモニタすることによって行われる。かかる回路としては、例えば中央処理ユニット（ＣＰＵ）と、ダイレクトメモリアクセス（ＤＭＡ）ユニットと、メインメモリと、入出力（Ｉ／Ｏ）インターフェース回路とが挙げられる。コンピュータを作動させながらプログラムのデバッギングを可能にするために、これまでコンピュータ回路が搭載されたサーキットボードにプローブによってロジックアナライザを接続していた。
【０００３】
メモリアクセスをスピードアップするため、一般にコンピュータにはキャッシュメモリが設けられている。このメモリは主にＣＰＵによって高速の、すなわちアクセス時間の短い一時メモリとして使用される。この一時メモリは、最も頻繁に使用され、最も最近に使用されたメインメモリのアドレスおよびデータしかホールドしない。ＣＰＵメインメモリのすべてのアクセスの主要な部分はキャッシュメモリによってしか処理されず、アクセスの主要でない部分だけがメインメモリとキャッシュメモリとの間のデータ交換によりメインメモリを使用している。従って、プログラムの実行ではＣＰＵとキャッシュメモリとの間の信号のやり取りが中心となるので、この信号のやり取りをデバッグをすることが好ましい。
【０００４】
しかしながら、最新のコンピュータ構造ではコンピュータ回路のできるだけ多くを１つのチップに集積しようとする傾向がある。とりわけ一般に、ＣＰＵとキャッシュメモリの双方を同じチップに集積化するが、他方、通常、メインメモリは同じサーキットボードに搭載され、チップに対して外付けされる。このメインメモリは通常、いくつかの相互に接続されたチップから製造される。ワンチップに集積化することにより、ＣＰＵとメインメモリとの間だけをデバッギングしながら、ＣＰＵとキャッシュメモリとの信号のやり取りをモニタすることは不可能となっている。
【０００５】
この問題を解決しようとするいくつかの試みがこれまでなされている。従来の１つの解決案は、デバッギング操作中にキャッシュメモリをオフにすることである。こうしてすべてのメモリアクセスはメインメモリに対してなされ、モニタが可能となる。しかしながら、このことは真の状況でプログラムをモニタする可能性が失われ、すべての実行レートが低下することを意味する。かかる状況では、わからないいくつかのタイプのエラー状の動きがある。キャッシュの取り扱いはプログラムの動作の重要な部分となっている。
【０００６】
他の従来の解決案は、通常のチップの特別バージョンであるいわゆるボンドアウトチップを製造することであり、この特別バージョンのチップは、チップの内部バスに接続されるエクストラチップを有する。この解決案は通常のチップに平行して特殊なチップを製造しなければならないので、高価な解決案となる。更にこの方法によって、とりわけ引出し線が延びていることに起因し、クロック周波数が低下する。従って、リアルタイムのデバッギングは行えず、これによりリアルタイムで実行する際にエラーを生じさせる所定のバグを検出できない状態となり得る。
【０００７】
従来の更に別の解決案は、デバッグサポートを可能にする所定のレジスタを設けることである。ブレークポイントレジスタと称されることが多いこれらレジスタはプログラム実行の所定の点でソフトウェアブレークポイントを使用できるようにするものである。これらブレークポイントではモニタシステムによって読み出しすべきブレークポイントレジスタ内に現在アドレスおよびデータ情報がロードされる。この解決案は、プログラムの実行が安全にこれらブレークポイントに達したかどうかを検出することを可能にするものである。しかしながら、主な欠点は、リアルタイムでデバッギングを行えないことである。更に、ブレークポイントの間で何が生じているかはモニタできない。
【０００８】
【発明が解決しようとする課題】
従って、コンピュータをフルクロックレートで作動させながら、同一チップに集積化されたＣＰＵとキャッシュメモリとの間の信号のやり取りもモニタできるようにする新しいコンピュータ装置が望まれている。
【０００９】
本発明の目的は、デバッギングのために特別なバージョンのチップを設けることなく、フルクロックレートでＣＰＵを作動させながら、すなわちリアルタイムでデバッギングしながら、従来可能であったよりも広範にプログラムの実行をモニタすることを可能にすることにある。
【００１０】
【課題を解決するための手段】
本発明によれば、上記目的は相互に接続されたＣＰＵとキャッシュシステムとが集積化され、少なくとも２つの異なる作動モード、例えばデバイステスト（ＤＵＴ）モードである第１モードと、ＭＯＮＩＴＯＲ（モニタ）モードである第２モードのいずれかに設定可能なコンピュータチップ、および少なくとも１つの同期化ユニットにより達成される。上記ＭＯＮＩＴＯＲモードとＤＵＴモードとは相補的である。このチップはチップを相補的なモードに設定しながら、チップと別のチップとをパラレルに作動できるようにする信号をやり取りするよう、もう１つの同一チップに接続可能なデバッグバスを含む。これら信号は前記同期化ユニットによって発生される同期化信号を含む。
【００１１】
デバッグ動作するようにこのように構成されたコンピュータチップは、デバッグ用の特別バージョンのチップを製造する過剰なコストをなくすことができる。デバッグバスと同期化回路との組み合わせはＭＯＮＩＴＯＲモード、すなわちデバッグモードに設定されるもう１つの同一のチップに本質的な信号の小さい組を効率的に交換できることを考慮したものである。これら異なるモードが準備されているので、プログラム実行に関するフル情報を得るフルレートのデバッグを行うことができる。
【００１２】
【実施の形態】
図１は、デバッグ能力が高められたチップのテストコンフィギュレーションのハードウェアブロック図である。本発明の一実施例におけるこのチップは中央プロセッサ、キャッシュ、ＤＭＡユニット、ローカルバスおよびメモリマネージャを含む「チップ上のコンピュータ」の基本的機能のすべてを有する。更にこのチップは、マスターモード（デバイステスト中として（ＤＵＴ）モードまたはいくつかのスレーブ（例えばＭＯＮＩＴＯＲ）モードのうちの任意のモードのいずれかで機能できるようにする回路を含む。ＤＵＴモードとなっているチップの内部での作動およびプログラムコードの実行は、ＭＯＮＩＴＯＲモードに対してイネーブルされる１つ以上の同一チップを使って現される。ＭＯＮＩＴＯＲモードではＤＵＴモードのチップの内部状態が現されるので、ＤＵＴモードのチップおよび／またはこのＤＵＴモードチップで作動するプログラムコードをデバッグする作業が簡略化される。
【００１３】
いくつかの同一チップは共通する組のバス上で結合されている。同じチップがＭＯＮＩＴＯＲモードで作動する間、１つのチップがマスターモードとなるように構成されている。システムバスのアドレス部分を制御するよう、チップにマスターモード、例えばデバイステスト中（ＤＵＴ）モードとなるようにさせることによりデバッグが行われる。ＤＵＴモードとなっているチップはアドレスバスマスターとしてアドレスバス上に存在するアドレス、従ってすべてのマスターモードおよびスレーブモードチップを含むシステムに対するメモリおよびデバイスアクセスリクエストを制御する。システムバスのデータ部分にはスレーブモードおよびマスターモードの双方のすべてのチップが接続されているので、すべてのチップはシステムバスのデータ部分を通して同一のデータおよびプログラムコードを受信し、処理する。更にすべてのチップはプログラムコードおよびデータの同期的処理を保証するための同期化回路を含む。
【００１４】
マスターモードのチップはアドレスバスにアドレス情報を出力する機能を奏するので、アドレスバスにアドレス情報を出力するのにスレーブ／モニタモードのチップのアドレスラインは必要ではない。その代わりＭＯＮＩＴＯＲモードとなっているチップの各々のアドレスライン出力は、ＭＯＮＩＴＯＲモードのチップのアドレスライン／ピンを外部ピン接続が設けられていないチップの内部の種々の部品または信号ラインに切替可能に接続することにより、チップ内部からの情報を「外部」へ搬送するのに使用される。これら部品または信号ラインは、キャッシュ、ローカルバスデータおよびアドレスライン、インタラプトユニットおよびＤＭＡユニットを含む。通常、かかる情報は利用できないので、チップおよび／またはこのチップ上で作動するプログラムコードをデバッグすることが困難となる。
【００１５】
図１は、コンピュータシステム９８、モニタ１００、ロジックアナライザ１０２、コンピュータ１０４およびネットワーク１０６を備えたテストコンフィギュレーションを示す。コンピュータシステム９８は、計算システムのコアとして働くＤＵＴモードのチップ１１０Ｃを含む。この計算システム９８は発信機１２０、パワーオンリセット１１８、関連するシステムハードウェア１１２、メモリ１１４および入出力（Ｉ／Ｏ）ユニット１１６も含む。本例においてＤＵＴモードに構成され、デバッグ能力の高められたチップ１１０Ｃは、ローカルバス１３０Ｃ、コーデック（Ｃｏｄｅｃ）ユニット１３２Ｃおよびメモリ制御ユニット１３４Ｃを含む。このメモリ制御ユニットは第１ローカルバスのデバッグスイッチ１３６Ｃを含む。モニタ１００はＭＯＮＩＴＯＲモードに構成され、デバッグ能力が高められた２つのチップ１１０Ａ〜Ｂを含む。すべてのチップ１１０Ａ〜Ｃはそれぞれ添え字Ａ〜Ｃの付いた番号で表示された同様な部品を有する。
【００１６】
図示された実施例では、共通バスが計算システム９８とモニタ１００とを接続している。これらバスはコーデックバス／デバッグバス／符号化された事象バス１４０と、リセットおよび発振器バス１４２Ａ〜Ｂと、非同期事象バス１６４と、モード選択バス１４４と、システムバス１４６〜１４８のデータ／命令部分１４８である。ＤＵＴモードのデバッグチップ１１０Ｃはデータライン１５２Ｃおよびアドレスライン１６０Ｃを介し、システムバス１４６〜１４８のデータ部分１４８およびアドレス部分１４６にそれぞれ接続されている。データライン１５２Ａ〜Ｂを介してシステムバスのデータ部分にはそれぞれＭＯＮＩＴＯＲモードのチップ１１０Ａ〜Ｂも結合されている。システムバス１４６〜１４８はシステムハードウェア１１２、メモリ１１４およびＩ／Ｏユニット１１６にも結合されている。ＤＵＴモードのデバッグチップ１１０ＣおよびＭＯＮＩＴＯＲモードのチップ１１０Ａ〜Ｂは、バス１４２Ａ〜Ｂを介し、パワーオンリセット１１８および発振器１２０にも結合されている。更にＭＯＮＩＴＯＲモードおよびＤＵＴモードのチップ１１０Ａ〜Ｃはそれぞれモード選択モード入力ピン１５０Ａ〜Ｃをそれぞれ介し、各チップの作動モードをセットするためのモード選択バス１４４にも結合されている。また、ＤＵＴモードおよびＭＯＮＩＴＯＲモードのチップは非同期事象バス１６４にも結合されている。最終的に、デバッグバス１４０はパワーオンリセット、インタラプト、ウエイトステート、ＤＭＡアクセスおよびその他の非同期事象を含む活動を同期化するために、すべてのチップ１１０Ａ〜Ｃに結合されている。
【００１７】
ＤＵＴモードのデバッグチップ１１０Ｃのアドレスライン１６０Ｃと対照的に、デバッグチップ１１０Ａ〜Ｃのそれぞれの対応するアドレスライン１６０Ａ〜Ｂはその代わりにロジックアナライザ１０２に結合されている。コンピュータ１０４上に表示し、ここで分析するためのロジックアナライザ１０２にＤＵＴモードのデバッグチップ１１０Ｃ内のチップのローカルバスの活動および／またはインタラプト、すなわちＤＭＡ活動に対応する信号が送られるのは、これらライン１６０Ａ〜Ｂを通してである。
【００１８】
能力が高められたデバッグチップ１１０Ａ〜Ｃの各々は、作動時にメモリ１１４に記憶されたプログラムコード１８０から生じた同一のプロセス１７０を実行する。本発明の一実施例では、すべてのチップ１１０Ａ〜Ｃはメインメモリ内の同一のアドレスにブート（起動）する。しかしながら、ＤＵＴモードにされたデバッグチップ１１０Ｃしか、システムバス１４６〜１４８のアドレス部分１４６に結合されたアドレスを有しない。従って、システムバスのアドレス部分のマスターとして働くのはこのチップ１１０Ｃである。バスマスターチップ１１０Ｃはアドレスバス上でどのアクセスリクエストを処理するかを決定し、従って、システムバスのデータ部分１４８にどのデータおよび／またはプログラムコードが存在するかを決定する。システムバスのデータ部分を通してチップ１１０Ａ〜Ｃの各々に与えられる代表的なプログラムシーケンスは特定アドレスへの読み出しまたは書き込み命令を含み、この命令の次には上記チップの各々によりこの特定アドレスから読み出したり、または書き込んだりするデータが続く。従って、ＭＯＮＩＴＯＲモードのチップ１１０Ａ〜Ｂの各々は同一のデータおよび命令を受信し、メインメモリに記憶されている、例えばプログラムコード１８０に応答し、同一の動作１７０Ｃを実行するマスターチップ１１０Ｃの活動をシャドー化する。モニタチップのどれも、外部メモリ１１４への書き込みを行わない。常にＤＵＴモードのデバッグチップ１１０Ｃによってしか、外部メモリへの書き込みは行われない。
【００１９】
チップ自体、および／またはこのチップで作動するプログラムコードをデバッグするには、ピン接続のないチップの内部の種々の部品および信号ラインにアクセスし、これらのステートをモニタすることが有利である。一般に、このコンピュータチップおよびその他のチップ、例えば論理ユニット、デジタル信号プロセッサ、グラフィックプロセッサ等の計算活動の大部分は、外部ピンでは得られない。図示した実施例、例えばデバッグ能力が高められた「コンピュータ」チップ１１０Ａ〜Ｃでは、ローカルバス１３０Ａ〜Ｃとして知られるメモリ制御ユニット１３６Ａ〜Ｃの上流部でかかる活動が行われる。図示した実施例では、ローカルバスは同期部品、例えばキャッシュメモリと非同期部品、例えばＤＭＡおよびインタラプトユニットとを結合している。チップの各々における処理のほとんどは、そのＣＰＵとキャッシュメモリとの間のローカルバスで生じることができる。すなわちシステムバスではＤＭＡユニットとその活動が表示されることはない。
【００２０】
一般にプログラムコードの実行はシステムバスのデータ部分１４８からチップ１１０Ａ〜Ｃの各々によって受信された命令と関連している。プログラムコードにより各チップの中央処理ユニットＣＰＵは論理的および代数的演算を実行し、更にプログラムコードは、これら操作を行うのにシステムバスのデータ部分を通し、メモリ１１４との間でデータを読み書きすることを求めることがある。これらチップの各々は同一プログラムコードおよび同一シーケンスで作動するので、１つのチップがバスをマスター制御するだけでよく、図示された実施例ではＤＵＴモードに構成されたチップ１１０Ｃがこのチップとなっている。システムバス１４６〜１４８のアドレス部分１４６には、そのチップの読み出しおよび書き込みリクエストが記憶されており、よってそのバスのデータ部分１４８の内容を決定する。
【００２１】
各チップ１１０Ａ〜Ｃはそれぞれモード入力ピン１５０Ａ〜Ｃ上の信号によりＤＵＴモードまたはいくつかのＭＯＮＩＴＯＲモードのいずれかに構成される。デバイスのポート上の２進シーケンス「０００」に対応するデジタルシーケンスにより、デバイスをＤＵＴモードとすることができる。また、２進シーケンス「００１〜１１１」に対応する信号により、デバイスをいくつかのＭＯＮＩＴＯＲモードのいずれかにすることができる。個々の各モード信号に応答し、多数の内部ステートの変更が行われる。これら変更の１つとして、チップの各々のデバッグスイッチ１３６Ａ〜Ｃを接続することが挙げられる。チップ１１０ＣはＤＵＴモードとなっており、この場合、そのデバッグスイッチ１３６Ｃはメモリ制御ユニット１３４Ｃ内のメモリインターフェースユニット１１０Ｃ（図３参照）を介し、ローカルバス１３０Ｃのアドレス部分にアドレス出力１６０Ｃを結合する。このモードでは、キャッシュポリシーおよびチップのオンチップキャッシュメモリ２４４Ｃ（図２参照）のステートに関連し、適当な場合にはアドレス出力１６０Ｃ上にはローカルバスのアドレス部分に生じるアドレスしか発生しない。これとは逆に、モニタモードに構成された１つ以上のデバッグチップ、例えばデバッグチップ１１０Ａ〜Ｂは、メモリ制御によるフィルタリングを行うことなく、ローカルバスのアドレス部分およびローカルバスのデータ部分に接続された関連するデバッグスイッチ１３６Ａ〜Ｂを有する。これらラインの活動は、これらチップのアドレス出力ライン１６０Ａ〜Ｂによりロジックアナライザ１０２に与えられる。これらＭＯＮＩＴＯＲモードのチップ１１０Ａ〜Ｂの各々では、ローカルバスアドレスラインは関連するアドレスにより読み出しおよび書き込みコマンドを表示し続ける。ＭＯＮＩＴＯＲモードのこれらチップとＤＵＴモードのチップ１１０Ｃとの違いは、ＭＯＮＩＴＯＲモードのチップではローカルアドレス上に存在するアドレスがシステムバスのアドレス部分１４６に到達せず、従って、インターフェアレンスを除き、システムバスのデータ部分１４８上で利用できるデータを制御しないということである。むしろその代わりに、データバス上のデータは実際にはマスターモードまたはＤＵＴモードに構成されたチップ１１０Ｃによって得られたアドレスによって実際にデータバス上のデータが決定される。従って、システムバスのアドレス部分をマスターし、（従って、システムバスのデータ部分１４８の内容を決定するように）チップを構成できるようにすることにより、ＭＯＮＩＴＯＲモードのチップの活動がＤＵＴモードのチップの活動をシャドー化するようにできる。次の図面および明細書では、チップのモードに従属した別の機能について説明する。従って、インタラプトおよびＤＭＡアクセスステートの外部化、およびいくつかのチップの処理の同期化について開示する。
【００２２】
当業者には明らかなように、チップ上の専用モード選択ピンを用いることなく、モード選択を行うこともできる。本発明の別の実施例では、チップのデバッグ部品の構成を始動時のチップまたはチップ上に存在する多重化ピンによって受信されるデータシーケンスにより行うことができる。
【００２３】
図２は、図１の実施例を参照してこれまで説明したデバッグチップ１１０Ａ〜Ｃの代表的なチップ、例えばチップ１１０Ｃの詳細なブロック図である。このチップはクロック２３２Ｃと、ＣＰＵ２３８Ｃと、キャッシュコントローラ２４２Ｃおよびキャッシュメモリ２４４Ｃを含むキャッシュシステム２４０Ｃと、ＤＭＡコントローラ２４８Ｃ、ＤＭＡアービトレータ２５０Ｃおよび関連するＤＭＡＩ／Ｏバッファ２５２Ｃを含むＤＭＡユニット２４６Ｃを含む。更にこのチップは図１を参照してこれまで説明したように、ＤＵＴモードまたはいくつかのＭＯＮＩＴＯＲモードのいずれかでチップを作動できるようにする次のデバッグ部品を含む。これらデバッグ部品としては、インタラプトユニット２３６Ｃを含む第１同期化回路／ユニット２３４Ｃと、第２同期化回路／ユニット２３０Ｃと、コーデック１３２Ｃと、デバッグスイッチ１３６Ｃとがある。このデバッグスイッチはチップのアドレスピンを通して外部へ同期および非同期処理ステートを送る。デバッグ部品の各々をモード入力ピン１５０Ｃへ結合する制御接続部を有する。各部品の構成はモード入力ピン１５０Ｃ上のモード信号に応答して変わる。モード信号は各部品をＤＵＴモードまたはいくつかのＭＯＮＩＴＯＲモードのいずれかにする。
【００２４】
チップ自体はバス２８０Ｃを通してネットワークインターフェース２００に接続され、リセットライン１４２Ａを通してリセットユニット１１８に接続され、発振器信号ライン１４２Ｂを通して発振器１２０に接続され、デバッグバス１４０を通してコーデック１３２Ｃおよび関連するシスターチップ、すなわち１１０Ａ〜Ｂに接続され、システムバスのアドレス部分１４６およびデータ部分１４８を介してメモリ１１４およびＩ／Ｏユニット１１６に接続され、モード入力ピン１５０Ｃを介し、モード選択バス１４４に接続され、ＤＭＡ  Ｉ／Ｏインターフェース２５４Ｃを介し、周辺ＤＭＡデバイスに接続され、最終的に非同期事象バス１６４を介し、シスターチップ１１０Ａ〜Ｂに接続されるように示されている。本発明の一実施例では、ネットワークインターフェースはネットワークインターフェースバス２８８Ｃを介し、チップ１１０Ｃに結合しており、このインターフェースバスは例えばＩＥＥＥ規格８０２.３のＭＩＩバスである。
【００２５】
チップ内ではＣＰＵ２３８Ｃおよびキャッシュシステム２４０Ｃがローカルバス１３０Ｃに結合されている。キャッシュコントローラ２４２Ｃはライトスルーおよびコピーバッグを含む多数のキャッシュポリシーのうちのいずれか１つを実行できる。本発明の一実施例では、チップは関連するＩ／Ｏバッファ２５２Ｃを備えたオンボードＤＭＡユニット２４６Ｃの別の特徴を提供し、Ｉ／Ｏバッファ２５２Ｃは多数の周辺デバイス（図示せず）との間でアクセスを行うよう、外部ＤＭＡ  Ｉ／Ｏインターフェース２５４Ｃに結合している。この新規なＤＭＡユニット２４６Ｃの更なる細部については、米国特許出願第09/160,513号として発明者ジャン・ベンクツォン、ケニー・ラナーアップ、パー・ザンダーにより１９９８年１０月９日に「ＤＭＡユニットによる改良されたメモリアクセスのための方法およびコンピュータシステム」を発明の名称とする係属中の米国特許出願に記載されている。この米国特許出願を引用によってここに含める。
【００２６】
クロック２３２ＣはＣＰＵ２３８Ｃだけでなく第１同期化ユニット２３４Ｃおよび第２同期化ユニット２３０Ｃにも結合している。第１同期化ユニット２３４Ｃは信号ライン１６６Ｃ上の外部インタラプト信号を受け入れ、ＤＭＡユニット２４６Ｃから信号ライン２７８Ｃを介し、デバッグバス１４０上のＤＭＡ情報のための時間スロットをリザーブするための入力信号を受け入れることができる。この第１同期化ユニットは信号ライン２７４Ｃを介し、メモリ制御ユニット１３４Ｃへ出力信号を与える。更にこの第１同期化ユニットは信号ライン２８２Ｃを通し、ＣＰＵ２３８Ｃへ出力信号を送り、信号ライン９２６Ｃを通してコーデック１３２Ｃへ出力信号を送る。第２同期化ユニット２３０Ｃは、Ｉ／Ｏユニット１１６から信号ライン１６４を介し、非同期入力信号を受信する。この第２同期化ユニットの出力端はコーデックおよびＣＰＵに結合されており、ＤＭＡ信号ライン２７６Ｃを介し、コーデック１３２ＣにＤＭＡユニット２４６Ｃが結合されている。
【００２７】
モード入力ピン１５０Ｃ上のモード信号は作動時にデバイスがマスター／ＤＵＴモードで作動するのか、またはＭＯＮＩＴＯＲモードで作動するのかを判断する。ＭＯＮＩＴＯＲモードの場合、モード入力ピン１５０Ｃへの入力信号はデバッグスイッチ１３６Ｃ、第１同期化ユニット２３４Ｃ、第２同期化ユニット２３０Ｃおよびコーデック１３２Ｃのステートを決定する。
【００２８】
モード入力ピン１５０Ｃ上のモード信号がマスター／ＤＵＴモードに設定されると、第１同期化ユニット２３４Ｃおよび第２同期化ユニット２３０Ｃは非同期入力信号例えばインタラプト信号およびＤＭＡアクセスをを受け入れ、モニタユニット１１０Ａ〜Ｂの同期化を可能にするのに十分な数のクロックサイクルの間、その入力信号の処理を支援する。この同期化は次の図８に示されるように実行できる。ＤＵＴ／マスターモードでは、デバッグスイッチ１３６Ｃは従来どおりキャッシュメモリ２４４Ｃの書き込みおよび読み出しにしか関係しないローカルバスのアドレス活動のシステムアドレスバス部分からアイソレートするように、ローカルアドレスバスにデバッグスイッチ１３６Ｃが結合される。
【００２９】
上記のように、チップ１１０Ａ〜Ｂは、図２に示されたチップ１１０Ｃと同一である。唯一の違いは、これら違いのデバッグ部分、例えばコーデック１３２Ａ〜Ｂ第１同期化ユニット２３４Ａおよび第２同期化ユニット２３０Ｃ、およびデバッグスイッチ１３６Ａ〜Ｂがそれらの活動とデバッグスイッチ１１０Ｃとの活動を同期化させるだけでなく、通常は外部に現れない対応するチップの所定の内部ステートを現すように構成されている。これら機能の第１機能、例えばシスターチップと同期化する機能は、第１および第２同期化ユニットならびにコーデックによって得られる。
【００３０】
図示した実施例における、主にＭＯＮＩＴＯＲモードでは、チップ１１０Ａ〜Ｂの内部には多数の異なるステートがあり、これらはロジックアナライザ１０２による処理を行うためのアドレス出力１６０Ａ〜Ｂのいずれかで表示できる（図１参照）。これらステートにはローカルデータバス３００Ａ〜Ｂまたはローカルアドレスバス３０２Ａ〜Ｂのうちの所定の１つを、対応するデバッグスイッチ１３６Ａ〜Ｂに結合することを含む。これら出力はロジックアナライザによる処理を行うために、チップの対応するアドレス出力、例えば１６０Ａ／Ｂで利用できる（図１参照）。従って、マスター／デバイステストモードに構成されたチップ１１０Ｃが完全な特徴の計算ユニットとしてＤＵＴモードで作動する間、ＭＯＮＩＴＯＲモードに構成されたそのシスターチップは同一のプログラムコードを実行し、バスマスターとして構成されたＤＵＴモードのデバッグチップ１１０Ｃに同じ態様で非同期事象に応答することにより、ＤＵＴモードのチップで実行される処理に関連した内部ステートを露出する。
【００３１】
本発明では、第１チップはテスト中のデバイスとして構成されており、このアドレス出力がどのメモリロケーションとの間で読み出し、書き込みを行うかを制御し、従って、データバス上で、どの時点でどのデータおよび命令を与えるか、という意味でバスマスターとなっている。ＭＯＮＩＴＯＲモードで作動するように構成されたシスターチップはマスターモードのチップのエンドデータアクセス活動をシャドー化し、同じ処理をこれに同期化させて実行する。従って、デバッグ機能専用の最小の付加的オンボードリアルエステートと、モード入力ピン１５０Ａ〜Ｃおよびデバッグバス１４０に関連したピンを除き、デバッグ機能を有しない従来のチップのそれに類似するピンアウトとを含むテストおよび製造に適した単一チップを製造できる。
【００３２】
図３は、図１に示されたメモリ制御ユニット１３４Ａ〜Ｃの詳細な実施例を示す。メモリ制御ユニットの各々はメモリインターフェースユニット１１０Ａ〜Ｃとデバッグスイッチ１３６Ａ〜Ｃとを含む。メモリインターフェースユニット３１０Ａ〜Ｃの各々は制御バス（図示せず）を通してキャッシュコントローラ２４２Ａ〜Ｃ、ＣＰＵ２３８Ａ〜ＣおよびＤＭＡユニット２４６Ａ〜Ｃのうちの対応する１つに結合されている（図２参照）。ローカルバス側では制御ユニットはローカルバスのアドレスバス部分３００Ａ〜Ｃおよびデータバス部分３０２Ａ〜Ｃに結合されている。システムバス側では制御ユニットはデータライン１５２Ａ〜Ｃおよび中間システムアドレスバス１０４Ａ〜Ｃに結合されている。デバッグスイッチ１３６Ａ〜Ｃの各々はモード入力ピン１５０Ａ〜Ｃの対応する１つに結合されている。図示された実施例では、デバッグスイッチはアドレス出力１６０Ａ〜Ｃを直接ローカルバスに結合するか、またはメモリインターフェースユニット３１０Ａ〜Ｃからの中間システムアドレスバス３０４Ａ〜Ｃを介して間接的にローカルバスに結合する。メモリ制御ユニットに直接結合されている時は、チップはキャッシュコントローラ２４２Ａ〜Ｃおよびキャッシュメモリ２４４Ａ〜Ｃの任意の時点における内容によって実行されるキャッシュポリシーによって決定されるアドレス出力ライン１６０Ａ〜Ｃとローカルバスのアドレス部分との間が結合されたＤＵＴコンピュータとして働く。これとは異なり、デバッグスイッチ１３６Ｃはローカルデータバス３００Ａ〜Ｃ、ローカルアドレスバス３０２Ａ〜Ｃまたは信号ライン上のすべての活動をモニタするように構成できる。本発明の別の実施例では、内部事象ライン３０６Ａ〜Ｃを通して、例えばＣＰＵまたはキャッシュコントローラのステータスもモニタできる（図３参照）。これら出力は対応するアドレス出力ライン１６０Ａ〜Ｃを通して直接得られる。
【００３３】
当業者には明らかとなるように、本明細書に開示した装置はモード選択可能なデバッグスイッチングおよび同期化機能をチップに組み込むことにより、複雑な集積回路の計算チップの内部ステートを現す。このデバッグ能力が高められたチップはローカルバスを有する必要はない。その代わり、デバッグスイッチは内部信号ラインおよび／またはモニタの必要なチップ上の部品にスイッチの入力端を接続するだけでよい。デバッグスイッチの出力はチップのアドレスラインに接続されている。本発明の一実施例では、同期化回路は共通クロックのように単純な何かを含むことができる。例えばチップによって非同期事象を処理しないような場合には、このことは実際的になり得る。チップが非同期事象を取り扱うような本発明の別の実施例では、図９に示し、説明した同期化回路が適当となる。この同期化回路はチップ上の非同期信号入力端およびピンの数を低減する多重化機能を備えたデバッグバスに接続される。最後に、デバッグスイッチおよび同期化回路の双方は、それ自身がＤＵＴステートまたはいくつかのＭＯＮＩＴＯＲステートのうちの１つにするよう、チップ上のモードピンにおけるモード信号に応答し得る。上記スイッチを使って多数のタイプのチップおよびこのチップ上で使用するようになっているプログラムコードをデバッグできる。これらチップはデジタル信号プロセッサ、グラフィックスプロセッサ、ビデオプロセッサ、信号プロセッサ、パターンプロセッサ、プログラマブルロジックデバイス、フィールドプログラマブルデバイス、マイクロコントローラ....等を含むが、これらのみに限定されるものではない。ＭＯＮＩＴＯＲモードのいくつかのチップをＤＵＴモードのチップに結合することにより、ＭＯＮＩＴＯＲモードのチップはそのアドレスラインにＤＵＴモードのチップの内部処理ステートを出力しながら、ＤＵＴモードチップ上で生じる処理を表示することができる。ＭＯＮＩＴＯＲモードのチップの各々を別のモニタモードに設定することにより、ＤＵＴモードチップの２つ以上の内部ステートを同時に得ることができる。ＭＯＮＩＴＯＲモードチップのアドレスラインをロジックアナライザに接続することにより、内部ステートを詳細に評価できる。
【００３４】
次に図４を参照すると、デバッグバス１４０は５つのパス（ｐａｔｈ）しか含まない。これら５つのパスのうちの１つであるＢＣＬＫは入出力（Ｉ／Ｏ）ユニットに接続されたバスを通してシステムバス１４６〜１４８に接続されたＩ／Ｏユニットからの外部非同期信号、例えばＤＭＡリクエスト信号またはウエイト信号上の同期化情報を送信するための第２同期化回路２３０Ｃによって使用される。外部非同期信号はＩ／Ｏユニット１１６により第２同期化回路２３０Ｃおよびモニタ１００へ送られる。Ｉ／Ｏユニット１１６によって発生される外部インタラプトリクエストは第１同期化回路２３４Ｃへ送られる。
【００３５】
他の４つのパスＢＳ０〜ＢＳ３はＤＵＴモードのデバッグチップ１１０Ｃからモニタ１００へのＣＰＵおよびＤＭＡステータス情報の送信に使用される。更に、これらデバッグバスパスＢＳ０〜ＢＳ３は、対応するコードが第１同期化回路２３４Ｃから発生される場合、システムリセット動作中にモニタ１００とＤＵＴモードデバッグチップ１１０Ｃとの上記同期化に使用される。
【００３６】
従って、デジタル的に総計１６の異なる４ビットワードまたはコードを利用できる。本実施例で使用される１０本のＤＭＡチャンネルに対応する下位の１０個のコード、すなわち論理的に０〜９のコードがＤＭＡステータスの送信に使用される。この情報はどのＤＭＡチャンネルを受け入れるか、更にいつ読み出しが行われるのか、必要な場合にはどれだけ多くのバイトが受信に残されているのかを伝える。データはブロック状、本例では４バイトのブロックで受信され、更にモニタ１００へＤＭＡステータス情報を送信するための時間により必要である。従って、Ｉ／Ｏユニットから受信するように残されているデータが８バイト以下であり、かつデータのＩ／Ｏユニット信号の終了部である場合、その情報をモニタ１００へ送信しなければならない。このステータス情報はデバッグバス１４０を通してアービトレータ２５０ＣからＤＭＡコントローラ２４８Ｂへ送信されるだけでなく、ＤＭＡ信号ライン２７６Ｃを通してＤＭＡコントローラ２４８Ｃへも送られる。
【００３７】
コード１０〜１５は次のような第１同期化回路２３４Ｃによって発生されるＣＰＵインタラプトステータスに対して使用される。
１０    外部ベクトル番号を備えたＩＲＱ、ＮＭＩなし
１１    外部ベクトル番号を備えたＩＲＱおよびＮＭＩ
１２    ＩＲＯなし、ＮＭＩなし
１３    ＮＭＩ、ＩＲＱなし
１４    内部ベクトル番号を備えたＩＲＯ、ＮＭＩなし
１５    内部ベクトル番号を備えたＩＲＱおよびＮＭＩ
【００３８】
ＩＲＱとはインタラプトリクエストを意味し、ＮＭＩとはノンマスカブルインタラプトを意味する。モニタ１００に対してＤＵＴモードのデバッグチップ１１０Ｃ内でのインタラプトの取り扱いをアンバランスにさせないように、ＤＭＡユニット２４６Ｃがデバッグバス１４０を使用しようとしている時に、ＤＭＡユニット２４６Ｃにより、第１同期化回路２３４Ｃへ信号が送信される。この信号により、第１同期化回路２３４Ｃはインタラプトステータスをホールドする。ＤＭＡユニット２４６Ｃによりデバッグバス１４０が解放されて初めて、ＤＵＴモードのデバッグチップ１１０Ｃおよびモニタ１００のそれぞれのＣＰＵ２３８Ｃ、２３８Ａ〜Ｂへ新しいインタラプトステータス情報が送信される。
【００３９】
オンボードＤＭＡユニット２４６ＣはＤＵＴのバッファ２５２Ｃ内で同期化され、アービトレータ２５０Ｃ内で優先順序が決定される。この同期化およびアービトレーションの結果はＤＭＡコントローラ２４８Ｃへ与えられ、更にコーデック１３２Ｃ、デバッグバス１４０およびコーデック１３２Ａ〜Ｂを介し、ＤＭＡ制御ユニット２４８Ａ〜Ｂへ送られる。従って、オンボードＤＭＡの動作の制御部分はＭＯＮＩＴＯＲモードのチップ１１０Ａ〜Ｂ内でミラー化される。オンボードＤＭＡのデータ部分は外部メモリデータバスを通してすべてのＤＭＡデータを出すことにより処理される。次にこのデータは、ＭＯＮＩＴＯＲモードのチップに対して利用できる。
【００４０】
チップ上に集積化されたキャッシュシステム２４０Ｃにかかわらず、ＤＵＴモードのデバッグチップ１１０Ｃが作動している間、完全なデータ、アドレスおよび非同期の事象情報を備えたロジックアナライザを設けるように、本デバッグシステム９８〜１００が構成されているので、後述するように、メモリ制御ユニット１３４Ｃによりメモリアクセスを改善することが可能である。
【００４１】
図５は、図１〜２に示された性能の高められたデバッグチップのメモリ制御ユニットとメインメモリとの間のインターフェースの詳細なハードウェアブロック図である。本発明の一実施例では、メインメモリは一般にいくつかのＤＲＡＭ、すなわちダイナミックランダムアクセスメモリを含む。各ＤＲＡＭ５５０Ａ〜Ｃは２つの部分のアドレス（ここで下方部分は列アドレス５５４であり、上方部分５５２は行アドレスである）によってアドレス指定される、マトリックス状に配置されたメモリエリア５５６を有する。好ましい実施例では、メモリ制御ユニット１３４Ａ〜Ｃは更に改良されたメモリアクセスを実行し、その後のメモリアクセスは頻繁にその後のアドレスに関係するという事実を活用する。従って、メモリ制御ユニット１３４Ｃにはメインメモリ１１４の各ＤＲＡＭ回路５５０Ａ〜Ｃのための別個の行アドレスレジスタ５００Ａ〜Ｃおよび比較ユニット５０２Ａ〜Ｃが設けられている。フルメインメモリアドレスをホールドするメモリ制御ユニット１３４Ｃのアドレスバッファ５０４Ａ〜Ｃは２つの部分に分割されており、各部分はそれぞれ別個にメインメモリへボード可能となっている。その後のメインメモリアクセスに対し、その後のメインメモリアドレスの行アドレスは先のアクセスに対するのと同じであるが、列アドレス部分５０４Ｂをロードするだけでよい。このことは、その都度、全アドレスをロードすること、すなわち最初に行アドレスをロードし、次に列アドレスをロードすることと比較して時間の節約となる。行アドレスが先のアドレスと同じであるかどうかを判断するために、比較ユニットは行アドレス部分５０４Ａと現在作動中のＤＲＡＭの行アドレスレジスタの内容とを比較する。一致していれば、列アドレス部分５０４Ｂを入力するだけであり、一致していなければ行アドレスと列アドレスの双方を入力し、同時にレジスタを更新する。これら２つのバッファ部分５０４Ａ〜Ｂはメモリ制御ユニット１３４Ａ〜Ｃのデバッグスイッチ１３６Ａ〜Ｃによってシステムバス１４６〜１４８に多重化されている。
【００４２】
図６は、図１〜２に示された、能力の高められたデバッグチップと低速周辺デバイスとの間のインターフェースを示すブロック略図である。特に、低速周辺ユニット７１０、主に古いユニットに対しては、外部再実行ユニット７００を利用できる。データ伝送時間が長くなりすぎる場合、過度に長い時間、システムバス１４６〜１４８が占有され、これにより別のユニットが時間にクリティカルなアクセスに従属するという問題が生じ得る。以下、再実行ユニットと称す再実行ユニット７００は、かかる低速周辺ユニットにおける読み出しおよび書き込み操作時にＣＰＵ２３８Ｃを補助する。例えば周辺ユニット７１０からデータを読み出すと仮定する。
【００４３】
ＣＰＵのアクセスの開始より、この再実行ユニット７００はアドレスバッファ１１６Ｂにおいてアドレス情報をバッファ化し、タイムアウトを設定し、ＣＵＰ２３８Ｃへ再実行リクエストを伝える再実行ルーチンを開始する。これによりＣＵＰ２３８Ｃはバスをリリースさせ、デバッグチップ１１０Ｃ、例えばＤＭＡユニット２４６Ｃ内の他のバスマスターがアクセスできるようにする他のタスクを続ける。一方、再実行ユニット７００は周辺ユニットと通信する。その後、ＣＰＵ２３８Ｃが読み出し操作を再び実行する際にタイムアウトが経過しているか、経過していないかのいずれかになる。タイムアウトが経過していれば、ＣＰＵ２３８Ｃは読み出し操作を続け、経過していなければ、再実行ユニット７００はＣＰＵ２３８Ｃへ別の再実行リクエストを送る。周辺ユニット７１０へデータを書き込まなければならない時、対応するアドレスおよびデータバッファ１１６Ｂ〜Ａ内のアドレスおよびデータをバッファ化することを含む対応する工程を実行する。システムバス１４６〜１４８が他のタスクに対しリリースされる間、再実行ユニット７００によりデータの書き込みが続けられる。ＤＵＴモードのデバッグチップ１１０Ｃから再実行ユニット７００へＣＰＵから送られる信号はチップセレクト信号、読み出し信号および書き込み信号である。
【００４４】
モニタ１００へプログラムの実行がミラー化することにより、インタラプトの処理は適当な同期化およびタイミングを得るために処理しなければならない問題である。この問題は特にいくつかのインタラプトを同時に処理しなければならない時に生じる。
【００４５】
従って、次に図７を参照すると、本発明の別の実施例によればダイナミック優先処理方法が使用される。図７は、インタラプトユニット２３６Ａ〜Ｃの各々に対応する代表的なユニットを示す（図２参照）。例えばチップ１１０ＣはＤＵＴモードとなっているデバイスに限りインタラプトユニットアクティブである。図示された実施例では、このインタラプトユニットは信号ライン１６６Ｃを介し、Ｉ／Ｏユニット１１６からの非同期入力信号を受け入れる（図２参照）。これらインタラプト信号は、インタラプトマスキング前、またはインタラプトマスキングおよびＤＵＴチップによる信号ライン２７４Ｃを介し、外部メモリデータバスへの処理の後に得ることができるので、ＤＵＴモードのＣＰＵ２３８Ｃがインタラプト信号を読み出す時に、モニタモードのチップＣＰＵ２３８Ａ〜Ｂに利用できるようになる。インタラプトユニット２３６Ｃの優先化された出力８５０Ｃは第１同期化ユニット２３４Ｃを通過し、この第１同期化ユニットから出力がコーデック１３２Ｃへの入力信号として与えられる（図２参照）。チップ１１０Ａ〜Ｃの各々は同一のインタラプトユニット２３６Ａ〜Ｃを含むが、ＤＵＴモードのチップ１１０Ｃだけがインタラプトユニットアクティブとなっている。
【００４６】
インタラプトライン１６６Ｃを通していくつかの個々のインタラプトリクエスト信号が受信される。これらラインは第１マスクレジスタ８０２およびＡＮＤゲートの第１アレイにより、略図で示された個々のインタラプトマスクに接続されている。従って、個々のインタラプト信号の各々は前記第１アレイのそれぞれのＡＮＤゲート８０２Ａ〜Ｍの入力端へ送られ、マスクレジスタ８０２はＡＮＤゲート８０２Ａ〜Ｍの各々の他の入力端に接続されている。それぞれのＯＲゲート８０４Ａ〜Ｎの入力端にはいくつかのインタラプト信号ライン１６６Ｃおよび対応するＡＮＤゲートの出力端が接続されている。よって、これらインタラプト信号は信号ライン１６６Ｃに対する１つの信号にまとめられる。ＯＲゲート８０４Ａ〜Ｎの出力信号は、個々のマスクおよび付随するＡＮＤゲート８０２Ａ〜Ｍと同様に配置された、第２マスクレジスタ８０６およびＡＮＤゲート８０６Ａ〜Ｎの第２アレイによって示されるグループマスクによりマスク可能である。
【００４７】
ＡＮＤゲート８０６Ａ〜Ｎの第２アレイの出力端はＯＲゲート８０８のｎ個の入力端に接続されており、ＯＲゲート８０８の出力端は同期化回路２３４Ｃを介し、ＤＵＴモードのデバッグチップ１１０ＣのＣＰＵ２３８Ｃおよびコーデック１３２Ｃに接続されており、このコーデックでステータスがコード化され、モニタ１００へ送られる。
【００４８】
受信されたインタラプト信号を検出し、分離し、これらの信号の間の優先付けを可能にするために、所望する異なるレベルでの読み出しを認める。少なくともＡＮＤゲート８０４Ａ〜Ｎの第２アレイの出力信号を優先ロジックで読み出し、ベクトル番号にコード化することが好ましい。このベクトル番号はインタラプト信号の異なる組み合わせに対して異なる。システムバス１４６〜１４８上でベクトル番号は出力される。よってこのベクトル番号はＤＵＴモードのデバッグチップ１１０Ｃおよびモニタ１００の双方に対して利用可能である。従って、このベクトル番号はＤＵＴモードのデバッグチップ１１０Ｃによって発生されるが、ＤＵＴモードのデバッグチップ１１０Ｃとモニタ１００の双方によって同じように使用される。これらインタラプト信号は第１同期化回路２３４Ｃを通して伝送される。このベクトル番号はインタラプトベクトルをホールドするルックアップテーブルのインデックス番号としてＣＰＵによって使用される。たいていは１つのデバイスインタラプト信号、すなわち、わずか１つのユニット２６０Ｃ、２６４Ｃからのデバイスインタラプトしかなく、どのインタラプトベクトルをフェッチすべきかが明らかである。２つ以上の同時インタラプト信号がある場合、ベクトル番号はインタラプト信号の優先順序を決定する優先ルーチンに対応する。こうしてその順序で異なるインタラプト信号を処理する。
【００４９】
従って、１つのインタラプト信号しか存在しないほとんどのケースでは、高速のインタラプト処理がなされ、２つ以上のユニットからの複数のインタラプト信号がある場合に限り、より時間のかかる優先順序決定方法に基づく処理がなされる。処理すべきユニットからどんなインタラプト信号が存在するかを正確に決定するために、当然、個々のマスク８０２Ａ〜Ｎの入力端または出力端のいずれかの上に信号ラインを検出する可能性がある。更に、インタラプトリクエストがＣＰＵに達すると、この信号が内部で発生されるだけでなく、Ｉ／Ｏデバイスから外部より発生されることがあり、更にマスクできないインタラプト信号が生じることもある。
【００５０】
図８は、図１に示されたＭＯＮＩＴＯＲモードチップ１１０ＢおよびＤＵＴモードのデバッグチップ１１０Ｃの第１および第２同期化ユニットの詳細を示すハードウェアブロック図である。これらユニットはＤＵＴモードのデバッグチップおよびＭＯＮＩＴＯＲモードのデバッグチップの間における内外非同期事象の同期化を一般に取り扱う。上記のように各チップはモード入力ピン１５０Ｂ〜Ｃ上の入力信号によって測定されるチップのモードに応じた態様に構成された同一のハードウェアを含む。
【００５１】
２つのデバッグチップ１１０Ｂ〜Ｃの部分ブロック図が示されており、双方のチップの第１および第２同期化ユニットが示されている。第１デバッグチップの同期化ユニットはチップのモード入力ピン１５０Ｂ上のモード信号によって設定されるチップ１１０Ｂのステートに対応するＭＯＮＩＴＯＲモードとなっており、第２デバッグチップの同期化ユニットはチップのモード入力ピン１５０Ｃ上のモード信号によって設定されるチップ１１０Ｃのステートに対応するＤＵＴモードとなっている。
【００５２】
構造的には双方のチップにおける同期化器は同一の部品を含むが、上記のようにこれら部品の間の結合はチップに対するモード設定に応じて変わり得る。このような理由から、ＤＵＴモードおよびＭＯＮＩＴＯＲモードの双方における同期化器の各々について説明する。添え字Ｂのついた部品はＭＯＮＩＴＯＲモードとなっているチップ１１０Ｂ内に存在し、添え字Ｃのついた部品はＤＵＴモード内のチップ１１０Ｃ内にある。
【００５３】
第２同期化回路２３０Ｂ〜Ｃの各々は、ラッチ９６０Ｂ〜Ｃと変化検出ユニット９５８Ｂ〜Ｃと、同期化器９５０Ｂ〜Ｃとを含む。第１同期化ユニット２３４Ｂ〜Ｃの各々はラッチ９０２Ｂ〜Ｃと同期化器９００Ｂ〜Ｃと、インタラプトユニット２３６Ｂ〜Ｃとを含む。図には関連するコーデック１３２Ｂ〜Ｃ、クロック２３２Ｂ〜Ｃおよび対応する接続が示されている。
【００５４】
第２同期化ユニット
第２同期化ユニットはモード入力ピン１５０上のモード選択信号に応答自在な２つのコンフィギュレーションの１つを採用している。ＤＵＴモードに関連する第１コンフィギュレーションでは、第２同期化ユニット２３０ＣはモニタモードチップとＤＵＴモードチップ１１０Ｂ〜Ｃの双方をリンクする非同期信号バス上の非同期信号を検出する。第２同期化ユニットは信号とＤＵＴクロック２３２とを同期化し、この信号をラッチする。次にこの第２同期化ユニットは非同期信号の受信後に変化なし時間があるかどうかを判断し、変化なし時間が生じた後にシスターチップ１００Ｂにイネーブル信号を出力し、このチップを処理のためのチップの内部部品にリリースする信号をアンラッチする。ＤＵＴモードに対応する第２コンフィギュレーションでは、第２同期化ユニット２３０Ｂは非同期信号バス上の非同期信号を検出し、この信号とＭＯＮＩＴＯＲクロック２３２Ｂとを同期化し、この信号をラッチする。次に第２同期化ユニットは、シスターチップ１１０Ｃからのイネーブリング信号の受信時に、処理するためのチップの内部部品に対し、チップをリリースする信号をアンラッチする。当業者には明らかとなるように、固定遅延時間、ＤＵＴモードおよびＭＯＮＩＴＯＲモードにおける可変遅延時間、同期化情報だけでなく、ＤＵＴモードチップにより発生され、ＭＯＮＩＴＯＲモードチップへ送られるラッチイネーブリング信号の受信に応答する遅延時間を含むラッチを同期化するための方法および装置が多数ある。
【００５５】
第２同期化ユニット２３０Ｂ〜Ｃのコンフィギュレーションは次のとおりである。双方の同期化ユニットは各ユニットの同期化器９５０Ｂ〜Ｃに結合した信号ライン１６４Ｂ〜Ｃ（図１参照）を介した非同期バス１６４からの入力端を有する。このバスでは、内部非同期事象、例えば外部ＤＭＡアクセスおよびウエイトステートが受信される。双方の同期化ユニットでは、同期化器９５０Ｂ〜Ｃの出力は信号ライン９７４Ｂ〜Ｃを通し、変化検出ユニット９５８Ｂ〜Ｃおよびラッチユニット９６０Ｂ〜Ｃの入力端のそれぞれの１つに接続されている。ＤＵＴモードのデバッグチップでは、変化検出ユニット９５８Ｃの出力端はラッチ９６０Ｃのイネーブル入力端およびデバッグバス１４０のＢＣＬＫラインに結合されている。ＭＯＮＩＴＯＲモードのデバッグチップ１１０Ｂでは、変化検出ユニット９５８Ｂは不作動であり、ラッチ９６０Ｂはその代わりにＢＣＬＫラインを介し、そのイネーブル入力信号を受信する。
【００５６】
作動時に第２同期化ユニット２３０Ｂ〜ＣのアクティビティはＤＵＴモードの変化検出ユニット９５８Ｃによってコーディネートされる。双方のユニット２３０Ｂ〜Ｃはそれぞれの信号ライン１６４Ｂ〜Ｃを通し、非同期バス１６４上の非同期ＤＭＡ信号またはウエイトステート信号を受信する。この信号は対応する同期化器９５０Ｂ〜Ｃにより、各チップのクロック２３２Ｂ〜Ｃに同期化される。本発明の実施例は、こられ同期化器は１つ以上のフリップフロップから構成される。ＤＵＴモードのデバッグチップ１１０Ｃの変化検出ユニット９５８Ｃが、非アクティビティが続く変化時間を検出すると、このユニットは双方のチップの第２同期化ユニットのラッチ９６０Ｂ〜Ｃのイネーブル入力端にイネーブル信号を出力する。ラッチ９６０Ｂに対する信号はデバッグバス１４０のＢＣＬＫラインを通して到達する。従って、変化ユニット９５８Ｃによって発生される共通信号により、ラッチユニット９６０Ｃ〜Ｂをトリガーすることにより同期化が達成される。それぞれのラッチ９６０Ｂ〜Ｃの出力信号２８４Ｂ〜Ｃは、ＣＰＵ２３８Ｂ〜Ｃおよびそれぞれのチップ１１０Ｂ〜Ｃのメモリ制御ユニット１３４Ｂ〜Ｃへ与えられる。パワーオンおよびウエイトステート中のチップの同期化は、非同期バス１６４への接続を介し、ＤＵＴモードのチップおよびＭＯＮＩＴＯＲモードのチップの双方の第２同期化ユニットにより処理され、非同期バス１６４を通し、バスパワーオンリセットおよびウエイトステートがこれらチップへ導入される。これまで説明した同期化装置は第１チップのクロック２３２Ｂと第２チップのクロック２３２Ｃとを同期化するものではなく、これらクロックは実際には互いにずらすことができることに留意されたい。その代わりに、同じクロックサイクルをずらすことができても、同期化器は外部非同期信号の実行を遅延し、すべてのチップにおける同じクロックサイクルにおけるそれらの処理を可能にする。
【００５７】
第１同期化ユニット
第１同期化ユニットはモード入力ピン１５０上のモード選択信号に応答自在な２つのコンフィギュレーションの１つを採用している。ＤＵＴモードに関連する第１コンフィギュレーションでは、第１同期化ユニット２３４Ｃは１つ以上の非同期信号を検出し、これら信号をＤＵＴクロック２３４Ｃと同期化し、インタラプトレジスタ内でこれらの優先順序を決定し、これらをラッチし、コーデック１３２Ｃを介し、そのシスターチップ１１０Ｂのコーデックへ非同期信号に関する同期化情報を送り、適当な遅延時間後、処理のためのチップの内部部品へラッチされた信号をリリースする。ＭＯＮＩＴＯＲモードに対応する第２コンフィギュレーションでは、第１同期化ユニットはコーデック１３２Ｂからの同期化情報を受信し、その情報をラッチし、適当な遅延時間後、第１ラッチと同時にラッチされた信号を処理のためのチップの内部部品にリリースする。当業者には明らかとなるように、固定遅延時間、ＤＵＴモードおよびＭＯＮＩＴＯＲモードにおける可変遅延時間、同期化情報だけでなく、ＤＵＴモードチップにより発生され、ＭＯＮＩＴＯＲモードチップへ送られるラッチイネーブル信号の受信に応答する遅延時間を含むラッチを同期化するための方法および装置が多数ある。
【００５８】
第１同期化ユニット２３４Ｂ〜Ｃのコンフィギュレーションは次のとおりである。同期化ユニット２３４Ｃは、インタラプトユニット２３６Ｃに結合している信号ライン１６６Ｃ（図１参照）を介し、Ｉ／Ｏユニット１１６の外部インタラプトライン１６６からの入力信号を受け入れる。これらインタラプト信号はインタラプトユニット２３６Ｃ内で優先順序が決定され、同期化ユニット９００Ｃ内で同期化される。次に、ＤＵＴモードのコーデック１３２Ｃを介し、同期化情報はバス１４０を通ってモニタモードのチップ１１０Ａ〜Ｂへ送られる。同期化器の出力端は、信号ライン９４２Ｂ〜Ｃを通し、ラッチ９０２Ｂ〜Ｃに結合され、信号ライン９２６Ｂ〜Ｃを介し、コーデック１３２Ｂ〜Ｃへ結合されている。
【００５９】
ＤＵＴモードのデバッグチップ１１０Ｃでは、ラッチ９０２Ｃへの入力信号はインタラプトユニット２３６Ｃから同期化器９００Ｃによって与えられる。これと対照的にＭＯＮＩＴＯＲモードのデバッグチップ１１０Ｂでは、同期化器９００Ｂおよびインタラプトユニット２３６Ｂはディスエーブルされる。ラッチ９０２Ｂは信号ライン９２８Ｂを介し、コーデック１３２Ｂからの入力信号を受信する。この信号自身はデバッグバス１４０を介し、コーデック１１０Ｃからコーデック１１０Ｂへ送られたコード化されたインタラプト情報から生じたものである。コーデック１１０Ｃは信号ライン９２６Ｃを介し、第２同期化ユニット２３４Ｃからその情報を発生する。本発明の実施例では、ＤＭＡユニット２４６Ｃは信号ライン２７８Ｃを介し、デバッグバス１４０上のＤＭＡ情報に対するタイムスロットをリザーブできる。同期化ユニット９００Ｃがライン２７８Ｃ上のリザーブ情報を受信すると、このユニットはＤＭＡユニット２４６Ｃがそのリザーブ信号をリリースするまで、ライン９４２Ｃ上に現在のインタラプトステータスをホールドする。ＭＯＮＩＴＯＲモードチップでは、コーデック１３２Ｂがデバッグバス１４２上にＤＭＡに関連したコード化された事象を受信する限り、その現在のインタラプトステータス出力信号９２８Ｂをホールドする。従って、インタラプト信号２８２Ｂおよび２８２Ｃ上の変化は同じクロックサイクルに同期化される。ラッチ９０２Ｂ〜Ｃは信号ライン２８２Ｂ〜Ｃ上の同期化されたインタラプト信号をＭＯＮＩＴＯＲモードのデバッグチップ１１０ＢおよびＤＵＴモードのデバッグチップ１１０ＣのＣＰＵ２３８Ｂ〜Ｃのうちの対応する１つに出力する。従って、これら出力信号は内容およびタイミングの点で同一であるので、双方のチップにおけるインタラプト信号の同期的な処理が可能である。
【００６０】
従って、第１同期化ユニット２３４Ｂ〜Ｃと、第２同期化ユニット２３０Ｂ〜Ｃは同様な機能的特徴を共用する。ＤＵＴモードでは同期化ユニットのいずれかが非同期事象を検出し、これをＤＵＴクロックと同期化させる。各チップのＣＰＵ２３８、ＤＭＡユニット１３６およびメモリ制御ユニット１３４へのこの同期化された非同期事象の提供は、ＤＵＴモードチップによって制御される。ＤＵＴモードチップの変化検出ユニット９５８Ｃは第２同期化器のラッチ９６０Ｂ〜Ｃをいつイネーブルするかを制御する。
【００６１】
ＭＯＮＩＴＯＲモードおよびＤＵＴモードのチップ１１０Ｂ〜Ｃのそれぞれの第１同期化ユニット２３４Ｂ〜Ｃは、第２同期化ユニット２３０Ｂ〜Ｃに類似した作動上の機能、例えば同期化およびラッチ機能を共用する。当業者には明らかとなるように、これら同期化およびラッチ機能は、記憶および転送回路および簡単なホールド回路を含む種々の電気的回路を使って実現できるが、これら電気的回路はこれら回路のみに限定されるものではない。
【００６２】
ＤＵＴモードデバイスにおける第１および第２同期化ユニットはパラレルに独立して作動する。デバッグバス１４０上のＤＭＡ情報に対するタイムスロットのリザーブは第１同期化ユニット内全体で処理される。
【００６３】
コード化された事象バス
コード化された事象デバッグバス１４０上ですべての信号が符号化され、多重化される。コーディングおよび多重化はＤＵＴモードとなっているコーデック１３２Ｃによって実行され、デコーディングおよび逆多重化はモニタモードとなっているコーデック１３２Ａ〜Ｂによって実行される。このデバッグシステムは次のように作動する。電源がオンにされると、附勢されるＲＥＳＥＴ信号によりＤＵＴモードのデバッグチップ１１０ｃだけでなくＭＯＮＩＴＯＲモードチップ１１０Ａ〜Ｂがリセットされる。本発明の一実施例ではＲＥＳＥＴ信号が附勢されると、ＭＯＮＩＴＯＲモードチップ１１０Ａ〜Ｂはデバッグバス１４０にイネーブル信号に発生し、ＤＵＴモードデバッグチップ１１０Ｃにそのコーデックのデバッグバス１４０Ｃをイネーブルにすることを伝える。一方、ＤＵＴモードのデバッグチップ１１０Ｃの第２同期化ユニット２３０Ｃはリセット信号ＲＥＳＥＴを同期化させる。この後者の機能は上記とは異なり、図示していない専用同期化ユニットによって行ってもよい。次に、ＲＥＳＥＴが除勢されると、モニタ１００はイネーブル信号をオフにする。その後、ＤＵＴモードのデバッグチップ１１０Ｃは同期化されたリセット信号をモニタ１００へ送り、モニタ１００は次にその内部クロックとＤＵＴモードのデバッグチップ１１０Ｃのクロックとを同期化させる。本発明の一実施例では、内部クロックでは明示していないクロック逓倍手段により２０ＭＨｚの基本周波数を２００ＭＨｚまで逓倍することによって内部クロックを発生できる。この逓倍手段はＰＬＬ回路を含むことができる。
【００６４】
ロジックアナライザ
ＭＯＮＩＴＯＲモードチップ１１０Ａ〜Ｂからロジックアナライザ１０２により抽出される情報、例えばローカルバスデータ、ローカルバスアドレスだけでなく、非同期事象、ＤＭＡアクセスおよびインタラプトは、例えばコンピュータ１０４に容易に読み取りできるようにディスプレイすべきである（図１参照）。本発明の一実施例では、このロジックアナライザはネットワークを通してアナライザを遠隔モニタできるようにするネットワーク接続を含むことができる。更に、情報を提供するためのウェブサーバーまたはネットワーク１０６上に表示するためのウェブブラウザとしてワークステーションを使用することもできる。更に、このような構造により、ネットワークを通し、デバッグ方法全体を制御するために汎用コンピュータ１０４を使用することが可能となる。従って、このコンピュータはデバッグ中のプログラムの異なる部分をテストするようＤＵＴモードのデバッグチップ１１０Ｃに異なる刺激を与えるために使用される。このようなアナライザシステムの好ましい解決案により、通常のロジックアナライザと比較して比較的簡単で安価なロジックアナライザを使用できるという利点が得られる。この理由はデータ処理の主要部分がロジックアナライザ１０２からコンピュータ１０４へ切り替えられているからである。データ処理のための適当な一般的ソフトウェアおよび結果を表示するための適当な一般的ソフトウェアを使用することにより、デバッグ操作のために汎用コンピュータを容易かつ効率的に使用することが可能となる。
【００６５】
以上で本発明の好ましい実施例を参照し、本発明について詳細に図示し、説明したが、当業者であれば本発明の精神および範囲から逸脱することなく、形態および細部を種々に変更できることが理解できよう。次にこれらの例について検討する。
【００６６】
サーキットボードにメモリユニットを組み込む代わりに、そのサーキットボードでメモリユニットを設けず、むしろ外部接続可能なメモリユニットを使用したり、チップ上のキャッシュメモリを除き、メモリを設けないようにすることも可能である。
【００６７】
別の変更例は、アナライザ装置に異なるどの出力信号を与えたいかに応じて、モニタモードの１つのチップを設けたり、または３つ以上のチップを設けたりすることである。
【００６８】
更に、アドレスおよびデータ信号の他にロジックアナライザに別の信号、例えばＣＰＵのステータス信号、またはＣＰＵ、ＤＭＡユニット等の内部ステートを出力することができる。
【００６９】
更に別の実施例では、ＤＭＡユニットをチップに集積化するのではなく、チップの外部に設けることもできる。
【００７０】
本願は、「デバッグ能力が高められたコンピュータチップおよび装置」を発明の名称として１９９８年５月１３日に出願されたスウェーデン特許出願第9801678-5号に基づく優先権を主張するものである。
【図面の簡単な説明】
【図１】デバッグ能力を備えたチップを利用するテストコンフィギュレーションのハードウェアブロック図である。
【図２】図１に示されたチップの詳細なハードウェアブロック図である。
【図３】図１〜２に示されたデバッグチップのローカルバススイッチ部分の拡張ハードウェアブロック図である。
【図４】図１に示されたデバッグバス１４０の信号ラインを示す。
【図５】図１〜２に示されたデバッグチップのメモリ制御ユニットとメインメモリとの間のインターフェースの詳細なハードウェアブロック図である。
【図６】図１〜２に示されたデバッグチップと低速の周辺デバイスとの間のインターフェースを示すブロック略図である。
【図７】図１〜２に示されたデバッグチップ内でのインタラプト処理を示すブロック略図である。
【図８】図１に示されたデバッグチップの同期化ユニットを示す。
【符号の説明】
９８  コンピュータシステム
１００  モニタ
１０２  ロジックアナライザ
１０４  コンピュータ
１０６  ネットワーク
１１０Ｃ  チップ
１０８  パワーオンリセット
１２０  発振器
１１２  システムハードウェア
１１４  メモリ
１１６  入出力（Ｉ／Ｏ）ユニット
１１８  パワーオンリセット
１３０Ｃ  ローカルバス１３０Ｃ
１３２Ｃ  コーデックユニット
１３４Ｃ  メモリ制御ユニット
１３６Ｃ  第１ローカルバスデバッグスイッチ
【図１】
0004197798.tif 000002
【図２】
0004197798.tif 000003
【図３】
0004197798.tif 000004
【図４】
0004197798.tif 000005
【図５】
0004197798.tif 000006
【図６】
0004197798.tif 000007
【図７】
0004197798.tif 000008
【図８】
0004197798.tif 000009