Steuerwerk

Wenn der Prozessor als Kommandozentrale des Computers angesehen werden kann, so ist das Steuerwerk (Control Unit, auch Leitwerk) der Kapitän. Anhand des vorgegebenen Programms wird hier das erforderliche Zusammenwirken der einzelnen Baueinheiten bestimmt.

Im allgemeinen werden folgende Aufgaben erfüllt:
- Befehlsauswahl aus dem Speicher in der richtigen und logischen Reihenfolge.
- Steuerung des Rechenwerks (ALU), des Speichers und der Ein- und Ausgabeeinheiten mittels Signale
- Änderung von Adressen unter Berücksichtigung der Register und Überwachung der Baueinheite.

Die Befehlsausführung liegt intern in der Zentraleinheit im Mikro- und Nanosekundenbereich. Die peripheren Geräten weisen dagegen auch noch mechanisch betriebene Bauteile auf, die zu bewegen langsamer verläuft. Ihre Ausführungszeit bewegt sich deshalb nur im Millisekundenbereich.

Aus diesem Grund erfolgt die Steuerung geteilt als Programmsteuerung und als Ein- und Ausgabe-Steuerung. Die internen Vorgänge der CPU werden durch die Programmsteuerung des Steuerwerks koordiniert.

Bei der Abarbeitung der einzelnen Befehle des aktuellen Programms wird im Steuerwerk die Bedeutung der Befehle in Steuerimpulse umgesetzt. Diese werden an die jeweiligen Baugruppen der Zentraeinheit weitergeleitet.

Beim Steuerwerk kommen Register zum Einsatz, die auch hier als Schnell- speicher fungieren. Eine Schlüsselstellung nehmen hierbei das Befehls- register, das Befehlszählregister und die Register zur Adreßrechnung ein.

Prinzipiell laufen die Arbeiten im Steuerwerk wie fogt ab:
In das Befehlsregister wird der abzuarbeitende Befehl geladen. Dieser Befehl enthält einen Operationsteil und einen Adreßteil.
Der Operationsteil wird im Decodierer (engl.: decoder) entschlüsselt. Dabei werden die binär verschlüsselten Eingabesignale durch seine Schaltwerke entsprechend der Schaltalgebra umgewandelt und an die Eingangsleitungen der Mikroprogrammeinheit abgegeben.
Bei der Interpretation des decodierten Befehls in der Mikroprogrammeinheit wird eine Folge von Signalen erstellt, die an die ausführenden Funktions- einheiten (Rechenwerk oder die Ein- und Ausgabeeinheiten) übermittelt werden.
Im Adreßteil steht die Adresse des Operanden. Sie kennzeichnet die Speicherstelle, in der der Operand abgespeichert ist oder abgespeichert werden soll.

Sie ist in der Regel eine Zahl zwischen 0 bis 2n - 1.Allerdings beschränken sich marktübliche Computer nicht mehr nur auf eine Adresse im Adreßteil, sondern es wird mit Zwei- bzw. Drei-Adreßsystemen gearbei- tet.

Bei der absoluten Adressierung ist die Adresse im Adreßteil identisch mit dem Speicherplatz des Operanden. Inzwischen wurden Adreßkonzepte entwickelt, die den Zugriff beschleunigen sollen. Sie erfordern immer dann eine Adreßberechnung, wenn die Adresse im Adreßteil abweichend vom technischen Speicherplatz des Operanden ist.

Die Adreßberechnung ist an die vorliegenden Art der Adressierung gebun- den. Über eine Vergrößerung des Adreßraumes (Menge aller möglichen Adressen) und eine Verschieblichkeit der Programme wird heute versucht, die Leistungsfähigkeit der Computer zu erhöhen. Dafür wurden spezielle Verfahren für die Adreßrechnung entwickelt. Sie stellen hohe Anforderun- gen an das Betriebssystem, von dem aus diese Verfahren überwacht werden.

So arbeiten die Computer inzwischen mit einem Multiprogramming: Tritt im Programm ein Ein- oder Ausgabebefehl, ein externer Befehl auf, dann unterbricht die Programmsteuerung dieses Programm. Der externe Befehl wird an die Ein-Ausgabe-Steuerung abgegeben. Dabei werden die momentanen Inhalte der Register wir z.B. des Befehlszählers sicher- gestellt.

Die auszugebenden Daten gelangen über das Bussystem in Pufferspeicher (Puffer oder buffer), werden dort zwischengespeichert und gelangen dann mit angepaßter Geschwindigkeit in den Puffer der Gerätesteuerung. In dieser Zeit arbeitet die Programmsteuerung an der Abarbeitung anderer Programmteile.

Durch den Ein-Ausgabe-Prozessor als Teil des Steuerwerks wird also die Ein- oder Ausgabe der Daten überwacht. Indem eine Kopplung mit Puffern zur kurzfristigen Zwischenspeicherung erfolgt, können die Geschwindig- keitsunterschiede zwischen CPU und peripheren Geräten abgefangen werden. Dabei findet eine Ein-Ausgabe-Steuerung sowohl in der Zentral- einheit als auch im Bussystem und in den peripheren Geräten selbst statt.
Mit einem zeitlich versetzten Abarbeiten von zwei Befehlen, dem sogenann- ten Piplining , wird auf andere Weise die Geschwindigkeit der Programm- abarbeitung erhöht:
Hierbei laufen bereits die einzelnen Phasen der Befehlsabarbeitung über- lappend. Das setzt voraus, daß die beteiligten Schaltwerke mehrfach vorhanden sein müssen.
In das Befehlszählregister wird beim Programmstart die Adresse des ersten Befehls (Ladeadresse, Startadresse) geladen. Durch eine geson- derte Schaltung wird dieser Zähler nach Ausführung des Befehls um 1 erhöht.

Damit enthält das Befehlszählregister immer die Adresse des nächsten abzuarbeitenden Befehls. Bei Sprungbefehlen wird jedoch die Addition mit 1 umgangen und die im Adreßteil stehende Adresse wird übernommen.

INDEX