Hardware

Die elektronische Basis von Software

Daten

Die elektronischen Bauteile arbeiten mit binären Daten (Bits und Bytes). Um eingegebene Informationen verarbeiten zu können, werden die Informationen in binäre Daten übersetzt (kodiert).

Nach der Datenbearbeitung werden die Daten für die Ausgabe entsprechend dem Zielmedium aufbereitet und stehen dann als Informationen zur Verfügung.

Nullen und Einsen

Die "Nullen und Einsen" des Maschinencodes (Software) sind schon lange ein stehender Begriff. Hardware-seitig entsprechen sie gegensätzlichen elektrischen Zuständen, die umgeschaltet und identifiziert werden können: "Strom aus vs. Strom an" oder auch "nicht geladen vs. geladen".

Auf den kausale Zusammenhang, also wie sich Hardware und Software wechselseitig manipulieren, wird im Kurs nicht eingegangen. Einfache Kenntnisse von den "Nullen und Einsen" als Basis von Software sind dagegen für das Verständnis wichtig.

Die Frage, wie komplizierte Software-Algorithmen zu einfachen "Nullen und Einsen" reduziert werden, geht man am besten anders herum an. Und der erste entscheidende Punkt ist, dass die "Nullen und Einsen" zu Gruppen zusammengefasst werden. Als Beispiel folgen alle acht möglichen Kombinationen (2^3) einer Gruppe von drei "binären" Werten:

[0-0-0], [0-0-1], [0-1-0], [0-1-1], [1-0-0], [1-0-1], [1-1-0], [1-1-1]

Durch die Gruppierung ist es möglich, jeder Position per Definition eine andere Information zuzuordnen. Die Zuordnungen sind für jede Gruppe gleich. Entsprechend dem binären Wert sind die zugeordneten Inhalte dann entweder gültig (1) oder nicht (0). Damit die Anzahl der Positionen auch vergrößert werden kann, erfolgen die Zuordnungen von rechts nach links.

Zum Beispiel können den Positionen der binären Werte von rechts nach links dezimale Zahlenwerte zugeordnet werden: 1, 2 und 4. Diese Werte werden dann entsprechend dem binären Wert nacheinander hinzugezählt (1) oder nicht (0). In dem Beispiel ergeben sich für die Gruppen Summen von 0 bis 7.

Bit und Byte

Eine binäre Position wird als "Bit" bezeichnet. Eine Gruppe von acht Bits wird als "Byte" bezeichnet und kann mit 256 möglichen Kombinationen (2^8) entsprechend viele Werte darstellen. Bei Bedarf werden Bytes auch kombiniert.

Im Kurs wird der Bezug von Bytes zur Programmierung am Beispiel der Zuordnung von Buchstabeninformationen (Zeichenkodierung) anschaulich gemacht.

Prozessor

Ein Prozessor besteht aus mehreren Bauteilen. In Zusammenarbeit mit dem Arbeitsspeicher werden in den Kernelementen Bytes bearbeitet. Im Kurs wird nur darauf eingegangen, dass gängige Prozessoren mehrere Kerne haben und welche Bedeutung dies für die Programmierung hat (Threads).

Bus

Mit "Bus" wird in der IT die datenbezogene Verbindung zwischen verarbeitenden Einheiten bezeichnet.

Arbeitsspeicher

Bei der Verarbeitung werden vom Prozessor alle Inhalte als Bytes kodiert im Arbeitsspeicher an genau definierten Stellen (Adressen) kurzfristig zwischengespeichert und abgerufen.

Die Organisation der Inhalte durch Byte-Adressen wird vom Betriebssystem gesteuert und ist für die Programmierung von Apps nur auf einfachem Niveau relevant. Darauf wird an den entsprechenden Stellen im Kurs näher eingegangen.

Permanenter Datenspeicher

Die wenigen für die Programmierung relevanten Eigenschaften von aktuellen Datenträgern werden erklärt.

Netzwerke

Mit Basiswissen über das Internet wird der Abschnitt abgeschlossen.