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.
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) |