The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.

The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.

Date of Patent:
Aug. 21, 2018

Filed:

Dec. 10, 2015
Applicant:

Oracle International Corporation, Redwood Shores, CA (US);

Inventors:

Kathirgamar Aingaran, San Jose, CA (US);

Garret F. Swart, Palo Alto, CA (US);

Assignee:

Oracle International Corporation, Redwood Shores, CA (US);

Attorney:
Primary Examiner:
Int. Cl.
CPC ...
G06F 9/30 (2018.01); G06F 17/30 (2006.01); G06F 9/54 (2006.01); G06F 9/38 (2018.01); G06F 12/0804 (2016.01); G06F 12/12 (2016.01); G06F 15/173 (2006.01); G06F 12/0817 (2016.01); G06F 12/14 (2006.01); G06F 21/62 (2013.01); H04L 29/06 (2006.01); G06F 15/78 (2006.01); G06F 13/10 (2006.01); G06F 13/362 (2006.01); G06F 13/40 (2006.01);
U.S. Cl.
CPC ...
G06F 9/30065 (2013.01); G06F 9/381 (2013.01); G06F 9/3851 (2013.01); G06F 9/3867 (2013.01); G06F 9/546 (2013.01); G06F 12/082 (2013.01); G06F 12/0804 (2013.01); G06F 12/12 (2013.01); G06F 12/1408 (2013.01); G06F 12/1475 (2013.01); G06F 13/102 (2013.01); G06F 13/362 (2013.01); G06F 13/4068 (2013.01); G06F 15/17331 (2013.01); G06F 15/7889 (2013.01); G06F 17/30324 (2013.01); G06F 17/30442 (2013.01); G06F 17/30483 (2013.01); G06F 17/30495 (2013.01); G06F 17/30498 (2013.01); G06F 17/30501 (2013.01); G06F 17/30519 (2013.01); G06F 17/30578 (2013.01); G06F 17/30595 (2013.01); G06F 17/30867 (2013.01); G06F 21/6209 (2013.01); H04L 69/14 (2013.01); Y02D 10/14 (2018.01); Y02D 10/151 (2018.01); Y02D 10/45 (2018.01);
Abstract

A method and apparatus for reconfiguring hardware structures to pipeline the execution of multiple special purpose hardware implemented functions, without saving intermediate results to memory, is provided. Pipelining functions in a program is typically performed by a first function saving its results (the 'intermediate results') to memory, and a second function subsequently accessing the memory to use the intermediate results as input. Saving and accessing intermediate results stored in memory incurs a heavy performance penalty, requires more power, consumes more memory bandwidth, and increases the memory footprint. Due to the ability to redirect the input and output of the hardware structures, intermediate results are passed directly from one special purpose hardware implemented function to another without storing the intermediate results in memory. Consequently, a program that utilizes the method or apparatus, reduces power consumption, consumes less memory bandwidth, and reduces the program's memory footprint.


Find Patent Forward Citations

Loading…