Ziele eines Mehrrechnerkonzeptes - Aufteilung von Aufgaben auf mehrere en kostengünstige Leistungssteigerung -einzelne en können auf privaten und auf gemeinsamen zurückgreifen -en können selbständig agieren oder von einem geführt werden -Einsatz von en unterschiedlichen Typs die z.b. Spezialaufgaben übernehmen (Text-, Graphik-, Arithmetikprozessoren) Coprozessoren -Verwaltung des als Voraussetzung für Mehrprozessorbetrieb -nur jeweils ein darf gleichzeitig zugreifen Bus-Arbiter erforderlich, der Zugriffsrechte regelt Schiedsrichter/Schlichter Kap.2 3 / 4 Strukturvarianten von Mehrrechnersystemen Privater Bus (residenter Bus) Privater Bus (residenter Bus) I/O- Private Einund Ausgabe Privater System- Einund Ausgabe Systemspeicher Coprozessor Privater Bus (residenter Bus) Private Einund Ausgabe Privater I/O- Kap.2 32 / 4 Dr. R. Viga / EMK 24
XACK (RES Bus) Adressdecoder AEN2 RDY2 READY AEN RDY CLK READY CLK CPU 886 ( 888) SYSB/RESB 8284A S bis S2 Schnittstellensteuerung (Übersicht) 8289 RESB CLK IOB ANYRQST AEN SYSB RESB XACK (SYS Bus) Arbitersignale + AEN CEN CLK IOB DT/R AEN CEN CLK DT/R IOB ALE DEN DEN ALE Adressen STB OE 8282 Latch Adressen OE STB 8282 Daten OE T 8286 Privater Bus (residenter Bus) Businterface Daten T OE 8286 Businterface Kap.2 33 / 4 Schnittstellensteuerung im Mehrrechnersystem Bus-Arbiter erhält von Adressdecoder über SYSB/\RESB Signal zur Unterscheidung zwischen und residentem Bus Arbiter gibt über \AEN den Zugriff zum frei => Tristate- Zustand CEN veranlasst zum Aussenden von n Kap.2 34 / 4 Dr. R. Viga / EMK 24 2
Arbitrierungsablauf Daisy-Chain: Vorgängereinheit gibt sobald Arbeit beendet an Nachfolger ab - jeder Hauptprozessor besitzt einen Arbiter -Arbiter korrespondieren miteinander und regeln den Buszugriff -bei Mehrfachanforderungen entscheiden Prioritäten über Zugriffsreihenfolge -Prioritäten entweder fest eingestellt oder rotierend -bei fest eingestellten Prioritäten Verwendung von Daisy-Chain Eingabe- Ausgabe-Geräte Eingabe-Ausgabegesteuerte Privater I/O-Bus 884 A Private Adressdecoder 8284 A S bis S2 I/O- 889 Lokale Adress- Adressdatenbudatenbus 886 Arithmetikprozessor 887 S bis S2 8289 8289 Systemspeicher Kap.2 35 / 4 Arbitrierungsverfahren: : a) über Prioritätsdecoder µp Mem. I / Arb. BREQ BPRN An und vom Priority Controller Arb. Tr Bustreiber Busy-Ltg...... 2... 7 Prioritätsdecoder µ C µ C µ C 7 µp Sp. I/O µp Sp. I/O µp Sp. I/O lokaler Bus BA Tr. BA Tr........ BA 7 Tr. BUSY O..... 7 Prioritäts-Decoder gemeinsamer gemeinsame Schnittstellen Kap.2 36 / 4 Dr. R. Viga / EMK 24 3
Arbitrierungsverfahren: : b) über Daisy-Chain Busrequest Bus Priority In (BPRN) BPRN Arb. Bus Priority Out BUSY Arb. Common Bus Request = + BPRN Arb.... 2 3 BPRN... C Busy... : Bus Priority out BPRN: Bus Priority in Bus Arbiter Bus Arbiter Bus Arbiter 7 Masse BUSY O Kap.2 37 / 4 MIMD ist das Konzept für universelle Mehrprozessoranwendungen Mehrprozessorsystem In anspruchsvollen Geräten zur Automatisierung (Analysegeräte) arbeiten mehrere en zusammen. Voraussetzungen für die Auslegung des Mehrprozessorbetriebs sind Betrachtungen über die Leistungsfähigkeit, Belastung durch einzelne Prozesse und Unabhängigkeit von en. Verteilung der Aufgaben auf einzelne Rechner Kategorisierung: - Mehr- und Multiprozessorsysteme < en - Mehr- und Multiprozessorsysteme > en - Vektor-Rechner - Parallele Vektor-Rechner (4-6 en) Flynns Kategorien SISD (single instruction stream, single data stream): Einprozessormaschine SIMD (single instruction stream, multiple data stream): ein Befehlsstrom, der von mehreren en auf unterschiedliche Datensätze wirkt; für Spezialeinsätze MISD (multiple instruction stream, single data stream): kein System bekannt MIMD (multiple instruction stream, multiple data stream): jeder bearbeitet mit eigenen Befehlen seine eigenen Daten Kap.2 38 / 4 Dr. R. Viga / EMK 24 4
Topologien von Mehrprozessorsystemen a) Zentraler gemeinsamer (eng gekoppelte Systeme) derzeit häufigste Struktur P P 2 P n Cache Cache Cache Hauptspeicher I / b) Verteilte Systeme mit verteiltem und Kommunikationsnetzwerke aufwändige Kommunikation; günstig bei großer Zahl lokaler zugriffe P Cache I / P n Cache I / Netzwerke Kap.2 39 / 4 Topologien von Mehrprozessorsystemen Topologie b) unterscheidet zwei Varianten nach Art der Kommunikation und der Organisation des verteilten s: b) verteilter als gemeinsamer Adressraum organisiert (Zugriff über Zugriffsrechte) oder b2) verteilter bestehend aus vollständig getrennten bereichen (gleiche Adressen verweisen auf verschiedene Orte; Zugriff auf fremde nicht möglich Mehrrechnersysteme) Eingabe- Ausgabe-Geräte Eingabe-Ausgabegesteuerte Privater I/O-Bus 884 A Private Adressdecoder 8284 A S bis S2 I/O- 889 Lokale Adress- Adressdatenbudatenbus 886 Arithmetikprozessor 887 S bis S2 8289 8289 Systemspeicher Kap.2 4 / 4 Dr. R. Viga / EMK 24 5
Befehle bestehen aus zwei Zyklen (Lese- und Schreibzyklus), die Bus-Arbiter trennen kann Lock-Präfix verhindert Trennung des Befehls Kollisionsvermeidung Semaphortechnik - Gemeinsamer in einem Mehrrechnersystem kann mehrere Tasks (Teilaufgaben innerhalb eines Programms) enthalten - der einen Task beendet hat, holt nächsten zur Ausführung aus Systemspeicher in Privatspeicher - Systemspeicher enthält zusätzlich Datenpuffer, die von mehreren en genutzt werden oder zur Kommunikation dienen Konflikte bei gleichzeitigem Lese- und Schreibzugriffen gemeinsamen Bereichen wird sog. Semaphorbyte (Bit) zugeordnet, über das Bereich gesperrt (Bit = ) oder freigegeben (Bit = ) wird (Zugriffsprinzip: vor Zugriff lesen, wenn frei, belegen) Beispiel: Pruef: MOV AL, ; in AL-Register LOCK XCHG Sema, Al ; Inhalt von SEMA und AL ausgetauscht, Lock-Signal gesetzt TEST AL, AL ; Flags abhängig von AL beeinflusst; AND-Verknüpfung der beiden Sources; Ergebnis nicht gespeichert. JNZ Pruef ; MOV Sema, ; Freigabe Kap.2 4 / 4 Dr. R. Viga / EMK 24 6