Calcul d'un périmètre en micro circuits
Rappel : les phases des CS
Nous devrons veiller au moment de la conception de notre algorithme à respecter les différentes phases des micro instructions.
Nous pouvons retrouver dans une même instruction des bits à 1 parmi chaque phase, et même des combinaisons de bits dans une même phase.
La phase 5 ne nécessite pas de codage car elle est effectuée systématiquement (ce qui détermine le chargement d'une instruction hors de la “Micro Memory” (en français, « micro mémoire »)).
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | |
Phase 1 | Phase 2 | Phase 3 | Phase 4 | Phase 5 |
Enoncé
Nous devons calculer le périmètre d'un rectangle.
La longueur (L) se trouve à l'index 0 de la “Main Memory” (en français, « mémoire principale »), et la largeur (l) à l'index 1.
Nous devons mémoriser le résultat à l'index 2 de la “Main Memory”2.
Méthode pour les micro circuits
Algorithme de notre exercice
Nous devons lire les valeurs de L et de l, les additionner, puis multiplier le résultat par 2.
Sketch - étape 1
Premier jet, les principes de base.
- Pointer le MAR [“Memory Address Register”3] sur l'adresse 0 de la “Main Memory”2.
- Envoyer la valeur (L) dans le MDR [“Memory Data Register”5].
- Envoyer la valeur dans un registre de travail (A).
- Envoyer la valeur 1 dans MAR (pour lire la largeur).
- Envoyer la largeur dans MDR.
- Pointer le MAR sur l'adresse 2 pour mémoriser le résultat.
- Additionner L (dans A) et l (dans MDR).
- Multiplier le résultat par 2.
- Ecrire la valeur dans la “Main Memory”2.
Sketch - étape 2
Sketch - étape 2
Etablissement séquentiel des instructions en fonction des différentes phases.
- 0->MAR; MM(0)->MDR; MPC+1 ->MPC;
- MDR->A; MPC+1 ->MPC;
- 1->MAR; MM(1)->MDR;MPC+1 ->MPC;
- (A+MDR) ShiftLeft -> MDR; MPC+1 ->MPC;
- 1 ShiftLeft->MAR; MDR->MM(2); MPC+1 ->MPC;
Micro instructions
Utilisons cette fois une autre représentation. Voici les micro instructions telles qu'elles se présentent dans la micro memory :
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 |
1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 |
2 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 |
3 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 |
4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 |
Version en cache
21/12/2024 17:48:31 Cette version de la page est en cache (à la date du 21/12/2024 17:48:31) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 14/02/2004, dernière modification le 28/10/2018
Source du document imprimé : https://www.gaudry.be/microinstructions-perimetre.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
- ↑ Micro Memory : correspond à « micro mémoire » en français
- ↑a,b,c MAR : “Memory Address Register” (en français, « registre d'adresse de la mémoire ») Plus d'informations sur la page dédiée aux registres MAR.