9.2.2 Das Herz eines Computers


Mit Bitfolgen einen PC steuern

Ein Computer ist ein elektrisches Gerät. In einem elektrischen Gerät fließt elektrischer Strom. Elektrischer Strom besteht aus Elektronen, die in einem Stromkreis von einem Minuspol zu einem Pluspol fließen. Elektrischen Strom kann man ein- und ausschalten.

In einem Computer können daher zwei verschiedene Zustände unterschieden werden:

Zustände

Ein Computer kann besonders gut rechnen. Er kann also spielend leicht zwei Zahlen addieren. Einen Satz wie: Addiere die Zahlen 5 und 4 versteht ein Computer jedoch nicht, da er nur die beiden Zustände "0" und "1" kennt. Es muss ein Weg gefunden werden, dem Computer mit nur zwei verschiedenen Symbolen beizubringen, dass er z.B. zwei Zahlen addieren soll.

Ein Computer kann Daten nur dann mit einem Computerprogramm verarbeiten, wenn das Computerprogramm und die Daten ausschließlich mit den Symbolen 0 und 1 im Computer gespeichert sind.

Eine Folge von Symbolen, die nur die beiden Symbole 0 und 1 enthält (z.B. 1001110011101), nennt man eine Bitfolge.


Mit einer Bitfolge können die elektrischen Stromkreise eines Computers gesteuert werden:

  • Bei einer 1 wird in einer elektrischen Schaltung die Spannung eingeschaltet: z.B. 5 V (Strom fließt).

  • Bei einer 0 wird in einer elektrischen Schaltung die Spannung ausgeschaltet: 0 V (Strom fließt nicht).

Binäre Steuerung


Beispiel: Automatischer Zähler

Im folgenden Beispiel wird der Zustand von 8 Leitungen mit Hilfe einer Steuerleitung gesteuert:

  • beim Eingang CLK wird Strom abwechselnd eingeschaltet (Leitung ist grün = "1") und wieder ausgeschaltet (Leitung ist grau = "0").

  • Abhängig vom Zustand des Eingangs CLK wird in der komplizierten elektrischen Schaltung der Strom an den Ausgangsleitungen eingeschaltet (Zustand 1) oder ausgeschaltet (Zustand 0).

Auf dem Mainboard eines Computers gibt es in den verbauten Mikrochips Millionen ähnlicher elektrischer Stromkreise, mit welchen Bitfolgen verarbeitet werden können.


Speichern von Bitfolgen

Bevor Bitfolgen verarbeitet werden können, müssen diese im Computer gespeichert sein. Dafür gibt es den Arbeitsspeicher (RAM) des Computers.

Der Arbeitsspeicher ist ein elektrisches Bauteil, das sehr schnell Bitfolgen speichern und ausgeben kann. Eine Bitfolge muss im Arbeitsspeicher so gespeichert werden, dass man sie wieder finden kann.

Wenn man sich etwas bei einem Online-Händler bestellt, dann kann das Paket sicher zugestellt werden, da jede Wohnung/Haus eine eindeutige Adresse hat. Eine bestimmte Kombination aus Familienname , Strassenname, Hausnummer, Postleitzahl und Ort gibt es nur ein einziges Mal.

Diese Idee wurde genutzt, um im Arbeitsspeicher gespeicherte Daten wieder finden zu können:

  • Der Arbeitsspeicher wird in viele einzelne Speicher-Bereiche aufgeteilt.

  • In jedem Speicher-Bereich wird eine festgelegte Anzahl von Bits gespeichert (z.B. 8 Bit). Eine gespeicherte Bitfolge nennt man Daten-Bitfolge.

  • Jeder Speicherbereich mit 8 Bit bekommt eine eindeutige Adresse, die aus einer festen Anzahl von Bit besteht (z.B. 8 Bit). Eine Bitfolge, mit welcher ein Speicherplatz adressiert wird nennt man Adress-Bitfolge.

Adressierung

Jede Adresse im Arbeitsspeicher ist eine einmalige Bitfolge, keine zwei Adressen dürfen die gleiche Bitfolge als Adresse haben:

  • Die erste Adresse des Arbeitsspeichers wird mit der Bitfolge 0000 bezeichnet.

  • Die darauf folgenden Adressen werden nach folgender Regel bezeichnet:

    • wenn am Ende einer Bitfolge eine 0 steht, ersetzt man die Null mit einer 1.

    • wenn am Ende einer Bitfolge eine 1 steht, ersetzt man die 1 mit einer Null und schiebt die 1 eine Stelle nach links, indem man die links stehende 0 mit der 1 ersetzt.

Die ersten 16 Adressen des Arbeitsspeichers sind:

    0000
    0001
    0010
    0011
    0100
    0101
    0110
    0111
    1000
    1001
    1010
    1011
    1100
    1101
    1110
    1111

An jeder Adresse des Arbeitsspeichers kann eine Daten-Bitfolge gespeichert werden:

Adress-Bitfolge: 0000 - Daten-Bitfolge: 01000101
Adress-Bitfolge: 0001 - Daten-Bitfolge: 00001101
Adress-Bitfolge: 0010 - Daten-Bitfolge: 11001101
Adress-Bitfolge: 0011 - Daten-Bitfolge: 11111011
Adress-Bitfolge: 0111 - Daten-Bitfolge: 00000000
...

Eine Bitfolge mit einer Länge von 8 Bit nennt man ein Byte.

An jeder Adresse im Arbeitsspeicher kann ein Byte an Daten gespeichert werden.


Mit 1 Bit können 2 Adressen notiert werden:

    0
    1

Mit 2 Bit können 4 Adressen notiert werden:

    00
    01
    10
    11

Mit 3 Bit können 8 Adressen notiert werden:

    000
    001
    010
    011
    100
    101
    110
    111

Mit 4 Bit können 16 Adressen notiert werden:

    0000
    0001
    0010
    0011
    0100
    0101
    0110
    0111
    1000
    1001
    1010
    1011
    1100
    1101
    1110
    1111

Mit 5 Bit können 32 Adressen notiert werden:

    00000
    00001
    00010
    00011
    00100
    00101
    00110
    00111
    01000
    01001
    01010
    01011
    01100
    01101
    01110
    01111
    10000
    10001
    10010
    10011
    10100
    10101
    10110
    10111
    11000
    11001
    11010
    11011
    11100
    11101
    11110
    11111

Mit \(n\) Bit können \(2^n\) Adressen notiert werden.


Mit 32 Bit können \(2^{32} = 4.294.967.296\) Adressen notiert werden:

    00000000000000000000000000000000
    00000000000000000000000000000001
    00000000000000000000000000000010
    00000000000000000000000000000011

    ... mehr als 4 Milliarden Adressen ...

    11111111111111111111111111111110
    11111111111111111111111111111111

  • Windows 10 - 32 Bit kann Adressen im Arbeitsspeicher mit 32 Bit adressieren.

  • Windows 10 - 64 Bit oder Windows 11 kann Adressen im Arbeitsspeicher mit 64 Bit adressieren.


Eine Bitfolge kann als Dezimalzahl aufgefasst und so für uns Menschen kürzer notiert werden:

Wenn man einer Binärfolge die Bedeutung einer Zahl zuordnet, nennt man diese Binärfolge eine Binärzahl oder eine Dualzahl.


Eine Adresse mit 32 Bit als Bitfolge zu notieren ist sehr umständlich. Daher wurde ein Verfahren entwickelt, wie man eine Adresse deutlich kürzer notieren kann.

Man ersetzt eine Folge von 4 Bit mit nur einem einzigen Zeichen:

  • Man beginnt mit den Dezimal-Ziffern 0-9.

  • Sobald alle 10 Zahlziffern verwendet wurden, nutzt man die ersten Buchstaben des Alphabets

    0000 = 0
    0001 = 1
    0010 = 2
    0011 = 3
    0100 = 4
    0101 = 5
    0110 = 6
    0111 = 7
    1000 = 8
    1001 = 9
    1010 = a
    1011 = b
    1100 = c
    1101 = d
    1110 = e
    1111 = f

Damit kann man jeweils 4 Bit einer Adresse mit einem Zeichen notieren.

Da bei dieser Schreibweise 16 Zeichen verwendet werden, nennt man diese Art der Bezeichnung Hexadezimal-Schreibweise. Das Wort ist ein lateinisch griechisches Mischwort: hexa (griechisch) = sechs; decem (lateinisch) = Zehn.


Beispiele:

  • Eine Adresse aus 4 Bit kann mit einem Zeichen in der Hexadezimalschreibweise abgekürzt notiert werden:

    0110 ≙ 6

  • Eine Adresse aus 16 Bit kann man mit 4 Zeichen in der Hexadezimalschreibweise abgekürzt notiert werden:

    0101 1011 1000 0110 ≙ 5b86

  • Eine Adresse aus 32 Bit kann man mit 8 Zeichen in der Hexadezimalschreibweise abgekürzt notiert werden:

    0101 1011 1000 0110 0000 1111 1001 1100 ≙ 5b860f9c

  • Eine Adresse aus n Bit kann man mit n/4 Zeichen in der Hexadezimalschreibweise abgekürzt notiert werden:


Eine Zeichenfolge im Hexadezimalsystem kann auch als eine Zahl aufgefasst werden:


Verarbeiten von Bitfolgen

Computerprogramme und Daten werden im Computer immer als eine Bitfolge, die nur aus den beiden Symbolen 1 und 0 bestehen, gespeichert.

Ein Computer muss also in der Lage sein:

  • Computerprogramme, die nur aus den beiden Symbolen 1 und 0 bestehen, auszuführen und

  • Daten, die nur aus den beiden Symbolen 1 und 0 bestehen damit zu verarbeiten.

Wie das funktioniert wird in der folgenden CPU-Simulation anhand von einfachen Beispielen demonstriert.

CPU

  • Öffne folgenden Link in einem neuen Fenster: 8-Bit CPU-Simulator

  • Klicke auf "Beispiel laden" und dann auf "B1: Zahl laden und ausgeben".

  • Klicke fortlaufend auf "Nächster Schritt" und beobachte dabei, wie eine Zahl aus dem Arbeitsspeicher gelesen und dann ausgegeben wird.

  • Öffne folgenden Link in einem neuen Fenster: 8-Bit CPU-Simulator

  • Klicke auf "Beispiel laden" und dann auf "B2: Zahl eingeben und speichern".

  • Klicke fortlaufend auf "Nächster Schritt" und beobachte dabei, wie eine eingegebene Zahl an einer Adresse im Arbeitsspeicher gespeichert wird.

  • Öffne folgenden Link in einem neuen Fenster: 8-Bit CPU-Simulator

  • Klicke auf "Beispiel laden" und dann auf "B3: Zwei Zahlen laden und addieren".

  • Klicke fortlaufend auf "Nächster Schritt" und beobachte dabei, wie zwei Zahlen aus dem Arbeitsspeicher gelesen, dann addiert und schließlich das Ergebnis ausgegeben wird.


Ein Computer-Chip wird gebaut

Im folgenden Video der Firma Infinion wird erklärt wie ein Chip gebaut wird:

Mikrochip-Herstellung - Wie entsteht ein Chip? (Infinion)


Teste dich!

Ordne die folgenden Binärzahlen in der richtigen Reihenfolge! Ziehe dazu die blau gefärbten Zahlen in die richtigen Felder.

0000000100100011010001010110011110001001101010111100110111101111

Ordne die folgenden Hexadezimalzahlen in der richtigen Reihenfolge! Ziehe dazu die blau gefärbten Zahlen in die richtigen Felder.

0123456789abcdef