Bonjour
Le décompte de bouclage est une difficulté pour un non spécialiste.
Le plus simple (et le plus sûr) est de prendre un papier et un crayon et de décomposer l'exécution "à la main", en prenant bien sûr une petite valeur pour le compteur de boucle.
Par exemple si on prend 3 comme valeur initiale on aura:
1 2 3 4 5 6 7 8 9
| Ligne
10 MOV AX, Tempo (Initialisation du compteur AX à 3)
11 Boucle: (1er passage), AX passe à 2
12 AX non à 0, on saute ligne 11
11 Boucle: (2ème passage), AX passe à 1
12 AX non à 0, on saute ligne 11
11 Boucle: (3ème passage), AX passe à 0
12 AX à 0, pas de saut, on continue ligne 13
13 MOV ... etc. |
Conclusion pour Tempo = 3 on aura 3 passages ligne 11 et trois passages ligne 12 dont 2 fois avec
saut réalisé et la troisième fois avec saut
non réalisé.
On constatera que, pour ces deux lignes, le nombre d'exécutions est
égal à la valeur initiale du compteur et que pour la ligne 12, tous les sauts sont réalisés sauf le dernier qui est un saut non réalisé.
Sachant que l'on a 4 cycles pour l'addition, 16 cycles pour un saut réalisé et 4 cycles pour un saut non réalisé, je te laisse le soin de faire le calcul pour une valeur initiale de 256.
Je ne sais pas si tu effectue ce travail à titre de simple exercice ou dans le cadre d'une activité professionelle concrète, mais dans le second cas, sache que ce genre de calcul ne vaut que pour les microprocesseurs ancien comme le 8086 ou 8088.
Les techniques utilisées dans les processeurs modernes, telles que exécution parallelisée, pipelinage, prédiction de branchement, et j'en passe, influent considérablement sur les performances.
D'ailleurs dans ces processeurs d'architecture RISC, la plupart des instructions de base s'exécutent en un seul cycle d'horloge (interne), ce qui donne prépondérance à d'autres considérations telles que proportion de cycles d'accès mémoire, alignement des données, etc.
Par conséquent le calcul du temps d'exécution par décompte de cycles risque de s'écarter considérablement de la réalité et doit plutot être considéré comme un exercice d'école.
Partager