1 / 28

Architecture de machines Le microprocesseur

Architecture de machines Le microprocesseur. Cours 2003-2004. Unité de commande. L’unité d’exécution. Mémoire Données & Programmes. UAL. Fabrication. Fabrication(2). Fabrication(3). Présentation. Evolution de l’intégration: Processeurs x86. Microprocesseur = Unité Contrôle + UAL.

dior
Download Presentation

Architecture de machines Le microprocesseur

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Architecture de machinesLe microprocesseur Cours 2003-2004

  2. Unité de commande L’unité d’exécution Mémoire Données & Programmes UAL

  3. Fabrication

  4. Fabrication(2)

  5. Fabrication(3)

  6. Présentation

  7. Evolution de l’intégration: Processeurs x86

  8. Microprocesseur = Unité Contrôle + UAL • L’Unité de contrôle • Décodage des instructions • Chargement des informations depuis la mémoire dans l ’UAL • Contrôle du flux du programme • L’Unité Arithmétique et Logique • Réalisation des opérations • Calculs entiers • Calculs sur les nombres réels • Comparaisons

  9. Le langage machine • Ensemble d ’instructions élémentaires traitées par le microprocesseur • Environ un millier d’instructions Branchements Calculs sur les entiers Comparaisons Communication mémoire Calculs sur les réels Opérations «multimédia» (MMX…) • Processeur Z80 utilisé en TP: 256 Instructions • Codage dans la mémoire • « code instruction » • Assembleur : • Représentation « lisible » du langage machine • Mnémonique: représentation des instructions

  10. OUTBUF EQU 80H LD A,'A'-1 NCB: INC A OUT (OUTBUF),A CP 'Z' JP NZ,NCB HALT De l’assembleur au code machine

  11. Les registres • Mémoires contenues dans le microprocesseur • Codés sur n bits • Capacité de traitement du processeur • 64 bits dans les microprocesseurs modernes • 4/8 bits dans les processeurs anciens • 3 types de registres • Registres entiers : Traitement des nombres entiers • Registres de contrôle : état et déroulement du programme • Registres calcul flottant

  12. Principaux registres de contrôle • Registre d ’instruction : RI • Code de l ’instruction courante • Registre de position dans le programme : CO • Compteur Ordinal : adresse de la prochaine instruction à éxecuter • Registre de pile : SP • Permet de créer une « pile » dans la mémoire • Registres d ’état • Etats du microprocesseur • Débordements de capacité • Comparaisons • Mode d ’exécution • Accumulateur • Registre de travail principal

  13. Chargement depuis la mémoire LD Registre, Adresse : Place dans un registre le contenu de l’adresseChargement d’une valeur LD Registre, Valeur : Place dans un registre la valeur fournie Sauvegarde en mémoire LD Registre, Adresse : Place dans la mémoire le contenu du registre Addition ADD Registre1, Registre2 : Ajoute Registre2 à Registre 1 ADD Registre, Valeur : Ajoute la valeur au registre Multiplication (n’existe pas) Mult Registre1, Registre2 : Multiplie Registre1 par Registre 1Mult Registre, Valeur : Multiplie le registre par la valeur Comparaison CP Registre1, Registre2 : Compare le registre 1 au registre 2 et place les bits d’état Sauts inconditionnel JP, JR Adresse (ou libellé) : Effectue un saut inconditionnel vers l’adresse spécifiée (ou le libellé pour simplifier) Exemple d’instructions

  14. L’horloge • Cadence les traitements dans l ’ordinateur Cycle du microprocesseur <=> Traitements effectués en un top d ’horloge Détermine la vitesse du microprocesseur • Ne suffit pas pour connaître la performance réelle d ’une machine

  15. Liaisons avec la mémoire • Registre d ’adresse et registre mot • Stockage de l ’adresse mémoire et de la donnée • Sélection de l ’opération • Lecture • Ecriture • Transfert • 1 transfert par cycle au maximum • Dépend de la vitesse du bus mémoire • Processeurs actuels très dépendants de vitesses d’échange

  16. L’adressage • Adressage direct • Spécification de l ’adresse LD (0120H),A : Charge dans A la valeur contenue en 0120H • Adressage indirect • L ’adresse à considérer est stockée (indirection) LD BC, 0120H LD (BC),A • Adressage indexé • Utilisation d ’un registre d ’index (IX, IY sur Z80) • Adresse = Base + index LD (IX+3), 72 : Charge 72 à l’adresse IX+3 • La pile • Empilage (push) et dépilage (pop) • En général pas de contrôle de ces opérations !

  17. Exemple: le Z80

  18. Structure complexe • 2,5 unités d ’exécution • Arithmétique • Calcul et comparaison des nombres entiers • Calcul flottant : • coprocesseur mathématique => calcul sur les nombres réels • Unité multimédia • MMX/SSE/3DNow! : exécution particulière de certaines opérations

  19. Exécution de plusieurs instructions en même temps Partage de l ’UAL 1 instruction prend « 1 cycle » Pb : Vidage du pipeline Instructions de branchement Exécution en pipeline

  20. Exécution parallèle/prédictives • Mise à disposition de plusieurs UAL • Problème de remplissage du pipeline • Exécution prédictive

  21. Exemple: le pentium

  22. Exemple: l ’Athlon

  23. Exemple : le Pentium 4

  24. Pipeline Réel • PIV : 20 Niveaux • PIII: 10 Niveaux • Athlon: 11 Niveaux

  25. Simule deux processeurs sur un seul 2 files d’exécution Mêmes UAL Nécessite des applications compatibles Augmente la disponibilité du système L’Hyper Threading

  26. Optimisation de l’utilisation des ressources

  27. RISC/CISC/VLIW • CISC • RISC • VLIW

  28. En algorithmiqueFact = 1Pour i allant de 2 a NFact = Fact * i Fin pour En C Int fact(int n){ int i = 2 ; int result = 1 ; while(i <= N) { result *= i ; i++ ; } fact = result ;} ; Exemple de compilation : Factorielle En assembleur Load A, adresse de NLoad B, 1Load C, 2Boucle Cmp A,CJmp FinMult B,CAdd C,1Jmp BoucleFin RTN

More Related