Computerarchitektur: Speicher, CPU, Busse & Prozessmanagement
Eingeordnet in Informatik
Geschrieben am in Deutsch mit einer Größe von 22,92 KB
Speicher (Memory)
Arten von Speicher
- Interner Speicher: Speichert Daten vorübergehend während Programme ausgeführt werden.
- Auxiliary-Speicher (Externer Speicher): Speichert Informationen langfristig, auch nach dem Herunterfahren des Systems.
Hauptmerkmale des Speichers
- Kapazität: Repräsentiert das Gesamtvolumen der Informationen (in Byte), die der Speicher sichern kann.
- Zugriffszeit: Entspricht der Zeitspanne zwischen der Anforderung zum Lesen/Schreiben und der Verfügbarkeit der Daten.
- Zykluszeit: Repräsentiert das minimale Zeitintervall zwischen zwei aufeinanderfolgenden Zugriffen.
- Leistung (Performance): Definiert die Menge der ausgetauschten Informationen pro Zeiteinheit, ausgedrückt in Bits.
- Nicht-Volatilität: Charakterisiert die Fähigkeit des Speichers, Daten zu behalten, auch wenn keine Stromversorgung vorhanden ist.
- Auffrischung (Refresh): Beschreibt den Vorgang, der notwendig ist, um den Betrieb von RAM an verschiedenen Positionen aufgrund von Leistungsverlust aufrechtzuerhalten.
Speichertypen
- Random-Access Memory (RAM): Der Hauptspeicher des Computers.
- Read-Only Memory (ROM): Nur lesbarer Speicher.
- Flash-Speicher: Ein intermediärer Speichertyp zwischen RAM und ROM.
RAM-Typen
- DRAM (Dynamic RAM): Wird hauptsächlich für den Hauptspeicher des Computers verwendet. Muss ständig aufgefrischt (aktualisiert) werden, in regelmäßigen Abständen, dem sogenannten Upgrade-Zyklus.
- SRAM (Static RAM): Wird hauptsächlich als Cache im Prozessor verwendet.
Speicherzugriff
Jeder Speicherpunkt wird durch eine entsprechende Adresse gekennzeichnet, die sich aus Zeilen- und Spaltennummern zusammensetzt. Dieser Zugriff ist nicht sofortig, und die Zeitspanne wird als Latenzzeit bezeichnet.
Die Zugriffszeit bis zum Speicherzugriff auf Informationen entspricht der Zykluszeit plus Latenzzeit.
ROM-Typen und Funktionen
- BIOS (Basic Input/Output System): Ein Programm zur Steuerung der wichtigsten Input/Output-Schnittstellen.
- Bootstrap Loader: Sucht in der Regel nach dem Betriebssystem und lädt es, zuerst von der Festplatte, dann vom Diskettenlaufwerk im Falle einer Störung der Systemplatte.
- CMOS-Setup: Wird verwendet, um die Systemparameter zu ändern (oft fälschlicherweise als BIOS bezeichnet).
- Power-On Self-Test (POST): Läuft automatisch ab, wenn das System gestartet wird, um das System zu testen.
Busse
Ein Bus ist in der Computertechnik die Menge der physischen Verbindungen, die mehrere Hardware-Komponenten miteinander verbinden, um zu kommunizieren. Das Ziel der Busse ist es, die Anzahl der Routen für die Kommunikation zwischen verschiedenen Komponenten zu reduzieren.
Merkmale eines Busses
Ein Bus ist gekennzeichnet durch die Menge der gleichzeitig übertragbaren Informationen. Dieses Volumen wird in Bits ausgedrückt. Der Begriff "Breite" wird verwendet, um die Anzahl der Bits zu bezeichnen, die ein Bus gleichzeitig übertragen kann.
Darüber hinaus wird die Bus-Geschwindigkeit durch ihre Frequenz (in Hertz oder Hz) definiert, d.h. die Anzahl der Datenpakete, die pro Sekunde gesendet oder empfangen werden können. Jedes Mal, wenn Daten gesendet oder empfangen werden, spricht man von einem Zyklus. So ist es möglich, die maximale Übertragungsgeschwindigkeit des Busses zu bestimmen (die Menge der Daten, die pro Zeiteinheit transportiert werden kann).
Arten von Bussen
- Adressbus: Führt Speicheradressen, auf die der Prozessor zugreifen möchte, um Daten zu lesen oder zu schreiben. Dies ist ein unidirektionaler Bus.
- Datenbus: Überträgt sowohl Anweisungen vom Prozessor als auch solche, die an ihn gerichtet sind. Dies ist ein bidirektionaler Bus.
- Steuerbus: Führt Steuerbefehle und Synchronisationssignale. Dies ist ein bidirektionaler Bus.
Hauptbusse und Chipsatz
- Hauptbus (Internes Bus-System): Ermöglicht dem Prozessor die Kommunikation mit dem Hauptspeicher (RAM) des Systems.
- Erweiterungsbus (Expansion Bus): Ermöglicht verschiedenen Komponenten des Mainboards (z.B. USB) die Kommunikation miteinander.
- Chipsatz: Der Chipsatz ist die Komponente, die den Datenfluss zwischen den verschiedenen Bussen des Computers regelt.
Komponenten des Chipsatzes
- North Bridge: Verantwortlich für die Steuerung des Datentransfers zwischen dem Prozessor und dem RAM.
- South Bridge: Übernimmt die Kommunikation zwischen den peripheren Input/Output-Geräten.
Prozessor (CPU)
Der Prozessor (CPU) ist sozusagen das Gehirn des Computers. Er ermöglicht die Verarbeitung von numerischen Informationen, d.h. im binären Format eingegebene Daten, und die Ausführung von Anweisungen, die im Speicher abgelegt sind.
Leistung und Taktfrequenz
Die Leistung des Prozessors wird durch eine elektronische Schaltung bestimmt, die mit einer internen Uhr arbeitet, die Impulse, sogenannte "Zyklen" oder "Takte", sendet. Die Taktfrequenz ist die Anzahl der Impulse pro Sekunde, ausgedrückt in Hertz (Hz). Mit jedem Taktzyklus führt der Prozessor eine Aktion aus, die einer Anweisung oder einem Teil davon entspricht.
Anweisungen (Instruktionen)
Anweisungen sind im Hauptspeicher abgelegt und warten darauf, vom Prozessor verarbeitet zu werden. Es gibt zwei Haupttypen:
- Operationscode: Definiert die Aktion, die der Prozessor ausführen muss.
- Operanden: Definieren die Parameter der Aktion.
Anweisungen können in verschiedene Kategorien eingeteilt werden (4 Arten):
- Speicherzugriff: Speicherzugriff oder Übertragung von Informationen zwischen Registern.
- Arithmetische Operationen: Operationen wie Addition, Subtraktion, Multiplikation oder Division.
- Logische Operationen: Operationen wie AND, OR, NOT, XOR, etc.
- Steuerung: Ablaufsteuerungen, bedingte Verzweigungen, etc.
Register
Wenn der Prozessor Anweisungen ausführt, werden Informationen temporär in Registern gespeichert. Die wichtigsten Register sind:
- Der Akkumulator (ACC): Speichert die Ergebnisse von arithmetischen und logischen Operationen.
- Das Statusregister (PSW, Processor Status Word): Enthält Systemstatusindikatoren (z.B. Carry-Flag, Überlauf-Flag).
- Das Instruktionsregister (IR): Enthält die Anweisung, die gerade verarbeitet wird.
- Der Programmzähler (PC, Program Counter): Enthält die Adresse der nächsten Anweisung, die verarbeitet werden soll.
- Der Puffer (Buffer): Speichert Informationen aus dem Speicher.
Cache-Speicher
Ein Cache ist ein schneller Speicher, der die Wartezeiten für den Zugriff auf Informationen reduziert, die an anderer Stelle im RAM gespeichert sind.
- Level-1-Cache (L1-Cache): Ist direkt in den Prozessor integriert und in zwei Teile gegliedert:
- Der Befehls-Cache: Enthält Anweisungen aus dem RAM.
- Der Daten-Cache: Enthält Daten aus dem RAM.
- Level-2-Cache (L2-Cache): Befindet sich im selben Gehäuse wie der Prozessor und ist ein Vermittler zwischen dem Prozessor und seinem internen Cache sowie dem RAM.
- Level-3-Cache (L3-Cache): Befindet sich auf dem Motherboard.
Steuersignale
Steuersignale sind elektronische Signale, die die verschiedenen Einheiten des Prozessors orchestrieren, die an der Ausführung von Anweisungen beteiligt sind.
Funktionale Einheiten des Prozessors
Der Prozessor besteht aus einer Gruppe von miteinander verbundenen Einheiten:
Steuerwerk (Control Unit)
Das Steuerwerk empfängt eingehende Informationen, entschlüsselt sie und sendet sie an die Ausführungseinheit. Es besteht aus:
- Sequenzer: Synchronisiert die Geschwindigkeit der Auftragsausführung mit der Uhr.
- Programmzähler: Enthält die Adresse des aktuell auszuführenden Befehls.
- Instruktionsregister: Enthält die nächste Anweisung.
Ausführungseinheit (Execution Unit)
Die Ausführungseinheit führt die Aufgaben der Anweisungseinheit aus. Sie besteht aus:
- Arithmetisch-Logische Einheit (ALU): Wird für die Durchführung grundlegender arithmetischer und logischer Funktionen verwendet.
- Gleitkomma-Einheit (FPU): Führt komplexe Berechnungen aus, die die ALU nicht verarbeiten kann.
- Das Statusregister.
- Der Akkumulator.
Bus-Management-Einheit
Die Bus-Management-Einheit verwaltet den Fluss der ankommenden und abgehenden Informationen.
Grundlagen der Computerarchitektur
Ein Computer ist eine Reihe von modularen elektronischen Komponenten, d.h. Komponenten, die durch andere ersetzt werden können.
- Hardware: Bezieht sich auf alle physischen Elemente des Computers.
- Software: Bezieht sich auf Programme und Daten.
Wichtige Motherboard-Komponenten
Hier werden die Hauptplatine (Motherboard), das Netzteil und weitere Komponenten erklärt:
- Chipsatz: Eine elektronische Schaltung, deren Funktion es ist, den Datentransfer zwischen den Komponenten des Computers zu koordinieren.
- Echtzeituhr (RTC) und CMOS-Batterie: Die RTC ist eine Schaltung, deren Funktion es ist, das System zu synchronisieren. Sie wird kontinuierlich vom Motherboard über eine Batterie (Knopfzelle) mit Strom versorgt.
- BIOS: Das BIOS ist das Programm, das das Motherboard steuert und als Schnittstelle zwischen der Hardware und dem Betriebssystem dient. BIOS-Einstellungen werden zur Konfiguration verwendet; die Daten werden im CMOS gespeichert.
- Prozessor-Sockel: Der Prozessor ist das Gehirn des Computers. Er führt Programme aus, die aus einer Reihe von Anweisungen bestehen. Er ist durch seine Frequenz gekennzeichnet, d.h. die Geschwindigkeit, mit der er Anweisungen ausführt. Ein 800 MHz Prozessor kann beispielsweise 800 Millionen Operationen pro Sekunde durchführen.
- Kühler: Da der Prozessor Wärme abgibt, ist es notwendig, einen Kühlkörper zu montieren, um die Wärme abzuleiten und ein Schmelzen der Schaltung zu verhindern.
Prozessmanagement
Es gibt zwei grundlegende Arten der Interaktion mit einem Computer: Batch-Verarbeitung und interaktive Verarbeitung. Im letzteren Fall steht der Prozessor ständig im Dialog mit dem Benutzer.
Prozesse und Multiprogrammierung
Ein Prozess ist ein Programm, dessen Ausführung begonnen hat und das vom Betriebssystem als Ganzes behandelt wird.
- Monoprogrammierung: Nur ein Programm wird gleichzeitig ausgeführt. Ein neues Programm kann erst starten, wenn das vorherige beendet ist.
- Multiprogrammierung: Ein Prozess kann in verschiedene Threads oder Aufgaben aufgeteilt werden, die parallel und unabhängig voneinander (gleichzeitig) ausgeführt werden können.
Prozesszustände
Ein Prozess (oder Thread) befindet sich im Bereit-Zustand, wenn der Prozessor seine Ausführung beginnen oder fortsetzen kann. Ein Prozess tritt in den Gesperrt-Zustand ein, wenn der Prozessor nicht weiter mit ihm arbeiten kann, weil er auf den Abschluss einer Ein-/Ausgabeoperation warten muss.
Effizienzparameter eines Systems
Zur Messung der Effizienz eines Systems werden oft die folgenden Parameter verwendet:
- Leistung (Throughput): Die Anzahl der während eines Zeitraums durchgeführten Arbeiten.
- CPU-Auslastungsrate: Für eine bestimmte Zeit ist dies die genutzte Prozessorzeit im Verhältnis zur gesamten Prozessorzeit.
P =
- Laufzeit eines Prozesses: Die Zeit, die seit dem Start bis zum Abschluss der Ausführung vergangen ist.
- Maschinenzeit (Turnaround Time): Die Zeit, die das System benötigt, um auf eine Aufgabe oder einen Antrag zu reagieren und diese auszuführen.
- Reaktionszeit-Koeffizient: Das Verhältnis:
R =
=
Planungsalgorithmen (Scheduling)
Wenn mehrere Prozesse bereit sind, muss entschieden werden, welchem Prozess der Prozessor zugewiesen wird.
- Round Robin (Rotation): Einer der wichtigsten Scheduling-Algorithmen (aufgrund seines Alters, seiner Einfachheit und breiten Nutzung). Jedem Prozess im Speicher wird ein festes Zeitintervall zugewiesen.
- Prioritäten: Ein Prozess hat in der Regel eine zugehörige Priorität.
- Statische Prioritäten: Können z.B. von der Relevanz der Prozesse (oder Benutzer) abhängen.
- Dynamische Prioritäten: Werden vom Betriebssystem selbst festgelegt und geändert.
- Gemischte Prioritäten: Eine Mischung aus statischen und dynamischen Prioritäten.
- Prioritätsplanung: Ein weiterer wichtiger Algorithmus. Der Scheduler weist dem Prozess mit der höchsten Priorität die Ausführung zu.
Verarbeitungsmodi
- Multiprogrammierung: Im Hauptspeicher befinden sich verschiedene Prozesse, die das Betriebssystem abwechselnd dem Prozessor zuweist.
- Multiuser-System: Ein Multiprogrammierungssystem, das die gleichzeitige Nutzung durch verschiedene Benutzer ermöglicht, inklusive Identifizierung, Authentifizierung und Kontrolle.
- Stapelverarbeitung (Batch Processing): Eine Arbeit wird in eine Warteschlange aufgenommen und beginnt erst mit der Ausführung, wenn sie vom System entsprechend dem verfügbaren Speicher ausgewählt wird.
- Parallele Verarbeitung: Trennt die Warteschlange in verschiedene Klassen, je nach Priorität, Durchlaufzeiten und Speicherverbrauch.
- Multiprocessing-System: Diese Systeme sind so konzipiert, dass sie mit zwei oder mehr Prozessoren gleichzeitig arbeiten und die verschiedenen Prozesse oder Threads auf die verschiedenen Prozessoren verteilen.
Zustände eines Prozesses (Detailliert)
Ein Prozess kann aus Sicht der Ausführung verschiedene Situationen oder Zustände annehmen:
- Ein Prozess im Entstehungszustand (In Utero) ist ein Programm, das begonnen hat, aber noch nicht realisiert ist, d.h. es befindet sich im Speicher oder wird zur Implementierung vorbereitet.
- Der Bereit-Zustand: Der Prozess befindet sich im Hauptspeicher, hat keine ausstehenden I/O-Operationen und ist bereit zur Ausführung.
- Der Aktive Zustand: Entspricht dem Zustand, in dem der Prozess zu diesem Zeitpunkt vom Prozessor bearbeitet wird.
- Der Gesperrte Zustand: Der Prozess wird unterbrochen, um einem Prozess mit höherer Priorität zu dienen (der ihn wiederum blockiert).
Ein Prozess wechselt vom gesperrten Zustand in den bereit-Zustand, wenn seine ausstehende E/A-Operation beendet ist.