Vous êtes sur la page 1sur 2

Correction TDs processeurs de traitement numérique du

signal (DSP)

Exercice d’application : pipeline

Combien de temps faut–il pour exécuter les instructions du fragment de code suivant sur un
processeur pipeliné (5 étages) possédant une latence d’instructions de 3 cycles?

ADD r1, r2, r3 instruction émise au cycle n


SUB r4, r5, r6 instruction émise au cycle n+1
MUL r8, r2, r1 instruction émise au cycle n+3 (dépendance Rd after Wr avec ADD r1, r2,
r3)
DIV r5, r2, r1 instruction émise au cycle n +4
OR r10, r11, r4 instruction émise au cycle n +5

Profondeur pipeline = 5
T_emission_total = 6 cycles
T_execution=(5+6-1)cycle=10 cycles

TD3: boucle materielle

1. IPC=Nbre d’instruction par cycle d’horloge


1 secondeà 50 M d’instructions
1/fDSP à IPC
IPC=50 M/ fDSP
IPC=12 .5 instruction par cycle

2. Avec la boucle matérielle :


1 instruction +16 instructions uniquement=17 instructions
T_execution = N_instruction/( fDSP *IPC)
AN : T_execution=340 10-6

TD4: DSP Multi-MACs (SIMD par unités parallèle)

Pour obtenir un échantillon yn, en sortie du filtre, nous devons exécuter pour chaque
échantillon en entrée 5 multiplications et 4 additions => 5 MACs
Le DSP est dual MACs càd qu’il exécute 2 MACs en un seul cycle d’horloge. Donc il
exécute les 5 MACs en 3 cycles (Texec =3* TcycleDSP).
Pour un calcul en temps réel de ce filtre, il faut que :
Texec < Te
Te est la période d’échantillonage.
Ce qui fait :
3* TcycleDSP< Te
TcycleDSP< Te /3

TcycleDSP (max)= 1/6 µs


Ce DSP exécute 2 MACs en TcycleDSP (max) donc la puissance de calcul en MMACs (défiinie
comme le nombre de MACs exécutés pour une seconde) minimale pour l’exécution en temps
réel est :
2 / TcycleDSP (max) = 12 * 106 MACS = 12 MMACS

Vous aimerez peut-être aussi