1

I zwei Paare von Konzepten in Tannebaum des MOS begegnet:Wort/Byte-Adressierbarkeit & blockfrei/ausgerichteter Zugriff zum Hauptspeicher

  • Wort vs. Byte Adressierbarkeit
  • ausgerichtet vs. blockfrei Zugang

Ich verstehe nicht wirklich, wie diese beiden Paare zusammenhängen. Im Besonderen: Was wäre der Sinn des byte-adressierbaren Speichers (1), mit nicht-ausgerichtetem Zugriff nicht erlaubt (2)? Es scheint mir, dass (2) bedeutet, dass wir (1) nicht ausnutzen können.

Mit anderen Worten würde:

  • Wort-Speicher mit nicht-ausgerichteten Zugang

bieten dem Programmierer erlaubt alle Möglichkeiten, die

  • Wort-Speicher mit nicht ausgerichteter Zugriff nicht zulässig

kann nicht?

Danke

+1

_ "Was wäre der Sinn des byteadressierbaren Speichers (1), mit nicht ausgerichteten Zugriff nicht erlaubt" _ Da normalerweise auch Anweisungen zum Laden und Speichern von Bytes (zB 'ldrb' /' strb' auf ARM) vorhanden sind , 'lb' /' sb' auf MIPS usw.). Diese haben keine Wortausrichtungs-Anforderungen an die effektive Adresse. – Michael

+0

(2) könnte für den Hardware-Designer vereinfachen. Das könnte wichtiger sein als die Vereinfachung für den Programmierer. –

+0

@Michael: meinst du, einige Anweisungen könnten Wortausrichtung Anforderungen haben, während andere nicht? – hartmut

Antwort

2

Wort Adressierbarkeit:

In ye olde Tage dort waren Computer, die auf 12 betrieben, 14 und 36 Bit. Das waren Maschinenwörter. Sie konnten in solchen Systemen kein Byte adressieren - sie hatten keine Bytes. Du hast Worte angesprochen.

Aligned Zugang:

Es erfordert mehrere Zyklen unaligned Daten zuzugreifen. Der Prozessor muss zusätzliche Schritte unternehmen, um die Daten in Teilen zu erfassen. Einige Prozessoren (insbesondere RISC) verbieten nicht ausgerichtete Zugriffe vollständig für die Leistung.

Solche Systeme sind immer noch byteadressierbar, da Sie auf einzelne Bytes für Byteoperanden zugreifen können.