„Datenwort“ – Versionsunterschied
[gesichtete Version] | [ungesichtete Version] |
K Änderungen von 77.20.74.164 (Diskussion) auf die letzte Version von Pittimann zurückgesetzt |
Keine Bearbeitungszusammenfassung |
||
Zeile 35: | Zeile 35: | ||
| 64 Bit = 8 Byte || '''Quadruple Word''' || z. B. das Register [[Multi Media Extension|MM0]] |
| 64 Bit = 8 Byte || '''Quadruple Word''' || z. B. das Register [[Multi Media Extension|MM0]] |
||
|- |
|- |
||
| 128 Bit = 16 Byte || '''Double |
| 128 Bit = 16 Byte || '''Double Quadraple Word''' || z. B. das Register [[Streaming SIMD Extension|XMM0]] |
||
|} |
|} |
||
Version vom 13. Dezember 2016, 08:15 Uhr
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. 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.
Kleinste adressierbare Einheit
Je nach System kann die Wortbreite beträchtlich differieren, wobei sie in aktuell (Stand 2014) produzierten Rechnern durchweg einer Zweierpotenz und somit stets einem Vielfachen von 4 bit 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 Hauptprozessoren 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 für Heimanwender 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. Diese wies mit ihren ersten Modellen eine 16-Bit-Architektur auf, 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 (Stand 2014) 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 32 Bit, in der Linuxwelt wurde sie auf 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 Quadraple 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: Calling conventions for different C++ compilers and operating systems: Chapter 3, Data Representation. (PDF; 416 kB) 16. Februar 2010, abgerufen am 30. August 2010.
- ↑ Christof Lange: API Programmierung für Einsteiger. 1999, abgerufen am 19. Dezember 2010.