JP5136553B2 - 演算処理装置及び演算処理装置の制御方法 - Google Patents
演算処理装置及び演算処理装置の制御方法 Download PDFInfo
- Publication number
- JP5136553B2 JP5136553B2 JP2009520199A JP2009520199A JP5136553B2 JP 5136553 B2 JP5136553 B2 JP 5136553B2 JP 2009520199 A JP2009520199 A JP 2009520199A JP 2009520199 A JP2009520199 A JP 2009520199A JP 5136553 B2 JP5136553 B2 JP 5136553B2
- Authority
- JP
- Japan
- Prior art keywords
- thread
- instruction
- event
- completion
- arithmetic processing
- 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.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims abstract description 96
- 238000000034 method Methods 0.000 title claims description 59
- 238000005259 measurement Methods 0.000 claims description 82
- 230000004044 response Effects 0.000 claims description 2
- 238000004458 analytical method Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 28
- 230000006870 function Effects 0.000 description 11
- 101150119033 CSE2 gene Proteins 0.000 description 7
- 101100007792 Escherichia coli (strain K12) casB gene Proteins 0.000 description 7
- 238000004325 capillary sieving electrophoresis Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 3
- 238000000691 measurement method Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000011156 evaluation Methods 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, look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- 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
- 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
- G06F9/3013—Organisation of register space, e.g. banked or distributed register file according to data content, e.g. floating-point registers, address registers
-
- 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, look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
-
- 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
Description
図1の従来のシングルスレッドプロセッサにおいては、各種の命令およびデータの演算処理を行う演算処理部1と、演算処理部1の各部の動作を統括的に制御する制御部4と、演算処理部1による演算処理を実行するためのプログラムおよび関連するデータを格納する記憶部6とが設けられている。
図3のコミット制御部40では、1つのスレッドの命令がCSE2に登録される。さらに、図3のコミット制御部40では、クロックサイクルごとにCSE2の先頭のエントリを示す解放エントリ選択回路41と、クロックサイクルごとにCSE2の実行完了イベントのエントリを示す実行完了エントリ選択回路46とが設けられている。さらに、図3のコミット制御部40では、命令完了イベントを有するスレッドを選択する命令完了対象レジスタ選択回路(CSEウィンドウ選択回路43)と、選択されたスレッドの命令完了イベントを登録する命令完了対象レジスタ(CSEウィンドウ44)とが設けられている。RSA14、RSE15、RSF16およびRSBR17による演算を実行したときの実行結果(実行ブロック47)は、実行完了報告ブロック48から実行完了エントリ選択回路46に通知される。
図8のコミット制御部40MSの構成は、前述の図3のシングルスレッド方式のコミット制御部40の構成と概ね同じである。
図11のコミット制御部40MC(コア測定)の構成は、前述の図8のコミット制御部40MS(スレッド測定)の構成と概ね同じである。
図13のSMT方式のプロセッサの構成は、前述の図1のシングルスレッド方式のプロセッサの構成と概ね同じである。
Claims (6)
- 複数の命令を有する第1のスレッドを実行する第1のスレッド実行部と、
複数の命令を有する第2のスレッドを実行する第2のスレッド実行部と、
前記第1のスレッド実行部が実行したスレッドにより発生したイベントを測定する第1のイベント測定回路と、
前記第2のスレッド実行部が実行したスレッドにより発生したイベントを測定する第2のイベント測定回路と、
前記第1のスレッド実行部と前記第2のスレッド実行部がそれぞれ実行した命令を、実行された命令が含まれるスレッド毎に格納するコミットスタックエントリと、
前記第1のスレッド実行部と前記第2のスレッド実行部のいずれかが実行した命令を完了させる場合、前記コミットスタックエントリにスレッド毎に格納された命令のうち、完了対象の命令が含まれるスレッドを選択するとともに、前記完了対象の命令の完了イベントを前記イベント測定回路に出力するスレッド選択部と、
前記スレッド選択部が選択したスレッドに含まれる完了対象の命令を保持する完了対象命令レジスタと、
前記スレッド選択部が選択しなかったスレッドの先頭命令が完了できなかった要因を保持する要因保持レジスタと、
前記完了対象命令レジスタに保持された、前記スレッド選択部が選択したスレッドの先頭命令が完了できなかったことに起因して生成される第1のイベントを選択して前記第1のイベント測定回路に出力する第1のイベント選択部と、
前記要因保持レジスタに保持された、前記スレッド選択部が選択しなかったスレッドの先頭命令が完了できなかったことに起因して生成される第2のイベントを選択して前記第2のイベント測定回路に出力する第2のイベント選択部を有することを特徴とする演算処理装置。 - 前記第1のイベント選択部が選択した第1のイベントの前記第1のイベント測定回路への出力と、前記第2のイベント選択部が選択した第2のイベントの前記第2のイベント測定回路への出力は、同時に行われることを特徴とする請求項1記載の演算処理装置。
- 前記スレッド選択部は、
前記完了対象の命令が含まれるスレッドをクロックサイクル毎に選択することを特徴とする請求項1記載の演算処理装置。 - 各完了対象の命令の完了イベントに要したクロックサイクル数を、スレッドに含まれる実行された命令数で割った値を、全ての完了対象の命令の完了イベントについて積算することにより、プログラムに含まれる命令の完了に要したクロックサイクル数の平均値の分析が行われることを特徴とする請求項1記載の演算処理装置。
- 第1のプロセッサコア部と第2のプロセッサコア部を有する演算処理装置において、
前記第1のプロセッサコア部は、
前記第1のスレッド実行部と第1のイベント測定回路を有し、
前記第2のプロセッサコア部は、
前記第2のスレッド実行部と第2のイベント測定回路を有することを特徴とする請求項1記載の演算処理装置。 - 演算処理装置の制御方法において、
前記演算処理装置が有する第1のスレッド実行部が、複数の命令を有する第1のスレッドを実行し、
前記演算処理装置が有する第2のスレッド実行部が、複数の命令を有する第2のスレッドを実行し、
前記演算処理装置が有する第1のイベント測定回路が、前記第1のスレッド実行部が実行したスレッドにより発生したイベントを測定し、
前記演算処理装置が有する第2のイベント測定回路が、前記第2のスレッド実行部が実行したスレッドにより発生したイベントを測定し、
前記演算処理装置が有するコミットスタックエントリが、前記第1のスレッド実行部と前記第2のスレッド実行部がそれぞれ実行した命令を、実行された命令が含まれるスレッド毎に格納し、
前記第1のスレッド実行部と前記第2のスレッド実行部のいずれかが実行した命令を完了させる場合、前記演算処理装置が有するスレッド選択部が、前記コミットスタックエントリにスレッド毎に格納された命令のうち、完了対象の命令が含まれるスレッドを選択するとともに、前記完了対象の命令の完了イベントを前記イベント測定回路に出力し、
前記演算処理装置が有する完了対象命令レジスタが、前記スレッド選択部が選択したスレッドに含まれる完了対象の命令を保持し、
前記演算処理装置が有する要因保持レジスタが、前記スレッド選択部が選択しなかったスレッドの先頭命令が完了できなかった要因を保持し、
前記演算処理装置が有する第1のイベント選択部が、前記完了対象命令レジスタに保持された、前記スレッド選択部が選択したスレッドの先頭命令が完了できなかったことに起因して生成される第1のイベントを選択して前記第1のイベント測定回路に出力し、
前記演算処理装置が有する第2のイベント選択部が、前記要因保持レジスタに保持された、前記スレッド選択部が選択しなかったスレッドの先頭命令が完了できなかったことに起因して生成される第2のイベントを選択して前記第2のイベント測定回路に出力することを特徴とする演算処理装置の制御方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2007/062445 WO2008155845A1 (ja) | 2007-06-20 | 2007-06-20 | 演算処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2008155845A1 JPWO2008155845A1 (ja) | 2010-08-26 |
JP5136553B2 true JP5136553B2 (ja) | 2013-02-06 |
Family
ID=40156011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009520199A Active JP5136553B2 (ja) | 2007-06-20 | 2007-06-20 | 演算処理装置及び演算処理装置の制御方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8001362B2 (ja) |
EP (1) | EP2159685B1 (ja) |
JP (1) | JP5136553B2 (ja) |
WO (1) | WO2008155845A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2489708B (en) * | 2011-04-05 | 2020-04-15 | Advanced Risc Mach Ltd | Thread selection for multithreaded processing |
US10977075B2 (en) * | 2019-04-10 | 2021-04-13 | Mentor Graphics Corporation | Performance profiling for a multithreaded processor |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10275100A (ja) * | 1997-03-11 | 1998-10-13 | Internatl Business Mach Corp <Ibm> | マルチスレッド・プロセッサ内でパフォーマンスを監視する方法およびシステム |
JP2006040174A (ja) * | 2004-07-29 | 2006-02-09 | Fujitsu Ltd | 命令リトライ検証機能付き情報処理装置および命令リトライ検証方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6076157A (en) * | 1997-10-23 | 2000-06-13 | International Business Machines Corporation | Method and apparatus to force a thread switch in a multithreaded processor |
US6052709A (en) * | 1997-12-23 | 2000-04-18 | Bright Light Technologies, Inc. | Apparatus and method for controlling delivery of unsolicited electronic mail |
US6535905B1 (en) * | 1999-04-29 | 2003-03-18 | Intel Corporation | Method and apparatus for thread switching within a multithreaded processor |
JP3512678B2 (ja) | 1999-05-27 | 2004-03-31 | 富士通株式会社 | キャッシュメモリ制御装置および計算機システム |
US6791367B2 (en) * | 2002-03-19 | 2004-09-14 | Broadcom Corporation | Hardware and software programmable fuses for memory repair |
US7472258B2 (en) * | 2003-04-21 | 2008-12-30 | International Business Machines Corporation | Dynamically shared group completion table between multiple threads |
US7657893B2 (en) * | 2003-04-23 | 2010-02-02 | International Business Machines Corporation | Accounting method and logic for determining per-thread processor resource utilization in a simultaneous multi-threaded (SMT) processor |
US7360062B2 (en) | 2003-04-25 | 2008-04-15 | International Business Machines Corporation | Method and apparatus for selecting an instruction thread for processing in a multi-thread processor |
US20050138333A1 (en) * | 2003-12-19 | 2005-06-23 | Samra Nicholas G. | Thread switching mechanism |
US20050183065A1 (en) * | 2004-02-13 | 2005-08-18 | Wolczko Mario I. | Performance counters in a multi-threaded processor |
JP2005284749A (ja) * | 2004-03-30 | 2005-10-13 | Kyushu Univ | 並列処理コンピュータ |
JP4327008B2 (ja) * | 2004-04-21 | 2009-09-09 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
-
2007
- 2007-06-20 JP JP2009520199A patent/JP5136553B2/ja active Active
- 2007-06-20 EP EP07767283.0A patent/EP2159685B1/en active Active
- 2007-06-20 WO PCT/JP2007/062445 patent/WO2008155845A1/ja active Application Filing
-
2009
- 2009-12-08 US US12/633,108 patent/US8001362B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10275100A (ja) * | 1997-03-11 | 1998-10-13 | Internatl Business Mach Corp <Ibm> | マルチスレッド・プロセッサ内でパフォーマンスを監視する方法およびシステム |
JP2006040174A (ja) * | 2004-07-29 | 2006-02-09 | Fujitsu Ltd | 命令リトライ検証機能付き情報処理装置および命令リトライ検証方法 |
Also Published As
Publication number | Publication date |
---|---|
US20100088491A1 (en) | 2010-04-08 |
EP2159685B1 (en) | 2013-08-21 |
JPWO2008155845A1 (ja) | 2010-08-26 |
US8001362B2 (en) | 2011-08-16 |
WO2008155845A1 (ja) | 2008-12-24 |
EP2159685A4 (en) | 2010-12-08 |
EP2159685A1 (en) | 2010-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101994636B1 (ko) | 데이터 처리장치의 추적 | |
US8990597B2 (en) | Instruction for enabling a processor wait state | |
US10296346B2 (en) | Parallelized execution of instruction sequences based on pre-monitoring | |
US7895421B2 (en) | Mechanism for using performance counters to identify reasons and delay times for instructions that are stalled during retirement | |
US9720695B2 (en) | System for providing trace data in a data processor having a pipelined architecture | |
US8285973B2 (en) | Thread completion rate controlled scheduling | |
US10209998B2 (en) | Multi-threading processor and a scheduling method thereof | |
US9348595B1 (en) | Run-time code parallelization with continuous monitoring of repetitive instruction sequences | |
US10628160B2 (en) | Selective poisoning of data during runahead | |
US9952871B2 (en) | Controlling execution of instructions for a processing pipeline having first out-of order execution circuitry and second execution circuitry | |
EP3238039A1 (en) | Run-time code parallelization with monitoring of repetitive instruction sequences | |
US10169187B2 (en) | Processor core having a saturating event counter for making performance measurements | |
JP5136553B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
US9619361B2 (en) | Performance profiling apparatus and performance profiling method | |
EP3278212A1 (en) | Parallelized execution of instruction sequences based on premonitoring | |
US10613859B2 (en) | Triple-pass execution using a retire queue having a functional unit to independently execute long latency instructions and dependent instructions | |
US10296350B2 (en) | Parallelized execution of instruction sequences | |
US20160179536A1 (en) | Early termination of segment monitoring in run-time code parallelization | |
US7913067B2 (en) | Method and system for overlapping execution of instructions through non-uniform execution pipelines in an in-order processor | |
US6490653B1 (en) | Method and system for optimally issuing dependent instructions based on speculative L2 cache hit in a data processing system | |
JP6477248B2 (ja) | 演算処理装置及び演算処理装置の処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120717 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120918 |
|
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: 20121016 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121029 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5136553 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151122 Year of fee payment: 3 |