Etapes :
1) l'UC lit le code de l'instruction en mémoire : l'UC sort l'adresse de l'instruction sur le bus d'adresses
et active les signaux "Adresse mémoire valide" et "Lecture" ; la mémoire sort sur le bus de données
l'information se trouvant à l'adresse indiquée ; l'UC transfère cette information (code d'une
instruction) du bus de données vers un registre interne (registre d'instruction) ;
2) l'UC décode le code de l'instruction, qui indique la suite d'opérations à effectuer ;
3) si la lecture d'une donnée se trouvant en mémoire est nécessaire :
l'UC calcule l'adresse de la donnée en mémoire, sort l'adresse sur le bus d'adresses et active les signaux
"Adresse mémoire valide" et "Lecture" ; la mémoire sort sur le bus de données l'information se trouvant
à l'adresse indiquée ; l'UC transfère ce code du bus de données vers un registre interne ;
si l'écriture d'une donnée en mémoire est nécessaire :
l'UC calcule l'adresse de la donnée en mémoire, sort l'adresse sur le bus d'adresses, transfère la donnée
d'un registre interne vers le bus de données et active les signaux "Adresse mémoire valide" et
"Ecriture" ; la mémoire inscrit à l'adresse indiquée l'information se trouvant sur le bus de données ;
si une opération arithmétique ou logique doit être effectuée :
l'UC récupère le(s) opérande(s) (en passant éventuellement par les étapes de lecture de données se
trouvant en mémoire) et l(es) envoie à l'UAL (interne à l'UC) ; le résultat de l'opération est stocké dans
un registre interne ou en mémoire (passage par les étapes d'écriture d'une donnée en mémoire) ;
4) l'UC calcule l'adresse de l'instruction suivante.
- Exécution des programmes
Les instructions d'un programme sont exécutées successivement, en suivant les branchements
conditionnels ou inconditionnels et les appels de procédures.
Les programmes qui composent le système d'exploitation assurent la gestion des ressources
(processeur, mémoire, E/S) et font la liaison entre les programmes d'application.
1.4.3 Architecture et performances
Temps d'exécution
Durée d'exécution d'un programme (heure début heure fin) = temps passé par l'UC pour exécuter
effectivement le programme (temps UC utilisateur) + temps passé pour exécuter des programmes du
système d'exploitation + attente des résultats d'opérations d'E/S + temps passé pour exécuter d'autres
programmes (fonctionnement "temps partagé", time-sharing).
Périodes d'horloge par instruction (clock Cycles Per Instruction, CPI) :
CPI =temps UC utilisateur (en périodes d'horloge)
nombre d'instructions du programme
.
Temps UC utilisateur = (période horloge) × (CPI) × (nombre instructions du programme).
Réduction du temps UC utilisateur :
1° augmentation de la fréquence de l'horloge (amélioration de la technologie, simplification des
circuits) ;