JP6979076B2 - 回路、システム、および組合せ結果を演算するように再設定可能な複数の再設定可能ユニットを備えたプロセッサにより実装される方法 - Google Patents
回路、システム、および組合せ結果を演算するように再設定可能な複数の再設定可能ユニットを備えたプロセッサにより実装される方法 Download PDFInfo
- Publication number
- JP6979076B2 JP6979076B2 JP2019538506A JP2019538506A JP6979076B2 JP 6979076 B2 JP6979076 B2 JP 6979076B2 JP 2019538506 A JP2019538506 A JP 2019538506A JP 2019538506 A JP2019538506 A JP 2019538506A JP 6979076 B2 JP6979076 B2 JP 6979076B2
- Authority
- JP
- Japan
- Prior art keywords
- resettable
- unit
- result
- units
- intermediate result
- 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 19
- 238000004364 calculation method Methods 0.000 claims description 8
- 230000006870 function Effects 0.000 description 14
- 238000012545 processing Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000007667 floating Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000001149 cognitive effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 241000699666 Mus <mouse, genus> Species 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013215 result calculation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- 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
-
- 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/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
-
- 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
-
- 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
- G06F9/30014—Arithmetic instructions with variable precision
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Advance Control (AREA)
- Logic Circuits (AREA)
- Complex Calculations (AREA)
Description
Claims (20)
- 組合せ結果を演算するように再設定可能な複数の再設定可能ユニットを備え、
前記複数の再設定可能ユニットのうちの第1の再設定可能ユニットの第1の中間結果が、前記複数の再設定可能ユニットのうちの第2の再設定可能ユニットの第2の中間結果と交換され、
前記複数の再設定可能ユニットのうちの前記第1の再設定可能ユニットが、前記第2の中間結果を利用して前記組合せ結果の第1の部分を演算し、
前記複数の再設定可能ユニットのうちの前記第2の再設定可能ユニットが、前記第1の中間結果を利用して前記組合せ結果の第2の部分を演算する、回路。 - 各再設定可能ユニットが、個々の結果を演算するように再設定可能である、請求項1に記載の回路。
- 各再設定可能ユニットが、再設定可能低精度演算ユニットを備えた、請求項1に記載の回路。
- 各再設定可能ユニットが、乗算・加算演算回路を備えた、請求項3に記載の回路。
- 前記乗算・加算演算回路が、乗算器、第1の加算器、フォーマッタ、および第2の加算器を備えた、請求項4に記載の回路。
- 前記第1の中間結果および前記第2の中間結果の前記交換が、前記第1の再設定可能ユニットからの上位xビットおよび前記第2の再設定可能ユニットからの下位xビットの提供を含む、請求項1に記載の回路。
- 前記複数の再設定可能ユニットが、xビット数の複数回の乗算を演算し、2*xビットの結果を合計して前記組合せ結果を生成するように再設定可能である、請求項1に記載の回路。
- 各再設定可能ユニットが、2*xビットの累算器結果を前記組合せ結果に加算するように再設定可能である、請求項7に記載の回路。
- 前記複数の再設定可能ユニットのうちの4つの再設定可能ユニットから成る群が、乗算演算および加算演算を含む4つの1倍精度、2つの2倍精度、または1つの4倍精度の複雑な算術演算の実行を提供する、請求項1に記載の回路。
- プロセッサおよびメモリを備え、
前記プロセッサが、組合せ結果を演算するように再設定可能な複数の再設定可能ユニットを備え、
前記複数の再設定可能ユニットのうちの第1の再設定可能ユニットの第1の中間結果が、前記複数の再設定可能ユニットのうちの第2の再設定可能ユニットの第2の中間結果と交換され、
前記複数の再設定可能ユニットのうちの前記第1の再設定可能ユニットが、前記第2の中間結果を利用して前記組合せ結果の第1の部分を演算し、
前記複数の再設定可能ユニットのうちの前記第2の再設定可能ユニットが、前記第1の中間結果を利用して前記組合せ結果の第2の部分を演算する、システム。 - 各再設定可能ユニットが、個々の結果を演算するように再設定可能である、請求項10に記載のシステム。
- 各再設定可能ユニットが、再設定可能低精度演算ユニットを備えた、請求項11に記載のシステム。
- 各再設定可能ユニットが、乗算・加算演算回路を備えた、請求項12に記載のシステム。
- 前記乗算・加算演算回路が、乗算器、第1の加算器、フォーマッタ、および第2の加算器を備えた、請求項13に記載のシステム。
- 前記第1の中間結果および前記第2の中間結果の前記交換が、前記第1の再設定可能ユニットからの上位xビットおよび前記第2の再設定可能ユニットからの下位xビットの提供を含む、請求項10に記載のシステム。
- 前記複数の再設定可能ユニットが、xビット数の複数回の乗算を演算し、2*xビットの結果を合計して前記組合せ結果を生成するように再設定可能である、請求項10に記載のシステム。
- 各再設定可能ユニットが、2*xビットの累算器結果を前記組合せ結果に加算するように再設定可能である、請求項16に記載のシステム。
- 組合せ結果を演算するように再設定可能な複数の再設定可能ユニットを備えたプロセッサにより実装される方法であって、
再設定可能な前記複数の再設定可能ユニットのうちの第1の再設定可能ユニットの第1の中間結果を、再設定可能な前記複数の再設定可能ユニットのうちの第2の再設定可能ユニットの第2の中間結果と交換することと、
前記複数の再設定可能ユニットのうちの前記第1の再設定可能ユニットにより、前記第2の中間結果を利用して前記組合せ結果の第1の部分を演算することと、
前記複数の再設定可能ユニットのうちの前記第2の再設定可能ユニットにより、前記第1の中間結果を利用して前記組合せ結果の第2の部分を演算することと、
を含む、方法。 - 各再設定可能ユニットが、個々の結果を演算するように再設定可能である、請求項18に記載の方法。
- 各再設定可能ユニットが、再設定可能低精度演算ユニットを備えた、請求項19に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/412,429 | 2017-01-23 | ||
US15/412,429 US10275391B2 (en) | 2017-01-23 | 2017-01-23 | Combining of several execution units to compute a single wide scalar result |
PCT/IB2018/050102 WO2018134694A1 (en) | 2017-01-23 | 2018-01-08 | Combining of several execution units to compute a single wide scalar result |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020507154A JP2020507154A (ja) | 2020-03-05 |
JP6979076B2 true JP6979076B2 (ja) | 2021-12-08 |
Family
ID=62906484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019538506A Active JP6979076B2 (ja) | 2017-01-23 | 2018-01-08 | 回路、システム、および組合せ結果を演算するように再設定可能な複数の再設定可能ユニットを備えたプロセッサにより実装される方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US10275391B2 (ja) |
JP (1) | JP6979076B2 (ja) |
CN (1) | CN110199255B (ja) |
DE (1) | DE112018000138B4 (ja) |
GB (1) | GB2573685B (ja) |
TW (1) | TWI659360B (ja) |
WO (1) | WO2018134694A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11269651B2 (en) * | 2019-09-10 | 2022-03-08 | International Business Machines Corporation | Reusing adjacent SIMD unit for fast wide result generation |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4612628A (en) * | 1983-02-14 | 1986-09-16 | Data General Corp. | Floating-point unit constructed of identical modules |
JPH0724811Y2 (ja) * | 1988-12-15 | 1995-06-05 | 横河電機株式会社 | デジタルフィルタ |
US7301541B2 (en) | 1995-08-16 | 2007-11-27 | Microunity Systems Engineering, Inc. | Programmable processor and method with wide operations |
US7062526B1 (en) | 2000-02-18 | 2006-06-13 | Texas Instruments Incorporated | Microprocessor with rounding multiply instructions |
JP3542342B2 (ja) * | 2001-09-14 | 2004-07-14 | 独立行政法人 科学技術振興機構 | 半導体演算装置 |
US8736623B1 (en) * | 2004-11-15 | 2014-05-27 | Nvidia Corporation | Programmable DMA engine for implementing memory transfers and video processing for a video processor |
CN100555212C (zh) * | 2007-07-18 | 2009-10-28 | 中国科学院计算技术研究所 | 一种浮点乘加器及其乘法csa压缩树的进位校验装置 |
US8106914B2 (en) | 2007-12-07 | 2012-01-31 | Nvidia Corporation | Fused multiply-add functional unit |
US8682639B2 (en) | 2010-09-21 | 2014-03-25 | Texas Instruments Incorporated | Dedicated memory window for emulation address |
US9400636B2 (en) * | 2011-02-11 | 2016-07-26 | Infineon Technologies Ag | Apparatus and method for calculating a result in a scalar multiplication |
FR2974645A1 (fr) * | 2011-04-28 | 2012-11-02 | Kalray | Operateur de multiplication et addition fusionnees a precision mixte |
US9727336B2 (en) | 2011-09-16 | 2017-08-08 | International Business Machines Corporation | Fine-grained instruction enablement at sub-function granularity based on an indicated subrange of registers |
JP6064435B2 (ja) | 2012-08-21 | 2017-01-25 | 富士通株式会社 | 演算回路、演算処理装置、及び除算方法 |
WO2014116712A1 (en) * | 2013-01-22 | 2014-07-31 | Samplify Systems, Inc. | Data compression and decompression using simd instructions |
US9189200B1 (en) * | 2013-03-14 | 2015-11-17 | Altera Corporation | Multiple-precision processing block in a programmable integrated circuit device |
US9256433B2 (en) | 2013-03-15 | 2016-02-09 | Intel Corporation | Systems and methods for move elimination with bypass multiple instantiation table |
US9489197B2 (en) | 2013-07-09 | 2016-11-08 | Texas Instruments Incorporated | Highly efficient different precision complex multiply accumulate to enhance chip rate functionality in DSSS cellular systems |
EP3123303A1 (en) * | 2014-03-27 | 2017-02-01 | Intel Corporation | Processor logic and method for dispatching instructions from multiple strands |
US9467279B2 (en) * | 2014-09-26 | 2016-10-11 | Intel Corporation | Instructions and logic to provide SIMD SM4 cryptographic block cipher functionality |
US20160179470A1 (en) | 2014-12-23 | 2016-06-23 | Shay Gueron | Method and apparatus for performing big-integer arithmetic operations |
US20160188327A1 (en) * | 2014-12-24 | 2016-06-30 | Elmoustapha Ould-Ahmed-Vall | Apparatus and method for fused multiply-multiply instructions |
CN105652660B (zh) * | 2016-01-07 | 2018-11-30 | 北京北广科技股份有限公司 | 一种基于单片机的获取分频频率控制字的方法 |
US10007487B1 (en) * | 2016-06-30 | 2018-06-26 | Altera Corporation | Double-precision floating-point operation |
-
2017
- 2017-01-23 US US15/412,429 patent/US10275391B2/en active Active
-
2018
- 2018-01-08 GB GB1910346.4A patent/GB2573685B/en active Active
- 2018-01-08 CN CN201880007833.7A patent/CN110199255B/zh active Active
- 2018-01-08 WO PCT/IB2018/050102 patent/WO2018134694A1/en active Application Filing
- 2018-01-08 JP JP2019538506A patent/JP6979076B2/ja active Active
- 2018-01-08 DE DE112018000138.5T patent/DE112018000138B4/de active Active
- 2018-01-09 TW TW107100724A patent/TWI659360B/zh active
Also Published As
Publication number | Publication date |
---|---|
GB2573685A (en) | 2019-11-13 |
GB201910346D0 (en) | 2019-09-04 |
CN110199255B (zh) | 2022-10-28 |
US10275391B2 (en) | 2019-04-30 |
JP2020507154A (ja) | 2020-03-05 |
DE112018000138T5 (de) | 2019-07-11 |
WO2018134694A1 (en) | 2018-07-26 |
CN110199255A (zh) | 2019-09-03 |
US20180210859A1 (en) | 2018-07-26 |
TWI659360B (zh) | 2019-05-11 |
DE112018000138B4 (de) | 2022-03-24 |
TW201830236A (zh) | 2018-08-16 |
GB2573685B (en) | 2020-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114402289B (zh) | 多模式运算电路 | |
US9519460B1 (en) | Universal single instruction multiple data multiplier and wide accumulator unit | |
US9098332B1 (en) | Specialized processing block with fixed- and floating-point structures | |
JP3940542B2 (ja) | データプロセッサ及びデータ処理システム | |
JP6744913B2 (ja) | 浮動小数点数の丸め処理 | |
US9940102B2 (en) | Partial stochastic rounding that includes sticky and guard bits | |
JP4349265B2 (ja) | プロセッサ | |
JPH0727457B2 (ja) | 乗算器 | |
CN114930311B (zh) | Fpga重复单元之间的级联通信 | |
US20210326111A1 (en) | FPGA Processing Block for Machine Learning or Digital Signal Processing Operations | |
CN110737628A (zh) | 一种可重构处理器和可重构处理器*** | |
TWI808259B (zh) | 具有壓縮進位之數位電路 | |
US10140090B2 (en) | Computing and summing up multiple products in a single multiplier | |
JP6979076B2 (ja) | 回路、システム、および組合せ結果を演算するように再設定可能な複数の再設定可能ユニットを備えたプロセッサにより実装される方法 | |
KR20230041818A (ko) | 하이브리드 형식들에 대한 부동 소수점 계산 | |
JP2006039790A (ja) | ブロードキャスト型並列処理のための演算処理装置 | |
Sima et al. | An 8x8 IDCT Implementation on an FPGA-augmented TriMedia | |
JP3537378B2 (ja) | 加算器および集積回路 | |
US9164728B1 (en) | Ternary DSP block | |
US8924447B2 (en) | Double precision approximation of a single precision operation | |
JP6302682B2 (ja) | 複数データ形式を支援する加算器、及びその加算器を利用した複数データ形式の加減演算支援方法 | |
US11113028B2 (en) | Apparatus and method for performing an index operation | |
JPH05324694A (ja) | 再構成可能並列プロセッサ | |
KR101974779B1 (ko) | 16비트 이하 양의 정수용 파이프라인형 제곱기 | |
Karthick et al. | VLSI Implementation of Multipliers for Artificial Intelligence Applications: A Survey |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200722 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210712 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210727 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211020 |
|
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: 20211109 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211112 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6979076 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |