Vous êtes sur la page 1sur 19

Les processeurs traitement

du signal (DSP)
Daniel Etiemble
de@lri.fr

M1 Informatique
2004

Architectures avances
D. Etiemble

Gnralistes haute performance


Pentiums, PowerPC, SPARC
Logiciels dusage gnral
OS important - UNIX, XP
Statiuons de travail, PC

Processeurs embarqus et processeurs curs


ARM, 486SX, Hitachi SH7000, NEC V800
Un seul programme
OS lger, souvent temps rel
Support DSP
Tlphones portables, lectronique grand public (Lecteurs de CD, etc.)

Nombre croissant

Cot croissant

Les classes de processeurs

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

Introduction aux DSP


Traitement numrique du signal : application doprations
mathmatiques sur des signaux reprsents sous forme
numrique
Reprsentation des signaux sous forme de squences
dchantillons
Les signaux numriques sont obtenus partir de signaux
physiques via des rcepteurs (ex : microphones) et des
convertisseurs analogiques-numriques (ADC)
Les signaux numriques sont reconvertis en signaux physiques
par des convertisseurs numriques-analogiques (DAC)
Processeurs de traitement du signal (DSP) : systme
lectronique qui traite des signaux numriques
M1 Informatique
2004

Architectures avances
D. Etiemble

Algorithmes et applications typiques


Applications Instrumentation et mesures
Communications
Traitement audio et vido
Graphique, traitement dimages, rendu 3- D
Navigation, radar, GPS
Contrle - robotique, vision, guidage

Algorithmes
Filtrage frquentiel - FIR et IIR
Transformations temps en frquence - FFT
Corrlation
M1 Informatique
2004

Architectures avances
D. Etiemble

Les tches des DSP


Caractristiques communes:
Calculs numriques rptitifs
Prcision numrique
Dbit mmoire important, surtout par accs des tableaux
Traitement temps rel

Ralisation efficace en minimisant:


Cot
Puissance consomme
Utilisation mmoire
Temps de dveloppement
M1 Informatique
2004

Architectures avances
D. Etiemble

Deux cultures diffrentes


Le microprocesseur gnraliste est le descendant de lENIAC
(Eckert, Mauchly, Von Neumann)
Les DSP sont des descendants des processeurs analogiques
utilisant du matriel analogiques pour traiter des signaux
physiques
Les processeurs analogiques ont t remplacs par des processeurs
numriques
Avantages du numrique par rapport lanalogique

Des histoires diffrentes et des applications diffrentes ont


conduit des termes diffrents, des mtriques diffrentes et
certaines inventions nouvelles
Des marchs en expansion conduisant une guerre
culturelle
M1 Informatique
2004

Architectures avances
D. Etiemble

Spcificits des DSP/processeurs gnralistes


Les DSP ont tendance tre utilis pour un programme, pas
pour de nombreux programmes
Les systmes dexploitation sont beaucoup plus simples
Pas de mmoire virtuelle, pas de protection

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

Les DSP ont un flot de donnes continu infini

M1 Informatique
2004

Architectures avances
D. Etiemble

Les applications tueuses des DSP


En terme de volume financier, les marchs les plus importants
des DSP aujourdhui sont

Les tlphones portables


Les pageurs et autres systmes sans fils
Les modems
Les contrleurs de disque dur

La plupart exigent de bonnes performances


Toutes demandes un bas cot
Beaucoup demande une faible consommation dnergie
La tendance est vers de meilleurs supports pour ce type
dapplications essentielles

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

pour laddition, X pour la multiplication

Dautres sont bizarres


Z-1 signifie prendre la variable de litration prcdente

Ces graphes sont triviaux interprter.

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

Deux accs aux donnes


Une multiplication
Une accumulation
Une criture mmoire pour mettre jour la ligne retard

Lobjectif : 1 tape du filtre FIR par cycle dinstruction du


DSP
M1 Informatique
2004

Architectures avances
D. Etiemble

10

Les hypothses DSP


Les processeurs lancent/excutent/terminent les
instructions dans lordre
Les processeurs lancent une instruction par cycle
Chaque ligne de code assembleur correspond
une instruction
CPI = 1
Le calcul flottant est lent et cher

M1 Informatique
2004

Architectures avances
D. Etiemble

11

Le filtre FIR sur un processeur gnraliste


loop:

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

DSP 1re gnration (1982): TI TMS32010


Mmoire
instructions

Virgule fixe 16 bits


Architecture Harvard

Processeur

Mmoires instructions et
donnes spares

Accumulateur
Jeu dinstructions spcialis

Chemin
Donnes :
Mem

Mmoire
donnes

Registre T

Load and Accumulate


Multiplieur

Temps de la multiplicationaccumulation (MAC) : 390


ns; 228 ns aujourdhui

UAL

Registre P

Accumulateur
M1 Informatique
2004

Architectures avances
D. Etiemble

13

Code du filtre FIR sur TMS 32010


X4, H4, ... Sont des adresses mmoire directes (absolues) :
LT X4
; Load T with x(n-4)
MPY H4
; P = H4*X4
LTD X3
; Load T with x(n-3); x(n-4) =
x(n-3); ; Acc = Acc + P
MPY H3
; P = H3*X3
LTD X2
MPY H2
...
Deux instructions par tape, avec droulage
M1 Informatique
2004

Architectures avances
D. Etiemble

14

Les caractristiques communes de la plupart des


DSP

Chemin de donnes organis pour traitement du signal


Jeu dinstructions spcialis
Plusieurs bancs mmoire et plusieurs bus
Modes dadressage spcialiss
Contrle dexcution spcialis
Priphriques spciaux pour le traitement du signal

M1 Informatique
2004

Architectures avances
D. Etiemble

15

Larithmtique utilise
Les DSP ont besoin de nombres reprsentant le monde rel
rels / fractions

Les DSP ont besoin de nombre pour les adresses


Entiers

Offrent la virgule fixe et les entiers

-1 x < 1

virgule

2N1 x < 2N1

virgule
M1 Informatique
2004

Architectures avances
D. Etiemble

16

Prcision des nombres


La taille des mots influe sur la prcision des nombres en
virgule fixe
Les DSP ont des mots de 16, 20 ou 24 bits

Les DSP travaillant en flottant cotent deux quatre fois plus


chers que ceux en virgule fixe, sont plus lents
Les programmeurs de DSP vont fixer ltendue des valeurs
lintrieur du code
Bibliothques logicielles
Exposant explicite spar
Flottant par bloc : un seul exposant pour un ensemble de parties
fractionnaires

Le support du calcul flottant simplifie le dveloppement


logiciel
M1 Informatique
2004

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 ?

Utilisation de larithmtique sature


Positionner la valeur la plus positive ou la plus ngative
Beaucoup dalgorithmes utilisent ce modle

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

Besoin de la multiplication accumulation


(MAC)
Un multiplieur n bit gnre un produit sur 2n
bits

M1 Informatique
2004

Architectures avances
D. Etiemble

19

Accumulateur

On ne veut pas de dbordement ou devoir tendre laccumulateur


Option 1 : accumulateur plus grand que le produit : bits de garde

Option 2 : dcaler droite et arrondir le produit avant laddition

DSP Motorola : 24 b x 24 b produit 48 b , accumulateur 56 b

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

Mmoire des DSP


Ltape FIR implique plusieurs accs mmoire
Les DSP ont besoin de plusieurs ports de donnes
Certains DSP ont des techniques ad hoc pour rduire
le besoin en bande passante mmoire
Tampon de rptition dinstructions
do 1 instruction 256 times

Inhibe souvent les interruptions, ce qui augmente le temps


de rponse des interruptions

Les DSP nont pas de caches de donnes


Peuvent avoir plusieurs mmoires de donnes
M1 Informatique
2004

Architectures avances
D. Etiemble

22

11

Les modes dadressage


Ont les modes dadressage standard : immdiat, dplacement,
registre indirect
Veulent que le chemin de donnes MAC soit occup en
permanence
Hypothses
Toute instruction supplmentaire implique un surcot en cycles
dhorloge pour la boucle interne
Les modes dadressage complexes sont utiles
Ne pas utiliser le chemin de donnes pour calculer des adresses

Modes registre indirect autoincrment/autodcrment


lw r1,0(r2)+ // r1 M[r2] ; r2<r2+1
La mise jour peut tre avant ladressage, positive ou ngative
M1 Informatique
2004

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

Tout DSP a un mode dadressage modulo ou circulaire


M1 Informatique
2004

Architectures avances
D. Etiemble

24

12

Ladressage pour la FFT


Les FFT commencent ou finissent avec un ordre li au
papillon FFT
0 (000)
1 (001)
2 (010)
3 (011)
4 (100)
5 (101)
6 (110)
7 (111)

0 (000)
4 (100)
2 (010)
6 (110)
1 (001)
5 (101)
3 (011)
7 (111)

Mode dadressage optionnel adresse bit reverse utiliser


avec ladressage auto-incrment
Beaucoup de DSP ont ladressage bit reverse pour la FFT
base 2.
M1 Informatique
2004

Architectures avances
D. Etiemble

25

Les instructions DSP

Peuvent spcifier plusieurs oprations en une seule instruction


Doivent avoir la multiplication accumulation (MAC)
Doivent permettre des transferts en parallle
Ont gnralement un support spcial pour les boucles pour
rduire le surcot de branchement
Boucle pour une instruction ou une squence
Compteur ditrations

Peuvent avoir des dcalages gauche arithmtique saturant


Peuvent avoir lexcution conditionnelle pour rduire les
branchements

M1 Informatique
2004

Architectures avances
D. Etiemble

26

13

Les critres de performance des DSP


Le nombre de MAC des DSP est le critre de vitesse
Les DSP sont jugs sur leur capacit avoir leurs multiplieurs occups
100% du temps

Les benchmarks des DSP

Les filtres IIR (Infinite Impulse Response)


Les filtres FIR (Finite Impulse Response)
La FFT
Les convolutions

Pour les DSP, les algorithmes sont rois


La compatibilit binaire nest pas encore un problme

Le logiciel nest pas (encore) roi


Les programmeurs crivent encore en assembleur pour minimiser la
surface de la ROM dans le circuit DSP.
M1 Informatique
2004

Architectures avances
D. Etiemble

27

Schma fonctionnel du TMS320C203/LC203 (1995)

Slide Texas Instruments


M1 Informatique
2004

Architectures avances
D. Etiemble

28

14

Schma fonctionnel du TMS320C30

Slide Texas Instruments


M1 Informatique
2004

Architectures avances
D. Etiemble

29

Schma fonctionnel du CPU TMS320C3x

Slide Texas Instruments


M1 Informatique
2004

Architectures avances
D. Etiemble

30

15

Schma fonctionnel mmoire du TMS320C3x

Slide Texas Instruments


M1 Informatique
2004

Architectures avances
D. Etiemble

31

Schma fonctionnel du TMS320C54x


Slide Texas Instruments

M1 Informatique
2004

Architectures avances
D. Etiemble

32

16

Schma fonctionnel TMS320C6201


Program Cache / Program Memory
32-bit address, 256-Bit data512K Bits RAM
Pwr
Dwn
Host
Port
Interface

C6201 CPU Megamodule


Program Fetch

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

Slide Texas Instruments


M1 Informatique
2004

Architectures avances
D. Etiemble

33

Chemin de donnes C62x


Registers A0 - A15

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)

Slide Texas Instruments


M1 Informatique
2004

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

Schma fonctionnel du DSP TMS320C6701


Program Cache/Program Memory
32-bit address, 256-Bit data
512K Bits RAM
Power C67x Floating-Point CPU Core
Down
Program Fetch
Host
Port
Interface

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

Slide Texas Instruments


M1 Informatique
2004

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

Slide Texas Instruments


M1 Informatique
2004

Arithmetic
Logic
Unit

Auxiliary
Logic
Unit

Multiplier
Unit

Architectures avances
D. Etiemble

Interrupts

Floating-Point
Capabilities
36

18

Chemins de donnes C67x

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)

L-Unit (L1, L2)


Floating-Point, 40-bit Integer ALU
Bit Counting, Normalization
S-Unit (S1, S2)
Floating Point Auxiliary Unit
32-bit ALU/40-bit shifter
Bitfield Operations, Branching
M-Unit (M1, M2)
Multiplier: Integer & Floating-Point
D-Unit (D1, D2)
32-bit add/subtract Addr Calculations

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

Slide Texas Instruments


M1 Informatique
2004

Architectures avances
D. Etiemble

37

Multiprocesseur MIMD TMS320C80 (1996)

Slide Texas Instruments


M1 Informatique
2004

Architectures avances
D. Etiemble

38

19

Vous aimerez peut-être aussi