---
# System prepended metadata

title: TD8 Présentation du DSP
tags: [TSA, S2]

---

# 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 
