Les modes d’adressage direct et indirect sont les deux classifications des modes d’adressage. La différence significative entre les modes d’adressage direct et indirect réside dans la manière dont les deux modes spécifient l’opérande d’une instruction. Le mode d’adressage direct propose l’adresse des données à préciser dans l’instruction elle-même. Par contre, le mode d’adressage indirect est celui qui offre l’adresse effective de l’emplacement mémoire où existent les données dans l’instruction spécifiée.
Ainsi, on peut dire que les deux modes se distinguent sur la base de leur format d’instruction pour obtenir les données sur lesquelles l’opération doit être effectuée.
Avant d’aller plus loin, comprenons-
Qu’est-ce que l’adressage ?
Nous sommes conscients du fait que chaque instruction d’un programme opère sur des données spécifiques. Et la manière dont toute instruction spécifie les données sur lesquelles l’opération souhaitée aura lieu s’appelle l’adressage. Les modes d’adressage présentent parfois des variations selon le microprocesseur impliqué dans le système.
En gros, on sait que le microprocesseur exécute l’une après l’autre l’exécution des instructions stockées dans la mémoire. Le format de l’instruction est tel qu’il contient un opcode et un opérande. L’opcode spécifie l’opération qui doit être effectuée telle que ADD, SUB, LOAD, STORE, etc. tandis que l’opérande correspond aux données sur lesquelles cette opération spécifique doit être effectuée.
Exemple: MOUVEMENT R1R2
Dans l’exemple ci-dessus, MOV est l’opération qui doit être effectuée sur les opérandes R.1 et R2.
Il convient de noter ici que l’instruction peut contenir soit l’opérande réel, soit l’adresse de l’emplacement mémoire (registre) à partir duquel les données doivent être extraites. Parfois, le champ opérande contient la référence de l’adresse où les données sont présentes. Cela différencie les différentes manières d’accéder à l’opérande. Nous verrons ici en quoi les modes d’adressage direct et indirect sont différents les uns des autres.
Contenu : Mode d’adressage direct ou indirect
- Tableau de comparaison
- Définition
- Différences clés
- Conclusion
Tableau comparatif
Base de comparaison | Mode d’adressage direct | Mode d’adressage indirect |
---|---|---|
Basique | Il contient l’adresse réelle des données. | Il contient l’adresse effective de l’emplacement mémoire où réside l’adresse réelle. |
Principe | Tout d’abord, grâce aux instructions, l’adresse est lue, puis les données sont lues. | Tout d’abord, grâce à l’instruction, l’adresse effective est lue, puis l’adresse réelle est lue et enfin les données sont obtenues. |
Rapidité de fonctionnement | Rapide | Relativement lent |
Espace d’adressage requis | Petit | Grand |
Référence mémoire | Célibataire | Double |
Classification | Aucune autre classification n’existe. | Classés en outre en deux catégories, à savoir le registre indirect et la mémoire indirecte. |
Définition du mode d’adressage direct
Il est parfois appelé mode d’adressage absolu. Type de mode d’adressage dont le champ d’opérande contient l’adresse de l’emplacement mémoire où résident les données. Ainsi, dans ce cas, une seule référence mémoire est nécessaire pour récupérer les données. Ici, afin d’obtenir l’emplacement mémoire exact des données, aucun calcul exact n’est requis. On l’appelle ainsi car ici, le champ d’opérande spécifie directement l’emplacement où les données sont présentes.
Supposons qu’une instruction soit spécifiée comme :
AJOUTER UN
Ensuite, cette instruction sera décodée de manière à obtenir l’opérande réel sur lequel l’opération doit être effectuée, il faut atteindre l’emplacement mémoire à l’adresse A.
Définition du mode d’adressage indirect
Type de mode d’adressage dont le champ d’opérande contient soit une mémoire, soit une valeur de registre où réside l’adresse de l’emplacement dans lequel existent les données sur lesquelles l’opération doit être effectuée. Ainsi, dans ce scénario, pour obtenir les données, une double référence mémoire est requise. Contrairement au mode d’adressage direct, dans ce cas, des calculs supplémentaires sont nécessaires pour obtenir les données réelles.
Considérez les instructions ci-dessous :
Exemple: AJOUTER UN
Cette instruction sera décodée car pour obtenir l’opérande d’origine, il faut accéder à l’emplacement mémoire à l’adresse A. Cependant, nous n’obtiendrons pas les données directement ici car à cette adresse particulière, une autre adresse sera présente et en atteignant cette localisation spécifique, des données de localisation seront obtenues. On l’appelle ainsi parce que l’emplacement exact doit être obtenu indirectement.
Différences clés entre les modes d’adressage direct et indirect
- Le facteur clé de différenciation entre deux modes d’adressage réside dans le façon dont l’opérande est accessible. Le mode d’adressage direct est celui dont la partie opérande contient l’adresse de l’emplacement mémoire où résident les données sur lesquelles l’opération doit être effectuée. Au contraire, le mode d’adressage indirect est celui dont la partie opérande contient l’adresse effective de l’emplacement où réside l’adresse des données réelles.
- Dans le cas du mode d’adressage direct, un seul référence de mémoire est requis car les données sont obtenues par l’adresse indiquée dans l’opérande. Par contre, dans le cas du mode d’adressage indirect, deux références mémoire sont nécessaires car les données sont présentes dans le deuxième emplacement d’adresse spécifié.
- Chaque fois qu’il est nécessaire d’accéder aux données en fonction de l’opcode spécifié, alors dans le cas du mode d’adressage direct, en atteignant simplement l’emplacement mémoire spécifié dans la partie opérande de l’instruction, on peut obtenir les données. Alors que dans le cas du mode d’adressage indirect, l’emplacement de l’adresse spécifié dans la partie opérande de l’instruction donne l’adresse de l’emplacement où résident réellement les données.
- Le mode d’adressage direct est assez plus rapide approche par rapport au mode d’adressage indirect.
- Le espace d’adressage requis par le mode d’adressage direct est inférieur à celui nécessaire dans le cas du mode d’adressage indirect.
- Le mode d’adressage direct n’a aucun classification supplémentaire tandis que le mode d’adressage indirect est en outre classé en deux catégories, à savoir le registre indirect ou le mode d’adressage indirect. Dans l’approche indirecte du registre, l’opérande contient le nom du registre où réside l’adresse des données tandis que dans l’approche indirecte de la mémoire, l’opérande contient l’adresse de l’emplacement mémoire où les données existent.
Conclusion
Par conséquent, cette discussion conclut que les modes d’adressage direct et indirect sont les deux classifications de modes d’adressage, distingués sur la base des données sur lesquelles l’opération est effectuée.