Ch8 architecture

  • View
    10

  • Download
    1

Embed Size (px)

Text of Ch8 architecture

  1. 1. 1 Chapitre 8 : Larchitecture de base des ordinateurs Introduction Architecture de base dune machine La Mmoire Centrale UAL ( unit arithmtique et logique ) UC ( unit de contrle ou de commande ) Jeu dinstructions , Format et codage dune instruction Modes dadressage tapes dexcution dun instruction
  2. 2. 2 Objectifs Comprendre larchitecture dune machine von newman. Comprendre les tapes de droulement de lexcution dune instruction. Comprendre le principe des diffrents modes dadressage.
  3. 3. 1. Introduction Un programme est un ensemble dinstructions excutes dans un ordre bien dtermin. Un programme est excut par un processeur ( machine ). Un programme est gnralement crit dans un langage volu (Pascal, C, VB, Java, etc.). Les instructions qui constituent un programme peuvent tre classifies en 4 catgories : Les Instructions daffectations : permet de faire le transfert des donnes Les instructions arithmtiques et logiques. Les Instructions de branchement ( conditionnelle et inconditionnelle ) Les Instructions dentres sorties.
  4. 4. 4 1. Introduction Pour excuter un programme par une machine, on passe par les tapes suivantes : 1. dition : on utilise gnralement un diteur de texte pour crire un programme et le sauvegarder dans un fichier. 2. Compilation : un compilateur est un programme qui convertit le code source ( programme crit dans un langage donn ) en un programme crit dans un langage machine ( binaire ). Une instruction en langage volu peut tre traduite en plusieurs instructions machine. 3. Chargement : charger le programme en langage machine dans mmoire afin de lexcuter .
  5. 5. 5 Comment sexcute un programme dans la machine ? Pour comprendre le mcanisme dexcution dun programme il faut comprendre le mcanisme de lexcution dune instruction . Pour comprendre le mcanisme de lexcution dune instruction il faut connatre larchitecture de la machine ( processeur ) sur la quelle va sexcuter cette instruction.
  6. 6. 6 2. Architecture matrielle dune machine ( architecture de Von Neumann ) Larchitecture de Von Neumann est compose : Dune mmoire centrale, Dune unit centrale UC , CPU (Central Processing Unit), processeur , microprocesseur. Dun ensemble de dispositifs dentres sorties pour communiquer avec lextrieur. Cette architecture est la base des architectures des ordinateurs. Mmoire Centrale UC Processeur entres sorties
  7. 7. 7 2.1 La mmoire centrale La mmoire centrale (MC) reprsente lespace de travail de lordinateur . Cest lorgane principal de rangement des informations utilises par le processeur. Dans un ordinateur pour excuter un programme il faut le charger ( copier ) dans la mmoire centrale . Le temps daccs la mmoire centrale et sa capacit sont deux lments qui influent sur le temps dexcution dun programme ( performances dune machine ).
  8. 8. 8 0001100 0011100 0111100 0001100 0001100 0000 0001 0002 . . .. FFFF Une adresse Contenu dune case (un mot)mmoire La mmoire centrale peut tre vu comme un large vecteur ( tableau ) de mots ou octets. Un mot mmoire stocke une information sur n bits. Chaque mot possde sa propre adresse. La mmoire peut contenir des programmes et les donnes utilises par les programmes.
  9. 9. Structure dun programme en MC Partie donnes ( variables ) Partie instructions . . } 11100001 11100001 11000001 11100001 11000001 11110000 1111111 1000000 0000000 Addition Soustraction
  10. 10. 10 2.2 LUnit Centrale ( UC) Lunit centrale (appele aussi processeur , microprocesseur) pour rle dexcuter les programmes. LUC est compose dune unit arithmtique et logique (UAL) et dune unit de contrle. - Lunit arithmtique et logique ralise les oprations lmentaires (addition, soustraction, multiplication, . . .) . - Lunit de commande contrle les oprations sur la mmoire (lecture/criture) et les oprations raliser par lUAL selon linstruction en cours dexcution.
  11. 11. Architecture matrielle dune machine Von Neumann UC
  12. 12. 12 2.2.1 LUAL Lunit arithmtique et logique ralise une opration lmentaire (addition, ,soustraction, multiplication, . . .). LUAL regroupe les circuits qui assurent les fonctions logiques et arithmtiques de bases ( ET,OU,ADD,SUS,..). LUAL comporte un registre accumulateur ( ACC ) : cest un registre de travail qui sert a stocker un oprande (donnes )au dbut dune opration et le rsultat la fin.
  13. 13. 13 LUAL comporte aussi un registre dtat : Ce registre nous indique ltat du droulement de lopration . Ce registre est compos dun ensemble de bits. Ces bits sappels indicateurs (drapeaux ou flags). Ces indicateurs sont mis jours ( modifis )aprs la fin de lexcution dune opration dans lUAL. Les principeaux indicateurs sont : Retenue : ce bit est mis 1 si lopration gnre une retenue. Signe :ce bit est mis 1 si lopration gnre un rsultat ngative. Dbordement :ce bit est mis 1 sil y a un dbordement. Zero : ce bit est mis 1 si le rsultat de lopration est nul.
  14. 14. 14 Schma dune UAL
  15. 15. 15 2.2.2 Unit de contrle Le rle de l'unit de contrle (ou unit de commande ) est de : coordonner le travail de toutes les autres units ( UAL , mmoire,. ) et d'assurer la synchronisation de l'ensemble. Elle assure : la recherche ( lecture ) de linstruction et des donnes partir de la mmoire, le dcodage de linstruction et lexcution de linstruction en cours et prpare linstruction suivante.
  16. 16. 16 Lunit de contrle comporte : Un registre instruction (RI) : contient linstruction en cours dexcution. Chaque instruction est dcoder selon sont code opration grce un dcodeur. Un registre qui sappel compteur ordinal (CO) ou le compteur de programme (CP ) : contient ladresse de la prochaine instruction excuter (pointe vers la prochaine instruction excuter ). Initialement il contient ladresse de le premire instruction du programme excuter. Un squenceur : il organise ( synchronise ) lexcution des instruction selon le rythme de lhorloge, il gnre les signaux ncessaires pour excuter une instruction.
  17. 17. 17 Schma dune UC
  18. 18. 18 Schma dtaill dune machine UC
  19. 19. 19 Remarque Le microprocesseur peut contenir dautres registres autre que CO,RI et ACC. Ces registres sont considrs comme une mmoire interne ( registre de travail ) du microprocesseur. Ces registres sont plus rapide que la mmoire centrale , mais le nombre de ces registre est limit. Gnralement ces registres sont utiliss pour sauvegarder les donnes avant dexcuter une opration. Gnralement la taille dun registre de travail est gale la taille dun mot mmoire
  20. 20. 20 Une machine avec des registres de travail registres
  21. 21. 21 3.Jeu dinstructions Chaque microprocesseur possde un certain nombre limit dinstructions quil peut excuter. Ces instructions sappelles jeu dinstructions. Le jeu dinstructions dcrit lensemble des oprations lmentaires que le microprocesseur peut excuter. Les instructions peuvent tre classifies en 4 catgories : Instruction daffectation : elle permet de faire le transfert des donnes entre les registres et la mmoire criture : registre mmoire Lecture : mmoire registre Les instructions arithmtiques et logiques ( ET , OU , ADD,.) Instructions de branchement ( conditionnelle et inconditionnelle ) Instructions dentres sorties.
  22. 22. 22 3.1 Codage dune instruction Les instructions et leurs oprandes ( donnes ) sont stock dans la mmoire. La taille dune instruction ( nombre de bits ncessaires pour la reprsenter en mmoire ) dpend du type de linstruction et du type de loprande. Linstruction est dcoupe en deux parties : Code opration ( code instruction ) : un code sur N bits qui indique quelle instruction. La champs oprande : qui contient la donne ou la rfrence ( adresse ) la donne. Code opration Oprande Le format dune instruction peut ne pas tre le mme pour toutes les instructions. Le champs oprande peut tre dcoup sont tours en plusieurs champs N bits K bits
  23. 23. 23 Machine 3 adresses Dans ce type de machine pour chaque instruction il faut prciser : ladresse du premier oprande du deuxime oprande et lemplacement du rsultat Code opration Oprande1 Oprande2 Rsultat Exemple : ADD A,B,C ( CB+C ) Dans ce type de machine la taille de linstruction est grand . Pratiquement il nexistent pas de machine de ce type.
  24. 24. 24 Machine 2 adresses Dans de type de machine pour chaque instruction il faut prciser : ladresse du premier oprande du deuxime oprande , ladresse de rsultat est implicitement ladresse du deuxime oprande . Code opration Oprande1 Oprande2 Exemple : ADD A,B ( BA +B )
  25. 25. 25 Machine 1 adresses Dans de type de machine pour chaque instruction il faut prciser uniquement ladresse du deuxime oprande. Le premier oprande existe dans le registre accumulateur. Le rsultat est mis dans le registre accumulateur. Code opration Oprande2 Exemple : ADD A ( ACC(ACC) + A ) Ce type de machine est le plus utilis.
  26. 26. 26 4. Mode dadressage La champs oprande contient la donne ou la rfrence ( adresse ) la donne. Le mode dadressage dfinit la manire dont le microprocesseur va accder loprande. Le code opration de linstruction comportent un ensemble de bits pour indiquer le mode dadressage. Les modes dadressage les plus utilits sont : Immdiat Direct Indirect Index relatif
  27. 27. 27 4.1 Adressage immdiat Loprande existent dans le champs adresse de linstruction Code opration Oprande Exemple : ADD 150 Cette commande va avoir leffet suivant : ACC(ACC)+ 150 Si le registre accumulateur contient la valeur 200 alors aprs lexcution son contenu sera gale 350 ADD 150
  28. 28. 28 4.2 Adressage direct Le champs oprande de linstruction contient ladresse de loprande ( emplacement en mmoire ) Pour raliser lopration il faut le rcuprer ( lire ) loprande partir de la mmoire. ACC (ACC)+ (ADR) ADD 150 30 Exemple : On suppose que laccumulateur co