Les Machines RAM
Plan Introduction Structure d’une machine RAM Instructions élémentaires d’une machine RAM Exécution d’une machine RAM Conclusion
Introduction 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) 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
Structure d’une machine RAM Une machine RAM est constitué: d’ un ensemble infini de registres indexés par des entiers, tel que : Le plus petit registre est l’accumulateur Chaque registre peut contenir un entier de taille arbitraire
Une machine RAM accumulateur r1 r2 r3
Instructions élémentaires d’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 5- Instruction de test à 0 Si ri=0 alors A sinon B où A et B sont des ensembles d’instructions 6- Instruction d’initialisation des registres 7- Instruction d’arrêt Stop
Exécution 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.
Exemple Load 2 Store 1 Load 4 Add Stop Programme RAM qui fait la somme des registres r4 et r2
Conclusion 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 RAC: Random Access Computer Les registres sont de taille finie mais la mémoire reste infinie RAP: Random Access Page C’est une machine RAC où la mémoire est finie limitée à M registres