JP7225745B2 - 演算処理装置および演算処理装置の制御方法 - Google Patents
演算処理装置および演算処理装置の制御方法 Download PDFInfo
- Publication number
- JP7225745B2 JP7225745B2 JP2018229404A JP2018229404A JP7225745B2 JP 7225745 B2 JP7225745 B2 JP 7225745B2 JP 2018229404 A JP2018229404 A JP 2018229404A JP 2018229404 A JP2018229404 A JP 2018229404A JP 7225745 B2 JP7225745 B2 JP 7225745B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- unit
- priority
- executable
- holding
- 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
- 238000000034 method Methods 0.000 title claims description 9
- 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
- 238000010586 diagram Methods 0.000 description 6
- 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 3
- 101100445338 Arabidopsis thaliana ENT6 gene Proteins 0.000 description 2
- 230000002542 deteriorative effect Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008569 process Effects 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
- 230000008859 change Effects 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
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000012447 hatching Effects 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
- 238000004904 shortening Methods 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, 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, 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
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 (8)
- 命令をデコードする命令デコード部と、
前記命令デコード部がデコードした命令を保持する複数のエントリから実行可能な命令を出力する命令実行制御部と、
前記命令実行制御部が出力する命令を実行する命令実行部と、を有し、
前記命令実行制御部は、
前記複数のエントリの各々が保持した命令が実行可能かを示す実行可能情報を保持する実行可能情報保持部と、
前記複数のエントリにそれぞれ対応する複数の保持領域を有し、前記複数の保持領域の各々に、他のエントリに保持された命令との相対的な優先度を示す優先情報を保持する優先情報保持部と、
前記エントリが保持する命令を前記命令実行部で実行可能かを判定し、判定結果に基づいて実行可能情報を前記実行可能情報保持部に書き込む実行可能情報書き込み部と、
前記エントリに格納する命令と前記エントリに格納済みの命令の各々との優先度を判定し、判定結果に基づいて優先情報を前記優先情報保持部に書き込む優先情報書き込み部と、
前記複数の保持領域の各々に保持された相対的な優先度を示す優先情報に基づいて、前記実行可能情報保持部に保持された実行可能情報で示される実行可能な命令のうち、優先度が最も高い命令を前記命令実行部に出力する命令として決定する出力決定部と、を有することを特徴とする演算処理装置。 - 前記優先情報保持部は、前記保持領域の各々を行とする表形式であることを特徴とする請求項1に記載の演算処理装置。
- 複数の前記命令実行部を有し、
前記命令実行制御部は、複数の前記命令実行部に共通に設けられ、
前記実行可能情報保持部は、前記命令実行部毎に設けられ、
前記出力決定部は、命令を実行する命令実行部に対応する実行可能情報保持部が保持する実行可能情報と前記優先情報保持部が保持する優先情報とに基づいて、命令を出力するエントリを決定することを特徴とする請求項1または請求項2に記載の演算処理装置。 - 複数の前記命令実行部の各々は、演算命令を実行する演算命令実行部、メモリアクセス命令を実行するメモリアクセス命令実行部または分岐命令の実行を制御する分岐命令実行部のいずれかであることを特徴とする請求項3に記載の演算処理装置。
- 前記複数のエントリの各々は、命令と命令に設定された優先度を示す情報とを保持する領域を有し、
前記優先情報書き込み部は、前記エントリに格納する命令に設定された優先度と、前記エントリに格納済みの優先度を示す情報とに基づき、前記優先情報保持部に優先情報を書き込むことを特徴とする請求項1ないし請求項4のいずれか1項に記載の演算処理装置。 - 命令をデコードする命令デコード部と、
前記命令デコード部がデコードした命令を保持する複数のエントリから実行可能な命令を出力する命令実行制御部と、
前記命令実行制御部が出力する命令を実行する命令実行部と、を有し、
前記命令実行制御部は、
前記複数のエントリの各々が保持した命令が実行可能かを示す実行可能情報を保持する実行可能情報保持部と、
前記複数のエントリの各々が保持した命令を他のエントリが保持する命令の各々より優先させるかを示す優先情報を保持する保持領域を、前記複数のエントリの各々に対応して有する優先情報保持部と、
前記エントリが保持する命令を前記命令実行部で実行可能かを判定し、判定結果に基づいて実行可能情報を前記実行可能情報保持部に書き込む実行可能情報書き込み部と、
前記エントリに格納する命令と前記エントリに格納済みの命令の各々との優先度を判定し、判定結果に基づいて優先情報を前記優先情報保持部に書き込む優先情報書き込み部と、
前記実行可能情報保持部が保持する実行可能情報と前記優先情報保持部が保持する優先情報とに基づいて、命令を出力するエントリを決定する出力決定部と、を有し、
前記複数のエントリの各々は、命令と命令に設定された優先度を示す情報とを保持する領域を有し、
前記優先情報書き込み部は、前記エントリに格納する命令に設定された優先度と、前記エントリに格納済みの優先度を示す情報とに基づき、前記優先情報保持部に優先情報を書き込むことを特徴とする演算処理装置。 - 前記出力決定部は、前記実行可能情報保持部が保持する実行可能情報に基づいて、実行可能な命令を保持するエントリを検出し、前記優先情報保持部が保持する優先情報に基づいて、検出したエントリが保持する命令のうち、優先度が最も高い命令の出力を決定することを特徴とする請求項1ないし請求項6のいずれか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 JP2020091751A (ja) | 2020-06-11 |
JP7225745B2 true 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 |
---|---|---|---|---|
US5644742A (en) | 1995-02-14 | 1997-07-01 | Hal Computer Systems, Inc. | Processor structure and method for a time-out checkpoint |
WO1996025705A1 (en) | 1995-02-14 | 1996-08-22 | Fujitsu Limited | Structure and method for high-performance speculative execution processor providing special features |
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 |
JP5201140B2 (ja) | 2007-06-20 | 2013-06-05 | 富士通株式会社 | 同時マルチスレッドの命令完了制御装置 |
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 |
---|---|
US20200183684A1 (en) | 2020-06-11 |
JP2020091751A (ja) | 2020-06-11 |
US11755329B2 (en) | 2023-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11163582B1 (en) | Microprocessor with pipeline control for executing of instruction at a preset future time | |
US6981129B1 (en) | Breaking replay dependency loops in a processor using a rescheduled replay queue | |
JP4610593B2 (ja) | デュアルスレッドプロセッサ | |
JP3927546B2 (ja) | 同時マルチスレッド化プロセッサ | |
US6877086B1 (en) | Method and apparatus for rescheduling multiple micro-operations in a processor using a replay queue and a counter | |
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 | |
US7363625B2 (en) | Method for changing a thread priority in a simultaneous multithread processor | |
JP3919764B2 (ja) | 例外条件を解消するために同時マルチスレッド・プロセッサでディスパッチ・フラッシュを使用する方法 | |
KR100745904B1 (ko) | 동시적 멀티스레드 프로세서에서 파이프라인 길이를변경하기 위한 방법 및 회로 | |
US8635621B2 (en) | Method and apparatus to implement software to hardware thread priority | |
US11204770B2 (en) | Microprocessor having self-resetting register scoreboard | |
JP6260303B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
US20150212972A1 (en) | Data processing apparatus and method for performing scan operations | |
US11132199B1 (en) | Processor having latency shifter and controlling method using the same | |
US7194603B2 (en) | SMT flush arbitration | |
US20210311741A1 (en) | Processor having read shifter and controlling method using the same | |
JP7225745B2 (ja) | 演算処理装置および演算処理装置の制御方法 | |
JP4985452B2 (ja) | ベクトル処理装置 | |
CN114514505A (zh) | 退役队列压缩 | |
US11422821B1 (en) | Age tracking for independent pipelines | |
US11593115B2 (en) | Processor, device, and method for executing instructions | |
JP7032647B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
US11314505B2 (en) | Arithmetic processing device | |
US20230195456A1 (en) | System, apparatus and method for throttling fusion of micro-operations in a processor | |
Rogers | Understanding Simultaneous Multithreading on z Systems |
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 |