IP Library Granted Patent US 9,612,800
Granted Patent B2
US 9,612,800 · App. 14/452,358 · Granted Apr 4, 2017

Implementing a square root operation in a computer system

Inventor: Leonard Rarick (San Diego, CA)
Assignee: Imagination Technologies Limited
G06F7/5525G06F2207/5355
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,612,800
App. No.
14/452,358
Granted
Apr 4, 2017
Kind
B2
Abstract

A method and computer system are provided for implementing a square root operation using an iterative converging approximation technique. The method includes fewer computations than conventional methods, and only includes computations which are simple to implement in hardware on a computer system, such as multiplication, addition, subtraction and shifting. Therefore, the methods described herein are adapted specifically for being performed on a computer system, e.g. in hardware, and allow the computer system to perform a square root operation with low latency and with low power consumption.

Claims (192)

1. A method of implementing a square root operation in a computer system to determine a value of √{square root over (b)}, where b is an input value, comprising:

obtaining an initial approximation of

1

b

 denoted as p 0 ; and for iterations in which an iteration index i=0, . . . , c, c being a predetermined number greater than or equal to 0:

(i) performing a first computation using multiplier logic of the computer system to determine a first intermediate parameter r i based on a multiplication of the input value b with p i ;

(ii) performing a second computation using the multiplier logic to determine a second intermediate parameter s i based on a multiplication of the first intermediate parameter r i with p i ;

(iii) when i<c, computing a refined approximation of

1

b

denoted as p i+1 using the multiplier logic based on a multiplication of the second intermediate parameter s i with p i , incrementing i, and repeating steps (i) and (ii); and

(iv) when i=c, computing with the multiplier logic the value of √{square root over (b)} based on a multiplication of first intermediate parameter r c with second intermediate parameter s c .

2. The method of claim 1 wherein computing an initial approximation comprises:

(i) performing a first computation with the multiplier logic of the computer system to determine a first intermediate parameter r i for the current iteration based on a multiplication of the input value b with a previous approximation of

1

b

;

(ii) performing a second computation with the multiplier logic to determine a second intermediate parameter s i , for the current iteration based on a multiplication of the first intermediate parameter r, for the current iteration with the previous approximation of

1

b

;

and

(iii) performing a third computation with the multiplier logic to determine a refined approximation of

1

b

for use in a subsequent iteration based on a multiplication of the second intermediate parameter s i for the current iteration with the previous approximation of

1

b

.

3. The method of claim 1 wherein:

the first computation comprises determining the first intermediate parameter r i in accordance with the equation r i =bp i

1

b

;

the second computation comprises determining the second intermediate parameter s c in accordance with the equation

s

c

=

1

2

(

1

-

r

c

p

c

)

;

and

the computation when i=c comprises determining the value of √{square root over (b)}, denoted result, in accordance with the equation result=r i s i .

4. The method of claim 1 wherein:

the first computation comprises determining the first intermediate parameter r c in accordance with the equation r i =bp i

1

b

;

the second computation comprises determining the second intermediate parameter s i in accordance with the equation

s

i

=

1

2

(

1

-

r

i

p

i

)

;

and

the computation when i=c comprises determining the value of √{square root over (b)}, denoted result, in accordance with the equation result=r i s i +r i .

5. The method of claim 1 further comprising scaling an initial input value by an even power of two to determine the input value b such that 1≦b<4.

6. A computer system configured to implement a square root operation to determine a value of √{square root over (b)}, where b is an input value, the computer system comprising multiplier logic configured to;

for iterations in which an iteration index i=0, . . . , c, c being a predetermined number greater than or equal to 0:

(i) perform a first computation to determine a first intermediate parameter r i based on a multiplication of the input value b with a previous approximation of

1

b

denoted as p i ;

(ii) perform a second computation to determine a second intermediate parameter s i based on a multiplication of the first intermediate parameter r i with p i

(iii) when i<c, computing a refined approximation of

1

b

denoted as p i+1 based on a multiplication of the second intermediate parameter s i with p i , incrementing i, and repeating steps (i) and (ii), and

(iv) when i=c determining the value of √{square root over (b)} based on a multiplication of first intermediate parameter r c with second intermediate parameter s c .

7. A non-transitory computer readable storage medium having stored thereon computer executable instructions that when executed cause at least one processor to perform the method as set forth in claim 1 .

8. The computer system of claim 6 further comprising:

a memory for storing at least the first intermediate parameter r i and the previous approximation of

1

b

p i ; and

a control module configured to control which values are provided to the multiplier logic for the respective computations.

9. The computer system of claim 8 wherein the control module is further configured to control the number of iterations which are implemented based on: (i) the number of bits of accuracy of the initial approximation of

1

b

,

and (ii) a desired number of bits of accuracy of the determined value of √{square root over (b)}.

10. The computer system of claim 6 wherein to implement at least iteration multiplier logic is configured to:

(i) perform a first computation to determine a first intermediate parameter r i for the current iteration based on a multiplication of the input value b with a previous approximation of

1

b

;

(ii) perform a second computation to determine a second intermediate parameter s i for the current iteration based on a multiplication of the first intermediate parameter r i for the current iteration with the previous approximation of

1

b

:

and

(iii) perform a third computation to determine a refined approximation of for use in a subsequent iteration based on a multiplication of the second intermediate parameter s i for the current iteration with the previous approximation of

1

b

.

11. The computer system of claim 6 wherein the multiplier logic is configured to perform three computations for each of one or more iterations.

12. The computer system of claim 6 wherein the multiplier logic is configured to implement a concluding iteration without determining a refined approximation of

1

b

on the concluding iteration.

13. The computer system of claim 6 wherein the multiplier logic is configured such that:

the first computation comprises determining the first intermediate parameter r c in accordance with the equation r c =bp c where p c is the previous approximation of

1

b

;

the second computation comprises determining the second intermediate parameter s c in accordance with the equation

s

c

=

1

2

(

3

-

r

c

p

c

)

;

and the computation when i=c comprises determining the value of √{square root over (b)}, denoted result, in accordance with the equation result=r c s c .

14. The computer system of claim 6 wherein the multiplier logic is configured such that for a concluding iteration:

the first computation comprises rounding down to determine the first intermediate parameter r c ;

the second computation comprises rounding down to determine the second intermediate parameter s c ; and

the concluding computation comprises rounding down to determine the value of √{square root over (b)}.

15. The computer system of claim 6 further comprising check logic which is configured to:

receive the determined value of √{square root over (b)}; and

perform a check procedure on the determined value of √{square root over (b)} in accordance with a rounding mode to check that the determined value of √{square root over (b)} is correct in accordance with the rounding mode.

16. The computer system of claim 6 wherein the multiplier logic is configured such that:

the first computation comprises determining the first intermediate parameter r c in accordance with the equation r c =bp c where p c is the previous approximation of

1

b

;

the second computation comprises determining the second intermediate parameter s c in accordance with the equation

s

c

=

1

2

(

1

-

r

c

p

c

)

;

and

the computation when i=c comprises determining the value of √{square root over (b)}, denoted result, in accordance with the equation result=r c s c +r c .

17. The computer system of claim 6 further comprising initial approximation logic configured to:

obtain the initial approximation of

1

b

by: (i) computing the initial approximation of

1

b

or (ii) receiving the initial approximation of

1

b

;

and

provide the obtained initial approximation of

1

b

to the multiplier logic.

18. A non-transitory computer readable storage medium having stored thereon computer readable code that when processed by an integrated circuit manufacturing system causes the integrated circuit manufacturing system to generate a computer system according to claim 6 .

Assignments (2)
SECURITY INTEREST Recorded Jul 31, 2024
From: IMAGINATION TECHNOLOGIES LIMITED
To: FORTRESS INVESTMENT GROUP (UK) LTD
Reel/Frame 068221/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2014
From: RARICK, LEONARD
To: IMAGINATION TECHNOLOGIES, LIMITED
Reel/Frame 033470/0013 →
Continuity (1)
Related Publication 20160041947A1 · Feb 11, 2016