Claims
- 1. A method for conserving general purpose processor registers during the execution of a program in which short term data having a short processing period and long term data having a long processing period are processed, the method comprising the acts of:
- providing a program comprising a first address space for addressing said short term data and a second address space for addressing long term data;
- defining, within said processor, a first plurality of said general purpose registers as a set of pooled registers for storing said short term data;
- executing said program;
- allocating, responsive to a request from said program for a specified number of pooled registers, at least one of said pooled registers in the set to said first address space;
- controlling, via said program, said at least one allocated pool register for the duration of said short processing period; and
- terminating program control of said at least one allocated pool register upon the expiration of said short processing period to return said at least one allocated pool register to the set so that said at least one allocated pool register can be re-allocated subsequent to the expiration of said short processing period.
- 2. The method of claim 1, the method further comprising the act of re-pooling said allocated pool register with said pooled registers.
- 3. The method of claim 2, wherein said act of allocating comprises the act of allocating, responsive to said program, all of said pool registers to said first address space of said program.
- 4. The method of claim 3, wherein said act of controlling comprises the acts of controlling, via said program, all of said allocated pool registers for said short processing period.
- 5. The method of claim 4, wherein said act of terminating comprising the act of terminating program control of all of said allocated pool registers upon the expiration of said short processing period.
- 6. The method of claim 5, wherein said act of re-pooling comprises the act of the re-pooling all of said allocated pool registers.
- 7. The method of claim 1, further comprises the act of defining within said processor a second plurality of registers comprising a long term register pool for storing said long term data.
- 8. The method of claim 7, wherein if said program's first address space requests a larger quantity of registers than is available in said pool of registers, said act of allocating further comprises the act of allocating the outstanding number of registers requested by said program's first address space to an equal number of registers within said long term register pool.
- 9. The method of claim 8, wherein said act of controlling further comprises the act of controlling, via said program for a duration of said long processing period, said equal number of registers within said long term register pool.
- 10. The method of claim 9, wherein said act of re-pooling further comprises the act of re-pooling said equal number of registers within said long term register pool in said long term register pool.
- 11. The method of claim 1, further comprising the acts of:
- re-allocating, responsive to said program, said at least one of said pooled registers to said first address space;
- controlling, via said program, said re-allocated processor register for said short processing period; and
- terminating program control of said re-allocated pool register upon the expiration of said short processing period;
- wherein said acts of re-allocating, controlling said re-allocated register, and terminating program control of said re-allocated register occur within said long processing period.
- 12. A software product for controlling a processor having a plurality of general purpose memory registers during the execution of a program in which short term data having a short processing period and long term data having a long processing period are processed, the software product comprising:
- a computer readable storage media comprising:
- code that provides a program having a first address space for addressing short term data and a second address space for address long term data;
- code that directs said processor to define a first plurality of said general purpose registers as a set of pooled registers for storing said short term data;
- code that directs said processor to execute said program;
- code that directs said processor to allocate, responsive to a request from said program for a specified number of pooled registers, at least one of said pooled registers in the set to said first address space;
- code that directs said processor to control, via said program, said at least one allocated pool register for the duration of said short processing period; and
- code that directs said processor to terminate program control of said at least one allocated pool register upon the expiration of said short processing period to return said at least one allocated pool register to the set so that at said least one allocated pool register can be re-allocated subsequent to the expiration of said short processing period.
- 13. The software product of claim 12, wherein said computer readable storage media further comprises code that direct said processor to re-pool said allocated pool register with said pooled registers.
- 14. The software product of claim 13, wherein said computer readable storage media further comprises code that directs said processor to define within said processor a second plurality of registers comprising a long term register pool for storing said long term data.
- 15. The software product of claim 14, wherein, if said program's first address space requests a larger quantity of registers than is available in said pool of registers, said computer readable storage media further comprises code that directs said processor to allocating the outstanding number of registers requested by said program's first address space to an equal number of registers within said long term register pool.
- 16. The software product of claim 15, wherein said code that directs said processor to control further comprises code that directs said processor to control said second plurality of registers for the duration of said long processing period.
- 17. In an audio signal processor for processing audio information, the audio signal processor having general purpose memory registers for storing short term audio data having a short processing period and long term audio data having a long processing period, a method for conserving processor registers comprising the acts of:
- providing a program comprising a first address space for addressing said short term data and a second address space for addressing long term data;
- defining, within said processor, a first plurality of said general purpose registers as a set of pooled registers for storing said short term data;
- executing said program;
- allocating, responsive to a request from said program for a specified number of pooled registers, at least one of said pooled registers to said first address space;
- controlling, via said program, said at least one allocated pool register for the duration of said short processing period;
- terminating program control of said at least one allocated pool register upon the expiration of said short processing period; and
- re-pooling said allocated pool register with said pooled registers to return said at least one allocated pool register to the set so that at said least one allocated pool register can be re-allocated subsequent to the expiration of said short processing period.
CROSS-REFERENCES TO RELATED APPLICATIONS
The commonly owned, co-pending patent application entitled: "Processor with Instruction Set for Audio Effects," is a continuation of Ser. No. 08/886,920, filed Jul. 2, 1997, now U.S. Pat. No. 5,930,158 is herein incorporated by reference.
US Referenced Citations (2)
| Number |
Name |
Date |
Kind |
|
4811208 |
Myers et al. |
Mar 1989 |
|
|
5890009 |
Luick et al. |
Mar 1999 |
|
Foreign Referenced Citations (1)
| Number |
Date |
Country |
| 2-18622 |
Jan 1990 |
JPX |
Continuations (1)
|
Number |
Date |
Country |
| Parent |
886920 |
Jul 1997 |
|