Claims
- 1. A multiple execution unit processor, the processor comprising:
a memory unit storing a plurality of execution packets; a buffer storage unit for storing the execution packets; a dispatch unit for directing each instruction of an execution packet applied thereto to an preselected execution unit; and a program memory control unit for retrieving an execution packet from the memory unit, the program memory unit having a first state wherein an execution packet from the memory unit is applied to the dispatch unit and to the buffer storage unit, the execution packet applied to the execution unit being stored therein, wherein in the first state the retrieved execution packet and any corresponding execution packet stored in the buffer storage unit are applied to the dispatch unit simultaneously, the program control memory unit having a second state wherein the execution packets stored in the buffer storage unit are simultaneously applied to the dispatch unit, the program control memory unit having a third state wherein after the earliest stored execution packet in the buffer storage unit is eliminated after each application to the crossbar unit, the program control memory unit responsive to a first instruction for terminating a software pipeline loop procedure upon identification of a preselected condition.
- 2. The processor as recited in claim 1 wherein the preselected condition causes the program memory control unit to enter and idle state.
- 3. The processor as recited in claim 1 wherein the program memory control unit can operate in a fourth state, the fourth state permitting the execution of an epilog of a first software pipeline program and a prolog of a second software pipeline program to overlap.
- 4. The processor as recited in claim 1 wherein the program memory controller can operate in a fifth state, the fifth state permitting an early exit from the prolog state in response to a predetermined condition.
- 5. The processor as recited in claim 1 wherein the first instruction is positioned in the program implementing the software pipeline procedure to terminate the software pipeline procedure at the earliest after completion of the prolog state.
- 6. For use in a program memory unit of a processor having multiple execution units, wherein the processor can execute a software program using a software pipeline procedure, the software program having a plurality of execution packets, the software pipeline procedure having a prolog portion, a kernel portion and an epilog portion, the software program comprising:
a plurality of execution packets, wherein at least one execution packet includes a first instruction for terminating the software pipeline procedure when a preselected parameter included as part of the software program is identified.
- 7. The software program as recited in claim 6 wherein the identification of preselected condition causes the processor executing the software program to enter an idle state.
- 8. The software program as recited in claim 6 wherein the execution packet including the first instruction is positioned in the software program to identify the preselected parameter after completion of the prolog stage.
- 9. The software program as recited in claim 6 wherein the processor includes a storage location for storing the preselected parameter.
- 10. The software program as recited in claim 8 further including an instruction for storing the preselected value in a storage location, the storage location being included in the first instruction.
- 11. A method for terminating a software program executing as a software pipeline loop procedure, the software pipeline loop procedure including a prolog stage, a kernel stage and an epilog stage, the method comprising:
including an exit instruction in the software program, the exit instruction comparing a result of an execution of the software program with preselected parameter; and when the comparison of the result of the execution with the preselected parameter has a selected relationship, discarding any subsequent results of the software program.
- 12. The method as recited in claim 11 wherein when the comparison has a preselected relationship, the software pipeline loop procedure enters an idle state.
- 13. The method as recited in claim 1I1 further comprising:
positioning the exit instruction in the software program wherein the first comparison is performed after completion of the prolog stage.
- 14. The method as recited in claim 13 further including a first instruction in the software program, the first instruction storing the preselected value in a storage location identified in the exit instruction.
Parent Case Info
[0001] Anderson, and Michael D. Asal filed on even date herewith, and assigned to the assignee of the present Application: U.S. patent (Attorney Docket TI-34337), entitled APPARATUS AND METHOD FOR EXECUTING A NESTED LOOP PROGRAM WITH A SOFTWARE PIPELINE LOOP PROCEDURE IN A DIGITAL SIGNAL PROCESSOR, invented by Eric J. Stotzer and Michael D. Asal, filed on even date herewith, and assigned to the assignee of the present Application; and U.S. patent application (Attorney Docket TI-34565), entitled APPARATUS AND METHOD FOR RESOLVOING AN INSTRUCTION CONFLICT IN A SOFTWARE PIPELINE NESTED LOOP PROCEDURE IN A DIGITAL SIGNAL PROCESSOR, invented by Michael D. Asal and Eric J. Stotzer, filed on even date herewith, and assigned to the present application are related applications.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60342706 |
Dec 2001 |
US |
|
60342728 |
Dec 2001 |
US |