1
CHAPITRE2
MECANISMED'EXECUTIOND'UNPROGRAMME
1. Lesinstructions:
Eninformatique,uneinstructionmachineestuneopérationélémentaire qu'un programme
demandeàunprocesseurd'effectuer.C'estl'ordreleplusbasiquequepeutcomprendreun
ordinateur.
La collection d'instructions machine qui peuvent être données àunprocesseurestsonjeu
d'instructions. Les instructions machine sont codées en binaire. Un champ de l'instruction
appelé «codeopération»ou«opcode»désignel'opérationàeffectuer.Puisquesavaleur
numériquen'apasdesenspourleshumains,leprogrammeurutilise une abréviation
désignantlecodeopérationfourniparlelangageassembleurpourceprocesseur.
Depuis Von Neumann les instructions sont rangées en mémoire centrale. Ce sont des mots
mémoire dont le profil décrit les opérations à effectuer dans un ou plusieurs cyclesdela
machine. La successiondesinstructionsquidécriventuncalculcomplexeconstitueun
programme.Ilfautdoncunmécanismeparticulierpourleslirelesunesàlasuitedesautres
etpourlesdécoder.
Lesprincipauxfluxdansunordinateur.
Traditionnellement, le logiciel a été écrit pour le calcul périodique.Ilestcourusurun
ordinateursimpleayantuneunitécentraledetraitementsimple.Unproblèmeestcassédans
une série discrète d'instructions. Des instructions sont exécutéesl'unaprèsl'autreet
seulementuneinstructionpeuts'exécuterdansunmoment.
2
Lecalculpériodique.
2. Tailledesinstructions:
Latailled'uneinstructiondépenddel'architecturedelaplateforme,maiselleestusuellement
compriseentre4et64bits.
3. Lecycled'exécutiond'uneinstruction:
Supposonsmaintenantquelamémoirecentraledenotreordinateurcontienneunprogramme
etdesdonnées,etquel'onsouhaiteexécuterceprogrammesurces données. Lancer cette
exécution revient à mettre dans le compteur ordinal (CO) l'adresseoùsetrouvestockéela
premièreinstructionduprogramme.Apartirdelà,leprogrammeestexécuétapeparétape,
instructionparinstruction.L'exécutiond'uneinstructionélémentaire fait suivant un cycle
comprenant3phases:
Phase1:L'instructioncourante,dontl'adresseeststockéedansleCO,estrecopiée
dansleregistred'instruction(RI)entransitantparlebus«instructions»;
Phase2:cetteinstructioncouranteestdécodéeàdestinationdel'UAL;ainsilebus
« ordres » transfère le code de l'opération (les 4 premiers bits)etlebus«
données/sultats»transfèredanslesregistresappelés«donnée1»et«donnée2
» le contenu des mots mémoire se trouvant aux adresses référencées dans
l'instruction;
Phase3:l'UALexécutel'opérationquiluiestdemandéeenmettantàjour son
registre«résultat»ettransfèrecerésultatdanslamémoirecentrale, à l'adresse
référencéedansl'instruction,enutilisantlebus«données/résultats»;parailleurs
leCOestautomatiquementincrémentée(c'est‐à‐direqu'ilestaugmentéde1),pour
signifier que l'instruction suivante à exécuter doit se trouver normalement à
l'adressequisuitimmédiatementlaprécédente.Unnouveaucyclepeutcommencer
alorspourlanouvelleinstructioncourante.
3
Cescyclessontrythmésparlestopsd'horloge,chaquephasecorrespondantàunnombrefixe
de«tops»successifs.Dansnotreexemple,pourlaphase1,qui nécessite de faire transiter
l'instructioncourantedelamémoireversleRIenutilisantle bus d'instruction, 4 tops
d'horlogeserontnécessaires(carunmotmémoirefait16bitsetlebusn'aunecapacitéquede
4bits).
Illustronscefonctionnementàl'aided'unexemplecompletsurnotre ordinateur miniature
(seulslesbits«utiles»delamémoireetdesregistressontdonnés).Lafiguresuivantemontre
lasituationdedépart,lestroissuivantesmontrentl'étatdel'ordinateuraprèsl'exécutionde
chaquephased'uncycle.
Situationdedépart.
Pouraideràlacompréhension,onfaitàchaqueétapefigurerengraslescomposantsactifsà
cetteétape.
La figure suivante montre l'état de l'ordinateur à l'issue de la première phase du premier
cycle.L'instructioncouranteatransitéàtraverslebus«instructions » et se retrouve
désormaisdansleregistred'instruction.Notonsque,silebus«instructions»estcomposéde
4fils,commesurnotrescma,alorsqu'uneinstructiondansunmotmémoireeststockéesur
2octets,alorscetransfertadûsefaire,aumieux,en4passages successifs (correspondant
chacunàuntopd'horloge).
4
Premiercycle,phase1.
La figure suivante montre l'état de l'ordinateur à l'issue de la deuxième phase du premier
cycle.Lebus«ordres»afaittoutd'abordtransiterles4premiers bits de l'instruction
couranteàl'UAL,quiareconnuquec'étaitlecoded'uneaddition (l'opération active dans
l'UALestdoncl'addition).Lesdeuxsuitesde4bitssuivantescorrespondentauxadressesen
mémoireoùl'UALdoitallerchercherlesdonnéessurlesquelleseffectuercetteopération.Ces
donnéesviennentremplirlesregistres«donnée1»et«donnée2»del'UALenpassantparle
bus«données/résultats».
Premiercycle,phase2.
Lafiguresuivantemontrel'étatdel'ordinateuràl'issuedelatroisièmeetdernièrephasedu
premiercycle.L'UALaréalisél'opérationquiluiétaitdemandéeetarempliaveclerésultat
5
sonregistre«résultat».Ladernièrepartiedel'instructioncouranteindiquel'adressedumot
mémoireoùcerésultatdoitêtrestocké.C'estcequiestfaitenutilisantdenouveaulebus«
données/résultats ». Par ailleurs, pour préparer le cycle suivant, le compteur ordinal est
augmentéde1.
Premiercycle,phase3.
A l'issue de ce cycle, la première instruction élémentaire a été entièrement exécutée et la
machine est prête à démarrer un nouveau cycle pour exécuter la deuxième (et dernière)
instructionduprogramme.
Lafiguresuivantemontrelasituationdel'ordinateuràlafindel'exécutionde cedeuxième
cycle (sans détailler les 3 phases, cettefois). Un nouveau cycle peut commencer, mais nous
supposonsqu'iln'yaplusd'informationpertinenteàl'adresseréférencéeparleCO(ouilyen
aunesignifiant«FIN»):l'exécutionduprogrammeestdoncterminée.
1 / 10 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !