Outer product-based matrix-vector multiplication operation apparatus for accelerating vector operation and method using the same
US-2024362297-A1 · Oct 31, 2024 · US
US9552189B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-9552189-B1 |
| Application number | US-201414497250-A |
| Country | US |
| Kind code | B1 |
| Filing date | Sep 25, 2014 |
| Priority date | Sep 25, 2014 |
| Publication date | Jan 24, 2017 |
| Grant date | Jan 24, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Circuitry that performs floating-point operations on an integrated circuit is provided. The circuitry may execute a floating-point operation by decomposing the floating-point operation into multiple steps and decomposing the floating-point number on which to perform the floating-point operation into multiple portions. The circuitry may include storage circuits that store at least some results of the multiple steps, and memory access operations may be performed using some portions of the floating-point number. The circuitry may use arithmetic floating-point and arithmetic fixed-point circuits to implement Taylor series expansion circuits that may perform a subset of the multiple steps, thereby reducing the complexity of the subset of these steps.
Opening claim text (preview).
What is claimed is: 1. A method for performing a floating-point operation on an integrated circuit, comprising: receiving the floating-point operation; decomposing the floating-point operation into multiple steps; receiving a floating-point number on which to perform the floating-point operation; computing an intermediate result based on the floating point number during at least one of the multiple steps; and updating a storage circuit by storing the intermediate result at an address that is based on the received floating-point number. 2. The method of claim 1 , further comprising: decomposing the floating-point number into at least two floating-point number portions; and retrieving the intermediate result from the storage circuit using a portion of the at least two floating-point number portions. 3. The method of claim 2 , wherein retrieving the intermediate result further comprises: encoding the portion to determine one of the addresses in the storage circuit. 4. The method of claim 2 , further comprising: performing an arithmetic floating-point operation on the floating-point number and the intermediate result. 5. The method of claim 4 , wherein the floating-point arithmetic operation is selected from the group consisting of: floating-point addition, floating-point subtraction, floating-point multiplication, and floating-point division. 6. The method of claim 2 , further comprising: performing a logic operation on the intermediate result and at least one of the at least two floating-point number portions. 7. The method of claim 1 , wherein the floating-point operation comprises the natural exponential function of the floating-point number. 8. The method of claim 1 , wherein the floating-point operation comprises the natural logarithmic function of the floating-point number. 9. Circuitry for calculating a natural exponential function of a first floating-point number having a sign, an exponent, and a mantissa, comprising: a first circuit that receives the first floating-point number, wherein the first circuit produces a first component of the natural exponential function of the first floating-point number; a second circuit that receives the first floating-point number, wherein the second circuit produces a second component of the natural exponential function of the first floating point number; and a floating-point arithmetic circuit that receives the first component from the first circuit and the second component from the second circuit and that performs a floating-point arithmetic operation on the first and second components to compute a second floating-point number that represents the natural exponential function of the first floating-point number. 10. The circuitry of claim 9 , wherein the first circuit further comprises: a storage circuit that stores intermediate results, wherein each intermediate result is stored at an address that is based on at least a portion of the first floating-point number. 11. The circuitry of claim 10 , wherein the intermediate results comprise additional floating-point numbers. 12. The circuitry of claim 10 , wherein the first circuit further comprises: enable circuitry that receives first and second signals, wherein the first signal is based on the exponent of the first floating-point number, wherein the second signal is one of the stored intermediate results, and wherein the enable circuitry outputs a third floating-point number that is based on the first and second signals. 13. The circuitry of claim 12 , wherein the second circuit further comprises: a floating-point subtractor that receives the first and third floating-point numbers, wherein the floating-point subtractor computes a fourth floating-point number based on the difference between the first and third floating-point numbers. 14. The circuitry of claim 13 , wherein the second circuit further comprises: decomposition circuitry that receives the fourth floating-point number from the floating-point subtractor and decomposes the fourth floating-point number into a sum of fifth and sixth floating-point numbers, wherein the second component received by the floating point arithmetic circuit is computed based on the fifth and sixth floating point numbers. 15. The circuitry of claim 14 , wherein the fifth and sixth floating-point numbers have the same sign and the same exponent as the fourth floating-point number. 16. The circuitry of claim 14 , wherein the second circuit further comprises: a subset of floating-point arithmetic circuits that receives the sixth floating-point number, wherein the subset of floating-point arithmetic circuits provides a seventh floating-point number that is based on the natural exponential function of the sixth floating-point number. 17. The circuitry of claim 16 , wherein the subset of floating-point arithmetic circuits computes the seventh floating-point number based on a second degree Taylor series of the natural exponential function of the sixth floating-point number. 18. The circuitry of claim 17 , wherein the subset of floating point arithmetic circuits comprises: a fixed-point subtractor; a floating-point multiplier; two floating-point adders; and interconnect circuitry that conveys signals between the fixed-point subtractor, the floating-point multiplier, and the two floating-point adders such that the fixed-point subtractor, the floating-point multiplier, and the two floating-point adders compute the second degree Taylor series of the natural exponential function of the sixth floating-point number using Horner's scheme. 19. The circuitry of claim 16 , wherein the second circuit further comprises: an additional storage circuit, wherein the additional storage circuits stores additional intermediate results at addresses that are based on at least a portion of the fifth floating-point number, and wherein the additional intermediate results are based on the natural exponential function of the fifth floating-point number; and a floating-point multiplier that receives the seventh floating-point number and one of the additional intermediate results, wherein the floating-point multiplier computes an eighth floating-point number as the product of the seventh floating-point number and the one of the additional intermediate results, and wherein the second component received by the floating point arithmetic circuit is based on the eight floating point number. 20. Circuitry for calculating the natural logarithmic function of a first floating-point number having a sign, an exponent, and a mantissa, comprising: a first circuit that receives the exponent and a portion of the mantissa of the first floating-point number and that produces a second floating-point number based at least in part on the natural logarithmic function of two to the power of the exponent; a second circuit that receives the mantissa of the first floating-point number and that produces a third floating-point number based on a decomposition of the mantissa into at least two factors; and a floating-point adder coupled to the first and second circuits, that receives the second and third floating-point numbers from the first and second circuits and that computes a sum of the second and third floating-point numbers, wherein the sum represents the natural logarithmic function of the first floating-point number. 21. The circuitry of claim 20 , wherein the first circuit further comprises: a storage circuit that stores floating-point numbers and that performs memory access operations base
Complex mathematical operations {(function generation by table look-up G06F1/03; evaluation of elementary functions by calculation G06F7/544)} · CPC title
Indexing scheme relating to group G06F7/483 · CPC title
Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers {(G06F7/4806, G06F7/4824, G06F7/49, G06F7/491, G06F7/544 take precedence)} · CPC title
Logarithmic or exponential functions · CPC title
Mantissa overflow or underflow in handling floating-point numbers · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.