Byteadressierung - Byte addressing

Die Byteadressierung bezieht sich auf Hardwarearchitekturen, die den Zugriff auf einzelne Bytes unterstützen . Solche Computer werden manchmal als Byte-Maschinen bezeichnet. Dies steht im Gegensatz zu wortadressierbaren Architekturen, Wortmaschinen , die auf Daten in Form größerer Einheiten zugreifen, die als Wörter bezeichnet werden .

Die Grundeinheit der digitalen Speicherung wird als Bit bezeichnet und speichert eine einzelne 0 oder 1. Viele gängige Architekturen können mehr als 8 Datenbits gleichzeitig adressieren. Beispielsweise kann der Intel 386SX- Prozessor 16-Bit-Daten (Zwei-Byte-Daten) verarbeiten, da Daten über einen 16-Bit- Bus übertragen werden . Daten im Speicher können jedoch unterschiedlich lang sein. Byteadressierbarer Speicher bezieht sich auf Architekturen, bei denen auf Daten zugegriffen und in Einheiten adressiert werden kann, die schmaler als der Bus sind. Ein 8-Bit-Prozessor wie der Intel 8008 adressiert acht Bit. Da dies jedoch die gesamte Breite des Busses ist, wird dies als wortadressierbar angesehen. Der 386SX, der den Speicher in 8-Bit-Einheiten adressiert, ihn jedoch jeweils 16 Bit abrufen und speichern kann, wird als byteadressierbar bezeichnet.

Der Vorteil der Wortadressierung besteht darin, dass mehr Speicher in der gleichen Anzahl von Bits adressiert werden kann. Der IBM 7094 verfügt über 15-Bit-Adressen und kann daher 32.768 Wörter mit 36 ​​Bit adressieren. Die Maschinen wurden oft mit einer vollständigen Ergänzung des adressierbaren Speichers gebaut. Das Adressieren von 32.768 Bytes mit 6 Bits wäre für wissenschaftliche und technische Benutzer viel weniger nützlich gewesen. Oder betrachten Sie den 32-Bit- Pentium- Prozessor. Sein 32-Bit-Adressbus kann 4 Milliarden verschiedene Elemente adressieren. Bei Verwendung der Wortadressierung könnte ein 32-Bit-Adressbus 4 Gigawords adressieren. oder 16 Gigabyte mit dem modernen 8-Bit-Byte. Wenn der 386SX und seine Nachfolger Wortadressierung verwendet hätten, hätten Wissenschaftler, Ingenieure und Gamer Programme genießen können, die auf 32-Bit-Computern viermal größer waren. Andererseits wären Textverarbeitung, Rendern von HTML und alle anderen Textanwendungen langsamer gelaufen.

Wenn Computer so teuer waren, dass sie nur oder hauptsächlich für Wissenschaft und Technik verwendet wurden, war die Wortadressierung der offensichtliche Modus. Als es kostengünstig wurde, Computer für die Textverarbeitung zu verwenden, wechselten Hardware-Designer zur Byteadressierung.

Um zu veranschaulichen, warum die Byteadressierung nützlich ist, betrachten Sie den IBM 7094 , der wortadressierbar ist und kein Konzept für ein Byte enthält. Es hat 36-Bit-Wörter und speichert seine 6-Bit-Zeichencodes sechs zu einem Wort. Um das 16. Zeichen in einer Zeichenfolge zu ändern, muss das Programm bestimmen, dass dies das vierte Zeichen des dritten Wortes in der Zeichenfolge ist, das dritte Wort abrufen und den alten Wert des vierten Zeichens aus dem im Register enthaltenen Wert maskieren. "oder" im neuen und speichern Sie das geänderte Wort zurück. Mindestens sechs Maschinenanweisungen. Normalerweise werden diese in eine Unterroutine verwiesen, sodass jeder Speicher oder Abruf eines einzelnen Zeichens den Aufwand für das Aufrufen einer Unterroutine und die Rückgabe mit sich bringt. Mit der Byteadressierung kann dies in einem Befehl erreicht werden: Speichern Sie diesen Zeichencode an dieser Byteadresse. Textprogramme sind einfacher zu schreiben, kleiner und laufen schneller.

Einige Systeme, wie der PDP-10 , verwenden die Wortadressierung, erleichtern jedoch den Zugriff auf einzelne Bytes mithilfe spezieller Anweisungen, die mithilfe eines Bytezeigers auf den Speicher zugreifen können , der sowohl eine Wortadresse als auch den Index eines bestimmten Bytes innerhalb des Wortes enthält.

Siehe auch

Verweise