JP2003500740A - デバッグ回路を有するデータプロセッサ - Google Patents
デバッグ回路を有するデータプロセッサInfo
- Publication number
- JP2003500740A JP2003500740A JP2000620478A JP2000620478A JP2003500740A JP 2003500740 A JP2003500740 A JP 2003500740A JP 2000620478 A JP2000620478 A JP 2000620478A JP 2000620478 A JP2000620478 A JP 2000620478A JP 2003500740 A JP2003500740 A JP 2003500740A
- Authority
- JP
- Japan
- Prior art keywords
- debug
- data
- circuit
- data processor
- bit
- 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
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)
- Advance Control (AREA)
Abstract
Description
る方法に関する。
設けることは公知である。このデバッグ回路により、特定の条件がプロセッサで
発生する特定の時点での、プログラムの実行プロパティの解析が容易になる。
通常のプログラムの実行に割り込みを行う。この値に加えて、そのビット・マス
クによって割り込みが許可されるビット位置で、データ値が特定値に一致すると
、割り込みが行われるようにビット・マスクを特定することも公知である。
ることも、公知である。この場合、このデータプロセッサは、ベクトル命令に応
じていくつかの算術数値を並列に処理することが出来る。
ペランドは、例えば、長さ64ビットであり、データプロセッサは、これらのオペ
ランドを、各々が、16ビットの数値を表す、16ビットの四つのフィールドを含む
ものとして取り扱う。ベクトルADD命令に応じて、データプロセッサは、異なる
フィールド間で桁上げ無しに、ベクトルADD命令のオペランド内の対応するフィ
ールドからの数値の対を加える。
全てのフィールドが特定値を有する時、またはマスク割り込み可能フィールドま
たはマスク割り込み可能フィールドの全ての組合せが特定値を有する時、デバッ
グ割り込みを可能にする。
ロセッサを提供することである。本発明の別の目的は、デバッグ動作を行う改良
された能力を有する、ベクトル命令を有するデータプロセッサを提供することで
ある。
ロセッサの場合、デバッグ回路は、マスクプラス値を用いる場合より、より正確
な方法でデータ値を監視するようにプログラムすることが出来る。一つ以上で、
全てではない数の条件が真であるか否かに応じて、デバッグ動作を行うことが可
能である。例えば、ベクトルの多数のフィールドのいずれか一つがゼロになる、
またはフィールドのいずれか一つが予め決められた値より大きくなる、または多
数のフィールドの一つおよび一つのみがこの様な条件を満たす等の場合、即座に
、デバッグ動作を行うようにプログラムすることが出来る。
、図を用いて更に詳細に説明される。
モリ12、およびデバッグ回路14を含む。命令処理回路10は、アドレスおよび制御
出力、およびメモリ12に結合されたデータ入力/出力を有する。デバッグ回路14
は、命令処理回路10の割り込み入力に結合された出力、および命令処理回路10に
結合されたプログラミング入力を有する。
命令は、メモリ12からの読み出しデータ、およびメモリ12への書き戻しデータを
含むことが出来る。デバッグ回路14は、命令処理回路10とメモリ12の間の読み出
されたデータ、および書き込まれたデータを監視する。デバッグ回路14は、デバ
ッグ回路にプログラムされた条件に対して、このデータの値をテストする。この
データが条件を満たすと、デバッグ回路14はデバッグ動作を行う。 デバッグ動作により、命令実行回路10にプログラムの通常処理を停止させ、かつ
デバッグ例外プログラムの実行をスタートさせる、命令実行回路10への割り込み
を生成させることが出来る。
生成に限定されない。それに代えて、例えば、デバッグ回路は、命令処理回路10
および/またはメモリから、後の解析のための(プログラムカウンタ値と、タイ
ムスタンプと、レジスタの内容等とを含むことが出来る)付加データを取り込む
ことが出来る。
時間間隔内の命令サイクルのウィンドウの間、メモリ12と命令処理回路10の間に
渡されたデータおよび/またはアドレス値を保存させることが出来る(このよう
な情報は、この条件が満たされない限り、他のサイクルに対するデータによって
上書きされるのみであるが、全サイクルに対して格納することが可能である)。
これに代えて、デバッグ動作は、カウント値をインクリメントすること、および
カウント値が特定値に達すると、他のデバッグ動作を行うことを含むことも出来
る。条件が満たされる場合のみ、例外により行われる、多くの様々なデバッグ動
作が考えられることは明らかであろう。
は、如何なる命令にも固有ではなく、既定環境が命令の実行中に発生する場合に
生成される例外に固有である。この結果、デバッグ動作は、データプロセッサの
状態の検査を容易にする。
示す。この配置は、処理されたデータへの最も一般的なアクセスが最も低コスト
で可能となる箇所を提供するので、この配置は好ましい。しかしながら、本発明
から逸脱することなく、デバッグ回路14を、他の場所、例えば、プロセッサ内の
ALU(演算論理装置、図示されていない)とレジスタファイル(図示されていない
)との間、または入出力ポート(図示されていない)などに配置することも可能
である。
格納命令のみによって実行される。この場合、図1の回路は、ロードおよび/ま
たは格納命令の場合にしか、デバッグ動作を実行しない。しかしながら、本発明
はRISCに限定されない。本発明は、算術命令のような、他の命令の一部としてメ
モリにアクセスするプロセッサにも適用される。
。デバッグ回路のこの部分は、データフィールド用出力をそれぞれ有し、それぞ
れフィールド条件テスト回路22a-dに結合されているデータ入力レジスタ20を含
む。このフィールド条件テスト回路22a-dは、論理結合回路24への出力を有する
。これに加えて、デバッグ回路は、アドレス/制御データ・コンパレータ23に結
合されているアドレス/制御データ・レジスタ21を有する。アドレス/制御デー
タ・コンパレータ23も、論理結合回路24に接続されている出力を有する。
ラミング回路26を有する。プログラミング回路26は、それぞれフィールド条件テ
スト回路22a-dに結合されているそれぞれのフィールド出力を備えた基準値レジ
スタ262を有する。
れているフィールド出力をそれぞれ備えたマスク・レジスタ264を有する。プロ
グラミング回路26は、フィールド条件テスト回路22a-dの機能制御入力にそれぞ
れ結合されているフィールド条件プログラミングレジスタ268a-dを有する。プロ
グラミング回路26は、論理結合回路24に結合されている論理結合機能プログラミ
ングレジスタ269を有する。
ている基準アドレス/制御データ・レジスタ266を有する。 制御回路260は、基準値レジスタ262と、マスク・レジスタ264と、基準アドレス
/制御データ・レジスタ266と、フィールド条件プログラミングレジスタ268a-d
と、結合機能プログラミングレジスタ269とに結合されている。
ために並列にデバッグ回路14に組み込むことが出来る。
スタ20に格納される。同様に、メモリ12に渡されるアドレス及び制御データは、
アドレス/制御レジスタ21に格納される。
ータの場合には、16ビットの四つのフィールド)に分割する。もちろん、これは
一具体例に過ぎない。(図2に示すように)四つのフィールドに代えて、他の数
のフィールドを使用することも出来る。同様に、異なるデータ・サイズを、使用
することも出来る。
されるフィールドと一致することが好ましい。この様なベクトル処理命令は、一
つ以上のオペランドを特定し、かつこれらのオペランドを、各フィールドが独立
した数値を含む一組のフィールドとして取り扱う。ADDのようなベクトル処理命
令に応じて、命令処理回路10は、並列状態の多数のフィールドに対して二つのオ
ペランドの対応するフィールドからの数値を加算する。これらの結果は、結果オ
ペランドの異なるフィールドに書き込まれる。デバッグ回路14のベクトルフィー
ルドサイズも使用することによって、デバッグ回路14は、異なるベクトル成分に
関するテストを実行する。
または(例えば、八つの8ビットのベクトル成分、または四つの16ビットのベク
トル成分のような、異なるサイズフィールドに対するベクトル演算の場合の)多
数の予め決められたサイズおよびポジションから選択可能な一つを有することが
好ましい。
のテストの場合、当該フィールドからのデータは、基準値データ・レジスタ262
からの対応するデータと比較される。オプションとして、条件テスト回路22a-d
は、マスク・レジスタ264のマスク値に従ってフィールドの多数のビットに対す
る比較をマスクする。本発明から逸脱することなく、マスキングを省略すること
が出来る。
ールド条件プログラミングレジスタ268a-dの内容によって制御される。例えば、
条件テスト回路22a-dは、リスト:等しい、等しくない、より大きい、以上、よ
り小さい、から選択可能な任意の条件に対するテストを提供することが出来る。
より小さい可能な比較のリストを、使用することも出来る。本発明から逸脱する
ことなく、単一のフィールド条件プログラミングレジスタを、全てのフィールド
に使用することも出来、または固定タイプの比較(例えば、「等しい」に対する
テスト)さえ使用することが出来る。
に使用されるアドレスを基準アドレス・レジスタからの基準アドレスと比較し、
および/またはアドレス/制御コンパレータ23は、プロセッサ10とメモリ12との
間にデータを転送するために使用される制御信号を基準制御信号(この様な信号
は、読み出し/書込み選択、アクセス権、タスクID等を含むことが出来る)と比
較することが好ましい。
理的に結合する。論理結合の結果信号は、論理結合回路24からの出力であり、か
つデバッグ動作を(図示しないデバッグ回路の部分によって)トリガするために
使用される。このタイプの論理結合は、結合機能プログラミングレジスタ269に
よりプログラムされることが好ましい。このようにして、例えば、条件の論理和
が、条件がデータ値のフィールドの異なるものに対して満たされたと言う信号を
示すと、デバッグ動作をトリガさせることが出来る。この場合、何れのフィール
ドも、デバッグ動作をトリガさせることが出来る。しかしながら、他の論理結合
を、フィールドの選択されたサブセットの論理和、条件信号の排他論理和(フィ
ールドの一つと一つのみがその条件を満たす場合のデバッグ動作)、条件信号の
逆の排他論理和(フィールドの一つと一つのみがその条件を満たさない場合のデ
バッグ動作)等に対して、提供することも出来る。
の結果も使用することが好ましい。このように、プログラムされたアドレスが含
まれる場合のみ、および/またはメモリからの読出しの場合、またはメモリに対
する書込みの場合のみ、デバッグ動作をトリガさせることが出来る。アドレス指
定上のこの条件も、プログラム可能であることが好ましい。
a-d、269にロードされる。これは、命令処理回路によって実行されるデバッグ命
令の制御のもとでなされることが好ましい。デバッグ動作を許可/禁止するため
、基準データ値と、マスク値と、条件制御値と、結合制御値とを設定するために
、デバッグ命令を与えることが出来る。
用されるオペランド・データがデバッグ例外条件を満たすか否かを監視するよう
に構成されているデバッグ回路を有する。デバッグ例外条件は、ベクトル・オペ
ランドのマルチ・ビット・サブフィールドの二つ以上を、それぞれテストする。
マルチ・ビット・サブフィールドの一つ以上が対応する条件を満たす場合、デバ
ッグ動作が行われる。
Claims (9)
- 【請求項1】 プログラムを実行する命令処理回路と、 - プログラムされたデバッグ例外条件を受信し; - 前記プログラムを実行する前記命令処理回路によって使用されるオペランド
・データが前記デバッグ例外条件を満たすか否かを監視し; - 前記オペランド・データが前記デバッグ例外条件を満たすことが検出される
と、デバッグ動作を行うように構成されているデバッグ回路とを 有し、 前記オペランド・データの二つ以上のマルチ・ビット・サブフィールドについ
ての、多数の各条件の一つ以上で全てより少ない条件が、それぞれ真である場合
、前記デバッグ回路が、デバッグ動作を行うことを特定するデバッグ例外条件を
使用するように構成されているデータプロセッサ。 - 【請求項2】 前記デバッグ回路が、前記各条件の論理和が真である場合、デバッグ動作を行
うことを特定するデバッグ例外条件を使用するように構成されている請求項1に
記載のデータプロセッサ。 - 【請求項3】 前記命令処理回路が、前記オペランド値のアドレス指定を行うベクトル命令を
処理し、前記マルチ・ビット・サブフィールドを相互に独立の算術数値として処
理するように、構成されている請求項1に記載のデータプロセッサ。 - 【請求項4】 前記デバッグ回路が、メモリ命令への格納および/またはメモリ命令からのロ
ードのオペランド・データが前記デバッグ例外条件を満たすか否かを監視するよ
うに、構成されている請求項1に記載のデータプロセッサ。 - 【請求項5】 前記各マルチ・ビット・サブフィールドに対する前記条件が、前記マルチ・ビ
ット・サブフィールドをこれらの各マルチ・ビット・サブフィールドに対する各
数値と比較する関係算術条件である請求項1に記載のデータプロセッサ。 - 【請求項6】 前記関係算術条件が、等しい、等しくない、より大きい、以上、より少ない、
または以下の、条件の少なくとも一つである請求項5に記載のデータプロセッサ
。 - 【請求項7】 前記マルチ・ビット・サブフィールドが、前記全体のオペランド・データを作
成する請求項1に記載のデータプロセッサ。 - 【請求項8】 前記デバッグ回路が、デバッグ動作をトリガするために、一つ以上のサブフィ
ールドを含む前記何れのマルチ・ビット・サブフィールドに対し、前記マルチ・
ビット・サブフィールドの前記条件を満足させなければならないかを示す選択指
示を有する前記デバッグ例外条件を受信する、ように構成されている請求項1に
記載のデータプロセッサ。 - 【請求項9】 - プログラムされたデバッグ例外条件を受信し; - プログラムの命令を処理し; - 前記プログラムの実行中に前記命令処理回路によって使用されるオペランド
・データが、前記デバッグ例外条件を満たすかどうかを監視し; - 前記オペランド・データが、前記デバッグ例外条件を満たす検出に応じてデ
バッグ動作を行う、 データプロセッサ装置によりデータを処理する方法において、 前記オペランド・データの二つ以上のマルチ・ビット・サブフィールドについ
ての多数の各条件の一つ以上で全てではない条件が、真の場合、前記デバッグ例
外条件が、デバッグ動作を行うことを特定することを特徴とするデータを処理す
る方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP99201568 | 1999-05-19 | ||
EP99201568.5 | 1999-05-19 | ||
PCT/EP2000/004195 WO2000072152A1 (en) | 1999-05-19 | 2000-05-01 | Data processor with a debug circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2003500740A true JP2003500740A (ja) | 2003-01-07 |
Family
ID=8240213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000620478A Pending JP2003500740A (ja) | 1999-05-19 | 2000-05-01 | デバッグ回路を有するデータプロセッサ |
Country Status (6)
Country | Link |
---|---|
US (1) | US7293258B1 (ja) |
EP (1) | EP1099166B1 (ja) |
JP (1) | JP2003500740A (ja) |
KR (1) | KR100705847B1 (ja) |
DE (1) | DE60012661T2 (ja) |
WO (1) | WO2000072152A1 (ja) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6165341A (ja) * | 1984-09-04 | 1986-04-03 | ジーテイーイー・コミユニケイシヨン・システムズ・コーポレイシヨン | ハードウエアマツチヤ装置 |
JPH04361335A (ja) * | 1991-06-10 | 1992-12-14 | Nec Corp | トレーサの書込み制御回路 |
JPH05282161A (ja) * | 1992-03-31 | 1993-10-29 | Nec Corp | 情報処理装置 |
JPH0869391A (ja) * | 1994-08-15 | 1996-03-12 | Motorola Inc | データ・プロセッサとその方法 |
JPH09218801A (ja) * | 1995-08-30 | 1997-08-19 | Motorola Inc | データプロセッサ |
JPH117398A (ja) * | 1997-06-13 | 1999-01-12 | Nec Corp | プログラム・デバッグ装置 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5490262A (en) * | 1989-09-01 | 1996-02-06 | Oki Electric Industry Co., Ltd. | Dual cache memory device with cache monitoring |
US5623650A (en) * | 1989-12-29 | 1997-04-22 | Cray Research, Inc. | Method of processing a sequence of conditional vector IF statements |
US5255385A (en) * | 1990-02-26 | 1993-10-19 | Hitachi, Ltd. | Method of testing program, and compiler and program testing tool for the method |
US5560009A (en) * | 1990-09-21 | 1996-09-24 | Hewlett-Packard Company | Generating symbolic debug information by merging translation and compiler debug information |
US5717947A (en) * | 1993-03-31 | 1998-02-10 | Motorola, Inc. | Data processing system and method thereof |
US5517436A (en) * | 1994-06-07 | 1996-05-14 | Andreas; David C. | Digital signal processor for audio applications |
US5611062A (en) * | 1995-03-31 | 1997-03-11 | International Business Machines Corporation | Specialized millicode instruction for string operations |
JP3846939B2 (ja) * | 1995-08-30 | 2006-11-15 | フリースケール セミコンダクター インコーポレイテッド | データプロセッサ |
US5737516A (en) * | 1995-08-30 | 1998-04-07 | Motorola, Inc. | Data processing system for performing a debug function and method therefor |
US5870582A (en) * | 1997-03-31 | 1999-02-09 | International Business Machines Corporation | Method and apparatus for completion of non-interruptible instructions before the instruction is dispatched |
US6175913B1 (en) * | 1997-09-12 | 2001-01-16 | Siemens Ag | Data processing unit with debug capabilities using a memory protection unit |
KR100287366B1 (ko) * | 1997-11-24 | 2001-04-16 | 윤순조 | 엠피이지 방식을 이용한 휴대용 음향 재생장치 및 방법 |
US6681315B1 (en) * | 1997-11-26 | 2004-01-20 | International Business Machines Corporation | Method and apparatus for bit vector array |
US6426746B2 (en) * | 1998-03-31 | 2002-07-30 | Intel Corporation | Optimization for 3-D graphic transformation using SIMD computations |
-
2000
- 2000-05-01 KR KR1020017000774A patent/KR100705847B1/ko not_active IP Right Cessation
- 2000-05-01 JP JP2000620478A patent/JP2003500740A/ja active Pending
- 2000-05-01 WO PCT/EP2000/004195 patent/WO2000072152A1/en active IP Right Grant
- 2000-05-01 DE DE60012661T patent/DE60012661T2/de not_active Expired - Lifetime
- 2000-05-01 EP EP00929518A patent/EP1099166B1/en not_active Expired - Lifetime
- 2000-05-17 US US09/572,995 patent/US7293258B1/en not_active Expired - Lifetime
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6165341A (ja) * | 1984-09-04 | 1986-04-03 | ジーテイーイー・コミユニケイシヨン・システムズ・コーポレイシヨン | ハードウエアマツチヤ装置 |
JPH04361335A (ja) * | 1991-06-10 | 1992-12-14 | Nec Corp | トレーサの書込み制御回路 |
JPH05282161A (ja) * | 1992-03-31 | 1993-10-29 | Nec Corp | 情報処理装置 |
JPH0869391A (ja) * | 1994-08-15 | 1996-03-12 | Motorola Inc | データ・プロセッサとその方法 |
JPH09218801A (ja) * | 1995-08-30 | 1997-08-19 | Motorola Inc | データプロセッサ |
JPH117398A (ja) * | 1997-06-13 | 1999-01-12 | Nec Corp | プログラム・デバッグ装置 |
Also Published As
Publication number | Publication date |
---|---|
DE60012661D1 (de) | 2004-09-09 |
DE60012661T2 (de) | 2005-08-04 |
EP1099166A1 (en) | 2001-05-16 |
WO2000072152A1 (en) | 2000-11-30 |
KR100705847B1 (ko) | 2007-04-09 |
KR20010071965A (ko) | 2001-07-31 |
EP1099166B1 (en) | 2004-08-04 |
US7293258B1 (en) | 2007-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5889981A (en) | Apparatus and method for decoding instructions marked with breakpoint codes to select breakpoint action from plurality of breakpoint actions | |
US6374346B1 (en) | Processor with conditional execution of every instruction | |
US5345580A (en) | Microprocessor device and emulator device thereof | |
US6237089B1 (en) | Method and apparatus for affecting subsequent instruction processing in a data processor | |
EP0702297B1 (en) | A data processor with breakpoint circuit | |
US11467832B2 (en) | Vector floating-point classification | |
GB2413657A (en) | Breakpoint logic unit, debug logic and breakpoint method for a data processing apparatus | |
US4713750A (en) | Microprocessor with compact mapped programmable logic array | |
EP1429250A2 (en) | Digital processor with programmable breakpoint/watchpoint trigger generation circuit | |
US5502827A (en) | Pipelined data processor for floating point and integer operation with exception handling | |
JP2620511B2 (ja) | データ・プロセッサ | |
US6023751A (en) | Computer system and method for evaluating predicates and Boolean expressions | |
JP2007500406A (ja) | オペランド依存関係によるストールを低減する方法ならびにそのためのデータプロセッサ | |
US4631672A (en) | Arithmetic control apparatus for a pipeline processing system | |
US5410660A (en) | System and method for executing branch on bit set/clear instructions using microprogramming flow | |
US5253349A (en) | Decreasing processing time for type 1 dyadic instructions | |
JP5052713B2 (ja) | 条件付き命令を備えるベクトルデータプロセッサ | |
US4028670A (en) | Fetch instruction for operand address calculation | |
EP0729604B1 (en) | Register status protection during read-modify-write operation | |
AU629007B2 (en) | Apparatus for accelerating store operations in a risc computer | |
JP2003500740A (ja) | デバッグ回路を有するデータプロセッサ | |
US20050097299A1 (en) | Processor with asymmetric SIMD functionality | |
US5446909A (en) | Binary multiplication implemented by existing hardware with minor modifications to sequentially designate bits of the operand | |
US20030084272A1 (en) | Handling problematic events in a data processing apparatus | |
EP0297890B1 (en) | Apparatus and method for data induced condition signaling |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20070323 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070501 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20080424 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100831 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101130 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20101221 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20111118 |