Les Motorola 56000 sont une gamme de processeurs de traitement du signal numérique (couramment appelé DSP) très puissante pour l'époque et qui a été employée sur certains ordinateurs 32 bits comme l'Atari Falcon ou les stations NeXT via le 56001.
Famille 56300
Les DSP de la gamme 56300 sont une sous-famille des Motorola 56000. Ces processeurs généralistes partagent les caractéristiques suivantes :
- Simple cœur
- 24 bits
- Virgule fixe
Jeu d'instructions des cœurs DSP 56300
Les instructions utilisées sur les DSP 56300 ont une longueur de 24 bits (soit trois octets). Ces instructions peuvent être simples ou composées. De plus, un mot de 24 bits supplémentaire peut être utilisé comme extension.
Une instruction simple utilise la totalité des 24 bits pour décrire l'opération à effectuer. Une instruction composée est séparée en deux parties : deux octets décrivant une opération de mouvement parallèle (ou "parallel move", c'est-à-dire un déplacement d'un emplacement mémoire à un autre) et un octet décrivant une opération classique.
Une instruction composée permet donc d'effectuer deux opérations en un cycle d'horloge. Dans le cas d'une instruction composée, l'opération de mouvement parallèle est effectuée avant l'opération classique.
Le mot d'extension contient la plupart du temps une adresse ou une donnée sur 24 bits. Dans la mémoire programme, ce mot d'extension est placé à la suite de l'instruction à laquelle il est rattaché.
Exemples d'instruction
L'instruction d'addition, nommée ADD, se décline sous trois formes :
- Addition d'une valeur courte sur 6 bits à un accumulateur
- Addition d'une valeur longue sur 24 bits à un accumulateur
- Addition d'un registre à un accumulateur
Dans le premier cas, l'instruction est simple et sans extension. Les paramètres (valeur sur 6 bits et accumulateur) sont définis dans l'instruction. Dans le second cas, l'instruction est simple mais avec une extension. Le paramètre d'accumulateur est défini dans l'instruction et la valeur sur 24 bits est contenue dans le mot d'extension. Dans le troisième cas, l'instruction est composée. Les paramètres (registre et accumulateur) sont contenus dans le troisième octet de l'instruction. Les deux premiers octets sont réservés à un éventuel mouvement parallèle. De même, ce mouvement parallèle est susceptible d'utiliser un mot d'extension.