Download presentation
Presentation is loading. Please wait.
1
ECEN4002 Spring 2002DSP Lab Intro R. C. Maher1 A Short Introduction to DSP Microprocessor Architecture R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2002
2
ECEN4002 Spring 2002DSP Lab Intro R. C. Maher2 What makes a DSP chip a DSP? Conventional microprocessors use the Von Neumann architecture: program and data all in a single memory. Address and data buses are shared between instruction and data fetches. CPU/ALU Memory Address Data
3
ECEN4002 Spring 2002DSP Lab Intro R. C. Maher3 Von Neumann architecture is inexpensive, simple, and effective, BUT there are performance problems: –Von Neumann “bottleneck”: fetch for next instruction collides with data fetch/store –Buses may be idle during instruction decode –DSP algorithms often have “multiply- accumulate” requirements: coef[n] * data[n], where two operands must be fetched Most DSP chips use Harvard architecture: separate memory space(s) for program and data
4
ECEN4002 Spring 2002DSP Lab Intro R. C. Maher4 Harvard Architecture CPU/ALU Program Memory P Address Instr. Data Memory #2 Data Memory #1 D1 AddressD1 Data D2 Address D2 Data
5
ECEN4002 Spring 2002DSP Lab Intro R. C. Maher5 DSP Architectural Features ALU typically centered around Multiply- Accumulate (MAC) structure with large accumulator –Digital filters require accumulated sum-of- products Multiple address generators to handle separate memory spaces –Address units handle modulo buffer arithmetic
6
ECEN4002 Spring 2002DSP Lab Intro R. C. Maher6 DSP Data Representation Numerical values represented as binary fractions: -1.0 value < 1.0 -2 0 2 -1 2 -2 2 -3 2 -(n-1) Radix point Sign bit
7
ECEN4002 Spring 2002DSP Lab Intro R. C. Maher7 Why a fractional representation? The product of two fractional numbers is also a fractional number Normalized representation is convenient Coefficients from digital filter designs are typically already in fractional form
8
ECEN4002 Spring 2002DSP Lab Intro R. C. Maher8 DSP Architecture: Accumulator Accumulator register holds intermediate results (n-bit number x n-bit number yields 2n-1 bit number) Accumulator typically has extra “guard bits” or “extension register” for overflow Mult Input Register Accum HighAccum LowGuard
9
ECEN4002 Spring 2002DSP Lab Intro R. C. Maher9 Accumulator Example Accum High (24 bits)Accum Low (24 bits)Guard (8 bits) … … … 2020 2 -1 2 -23 Radix point Sign bit …2 -24 2 -47 …2121 2828 … Motorola 56xxx has two 56-bit accumulators (48-bit result with 8 guard bits)
10
ECEN4002 Spring 2002DSP Lab Intro R. C. Maher10 Digital Filter Example Simple FIR filter is given by Current output is sum of product of coefficients and past input values.
11
ECEN4002 Spring 2002DSP Lab Intro R. C. Maher11 Filter example (cont.) Z -1 + b0b0 b1b1 b2b2 b3b3 x[n] x[n-1] y[n] x[n-2] x[n-3]
12
ECEN4002 Spring 2002DSP Lab Intro R. C. Maher12 Filter example (cont.) Procedure: –Clear accumulator –Fetch coefficient and data –MAC –Repeat fetch & MAC until done
13
ECEN4002 Spring 2002DSP Lab Intro R. C. Maher13 DSP Support for Parallel Moves Need to fetch next coefficient and next stored value at each step in the filter DSPs generally support a parallel move or fetch operation while MAC is computed This design avoids idle ALU and data buses Ex: mac x0,y0,a x:(r0)+,x0 y:(r4)+,y0
14
ECEN4002 Spring 2002DSP Lab Intro R. C. Maher14 Summary DSP chips use the Harvard architecture: separate program and data memory spaces ALU is centered around the multiply-accumulate (MAC) function DSPs typically use a fractional number representation Address computation generally supports modulo buffer address arithmetic DSPs avoid idle cycles by allowing parallel actions
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.