Sunteți pe pagina 1din 9

Informaţii generale 2

 prof.dr.ing. RADU MIHNEA UDREA


 mihnea@comm.pub.ro , B209, 402-4879
CAPITOLUL 1
 MOODLE http://electronica.curs.pub.ro/
 Punctaj:
 100% laborator (sala B205)
INTRODUCERE
 40% activitate;
 60% colocviu;
 ±10% teste curs

Introducere 4
Introducere 5

 Microprocesoare de uz general  Arhitecturi simple (low-end)


(GPP)  DSP şi GPP folosite în aplicaţii cu preţ redus,
 Microprocesoare pentru PC în general arhitecturi mai vechi
 Ex: Intel Pentium  Arhitecturi performante (High
 Procesoare pentru aplicaţii embedded Performance)
 Ex: ARM ARM7
 Includ tehnici avansate pentru paralelism şi
 Procesoare digitale de semnal (DSP) performanţe ridicate
 Microprocesoare specializate pentru aplicaţii  Funcţionează la frecvenţe de ceas mari
de prelucrare a semnalului
Exemple de procesoare 6
Facilităţi DSP 7

 Operaţii de multiplicare-acumulare
(MAC) într-un singur ciclu instrucţiune.
 algoritmii DSP care realizează calculul unor
filtre digitale, a unor corelaţii sau a unor
transformate Fourier.
 DSP integrează hardware operaţia de
multiplicare-acumulare în unitatea centrală
a procesorului
 DSP performante au două sau mai multe
unităţi MAC

Facilităţi DSP 8
Facilităţi DSP 9

 Mai multe accesări ale memoriei  unităţi dedicate de generare a


într-un singur ciclu instrucţiune adreselor
 procesorul execută o instrucţiune în timp ce  unitatea de generare de adrese funcţionează
citeşte simultan operanzii şi/sau stochează independent generând adresele necesare
rezultatul unei instrucţiuni anterioare în pentru accesările operanzilor în paralel cu
memorie execuţia instrucţiunilor aritmetice.
 DSP oferă mai multe magistrale interne de  Cel mai des întâlnite moduri de adresare:
acces la memoria de pe cip şi în unele cazuri  adresare indirectă cu post-incrementare.
mai multe memorii independente.  adresare modulo.
 adresare Bit-reversed.
Facilităţi DSP 10
Facilităţi DSP 11

 hardware dedicat pentru ciclare  interfeţe de I/O integrate


eficientă  DSP încorporează una sau mai multe
 Sunt întâlnite funcţii de “loop” sau “repeat” interfeţe de I/O paralele sau seriale.
ceea ce permite programatorului să  mecanisme specializate de I/O cum ar fi
implementeze o bucla de tip “for-next” fără întreruperi transparente şi DMA (acces
să irosească cicluri de instrucţiuni pentru direct la memorie).
actualizarea şi testarea contorului buclei sau
pentru salt la începutul buclei.

Comparaţie DSP şi GPP


Facilităţi DSP 12
Set de instrucţiuni
13

 Formatul datelor  Low-end DSP  Low-end GPP


 Set de instrucţiuni  Instrucţiuni de uz
 Floating-point
specializat şi complex general
 Cel mai frecvent cuvinte pe 32 biţi.
 Mai multe operaţii pe  O singură operaţie pe
 Fixed-point instrucţiune instrucţiune
 Cel mai frecvent cuvinte pe 16 biţi.  Ortogonalitate redusă  Ortogonalitate bună
 Freescale DSP563xx foloseşte cuvinte pe 24 biţi.

mac x0,y0,a x:(r0)+,x0 y:(r4)+,y0 mpy r2,r3,r4


add r4,r5,r5
mov (r0),r2
mov (r1),r3
inc r0
inc r1
Comparaţie DSP şi GPP 14
Comparaţie DSP şi GPP 15
Set de instrucţiuni Prelucrarea datelor

 High-Performance  High-Performance  Low-end DSP  Low-end GPP


DSP GPP  Hardware dedicat pentru a  Înmulţirea, deplasarea cu
 Instrucţiuni de  Instrucţiuni simple efectua operaţiile mai mulţi biţi se pot efectua
complexitate simplă aritmetice într-un ciclu în mai mult de un ciclu
 Ortogonalitate moderată
spre moderată spre excelentă  Reprezentate pe 16-bit  Reprezentare pe 32-bit,
 Ortogonalitate moderată  Cu extensie SIMD:  Suport hardware pentru a numere întregi
spre excelentă controla precizia numerică  Saturarea, rotunjirea se fac
 Instrucţiuni de
 biţi de gardă, saturare, în într-un ciclu separat
complexitate moderată
 rotunjire, scalare, …  Pot avea performanţe mai
 Ortogonalitate moderată
 Limitare în prelucrarea la bune la manipularea la
spre excelentă
nivel de bit nivel de bit

Comparaţie DSP şi GPP 16


Comparaţie DSP şi GPP 17
Prelucrarea datelor Adresarea

 High-Performance  High-Performance  Low-end and High-  Low-end and High-


DSP GPP Performance DSP Performance GPP
 Max. 8 unităţi aritmetice  1-3 unităţi aritmetice  Unităţi dedicate de  În general nu a
 Includ unităţi aritmetice  Unităţi aritmetice de uz generare a adreselor unităţi separate de
specializate: general:  Moduri de adresare adresare
 MAC, Viterbi  integer, floating point specializate  Folosesc modurile
 Permit mai multe formate  Permit mai multe formate  Autoincrement standard de adresare
pentru reprezentarea pentru reprezentarea  Modulo (circular)
datelor datelor  Bit-reversed (FFT)
Comparaţie DSP şi GPP 18
Comparaţie DSP şi GPP 19
Accesul la memorie Accesul la memorie

 Low-end DSP  Low-end GPP  High-Performance  High-Performance


 Arhitectură Harvard  Arhitectură Von DSP GPP
 Acces la 2-4 locaţii de Neumann  Arhitectură Harvard  Arhitectură Harvard
memorie pe ciclu  Tipic 1 acces pe ciclu  Acces pe ciclu:  Acces pe ciclu:
 No caches; on-chip  Folosesc cache(s)  1-8 instrucţiuni  1-4 instrucţiuni
SRAM, DMA  Două sau mai multe  două cuvinte 32-64
cuvinte pe 16-64 biţi biţi sau un cuvânt pe
128 biţi

Producători DSP 20
Aplicaţii DSP 21

 TEXAS INSTRUMENTS Car Electronics

Solar& Wind
 www.ti.com Inverter Hybrid Vehicles Industrial Sensors
Fuell Cells

 FREESCALE Sensor
Networks

 www.freescale.com
 ANALOG DEVICES Signal Processing
Medical
 www.analog.com DSP and Analog Equipment

Industrial
Control/Automation appliance

Digital Power

Utility Car Safety


Digital Motor Control Meters
TI - Audio DSP Roadmap TI - Telecom DSP Roadmap
22 23

TI - DaVinci Digital Media Video DSP


24 25
C6437 Digital Video Development Platform
27 29
Arhitecturi SoC pentru comunicații

FREESCALE - CodeWarrior
30
Dezvoltarea algoritmilor 34

 Necesită volum mare de calcule


 Atenţie la precizia reprezentării numerelor
 Transfer mare al datelor cu memoria
 Structuri de tip listă, listă circulară
 Operaţii repetitive
 Optimizări în execuţie
 Algoritmi matematici complecşi
 Constrângeri de timp-real
 Se bazează pe standarde de prelucrare de
semnale sau de interfaţă
Filtrarea analogică 35
Filtrarea digitală 36

Filtrul FIR 37
DSP Freescale DSP56300 38

 Algoritmul:
N 1
y[ n]   ak x[ n  k ]
k 0

 Pseudocod:
s=0;
for (k=0; k<N; k++)
s+=a[k]*x[n-k];
y[n]=s;
Magistrala de date X

DSP56300 Magistrala de date Y


40
DSP Freescale StarCore140 41

24 24
move $100,r0
X0 Level-1 Memory Expansion Area System
move $100,r4 Registre de X1 Expansion Area
Unified Data and Program Memory
date Y0 ROM, RAM
Y1
24 24 Star*Core 140 DSP Core External Memory
clr a x:(r0)+,x0 y:(r4)+,y0 Interface
Multiplicator DSP Engine
DMA
True 16-bit instruction set
do #N-1 56 Variable Length Execution Set (VLESTM ) Model
CACHE
56
mac x0,y0,a x:(r0)+,x0 y:(r4)+,y0
ALU Interrupt Ctrl.
4 Arithmetic 2 Address
Shifter 56 & Logic Units Arithmetic Units Level-2 Memory
macr x0,y0,a 24 Expansion
A(56)
Acumulatori
B(56) Peripheral and Accelerators Expansion Area
move a,x:output
24 Standard Input/Output Peripherals
56 56 Application Specific Accelerators
General Purpose Programmable Accelerator
Shifter/Limitator

24 24

DSP Freescale StarCore140 42


Filtrul FIR – StarCore140 43

move.w #$100,r0
Spaţiul unificat de memorie pentru MEMORIE move.w #$200,r1
date şi program $200

16 16 16 16
$100
XDBA
XABA

XABB

XDBB

move.4f (r0)+,d0:d1:d2:d3
PDB

PAB

64 64
128 32 32 32
128 move.4f (r1)+,d4:d5:d6:d7

XABB
XABA
64 64 loopstart0
[ mac d0,d4,d8 mac d1,d5,d9

XDB

XDB
Secvenţiator Setul de registre pentru Registre ALU OnCE Accelerator Registre
Registre

A
de Program Generarea Adreselor pentru date pentru setul de date mac d2,d6,d10 mac d3,d7,d11
adresa D15
D0
Controlul instrucţiuni R0=$100
R0 ALU1 move.4f (r0)+,d0:d1:d2:d3
Puterii D1
R1=$200 D2
… move.4f (r1)+,d4:d5:d6:d7 ]
StarCore 140 Generatorul D3 ALU2
de ceas R7 D4 loopend0
2 AAU BMU 4 ALU 24
PLL D5
128
D6 ALU3 [ add d8,d9,d0 add d10,d11,d1 ]
Instruction Bus D7
AAU …
add d0,d1,d0
D15 ALU4 move.f d0,($400)

S-ar putea să vă placă și