Converting a stream of data using a lookaside buffer
AssigneeTexas Instrum Ents Incorporated
InventorJoseph Raymond Michael Zbiciak
Life of this patent
Estimating the term…
Abstract
A stream of data is accessed from a memory system by an autonomous memory access engine, converted on the fly by the memory access engine, and then presented to a processor for data processing. A portion of a lookup table (LUT) containing converted data elements is preloaded into a lookaside buffer associated with the memory access engine. As the stream of data elements is fetched from the memory system each data element in the stream of data elements is replaced with a respective converted data element obtained from the LUT in the lookaside buffer according to a content of each data element to thereby form a stream of converted data elements. The stream of converted data elements is then propagated from the memory access engine to a data processor.
Claims20
A method comprising:
- fetching, by a first streaming engine, a first stream of data elements;
- storing the first stream of data elements in a first data storage of the first streaming engine as a portion of a lookup table (LUT) such that the first data storage operates as a lookaside buffer;
- fetching, by a second streaming engine coupled to the first streaming engine, a second stream of data elements;
- providing the second stream of data elements to the first streaming engine from the second streaming engine;
- replacing, by the first streaming engine, each data element in the second stream of data elements with a respective converted data element obtained from the LUT in the lookaside buffer according to a content of each data element to form a stream of converted data elements;
- storing the stream of converted data elements in a second data storage of the second streaming engine;
- and
- propagating the stream of converted data elements from the second data storage of the second streaming engine to a data processor.
A method of operating a streaming engine, the method comprising:
- operating a first streaming engine and a second streaming engine in a streaming mode for a first period to provide separate streams of data elements to a processor;
- and
- operating the first streaming engine and the second streaming engine in a ganged lookup table mode for a second period that includes:
- fetching, by the first streaming engine, a first stream of data elements from a shared memory;
- storing the first stream of data elements in a first data storage of the first streaming engine as a lookup table (LUT);
- fetching, by the second streaming engine, a second stream of data elements from the shared memory;
- replacing, by the first streaming engine, each data element in the second stream of data elements with a respective converted data element obtained from the LUT to form a third stream of data elements;
- and
- providing, by the second streaming engine, the third stream of data elements to a data processor.
A data processing system comprising:
- a processor to execute instructions;
- a memory system;
- a first streaming engine coupled to the processor and to the memory system to fetch a first stream of data elements from the memory system, wherein the first streaming engine includes a lookaside buffer to store the first stream of data elements as a lookup table;
- and
- a second streaming engine coupled to the processor and to the memory system to fetch a second stream of data elements from the memory system, wherein:
- the first streaming engine is further to replace the second stream of data elements with a third stream of data elements selected from the lookup table using a value of each data element in the second stream of data elements;
- and
- the second streaming engine includes a data storage to store the third stream of data elements.
Dependencies are inferred from the claim text.