Overflow Or Underflow Patents (Class 708/498)
  • Patent number: 11169777
    Abstract: A method and apparatus for handling overflow conditions resulting from arithmetic operations involving floating point numbers. An indication is stored as part of a thread's context indicating one of two possible modes for handling overflow conditions. In a first mode, a result of an arithmetic operation is set to the limit representable in the floating point format. In a second mode, a result of an arithmetic operation is set to a NaN.
    Type: Grant
    Filed: April 26, 2019
    Date of Patent: November 9, 2021
    Assignee: Graphcore Limited
    Inventors: Alan Graham Alexander, Edward Andrews, Stephen Felix, Mrudula Chidambar Gore
  • Patent number: 10671388
    Abstract: The embodiments herein describe handling overflow that occurs between different portions of a multi-result vector storing results from performing multiple operations in parallel. Rather than using guard bits to separate the various results in the multi-result vector, the embodiments herein describe using overflow monitors to detect and account for overflow that can occur in a multi-result vector that is passed in a chain of arithmetic units. Side band logic evaluates the LSBs in the operands for the reduced-precision operations to generate an expected value of performing the operation and compares the expected value to an actual value of the corresponding bits in the multi-result vector. If the expected and actual values match, then there was no overflow. However, if the values do not match, the side band logic updates the overflow value so that this overflow can be corrected once the final multi-result vector has been calculated.
    Type: Grant
    Filed: November 26, 2018
    Date of Patent: June 2, 2020
    Assignee: XILINX, INC.
    Inventors: Thomas B. Preusser, Thomas A. Branca
  • Patent number: 10228910
    Abstract: A circuit is provided which includes arithmetic computation logic configured to add or subtract operands of variable length to produce a result in a sign-magnitude data format. The circuit also includes an overflow detector to provide an overflow signal indicative of whether the result fits within a specified result length l. The overflow detector operates on the operands prior to the arithmetic computation logic producing the result to determine, independent of the result produced by the arithmetic computation logic, whether the result fits within the specified result length l.
    Type: Grant
    Filed: May 1, 2018
    Date of Patent: March 12, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Petra Leber, Cedric Lichtenau, Silvia M. Mueller
  • Patent number: 10228939
    Abstract: Embodiments of a processing pipeline for converting numbers formatted in a machine independent format to a machine compatible format are disclosed. In response to execution of a conversion instruction, the processing pipeline may convert each digit of a number in a machine independent format number to generate converted digits. Using the converted digits, the processing pipeline may generate multiple intermediate products. The processing pipeline may then combine the intermediate products to generate a result number that is formatted with a machine compatible format.
    Type: Grant
    Filed: December 14, 2016
    Date of Patent: March 12, 2019
    Assignee: Oracle International Corporation
    Inventors: Jeffrey S. Brooks, Austin Lee
  • Patent number: 10157059
    Abstract: A processor for floating point underflow detection includes circuitry to decode a first instruction and a floating point unit. The decoded instruction, when executed by the processor, may be for performing a fused multiply-add (FMA) operation. The floating point unit includes circuitry to determine a non-normalized result of the first instruction based on a first input, a second input, and a third input. The floating point unit further includes circuitry to determine whether underflow exists in the non-normalized result based on a first exponent of the first input, a second exponent of the second input, and a third exponent of the third input.
    Type: Grant
    Filed: September 29, 2016
    Date of Patent: December 18, 2018
    Assignee: Intel Corporation
    Inventors: Simon Rubanovich, Thierry Pons, Zeev Sperber, Amit Gradstein
  • Patent number: 9823897
    Abstract: An apparatus and method for floating-point multiplication are provided. Two partial products are generated from two operand significands. An unbiased result exponent is determined from operand exponent values and leading zero counts, and a shift amount and direction for a product significand as needed for a predetermined minimum exponent value of a predetermined canonical format. First and second rounding values for injection into addition of the partial products are generated by shifting a predetermined rounding pattern by the shift amount in an opposite shift direction for the first rounding value and left shifting by one bit the first rounding value to give the second. The first and second partial products are added together with the first rounding value to give a first product significand, and are added together with the second rounding value to give a second product significand.
    Type: Grant
    Filed: September 25, 2015
    Date of Patent: November 21, 2017
    Assignee: ARM Limited
    Inventor: David Raymond Lutz
  • Patent number: 9087398
    Abstract: Methods of compressing (and decompressing) bounding box data and a processor incorporating one or more of the methods. In one embodiment, a method of compressing such data includes: (1) generating dimension-specific multiplicands and a floating-point shared scale multiplier from floating-point numbers representing extents of the bounding box and (2) substituting portions of floating-point numbers representing a reference point of the bounding box with the dimension-specific multiplicands to yield floating-point packed boundary box descriptors, the floating-point shared scale multiplier and the floating-point packed boundary box descriptors together constituting compressed bounding box data.
    Type: Grant
    Filed: December 6, 2012
    Date of Patent: July 21, 2015
    Assignee: NVIDIA CORPORATION
    Inventor: Andrei Pokrovsky
  • Patent number: 8984042
    Abstract: A technique is provided for performing a mixed precision estimate. A processing circuit receives an input of a first precision having a wide precision value. The processing circuit computes an output in an output exponent range corresponding to a narrow precision value based on the input having the wide precision value.
    Type: Grant
    Filed: February 9, 2012
    Date of Patent: March 17, 2015
    Assignee: International Business Machines Corporation
    Inventors: Michael K. Gschwind, Valentina Salapura
  • Publication number: 20150067010
    Abstract: An integrated circuit is provided that performs floating-point addition or subtraction operations involving at least three floating-point numbers. The floating-point numbers are pre-processed by dynamically extending the number of mantissa bits, determining the floating-point number with the biggest exponent, and shifting the mantissa of the other floating-point numbers to the right. Each extended mantissa has at least twice the number of bits of the mantissa entering the floating-point operation. The exact bit extension is dependent on the number of floating-point numbers to be added. The mantissas of all floating-point numbers with an exponent smaller than the biggest exponent are shifted to the right. The number of right shift bits is dependent on the difference between the biggest exponent and the respective floating-point exponent.
    Type: Application
    Filed: September 5, 2013
    Publication date: March 5, 2015
    Applicant: Altera Corporation
    Inventor: Tomasz Czajkowski
  • Patent number: 8805914
    Abstract: There is provided a method of processing an iterative computation on a computing device comprising at least one processor. Embodiments of the method comprises performing, on a processor, an iterative calculation on data in a fixed point numerical format having a scaling factor, wherein the scaling factor is selectively variable for different steps of said calculation in order to prevent overflow and to minimize underflow. By providing such a method, the reliability, precision and flexibility of floating point operations can be achieved whilst using fixed point processing logic. The errors which fixed-point units are usually prone to generate if the range limits are exceeded can be mitigated, whilst still providing the advantage of a significantly reduced logic area to perform the calculations in fixed point.
    Type: Grant
    Filed: June 2, 2010
    Date of Patent: August 12, 2014
    Assignee: Maxeler Technologies Ltd.
    Inventors: Oliver Pell, James Huggett
  • Patent number: 8788549
    Abstract: A system for computing a block floating point scaling factor by detecting a dynamic range of an input signal in a central processing unit without additional overhead cycles is provided. The system includes a dynamic range monitoring unit that detects the dynamic range of the input signal by snooping outgoing write data and incoming memory read data of the input signal. The dynamic range monitoring unit includes a running maximum count unit that stores a least value of a count of leading zeros and leading ones, and a running minimum count that stores a least value of the count of trailing zeros. The dynamic range is detected based on the least value of the count of leading zeros and leading ones and the count of trailing zeros. The system further includes a scaling factor computation module that computes the block floating point (BFP) scaling factor based on the dynamic range.
    Type: Grant
    Filed: May 2, 2012
    Date of Patent: July 22, 2014
    Assignee: Saankhya Labs Private Limited
    Inventors: Gururaj Padaki, Anindya Saha, Parag Naik, Vishwakumara Kayargadde, Sunil Hr
  • Patent number: 8732226
    Abstract: Systems, methods, processors, media, and other embodiments associated with integer rounding a floating point number in one micro-operation (uop) are described. One system embodiment includes a memory to store an integer rounding floating point instruction and a processor to perform the integer rounding floating point instruction. The processor may include a floating point unit that includes circuits and/or logics that integer round the floating point number.
    Type: Grant
    Filed: June 6, 2006
    Date of Patent: May 20, 2014
    Assignee: Intel Corporation
    Inventors: Mohammad Abdallah, Chad D. Hancock, Kwok W. Lui
  • Patent number: 8650238
    Abstract: In a digital system with more than one clock source, lack of synchronization between the clock sources may cause overflow or underflow in sample buffers, also called sample slipping. Sample slipping may lead to undesirable artifacts in the processed signal due to discontinuities introduced by the addition or removal of extra samples. To smooth out discontinuities caused by sample slipping, samples are filtered to when a buffer overflow condition occurs, and the samples are interpolated to produce additional samples when a buffer underflow condition occurs. The interpolated samples may also be filtered. The filtering and interpolation operations can be readily implemented without adding significant burden to the computational complexity of a real-time digital system.
    Type: Grant
    Filed: November 28, 2007
    Date of Patent: February 11, 2014
    Assignee: QUALCOMM Incorporated
    Inventors: Dinesh Ramakrishnan, Song Wang, Eddie L. T. Choy, Samir Kumar Gupta
  • Patent number: 8370409
    Abstract: A method for operand width reduction is described, wherein two N-bit input operands (A, B) of a bit width of N are processed and two M-bit output operands (A?, B?) of a reduced bit width of M are generated in a way, that a post-processing comprising an M-bit adder function followed by saturation to M bits performed on said two M-bit output operands (A?, B?) provides an M-bit result equal to an M-bit result of an N-bit modulo adder function of the two N-bit input operands (A, B), followed by a saturation to M bits. Further an electronic computing circuit (1, 5) is described performing said method. Additionally a computer system comprising such an electronic computing circuit is described.
    Type: Grant
    Filed: February 11, 2008
    Date of Patent: February 5, 2013
    Assignee: International Business Machines Corporation
    Inventors: Tobias Gemmeke, Nicolas Maeding, Jochen Preiss
  • Patent number: 8352531
    Abstract: The forcing of the result or output of a rounder portion of a floating point processor occurs only in a fraction non-increment data path within the rounder and not in the fraction increment data path within the rounder. The fraction forcing is active on a corner case such as a disabled overflow exception. A disabled overflow exception may be detected by inspecting the normalized exponent. If a disabled overflow exception is detected, the round mode is selected to execute only in the non-increment data path thereby preventing the fraction increment data path from being selected.
    Type: Grant
    Filed: July 22, 2008
    Date of Patent: January 8, 2013
    Assignee: International Business Machines Corporation
    Inventors: Maarten J. Boersma, J. Adam Butts, Silvia Melitta Mueller, Jochen Preiss
  • Patent number: 8291003
    Abstract: In a binary floating point processor, the exponents of each of the various types of operands are recoded into an internal format, by biasing the exponents with the minimum exponent value of the result precision (“Emin”), i.e., the recoded value of the exponent is the represented value of the exponent minus Emin. Emin depends only on the result precision of the instruction that is currently being executed in the binary floating point processor. The exponent computations are then performed in this new format. The underflow check for all result precisions is a check against zero and overflow checks are performed against a positive number that depends on the result precision. The exponent values are in a 2's complement representation, so the underflow check simply becomes a check of the sign bit.
    Type: Grant
    Filed: September 9, 2008
    Date of Patent: October 16, 2012
    Assignee: International Business Machines Corporation
    Inventors: Maarten J. Boersma, K. Michael Kroener, Petra Leber, Silvia M. Mueller, Jochen Preiss, Kerstin Schelm
  • Patent number: 8280939
    Abstract: A computer-implemented method performs an operation on a set of at least one BFP operands to generate a BFP result. The method is designed to reduce the risks of overflow and loss of accuracy attributable to the operation. The method performs an analysis to determine respective shift values for each of the operands and the result. The method calculates result mantissas by shifting the stored bit patterns representing the corresponding operand mantissa values by their respective associated shift values determined in the analysis step, performing the operation on shifted operand mantissas to generate preliminary result mantissa, and shifting the preliminary result mantissas by a number of bits determined in the analysis step.
    Type: Grant
    Filed: May 22, 2008
    Date of Patent: October 2, 2012
    Assignee: VideoIQ, Inc.
    Inventors: Igor Reyzin, Aleksey Lipchin
  • Patent number: 8126954
    Abstract: Methods and systems for detecting underflow in a floating-point operation are disclosed. In accordance with an example disclosed method a plurality of comparator circuits and a plurality of logic devices coupled to the plurality of comparator circuits are operated to determine whether performing a floating-point operation using a floating-point hardware unit will generate an underflow condition. The operating of the plurality of comparator circuits and the logic devices involves inputting a multiply-add operation result value to at least some of the plurality of comparator circuits. In addition, a plurality of logic outputs are outputted via the plurality of logic devices. The plurality of logic outputs are indicative of comparison operations performed by at least some of the comparator circuits based on the multiply-add operation result value. An underflow indicator is outputted based on the plurality of logic outputs.
    Type: Grant
    Filed: July 31, 2009
    Date of Patent: February 28, 2012
    Assignee: Intel Corporation
    Inventor: Marius A. Cornea-Hasegan
  • Patent number: 8015231
    Abstract: A data processing apparatus and method includes multiplier logic operable to multiply the first and second n-bit significands to produce a pair of 2n-bit vectors. Half adder logic is arranged to produce a plurality of carry and sum bits representing a corresponding plurality of most significant bits of the pair of 2n-bit vectors. The first adder logic then performs a first sum operation with a first rounded result and a second adder logic performs a second sum operation with a second rounded result. The required n-bit result is then derived from either the first rounded result or the second rounded result. The data processing apparatus takes advantage of a property of the half adder form to enable a rounding increment value to be injected prior to performance of the first and second sum operations without requiring full adders to be used to inject the rounding increment value.
    Type: Grant
    Filed: November 30, 2004
    Date of Patent: September 6, 2011
    Assignee: ARM Limited
    Inventors: David Raymond Lutz, Christopher Neal Hinds
  • Patent number: 7962729
    Abstract: Software defects (e.g., array access out of bounds, stack overflow, infinite loops, and data corruption) occur due to integer values falling outside their expected range. Because programming languages do not include range-checking instructions as part of their language, to detect software defects and ensure that the code runs smoothly, programmers generally use 1) runtime assertions and/or 2) sub-range data types. However, these techniques cause additional conditional branches, incur additional overhead, and decrease processor performance. Processors comprising a range checking hardware feature supported by machine instructions for runtime integer range checking can eliminate the conditional branches generated during runtime integer range checks. Programming language extensions for the range checking hardware can allow dynamic range bounds to be defined during runtime without decreasing the processor's performance. This can allow for easier programming and code that is easier to maintain.
    Type: Grant
    Filed: January 5, 2009
    Date of Patent: June 14, 2011
    Assignee: International Business Machines Corporation
    Inventor: Jose G. Rivera
  • Publication number: 20110040816
    Abstract: The present invention provides a solution to the shortcomings of the traditional two's complement system that is commonly utilized in modern computing systems and digital signal processors for calculating harmonic analysis using a discrete time-frequency transform. In the negative two's complement processor a n-bit number, A, has a sign bit, an?1, and n?1 fractional bits, an?2, an?3, . . . , a0. The value of an n-bit fractional negative two's complement number is: A = a n - 1 + ? i = 0 n - 2 ? - a i ? 2 i - n + 1 .
    Type: Application
    Filed: October 20, 2010
    Publication date: February 17, 2011
    Inventor: Earl Eugene Swartzlander, JR.
  • Publication number: 20100250635
    Abstract: Intended is to reduce power consumption without requiring shift of an operand. A vector multiplication processing device comprising a speed-up circuit (a fixed point overflow foresight circuit 5 and a sticky bit foresight circuit 6) to calculate a product of a first operand and a second operand input based on a multiplication instruction, which device comprises a multiplication circuit 4 (a partial product generation circuit 41 and a partial product control circuit 42) which uses the speed-up circuit and generates a partial product of the first operand and the second operand input to suppress circuit operation in a specific range resultingly not referred to related to generation of the partial product according to the multiplication instruction and a data format.
    Type: Application
    Filed: March 24, 2010
    Publication date: September 30, 2010
    Inventor: TAKASHI OSADA
  • Publication number: 20090292754
    Abstract: Methods and systems for detecting underflow in a floating-point operation are disclosed. In accordance with an example disclosed method a plurality of comparator circuits and a plurality of logic devices coupled to the plurality of comparator circuits are operated to determine whether performing a floating-point operation using a floating-point hardware unit will generate an underflow condition. The operating of the plurality of comparator circuits and the logic devices involves inputting a multiply-add operation result value to at least some of the plurality of comparator circuits. In addition, a plurality of logic outputs are outputted via the plurality of logic devices. The plurality of logic outputs are indicative of comparison operations performed by at least some of the comparator circuits based on the multiply-add operation result value. An underflow indicator is outputted based on the plurality of logic outputs.
    Type: Application
    Filed: July 31, 2009
    Publication date: November 26, 2009
    Inventor: Marius A. Cornea-Hasegan
  • Publication number: 20090240753
    Abstract: A decimal floating point (DFP) unit is used to execute fixed point instructions. Two or more operands are accepted, wherein each operand is in a packed binary coded decimal (BCD) format. Any invalid BCD formats are detected by checking the operands for any invalid BCD codes. It is determined if an exception flag exists and, if so, outputting the flag; it is determined if a condition code exists and, if so, outputting the code. An operation is performed on the two or more operands to generate a result; wherein the operation takes place directly on BCD data, thus using the DFP unit to perform a BCD operation; appending a result sign to the result of the operation; and providing the result of the operation and the appended result sign as a result output in a packed BCD format.
    Type: Application
    Filed: March 19, 2008
    Publication date: September 24, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Steven R. Carlough, Adam B. Collura, Mark A. Erle, Wen H. Li, Eric M. Schwarz
  • Patent number: 7593977
    Abstract: A method and system for determining whether a result d of a floating-point operation on operands a, b, c is tiny (may underflow) is disclosed. In one embodiment, a prediction whether d is tiny is made in hardware, but this prediction may include false results. Operands a, b, c are scaled to a?, b?, c? and then result d? from the floating-point operation on operands a?, b?, c? is calculated. A determination whether d will actually be tiny can be determined from the value of d?. A decision may then be made to proceed with either software or hardware calculations of d.
    Type: Grant
    Filed: December 23, 2002
    Date of Patent: September 22, 2009
    Assignee: Intel Corporation
    Inventor: Marius A. Cornea-Hasegan
  • Patent number: 7373489
    Abstract: An apparatus and method for floating point exception prediction and recovery. In one embodiment, a processor may include instruction fetch logic configured to issue a first instruction from one of a plurality of threads and to successively issue a second instruction from another one of the plurality of threads. The processor may also include floating-point arithmetic logic configured to execute a floating-point instruction issued by the instruction fetch logic from a given one of the plurality of threads, and further configured to determine whether the floating-point instruction generates an exception, and may further include exception prediction logic configured to predict whether the floating-point instruction will generate the exception, where the prediction occurs before the floating-point arithmetic logic determines whether the floating-point instruction generates the exception.
    Type: Grant
    Filed: June 30, 2004
    Date of Patent: May 13, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Jeffrey S. Brooks, Paul J. Jordan, Rabin A. Sugumar
  • Patent number: 7272623
    Abstract: Methods and apparatus are disclosed for determining a floating-point exponent associated with an underflow condition or an overflow condition. The methods and apparatus determine the ‘true’ value of a floating-point exponent based on a truncated value of the floating-point exponent passed from a floating-point hardware unit to an exponent determination module when the floating-point hardware unit encounters an underflow condition or an overflow condition. The determined value of the floating-point exponent may then be passed to a floating-point software unit for additional floating-point calculations, if necessary. If the floating-point hardware unit does not encounter an underflow condition or an overflow condition, the floating-point hardware unit and/or the floating-point software unit preferably perform the floating-point operation without the assistance of the exponent determination module.
    Type: Grant
    Filed: April 8, 2002
    Date of Patent: September 18, 2007
    Assignee: Intel Corporation
    Inventor: Marius A. Cornea-Hasegan
  • Patent number: 7120661
    Abstract: An arrangement (200) and method for bit exactness support in dual-MAC architecture by detecting when underflow or overflow conditions will occur, and for operating the dual-MAC arrangement in single-MAC mode for at least one cycle upon such detection. This produces the advantages of providing dual-MAC execution with saturation capabilities, with only a small degradation in performance, while employing detection logic that is very small and simple compared to the logic required for a conventional full saturation dual-MAC architecture.
    Type: Grant
    Filed: May 29, 2003
    Date of Patent: October 10, 2006
    Assignee: Freescale Semiconductor, Inc.
    Inventors: Dror Halahmi, Yoram Salant
  • Patent number: 7103621
    Abstract: Efficient techniques for computation of texture coordinates using scaled conversion operations for a 3D graphics pipeline utilizing a scaled floating point to integer instruction and a scaled integer to floating point instruction to significantly reduce memory requirements. A parallel array VLIW digital signal processor is employed along with specialized scaled conversion instructions and communication operations between the processing elements, which are overlapped with computation to provide very high performance operation. Successive iterations of a loop of tightly packed VLIWs are used allowing the graphics pipeline hardware to be efficiently used.
    Type: Grant
    Filed: March 31, 2003
    Date of Patent: September 5, 2006
    Assignee: PTS Corporation
    Inventors: Ricardo Rodriguez, Marco Jacobs, David Strube
  • Patent number: 7047270
    Abstract: A saturating count counts received event signals up to a first predetermined number. An overflow counter counts overflows up to a second predetermined number. The counter indicates overflow when the overflow count is non-zero and saturates and stops counting at a maximum count when the overflow count reaches the second predetermined number. The counter can be read via a register read operation. The sum of the sum of the first predetermined number of bits and the second predetermined number of bits being an integral multiple of 8 bits.
    Type: Grant
    Filed: November 22, 2002
    Date of Patent: May 16, 2006
    Assignee: Texas Instruments Incorporated
    Inventors: Manisha Agarwala, John M. Johnsen, Lewis Nardini
  • Patent number: 6993549
    Abstract: An extended exponent floating point unit performs an extended exponent floating point operation on a plurality of operands to produce a product of the plurality of operands. The extended exponent floating point unit groups the plurality of operands into at least one group, determines a plurality of scale factors for the plurality of operands, respectively, and provides a running sum of the plurality of scale factors. The extended exponent floating point unit further scales the plurality of operands to obtain a plurality of scaled operands, multiplies the plurality of scaled operands to obtain a group product, and scales the group product to obtain a scaled group product. The scaled group product is adjusted based on the running sum. The plurality of operands are grouped such that when all the plurality of scaled operands in the at least one group are multiplied an overflow or underflow will not occur.
    Type: Grant
    Filed: December 28, 2001
    Date of Patent: January 31, 2006
    Assignee: Sun Microsystems, Inc.
    Inventor: Guy L. Steele, Jr.
  • Patent number: 6993545
    Abstract: A digital filter having the capability to completely prevent the digital filter from generating the overflow oscillation by detecting positive and negative overflow propagating one or a plurality of bits by means of an overflow detecting circuit. When overflow is detected, a clipping circuit serves to fix the output signal to a positive maximum value or a negative maximum value.
    Type: Grant
    Filed: September 25, 2001
    Date of Patent: January 31, 2006
    Assignee: Kabushiki Kaisha Toshiba
    Inventor: Mikio Shiraishi
  • Patent number: 6963894
    Abstract: Methods and apparatus for predicting an underflow condition associated with a floating-point multiply-add operation are disclosed. Preferably, the prediction is “pessimistic” in that it predicts that an underflow condition will result in all situations where an underflow condition might result. However, the methods and apparatus may also predict that an underflow condition might result in some situations where an underflow condition will not result. If an underflow condition is predicted, the floating-point multiply-add operation is preferably performed by a software routine capable of handling the underflow condition. If an underflow condition is not predicted, the floating-point multiply-add operation is preferably performed by a hardware circuit to increase speed and reduce computational overhead.
    Type: Grant
    Filed: April 8, 2002
    Date of Patent: November 8, 2005
    Assignee: Intel Corporation
    Inventor: Marius A. Cornea-Hasegan
  • Patent number: 6947962
    Abstract: An algorithm and implementation is described of overflow prediction for addition without the use of an expensive addition operation. This overflow prediction is particularly applicable to the implementation of addition operation using the carry-save format in high speed arithmetic units.
    Type: Grant
    Filed: January 24, 2002
    Date of Patent: September 20, 2005
    Assignee: Intel Corporation
    Inventor: Yatin Hoskote
  • Publication number: 20040225703
    Abstract: A multiply-accumulate circuit includes a compressor tree to generate a product with a binary exponent and a mantissa in carry-save format. The product is converted into a number having a three bit exponent and a fifty-seven bit mantissa in carry-save format for accumulation. An adder circuit accumulates the converted products in carry-save format. Because the products being summed are in carry-save format, post-normalization is avoided within the adder feedback loop. The adder operates on floating point number representations having exponents with a least significant bit weight of thirty-two, and exponent comparisons within the adder exponent path are limited in size. Variable shifters are avoided in the adder mantissa path. A single mantissa shift of thirty-two bits is provided by a conditional shifter.
    Type: Application
    Filed: June 14, 2004
    Publication date: November 11, 2004
    Applicant: Intel Corporation
    Inventor: Amaresh Pangal
  • Patent number: 6714957
    Abstract: There is disclosed a denormal handling circuit for use in a pipelined floating point unit containing an addition pipe and/or a multiplication pipe. The denormal result handling circuit comprises a denormal condition detection circuit associated with at the addition pipe and/or the multiplication pipe for examining a first operand and a second operand loaded into the addition pipe and/or the multiplication pipe and detecting a potential denormal condition. The denormal condition indicates that a calculated result generated from the first and second operands may be a denormal result. The denormal condition detection circuit, in response to detection of a potential denormal condition, prevents an additional operation from being loaded into the addition pipe and/or the multiplication pipe.
    Type: Grant
    Filed: January 4, 2000
    Date of Patent: March 30, 2004
    Assignee: National Semiconductor Corporation
    Inventor: Jeffrey A. Lohman
  • Publication number: 20040059769
    Abstract: Methods and apparatus for predicting an underflow condition associated with a floating-point multiply-add operation are disclosed. Preferably, the prediction is “pessimistic” in that it predicts that an underflow condition will result in all situations where an underflow condition might result. However, the methods and apparatus may also predict that an underflow condition might result in some situations where an underflow condition will not result. If an underflow condition is predicted, the floating-point multiply-add operation is preferably performed by a software routine capable of handling the underflow condition. If an underflow condition is not predicted, the floating-point multiply-add operation is preferably performed by a hardware circuit to increase speed and reduce computational overhead.
    Type: Application
    Filed: April 8, 2002
    Publication date: March 25, 2004
    Inventor: Marius A. Cornea-Hasegan
  • Patent number: 6687898
    Abstract: A method for arithmetic expression optimization includes receiving a first instruction defined for a first processor having a first base, the first instruction including an operator and at least one operand, converting the first instruction to a second instruction optimized for a second processor having a second base when all operands do not carry potential overflow or when the operator is insensitive to overflow, the second base being smaller than the first base, and converting to a wider base a third instruction that is the source of the overflow when the at least one operand the potential for overflow and when the operator is sensitive to overflow.
    Type: Grant
    Filed: November 1, 2001
    Date of Patent: February 3, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Zhiqun Chen, Judith E. Schwabe
  • Patent number: 6633895
    Abstract: An apparatus and method provide for performing either an overflow or underflow comparison while minimizing overflow/underflow comparison circuitry. In particular, the apparatus and are implemented with overflow/underflow possible check circuitry that determines if a mathematical operation between a first exponent signal and a second exponent signal creates a potential overflow condition. The overflow/underflow possible check circuitry generates a signal indicating whether an overflow or underflow condition is a possibility. Exponent compare circuitry computes an actual overflow or underflow condition. The exponent compare circuitry computes an actual overflow condition if the signal, from the overflow/underflow possible check circuitry, indicates that overflow is possible, and computes an actual underflow condition if the signal, from the overflow/underflow possible check circuitry, does not indicate overflow is possible.
    Type: Grant
    Filed: February 22, 2000
    Date of Patent: October 14, 2003
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Stephen L Bass, Ravi G. Koshy
  • Publication number: 20030191787
    Abstract: Methods and apparatus are disclosed for determining a floating-point exponent associated with an underflow condition or an overflow condition. The methods and apparatus determine the ‘true’ value of a floating-point exponent based on a truncated value of the floating-point exponent passed from a floating-point hardware unit to an exponent determination module when the floating-point hardware unit encounters an underflow condition or an overflow condition. The determined value of the floating-point exponent may then be passed to a floating-point software unit for additional floating-point calculations, if necessary. If the floating-point hardware unit does not encounter an underflow condition or an overflow condition, the floating-point hardware unit and/or the floating-point software unit preferably perform the floating-point operation without the assistance of the exponent determination module.
    Type: Application
    Filed: April 8, 2002
    Publication date: October 9, 2003
    Inventor: Marius A. Cornea-Hasegan
  • Patent number: 6631392
    Abstract: A method and apparatus predict whether an overflow or underflow floating-point exception could occur as a result of a data processing system performing a particular floating-point operation. Predictions are made based on at least one overflow threshold value, at least first and second underflow threshold values, and a preliminary result exponent value derived from the values of the exponents of the floating-point numbers that are about to be acted upon. The preliminary result exponent is compared to an overflow or underflow threshold value in order to predict whether there is a possibility that an overflow or underflow floating-point exception could occur. Overflow and underflow exceptions are predicted and an exception prediction signal is generated. The exception prediction signals that are generated may be used by data processing system control units, for example, to temporarily halt any parallel processing operations that may be affected by an overflow or underflow floating-point exception.
    Type: Grant
    Filed: July 30, 1999
    Date of Patent: October 7, 2003
    Assignee: MIPS Technologies, Inc.
    Inventors: XingYu Jiang, Ying-wai Ho, John L. Kelley
  • Patent number: 6571265
    Abstract: A mechanism is disclosed for detecting underflow conditions for speculative floating-point operations. A floating-point status register includes a status flag which is set when a result generated by a floating-point instruction is “tiny”. The status flag is cleared, all exceptions are masked, and the instruction is executed speculatively. The “tiny” exception flag is read to determine whether the speculatively executed instruction should raise an unmasked underflow exception. The exception may be raised if the processor reaches a point of registration associated with the instruction. The exception may be ignored if this point is not reached.
    Type: Grant
    Filed: October 29, 1999
    Date of Patent: May 27, 2003
    Assignee: Intel Corporation
    Inventor: Shane Story
  • Patent number: 6535900
    Abstract: A processor made up of a computation unit, an accumulator unit, a saturation determination unit and a saturation unit. The computation unit operates on one or more operands of W bits. The accumulator unit stores the output of the computation unit, in W bits. The saturation determination unit detects overflow in parallel with latching of the output of the computation unit. Overflow occurs when the operand latched by the accumulator represents a number having more than A significant bits, where A is less than W. The saturation unit provides saturation operands to the computation unit when the operand latched in the accumulator unit represents a number having more than A significant bits. Furthermore, the processor has saturation operands of either (+2A−1−1) or −2A−1. A method for using the processor is also disclosed.
    Type: Grant
    Filed: September 8, 1999
    Date of Patent: March 18, 2003
    Assignee: DSP Group Ltd.
    Inventors: Ronen Perets, Yael Gross, Moshe Sheier
  • Patent number: 6529930
    Abstract: Methods and apparatus for performing signed saturation of binary numbers to arbitrary powers of two are described. Given an n-bit signed binary word, the methods and apparatus of the present invention perform a signed saturation to k-bits where the value of k can vary such that 1<k<n. Through the use of hardware circuits of the present invention the signed saturation operation is implemented in a more efficient manner than software implementations which utilize multiple compare operations. The signed saturation circuits of the present invention can be incorporated into processors, e.g., CPUs, to provide a hardware implementation within a CPU for a signed saturation processor instruction, e.g., either a SISD OR SIMD saturation command or instruction. The signed saturation circuits can accept the data value upon which the operation is to be performed, and, optionally, a value k indicating the number of bits to which individual data value are to be saturated.
    Type: Grant
    Filed: September 9, 1999
    Date of Patent: March 4, 2003
    Assignee: Hitachi America, Ltd.
    Inventors: Sharif Mohammad Sazzad, Michael A. Plotnick
  • Publication number: 20020194239
    Abstract: A multiply-accumulate circuit includes a compressor tree to generate a product with a binary exponent and a mantissa in carry-save format. The product is converted into a number having a three bit exponent and a fifty-seven bit mantissa in carry-save format for accumulation. An adder circuit accumulates the converted products in carry-save format. Because the products being summed are in carry-save format, post-normalization is avoided within the adder feedback loop. The adder operates on floating point number representations having exponents with a least significant bit weight of thirty-two, and exponent comparisons within the adder exponent path are limited in size. Variable shifters are avoided in the adder mantissa path. A single mantissa shift of thirty-two bits is provided by a conditional shifter.
    Type: Application
    Filed: June 4, 2001
    Publication date: December 19, 2002
    Applicant: Intel Corporation
    Inventor: Amaresh Pangal
  • Patent number: 6490607
    Abstract: A multiplier configured to perform multiplication of both scalar floating point values (X×Y) and packed floating point values (i.e., X1×Y1 and X2×Y2). In addition, the multiplier may be configured to calculate X×Y−Z. The multiplier comprises selection logic for selecting source operands, a partial product generator, an adder tree, and two or more adders configured to sum the results from the adder tree to achieve a final result. The multiplier may also be configured to perform iterative multiplication operations to implement such arithmetical operations such as division and square root. The multiplier may be configured to generate two versions of the final result, one assuming there is an overflow, and another assuming there is not an overflow. A computer system and method for performing multiplication are also disclosed.
    Type: Grant
    Filed: October 12, 1999
    Date of Patent: December 3, 2002
    Assignee: Advanced Micro Devices, Inc.
    Inventor: Stuart F. Oberman
  • Patent number: 6484251
    Abstract: A processor including a register, an execution unit, a temporary result buffer, and a commit function circuit. The register includes at least one register bit and may include one or more sticky bits. The execution unit is suitable for executing a set of computer instructions. The temporary result buffer is configured to receive, from the execution unit, register bit modification information provided by the instructions. The temporary result buffer is suitable for storing the modification information in set/clear pairs of bits corresponding to respective register bits of the register. The commit function circuit is configured to receive the set/clear pairs of bits from the temporary result buffer when the instruction is committed. The commit function circuit is suitable for generating an updated bit in response to receiving the set/clear pairs of bits. The updated bit is then committed to the corresponding register bit of the register.
    Type: Grant
    Filed: October 14, 1999
    Date of Patent: November 19, 2002
    Assignee: International Business Machines Corporation
    Inventors: Robert Greg McDonald, Peichun Peter Liu, Christopher Hans Olson
  • Patent number: 6411978
    Abstract: A processor for performing a block floating point Fast Fourier Transform having improved signal to quantization noise ratio performance. In the radix-2 Decimation In Time algorithm, overflow between stages is prevented by a scale down by two invoked by comparison with a fixed comparison constant. Unfortunately, the fixed comparison constant is not always optimum for maximizing the signal to quantization noise ratio, which is degraded by excessive scale down. Moreover, current mechanisms are limited to the radix-2 block floating point FFT. The processor of the present invention provides the programmer with a FFT compare register which is loadable under program control, thus allowing the programmer to adjust the threshold at which scale down of the stage output is activated for better control over the signal to quantization noise ratio. In addition, the present invention supports other FFT structures besides the radix-2 block floating point FFT.
    Type: Grant
    Filed: May 26, 1999
    Date of Patent: June 25, 2002
    Assignee: Infineon Technologies Ag I. Gr.
    Inventors: Gil Naveh, Eran Weingarten, Haim Granot
  • Patent number: 6408379
    Abstract: An apparatus and method for executing floating-point store instructions in a microprocessor is provided. If store data of a floating-point store instruction corresponds to a tiny number and an underflow exception is masked, then a trap routine can be executed to generate corrected store data and complete the store operation. In response to detecting that store data corresponds to a tiny number and the underflow exception is masked, the store data, store address information, and opcode information can be stored prior to initiating the trap routine. The trap routine can be configured to access the store data, store address information, and opcode information. The trap routine can be configured to generate corrected store data and complete the store operation using the store data, store address information, and opcode information.
    Type: Grant
    Filed: June 10, 1999
    Date of Patent: June 18, 2002
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Norbert Juffa, Stephan Meier, Stuart Oberman, Scott White
  • Patent number: 6243731
    Abstract: An apparatus for extending register dynamic range on a processor is disclosed. The apparatus comprises a register (102) for performing a set of processor (100) operations. The apparatus further comprises a counter (104) on the processor (100) having a value. During the set of operations, the processor (100) increments the value when positive overflow occurs on the register (102) and decrements the value when negative overflow occurs on the register (102). Upon completion of the set of operations, the processor (100) saturates the register (102) with a positive value when the value is greater than zero, and with a negative value when the value is less than zero. Further, a method for extending register dynamic range on a processor is disclosed. The method comprises performing a set of processor (100) operations in a register (102). The method further comprises incrementing a value in counter (104) during the set of operations when positive overflow occurs on the register (102).
    Type: Grant
    Filed: December 30, 1998
    Date of Patent: June 5, 2001
    Assignee: Texas Instruments Incorporated
    Inventor: Alexander Tessarolo