Les Machines RAM
Plan
Introduction
Structure d’une machine RAM
Instructions élémentaires d’une machine RAM Exécution d’une machine
RAM Conclusion
Les machines RAM (Random Access Machine) ou machines à accès aléatoire sont un modèle de calcul plus proche de la machine réelle
Les Machines de Turing (MT) ne permettent pas l’accès à un élément (d’un tableau par exemple) en un temps constant (déplacement séquentiel sur le ruban)
Introduction
Une machine RAM est constitué:
d’ un ensemble infini de registres indexés par des entiers, tel que :
• Chaque registre peut contenir un entier de taille arbitraire
• Le plus petit registre est l’accumulateur Structure d’une machine RAM
accumulateur r1
r2 r3
Une machine RAM
1- Déplacer le contenu de n’importe quel registre vers l’accumulateur
Load ri
2- Déplacer le contenu de l’accumulateur vers n’importe quel registre
Store ri
Instructions élémentaires d’une machine RAM
3- Instructions pour réaliser des opérations arithmétiques (+,-,*,division, décalage)
4- Instructions pour réaliser des opérations logiques ( , )
Les deux entrées des opérations se trouvent dans l’accumulateur et le 1er registre et le résultat est dans l’accumulateur
Instructions élémentaires d’une machine RAM
où A et B sont des ensembles d’instructions 6- Instruction d’initialisation des registres
7- Instruction d’arrêt Stop
5- Instruction de test à 0
Si ri=0 alors A sinon B
Instructions élémentaires d’une machine RAM
Un programme RAM est une séquence finie d’instructions.
L’entrée du programme est codée dans les différents registres.
Le programme exécute les instructions jusqu’à l’instruction Stop.
Le résultat du programme se trouve alors dans l’accumulateur.
Exécution d’une machine RAM
Exemple
Load 2 Store 1 Load 4 Add
Stop
Programme RAM qui fait la somme des registres
Deux hypothèses des machines RAM sont en pratique irréalisables:
• La taille arbitraire des registres et
• la mémoire infinie (nombre infini de registres) Conclusion
Extensions des machines RAM
• RAP: Random Access Page
• RAC: Random Access Computer
Les registres sont de taille finie mais la mémoire reste infinie
C’est une machine RAC où la mémoire est finie limitée à M registres
Conclusion