JP5493837B2 - 演算処理装置、情報処理装置及び演算処理装置のパイプライン制御方法 - Google Patents
演算処理装置、情報処理装置及び演算処理装置のパイプライン制御方法 Download PDFInfo
- Publication number
- JP5493837B2 JP5493837B2 JP2009294196A JP2009294196A JP5493837B2 JP 5493837 B2 JP5493837 B2 JP 5493837B2 JP 2009294196 A JP2009294196 A JP 2009294196A JP 2009294196 A JP2009294196 A JP 2009294196A JP 5493837 B2 JP5493837 B2 JP 5493837B2
- Authority
- JP
- Japan
- Prior art keywords
- pipeline
- unit
- instruction
- input
- stage
- 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
- 238000012545 processing Methods 0.000 title claims description 159
- 238000000034 method Methods 0.000 title claims description 53
- 230000010365 information processing Effects 0.000 title claims description 15
- 238000002347 injection Methods 0.000 description 48
- 239000007924 injection Substances 0.000 description 48
- 230000015654 memory Effects 0.000 description 25
- 230000004044 response Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000003780 insertion Methods 0.000 description 4
- 206010000210 abortion Diseases 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013519 translation 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/3867—Concurrent instruction execution, e.g. pipeline, 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/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/3861—Recovery, e.g. branch miss-prediction, exception handling
Description
(付記1)
入力される第1の命令を実行する第1のパイプライン部と、
入力される第2の命令を実行する第2のパイプライン部と、
前記第1のパイプライン部が前記第1の命令を完了できない場合又は前記第2のパイプライン部が前記第2の命令を完了できない場合に、完了できない前記第1の命令又は前記第2の命令を登録する登録部と、
前記第1のパイプライン部と第2のパイプライン部とのうち、負荷が低いパイプライン部を決定する決定部と、
前記登録部に登録された命令を、前記決定部が決定したパイプライン部に入力する入力部とを有することを特徴とする演算処理装置。
(付記2)
前記演算処理装置において、
前記決定部は、
前記登録部に登録された命令が、前記第1のパイプライン部又は前記第2のパイプライン部に入力されてから前記登録部に登録されるまでの間に、前記負荷が低いパイプライン部を決定することを特徴とする付記1記載の演算処理装置。
(付記3)
前記演算処理装置において、
前記第1のパイプライン部は、第1の実行ステージで第1の処理を実行する第1の処理手段と、前記第1の実行ステージの後段の第2の実行ステージで第2の処理を実行する第2の処理手段とを有し、
前記第2のパイプライン部は、第3の実行ステージで第3の処理を実行する第3の処理手段と、前記第3の実行ステージの後段の第4の実行ステージで第4の処理を実行する第4の処理手段とを有し、
前記決定部は、前記第1の処理手段及び第2の処理手段がともに使用中であり且つ前記第3の処理手段及び第4の処理手段がともに不使用の場合に、前記第2のパイプライン部を決定し、
前記第3の処理手段及び第4の処理手段がともに使用中であり且つ前記第1の処理手段及び第2の処理手段がともに不使用の場合に、前記第1のパイプライン部を決定することを特徴とする付記1又は2記載の演算処理装置。
(付記4)
前記第1の処理手段は使用中の場合に“1”、不使用の場合に“0”となる第1の情報を有し、
前記第2の処理手段は使用中の場合に“1”、不使用の場合に“0”となる第2の情報を有し、
前記第3の処理手段は使用中の場合に“1”、不使用の場合に“0”となる第3の情報を有し、
前記第4の処理手段は使用中の場合に“1”、不使用の場合に“0”となる第4の情報を有し、
前記決定部は、前記第1の情報、前記第2の情報、前記第3の情報が反転された情報及び前記第4の情報が反転された情報が入力される第1のANDゲートと、
前記第1のANDゲートの出力と、“0”とが入力され、出力を前記第2の処理手段に設定する第1のXORゲートと、
前記第1の情報が反転された情報、前記第2の情報が反転された情報、前記第3の情報及び前記第4の情報が入力される第2のANDゲートと、
前記第2のANDゲートの出力と、“1”とが入力され、出力を前記第4の処理手段に設定する第2のXORゲートとを有し、
前記第1のXORゲート及び第2のXORゲートの出力の“0”は第1のパイプライン部を示し、“1”は第2のパイプライン部を示すことを特徴とする付記3に記載の演算処理装置。
(付記5)
前記登録部は、前記第1のパイプライン部及び前記第2のパイプライン部のうちの何れか一方が前記決定部による決定にしたがって前記第1のパイプライン部に再度入力する命令を登録する第1の登録部と、前記第1のパイプライン部及び前記第2のパイプライン部のうちの何れか一方が前記決定部による決定にしたがって前記第2のパイプライン部に再度入力する命令を登録する第2の登録部とを有し、
前記入力部は、前記第1の登録部に登録される命令を前記第1のパイプライン部に入力する第1の入力部と、前記第2の登録部に登録される命令を前記第2のパイプライン部に入力する第2の入力部とを有することを特徴とする付記1乃至4のうちのいずれかに記載の演算処理装置。
(付記6)
前記入力部は、前記登録部に登録される命令を前記決定部による決定にしたがって前記第1のパイプライン部に入力する第1の入力部と、前記登録部に登録される命令を前記決定部による決定にしたがって前記第2のパイプライン部に入力する第2の入力部とを有することを特徴とする付記1乃至4のうちのいずれかに記載の演算処理装置。
(付記7)
命令を格納する記憶装置と、前記記憶装置に接続された演算処理装置とを有する情報処理装置において、
前記演算処理装置は、
入力される第1の命令を実行する第1のパイプライン部と、
入力される第2の命令を実行する第2のパイプライン部と、
前記第1のパイプライン部が前記第1の命令を完了できない場合又は前記第2のパイプライン部が前記第2の命令を完了できない場合に、完了できない前記第1の命令又は前記第2の命令を登録する登録部と、
前記第1のパイプライン部と第2のパイプライン部とのうち、負荷が低いパイプライン部を決定する決定部と、
前記登録部に登録された命令を、前記決定部が決定したパイプライン部に入力する入力部とを有することを特徴とする情報処理装置。
(付記8)
前記情報処理装置において、
前記決定部は、
前記登録部に登録された命令が、前記第1のパイプライン部又は前記第2のパイプライン部に入力されてから前記登録部に登録されるまでの間に、前記負荷が低いパイプライン部を決定することを特徴とする付記7記載の情報処理装置。
(付記9)
前記情報処理装置において、
前記第1のパイプライン部は、第1の実行ステージで第1の処理を実行する第1の処理手段と、前記第1の実行ステージの後段の第2の実行ステージで第2の処理を実行する第2の処理手段とを有し、
前記第2のパイプライン部は、第3の実行ステージで第3の処理を実行する第3の処理手段と、前記第3の実行ステージの後段の第4の実行ステージで第4の処理を実行する第4の処理手段とを有し、
前記決定部は、前記第1の処理手段及び第2の処理手段がともに使用中であり且つ前記第3の処理手段及び第4の処理手段がともに不使用の場合に、前記第2のパイプライン部を決定し、
前記第3の処理手段及び第4の処理手段がともに使用中であり且つ前記第1の処理手段及び第2の処理手段がともに不使用の場合に、前記第1のパイプライン部を決定することを特徴とする付記7又は8記載の情報処理装置。
(付記10)
第1のパイプライン部が第1の命令を実行するステップと、
第2のパイプライン部が第2の命令を実行するステップと、
登録部が、前記第1のパイプライン部が前記第1の命令を完了できない場合又は前記第2のパイプライン部が前記第2の命令を完了できない場合に完了できない前記第1の命令又は前記第2の命令を登録するステップと、
決定部が、前記第1のパイプライン部と第2のパイプライン部とのうち、負荷が低いパイプライン部を決定するステップと、
入力部が、前記登録部に登録された命令を、前記決定部が決定したパイプライン部に入力するステップとを有することを特徴とする演算処理装置のパイプライン制御方法。
(付記11)
前記演算処理装置のパイプライン制御方法において、
前記決定するステップは、
前記登録部に登録された命令が、前記第1のパイプライン部又は前記第2のパイプライン部に入力されてから前記登録部に登録されるまでの間に、前記負荷が低いパイプライン部を決定するステップを有することを特徴とする付記10記載の演算処理装置のパイプライン制御方法。
(付記12)
前記演算処理装置のパイプライン制御方法において、
前記第1のパイプライン部は、第1の実行ステージで第1の処理を実行する第1の処理手段と、前記第1の実行ステージの後段の第2の実行ステージで第2の処理を実行する第2の処理手段とを有し、
前記第2のパイプライン部は、第3の実行ステージで第3の処理を実行する第3の処理手段と、前記第3の実行ステージの後段の第4の実行ステージで第4の処理を実行する第4の処理手段とを有し、
前記決定するステップは、前記第1の処理手段及び第2の処理手段がともに使用中であり且つ前記第3の処理手段及び第4の処理手段がともに不使用の場合に、前記第2のパイプライン部を決定し、
前記第3の処理手段及び第4の処理手段がともに使用中であり且つ前記第1の処理手段及び第2の処理手段がともに不使用の場合に、前記第1のパイプライン部を決定することを特徴とする付記10又は11記載の演算処理装置のパイプライン制御方法。
11,12,111,112 パイプライン投入命令選択部
21,22、121,122 パイプライン部
30,31,32、130,131,132 待ちポート部
41,42、43,44、140、141,142 再投入命令選択部
50 再投入パイプライン決定部
Claims (6)
- 入力される第1の命令を実行する第1のパイプライン部と、
入力される第2の命令を実行する第2のパイプライン部と、
前記第1のパイプライン部が前記第1の命令を完了できない場合又は前記第2のパイプライン部が前記第2の命令を完了できない場合に、完了できない前記第1の命令又は前記第2の命令を登録する登録部と、
前記第1のパイプライン部と第2のパイプライン部とのうち、負荷が低いパイプライン部を決定する決定部と、
前記登録部に登録された命令を、前記決定部が決定したパイプライン部に入力する入力部とを有し、
前記第1のパイプライン部は、第1の実行ステージで第1の処理を実行する第1の処理手段と、前記第1の実行ステージの後段の第2の実行ステージで第2の処理を実行する第2の処理手段とを有し、
前記第2のパイプライン部は、第3の実行ステージで第3の処理を実行する第3の処理手段と、前記第3の実行ステージの後段の第4の実行ステージで第4の処理を実行する第4の処理手段とを有し、
前記決定部は、前記第1の処理手段及び第2の処理手段がともに使用中であり且つ前記第3の処理手段及び第4の処理手段がともに不使用の場合に、前記第2のパイプライン部を決定し、
前記第3の処理手段及び第4の処理手段がともに使用中であり且つ前記第1の処理手段及び第2の処理手段がともに不使用の場合に、前記第1のパイプライン部を決定することを特徴とする演算処理装置。 - 前記演算処理装置において、
前記決定部は、
前記登録部に登録された命令が、前記第1のパイプライン部又は前記第2のパイプライン部に入力されてから前記登録部に登録されるまでの間に、前記負荷が低いパイプライン部を決定することを特徴とする請求項1記載の演算処理装置。 - 命令を格納する記憶装置と、前記記憶装置に接続された演算処理装置とを有する情報処理装置において、
前記演算処理装置は、
入力される第1の命令を実行する第1のパイプライン部と、
入力される第2の命令を実行する第2のパイプライン部と、
前記第1のパイプライン部が前記第1の命令を完了できない場合又は前記第2のパイプライン部が前記第2の命令を完了できない場合に、完了できない前記第1の命令又は前記第2の命令を登録する登録部と、
前記第1のパイプライン部と第2のパイプライン部とのうち、負荷が低いパイプライン部を決定する決定部と、
前記登録部に登録された命令を、前記決定部が決定したパイプライン部に入力する入力部とを有し、
前記第1のパイプライン部は、第1の実行ステージで第1の処理を実行する第1の処理手段と、前記第1の実行ステージの後段の第2の実行ステージで第2の処理を実行する第2の処理手段とを有し、
前記第2のパイプライン部は、第3の実行ステージで第3の処理を実行する第3の処理手段と、前記第3の実行ステージの後段の第4の実行ステージで第4の処理を実行する第4の処理手段とを有し、
前記決定部は、前記第1の処理手段及び第2の処理手段がともに使用中であり且つ前記第3の処理手段及び第4の処理手段がともに不使用の場合に、前記第2のパイプライン部を決定し、
前記第3の処理手段及び第4の処理手段がともに使用中であり且つ前記第1の処理手段及び第2の処理手段がともに不使用の場合に、前記第1のパイプライン部を決定することを特徴とする情報処理装置。 - 前記情報処理装置において、
前記決定部は、
前記登録部に登録された命令が、前記第1のパイプライン部又は前記第2のパイプライン部に入力されてから前記登録部に登録されるまでの間に、前記負荷が低いパイプライン部を決定することを特徴とする請求項3記載の情報処理装置。 - 第1のパイプライン部が第1の命令を実行するステップと、
第2のパイプライン部が第2の命令を実行するステップと、
登録部が、前記第1のパイプライン部が前記第1の命令を完了できない場合又は前記第2のパイプライン部が前記第2の命令を完了できない場合に完了できない前記第1の命令又は前記第2の命令を登録するステップと、
決定部が、前記第1のパイプライン部と第2のパイプライン部とのうち、負荷が低いパイプライン部を決定するステップと、
入力部が、前記登録部に登録された命令を、前記決定部が決定したパイプライン部に入力するステップとを有し、
前記第1のパイプライン部は、第1の実行ステージで第1の処理を実行する第1の処理手段と、前記第1の実行ステージの後段の第2の実行ステージで第2の処理を実行する第2の処理手段とを有し、
前記第2のパイプライン部は、第3の実行ステージで第3の処理を実行する第3の処理手段と、前記第3の実行ステージの後段の第4の実行ステージで第4の処理を実行する第4の処理手段とを有し、
前記決定するステップは、前記第1の処理手段及び第2の処理手段がともに使用中であり且つ前記第3の処理手段及び第4の処理手段がともに不使用の場合に、前記第2のパイプライン部を決定し、
前記第3の処理手段及び第4の処理手段がともに使用中であり且つ前記第1の処理手段及び第2の処理手段がともに不使用の場合に、前記第1のパイプライン部を決定することを特徴とする演算処理装置のパイプライン制御方法。 - 前記演算処理装置のパイプライン制御方法において、
前記決定するステップは、
前記登録部に登録された命令が、前記第1のパイプライン部又は前記第2のパイプライン部に入力されてから前記登録部に登録されるまでの間に、前記負荷が低いパイプライン部を決定するステップを有することを特徴とする請求項5記載の演算処理装置のパイプライン制御方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009294196A JP5493837B2 (ja) | 2009-12-25 | 2009-12-25 | 演算処理装置、情報処理装置及び演算処理装置のパイプライン制御方法 |
US12/926,799 US8683181B2 (en) | 2009-12-25 | 2010-12-09 | Processor and method for distributing load among plural pipeline units |
EP10195257A EP2348400A1 (en) | 2009-12-25 | 2010-12-15 | Arithmetic processor, information processor, and pipeline control method of arithmetic processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009294196A JP5493837B2 (ja) | 2009-12-25 | 2009-12-25 | 演算処理装置、情報処理装置及び演算処理装置のパイプライン制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011134181A JP2011134181A (ja) | 2011-07-07 |
JP5493837B2 true JP5493837B2 (ja) | 2014-05-14 |
Family
ID=43735574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009294196A Expired - Fee Related JP5493837B2 (ja) | 2009-12-25 | 2009-12-25 | 演算処理装置、情報処理装置及び演算処理装置のパイプライン制御方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8683181B2 (ja) |
EP (1) | EP2348400A1 (ja) |
JP (1) | JP5493837B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7013707B2 (ja) * | 2017-08-02 | 2022-02-01 | 富士通株式会社 | 情報処理装置および情報処理方法 |
US10467142B1 (en) * | 2019-05-07 | 2019-11-05 | 12 Sigma Technologies | Enhancement of real-time response to request for detached data analytics |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3180803B2 (ja) * | 1999-05-26 | 2001-06-25 | 日本電気株式会社 | スーパースカラプロセッサ |
US6993641B2 (en) * | 2000-11-08 | 2006-01-31 | Pts Corporation | Stall control |
GB2392742B (en) * | 2002-09-04 | 2005-10-19 | Advanced Risc Mach Ltd | Synchronisation between pipelines in a data processing apparatus |
JP2007026392A (ja) * | 2005-07-21 | 2007-02-01 | Toshiba Corp | マイクロプロセッサ |
-
2009
- 2009-12-25 JP JP2009294196A patent/JP5493837B2/ja not_active Expired - Fee Related
-
2010
- 2010-12-09 US US12/926,799 patent/US8683181B2/en not_active Expired - Fee Related
- 2010-12-15 EP EP10195257A patent/EP2348400A1/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
JP2011134181A (ja) | 2011-07-07 |
US8683181B2 (en) | 2014-03-25 |
US20110161629A1 (en) | 2011-06-30 |
EP2348400A1 (en) | 2011-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10338927B2 (en) | Method and apparatus for implementing a dynamic out-of-order processor pipeline | |
Sinharoy et al. | IBM POWER8 processor core microarchitecture | |
CN101965554B (zh) | 选择性地提交已执行指令的结果的系统和方法 | |
US9058180B2 (en) | Unified high-frequency out-of-order pick queue with support for triggering early issue of speculative instructions | |
JP5894120B2 (ja) | ゼロサイクルロード | |
JP3716414B2 (ja) | 同時マルチスレッド化プロセッサ | |
JP3927546B2 (ja) | 同時マルチスレッド化プロセッサ | |
US9037837B2 (en) | Hardware assist thread for increasing code parallelism | |
US8069340B2 (en) | Microprocessor with microarchitecture for efficiently executing read/modify/write memory operand instructions | |
US20150106598A1 (en) | Computer Processor Employing Efficient Bypass Network For Result Operand Routing | |
TWI233051B (en) | Method and apparatus for partitioning a resource between multiple threads within a multi-threaded processor | |
JP2006114036A (ja) | Smtディスパッチのための命令グループ形成およびメカニズム | |
JP2013515306A5 (ja) | ||
JP2002268878A (ja) | スレッド間優先度可変プロセッサ | |
JP2005302025A (ja) | 複数の未解決命令を追跡するための方法、完了テーブルおよびプロセッサ | |
JP2018005488A (ja) | 演算処理装置及び演算処理装置の制御方法 | |
CN112241288A (zh) | 在硬件中检测条件分支的动态控制流重汇聚点 | |
US20050251662A1 (en) | Secondary register file mechanism for virtual multithreading | |
JP2006517322A (ja) | パイプライン化ディジタルプロセッサにおけるハザード検出および管理のための方法および装置 | |
JP5493837B2 (ja) | 演算処理装置、情報処理装置及び演算処理装置のパイプライン制御方法 | |
US7962722B2 (en) | Branch target address cache with hashed indices | |
Shum et al. | Design and microarchitecture of the IBM System z10 microprocessor | |
US20170371701A1 (en) | Apparatuses, methods, and systems for granular and adaptive hardware transactional synchronization | |
JPWO2008155799A1 (ja) | 命令実行制御装置及び命令実行制御方法 | |
US11537402B1 (en) | Execution elision of intermediate instruction by processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120910 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131031 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131112 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140106 |
|
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: 20140204 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140217 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5493837 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |