March 21, 2014 0

transcomp – Anleitung für einen PC ohne ICs

By in Computerarchitektur, Hardware, Projektmanagement, transcomp

Binäre Daten

Ein Computer lädt, verändert und speichert Daten. Zunächst müssen wir uns nun ansehen, in welcher Form die Daten die eben genannten Stadien durchlaufen. Hier hat sich für elektrisch betriebene Rechner eine Variante etabliert, die auch heute von den modernsten Computern verwendet wird und wohl auch noch eine ganze Weile den absoluten Standard darstellen wird.
Die Rede ist vom digitalen Verarbeiten von Daten. Oft werden Sie die äquivalente Bezeichnung binär vorfinden.

Während der Mensch in der Lage ist, eine Vielzahl analoger Informationen zu verarbeiten (z.B. akustische Signale), rechnet der digitale Computer nur mit zwei Zuständen. Obwohl elektrischer Strom, der dem Computer als Informationsträger dient mehrere Eigenschaften (Stromstärke, Spannung…) hat, die wiederum eine unendliche Anzahl an Zuständen annehmen können, macht es Sinn auf die zwei Fälle Strom-fließt und Strom-fließt-nicht zu abstrahieren.
Die folgende Tabelle zeigt ihnen die verschiedenen gleichbedeutenden Darstellungsformen:

Strom fließt Strom fließt nicht
1 0
H L

Kommen wir nun zu der Frage, wie man vorhandene Datenformate in diesen binären Datentyp umwandelt.

Beginnen möchte ich mit den Natürlichen Zahlen (Ganze Zahlen, größer Null). Hierzu möchte ich eine einfache elektrische Schaltung vorstellen, welche uns die Zahlen 0 bis 9 in Form von brennenden Glühlämpchen darstellt:

Schließen wir nun den Schalter S4, so leuchtet die Lampe L4, was wir wiederum als die Zahl 4 interpretieren.

Wir haben also eine digitale Schaltung gebaut, die in der Lage ist den Zahlenraum [0,9] an ganzen Zahlen auszugeben. Doch wie sieht das ganze aus, wenn wir 0-100 Zahlen darstellen möchten? Hierfür müssten wir die eben vorgestellte Schalung um 90 Schalte, Lämpchen und Leitungen erweitern. Und für noch größere Zahlen würde dies schon sehr bald kaum noch realisierbar sein und sprichwörtlich den Rahmen sprengen.

Ich halte fest: wir müssen die Zahlen irgendwie anders codieren, um Bauteile und Leitungen einzusparen. Es folgt nun eine solche Codierung, die ich Ihnen an der folgenden Wertetabelle exemplarisch vorstellen möchte:

Nun zur Erklärung: Wir stellen uns hierfür vor, dass jedes Lämpchen für eine feste Dezimalzahl steht, deren Wert sich von rechts nach links immer verdoppelt. Betrachten wir die erste und die zweite Zeile der Tabelle, so ist dies noch problemlos nachvollziehbar: Für die Dezimalzahl 1 brennt das erste Lämpchen von rechts. Für die Dezimalzahl 2 brennt das zweite Lämpchen von rechts. Wenn Sie nun die dritte Zeile betrachten und die Dezimalzahl 3 dargestellt durch zwei leuchtende Lämpchen sehen, dann erinnern Sie sich daran, was wir eben über die Bedeutung eben dieser Lämpchen gesagt habe: Das eine steht für die 1, das andere für die 2. Die Dezimalzahl 3 wird also durch die Addition der Lämpchen 1 + 2 dargestellt.

Wenn wie nun noch jedes leuchtende Lämpchen durch eine 1 und jedes nicht leuchtende Lämpchen durch eine 0 ersetzen erhalten wir folgende Äquivalenztabelle:

8 4 2 1 Dezimalzahl
0 0 0 1 1
0 0 1 0 2
0 0 1 1 3
0 1 0 0 4
0 1 0 1 5

Nun folgt die entscheidende Frage: Haben wir durch diese Codierung wirklich Bauteile und Leitungen eingespart? Betrachten wir hierfür die Zahl 100:

  1. Direkte Darstellung:
    0000000000.0000000000.0000000000.0000000000.0000000000.0000000000.0000000000.0000000000.0000000000. 0000000001
    100 Informationen sind nötig, um die Zahl 100 darzustellen
  2. Unsere Codierung:
    64   32   16    8    4    2    1
    1     1     0     0     1     0     0      =  64 + 32 + 4 = 100
    7 Informationen sind nötig, um die Zahl 100 darzustellen

Mathematisch ausgedrückt kann nach unserer Codierung ein Zahl, die aus n binären Ziffern besteht 2^n (lies: 2 hoch n) Zahlen darstellen.

Als Maßeinheit für die Datenmenge verwendet man den Begriff Bit. Für  unsere Codierung heißt das, dass wir die Dezimalzahl 100 durch eine 7-Bit-Binärzahl darstellen können.

Andere Datentypen wie z.B. Texte werden immer erst in Zahlen umcodiert und anschließend in Binärzahlen umgewandelt. Um Text in Zahlen zu codieren wird zunächst der Text in seine einzelnen Zeichen unterteilt. Anschließend werden bestimmte standatisierte Zuordnungstabellen, die jedem Zeichen eine Zahl zuordnen verwendet, zu Rate gezogen. Besonders weit verbreitet ist der ASCII-Zeichensatz, der 256 Zeichen und Sonderzeichen darstellen kann.

Ein kleines abschließendes Beispiel soll die verschiedenen Schritte veranschaulichen, die zur Darstellung eines Satzes in binärer Form nötig sind.

Der Satz lautet: “Hallo, Welt!”

  1. In einzelne Zeichen unterteilen:
    H a L l o , W e l t !

     

  2. Nach dem ASCII-Zeichensatz jedem Zeichen eine Dezimalzahl [0,255] zuordnen:
    H a L l o , W e l t !
    72 97 108 108 111 44 32 87 101 108 116 33

     

  3. Jede Dezimalzahl [0,255] in eine 8-Bit-Binärzahl umwandeln:
    72 01001000
    97 01100001
    108 01101100
    108 01101100
    111 01101111
    44 00101100
    32 00100000
    87 01010111
    101 01100101
    108 01101100
    116 01110100
    33 00100001

Die 8-Bit-Datenmenge spielt in der Informatik nicht nur zur Darstellung von Zeichen eine wichtige Rolle, weshalb eine weitere Maßeinheit eingeführt wurde:

8 Bit = 1 Byte

Wir brauchen also für unseren Satz 12 Bytes (oder 96 Bits).

Zusammenfassung

Sie sollten nun über die Grundsätze der binären Darstellung von Daten Bescheid wissen. Wie man Fließkommazahlen und negative Zahlen darstellt und wie man mit binären Zahlen im Allgemeinen rechnet, erfahren Sie in einem späteren Kapitel.

Inhaltsverzeichnis:

Pages: 1 2 3 4

Leave a Reply