Documente Academic
Documente Profesional
Documente Cultură
CAPITOLUL 1
INTRODUCERE
Introducere
Microprocesoare de uz general (GPP)
Microprocesoare pentru PC
Ex: Intel Pentium
Introducere
Arhitecturi simple (low-end)
DSP i GPP folosite n aplicaii cu pre redus, n general arhitecturi mai vechi
Exemple de procesoare
Low-end DSP
Set de instruciuni specializat i complex Mai multe operaii pe instruciune Ortogonalitate redus
Low-end GPP
Instruciuni de uz general O singur operaie pe instruciune Ortogonalitate bun
mac x0,y0,a
x:(r0)+,x0
y:(r4)+,y0
High-Performance DSP
Instruciuni de complexitate simpl spre moderat Ortogonalitate moderat spre excelent
High-Performance GPP
Instruciuni simple Ortogonalitate moderat spre excelent Cu extensie SIMD: Instruciuni de complexitate moderat Ortogonalitate moderat spre excelent
Low-end DSP
Hardware dedicat pentru a efectua operaiile aritmetice ntr-un ciclu Reprezentate pe 16-bit Suport hardware pentru a controla precizia numeric
bii de gard, saturare, rotunjire, scalare,
Low-end GPP
nmulirea, deplasarea cu mai muli bii se pot efectua n mai mult de un ciclu Reprezentare pe 32-bit, numere ntregi Saturarea, rotunjirea se fac n ntr-un ciclu separat Pot avea performane mai bune la manipularea la nivel de bit
10
High-Performance DSP
Max. 8 uniti aritmetice Includ uniti aritmetice specializate:
MAC, Viterbi
High-Performance GPP
1-3 uniti aritmetice Uniti aritmetice de uz general:
integer, floating point
11
12
Low-end DSP
Arhitectur Harvard Acces la 2-4 locaii de memorie pe ciclu No caches; on-chip SRAM, DMA
Low-end GPP
Arhitectur Von Neumann Tipic 1 acces pe ciclu Folosesc cache(s)
High-Performance DSP
Arhitectur Harvard Acces pe ciclu:
1-8 instruciuni Dou sau mai multe cuvinte pe 16-64 bii
High-Performance GPP
Arhitectur Harvard Acces pe ciclu:
1-4 instruciuni dou cuvinte 32-64 bii sau un cuvnt pe 128 bii
Faciliti DSP
Operaii de multiplicare-acumulare (MAC) ntr-un singur ciclu instruciune.
algoritmii DSP care realizeaz calculul unor filtre digitale, a unor corelaii sau a unor transformate Fourier. DSP integreaz hardware operaia de multiplicare-acumulare n unitatea central a procesorului DSP performante au dou sau mai multe uniti MAC
13
Faciliti DSP
Mai multe accesri ale memoriei ntr-un singur ciclu instruciune
14
procesorul execut o instruciune n timp ce citete simultan operanzii i/sau stocheaz rezultatul unei instruciuni anterioare n memorie DSP ofer mai multe magistrale interne de acces la memoria de pe cip i n unele cazuri mai multe memorii independente.
Faciliti DSP
uniti dedicate de generare a adreselor
15
Faciliti DSP
hardware dedicat pentru ciclare eficient
16
unitatea de generare de adrese funcioneaz independent genernd adresele necesare pentru accesrile operanzilor n paralel cu execuia instruciunilor aritmetice. Cel mai des ntlnite moduri de adresare:
adresare indirect cu post-incrementare. adresare modulo. adresare Bit-reversed.
Sunt ntlnite funcii de loop sau repeat ceea ce permite programatorului s implementeze o bucla de tip for-next fr s iroseasc cicluri de instruciuni pentru actualizarea i testarea contorului buclei sau pentru salt la nceputul buclei.
Faciliti DSP
interfee de I/O integrate
DSP ncorporeaz una sau mai multe interfee de I/O paralele sau seriale. mecanisme specializate de I/O cum ar fi ntreruperi transparente i DMA (acces direct la memorie).
17
Faciliti DSP
Formatul datelor
Floating-point
Cel mai frecvent cuvinte pe 32 bii.
18
Fixed-point
Cel mai frecvent cuvinte pe 16 bii. Freescale DSP563xx folosete cuvinte pe 24 bii.
Productori DSP
TEXAS INSTRUMENTS
www.ti.com
19
Aplicaii DSP
Car Electronics Solar& Wind Inverter Fuell Cells Hybrid Vehicles Industrial Sensors
20
FREESCALE
www.freescale.com
Sensor Networks
ANALOG DEVICES
www.analog.com
Medical Equipment
appliance
21
22
23
24
25
26
27
FREESCALE - CodeWarrior
28
29
31
Dezvoltarea algoritmilor
Necesit volum mare de calcule Atenie la precizia reprezentrii numerelor Transfer mare al datelor cu memoria Structuri de tip list, list circular Operaii repetitive Optimizri n execuie Algoritmi matematici compleci Constrngeri de timp-real Se bazeaz pe standarde de prelucrare de semnale sau de interfa
32
Filtrarea analogic
33
Filtrarea digital
34
35
Pseudocod:
s=0; for (k=0; k<N; k++) s+=a[k]*x[n-k]; y[n]=s;
36
DSP56300
ALU adrese primare XAB YAB PAB ALU adrese secundare
37
Multiplexor Triplu EI R0 R1 R2 R3
N0 N1 N2 N3
M0 M1 M2 M3
ALU Adrese
R4 R5 R6 R7
ALU Adrese
M4 M5 M6 M7
N4 N5 N6 N7
DSP56300
move $100,r0 move $100,r4
Magistrala de date X
38
Magistrala de date Y
24 24
39
Registre de date
X0 X1 Y0 Y1
24 24
clr a
x:(r0)+,x0
y:(r4)+,y0
Multiplicator
True 16-bit instruction set Variable Length Execution Set (VLESTM ) Model
ALU
56 24
Shifter
Acumulatori
A(56) B(56)
24 56 56
Shifter/Limitator
Peripheral and Accelerators Expansion Area Standard Input/Output Peripherals Application Specific Accelerators General Purpose Programmable Accelerator
24
24
40
41
MEMORIE
16 16 16 16
128
32
32
32
64
64
XDBB
XDBA
Secveniator de Program
OnCE
Controlul Puterii
BMU
128
4 ALU
24
R7
AAU
move.4f (r0)+,d0:d1:d2:d3 move.4f (r1)+,d4:d5:d6:d7 ] loopend0 [ add d8,d9,d0 add d10,d11,d1 ] add d0,d1,d0 move.f d0,($400)
D15