Académique Documents
Professionnel Documents
Culture Documents
1
Prof. M. Bouziani
Architecture du DSP C6x
2
Espace Mémoire :
Un espace adressable de 232bits=4 Go : 0x0000 0000 0xFFFF FFFF
Espace mémoire interne allant de 0x0000 0000 0x0003 FFFF (256 Ko)
• Espace mémoire cache interne L2
Espace mémoire mixte allant de 0x0004 0000 0x7FFF FFFF (256 Ko)
• Espace registres périphériques+plusieurs espaces réservés
• Registres Timers, ports McBSP, HPI, GPIO, etc…
GPIO : General Purpose I/O : E/S à usage général
Mémoire du DSP C6x
4
Espace Mémoire :
Espace mémoire externe : 0x8000 0000 0xBFFF FFFF (1Go)
• Espace mémoire externe (EMIF) répartie en 4 Blocks de 256 Mo
• Blocks0 ; CE0, CE1, CE2 et CE3
Exemple :
Cartographie mémoire du DSP TMS320C6713
Cartographie mémoire du DSP C6713
5
Cartographie mémoire du DSP C6713
6
CPU du DSP C6713
7
Les composants du chemin de données pour la
CPU TMS320C67x sont :
2 piles de registres à usage général (A et B)
8 unités fonctionnelles (.L1, .L2, .S1, .S2, .M1,
.M2, .D1 et .D2)
Deux chemins de chargement de données à
partir de la mémoire (LD1 et LD2)
Deux chemins de stockage de données en
mémoire (ST1 et ST2)
Deux chemins d'adresses de données (DA1 et
DA2)
Deux chemins de données de piles de registre
(1X et 2X)
CPU du DSP C6713
8 Registres à usage général
Chaque pile contient 16 registres de 32 bits (A0 – A15 pour
la pile A et B0 – B15 pour la pile B) Piles de Registres
Registres A Registres B
Les registres à usage général peuvent être utilisés pour de
données, des pointeurs d'adresse de données ou des A1:A0 B1:B0
registres de conditions. A3:A2 B3:B2
Les registres sont utilisés deux à deux pour les données A5:A4 B5:B4
allant de 32, 40 à 64 bits (Virgule flottante double précision) A7:A6 B7:B6
A9:A8 B9:B8
A11:A10 B11:B10
A13:A12 B13:B12
A15:A14 B15:B14
CPU du DSP C6713
9 Chemins croisés 1X et 2X
CPU du DSP C6713
10 Chemins croisés T1 et T2
CPU du DSP C6713
11 Registres de Contrôle
CPU du DSP C6713
12 Registres de Contrôle
Ce type d'adressage , appelé aussi adressage modulo est utilisé pour créer
des mémoires buffer circulaires. Crée en hardware, très utilisé par plusieurs
algorithmes de DSP.(filtrage numérique ou pour les algorithmes de
corrélation).
Le DSP C6x possède un circuit (hardware) spécifique pour utiliser
l'adressage circulaire.
Adressage Circulaire
26
Cela implique qu'on a besoin d'avoir les 8 échantillons d'entrée les plus
récents (x[n], x[n-1], x[n-2], …, x[n-7])pour produire un échantillon en sortie;
ces 8 échantillons doivent être stockés en mémoire et mis à jour chaque fois
qu'un nouvel échantillon est acquis. C'est la le principe de l'adressage
circulaire (ou adressage modulo)
Remarque :
L'instruction LDW charge le mot complet (32 bits), dans ce cas
deux chemins " .D1 et .D2 " doivent être utiliser pour charger les
données de la mémoire vers les registres.
L'instruction LDWW charge deux double-mots (32 bits
simultanément en utilisant des registres dans les deux coté A et B.
L'instruction LDW stocke le mot de 32 bits A1 dans la mémoire
dont l'adresse est spécifiée par A4 décalé de 20 mots de 32 bits
(80 octets). L'adresse de registre A4 est préincrémentée avec un
décalage (offset), mais elle n'est pas modifiée (++ est utilisé si A4
sera modifié).
Load/Store
34
Remarque :
L'instruction LDW charge le mot complet (32 bits), dans ce cas
deux chemins " .D1 et .D2 " doivent être utiliser pour charger les
données de la mémoire vers les registres.
L'instruction LDWW charge deux double-mots (32 bits
simultanément en utilisant des registres dans les deux coté A et B.
L'instruction LDW stocke le mot de 32 bits A1 dans la mémoire
dont l'adresse est spécifiée par A4 décalé de 20 mots de 32 bits
(80 octets). L'adresse de registre A4 est préincrémentée avec un
décalage (offset), mais elle n'est pas modifiée (++ est utilisé si A4
sera modifié).
Commandes Spéciales
35
ADD .S1 A0, A1, A2 ; .S1 est utilisée par les deux instructions
|| SHR .S1 A3, 15, A4 ; ... en même temps, EP non valide
Pendant le cycle 7 : les instructions de FPn atteignent E1, les instructions du paquet
d'exécution de FPn+1 sont en cours de décodage. FPn+2 est en répartition tandis que les
FPn+3, n+4, n+5 et n+6 sont chacun dans l'une des quatre phases de recherche de
programme.
Architecture Pipeline ||
||
LDDW .D1 *A0−−[4],B5:B4 ;
ADDSP .L1 A9,A10,A12
SUBSP .L2X B12,A2,B12
E1 Phase