Structure de la famille de DSP Motorola 56300
Bus d’adresse
Schéma bloc du DSP 56311
Organisation de la mémoire Pour les DSP 563XX
Organisation de la mémoire Mémoire DSP56311 Mémoire X, Y interne par défaut : 48K ($0 – $BFFF) Mémoire P interne par défaut : 32K ($0 – $7FFF)
Status register
Data ALU Registres (24bits), X0,X1, accumulateurs (56 bits) A, B Bus 56 bits et 24 bits Opérandes sources de DALU, chargement pendant exécution
Représentation des données et arrondi + 1.0 n’est pas représentable hors des accumulateurs
Bits d’extension et alignement des opérandes Quand les registres d’extension sont utilisés, les données doivent être limitées au plus grand positif ou négatif
Address Generation Unit (AGU) 2 Address ALU qui travaillent en parallèle
Parallel data moves Déplacements parallèles à l’exécution de calculs par l’ALU
Exemples de déplacements parallèles
Principe du pipeline (3 niveaux)
Pipeline du 56311 Pipeline à 7 niveaux
Instuctions arithmétiques
Instructions arithmétiques (suite)
Adressage « Register Indirect »
Structure du DSP Motorola 56XXX
Instructions classiques Attention, la division ne s’effectue pas en un cycle, elle est itérative.
Boucle DO Possibilité d’imbriqué des boucles DO
Data ALU accumulator registers S’il y a un overflow, la lecture de l’accumulateur sur XDB ou YDB renvoie une constante de limitation au lieu de la valeur de l’accumulateur. Chaque fois qu’une limitation entre en jeux, le bit L du registre d’état est mis à 1.
MACR Signed Multiply-ACcumulate and Round Arrondi le résultat (convergent rounding par défaut ou arrondi complément à 2)
Adressage linéaire Arithmétique 24 bits linéaire Décalage de 24 bits possible dans Nn Valeurs de décalage signés ou non
Adressage modulo Valeur M – 1 ( [$XX0001 - $XXBFFF]) dans registre de mode Mn. Condition sur la limite inférieure des buffers circulaires