JP2000215081A - Trace information gathering mechanism - Google Patents

Trace information gathering mechanism

Info

Publication number
JP2000215081A
JP2000215081A JP11017890A JP1789099A JP2000215081A JP 2000215081 A JP2000215081 A JP 2000215081A JP 11017890 A JP11017890 A JP 11017890A JP 1789099 A JP1789099 A JP 1789099A JP 2000215081 A JP2000215081 A JP 2000215081A
Authority
JP
Japan
Prior art keywords
instruction
trace
trace information
unit
tag
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.)
Granted
Application number
JP11017890A
Other languages
Japanese (ja)
Other versions
JP3180953B2 (en
Inventor
Junji Sakai
淳嗣 酒井
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP01789099A priority Critical patent/JP3180953B2/en
Publication of JP2000215081A publication Critical patent/JP2000215081A/en
Application granted granted Critical
Publication of JP3180953B2 publication Critical patent/JP3180953B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Debugging And Monitoring (AREA)

Abstract

PROBLEM TO BE SOLVED: To record trace information of a processor including software invisible information in the execution order and description order of instructions and to access it. SOLUTION: An order tag issue part 2310 attach an order tag to an instruction decoded by an instruction decoder 151. Function units 170, 171, 172, and 173 informs an instruction completing the process of the appended order tag and the execution status of the instruction. A write part, 211 writes the order tag reported in instruction execution order trace information gathering mode to a trace memory 213 at every clock cycle by using a clock cycle as an address and writes the execution status reported in instruction description trace information gathering mode to the trace memory 213 by using the reported order tag as an address. A read part 214 transfers the contents of the trace memory 213 to the register of a register file 152.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は計算機システムのプ
ロセッサにおいて実行履歴を示すトレース情報を採取す
るトレース情報採取機構に関し、特にソフトウェアから
不可視である情報(以下、ソフトウェア不可視情報とい
う)を含むトレース情報をソフトウェア自身が採取する
ことを可能にするトレース情報採取機構に関する。
[0001] 1. Field of the Invention [0002] The present invention relates to a trace information collecting mechanism for collecting trace information indicating an execution history in a processor of a computer system, and particularly to a trace information including information invisible from software (hereinafter referred to as software invisible information). The present invention relates to a trace information collecting mechanism that enables software to collect itself.

【0002】[0002]

【従来の技術】プロセッサが動作中の各種状態をトレー
ス情報として採取する方法は、従来からいくつか知られ
ている。
2. Description of the Related Art There have been known several methods for collecting various states during operation of a processor as trace information.

【0003】特開平5−173838号公報および特開
平8−161195号公報には、プロセッサが実行した
機械語命令のアドレスの履歴を記録する技術が開示され
ている。これらの技術は、プログラム上の実行した機械
語命令のアドレスを長期間に渡って記録することを主目
的としている。
[0003] Japanese Patent Application Laid-Open Nos. Hei 5-173838 and Hei 8-161195 disclose techniques for recording the history of addresses of machine language instructions executed by a processor. These techniques are mainly intended to record the addresses of executed machine language instructions on a program for a long period of time.

【0004】また、特開平6−83670号公報には、
実行した命令のオペランド情報等をトレース情報として
記憶領域に格納し、あらかじめ記述しておいた正しいト
レース情報と一致比較を行う技術が開示されている。こ
の技術は、プログラムのテストを効率よく行うことを主
目的としている。
Japanese Patent Application Laid-Open No. 6-83670 discloses that
A technique is disclosed in which operand information and the like of an executed instruction are stored as trace information in a storage area, and a comparison is made with the correct trace information described in advance. The main purpose of this technique is to efficiently test a program.

【0005】[0005]

【発明が解決しようとする課題】上述した従来の技術に
は、いくつかの問題点があった。
The above-mentioned prior art has several problems.

【0006】第1の問題点は、命令アドレスやオペラン
ド等のソフトウェアから観測可能な情報の履歴のみの収
集にとどまり、ソフトウェア不可視情報の履歴が収集さ
れないことである。スーパースカラ命令や命令のアウト
オブオーダ実行等の高度な機能を実装したプロセッサの
開発およびデバッグを行う上では、命令実行タイミング
等ソフトウェア不可視情報も含めたトレース情報が重要
である。
The first problem is that only the history of information observable from software such as instruction addresses and operands is collected, and the history of software invisible information is not collected. Trace information including software invisible information such as instruction execution timing is important in developing and debugging a processor that implements advanced functions such as superscalar instructions and out-of-order execution of instructions.

【0007】第2の問題点は、トレース情報の収集制御
および収集結果の利用がソフトウェアから柔軟に行うこ
とができないことである。例えば、特開平5−1738
38号公報および特開平8−161195号公報の技術
では、命令アドレスの履歴を収集するのみで、その収集
結果に基づいて一致比較等の処理を行うにはトレース情
報が格納されている記憶領域を走査しなければならな
い。また、特開平6−83670号公報の技術は、予め
記述しておいた正しいトレース情報との一致比較に特化
した方法である。
A second problem is that the collection control of the trace information and the use of the collection result cannot be flexibly performed by software. For example, JP-A-5-1738
In the technology disclosed in Japanese Patent Application Laid-Open Publication No. 38-138 and Japanese Patent Application Laid-Open No. 8-161195, only the history of instruction addresses is collected. Must be scanned. The technique disclosed in Japanese Patent Application Laid-Open No. H6-83670 is a method specialized for matching and matching with correct trace information described in advance.

【0008】これらの従来の技術は、例えば、規模の大
きなテストプログラムを用いたプロセッサの検証を自動
的に行ったり、収集したトレース情報に基づいてアプリ
ケーションプログラムの性能改善に役立てる等の目的で
の利用は容易ではなかった。
These conventional techniques are used for purposes such as, for example, automatically verifying a processor using a large-scale test program, and improving the performance of an application program based on collected trace information. Was not easy.

【0009】本発明の第1の目的は、命令実行パイプラ
インの状態やキャッシュヒットの有無といったソフトウ
ェアからは直接知ることのできないソフトウェア不可視
情報を含むプロセッサのトレース情報を、命令の実行順
や命令の記述順に沿って記録するトレース情報採取機構
を提供することにある。
A first object of the present invention is to provide processor trace information including software invisible information that cannot be directly known from software, such as the state of an instruction execution pipeline and the presence or absence of a cache hit, by using the instruction execution order and instruction execution order. An object of the present invention is to provide a trace information collecting mechanism for recording information in the order of description.

【0010】本発明の第2の目的は、採取したトレース
情報をソフトウェアから容易かつ柔軟にアクセスできる
ようにすることで、プロセッサ開発においてソフトウェ
アによる自律的なプロセッサ検査を可能にするのみなら
ず、アプリケーションプログラム開発においては性能改
善に役立つトレース情報採取機構を提供することにあ
る。
A second object of the present invention is to make it possible to easily and flexibly access collected trace information from software, thereby enabling not only autonomous processor inspection by software in processor development but also application It is an object of the present invention to provide a trace information collecting mechanism useful for improving performance in program development.

【0011】[0011]

【課題を解決するための手段】本発明のトレース情報採
取機構は、命令デコーダ,各機能ユニットおよびレジス
タファイルを備えるプロセッサにおいて、前記命令デコ
ーダにより命令がデコードされるたびに該命令に異なる
タグを添付するタグ発行部(図1の210)と、処理を
終えた命令に添付されたタグを通知する前記機能ユニッ
ト(図1の170,171,172,173)と、前記
命令デコーダにより初期化命令がデコードされたときに
定められた初期値にリセットされ前記プロセッサのクロ
ックサイクル毎に値が増加するサイクルカウンタ(図1
の212)と、トレース情報を記録するトレースメモリ
(図1の213)と、前記機能ユニットから通知された
タグを前記サイクルカウンタのクロックサイクル値をア
ドレスとして前記トレースメモリに前記プロセッサのク
ロックサイクル毎に書き込む書き込み部(図1の21
1)と、前記トレースメモリの内容を前記レジスタファ
イルのレジスタに転送する読み出し部(図1の214)
とを備えることを特徴とする。
According to the present invention, there is provided a trace information collecting mechanism for a processor having an instruction decoder, each functional unit, and a register file, each time an instruction is decoded by the instruction decoder, a different tag is attached to the instruction. The tag issuing unit (210 in FIG. 1), the functional unit (170, 171, 172, and 173 in FIG. 1) for notifying the tag attached to the processed instruction, and the instruction decoder A cycle counter (FIG. 1) which is reset to an initial value determined when decoded and increases in value every clock cycle of the processor.
212), a trace memory (213 in FIG. 1) for recording trace information, and a tag notified from the functional unit in the trace memory using the clock cycle value of the cycle counter as an address for each clock cycle of the processor. Write unit for writing (21 in FIG. 1)
1) and a reading unit (214 in FIG. 1) for transferring the contents of the trace memory to the register of the register file
And characterized in that:

【0012】また、本発明のトレース情報採取機構は、
命令デコーダ,各機能ユニットおよびレジスタファイル
を備えるプロセッサにおいて、前記命令デコーダにより
命令がデコードされるたびに該命令に異なるタグを添付
するタグ発行部(図1の210)と、処理を終えた命令
に添付されたタグおよび該命令の実行ステータスを通知
する前記機能ユニット(図1の170,171,17
2,173)と、トレース情報を記録するトレースメモ
リ(図1の213)と、前記機能ユニットから通知され
た実行ステータスを該機能ユニットから通知されたタグ
をアドレスとして前記トレースメモリに書き込む書き込
み部(図1の211)と、前記トレースメモリの内容を
前記レジスタファイルのレジスタに転送する読み出し部
(図1の214)とを備えることを特徴とする。
Further, the trace information collecting mechanism of the present invention
In a processor including an instruction decoder, each functional unit, and a register file, each time an instruction is decoded by the instruction decoder, a tag issuing unit (210 in FIG. 1) for attaching a different tag to the instruction; The functional unit (170, 171, 17 in FIG. 1) for notifying the attached tag and the execution status of the instruction.
2, 173), a trace memory (213 in FIG. 1) for recording trace information, and a writing unit (213) for writing the execution status notified from the functional unit to the trace memory using the tag notified from the functional unit as an address. 1 and a reading unit (214 in FIG. 1) for transferring the contents of the trace memory to the register of the register file.

【0013】さらに、本発明のトレース情報採取機構
は、命令デコーダ,各機能ユニットおよびレジスタファ
イルを備えるプロセッサにおいて、前記命令デコーダに
よりトレース情報選択命令がデコードされたときに該ト
レース情報選択命令によって指示されたトレースモード
を保持するトレース情報選択部(図1の215)と、前
記命令デコーダにより命令がデコードされるたびに該命
令に異なるタグを添付するタグ発行部(図1の210)
と、処理を終えた命令に添付されたタグおよび該命令の
実行ステータスを通知する前記機能ユニット(図1の1
70,171,172,173)と、前記命令デコーダ
により初期化命令がデコードされたときに定められた初
期値にリセットされ前記プロセッサのクロックサイクル
毎に値が増加するサイクルカウンタ(図1の212)
と、トレース情報を記録するトレースメモリ(図1の2
13)と、前記トレース情報選択部に保持されたトレー
スモードが命令実行順トレース情報採取モードであると
きに前記機能ユニットから通知されたタグを前記サイク
ルカウンタのクロックサイクル値をアドレスとして前記
トレースメモリに前記プロセッサのクロックサイクル毎
に書き込み、前記トレース情報選択部に保持されたトレ
ースモードが命令記述順トレース情報採取モードである
ときに前記機能ユニットから通知された実行ステータス
を該機能ユニットから通知されたタグをアドレスとして
前記トレースメモリに書き込む書き込み部(図1の21
1)と、前記トレースメモリの内容を前記レジスタファ
イルのレジスタに転送する読み出し部(図1の214)
とを備えることを特徴とする。
Further, the trace information collecting mechanism according to the present invention, in a processor having an instruction decoder, each functional unit and a register file, is instructed by the trace information selection instruction when the instruction decoder decodes the trace information selection instruction. A trace information selecting unit (215 in FIG. 1) for holding the trace mode, and a tag issuing unit (210 in FIG. 1) for attaching a different tag to the instruction each time the instruction is decoded by the instruction decoder.
And the functional unit (1 in FIG. 1) for notifying the tag attached to the instruction after the processing and the execution status of the instruction.
70, 171, 172, 173) and a cycle counter (212 in FIG. 1) which is reset to an initial value determined when the initialization instruction is decoded by the instruction decoder and increases every clock cycle of the processor.
And a trace memory (2 in FIG. 1) for recording trace information.
13) When the trace mode held in the trace information selecting unit is the instruction execution order trace information collection mode, the tag notified from the functional unit is stored in the trace memory using the clock cycle value of the cycle counter as an address. A tag which is written in each clock cycle of the processor, and the execution status notified from the functional unit when the trace mode held in the trace information selecting unit is the instruction description order trace information collecting mode, is a tag notified from the functional unit. A writing unit (21 in FIG. 1) for writing in the trace memory as an address
1) and a reading unit (214 in FIG. 1) for transferring the contents of the trace memory to the register of the register file
And characterized in that:

【0014】さらにまた、本発明のトレース情報採取機
構は、命令デコーダ,各機能ユニットおよびレジスタフ
ァイルを備えるプロセッサにおいて、前記命令デコーダ
によりトレース情報採取動作のトリガ命令がデコードさ
れたときに定められた初期値にリセットされ前記命令デ
コーダにより命令がデコードされるたびに値が増加する
内部カウンタを有し、前記命令デコーダによりデコード
された命令に前記内部カウンタのカウント値を順序タグ
として添付する順序タグ発行部(図1の210)と、処
理を終えた命令に添付された順序タグを通知する前記機
能ユニット(図1の170,171,172,173)
と、前記命令デコーダによりトレース情報採取動作のト
リガ命令がデコードされたときに定められた初期値にリ
セットされ前記プロセッサのクロックサイクル毎に値が
増加するサイクルカウンタ(図1の212)と、トレー
ス情報を記録するトレースメモリ(図1の213)と、
前記機能ユニットから通知された順序タグを前記サイク
ルカウンタのクロックサイクル値をアドレスとして前記
トレースメモリに前記プロセッサのクロックサイクル毎
に書き込む書き込み部(図1の211)と、前記トレー
スメモリの内容を前記レジスタファイルのレジスタに転
送する読み出し部(図1の214)とを備えることを特
徴とする。
Still further, according to the present invention, there is provided a trace information collecting mechanism, wherein a processor provided with an instruction decoder, each functional unit and a register file has an initial value determined when a trigger instruction of a trace information collecting operation is decoded by the instruction decoder. A sequence tag issuing unit that has an internal counter that is reset to a value and increases each time the instruction is decoded by the instruction decoder, and attaches the count value of the internal counter as an order tag to the instruction decoded by the instruction decoder (210 in FIG. 1) and the functional unit (170, 171, 172, 173 in FIG. 1) for notifying the order tag attached to the instruction after the processing.
A cycle counter (212 in FIG. 1) which is reset to an initial value determined when a trigger instruction of a trace information collecting operation is decoded by the instruction decoder and increases in value every clock cycle of the processor; A trace memory (213 in FIG. 1) for recording
A writing unit (211 in FIG. 1) for writing the order tag notified from the functional unit to the trace memory using the clock cycle value of the cycle counter as an address for each clock cycle of the processor, and writing the contents of the trace memory to the register A reading unit (214 in FIG. 1) for transferring the data to a file register.

【0015】また、本発明のトレース情報採取機構は、
命令デコーダ,各機能ユニットおよびレジスタファイル
を備えるプロセッサにおいて、前記命令デコーダにより
トレース情報採取動作のトリガ命令がデコードされたと
きに定められた初期値にリセットされ前記命令デコーダ
により命令がデコードされるたびに値が増加する内部カ
ウンタを有し、前記命令デコーダによりデコードされた
命令に前記内部カウンタのカウント値を順序タグとして
添付する順序タグ発行部(図1の210)と、処理を終
えた命令に添付された順序タグおよび該命令の実行ステ
ータスを通知する前記機能ユニット(図1の170,1
71,172,173)と、トレース情報を記録するト
レースメモリ(図1の213)と、前記機能ユニットか
ら通知された実行ステータスを該機能ユニットから通知
された順序タグをアドレスとして前記トレースメモリに
書き込む書き込み部(図1の211)と、前記トレース
メモリの内容を前記レジスタファイルのレジスタに転送
する読み出し部(図1の214)とを備えることを特徴
とする。
Further, the trace information collecting mechanism of the present invention comprises:
In a processor including an instruction decoder, each functional unit and a register file, a reset instruction is reset to an initial value determined when a trigger instruction of a trace information collecting operation is decoded by the instruction decoder, and each time the instruction is decoded by the instruction decoder. An order tag issuing unit (210 in FIG. 1) having an internal counter for increasing the value and attaching the count value of the internal counter as an order tag to the instruction decoded by the instruction decoder; The functional unit (170, 1 in FIG. 1) for notifying the executed order tag and the execution status of the instruction.
71, 172, 173), a trace memory (213 in FIG. 1) for recording trace information, and the execution status notified from the functional unit is written to the trace memory using the order tag notified from the functional unit as an address. It is characterized by comprising a writing unit (211 in FIG. 1) and a reading unit (214 in FIG. 1) for transferring the contents of the trace memory to the register of the register file.

【0016】さらに、本発明のトレース情報採取機構
は、命令デコーダ,各機能ユニットおよびレジスタファ
イルを備えるプロセッサにおいて、前記命令デコーダに
よりトレース情報選択命令がデコードされたときに該ト
レース情報選択命令によって指示されたトレースモード
を保持するトレース情報選択部(図1の215)と、前
記命令デコーダによりトレース情報採取動作のトリガ命
令がデコードされたときに定められた初期値にリセット
され前記命令デコーダにより命令がデコードされるたび
に値が増加する内部カウンタを有し、前記命令デコーダ
によりデコードされた命令に前記内部カウンタのカウン
ト値を順序タグとして添付する順序タグ発行部(図1の
210)と、処理を終えた命令に添付された順序タグお
よび該命令の実行ステータスを通知する前記機能ユニッ
ト(図1の170,171,172,173)と、前記
命令デコーダによりトレース情報採取動作のトリガ命令
がデコードされたときに定められた初期値にリセットさ
れ前記プロセッサのクロックサイクル毎に値が増加する
サイクルカウンタ(図1の212)と、トレース情報を
記録するトレースメモリ(図1の213)と、前記トレ
ース情報選択部に保持されたトレースモードが命令実行
順トレース情報採取モードであるときに前記機能ユニッ
トから通知された順序タグを前記サイクルカウンタのク
ロックサイクル値をアドレスとして前記トレースメモリ
に前記プロセッサのクロックサイクル毎に書き込み、前
記トレース情報選択部に保持されたトレースモードが命
令記述順トレース情報採取モードであるときに前記機能
ユニットから通知された実行ステータスを該機能ユニッ
トから通知された順序タグをアドレスとして前記トレー
スメモリに書き込む書き込み部(図1の211)と、前
記トレースメモリの内容を前記レジスタファイルのレジ
スタに転送する読み出し部(図1の214)とを備える
ことを特徴とする。
Further, a trace information collecting mechanism according to the present invention, in a processor having an instruction decoder, each functional unit and a register file, is instructed by the trace information selection instruction when the instruction decoder decodes the trace information selection instruction. A trace information selecting unit (215 in FIG. 1) for holding the trace mode, and resetting to an initial value determined when a trigger instruction of a trace information collecting operation is decoded by the instruction decoder, and the instruction is decoded by the instruction decoder. A sequence tag issuing unit (210 in FIG. 1) having an internal counter that increases each time the instruction is read, and attaching the count value of the internal counter as an order tag to the instruction decoded by the instruction decoder; Order tag attached to the instruction and the execution style of the instruction. The functional unit (170, 171, 172, 173 in FIG. 1) for notifying the status, and the instruction decoder resets a clock signal of the processor to an initial value determined when a trigger instruction of a trace information collecting operation is decoded. A cycle counter (212 in FIG. 1) whose value increases in each cycle, a trace memory (213 in FIG. 1) for recording trace information, and a trace mode held in the trace information selector are used to collect instruction execution order trace information. When the mode is the mode, the order tag notified from the functional unit is written to the trace memory every clock cycle of the processor using the clock cycle value of the cycle counter as an address, and the trace mode held in the trace information selecting unit is In the instruction description order trace information collection mode A writing unit (211 in FIG. 1) for writing the execution status notified from the functional unit to the trace memory using the order tag notified from the functional unit as an address, and writing the contents of the trace memory into the register of the register file. And a read-out unit (214 in FIG. 1) for transferring the data.

【0017】[0017]

【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照して詳細に説明する。
Embodiments of the present invention will be described below in detail with reference to the drawings.

【0018】図1は、本発明の一実施の形態に係るトレ
ース情報採取機構を組み込んだプロセッサ110の構成
を示す回路ブロック図である。このプロセッサ110
は、命令メモリ100およびデータメモリ101に接続
されており、命令キャッシュ150,命令デコーダ15
1,レジスタファイル152,リオーダバッファ15
3,データキャッシュ160,分岐ユニット170,演
算ユニット171,ロードユニット172,およびスト
アユニット173からなるスーパスカラプロセッサの部
分と、順序タグ発行部210,書き込み部211,サイ
クルカウンタ212,トレースメモリ213,読み出し
部214,およびトレース情報選択部215からなるト
レース情報採取機構の部分とから構成されている。
FIG. 1 is a circuit block diagram showing a configuration of a processor 110 incorporating a trace information collecting mechanism according to an embodiment of the present invention. This processor 110
Are connected to the instruction memory 100 and the data memory 101, and the instruction cache 150, the instruction decoder 15
1, register file 152, reorder buffer 15
3, a superscalar processor including a data cache 160, a branch unit 170, an arithmetic unit 171, a load unit 172, and a store unit 173, and an order tag issuing unit 210, a writing unit 211, a cycle counter 212, a trace memory 213, and a reading unit. 214 and a part of a trace information collecting mechanism comprising a trace information selecting unit 215.

【0019】なお、スーパースカラプロセッサの部分
は、「スーパースカラ・プロセッサ」(マイク・ジョン
ソン原著、村上和彰監訳、日経BP出版センター、19
94年)の第44頁以降に説明されている標準的なスー
パースカラ・プロセッサ・モデルに対応したものであ
り、スーパースカラプロセッサの部分に限定した構成お
よび動作については、上記文献の第45〜50頁に詳し
く述べられている。
The super scalar processor is described in "Super Scalar Processor" (authored by Mike Johnson, translated by Kazuaki Murakami, Nikkei BP Publishing Center, 19
(1994), pp. 44 et seq., And corresponds to the standard superscalar processor model. The configuration and operation limited to the superscalar processor are described in the above references. It is detailed on the page.

【0020】ここで、まず、スーパースカラプロセッサ
の部分の構成について簡単に説明する。
First, the configuration of the super scalar processor will be briefly described.

【0021】スーパースカラプロセッサは、機能ユニッ
トとして、分岐ユニット170,演算ユニット171,
ロードユニット172,およびストアユニット173を
各1つずつ備える。各機能ユニット(170,171,
172,173)は、その入口にリザベーションステー
ション180,181,182,183をそれぞれ備
え、リザベーションステーション180,181,18
2,183内には、順序タグフィールド220,22
1,222,223を含む1つ以上のエントリがそれぞ
れ設けられている。
The super scalar processor includes, as functional units, a branch unit 170, an arithmetic unit 171,
One load unit 172 and one store unit 173 are provided. Each functional unit (170, 171,
172, 173) are provided with reservation stations 180, 181, 182, 183 at their entrances, respectively.
2,183, the order tag fields 220, 22
One or more entries including 1, 222, and 223 are provided.

【0022】命令キャッシュ150は、命令メモリ10
0から取り出された命令を一旦格納する。
The instruction cache 150 includes the instruction memory 10
The instruction fetched from 0 is temporarily stored.

【0023】命令デコーダ151は、命令キャッシュ1
50から命令を取り出し、当該命令を処理可能な機能ユ
ニット(170,171,172,173)を1つ選択
し、その機能ユニットの入口に備わっているリザベーシ
ョンステーション(機能ユニットに応じて180,18
1,182,183のいずれか)の空きエントリに当該
命令のオペコード(命令の種類)およびオペランド情報
(オペランドレジスタ値)を格納する。
The instruction decoder 151 has an instruction cache 1
An instruction is taken out of the function unit 50, one of the functional units (170, 171, 172, 173) capable of processing the instruction is selected, and a reservation station (180, 18 depending on the functional unit) provided at the entrance of the functional unit is selected.
The operation code (instruction type) and the operand information (operand register value) of the instruction are stored in the empty entry of any one of (1, 182, 183).

【0024】レジスタファイル152は、各機能ユニッ
ト(170,171,172,173)が必要とするオ
ペランドレジスタ値を、各機能ユニット(170,17
1,172,173)の入口にあるリザベーションステ
ーション180,181,182,183に送る。
The register file 152 stores an operand register value required by each functional unit (170, 171, 172, 173) in each functional unit (170, 17).
1,172,173) to the reservation stations 180,181,182,183 at the entrance.

【0025】リオーダバッファ153は、処理を終えた
各命令の演算結果を管理し、処理を終えた命令に対する
演算結果のレジスタ値をレジスタファイル152に書き
込む。また、リオーダバッファ153は、各機能ユニッ
ト(170,171,172,173)が必要とするオ
ペランドレジスタ値を、各機能ユニット(170,17
1,172,173)の入口にあるリザベーションステ
ーション180,181,182,183に送る。
The reorder buffer 153 manages the operation result of each processed instruction, and writes the register value of the calculation result for the processed instruction to the register file 152. The reorder buffer 153 stores the operand register values required by each functional unit (170, 171, 172, 173) in each functional unit (170, 17).
1,172,173) to the reservation stations 180,181,182,183 at the entrance.

【0026】分岐ユニット170は、入口に備わったリ
ザベーションステーション180からオペコードおよび
オペランド情報を取り出して分岐処理を行い、その結果
をリオーダバッファ153に送る。
The branch unit 170 extracts the operation code and the operand information from the reservation station 180 provided at the entrance, performs the branch processing, and sends the result to the reorder buffer 153.

【0027】演算ユニット171は、入口に備わったリ
ザベーションステーション181からオペコードおよび
オペランド情報を取り出して演算処理を行い、その結果
をリオーダバッファ153に送る。
The operation unit 171 extracts the operation code and the operand information from the reservation station 181 provided at the entrance, performs the operation processing, and sends the result to the reorder buffer 153.

【0028】ロードユニット172は、入口に備わった
リザベーションステーション182からオペコードおよ
びオペランド情報を取り出して、データキャッシュ16
0経由でデータメモリ101からデータを読み込み、デ
ータキャッシュ160からリオーダバッファ153にデ
ータを送る。
The load unit 172 extracts the operation code and the operand information from the reservation station 182 provided at the entrance, and
0, the data is read from the data memory 101, and the data is sent from the data cache 160 to the reorder buffer 153.

【0029】ストアユニット173は、入口に備わった
リザベーションステーション183からオペコードおよ
びオペランド情報を取り出して、データキャッシュ16
0経由でデータメモリ101にデータを書き込む。
The store unit 173 extracts the operation code and the operand information from the reservation station 183 provided at the entrance, and
Data is written to the data memory 101 via “0”.

【0030】次に、本実施の形態に係るトレース情報採
取機構の構成について説明する。
Next, the configuration of the trace information collecting mechanism according to the present embodiment will be described.

【0031】順序タグ発行部210は、内部カウンタを
有し、この内部カウンタは、命令デコーダ151がトレ
ース情報採取動作の開始を指示するトリガ命令をデコー
ドした際に、ある定められた初期値、例えば値0にリセ
ットされる。
The order tag issuing section 210 has an internal counter. This internal counter is used when the instruction decoder 151 decodes a trigger instruction instructing the start of the trace information collecting operation, for example, a predetermined initial value, for example. Reset to value 0.

【0032】順序タグ発行部210は、命令デコーダ1
51が命令をデコードして各機能ユニット(170,1
71,172,173)のリザベーションステーション
180,181,182,183にオペコードおよびオ
ペランド情報を送り込むたびに、内部カウンタのカウン
ト値を1ずつ増やし、その内部カウンタのカウント値を
順序タグとして、当該命令のオペコードおよびオペラン
ド情報が送り込まれたリザベーションステーション18
0,181,182,183内のエントリの順序タグフ
ィールド220,221,222,223に格納する。
The order tag issuing unit 210 is provided with the instruction decoder 1
51 decodes the instruction and converts each functional unit (170, 1
71, 172, 173), every time the operation code and operand information are sent to the reservation stations 180, 181, 182, 183, the count value of the internal counter is incremented by one, and the count value of the internal counter is used as an order tag, and Reservation station 18 to which opcode and operand information has been sent
0, 181, 182, and 183 are stored in the order tag fields 220, 221, 222, and 223 of the entries.

【0033】各機能ユニット(170,171,17
2,173)は、リザベーションステーション180,
181,182,183内のエントリにある1命令のオ
ペコードおよびオペランド情報の処理を終えたときに、
当該命令の順序タグと当該命令の処理に関する実行ステ
ータスとを書き込み部211に送る。すなわち、処理に
複数クロックサイクルを要する命令では、機能ユニット
(170,171,172,173)は、その最後のク
ロックサイクルでのみ順序タグおよび実行ステータスを
出力する。
Each functional unit (170, 171, 17)
2,173) are reservation stations 180,
When the processing of the opcode and operand information of one instruction in the entries in 181, 182 and 183 is completed,
The order tag of the command and the execution status related to the processing of the command are sent to the writing unit 211. That is, for an instruction requiring a plurality of clock cycles for processing, the functional unit (170, 171, 172, 173) outputs the order tag and the execution status only in the last clock cycle.

【0034】トレース情報選択部215は、内部レジス
タを有し、トレースモード、すなわちトレース情報採取
機構の動作モードを保持する。トレースモードは、命令
デコーダ151がトレース情報選択命令をデコードした
際にトレース情報選択部215に設定される。トレース
モードには、トレース情報を命令実行順に採取するトレ
ースモード(以下、命令実行順トレース情報採取モード
という)と、トレース情報を命令記述順に採取するトレ
ースモード(以下、命令記述順トレース情報採取モード
という)との2つのモードがある。
The trace information selecting section 215 has an internal register and holds a trace mode, that is, an operation mode of the trace information collecting mechanism. The trace mode is set in the trace information selection unit 215 when the instruction decoder 151 decodes the trace information selection instruction. The trace mode includes a trace mode for collecting trace information in the order of instruction execution (hereinafter referred to as an instruction execution order trace information collection mode) and a trace mode for collecting trace information in the order of instruction description (hereinafter referred to as an instruction description order trace information collection mode). ).

【0035】サイクルカウンタ212は、プロセッサ1
10のクロックサイクル毎に1ずつ増加するカウンタで
あり、命令デコーダ151がトレース情報採取動作のト
リガ命令をデコードしたときに、ある定められた初期
値、例えば初期値0にリセットされる。
The cycle counter 212 is provided for the processor 1
This counter is incremented by one every ten clock cycles, and is reset to a predetermined initial value, for example, initial value 0 when the instruction decoder 151 decodes a trigger instruction of a trace information collecting operation.

【0036】書き込み部211は、トレース情報選択部
215に保持されているトレースモードに従い、サイク
ルカウンタ212から送られるクロックサイクル値CY
Cと、各機能ユニット(170,171,172,17
3)から送られる順序タグおよび実行ステータスとを入
力として、トレースメモリ213にトレース情報を書き
込むための書き込みアドレスおよび書き込みデータの組
を生成する。なお、書き込みアドレスおよび書き込みデ
ータの組が同一のクロックサイクルに複数生成されるこ
とがある。書き込み部211は、これらの書き込みアド
レスおよび書き込みデータの組に沿ってトレースメモリ
213にトレース情報を書き込む。
The writing unit 211 receives the clock cycle value CY sent from the cycle counter 212 in accordance with the trace mode held in the trace information selection unit 215.
C and each functional unit (170, 171, 172, 17)
Using the sequence tag and execution status sent from 3) as input, a set of a write address and write data for writing trace information to the trace memory 213 is generated. Note that a plurality of sets of the write address and the write data may be generated in the same clock cycle. The writing unit 211 writes the trace information in the trace memory 213 along the set of the write address and the write data.

【0037】トレースメモリ213は、行位置および列
位置でアドレスされるメモリセルの集合である。トレー
スメモリ213に必要な容量は、1クロックサイクルに
記録したい情報の最大ビット数を列方向、履歴を記録し
たい最長のクロックサイクル数または最長命令数を行方
向とする矩形メモリ領域の容量である。例えば、本実施
の形態では、列方向20ビット、行方向が32行といっ
た小さな容量のメモリである。
The trace memory 213 is a set of memory cells addressed at a row position and a column position. The capacity required for the trace memory 213 is the capacity of a rectangular memory area in which the maximum number of bits of information to be recorded in one clock cycle is in the column direction, and the longest clock cycle number or the longest instruction number in which the history is to be recorded is the row direction. For example, in this embodiment, the memory has a small capacity of 20 bits in the column direction and 32 rows in the row direction.

【0038】一般に、トレースメモリ213は、書き込
みポートを複数持つ。書き込みポートの本数は、プロセ
ッサ110が有する機能ユニット(170,171,1
72,173)の総数に等しく、本実施の形態では、4
本である。トレースメモリ213は、1クロックサイク
ル毎にデータの書き込みが可能でなければならないが、
その書き込みは行単位のみ可能、すなわち行位置をアド
レスとする書き込みが行えればよい。
Generally, the trace memory 213 has a plurality of write ports. The number of write ports is determined by the functional units (170, 171, 1) of the processor 110.
72, 173), and in this embodiment, 4
It is a book. The trace memory 213 must be able to write data every clock cycle,
The writing can be performed only in row units, that is, it is only necessary to perform writing with the row position as an address.

【0039】また、トレースメモリ213は、読み出し
ポートを2本持ち、その一方は一度に1行分のデータを
読み出し、他方は一度に1列分のデータを読み出すこと
が可能でなければならない。読み出し操作は、書き込み
と異なり、必ずしも1クロックサイクル毎に可能である
必要はない。
The trace memory 213 has two read ports, one of which must be capable of reading one row of data at a time and the other being capable of reading one column of data at a time. Unlike a write operation, a read operation need not necessarily be possible every clock cycle.

【0040】読み出し部214は、トレースメモリ21
3中の指定アドレスの領域の内容を読み出し、リオーダ
バッファ153に送る。
The reading unit 214 is provided in the trace memory 21
3 is read out, and sent to the reorder buffer 153.

【0041】次に、図2,図3および図4を用いて、書
き込み部211での書き込みアドレスおよび書き込みデ
ータの生成についてさらに詳しく述べる。
Next, the generation of the write address and the write data in the writing section 211 will be described in more detail with reference to FIGS. 2, 3 and 4.

【0042】図2は、書き込み部211の入出力データ
を示す図である。図中の矢印は、それぞれのデータを伝
達する信号線の集合を示しており、必ずしも矢印1本が
1ビットのデータを意味するものではない。
FIG. 2 is a diagram showing input / output data of the writing unit 211. Arrows in the figure indicate a group of signal lines transmitting each data, and one arrow does not necessarily mean 1-bit data.

【0043】書き込み部211は、各機能ユニット(1
70,171,172,173)からは順序タグTAG
BR,TAGALU,TAGLD,TAGSTおよび実
行ステータスSTATBR,STATALU,STAT
LD,STATSTを、トレース情報選択部215から
はトレースモードMODEを、サイクルカウンタ212
からはクロックサイクル値CYCを、それぞれ入力とし
て受け取る。
The writing unit 211 stores each functional unit (1
70, 171, 172, 173) from the order tag TAG
BR, TAGALU, TAGLD, TAGST and execution status STATBR, STATALU, STAT
LD, STATST, trace mode MODE from the trace information selection unit 215, cycle counter 212
Receives the clock cycle value CYC as an input.

【0044】書き込み部211からの出力信号は、有効
な書き込みデータが存在することを示す書き込み有効信
号WE0,WE1,WE2,WE3と、トレースメモリ
213中の書き込み行位置を示す書き込みアドレスWA
0,WA1,WA2,WA3と、実際に書き込むべき値
である書き込みデータWD0,WD1,WD2,WD3
との3つを1組とした、計4組の書き込み情報である。
これらは、トレースメモリ213が持つ4つの書き込み
ポート#0,#1,#2,#3に送られる。
The output signal from the write unit 211 includes write valid signals WE0, WE1, WE2, and WE3 indicating that valid write data exists, and a write address WA indicating a write row position in the trace memory 213.
0, WA1, WA2, and WA3 and write data WD0, WD1, WD2, and WD3 that are values to be actually written.
Is a set of three, and a total of four sets of write information.
These are sent to four write ports # 0, # 1, # 2, and # 3 of the trace memory 213.

【0045】図3は、書き込み部211における命令実
行順トレース情報採取モードでのデータの流れを示して
いる。
FIG. 3 shows a data flow in the instruction execution order trace information collecting mode in the writing unit 211.

【0046】トレースモードMODEが命令実行順トレ
ース情報採取モードを指示する場合、書き込み部211
は、書き込みポート#0に対する書き込み有効信号WE
0のみをイネーブルにする。
When the trace mode MODE indicates the instruction execution order trace information collection mode, the writing unit 211
Is a write enable signal WE for write port # 0.
Enable only 0.

【0047】また、書き込み部211は、書き込みポー
ト#0の書き込みアドレスWA0としてはクロックサイ
クル値CYCを出力し、書き込みデータWD0としては
各機能ユニット(170,171,172,173)か
ら送られてきた5ビットの順序タグTAGBR,TAG
ALU,TAGLD,TAGSTをビット連結した20
ビットの値を出力する。なお、実行ステータスTAGB
R,TAGALU,TAGLD,TAGSTの特定ビッ
トが有効ビットを示し、このビットがオンでない、すな
わち有効な順序タグを出力していない機能ユニット(1
70,171,172,173)に対しては、順序タグ
として5ビットの値00000が用いられる。
The write section 211 outputs the clock cycle value CYC as the write address WA0 of the write port # 0, and the write data WD0 is sent from each functional unit (170, 171, 172, 173). 5-bit order tag TAGBR, TAG
ALU, TAGLD, TAGST bit-connected 20
Output the value of a bit. Note that the execution status TAGB
The specific bits R, TAGALU, TAGLD, and TAGST indicate a valid bit, and this bit is not on, that is, the functional unit (1
70, 171, 172, 173), a 5-bit value 000000 is used as the order tag.

【0048】図4は、書き込み部211における命令記
述順トレース情報採取モードでのデータの流れを示して
いる。
FIG. 4 shows the flow of data in the instruction description order trace information collection mode in the writing unit 211.

【0049】トレースモードMODEが命令記述順トレ
ース情報採取モードを指示する場合、書き込み部211
は、書き込みポート#0,#1,#2,#3に対して、
対応する機能ユニット(170,171,172,17
3)から送られてきた実行ステータスSTATBR,S
TATALU,STATLD,STATSTをそれぞれ
出力する。
When the trace mode MODE indicates the instruction description order trace information collection mode, the writing unit 211
For write ports # 0, # 1, # 2, # 3
Corresponding functional units (170, 171, 172, 17
Execution status STATBR, S sent from 3)
It outputs TATALU, STATLD, and STATST, respectively.

【0050】また、書き込み部211は、各書き込みア
ドレスWA0,WA1,WA2,WA3に対して、対応
する機能ユニット(170,171,172,173)
から送られてきた順序タグTAGBR,TAGALU,
TAGLD,TAGSTをそれぞれ出力する。
Further, the writing unit 211 responds to each of the write addresses WA0, WA1, WA2, and WA3 with the corresponding functional unit (170, 171, 172, 173).
Order tags TAGBR, TAGALU,
TAGLD and TAGST are output.

【0051】さらに、書き込み部211は、各書き込み
有効信号WE0,WE1,WE2,WE3に対して、対
応する機能ユニット(170,171,172,17
3)から有効な実行ステータスSTATBR,STAT
ALU,STATLD,STATSTが送られている場
合のみイネーブルを出力する。なお、実行ステータスS
TATBR,STATALU,STATLD,STAT
STの有効ビットがオンのときにのみ書き込み有効信号
WE0,WE1,WE2,WE3をイネーブルとする。
Further, the write unit 211 responds to each of the write valid signals WE0, WE1, WE2, and WE3 with the corresponding functional unit (170, 171, 172, 17).
Valid execution status STATBR, STAT from 3)
Enable is output only when ALU, STATLD, and STATST are sent. Note that the execution status S
TATBR, STATALU, STATLD, STAT
Only when the ST valid bit is ON, the write valid signals WE0, WE1, WE2, and WE3 are enabled.

【0052】次に、このように構成された本実施の形態
に係るトレース情報採取機構の動作を、図5ないし図1
2を参照しながら具体的に説明する。
Next, the operation of the thus configured trace information collecting mechanism according to the present embodiment will be described with reference to FIGS.
This will be specifically described with reference to FIG.

【0053】ここで、プロセッサ110の命令発行仕様
を、以下のように仮定する。命令発行は、インオーダで
ある。すなわち、プログラムに記述した順序で命令を発
行する。各機能ユニット(170,171,172,1
73)には、2つのエントリを持つリザベーションステ
ーション180,181,182,183が備わってい
る。命令デコーダ151は、処理を行う機能ユニット
(170,171,172,173)のリザベーション
ステーション180,181,182,183に空きエ
ントリがあれば、1クロックサイクルに最大3個まで命
令を発行できる。演算ユニット171は演算命令を1ク
ロックで実行でき、ロードユニット172およびストア
ユニット173は各々ロードおよびストア命令を2クロ
ックで実行できるものとする。
Here, the instruction issue specification of the processor 110 is assumed as follows. Instruction issuance is in order. That is, instructions are issued in the order described in the program. Each functional unit (170, 171, 172, 1
73) includes reservation stations 180, 181, 182, 183 having two entries. The instruction decoder 151 can issue up to three instructions in one clock cycle if there are empty entries in the reservation stations 180, 181, 182, 183 of the functional units (170, 171, 172, 173) that perform the processing. The operation unit 171 can execute the operation instruction in one clock, and the load unit 172 and the store unit 173 can execute the load and store instruction in two clocks.

【0054】図5は、本実施の形態に係るトレース情報
採取機構の動作に関連するプロセッサ命令の一覧を示す
図である。
FIG. 5 is a diagram showing a list of processor instructions related to the operation of the trace information collecting mechanism according to the present embodiment.

【0055】PSEL命令は、トレース情報選択命令で
あり、パラメータmode(1つ以上のパラメータから
なる場合がある)のビットパターンでトレースモードを
指示する。指示されたトレースモードはトレース情報選
択部215に保持され、その後のトレース情報採取動作
において書き込み部211での信号選択に用いられる。
例えば、第1パラメータがunitであれば、命令実行
順トレース情報採取モードが指定され、採取すべきトレ
ース情報の種類として機能ユニット(170,171,
172,173)毎の処理を終えた命令の順序タグTA
GBR,TAGALU,TAGLD,TAGSTが選択
される(図6参照)。また、第1パラメータがstat
usであれば、命令記述順トレース情報採取モードが指
定され、採取すべきトレース情報の種類として各命令の
実行ステータスSTATBR,STATALU,STA
TLD,STATSTが選択される(図10参照)。な
お、第2パラメータresetの指定により、トレース
メモリ213の全内容が初期値0にリセットされる(図
6および図10参照)。
The PSEL instruction is a trace information selection instruction, and indicates a trace mode by a bit pattern of a parameter mode (which may include one or more parameters). The designated trace mode is held in the trace information selecting unit 215, and is used for signal selection in the writing unit 211 in the subsequent trace information collecting operation.
For example, if the first parameter is unit, the instruction execution order trace information collection mode is specified, and the type of the trace information to be collected is a functional unit (170, 171, 171).
172, 173) The order tag TA of the instruction after completion of each process.
GBR, TAGALU, TAGLD, and TAGST are selected (see FIG. 6). Also, if the first parameter is stat
If us, the instruction description order trace information collection mode is designated, and the execution status STATBR, STATALU, STA of each instruction is set as the type of trace information to be collected.
TLD and STATST are selected (see FIG. 10). Note that the designation of the second parameter reset resets the entire contents of the trace memory 213 to the initial value 0 (see FIGS. 6 and 10).

【0056】PTRIG命令は、トレース情報採取動作
のトリガ命令であり、順序タグ発行部210の内部カウ
ンタのカウント値を初期値0に、サイクルカウンタ21
2のクロックサイクル値CYCを初期値0にそれぞれリ
セットするとともに、それ以降、トレース情報採取機構
全体を動作状態にさせる。
The PTRIG instruction is a trigger instruction for a trace information collecting operation. The PTRIG instruction sets the count value of the internal counter of the order tag issuing unit 210 to an initial value 0, and sets the cycle counter 21
In addition to resetting the clock cycle value CYC of No. 2 to the initial value 0, the entire trace information collecting mechanism is made to operate thereafter.

【0057】PSTOP命令は、トレース情報採取動作
の停止命令であり、順序タグ発行部210の内部カウン
タおよびサイクルカウンタ212のカウント動作を停止
させるとともに、書き込み部211のトレースメモリ2
13への書き込み動作を停止させる。
The PSTOP instruction is a command for stopping the trace information collecting operation. The PSTOP instruction stops the counting operation of the internal counter of the order tag issuing unit 210 and the cycle counter 212, and the trace memory 2 of the writing unit 211.
13 is stopped.

【0058】PRDR命令およびPRDC命令は、トレ
ースメモリ213に採取されたトレース情報をレジスタ
ファイル152のレジスタに読み出すための命令であ
る。PRDR命令は、第2パラメータrow#で指定さ
れたトレースメモリ213の行の内容を読み出し、第1
パラメータreg#で指定されたレジスタに転送する。
PRDC命令は、第2パラメータcol#で指定された
トレースメモリ213の列の内容を読み出し、第1パラ
メータreg#で指定されたレジスタに転送する。
The PRDR instruction and the PRDC instruction are instructions for reading the trace information collected in the trace memory 213 into the register of the register file 152. The PRDR instruction reads the contents of the row of the trace memory 213 specified by the second parameter row #,
Transfer to the register specified by parameter reg #.
The PRDC instruction reads the contents of the column of the trace memory 213 specified by the second parameter col # and transfers the read contents to the register specified by the first parameter reg #.

【0059】図6は、トレース情報の採取を行うプログ
ラムの一部分を示す図である。左端の1から12の番号
は、説明のために各命令に付した命令番号である。同図
において、命令番号1および2はトレース情報の採取の
準備を行う部分、命令番号3から11まではトレース情
報の採取処理の部分、命令番号12はトレース情報の採
取を停止するための部分である。このプログラムは、命
令実行順トレース情報採取モードの例である。すなわ
ち、プログラムでの命令の記述順ではなく、命令の実行
のクロックサイクル順にトレース情報を採取する。
FIG. 6 is a diagram showing a part of a program for collecting trace information. The numbers 1 to 12 at the left end are instruction numbers assigned to each instruction for explanation. In the figure, instruction numbers 1 and 2 are a part for preparing to collect trace information, instruction numbers 3 to 11 are a part for collecting trace information, and an instruction number 12 is a part for stopping the collection of trace information. is there. This program is an example of the instruction execution order trace information collection mode. That is, the trace information is collected not in the order of description of the instructions in the program but in the clock cycle of the execution of the instructions.

【0060】図7および図8は、図6に示したプログラ
ムの実行における、発行された命令,各機能ユニット
(170,171,172,173)のリザベーション
ステーション180,181,182,183に格納さ
れている命令(図中のRVSTはリザベーションステー
ションの意である),各機能ユニット(170,17
1,172,173)が出力する順序タグ,ならびに書
き込み部211に送られる書き込みアドレスおよび書き
込みデータをクロックサイクル毎に示したものである。
FIGS. 7 and 8 show the issued instructions and the reservations stored in the reservation stations 180, 181, 182, 183 of the functional units (170, 171, 172, 173) in the execution of the program shown in FIG. Instructions (RVST in the figure stands for reservation station), each functional unit (170, 17
1, 172, 173), and the write address and write data sent to the write unit 211 are shown for each clock cycle.

【0061】図9は、図6に示したプログラムの実行が
完了した段階でのトレースメモリ213内のトレース情
報を示す図である。
FIG. 9 is a diagram showing trace information in the trace memory 213 at the stage when the execution of the program shown in FIG. 6 has been completed.

【0062】次に、図6に示したプログラム例に基づい
て、命令実行順トレース情報採取モードでトレース情報
を採取する場合の動作を説明する。
Next, an operation when collecting trace information in the instruction execution order trace information collecting mode based on the example of the program shown in FIG. 6 will be described.

【0063】命令デコーダ151は、命令番号1のPS
EL命令をデコードすると、第1パラメータunitに
より、命令実行順トレース情報採取モード(採取すべき
トレース情報の種類としては機能ユニット(170,1
71,172,173)毎の処理を終えた命令の順序タ
グTAGBR,TAGALU,TAGLD,TAGS
T)を選択し、トレース情報選択部215に設定する。
また、命令デコーダ151は、第2パラメータrese
tにより、トレースメモリ213の全内容を初期値0に
リセットする。
The instruction decoder 151 outputs the PS of the instruction number 1
When the EL instruction is decoded, the instruction execution order trace information collection mode (the type of trace information to be collected is a functional unit (170, 1
71, 172, 173) The order tag TAGBR, TAGLU, TAGLD, TAGs of the instruction that has been processed for each process.
T) is selected and set in the trace information selection unit 215.
Further, the instruction decoder 151 outputs the second parameter
At t, the entire contents of the trace memory 213 are reset to the initial value 0.

【0064】次に、命令デコーダ151は、命令番号2
のPTRIG命令をデコードすると、順序タグ発行部2
10の内部カウンタを初期値0にリセットとするととも
に、サイクルカウンタ212を初期値0にリセットし、
トレース情報採取機構全体を動作状態にする。ここで、
命令番号3のLW命令(ロード命令)が命令デコーダ1
51からデコードされるクロックサイクルをサイクルカ
ウンタ212のサイクルクロック値CYC(=0)に基
づいてクロックサイクル0とし、以後、プロセッサ11
0のクロックサイクル毎に、クロックサイクル1,クロ
ックサイクル2,…と呼ぶことにする。
Next, the instruction decoder 151 sets the instruction number 2
Decodes the PTRIG instruction of
The internal counter 10 is reset to an initial value 0, and the cycle counter 212 is reset to an initial value 0.
Put the entire trace information collection mechanism in operation. here,
The LW instruction (load instruction) of instruction number 3 is the instruction decoder 1
The clock cycle decoded from 51 is set to clock cycle 0 based on the cycle clock value CYC (= 0) of the cycle counter 212.
Each clock cycle of 0 is referred to as clock cycle 1, clock cycle 2,...

【0065】クロックサイクル0での動作は、以下のよ
うになる。
The operation in clock cycle 0 is as follows.

【0066】命令デコーダ151は、命令番号3のLW
命令をデコードすると、そのオペコードおよびオペラン
ド情報をロードユニット172のリザベーションステー
ション182の空きエントリに格納する。
The instruction decoder 151 outputs the LW of the instruction number 3
When the instruction is decoded, the operation code and the operand information are stored in a free entry of the reservation station 182 of the load unit 172.

【0067】同時に、順序タグ発行部210は、内部カ
ウンタの値を1つ増加させ、内部カウンタの値1をLW
命令に対する順序タグとして発行し、命令デコーダ15
1によりLW命令のオペコードおよびオペランド情報が
格納されたロードユニット172のリザベーションステ
ーション182における該当エントリ中の順序タグフィ
ールド222に書き込む(図7参照)。
At the same time, the order tag issuing unit 210 increases the value of the internal counter by one, and
Issued as an order tag for the instruction,
1 writes the order tag field 222 in the corresponding entry in the reservation station 182 of the load unit 172 in which the operation code and operand information of the LW instruction are stored (see FIG. 7).

【0068】次に、命令デコーダ151は、続く命令番
号4のLI命令(定数ロード命令)をデコードすると、
そのオペコードおよびオペランド情報を同じクロックサ
イクル0のうちに演算ユニット171のリザベーション
ステーション181の空きエントリに格納する。
Next, when the instruction decoder 151 decodes the following LI instruction (constant load instruction) of instruction number 4,
The operation code and the operand information are stored in an empty entry of the reservation station 181 of the arithmetic unit 171 during the same clock cycle 0.

【0069】同時に、順序タグ発行部210は、内部カ
ウンタの値を1つ増加させ、内部カウンタの値2をLI
命令に対する順序タグとして発行し、命令デコーダ15
1によりLI命令のオペコードおよびオペランド情報が
格納された演算ユニット171のリザベーションステー
ション181における該当エントリ中の順序タグフィー
ルド221に書き込む(図7参照)。
At the same time, the order tag issuing unit 210 increases the value of the internal counter by one, and
Issued as an order tag for the instruction,
1 writes the order code field 221 in the corresponding entry in the reservation station 181 of the arithmetic unit 171 in which the operation code and the operand information of the LI instruction are stored (see FIG. 7).

【0070】続いて、命令デコーダ151は、その次に
ある命令番号5のANDI命令(論理演算命令)をデコ
ードする。命令デコーダ151は、デコードした命令の
オペコードおよびオペランド情報を、リザベーションス
テーション181にまだ空きエントリがあるために、同
じクロックサイクル0のうちに演算ユニット171のリ
ザベーションステーション181の空きエントリに格納
する。
Subsequently, the instruction decoder 151 decodes the next ANDI instruction (logical operation instruction) of the instruction number 5. The instruction decoder 151 stores the operation code and operand information of the decoded instruction in an empty entry of the reservation station 181 of the arithmetic unit 171 during the same clock cycle 0 because there is still an empty entry in the reservation station 181.

【0071】同時に、順序タグ発行部210は、内部カ
ウンタの値を1つ増加させ、内部カウンタの値3をAN
DI命令に対する順序タグとして発行し、命令デコーダ
151によりANDI命令のオペコードおよびオペラン
ド情報が格納された演算ユニット171のリザベーショ
ンステーション181における該当エントリ中の順序タ
グフィールド221に書き込む(図7参照)。
At the same time, the order tag issuing section 210 increments the value of the internal counter by one, and
It is issued as an order tag for the DI instruction, and is written by the instruction decoder 151 into the order tag field 221 in the corresponding entry in the reservation station 181 of the arithmetic unit 171 in which the operation code and operand information of the ANDI instruction are stored (see FIG. 7).

【0072】このクロックサイクル0では、書き込み部
211は、サイクルカウンタ212のクロックサイクル
値CYC(=0)を書き込みアドレスとしてトレースメ
モリ213に送出する。また、書き込み部211は、各
機能ユニット(170,171,172,173)から
有効な順序タグTAGBR,TAGALU,TAGL
D,TAGSTを送られていないので、5ビットの値0
0000を4つビット連結した20ビットの書き込みデ
ータ00000000000000000000をトレ
ースメモリ213に送出する(図7参照)。
In clock cycle 0, the writing section 211 sends the clock cycle value CYC (= 0) of the cycle counter 212 to the trace memory 213 as a write address. In addition, the writing unit 211 transmits valid sequence tags TAGBR, TAGALU, and TAGL from each functional unit (170, 171, 172, 173).
D, TAGST is not sent, so 5-bit value 0
The 20-bit write data 0000000000000000000, which is obtained by concatenating four 0000 bits, is sent to the trace memory 213 (see FIG. 7).

【0073】結果として、書き込みアドレスが示すトレ
ースメモリ213の行0に、書き込みデータ00000
000000000000000がトレース情報として
書き込まれる(図9参照)。
As a result, the write data 000000 is stored in row 0 of the trace memory 213 indicated by the write address.
000000000000000 is written as trace information (see FIG. 9).

【0074】次に、クロックサイクル1での動作は、以
下のようになる。
Next, the operation in clock cycle 1 is as follows.

【0075】演算ユニット171は、クロックサイクル
0で発行され、リザベーションステーション181のエ
ントリに格納されていたオペコードおよびオペランド情
報に基づいてLI命令の処理を実行し、処理を終えたL
I命令に対する順序タグの値2および実行ステータスを
書き込み部211に送る(図7参照)。
The operation unit 171 executes processing of the LI instruction based on the operation code and the operand information issued in the clock cycle 0 and stored in the entry of the reservation station 181, and finishes the processing of L.
The value 2 of the order tag and the execution status for the I instruction are sent to the writing unit 211 (see FIG. 7).

【0076】同様に、ロードユニット172は、クロッ
クサイクル0で発行され、リザベーションステーション
182のエントリに格納されていたオペコードおよびオ
ペランド情報に基づいてLW命令の処理を開始する。ロ
ード命令の処理には2クロックかかるため、ロードユニ
ット172は、このクロックサイクルでは順序タグおよ
び実行ステータスを書き込み部211へ送らない(図7
参照)。
Similarly, load unit 172 is issued at clock cycle 0, and starts processing the LW instruction based on the operation code and the operand information stored in the entry of reservation station 182. Since the processing of the load instruction requires two clocks, the load unit 172 does not send the order tag and the execution status to the writing unit 211 in this clock cycle (see FIG. 7).
reference).

【0077】一方、命令デコーダ151は、命令番号6
のSLLV命令(論理演算命令)をデコードすると、そ
のオペコードおよびオペランド情報を演算ユニット17
1のリザベーションステーション181の空きエントリ
に格納する。
On the other hand, the instruction decoder 151 outputs the instruction number 6
When the SLLV instruction (logical operation instruction) is decoded, its operation code and operand information are
1 is stored in an empty entry of the reservation station 181.

【0078】同時に、順序タグ発行部210は、内部カ
ウンタの値を1つ増加させ、内部カウンタの値4をSL
LV命令に対する順序タグとして発行し、命令デコーダ
151によりSLLV命令のオペコードおよびオペラン
ド情報が格納された演算ユニット171のリザベーショ
ンステーション181における該当エントリ中の順序タ
グフィールド221に書き込む(図7参照)。
At the same time, the order tag issuing unit 210 increases the value of the internal counter by one and
The instruction is issued as an order tag for the LV instruction, and the instruction decoder 151 writes the operation code and operand information of the SLLV instruction in the order tag field 221 in the corresponding entry in the reservation station 181 of the arithmetic unit 171 (see FIG. 7).

【0079】他方、書き込み部211は、サイクルカウ
ンタ212のクロックサイクル値CYC(=1)を書き
込みアドレスとしてトレースメモリ213に送出する。
また、書き込み部211は、各機能ユニット(170,
171,172,173)から送られてきた各5ビット
の順序タグをビット連結した20ビット長の書き込みデ
ータ00000000100000000000をトレ
ースメモリ213に送出する(図7参照)。
On the other hand, the writing section 211 sends the clock cycle value CYC (= 1) of the cycle counter 212 to the trace memory 213 as a write address.
In addition, the writing unit 211 stores the function units (170,
171, 172, 173), and transmits the 20-bit long write data 000000001000000000000 to the trace memory 213 by bit-concatenating the 5-bit sequence tags (see FIG. 7).

【0080】結果として、書き込みアドレスが示すトレ
ースメモリ213の行1に、20ビットの書き込みデー
タ00000000100000000000がトレー
ス情報として書き込まれる(図9参照)。
As a result, 20-bit write data 00000001000000000000000 is written as trace information in row 1 of the trace memory 213 indicated by the write address (see FIG. 9).

【0081】このように、命令のオペコードおよびオペ
ランド情報とともに順序タグが添付されて処理を行う機
能ユニットに送られ、各機能ユニット(170,17
1,172,173)で命令が処理されると、その命令
のオペコードおよびオペランド情報に添付されていた順
序タグが書き込み部211を経由してクロックサイクル
毎にトレースメモリ213にトレース情報として書き込
まれていく。
As described above, the order tag is attached together with the instruction operation code and the operand information and sent to the functional unit that performs the processing.
When the instruction is processed in (1, 172, 173), the order tag attached to the opcode and the operand information of the instruction is written as trace information to the trace memory 213 via the writing unit 211 every clock cycle. Go.

【0082】最後に、命令デコーダ151が命令番号1
2のPSTOP命令をフェッチすると、命令デコーダ1
51は、先行命令(命令番号が11以下の命令)がすべ
て完了している、すなわちリオーダバッファ153に先
行命令が全く存在しなくなるのを待って、PSTOP命
令をデコードし、そのオペコードを順序タグ発行部21
0,トレース情報選択部215およびサイクルカウンタ
212に送る。
Finally, the instruction decoder 151 sets the instruction number 1
2 fetches the PSTOP instruction, the instruction decoder 1
51, waits until all preceding instructions (instructions with an instruction number of 11 or less) have been completed, that is, when there is no preceding instruction in the reorder buffer 153, decodes the PSTOP instruction, and issues the opcode to the sequence tag. Part 21
0, sent to the trace information selection unit 215 and the cycle counter 212.

【0083】これにより、順序タグ発行部210は、新
たな順序タグの発行を止め、サイクルカウンタ212
は、カウント動作を止め、トレース情報選択部215
は、書き込み部211に指示してトレースメモリ213
への新たなトレース情報の書き込みを停止させ、トレー
ス情報採取機構全体の動作が停止する。
Thus, the order tag issuing unit 210 stops issuing a new order tag, and
Stops the counting operation and sets the trace information selection unit 215
Is instructed to the writing unit 211 and the trace memory 213
The writing of the new trace information to the trace information collection is stopped, and the operation of the entire trace information collection mechanism stops.

【0084】このように、命令実行順トレース情報採取
モードでは、書き込み部211がクロックサイクルをア
ドレスとして順序タグを記録していくため、命令の実行
されるクロックサイクル毎にトレースメモリ213にト
レース情報を記録することができる。
As described above, in the instruction execution order trace information collection mode, since the writing unit 211 records the order tag using the clock cycle as an address, the trace information is stored in the trace memory 213 every clock cycle in which the instruction is executed. Can be recorded.

【0085】図10は、トレース情報採取を行う別のプ
ログラムの一部分を示す図である。このプログラムは、
命令記述順トレース情報採取モードでトレース情報を採
取する例である。すなわち、命令実行のクロックサイク
ル順ではなく、プログラムでの命令記述の順番に沿って
トレース情報を採取する。
FIG. 10 is a diagram showing a part of another program for collecting trace information. This program is
This is an example of collecting trace information in the instruction description order trace information collection mode. That is, trace information is collected not in the order of clock cycles of instruction execution but in the order of instruction description in a program.

【0086】図11は、図10に示したプログラムの実
行における、各機能ユニット(170,171,17
2,173)が出力する順序タグTAGBR,TAGA
LU,TAGLD,TAGSTおよび実行ステータスS
TATBR,STATALU,STATLD,STAT
ST,ならびに書き込み部211に送られる書き込みア
ドレスおよび書き込みデータをクロックサイクル毎に順
を追って示したものである。
FIG. 11 shows each functional unit (170, 171, 17) in executing the program shown in FIG.
2, 173) output order tags TAGBR, TAGA
LU, TAGLD, TAGST and execution status S
TATBR, STATALU, STATLD, STAT
ST, and the write address and write data sent to the write unit 211 are shown in order for each clock cycle.

【0087】図12は、図10に示したプログラム部分
の実行によって得られたトレースメモリ213内のトレ
ース情報を示したものである。
FIG. 12 shows trace information in the trace memory 213 obtained by executing the program part shown in FIG.

【0088】次に、図10に示したプログラム例に基づ
いて、命令記述順トレース情報採取モードでトレース情
報を採取する場合の動作を説明する。
Next, the operation of collecting trace information in the instruction description order trace information collection mode based on the example of the program shown in FIG. 10 will be described.

【0089】命令デコーダ151は、命令番号1のPS
EL命令をデコードすると、第1パラメータstatu
sにより、命令記述順トレース情報採取モード(採取す
べきトレース情報の種類として各命令の実行ステータ
ス)を選択し、トレース情報選択部215に設定する。
また、命令デコーダ151は、第2パラメータrese
tにより、トレースメモリ213の全内容を初期値0に
リセットする。
The instruction decoder 151 outputs the PS of the instruction number 1
When the EL instruction is decoded, the first parameter statu
According to s, the instruction description order trace information collection mode (the execution status of each instruction as the type of trace information to be collected) is selected and set in the trace information selection unit 215.
Further, the instruction decoder 151 outputs the second parameter
At t, the entire contents of the trace memory 213 are reset to the initial value 0.

【0090】次に、命令デコーダ151は、命令番号2
のPTRIG命令をデコードすると、順序タグ発行部2
10の内部カウンタを初期値0にリセットとするととも
に、サイクルカウンタ212を初期値0にリセットし、
トレース情報採取機構全体を動作状態にする。ここで、
命令番号3のLW命令(ロード命令)が命令デコーダ1
51からデコードされるクロックサイクルをサイクルカ
ウンタ212のサイクルクロック値CYC(=0)に基
づいてクロックサイクル0とし、以後、プロセッサ11
0のクロックサイクル毎に、クロックサイクル1,クロ
ックサイクル2,…と呼ぶことにする。
Next, the instruction decoder 151 outputs the instruction number 2
Decodes the PTRIG instruction of
The internal counter 10 is reset to an initial value 0, and the cycle counter 212 is reset to an initial value 0.
Put the entire trace information collection mechanism in operation. here,
The LW instruction (load instruction) of instruction number 3 is the instruction decoder 1
The clock cycle decoded from 51 is set to clock cycle 0 based on the cycle clock value CYC (= 0) of the cycle counter 212.
Each clock cycle of 0 is referred to as clock cycle 1, clock cycle 2,...

【0091】クロックサイクル0での動作は、以下のよ
うになる。
The operation in clock cycle 0 is as follows.

【0092】命令デコーダ151は、命令番号3のLW
命令をデコードすると、そのオペコードおよびオペラン
ド情報をロードユニット172のリザベーションステー
ション182の空きエントリに格納する。
The instruction decoder 151 outputs the LW of the instruction number 3
When the instruction is decoded, the operation code and the operand information are stored in a free entry of the reservation station 182 of the load unit 172.

【0093】同時に、順序タグ発行部210は、内部カ
ウンタの値を1つ増加させ、内部カウンタの値1をLW
命令に対する順序タグとして発行し、命令デコーダ15
1によりLW命令のオペコードおよびオペランド情報が
格納されたロードユニット172のリザベーションステ
ーション182における該当エントリ中の順序タグフィ
ールド222に書き込む(図11参照)。
At the same time, the order tag issuing unit 210 increases the value of the internal counter by one, and
Issued as an order tag for the instruction,
1 writes the order code field 222 in the corresponding entry in the reservation station 182 of the load unit 172 in which the operation code and the operand information of the LW instruction are stored (see FIG. 11).

【0094】次に、命令デコーダ151は、続く命令番
号4のLW命令をデコードすると、そのオペコードおよ
びオペランド情報を、リザベーションステーション18
2にまだ空きエントリがあるために、同じクロックサイ
クル0のうちにロードユニット172のリザベーション
ステーション182の空きエントリに格納する。
Next, when the instruction decoder 151 decodes the following LW instruction of instruction number 4, it stores the operation code and the operand information in the reservation station 18.
Since there is still an empty entry in 2, it is stored in the empty entry of the reservation station 182 of the load unit 172 during the same clock cycle 0.

【0095】同時に、順序タグ発行部210は、内部カ
ウンタの値を1つ増加させ、内部カウンタの値2をLW
命令に対する順序タグとして発行し、命令デコーダ15
1によりLW命令のオペコードおよびオペランド情報が
格納されたロードユニット172のリザベーションステ
ーション182における該当エントリ中の順序タグフィ
ールド222に書き込む(図11参照)。
At the same time, the order tag issuing unit 210 increases the value of the internal counter by one, and
Issued as an order tag for the instruction,
1 writes the order code field 222 in the corresponding entry in the reservation station 182 of the load unit 172 in which the operation code and the operand information of the LW instruction are stored (see FIG. 11).

【0096】次に、命令デコーダ151は、続く命令番
号5のLI命令(定数ロード命令)をデコードすると、
そのオペコードおよびオペランド情報を同じクロックサ
イクル0のうちに演算ユニット171のリザベーション
ステーション181の空きエントリに格納する。
Next, when the instruction decoder 151 decodes the following LI instruction (constant load instruction) of instruction number 5,
The operation code and the operand information are stored in an empty entry of the reservation station 181 of the arithmetic unit 171 during the same clock cycle 0.

【0097】同時に、順序タグ発行部210は、内部カ
ウンタの値を1つ増加させ、内部カウンタの値3をLI
命令に対する順序タグとして発行し、命令デコーダ15
1によりLI命令のオペコードおよびオペランド情報が
格納された演算ユニット171のリザベーションステー
ション181における該当エントリ中の順序タグフィー
ルド221に書き込む(図11参照)。
At the same time, the order tag issuing unit 210 increases the value of the internal counter by one, and
Issued as an order tag for the instruction,
1 writes the order code field 221 in the corresponding entry in the reservation station 181 of the arithmetic unit 171 in which the operation code and the operand information of the LI instruction are stored (see FIG. 11).

【0098】このクロックサイクル0では、書き込み部
211は、各機能ユニット(170,171,172,
173)から有効な実行ステータスSTATBR,ST
ATALU,STATLD,STATSTを送られてい
ないので、書き込みアドレスおよび書き込みデータをト
レースメモリ213に送出しない(図11参照)。
In the clock cycle 0, the writing unit 211 transmits the function units (170, 171, 172,
From 173), the effective execution status STATBR, ST
Since ATALU, STATLD, and STATST have not been sent, the write address and write data are not sent to the trace memory 213 (see FIG. 11).

【0099】クロックサイクル1での動作は、以下のよ
うになる。
The operation in clock cycle 1 is as follows.

【0100】演算ユニット171は、クロックサイクル
0で発行され、リザベーションステーション181のエ
ントリに格納されていたオペコードおよびオペランド情
報に基づいてLI命令の処理を実行し、処理を終えたL
I命令に対する順序タグの値3および実行ステータス
「−−−−」(ただし、適当なビット数の2進数に符号
化されている。以下同様)を書き込み部211に送る
(図11参照)。この実行ステータスは、演算ユニット
171での演算結果のフラグ変化を意味する情報で、左
から順にキャリーフラグ,オーバーフローフラグ,サイ
ンフラグ,およびゼロフラグの変化を示す。「−−−
−」は、4つのフラグのいずれも変化しないことを意味
する。
The operation unit 171 executes the processing of the LI instruction based on the operation code and the operand information issued in the clock cycle 0 and stored in the entry of the reservation station 181 and finishes the processing.
The value 3 of the order tag for the I instruction and the execution status "---" (encoded into a binary number of an appropriate number of bits, the same applies hereinafter) are sent to the writing unit 211 (see FIG. 11). The execution status is information indicating a flag change of a calculation result in the calculation unit 171 and indicates a change of a carry flag, an overflow flag, a sign flag, and a zero flag in order from the left. "---
"-" Means that none of the four flags change.

【0101】同様に、ロードユニット172は、クロッ
クサイクル0で発行され、リザベーションステーション
182の先のエントリに格納されていたオペコードおよ
びオペランド情報に基づいて命令番号3のLW命令の処
理を実行する。しかし、クロックサイクル0中にはLW
命令の処理が完了しないので、ロードユニット172
は、処理を終えたLW命令に対する順序タグの値1およ
び実行ステータスを書き込み部211には送らない(図
11参照)。
Similarly, the load unit 172 executes the processing of the LW instruction of the instruction number 3 based on the operation code and the operand information which are issued in the clock cycle 0 and stored in the previous entry of the reservation station 182. However, during clock cycle 0, LW
Since the processing of the instruction is not completed, the load unit 172
Does not send the value 1 and the execution status of the order tag for the processed LW instruction to the writing unit 211 (see FIG. 11).

【0102】一方、命令デコーダ151は、命令番号6
のAND命令(論理演算命令)をデコードすると、その
オペコードおよびオペランド情報を演算ユニット171
のリザベーションステーション181の空きエントリに
格納する。
On the other hand, the instruction decoder 151 outputs the instruction number 6
When the AND instruction (logical operation instruction) is decoded, its operation code and operand information are
Is stored in a free entry of the reservation station 181.

【0103】同時に、順序タグ発行部210は、内部カ
ウンタの値を1つ増加させ、内部カウンタの値4をAN
D命令に対する順序タグとして発行し、命令デコーダ1
51によりAND命令のオペコードおよびオペランド情
報が格納された演算ユニット171のリザベーションス
テーション181における該当エントリ中の順序タグフ
ィールド221に書き込む(図11参照)。
At the same time, the order tag issuing unit 210 increments the value of the internal counter by one, and
Issued as an order tag for the D instruction, the instruction decoder 1
At 51, the operation code and the operand information of the AND instruction are written into the order tag field 221 in the corresponding entry in the reservation station 181 of the arithmetic unit 171 (see FIG. 11).

【0104】次に、命令デコーダ151は、命令番号7
のCMP命令(比較命令)をデコードすると、リザベー
ションステーション181にまだ空きエントリがあるた
めに、同じクロックサイクル1のうちに、そのオペコー
ドおよびオペランド情報を演算ユニット171のリザベ
ーションステーション181の空きエントリに格納す
る。
Next, the instruction decoder 151 sets the instruction number 7
When the CMP instruction (comparison instruction) is decoded, since the reservation station 181 still has an empty entry, the operation code and the operand information are stored in the empty entry of the reservation station 181 of the arithmetic unit 171 in the same clock cycle 1. .

【0105】同時に、順序タグ発行部210は、内部カ
ウンタの値を1つ増加させ、内部カウンタの値5をCM
P命令に対する順序タグとして発行し、命令デコーダ1
51によりCMP命令のオペコードおよびオペランド情
報が格納された演算ユニット171のリザベーションス
テーション181における該当エントリ中の順序タグフ
ィールド221に書き込む(図11参照)。
At the same time, the order tag issuing unit 210 increases the value of the internal counter by one, and
Issued as an order tag for the P instruction, the instruction decoder 1
At 51, the operation code and the operand information of the CMP instruction are stored in the order tag field 221 in the corresponding entry in the reservation station 181 of the arithmetic unit 171 (see FIG. 11).

【0106】他方、書き込み部211は、演算ユニット
171から送られてきた順序タグの値3を書き込みアド
レスとしてトレースメモリ213に送出するとともに、
演算ユニット171から送られてきた実行ステータス
「−−−−」を書き込みデータとしてトレースメモリ2
13に送出する(図11参照)。
On the other hand, the writing section 211 sends the value 3 of the order tag sent from the arithmetic unit 171 to the trace memory 213 as a write address, and
The execution status “−−−−” sent from the arithmetic unit 171 is used as write data in the trace memory 2.
13 (see FIG. 11).

【0107】結果として、書き込みアドレスが示すトレ
ースメモリ213の行3に、書き込みデータ「−−−
−」がトレース情報として書き込まれる(図12参
照)。
As a result, the write data “−−−−” is stored in row 3 of the trace memory 213 indicated by the write address.
"-" Is written as trace information (see FIG. 12).

【0108】クロックサイクル2での動作は、以下のよ
うになる。
The operation in clock cycle 2 is as follows.

【0109】ロードユニット172は、命令番号3のL
W命令の処理を終了し、順序タグの値1および実行ステ
ータス「hit」(ただし、適当なビット数の2進数に
符号化されている。以下同様)を出力する。実行ステー
タス「hit」は、ロードユニット172でのロード処
理にて、データキャッシュ160がヒットしたことを意
味する。このクロックサイクル2では、他に処理を終え
た機能ユニットはなく、順序タグの値1および実行ステ
ータス「hit」だけが書き込み部211に送られる。
The load unit 172 stores the L of the instruction number 3
The processing of the W instruction is completed, and the value 1 of the order tag and the execution status "hit" (however, encoded in a binary number having an appropriate number of bits, the same applies hereinafter) are output. The execution status “hit” means that the data cache 160 has been hit in the load processing by the load unit 172. In this clock cycle 2, no other functional unit has completed the processing, and only the value 1 of the order tag and the execution status “hit” are sent to the writing unit 211.

【0110】書き込み部211は、ロードユニット17
2から送られてきた順序タグの値1を書き込みアドレス
としてトレースメモリ213に送出するとともに、ロー
ドユニット171から送られてきた実行ステータス「h
it」を書き込みデータとしてトレースメモリ213に
送出する(図11参照)。
The writing unit 211 includes the load unit 17
2 is sent to the trace memory 213 as a write address, and the execution status “h” sent from the load unit 171 is sent.
is transmitted to the trace memory 213 as write data (see FIG. 11).

【0111】結果として、書き込みアドレスが示すトレ
ースメモリ213の行1に、書き込みデータ「hit」
がトレース情報として書き込まれる(図12参照)。
As a result, the write data “hit” is stored in row 1 of the trace memory 213 indicated by the write address.
Is written as trace information (see FIG. 12).

【0112】このように、命令のオペコードおよびオペ
ランド情報とともに順序タグが添付されて処理を行う機
能ユニットに送られ、各機能ユニット(170,17
1,172,173)で命令が処理されると、その実行
ステータスがその命令のオペコードおよびオペランド情
報に添付されていた順序タグを書き込みアドレスとして
トレースメモリ213にトレース情報として書き込まれ
ていく。
As described above, the order tag is attached together with the instruction's operation code and operand information, sent to the functional unit for processing, and is sent to each functional unit (170, 17).
When the instruction is processed in (1, 172, 173), its execution status is written as trace information to the trace memory 213 using the order tag attached to the operation code and operand information of the instruction as a write address.

【0113】最後に、命令デコーダ151は、命令番号
8のPSTOP命令をフェッチすると、命令デコーダ1
51は、先行命令(命令番号が7以下の命令)がすべて
完了している、すなわちリオーダバッファ153に先行
命令が全く存在しなくなるのを待って、PSTOP命令
をデコードし、そのオペコードを順序タグ発行部21
0,トレース情報選択部215およびサイクルカウンタ
212に送る。
Finally, when the instruction decoder 151 fetches the PSTOP instruction of the instruction number 8, the instruction decoder 151
51, waits until all preceding instructions (instructions with an instruction number of 7 or less) have been completed, that is, when there is no preceding instruction in the reorder buffer 153, decodes the PSTOP instruction, and issues the opcode to the order tag. Part 21
0, sent to the trace information selection unit 215 and the cycle counter 212.

【0114】これにより、順序タグ発行部210は、新
たな順序タグの発行を止め、サイクルカウンタ212
は、カウント動作を止め、トレース情報選択部215
は、書き込み部211に指示してトレースメモリ213
への新たなトレース情報の書き込みを停止させ、トレー
ス情報採取機構全体の動作が停止する。
As a result, the order tag issuing unit 210 stops issuing a new order tag, and
Stops the counting operation and sets the trace information selection unit 215
Is instructed to the writing unit 211 and the trace memory 213
The writing of the new trace information to the trace information collection is stopped, and the operation of the entire trace information collection mechanism stops.

【0115】このように、命令記述順トレース情報採取
モードでは、書き込み部211が命令の記述順を示す順
序タグをアドレスとして実行ステータスを記録していく
ため、命令の実行されるクロックサイクルにかかわら
ず、プログラム中の命令の記述順序に沿ってトレースメ
モリ213にトレース情報を記録することができる。
As described above, in the instruction description order trace information collection mode, since the writing unit 211 records the execution status using the order tag indicating the instruction description order as an address, regardless of the clock cycle in which the instruction is executed. The trace information can be recorded in the trace memory 213 according to the description order of the instructions in the program.

【0116】なお、上記実施の形態の説明では、順序タ
グ発行部210を内部カウンタを有し、内部カウンタの
カウント値を順序タグとして命令に添付するものとして
説明したが、命令に添付されるタグは整数値をとる順序
タグに限られるものではなく、任意の符号等であっても
よい。このようにした場合には、順序タグ発行部210
を、単なるタグ発行部とすればよく、タグを発行するロ
ジックは適宜選定することができる。例えば、オペコー
ドに一意に対応するタグを発行するようにしてもよい。
In the above description of the embodiment, the order tag issuing section 210 has an internal counter and the count value of the internal counter is attached to the instruction as an order tag. Is not limited to an order tag that takes an integer value, and may be an arbitrary code or the like. In this case, the order tag issuing unit 210
May simply be a tag issuing unit, and the logic for issuing the tag can be appropriately selected. For example, a tag uniquely corresponding to an operation code may be issued.

【0117】また、上記実施の形態の説明では、トレー
ス情報採取機構をインオーダ命令発行のプロセッサ11
0に実装した例をとりあげたが、本発明は、アウトオブ
オーダ命令発行のプロセッサに対しても同様に適用可能
である。なぜならば、順序タグ発行部210がプログラ
ム上の命令記述順に従って命令に順序タグを割り当てる
ため、その後の処理が命令記述順と異なっていてもトレ
ース情報の採取上、問題にならないからである。
In the description of the above embodiment, the trace information collecting mechanism is set to the processor 11 that issues the in-order instruction.
Although the example in which it is mounted on 0 has been described, the present invention is similarly applicable to a processor that issues an out-of-order instruction. This is because the order tag issuing unit 210 assigns order tags to instructions in accordance with the instruction description order on the program, so that even if the subsequent processing differs from the instruction description order, there is no problem in collecting trace information.

【0118】[0118]

【発明の効果】第1の効果は、命令実行パイプラインの
動作履歴やキャシュヒットの有無等をソフトウェアから
知ることができることである。すなわち、命令実行パイ
プラインの動作履歴やキャッシュヒットの有無等の知り
たいトレース情報をソフトウェアが指示して履歴に残す
ことができることである。その理由は、実行する命令に
ユニークな順序タグを付した上、実行中の命令の順序タ
グを機能ユニットから集め、クロックサイクル毎に記録
する手段を有しているためである。
The first effect is that the operation history of the instruction execution pipeline and the presence / absence of a cache hit can be known from software. That is, the trace information that the user wants to know, such as the operation history of the instruction execution pipeline and the presence / absence of a cache hit, can be instructed by the software and left in the history. The reason is that a unique order tag is attached to the instruction to be executed, and a means for collecting the order tag of the instruction being executed from the functional unit and recording the same for each clock cycle is provided.

【0119】第2の効果は、各々の命令の動作結果の履
歴をソフトウェアから柔軟に参照できることである。そ
のため、例えば、一連の命令列を実行後、各々の命令の
実行ステータスの正当性を一括してチェックすることが
できる。この効果をもたらす理由は、命令に付した順序
タグをアドレスとして動作状況の履歴を記録する手段を
備えているためである。
A second effect is that the history of the operation result of each instruction can be flexibly referred to from software. Therefore, for example, after executing a series of instruction sequences, it is possible to collectively check the validity of the execution status of each instruction. The reason for this effect is that there is provided a means for recording the history of the operation status using the order tag attached to the instruction as an address.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の一実施の形態に係るトレース情報採取
機構を含むプロセッサの構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a processor including a trace information collecting mechanism according to an embodiment of the present invention.

【図2】図1中の書き込み部の詳細を示す図である。FIG. 2 is a diagram illustrating details of a writing unit in FIG. 1;

【図3】図2の書き込み部の動作を説明する図である。FIG. 3 is a diagram illustrating an operation of a writing unit in FIG. 2;

【図4】図2の書き込み部の別の動作を説明する図であ
る。
FIG. 4 is a diagram illustrating another operation of the writing unit in FIG. 2;

【図5】本実施の形態に係るトレース情報採取機構の利
用に関連するプロセッサ命令の例を示す図である。
FIG. 5 is a diagram showing an example of a processor instruction related to use of the trace information collecting mechanism according to the embodiment.

【図6】本実施の形態に係るトレース情報採取機構の動
作を説明するためのプログラムの一部分を示す図であ
る。
FIG. 6 is a diagram showing a part of a program for explaining an operation of the trace information collecting mechanism according to the embodiment;

【図7】図6のプログラムでのプロセッサの内部動作の
前半部を示す図である。
7 is a diagram showing the first half of the internal operation of the processor according to the program of FIG. 6;

【図8】図6のプログラムでのプロセッサの内部動作の
後半部を示す図である。
8 is a diagram illustrating the latter half of the internal operation of the processor in the program of FIG. 6;

【図9】図6のプログラムで得られるトレース情報の結
果を示す図である。
FIG. 9 is a diagram showing a result of trace information obtained by the program of FIG. 6;

【図10】本実施の形態に係るトレース情報採取機構の
別の動作を説明するためのプログラムの一部分を示す図
である。
FIG. 10 is a diagram showing a part of a program for explaining another operation of the trace information collecting mechanism according to the present embodiment.

【図11】図10のプログラムでのプロセッサの内部動
作を示す図である。
11 is a diagram showing an internal operation of the processor according to the program of FIG. 10;

【図12】図10のプログラムで得られるトレース情報
の結果を示す図である。
12 is a diagram showing a result of trace information obtained by the program of FIG.

【符号の説明】[Explanation of symbols]

100 命令メモリ 101 データメモリ 110 プロセッサ 150 命令キャッシュ 151 命令デコーダ 152 レジスタファイル 153 リオーダバッファ 160 データキャッシュ 170 分岐ユニット 171 演算ユニット 172 ロードユニット 173 ストアユニット 180〜183 リザベーションステーション 210 順序タグ発行部 211 書き込み部 212 サイクルカウンタ 213 トレースメモリ 214 読み出し部 215 トレース情報選択部 220〜223 順序タグフィールド REFERENCE SIGNS LIST 100 instruction memory 101 data memory 110 processor 150 instruction cache 151 instruction decoder 152 register file 153 reorder buffer 160 data cache 170 branch unit 171 operation unit 172 load unit 173 store unit 180 to 183 reservation station 210 order tag issue unit 211 write unit 212 cycle Counter 213 Trace memory 214 Reading unit 215 Trace information selecting unit 220-223 Order tag field

Claims (10)

【特許請求の範囲】[Claims] 【請求項1】 命令デコーダ,各機能ユニットおよびレ
ジスタファイルを備えるプロセッサにおいて、前記命令
デコーダにより命令がデコードされるたびに該命令に異
なるタグを添付するタグ発行部と、処理を終えた命令に
添付されたタグを通知する前記機能ユニットと、前記命
令デコーダにより初期化命令がデコードされたときに定
められた初期値にリセットされ前記プロセッサのクロッ
クサイクル毎に値が増加するサイクルカウンタと、トレ
ース情報を記録するトレースメモリと、前記機能ユニッ
トから通知されたタグを前記サイクルカウンタのクロッ
クサイクル値をアドレスとして前記トレースメモリに前
記プロセッサのクロックサイクル毎に書き込む書き込み
部と、前記トレースメモリの内容を前記レジスタファイ
ルのレジスタに転送する読み出し部とを備えることを特
徴とするトレース情報採取機構。
1. A processor comprising an instruction decoder, each functional unit and a register file, wherein each time an instruction is decoded by the instruction decoder, a tag issuing unit for attaching a different tag to the instruction; The functional unit for notifying the generated tag, a cycle counter that is reset to an initial value determined when an initialization instruction is decoded by the instruction decoder and increases in value every clock cycle of the processor, and trace information. A trace memory for recording, a writing unit for writing a tag notified from the functional unit to the trace memory using a clock cycle value of the cycle counter as an address for each clock cycle of the processor, and a register file for storing contents of the trace memory. Transfer to register A trace information collecting mechanism, comprising:
【請求項2】 命令デコーダ,各機能ユニットおよびレ
ジスタファイルを備えるプロセッサにおいて、前記命令
デコーダにより命令がデコードされるたびに該命令に異
なるタグを添付するタグ発行部と、処理を終えた命令に
添付されたタグおよび該命令の実行ステータスを通知す
る前記機能ユニットと、トレース情報を記録するトレー
スメモリと、前記機能ユニットから通知された実行ステ
ータスを該機能ユニットから通知されたタグをアドレス
として前記トレースメモリに書き込む書き込み部と、前
記トレースメモリの内容を前記レジスタファイルのレジ
スタに転送する読み出し部とを備えることを特徴とする
トレース情報採取機構。
2. A processor comprising an instruction decoder, each functional unit and a register file, wherein each time an instruction is decoded by the instruction decoder, a tag issuing unit for attaching a different tag to the instruction; A functional unit that notifies the execution status of the instruction and the instruction that has been executed, a trace memory that records trace information, and the trace memory that uses the tag that is notified of the execution status notified by the functional unit as an address. And a reading unit for transferring the contents of the trace memory to the register of the register file.
【請求項3】 命令デコーダ,各機能ユニットおよびレ
ジスタファイルを備えるプロセッサにおいて、前記命令
デコーダによりトレース情報選択命令がデコードされた
ときに該トレース情報選択命令によって指示されたトレ
ースモードを保持するトレース情報選択部と、前記命令
デコーダにより命令がデコードされるたびに該命令に異
なるタグを添付するタグ発行部と、処理を終えた命令に
添付されたタグおよび該命令の実行ステータスを通知す
る前記機能ユニットと、前記命令デコーダにより初期化
命令がデコードされたときに定められた初期値にリセッ
トされ前記プロセッサのクロックサイクル毎に値が増加
するサイクルカウンタと、トレース情報を記録するトレ
ースメモリと、前記トレース情報選択部に保持されたト
レースモードが命令実行順トレース情報採取モードであ
るときに前記機能ユニットから通知されたタグを前記サ
イクルカウンタのクロックサイクル値をアドレスとして
前記トレースメモリに前記プロセッサのクロックサイク
ル毎に書き込み、前記トレース情報選択部に保持された
トレースモードが命令記述順トレース情報採取モードで
あるときに前記機能ユニットから通知された実行ステー
タスを該機能ユニットから通知されたタグをアドレスと
して前記トレースメモリに書き込む書き込み部と、前記
トレースメモリの内容を前記レジスタファイルのレジス
タに転送する読み出し部とを備えることを特徴とするト
レース情報採取機構。
3. A processor comprising an instruction decoder, each functional unit, and a register file, wherein, when a trace information selection instruction is decoded by said instruction decoder, a trace information selection holding a trace mode specified by said trace information selection instruction. A tag issuing unit that attaches a different tag to the instruction each time the instruction is decoded by the instruction decoder; and the functional unit that notifies the tag attached to the processed instruction and the execution status of the instruction. A cycle counter that is reset to an initial value determined when the instruction decoder decodes the initialization instruction and increases in value every clock cycle of the processor; a trace memory that records trace information; The trace mode held in the The tag notified from the functional unit in the execution order trace information collection mode is written to the trace memory using the clock cycle value of the cycle counter as an address for each clock cycle of the processor, and is stored in the trace information selection unit. A writing unit that writes the execution status notified from the functional unit to the trace memory using the tag notified from the functional unit as an address when the trace mode is the instruction description order trace information collection mode, and the contents of the trace memory. And a reading unit for transferring the data to the register of the register file.
【請求項4】 命令デコーダ,各機能ユニットおよびレ
ジスタファイルを備えるプロセッサにおいて、前記命令
デコーダによりトレース情報採取動作のトリガ命令がデ
コードされたときに定められた初期値にリセットされ前
記命令デコーダにより命令がデコードされるたびに値が
増加する内部カウンタを有し、前記命令デコーダにより
デコードされた命令に前記内部カウンタのカウント値を
順序タグとして添付する順序タグ発行部と、処理を終え
た命令に添付された順序タグを通知する前記機能ユニッ
トと、前記命令デコーダによりトレース情報採取動作の
トリガ命令がデコードされたときに定められた初期値に
リセットされ前記プロセッサのクロックサイクル毎に値
が増加するサイクルカウンタと、トレース情報を記録す
るトレースメモリと、前記機能ユニットから通知された
順序タグを前記サイクルカウンタのクロックサイクル値
をアドレスとして前記トレースメモリに前記プロセッサ
のクロックサイクル毎に書き込む書き込み部と、前記ト
レースメモリの内容を前記レジスタファイルのレジスタ
に転送する読み出し部とを備えることを特徴とするトレ
ース情報採取機構。
4. A processor including an instruction decoder, each functional unit and a register file, wherein the instruction decoder resets a trigger instruction of a trace information collecting operation to an initial value determined when the instruction is decoded, and resets the instruction by the instruction decoder. An order tag issuing unit that has an internal counter that increases each time it is decoded, and attaches the count value of the internal counter as an order tag to the instruction decoded by the instruction decoder, and is attached to the instruction that has been processed. A functional unit for notifying the sequence tag, and a cycle counter which is reset to an initial value determined when a trigger instruction of a trace information collecting operation is decoded by the instruction decoder and increases in value every clock cycle of the processor. Trace memory to record trace information, A writing unit that writes the order tag notified from the functional unit to the trace memory using the clock cycle value of the cycle counter as an address every clock cycle of the processor, and transfers the contents of the trace memory to the register of the register file A trace information collecting mechanism, comprising:
【請求項5】 命令デコーダ,各機能ユニットおよびレ
ジスタファイルを備えるプロセッサにおいて、前記命令
デコーダによりトレース情報採取動作のトリガ命令がデ
コードされたときに定められた初期値にリセットされ前
記命令デコーダにより命令がデコードされるたびに値が
増加する内部カウンタを有し、前記命令デコーダにより
デコードされた命令に前記内部カウンタのカウント値を
順序タグとして添付する順序タグ発行部と、処理を終え
た命令に添付された順序タグおよび該命令の実行ステー
タスを通知する前記機能ユニットと、トレース情報を記
録するトレースメモリと、前記機能ユニットから通知さ
れた実行ステータスを該機能ユニットから通知された順
序タグをアドレスとして前記トレースメモリに書き込む
書き込み部と、前記トレースメモリの内容を前記レジス
タファイルのレジスタに転送する読み出し部とを備える
ことを特徴とするトレース情報採取機構。
5. A processor comprising an instruction decoder, each functional unit, and a register file, wherein the instruction decoder resets a trigger instruction of a trace information collecting operation to an initial value determined when the instruction is decoded and resets the instruction by the instruction decoder. An order tag issuing unit that has an internal counter that increases each time it is decoded, and attaches the count value of the internal counter as an order tag to the instruction decoded by the instruction decoder, and is attached to the instruction that has been processed. A functional unit for notifying the execution order of the instruction and the execution status of the instruction; a trace memory for recording trace information; and the execution status notified from the functional unit, using the order tag notified from the functional unit as an address. A writing unit for writing to a memory; A reading unit for transferring the contents of the trace memory to the register of the register file.
【請求項6】 命令デコーダ,各機能ユニットおよびレ
ジスタファイルを備えるプロセッサにおいて、前記命令
デコーダによりトレース情報選択命令がデコードされた
ときに該トレース情報選択命令によって指示されたトレ
ースモードを保持するトレース情報選択部と、前記命令
デコーダによりトレース情報採取動作のトリガ命令がデ
コードされたときに定められた初期値にリセットされ前
記命令デコーダにより命令がデコードされるたびに値が
増加する内部カウンタを有し、前記命令デコーダにより
デコードされた命令に前記内部カウンタのカウント値を
順序タグとして添付する順序タグ発行部と、処理を終え
た命令に添付された順序タグおよび該命令の実行ステー
タスを通知する前記機能ユニットと、前記命令デコーダ
によりトレース情報採取動作のトリガ命令がデコードさ
れたときに定められた初期値にリセットされ前記プロセ
ッサのクロックサイクル毎に値が増加するサイクルカウ
ンタと、トレース情報を記録するトレースメモリと、前
記トレース情報選択部に保持されたトレースモードが命
令実行順トレース情報採取モードであるときに前記機能
ユニットから通知された順序タグを前記サイクルカウン
タのクロックサイクル値をアドレスとして前記トレース
メモリに前記プロセッサのクロックサイクル毎に書き込
み、前記トレース情報選択部に保持されたトレースモー
ドが命令記述順トレース情報採取モードであるときに前
記機能ユニットから通知された実行ステータスを該機能
ユニットから通知された順序タグをアドレスとして前記
トレースメモリに書き込む書き込み部と、前記トレース
メモリの内容を前記レジスタファイルのレジスタに転送
する読み出し部とを備えることを特徴とするトレース情
報採取機構。
6. A processor comprising an instruction decoder, each functional unit, and a register file, wherein a trace information selection instruction held by a trace information selection instruction when the instruction decoder decodes the trace information selection instruction. And an internal counter that is reset to an initial value determined when a trigger instruction of a trace information collecting operation is decoded by the instruction decoder and increases each time the instruction is decoded by the instruction decoder, An order tag issuing unit that attaches the count value of the internal counter as an order tag to the instruction decoded by the instruction decoder, and the functional unit that notifies the order tag attached to the processed instruction and the execution status of the instruction. Trace information by the instruction decoder A cycle counter, which is reset to an initial value determined when a trigger instruction of a sampling operation is decoded and increases in value every clock cycle of the processor, a trace memory for recording trace information, and held in the trace information selecting unit When the trace mode is the instruction execution order trace information collection mode, the sequence tag notified from the functional unit is written to the trace memory with the clock cycle value of the cycle counter as an address for each clock cycle of the processor, and When the trace mode held in the trace information selector is the instruction description order trace information collection mode, write the execution status notified from the functional unit into the trace memory using the order tag notified from the functional unit as an address. Department , Trace information collection mechanism, characterized in that it comprises a reading unit for transferring the contents of the trace memory into a register of the register file.
【請求項7】 前記トレースメモリが、行位置および列
位置でアドレスされるメモリセルの集合であり、1クロ
ックサイクルに記録したい情報の最大ビット数を列方
向、履歴を記録したい最長のクロックサイクル数または
最長命令数を行方向とする矩形メモリ領域の容量を有す
る請求項1,請求項2,請求項3,請求項4,請求項5
または請求項6記載のトレース情報採取機構。
7. The trace memory is a set of memory cells addressed at a row position and a column position. The maximum number of bits of information to be recorded in one clock cycle is determined in the column direction, the longest clock cycle number to record a history. Or a capacity of a rectangular memory area having the longest instruction number in the row direction.
7. A trace information collecting mechanism according to claim 6.
【請求項8】 前記読み出し部が、前記トレースメモリ
の指定された行の内容を読み出して前記レジスタファイ
ルのレジスタに転送できるとともに、前記トレースメモ
リの指定された列の内容を読み出して前記レジスタファ
イルのレジスタに転送できる請求項1,請求項2,請求
項3,請求項4,請求項5または請求項6記載のトレー
ス情報採取機構。
8. The read unit can read the contents of a designated line of the trace memory and transfer the contents of the designated line to a register of the register file, and can read the contents of a designated column of the trace memory to read the contents of the register file. 7. The trace information collecting mechanism according to claim 1, wherein the trace information can be transferred to a register.
【請求項9】 前記命令デコーダが、トレース情報選択
命令をデコードしたときにパラメータに応じて前記トレ
ースメモリの内容を初期値にリセットする請求項1,請
求項2,請求項3,請求項4,請求項5または請求項6
記載のトレース情報採取機構。
9. The method according to claim 1, wherein said instruction decoder resets the contents of said trace memory to an initial value according to a parameter when decoding a trace information selection instruction. Claim 5 or Claim 6
Trace information collection mechanism described.
【請求項10】 前記プロセッサが各機能ユニットの入
口にリザベーションステーションを有するスーパースカ
ラプロセッサであり、前記リザベーションステーション
内に命令に添付された順序タグを格納する順序タグフィ
ールドを備え、各機能ユニットが処理を終えた命令に対
応する前記順序タグフィールドの順序タグを前記書き込
み部に通知する請求項1,請求項2,請求項3,請求項
4,請求項5または請求項6記載のトレース情報採取機
構。
10. The processor is a superscalar processor having a reservation station at the entrance of each functional unit, comprising a sequence tag field for storing a sequence tag attached to an instruction in the reservation station, wherein each functional unit performs processing. 7. The trace information collecting mechanism according to claim 1, wherein said write unit is notified of an order tag of said order tag field corresponding to the instruction which has been completed. .
JP01789099A 1999-01-27 1999-01-27 Trace information collection mechanism Expired - Fee Related JP3180953B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP01789099A JP3180953B2 (en) 1999-01-27 1999-01-27 Trace information collection mechanism

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01789099A JP3180953B2 (en) 1999-01-27 1999-01-27 Trace information collection mechanism

Publications (2)

Publication Number Publication Date
JP2000215081A true JP2000215081A (en) 2000-08-04
JP3180953B2 JP3180953B2 (en) 2001-07-03

Family

ID=11956322

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01789099A Expired - Fee Related JP3180953B2 (en) 1999-01-27 1999-01-27 Trace information collection mechanism

Country Status (1)

Country Link
JP (1) JP3180953B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006107004A (en) * 2004-10-04 2006-04-20 Nec Electronics Corp Trace control circuit, microprocessor and method of controlling trace
US7086035B1 (en) 1999-05-13 2006-08-01 International Business Machines Corporation Method and system for counting non-speculative events in a speculative processor
JP2011100388A (en) * 2009-11-09 2011-05-19 Fujitsu Ltd Trace information collection device, trace information processor and trace information collection method
CN112463217A (en) * 2020-11-18 2021-03-09 海光信息技术股份有限公司 System, method, and medium for register file shared read port in a superscalar processor

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7086035B1 (en) 1999-05-13 2006-08-01 International Business Machines Corporation Method and system for counting non-speculative events in a speculative processor
JP2006107004A (en) * 2004-10-04 2006-04-20 Nec Electronics Corp Trace control circuit, microprocessor and method of controlling trace
JP4608276B2 (en) * 2004-10-04 2011-01-12 ルネサスエレクトロニクス株式会社 Trace control circuit, microprocessor and trace control method
JP2011100388A (en) * 2009-11-09 2011-05-19 Fujitsu Ltd Trace information collection device, trace information processor and trace information collection method
CN112463217A (en) * 2020-11-18 2021-03-09 海光信息技术股份有限公司 System, method, and medium for register file shared read port in a superscalar processor
CN112463217B (en) * 2020-11-18 2022-07-12 海光信息技术股份有限公司 System, method, and medium for register file shared read port in a superscalar processor

Also Published As

Publication number Publication date
JP3180953B2 (en) 2001-07-03

Similar Documents

Publication Publication Date Title
US5546597A (en) Ready selection of data dependent instructions using multi-cycle cams in a processor performing out-of-order instruction execution
US6336183B1 (en) System and method for executing store instructions
US20080028193A1 (en) Transitive suppression of instruction replay
US5664137A (en) Method and apparatus for executing and dispatching store operations in a computer system
US20080082788A1 (en) Pointer-based instruction queue design for out-of-order processors
US20100325396A1 (en) Multithread processor and register control method
US6463524B1 (en) Superscalar processor and method for incrementally issuing store instructions
US10691462B2 (en) Compact linked-list-based multi-threaded instruction graduation buffer
US6301654B1 (en) System and method for permitting out-of-order execution of load and store instructions
US5832202A (en) Exception recovery in a data processing system
US5764971A (en) Method and apparatus for implementing precise interrupts in a pipelined data processing system
US20150234657A1 (en) Latest producer tracking in an out-of-order processor, and applications thereof
KR100305935B1 (en) Data processing system and method for capturing history buffer data
US6957323B2 (en) Operand file using pointers and reference counters and a method of use
EP1673692B1 (en) Selectively deferring the execution of instructions with unresolved data dependencies
US6345356B1 (en) Method and apparatus for software-based dispatch stall mechanism for scoreboarded IOPs
US6477635B1 (en) Data processing system including load/store unit having a real address tag array and method for correcting effective address aliasing
US20080244224A1 (en) Scheduling a direct dependent instruction
US5812812A (en) Method and system of implementing an early data dependency resolution mechanism in a high-performance data processing system utilizing out-of-order instruction issue
US6240507B1 (en) Mechanism for multiple register renaming and method therefor
US20020056034A1 (en) Mechanism and method for pipeline control in a processor
JP3180953B2 (en) Trace information collection mechanism
US6898696B1 (en) Method and system for efficiently restoring a processor's execution state following an interrupt caused by an interruptible instruction
US20080126760A1 (en) Method for latest producer tracking in an out-of-order processor, and applications thereof
US7111127B2 (en) System for supporting unlimited consecutive data stores into a cache memory

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080420

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090420

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100420

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110420

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120420

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120420

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130420

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130420

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140420

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees