JP3349911B2 - Microprocessor and development support device thereof - Google Patents
Microprocessor and development support device thereofInfo
- Publication number
- JP3349911B2 JP3349911B2 JP04578797A JP4578797A JP3349911B2 JP 3349911 B2 JP3349911 B2 JP 3349911B2 JP 04578797 A JP04578797 A JP 04578797A JP 4578797 A JP4578797 A JP 4578797A JP 3349911 B2 JP3349911 B2 JP 3349911B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- tag information
- microprocessor
- bus
- trace
- 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.)
- Expired - Fee Related
Links
Landscapes
- Advance Control (AREA)
- Debugging And Monitoring (AREA)
Description
【0001】[0001]
【発明の属する技術分野】本発明はマイクロプロセッサ
及びその開発支援装置に関し、特にパイプライン構成及
び命令用キャッシュを有するマイクロプロセッサ及びそ
の開発支援装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a microprocessor and a development support device thereof, and more particularly, to a microprocessor having a pipeline configuration and an instruction cache and a development support device thereof.
【0002】[0002]
【従来の技術】マイクロプロセッサは、周知のように、
命令を解読して演算・制御動作を実行する演算装置であ
り、シリコンチップ上に実現される。近年のLSI技術
の発展及び市場のニーズの広範化・高度化に伴い高性能
化の一途を辿り、今日では語長が64ビットの機種が商
品化されている。また、レジスタや演算回路及び制御回
路等の必須の構成要素の他にキャッシュメモリを内蔵し
たものも少なくない。キャッシュメモリは、公知のよう
にコンピュータの内部メモリに対する高速度と大容量と
いう二律背反的な要求を満足するため、中央処理装置
(CPU)内部に設けた高速小容量のメモリである。2. Description of the Related Art As is well known, a microprocessor is
An arithmetic unit that decodes instructions and executes arithmetic and control operations, and is implemented on a silicon chip. With the recent development of LSI technology and widespread and sophisticated market needs, the performance has been steadily improved, and today, models having a word length of 64 bits have been commercialized. In addition, there are not a few that incorporate a cache memory in addition to essential components such as a register, an arithmetic circuit, and a control circuit. The cache memory is a high-speed and small-capacity memory provided inside a central processing unit (CPU) in order to satisfy the trade-off between high speed and large capacity for the internal memory of the computer as is well known.
【0003】また、演算の高速化のため、公知のパイプ
ライン構成を採用したマイクロプロセッサも広く使われ
るようになってきている。In order to increase the speed of operation, a microprocessor employing a well-known pipeline configuration has been widely used.
【0004】パイプライン構成は、CPUにおける命令
の取り出し段階と実行段階とを並列的に遂行させる先読
み方式を拡張したもので、各命令の処理過程を複数のス
テージに分割し、次々に命令を取り上げることにより各
ステージで待ち行列を作り、1つの算術論理演算機構が
これらのステージの処理を並列的に遂行させていく方式
である。[0004] The pipeline configuration is an extension of a look-ahead method in which an instruction fetching stage and an execution stage in a CPU are performed in parallel. The processing of each instruction is divided into a plurality of stages, and instructions are picked up one after another. In this way, a queue is created at each stage, and one arithmetic and logic unit performs the processing of these stages in parallel.
【0005】上述のようなマイクロプロセッサの複雑化
に対応して、そのデバッグが問題化してきた。この種の
デバッグ手法としては、トレース,トラップ,シングル
ステップ等があるが、総体的なデバッグにはトレースが
適している。トレースは周知のように、デバッグ対象プ
ログラムを実行するCPUあるいはマイクロプロセッサ
外部にトレースアナライザとトレースメモリを設けて行
う。トレースアナライザは、マイクロプロセッサが実行
する命令のアドレスを逐一トレースメモリに記憶してい
き、後にその記憶内容を解析することによりデバッグを
可能化する。[0005] In response to the complexity of the microprocessor as described above, debugging has become a problem. There are trace, trap, single step, and the like as this kind of debug technique, but trace is suitable for general debug. As is well known, a trace is provided by providing a trace analyzer and a trace memory outside a CPU or a microprocessor that executes a program to be debugged. The trace analyzer stores addresses of instructions executed by the microprocessor in the trace memory one by one, and analyzes the stored contents later to enable debugging.
【0006】従来、パイプライン構成でかつ命令キャッ
シュメモリを内蔵したマイクロプロセッサは、キャッシ
ュ機能使用時のリアルタイムトレースは、メモリアクセ
スがマイクロプロセッサの内部に留まり、トレースアナ
ライザはトレースに必要なデータを直接検知できない。
したがって、従来は、キャッシュメモリを無効化してト
レースを行うことが一般的であった。Conventionally, in a microprocessor having an instruction cache memory with a pipeline configuration, a memory access stays inside the microprocessor in a real-time trace when the cache function is used, and a trace analyzer directly detects data necessary for the trace. Can not.
Therefore, conventionally, it has been general to invalidate the cache memory and perform tracing.
【0007】しかし、キャッシュメモリの無効化時には
有効時とマイクロプロセッサの動作が大幅に異なるため
正確なデバッグができない。この解決のため、キャッシ
ュメモリを有効状態に保持したままトレースを可能とす
るため、従来のキャッシュメモリ内蔵型マイクロプロセ
ッサは、命令の実行開始,分岐命令の発生及び分岐先ア
ドレスの静的指定可否の各々を外部に表示するための端
子を備えている。そして、従来のトレースアナライザ
は、予めプログラムを静的に解析した実行フローを保持
しており、上記各端子からの供給信号を手がかりに実行
フローに基づき動的な命令処理順序を組み立てる構成と
なっている。However, when the cache memory is invalidated, the operation of the microprocessor is significantly different from that when the cache memory is invalidated, so that accurate debugging cannot be performed. In order to solve this problem, in order to enable tracing while keeping the cache memory in a valid state, a conventional microprocessor with a built-in cache memory has been required to start instruction execution, generate a branch instruction, and determine whether a branch destination address can be statically designated. Terminals for displaying each of them externally are provided. The conventional trace analyzer holds an execution flow obtained by statically analyzing a program in advance, and assembles a dynamic instruction processing order based on the execution flow based on a supply signal from each terminal. I have.
【0008】しかし、キャッシュ機能使用時のリアルタ
イムトレースは、上述のように、メモリアクセスがマイ
クロプロセッサの内部に留まり、トレースアナライザは
トレースに必要なデータを直接検知できず、例えば、分
岐命令実行時の分岐先アドレスが命令実行直前でないと
判断できないという理由により非常に困難であった。However, in the real-time trace when the cache function is used, as described above, the memory access stays inside the microprocessor, and the trace analyzer cannot directly detect the data required for the trace. This is very difficult because it cannot be determined that the branch destination address is not immediately before execution of the instruction.
【0009】一般に、この種のマイクロプロセッサは、
キャッシュのヒットの検出用、あるいは命令実行に同期
した外部ブレークの割り込み要求発生用等に用いるため
の付加的な情報すなわちタグ情報を有している。しかし
ながら、このタグ情報をキャッシュメモリ内の命令実行
をトレースするためには使用していなかった。Generally, this kind of microprocessor is
It has additional information, that is, tag information, for use in detecting a cache hit or in generating an interrupt request for an external break in synchronization with instruction execution. However, this tag information has not been used to trace the execution of instructions in the cache memory.
【0010】特開平6−161818号公報記載の従来
の第1のマイクロプロセッサをブロックで示す図9を参
照すると、この従来の第1のマイクロプロセッサは、タ
グアクセス比較部41と、命令格納部42とを備えるキ
ャッシュメモリ104と、比較回路105と、命令アド
レス発生回路106とを備える。Referring to FIG. 9 which shows a block diagram of a conventional first microprocessor disclosed in Japanese Patent Application Laid-Open No. 6-161818, the conventional first microprocessor comprises a tag access comparing section 41 and an instruction storing section 42. , A comparison circuit 105, and an instruction address generation circuit 106.
【0011】この従来の第1のマイクロプロセッサは、
キャッシュメモリ104の保持するタグ情報を、命令読
出し毎に命令アドレス発生回路106が生成する命令ア
ドレスと、キャッシュメモリ104に予め格納されたア
ドレスとの比較回路105での比較用に使用する。いわ
ゆるキャッシュのヒットの検出用である。[0011] The first conventional microprocessor includes:
The tag information held by the cache memory 104 is used for comparison by the comparison circuit 105 between the instruction address generated by the instruction address generation circuit 106 every time the instruction is read and the address stored in the cache memory 104 in advance. This is for detecting a so-called cache hit.
【0012】しかし、パイプライン実行、すなわち、先
行フェッチサイクルを行うときに、条件分岐命令等の実
行後の分岐の有無により、分岐実行の有無を判断するた
めには使用していない。However, it is not used for judging the presence or absence of branch execution based on the presence / absence of a branch after execution of a conditional branch instruction or the like at the time of pipeline execution, that is, a preceding fetch cycle.
【0013】特開平5−334082号公報記載の従来
の第2のマイクロプロセッサをブロックで示す図10を
参照すると、この従来の第2のマイクロプロセッサは、
キャッシュメモリ104と、命令コード用タグ埋め込み
回路108と、命令コード用タグ検出回路110とを備
える。Referring to FIG. 10 which shows a block diagram of a conventional second microprocessor disclosed in Japanese Patent Application Laid-Open No. Hei 5-334082, this second conventional microprocessor is
It includes a cache memory 104, an instruction code tag embedding circuit 108, and an instruction code tag detection circuit 110.
【0014】この従来の第2のマイクロプロセッサは、
タグ情報を、命令実行に同期して外部ブレークの割り込
み要求を発生させるために用いる。This second conventional microprocessor is:
The tag information is used to generate an external break interrupt request in synchronization with instruction execution.
【0015】キャッシュメモリ内蔵のマイクロプロセッ
サでは、一度命令を読み込むとこの命令がヒットし続け
ている限り、外部バスからの命令読み込みサイクルすな
わちフェッチサイクルは発生しない。このため外部から
のブレーク割り込み要求は最初のフェッチサイクル時に
だけ入力可能であるので、命令用のキャッシュメモリに
加え、ブレーク割り込み要求のタグ情報をキャッシュメ
モリに付加し格納していた。In a microprocessor with a built-in cache memory, once an instruction is read, an instruction read cycle from an external bus, ie, a fetch cycle, does not occur as long as the instruction keeps hitting. For this reason, since a break interrupt request from the outside can be input only during the first fetch cycle, tag information of the break interrupt request is added to the cache memory for instructions and stored in the cache memory.
【0016】また、上述したパイプライン実行時の条件
分岐の有無の問題に対応策としても上記タグ情報が役立
っていたが、あくまでもブレーク割り込み要求を命令実
行まで保持し、命令実行に同期してブレーク割り込みを
発生させるために使用している。Although the above tag information has been useful as a countermeasure against the above-mentioned problem of the presence or absence of a conditional branch at the time of execution of a pipeline, a break interrupt request is held until the execution of an instruction, and the break is synchronized with the execution of the instruction. Used to generate an interrupt.
【0017】つまり、キャッシュメモリ内の命令実行を
トレースするために使用することはできない。That is, it cannot be used to trace the execution of instructions in the cache memory.
【0018】これら、従来の第1,第2のマイクロプロ
セッサでは、特に、条件付き分岐及びレジスタ間接分岐
命令の実行時の分岐先予測が困難であり、これらの推測
可能な構成にすると、マイクロプロセッサの実行時にお
けるリアルタイム性が失なわれたり、レジスタ書き込み
データの観測用手段が必要となり、また、高速な読み出
し方式が必要となる。In these conventional first and second microprocessors, it is particularly difficult to predict a branch destination during execution of a conditional branch instruction and a register indirect branch instruction. , The real-time property is lost at the time of execution, a means for observing register write data is required, and a high-speed read method is required.
【0019】その理由は、レジスタ間接分岐命令をトレ
ースするには、プロセッサ外部からプロセッサ内部のレ
ジスタへの書き込み情報を観測する必要があるからであ
る。命令実行と並行にレジスタの書き込み情報を推測す
る場合、内部動作がパイプラインで動作している最近の
マイクロプロセッサでは、命令実行を1クロックで行う
ため、1クロックでレジスタの値を観測する手段を必要
とする。仮にプロセッサにレジスタ観測用の専用の端子
を設けるとすると、レジスタのビット数+数本の制御信
号用端子が必要となる。端子を多くしてパッケージを大
きくすることは、コスト面で不利である。The reason is that in order to trace a register indirect branch instruction, it is necessary to observe information written to a register inside the processor from outside the processor. When estimating the write information of a register in parallel with the execution of an instruction, a recent microprocessor in which the internal operation operates in a pipeline executes the instruction in one clock, so a means for observing the register value in one clock is required. I need. Assuming that a dedicated terminal for register observation is provided in the processor, the number of register bits + several control signal terminals is required. Enlarging the package by increasing the number of terminals is disadvantageous in terms of cost.
【0020】次に、特開平5−224989号公報記載
の従来の第3のマイクロプロセッサ及びそのトレースア
ナライザをブロックで示す図11を参照すると、この従
来の第3のマイクロプロセッサ201は、内蔵キャッシ
ュメモリが有効状態か否かを外部に表示するモード表示
端子207を備え、トレースアナライザ203はこの端
子207上のモード表示信号MDの供給に応答してマイ
クロプロセッサのトレース方法を変更する。Next, referring to FIG. 11 which shows a block diagram of a third conventional microprocessor and its trace analyzer described in Japanese Patent Application Laid-Open No. H5-222489, this third conventional microprocessor 201 has a built-in cache memory. The trace analyzer 203 changes the tracing method of the microprocessor in response to the supply of the mode display signal MD on the terminal 207.
【0021】この従来の第3のマイクロプロセッサの注
目点は、レジスタ間接分岐命令の実行時に分岐先の予測
が、予めプログラムを解析した内容からでは判別がつか
ないため分岐時にブレーク割り込みを発生させる点であ
る。このブレーク割り込み処理中に、専用の出力サイク
ルを発生させて、レジスタの内容、すなわち分岐先を示
すプログラムカウンタの値を出力するため、本来のプロ
セッサの動作と異なりリアルタイム性を失うことにな
る。An important point of the third conventional microprocessor is that a prediction of a branch destination at the time of execution of a register indirect branch instruction is indistinguishable from contents analyzed in advance of a program, and a break interrupt is generated at the time of branch. It is. During this break interrupt processing, a dedicated output cycle is generated to output the contents of the register, that is, the value of the program counter indicating the branch destination, so that the real-time property is lost unlike the operation of the original processor.
【0022】このように、マイクロプロセッサのユーザ
のバス端子を使い、外部バスサイクルの発生を保留させ
てレジスタの内容をプロセッサ外部から読み出し観測す
る場合、通常のフェッサイクル等のバスサイクル以外に
レジスタの状態を外部に出力するサイクルを発生するの
でリアルタイム性が失われる。As described above, when using the bus terminal of the microprocessor user to suspend the occurrence of an external bus cycle and read and observe the contents of the register from outside the processor, the contents of the register are not limited to a bus cycle such as a normal fe cycle. Since a cycle for outputting the state to the outside is generated, the real-time property is lost.
【0023】マイクロプロセッサとバスの各々のバスサ
イクル間に発生するアイドルステート中にレジスタの値
をはきださせる方法もあるが、レジスタの値をユーザバ
ス端子からはきだすサイクルでプロセッサのバスサイク
ルが保留されるためプログラム自体の性能を悪化させて
しまう。There is also a method in which a register value is released during an idle state generated between each bus cycle of the microprocessor and the bus. However, a bus cycle of the processor is suspended in a cycle in which the register value is released from the user bus terminal. Therefore, the performance of the program itself is deteriorated.
【0024】[0024]
【発明が解決しようとする課題】上述した従来の第1及
び第2のマイクロプロセッサ及びその開発支援装置は、
外部バスサイクルの状態を記憶するリアルタイムトレー
ス機能を有するトレース方式において、キャッシュメモ
リを有効状態としこのキャッシュメモリがヒツトすると
外部バスサイクルとしてフェッチサイクルが発生せず、
一方、マイクロプロセッサの外部では命令実行アドレス
を知ることができないので、実際の実行中の命令を判断
できなくなるため、トレースメモリに記憶した情報か
ら、実行された命令を全て推測することができないとい
う欠点があった。The above-mentioned first and second conventional microprocessors and their development support devices are described in the following.
In a trace method having a real-time trace function for storing the state of an external bus cycle, when a cache memory is enabled and this cache memory is hit, no fetch cycle is generated as an external bus cycle.
On the other hand, since the instruction execution address cannot be known outside the microprocessor, the instruction currently being executed cannot be determined. Therefore, it is not possible to infer all executed instructions from the information stored in the trace memory. was there.
【0025】また、特に、条件付き分岐及びレジスタ間
接分岐命令の実行時の分岐先予測が困難であり、これら
の推測可能な構成にすると、マイクロプロセッサの実行
時におけるリアルタイム性が失なわれたり、レジスタ書
き込みデータの観測用手段が必要となり、また、高速な
読み出し方式が必要となるという欠点があった。In particular, it is difficult to predict a branch destination at the time of execution of a conditional branch instruction and a register indirect branch instruction. If these configurations can be guessed, the microprocessor loses real-time performance at the time of execution, There is a drawback that a means for observing register write data is required, and a high-speed reading method is required.
【0026】さらに、従来の第3のマイクロプロセッサ
及びその開発支援装置は、ユーザのバス端子を使い、外
部バスサイクルの発生を保留させてレジスタの内容をプ
ロセッサ外部から読み出し観測するので、通常のフェッ
サイクル等のバスサイクル以外にレジスタ状態の外部出
力専用サイクルが発生するためリアルタイム性が失われ
るという欠点があった。Furthermore, the third conventional microprocessor and its development support device use the bus terminal of the user to suspend the occurrence of an external bus cycle and read and observe the contents of the register from outside the processor. In addition to a bus cycle such as a cycle, a cycle dedicated to external output in a register state occurs, so that there is a disadvantage that real-time performance is lost.
【0027】本発明の目的は、パイプライン構成でキャ
ッシュメモリ内蔵のマイクロプロセッサのデバッグ用の
リアルタイムトレース機能を有するマイクロプロセッサ
及びその開発支援装置を提供することにある。An object of the present invention is to provide a microprocessor having a pipeline configuration and a real-time trace function for debugging a microprocessor with a built-in cache memory and a development support apparatus therefor.
【0028】[0028]
【課題を解決するための手段】本発明のマイクロプロセ
ッサは、命令コードの供給に応答してこの命令コードの
指示を実行する命令実行ユニットと、外部メモリから読
み出した第1の命令を保持し第2の命令を出力する命令
用キャッシュメモリと、前記第1又は第2の命令をデコ
ードして前記命令コードを出力する命令デコードユニッ
トと、関連の外部バス及び内部バスを制御するバス制御
ユニットとを備え、前記外部メモリと前記外部バスのバ
スサイクルの状態を記憶するトレースメモリを含むリア
ルタイムトレース機能を有する開発支援装置によりデバ
ッグを行うマイクロプロセッサにおいて、前記第1の命
令の読み出しサイクルであるフエッチサイクルに応じて
前記開発支援装置が前記第1の命令対応の整理番号であ
る第1のタグ情報を順次生成して前記トレースメモリに
保持すると共に、前記命令用キャッシュメモリが、この
第1のタグ情報と同一の第2のタグ情報を前記第1の命
令に付加して保持し、 前記第1及び第2の命令のうちの
前記命令実行ユニットが実行した方の命令の前記第2の
タグ情報を実行した順序で順次格納保持し、前記デバッ
グ時における読み出し時に前記第2のタグ情報を格納し
た順序で出力するタグ情報保持手段を備え、前記デバッ
グ時に、前記タグ情報保持手段から読み出した前記第2
のタグ情報を基準に前記第1のタグ情報を比較して対応
する前記命令コードと前記バスサイクルの状態を前記開
発支援装置で復元させることにより実際に実行した命令
の実行手順を再現することを特徴とするものである。A microprocessor according to the present invention has an instruction execution unit for executing an instruction of an instruction code in response to the supply of the instruction code, and a first instruction which holds a first instruction read from an external memory. An instruction cache memory for outputting the second instruction, an instruction decode unit for decoding the first or second instruction and outputting the instruction code, and a bus control unit for controlling an associated external bus and internal bus. A bus between the external memory and the external bus.
Rear including trace memory for storing cycle status
Debug with a development support device that has a real-time trace function.
A microprocessor that performs a read cycle of the first instruction in response to a fetch cycle that is a read cycle of the first instruction.
The development support device sequentially generates first tag information which is a serial number corresponding to the first instruction and stores the first tag information in the trace memory.
And the instruction cache memory
The second tag information identical to the first tag information is stored in the first command.
Instruction and hold it, and of the first and second instructions
The second tag information of the instruction executed by the instruction execution unit is sequentially stored and held in the order of execution, and the debug
Storing the previous SL second tag information during reading in grayed time
Tag information holding means for outputting in the same order, and the second information read from the tag information holding means during the debugging.
Corresponding compares the first tag information tag information on the standard of
To open the instruction code and the state of the bus cycle.
Instructions actually executed by restoring by the launch support device
Is reproduced .
【0029】本発明のマイクロプロセッサの開発支援装
置は、上記マイクロプロセッサと、命令を保持している
外部メモリと、前記マイクロプロセッサが実行する命令
のアドレスを逐一記憶するトレースメモリと、全体を制
御するホストコンピュータとを備えるマイクロプロセッ
サの開発支援装置において、前記トレースメモリが、前
記外部メモリから命令の読出し時にこの命令対応の整理
番号である第1のタグ情報とアドレスバスの状態とステ
ータスバスの状態とデータバスの状態とを順次保持する
ことを特徴とするものである。A microprocessor development support apparatus according to the present invention controls the microprocessor, an external memory holding instructions, a trace memory that stores addresses of instructions executed by the microprocessor one by one, and controls the whole. In the microprocessor development support apparatus provided with a host computer, the trace memory is configured such that, when an instruction is read from the external memory, the first tag information, which is a serial number corresponding to the instruction, the state of an address bus, and the state of a status bus. The state of the data bus is sequentially held.
【0030】[0030]
【発明の実施の形態】次に、本発明の第1の実施の形態
をブロックで示す図1を参照すると、この図に示す本実
施の形態のマイクロプロセッサ及びその開発支援装置
は、デバッグ対象のマイクロプロセッサ1と、この開発
支援装置のメインメモリ2と、マイクロプロセッサ1の
実行命令のアドレスを逐一トレースメモリに記憶してい
き後にその記憶内容を解析することによりデバッグを行
うトレーサ8とを備える。FIG. 1 is a block diagram showing a first embodiment of the present invention. Referring to FIG. 1, a microprocessor and a development support apparatus according to the present embodiment shown in FIG. The system includes a microprocessor 1, a main memory 2 of the development support device, and a tracer 8 for storing addresses of execution instructions of the microprocessor 1 one by one in a trace memory and then analyzing the stored contents for debugging.
【0031】トレーサ8は、トレースメモリ4の内容を
解析するトレースアナライザ3と、マイクロプロセッサ
1の実行命令の内容をタグ情報と共に記憶するトレース
メモリ4と、ホストコンピュータであるパソコン5と、
システム全体のクロックを供給する発振器6と、各信号
の入出力インタフエース用のバッファ7A〜7Gとを備
える。The tracer 8 includes a trace analyzer 3 for analyzing the contents of the trace memory 4, a trace memory 4 for storing the contents of the execution instructions of the microprocessor 1 together with tag information, a personal computer 5 as a host computer,
An oscillator 6 for supplying a clock for the entire system, and buffers 7A to 7G for input / output interface of each signal are provided.
【0032】マイクロプロセッサ1の構成をブロックで
示す図2を参照すると、このマイクロプロセッサ1は、
内部アドレス,データバス18,19及び外部のデー
タ,アドレス,ステータスバス9,10,21を制御す
るバス制御ユニット(BCU)11と、命令コードを一
時格納する命令キャッシュ12と、フエッチした命令コ
ードをデコードして命令コードIC及びタグ情報を出力
する命令デコードユニット(IDU)13と、命令キャ
ッシュ12に格納した命令コード対応のタグ情報を格納
するキャッシュトレース制御回路14と、命令コードの
指示を実行する実行ユニット(EXU)15と、命令の
フエッチ毎にインクリメントするカウンタ16と、セレ
クタ17と、内部アドレスバス18と、内部データバス
19とを備える。Referring to FIG. 2 showing a block diagram of the configuration of the microprocessor 1, the microprocessor 1 includes:
A bus control unit (BCU) 11 for controlling internal addresses, data buses 18, 19 and external data, addresses, status buses 9, 10, 21; an instruction cache 12 for temporarily storing instruction codes; An instruction decode unit (IDU) 13 that decodes and outputs an instruction code IC and tag information, a cache trace control circuit 14 that stores tag information corresponding to the instruction code stored in the instruction cache 12, and executes an instruction code instruction. An execution unit (EXU) 15, a counter 16 that increments for each instruction fetch, a selector 17, an internal address bus 18, and an internal data bus 19 are provided.
【0033】キャッシュトレース制御回路14の構成を
ブロックで示す図3を参照すると、このキャッシュトレ
ース制御回路14は、タグ情報TBを入力順に格納しこ
の格納順に出力する先入れ先出しメモリ(FIFO)1
41を備える。Referring to FIG. 3 showing a block diagram of the configuration of the cache trace control circuit 14, the cache trace control circuit 14 stores the tag information TB in the input order and outputs the storage order in a first-in first-out memory (FIFO) 1
41 is provided.
【0034】次に、図1,図2及び本実施の形態の処理
フローをフローチャートで示す図4及びマイクロプロセ
ッサ1とトレーサ8との実行時のトレースデータの処理
内容の例を示す図5とを参照して本実施の形態の全体の
動作について説明すると、まず、開発支援装置内部のマ
イクロプロセッサ1が命令コードの読み込みを行う場
合、内部の命令キャッシュ12に、予め命令コードがす
でに読み込まれているかどうか判別する(ステップS1
〜S5)。命令コードがすでに読み込まれている場合
は、命令キャッシュ12から、また読み込まれていなけ
れば外部のメインメモリ2から命令コードを読み出す。
その場合開発支援装置は、トレースアナライザ3を経由
しトレースメモリ4に対して、バスサイクルの状態(デ
ータバス9の状態と、アドレスバス10の状態と、ステ
ータス用バス21の状態)と、マイクロプロセッサ1が
出力した整理番号であるタグ情報TAを同時に書き込む
(ステップS6)。Next, FIG. 1 and FIG. 2 and FIG. 4 which is a flowchart showing the processing flow of this embodiment and FIG. 5 which shows an example of the processing contents of the trace data when the microprocessor 1 and the tracer 8 are executed. The overall operation of the present embodiment will be described with reference to the following. First, when the microprocessor 1 in the development support apparatus reads an instruction code, whether the instruction code has already been read in the internal instruction cache 12 beforehand. (Step S1)
~ S5). If the instruction code has already been read, the instruction code is read from the instruction cache 12, and if not, from the external main memory 2.
In this case, the development support device sends the bus cycle status (the status of the data bus 9, the status of the address bus 10, and the status of the status bus 21) to the trace memory 4 via the trace analyzer 3, At the same time, the tag information TA which is the serial number output by 1 is written (step S6).
【0035】次にマイクロプロセッサ1は、読み込んだ
命令コードにトレースメモリ4に書き込まれたタグ情報
TAと同一の内容のタグ情報TBを付加し命令キャッシ
ュ12へ書き込む(ステップS7〜S10)。Next, the microprocessor 1 adds tag information TB having the same content as the tag information TA written in the trace memory 4 to the read instruction code, and writes the same in the instruction cache 12 (steps S7 to S10).
【0036】次に、命令キャッシュ12に予め命令が読
み込まれていればこの命令キャッシュ12から、読み込
まれていなければ、前述の内容のように命令コードと付
加したタグ情報TBとをマイクロプロセッサ1内部のE
XU15へと順次送り、EXU15はこれら命令を順次
実行する(ステップS11)。この時、EXU15で確
実に実行される命令コードとタグ情報TAとの組み合わ
せからタグ情報TB分を内部のキャッシュトレース制御
回路14へ送り時系列順に保存して行く。Next, if an instruction has been previously read into the instruction cache 12, the instruction code and the added tag information TB as described above are stored in the microprocessor 1 if the instruction has not been read. E
The instructions are sequentially sent to the XU 15, and the EXU 15 executes these instructions sequentially (step S11). At this time, the tag information TB is sent to the internal cache trace control circuit 14 from the combination of the instruction code and the tag information TA that are reliably executed by the EXU 15 and stored in chronological order.
【0037】この一連の動作において、マイクロプロセ
ッサ1が命令コードの読み込みサイクルすなわちフェッ
チサイクルの状態をトレースメモリ4に保存するのと同
様に、他のデータアクセスサイクルも時系列順に保存す
る。また、タグ情報TAは外部バス9,10,21の状
態がフェッチサイクルになるたびにインクリメントされ
る。In this series of operations, similarly to the case where the microprocessor 1 stores the state of the instruction code reading cycle, that is, the fetch cycle in the trace memory 4, other data access cycles are also stored in chronological order. The tag information TA is incremented each time the state of the external buses 9, 10, 21 becomes a fetch cycle.
【0038】なお、説明の便宜上、本実施の形態では、
命令長は固定でかつ命令長はデータバス幅と等しいもの
とする。For convenience of explanation, in this embodiment,
The instruction length is fixed and the instruction length is equal to the data bus width.
【0039】この一連の動作を繰り返すと、マイクロプ
ロセッサ1の内部のキャッシュトレース制御回路14に
は図5(A)に示すタグ情報TBが、トレースメモリ4
には図5(B)に示すタグ情報TA,アドレスA,ステ
ータスS,データDがそれぞれ蓄積される。By repeating this series of operations, the cache trace control circuit 14 in the microprocessor 1 stores the tag information TB shown in FIG.
The tag information TA, address A, status S, and data D shown in FIG.
【0040】このような内容が蓄積されている状態で、
命令実行中のマイクロプロセッサ1をブレーク割り込み
等の手法を使って、ユーザプログラムの実行を停止させ
る(ステップS12)。その後、キャッシュトレース制
御回路14から図5(A)の内容のタグ情報TBを、ト
レースメモリ4から図5(B)の内容のタグ情報TA,
アドレスA,ステータスS,データDを、パソコン5の
メモリ上に読み出す(ステップS13)。次に、このタ
グ情報TBを基準に、図5(B)のタグ情報TAを含む
バスサイクルの状態の並べ変えを行う(ステップS1
4)。命令コード部分の並べ変えは、タグ情報TB,T
Aの各々の値が一致したものを、タグ情報TB順に、パ
ソコン5のメモリ上で並べ変える。With such contents stored,
The execution of the user program is stopped in the microprocessor 1 during execution of the instruction by using a technique such as a break interrupt (step S12). Thereafter, the tag information TB having the contents shown in FIG. 5A from the cache trace control circuit 14 and the tag information TA having the contents shown in FIG.
The address A, status S, and data D are read onto the memory of the personal computer 5 (step S13). Next, the state of the bus cycle including the tag information TA of FIG. 5B is rearranged based on the tag information TB (step S1).
4). The rearrangement of the instruction code portion is performed by tag information TB, T
Those whose values of A match each other are rearranged in the memory of the personal computer 5 in the order of the tag information TB.
【0041】ここで、再度図5を参照し具体例につい
て、一度命令キャッシュ12が取り込んだ命令を分岐命
令の実行で反復する場合と、次に、一度命令キャッシュ
12が取り込んだ命令を分岐命令で実行した場合につい
てそれぞれ説明する。Referring to FIG. 5 again, a specific example will be described in which the instruction once fetched by the instruction cache 12 is repeated by execution of a branch instruction, and then, the instruction once fetched by the instruction cache 12 is used as a branch instruction. Each case will be described.
【0042】図5(A)を参照すると、タグ情報TBが
001,002〜00A,00Bになった後、008,
009と番号が回帰している。この部分が命令キャッシ
ュ12に取り込まれた分岐命令により再度実行された箇
所である。Referring to FIG. 5A, after the tag information TB becomes 001, 002 to 00A, 00B, 008,
009 and the number recur. This part is a place where the instruction is executed again by the branch instruction taken into the instruction cache 12.
【0043】まず、タグ情報TBの00B,008,0
09で実行した命令が配置されているアドレスの検索方
法を説明すると、このアドレスを検索するには、図5
(B)のトレースメモリ4の内容を参照すればよい。す
なわち、トレースメモリのタグ情報TAの00Bは、ア
ドレスFFFF0028Hの命令コード11のBnz命
令(分岐命令)であることが分かる。同様に、タグ情報
TAの008はアドレスFFFF001CHの命令コー
ド8のADD命令であり、009はアドレスFFFF0
020Hの命令コード9のSub命令である。First, 00B, 008, 0 of the tag information TB
The method of searching for the address where the instruction executed in step 09 is located will be described.
The contents of the trace memory 4 in (B) may be referred to. That is, it can be seen that 00B of the tag information TA of the trace memory is the Bnz instruction (branch instruction) of the instruction code 11 of the address FFFF0028H. Similarly, 008 of the tag information TA is an ADD instruction of the instruction code 8 of the address FFFF001CH, and 009 is an address FFFF0
This is a Sub instruction of instruction code 9 of 020H.
【0044】次にデータアクセスサイクルのトレースに
ついて説明すると、図5(B)に示すタグ情報TAが0
07,008,008と並んでいる。最初の008の所
がデータアクセスのトレース情報である。ここではアド
レスFFFF1000Hにデータ00000000Hを
格納している。ここで、008が2つ連続している理由
は、マイクロプロセッサが外部バスからフェッチを生起
した時のみタグ情報TAのカウンタをインクリメントす
るためである。つまり、データアクセスの時にはカウン
トアップしないことになる。また、このデータアクセス
がどの命令で実行されたかの検索には、トレースメモリ
4の内容をタグ情報TAの008から007,006と
遡及することでタグ情報TA002のストア命令を見つ
けることができる。この方法であれば、マイクロプロセ
ッサ1のリアルタイム性を失うこと無く命令キャッシュ
12の活性化状態でのトレースが可能となる。Next, the trace of the data access cycle will be described. When the tag information TA shown in FIG.
07,008,008. The first 008 is data access trace information. Here, data 00000000H is stored in the address FFFF1000H. Here, the reason why two 008s are consecutive is that the counter of the tag information TA is incremented only when the microprocessor generates a fetch from the external bus. That is, it does not count up at the time of data access. Further, in searching for which instruction the data access was executed, the store instruction of the tag information TA002 can be found by looking back the contents of the trace memory 4 from 008 to 007,006 of the tag information TA. With this method, tracing in the activated state of the instruction cache 12 is possible without losing the real-time property of the microprocessor 1.
【0045】次に、図1,図2及び図3を参照して本実
施の形態のマイクロプロセッサ1の動作の詳細について
説明すると、まず、EXU15に入力されるリセット信
号RAをLレベルにすることにより、ハードウェアの初
期化を行う。なお、もう1つのリセット信号Rは通常の
マイクロプロセッサにあるリセット信号とは異なり、後
述するようにブレーク割り込み要求等の開発支援装置に
関する初期化用の信号である。リセット信号RAをLレ
ベルにすると、EXU15はブレーク割り込み処理状態
になり、ブレーク割り込み応答信号TPKを一旦Lレベ
ルにし、キャッシュトレース制御回路14を初期化す
る。Next, the operation of the microprocessor 1 according to the present embodiment will be described in detail with reference to FIGS. 1, 2 and 3. First, the reset signal RA input to the EXU 15 is set to L level. To initialize the hardware. The other reset signal R is different from a reset signal in a normal microprocessor, and is a signal for initializing a development support device such as a break interrupt request as described later. When the reset signal RA is set to L level, the EXU 15 enters the break interrupt processing state, sets the break interrupt response signal TPK to L level once, and initializes the cache trace control circuit 14.
【0046】また、EXU15は、セレクト信号SLを
Lレベルに設定し、カウンタ16をクリアする。同時
に、セレクト信号SLのLレベル設定に応答してセレク
タ17は内部データバスIBSをタグ情報TAとして出
力する状態にする。その後、リセット信号RAをHレベ
ルにするとこのマイクロプロセッサ1はブレーク割り込
み処理を開始する。The EXU 15 sets the select signal SL to L level, and clears the counter 16. At the same time, in response to the L level setting of the select signal SL, the selector 17 outputs the internal data bus IBS as a state for outputting the tag information TA. Thereafter, when the reset signal RA is set to the H level, the microprocessor 1 starts the break interrupt processing.
【0047】次にマイクロプロセッサ1が、BCU11
の出力するアドレスAとステータスSとをアドレスバス
10とステータス用バス21を経由して外部回路に対し
出力する。これにより、外部のメモリからデータバス9
を経由してブレーク割り込み処理用のプログラムフェッ
チを開始する。フェッチされた命令コードは、内部命令
コード用データバスIB1を経由してIDU13へ送ら
れ、IDU13は命令を解析する。次に、IDU13は
内部命令コード用データバスIB2を経由してEXU1
5へ命令コードを送り、EXU15はこの命令を実行す
る。Next, the microprocessor 1 operates the BCU 11
Are output to an external circuit via the address bus 10 and the status bus 21. Thereby, the data bus 9 is transferred from the external memory.
To start the program fetch for break interrupt processing. The fetched instruction code is sent to the IDU 13 via the internal instruction code data bus IB1, and the IDU 13 analyzes the instruction. Next, the IDU 13 sends the EXU 1 via the internal instruction code data bus IB2.
5, and the EXU 15 executes this instruction.
【0048】次に、EXU15がブレーク割り込み終了
用の専用命令を実行すると、セレクト信号SLがHレベ
ルになり、カウンタ16に対するクリア要求を解除す
る。また、これと同時にセレクタ17は、セレクト信号
SLのHレベルに応答して、カウンタ出力Nをタグ情報
出力TAとして出力できる状態になる。以後、本来のユ
ーザプログラム実行を開始する。Next, when the EXU 15 executes the dedicated instruction for terminating the break interrupt, the select signal SL becomes H level, and the clear request to the counter 16 is released. At the same time, the selector 17 enters a state where it can output the counter output N as the tag information output TA in response to the H level of the select signal SL. Thereafter, execution of the original user program is started.
【0049】マイクロプロセッサ1は、前述したブレー
ク割り込み処理用のプログラムフェッチと同様に、予め
設定されたプログラムカウンタの値に基づいてアドレス
バス10にアドレスAを、ステータス用バス21にステ
ータスSをそれぞれ出力する。これらアドレスA,ステ
ータスSの内容に基づき、外部のメモリからユーザプロ
グラムの命令をフェッチする。このサイクル中に、BC
U11はカウンタ16をカウントアップするためにカウ
ンタ用のクロックCKNに1パルスの信号を送り、カウ
ンタ出力Nを”0”から”1”にカウントアップした値
を出力する。この値Nはセレクタ17を経由してタグ情
報TAとして外部に出力される。The microprocessor 1 outputs an address A to the address bus 10 and a status S to the status bus 21 based on the value of a preset program counter, similarly to the above-described program fetch for break interrupt processing. I do. An instruction of the user program is fetched from an external memory based on the contents of the address A and the status S. During this cycle, BC
U11 sends a one-pulse signal to the counter clock CKN to count up the counter 16, and outputs a value obtained by counting up the counter output N from "0" to "1". This value N is output to the outside via the selector 17 as tag information TA.
【0050】次に、マイクロプロセッサ1の内部では、
フェッチした命令コードをデータバス9を経由してBC
U11へ読み込む。BCU11では、命令コードにカウ
ンタ出力Nをタグ情報TAとして付加する。Next, inside the microprocessor 1,
The fetched instruction code is transferred to the BC via the data bus 9.
Read into U11. The BCU 11 adds the counter output N to the instruction code as tag information TA.
【0051】この命令コードと付加されたタグ情報TA
を、内部命令コード用データバスIB1と内部タグ情報
TAIとを経由して命令キャッシュ12とIDU13と
に送る。命令キャッシュ12は、命令コードと付加タグ
情報TAとを再度同一アドレスからの読み込み動作が発
生するまで保存する。ただし、命令キャッシュ12の内
容の更新が発生した場合は、この命令コードと付加タグ
情報TAは存在しなくなるため、1度フラッシュされた
命令を再度外部メモリから読み込む場合、タグ情報TA
は更新前の値と異る新しい値になる。IDU13は命令
コードとタグ情報TAとを分離し、命令コードをEXU
15へ内部命令コード用データバスIB2を経由して送
る。また、タグ情報TAをタグ情報TBとしてキャッシ
ュトレース制御回路14へ送ると同時に、タグ情報書き
込み制御信号CTにより書き込み要求を行う。キャッシ
ュトレース制御回路14は、図3に示すようにFIFO
141を記憶素子として持っており、書き込み順に記憶
する。この一連の動作を反復することにより、タグ情報
TBを順次格納して行く。The instruction code and the added tag information TA
To the instruction cache 12 and the IDU 13 via the internal instruction code data bus IB1 and the internal tag information TAI. The instruction cache 12 stores the instruction code and the additional tag information TA until a read operation from the same address occurs again. However, when the contents of the instruction cache 12 are updated, the instruction code and the additional tag information TA do not exist. Therefore, when the instruction once flashed is read from the external memory again, the tag information TA
Becomes a new value different from the value before the update. The IDU 13 separates the instruction code from the tag information TA, and
15 via the internal instruction code data bus IB2. At the same time as sending the tag information TA to the cache trace control circuit 14 as the tag information TB, a write request is made by the tag information write control signal CT. The cache trace control circuit 14, as shown in FIG.
141 is stored as a storage element, and is stored in the order of writing. By repeating this series of operations, the tag information TB is sequentially stored.
【0052】この時、BCU11は、命令の読み込み毎
にカウンタ16のカウントアップ用のクロックCKNを
1パルス送る。At this time, the BCU 11 sends one pulse of the clock CKN for counting up the counter 16 every time the instruction is read.
【0053】これにより、タグ情報TBは外部へのフェ
ッチサイクルの発生毎にインクリメントされる。また、
この反復動作中に、命令キャッシュ12に命令コードと
タグ情報TAが予め格納されていれば、外部のメモリか
らでは無く、この命令キャッシュ12からこれら命令コ
ードとタグ情報TAをIDU13に送られる。Thus, the tag information TB is incremented each time an external fetch cycle occurs. Also,
During this repetitive operation, if the instruction code and the tag information TA are stored in the instruction cache 12 in advance, the instruction code and the tag information TA are sent from the instruction cache 12 to the IDU 13 instead of from an external memory.
【0054】次に、このキャッシュトレース制御回路1
4からのタグ情報TBの読み出し手順について説明する
と、まず、トレースアナライザ3は、マイクロプロセッ
サ1に対して、ブレーク割り込み要求信号対応のリセッ
ト信号Rを出力してブレーク割り込み要求を行う。EX
U15は、ブレーク割り込み要求を受け付けると、リセ
ット信号RAの要求の受け付け動作と同様に、セレクト
信号SLをLレベルに、ブレーク割り込み応答信号TP
Kを一旦Lレベルに設定する。同時に、セレクト信号S
LのLレベル設定に応答してセレクタ17は内部データ
バスIBSのデータをタグ情報TAとして出力する状態
にする。キャッシュトレース制御回路14は、タグ情報
読み出し信号RDENのレベルの制御に応答して、内部
データバスIBSにタグ情報TBを順次出力する。セレ
クタ17はこのタグ情報TBを外部に出力する。この読
み出し後、再度ユーザプログラムの実行対応の処理を行
えば、タグ情報TBのキャッシュトレース制御回路14
への書き込み可能状態に切り変えることができる。Next, the cache trace control circuit 1
4 will be described. First, the trace analyzer 3 outputs a reset signal R corresponding to a break interrupt request signal to the microprocessor 1 to issue a break interrupt request. EX
Upon receiving the break interrupt request, U15 sets the select signal SL to the L level and sets the break interrupt response signal TP, similarly to the operation of receiving the request of the reset signal RA.
K is temporarily set to L level. At the same time, select signal S
In response to the L-level setting of L, the selector 17 outputs the data on the internal data bus IBS as tag information TA. The cache trace control circuit 14 sequentially outputs the tag information TB to the internal data bus IBS in response to the control of the level of the tag information read signal RDEN. The selector 17 outputs the tag information TB to the outside. After this reading, if the processing corresponding to the execution of the user program is performed again, the cache trace control circuit 14 of the tag information TB
The state can be switched to a state in which writing is possible.
【0055】次に、再度図1及び図2を参照して本実施
の形態の開発支援装置全体の動作について詳述すると、
本実施の形態の開発支援装置は、パソコン5をホストと
した一般的な開発支援装置の形態を持っている。パソコ
ン5からシステム制御バス23と、システムデータバス
24を経由してトレースアナライザ3に対して制御を行
う。まず、リアルタイムトレースを行う場合、パソコン
5からトレースアナライザ3に対してリアルタイムトレ
ース可能な状態に設定を行う。Next, referring again to FIGS. 1 and 2, the operation of the entire development support apparatus of the present embodiment will be described in detail.
The development support device of the present embodiment has a form of a general development support device using the personal computer 5 as a host. The personal computer 5 controls the trace analyzer 3 via the system control bus 23 and the system data bus 24. First, when performing real-time tracing, the personal computer 5 is set to the trace analyzer 3 so that real-time tracing is possible.
【0056】トレースアナライザ3は、マイクロプロセ
ッサ1に対して、リセット信号RAを供給して内部回路
の初期化を行なう。それと同時に、トレースメモリ4を
書き込み状態にするため、トレースメモリアドレスAT
と、トレースメモリのWE,OE,CS各信号を制御す
ることにより書き込み制御を行う。Trace analyzer 3 supplies reset signal RA to microprocessor 1 to initialize the internal circuit. At the same time, the trace memory address AT
And writing control by controlling the WE, OE, and CS signals of the trace memory.
【0057】本実施の形態では、クロック毎にバスの状
態をトレースメモリ4に書き込み、かつ、トレースメモ
リアドレスATは、リアルタイムトレースを開始した時
点からクロック毎にインクリメントする方式を用いる。
これによりトレースメモリ4には、データバス9,アド
レスバス10,ステータス用バス21,タグ情報TAの
状態をクロック毎に書き込むことが可能となる。In the present embodiment, a method is used in which the state of the bus is written into the trace memory 4 for each clock, and the trace memory address AT is incremented for each clock from the time when the real-time trace is started.
Thus, the states of the data bus 9, the address bus 10, the status bus 21, and the tag information TA can be written to the trace memory 4 every clock.
【0058】パソコン5からパソコン5のメモリ上に存
在する専用のプログラムであるデバッガにより、トレー
スアナライザ3のリセット信号RをHレベルに設定する
と、マイクロプロセッサ1は、ブレーク割り込み処理状
態になるため、特定領域のプログラムフェッチを開始す
る。これにより、ブレーク割り込み処理用プログラムが
実行される。このブレーク割り込み処理プログラムによ
り、デバッガとのコミニケーションがトレースアナライ
ザ3を通して可能となる。この一般的な手法によりパソ
コン5からブレーク割り込み処理を終了させる要求を行
うと、ブレーク割り込み処理プログラムは、ブレーク割
り込み終了用の専用命令を実行する。When the reset signal R of the trace analyzer 3 is set to the H level by the debugger which is a dedicated program existing in the memory of the personal computer 5 from the personal computer 5, the microprocessor 1 enters the break interrupt processing state. Start program fetch of area. As a result, the break interrupt processing program is executed. This break interrupt processing program enables communication with the debugger through the trace analyzer 3. When a request for terminating break interrupt processing is issued from the personal computer 5 by this general method, the break interrupt processing program executes a dedicated instruction for terminating break interrupts.
【0059】これにより、今度はユーザプログラム実行
状態になり、予めブレーク割り込み処理中に、デバッガ
により書き換えられたプログラムカウンタが示すアドレ
スから命令フェッチを開始する。この結果、トレースメ
モリ4に、リアルタイムにトレース結果が格納される。As a result, the user program is now executed, and instruction fetch is started from the address indicated by the program counter rewritten by the debugger during the break interrupt processing in advance. As a result, the trace result is stored in the trace memory 4 in real time.
【0060】次にトレースを終了させ、トレースメモリ
4とマイクロプロセッサ1からトレース結果の読み出し
を行なおうとした場合、デバッガからのブレーク割り込
み要求信号すなわちリセット信号Rをアクティブにす
る。Next, when the trace is terminated and the trace result is to be read from the trace memory 4 and the microprocessor 1, the break interrupt request signal from the debugger, that is, the reset signal R is activated.
【0061】マイクロプロセッサ1は、リセット信号R
のブレーク要求を受け付けるとブレーク割り込み処理を
開始する。詳細に付いては上述した通りであるが、ここ
でリセット信号RAによるブレーク割り込み処理に入る
場合と、リセット信号Rのブレーク割り込み要求による
処理の場合との差異について述べる。リセット信号Rの
ブレーク割り込み要求による処理は一般的イベントブレ
ーク処理であり、命令の実行に同期してブレーク割り込
みを発生させ、ブレーク割り込み処理からユーザプログ
ラム処理を再開する場合に容易にする目的で使用され
る。一方、リセット信号RAによるブレーク割り込み処
理は開発支援装置のハードウェアそのものの初期化で、
最初の状態を決めることが目的であるため特に命令の実
行に同期したブレーク割り込み要求ではない。The microprocessor 1 has a reset signal R
When a break request is accepted, break interrupt processing starts. The details are as described above. Here, the difference between the case where the break interrupt processing by the reset signal RA is started and the case of processing by the break interrupt request of the reset signal R will be described. The processing by the break interrupt request of the reset signal R is a general event break processing, and is used for the purpose of generating a break interrupt in synchronization with the execution of the instruction and facilitating the restart of the user program processing from the break interrupt processing. You. On the other hand, the break interrupt processing by the reset signal RA is the initialization of the hardware of the development support device,
Since the purpose is to determine the initial state, it is not a break interrupt request particularly synchronized with the execution of the instruction.
【0062】上記処理によりブレーク割り込み処理が開
始されると、デバッガの制御により、トレースアナライ
ザ3は、データバス9,アドレスバス10,ステータス
用バス21をマイクロプロセッサ1の各対応のバスと切
り離すため、システムデータバス24を経由してゲート
制御信号G1〜G4をHレベルにする。これによってバ
ッファ7A〜7Dはシステムデータバス24にトレース
メモリ4のデータバス9Aを接続する。これでマイクロ
プロセッサ1からの読み出しの準備が整う。When the break interrupt processing is started by the above processing, the trace analyzer 3 separates the data bus 9, the address bus 10, and the status bus 21 from the corresponding buses of the microprocessor 1 under the control of the debugger. The gate control signals G1 to G4 are set to the H level via the system data bus 24. Thereby, the buffers 7A to 7D connect the data bus 9A of the trace memory 4 to the system data bus 24. Thus, preparation for reading from the microprocessor 1 is completed.
【0063】トレースメモリ4の内容を読み出すため、
パソコン5はシステム制御バス23を経由してトレース
メモリアドレスATをトレースメモリ4の読み出し対象
のアドレスを送る。これと同時にトレースアナライザ3
はトレースメモリのWE,OE,CS各信号を読み出し
状態にする。これによりデータバス9AにデータDが出
力される。To read the contents of the trace memory 4,
The personal computer 5 sends the trace memory address AT via the system control bus 23 to the address to be read from the trace memory 4. At the same time, Trace Analyzer 3
Sets the WE, OE, and CS signals of the trace memory to a read state. Thereby, data D is output to data bus 9A.
【0064】本実施の形態ではシステムデータの幅がト
レースメモリのデータ幅と同一または大きい構成を持つ
ため、1フレーム分のデータを一度で読み出すことが可
能となる。In this embodiment, since the width of the system data is equal to or larger than the data width of the trace memory, data for one frame can be read at a time.
【0065】この一連の動作を反復しトレースメモリ4
のデータと、マイクロプロセッサ1からのタグ情報TA
とをパソコン5上のメモリに読み出し、専用プログラム
により上述した処理フローによるタグ情報と関連アドレ
ス,データの並べ変えを行い、ディスプレイ上に表示す
る。By repeating this series of operations, the trace memory 4
And the tag information TA from the microprocessor 1
Are read into the memory of the personal computer 5, the tag information, the related addresses, and the data are rearranged according to the above-described processing flow by the dedicated program, and are displayed on the display.
【0066】図3及び本実施の形態のキャッシュトレー
ス制御回路14の動作をタイムチャートで示す図6を参
照すると、このキャッシュトレース制御回路14は上述
したように、記憶素子としてFIFO141を備え、基
本的にはFIFOの非同期系のアクセス方式が可能な構
成を持つ。マイクロプロセッサ1に供給するクロック周
波数と同一周波数のクロックCKを常に供給し、書き込
み時には、タグ情報書き込み制御信号CTを1クロック
の間Hレベルにすることによりタグ情報TBのFIFO
141への書き込みを行う。Referring to FIG. 3 and FIG. 6 showing a time chart of the operation of the cache trace control circuit 14 according to the present embodiment, the cache trace control circuit 14 includes the FIFO 141 as a storage element as described above, and Has a configuration that allows an asynchronous access method of FIFO. The clock CK having the same frequency as the clock frequency supplied to the microprocessor 1 is always supplied, and at the time of writing, the tag information writing control signal CT is set to the H level for one clock, thereby making the FIFO of the tag information TB FIFO.
141 is written.
【0067】次に、読み出す場合、タグ情報読み出し制
御信号RDENを1クロック間HレベルにするとFIF
O141からタグ情報TBが1つ読み出される。この一
連の動作を反復することですべての内容の読み/書きが
可能となる。Next, when reading, when the tag information read control signal RDEN is set to the H level for one clock, the FIFO
One piece of tag information TB is read from O141. By repeating this series of operations, all contents can be read / written.
【0068】次に、本発明の第2の実施の形態を特徴づ
けるキャッシュトレース制御回路14Aをブロックで示
す図7を参照すると、この図に示す本実施の形態のキャ
ッシュトレース制御回路14Aの前述の第1の実施の形
態との相違点は、記憶素子としてFIFOの代わりにS
RAM142を備え、その周辺回路として、カウンタ1
43と、論理回路G1〜G5と、インバータI1とを備
えることである。Next, referring to FIG. 7 which shows a block diagram of a cache trace control circuit 14A which characterizes the second embodiment of the present invention, the cache trace control circuit 14A of the present embodiment shown in FIG. The difference from the first embodiment is that S is used as a storage element instead of FIFO.
A counter 142 as a peripheral circuit thereof;
43, logic circuits G1 to G5, and an inverter I1.
【0069】次に、図7を参照して、最初にタグ情報の
書き込みについて説明すると、まず、ブレーク割り込み
応答信号TPKをHレベルにする。次に、リセット信号
RAをLレベルにすると、カウンタ143にAND回路
G4はクリア信号CLRをLレベルとしカウンタ143
をクリアする。次に、リセット信号RAをHレベルにす
ると、カウンタ143にAND回路G4はクリア信号C
LRをHレベルとしカウンタ143のクリア状態を解除
する。この時のカウンタ143のカウント値NTは”
0”になっている。次に予め、クロックCKをインバー
タI1で反転して反転クロックCKBを生成する。カウ
ント値NTをSRAM142のアドレス端子に供給す
る。次に、タグ情報TBをSRAM142のデータ端子
に供給する。Next, the writing of tag information will be described first with reference to FIG. 7. First, the break interrupt response signal TPK is set to the H level. Next, when the reset signal RA is set to the L level, the AND circuit G4 sets the clear signal CLR to the L level and sets the counter 143 to the counter 143.
Clear Next, when the reset signal RA is set to the H level, the AND circuit G4 outputs the clear signal C to the counter 143.
LR is set to H level, and the clear state of the counter 143 is released. At this time, the count value NT of the counter 143 is "
Then, the clock CK is inverted in advance by the inverter I1 to generate an inverted clock CKB. The count value NT is supplied to the address terminal of the SRAM 142. Next, the tag information TB is transmitted to the data terminal of the SRAM 142. To supply.
【0070】このタイミングと同時にSRAM142へ
の書き込みのためにタグ情報読み出し信号RDENをL
レベル、タグ情報書き込み制御信号CTを1クロック間
Hレベルにし、クロックCKを供給する。すると、NA
ND回路G2はリード制御信号REをLレベルに、NA
ND回路G3はライト制御信号WEを1クロック間にH
レベルからLレベル,LレベルからHレベルに、CS信
号CSをNOR回路G5を経由して1クロック間Lレベ
ルにそれぞれ設定する。これによりタグ情報TBがSR
AM142に書き込まれ、NAND回路G3は出力のラ
イト制御信号WEをAND回路G1を経由してカウンタ
143へ送ると、カウンタ143はカウントアップし
て”1”になる。この動作を反復することによりタグ情
報TBが入力順に蓄積される。At the same time as this timing, the tag information read signal RDEN is set to L for writing to the SRAM 142.
The level and tag information write control signal CT is set to the H level for one clock, and the clock CK is supplied. Then NA
The ND circuit G2 sets the read control signal RE to L level,
The ND circuit G3 outputs the write control signal WE to H level during one clock.
The level is set to the L level, the L level is set to the H level, and the CS signal CS is set to the L level for one clock via the NOR circuit G5. As a result, the tag information TB becomes SR
When the data is written into the AM 142 and the NAND circuit G3 sends the output write control signal WE to the counter 143 via the AND circuit G1, the counter 143 counts up to “1”. By repeating this operation, the tag information TB is stored in the order of input.
【0071】次に、本実施の形態のキャッシュトレース
制御回路14Aの読出動作をタイムチャートで示す図8
を併せて参照してタグ情報の読み出し手順について説明
すると、まず、リセット信号RAをHレベルとし、マイ
クロプロセッサ1がブレーク割り込み要求を受け付ける
と、ブレーク割り込み応答信号TPKがLレベルにな
る。これによりAND回路G4はLレベルのクリア信号
CLRを出力しカウンタ143をクリアする。次にブレ
ーク割り込み応答信号TPKがHレベルになると、AN
D回路G4はクリア信号CLRをHレベルとしてカウン
タ143のクリア要求を解除する。この時カウンタ14
3は”0”でありSRAM142にアドレス信号として
カウント値NTを供給する。この時クロックCK及び反
転クロックCKBを供給する。このタイミングと同時に
タグ情報読み出し信号RDENを1クロック間Hレベル
に、タグ情報書き込み信号CTを1クロック間Lレベル
にする。これにより、NOR回路G5はSRAM142
に供給するCS信号を1クロック間Lレベルにし、NA
ND回路G3はライト制御信号WEをHレベルに、NA
ND回路G2はリード制御信号OEをHレベルからLレ
ベルに,LレベルからHレベルにそれぞれ設定する。こ
れにより、命令コード用のデータバスIBSにタグ情報
TBを1個出力する。NAND回路G2は出力のリード
制御信号OEをAND回路G1を経由してカウンタ14
3に送ると、カウンタ143はカウントアップして”
1”になる。この動作を反復することにより、SRAM
142全てのデータを読み出すことが可能となる。Next, the cache trace of this embodiment will be described.
FIG. 8 is a time chart showing a read operation of control circuit 14A.
The readout procedure of the tag information will be described with reference to FIG. 1. First, when the reset signal RA is set to the H level and the microprocessor 1 receives the break interrupt request, the break interrupt response signal TPK goes to the L level. As a result, the AND circuit G4 outputs the L-level clear signal CLR to clear the counter 143. Next, when the break interrupt response signal TPK becomes H level, AN
The D circuit G4 sets the clear signal CLR to H level and cancels the clear request of the counter 143. At this time, the counter 14
3 is “0” and supplies the count value NT to the SRAM 142 as an address signal. At this time, the clock CK and the inverted clock CKB are supplied. At the same time as this timing, the tag information read signal RDEN is set to the H level for one clock and the tag information write signal CT is set to the L level for one clock. As a result, the NOR circuit G5 becomes the SRAM 142
To the L level for one clock,
The ND circuit G3 sets the write control signal WE to H level,
The ND circuit G2 sets the read control signal OE from H level to L level and from L level to H level. As a result, one piece of tag information TB is output to the instruction code data bus IBS. The NAND circuit G2 outputs the output read control signal OE to the counter 14 via the AND circuit G1.
3, the counter 143 counts up. "
1 ". By repeating this operation, the SRAM
It is possible to read out all the data 142.
【0072】以上述べたように本発明は、命令キャッシ
ュ12の有効化状態で、ユーザプログラムを実行しても
マイクロプロセッサのリアルタイム性を失うことが無く
デバッグのためのトレースの実行が可能である。As described above, according to the present invention, it is possible to execute the trace for debugging without losing the real-time property of the microprocessor even when the user program is executed in the valid state of the instruction cache 12.
【0073】その理由は、外部メモリ又は、命令キャッ
シュ12から読み出された命令コードに付加したタグ情
報を、内部のEXU15で実行直前に格納するからであ
る。なお、この動作は従来のパイプライン機能を持った
プロセッサの内部動作とは独立すなわち並行な動作とな
るため、マイクロプロセッサが持つ本来の高速性も失な
われることがない。またタグ情報は命令の実行順に格納
されているためユーザプログラムを実行し終わった後、
解析のためゆっくり読み出すことが可能であるためリア
ルタイム性も失なわれない。The reason is that the tag information added to the instruction code read from the external memory or the instruction cache 12 is stored in the internal EXU 15 immediately before execution. This operation is independent of, or parallel to, the internal operation of a conventional processor having a pipeline function, so that the inherent high speed of the microprocessor is not lost. Also, since the tag information is stored in the execution order of the instruction, after the execution of the user program,
Since the data can be read out slowly for analysis, the real-time property is not lost.
【0074】また、マイクロプロセッサの高速性を考慮
してトレース専用の端子を設ける場合、本発明では上記
専用端子の本数を最小にすることが可能である。When a dedicated terminal for tracing is provided in consideration of the high speed of the microprocessor, the number of dedicated terminals can be minimized in the present invention.
【0075】その理由は、従来の方法はプロセッサのメ
モリ空間を前提に考ると、論理あるいは物理アドレスを
外部に出力しているため空間の表現可能な数量分のアド
レス端子を必要とするのに対し、本発明では以下のよう
に命令フェッチサイクル発生毎に各命令にタグ情報を付
加し、このタグ情報のデータ短縮機能を利用することに
より所要専用端子数を削減できるからである。The reason is that, considering the memory space of the processor as a premise, the conventional method requires a number of address terminals that can be expressed in the space because it outputs logical or physical addresses to the outside. On the other hand, in the present invention, tag information is added to each instruction every time an instruction fetch cycle occurs, and the number of required dedicated terminals can be reduced by using the data shortening function of the tag information as described below.
【0076】例えば4Gのメモリ空間を持てば、従来の
技術ではアドレスで表現するため専用端子が32本必要
であった。For example, if a memory space of 4 G is provided, in the conventional technology, 32 dedicated terminals are required for expressing by an address.
【0077】しかし、本発明では命令のフェッチサイク
ル発生毎に各命令毎にタグ情報を付けている。これによ
り、以下の各点を考慮すると端子数を減少させることが
可能となる。However, in the present invention, tag information is attached to each instruction every time an instruction fetch cycle occurs. Thus, the number of terminals can be reduced in consideration of the following points.
【0078】まず、第1に、プログラム領域が4Gバイ
ト全ての領域には無く、データ等を扱うワーク領域が存
在することである。First, the program area does not exist in the entire area of 4 Gbytes, and there is a work area for handling data and the like.
【0079】第2に、実行命令単位でタグ情報を付加す
るため、命令長が長いものが多く存在する命令を有する
プロセッサには有効であることである。最近のRISC
チップでも最低2バイトか4バイトが一般的であり、仮
に4バイト長の命令1個でタグ1個使うとすると1/4
のビットで済む。換言すればメモリ空間を現わすアドレ
スに比べると、4倍の表現が可能となる。従って、これ
のみでも従来の1/4、すなわち、この例では端子数を
8本に低減できる。 Secondly, since tag information is added in units of execution instructions, it is effective for a processor having instructions having many instructions having long instruction lengths. Recent RISC
Even a chip usually has a minimum of 2 bytes or 4 bytes. If one 4-byte instruction is used and one tag is used, it is 1/4.
With just a bit. In other words, the expression can be four times as large as the address representing the memory space. So this
Only 1/4 of the conventional one, that is, in this example, the number of terminals is
It can be reduced to eight.
【0080】[0080]
【0081】[0081]
【0082】[0082]
【発明の効果】以上説明したように、本発明のマイクロ
プロセッサ及びその開発支援装置は、タグ情報生成手段
と、タグ情報保持手段と、タグ情報出力手段とを備え、
命令コードに付加したタグ情報を内部のEXUでの実行
直前に格納するので、命令キャッシュの有効化状態で、
ユーザプログラム実行してもマイクロプロセッサのリア
ルタイム性は失われることが無く実行が可能であるとい
う効果がある。As described above, the microprocessor and the development support device of the present invention include the tag information generating means, the tag information holding means, and the tag information output means.
Since the tag information added to the instruction code is stored immediately before execution in the internal EXU, the instruction cache is enabled,
There is an effect that even if the user program is executed, the microprocessor can be executed without losing the real-time property of the microprocessor.
【0083】また、また、マイクロプロセッサの高速性
を考慮してトレース専用の端子を設ける場合、命令フェ
ッチサイクル発生毎に各命令にタグ情報を付加し、この
タグ情報のデータ短縮機能を利用することにより所要専
用端子数を最小にすることが可能であるという効果があ
る。When a dedicated terminal for tracing is provided in consideration of the high speed of the microprocessor, tag information is added to each instruction every time an instruction fetch cycle occurs, and a data shortening function of the tag information is used. This has the effect of minimizing the number of required dedicated terminals.
【図1】本発明のマイクロプロセッサ及びその開発支援
装置の第1の実施の形態を示すブロック図である。FIG. 1 is a block diagram showing a first embodiment of a microprocessor and a development support device thereof according to the present invention.
【図2】本実施の形態のマイクロプロセッサの構成を示
すブロック図である。FIG. 2 is a block diagram illustrating a configuration of a microprocessor according to an embodiment.
【図3】本実施の形態を特徴ずけるキャッシュトレース
制御回路の構成を示すブロック図である。FIG. 3 is a block diagram illustrating a configuration of a cache trace control circuit that characterizes the present embodiment;
【図4】本実施の形態のマイクロプロセッサ及びその開
発支援装置における動作の一例を示すフローチャートで
ある。FIG. 4 is a flowchart illustrating an example of an operation of the microprocessor and the development support device according to the present embodiment;
【図5】本実施の形態のマイクロプロセッサと開発支援
装置のトレース実行時のトレースデータの一例を示す図
である。FIG. 5 is a diagram illustrating an example of trace data when a trace is executed by the microprocessor and the development support device according to the present embodiment;
【図6】本実施の形態の動作の一例を示すタイムチャー
トである。FIG. 6 is a time chart showing an example of the operation of the present embodiment.
【図7】本発明のマイクロプロセッサ及びその開発支援
装置の第2の実施の形態を特徴ずけるキャッシュトレー
ス制御回路の構成を示すブロック図である。FIG. 7 is a block diagram showing a configuration of a cache trace control circuit which characterizes a second embodiment of the microprocessor and the development support device of the present invention.
【図8】本実施の形態の動作の一例を示すタイムチャー
トである。FIG. 8 is a time chart showing an example of the operation of the present embodiment.
【図9】従来の第1のマイクロプロセッサの一例を示す
ブロック図である。FIG. 9 is a block diagram illustrating an example of a conventional first microprocessor.
【図10】従来の第2のマイクロプロセッサの一例を示
すブロック図である。FIG. 10 is a block diagram illustrating an example of a second conventional microprocessor.
【図11】従来の第3のマイクロプロセッサ及びその開
発支援装置の一例を示すブロック図である。FIG. 11 is a block diagram showing an example of a conventional third microprocessor and its development support device.
1 マイクロプロセッサ 2 メインメモリ 3 トレースアナライザ 4 トレースメモリ 5 パソコン 6 発振器 7A〜7G バッファ 8 トレーサ 9 データバス 10 アドレスバス 11 BCU 12 命令キャッシュ 13 IDU 14,14A キャッシュトレース制御回路 15 EXU 16 カウンタ 17 セレクタ 18 内部アドレスバス 19 内部データバス 21 ステータスバス 141 FIFO 142 SRAM 143 カウンタ G1〜G5 論理回路 I1 インバータ DESCRIPTION OF SYMBOLS 1 Microprocessor 2 Main memory 3 Trace analyzer 4 Trace memory 5 Personal computer 6 Oscillator 7A-7G buffer 8 Tracer 9 Data bus 10 Address bus 11 BCU 12 Instruction cache 13 IDU 14, 14A Cache trace control circuit 15 EXU 16 Counter 17 Selector 18 Internal Address bus 19 Internal data bus 21 Status bus 141 FIFO 142 SRAM 143 Counter G1 to G5 Logic circuit I1 Inverter
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 11/28 - 11/34 G06F 9/38 ──────────────────────────────────────────────────続 き Continued on the front page (58) Field surveyed (Int.Cl. 7 , DB name) G06F 11/28-11/34 G06F 9/38
Claims (6)
ードの指示を実行する命令実行ユニットと、外部メモリ
から読み出した第1の命令を保持し第2の命令を出力す
る命令用キャッシュメモリと、前記第1又は第2の命令
をデコードして前記命令コードを出力する命令デコード
ユニットと、関連の外部バス及び内部バスを制御するバ
ス制御ユニットとを備え、前記外部メモリと前記外部バ
スのバスサイクルの状態を記憶するトレースメモリを含
むリアルタイムトレース機能を有する開発支援装置によ
りデバッグを行うマイクロプロセッサにおいて、 前記第1の命令の読み出しサイクルであるフエッチサイ
クルに応じて順次生成して第1の命令対応の整理番号で
ある第1のタグ情報を前記トレースメモリに保持すると
共に、前記命令用キャッシュメモリが、この第1のタグ
情報と同一の第2のタグ情報を前記第1の命令に付加し
て保持し、 前記第1及び第2の命令のうちの前記命令実行ユニット
が実行した方の命令の前記第2のタグ情報を実行した順
序で順次格納保持し、前記デバッグ時における読み出し
時に前記第2のタグ情報を格納した順序で出力するタグ
情報保持手段を備え、 前記デバッグ時に、前記タグ情報保持手段から読み出し
た前記第2のタグ情報を基準に前記第1のタグ情報を比
較して対応する前記命令コードと前記バスサイクルの状
態を前記開発支援装置で復元させることにより実際に実
行した命令の実行手順を再現することを特徴とするマイ
クロプロセッサ。An instruction execution unit for executing an instruction of the instruction code in response to the supply of the instruction code; an instruction cache memory for holding a first instruction read from an external memory and outputting a second instruction; , An instruction decoding unit for decoding the first or second instruction and outputting the instruction code, and a bus control unit for controlling an associated external bus and internal bus, wherein a bus for the external memory and the external bus is provided. A microprocessor for debugging with a development support device having a real-time trace function including a trace memory for storing a state of a cycle, wherein the first instruction is generated sequentially according to a fetch cycle which is a read cycle of the first instruction. The first tag information as the corresponding reference number is held in the trace memory, and the instruction cache is stored. A second memory which adds the same second tag information as the first tag information to the first instruction and holds the same, and which of the first and second instructions is executed by the instruction execution unit. Tag information holding means for sequentially storing and holding the second tag information of the instruction in the order in which the instructions are executed, and outputting the second tag information in the order in which the second tag information is stored at the time of reading during the debugging; The first tag information is compared with the second tag information read from the information holding means, and the instruction code and the bus cycle state corresponding to the first tag information are actually executed by the development support apparatus. A microprocessor which reproduces an instruction execution procedure.
又は第2の命令をデコードして前記命令コードを生成す
るとともに前記第2のタグ情報を分離して前記タグ情報
保持手段に供給することを特徴とする請求項1記載のマ
イクロプロセッサ。2. The method according to claim 1, wherein the instruction decode unit is configured to:
2. The microprocessor according to claim 1, wherein said instruction code is generated by decoding a second instruction, and said second tag information is separated and supplied to said tag information holding means.
グ情報を保持するFIFOを備え、 前記バス制御ユニットに供給される第1のクロックと同
一周波数の第2のクロックに同期して前記第2のタグ情
報の書き込み及び前記第2のタグ情報の読み出しを行う
ことを特徴とする請求項1記載のマイクロプロセッサ。3. The tag information holding means includes a FIFO for holding the second tag information, wherein the tag information holding means is synchronized with a second clock having the same frequency as a first clock supplied to the bus control unit. 2. The microprocessor according to claim 1, wherein writing of the second tag information and reading of the second tag information are performed.
グ情報を保持するSRAMと、前記SRAMのアドレス
生成手段と、前記SRAMの書き込み読み込み手段とを
備え、 前記バス制御ユニットに供給される第1のクロックと同
一周波数の第2のクロックに同期して前記第2のタグ情
報の書き込み及び前記第2のタグ情報の読み出しを行う
ことをを特徴とする請求項1記載のマイクロプロセッ
サ。4. The tag information holding means includes: an SRAM holding the second tag information; an address generation means of the SRAM; and a writing / reading means of the SRAM, and is supplied to the bus control unit. the microprocessor of claim 1, wherein in that synchronization with the second clock of the first clock with the same frequency to read the writing and the second tag information of the second tag information.
命令を保持している外部メモリと、前記マイクロプロセ
ッサが実行する命令のアドレスを逐一記憶するトレース
メモリと、全体を制御するホストコンピュータとを備え
るマイクロプロセッサの開発支援装置において、 前記トレースメモリが、前記外部メモリから命令の読出
し時にこの命令対応の整理番号である第1のタグ情報と
アドレスバスの状態とステータスバスの状態とデータバ
スの状態とを順次保持することを特徴とするマイクロプ
ロセッサの開発支援装置。5. The microprocessor according to claim 1, wherein:
In a microprocessor development support device comprising: an external memory holding instructions; a trace memory for sequentially storing addresses of instructions executed by the microprocessor; and a host computer for controlling the entirety. Microprocessor development support characterized in that, when an instruction is read from an external memory, first tag information, an address bus state, a status bus state, and a data bus state, which are reference numbers corresponding to the instruction, are sequentially held. apparatus.
ロプロセッサの出力した第2のタグ情報に対応する前記
第1のタグ情報と前記第1のタグ情報対応の前記アドレ
スバスの状態と前記ステータスバスの状態と前記データ
バスの状態とを読み出し並べ変えて前記マイクロプロセ
ッサが実際に実行した命令の実行手順を再現することを
特徴とする請求項5のマイクロプロセッサの開発支援装
置。6. The state of the address bus and the state of the status bus corresponding to the first tag information, the first tag information corresponding to the second tag information output from the microprocessor, and the host computer. 6. The microprocessor development support apparatus according to claim 5 , wherein the microprocessor reads and rearranges the state of the data bus and reproduces an execution procedure of an instruction actually executed by the microprocessor.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP04578797A JP3349911B2 (en) | 1997-02-28 | 1997-02-28 | Microprocessor and development support device thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP04578797A JP3349911B2 (en) | 1997-02-28 | 1997-02-28 | Microprocessor and development support device thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10240570A JPH10240570A (en) | 1998-09-11 |
JP3349911B2 true JP3349911B2 (en) | 2002-11-25 |
Family
ID=12729002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP04578797A Expired - Fee Related JP3349911B2 (en) | 1997-02-28 | 1997-02-28 | Microprocessor and development support device thereof |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3349911B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3214613B2 (en) | 1998-07-03 | 2001-10-02 | 日本電気株式会社 | Microprocessor and data processing system |
JP4608276B2 (en) | 2004-10-04 | 2011-01-12 | ルネサスエレクトロニクス株式会社 | Trace control circuit, microprocessor and trace control method |
JP2008293061A (en) * | 2007-05-22 | 2008-12-04 | Nec Electronics Corp | Semiconductor device, and debugging method of semiconductor device |
-
1997
- 1997-02-28 JP JP04578797A patent/JP3349911B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10240570A (en) | 1998-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4225851B2 (en) | Trace element generation system for data processor | |
US7197671B2 (en) | Generation of trace elements within a data processing apparatus | |
US6223228B1 (en) | Apparatus for synchronizing multiple processors in a data processing system | |
KR100439781B1 (en) | A data processor, an operation method thereof, a method of executing the debugging operation, and a method of correcting a disadvantage value among the data processor | |
US5737516A (en) | Data processing system for performing a debug function and method therefor | |
EP0762277B1 (en) | Data processor with built-in emulation circuit | |
US4879646A (en) | Data processing system with a pipelined structure for editing trace memory contents and tracing operations during system debugging | |
JP2002244881A (en) | Tracing of out-of-sequence data | |
US6848044B2 (en) | Circuits and methods for recovering link stack data upon branch instruction mis-speculation | |
US6760835B1 (en) | Instruction branch mispredict streaming | |
JPH05204709A (en) | Processor | |
JP3397230B2 (en) | Debug system | |
JP2002163127A (en) | Trace control circuit | |
JPH11110255A (en) | Software debugging device and method | |
US6249880B1 (en) | Method and apparatus for exhaustively testing interactions among multiple processors | |
JP3349911B2 (en) | Microprocessor and development support device thereof | |
US6230263B1 (en) | Data processing system processor delay instruction | |
US6052700A (en) | Calendar clock caching in a multiprocessor data processing system | |
GB2389931A (en) | Selective generation of trace elements | |
JPH10275092A (en) | Trace information output method for microprocessor | |
JP2760228B2 (en) | Microprocessor with built-in cache memory and its trace analyzer | |
JP2000029690A (en) | Method and device for data processing | |
JP2666737B2 (en) | Microprocessor with built-in trace memory and trace method | |
JPH08335177A (en) | Method and device for observing processor operation | |
JP3446658B2 (en) | Processor and its performance evaluation method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20020820 |
|
LAPS | Cancellation because of no payment of annual fees |