Claims
- 1. A digital signal processor having:
N parallel processing elements; a cluster switch mechanism connecting the N parallel processing elements; a sequence processor for controlling the N parallel processing elements to operate as a single instruction multiple data parallel processor array; and N channels of voice communication data, data from one of said channels provided to each one of said parallel processing elements, whereby the data for the voice communication channels are processed in parallel.
- 2. The digital signal processor of claim 1 further comprising C code to control said parallel processing which has been adapted to permit implementation of a function without using conditional jumps from one part of the function to another.
- 3. The digital signal processor of claim 1 further comprising C code to control said parallel processing whereby individual functions are implemented in a non-data dependent way so that they always take the same number of cycles regardless of what data are processed.
- 4. The digital signal processor of claim 1 further comprising C code to control said parallel processing in which control code to be run on the sequence processor is separated from the data processing code to be run on the processing elements.
- 5. The digital signal processor of claim 1 wherein power savings are achieved by turning a processing element off when it has finished processing but some other processing elements are still processing.
- 6. The digital signal processor of claim 1 wherein N equals four and the processor array is a 2×2 ManArray configuration implementing a G729a vocoder which takes about 21,500 cycles per channel or less.
- 7. A method for efficiently implementing a vocoder in a digital signal processor comprising the steps of:
providing N channels of voice communication; connecting one of said channels to one of N parallel processing elements; communicating between the N parallel processing elements utilizing a cluster switch mechanism connecting the N parallel processing elements; and utilizing a sequence processor to control the N parallel processing elements to operate as a single instruction multiple data parallel processor array and process the voice communication channels in parallel.
- 8. The method of claim 7 further comprising the step of utilizing C code to control said parallel processing, said code having been adapted to permit implementation of a function without using conditional jumps from one part of the function to another.
- 9. The method of claim 7 further comprising the step of utilizing C code to control said parallel processing whereby individual functions are implemented in a non-data dependent way so that they always take the same number of cycles regardless of what data are processed.
- 10. The method of claim 7 further comprising the step of utilizing C code to control said parallel processing in which control code to be run on the sequence processor is separated from the data processing code to be run on the processing elements.
- 11. The method of claim 7 wherein power savings are achieved by turning a processing element off when it has finished processing but some other processing elements are still processing.
- 12. The method of claim 7 wherein N equals four and the processor array is a 2×2 ManArray configuration implementing a G729a vocoder which takes about 21,500 cycles-per channel or less.
- 13. A digital signal processor supporting conditional execution and having:
N parallel processing elements; a sequence processor for distributing the same conditional instructions to each of the N parallel processing elements; and N channels of voice communication data, one of said channels connected to each one of said parallel processing elements, whereby the voice communication data is processed in parallel in response to said conditional instructions.
- 14. The digital processor of claim 1 further comprising code to control said parallel processing which has been adapted to permit implementation of a function without using conditional jumps from one part of the function to another.
- 15. The digital process of claim 1 further comprising code to control said parallel processing whereby individual functions are implemented in a non-data dependent way so that said functions always take the same number of cycles regardless of what data are processed.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The present application claims the benefit of U.S. Provisional Application Serial No. 60/241,940 filed Oct. 20, 2000 and entitled “Methods and Apparatus for Efficient Vocoder Implementations” which is incorporated by reference herein in its entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60241940 |
Oct 2000 |
US |