Language selection

Search

Patent 2050353 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent: (11) CA 2050353
(54) English Title: METHOD AND PROCESSOR FOR HIGH-SPEED CONVERGENCE FACTOR DETERMINATION
(54) French Title: METHODE ET PROCESSEUR POUR DETERMINER RAPIDEMENT LES FACTEURS DE CONVERGENCE
Status: Deemed expired
Bibliographic Data
(51) International Patent Classification (IPC):
  • G06F 7/38 (2006.01)
  • G06F 7/52 (2006.01)
  • G06F 7/552 (2006.01)
(72) Inventors :
  • LINDSLEY, BRETT LOUIS (United States of America)
(73) Owners :
  • MOTOROLA, INC. (United States of America)
(71) Applicants :
(74) Agent: GOWLING WLG (CANADA) LLP
(74) Associate agent:
(45) Issued: 1994-08-30
(86) PCT Filing Date: 1990-12-03
(87) Open to Public Inspection: 1991-06-30
Examination requested: 1991-08-22
Availability of licence: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): Yes
(86) PCT Filing Number: PCT/US1990/007034
(87) International Publication Number: WO1991/010188
(85) National Entry: 1991-08-22

(30) Application Priority Data:
Application No. Country/Territory Date
458,915 United States of America 1989-12-29

Abstracts

English Abstract

2050353 9110188 PCTABS00006
A high-speed processor utilizes combinational logic and range
limitation for a modified input value to increase efficiency in
convergence factor determination for convergent division and square
root computation. An input value (101) is modified to a value in a
limited range (104), which is then partitioned into two
subdivisions (106, 108). By utilizing these two groupings, the processing
platform minimizes time consumption in conversion factor
determination by inverting selected binary bits to form a modified
factor (114) and utilizes that modified factor to facilitate
high-speed convergence factor computation.


Claims

Note: Claims are shown in the official language in which they were submitted.


WO 91/10188 PCT/US90/07034

CLAIMS
1. A numeric processor comprising:
a processing platform for processing convergence factors
utilizing an input value other than + ?, ? 0, or Not-a-Number
(NaN), for a mathematical determination, being convergent
division determination or square root determination, wherein
the input value is modified to a value X, such that X is limited
to a range with a lower limit greater than or equal to 0.5 and
an upper limit B determined, at least in part, by the
mathematical determination invoked and such that X is defined
as X = 2e * f, said platform comprising:
A) first selecting means responsive to the input value
for selecting an input value other than ? ?, ? 0, or NaN;
B) input value altering means responsive to the first
selecting means for converting a selected input value to a value
X such that 0.5 ? X < B, the respective value of B being a
constant value related to the mathematical determination;
C) exponent means responsive to the input value
altering means for selecting a value for an exponent e;
D) first determining means responsive to the input
value altering means and the exponent means for determining
a value for f, wherein f = X/2e such that 1? f < 2 and f is
represented by a series of binary bits consisting of a most
significant binary bit and remaining binary bits;
E) locating means responsive to the first determining
means for placing the most significant binary bit of f, being 1,
to the immediate left of a binary point with the remaining
binary bits of f located to the right of the binary decimal point;
F) second selecting means responsive to the locating
means and the first determining means for selecting binary
bits to the right of the binary decimal point in accordance with
the value of X and the mathematical determination;

WO 91/10188 PCT/US90/07034


G) complementing means responsive to the second
selecting means for determining a one's complement of the
selected binary bits to the right of the binary point;
H) combining means responsive to the complementing
means for combining the most significant bit of f, being 1, with
the one's complement of the selected binary bits, thereby
determining f, a new value for f;
I) second determining means responsive to the
combining means for determining X', a new value for X, such
that X' = 2e * f'; and
J) third determining means responsive to the second
determining means for generating a convergence factor Y such
that Y = 2.0 - X' for convergent division and Y = 1.5 - 0.5X' for
square root determination.

WO 91/10188 PCT/US90/07034



2. The apparatus of claim 1, wherein the first selecting
means for determining that an input value is other than ? ?,
? 0, or NaN comprises a processing platform for executing an
error check process.
3. The apparatus of claim 1, wherein the upper limit .beta. = 1.5
for a mathematical determination of convergent division.
4. The apparatus of claim 1, wherein the upper limit .beta. = 2.0
for a mathematical determination of a square root.
5. The apparatus of claim 1 wherein the exponent means for
selecting a value for an exponent e comprises:
A) primary selecting means responsive to the input
value altering means for selecting a value of negative 1 for e
for values of X such that 0.5 ? X < 1.0 in convergent division
determination;
B) secondary selecting means responsive to the input
value altering means for selecting a value of zero for e for
values of X such that 1.0 ? X < 1.5 in convergent division
determination;
C) tertiary selecting means responsive to the input
value altering means for selecting a value of negative 1 for e
for values of X such that 0.5 < X < 1.0 in square root
determination; and
D) quaternary means responsive to the input value
altering means for selecting a value of zero for e for values of X
such that 1.0 ? X < 2.0 in square root determination.
6. The apparatus of claim 1 wherein the second selecting
means for selecting binary bits to the right of the binary
decimal point in accordance with the value of X and the
mathematical determination outputs the following:
A) for a range of X such that 0.5 ? X < 1.0 in a
convergent division determination, an output for the new
binary bits to the right of the binary point being one followed
by the initially second, and all following binary bits to the right
of the binary point;

WO 91/10188 PCT/US90/07034

11
B) for a range of X such that 1.0 ? X < 1.5 in a
convergent division determination, an output for the new
binary bits to the right of the binary point being the initially
second, and all following binary bits to the right of the binary
point;
C) for a range of X such that 0.5 ? X < 1.0 in a square
root determination, an output for the new binary bits to the
right of the binary point being two ones followed by all bits
initially to the right of the binary point; and
D) for a range of X such that 1.0 ? X < 2.0 in a square
root determination, an output for the new binary bits to the
right of the binary point being all bits initially to the right of
the binary point.
7. The apparatus of claim 1 wherein the complementing
means for determining a one's complement of the selected
binary bits to the right of the binary point comprises inverting
all bit values to the right of the binary point.
8. The apparatus of claim 1 further including means for
iterating a determination of the convergence factor until a
solution with a predetermined degree of accuracy is reached
for the mathematical determination invoked.
9. The apparatus of claim 1, further including allocating one
or more data manipulation and storage devices for iterating the
determination of a convergence factor until a solution with a
predetermined degree of accuracy is reached for the type of
determination invoked.
10. The apparatus of claim 1, further including a computer
program storage medium containing a fixed hardware
embodiment of the first selecting means, the input value
altering means, the exponent means, the first determining
means, the locating means, the second selecting means, the
complementing means, the combining means, the second
determining means, and the third determining means of the

WO 91/10188 12 PCT/US90/07034
apparatus such that the computer program storage medium
itself can implement processing of the convergence factors.
11. The apparatus of claim 1, further including a computer
program storage medium containing a computer program
application of the processing achieved by the apparatus such
that the computer program storage medium itself can process
the convergence factors.
12. The apparatus of claim 1, further including a computer
program storage medium containing a combination of at least a
part of a computer program application of the processing
achieved by the apparatus together with at least a part of a
fixed hardware embodiment of the first selecting means, the
input value altering means, the exponent means, the first
determining means, the locating means, the second selecting
means, the complementing means, the combining means, the
second determining means, and the third determining means of
the apparatus such that the two parts together coordinate to
process the convergence factors.

WO 91/10188 13 PCT/US90/07034
13. A method for allocating data storage means and data
manipulation means of a numeric processor so as to expedite
and improve floating point computation of convergence factors
2.0 -X and 1.5 - 0.5X for a mathematical determination, being
convergent division or square root determination, for an input
value X other than ? ?, ? 0, or NaN wherein X is limited to a
certain range with a lower limit greater than or equal to 0.5
and an upper limit B determined by the mathematical
determination invoked and such that X = 2e * f, said method
comprising the steps of:
A ) allocating one or more data input devices for
storing an input value X;
B) allocating one or more data manipulation devices
for determining that input value is not ? ?, + 0, or NaN;
C) allocating one or more data manipulation and
storage devices for converting an input value X to a value X
such: that
0.5 ? X < .beta., wherein .beta. is a constant value related to the
mathematical determination;
D) allocating one or more data manipulation and
storage devices for selecting a value for an exponent e;
E) allocating one or more data manipulation and
storage devices for determining a value for f wherein f = X/2e
such that 1? f < 2 and f is represented by a series of binary
bits consisting of a most significant bit and remaining binary
bits;
F) allocating one or more data manipulation and
storage devices for setting the most significant bit of f to 1 with
the remaining binary bits of f to the right of a binary decimal
point;
G) allocating one or more data manipulation and
storage devices for selecting binary bits to the right of the
binary decimal point in accordance with the value of X and the
mathematical determination invoked;

WO 91/10188 14 PCT/US90/07034
H) allocating one or more data manipulation and
storage devices for one's complementing the selected binary
bits to the right of the binary decimal point;
I ) allocating one or more data manipulation and
storage devices for combining the most significant bit of f,
being 1, with the one's complement of the selected binary bits,
thereby determining a new value for f, designated f;
J) allocating one or more data manipulation and
storage devices for determining a new X, designated X',
wherein X' = 2e * f;
and
K) allocating one or more data manipulation and
storage devices for generating a convergence factor Y such that
Y - 2.0 - X' for convergent division and Y = 1.5 - 0.5X' for
square root determination.

WO 91/10188 15 PCT/US90/07034


14. The method of claim 13, further including allocating one
or more data manipulation and storage devices for iterating the
determination of a convergence factor until a solution with a
predetermined degree of accuracy is reached for the
mathematical determination invoked.
15. The method of claim 13, further including a computer
program storage medium containing a fixed hardware
embodiment of a computer program of the method such that
the computer program storage medium itself can execute the
program.
16. The method of claim 13, further including a computer
program storage medium containing a computer program
application of the method such that the computer program
storage medium itself can execute the program.
17. The method of claim 13, further including a computer
program storage medium containing a combination of at least a
part of a computer program application of the processing
achieved by the apparatus together with at least a part of a
fixed hardware embodiment of the first selecting means, the
input value altering means, the exponent means, the first
determining means, the locating means, the second selecting
means, the complementing means, the combining means, the
second determining means, and the third determining means of
the apparatus such that the two parts together coordinate to
process the convergence factors.

Description

Note: Descriptions are shown in the official language in which they were submitted.


wo 91/10188 1;;~ 53 Pcr/usso/07034



METHOD AND PROCESSOR FOR
HIGH-SPEED CONVERGENCE FACTOR
DETERMINATION


Traditional implementations of floating-point convergent
division algorithms and square root algorithm determinations
are hampered by the lack of efficient computation of
l 0 convergence factors within both algorithm~. Convergence
algorithms utilize repeated multiplication to achieve results of
a predetermined accuracy. A feasible range of a modified
input value, X, has been shown to be O ~ X < 2. Further
limitation of such a rangc would expedite algorithmic
l 5 determinations.
In add tion, determination of a convergence factor for
convergent di ision generally requires a normalization step, a
subtraction operation requiring a carry-propagate step, and
another normalization stcp. Determination of a convergence
0 factor for a square root computation, in addition~ requires a
scaling computation. Evaluation of a convergence factor for
both thc convergent division and the square root determination
thus requires more computation cycles than a f!oating-point
multiplication computation. Because the convergence factors
2 5 occur serially in both computations, the inefffciency of the
computation of the convergence factors has directly reduced
the efficiency of computation within both the convergent
division and square root determination algorithms.
The necd exists for a more efficient method of
30 determining convergencc factors for convergent division ~nd
for square root determination to facilitate these two over-all
processes within a digital platform~




. :

i

WO 91tlO188 . PCr/US9~)/07034
~:~35~7~ ~3
2 ;
Summarv of the In~ention
The present invention enhances the efficiency of
determining convergence factors for floating-point conver~ent `.
division and square root determination in a numeric processor,
such as a digital signal processor, by expediting the
convergence factor determinations via combinational logic and
by assuming a limited range for a modified input value for a
convergence factor determination. This approach avoids a
subtraction and carry-propagation operation, thereby allowing
both convergent algorithm computations to be limited
primarily by a multiplier latency time factor.

~ri~f DescriDtion of the Drawin~s
FIG. I is a block diagram depicting one embodiment of
the invention.
FIG. 2 is a block diagram depicting one embodiment of a
determination of a new normalized significand for enhancing
- convergence factor de~ermination in a convergent division
computation .
FIG. 3 is a block diagram depicting one embodiment of a
determination of a new normalized significand for enhancing
convergencc factor determination in a square root
determination.
FIG. 4 is block diagram of a computer hardware
2 5 implementation of the invention.

~est Mode For CarrvinQ out the ln~en~ion
FIG. 1, gcnerally depicted by the numeral 100, is a flow
chart setting forth one embodiment of the present invention
3 0 that utilizes determination of a ncw normalized significand (f)
via an expedient combinational logic, as opposed to multiple
operations, to determine a new value for X (116), being X', and
-~ obtains a conYergence factor utilized in a mathematical
;~ determination, being convcrgent division or square root

WO 91/10188 PCl/US90/07034
53


determination, that is iterated until a solution with a
predetermined degree of accuracy is obtained ( I 18, 120).

To commence convergent division and square root
S determination utilizing floating-point arithmetic in accordance
with one embodiment of the invention, a numeric processor
(such as a digital signal processor) utilizes a processing
platform to check an input X to determine whether or not X is
equal to + ~, + O, or Not-a-Number (NaN) (102). If X is equal
to +oo, +0, or NaN, an error-check mechanism bypasses
convergence factor determination according to a rationale tha
utilizes a range limitation of X to O.S < X < B (122, B being set
out more specifically below). If X is other than + oo, +0, or
NaN~ X is modified by multiplication by a suitable seed value S,
1 S S - l/X being a workable value, to obtain an X in a range of
0.5 < X < B such that B is assigned 1.5 for convergent division
and 2.0 for square root determination (103, 104)~ Set X to X =
2e ~ f, provided that 1 < f < 2 (lOS). The processing platform
then checks whether or not 0.5 < X < 1.0 (106). If O.S < X <
1.0, the platform sets e = -1 (110). If it is not true that O.S < X
< 1.0, then 1.0 X < B (108), and e is set to O (112). When e
has been set (110, 112), f' is determined (114; additional detail
:: ~ ; regarding the determination of f will be provided below), and
X' is also~determined (116)~ where X' = 2e~ f l`he platform
: 25 utilizcs X' to compute a convergence factor for the
:: ~ mathematical detetmination being invoked, being convergent
: division: or square root determination (118). Then a
convcrgencc algorithm is computed for the mathematical
determination being invoked, convergent division or square
3 0 root determinatic . and is itcrated until a solution with a
predetcrmined degree of accuracy is obtained ( 120).
` :: In one cmbodiment of a convergence factor
~: determination for a convergent division determination, set
forth in FIG. 2 and depicted generally by the numeral '~00,



-
:,

wo gl/10188 ;~ ,3~ Pcr/US90/07034



after e has been set ( 1 10, 1 12), the processing platform biases
the exponent e in accordance with the IEEE 754-1985 floating-
point standard using an odd bias, yielding a biased exponent
with a least significant bit (lsb)(206). If the least signi~lcant bit r
5 of the biased exponent is 1 (214J, a binary f value of l.wxyzO is
selected (212, 213). If the least significant bit of the biased
exponent is 0, a binary f value of l .1 vwxy is selected (212,
215). The selected value of f to the right of the binary decimal
,~ is inverted (216) to yield a binary number of 1.0v'w'x'y' for f
if the related least significant bit is 0 and 1.w'x'y'z'1 for f if the
related least significant bit is 1 (218). In addition, the least
significant bit of the biased exponent e is inverted (208~ to
form a final biased exponent for f (21Q).
In one embodiment of a convergence factor
determination for a square root determination, set forth in FIG.
3 and depicted generally by the numeral 300, after e has been
set (112, 114), the proccssing platforrn biases the exponent e in
accordance with thc IEEE 754-1985 floating-point standard
using an odd bias, yielding a biased exponent with a least
significant bit (306). If the least significant bit of the biased
~- ~ exponent is 1 (3l4), a binary f value of l.vwxyz is selected
`~ (312, 313). If thc least significant bit of the biased exponent is
` ~ 0 (314), a binary f valuc of l.llvwx is selected (312, 3I5).
The selected value of f to thc rigbt of the binary decimal is
2 5 then invertcd (316) to yield a binary number of 1.00v'w'x' if
the related Icast signîficant bit is 0 and l.v'w'x'y'z' if the
relatcd least significant bît is 1 (318). In addîtion, the least
sîgnificant bit of thc bîased exponent e is inverted (308) to
form a final biased cxponent for f' (310?.
3 0 It should be noted that, both in convergent divîsion and
square root determînation, convergence factor determination
wîll incur one lsb of error, The cause of the onc lsb of error is
due to the usc of the one's complement rather than the two's
complement opcratîon. While the two's complement wîll not


~'

WO 91/10188 PCT~/US90/07034
35~


give the one lsb of error, the two's complement requires a
carry propagation which slows down the convergencc factor
determination. The one's complement avoids this carry ~
propagation and is preferred because of its speed. The one lsb
S of error is negligible in convergence algorithms since the
computation is typically performed using extended precision
hardware and is then rounded to a lower precision.
In the case of X = 1, the onc lsb ot error will cause the
result to be slightly less than one, speci~lcally, one lsb less than
10 one, and the exponent lsb changes accordingly.
FIG. 4 depicts a hardware implementation of the present
invention, generally depicted by the numeral 400. A computer
program for implementation of the present invention may be
stored in the program memory (404), other memory (412), or
15 may be embodied in hardware in the arithmetic logic unit
(ALU) (406) by allocation of data storage means and data
manipulation means of a numeric processor. In one
embodiment, the program contro I unit (402) utilizes the bus
(410) to select a computer program to implement the present
0 invention, and the status register determines whether X = + ~.
+ O, or NaN (408). If X - + ~, :i: 0, or NaN, a processing
platform processes an error-check mechanism, and processing
- stops. If X is other than ~ 0, or NaN, the ALU converts X
to a value X such that O.S S X < B, where multiplication by
25 -1/X is a workabl`e conversion and ~ is selected as 1.5 for
convergent division and as 2.0 for square root determination
(406).
Por convergent division a primary selecting means of the
ALU selects a valuc of negative one for e where O.S S X c 1.0,
30 and a secondary selecting means of the ALU selects a value of
zero for e where 1.0 S X ~ 1.5 (406). For square root
determination a tertiary selecting means of the ALU selects a
value of ncgative one for e where 0.5 S X < 1.0, and a
quaternary means of the ALU selec~s a value of zero for e

wo 91/101~8 Pcr/usso/0703




where l.0 S X < 2.0 (406). This exponent e is biascd with an
odd bias value according to the IEEE 754-1985 floating-point
standard. The ALU computes a value of f, where f = X/2
provided that 1 ~i f < 2, and outputs f as a series of binary bits
consisting of a most significant bit, being one, to the left of a
point and remaining binary bits to the nght of the binary point.
generally descnbed here as l.vwxyz (406). For convergent
division and 0.5 S X ~ l.0 such that the lsb of the biased
exponent is equal to zero, the ALU selects an output of a most
signi~lcant binary bit of one to the left of the binary point and
of one followed by the binary bits to the right of the binary
point for the new binary bits to the right of the binary point
(406). For convergent division and l.0 < X < l.5 such that the
lsb of the biased exponent is equal to l, the ALU selects an
l 5 output of a most significant binary bit of one to the left of the
binary point and of the initially second and all following binary
~: bits to the right of the binary decimal point together with a
zero for thc new binary bits to the right of thc binary point
(406).
For squarc root determination and 0.5 c X < l.0 such
that the lsb of biased exponent is equal to zero, the ALU selects
an output of a most significant binary bit of one to thc left of
the binary point and of two ones followed by all bits initially to
the right of thc binary decimal for the new binary bits to the
'7 S right of thc binary point (406). For square root detcrmination
and l.0 S X < 2.0 such that thc lsb of the biased exponent is
equal to one, the ALU sclccts an output of a most significant
binary bit of onc to thc left of the binary point and of all bits
initially to the right of the binary point for thc ncw binary bits
3 0 to the right of thc binary point (406). Thè ALU then inverts all
bits to the right of thc binary decimal point for all
mathcmatical dcterminations described abo-le, the output
being f (406). The ALU also complements the lsb of the biased
exponent to dcterminc the new biased exponent (406).

~0 91/10188 PCI/US90/07034
3~J~3

For all such determinations, the ALU determines X',
where X' = 2e ~ f (406). For convergent division the ALU
determines a convergence factor of 2.0 - X' and for square~ root
determination the ALU deaérmines a convergence factor of 1.5
5 - O.5X' (406~. The ALU utilizes one or more data manipulation
and storage devices for computing a convergent division
algorithm or a square root determination employing a related
convergence factor until a solution with a predetermined
degree of accuracy is obtained (406). :~
What is claimed is: ;

Representative Drawing
A single figure which represents the drawing illustrating the invention.
Administrative Status

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Administrative Status , Maintenance Fee  and Payment History  should be consulted.

Administrative Status

Title Date
Forecasted Issue Date 1994-08-30
(86) PCT Filing Date 1990-12-03
(87) PCT Publication Date 1991-06-30
(85) National Entry 1991-08-22
Examination Requested 1991-08-22
(45) Issued 1994-08-30
Deemed Expired 1999-12-03

Abandonment History

There is no abandonment history.

Payment History

Fee Type Anniversary Year Due Date Amount Paid Paid Date
Application Fee $0.00 1991-08-22
Registration of a document - section 124 $0.00 1992-03-17
Maintenance Fee - Application - New Act 2 1992-12-03 $100.00 1992-09-25
Maintenance Fee - Application - New Act 3 1993-12-03 $100.00 1993-09-28
Maintenance Fee - Patent - New Act 4 1994-12-05 $100.00 1994-09-26
Maintenance Fee - Patent - New Act 5 1995-12-04 $150.00 1995-11-14
Maintenance Fee - Patent - New Act 6 1996-12-03 $150.00 1996-11-14
Maintenance Fee - Patent - New Act 7 1997-12-03 $150.00 1997-11-04
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
MOTOROLA, INC.
Past Owners on Record
LINDSLEY, BRETT LOUIS
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Cover Page 1997-10-26 1 36
Abstract 1997-10-26 1 49
Claims 1997-10-26 8 315
Drawings 1997-10-26 3 103
Representative Drawing 1999-02-01 1 9
Description 1997-10-26 7 325
Office Letter 1992-03-26 1 38
PCT Correspondence 1994-06-02 1 37
International Preliminary Examination Report 1991-08-22 1 41
Fees 1996-11-14 1 61
Fees 1994-09-26 1 42
Fees 1992-09-25 1 55
Fees 1993-09-28 1 92
Fees 1995-11-14 1 67