Académique Documents
Professionnel Documents
Culture Documents
n Architecture matérielle
1/03/24 55
Spécificités des DSP
2
CPU Mémoire
4
3
n (1) Charger une instruction depuis la mémoire :
n (2) Charger les opérandes depuis la mémoire
n (3) Effectuer les calculs
n (4) Stocker le résultat en mémoire
----------
Mémoire Programme
+ Données
CPU
Mémoire Données
1/03/24 61
designed by engineers of the Analog Devices company, which unified the enhanced DS under
Architecture Harvard modifiée : SHArc
the name SHARC DS . To accelerate the information flow, they have connected it to the data
memory I O controller, which provides high-speed parallel and serial communications ports, [ ].
38 JET 1/03/24 62
Cache d'instructions et de données
Mémoire Cache
d’instructions Mémoire Instruction
CPU
Mémoire Cache
de données Mémoire Données
1/03/24 63
Caractéristiques classiques des DSP
n Codage de données (virgule fixe / virgule flottante)
n Architecture
1/03/24 64
DSP à hautes performances
n Objectifs :
Instruction MAC
(multiplication-accumulation)
1/03/24 66
MAC : Multiplieur-accumulateur
ai xi
Multiplier
a i-1 x i-1
ai xi
N −1
Adder y ( i ) = ∑ a (i ) x (i )
i =0
a i x i + a i-1 x i-1
Register
1/03/24 67
DSP à hautes performances
Plusieurs solutions :
1/03/24 68
DSP à hautes performances
Diminuer la durée d’un cycle d’horloge :
1/03/24 70
DSP à hautes performances
Augmenter le travail réalisé au cours d’un cycle à
Parallèlisme (plusieurs approches)
• SIMD : Plusieurs opérations dans une seule instruction
• Superscalaire : Plusieurs instructions dans 1 cycle d’horloge
- Plusieurs MAC, plusieurs ALU, cache données
- Circuit de contrôle complexe
• VLIW (Very Long Instruction Word) : Plus d’instructions dans
1un seul cycle d’horloge
- VLIW 8 voies = 8 instr * 32 bits = 256 bits
- Instructions en parallèle à la compilation
- Hardware plus simple que superscalaire
• Approches hybrides : SIMD/VLIW ou SIMD/Superscalaire
• Augmentation du nombre de cœurs du DSP (multi-core)
1/03/24 71
Parallélisme
Plusieurs types de parallélisme :
1/03/24 72
Parallélisme au niveau de donnés : SIMD
L’approche SIMD : Single Instruction
Multiple Data
L1 S1 M1 D1 D2 M2 S2 L2
+ + + + + +
+
x x +
1/03/24 74
Pipeline
PIPELINE
! Principe : découper une opération en plusieurs
Découpage d’une instruction en plusieurs
tâches élémentaires à effectuer en parallèle.
tâches élémentaires à effectuer en parallèle.
! Exemple : pipeline à 4 étages
Pipeline à 4 étages
1/03/24 75
CPU : Unité de commande
Pipeline
PIPELINE
1/03/24 76
CPU : Unité de commande
Types de Pipeline
PIPELINE
! Différents types de pipelines
1/03/24 77
Pipeline
1/03/24 78
Mesure de la performance
! Mesure de la vitesse : : vitesse
1/03/24 79
Mesure de la performance : vitesse
1/03/24 80
IV. Performances des DSP
Mesure de la performance
Mesure de performances : vitesse
1/03/24 81
Mesure de la performance
• La vitesse de calcul d’un DSP n’est pas une indication
universelle.
• Elle ne prends pas en compte un certain nombre de
perfectionnement dont peuvent bénéficier les DSP :
- Certains DSP proposent en effet des modes
d’adressages plus performants que d’autres. Ces modes sont
spécialement adaptés à des algorithmes standards du TNS
(exemples : adressage circulaire, «bits reversing» pour les FFT).
- Le temps d’accès à la mémoire est un autre paramètre
incontournable.
1/03/24 83
La famille TMS320 de Texas Instruments
1/03/24 85
La famille TMS320 de Texas Instruments
1/03/24 86
DSP TI (TMS320C6000)(Texas Instrument)
1/03/24 87
1/03/24 88
1/03/24 89
C6678
n L1 local pour chacun des cœurs, L1D pour les données et
LP1 pour le programme de taille 32 Ko chacun : c’est le
niveau le plus proche au cœur = accès plus rapide (débit :
16 octets/cycle)
n L2 (512 Ko) : l’accés à cette mémoire est moins rapide qu’en
L1.
n MSM (Multicore Shared Memory) : mémoire statique SRAM
(4Mo) partagée entre les cœurs
n DDR3 (Double Data Rate) (512 Ko) : mémoire dynamique
externe, accés plus lent par rapport aux autres mémoires.
n DDR3 EMIF : DDR3 external memory interface: Contrôleur de
la mémoire DDR3, il s’occupe des différentes opérations de
contrôle : Read, Write…
n Debug & Trace : Assure les opérations de débogage entre
DSP et PC
1/03/24 90
C6678
1/03/24 92
1/03/24 93
L1P Memory Configurations
The L1P memory configuration for the C6678 device is as follows:
n •32K bytes with no wait states
n Figure shows the available SRAM/cache configurations for L1P.
1/03/24 94
L1D Memory Configurations
The L1D memory configuration for the C6678 device is as follows:
n •32K bytes with no wait states
n Figure shows the available SRAM/cache configurations for L1D.
1/03/24 95
L2 Memory Configurations
The L2 memory configuration for the C6678 device is as follows:
• Total memory size is 4096KB
• Each core contains 512KB of memory
• Local starting address for each core is 0080 0000h
n L2 memory can be configured as all SRAM, all 4-way set-associative cache, or
a mix of the two. The amount of L2 memory that is configured as cache is
controlled through the L2MODE field of the L2 Configuration Register
n (L2CFG) of the C66x CorePac. Figure shows the available SRAM/cache
configurations for L2. By default, L2 is configured as all SRAM after device
reset.
1/03/24 96
C66x CorePac Block
Diagram
1/03/24 97
DataPath
Chaque cœur contient deux Data Path : A et B
Chaque Data Path contient :
n 1 bancs de registres(registre file ) Composé de 32
registres :A0..A31 ou B0..B31
n 4 unités fonctionnelles : L, S, M et D
1/03/24 99
Chemin croisé : Cross path
Chemin croisé
1/03/24 100
1/03/24 101
L’architecture
Architecture de de
CPUCPU C6000
C6000 de TI
de TI
1X
REG FILE B
1/03/24 102
Architecture de CPU
L’architecture C6000
de CPU de TI
C6000 de TI
D1
REG FILE A
T1 .D1
DATA ADDRESS
CACHE T2 .D2
REG FILE B
D2
1/03/24 103
VLIW (Very-Long-Instruction-Word)
inst1
inst2
Instruction VLIW
inst3
inst4
inst5
inst6
inst7
inst8
1/03/24 105
Outils de développement
Integrated Development Environment
1/03/24 115
IDE : CCS
1/03/24 116
1/03/24 117
CSL (Chip Support Library)
1/03/24 118
DSPLIB (Digital Signal Processing
Library)
n Bibliothèque DSPLIB (Digital Signal Processing
Library) développée par TI et proposant des
fonctions C pour le domaine du traitement
numérique du signal et optimisée pour leurs
architectures processeurs
http://www.ti.com/tool/SPRC265
n Après installation, la DSPLIB est accessible
depuis le répertoire suivant :
C:\ti\dsplib_c66x_version\packages\ti\dsplib\
1/03/24 119
n Workflow typique de la chaîne de compilation C6000
développée par Texas Instruments. Elle reprend la
trame de toute chaîne de compilation C (standards
C89 et C99)
1/03/24 120
Paquet de Fetch et d’Exécution
n VELOCI TI : architecture élaborée par TI basée sur la structure
VLIW (Very Long Instruction Word)
Instruction : 4 octets = 32 bits
PE : Paquet Exécutable : groupe d’instructions exécutables en
parallèle pendant un seul cycle.
PF : Paquet Fetch formé de 8 instructions.
1PF peut contenir 1 PE (si toutes les 8 instructions en //)
ou 8 PE (pas d’instructions en // ).
3 étages de pipeline :
¨ Fetch : 4 étages
¨ Decode : 2 étages
¨ Execute : au maximum 6 étages
1/03/24 121
Pipeline
n Instructions segmentées en étages.
n Exécution entrelacée de plusieurs instructions.
n Augmentation de la fréquence d'horloge.
Étage \ temps t1 t2 t3 t4 t5 t6 t7 t8 t9
Fetch F1 F2 F3
Decode D1 D2 D3
Execute E1 E2 E3
Exécution séquentielle
Étage \ temps t1 t2 t3 t4 t5 t6 t7 t8 t9
Fetch F1 F2 F3 F4 F5 F6 … … …
Decode D1 D2 D3 D4 D5 D6 … …
Execute E1 E2 E3 E4 E5 E6 …
PG PS PW PR DP DC E1 E2 E3 E4 E5 E6
PG PS PR
PW
Génération Transmission de Réception et
Attente accès
d’adresse l’adresse lecture du PF
mémoire
Dans le CPU (à la mémoire) (au CPU)
1/03/24 123
Outils de développement
1/03/24 124