Floating Point Patents (Class 708/495)
  • Publication number: 20020178198
    Abstract: A floating point comparator circuit for comparing a plurality of floating point operands includes a plurality of analysis circuits, one for each of the floating point operands, configured to determine a format of each of the floating point operands based upon floating point status information encoded within each of the floating point operands, and a result generator circuit coupled to the analysis circuits, the result generator circuit configured to generate a result signal based on the format determined by each analysis circuit and based on a comparative relationship among the floating point operands. The format of each of the floating point operands may be from a group comprising: not-a-number (NaN), infinity, normalized, denormalized, zero, invalid operation, overflow, underflow, division by zero, exact, and inexact.
    Type: Application
    Filed: December 28, 2001
    Publication date: November 28, 2002
    Applicant: Sun Microsystems, Inc.
    Inventor: Guy L. Steele
  • Publication number: 20020178201
    Abstract: A method and system determine a high part of a floating point operand. Exponent field bits and fraction field bits of a result are set to a zero if the determined format is an infinity format or an overflow format. The exponent field bits and the fraction field bits of the result are set to corresponding exponent field bits and corresponding fraction field bits of the floating point operand if the determined format is a not-a-number (NaN) format. At least one of the fraction field bits of the result is adaptively cleared if the determined format is a denormalized format or a delimited format.
    Type: Application
    Filed: December 28, 2001
    Publication date: November 28, 2002
    Applicant: Sun Microsystems, Inc.
    Inventor: Guy L. Steele
  • Publication number: 20020178197
    Abstract: A logarithm unit computes an integer part of a logarithm of a floating point operand according to an embodiment of the present invention. The logarithm unit analyzes a format of the floating point operand and generates at least one signal representative of the format. The logarithm unit determines a magnitude of an unbiased exponent of the floating point operand as an intermediate result based on the at least one signal, wherein the unbiased exponent is represented by unbiased exponent bits. Still further, the logarithm unit determines an exponent field and a fraction field high part of the intermediate result.
    Type: Application
    Filed: December 28, 2001
    Publication date: November 28, 2002
    Applicant: Sun Microsystems, Inc.
    Inventor: Guy L. Steele
  • Publication number: 20020178204
    Abstract: An embodiment of the invention is a floating point flag combining or accumulating circuit comprising an analysis circuit that receives a plurality of floating point operands, each having encoded status flag information, and a result assembler. The analysis circuit analyzes the plurality of floating point operands and provides an indication of one or more predetermined formats in which the plurality of floating point operands are represented. The result assembler receives the indication from the analysis circuit and assembles an accumulated result that represents a value and combines the encoded status flag information from at least two of the plurality of floating point operands.
    Type: Application
    Filed: December 28, 2001
    Publication date: November 28, 2002
    Applicant: Sun Microsystems, Inc.
    Inventor: Guy L. Steele
  • 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
  • Publication number: 20020138539
    Abstract: An apparatus and method for determining whether two operands are less than two are disclosed. A first module generates first detection bits from a first operand and a second operand, where the first detection bits indicate a difference of zero. A second module generates second detection bits from the first and second operands, where the second detection bits indicate a difference of one. A combiner combines the first and second detection bits to determine whether the difference of two numbers is less than two. The apparatus and method is used in determining to bypass normalization in floating point calculation.
    Type: Application
    Filed: February 14, 2001
    Publication date: September 26, 2002
    Inventors: Giao Pham, Mathew J. Parker
  • Patent number: 6425074
    Abstract: A microprocessor configured to rapidly execute floating point store status word (FSTSW) type instructions that are immediately preceded by floating point compare (FCOM) type instructions is disclosed. FCOM-type instructions are modified to store their results to an architectural floating point status word and a temporary destination register. If an FSTSW-type instruction is detected immediately following an FCOM-type instruction, then the FSTSW-type instruction is transformed into a special fast floating point store status word (FSTSWEF) instruction. Unlike the FSTSW-type instruction, which is serializing and negatively impacts performance, the FSTSWEF instruction is not serializing and allows execution to continue without undue serialization. A computer system and method for rapidly executing FSTSW instructions immediately preceded by FCOM-type instructions are also disclosed.
    Type: Grant
    Filed: September 10, 1999
    Date of Patent: July 23, 2002
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Stephan G. Meier, Norbert Juffa, Frederick D. Weber, Stuart F. Oberman
  • Publication number: 20020095451
    Abstract: An embodiment of the present invention provides a computer system with a floating point unit (“FPU”) for supporting multiple floating point architectures. Multiple floating point architectures are supported by an FPU with an internal data-flow format that accommodates formats of each architecture. The system includes a format converter for converting between the internal data flow format and the architected external data types by multiplexing the exponent. The system includes a floating point unit having an internal data-flow according to an internal floating point format for performing floating point operations. The internal format has a number of exponent bits sufficient to support each of the plurality of floating point architectures and the internal format has a number of fraction bits sufficient to support each of the plurality of floating point architectures.
    Type: Application
    Filed: January 18, 2001
    Publication date: July 18, 2002
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Christopher A. Krygowski, Eric M. Schwarz
  • Patent number: 6412065
    Abstract: A portion of an x86 microprocessor that supports MMX instructions provides a write tracking unit that tracks writes to a separately provided MMX register file, and updates a status register accordingly. A write control unit uses the contents of the status register to control transfers between the MMX register file and the FP register file, so as to only copy those registers that have changed. According to another aspect of the invention, the write control unit insures that architecturally required modifications to the exponent portion of FP registers corresponding to modified MMX registers are provided.
    Type: Grant
    Filed: June 25, 1999
    Date of Patent: June 25, 2002
    Assignee: IP First, L.L.C.
    Inventor: Albert J. Loper, Jr.
  • Publication number: 20020078109
    Abstract: In a shift and shift-out detecting circuit, a plurality of partial shift circuits respectively have bit shift quantities which are different from each other, and are connected in series. Each of the plurality of partial shift circuits receives a shift result as a previous shift result from the partial shift circuit of a previous stage and a corresponding shift instruction, shifts the previous shift result by the corresponding bit shift quantity in response to the shift instruction to produce a current shift result, and outputs the current shift result to the partial shift circuit of a subsequent stage. A plurality of shift-out detecting circuits are respectively provided for the plurality of partial shift circuits. Each of the plurality of shift-out detecting circuits detects a shift-out of “1” bit from the current shift result and the corresponding shift instruction and generates a partial sticky signal when the shift-out is detected.
    Type: Application
    Filed: December 14, 2001
    Publication date: June 20, 2002
    Applicant: NEC Corporation
    Inventor: Shoichiro Sato
  • Patent number: 6397239
    Abstract: A multimedia execution unit configured to perform vectored floating point and integer instructions. The execution unit may include an add/subtract pipeline having far and close data paths. The far path is configured to handle effective addition operations and effective subtraction operations for operands having an absolute exponent difference greater than one. The close path is configured to handle effective subtraction operations for operands having an absolute exponent difference less than or equal to one. The close path is configured to generate two output values, wherein one output value is the first input operand plus an inverted version of the second input operand, while the second output value is equal to the first output value plus one. Selection of the first or second output value in the close path effectuates the round-to-nearest operation for the output of the adder.
    Type: Grant
    Filed: February 6, 2001
    Date of Patent: May 28, 2002
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Stuart F. Oberman, Norbert Juffa, Fred Weber, Krishnan Ramani, Ravi Krishna Cherukuri
  • Patent number: 6393452
    Abstract: The present invention provides a method and apparatus for performing load bypasses with data conversion in a floating-point unit. This process of reading instructions and data out of a cache memory component, of decoding the instructions, of performing the a memory-format-to-register format conversion and of writing the converted data to the register file block of a floating-point unit is known as a load operation. A load operation occurs over many cycles. In accordance with the present invention, the number of cycles required to perform a load operation has been shortened, thereby dramatically increasing the overall throughput of the floating-point unit. In accordance with the present invention, the floating-point unit performs a load bypass with conversion, which significantly shortens the load operation. Data received by the floating-point unit must be converted from a memory format into a register format.
    Type: Grant
    Filed: May 21, 1999
    Date of Patent: May 21, 2002
    Assignee: Hewlett-Packard Company
    Inventor: Preston J Renstrom
  • Publication number: 20020059354
    Abstract: A decoding rate is improved while reducing a circuit scale, in a fixed point data generating circuit. When a plurality of floating point data are inputted, for example, the maximum floating point data is detected as a reference data among the plurality of floating point data, in a MAX value detecting circuit 10. Then, in an exponent part subtractor 20, differences are obtained between the values of exponent parts of the plurality of inputted floating point data and the value of an exponent part of the maximum floating point data. Thereafter, in the shift register 30, mantissa parts of the inputted floating point data are shifted by the differences obtained in the exponent part subtractor 20, and, in a bit extracting portion 40, a predetermined number of bits of the shifted mantissa parts are extracted as fixed point data to be inputted to a Viterbi decoder.
    Type: Application
    Filed: November 9, 2001
    Publication date: May 16, 2002
    Inventor: Kenji Uchida
  • Patent number: 6388586
    Abstract: The bits comprising a computer data structure are reversed rapidly and efficiently using a combination of data partitioning and table look ups. In an exemplary embodiment, the invention is employed in the pre-processing of Advanced Configuration and Power Interface (ACPI) tables stored in little-endian format for use by a big-endian operating system.
    Type: Grant
    Filed: July 2, 2001
    Date of Patent: May 14, 2002
    Assignee: Hewlett-Packard Company
    Inventors: Matthew Fischer, Raghuram Kota, Thavatchai Makphaibulchoke, Subramanian Ramesh
  • Publication number: 20020026468
    Abstract: An exponent part extraction section extracts a bit series from the exponent part of an inputted floating point data. A mantissa part extraction section extracts the uppermost K bits from the mantissa part of the floating point data. A first conversion section inputs the output e from the exponent part extraction section and outputs the value of a function X(e) thereof. A second conversion section inputs the output f from the mantissa part extraction section and outputs the value of a function Y(f) thereof. A multiplier section multiplies together these values. By setting suitable tables in advance in the first and the second conversion sections, the calculation of the vˆ p for an item v of floating point data can be performed.
    Type: Application
    Filed: July 23, 2001
    Publication date: February 28, 2002
    Inventors: Shuji Miyasaka, Takeshi Norimatsu, Mineo Tsushima, Tomokazu Ishikawa, Yoshiaki Sawada
  • Patent number: 6327604
    Abstract: A system is disclosed for performing floating point computation in connection with numbers in a base floating point representation (such as the representation defined in IEEE Std. 754) that defines a plurality of formats, including a normalized format and a de-normalized format, using a common floating point representation that defines a unitary normalized format. The system includes a base to common representation converter, a processor and a common to base representation converter. The base to common representation converter converts numbers from the base floating point representation to the common floating point representation, so that all numbers involved in a computation will be expressed in the unitary normalized format. The processor is configured to perform a mathematical operation of at least one predetermined type in connection with the converted numbers generated by the base to common representation converter to generate a floating point result in the common representation.
    Type: Grant
    Filed: May 22, 2000
    Date of Patent: December 4, 2001
    Assignee: Sun Microsystems, Inc.
    Inventor: Guy L. Steele, Jr.
  • Patent number: 6317824
    Abstract: A method and apparatus for performing a move mask operation. The present invention provides a method and apparatus for performing operations on packed data values of a first size and format and conversion of the results to data of a second size and format by eliminating redundant data. The present invention is useful, for example, when comparisons are performed on floating point data that is typically larger (e.g., 64 bits) than integer data (e.g., 32 bits) and integer operations are preformed based on the result. Because many processors branch based on integer data, the comparison results stored as floating point data must be transferred to an integer register prior to branching. The present invention takes advantage of redundancy of the floating point comparison results to transfer enough data to convey the comparison result to integer registers with a single instruction.
    Type: Grant
    Filed: March 27, 1998
    Date of Patent: November 13, 2001
    Assignee: Intel Corporation
    Inventors: Shreekant S. Thakkar, Wayne H. Scott, Patrice Roussel
  • Patent number: 6301594
    Abstract: A method and circuit for adjusting an exponent of an unnormalized floating-point number to generate an exponent of a normalized floating-point number. The method includes the steps of: (1) generating a shift count indicating the number of bit positions, if any, a mantissa of an unnormalized floating-point number is to be left shifted to normalize the unnormalized floating-point number, (2) generating a right shift indicator indicating the number of bit positions, if any, the mantissa is to be right shifted to normalize the unnormalized floating-point number, (3) incrementing the value of an exponent of the unnormalized floating-point number, (4) concurrently with the incrementing step, complementing a plurality of bits of the shift count and (5) adding the exponent, the shift count and the right shift indicator to generate an exponent of a normalized floating-point number. The method and circuit may be implemented in a floating-point adder.
    Type: Grant
    Filed: March 11, 1999
    Date of Patent: October 9, 2001
    Assignee: Sun Microsystems, Inc.
    Inventor: Sadar U. Ahmed
  • Patent number: 6298367
    Abstract: A multimedia execution unit configured to perform vectored floating point and integer instructions. The execution unit may include an add/subtract pipeline having far and close data paths. The far path is configured to handle effective addition operations and effective subtraction operations for operands having an absolute exponent difference greater than one. The close path is configured to handle effective subtraction operations for operands having an absolute exponent difference less than or equal to one. The close path is configured to generate two output values, wherein one output value is the first input operand plus an inverted version of the second input operand, while the second output value is equal to the first output value plus one. Selection of the first or second output value in the close path effectuates the round-to-nearest operation for the output of the adder.
    Type: Grant
    Filed: April 6, 1998
    Date of Patent: October 2, 2001
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Stuart F. Oberman, Norbert Juffa, Fred Weber, Krishnan Ramani, Ravi Krishna
  • Patent number: 6298365
    Abstract: The invention relates to a method of using a “bounds” comparator scheme and to a “bounds” comparator circuit. The method of using this scheme or comparator circuit allows a quick and easy test to characterize, utilizing a single floating-point bounds comparison function, the location of a point with respect to pre-defined end- points. The single floating-point bounds comparison function represents an additional instruction to be incorporated within computer instruction set architectures when performing trivial acceptance testing during the generation of three-dimensional images or graphics.
    Type: Grant
    Filed: February 24, 1999
    Date of Patent: October 2, 2001
    Assignee: International Business Machines Corporation
    Inventors: Pradeep Kumar Dubey, Brett Olsson, Ronald Ray Hochsprung, Hunter Ledbetter Scales, III, Keith Everett Diefendorff
  • Patent number: 6289365
    Abstract: A system is disclosed for performing floating point computation in connection with numbers in a base floating point representation (such as the representation defined in IEEE Std. 754) that defines a plurality of formats, including a normalized format and a de-normalized format, using a common floating point representation that defines a unitary normalized format. The system includes a base to common representation converter, a processor and a common to base representation converter. The base to common representation converter converts numbers from the base floating point representation to the common floating point representation, so that all numbers involved in a computation will be expressed in the unitary normalized format. The processor is configured to perform a mathematical operation of at least one predetermined type in connection with the converted numbers generated by the base to common representation converter to generate a floating point result in the common representation.
    Type: Grant
    Filed: December 9, 1997
    Date of Patent: September 11, 2001
    Assignee: Sun Microsystems, Inc.
    Inventor: Guy L. Steele, Jr.
  • Patent number: 6282554
    Abstract: A floating point arithmetic apparatus for converting numbers between an integer format and a floating point format, wherein a conversion operation requires a greater data path width than a conversion operation. The apparatus comprises right shift circuitry that receives a number in the floating point format, wherein the right shift circuitry includes additional register positions to accommodate a shift beyond a data path width required by an arithmetic operation.
    Type: Grant
    Filed: April 30, 1998
    Date of Patent: August 28, 2001
    Assignee: Intel Corporation
    Inventors: Mohammad A. Abdallah, Prasad Modali
  • Publication number: 20010011291
    Abstract: A data processor includes an arithmetic portion incorporated in a floating point unit, in which the arithmetic portion includes a plurality of multipliers supplied mantissa part of floating point number from respectively different data input signal line group and performing mutual multiplication of supplied mantissa parts, an aligner receiving outputs of respective multipliers and performing alignment shift, an exponent processing portion for generating number of alignment shift of the aligner and an exponent before normalization on the basis of generation an exponent part of the floating point number, a multi-input adder and the exponent before normalization, reducing scale of the circuit and performing inner product operation and the like with the floating point numbers in high speed and high accuracy.
    Type: Application
    Filed: March 19, 2001
    Publication date: August 2, 2001
    Inventors: Fumio Arakawa, Norio Nakagawa, Tetsuya Yamada, Yonetaro Totsuka
  • Publication number: 20010005808
    Abstract: An engine control ECU includes a microcomputer, which includes CPU, RAM, ROM, FPU and I/O. The FPU performs floating-point calculations and the CPU carries out operations other than the floating-point calculations. The CPU checks whether non-numeric exists, and performs backup processing when the non-numeric is found. In the backup processing, the RAM data is initialized by writing default values harmless to control as the RAM data. In addition to or alternative to the initialization, the CPU disables a floating-point calculation of the FPU. Without using the FPU, the CPU performs engine control operations by using integer data instead of floating-point data.
    Type: Application
    Filed: December 19, 2000
    Publication date: June 28, 2001
    Inventors: Mitsuhiro Kawai, Masato Yano, Takatoshi Sugimura
  • Patent number: 6253222
    Abstract: A high-speed method for the compression and decompression of floating point numbers. The floating point numbers are biased using a predefined value and then stored in compressed format occupying less memory than that of the non-compressed floating point numbers. Decompression of the compressed floating point number follows a reverse process. These techniques are useful with applications in which the numbers to be compressed fall within a given range.
    Type: Grant
    Filed: October 31, 1998
    Date of Patent: June 26, 2001
    Assignee: Hewlett-Packard Company
    Inventors: Don W. Dyer, Samuel C Sands
  • Patent number: 6240431
    Abstract: A high-speed method for the compression and decompression of floating point numbers. The floating point numbers are biased using a predefined value and then stored in compressed format occupying less memory than that of the non-compressed floating point numbers. Decompression of the compressed floating point number follows a reverse process. These techniques are useful with applications in which the numbers to be compressed fall within a given range.
    Type: Grant
    Filed: October 31, 1998
    Date of Patent: May 29, 2001
    Assignee: Hewlett-Packard Company
    Inventors: Don W. Dyer, Samuel C. Sands
  • Patent number: 6212627
    Abstract: A method and apparatus for converting a packed integer data item having first and second data elements, to a packed floating-point data item. In one embodiment, a method includes moving the first data element of the integer data item to a first data element of a first intermediate data item and extending a sign of the first data element into all bit positions of a second data element of the first intermediate data item. The method further includes moving the second data element of the integer data item to a first data element of a second intermediate data item and extending a sign of the second data element into all bit positions of a second data element of the second intermediate data item. The first and second intermediate data items are converted from integer data items to respective floating-point data items, and the first and second intermediate floating-point data items are packed to first and second data elements of a result.
    Type: Grant
    Filed: October 12, 1998
    Date of Patent: April 3, 2001
    Assignee: Intel Corporation
    Inventors: Carole Dulong, Roger A. Golliver
  • Patent number: 6212539
    Abstract: A floating-point unit of a computer includes a floating-point computation unit, floating-point registers and a floating-point status register. The floating-point status register may include a main status field and one or more alternate status fields. Each of the status fields contains flag and control information. Different floating-point operations may be associated with different status fields. Subfields of the floating-point status register may be updated dynamically during operation. The control bits of the alternate status fields may include a trap disable bit for deferring interruptions during speculative execution. A widest range exponent control bit in the status fields may be used to prevent interruptions when the exponent of an intermediate result is within the range of the register format but exceeds the range of the memory format. The floating-point data may be stored in big endian or little endian format.
    Type: Grant
    Filed: October 10, 1998
    Date of Patent: April 3, 2001
    Assignee: Institute for the Development of Emerging Architectures, L.L.C.
    Inventors: Jerome C. Huck, Peter Markstein, Glenn T. Colon-Bonet, Alan H. Karp, Roger Golliver, Michael Morrison, Gautam B. Doshi
  • Patent number: 6205460
    Abstract: Floating point numbers and other values are represented in a “delimited” representation in which all numbers, including those which would in the IEEE Std. 754 representation, be in the de-normalized format, are in a format which is normalized with an implicit most significant digit having the value “one.” For numbers which would, in the IEEE Std. 754 representation, be in the de-normalized format, in the delimited representation.
    Type: Grant
    Filed: May 22, 2000
    Date of Patent: March 20, 2001
    Assignee: Sun Microsystems, Inc.
    Inventor: Guy L. Steele, Jr.
  • Patent number: 6195672
    Abstract: An improved method and apparatus for saturation detection in floating point to integer conversions is described. A floating point number is tested for saturation conditions based on an integer field size. From testing the saturation conditions on the floating point number, the present invention predicts whether a floating point number can be converted into an integer value having the given integer field size, or whether the integer field would be saturated. In one embodiment, the saturation conditions are tested on the floating point number in parallel with a floating point to integer conversion.
    Type: Grant
    Filed: August 31, 1998
    Date of Patent: February 27, 2001
    Assignee: Mentor Graphics Corporation
    Inventors: Jason F. Gouger, Jeffrey Charles Herbert, Razak Hossain
  • Patent number: 6182100
    Abstract: A method for performing a logarithmic estimation on a positive floating-point number within a data processing system is disclosed. A floating-point number includes a sign bit, multiple exponent bits, and a mantissa having an implied one and multiple fraction bits. A fraction part of an estimate is obtained via a table lookup utilizing the fraction bits of the floating-point number as input. An integer part of the estimate is obtained by converting the exponent bits to an unbiased representation. The integer part is then concatenated with the fraction part to form an intermediate result. Subsequently, the intermediate result is normalized to yield a mantissa, and an exponent part is produced based on the normalization. Finally, the exponent part is combined with the mantissa to form a floating-point result.
    Type: Grant
    Filed: June 30, 1998
    Date of Patent: January 30, 2001
    Assignee: International Business Machines Corporation
    Inventor: Martin Stanley Schmookler
  • Patent number: 6178435
    Abstract: A method for performing a power of two estimation on a floating-point number within a data processing system is disclosed. The floating-point number includes a sign bit, multiple exponent bits, and a mantissa having an implied one and multiple fraction bits. In order to estimate the power of two of the floating-point number, the mantissa is partitioned into an integer part and a fraction part, based on the value of the exponent bits. A floating-point result is formed by assigning the integer part of the floating-point number as an unbiased exponent of the floating-point result, and by converting the fraction part of the floating-point number via a table lookup to become a fraction part of the floating-point result.
    Type: Grant
    Filed: June 30, 1998
    Date of Patent: January 23, 2001
    Assignee: International Business Machines Corporation
    Inventor: Martin Stanley Schmookler
  • Patent number: 6170001
    Abstract: A data processing apparatus and method is provided, wherein in a first mode of operation, data of a first data type is processed, and in a second mode of operation, data of a second data type consisting of an even multiple of data words is processed. The data processing apparatus comprises a register bank having a plurality of data slots for storing data words of data of said first type data and data words of data of said second type data, and transfer logic, responsive to a store instruction, to control the storing of the data words in the register bank to a memory. Further, a format register is provided for storing format data indicating the distribution in the register bank of data words of data of said first data type and data words of data of said second data type.
    Type: Grant
    Filed: May 27, 1998
    Date of Patent: January 2, 2001
    Assignee: Arm Limited
    Inventors: Christopher N. Hinds, David J. Seal
  • Patent number: 6151669
    Abstract: A floating-point unit of a computer includes a floating-point computation it, floating-point registers and a floating-point status register. The floating-point status register may include a main status field and one or more alternate status fields. Each of the status fields contains flag and control information. Different floating-point operations may be associated with different status fields. Subfields of the floating-point status register may be updated dynamically during operation. The control bits of the alternate status fields may include a trap disable bit for deferring interruptions during speculative execution. A widest range exponent control bit in the status fields may be used to prevent interruptions when the exponent of an intermediate result is within the range of the register format but exceeds the range of the memory format. The floating-point data may be stored in big endian or little endian format.
    Type: Grant
    Filed: October 10, 1998
    Date of Patent: November 21, 2000
    Assignee: Institute For The Development of Emerging Architectures, L.L.C.
    Inventors: Jerome C. Huck, Peter Markstein, Glenn T. Colon-Bonet, Alan H. Karp, Roger Golliver, Michael Morrison, Gautam B. Doshi, Guillermo Juan Rozas
  • Patent number: 6148316
    Abstract: An improved floating point unit (FPU), equipped to perform floating point to integer conversion and integer addition in addition to floating point addition, is described. In one embodiment, the FPU includes a shifter, a bypass datapath, and a bypass multiplexer. The shifter receives an operand input and a control input, and shifts the operand input in accordance with the control input. The bypass datapath bypasses the operand input around the shifter. The bypass multiplexer is coupled to the shifter and the bypass datapath. The bypass multiplexer selects the bypass datapath to enable an integer addition if the operand is an integer operand, and selects the shifter to enable a floating point addition or floating point to integer conversion if the operand is a floating point operand. In an alternate embodiment, the FPU includes an alignment unit, an arithmetic logic unit (ALU), a bypass datapath, and a bypass multiplexer. The alignment unit receives a first input and a second input, and aligns them.
    Type: Grant
    Filed: May 5, 1998
    Date of Patent: November 14, 2000
    Assignee: Mentor Graphics Corporation
    Inventors: Jeffrey Charles Herbert, Jason F. Gouger, Razak Hossain
  • Patent number: 6144977
    Abstract: A programmable numeric converter (10) converts a floating point number to a fixed point format by selecting the proper offset. The mantissa is loaded with an implied value one into the least significant, or most significant, bits of the shifter (20). The programmable offset is added (24) to the exponent to determine the number of shifts to the mantissa bits. The number of bits of resolution necessary in the fixed point number is reduced because the offset can be programmed to move the decimal point to the left, or to the right, to provide accuracy wherever the significant digits are located. That is, the decimal point is moved left to provide more resolution in the fractional portion of the fixed point number for small numbers. Alternately, the decimal point is moved right to provide more resolution in the whole number portion of the fixed point number for large numbers.
    Type: Grant
    Filed: July 10, 1995
    Date of Patent: November 7, 2000
    Assignee: Motorola, Inc.
    Inventors: Philip B. Giangarra, James D. Dworkin
  • Patent number: 6141670
    Abstract: A computer and a method of using the computer to reduce an original argument to obtain a periodic function of the argument. A special number P.sub.j is employed that is close to a nontrivial even-integral multiple .pi.. The technique subtracts a non-negative integral multiple of P.sub.j from the original argument to obtain a first reduced argument. Then, a second non-negative integer multiple of a floating-point representation of .pi./2 is subtracted from the first reduced argument to obtain a second reduced argument. Next, a periodic function of a third argument equal to a sum of the second reduced argument plus the product of the first non-negative integral multiple and a floating-point representation of an offset .delta..sub.j is evaluated to obtain a result.
    Type: Grant
    Filed: September 30, 1997
    Date of Patent: October 31, 2000
    Assignee: Intel Corporation
    Inventors: Shane A. Story, Ping Tak Peter Tang
  • Patent number: 6122651
    Abstract: Disclosed is a method and circuit for executing an overshifted rotate through carry instruction. The circuit and method generates an n-bit output operand and output carry flag which represents a result of rotating a combination of a first n-bit operand and a first carry flag by a selected number of bit positions in a selected direction. The selected number of bit positions correspond to a z-bit count. The n-bit output operand and output carry flag is generated by first rotating the combination of the first n-bit operand and the first carry flag in the selected direction by a first number of bit positions corresponding to the y significant bits of the z-bit rotation count. This results in a second n-bit operand and a second carry flag. Thereafter, a combination of the second n-bit operand and the second carry flag is rotated in a direction opposite of the selected direction by second number of bit positions corresponding to the x most significant bits of the z-bit rotation count.
    Type: Grant
    Filed: April 8, 1998
    Date of Patent: September 19, 2000
    Assignee: Advanced Micro Devices, Inc.
    Inventor: Eric W. Mahurin
  • Patent number: 6105047
    Abstract: An apparatus to improve the speed of handling of denormal numbers in a computer system, the apparatus comprising a mode bit and a selector, the mode bit set when denormals are to be replaced by zero, the selector having a first input and an output, the first input comprising a floating point number, the selector selecting zero to become the output when the floating point number is denormal and the mode bit is set, the selector selecting the floating point number to become the output otherwise.
    Type: Grant
    Filed: November 9, 1998
    Date of Patent: August 15, 2000
    Assignee: Intel Corporation
    Inventors: Harshvardhan Sharangpani, Roger Golliver
  • Patent number: 6073155
    Abstract: To obtain the sufficiently precise result of floating-point accumulation even if the quantity of computation is enormous, a floating-point accumulator according to the present invention is constituted as follows:When two floating-point data are stored in any of shift registers, the two data are respectively output to BUS0 and BUS1 via one connected to the shift register of buffers. The two output data are input to an adder via BUS0 and BUS1 and output as added result data after adding the floating-point numbers. The above added result data is returned to each input of the shift registers via BUSW and a multiplexer and written into the shift register corresponding to the addition of the higher level by one of the shift register holding floating-point data before addition. The floating-point numbers are accumulated by repeating the above operation.
    Type: Grant
    Filed: July 28, 1997
    Date of Patent: June 6, 2000
    Assignee: Fuji Xerox Co., Ltd.
    Inventors: Shinjiro Inabata, So Yamada, Shinjiro Toyoda, Nobuaki Miyakawa
  • Patent number: 6029243
    Abstract: A floating-point processor nominally capable of single and double, but not extended, precision execution stores operands in extended-precision format. A format converter converts single and double precision source values to extended-precision format. Trap logic checks the apparent precision of the extended-precision operands and the requested result precision to determine whether the floating-point processor can execute the requested operation and yield the appropriate result. If the maximum of the requested precision and the maximum apparent precision of the operands is single or double, the requested operation is executed in hardware. Otherwise, a trap is issued to call an extended precision floating-point subroutine. This approach augments the class of operations that can be handled in hardware by a double-precision floating-point processor, and thus improves the floating-point computational throughput of an incorporating computer system.
    Type: Grant
    Filed: September 19, 1997
    Date of Patent: February 22, 2000
    Assignee: VLSI Technology, Inc.
    Inventors: Timothy A. Pontius, Kenneth A. Dockser
  • Patent number: 6028893
    Abstract: A signal evaluation apparatus, and method, for data reduction in the processing of signal values of a digital signal processing unit, for example, in a mobile communication system, wherein a block with k signal values is inventively stored in fixed decimal point format and a maximum value of the k signal values of the block is defined. Subsequently, the k signal values of the block are converted into floating decimal point format, whereby individual mantissas and a common exponent are determined for the converted samples. The data rate can be substantially reduced depending on the selected number of bits for the presentation of the mantissas and exponents. Advantageously, the block corresponds to the samples of a radio block or a part thereof.
    Type: Grant
    Filed: June 26, 1997
    Date of Patent: February 22, 2000
    Assignee: Siemens Aktiengesellschaft
    Inventor: Franz Schreib
  • Patent number: 5995122
    Abstract: A method and apparatus for parallel processing of graphics data are described. A number of color components are stored in a floating point format in at least one register of a set of 128-bit registers in a packed format. The color components in the floating point format are converted to numbers in an integer format. The numbers in the integer format are placed in at least one register of a set of 64-bit registers in the packed format. Color components are assembled for image pixels from the numbers in the integer format.
    Type: Grant
    Filed: April 30, 1998
    Date of Patent: November 30, 1999
    Assignee: Intel Corporation
    Inventors: Hsien-Cheng E. Hsieh, Thomas R. Huff, Vladimir Pentkovski, Patrice Roussel, Shreekant S. Thakkar
  • Patent number: 5995991
    Abstract: A method for representing arithmetic values on which arithmetic operations can be performed uses operands having a fixed number of bits. In a first step, a plurality of operands are stored in a memory, wherein each operand has a bit pattern representing a particular value. In a second step, a tag associated with each of the operands is also stored in the same or a different memory. Each of the tags has a tag value that indicates whether or not its associated operand represents an ordinary operand value or a special operand value. If the operand represents a special operand value, the tag value also indicates which of a predefined set of special operand values is represented by the associated operand. A result of an arithmetic operation can be generated by, in a first step, inputting at least a first operand and a first tag to an arithmetic section.
    Type: Grant
    Filed: July 18, 1996
    Date of Patent: November 30, 1999
    Assignee: Industrial Technology Research Institute
    Inventors: Biing-Huang Huang, Shing-Wu Tung
  • Patent number: 5996056
    Abstract: An intermediate result signal arising from a manipulation of data signals is checked and reduced without using conditional branches, thereby improving instruction processing. Data signals are represented as signed 8-bit binary values in a two's compliment format. This requires that the intermediate result signal be stored in a register that is greater than 8-bits wide to allow for the proper checking of an overflow condition. A processor operating under program control with the program has the following operations. The program determines whether the intermediate result signal is in a positive overflow state or a negative overflow state. A first mask signal is set to have 8 lower bits in an OFF position when the intermediate result signal is inside the range of a signed 8 bit integer. Otherwise, the first mask signal is set to have 8 lower bits in an ON position.
    Type: Grant
    Filed: June 24, 1997
    Date of Patent: November 30, 1999
    Assignee: Sun Microsystems, Inc.
    Inventor: Vladimir Y. Volkonsky
  • Patent number: 5978901
    Abstract: A superscalar microprocessor includes a combination floating point and multimedia unit. The floating point and multimedia unit includes one set of registers. The multimedia core and floating point core share the one set of registers. Each register as a type field associated with the register. The type field identifies whether the associated register contains valid data and whether the data is of multimedia type or floating point type. If the register stores floating point type data, the type field further indicates which of a plurality of floating point types the register stores such as: zero, infinity and normal. The floating point core relies on the type field to identify special floating point numbers such as zero and infinity. To ensure predictable results when a floating point instruction is executed subsequent to a multimedia instruction, a retyping algorithm retypes registers typed as multimedia type when the first floating point instruction subsequent to a multimedia instruction is executed.
    Type: Grant
    Filed: August 21, 1997
    Date of Patent: November 2, 1999
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Mark R. Luedtke, Paul K. Miller, Chris N. Hinds, Ashraf Ahmed
  • Patent number: 5954789
    Abstract: Quotient digit selection logic is modified so as to prevent a partial remainder equal to the negative divisor from occurring. An enhanced quotient digit selection function prevents the working partial remainder from becoming negative if the result is exact, choosing a quotient digit of zero instead of a quotient digit of one when the actual partial remainder is zero. Using a five bit estimated partial remainder where the upper four bits are zero, a possible carry propagation into fourth most significant bit is detected. This can be accomplished by looking at the fifth most significant sum and carry bits of the redundant partial remainder. If they are both zero, then a carry propagation out of that bit position into the least significant position of the estimated partial remainder is not possible, and a quotient digit of zero is chosen. This provides a one cycle savings since negative partial remainders no longer need to be restored before calculating the sticky bit.
    Type: Grant
    Filed: May 15, 1996
    Date of Patent: September 21, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Robert K. Yu, Nasima Parveen, J. Arjun Prabhu