Iterative estimation hardware
AssigneeImagination Technologies Limited
InventorsThomas Rose, Max Freiburghaus, Robert McKemey
Life of this patent
Estimating the term…
Abstract
A function estimation hardware logic unit may be implemented as part of an execution pipeline in a processor. The function estimation hardware logic unit is arranged to calculate, in hardware logic, an improved estimate of a function of an input value, d, where the function is given by 1 / d i . The hardware logic comprises a plurality of multipliers and adders arranged to implement a mth-order polynomial with coefficients that are rational numbers, where m is not equal to two and in various examples m is not equal to a power of two. In various examples i=1, i=2 or i=3. In various examples m=3.
Claims5
A fixed function estimation hardware logic unit for use in an arithmetic logic unit of a processor, the fixed function estimation hardware logic unit arranged to calculate, in fixed function hardware logic, an improved estimate, xn+1, for a function of an input value, d, wherein the function is
- 1
- /
- d
- i
- ,
- and the fixed function estimation hardware logic unit comprising:
- a first input arranged to receive the input value, d;
- a second input arranged to receive an estimate, xn, for the function of the input value;
- and
- an output arranged to output the improved estimate, xn+1, for the function of the input value;
- and
- a combination of multiplier and addition hardware blocks configured in hardware circuitry to implement an mth-order polynomial to determine the improved estimate, xn+1, with mth order convergence, wherein the mth-order polynomial can be expressed as:
- xn+1=xn/8(15−dxn2(10−3dxn2))
- wherein m=3 and i=2 and wherein the combination of multiplier and addition hardware blocks configured in hardware circuitry to implement the mth-order polynomial comprises:
- a first hardware logic stage comprising a right shifter, the right shifter comprising an input arranged to receive an estimate xn for the function of the input value and an output;
- a second hardware logic stage comprising a square function logic block, the square function logic block comprising an input arranged to receive an estimate xn for the function of the input value and an output;
- a third hardware logic stage comprising a multiplier, the multiplier comprising an input arranged to receive the input value, d, an input connected to the output of the second hardware logic stage and an output;
- a fourth hardware logic stage comprising a multiplier, the multiplier comprising an input connected to the output of the third hardware logic stage and an output;
- a fifth hardware logic stage comprising a square function logic block, the square function logic block comprising an input connected to the output of the third hardware logic stage and an output;
- a sixth hardware logic stage comprising a multiplier, the multiplier comprising an input connected to the output of the fifth hardware logic stage and an output;
- and
- a seventh hardware logic stage comprising two subtraction logic blocks and a multiplier, the first of the two subtraction logic blocks comprising an input connected to the output of the fourth hardware logic stage and an output, the second of the two subtraction logic blocks comprising an input connected to the output of the first of the two subtraction logic blocks, an input connected to the output of the sixth hardware logic stage and an output and the multiplier comprising an input connected to the output of the first hardware logic stage, an input connected to the output of the second of the two subtraction logic blocks and an output.
A computer implemented method for calculating, in fixed function hardware logic, an improved estimate, xn+1, for a function of an input value, d, wherein the function is
- 1
- /
- d
- i
- ,
- and the method comprising:
- receiving the input value, d;
- receiving an estimate, xn, for the function of the input value;
- and
- calculating an improved estimate, xn+1, for the function of the input value by inputting the input value and the received estimate to a combination of multiplier and addition hardware blocks configured in hardware circuitry to implement an mth-order polynomial to determine the improved estimate, xn+1, with mth order convergence, wherein the mth-order polynomial can be expressed as:
- xn+1=xn/8(15−dxn2(10−3dxn2))
- wherein m=3 and i=2 and wherein the combination of multiplier and addition hardware blocks configured in hardware circuitry to implement the mth-order polynomial comprises:
- a first hardware logic stage comprising a right shifter, the right shifter comprising an input arranged to receive an estimate xn for the function of the input value and an output;
- a second hardware logic stage comprising a square function logic block, the square function logic block comprising an input arranged to receive an estimate xn for the function of the input value and an output;
- a third hardware logic stage comprising a multiplier, the multiplier comprising an input arranged to receive the input value, d, an input connected to the output of the second hardware logic stage and an output;
- a fourth hardware logic stage comprising a multiplier, the multiplier comprising an input connected to the output of the third hardware logic stage and an output;
- a fifth hardware logic stage comprising a subtraction logic block and a multiplier, the subtraction logic block comprising an input connected to the output of the fourth hardware logic stage and an output and the multiplier comprising an input connected to the output of the subtraction logic block, an input connected to the output of the third hardware logic stage and an output;
- and
- a sixth hardware logic stage comprising a subtraction logic block and a multiplier, the subtraction logic block comprising an input connected to the output of the fifth hardware logic stage and an output and the multiplier comprising an input connected to the output of the subtraction logic block, an input connected to the output of the first hardware logic stage and an output.
A non-transitory computer readable storage medium having stored thereon an integrated circuit definition dataset that, when processed in an integrated circuit manufacturing system, configures the integrated circuit manufacturing system to manufacture a fixed function estimation hardware logic for use in an arithmetic logic unit of a processor, the fixed function estimation hardware logic arranged to calculate, in hardware logic, an improved estimate, xn+1, for a function of an input value, d, wherein the function is
- 1
- /
- d
- i
- ,
- and the fixed function estimation hardware logic comprising:
- a first input arranged to receive the input value, d;
- a second input arranged to receive an estimate, xn, for the function of the input value;
- and
- an output arranged to output the improved estimate, xn+1, for the function of the input value;
- and
- a combination of multiplier and addition hardware blocks configured in hardware circuitry to implement an mth-order polynomial to determine the improved estimate, xn+1, with mth order convergence, wherein the mth-order polynomial can be expressed as:
- xn+1=xn/8(15−dxn2(10−3dxn2))
- wherein m=3 and i=2 and wherein the combination of multiplier and addition hardware blocks configured in hardware circuitry to implement the mth-order polynomial comprises:
- a first hardware logic stage comprising a right shifter, the right shifter comprising an input arranged to receive an estimate x for the function of the input value and an output;
- a second hardware logic stage comprising a square function logic block, the square function logic block comprising an input arranged to receive an estimate x for the function of the input value and an output;
- a third hardware logic stage comprising a multiplier, the multiplier comprising an input arranged to receive the input value, d, an input connected to the output of the second hardware logic stage and an output;
- a fourth hardware logic stage comprising a multiplier, the multiplier comprising an input connected to the output of the third hardware logic stage and an output;
- a fifth hardware logic stage comprising a subtraction logic block and a multiplier, the subtraction logic block comprising an input connected to the output of the fourth hardware logic stage and an output and the multiplier comprising an input connected to the output of the subtraction logic block, an input connected to the output of the third hardware logic stage and an output;
- and
- a sixth hardware logic stage comprising a subtraction logic block and a multiplier, the subtraction logic block comprising an input connected to the output of the fifth hardware logic stage and an output and the multiplier comprising an input connected to the output of the subtraction logic block, an input connected to the output of the first hardware logic stage and an output.
Dependencies are inferred from the claim text.