Datenwort

Ein Datenwort oder einfach nur Wort ist eine bestimmte Datenmenge, die ein Computer in der arithmetisch-logischen Einheit des Prozessors in einem Schritt verarbeiten kann. Ist eine maximale Datenmenge gemeint, so wird deren Größe Wortbreite, Verarbeitungsbreite[1] oder Busbreite genannt.

In Programmiersprachen ist das Datenwort dagegen eine plattformunabhängige Dateneinheit oder die Bezeichnung für einen Datentyp und entspricht in der Regel 16 Bit[2] oder 32 Bit[3] (siehe Beispiele).

Das Zweifache eines Wortes – im jeweiligen Kontext – wird als Doppelwort (englisch double word, kurz 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.

Maximal adressierbarer Speicher

Je nach System kann die Wortbreite beträchtlich differieren, wobei die Varianten in bisher produzierten Rechnern, ausgehend von 4 Bit, nahezu durchweg einer Zweierpotenz folgen, also einer jeweiligen Verdoppelung der Wortbreite. (Ausnahmen hiervon waren z. B. die Großrechner TR 4 und TR 440 aus den 1960er/1970er Jahren mit 50 bzw. 52 Bit breiten Wörtern.)

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 eine Tendenz zu größeren Wortlängen erkennbar:

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 wurden die Bezeichnungen Doppelwort/DWORD (englisch double word, auch Langwort/Long) und QWORD (englisch quad word) eingeführt. Beim Wechsel von 32-Bit-Architekturen und -Betriebssystemen auf 64 Bit hat sich die Bedeutung von Long getrennt:

  • in der Windowswelt blieb die Breite eines solchen Langworts bei 32 Bit
  • in der Linuxwelt wurde sie auf 64 Bit verbreitert.[4]

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

DatenbreiteDatentypProzessorregister
4 Bit = ½ ByteNibblekeine eigenen Register
8 Bit = 1 ByteBytez. B. die Register AL und AH
16 Bit = 2 ByteWordz. B. das Register AX
32 Bit = 4 ByteDouble Wordz. B. das Register EAX
64 Bit = 8 ByteQuadruple Wordz. B. das Register MM0
128 Bit = 16 ByteDouble Quadruple Wordz. B. das Register XMM0

Der Begriff Word (bzw. Wort) wird auch in der Windows API für eine 16-Bit-Zahl verwendet.[5]
Früher hieß ein Double Quadruple Word u. a. bei Turbo Pascal auch ein Paragraph.

SPS

Bei der Programmierung von speicherprogrammierbaren Steuerungen (SPS) legt die Norm IEC 61131-3 die Wortgrößen wie folgt fest:

DatenbreiteBit-DatentypenInteger-DatentypenWertebereich
vorzeichenlosvorzeichenbehaftet
8 Bit = 1 ByteBYTE (Byte)(U)SINT (Short-Integer)0..255−128..127
16 Bit = 2 ByteWORD (Wort)(U)INT (Integer)0..65535−32768..32767
32 Bit = 4 ByteDWORD (Doppel-Wort)(U)DINT (Double Integer)0..232-1-231..231-1
64 Bit = 8 ByteLWORD (Lang-Wort)(U)LINT (Long Integer)0..264-1-263..263-1

Wird der Buchstabe U vor einen Integer-Datentypen gestellt (z. B. UDINT), so bedeutet dies „unsigned“ (vorzeichenlos), ohne U sind die Integerwerte vorzeichenbehaftet.

Einzelnachweise

  1. http://www.wissen.de/lexikon/verarbeitungsbreite
  2. QuinnRadich: Windows Data Types (BaseTsd.h) - Win32 apps. Abgerufen am 15. Januar 2020 (amerikanisches Englisch).
  3. May, Cathy.: The PowerPC architecture : a specification for a new family of RISC processors. 2. Auflage. Morgan Kaufman Publishers, San Francisco 1994, ISBN 1-55860-316-6.
  4. Agner Fog: Calling conventions for different C++ compilers and operating systems: Chapter 3, Data Representation (PDF; 416 kB) 16. Februar 2010. Abgerufen am 30. August 2010.
  5. Christof Lange: API Programmierung für Einsteiger. 1999. Abgerufen am 19. Dezember 2010.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. The authors of the article are listed here. Additional terms may apply for the media files, click on images to show image meta data.