[go: up one dir, main page]

WO2006053173A3 - Multipurpose multiply-add functional unit - Google Patents

Multipurpose multiply-add functional unit Download PDF

Info

Publication number
WO2006053173A3
WO2006053173A3 PCT/US2005/040852 US2005040852W WO2006053173A3 WO 2006053173 A3 WO2006053173 A3 WO 2006053173A3 US 2005040852 W US2005040852 W US 2005040852W WO 2006053173 A3 WO2006053173 A3 WO 2006053173A3
Authority
WO
WIPO (PCT)
Prior art keywords
functional unit
operations
add functional
multiply
multipurpose
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.)
Ceased
Application number
PCT/US2005/040852
Other languages
French (fr)
Other versions
WO2006053173A2 (en
Inventor
Ming Y Siu
Stuart F Oberman
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nvidia Corp
Original Assignee
Nvidia Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US10/985,674 external-priority patent/US7428566B2/en
Priority claimed from US10/985,291 external-priority patent/US7225323B2/en
Priority claimed from US10/985,695 external-priority patent/US7240184B2/en
Priority claimed from US10/986,531 external-priority patent/US20060101244A1/en
Application filed by Nvidia Corp filed Critical Nvidia Corp
Priority to JP2007541334A priority Critical patent/JP4891252B2/en
Priority to CN2005800424120A priority patent/CN101133389B/en
Publication of WO2006053173A2 publication Critical patent/WO2006053173A2/en
Publication of WO2006053173A3 publication Critical patent/WO2006053173A3/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30025Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • G06F9/30038Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30079Pipeline control instructions, e.g. multicycle NOP
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Advance Control (AREA)
  • Emergency Protection Circuit Devices (AREA)

Abstract

A multipurpose functional unit is configurable to support a number of operations including multiply-add and comparison testing operations, as well as other integer and/or floating-point arithmetic operations, Boolean operations, and format conversion operations.
PCT/US2005/040852 2004-11-10 2005-11-09 Multipurpose multiply-add functional unit Ceased WO2006053173A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007541334A JP4891252B2 (en) 2004-11-10 2005-11-09 General-purpose multiply-add function unit
CN2005800424120A CN101133389B (en) 2004-11-10 2005-11-09 Multipurpose multiply-add functional unit

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US10/985,674 US7428566B2 (en) 2004-11-10 2004-11-10 Multipurpose functional unit with multiply-add and format conversion pipeline
US10/985,674 2004-11-10
US10/985,291 2004-11-10
US10/986,531 2004-11-10
US10/985,291 US7225323B2 (en) 2004-11-10 2004-11-10 Multi-purpose floating point and integer multiply-add functional unit with multiplication-comparison test addition and exponent pipelines
US10/985,695 US7240184B2 (en) 2004-11-10 2004-11-10 Multipurpose functional unit with multiplication pipeline, addition pipeline, addition pipeline and logical test pipeline capable of performing integer multiply-add operations
US10/985,695 2004-11-10
US10/986,531 US20060101244A1 (en) 2004-11-10 2004-11-10 Multipurpose functional unit with combined integer and floating-point multiply-add pipeline

Publications (2)

Publication Number Publication Date
WO2006053173A2 WO2006053173A2 (en) 2006-05-18
WO2006053173A3 true WO2006053173A3 (en) 2007-05-10

Family

ID=36337229

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2005/040852 Ceased WO2006053173A2 (en) 2004-11-10 2005-11-09 Multipurpose multiply-add functional unit

Country Status (4)

Country Link
JP (1) JP4891252B2 (en)
KR (1) KR100911786B1 (en)
TW (1) TWI389028B (en)
WO (1) WO2006053173A2 (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8106914B2 (en) * 2007-12-07 2012-01-31 Nvidia Corporation Fused multiply-add functional unit
JP5367552B2 (en) * 2009-12-15 2013-12-11 株式会社東芝 Image processing apparatus and image processing program
US8667042B2 (en) * 2010-09-24 2014-03-04 Intel Corporation Functional unit for vector integer multiply add instruction
GB2484654B (en) 2010-10-12 2013-10-09 Advanced Risc Mach Ltd Conditional selection of data elements
KR101735677B1 (en) 2010-11-17 2017-05-16 삼성전자주식회사 Apparatus for multiply add fused unit of floating point number, and method thereof
DE102013212840B4 (en) * 2013-07-02 2022-07-07 Robert Bosch Gmbh Model calculation unit and control unit for calculating a data-based function model with data in various number formats
DE102013224694A1 (en) * 2013-12-03 2015-06-03 Robert Bosch Gmbh Method and device for determining a gradient of a data-based function model
US9875084B2 (en) * 2016-04-28 2018-01-23 Vivante Corporation Calculating trigonometric functions using a four input dot product circuit
US10979054B1 (en) * 2020-01-14 2021-04-13 Nuvotonn Technology Corporation Coupling of combinational logic circuits for protection against side-channel attacks
CN114968175B (en) * 2022-06-06 2023-03-07 湖南毂梁微电子有限公司 Configurable shift addition fusion unit for intelligent computation acceleration
KR102733737B1 (en) * 2022-06-24 2024-11-26 서울대학교산학협력단 Apparatus and method computing low-latency convolution optimized for mobile devices

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6243732B1 (en) * 1996-10-16 2001-06-05 Hitachi, Ltd. Data processor and data processing system
US6363476B1 (en) * 1998-08-12 2002-03-26 Kabushiki Kaisha Toshiba Multiply-add operating device for floating point number

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0480867A (en) * 1990-07-23 1992-03-13 Mitsubishi Electric Corp Arithmetic circuit
JPH10207863A (en) * 1997-01-21 1998-08-07 Toshiba Corp Arithmetic processing unit
JPH1173409A (en) * 1997-08-29 1999-03-16 Matsushita Electric Ind Co Ltd Product-sum operation device and product-sum operation method
US6480872B1 (en) * 1999-01-21 2002-11-12 Sandcraft, Inc. Floating-point and integer multiply-add and multiply-accumulate

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6243732B1 (en) * 1996-10-16 2001-06-05 Hitachi, Ltd. Data processor and data processing system
US6363476B1 (en) * 1998-08-12 2002-03-26 Kabushiki Kaisha Toshiba Multiply-add operating device for floating point number

Also Published As

Publication number Publication date
TWI389028B (en) 2013-03-11
WO2006053173A2 (en) 2006-05-18
KR100911786B1 (en) 2009-08-12
KR20070085755A (en) 2007-08-27
JP4891252B2 (en) 2012-03-07
JP2008520048A (en) 2008-06-12

Similar Documents

Publication Publication Date Title
WO2006053173A3 (en) Multipurpose multiply-add functional unit
AU2003234197A1 (en) Multi-dimensional strain bioreactor
AU2003222086A1 (en) High-performance hybrid processor with configurable execution units
TWI348789B (en) Computer input/output connector assembly
WO2007001866A3 (en) Hand cleanliness
WO2008002822A3 (en) Mulptiplying two numbers
GB0229236D0 (en) AMLCD with integrated touch input
EP1847164B8 (en) Split power input to chiller
WO2006082095A3 (en) Knowledge discovery tool navigation
WO2005001046A3 (en) Methods for predicting the course of a malignant disease
WO2008022331A3 (en) Multi-stage floating-point accumulator
WO2005110009A8 (en) COMPOSITIONS AND METHODS RELATING TO TSP-30a, b, c AND d
WO2004074657A3 (en) Signal conditioner and user interface
TW200643767A (en) Half keyboard
TW200703074A (en) Mouse with built-in microphone
TW200707696A (en) Single pin multi-function singal detection method and structure therefor
AU2003228594A1 (en) Circuitry to provide a low power input buffer
TW200727637A (en) A FFT processor, and implement method thereof and an OFDM processor using the same
AU2003222988A1 (en) Improvements relating to signal enhancement
GB0513626D0 (en) A system for communicating status data
AU2003304071A1 (en) Load indicating fastener insert
GB0511627D0 (en) Childs portable booster seat, play and change carry case (boost & play)
CN2929081Y (en) Key with screw driver
CN201853089U (en) Novel music player
AU2002211616A1 (en) Enhanced boolean processor with parallel input

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200580042412.0

Country of ref document: CN

AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KN KP KR KZ LC LK LR LS LT LU LV LY MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2007541334

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 1020077012628

Country of ref document: KR

122 Ep: pct application non-entry in european phase

Ref document number: 05820066

Country of ref document: EP

Kind code of ref document: A2