Skip to main content

1993 | Buch | 2. Auflage

Rechnerarchitektur

verfasst von: Wolfgang K. Giloi

Verlag: Springer Berlin Heidelberg

Buchreihe : Springer-Lehrbuch

insite
SUCHEN

Über dieses Buch

Das Buch gibt einen umfassenden Überblick über die Hardware- und Software-Konzepte, auf denen moderne Rechnersysteme beruhen, von den Arbeitsplatzrechnern bis zu den Supercomputern und den zukünftigen massiv-parallelen Rechnern. Im Anschluß an die Betrachtung der Architektur sequentieller Rechner, ihrer Prozessoren und ihrer Speicherhierarchien werden die Grundlagen für die Parallelarbeit dargelegt. Zunächst werden die Prinzipien der Parallelarbeit im Prozessor behandelt, was zu den VLIW-Maschinen und den superskalaren Prozessoren führt, und die damit verbundenen Compilerprobleme erörtert. Ein Kapitel ist den SIMD-Architekturen in Form der Vektormaschinen oder der Anordnungen gleichartiger Rechnerelemente gewidmet. Ein eigenes Kapitel stellt ausführlich und mit Beispielen die Prinzipien der Datenstruktur-Architekturen und der Sprach-Architekturen dar. Datenstruktur-Architekturen sind dahingehend optimiert, datenparallele Anwendungen mit komplexen Datenstrukturtypen möglichst effizient zu bearbeiten. Sprach-Architekturen dienen der Unterstützung von Sprachen wie Lisp und Prolog. Datenflußarchitekturen werden in einem eigenen Kapitel ausführlich behandelt. Die letzten drei Kapitel sind den Parallelrechnern gewidmet: Aus den Programmiermodellen für massiv-parallele Architekturen werden die verschiedenen Architekturformen abgeleitet. Die Eigenschaften der einzelnen Architekturformen, die zentrale Frage der Kommunikationslatenz und die spezifischen Softwarefragen werden gründlich behandelt. Das Buch zeichnet sich durch eine sehr systematische Darstellung aus sowie auch dadurch, daß nicht nur auf die Hardware-Architekturen eingegangen wird, sondern ebenso sehr auf die relevanten Fragen der Systemsoftware und Programmierung.

Inhaltsverzeichnis

Frontmatter
1. Einleitung
Zusammenfassung
Rechnerarchitektur ist eine Übersetzung des englischen Begriffs computer architecture. Architecture bedeutet im Englischen Baukunst oder Baustil; aber auch das einzelne Produkt der Baukunst wird als architecture bezeichnet Die letztgenannte Bedeutung hat das deutsche Wort Architektur nicht. Wenn wir von Rechnerarchitektur sprechen, meinen wir den Bedeutungsinhalt des englischen Begriffs computer architecture.
Wolfgang K. Giloi
2. Sequentielle Rechner
Zusammenfassung
Das grundlegende Organisationsprinzip der meisten Computer, die gegenwärtig benutzt oder auf dem Markte angeboten werden, ist das etwa 50 Jahre alte Konzept von von Neumann, Burks und Goldstine. Daß ein Konzept aus der Mitte der vierziger Jahre die dramatische Entwicklung der vergangenen Jahrzehnte — wir nennen hier nur: Kernspeicher, Transistor, integrierte Schaltungen, Großintegration von Schaltkreisen und Speicherelementen — überdauert hat, ist höchst bewundernswert und spricht für seine Ingeniösität Nach unserer Meinung ist der Hauptgrund für die Langlebigkeit des von-Neumann-Prinzips darin zu suchen, daß dieses eine einzigartige Verbindung von Einfachheit und Flexibilität darstellt. Obwohl der Ausdruck von-Neumann-Maschine allgemein verstanden wird, gibt es keine präzise Definition dafür. Man kann die von-Neumann-Maschine wohl kaum besser beschreiben, als es ihre Erfinder selbst in der Studie „Preliminary Discussion of the Logical Design of an Electronic Computing Instrument“ [TAU 63] getan haben. Wir lesen in dieser Studie:
Wolfgang K. Giloi
3. Grundzüge der Prozessor-Architekturen
Zusammenfassung
Bild 3.1 zeigt eine typische Darstellung des Prozessors eines Minicomputers der „zweiten Generation“ (um 1970).
Wolfgang K. Giloi
4. Speicherorganisation und Speicherverwaltung
Zusammenfassung
Die ständige Steigerung der Rechenleistung moderner Prozessoren führt zu einer immer größer werdenden Lücke zwischen der Verarbeitungsgeschwindigkeit des Prozessors und der Zugriffsgeschwindigkeit des Hauptspeichers. RISC-Prozessoren führen eine vollständige Operation — superskalare Prozessoren sogar mehrere Operationen — pro Takt aus, wobei die Taktfrequenzen bei 100...200 MHz liegen. Die Geschwindigkeit dynamischer Speicherbausteine hat hingegen über die Jahre deutlich weniger zugenommen. Eine Ausführung der Programme unmittelbar aus dem Haupt-speicher hätte daher zur Folge, daß der Prozessor nur mit einem Bruchteil seiner maximalen Leistung arbeiten könnte. Deshalb muß das Programm vorwiegend aus den auf dem Chip befindlichen Registerfiles bzw. den Caches ausgeführt werden, und es ist zu einem wesentlichen Ziel der Programmoptimierung durch den Compiler geworden, die Zahl der Hauptspeicherzugriffe zu minimieren.
Wolfgang K. Giloi
5. Konzepte der Parallelarbeit
Zusammenfassung
Die wichtigste organisatorische Maßnahme zur Leistungssteigerung in einer Rechnerarchitektur ist die Einführung eines möglichst hohen Grades a n Parallelarbeit. Sind die Programme oder die Daten durch ein Operationsprinzip a priori strukturiert, so ist dadurch auch die Art der Parallelarbeit in gewissem Grade vorgezeichnet. Die grundsätzliche Aufgabe ist dabei, für eine gegebene Art und Zahl von Hardware-Betriebsmitteln die Kontrollstrukturen des Operationsprinzips auf die Kooperationsregeln der Hardwarestruktur abzubilden.
Wolfgang K. Giloi
6. Superskalare Prozessoren und VLIW-Maschinen
Zusammenfassung
Der superskalare Prozessor und die Very Long Instruction Word Machine (VLIW-Maschine) beziehen beide ihre Leistung aus der Parallelarbeit mehrerer Funktionseinheiten (functional units). Dabei kann jede Funktionseinheit einen Maschinenbefehl ausführen; das heißt, beide Prozessorarten nutzen die potentielle Programmparallelität auf der Anweisungsebene. Die Funktionseinheiten sind Datenprozessoren, die alle auf einem gemeinsamen Registerfile arbeiten und für eine bestimmte Aufgabe spezialisiert sind. Beispiel sind:
  • Funktionseinheiten für die Ausführung von Ganzzahl-Operationen
  • Funktionseinheiten für die Ausführung von Gleitpunkt-Operationen
  • Funktionseinheiten für graphische Operationen.
Wolfgang K. Giloi
7. SIMD-Architekturen
Zusammenfassung
SIMD-Architekturen existieren in der Form der Vektormaschine und der Anordnung von Rechenelementen (array of processing elements). Letzteres wollen wir in der Folge kurz als RE-Array bezeichnen. Den Unterschied zwischen beiden wollen wir noch einmal an einem einfachen Beispiel klarstellen.
Wolfgang K. Giloi
8. Typenkennung, Datenstruktur-Architekturen, Sprach-Architekturen
Zusammenfassung
Ein Rechner, bei dem auf der Hardware-Ebene die verschiedenen in ihm existierenden Datentypen gekennzeichnet sind, nennen wir eine Architektur mit Typenkennung (tagged architecture). Die Kennzeichnung kann dabei durch zusätzliche Kennbits (tags) in jedem Speicherwort erfolgen. Handelt es sich dabei urn die Datentypen einer höheren Programmiersprache bzw. der in ihr geschriebenen Anwendungsprogramme, so sprechen wir von einer Datentypen-Architektur. Werden insbesondere Daten-strukturtypen eingeführt, so sprechen wir auch von einer Datenstruktur-Architektur. Die im vorhergehenden Kapitel betrachteten Vektormaschinen stellen eine einfache Form einer Datenstruktur-Architektur dar.
Wolfgang K. Giloi
9. Datenflußarchitekturen
Zusammenfassung
In einem rein sequentiellen Programmiermodell ist das Resultat — selbst wenn es fehlerhaft ist — immer reproduzierbar. Diese wünschenswerte Eigenschaft, die es leichter macht, Fehler zu lokalisieren und zu korrigieren, ist bei der parallelen Ausführung imperativer Programme, bei der von der Ausführungszeit abhängige, nicht-reproduzierbare Fehler auftreten können, nicht mehr unbedingt gewährleistet. Es können Fehler entstehen, die weder zur Übersetzungszeit noch zur Laufzeit systematische zu eliminieren sind. Im funktionalen Programmierstil ist das Resultat einer Berechnung prinzipiell eine zeitunabhängig Funktion der Eingabe. Dadurch kann ein nicht-reproduzierbares Verhalten bei der Parallelarbeit grundsätzlich nicht auftreten.
Wolfgang K. Giloi
10. Grundlagen der MIMD-Architekturen
Zusammenfassung
MIMD-Architekturen verfügen über eine Anzahl von Prozessoren, die unabhängig voneinander parallel arbeiten können. Dabei handelt es sich um Universalprozessoren, die auch in einem Einprozessorsystem als zentrale Recheneinheit arbeiten könnten. Diese Eigenschaft unterscheidet MIMD-Architekturen einerseits von Mehrprozessorsystemen, in denen eine zentrale Recheneinheit von einer Anzahl von Coprozessoren zur Durchführung spezieller Aufgaben unterstützt wird, und andererseits von den Anordnungen von Rechenelementen (RE-Arrays), in denen die REs keine autonomen Prozessoren sind, sondern arithmetisch-logische Funktionseinheiten, die von außen gesteuert werden.
Wolfgang K. Giloi
11. Systeme mit gemeinsamem Speicher
Zusammenfassung
In Kapitel 10.1 wurden die beiden Hauptklassen der physikalischen MIMD-Systeme eingeführt, die Architekturen mit gemeinsamem Speicher und die Architekturen mit verteiltem Speicher. Es wurde ausgeführt, daß die ersteren in der Regel nur eine beschränkte Zahl von Prozessoren haben, bis zu etwa 30. Von dieser Art Rechner gibt es seit Jahren Produkte verschiedener Hersteller auf dem Markt, die sich im praktischen Einsatz bewährt haben. Stellvertretend für diese Klasse von kommerziellen Parallelrechnern betrachten wir hier den Rechner FX/2800 der Firma Alliant.
Wolfgang K. Giloi
12. MIMD-Architekturen mit verteiltem Speicher
Zusammenfassung
Unter dem Titel Grand Challenges — große Herausforderungen — wurde Anfang der neunziger Jahre von der Regierung der Vereinigten Staaten ein groß angelegtes, sich über mehrere Jahre erstreckendes und einige Milliarden Dollar umfassendes Forschungsförderungsprogramm begonnen. Ziel des Programms ist die Weiterentwicklung des Supercomputing, die als notwendig erachtet wird, um die großen Probleme unserer Zeit — zum Beispiel, das Überleben der Menschheit in einer immer stärker beschädigten Umwelt zu sichern — angehen zu können. Das Forschungsprogramm erstreckt sich über den gesamten Bereich von den Architekturen über die Software bis zu den Anwendungen.
Wolfgang K. Giloi
Backmatter
Metadaten
Titel
Rechnerarchitektur
verfasst von
Wolfgang K. Giloi
Copyright-Jahr
1993
Verlag
Springer Berlin Heidelberg
Electronic ISBN
978-3-642-58054-3
Print ISBN
978-3-540-56355-6
DOI
https://doi.org/10.1007/978-3-642-58054-3