Grundlagen der Computerarchitektur und Funktionsweise

Eingeordnet in Informatik

Geschrieben am in Deutsch mit einer Größe von 6,74 KB

Von-Neumann-Architektur

John von Neumann hatte die Idee, Programme und die zu verarbeitenden Daten im selben Speicher abzulegen, sodass sie von einem Prozessor ausgeführt werden können. Seitdem arbeiten Computer nach diesem Prinzip.

CPU (Central Processing Unit)

Die CPU (Zentraleinheit) ist das Herzstück des Computers. Sie besteht aus mehreren Komponenten:

  • Steuerwerk (Control Unit, CU): Verantwortlich für die Interpretation und Steuerung der Maschinenbefehle eines Programms. Es erzeugt die Steuersignale, um die notwendigen Operationen durchzuführen.
  • Befehlsdecoder: Entschlüsselt die aus dem Speicher geholten Befehle.
  • Taktgeber: Gibt den Takt für die synchronisierte Ausführung aller Operationen vor.
  • Befehlszähler: Enthält die Speicheradresse des nächsten auszuführenden Befehls.
  • Rechenwerk (Arithmetic Logic Unit, ALU): Führt arithmetische (z. B. Addition) und logische (z. B. UND, ODER) Operationen mit den Daten aus, die es vom Steuerwerk erhält.
  • Gleitkommaeinheit (Floating Point Unit, FPU): Ein spezialisierter Koprozessor, der komplexe mathematische Operationen mit Gleitkommazahlen durchführt. Auch bekannt als mathematischer Koprozessor oder numerischer Koprozessor (NDP).

Register

Register sind kleine, sehr schnelle Speicherbereiche innerhalb der CPU, die Daten oder Adressen temporär halten.

Für den Benutzer sichtbare Register

  • Adressregister: Speichern Speicheradressen.
  • Datenregister: Speichern Daten.
  • Zustandsregister: Enthalten Informationen über den Zustand der letzten Operation (z. B. ob das Ergebnis null war).

Steuer- und Statusregister

  • Befehlszähler (Program Counter, PC): Zeigt auf den nächsten Befehl.
  • Befehlsregister (Instruction Register, IR): Hält den aktuell auszuführenden Befehl.
  • Speicheradressregister (MAR): Hält die Adresse des Speicherorts, auf den zugegriffen werden soll.
  • Speicherdatenregister (MDR): Hält die Daten, die in den Speicher geschrieben oder aus ihm gelesen werden.

Kommunikationsbusse

Die verschiedenen Einheiten (CPU, Speicher etc.) kommunizieren über Busse miteinander. Ein Bus ist ein System von elektrischen Leitungen, das Informationen zwischen den Komponenten überträgt. Die Busbreite (z. B. 16, 32 oder 64 Bit) bestimmt die Datenmenge, die gleichzeitig übertragen werden kann.

Bustypen

  • Datenbus: Ermöglicht den Austausch von Daten zwischen der CPU und anderen Geräten (Speicher, Peripherie). Die Geschwindigkeit wird in MHz oder GHz gemessen.
  • Adressbus: Überträgt Speicheradressen von der CPU zum Speicher, um die Position der Daten zu bestimmen. Ein breiterer Adressbus ermöglicht den Zugriff auf mehr Speicher.
    Beispiel 10-Bit-Bus: 210 = 1024 Positionen
    Beispiel 16-Bit-Bus: 216 = 65536 Positionen
  • Steuerbus: Überträgt die Steuersignale, die vom Steuerwerk erzeugt werden, um die Abläufe im Computer zu koordinieren.

Speicher

  • Cache: Ein sehr schneller Pufferspeicher zwischen CPU und RAM, der Daten enthält, auf die wahrscheinlich in Kürze wieder zugegriffen wird.
  • RAM (Random Access Memory): Der schnelle Hauptspeicher, der die Programme und Daten enthält, die gerade ausgeführt werden.

Peripheriegeräte

Eingabegeräte

Diese Geräte werden verwendet, um Informationen in einen Computer einzugeben. Beispiele:

  • Tastatur, Maus, Webcam, Scanner, Mikrofon, Barcode-Scanner, Joystick, Touchscreen.

Ausgabegeräte

Diese Geräte geben Informationen aus, die vom Computer verarbeitet wurden. Beispiele:

  • Monitor, Drucker, Lautsprecher, Kopfhörer, Fax.

Ein-/Ausgabegeräte

Speicherperipherie

Diese Geräte speichern Daten für den Prozessor und fungieren sowohl als Ein- als auch als Ausgabegerät. Beispiele:

  • Festplatte, CD/DVD/Blu-ray-Laufwerk (Leser und Brenner), USB-Sticks, Magnetbänder, Disketten.

Kommunikationsperipherie

Diese Geräte können Daten empfangen und senden und erfüllen somit eine E/A-Funktion. Beispiele:

  • Faxmodem, Netzwerkkarte, WLAN-Karte, Bluetooth-Adapter, serielle und parallele Schnittstellen, Hub.

Funktionsweise eines Computers (Startvorgang)

Wenn ein Computer eingeschaltet wird, laufen intern die folgenden Schritte ab:

  1. Beim Einschalten versorgt das Netzteil alle Hardware-Komponenten, einschließlich der CPU, mit Strom.
  2. Sobald die CPU Strom erhält, führt sie einen Befehl aus, der auf den ROM-BIOS-Chip (Basic Input/Output System) verweist. Dort sind die POST-Routinen (Power-On Self-Test) gespeichert.
  3. Während des POST überprüft das BIOS den Status grundlegender Geräte wie CPU, RAM und Tastatur. Wenn keine Fehler gefunden werden, wird der Startvorgang fortgesetzt.
  4. Das BIOS sucht nach dem Bootsektor des Betriebssystems (z. B. auf der Festplatte). Sobald dieser gefunden wird, beginnt das Laden des Betriebssystems (z. B. Windows, Linux) in den Arbeitsspeicher (RAM), um von der CPU ausgeführt zu werden.
  5. Hinweis: Sind mehrere Betriebssysteme installiert, startet das BIOS einen Bootloader, der eine Auswahl ermöglicht.
  6. Nachdem das Betriebssystem geladen ist, können Programme gestartet werden. Der Ablauf ist typischerweise: Programm von der Festplatte → Laden in den RAM → Ausführung durch die CPU.
  7. Beim Herunterfahren speichert das Betriebssystem alle notwendigen Daten, und der Inhalt des flüchtigen RAM wird gelöscht.

Computer-Software

Definition: Die Gesamtheit von Programmen, Anweisungen und Regeln, die einem Computer ermöglichen, bestimmte Aufgaben auszuführen.

Klassifizierung von Software

  • Systemsoftware: Ermöglicht die grundlegende Funktion der Hardware. Sie verwaltet die physischen Komponenten des Computers. Beispiele: Betriebssysteme, Gerätetreiber, Diagnose-Tools.
  • Anwendungssoftware: Hilft dem Benutzer bei der Erledigung spezifischer Aufgaben. Beispiele: Office-Anwendungen, Grafikprogramme, Webbrowser, Berechnungssoftware.
  • Programmiersoftware: Unterstützt Entwickler bei der Erstellung neuer Software durch Werkzeuge wie Compiler, Debugger und grafische Entwicklungsumgebungen. Beispiele: Visual Studio (C++), Eclipse (Java), Python IDLE.

Verwandte Einträge: