Академический Документы
Профессиональный Документы
Культура Документы
du signal (DSP)
Daniel Etiemble
de@lri.fr
M1 Informatique
2004
Architectures avances
D. Etiemble
Nombre croissant
Cot croissant
Microcontrleurs
Le cot est trs importants
Mot de petite taille, le plus souvent 8 bits
De trs loin le plus gros nombre de processeurs
Automobiles, thermostats, lectro-mnager...
M1 Informatique
2004
Architectures avances
D. Etiemble
Architectures avances
D. Etiemble
Algorithmes
Filtrage frquentiel - FIR et IIR
Transformations temps en frquence - FFT
Corrlation
M1 Informatique
2004
Architectures avances
D. Etiemble
Architectures avances
D. Etiemble
Architectures avances
D. Etiemble
Les DSP excutent parfois des applications temps rel strict ...
On doit tenir compte de tout ce qui intervient dans un intervalle de
temps donn
Toutes les interruptions ou exceptions possibles doivent tre prises en
compte dans lintervalle de temps
Les exceptions sont coteuses
M1 Informatique
2004
Architectures avances
D. Etiemble
M1 Informatique
2004
Architectures avances
D. Etiemble
La culture DSP
La culture DSP a des reprsentations graphiques pour
reprsenter les formules
flowchart pour les formules, les boucles internes (et non
des programmes)
Certaines sont naturelles
M1 Informatique
2004
Architectures avances
D. Etiemble
Le filtrage FIR
Les m chantillons les plus rcents dans une ligne retard (Xi)
Le nouvel chantillon fait avancer les donnes dans la ligne
retard
Ltape est une addition-multiplication
Chaque tape (M+1 au total) a besoin de
Architectures avances
D. Etiemble
10
M1 Informatique
2004
Architectures avances
D. Etiemble
11
lw
lw
mul
add
sw
inc
inc
inc
dec ctr
tst ctr
jnz loop
x0, 0(r0)
y0, 0(r1)
a, x0,y0
y0,a,b
y0,(r2)
r0
r1
r2
Problmes :
goulet dtranglement bus/mmoire
Surcot du code de gestion de boucle
M1 Informatique
2004
Architectures avances
D. Etiemble
12
Processeur
Mmoires instructions et
donnes spares
Accumulateur
Jeu dinstructions spcialis
Chemin
Donnes :
Mem
Mmoire
donnes
Registre T
UAL
Registre P
Accumulateur
M1 Informatique
2004
Architectures avances
D. Etiemble
13
Architectures avances
D. Etiemble
14
M1 Informatique
2004
Architectures avances
D. Etiemble
15
Larithmtique utilise
Les DSP ont besoin de nombres reprsentant le monde rel
rels / fractions
-1 x < 1
virgule
virgule
M1 Informatique
2004
Architectures avances
D. Etiemble
16
Architectures avances
D. Etiemble
17
Les dbordements
Les DSP descendent de lanalogique
Quarrive-t-il lorsquon augmente une entre (augmente le
volume sur une chane stro ?)
Signification de larithmtique modulo ?
M1 Informatique
2004
Architectures avances
D. Etiemble
18
La multiplication
Matriel spcialis pour effectuer toutes les
oprations arithmtiques en 1 cycle
Plus de 50% des instructions peuvent avoir
besoin du multiplieur
Latence du multiplieur : 1 cycle
M1 Informatique
2004
Architectures avances
D. Etiemble
19
Accumulateur
Multiplieur
Multiplieur
Dc.
M1 Informatique
2004
UAL
UAL
Accumulateur G
Accumulateur
Architectures avances
D. Etiemble
20
10
Les arrondis
Mme avec des bits de garde, on doit arrondir pour ranger
laccumulateur en mmoire
3 options standard
Troncation : tronquer les rsultats
rsultat biais
Arrondi au plus proche
< 1/2 arrondi vers le bas, 1/2 arrondi vers le haut (plus positif)
biais rduit
Convergent:
< 1/2 arrondi vers le bas, > 1/2 arrondi vers le haut (plus positif), = 1/2
arrondi pour faire du bit le moins significatif un 0 (+1 si 1, +0 si 0)
IEEE 754 appelle cela round to nearest even
M1 Informatique
2004
Architectures avances
D. Etiemble
21
Architectures avances
D. Etiemble
22
11
Architectures avances
D. Etiemble
23
Les tampons
Les DSP traitent en continu des E/S
Interagissent souvent un tampon dE/S (ligne retard)
Pour rduire les besoins mmoire, le tampon est souvent
organis comme un tampon circulaire
Technique pour contrler le non dbordement du tampon
circulaire
Option 1 : on a un registre de dbut et un registre de fin utiliser avec
ladressage auto-incrment. On revient au dbut quand on atteint la fin
du tampon
Option 2 : on a un registre de longueur du tampon. On suppose que le
tampon dbute sur une adresse aligne. On revient au dbut quand on
atteint la fin
Architectures avances
D. Etiemble
24
12
0 (000)
4 (100)
2 (010)
6 (110)
1 (001)
5 (101)
3 (011)
7 (111)
Architectures avances
D. Etiemble
25
M1 Informatique
2004
Architectures avances
D. Etiemble
26
13
Architectures avances
D. Etiemble
27
Architectures avances
D. Etiemble
28
14
Architectures avances
D. Etiemble
29
Architectures avances
D. Etiemble
30
15
Architectures avances
D. Etiemble
31
M1 Informatique
2004
Architectures avances
D. Etiemble
32
16
Control
Registers
Instruction Dispatch
Instruction Decode
4DMA
Control
Logic
Data Path 1
Data Path 2
A Register File
B Register File
Test
Emulation
L1
Ext.
Memory
Interface
S1
M1
D1
D2 M2
S2
L2
Interrupts
2 Timers
2 Multichannel
buffered
serial ports
(T1/E1)
Data Memory
32-Bit address, 8-, 16-, 32-Bit data
512K Bits RAM
Architectures avances
D. Etiemble
33
Registers B0 - B15
1X
S1
2X
S2
D DL SL
L1
SL DL D S1
S1
S2
D S1
S2
M1
DDATA_I1
(load data)
DDATA_O1
(store data)
D S1 S2
S2 S1 D
S2
D1
D2
M2
S1 D
S2
S1 D DL SL
S2
SL DL D
S2
S1
L2
DDATA_I2
(load data)
DADR1 DADR2
(address) (address)
DDATA_O2
(store data)
Chemins de croisement
Chemins dcriture 40 bits (8 MSBs)
Chemins lecture/criture 40 bits
Architectures avances
D. Etiemble
34
17
Control
Registers
Instruction Dispatch
Instruction Decode
4
Channel
DMA
Control
Logic
Data Path 1
Data Path 2
A Register File
B Register File
Test
Emulation
L1
S1
M1
D1
D2 M2
S2
External
Memory
Interface
L2
Interrupts
2 Timers
Data Memory
32-Bit address
8-, 16-, 32-Bit data
512K Bits RAM
2 Multichannel
buffered
serial ports
(T1/E1)
Architectures avances
D. Etiemble
35
CPU TMS320C67x
C67x Floating-Point CPU Core
Program Fetch
Instruction Dispatch
Control
Registers
Instruction Decode
Data Path 1
Data Path 2
A Register File
B Register File
L1 S1 M1 D1
D2 M2 S2 L2
Control
Logic
Test
Emulation
Arithmetic
Logic
Unit
Auxiliary
Logic
Unit
Multiplier
Unit
Architectures avances
D. Etiemble
Interrupts
Floating-Point
Capabilities
36
18
2 Data Paths
8 Functional Units
Orthogonal/Independent
2 Floating Point Multipliers
2 Floating Point Arithmetic
2 Floating Point Auxiliary
Control
Independent
Up to 8 32-bit Instructions
Registers
2 Files
32, 32-bit registers total
Cross paths (1X, 2X)
Registers A0 - A15
Registers B0 - B15
1X
S1
2X
S2
D DL SL
L1
SL DL D S1
S1
S2
D S1
S2
M1
D S1 S2
S2 S1 D
S2
D1
D2
M2
S1 D
S2
S1 D DL SL
S2
SL DL D
S2
S1
L2
Architectures avances
D. Etiemble
37
Architectures avances
D. Etiemble
38
19