Digital signal processor architecture
First Claim
1. A digital signal processor comprising:
- a memory for storing instructions and operands for digital signal computations;
a core processor connected to said memory, said core processor comprising;
a program sequencer for generating instruction addresses for fetching selected ones of said instructions from said memory;
a first computation block for performing a first subset of said digital signal computations under control of said program sequencer using a first subset of said instructions and a first subset of said operands; and
a second computation block for performing a second subset of said digital signal computations under control of said program sequencer using a second subset of said instructions and a second subset of said operands, said first and second computation blocks each comprising a register file for temporary storage of operands and results, a multiplier for performing multiplication operations, an ALU for performing arithmetic operations and a shifter for performing shifting operations; and
means for transferring said first subset of said instructions and said first subset of said operands from said memory to said first computation block for execution and for transferring said second subset of said instructions and said second subset of said operands from said memory to said second computation block for execution, wherein said first and second computation blocks share said memory.
1 Assignment
0 Petitions
Accused Products
Abstract
A high performance digital signal processor includes a memory for storing instructions and operands for digital signal computations and a core processor connected to the memory. The memory includes first, second and third memory banks connected to the core processor by first, second and third data and address buses, respectively. The core processor includes a program sequencer and first and second computation blocks for performing first and second subsets, respectively, of the digital signal computations. Single, dual or quad data words of 32 bits each may be accessed in each of the memory banks during each clock cycle. The multiple data words may be transferred to one or both of the first and second computation blocks.
52 Citations
23 Claims
-
1. A digital signal processor comprising:
-
a memory for storing instructions and operands for digital signal computations; a core processor connected to said memory, said core processor comprising; a program sequencer for generating instruction addresses for fetching selected ones of said instructions from said memory; a first computation block for performing a first subset of said digital signal computations under control of said program sequencer using a first subset of said instructions and a first subset of said operands; and a second computation block for performing a second subset of said digital signal computations under control of said program sequencer using a second subset of said instructions and a second subset of said operands, said first and second computation blocks each comprising a register file for temporary storage of operands and results, a multiplier for performing multiplication operations, an ALU for performing arithmetic operations and a shifter for performing shifting operations; and means for transferring said first subset of said instructions and said first subset of said operands from said memory to said first computation block for execution and for transferring said second subset of said instructions and said second subset of said operands from said memory to said second computation block for execution, wherein said first and second computation blocks share said memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A method for digital signal processing comprising the steps of:
-
storing instructions and operands for digital signal computations in a memory; in a program sequencer, generating instruction addresses for fetching selected ones of the instructions from the memory; in a first computation block comprising a register file for temporary storage of operands and results, a multiplier for performing multiplication operations, an ALU for performing arithmetic operations and a shifter for performing shifting operations, performing a first subset of the digital signal computations under control of the program sequencer using a first subset of the instructions and a first subset of the operands; in a second computation block comprising a register file for temporary storage of operands and results, a multiplier for performing multiplication operations, an ALU for performing arithmetic operations and a shifter for performing shifting operations, performing a second subset of the digital signal computations under control of the program sequencer using a second subset of the instructions and a second subset of the operands; and transferring the first subset of the instructions and the first subset of the operands from the memory to the first computation block for execution and transferring the second subset of the instructions and the second subset of the operands from the memory to the second computation block for execution, wherein said first and second computation blocks share said memory.
-
Specification