E-Book, Deutsch, 319 Seiten, eBook
Multiprozessorsysteme
1990
ISBN: 978-3-322-94509-9
Verlag: Vieweg & Teubner
Format: PDF
Kopierschutz: 1 - PDF Watermark
Eine Einführung in die Konzepte der modernen Mikrocomputer- und Rechnertechnologie
E-Book, Deutsch, 319 Seiten, eBook
ISBN: 978-3-322-94509-9
Verlag: Vieweg & Teubner
Format: PDF
Kopierschutz: 1 - PDF Watermark
Zielgruppe
Upper undergraduate
Weitere Infos & Material
1 Einführung.- 1.1 Motivation und Anwendungsgebiete.- 1.1.1 Rechneranwendungsgebiete.- Klassischer Computerbereich.- Großrechnerbereich.- Rechnereinsatz in technischen Systemen.- 1.1.2 Motivation für Multiprozessorsysteme.- Technologisches und wirtschaftliches Potential.- Realtime Systeme.- 1.2 Rechnerarchitekturen und Verbindungsstrukturen.- 1.2.1 Taxonomie von Rechnerarchitekturen.- Der Taxonomiebegriff.- Klassifikation nach Flynn.- 1.2.2 Verbindungsstrukturen.- Multiprozessormodule und allgemeine Struktur.- Gemeinsam genutzte Verbindungen.- Punkt-zu-Punkt Verbindungsnetzwerke.- 1.2.3 Einige Begriffserklärungen.- Prozessor und Verarbeihmgselement.- Enge- und lose Kopplung.- 1.3 Literatur.- 1.3.1 Bücher.- 1.3.2 Einzelartikel.- 2 Systemzuverlässigkeit.- 2.1 Einführung.- 2.1.1 Zuverlässigkeitskriterien.- Subjektive Zuverlässigkeit.- Objektive Zuverlässigkeit.- Systemunzulänglichkeiten.- 2.1.2 Bewertung von Zuverlässigkeit.- Ausfallrate.- Zuverlässigkeit und Verfügbarkeit.- Nichtreparierbare Systeme.- Reparierbare Systeme.- 2.2 Anforderungen und Realisierungsprinzipien.- 2.2.1 Anforderungen.- Zuverlässigkeits-/Verläßlichkeitsanforderungen.- 2.2.2 Maßnahmen zur Verbesserung der Zuverlässigkeit.- Fehlertoleranzgrundsätze.- Fehlertoleranzmethoden.- Redundanz.- 2.2.3 Bewertung von Fehlertoleranztechniken.- 2.3 Beispiele.- 2.3.1 Modul- und Submodulredundanz.- Systemmodellierung.- Ergebnisvergleich.- 2.3.2 Codegeschütztes Speichersystem.- Systembeschreibung.- Ausfallmodell.- Redundanztechniken.- Zuverlässigkeitsmodell.- Berechnungsbeispiel.- 2.4 Literatur.- 2.4.1 Bücher.- 2.4.2 Einzelartikel.- 3 Konzepte der Parallelverarbeitung.- 3.1 Multitasking als Entwurfsmethode.- 3.1.1 Meßwerterfassung als einfaches Beispiel.- Problemstellung.- Sequentielle Problemlösung.- Multitasking Lösung.- 3.1.2 Parallelisierbarkeit von Tasks.- Parallelisierbarkeitsbedingungen.- Beispiel einer Parallelisierbarkeitsanalyse.- Präzedenzgraph.- Scheduling.- 3.2 Hilfsmittel.- 3.2.1 Tasksynchronisation.- 3.2.2 Petrinetze.- Ein Petrinetzbeispiel.- 3.3 Literatur.- 3.3.1 Bücher.- 3.3.2 Einzelartikel.- 4 Leistungsabschätzung.- 4.1 Einführung.- 4.1.1 Aufgabenstellung.- 4.1.2 Methoden.- Verkehrstheorie.- Messungen.- Modellbildung.- 4.2 Leistungsanalyseeng gekoppelter Multiprozessorsysteme.- 4.2.1 Modellbildung.- Organisation.- Funktionsabstraktion.- Einzelprozessorsystem.- Multiprozessorsystem.- Sättigungsbedingung.- 4.2.2 Analyse eines 68000-Multiprozessorsystems.- Modellbildung.- Eigenschaften des 68000-Prozessors.- Minimale Befehlslänge.- Maximale Befehlslänge.- Mittelwert der Befehlslänge.- 4.3 Maßnahmen zur Leistungssteigerung.- 4.3.1 Leistungssteigerung durch Cache-Speicher.- 4.3.2 Leistungssteigerung durch Lokalspeicher.- Grundprinzip.- Lokalspeichereffekte.- 4.4 Literaturverzeichnis.- 4.4.1 Bücher.- 4.4.2 Einzelartikel.- 5 Cache Speicher.- 5.1 Funktionsprinzip.- 5.1.1 Direct mapped Cache.- Struktur des Cache.- Ablauf eines Lesezugriffes bei HIT.- Ablauf eines Lesezugriffs bei MISS.- Ablauf eines Schreibzugriffes.- 5.1.2 Software-Einflüsse.- Physikalischer Cache.- 5.1.3 Logischer Cache.- Softwareprobleme beim logischen Cache.- 5.1.4 Nachteile des physikalischen Caches.- 5.2 Andere Cache Strukturen.- 5.2.1 Assoziativer Cache.- 5.2.2 Set assoziativer Cache.- Probleme von direct mapped Caches.- Abhilfe durch mehrfache Caches.- Aufbau eines 2-Way-Set-Assoziativ-Caches.- 5.3 Cache Speicher in eng gekoppelten Multiprozessorsystemen.- 5.3.1 Cache Kohärenz.- 5.3.2 Kohärenzstrategien.- Instruction-Only-Cache.- Bus-Watch-Controller.- Write Once Protokoll.- 5.3.3 Block Ownership Protokolle.- Das Synapse Protokoll.- Ein VMEbus Block Ownership Protokoll.- 5.4 Cache Performance.- 5.4.1 Beurteilungskriterien.- Effektive Speicherzugriffszeit bei Lesezyklen.- Speicherzugriffszeit bei Lese- und Schreibzugriffen.- 5.4.2 Cache-Dimensionierung und Hitrate.- Effekt der Blockgröße.- Effekt der Kohärenz-Strategie auf den Busverkehr.- Effekt der Set-Assoziativität auf den Busverkehr.- 5.4.3 Cache-Performance in Mikroprozessoren.- 5.5 Literaturverzeichnis.- 5.5.1 Bücher.- 5.5.2 Einzelartikel.- 6 Multiprozessor-Busse.- 6.1 Einführung.- 6.1.1 Busse einfacher Mikroprozessoren.- 6.1.2 Busse von Multiprozessoren.- 6.2 Busprotokolle.- 6.2.1 Buszyklus.- Abgeschlossener synchroner Buszyklus.- Abgeschlossener asynchroner Buszyklus.- Synchronisation des Aktionsablaufs.- Konversion des Synchronisationsprotokolls.- 6.2.2 Modul-Typen am Bus.- 6.2.3 READ/WRITE-Protokolle.- READPULSE/WRITEPULSE-Protokolle.- Advanced READ/WRITE — Protokolle.- VALID/REQUEST-Protokolle.- 6.3 BUS-Belegungsverfahren.- 6.3.1 COMMANDER-Auswahlverfahren.- Collision Detection.- Contention Avoidance.- Collision Avoidance/Contention Resolution.- 6.3.2 Phasen einer Informationsübertragung.- 6.4 Arbitrierung.- 6.4.1 Logische Struktur eines Arbiters.- 6.4.2 Zentralisierte Arbiter.- 6.4.3 Verteilte Arbiter.- 6.4.4 Arbitrierungsstrategien.- Faire Arbiter.- Zentralisierter fairer 4-Port-Round-Robin-Arbiter.- Distributed Self Selection Arbitration.- 6.5 Literaturverzeichnis.- 6.5.1 Bücher.- 6.5.2 Einzelartikel.- 7 Beispiele für Standard-Busse.- 7.1 Einführung.- 7.2 Der MULTIBUS I.- 7.2.1 Übersicht über den MULTIBUS I.- 7.2.2 Die MULTIBUS I Kontroll-Leitungen.- 7.2.3 MULTIBUS I-Arbitrierung.- Unteilbare Buszyklen.- 7.2.4 MULTIBUS I Interrupts.- 7.2.5 32-Bit-Prozessor für MULTIBUS I.- 7.3 Der VMEbus.- 7.3.1 Überblick über den VMEbus.- 7.3.2 Der Data Transfer Bus (DTB).- 7.3.3 Arbitrierung des DTB.- Arbiter-Optionen.- Requester-Optionen.- Ablauf der Arbitrierung.- 7.3.4 Unteilbare Buszyklen.- 7.3.5 VMEbus Interrupts.- Single Handler Systems / Distributed Systems.- 7.3.6 VMEbus Aufbautechnik.- 7.3.7 Beispiel einer VMEbus Prozessorplatine.- 7.4 Literaturverzeichnis.- 7.4.1 Bücher.- 7.4.2 Einzelartikel.- 8 Mikroprozessoren I: Die 680xx-Familie.- 8.1 Einführung.- 8.1.1 Zielsetzung.- 8.1.2 Familienüberblick.- 8.2 Hardware-Eigenschaften.- 8.2.1 Die Bus-Signale.- Die asynchrone Bus-Kontrolle.- Die synchrone Bus-Kontrolle.- Die Prozessor-Funktionszustände.- Die System-Kontroll-Signale.- Bus-Arbitrierung.- 8.2.2 Exceptions und Interrupts.- Die Interrupt-Struktur.- Die Interrupt-Eingangsleitungen.- Prozessor-interne Interrupt-Behandlung.- Exception Groups.- Exception Stack Frame Format.- 8.2.3 Die Exception-Vector-Table.- 8.3 Software-Eigenschaften.- 8.3.1 Das Register-Modell.- Der Stackpointer im 6800x/6801x.- Das Status-Register (6800x/6801x).- Erweitertes Registermodell des 6801x.- Erweitertes Registermodell des 68020.- 8.3.2 Der Befehlssatz.- 8.3.3 Die Adressierungsarten.- 8.3.4 Unterstützung für Hochsprachen.- 8.3.5 Multiprozessor-Unterstützung.- Synchronisation des Zugriffs auf globale Daten.- Manipulation verketteter Listen.- Das Co-Prozessor-Interface.- 8.4 Literaturverzeichnis.- 8.4.1 Bücher.- 8.4.2 Einzelartikel.- 9 Mikroprozessoren II: Transputer.- 9.1 Einführung.- 9.1.1 Zielsetzung.- 9.1.2 Das Transputer-Konzept.- Namensgebung.- Die Software-Architektur.- 9.1.3 OCCAM.- Sequentielle Prozesse.- Parallele Prozesse.- Alternative Prozesse.- Wiederholte Prozesse.- Bedingte Prozesse.- Replizierte Prozesse.- OCCAM-Channels.- 9.2 Die Rechnerorganisation.- 9.2.1 Der Grundaufbau.- Die Transputer-Links.- Bootstrapping.- Taktversorgung.- Familienüberblick.- 9.2.2 Multiprozessoren mit Transputern.- Homogene Multiprozessoren.- Inhomogene Multiprozessoren.- Transputersysteme variabler Topologie.- 9.3 Die Prozessorarchitektur.- 9.3.1 Das Programmiermodell.- Erweiterte Befehle.- 9.3.2 Parallele Prozesse.- Prozeßverwaltung.- Zeitlisten.- 9.3.3 Interprozeßkommunikation.- Interne Kanalkommunikation.- Kommunikation über Links.- 9.4 Parallelverarbeitung.- 9.4.1 Parallele Matrixmultiplikation.- Aufgabenstellung.- Lösung mit einem Transputer.- Lösung mit n2 Transputem.- Lösung mit n Transputern.- 9.5 Literatur.- 9.5.1 Bücher.- 9.5.2 Einzelartikel.- 10 Speicherverwaltung und Speicherschutz.- 10.1 Einführung.- 10.1.1 Speicherschutz.- 10.1.2 Speicherverwaltung.- 10.2 Speicherschutzmaßnahmen (1).- 10.2.1 Elementare Schutzmaßnahmen.- 10.2.2 Hierarchische Schutzmaßnahmen.- Protection Ringe und Access Levels.- 68020 Module Call und Access Levels.- 10.2.3 Nichthierarchische Schutzmaßnahmen.- Objektadressierung und Permits.- Software Capabilities.- 10.3 Speicherverwaltung.- 10.3.1 Übersetzung von Adreßräumen.- Logische und physikalische Adressen.- Prinzip der Seitenumsetzung.- Pagedescriptoren.- Beispiele mehrstufiger Seitenumsetzungen.- 10.3.2 Hardwareunterstützung.- Segmentübersetzung.- Seitenübersetzung.- Page- und Pagetable-Descriptoren.- Tablewalk.- Speicherschutzmaßnahmen (2).- 10.4 Virtueller Speicher.- 10.4.1 Einführung.- Programmlokalität und Working Set.- Paging.- 10.4.2 Implementierungvon virtuellem Speicher.- Pagetable und Seitenersetzung.- Prinzip der Page Fault Behandlung.- Hardware-Voraussetzungen.- 10.5 Literatur.- 10.5.1 Bücher.- 10.5.2 Einzelartikel.- 11 Eine Fehlertolerante Rechnerarchitektur.- 11.1 Einführung.- 11.1.1 Aufgabenstellung und Entwurfsziel.- Aufgabenstellung.- Entwurfsziel.- 11.2 Informationskodierung durch Block-Codes.- 11.2.1 Einführung.- Informationsübertragung und -sicherung.- Mathematische Struktur.- 11.2.2 Galois Felder und (4/2)-Codes.- Einführung.- Ein-Bit-Symbole und das Galois Feld GF(2).- Vier-Bit-Symbole und die Galois-Felder GF(24).- Generator-/Dekoder-Matrix.- Die Paritäts-Prüfmatrix.- 11.3 Anwendung des Codes.- 11.3.1 Das Fehlertoleranzprinzip.- Einführung.- Speicherung codierter Daten.- Die fehlertolerante Rechnerorganisation.- Globale Fehlertoleranzeigenschaften.- Input/Output.- Takt- und Stromversorgung.- Eine fehlertolerante Multiprozessorkonfiguration.- 11.3.2 Entwurf des Encoders und Decoders.- Binäre Multiplikation in GF(24).- Die Kodiergleichungen.- Dekodierung und Paritätsprüfung.- 11.4 Literatur.- 11.4.1 Bücher.- 11.4.2 Einzelartikel.- 12 Betriebssysteme.- 12.1 Einführung.- 12.1.1 Definition und Aufgaben.- Schichtenmodell.- Portierung und Wartung von Programmen.- Modulare Softwaresysteme.- 12.1.2 Betriebssystemaufgaben.- Echtzeitbetrieb und Parallele Prozesse.- 12.2 Grundaufgaben von Betriebssystemen.- 12.2.1 Prozeßverwaltung.- Prozeßdefinition.- Prozeßzustände.- Zustandsverwaltung.- Scheduling und Dispatching.- Ein einfaches Multitasking-Beispiel.- 12.2.2 Weitere Grunddienste.- Prozeßsteuerung.- Poolverwaltung.- 12.2.3 Prozeßsynchronisation.- Kritische Abschnitte.- Semaphore.- Deadlocks.- Eventflags.- 12.2.4 Interprozeßkommunikation.- Mailboxes.- Implementierungsaspekte.- 12.2.5 Zeitsteuerung.- Timerdienste.- Implementierungsgesichtspunkte.- 12.3 Betriebssystemauswahl.- 12.3.1 Auswahlgesichtspunkte.- Antwortzeit.- Betriebssystemkern oder Voll-Betriebssystem.- Multiprozessorfähigkeit.- Entwicklungsunterstützung.- 12.3.2 Ein Beispiel: VRTX32.- Überblick über VRTX32.- Schnittstellen der Softwarekomponenten.- Einige VRTX32-Dienste.- 12.4 Literatur.- 12.4.1 Bücher.- 12.4.2 Einzelartikel.- Stichwortverzeichnis.




