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

12345678910111213141516171819202122
Phase 1Phase 2Phase 3Phase 4Phase 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.

  1. Pointer le MAR [“Memory Address Register”3] sur l'adresse 0 de la “Main Memory”2.
  2. Envoyer la valeur (L) dans le MDR [“Memory Data Register”5].
  3. Envoyer la valeur dans un registre de travail (A).
  4. Envoyer la valeur 1 dans MAR (pour lire la largeur).
  5. Envoyer la largeur dans MDR.
  6. Pointer le MAR sur l'adresse 2 pour mémoriser le résultat.
  7. Additionner L (dans A) et l (dans MDR).
  8. Multiplier le résultat par 2.
  9. 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.

  1. 0->MAR; MM(0)->MDR; MPC+1 ->MPC;
  2. MDR->A; MPC+1 ->MPC;
  3. 1->MAR; MM(1)->MDR;MPC+1 ->MPC;
  4. (A+MDR) ShiftLeft -> MDR; MPC+1 ->MPC;
  5. 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 :

 12345678910111213141516171819202122
00000000000000110100001
10000010010000000100001
20000100000000110100001
30000100100000100100001
41000010100001001100001

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.

Notes

  1.  Micro Memory : komt overeen met « micro mémoire » en français

  2. a,b,c,d Main Memory : komt overeen met « mémoire principale » en français

  3. a,b,c,d Memory Address Register : komt overeen met « registre d'adresse de la mémoire » en français

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

  5. a,b,c,d Memory Data Register : komt overeen met « registre de mots » en français

  6. a,b,c MDR : “Memory Data Register” (en français, « registre de mots »)

Inhoudsopgave Haut