Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002 1 Architecture Fondamentale des Microprocesseurs Institut Supérieur d’Electronique

  • View
    103

  • Download
    1

Embed Size (px)

Transcript

  • Page 1
  • Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002 1 Architecture Fondamentale des Microprocesseurs Institut Suprieur dElectronique du Nord 41 Boulevard Vauban - 59046 Lille Cedex - France
  • Page 2
  • Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002 2 Architecture dun ordinateur Unit centrale Mmoire centrale Contrleurs dentre/sortie ou interface Canaux de communication (bus)
  • Page 3
  • Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002 3 Les types darchitecture : SISD Une instruction manipule une seule donne (Single Instruction Single Data) instruction
  • Page 4
  • Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002 4 Une instruction manipule un ensemble de donnes (Single Instruction Multiple Data) : machine tableau Les types darchitecture : SIMD instruction
  • Page 5
  • Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002 5 Les types darchitecture : MISD Un ensemble dinstructions manipule une seule donne (Multiple Instruction Single Data) : machine vectorielle ou pipeline Instruction 1 Instruction 2 Instruction 3 Instruction 4 Instruction 2 Instruction 3 Instruction 4 Instruction 5
  • Page 6
  • Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002 6 Les types darchitecture : MIMD Un ensemble dinstructions manipule un ensemble de donnes (Multiple Instruction Multiple Data) : machine multi-processeurs MISD SISD SIMD
  • Page 7
  • Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002 7 Architecture de Von Neuman Machine de Von Neuman (1945) programme : suite dinstructions codes en binaire et mmorises en mmoire centrale donnes : codes en binaire et mmorises en mmoire centrale les instructions sont excutes squentiellement par lunit centrale une instruction manipule une seule donne (SISD)
  • Page 8
  • Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002 8 Mmoire centrale : rle et fonctions Rle : mmorisation des instructions et des donnes code binaire (algbre de Boole) 0 : absence de courant 1 : prsence de courant Fonctions daccs : criture : mmorisation dune information lecture : rcupration dune information pralablement enregistre
  • Page 9
  • Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002 9 Mmoire centrale : constituants Cellule mmoire : circuit lectronique charg de mmoriser un seul bit dinformation Mmoire centrale : construire un mot partir dun ensemble de cellules construire un ensemble de mots crer un mcanisme daccs un mot dans lensemble des mots : adressage
  • Page 10
  • Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002 10 Mmoire centrale : vision logique Vision logique : tableau de mots plus ou moins grand mcanisme dadressage : chaque mot est repr par son emplacement (adresse) dans le tableau (indice) Flottant IEEE sur 32 bits (valeur -1,2345.10 -4 ) 92 77 B9 0E Entier sign sur 16 bits (valeur -2) FE FF 2006 2004 2005 2003 2002 2001 2000
  • Page 11
  • Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002 11 Unit centrale : composition Lunit centrale (CPU - Central Processing Unit) regroupe 5 blocs fonctionnels : lunit de contrle lunit arithmtique et logique les registres gnraux les registres spcialiss linterfaage avec lextrieur
  • Page 12
  • Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002 12 Unit de contrle Bus de contrleBus dadresseBus de donneHorloge Interruptions int e l 8085 Bus de communication interne Registre D Registre H Registre C Registre E Registre L Registre B Compteur ordinal PC Pointeur de pile SP Accumulateur Indicateurs Registre dinstruction Dcodeur dinstructions et squenceur Unit de contrle Registre dadresseRegistre de donne UAL
  • Page 13
  • Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002 13 Unit de contrle Elle contrle la totalit du fonctionnement de lunit centrale lecture, dcodage, et excution des instructions lecture et criture des donnes en mmoire centrale lecture et criture des registres contrle de lunit arithmtique et logique contrle de linterface avec lextrieur : bus dadresse et de donne fonctions daccs la mmoire centrale interruptions,...
  • Page 14
  • Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002 14 Programme Un programme crit en langage volu (C) nest pas comprhensible directement par la machine (i.e. par lunit de contrle)... if (i == 0) { i = 1 ; } j = 2 ;... cmp i,#0 bne label move #1,i label: move #2,j... compilateur... 1000 3E332000 1004 2A100B 1007 3F332001 100B 3F332102... assembleur
  • Page 15
  • Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002 15 Instructions tiquetteadresse mnmoniquecode opration (opcode) oprande(s)... cmp i,#0 bne label move #1,i label: move #2,j... 1000 3E 332000 1004 2A 100B 1007 3F 332001 100B 3F 332102...
  • Page 16
  • Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002 16 Excution dun programme Bus de contrleBus dadresseBus de donneHorloge Interruptions int e l 8085 Bus de communication interne Registre D Registre H Registre C Registre E Registre L Registre B Compteur ordinal PC Pointeur de pile SP Accumulateur Indicateurs Registre dinstruction Dcodeur dinstructions et squenceur Unit de contrle Registre dadresseRegistre de donne UAL
  • Page 17
  • Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002 17 Excution dun programme Le compteur ordinal (PC ou Program Counter) registre spcialis contient tout moment ladresse de linstruction qui va tre excute 3E 33 00 2010 2A 0B PC 1004 1006 1004 1005 1003 1002 1001 1000
  • Page 18
  • Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002 18 Unit arithmtique et logique (ALU) Bus de contrleBus dadresseBus de donneHorloge Interruptions int e l 8085 Bus de communication interne Registre D Registre H Registre C Registre E Registre L Registre B Compteur ordinal PC Pointeur de pile SP Accumulateur Indicateurs Registre dinstruction Dcodeur dinstructions et squenceur Unit de contrle Registre dadresseRegistre de donne UAL
  • Page 19
  • Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002 19 Unit arithmtique et logique (ALU) Rle : calcul doprations lmentaires oprations arithmtiques addition, soustraction, multiplication, division changement de signe oprations logiques et, ou, ou exclusif, inversion dcalage, rotation Traite des mots de taille fixe (1, 2, 4 octets) Gnre les indicateurs caractrisation du dernier rsultat produit par lALU
  • Page 20
  • Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002 20 Registres Bus de contrleBus dadresseBus de donneHorloge Interruptions int e l 8085 Bus de communication interne Registre D Registre H Registre C Registre E Registre L Registre B Compteur ordinal PC Pointeur de pile SP Accumulateur Indicateurs Registre dinstruction Dcodeur dinstructions et squenceur Unit de contrle Registre dadresseRegistre de donne UAL
  • Page 21
  • Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002 21 Registres Registres gnraux oprandes pour lunit arithmtique et logique rsultats des calculs (accumulateur) en nombre variable (2 plusieurs dizaines) taille = taille des mots traits par lALU Registres spcialiss compteur ordinal (Program Counter - PC) registre dtat (Status Register - SR) pointeur de pile (Stack Pointer - SP)
  • Page 22
  • Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002 22 3322 3321 3320 3319 (variable i) (variable j) Exemple dexcution SR (indicateur Z) PC 0 100F 02 04 0 ???? 02 04 ? 1000 04 10 0 1007 04 100 1004 04 10... cmp i,#0 bne label move #1,i label: move #2,j... 1000 3E332100 1004 2A100B 1007 3F332101 100B 3F332002 100F...... if (i == 0) { i = 1 ; } j = 2 ;...
  • Page 23
  • Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002 23 Modes dadressage des oprandes Permettent de localiser prcisment les oprandes dune instruction immdiat (constante) registre (donne anonyme ) direct (donne variable ) en mmoire centrale indirect (pointeur sur...) en mmoire centrale via un registre autres suivant la puissance du CPU : indirect avec dplacement (8086, 68000) pr/post index (68000) facteur dchelle (80386)
  • Page 24
  • Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002 24 Modes dadressage (1) 3E 33 immdiat (constante) 0 registreR2 direct / absolu[3044] 4444 2222 3333 1111R1 R3 R2 R40000 4444 2222 66663046 3042 3044 3040
  • Page 25
  • Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002 25 Modes dadressage (2) indirect via registre[R2] indirect via registre avec dplacement [R2-2] 4444 3044 3333 1111R1 R3 R2 R4 0000 4444 2222 66663046 3042 3044 3040 4444 3044 3333 1111R1 R3 R2 R4 0000 4444 2222 66663046 3042 3044 3040
  • Page 26
  • Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002 26 Jeu dinstructions (1) dplacementMOV destination,source MOV R3,R2 MOV [2000],-4 R1 R3 R2 R44444 3333 1111 2222 2002 1FFE 2000 1FFC4444 3333 1111 2222 FFFC