# TD8 Présentation du DSP ###### tags: `TSA` `S2` ## Mode d'adressage du DSP p73 - p183 du poly ### Les modes d'adressages 4 modes d'adressage : immediat, directi, indirect, indirect indexé ### Les instructions LOAD comme exemple instructrions indexé LDB *--A5[4], A7 -> décrementer de 4 l'octet à l'adressage A5 puis charger dans A7 la valeur contenu à l'adressage correspondant à cet octet les --/++ devant : pre incrémentation/décrementation les --/++ apres : post incrémentation/décrementation ### Buffer circulaire La seule différence avec un buffer linéaire, Le buffer linéaire décale tout ses échantillons à chaque arrivé, le buffer circulaire gère différemment le pointeur sur buffer, ie le début du buffer, ce pointeur prend toujours la case la plus anciennement utilisée ## Les chemins de données ### Les rangements des registres Les registres sont rangés par 2, les registres impaires (ex A1)s'occupe des bits de poids forts et les paire de poids faible ### Les unités arithmétiques Les unités travaillent sur 32 bits, elles sont toutes spécifiques à une instructions, i-e toutes les instructions sont affiliés à un bloc d'unité * S - Décalage * D - Adressage * L - ALU * M - Multiplier C'est unités sont reliées à un registre spécifique A ou B, mais peuvent à l'aide d'un cross path peuvent utilisé l'autre registre ### ### Avantage de l'architecture du C6747 Avantage * Les données et les instructions peuvent être chargées de manière simultanées * L'utilisation de bus spécifiques pour chaque unité donctionnelle permet de faire plusieur traitements en parallèle * L'utilisation des deux registres pour stocker des valeurs plus grandes Complexité générale d'utilisation Chargement des grandes (j'ai pas eu le temps de lire) ## Les cycles machines d'instructions Présentation sur le nombre de cycle nécessaire pour executer une instruction ### Latence de l'unité fonctionnelle Cela représente de le temps nécessaire pour que l'unité soit accecssible ### Delay slots ### Les instructions de branchement Les branchements représentent à quel moment un fetch paquet va s'ajouter dans la suite de des instructions en cours, i-e l'arrivé du paquet dans la pipeline. ### Opérations parallèles Chaque fetch paquet sont sur 8x32 bits. Un fecth-paquet est traité de manière parallèle, i-e que chacun des 8 paquet sont traité de manière indépendantes en même temps selon les modes : * fully parallel : tous les paquets sont fait en parallele en 1 cycle * Partial serial : mi parallel et mi en serie ? ## Les instructions du DSP ### Syntaxe ``` ADD .L1X A1,B1,A2 ``` * ADD représente l'instruction qui est executée * .L1X est l'unité concernée * A1,... sont les registres utilisés ``` [B0] ADD .L1 A1,... // Execution conditionnelle (si B0==0) || ADD .L1 A1,... // Execution en parallele ``` ### Opcodes Les opcode correspondent l'écriture d'une instruction en binaire -> ce sont des mots de 32 bits qui correspondent à l'instruction (comme vu juste au dessus) ## Pipeline ## Interruptions