Electrical computers: arithmetic processing and calculating – Electrical digital calculating computer – Particular function performed
Reexamination Certificate
2000-01-04
2004-03-30
Malzahn, David H. (Department: 2124)
Electrical computers: arithmetic processing and calculating
Electrical digital calculating computer
Particular function performed
Reexamination Certificate
active
06714957
ABSTRACT:
TECHNICAL FIELD OF THE INVENTION
The present invention is directed, in general, to processing systems and, more specifically, to a microprocessor having a floating point unit capable of handling tiny (denormal) results.
BACKGROUND OF THE INVENTION
The demand for ever-faster computers requires that state-of-the-art microprocessors execute instructions in the minimum amount of time. Microprocessor speeds have been increased in a number of different ways, including increasing the speed of the clock that drives the processor, reducing the number of clock cycles required to perform a given instruction, implementing pipeline architectures, and increasing the efficiency at which internal operations are performed. This last approach usually involves reducing the number of steps required to perform an internal operation.
Efficiency is particularly important in the floating point unit of a microprocessor. In floating point representation, every number may be represented by a significand (or mantissa) field, a sign bit, and an exponent field. Although the size of these fields may vary, the IEEE-754 standard defines the most commonly used floating point notation and forms the basis for floating point units (FPUs) in x86 type processors. The IEEE-754 standard includes a signal precision format, a single extended precision format, a double precision format, and a double extended precision format. Single precision format comprises 32 bits: a sign bit, 8 exponent bits, and 23 significand bits. Single extended precision format comprises 44 bits: a sign bit, 11 exponent bits, and 32 significand bits. Double precision format comprises 64 bits: a sign bit, 11 exponent bits, and 52 significand bits. Double extended precision format comprises 80 bits: a sign bit, 15 exponent bits, and 64 significand bits.
It can be advantageous in a load-store implementation of IEEE-754 to represent all numeric values contained in the register file in the floating point unit as properly rounded values in a proprietary internal format with range and precision exceeding the widest supported IEEE-754 parameters. One such proprietary format is disclosed in U.S. patent application Ser. No. 09/377,140, entitled “Formatting Denormal Numbers for Processing in a Pipelined Floating Point Unit,” which is commonly assigned to the assignee of the present application. The disclosure of application Ser. No. 09/377,140 is hereby incorporated by reference into the present disclosure as if fully set forth herein. The internal proprietary format disclosed in U.S. patent application Ser. No. 09/377,140 comprises 93 bit: a sign bit, 17 exponent bits, and 70 significand bits, and a 5 bit tag field.
Complete implementations of the IEEE-754 floating-point standard must perform rounding and status generation for all possible results, including tiny (denormal) results. The base number for IEEE floating-point standards is understood to be binary. A “normal” floating-point number is one which begins with the first non-zero digit in front of the binary “decimal” point and a denormal number is one that begins with the first non-zero digit after the decimal point. The accuracy or precision of the number is determined by the number of digits after the decimal point.
Computers, including microprocessors, typically manipulate numbers in binary format. When operating in floating-point binary format, a microprocessor expects a normal floating-point binary number. As noted above, the normal floating-point binary number in the IEEE-754 format is understood to have a mantissa which begins with a 1, followed by the binary point, followed by subsequent 1's and 0's. Thus, the characterization of the mathematical result as tiny or denormal is a function of the exponent. Small denormal numbers which have been formatted to appear as normal numbers are often referred to as pseudo-denormal or pseudo-denormalized numbers.
In implementations where very small or tiny numbers are rarely expected, tiny results are frequently handled by microcode or software exceptions. On the other hand, highly pipelined implementations make no assumptions about the frequency of tiny numbers and tiny results are fully supported in both the addition and multiplication pipelines. The frequent processing of tiny numbers introduces delays in the associated pipelines and may even require additional stages and chip area to accommodate the tiny result processing requirements. In effect, all additions and multiplications are penalized by handling frequent tiny results.
Therefore, there is a need in the art for improved microprocessor architectures capable of handling tiny, denormal results more efficiently. In particular, there is a need for improved microprocessor architectures containing pipelined floating point units that are capable of handling denormal (tiny) results efficiently without requiring complex rounding units in each pipeline to handle the rounding of denormal numbers.
SUMMARY OF THE INVENTION
The limitations inherent in the prior art described above are overcome by the present invention which provides a denormal handling circuit for use in a pipelined floating point unit comprising at least one of an addition pipe and a multiplication pipe. In an advantageous embodiment of the present invention, the denormal result handling circuit comprises: 1) a denormal condition detection circuit associated with at least one of the addition pipe and the multiplication pipe capable of examining a first operand and a second operand loaded into the at least one of the addition pipe and the multiplication pipe and detecting a potential denormal condition, the potential denormal condition indicating that a calculated result generated from the first and second operands may be a denormal result, wherein the denormal condition detection circuit, in response to the detection of the potential denormal condition, prevents an additional operation from being loaded into the at least one of the addition pipe and the multiplication pipe; and 2) a complex rounding unit capable of receiving the calculated result from the at least one of the addition pipe and the multiplication pipe and, in response to the detection of the potential denormal condition, rounding the calculated result.
In one embodiment of the present invention, the denormal condition detection circuit is capable of disabling a simple rounding circuit associated with the at least one of the addition pipe and the multiplication pipe.
In another embodiment of the present invention, the denormal condition detection circuit detects the potential denormal condition if the first operand and the second operand are both normal.
In still another embodiment of the present invention, the denormal condition detection circuit detects the potential denormal condition if the first operand and the second operand are both denormal.
In yet another embodiment of the present invention, the denormal condition detection circuit detects the potential denormal condition if the first operand and the second operand are both pseudo-denormal.
In a further embodiment of the present invention, the pipelined floating point unit comprises an addition pipe and a multiplication pipe and the denormal result handling circuit comprises a first denormal condition detection circuit associated with the addition pipe and a second denormal condition detection circuit associated with the multiplication pipe.
In a still further embodiment of the present invention, the first denormal condition detection circuit is capable of disabling a first simple rounding circuit associated with the addition pipe.
In a yet further embodiment of the present invention, the second denormal condition detection circuit is capable of disabling a second simple rounding circuit associated with the multiplication pipe.
The foregoing has outlined rather broadly the features and technical advantages of the present invention so that those skilled in the art may better understand the detailed description of the invention that follows. Additional features and advantages of the invention will be descri
Malzahn David H.
National Semiconductor Corporation
LandOfFree
System and method for efficient processing of denormal... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with System and method for efficient processing of denormal..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System and method for efficient processing of denormal... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3282738