Informatik-Grundlagen

Bei der Informatik handelt es sich um die Wissenschaft von der systematischen Darstellung, Speicherung, Verarbeitung und Übertragung von Informationen, wobei besonders die automatische Verarbeitung mit Computern betrachtet wird. Sie ist zugleich Grundlagen- und Formalwissenschaft als auch Ingenieurdisziplin.

Ein Computer dient dazu, die Verarbeitung der Daten durchzuführen.

Ein Computer besteht im Wesentlichen aus einem Rechenwerk (ALU), einem Steuerwerk(CU) und einem internen Speicher(Cache, RAM). Das Rechenwerk kümmert sich um die Berechnungen, das Steuerwerk koordiniert die Berechnungen und die Zugriffe auf den Speicher und die restliche Peripherie. Der Speicher speichert Daten und gewährt Zugriff auf diese Daten. Das Rechen- und das Steuerwerk bilden den sogenannten Prozessor.

Grundlage der heutigen Computer ist die sogenannte Von-Neumann-Architektur. Hierbei befinden sich das ausgeführte Programm und die Daten im gleichen Speicher.

Aufgebaut sind die heutigen Prozessoren aus kleinen elektronischen Schaltern, die den Zustand „Aus“ und „An“ annehmen können. Diese Schalter werden durch elektrische Spannung gesteuert. Beispielsweise bedeuten 3,3 Volt „An“ oder auch 1 und 0 Volt bedeuten „Aus“ oder 0. Diese Schalter heißen Transistor.

Die Erfindung des Transistors war bahnbrechend, da hierdurch schnelle Computer gebaut werden konnten. Vorher waren Computer aus Elektronenröhren oder mechanischen Schaltern aufgebaut und wesentlich langsamer. Der Begriff „Bug“ für einen Programmfehler kommt auch daher, dass sich ein echter Käfer in einer Elektronenröhre befand und so den Computer zum Absturz brachte.

Der interne Speicher besteht aus sogenannten Flip-Flops, welche aus Transistoren zusammengebaut sind (Cache), oder aus Kondensatoren, welche die Ladung speichern können (RAM). Diese Speicher sind flüchtig, d.h. sie verlieren ihre Daten, wenn der Strom weg ist. Weiterhin gibt es nichtflüchtige Speicher wie Festplatten und SSDs. Die kleinste Speichereinheit, die den Zustand 0 oder 1 annehmen kann nennt sich Bit. 8 Bit bilden ein Byte. Typischerweise sind schnelle Speicher teuer und daher klein und langsame Speicher billig und groß. Der Cache besteht aus einigen Kilobyte bis Megabyte und ist der schnellste Speicher. Der RAM besteht aus einigen Gigabyte und ist schneller als eine Festplatte oder SSD, die aus mehreren Terabyte bestehen.

Aus diesen beiden Zuständen 0 und 1 lassen sich komplexe logische Operationen aufbauen mit den Verknüpfungen „AND“, „OR“ und „NOT“. Durch diese binäre Logik kann man das gesamte Steuerwerk des Prozessors beschreiben und somit auch mithilfe der Transistoren zusammenbauen.

Zum Rechnen in der ALU benötigt der Prozessor eine Repräsentation von Zahlen, die mit 0 und 1 funktioniert. Hierzu gibt es das binäre System, das im Gegensatz zu dem bekannten Dezimalsystem (Zustände 0-9) nur auf 2 Zuständen (0 und 1) basiert.

Hier ist eine einfache Erklärung:

  1. Grundlagen:
    • Im Dezimalsystem basiert alles auf der Zahl 10. Das bedeutet, jede Stelle in einer Zahl ist eine Potenz von 10. Zum Beispiel: 345 im Dezimalsystem bedeutet 3×100+4×10+5×1. Wobei 100=10^2, 10 = 10^1 und 1 = 10^0 ist.
    • Im Binärsystem basiert alles auf der Zahl 2. Jede Stelle ist eine Potenz von 2.
  2. Stellenwerte im Binärsystem:
    • Jede Stelle in einer binären Zahl repräsentiert eine Potenz von 2, beginnend von rechts nach links.
    • Die erste Stelle (ganz rechts) ist 2^0, die zweite Stelle ist 2^1, die dritte Stelle ist 2^2 und so weiter.
  3. Beispiel einer binären Zahl:
    • Betrachten wir die binäre Zahl 1011. Um diese Zahl zu verstehen, schauen wir uns jede Stelle an:
      • Die ganz rechte Stelle ist 1, was 1×2^0 = 1 bedeutet.
      • Die nächste Stelle ist 1, was 1×2^1 = 2 bedeutet.
      • Die nächste Stelle ist 0, was 0×2^1=0 bedeutet.
      • Die linke Stelle ist 1, was 1×2^3 = 8 bedeutet.
  4. Umrechnung in das Dezimalsystem:
    • Um die binäre Zahl 1011 in das Dezimalsystem umzuwandeln, addieren wir die Werte der einzelnen Stellen: 8+0+2+1=11.
  5. Zusammenfassung:
    • Im Binärsystem werden Zahlen nur mit den Ziffern 0 und 1 geschrieben.
    • Jede Stelle in einer binären Zahl entspricht einer Potenz von 2.
    • Um eine binäre Zahl in eine Dezimalzahl umzuwandeln, multipliziert man jede Stelle mit der entsprechenden Potenz von 2 und addiert die Ergebnisse.

Folgende Tabelle veranschaulicht den Sachverhalt:

2er-Potenz2^32^22^12^0
Dezimalwert8421
Binärzahl1001
Dezimalzahl8*1 + 4*0 + 2*0 + 1*1= 9
Veranschaulichung der Binärzahl 1001 = Dezimalzahl 9

Analog dazu das Dezimalsystem:

10er-Potenz10^310^210^110^0
Dezimalwert1000100101
Dezimalzahl3506
Dezimalzahl3*1000 + 5 * 100 + 0*10 + 6*1 = 3506
Veranschaulichung der Dezimalzahl 3506

Um den Computer zu bedienen, muss man ein Programm schreiben, welches auschließlich aus 0en und 1en besteht (Maschinencode). Da dies für Menschen sehr umständlich ist, wurden Programmiersprachen erfunden. Die einfachste Programmiersprache ist Assembler. Diese bildet den Maschinencode 1:1 auf lesbare Abkürzungen ab. Höhere Programmiersprachen sind in einer englischartigen Sprache definiert und dadurch wesentlich einfacher zu verstehen. Wenn ein Programm in einer solchen Programmiersprache geschrieben ist, muss es noch von einem Compiler in Maschinencode übersetzt werden, bevor es ausgeführt werden kann.