Fonctionnement d’une machine à pile :

Slides:



Advertisements
Présentations similaires
sont des registres 32 bits
Advertisements

Chapitre annexe. Récursivité
Construisons le contrôleur Que faut-il que le contrôleur fasse pour : Charger une instruction ? Exécuter une instruction Bipush Exécuter une instruction.
Architecture de machines Le microprocesseur
Fonctionnement de l'unité centrale (rappels ? de 1ère Année)
Algorithmique et Programmation DEUG 2 Sciences Economiques 2004/2005
Algorithmique et Programmation
Structures de données et complexité
Structures de données et complexité LIFO – FILO – FIFO – etc…
Introduction à l’Algorithmique
18 octobre 2007Cours de compilation 7 - Intranet1 Cours de compilation Génération de code Optimisation de code.
Jacques Lonchamp IUT Nancy Charlemagne – DUT Informatique 1A
Objectif de l’exposé.
Assembleur
La pile un élément essentiel
Hiérarchie mémoire Contrôle Entrées Mémoire Chemin de données Sorties.
Exemple chargement dune instruction 3 0x00 0xXX 0x05 0x00 0x04 Addr Alu JM 4 to 16 Decoder High Bit C B MPC B Bus C Bus Memory control signals.
Exemple chargement dune instruction 3 0x00 0xXX 0x05 0x00 0x04 Addr Alu JM 4 to 16 Decoder High Bit C B MPC B Bus C Bus Memory control signals.
Les structures de données
Architecture de machines Le microprocesseur
Système d’exploitation : Assembleur
PILE voir l'animation: Diaporama / Visualiser ...
Cours Systèmes logiques
ARCHITECTURE GLOBALE CAPTAGE Traitement DES des données GRANDEURS
Cours algorithme 2 S. Tabbone.
Initiation à la programmation et algorithmique
Structures de données linéaires
Architecture de base d’un ordinateur
Les piles Djamal Rebaïne.
Les éléments de base de l’algorithmique
II. Chaînage, SDD séquentielles
CSI3525: Concepts des Langages de Programmation Notes # 12: Implementation des Sous-Programmes ( Lire Chapitre 9 )
Cours 8 5. Appels de fonctions Le matériel Concepts de pile
Système d’exploitation : Assembleur
B.Shishedjiev - Informatique
Quest-ce quune classe dallocation? Une classe dallocation détermine la portée et la durée de vie dun objet ou dune fonction.
Système d’exploitation : Assembleur
Mesurer l’efficacité des algorithmes
Principes de programmation (suite)
Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France Introduction à Perl.
Architecture et technologie des ordinateurs II
Structures de données IFT-10541
Structures de données IFT-2000 Abder Alikacem La récursivité Semaine 5 Département dinformatique et de génie logiciel Édition Septembre 2009.
Structures de données IFT-2000 Abder Alikacem La récursivité Département d’informatique et de génie logiciel Édition Septembre 2009.
Les bases de l’assembleur
Cours Architecture des Systèmes Informatiques
LES PILES ET FILES.
ALGORITHMIQUE ET PROGRAMMATION C
3-Présentation d’un µP simple
Chaînage et LSC : motivation et principe Manipuler la LSC : exemples Variantes : LDC, liste circulaire, … Etude de cas : réalisation d’un buffer clavier.
Les Machines RAM.
ETNA – 1ème année Guillaume Belmas –
9 décembre 2014J.Callot L.Piedfort1 Chapitre_4 K60 Caches MMU.
1. Ook Christophe Delagarde, septembre 1999 I.U.T., Université de la Méditerrainée 2.
Exécution d ’un programme en 6809: Présentation du programme
1. Spoon Christophe Delagarde, septembre 1998 I.U.T., Université de la Méditerrainée 2.
La récursivité Mireille Goud HEG Vd AlgSD - Résurisivité.
UE MAREP Cours 12 : Révisions
UE MAREP Cours 8 : La pile d’exécution (Fonctions imbriquées et fonctions récursives) Patricia Renault UPMC 2005/2006.
Patricia Renault UPMC 2005/2006
Patricia Renault UPMC 2005/2006
Exemple chargement d’une instruction 3 0x00 0xXX 0x00 Addr Alu JM 4 to 16 Decoder High Bit C B MPC B Bus C Bus Memory control signals (rd,wr,fetch)
Génération de simulateurs de jeux d’instructions compilés Ronan AMICEL IRISA / Equipe CAPS.

1.1: notions de bases de l’informatique
CHAPITRE 10 Les sous-programmes 1. Sous-programme Suite d’instructions appelée de manière répétitive Par un programme Par plusieurs programmes distincts.
Chaînage et LSC : motivation et principe Manipuler la LSC : exemples Variantes : LDC, liste circulaire, … Etude de cas : réalisation d’un buffer clavier.
L'exécution d'un programme nécessite l'utilisation des ressources de l'ordinateur : temps de calcul pour exécuter les opérations, et l'occupation de la.
Étapes pour la Programmation du 68HC11 I. Écriture du programme dans un fichier *.a11 II. Le programme est compilé (traduit en langage machine) III. Le.
ALGORITHME ET PROGRAMMATION RÉVISION Informatique et Sciences du Numérique.
Transcription de la présentation:

Fonctionnement d’une machine à pile : Deux notions fondamentales Push  Empiler Pop  Dépiler Pile de données 3 4

Fonctionnement d’une machine à pile : Deux notions fondamentales Push  Empiler Pop  Dépiler Push 5 Pile de données 3 4 5

Fonctionnement d’une machine à pile : Deux notions fondamentales Push  Empiler Pop  Dépiler Pop Pile de données 3 4 5

Avantages / Inconvénients 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.

Fonctionnement d’une machine à pile : Deux notions fondamentales Push  Empiler Pop  Dépiler Pop Pile de données 3 4

Présentation du jeux d’instructions HEX Mnemonic Signification 0x10 BIPUSH byte Empile un byte dans la pile. 0x60 IADD Dépile deux word et empile la somme de ces deux word en un word 0x64 ISUB Dépile deux word et empile la différence de ces deux word en un word 0x15 ILOAD num variable Empile la variable locale. 0x36 ISTORE num variable Dépile un word et le stocke dans les variables locales …

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 ISTORE B ILOAD A #C=A+B ILOAD B ISTORE C

Exemples d’exécution d’un programme Pile de données BIPUSH 3 BIPUSH 1 IADD ISTORE A BIPUSH 4 BIPUSH 5 ISTORE B ILOAD A ILOAD B 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 ISTORE B ILOAD A ILOAD B 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 ISTORE B ILOAD A ILOAD B 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 ISTORE B ILOAD A ILOAD B 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 ISTORE B ILOAD A ILOAD B 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 ISTORE B ILOAD A ILOAD B 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 ISTORE B ILOAD A ILOAD B 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 ISTORE B ILOAD A ILOAD B 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 ISTORE B ILOAD A ILOAD B 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 ISTORE B ILOAD A ILOAD B 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 ISTORE B ILOAD A ILOAD B 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 ISTORE B ILOAD A ILOAD B 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 ISTORE B ILOAD A ILOAD B 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 ISTORE B ILOAD A ILOAD B 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 ISTORE B ILOAD A ILOAD B 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 ISTORE B ILOAD A ILOAD B 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 ISTORE B ILOAD A ILOAD B 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 ISTORE B ILOAD A ILOAD B 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 ISTORE B ILOAD A ILOAD B 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 ISTORE B ILOAD A ILOAD B 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 ISTORE B ILOAD A ILOAD B 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 ISTORE B ILOAD A ILOAD B 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 ISTORE B ILOAD A ILOAD B 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 ISTORE B ILOAD A ILOAD B 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 ISTORE B ILOAD A ILOAD B 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 ISTORE B ILOAD A ILOAD B ISTORE C Mémoire A=4 B =9 C =13