0% ont trouvé ce document utile (0 vote)
257 vues

ch1 DSP

Le document décrit l'architecture des processeurs de traitement numérique du signal (DSP) conventionnels. Il présente leurs unités de traitement, de mémorisation et de contrôle, ainsi que des techniques d'adressage mémoire comme l'adressage circulaire permettant de traiter des données en temps réel.

Transféré par

Rami Meshri
Copyright
© © All Rights Reserved
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
257 vues

ch1 DSP

Le document décrit l'architecture des processeurs de traitement numérique du signal (DSP) conventionnels. Il présente leurs unités de traitement, de mémorisation et de contrôle, ainsi que des techniques d'adressage mémoire comme l'adressage circulaire permettant de traiter des données en temps réel.

Transféré par

Rami Meshri
Copyright
© © All Rights Reserved
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 53

Plan du cours

2ème année IA

• Introduction
• Ch1 : Architecture des DSPs conventionnels
• Ch2: Nouvelles architectures des DSPs
• Ch3 : Flot de développement &Arithmétique des DSPs

Chapitre 1: Architecture des DSPs conventionnels - 1 -


2ème année IA

Chapitre 2
Architectures des DSPs conventionnels
1. Unité de traitement
2. Unité de mémorisation
3. Unité de contrôle

Chapitre 1: Architecture des DSPs conventionnels - 2 -


Modélisation d’un processeur
2ème année IA

Chapitre 1: Architecture des DSPs conventionnels - 3 -


Modélisation d’un processeur
2ème année IA

Chapitre 1: Architecture des DSPs conventionnels - 4 -


Architecture des DSPs conventionnels
2ème année IA

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 - 5 -


2ème année IA

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 - 6 -


Unité de traitement spécialisée
2ème année IA

• 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 - 7 -


Exemple: le TMS320 C50
2ème année IA

Chapitre 1: Architecture des DSPs conventionnels - 8 -


Mesure de performances
2ème année IA

Chapitre 1: Architecture des DSPs conventionnels - 9 -


TD 1 2ème année IA

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 -10 -


TD 1 (Suite)
2ème année IA

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 -11 -


2ème année IA

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 -12 -


Unité de mémorisation
2ème année IA

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 -13 -
Processeurs: Von Neumann Vs Harvard
2ème année IA

Chapitre 1: Architecture des DSPs conventionnels14


- -
1) DSPs: Architecture Harvard
2ème année IA

–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 -15 -


2) DSPs: Modèle load-store
2ème année IA

Localisation des opérandes 2 modèles:

Chapitre 1: Architecture des DSPs conventionnels -16 -


3) Solution1: Architecture Harvard modifiée
2ème année IA

– 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 -17 -


3) Solution 2: Extension à 3 mémoires
2ème année IA

– 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 -18 -


3) Solution 3: Mémoire multi-accès
2ème année IA

– 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 -19 -


3) Solution 4: Mémoire multi-ports
2ème année IA

- 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 -20 -


Les types d’adressages usuels
2ème année IA

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 -21 -


4) Adressages supplémentaires dans
les DSPs 2 ème année IA

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 -22 -


2ème année IA
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 -23 -
Implémentation 2ème année IA

Buffer linéaire Buffer circulaire


Chapitre 1: Architecture des DSPs conventionnels -24 -
Suite TD 1 2ème année IA

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
• Donnez le nombre d’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 -25 -


Rappel transformée de fourrier
2ème année IA

ü 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 :
X( f )   x(t ) exp(  j 2 f t )dt

, t  R, f  R

ü 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 -26 -


Rappel transformée de fourrier discrète
2 année IA
TFD
ème

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


TF de x(k) s’exprime comme:

X( f )   x[kT ]exp( j2 f k T )
k 
e e

ü 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:
1 N 1 kn
X ( n )   x ( k ) exp(  j 2 )
N k 0 N

Chapitre 1: Architecture des DSPs conventionnels -27 -


Rappel: Écriture matricielle de la TFD
2ème année IA
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 -28 -
Rappel FFT
2ème année IA

– 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:
N N
1 1
2 2
X (n)   x(2i)WN2in   x(2i  1)WN( 2i 1) n
i 0 i 0

– En exploitant les propriétés


N
des WNkn, l’équation de la TFD devient:
N
1 1
2 2
X (n)  x(2i)WNin WNn x(2i 1)WNin
– D’autre part: i0
N 2 i0
N 2
N 2 1
2
1

X (n  )   x(2i)WN WN  x(2i 1)WNin


in n

2 i0 2 i 0 2

– 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 -29 -
Rappel FFT (suite)
2ème année IA

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 -30 -


Rappel FFT (suite) 2ème année IA

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 -31 -


4) Adressages supplémentaires dans
les DSPs (Suite) 2 ème année IA

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 -32 -
TD 2
2ème année IA

Exercice 1:
Reprenons le filtre énoncé au slide 10 et 11. Soit maintenant à réaliser ce
filtre 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 -33 -
TD 2 (Suite)
2ème année IA

– 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
(non pipeline) 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 -34 -
DMA (Accès Direct à la mémoire)
2ème année IA

Chapitre 1: Architecture des DSPs conventionnels -35 -


DMA et buffer ping pong
2ème année IA

-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) .
-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.
-Peut être implémenté par un buffer découpé en deux.
Chapitre 1: Architecture des DSPs conventionnels -36 -
Chronogramme des échanges de données en DMA
2ème année IA

Chapitre 1: Architecture des DSPs conventionnels -37 -


Traitement par bloc Vs traitement échantillon par
échantillon 2ème année IA

-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 -38 -


Avantages Traitement par bloc Vs traitement
échantillon par échantillon 2ème année IA

-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 -39 -


Inconvénients Traitement par bloc Vs traitement
échantillon par échantillon 2ème année IA

-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 (l’échantillon x(0) est
le premier du bloc 1, il faut attendre le remplissage du bloc 1 pour que la fonction
de traitement soir lancée, 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 => voir le chronogramme slide 37

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


simultanément (buffer ping-pong).

Chapitre 1: Architecture des DSPs conventionnels -40 -


Diagramme bloc du TMS320C5416
2ème année IA

Chapitre 1: Architecture des DSPs conventionnels -41 -


2ème année IA

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 -42 -


Schéma du principe des échanges
2ème année IA

Chapitre 1: Architecture des DSPs conventionnels -43 -


Fetch (lecture instruction)
2ème année IA

Chapitre 1: Architecture des DSPs conventionnels -44 -


Read/write (lecture/Ecriture des données)
2ème année IA

Chapitre 1: Architecture des DSPs conventionnels -45 -


Séquentiel Vs Pipeline
2ème année IA

Chapitre 1: Architecture des DSPs conventionnels -46 -


Exemple de repture du Pipeline
2ème année IA

Chapitre 1: Architecture des DSPs conventionnels -47 -


DSPs et Pipeline
2ème année IA

– 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 -48 -


Performances d’un µP (cas non pipeliné)
2ème année IA

• 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 -49 -


Performances d’un µP (cas pipeliné) 2ème année IA

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


registres à l’étage d’exécution.
• On définit: Texec pipeliné  ( profondeur
pipeline Témission_ total 1) *Tcycle

• Les techniques de prédiction de branchements actuelles donnent


jusqu’à 99 % de réussite. Dans le cas idéal (sans aléas
d’instructions):
Texec pipeliné  ( profondeurpipeline  Nins 1) *Tcycle

• 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 -50 -


Exercice d’application
2ème année IA

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 -51 -


TD3 & Notion de boucle matérielle
2ème année IA

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.


Recalculez le temps d’exécution de ce filtre dans le cas d’un DSP
TMS 320C54 (Pcalcul= 50 MIPS, F= 20 MHz))

Chapitre 1: Architecture des DSPs conventionnels -52 -


Résumé: Caractéristiques du DSP
2ème année IA

Chapitre 1: Architecture des DSPs conventionnels -53 -

Vous aimerez peut-être aussi