WO1996017293A1 - A microprocessor having a multiply operation - Google Patents
A microprocessor having a multiply operation Download PDFInfo
- Publication number
- WO1996017293A1 WO1996017293A1 PCT/US1995/015681 US9515681W WO9617293A1 WO 1996017293 A1 WO1996017293 A1 WO 1996017293A1 US 9515681 W US9515681 W US 9515681W WO 9617293 A1 WO9617293 A1 WO 9617293A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- register
- packed
- processor
- packed data
- Prior art date
Links
- 238000000034 method Methods 0.000 claims description 14
- 101000912503 Homo sapiens Tyrosine-protein kinase Fgr Proteins 0.000 description 22
- 102100026150 Tyrosine-protein kinase Fgr Human genes 0.000 description 22
- 238000013500 data storage Methods 0.000 description 4
- 238000007667 floating Methods 0.000 description 3
- 238000009738 saturating Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 239000003607 modifier Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- 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
- G06F7/523—Multiplying only
- G06F7/53—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30025—Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
-
- 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/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- 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, look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/3808—Details concerning the type of numbers or the way they are handled
- G06F2207/3828—Multigauge devices, i.e. capable of handling packed numbers without unpacking them
-
- 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/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49905—Exception handling
- G06F7/4991—Overflow or underflow
- G06F7/49921—Saturation, i.e. clipping the result to a minimum or maximum value
Abstract
Description
Claims
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU47383/96A AU4738396A (en) | 1994-12-01 | 1995-12-01 | A microprocessor having a multiply operation |
JP8519114A JPH11500547A (en) | 1994-12-01 | 1995-12-01 | Microprocessor with multiplication |
EP95944602A EP0795155B1 (en) | 1994-12-01 | 1995-12-01 | A microprocessor having a multiply operation |
HK98102178A HK1003189A1 (en) | 1994-12-01 | 1998-03-16 | A microprocessor having a multiply operation |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US34955994A | 1994-12-01 | 1994-12-01 | |
US08/349,559 | 1994-12-01 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO1996017293A1 true WO1996017293A1 (en) | 1996-06-06 |
Family
ID=23372917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US1995/015681 WO1996017293A1 (en) | 1994-12-01 | 1995-12-01 | A microprocessor having a multiply operation |
Country Status (7)
Country | Link |
---|---|
US (2) | US5677862A (en) |
EP (2) | EP1302848B1 (en) |
JP (1) | JPH11500547A (en) |
AU (1) | AU4738396A (en) |
HK (2) | HK1003189A1 (en) |
TW (1) | TW309605B (en) |
WO (1) | WO1996017293A1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002015000A2 (en) * | 2000-08-16 | 2002-02-21 | Sun Microsystems, Inc. | General purpose processor with graphics/media support |
WO2004114127A1 (en) * | 2003-06-16 | 2004-12-29 | Arm Limited | Result partitioning within simd data processing systems |
US7587582B1 (en) | 1998-12-03 | 2009-09-08 | Sun Microsystems, Inc. | Method and apparatus for parallel arithmetic operations |
US7689641B2 (en) | 2003-06-30 | 2010-03-30 | Intel Corporation | SIMD integer multiply high with round and shift |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0795153A4 (en) | 1994-12-02 | 2001-11-14 | Intel Corp | Microprocessor with packing operation of composite operands |
US7301541B2 (en) | 1995-08-16 | 2007-11-27 | Microunity Systems Engineering, Inc. | Programmable processor and method with wide operations |
US5953241A (en) * | 1995-08-16 | 1999-09-14 | Microunity Engeering Systems, Inc. | Multiplier array processing system with enhanced utilization at lower precision for group multiply and sum instruction |
US6643765B1 (en) * | 1995-08-16 | 2003-11-04 | Microunity Systems Engineering, Inc. | Programmable processor with group floating point operations |
US5742840A (en) | 1995-08-16 | 1998-04-21 | Microunity Systems Engineering, Inc. | General purpose, multiple precision parallel operation, programmable media processor |
US6295599B1 (en) * | 1995-08-16 | 2001-09-25 | Microunity Systems Engineering | System and method for providing a wide operand architecture |
US6470370B2 (en) | 1995-09-05 | 2002-10-22 | Intel Corporation | Method and apparatus for multiplying and accumulating complex numbers in a digital filter |
US5936872A (en) * | 1995-09-05 | 1999-08-10 | Intel Corporation | Method and apparatus for storing complex numbers to allow for efficient complex multiplication operations and performing such complex multiplication operations |
US6058408A (en) * | 1995-09-05 | 2000-05-02 | Intel Corporation | Method and apparatus for multiplying and accumulating complex numbers in a digital filter |
US6237016B1 (en) | 1995-09-05 | 2001-05-22 | Intel Corporation | Method and apparatus for multiplying and accumulating data samples and complex coefficients |
US5983253A (en) * | 1995-09-05 | 1999-11-09 | Intel Corporation | Computer system for performing complex digital filters |
US5940859A (en) | 1995-12-19 | 1999-08-17 | Intel Corporation | Emptying packed data state during execution of packed data instructions |
US5701508A (en) | 1995-12-19 | 1997-12-23 | Intel Corporation | Executing different instructions that cause different data type operations to be performed on single logical register file |
US6792523B1 (en) | 1995-12-19 | 2004-09-14 | Intel Corporation | Processor with instructions that operate on different data types stored in the same single logical register file |
US6490607B1 (en) * | 1998-01-28 | 2002-12-03 | Advanced Micro Devices, Inc. | Shared FP and SIMD 3D multiplier |
US7392275B2 (en) * | 1998-03-31 | 2008-06-24 | Intel Corporation | Method and apparatus for performing efficient transformations with horizontal addition and subtraction |
US7395302B2 (en) | 1998-03-31 | 2008-07-01 | Intel Corporation | Method and apparatus for performing horizontal addition and subtraction |
US6418529B1 (en) * | 1998-03-31 | 2002-07-09 | Intel Corporation | Apparatus and method for performing intra-add operation |
US6211892B1 (en) * | 1998-03-31 | 2001-04-03 | Intel Corporation | System and method for performing an intra-add operation |
US6098087A (en) * | 1998-04-23 | 2000-08-01 | Infineon Technologies North America Corp. | Method and apparatus for performing shift operations on packed data |
US7932911B2 (en) * | 1998-08-24 | 2011-04-26 | Microunity Systems Engineering, Inc. | Processor for executing switch and translate instructions requiring wide operands |
ATE467171T1 (en) * | 1998-08-24 | 2010-05-15 | Microunity Systems Eng | SYSTEM WITH WIDE OPERANDE ARCHITECTURE AND PROCEDURES |
US6272512B1 (en) | 1998-10-12 | 2001-08-07 | Intel Corporation | Data manipulation instruction for enhancing value and efficiency of complex arithmetic |
JP2002544587A (en) * | 1999-05-12 | 2002-12-24 | アナログ デバイセス インコーポレーテッド | Digital signal processor calculation core |
US6546480B1 (en) * | 1999-10-01 | 2003-04-08 | Hitachi, Ltd. | Instructions for arithmetic operations on vectored data |
US7127593B2 (en) * | 2001-06-11 | 2006-10-24 | Broadcom Corporation | Conditional execution with multiple destination stores |
US6813627B2 (en) * | 2001-07-31 | 2004-11-02 | Hewlett-Packard Development Company, L.P. | Method and apparatus for performing integer multiply operations using primitive multi-media operations that operate on smaller operands |
GB2389678A (en) * | 2002-06-14 | 2003-12-17 | Univ Sheffield | Finite field processor reconfigurable for varying sizes of field. |
US7424501B2 (en) | 2003-06-30 | 2008-09-09 | Intel Corporation | Nonlinear filtering and deblocking applications utilizing SIMD sign and absolute value operations |
GB2409062C (en) * | 2003-12-09 | 2007-12-11 | Advanced Risc Mach Ltd | Aliasing data processing registers |
US7433912B1 (en) | 2004-02-19 | 2008-10-07 | Sun Microsystems, Inc. | Multiplier structure supporting different precision multiplication operations |
US7672989B2 (en) * | 2005-05-09 | 2010-03-02 | Sandisk Il Ltd. | Large number multiplication method and device |
CN104011652B (en) * | 2011-12-30 | 2017-10-27 | 英特尔公司 | packing selection processor, method, system and instruction |
US9785565B2 (en) | 2014-06-30 | 2017-10-10 | Microunity Systems Engineering, Inc. | System and methods for expandably wide processor instructions |
EP3001306A1 (en) * | 2014-09-25 | 2016-03-30 | Intel Corporation | Bit group interleave processors, methods, systems, and instructions |
US20160188327A1 (en) * | 2014-12-24 | 2016-06-30 | Elmoustapha Ould-Ahmed-Vall | Apparatus and method for fused multiply-multiply instructions |
GB2568230B (en) * | 2017-10-20 | 2020-06-03 | Graphcore Ltd | Processing in neural networks |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4760545A (en) * | 1983-12-23 | 1988-07-26 | Hitachi, Ltd. | Vector processing apparatus including vector registers having selectively accessible storage locations |
US4811269A (en) * | 1985-10-09 | 1989-03-07 | Hitachi, Ltd. | Bit slice multiplication circuit |
US5001662A (en) * | 1989-04-28 | 1991-03-19 | Apple Computer, Inc. | Method and apparatus for multi-gauge computation |
US5126964A (en) * | 1988-04-01 | 1992-06-30 | Digital Equipment Corporation | High performance bit-sliced multiplier circuit |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3711692A (en) * | 1971-03-15 | 1973-01-16 | Goodyear Aerospace Corp | Determination of number of ones in a data field by addition |
US3723715A (en) * | 1971-08-25 | 1973-03-27 | Ibm | Fast modulo threshold operator binary adder for multi-number additions |
US4161784A (en) * | 1978-01-05 | 1979-07-17 | Honeywell Information Systems, Inc. | Microprogrammable floating point arithmetic unit capable of performing arithmetic operations on long and short operands |
US4418383A (en) * | 1980-06-30 | 1983-11-29 | International Business Machines Corporation | Data flow component for processor and microprocessor systems |
US4393468A (en) * | 1981-03-26 | 1983-07-12 | Advanced Micro Devices, Inc. | Bit slice microprogrammable processor for signal processing applications |
US4498177A (en) * | 1982-08-30 | 1985-02-05 | Sperry Corporation | M Out of N code checker circuit |
US4707800A (en) * | 1985-03-04 | 1987-11-17 | Raytheon Company | Adder/substractor for variable length numbers |
JPS6297060A (en) * | 1985-10-23 | 1987-05-06 | Mitsubishi Electric Corp | Digital signal processor |
US4985848A (en) * | 1987-09-14 | 1991-01-15 | Visual Information Technologies, Inc. | High speed image processing system using separate data processor and address generator |
US4989168A (en) * | 1987-11-30 | 1991-01-29 | Fujitsu Limited | Multiplying unit in a computer system, capable of population counting |
US4953119A (en) * | 1989-01-27 | 1990-08-28 | Hughes Aircraft Company | Multiplier circuit with selectively interconnected pipelined multipliers for selectively multiplication of fixed and floating point numbers |
KR920007505B1 (en) * | 1989-02-02 | 1992-09-04 | 정호선 | Multiplier by using neural network |
US5268854A (en) * | 1990-11-13 | 1993-12-07 | Kabushiki Kaisha Toshiba | Microprocessor with a function for three-dimensional graphic processing |
US5363322A (en) * | 1991-04-02 | 1994-11-08 | Motorola, Inc. | Data processor with an integer multiplication function on a fractional multiplier |
US5187679A (en) * | 1991-06-05 | 1993-02-16 | International Business Machines Corporation | Generalized 7/3 counters |
-
1995
- 1995-12-01 EP EP02028954A patent/EP1302848B1/en not_active Expired - Lifetime
- 1995-12-01 EP EP95944602A patent/EP0795155B1/en not_active Expired - Lifetime
- 1995-12-01 AU AU47383/96A patent/AU4738396A/en not_active Abandoned
- 1995-12-01 WO PCT/US1995/015681 patent/WO1996017293A1/en active IP Right Grant
- 1995-12-01 JP JP8519114A patent/JPH11500547A/en active Pending
-
1996
- 1996-01-12 TW TW085100352A patent/TW309605B/zh not_active IP Right Cessation
- 1996-04-02 US US08/630,876 patent/US5677862A/en not_active Expired - Lifetime
- 1996-11-26 US US08/756,708 patent/US5675526A/en not_active Expired - Lifetime
-
1998
- 1998-03-16 HK HK98102178A patent/HK1003189A1/en not_active IP Right Cessation
- 1998-03-16 HK HK03107535A patent/HK1057108A1/en not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4760545A (en) * | 1983-12-23 | 1988-07-26 | Hitachi, Ltd. | Vector processing apparatus including vector registers having selectively accessible storage locations |
US4811269A (en) * | 1985-10-09 | 1989-03-07 | Hitachi, Ltd. | Bit slice multiplication circuit |
US5126964A (en) * | 1988-04-01 | 1992-06-30 | Digital Equipment Corporation | High performance bit-sliced multiplier circuit |
US5001662A (en) * | 1989-04-28 | 1991-03-19 | Apple Computer, Inc. | Method and apparatus for multi-gauge computation |
Non-Patent Citations (2)
Title |
---|
MC88110UM/AD Second Generation-RISC Microprocessor User's Manual, September 1992, pages 1-2 - 1-23 and 10-62 - 10-71. * |
See also references of EP0795155A4 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7587582B1 (en) | 1998-12-03 | 2009-09-08 | Sun Microsystems, Inc. | Method and apparatus for parallel arithmetic operations |
WO2002015000A2 (en) * | 2000-08-16 | 2002-02-21 | Sun Microsystems, Inc. | General purpose processor with graphics/media support |
WO2002015000A3 (en) * | 2000-08-16 | 2003-08-07 | Sun Microsystems Inc | General purpose processor with graphics/media support |
WO2004114127A1 (en) * | 2003-06-16 | 2004-12-29 | Arm Limited | Result partitioning within simd data processing systems |
US7668897B2 (en) | 2003-06-16 | 2010-02-23 | Arm Limited | Result partitioning within SIMD data processing systems |
US7689641B2 (en) | 2003-06-30 | 2010-03-30 | Intel Corporation | SIMD integer multiply high with round and shift |
Also Published As
Publication number | Publication date |
---|---|
AU4738396A (en) | 1996-06-19 |
US5677862A (en) | 1997-10-14 |
EP0795155A4 (en) | 1999-08-11 |
TW309605B (en) | 1997-07-01 |
HK1003189A1 (en) | 1998-10-16 |
US5675526A (en) | 1997-10-07 |
JPH11500547A (en) | 1999-01-12 |
EP1302848B1 (en) | 2006-11-02 |
EP1302848A3 (en) | 2003-05-14 |
EP0795155B1 (en) | 2003-03-19 |
EP1302848A2 (en) | 2003-04-16 |
EP0795155A1 (en) | 1997-09-17 |
HK1057108A1 (en) | 2004-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0795155B1 (en) | A microprocessor having a multiply operation | |
US5818739A (en) | Processor for performing shift operations on packed data | |
US6119216A (en) | Microprocessor capable of unpacking packed data in response to a unpack instruction | |
US5819101A (en) | Method for packing a plurality of packed data elements in response to a pack instruction | |
US5959874A (en) | Method and apparatus for inserting control digits into packed data to perform packed arithmetic operations | |
US5541865A (en) | Method and apparatus for performing a population count operation | |
US6901420B2 (en) | Method and apparatus for performing packed shift operations | |
WO1996017292A1 (en) | Microprocessor with compare operation of composite operands |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AL AM AT AT AU BB BG BR BY CA CH CN CZ CZ DE DE DK DK EE EE ES FI FI GB GE HU IS JP KE KG KP KR KZ LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SK TJ TM TT UA UG UZ VN |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): KE LS MW SD SZ UG AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
WWE | Wipo information: entry into national phase |
Ref document number: 1995944602 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref country code: JP Ref document number: 1996 519114 Kind code of ref document: A Format of ref document f/p: F |
|
WWP | Wipo information: published in national office |
Ref document number: 1995944602 Country of ref document: EP |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
NENP | Non-entry into the national phase |
Ref country code: CA |
|
WWG | Wipo information: grant in national office |
Ref document number: 1995944602 Country of ref document: EP |