written 6.1 years ago by | • modified 5.4 years ago |
DSP processors support various addressing modes for execution of instructions and to access data. The efficient way of accessing data (signal sample and filter coefficients) can significantly improve implementation performance, it provides flexible ways to access data helps in writing programs. Data addressing modes enhance DSP implementation, DSP processors addressing modes are:
• Immediate Addressing Mode
Operand is explicitly known in value, capability to include data as part of the instruction
Instruction | Operation |
---|---|
ADD #imm #imm | #imm+ A->A |
#imm: value represented by imm (fixed number such as filter coefficients is known ahead of time)
A: accumulator register
• Register Addressing Mode
Operand is always in processor register reg, it provides capability to reference data through its register
Instruction | Operation |
---|---|
ADD Reg | Reg + A->A |
Reg: processor register provides operand.
A: accumulator register.
• Direct Addressing Mode
Operand is always in memory location mem, provides capability to reference data by giving its memory location directly.
Instruction | Operation |
---|---|
ADD Mem | Mem + A->A |
Mem: specified memory location provides operand (e.g., memory could hold input signal value).
A: accumulator register
• Indirect Addressing Mode
Operand memory location is variable, operand address is given by the value of register Addrreg, operand accessed using pointer Addrreg.
Instruction | Operation |
---|---|
ADD *Addrreg | *Addrreg + A->A |
Addrreg: needs to be loaded with the register location before use.
A: accumulator register.
• Special Addressing Modes
It provides to implement real-time digital signal processing and FFT algorithms
i.Circular Addressing Mode: Circular buffer allows one to handle a continuous stream of incoming data samples; once the end of the buffer is reached, samples are added to the beginning again.
ii.Bit-Reversed Addressing Mode: Address generation unit can be provided with the capability of providing bit-reversed indices.
Input Index | Output Index |
---|---|
000=0 | 000=0 |
001=1 | 100=4 |
010=2 | 010=2 |
011=3 | 110=6 |
100=4 | 001=1 |
101=5 | 101=5 |
110=6 | 011=3 |
111=7 | 111=7 |