Les carnets de l'Electronique - MicroInformatique.
[ Micro suite ]    [ Table des matières ]    [ Retour Home page ]
  Table des matières

  4.0- INSTRUCTIONS ET DECODAGE.


  4.0.1 - Instructions et décodage:
  A l'aide de commandes manuelles, on peut effectuer plusieurs fonctions, comme charger des registres,
  faire des additions et soustractions, des transferts de registres, des comparaisons..etc...
  Voir la platine d'essai en téléchargement:  Platine
  Au lieu de commandes manuelles, on peut effectuer toutes ces opérations automatiquement à l'aide
  d'un programme d'instructions mises en mémoire et qui se déroulent les unes à la suite des autres.
  La mémoire ne peut enregistrer que des codes binaires composés de bits (4, 8 ou 16)
  Dans l'exemple içi, nous utiliserons les 4 bits ce qui nous donne 16 instructions de 0000 à 1111.
  Un programme est une suite d'instructions inscrites dans la mémoire RAM composées de 16 codes
  hexadécimaux, 0 à F plus faciles à utiliser que les codes binaires 0000 à 1111.
  A chaque code correspond une instruction à effectuer par la platine qui nécessitera des coups
  d'horloge de 1 à 7 (séquences ou micro-instructions) suivant l'instruction.

Voici le jeu d'instructions de l'exemple:
CODE JEU D'INSTRUCTIONS
0Fin du programme
1Comparaison des registres A et B
2A < B aller à l'adresse contenue dans A.
3A > B aller à l'adresse contenue dans A.
4A = B aller à l'adresse contenue dans A.
5Signal sonore
6Fin du signal sonore
7Temporisation d'une seconde
8Aller à l'adresse contenue dans A
9Addition A+B et résultat dans R
ASoustraction A-B et résultat dans R
BRotation A --> B --> A
CContenu de l'adresse suivante dans A
DAllumer une led
EEteindre la led
F

  4.0.2 - DECODAGE DES INSTRUCTIONS:
  Le décodeur reconnaît les instructions à exécuter. L'instruction est conservée en mémoire pendant
  le temps de son exécution.
  Ouverture de la mémoire, transmission du code au décodeur, fermeture de la mémoire.
  Le bus de données devient disponible pour exécutions par d'autres circuits.
  L'instruction en cours est mémorisée par le décodeur pendant l'exécution à l'aide d'un registre latch.
  Ce latch est appelé Registre d'instructions.
  L'istruction mémorisée dans ce registre est décodée et seul le voyant correspondant à cette
  instruction sera allumé.

  4.0.3 - DEROULEMENT DU PROGRAMME:
  Exécution de l'instruction se trouvant dans le décodeur d'instruction.
  Ensuite, un coup d'horloge qui incrémentera le compteur ordinal et donnera l'adresse suivante.
  A nouveau, ouverture de la Ram, transfert de la nouvelle instruction dans le décodeur, exécution
  et ainsi de suite jusqu'à ce que l'on arrête le processus avec l'instruction Stop.

  Il doit y avoir synchronisation entre l'ouverture de la RAM et et celle du LATCH. (Diagramme)


  L'entrée du LATCH est refermée au milieu de l'ouverture de la RAM afin d'éviter des
  phénomènes aléatoires.

  4.0.4 - LE SEQUENCEUR:
  L'exécution d'une instruction nécessite des commandes sur plusieurs circuits dans un ordre précis.
  Par exemple, pour une addition:

  1: Placer dans le décodeur d'instructions l'instruction qui se trouve dans la RAM.
  Soit ouverture de la RAM, coup d'horloge pour verrouiller le LATCH, refermer la RAM.
  L'addition se fait automatiquement, les registres A et B étant en permanence sur les entrées
  de l'additionneur.

  2:Pour transférer le contenu de l'additionneur dans le Registre Résultat:
  Ouvrir le buffer additionneur (BA), donner un coup d'horloge (H), refermer le buffer aditionneur (BA).
  Le résultat apparaît dans le Registre R.
  L'instruction Addition est effectuée par des actions positionnées dans le temps, on utilise donc
   un séquenceur pour numéroter ces séquences.

  Instruction 9: Addition (voir tableau plus haut).
  A la séquence 0 il n'y aucune action, à la séquence 1 l'instruction (9) de la RAM est transmise
  vers le décodeur.
  A la séquence 2, ouverture du buffer addition et, en même temps, une impulsion est envoyée au registre R
  L'addition est terminée et la platine ne fera rien pendant les séquences 3, 4, 5 et 6
  (On rappelle qu'il y a 8 séquences 0 à 7 (micro-instructions)
  A la séquence 7, le compteur ordinal s'incrémentera d'u pas et pointera sur l'adresse suivante de la RAM.
  Le séquenceur revient à la séquence 0 pour sortir une nouvelle instruction, puis à la séquence 1.
  Il charge à nouveau le décodeur d'instructions pour la nouvelle instruction.
  Sur la platine toutes les instructions sont effectuées en 8 séquences (8 coups d'horloge).

  Chaque impulsion de commande (H) repésente une séquence. Sur la platine ces impulsions sont
  fournies soit manuellement, soit automatiquement.



  Le compteur regroupe les périodes par groupe de huit en les numérotant.
  Le décodeur active la sortie correspondante à la séquence.
  Le séquenceur avance d'un pas à chaque coup d'horloge et les sorties s'allument successivement.
  Aprés la séquence 7 (S7) le compteur revient à 0.

  Simulation d'un décodeur.   Télécharger içi   le logiciel. (15 Ko 348)
  Simulation d'un séquenceur.   Télécharger içi   le logiciel. (12 Ko 658)

[ Micro suite ]    [ Table des matières ]    [ Retour Home page ]
Copyright © 1997-1999 TK5YP.