← Back to Patent Explorer
US5038309A Expired / Lapsed US ⏱️ 0.0 years remaining

Number conversion apparatus

Assignee: Sun Microsystems Inc
•
Filing: 1989-09-15
•
Granted: 1991-08-06
•
Expires: 2009-09-15
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A first number conversion circuit for converting input numbers in the form of an integer, a floating-point number and a FRACT number into Modulo 256 format for use in connection with a graphic accelerator capable of rapidly manipulating numbers in Modulo 256 format. Also, a second number conversion circuit is disclosed for converting numbers in Modulo 256 format into output numbers in the form of an integer, a floating-point number and a FRACT number after manipulation by the graphic accelerator.

Inventors

  • 👤 Curtis Priem
  • 👤 Chris Malachowsky

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-03 02:20
CPC Classifications
H; H03; H03M; H03M7/00; H03M7/14; H03M7/24

Claims Analysis

Total Claims: 10
Claim 1
Independent Claim 467 words
A number conversion circuit for converting an N-bit input number in a form of an integer, a floating-point, or a FRACT number into an M-bit number in Modulo 256 format with multiple tap points, where M>N, said Modulo 256 format comprising an exponent having at least one exponent bit, and an N-bit mantissa having at least one signed integer bit and at least one fraction bit, said exponent being such that each increase by a value of 1 of said exponent is equivalent to multiplying said mantissa by 256, said number conversion circuit comprising: integer and FRACT number converting means for converting an integer or a FRACT input number into an equivalent Modulo 256 number format, said FRACT number comprising an integer and a fractional portions, said integer and FRACT number converting means comprising; aligning means for aligning a least significant bit (LSB) of said input number at a rightmost bit space of said M-bit number in Modulo 256 format; first shift register for generating a normalized mantissa of said Modulo 256 format by shifting said input number leftward in 8-bit steps; and first exponent calculating means for subtracting a first exponent value in said exponent by 1 for each said 8-bit step, said exponent value being equivalent to shifting a binary point of said integer or FRACT number to be aligned with a binary point of said Modulo 256 format, wherein said first exponent value is a first predetermined value for integer number conversion and a second predetermined value for FRACT number conversion; floating-point number converting means for converting a floating-point number into an equivalent Modulo 256 format number, said floating-point number comprising a sign bit, an exponent number ("E") representing 2's power and an unsigned mantissa, said floating-point number converting means comprising; aligning means for aligning a LSB of said integer input number at a rightmost bit space of said M-bit number in Modulo 256 format; sign-converting means for converting said unsigned mantissa of said floating-point number into a signed mantissa of said Modulo 256 format; second shift register for generating a normalized mantissa of said Modulo 256 format by shifting said signed mantissa leftward R bits, if E>=8 and R=E-8×F, F being an integer, or shifting said signed mantissa leftward E bits if E<8; and second exponent calculating means for setting said exponent of said Modulo 256 to (F+8) if E>=8, or setting said exponent of said Modulo 256 format to 8 if E<8; control means for selecting a valid output number in said Modulo 256 format from said integer and FRACT number converting means if an integer number or FRACT number is converted into Modulo 256 format, and floating-point number converting means if a floating-point number is converted into Modulo 256 format; whereby an output number in said Modulo 256 format is generated.
Claim 2
Dependent Claim 467 words
A number conversion circuit for converting an N-bit input number in a form of an integer, a floating-point, or a FRACT number into an M-bit number in Modulo 256 format with multiple tap points, where M>N, said Modulo 256 format comprising an exponent having at least one exponent bit, and an N-bit mantissa having at least one signed integer bit and at least one fraction bit, said exponent being such that each increase by a value of 1 of said exponent is equivalent to multiplying said mantissa by 256, said number conversion circuit comprising: integer and FRACT number converting means for converting an integer or a FRACT input number into an equivalent Modulo 256 number format, said FRACT number comprising an integer and a fractional portions, said integer and FRACT number converting means comprising; aligning means for aligning a least significant bit (LSB) of said input number at a rightmost bit space of said M-bit number in Modulo 256 format; first shift register for generating a normalized mantissa of said Modulo 256 format by shifting said input number leftward in 8-bit steps; and first exponent calculating means for subtracting a first exponent value in said exponent by 1 for each said 8-bit step, said exponent value being equivalent to shifting a binary point of said integer or FRACT number to be aligned with a binary point of said Modulo 256 format, wherein said first exponent value is a first predetermined value for integer number conversion and a second predetermined value for FRACT number conversion; floating-point number converting means for converting a floating-point number into an equivalent Modulo 256 format number, said floating-point number comprising a sign bit, an exponent number ("E") representing 2's power and an unsigned mantissa, said floating-point number converting means comprising; aligning means for aligning a LSB of said integer input number at a rightmost bit space of said M-bit number in Modulo 256 format; sign-converting means for converting said unsigned mantissa of said floating-point number into a signed mantissa of said Modulo 256 format; second shift register for generating a normalized mantissa of said Modulo 256 format by shifting said signed mantissa leftward R bits, if E>=8 and R=E-8×F, F being an integer, or shifting said signed mantissa leftward E bits if E<8; and second exponent calculating means for setting said exponent of said Modulo 256 to (F+8) if E>=8, or setting said exponent of said Modulo 256 format to 8 if E<8; control means for selecting a valid output number in said Modulo 256 format from said integer and FRACT number converting means if an integer number or FRACT number is converted into Modulo 256 format, and floating-point number converting means if a floating-point number is converted into Modulo 256 format; whereby an output number in said Modulo 256 format is generated.
Claim 3
Dependent Claim 28 words
A number conversion circuit according to claim 1, wherein said first shift register of said integer and FRACT number converting means is a barrel shifter by 8 bits.
Claim 4
Dependent Claim 26 words
A number conversion circuit according to claim 1, wherein said second shift register of said floating-point number converting means is a barrel shifter by 1 bit.
Claim 5
Dependent Claim 15 words
A number conversion circuit according to claim 1, wherein said control means is a multiplexer.
Claim 6
Dependent Claim 433 words
A number conversion circuit for converting an M-bit number in Modulo 256 format with multiple tap points into an N-bit output number in a form of an integer, a floating-point, or a FRACT number format, where M>N, said Modulo 256 format comprising an exponent having at least one exponent bit, and an N-bit mantissa having at least one signed integer bit and at least one fraction bit, said exponent bits of said exponent being such that each increase by a value of 1 of said exponent is equivalent to multiplying said mantissa by 256, said number conversion circuit comprising: integer and FRACT number converting means for converting each number in said Modulo 256 format into an equivalent integer number or an equivalent FRACT number, said number converting means comprising; first shift register for generating an integer by shifting said mantissa of said Modulo 256 format rightward in 8-bit steps until said exponent of said Modulo 256 format reaches a first exponent value, said exponent value being equivalent to shifting a binary point of said integer or FRACT number to be aligned with a binary point of said Modulo 256 format, wherein said first exponent value is a first predetermined value for integer number conversion and a second predetermined value for FRACT number conversion; and first exponent calculating means for increasing said exponent of said Modulo 256 format by 1 for each of said 8-bit steps, wherein an output number of N bits is generated; floating-point number converting means for converting each number in said Modulo 256 format into an equivalent floating-point number, said floating-point number comprising a sign bit, an exponent ("E") representing 2's power and an unsigned mantissa, said floating-point number converting means comprising; sign-converting means for converting said mantissa of said Modulo 256 format into an unsigned mantissa of said floating-point number with said sign bit of said floating-point number; second shift register for normalizing said unsigned mantissa by shifting said mantissa of said Modulo 256 format rightward, the number of bits thus shifted being "R"; and second exponent calculating means for generating said exponent of said floating-point number by setting said exponent equal to "R" if said exponent ("F") of said Modulo 256 number format equals 8, or setting said exponent equal to (8×(F-8)+R) for F>8, wherein a floating-point number with said sign bit, said exponent equal to E, and said unsigned mantissa is generated; control means for selecting a valid output from said integer and FRACT number converting means if an integer output or FRACT output is desired and floating-point number converting means if a floating-point number is desired.
Claim 7
Dependent Claim 433 words
A number conversion circuit for converting an M-bit number in Modulo 256 format with multiple tap points into an N-bit output number in a form of an integer, a floating-point, or a FRACT number format, where M>N, said Modulo 256 format comprising an exponent having at least one exponent bit, and an N-bit mantissa having at least one signed integer bit and at least one fraction bit, said exponent bits of said exponent being such that each increase by a value of 1 of said exponent is equivalent to multiplying said mantissa by 256, said number conversion circuit comprising: integer and FRACT number converting means for converting each number in said Modulo 256 format into an equivalent integer number or an equivalent FRACT number, said number converting means comprising; first shift register for generating an integer by shifting said mantissa of said Modulo 256 format rightward in 8-bit steps until said exponent of said Modulo 256 format reaches a first exponent value, said exponent value being equivalent to shifting a binary point of said integer or FRACT number to be aligned with a binary point of said Modulo 256 format, wherein said first exponent value is a first predetermined value for integer number conversion and a second predetermined value for FRACT number conversion; and first exponent calculating means for increasing said exponent of said Modulo 256 format by 1 for each of said 8-bit steps, wherein an output number of N bits is generated; floating-point number converting means for converting each number in said Modulo 256 format into an equivalent floating-point number, said floating-point number comprising a sign bit, an exponent ("E") representing 2's power and an unsigned mantissa, said floating-point number converting means comprising; sign-converting means for converting said mantissa of said Modulo 256 format into an unsigned mantissa of said floating-point number with said sign bit of said floating-point number; second shift register for normalizing said unsigned mantissa by shifting said mantissa of said Modulo 256 format rightward, the number of bits thus shifted being "R"; and second exponent calculating means for generating said exponent of said floating-point number by setting said exponent equal to "R" if said exponent ("F") of said Modulo 256 number format equals 8, or setting said exponent equal to (8×(F-8)+R) for F>8, wherein a floating-point number with said sign bit, said exponent equal to E, and said unsigned mantissa is generated; control means for selecting a valid output from said integer and FRACT number converting means if an integer output or FRACT output is desired and floating-point number converting means if a floating-point number is desired.
Claim 8
Dependent Claim 28 words
A number conversion circuit according to claim 5, wherein said first shift register of said integer and FRACT number converting means is a barrel shifter by 8 bits.
Claim 9
Dependent Claim 15 words
A number conversion circuit according to claim 5, wherein said control means is a multiplexer.
Claim 10
Dependent Claim 26 words
A number conversion circuit according to claim 5, wherein said second shift register of said floating-point number converting means is a barrel shifter by 1 bit.

References Cited (Backward Citations)

US3872442A Cited
US4016560A Cited
US4189715A Cited
US4342027A Cited
US4342026A Cited
US4430643A Cited
US4376275A Cited
US4638300A Cited
US4719450A Cited
US4831575A Cited
US4792793A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1994-08-05 1995-02-04 1995-08-06 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1998-08-05 1999-02-04 1999-08-06 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2002-08-05 2003-02-04 2003-08-06 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag