Digital signal processor architecture
First Claim
1. A digital signal processor comprising:
- a memory including a first memory bank for storing instructions and second and third memory banks for storing operands for digital signal computations;
a core processor connected to said first, second and third memory banks, said core processor comprising;
a program sequencer for generating instruction addresses for fetching selected ones of said instructions from said first memory bank; and
a computation unit for performing said digital signal computations using said instructions and said operands, said computation unit including a first computation block for performing a first subset of said digital signal computations 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 using a second subset of said instructions and a second subset of said operands; and
transfer selection means responsive to said instructions for simultaneously addressing quad operands in a single row of one or both of said second and third memory banks and selectably and simultaneously providing one, two or four of said quad operands to said computation unit for performing said digital signal computations, wherein each of said second and third memory banks is organized as quad word rows and wherein said transfer selection means includes means for selectably accessing single, dual or quad locations in a selected quad word row and each of said first and second computation blocks includes means for selecting the operands accessed in one or both of said second and third memory banks.
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.
77 Citations
24 Claims
-
1. A digital signal processor comprising:
-
a memory including a first memory bank for storing instructions and second and third memory banks for storing operands for digital signal computations; a core processor connected to said first, second and third memory banks, said core processor comprising; a program sequencer for generating instruction addresses for fetching selected ones of said instructions from said first memory bank; and a computation unit for performing said digital signal computations using said instructions and said operands, said computation unit including a first computation block for performing a first subset of said digital signal computations 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 using a second subset of said instructions and a second subset of said operands; and transfer selection means responsive to said instructions for simultaneously addressing quad operands in a single row of one or both of said second and third memory banks and selectably and simultaneously providing one, two or four of said quad operands to said computation unit for performing said digital signal computations, wherein each of said second and third memory banks is organized as quad word rows and wherein said transfer selection means includes means for selectably accessing single, dual or quad locations in a selected quad word row and each of said first and second computation blocks includes means for selecting the operands accessed in one or both of said second and third memory banks. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A digital signal processor comprising:
-
a memory including a first memory bank for storing instructions and second and third memory banks for storing operands for digital signal computations; a core processor comprising; a program sequencer for generating instruction addresses for fetching selected ones of said instructions from said first memory bank; and a computation unit for performing said digital signal computations using said instructions and said operands, said computation unit including a first computation block for performing a first subset of said digital signal computations 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 using a second subset of said instructions and a second subset of said operands; first data and address buses interconnecting said core processor and said first memory bank, second data and address buses interconnecting said core processor and said second memory bank, and third data and address buses interconnecting said core processor and said third memory bank, said first, second and third data buses each being 128 bits wide; and transfer selection means responsive to said instructions for simultaneously addressing quad operands of 32 bits each in a single row of one or more of said second and third memory banks and selectably and simultaneously providing one, two or four of said quad operands to said computation unit for performing said digital signal computations, wherein each of said second and third memory banks is organized as quad word rows and wherein said transfer selection means includes means for selectably accessing single, dual or quad locations in a selected quad word row and each of said first and second computation blocks includes means for selecting the operands accessed in one or both of said second and third memory banks.
-
-
20. A method for digital signal processing comprising the steps of:
-
storing instructions for digital signal computations in a first memory bank and storing operands for the digital signal computations in a second memory bank; generating instruction addresses for fetching selected ones of said instructions from said first memory bank; simultaneously addressing quad operands in a single row of said second memory bank and selectably and simultaneously providing one, two or four of said quad operands to a computation unit for performing said digital signal computations, said computation unit including a first computation block for performing a first subset of said digital signal computations 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 using a second subset of said instructions and a second subset of said operands, wherein said second memory bank is organized as quad word rows and wherein the steps of simultaneously addressing quad operands and selectably and simultaneously providing one, two or four of said quad operands include accessing single, dual or quad locations in a selected quad row and each of said first and second computation blocks selects the operands accessed in said second memory bank; and said computation unit performing said digital signal computations using said instructions from said first memory bank and said operands from said second memory bank. - View Dependent Claims (21, 22)
-
-
23. A digital signal processor comprising:
-
a memory including a first memory bank for storing instructions and a second memory bank for storing operands for digital signal computations; a core processor connected to said first and second memory banks, said core processor comprising; a program sequencer for generating instruction addresses for fetching selected ones of said instructions from said first memory bank; and a computation unit for performing said digital signal computations using said instructions and said operands, said computation unit including a first computation block for performing a first subset of said digital signal computations 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 using a second subset of said instructions and a second subset of said operands; and transfer selection means responsive to said instructions for simultaneously addressing quad operands in a single row of said second memory bank and selectably and simultaneously providing one, two or four of said quad operands to said computation unit for performing said digital signal computations, wherein said second memory bank is organized as quad word rows and wherein said transfer selection means includes means for selectably accessing single, dual or quad locations in a selected quad word row and each of said first and second computation blocks includes means for selecting the operands accessed in said second memory bank.
-
-
24. A digital signal processor comprising:
-
a memory including a first memory bank for storing instructions and operands and a second memory bank for storing operands for digital signal computations; a core processor connected to said first and second memory banks, said core processor comprising; an instruction cache for storing a subset of said instructions; a program sequencer for generating instruction addresses for fetching selected ones of said instructions from said instruction cache or said first memory bank; and a computation unit for performing said digital computations using said instructions and said operands, said computation unit including a first computation block for performing a first subset of said digital signal computations 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 using a second subset of said instructions and a second subset of said operands; and transfer selection means responsive to said instructions for simultaneously addressing quad operands in a single row of one or both of said first and second memory banks and selectably and simultaneously providing one, two or four of said quad operands to said computation unit for performing said digital signal computations, wherein each of said first and second memory banks is organized as quad word rows and wherein said transfer selection means includes means for selectably accessing single, dual or quad locations in a selected quad word row and each of said first and second computation blocks includes means for selecting the operands accessed in one or both of said first and second memory banks.
-
Specification