330 likes | 424 Views
4. 3. Pile de données. Fonctionnement d’une machine à pile :. Deux notions fondamentales Push Empiler Pop Dépiler. Push 5. 4. 3. Pile de données. Fonctionnement d’une machine à pile :. Deux notions fondamentales Push Empiler Pop Dépiler. 5. Pop. 4. 3.
E N D
4 3 Pile de données Fonctionnement d’une machine à pile : Deux notions fondamentales Push Empiler Pop Dépiler
Push 5 4 3 Pile de données Fonctionnement d’une machine à pile : Deux notions fondamentales Push Empiler Pop Dépiler 5
Pop 4 3 Pile de données Fonctionnement d’une machine à pile : Deux notions fondamentales Push Empiler Pop Dépiler 5
Avantages / Inconvénients • Avantages • Opérations très simples • Diminue la taille des instructions binaires (plus de référence à des registres) • Inconvenients • Utilisations d’un élément en bas de la pile dépiler toute la pile. • Obligation de recopier les éléments sur le haut de la pile pour les utiliser plusieurs fois.
Pop 4 3 Pile de données Fonctionnement d’une machine à pile : Deux notions fondamentales Push Empiler Pop Dépiler
Jeux d’instructions de la machine D’un langage haut niveaux aux jeux d’instructions de la machine Langage de programmation A=3+1 B=4+5 C=A+B BIPUSH 3 #A=3+1 BIPUSH 1 IADD ISTORE A BIPUSH 4 #B=4+5 BIPUSH 5 IADD ISTORE B ILOAD A #C=A+B ILOAD B IADD ISTORE C
Exemples d’exécution d’un programme Pile de données BIPUSH 3 BIPUSH 1 IADD ISTORE A BIPUSH 4 BIPUSH 5 IADD ISTORE B ILOAD A ILOAD B IADD ISTORE C 3 Mémoire A=? B =? C =?
Exemples d’exécution d’un programme Pile de données BIPUSH 3 BIPUSH 1 IADD ISTORE A BIPUSH 4 BIPUSH 5 IADD ISTORE B ILOAD A ILOAD B IADD ISTORE C 1 3 Mémoire A=? B =? C =?
Exemples d’exécution d’un programme Pile de données BIPUSH 3 BIPUSH 1 IADD ISTORE A BIPUSH 4 BIPUSH 5 IADD ISTORE B ILOAD A ILOAD B IADD ISTORE C 1 3 Mémoire A=? B =? C =?
Exemples d’exécution d’un programme 1 Pile de données BIPUSH 3 BIPUSH 1 IADD ISTORE A BIPUSH 4 BIPUSH 5 IADD ISTORE B ILOAD A ILOAD B IADD ISTORE C 3 Mémoire A=? B =? C =?
Exemples d’exécution d’un programme 1 3 Pile de données BIPUSH 3 BIPUSH 1 IADD ISTORE A BIPUSH 4 BIPUSH 5 IADD ISTORE B ILOAD A ILOAD B IADD ISTORE C Mémoire A=? B =? C =?
Exemples d’exécution d’un programme 1 3 Pile de données BIPUSH 3 BIPUSH 1 IADD ISTORE A BIPUSH 4 BIPUSH 5 IADD ISTORE B ILOAD A ILOAD B IADD ISTORE C 4 Mémoire A=? B =? C =?
Exemples d’exécution d’un programme Pile de données BIPUSH 3 BIPUSH 1 IADD ISTORE A BIPUSH 4 BIPUSH 5 IADD ISTORE B ILOAD A ILOAD B IADD ISTORE C 4 Mémoire A=? B =? C =?
Exemples d’exécution d’un programme Pile de données BIPUSH 3 BIPUSH 1 IADD ISTORE A BIPUSH 4 BIPUSH 5 IADD ISTORE B ILOAD A ILOAD B IADD ISTORE C Mémoire A=4 B =? C =?
Exemples d’exécution d’un programme Pile de données BIPUSH 3 BIPUSH 1 IADD ISTORE A BIPUSH 4 BIPUSH 5 IADD ISTORE B ILOAD A ILOAD B IADD ISTORE C 4 Mémoire A=4 B =? C =?
Exemples d’exécution d’un programme Pile de données BIPUSH 3 BIPUSH 1 IADD ISTORE A BIPUSH 4 BIPUSH 5 IADD ISTORE B ILOAD A ILOAD B IADD ISTORE C 5 4 Mémoire A=4 B =? C =?
Exemples d’exécution d’un programme Pile de données BIPUSH 3 BIPUSH 1 IADD ISTORE A BIPUSH 4 BIPUSH 5 IADD ISTORE B ILOAD A ILOAD B IADD ISTORE C 5 4 Mémoire A=4 B =? C =?
Exemples d’exécution d’un programme 5 Pile de données BIPUSH 3 BIPUSH 1 IADD ISTORE A BIPUSH 4 BIPUSH 5 IADD ISTORE B ILOAD A ILOAD B IADD ISTORE C 4 Mémoire A=4 B =? C =?
Exemples d’exécution d’un programme 5 4 Pile de données BIPUSH 3 BIPUSH 1 IADD ISTORE A BIPUSH 4 BIPUSH 5 IADD ISTORE B ILOAD A ILOAD B IADD ISTORE C Mémoire A=4 B =? C =?
Exemples d’exécution d’un programme 5 4 Pile de données BIPUSH 3 BIPUSH 1 IADD ISTORE A BIPUSH 4 BIPUSH 5 IADD ISTORE B ILOAD A ILOAD B IADD ISTORE C 9 Mémoire A=4 B =? C =?
Exemples d’exécution d’un programme Pile de données BIPUSH 3 BIPUSH 1 IADD ISTORE A BIPUSH 4 BIPUSH 5 IADD ISTORE B ILOAD A ILOAD B IADD ISTORE C 9 Mémoire A=4 B =? C =?
Exemples d’exécution d’un programme Pile de données BIPUSH 3 BIPUSH 1 IADD ISTORE A BIPUSH 4 BIPUSH 5 IADD ISTORE B ILOAD A ILOAD B IADD ISTORE C 9 Mémoire A=4 B =? C =?
Exemples d’exécution d’un programme Pile de données BIPUSH 3 BIPUSH 1 IADD ISTORE A BIPUSH 4 BIPUSH 5 IADD ISTORE B ILOAD A ILOAD B IADD ISTORE C Mémoire A=4 B =9 C =?
Exemples d’exécution d’un programme Pile de données BIPUSH 3 BIPUSH 1 IADD ISTORE A BIPUSH 4 BIPUSH 5 IADD ISTORE B ILOAD A ILOAD B IADD ISTORE C 4 Mémoire A=4 B =9 C =?
Exemples d’exécution d’un programme Pile de données BIPUSH 3 BIPUSH 1 IADD ISTORE A BIPUSH 4 BIPUSH 5 IADD ISTORE B ILOAD A ILOAD B IADD ISTORE C 9 4 Mémoire A=4 B =9 C =?
Exemples d’exécution d’un programme Pile de données BIPUSH 3 BIPUSH 1 IADD ISTORE A BIPUSH 4 BIPUSH 5 IADD ISTORE B ILOAD A ILOAD B IADD ISTORE C 9 4 Mémoire A=4 B =9 C =?
Exemples d’exécution d’un programme 9 Pile de données BIPUSH 3 BIPUSH 1 IADD ISTORE A BIPUSH 4 BIPUSH 5 IADD ISTORE B ILOAD A ILOAD B IADD ISTORE C 4 Mémoire A=4 B =9 C =?
Exemples d’exécution d’un programme 9 4 Pile de données BIPUSH 3 BIPUSH 1 IADD ISTORE A BIPUSH 4 BIPUSH 5 IADD ISTORE B ILOAD A ILOAD B IADD ISTORE C Mémoire A=4 B =9 C =?
Exemples d’exécution d’un programme 9 4 Pile de données BIPUSH 3 BIPUSH 1 IADD ISTORE A BIPUSH 4 BIPUSH 5 IADD ISTORE B ILOAD A ILOAD B IADD ISTORE C 13 Mémoire A=4 B =9 C =?
Exemples d’exécution d’un programme Pile de données BIPUSH 3 BIPUSH 1 IADD ISTORE A BIPUSH 4 BIPUSH 5 IADD ISTORE B ILOAD A ILOAD B IADD ISTORE C 13 Mémoire A=4 B =9 C =?
Exemples d’exécution d’un programme Pile de données BIPUSH 3 BIPUSH 1 IADD ISTORE A BIPUSH 4 BIPUSH 5 IADD ISTORE B ILOAD A ILOAD B IADD ISTORE C 13 Mémoire A=4 B =9 C =?
Exemples d’exécution d’un programme Pile de données BIPUSH 3 BIPUSH 1 IADD ISTORE A BIPUSH 4 BIPUSH 5 IADD ISTORE B ILOAD A ILOAD B IADD ISTORE C Mémoire A=4 B =9 C =13