Patent ID: 8255592

Claim:
A method of managing data movement in a cell broadband engine processor, comprising: determining one or more idle synergistic processing elements (SPEs) among multiple SPEs in the cell broadband engine processor; creating a first SPE of the one or more idle SPEs as a managing SPE, informing a computing SPE among said multiple SPEs of a starting effective address of a local storage (LS) of said managing SPE and an effective address for a command queue; and managing, by the managing SPE, movement of data associated with computing of said computing SPE based on one or more commands in the command queue, wherein the one or more commands were sent from the computing SPE to the managing SPE, wherein the managing SPE comprises a data buffer located in the LS, and wherein the managing SPE managing movement of data associated with computing of said computing SPE based on the one or more commands comprises, determining, by the managing SPE, that the one or more commands in said command queue comprises a data loading command; determining that the data to be loaded in accordance with the data load command is not in the buffer; determining whether space of said data buffer can accommodate the data of the data load command based on size of the data; if the space of said data buffer can accommodate the data of the data load command, buffering the data in said data buffer before said issuing the command to transfer said data of the data load command; if the space of said data buffer cannot accommodate the data of the data load command, determining whether a least recently used data is modified; if the least recently used data is modified, issuing a command, by the managing SPE, to store the least recently used data to memory from the data buffer and overwriting the least recently used data in the data buffer with the data of the data load command before said issuing the command to transfer said data of the data load command; and if the least recently used data is not modified, overwriting the least recently used data in the data buffer with the data of the data load command before said issuing the command to transfer said data of the data load command.