The invention discloses a method for implementing register caches of GPGPU (
general purpose graphics processing units). The method includes removing original register files in various
stream processors, adding the caches of registers required for storing threads being executed, and loading
register data in memories to the register caches before the threads are executed; selecting the thread combinations with the maximum thread quantities from the
executable threads on the premise that the registers required by execution of the threads can be stored in the register caches of the
stream processors, executing the selected thread combinations, loading
register data in the memories to the register caches, selectively executing the threads in the thread combinations in optional
modes and reselecting another group of threads when all the threads in the selected thread combinations cannot be executed. The
register data are used by each thread in the selected thread combinations. The method has the advantages that storage spaces required by the register files of the
stream processors can be reduced,
energy consumption and areas can be decreased, the problem of constraints due to insufficient quantities of registers of existing stream processors can be solved, and the
system efficiency can be improved.