En informatique, les contraintes d'alignement en mémoire limitent à certains multiples d'adresse mémoire, où certaines données et instructions machine peuvent être enregistrées. En outre, les optimisations d'alignement mémoire permettent d'influencer la vitesse d'exécution d'un programme uniquement en choisissant bien les adresses. Pour augmenter leurs performances, les processeurs sont souvent reliés à la mémoire vive par un bus de données plus large que la granularité de leur adressage : par exemple un processeur est capable d'adresser individuellement des octets (8 bits), relié à la mémoire par un bus de (32 bits). Si une donnée de ne se trouve pas à une adresse divisible par 4, alors, selon le modèle de processeur, il y a : violation de contrainte : une erreur d'alignement interrompt l'exécution des instructions ; alignement non optimal : deux fois bien alignés sont lus, puis les mal alignés sont extraits de ces , ce qui prend bien plus de temps que lire bien alignés. La règle généralement applicable pour qu'une donnée soit bien alignée, est qu'elle se trouve à une adresse divisible par sa taille. Ainsi, une donnée occupant un seul octet est toujours bien alignée, une donnée de deux octets est bien alignée si elle est à une adresse paire, une donnée de est bien alignée si elle est à une adresse divisible par 4, etc. Toutefois, la contrainte d'alignement n'excède pas le matériel sous-jacent. Les contraintes d'alignement en mémoire dépendent de l'architecture du processeur. L'optimisation de l'alignement est plus subtil, car il peut dépendre de la mémoire cache du processeur, de la pagination de la mémoire virtuelle, et autres caractéristiques de l'accès à la mémoire. Certains compilateurs permettent d'influencer l'alignement des données. Les processeurs RISC n'ont généralement qu'une seule taille d'instruction machine, et ces instructions doivent être bien alignées. En revanche, les processeurs CISC ont des instructions de tailles variables.

À 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.

Graph Chatbot

Chattez avec Graph Search

Posez n’importe quelle question sur les cours, conférences, exercices, recherches, actualités, etc. de l’EPFL ou essayez les exemples de questions ci-dessous.

AVERTISSEMENT : Le chatbot Graph n'est pas programmé pour fournir des réponses explicites ou catégoriques à vos questions. Il transforme plutôt vos questions en demandes API qui sont distribuées aux différents services informatiques officiellement administrés par l'EPFL. Son but est uniquement de collecter et de recommander des références pertinentes à des contenus que vous pouvez explorer pour vous aider à répondre à vos questions.