Documente Academic
Documente Profesional
Documente Cultură
PROCESORUL
component a sistemului embedded
Prezentarea i clasificarea tipurilor arhitecturale de baz pentru procesoarele embedded. Extinderea criteriilor pentru selectarea procesorului / calculatorului numeric nglobat n sistem Introducere n arhitectura procesoarelor digitale de semnal
2
Clasificare funcional
(grosier) din punctul de vedere al gradului de integrare
Microprocesoare de 8 bii (sau mai puin de 8 bii) cu acumulator Microprocesoare de 16/32 bii (cu arhitecturi CISC i RISC) Procesoare digitale de semnal (DSP)
Acumulator
Secvenial
Fetch I Decode I Fetch Op Execute
Pipelined
Fetch Decode Fetch Read Decode Execute Read Execute
Fetch
Decode
Read Execute
Superscalar
Fetch Decode Read Execute
Viteza operaiilor DSP, costul i dimensiunea sunt extrem de importante Operaii specifice algoritmilor DSP: multiplicare i sumare repetat Operaii rapide cu matrice de eantioane i coeficieni Arhitectur de memorie cu acces multiplu
10
Obiective
Aplicaii ale procesrii digitale a semnalelor De ce se utilizeaz procesoare DSP (Digital Signal Processors)? Algoritmii DSP (Digital Signal Processing) tipici Caracteristici principale ale procesoarelor DSP Exemple de procesoare DSP
n expunere s-au utilizat exemple de la firma Texas Instruments: Dr. Naim Dahnoun, Bristol University, Texas Instruments 2004
11 12
Costuri de proiectare:
Convertoare AD i DA scumpe n cazul frecvenelor mari de semnal analogic Necesit pachete software adecvate de proiectare.
Problema lungimii finite a cuvintelor - numr limitat de bii cu degradarea performanelor sistemului
14
PRELUCRARE DE SEMNAL
Semnalele sunt procesate utiliznd:
tehnici analogice (analog signal processing - ASP) tehnici digitale (digital signal processing - DSP) combinaii ale tehnicilor analogice si digitale (mixed signal processing - MSP)
Cerinele de performan i de cost ale ADC pot fi sczute cu preul unor circuite suplimentare de condiionare i procesare analogic de semnal
De exemplu, un amplificator cu ctig programabil, sau un amplificator logaritmic plasat n faa ADC poate reduce cerinele de domeniu dinamic pentru ADC
15
16
17
18
CARACTERISTICILE GENERALE ALE PROCESOARELOR DSP 1. Uniti aritmetice specializate de mare vitez i precizie 2. Arhitecturi performante orientate pe prelucrarea datelor, arhitecturi ce permit accesri multiple la memorie. 3. Vitez ridicat la transferul de date cu lumea extern
19
1 2 3 4
20
Cycle 5
EXEMPLU DE ORGANIZARE
X Data Bus Y Data Bus
Reg Y Reg Y
Shifter
Shifter Round
ARITMETICA
Virgul fix - ntregi, sau subunitare.
La subunitare mai uor de rotunjit / trunchiat, prin shift-are a coninutului acumulatorului. Reprezentarea numerelor cu semn n cod complementar (cod complement fata de 2) Avantaje C2: domeniu de reprezentare, reprezentare 0, sumare algebric, extindere de semn.
23
ARITMETICA
Virgul mobil
precizie mai bun, domeniu dinamic mai mare, ciclu de dezvoltare mai scurt folosind mantise normalizate scalarea i ncadrarea la precizie maxim este automat. dezavantaj potenial FP: hardware scaleaz automat i normalizeaz fiecare numr eroarea de trunchiere sau rotunjire depinde de dimensiunea numrului (nivelul de zgomot este modulat de mrimea semnalului).
24
Aproximare - continuare
Sticky Bit - Indic c rotunjirea ctre cel mai apropiat minimizeaz eroarea medie introdus prin rotunjire (exist un bit cu valoare 1 dup bitul de gard la rotunjire ?). Saturaie. n caz de depire superioar sau inferioar (overflow / underflow) returneaz numrul cel mai mare / cel mai mic.:
dac A 1 atunci MAX pozitiv; dac A < 1 atunci MAX negativ
= = =
-1+0,484375 = - 0,515625 -1+0,5 = - 0,5 (diferena 0,015625) -1+0,4375 = -0,5625 (diferena 0,0625)
25 26
Aproximare - FP
Metode standardizate (IEEE 754) de rotunjire la DSP, FP:
Trunchiere Round to nearest:
< 1/ 2 rotunjire n jos, > 1/ 2 rotunjire n sus erori mai mici ca la trunchiere
1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
Decimal Equivalent
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Convergent (round to nearest even) : < 1/ 2 rotunjire n jos, > 1/ 2 rotunjire n sus, = 1/ 2 rotunjire ctre cel mai apropiat par
27
28
1 0 0 0 0 0 0 0 0 1 1
Decimal Equivalent
0 1 2 3 4 5 6 7 -8 -7
c[1]
nmulire ntrziere
-1
c[2]
29
30
Depire la nmulire
16-bii x 16-bii = 32-bii Exemplu utiliznd reprezentare pe 4 bii 0 0 0 0 1 0 0 1 0 0 x 3 8 24
y (n ) =
a(k )x(n k )
x 0 0 0 1
1 1
31
Depire la adunare
32-bii + 32-bii = 33-bii Exemplu utiliznd reprezentare pe 4 bii 1 + 1 1 0 0 0 0 0 0 0 0 0 0 + 8 8 16
0 x 0 0 0 1 1 1 1
0 0 0 1
1 0 0 1
1 0 0 1
3 8 24 15
35
0 x 1 1 1 0 1 1 1
0 0 0 0
1 0 0 0
1 0 0 0
3 -8 -24 -8
36
Saturat
Saturat
Exemple:
0.6 x 0.9 x 0.1 x 0.11 x 0.2 = 0.12 0.9 = 0.81 0.1 = 0.01 0.15 = 0.0165
37
38
1
= MAX
(N= 2-(N-1)
(N= MAX+2-(N-1) = 1
Care este numrul cel mai mare reprezentabil? Numrul cel mai mare:
+ - 20 2-1 2-2
(N2-(N-1)
Care este numrul cel mai mic? Cel mai mic numr:
- 20 2-1 2- 2
(N2-(N-1)
0 0 1
1 0 0
1 0 0
1 1 0
= MIN = -1
MAX = 1-2-(N-1)
39
40
Explicaie (C2)
1 1 1
0 0 1
Sign extension
Pentru a pstra aceeai rezoluie de reprezentare cu cea a operanzilor se selecteaz doar urmtorii 4 bii: 1 1 1 0
= -1 + 0.5 +0.25 = -0.25 (n loc de -0.1875) 0.5 0.2
41 42
(a) Arhitectur von Neumann (memorie unic) Memorie date i instruciu CPU
Memorie program
Memorie date X
Memorie date Y
43
44
(c) Arhitectur Super Harvard (memorie separat, cache de instruciuni, controller I/O) Memorie de Program
bus adrese PM bus date PM
CPU
Cache Instruciuni
Memorie de Date
doar date
CPU
Memorie de Date
doar date
Controller I/O
date
45
46
ntr-un ciclu instruciune se fac accesri multiple la memoria unic (prin magistrala unic de date) clock-ul memoriei (80 MHz) merge mai repede dect al procesorului (20 MHz). fiecare ciclu instruciune poate fi divizat n patru cicluri main de acces i citire din memorie 4 accesri pe ciclu instruciune.
47
Moduri de adresare indirect prin registre cu auto post/pre incrementare sau decrementare.
48
*rP *rP++ *rP-*rP++rI *rP++rIr citete datele adresate de coninutul registrului pointer rP dup citirea datelor se face auto-incrementarea registrului pointer. dup citirea datelor se face auto-incrementarea registrului pointer. dup citirea datelor se face auto-incrementarea registrului pointer, register postincrement cu valoarea coninut n registrul rI dup citirea datelor se face auto-incrementarea registrului pointer, bit reversed cu valoarea coninut n registrul rI, ca i cum biii de adres ar fi aezai n ordine invers. register indirect postincrement postdecrement
49
50
Alte caracteristici
acumulatorul are 80 de bii pentru a reduce erorile asociate cu rotunjirile la nmulirea n virgul fix. utilizarea unor registre - umbr (dublur a registrelor), schimbarea coninutului ntre originale i umbre fcnduse ntr-un ciclu de ceas. circuitele de calcul a adreselor (generare adrese de date) pot fi folosite i ca ALU pentru operaii cu ntregi.
bus date PM
Registre de date nmulitor
bus date DM
53
54
pierderea de informaie pentru c eantionm semnalul doar pentru un anumit interval limitat de timp
pierdem frecvenele joase.
alierea este rezultatul eantionrii, ceea ce nseamn c nu putem distinge ntre frecvenele joase i cele nalte. Pierdem schimbrile brute. rezoluia limitat n frecven este rezultatul duratei limitate (a impulsului) de eantionare, ceea ce nseamn c nu putem distinge ntre frecvenele adiacente.
3.
erori datorate preciziei limitate (de ex. lungimea cuvntului) de stocare i n aritmetica folosit
eroarea de cuantizare
55
56
Exemplu
Convertim un semnal audio cu frecvena maxim de 20 kHz T. Shanon, eantionare cu minim 40 kHz (suficient ?)
Semnalul analogic de intrare conine i componente peste 20 kHz (inclusiv zgomot) eliminate prin filtru anti-aliere, ce nu este ideal band suplimentar de frecvene, de ex. 4 kHz pentru banda de tranziie a filtrului eantionare cu minim 48 KHz
Exemplu
Atenie c numrul de milioane de operaii pe secund nu este egal cu numrul de milioane de instruciuni pe secund (MIPS). Un procesor cu viteza 10 MIPS care poate efectua 8 operaii pe secund are aceeai performan cu unul de 40 MIPS care realizeaz doar 2 operaii pe secund. Pentru semnalul audio eantionat la 48 kHz, un cadru de 1024 eantioane are un interval de achiziie de 21.33 ms (1024 x 20.833 s). Procesorul DSP are maximum 21.33 ms ca s termine toate sarcinile de procesare cerute pentru acel cadru de date. Dac lucreaz n timp real DSP nu trebuie s piard nici un eantion, astfel c n timp ce prelucreaz primul cadru de date se face deja achiziia celui de-al doilea cadru de date. Se va folosi suplimentar accesul prin DMA la canalele de achiziie.
Rejecia introdus de filtru n banda de atenuare, asigur c nici un semnal peste 24 kHz, nu trebuie s aib amplitudinea mai mare dect din LSb
Soluie: supraeantionare i filtru analogic + filtru digital, apoi decimare n digital.
(1/48000 = 20,833 s)
Dac algoritmul cere n 20,833 s, 50 de operaii de prelucrare ntre eantioane, viteza minim a DSP poate fi:
DSPspeed =