Registers for data transfers
AssigneeIntel Corporation
InventorsGilbert Wolrich, Mark B. Rosenbluth, Debra Bernstein, Matthew J. Adiletta
Life of this patent
Estimating the term…
Abstract
A system and method for employing registers for data transfer in multiple hardware contexts and programming engines to facilitate high performance data processing. The system and method includes a processor that includes programming engines with registers for transferring data from one of the registers residing in an executing programming engine to a subsequent one of the registers residing in an adjacent programming engine.
Claims30
A processor comprising:
- a plurality of programming engines that includes a plurality of registers for transferring data from one of the plurality of registers residing in an executing programming engine to a subsequent one of the plurality of registers residing in an adjacent programming engine.
A method of transferring data between programming engines, the method comprising:
- reading data from a plurality of data registers of the programming engines for processing the data in a parallel processor of a pipeline unit, which supports execution of multiple contexts in each of the programming engines;
- and
- writing data to the plurality of data registers of the programming engines, the plurality of data registers residing in an executing programming engine.
A computer program product stored on a computer readable medium, the program comprising instructions for causing a parallel processor to:
- read data from a plurality of data registers of the programming engines for processing data in a parallel processor of a pipeline unit, which supports execution of multiple contexts in each of the programming engines;
- and
- write data to the plurality of data registers of the programming engines, the plurality of data registers residing in an executing programming engine.
An article comprising:
- a storage medium having stored thereon instructions that when executed by a machine results in the following:
- transfer of data from one of a first plurality of registers in an executing programming engine to a subsequent one of a second plurality of registers residing in an adjacent programming engine;
- assigning of tasks for packet processing to the plurality of programming engines;
- establishing programming stages corresponding to the plurality of programming engines;
- and
- establishing a plurality of pipelines between the programming stages.
A multiprocessing system comprising:
- a plurality of programming engines that includes a plurality of next neighbor registers configured to transfer data from one of a first plurality of registers residing in an executing programming engine to a subsequent one of a second plurality of registers residing in an adjacent programming engine and a synchronization unit to process data packets across a functional pipeline unit.
Dependencies are inferred from the claim text.