{"id":11209,"date":"2015-07-14T00:18:56","date_gmt":"2015-07-13T22:18:56","guid":{"rendered":"http:\/\/www.bernd-leitenberger.de\/blog\/?p=11209"},"modified":"2015-07-13T12:21:57","modified_gmt":"2015-07-13T10:21:57","slug":"am-anfang-war-das-wort","status":"publish","type":"post","link":"https:\/\/www.bernd-leitenberger.de\/blog\/2015\/07\/14\/am-anfang-war-das-wort\/","title":{"rendered":"Am Anfang war das Wort"},"content":{"rendered":"<p>Hans lieferte mir den Aufh&auml;nger f&uuml;r den heutigen Artikel, der sich auch mit Prozessorarchitekturen besch&auml;ftigt. N&auml;mlich die Frage wie man 16 Bits in der Informationstechnik bezeichnet. Schon mal der Ansatz wie Hans diese Frage l&ouml;st ist interessant. Ich w&uuml;rde in Google Books nachschauen oder in meinem B&uuml;cherregal. Hans stellt die Frage in einem Forum, was angesichts einer Generation die mit der x86 Architektur aufgewachsenen ist und vielen Softwerkern, die meinen die Bezeichnungen in ihrer Programmiersprache w&auml;ren Standardausdr&uuml;cke, in etwa so ist als wenn man auf einem mittelalterlichen Markt fragt &#8222;Ist die rothaarige Frau eine Hexe?<!--more-->&#8222;.<\/p>\n<p>Also welche standardisierten Ausdr&uuml;cke gibt es in der Informationstechnik? Nun als erstes gibt es mal das Bit. Ein Bit ist die kleinste Einheit, die gespeichert werden kann. Bei den meisten Computern ist es aber nicht die kleinste Einheit die sie ansprechen k&ouml;nnen, au&szlig;er sie haben Bitmanipulationsbefehle. Doch Speicherbausteine waren sehr lange bitweise organisiert. Fr&uuml;her war das sogar noch zu sehen. Bei Ringkernspeichern entsprach das genau einem Eisenkern. Die bitweise Organisation sieht man heute noch manchmal in den Anzahl der Speicherbausteine auf DIMMs, auch wenn es hier noch die Organisation in 4 und 16 Bit Einheiten gibt die g&auml;ngiger ist, weil man so weniger Chips braucht. (16 oder 4 f&uuml;r die heutigen DIMM die 64 Bit Datenbusse haben anstatt 64 St&uuml;ck).<\/p>\n<p>Schon bei den beiden n&auml;chsten begriffen, dem Byte und Nibble h&ouml;rt die Standardisierung auf. Unter einem Byte versteht man heute 8 Bit. Doch dem war nicht immer so. Als Byte versteht man die Anzahl der Bits die man braucht um ein Zeichen in dem Zeichensatz des Computers abzulegen. Jeder Wert steht f&uuml;r einen Charaktercode. Der erste Standard der sich einb&uuml;rgerte, kam vom <a href=\"https:\/\/en.wikipedia.org\/wiki\/American_Standards_Association\">American Standards Association<\/a> es war der American Standard Code for Information Interchange (ASCII). Er hatte den Zweck die vorher unterschiedlichen Zeichens&auml;tze bei verschiedenen Computern zu vereinheitlichen. Wie der Name sagte, war es ein Zeichensatz f&uuml;r die USA. (eigentlich nach dem Wortlaut Amerika, doch spanisch sprechende L&auml;nder die Accents brauchen ignorierte der Standard). Er enthielt in den ersten 32 Positionen keine druckbaren Zeichen sondern Steuerzeichen, die bei einem Drucker oder Fernschreiber Aktionen ausl&ouml;sten oder in bestimmten Programmiersprachen zweckentfremdet als Stringende (Nullzeichen) genutzt wurden. Bis heute wichtig sind Tabulator (9), Zeilenvorschub (Carriage Return &#8211; cr) (13) und Wagenr&uuml;cklauf (line feed lf) (10). In Windows wird jede Zeile von Wagenr&uuml;cklauf und Linefeed abgeschlossen. Das Zeilenendzeichen in Unix ist es nur der Zeilenvorschub. Das hat historische Gr&uuml;nde, Windows &uuml;bernahm das von DOS und dieses die Codierung von CP\/M die sie f&uuml;r die damals noch &uuml;blichen Typenraddrucker einf&uuml;hrte. Bei Unix hat man sich wohl gedacht das ein Zeichen gen&uuml;gt. Das ist bis heute so, so werden beim Kopieren von Winscp meine Pascal Quelltexte auf dem Raspberry Pi kleiner \u2013 das Programm ersetzt cr\/lf durch Lf.<\/p>\n<p>Seit etwa der siebziger Jahre sind daher 8 Bit die Standardgr&ouml;&szlig;e f&uuml;r ein Byte. F&uuml;r ASCII braucht man eigentlich nur 7 Bit, doch da Computerarchitekturen meist ein Vielfaches von geraden Bitanzahlen verarbeiten, hat man das Byte auf 8 Bit gesetzt. Bei ASCII-Codes sind die Codes von 128 bis 255 daher nicht definierte und man nutzte sie f&uuml;r Erweiterungen. So z. B. die Umlaute die man in den USA nicht kennt oder Blockgrafikzeichen. Diese waren dann von Computer zu Computer unterschiedlich. So gab es in den Achtziger Jahren eigene Drucker f&uuml;r den Apple, C64, den IBM PC oder f&uuml;r andere popul&auml;re Computer die sich nur im Zeichensatz unterschieden.<\/p>\n<p>Die 8 Bit breite Byte gilt in etwa seit Anfang der siebziger Jahre als die US-Regierung aktiv die Anschaffung von Computern f&ouml;rderte die den ASCII-Zeichensatz unterst&uuml;tzten. Den vorher war es so das jeder Hersteller seine eigene Codierung hatte und die meisten waren auch nicht 8 Bits lang sondern nur 6, Das reicht nur f&uuml;r 64 Zeichen. 26 Gro&szlig;- und Kleinbuchstaben und 10 Ziffern ergeben zwar 62 Codierungen, doch man braucht ja noch einige andere Zeichen wie Satzzeichen, Klammern, Leertaste, mathematische Operationen und Steuerzeichen. So hatten diese 6 Bit Codierungen keine Kleinbuchstaben. Das sieht man in zahlreichen fr&uuml;hen Programmiersprachen wo Befehle nur in Gro&szlig;buchstaben stehen wie Fortran oder Cobol.<\/p>\n<p>IBM nutzte z.b. EBCDIC, ein Zeichensatz den es in sechs verschiedenen Versionen von 6 bis 8 Bits Breite gibt. Andere Hersteller hatten andere Codierungen so CDC in den ersten Modellen von Cray. Die Dominanz von 6 Bits in der fr&uuml;hen Computertechnik zeigt sich auch in Architekturen die ein Vielfaches von 6 Bits waren wie 12 Bit, 18 Bit und 30 Bit Rechner bei PDP (PDP-7, PDP-9 und PDP-10). Es gab auch 24, 48,36 und 60 Bit Rechner. Die Einf&uuml;hrung der Oktalschreibweise in C, die man heute kaum noch braucht, dr&uuml;ckt sich auch darin aus dass 3 Bit mit den Ziffern von 0 bis 7 ausgedr&uuml;ckt werden k&ouml;nnen. Das leitet &uuml;ber zum Nibble. Ein Nibble ist per Definition ein halbes Byte. Damit ist es auch nicht konstant gro&szlig;, sondern war fr&uuml;her 3 Bits breit (Oktalnotation) heute dagegen 4 Bit breite Da man die 16 Zust&auml;nde der 4 Bits nun nicht mehr mit den Zahlen von 0 bis 9 ausdr&uuml;cken kann schreibt man heute Nibbles in Hexadezimalschreibweise auf der Basis von 16, wobei man die Buchstaben A bis F f&uuml;r sei werte von 10 bis 15 nimmt.<\/p>\n<p>Also Bytes und Nibbles sind nicht standardisiert. Daher hat man als Standard auch einen anderen Begriff f&uuml;r das 8 Bit Byte gew&auml;hlt: Oktett. Wer Standards z.B. f&uuml;r Internet Protokolle durchliest, wird diesen Begriff &ouml;fters lesen. Die Franzosen wird es auch freuen, denn die haben schon in den Achtzigern per Deklaration das Byte im Sprachgebrauch durch das Oktett ersetzt. Man hat ja dort eine Abneigung gegen Fremdw&ouml;rter und will die Sprache franz&ouml;sisch \u201erein\u201c halten.<\/p>\n<p>Das einzige was nach dem Bit und Oktett standardisiert ist das Wort, bzw. Vielfache davon Doppelwort, Quadwort. Ein Wort entspricht der Bitanzahl der Architektur des Computers. Wenn man von der heutigen x86-Architektur, die den Speicher byteweise anspricht, den Blick auf andere CPU-Architekturen schweifen l&auml;sst, dann herrschte fr&uuml;her die wortweise Adressierung vor. Das war nur logisch: Der Datenbus war wortweise organisiert und so lud man immer ein Wort ein. Als Nebeneffekt hatte man so bei mehr als 8 Bits in der Architekt auch mehr Speicher. Die Cray 1 hatte in der Standardausf&uuml;hrung z.B. einen Speicher von 1 MWorten was bei ihrer 64 Bit Architektur 8 Megabyte entspricht. RISC Prozessoren hatten, als sie einzogen, auch nur eine wortweise Adressierung bzw. Befehle zum wortweisen Verarbeiten von Daten. (ob dem heute noch bei den neuesten Exemplaren so ist wei&szlig; ich leider nicht).<\/p>\n<p>Die nur wortweise Adressierung hat einige Vorteile. Der erste ist, dass man eine Menge Opcodes spart um Bytes oder andere Bruchteile eines Wortes als Operanden zu unterst&uuml;tzen. Das Verarbeiten von k&uuml;rzeren Operanden macht nur in wenigen F&auml;llen Sinn. Man muss z.b. drauf achten das die h&ouml;herwertigen Bits von Registern nicht ver&auml;ndert werden, d.h. man kann nicht einfach die 8-bit-Operation durch eine wortweise Operation ersetzen. Sinn macht es nur bei Zeichenoperationen die fr&uuml;her eben immer 8 Bit umfassten (heute dank weiterer Standards auch 16 Bit). Fr&uuml;her waren Computer fast ausschlie&szlig;lich zum Rechnen da und Zeichenoperationen beschr&auml;nkten sich meist auf die Ein\/Ausgabe von Zeichenketten. So gab es in Crays Rechnern keine Operationen f&uuml;r 6 oder 8 Bits. Man packte eben einfach 10 bzw. 8 Zeichen in Wort und gab sie aus. Was man nicht brauchte, f&uuml;llte man mit Nullbytes auf. Lediglich der Vergleich, den man mit dem Durchsuchen von Zeichenketten braucht, geht so nicht. Bei einigen 16-Bit Prozessorarchitekturen machte die byteweise Operationen einen Sinn wenn sie nur einen 8-Bit Datenbus hatten oder ihre ALU nur 8 Bit breit war, dann wurden die 16 Bit Operationen in zwei Durchg&auml;ngen erledigt.<\/p>\n<p>Die heutige Dominanz des Bytes und das man Worte oft als EDV-Begriff nicht (mehr) kennt, kommt daher das heute die x86 Architektur vorherrscht und die basiert auf der 8 Bit Architektur des 8080. Der 8086 hatte daher auch alle 8 Bit Verarbeitungsbefehle und adressierte wie der 8080 byteweise. Das war nicht bei allen damals neu erschienen Prozessoren. Der TMS 9900 adressierte z.B. nur 16 Bit weise (ganz durchdacht hatte man das Konzept aber nicht, denn der Adressbus war nur 15 Bit breit, sodass er in der Praxis auch nur 64 KByte ansprechen konnte). Andere Prozessoren wie der MC68000 hatten einen universelleren Ansatz und unterst&uuml;tzen byte, word und long word (so hei&szlig;en in Motorola Nomenklatur 8, 16 und 32 Bit).<\/p>\n<p>Ein zweiter Grund war die mit den ersten Personalcomputern entstandenen Anwendungen. Eine der ersten war Textverarbeitung. Sie erleichterte zuerst das Leben von Sekret&auml;rinnen und rationalisierte sie dann sp&auml;ter weg. Texte zu verarbeiten bedeutet Zeichenketten zu verarbeiten und deren kleinste Einheit ist eben 8 Bit breit.<br \/>\nWas nicht standardisiert ist auch die Bezeichnung von Typen in Programmiersprachen. Im urspr&uuml;nglichen C Standard steht z.B. nur die Reihenfolge der Typen, d.h. das ein int gr&ouml;&szlig;er als ein short int ist. Der erste von Kerningham und Ritche f&uuml;r eine Fremdplattform (Honeywell 6000) &uuml;bersetzte C-Compiler nutzte z.B. dort einen 6 Bit Code (die PDP-11 auf der C entwickelt wurde war eine 16 Bit Maschine mit 8 Bit Bytes), da dieser Rechner eine 36 Bit Architektur hatte. Alle Datentypen waren dort anders gro&szlig; als auf der PDP-11. Wer schon in DOS Zeiten C programmierte wird auch noch wissen, das damals der Int auch nur 16 Bit breit war. Es w&auml;re interessant zu wissen ob heute auf einem 64 Bit Compiler dann int 64 bits breit ist, bei 32 Bit Windows war er zumindest nur 32 Bit breit und 64 Bit waren dort ein long int. &Auml;hnliches gibt es bei anderen Programmiersprachen. In Pascal ist der Typ Real auch nicht standardisiert. Turbo Pascal nutzte daf&uuml;r 48 Bits, doch wenn man heute ein Programm mit Real als Datentyp schreibt wird man bald feststellen das es intern ein 64 Bit Wert ist \u2013 die 48 Bit Typen wurden durch Software berechnet und heute hat jeder Prozessor die M&ouml;glichkeit Flie&szlig;kommazahlen in Hardware zu berechnen.<\/p>\n<p>In jedem Falle sind die Bezeichnungen aus Programmiersprachen nicht standardisiert. Standardisiert sind die Bezeichnungen f&uuml;r Flie&szlig;kommazahlen sowie ihr Aufbau und Genauigkeit in IEEE 754, doch deren Bezeichnungen wie &#8222;Binary64&#8220; f&uuml;r den Typ Double (64 Bit Flie&szlig;kommazahl) sind nicht allgemein &uuml;blich und Ganzzahlen hat IEEE leider nie standardisiert.<\/p>\n<p>Wie bezeichnet man 16 Bits denn nun am besten? Also ich w&uuml;rde zu \u201e16 Bit Wort\u201c greifen, schon alleine weil auch das Wort unterschiedlich gro&szlig; sein kann (ich kenne Worte von 12 bis 64 Bit Gr&ouml;&szlig;e).<img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg05.met.vgwort.de\/na\/3bec3f73bab747dfaaa57f0d6ce08c45\" width=\"1\" height=\"1\" alt=\"\"\/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hans lieferte mir den Aufh&auml;nger f&uuml;r den heutigen Artikel, der sich auch mit Prozessorarchitekturen besch&auml;ftigt. N&auml;mlich die Frage wie man 16 Bits in der Informationstechnik bezeichnet. Schon mal der Ansatz wie Hans diese Frage l&ouml;st ist interessant. Ich w&uuml;rde in Google Books nachschauen oder in meinem B&uuml;cherregal. Hans stellt die Frage in einem Forum, was [&hellip;]<\/p>\n","protected":false},"author":169,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[4],"tags":[3916,3765,3918,3917,3915],"class_list":["post-11209","post","type-post","status-publish","format-standard","hentry","category-computer","tag-16-bit","tag-byte","tag-ieee754","tag-nibble","tag-wort","entry"],"a3_pvc":{"activated":false,"total_views":1759,"today_views":0},"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":18612,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2026\/03\/28\/galileos-cds-teil-2\/","url_meta":{"origin":11209,"position":0},"title":"Galileos CDS \u2013 Teil 2","author":"Bernd Leitenberger","date":"28. M\u00e4rz 2026","format":false,"excerpt":"So, heute geht es weiter mit Teil 2 \u00fcber Galileos CDS, dieser Beitrag schlie\u00dft nahtlos an den ersten Beitrag von gestern an, wie man schon an der ersten Textzeile sieht. Nach der Einleitung im ersten Teil geht es heute weiter damit warum der RCA 1802 genutzt wurde und was seine\u2026","rel":"","context":"In &quot;Raumfahrt&quot;","block_context":{"text":"Raumfahrt","link":"https:\/\/www.bernd-leitenberger.de\/blog\/category\/raumfahrt\/"},"img":{"alt_text":"","src":"https:\/\/vg07.met.vgwort.de\/na\/191e4b0728de42829cf656027b84dc82","width":350,"height":200},"classes":[]},{"id":18610,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2026\/03\/27\/galileos-cds-teil-1\/","url_meta":{"origin":11209,"position":1},"title":"Galileos CDS &#8211; Teil 1","author":"Bernd Leitenberger","date":"27. M\u00e4rz 2026","format":false,"excerpt":"Hall\u00f6chen, es wird Zeit das ich mich mal wieder melde. Es gab zwei Gr\u00fcnde, warum ich mich so rar gemacht habe. Das eine ist das es gerade nicht so viel aktuelles gibt, au\u00dfer einem Update zu Artemis, zu dem ich vielleicht noch etwas schreibe. W\u00e4hrend Trump das ganze Programm nach\u2026","rel":"","context":"In &quot;Raumfahrt&quot;","block_context":{"text":"Raumfahrt","link":"https:\/\/www.bernd-leitenberger.de\/blog\/category\/raumfahrt\/"},"img":{"alt_text":"","src":"https:\/\/vg07.met.vgwort.de\/na\/4fb81c7bafbd4d9d88b5695abdb33d29","width":350,"height":200},"classes":[]},{"id":18654,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2026\/05\/08\/zwei-hypothetische-galileoprojekte\/","url_meta":{"origin":11209,"position":2},"title":"Zwei hypothetische Galileoprojekte","author":"Bernd Leitenberger","date":"8. Mai 2026","format":false,"excerpt":"Heute ein Blog, in dem ich zwei Galileoprojekte unter die Lupe nehme, die zumindest diskutiert wurden. Galileo durchlief vor dem Start ja einige Umplanungen. Diese waren vor allem dadurch bedingt, dass die Sonden von 1.500 auf \u00fcber 2.500 kg Gewicht anwuchsen und so die geplante Startm\u00f6glichkeit mit einem Space Shuttle\u2026","rel":"","context":"In &quot;Raumfahrt&quot;","block_context":{"text":"Raumfahrt","link":"https:\/\/www.bernd-leitenberger.de\/blog\/category\/raumfahrt\/"},"img":{"alt_text":"","src":"https:\/\/vg02.met.vgwort.de\/na\/4c32cea80e8e49b69bdc5bc974151b2d","width":350,"height":200},"classes":[]},{"id":18380,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2025\/09\/03\/die-glorreichen-10-das-war-mal-weg-pc-hardware\/","url_meta":{"origin":11209,"position":3},"title":"Die glorreichen 10 &#8211; Das war mal weg: PC Hardware","author":"Bernd Leitenberger","date":"3. September 2025","format":false,"excerpt":"Ich will heute mal zwei ZDF Info \/ Neo Sendungen verbinden. Die glorreichen 10, die bei mir als Vorlage f\u00fcr einige Blogs dienten und die von mir noch mehr gesch\u00e4tzte Sendung \"Das war mal weg\", wo es um Dinge geht, die fr\u00fcher fast jeder hatte und die heute aus unserem\u2026","rel":"","context":"In &quot;Die Glorreichen 10&quot;","block_context":{"text":"Die Glorreichen 10","link":"https:\/\/www.bernd-leitenberger.de\/blog\/category\/allgemein\/die-glorreichen-10\/"},"img":{"alt_text":"","src":"https:\/\/vg02.met.vgwort.de\/na\/876c61d389304d98aa0332fadd769381","width":350,"height":200},"classes":[]},{"id":18683,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2026\/06\/01\/die-glorreichen-10-programmiersprachen-2\/","url_meta":{"origin":11209,"position":4},"title":"Die glorreichen 10 \u2013 Programmiersprachen (2)","author":"Bernd Leitenberger","date":"1. Juni 2026","format":false,"excerpt":"Der heutige Teil schlie\u00dft nahtlos an den ersten Teil an, der gestern erschien. Es geht um 10 Kriterien anhand derer man Programmiersprachen kategorisieren kann. Maschinennah oder universell, aber komplex Als eine maschinennahe Sprache bezeichnet man eine Sprache, die nahe den M\u00f6glichkeiten von Prozessoren ist. Das Paradebeispiel ist C. Alle Prozessoren\u2026","rel":"","context":"In &quot;Die Glorreichen 10&quot;","block_context":{"text":"Die Glorreichen 10","link":"https:\/\/www.bernd-leitenberger.de\/blog\/category\/allgemein\/die-glorreichen-10\/"},"img":{"alt_text":"","src":"https:\/\/vg09.met.vgwort.de\/na\/7f5d9cf5265047179df05b778bf455b5","width":350,"height":200},"classes":[]},{"id":18406,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2025\/09\/23\/der-blogautor-von-der-ki-beurteilt\/","url_meta":{"origin":11209,"position":5},"title":"Der Blogautor von der KI beurteilt","author":"Bernd Leitenberger","date":"23. September 2025","format":false,"excerpt":"Ich nutze inzwischen auch eine KI. Prim\u00e4r zu Recherche, im Browser https:\/\/www.perplexity.ai die f\u00fcr Recherchen (nach Eigenauskunft) spezialisiert ist. Seit ich vor mehr als zwei Jahren die KI zum ersten Mal getestet habe, hat diese sich enorm gebessert. Sie fabuliert weniger und ist intelligenter. Damals konnte man noch die AI\u2026","rel":"","context":"In &quot;Allgemein&quot;","block_context":{"text":"Allgemein","link":"https:\/\/www.bernd-leitenberger.de\/blog\/category\/allgemein\/"},"img":{"alt_text":"","src":"https:\/\/vg01.met.vgwort.de\/na\/c334c52e97b74da9b82424a9e80c6d97","width":350,"height":200},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/posts\/11209","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/users\/169"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/comments?post=11209"}],"version-history":[{"count":0,"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/posts\/11209\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/media?parent=11209"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/categories?post=11209"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/tags?post=11209"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}