La famille TMS320 de Texas Instruments 24/03/22 84 La famille TMS320 de Texas Instruments 24/03/22 85 DSP TI (TMS320C6000)(Texas Instrument) 24/03/22 86 24/03/22 87 24/03/22 88 C6678 n n n n n 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) L2 (512 Ko) : l’accés à cette mémoire est moins rapide qu’en L1. MSM (Multicore Shared Memory) : mémoire statique SRAM (4Mo) partagée entre les cœurs DDR3 (Double Data Rate) (512 Ko) : mémoire dynamique externe, accés plus lent par rapport aux autres mémoires. 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… Debug & Trace : Assure les opérations de débogage entre DSP et PC 24/03/22 89 C6678 n n n n n n Boot ROM : Mémoire non volatile (128 Ko), sert à sauvegarder le code d’initialisation. Sémaphore : protège l’accès aux périphériques par plusieurs cœurs PLL : génère les horloges demandées aux fréquences souhaitées. EDMA (Enhanced Direct Memory Acces) permet le transfert mémoire sans l’intervention du CPU Protocoles de communication haut débit : • PCIe et RapidIO (5Gb/s), • Ethernet (1Gb/s), HeperLink (50 Gb/s entre 2 C6678). Multicore Navigator : Optimise le transfert des paquets issus des interfaces de communications haut-débit sur le bus TeraNet et réduit les latences des transferts mémoires entre cœurs. 90 24/03/22 C66x CorePac Block Diagram 24/03/22 91 24/03/22 92 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. 24/03/22 93 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. 24/03/22 94 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. 24/03/22 95 C66x CorePac Block Diagram 24/03/22 96 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 • • • • L : UAL, au maximum 2 additions/soustractions 32 bits flottantes ou fixe par cycle. S : Unité de branchement et de décalage, capable d’exécuter des opérations de branchement ou de décalage de registres. Elle est capables aussi d’exécuter des opérations d’additions et de soustractions flottantes ou fixes M :4 Multi 32 bits flottantes/fixes au max D : Unités de chargement et de stockage, capable de charger/stoker une donné sur 64 bits 24/03/22 97 n n Figure shows the DSP core functional units and data paths. Figure 2-1 DSP Core Data Paths 24/03/22 98 Chemin croisé : Cross path n 2 chemins croisés (1x et 2x) (cross path) entre les deux datapath Chemin de données A Chemin de données B Registre A0 à A31 .L1 .S1 Registre B0 à B31 .M1 .D1 .L2 .S2 .M2 .D2 Chemin croisé 24/03/22 99 24/03/22 100 L’architecture CPU C6000 de TI Architecture de de CPU C6000 de TI DST .L1 .S1 .M1 SRC REG FILE A 2X 1X REG FILE B 24/03/22 101