JP2017142799A5 - - Google Patents

Download PDF

Info

Publication number
JP2017142799A5
JP2017142799A5 JP2017022453A JP2017022453A JP2017142799A5 JP 2017142799 A5 JP2017142799 A5 JP 2017142799A5 JP 2017022453 A JP2017022453 A JP 2017022453A JP 2017022453 A JP2017022453 A JP 2017022453A JP 2017142799 A5 JP2017142799 A5 JP 2017142799A5
Authority
JP
Japan
Prior art keywords
source operand
μop
execution
value
functional unit
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.)
Granted
Application number
JP2017022453A
Other languages
English (en)
Other versions
JP6498226B2 (ja
JP2017142799A (ja
Filing date
Publication date
Priority claimed from US14/229,183 external-priority patent/US20150277904A1/en
Application filed filed Critical
Publication of JP2017142799A publication Critical patent/JP2017142799A/ja
Publication of JP2017142799A5 publication Critical patent/JP2017142799A5/ja
Application granted granted Critical
Publication of JP6498226B2 publication Critical patent/JP6498226B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (20)

  1. メモリサブシステムから二重乗算命令をフェッチする命令フェッチユニットであり、前記二重乗算命令は3つのソースオペランド値を有する、命令フェッチユニットと、
    前記二重乗算命令をデコードして、少なくとも1つのマイクロオペレーション(μop)を生成するデコードユニットと、
    前記μopを1回目に実行して、前記3つのソースオペランド値のうちの第1のソースオペランド値および第2のソースオペランド値を乗算して中間結果を生成し、前記μopを2回目に実行して、前記中間結果を前記3つのソースオペランド値のうちの第3のソースオペランド値を用いて乗算して、最終結果を生成する実行ユニットと、
    を備え、
    前記実行ユニットは、前記μopの前記2回目の実行の前に前記μopを遅延する遅延バッファを含む
    プロセッサ。
  2. 前記実行ユニットは、さらに、少なくとも1つの機能ユニットによる実行のために、前記二重乗算命令をスケジュールするリザベーションステーションを含み、前記μopは、前記リザベーションステーションから第1の機能ユニットに送信され、機能ユニットによる前記実行の前に前記遅延バッファにも提供される、請求項1に記載のプロセッサ。
  3. 前記機能ユニットは、融合乗算および加算機能ユニットを有する、請求項2に記載のプロセッサ。
  4. 前記μopは、さらに、前記第1の機能ユニットが前記μopの1回目の実行を完了し、前記中間結果を生成したときに前記遅延バッファから第2の機能ユニットに送信され、前記第2の機能ユニットは、前記中間結果を前記3つのソースオペランド値のうちの前記第3のソースオペランド値により乗算して、前記最終結果を生成する、請求項2または3に記載のプロセッサ。
  5. 前記最終結果は、単一の二重乗算命令からの単一のμopが続けて2回実行される場合に生成される、請求項4に記載のプロセッサ。
  6. 前記二重乗算命令の第1のソースオペランド、第2のソースオペランド、および第3のソースオペランドは、浮動小数点値である、請求項1から5のいずれか一項に記載のプロセッサ。
  7. 前記浮動小数点値は、単精度または倍精度浮動小数点値を有する、請求項6に記載のプロセッサ。
  8. 前記二重乗算命令は、第1のソースオペランド、第2のソースオペランド、および第3のソースオペランドのそれぞれの符号を示す即値を有する、請求項1から7のいずれか一項に記載のプロセッサ。
  9. 前記即値は、前記第1のソースオペランド、前記第2のソースオペランド、および前記第3のソースオペランドの符号を示す各ビットの値を有する3ビット値を有する、請求項8に記載のプロセッサ。
  10. 前記リザベーションステーションは、第1の実効ポートを介して前記μopの前記1回目の実行をスケジュールするための第1のリザベーションステーション部分と、第2の実効ポートを介して前記μopの前記2回目の実行をスケジュールするための第2のリザベーションステーション部分と、を含む、請求項2に記載のプロセッサ。
  11. 方法であって、
    メモリサブシステムから二重乗算命令をフェッチする段階であり、前記二重乗算命令は3つのソースオペランド値を有する、段階と、
    少なくとも1つのマイクロオペレーション(μop)を生成するべく前記二重乗算命令をデコードする段階と、
    前記3つのソースオペランド値のうちの第1のソースオペランド値および第2のソースオペランド値を乗算して中間結果を生成するべく前記μopを1回目に実行し、前記中間結果を前記3つのソースオペランド値のうちの第3のソースオペランド値を用いて乗算して、最終結果を生成するべく前記μopを2回目に実行する段階と、
    を備え、
    前記実行する段階は、前記μopの前記2回目の実行の前に遅延バッファで前記μopを遅延する段階を有する、
    方法。
  12. 少なくとも1つの機能ユニットによる実行のために、前記二重乗算命令をスケジュールする段階をさらに備え、前記μopは、第1の機能ユニットに送信され、機能ユニットによる前記実行の前に前記遅延バッファにも提供される、請求項11に記載の方法。
  13. 前記機能ユニットは、融合乗算および加算機能ユニットを有する、請求項12に記載の方法。
  14. 前記μopは、さらに、前記第1の機能ユニットが前記μopの1回目の実行を完了し、前記中間結果を生成したときに前記遅延バッファから第2の機能ユニットに送信され、前記第2の機能ユニットは、前記中間結果を前記3つのソースオペランド値のうちの前記第3のソースオペランド値により乗算して、前記最終結果を生成する、請求項12または13に記載の方法。
  15. 前記最終結果は、単一の二重乗算命令からの単一のμopが続けて2回実行される場合に生成される、請求項14に記載の方法。
  16. 前記二重乗算命令の第1のソースオペランド、第2のソースオペランド、および第3のソースオペランドは、浮動小数点値である、請求項11から15のいずれか一項に記載の方法。
  17. 前記浮動小数点値は、単精度または倍精度浮動小数点値を有する、請求項16に記載の方法。
  18. 前記二重乗算命令は、第1のソースオペランド、第2のソースオペランド、および第3のソースオペランドのそれぞれの符号を示す即値を有する、請求項11から17のいずれか一項に記載の方法。
  19. 前記即値は、前記第1のソースオペランド、前記第2のソースオペランド、および前記第3のソースオペランドの符号を示す各ビットの値を有する3ビット値を有する、請求項18に記載の方法。
  20. 前記スケジュールする段階は、第1の実効ポートを介して前記μopの前記1回目の実行をスケジュールするための第1のリザベーションステーション部分と、第2の実効ポートを介して前記μopの前記2回目の実行をスケジュールするための第2のリザベーションステーション部分と、を含むリザベーションステーションにより実行され、請求項12に記載の方法。
JP2017022453A 2014-03-28 2017-02-09 プロセッサおよび方法 Active JP6498226B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/229,183 US20150277904A1 (en) 2014-03-28 2014-03-28 Method and apparatus for performing a plurality of multiplication operations
US14/229,183 2014-03-28

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2015011008A Division JP6092904B2 (ja) 2014-03-28 2015-01-23 プロセッサおよび方法

Publications (3)

Publication Number Publication Date
JP2017142799A JP2017142799A (ja) 2017-08-17
JP2017142799A5 true JP2017142799A5 (ja) 2018-11-15
JP6498226B2 JP6498226B2 (ja) 2019-04-10

Family

ID=53016263

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2015011008A Active JP6092904B2 (ja) 2014-03-28 2015-01-23 プロセッサおよび方法
JP2017022453A Active JP6498226B2 (ja) 2014-03-28 2017-02-09 プロセッサおよび方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2015011008A Active JP6092904B2 (ja) 2014-03-28 2015-01-23 プロセッサおよび方法

Country Status (7)

Country Link
US (1) US20150277904A1 (ja)
JP (2) JP6092904B2 (ja)
KR (1) KR101729829B1 (ja)
CN (1) CN104951278A (ja)
DE (1) DE102015002253A1 (ja)
GB (1) GB2526406B (ja)
TW (1) TWI578230B (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170177361A1 (en) * 2015-12-22 2017-06-22 Michael Anderson Apparatus and method for accelerating graph analytics
US10387988B2 (en) 2016-02-26 2019-08-20 Google Llc Compiler techniques for mapping program code to a high performance, power efficient, programmable image processing hardware platform
GB2548600B (en) * 2016-03-23 2018-05-09 Advanced Risc Mach Ltd Vector predication instruction
US10089110B2 (en) * 2016-07-02 2018-10-02 Intel Corporation Systems, apparatuses, and methods for cumulative product
US10275243B2 (en) 2016-07-02 2019-04-30 Intel Corporation Interruptible and restartable matrix multiplication instructions, processors, methods, and systems
CN106951211B (zh) * 2017-03-27 2019-10-18 南京大学 一种可重构定浮点通用乘法器
US10417731B2 (en) * 2017-04-24 2019-09-17 Intel Corporation Compute optimization mechanism for deep neural networks
WO2019066796A1 (en) * 2017-09-27 2019-04-04 Intel Corporation INSTRUCTIONS FOR THE VECTORIAL MULTIPLICATION OF WORDS SIGNED AT BOROUGH
US11221849B2 (en) 2017-09-27 2022-01-11 Intel Corporation Instructions for vector multiplication of unsigned words with rounding
US10572568B2 (en) * 2018-03-28 2020-02-25 Intel Corporation Accelerator for sparse-dense matrix multiplication

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2580371B2 (ja) * 1990-07-18 1997-02-12 株式会社日立製作所 ベクトルデ―タ処理装置
US5606677A (en) * 1992-11-30 1997-02-25 Texas Instruments Incorporated Packed word pair multiply operation forming output including most significant bits of product and other bits of one input
US7254698B2 (en) * 2003-05-12 2007-08-07 International Business Machines Corporation Multifunction hexadecimal instructions
US7873815B2 (en) * 2004-03-04 2011-01-18 Qualcomm Incorporated Digital signal processors with configurable dual-MAC and dual-ALU
US8589663B2 (en) * 2006-06-27 2013-11-19 Intel Corporation Technique to perform three-source operations
US8549264B2 (en) * 2009-12-22 2013-10-01 Intel Corporation Add instructions to add three source operands
US8583902B2 (en) * 2010-05-07 2013-11-12 Oracle International Corporation Instruction support for performing montgomery multiplication
WO2013095619A1 (en) * 2011-12-23 2013-06-27 Intel Corporation Super multiply add (super madd) instruction with three scalar terms

Similar Documents

Publication Publication Date Title
JP2017142799A5 (ja)
US9395996B2 (en) Pipelining out-of-order instructions
WO2016100142A3 (en) Advanced processor architecture
EP3651017A3 (en) Systems and methods for performing 16-bit floating-point matrix dot product instructions
BR112017024301A2 (pt) janela de instruções e buffer de operandos de processador dissociados
TW200731739A (en) Cryptography system and elliptic curve operation method involved thereof
SG144700A1 (en) A method, apparatus, and instruction for performing a sign operation that multiplies
TW200705266A (en) System and method wherein conditional instructions unconditionally provide output
IN2014CN02111A (ja)
WO2007095397A3 (en) Programmable processing unit
US9009450B2 (en) Mixed operand size instruction processing for execution of indirect addressing load instruction specifying registers for different size operands
PH12017550126A1 (en) Bulk allocation of instruction blocks to a processor instruction window
TW200636581A (en) Methods and apparatus for instruction set emulation
ATE493703T1 (de) Programmierbare datenverarbeitungsschaltung, die simd-befehle unterstützt
WO2014004050A3 (en) Systems, apparatuses, and methods for performing a shuffle and operation (shuffle-op)
WO2017052811A3 (en) Secure modular exponentiation processors, methods, systems, and instructions
BRPI0608750A2 (pt) método e sistema emitir e processar instruções superescalar e vliw misturadas
BR112017011104A2 (pt) sistemas, aparelhos e métodos para execução de especulação de dados
EP3719638A3 (en) Apparatuses, methods, and systems for transpose instructions of a matrix operations accelerator
EP2919112A3 (en) Packed two source inter-element shift merge processors, methods, systems, and instructions
JP2014059870A5 (ja)
WO2006083046A3 (en) Methods and apparatus for providing a task change application programming interface
JP2012521047A5 (ja)
WO2015017129A4 (en) Multi-threaded gpu pipeline
WO2006075286A3 (en) A processor and its instruction issue method