Apparatus and method for processing an interrupt in a software pipeline loop procedure in a digital signal processor
OwnerEric J. Stotzer, Steve D. Krueger +2inventors
InventorsEric J. Stotzer, Steve D. Krueger, Timothy D. Anderson, Michael D. Asal
Life of this patent
Estimating the term…
Abstract
A program memory controller unit includes apparatus for the execution of a software pipeline procedure in response to a predetermined instruction. The apparatus provides a prolog, a kernel, and an epilog state for the execution of the software pipeline procedure. In addition, in response to a predetermined condition, the software pipeline procedure can be terminated early. An interrupt state is provided to permit the servicing of an interrupt.
Claims19
A multiple execution unit processor, the processor comprising:
- a memory unit storing a multiplicity of execution packets;
- a buffer storage unit for storing a plurality of 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 control 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 memory control unit having a second state wherein corresponding execution packets stored in the buffer storage unit are simultaneously applied to the dispatch unit, the program memory control unit having a third state wherein after the earliest stored execution packets in the buffer storage unit are eliminated after each application to the crossbar unit, the program memory control unit responding a interrupt signal by masking the interrupt signal when a software pipeline procedure is being implemented, the response of the program memory control unit to the masked interrupt signal is to complete the software pipeline loop procedure and removing the mask from interrupt signal in response to a first set of conditions, the response of the program memory control unit suspending operation of the software pipeline unit and removing the mask of the interrupt signal in response to the second set of conditions.
A method for preparing for the servicing of an interrupt signal by a program memory controller unit when the program memory controller unit is implementing a software pipeline procedure, the method comprising:
- when the program memory controller unit is in a prolog state, completing the filling of a buffer storage unit with instruction stages;
- when the prolog state is complete, freezing the predicate register, restoring and freezing the initial address of the instruction set for the software pipeline procedure in the program counter;
- entering a special epilog state for draining the instruction stages in the buffer storage unit without parallel processing of the instruction set;
- and
- when the special epilog state is complete, providing an indicia that the program memory controller unit is ready for the interrupt identified by the interrupt signal to be processed.
A data processing unit comprising:
- a central processing unit, the central processing unit including a plurality of execution units;
- at least one memory unit storing a multiplicity of execution packets;
- a data memory controller unit;
- a buffer storage unit for storing a plurality of execution packets;
- a dispatch unit coupled to the buffer storage unit for directing each instruction stage applied to the dispatch unit to an preselected execution unit;
- and
- a program memory control unit having a program counter, the program memory controller unit retrieving an execution packet identified by the program counter from the at least one 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 being applied to the dispatch buffer unit being stored therein, wherein in the first state the retrieved execution packet and any 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 corresponding execution packets in sequential instruction packets in the buffer storage unit are simultaneously applied to the dispatch unit, the program memory controller unit having a third state wherein after each earliest stored execution packet in the buffer storage unit is eliminated after application to the dispatch crossbar unit, the program memory controller unit having a fourth state for preparing the program memory controller unit to process an interrupt signal.
Dependencies are inferred from the claim text.