Vous êtes sur la page 1sur 1

Université Cadi Ayyad

Ecole Nationale des Sciences Appliquées. Marrakech


SEECS-2

TD1 : Architecture des DSP

Exercice 1

Les codes suivants sont t ils valides ? Pourquoi ?

2. 1.
LDW .D1 *A4 A3
LDW .D2 *B4 B5
NOP 4
3. MPY .M1 A3 B5 A5
ADD .L1 A5 A7 A7

4. 4. 5. LDW .D1 *B6 A3


LDW .D1 *A4 A3 LDW .D2x *B4 A5
LDW .D2 *B4 B3 NOP 4
NOP 4 MPY .M1 A3 A5 A6
MPY .M1 A3 B3 A5
ADD .L1 A5 A7 A7

Exercice 2 :

On propose de programmer en assembleur la routine dont le prototype est :


Pvect (short* A, short* B, int* C, int N) ; // (N = 80)

Un produit est stocké par itération dans le tableau C : C[i] = A[i] * B[i]
Exemple d’opération de stockage : STW .D1 A8 , *A9++ ; stocke la valeur qui est dans
A8 dans l’adresse mémoire spécifiée dans A9 puis incrémentation de la valeur dans A9
par 4 (word)
1. Donnez le code de _Pvect() en chargeant un seul élément par tableau par itération
(LDH).
2. Donnez le code complet améliorer de _Pvect().
3. Améliorez la boucle en utilisant LDW puis LDDW
4. Donnez la table de programmation (version avec LDW),
5. Donnez le code avec pipeline avec et sans Epilog
6. Donnez le code avec pipeline en utilisant le SPLoop

Exercice 3 :

On souhaite élaborer le code avec pipeline du produit scalaire en utilisant l’instruction


DOTP4H
1. Dressez la table de programmation.
2. Combien de cycles durera une itération du Kernel (ii = intervalle d’itération)
3. Quel est la durée en cycles du code avec pipeline (N=128)
4. En déduire le code sans Epilog et le code en utillisant le SPLoop

Exercice 4 :

Donner la table de programmation, et le code avec pipeline (SPLoop) pour une boucle de
produit scalaire avec des éléments réels

1/1

Vous aimerez peut-être aussi