JP2017142799A5 - - Google Patents
Download PDFInfo
- 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
Links
- 230000004927 fusion Effects 0.000 claims 2
- 230000001934 delay Effects 0.000 claims 1
Claims (20)
- メモリサブシステムから二重乗算命令をフェッチする命令フェッチユニットであり、前記二重乗算命令は3つのソースオペランド値を有する、命令フェッチユニットと、
前記二重乗算命令をデコードして、少なくとも1つのマイクロオペレーション(μop)を生成するデコードユニットと、
前記μopを1回目に実行して、前記3つのソースオペランド値のうちの第1のソースオペランド値および第2のソースオペランド値を乗算して中間結果を生成し、前記μopを2回目に実行して、前記中間結果を前記3つのソースオペランド値のうちの第3のソースオペランド値を用いて乗算して、最終結果を生成する実行ユニットと、
を備え、
前記実行ユニットは、前記μopの前記2回目の実行の前に前記μopを遅延する遅延バッファを含む
プロセッサ。 - 前記実行ユニットは、さらに、少なくとも1つの機能ユニットによる実行のために、前記二重乗算命令をスケジュールするリザベーションステーションを含み、前記μopは、前記リザベーションステーションから第1の機能ユニットに送信され、機能ユニットによる前記実行の前に前記遅延バッファにも提供される、請求項1に記載のプロセッサ。
- 前記機能ユニットは、融合乗算および加算機能ユニットを有する、請求項2に記載のプロセッサ。
- 前記μopは、さらに、前記第1の機能ユニットが前記μopの1回目の実行を完了し、前記中間結果を生成したときに前記遅延バッファから第2の機能ユニットに送信され、前記第2の機能ユニットは、前記中間結果を前記3つのソースオペランド値のうちの前記第3のソースオペランド値により乗算して、前記最終結果を生成する、請求項2または3に記載のプロセッサ。
- 前記最終結果は、単一の二重乗算命令からの単一のμopが続けて2回実行される場合に生成される、請求項4に記載のプロセッサ。
- 前記二重乗算命令の第1のソースオペランド、第2のソースオペランド、および第3のソースオペランドは、浮動小数点値である、請求項1から5のいずれか一項に記載のプロセッサ。
- 前記浮動小数点値は、単精度または倍精度浮動小数点値を有する、請求項6に記載のプロセッサ。
- 前記二重乗算命令は、第1のソースオペランド、第2のソースオペランド、および第3のソースオペランドのそれぞれの符号を示す即値を有する、請求項1から7のいずれか一項に記載のプロセッサ。
- 前記即値は、前記第1のソースオペランド、前記第2のソースオペランド、および前記第3のソースオペランドの符号を示す各ビットの値を有する3ビット値を有する、請求項8に記載のプロセッサ。
- 前記リザベーションステーションは、第1の実効ポートを介して前記μopの前記1回目の実行をスケジュールするための第1のリザベーションステーション部分と、第2の実効ポートを介して前記μopの前記2回目の実行をスケジュールするための第2のリザベーションステーション部分と、を含む、請求項2に記載のプロセッサ。
- 方法であって、
メモリサブシステムから二重乗算命令をフェッチする段階であり、前記二重乗算命令は3つのソースオペランド値を有する、段階と、
少なくとも1つのマイクロオペレーション(μop)を生成するべく前記二重乗算命令をデコードする段階と、
前記3つのソースオペランド値のうちの第1のソースオペランド値および第2のソースオペランド値を乗算して中間結果を生成するべく前記μopを1回目に実行し、前記中間結果を前記3つのソースオペランド値のうちの第3のソースオペランド値を用いて乗算して、最終結果を生成するべく前記μopを2回目に実行する段階と、
を備え、
前記実行する段階は、前記μopの前記2回目の実行の前に遅延バッファで前記μopを遅延する段階を有する、
方法。 - 少なくとも1つの機能ユニットによる実行のために、前記二重乗算命令をスケジュールする段階をさらに備え、前記μopは、第1の機能ユニットに送信され、機能ユニットによる前記実行の前に前記遅延バッファにも提供される、請求項11に記載の方法。
- 前記機能ユニットは、融合乗算および加算機能ユニットを有する、請求項12に記載の方法。
- 前記μopは、さらに、前記第1の機能ユニットが前記μopの1回目の実行を完了し、前記中間結果を生成したときに前記遅延バッファから第2の機能ユニットに送信され、前記第2の機能ユニットは、前記中間結果を前記3つのソースオペランド値のうちの前記第3のソースオペランド値により乗算して、前記最終結果を生成する、請求項12または13に記載の方法。
- 前記最終結果は、単一の二重乗算命令からの単一のμopが続けて2回実行される場合に生成される、請求項14に記載の方法。
- 前記二重乗算命令の第1のソースオペランド、第2のソースオペランド、および第3のソースオペランドは、浮動小数点値である、請求項11から15のいずれか一項に記載の方法。
- 前記浮動小数点値は、単精度または倍精度浮動小数点値を有する、請求項16に記載の方法。
- 前記二重乗算命令は、第1のソースオペランド、第2のソースオペランド、および第3のソースオペランドのそれぞれの符号を示す即値を有する、請求項11から17のいずれか一項に記載の方法。
- 前記即値は、前記第1のソースオペランド、前記第2のソースオペランド、および前記第3のソースオペランドの符号を示す各ビットの値を有する3ビット値を有する、請求項18に記載の方法。
- 前記スケジュールする段階は、第1の実効ポートを介して前記μopの前記1回目の実行をスケジュールするための第1のリザベーションステーション部分と、第2の実効ポートを介して前記μopの前記2回目の実行をスケジュールするための第2のリザベーションステーション部分と、を含むリザベーションステーションにより実行され、請求項12に記載の方法。
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)
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)
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 |
-
2014
- 2014-03-28 US US14/229,183 patent/US20150277904A1/en not_active Abandoned
-
2015
- 2015-01-23 JP JP2015011008A patent/JP6092904B2/ja active Active
- 2015-02-16 TW TW104105354A patent/TWI578230B/zh active
- 2015-02-23 DE DE102015002253.9A patent/DE102015002253A1/de not_active Withdrawn
- 2015-02-26 KR KR1020150027626A patent/KR101729829B1/ko active IP Right Grant
- 2015-02-28 CN CN201510090366.7A patent/CN104951278A/zh active Pending
- 2015-03-17 GB GB1504489.4A patent/GB2526406B/en active Active
-
2017
- 2017-02-09 JP JP2017022453A patent/JP6498226B2/ja active Active
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 |