JP2000029737A - デバッグ機能のためのリアルタイム外部命令挿入を有するプロセッサ - Google Patents

デバッグ機能のためのリアルタイム外部命令挿入を有するプロセッサ

Info

Publication number
JP2000029737A
JP2000029737A JP7834999A JP7834999A JP2000029737A JP 2000029737 A JP2000029737 A JP 2000029737A JP 7834999 A JP7834999 A JP 7834999A JP 7834999 A JP7834999 A JP 7834999A JP 2000029737 A JP2000029737 A JP 2000029737A
Authority
JP
Japan
Prior art keywords
processor
debug
circuit
instruction
register
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
Application number
JP7834999A
Other languages
English (en)
Inventor
David R Matt
アール.マット デビッド
Gary L Swoboda
エル.スウォボダ ゲイリイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JP2000029737A publication Critical patent/JP2000029737A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware

Landscapes

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

Abstract

(57)【要約】 【課題】 デバッグ機能のためのリアルタイムの外部命
令挿入を有するプロセッサを提供する。 【解決手段】 プロセッサは、埋込形コードを実行する
よう動作可能なプロセッサ回路と、該プロセッサ回路と
インターフェースしかつデバッグ・ホストと通信するよ
う動作可能なデバッグ回路と、を備える。プロセッサ回
路は、該プロセッサ回路によるプロセッサ・デコード6
2および実行のための命令を選択するよう動作可能な実
行コントロール・ロジック60を含む。デバッグ回路
は、命令のソースとして実行コントロール・ロジック6
0に接続したレジスタ30を含む。実行コントロール・
ロジック60は、デバッグ回路内のレジスタ30と他の
命令ソース64−68との間で選択するための調停法を
有することにより、デバッグ回路内のレジスタ30がプ
ロセッサ回路による実行のための外部命令挿入を可能に
する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般的には埋込形
プロセッサに関し、詳細には、デバッグ・モニタなしの
デバッグ機能のためのリアルタイム外部命令挿入を有す
るプロセッサに関するものである。
【0002】
【従来の技術】埋込形プロセッサは、多種多様な分野に
おいて広く使用されていて、一般には、所望の機能を実
行するのに埋込形のコードを実行するプロセッサ回路を
備えている。1つのタイプの埋込形プロセッサは、マイ
クロコントローラであって、これは、例えばモータのよ
うなデバイスの動作を制御するのに使用することができ
る。別のタイプの埋込形プロセッサは、デジタル信号プ
ロセッサ(DSP)であって、これは、例えばセルラ電
話のような種々の通信用製品において使用することがで
きる。所望の機能を実行するために埋込形プロセッサを
使用することは、一般には、埋込形コードの開発および
デバッグを必要とする。多くのアプリケーションにおい
ては、埋込形コードは、タイム・クリティカルなタスク
(timecritical task)を実行するた
めのフォアグラウンド・コードと、そして管理的なある
いはより高いレベルのタスクを実行するためのバックグ
ラウンド・コードを含んでいる。
【0003】
【発明が解決しようとする課題】ある種のアプリケーシ
ョンに対しては、リアルタイム実行コントロールを使っ
てこの埋込形コードをデバッグできることが特に重要と
なり得る。また、埋込形プロセッサ内のレジスタおよび
メモリに対するリアルタイムのデバッグ・アクセスを、
デバッグ・モニタを使用せずに、しかもこのプロセッサ
を停止させずに提供することも重要となり得る。リアル
タイム実行コントロールは、ある所与のタスクの埋込形
プロセッサ実行の中断を可能とする一方で、このプロセ
ッサが他のタイム・クリティカルなタスクに対しサービ
スを続行できるようにする。したがって、リアルタイム
実行コントロールにより、プロセッサ開発およびデバッ
グ・ツールのユーザが、本システム内の埋込形コードの
実行の対話形式での制御を、プロセッサのタイム・クリ
ティカルなタスクを実行する能力に必ずしも妨害せずに
可能となる。例えば、ハードディスク・ドライブのモー
タを制御するのに使用するプロセッサ内の埋込形コード
をデバッグしている場合、このプロセッサは、そのモー
タの制御を停止させられるべきではない。そうでなけれ
ば、そのモータは、制御ができなくなって、ハードディ
スク・ドライブを破壊するおそれがある。したがって、
その埋込形命令コードのデバッグ中、このプロセッサが
そのモータを制御するタイム・クリティカルなタスクの
実行を続行できるようにすることが重要である。
【0004】1つの在来の実行コントロール方法は、ブ
レイク・イベント時に全てのプロセッサ実行を停止さ
せ、そして実行が再開するまでどのような割込も処理す
るのを許可しないようにすることである。このアプロー
チは、プロセッサのあるものにおいて使用されているス
トップモード・エミュレーション法において取られてい
る。しかし、これは、リアルタイムの埋込形システムに
おけるプロセッサの実行を制御することを可能にするも
のではない。
【0005】別の在来の方法は、ブレイク・イベントに
特別な割込をトリガさせ、この割込が、プロセッサに割
込サービス・ルーチンを実行させることであり、この割
込サービス・ルーチンにおいては、プロセッサは、実行
を再開するコマンドか、もしくはイネーブルされたタイ
ム・クリティカルな割込が生起するのを待機する。この
タイプの割込サービス・ルーチンは、“デバッグ・モニ
タ”と呼ぶことも多い。したがって、このデバッグ・モ
ニタは、埋込形プロセッサが、これがデバッグ状態に置
かれた後に実行するコードにより実現する。このデバッ
グ・モニタのアプローチは、ある形式の実行コントロー
ルを提供し、したがってストップモード・エミュレーシ
ョン法の使用に加えて、ある種のプロセッサにおいて使
用されている。
【0006】このデバッグ・モニタ法においては、上記
の特別割込サービス・ルーチンは、通常は、スキャン可
能なレジスタを通してデバッグ・ホストと通信をする。
デバッグ・ホストは、コマンドをスキャンイン(sca
n in)しそして結果をスキャンアウト(scan
out)する。ホールトされたときには、プロセッサ
は、実際にはデバッグ・モニタの内側にあって、コマン
ドを実行しながら、タイム・クリティカルな割込サービ
ス・ルーチンをサービスする。結果として、このデバッ
グ・モニタ法は、これがプログラムやデータ・メモリの
ようなシステム・リソースを使用するという問題を抱え
ている。一般的には、オンチップ・メモリは非常に高価
であり、デバッグ・モニタが破壊する可能性もある。さ
らに、デバッグ・モニタに出入りするときにコンテキス
トをセーブし復元することによる実行上のオーバーヘッ
ドに遭遇し、またタイム・クリティカルな割込は、一般
的にこの時間中はブロックされなければならない。
【0007】
【課題を解決するための手段】本発明によれば、デバッ
グ機能のためのリアルタイムの外部命令挿入を有するプ
ロセッサを開示し、従来のプロセッサ・デバッグ法に優
る利点を提供する。
【0008】本発明の1形態によれば、プロセッサは、
埋込形コードを実行するよう動作可能なプロセッサ回路
と、該プロセッサ回路とインターフェースしかつデバッ
グ・ホストと通信するよう動作可能なデバッグ回路と、
を備える。プロセッサ回路は、該プロセッサ回路による
プロセッサ・デコードおよび実行のための命令を選択す
るよう動作可能な実行コントロール・ロジックを含む。
デバッグ回路は、命令のソースとして実行コントロール
・ロジックに接続したレジスタを含む。実行コントロー
ル・ロジックは、デバッグ回路内のレジスタと他の命令
ソースとの間で選択するため調停法を有することによ
り、デバッグ回路内の前記レジスタがプロセッサ回路に
よる実行のための外部命令挿入を可能にする。1実施形
態においては、他の命令ソースは、フェッチ・キュー、
割込レジスタ、およびパイプライン保護レジスタを含
む。また、この実施形態においては、調停法は、デバッ
グ命令をプリエンプティブまたは非プリエンプティブと
できるようにすることができる。
【0009】本発明の技術的利点は、デバッグ・モニタ
を使用せずに外部命令挿入を可能にできることである。
デバッグ・モニタのコードおよび動作オーバーヘッドを
除去することは、デバッグ・モニタに対するコードと、
デバッグ・モニタの実行の間データを保持するためのプ
ロセッサ・リソースの使用と、ブレイク・イベントとタ
イム・クリティカルな割込をサービスできることとの間
の比較的長い遅れと、デバッグ・モニタを作成する際の
開発時間と、を除去することを含む利点を提供する。
【0010】本発明の別の技術的利点は、命令挿入のた
めに使用すべき内部レジスタへのアクセスの拡張にあ
る。これの機構は、プロセッサの一部として含め、そし
て代替の命令ソースを提供する。本発明のさらに別の技
術的利点は、図面、説明および請求項から明らかとな
る。
【0011】
【実施の形態】本発明のより完全な理解並びにその効果
については、添付図面と共に以下の説明から得ることが
できる。尚、図面においては、同じ要素には同じ参照番
号を付してある。
【0012】図1は、デバッグ環境の1実施形態のブロ
ック図であって、その全体を10で示し、そしてデバッ
グ・ホスト12とターゲット・システム14とを含んで
いる。この実施形態においては、ターゲット・システム
14は、制御下のデバイス18に制御信号を供給しまた
それからセンサ信号を受ける埋込形プロセッサ16を有
している。例えば、プロセッサ16はマイクロコントロ
ーラとすることができ、デバイス18は、ハードディス
ク・ドライブ・モータとすることができる。プロセッサ
16は、埋込形コード19を実行することにより、プロ
グラムされた機能を実行する。一般に、埋込形コード1
9は、2つのカテゴリの埋込形コード、すなわち、フォ
アグラウンド・コードとバックグラウンド・コードを含
んでいる。フォアグラウンド・コードは、タイム・クリ
ティカルなタスク、例えばデバイス18をサービスする
ために規則的なインターバルで実行するデバイス制御タ
スクを実行する。バックグラウンド・コードは、管理的
でより高いレベルのタスクを実行するものであり、これ
は通常サイズが大きく、またタイム・クリティカルなも
のではない。
【0013】図2は、図1のプロセッサ16内のデバッ
グ回路の1実施形態のブロック図である。このデバッグ
回路は、デバッグ・コア20と、実行コントロール22
と、そしてラッパ(wrapper)24を含んでい
る。これらコンポーネントは、プロセッサ・コアの残り
26とインターフェースする。デバッグ・コア20は、
デバッグ・ホスト12と通信することにより、デバッグ
・コマンドを受けそして結果を供給する。1実現例にお
いては、デバッグ・コア20は、デバッグ・ホスト12
との通信を達成するため、JTAG TAPステートマ
シンを管理する。デバッグ・コア20は、スキャン・レ
ジスタを保持し、全てのTCKロジックを包含し、そし
てデバッグのアドレス、データ、状態および制御情報を
管理することができる。実行コントロール22は、次
に、割込と命令とデバッグとの間の調停を行うことがで
き、そしてプロセッサ16の中断および再始動を制御す
ることができる。ラッパ24は、デバッグ回路のコンポ
ーネントのプロセッサ・コアの残り26およびメモリ・
バスに対するインターフェースを提供することができ
る。
【0014】本発明によれば、プロセッサ16内のデバ
ッグ回路は、デバッグ・ホスト12が、デバッグ・モニ
タを使用せずともデバッグ機能のためのリアルタイム実
行コントロールを実行できるようにする。一般的には、
プロセッサ16がデバッグ・ホスト12が設定したブレ
イク・イベントに遭遇し、プロセッサ16が現行のタス
クの実行をホールトすべきことを示すとき、プロセッサ
16は、現行タスクのための命令をさらにフェッチする
ことのないハードウェア・ステートに入る。このステー
トにおいては、プロセッサ16は、デバッグ・ホスト1
2からのこれが実行を再開できることを示す外部コマン
ドを待機するか、あるいはイネーブルされたタイム・ク
リティカルな割込要求を待機することができる。プロセ
ッサ16が維持するデバッグ・ステートマシンの1つの
例は、“デバッグ・モニタなしのデバッグ機能のための
リアルタイム実行コントロールを有するプロセッサ”と
題する米国仮特許出願60/078,785(代理人ド
ケットTI−26187P)に図示され開示されてい
る。
【0015】プロセッサ16がデバッグ・ホスト12か
らコマンドを受け取ってこれが実行を再開すべきことを
示す場合、プロセッサ16は、別のブレイク・イベント
を受けるまで、命令のフェッチおよび実行を再開するこ
とができる。また、プロセッサ16は、その最初のフェ
ッチした命令を実行したときにブレイク・イベントを自
動的に生じさせることにより単一の命令を実行するよう
にすることができる。さらに、イネーブルされたタイム
・クリティカルな割込を受け取った場合、プロセッサ1
6は、それに関連するコード(通常は、上述のフォアグ
ラウンド・コード)を実行することにより、その割込を
サービスすることに通常関連したタスク(例えば、コン
テキスト・セーブ)を実行し、そしてこの割込が採用さ
れたときにこれが中断したステートにあったことを記録
することができる。プロセッサ16がその割込をサービ
スしそして以前のコンテキストを復元した後、プロセッ
サ16は、その中断したステートに再び入ることができ
る。この時点で、プロセッサ16は、実行を再開すべき
デバッグ・ホスト12からのコマンドに対する待機、あ
るいは別のイネーブルされたタイム・クリティカルな割
込に対する待機を再開することができる。
【0016】図3は、外部命令挿入を可能にする図2の
デバッグ・コア20の動作の図である。図示のように、
JXREGレジスタ30内のデータは、実行コントロー
ル60に対し入力として供給する。実行コントロール6
0は、プロセッサによる実行のためプロセッサ・デコー
ド62に供給すべき次のopコードを選択する。実行コ
ントロール60はまた、割込レジスタ64,パイプライ
ン保護レジスタ66およびフェッチ・キュー68から入
力を受ける。動作においては、実行コントロール60
は、割込レジスタ64からの命令をトップ優先順位とし
て最初にサービスすることにより、多数の割込ソース間
の調停を行う。サービスのための次の優先順位は、パイ
プライン保護レジスタ66であり、その次がフェッチ・
キュー68である。この非プリエンプティブ法において
は、JXREGレジスタ30は、優先順位が最も後であ
る。JXREGレジスタ30内のデータは、実行コント
ロール60に供給することに加え、FXREGレジスタ
32内のデータと共に、プロセッサ上のメモリへのアク
セスのため、メモリ・データ内のメモリ・アドレスとし
て供給することができる。
【0017】このようにして、実行のための命令とメモ
リへのアクセスのためのアドレスおよびデータの(デバ
ッグ・ホストからの)外部挿入のために、JXREGレ
ジスタ30とFXREGレジスタ32とを使用すること
が可能である。これは、デバッグ・モニタを使用せずに
ハードウェア内で達成する。この実施形態においては、
JXREGレジスタ30は、命令/アドレス・レジスタ
として動作し、FXREGレジスタ32は、結果/デー
タ・レジスタとして動作する。これらレジスタには、J
TAG(IEEE1149.1)またはシリアル・ポー
トのようなデバッグ機構を通してアクセスすることがで
きる。
【0018】1実現例においては、デバッグ機能のため
の外部命令挿入は、非プリエンプティブではなくプリエ
ンプティブとなるように設定することができる。プリエ
ンプティブの場合、JXREGレジスタ30から挿入し
た命令は、実行コントロール60に対するその他の命令
ソースに優る優先順位をもつことになる。非プリエンプ
ティブの場合(上述)には、プロセッサ内に他のアクテ
ィビティがない(すなわち、その他の命令ソースが空で
ある)場合にのみ、外部アクセスを提供する。メモリ・
アクセスに関しては、プリエンプティブなメモリ・アク
セスは、(非プリエンプティブなアクセスとは逆に)プ
リエンプティブのno−op命令を命令ストリームに挿
入することにより取り扱うことができる。このno−o
p命令は、これが実行されるサイクルの間メモリをフリ
ーにする。
【0019】1例として、挿入されたデータ・メモリへ
のデバッグ書込に対しては、デバッグ・コアは、プロセ
ッサがデータメモリ・バスを使用していないサイクルを
待機することができる。そのサイクルになったときに
は、デバッグ・コアは、アドレスおよびデータを送出す
ることができる。これらは、次にプロセッサの通常の書
込のアドレス・バスおよびデータ・バスと多重化する。
この多重化を行うマルチプレクサは、デバッグ挿入した
アドレスおよびデータを選ぶ。この点からは、メモリ
は、単に、通常のプロセッサ・アクセスであるかのよう
にアドレスおよびデータを見る。(所望ならば、メモリ
・ブロックまたは周辺装置がこのアクセスの取り扱いを
異ならせたい場合に備えて、このアクセスが、デバッグ
・アクセスであることを示す特別なコア信号とすること
もできる。)。データ・メモリからのデバッグ読出は、
書込と同様に実現できるが、但し、読み戻したデータは
デバッグ・コアにリダイレクトする点が異なる。
【0020】デバッグ・プロセスの一部として実行する
ことを必要とする外部アクセスは、通常は、読出および
書込をする能力、メモリとメモリ・マッピングした周辺
レジスタ、メモリ・バスと接続することができるロジッ
ク、およびメモリ動作を通してアクセスできないがプロ
セッサ実行の命令を通してアクセス可能なプロセッサお
よびシステムのレジスタを含む。これらアクションは、
プロセッサがその通常動作の一部として実行できるアク
ションである。本発明のリアルタイム外部命令挿入法
は、このようなアクセスを提供する一方で、在来のデバ
ッグ法に関する問題を解決する。本発明によれば、プロ
セッサの通常の命令ソースに対し、プロセッサに提出す
べきデバッグ要求のためのソースを補足することができ
る。調停機構は、どの動作をプロセッサがある所与の時
点で実行するかを決定する。プロセッサがデバッグを要
求された命令を実行するとき、これは、その要求に対す
る情報を供給するのにデバッグ・コア20が提供しまた
その結果を記憶する、別個の組のリソースを使用するこ
とことができる。これらリソースには、次に、デバッグ
・ホストがアクセスすることができる。
【0021】このプロセッサ調停機構は、実行すべき次
の命令を選択する際に多くのファクタを考慮することが
できる。例えば、調停機構は、デバッグ要求を実行すべ
きかどうかを決定するときに以下のことを考慮する。
(1)利用可能なデバイス要求があるかどうか、(2)
これがプリエンプティブな要求かどうか、またそうでな
い場合に、要求されたプロセッサ・リソースが利用可能
であるかどうか、またその要求が通常命令と並列に実行
できるかどうか、(3)デバッグ・アクセスがプロセッ
サによりイネーブルされているかどうか、あるいはプロ
セッサがそれらをディスエーブルしたかどうか、および
(4)プロセッサがタイム・クリティカルなアクティビ
ティに現在かかっているかどうか、である。調停機構の
融通性のため、プロセッサおよび埋込形コードは、デバ
ッグ・アクセスが実行されるときに対し多大の制御を有
する。これは、リアルタイム環境における動作を可能に
する。しかし、デバッグ・システムには、緊急事態にお
いて、制御できなくなったリアルタイム・システムのデ
バッグをできるようにするため、無効にする権限をふる
う能力を備えることができる。プロセッサ・アーキテク
チャおよびデバッグ要求の性質に依存して、その命令を
通常命令と並列に実行することも可能である。その要求
が並列に実行できない場合には、このデバッグ要求は、
プログラム・カウンタおよびプロセッサ・ステートのそ
の他の面を乱さずに、命令ストリーム中に挿入する必要
がある。これは、プログラム・カウンタを進めないサブ
命令として取り扱うことができる。
【0022】外部命令挿入を追加の命令ソースとして提
供することは、他のリアルタイム・デバッグ解決法とは
異なっている。在来の解決法は、プロセッサにデバッグ
・モニタを実行させる特別な割込をトリガする。次に、
デバッグ・モニタは、アプリケーションが使用するプロ
セッサ・リソースの一部分をセーブして離し(save
off)、そしてそのデバッグ要求(すなわち、メモ
リ・ロケーション・レジスタの読出/書込)を実行し、
そして次にそのプロセッサ・リソースを復元させる。こ
れは、通常のプロセッサ・リソースのセーブおよび復元
の必要性のため、比較的長い時間をとることになる。ま
た、メモリのようなシステム・リソースは、デバッグ・
モニタ・コードを保持することが必要とされることにな
る。さらに、これらリソースは、破壊あるいはデバッグ
制御が失われるリスクに対する保護を必要とする。
【0023】以上、本発明について詳細に説明したが、
本発明に対し種々の変更、置換、修正が可能であること
は、添付の特許請求の範囲により定まる本発明の要旨お
よび範囲から逸脱せずに行うことができることは、理解
されるべきである。
【0024】関連出願に対する相互参照本願は、“デバ
ッグ・モニタなしのデバッグ機能のためのリアルタイム
実行コントロールを有するプロセッサ”と題する、米国
仮特許出願第60/078,785号(代理人ドケット番号TI−
26187P)に関するものである。
【0025】以上の説明に関してさらに以下の項を開示
する。 (1) デバッグ機能のためのリアルタイムの外部命令
挿入を有するプロセッサであって、埋込形コードを実行
するよう動作可能なプロセッサ回路と、該プロセッサ回
路とインターフェースしかつデバッグ・ホストと通信す
るよう動作可能なデバッグ回路と、を備え、前記プロセ
ッサ回路が、前記プロセッサ回路によるプロセッサ・デ
コードおよび実行のための命令を選択するよう動作可能
な実行コントロール・ロジックを含み、前記デバッグ回
路が、命令のソースとして前記実行コントロール・ロジ
ックに接続したレジスタを含み、前記実行コントロール
・ロジックが、前記デバッグ回路内の前記レジスタと他
の命令ソースとの間で選択するための調停法を有し、こ
れによって、前記デバッグ回路内の前記レジスタが前記
プロセッサ回路による実行のための外部命令挿入を可能
にすること、を特徴とするプロセッサ。 (2) 第1項記載のプロセッサにおいて、前記他の命
令ソースは、フェッチ・キューを含むこと、を特徴とす
るプロセッサ。 (3) 第2項記載のプロセッサにおいて、前記他の命
令ソースは、割込レジスタをさらに含むこと、を特徴と
するプロセッサ。 (4) 第3項記載のプロセッサにおいて、前記他の命
令ソースは、パイプライン保護レジスタをさらに含むこ
と、を特徴とするプロセッサ。 (5) 第4項記載のプロセッサにおいて、前記調停法
は、デバッグ命令をプリエンプティブまたは非プリエン
プティブとすることができること、を特徴とするプロセ
ッサ。 (6) 第5項記載のプロセッサにおいて、デバッグ命
令が非プリエンプティブであるときに、前記調停法は、
前記デバッグ回路内の前記レジスタを最も低い優先順位
とすること、を特徴とするプロセッサ。 (7) 第5項記載のプロセッサにおいて、デバッグ命
令がプリエンプティブであるときに、前記調停法は、前
記デバッグ回路内の前記レジスタを最も高い優先順位と
すること、を特徴とするプロセッサ。 (8) 第1項記載のプロセッサにおいて、前記デバッ
グ回路は、さらに第2のレジスタを含み、前記デバッグ
回路内の前記レジスタおよび該第2レジスタは、外部メ
モリ・アクセスの挿入を可能にすること、を特徴とする
プロセッサ。 (9) 第8項記載のプロセッサにおいて、前記デバッ
グ回路は、前記外部メモリ・アクセスのためにメモリ・
サイクルをフリーにするため、実行のためのno−op
命令を挿入するのに使用すること、を特徴とするプロセ
ッサ。
【0026】(10) デバッグ機能のためのリアルタ
イムの外部命令挿入をする方法であって、プロセッサ回
路によるプロセッサ・デコードおよび実行のため、実行
コントロール・ロジックを使用して命令を選択するステ
ップと、デバッグ回路内のレジスタを、命令のソースと
して前記実行コントロール・ロジックに接続するステッ
プと、前記デバッグ回路内の前記レジスタと他の命令ソ
ースとの間で選択するため、前記実行コントロール・ロ
ジックにおいて調停法を使用するステップと、を備え、
これによって、前記デバッグ回路内の前記レジスタが前
記プロセッサ回路による実行のための外部命令挿入を可
能にすること、を特徴とするリアルタイム外部命令挿入
方法。 (11) 第10項記載の方法において、前記他の命令
ソースは、フェッチ・キューを含むこと、を特徴とする
リアルタイム外部命令挿入方法。 (12) 第11項記載の方法において、前記他の命令
ソースは、割込レジスタをさらに含むこと、を特徴とす
るリアルタイム外部命令挿入方法。 (13) 第12項記載の方法において、前記他の命令
ソースは、パイプライン保護レジスタをさらに含むこ
と、を特徴とするリアルタイム外部命令挿入方法。 (14) 第13項記載の方法において、前記の調停法
を使用するステップは、デバッグ命令をプリエンプティ
ブまたは非プリエンプティブとすることができることを
含むこと、を特徴とするリアルタイム外部命令挿入方
法。 (15) 第14項記載の方法において、デバッグ命令
が非プリエンプティブであるときに、前記の調停法を使
用するステップは、前記デバッグ回路内の前記レジスタ
を最も低い優先順位とすることを含むこと、を特徴とす
るリアルタイム外部命令挿入方法。 (16) 第14項記載の方法において、デバッグ命令
がプリエンプティブであるときに、前記の調停法を使用
するステップは、前記デバッグ回路内の前記レジスタを
最も高い優先順位とすることを含むこと、を特徴とする
リアルタイム外部命令挿入方法。 (17) 第10項記載の方法において、さらに、前記
デバッグ回路内の前記レジスタおよび第2レジスタを接
続して、外部メモリ・アクセスの挿入を可能にするステ
ップ、を含むことを特徴とするリアルタイム外部命令挿
入方法。 (18) 第17項記載の方法において、さらに、前記
デバッグ回路を使用することにより、前記外部メモリ・
アクセスのためにメモリ・サイクルをフリーにするた
め、実行のためのno−op命令を挿入するステップ、
を含むことを特徴とするリアルタイム外部命令挿入方
法。
【0027】(19) デバッグ機能のためのリアルタ
イムの外部命令挿入を有するプロセッサ(16)を開示
する。プロセッサ(16)は、埋込形コード(19)を
実行するよう動作可能なプロセッサ回路と、該プロセッ
サ回路とインターフェースしかつデバッグ・ホスト(1
2)と通信するよう動作可能なデバッグ回路と、を備え
る。プロセッサ回路は、該プロセッサ回路によるプロセ
ッサ・デコード(62)および実行のための命令を選択
するよう動作可能な実行コントロール・ロジック(6
0)を含む。デバッグ回路は、命令のソースとして実行
コントロール・ロジック(60)に接続したレジスタ
(30)を含む。実行コントロール・ロジック(60)
は、デバッグ回路内のレジスタ(30)と他の命令ソー
スとの間で選択するため調停法を有することにより、デ
バッグ回路内のレジスタ(30)がプロセッサ回路によ
る実行のための外部命令挿入を可能にする。1実施形態
においては、他の命令ソースは、フェッチ・キュー(6
8)、割込レジスタ(64)、およびパイプライン保護
レジスタ(66)を含む。また、この実施形態において
は、調停法は、デバッグ命令をプリエンプティブまたは
非プリエンプティブとできるようにすることができる。
【図面の簡単な説明】
【図1】デバッグ・ホストと、そして埋込形プロセッサ
をもつターゲット・システムとを備えたデバッグ環境の
1実施形態のブロック図。
【図2】図1のプロセッサ内のデバッグ回路の1実施形
態のブロック図。
【図3】外部命令挿入を可能にする図2のデバッグ・コ
アの動作の図。
【符号の説明】
10 デバッグ環境 12 デバッグ・ホスト 14 ターゲット・システム 16 埋込形プロセッサ 18 制御下のデバイス 19 埋込形コード 20 デバッグ・コア 22 実行コントロール 24 ラッパ 26 プロセッサ・コアの残り 30 JXREGレジスタ 32 FXREGレジスタ 60 実行コントロール 62 プロセッサ・デコード 64 割込レジスタ 66 パイプライン保護レジスタ 68 フェッチ・キュー
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ゲイリイ エル.スウォボダ アメリカ合衆国 テキサス州シュガーラン ド(フォート ベンド カウンテイ),バ ルボア 4435

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 デバッグ機能のためのリアルタイムの外
    部命令挿入を有するプロセッサであって、 埋込形コードを実行するよう動作可能なプロセッサ回路
    と、 該プロセッサ回路とインターフェースしかつデバッグ・
    ホストと通信するよう動作可能なデバッグ回路と、を備
    え、 前記プロセッサ回路が、前記プロセッサ回路によるプロ
    セッサ・デコードおよび実行のための命令を選択するよ
    う動作可能な実行コントロール・ロジックを含み、 前記デバッグ回路が、命令のソースとして前記実行コン
    トロール・ロジックに接続したレジスタを含み、 前記実行コントロール・ロジックが、前記デバッグ回路
    内の前記レジスタと他の命令ソースとの間で選択するた
    めの調停法を有し、 これによって、前記デバッグ回路内の前記レジスタが前
    記プロセッサ回路による実行のための外部命令挿入を可
    能にすること、を特徴とするプロセッサ。
  2. 【請求項2】 デバッグ機能のためのリアルタイムの外
    部命令挿入をする方法であって、 プロセッサ回路によるプロセッサ・デコードおよび実行
    のため、実行コントロール・ロジックを使用して命令を
    選択するステップと、 デバッグ回路内のレジスタを、命令のソースとして前記
    実行コントロール・ロジックに接続するステップと、 前記デバッグ回路内の前記レジスタと他の命令ソースと
    の間で選択するため、前記実行コントロール・ロジック
    において調停法を使用するステップと、を備え、 これによって、前記デバッグ回路内の前記レジスタが前
    記プロセッサ回路による実行のための外部命令挿入を可
    能にすること、を特徴とするリアルタイム外部命令挿入
    方法。
JP7834999A 1998-03-20 1999-03-23 デバッグ機能のためのリアルタイム外部命令挿入を有するプロセッサ Pending JP2000029737A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US7878698P 1998-03-20 1998-03-20
US078786 1998-03-20

Publications (1)

Publication Number Publication Date
JP2000029737A true JP2000029737A (ja) 2000-01-28

Family

ID=22146221

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7834999A Pending JP2000029737A (ja) 1998-03-20 1999-03-23 デバッグ機能のためのリアルタイム外部命令挿入を有するプロセッサ

Country Status (2)

Country Link
EP (1) EP0943995A3 (ja)
JP (1) JP2000029737A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100447701C (zh) * 2005-04-19 2008-12-31 騋扬科技股份有限公司 应用软件的档案保全方法
JP2015531936A (ja) * 2012-08-31 2015-11-05 マイクロン テクノロジー, インク. 状態機械エンジンにおける命令挿入

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6601189B1 (en) * 1999-10-01 2003-07-29 Stmicroelectronics Limited System and method for communicating with an integrated circuit
GB2362730B (en) 1999-12-23 2004-02-11 St Microelectronics Sa Computer register watch
GB2362729B (en) 1999-12-23 2004-02-11 St Microelectronics Sa Memory access debug facility
GB2366006B (en) 1999-12-23 2004-06-30 St Microelectronics Sa A computer system with debug facility
GB2365546B (en) 1999-12-23 2004-02-18 St Microelectronics Sa A computer system with two debug watch modes
GB2362968B (en) 1999-12-23 2003-12-10 St Microelectronics Sa Computer system with debug facility
US8195922B2 (en) 2005-03-18 2012-06-05 Marvell World Trade, Ltd. System for dynamically allocating processing time to multiple threads
US8533678B2 (en) 2007-07-13 2013-09-10 Digi International Inc. Embedded device program debug control
US20100138575A1 (en) 2008-12-01 2010-06-03 Micron Technology, Inc. Devices, systems, and methods to synchronize simultaneous dma parallel processing of a single data stream by multiple devices
US20100174887A1 (en) 2009-01-07 2010-07-08 Micron Technology Inc. Buses for Pattern-Recognition Processors
US9323994B2 (en) 2009-12-15 2016-04-26 Micron Technology, Inc. Multi-level hierarchical routing matrices for pattern-recognition processors
US20130275709A1 (en) 2012-04-12 2013-10-17 Micron Technology, Inc. Methods for reading data from a storage buffer including delaying activation of a column select
US9524248B2 (en) 2012-07-18 2016-12-20 Micron Technology, Inc. Memory management for a hierarchical memory system
US9448965B2 (en) 2013-03-15 2016-09-20 Micron Technology, Inc. Receiving data streams in parallel and providing a first portion of data to a first state machine engine and a second portion to a second state machine
US9703574B2 (en) 2013-03-15 2017-07-11 Micron Technology, Inc. Overflow detection and correction in state machine engines
US11366675B2 (en) 2014-12-30 2022-06-21 Micron Technology, Inc. Systems and devices for accessing a state machine
WO2016109571A1 (en) 2014-12-30 2016-07-07 Micron Technology, Inc Devices for time division multiplexing of state machine engine signals
WO2016109570A1 (en) 2014-12-30 2016-07-07 Micron Technology, Inc Systems and devices for accessing a state machine
US10846103B2 (en) 2015-10-06 2020-11-24 Micron Technology, Inc. Methods and systems for representing processing resources
US10977309B2 (en) 2015-10-06 2021-04-13 Micron Technology, Inc. Methods and systems for creating networks
US10691964B2 (en) 2015-10-06 2020-06-23 Micron Technology, Inc. Methods and systems for event reporting
US10146555B2 (en) 2016-07-21 2018-12-04 Micron Technology, Inc. Adaptive routing to avoid non-repairable memory and logic defects on automata processor
US10268602B2 (en) 2016-09-29 2019-04-23 Micron Technology, Inc. System and method for individual addressing
US10019311B2 (en) 2016-09-29 2018-07-10 Micron Technology, Inc. Validation of a symbol response memory
US10592450B2 (en) 2016-10-20 2020-03-17 Micron Technology, Inc. Custom compute cores in integrated circuit devices
US10929764B2 (en) 2016-10-20 2021-02-23 Micron Technology, Inc. Boolean satisfiability

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2266606B (en) * 1992-04-27 1996-02-14 Intel Corp A microprocessor with an external command mode
US5544311A (en) * 1995-09-11 1996-08-06 Rockwell International Corporation On-chip debug port

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100447701C (zh) * 2005-04-19 2008-12-31 騋扬科技股份有限公司 应用软件的档案保全方法
JP2015531936A (ja) * 2012-08-31 2015-11-05 マイクロン テクノロジー, インク. 状態機械エンジンにおける命令挿入
US9934034B2 (en) 2012-08-31 2018-04-03 Micron Technology, Inc. Instruction insertion in state machine engines

Also Published As

Publication number Publication date
EP0943995A3 (en) 2000-12-06
EP0943995A2 (en) 1999-09-22

Similar Documents

Publication Publication Date Title
JP2000029737A (ja) デバッグ機能のためのリアルタイム外部命令挿入を有するプロセッサ
US6324684B1 (en) Processor having real-time execution control for debug functions without a debug monitor
US9753729B2 (en) System for selecting a task to be executed according to an output from a task control circuit
US7676808B2 (en) System and method for CPI load balancing in SMT processors
US7020871B2 (en) Breakpoint method for parallel hardware threads in multithreaded processor
US4715013A (en) Coprocessor instruction format
US4729094A (en) Method and apparatus for coordinating execution of an instruction by a coprocessor
JPH0816870B2 (ja) 命令パイプラインをドレーンさせるためのシステム
US20040205719A1 (en) Hop method for stepping parallel hardware threads
JPH05274276A (ja) ディジタル信号処理システム
US4731736A (en) Method and apparatus for coordinating execution of an instruction by a selected coprocessor
US4750110A (en) Method and apparatus for executing an instruction contingent upon a condition present in another data processor
US7941650B2 (en) Microprocessor based on event-processing instruction set and event-processing method using the same
JPH07175666A (ja) データプロセッサおよびその割込み要求処理方法
US5021991A (en) Coprocessor instruction format
US4758950A (en) Method and apparatus for selectively delaying an interrupt of a coprocessor
JPH06242987A (ja) コンピュータ装置においてマイクロプロセッサの正常な処理の引継ぎをホストプロセッサが実行する方法および装置
US4821231A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
EP0526911A1 (en) A method and apparatus for coordinating execution of an instruction by a coprocessor
US4914578A (en) Method and apparatus for interrupting a coprocessor
US7831979B2 (en) Processor with instruction-based interrupt handling
US20060168428A1 (en) Method of providing microcontroller context management
US7562207B2 (en) Deterministic microcontroller with context manager
US5761492A (en) Method and apparatus for uniform and efficient handling of multiple precise events in a processor by including event commands in the instruction set
CN111506395B (zh) 一种混合仿真的全数字虚拟运行环境的实现方法及装置