# 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