JP2006127553A - プログラムのテスト及びデバッギングが容易な中央処理装置 - Google Patents

プログラムのテスト及びデバッギングが容易な中央処理装置 Download PDF

Info

Publication number
JP2006127553A
JP2006127553A JP2006026313A JP2006026313A JP2006127553A JP 2006127553 A JP2006127553 A JP 2006127553A JP 2006026313 A JP2006026313 A JP 2006026313A JP 2006026313 A JP2006026313 A JP 2006026313A JP 2006127553 A JP2006127553 A JP 2006127553A
Authority
JP
Japan
Prior art keywords
debugging
program
central processing
processing unit
data
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
JP2006026313A
Other languages
English (en)
Inventor
Kyung Youn Cho
キュン ヨン チョ
Jong Yoon Lim
ジョン ユン リム
Geun Tack Lee
ゲン タック リー
Sang Seo Han
サン ソ ハン
Byung Gueon Min
ビュン ゲオン ミン
Heui Lee
へウイ リー
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.)
Advanced Digital Chips Inc
Original Assignee
Advanced Digital Chips 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 Advanced Digital Chips Inc filed Critical Advanced Digital Chips Inc
Publication of JP2006127553A publication Critical patent/JP2006127553A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • 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)

Abstract

【課題】プログラムのテスト及びデバッギングが容易な中央処理装置を提供する。
【解決手段】ホストコンピュータとのデータ通信のためのデータ通信部;中央処理装置の動作モードが一般動作状態を示す一般動作モードであるかデバッギング状態を示すデバッギングモードであるかを示すフラグを備えた状態レジスタ;メモリ上のデバッギングスタック領域を指定するデバッギングスタックポインタレジスタ;ブレーキレジスタに保存された値と中止データが同一であれば中央処理装置をデバッギングモードへ進入させる比較部を備えて、前記ブレーキレジスタに保存された値と中止データとが一致すれば前記中央処理装置をデバッギングモードに切換えて前記フラグがデバッギングモードを示す値を有し、前記デバッギングスタックポインタレジスタをデバッギングプログラムのデータを保存するメモリを指定するスタックポインタとして使用し、デバッギングする。
【選択図】図3

Description

本発明は、プログラムのテスト及びデバッギングが容易な中央処理装置に関し、特に、デバッギング状態においてホストコンピュータからダウンロードされたテスト及びデバッギングを行うための応用プログラムを容易にテスト及びデバッギングすることができるプログラムのテスト及びデバッギングが容易な中央処理装置に関する。
一般に、中央処理装置(Micro−Processor)は、メモリに保存された多数の命令語の集合からなるプログラムを読み出してこれを命令語解析器によって解析し、実行器によって各命令語に該当する動作を実行する。
メモリに保存された多数の命令語の集合からなる応用プログラムが正しく作成されたかをテストしなければならなく、応用プログラムが正しく作成されていない場合、その応用プログラムをデバッギング(Debugging)しなければならない。
図1は従来のインサーキットエミュレータを使用して応用プログラムのテスト及びデバッギングを行うための一例のブロック図である。図1のインサーキットエミュレータを使用してプログラムのテスト及びデバッギングを行うためのブロック図は、中央処理装置、I/Oユニット1及びメモリ2から構成される対象システム4、対象システム4をテスト及びデバッギングするために対象システム4の中央処理装置に代替することができる回路で構成されて対象システム4の中央処理装置をCPUモジュール(Module)3で代替させ、CPUモジュール3と連結されたインサーキットエミュレータ(In Circuit Emulator:ICE)5、及びデバッギングを行うための応用プログラムのテスト及びデバッギングのための命令などをインサーキットエミュレータへ出力させるホストコンピュータ6から構成される。
インサーキットエミュレータ5は、ホストコンピュータ6から応用プログラムを入力されて応用プログラムをデバッギングすることができるデバッギング用プログラムを保存しており、ホストコンピュータ6から入力される命令に従ってインサーキットエミュレータ5の内部の中央処理装置を動作させる。そして、CPUモジュール3を通じて対象システム4の制御バス、アドレスバス及びデータバスを直接に制御して対象システム4のI/Oユニット1及びメモリ2に必要な入出力を遂行することができ、インサーキットエミュレータ5の内部の中央処理装置の内部レジスタを読み出したり内部レジスタのデータを変更することができる。
つまり、インサーキットエミュレータ5は、ホストコンピュータ6からデバッギングを行うための応用プログラムを入力されてプログラムを遂行させ、インサーキットエミュレータ5内の中央処理装置を動作させる。そして、対象システム4の制御バス、アドレスバス及びデータバスを直接に制御してI/Oユニット1及びメモリ2に必要な入出力を遂行し、応用プログラムのテスト及びデバッギングのために強制的に応用プログラムの遂行を中止させた後、ホストコンピュータ6からの命令に従って対象システム4のI/Oユニット1及びメモリ2のデータを読み出したり書き込んだり、またはインサーキットエミュレータ5内のレジスタに保存されたデータ値を読み出したり書き込み、応用プログラムが正しく作成されたかを判断して、エラーがある場合応用プログラムをデバッギングする。
上記の従来のインサーキットエミュレータを使用して応用プログラムのテスト及びデバッギングを行う場合、必ず対象システムの中央処理装置をインサーキットエミュレータに連結されたCPUモジュール3で代替できる場合にのみ有用に使用することができ、インサーキットエミュレータ内には対象システムの中央処理装置の機能を果たすハードウェアがなければならないので、インサーキットエミュレータは高価の装備となるという問題点がある。そして、対象システムを一つの半導体チップに集積化させた場合、中央処理装置をCPUモジュール3で代替することができないので、インサーキットエミュレータを使用することができないという問題点がある。
図2は従来の中央処理装置内にバックグラウンドデバッギングモニタ部が内蔵されてプログラムのテスト及びデバッギングを行うためのブロック図である。図2のブロック図は、図1の対象システムを一つの半導体チップに集積させた場合インサーキットエミュレータを使用することができないという問題点を解決するために、中央処理装置13はバックグラウンドデバッギングモニタ部(Background Debugging Monitor:BDM)11とシリアル通信部12を別途に有している。
図2の従来の中央処理装置内にバックグラウンドデバッギングモニタ11が内蔵されてプログラムのテスト及びデバッギングを行うためのブロック図は、別途のバックグラウンドデバッギングモニタ11及びシリアル通信部12を有する中央処理装置13、I/Oユニット14及びメモリ15が一つの半導体チップに集積化された対象システム10、及びシリアル通信部12を通じて応用プログラムのテスト及びデバッギングを行うためのホストコンピュータ20から構成される。
バックグラウンドデバッギングモニタ11は、ホストコンピュータ20からシリアル通信部12を通じて入力された命令語を解析して必要な動作を遂行するために、自主的にレジスタ、制御ユニット等から構成されたコントローラーで、中央処理装置13の内部の全ての構成要素を直接に制御することが可能でなければならない。つまり、バックグラウンドデバッギングモニタ11は内部バスに連結されてレジスタを読んだり値を変更することができる。そして、制御部、メモリアドレスレジスタ及びメモリデータレジスタを制御して制御信号バス、アドレスバス及びデータバスを制御する。
図2の従来のバックグラウンドデバッギングモニタ部が内蔵された中央処理装置は、シリアル通信部12を通じてホストコンピュータ20とバックグラウンドデバッギングモニタ11との通信が可能でなければならないが、これに要するホストコンピュータ20と中央処理装置13を連結するための入出力線は2〜3個の線が必要であるので、図1のように中央処理装置の全部を代替する場合より有効である。
従来のバックグラウンドデバッギングモニタ部は、中央処理装置13の内部の全ての構成要素を直接に制御しなければならないので、図2のバックグラウンドデバッギングモニタ部が内蔵された中央処理装置は高価で、複雑なハードウェアを有するという問題点がある。
本発明の目的は、デバッギング入力信号を活性化させて使用者モードを有する中央処理装置の状態にデバッギングモードを新しく追加し、デバッギングモードにおいてホストコンピュータからダウンロードされたテスト及びデバッギングを行うための応用プログラムを容易にテスト及びデバッギングすることによって、中央処理装置のハードウェアが簡単に構成され、中央処理装置のコストを低下させることができ、且つより効率よいテスト及びデバッギングを行うことができるプログラムのテスト及びデバッギングが容易な中央処理装置を提供することにある。
前記目的を達成するために、本発明のプログラムのテスト及びデバッギングが容易な中央処理装置は、ホストコンピュータとのデータ通信のためのデータ通信手段;中央処理装置の動作モードが一般動作状態を示す一般動作モードであるかデバッギング状態を示すデバッギングモードであるかを示すフラグを備えた状態レジスタ;デバッギングプログラムのデータを保存するスタックメモリを指定するスタックポインタとして用いられるデバッギングスタックポインタレジスタ;及びブレーキレジスタに保存された値と中止データとを比較して同一であれば中央処理装置をデバッギングモードへ進入させる比較手段を備えて、ブレーキレジスタに保存された値と中止データとが一致すれば、中央処理装置をデバッギングモードに切換えさせて状態レジスタのフラグがデバッギングモードを示す値を有し、プログラムカウンタにデバッギングプログラムを遂行するための開始アドレスを積載してデバッギングプログラムを遂行し、データ通信手段を通じてホストコンピュータからの命令に従ってデバッギングを遂行することを特徴とする。
また、前記目的を達成するために、本発明のプログラムのテスト及びデバッギングが容易な中央処理装置は、ホストコンピュータとのデータ通信のためのデータ通信手段;中央処理装置の動作モードが一般動作状態を示す一般動作モードであるかデバッギング状態を示すデバッギングモードであるかを示すフラグを備えた状態レジスタ;デバッギング初期化プログラム及びデバッギングサービスプログラムのデータを保存するスタックメモリを指定するデバッギングスタックポインタレジスタ;リセット信号によって中央処理装置を初期化し、デバッギングモード進入信号を検査してデバッギングモード進入信号が活性化されていると、プログラムカウンタにデバッギング初期化プログラムを遂行するための開始アドレスを積載して中央処理装置をデバッギング初期化モードに切換えさせて状態レジスタのフラグをデバッギングモードを示す値で設定し、内部バスに連結されて中央処理装置の内外部に必要な各種の制御信号を出力する制御ユニット;及びブレーキレジスタに保存された値と中止データとを比較して同一であれば中央処理装置をデバッギングサービスモードへ進入させる比較手段を備えて、ブレーキレジスタに保存された値と中止データとが一致すれば、中央処理装置をデバッギングサービスモードに切換えさせて状態レジスタのフラグがデバッギングサービスモードを示す値を有し、プログラムカウンタにデバッギングサービスプログラムを遂行するための開始アドレスを積載してデバッギングサービスプログラムを遂行し、データ通信手段を通じてホストコンピュータからの命令に従ってデバッギングを遂行することを特徴とする。
本発明のプログラムのテスト及びデバッギングが容易な中央処理装置は、使用者モードを有する中央処理装置の状態にデバッギングモードを新しく追加し、デバッギングモードにおいてホストコンピュータからダウンロードされたテスト及びデバッギングを行うための応用プログラムを容易にテスト及びデバッギングすることができるようにする。ここで、中央処理装置はより簡単なハードウェアから構成され、中央処理装置のコストを低下させることができ、且つより効率よいテスト及びデバッギングを行うことができる。また、応用プログラムのテスト及びデバッギングを遂行するための初期環境に設定せしめるデバッギングモード初期化プログラム及び中央処理装置をプログラムのテスト及びデバッギング状態へ進入させて応用プログラムをテスト及びデバッギングするためのデバッギングサービスプログラムは、中央処理装置を初期化及び動作させるための使用者応用プログラムが保存されたメモリと、他の独立されたメモリに保存することによって、使用者は提供されたデバッギングモード初期化プログラム及びデバッギングサービスプログラムを考えずに、使用者によって作成されたデバッギングプログラムを用いて応用プログラムを作成することができる。
以下、添付した図面を参照して本発明のプログラムのテスト及びデバッギングが容易な中央処理装置を詳細に説明する。
図3は本発明のプログラムのテスト及びデバッギングが容易な中央処理装置を示したブロック図である。図3の本発明のプログラムのテスト及びデバッギングが容易な中央処理装置は、データ及びアドレス演算に必要なデータを一時的に保存する汎用レジスタファイル100、プログラムが保存されたメモリのアドレスを記憶するプログラムカウンタ(PC)と中央処理装置の一般動作状態を示す一般動作モード及びプログラムのテスト及びデバッギングを行うための状態を示すデバッギングモードを示すデバッギングモードフラグを有する状態レジスタ(SR)、ブレーキレジスタ(BR)、マスクレジスタ(MR)、及びデバッギング初期化プログラム及びデバッギングサービスプログラムのデータを保存するメモリを指定するデバッギングスタックポインタ(ISP)から構成された特殊レジスタファイル200、汎用レジスタファイル100及び特殊レジスタファイル200を連結する内部バス(IB)、内部バス(IB)に連結されて中央処理装置の内外部に必要な各種の制御信号(CONT)を出力し、リセット信号(RESET)によって中央処理装置を初期化し、デバッギングモード進入信号(OSI)を検査してデバッギングモード進入信号(OSI)が活性化されると、プログラムカウンタ(PC)にデバッギング初期化プログラムを遂行するための開始アドレスを積載して中央処理装置をデバッギング初期化モードに切換させて状態レジスタ(SR)のフラグはデバッギングモードを示す値を有するようにする制御ユニット300、メモリアドレスレジスタ400、メモリデータレジスタ500、ホストコンピュータとのデータ通信のためのデータ通信部600、及びブレーキレジスタ(BR)に保存された値(IBR)と中止データ(BD)とを比較して同一であれば中央処理装置をデバッギングサービスモードへ進入させる比較部700から構成される。
また、本発明のプログラムのテスト及びデバッギングが容易な中央処理装置は、ホストコンピュータとのデータ通信のためのデータ通信部600、中央処理装置の動作モードが一般動作状態を示す一般動作モードであるかデバッギング状態を示すデバッギングモードであるかを示すフラグを備えた状態レジスタ(SR)、デバッギングプログラムのデータを保存するスタックメモリを指定するスタックポインタとして用いられるデバッギングスタックポインタ(ISP)、及びブレーキレジスタに保存された値と中止データとを比較して同一であれば中央処理装置をデバッギングモードへ進入させる比較部700から構成され、初期デバッギングモード進入によってホストコンピュータから入力されたブレーキレジスタ(BR)に保存された値と中止データ(BD)とが一致すれば、プログラムカウンタ(PC)にデバッギング初期化プログラム及びデバッギングサービスプログラムからなるデバッギングプログラムを遂行するための開始アドレスを積載してデバッギングプログラムを遂行することによって、中央処理装置をデバッギングモードに切換させ、状態レジスタのフラグがデバッギングモードを示す値を有するようにして、データ通信部600を通じてホストコンピュータからの命令によってデバッギングを遂行することができる。
比較部700に入力される中止データ(BD)は、プログラムカウンタ(PC)に保存されたプログラム番地、データが保存されたメモリアドレス、入出力されるデータ、入出力されるアドレスであってもよく、マスクレジスタ(MR)を使用してプログラムカウンタに保存されたプログラム番地とマスクレジスタ(MR)に保存された値とを演算した結果、データが保存されたメモリアドレスとマスクレジスタ(MR)に保存された値とを演算した結果、入出力されるアドレスとマスクレジスタ(MR)に保存された値とを演算した結果、入出力されるデータとマスクレジスタ(MR)に保存された値とを演算した結果であってもよい。
図3、図5及び図6に示すように、制御ユニット300はデバッギングメモリ選択信号(OSIROM)を受信してブレーキレジスタ(BR)に保存された値(IBR)と中止データ(BD)とが同一である時に、デバッギングメモリ選択信号(OSIROM)によってプログラムカウンタ(PC)にデバッギングサービスプログラム(PROG5、PROG7)を遂行するための互いに異なるアドレスを積載することができる。また、図6に示すように、デバッギング初期化プログラム(PROG6)及びデバッギングサービスプログラム(PROG7)から構成されたデバッギングプログラムを保存するメモリ90と、一般プログラムが保存されたメモリ80とを分離することができる。
デバッギングプログラムで使用するデータ値を保存するデータ保存メモリと、一般プログラムで使用するデータ値を保存するデータ保存メモリとを分離することができる。
デバッギングモードに切換えられた時に、本発明のプログラムのテスト及びデバッギングが容易な中央処理装置は、速いデバッギングのために一時保存レジスタ1200をさらに備えて、デバッギングモードに切換えた後に、デバッギングプログラムを遂行する前にプログラムカウンタ(PC)と状態レジスタ(SR)を一時保存レジスタ1200に保存してデバッギングプログラムを遂行することもできる。
前記プログラムのテスト及びデバッギングが容易な中央処理装置は、基準データが保存された基準データ保存部900、及びデータ通信部600を通じて入力されたデータ(DEB1)と基準データとを比較して、データ通信部600を通じて入力されたデータ(DEB1)と基準データとが同一であれば中央処理装置をデバッギングサービスモードに切換えさせる基準データ比較部800を備えて、使用者がホストコンピュータを用いてデータ通信部を通じて中央処理装置を強制的にデバッギングサービスモードに切換させてデバッギングサービスプログラムを遂行させることができる。
本発明のプログラムのテスト及びデバッギングが容易な中央処理装置は、予め設定されたリセットデータを保存するリセットデータ保存部1100、及びリセットデータ保存部1100に保存されたリセットデータとデータ通信部600を通じて入力されたデバッギングデータ(DEB2)とを比較するリセットデータ比較部1000をさらに備えて、使用者が中央処理装置を強制的に初期化させるためにホストコンピュータからデータ通信部600にデータを伝送すると、リセットデータ比較部1000においてリセットデータ保存部1100に保存されたリセットデータとデータ通信部600に受信された値とを比較して、二つの値が同一であれば中央処理装置を初期化させる。
上記の構成による本発明のプログラムのテスト及びデバッギングが容易な中央処理装置の動作は、以下の通りである。制御ユニット300は、リセット信号(RESET)によって中央処理装置を初期化し、制御ユニット300に入力されるデバッギングモード進入信号(OSI)が活性化されると、図4に示すように状態レジスタ(SR)のデバッギングモードフラグ(OSIM)を活性化させ、中央処理装置を応用プログラムのテスト及びデバッギングを遂行するための初期環境に設定せしめ、データ通信部600を通じてホストコンピュータから中央処理装置にダウンロードされたテスト及びデバッギングを行うための応用プログラムを実行する。応用プログラムの実行中に比較部700によってブレーキレジスタ(BR)に保存された値(IBR)と中止データ(BD)とが同一であるかどうか判断して、二つの値が同一であれば制御ユニット300は中央処理装置をデバッギングモードへ進入させた後、データ通信部600を通じてホストコンピュータからの命令に従って応用プログラムのテスト及びデバッギングを遂行する。
応用プログラムはデバッギングモード進入信号(OSI)が活性化されてテスト及びデバッギングを遂行するための初期環境に中央処理装置を設定した後、ホストコンピュータから中央処理装置にダウンロードされたり、中央処理装置をテスト及びデバッギングを遂行するための初期環境に設定した後、比較部700の判断結果ブレーキレジスタ(BR)に保存された値(IBR)と中止データ(BD)とが同一であれば中央処理装置をプログラムのテスト及びデバッギング状態へ進入させた後、ホストコンピュータから中央処理装置へダウンロードされることができる。
比較部700の判断結果ブレーキレジスタ(BR)に保存された値(IBR)と中止データ(BD)とが同一であれば制御ユニット300は応用プログラムの実行中の動作を中止または完了し、プログラムカウンタ(PC)に保存された値と状態レジスタ(SR)に保存されたデータとを一時保存レジスタ(TR)やデバッギングスタックポインタ(ISP)が指定するスタックメモリに保存し、プログラムカウンタ(PC)には応用プログラムをテスト及びデバッギングを行うためのデバッギングサービスプログラムを遂行するための開始アドレスを保存し、中央処理装置を応用プログラムのテスト及びデバッギングするための状態にあるように状態レジスタ(SR)のデータを変更する。
比較部700に入力される中止データ(BD)はプログラムカウンタ(PC)に保存されたプログラム番地、データが保存されたメモリアドレス、入出力されるデータ、入出力されるアドレスであってもよく、マスクレジスタ(MR)を使用してプログラムカウンタに保存されたプログラム番地とマスクレジスタ(MR)に保存された値とを演算した結果、データが保存されたメモリアドレスとマスクレジスタ(MR)に保存された値とを演算した結果、入出力されるアドレスとマスクレジスタ(MR)に保存された値とを演算した結果、入出力されるデータとマスクレジスタ(MR)に保存された値とを演算した結果であってもよい。マスクレジスタ(MR)は検査しようとするデータの一部だけを比較しようとする時に、有用に用いられる。つまり、入出力されるデータのうち下位6ビットだけを検査しようとする場合、マスクレジスタ(MR)に16進水で3Fという値を設定し、入出力されるデータとマスクレジスタ(MR)を論理積演算を遂行して中止データ(BD)の下位6ビットとブレーキレジスタ(BR)の下位6ビットとが同一であれば中央処理装置をデバッギングモードに切換えるようにすることができる。
図5に示すように、中央処理装置の初期化及び一般動作のための応用プログラム(PROG1、PROG2、PROG4)、デバッギングモード進入信号(OSI)の活性化によって中央処理装置を応用プログラムのテスト及びデバッギングを遂行するための初期環境に設定せしめるデバッギングモード初期化プログラム(PROG3)、及び比較部700によって中央処理装置をプログラムのテスト及びデバッギング状態へ進入させて応用プログラムをテスト及びデバッギングするデバッギングサービスプログラム(PROG5)は同一のメモリ80に保存されたり、図6に示すように、デバッギングモード初期化プログラム(PROG6)とデバッギングサービスプログラム(PROG7)は他の独立されたメモリ90に保存され得る。
図6に示すように、一般動作のための応用プログラム(PROG1、PROG2、PROG4)を保存するメモリ80と、デバッギングモード初期化プログラム(PROG6)とデバッギングサービスプログラム(PROG7)を保存するメモリ90とを分離させ、メモリ90を中央処理装置と共に集積化(integrated circuit)することによって、中央処理装置の動作速度を速くすることができる。
または、図7に示すように、デバッギングモード初期化プログラム(PROG6)及びデバッギングサービスプログラム(PROG7)が保存される中央処理装置と共に集積化されるメモリ90とは別途に、使用者が直接デバッギングモード初期化プログラム(PROG3)及びデバッギングサービスプログラム(PROG5)を作成して中央処理装置の初期化及び一般動作のための応用プログラム(PROG1、PROG2、PROG4)が保存されたメモリ80にデバッギングモード初期化プログラム(PROG3)及びデバッギングサービスプログラム(PROG5)を保存することもできる。
図5に示すように、中央処理装置の初期化及び一般動作のための応用プログラム(PROG1、PROG2、PROG4)、デバッギングモード初期化プログラム(PROG3)、及びデバッギングサービスプログラム(PROG5)が全て同一のメモリ80に保存されている場合の本発明の動作について詳細に説明する。
中央処理装置に電源が供給されるとリセット信号(RESET)が活性化される。リセット信号(RESET)によって制御ユニット300は中央処理装置を初期化し、デバッギングモード進入信号(OSI)の活性化の可否を判断する。デバッギングモード進入信号(OSI)が非活性化されていると、図4の状態レジスタ(SR)のデバッギングモードフラグ(OSIM)を非活性化させる。そして、制御ユニット300はベクターテーブル81から最初に遂行するプログラムが保存されたメモリ80アドレスが保存されているリセットベクターを読み出して特殊レジスタファイル200のプログラムカウンタ(PC)に保存する。制御ユニット300はプログラムカウンタ(PC)に保存されたリセットベクターをメモリアドレスレジスタ400へ移動させてアドレスバス(ADDB)に出力する。そして、メモリ読み出し信号を制御バス(CONT)に出力して応用プログラム(PROG1)が保存されたメモリ80の内容を読み出すようになる。メモリから出力されたデータはデータバス(DATAB)及びメモリデータレジスタ500を通じて内部バス(IB)を経由して制御ユニット300に入るようになる。このように、制御ユニット300に入った命令語は解析され、制御ユニット300から必要な制御信号(CONT)が出力されて該当命令語を遂行する。
リセットベクターによってデバッギングするための応用プログラム(PROG1)を遂行するために中央処理装置が初期化され、デバッギングモード進入信号(OSI)が非活性化されていると、中央処理装置はその応用プログラム(PROG1)を遂行する。
もし、リセット信号(RESET)によって中央処理装置が初期化され、制御ユニット300に入力されるデバッギングモード進入信号(OSI)が活性化されると、制御ユニット300は状態レジスタ(SR)のデバッギングモードフラグ(OSIM)を活性化させる。そして、制御ユニット300はメモリ80に保存されたデバッギングモード初期化プログラム(PROG3)の開始アドレスであるデバッギングモード初期化ベクターを読み出してプログラムカウンタ(PC)に保存する。プログラムカウンタ(PC)に保存されたデバッギングモード初期化ベクターによってデバッギングモード初期化プログラム(PROG3)を遂行した後、中央処理装置は応用プログラムのテスト及びデバッギングを遂行するための初期環境に設定される。
制御ユニット300はホストコンピュータからの命令によって状態レジスタ(SR)のデバッギングモードフラグ(OSIM)を非活性化させ、遂行する応用プログラムの命令語が保存されているアドレスをプログラムカウンタ(PC)に保存してデバッギングを行うための応用プログラムを実行する。応用プログラムの実行中に、比較部700によって特殊レジスタファイル200のブレーキレジスタ(BR)に保存された値(IBR)と中止データ(BD)とが同一であれば、中央処理装置は応用プログラムの実行中の動作を中止または完了し、プログラムカウンタ(PC)に保存された応用プログラムのアドレス値と状態レジスタ(SR)に保存されたデータとを一時保存レジスタ(TR)1200に保存し、プログラムカウンタ(PC)には応用プログラムをテスト及びデバッギングするためのデバッギングサービスプログラム(PROG5)の開始アドレスであるデバッギングサービスベクターを保存し、応用プログラムをテスト及びデバッギングするのための状態にあるように中央処理装置の状態レジスタ(SR)値を変更する。つまり、状態レジスタ(SR)のデバッギングモードフラグ(OSIM)を活性化させる。

比較部700の判断結果ブレーキレジスタ(BR)に保存された値(IBR)と中止データ(BD)とが同一であれば、中央処理装置は応用プログラムの実行中の動作を中止または完了し、プログラムカウンタ(PC)に保存された値と状態レジスタ(SR)に保存されたデータとを一時保存レジスタ(TR)に保存しなく、デバッギングスタックポインタ(ISP)が指定するスタックメモリに保存することもできる。
中央処理装置は、プログラムのテスト及びデバッギング状態へ進入した後、メモリ80に保存されたデバッギングサービスプログラム(PROG5)によってホストコンピュータからの命令、例えば使用者が作成した応用プログラムのダウンロード、ダウンロードされた応用プログラムの実行、ブレーキレジスタ(BR)のデータ変更、汎用レジスタファイル100及び特殊レジスタファイル200のレジスタに保存されたデータの読み出し(READ)または書き込み(WRITE)、及びメモリに保存されたデータの読み出しまたは書き込みなどの命令を遂行する。このような命令を用いて使用者は応用プログラムが正しく作成されたかを判断して、誤って作成された場合これを修正する。
前記命令を遂行するためにデータ通信部600を通じて中央処理装置とホストコンピュータ間の処理順序は、以下の通りである。ホストコンピュータからのダウンロード命令によって、使用者が作成したプログラムをデータ通信部600を通じて伝送されて中央処理装置のメモリに保存した後、中央処理装置は成功的に受信されたという信号をホストコンピュータに送信する。もし、応用プログラムの伝送の途中にエラーが発生したとすると、中央処理装置はホストコンピュータに応用プログラムの再伝送を要求する。応用プログラムを中央処理装置に成功的にダウンロードした後、デバッギングのためにホストコンピュータは中央処理装置のブレーキレジスタ(BR)のデータ値を設定するためのブレーキレジスタ(BR)のデータ変更命令を下す。ブレーキレジスタ(BR)のデータ変更命令の後に、中央処理装置はホストコンピュータへ正常に受信されたという信号を送信する。ホストコンピュータは保存装置にダウンロードされた応用プログラムを実行させるために、応用プログラムの実行命令を中央処理装置に送信し、中央処理装置はこれに応答して応用プログラムを実行する。応用プログラムの実行中に、比較部700の判断結果ブレーキレジスタ(BR)のデータ値と中止データであるプログラムカウンタ(PC)のデータ値とが同一であれば応用プログラムの実行中の動作を中止または完了し、プログラムカウンタ(PC)に保存された値と状態レジスタ(SR)に保存されたデータ及び汎用レジスタの内容を一時保存レジスタ(TR)またはデバッギングスタックポインタ(ISP)が指定するスタックメモリに保存する。プログラムカウンタ(PC)には応用プログラムをテスト及びデバッギングするデバッギングサービスプログラム(PROG5)の開始アドレスであるデバッギングサービスベクターを保存し、中央処理装置が応用プログラムをテスト及びデバッギングするための状態にあるように状態レジスタ(SR)のデータを変更する。つまり、状態レジスタ(SR)のデバッギングモードフラグ(OSIM)を活性化させる。デバッギングサービスプログラム(PROG5)によって中央処理装置は応用プログラムのテスト及びデバッギングを遂行するための状態へ進入する。中央処理装置がテスト及びデバッギングを遂行するためのデバッギングモードへ進入した後、ホストコンピュータからレジスタ読み出し命令を受信されると、一時保存レジスタ(TR)またはデバッギングスタックポインタ(ISP)が指定するスタックに保存されたレジスタのデータをホストコンピュータへ伝送し、使用者は伝送されたデータを分析して正しい値が出力されたかを判断し、分析結果正しいデータではなければ応用プログラムが正しく作成されていないということであるので、応用プログラムを修正する。
上記のような方法を繰り返して応用プログラムを容易にデバッギングすることができる。リセット信号(RESET)は中央処理装置に最初電圧印加の時に活性化されたり、リセットデータ比較部1000によってデータ通信部600を通じてホストコンピュータから入力されるデバッギングデータ(DEB2)とリセットデータ保存部1100に保存されたリセットデータとを比較して、同一であれば中央処理装置を初期化させる。これは、デバッギングする応用プログラムの遂行中に、中央処理装置が復旧が不可能な状態、例えば無限ループなどの状態にある場合中央処理装置を初期化させて問題を解決する。
応用プログラムが一定の時間以上引続いて実行される場合、つまり、応用プログラムが無限ループにある場合、データ通信部600を通じて基準データ保存部900に保存された基準データと同様なデバッギングデータ(DEB1)を送信すれば、基準データ比較部800は基準データ保存部900に保存された基準データとデータ通信部600を通じて受けたデバッギングデータ(DEB1)とを比較して、同一であれば強制的に中央処理装置をプログラムのテスト及びデバッギング状態であるデバッギングサービスモードへ進入させ、無限ループから外れて無限ループが発生した部分の応用プログラムをデバッギングすることができる。
図7に示すように、デバッギングモード初期化プログラム(PROG3、PROG6)及びデバッギングサービスプログラム(PROG5、PROG7)は、中央処理装置を初期化及び動作させるためのサービスプログラムが保存されたメモリ80とは別途のメモリ90に同時に保存され得る。このために、制御ユニット300の入力信号としてメモリ区分信号(OSIROM)が必要である。つまり、リセット信号(RESET)によって制御ユニット300が中央処理装置を初期化させ、メモリ区分信号(OSIROM)を検査して活性化されていると、プログラムカウンタ(PC)には応用プログラムのテスト及びデバッギングのためにメモリ90に保存されたデバッギングモード初期化プログラム(PROG6の開始アドレスであるデバッギングモード初期化ベクター2が保存されなければならない。そして、ブレーキレジスタ(BR)のデータ値と中止データとが同一である場合、比較部700は二つの値が同一であることを制御ユニット300に通知し、制御ユニット300はメモリ90に保存されたデバッギングサービスプログラム(PROG7)の開始アドレスであるデバッギングサービスベクター2をプログラムカウンタ(PC)に保存する。
もし、メモリ区分信号(OSIROM)が非活性化されると、デバッギングモード初期化ベクター1がデバッギングモード初期化プログラム(PROG3)を遂行するための開始アドレスとなり、デバッギングサービスベクター1がデバッギングサービスプログラム(PROG5)を遂行するための開始アドレスとなる。
上記のようにメモリを分離することによって、使用者は内蔵されているデバッギングモード初期化プログラム(PROG6)及びデバッギングサービスプログラム(PROG7)を使用せずに、使用者が作成したデバッギングモード初期化プログラム(PROG3)及びデバッギングサービスプログラム(PROG5)を用いて応用プログラムをテスト及びデバッギングすることができる。
また、本発明のプログラムのテスト及びデバッギングが容易な中央処理装置は、リセット信号(RESET)による中央処理装置の初期化の後に、デバッギングモード進入信号(OSI)により最初デバッギングモードに切換えられたり、または中央処理装置が応用プログラムを遂行する途中にホストコンピュータからデータ通信部600を通じて基準データ保存部900に保存された基準データと同様なデバッギングデータ(DEB1)の入力によって、制御ユニット300によって強制的に最初デバッギングモードに切換えられ、デバッギング初期化プログラムとデバッギングサービスプログラムからなるデバッギングプログラムが遂行されると、デバッギングプログラムによってホストコンピュータでブレーキレジスタ(BR)の値を設定することができる。設定されたブレーキレジスタ(BR)のデータはデータ通信部600を通じてブレーキレジスタ(BR)に保存され、中央処理装置が応用プログラムの遂行中にブレーキレジスタ(BR)に保存された値(IBR)と中止データ(BD)とが同一であればデバッギングモード進入信号(OSI)の活性化の可否に関わらず、常に中央処理装置をデバッギングモードへ進入するようにする。つまり、ブレーキレジスタ(BR)に保存された値(IBR)と中止データ(BD)とが同一であれば制御ユニット300は状態レジスタ(SR)のデバッギングモードフラグ(OSIM)を活性化させ、プログラムカウンタ(PC)にはデバッギングプログラムを遂行するための開始アドレスを積載して中央処理装置はデバッギングプログラムを遂行するようにしてデバッギングモードに切換えさせ、デバッギングプログラムによってデータ通信部600を通じてホストコンピュータの命令、例えばデバッギングプログラムで使用するメモリの初期化、デバッギングスタックポインタの設定、基準データの設定や変更、中央処理装置を初期化させるためのリセットデータの設定や変更、ブレーキレジスタ(BR)値の変更、汎用レジスタファイル100及び特殊レジスタファイル200のレジスタに保存されたデータの読み出し(READ)または書き込み(WRITE)、及びメモリに保存されたデータの読み出しまたは書き込み記録などの命令を遂行し、応用プログラムが正しく作成されたかを判断して、誤って作成された場合これを修正する。
従来のインサーキットエミュレータを使用してプログラムのテスト及びデバッギングを行うためのブロック図。 従来の中央処理装置内に直列通信装置とバックグラウンドデバッギングモニタ部が内蔵されてプログラムのテスト及びデバッギングを行うためのブロック図。 本発明のプログラムのテスト及びデバッギングが容易な中央処理装置のブロック図。 本発明のプログラムのテスト及びデバッギングのための状態レジスタの構成図。 一般動作のための応用プログラム及びデバッギングプログラムが同一のメモリに保存された場合の、ベクター処理の動作図。 デバッギングプログラムが一般動作のための応用プログラムとは異なる他の独立されたメモリに保存された場合の、ベクター処理の動作図。 デバッギングプログラムが一般動作のための応用プログラムが保存されたメモリ及び他の独立されたメモリの全てに保存された場合の、ベクター処理の動作図。
符号の説明
1、14:I/Oユニット
2、15:メモリ
3:CPUモジュール
4、10:対象システム
5:インサーキットエミュレータ
6、20:ホストコンピュータ
11:バックグラウンドデバッギングモニタ
12:シリアル通信部
13:中央処理装置
100:汎用レジスタファイル
200:特殊レジスタファイル
300:制御ユニット
400:メモリアドレスレジスタ
500:メモリデータレジスタ
600:データ通信部
700:比較部
900:基準データ保存部
800:基準データ比較部
1100:リセットデータ保存部
1000:リセットデータ比較部
1200:一時保存レジスタ
80、90:メモリ
81:ベクターテーブル

Claims (33)

  1. データ及びアドレス演算に必要なデータを一時的に保存する汎用レジスタファイル(100)と、
    プログラムが保存されたメモリのアドレスを記憶するプログラムカウンタ(PC)と中央処理装置の状態を示す状態レジスタ(SR)及びブレーキレジスタ(BR)から構成された特殊レジスタファイル(200)と、
    前記汎用レジスタファイル(100)及び特殊レジスタファイル(100)を連結する内部バス(IB)と、
    前記内部バス(IB)に連結されて中央処理装置の内外部に必要な各種の制御信号を出力する制御ユニット(300)と、
    ホストコンピュータとのデータ通信を行い、テスト及びデバッギングの対象となる応用プログラムをダウンロードするためのデータ通信手段(600)と、
    前記ブレーキレジスタ(BR)に保存された値と中止データとを比較する比較手段(700)とを備える中央処理装置であって、
    前記特殊レジスタファイル(200)を構成する状態レジスタ(SR)には、中央処理装置の動作モードについて一般動作モードとすべきか、デバッギングモードとすべきかを示すフラグ(OSIM)が備えられ、
    前記特殊レジスタファイル(200)には、デバッギングプログラムのデータを保存するスタックメモリを指定するスタックポインタ(ISP)としてデバッギングモードでのみ用いられるデバッギングスタックポインタレジスタが備えられ、このデバッギングスタックポインタレジスタには、前記プログラムカウンタ(PC)の値と、前記状態レジスタ(SR)の値と、デバッギングプログラムの開始アドレスとを保存する前記スタックメモリのアドレスが保存され、
    前記応用プログラムを実行した際、前記状態レジスタ(SR)のフラグ(OSIM)には、前記比較手段(700)により、前記ブレーキレジスタ(BR)に保存された値と前記中止データとが一致すると判断されたとき、デバッギングモードを示す値が与えられ、このとき、前記特殊レジスタファイル(200)を構成する前記プログラムカウンタ(PC)に、前記デバッギングプログラムを遂行するための開始アドレスが積載されて、該デバッギングプログラムが、前記データ通信手段(600)を通じてホストコンピュータからの命令に従って遂行されることを特徴とするプログラムのテスト及びデバッギングが容易な中央処理装置。
  2. 前記プログラムのテスト及びデバッギングが容易な中央処理装置は、
    リセットデータが保存されたリセットデータ保存手段;及び前記データ通信手段を通じて入力されたデータと前記リセットデータ保存手段に保存されたリセットデータとを比較して、前記データ通信手段を通じて入力されたデータとリセットデータとが同一であれば、制御ユニットが中央処理装置を初期化するように指示するリセットデータ比較手段をさらに備えたことを特徴とする請求項1に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
  3. 前記中止データは前記プログラムカウンタに保存されたプログラムアドレスであることを特徴とする請求項1に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
  4. マスクレジスタをさらに備えて、前記中止データは前記プログラムカウンタと前記マスクレジスタに保存された値を演算した結果であることを特徴とする請求項1に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
  5. 前記中止データはデータが保存されたメモリアドレスであることを特徴とする請求項1に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
  6. マスクレジスタをさらに備えて、前記中止データはデータが保存されたメモリアドレスと前記マスクレジスタに保存された値とを演算した結果であることを特徴とする請求項1に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
  7. 前記中止データは前記中央処理装置で入出力されるデータであることを特徴とする請求項1に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
  8. マスクレジスタをさらに備えて、前記中止データは前記中央処理装置で入出力されるデータと前記マスクレジスタに保存された値とを演算した結果であることを特徴とする請求項1に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
  9. 前記中止データは前記中央処理装置で入出力されるアドレスであることを特徴とする請求項1に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
  10. マスクレジスタをさらに備えて、前記中止データは前記中央処理装置で入出力されるアドレスと前記マスクレジスタに保存された値とを演算した結果であることを特徴とする請求項1に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
  11. 前記制御ユニットは、デバッギングメモリ選択信号を受信して前記ブレーキレジスタに保存された値と前記中止データとが同一である時、前記デバッギングメモリ選択信号に従って前記プログラムカウンタにデバッギングプログラムを遂行するための互いに異なるアドレスを積載することを特徴とする請求項1に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
  12. 前記デバッギングプログラムで使用するデータ値を保存するデータ保存メモリをさらに備えて、一般プログラムで使用するデータ値を保存するデータ保存メモリと分離したことを特徴とする請求項1に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
  13. 前記デバッギングプログラムを保存するメモリをさらに備えて、一般プログラムが保存されたメモリと分離したことを特徴とする請求項1に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
  14. 前記データ通信手段を通じて前記ホストコンピュータからテスト及びデバッギングする応用プログラムをダウンロードされることを特徴とする請求項1に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
  15. デバッギングモードに切換えられた時、前記プログラムカウンタに保存された値と前記状態レジスタに保存されたデータとを前記デバッギングスタックポインタレジスタが指定するメモリに保存することを特徴とする請求項1に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
  16. 一時保存レジスタをさらに備えて、デバッギングモードに切換えられた時に、前記プログラムカウンタに保存された値と前記状態レジスタに保存されたデータとを前記一時保存レジスタに保存することを特徴とする請求項1に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
  17. 前記プログラムのテスト及びデバッギングが容易な中央処理装置は、
    基準データが保存された基準データ保存手段;及び前記データ通信手段を通じて入力されたデータと前記基準データとを比較する基準データ比較手段をさらに備えて、前記データ通信手段を通じて入力されたデータと基準データとが同一であれば前記制御ユニットは中央処理装置をデバッギングモードに切換えさせて前記プログラムカウンタにデバッギングプログラムを遂行するための開始アドレスを積載してデバッギングプログラムを遂行し、前記データ通信手段を通じて前記ホストコンピュータからの命令に従ってデバッギングを遂行することを特徴とする請求項1に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
  18. データ及びアドレス演算に必要なデータを一時的に保存する汎用レジスタファイル(100)と、
    プログラムが保存されたメモリのアドレスを記憶するプログラムカウンタ(PC)と中央処理装置の状態を示す状態レジスタ(SR)及びブレーキレジスタ(BR)から構成された特殊レジスタファイル(200)と、
    前記汎用レジスタファイル(100)及び特殊レジスタファイル(100)を連結する内部バス(IB)と、
    前記内部バス(IB)に連結されて中央処理装置の内外部に必要な各種の制御信号を出力する制御ユニット(300)と、
    ホストコンピュータとのデータ通信を行い、テスト及びデバッギングの対象となる応用プログラムをダウンロードするためのデータ通信手段(600)と、
    前記ブレーキレジスタ(BR)に保存された値と中止データとを比較する比較手段(700)と、
    前記内部バスに連結されて中央処理装置の内外部に必要な各種の制御信号を出力する制御ユニット(300)とを備える中央処理装置であって、
    前記特殊レジスタファイル(200)を構成する状態レジスタ(SR)には、中央処理装置の動作モードについて一般動作モードとすべきか、デバッギング初期化モードまたはデバッギングサービスモードとすべきかを示すフラグ(OSIM)が備えられ、
    前記特殊レジスタファイル(200)には、デバッギング初期化プログラム及びデバッギングサービスプログラムのデータを保存するスタックメモリを指定するスタックポインタ(ISP)としてデバッギングモードでのみ用いられるデバッギングスタックポインタレジスタが備えられ、このデバッギングスタックポインタレジスタには、このデバッギングスタックポインタレジスタには、前記プログラムカウンタ(PC)の値と、前記状態レジスタ(SR)の値、デバッギング初期化プログラム及びデバッギングサービスプログラムの開始アドレスとを保存する前記スタックメモリのアドレスが保存され、
    前記制御ユニット(300)は、リセット信号が入力された際に、前記中央処理装置を初期化するとともに、デバッギングモード進入信号を検査してデバッギングモード進入信号が活性化されていると判断されたならば、前記プログラムカウンタ(PC)にデバッギング初期化プログラムを遂行するための開始アドレスを積載するとともに、前記状態レジスタ(SR)のフラグ(OSIM)についてデバッギング初期化モードを示す値に設定するものであり、
    前記応用プログラムを実行した際、前記状態レジスタ(SR)のフラグ(OSIM)には、前記比較手段(700)により、前記ブレーキレジスタ(BR)に保存された値と前記中止データとが一致すると判断されたとき、デバッギングサービスモードを示す値が与えられ、このとき、前記特殊レジスタファイル(200)を構成する前記プログラムカウンタ(PC)に、前記デバッギングサービスプログラムを遂行するための開始アドレスが積載されて、該デバッギングサービスプログラムが、前記データ通信手段(600)を通じてホストコンピュータからの命令に従って遂行されることを特徴とするプログラムのテスト及びデバッギングが容易な中央処理装置。
  19. 前記プログラムのテスト及びデバッギングが容易な中央処理装置は、
    リセットデータが保存されたリセットデータ保存手段;及び前記データ通信手段を通じて入力されたデータと前記リセットデータ保存手段に保存されたリセットデータとを比較して、前記データ通信手段を通じて入力されたデータとリセットデータとが同一であれば前記中央処理装置を初期化するリセットデータ比較手段を備えたことを特徴とする請求項18に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
  20. 前記中止データは前記プログラムカウンタに保存されたプログラムアドレスであることを特徴とする請求項18に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
  21. マスクレジスタをさらに備えて、前記中止データは前記プログラムカウンタと前記マスクレジスタに保存された値を演算した結果であることを特徴とする請求項18に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
  22. 前記中止データはデータが保存されたメモリアドレスであることを特徴とする請求項18に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
  23. マスクレジスタをさらに備えて、前記中止データはデータが保存されたメモリアドレスと前記マスクレジスタに保存された値とを演算した結果であることを特徴とする請求項18に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
  24. 前記中止データは前記中央処理装置で入出力されるデータであることを特徴とする請求項18に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
  25. マスクレジスタをさらに備えて、前記中止データは前記中央処理装置で入出力されるデータと前記マスクレジスタに保存された値とを演算した結果であることを特徴とする請求項18に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
  26. 前記中止データは前記中央処理装置で入出力されるアドレスであることを特徴とする請求項18に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
  27. マスクレジスタをさらに備えて、前記中止データは前記中央処理装置で入出力されるアドレスと前記マスクレジスタに保存された値とを演算した結果であることを特徴とする請求項18に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
  28. 前記制御ユニットは、デバッギングメモリ選択信号を受信して前記ブレーキレジスタに保存された値と前記中止データとが同一である時、前記デバッギングメモリ選択信号によって前記プログラムカウンタにデバッギングサービスプログラムを遂行するための互いに異なるアドレスを積載することを特徴とする請求項18に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
  29. 前記デバッギングプログラムで使用するデータ値を保存するデータ保存メモリをさらに備えて、一般プログラムで使用するデータ値を保存するデータ保存メモリと分離したことを特徴とする請求項18に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
  30. 前記デバッギングプログラムを保存するメモリをさらに備えて、一般プログラムが保存されたメモリと分離したことを特徴とする請求項18に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
  31. 前記データ通信手段を通じて前記ホストコンピュータからテスト及びデバッギングを行うためのデバッギングプログラムをダウンロードされることを特徴とする請求項18に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
  32. 一時保存レジスタをさらに備えて、デバッギングモードに切換えられた時に、前記プログラムカウンタに保存された値と前記状態レジスタに保存されたデータとを前記一時保存レジスタに保存することを特徴とする請求項18に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
  33. 前記プログラムのテスト及びデバッギングが容易な中央処理装置は、
    基準データが保存された基準データ保存手段;及び前記データ通信手段を通じて入力されたデータと前記基準データとを比較する基準データ比較手段をさらに備えて、前記データ通信手段を通じて入力されたデータと基準データとが同一であれば前記制御ユニットは中央処理装置をデバッギングサービスモードに切換えさせ、前記プログラムカウンタにデバッギングサービスプログラムを遂行するための開始アドレスを積載してデバッギングサービスプログラムを遂行し、前記データ通信手段を通じて前記ホストコンピュータからの命令に従ってデバッギングを遂行することを特徴とする請求項18に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
JP2006026313A 2000-07-05 2006-02-02 プログラムのテスト及びデバッギングが容易な中央処理装置 Pending JP2006127553A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000038161A KR100337149B1 (ko) 2000-07-05 2000-07-05 프로그램 테스트 및 디버깅이 용이한 중앙처리장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2001036649A Division JP2002041326A (ja) 2000-07-05 2001-02-14 プログラムのテスト及びデバッギングが容易な中央処理装置

Publications (1)

Publication Number Publication Date
JP2006127553A true JP2006127553A (ja) 2006-05-18

Family

ID=36722159

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2001036649A Pending JP2002041326A (ja) 2000-07-05 2001-02-14 プログラムのテスト及びデバッギングが容易な中央処理装置
JP2006026313A Pending JP2006127553A (ja) 2000-07-05 2006-02-02 プログラムのテスト及びデバッギングが容易な中央処理装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2001036649A Pending JP2002041326A (ja) 2000-07-05 2001-02-14 プログラムのテスト及びデバッギングが容易な中央処理装置

Country Status (7)

Country Link
US (1) US6820192B2 (ja)
EP (1) EP1170668A3 (ja)
JP (2) JP2002041326A (ja)
KR (1) KR100337149B1 (ja)
CN (1) CN1185578C (ja)
HK (1) HK1045377A1 (ja)
TW (1) TW501007B (ja)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0124563D0 (en) * 2001-10-12 2001-12-05 Siroyan Ltd Debug exception registers
US6976189B1 (en) * 2002-03-22 2005-12-13 Network Appliance, Inc. Persistent context-based behavior injection or testing of a computing system
JP3764405B2 (ja) 2002-05-27 2006-04-05 株式会社東芝 デバッグ装置及びデバッグ方法
US20050028036A1 (en) * 2003-07-30 2005-02-03 Kohsaku Shibata Program debug apparatus, program debug method and program
JP2005070949A (ja) * 2003-08-21 2005-03-17 Sanyo Electric Co Ltd プログラム処理装置
US7363544B2 (en) * 2003-10-30 2008-04-22 International Business Machines Corporation Program debug method and apparatus
US8070994B2 (en) 2004-06-18 2011-12-06 Zephyros, Inc. Panel structure
US7698544B2 (en) * 2005-05-13 2010-04-13 Texas Instruments Incorporated Automatic halting of a processor in debug mode due to reset
US8024706B1 (en) 2005-09-27 2011-09-20 Teradata Us, Inc. Techniques for embedding testing or debugging features within a service
US20100025147A1 (en) * 2005-10-31 2010-02-04 L&L Products, Inc. Damping material, method of forming the damping material and method of using the damping material
EP1884846A1 (de) * 2006-08-01 2008-02-06 Siemens Aktiengesellschaft System und Verfahren zur Anzeige eines Variablenstatus
US7945901B2 (en) * 2006-08-16 2011-05-17 Seiko Epson Corporation System and method for facilitating software profiling procedures
JP4976817B2 (ja) * 2006-11-06 2012-07-18 オンセミコンダクター・トレーディング・リミテッド プログラム処理装置及びプログラム処理方法
US8359585B1 (en) * 2007-01-18 2013-01-22 Advanced Testing Technologies, Inc. Instrumentation ATS/TPS mitigation utilizing I/O data stream
JP5115628B2 (ja) * 2008-11-13 2013-01-09 富士通セミコンダクター株式会社 マイクロコンピュータ
US8914621B2 (en) * 2009-04-02 2014-12-16 Infineon Technologies Ag Processing unit that detects manipulations thereof, device comprising two processing units, method for testing a processing unit and a device comprising two processing units
US10698859B2 (en) 2009-09-18 2020-06-30 The Board Of Regents Of The University Of Texas System Data multicasting with router replication and target instruction identification in a distributed multi-core processing architecture
DE102010002309B4 (de) * 2010-02-24 2013-04-18 Endress + Hauser Gmbh + Co. Kg Verfahren zur Überprüfung der Funktionsfähigkeit eines Speicherelements
CN102193860B (zh) * 2010-03-10 2015-04-22 上海海尔集成电路有限公司 微控制器在线调试电路及方法、微控制器
US8572573B2 (en) * 2012-03-09 2013-10-29 Nvidia Corporation Methods and apparatus for interactive debugging on a non-preemptible graphics processing unit
KR101910934B1 (ko) * 2012-03-26 2018-12-28 삼성전자 주식회사 루프의 프롤로그 또는 에필로그의 비유효 연산을 처리하는 장치 및 방법
US8954794B2 (en) * 2012-06-05 2015-02-10 Infineon Technologies Ag Method and system for detection of latent faults in microcontrollers
US8875413B2 (en) * 2012-08-13 2014-11-04 Millrock Technology, Inc. Controlled nucleation during freezing step of freeze drying cycle using pressure differential ice crystals distribution from condensed frost
US9489287B2 (en) * 2013-08-23 2016-11-08 Atmel Corporation Breaking code execution based on time consumption
JP6183251B2 (ja) * 2014-03-14 2017-08-23 株式会社デンソー 電子制御装置
US9921763B1 (en) 2015-06-25 2018-03-20 Crossbar, Inc. Multi-bank non-volatile memory apparatus with high-speed bus
US10141034B1 (en) 2015-06-25 2018-11-27 Crossbar, Inc. Memory apparatus with non-volatile two-terminal memory and expanded, high-speed bus
US10222989B1 (en) * 2015-06-25 2019-03-05 Crossbar, Inc. Multiple-bank memory device with status feedback for subsets of memory banks
US10452399B2 (en) 2015-09-19 2019-10-22 Microsoft Technology Licensing, Llc Broadcast channel architectures for block-based processors
US20170083318A1 (en) * 2015-09-19 2017-03-23 Microsoft Technology Licensing, Llc Configuring modes of processor operation
US10776115B2 (en) 2015-09-19 2020-09-15 Microsoft Technology Licensing, Llc Debug support for block-based processor
US11016770B2 (en) 2015-09-19 2021-05-25 Microsoft Technology Licensing, Llc Distinct system registers for logical processors
US11977891B2 (en) 2015-09-19 2024-05-07 Microsoft Technology Licensing, Llc Implicit program order
US11681531B2 (en) 2015-09-19 2023-06-20 Microsoft Technology Licensing, Llc Generation and use of memory access instruction order encodings
US10719321B2 (en) 2015-09-19 2020-07-21 Microsoft Technology Licensing, Llc Prefetching instruction blocks
US10180840B2 (en) 2015-09-19 2019-01-15 Microsoft Technology Licensing, Llc Dynamic generation of null instructions
US11126433B2 (en) 2015-09-19 2021-09-21 Microsoft Technology Licensing, Llc Block-based processor core composition register
US10198263B2 (en) 2015-09-19 2019-02-05 Microsoft Technology Licensing, Llc Write nullification
US10678544B2 (en) 2015-09-19 2020-06-09 Microsoft Technology Licensing, Llc Initiating instruction block execution using a register access instruction
US10871967B2 (en) 2015-09-19 2020-12-22 Microsoft Technology Licensing, Llc Register read/write ordering
US10768936B2 (en) 2015-09-19 2020-09-08 Microsoft Technology Licensing, Llc Block-based processor including topology and control registers to indicate resource sharing and size of logical processor
CN106709860B (zh) * 2016-12-12 2020-04-07 中国航空工业集团公司西安航空计算技术研究所 一种gpu统一染色处理阵列的调试结构
CN112463675A (zh) * 2020-11-25 2021-03-09 上海磐启微电子有限公司 一种程序离线下载方法
CN113672554B (zh) * 2021-07-06 2023-12-29 平头哥(杭州)半导体有限公司 处理器核、处理器、片上系统和调试系统
CN117149478A (zh) * 2023-06-14 2023-12-01 杭州迪为科技有限公司 汽车电子控制器的复位管理方法、装置和汽车电子控制器
CN116719746B (zh) * 2023-07-26 2023-12-19 北京象帝先计算技术有限公司 调试方法、设备、待调试产品和计算机存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0259937A (ja) * 1988-08-26 1990-02-28 Hitachi Maxell Ltd Icカード
JP2727976B2 (ja) * 1994-09-12 1998-03-18 日本電気株式会社 インサーキットエミュレータ
US5964893A (en) * 1995-08-30 1999-10-12 Motorola, Inc. Data processing system for performing a trace function and method therefor
EP0840222B1 (en) * 1996-10-31 2002-09-11 STMicroelectronics Limited Microcomputer with debugging system
GB9626401D0 (en) * 1996-12-19 1997-02-05 Sgs Thomson Microelectronics Diagnostic procedures in an integrated circuit device
US6223275B1 (en) * 1997-06-20 2001-04-24 Sony Corporation Microprocessor with reduced instruction set limiting the address space to upper 2 Mbytes and executing a long type register branch instruction in three intermediate instructions
JPH1165881A (ja) * 1997-08-12 1999-03-09 Fujitsu Ltd Cpuの拡張割込み制御方式及びそのcpuで使用するデバッガ
JPH11167501A (ja) * 1997-12-04 1999-06-22 Oki Tsushin System Kk プログラムデバッグシステムとそのデバッグ方法
US6567910B2 (en) * 1998-02-13 2003-05-20 Texas Instruments Incorporated Digital signal processing unit with emulation circuitry and debug interrupt enable register indicating serviceable time-critical interrupts during real-time emulation mode
GB9805486D0 (en) * 1998-03-13 1998-05-13 Sgs Thomson Microelectronics Adapter
JP3209191B2 (ja) * 1998-10-16 2001-09-17 日本電気株式会社 エミュレーティング装置および方法
KR20000038161A (ko) 1998-12-04 2000-07-05 전주범 카 오디오 시스템의 문자 정보 표시방법

Also Published As

Publication number Publication date
KR20020004346A (ko) 2002-01-16
CN1332409A (zh) 2002-01-23
US6820192B2 (en) 2004-11-16
CN1185578C (zh) 2005-01-19
KR100337149B1 (ko) 2002-05-18
HK1045377A1 (zh) 2002-11-22
TW501007B (en) 2002-09-01
US20020007451A1 (en) 2002-01-17
EP1170668A3 (en) 2004-12-15
EP1170668A2 (en) 2002-01-09
JP2002041326A (ja) 2002-02-08

Similar Documents

Publication Publication Date Title
JP2006127553A (ja) プログラムのテスト及びデバッギングが容易な中央処理装置
US6668339B1 (en) Microprocessor having a debug interruption function
US5574892A (en) Use of between-instruction breaks to implement complex in-circuit emulation features
US6094730A (en) Hardware-assisted firmware tracing method and apparatus
JP3277900B2 (ja) プログラム検査方法、プログラム検査装置及び、検査プログラムを記憶したコンピュータ読み取り可能な記憶媒体
JP3151808B2 (ja) 集積回路装置、回路検査装置および方法
US4868822A (en) Memory emulation method and system for testing and troubleshooting microprocessor-based electronic systems
US20100153786A1 (en) Processor, multiprocessor, and debugging method
US7313729B2 (en) Low-cost debugging system with a ROM or RAM emulator
EP0354654B1 (en) Method and apparatus for marking emulation analysis states
US8990624B2 (en) Emulator verification system, emulator verification method
KR100505700B1 (ko) 엠시유를 이용하여 다양한 목표 시스템을 검증하는 재탑재에뮬레이션 장치, 이를 구비한 마이크로 컴퓨터 개발시스템, 및 그 방법
KR20210080398A (ko) 메모리 내장 자체 테스트 컨트롤러를 이용한 판독 전용 메모리 테스트
JP2004094451A (ja) オンチップjtagインタフェース回路およびシステムlsi
JPH1083318A (ja) 電子回路解析装置
KR100557918B1 (ko) 조인트 테스트 액세스 그룹을 이용한 오류수정장치
KR100297224B1 (ko) Prom이구비된마이크로컴퓨터및그것의데이타판독검사방법
KR20020079162A (ko) 하드웨어에 기반한 소프트웨어 디버깅 장치
EP0504515A2 (en) Memory emulation test system in which undesirable microprocessor reset is precluded
JPH11175366A (ja) 電子回路解析装置、電子回路解析方法、電子回路解析プログラムを記録した媒体および電子回路解析システム
JPH1153214A (ja) パーソナルコンピュータのブート不良検出システム
JPH05342377A (ja) マイクロコンピュータ
JP3087282B2 (ja) ソフトウェア開発支援装置
JPH05173830A (ja) 異常動作検出方法、及びエミュレータ
JPH05204701A (ja) システムデバッグ方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090106

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090406

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090409

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090908