Sunteți pe pagina 1din 10

Informaii generale

s.l. ing. RADU MIHNEA UDREA

CAPITOLUL 1

mihnea@comm.pub.ro , B208, 402-4879 MOODLE http://electronica.curs.ncit.pub.ro/ Punctaj:


30% laborator (sala B028)
10% prezena; 20% colocviu;

INTRODUCERE

30% teme de cas


15% tema 1 (termen 15 noiembrie); 15% tema 2 (termen 15 decembrie);

40% examen final.


1

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

Procesoare pentru aplicaii embedded


Ex: ARM ARM7

Arhitecturi performante (High Performance)


Includ tehnici avansate pentru paralelism i performane ridicate Funcioneaz la frecvene de ceas mari

Procesoare digitale de semnal (DSP)


Microprocesoare specializate pentru aplicaii de prelucrare a semnalului

Exemple de procesoare

Comparaie DSP i GPP


Set de instruciuni

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

mpy add mov mov inc inc

r2,r3,r4 r4,r5,r5 (r0),r2 (r1),r3 r0 r1

Comparaie DSP i GPP


Set de instruciuni

Comparaie DSP i GPP


Prelucrarea datelor

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

Limitare n prelucrarea la nivel de bit

Comparaie DSP i GPP


Prelucrarea datelor

Comparaie DSP i GPP


Adresarea

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

Low-end and HighPerformance DSP


Uniti dedicate de generare a adreselor Moduri de adresare specializate
Autoincrement Modulo (circular) Bit-reversed (FFT)

Low-end and HighPerformance GPP


n general nu a uniti separate de adresare Folosesc modurile standard de adresare

Permit mai multe formate pentru reprezentarea datelor

Permit mai multe formate pentru reprezentarea datelor

Comparaie DSP i GPP


Accesul la memorie

11

Comparaie DSP i GPP


Accesul la memorie

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

Signal Processing DSP and Analog


Industrial Control/Automation

Medical Equipment

appliance

Digital Power Digital Motor Control Utility Meters Car Safety

TI - Audio DSP Roadmap

21

TI - Telecom DSP Roadmap

22

TI - DaVinci Digital Media Video DSP

23

C6437 Digital Video Development Platform

24

TI - Code Composer Studio

25

26

MSC8126 Application Development System

27

FREESCALE - CodeWarrior

28

29

ANALOG DEVICES - SHARC FAMILY

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

Filtrul FIR Algoritmul:


y[ n] = ak x[ n k ]
k =0 N 1

35

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

DSP Freescale DSP56300

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

Magistrala de date globale Magistrala de date de program

DSP56300
move $100,r0 move $100,r4

Magistrala de date X
38

Magistrala de date Y
24 24

DSP Freescale StarCore140


Level-1 Memory Expansion Area Unified Data and Program Memory ROM, RAM System Expansion Area

39

Registre de date

X0 X1 Y0 Y1
24 24

clr a

x:(r0)+,x0

y:(r4)+,y0

Star*Core 140 DSP Core DSP Engine


56

External Memory Interface DMA CACHE Interrupt Ctrl.

Multiplicator

do #N-1 mac x0,y0,a x:(r0)+,x0 y:(r4)+,y0


56

True 16-bit instruction set Variable Length Execution Set (VLESTM ) Model

ALU
56 24

Shifter

4 Arithmetic & Logic Units

2 Address Arithmetic Units

macr x0,y0,a move a,x:output

Acumulatori

A(56) B(56)
24 56 56

Level-2 Memory Expansion

Shifter/Limitator

Peripheral and Accelerators Expansion Area Standard Input/Output Peripherals Application Specific Accelerators General Purpose Programmable Accelerator

24

24

DSP Freescale StarCore140


Spaiul unificat de memorie pentru date i program
XABA XDBA XABB XDBB PDB PAB 64 64 128

40

Filtrul FIR StarCore140


move.w #$100,r0
$200 $100 XABB XABA

41

MEMORIE
16 16 16 16

move.w #$200,r1 move.4f (r0)+,d0:d1:d2:d3 move.4f (r1)+,d4:d5:d6:d7 loopstart0

128

32

32

32

64

64

XDBB

XDBA

Secveniator de Program

Setul de registre pentru Generarea Adreselor

Registre ALU pentru date

OnCE
Controlul Puterii

Accelerator pentru setul de instruciuni

Registre adresa R0=$100 R0 R1=$200

StarCore 140 2 AAU


Instruction Bus

BMU
128

4 ALU

Generatorul de ceas PLL

24

R7

AAU

Registre date D15 D0 D1 D2 D3 D4 D5 D6 D7

[ mac d0,d4,d8 mac d2,d6,d10 ALU1 ALU2 ALU3 ALU4

mac d1,d5,d9 mac d3,d7,d11

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

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