JP2020091751A - 演算処理装置および演算処理装置の制御方法 - Google Patents
演算処理装置および演算処理装置の制御方法 Download PDFInfo
- Publication number
- JP2020091751A JP2020091751A JP2018229404A JP2018229404A JP2020091751A JP 2020091751 A JP2020091751 A JP 2020091751A JP 2018229404 A JP2018229404 A JP 2018229404A JP 2018229404 A JP2018229404 A JP 2018229404A JP 2020091751 A JP2020091751 A JP 2020091751A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- unit
- priority
- entry
- held
- 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
Links
- 238000000034 method Methods 0.000 title claims description 11
- 230000008569 process Effects 0.000 claims description 5
- 101100072419 Caenorhabditis elegans ins-6 gene Proteins 0.000 description 14
- 101100072420 Caenorhabditis elegans ins-5 gene Proteins 0.000 description 9
- 101150058443 ENT5 gene Proteins 0.000 description 9
- 102100021468 Equilibrative nucleoside transporter 2 Human genes 0.000 description 5
- 101000822017 Homo sapiens Equilibrative nucleoside transporter 2 Proteins 0.000 description 5
- 102100021472 Equilibrative nucleoside transporter 3 Human genes 0.000 description 4
- 101000822041 Homo sapiens Equilibrative nucleoside transporter 3 Proteins 0.000 description 4
- 230000007423 decrease Effects 0.000 description 4
- 101100445338 Arabidopsis thaliana ENT6 gene Proteins 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 102100021469 Equilibrative nucleoside transporter 1 Human genes 0.000 description 1
- 102100040133 Free fatty acid receptor 2 Human genes 0.000 description 1
- 101000822020 Homo sapiens Equilibrative nucleoside transporter 1 Proteins 0.000 description 1
- 101000890668 Homo sapiens Free fatty acid receptor 2 Proteins 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000002699 waste material Substances 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/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
- 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/3838—Dependency mechanisms, e.g. register scoreboarding
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Advance Control (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
Abstract
Description
実行可能情報書き込み部6は、各エントリENTが保持する命令に基づいて、エントリENTが保持する命令の依存関係を判定する。そして、実行可能情報書き込み部6は、依存関係が解決した命令を保持するエントリENTに対応する実行可能情報保持部5の領域に、命令が命令実行部3に実行可能であることを示す実行可能情報Rを書き込む。ここで、依存関係の解決とは、例えば、先行の命令と後続の命令とのデータ依存性がなくなることである。
(演算命令1) P B X
(演算命令2) u P B X
(演算命令3) P B X1 X2
(演算命令4) u P B X1 X2
S:=〜(P×R)&R ‥(1)
2 命令実行制御部
3 命令実行部
4 命令保持部
5 実行可能情報保持部
6 実行可能情報書き込み部
7 優先情報保持部
8 優先情報書き込み部
9 出力決定部
10 命令フェッチ制御部
12 命令キャッシュ部
14 命令バッファ部
16 命令デコード部
18 割り当て部
20 レジスタ管理部
22 コミット制御部
24 分岐制御部
26、26A リザベーションステーション
28 ターゲットアドレス計算器(BRCH)
30 メモリアドレス生成器(AGU)
32 ストアデータ制御部(STD)
34 固定小数点演算器(FXU)
36 浮動小数点演算器(FLU)
38 ロード/ストアキュー
40 メモリ
42 レジスタファイル
100、102 演算処理装置
260 ウェイクアップ制御部
262 レディ書き込み部
270 選択制御部
271 プライオリティ書き込み部
272 レディフラグ部
274 プライオリティ保持部
276 発行制御部
280、280A キュー
290 選択部
ENT エントリ
P 優先情報
R 実行可能情報
Claims (7)
- 命令をデコードする命令デコード部と、
前記命令デコード部がデコードした命令を保持する複数のエントリから実行可能な命令を出力する命令実行制御部と、
前記命令実行制御部が出力する命令を実行する命令実行部と、を有し、
前記命令実行制御部は、
前記複数のエントリの各々が保持した命令が実行可能かを示す実行可能情報を保持する実行可能情報保持部と、
前記複数のエントリの各々が保持した命令を他のエントリが保持する命令の各々より優先させるかを示す優先情報を保持する保持領域を、前記複数のエントリの各々に対応して有する優先情報保持部と、
前記エントリが保持する命令を前記命令実行部で実行可能かを判定し、判定結果に基づいて実行可能情報を前記実行可能情報保持部に書き込む実行可能情報書き込み部と、
前記エントリに格納する命令と前記エントリに格納済みの命令の各々との優先度を判定し、判定結果に基づいて優先情報を前記優先情報保持部に書き込む優先情報書き込み部と、
前記実行可能情報保持部が保持する実行可能情報と前記優先情報保持部が保持する優先情報とに基づいて、命令を出力するエントリを決定する出力決定部と、を有することを特徴とする演算処理装置。 - 前記複数のエントリの各々に対応する前記保持領域は、自エントリに保持された命令に対する他の複数のエントリのそれぞれに保持された命令の各々の優先度を優先情報として保持することを特徴とする請求項1に記載の演算処理装置。
- 複数の前記命令実行部を有し、
前記実行可能情報保持部は、前記命令実行部毎に設けられ、
前記出力決定部は、命令を実行する命令実行部に対応する実行可能情報保持部が保持する実行可能情報と前記優先情報保持部が保持する優先情報とに基づいて、命令を出力するエントリを決定することを特徴とする請求項1または請求項2に記載の演算処理装置。 - 複数の前記命令実行部の各々は、演算命令を実行する演算命令実行部、メモリアクセス命令を実行するメモリアクセス命令実行部または分岐命令の実行を制御する分岐命令実行部のいずれかであることを特徴とする請求項3に記載の演算処理装置。
- 前記複数のエントリの各々は、命令と命令に設定された優先度を示す情報とを保持する領域を有し、
前記優先情報書き込み部は、前記エントリに格納する命令に設定された優先度と、前記エントリに格納済みの優先度を示す情報とに基づき、前記優先情報保持部に優先情報を書き込むことを特徴とする請求項1ないし請求項4のいずれか1項に記載の演算処理装置。 - 前記出力決定部は、前記実行可能情報保持部が保持する実行可能情報に基づいて、実行可能な命令を保持するエントリを検出し、前記優先情報保持部が保持する優先情報に基づいて、検出したエントリが保持する命令のうち、優先度が最も高い命令の出力を決定することを特徴とする請求項1ないし請求項5のいずれか1項に記載の演算処理装置。
- 命令をデコードする命令デコード部と、前記命令デコード部がデコードした命令を保持する複数のエントリから実行可能な命令を出力する命令実行制御部と、前記命令実行制御部が出力する命令を実行する命令実行部と、を有する演算処理装置の制御方法において、
前記命令実行制御部が有する実行可能情報書き込み部が、前記エントリが保持する命令を前記命令実行部で実行可能かを判定し、判定結果に基づいて実行可能情報を実行可能情報保持部に書き込み、
前記命令実行制御部が有する優先情報書き込み部が、前記エントリに格納する命令と前記エントリに格納済みの命令の各々との優先度を判定し、判定結果に基づいて、前記複数のエントリの各々が保持した命令を他のエントリが保持する命令の各々より優先させるかを示す優先情報を優先情報保持部に書き込み、
前記命令実行制御部が有する出力決定部が、前記実行可能情報保持部が保持する実行可能情報と前記優先情報保持部が保持する優先情報とに基づいて、命令を出力するエントリを決定することを、を特徴とする演算処理装置の制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018229404A JP7225745B2 (ja) | 2018-12-06 | 2018-12-06 | 演算処理装置および演算処理装置の制御方法 |
US16/701,209 US11755329B2 (en) | 2018-12-06 | 2019-12-03 | Arithmetic processing apparatus and method for selecting an executable instruction based on priority information written in response to priority flag comparison |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018229404A JP7225745B2 (ja) | 2018-12-06 | 2018-12-06 | 演算処理装置および演算処理装置の制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020091751A true JP2020091751A (ja) | 2020-06-11 |
JP7225745B2 JP7225745B2 (ja) | 2023-02-21 |
Family
ID=70970180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018229404A Active JP7225745B2 (ja) | 2018-12-06 | 2018-12-06 | 演算処理装置および演算処理装置の制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11755329B2 (ja) |
JP (1) | JP7225745B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11816061B2 (en) * | 2020-12-18 | 2023-11-14 | Red Hat, Inc. | Dynamic allocation of arithmetic logic units for vectorized operations |
CN113778528B (zh) * | 2021-09-13 | 2023-03-24 | 北京奕斯伟计算技术股份有限公司 | 指令发送方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008198223A (ja) * | 1998-11-27 | 2008-08-28 | Matsushita Electric Ind Co Ltd | プロセッサ、コンパイル装置及びコンパイルプログラムを記録している記録媒体 |
JP2016224796A (ja) * | 2015-06-02 | 2016-12-28 | 富士通株式会社 | 演算処理装置および演算処理装置の処理方法 |
US20170024205A1 (en) * | 2015-07-24 | 2017-01-26 | Apple Inc. | Non-shifting reservation station |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1996025705A1 (en) | 1995-02-14 | 1996-08-22 | Fujitsu Limited | Structure and method for high-performance speculative execution processor providing special features |
US5751985A (en) | 1995-02-14 | 1998-05-12 | Hal Computer Systems, Inc. | Processor structure and method for tracking instruction status to maintain precise state |
US6785802B1 (en) * | 2000-06-01 | 2004-08-31 | Stmicroelectronics, Inc. | Method and apparatus for priority tracking in an out-of-order instruction shelf of a high performance superscalar microprocessor |
EP2159691B1 (en) | 2007-06-20 | 2013-08-28 | Fujitsu Limited | Simultaneous multithreaded instruction completion controller |
US8380964B2 (en) * | 2009-04-03 | 2013-02-19 | International Business Machines Corporation | Processor including age tracking of issue queue instructions |
US9983879B2 (en) * | 2016-03-03 | 2018-05-29 | International Business Machines Corporation | Operation of a multi-slice processor implementing dynamic switching of instruction issuance order |
US10120690B1 (en) * | 2016-06-13 | 2018-11-06 | Apple Inc. | Reservation station early age indicator generation |
US10942747B2 (en) * | 2017-11-30 | 2021-03-09 | International Business Machines Corporation | Head and tail pointer manipulation in a first-in-first-out issue queue |
-
2018
- 2018-12-06 JP JP2018229404A patent/JP7225745B2/ja active Active
-
2019
- 2019-12-03 US US16/701,209 patent/US11755329B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008198223A (ja) * | 1998-11-27 | 2008-08-28 | Matsushita Electric Ind Co Ltd | プロセッサ、コンパイル装置及びコンパイルプログラムを記録している記録媒体 |
JP2016224796A (ja) * | 2015-06-02 | 2016-12-28 | 富士通株式会社 | 演算処理装置および演算処理装置の処理方法 |
US20170024205A1 (en) * | 2015-07-24 | 2017-01-26 | Apple Inc. | Non-shifting reservation station |
Also Published As
Publication number | Publication date |
---|---|
US11755329B2 (en) | 2023-09-12 |
JP7225745B2 (ja) | 2023-02-21 |
US20200183684A1 (en) | 2020-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3927546B2 (ja) | 同時マルチスレッド化プロセッサ | |
JP4610593B2 (ja) | デュアルスレッドプロセッサ | |
JP3547482B2 (ja) | 情報処理装置 | |
US7734897B2 (en) | Allocation of memory access operations to memory access capable pipelines in a superscalar data processing apparatus and method having a plurality of execution threads | |
JP3919764B2 (ja) | 例外条件を解消するために同時マルチスレッド・プロセッサでディスパッチ・フラッシュを使用する方法 | |
US7363625B2 (en) | Method for changing a thread priority in a simultaneous multithread processor | |
JP3716414B2 (ja) | 同時マルチスレッド化プロセッサ | |
US9946549B2 (en) | Register renaming in block-based instruction set architecture | |
US9811340B2 (en) | Method and apparatus for reconstructing real program order of instructions in multi-strand out-of-order processor | |
US8635621B2 (en) | Method and apparatus to implement software to hardware thread priority | |
US20100082867A1 (en) | Multi-thread processor and its interrupt processing method | |
JP5861354B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
US10268519B2 (en) | Scheduling method and processing device for thread groups execution in a computing system | |
US7194603B2 (en) | SMT flush arbitration | |
EP2159691B1 (en) | Simultaneous multithreaded instruction completion controller | |
JP7225745B2 (ja) | 演算処理装置および演算処理装置の制御方法 | |
JP5104862B2 (ja) | 命令実行制御装置及び命令実行制御方法 | |
JP7032647B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
US20230195456A1 (en) | System, apparatus and method for throttling fusion of micro-operations in a processor | |
US11314505B2 (en) | Arithmetic processing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210909 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220728 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220802 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220926 |
|
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: 20230110 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230123 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7225745 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |