- Qword
-
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
Wort als 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. 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.
Dann kamen die 8-Bit-CPUs, die jahrelang (1970–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 Zeichensätze (z. B. ASCII, EBCDIC) haben 8 Bit (im ASCII-Standard waren zunächst nur 7 Bit, also die ersten 128 Zeichen, definiert) und sind auch noch heute in der 32-Bit-Zeit erhalten geblieben. Einfache Textdateien liegen heute noch im 8-Bit-Format vor.
Innerhalb der x86-Prozessoren-Familie ist die Wortbreite zum Beispiel bisher mehrfach verdoppelt worden, und die ursprüngliche 16-Bit-Architektur (ist selbst auch schon verdoppelt) steht gerade am Übergang von 32 auf 64 Bit.
Gängige PC-Prozessoren (z. B. Pentium, Athlon, G4, Core Duo) haben eine Wortbreite von 32 Bit, neuere PC-Prozessoren (z. B. Athlon64, G5, neuere Pentium 4, Core 2 Duo) sowie Serverprozessoren (z. B. Itanium, UltraSparc, Power4, Opteron, neuere Xeon) haben eine Wortbreite von 64 Bit.
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. 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 zusätzlich noch die Bezeichnung Halbwort für Folgen von 16 Bit gebräuchlich ist.
Beispiele
Prozessoren der IA-32 80x86 Architektur
- 8 Bit = 1 Byte (z. B. das Register AL)
- 16 Bit = 2 Byte = ein Word (z. B. das Register AX)
- 32 Bit = 4 Byte = ein Double Word (z. B. das Register EAX)
- 64 Bit = 8 Byte = ein Quadruple Word (z. B. das Register MM0)
Der Begriff Word (bzw. Wort) wird auch in der Windows API für eine 16-Bit-Zahl verwendet.[1]
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.
Quellen
Wikimedia Foundation.