JP7102840B2 - プロセッサコア、命令制御方法、プログラム - Google Patents
プロセッサコア、命令制御方法、プログラム Download PDFInfo
- Publication number
- JP7102840B2 JP7102840B2 JP2018058318A JP2018058318A JP7102840B2 JP 7102840 B2 JP7102840 B2 JP 7102840B2 JP 2018058318 A JP2018058318 A JP 2018058318A JP 2018058318 A JP2018058318 A JP 2018058318A JP 7102840 B2 JP7102840 B2 JP 7102840B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- load
- source operand
- processor core
- reservation station
- 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
Images
Landscapes
- Advance Control (AREA)
Description
命令中の論理レジスタを物理レジスタに割り当てるレジスタリネーミングと、
前記命令が登録され、登録された前記命令のソースオペランドに対応する物理レジスタが有効になると当該命令を演算器に発行するリザベーションステーションと、
前記命令を一時的に保持するとともに、前記命令中のソースオペランドが先行するロード命令に依存しなくなると、当該命令をリザベーションステーションに登録するロード依存キューと、
を有し、
前記レジスタリネーミングは、前記命令のソースオペランドが先行するロード命令に依存しているか否かに応じて、前記リザベーションステーションに前記命令を登録するか、前記ロード依存キューに前記命令をキューイングする
という構成をとる。
プロセッサコアが、
命令のソースオペランドが先行するロード命令に依存しているか否か確認して、ソースオペランドが先行するロード命令に依存している前記命令を、前記命令のソースオペランドに対応する物理レジスタが有効になると当該命令を演算器に発行するリザベーションステーションに登録し、ソースオペランドが先行するロード命令に依存していない前記命令を、前記命令を一時的に保持するとともに、前記命令中のソースオペランドが先行するロード命令に依存しなくなると、当該命令をリザベーションステーションに登録するロード依存キューにキューイングする
という構成をとる。
命令が登録され、登録された前記命令のソースオペランドに対応する物理レジスタが有効になると当該命令を演算器に発行するリザベーションステーションと、前記命令を一時的に保持するとともに、前記命令中のソースオペランドが先行するロード命令に依存しなくなると、当該命令をリザベーションステーションに登録するロード依存キューと、を有するプロセッサコアに、
前記命令中の論理レジスタを物理レジスタに割り当てるレジスタリネーミングを実現させ、
前記レジスタリネーミングは、前記命令のソースオペランドが先行するロード命令に依存しているか否かに応じて、前記リザベーションステーションに前記命令を登録するか、前記ロード依存キューに前記命令をキューイングする処理を実現させるためのプログラムである。
本発明の第1の実施形態を図1から図8までを参照して説明する。図1は、プロセッサコア100の構成の一例を示すブロック図である。図2は、対応表141の一例を示す図である。図3は、ステータス表142の一例を示す図である。図4は、プロセッサコア100で実行する命令列の一例を示す図である。図5は、レジスタリネーミング130の動作の一例を示すフローチャートである。図6は、レジスタリネーミング130によるリネーミング後の命令列の一例を示す図である。図7は、リネーミング後の対応表141の一例を示す図である。図8は、リネーミング後のステータス表142の一例を示す図である。
次に、本発明の第2の実施形態について、図9、図10を参照して説明する。図9は、プロセッサコア200の構成の一例を示すブロック図である。図10は、レジスタリネーミング130の動作の一例を示すフローチャートである。
次に、本発明の第3の実施形態について、図11を参照して説明する。図11は、ステータス表342の構成の一例について説明する。
次に、図12を参照して、本発明の第4の実施形態について説明する。第4の実施形態では、プロセッサコア40の構成の概要について説明する。
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるプロセッサコアなどの概略を説明する。但し、本発明は、以下の構成に限定されない。
命令中の論理レジスタを物理レジスタに割り当てるレジスタリネーミングと、
前記命令が登録され、登録された前記命令のソースオペランドに対応する物理レジスタが有効になると当該命令を演算器に発行するリザベーションステーションと、
前記命令を一時的に保持するとともに、前記命令中のソースオペランドが先行するロード命令に依存しなくなると、当該命令をリザベーションステーションに登録するロード依存キューと、
を有し、
前記レジスタリネーミングは、前記命令のソースオペランドが先行するロード命令に依存しているか否かに応じて、前記リザベーションステーションに前記命令を登録するか、前記ロード依存キューに前記命令をキューイングする
プロセッサコア。
(付記2)
付記1に記載のプロセッサコアであって、
前記レジスタリネーミングは、ソースオペランドが先行するロード命令に依存していない前記命令を前記リザベーションステーションに登録する
プロセッサコア。
(付記3)
付記1又は付記2に記載のプロセッサコアであって、
前記レジスタリネーミングは、ソースオペランドが先行するロード命令に依存している前記命令を前記ロード依存キューにキューイングする
プロセッサコア。
(付記4)
付記1から付記3までのいずれか1項に記載のプロセッサコアであって、
前記命令を一時保持するとともに、前記命令を演算器に発行する発行可能キューを有し、
前記レジスタリネーミングは、前記命令のソースオペランドが先行するロード命令に依存していない場合、ソースオペランドが有効であるか否かに応じて、当該命令を前記リザベーションステーションに登録するか、前記発行可能キューにキューイングする
プロセッサコア。
(付記5)
付記4に記載のプロセッサコアであって、
前記レジスタリネーミングは、ソースオペランドが有効である前記命令を前記発行可能キューにキューイングする
プロセッサコア。
(付記6)
付記4又は付記5に記載のプロセッサコアであって、
前記レジスタリネーミングは、ソースオペランドが有効でない前記命令を前記リザベーションステーションに登録する
プロセッサコア。
(付記7)
付記4から付記6までのいずれか1項に記載のプロセッサコアであって、
前記発行可能キュー又は前記リザベーションステーションのうちの少なくとも一つは、ストア命令に依存している前記命令を優先的に発行する
プロセッサコア。
(付記8)
付記1から付記7までのいずれか1項に記載のプロセッサコアであって、
物理レジスタの番号と、対応する物理レジスタにロード命令依存があるか否かを示すロード命令依存と、を対応づけたステータス表を記憶しており、
前記リザベーションステーションは、前記ステータス表を用いて前記命令のソースオペランドが先行するロード命令に依存しているか否か判断する
プロセッサコア。
(付記9)
命令が登録され、登録された前記命令のソースオペランドに対応する物理レジスタが有効になると当該命令を演算器に発行するリザベーションステーションと、前記命令を一時的に保持するとともに、前記命令中のソースオペランドが先行するロード命令に依存しなくなると、当該命令をリザベーションステーションに登録するロード依存キューと、を有するプロセッサコアに、
前記命令中の論理レジスタを物理レジスタに割り当てるレジスタリネーミングを実現させ、
前記レジスタリネーミングは、前記命令のソースオペランドが先行するロード命令に依存しているか否かに応じて、前記リザベーションステーションに前記命令を登録するか、前記ロード依存キューに前記命令をキューイングする
プログラム。
(付記10)
プロセッサコアが、
命令のソースオペランドが先行するロード命令に依存しているか否か確認して、ソースオペランドが先行するロード命令に依存している前記命令を、前記命令のソースオペランドに対応する物理レジスタが有効になると当該命令を演算器に発行するリザベーションステーションに登録し、ソースオペランドが先行するロード命令に依存していない前記命令を、前記命令を一時的に保持するとともに、前記命令中のソースオペランドが先行するロード命令に依存しなくなると、当該命令をリザベーションステーションに登録するロード依存キューにキューイングする
命令制御方法。
110 命令フェッチ/デコードユニット
120 命令キュー
130 レジスタリネーミング
140 リネーミングテーブル
141 対応表
142 ステータス表
150 ロード依存キュー
160 リザベーションステーション
170 演算器
200 プロセッサコア
210 発行可能キュー
342 ステータス表
40 プロセッサコア
41 レジスタリネーミング
42 リザベーションステーション
43 ロード依存キュー
Claims (9)
- 命令中の論理レジスタを物理レジスタに割り当てるレジスタリネーミング手段と、
前記命令が登録され、登録された前記命令のソースオペランドに対応する物理レジスタが有効になると当該命令を演算器に発行するリザベーションステーションと、
前記命令を一時的に保持するとともに、前記命令中のソースオペランドが先行するロード命令に依存しなくなると、当該命令をリザベーションステーションに登録するロード依存キューと、
を有し、
前記レジスタリネーミング手段は、前記命令のソースオペランドが先行するロード命令に依存しているか否かに応じて、前記リザベーションステーションに前記命令を登録するか、前記ロード依存キューに前記命令をキューイングする
プロセッサコア。 - 請求項1に記載のプロセッサコアであって、
前記レジスタリネーミング手段は、ソースオペランドが先行するロード命令に依存していない前記命令を前記リザベーションステーションに登録する
プロセッサコア。 - 請求項1又は請求項2に記載のプロセッサコアであって、
前記レジスタリネーミング手段は、ソースオペランドが先行するロード命令に依存している前記命令を前記ロード依存キューにキューイングする
プロセッサコア。 - 請求項1から請求項3までのいずれか1項に記載のプロセッサコアであって、
前記命令を一時保持するとともに、前記命令を演算器に発行する発行可能キューを有し、
前記レジスタリネーミング手段は、前記命令のソースオペランドが先行するロード命令に依存していない場合、ソースオペランドが有効であるか否かに応じて、当該命令を前記リザベーションステーションに登録するか、前記発行可能キューにキューイングする
プロセッサコア。 - 請求項4に記載のプロセッサコアであって、
前記レジスタリネーミング手段は、ソースオペランドが有効である前記命令を前記発行可能キューにキューイングする
プロセッサコア。 - 請求項4又は請求項5に記載のプロセッサコアであって、
前記レジスタリネーミング手段は、ソースオペランドが有効でない前記命令を前記リザベーションステーションに登録する
プロセッサコア。 - 請求項4から請求項6までのいずれか1項に記載のプロセッサコアであって、
前記発行可能キュー又は前記リザベーションステーションのうちの少なくとも一つは、ストア命令に依存している前記命令を優先的に発行する
プロセッサコア。 - 請求項1から請求項7までのいずれか1項に記載のプロセッサコアであって、
物理レジスタの番号と、対応する物理レジスタにロード命令依存があるか否かを示すロード命令依存と、を対応づけたステータス表を記憶しており、
前記リザベーションステーションは、前記ステータス表を用いて前記命令のソースオペランドが先行するロード命令に依存しているか否か判断する
プロセッサコア。 - プロセッサコアが、
命令のソースオペランドが先行するロード命令に依存しているか否か確認して、ソースオペランドが先行するロード命令に依存している前記命令を、前記命令のソースオペランドに対応する物理レジスタが有効になると当該命令を演算器に発行するリザベーションステーションに登録し、ソースオペランドが先行するロード命令に依存していない前記命令を、前記命令を一時的に保持するとともに、前記命令中のソースオペランドが先行するロード命令に依存しなくなると、当該命令をリザベーションステーションに登録するロード依存キューにキューイングする
命令制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018058318A JP7102840B2 (ja) | 2018-03-26 | 2018-03-26 | プロセッサコア、命令制御方法、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018058318A JP7102840B2 (ja) | 2018-03-26 | 2018-03-26 | プロセッサコア、命令制御方法、プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019169082A JP2019169082A (ja) | 2019-10-03 |
JP7102840B2 true JP7102840B2 (ja) | 2022-07-20 |
Family
ID=68108405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018058318A Active JP7102840B2 (ja) | 2018-03-26 | 2018-03-26 | プロセッサコア、命令制御方法、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7102840B2 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004295195A (ja) | 2003-03-25 | 2004-10-21 | Japan Science & Technology Agency | 命令発行方法及び装置、中央演算装置、命令発行プログラム及びそれを記憶したコンピュータ読み取り可能な記憶媒体 |
JP2015191660A (ja) | 2014-03-28 | 2015-11-02 | インテル・コーポレーション | 動的アウトオブオーダプロセッサパイプラインを実装する方法および装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3475861B2 (ja) * | 1999-06-29 | 2003-12-10 | 日本電気株式会社 | データ処理装置 |
JP4830164B2 (ja) * | 2009-07-07 | 2011-12-07 | エヌイーシーコンピュータテクノ株式会社 | 情報処理装置及びベクトル型情報処理装置 |
-
2018
- 2018-03-26 JP JP2018058318A patent/JP7102840B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004295195A (ja) | 2003-03-25 | 2004-10-21 | Japan Science & Technology Agency | 命令発行方法及び装置、中央演算装置、命令発行プログラム及びそれを記憶したコンピュータ読み取り可能な記憶媒体 |
JP2015191660A (ja) | 2014-03-28 | 2015-11-02 | インテル・コーポレーション | 動的アウトオブオーダプロセッサパイプラインを実装する方法および装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2019169082A (ja) | 2019-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3724582B2 (ja) | 命令実行ユニットのためのレジスタ・リネーミング回路 | |
US9569214B2 (en) | Execution pipeline data forwarding | |
TWI439930B (zh) | 具選擇性啟動早期引退功能之失序執行微處理器 | |
US20150277925A1 (en) | Data processing apparatus and method for executing a stream of instructions out of order with respect to original program order | |
JPH07506445A (ja) | スーパースケーラマイクロプロセサに於て命令をリタイアさせるシステム及び方法 | |
US10649780B2 (en) | Data processing apparatus and method for executing a stream of instructions out of order with respect to original program order | |
WO1993018450A1 (en) | Register file backup queue | |
JP3689369B2 (ja) | 2次リオーダ・バッファ・マイクロプロセッサ | |
US10372458B2 (en) | Method and apparatus for a self-clocked, event triggered superscalar processor | |
US6266763B1 (en) | Physical rename register for efficiently storing floating point, integer, condition code, and multimedia values | |
JP5180285B2 (ja) | プロセッサにおいて実行ステージに先立って命令を実行するためのシステムおよび方法 | |
US20140129805A1 (en) | Execution pipeline power reduction | |
US8977837B2 (en) | Apparatus and method for early issue and recovery for a conditional load instruction having multiple outcomes | |
US10095518B2 (en) | Allowing deletion of a dispatched instruction from an instruction queue when sufficient processor resources are predicted for that instruction | |
KR20220065048A (ko) | 대기열 압축 해제 | |
JP3816845B2 (ja) | プロセッサ及び命令制御方法 | |
JP7102840B2 (ja) | プロセッサコア、命令制御方法、プログラム | |
US20100100709A1 (en) | Instruction control apparatus and instruction control method | |
US7257698B2 (en) | Instruction buffer and method of controlling the instruction buffer where buffer entries are issued in a predetermined order | |
WO1999027439A1 (fr) | Systeme informatique | |
JP5093237B2 (ja) | 命令処理装置 | |
CN101706715B (zh) | 指令调度装置和方法 | |
US11194577B2 (en) | Instruction issue according to in-order or out-of-order execution modes | |
JP7151439B2 (ja) | 演算処理装置および演算処理装置の制御方法 | |
JP6307975B2 (ja) | 演算処理装置及び演算処理装置の制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210209 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211228 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220125 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220324 |
|
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: 20220607 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220620 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7102840 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |