×

Dynamic Range Adjusting Floating Point Execution Unit

  • US 20100023568A1
  • Filed: 07/22/2008
  • Published: 01/28/2010
  • Est. Priority Date: 07/22/2008
  • Status: Active Grant
First Claim
Patent Images

1. A circuit arrangement, comprising:

  • a register file including a plurality of registers configured to store 32-bit floating point values, each floating point value configured with a 1-bit sign field, an 8-bit exponent field and a 23-bit significand field, with the significand field including a 3-bit first portion and a 20-bit second portion;

    a single precision floating point execution unit coupled to the register file and configured to process a first input floating point value stored in a first source register from the register file that is identified by a first floating point instruction being executed by the floating point execution unit to store a first output floating point value in a first destination register from the register file, and to process a second input floating point value stored in a second source register from the register file that is identified by a second floating point instruction being executed by the floating point execution unit to store a second output floating point value in a second destination register from the register file, wherein the floating point execution unit includes an exponent path and a significand path, wherein the first floating point instruction is a non-extended range floating point instruction and the second floating point instruction is an extended range floating point instruction, wherein the floating point execution unit is configured to execute the first floating point instruction by using data stored in the exponent field of the first input floating point value as an exponent and by concatenating data stored in the first and second portions of the significand field of the first input floating point value for use as a significand, and wherein the floating point execution unit is configured to execute the second floating point instruction by concatenating data stored in the exponent field and the first portion of the significand field of the second input floating point value for use as an exponent and by using data stored in the second portion of the significand field of the second input floating point value as a significand;

    first shift logic coupled to in the significand path of the floating point execution unit and configured to receive input floating point values from the register file, the first shift logic configured to selectively shift data in the second portion of the significand field of the second input floating point value left three bits during execution of the second floating point instruction based upon the second floating point instruction being an extended range floating point instruction, the first shift logic further configured to pass unmodified the significand field of the first input floating point value based upon the first floating point instruction being a non-extended range floating point instruction; and

    second shift logic coupled to the significand path of the floating point execution unit and configured to receive output floating point values from the floating point execution unit, the second shift logic configured to selectively shift data in the second portion of the significand field of the second output floating point value right three bits during execution of the second floating point instruction based upon the second floating point instruction being an extended range floating point instruction, the second shift logic further configured to pass unmodified the significand field of the first output floating point value based upon the first floating point instruction being a non-extended range floating point instruction; and

    concatenation logic coupled to the exponent path of the floating point execution unit and configured to concatenate data from the exponent field and the first portion of the significand field of the second input floating point value during execution of the second floating point instruction based upon the second floating point instruction being an extended range floating point instruction.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×