JP2000276372A - プロセッサ - Google Patents
プロセッサInfo
- Publication number
- JP2000276372A JP2000276372A JP11076251A JP7625199A JP2000276372A JP 2000276372 A JP2000276372 A JP 2000276372A JP 11076251 A JP11076251 A JP 11076251A JP 7625199 A JP7625199 A JP 7625199A JP 2000276372 A JP2000276372 A JP 2000276372A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- debug
- code
- state
- execution
- 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.)
- Abandoned
Links
Landscapes
- Debugging And Monitoring (AREA)
- Microcomputers (AREA)
Abstract
(57)【要約】
【課題】 デバッグ機能に対する実時間実行制御を有す
るプロセッサ。 【解決手段】 プロセッサ(16)が、バックグラウン
ド・コード及びフォアグラウンド・コードを含む埋込み
コード(19)を実行するように作用し得るプロセッサ
回路を含む。プロセッサ(16)は、プロセッサ回路に
インターフェース接続されていて、デバッグ・ホスト
(12)と連絡するように作用し得るデバッグ回路をも
含む。デバッグ回路はデバッグ・ホスト(12)からデ
バッグ停止指令を受取るように作用し得る。デバッグ停
止指令を受取った後、プロセッサ回路が埋込みコード
(19)の実行を中断して、埋込みコード(19)のデ
バッグができるようにすることができる。更にプロセッ
サ回路は、埋込みコード(19)の実行が中断されてい
る間、付能された割込みに応答して、付能された割込み
に関連するフォアグラウンド・コードを実行するように
作用し得る。
るプロセッサ。 【解決手段】 プロセッサ(16)が、バックグラウン
ド・コード及びフォアグラウンド・コードを含む埋込み
コード(19)を実行するように作用し得るプロセッサ
回路を含む。プロセッサ(16)は、プロセッサ回路に
インターフェース接続されていて、デバッグ・ホスト
(12)と連絡するように作用し得るデバッグ回路をも
含む。デバッグ回路はデバッグ・ホスト(12)からデ
バッグ停止指令を受取るように作用し得る。デバッグ停
止指令を受取った後、プロセッサ回路が埋込みコード
(19)の実行を中断して、埋込みコード(19)のデ
バッグができるようにすることができる。更にプロセッ
サ回路は、埋込みコード(19)の実行が中断されてい
る間、付能された割込みに応答して、付能された割込み
に関連するフォアグラウンド・コードを実行するように
作用し得る。
Description
【0001】
【発明の属する技術分野】この発明は全般的に埋込み
(エンベデッド)プロセッサの分野、更に具体的に言え
ば、デバッグ・モニタ無しにデバッグ機能に対する実時
間実行制御を持つプロセッサに関する。
(エンベデッド)プロセッサの分野、更に具体的に言え
ば、デバッグ・モニタ無しにデバッグ機能に対する実時
間実行制御を持つプロセッサに関する。
【0002】
【従来の技術及び課題】埋込みプロセッサは種々の用途
に広く使われており、一般的に、埋込みコードを実行し
て所望の機能を実施するプロセッサ回路を含む。1形式
の埋込みプロセッサは、例えばモータのような装置の動
作を制御する為に使うことができるマイクロコントロー
ラである。別の形式の埋込みプロセッサは、例えば携帯
電話のような種々の通信用製品に使うことができるディ
ジタル信号プロセッサ(DSP)である。埋込みプロセ
ッサを使って所望の機能を実施するには、一般的に埋込
みコードの開発及びデバッグが必要である。多くの用途
では、埋込みコードは、時間が重要なタスクを実施する
フォアグラウンド・コードと、管理又は上位のタスクを
実施する為のバックグラウンド・コードとを含む。ある
用途では、実時間実行制御を用いて、埋込みコードをデ
バッグできることが特に重要であることがある。デバッ
グ・モニタを使わずに、プロセッサを停止せずに、埋込
みプロセッサ内にあるレジスタ及びメモリに実時間のデ
バッグ・アクセスができるようにすることも重要である
ことがある。実時間実行制御により、プロセッサが他の
時間が重要なタスクのサービスを続けることができるよ
うにしながら、所定のタスクの埋込みプロセッサによる
実行の中断ができる。この為、実時間実行制御は、プロ
セッサの開発及びデバッグ・ツールのユーザが、必ずし
も時間が重要なタスクを実施するプロセッサの能力を妨
げること無く、システム内にある埋込みコードの実行を
対話形で制御することができるようにする。例えば、ハ
ード・ディスク・ドライブのモータを制御する為に使わ
れるプロセッサで埋込みコードがデバッグされている場
合、プロセッサがそのモータの制御を停止することを許
してはならない。もしそうすると、モータが制御されな
くなり、ハード・ディスク・ドライブが破壊される。従
って、埋込み命令コードをデバッグしている間、プロセ
ッサがモータを制御するという時間が重要なタスクを引
続いて実行できるようにすることが重要である。従来の
1つの実行制御方法は、切れ目の事象があった時、プロ
セッサの全ての実行を停止し、実行が再開されるまで、
あらゆる割込みの処理を許さないことである。この方式
は、あるプロセッサで使われている停止モード・エミュ
レーション方式で採用されている。しかし、これでは実
時間の埋込みシステムでプロセッサの実行を制御するこ
とができない。従来の別の方法は、切れ目の事象によっ
て特別割込みをトリガーし、これによってプロセッサが
割込みサービス・ルーチンを実行し、ここでプロセッサ
が実行を再開する指令を待つか、又は付能された、時間
が重要な割込みが発生するのを待つ。この形式の割込み
サービス・ルーチンは「デバッグ・モニタ」と呼ばれる
場合が多い。この為、デバッグ・モニタは、デバッグ状
態に置かれた後に埋込みプロセッサによって実行される
コードによって構成される。このデバッグ・モニタ方式
はある形の実行制御となり、あるプロセッサでは、停止
モード・エミュレーション方式を使う他に用いられてい
る。このデバッグ・モニタ方法では、典型的には、特別
割込みサービス・ルーチンが走査可能なレジスタを介し
てデバッグ・ホストと連絡する。デバッグ・ホストが指
令を走査によって取込み、結果を走査によって送出す。
停止した時、プロセッサは実際にはデバッグ・モニタの
内部にあり、指令を実施しながら、時間が重要な割込み
サービス・ルーチンのサービスをする。この為、デバッ
グ・モニタ方式は、プログラム及びデータ・メモリのよ
うなシステムの資源を使う点で、問題がある。一般的
に、オン・チップ・メモリは非常に高価であり、デバッ
ク・モニタによって変質する惧れがある。更に、デバッ
グ・モニタに入ったり出たりする時に、コンテキストを
保管したり復元したりすることによる性能のオーバヘッ
ドが起り、この期間中、時間が重要な割込みを一般的に
阻止しなければならない。
に広く使われており、一般的に、埋込みコードを実行し
て所望の機能を実施するプロセッサ回路を含む。1形式
の埋込みプロセッサは、例えばモータのような装置の動
作を制御する為に使うことができるマイクロコントロー
ラである。別の形式の埋込みプロセッサは、例えば携帯
電話のような種々の通信用製品に使うことができるディ
ジタル信号プロセッサ(DSP)である。埋込みプロセ
ッサを使って所望の機能を実施するには、一般的に埋込
みコードの開発及びデバッグが必要である。多くの用途
では、埋込みコードは、時間が重要なタスクを実施する
フォアグラウンド・コードと、管理又は上位のタスクを
実施する為のバックグラウンド・コードとを含む。ある
用途では、実時間実行制御を用いて、埋込みコードをデ
バッグできることが特に重要であることがある。デバッ
グ・モニタを使わずに、プロセッサを停止せずに、埋込
みプロセッサ内にあるレジスタ及びメモリに実時間のデ
バッグ・アクセスができるようにすることも重要である
ことがある。実時間実行制御により、プロセッサが他の
時間が重要なタスクのサービスを続けることができるよ
うにしながら、所定のタスクの埋込みプロセッサによる
実行の中断ができる。この為、実時間実行制御は、プロ
セッサの開発及びデバッグ・ツールのユーザが、必ずし
も時間が重要なタスクを実施するプロセッサの能力を妨
げること無く、システム内にある埋込みコードの実行を
対話形で制御することができるようにする。例えば、ハ
ード・ディスク・ドライブのモータを制御する為に使わ
れるプロセッサで埋込みコードがデバッグされている場
合、プロセッサがそのモータの制御を停止することを許
してはならない。もしそうすると、モータが制御されな
くなり、ハード・ディスク・ドライブが破壊される。従
って、埋込み命令コードをデバッグしている間、プロセ
ッサがモータを制御するという時間が重要なタスクを引
続いて実行できるようにすることが重要である。従来の
1つの実行制御方法は、切れ目の事象があった時、プロ
セッサの全ての実行を停止し、実行が再開されるまで、
あらゆる割込みの処理を許さないことである。この方式
は、あるプロセッサで使われている停止モード・エミュ
レーション方式で採用されている。しかし、これでは実
時間の埋込みシステムでプロセッサの実行を制御するこ
とができない。従来の別の方法は、切れ目の事象によっ
て特別割込みをトリガーし、これによってプロセッサが
割込みサービス・ルーチンを実行し、ここでプロセッサ
が実行を再開する指令を待つか、又は付能された、時間
が重要な割込みが発生するのを待つ。この形式の割込み
サービス・ルーチンは「デバッグ・モニタ」と呼ばれる
場合が多い。この為、デバッグ・モニタは、デバッグ状
態に置かれた後に埋込みプロセッサによって実行される
コードによって構成される。このデバッグ・モニタ方式
はある形の実行制御となり、あるプロセッサでは、停止
モード・エミュレーション方式を使う他に用いられてい
る。このデバッグ・モニタ方法では、典型的には、特別
割込みサービス・ルーチンが走査可能なレジスタを介し
てデバッグ・ホストと連絡する。デバッグ・ホストが指
令を走査によって取込み、結果を走査によって送出す。
停止した時、プロセッサは実際にはデバッグ・モニタの
内部にあり、指令を実施しながら、時間が重要な割込み
サービス・ルーチンのサービスをする。この為、デバッ
グ・モニタ方式は、プログラム及びデータ・メモリのよ
うなシステムの資源を使う点で、問題がある。一般的
に、オン・チップ・メモリは非常に高価であり、デバッ
ク・モニタによって変質する惧れがある。更に、デバッ
グ・モニタに入ったり出たりする時に、コンテキストを
保管したり復元したりすることによる性能のオーバヘッ
ドが起り、この期間中、時間が重要な割込みを一般的に
阻止しなければならない。
【0003】
【課題を解決する為の手段及び作用】この発明では、従
来のプロセッサ・デバッグ方式に比べて利点を持つ、デ
バッグ・モニタ無しに実時間実行制御を持つプロセッサ
を開示する。この発明の一面では、プロセッサが、バッ
クグラウンド・コード及びフォアグラウンド・コードを
含む埋込みコードを実行するように作用し得るプロセッ
サ回路を含む。プロセッサは、プロセッサ回路にインタ
ーフェース接続されていて、デバッグ・ホストと連絡す
るように作用し得るデバッグ回路をも含む。デバッグ回
路は、デバッグ・ホストからデバッグ停止指令を受取る
ように作用し得る。デバッグ停止指令を受取った後、プ
ロセッサ回路は埋込みコードの実行を中断して、埋込み
コードのデバッグができるようにすることができる。更
にプロセッサ回路は、埋込みコードの実行が中断されて
いる間、付能された割込みに応答して、付能された割込
みに関連するフォアグラウンド・コードを実行するよう
に作用し得る。1実施例では、デバッグ回路が、デバッ
グ・ホストからの実行制御指示を表すラン状態マシーン
を持ち、プロセッサ回路がプロセッサ回路による命令の
実行を表す実行状態マシーンを持っている。
来のプロセッサ・デバッグ方式に比べて利点を持つ、デ
バッグ・モニタ無しに実時間実行制御を持つプロセッサ
を開示する。この発明の一面では、プロセッサが、バッ
クグラウンド・コード及びフォアグラウンド・コードを
含む埋込みコードを実行するように作用し得るプロセッ
サ回路を含む。プロセッサは、プロセッサ回路にインタ
ーフェース接続されていて、デバッグ・ホストと連絡す
るように作用し得るデバッグ回路をも含む。デバッグ回
路は、デバッグ・ホストからデバッグ停止指令を受取る
ように作用し得る。デバッグ停止指令を受取った後、プ
ロセッサ回路は埋込みコードの実行を中断して、埋込み
コードのデバッグができるようにすることができる。更
にプロセッサ回路は、埋込みコードの実行が中断されて
いる間、付能された割込みに応答して、付能された割込
みに関連するフォアグラウンド・コードを実行するよう
に作用し得る。1実施例では、デバッグ回路が、デバッ
グ・ホストからの実行制御指示を表すラン状態マシーン
を持ち、プロセッサ回路がプロセッサ回路による命令の
実行を表す実行状態マシーンを持っている。
【0004】この発明の技術的な利点は、埋込みプロセ
ッサに組込まれているデバッグ回路を使って、デバッグ
機能を実施することである。このデバッグ機能により、
プロセッサをアイドル命令と同様に停止することができ
る。その後、通常の実行を中断し、プロセッサは、デバ
ッグ・ホストから送られるラン指令を待つか、又は付能
されていて、時間が重要と選定された割込みを待つ。任
意の時間が重要な割込みサービス・ルーチンを実施した
後、プロセッサは中断状態に戻ることができる。別の技
術的な利点は、時間が重要なコードのいくつかの部分が
ある場合、時間が重要なコードのある部分を停止してデ
バッグしている間、別の1つの部分を実行する場合の処
理ができることである。この発明の更に別の技術的な利
点は、デバッグ・モニタのコード及び性能のオーバヘッ
ドを必要とせずに、プロセッサのデバッグができること
である。これによって、典型的にはオン・チップ・メモ
リを消費し、プロセッサの全体的なコストを高くするデ
バッグ・モニタ・コードの必要が無くなることにより、
プロセッサのコストが引下げられる。更に、デバッグ・
モニタの実行中、状態データを保持する為にプロセッサ
の資源(例えば、レジスタ、スタック・スペース又はメ
モリ)を消費する必要が無い。別の技術的な利点は、デ
バッグ・モニタで起るような設定時間による、切れ目の
事象と時間が重要な割込みをサービスする能力との間の
比較的長い遅延が無いことである。更に、この発明は、
どの割込み(付能されていてもいなくても)も時間が重
要ではないと表示することにより、停止モード・エミュ
レーション方式の真似ができるようにする。これによっ
て、停止モード・エミュレーションが実時間エミュレー
ションの部分集合として実質的に取扱われる。この発明
のこの他の技術的な利点は、以下図面について説明する
ところから明らかになろう。この発明並びにその利点が
更に完全に理解されるように、次に図面に関連して説明
する。図面全体にわたり、同様な特徴には同じ参照数字
を用いている。
ッサに組込まれているデバッグ回路を使って、デバッグ
機能を実施することである。このデバッグ機能により、
プロセッサをアイドル命令と同様に停止することができ
る。その後、通常の実行を中断し、プロセッサは、デバ
ッグ・ホストから送られるラン指令を待つか、又は付能
されていて、時間が重要と選定された割込みを待つ。任
意の時間が重要な割込みサービス・ルーチンを実施した
後、プロセッサは中断状態に戻ることができる。別の技
術的な利点は、時間が重要なコードのいくつかの部分が
ある場合、時間が重要なコードのある部分を停止してデ
バッグしている間、別の1つの部分を実行する場合の処
理ができることである。この発明の更に別の技術的な利
点は、デバッグ・モニタのコード及び性能のオーバヘッ
ドを必要とせずに、プロセッサのデバッグができること
である。これによって、典型的にはオン・チップ・メモ
リを消費し、プロセッサの全体的なコストを高くするデ
バッグ・モニタ・コードの必要が無くなることにより、
プロセッサのコストが引下げられる。更に、デバッグ・
モニタの実行中、状態データを保持する為にプロセッサ
の資源(例えば、レジスタ、スタック・スペース又はメ
モリ)を消費する必要が無い。別の技術的な利点は、デ
バッグ・モニタで起るような設定時間による、切れ目の
事象と時間が重要な割込みをサービスする能力との間の
比較的長い遅延が無いことである。更に、この発明は、
どの割込み(付能されていてもいなくても)も時間が重
要ではないと表示することにより、停止モード・エミュ
レーション方式の真似ができるようにする。これによっ
て、停止モード・エミュレーションが実時間エミュレー
ションの部分集合として実質的に取扱われる。この発明
のこの他の技術的な利点は、以下図面について説明する
ところから明らかになろう。この発明並びにその利点が
更に完全に理解されるように、次に図面に関連して説明
する。図面全体にわたり、同様な特徴には同じ参照数字
を用いている。
【0005】
【実施例】図1は、デバッグ・ホスト12及び目標シス
テム14を含む、全体を10で示したデバッグ環境の1
実施例のブロック図である。この実施例では、目標シス
テム14は、制御される装置18に制御信号を送ると共
に、それからのセンサ信号を受取る埋込みプロセッサ1
6を持っている。例えば、プロセッサ16はマイクロコ
ントローラ、装置18はハード・ディスク・ドライブの
モータであって良い。プロセッサ16が埋込みコード1
9を実行してプログラムされた機能を実施する。一般的
に、埋込みコード19は、フォアグランド・コード及び
バックグラウンド・コードの2種類の埋込みコードを持
っている。フォアグラウンド・コードは、時間が重要な
タスク、例えば装置18のサービスをする為に規則的な
間隔で実行される装置制御タスクを実施する。バックグ
ラウンド・コードは管理及び上位のタスクを実施し、典
型的には寸法が一層大きく、それほど時間が重要ではな
い。図2は図1のプロセッサ16にあるデバッグ回路の
1実施例のブロック図である。デバッグ回路がデバッグ
・コア20、実行制御部22及びラッパー24を含む。
これらの部品がプロセッサ・コア26の他の部分とイン
ターフェース接続される。デバッグ・コア20はデバッ
グ・ホスト12と連絡して、デバッグ指令を受取ると共
に結果を供給する。1つの構成では、デバッグ・コア2
0が、デバッグ・ホスト12との連絡を行う為に、JT
AG TAP状態マシーンを管理する。デバッグ・コア
20は走査レジスタを保持し、全てのTCK論理を収容
していて、デバッグ・アドレス、データ、状態及び制御
情報を管理することができる。この時、実行制御部22
が、割込み、命令及びデバッグの間を調停することがで
き、プロセッサ16の中断及び再開を制御することがで
きる。ラッパー24は、デバッグ回路の部品にとって、
プロセッサ・コア26の他の部分及びメモリ・バスに対
するインターフェースになることができる。この発明で
は、プロセッサ16にあるデバッグ回路は、デバッグ・
モニタを使わずに、デバッグ・ホスト12がデバッグ機
能に対する実時間実行制御を実施することができるよう
にする。一般的に、プロセッサ16が現在のタスクの実
行を停止すべきであることを示すデバッグ・ホスト12
によって設定された切れ目の事象にプロセッサ16がぶ
つかった時、プロセッサ16は、それが現在のタスクに
対してそれ以上の命令を取ってこないハードウェア状態
に入る。この状態にある時、プロセッサ16は、実行を
再開することができることを示すデバッグ・ホスト12
からの外部指令を待つか、又は付能された、時間が重要
な割込み要請を待つことができる。プロセッサ16が管
理するデバッグ状態マシーンの1例が図3及び4に示さ
れており、次にこれについて説明する。
テム14を含む、全体を10で示したデバッグ環境の1
実施例のブロック図である。この実施例では、目標シス
テム14は、制御される装置18に制御信号を送ると共
に、それからのセンサ信号を受取る埋込みプロセッサ1
6を持っている。例えば、プロセッサ16はマイクロコ
ントローラ、装置18はハード・ディスク・ドライブの
モータであって良い。プロセッサ16が埋込みコード1
9を実行してプログラムされた機能を実施する。一般的
に、埋込みコード19は、フォアグランド・コード及び
バックグラウンド・コードの2種類の埋込みコードを持
っている。フォアグラウンド・コードは、時間が重要な
タスク、例えば装置18のサービスをする為に規則的な
間隔で実行される装置制御タスクを実施する。バックグ
ラウンド・コードは管理及び上位のタスクを実施し、典
型的には寸法が一層大きく、それほど時間が重要ではな
い。図2は図1のプロセッサ16にあるデバッグ回路の
1実施例のブロック図である。デバッグ回路がデバッグ
・コア20、実行制御部22及びラッパー24を含む。
これらの部品がプロセッサ・コア26の他の部分とイン
ターフェース接続される。デバッグ・コア20はデバッ
グ・ホスト12と連絡して、デバッグ指令を受取ると共
に結果を供給する。1つの構成では、デバッグ・コア2
0が、デバッグ・ホスト12との連絡を行う為に、JT
AG TAP状態マシーンを管理する。デバッグ・コア
20は走査レジスタを保持し、全てのTCK論理を収容
していて、デバッグ・アドレス、データ、状態及び制御
情報を管理することができる。この時、実行制御部22
が、割込み、命令及びデバッグの間を調停することがで
き、プロセッサ16の中断及び再開を制御することがで
きる。ラッパー24は、デバッグ回路の部品にとって、
プロセッサ・コア26の他の部分及びメモリ・バスに対
するインターフェースになることができる。この発明で
は、プロセッサ16にあるデバッグ回路は、デバッグ・
モニタを使わずに、デバッグ・ホスト12がデバッグ機
能に対する実時間実行制御を実施することができるよう
にする。一般的に、プロセッサ16が現在のタスクの実
行を停止すべきであることを示すデバッグ・ホスト12
によって設定された切れ目の事象にプロセッサ16がぶ
つかった時、プロセッサ16は、それが現在のタスクに
対してそれ以上の命令を取ってこないハードウェア状態
に入る。この状態にある時、プロセッサ16は、実行を
再開することができることを示すデバッグ・ホスト12
からの外部指令を待つか、又は付能された、時間が重要
な割込み要請を待つことができる。プロセッサ16が管
理するデバッグ状態マシーンの1例が図3及び4に示さ
れており、次にこれについて説明する。
【0006】プロセッサ16が、実行を再開すべきであ
ることを示す指令をデバッグ・ホスト12から受取った
場合、プロセッサ16は、別の切れ目の事象を受取るま
で、命令を取ってきて実行することを再開することがで
きる。更にプロセッサ16は、取ってきた最初の命令を
実行する時に自動的に切れ目の事象を生じさせることに
より、単独の命令を実行するようにすることができる。
更に、付能された、時間が重要な割込みを受取った場
合、プロセッサ16は関連するコード(典型的には前に
述べたようなフォアグラウンド・コード)を実行して、
その割込みのサービスに通常関連するタスク(例えばコ
ンテキストの保管)を実施することができ、割込みが起
った時にそれが中断状態にあったことを記録することが
できる。プロセッサ16が割込みのサービスをして、前
のコンテキストを復元した後、プロセッサ16は中断状
態に再び入ることができる。この点で、プロセッサ16
は、実行を再開する為にデバッグ・ホスト12からの指
令を待つか、又は別の付能された、時間が重要な割込み
を待つ状態に戻ることができる。図3は図2のデバッグ
回路が管理するラン状態マシーンの1実施例の状態線図
である。一般的に、ラン状態マシーン(RSM)の現在
の状態が、プロセッサに対するデバッグ・ホストの実行
制御指示を示す。1つの構成では、レジスタを使って、
ラン状態マシーンの状態を設定することができる。図示
のように、図3のラン状態マシーンは第1の状態60
(EXE_CONT状態)、第2の状態62(EXE_
STEP状態)、第3の状態64(EXE_COND状
態)及び第4の状態66(EXE_HALT状態)を含
む。動作について説明すると、プロセッサを「リリー
ス」するというデバッグ・ホストからのデバッグ指令に
より、ラン状態マシーンはEXE_CONT状態60に
なる。EXE_CONT状態60は、プロセッサが命令
を連続的に実行する通常のモードにあるべきであること
を示し、デバッグが不作動にされる。プロセッサを「停
止」するデバッグ指令により、ラン状態マシーンはEX
E_HALT状態66になる。EXE_HALT状態6
6は、バックグラウンド・コード命令の実行を中断すべ
きであることを示す。プロセッサを「歩進」するデバッ
グ指令は、ラン状態マシーンをEXE_STEP状態6
2にし、プロセッサが1個のバックグラウンド命令を実
行して、EXE_HALT状態66に戻るべきであるこ
とを示す。プロセッサを「ラン」するデバッグ指令は、
ラン状態マシーンをEXE_COND状態64にする。
EXE_COND状態64は、プロセッサがデバッグが
付能された状態で命令の条件つき実行を実施すべきであ
ることを示す。
ることを示す指令をデバッグ・ホスト12から受取った
場合、プロセッサ16は、別の切れ目の事象を受取るま
で、命令を取ってきて実行することを再開することがで
きる。更にプロセッサ16は、取ってきた最初の命令を
実行する時に自動的に切れ目の事象を生じさせることに
より、単独の命令を実行するようにすることができる。
更に、付能された、時間が重要な割込みを受取った場
合、プロセッサ16は関連するコード(典型的には前に
述べたようなフォアグラウンド・コード)を実行して、
その割込みのサービスに通常関連するタスク(例えばコ
ンテキストの保管)を実施することができ、割込みが起
った時にそれが中断状態にあったことを記録することが
できる。プロセッサ16が割込みのサービスをして、前
のコンテキストを復元した後、プロセッサ16は中断状
態に再び入ることができる。この点で、プロセッサ16
は、実行を再開する為にデバッグ・ホスト12からの指
令を待つか、又は別の付能された、時間が重要な割込み
を待つ状態に戻ることができる。図3は図2のデバッグ
回路が管理するラン状態マシーンの1実施例の状態線図
である。一般的に、ラン状態マシーン(RSM)の現在
の状態が、プロセッサに対するデバッグ・ホストの実行
制御指示を示す。1つの構成では、レジスタを使って、
ラン状態マシーンの状態を設定することができる。図示
のように、図3のラン状態マシーンは第1の状態60
(EXE_CONT状態)、第2の状態62(EXE_
STEP状態)、第3の状態64(EXE_COND状
態)及び第4の状態66(EXE_HALT状態)を含
む。動作について説明すると、プロセッサを「リリー
ス」するというデバッグ・ホストからのデバッグ指令に
より、ラン状態マシーンはEXE_CONT状態60に
なる。EXE_CONT状態60は、プロセッサが命令
を連続的に実行する通常のモードにあるべきであること
を示し、デバッグが不作動にされる。プロセッサを「停
止」するデバッグ指令により、ラン状態マシーンはEX
E_HALT状態66になる。EXE_HALT状態6
6は、バックグラウンド・コード命令の実行を中断すべ
きであることを示す。プロセッサを「歩進」するデバッ
グ指令は、ラン状態マシーンをEXE_STEP状態6
2にし、プロセッサが1個のバックグラウンド命令を実
行して、EXE_HALT状態66に戻るべきであるこ
とを示す。プロセッサを「ラン」するデバッグ指令は、
ラン状態マシーンをEXE_COND状態64にする。
EXE_COND状態64は、プロセッサがデバッグが
付能された状態で命令の条件つき実行を実施すべきであ
ることを示す。
【0007】一般的に、ラン状態マシーンが任意の状態
にある間にデバッグ指令を受取ることができ、この指令
は適当な状態への絶対的な移行を示す。EXE_STE
P状態62から、命令の実行を「開始」すると、直ちに
ラン状態マシーンがEXE_HALT状態66に戻る。
この「開始」は、命令の実行が開始されたことを表し、
プロセッサのある内部状態の処理(それを割込みと解し
て)も命令と考えることができる。EXE_COND状
態64から、命令の実行を「停止」すると、ラン状態マ
シーンはEXE_HALT状態66に戻る。この「停
止」は、資格のある切れ目の事象を受取ったことを示
す。資格のある切れ目の事象は、切れ目の命令に到達
し、プロセッサの状態を検査することができるように、
そこで実行を停止することを希望する論理出力状態を検
出することを含む。ラン状態マシーンをEXE_CON
D状態60に戻す「デバッグ・リリース」は、プロセッ
サのデバッグをすることをもはや望まないことを示す。
この「デバッグ・リリース」は、デバッグ・ホストから
指令として来ることもあるし、あるいはデバッグ通信チ
ャンネルの有無を検出した論理回路から来ることもあ
る。図4は図2のデバッグ回路によって管理される実行
状態マシーンの1実施例の状態線図である。一般的に、
実行状態マシーン(ESM)の現在の状態は、プロセッ
サの実行命令の現在のモードを示す。この実施例では、
実行状態マシーンは、図3のラン状態マシーンを通じて
間接的に制御される。図示のように、図4の実行状態マ
シーンは第1の状態70(EXE状態)、第2の状態7
2(DSUSP状態)、第3の状態74(IDS状態)
及び第4の状態76(IDGB状態)を含む。この構成
では、デバッグ・フレーム・カウンタDFCをカウンタ
として使って、実行状態マシーンの現在の状態を管理す
る助けにする。DFCは、デバッグされるコードがバッ
クグラウンド・コードであるかフォアグラウンド・コー
ドであるかを追跡する為に実質的に使われる。DFCは
−1に初期設定され、DSUSP状態72からIDS状
態74に移行する時にインクレメントされる。時間が重
要な割込みからの戻りにより、IDS状態74又はID
GB状態76からDSUSP状態72に移行する時にD
FCがデクレメントされる(が、切れ目の事象等によ
り、実行を停止する時は、そうしない)。
にある間にデバッグ指令を受取ることができ、この指令
は適当な状態への絶対的な移行を示す。EXE_STE
P状態62から、命令の実行を「開始」すると、直ちに
ラン状態マシーンがEXE_HALT状態66に戻る。
この「開始」は、命令の実行が開始されたことを表し、
プロセッサのある内部状態の処理(それを割込みと解し
て)も命令と考えることができる。EXE_COND状
態64から、命令の実行を「停止」すると、ラン状態マ
シーンはEXE_HALT状態66に戻る。この「停
止」は、資格のある切れ目の事象を受取ったことを示
す。資格のある切れ目の事象は、切れ目の命令に到達
し、プロセッサの状態を検査することができるように、
そこで実行を停止することを希望する論理出力状態を検
出することを含む。ラン状態マシーンをEXE_CON
D状態60に戻す「デバッグ・リリース」は、プロセッ
サのデバッグをすることをもはや望まないことを示す。
この「デバッグ・リリース」は、デバッグ・ホストから
指令として来ることもあるし、あるいはデバッグ通信チ
ャンネルの有無を検出した論理回路から来ることもあ
る。図4は図2のデバッグ回路によって管理される実行
状態マシーンの1実施例の状態線図である。一般的に、
実行状態マシーン(ESM)の現在の状態は、プロセッ
サの実行命令の現在のモードを示す。この実施例では、
実行状態マシーンは、図3のラン状態マシーンを通じて
間接的に制御される。図示のように、図4の実行状態マ
シーンは第1の状態70(EXE状態)、第2の状態7
2(DSUSP状態)、第3の状態74(IDS状態)
及び第4の状態76(IDGB状態)を含む。この構成
では、デバッグ・フレーム・カウンタDFCをカウンタ
として使って、実行状態マシーンの現在の状態を管理す
る助けにする。DFCは、デバッグされるコードがバッ
クグラウンド・コードであるかフォアグラウンド・コー
ドであるかを追跡する為に実質的に使われる。DFCは
−1に初期設定され、DSUSP状態72からIDS状
態74に移行する時にインクレメントされる。時間が重
要な割込みからの戻りにより、IDS状態74又はID
GB状態76からDSUSP状態72に移行する時にD
FCがデクレメントされる(が、切れ目の事象等によ
り、実行を停止する時は、そうしない)。
【0008】動作について説明すると、EXE状態70
では、プロセッサが埋込みコードのバックグラウンド及
びフォアグラウンドの命令を連続的に実行する。図3の
ラン状態マシーンがEXE_COND状態60にある
時、実行状態マシーンがEXE状態70になる。DSU
SP状態72では、プロセッサが命令の実行を中断す
る。ラン状態マシーンがEXE_HALT状態66にな
る時、実行状態マシーンはDSUSP状態72になる。
DSUSP状態72から、実行状態マシーンは、ラン状
態マシーンがEXE_STEP状態62にあるかあるい
はEXE_COND状態64にあってDFCが−1であ
る時、EXE状態70に戻る。ラン状態マシーンがEX
E_STEP状態62又はEXE_COND状態64に
あって、DFCが−1でない時、実行状態マシーンはI
DGB状態76に移る。IDGB状態76では、プロセ
ッサはフォアグラウンド・コード命令(即ち、時間が重
要なタスク)の(デバッグ・ホストの計画からは)随意
の実行を実施する。IDGB状態76から、実行状態マ
シーンは、時間が重要な割込みからの戻り又は停止(即
ち、資格のある切れ目の事象の時)で、DSUSP状態
72に戻る。DSUSP状態72から、ラン状態マシー
ンがEXE_HALT状態66にある間に、付能された
時間が重要な割込みが発生した場合、実行状態マシーン
はIDS状態74に移る。IDS状態74では、プロセ
ッサはフォアグラウンド命令の(デバッグ・ホストの計
画から)不随意の実行を実施する。IDS状態74か
ら、実行状態マシーンは、時間が重要な割込みから戻る
時又は停止(即ち、資格のある切れ目の事象の時)で、
DSUSP状態72に戻る。
では、プロセッサが埋込みコードのバックグラウンド及
びフォアグラウンドの命令を連続的に実行する。図3の
ラン状態マシーンがEXE_COND状態60にある
時、実行状態マシーンがEXE状態70になる。DSU
SP状態72では、プロセッサが命令の実行を中断す
る。ラン状態マシーンがEXE_HALT状態66にな
る時、実行状態マシーンはDSUSP状態72になる。
DSUSP状態72から、実行状態マシーンは、ラン状
態マシーンがEXE_STEP状態62にあるかあるい
はEXE_COND状態64にあってDFCが−1であ
る時、EXE状態70に戻る。ラン状態マシーンがEX
E_STEP状態62又はEXE_COND状態64に
あって、DFCが−1でない時、実行状態マシーンはI
DGB状態76に移る。IDGB状態76では、プロセ
ッサはフォアグラウンド・コード命令(即ち、時間が重
要なタスク)の(デバッグ・ホストの計画からは)随意
の実行を実施する。IDGB状態76から、実行状態マ
シーンは、時間が重要な割込みからの戻り又は停止(即
ち、資格のある切れ目の事象の時)で、DSUSP状態
72に戻る。DSUSP状態72から、ラン状態マシー
ンがEXE_HALT状態66にある間に、付能された
時間が重要な割込みが発生した場合、実行状態マシーン
はIDS状態74に移る。IDS状態74では、プロセ
ッサはフォアグラウンド命令の(デバッグ・ホストの計
画から)不随意の実行を実施する。IDS状態74か
ら、実行状態マシーンは、時間が重要な割込みから戻る
時又は停止(即ち、資格のある切れ目の事象の時)で、
DSUSP状態72に戻る。
【0009】図4の実行状態マシーンで、時間が重要な
割込みは、プロセッサがバックグラウンド又はその他の
フォアグランド・コードの実行を中断している間でも、
フォアグラウンド・コードの実行によってサービスされ
る割込みである。この「時間が重要」という選定をする
1つの方法は、各々の割込みに対してフィールドを設け
たレジスタを設けることである。フィールド内のビット
は、関連する割込みが時間が重要であるかどうかを示す
ことができ、別のビットは割込みが付能されているかど
うかを示すことができる。別の方法は、割込み付能レジ
スタを設け、割込み毎のビットが割込みが付能されてい
るかどうかを示すと共に、時間重要割込みレジスタを設
け、割込み毎のビットが割込みが時間が重要であるかど
うかを示すことである。図4の実施例では、実行状態マ
シーンが、プロセッサによる命令の実行に対して4つの
状態の内の1つを示し、これを利用してデバッグ・ホス
トが埋込みバックグラウンド及びフォアグラウンド・コ
ードをデバッグすることができる。EXE状態70で
は、プロセッサは通常の命令の流れに従って命令を実行
する。DSUSP状態72では、プロセッサはバックグ
ラウンド・コードでも、フォアグラウンド・コードで
も、命令の実行を中断している。バックグラウンド・コ
ードであれば、「歩進」又は「ラン」のデバッグ指令に
より、状態はEXE状態70に移る。フォアグラウンド
・コードであれば、「歩進」又は「ラン」のデバッグ指
令により、状態がIDGB状態76に移る。IDS状態
74では、プロセッサは、割込みを受取った後の付能さ
れた時間が重要な割込みに関連するフォアグラウンド・
コードを実行する。従って、付能された割込みに応答し
て、フォアグラウンド・コードを実行することにより、
プロセッサは時間が重要なタスクのサービスをする間、
プロセッサはバックグラウンド・コードのデバッグを処
理することができる。更に、時間が重要なコードの多数
の部分がある場合、1つの部分を停止してデバッグする
間、時間が重要なコードの別の部分を実行するという場
合の処理ができる。この発明を詳しく説明したが、特許
請求の範囲に定められたこの発明の範囲を逸脱すること
無く、ここで説明したことに種々の変更、置換を加える
ことができることを承知されたい。
割込みは、プロセッサがバックグラウンド又はその他の
フォアグランド・コードの実行を中断している間でも、
フォアグラウンド・コードの実行によってサービスされ
る割込みである。この「時間が重要」という選定をする
1つの方法は、各々の割込みに対してフィールドを設け
たレジスタを設けることである。フィールド内のビット
は、関連する割込みが時間が重要であるかどうかを示す
ことができ、別のビットは割込みが付能されているかど
うかを示すことができる。別の方法は、割込み付能レジ
スタを設け、割込み毎のビットが割込みが付能されてい
るかどうかを示すと共に、時間重要割込みレジスタを設
け、割込み毎のビットが割込みが時間が重要であるかど
うかを示すことである。図4の実施例では、実行状態マ
シーンが、プロセッサによる命令の実行に対して4つの
状態の内の1つを示し、これを利用してデバッグ・ホス
トが埋込みバックグラウンド及びフォアグラウンド・コ
ードをデバッグすることができる。EXE状態70で
は、プロセッサは通常の命令の流れに従って命令を実行
する。DSUSP状態72では、プロセッサはバックグ
ラウンド・コードでも、フォアグラウンド・コードで
も、命令の実行を中断している。バックグラウンド・コ
ードであれば、「歩進」又は「ラン」のデバッグ指令に
より、状態はEXE状態70に移る。フォアグラウンド
・コードであれば、「歩進」又は「ラン」のデバッグ指
令により、状態がIDGB状態76に移る。IDS状態
74では、プロセッサは、割込みを受取った後の付能さ
れた時間が重要な割込みに関連するフォアグラウンド・
コードを実行する。従って、付能された割込みに応答し
て、フォアグラウンド・コードを実行することにより、
プロセッサは時間が重要なタスクのサービスをする間、
プロセッサはバックグラウンド・コードのデバッグを処
理することができる。更に、時間が重要なコードの多数
の部分がある場合、1つの部分を停止してデバッグする
間、時間が重要なコードの別の部分を実行するという場
合の処理ができる。この発明を詳しく説明したが、特許
請求の範囲に定められたこの発明の範囲を逸脱すること
無く、ここで説明したことに種々の変更、置換を加える
ことができることを承知されたい。
【0010】以上の説明に関し、更に以下の項目を開示
する。 (1) デバッグ機能に対する実時間実行制御を持つプ
ロセッサに於いて、バックグラウンド・コード及びフォ
アグラウンド・コードを含む埋込みコードを実行するよ
うに作用し得るプロセッサ回路と、前記プロセッサ回路
にインターフェース接続され、デバッグ・ホストと連絡
するように作用し得るデバッグ回路とを有し、前記デバ
ッグ回路はデバッグ・ホストからデバッグ停止指令を受
取るように作用し得ると共に、前記プロセッサ回路は、
デバッグ停止指令を受取った後、埋込みコードの実行を
中断して、埋込みコードのデバッグができるようにし、
更に前記プロセッサ回路は、埋込みコードの実行が中断
されている間、付能された割込みに応答して、前記付能
された割込みに関連するフォアグラウンド・コードを実
行するように作用し得るプロセッサ。 (2) 第1項に記載のプロセッサに於いて、前記デバ
ッグ回路がラン状態マシーンを持ち、前記ラン状態マシ
ーンの現在の状態が、デバッグ・ホストから受取ったデ
バッグ指令に基づいていて、デバッグ・ホストからの実
行制御指示を表し、前記プロセッサ回路は実行状態マシ
ーンを持ち、前記実行状態マシーンの現在の状態がラン
状態マシーンの現在の状態に基づいていて、前記プロセ
ッサ回路による命令の実行を表しているプロセッサ。 (3) 第2項に記載のプロセッサに於いて、前記ラン
状態マシーンが、連続実行状態、実行中断状態、条件つ
き実行状態及び単独命令実行状態の4つの状態を持つプ
ロセッサ。 (4) 第3項に記載のプロセッサに於いて、デバッグ
・リリース指令を受取ったことに基づいて、ラン状態マ
シーンが連続実行状態になり、デバッグ停止指令を受取
ったことに基づいて、ラン状態マシーンが実行中断状態
になり、デバッグ・ラン指令を受取ったことに基づい
て、ラン状態マシーンが条件つき実行状態になり、デバ
ッグ歩進指令を受取ったことに基づいて、ラン状態マシ
ーンが単独命令実行状態になるプロセッサ。 (5) 第2項に記載のプロセッサに於いて、前記実行
状態マシーンが、実行状態、中断状態、随意フォアグラ
ウンド・コード実行状態及び不随意フォアグラウンド・
コード実行状態の4つの状態を持つプロセッサ。 (6) 第5項に記載のプロセッサに於いて、前記プロ
セッサが、実行状態マシーンの現在の状態が中断状態で
ある時、埋込みコードの実行を中断するプロセッサ。
する。 (1) デバッグ機能に対する実時間実行制御を持つプ
ロセッサに於いて、バックグラウンド・コード及びフォ
アグラウンド・コードを含む埋込みコードを実行するよ
うに作用し得るプロセッサ回路と、前記プロセッサ回路
にインターフェース接続され、デバッグ・ホストと連絡
するように作用し得るデバッグ回路とを有し、前記デバ
ッグ回路はデバッグ・ホストからデバッグ停止指令を受
取るように作用し得ると共に、前記プロセッサ回路は、
デバッグ停止指令を受取った後、埋込みコードの実行を
中断して、埋込みコードのデバッグができるようにし、
更に前記プロセッサ回路は、埋込みコードの実行が中断
されている間、付能された割込みに応答して、前記付能
された割込みに関連するフォアグラウンド・コードを実
行するように作用し得るプロセッサ。 (2) 第1項に記載のプロセッサに於いて、前記デバ
ッグ回路がラン状態マシーンを持ち、前記ラン状態マシ
ーンの現在の状態が、デバッグ・ホストから受取ったデ
バッグ指令に基づいていて、デバッグ・ホストからの実
行制御指示を表し、前記プロセッサ回路は実行状態マシ
ーンを持ち、前記実行状態マシーンの現在の状態がラン
状態マシーンの現在の状態に基づいていて、前記プロセ
ッサ回路による命令の実行を表しているプロセッサ。 (3) 第2項に記載のプロセッサに於いて、前記ラン
状態マシーンが、連続実行状態、実行中断状態、条件つ
き実行状態及び単独命令実行状態の4つの状態を持つプ
ロセッサ。 (4) 第3項に記載のプロセッサに於いて、デバッグ
・リリース指令を受取ったことに基づいて、ラン状態マ
シーンが連続実行状態になり、デバッグ停止指令を受取
ったことに基づいて、ラン状態マシーンが実行中断状態
になり、デバッグ・ラン指令を受取ったことに基づい
て、ラン状態マシーンが条件つき実行状態になり、デバ
ッグ歩進指令を受取ったことに基づいて、ラン状態マシ
ーンが単独命令実行状態になるプロセッサ。 (5) 第2項に記載のプロセッサに於いて、前記実行
状態マシーンが、実行状態、中断状態、随意フォアグラ
ウンド・コード実行状態及び不随意フォアグラウンド・
コード実行状態の4つの状態を持つプロセッサ。 (6) 第5項に記載のプロセッサに於いて、前記プロ
セッサが、実行状態マシーンの現在の状態が中断状態で
ある時、埋込みコードの実行を中断するプロセッサ。
【0011】(7) 第6項に記載のプロセッサに於い
て、前記プロセッサ回路が、実行状態マシーンが中断状
態にある間に起る付能された、時間が重要な割込みに応
答して、不随意フォアグラウンド・コード状態に移り、
割込みに関連するフォアグラウンド・コードを実行する
プロセッサ。 (8) 第7項に記載のプロセッサに於いて、前記プロ
セッサ回路が、割込みに関連するフォアグラウンド・コ
ードの実行中に起る切れ目の事象に応答して、中断状態
に移って、フォアグランド・コードのデバッグができる
ようにし得るプロセッサ。 (9) 第8項に記載のプロセッサに於いて、前記プロ
セッサ回路が、フォアグラウンド・コードのデバッグ中
に起る2番目の付能された割込みに応答して、不随意フ
ォアグラウンド・コード状態に移り、割込みに関連する
別のフォアグラウンド・コードを実行するように作用し
得るプロセッサ。 (10) デバッグ機能に対してプロセッサの実時間実
行制御をする方法に於いて、デバッグ・ホストから送ら
れたデバッグ停止指令をデバッグ回路で受取り、デバッ
グ停止指令を受取った後、プロセッサ回路による埋込み
コードの実行を中断して埋込みコードのデバッグができ
るようにし、前記埋込みコードはバックグラウンド・コ
ード及びフォアグラウンド・コードを含み、埋込みコー
ドの実行が中断されている間、付能された割込みに応答
して付能された割込みに関連するフォアグラウンド・コ
ードを実行する工程を含む方法。 (11) 第10項に記載の方法に於いて、更に、ラン
状態マシーンを管理し、前記ラン状態マシーンの現在の
状態はデバッグ・ホストから受取ったデバッグ指令に基
づいていて、デバッグ・ホストからの実行制御指示を表
しており、実行状態マシーンを管理し、前記実行状態マ
シーンの現在の状態は前記ラン状態マシーンの現在の状
態に基づいていてプロセッサ回路による命令の実行を表
している工程を含む方法。 (12) 第11項に記載の方法に於いて、前記ラン状
態マシーンが連続実行状態、実行中断状態、条件つき実
行状態及び単独命令実行状態の4つの状態を持つ方法。
て、前記プロセッサ回路が、実行状態マシーンが中断状
態にある間に起る付能された、時間が重要な割込みに応
答して、不随意フォアグラウンド・コード状態に移り、
割込みに関連するフォアグラウンド・コードを実行する
プロセッサ。 (8) 第7項に記載のプロセッサに於いて、前記プロ
セッサ回路が、割込みに関連するフォアグラウンド・コ
ードの実行中に起る切れ目の事象に応答して、中断状態
に移って、フォアグランド・コードのデバッグができる
ようにし得るプロセッサ。 (9) 第8項に記載のプロセッサに於いて、前記プロ
セッサ回路が、フォアグラウンド・コードのデバッグ中
に起る2番目の付能された割込みに応答して、不随意フ
ォアグラウンド・コード状態に移り、割込みに関連する
別のフォアグラウンド・コードを実行するように作用し
得るプロセッサ。 (10) デバッグ機能に対してプロセッサの実時間実
行制御をする方法に於いて、デバッグ・ホストから送ら
れたデバッグ停止指令をデバッグ回路で受取り、デバッ
グ停止指令を受取った後、プロセッサ回路による埋込み
コードの実行を中断して埋込みコードのデバッグができ
るようにし、前記埋込みコードはバックグラウンド・コ
ード及びフォアグラウンド・コードを含み、埋込みコー
ドの実行が中断されている間、付能された割込みに応答
して付能された割込みに関連するフォアグラウンド・コ
ードを実行する工程を含む方法。 (11) 第10項に記載の方法に於いて、更に、ラン
状態マシーンを管理し、前記ラン状態マシーンの現在の
状態はデバッグ・ホストから受取ったデバッグ指令に基
づいていて、デバッグ・ホストからの実行制御指示を表
しており、実行状態マシーンを管理し、前記実行状態マ
シーンの現在の状態は前記ラン状態マシーンの現在の状
態に基づいていてプロセッサ回路による命令の実行を表
している工程を含む方法。 (12) 第11項に記載の方法に於いて、前記ラン状
態マシーンが連続実行状態、実行中断状態、条件つき実
行状態及び単独命令実行状態の4つの状態を持つ方法。
【0012】(13) 第12項に記載の方法に於い
て、ラン状態マシーンを管理することが、デバッグ・リ
リース指令を受取ったことに基づいて、ラン状態マシー
ンを連続実行状態にし、デバッグ停止指令を受取ったこ
とに基づいて、ラン状態マシーンを実行中断状態にし、
デバッグ・ラン指令を受取ったことに基づいて、ラン状
態マシーンを条件つき実行状態にし、デバッグ歩進指令
を受取ったことに基づいて、ラン状態マシーンを単独命
令実行状態にすることを含む方法。 (14) 第11項に記載の方法に於いて、実行状態マ
シーンが、実行状態、中断状態、随意フォアグラウンド
・コード実行状態及び不随意フォアグラウンド・コード
実行状態の4つの状態を持つ方法。 (15) 第14項に記載の方法に於いて、実行状態マ
シーンの現在の状態が中断状態である時、埋込みコード
の実行が中断される方法。 (16) 第15項に記載の方法に於いて、実行状態マ
シーンを管理することが、実行状態マシーンが中断状態
にある間に於ける付能された割込みに応答して、不随意
フォアグラウンド・コード状態に移り、割込みに関連す
るフォアグラウンド・コードを実行することを含む方
法。 (17) 第16項に記載の方法に於いて、実行状態マ
シーンを管理することが、更に、割込みに関連するフォ
アグラウンド・コードの実行中に起る切れ目の事象に応
答して、中断状態に移って、フォアグラウンド・コード
のデバッグができるようにすることを含む方法。 (18) 第17項に記載の方法に於いて、実行状態マ
シーンを管理することが、更に、フォアグラウンド・コ
ードのデバッグ中に起る2番目の付能された割込みに応
答して、不随意フォアグラウンド・コード状態に移り、
割込みに関連する別のフォアグラウンド・コードを実行
することを含む方法。
て、ラン状態マシーンを管理することが、デバッグ・リ
リース指令を受取ったことに基づいて、ラン状態マシー
ンを連続実行状態にし、デバッグ停止指令を受取ったこ
とに基づいて、ラン状態マシーンを実行中断状態にし、
デバッグ・ラン指令を受取ったことに基づいて、ラン状
態マシーンを条件つき実行状態にし、デバッグ歩進指令
を受取ったことに基づいて、ラン状態マシーンを単独命
令実行状態にすることを含む方法。 (14) 第11項に記載の方法に於いて、実行状態マ
シーンが、実行状態、中断状態、随意フォアグラウンド
・コード実行状態及び不随意フォアグラウンド・コード
実行状態の4つの状態を持つ方法。 (15) 第14項に記載の方法に於いて、実行状態マ
シーンの現在の状態が中断状態である時、埋込みコード
の実行が中断される方法。 (16) 第15項に記載の方法に於いて、実行状態マ
シーンを管理することが、実行状態マシーンが中断状態
にある間に於ける付能された割込みに応答して、不随意
フォアグラウンド・コード状態に移り、割込みに関連す
るフォアグラウンド・コードを実行することを含む方
法。 (17) 第16項に記載の方法に於いて、実行状態マ
シーンを管理することが、更に、割込みに関連するフォ
アグラウンド・コードの実行中に起る切れ目の事象に応
答して、中断状態に移って、フォアグラウンド・コード
のデバッグができるようにすることを含む方法。 (18) 第17項に記載の方法に於いて、実行状態マ
シーンを管理することが、更に、フォアグラウンド・コ
ードのデバッグ中に起る2番目の付能された割込みに応
答して、不随意フォアグラウンド・コード状態に移り、
割込みに関連する別のフォアグラウンド・コードを実行
することを含む方法。
【0013】(19) デバッグ機能に対する実時間実
行制御を持つプロセッサ(16)を開示した。プロセッ
サ(16)が、バックグラウンド・コード及びフォアグ
ラウンド・コードを含む埋込みコード(19)を実行す
るように作用し得るプロセッサ回路を含む。プロセッサ
(16)は、プロセッサ回路にインターフェース接続さ
れていて、デバッグ・ホスト(12)と連絡するように
作用し得るデバッグ回路をも含む。デバッグ回路はデバ
ッグ・ホスト(12)からデバッグ停止指令を受取るよ
うに作用し得る。デバッグ停止指令を受取った後、プロ
セッサ回路が埋込みコード(19)の実行を中断して、
埋込みコード(19)のデバッグができるようにするこ
とができる。更にプロセッサ回路は、埋込みコード(1
9)の実行が中断されている間、付能された割込みに応
答して、付能された割込みに関連するフォアグラウンド
・コードを実行するように作用し得る。1実施例では、
デバッグ回路がデバッグ・ホストからの実行制御指示を
示すラン状態マシーンを持ち、プロセッサ回路がプロセ
ッサ回路による命令の実行を示す実行状態マシーンを持
っている。
行制御を持つプロセッサ(16)を開示した。プロセッ
サ(16)が、バックグラウンド・コード及びフォアグ
ラウンド・コードを含む埋込みコード(19)を実行す
るように作用し得るプロセッサ回路を含む。プロセッサ
(16)は、プロセッサ回路にインターフェース接続さ
れていて、デバッグ・ホスト(12)と連絡するように
作用し得るデバッグ回路をも含む。デバッグ回路はデバ
ッグ・ホスト(12)からデバッグ停止指令を受取るよ
うに作用し得る。デバッグ停止指令を受取った後、プロ
セッサ回路が埋込みコード(19)の実行を中断して、
埋込みコード(19)のデバッグができるようにするこ
とができる。更にプロセッサ回路は、埋込みコード(1
9)の実行が中断されている間、付能された割込みに応
答して、付能された割込みに関連するフォアグラウンド
・コードを実行するように作用し得る。1実施例では、
デバッグ回路がデバッグ・ホストからの実行制御指示を
示すラン状態マシーンを持ち、プロセッサ回路がプロセ
ッサ回路による命令の実行を示す実行状態マシーンを持
っている。
【関連出願との関係】この出願は米国仮特許出願通し番
号第60/078,786号(出願人控え番号TI‐2
6219P)、発明の名称「デバッグ・モニタ無しにデ
バッグ機能に対する実時間外部命令を挿入するプロセッ
サ」と関連を有する。
号第60/078,786号(出願人控え番号TI‐2
6219P)、発明の名称「デバッグ・モニタ無しにデ
バッグ機能に対する実時間外部命令を挿入するプロセッ
サ」と関連を有する。
【図面の簡単な説明】
【図1】デバッグ・ホスト及び埋込みプロセッサを持つ
目標システムを含むデバッグの環境の1実施例のブロッ
ク図。
目標システムを含むデバッグの環境の1実施例のブロッ
ク図。
【図2】図1のプロセッサ内にあるデバッグ回路の1実
施例のブロック図。
施例のブロック図。
【図3】図2のデバッグ回路が管理するラン状態マシー
ンの1実施例の状態線図。
ンの1実施例の状態線図。
【図4】図2のデバッグ回路が管理する実行状態マシー
ンの1実施例の状態線図。
ンの1実施例の状態線図。
10 デバッグ環境 12 デバッグ・ホスト 14 目標システム 16 プロセッサ 18 制御される装置 19 埋込みコード
───────────────────────────────────────────────────── フロントページの続き (72)発明者 カーシイケイヤン マダシル インド国 バンガローレ,ハル サード ステージ 617エイ Fターム(参考) 5B042 GA13 GB05 GC07 HH01 HH25 LA18 5B062 AA10 CC01 DD10 EE08 JJ08
Claims (2)
- 【請求項1】 デバッグ機能に対する実時間実行制御を
持つプロセッサに於いて、 バックグラウンド・コード及びフォアグラウンド・コー
ドを含む埋込み(エンベデッド)コードを実行するよう
に作用し得るプロセッサ回路と、 前記プロセッサ回路にインターフェース接続され、デバ
ッグ・ホストと連絡するように作用し得るデバッグ回路
とを有し、 前記デバッグ回路はデバッグ・ホストからデバッグ停止
指令を受取るように作用し得ると共に、 前記プロセッサ回路は、デバッグ停止指令を受取った
後、埋込みコードの実行を中断して、埋込みコードのデ
バッグができるようにし、 更に前記プロセッサ回路は、埋込みコードの実行が中断
されている間、付能された割込みに応答して、前記付能
された割込みに関連するフォアグラウンド・コードを実
行するように作用し得るプロセッサ。 - 【請求項2】 デバッグ機能に対してプロセッサの実時
間実行制御をする方法に於いて、 デバッグ・ホストから送られたデバッグ停止指令をデバ
ッグ回路で受取り、 デバッグ停止指令を受取った後、プロセッサ回路による
埋込みコードの実行を中断して埋込みコードのデバッグ
ができるようにし、前記埋込みコードはバックグラウン
ド・コード及びフォアグラウンド・コードを含み、 埋込みコードの実行が中断されている間、付能された割
込みに応答して付能された割込みに関連するフォアグラ
ウンド・コードを実行する工程を含む方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11076251A JP2000276372A (ja) | 1999-03-19 | 1999-03-19 | プロセッサ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11076251A JP2000276372A (ja) | 1999-03-19 | 1999-03-19 | プロセッサ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000276372A true JP2000276372A (ja) | 2000-10-06 |
Family
ID=13599987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11076251A Abandoned JP2000276372A (ja) | 1999-03-19 | 1999-03-19 | プロセッサ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2000276372A (ja) |
-
1999
- 1999-03-19 JP JP11076251A patent/JP2000276372A/ja not_active Abandoned
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6324684B1 (en) | Processor having real-time execution control for debug functions without a debug monitor | |
US9864627B2 (en) | Power saving operating system for virtual environment | |
US9720697B2 (en) | Mechanism for instruction set based thread execution on a plurality of instruction sequencers | |
US9766924B2 (en) | Task processor | |
JP5795820B2 (ja) | プロセッサ、方法、システム、及び、プログラム | |
US8887174B2 (en) | Mechanism for monitoring instruction set based thread execution on a plurality of instruction sequencers | |
JP4792113B2 (ja) | プロセッサ間割り込み | |
KR100934533B1 (ko) | 연산 처리 시스템, 컴퓨터 시스템 상에서의 태스크 제어 방법, 및 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 | |
TWI590153B (zh) | 用於多線串處理之方法 | |
US6708326B1 (en) | Method, system and program product comprising breakpoint handling mechanism for debugging and/or monitoring a computer instruction sequence | |
JP3965142B2 (ja) | コンピュータ・プログラムをデバックするための方法、システムおよびソフトウェア・プロダクト | |
JP2000029737A (ja) | デバッグ機能のためのリアルタイム外部命令挿入を有するプロセッサ | |
JP5244160B2 (ja) | 複数の命令シーケンサでのスレッド実行に基づく命令セットのためのメカニズム | |
US20100287360A1 (en) | Task Processing Device | |
KR20040092399A (ko) | 단일 스레드와 동시 멀티스레드 모드간의 멀티스레드프로세서의 동적 스위칭 | |
JP2001521215A (ja) | マルチスレッド式プロセッサでスレッド切替えイベントを選択するための方法および装置 | |
JP2002517034A (ja) | エミュレーションコプロセッサ | |
JP2005100034A (ja) | 情報処理制御システム | |
US20060168427A1 (en) | Deterministic microcontroller with context manager | |
JP2000276372A (ja) | プロセッサ | |
JP5235900B2 (ja) | 命令実行を容易にするためのバッファの使用 | |
JPH1049373A (ja) | パイプライン・デジタル・プロセッサにおいて多重で高精度の事象を操作する方法と装置 | |
JP3206394B2 (ja) | 5段パイプライン構造のプログラマブルコントローラ | |
JPS6029844A (ja) | プログラムモ−ド切り替え方式 | |
JPS63276635A (ja) | 割り込み制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060308 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20081210 |