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

Rounding unit for use in arithmetic processing of floating point data

Assignee: NEC Electronics Corp
•
Filing: 1985-07-12
•
Granted: 1989-01-03
•
Expires: 2005-07-12
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A rounding unit for use in arithmetic processing of register floating point data. The rounding unit comprises a mantissa part register for storing the mantissa part of the floating point data, an exponent part register for storing the exponent part of the floating point data, a judging circuit for judging whether the rounding operation is raising or truncating, a mantissa part incrementer for incrementing the mantissa part of the floating point data and outputting a carry signal when it is overflowed, an exponent part incrementer for incrementing the exponent part of the floating point data and a selection circuit which, in response to the carry signal from the mantissa part incrementer and the judging signal from the judging circuit, orders the mantissa part register to store a constant data of which the most significant bit is "1" and the other bits are "0", when the rounding operation is raising and the carry signal is present. For generating the constant data, a constant register or an adjusting means is employed. The rounding unit executes the rounding operation of floating point data by hardware and thus it operates at a very high speed.

Inventors

  • 👤 Toshiya Takahashi
  • 👤 Junichi Iwasaki

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 19:23
CPC Classifications
G; G06; G06F; G06F7/00; G06F7/38; G06F7/48; G06F7/483; G06F7/499; G06F7/49942; G06F7/49947

Claims Analysis

Total Claims: 25
Claim 1
Independent Claim 319 words
A rounding unit for arithmetic processing of floating point data comprisng a mantissa part and an exponent part, said unit comprising: a first data bus for transmitting data; a mantissa part data bus for transmitting the mantissa part of the floating point data; an exponent part data bus for transmitting the exponent part of the floating point data a mantissa part register, connected to said first data bus and to said mantissa part data bus, for storing the mantissa part of the floating point data; an exponent part register, separate from said mantissa part register and connected to said first data bus and to said exponent part data bus, for storing the exponent part of the floating point data; a judging circuit, connected to said first data bus, for judging whether the rounding operation is raising or truncating; a mantissa part incrementer, connected to said mantissa part data bus, for receiving and incrementing the mantissa part of the floating point data to provide incremented mantissa data and outputting a carry signal when it is overflowed; an exponent part incrementer, connected to said exponent part data bus, for receiving and incrementing the exponent part of the floating point data to provide incremented exponent data, wherein said exponent part incrementer increments the exponent part of the floating point data concurrently with incrementing of the mantissa part of the floating point data by said mantissa part incrementer; and a selection circuit connected to said mantissa part register, said exponent part register, said judging circuit, said mantissa part incrementer, and said exponent part incrementer, wherein, in response to the carry signal from the mantissa part incrementer and the judging signal from the judging circuit, said selection circuit orders the mantissa part register to output previously-stored constant data of which the most significant bit is "1" and the other bits are "0", when the rounding operation is raising and the carry signal is present.
Claim 2
Dependent Claim 319 words
A rounding unit for arithmetic processing of floating point data comprisng a mantissa part and an exponent part, said unit comprising: a first data bus for transmitting data; a mantissa part data bus for transmitting the mantissa part of the floating point data; an exponent part data bus for transmitting the exponent part of the floating point data a mantissa part register, connected to said first data bus and to said mantissa part data bus, for storing the mantissa part of the floating point data; an exponent part register, separate from said mantissa part register and connected to said first data bus and to said exponent part data bus, for storing the exponent part of the floating point data; a judging circuit, connected to said first data bus, for judging whether the rounding operation is raising or truncating; a mantissa part incrementer, connected to said mantissa part data bus, for receiving and incrementing the mantissa part of the floating point data to provide incremented mantissa data and outputting a carry signal when it is overflowed; an exponent part incrementer, connected to said exponent part data bus, for receiving and incrementing the exponent part of the floating point data to provide incremented exponent data, wherein said exponent part incrementer increments the exponent part of the floating point data concurrently with incrementing of the mantissa part of the floating point data by said mantissa part incrementer; and a selection circuit connected to said mantissa part register, said exponent part register, said judging circuit, said mantissa part incrementer, and said exponent part incrementer, wherein, in response to the carry signal from the mantissa part incrementer and the judging signal from the judging circuit, said selection circuit orders the mantissa part register to output previously-stored constant data of which the most significant bit is "1" and the other bits are "0", when the rounding operation is raising and the carry signal is present.
Claim 3
Dependent Claim 57 words
A rounding unit as claimed in claim 1, wherein the exponent part register includes a first exponent part register for storing the exponent part of the floating point data before the rounding operation is conducted, and a second exponent part register for storing the exponent part of the floating point data after the rounding operation is completed.
Claim 4
Dependent Claim 97 words
A rounding unit as claimed in claim 2, wherein, when the carry signal is absent, the selection circuit orders the first exponent part register to output the data to the exponent part data bus and orders the second exponent part register to read the data present in the exponent part data bus, and when the carry signal is present, the selection circuit orders the exponent part incrementer to output the incremented exponent data to the exponent part data bus and orders the second exponent part register to read the data present in the exponent part data bus.
Claim 5
Dependent Claim 338 words
A rounding unit for arithmetic processing of floating point data comprising a mantissa part and an exponent part, said unit comprising: a first data bus for transmitting data; a mantissa part data bus for transmitting the mantissa part of the floating point data; an exponent part data bus for transmitting the exponent part of the floating point data; a mantissa part register, connected to said first data bus and to said mantissa part data bus, for storing the mantissa part of the floating point data, wherein the mantissa part register includes a first mantissa part register for storing the mantissa part of the floating point data before the rougind operation is conducted, a second mantissa part register for storing the mantissa part of the floating point data after the rounding operation is completed, and a constant register for storing the constant data; an exponent part register, connected to said first data bus and to said exponent part data bus, for storing the exponent part of the floating point data; a judging circuit, connected to said first data bus, for judging whether the rounding operation is raising or truncating; a mantissa part incrementer, connected to said mantissa part data bus, for receiving and incrementing the mantissa part of the floating point data to provide incremented mantissa data and outputting a carry signal when it is overflowed; an exponent part incrementer, connected to said exponent part data bus, for receiving and incrementing the exponent part of the floating point data to provide incremented exponent data; and a selection circuit connected to said mantissa part register, said exponent part register, said judging circuit, said mantissa part incrementer, and said exponent part incrementer, wherein, in response to the carry signal from the mantissa part incrementer and the judging signal from the judging circuit, said selection circuit orders the mantissa part register to output previously-stored constant data of which the most significant bit is "1" and the other bits are "0", when the rounding operation is raising and the carry signal is present.
Claim 6
Dependent Claim 338 words
A rounding unit for arithmetic processing of floating point data comprising a mantissa part and an exponent part, said unit comprising: a first data bus for transmitting data; a mantissa part data bus for transmitting the mantissa part of the floating point data; an exponent part data bus for transmitting the exponent part of the floating point data; a mantissa part register, connected to said first data bus and to said mantissa part data bus, for storing the mantissa part of the floating point data, wherein the mantissa part register includes a first mantissa part register for storing the mantissa part of the floating point data before the rougind operation is conducted, a second mantissa part register for storing the mantissa part of the floating point data after the rounding operation is completed, and a constant register for storing the constant data; an exponent part register, connected to said first data bus and to said exponent part data bus, for storing the exponent part of the floating point data; a judging circuit, connected to said first data bus, for judging whether the rounding operation is raising or truncating; a mantissa part incrementer, connected to said mantissa part data bus, for receiving and incrementing the mantissa part of the floating point data to provide incremented mantissa data and outputting a carry signal when it is overflowed; an exponent part incrementer, connected to said exponent part data bus, for receiving and incrementing the exponent part of the floating point data to provide incremented exponent data; and a selection circuit connected to said mantissa part register, said exponent part register, said judging circuit, said mantissa part incrementer, and said exponent part incrementer, wherein, in response to the carry signal from the mantissa part incrementer and the judging signal from the judging circuit, said selection circuit orders the mantissa part register to output previously-stored constant data of which the most significant bit is "1" and the other bits are "0", when the rounding operation is raising and the carry signal is present.
Claim 7
Dependent Claim 150 words
A rounding unit as claimed in claim 4, wherein, when the rounding operation is truncating, the selection circuit orders the first mantissa part register to output the data stored therein to the mantissa part data bus and the second mantissa part register to read the data present in the mantissa part bus; when the rounding operation is raising, but the carry signal is absent, the selection circuit orders the mantissa part incrementer to output the incremented mantissa data to the mantissa part data bus and orders the second mantissa part register to read the data present in the mantissa part data bus; and when the rounding operation is raising and the carry signal is present, the selection circuit orders the constant register to output the constant data to the mantissa part data bus and orders the second mantissa part register to read the data present in the mantissa data bus.
Claim 8
Dependent Claim 352 words
A rounding unit for arithmetic processing of floating point data comprising a mantissa part and an exponent part, said unit comprising: a first data bus for transmitting data; a mantissa part data bus for transmitting the mantissa part of the floating point data; an exponent part data bus for transmitting the exponent part of the floating point data; a mantissa part register, connected to said first data bus and to said mantissa part data bus, for storing the mantissa part of the floating point data; an exponent part register, connected to said first data bus and to said exponent part data bus, for storing the exponent part of the floating point data; a judging circuit, connected to said first data bus, for judging whether the rounding operation is raising or truncating; a mantissa part incrementer, connected to said mantissa part data bus, for receiving and incrementing the mantissa part of the floating point data to provide incremented mantissa data and outputting a carry signal when it is overflowed; adjusting means, connected to the mantissa part incrementer, for receiving the carry signal and the the incremented mantissa data, and for modifying the modified mantissa data by adding "1" to the most significant bit of the incremented mantissa data when the carry signal is present, wherein said selection circuit orders the mantissa part register to read the modified data, when the rounding operation is raising and the carry signal is present; an exponent part incrementer, connected to said exponent part data bus, for receiving and incrementing the exponent part of the floating pint data to provide incremented exponent data; and a selection circuit connected to said mantissa part register, said exponent part register, said judging circuit, said mantissa part incrementer, and said exponent part incrementer, wherein, in response to the carry signal from the mantissa part incrementer and the judging signal from the judging circuit, said selection circuit orders the mantissa part register to output previously-stored constant data of which the most significant bit is "1" and the other bits are "0", when the rounding operation is raising and the carry signal is present.
Claim 9
Dependent Claim 352 words
A rounding unit for arithmetic processing of floating point data comprising a mantissa part and an exponent part, said unit comprising: a first data bus for transmitting data; a mantissa part data bus for transmitting the mantissa part of the floating point data; an exponent part data bus for transmitting the exponent part of the floating point data; a mantissa part register, connected to said first data bus and to said mantissa part data bus, for storing the mantissa part of the floating point data; an exponent part register, connected to said first data bus and to said exponent part data bus, for storing the exponent part of the floating point data; a judging circuit, connected to said first data bus, for judging whether the rounding operation is raising or truncating; a mantissa part incrementer, connected to said mantissa part data bus, for receiving and incrementing the mantissa part of the floating point data to provide incremented mantissa data and outputting a carry signal when it is overflowed; adjusting means, connected to the mantissa part incrementer, for receiving the carry signal and the the incremented mantissa data, and for modifying the modified mantissa data by adding "1" to the most significant bit of the incremented mantissa data when the carry signal is present, wherein said selection circuit orders the mantissa part register to read the modified data, when the rounding operation is raising and the carry signal is present; an exponent part incrementer, connected to said exponent part data bus, for receiving and incrementing the exponent part of the floating pint data to provide incremented exponent data; and a selection circuit connected to said mantissa part register, said exponent part register, said judging circuit, said mantissa part incrementer, and said exponent part incrementer, wherein, in response to the carry signal from the mantissa part incrementer and the judging signal from the judging circuit, said selection circuit orders the mantissa part register to output previously-stored constant data of which the most significant bit is "1" and the other bits are "0", when the rounding operation is raising and the carry signal is present.
Claim 10
Dependent Claim 57 words
A rounding unit as claimed in claim 6, wherein the mantissa part register includes a first mantissa part register for storing the mantissa part of the floating point data before the rounding operation is conducted, and a second mantissa part register for storing the mantissa part of the floating point data after the rounding operation is completed.
Claim 11
Dependent Claim 155 words
A rounding unit as claimed in claim 6, wherein, when the rounding opeation is truncating, the selection circuit orders the first mantissa part register to output the data stored therein to the mantissa part data bus and orders the second mantissa part register to read the data present in the mantissa part data bus; when the rounding operation is raising, but the carry signal is absent, the selection circuit orders the mantissa part incrementer to output the incremented mantissa data to the mantissa part data bus and orders the second mantissa part register to read the data present in the mantissa part data bus; and when the rounding operation is raising and the carry signal is present, the selection circuit orders the adjusting means to output the adjusted incremented mantissa data to the mantissa part data bus and orders the second mantissa part register to read the data present in the mantissa part data bus.
Claim 12
Dependent Claim 40 words
A rounding unit as claimed in claim 7, wherein, when the rounding operation is raising, but the carry signal is absent, the incremented mantissa data is outputted as it is through the adjusting means to the mantissa part data bus.
Claim 13
Dependent Claim 361 words
A rounding unit for an arithmetic unit for processing floating point data comprising a mantissa part and an exponent part, said rounding unit comprising: a first data bus for transmitting data; a mantissa part data bus for transmitting the mantissa part of the floating point data; an exponent part data bus for transmitting the exponent part of the floating point data, said arithmetic unit being connected to all of said first data bus, said mantissa part data bus, and said exponent part data bus; a mantissa part register, connected to said first data bus and to said mantissa part data bus, for receiving from the arithmetic unit the mantissa part of the floating point data and outputting thereto the rounded mantissa part of the floating point data; a constant register, connected to said mantissa part data bus, for storing constant data of which the most significant bit is "1" and the other bits are "0", an exponent part register, connected to said first data bus and to said exponent part data bus, for receiving from the arithmetic unit the exponent part of the floating point data and outputting thereto the rounded exponent part of the floating point data; a judging circuit, connected to said first data bus, for judging whether the rounding operation is raising or truncating; a mantissa part incrementer, connected to said mantissa part data bus, for receiving and incrementing the mantissa part of the floating point data to provide incremented mantissa data and outputting a carry signal when it is overflowed; an exponent part incrementer, connected to said exponent part data bus, for receiving and incrementing the exponent part of the floating point data to provide incremented exponent data; and a selection circuit connected to said mantissa part register, said exponent part register, said constant register, said judging circuit, said mantissa part incrementer, and said exponent part incrementer, wherein, in response to the carry signal from the mantissa part incrementer and the judging signal from the judging circuit, said selection circuit orders transfer of the constant data from the constant register to the mantissa part register, when the rounding operation is raising and the carry signal is present.
Claim 14
Dependent Claim 361 words
A rounding unit for an arithmetic unit for processing floating point data comprising a mantissa part and an exponent part, said rounding unit comprising: a first data bus for transmitting data; a mantissa part data bus for transmitting the mantissa part of the floating point data; an exponent part data bus for transmitting the exponent part of the floating point data, said arithmetic unit being connected to all of said first data bus, said mantissa part data bus, and said exponent part data bus; a mantissa part register, connected to said first data bus and to said mantissa part data bus, for receiving from the arithmetic unit the mantissa part of the floating point data and outputting thereto the rounded mantissa part of the floating point data; a constant register, connected to said mantissa part data bus, for storing constant data of which the most significant bit is "1" and the other bits are "0", an exponent part register, connected to said first data bus and to said exponent part data bus, for receiving from the arithmetic unit the exponent part of the floating point data and outputting thereto the rounded exponent part of the floating point data; a judging circuit, connected to said first data bus, for judging whether the rounding operation is raising or truncating; a mantissa part incrementer, connected to said mantissa part data bus, for receiving and incrementing the mantissa part of the floating point data to provide incremented mantissa data and outputting a carry signal when it is overflowed; an exponent part incrementer, connected to said exponent part data bus, for receiving and incrementing the exponent part of the floating point data to provide incremented exponent data; and a selection circuit connected to said mantissa part register, said exponent part register, said constant register, said judging circuit, said mantissa part incrementer, and said exponent part incrementer, wherein, in response to the carry signal from the mantissa part incrementer and the judging signal from the judging circuit, said selection circuit orders transfer of the constant data from the constant register to the mantissa part register, when the rounding operation is raising and the carry signal is present.
Claim 15
Dependent Claim 64 words
A rounding unit as claimed in claim 10, said mantissa part register including a first mantissa part register for receiving from the arithmetic unit and storing therein the mantissa part of the floating point data before the rounding operation is conducted and a second mantissa part register for storing and outputting to the arithmetic unit the rounded mantissa part of the floating point data.
Claim 16
Dependent Claim 152 words
A rounding unit as claimed in claim 11, wherein, when the rounding operation is truncating, the selection circuit orders the first mantissa part register to output the data stored therein to the mantissa part data bus and orders the second mantissa part register to read the data present in the mantissa part data bus; when the rounding operation is raising, but the carry signal is absent, the selection circuit orders the mantissa part incrementer to output the incremented mantissa data to the mantissa part data bus and orders the second mantissa part register to read the data present in the mantissa part data bus; and when the rounding operation is raising and the carry signal is present, the selection circuit orders the constant register to output the constant data to the mantissa part data bus and orders the second mantissa part register to read the data present in the mantissa data bus.
Claim 17
Dependent Claim 70 words
A rounding unit as claimed in claim 10, wherein the exponent part register includes a first exponent part register for receiving from the arithmetic unit and storing the exponent part of the floating point data before the rounding operation is conducted, and a second exponent part register for storing and outputting to the arithmetic unit the rounded exponent part of the floating point data after the rounding operation is completed.
Claim 18
Dependent Claim 97 words
A rounding unit as claimed in claim 13, wherein, when the carry signal is absent, the selection circuit orders the first exponent part register to output the data to the exponent part data bus and orders the second exponent part register to read the data present in the exponent part data bus; and when the carry signal is present, the selection circuit orders the exponent part incrementer to output the incremented exponent data to the exponent part data bus and orders the second exponent part register to read the data present in the exponent part data bus.
Claim 19
Dependent Claim 374 words
A rounding unit for an arithmetic unit for processing floating point data comprising mantissa part data and exponent part data, said rounding unit comprising: a first data bus for transmitting data; a mantissa part data bus for transmitting the mantissa part of the floating point data; an exponent part data bus for transmitting the exponent part of the floating point data, said arithmetic unit being connected to all of said first data bus, said mantissa part data bus, and said exponent part data bus; a mantissa part register, connected to said first data bus and to said mantissa part data bus, for receiving from the arithmetic unit the mantissa part of the floating point data and outputting thereto the rounded mantissa part of the floating point data; an exponent part register, connected to said first data bus and to said exponent part data bus, for receiving from the arithmetic unit the exponent part of the floating point data and outputting thereto the rounded exponent part of the floating point data; a judging circuit, connected to said first data bus, for judging whether the rounding operation is raising or truncating; a mantissa part incrementer, connected to said mantissa part data bus, for incrementing the mantissa part of the floating point data and outputting a carry signal when it is overflowed; an adjusting means connected to the mantissa part incrementer and to said mantissa part data bus, to receive the carry signal and the incremented mantissa data, and for modifying the incremented mantissa data by adding "1" to the most significant bit of the incremented mantissa data when the carry signal is present; an exponent part incrementer, connected to said exponent part data bus, for receiving and incrementing the exponent part of the floating point data to provide incremented exponent data; and a selection circuit, connected to said mantissa part register, said exponent part register, said judging circuit, said mantissa part incrementer, said adjusting means, and said exponent part incrementer, wherein, in response to the carry signal from the mantissa part incrementer and the judging signal from the judging circuit, orders the mantissa part register to read the data modified by the adjusting means, when the rounding operation is raising and the carry signal is present.
Claim 20
Dependent Claim 374 words
A rounding unit for an arithmetic unit for processing floating point data comprising mantissa part data and exponent part data, said rounding unit comprising: a first data bus for transmitting data; a mantissa part data bus for transmitting the mantissa part of the floating point data; an exponent part data bus for transmitting the exponent part of the floating point data, said arithmetic unit being connected to all of said first data bus, said mantissa part data bus, and said exponent part data bus; a mantissa part register, connected to said first data bus and to said mantissa part data bus, for receiving from the arithmetic unit the mantissa part of the floating point data and outputting thereto the rounded mantissa part of the floating point data; an exponent part register, connected to said first data bus and to said exponent part data bus, for receiving from the arithmetic unit the exponent part of the floating point data and outputting thereto the rounded exponent part of the floating point data; a judging circuit, connected to said first data bus, for judging whether the rounding operation is raising or truncating; a mantissa part incrementer, connected to said mantissa part data bus, for incrementing the mantissa part of the floating point data and outputting a carry signal when it is overflowed; an adjusting means connected to the mantissa part incrementer and to said mantissa part data bus, to receive the carry signal and the incremented mantissa data, and for modifying the incremented mantissa data by adding "1" to the most significant bit of the incremented mantissa data when the carry signal is present; an exponent part incrementer, connected to said exponent part data bus, for receiving and incrementing the exponent part of the floating point data to provide incremented exponent data; and a selection circuit, connected to said mantissa part register, said exponent part register, said judging circuit, said mantissa part incrementer, said adjusting means, and said exponent part incrementer, wherein, in response to the carry signal from the mantissa part incrementer and the judging signal from the judging circuit, orders the mantissa part register to read the data modified by the adjusting means, when the rounding operation is raising and the carry signal is present.
Claim 21
Dependent Claim 65 words
A rounding unit as claimed in claim 15, said mantissa part register including a first mantissa part register for receiving from the arithmetic unit and storing therein the mantissa part of the floating point data before the rounding operation is conducted, and a second mantissa part register for storing therein and outputting to the arithmetic unit the rounded mantissa part of the floating point data.
Claim 22
Dependent Claim 95 words
A rounding unit as claimed in claim 16, wherein, when the rounding operaiton is truncating, the selection circuit orders the first mantissa part register to output the data stored therein to the mantissa part data bus and orders the second mantissa part register to read the data present in the mantissa part bus; when the rounding operation is raising, the selection circuit orders the adjusting means to output the adjusted data to the mantissa part data bus and orders the second mantissa part register to read the data present in the mantissa part data bus.
Claim 23
Dependent Claim 40 words
A rounding unit as claimed in claim 16, wherein, when the rounding operation is raising, but the carry signal is absent, the incremented mantissa data is outputted as it is through the adjusting means to the mantissa part data bus.
Claim 24
Dependent Claim 71 words
A rounding unit as claimed in claim 15, wherein the exponent part register includes a first exponent part register for receiving from the arithmetic unit and storing therein the exponent part of the floating point data before the rounding operation is conducted, and a second exponent part register for storing therein and outputting to the arithmetic unit the exponent part of the floating point data after the rounding operation is completed.
Claim 25
Dependent Claim 97 words
A rounding unit as claimed in claim 19, wherein, when the carry signal is absent, the selection circuit orders the first exponent part register to output the data to the exponent part data bus and orders the second exponent part register to read the data present in the exponent part data bus; and when the carry signal is present, the selection circuit orders the exponent part incrementer to output the incremented exponent data to the exponent part data bus and orders the second exponent part register to read the data present in the exponent part data bus.

References Cited (Backward Citations)

US4386413A Cited
US4295203A Cited
US4338675A Cited
US4484259A Cited
US4468748A Cited
US4528640A Cited
US4589067A Cited
US4562553A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1992-01-03 1992-07-04 1993-01-03 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1996-01-03 1996-07-04 1997-01-03 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2000-01-03 2000-07-04 2001-01-03 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag