JPH11338734A - コンピュ―タシステムおよびこのコンピュ―タシステムを動作させる方法 - Google Patents
コンピュ―タシステムおよびこのコンピュ―タシステムを動作させる方法Info
- Publication number
- JPH11338734A JPH11338734A JP11069257A JP6925799A JPH11338734A JP H11338734 A JPH11338734 A JP H11338734A JP 11069257 A JP11069257 A JP 11069257A JP 6925799 A JP6925799 A JP 6925799A JP H11338734 A JPH11338734 A JP H11338734A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- cpu
- code
- computer system
- filter
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/348—Circuit details, i.e. tracer hardware
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Microcomputers (AREA)
Abstract
グラムの流れを監視することができるコンピュータシス
テムおよびこれを動作させる方法を提供する。 【解決手段】 コンピュータシステムは、オンチップC
PUを備えている単一の集積回路チップ上にマイクロプ
ロセッサを含み、命令を実行するデータ処理部と、前記
データ処理部とメモリとの間に接続され、前記命令を前
記データ処理部に渡すデータリンクと、命令比較コード
を記憶する監視レジスタと、前記データリンクで渡され
た前記命令と前記命令比較コードとを比較して、前記比
較の結果に応じて比較出力信号を生成する前記データリ
ンクに接続された監視比較器と、を含む。
Description
よびこのマイクロコンピュータを動作させる方法に関す
る。
をデバッグする際に使用される上位マイクロコンピュー
タへの接続などチップがネットワークに接続できるよう
に外部通信ポートを備えた単一チップマイクロコンピュ
ータは周知である。相互接続マイクロコンピュータチッ
プがぞれぞれ局所メモリを備えているようなシステムも
知られている。チップ上の通信速度に関しては、普通、
ビットパケットはビット並列形式でチップ上の複数のモ
ジュール間で送信される。しかし、チップ上で使用され
るものと同じ並列ビット形式での外部のチップ外の通信
を備える際には電力消費と利用可能なピン空間について
問題が発生する。こうしたマイクロコンピュータには命
令またはコード列へのアクセスが必要であり、動作を効
率化するためには、CPUのアドレス空間内の複数の位
置から命令を取り出せるのが望ましい。共同継続欧州特
許出願第97308517.8号に記載の方法は、CPUのメモリ
アドレス空間の一部を形成する外部通信ポートをチップ
上に備えて、CPUから命令が取り出されて、CPUが
チップ上の並列形式からチップ外の通信用の並列レベル
の低い形式に変換するものである。
されているときに、プログラムの流れを監視し対応する
ことができると便利な場合が多い。しかしながら、従来
のマイクロプロセッサでは、この機能を備えることが困
難であった。一つの解決法として試験対象であるCPU
により実行されるソフトウェアにこの監視機能を設ける
方法がある。この方法では、CPUのスピードが低下
し、デバッギングの手順を無効にすることになりかねな
い。他の解決法として、あるメモリ内で命令が記憶され
ている位置へのアクセスを監視する方法がある。しかし
ながら、この方法では、あるタイプの命令ではどの位置
に記憶されていても、必ずしもすべての命令を監視する
ことができなかった。
れば、オンチップCPUを備えている単一の集積回路チ
ップ上にマイクロプロセッサを含み、命令を実行するデ
ータ処理部と、前記データ処理部とメモリとの間に接続
され、前記命令を前記データ処理部に渡すデータリンク
と、命令比較コードを記憶する監視レジスタと、前記デ
ータリンクで渡された前記命令と前記命令比較コードと
を比較して、前記比較の結果に応じて比較出力信号を生
成する前記データリンクに接続された監視比較器と、を
含むコンピュータシステムが提供される。
CPUを有する単一の集積回路チップ上のマイクロプロ
セッサを含み、命令を実行するデータ処理部と、前記デ
ータ処理部とメモリとの間に接続され、前記データ処理
部に前記命令を渡すデータリンクと、命令比較コードを
記憶する監視レジスタと、を含むコンピュータシステム
を動作させる方法であって、前記データリンク上で渡さ
れた前記命令と前記命令比較コードとを比較し、前記比
較の結果に応じて比較出力信号を生成する手順を含むこ
とを特徴とする方法が提供される。
命令フィルタコードと、比較すべき命令比較コードとを
記憶するフィルタレジスタを含むことが好ましい。
比較すべき前記命令の部分を定めるために前記命令フィ
ルタコードで前記データリンク上で渡される前記命令を
フィルタリングする第1命令フィルタを含むことが好ま
しい。前記第1命令フィルタは、前記命令と前記命令フ
ィルタコードに基づいてビット毎にAND演算を実行す
ると好適である。
前記命令比較コードの部分を定めるために前記命令フィ
ルタコードで前記命令比較コードをフィルタリングする
第2命令フィルタを含むと良い。前記第2命令フィルタ
は、前記命令比較コードと前記命令フィルタコードに基
づいてビット毎にAND演算を実行すると良い。
前記命令の前記部分は、前記データ処理部により実行さ
れる動作を指定すると良い。前記命令フィルタコードに
より定義された前記命令比較コードの前記部分はメモリ
読取り動作を指定すると良い。前記命令フィルタコード
により定義された前記命令比較コードの前記部分がメモ
リ書込み動作を指定しても良い。前記命令フィルタコー
ドにより定義された前記命令比較コードの部分は前記デ
ータ処理部により処理されるデータを指定しても良い。
前記命令フィルタコードにより定義された前記命令比較
コードの部分は前記データ処理部により処理されるデー
タを指定しても良い。
行されるように2列以上の命令を記憶できることが好ま
しい。前記CPUは、前記命令列のどれが前記データ処
理部により実行中であるかを示すデータを記憶する順序
レジスタを含むと好適である。
る方法は、前記命令比較コードと比較すべき前記命令の
前記部分を判定するために、前記命令フィルタコードで
前記データリンクで渡された前記命令をフィルタリング
する第1フィルタリング手順を含むと好適である。
と前記命令フィルタコードに基づいてビット毎のAND
演算の実行を含む。前記命令と比較すべき前記命令比較
コードの前記部分を判定するために、前記命令フィルタ
コードで前記命令比較コードをフィルタリングする第2
フィルタリング手順を含むことが好ましい。前記第2フ
ィルタリング手順は、前記命令比較コードと前記命令フ
ィルタコードに基づいてビット毎のAND演算の実行を
含むと良い。
発明の実施の形態のいくつかについて説明する。
U回路12と13ならびに複数のモジュール14が備え
られている単一の集積回路チップ11を含む。CPU1
2と13ならびに各モジュール14は、各モジュールに
双方向で接続されるバスネットワーク15により相互接
続されている。本実施形態では、バスネットワークはP
リンクと呼ばれ、Pリンクは図2に示す並列データバス
20と、各モジュールに備えられモジュールをPリンク
制御部22に連結する専用制御線21から成る。各モジ
ュールはPリンクインターフェース23を備えており、
Pリンクインターフェース23は各Pリンク制御線21
とインターフェース23との間で制御信号を交換するた
めに状態マシンを統合するとともにデータバス20とイ
ンターフェース23との間で2つの相対する方向にデー
タを転送する。
ル14が、外部接続26を備える映像表示インターフェ
ース25と、映像復号支援回路27と、外部接続29を
備える音声出力インターフェース28と、外部接続31
を備えるデバッグポート30と、外部メモリに至る外部
バス接続31を備えた外部メモリインターフェース32
と、クロック回路34と、複数のバスと複数の直列ワイ
ヤ出力接続36を備えた様々な周辺インターフェース3
5と、外部接続8を備えたネットワークインターフェー
ス37と、Pリンク制御部22とを含む。この実施形態
の2つのCPU部12と13は全体的に構成が同様であ
り、各CPU部は複数の命令実行部40と、複数のレジ
スタ41と、命令キャッシュ42と、データキャッシュ
43とを含む。この実施形態では、各CPUは実行部4
0に接続された事象論理回路44も備えている。
ら命令を受信しチップ上のデータキャッシュ43で読取
りまたは書込み動作を実行する従来の方式で動作可能で
ある。追加的に、読取りまたは書込み動作への外部メモ
リアクセスが外部メモリインターフェース32とバス接
続33により実行可能である。この実施形態における重
要な設備は、図2ないし図5により詳細に説明されるデ
バッグポート30である。図2に示すように、この回路
は、ハードリセットピン46に接続されたハードリセッ
ト制御部45を備えている。制御部45は図1に示すチ
ップ上のモジュールすべてに接続されているので、ハー
ドリセット信号がピン46で能動化(アサート)される
と、チップ上の全回路がリセットされる。
はデバッグ処理手順で使用される重要な外部通信を備え
ている。チップ上のCPU12と13はポート30を介
して通信する外部ソースから実行用の命令コードを確保
可能である。Pリンクシステム15の通信はビット並列
形式で実行される。Pリンク15のデータ経路20での
送信は多バイトパケット、たとえば、各パケット当り3
5バイトで実行されるので、一つのパケットが、Pリン
クに沿って5つの連続8バイト転送で送信される。各転
送はビット並列形式である。ポート30は、Pリンク1
5から獲得されるパケットの並列レベルを低下させるよ
うに構成されているので、これらのパケットは、出力3
1を介してビット直列形式で、または代わりにPリンク
15で使用された形式と比べて並列レベルが一層低下し
た形式で出力されて、外部接続31を実施するのに必要
な外部接続ピンの数が減らされる。
して以下に説明される。
インターフェース23に接続された出口パケット化バッ
ファ50ならびにインターフェース23に接続された到
来パケット化バッファ51を備えている。出力側では、
外部接続31は、本実施形態では、出力ピン52と入力
ピン53により形成されている。この実施形態のポート
はデータバス20からの並列形式と入力ピン52および
出力ピン53用のビット直列形式への完全変換を実行す
る。ピン52と53は、出力リンクエンジン55の一部
として接続されている。出力リンクエンジン55は、そ
れぞれ出口パケット化バッファ50と到来パケット化バ
ッファ51に接続された直列化器56と直列化解除器5
7も組み込んでいる。バッファ50と51との間に双方
向接続によりレジスタバンク58とデバッグポート状態
マシン59が接続されている。ポート30の機能は、内
部オンチップ並列形式と外部ビット直列形式との間でビ
ットパケットを変換することである。さらに、ピン53
を通して入力されるパケットがPリンクシステム15を
使用することなくポートのレジスタ58にアクセス可能
である。同様に、Pリンクシステム15上のパケット
は、外部ピン52または53を使用することなくポート
のレジスタ58にアクセスできる。
る多ビットパケットの形式は図6、7および8に例示さ
れている。パケットがPリンク15に接続されたモジュ
ール14の一つからポート30から出力されると、モジ
ュールはデータバス20に沿ってパケットの並列表示を
送信する。パケットは、すでに説明されたように複数の
8バイト転送を含む。各モジュール14(ポート30を
含む)は同様のPリンクインターフェース23を備え、
バス20からデータを取り出したりバス20にデータを
入力する動作は各モジュールで同様である。モジュール
が他のモジュール、たとえば、ポート30に送るパケッ
トを備えていると、最初に、中心制御部22にそのモジ
ュールを接続する専用リンク21に線60上の要求信号
を能動化することで、モジュールはこのことを合図す
る。このモジュールは宛先バス61で8ビット信号を出
力して送信を希望されるパケットの予想宛先を調整する
ように支持する。Pリンク21自体がバスである。ポー
ト30などのモジュールは、バス20からパケットを受
信することができ、パケットがその宛先に供給可能であ
ってもそうでなくても、専用経路21を介して中央制御
部22に供給される線62上の信号「受信許可」を能動
化することになる。中央制御部22は、モジュールがパ
ケットを宛先に送ることを希望しており、独立して宛先
がバス20からパケットを受信可能であると線22上の
信号により指示したことを判定すると、制御部22は転
送が実行されるよう調整する。制御部22は専用線21
を介して適切なインターフェース23に「送信許可」信
号63を能動化して、送信モジュールがデータバス20
とのインターフェース23と相互接続するバス64を介
してPリンクデータ経路20にパケットを入力する。次
いで、制御部22は、Pリンクデータ経路20で現在転
送を受け入れられることを合図する受信器の「送信」信
号65を能動化する。パケット送信が終了するのは、送
信側がバス20上のパケットデータの最後の転送と同時
にその「パケット送信の終端」線66を能動化するとき
である。この信号は専用経路21で中央制御部22に供
給され、次いで、制御部は受信モジュールへの「受信パ
ケットの終端」信号67を能動化する。この受信モジュ
ールにより、現転送が受信されるとPリンクデータバス
20での受諾データが終了されることになる。
は、一方のパケット形式で含まれるデータ全てが他の形
式に含まれるように並列および直列パケット間の1対1
等価で実行されて、Pリンクで使用されるプロトコルは
直列パケット化に保持される。したがって、変換にはパ
ケットの種類の識別と、その種類により判定された方式
でパケットのフィールドのコピーとが含まれている。パ
ケットがデータバス20から出口パケット化バッファ5
0に入力されると、バッファは最長のパケットを保持で
きるように35バイト長なので、パケットは全体的に保
持される。図4に示すように、バッファ50はポート状
態マシン59に接続され、転送バス71によりシフトレ
ジスタ70に接続される。シフトレジスタ70は直列化
器56に接続される。状態マシン59はバッファ50に
入力信号72を供給して、状態マシンの制御下でPリン
クパケットから転送バス71に特定のバイトをコピーす
る。第1に、パケットの最上位バイト(宛先ヘッダ73
を保持する)がバイト幅転送バス71に入力される。状
態マシン59はこの値と、パケットがシフトレジスタと
出力直列リンクに向けられることを示す値とを比較す
る。パケットが出力直列リンクに向けられていると、状
態マシンによりパケットの次のバイト74(パケットの
種類を示す命令コードに相当する)が転送バス71に入
力される。転送バス71で状態マシン59に送られる命
令コード74から、状態マシンはデータバス20から誘
導されたパケットの長さと形式を判定するので、合成し
なければならない直列パケットの長さと形式を判定す
る。状態マシン59は直列長さパケットを示すバイトを
転送バス71に出力し、シフトレジスタ70の第1バイ
ト位置にシフトされる。次いで、状態マシン59により
バイトがバッファ50からバス71にコピーされる。バ
ス71では、これらのバイトがシフトレジスタ70の次
のバイト位置にシフトされる。バッファ50からのバイ
トすべてがコピーされるまで上記の動作は継続する。バ
ッファ50からのバイト抽出の順序は、これにより直列
形式の再形式化が判定されるので、状態マシン59に保
持されている。次いで、直列パケットは、ピン52を介
して外部の回路に接続される出力エンジン55により出
力される。これは以下に図11ないし図14で説明され
ることになる。
0に入力されるときには、変換は以下のように処理され
る。各バイトはパケット化バッファを形成するシフトレ
ジスタ80に渡される。こうした直列パケットは図8に
示してある。図8には、第1バイト81がパケットのサ
イズを示している。これによりパケットの最後のバイト
の位置が識別されることになる。図3に戻ると、レジス
タ80は、単純な順序で、すなわち、状態マシン59の
制御に基づいてシフトレジスタから転送バス83に移送
される順序でバイトをコピーする。状態マシン59はパ
ケットの宛先バイト84とパケットがPリンクシステム
15に向けられていることを示す値とを比較する。状態
マシン59によりパケットの次のバイト85が転送バス
に入力されてパケットの種類(動作コードとしても知ら
れている)を示し、これから、状態マシンは直列リンク
パケットの長さと形式を検査し、さらに、状態マシンに
より合成されることになるPリンクパケットの長さと形
式を検査する。状態マシン59によりバイトがレジスタ
80からバス83に移送され、バス83を介して、Pリ
ンクパケットバッファ51にコピーされる。すべての直
列リンクバイトがコピーされ、バイトがシフトレジスタ
80からバッファ86にコピーされる位置が状態マシン
59の設定により判定されるまでこれが継続する。パケ
ットがバス20に入力される準備状態になり、前述のよ
うにインターフェースが中央制御部22により専用通信
経路21を介して通信することが、上記によりインター
フェース23に示される。Pリンクシステム15がパケ
ットを受け取る準備状態になっているときに、インター
フェースは、(クロック34により制御される)その後
のクロックサイクルパケットの第1の8バイトをデータ
経路20にコピーすることで応答する。すべてのパケッ
トバイトの送信が終了するまでインターフェースはその
後のクロックサイクルでパケットの連続8バイト部分を
バス20にコピーする。最後の8バイトは、線66上の
インターフェースにより能動化されているパケット送信
信号の終端と一致する。
来パケット(並列でも直列でも)はポートレジスタ58
にアクセスするよう予定されている。ピン53からの到
来直列ビットパケットの宛先バイト84がパケットがレ
ジスタ58へのアクセスが予定付けられていることを示
しているときには、ビット直列パケットは、すでに述べ
たようにバッファ51のPリンクパケットに変えられ
る。しかし、Pリンクインターフェース23に送られる
よりも、レジスタバンク58へのアクセスが使用され
る。パケットの1バイト(動作コード)は、レジスタア
クセスが読取りアクセスかまたは書込みアクセスである
かを示す。アクセスが読取りの場合、状態マシン59は
図5に示す線90に読取り信号を出力する。これと同時
に、パケットアドレスフィールドの最下位の4ビットが
線91に入力される。数サイクル後で、制御ブロック9
2の制御下にあるレジスタバンク58は、アドレス指定
されたレジスタの値を一時に1バイトづつ、連続するク
ロックサイクル上の各バイトで、データバス93にコピ
ーされる。データ線93上の各バイトは出口バッファ5
0にラッチされ、状態マシン59の制御下で、レジスタ
から読み出されたデータはバッファ50のPリンクパケ
ットに合成され、「負荷応答」として指定される。この
応答パケットの宛先フィールドは要求ビット直列パケッ
トの「ソース」フィールドからコピーされる。各パケッ
トにも備えられているトランザクション識別子(TI
D)もコピーされる。応答パケットの種別バイトは要求
パケットの種別バイトから形成され、その後、外部ソー
スからピン53に入力された要求パケットに応答して、
応答Pリンクパケットは出口バッファ50で形成され
る。
アクセスである場合、書込み線95はアドレス線91と
共に状態マシン59により能動化される。数サイクル後
で、データの最下位バイトはバッファ51のパケットの
オペランドフィールドからデータバス93にコピーされ
る。以後の7サイクルで、8バイトすべてのコピーが完
了するまでにその後の重要なバイトがレジスタ58にコ
ピーされる。次いで、応答パケットがレジスタ50で合
成される、ただし「記憶応答」パケットに関連するデー
タがない場合を除く。応答パケットは宛先バイトと、種
別バイトと、トランザクション識別子バイトしか含んで
いない。前述のように、応答パケットはビット直列応答
パケットに変換されて、シフトレジスタ70にロードさ
れ、ピン52を介して、記憶が実行されたことを書込み
要求のソースに指示するよう出力される。
ム15から受信したパケットの宛先バイトが検査され
て、パケットがポート30でレジスタ58にアクセスす
るようになっていることを示している場合には、同様の
動作が実行される。ビット直列レジスタ70に送られる
よりも、パケットのフィールドの種別は、アクセスが読
取りアクセスかまたは書込みアクセスかを判定するのに
使用される。アクセスが読取りの場合、図5の読取り線
90は状態マシン59により能動化され、パケットアド
レスフィールドの最下位の4ビットがアドレス線91に
入力される。2サイクル後に、レジスタバンクは、連続
する各サイクルで一時に1バイトづつデータ線93にア
ドレス指定されているレジスタに保持されている値をコ
ピーする。これはバッファ51にラッチされ、状態マシ
ンは「読取り応答」パケットとして指定されるPリンク
パケットを合成する。この応答パケットの宛先フィール
ドは要求ビット直列パケットのソースフィールドからコ
ピーされる。トランザクション識別子もコピーされる。
応答パケットの種別バイトは要求パケットの種別バイト
から形成される。
場合、状態マシン59はアドレス線91と共に書込み線
95を能動化する。数サイクル後に、データの最下位バ
イトはバッファ50のパケットのオペランドフィールド
からデータ線93にコピーされる。その後の7サイクル
で、その後の重要なバイトがデータ線93にコピーさ
れ、すべてのバイトのコピーが完了するまでレジスタに
コピーされる。次いで、応答パケットは前述のように合
成される、ただし「記憶応答」パケットに関連するデー
タがない場合を除く。応答パケットには宛先バイトと、
種別バイトと、トランザクション識別子バイトしか含ま
れていない。次いで、この応答パケットはPリンクイン
ターフェース23に送られる。このインターフェース2
3では、ポートレジスタ58にアクセスするために、応
答パケットはPリンクインターフェース93を介して入
力された要求パケットの発行元に戻される。
示すパケット形式には、読取りまたは書込み動作への要
求または応答を形成するパケットが含まれることが理解
されるであろう。パケットの宛先指標を含む各パケット
に加えて(図6と図7の番号73または図8の番号8
4)、パケットは、(TID)トランザクション識別子
98とソース99の指標を含む。パケットは宛先で一層
特定のアドレスを識別しなければならない。この理由
で、アドレス指標100が備えられている。ポート30
でのレジスタアクセスに関連してすでに記載されたよう
に、宛先はポートを識別する、ただしアドレス100は
ポート内の特定のレジスタを指示するために使用され
る。宛先フィールドは、Pリンク15に接続された目標
サブシステムまたはモジュールにパケットを経路設定す
るために使用された1バイトフィールドである。要求パ
ケットでは、宛先フィールドはアクセスするアドレスの
最上位バイトである。ソースフィールドは1バイトフィ
ールドである。この1バイトフィールドは応答パケット
の戻りアドレスとして使用される。アドレスフィールド
は要求アドレスの最下位3バイトにより付与される。T
IDフィールドは要求元により応答と要求を関連づける
のに使用される。
用することで、低価格アクセスがチップに提供され、ア
クセス当りわずかな数のピンしか不必要となり、外部ホ
ストを使用することでCPUをデバッグするのに特に有
用となる。
来の方式で命令列を実行するように構成されている。命
令集合には、マイクロコンピュータに対する複数の従来
命令が含まれているが、本実施形態は「事象」を送る命
令も含んでいる。「事象」は連続する命令の外部環境に
より通常引き起こされる例外的な出現である。事象は
「割込み」または「同期トラップ」と同様の効果をもた
らし得る。事象はCPUが実行する優先レベルでの変更
を引き起こすという点から優先順位がつけられる。事象
は、事象命令を実行することで送られる、ただし事象論
理部44の形のハードウェアはサービスまたはハンドラ
ルーチンの命令を実行することなくいくつかの事象の機
能を実行可能である。
れる事象は事象命令の実行により引き起こされる。これ
は、同一チップ上のCPU12または13の一方または
他方のCPUに「事象」を送ったり、外部接続を介して
異なるチップ上のCPUに事象を送るのに使用できる。
事象命令を実行するCPUは、Pリンクシステム15に
接続された別のモジュールに事象を送る場合もある。事
象命令は2つの64ビットオペランドと、事象番号と、
事象オペランドとをもつ。事象番号0ないし63に関し
て、ビット15は事象が「特殊事象」であるかどうかを
判定するために使用される。ビット15が1に設定され
ると、ビット0ないし14は特殊事象の種別を定義する
のに使用される。事象番号のビット16ないし63は、
CPUまたはモジュールの宛先アドレスを識別しまたは
特殊事象を受け取るのに使用される。特殊事象の種別は
以下に詳述される。 事象名 事象コード 事象オペランド 機 能 EVENT.RUN 1 無視 受信CPUの中断状態から実行 を再開する。 EVENT.RESET 3 無視 受信CPUでリセット事象を生 成する。 EVENT.SUSPEND 5 無視 受信CPUの実行を中断する。 EVENT.SET 7 立上げアドレス RESET.HANDLER <- RESET. RESET.HANDLER 影 ハンドラ RESET.HANDLER <- 立上げアドレス これらの特殊事象はCPU12または13から他のCP
Uに送られるか、または代わりにそれらはデバッグポー
ト30を介して外部ホストからチップ上のCPU12ま
たは13の一方に送られる。「事象」は前述の種別のビ
ットパケットとして送られることになる。
3は、命令の取出しと発行を終了させ中断状態に入るよ
う作られている。
と、中断フラグが設定される。このフラグは中断ピンの
状態と論理和が取られ、CPUの実行段階が判定され
る。
CPUすべてを停止する。
信したCPUだけを中断する。
する。
階に変える。これにより中断フラグの設定されてないC
PUすべてが実行を再開する。
により中断フラグを除去する。SUSPEND PINが無効にな
ると、受信CPUが実行を再開する。
インを排出する。これは実施に一定の時間がかかる。C
PUが中断されている間に、その実行状況は以下の任意
の方式で変えられる。
LERが変えられる。
バッグリンク30を用いて変えられる。
の全状態のリセット)、SUSPEND PINがハードリセット
の活動端部で能動化される場合、CPUの状態は初期化
されるが立ち上がらない。CPUは、実行状態に入ると
きにリセット事象の前に設定されたRESET.HANDLERに含
まれたアドレスから立ち上がる。
セットを実行する。リセットが発生するときにCPUの
状態をデバッグソフトが判定できるように専用影レジス
タの古い値をセーブしながら、この種のリセットにより
主要内部状態が周知の値に初期化される。
と特殊事象論理部44とそのシステムの関連を図9を参
照しながら説明する。通常の動作では、CPU取出しお
よび実行命令サイクルは以下の通りである。事前取出し
部101は命令キャッシュ42から命令を検索して、そ
れらの命令は整列されて復号部102による復号のため
にバッファに入力される。復号部102は実行に適切な
命令の形式を標準化する。ディスパッチャ回路103
は、どの命令が実行可能であるかを制御し判定し、実行
部104またはロード/記憶部105へのオペランドに
沿って命令を発行する。本実施形態のマイクロコンピュ
ータチップはさらに特殊事象論理部44を備えている。
この論理部44はインターフェース23を介してPリン
クシステム15上のパケットから起動するコマンドを受
け取り、通常の命令取出し列に重なる。「事象中断」パ
ケットを受信すると、特殊事象論理部44により事前取
出し部101は命令の取出しを終了し、ディスパッチャ
103は命令の発送を終了する。命令の実行パイプライ
ンが流れ出す。「事象実行」パケットにより特殊事象論
理部44は、中断ピンが能動化されない場合には事前取
出し部に命令取出しを再開させる。通常の実行命令の停
止または起動に加えて、特殊事象論理部44により「命
令流」状態はソフトリセットにより初期化される。ソフ
トリセットは、チップがすでに走行状態でチップ上の状
態の一部だけをリセットするときにソフトウェアにより
起動される。さらに、パケットは、リセット動作の後で
コードが取り出されるアドレスを保持するレジスタに重
ね書きできる。
ら一層詳細に説明される。
してPリンクシステム15に接続された特殊事象論理部
44を示す。図10に一層詳細に示してあるように、イ
ンターフェース23はバス110を介して特殊事象論理
部44に接続されている。特殊事象論理部44はより詳
細には以下の構成要素から成る。事象ハンドラ回路11
1は線112により命令取出し回路101に接続され、
線113により命令ディスパッチャ103に接続されて
いる。バス110も事象論理回路114に接続されてい
る。事象論理回路114は線115に沿って事象ハンド
ラ回路111と双方向通信を行う。事象論理回路114
はカウンタおよび警告回路116ならびに中断フラグ1
17と双方向接続されている。中断ピン118は事象論
理回路114に接続されている。リセットハンドラレジ
スタ119は線120に沿って事象論理114と双方向
通信を行う。レジスタ119はさらに影リセットハンド
ラレジスタ121にも接続されている。
命令はチップ上で実行されたり、外部チップ上の回路の
動作から誘導できる。この回路の動作によりパケットは
図10に示すモジュールを識別する宛先指標となるPリ
ンクシステム15に送信される。この場合、パケットは
インターフェース23を介してバス110に沿って事象
ハンドラ111と事象論理部115に至る。事象論理部
は、特殊事象が「事象実行中」または「事象リセット」
または「事象中断」又は「事象設定リセットハンドラ」
かを判定する。
4により中断フラグ117が設定される。事象論理11
4は中断フラグ117の状態と中断ピン118の状態の
論理輪を形成する。その結果は中断状態と呼ばれる。
「事象中断」が到着しても中断状態が変わらない場合、
他に何も実行されない。「事象中断」が到着して縦断状
態が変わる場合、事象論理部114はキャッシュ42か
らの命令のアクセスを阻止する。この事象論理部114
は、取出し部101により命令の取出を制御しディスパ
ッチャ103により命令の送付を制御する事象ハンドラ
111に信号を送ることでこの動作を実行する。「事象
中断」を受信する前に取り出された命令は完了される
が、事象論理部114に接続したCPUは最終的にはい
かなる命令も取り出されたり実行されたりしない状態に
入る。
14により中断フラグ117が除去される。事象論理部
114は中断フラグ117と中断ピン118の状態の論
理和を実行する。その結果は中断状態と呼ばれる。「事
象実行」が到着しても中断状態が変わらない場合、他に
何も実行されない。「事象実行」が到着して中断状態が
変わる場合、事象論理部114はキャッシュ42からの
命令のアクセスの阻止を終了する。事象ハンドラ111
を通過する信号は、CPUが中断される時点でその取出
し実行サイクルが再開されることを取出し部101に示
す。
場合には、事象論理部114によりパケット中の特殊事
象を付随するオペランドがリセットハンドラレジスタ1
19にコピーされ、レジスタ119に保持された前の値
が影リセットハンドラレジスタ121に入力される。
部114により事象ハンドラ111が新しい命令ポイン
トを線112で取出し部101に送ることで現命令列を
終了し、それにより新しい命令列の実行を開始する。そ
の実行列の第1命令はリセットハンドラレジスタ199
で与えられたアドレスから取り出される。その新しいア
ドレスは、取出し部101に供給される前に、事象論理
部114から事象ハンドラ111に線120を介して確
保される。
ケットに示される特殊事象を用いることで、チップ上ま
たはチップ外のソースを使用してCPUによる命令の取
出しと実行を中断したり、中断状態のCPUの実行を再
開するのに使用されるのが理解されるであろう。CPU
を初期状態にリセットしたり、CPUによりアクセス可
能なネットワークを介して物理アドレス空間の一部を形
成するようにPリンクシステム上の任意の場所または外
部ポート30を使用して相互接続ネットワークの任意の
場所からCPUに新しい立上りコードを送ったりするの
にも、前記ソースを使用することもできる。
は図15、図16および図17に示されている。図15
は、インターフェース23に隣接した受信バッファ14
0と送信バッファ141を含むPリンクシステム15を
示す。特殊事象を含むパケットがバッファ140で受信
されると、入力が線142、143および144を介し
て特殊事象復号論理部145に送られる。事象番号のビ
ット15が1にリセットされて、特殊事象を示すと、P
有効信号が線142を介して復号論理部145に送られ
る。同時に、パケットの事象コードフィールドが線14
3を介して復号論理部145に供給され、事象オペラン
ドフィールドは線144を介して復号論理部145に供
給される。線142上のP有効信号の有効化に応じて、
復号論理部145は以下の表に示すような事象コードフ
ィールドを復号する。 復号の後の動作のサイクルでは、復号論理部145は線
146を介してP_Event_Done信号を出力してバッファ1
40の内容を消去する。線143上の信号の復号結果に
応じて、復号論理部は線147でEvent Run信号または
線148を介してEvent Suspend信号を出力して線15
0により中断ピンに接続された論理部149を中断す
る。代わりに、線143上の信号を復号することで、復
号論理部145は線151を介してEvent Reset信号を
CPUパイプライン回路152に出力する。代わりに、
復号論理部145は線153でEvent Set Reset Handle
r信号をバス156上のオペランド値と共にリセットハ
ンドラ論理部154に出力する。
7と148はSRラッチ157への入力を形成する。S
Rラッチ157は、他の入力150を備えている中断ピ
ンをもつORゲート159に第2入力158を送る。こ
の方法で、線147上の信号は中断ピンと論理的和が取
られて、線160上の取出し不能信号を生成する。この
信号は中断フラグを備えているラッチ161を含む。線
160の信号は命令キャッシュ42からの命令の取出し
を阻止するよう作用する。このため最終的にCPUには
命令が不足し、CPUの実行が中断される。線148上
の信号の能動化によりSRラッチ157の通常の動作で
線147上の以前に能動化された信号が除去されること
になる。
示す。線153上のEvent Setが能動化されると、リセ
ットハンドラレジスタ119、影リセットハンドラレジ
スタ121と命令ポインタバス112を相互接続するレ
ジスタバス163に接続されたリセットハンドラ状態マ
シン162に送られる。信号の能動化への応答は以下の
通りである。
ドラレジスタの値がレジスタバス163に読み出される
リセットハンドラレジスタ119の読取り線164を能
動化する。 2. 状態マシン162は、レジスタバスの値を影リセ
ットハンドラレジスタに書き込む影リセットハンドラレ
ジスタ121の書込み線165を能動化する。 3. 状態マシン162はEv_ハンドルバス上の値をレ
ジスタバスに入力させる。 4. 状態マシン162は、レジスタバス156上の値
をリセットハンドラレジスタ119にコピーするリセッ
トハンドラレジスタ119の書込み線164を能動化す
る。
イン152から線166で能動化される場合には、以下
のことが発生する。状態マシン162はリセットハンド
ラレジスタの読取り線(R/W)を能動化して、リセッ
トハンドラレジスタの値がレジスタバス上に読み込まれ
る。この値はIPTRとラベルが付けられた線に沿って
転送される。
は「目標」CPU12をデバッグのために「ホスト」外
部コンピュータ123に接続するのにデバッグポートが
使用される方法を示す。(同じことがCPU13に当て
はまる。)ホストはアダプタ装置170を介してCPU
に接続される。アダプタとポート30との間に、上記の
直列プロトコルを使用する双方向ビット直列リンク17
1がある。アダプタは、そのプロトコルと、アダプタと
ホスト123との間の双方向リンク172を介して使用
される標準ネットワークまたはパーソナルコンピュータ
バスプロトコル(イーサネットまたはPCIバスなど)
との間で変換する処理手段を含む。
は、直列リンク171とのインターフェースを取るイン
ターフェース173と、ネットワークプロトコルリンク
172とのインターフェースを取るインターフェース1
74を含む。インターフェース173と174との間に
はアダプタの動作を制御するCPU175がある。この
動作にはインタフェース間でのメッセージの送付が含ま
れている。これらのインターフェースは直接接続可能で
あるが、制御部がたとえばより柔軟になれば、他のプロ
トコルを使用するインターフェースにインターフェース
174を切り替えるのが容易になる。メモリ176はC
PU175に接続される。説明を容易にするためには、
メモリ176は3つの区分176a、bおよびcに分割
された示してある。区分176aはCPU175の命令
を記憶する。CPUはインターフェース173と174
の一方とメモリ176との間でデータの経路設定を実行
できる。以下に説明されるように、これによりCPU1
75はホスト123からプログラムされ、チップ11上
のCPU12に対する命令が直列リンク171を介して
メモリ176から送られる。直列リンク171は本実施
形態では電気的に脆いので、その長さが1.5mを越え
ると通信の信頼性が低下する。対照的に、本実施形態で
は、ネットワークプロトコルリンク172は電気的には
頑強なので、一層長い距離に渡って信頼できる通信を維
持できる。これにより、ホストコンピュータのユーザが
チップ上のCPU12に接続するのが一層便利になる。
ポート30を介してチップが外部マイクロコンピュータ
に接続されるときには図1のCPU12または13の一
方または他方を立上げるために使用される。2つのCP
U12と13は共通の中断ピン118に接続可能であ
る。ピン118が能動化され、ハードリセットピン46
が能動化されると、どちらのCPUも命令を取り出さな
くなる。次に、外部リンク30と外部マイクロコンピュ
ータ123が、チップ11上のレジスタを直接制御する
よう書き込んで、チップ11のバス33に接続されたD
RAMメモリに必要な立上げコードを記憶することで最
少のオンチップ状態を構成するのに使用できる。この動
作では、アダプタのCPU175はインターフェース1
73と174との間でデータを受動的にリレーするよう
動作する。中断ピンの状態が変わると、CPUの一方が
チップ11に対して現在DRAMに保持されているコー
ドから立ち上がる。これを達成するためには、ハードリ
セットが能動化されると中断ピン118が能動状態に変
わる。外部マイクロコンピュータ123はポート30を
介してパケットを送り、立上げコードを図11に示すメ
モリ120に書き込む。次いで、ホスト123は命令を
実行して、特殊事象EVENT SET RESET HANDLERをCPU
12と13の一方に送る。本実施形態では、CPU13
となる。これによりCPU13用のリセットハンドラレ
ジスタ119に新しい目標アドレスが供給される。次い
で、ホスト113が命令を実行して、ポート30を介し
て他のCPU12に特殊事象EVENT SUSPENDを送る。こ
れによりCPU12の中断フラグ117が設定されるこ
とになる。その後、CPU13がリセットハンドラレジ
スタ119に保持された目標立上げアドレスから、メモ
リ120から誘導されたコードの実行を開始するように
中断ピン118の能動信号が取り除かれる。CPU12
はその中断フラグ117が始まることにより中断状態に
なる。CPU12を動作させる必要があるときには、そ
れはCPU13により起動されて、CPU12に特殊命
令EVENT SET RESET HANDLERを送る命令を実行する。こ
れによりCPU12のリセットハンドラレジスタ119
に保持された省略時立上げアドレスが変わることにな
る。次いで、CPU13は命令を実行して、特殊事象EV
ENT RUNをCPU12に送り、上記のように、CPU1
2は、CPU12のリセットハンドラレジスタ119の
アドレスから誘導されたコードと共にCPU12の実行
を始める。
タはROMに有効コードを記憶される必要なく立ち上げ
ることができる。
メモリ120にロードされた立上げコードを使用した
が、外部マイクロコンピュータ123内のメモリ125
に記憶されたコードを用いても同様の処理手順を実行で
きる。これを達成するためには、上記の同じ処理手順が
実行される、ただしCPU13のリセットハンドラレジ
スタ119にロードすためにポート30を介して送られ
る特殊事象がポート30のアドレス空間にある立上げコ
ードの目標アドレスを提供する場合を除く。この様にし
て、能動化信号が中断ピン118から取り除かれると、
CPU13は、外部コンピュータと外部メモリからコー
ドを直接取り出し始める。CPU12が必要なら、CP
U12は、前述のようにCPU13により起動される。
純化のためにCPU12のみが示してある。というのは
CPU13は図11を参照して説明される動作には無関
係のためである。チップは、外部メモリインターフェー
スおよびバス33を介してCPU12の中のメモリチッ
プ120に接続され、CPU12の局所アドレス空間の
一部を形成する。ポート30は、リンクを形成する2つ
の直列ワイヤ121と122によりアダプタ170に接
続される。アダプタはリンク172により他のマイクロ
プロセッサチップ123に接続される。このチップ12
3は、この場合には、チップ11と共に使用するために
デバッギングホストを形成する。線121はチップ11
への単方向入力経路を提供し、線122はホスト123
への単方向出力経路を提供する。9ワイヤ直列リンクな
ど他の形式も使用することができ、本実施形態では、ワ
イヤの1本または複数本がポート30のピンに、たとえ
ば、中断ピン118に直接接続できる。ホスト123
は、バス124を介してホストマイクロコンピュータ1
23の内部のメモリチップ125に接続されるので、ホ
ストマイクロコンピュータ123のアドレス空間の一部
を形成する。CPU12でデバッグ動作を実行するため
には、ホストマイクロコンピュータ123により前述の
特殊事象がPリンクシステム15にポート30を介して
直列線121に沿ってパケット形式で発行されるように
マイクロコンピュータ123が、そのチップ上で誘導さ
れたり内部メモリ125から誘導されたソフトウェアを
動作させる。図10を参照しながらすでに説明したよう
に処理されるようにこうした特殊事象はCPU12を指
示する宛先アドレスを備えている。この宛先アドレス
は、任意の時点でCPU12を中断して、そのリセット
ハンドラレジスタの値を置換し、CPU12をその前の
状態またはレジスタ119の値により指示された新しい
状態からリセットするのに使用できる。CPU12はホ
スト123の内部のメモリ125のアドレスのアドレス
空間の一部を含む。ポート30はCPU12の局所アド
レス空間の一部を形成し、その結果、ポート30に割り
当てられたアドレス空間にメモリアクセスが行われ、本
実施形態では、応答がホストマイクロコンピュータ12
3で実行中のソフトウェアと合成可能である。したがっ
て、リセットハンドラレジスタ119をCPU12の内
部よりもホストの内部のアドレスに設定することができ
る。この様にして、CPU12の動作から独立して、ホ
ストはそれ自体をCPU12により使用される命令およ
び/またはデータのソースとして確立することができ
る。この機構は、ホスト123からのデバッギングを起
動するのに使用できる。チップ11が2つのCPU12
と13をもつ場合、CPU13で実行中のソフトウェア
がCPU12で実行中のデバッグ動作により影響を及ぼ
されることのないように、すでに説明されたようにCP
U12で実行中のソフトウェアをデバッグすることがで
きる。これは図12に示す位置である。ここでは、第2
のCPU13が破線で示され、ホスト123に接続した
CPU12で動作するデバッグルーチンから完全に独立
して、その命令キャッシュまたはメモリ120から命令
を獲得する際には通常に動作している。
スにアクセスすることによりCPU12はホストのメモ
リ125からコードを取り出しながら、アダプタのCP
U175はインターフェース173と174との間でデ
ータをただ受動的にリレーするように動作する。他の解
決法は、コードをアダプタのメモリ176bに記憶し
て、CPU175がメモリ176bからインターフェー
ス173にデータをリレーさせることである。後者の解
法では、ホストのメモリ125からアダプタのメモリ1
76bにデータを転送することによりコードをメモリ1
76bに最初に記憶するのが好ましい。リンク172は
通常はリンク171よりレイテンシーが高いので、CP
U12によるコードの取出しが速くなる。しかし、CP
U175がより能動的であれば重要な利点が確保でき
る。
171に能動的に経路設定するよう動作するのが好まし
い。メモリ176cはメモリ176のどれかのメモリア
ドレスを定義するポインタデータを記憶し、メモリ12
5はチップ11上でポート30に指定されているメモリ
アドレスに対応する。言い換えれば、メモリ176cの
データはポート30に指定されたメモリアドレスからメ
モリ125と176の目標メモリアドレスへのポインタ
として作用する。CPU175はポート30に指定され
たメモリアドレスを指定するCPU12から取出し要求
を受け取ると、CPU175はメモリ176または12
5のどのメモリアドレスがそのポートアドレスに対応す
るかを判定し、その目標アドレスからデータを取り出
し、それをリンク171を介してCPU12に送る。図
19はこの方式を示す。図19では3つのメモリがコラ
ムとして示されている。コラム177はポート30に割
り当てられたメモリアドレスを表す。コラム178はメ
モリ176を表す。コラム179はメモリ125を表
す。メモリアドレス177の3つのスライスがメモリ1
76に定義されて、メモリ125と176のメモリアド
レスのスライス上にマップされる。スライス0(18
0)はメモリ125のスライス181上にマップされ
る。スライス1(182)はメモリ176のスライス1
83上にマップされる。スライス2(184)はメモリ
125のスライス185にマップされる。CPU12が
スライス0でメモリアドレスからデータを取り出すと、
アダプタのCPU175は取出しを解釈して、ホストの
メモリのスライス181から対応するアドレスからのデ
ータを取り出して、そのデータをリンク171を介して
CPU12に送る。スライス1のデータはアダプタ内の
メモリ176にキャッシュされるので、CPU12がス
ライス1のメモリアドレスからデータを取り出すと、C
PU175は取出しを解釈し、適切な局所アドレスから
データを供給する。この分割メモリ方法は多くの利点を
備えている。
み可能なので、CPU12がメモリ125からコードの
ブロックを実行しているときには特に、分割メモリ法に
より性能が改良される。コードを記憶したメモリ125
のスライスからのデータをメモリ176bのスライスに
コピーできる。次いで、スライスの位置のメモリ176
cの定義はメモリ176bのスライスを指定するように
設定可能である。コードは現在アダプタ内でアクセス可
能なので、CPU12からの取出しに応答して比較的高
いレイテンシーリンク172を介してデータを渡す必要
なしに、CPU12によりコードを一層迅速に取り出す
ことができる。 2. アダプタで利用可能なメモリは比較的小さく保持
できる。具体的には、アダプタはポート30に割り当て
られたメモリ位置すべてを備える必要はない。したがっ
て、アダプタは低価格に保持できる。 3. メモリ176cのポインタを変えさえすれば、メ
モリアドレス177のスライスは、目標メモリ位置の内
容を変えることなく新しい目標メモリ位置でデータにマ
ップされることができる。
ータを読み取るためにCPU12からの命令の取出しを
参照しながら上記されている。アナログ動作はデータの
書込みまたは交換に適用される。
メモリへのアクセスを要求すると、ホストのアダプタは
パケットのソース識別子99を使用して、パケットのソ
ースを判定することができる。これが有益なのは、共通
メモリ系にマップされた複数のCPU核を含むチップを
監視するときである。したがって、メモリ系は複数のオ
ンチップCPU核を支援するよう調節可能である。
指定されたメモリアドレスのすべてがメモリ125また
は176の目標アドレスにマップされる必要はない。対
応する目標が記憶されてないメモリアドレスは集合的に
省略時スライスと呼ばれる。CPU175がCPU12
から要求を受け取り省略時スライスでアドレスにアクセ
スする場合、CPU175によりインターフェース17
4が要求をホスト123に渡す。リンク171から低レ
ベルプロトコル情報を含む、要求をフレーム化する形式
で、要求が渡されるので、要求はホスト123で、デバ
ッグなどのために、完全に分析可能である。代わりに、
省略時スライスにアクセスするときには、アダプタはエ
ラー信号をホスト123に送るだけでよい。
たソフトウェアにより制御される。ソフトウェアはCP
U175がメモリ176cに記憶されたポインタデータ
を解釈する方法だけでなくCPU175が他のいくつか
の機能を実行する方法を定義する。これらには目標CP
U12と13の状態の監視が含まれる。CPU175は
中断ピン118と、(目標CPUとホスト123のソフ
トウェア上のリンクを可能にする)ロック状態と、動作
コード監視(以下を参照)とを制御する。CPU175
はホスト123からの要求を連続的に探索して(たとえ
ば)データを目標CPUに送り、目標CPUをリセット
して、チップ11のオンボードメモリを読み取ったり書
き込んだり、またはメモリ176を読み取ったり書き込
んだりする。アダプタが容易に立ち上がるように、少な
くともメモリ176aの一部は非揮発性メモリとして形
成されている。
前に特殊命令EVENT SUSPENDをCPU12に送るように
ホスト113を形成することにより、ポート30を介し
て取り出す命令の量を減らすことができる、というの
は、CPU12と13の両方をポート30を介して外部
マイクロコンピュータから立上げようとするよりも、C
PU13だけが立ち上がり、その後、CPU13が、C
PU12を立上げるように構成できるからである。
多数の連続または非連続メモリアドレスを備えている。
しかし、ポインタが記憶されているメモリ176cの記
憶内容の使用を容易にし効率化するために、すべての定
義スライス(すなわち、未定義の省略時スライスとは別
のすべてのスライス)は多数の連続メモリアドレスを含
んでいるのが好ましい。各スライスはメモリ176cに
アドレス177の範囲の頂部アドレスと底部アドレスと
して定義され、データはスライスがメモリ125または
176にモデル化されているかどうかを示し、スライス
の読取りおよび書込み許可を与える(たとえば、CPU
12と13は通常はそれらが実行すべきメモリ176b
のコードに書込みアクセスを与えることはなくなる)。
メモリ176のアドレスについては、メモリ176cは
スライスの最下位アドレスを定義するデータも記憶して
いる。メモリ125のアドレスでは、同様のマッピング
がメモリ125に記憶され、ホスト123が範囲177
のアドレスとメモリ125のアドレスとの間で変換を実
行する。読取り/書込みデータを使用するためには、C
PU12または13が任意のスライスのデータへのアク
セスを要求すると、CPU175は、最初に、そのデー
タへのその種のアクセスが認められるかどうかを検査す
る。スライスの最下位アドレスのデータに対するメモリ
125または176のアドレスは、アドレスがメモリ1
76ではなくメモリ125にあることを示すフラグと共
にホスト123内のアドレスとして記憶可能である。代
わりに、メモリ125と176のメモリアドレスが重な
らないように定義されるので、これらのアドレスは概念
上は同じメモリ空間を形成している。
6に制限する必要はない。アダプタは、メモリにアクセ
ス可能になる他のホストとのインターフェースを備える
ことができる。または、追加ホストをインターフェース
174またはホスト123に接続することもできる。こ
うすれば追加ホストのメモリへのアクセスが容易にな
る。
上記の方法でメモリ125と176にアクセス可能であ
る。こうしたモジュールとはインターフェースなどであ
る。
行を監視することができる。これらのレジスタを使用し
て、特定のメモリ記憶がアドレス指定されるとき、また
は代わりに特定の位置からの命令が実行されると、デバ
ッグルーチンを起動することができる。
においてチップ11を使用する様々な実施形態が図11
ないし図14に示してある。
を参照しながら説明されたネットワークとほぼ同様であ
る他の構成を示す。しかし、この場合には、CPU12
はデータ監視点レジスタ130とコード監視点レジスタ
131を備えており、これらのレジスタでは、これらの
監視点に到達するとデータ値または命令位置の各アドレ
スがデバッグルーチンを起動するように保持される。こ
の実施形態では、ホストマイクロコンピュータ123
は、CPU12によるプログラムの実行中の任意の位置
で、容易にCPU12の実行を停止させて、レジスタ1
30または131の監視点の状態が修正され、制御をC
PU12の元のプログラムに戻す。CPU12がレジス
タ130または131の一方に設定されるように監視点
をトリガする命令を実行すると、CPU12はその通常
の列での命令の取出しを停止して、デバッグハンドラレ
ジスタ132の内容により指定された命令から始まる命
令の取出しと実行を開始する。デバッグハンドラレジス
タ132は、CPU12内よりもホスト123内のアド
レスを含む場合、CPU12はホスト123からの命令
の取出しを開始することになる。この様にして、CPU
12の内部のメモリの任意の部分を使用することなく、
さらにCPU12のプログラムをデバッギングホスト1
23のプログラムと共同するように設計する必要もな
く、ホストはすでに実行中のプログラムの監視点デバッ
ギングを確立できる。チップ11上のCPUのオペレー
ティングシステムとアプリケーションソフトウェアは、
デバッギングホストコンピュータ123が動作する方法
またはどのオペレーティングシステムまたはソフトウェ
アがホスト123に統合されているかについての知識を
もつ必要はない。
法は、CPU12と13および図1のインターフェース
25、28および35などのハードウェアインターフェ
ースとの間の相互関係のデバッギングである。これらの
インターフェースの任意のものをデバッグするために
は、Pリンクを再構成して、問題になっているインター
フェースの代わりに、目標CPUからポート30にその
インターフェースへの通信を方向づける。ポート30か
ら、通信がアダプタ170と(オプションとして)ホス
ト123に渡される。ホストおよび/またはアダプタは
通信を記録して、実際のインターフェースの応答をシミ
ュレート可能である。これは、インターフェースへの通
信を感知するためにチップ上に追加装置管理ハードウェ
アが不必要になるために、Pリンクのパケット化特性
と、ポート30の機能と、関連するオフチップハードウ
ェアとを利用する。
いくつかのアドレスがデバッグ中のハードウェアインタ
ーフェースに対応するよう指定するように容易に再構成
できる。これは、メモリマッピングにより、明示的また
は目標CPUのTLBを使用して真のハードウェア装置
のアドレスを変換することで、または、そのポート30
に割り当てられるアドレスへのインターフェースにより
実行される。次いで、メモリ176aまたはメモリ12
5のソフトウェアによりアダプタ170またはホスト1
23の各プロセッサが真のハードウェアと対応するイン
ターフェースの性能をモデル化し、真のインターフェー
スと同じ方法でポート30を介してCPUに応答する。
たとえば、ビデオインターフェース25との相互関係が
デバッグ中の場合、ホスト123は、真ビデオメモリに
対応するスライスとしてホストのメモリの一部を定義す
ることでインターフェースのビデオメモリの動作をモデ
ル化し、書込みおよび読取りビデオデータを送受信す
る。モデル化はチップ外で処理されるので、CPUのハ
ードウェア相互関係を観察しデバッグするのは比較的簡
単である。一層複雑なハードウェア相互関係では、真の
ハードウェアが読取りまたは書込み命令をメモリの外の
動作を実行する命令として解釈する場合に、ホスト12
3が命令を読み取ったり書き込んだりする動作はそれほ
ど受動的ではない。たとえば、キーボード入力をシミュ
レートするためにデータ流を生成しなければならない場
合がある。
のインターフェースがホスト123またはアダプタ17
0によりシミュレート可能になるように指定されていれ
ば、CPUのハードウェア相互関係が、真のハードウェ
アが構築される前でさえデバッグ可能なことである。さ
らに、UARTやイーサネットインターフェースなどの
多数の共通ハードウェア装置には、書き込まれるが読み
取られない多数の状態が含まれており、こうした装置を
用いてCPUの相互影響をデバッグすることは困難であ
る。上記のシステムでは、ハードウェアのソフトウェア
モデルの内部状態はホスト123を使用して容易に検査
可能であり、このデバッグ処理は一層容易になる。
監視点トリガがオペレーティングシステムにより管理さ
れるトラップまたは事象に共通のベクトルを用いて処理
される。これらのトラップと事象は、ハンドラルーチン
のアドレスを供給する従来のレジスタマーク集合134
を使用している。上記の実施形態では、デバッグハンド
ラレジスタ132とリセットハンドラレジスタ136を
含む予備のレジスタ集合135が備えられている。この
方式では、オペレーティングシステムからの独立は、監
視点処理ルーチン用のハンドラルーチンのアドレスが発
見された予備レジスタを備えることで確立される。
る。この回路はCPU12で動作コード監視を実施す
る。図20に示す回路は連続的にCPU12の実行部へ
の命令線INSTR80を監視し、論理ゲートを使用すれ
ば、命令監視点レジスタ181とマスクレジスタ182
に記憶されているデータと命令線がビット毎に比較され
て、監視点をトリガすべきかどうかが判定される。命令
線は(図9と図10の188)命令ディスパッチャの出
力端で監視される。命令レジスタ181は目標命令コー
ドWATCH.VALUEを記憶する。マスクレジスタ182はマ
スクWATCH.MASKを記憶する。このマスクのビットは、WA
TCH.VALUEにより定義されるコードの対応ビットが監視
される場合には値1となり、そのビットが監視に値しな
い場合には値0となる。レジスタ182と182は目標
CPUで利用可能な最も広い命令(本実施形態では32
ビット)と同幅である。ANDゲート183はWATCH.VA
LUEとWATCH.MASKについてビット毎にAND演算を実行
して、WATCH.MASKでWATCH.VALUEをマスクする。このA
ND演算は、WATCH.VALUEとWATCH.MASKの1対に対して
1度実行すればよい。その結果は一時レジスタに記憶す
ることができる。同時に、ANDゲート184はINSTR
とWATCH.MASKについてビット毎にAND演算を実行し
て、WATCH.MASKで各連続INSTRをマスクする。次いで、
ゲート183と184の出力はゲート185で比較され
て、1ビット出力が生成される。2つの出力が同じ場合
には、真(1)信号がゲート185から出力される。次
いで、ゲート186がゲート185からの出力と(レジ
スタ187から誘導された)1ビットWATCH.ENABLE/GRO
UP信号の論理積を取る。これは、本実施形態では、WATC
H.VALUEとWATCH.MASKの結合により定義された命令の監
視が可能になるかどうかを示す。ゲート185からの出
力とWATCH.ENABLE/GROUP信号が高レベルの場合、トリガ
信号が回路から出力される。トリガ信号は事象論理部
(図10の114)に送られ、上記の他の監視点システ
ムからの出力と同じように処理される。たとえば、トリ
ガ信号は、デバッグトラップハンドラを起動させてた
り、カウンタを増分させたり(カウンタがゼロのときデ
バッグトラップハンドラが起動される)、トリガ命令が
アダプタ170に対して発生したときにCPU命令ポイ
ンタの現値の圧縮形式を含むデータグラムを発すること
が可能である。後者の動作によりホスト(データグラム
を受信した場合)は圧縮ポインタ値を読み取り、その情
報をデバッギングツールに送ることができる。データグ
ラムは、ソフトウェアの最適化を支援するために、トリ
ガ命令の発生時の指示も含むこともできる。
するよりも、この監視方式では特定の動作と動作の種類
が動作コード命令データ自体を使用するために監視され
る。WATCH.MASK全ビットが1に設定されると、この方式
はWATCH.VALUEにより定義された命令と同一の命令の実
行を監視する。CPUの命令集合が標準形式で定義され
ている場合にはこの動作は特に強力である。たとえば、
16ビット命令が3フィールドで構成され、実行される
動作を定義する最初の4ビットと、命令によって使用さ
れる第1レジスタを定義する次の6ビットと、命令によ
り使用される第2レジスタを定義する最後の6ビットで
ある。WATCH.VALUEの最初の4ビットフィールドを除く
すべてをマスクするためにWATCH.MASKを1111 0000 0000
0000に設定することで、この監視方式は、WATCH.VALUE
により定義された命令と同じ動作を行う命令すべてを監
視するのに使用される。WATCH.VALUEのビット5ないし
10を除く全てをマスクするためにWATCH.MASKを0000 1
111 1100 0000に設定することで、この監視方式は、WAT
CH.VALUEにより定義された命令と同じ第1レジスタを用
いてすべての命令を監視するために使用できる。読取り
および書込み命令が同じ形式の場合には、選択されたレ
ジスタにアクセスするときにはこうした命令のどちらも
検出可能である。他の実施形態は、2つのフィールドお
よび/またはフィールドのマスク部分以外のすべてのマ
スク化を含む。
命令形式の例を示す。上記の形式は図22では数1であ
る。図22の略語の意味は以下の通りである。 略語 意味 長さ(ビット) OP 動作コード 4 Fa, Fb, Fc 動作コード拡張 2, 6または10 Ra, Rb, Rc, ra, rb, rc レジスタ番号 2, 3または6 RB レジスタブロック番号 4 c レジスタ定義ビット 1 Ca, Cb, Cc, Cd 定数 10, 12, 16, 26 リアルタイムオペレーティングシステム(RTOS)で
実行するCPUでは他の利点も利用できる。前記のオペ
レーティングシステムでは、CPU上で時分割多重同時
スレッドによりマルチタスクが可能になる。通常は、単
一のスレッドに特定の命令を監視することは不可能であ
る、これは従来の監視点/命令追跡機能がRTOSと相
互関係のないハードウェアで実施されるので監視点機能
は目標CPU全体に広がっているからである。本システ
ムでは、あるスレッドの検査が実行され、その結果がゲ
ート186に(187のWATCH.GROUP値を介して)入力
される。
できるように、CPU12にはWATCH.VALUE, WATCH.MAS
KおよびWATCH.ENABLE/GROUPレジスタや、並列に動作す
る図20に示すいくつかの回路が含まれる。2つの監視
を使用する特に有益な動作は、いつブランチ(たとえ
ば、ジャンプまたはリターン)命令が実行されても命令
ポインタの値をホスト部に報告することである。これに
よりプログラム流を監視する効率的な方法である。同様
の回路がCPU13に備えられている。
たのと同じネットワークを示す。この場合には、ポート
30を介して特殊な事象のデバッグと送信の際に使用す
るよう前述のように動作するようにホスト123が備え
られポート30に接続されている。しかし、リアルタイ
ムコードをデバッグする際にできるだけ迅速にCPU1
2または13の一方のデバッグを監視する必要がある場
合には、この実施形態は、ホスト123の代わりにCP
U12または13の一方を使用してCPU12または1
3の他方のデバッグを実行するのに使用できる。チップ
上のPリンク15に沿ったパケットの転送は、ポート3
0を介した外部通信より迅速に実行できる。この場合に
は、CPU12と13の一方が、同じチップ上の他のC
PUに特殊事象を送り、それによりホスト123の使用
を参照して前述されたデバッグ動作を実行する命令を実
行可能である、ただし、この場合では、制御が、同じチ
ップ上の他のCPUのデバッグ動作を実行させる際にチ
ップ上のCPUの一つにより実行される。
は、チップ上のCPUの一方のオペレーティングシステ
ムまたはアプリケーションソフトウェアに制限を加える
ことなくチップ上のCPU12と13の一方のデバッグ
を実行するのに使用できる。監視点デバッギングは、チ
ップ上のCPU内のメモリを使用しなくても実行可能で
ある。チップ上のCPU11と12の両方と外部に接続
されたホスト123はポート30によるパケット通信に
より互いの状態にアクセスする。チップ上のCPU12
と13は、ホスト123のCPUのいかなる動作からも
独立して、外部メモリ125にアクセスできる。このた
め、チップ上のCPUは外部接続マクロコンピュータ内
のメモリからのコードにアクセス可能になる。
おける割込みはメモリと同じ構成で実施される。割込み
はPリンク上のパケットとして処理される。アダプタが
デバッグポートに接続されると、アダプタはパケットを
Pリンクに挿入可能になる。したがって、アダプタ(お
そらくはCPU123の制御下にある)は、CPU12
と13と、割込みを受信可能な他の装置への割込みを表
すパケットをPリンクに挿入可能である。
装置には32個の仮想割込みピンがあり、事象とカウン
タからのデータが割り当てられる。各割込み事象は、仮
想割込みピンの一つの状態からエッジトリガ(上昇端ま
たは下降端)としてまたはレベルトリガ(高レベルであ
れ低レベルであれ)として指定できる。こうした細部を
指定するために、割込み事象命令の偶数番号オペランド
の6ビットを使用する。ビット9ないし4は仮想割込み
ピンの数を指定し、ビット5と6はトリガの種別を指定
する。
に、割込み事象命令の2つの64ビットオペランドが、
3つのバイトと共にアダプタによりパケットバッファ5
1にコピーされる。3つのバイトとは、動作コードバイ
ト(上記のように、パケットが偶数要求であることを示
す)、TIDバイトと、ソースバイトである。ソースバ
イトは、割込みの起点を識別する。ソースバイトはアダ
プタにより目標値に設定されて、任意のソースからの割
込みをシミュレートする。割込みの宛先部はこうした
「偽割込み」と、指示されたソースによってのみ生成さ
れた割込みとを区分することができない。したがって、
割込みは、デバッグのためにハードウェアからの割込み
をシミュレートできる。
3と175によっても制御されている。たとえば、時間
に関連したデバッグの問題を調査できるように、パケッ
トは望ましい時点でPリンクに挿入可能である。アダプ
タのメモリ176におけるソフトウェアにより、Pリン
ク上への割込みパケットの挿入が半自動化可能になる。
たとえば、そのソフトウェアにより所定の時間間隔で
(たとえば、「毎Nミリ秒」)でパケットを挿入可能で
ある。
の割込み駆動コードのデバッグにおいて極めて有益であ
る。目標コンピュータ上のデバッギングシステムと割込
みピンとの間の直接リンクに依存しているシステムにあ
るように、割込み専用に物理的な接続をする必要はな
い。他のシステムにより、たとえば、リアルタイムクロ
ックから、または目標システムの一つのCPUから他の
CPUに割込みが目標システムの内部装置により与えら
れる。目標システムがデバッグされるまで、これらの装
置は正確に動作するものと信頼することができない。従
来技術のシステムに関する他の問題は、検査されること
になるすべての相対タイミングを予想シミュレートする
ようにハードウェア装置(リアルタイムクロックなど)
を操作するのは困難なことである。
タやワークステーションなどのコンピュータ、またはプ
ログラム式論理アレイなどのコンピュータ装置を含む場
合がある。
に開示されている任意の特色または特色の組合せまたは
請求されている発明とは無関係に一般化された特色を含
むことができる。上記の説明から、当業者には明らかな
ことだが、様々な修正が本発明の範囲内でなしえる。
成図である。
を一層詳細に示す図である。
入力を示す図である。
を示す図である。
す図である。
タル信号要求パケットの形式を示す図である。
タル信号応答パケットの形式を示す図である。
ケットの一例を示す図である。
タの一つのCPUのより細部を示す図である。
る。
されるホストコンピュータに接続される図1に示す種類
のマイクロコンピュータを示す図である。
のCPUがホストによりデバッグされている間に通常に
動作する図11と同様の構成を示す図である。
ピュータに接続されるときに図1に示すマイクロコンピ
ュータの一部を形成する一つのCPUを示す図である。
プ上の他のCPUによりデバッグされるホストコンピュ
ータに接続された図1に示す種類のマイクロコンピュー
タを示す図である。
である。
である。
す図である。
プタのアーキテクチャを一層詳細に示す図である。
クチャを示す図である。
Claims (26)
- 【請求項1】オンチップCPUを備えている単一の集積
回路チップ上にマイクロプロセッサを含み、 命令を実行するデータ処理部と、 前記データ処理部とメモリとの間に接続され、前記命令
を前記データ処理部に渡すデータリンクと、 命令比較コードを記憶する監視レジスタと、 前記データリンクで渡された前記命令と前記命令比較コ
ードとを比較して、前記比較の結果に応じて比較出力信
号を生成する前記データリンクに接続された監視比較器
と、を含むことを特徴とするコンピュータシステム。 - 【請求項2】前記CPUは、前記命令の部分を定義する
命令フィルタコードと、比較すべき命令比較コードとを
記憶するフィルタレジスタを含む請求項1に記載のコン
ピュータシステム。 - 【請求項3】前記監視比較器は、前記命令比較コードと
比較すべき前記命令の部分を定めるために前記命令フィ
ルタコードで前記データリンク上で渡される前記命令を
フィルタリングする第1命令フィルタを含む請求項2に
記載のコンピュータシステム。 - 【請求項4】前記第1命令フィルタは、前記命令と前記
命令フィルタコードに基づいてビット毎にAND演算を
実行する請求項3に記載のコンピュータシステム。 - 【請求項5】前記監視比較器は、前記命令と比較すべき
前記命令比較コードの部分を定めるために前記命令フィ
ルタコードで前記命令比較コードをフィルタリングする
第2命令フィルタを含む請求項2ないし4のいずれかに
記載のコンピュータシステム。 - 【請求項6】前記第2命令フィルタは、前記命令比較コ
ードと前記命令フィルタコードに基づいてビット毎にA
ND演算を実行する請求項5に記載のコンピュータシス
テム。 - 【請求項7】前記命令フィルタコードにより定義された
前記命令の前記部分は、前記データ処理部により実行さ
れる動作を指定する請求項2ないし6のいずれかに記載
のコンピュータシステム。 - 【請求項8】前記命令フィルタコードにより定義された
前記命令比較コードの前記部分はメモリ読取り動作を指
定する請求項7に記載のコンピュータシステム。 - 【請求項9】前記命令フィルタコードにより定義された
前記命令比較コードの前記部分がメモリ書込み動作を指
定する請求項7に記載のコンピュータシステム。 - 【請求項10】前記命令フィルタコードにより定義され
た前記命令比較コードの部分は前記データ処理部により
処理されるデータを指定する請求項2ないし9のいずれ
かに記載のコンピュータシステム。 - 【請求項11】前記命令フィルタコードにより定義され
た前記命令比較コードの部分は前記データ処理部により
処理されるデータを指定する請求項2ないし10のいず
れかに記載のコンピュータシステム。 - 【請求項12】前記メモリは、前記データ処理部により
実行されるように2列以上の命令を記憶することがで
き、前記CPUは、前記命令列のどれが前記データ処理
部により実行中であるかを示すデータを記憶する順序レ
ジスタを含む請求項1ないし11のいずれかに記載のコ
ンピュータシステム。 - 【請求項13】前記CPUは、前記命令列の一つを定義
する順列フィルタレジスタを含み、前記監視比較器は、
前記順序フィルタレジスタにより定義された順序が前記
順序レジスタにより指示された順序と同じではない場合
に、比較出力信号を抑制する順序フィルタを含む請求項
12に記載のコンピュータシステム。 - 【請求項14】オンチップCPUを有する単一の集積回
路チップ上のマイクロプロセッサを含み、 命令を実行するデータ処理部と、 前記データ処理部とメモリとの間に接続され、前記デー
タ処理部に前記命令を渡すデータリンクと、 命令比較コードを記憶する監視レジスタと、を含むコン
ピュータシステムを動作させる方法であって、 前記データリンク上で渡された前記命令と前記命令比較
コードとを比較し、前記比較の結果に応じて比較出力信
号を生成する手順を含むことを特徴とするコンピュータ
システムを動作させる方法。 - 【請求項15】前記CPUは、前記命令の前記部分を定
義する命令フィルタコードと、比較すべき前記命令比較
コードとを記憶するフィルタレジスタを含む請求項14
に記載のコンピュータシステムを動作させるコンピュー
タシステムを動作させる方法。 - 【請求項16】前記命令比較コードと比較すべき前記命
令の前記部分を判定するために、前記命令フィルタコー
ドで前記データリンクで渡された前記命令をフィルタリ
ングする第1フィルタリング手順を含む請求項15に記
載のコンピュータシステムを動作させる方法。 - 【請求項17】前記第1フィルタリング手順は、前記命
令と前記命令フィルタコードに基づいてビット毎のAN
D演算の実行を含む請求項16に記載のコンピュータシ
ステムを動作させる方法。 - 【請求項18】前記命令と比較すべき前記命令比較コー
ドの前記部分を判定するために、前記命令フィルタコー
ドで前記命令比較コードをフィルタリングする第2フィ
ルタリング手順を含む請求項15ないし17のいずれか
に記載のコンピュータシステムを動作させる方法。 - 【請求項19】前記第2フィルタリング手順は、前記命
令比較コードと前記命令フィルタコードに基づいてビッ
ト毎のAND演算の実行を含む請求項18に記載のコン
ピュータシステムを動作させる方法。 - 【請求項20】前記命令フィルタコードにより定義され
た前記前記命令の前記部分が前記データ処理部により実
行される動作を指定する請求項15ないし20のいずれ
かに記載のコンピュータシステムを動作させる方法。 - 【請求項21】前記命令フィルタコードにより定義され
た前記命令比較コードの前記部分がメモリ読取り動作を
指定する請求項20に記載のコンピュータシステムを動
作させる方法。 - 【請求項22】前記命令フィルタコードにより定義され
た前記命令比較コードの前記部分はメモリ書込み動作を
指定する請求項20に記載のコンピュータシステムを動
作させる方法。 - 【請求項23】前記命令フィルタコードにより定義され
た前記命令比較コードの前記部分は前記データ処理部に
より処理されるデータを指定する請求項15ないし22
のいずれかに記載のコンピュータシステムを動作させる
方法。 - 【請求項24】前記命令フィルタコードにより定義され
た前記命令比較コードの前記部分は前記CPUによりア
クセスされる前記メモリ位置を指定する請求項15ない
し23のいずれかに記載のコンピュータシステムを動作
させる方法。 - 【請求項25】前記メモリは、前記データ処理部により
実行される2列以上の命令を記憶することができ、前記
CPUは、前記命令列のどの列が前記データ処理部によ
り実行中であるかを示すデータを記憶する順序レジスタ
を含む請求項14ないし24のいずれかに記載のコンピ
ュータシステムを動作させる方法。 - 【請求項26】前記CPUは、前記命令列の一つを定義
する順序フィルタレジスタを含み、前記順序フィルタレ
ジスタにより定義された順序が前記順序レジスタにより
指示された列と同じでない場合に、トリガ信号を抑制す
る手順を含む請求項25に記載のコンピュータシステム
を動作させるコンピュータシステムを動作させる方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB9805485.1A GB9805485D0 (en) | 1998-03-13 | 1998-03-13 | Microcomputer |
GB9805485.1 | 1998-03-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH11338734A true JPH11338734A (ja) | 1999-12-10 |
Family
ID=10828574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11069257A Pending JPH11338734A (ja) | 1998-03-13 | 1999-03-15 | コンピュ―タシステムおよびこのコンピュ―タシステムを動作させる方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6378064B1 (ja) |
EP (1) | EP0942372B1 (ja) |
JP (1) | JPH11338734A (ja) |
DE (1) | DE69907787D1 (ja) |
GB (1) | GB9805485D0 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005351891A (ja) * | 2004-05-26 | 2005-12-22 | Temento Systems | デバッグ装置、デバッグ方法、及びデバッグ装置の使用方法 |
KR101454017B1 (ko) * | 2012-07-03 | 2014-10-22 | 아텐인터내셔널컴퍼니리미티드 | 원격관리방법 및 상기 방법을 사용하는 원격관리장치 |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9805479D0 (en) * | 1998-03-13 | 1998-05-13 | Sgs Thomson Microelectronics | Microcomputer |
AU763141B2 (en) * | 1999-04-19 | 2003-07-17 | Motorola Australia Pty Ltd | A method of detecting illegal sequences of code execution |
US6539502B1 (en) * | 1999-11-08 | 2003-03-25 | International Business Machines Corporation | Method and apparatus for identifying instructions for performance monitoring in a microprocessor |
JP3796111B2 (ja) * | 2000-11-10 | 2006-07-12 | 株式会社ルネサステクノロジ | データプロセッサ |
US20050071816A1 (en) * | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus to autonomically count instruction execution for applications |
US20050071609A1 (en) * | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus to autonomically take an exception on specified instructions |
US7373637B2 (en) * | 2003-09-30 | 2008-05-13 | International Business Machines Corporation | Method and apparatus for counting instruction and memory location ranges |
US20050071610A1 (en) * | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus for debug support for individual instructions and memory locations |
US20050071612A1 (en) * | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus for generating interrupts upon execution of marked instructions and upon access to marked memory locations |
US20050071611A1 (en) * | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus for counting data accesses and instruction executions that exceed a threshold |
US20050071821A1 (en) * | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus to autonomically select instructions for selective counting |
US7395527B2 (en) * | 2003-09-30 | 2008-07-01 | International Business Machines Corporation | Method and apparatus for counting instruction execution and data accesses |
US20050071608A1 (en) * | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus for selectively counting instructions and data accesses |
US20050071516A1 (en) * | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus to autonomically profile applications |
US7937691B2 (en) * | 2003-09-30 | 2011-05-03 | International Business Machines Corporation | Method and apparatus for counting execution of specific instructions and accesses to specific data locations |
US8381037B2 (en) * | 2003-10-09 | 2013-02-19 | International Business Machines Corporation | Method and system for autonomic execution path selection in an application |
US7421681B2 (en) * | 2003-10-09 | 2008-09-02 | International Business Machines Corporation | Method and system for autonomic monitoring of semaphore operation in an application |
US20050086455A1 (en) * | 2003-10-16 | 2005-04-21 | International Business Machines Corporation | Method and apparatus for generating interrupts for specific types of instructions |
US7082486B2 (en) * | 2004-01-14 | 2006-07-25 | International Business Machines Corporation | Method and apparatus for counting interrupts by type |
US7526757B2 (en) * | 2004-01-14 | 2009-04-28 | International Business Machines Corporation | Method and apparatus for maintaining performance monitoring structures in a page table for use in monitoring performance of a computer program |
US7415705B2 (en) | 2004-01-14 | 2008-08-19 | International Business Machines Corporation | Autonomic method and apparatus for hardware assist for patching code |
US7895382B2 (en) * | 2004-01-14 | 2011-02-22 | International Business Machines Corporation | Method and apparatus for qualifying collection of performance monitoring events by types of interrupt when interrupt occurs |
US7197586B2 (en) * | 2004-01-14 | 2007-03-27 | International Business Machines Corporation | Method and system for recording events of an interrupt using pre-interrupt handler and post-interrupt handler |
US7421684B2 (en) | 2004-03-22 | 2008-09-02 | International Business Machines Corporation | Method and apparatus for autonomic test case feedback using hardware assistance for data coverage |
US20060277435A1 (en) * | 2005-06-07 | 2006-12-07 | Pedersen Frode M | Mechanism for storing and extracting trace information using internal memory in microcontrollers |
JP2006352706A (ja) * | 2005-06-17 | 2006-12-28 | Hitachi Ltd | マイクロプロセッサ、ネットワークシステム及び通信方法 |
US7904887B2 (en) * | 2006-02-16 | 2011-03-08 | International Business Machines Corporation | Learning and cache management in software defined contexts |
US20110167496A1 (en) * | 2009-07-07 | 2011-07-07 | Kuity Corp. | Enhanced hardware command filter matrix integrated circuit |
WO2011005890A2 (en) * | 2009-07-07 | 2011-01-13 | Kuity Corp. | A hardware command filter matrix integrated circuit with restricted command enforcement capability |
US8032791B2 (en) * | 2009-07-07 | 2011-10-04 | International Business Machines Corporation | Diagnosis of and response to failure at reset in a data processing system |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS54100634A (en) * | 1978-01-26 | 1979-08-08 | Toshiba Corp | Computer |
JPH0695875A (ja) * | 1991-01-09 | 1994-04-08 | Mitsubishi Electric Corp | マイクロコンピュータのメモリアクセス方法 |
JP2773471B2 (ja) * | 1991-07-24 | 1998-07-09 | 日本電気株式会社 | 情報処理装置 |
US5353419A (en) * | 1992-01-09 | 1994-10-04 | Trustees Of The University Of Pennsylvania | Memory-side driven anticipatory instruction transfer interface with processor-side instruction selection |
JP3203401B2 (ja) * | 1993-05-21 | 2001-08-27 | 三菱電機株式会社 | データ処理装置 |
US5717909A (en) * | 1995-05-26 | 1998-02-10 | National Semiconductor Corporation | Code breakpoint decoder |
DE69626282T2 (de) * | 1995-06-01 | 2004-04-08 | Fujitsu Ltd., Kawasaki | Programmierbare vorrichtung und verfahren zum befehlsauffang |
EP0840223B1 (en) | 1996-10-31 | 2002-05-15 | STMicroelectronics Limited | Microcomputer capable of accessing an external memory |
US6175814B1 (en) * | 1997-11-26 | 2001-01-16 | Compaq Computer Corporation | Apparatus for determining the instantaneous average number of instructions processed |
-
1998
- 1998-03-13 GB GBGB9805485.1A patent/GB9805485D0/en not_active Ceased
-
1999
- 1999-03-11 EP EP99301847A patent/EP0942372B1/en not_active Expired - Lifetime
- 1999-03-11 DE DE69907787T patent/DE69907787D1/de not_active Expired - Lifetime
- 1999-03-12 US US09/267,057 patent/US6378064B1/en not_active Expired - Lifetime
- 1999-03-15 JP JP11069257A patent/JPH11338734A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005351891A (ja) * | 2004-05-26 | 2005-12-22 | Temento Systems | デバッグ装置、デバッグ方法、及びデバッグ装置の使用方法 |
KR101454017B1 (ko) * | 2012-07-03 | 2014-10-22 | 아텐인터내셔널컴퍼니리미티드 | 원격관리방법 및 상기 방법을 사용하는 원격관리장치 |
Also Published As
Publication number | Publication date |
---|---|
US6378064B1 (en) | 2002-04-23 |
EP0942372B1 (en) | 2003-05-14 |
GB9805485D0 (en) | 1998-05-13 |
EP0942372A1 (en) | 1999-09-15 |
DE69907787D1 (de) | 2003-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH11338734A (ja) | コンピュ―タシステムおよびこのコンピュ―タシステムを動作させる方法 | |
US6356960B1 (en) | Microprocessor having an on-chip CPU fetching a debugging routine from a memory in an external debugging device in response to a control signal received through a debugging port | |
US6301657B1 (en) | System and method for booting a computer | |
KR100439781B1 (ko) | 데이터프로세서와그동작방법,그디버깅동작실행방법및그중단점값수정방법 | |
KR100350568B1 (ko) | 디버그기능을수행하기위한데이타처리시스템및방법 | |
US6415344B1 (en) | System and method for on-chip communication | |
JP2000010818A (ja) | コンピュ―タシステムおよびこのコンピュ―タシステムを動作させる方法 | |
US6526501B2 (en) | Adapter for a microprocessor | |
JP2000207247A (ja) | コンピュ―タシステムおよびこのコンピュ―タシステムを動作させる方法 | |
US6401191B1 (en) | System and method for remotely executing code | |
JP2000020488A (ja) | コンピュ―タシステムおよびこのコンピュ―タシステムを動作させる方法 | |
US6549965B1 (en) | Microcomputer with interrupt packets | |
US6757759B1 (en) | Microcomputer chips with interconnected address and data paths | |
US6697931B1 (en) | System and method for communicating information to and from a single chip computer system through an external communication port with translation circuitry | |
US6449670B1 (en) | Microcomputer with bit packets for interrupts, control and memory access | |
US6397325B1 (en) | Microcomputer with packet translation for event packets and memory access packets | |
EP0840221B1 (en) | Microcomputer with packet bus | |
EP0840222B1 (en) | Microcomputer with debugging system | |
JP4732554B2 (ja) | マイクロコンピュータ | |
US6658514B1 (en) | Interrupt and control packets for a microcomputer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060314 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061107 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070131 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070208 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070507 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080404 |