Cours 4 Microprocesseurs Jalil Boukhobza LC 206 [email protected] 02 98 01 69 73 22/04/2017 Jalil Boukhobza 1 L’unité de contrôle micro programmée Idée de M.V Wilkes (1951) Utilisation pour l'unité de contrôle d'une mémoire (mémoire de microprogramme). Cette mémoire assure la génération des commandes (pour l'unité de traitement) et les fonctions de sequencement. interêt: conception plus simple et plus souple que la conception câblée. inconvénient: plus lente qu'une conception câblée Les processeurs « RISC » utilisent plutôt la version câblée, les processeurs « CISC » la version micro programmée. 22/04/2017 Jalil Boukhobza 2 Microprogrammation Mémoire microprogrammée horloge Adresse Etat 111 00111 10111 100 11101 Séquenceur Commandes Conditions 22/04/2017 Jalil Boukhobza 3 Microprogrammation (2) À chaque fois qu’une instruction est lue, le code de l’opération (opcode/codeOp) peut être considéré comme l’adresse en mémoire des signaux de contrôle à envoyer. Il faut envoyer les signaux de contrôle au bon moment (5 phases d’exécution des instructions) Dans un premier temps: les signaux correspondant à l’adresse donnée par l’opcode Signaux correspondant à adresse+1 / ou autre …etc Ex: Overflow sur une addition → ne pas aller à adresse+1 mais faire un saut sur une autre adresse. Le registre « état »: sert à mémoriser l’adresse pour le calcul de l’adresse suivante. 22/04/2017 Jalil Boukhobza 4 Microprogrammation (3) Trois choix se présentent donc pour l’emplacement de la micro instruction (ensemble de commandes) suivante: Celle se trouvant à adresse+1 Dans un autre emplacement mémoire qui dépend d’une condition (ex: résultat=0) Dépend de l’Opcode de l’instruction. Ex: la phase 1 de l’exécution d’une instruction (le préchagement) est la même quelque soit l’instruction, la micro-instruction suivante dépendra donc de l’opcode. … d’où les 3 entrées du séquenceur ! 22/04/2017 Jalil Boukhobza 5 Séquenceur Le séquencement est assuré par la mémoire de microprogramme. La micro action à effectuer est obtenue par incrémentation ou par saut conditionnel d'adresse. Registre d’état ch c0 c1 c2 c3 c4 c5 inc @ µinstruction actuelle D Q +1 Contrôle du séquencement 0 1 22/04/2017 Saut code Jalil Boukhobza Adresse de saut 6 Séquenceur (2) Dans l'exemple précèdent: 22/04/2017 Code Saut Séquencement réalisé 000 Saut si C0 001 Saut si C1 010 Saut si C2 011 Saut si C3 100 Saut si C4 101 Saut si C5 110 Passage en séquence (@+1) 111 Saut inconditionnel Jalil Boukhobza 7 Exemple Code saut E=1 E=0 E=1 S=0 A B c0 c1 S=0 0 1 E=0 E=0 S=1 D C E=1 E=1 22/04/2017 S=0 E=0 Code saut Séquencement réalisé 00 01 10 11 Saut si E=1 Saut si E=0 Passage en séquence Saut inconditionnel Jalil Boukhobza 8 Mémoire de microprogramme associée N °Case mémoire Commande Code saut adresse 0 0 Saut E=0 0 1 0 Saut E=1 1 2 0 Saut E=0 2 3 1 Saut E=1 3 4 0 Sautdébut 0 N° Case mémoire Commande Code saut adresse 0 0 01 00 1 0 00 01 2 0 01 10 3 1 00 11 4 0 11 00 Soit en binaire 22/04/2017 Jalil Boukhobza 9 Mémoire microprogrammée horloge Etat Adresse 01 0 00 00 0 01 01 0 10 00 1 11 11 0 00 Séquenceur S E 22/04/2017 Jalil Boukhobza 10 Microprogramme horizontal et vertical Horizontal chaque bit des micro-instructions correspond à un signal de contrôle => simple à implémenter mais grande dépense de micromémoire Vertical les micro-instructions correspondent à un codage des signaux de contrôle => plus complexe mais économie de micro-mémoire 22/04/2017 Jalil Boukhobza 11 Application de la microprogrammation Les techniques de microprogrammation peuvent être utilisées dans plusieurs cadres: 04/10/2007 conception d'ordinateur, émulation: exécuter des prg destinés à un autre processeur implémentation d’une unité de contrôle prise en charge de périphériques spécifiques: implémentation de certaines de leurs fonctions comme un micrologiciel pour augmenter les performances. micro diagnostics et relais en cas de défaillances: ex si un multiplieur tombe en panne, on le remplace par un microprogramme (moins rapide). prise en charge des langages évolués: implémentation de certaines fonctions directement en micrologiciel. ... Jalil Boukhobza 12 Les mémoires Caractéristiques principales d'une mémoire : 22/04/2017 capacités : quantité d'information pouvant être stockées accès a l'info : mémoire à accès direct, chaque mot de la mémoire est accessible directement et individuellement grâce a une adresse (temps d'accès, temps de cycle) mode de fonctionnement : lecture/écriture Permanence (non volatilité) des informations Jalil Boukhobza 13 Les mémoires (2) Mémoires Non volatile volatile Mémoire morte (ROM) ROM PROM Mémoire Vive EPROM EEPROM Fusibles, diodes et transistors Flash Accès Séquentiel (SAM) Condensateurs Statique SRAM Bascules (transistors) 22/04/2017 Accès direct (RAM) Dynamique DRAM Synchrone Jalil Boukhobza SDRAM FIFO Asynchrone LIFO 14 Structure des mémoires a accès direct La structure générale comporte : un plan mémoire avec 2m lignes et n colonnes. un circuit de décodage pour sélectionner les mots, en entrée du circuit de décodage: une adresse, en sortie: les signaux d'activation des lignes. circuit d'E/S, possibilité de mettre sur un bus commun les entrées et les sorties. logique de contrôle : pour la sélection de la puce, l'autorisation de sortie et la demande d'écriture. 22/04/2017 Jalil Boukhobza 15 Organisation générale d’une mémoire En-1 E1 E0 Registre d’entrée A1 Am-1 Décodeur m vers 2m A0 0 1 L/ E mot 0 mot 2 Sélection puce (CS) 2m-1 mot 2m-1 Registre de sortie 22/04/2017 Jalil Boukhobza 16 Bus de données En-1 En-1 Registre d’entrée Registre d’entrée Décodeur m vers 2m A1 Am1 1 2m-1 mot 0 mot 2 mot 2m-1 A1 Am1 Bus d’adresses 1 L/ E mot 0 mot 2 Sélection puce (CS) 2m-1 mot 2m-1 Registre de sortie Registre de sortie 22/04/2017 0 A0 Décodeur m vers 2m 0 A0 E1 E0 E1 E0 Jalil Boukhobza 17 Une RAM de 4 mots de 3 bits (à compléter) D I0 Q D Q D Q I1 H I2 D H Q H A0 D H Q H D Q H A1 D Q H D Q H D Q H CS OE Read D H 04/10/2007 Q D Q H Jalil Boukhobza D H Q S0 S1 S2 18 04/10/2007 Jalil Boukhobza 19 Références bibliographiques 'Organisation et architecture de l'ordinateur' William Stallings, 2003 Pearson Education France. 'Architectures logicielles et matérielle' Paul Amblard et co, 2000, Dunod. 'Organisation et conception des ordinateurs' David Patterson et John Hennessy, 1994 Dunod 'Architecture et technologie des ordinateurs' Paolo Zanalla et Yves Ligier, 1998 Dunod 22/04/2017 Jalil Boukhobza 20