JP6307975B2 - 演算処理装置及び演算処理装置の制御方法 - Google Patents
演算処理装置及び演算処理装置の制御方法 Download PDFInfo
- Publication number
- JP6307975B2 JP6307975B2 JP2014068415A JP2014068415A JP6307975B2 JP 6307975 B2 JP6307975 B2 JP 6307975B2 JP 2014068415 A JP2014068415 A JP 2014068415A JP 2014068415 A JP2014068415 A JP 2014068415A JP 6307975 B2 JP6307975 B2 JP 6307975B2
- Authority
- JP
- Japan
- Prior art keywords
- register
- renaming
- instruction
- reg
- basic
- 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
- 238000012545 processing Methods 0.000 title claims description 94
- 238000000034 method Methods 0.000 title claims description 75
- QGVYYLZOAMMKAH-UHFFFAOYSA-N pegnivacogin Chemical compound COCCOC(=O)NCCCCC(NC(=O)OCCOC)C(=O)NCCCCCCOP(=O)(O)O QGVYYLZOAMMKAH-UHFFFAOYSA-N 0.000 description 71
- 238000010586 diagram Methods 0.000 description 14
- 238000003672 processing method Methods 0.000 description 7
- 230000010365 information processing Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004044 response 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/3013—Organisation of register space, e.g. banked or distributed register file according to data content, e.g. floating-point registers, address registers
-
- 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
- G06F9/30105—Register structure
- G06F9/30109—Register structure having multiple operands in a single register
-
- 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
-
- 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/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3887—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
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)
- Executing Machine-Instructions (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
Description
前記命令デコーダがデコードした命令が,複数のデータを1つの命令で並列処理するマルチデータ命令の場合に,前記複数のデータを並列に処理し,単数のデータを1つの命令で処理する非マルチデータ命令の場合に,前記単数のデータを個別に処理する3個以上の複数の演算器と,
前記複数の演算器それぞれに対応して設けられ,前記演算器の演算結果を格納可能な複数の格納先レジスタ群と,
前記複数の演算器それぞれに対応して設けられ,前記演算結果を格納可能な複数のリネーミングレジスタ群と,
前記格納先レジスタ群のうち命令により指定された指定格納先レジスタと,前記リネーミングレジスタ群から割り当てられた割当リネーミングレジスタとの対応関係を記憶するレジスタリネーミング部とを有し,
前記格納先レジスタ群と前記リネーミングレジスタ群を有するレジスタのセットが,前記マルチデータ命令の演算と前記非マルチデータ命令の演算で使用される基本レジスタセットに加えて,前記マルチデータ命令の演算と前記非マルチデータ命令の演算で使用される第1拡張レジスタセットと,前記マルチデータ命令の演算で使用され且つ前記非マルチデータ命令の演算で使用されない第2拡張レジスタセットとを有し,
前記レジスタリネーミング部が,前記基本レジスタセットの前記対応関係と,前記第1拡張レジスタセットの前記対応関係とを記憶する演算処理装置である。
次に,SIMD処理の並列度を高めることと非SIMD処理の自由度を高めることを同時に追求した場合の問題点について説明する。
図9は,本実施の形態におけるCPUコアの構成を示す図である。図9には,図2のCPUコア30のうち,レジスタリネーミング部REG_RENと,一次データキャッシュ部312と,SIMD演算器330と,浮動小数点リネーミングレジスタFR_ERGと,浮動小数点SIMDレジスタFS_REGの詳細な構成が示されている。
図10は,第1の実施の形態における3-SIMD構成における非SIMD命令のレジスタリネーミング処理を示す図である。図11は,第1の実施の形態における3-SIMD構成におけるSIMD命令のレジスタリネーミング処理を示す図である。
図12は,第2の実施の形態における3-SIMD構成におけるSIMD命令のレジスタリネーミング処理を示す図である。第2の実施の形態では,レジスタリネーミング部REG_REN内のリネーミングマップに,同じレジスタ番号を有する基本レジスタB_REGおよび第1拡張レジスタE_REG1に対して,異なるレジスタ番号を有する基本リネーミングレジスタBR_REGおよび第1拡張リネーミングレジスタER_REG1をそれぞれ割り当てることが可能である。一方,第2拡張レジスタE_REG2に対する第2拡張リネーミングレジスタER_REG2には,第1拡張リネーミングレジスタER_REG1と同じ番号が割り当てられる。図11の第1の実施の形態では,第2拡張レジスタE_REG2に対する第2拡張リネーミングレジスタER_REG2に,基本リネーミングレジスタBR_REGと同じ番号が割り当てられており,この点が,第2の実施の形態の相違点である。
次に,浮動小数点演算命令を実行する時のCPUコアの動作について具体的に説明する。以下の説明では,例として浮動小数点演算命令の動作を説明するが,浮動小数点ロード命令や浮動小数点ストア命令であってもレジスタリネーミング処理は同様である。
Simd-fmad %f127*%f100+%f50 = %f10
この命令では,ソースオペランドとして%f127,%f100,%f50の3つのレジスタが指定される。指定されたレジスタからはそれぞれ3つの8バイトデータが読み込まれて,3系統の乗算および加算処理が並列に実行される。つまり,それぞれ3つのデータを有する3組のデータが読み込まれて,3系統の演算器で3組のデータが並列に処理される。そして,それぞれの演算結果は,ディスティネーションオペランドである%f10で指定される浮動小数点SIMDレジスタFS_REGに書き込まれる。
命令をデコードする命令デコーダと,
前記命令デコーダがデコードした命令が,複数のデータを1つの命令で並列処理するマルチデータ命令の場合に,前記複数のデータを並列に処理し,単数のデータを1つの命令で処理する非マルチデータ命令の場合に,前記単数のデータを個別に処理する3個以上の複数の演算器と,
前記複数の演算器それぞれに対応して設けられ,前記演算器の演算結果を格納可能な複数の格納先レジスタ群と,
前記複数の演算器それぞれに対応して設けられ,前記演算結果を格納可能な複数のリネーミングレジスタ群と,
前記格納先レジスタ群のうち命令により指定された指定格納先レジスタと,前記リネーミングレジスタ群から割り当てられた割当リネーミングレジスタとの対応関係を記憶するレジスタリネーミング部とを有し,
前記格納先レジスタ群と前記リネーミングレジスタ群を有するレジスタのセットが,前記マルチデータ命令の演算と前記非マルチデータ命令の演算で使用される基本レジスタセットに加えて,前記マルチデータ命令の演算と前記非マルチデータ命令の演算で使用される第1拡張レジスタセットと,前記マルチデータ命令の演算で使用され且つ前記非マルチデータ命令の演算で使用されない第2拡張レジスタセットとを有し,
前記レジスタリネーミング部が,前記基本レジスタセットの前記対応関係と,前記第1拡張レジスタセットの前記対応関係とを記憶する演算処理装置。
前記基本レジスタセットの前記対応関係または前記第1拡張レジスタセットの前記対応関係は,前記第2拡張レジスタセットの前記対応関係と共通である付記1に記載の演算処理装置。
前記レジスタリネーミング部は,前記基本レジスタセットの前記対応関係を記憶する基本マップと,前記第1拡張レジスタセットの前記対応関係とを記憶する第1拡張マップとを有し,前記第2拡張レジスタセットの前記対応関係を記憶するマップを有さない付記2に記載の演算処理装置。
更に,
前記命令デコーダがデコードした命令を,前記命令の順番にかかわらず,前記演算器に出力するリザベーションステーションと,
前記割当リネーミングレジスタに格納された前記演算結果を,前記命令の順番に,前記割当リネーミングレジスタに対応する前記指定格納先レジスタに格納するよう制御するコミットスタックエントリとを有する付記1または2に記載の演算処理装置。
前記命令デコーダは,前記マルチデータ命令をデコードした場合,前記基本レジスタセットの前記対応関係と前記第1拡張レジスタセットの前記対応関係とを決定し,前記非マルチデータ命令をデコードした場合,前記基本レジスタセットの前記対応関係または前記第1拡張レジスタセットの対応関係を決定し,
前記マルチデータ命令の演算で使用される前記第2拡張レジスタセットの前記対応関係は,前記前記基本レジスタセットの前記対応関係または前記第1拡張レジスタセットの対応関係と同じである付記1または2に記載の演算処理装置。
前記複数の演算器は,前記マルチデータ命令を実行した場合,前記基本レジスタセットと前記第1拡張レジスタセットと前記第2拡張レジスタセット内の前記割当リネーミングレジスタに前記演算結果を格納し,
前記複数の演算器のいずれかは,前記非マルチデータ命令を実行した場合,前記基本レジスタセットまたは前記第1拡張レジスタセット内の前記割当リネーミングレジスタに前記演算結果を格納する付記1または2に記載の演算処理装置。
命令をデコードする命令デコーダと,
前記命令デコーダがデコードした命令が,複数のデータを1つの命令で並列処理するマルチデータ命令の場合に,前記複数のデータを並列に処理し,単数のデータを1つの命令で処理する非マルチデータ命令の場合に,前記単数のデータを個別に処理する3個以上の複数の演算器と,
前記複数の演算器それぞれに対応して設けられ,前記演算器の演算結果を格納可能な複数の格納先レジスタ群と,
前記複数の演算器それぞれに対応して設けられ,前記演算結果を格納可能な複数のリネーミングレジスタ群と,
前記格納先レジスタ群のうち命令により指定された指定格納先レジスタと,前記リネーミングレジスタ群から割り当てられた割当リネーミングレジスタとの対応関係を記憶するレジスタリネーミング部とを有する演算処理装置の制御方法であって,
前記マルチデータ命令を実行する場合,前記複数の格納先レジスタ群と前記複数のリネーミングレジスタ群とを使用する工程と,
前記非マルチデータ命令を実行する場合,前記複数の格納先レジスタ群内の基本格納先レジスタ群と,複数の拡張格納先レジスタ群の第1拡張格納先レジスタ群と,前記複数のリネーミングレジスタ群内の基本リネーミングレジスタ群と複数の拡張リネーミングレジスタ群の第1拡張リネーミングレジスタ群とを使用する工程を有する演算処理装置の制御方法。
前記非マルチデータ命令を実行する場合の工程では,前記複数の拡張格納先レジスタ群の第1拡張格納先レジスタ群とは異なる第2拡張格納先レジスタ群と,前記複数の拡張リネーミングレジスタ群の第1拡張リネーミングレジスタ群とは異なる第2拡張リネーミングレジスタ群とを使用しない付記7に記載の演算処理装置の制御方法。
302:分岐予測機構
303:一次命令キャッシュ
304:命令バッファ
305:命令デコーダ
REG_REN:レジスタリネーミング部
BRM:基本レジスタリネーミングマップ
ERM:拡張レジスタリネーミングマップ
RSA:主記憶オペランド生成用リザベーションステーション(アドレス生成リザベーションステーション)
RSE:固定小数点演算用リザベーションステーション
RSF:浮動小数点演算用リザベーションステーション
RSBR:分岐用リザベーションステーション
CSE:コミットスタックエントリ
310:オペランドアドレス生成器
312:一次データキャッシュ
313ストアバッファ
320:固定小数点演算器
322:固定小数点レジスタ
321:固定小数点リネーミングレジスタ
330:浮動小数点SIMD演算器
B_EXC:基本演算器
E_EXC:拡張演算器
Br_reg:基本結果レジスタ
Er_reg:拡張結果レジスタ
FS_REG:浮動小数点SIMDレジスタ
B_REG:基本レジスタ
E_REG:拡張レジスタ
FR_REG:浮動小数点リネーミングレジスタ
BR_REG:基本リネーミングレジスタ
ER_REG:拡張リネーミングレジスタ
PC:プログラムカウンタ
Claims (5)
- 命令をデコードする命令デコーダと,
前記命令デコーダがデコードした命令が,複数のデータを1つの命令で並列処理するマルチデータ命令の場合に,前記複数のデータを並列に処理し,単数のデータを1つの命令で処理する非マルチデータ命令の場合に,前記単数のデータを個別に処理する3個以上の複数の演算器と,
前記複数の演算器それぞれに対応して設けられ,前記演算器の演算結果を格納可能な複数の格納先レジスタ群と,
前記複数の演算器それぞれに対応して設けられ,前記演算結果を格納可能な複数のリネーミングレジスタ群と,
前記格納先レジスタ群のうち命令により指定された指定格納先レジスタと,前記リネーミングレジスタ群から割り当てられた割当リネーミングレジスタとの対応関係を記憶するレジスタリネーミング部とを有し,
前記格納先レジスタ群と前記リネーミングレジスタ群を有するレジスタのセットが,前記マルチデータ命令の演算と前記非マルチデータ命令の演算で使用される基本レジスタセットに加えて,前記マルチデータ命令の演算と前記非マルチデータ命令の演算で使用される第1拡張レジスタセットと,前記マルチデータ命令の演算で使用され且つ前記非マルチデータ命令の演算で使用されない第2拡張レジスタセットとを有し,
前記レジスタリネーミング部が,前記基本レジスタセットの前記対応関係と,前記第1拡張レジスタセットの前記対応関係とを記憶し,前記基本レジスタセットの前記対応関係または前記第1拡張レジスタセットの前記対応関係は,前記第2拡張レジスタセットの前記対応関係と共通である演算処理装置。 - 更に,
前記命令デコーダがデコードした命令を,前記命令の順番にかかわらず,前記演算器に出力するリザベーションステーションと,
前記割当リネーミングレジスタに格納された前記演算結果を,前記命令の順番に,前記割当リネーミングレジスタに対応する前記指定格納先レジスタに格納するよう制御するコミットスタックエントリとを有する請求項1に記載の演算処理装置。 - 前記命令デコーダは,前記マルチデータ命令をデコードした場合,前記基本レジスタセットの前記対応関係と前記第1拡張レジスタセットの前記対応関係とを決定し,前記非マルチデータ命令をデコードした場合,前記基本レジスタセットの前記対応関係または前記第1拡張レジスタセットの前記対応関係を決定し,
前記マルチデータ命令の演算で使用される前記第2拡張レジスタセットの前記対応関係は,前記基本レジスタセットの前記対応関係または前記第1拡張レジスタセットの前記対応関係と同じである請求項1に記載の演算処理装置。 - 前記複数の演算器は,前記マルチデータ命令を実行した場合,前記基本レジスタセットと前記第1拡張レジスタセットと前記第2拡張レジスタセット内の前記割当リネーミングレジスタに前記演算結果を格納し,
前記複数の演算器のいずれかは,前記非マルチデータ命令を実行した場合,前記基本レジスタセットまたは前記第1拡張レジスタセット内の前記割当リネーミングレジスタに前記演算結果を格納する請求項1に記載の演算処理装置。 - 命令をデコードする命令デコーダと,
前記命令デコーダがデコードした命令が,複数のデータを1つの命令で並列処理するマルチデータ命令の場合に,前記複数のデータを並列に処理し,単数のデータを1つの命令で処理する非マルチデータ命令の場合に,前記単数のデータを個別に処理する3個以上の複数の演算器と,
前記複数の演算器それぞれに対応して設けられ,前記演算器の演算結果を格納可能な複数の格納先レジスタ群と,
前記複数の演算器それぞれに対応して設けられ,前記演算結果を格納可能な複数のリネーミングレジスタ群と,
前記格納先レジスタ群のうち命令により指定された指定格納先レジスタと,前記リネーミングレジスタ群から割り当てられた割当リネーミングレジスタとの対応関係を記憶するレジスタリネーミング部とを有する演算処理装置の制御方法であって,
前記マルチデータ命令を実行する場合,前記複数の格納先レジスタ群内の基本格納先レジスタ群と,第1拡張格納先レジスタ群と,第2拡張格納先レジスタ群と,前記複数のリネーミングレジスタ群内の基本リネーミングレジスタ群と,第1拡張リネーミングレジスタ群と,第2拡張リネーミングレジスタ群とを使用し,前記レジスタリネーミング部に,前記基本格納先レジスタ群と前記基本リネーミングレジスタ群の第1の対応関係と,前記第1拡張格納先レジスタ群と前記第1拡張リネーミングレジスタ群の第2の対応関係とを記憶し, 前記第2拡張格納先レジスタ群と前記第2拡張リネーミングレジスタ群の前記対応関係は,前記第1の対応関係または前記第2の対応関係のいずれかを参照する工程と,
前記非マルチデータ命令を実行する場合,前記基本格納先レジスタ群と前記第1拡張格納先レジスタ群のいずれかと,前記基本リネーミングレジスタ群と前記第1拡張リネーミングレジスタ群のいずれかとを使用し,前記レジスタリネーミング部に,前記第1の対応関係または,前記第2の対応関係を記憶する工程を有する演算処理装置の制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014068415A JP6307975B2 (ja) | 2014-03-28 | 2014-03-28 | 演算処理装置及び演算処理装置の制御方法 |
US14/665,405 US20150277905A1 (en) | 2014-03-28 | 2015-03-23 | Arithmetic processing unit and control method for arithmetic processing unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014068415A JP6307975B2 (ja) | 2014-03-28 | 2014-03-28 | 演算処理装置及び演算処理装置の制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015191463A JP2015191463A (ja) | 2015-11-02 |
JP6307975B2 true JP6307975B2 (ja) | 2018-04-11 |
Family
ID=54190468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014068415A Active JP6307975B2 (ja) | 2014-03-28 | 2014-03-28 | 演算処理装置及び演算処理装置の制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20150277905A1 (ja) |
JP (1) | JP6307975B2 (ja) |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5675759A (en) * | 1995-03-03 | 1997-10-07 | Shebanow; Michael C. | Method and apparatus for register management using issue sequence prior physical register and register association validity information |
JP2806346B2 (ja) * | 1996-01-22 | 1998-09-30 | 日本電気株式会社 | 演算処理装置 |
US5802338A (en) * | 1996-10-01 | 1998-09-01 | International Business Machines Corporation | Method of self-parallelizing and self-parallelizing multiprocessor using the method |
US6609189B1 (en) * | 1998-03-12 | 2003-08-19 | Yale University | Cycle segmented prefix circuits |
US6230253B1 (en) * | 1998-03-31 | 2001-05-08 | Intel Corporation | Executing partial-width packed data instructions |
US6643763B1 (en) * | 2000-02-28 | 2003-11-04 | International Business Machines Corporation | Register pipe for multi-processing engine environment |
US7694114B2 (en) * | 2005-06-09 | 2010-04-06 | Qualcomm Incorporated | Software selectable adjustment of SIMD parallelism |
US7360063B2 (en) * | 2006-03-02 | 2008-04-15 | International Business Machines Corporation | Method for SIMD-oriented management of register maps for map-based indirect register-file access |
JP5481793B2 (ja) * | 2008-03-21 | 2014-04-23 | 富士通株式会社 | 演算処理装置および同装置の制御方法 |
US8423983B2 (en) * | 2008-10-14 | 2013-04-16 | International Business Machines Corporation | Generating and executing programs for a floating point single instruction multiple data instruction set architecture |
JP5633122B2 (ja) * | 2009-06-16 | 2014-12-03 | 富士通セミコンダクター株式会社 | プロセッサ及び情報処理システム |
JP5423217B2 (ja) * | 2009-08-04 | 2014-02-19 | 富士通株式会社 | 演算処理装置、情報処理装置、および演算処理装置の制御方法 |
TWI414994B (zh) * | 2009-09-24 | 2013-11-11 | Ind Tech Res Inst | 可重組態處理裝置及其系統 |
US8782378B2 (en) * | 2010-09-14 | 2014-07-15 | Arm Limited | Dynamic instruction splitting |
US20130332707A1 (en) * | 2012-06-07 | 2013-12-12 | Intel Corporation | Speed up big-number multiplication using single instruction multiple data (simd) architectures |
US9507599B2 (en) * | 2013-07-22 | 2016-11-29 | Globalfoundries Inc. | Instruction set architecture with extensible register addressing |
-
2014
- 2014-03-28 JP JP2014068415A patent/JP6307975B2/ja active Active
-
2015
- 2015-03-23 US US14/665,405 patent/US20150277905A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
JP2015191463A (ja) | 2015-11-02 |
US20150277905A1 (en) | 2015-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8595280B2 (en) | Apparatus and method for performing multiply-accumulate operations | |
JP3724582B2 (ja) | 命令実行ユニットのためのレジスタ・リネーミング回路 | |
CN106648843B (zh) | 用于改善连续的事务性存储器区的吞吐量的***、方法和装置 | |
CN110580175A (zh) | 可变格式、可变稀疏矩阵乘法指令 | |
US9355061B2 (en) | Data processing apparatus and method for performing scan operations | |
CN116700793A (zh) | 可中断和可重启矩阵乘法指令、处理器、方法和*** | |
KR20170016998A (ko) | 벡터 소팅 알고리즘 및 다른 알고리즘들을 지원하기 위한 트리 구조를 갖춘 기능 유닛 | |
KR102524565B1 (ko) | 로드 스토어 유닛들을 바이패싱하여 스토어 및 로드 추적 | |
JP6493088B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
US9965275B2 (en) | Element size increasing instruction | |
US10437594B2 (en) | Apparatus and method for transferring a plurality of data structures between memory and one or more vectors of data elements stored in a register bank | |
CN110659115A (zh) | 具有硬件辅助任务调度的多线程处理器核 | |
US20190129718A1 (en) | Packed 16 bits instruction pipeline | |
US11080063B2 (en) | Processing device and method of controlling processing device | |
US11451241B2 (en) | Setting values of portions of registers based on bit values | |
WO2014202825A1 (en) | Microprocessor apparatus | |
US12020076B2 (en) | Techniques for balancing workloads when parallelizing multiply-accumulate computations | |
JP6307975B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
JP4444305B2 (ja) | 半導体装置 | |
JP6020428B2 (ja) | ベクトルレジスタリネーミング制御方式、ベクトルプロセッサ、及びベクトルレジスタリネーミング制御方法 | |
JP5786719B2 (ja) | ベクトルプロセッサ | |
US20230273791A1 (en) | Floating Point Norm Instruction | |
US20230297378A1 (en) | Arithmetic processing device and arithmetic processing method | |
KR20010085353A (ko) | 고속 컨텍스트 전환을 갖는 컴퓨터 | |
JP6340887B2 (ja) | 演算処理装置及び演算処理装置の制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161206 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171205 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180201 |
|
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: 20180213 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180226 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6307975 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |