10 Unterschied zwischen direktem und indirektem Adressierungsmodus

Contents

Was ist ein Adressierungsmodus?

Ein Adressierungsmodus ist im Grunde eine Technik, die zum Bestimmen des Operanden verwendet wird, der einem gegebenen Befehl zugeordnet ist. Die Aufgabe eines Mikroprozessors besteht darin, einen Satz von Anweisungen auszuführen, die im Speicher gespeichert sind, um eine bestimmte Aufgabe auszuführen. Operationen erfordern Folgendes:

  1. Der Operator oder Opcode, der bestimmt, was getan wird
  2. Die Operanden, die die in der Operation zu verwendenden Daten definieren

Wenn wir beispielsweise die Zahlen 1 und 2 addieren und ein Ergebnis erhalten möchten, würden wir dies mathematisch wahrscheinlich als 1 + 2 schreiben. In diesem Fall ist unser Operator (+) oder die Addition, und unsere Operanden sind die Zahlen 1 und 2.

In einem Mikroprozessor muss der Maschine mitgeteilt werden, wie sie die Operanden erhält, um die Operation auszuführen. Die  effektive Adresse  ist ein Begriff, der die Adresse eines Operanden beschreibt, der im Speicher gespeichert ist. Es gibt mehrere Methoden, um die effektive Adresse dieser Operanden anzugeben oder sie direkt aus dem Register abzurufen. Diese Verfahren sind als Adressierungsmodi bekannt.

Direkter Adressmodus  – In diesem Modus ist die effektive Adresse gleich dem Adressteil der Anweisung. Der Operand befindet sich im Speicher und seine Adresse wird direkt durch das Adressfeld des Befehls angegeben. Bei einem Befehl vom Verzweigungstyp gibt das Adressfeld die tatsächliche Verzweigungsadresse an.

Indirekter Adressmodus  – In diesem Modus gibt das Adressfeld des Befehls die Adresse an, an der die effektive Adresse im Speicher gespeichert ist. Die Steuerung holt die Anweisung aus dem Speicher und verwendet ihren Adressteil, um erneut auf den Speicher zuzugreifen, um die effektive Adresse zu lesen.

Direkter Adressierungsmodus

  • Der direkte Adressierungsmodus enthält den betreffenden Operanden im Adressfeld des Befehlscodes.
  • Es erfordert keine Speicherreferenzen für den Zugriff auf die Daten.
  • Es verwendet einen vergleichsweise kleineren Raum als der indirekte Modus.
  • Man benötigt keinen zusätzlichen Overhead zum Suchen der effektiven Adresse eines Operanden.
  • Man benötigt keinen zusätzlichen Overhead zum Suchen der effektiven Adresse eines Operanden.
  • Die direkte Methode ist vergleichsweise schneller. Man kann leicht auf den Speicher zugreifen.
  • Der Direktadressierungsmodus wird nicht weiter in irgendwelche Kategorien eingeteilt.

Indirekte Adressierungsmodi

  • Bei einem indirekten Adressierungsmodus bleibt die Adresse des Operanden im Adressfeld jeder Anweisung.
  • Es erfordert mehrere Speicherreferenzen zum Suchen eines Operanden.
  • Es nutzt einen vergleichsweise größeren Raum als der Direktmodus.
  • Die zusätzliche Berechnung ist eine Voraussetzung, um hier eine gegebene Operation auszuführen.
  • Sie würden immer Overhead benötigen, um nach der Adresse des Operanden zu suchen.
  • Die indirekte Methode arbeitet vergleichsweise langsamer. Es braucht Zeit, um auf den Speicher zuzugreifen.
  • Der indirekte Modus wird weiter in zwei Hauptkategorien eingeteilt – den indirekten Speichermodus und den indirekten Registermodus.

Direkter Adressierungsmodus vs. indirekter Adressierungsmodus

Direkter AdressierungsmodusIndirekter Adressierungsmodus
Das Adressfeld enthält die effektive Adresse des Operanden.Das Adressfeld enthält den Speicherort, an dem die effektive Adresse vorhanden ist
Eine Speicherreferenz zum Zugriff auf den OperandenZwei Speicherverweise auf den Zugriffsoperanden
SchnellLangsam
Die Adressgröße des Operanden ist auf die Größe des Adressfelds beschränkt.Keine solche Einschränkung. Weil die Operandenadresse im Hauptspeicher gespeichert ist.
Weniger Berechnung für den Zugriff auf den OperandenMehr Berechnung für den Zugriff auf den Operanden.

osky