Fenêtre de registres

Fenêtre de registres

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 utilise 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 vue attribuée. L'astuce est donc de rendre invisible pour elle tous les registres qui n'appartiennent pas à son ensemble de registres.

Ainsi, dans la conception du RISC de Berkeley, les programmes ne voient que 8 registres sur un total de 64. L'ensemble complet des registres constitue un banc de registres, et chaque sous-ensemble de 8 registres une fenêtre. De cette manière, il peut y avoir jusqu'à 8 appels de fonctions qui ont leur propre ensemble de 8 registres chacune. Si le programme ne présente pas d'appels de fonctions imbriqués dont la profondeur dépasse 8, le processeur n'a alors pas besoin de décharger les registres, c'est-à-dire de les sauvegarder en mémoire centrale ou en cache, des mémoires dont les temps d'accès sont extrêmement lents comparés à celui des registres. Notons d'ailleurs que des études statistiques sur des programmes tels des systèmes d'exploitation ou des applications réelles ont montré que la profondeur maximale d'appels imbriqués est en moyenne de 8 et qu'une profondeur plus importante ne se rencontre que dans 1 % des cas[1].

Voir aussi

Références


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Fenêtre de registres de Wikipédia en français (auteurs)

Игры ⚽ Нужна курсовая?

Regardez d'autres dictionnaires:

  • UltraSPARC IIi — Processeur UltraSPARC IIi L UltraSPARC IIi, successeur de l UltraSPARC, est un microprocesseur 64 bits de Sun Microsystems dont la distribution commença en 1997. L UltraSPARC IIi est basé sur les spécifications SPARC version 9, et équipe… …   Wikipédia en Français

  • OllyDbg — Développeur Oleh Yuschuk Dernière version 2.00 ( …   Wikipédia en Français

  • Ollydbg — Développeur Oleh Yuschuk Dernière version …   Wikipédia en Français

  • Registre (informatique) — Pour les articles homonymes, voir Registre. Un registre est un emplacement de mémoire interne à un processeur. Les registres se situent au sommet de la hiérarchie mémoire : il s agit de la mémoire au meilleur temps d accès, mais dont le coût …   Wikipédia en Français

  • Registre de processeur — Registre (informatique) Pour les articles homonymes, voir Registre. En architecture des ordinateurs, un registre est un emplacement de mémoire interne à un processeur. Les registres se situent au sommet de la hiérarchie mémoire : il s agit… …   Wikipédia en Français

  • Buffet d'orgue — Orgue Pour les articles homonymes, voir Orgue (homonymie). Grandes orgues de l …   Wikipédia en Français

  • Facteur d'orgues — Orgue Pour les articles homonymes, voir Orgue (homonymie). Grandes orgues de l …   Wikipédia en Français

  • L'orgue — Orgue Pour les articles homonymes, voir Orgue (homonymie). Grandes orgues de l …   Wikipédia en Français

  • Orgues — Orgue Pour les articles homonymes, voir Orgue (homonymie). Grandes orgues de l …   Wikipédia en Français

  • ORGUE — Premier en date des instruments mécanisés, l’orgue est une machine qui suit, au cours d’une histoire de près de vingt trois siècles, le progrès des techniques en matière de soufflerie, d’acoustique, de transmission de mouvements, d’électricité,… …   Encyclopédie Universelle

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”