Claims
- 1. A system, comprising:
a main stack; a micro-stack coupled to the main stack; a data flag coupled to the micro-stack; a stack pointer; wherein the micro-stack resides in the core of a processor and the main stack resides outside of the core of the processor; wherein the stack pointer indicates the top of the main stack; and wherein the data flag indicates valid data in the micro-stack.
- 2. The system of claim 1, further comprising a computing engine coupled to the micro-stack, wherein the computing engine executes stack-based instructions.
- 3. The system of claim 2, wherein the micro-stack provides the computing engine with an operand.
- 4. The system of claim 1, wherein data are written to the micro-stack and wherein data are written to the main stack when the micro-stack is flushed.
- 5. The system of claim 1, wherein data are written to the micro-stack and wherein data are written to the main stack during an overflow condition.
- 6. The system of claim 1, wherein the data flag indicates coherence between the main stack and the micro-stack.
- 7. The system of claim 6, wherein coherency is established by examining the data flag and updating the main stack with values from the micro-stack.
- 8. The system of claim 1, wherein the micro-stack transfers data to the main stack when the micro-stack is full.
- 9. The system of claim 1, wherein the micro-stack retrieves data from the main stack when the micro-stack is empty.
- 10. The system of claim 1, wherein the size of the micro-stack is optimized for increased performance.
- 11. A method of managing a stack-based system, comprising:
loading data on a micro-stack and a main stack, wherein the micro-stack resides in the core of a processor, and the main stack resides outside of the core of a processor; associating a data flag with each data loaded in the micro-stack; determining the status of the data in the micro-stack; and providing data to a compute engine from either the main stack or the micro-stack depending on the status of the data in the micro-stack.
- 12. The method of claim 11, wherein the data flag indicates the validity of the data in the micro-stack.
- 13. The method of claim 12, wherein the data flag indicates that the data in the micro-stack is valid and the data provided to the compute engine comes from the micro-stack.
- 14. The method of claim 12, wherein the data flag indicates that the data in the micro-stack is invalid and the data provided to the compute engine comes from the main stack.
- 15. The method of claim 12, further comprising transferring data from the micro-stack to the main stack if valid data is going to be overwritten.
- 16. The method of claim 12, further comprising transferring data from the main stack to the micro-stack if requested data is invalid.
- 17. The method of claim 11, wherein the data flag includes a read pointer and a write pointer.
- 18. The method of claim 11, wherein the data flag includes valid bits.
- 19. The method of claim 11, further comprising removing data from the micro-stack and disabling the valid data flag associated with each data removed from the micro-stack.
- 20. The method of claim 11, wherein the size of the micro-stack is adapted to provide reduced power consumption.
Priority Claims (1)
| Number |
Date |
Country |
Kind |
| 03291908.6 |
Jul 2003 |
EP |
|
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to U.S. Provisional Application Serial No. 60/400,391 titled “JSM Protection,” filed Jul. 31, 2002, incorporated herein by reference. This application also claims priority to EPO Application No. 03291908.6, filed Jul. 30, 2003 and entitled “A Processor With A Split Stack,” incorporated herein by reference. This application also may contain subject matter that may relate to the following commonly assigned co-pending applications incorporated herein by reference: “System And Method To Automatically Stack And Unstack Java Local Variables,” Ser. No. ______, filed Jul. 31, 2003, Attorney Docket No. TI-35422 (1962-05401); “Memory Management Of Local Variables,” Ser. No. ______, filed Jul. 31, 2003, Attorney Docket No. TI-35423 (1962-05402); “Memory Management Of Local Variables Upon A Change Of Context,” Ser. No. ______, filed Jul. 31, 2003, Attorney Docket No. TI-35424 (1962-05403); “Using IMPDEP2 For System Commands Related To Java Accelerator Hardware,” Ser. No. ______, filed Jul. 31, 2003, Attorney Docket No. TI-35426 (1962-05405); “Test With Immediate And Skip Processor Instruction,” Ser. No. ______, filed Jul. 31, 2003, Attorney Docket No. TI-35427 (1962-05406); “Test And Skip Processor Instruction Having At Least One Register Operand,” Ser. No. ______, filed Jul. 31, 2003, Attorney Docket No. TI-35248 (1962-05407); “Synchronizing Stack Storage,” Ser. No. ______, filed Jul. 31, 2003, Attorney Docket No. TI-35429 (1962-05408); “Methods And Apparatuses For Managing Memory,” Ser. No. ______, filed Jul. 31, 2003, Attorney Docket No. TI-35430 (1962-05409); “Write Back Policy For Memory,” Ser. No. ______, filed Jul. 31, 2003, Attorney Docket No. TI-35431 (1962-05410); “Methods And Apparatuses For Managing Memory,” Ser. No. ______, filed Jul. 31, 2003, Attorney Docket No. TI-35432 (1962-05411); “Mixed Stack-Based RISC Processor,” Ser. No. ______, filed Jul. 31, 2003, Attorney Docket No. TI-35433 (1962-05412); “Processor That Accommodates Multiple Instruction Sets And Multiple Decode Modes,” Ser. No. ______, Jul. 31, 2003, Attorney Docket No. TI-35434 (1962-05413); “System To Dispatch Several Instructions On Available Hardware Resources,” Ser. No. ______, filed Jul. 31, 2003, Attorney Docket No. TI-35444 (1962-05414); “Micro-Sequence Execution In A Processor,” Ser. No. ______, filed Jul. 31, 2003, Attorney Docket No. TI-35445 (1962-05415); “Program Counter Adjustment Based On The Detection Of An Instruction Prefix,” Ser. No. ______, filed Jul. 31, 2003, Attorney Docket No. TI-35452 (1962-05416); “Reformat Logic To Translate Between A Virtual Address And A Compressed Physical Address,” Ser. No. ______, filed Jul. 31, 2003, Attorney Docket No. TI-35460 (1962-05417); “Synchronization Of Processor States,” Ser. No. ______, filed Jul. 31, 2003, Attorney Docket No. TI-35461 (1962-05418); “Conditional Garbage Based On Monitoring To Improve Real Time Performance,” Ser. No. ______, filed Jul. 31, 2003, Attorney Docket No. TI-35485 (1962-05419); “Inter-Processor Control,” Ser. No. ______, filed Jul. 31, 2003, Attorney Docket No. TI-35486 (1962-05420); “Cache Coherency In A Multi-Processor System,” Ser. No. ______, filed Jul. 31, 2003, Attorney Docket No. TI-35637 (1962-05421); “Concurrent Task Execution In A Multi-Processor, Single Operating System Environment,” Ser. No. ______, filed Jul. 31, 2003, Attorney Docket No. TI-35638 (1962-05422); and “A Multi-Processor Computing System Having A Java Stack Machine And A RISC-Based Processor,” Ser. No. ______, filed Jul. 31, 2003, Attorney Docket No. TI-35710 (1962-05423).
Provisional Applications (1)
|
Number |
Date |
Country |
|
60400391 |
Jul 2002 |
US |