- Datenwort
-
Ein Datenwort oder einfach nur Wort ist die Grundverarbeitungsdatengröße bei einem Computer. Synonym werden außerdem die Bezeichnungen Binärwort oder englisch Word verwendet. Die Größe dieser Dateneinheit in Bit wird als Wortbreite oder Wortlänge, beziehungsweise als Busbreite bezeichnet.
Oftmals, insbesondere im Zusammenhang mit Programmiersprachen, wird die Bezeichnung Wort auch abweichend gebraucht. Als Wort wird dann eine – plattformunabhängig – festgelegte Dateneinheit fester Größe bezeichnet.
Das Zweifache eines Wortes – im jeweiligen Kontext – wird als Doppelwort (engl. DWord) oder Langwort bezeichnet. Für das Vierfache eines Wortes gibt es im Englischen außerdem noch die Bezeichnung quadruple word, kurz Quadword oder QWord. Die Dateneinheit mit der halben Wortbreite wird entsprechend als Halbwort bezeichnet.
Inhaltsverzeichnis
Kleinste adressierbare Einheit
Je nach System kann die Wortbreite beträchtlich differieren, wobei sie heute immer einer Zweierpotenz und dem Vielfachen eines Byte entspricht. Neben der größtmöglichen Zahl, die in einem Rechenschritt verarbeitet werden kann, bestimmt die Wortbreite vor allem die Größe des maximal direkt adressierbaren Speichers. Deshalb ist auch eine Tendenz zu größeren Wortlängen erkennbar.
Die ersten CPUs hatten nur 4-Bit-Datenwörter (Nibbles). Mit 4 Bit kann man 16 Zustände abbilden, dies reicht problemlos für die Darstellung der zehn Ziffern 0 bis 9 aus. Viele Digitaluhren und einfache Taschenrechner haben heute noch 4-Bit-CPUs.
In den 1970er Jahren etablierten sich die 8-Bit-CPUs, die zwischen 1970 und 1990 den Markt beherrschten. Durch die 8 Bit konnte man nun 256 verschiedene Zeichen in einem Datenwort speichern. Die Computer nutzten nun alphanumerische Ein- und Ausgaben, die viel leserlicher waren und neue Möglichkeiten eröffneten. Die daraus entstandenen 8-Bit-Zeichensätze wie beispielsweise EBCDIC oder die verschiedensten 8-Bit-Erweiterungen des 7-Bit-ASCII-Codes haben sich zum Teil bis ins 32-Bit-Zeitalter erhalten, und einfache Textdateien liegen auch heute noch oft in einem der 8-Bit-Formate vor.
Seitdem ist die Wortbreite innerhalb der x86-Prozessor-Familie mehrfach verdoppelt worden. So führte die Verdopplung der 8-Bit-Architektur zunächst zur 16-Bit-Architektur, der bald darauf die 32-Bit-Architektur zahlreicher immer noch gängiger PC-Prozessoren wie beispielsweise der Pentium-, Athlon-, G4- und Core-Duo-Prozessoren folgte. Gegenwärtig steht diese Architektur wiederum am Übergang von der 32-Bit- zur 64-Bit-Architektur, und so hat eine Reihe neuerer PC-Prozessoren bereits eine Wortbreite von 64 Bit, beispielsweise der Athlon-64-, G5-, neuere Pentium-4--, Core-2-Duo- sowie diverse Serverprozessoren (z. B. Itanium, UltraSparc, Power4, Opteron, neuere Xeon).
Abweichende Bedeutungen
In Programmiersprachen für x86-Systeme ist die Größe eines Wortes, teils aus Gewohnheit, vor allem aber, um Kompatibilität mit vorhergehenden Prozessoren zu erhalten, nicht mitgewachsen, sondern bezeichnet heute umgangssprachlich eine Bitfolge von 16 Bit, also den Stand des 8086-Prozessors. Für spätere x86-Prozessoren wurde die Bezeichnung Doppelwort/DWORD (auch Langwort/Long) eingeführt. Bei dem Wechsel von 32-Bit-Architekturen und -Betriebssystemen auf 64 Bit hat sich die Bedeutung von Long zwischen Linux und Windows getrennt: In der Windowswelt blieb die Breite eines solchen Langworts bei 4 Byte (= 32 Bit), in der Linuxwelt wurde sie auf 8 Byte (= 64 Bit) verbreitert.[1]
In anderen Rechnerarchitekturen (z. B. PowerPC, Sparc) ist mit einem Wort oft eine Bitfolge von 32 Bit gemeint (der ursprünglichen Wortbreite dieser Architekturen), weshalb dort die Bezeichnung Halbwort für Folgen von 16 Bit gebräuchlich ist.
Beispiele
Prozessoren der IA-32-80x86-Architektur
Datenbreite Datentyp Prozessorregister 4 Bit = ½ Byte Nibble keine eigenen Register 8 Bit = 1 Byte Byte z. B. die Register AL und AH 16 Bit = 2 Byte Word z. B. das Register AX 32 Bit = 4 Byte Double Word z. B. das Register EAX 64 Bit = 8 Byte Quadruple Word z. B. das Register MM0 128 Bit = 16 Byte Double Quadruple Word z. B. das Register XMM0 Der Begriff Word (bzw. Wort) wird auch in der Windows API für eine 16-Bit-Zahl verwendet.[2]
SPS
Bei der Programmierung von speicherprogrammierbaren Steuerungen (SPS) legt die IEC 61131-3 Norm die Wortgrößen folgendermaßen fest:
Datenbreite Bit-Datentypen Integer-Datentypen 8 Bit = 1 Byte BYTE (Byte) (U)SINT (Short-Integer) 16 Bit = 2 Byte WORD (Wort) (U)INT (Integer) 32 Bit = 4 Byte DWORD (Doppel-Wort) (U)DINT (Double Integer) 64 Bit = 8 Byte LWORD (Lang-Wort) (U)LINT (Long Integer) Wird der Buchstabe U vor einen Integer-Datentypen gestellt (z. B. UDINT) so bedeutet dies „unsigned“ (vorzeichenlos), andernfalls sind die Integerwerte vorzeichenbehaftet.
Einzelnachweise
- ↑ Agner Fog (16. Februar 2010): Calling conventions for different C++ compilers and operating systems: Chapter 3, Data Representation. Abgerufen am 30. August 2010.
- ↑ Christof Lange (1999): API Programmierung für Einsteiger. Abgerufen am 19. Dezember 2010.
Prozessorarchitekturen nach Wortbreite: 1-Bit-Architektur | 4-Bit-Architektur | 8-Bit-Architektur | 16-Bit-Architektur | 32-Bit-Architektur | 64-Bit-Architektur
Prozessorarchitekturen nach Befehlssatzaufbau: CISC | RISC | VLIW | EPIC | Mikroarchitektur
Prozessorarchitekturen mit Optimierung für Einsatzzwecke: Hauptprozessor | Grafikprozessor | Soundprozessor | Matheprozessor | Physikbeschleuniger
Wikimedia Foundation.