Concept

Fenêtre de registres

Résumé
En architecture des ordinateurs, les fenêtres de registres constituent une technique pour améliorer la performance des appels de fonctions. Elles ont été utilisées pour la première fois dans les processeurs RISC de Berkeley, qui sont à l'origine des architectures SPARC, AMD 29000 et Intel i960. La plupart des processeurs ont un petit nombre de mémoires très rapides appelées registres. Les processeurs utilisent les registres afin de stocker temporairement des valeurs lors de l'exécution des suites d'instructions. L'augmentation du nombre de registres dans la conception initiale du processeur peut donner lieu à des gains de performances très importants. Bien que les registres soient un facteur de performance, ils présentent également des inconvénients. Les différentes parties d'un programme informatique utilisent chacune leurs propres valeurs temporaires, et par conséquent veulent toutes utiliser les registres. La bonne compréhension du déroulement de l'exécution d'un programme étant très difficile, il n'existe pas de méthode simple qui permette au développeur de savoir à l'avance combien de registres chaque partie de programme devrait utiliser. En règle générale, les considérations de ce genre sont tout simplement ignorées : les développeurs et encore plus probablement les compilateurs qu'ils utilisent essaient d'utiliser tous les registres visibles. C'est d'ailleurs la seule bonne façon de procéder dans le cas où le processeur utilisé dispose de peu de registres. C'est alors qu'entrent en jeu les fenêtres de registres. Puisque chaque partie du programme aimerait disposer des registres pour elle seule, il suffit alors de fournir plusieurs ensembles de registres distincts aux différentes parties du programme. Le problème, c'est que si tous les registres sont visibles, alors une partie va vouloir utiliser des registres qui ne font pas partie de l'ensemble des registres qu'elle s'est vu attribuer. L'astuce est donc de rendre invisible pour elle tous les registres qui n'appartiennent pas à son ensemble de registres.
À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.