Patent US5357237A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5357237A Expired / Lapsed US ⏱️ 0.0 years remaining

In a data processor a method and apparatus for performing a floating-point comparison operation

Assignee: Apple Inc
•
Filing: 1992-09-04
•
Granted: 1994-10-18
•
Expires: 2012-09-04
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A data processor (10) has a floating-point execution unit (32) for executing a floating-point compare operation using two data operands. The execution unit (32) uses mantissa comparator logic (107) to perform a bit-wise comparison of a mantissa portion of a first operand with the mantissa portion of a second operand, and to provide a mantissa comparison result. Similarly, exponent comparator logic (122) performs a bit-wise comparison of an exponent portion of the first operand with the exponent portion of the second, and provides an exponent comparison result. Comparator logic (114) in the execution unit receives the mantissa comparison result and the exponent comparison result. If the exponent portions of the two operands are not equal, the comparator logic (114) uses an operand sign bit of each operand and the exponent comparison result to order the two operands. If the exponent portions of the two operands are equal, the comparator logic uses the operand sign bit of each operand and the mantissa comparison result to order the two operands.

Inventors

  • 👤 David R. Bearden
  • 👤 Raymond L. Vargas
  • 👤 Elie I. Haddad

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-03 13:14
CPC Classifications
G; G06; G06F; G06F7/00; G06F7/38; G06F7/48; G06F7/483; G06F7/485; G06F7/02; G06F7/026

Claims Analysis

Total Claims: 16
Claim 1
Independent Claim 222 words
In a data processor having an execution unit for executing a plurality of floating-point operations using a plurality of data operands, each of said data operands having a mantissa portion and an exponent portion, a method for performing a floating-point comparison operation to determine an ordering of a first data operand and a second data operand, said method comprising the steps of: performing a first bit-wise comparison of said exponent portion of said first data operand with said exponent portion of said second data operand, to determine an exponent comparison result while simultaneously performing a second bit-wise comparison of said mantissa portion of said first data operand with said mantissa portion of said second data operand to determine a mantissa comparison result; using an operand sign bit of each of said first data operand and said second data operand and said exponent comparison result to order said first data operand and said second data operand if said exponent portions of said first data operand and said second data operand are not equal; and using said operand sign bit of each of said first data operand and said second data operand and said mantissa comparison result to order said first data operand and said second data operand if said exponent portions of said first data operand and said second data operand are equal.
Claim 2
Dependent Claim 222 words
In a data processor having an execution unit for executing a plurality of floating-point operations using a plurality of data operands, each of said data operands having a mantissa portion and an exponent portion, a method for performing a floating-point comparison operation to determine an ordering of a first data operand and a second data operand, said method comprising the steps of: performing a first bit-wise comparison of said exponent portion of said first data operand with said exponent portion of said second data operand, to determine an exponent comparison result while simultaneously performing a second bit-wise comparison of said mantissa portion of said first data operand with said mantissa portion of said second data operand to determine a mantissa comparison result; using an operand sign bit of each of said first data operand and said second data operand and said exponent comparison result to order said first data operand and said second data operand if said exponent portions of said first data operand and said second data operand are not equal; and using said operand sign bit of each of said first data operand and said second data operand and said mantissa comparison result to order said first data operand and said second data operand if said exponent portions of said first data operand and said second data operand are equal.
Claim 3
Dependent Claim 39 words
The method of claim 1 further comprising the step of aligning said first data operand and said second data operand into a predetermined data format based upon a precision of said first data operand and said second data operand.
Claim 4
Dependent Claim 47 words
The method of claim 1 further comprising the step of de-biasing said exponent portion of each of said first data operand and said second data operand prior to performing said first bit-wise comparison of said exponent portion of said first data operand with said second data operand.
Claim 5
Dependent Claim 273 words
In a data processor having an execution unit for executing a plurality of floating-point operations using a plurality of data operands, each of said data operands having a mantissa portion and an exponent portion, a method for performing a floating-point comparison operation to determine an ordering of a first data operand and a second data operand, said method comprising the steps of: aligning said first data operand and said second data operand into a predetermined data format based upon a precision of said first data operand and said second data operand; performing a first bit-wise comparison of said exponent portion of said first data operand with said exponent portion of said second data operand and examining an exponent sign bit contained in said exponent portion of each of said first data operand and said second data operand to determine an exponent comparison result; simultaneously performing a second bit-wise comparison of said mantissa portion of said first data operand with said mantissa portion of said second data operand to determine a mantissa comparison result; using an operand sign bit of each of said first data operand and said second data operand and said exponent comparison result to order said first data operand and said second data operand if said exponent portions of said first data operand and said second data operand are not equal; and using said operand sign bit of each of said first data operand and said second data operand and said mantissa comparison result to order said first data operand and said second data operand if said exponent portions of said first data operand and said second data operand are equal.
Claim 6
Dependent Claim 273 words
In a data processor having an execution unit for executing a plurality of floating-point operations using a plurality of data operands, each of said data operands having a mantissa portion and an exponent portion, a method for performing a floating-point comparison operation to determine an ordering of a first data operand and a second data operand, said method comprising the steps of: aligning said first data operand and said second data operand into a predetermined data format based upon a precision of said first data operand and said second data operand; performing a first bit-wise comparison of said exponent portion of said first data operand with said exponent portion of said second data operand and examining an exponent sign bit contained in said exponent portion of each of said first data operand and said second data operand to determine an exponent comparison result; simultaneously performing a second bit-wise comparison of said mantissa portion of said first data operand with said mantissa portion of said second data operand to determine a mantissa comparison result; using an operand sign bit of each of said first data operand and said second data operand and said exponent comparison result to order said first data operand and said second data operand if said exponent portions of said first data operand and said second data operand are not equal; and using said operand sign bit of each of said first data operand and said second data operand and said mantissa comparison result to order said first data operand and said second data operand if said exponent portions of said first data operand and said second data operand are equal.
Claim 7
Dependent Claim 54 words
The method of claim 4 further comprising the step of examining an operand sign bit of each of said first data operand and said second data operand to determine whether such operand sign bit for said first data operand is identical in logic value to said operand sign bit of said second data operand.
Claim 8
Dependent Claim 47 words
The method of claim 4 further comprising the step of de-biasing said exponent portion of each of said first data operand and said second data operand prior to performing said first bit-wise comparison of said exponent portion of said first data operand with said second data operand.
Claim 9
Dependent Claim 300 words
In a data processor having an execution unit for executing a plurality of floating-point instructions using a plurality of data operands, each of said data operands having a mantissa portion, an exponent portion and an operand sign bit, a method for performing a floating-point comparison operation to determine an ordering of a first data operand and a second data operand, said method comprising the steps of: performing a bit-wise comparison of said mantissa portion of said first data operand with said mantissa portion of said second data operand, to determine whether said mantissa portion of said first data operand is greater than, less than, or equal to said mantissa portion of said second data operand, and providing a mantissa comparison result; examining a most significant bit of said exponent portion of each of said first data operand and said second data operand; performing a comparison of said exponent portion of said first data operand with said exponent portion of said second data operand to determine whether said exponent portion of said first data operand is greater than, less than, or equal to said exponent portion of said second data operand, and providing an exponent comparison result; using an operand sign bit of each of said first data operand and said second data operand and said exponent comparison result to order said first data operand and said second data operand, if said exponent portion of each of said first data operand and said second data operand are not equal; and using said operand sign bit of each of said first data operand and said second data operand and said mantissa comparison result to order said first data operand and said second data operand if said exponent portion of each of said first data operand and said second data operand are equal.
Claim 10
Dependent Claim 300 words
In a data processor having an execution unit for executing a plurality of floating-point instructions using a plurality of data operands, each of said data operands having a mantissa portion, an exponent portion and an operand sign bit, a method for performing a floating-point comparison operation to determine an ordering of a first data operand and a second data operand, said method comprising the steps of: performing a bit-wise comparison of said mantissa portion of said first data operand with said mantissa portion of said second data operand, to determine whether said mantissa portion of said first data operand is greater than, less than, or equal to said mantissa portion of said second data operand, and providing a mantissa comparison result; examining a most significant bit of said exponent portion of each of said first data operand and said second data operand; performing a comparison of said exponent portion of said first data operand with said exponent portion of said second data operand to determine whether said exponent portion of said first data operand is greater than, less than, or equal to said exponent portion of said second data operand, and providing an exponent comparison result; using an operand sign bit of each of said first data operand and said second data operand and said exponent comparison result to order said first data operand and said second data operand, if said exponent portion of each of said first data operand and said second data operand are not equal; and using said operand sign bit of each of said first data operand and said second data operand and said mantissa comparison result to order said first data operand and said second data operand if said exponent portion of each of said first data operand and said second data operand are equal.
Claim 11
Dependent Claim 54 words
The method of claim 7 further comprising the step of examining said operand sign bit of each of said first data operand and said second data operand to determine whether such operand sign bit for said first data operand is identical in logic value to said operand sign bit of said second data operand.
Claim 12
Dependent Claim 39 words
The method of claim 7 further comprising the step of aligning said first data operand and said second data operand into a predetermined data format based upon a precision of said first data operand and said second data operand.
Claim 13
Dependent Claim 235 words
A data processor having an execution unit for performing a floating-point comparison operation to determine an ordering of a first data operand and a second data operand, where each of said first data operand and said second data operand has a mantissa portion and an exponent portion, said execution unit comprising: first means for performing a first bit-wise comparison of said exponent portion of said first data operand with said exponent portion of said second data operand, to determine an exponent comparison result while simultaneously performing a second bit-wise comparison of said mantissa portion of said first data operand with said mantissa portion of said second data operand to determine a mantissa comparison result; second means coupled to said first means for receiving said exponent comparison result and said mantissa comparison result, said second means using an operand sign bit of each of said first data operand and said second data operand and said exponent comparison result to order said first data operand and said second data operand, if said exponent portions of said first data operand and said second data operand are not equal, and using said operand sign bit of each of said first data operand and said second data operand and said mantissa comparison result to order said first data operand and said second data operand if said exponent portions of said first data operand and said second data operand are equal.
Claim 14
Dependent Claim 235 words
A data processor having an execution unit for performing a floating-point comparison operation to determine an ordering of a first data operand and a second data operand, where each of said first data operand and said second data operand has a mantissa portion and an exponent portion, said execution unit comprising: first means for performing a first bit-wise comparison of said exponent portion of said first data operand with said exponent portion of said second data operand, to determine an exponent comparison result while simultaneously performing a second bit-wise comparison of said mantissa portion of said first data operand with said mantissa portion of said second data operand to determine a mantissa comparison result; second means coupled to said first means for receiving said exponent comparison result and said mantissa comparison result, said second means using an operand sign bit of each of said first data operand and said second data operand and said exponent comparison result to order said first data operand and said second data operand, if said exponent portions of said first data operand and said second data operand are not equal, and using said operand sign bit of each of said first data operand and said second data operand and said mantissa comparison result to order said first data operand and said second data operand if said exponent portions of said first data operand and said second data operand are equal.
Claim 15
Dependent Claim 30 words
The execution unit of claim 10 further comprising third means coupled to said first means for de-biasing said exponent portion of said first data operand and said second data operand.
Claim 16
Dependent Claim 45 words
The execution unit of claim 11 further comprising fourth means coupled to said third means for aligning said first data operand and said second data operand into a predetermined data format based upon a precision of said first data operand and said second data operand.

References Cited (Backward Citations)

US4683546A Cited
US4857882A Cited
US4858166A Cited
US4918636A Cited
US5086405A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-10-17 1998-04-18 1998-10-18 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-10-17 2002-04-18 2002-10-18 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-10-17 2006-04-18 2006-10-18 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag