Vous êtes sur la page 1sur 52

Plan du cours

2ème année GSI

• Introduction
• Ch1 : Architecture des DSPs conventionnels
• Ch2: Evolution et Nouvelles architectures des DSPs
• Ch3 : Arithmétique des DSPs

Chapitre 1: Architecture des DSPs conventionnels - 1 -


Année universitaire 2020/2021
Modélisation d’un processeur
2ème année GSI

Chapitre 1: Architecture des DSPs conventionnels - 2 -


Année universitaire 2020/2021
Modélisation d’un processeur
2ème année GSI

Chapitre 1: Architecture des DSPs conventionnels - 3 -


Année universitaire 2020/2021
Architecture inspirée des filtres
2ème année GSI

Principe:
L’architecture des premiers DSPs est directement inspirée de la
structure des filtres numériques
Exemple Filtre FIR sur N points:

Chapitre 1: Architecture des DSPs conventionnels - 4 -


Année universitaire 2020/2021
2ème année GSI

Chapitre 1
Architectures des DSPs conventionnels

1. Unité de traitement
2. Unité de mémorisation
3. Unité de contrôle

Chapitre 1: Architecture des DSPs conventionnels - 5 -


Année universitaire 2020/2021
Unité de traitement spécialisée
2ème année GSI

• Exécution d’un MAC en un cycle


• Accumulateur adapté au MAC incorporant
des bits supplémentaires (bits de garde)
afin de gérer le pbm de débordement

Chapitre 1: Architecture des DSPs conventionnels - 6 -


Année universitaire 2020/2021
Exemple: le TMS320 C50
2ème année GSI

Chapitre 1: Architecture des DSPs conventionnels - 7 -


Année universitaire 2020/2021
Mesure de performances
2ème année GSI

Chapitre 1: Architecture des DSPs conventionnels - 8 -


Année universitaire 2020/2021
TD 1 2ème année GSI

Soit un filtre FIR dont le schéma de fonctionnement dans le domaine


temporel est le suivant :

h1 = h5 = 0,1;
h2 = h4 = -0,3;
h3 = 0,5.

Chapitre 1: Architecture des DSPs conventionnels - 9 -


Année universitaire 2020/2021
TD 1 (Suite)
2ème année GSI

On suppose que l’on dispose d’un calculateur de type DSP conventionnel.


1. Quel est l’ordre de ce filtre?
2. Quel est le nombre de multiplications et d’additions, puis le nombre de MACs
pour le calcul d’un échantillon yn en sortie de ce filtre ?
3. Le DSP qu’ on utilise possède une période de cycle de 100 ns. Quelle est
dans ce cas la fréquence d’échantillonnage maximale du signal pour traiter
ce filtre en temps réel sur ce DSP ?
4. Quelle est la complexité algorithmique (calculatoire) de ce filtre (équivalente
à la puissance de calcul minimale du DSP pour réaliser ce filtre) en MMACS
puis en MOPS?

Chapitre 1: Architecture des DSPs conventionnels -10 -


Année universitaire 2020/2021
2ème année GSI

Chapitre 1
Architectures des DSPs conventionnels

1. Unité de traitement
2. Unité de mémorisation
3. Unité de contrôle

Chapitre 1: Architecture des DSPs conventionnels -11 -


Année universitaire 2020/2021
Unité de mémorisation
2ème année GSI

Soit 4 accès mémoire par instruction

Objectif: - Réduire le nombre d’accès mémoires


- Tous les accès mémoires TAP en un cycle
Chapitre 1: Architecture des DSPs conventionnels -12 -
Année universitaire 2020/2021
Processeurs: Von Neumann Vs Harvard
2ème année GSI

Chapitre 1: Architecture des DSPs conventionnels -13 -


Année universitaire 2020/2021
1) DSPs: Architecture Harvard
2ème année GSI

–Séparation de la mémoire donnée et de la mémoire programme


–Fetch instruction pipeliné en même temps que fetch opérande

Chapitre 1: Architecture des DSPs conventionnels -14 -


Année universitaire 2020/2021
2) DSPs: Modèle load-store
2ème année GSI

Localisation des opérandes 2 modèles:

Chapitre 1: Architecture des DSPs conventionnels -15 -


Année universitaire 2020/2021
3) Solution1: Architecture Harvard modifiée
2ème année GSI

– Autorisation de mémorisation de données


dans l’IM:
IM : Instructions et coefficients du filtre
DM: échantillons d’entrée
– Cache pour charger les instructions
fréquentes: Éviter les conflits d’accès
données et instructions

NB: En général, les DSP n’ont pas


de mémoire cache pour les données

Chapitre 1: Architecture des DSPs conventionnels -16 -


Année universitaire 2020/2021
3) Solution 2: Extension à 3 mémoires
2ème année GSI

– 2 mémoires données DM séparées


– En 1 cycle: Fetch l’instruction
pipeliné avec fetch de 2 opérandes
(si les temps d’accès aux mémoires
DM1, DM2 et IM sont identiques)

Ex: DSP5600x, DSP96002,


Zilog Z893

Chapitre 1: Architecture des DSPs conventionnels -17 -


Année universitaire 2020/2021
3) Solution 3: Mémoire multi-accès
2ème année GSI

– Mémoire rapide autorisant plusieurs accès séquentiels par


cycle instruction

Cycle instruction

Ad. 1 2 3 4

Donnée 1 2 3 4

Zoran ZR3800x: 3 accès mémoire par cycle


Lucent DSP32: 4 accès mémoire par cycle

Chapitre 1: Architecture des DSPs conventionnels -18 -


Année universitaire 2020/2021
3) Solution 4: Mémoire multi-ports
2ème année GSI

- DM est une mémoire multi-ports


- Plusieurs bus de données: plusieurs
accès aux données

Avantage: programmation
simplifiée
Inconvénients: Electronique
beaucoup plus complexe donc
plus coûteuse.

Chapitre 1: Architecture des DSPs conventionnels -19 -


Année universitaire 2020/2021
Les types d’adressages usuels
2ème année GSI

Les DSPs utilisent les modes d’adressages classiques: codage


dans l’instruction de la position d’une donnée à utiliser

Chapitre 1: Architecture des DSPs conventionnels -20 -


Année universitaire 2020/2021
4) Adressages supplémentaires dans
les DSPs 2 ème
année GSI

1- Adressage circulaire en modulo


But:
– Éviter l’opération d’écriture x(i)=x(i-1)
– Ne conserver que les N dernières valeurs des entrées ou d’un
calcul précédent comme dans une FIFO.
Principe: Utiliser des pointeurs mobiles pour repérer le début et la
fin des données : tampons circulaires
Nombre de tampons circulaires
simultanés
AT&T DSP16xx : 1
TMS320C5x : 2
Motorola 5600x : 4
ADSP : 8

Chapitre 1: Architecture des DSPs conventionnels -21 -


Année universitaire 2020/2021
2ème année GSI
1- Adressage circulaire en modulo (suite)

Gestion des pointeurs:


― Gérer les pointeurs par programme: Diminution très importante des performances
― Registre auxiliaire indiquant la longueur du tampon: l’adresse de départ doit en
général être un multiple de la puissance de deux supérieure à la longueur,
TMS320C3x/4x, ADSP, Motorola,...
Exemple: Tampon circulaire de 48 octets, adresse de départ multiple de 64,
– Registres auxiliaires indiquant le début et la fin du tampon circulaire, Ex:
TMS320C5x, AT&T DSP16xx
Chapitre 1: Architecture des DSPs conventionnels -22 -
Année universitaire 2020/2021
Implémentation 2ème année GSI

Buffer linéaire
Buffer circulaire
Chapitre 1: Architecture des DSPs conventionnels -23 -
Année universitaire 2020/2021
Suite TD 1 2ème année GSI

Reprenons le filtre énoncé au slide 10 et 11


• Quel est le nombre de mots mémoires nécessaires à l’exécution du calcul
d’un échantillon y(n) en sortie du filtre ? justifier
• Pour chaque cycle, donnez les accès mémoires nécessaires pour le calcul
d’un échantillon y(n) en sortie du filtre sachant que l’architecture mémoire
du DSP est de type Harvard modifiée. Déduire le nombre d’accès
mémoires en un cycle.

Chapitre 1: Architecture des DSPs conventionnels -24 -


Année universitaire 2020/2021
Rappel transformée de fourrier
2ème année GSI

✔ Considérons un son musical capté par un microphone. Si on relie ce microphone à un


oscilloscope, on obtiendra le signal x(t) : Approche temporelle
✔ Pour chaque fréquence f , X(f) représente le poids de celle-ci dans le son: Approche
fréquentielle ou "spectrale".
✔ Le passage de x(t) à X(f) est appelé transformation de Fourier (TF). La formulation
mathématique de cette transformation est la suivante :

✔ Physiquement, exp(j2πft) est un vecteur tournant à la fréquence f. La TF est le fait


d’identifier la quantité de la fonction x(t) qui tourne à la fréquence f = a.exp(j2πft),
a= cte. Il s’agit de déterminer cette constante a, on multiplie donc x(t) par le vecteur
tournant en sens inverse: exp(-j2πft).
✔ En revanche, tout ce qui tourne à une vitesse différente va tourner aussi dans le
repère tournant et donc va prendre des valeurs tantôt positives, tantôt négatives. Ces
valeurs vont donc s'annuler quand on intègre sur le temps de -∞ à +∞.

Chapitre 1: Architecture des DSPs conventionnels -25 -


Année universitaire 2020/2021
Rappel transformée de fourrier discrète ème
2 année GSI
TFD

✔ Pour un signal numérique x(k)=x(kTe), Te est la période d’échantillonnage, la


TF de x(k) s’exprime comme:

✔ Comme le calculateur est limité dans sa puissance de calcul, il ne peut fournir


ces résultats que pour un nombre limité de fréquence f, qu’il est naturel de
choisir multiples d’un certain pas de fréquence Δf. Un choix simplificateur
intéressant consiste à prendre Δf=1/NTe. Pour 0<n< N. La TFD s’exprime
comme:

Chapitre 1: Architecture des DSPs conventionnels -26 -


Année universitaire 2020/2021
Rappel: Écriture matricielle de la TFD
2ème année GSI
WN le twiddle factor égal à exp(-j2π/N)

– Quelle est la complexité de calcul de la TFD en nombre de


multiplications et additions réelles?
– En exploitant les propriétés des WNkn (symétrie, périodicité, ...):

De combien peut-on diminuer la complexité de calcul de la TFD?


Chapitre 1: Architecture des DSPs conventionnels -27 -
Année universitaire 2020/2021
Rappel FFT
2ème année GSI

– On partage les coefficients x(k) en deux parties, l’une contenant les


coefficients de rang pair (k=2i), l’autre les coefficients impairs
(k=2i+1). Comme N est pair, il y’aura N/2 coefficients dans chaque
paquet. L’équation de la TFD sera:

– En exploitant les propriétés des WNkn, l’équation de la TFD devient:

– D’autre part:

– On remarque qu’une TFD d’ordre N est décomposée en 2 TFD


d’ordre N/2 suivies d’une recombinaison.
Chapitre 1: Architecture des DSPs conventionnels -28 -
Année universitaire 2020/2021
Rappel FFT (suite)
2ème année GSI

Exemple TFD d’ordre 8 Exemple TFD d’ordre 4

Comme N/2 est également un nombre pair, on peut de nouveau partager chacune des
TFD d’ordre N/2 en deux TFD d’ordre N/4 et par itération en un nombre d’étages égal
à log2(N), nous arrivons à une TFD sur 2 points.

Chapitre 1: Architecture des DSPs conventionnels -29 -


Année universitaire 2020/2021
Rappel FFT (suite) 2ème année GSI

Opération papillon: symbolise l’opération élémentaire de la FFT dans un


étage m. Elle calcule les deux éléments de sorties à partir de deux éléments
d’entrée. On peut le représenter sous sa forme générale entre deux étages m
et m+1 avec m = 1, 2…log2 N

– Combien de papillons est-il nécessaire de calculer pour une FFT sur


N points?
– Quelle est la complexité de calcul de la FFT en nombre de
multiplications et additions réelles?

Chapitre 1: Architecture des DSPs conventionnels -30 -


Année universitaire 2020/2021
4) Adressages supplémentaires dans
les DSPs (Suite) 2 ème
année GSI

2- Adressage en bit reverse


Exemple FFT d’ordre 8

Pour le calcul d’une FFT, les DSPs utilisent:


– L’adressage en bit reverse: Il s’agit d’inverser l’indice exprimé sous sa
forme binaire.
–Pour les DSPs, Xm(.) et Xm+1(.) sont placés en mémoire sur le même
vecteur on parle de calcul en place.
Chapitre 1: Architecture des DSPs conventionnels -31 -
Année universitaire 2020/2021
TD 2
2ème année GSI

Exercice 1:
Soit à réaliser un filtre RIF d’ordre N dans le domaine fréquentiel.
– Quelle est la complexité algorithmique de cette nouvelle solution (opérations
et mots mémoire) ?
Exercice 2:
La DCT (Discrete Cosine Transform) ou transformée en cosinus discret
transforme X et Y définis comme les coordonnées du pixel d’une image et Z
sa définition lumineuse en une information fréquentielle, représentant les
fréquences du pixel dans les deux dimensions (horizontale et verticale).

Un papillon de la DCT est définit par: xs = xe + ck.ye et ys = xe – ck.ye. L’indice


k des coefficients ck varie pour chaque papillon et ck = cos( 2πk/N ).
Les échantillons en entrée du bloc DCT sont réels.

Chapitre 1: Architecture des DSPs conventionnels -32 -


Année universitaire 2020/2021
TD 2 (Suite)
2ème année GSI

– Quelle est la complexité algorithmique (nombre d’opérations &


mots mémoires) pour une DCT sur N points.
– Si on calcule une DCT de N points sur un DSP conventionnel
ayant un temps de cycle de 50 ns, quelle est la taille maximale du
bloc que l’on peut traiter si le signal est échantillonné à 1MHz?

Chapitre 1: Architecture des DSPs conventionnels -33 -


Année universitaire 2020/2021
DMA (Accès Direct à la mémoire)
2ème année GSI

Chapitre 1: Architecture des DSPs conventionnels -34 -


Année universitaire 2020/2021
DMA et buffer ping pong
2ème année GSI

-Les échanges avec le codec sont gérés au niveau matériel par le DSP: port série
bufferisé BSP (Buffered Serial Port), pourvu d’une ABU (Automatic Buffering Unit),
qui possède deux buffers intermédiaires (ping et pong) permettant de stocker
automatiquement plusieurs données consécutives reçues/envoyée par le port série.

- Le DMA permet de transférer les données entre cette mémoire tampon et la mémoire
principale sans interrompre le traitement.
Chapitre 1: Architecture des DSPs conventionnels -35 -
Année universitaire 2020/2021
Chronogramme des échanges de données en DMA
2ème année GSI

-Un buffer (ping) est rempli pendant que le CPU traite les données de
l’autre buffer (pong).
- Lorsque le buffer est plein, interversion des rôles.
Chapitre 1: Architecture des DSPs conventionnels -36 -
. universitaire 2020/2021
Année
Traitement par bloc Vs traitement échantillon par
échantillon 2ème année GSI

-Dans le cas du traitement échantillon par échantillon, la fonction de


traitement est appelée pour chaque échantillon

-Dans le cas d’un traitement par blocs de taille N, les données sont
fournies à la fonction de traitement sous la forme d’un tableau
contenant N échantillons consécutifs x(m) à x(m+N-1).
Le traitement par blocs est associé au DMA. Le DMA peut ainsi copier
les échantillons obtenus sur un port série en entrée directement en
mémoire, en remplissant un tableau. Une fois la configuration du
DMA effectuée une fois pour toute, le processus est autonome.
Lorsque le tableau est plein, ou à moitié plein, une interruption est
alors générée, qui vient provoquer le lancement de la fonction de
traitement, qui peut alors prendre un bloc déjà rempli en entrée.
Chapitre 1: Architecture des DSPs conventionnels -37 -
Année universitaire 2020/2021
Avantages Traitement par bloc Vs traitement
échantillon par échantillon 2ème année GSI

-Diminution du nombre d’interruptions du processeur : on évite


ainsi la petite perte de temps pour traiter l’interruption, qui peut
s’avérer importante si elle intervient pour chaque échantillon. Cette
perte est limitée à une interruption par bloc de N échantillons.

-Avec le DMA, calculs en parallèle des entrée/sorties

-Effectuer directement des traitements qui nécessitent un ensemble


d’échantillons consécutifs (exemple: Transformée de Fourier), ce
qui peut également aider au débogage des traitements, en étudiant
le comportement du programme sur un signal qui est déjà stocké en
mémoire

- Lisser les temps de calculs si ceux-ci peuvent varier, et être


notamment plus longs pour un échantillon isolé.
Chapitre 1: Architecture des DSPs conventionnels -38 -
Année universitaire 2020/2021
Inconvénients Traitement par bloc Vs traitement
échantillon par échantillon 2ème année GSI

-Plus grande latence entre l’arrivée des échantillons en entrée, et la


sortie des échantillons correspondant: de l’ordre du temps nécessaire
pour remplir deux blocs, soit 2NTe, en notant Te la période d’
échantillonnage : voir le chronogramme slide 36
1. L’échantillon x(0) est le premier du bloc 1,
2. l faut attendre le remplissage du bloc 1 pour que la fonction de
traitement soit lancée,
3. La fonction a le temps du remplissage du bloc 2 pour fournir un
résultat y(0), qui est envoyé en sortie dès le début du
remplissage du bloc 3

- Il faut prévoir un espace mémoire pouvant stocker deux blocs de


taille N simultanément (taille du buffer ping-pong).

Chapitre 1: Architecture des DSPs conventionnels -39 -


Année universitaire 2020/2021
Diagramme bloc du TMS320C5416
2ème année GSI

Chapitre 1: Architecture des DSPs conventionnels -40 -


Année universitaire 2020/2021
2ème année GSI

Chapitre 1
Architectures des DSPs conventionnels

1. Unité de traitement
2. Unité de mémorisation
3. Unité de contrôle

Chapitre 1: Architecture des DSPs conventionnels -41 -


Année universitaire 2020/2021
Schéma du principe des échanges
2ème année GSI

Chapitre 1: Architecture des DSPs conventionnels -42 -


Année universitaire 2020/2021
Fetch (lecture instruction)
2ème année GSI

Chapitre 1: Architecture des DSPs conventionnels -43 -


Année universitaire 2020/2021
Read/write (lecture/Ecriture des données)
2ème année GSI

Chapitre 1: Architecture des DSPs conventionnels -44 -


Année universitaire 2020/2021
Séquentiel Vs Pipeline
2ème année GSI

Chapitre 1: Architecture des DSPs conventionnels -45 -


Année universitaire 2020/2021
Exemple de repture du Pipeline
2ème année GSI

Chapitre 1: Architecture des DSPs conventionnels -46 -


Année universitaire 2020/2021
DSPs et Pipeline
2ème année GSI

– Presque tous les DSP sont pipelinés


– Le nombre d’étages varie de 2 à 5:
– Fetch Instruction
– Decode
– OperandRead
– Execute (MAC, ALU, ...)
– Write result
• ADSP :2
• TMS320C3x , ... :4
• TMS320C54x , ... :5

Chapitre 1: Architecture des DSPs conventionnels -47 -


Année universitaire 2020/2021
Performances d’un µP
2ème année GSI
(cas non pipeliné)

• Texec_non_pipeline = Nb cycles * temps de cycle d’horloge (TCycle)


• CPI (Cycle Par Instruction) représente le nombre moyen de cycles
d’horloge nécessaire pour l’exécution d’une instruction pour un
microprocesseur donné = Nb cycles/ Nb instructions.
• L’IPC ( Instructions par cycle): c’est donc l’inverse du CPI

Texec_non_pipeline = Nins * TCycle / IPC

Chapitre 1: Architecture des DSPs conventionnels -48 -


Année universitaire 2020/2021
Performances d’un µP
(cas pipeliné) 2ème année GSI

• Une instruction est émise lorsqu’elle passe de l’étage de lecture des


registres à l’étage d’exécution.
• On définit:
• Les techniques de prédiction de branchements actuelles donnent
jusqu’à 99 % de réussite. Dans le cas idéal (sans aléas
d’instructions):

• Afin de faciliter le calcul du temps d’émission des instructions d’un


programme, les architectes définissent la latence d’instruction pour
chaque type en établissant le délai qui doit s’écouler entre le
moment où l’instruction du type considéré est émise et celui où une
instruction qui lui serait dépendante pourrait l’être à son tour.

Chapitre 1: Architecture des DSPs conventionnels -49 -


Année universitaire 2020/2021
Exercice d’application
2ème année GSI

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


SUB r4, r5, r6
MUL r8, r2, r1
DIV r5, r2, r1
OR r10, r11, r4

Chapitre 1: Architecture des DSPs conventionnels -50 -


Année universitaire 2020/2021
TD3 & Notion de boucle
2ème année GSI
matérielle
1- Un DSP (non pipeline) possède une puissance de calcul de 50
MIPS avec une fréquence de 4 MHz . Calculez son IPC.
2- Les DSPs utilisent la notion de boucle matérielle qui permet
d’optimiser le traitement des boucles de petite taille:
• Initialisation des paramètres de la boucle en 1 instruction
• Pas d'instructions supplémentaires pour la gestion de la fin de la
boucle

Calculez le temps d’exécution d’un filtre d’ordre 16 pour ce DSP.

Chapitre 1: Architecture des DSPs conventionnels - 51-


Année universitaire 2020/2021
Résumé: Caractéristiques du DSP
2ème année GSI

Chapitre 1: Architecture des DSPs conventionnels -52 -


Année universitaire 2020/2021

Vous aimerez peut-être aussi