Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03481.jsonl.gz/1883

Central Prozessor Unit (CPU)
Die CPU verarbeitet die durch eine Prozess anfallenden Daten nach einer festen, in relativ kleinen Schritten vorgegebenen Anleitung. Diese Anleitung nennt man Programm. Die CPU liest Befehl für Befehl des Programms und führt diese unmittelbar nacheinander aus. Mittels sehr elementarer Befehle, die sinnvoll aneinandergereiht sind, lässt sich eine komplexe Aufgabe lösen. Folgende Aufgabe werden von der CPU bearbeitet:
- Lesen der im Speicher gespeicherten Befehle, Interpretation und Ausführung
- Steuerung des Programmablaufs
- Kontrolle des Bus
Diese Aufgabe werden in der CPU mit Hilfe von folgenden Komponenten gelöst:
- Die Kontrolleinheit (Control Unit):Die Control Unit steuert den internen Ablauf der CPU gemäss den Informationen des Instruction Decoders;
- Der Befehldecoder (Instruction Decoder): Im Instruction Decoder werden die einzelnen Befehle eines Programms decodiert und die Informationen an alle anderen Teile der CPU verteilt;
- Der Programmzähler (Programm Counter): Der Programm Counter wird nach dem Anlegen der Speisespannung auf einen definierten Wert gebracht. Der Inhalt des Program Counter bildet die Speicheradresse, an der der nächste auszuführende Befehl steht. Nachdem der Befehl verarbeitet wurde, wird der Program Counter erhöht und steht so auf dem nächsten Befehl des Programms. Es gibt die Möglichkeit, im Programm den Wert zu verändern, das Programm wir dann an der neuen Adresse weiterfahren. Dies nennt man einen Sprung.
- Die ALU (Arithmetic Logic Unit): Die ALU ist das Rechenwerk des Computers. Die ALU kann alle logischen Verknüpfungen (AND,OR,XOR,NOT), addieren, subtrahieren und schieben (Multiplikation). Je nach Ergebnis der Operation wird das Flagregister verändert.
- Das Flagregister (Status Register): Im Flagregister können die internen Zustände der ALU und der CPU gelesen werden. Diese können vom Programm zur Steuerung des Programmablaufs benutzt werden. Die wichtigsten Flags sind:
- Zeroflag: wird ‚1', wenn die letzte Operation in der ALU als Ergebnis 0 war.
- Signflag: wird ‚1', wenn die letzte Operation in der ALU eine negative Zahl gab;
- Carryflag: wird ‚1', wenn die letzte Operation in der ALU einen Übertrag verursachte.
- Die Register: Ein Register ist ein CPU-interner Speicher der vom Programm ansprechbar ist. Bei Operationen mit der ALU werden immer ein oder zwei Register zu einem Zielregister zusammengeführt. Meist ist das Zielregister mit einem der Quellregister identisch. Früher unterschied man zwischen Akkumulator und Hilfsregister. Man konnte nur mit dem Akkumulator bestimmte Rechenoperationen durchführen. Moderne Prozessoren kennen diese doch massive Einschränkung nicht mehr, die Register werden (quasi) gleichwertig betrachtet. Allerdings gibt es auch Spezialregister, die für bestimmte Aufgaben reserviert wird.
- Die Bus Kontrolleinheit (Bus Control Unit): die Bus Control Unit steuert den Ablauf am Bus, also der Schnittstelle zu Speicher und Peripherie. Es werden zum richtigen Zeitpunkt die Daten und Adressen durchgeschalten und die Kontrollsignale gesetzt (Bus timing)