JP5485982B2 - パイプライン型アーキテクチャを有するデータプロセッサ内のトレースデータを与えるシステム - Google Patents
パイプライン型アーキテクチャを有するデータプロセッサ内のトレースデータを与えるシステム Download PDFInfo
- Publication number
- JP5485982B2 JP5485982B2 JP2011506767A JP2011506767A JP5485982B2 JP 5485982 B2 JP5485982 B2 JP 5485982B2 JP 2011506767 A JP2011506767 A JP 2011506767A JP 2011506767 A JP2011506767 A JP 2011506767A JP 5485982 B2 JP5485982 B2 JP 5485982B2
- Authority
- JP
- Japan
- Prior art keywords
- trace
- data
- instruction
- scheduler
- pipeline
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 claims description 27
- 230000009471 action Effects 0.000 description 14
- 238000012360 testing method Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 7
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000002730 additional effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3818—Decoding for concurrent execution
- G06F9/382—Pipelined decoding, e.g. using predecoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/348—Circuit details, i.e. tracer hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/86—Event-based monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Advance Control (AREA)
- Debugging And Monitoring (AREA)
Description
これから添付の図面を参照して、本発明の種々の態様を具体化する例を詳細に説明する。
キャッシュ又はメモリ1は、プロセッサにより実行される命令のソースである。命令は、内部又は外部のアドレス指定可能メモリ内に、又は、命令キャッシュ内に保持されるこのメモリのコピー内に保持することができる。
ARoutine: TTMOV D0FrT,A0FrP; Trace push of frame pointer
ADD A0FrP,A0Stp,#9
SETL [A0StP++],D0FrT,D1RtP
…Body of routine
GETL D0FrT,D1RtP,[--A0StP]
TTMOV A0FrP,D0FrT; Trace pop of frame pointer
MOV PC, D1RtP
本発明の1つの態様において、条件付き命令を含むプログラム命令をフェッチするための命令フェッチユニットと、複数の実行ステージを有する実行パイプラインと、命令フェッチユニットと実行パイプラインとの間に接続され、命令を実行パイプラインに渡すスケジューリングをする命令スケジューラと、実行パイプラインと並列にスケジューラに接続され、複数のステージを有し、実行パイプライン内の命令に対応するトレースデータを伝えるトレースパイプラインと、トレースパイプラインの出力に結合されたトレース出力と、実行パイプライン内の条件付き命令が完了されるべきかどうか判断し、判断結果を、トレースパイプライン内の対応するトレースデータに加えるための手段と、を備えるデータプロセッサが提供される。
条件パイプラインの出力は、トレースパイプラインの最終ステージに接続されることが好ましい。
審査結果は、実行パイプラインを介してトレースデータに渡されることが好ましい。
トレースパイプラインは、実行パイプラインと同じ数のステージを有することが好ましい。
データプロセッサは、トレースパイプラインの出力とトレース出力との間に接続され、選択されたトレースデータのみをトレース出力に渡すトレースデータフィルタをさらに備えることが好ましい。
付加手段は、命令の動作に関する情報及び/又は命令の結果に関する情報を出力することが好ましい。
データプロセッサは、複数の実行パイプラインの出力を付加手段に接続するライトバックバスをさらに含むことが好ましい。
付加手段は、トレースデータが関連する命令の種類を示す制御信号を、トレースパイプラインから受信することが好ましい。
命令フェッチユニットは、分岐命令のフェッチに続いて、どのプログラム命令をフェッチするべきかを予測するための分岐予測論理を含み、該命令フェッチユニットは、フェッチした命令に関連する分岐予測情報をスケジューラに渡し、該スケジューラは、分岐命令に関連する条件が満たされたかどうかをチェックすることにより、分岐予測情報が正しいかどうか判断し、判断結果をトレースデータに加えることが好ましい。
分岐予測情報は、命令フェッチユニットから、対応するフェッチされた命令と並列に、且つ同期して、スケジューラに送信されることが好ましい。
データプロセッサは、トレースパイプラインの出力とトレース出力との間に接続されてトレースデータをトレース出力に渡す前にトレースデータを格納するためのトレース出力バッファと、トレース出力バッファとスケジューラとに接続されたトレースインパクトカウンタと、をさらに備え、使用中、トレース出力バッファは、バッファ占有率データをスケジューラに送信し、スケジューラは、バッファ占有率データに基づいて命令のスケジューリングを修正してスケジューリングの修正の表示をトレースインパクトカウンタに送信し、該トレースインパクトカウンタは、スケジューリングの修正の表示を、トレース出力バッファに送信されるトレースデータに加えることが好ましい。
スケジューラは、トレース出力バッファ占有率データに基づいて、命令のスケジューリングを一時停止することが好ましい。
バッファ占有率データは、トレース出力バッファが一杯であることの表示であることが好ましい。
条件試験の結果を対応するトレースデータに加えるステップは、条件試験の結果をトレースパイプラインの最終ステージにおけるトレースデータに加えることを含むことが好ましい。
データプロセッサは、実行パイプラインにより完了した命令に関する情報を、トレースパイプラインから出力される対応するデータと同期して、トレースデータに加えるステップをさらに含むことが好ましい。
完了した命令に関する情報は、命令の動作に関する情報及び/又は命令の結果に関する情報であることが好ましい。
データプロセッサは、プロセッサにより実行されるプログラム内の一次タスクを実行する既存の命令を、同じ一次タスクを実行するが、命令の実行に関する動作情報及び/又は命令の結果に関する情報をトレース出力に報告する副次的作用を有する代わりの命令で置き換えることをさらに含むことが好ましい。
データプロセッサは、プロセッサの割り込み又は例外データをスケジューラに与え、プロセッサの割り込み又は例外データを対応するトレースデータに加える、ステップをさらに含むことが好ましい。
命令のスケジューリングを修正するステップは、命令のスケジューリングを一時停止することであることが好ましい。
トレース出力バッファ内の使用可能な空間の表示は、トレース出力バッファが一杯であることの表示であることが好ましい。
データプロセッサは、トレースパイプラインの出力とトレース出力との間に接続され、選択されたトレースデータのみをトレース出力に渡すトレースデータフィルタをさらに備えることが好ましい。
付加手段は、命令の動作に関する情報及び/又は命令の結果に関する情報を出力することが好ましい。
データプロセッサは、複数の実行パイプラインの出力を付加手段に接続するライトバックバスをさらに備えることが好ましい。
付加手段は、トレースデータが関連する命令の種類に基づいて、データをトレースデータに加えるように構成されることが好ましい。
付加手段は、トレースデータが関連する命令の種類を示す制御信号を、トレースパイプラインから受信することが好ましい。
分岐予測情報は、命令フェッチユニットから、対応するフェッチされた命令と並列に且つ同期して、スケジューラに送信されることが好ましい。
スケジューラは、プロセッサが異なる動作モードに入ることを示す割り込み又は例外ステータス情報を受信又は判断し、該スケジューラは、割り込み又は例外ステータス情報の表示をトレースデータに含めることが好ましい。
スケジューラは、バッファ占有率データに基づいて、命令のスケジューリングを一時停止することが好ましい。
バッファ占有率データは、トレース出力バッファが一杯であることの表示であることが好ましい。
完了した命令に関する情報は、命令の動作に関する情報及び/又は命令の結果に関する情報であることが好ましい。
2:命令フェッチユニット
3:プリデコードユニット
4:側波帯レジスタ
5:命令レジスタ
6:ポストデコードユニット
7:命令スケジューラ
8、9、10:機能ユニット
11:トレースパイプライン
12:ライトバックバス
13、14、15:レジスタファイル
16:書き込みセレクタ
17:カウンタイベントフィルタ
18:トレースイベントフィルタ
19:動作カウンタユニット
20:トレースインパクトカウンタ
21:トレース出力バッファ
22:実行パイプライン
23:条件パイプライン
24:論理
31:矢印
Claims (4)
- データプロセッサにより実行される命令をスケジューリングするための命令スケジューラ(7)と、
前記命令スケジューラに結合され、スケジュールされた命令に関するトレースデータを受信するトレースユニットと、
を備え、
前記トレースユニットは、外部装置と接続するためのトレース出力と、該トレース出力に接続され、前記トレース出力に渡す前にトレースデータを格納するためのトレース出力バッファ(21)とを有し、前記トレース出力バッファ(21)及び前記スケジューラ(7)にトレースインパクトカウンタ(20)が接続されており、
使用中、前記トレース出力バッファ(21)は、バッファ占有率データを前記スケジューラ(7)に送信し、該スケジューラは、前記バッファ占有率データに基づいて命令のスケジューリングを一時停止し、前記スケジューリングの一時停止の表示を前記トレースインパクトカウンタ(20)に送信し、該トレースインパクトカウンタ(20)は、前記命令のスケジューリングが一時停止されたサイクル数を、前記トレース出力バッファ(21)に送信されるトレースデータに加える、
ことを特徴とするデータプロセッサ。 - 前記バッファ占有率データは、前記トレース出力バッファが一杯であることの表示であることを特徴とする請求項1に記載のデータプロセッサ。
- データプロセッサからのトレースデータを与える方法であって、
前記データプロセッサは、
該データプロセッサにより実行される命令をスケジューリングするためのスケジューラと、
前記トレースデータを外部装置に出力する前に該トレースデータを格納するためのトレース出力バッファを含むトレースユニットと、
前記トレース出力バッファと前記スケジューラに接続され、前記命令のスケジューリングが一時停止されたサイクル数を計数するトレースインパクトカウンタを含み、
前記方法は、
前記トレース出力バッファ内の使用可能な空間の表示を前記スケジューラに送信するステップと、
前記スケジューラが、前記使用可能な空間の表示に基づいて、前記命令のスケジューリングを一時停止し、前記スケジューリングの一時停止の表示を前記トレースインパクトカウンタに送信するステップと、
前記トレースインパクトカウンタが、前記命令のスケジューリングが一時停止されたサイクル数を、前記トレース出力バッファに送信されるトレースデータに加えるステップを含む、
ことを特徴とする方法。 - 前記トレース出力バッファ内の使用可能な空間の表示は、該トレース出力バッファが一杯であることの表示であることを特徴とする請求項3に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0807701.8 | 2008-04-28 | ||
GB0807701A GB2459652B (en) | 2008-04-28 | 2008-04-28 | Controlling instruction scheduling based on the space in a trace buffer |
PCT/GB2009/001070 WO2009133354A2 (en) | 2008-04-28 | 2009-04-28 | System for providing trace data in a data processor having a pipelined architecture |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011519100A JP2011519100A (ja) | 2011-06-30 |
JP5485982B2 true JP5485982B2 (ja) | 2014-05-07 |
Family
ID=39522679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011506767A Expired - Fee Related JP5485982B2 (ja) | 2008-04-28 | 2009-04-28 | パイプライン型アーキテクチャを有するデータプロセッサ内のトレースデータを与えるシステム |
Country Status (5)
Country | Link |
---|---|
US (2) | US8775875B2 (ja) |
EP (1) | EP2283419A2 (ja) |
JP (1) | JP5485982B2 (ja) |
GB (1) | GB2459652B (ja) |
WO (1) | WO2009133354A2 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011243110A (ja) * | 2010-05-20 | 2011-12-01 | Renesas Electronics Corp | 情報処理装置 |
GB2481385B (en) * | 2010-06-21 | 2018-08-15 | Advanced Risc Mach Ltd | Tracing speculatively executed instructions |
GB2487355B (en) * | 2011-01-13 | 2020-03-25 | Advanced Risc Mach Ltd | Processing apparatus, trace unit and diagnostic apparatus |
US9158696B2 (en) * | 2011-12-29 | 2015-10-13 | Intel Corporation | Hiding instruction cache miss latency by running tag lookups ahead of the instruction accesses |
KR101254911B1 (ko) | 2012-01-31 | 2013-04-18 | 서울대학교산학협력단 | 다중 경로를 통해 데이터 입출력을 수행하기 위한 방법, 시스템 및 컴퓨터 판독 가능 기록 매체 |
US9495169B2 (en) | 2012-04-18 | 2016-11-15 | Freescale Semiconductor, Inc. | Predicate trace compression |
US9336003B2 (en) * | 2013-01-25 | 2016-05-10 | Apple Inc. | Multi-level dispatch for a superscalar processor |
CN103207776B (zh) * | 2013-03-11 | 2015-07-15 | 浙江大学 | 一种gene乱序发射处理器内核 |
US9934035B2 (en) | 2013-03-21 | 2018-04-03 | Nxp Usa, Inc. | Device and method for tracing updated predicate values |
US9361202B2 (en) * | 2013-07-18 | 2016-06-07 | International Business Machines Corporation | Filtering system noises in parallel computer systems during thread synchronization |
GB2541400B (en) * | 2015-08-17 | 2017-11-15 | Advanced Risc Mach Ltd | Tracing of exception handling events |
US10698692B2 (en) | 2016-07-21 | 2020-06-30 | Advanced Micro Devices, Inc. | Controlling the operating speed of stages of an asynchronous pipeline |
US10481998B2 (en) | 2018-03-15 | 2019-11-19 | Microsoft Technology Licensing, Llc | Protecting sensitive information in time travel trace debugging |
ES2802723B2 (es) * | 2019-07-12 | 2021-07-27 | Univ Alcala Henares | Un metodo para el trazado selectivo de la ejecucion de instrucciones, dispositivo de procesamiento relacionado y procesador |
GB2594977B (en) | 2020-05-14 | 2022-10-05 | Advanced Risc Mach Ltd | Technique for collecting state information of an apparatus |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58181154A (ja) * | 1982-04-16 | 1983-10-22 | Nec Corp | マイクロプログラムトレ−ス装置 |
US4574351A (en) * | 1983-03-03 | 1986-03-04 | International Business Machines Corporation | Apparatus for compressing and buffering data |
US4575351A (en) * | 1984-01-26 | 1986-03-11 | Gonzalez Cindy L | Training doll |
DE3740762A1 (de) * | 1987-01-22 | 1988-08-04 | Nat Semiconductor Corp | Datenverarbeitungssystem mit einer externen schnittstelle |
JPS6454547A (en) * | 1987-08-25 | 1989-03-02 | Nec Corp | Information processor with program trace function |
US4862352A (en) * | 1987-09-16 | 1989-08-29 | Motorola, Inc. | Data processor having pulse width encoded status output signal |
JPH04243436A (ja) * | 1991-01-18 | 1992-08-31 | Nec Corp | 実行履歴記憶装置 |
US5473754A (en) * | 1993-11-23 | 1995-12-05 | Rockwell International Corporation | Branch decision encoding scheme |
US6263488B1 (en) * | 1993-12-03 | 2001-07-17 | International Business Machines Corporation | System and method for enabling software monitoring in a computer system |
US5564028A (en) * | 1994-01-11 | 1996-10-08 | Texas Instruments Incorporated | Pipelined data processing including instruction trace |
JPH07281893A (ja) * | 1994-04-15 | 1995-10-27 | Internatl Business Mach Corp <Ibm> | 処理システム及び演算方法 |
US5642478A (en) * | 1994-12-29 | 1997-06-24 | International Business Machines Corporation | Distributed trace data acquisition system |
US5729726A (en) * | 1995-10-02 | 1998-03-17 | International Business Machines Corporation | Method and system for performance monitoring efficiency of branch unit operation in a processing system |
US5724505A (en) * | 1996-05-15 | 1998-03-03 | Lucent Technologies Inc. | Apparatus and method for real-time program monitoring via a serial interface |
US5864697A (en) * | 1996-06-28 | 1999-01-26 | Texas Instruments Incorporated | Microprocessor using combined actual and speculative branch history prediction |
US6112317A (en) * | 1997-03-10 | 2000-08-29 | Digital Equipment Corporation | Processor performance counter for sampling the execution frequency of individual instructions |
US5857097A (en) * | 1997-03-10 | 1999-01-05 | Digital Equipment Corporation | Method for identifying reasons for dynamic stall cycles during the execution of a program |
JPH1124959A (ja) * | 1997-07-02 | 1999-01-29 | Hewlett Packard Japan Ltd | マイクロプロセッサのトレース情報出力方法 |
JPH10275092A (ja) * | 1997-03-31 | 1998-10-13 | Hewlett Packard Japan Ltd | マイクロプロセッサのトレース情報出力方法 |
EP0869434A3 (en) * | 1997-03-31 | 1999-09-15 | Hewlett-Packard Company | Method for outputting trace information of a microprocessor |
US6094729A (en) * | 1997-04-08 | 2000-07-25 | Advanced Micro Devices, Inc. | Debug interface including a compact trace record storage |
JP3542463B2 (ja) * | 1997-07-29 | 2004-07-14 | Necエレクトロニクス株式会社 | 集積回路装置、その動作制御方法 |
US6023759A (en) * | 1997-09-30 | 2000-02-08 | Intel Corporation | System for observing internal processor events utilizing a pipeline data path to pipeline internally generated signals representative of the event |
US6321331B1 (en) * | 1998-04-22 | 2001-11-20 | Transwitch Corporation | Real time debugger interface for embedded systems |
US6415378B1 (en) * | 1999-06-30 | 2002-07-02 | International Business Machines Corporation | Method and system for tracking the progress of an instruction in an out-of-order processor |
US6615370B1 (en) * | 1999-10-01 | 2003-09-02 | Hitachi, Ltd. | Circuit for storing trace information |
US7124072B1 (en) * | 2001-04-30 | 2006-10-17 | Mips Technologies, Inc. | Program counter and data tracing from a multi-issue processor |
US20030135719A1 (en) * | 2002-01-14 | 2003-07-17 | International Business Machines Corporation | Method and system using hardware assistance for tracing instruction disposition information |
GB2389432B (en) * | 2002-06-07 | 2005-09-07 | Advanced Risc Mach Ltd | Instruction tracing in data processing systems |
US7099817B2 (en) * | 2002-11-22 | 2006-08-29 | Texas Instruments Incorporated | Stalling CPU pipeline to prevent corruption in trace while maintaining coherency with asynchronous events |
US7937691B2 (en) * | 2003-09-30 | 2011-05-03 | International Business Machines Corporation | Method and apparatus for counting execution of specific instructions and accesses to specific data locations |
US20060259750A1 (en) * | 2005-05-16 | 2006-11-16 | Texas Instruments Incorporated | Selectively embedding event-generating instructions |
US20070011492A1 (en) * | 2005-07-05 | 2007-01-11 | Arm Limited | Generation of trace data |
US20070022276A1 (en) * | 2005-07-25 | 2007-01-25 | Rolf Fritz | Method and System for Processing a Work Item in a Pipelined Sequence |
US7496899B2 (en) * | 2005-08-17 | 2009-02-24 | Arm Limited | Preventing loss of traced information in a data processing apparatus |
JP4836811B2 (ja) * | 2007-01-26 | 2011-12-14 | 株式会社東芝 | パフォーマンスモニタ装置および情報処理装置 |
US20090037887A1 (en) * | 2007-07-30 | 2009-02-05 | Chavan Shasank K | Compiler-inserted predicated tracing |
US8312253B2 (en) * | 2008-02-22 | 2012-11-13 | Freescale Semiconductor, Inc. | Data processor device having trace capabilities and method |
-
2008
- 2008-04-28 GB GB0807701A patent/GB2459652B/en not_active Expired - Fee Related
-
2009
- 2009-04-28 WO PCT/GB2009/001070 patent/WO2009133354A2/en active Application Filing
- 2009-04-28 EP EP09738384A patent/EP2283419A2/en not_active Ceased
- 2009-04-28 JP JP2011506767A patent/JP5485982B2/ja not_active Expired - Fee Related
- 2009-04-28 US US12/387,152 patent/US8775875B2/en active Active
-
2014
- 2014-05-07 US US14/271,886 patent/US9720695B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2009133354A2 (en) | 2009-11-05 |
US9720695B2 (en) | 2017-08-01 |
US20150012728A1 (en) | 2015-01-08 |
GB0807701D0 (en) | 2008-06-04 |
GB2459652A (en) | 2009-11-04 |
EP2283419A2 (en) | 2011-02-16 |
GB2459652B (en) | 2010-09-22 |
WO2009133354A3 (en) | 2009-12-23 |
US8775875B2 (en) | 2014-07-08 |
JP2011519100A (ja) | 2011-06-30 |
US20090287907A1 (en) | 2009-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5485982B2 (ja) | パイプライン型アーキテクチャを有するデータプロセッサ内のトレースデータを与えるシステム | |
KR101994636B1 (ko) | 데이터 처리장치의 추적 | |
US10296346B2 (en) | Parallelized execution of instruction sequences based on pre-monitoring | |
US6574727B1 (en) | Method and apparatus for instruction sampling for performance monitoring and debug | |
US7086035B1 (en) | Method and system for counting non-speculative events in a speculative processor | |
TWI423123B (zh) | 用於推測性指令之無效的通用分支系統、其方法、其識別器與其電腦可讀取儲存媒體 | |
US6539502B1 (en) | Method and apparatus for identifying instructions for performance monitoring in a microprocessor | |
JP2014220003A (ja) | 命令の追跡中に作られるデータ・ストリームの大きさの削減 | |
US10628160B2 (en) | Selective poisoning of data during runahead | |
TW201312460A (zh) | 用於多股亂序處理器中之指令排程的方法及裝置 | |
US9658853B2 (en) | Techniques for increasing instruction issue rate and reducing latency in an out-of order processor | |
US6530042B1 (en) | Method and apparatus for monitoring the performance of internal queues in a microprocessor | |
JP5403973B2 (ja) | アウト・オブ・オーダ・プロセッサにおける述語型実行のための方法および装置 | |
US6622240B1 (en) | Method and apparatus for pre-branch instruction | |
US6550002B1 (en) | Method and system for detecting a flush of an instruction without a flush indicator | |
KR20070108936A (ko) | 조건부 명령어가 실행되지 않을 경우 소스 오퍼랜드를대기하는 것을 중지하는 방법 | |
JP5155655B2 (ja) | マイクロプロセッサ出力ポート、及び、そこから提供された命令の制御 | |
CN108345534B (zh) | 生成和处理跟踪流的装置和方法 | |
US6668306B2 (en) | Non-vital loads | |
US10296350B2 (en) | Parallelized execution of instruction sequences | |
US20100088491A1 (en) | Processing unit | |
JP2005122329A (ja) | ソフトウェアのリアルタイム解析方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120427 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130724 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131018 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131105 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140127 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140210 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140220 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5485982 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |