Extended use of logarithm and exponent instructions

US9779272B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9779272-B2
Application numberUS-201514685978-A
CountryUS
Kind codeB2
Filing dateApr 14, 2015
Priority dateApr 14, 2015
Publication dateOct 3, 2017
Grant dateOct 3, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Embodiments of the present disclosure are based on a recognition that some processors are configured with instructions to compute logarithms and exponents (i.e. some processors include log and exp circuits). Embodiments of the present disclosure are further based on an insight that the use of the existing log and exp circuits could be extended to compute certain other functions by using the existing log and exp circuits to transform from a Cartesian to a logarithmic domain and vice versa and performing the actual computations of the functions in the logarithmic domain, which may be computationally easier than performing the computations in the Cartesian domain.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus for computing a nonlinear function of an input variable, the apparatus comprising: a logarithmic circuit configured to compute a logarithm of a first input value, wherein the first input value is an absolute value of the input variable; a reciprocal circuit configured to obtain the logarithm of the first input value and configured to: when enabled, negate the logarithm of the first input value and provide the negated logarithm of the first input value as an output of the reciprocal circuit, and when disabled, provide the logarithm of the first input value as the output of the reciprocal circuit; a root circuit configured to obtain the output of the reciprocal circuit and configured to: when enabled, divide the output of the reciprocal circuit by N and provide the divided output of the reciprocal circuit as an output of the root circuit, and when disabled, provide the output of the reciprocal circuit as the output of the root circuit; and a control logic configured to perform one or more of: enable the reciprocal circuit and disable the root circuit when the nonlinear function is a reciprocal, disable the reciprocal circuit and enable the root circuit when the nonlinear function is an Nth root, and enable the reciprocal circuit and enable the root circuit when the nonlinear function is a reciprocal Nth root. 2. The apparatus according to claim 1 , further comprising: an exponential circuit configured to compute an exponent of the output of the root circuit. 3. The apparatus according to claim 1 , further comprising: an absolute value circuit configured to compute the absolute value of the input variable, store a sign of the input variable, and provide the computed absolute value to the logarithmic circuit as the first input value. 4. The apparatus according to claim 3 , further comprising: an exponential circuit configured to compute an exponent of the output of the root circuit and to combine the computed exponent with the stored sign of the input variable. 5. The apparatus according to claim 1 , wherein the first input value is a floating point value. 6. The apparatus according to claim 1 , wherein the first input value is a fixed point value. 7. The apparatus according to claim 1 , wherein the apparatus is implemented in an application specific integrated circuit (ASIC), a programmable gate array (PGA), or a digital signal processor (DSP). 8. A non-transitory computer readable storage medium storing one or more computer readable instructions which, when executed on a processor, configure the processor to carry out a method for computing a nonlinear function of an input variable, the method comprising: instructing a logarithmic circuit to compute a logarithm of a first input value, wherein the first input value is an absolute value of the input variable; instructing a reciprocal circuit to perform: when enabled, negate the logarithm of the first input value and provide the negated logarithm of the first input value as an output of the reciprocal circuit, and when disabled, provide the logarithm of the first input value as the output of the reciprocal circuit; instructing a root circuit to perform: when enabled, divide the output of the reciprocal circuit by 2 and provide the divided output of the reciprocal circuit as an output of the root circuit, and when disabled, provide the output of the reciprocal circuit as the output of the root circuit; and performing one or more of: enabling the reciprocal circuit and disabling the root circuit when the nonlinear function is a reciprocal, disabling the reciprocal circuit and enabling the root circuit when the nonlinear function is a Nth root, and enabling the reciprocal circuit and enabling the root circuit when the nonlinear function is a reciprocal Nth root. 9. The non-transitory computer readable storage medium according to claim 8 , wherein the method further comprises instructing an exponential circuit to compute an exponent of the output of the root circuit. 10. The non-transitory computer readable storage medium according to claim 8 , wherein the method further comprises instructing an absolute value circuit to compute the absolute value of the input variable; storing a sign of the input variable; and providing the computed absolute value to the logarithmic circuit as the first input value. 11. The non-transitory computer readable storage medium according to claim 10 , wherein the method further comprises instructing an exponential circuit to compute an exponent of the output of the root circuit; and combining the computed exponent with the stored sign of the input variable. 12. The non-transitory computer readable storage medium according to claim 8 , wherein the first input value is a floating point value. 13. The non-transitory computer readable storage medium according to claim 8 , wherein the first input value is a fixed point value. 14. A method for computing a nonlinear function of an input variable, the method comprising: performing one or more of: when the nonlinear function is a reciprocal, enabling a reciprocal circuit and disabling a root circuit, when the nonlinear function is a Nth root, disabling the reciprocal circuit and enabling the root circuit, and when the nonlinear function is a reciprocal Nth root, enabling the reciprocal circuit and enabling the root circuit; using a logarithmic circuit to compute a logarithm of a first input value, wherein the first input value is an absolute value of the input variable; when the reciprocal circuit is enabled, using the reciprocal circuit to negate the logarithm of the first input value and provide the negated logarithm of the first input value as an output of the reciprocal circuit; when the reciprocal circuit is disabled, providing the logarithm of the first input value as the output of the reciprocal circuit; when the root circuit is enabled, using the root circuit to divide the output of the reciprocal circuit by 2 and provide the divided output of the reciprocal circuit as an output of the root circuit; and when the root circuit is disabled, providing the output of the reciprocal circuit as the output of the root circuit. 15. The method according to claim 14 , further comprising using an exponential circuit to compute an exponent of the output of the root circuit. 16. The method according to claim 14 , further comprising: using an absolute value circuit to compute the absolute value of the input variable; storing a sign of the input variable; and providing the computed absolute value to the logarithmic circuit as the first input value. 17. The method according to claim 16 , further comprising: using an exponential circuit to compute an exponent of the output of the root circuit; and combining the computed exponent with the stored sign of the input variable. 18. The method according to claim 14 , wherein the first input value is a floating point value. 19. The method according to claim 14 , wherein the first input value is a fixed point value.

Assignees

Inventors

Classifications

  • G06F7/5235Primary

    using indirect methods, e.g. quarter square method, via logarithmic domain · CPC title

  • G06G7/26Primary

    Arbitrary function generators (using orthogonal functions, e.g. Fourier series, G06G7/19) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9779272B2 cover?
Embodiments of the present disclosure are based on a recognition that some processors are configured with instructions to compute logarithms and exponents (i.e. some processors include log and exp circuits). Embodiments of the present disclosure are further based on an insight that the use of the existing log and exp circuits could be extended to compute certain other functions by using the exi…
Who is the assignee on this patent?
Analog Devices Inc
What technology area does this patent fall under?
Primary CPC classification G06F7/5235. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 03 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).