Shared interrupt control method and system for a digital signal processor
First Claim
1. A method for processing interrupts arising in a multithreaded processor, comprising the steps of:
- receiving in an interrupt register a plurality of interrupts of a statistically indeterminate interrupt type;
associating a plurality of processing threads with said interrupt register for receiving said interrupt from said interrupt register;
masking at least a subset of said plurality of processing threads so as to receive within each of said threads within said subset only ones of said plurality of interrupts of one or more predetermined types, thereby controlling on a per thread basis the processing of said plurality of interrupts according to the mask associated with a particular thread.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for the design and use of a digital signal processor, including (but not limited to) processing transmissions in a communications (e.g., CDMA) system. The disclosed method and system process interrupts arising in a multithreaded processor by receiving in an interrupt register a plurality of interrupts of a statistically indeterminate interrupt type and then associating a plurality of processing threads with the interrupt register for receiving the interrupt from the interrupt register. The method and system mask at least a subset of the plurality of processing threads so as to receive within each of the threads within the subset only ones of the plurality of interrupts of one or more predetermined types, thereby controlling on a per thread basis the processing of the plurality of interrupts according to the mask associated with a particular thread.
42 Citations
29 Claims
-
1. A method for processing interrupts arising in a multithreaded processor, comprising the steps of:
-
receiving in an interrupt register a plurality of interrupts of a statistically indeterminate interrupt type;
associating a plurality of processing threads with said interrupt register for receiving said interrupt from said interrupt register;
masking at least a subset of said plurality of processing threads so as to receive within each of said threads within said subset only ones of said plurality of interrupts of one or more predetermined types, thereby controlling on a per thread basis the processing of said plurality of interrupts according to the mask associated with a particular thread. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for operation in association with a digital signal processor for processing interrupts arising in a multithreaded processor, comprising:
-
an interrupt register associated with said processor for receiving a plurality of interrupts of a statistically indeterminate interrupt type;
thread control circuitry for associating a plurality of processing threads with said interrupt register for receiving said interrupt from said interrupt register; and
a mask register for applying a mask to at least a subset of said plurality of processing threads such that said subset of said plurality of processing threads receives only ones of said plurality of interrupts of one or more predetermined types corresponding to said mask, thereby controlling on a per thread basis the processing of said plurality of interrupts according to the mask and the interrupt type. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A digital signal processor for operation in support of a personal electronics device, said digital signal process comprising means for shared control processing means for processing a predetermined set of interrupt types in multi-threaded processing, said shared control processing means comprising:
-
means for associating an interrupt controller with a plurality of processor pipeline threads means for receiving a first external interrupt in said interrupt controller, said first external interrupt being of an arbitrary type;
means for associating a first mask with said first external interrupt for enabling a set of said plurality of processor threads to accept said first external interrupt;
means for directing said first external interrupt to a first available processor pipeline thread capable of accepting said first external interrupt and said first mask;
means for receiving a second external interrupt in said interrupt controller, said second external interrupt being of an arbitrary type;
means for associating a second mask with said second external interrupt for enabling a set of said plurality of processor pipeline threads to accept said second external interrupt;
means for directing said second external interrupt to a next available processor pipeline thread capable of accepting said second external interrupt and said second mask;
means for repeating said receiving steps, said associating steps, and said directing steps as external interrupts stream to said interrupt controller for processing by said digital signal processor, thereby providing to each of said set of said plurality of processor pipeline threads a flow of arbitrary external interrupts and associated masks in a distributed flow. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A computer usable medium having computer readable program code means embodied therein for processing instructions on digital signal processor, the computer usable medium comprising:
-
computer readable program code means for receiving in an interrupt register a plurality of interrupts of a statistically indeterminate interrupt type;
computer readable program code means for associating a plurality of processing threads with said interrupt register for receiving said interrupt from said interrupt register;
computer readable program code means for masking at least a subset of said plurality of processing threads so as to receive within each of said threads within said subset only ones of said plurality of interrupts of one or more predetermined types, thereby controlling on a per thread basis the processing of said plurality of interrupts according to the mask associated with a particular thread. - View Dependent Claims (29)
-
Specification