Les modes d'adressage sont un aspect de l'architecture des processeurs et de leurs jeux d'instructions. Les modes d'adressage définis dans une architecture régissent la façon dont les instructions en langage machine identifient leurs opérandes. Un mode d'adressage spécifie la façon dont est calculée l'adresse mémoire effective d'un opérande à partir de valeurs contenues dans des registres et de constantes contenues dans l'instruction ou ailleurs dans la machine.
En programmation informatique, les personnes concernées par les modes d'adressage sont principalement celles qui programment en assembleur et les auteurs de compilateurs.
L'adresse de la prochaine instruction à exécuter est contenue dans un registre spécial du processeur, appelé compteur ordinal (souvent noté IP, initiales de l'anglais instruction pointer) ou compteur de programme. Les instructions de branchement (ou de saut) visent à modifier la valeur du compteur ordinal. Cette valeur est l'adresse effective de l'instruction de branchement ; elle est calculée différemment selon le mode d'adressage choisi.
En adressage absolu, l'adresse de destination est donnée dans l'instruction ; on peut donc se rendre n'importe où dans la mémoire (programme). Au moment du branchement, le contenu du pointeur de programme est remplacé par l'adresse en question (si le branchement concerne un sous-programme, on sauvegarde le contenu du pointeur de programme).
Comme de nombreux branchements s'effectuent vers des adresses mémoire proches de l'endroit où l'on se trouve au moment d'exécuter le branchement, on peut se contenter d'indiquer un décalage par rapport à l'adresse de la prochaine instruction. Par exemple si l'on exécute du code à l'adresse 0x42 et que l'on veut brancher 8 octets plus loin, on peut simplement indiquer +8 pour brancher à 0x4A au lieu d'indiquer cette adresse complète.
Ce mode d'adressage a deux avantages comparé au mode d'adressage absolu. Premièrement, il diminue la quantité de mémoire utilisée par le programme.
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.
Multiprocessors are a core component in all types of computing infrastructure, from phones to datacenters. This course will build on the prerequisites of processor design and concurrency to introduce
Microcontrôleurs et conception de systèmes numériques couvre le fonctionnement interne d'un microcontrôleur, des notions de base d'architecture de processeur et de système informatique ainsi que les i
Microcontrôleurs couvre le fonctionnement interne d'un microcontrôleur, des notions de base d'architecture de processeur et de système informatique ainsi que les interfaces de microcontrôleurs, et pro
Un ordinateur à un jeu d'instruction unique (one-instruction set computer, OISC), parfois appelé processeur à jeu d'instructions réduit ultime (ultimate reduced instruction set computer URISC), est une machine abstraite qui n'utilise qu'une seule instruction évitant le besoin d'un code opération en langage machine. Avec un choix judicieux pour l'instruction unique et des ressources infinies, un OISC est capable d'être un ordinateur universel de la même manière que les ordinateurs traditionnels qui ont plusieurs instructions.
En architecture informatique, un mot est une unité de base manipulée par un microprocesseur. On parle aussi de mot machine. La taille d’un mot s’exprime en bits, parfois même en octets. Elle est souvent utilisée pour classer les microprocesseurs (, ). Toutes choses étant égales par ailleurs, un microprocesseur est d’autant plus rapide que ses mots sont longs, car les données qu'il traite à chaque cycle sont plus importantes.
Un code automodifiable est, en programmation informatique, un programme qui peut se modifier lui-même, c’est-à-dire appeler des routines, fonctions ou méthodes qui seront créées par le programme lui-même. En dehors de l'idée, qui relève pour le moment de la fiction, d'un robot qui modifierait lui-même sa finalité, l'utilisation la plus courante du code automodifiable est l'optimisation de la vitesse d'exécution d'un programme : par exemple un interpréteur peut analyser le code source qu'il est en train d'exécuter, se rendre compte qu'une fonction est appelée fréquemment, et en réaliser à la volée une version compilée, qui sera exécutée plus rapidement.
This course covers the principles and practices of radio astronomical observations, in particular with modern interferometers. Topics range from radio telescope technology to the measurement equation
Explore les entrées et sorties dans les systèmes informatiques, couvrant les périphériques, les modes d'adressage, les convertisseurs A/D, les interruptions et les DMA.
Point clouds allow for the representation of 3D multimedia content as a set of disconnected points in space. Their inher- ent irregular geometric nature poses a challenge to efficient compression, a critical operation for both storage and trans- mission. T ...
2024
We live in an era defined by attempts to grapple with an ever-expanding array of grand societal challenges (GCs). These challenges comprise transformational social and environmental issues, such as environmental degradation and global pandemics, and the cr ...
EPFL2023
Membrane technology is a growing tool for contaminants removal from polluted water. Although various types of polymeric membranes have been developed for water remediation, the common drawbacks like fouling, hydrophobicity and low mechanical strength are y ...