Rechnerarchitektur

Specificaties
Paperback, 482 blz. | Duits
Springer Berlin Heidelberg | 2e druk, 1993
ISBN13: 9783540563556
Rubricering
Springer Berlin Heidelberg 2e druk, 1993 9783540563556
Onderdeel van serie Springer-Lehrbuch
Verwachte levertijd ongeveer 9 werkdagen

Samenvatting

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.

Specificaties

ISBN13:9783540563556
Taal:Duits
Bindwijze:paperback
Aantal pagina's:482
Uitgever:Springer Berlin Heidelberg
Druk:2

Inhoudsopgave

1 Einleitung.- 1.1 Was ist Rechnerarchitektur?.- 1.2 Zum Stand der Technik der Hardwarekomponenten.- 1.2.1 Schaltkreistechnik.- 1.2.2 Schaltkreise.- 1.2.3 Speicherbausteine.- 1.2.4 Prozessoren.- 1.3 Motivation für innovative Rechnerarchitekturen.- 1.4 Das Schichtenmodell eines Rechnersystems.- 1.5 Die Konstituenten einer Rechnerarchitektur.- 1.5.1 Definitionen.- 1.5.2 Abstrakte Datentypen.- 1.6 Taxonomie von Rechnerarchitekturen.- 1.6.1 Allgemeine Bemerkungen.- 1.6.2 Operationsprinzipien.- 1.6.3 Strukturen von Parallelrechner-Architekturen.- Literatur zu Kapitel 1.- 2 Sequentielle Rechner.- 2.1 Die Struktur der von-Neumann-Maschine.- 2.2 Das Operationsprinzip der von-Neumann-Maschine.- 2.3 Berechnung und Ablaufkontrolle in der von-Neumann-Maschine.- 2.4 Nicht-von-Neumann-Architekturen.- 2.5 Programmstrukturen sequentieller Rechner.- 2.6 Konkurrente Prozesse.- 2.6.1 Schwergewichtige und leichtgewichtige Prozesse, Kontrollfäden.- 2.6.2 Das Petri-Netz-Modell.- 2.7 Grundlagen der Speicherorganisation im von-Neumann-Rechner.- 2.7.1 Der Working Set eines von-Neumann-Programms.- 2.7.2 Schultzmechanismen.- Literatur zu Kapitel 2.- 3 Grundzüge der Prozessor-Architekturen.- 3.1 Die minimale von-Neumann-Maschine.- 3.2 Mehrregister-Maschinen.- 3.2.1 Beispiel einer einfachen Mehrregister-Maschine (MC68020).- 3.2.2 Adressierungsarten.- 3.2.3 Mehrfach-Registersätze.- 3.3 Mikroprogrammierte CISC-Prozessoren.- 3 3.1 Vorbemerkung.- 3 3.2 Mikroprogrammiemng.- 3.3.3 Vertikale Verlagerung.- 3.4 Anwendung des Pipeline-Prinzips im Prozessor.- 3 4.1 Die Befehls-Pipeline.- 3.4.2 Pipelining von arithmetischen Operationen.- 3.5 RISC-Prozessoren.- 3.5.1 Das Ziel der RISC-Bewegung.- 3.5.2 Pipeline-Skalarprozessoren und Vektormaschinen.- 3.5.3 Beispiel: SPARC-Prozessor.- 3.6 Bus-Systeme.- 3 6.1 Bus-Arbitrierung.- 3.6.2 Standardbusse.- Literatur zu Kapitel 3.- 4 Speicherorganisation und Speicherverwaltung.- 4.1 Speicherhierarchie.- 4.2 Seitenadressierung.- 4.3 Cache-Speicher.- 4.3.1 Vorteile des Cache-Speichers.- 4.3.2 Transparenz der Adressierung: der vollassoziative Cache.- 4.3.3 Der Direct Mapping-Cache.- 4.3.4 Der mengenassoziative Cache.- 4.3.5 Bildung von Working Sets.- 4 3 6 Cache-Kohärenz.- 4.3.7 „Logischer“ oder „physikalischer“ Cache?.- 4.4 Hauptspeicher.- 4.4.1 Der wortbreite Speicher.- 4.4.2 Speicherverschränkung.- 4.5 Speichersegmentierung.- 4.6 Virtueller Speicher.- 4.7 Einfacher Objektschutz.- 4.7.1 Systemaufsichts-Modus und Benutzer-Modus.- 4.7.2 Speicherverwaltung.- 4.8 Absoluter Objektschutz: Capability-Adressierung.- 4.8.1 Capability-Adressierung und Speichersegmentierung.- 4.8.2 Referenz über Capability-Register.- 4.8.3 Einführung eindeutiger Objekt-Identifikatoren.- 4.8.4 Der Prozessor iAPX432.- Literatur zu Kapitel 4.- 5 Konzepte der Parallelarbeit.- 5.1 Parallelität und Datenabhängigkeit.- 5.2 Die Ebenen der Parallelarbeit.- 5.3 Die Anweisungsebene.- 5.3.1 Übergang zur Maschinenbefehlsebene, allgemeine Optimierungen.- 5.3.2 Software-Pipelining.- 5.4 Erkennen von Parallelität auf der Anweisungsebene.- 5.4.1 Datenabhängigkeitsanalyse in Basisblöcken.- 5.4.2 Datenabhängigkeiten über Verzweigungen hinweg.- 5.4.3 Datenabhängigkeiten in Schleifen.- 5.5 Die Prozeßebene.- 5.5.1 Schwergewichtige und leichtgewichtige Prozesse.- 5.5.2 Parallelarbeit auf der Prozeßebene.- 5.6 Nutzung der Anweisungs-Parallelität.- 5.6.1 Übersicht.- 5.6.2 Konstrukte für die parallele Ausführung mehrerer Anweisungen.- 5.6.3 Schleifen-Parallelisierung.- 5.7 Synchronisation von Parallelarbeit.- 5.7.1 FORK-JOIN-Synchronisation von Kontrollfäden.- 5.7.2 Lock-Step-Betrieb und Barrieren-Synchronisation.- 5.7.3 Synchronisation kooperierender Prozesse.- 5.7.4 Synchronisation durch objektorientierte Variablentypen.- 5.8 Datenstrukturen und Parallelarbeit.- 5.8.1 Explizite Datenparallelität und Datenstruktur-Architekturen.- 5.8.2 Wirkungsgrad der Nutzung der Datenparallelität.- 5.8.3 Vergleich zwischen Pipeline und Array von Rechenelementen.- 5.8.4 Datenparallelität auf der Ebene kooperierender Prozesse.- 5.8.5 Eine Sprache zur datenparallelen Programmierung (HPF).- Literatur zu Kapitel 5.- 6 Superskalare Prozessoren und VLWI-Maschinen.- 6.1 Übersicht.- 6.2 Der erste superskalare Prozessor: CDC6600.- 6.3 Moderne superskalare Mikroprozessoren.- 6.3.1 Allgemeines.- 6.3.2 Intel i80860XP.- 6.3.3 Motorola MC88110.- 6.3.4 Digital 21064 (Alpha).- 6.4 Das Problem des Multiport-Registerfiles.- 6.5 Das Compilerproblem.- 6.6 Die VLWI-Maschine.- 6.6.1 Grundprinzip der VLIW-Maschine.- 6.6.2 Compiler-Optimierungen und Operationsplanung.- 6.6.3 Die Speicherorganisation der VLIW-Maschine.- 6.6.4 Vergleich der VLIW-Maschine mit dem superskalaren Prozessor.- Literatur zu Kapitel 6.- 7 SIMD-Architekturen.- 7.1 Vektormaschinen und Anordnungen von Rechenelementen.- 7.2 Das Operationsprinzip der Vektormaschinen.- 7.3 Leistungskenngrößen der Vektormaschine.- 7.4 Speicherverschränkung.- 7.4.1 Konsekutive Adressierung.- 7.4.2 Verschobene Speicherung (skewed storage).- 7.4.3 Adressierung mit Zufallsadressen.- 7.4.4 Vektorregister.- 7.5 Frühe Vektormaschinen: STAR-100, CYBER 203, CRAY-1.- 7.5.1 STAR-100 und CYBER 203.- 7.5.2 CRAY-1.- 7.6 Moderne Multiprozessor-Vektormaschinen: CRAY-X MP.- 7.6.1 Zentraler Speicher.- 7.6.2 Prozessor.- 7.7 Die Programmierung von Vektormaschinen.- 7.8 Konzepte der ILLIACIV als Beispiel eines RE-Arrays.- 7.8.1 Grundstruktur.- 7.8.2 Die Organisation der ILLIAC IV.- 7.8.3 Programmierung der ILLIAC IV.- 7.9 Die Connection Machine CM2.- Literatur zu Kapitel 7.- 8 Typenkennung, Datenstruktur-Architekturen, Sprach-Architekturen.- 8.1 Architekturen mit Typenkennung.- 8.1.1 Vorteile der Typenkennung.- 8.1.2 Typengesteuerte Befehlsausführung.- 8.1.3 Unterstützung der Mechanismen höherer Programmiersprachen.- 8.1.4 Unterstützung des Betyriebssystems.- 8.1.5 Probleme der Typenkennung und Wege zu ihrer Überwindung.- 8.2 Aufbau von Datenstrukturtypen, DRAMA-Prinzip.- 8.2.1 Das DRAMA-Prinzip.- 8.2.2 DRAMA-Prinzip und Typenkennung.- 8.2.3 Beispiel einer DRAMA-Machine.- 8.3 Datenstruktur-Architekturen.- 8.3.1 Allgemeines über Datenstruktur-Architekturen.- 8.3.2 Definitionen.- 8.3.3 Datenstrukturspeicher mit parallelem Zugriff.- 8.3.4 Beispiel einer frühen Datenstruktur-Architektur: STARLET.- 8.3.5 Beispiel einer modernen Datenstruktur-Architektur: DATYPAR.- 8.3.6 Beispiel einer Spezialrechner-Architektur für die Bildanalyse.- 8.4 Sprach-Architekturen.- 8.4.1 Übersicht.- 8.4.2 Vorteile der Array-Sprachen und Datenstruktur-Architekturen.- 8.4.3 Die Lisp-Maschine ULM.- 8.4.4 Der parallele Prolog-Rechner POPE.- 8.5 Assoziative Rechner.- 8.5.1 Assoziativspeicher.- 8.5.2 Assoziativrechner.- 8.5.3 Der assoziative Feldrechner STARAN.- Literatur zu Kapitel 8.- 9 Datenfluß-Architekturen.- 9.1 Übersicht.- 9.2 Grandlagen der Datenflußarchitekturen.- 9.2.1 Das reine Datenflußprinzip.- 9.2.2 Elementares Datenflußschema, elementarer Datenflußprozessor.- 9.2.3 Verallgemeinertes Datenflußschema.- 9.3 Statische Datenflußarchitekturen.- 9.3.1 Das Operationsprinzip der statischen Datenflußarchitektur.- 9.3.2 Die statische Datenflußarchitektur des MIT.- 9.3.3 Die LAU-Architektur.- 9.4 Dynamische Datenflußarchitekturen.- 9.4.1 Das Operationsprinzip der dynamischen Datenflußarchitektur.- 9.4.2 Herstellung der Laufzeitumgebung.- 9.4.3 Kennung der Informationseinheiten (Tagged Token).- 9.4.4 Die Manchester-Maschine.- 9.4.5 Das Drosselungsproblem.- 9.5 Verfeinerungen der dynamischen Datenflußarchitektur.- 9.5.1 Zuordnung der Akteure zu den Prozessoren.- 9.5.2 Die I-Structure.- 9.5.3 Das Prinzip des expliziten Markenspeichers.- 9.5.4 Der Monsoon-Rechner.- 9.6 Hybride Datenflußarchitekturen,.- 9.6.1 Nachteile der feinkörnigen datenflußarchitekturen.- 9.6.2 Die Grundidee der hybriden datenflußarchitekturen.- 9.6.3 Das LGDG-Prinzip einer Berechnung.- 9.6.4 Die LGDG-Maschine von Dax.- 9.7 Reduktionsmaschinen.- Literatur zu Kapitel 9.- 10 Grundlagen der MIMD-Architekturen.- 10.1 Allgemeine Gesichtspunkte.- 10.1.1 Die Hauptformen von MIMD-Architekturen.- 10.1.2 Programmiermodell und abstrakte Maschine.- 10.1.3 Die Granularität der Parallelarbeit.- 10.1.4 Das Kommunikationssystem.- 10.1.5 Kommunikationslatenz.- 10.1.6 Die Grundaufgabe des Verbindungsnetzes.- 10.1.7 Synchronisation zur korrekten Programmausführung.- 10.1.8 Strategien der Zuweisung der Aufträge zu den Knoten.- 10.2 Verbindungsnetz-Topologien.- 10.2.1 Kriterien für eine Taxonomie von Verbindungsnetzen.- 10.2.2 Beispiele für Verbindungsnetze.- 10.2.3 Busverbindungen.- 10.2.4 Ringstrukturen.- 20.2.5 Gitterverbindungen (Nächste Nachbarn).- 20.2.6 Mehrstufige Verbindungsnetze.- 10.2.7 Hyperwürfel.- 10 2 8 Hierarchien von Crossbars.- 10.2.9 Eins-zu-N-Kommunikation in Verbindungsnetzen (Broadcast).- 10.3 Verhaltensparameter von Verbindungsnetzen.- 10.3.1 Benötigte Verbindungsbandbreite.- 10.3.2 Aufwand und Verbindungslatenz.- 10.3.3 Blockierungsverhalten.- 10.4 Übersicht über die behandelten MIMD-Architekturen.- Literatur zu Kapitel 10.- 11 Systeme mit gemeinsamem Speicher.- 11.1 Schleifen-Parallelisierung.- 11.1.1 Das Ausführungsmodell.- 11.1.2 Das PAX-Protokoll.- 11.1.3 Der Parallelrechner Alliant FX/2800.- 11.2 Speicherkopplung mit vielen Kontrollfäden.- 11.2.1 Gründe für diese Architekturform.- 11.2.2 HEP-ArchitekturundTERA-Maschine.- 11.2.3 Die PRAM-Architektur.- 11.3 MIMD-Architekturen mit verteiltem gemeinsamem Speicher.- 11.3.1 Das Operationsprinzip.- 11.3.2 Beispiel: Die DASH-Architektur.- 11.4 Vielfadige Architekturen mit verteiltem Speicher.- 11.4.1 Gründe für vielfädige Architekturen.- 11.4.2 Das Operationsprinzip der vielfädigen architekturen.- 11.4.3 Maßnahmen für schnelle Umgebungswechsel.- 11.4.4 Herstellung des globalen adreßraums.- 11 4.5 Die *T-Maschine.- 11.4.6 Programmierbeispiel für die *T-Maschine.- 11.4.7 Der *T-Prozessor 88110MP.- Literatur zu Kapitel 11.- 12 MIMD-Architekturen mit verteiltem Speicher.- 12.1 Die großen Herausforderungen.- 12.2 Die Knotenarchitektur.- 12.2.1 Superskalare Knoten oder Vektorknoten?.- 12.2.2 Der Kommunikationsprozessor.- 12.2.3 Multiprozessor-Knoten.- 12.3 Verbindungsnetze für massiv-parallele Rechner.- 12.3.1 Crossbar-Topologien.- 12.3.2 Anschluß des Knotens.- 12.4 Synchrone oder asynchrone Kommunikation?.- 12.5 Das parallele Knoten-Betriebssystem.- 12.5.1 Die Rolle des Betriebssystems in nachrichtenorientierten Systemen.- 12.5.2 Die Struktur des parallelen Betriebssystems PEACE.- 12.5.3 Implementierung.- 12.5.4 Die PEACE-Familie von Betriebssystemkernen.- 12.6 Der virtuelle gemeinsame Speicher (VGS).- 12.6.1 Das Operationsprinzip des virtuellen gemeinsamen Speichers.- 12.6.2 Architekturen mit virtuellem gemeinsamem Speicher.- 12.6.3 Ein Realisierungsmodell für sequentielle Konsistenz.- 12.6.4 Adaptive Konsistenz.- 12.7 Die Programmierung nachrichtenorientierter Systeme.- 12.7.1 Das nachrichtenorientierte Programmiermodell.- 12.7.2 Programmierwerkzeuge für nachrichtenorientierte Architekturen.- 12.7.3 Parallelisierende Compiler.- 12.8 Ausblick: Neue Programmiermodelle für massiv-parallele Systeme.- Literatur zu Kapitel 12.- Sach-und Namensverzeichnis.

Rubrieken

    Personen

      Trefwoorden

        Rechnerarchitektur