US Patent No: 4,989,168

Number of patents in Portfolio can not be more than 2000

Multiplying unit in a computer system, capable of population counting

Stats

ATTORNEY / AGENT: (SPONSORED)
 

Importance

Loading Importance Indicators... loading....

Abstract

Population counting is performed by using a multiplying unit, in the computer system, including a plurality of multiplying sub-units for simultaneously executing partial multiplication among elements obtained by dividing a multiplicand data and a multiplier data in a regular multiplication mode. In a population counting mode, an input data for the population counting is divided into population counting elements instead of the multiplier data and population counting on the population counting elements are performed simultaneously using the multiplying sub-units which produce partial counted data of the population counting elements, and the partial counted data is sent to a carry save adder and a carry propagate adder by which a population counting result for the input data is obtained and output.

Loading the Abstract Image... loading....

First Claim

Related Publications

Loading Related Publications... loading....

Patent Owner(s)

Patent OwnerAddressTotal Patents
FUJITSU LIMITEDKAWASAKI21511

International Classification(s)

  • [Classification Symbol]
  • [Patents Count]

Inventor(s)

Inventor Name Address # of filed Patents Total Citations
Kuroda, Koji Osaka, JP 28 300
Nakatani, Shoji Kawasaki, JP 7 234

Cited Art

Patent Info (Count) # Cites Year
 
BELL TELEPHONE LABORATORIES, INCORPORATED (1)
4,189,716 Circuit for determining the number of ones in a binary signal 17 1978
 
INTERNATIONAL BUSINESS MACHINES CORPORATION (1)
4,630,192 Apparatus for executing an instruction and for simultaneously generating and storing related information 16 1983
 
KABUSHIKI KAISHA TOSHIBA (1)
4,825,401 Functional dividable multiplier array circuit for multiplication of full words or simultaneous multiplication of two half words 37 1987
 
SPERRY CORPORATION (1)
4,594,680 Apparatus for performing quadratic convergence division in a large data processing system 9 1983
 
THE UNITED STATES OF AMERICA AS REPRESENTED BY THE SECRETARY OF THE ARMY (1)
4,679,164 Digital high speed programmable convolver 19 1984

Patent Citation Ranking

Forward Cites

Patent Info (Count) # Cites Year
 
INTEL CORPORATION (96)
5,752,001 Method and apparatus employing Viterbi scoring using SIMD instructions for data recognition 24 1995
5,541,865 Method and apparatus for performing a population count operation 38 1995
6,385,634 Method for performing multiply-add operations on packed data 46 1995
5,822,459 Method for processing wavelet bands 5 1995
5,721,892 Method and apparatus for performing multiply-subtract operations on packed data 89 1995
5,935,240 Computer implemented method for transferring packed data between register files and memory 25 1995
5,815,421 Method for transposing a two-dimensional array 18 1995
5,757,432 Manipulating video and audio signals using a processor which supports SIMD instructions 34 1995
5,940,859 Emptying packed data state during execution of packed data instructions 22 1995
5,857,096 Microarchitecture for implementing an instruction to clear the tags of a stack reference register file 14 1995
5,852,726 Method and apparatus for executing two types of instructions that specify registers of a shared logical register file in a stack and a non-stack referenced manner 94 1995
5,835,748 Method for executing different sets of instructions that cause a processor to perform different data type operations on different physical registers files that logically appear to software as a single aliased register file 58 1995
5,701,508 Executing different instructions that cause different data type operations to be performed on single logical register file 41 1995
6,058,408 Method and apparatus for multiplying and accumulating complex numbers in a digital filter 40 1995
5,983,253 Computer system for performing complex digital filters 23 1995
5,936,872 Method and apparatus for storing complex numbers to allow for efficient complex multiplication operations and performing such complex multiplication operations 50 1995
5,907,842 Method of sorting numbers to obtain maxima/minima values with ordering 29 1995
5,787,026 Method and apparatus for providing memory access in a processor pipeline 7 1995
5,880,979 System for providing the absolute difference of unsigned values 19 1995
5,742,529 Method and an apparatus for providing the absolute difference of unsigned values 17 1995
5,983,257 System for signal processing using multiply-add operations 48 1995
5,793,661 Method and apparatus for performing multiply and accumulate operations on packed data 59 1995
5,740,392 Method and apparatus for fast decoding of 00H and OFH mapped instructions 10 1995
6,092,184 Parallel processing of pipelined instructions having register dependencies 5 1995
5,835,392 Method for performing complex fast fourier transforms (FFT's) 20 1995
5,764,943 Data path circuitry for processor having multiple instruction pipelines 24 1995
5,862,067 Method and apparatus for providing high numerical accuracy with packed multiply-add or multiply-subtract operations 22 1995
6,009,191 Computer implemented method for compressing 48-bit pixels to 16-bit pixels 5 1996
6,035,316 Apparatus for performing multiply-add operations on packed data 44 1996
5,959,636 Method and apparatus for performing saturation instructions using saturation limit values 3 1996
5,822,232 Method for performing box filter 6 1996
6,275,834 Apparatus for performing packed shift operations 24 1996
6,070,237 Method for performing population counts on packed data types 4 1996
5,835,782 Packed/add and packed subtract operations 40 1996
5,831,885 Computer implemented method for performing division emulation 3 1996
5,677,862 Method for multiplying packed data 22 1996
5,642,306 Method and apparatus for a single instruction multiple data early-out zero-skip multiplier 45 1996
6,049,864 Method for scheduling a flag generating instruction and a subsequent instruction by executing the flag generating instruction in a microprocessor 3 1996
5,859,997 Method for performing multiply-substrate operations on packed data 17 1996
5,666,298 Method for performing shift operations on packed data 54 1996
5,881,279 Method and apparatus for handling invalid opcode faults via execution of an event-signaling micro-operation 6 1996
5,675,526 Processor performing packed data multiplication 49 1996
5,898,601 Computer implemented method for compressing 24 bit pixels to 16 bit pixels 2 1996
5,802,336 Microprocessor capable of unpacking packed data 62 1997
6,014,684 Method and apparatus for performing N bit by 2*N-1 bit signed multiplication 35 1997
5,818,739 Processor for performing shift operations on packed data 37 1997
6,036,350 Method of sorting signed numbers and solving absolute differences using packed instructions 13 1997
5,819,101 Method for packing a plurality of packed data elements in response to a pack instruction 50 1997
6,170,997 Method for executing instructions that operate on different data types stored in the same single logical register file 17 1997
6,237,016 Method and apparatus for multiplying and accumulating data samples and complex coefficients 26 1997
5,984,515 Computer implemented method for providing a two dimensional rotation of packed data 2 1997
5,983,256 Apparatus for performing multiply-add operations on packed data 16 1997
6,018,351 Computer system performing a two-dimensional rotation of packed data representing multimedia information 20 1997
6,081,824 Method and apparatus for fast unsigned integral division 4 1998
6,418,529 Apparatus and method for performing intra-add operation 37 1998
6,128,614 Method of sorting numbers to obtain maxima/minima values with ordering 12 1999
6,266,686 Emptying packed data state during execution of packed data instructions 13 1999
6,370,559 Method and apparatus for performing N bit by 2*N-1 bit signed multiplications 20 1999
6,792,523 Processor with instructions that operate on different data types stored in the same single logical register file 9 1999
6,516,406 Processor executing unpack instruction to interleave data elements from two packed data 37 2000
6,631,389 Apparatus for performing packed shift operations 26 2000
6,470,370 Method and apparatus for multiplying and accumulating complex numbers in a digital filter 22 2001
7,155,601 Multi-element operand sub-portion shuffle instruction execution 11 2001
6,738,793 Processor capable of executing packed shift operations 2 2001
6,751,725 Methods and apparatuses to clear state for operation of a stack 4 2001
7,424,505 Method and apparatus for performing multiply-add operations on packed data 0 2001
6,961,845 System to perform horizontal additions 2 2002
7,047,383 Byte swap operation for a 64 bit operand 0 2002
6,823,353 Method and apparatus for multiplying and accumulating complex numbers in a digital filter 5 2002
7,685,212 Fast full search motion estimation with SIMD merge instruction 2 2002
7,631,025 Method and apparatus for rearranging data between multiple registers 7 2003
7,430,578 Method and apparatus for performing multiply-add operations on packed byte data 16 2003
7,395,298 Method and apparatus for performing multiply-add operations on packed data 17 2003
7,395,302 Method and apparatus for performing horizontal addition and subtraction 0 2003
7,392,275 Method and apparatus for performing efficient transformations with horizontal addition and subtraction 0 2003
7,818,356 Bitstream buffer manipulation with a SIMD merge instruction 1 2003
7,739,319 Method and apparatus for parallel table lookup using SIMD instructions 3 2003
6,901,420 Method and apparatus for performing packed shift operations 5 2003
7,725,521 Method and apparatus for computing matrix transformations 1 2003
7,624,138 Method and apparatus for efficient integer transform 0 2003
7,373,490 Emptying packed data state during execution of packed data instructions 1 2004
7,149,882 Processor with instructions that operate on different data types stored in the same single logical register file 8 2004
7,480,686 Method and apparatus for executing packed shift operations 0 2004
7,509,367 Method and apparatus for performing multiply-add operations on packed data 0 2004
7,117,232 Method and apparatus for providing packed shift operations in a processor 3 2005
7,966,482 Interleaving saturated lower half of data elements from two source registers of packed data 0 2006
7,451,169 Method and apparatus for providing packed shift operations in a processor 0 2006
7,519,646 Reconfigurable SIMD vector processing system 0 2006
7,461,109 Method and apparatus for providing packed shift operations in a processor 0 2007
8,078,836 Vector shuffle instructions operating on multiple lanes each having a plurality of data elements using a common set of per-lane control bits 0 2007
8,185,571 Processor for performing multiply-add operations on packed data 0 2009
8,214,626 Method and apparatus for shuffling data 2009
8,346,838 Method and apparatus for efficient integer transform 0 2009
8,225,075 Method and apparatus for shuffling data 0 2010
8,190,867 Packing two packed signed data in registers with saturation 0 2011
8,396,915 Processor for performing multiply-add operations on packed data 0 2012
 
INTERNATIONAL BUSINESS MACHINES CORPORATION (2)
5,253,195 High speed multiplier 17 1993
8,387,065 Speculative popcount data creation 0 2009
 
ANALOG DEVICES, INC. (1)
8,275,822 Multi-format multiplier unit 0 2008
 
HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. (1)
5,717,616 Computer hardware instruction and method for computing population counts 7 1993
 
MAXTOR CORPORATION (1)
5,999,959 Galois field multiplier 35 1998
 
SAMSUNG ELECTRONICS CO., LTD. (1)
6,708,193 Linear summation multiplier array implementation for both signed and unsigned multiplication 16 2000
 
STMICROELECTRONICS, INC. (1)
6,795,839 Method and device for computing the number of bits set to one in an arbitrary length word 2 2000
 
SUN MICROSYSTEMS, INC. (1)
6,754,685 Dynamic popcount/shift circuit 3 2000
 
VERISILICON HOLDINGS (CAYMAN ISLANDS) CO. LTD. (1)
6,523,055 Circuit and method for multiplying and accumulating the sum of two products in a single cycle 39 1999
 
XENON MICROSYSTEMS, INC. (1)
5,586,070 Structure and method for embedding two small multipliers in a larger multiplier 24 1994