Correction de la série d'exercices no3

Exercice 3-1 : Manipulation de nombres sous forme binaire

Forme binaire :
194 <=> 1100 0010
73 <=> 0100 1001
Complément de 0100 1001 (73) à 1111 1111 (255) = 1011 0110 (182)
Addition de 1011 0110 (182) à 1100 0010 (194) = 1 0111 1000 (376)
Soustraction de 1 0000 0000 (256) à 1 0111 1000 (376) = 0111 1000 (120)
Addition de 0000 0001 (1) à 0111 1000 (120) = 0111 1001 (121)

Forme décimale : 194 - 73 = 194 - (255 - 182) = 194 + 182 - 255 = 194 + 182 - 256 + 1 = 121

Exercice 3-2 : Manipulation de nombres sous forme binaire

1011 x 1101 = 1000 1111 (voir cours pour la méthode)

Exercice 3-3 : Application

    Théorêmes :
    1 AND <=> 2 NAND
    1 NOT <=> 1 NAND
    1 OR <=> 3 NAND

    Pour la partie Décodeur du mémoire on a fait le calcul sans la porte `OR', c.a.d., on prenant le multiplexeur comme dans le polycopié. Dans vôtre calcul, vous pouvez encore ajouter les `OR' pour compléter.

  1. Mémoire 4x4-bits :
    Composants Portes AND + NOT Equivalent NAND
    Latch 3 AND, 4 NOT 6+4 = 10 NAND
    Mémoire 1-bit 3 AND, 1 NOT, 1 latch <=> 6 AND, 5 NOT 12+5 = 17 NAND
    Mémoire 4-bits 24 AND, 20 NOT 48+20 = 68 NAND
    Mémoire 4x4-bits 24x4 = 96 AND, 20x4 = 80 NOT 192+80 = 272 NAND
    Décodeur 4-ways = 3*Décodeur 2-ways 6 AND, 3 NOT 12+3 = 15 NAND
    Mémoire 4x4 96+6 = 102 AND, 80+3 = 83 NOT 204+83 = 287 NAND

  2. Mémoire 8x4 bits :
    Composants Portes AND + NOT Equivalent NAND
    Décodeur 8-ways = 7*Décodeur 2-ways14 AND, 7 NOT 28+7 = 35 NAND
    Mémoire 4-bits 24 AND, 20 NOT 48+20 = 68 NAND
    Mémoire 8x4-bits 24x8 = 192 AND, 20x8 = 160 NOT 384+160 = 544 NAND
    Mémoire 8x4 192+14 = 206 AND, 160+7 = 167 NOT 544+35 = 579 NAND

Exercice 3-4  : Hypothetical Computer PIPPIN et code generation

LOD X :
  1. L'instruction LOD est stockée dans l' Instruction Register (IR)
  2. L'unité ` Arithmetic and Logical Unit (ALU)' est mise dans le mode `LOD'.
  3. La machine evalue le bit pour distinguer LOD #N de LOD N et mets la valeur du multiplexeur sur access mémoire.
  4. PIPPIN recherche la cellule X (X contient une adresse dans la RAM) et récupère son contenu
  5. La valeur contenue dans la cellule X passe par l' Arithmetic and Logical Unit (ALU) et est stockée dans l'accumulateur (ACC)
  6. PIPPIN augment le program counter (PC)

ADD #28 :
  1. L'instruction ADD est stockée dans le instruction register
  2. L'unité ` Arithmetic and Logical Unit (ALU)' est mise dans le mode `ADD'.
  3. La machine evalue le bit pour distinguer ADD #N de ADD N et mets la valeur du multiplexeur sur access direct (nombre).
  4. PIPPIN emploie la valeur stockée dans l'accumulateur comme entrée gauche de l' Arithmetic and Logical Unit et le nombre 28 comme entrée droite
  5. PIPPIN stocke le résultat dans l'accumulateur
  6. PIPPIN augment le program counter (PC)