IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
UP-0253906
(2005-10-18)
|
등록번호 |
US-7702889
(2010-05-20)
|
발명자
/ 주소 |
- Codrescu, Lucian
- Anderson, William C.
|
출원인 / 주소 |
|
대리인 / 주소 |
|
인용정보 |
피인용 횟수 :
2 인용 특허 :
25 |
초록
▼
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
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.
대표청구항
▼
What is claimed is: 1. A method for processing interrupts arising in a multithreaded processor, comprising the steps of: receiving in an interrupt register a plurality of interrupts, each of the plurality of interrupts corresponding to an external interrupt of a statistically indeterminate interrup
What is claimed is: 1. A method for processing interrupts arising in a multithreaded processor, comprising the steps of: receiving in an interrupt register a plurality of interrupts, each of the plurality of interrupts corresponding to an external interrupt of a statistically indeterminate interrupt type; associating a plurality of processing threads with said interrupt register for receiving at least one of said plurality of interrupts from said interrupt register; determining, for each of the plurality of processing threads, that the processing thread can take one of the plurality of interrupts if the processing thread has enabled interrupt processing and the processing thread is not an exception handler configured to handle internal exceptions; and masking, based on the determining step, 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 and exclude from each of said threads within said subset ones of said plurality of interrupts of a different one or more predetermined types, wherein the statistically indeterminate interrupt type of the received plurality of interrupts is determined from the masking step, thereby controlling on a per thread basis the processing of said plurality of interrupts according to the mask associated with a particular thread. 2. The method of claim 1, further comprising the step of masking said at least a subset of said plurality of processing threads using a mask selected from a programmable set of masks corresponding to a predetermined set of interrupt types. 3. The method of claim 1, further comprising the step of determining said interrupt to correspond to a mask using a logical AND of said interrupt within said interrupt register with the contents of a mask register containing said mask and associating with a thread. 4. The method of claim 1, further comprising the step of determining a priority of processing a mask associated with one of the processing threads for an associated interrupt register in the event that said associated interrupt register contains a plurality of said masks. 5. The method of claim 1, further comprising the steps of clearing a received one of said interrupts from said interrupt register in the event that a thread processes said one of said interrupts. 6. The method of claim 5, further comprising the step of disabling said thread processing from said one of said interrupts during the processing of said interrupt. 7. The method of claim 1, further comprising the steps of further comprising the step of nesting said processing of said plurality of interrupts using a plurality of software instructions. 8. The method of claim 1, further comprising the step of receiving at random for processing in any of said plurality of threads any of said interrupts having the property of being non-maskable. 9. 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 each corresponding to an external interrupt of a statistically indeterminate interrupt type; thread control circuitry for associating a plurality of processing threads with said interrupt register, such that at least one of the plurality of processing threads is configured to receive at least one of said plurality of interrupts from said interrupt register; an event handling register for determining, for each of the plurality of processing threads, that the processing thread can take one of the plurality of interrupts if the processing thread has enabled interrupt processing and the processing thread is not an exception handler configured to handle internal exceptions; and a mask register for masking, based on the determiation, 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 and exclude from each of said threads within said subset ones of said plurality of interrupts of a different one or more predetermined types, wherein the statistically indeterminate interrupt type of the received plurality of interrupts is determined from the masking, thereby controlling on a per thread basis the processing of said plurality of interrupts according to the mask and the interrupt type. 10. The system of claim 9, wherein said mask register further comprises circuitry and instructions for masking said at least a subset of said plurality of processing threads using a mask selected from a programmable set of masks corresponding to a predetermined set of interrupt types. 11. The system of claim 9, wherein said processor further comprises processing circuitry and instructions for determining said interrupt to correspond to a mask using a logical AND of said interrupt within said interrupt register with the contents of a mask register containing said mask and associating with a thread. 12. The system of claim 9, wherein said processor further comprises processing circuitry and instructions determining a priority of processing a mask associated with one of the processing threads for an associated interrupt register in the event that said associated interrupt register contains a plurality of said masks. 13. The system of claim 9, wherein said interrupt register processor further comprises circuitry and instructions for clearing a received one of said interrupts from said interrupt register in the event that a thread processes said one of said interrupts. 14. The system of claim 13, wherein said processor further comprises circuitry and instructions for disabling said thread from processing said one of said interrupts during the processing of said interrupt. 15. The system of claim 9, wherein said processor further comprises processing instructions for nesting said processing of said plurality of interrupts. 16. The system of claim 9, wherein said processor further comprises processing circuitry and instructions for receiving at random for processing in any of said plurality of threads any of said interrupts having the property of being non-maskable. 17. 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, the first available processor pipeline thread determined if the first available processor pipeline thread has enabled interrupt processing and the first available processor pipeline thread is not an exception handler configured to handle internal exceptions; 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, the next available processor pipeline thread determined if the next available processor pipeline thread has enabled interrupt processing and the second available processor pipeline thread is not an exception handler configured to handle internal exceptions; 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. 18. The digital signal processor system of claim 17, further comprising means for masking a subset of said plurality of processor threads using a mask selected from a programmable set of masks corresponding to a predetermined set of interrupt types. 19. The digital signal processor system of claim 17, further comprising means for determining said interrupt to correspond to a mask using a logical AND of said interrupt within said interrupt register with the contents of a mask register containing said mask and associating with a thread. 20. The digital signal processor system of claim 17, further comprising means determining a priority of processing one of said masks within said interrupt register in the event that said interrupt register contains a plurality of said masks. 21. The digital signal processor system of claim 17, further comprising means for clearing a received one of said interrupts from said interrupt register in the event that a thread processes said one of said interrupts. 22. The digital signal processor system of claim 17, further comprising means for disabling said thread processing from said one of said interrupts during the processing of said interrupt. 23. The digital signal processor system of claim 17, further comprising means for nesting said processing of said plurality of interrupts using a plurality of software instructions. 24. The digital signal processor system of claim 23, further comprising means for receiving at random for processing in any of said plurality of threads any of said interrupts having the property of being non-maskable. 25. A computer usable medium having computer readable program code means embodied therein for processing instructions on digital signal processor, the computer readable program code means comprising: computer readable program code means for receiving in an interrupt register a plurality of interrupts each corresponding to an external interrupt of a statistically indeterminate interrupt type; computer readable program code means for associating a plurality of processing threads with said interrupt register for receiving at least one of said plurality of interrupts from said interrupt register; computer readable program code means for determining, for each of the plurality of processing threads, that the processing thread can take one of the plurality of interrupts if the processing thread has enabled interrupt processing and the processing thread is not an exception handler configured to handle internal exceptions; and computer readable program code means for masking, based on the determination, 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 and exclude from each of said threads within said subset ones of said plurality of interrupts of a different one or more predetermined types, wherein the statistically indeterminate interrupt type of the received plurality of interrupts is determined from the means for masking step, thereby controlling on a per thread basis the processing of said plurality of interrupts according to the mask associated with a particular thread. 26. The computer usable medium of claim 25, further comprising computer readable program code means for masking said at least a subset of said plurality of processing threads using a mask selected from a programmable set of masks corresponding to a predetermined set of interrupt types.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.