JP7020304B2 - 演算処理装置及び演算処理装置の制御方法 - Google Patents
演算処理装置及び演算処理装置の制御方法 Download PDFInfo
- Publication number
- JP7020304B2 JP7020304B2 JP2018109332A JP2018109332A JP7020304B2 JP 7020304 B2 JP7020304 B2 JP 7020304B2 JP 2018109332 A JP2018109332 A JP 2018109332A JP 2018109332 A JP2018109332 A JP 2018109332A JP 7020304 B2 JP7020304 B2 JP 7020304B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- register
- memory access
- unit
- arithmetic
- 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 47
- 238000012790 confirmation Methods 0.000 claims description 3
- 101000912503 Homo sapiens Tyrosine-protein kinase Fgr Proteins 0.000 description 16
- 102100026150 Tyrosine-protein kinase Fgr Human genes 0.000 description 16
- 238000001514 detection method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000006866 deterioration Effects 0.000 description 5
- COCAUCFPFHUGAA-MGNBDDOMSA-N n-[3-[(1s,7s)-5-amino-4-thia-6-azabicyclo[5.1.0]oct-5-en-7-yl]-4-fluorophenyl]-5-chloropyridine-2-carboxamide Chemical compound C=1C=C(F)C([C@@]23N=C(SCC[C@@H]2C3)N)=CC=1NC(=O)C1=CC=C(Cl)C=N1 COCAUCFPFHUGAA-MGNBDDOMSA-N 0.000 description 3
- 230000001629 suppression Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 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
- G06F9/3842—Speculative instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- 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
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
-
- 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/30181—Instruction operation extension or modification
- G06F9/30196—Instruction operation extension or modification using decoder, e.g. decoder per instruction set, adaptable or programmable decoders
-
- 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
- G06F9/384—Register renaming
-
- 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/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
- G06F9/38585—Result writeback, i.e. updating the architectural state or memory with result invalidation, e.g. nullification
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Advance Control (AREA)
- Storage Device Security (AREA)
Description
(1)誤った経路の分岐先を実行させることで、プログラムの動作によって保護されているアクセス禁止領域のアドレスに対して、ハードウェアが投機的にメモリアクセスを行ってデータを読み出し、(2)読み出したデータをアドレスに変換してメモリアクセスを行う、という手順を含む。アクセス禁止領域は、例えばオペレーティングシステム(OS:Operating System)により設定されている。この投機的なメモリアクセスは、ハードウェアが投機的に実行した、本来は実行されない命令であるため、上記(1),(2)の手順は、最終的にはキャンセルされるが、上記(2)の手順におけるメモリアクセスの痕跡がキャッシュに残ってしまう。メモリアクセスの痕跡がデータキャッシュに残っていると、メモリアクセスの実行時間から上記(1)の手順で読み出したデータの内容を推定することができてしまう。
(付記1)
命令をデコードした結果である命令コードを出力するデコード部と、
前記命令コードを蓄積し、演算実行部へ投入できる命令コードから選択して投入するリザベーションステーションと、
投入された前記命令コードが演算命令の場合、演算に前記演算命令の書き込み先の演算用のレジスタを使用し、前記投入された前記命令コードがメモリアクセス命令である場合、アドレス計算に前記レジスタを使用し、命令の完了時にレジスタ更新用のバッファに一旦書き込まれた演算結果及びロードデータを前記バッファから前記レジスタに書き込む演算実行部と、
を備え、
前記リザベーションステーションは、
前記演算実行部に前記メモリアクセス命令を発行するときは、前記メモリアクセス命令が完了するまで、後続命令を前記演算実行部に発行することを待機し、
前記演算実行部に前記演算命令を発行するときは、演算に使用するオペランドが揃ったことを検出した次のサイクルで、後続命令を前記演算実行部に発行する、
ことを特徴とする、演算処理装置。
(付記2)
前記リザベーションステーションは、前記メモリアクセス命令が投機的であるか否かを、先行の命令の状態に応じて判断して、前記メモリアクセス命令が完了するまで、後続命令を前記演算実行部に発行することを待機することを特徴とする、付記1記載の演算処理装置。
(付記3)
前記デコード部は、
前記命令を解釈する際に、前記命令がメモリアクセス命令であるか、或いは、演算命令であるかを区別するための情報を、前記リザベーションステーションにセットし、
前記レジスタに対して前記バッファを割り当てることを特徴とする、付記1又は2記載の演算処理装置。
(付記4)
前記メモリアクセス命令は、前記バッファを参照せず、前記レジスタを参照して演算を実行し、前記バッファから前記レジスタへの書き込みは、命令の完了後に、当該命令が既に投機的でなくキャンセルされないことが確定してから行い、
先行の命令が完了することなく投機実行がキャンセルされた場合は、前記メモリアクセス命令は前記リザベーションステーションから発行されずにキャンセルされ、投機的なデータキャッシュへのアクセスを抑止する、
ことを特徴とする、付記1乃至3のいずれか1項記載の演算処理装置。
(付記5)
前記デコード部が前記レジスタに対して割り当てた前記バッファの第1の番号を記録するテーブルを有するレジスタ管理部と、
命令を本来の順序に従って完了させるリオーダバッファをと更に備え、
前記リオーダバッファは、前記デコード部から第2の番号を受け取り、前記レジスタ管理部から前記第1の番号を受け取り、命令完了時に前記演算実行部に前記第2の番号と前記第1の番号を送り、
前記演算実行部は、前記バッファのデータを前記レジスタに書き込み、命令完了時の処理を行うことで、前記レジスタに演算及びロードの結果を、ソフトウェアから観測可能に反映する、
ことを特徴とする、付記1乃至4のいずれか1項記載の演算処理装置。
(付記6)
前記演算実行部は、
前記演算命令の場合、前記レジスタのデータを読んで演算に用いる固定小数点演算器と、
前記メモリアクセス命令の場合、前記バッファのデータを読んで演算に用いるアドレス計算演算器と、
を有し、
前記アドレス計算演算器が計算したアドレスを入力してデータを読み出すデータキャッシュを更に備えたことを特徴とする、付記1乃至5のいずれか1項記載の演算処理装置。
(付記7)
前記リザベーションステーションが有する複数のエントリの各々は、演算が前記レジスタを参照するか否かを示す信号と、前記バッファの対応するエントリからデータを読み出せるか否かを示す信号とを、当該演算に使用するソースオペランドの数だけ保持することを特徴とする、付記1乃至6のいずれか1項記載の演算処理装置。
(付記8) デコード部とリザベーションステーションと演算実行部とを有する演算処理装置の制御方法であって、
前記デコード部が、命令をデコードした結果である命令コードを出力し、
前記リザベーションステーションが、命令を解釈した命令コードを蓄積し、前記演算実行部へ投入できる命令コードから選択して投入し、
前記演算実行部が、投入された前記命令コードが演算命令である場合、演算に前記演算命令の書き込み先の演算用のレジスタを使用し、前記投入された前記命令コードがメモリアクセス命令である場合、アドレス計算に前記レジスタを使用し、レジスタ更新用のバッファに一旦書き込まれた演算結果及びロードデータを命令の完了時に前記バッファから前記レジスタに書き込み、
前記リザベーションステーションが、前記演算実行部に前記メモリアクセス命令を発行するときは、前記メモリアクセス命令が完了するまで、後続命令を前記演算実行部に発行することを待機し、
前記リザベーションステーションが、前記演算実行部に前記演算命令を発行するときは、演算に使用するオペランドが揃ったことを検出した次のサイクルで、後続命令を前記演算実行部に発行する、
ことを特徴とする、演算処理装置の制御方法。
(付記9)
前記リザベーションステーションが、前記メモリアクセス命令が投機的であるか否かを、先行の命令の状態に応じて判断して、前記メモリアクセス命令が完了するまで、後続命令を前記演算実行部に発行することを特徴とする、付記8記載の演算処理装置の制御方法。
(付記10)
デコード部が、前記命令を解釈する際に、前記命令がメモリアクセス命令であるか、或いは、演算命令であるかを区別するための情報を、前記リザベーションステーションにセットし、
前記デコード部が、前記レジスタに対して前記バッファを割り当てることを特徴とする、付記8又は9記載の演算処理装置の制御方法。
(付記11)
前記メモリアクセス命令は、前記バッファを参照せず、前記レジスタを参照して演算を実行し、前記バッファから前記レジスタへの書き込みは、命令の完了後に、当該命令が既に投機的でなくキャンセルされないことが確定してから行い、
先行の命令が完了することなく投機実行がキャンセルされた場合は、前記メモリアクセス命令は前記リザベーションステーションから発行されずにキャンセルされ、投機的なデータキャッシュへのアクセスを抑止する、
ことを特徴とする、付記8乃至10のいずれか1項記載の演算処理装置の制御方法。
(付記12)
レジスタ管理部のテーブルが、デコード部が前記レジスタに対して割り当てた前記バッファの第1の番号を記録し、
リオーダバッファが、命令を本来の順序に従って完了し、
前記リオーダバッファが、前記デコード部から第2の番号を受け取り、前記レジスタ管理部から前記第1の番号を受け取り、命令完了時に前記演算実行部に前記第2の番号と前記第1の番号を送り、
前記演算実行部が、前記バッファのデータを前記レジスタに書き込み、命令完了時の処理を行うことで、前記レジスタに演算及びロードの結果を、ソフトウェアから観測可能に反映する、
ことを特徴とする、付記8乃至11のいずれか1項記載の演算処理装置の制御方法。
(付記13)
前記演算実行部の固定小数点演算器が、前記演算命令の場合、前記レジスタのデータを読んで演算に用い、
前記演算実行部のアドレス計算演算部が、前記メモリアクセス命令の場合、前記バッファのデータを読んで演算に用い、
データキャッシュに対して、前記アドレス計算演算器が計算したアドレスを入力してデータを読み出すことを特徴とする、付記8乃至12のいずれか1項記載の演算処理装置の制御方法。
(付記14)
前記リザベーションステーションが有する複数のエントリの各々が、演算が前記レジスタを参照するか否かを示す信号と、前記バッファの対応するエントリからデータを読み出せるか否かを示す信号とを、当該演算に使用するソースオペランドの数だけ保持することを特徴とする、付記8乃至13のいずれか1項記載の演算処理装置の制御方法。
11 リザベーションステーション
12 固定小数点演算器
13 アドレス計算演算器
14 データキャッシュ
15 命令キャッシュ
16 命令バッファ
17 デコード部
18 レジスタ管理部
19 リオーダバッファ
20 演算実行部
21 レジスタ部
211 GPR
212 GUB
Claims (6)
- 命令をデコードした結果である命令コードを出力するデコード部と、
前記命令コードを蓄積し、演算実行部へ投入できる命令コードから選択して投入するリザベーションステーションと、
投入された前記命令コードが演算命令である場合、演算に前記演算命令の書き込み先の演算用のレジスタを使用し、前記投入された前記命令コードがメモリアクセス命令である場合、アドレス計算に前記レジスタを使用し、命令の完了時にレジスタ更新用のバッファに一旦書き込まれた演算結果及びロードデータを前記バッファから前記レジスタに書き込む演算実行部と、
を備え、
前記リザベーションステーションは、
前記演算実行部に前記メモリアクセス命令を発行するときは、前記メモリアクセス命令が完了するまで、後続命令を前記演算実行部に発行することを待機し、
前記演算実行部に前記演算命令を発行するときは、演算に使用するオペランドが揃ったことを検出した次のサイクルで、後続命令を前記演算実行部に発行する、
ことを特徴とする、演算処理装置。 - 前記リザベーションステーションは、前記メモリアクセス命令が投機的であるか否かを、先行の命令の状態に応じて判断して、前記メモリアクセス命令が完了するまで、後続命令を前記演算実行部に発行することを待機することを特徴とする、請求項1記載の演算処理装置。
- 前記デコード部は、
前記命令を解釈する際に、前記命令がメモリアクセス命令であるか、或いは、演算命令であるかを区別するための情報を、前記リザベーションステーションにセットし、
前記レジスタに対して前記バッファを割り当てることを特徴とする、請求項1又は2記載の演算処理装置。 - 前記メモリアクセス命令は、前記バッファを参照せず、前記レジスタを参照して演算を実行し、前記バッファから前記レジスタへの書き込みは、命令の完了後に、当該命令が既に投機的でなくキャンセルされないことが確定してから行い、
先行の命令が完了することなく投機実行がキャンセルされた場合は、前記メモリアクセス命令は前記リザベーションステーションから発行されずにキャンセルされ、投機的なデータキャッシュへのアクセスを抑止する、
ことを特徴とする、請求項1乃至3のいずれか1項記載の演算処理装置。 - 前記デコード部が前記レジスタに対して割り当てた前記バッファの第1の番号を記録するテーブルを有するレジスタ管理部と、
命令を本来の順序に従って完了させるリオーダバッファをと更に備え、
前記リオーダバッファは、前記デコード部から第2の番号を受け取り、前記レジスタ管理部から前記第1の番号を受け取り、命令完了時に前記演算実行部に前記第2の番号と前記第1の番号を送り、
前記演算実行部は、前記バッファのデータを前記レジスタに書き込み、命令完了時の処理を行うことで、前記レジスタに演算及びロードの結果を、ソフトウェアから観測可能に反映する、
ことを特徴とする、請求項1乃至4のいずれか1項記載の演算処理装置。 - デコード部とリザベーションステーションと演算実行部とを有する演算処理装置の制御方法であって、
前記デコード部が、命令をデコードした結果である命令コードを出力し、
前記リザベーションステーションが、命令を解釈した命令コードを蓄積し、前記演算実行部へ投入できる命令コードから選択して投入し、
前記演算実行部が、投入された前記命令コードが演算命令である場合、演算に前記演算命令の書き込み先の演算用のレジスタを使用し、前記投入された前記命令コードがメモリアクセス命令である場合、アドレス計算に前記レジスタを使用し、レジスタ更新用のバッファに一旦書き込まれた演算結果及びロードデータを命令の完了時に前記バッファから前記レジスタに書き込み、
前記リザベーションステーションが、前記演算実行部に前記メモリアクセス命令を発行するときは、前記メモリアクセス命令が完了するまで、後続命令を前記演算実行部に発行することを待機し、
前記リザベーションステーションが、前記演算実行部に前記演算命令を発行するときは、演算に使用するオペランドが揃ったことを検出した次のサイクルで、後続命令を前記演算実行部に発行する、
ことを特徴とする、演算処理装置の制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018109332A JP7020304B2 (ja) | 2018-06-07 | 2018-06-07 | 演算処理装置及び演算処理装置の制御方法 |
US16/423,898 US11055101B2 (en) | 2018-06-07 | 2019-05-28 | Processing apparatus and controlling method for processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018109332A JP7020304B2 (ja) | 2018-06-07 | 2018-06-07 | 演算処理装置及び演算処理装置の制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019212152A JP2019212152A (ja) | 2019-12-12 |
JP7020304B2 true JP7020304B2 (ja) | 2022-02-16 |
Family
ID=68764616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018109332A Active JP7020304B2 (ja) | 2018-06-07 | 2018-06-07 | 演算処理装置及び演算処理装置の制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11055101B2 (ja) |
JP (1) | JP7020304B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6941972B2 (ja) | 2017-05-16 | 2021-09-29 | Tdk株式会社 | 磁気センサ |
US11119784B2 (en) * | 2018-06-29 | 2021-09-14 | Intel Corporation | Efficient mitigation of side-channel based attacks against speculative execution processing architectures |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018045370A (ja) | 2016-09-13 | 2018-03-22 | 富士通株式会社 | 演算処理装置および演算処理装置の制御方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2819733B2 (ja) | 1990-02-16 | 1998-11-05 | 日本電気株式会社 | 情報処理装置 |
US5553256A (en) * | 1994-02-28 | 1996-09-03 | Intel Corporation | Apparatus for pipeline streamlining where resources are immediate or certainly retired |
JP2000112754A (ja) * | 1998-10-06 | 2000-04-21 | Mitsubishi Electric Corp | データ処理装置 |
JP2000163265A (ja) * | 1998-11-30 | 2000-06-16 | Nec Corp | 命令発行回路 |
JP3808013B2 (ja) * | 2002-07-05 | 2006-08-09 | 富士通株式会社 | 命令実行装置 |
US7590826B2 (en) * | 2006-11-06 | 2009-09-15 | Arm Limited | Speculative data value usage |
JP5104863B2 (ja) * | 2007-06-20 | 2012-12-19 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
JP6520416B2 (ja) * | 2015-06-02 | 2019-05-29 | 富士通株式会社 | 演算処理装置および演算処理装置の処理方法 |
-
2018
- 2018-06-07 JP JP2018109332A patent/JP7020304B2/ja active Active
-
2019
- 2019-05-28 US US16/423,898 patent/US11055101B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018045370A (ja) | 2016-09-13 | 2018-03-22 | 富士通株式会社 | 演算処理装置および演算処理装置の制御方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2019212152A (ja) | 2019-12-12 |
US20190377581A1 (en) | 2019-12-12 |
US11055101B2 (en) | 2021-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6011194B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
JP2875909B2 (ja) | 並列演算処理装置 | |
US9135005B2 (en) | History and alignment based cracking for store multiple instructions for optimizing operand store compare penalties | |
JP2005025788A (ja) | コンピュータシステム | |
US10853072B2 (en) | Arithmetic processing apparatus and method of controlling arithmetic processing apparatus | |
JP2003519833A (ja) | 依存性連鎖の発行および再発行が可能なスケジューラ | |
US10073789B2 (en) | Method for load instruction speculation past older store instructions | |
JP7064134B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
EP0651331A1 (en) | A write buffer for a superpipelined, superscalar microprocessor | |
KR20190051036A (ko) | 벡터 명령들에 대한 요소간 어드레스 해저드들의 처리 | |
JP7020304B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
US20030126409A1 (en) | Store sets poison propagation | |
JP4243271B2 (ja) | データ処理装置およびデータ処理方法 | |
US7213130B2 (en) | Instruction rollback processor system, an instruction rollback method and an instruction rollback program | |
JP7064135B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
JP3683439B2 (ja) | 分岐予測を抑止する情報処理装置および方法 | |
US10831482B2 (en) | Arithmetic processing apparatus and control method for arithmetic processing apparatus | |
JP3741945B2 (ja) | 命令フェッチ制御装置 | |
JP7100258B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
JP5104862B2 (ja) | 命令実行制御装置及び命令実行制御方法 | |
JP5696210B2 (ja) | プロセッサ及びその命令処理方法 | |
JP5093237B2 (ja) | 命令処理装置 | |
JP2021168036A (ja) | 演算処理装置 | |
JP7487535B2 (ja) | 演算処理装置 | |
US11663014B2 (en) | Speculatively executing instructions that follow a status updating instruction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210310 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211216 |
|
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: 20220104 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220117 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7020304 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |