Definition

Big-Endian und Little-Endian

Was sind Big-Endian und Little-Endian?

Big-Endian und Little-Endian beschreiben die Ordnung, nach der Bytes in einem Computerspeicher abgelegt werden. Bei Big-Endian wird das „große Ende“ (also der signifikanteste Wert in der Sequenz) zuerst abgelegt (also in niedrigsten Speicheradresse). Bei Little-Endian wir der kleinste Ende (also der am wenigsten signifikante Wert) zuerst gespeichert.

Das Argument für Big-Endian

Ein praktisches Beispiel: Bei einem Big-Endian-Computer würden die zwei für die hexadezimale Zahl 4F52 notwendigen Bytes als 4F52 in den Speicher geschrieben (befindet sich 4F beispielsweise in der Speicheradresse 1000, wird 52 in 1001 gespeichert). In einem Little-Endian-System würde die Zahl als 524F gespeichert (52 in Speicheradresse 1000, 4F in Speicheradresse 1001).

Für Leute, die es gewohnt sind, von links nach rechts zu lesen, ist diese Art der Speicherung oftmals intuitiver und ein natürlicher Weg, um Zeichen und Nummern abzulegen. Auf diese Weise betrachten viele Menschen Big-Endian als Speicherung von etwas in Vorwärtsrichtung, so wie sie es lesen.

Das Argument für Little-Endian

Ein Argument für die Little-Endian-Anordnung ist, dass man weitere Nummern auf der linken Seite hinzufügen muss, je höher man kommt (eine höhere, nicht-exponentielle Nummer benötigt mehr Zeichen). In Big-Endian sind in diesem Fall alle bereits gespeicherten Werte um eine Stelle (Digit)nach rechts zu verschieben, entsprechend müssen alle Daten angefasst werden.

Bei einer Datenanordnung nach Little-Endian können die weniger signifikanten Werte unberührt bleiben. Neue Zahlen werden einfach rechts neben der höchsten Adresse hinzugefügt. Das führt dazu, dass einige Operationen schneller und einfacher zu erledigen sind.

Bit-Reihenfolge

Wichtig: Sowohl bei Big-Endian wie auch bei Little-Endian werden die eigentlichen Bytes als Big-Endian abzulegen. Egal ob Big- oder Little-Endian, 4F aus dem Beispiel wird in der Bit-Reihenfolge immer als 01001111 gespeichert. Es ist zwar theoretisch möglich, die eigentlichen Bytes als Big- oder Little-Endian zu speichern, die meisten CPUs und Programme sind aber darauf ausgelegt, dass sie Daten als Big-Endian verarbeiten. In der Datenübertragung ist es allerdings möglich, andere Speicherarten zu wählen.

URLs und E-Mail-Adressen werden im Little-Endian-Format gespeichert. Die Big-Endian-Version von www.computerweekly.de würde so aussehen:

de.computerweekly.www

Verwendungen von Big-Endian und Little-Endian

Sowohl Big-Endian als auch Little-Endian sind in der digitalen Elektronik weit verbreitet. In der Regel bestimmt die CPU die verwendete Endian-Variante.

Die IBM-370-Mainframes, die meisten RISC-basierten Computer und die Mikroprozessoren von Motorola nutzen den Big-Endian-Ansatz. TCP/IP verwendet ebenfalls Big-Endian (weswegen Big-Endian manchmal auch als Network Order bezeichnet wird).

Intel-Prozessoren und DEC Alphas, ebenso wie einige Programme, die auf diese Systeme aufsetzen, nutzen Little-Endian.

Es gibt auch Endian-Mischformen. Bei VAX-Gleitkommasystemen kommt beispielsweise Mixed-Endian zum Einsatz, das auch als Middle-Endian bezeichnet wird. Die Reihenfolge der Bytes in einem 16-Bit-Wort unterscheidet sich von der Reihenfolge der 16-Bit-Wörter innerhalb eines 32-Bit-Worts. Bi-Endian-Prozessoren können entweder im Little-Endian- oder im Big-Endian-Modus arbeiten und zwischen diesen beiden Modi umschalten.

Compiler für Programmiersprache wie Java oder FORTRAN müssen wissen, auf welche Art der entwickelte Objektcode gespeichert werden soll. Mit Hilfe von Convertern lässt sich die gewählte Speicherart zwischen den beiden Endian-Varianten umschalten.

Die Endian-Geschichte

Im Jahr 1980 wandte der Informatiker Danny Cohen in seinem Artikel On Holy Wars and a Plea for Peace (deutsch: Über Heilige Kriege und ein Plädoyer für den Frieden) die Begriffe Big-Endian und Little-Endian auf die digitale Elektronik an.

Die Bezeichnuge Big-Endian und Little-Endian stammen aus dem Buch Gullivers Reisen von Jonathan Swift. Big-Endian beschreibt eine der politischen Fraktionen, die ihre Eier vom größeren Ende aus schält (der primitive Weg). Sie rebellieren gegen den Lilliputanerkönig, da dieser von seinen Untergebenen (den Little Endians) erwartet, dass sie ihre Eier vom kleineren Ende aus öffnen.

Während viele Großrechner Big-Endian verwenden, nutzen die meisten modernen Computer Little-Endian.

Die Endian-Variante ist zunächst eine willkürliche Entscheidung des Halbleiterherstellers, die sich langfristig auf eine Produktlinie auswirken kann. Wenn die Hersteller ihre Technologie aktualisieren, behalten sie den bestehende Endian-Typ bei, um die Abwärtskompatibilität zu gewährleisten. So haben beispielsweise die Entwickler des Motorola 68000 und des Intel 8086 (Vorgänger der x86-Familie) ihre Endian-Variante in den 1970er Jahren gewählt und verwenden diese auch heute noch.

Diese Definition wurde zuletzt im November 2023 aktualisiert

Erfahren Sie mehr über IoT, IIoT und Industrie 4.0

ComputerWeekly.de
Close