| Inhaltsverzeichnis
|  | Übersicht Kapitel 1
|  | 1.2 Erklärung wichtiger Begriffe

## 1.1 Aufbau eines Digitalrechners

Ein Digitalrechner, oft Datenverarbeitungs-Anlage (DVA) oder abkürzend nur Rechner (Computer) genannt, besteht aus drei Hauptkomponenten: Hardware, Software und Firmware (s. Bild 1.1-1). Diese können jeweils wiederum in Subkomponenten unterteilt werden.

Bild 1.1-1: Aufbau eines Digitalrechners

- Die Hardware umfaßt alle mechanischen und elektr(on)ischen Bauelemente und Baugruppen: Widerstände, Kondensatoren, Transistoren, integrierte Schaltungen (Integrated Circuits ICs), Platinen, Stromversorgungen, Gehäuse etc. Sie besitzt eine mehr oder weniger große Anzahl von Registern zur Aufnahme von Operanden, Ergebnissen, Steuer- und Zustandsinformationen und realisiert den "Befehlssatz" des Rechners, die sogenannten Maschinenbefehle.
- Die Software umfaßt alle Programme, die auf dem Rechner ablaufen. Dazu gehören das Betriebssystem und die Anwenderprogramme. Der Betriebssystem-Kern muß die geordnete Bearbeitung aller Programme und die Zuteilung der erforderlichen Betriebsmittel sicherstellen. Zur Systemsoftware zählen wir weiterhin alle Hilfsprogramme zur Benutzung des Rechners, z.B. zur Erstellung von Programmen mit Hilfe von Editoren, Compilern, Interpretern, Ladern etc.
- Die Firmware nimmt eine Mittelstellung zwischen der Hardware und der Software ein. Sie besteht einerseits aus den Mikroprogrammen, die in Festwert- oder Schreib-/Lese-Speichern untergebracht sind und die o.g. Maschinenbefehle realisieren. Andererseits wird dazu häufig jedes Programm gezählt, das in einem Festwertspeicher abgelegt ist, also z.B. das sog. BIOS (Basic Input/Output System) des Betriebssystems, das insbesondere die Steuerung der Ein-/Ausgabegeräte zur Aufgabe hat.

Wie bereits gesagt, werden wir im Rahmen dieses Kurses vor allem die Rechner-Hardware betrachten. Software-Aspekte werden nur auf der niedrigsten Ebene der Hardware/Software-Schnittstelle behandelt, also bei der Beschreibung von typischen Datentypen, Befehlssätzen und Adressierungsarten.
Aus der Hardware-Sicht ist ein Rechner ein digitalelektronisches System, in dem Daten als binärcodierte Informationen eingegeben und dort gespeichert und verarbeitet werden. Das Ergebnis der Bearbeitung wird dann in unterschiedlichster Form ausgegeben, z.B. in Form von binärcodierten Zeichen oder als elektrische Signale zur Steuerung bestimmter Prozesse. Die Verarbeitung der Daten läuft nach einem vorgegebenen Programm ab, das zunächst selbst als binärcodierte Information eingegeben und gespeichert werden muß. Es besteht aus einer Folge von (Maschinen-)Befehlen, die die jeweils nächste Operation und die dazu benötigten Operanden bestimmen.
Im Blockschalt-Bild 1.1-2 ist der prinzipielle Aufbau eines Digitalrechners mit seinen drei Hardware-Komponenten Zentraleinheit, Speicher und Ein-/Ausgabe-Einheiten skizziert.

Bild 1.1-2: Blockschalt-Bild eines Digitalrechners

Die Geräte, die der angesprochenen Eingabe von Daten und Programmen bzw. der Ausgabe der verarbeiteten Daten dienen, werden als Peripheriegeräte oder Ein-/Ausgabe-Einheiten bezeichnet. Dazu gehören beispielsweise (Bildschirm-)Terminals, Drucker, Bandgeräte etc. Sie sind über Ein-/Ausgabe-Schnittstellen mit dem Rechner verbunden. Diese Verbindung wird durch Adreß- und Datenleitungen vorgenommen. Aus den Namen wird ihre Funktion deutlich:

- Unter einer Adresse versteht man in der Digitaltechnik eine binärcodierte Information zur eindeutigen Auswahl (Adressierung) eines bestimmten Speicherwortes, eines Registers oder einer Schnittstelle als Quelle oder Ziel eines Datentransportes. Adreßleitungen heißen diejenigen Leitungen, auf denen die Adreßinformation transportiert wird. Sie werden oft unidirektional betrieben, d.h., daß die Adressen nur von einer einziger Quelle im System ausgesandt werden können. Nur wenn mehrere Komponenten des Systems, z.B. mehrere Prozessoren, Adressen ausgeben können, kann der Informationsfluß auf den Adreßleitungen in beiden Richtungen bidirektional) geschehen.
- Datenleitungen übertragen die zu verarbeitenden Daten. Sie sind in der Regel bidirektional, d.h. der Datentransport kann zu einer Komponente hin oder von ihr weg durchgeführt werden.
- Auf den Steuerleitungen werden für den Transport benötigte Informationen von der Zentraleinheit oder zu ihr hin übertragen, z.B. über den exakten Zeitpunkt des Transports und seine Richtung. Steuerleitungen sind teils uni-, teils bidirektional. Im Unterschied zu den Adreß- und Datenleitungen besteht zwischen den einzelnen Steuerleitungen nicht immer ein funktionaler Zusammenhang.

Grundsätzlich kann jede Schnittstelle mit der Zentraleinheit über eigene Leitungen verbunden sein. In der Realität sind jedoch alle (oder fast alle) Komponenten eines Rechners über dieselben Leitungen miteinander verbunden. Dabei darf zu jedem beliebigen Zeitpunkt immer höchstens eine Komponente Informationen auf diese Leitungen legen. Man spricht in diesem Fall von einem Bus ("Sammelschiene") und faßt die Leitungen nach ihren Funktionen zum Adreßbus, Datenbus und Steuerbus zusammen. Die Gesamtheit dieser drei Busse wird als Systembus bezeichnet.
Im Speicher (Memory, Storage) werden Programme und Daten aufbewahrt. Während jedoch alle Programme hier abgelegt sein müssen, können die benötigten Operanden während der Programmausführung auch direkt von den Eingabegeräten kommen und die Ergebnisdaten ohne Zwischenspeicherung zu den Ausgabegeräten übertragen werden. Der Speicher besteht aus dem Arbeitsspeicher (Hauptspeicher) und dem Peripheriespeicher (Massenspeicher). Der Aufbau und die Organisation eines Arbeitsspeichers wird erst im zweiten Teil der Vorlesung beschrieben. Im weiteren reicht es, wenn Sie sich unter dem Arbeitsspeicher stets eine linear geordnete Liste von Speicherzellen zur Aufnahme von Befehlen und Operanden vorstellen. Jede Speicherzelle ist eindeutig durch die Nummer in der Liste, ihre Adresse, selektierbar. Der Arbeitsspeicher ist heutzutage meist aus schnellen, aber relativ teuren Halbleiterbausteinen aufgebaut und dient zur "kurzfristigen" Aufbewahrung von Programmen und Daten während ihrer Bearbeitungszeit. Der langsamere, preisgünstigere Peripheriespeicher (Festplatte, Floppy Disk, Magnetband) arbeitet hauptsächlich elektromagnetisch und wird zur längerfristigen Programm- und Datenhaltung eingesetzt. Beide Speicherarten verwahren sowohl Betriebssystem- als auch Anwenderprogramme. Bei der Mehrzahl der heute eingesetzten (universellen) Rechnertypen sind in ihnen die Programme und ihre Daten vermischt, also nicht in getrennten Speicherbereichen, abgelegt; der einzelnen Speicherzelle ist dabei nicht anzusehen, welchen Typ Information sie enthält.
Die Verarbeitung der Daten unter Programmkontrolle geschieht in der Zentraleinheit (Central Processing Unit - CPU) des Rechners. Sie wird auch der Prozessor des Rechners genannt und besteht aus dem Steuerwerk und dem Operationswerk.
Das Steuer- oder Leitwerk (Control Unit - CU) holt aus dem Speicher die Befehle eines Programms, entschlüsselt sie und steuert ihre Ausführung in der verlangten Reihenfolge. Es erzeugt dazu die Steuer- und Synchronisier-Signale (SS), die in der CPU selbst benötigt werden, aber auch diejenigen, die das Restsystem aus Speicher, Schnittstellen, Systembus und weiteren Systemkomponenten benötigt. Von diesen Systemkomponenten empfängt das Steuerwerk seinerseits Meldesignale (MS, Statussignale), die ihren aktuellen Zustand kennzeichnen. Steuer- und Meldesignale werden häufig unter dem Begriff Kontrollsignale (Control Signals) zusammengefaßt.
Die Ausführung der durch die Programmbefehle verlangten Operationen ist Aufgabe des Operations- oder Rechenwerkes. Es besteht insbesondere aus einer Einheit, die die arithmetischen und logischen Berechnungen durchführt. Sie wird deshalb arithmetisch/logische Einheit (Arithmetic (and) Logical Unit - ALU) genannt. Dazu kommen einige Register, die der kurzfristigen Speicherung der Operanden oder ihrer Speicheradressen dienen. Auch die ALU wird durch Steuersignale des Leitwerkes beeinflußt und gibt ihrerseits Meldesignale an das Leitwerk zurück. Auf diese Signale kann das Leitwerk reagieren und z.B. eine Programmverzweigung vornehmen. (Im Abschnitt 2.4 wird gezeigt, daß das Operationswerk moderner Prozessoren aus mehreren (Teil-)Rechenwerken bestehen kann.)

| Inhaltsverzeichnis
|  | Kapitel-Übersicht
|  | 1.2 Erklärung wichtiger Begriffe