Skip to main content

1998 | Buch

Rechnerarchitektur

Aufbau, Organisation und Implementierung

verfasst von: Paul Herrmann

Verlag: Vieweg+Teubner Verlag

insite
SUCHEN

Inhaltsverzeichnis

Frontmatter
1. Einführung
Zusammenfassung
Das Bedürfnis und der Wunsch der Menschheit nach informationsverarbeitenden Maschinen sind sehr alt. Bereits im klassischen Altertum hat man Rechner benutzt, die im Wesentlichen aus einer Vielzahl von Zahnrädern bestanden. Die Griechen benutzten derartige Rechner zur Positionsbestimmung ihrer Schiffe in unbekannten Gewässern.
Paul Herrmann
2. Technologische Grundlagen
Zusammenfassung
Die Rechnerarchitektur wird wesentlich von zwei Faktoren bestimmt. Diese sind erstens die Benutzerschnittstelle und zweitens die zur Fertigung der Komponenten verwendete Technologie. Die Benutzerschnittstelle des Rechners muß so gestaltet werden, daß sie den Anforderungen und Fähigkeiten des Menschen entspricht. Die Technologie bestimmt entscheidend die spezifischen Merkmale eines Rechnersystems. Trotz gewaltiger technologischer Fortschritte bei der Fertigung elektronischer Schaltkreise bezüglich Hochintegration und Leistungsverhalten treten in den heutigen Rechnern Probleme auf, die technologisch bedingt sind. Bei einer anderen Technologie würden die heutigen Rechnerarchitekturen ein entsprechend verschiedenes Verhalten zeigen. Der Nutzer ist z. B. daran gewöhnt, daß der Hauptspeicher nach Abschalten des Rechners seinen Inhalt verliert. Wäre dies nicht so, dann könnte man, die entsprechende Größe des modifizierten Hauptspeichers vorausgesetzt, auf den Plattenspeicher verzichten. EPROMs als nichtflüchtige Speicherbausteine könnten Verwendung finden, verbieten sich aber auf Grund der langsamen Lese-und Schreibzugriffe. Der technologische Fortschritt [SBN 82], der die Rechnerarchitektur wohl am nachhaltigsten beeinflußt hat, war die Verwendung von integrierten Schaltkreisen anstelle von Röhren beim Aufbau von Rechnersystemen. Damit wurde die Grundlage für die Computersysteme geschaffen [Wil 51], die heute üblicherweise benutzt werden.
Paul Herrmann
3. Einfachst-Rechner
Zusammenfassung
Im folgenden Kapitel wird am Beispiel eines Einfachst-Rechners der Entwurf eines Prozessors schrittweise dargestellt und seine Funktionseinheiten einzeln und in ihren Wechselwirkungen untereinander erläutert. Dieser Rechner stammt ursprünglich von Phil Koopman Mop 871 und wurde an einigen Universitäten der Südstaaten der USA tatsächlich für Praktika in Hardware implementiert.
Paul Herrmann
4. Adressierung
Zusammenfassung
Die Art der internen Speicherung von Operanden in der CPU ist das wichtigste Unterscheidungsmerkmal zur Klassifizierung von Befehlssatz-Architekturen [HeP 94]. Die Hauptvarianten bilden der Stack, der Akkumulator und ein Registersatz. In einer Stack-Architektur sind die Operanden implizit an der Spitze des Stack enthalten. In der Akkumulator-Architektur dagegen ist der Operand implizit der Akkumulator und Universalregister-Architekturen verfügen nur über explizite Operanden (Register oder Speicherplätze).
Paul Herrmann
5. Speichernutzung
Zusammenfassung
Der Begriff ‚Architektur‘ bezieht sich vordergründig auf die Hardware einer Rechenanlage (vgl. Abschnitt 1.2). Komponenten und Funktionen der Software-Architektur (Betriebssystem, Anwendungsprogramme) bleiben davon unberührt. Das Betriebssystem bildet die Schnittstelle zur Hardware und ermöglicht dem Programmierer bzw. Anwender einen wesentlich einfacheren Umgang mit dem Rechnersystem (Abbildung 5.1).
Paul Herrmann
6. Virtuelle Speicher
Zusammenfassung
Die Hauptspeicherverwaltung, die in Kapitel 5 beschrieben wurde, enthält eine Reihe von Problemen, die aber letztendlich immer wieder gelöst werden konnten. Die angeführten Konzepte zum Speicherschutz, zur Fragmentierung und Overlay-Technik sowie zur Partitionierung im Multiprogrammbetrieb finden in modernen Rechnerarchitekturen keine Anwendung mehr. Sämtliche Methoden zur Speicherverwaltung werden heute durch die virtuelle Speichertechnik optimal e rsetzt.
Paul Herrmann
7. Virtuelle Speicherverwaltung in Multiprogrammsystemen
Zusammenfassung
In multiprogrammierten Betriebssystemen (siehe. Abschnitt 5.4) werden mehrere Prozesse gleichzeitig im Rechner bearbeitet. Bei der Implementierung der virtuellen Speicherverwaltung beansprucht jeder Prozeß seinen eigenen virtuellen Adreßraum. In der Abbildung 7.1 sind mehrfache virtuelle Speicher der ESA /390-Architektur dargestellt. Von den (n+1) Prozessen soll im Augenblick der Prozeß 1 die Verfügungsgewalt über die Zentraleinheit besitzen, d.h. er befindet sich im ‘laufenden’ Zustand. Der virtuelle Speicher der Prozesse 0...n setzt sich aus 2048 Segmenten zusammen und wird demzufolge mittels 11 Bit adressiert. Die Zentraleinheit enthält weiterhin das Segmenttafel-(Ursprungs)-Register, das als Steuerregister auf die Segmenttafel zeigt, die diesem Prozeß zugeordnet ist. Die einzelnen Einträge in der Segmenttafel zeigen wiederum auf die Anfangsadresse der verschiedenen Seitentafeln. Die Segment- und die zugehörigen Seitentafeln werden für die virtuelle Adreßumsetzung benutzt.
Paul Herrmann
8. Segmentierung
Zusammenfassung
Der Begriff ‚Segmentierung‘ ist bereits zweimal mit unterschiedlicher Bedeutung verwendet worden (vgl. Abschnitte 5.4.5 und 6.5.2.2). Im ersten Fall wurde dieser Ausdruck im Zusammenhang mit komplexen Programmen benutzt, die nicht in ihrer Gesamtheit im Hauptspeicher Platz finden. Eine vollkommen andere Bedeutung hatte der Begriff ‘Segmentierung’ für die zweistufige virtuelle Adreßumsetzung. In dem vorliegenden Kapitel versteht man unter ‘Segmentierung’ die Erweiterung des virtuellen Adreßraumes über 232 Byte=4 GByte hinaus.
Paul Herrmann
9. Hauptspeicher
Zusammenfassung
Die schnelle Entwicklung auf dem Gebiet der Speicher-Technologie in den vergangenen zwei Jahrzehnten hat dazu geführt, daß seit Anfang der 70er Jahre die Speicherdichte (Anzahl der Bit pro Speicher-Chip) nahezu in Abständen von 3 Jahren um den Faktor 4 zunahm. Dabei kann man allgemein von zu verhaltenen Voraussagen bezüglich der Wachstumsrate ausgehen. Als im Jahre 1971 der 1 KBit Chip auf dem Markt erschien, waren sich die meisten Fachleute darüber einig, daß eine Implementierung des Hauptspeichers von 64 KByte in einem Personalcomputer mittels 64*8=512 dieser Chips aus Kostengründen nicht vertretbar sei. Eine ähnliche Tendenz in der Einschätzung des technologischen Wachstums setzte sich in den folgenden Jahren fort. Die Abbildung 9.1 zeigt die Verfügbarkeit von Speicher-Chips in Abhängigkeit von der Zeit ab Beginn der 70er Jahre.
Paul Herrmann
10. Mikroprogrammierung
Zusammenfassung
Nach der gesamten Speicher-Problematik einer Rechnerarchitektur soll die interne Verarbeitungsstruktur behandelt werden. Besondere Berücksichtigung finden dabei die Mikroprogrammierung und die Pipeline-Verarbeitung.
Paul Herrmann
11. Pipelines
Zusammenfassung
In Abbildung 11.1 ist der Datenfluß einer beliebigen Zentraleinheit schematisch dargestellt. Daraus geht hervor, daß bei einer Datenoperation der Inhalt von 2 Registern A, B in der ALU verarbeitet und das Ergebnis dieser Operation wieder in ein drittes Register C geschrieben wird. Alternativ kann auch ein Operand aus dem Cache oder dem Hauptspeicher in ein Register E gelesen werden. Dafür ist ein weiteres Register D notwendig, in dem die Adresse des Wortes abgelegt ist, das aus dem Cache oder Hauptspeicher in ein Mehrzweckregister gelesen werden soll.
Paul Herrmann
12. RISC-Architektur
Zusammenfassung
Die RISC (Reduced Instruction Set Computer)-Philosophie wurde zum Ende der 70er Jahre geboren und mit großem Eifer von den Verfechtern gegen das sogenannte CISC (Complex Instruction Set Computer)-Konzept der vergangenen Jahre als ein wesentlicher Schritt in Richtung Leistungserhöhung dargestellt. Im Zusammenhang mit diesen neuartigen Architekturen steht der MIPS (Million Instructions Per Second)-Begriff, der gern benutzt wird, um etwas über die Leistungsfähigkeit einer Rechnerarchitektur auszusagen. Bei den MIPS-Angaben muß aber berücksichtigt werden, daß diese architekturabhängig sind, insbesondere bezüglich Speicherhierarchie (Cache, virtueller Speicher, Memory Interleave, Wartezyklen), Ein-/Ausgabe, Job-Profil und Compiler.
Paul Herrmann
13. Leistungsverhalten von Rechnern
Zusammenfassung
Die Leistung einer Rechenanlage kann auf Grund der Zeit bestimmt werden, die zur Bearbeitung einer bestimmten Aufgabe benötigt wird. Je schneller ein bestimmter Auftrag erledigt wird, umso höher ist die Leistung des Rechners zu bewerten. Die Rechnerleistung wird von verschiedenen Funktionseinheiten innerhalb der Architektur mit unterschiedlichem Gewicht bezüglich einer speziellen Aufgabe beeinflußt. Diese Einheiten bilden global die Rechnerarchitektur: CPU, Hauptspeicher, Ein-/Ausgabe. Wenn die Leistung einer Rechnerarchitektur eingeschätzt wird, muß zunächst geklärt werden, auf welcher Basis diese Bewertung erfolgen soll. Im Abschnitt 12.1 wurde dies mit Hilfe der Programmausführungszeit bestimmt. In diesem Fall hängt die Rechnerleistung allein von der CPU-Zeit ab, wobei hier die NutzerCPU-Zeit gemeint ist. Weiterhin spricht man von der Systemleistung eines Rechners. Letztere bezieht sich auf die Bearbeitungszeit des unbelasteten Systems. Neben der CPU beeinflußt die Größe des Hauptspeichers die Rechnerleistung maßgeblich. Hinzu kommen noch die Bedingungen, unter denen die CPU über ein- oder mehrstufige Cache-Hierarchien mit dem Hauptspeicher kommunizieren kann. Die Funktion der Ein-/Ausgabe-Einheit bei der Leistungsbewertung wird oft unterschätzt. Vergleicht man z. B. eine IBM /390-Großrechenanlage mit einer leistungstarken Workstation, so unterscheiden sich beide in erster Linie durch die Ein-/Ausgabe-Leistung. Der /390-Großrechner verfügt in der heutigen Konfiguration über 256 Ein-/AusgabeKanäle, über die im Extremfall 256 Plattenspeicher gleichzeitig mit dem Hauptspeicher Daten austauschen können. Es sind also weniger die CPU-Leistungen, in denen sich ein moderner Großrechner von einer Workstation unterscheidet, sondern vielmehr die Hauptspeichergröße und die Ein-/Ausgabe-Leistung.
Paul Herrmann
14. Superskalare Architekturen
Zusammenfassung
Seit Mitte der 80er Jahre wurden alle Mikroprozessoren mit einer Standard-Pipeline ausgerüstet, in der die Ausführung eines Maschinenbefehls prizipiell in 4 Stufen erfolgte. In der 1. Stufe wird der Maschinenbefehl aus dem Instruction-Cache oder aus einem Prefetch-Buffer geholt. In der 2. Stufe erfolgt die Decodierung dieses Befehls. Bei einer RISC-Architektur werden aus einer Menge von 16 oder 32 Mehrzweckregistern, die als sehr schnelle Speicher auf dem Silizium-Chip als Data Local Store (DLS) implementiert sind, die Operanden ausgelesen und in die Register A und B (Abbildung 11.5) geschrieben. Die gewünschte Operation, z. B. eine binäre Addition, wird in der 3. Stufe durchgeführt. In der 4. Stufe erfolgt die Ablage des Resultats in einem der Mehrzweckregister oder das Zurückschreiben in den Cache. Jede der beschriebenen Aktionen innerhalb der vier Pipeline-Stufen läuft in einem Maschinenzyklus ab.
Paul Herrmann
15. Dynamic Execution
Zusammenfassung
Nach der Entwicklung und Implementierung superskalarer Rechnerarchitekturen sowie Superpipelines erfolgt momentan ein weiterer Leistungsschub in der Rechnerarchitektur, der unterschiedlich leistungssteigernde Komponenten unter einem einheitlichen Begriff vereinigt: Dynamic Execution.
Paul Herrmann
16. Vektorrechner
Zusammenfassung
Die ersten Vektorrechner erschienen Anfang der 70er Jahre auf dem Markt. Pionierarbeit beim Bau von Vektorrechnern leistete die Firma Control Data Corporation (CDC STAR 100).
Paul Herrmann
17. Hardware-Komponenten zur Unterstützung des Betriebssystems
Zusammenfassung
Ein Betriebssystem stellt dem Nutzer einer Rechnenanlage eine Schnittstelle (Architektur) zur Verfügung, die leichter benutzbar ist als die direkten Zugriffe zur Hardware (siehe Kapitel 5). Weiterhin besteht die Aufgabe des Betriebssystems darin, die Betriebsmittel (Ressourcen) wie Hauptspeicher-und Plattenspeicherplatz, Zugriff zu den E/A-Geräten und CPU-Zeit für eine bestimmte Anzahl von Benutzern und Prozessen zu verwalten. Damit das Betriebssystem, das sich aus dem Überwacher und weiteren Systemprogrammen zusammensetzt, diese Aufgabe erfüllen kann, muß es von den spezifischen Hardware-Einrichtungen unterstützt werden. Diese Einrichtungen lassen sich grob in 4 Komponenten einteilen: Neben dem Speicherschutz (siehe Abschnitt 5.3) zählen dazu Privilegstufen, Stapel (Stack) und Unterbrechungen.
Paul Herrmann
18. Ein- und Ausgabe-Organisation
Zusammenfassung
Das Leistungsverhalten einer Rechnerarchitektur wird in der Regel von drei Komponenten bestimmt:
  • Verarbeitungsleistung der CPU
  • Größe des Hauptspeichers und Effektivität der Hauptspeicher-Ansteuerung
  • Ein-/Ausgabe-Organisation
Die Ein- und Ausgabe eines Rechners bildet die Schnittstelle nach außen, d.h. sie verknüpft periphere Geräte (Tastaturen, Bildschirme, Drucker usw.) mit der Zentraleinheit und implementiert die wichtige Komponente, die in der Regel unsichtbar ist. Durch spezifische Hardware-Einrichtungen (Direct Memory Access, Ein-/Ausgabe-Prozessor) wird die CPU mittels direkter Datenübertragung zwischen Hauptspeicher und Ein-/Ausgabe-Einheit entlastet. Voraussetzung dafür bildet eine optimale Ansteuerung der Plattenspeicher, die in der Speicherhierarchie einer Rechnerarchitektur die Ressource mit der größten Zugriffszeit darstellt.
Paul Herrmann
19. Parallelrechner
Zusammenfassung
In multiprogrammierten Architekturen (siehe Kapitel 5) erfolgt die zeitlich verzahnte Verarbeitung von mehreren Prozessen auf einer einzigen CPU. Im Unterschied dazu werden bei der Mehrfachverarbeitung (Multiprocessing) mehrere Prozesse gleichzeitig auf mehrfach vorhandenen CPUs ausgeführt, wobei in der Regel die Anzahl der Prozesse größer ist als die der CPUs. Seit Ende der 60er Jahre werden Großrechenanlagen von den Herstellern fast ausschließlich als Mehrfachrechner vertrieben. Dem Anwender bleibt aber die Option, diese Architektur als Monoprozessor zu betreiben. Der Implemesntierungs-Trend als Mehrfachrechner beginnt sich inzwischen bis zur Ebene der Arbeitsplatzrechner durchzusetzen.
Paul Herrmann
Backmatter
Metadaten
Titel
Rechnerarchitektur
verfasst von
Paul Herrmann
Copyright-Jahr
1998
Verlag
Vieweg+Teubner Verlag
Electronic ISBN
978-3-322-99662-6
Print ISBN
978-3-528-05598-1
DOI
https://doi.org/10.1007/978-3-322-99662-6