EP0924601B1

Parallel data processing in a single processor

Abstract

This record has no abstract on file.

EP0924601B1, drawing sheet 1
Sheet 1 of 27

Term

Term ended

Expired 5 July 2014, 12.2 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

10 claims: 2 independent, 8 dependent

  1. 1
    A functional unit comprising:first partition circuitry (41,71,111) which performs an arithmetic operation on a first set of bits from a plurality of operands to produce first results, the first partition circuitry (41,71,11) performing the arithmetic operation on low order bits of the plurality of operands;second partition circuitry (51,81,121), having an identical logic structure as the first partition circuitry (41,71, 111), which performs the arithmetic operation on a second set of bits from the plurality of operands to produce second results, the second partition circuitry (51,81,121) performing the arithmetic operation on high order bits of the plurality of operands;first selection means (50,80,120), coupled between the first partition circuitry (41,71,111) and the second partition circuitry (41,71,111) for allowing data to propagate from the first partition circuitry (41,71,111) to the second partition circuitry (51,81,121) and for preventing data from propagating from the first partition circuitry (41,71,111) to the second partition circuitry (51,81,121);and a preshifter (27) for preshifting a subset of the first set of bits and for preshifting a subset of the second set of bits;wherein when the data is allowed to propagate from the first partition circuitry (41,71,111) to the second partition circuitry (51,81,121), preshifts by the preshifter (27) are allowed to propagate from the subset of the first set of bits to the subset of the second set of bits, and the arithmetic operation is performed on full word length operands to produce results which are of full word length, the results including a concatenation of the second results and the first results;wherein when the data is prevented from propagating from the first partition circuitry (41,71,111) to the second partition circuitry (51,81,121), preshifts by the preshifter (27) are not allowed to propagate from the subset of the first set of bits to the subset of the second set of bits, and the arithmetic operation is performed in parallel on operands with bit lengths which are smaller than a bit length of the full word length operands.
  2. 6
    A method for providing for parallel data processing within a single processor, the parallel data processing including performing addition and subtraction, the method comprising the steps of:(a) performing within each of a plurality of partitions (41,51,71,81,111,121) implemented in hardware, a first operation on a set of bits from at least one operand, including performing within each of the plurality of partition (41,51,71,81,111,121) a preshift operation on a subset of the set of bits;(b) when performing the first operation on at least one full word length operand, allowing data to affect calculations across boundaries between the plurality of partitions (41,51,71,81,111,121), including allowing preshifts to propagate between the partitions;and (c) when performing the first operation in parallel using a plurality of less than one full word length operands, performing the following substep:    (c.1) preventing data from affecting calculations across at least one boundary between the plurality of partitions (41,51,71,81,111,121), including preventing preshifts from propagating across the at least one boundary between the plurality of partitions (41,51,71, 81,111,121).