Architecture de machines
Le microprocesseur
MDIKER AMINE
UAL
Mémoire
Données
&
Programmes
Unité de
commande
L’unité d’exécution
Fabrication
Fabrication(2)
Fabrication(3)
Présentation
Evolution de l’intégration: Processeurs x86
Microprocesseur = Unité Contrôle + UAL
L’Unité de contrôle
– Décodage des instructions
– Chargement des informations depui...
Le langage machine
Ensemble d ’instructions élémentaires traitées
par le microprocesseur
– Environ un millier d’instructio...
De l’assembleur au code machine
OUTBUF EQU 80H
LD A,'A'-1
NCB: INC A
OUT (OUTBUF),A
CP 'Z'
JP NZ,NCB
HALT
Les registres
Mémoires contenues dans le microprocesseur
Codés sur n bits
– Capacité de traitement du processeur
– 64 bits...
Principaux registres de contrôle
Registre d ’instruction : RI
– Code de l ’instruction courante
Registre de position dans ...
Exemple d’instructions
Chargement depuis la mémoire
– LD Registre, Adresse : Place dans un registre le contenu de l’adress...
L’horloge
Cadence les traitements dans l ’ordinateur
Cycle du microprocesseur <=> Traitements effectués en un top
d ’horlo...
Liaisons avec la mémoire
Registre d ’adresse et registre mot
– Stockage de l ’adresse mémoire et de la donnée
– Sélection ...
L’adressage
Adressage direct
– Spécification de l ’adresse
LD (0120H),A : Charge dans A la valeur contenue en 0120H
Adress...
Exemple: le Z80
Structure complexe
2,5 unités d ’exécution
– Arithmétique
• Calcul et comparaison des nombres entiers
– Calcul flottant :
...
Exécution en pipeline
Exécution de plusieurs
instructions en même
temps
– Partage de l ’UAL
– 1 instruction prend « 1
cycl...
Exécution parallèle/prédictives
Mise à disposition de plusieurs UAL
– Problème de remplissage du pipeline
Exécution prédic...
Exemple: le pentium
Exemple: l ’Athlon
Exemple : le Pentium 4
Pipeline Réel
PIV : 20 Niveaux
PIII: 10 Niveaux
Athlon: 11 Niveaux
L’Hyper Threading
Simule deux processeurs
sur un seul
– 2 files d’exécution
– Mêmes UAL
Nécessite des applications
compati...
Optimisation de l’utilisation des ressources
RISC/CISC/VLIW
CISC
RISC
VLIW
Exemple de compilation : Factorielle
En algorithmique
Fact = 1
Pour i allant
de 2 a N
Fact = Fact * i
Fin pour
En C
Int fa...
Prochain SlideShare
Chargement dans…5
×

Le microprocesseur

97 vues

Publié le

Présentation d'un microprecesseur

Publié dans : Formation
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
97
Sur SlideShare
0
Issues des intégrations
0
Intégrations
7
Actions
Partages
0
Téléchargements
0
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Le microprocesseur

  1. 1. Architecture de machines Le microprocesseur MDIKER AMINE
  2. 2. UAL Mémoire Données & Programmes Unité de commande L’unité d’exécution
  3. 3. Fabrication
  4. 4. Fabrication(2)
  5. 5. Fabrication(3)
  6. 6. Présentation
  7. 7. Evolution de l’intégration: Processeurs x86
  8. 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. 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. 10. De l’assembleur au code machine OUTBUF EQU 80H LD A,'A'-1 NCB: INC A OUT (OUTBUF),A CP 'Z' JP NZ,NCB HALT
  11. 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. 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. 13. Exemple d’instructions Chargement depuis la mémoire – LD Registre, Adresse : Place dans un registre le contenu de l’adresse Chargement 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 1 Mult 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)
  14. 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. 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. 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. 17. Exemple: le Z80
  18. 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. 19. Exécution en pipeline 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
  20. 20. Exécution parallèle/prédictives Mise à disposition de plusieurs UAL – Problème de remplissage du pipeline Exécution prédictive
  21. 21. Exemple: le pentium
  22. 22. Exemple: l ’Athlon
  23. 23. Exemple : le Pentium 4
  24. 24. Pipeline Réel PIV : 20 Niveaux PIII: 10 Niveaux Athlon: 11 Niveaux
  25. 25. L’Hyper Threading 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
  26. 26. Optimisation de l’utilisation des ressources
  27. 27. RISC/CISC/VLIW CISC RISC VLIW
  28. 28. Exemple de compilation : Factorielle En algorithmique Fact = 1 Pour i allant de 2 a N Fact = Fact * i Fin pour En C Int fact(int n) { int i = 2 ; int result = 1 ; while(i <= N) { result *= i ; i++ ; } fact = result ; } ; En assembleur Load A, adresse de N Load B, 1 Load C, 2 Boucle Cmp A,C Jmp Fin Mult B,C Add C,1 Jmp Boucle Fin RTN

×