cours4 fonction d execution

51
FONCTION D’EXECUTION Fonctionnement du processeur : exécution des instructions machine STRUCTURE DU PROCESSEUR Joëlle Delacroix - NFA004 1

Upload: ikram-ziri

Post on 17-Aug-2015

24 views

Category:

Documents


0 download

DESCRIPTION

6e pro.ramme composé d’instructions machine et de données a été char.é en mémoire centrae par un outi C-"+AEU+•6e compteur ordina CO est char.é a;ec ’adresse en Bémoire centrae du mot contenant a premire instruction du pro.ramme•6’exécution du pro.ramme s’eectue instruction par instruction@ sous e piota.e de ’unité de commande du processeur

TRANSCRIPT

FONCTION DEXECUTIONFonctionnement du processeur : excution des instructions machineSTRUCTURE DU PROCESSEURJoe Deacroix ! NF"##$ %Processeur (Unit Centrale)Unit Arithmtiqueet LogiqueRegistresUnit de CommandeBus Processeur /MmoireSquenceurDcodeurCommandes Lecture/EcritureAdressesDonnesR ICORADRDODonnesCommandesBus InterneZY1Y2OprationhorlogeJoe Deacroix ! NF"##$ &Bus Processeur /MmoireUnit de CommandeSquenceurDcodeurCommandes Lecture/EcritureAdressesDonnesR ICORADRDOhorlogeL'unit de commande est charge de la reconnaissance des instructions et de leur excution par lunit de traitement au rythme de l'horlogeLes registres :- RI (registre instruction) : contient l'instruction en cours d'excution- CO (compteur ordinal ) : contient l'adresse en MC de la prochaine instruction- RAD (registre adresse) et RDO (registre de donnes) : registres d'interfaageavec la mmoire centraleProcesseur (Unit Centrale)Joe Deacroix ! NF"##$ 'Registres : les registres gnraux R0, R1, R2 le registre de pile RSP (Register Stack Pointer) les registres d'adressage : RB (registre de base)R0RBRSPR1R2 Le registre est lentit de base manipule par le processeur. Aucune opration nest directement ralise sur les cellules mmoires.Joe Deacroix ! NF"##$ $Processeur (Unit Centrale)Unit Arithmtiqueet LogiqueZY1Y2OprationL'unit Arithmtique et Logique (UAL) constitue l'unit d'excution du processeur.Elle est compose : de l'ensemble des circuits permettant de raliser les oprations arithmtiques(addition, multiplication, division,) et les oprations logiques (complment 2, inverse, OU, ET, ) sur les oprandes Y1 et Y2 d'un registre d'tat PSW qui contient des indicateurs positionns par le rsultatZ des oprations effectues :SO CZ- O : positionn 1 si Overflow, 0 sinon- Z : positionn 1 si rsultat opration nul, 0 sinon- C : positionn 1 si carry, 0 sinon- S : positionn 0 si rsultat opration positif, 1 sinonJoe Deacroix ! NF"##$ (Processeur (Unit Centrale)Entre horloge ou cristalAlimentation et masseVccGNDA0A1A2A3A4A5A6A7A8A9A10A11A12A13A14A15D0D1D2D3D4D5D6D7ReadWriteMicroprocesseurProcesseur (Brochage)AdressesDonnesJoe Deacroix ! NF"##$ )FONCTION DEXECUTIONFonctionnement du processeur : excution des instructions machineLiaison processeur Mmoire centraleRaliser une lecture ou une criture dun mot mmoireJoe Deacroix ! NF"##$ *+I+"D+DO%&%)

&$&, (-oro.e+/0123%CO04uenceurDcodeur3&adressesdonnesC"D+5Joe Deacroix ! NF"##$ ,6e processeur est rei 7 a mmoire centrae par un 8us96e re.istre +"D inter:ace e processeur a;ec e 8us adresse6e re.istre +DO inter:ace e processeur a;ec e 8us de donne6e s4uenceur acti;e a partie commande28+I+"D+DO%&%)

&$&, -oro.e+/0123%CO04uenceurDcodeur3&adressesdonnesC"D+5Joe Deacroix ! NF"##$ $ ? dans e mot dadresse &$%= 6adresse du mot 7 ire est pace dans +"D&= 6a ;aeur $ est pace dans +DO'= 6a commande > criture ? est acti;e$= 6adresse &, est dpose sur e 8us adresse@ a ;aeur $ est pace sur e 8us de donne@ et sont prsentes 7 a mmoire centrae(= $ est crit dans e du mot dadresse &$ECRITURE!FONCTION DEXECUTIONFonctionnement du processeur : excution des instructions machineE"ECUT#O$ DU$E #$STRUCT#O$ M%C$E ' C&EM#$ DE DO$$EES DU PROCESSEURJoe Deacroix ! NF"##$ %%Excution des instructions machine 6e pro.ramme compos dinstructions machine et de donnes a t char. en mmoire centrae par un outi C-"+AEU+ 6e compteur ordina CO est char. a;ec adresse en Bmoire centrae du mot contenant a premiCre instruction du pro.ramme 6excution du pro.ramme se::ectue instruction par instruction@ sous e piota.e de unit de commande du processeur9 6e traitement dune instruction par e processeur se dcoupe en trois tapes : FETC- : instruction est ue en mmoire centrae et copie dans e re.istre +I du processeur DECOD"AE : instruction est reconnue par unit de dcoda.e EXECUTION : opration correspondant 7 instruction est raiseJoe Deacroix ! NF"##$ %&+I+"D+DO%&%)

&$&, (-oro.e+/0123%04uenceurDcodeur3&adressesdonnesC"DJoe Deacroix ! NF"##$ %'6e pro.ramme compos dinstructions machine et de donnes a t char. en mmoire centrae par un outi C-"+AEU+6e compteur ordina CO est char. a;ec adresse en Bmoire centrae du mot contenant a premiCre instruction du pro.ramme0tore 5 + )"dd D + &,6oad Im + 'CO+5(2(8Excution des instructions machineDbutLire la prochaine instruction excuter depuis la mmoire et la chargerRegistre instruction (RI)Modifier le Compteur Ordinal pour quil pointe sur la prochaine instruction excuter,Dcoder linstruction qui vient dtre charge,Charger les donnes ventuelles dans les registres internes,Raliserlopration,FinFetchDcodageExcutionJoe Deacroix ! NF"##$ %$Excution des instructions machine : es trois tapesFetch = dcoda.e= excutionDbutLire la prochaine instruction excuter depuis la mmoire et la chargerRegistre instruction (RI)Modifier le Compteur Ordinal ( CO) pour quil pointe sur la prochaine instruction excuter,Fetch+e.istre Instruction : contient instruction en cours dexcutionCompteur Ordina : contient adresse de a prochaine instructiona excuter5us04uenceurDcodeur-oro.eJoe Deacroix ! NF"##$ %(Excution des instructions machine : es trois tapesFetch = dcoda.e= excution+I+DO%&%)

&$&, (-oro.e+/0123%04uenceurDcodeur3&adressesdonnesC"DJoe Deacroix ! NF"##$%)On it e mot dadresse %& 4ui contient instructionD adresse %& est dans e CO%= CO+"D&= 6ecture6opration de ecture est raiseD instruction pace dans e mot %& est ue et copie dans +DO'= +DO +I 0tore 5 + )"dd D + &,6oad Im + 'CO+5(2(86oad Im + ' E %= Fetch+"D(2LEC(2+I%&%)

&$&, (-oro.e+/0123%04uenceurDcodeur3&adressesdonnesC"DJoe Deacroix ! NF"##$ %*On it e mot dadresse %& 4ui contient instructionD adresse %& est dans e CO%= CO+"D&= 6ecture6opration de ecture est raiseD instruction pace dans e mot %& est ue et copie dans +DO'= +DO+I0tore 5 + )"dd D + &,6oad Im + 'CO+5(2(86oad Im + ' E %= Fetch+"D (2+DO6oad Im + 'LECLEC(2DbutLire la prochaine instruction excuter depuis la mmoire et la chargerRegistre instruction (RI)Modifier le Compteur Ordinal ( CO) pour quil pointe sur la prochaine instruction excuter,Fetch+e.istre Instruction : contient instruction en cours dexcutionCompteur Ordina : contient adresse de a prochaine instructiona excuter5us04uenceurDcodeur-oro.eJoe Deacroix ! NF"##$ %,Excution des instructions machine : es trois tapesFetch = dcoda.e= excution6oad Im + '+I+DO%&%)

&$&, (-oro.e+/0123%04uenceurDcodeur3&adressesdonnesC"DJoe Deacroix ! NF"##$%