Une architecture minimisant les échanges entre processeur et mémoire
Abstract
Dans une architecture de von Neumann, les échanges de données représentent le gros de l'éner-gie dépensée. Or le processeur communique avec la mémoire au moyen d'un bus d'adresse et d'un bus de données de grandes tailles (entre 8 et 64 bits). Cette granularité contraint ces échanges, et en particulier l'encodage des instructions du processeur. Cet article étudie ce qui est possible en levant cette contrainte. Il propose une architecture 64 bits dont la mémoire est adressable par bit, ce qui permet des instructions de taille arbitraire. Pour ne pas devoir en-voyer une adresse complète à la mémoire à chaque accès, la solution proposée est l'usage de pointeurs auto-incrémentés dupliqués dans la mémoire et le processeur. Cet article décrit aussi une expérience pédagogique réalisée à l'ENS-Lyon. Un premier jeu d'instruction a été défini en TD et son encodage choisi à la main. Ceci a permis aux étudiants d'écrire en binôme un assembleur et un simulateur, puis plusieurs milliers de lignes de programmes allant du petit noyau de calcul au jeu vidéo et à l'émulateur. Sur les traces de ces programmes, on a pu ensuite calculer un encodage optimal des instructions en fonction de leur fréquence, et les comparer à l'encodage initial. Cette étude a aussi porté sur la quantité de bits transférés entre processeur et mémoire.
Domains
Hardware Architecture [cs.AR]Origin | Files produced by the author(s) |
---|
Loading...