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 |
Nederlandse vertaling
U hebt gevraagd om deze site in het Nederlands te bezoeken. Voor nu wordt alleen de interface vertaald, maar nog niet alle inhoud.Als je me wilt helpen met vertalingen, is je bijdrage welkom. Het enige dat u hoeft te doen, is u op de site registreren en mij een bericht sturen waarin u wordt gevraagd om u toe te voegen aan de groep vertalers, zodat u de gewenste pagina's kunt vertalen. Een link onderaan elke vertaalde pagina geeft aan dat u de vertaler bent en heeft een link naar uw profiel.
Bij voorbaat dank.
Document heeft de 14/02/2004 gemaakt, de laatste keer de 28/10/2018 gewijzigd
Bron van het afgedrukte document:https://www.gaudry.be/nl/microinstructions-perimetre.html
De infobrol is een persoonlijke site waarvan de inhoud uitsluitend mijn verantwoordelijkheid is. De tekst is beschikbaar onder CreativeCommons-licentie (BY-NC-SA). Meer info op de gebruiksvoorwaarden en de auteur.
- ↑ Micro Memory : komt overeen met « micro mémoire » en français
- ↑a,b,c,d Memory Address Register : komt overeen met « registre d'adresse de la 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.