Processing a data stream
AssigneeSTMicroelectronics S.r.l.
InventorSimon McIntosh-Smith
Life of this patent
Estimating the term…
Abstract
A method and computer for processing an incoming data stream, for example of video or audio data is described. A system memory is divided into first and second memory spaces, the first memory space for holding a data stream and the second memory space for holding a set of program data. A cache has first and second partitions allocated exclusively respectively to the first and second memory spaces. In this manner, when the data stream is transferred between an execution unit and the main memory, program data is not evicted from the cache.
Claims21
A method of processing a data stream using a set of program data in a computer system comprising an execution unit, a main memory and a cache memory divided into a plurality of cache partitions wherein the data stream is to be stored in a first memory space in the main memory and the set of program data is to be stored in a second memory space in the main memory, the method comprising:
- allocating exclusively to the first memory space a first one of the cache partitions for use by the data stream;
- allocating exclusively to the second memory space a second one of the cache partitions for use by the program data;
- and
- transferring the data stream between the execution unit and the main memory via the first allocated cache partition whereby in effecting this transfer the program data is not evicted from the cache memory.
A method of processing an incoming data stream using a set of program data to generate an outgoing data stream in a computer system comprising an execution unit, a main memory and a cache memory divided into a plurality of cache partitions wherein the incoming data stream is to be stored in a first memory space in the main memory, the set of program data is to be stored in a second memory space in the main memory and the outgoing data stream is to be stored in a third memory space in main memory, the method comprising:
- allocating exclusively to the first memory space a first one of the cache partitions for use by the incoming data stream;
- allocating exclusively to the second memory space a second one of the cache partitions for use by the program data;
- allocating exclusively to the third memory space a third one of the cache partitions for use by the outgoing data stream;
- prefetching data from the incoming data stream into the first cache partition;
- processing said data using the program data to generate said outgoing data stream and transferring the outgoing data stream to the third cache partition;
- and
- writing the outgoing data stream from the third cache partition into the third memory space.
A computer system for processing a data stream comprising:
- a main memory having a first memory space for holding a data stream and a second memory space for holding program data for use in processing said data stream;
- an execution unit for executing a process using said program data;
- a cache memory divided into a plurality of cache partitions;
- a cache access mechanism for controlling the storage of items in the cache memory and allocating exclusively a first one of said partitions for items held in the first memory space and a second one of said partitions for items held in the second memory space;
- and
- a data transfer mechanism that continuously transfers the data stream between the execution unit and the main memory via the first allocated cache partition without evicting program data from the cache memory.
In a computer system including a processor, a main memory divided into a plurality of sections and a cache memory divided into a plurality of cache partitions, the computer system storing a data stream in a first section of the main memory and storing a set of program data in a second section of the main memory, a method of processing a data stream using the set of program data, the method comprising the steps of:
- associating a first cache partition to the first section of main memory;
- associating a second cache partition to the second section of main memory;
- transferring the data stream between the first section of memory, the first cache partition, and the processor;
- preventing data in the first cache partition from being replaced by data from the second section of memory;
- and
- preventing data in the second cache partition from being replaced by data from the first section of memory.
In a computer system including a processor, a main memory divided into a plurality of sections and a cache memory divided into a plurality of cache partitions, the computer system storing an incoming data stream in a first section of the main memory, storing a set of program data in a second section of the main memory, and storing an outgoing data stream in a third section of main memory, a method of processing a data stream using the set of program data, the method comprising the steps of:
- associating a first cache partition to the first section of main memory;
- associating a second cache partition to the second section of main memory;
- associating a third cache partition to the third section of main memory;
- pre-fetching data from the incoming data stream to the first cache partition;
- processing data retrieved from the first cache partition into the outgoing data stream;
- storing the outgoing data stream into the third cache partition;
- transferring the data from the third cache partition to the third section of memory;
- preventing data in the first cache partition from being replaced by data from the second or third sections of memory;
- preventing data in the second cache partition from being replaced by data from the first or third sections of memory;
- and
- preventing data in the third cache partition from being replaced by data from the first or second sections of memory.
Dependencies are inferred from the claim text.