« Fonctionnement d'un ordinateur/Les jeux d'instructions » : différence entre les versions

m
====Les instructions des machines à pile====
 
Ces jeux d’instructions ont des instructions pour ajouter des opérandes dans la FIFO/LIFO ou en retirer. Dans ce qui va suivre, nous allons prendre l'exemple d'une machine à pile, mais il existe des équivalents pour les machines à file. Dans les grandes lignes, il y a deux instructions principales, unenommées dPUSH et POP pour l'ajout et une dele retrait d'opérandes dans la pile, ainsi que quelques instructions annexes sur certaines machines. Les machines à file possèdent des instructions équivalentes, à savoir deux instructions Queue et Unqueue pour ajouter ou retirer une opérande dans la file, ainsi que quelques instructions annexes. Voici les deux instructions principales de gestion de la pile, présentes sur toutes les architectures à pile :
 
* L'instruction PUSH permet d'empiler une donnée. Elle prend l'adresse de la donnée à empiler, charge la donnée, et met à jour le stack pointer.
|}
 
===Les modes d'adressage des machines à pile/file===
Les machines à pile que je viens de décrire ne peuvent manipuler que des données sur la pile : ces machines à pile sont ce qu'on appelle des '''machines à zéro adresse'''. Avec une telle architecture, les instructions sont très petites, car il n'y a pas besoin de bits pour indiquer la localisation des données dans la mémoire, sauf pour POP et PUSH. Toutefois, certaines machines à pile plus évoluées autorisent certaines instructions à préciser l'adresse mémoire d'un (voire plusieurs, dans certains cas) de leurs opérandes. Ces machines sont appelées des '''machines à pile à une adresse'''.
 
Les machines à pile que je viens de décrire ne peuvent manipuler que des données sur la pile : ces machines à pile sont ce qu'on appelle des '''machines à zéro adresse'''. Avec une telle architecture, les instructions sont très petites, car il n'y a pas besoin de bits pour indiquer la localisation des données dans la mémoire, sauf pour POP et PUSH. Toutefois, certaines machines à pile plus évoluées autorisent certaines instructions à préciser l'adresse mémoire d'un (voire plusieurs, dans certains cas) de leurs opérandes. Ces machines sont appelées des '''machines à pile à une adresse'''.
En théorie, les instructions qui manipulent des opérandes ne peuvent qu’accéder aux instructions au sommet de la pile, ou la fin de la file. Ces opérandes sont retirées de la pile par l'instruction et le résultat est placé au sommet de la pile. C'est du moins le cas sur les machines à pile dites "pures", mais d'autres architectures ne fonctionnent pas ainsi. Avec elles, il est possible de préciser la position dans la pile des opérandes à utiliser. Une instruction peut donc indiquer qu'elle veut utiliser les opérandes situées 2, 3 ou 5 cases sous le sommet de la pile. Si les opérandes sélectionnées ne sont pas toujours retirées de la pile (tout dépend de l'architecture), le résultat est lui toujours placé au sommet de la pile. Les opérandes se déplacent donc bizarrement dans ce genre d'architectures. Ces jeux d'instruction n'utilisent pas la pile comme une mémoire LIFO, ce qui lui vaut le nom d'architecture à pseudo-pile.
 
En théorie, les instructions qui manipulent des opérandes ne peuvent qu’accéder aux instructions au sommet de la pile, ou la fin de la file. Ces opérandes sont retirées de la pile par l'instruction et le résultat est placé au sommet de la pile. C'est du moins le cas sur les machines à pile dites "pures", mais d'autres architectures ne fonctionnent pas ainsi. Avec elles, il est possible de préciser la position dans la pile des opérandes à utiliser. Une instruction peut donc indiquer qu'elle veut utiliser les opérandes situées 2, 3 ou 5 cases sous le sommet de la pile. Si les opérandes sélectionnées ne sont pas toujours retirées de la pile (tout dépend de l'architecture), le résultat est lui toujours placé au sommet de la pile. Les opérandes se déplacent donc bizarrement dans ce genre d'architectures. Ces jeux d'instruction n'utilisent pas la pile comme une mémoire LIFO, ce qui lui vaut le nom d'architecture à pseudo-pile. Il existe un équivalent pour les machines à file, qui portent encore une fois le nom de machines à file "impures" ou à pseudo-file.
Les machines à file fonctionnent sur un principe assez similaire aux machines à pile. On trouve deux instructions Queue et Unqueue pour ajouter ou retirer une opérande dans la file, ainsi que quelques instructions annexes. Là encore, on trouve des machines à file impures, ou à pseudo-file, sur lesquelles chaque instruction précise la position des opérandes à manipuler.
 
====Avantages et désavantages====
41 148

modifications