DE69701802T2 - Paralleler prozessor mit redundanz von prozessorpaaren und verfahren - Google Patents
Paralleler prozessor mit redundanz von prozessorpaaren und verfahrenInfo
- Publication number
- DE69701802T2 DE69701802T2 DE69701802T DE69701802T DE69701802T2 DE 69701802 T2 DE69701802 T2 DE 69701802T2 DE 69701802 T DE69701802 T DE 69701802T DE 69701802 T DE69701802 T DE 69701802T DE 69701802 T2 DE69701802 T2 DE 69701802T2
- Authority
- DE
- Germany
- Prior art keywords
- bus
- processor
- spu
- control
- pair
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
- G06F15/8023—Two dimensional arrays, e.g. mesh, torus
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2038—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Multi Processors (AREA)
- Hardware Redundancy (AREA)
Description
- Die Erfindung betrifft einen elektronischen numerischen Parallel-Computer mit mehreren Prozessoren für allgemeine Zwecke, MIMD (Multiple Instruction stream Multiple Data stream) gemäß dem Klassifikationsmodell von Flynn, der Latenzzeit-orientiert ist, sowie die den Computer bildenden Prozessoren. Eine Replikation von regelmäßig verbundenen und zusammenwirkenden Prozessorelementen oder Knoten kann die Leistungsfähigkeit und die Zuverlässigkeit eines Computers verbessern und dessen Kosten verringern.
- Ein MIMD-System mit mehreren Prozessoren, dass auch MULTI genannt wird, besteht aus einer Anzahl von Prozessoren, die sich über eine Verbindungsstruktur entweder einen globalen Speicher teilen oder ohne einen gemeinsamen Speicher nur miteinander kommunizieren. Im zuerst genannten Fall spricht man auch von Multiprozessoren, im letztgenannten Fall von Multicomputern.
- Abgesehen von Vorteilen haben die gegenwärtigen MULTI- Systeme auch einige Probleme und Nachteile. Um bei parallelen Prozessen miteinander zu kommunizieren, nehmen die Multiprozessoren den gleichen Mechanismus für Prozessor-Speicher-Kommunikation an, was sich als flexibel und geeignet für jegliche Berechnung erwiesen hat. Der gemeinsam benutzte Speicher wird jedoch zu einem "Flaschenhals", wenn die Anzahl der beteiligten Prozessoren ansteigt. Die Komplexität und die Kosten von Mehr-Port-Speichern können nur um den Preis einer erhöhten Speicher-Latenz oder durch Verminderung des Speicherverkehrs durch Verwendung von lokalen Cache- Speichern, die weitere Komplexität und Kosten für die Organisation ihrer Kohärenz-Protokolle verursachen, begrenzt werden.
- In Multicomputern hat jeder Prozessor einen privaten Speicher, der zu einer geringen Latenz und einer höheren Skalierbarkeit führt, die bekannten Kommunikationsmechanismen ermöglichen jedoch keine effiziente Kommunikation bei parallelen Prozessen. Die Übertragung einer Meldung erfordert eine Eingabe / Ausgabe-Operation. Auch wenn der Meldung ein Interrupt mit einer hohen Priorität zugeordnet wird, bleibt die durchschnittliche Latenz größer, als diejenige des Zugriffs auf den gemeinsamen Speicher.
- Die angewendeten Verbindungsstrukturen bestimmen die Topologie, die Knoten oder den Verbindungsgrad und mehrere Leistungscharakteristiken des MULTI-Systems. Jede direkte Verbindung zwischen den Knoten erfordert auch ein Knoten-Interface. Da sich der Knoten-Grad mit steigender Anzahl von Knoten erhöht, bestimmen die Verbindungskosten sehr schnell die Kosten der Maschine. Bei den gegenwärtigen Technologien muss der Knoten-Grad notwendigerweise gering gehalten werden, auch wenn dies die Wahrscheinlichkeit von Wartezeiten und Konflikten erhöht, die Kommunikations-Latenz inkonstant macht und die Leistungswerte von der Raum-Zeit-Verteilung des Verkehrs und der Anwendung selbst abhängig werden. Um flexible und zugängige Netzwerke zu annehmbaren Kosten zu erhalten, werden optimale Topologien sowie Elemente zum Schalten und Kombinieren von Meldungen, Puffer und Verfahren zur Leitweg- und Flusssteuerung verwendet, die dazu führen, dass die gegenwärtigen Verbindungsstrukturen aufwendig herzustellen sind und vom Standpunkt der Leistungsfähigkeit betrachtet immer noch zu teuer und ineffizient sind.
- Der Grad der Parallelität entspricht der Anzahl von Prozessoren, die gesamte Rechenleistung hängt jedoch auch von der Leistung der einzelnen Prozessoren ab. Tatsächliche Realisierungen beinhalten Abhängigkeiten, auf Grund derer diese zwei Leistungsfaktoren nicht unabhängig voneinander sind. Die parallelen Prozesse kommunizieren mit allgemein (global) gemeinsam benutzten Ressourcen mit begrenzter Kapazität. Dies kann zu Blockierungen und / oder Zugriffskonflikten führen, die die erwartete Leistungsfähigkeit entweder mit steigender Zahl der Prozessoren oder mit steigender Leistung eines einzelnen Prozessors verschlechtern.
- In einem MULTI-System wird durch die Schwierigkeit, die parallelen Prozesse zu synchronisieren, die Anzahl von Anwendungen, die den Vorteil einer parallelen Ausführung nutzen können, erheblich reduziert. Probleme entstehen nicht durch die Verteilung eines gemeinsamen Taktsignals an alle Prozessoren, wie es normalerweise auch in SIMD-Systemen durchgeführt wird, sondern hauptsächlich in der Unmöglichkeit, die genaue Ausführungszeit eines Prozesses vorherzusagen. Jeder Prozessor hat seine eigene autonome Sequenz-Steuerung, und die parallelen Prozesse verlieren mit der Zeit ihre zeitliche Beziehung zueinander in der Weise, dass sie durch den Programmierer nicht mehr steuerbar sind.
- Eine Synchronisation wird indirekt durch die Kommunikation erreicht. Bekannte Verfahren beruhen auf einer Übertragung von Meldungen in den Multicomputern und auf einer Zugriffssteuerung auf gemeinsame Speicher-Variablen in Multiprozessoren. Diese Operationen, die im wesentlichen auf der Software-Ebene mit zahlreichen Befehlen des üblichen Repertoires und wenigen spezialisierten Befehlen (test&set, fetch&add, usw.) durchgeführt werden, sind immer noch zu langsam und beeinträchtigen die Kommunikationszeit. Darüberhinaus erzeugen sie Meldungen, die die Blockierungen des Verkehrs verstärken. Somit sind die meisten der bis jetzt realisierten MULTI-Systeme zur Synchronisierung einer großen Anzahl von kleinen Prozessen ungeeignet und nicht in der Lage, die Ausführungszeit (Latenz) eines einzelnen Tasks deutlich zu reduzieren.
- In MULTI-Systemen stellt sich auch das Problem des Lastausgleichs, dessen Ziel darin besteht, die Ressourcen durch gleichmäßige Verteilung der Lasten unter den Prozessoren optimal zu nutzen. Eine Migration oder Verschiebung der Zuordnung zu Ressourcen nach einer ursprünglichen Entscheidung ist als eine Lösung für das dynamische Lastausgleichs-Problem in Betracht gezogen worden, und dessen Anwendbarkeit zur Reduzierung der Netzwerk-Last, die die Kommunikationspartner näher zusammenbringt, ist festgestellt worden. Bei Multicomputern ist die Prozess-Migration in stärkerem Maße belastend, da sie auch Kopien des Speichers erfordert. Deshalb wird die Migration von einfachen Einheiten angewendet. Der Nutzen einer Laufzeit-Migration ist zweifelhaft, da die Überlast durch Übertragung kaum durch Leistungssteigerungen ausgeglichen werden kann, so dass eine Prozess-Migration von einem Prozessor zu einem anderen Prozessor bei in hohem Maße parallelen Computern selten angewendet wird.
- In MULTI-Systemen werden im allgemeinen übliche Mikroprozessoren verwendet, die allgemein auf dem Markt erhältlich sind und auch in einer SISD-Maschine eingesetzt werden. In einem anderen Fall werden spezielle Prozessoren mit besonderen Mechanismen für eine schnelle Interrupt-Verarbeitung, eine schnelle Kontext-Schaltung mit mehreren Registerbänken oder Fenster verwendet, oder es werden Schnittstellen und Einheiten für Kommunikations-/ Leitweg-Meldungen integriert. Die verwendeten Prozessoren sind jedoch mit vollständigen und autonomen Abruf / Ausführungs- Fähigkeiten versehen und als Speicher-Bus-Master konfiguriert, so dass sie nach einer Aktivierung kontinuierlich Befehle abrufen und ausführen, jedoch normalerweise - mit Ausnahme zu Zwecken einer Fehlerbeseitigung - keinen Zugriff auf ihre eigenen inneren Register von außen erlauben. Rechenknoten in Multicomputern sind im allgemeinen Multiprozessoren mit einem Anwendungsprozessor und einem oder mehreren Kommunikations- und Schalt-/ Leitweg-Prozessoren, mit denen die Kommunikationszeit mit der Rechenzeit überlagert wird, auch wenn sich dadurch die Kosten der Parallelität erhöhen.
- Ein Ziel der Erfindung besteht darin, eine optimale Kombination zwischen der Prozessor-Replikation und der Zusammenschaltung, sowie Modalitäten der Prozess- Ausführung und des Zusammenwirkens zu finden und die geeigneten strukturellen und funktionalen Prozessor- Modifikationen in einer Weise vorzunehmen, mit der ein Parallel-Prozessor- oder MULTI-System ohne die genannten Nachteile entsteht, das eine optimierte und sehr leistungsfähige Verbindungsstruktur aufweist, mit der eine wirksame Kommunikation und Synchronisation der parallelen Prozesse möglich ist, um in einfacher Weise eine Einzel-Task-Ausführungs- und Abschluß-Zeit (Latenz) zu reduzieren. Das genannte technische Problem ist groß und schwerwiegend, da sowohl auf physikalischer, als auch auf logischer Ebene eine große Anzahl von Möglichkeiten besteht, die verschiedene Aspekte der Parallelität betreffen, die seit langer Zeit untersucht werden, jedoch schwierig zu verstehen und zu lösen sind.
- Die vorgeschlagene Lösung besteht gemäß den Ansprüchen 1 und 34 im wesentlichen in einer direkten Paarbildung von Prozessoren von verschiedenen Speicher-Bussen in der Weise, dass sich zwei eng miteinander verbundene Prozessoren selbst reziprok synchronisieren können und die inneren Register Daten teilen, um eine einfache Kommunikation und Synchronisation zwischen den zwei benachbarten parallelen Prozessen des Paares zu ermöglichen, sowie darin, die Prozess-Migration unter redundant replizierten Prozessoren auf dem gleichen Speicherbus zu übernehmen, um zu ermöglichen, dass jeder Prozess mit mehreren benachbarten parallelen Prozessen kommunizieren und sich selbst synchronisieren kann.
- Die Paarbildung wird durch gegenseitige Erweiterung der internen Busse von einem Prozessor zu den funktionalen Einheiten des anderen Prozessors erreicht. Somit wird auch ein einzelner Prozessor zu einer gepaarten Kommunikationseinheit, die normalerweise mit dem Speicher und peripheren Einheiten, hauptsächlich jedoch mit einem anderen Prozessor verbunden ist. Mehrere Prozessoren sind mit dem gleichen Speicherbus verbunden, um gleichwertig und nicht gleichzeitig auf die gleichen Befehle und Daten in dem gemeinsamen Speicher zuzugreifen. Jeder Speicherbus ist als ein einzelner Master-Bus organisiert, wobei die Prozessoren zur Ausführung eines einzelnen sequentiellen Migrationsprozesses zusammenwirken. Abgesehen von dem Speicherbus teilen die Prozessoren auch eine Prozess- Migrations-Struktur, die einen Transfer der Prozess- Steuerung und des "Kontextes", die in Status-Registern vorhanden sind, von einem Prozessor zu einem anderen Prozessor auf dem Bus ermöglicht. Auf diese Weise wird die Laufzeit-Prozess-Migration unter den Prozessoren in einfacher Weise erreicht, ohne dass die Identität und Kontinuität eines Prozesses verloren geht.
- Die Prozessoren sind so modifiziert, dass Konflikte durch einen gleichzeitigen Zugriff auf den gemeinsamen Speicher vermieden werden. Sie sind so ausgelegt, dass sie auf dem Speicherbus entweder Master-aktiv wie ein üblicher Prozessor oder Slave-inaktiv wie eine periphere Einheit sind, die keine Prozess-Aktivität ausführt, die jedoch ein Zugreifen und Laden auf ihre/ihrer internen Register von außerhalb ermöglicht. Ein Slave-Prozessor bleibt für eine unbestimmte Zeitdauer inaktiv, wartet auf den Empfang einer Steuerung und nimmt die Prozess-Aktivität wieder auf, die bei einem empfangenen Kontext beginnt. Die Prozessoren des gleichen Busses sind einzeln mit einem zu einem getrennten Speicherbus gehörenden Prozessor gepaart, so dass Paare zwischen verschiedenen Speicherbussen gebildet werden.
- Die entstandene Prozessorarchitektur bietet neue Befehle in zwei Kategorien:
- - Befehle zur Migration oder intra-Bus-Kommunikation zur Handhabung der (sequentiellen) Wechselwirkung zwischen Prozessoren auf dem gleichen Speicherbus, die auch die Laufzeit-Prozess-Migration ermöglichen;
- - Befehle zur Paar-Kommunikation oder intra-Bus- Kommunikation, zur Handhabung der (parallelen) Zusammenarbeit innerhalb des Paares, die eine Kommunikation und Synchronisation zwischen parallelen Prozessen ermöglichen.
- Die Parallelität ergibt sich aus der Anzahl von Prozessen, die gleichzeitig auf einer gleich großen Anzahl von Speicherbussen laufen und auf ihrem eigenen Bus mit gepaarten Prozessoren migrieren, um untereinander zu kommunizieren, in Wechselwirkung zu treten und sich zu synchronisieren.
- Ein erfindungsgemäßer Multicomputer / Multiprozessor hat zahlreiche Vorteile.
- Blockierungen und Zugriffskonflikte auf globale gemeinsame Ressourcen, die zu einem "Flaschenhals" werden, wenn der Grad der Parallelität ansteigt, sind im wesentlichen beseitigt.
- Parallele Prozesse kommunizieren über lokal überlassene Hochleistungsbusse, die keine Interface-Steuereinheiten und Eingabe- / Ausgabe-Operationen erfordern. Die Kommunikation zwischen den Prozessoren basiert auf einer lokalen gemeinsamen Registernutzung, die normalerweise und wirksam durch Hardware erreicht und in einfacher Weise durch eine besondere Paar- Kommunikation und Prozess-Migrations-Befehle gesteuert werden kann.
- Der duale Zugriff auf Prozessorregister durch beide Einheiten eines Paares ermöglicht eine variable zeitliche Wechselwirkung zwischen parallel benachbarten Prozessen und ferner die Programmierung der Synchronisationspunkte. Die Prozessoren haben direkten Zugriff zu der Sequenz-Steuerung von benachbarten Prozessoren. Dies ermöglicht es dem Programmierer, die wechselseitigen Vorgänge und zeitlichen Verhältnisse unter allen benachbarten Prozessen parallel zu steuern. Die Kommunikationszeit zwischen benachbarten Prozessen wird hauptsächlich durch die Prozess-Migrations- Operation beeinflusst, die eine bestimmte konstante Zeit erfordert. Aus diesem Grund und weil es keine Konflikte bzw. Blockierungen gibt, ist die Latenz der Kommunikation zwischen benachbarten Prozessen konstant und kann im Durchschnitt kürzer sein, als diejenige in einem Multiprozessor. Zusätzliche Einrichtungen zum Maskieren der Kommunikations-Latenz oder zum Überlappen der Kommunikations- und Rechenzeiten sind nicht mehr erforderlich. Eine Synchronisation ist ohne globale Verkehrserzeugung und sogar ohne explizite Kommunikation möglich. Es ist möglich, synchronisierende Barrieren zu programmieren und innerhalb der kurzen Ausführungszeit von einigen neuen spezialisierten Befehlen die explizite Synchronisation von vielen kleinen Prozessen im Umfang von wenigen Befehlen zu erreichen, wobei auch die asynchrone und effiziente Prozess-Ausführung und die anderen impliziten Synchronisationsmerkmale erhalten bleiben. Aufgrund dieser Fähigkeiten können sie in wirksamer Weise parallele und sogar synchrone Algorithmen ausführen.
- Die Struktur der Zusammenschaltung, die aus kostengünstigen Bussen üblicher Art mit geringer Latenz und großer Bandbreite gebildet ist, führt zu einer Optimierung im Hinblick auf die Komplexität, die Kosten und die Leistungsfähigkeit. Es wird kein Einfluss auf die Topologien und den Verbindungsgrad der Maschine ausgeübt, sondern es ist vielmehr möglich, verschiedene Topologien mit einem hohen Verbindungsgrad zu erzielen, ohne dass Komponenten zum Schalten oder Puffern erforderlich sind. Bei üblichen Maschinen ist der Verbindungsgrad durch die Anzahl von Prozessoren pro Bus gegeben, das heißt nur durch die physikalischen Parameter begrenzt, die die Bus- und die Prozessor- Dimensionen auferlegen, während die Bus-Bandbreite nicht mehr das Haupthindernis im Hinblick auf die zahlenmäßige Erhöhung der mit dem Bus verbundenen Prozessoren darstellt.
- Der Grad der Parallelität ist an die Anzahl von Speicherbussen angepasst und kann frei erhöht werden, wobei sich auch die Gesamtleistung proportional erhöht, und zwar unabhängig von der Leistung des einzelnen Prozessors. Durch die Tatsache, dass die Abmessungen der paarbildenden Verbindungen reduziert werden können, sowie durch die durch die Technologie der Mikroelektronik (VLSI) geschaffenen Möglichkeiten ist es möglich, eine einzelne logische Biprozessoreinheit zu entwerfen und zu realisieren, deren Integration zu weiteren Vorteilen im Hinblick auf die Modularität, die Ressourcen-Teilung und die Anzahl verschiedener Teile führen.
- Zusammengefasst bleiben bei der Erfindung alle Vorteile erhalten, es werden jedoch die meisten der Nachteile von gegenwärtig bekannten MULTI-Systemen in beiden Kategorien mit niedrigem, mittlerem und hohem Grad an Parallelität beseitigt.
- Die erzielte Prozess-Migration bildet eine "Kontext / Prozess-Schaltung", bei der mehr Prozessoren den einzelnen Prozess teilen, der das Schalten steuert. Es gibt kein formatiertes Datenpaket, und es existiert kein maximales Zeitintervall, innerhalb dessen ein Prozessor mit Sicherheit die Steuerung verlieren oder empfangen würde.
- Kein Computer beinhaltete bisher eine Prozessor- Vermittlung zur Ausführung eines einzelnen sequentiellen Prozesses. Die erhebliche funktionale Ineffizienz, die sich durch die Redundanz von inaktiven Prozessoren ergibt, ist nur mit den durch die Parallelität gewonnenen Vorteilen zu rechtfertigen. Die Situation auf jedem Speicherbus ist nur in struktureller Hinsicht ähnlich zu derjenigen von gemeinsamen Bus-Multiprozessoren, funktionell jedoch sehr unterschiedlich. Abgesehen von den Paar- Verbindungen sind bei der Erfindung die Prozessoren weder Standard-Typen, noch alle gleichzeitig aktiv- Master, und sie konkurrieren nicht um Ressourcen und sind nicht in einer zufälligen und asynchronen Weise an Konflikten beteiligt. Die Migration findet in geordneter Weise unter der Software-Steuerung statt.
- Weitere Einzelheiten und Merkmale der Erfindung ergeben sich aus der folgenden Beschreibung anhand der Zeichnungen, in denen nicht beschränkende Beispiele für Topologien und Realisierungen gemäß der folgenden Erläuterung der Figuren dargestellt sind, in denen jede Verbindungslinie ein oder mehrere Busse darstellt und die angedeutete Richtung die vorherrschende Richtung ist, jedoch nicht eine Bidirektionalität oder das Vorhandensein von Verbindungen mit entgegengesetzter Richtung ausschließt.
- Fig. 1 zeigt ein Teil-Blockschema eines erfindungsgemäßen Computers mit einer regelmäßigen "Matrix-" Topologie mit Speichermodulen M, Speicherbussen C-BUS, Prozessoren SPU, Strukturen von Paar-Zusammenschaltungen P-P, Migrationsstrukturen A-S und Biprozessoren DPU.
- Fig. 2 zeigt die kleinstmögliche Konfiguration eines erfindungsgemäßen Multicomputers, der nur zwei Prozesse parallel ausführen kann, die nicht migrieren können.
- Fig. 3 zeigt eine regelmäßige "lineare Ketten-" Topologie, die an den Enden zu einem Ring verbunden werden kann, wobei auch dual-Port-Speicher oder Kommunikations-Speicher (2-FIFO) DPM, die wie Biprozessoren zwischen Bus C-BUS Paare geschaltet werden können, dargestellt sind.
- Fig. 4, 5, 6 zeigen andere Verarbeitungsnetze R-P mit regelmäßiger Topologie von Multicomputern gemäß der Erfindung, wobei die Unterscheidung der Strukturen A-S und P-P und die Darstellung der anderen Verarbeitungseinheiten (M, IU, DPM) weggelassen worden ist, bei denen davon auszugehen ist, dass sie auf jedem Bus C-BUS entsprechend der bereits beschriebenen Kriterien sowie der Darstellung in den Fig. 1, 2 und 3 geschaltet sind.
- Fig. 7 zeigt die externen Haupt-Verbindungen, nämlich die gemeinsamen Verbindungen A-S, C-BUS sowie die private Verbindung P-P eines Paares von Prozessoren SPU, die einen Biprozessor DPU bilden.
- Fig. 8 zeigt ein vereinfachtes erfindungsgemäßes Blockschaltbild der wesentlichen funktionalen Einheiten der zwei Prozessoren SPU eines Paares, die gemäß der Erfindung verschaltet sind und dieser entsprechen.
- Fig. 9 zeigt ein Blockschaltbild der Migrationsstruktur A-S eines einzelnen Busses C-BUS mit Prozessor- Auswahlmitteln P-SEL, einem Migrationsbus MIG-B und Schnittstellen S und A für Strukturen zum Zusammenschalten, die in dem Paar von Prozessoren SPU verteilt sind.
- Fig. 10 zeigt das Vorhandensein von Adress-Decodern ADEC in den Auswahlmitteln P-SEL der Biprozessoren DPU auf dem gleichen Bus C-BUS.
- Fig. 11 zeigt im Detail die inneren Verbindungen der Schnittstellen A und S der Migrationsstruktur A-S und das Vorhandensein von Arbitrationsmitteln A-R zwischen den Zugriffs-Steuerports MC, SC zu der Prozessor- Registerdatei REG-F.
- Fig. 12 zeigt ein mögliches Durchschaltemittel M-x, das gemäß der Erfindung in einige interne Paar-Busse eingeschaltet ist.
- Fig. 13 zeigt das Durchschaltemittel M-X, das aus Durchschalteelementen IXI vom 2 · 2 Typ gebildet ist, gemäß der Erfindung, sowie Details der Datenverbindungen zwischen dem Register REG-F und Ausführungseinheiten EX-U, die eine arithmetische und logische Einheit ALU umfassen.
- Fig. 14 zeigt die Verbindung der funktionalen Einheiten der zwei Prozessoren SPU, die ein Paar bilden, wenn die Schaltmittel M-X "kreuzverschaltet" sind.
- Fig. 15 zeigt ein Schema der Befehls- und Synchronisations-Schaltung XAND der Schaltblöcke IXI, die das Schaltmittel M-X bilden.
- Fig. 16 zeigt den Biprozessor DPU, der nur eine Zeittaktschaltung TGEN-U für beide Prozessoren SPU des Paares enthält.
- Der Hauptspeicher 13 ist über die Busse C-BUS verteilt, die jeweils ihren eigenen Adressraum umfassen, so dass mehrere private Adressräume entstehen. Auf dem einzelnen Bus C-BUS wird der Speicher M, der optional modular und hierarchisch (Cache) L1/2 sein kann, durch die damit verbundenen Prozessoren SPU gemeinsam benutzt und ist in einem einzigen gemeinsamen Adressraum lokal zugänglich.
- Die Struktur der gesamten Zusammenschaltung ist in mehrere verschiedene Strukturen partioniert: lokale gemeinsame Strukturen A-S und C-BUS, die eine Prozess- Migration ermöglichen; sowie private Strukturen P-P, die eine Kommunikation und Synchronisation von parallelen Prozessen ermöglichen. Jeder Prozessor SPU ist nur mit einem Speicherbus C-BUS, einer Migrationsstruktur A-S und einer Paar-Zusammenschaltung P-P verbunden.
- Die Eingabe / Ausgabe-Steuereinheiten IU können mit jedem Bus C-BUS und / oder direkt mit jedem Speichermodul M in der üblichen Weise verbunden sein.
- Auf jedem Speicherbus C-BUS findet zu einem Zeitpunkt nur ein Migrationsprozess statt, und nur ein Prozessor SPU ist pro Bus C-BUS zu diesem Zeitpunkt aktiv-Master, während alle anderen inaktiv-Slave sind und darauf warten, an der Prozess-Aktivität teilzunehmen.
- Diese Situation mit einem Master und vielen Slaves wird zunächst durch ein Rücksetzen erzwungen. Um die verschiedenen Anfangszustände zu erkennen, hat die ein Rücksetzen empfangende Einheit RST des Prozessors SPU einen oder mehrere Eingangssignale M/S, die für die Master-Einheit auf einen im Vergleich zu der Slave- Einheit anderen logischen Pegel geschaltet sind. Ein aktiver Master-Prozessor SPU verhält sich auf seinem Bus C-BUS wie eine übliche zentrale Recheneinheit (CPU), die die Befehle und Daten, die sich in dem lokalen Speicher M des Busses C-BUS befinden, mit einer vollständigen Steuerung der verbundenen Ressourcen verarbeitet. Alle Modalitäten, die bereits in einer CPU berücksichtigt werden, unter denen sich insbesondere ein Haltezustand bei fehlender Verbindung befindet, der von der aktiven Einheit nach und während eines direkten Speicherzugriffs (DMA - Direct Memory Access) eingenommen wird, gehören zu den aktiven Master- Betriebsarten. In einem inaktiven Slave-Prozessor SPU ist die Aktivität zur Abruf-Befehlsausführung ausgesetzt, kann jedoch jederzeit gestartet werden.
- Auf seine Register kann von dem externen Bus C-BUS Zugriff genommen werden. Ein interaktiver Slave- Prozessor kann von dem aktiven Master-Prozessor Kontextdaten empfangen und auf Anforderung die Prozess- Aktivität wiederaufnehmen, und zwar beginnend mit dem empfangenen Kontext. Die inaktive Slave-Betriebsart umfasst alle jene Modalitäten, die auch in einer Peripherie oder in einem Coprozessor vorhanden sind, wenn diese nicht auf den Speicher zugreifen. Kein Prozessor SPU verläßt eigenständig den inaktiven Slave- Zustand, solange er nicht durch den Master-Prozessor über die Migrationsstruktur A-S oder durch einen Reset explizit dazu angewiesen wird. Das auf einem Bus laufende Programm bestimmt, welchem Prozessor auf diesem Bus sein Prozess durch die ausführenden Prozess- Migrations-Befehle übertragen wird, die die Block- Übertragung der Statusregister-Inhalte von dem aktiven Prozessor in die korrespondierenden Register des inaktiven Slave-Zielprozessors steuern, und ebenfalls die Steuer-Übertragung zwischen dem Sender und dem Empfänger synchronisieren. Die Migration weckt den empfangenden Prozessor als Master auf und sendet ein Signal, so dass der Sender als inaktiv-Slave schläft.
- Unter der Programmsteuerung werden die Prozessoren, die die gleiche Speicherbus-Übertragung untereinander und den Kontext und die Steuerung des laufenden Prozesses teilen, wiederum aktiv-Master des Bus C-BUS in der Weise, dass der Migrationsprozess ohne Sprünge oder Verluste von Befehlen fortgesetzt werden kann.
- Zwei Prozessoren SPU eines Paares DPU sind immer unabhängig voneinander, und wenn der eine Prozessor inaktiv-Slave ist, kann der andere die Verarbeitung fortsetzen. Zwei Prozessoren sind "benachbart" zueinander, wenn sie innerhalb eines Paares über eine Paar-Zusammenschaltung P-P direkt miteinander in Wechselwirkung treten können.
- Um miteinander in Wechselwirkung treten zu können, müssen jeweils zwei benachbarte Prozesse auf ihrem Bus C-BUS zu dem Prozessor SPU migrieren, der diese kommunizieren läßt. Wenn beide zu dem gleichen Paar DPU gehören, können sie unter Anwendung der Paar- Kommunikations-Befehle selbst kommunizieren und sich selbst synchronisieren.
- Das aus allen Prozessoren SPU gebildete Netzwerk, die durch Speicherbusse C-BUS, durch Migration A-S und durch Paar-Zusammenschaltungs-Strukturen P-P zusammengeschaltet sind, bildet ein einzelnes Prozess- Organ R-P oder einen parallel-Prozessor, der simultan eine unabhängige Befehls- und Datenfolge auf jedem Speicherbus C-BUS verarbeiten kann und in der Lage ist, die parallelen Prozesse durch Ausführung von zugewiesenen Befehlen, die in geeigneter Weise in den Prozessen selbst programmiert werden, zu synchronisieren.
- Die Erfindung kann in mehreren verschiedenen Prozessor- Realisierungsarten ausgeführt werden, und zwar mit CISC-Systemen für allgemeine Zwecke oder modernen RISC- Systemen zur Ausführung von sequentiellen Programmen. Um die Charakteristiken des erfindungsgemäßen Paar- Prozessors SPU zu verdeutlichen, soll im folgenden ein einfaches, jedoch nicht als Beschränkung zu verstehendes Prozessor-Repräsentationsschema erläutert werden, das die üblichen funktionalen Einheiten umfasst, die in üblicher Weise zusammengeschaltet sind und arbeiten, nämlich mindestens die folgenden:
- - eine Buseinheit BU, die eine Schnittstelle zwischen dem Prozessor und dem Speicherbus C-BUS sowie anderen externen Strukturen bildet, und mit der eine physikalische Kompatibilität und eine Signalführung auf dem Bus sichergestellt wird, die von den internen Ausführungseinheiten EX-U unter der Steuerung der Steuereinheit DECO-U Daten und Adressen von Speicherstellen zum Zugriff empfängt, die die externen Bus-Zyklen und die Datenübertragung zu und von den äußeren und den internen Registern steuern kann, und die die Kriterien, die Interrupts, Ausnahmebedingungen, Arbitrationen usw. betreffen, sowie die von dem Speicher kommenden Befehle, zu der Decodier- und Steuereinheit DECO-U übertragen kann;
- - einen Satz von Ausführungseinheiten EX-U, die alle mit der Decodier- und Steuereinheit DECO-U verbunden sind und durch diese gesteuert werden, und die über Datenbusse DATA-MB und einige von ihnen auch über Adressbusse ADDR mit der Buseinheit BU verbunden sind, um in üblicher Weise mindestens die arithmetischen und logischen Operationen, die Operationen zum Laden und Speichern von Speicherdaten, die Adresserzeugung und Sprungoperationen oder die Gleitkommaoperationen usw. auszuführen und die berechneten Adressen und Daten zu den Registern REG-F oder zu der Buseinheit BU und die Bedingungen bzw. Ausnahmen zu der Steuereinheit DECO-U zu senden;
- - eine Bank von allgemeinen Registern REG-F oder solchen für spezielle Zwecke, die den Prozessorstatus oder Kontext enthalten, mit einem Satz von Datenports MD, die in üblicher Weise über einen Daten-Multibus DATA-MB mit den Ausführungseinheiten EX-U und der Buseinheit BU verbunden sind und durch mindestens einen Steuerport MC gesteuert werden, der mit einem Steuerbus REGS-B zu der Steuereinheit DECO-U verbunden ist;
- - eine Decodier- und Steuereinheit DECO-U, die über einen Eingangs-Befehlsbus IST-B eine einzelne sequentielle Befehlsfolge anfordert bzw. empfängt und decodiert und die Befehlsausführungen steuert und die Direktdaten zu den Ausführungseinheiten EX-U sendet und außerdem den Datenfluss zu und von der Registerbank REG-F steuert und die anderen funktionalen Einheiten koordiniert.
- Der Prozessor SPU kann auch Register umfassen, die nicht unbedingt üblich sind, nämlich optionale Puffer, Daten- und Befehlscaches und optionale Vorabruf- und Sprung-Vorhersage-Einheiten, sowie Speicher-Management- Einheiten (MMU, TLB), die in der üblichen Weise zusammengeschaltet sind und arbeiten. Die Registerbank REG-F hat üblicherweise zwei Ausgangs- und einen Eingangs-Datenport, sie kann jedoch auch eine größere oder kleinere Anzahl von Datenports aufweisen. Die Programmzähler-Registerbank kann ebenfalls direkt mit der Vorabruf-Einheit verbunden sein.
- Die Buseinheit BU umfasst mindestens die Busübertragungs-Steuereinheit BC und die externen Bus C-BUS Treiber. Im allgemeinen umfasst diese Einheit weitere Einheiten wie zum Beispiel Bus C-BUS Arbitrationseinheiten, Einheiten zum Empfang und zur Steuerung von Interrupts, externe oder interne Cache- Steuereinheiten usw..
- Die Buseinheit BU ist gemäß der Erfindung so ausgelegt, dass sie entweder eine Master- oder eine Slave-Einheit des Speicherbusses C-BUS ist. Sie umfasst Mittel zur Schnittstellenverbindung der Migrationsstruktur A-S mit den internen Prozessor-Registern REG-F und der Steuereinheit. Sie ist intern über einen Auswahl/Steuerbus LDR-B mit der nächsten Registerbank REG-F für von außerhalb geladene Kontext-Register REG-F verbunden und ferner mit der Steuereinheit DECO-U über einen weiteren Steuerübertragungsbus R/R-B zum Signalisieren eines Beendens bzw. Wiederaufnehmens der Prozessaktivität verbunden. Die Buseinheit BU setzt sich selbst entsprechend dem aktiven oder inaktiven Zustand ihrer Steuereinheit DECO-U in den Master- oder den Slave-Zustand. In dem Slave-Zustand kann sie, abgesehen von einem externen Zugreifen bzw. Laden auf die bzw. der internen Register REG-F beim Empfang eines Steuer-Migrations-Kriteriums von der Migrationsstruktur A-S die Decodier- und Steuereinheit über den Steuerübertragungsbus R/R-B aufwecken.
- Die Steuereinheit DECO-U beendet beim Empfang des speziellen Slave-Reset-Signals RESET-P durch die Empfangs-Reset-Einheit RST jede Host-Prozessor- Aktivität und versetzt die verbundene Buseinheit BU in den Slave-Zustand. In dem inaktiven Slave-Zustand verarbeitet die Decodiereinheit DECO-U keine Befehle, erlaubt jedoch einen Zugriff durch den äußeren Bus C- BUS und durch die Paar-Einheit auf das Register. Die inaktive Steuereinheit DECO-U kann nur dann wieder gestartet werden, wenn sie über den Steuerübertragungsbus R/R-B das Aufweck-Kriterium oder über die Reset-Empfangseinheit RST das spezielle Master-Reset-Signal RESET-A empfängt. Im ersten Fall übernimmt sie den gegenwärtigen Inhalt der Register REG-F als den übertragenen Prozess-Kontext und nimmt die Bearbeitung, beginnend mit diesem Zustand, wieder auf. Im zweiten Fall initialisiert sie die Register REG-F und die anderen funktionalen Prozessor-Einheiten und nimmt die Verarbeitung mit einem definierten Zustand wieder auf.
- Um eine Synchronisation der Befehls-Paarbildung zu ermöglichen, ist die Decodier- und Steuereinheit DECO-U jedes Paar-Prozessors SPU direkt und reziprok über mehrere Steuer/Synchronisationssignale SINC-B mit der anderen Decodier/Steuer-Paareinheit verbunden. Zur Synchronisation der zwei parallelen Prozesse ist die Decodier/Steuereinheit DECO-U auch mit einem weiteren Auswahl/Steuerbus XREG-B zu der Registerbank REG-F der Paar-Einheit verbunden, und zwar in der Weise, dass sie auf diesen parallel mit jenem zugreifen kann und die Übertragung zu und von ihren eigenen Ausführungseinheiten EX-U und ihren eigenen Registern REG-F steuern kann. Zum Zusammenwirken bei der Prozess- Migration wird davon ausgegangen, dass die Decodier- und Steuereinheit DECO-U ohne Prozess-Befehle inaktiv bleibt und ihren Zustand über mindestens ein Signal IDLE an die funktionalen Einheiten aller anderen Prozessoren übermittelt und diese in einem abgeschalteten Zustand hält.
- Um einen unabhängigen Zugriff durch beide Paar- Einheiten zu ermöglichen, ist die Registerbank REG-F eine solche mit dualem Zugriff mit einem weiteren und dualen Datenportsatz SD und Steuerportsatz SC, die mit dem Paar-Prozessor, ersterer mit der Ausführungseinheit EX-U und der Buseinheit BU und letzterer mit der Steuereinheit DECO-U, verbunden ist. Zwischen den dualen Steuerports jeder Registerbank sind Arbitrationsmittel zum Auflösen von Konflikten durch gleichzeitigen Zugriff auf das gleiche Register angeordnet.
- Die Prozess-Aktivität innerhalb des aktiven Master- Prozessors SPU verläuft in der üblichen Weise. Die aus dem Programmspeicher M des externen Bus C-BUS abgerufenen Befehle laufen innerhalb des Prozessors durch die Interface-Einheit BU und optionale Cache- und Puffer-Speicher, bis sie über einen Befehlsbus IST-B zu dem Eingang der Decodiereinheit DECO-U gelangen. Dank der ausgetauschten Synchronitätssignale SINC-B kann ihre Ausführung im Gleichklang mit der Befehlsfolge in der Paar-Einheit synchronisiert werden. Der externe Datenstrom fließt über die Buseinheit BU ein und über den Daten-Multibus DATA-MB zu und von den Ausführungseinheiten EX-U sowie die Registerbänke REG-F beider Paar-Prozessoren. Die Ausführungseinheiten EX-U können über den Daten-Multibus DATA-MB mit beiden Registerbänken REG-F kommunizieren. Die Steuereinheit DECO-U steuert nur die in dem gleichen Host-Prozessor SPU liegenden Ausführungseinheiten EX-U und organisiert als ausführender Prozess-Kontext die Register REG-F, die mit dem eigenen Register-Steuerbus REGS-B verbunden sind.
- Bei der Ausführung von Paar-Kommunikationsbefehlen greift sie über den Register-Steuerbus XREG-B des Paares auf die-Register REG-F der Paar-Einheit zu und steuert deren Übertragungen über den Datenbus DATA-MB zu und von ihren eigenen Ausführungseinheiten EX-U und/oder Buseinheiten BU.
- Bei der Ausführung von Migrationsbefehlen stellt die Decodier/Steuereinheit DECO-U die Adressierung so ein, dass auf dem externen Bus C-BUS der durch den Befehlsoperand identifizierte Prozessor SPU gewählt wird und steuert entweder die Block-Übertragung der eigenen Kontext-Registerbank REG-F zu dem Ziel- Prozessor oder erzeugt auf dem Steuer-Übertragungsbus R/R-B ein Steuer-Auslösekriterium, um einen Steuer- Migrationszyklus zu starten, an dessen Ende sie sich selbst in den inaktiven Slave-Zustand versetzt.
- Der günstigste Weg zur Übertragung eines Prozesses besteht immer noch darin, den gemeinsamen Bus C-BUS zu benutzen und mit diesem die Prozessor-Auswahlmittel P- SEL zu verbinden, die in der üblichen Weise aufgebaut sind, so dass eine normale CPU Speicherkomponenten oder Peripherieeinheiten auswählen kann. Die Auswahlmittel P-SEL, die mit dem Bus C-BUS geteilt werden, reduzieren die Kommunikation durch Verteilung auf einen Punkt-zu- Punkt Dialog zwischen lediglich der aktiven Einheit und der ausgewählten Einheit. Durch Betreiben der Adress- und Steuerbusse des aufgeteilten Busses C-BUS kann der Master-Prozessor jeden anderen, einschließlich sich selbst, wählen.
- Ein Prozess-Kontext oder ein Satz von Zustandsvariablen, die eine Prozess-Sperrung, Übertragung und Wiederaufnahme in kontinuierlicher Weise ermöglichen, ist vollständig in den Zustandsregistern REG-F des Prozessors enthalten, der diesen/diese ausführt. Dieser Kontext kann auf dem gemeinsamen C-BUS Datenbus DATA-B übertragen werden. Der gewählte inaktive Slave-Prozessor empfängt diesen Kontext direkt in seinen Status-Registern REG-F oder in einem anderen Interface BU Datenregister, das in einem aufgeweckten Zustand zu den Status-Registern REG-F übertragen werden kann.
- Die Bus-Einheit BU umfasst eine Register- Auswahl/Steuereinheit S, die mit den externen Bus C-BUS Treibern/Empfängern und ferner über einen Auswahl/Steuer-Bus LDR-B mit der Registerbank REG-F verbunden ist. Wenn sich die Bus-Einheit BU in der inaktiven Slave-Betriebsart befindet, erfasst die Auswahleinheit S das Eingangs-Auswahlsignal SELT, das von den externen Einrichtungen P-SEL eintrifft und verbindet die Bus C-BUS Empfänger zur Eingabe auch der externen Adress- ADRS-B und Steuer- CNTL-B Busse und steuert die Auswahl und das Laden der Register REG-F durch die Datenbusse.
- Um eine Block-Übertragung der Status-Datenregister zu ermöglichen und die Prozess-Kontext-Migration zu beschleunigen, sind die Register, auf die der Prozessor zugreifen kann, aufeinanderfolgend einem eindeutigen Adressraum-Segment zugeordnet. Weiterhin werden einzelne Befehle zur Übertragung des gesamten Kontextes empfangen. Auf dem gemeinsamen Bus C-BUS erhält jeder Prozessor SPU ein anderes Speicher-Adressraum-Segment (Speicherabbildung), oder es wird durch entsprechende Voreinstellung der Migrationsbefehle des Prozessors SPU und der Signale des Steuerbusses CNTL-B innerhalb eines Adressraumes ein Bereich für Peripherieeinheiten (I/O- Abbildung) oder nur für Prozessoren (Prozessorabbildung) reserviert.
- Die Steuermigration kann mit einer bestimmten Kontext- Variablen, zum Beispiel einem Bit des Statusregisters SR verbunden werden. Um eine größere Flexibilität und Verfügbarkeit zu erzielen, ist es vorzuziehen, die Steuermigrations-Meldungen getrennt über eine besondere Struktur zu übertragen. Zu diesem Zweck umfasst die Migrationsstruktur A-S Kommunikationsmittel, die zur expliziten Steuer-Übertragung verwendet werden. Solche Mittel können auf mehrere Arten implementiert werden, besonders vorteilhaft im Hinblick auf die Modularität ist es jedoch, wenn sie dezentralisiert sind und aus einer Mehrzahl von identischen Steuer- Kommunikationszellen zusammengesetzt sind, die singulär innerhalb jedes Bus-Prozessor SPU Interface BU verteilt sind, und die durch das Eingangssignal SELT mit den oben genannten Auswahlmitteln P-SEL und über den Steuer-Übertragungsbus R/R-B mit der Host-Steuereinheit DECO-U verbunden sind und alle durch einen gemeinsam verwendeten Migrationsbus MIG-B zum Austausch von die Steuer-Migration betreffenden Kriterien oder Meldungen unter der Bus-Migrations-Prozesssteuerung, untereinander zusammengeschaltet sind und während der Steuer-Auslöse/Erfassungs-Phasen jeweils mit ihrer Steuereinheit DECO-U kommunizieren können.
- Ferner ist es vorzuziehen, den Migrationsbus MIG-B mit Signalen mit bidirektionalen Pegeln zu realisieren, die mindestens umfassen:
- - ein Signal zum Senden/Empfangen des Steuer- Migrations-Kriteriums;
- - ein entgegengesetzes Signal zum Empfangen/Senden des gewährten/anerkannten Kriteriums als Antwort auf das Steuer-Migrations-Kriterium;
- - ein optionales Signal zum Behaupten oder Erkennen des Besitzes des gemeinsamen Busses und der Ressourcen, der ständig durch die aktive Master-Einheit geltend gemacht wird;
- und durch die die Kommunikationszellen miteinander über die üblichen Hardware-Handshake Anforderungs- Bestätigungs-Protokolle in Wechselwirkung treten.
- Bei der Ausführung von einem Steuer-Migrations-Befehl SIDE, < dest> stellt die Decodier/Steuer-Einheit DECO-U die Adressierung so ein, dass auf dem externen Bus C- BUS der durch den Befehlsoperand < dest> identifizierte Prozessor SPU gewählt wird und gibt an den Steuer- Übertragungsbus R/R-B ein Auslöse-Kriterium an ihre Zelle A aus, das wiederum auf dem Migrationsbus MIG-B das Migrationskriterium aussendet. Anschließend steuert die Decodiereinheit DECO-U den definierten Auslöse- Zyklus, an dessen Ende sie die Buseinheit BU mit einem Signal IDLE in die Slave-Zustand und die Zelle A in einen Empfangszustand setzt, die Steuerung des gemeinsamen Busses C-BUS an dem erneut gewählten Prozessor auslöst und ihre eigene Prozess-Aktivität auf unbestimmte Zeit aussetzt und darauf wartet, wieder aufgeweckt zu werden.
- Im Gegensatz dazu schaltet sich die Zelle A der gewählten Einheit selbst auf Empfang und sendet beim Eintreffen eines Steuer-Migrationskriteriums von dem Migrationsbus MIG-B über einen Steuer-Übertragungsbus R/R-B ein Aufweck-Kriterium. Die aufgeweckte Steuereinheit DECO-U stellt den inneren Zustand entsprechend des gegenwärtigen Inhalts des Kontext- Registers REG-F wieder her, stellt eventuell das Programm-Zählers-Register ein und setzt bei Auslösung des externen Busses C-BUS die Interface-Einheit BU in den Master-Zustand und die Zelle A in einen Sende- Zustand und nimmt schließlich die Prozess-Steuerung wieder auf.
- Die Registerbank REG-F umfasst mindestens ein spezielles Register, in dem dynamisch die Befehlsadresse der gegenwärtigen Ausführung enthalten ist. Ein solches Register kann der Programmzähler sein, vorausgesetzt, dass er nicht bei der Abrufzeit inkrementiert wird, sondern am Ende des Befehls, dessen Adresse er enthält. Sein Inhalt wird zu der anderen anfordernden Paar-Einheit übertragen, in der er im Hinblick auf die gewünschte Adresse verglichen wird, um den korrespondierenden Befehl zu identifizieren und die Synchronisationsbedingung zu erkennen. Es werden "explizite Prozess-Synchronisations"-Befehle empfangen, die sich innerhalb der Operanden auf das genannte spezielle oder ein Programm-Zähler-Register der Paar- Einheit beziehen und genau einen Befehlsfall des benachbarten Prozesses spezifizieren, und zwar über die neu adressierte Speicher M Adresse, die für den Fall genommen wurde.
- Bei der Ausführung eines solchen Befehls greift die Steuereinheit DECO-U mit dem Paar-Auswahl/Steuer-Bus XREG-B auf das modifizierte Programm-Zähler-Register in der Paar-Einheit zu und steuert die Übertragung des Registerinhaltes über den Datenbus DATA-MB in eine ihrer eigenen Ausführungseinheiten, in der sie eine Vergleichessprüfung zwischen der erfassten Adresse und der in dem Befehlsoperand selbst spezifizierten Adresse vornimmt. Wenn die Gleichheit gegeben ist, endet der Befehl. Im anderen Fall wird das Programm-Zähler- Register der Ausführungseinheit aktualisiert (nicht inkrementiert), so dass der gleiche Befehl in dem nächsten Zyklus bald wieder ausgeführt wird, oder er wird angehalten. Dieser Befehl endet, um sich zu wiederholen oder abzubrechen nur dann, wenn seine Ausführung parallel mit dem gegebenen Adress-Befehl in der Paar-Einheit auftritt. Die erforderliche Zeit (Wartezeit) zum Wiederholen der Ausführungen stellt den Preis für die Synchronisation dar, die durch das Betriebssystem (durch Task-Schalten) optimiert werden kann.
- Mit der Erfindung können auch "Prozess-implizite Synchronisations-" Befehle realisiert werden, die in ähnlicher Weise arbeiten, jedoch in dem Operanden einen gattungsmäßigen Wartezustand für den Wert von einem der Register der Paar-Einheit spezifizieren. Es sei noch einmal darauf hingewiesen, dass ein solcher Befehl unbegrenzt wiederholt wird, bis das gewählte Register die geforderte Bedingung nicht erfüllt. Die Prozess- Synchronisations-Befehle können entweder unilateral durch nur einen der parallelen benachbarten Prozesse oder bilateral durch beide Prozesse verwendet werden und beziehen sich reziprok aufeinander mit der Adresse des einen in dem Operand des anderen Befehls, um eine Synchronisationsschranke zu bilden. Sie können auch Blockierungen oder Sperrzustände verursachen.
- Innerhalb eines Prozessor-Paares DPU können die zwei Befehlsfolgen unabhängig voneinander sein, sie können jedoch auch im Gleichklang gepaart werden oder mit unterschiedlichen Synchronitätszuständen verlaufen. In der isochronen Betriebsart arbeiten die zwei gepaarten Prozessoren abgestimmt. In der asynchronen Betriebsart ist der eine Prozessor von dem von dem anderen Prozessor kommenden Synchronitätssignal SINC-B getrennt, und zwar in ähnlicher Weise wie in dem Fall, in dem die Partnereinheit inaktiv ist.
- Es ist möglich, die Synchronitätsverhältnisse in einem Paar unter Anwendung spezieller Befehle zu modifizieren. Bei der Ausführung eines Befehls SINC< modo> zur "Paar-Synchronitätseinstellung" setzt die Steuereinheit DECO-U sich und den Prozessor in die durch den Befehlsoperand angeforderte "Betriebsart" im Hinblick auf den Austausch von Synchronitätssignalen SINC-B und schreibt eventuell den Wert des Operanden in das zugeordnete Feld des Statusregisters SR.
- Alle neuen Befehle werden mit den üblichen Operanden- Adressierungs-Moden kombiniert. Durch Unterteilung oder Aggregation von Befehlen in die gleiche Kategorie sind mehrere Befehlsversionen möglich. Es ist zum Beispiel möglich, den Programmzähler und/oder das Statusregister SR zu kombinieren und eine Übertragung mit einem Steuer-Migrationsbefehl anstelle eines Kontext- Migrationsbefehls vorzunehmen oder einen einzelnen Befehl vorzusehen, der einen Steuer- und Kontext- Migrationsvorgang implementiert.
- Für die Anwendung eines Selektionsmittels P-SEL ist ein logisches Schema der Prozessor-Adressierung vorzusehen, das auf verschiedene Weisen erzielt werden kann. Das einfachste Schema besteht in einer Zuweisung einer Prozessor-Identifikationsnummer oder NIP, die auch als Operand in den Migrationsbefehlen verwendet werden kann, zu jedem Prozessor SPU, und zwar in eindeutiger Weise für alle mit dem gleichen Bus C-BUS verbundenen Prozessoren. Da eine Adressierung der Prozess-Migration mit einer Führung der Kommunikation zwischen parallelen Prozessen korrespondiert, ist es zur Vermeidung einer indirekten Adress-Bearbeitung auf einem Rechenpegel notwendig, das am besten geeignete logische Schema der Prozessor-Adressierung zu identifizieren. Aus diesem Grund sind erfindungsgemäß die Speicherbusse C-BUS ebenfalls logisch und eindeutig mit einer Bus- Identifikationsnummer oder NIB numeriert. Die Zuweisung wird in der Weise vorgenommen, dass jeder Prozessor eine NIP aufweist, die mit einer NIB seines Paar- Prozessor-Busses korrespondiert, und kein Prozessor eine NIP aufweist, die mit der NIB seines eigenen Busses korrespondiert. Mit diesem Schema adressiert sich ein Migrationsprozess durch Adressierung eines Prozessors direkt selbst an den korrespondierenden benachbarten Prozess-Bus. Auf den zahlreichen Bussen C- BUS sind die Adressierungsschemata ähnlich, jedoch niemals gleich. Das Verhältnis zwischen der NIP und der NIB charakterisiert das Schema auf jedem Bus, ebenso wie die Konfiguration und/oder den Inhalt der Adress- Decodiereinheiten ADEC der Auswahlmittel P-SEL.
- Die Prozessor-Paarung ermöglicht auch interne Optimierungen durch gemeinsame Benutzung von funktionalen Einheiten innerhalb des Paares. Der Biprozessor DPU braucht zum Beispiel nur eine interne Einheit zur Zeitgeneration TGEN-U für beide Prozessoren eines Paares zu enthalten.
- Die Decodier- und Steuereinheit DECO-U ist ebenfalls reziprok mit der Paar-Steuereinheit über mindestens ein Signal IDLE verbunden, um den Betriebszustand aktiv- Master oder inaktiv-Slave in Bezug auf ihren eigenen Migrationsprozess zu übermitteln, der eventuell in einem Feld des Statusregisters SR abgelegt ist, so dass eine Einheit den Aktivitätszustand der anderen Einheit kennt.
- Wenn man den Biprozessor DPU als Kommunikationseinheit zwischen einem Buspaar C-BUS betrachtet, so wird sehr schnell der Vorteil deutlich, der sich ergibt, wenn man in diesen einen Dualport oder Kommunikationsspeicher DPM (oder 2-FIFO) sowie ferner ein Paar von Interrupt- Kommunikationseinheiten integriert. Die für jeden Bus C-BUS relevanten Interrupt-Strukturen können zu Paaren mit lokalen privaten Strukturen zusammengeschaltet werden, die dem Prozessor-Paarbildungsschema folgen. Eine Interrupt-Kommunikationseinheit, die wie jede gattungsgemäße Interrupt-Einrichtung arbeitet und auf die auch so zugegriffen werden kann, ist normalerweise mit der Interrupt-Struktur des einen Busses C-BUS verbunden, jedoch in kennzeichnender Weise mit Punkt- zu-Punkt-Bussen zu einer korrespondierenden identischen Einheit verbunden, die zu der Interrupt-Struktur des Busses C-BUS der anderen Einheit gehört, so dass Interrupt-Meldungen zwischen den gepaarten Bussen C-BUS ausgetauscht werden können. Eine solche Interrupt- Kommunikationseinheit kann in den Paar-Prozessor SPU integriert werden, indem diese intern mit einem vollständigen Daten-Adress-Steuerbus zu der entsprechenden Buseinheit BU oder zu der Speicher- Managementeinheit (MMU), sofern eine solche vorhanden ist, verbunden ist und indem auf diese durch den externen Bus C-BUS zugegriffen werden kann.
- Gemäß der Erfindung können die privaten Speicher M des Busses C-BUS, sogar mit physikalisch getrennten Adressräumen, ebenfalls durch alle parallelen benachbarten Prozesse gemeinsam genutzt werden, ohne dass ein zeitlicher Konflikt auftritt. Zu diesem Zweck reicht es aus, wenn die zwei Prozessoren SPU eines Paares die abgerufene Befehlsfolge und den begleitenden Kontext reziprok austauschen. Um dieses Ziel zu erreichen, können einige Busse von beiden Prozessoren des Paares dynamisch gemacht werden, indem eine Schalteinrichtung M-X zum Rekonfigurieren der Paareinstellung vorgesehen wird. Bei synchronisierter Ausführung von entsprechenden Schaltbefehlen XEX auf beiden Paar-Einheiten können diese Mittel M-X in einer Weise schalten, dass jede Einheit augenblicklich Befehle empfangen kann, die durch die andere abgerufen werden, und ferner als eigenen Kontext die Paar- Einheit-Registerbank REG-F sehen kann. Es gibt zahlreiche Wege, Schaltelemente in die Paar-Struktur P- P einzuführen, wenn auch der Daten-Multibus DATA-MB vorgesehen ist, es ist jedoch besser, die geringere Anzahl von Bussen zu schalten. Entsprechend der Erfindung werden die Schaltelemente M-X nur in die Buspaare REGS-B, XREG-B, die jede Decodier- und Steuereinheit DECO-U mit beiden Registerbänken REG-F verbinden, und in die zwei Busse IST-B eingeschaltet, die es ermöglichen, dass die Befehlsfolge den Decodiereinheiten DECO-U zugeführt wird. Die Schaltelemente benötigen nur zwei Schaltzustände oder Funktionen, nämlich "gerade", bei der die Schaltmittel M-X transparent sind und die Busverbindungen nicht modifizieren, sowie "quer", bei der der erste Eingangsteil und der zweite Ausgangsteil jedes Buspaares invers miteinander innerhalb des Paares verbunden ist.
- Zur Steuerung ihrer Schaltvorgänge ist jede Steuereinheit DECO-U direkt mit den Schaltmitteln M-X mit mindestens einem Ausgangssignal X-S und einem Eingangssignal C verbunden. Der Steuermechanismus ist für beide Schaltzustände der gleiche.
- Bei der Ausführung eines Schaltbefehls XEX< b> befiehlt die Decodier- und Steuereinheit DECO-U über das Ausgangssignal X-S den Schaltzustand, der durch den Bool'schen Operanden < b> gefordert wird und prüft dann den Operanden mit dem Eingangssignal C, das den Schaltzustand des Mittels M-X zurückträgt. Wenn diese zusammenfallen (das heißt der Schaltvorgang fand statt), endet der Befehl nach einem eventuellen Austausch von einigen Registern. Im anderen Fall blockiert der Befehl, oder das Programm-Zähler-Register wird in der Weise eingestellt (vermindert oder nicht erhöht), dass der Befehl in dem nächsten Zyklus erneut ausgeführt wird. Der Prozessor SPU blockiert (d. h. ruht) in einem besetzt-Wartezustand, in dem er den Schaltbefehl XEX erneut unbestimmt ausführt, bis das Mittel M-X schaltet, wenn die Paar-Einheit ebenfalls den gleichen Schaltzustand erfordert.
- Zum Zeitpunkt des Schaltens findet auch die Synchronisation der zwei Prozesse statt.
- Während des Schaltzustandes "quer" wirken die von einem Bus C-BUS abgerufenen Befehle auf Variablen, die sich in dem privaten Speicher M des anderen benachbarten Busses befinden, so dass die Datenfolgen der zwei laufenden Prozesse auf den Speicher- M Bussen C-BUS der korrespondierenden Befehlsfolgen geschaltet bleiben. In diesem Zustand können die zwei beteiligten Prozesse nicht migrieren, und jede Ausführung eines Migrationsbefehls bewirkt eine Ausnahmebedingung.
- Da das Schalten doppelte Bus-Paare betrifft, ist es vorzuziehen, Schaltblöcke IXI aus zwei üblichen Elementen vom Typ 2 · 2 zu verwenden, die zwei Eingänge und zwei Ausgänge aufweisen, die durch einen Eingangs- Steuerport CP gesteuert werden, und die zwischen den Eingängen und den Ausgängen einen der Schaltzustände (gerade oder quer) entsprechend dem logischen Wert, der an dem Steuerport CP anliegt, einnehmen können.
- Es sind mindestens drei Schaltblöcke IXI erforderlich, nämlich einer für jedes Bus-Paar, deren sämtliche Steuerports CP in der Weise zusammengeschaltet sind, dass sie simultan als Reaktion auf ein einziges Steuersignal C schalten können. Eine Schalt- Auslöseeinheit XAND mit mindestens zwei Eingängen, die entsprechend mit den zwei von den beiden Steuereinheiten DECO-U kommenden Befehlssignalen X-S verbunden sind, ermöglicht das Schalten mit mindestens einem Ausgangs-Steuersignal C, das mit den Steuerports CP aller Schaltblöcke IXI und mit den Steuereinheiten selbst verbunden ist, unter zwar beim zusammenfallenden Empfang von übereinstimmenden Schalt-Anforderungen an beiden Eingängen.
- Das Prozessor- SPU Statusregister SR kann neben den üblichen Informationen, die den Prozessor-Zustand betreffen, weitere Felder enthalten, die die Migrationsaktivität, den Synchronitätszustand des eigenen und des Paar-Prozessors, den Zustand des Schaltmittels M-X usw. betreffen.
- Die Erfindung ermöglicht die industrielle und ökonomische Herstellung einer mikroelektronischen Komponente (VLSI), in der beide Prozessoren SPU eines Paares DPU und ihre Verbindungen P-P integriert sind, und die gegebenenfalls auch die Schaltmittel M-X, einen Dualport- oder Kommunikations-Speicher DPM und ein Paar von Interrupt-Kommunikationseinheiten in einer einzigen Biprozessor-Einheit umfasst, die wiederum zur Herstellung von parallelen und kompatiblen Computern in einer Vielzahl von verschiedenen Konfigurationen, Leistungsklassen und Kosten, die sich auf verschiedene Marktsegmente richten, von Personal- bis zu Supercomputern, anwendbar ist.
Claims (38)
1. Paralleler Rechner für allgemeine Zwecke mit einer
Mehrzahl von Prozessoren (SPU), einer Mehrzahl von
Hauptspeichereinheiten (M) und einer Mehrzahl von
Speicherbussen (C-BUS), wobei jeder Speicherbus
mindestens einen Datenbus (DATA-B), einen
Adressbus (ADRS-B) und einen Steuerbus (CNTL-B)
umfaßt, dadurch gekennzeichnet, daß jeder
Speicherbus (C-BUS), auf dem ein einzelner
Migrationsprozess ausgeführt wird, mindestens mit
einer Speichereinheit (M) und einem Prozessor
(SPU) verbunden ist, der auf dem Speicherbus (C-
BUS) redundant repliziert ist; jeder Prozessor
(SPU) reziprok in einem Paar über eine direkte
Paarverbindung (P-P) mit einem anderen Prozessor
(SPU) verbunden ist, der zu einem anderen
Speicherbus (C-BUS) gehört, wobei die zwei
Prozessoren mindestens eine Gruppe ihrer
entsprechenden Registerbänke (REG-F) teilen und
als Antwort auf die Ausführung von Paar-
Kommunikationsbefehlen gegenseitig Kontextdaten
austauschen, so daß eine einzelne
Biprozessoreinheit (DPU) gebildet wird; jeder
Speicherbus (C-BUS) mit einer Migrationsstruktur
(A-S) verbunden ist, die direkt mit all den
Prozessoren (SPU) verbunden ist, die den
Speicherbus (C-BUS) teilen, so daß eine
Prozessmigration zwischen den Prozessoren möglich
ist; nur ein Prozessor (SPU) pro Speicherbus (C-
BUS) zu einem Zeitpunkt aktiv ist und somit den
Zustand eines Masters des Speicherbusses (C-BUS)
einnimmt, wobei alle anderen Prozessoren (SPU)
inaktiv in einem Slave-Zustand auf dem Speicherbus
(C-BUS) liegen, jedoch dem aktiven Master-
Prozessor die Ausführung von Lese- und
Schreibvorgängen auf ihren eigenen Registerbänken
(REG-F) ermöglichen; als Antwort auf
Migrationsbefehle ein Prozessor (SPU) im aktiven
Zustand den Prozeß-Kontext und die Steuerung auf
einen inaktiven Zielprozessor (SPU) auf dem
gleichen Speicherbus (C-BUS) überträgt, der der
neue aktive Master-Prozessor dieses Speicherbusses
(C-BUS) wird und die Berechnung entsprechend der
Inhalte seiner Registerbänke (REG-F) erneut
startet.
2. Paralleler Rechner nach Anspruch 1, bei dem jede
Registerbank (REG-F) mindestens ein
Programmzählerregister (PC) aufweist, das die
gegenwärtig ausgeführte Befehlsadresse enthält.
3. Paralleler Rechner nach Anspruch 1, bei dem die
Migrationsstruktur (A-S) von dem gegenwärtigen
Master-aktiven Prozessor (SPU) ihres
Speicherbusses (C-BUS) die Adresse eines Slave-
Zielprozessors und / oder Steuersignale empfangen
und die Prozess-Kontextdaten dem Zielprozessor
(SPU) dieses Speicherbusses (C-BUS) zuführen kann.
4. Paralleler Rechner nach Anspruch 1, bei dem die
Migrationsstruktur (A-S) die Prozessmigration
zwischen den zu dem gleichen Speicherbus (C-BUS)
gehörenden Prozessoren (SPU) durch Empfangen der
Adresse eines Zielprozessors und / oder einer
Steuer-Migrationsmeldung von dem gegenwärtigen
Master-Prozessor synchronisiert und die Steuer-
Migrationsmeldung an den Zielprozessor überträgt.
5. Paralleler Rechner nach Anspruch 4, bei dem die
Steuer-Migrationsmeldung mit einem Prozess-Kontext
verbunden ist, der wie ein Bit des Prozessor-
Statusregisters (SR) der Registerbank (REG-F)
variabel ist.
6. Paralleler Rechner nach Anspruch 4, bei dem jeder
Prozessor eines Paares (DPU) übliche
Funktionseinheiten, ausführende Einheiten (EX-U)
mit mindestens einer arithmetischen und logischen
Einheit (ALU), eine Decodier- und Steuereinheit
(DECO-U) und eine Speicherbus- (C-BUS)
Schnittstelleneinheit (BU) aufweist, so daß die
Bus-Schnittstelleneinheit (BU): eine Schnittstelle
mit der Migrationsstruktur (A-S) bildet, mit der
Registerbank (REG-F) über mindestens einen
Auswahl- und Steuerbus (LDR-B) zum Laden von
externen Prozess-Kontextdaten verbunden ist und
sich selbst als Antwort auf mindestens ein durch
die Decodier- und Steuereinheit (DECO-U) erzeugtes
Signal (IDLE) in einen Master- oder Slave-Zustand
auf dem Speicherbus (C-BUS) setzt.
7. Paralleler Rechner nach Anspruch 6, bei dem die
Bus-Schnittstelleneinheit (BU) über mindestens
einen Steuer-ÜbertragungsBus (R/R-B) mit der
Decodier- und Steuereinheit (DECO-U) zum Austausch
und zur Steuerung von Migrationsmeldungen
verbunden ist, und in einer Master-Betriebsart
Freigabe-Meldungen von der Decodier- und
Steuereinheit (DECO-U) empfängt und Steuer-
Migrationsmeldungen an die Migrationsstruktur (A-
S) weiterleitet; in einer Slave-Betriebsart
Steuer-Migrationsmeldungen von der
Migrationsstruktur (A-S) empfängt und
Aktiviermeldungen an die Decodier- und
Steuereinheit (DECO-U) überträgt.
8. Paralleler Rechner nach Anspruch 7, bei dem die
Bus-Schnittstelleneinheit (BU) in einer Slave-
Betriebsart ermöglicht, daß der Speicherbus (C-
BUS) Lese- und Schreibvorgänge an der Registerbank
(REG-F) ausführt.
9. Paralleler Rechner nach Anspruch 8, bei dem die
Registerbank (REG-F) eine solche mit dualem
Zugriff ist und einen dualen Datenport-Satz (SD)
aufweist, der über einen Daten-Multibus (DATA-MB)
mindestens mit den ausführenden Einheiten (EX-U)
des anderen Prozessors (SPU) aus dem Paar (DPU)
verbunden ist und durch einen weiteren dualen
Steuerport (SC) gesteuert wird, der über einen
Steuerbus (XREG-B) mit der Decodier- und
Steuereinheit (DECO-U) des anderen Prozessors
(SPU) aus dem Paar (DPU) verbunden ist, sowie eine
Arbitrationseinrichtung (A-R) umfaßt, mit der
Konflikte gelöst werden, die sich aus
gleichzeitigen Zugriffen auf das gleiche Register
ergeben, so daß beide Prozessoren (SPU) eines
Prozessorenpaars (DPU) symmetrisch und
gleichzeitig darauf zurückgreifen können.
10. Paralleler Rechner nach Anspruch 9, bei dem die
Decodier- und Steuereinheit (DECO-U) eines
Prozessors (SPU) zur Paarbildung von Befehlen
wechselseitig mit der Decodier- und Steuereinheit
(DECO-U) des anderen Prozessors (SPU) aus dem
gleichen Paar (DPU) über einen Synchronisierbus
(SINC-B) verbunden ist, so daß die zwei parallelen
Prozesse mit der gleichen Geschwindigkeit
ausgeführt werden können.
11. Paralleler Rechner nach Anspruch 8, bei dem die
Bus-Schnittstelleneinheit (BU) jedes Prozessors
(SPU) in einem Paar (DPU): eine Rücksetzeinheit
(RST) mit einem mit einem System-Rücksetz-Signal
(RESET) verbundenen Eingang, einen Eingang, der
mit einem weiteren verbundenen Signal (M/S)
verbunden ist, sowie einen Ausgang umfaßt, der
über zwei verschiedene interne Rücksetz-Signale
(RESET-A, RESET-P) mit der Decodier- und
Steuereinheit (DECO-U) des gleichen Prozessors
(SPU) verbunden ist, und als Antwort auf den
Empfang eines System-Rücksetz-Signals an die
Decodier- und Steuereinheit (DECO-U) eines der
internen Rücksetz-Signale (RESET-A, RESET-P), das
mit dem an dem verbundenen Signal (M/S) gelesenen
logischen Wert korrespondiert, sendet.
12. Paralleler Rechner nach Anspruch 11, bei dem sich
die Decodier- und Steuereinheit (DECO-U) als
Antwort auf den Empfang des entsprechenden, durch
die Rücksetz-Einheit (RST) erzeugten Signals
(RESET-A, RESET-P) selbst als Master-aktiv oder
Slave-inaktiv einstellt und die Registerbank (REG-
F) ihres Prozessors (SPU) entsprechend
zurücksetzt.
13. Paralleler Rechner nach Anspruch 12, bei dem die
Decodier- und Steuereinheit (DECO-U) in einer
Slave-inaktiven Betriebsart ihre Aktivität
einstellt und ihre Prozessoraktivität in einem
schwebenden Zustand hält, die Bus-
Schnittstelleneinheit (BU) in eine Slave-
Betriebsart setzt und einen Zugriff auf die
Registerbank (REG-F) ihres Prozessors (SPU) über
den verbundenen Speicherbus (C-BUS) der
verbundenen Bus-Schnittstelleneinheit (BU) und /
oder durch das Paar (DPU) freigibt.
14. Paralleler Rechner nach Anspruch 7, bei dem sich
die Decodier- und Steuereinheit (DECO-U) in einer
Slave-inaktiven Betriebsart beim Empfang von
Aktivierungsbefehlen, die an dem Steuer-
Übertragungsbus (R/R-B) eintreffen, selbst
Masteraktiv setzt.
15. Paralleler Rechner nach Anspruch 14, bei dem die
Decodier- und Steuereinheit (DECO-U) intern mit
einem Statusfeld (modo) ihres Statusregisters (SR)
verbunden ist, wobei das Feld (modo) eine
Synchronismus-Betriebsart für eine laufende
Ausführung enthält und die Decodier- und
Steuereinheit (DECO-U) in einer Master-aktiven
Betriebsart Befehle synchron oder asynchron in
Bezug auf die ausgetauschten fünf
Synchronismussignale (SINC-B) entsprechend dem
Inhalt des Synchronismus-Betriebsart-Feldes (modo)
ausführt.
16. Paralleler Rechner nach Anspruch 13, bei dem die
Decodier- und Steuereinheit (DECO-U) in einer
Master-aktiven Betriebsart die Buseinheit (BU) in
eine Master-Betriebsart setzt, die verarbeitende
Aktivität ihres Host-Prozessors (SPU)
wiederaufnimmt, der entsprechend der Inhalte der
korrespondierenden Registerbank (REG-F) startet,
die durch den Register-Steuerbus (REGS-B)
gesteuert wird, und sich selbst mit dem anderen
Prozessor (SPU) aus dem Paar (DPU) synchronisiert,
so daß die Befehle parallel ausgeführt werden.
17. Paralleler Rechner nach Anspruch 15, bei dem die
Decodier- und Steuereinheit (DECO-U) in einer
Master-aktiven Betriebsart bei Ausführung eines
Befehls (SINC < modo> ) zur "Paar-Synchronismus-
Einstellung" den Synchronismus der Ausführung
modifizieren kann.
18. Paralleler Rechner nach Anspruch 6, bei dem der
Prozessor (SPU) in einer Master-aktiven
Betriebsart als Antwort auf die Ausführung von
Befehlen zur "Prozess-Migration": auf dem
Speicherbus (C-BUS) die durch den Befehlsoperanden
spezifizierte Prozessoradressierung steuert, und,
sofern erforderlich, den Inhalt seines
Programmzähler-Registers (PC) modifiziert; den
Inhalt seiner Registerbank (REG-F) einschließlich
des Programmzähler-Registers (PC) und einer
Steuermigrationsmeldung über die Schnittstelle
(BU) auf den Bus (C-BUS) überträgt und sich selbst
in die Slave-inaktive Betriebsart setzt.
19. Paralleler Rechner nach Anspruch 14, bei dem die
Decodier- und Steuereinheit (DECO-U) in der
Master-aktiven Betriebsart bei der Ausführung von
besonderen Steuermigrationsbefehlen auf dem
Steuer-Übertragungsbus (R/R-B) Freigabemeldungen
zum Start eines Steuer-Migrationszyklus auf den
externen Bussen (C-BUS, MIG-B) und zum Beenden
jeder Aktivität des Hostprozessors (SPU) erzeugt,
so daß dieser sich selbst am Ende des
Migrationszyklus in den Slave-inaktiven Zustand
setzt.
20. Paralleler Rechner nach Anspruch 6, bei dem der
Prozessor (SPU) als Antwort auf die Befehle zur
"Paar-Kommunikation" auf die Registerbank (REG-F)
des anderen Prozessors (SPU) aus dem Paar (DPU)
zugreift und deren Inhalt in die ausführenden
Einheiten (EX-U) oder die Registerbank (REG-F)
ihres Prozessors (SPU) sowie umgekehrt überträgt.
21. Paralleler Rechner nach Anspruch 20, bei dem der
Prozessor (SPU) eines Paares als Antwort auf die
Ausführung von Befehlen zur "Prozess-
Synchronisation", deren Operanden eine Bedingung
in einem Register der Registerbank (REG-F) des
anderen Prozessors (SPU) aus dem Paar (DPU)
einschließlich des Programmzähler-Registers (PC)
spezifiziert: auf das Register in dem Paar (DPU)
zugreift, um seinen Inhalt mit der in dem
Befehlsoperand programmierten Bedingung zu
vergleichen und die Fortsetzung des ausführenden
Prozesses verzögert, indem sein
Programmzählerregister vermindert und der gleiche
Befehl erneut ausgeführt wird, oder durch Anhalten
des nächsten Befehls, bis die Bedingung nicht
erfüllt ist.
22. Paralleler Rechner nach Anspruch 4, bei dem die
Migrationsstruktur (A-S) eine Prozessor-
Auswahleinrichtung (P-SEL) zur Auswahl des zu dem
gleichen Speicherbus (C-BUS) gehörenden Prozessors
(SPU) aufweist, dessen Eingang mit den Adress- und
Steuerbussen (ADRS-B, CNTL-B) des Speicherbusses
(C-BUS) und dessen Ausgang mit jedem Prozessor
(SPU) des Speicherbusses (C-BUS) über mindestens
ein getrenntes Auswahlsignal (SELT) verbunden ist,
das zur Decodierung eines Teils des Adressbusses
(ADRS-B) und zur Aktivierung eines einzelnen
Ausgangssignals (SELT) zu dem gewählten Prozessor
(SPU) in Übereinstimmung mit den Steuerbus- (CNTL-
B) Signalen und den Validationszeiten geeignet
ist.
23. Paralleler Rechner nach Anspruch 22, bei dem die
Migrationsstruktur (A-S) mit Register-
Auswahleinheiten (5) zur Auswahl der und zum
Zugriff auf die Registerbank (REG-F) jedes
Prozessors (SPU), der seinen gleichen Speicherbus
(C-BUS) teilt, verbunden ist, wobei jede
Auswahleinheit (S) singulär in der Bus-
Schnittstelleneinheit (BU) jedes der Prozessoren
(SPU) verteilt ist, und mit den Adress- und
Steuerbussen (ADRS-B, CNTL-B) des gemeinsamen
Speicherbusses (C-BUS), mit den Speicherbus-
Transceivern ihrer Bus-Schnittstelleneinheit (BU),
mit dem von den Auswahleinrichtungen (P-SEL)
kommenden Auswahlsignal (SELT) zum Erkennen, ob
der Prozessor ausgewählt worden ist, und mit
mindestens einem internen Signal (IDLE) zum
Erkennen, ob sich der Prozessor in einer Master-
oder einer Slave-Betriebsart befindet, sowie
ferner über einen Steuer- und Auswahlbus (LDR-B)
mit der Registerbank (REG-F) ihres Prozessors
(SPU) verbunden ist, um von einem externen
Datenbus (DATA-B) eine Zugriffssteuerung und ein
Laden der Registerbank (REG-F) zu ermöglichen,
wenn sich der Prozessor (SPU) in einer inaktiven
Slave-Betriebsart befindet.
24. Paralleler Rechner nach Anspruch 23, bei dem die
Migrationsstruktur (A-S) umfaßt: eine Mehrzahl von
Migrations-Kommunikationszellen (A) zum
Synchronisieren, Steuermigration, die singulär in
jeder zu dem Speicherbus (C-BUS) gehörenden Bus-
Schnittstelleneinheit (BU) verteilt und über einen
Migrationsbus (MIG-B) verbunden sind, wobei jede
Zelle (A) über einen Steuer-Übertragungsbus (R/R-
B) zur Handhabung der Steuermigration mit der
Host-Steuereinheit (DECO-U) verbunden ist, sowie
ferner mit dem von der Auswahleinrichtung (P-SEL)
kommenden Auswahlsignal (SELT) und mit mindestens
einem durch die Decodier- und Steuereinheit (DECO-
U) erzeugten Statussignal (IDLE) zum
Selbsteinstellen als Master-sendend oder Slave-
empfangend auf dem Migrationsbus (MIG-B) verbunden
ist, und zwar entsprechend dem aktiven oder
inaktiven Status der Decodier- und Steuereinheit
(DECO-U) in einer Weise, daß sie in der Sende-
Betriebsart eine Auslösemeldung über den Steuer-
Übertragungsbus (R/R-B) empfängt und eine Steuer-
Migrationsmeldung auf den gemeinsamen
Migrationsbus (MIG-B) sendet, und in einer
Empfangs-Betriebsart über den Migrationsbus (MIG-
B) eine Steuer-Migrationsmeldung empfängt und eine
Aktivierungsmeldung auf den Steuer-Übertragungsbus
(R/R-B) sendet.
25. Paralleler Rechner nach Anspruch 23 oder 24, bei
dem die Auswahleinrichtung (P-SEL) jedes
Speicherbusses (C-BUS) mindestens einen
Adressdecoder (ADEC) umfaßt, der in Bezug auf alle
anderen Auswahleinrichtungen (P-SEL) eindeutig
identifiziert ist, so daß: jedem Speicherbus (C-
BUS) eine eindeutige Bus-Identifikations-Nummer
(NIB) zugewiesen wird; eindeutig ein zu dem
Speicherbus (C-BUS) gehörender Prozessor (SPU)
ausgewählt wird, indem auf eine Prozessor-
Identifikations-Nummer (NIP) geantwortet wird, die
mit der Bus-Identifikations-Nummer übereinstimmt,
die den Speicherbus (C-BUS) des Prozessors (SPÜ)
identifiziert, mit dem der gewählte Prozessor
gepaart ist.
26. Paralleler Rechner nach Anspruch 6, bei dem das
Paar (DPU) von Prozessoren (SPU) eine einzelne
Zeit-Erzeugungseinheit (TGEN-U) für beide
Prozessoren (SPU) des Paares (DPU) aufweist, deren
Eingang mit externen Taktsignalen (CLOCK)
verbunden ist und die Ausgangssignale (CLK) sowohl
mit den Decodier- und Steuereinheiten (DECO-U),
als auch mit den anderen synchronen Teilen des
Paares (DPU) verbunden sind, so daß allen
Einheiten des gesamten Paares (DPU), die solche
Signale erfordern, interne Zeitsignale mit
gleichen oder verschiedenen Frequenzen zugeführt
werden.
27. Paralleler Rechner nach Anspruch 9, bei dem das
Paar (DPU) von Prozessoren (SPU) so gestaltet ist,
daß es innerhalb der Paar-Verbindungen (P-P)
Schaltkreis-Schalteinrichtungen (M-X) umfaßt, die
symmetrisch zwischen den Register-Steuerbussen
(REGS-B, XREG-B) von beiden Einheiten in dem Paar
und zwischen Bussen (IST-B) angeordnet sind, die
die Befehlsfolge zu den Eingängen der Decodier-
und Steuereinheiten (DECO-U) führen, zum Schalten
des Paares von Befehlsbussen (IST-B) mit dem Paar
von Decodiereinheiten (DECO-U) und jedes Paares
von Register-Steuerbussen (REGS-B, XREG-B) mit dem
entsprechenden Paar von Steuerports (MC, SC) von
beiden Registerbänken (REG-F) in einer Weise, daß
die Registerbänke und die Befehlsfolgen zwischen
den zwei Prozessoren (SPU) ausgetauscht werden und
jeweils einer (SPU) die Verarbeitung mit den durch
den anderen (SPU) aufgenommenen Befehlen von den
Daten fortsetzen kann, die in der Speichereinheit
(M) gespeichert sind, zu der der Prozessor (SPU)
gehört.
28. Paralleler Rechner nach Anspruch 27, bei dem die
Decodier- und Steuereinheit (DECO-U) mit der
Schalteinrichtung (M-X) über mindestens ein
Ausgangssignal (X-S) und mindestens ein
Eingangssignal (C) verbunden ist, bei der
Ausführung von bestimmten Schaltbefehlen (XEX < b> )
das Schalten der Schalteinrichtung (M-X) befiehlt
und den durch den laufenden Prozessor (SPU)
ausgeführten Prozess an dem anderen Prozessor
(SPU) des Paares (DPU) synchronisiert oder
verzögert, bis das Schalten stattfindet.
29. Paralleler Rechner nach Anspruch 28, bei dem die
Schalteinrichtung (M-X) umfaßt: eine Mehrzahl von
Schaltelementen (IXI) vom Typ 2 · 2 mit zwei
Eingängen, zwei Ausgängen und einem Steuerport
(CP), die zwischen den Signalpaaren jedes
Buspaares angeordnet sind, um alle verbundenen
Steuerports (CP) zu schalten und zu verbinden, zum
gleichzeitigen Schalten in einen von zwei
möglichen Verbindungszuständen, nämlich "gerade",
bei dem die zwei Eingänge direkt mit den
korrespondierenden Ausgängen verbunden sind, oder
"quer", bei dem die zwei Eingänge umgekehrt mit
den zwei Ausgängen verbunden sind.
30. Paralleler Rechner nach Anspruch 29, bei dem die
Schalteinrichtung (NI-X) umfaßt: eine schaltende
Freigabeeinheit (XAND), die mit mindestens einem
Eingangssignal (X-S) jeder Decodier- und
Steuereinheit (DECO-U) in einem Paar (DPU)
verbunden ist und über mindestens ein
Ausgangssignal (C) mit allen Steuerports (CP) und
den Decodier- und Steuereinheiten (DECO-U) von
beiden Prozessoren verbunden ist und die an das
Ausgangssignal (C) eine Schaltmeldung abgibt, die
eine identische und synchronisierte Anfrage, die
von ihren beiden Eingängen (X-S) kommt, erfüllt.
31. Paralleler Rechner nach Anspruch 28, bei dem ein
optionales Prozessor-(SPU) Statusregister (SR) so
erweitert ist, daß es singulär oder in Kombination
die folgenden lesbaren Felder aufweist: ein Feld
(1) zum Aufzeichen der operativen Master-aktiven
oder Slave-inaktiven Betriebsarten des Prozessors
sowie derjenigen des Prozessorpaares; ein Feld
(modo), das durch die "Paar-Synchronismus-
Einstellungs-" Befehle (SINC < modo> ) beschreibbar
ist und die Synchronismus-Betriebsart seines
Prozessors (SPU) und / oder diejenige des anderen
Prozessors (SPU) aus dem Paar speichert; ein Feld
(X), das durch die Schaltbefehle (XEX < b> )
modifizierbar ist und die gegenwärtige
Konfiguration der Schalteinrichtung (M-X)
speichert.
32. Paralleler Rechner nach Anspruch 1, mit einer
üblichen dualen Port-Speichereinheit (DPNI) oder
einer üblichen 2-FIFO Kommunikations-
Speichereinheit (DPM) für jedes der Prozessorpaare
Biprozessoren (DPU), wobei jede Dual-Port-
Speichereinheit (DPM) zwischen einem Paar von
Speicherbussen (C-BUS) in einer solchen Weise
verbunden ist, daß jedes Paar von Speicherbussen
(C-BUS), das bereits mit einem Prozessorpaar (DPU)
verbunden ist, auch mit dem Dual-Port-Speicher
(DPM) verbunden ist, so daß eine bidirektionale
simultane Datenkommunikation zwischen den zwei
verbundenen Speicherbussen (C-BUS) möglich ist.
33. Paralleler Rechner nach Anspruch 1, bei dem die
Interrupt-Struktur jedes Speicherbusses (C-BUS)
eine Interrupt-Kommunikationeinheit für jeden
Prozessor (SPU) umfaßt und auf diesen zugreift,
der zu dem Speicherbus (C-BUS) gehört, wobei die
Einheit, die über zugewiesene Punkt-zu-PunktBusse
mit einer korrespondierenden identischen
Kommunikationseinheit verbunden ist, in ähnlicher
Weise mit dem Speicherbus (C-BUS) des anderen
Prozessors (SPU) aus dem Paar (DPU) verbunden ist,
um Interrupt-Meldungen zu dem Speicherbus (C-BUS)
des anderen Prozessors (SPU) in dem Paar zu senden
und Interrupt-Meldungen von diesem zu empfangen.
34. Verfahren zum Betrieb eines parallelen Rechners
für allgemeine Zwecke gemäß Anspruch 1 mit
folgenden Schritten: Setzen eines der Prozessoren
aus der Mehrzahl von Prozessoren, die einen
gemeinsamen Speicherbus teilen, zu einer Zeit in
eine Master-aktive Betriebsart, sowie
gleichzeitiges Setzen der anderen Prozessoren in
eine Slave-inaktive Betriebsart, um einen
einzelnen Prozeß auf dem Speicherbus auszuführen;
Übertragen des Prozess-Kontextes und der Steuerung
von dem Master-aktiven Prozessor zu einem anderen
der Slave-inaktiven Prozessoren, die mit dem
gleichen Speicherbus verbunden sind, mit dem der
Master-aktive Prozessor verbunden ist, als Antwort
auf Migrations-Befehle; Verbinden jedes Prozessors
eines Speicherbusses mit einem anderen Prozessor,
der mit einem anderen Speicherbus verbunden ist,
um eine Mehrzahl von Biprozessoreinheiten zwischen
Paaren von verschiedenen Speicherbussen zu
erzeugen und Induzieren jedes Prozessors von jeder
Biprozessoreinheit zum Austausch von Daten und
Steuer- sowie Synchronisationssignalen zum
Synchronisieren verschiedener Prozesse, die
entsprechend an dem Paar von Prozessoren der
Biprozessoreinheit ausgeführt werden.
35. Verfahren nach Anspruch 34, bei dem der Schritt
des Übertragens des Prozess-Kontextes und der
Steuerung folgenden Schritt umfaßt: Übertragen des
Kontext-Registerinhalts einschließlich des
Programmzählers von dem gegenwärtig Master-aktiven
Prozessor zu dem Slave-inaktiven Zielprozessor, um
als Antwort auf eine Steuer-Migrationsmeldung den
Master-aktiven Prozessor in den Slave-inaktiven
Zustand und den zuvor Slave-inaktiven Prozessor in
den Master-aktiven Zustand zu setzen.
36. Verfahren nach Anspruch 35, bei dem das Paar von
Prozessoren jeder Biprozessoreinheit zum Empfang
und zur Ausführung von verschiedenen Prozessen
sowie zu ihrer Synchronisierung durch
gegenseitigen Zugriff auf die Prozess-Kontextdaten
und die entsprechenden Programmzähler von jedem
Prozessor vorgesehen ist.
37. Verfahren nach Anspruch 36, bei dem jedem
Prozessor von den zu dem gleichen Speicherbus
gehörenden Prozessoren eine eindeutige Prozessor-
Identifikations-Nummer (NIP) und jedem Speicherbus
eine eindeutige Bus-Identifikation-Nummer (NIB)
zugewiesen wird.
38. Verfahren nach Anspruch 37 mit folgendem Schritt:
eindeutiges Auswählen eines mit dem Speicherbus
verbundenen Prozessors, um einen gegenwärtig
ausgeführten Prozess durch Antwort auf die
Prozessor-Identifikations-Nummer (NIP) zu
übertragen, die mit der Bus-Identifikations-Nummer
(NIB) übereinstimmt, die den Speicherbus des
Prozessors identifiziert, mit dem der gewählte
Prozessor gepaart ist.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| IT96NA000032A IT1288076B1 (it) | 1996-05-30 | 1996-05-30 | Multicalcolatore elettronico numerico parallelo multiprocessore a ridondanza di processori accoppiati |
| PCT/IT1997/000121 WO1997045795A1 (en) | 1996-05-30 | 1997-05-28 | Parallel processor with redundancy of processor pairs |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE69701802D1 DE69701802D1 (de) | 2000-05-31 |
| DE69701802T2 true DE69701802T2 (de) | 2000-11-16 |
Family
ID=11387885
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE69701802T Expired - Fee Related DE69701802T2 (de) | 1996-05-30 | 1997-05-28 | Paralleler prozessor mit redundanz von prozessorpaaren und verfahren |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US6363453B1 (de) |
| EP (1) | EP0901659B1 (de) |
| JP (1) | JP2000511309A (de) |
| AU (1) | AU714681B2 (de) |
| CA (1) | CA2255634C (de) |
| DE (1) | DE69701802T2 (de) |
| IT (1) | IT1288076B1 (de) |
| WO (1) | WO1997045795A1 (de) |
Families Citing this family (34)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE19802364A1 (de) * | 1998-01-22 | 1999-07-29 | Siemens Ag | Vorrichtung und Verfahren zur Steuerung von Prozessen auf einem Computersystem |
| JP3780732B2 (ja) * | 1999-03-10 | 2006-05-31 | 株式会社日立製作所 | 分散制御システム |
| US6438671B1 (en) * | 1999-07-01 | 2002-08-20 | International Business Machines Corporation | Generating partition corresponding real address in partitioned mode supporting system |
| US6738845B1 (en) * | 1999-11-05 | 2004-05-18 | Analog Devices, Inc. | Bus architecture and shared bus arbitration method for a communication device |
| US7191310B2 (en) * | 2000-01-19 | 2007-03-13 | Ricoh Company, Ltd. | Parallel processor and image processing apparatus adapted for nonlinear processing through selection via processor element numbers |
| DE10059026A1 (de) * | 2000-11-28 | 2002-06-13 | Infineon Technologies Ag | Einheit zur Verteilung und Verarbeitung von Datenpaketen |
| SE521697C2 (sv) * | 2001-01-25 | 2003-11-25 | Xelerated Ab | Anordningar och förfarande för behandling av data i en logisk rörledning |
| JP2002297556A (ja) * | 2001-03-29 | 2002-10-11 | Fujitsu Ltd | マルチプロセッサシステム,マルチプロセッサ制御方法,マルチプロセッサ制御プログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体 |
| US20020161453A1 (en) * | 2001-04-25 | 2002-10-31 | Peltier Michael G. | Collective memory network for parallel processing and method therefor |
| US20040252697A1 (en) * | 2001-09-07 | 2004-12-16 | Volker Wille | Device and method for QOS based cell capacity dimensioning |
| US20060218556A1 (en) * | 2001-09-28 | 2006-09-28 | Nemirovsky Mario D | Mechanism for managing resource locking in a multi-threaded environment |
| WO2003030012A1 (en) * | 2001-09-28 | 2003-04-10 | Tidal Networks, Inc. | Multi-threaded packet processing engine for stateful packet pro cessing |
| FI20021287A0 (fi) * | 2002-06-28 | 2002-06-28 | Nokia Corp | Kuormituksen jako tietoliikennejärjestelmässä |
| US7634640B2 (en) * | 2002-08-30 | 2009-12-15 | Infineon Technologies Ag | Data processing apparatus having program counter sensor |
| DE10319903B4 (de) * | 2003-04-29 | 2007-05-31 | Siemens Ag | Eigensichere Rechneranordnung |
| GB0425860D0 (en) * | 2004-11-25 | 2004-12-29 | Ibm | A method for ensuring the quality of a service in a distributed computing environment |
| US8279886B2 (en) | 2004-12-30 | 2012-10-02 | Intel Corporation | Dataport and methods thereof |
| US20060200278A1 (en) * | 2005-03-02 | 2006-09-07 | Honeywell International Inc. | Generic software fault mitigation |
| US8190877B2 (en) * | 2005-07-05 | 2012-05-29 | Viasat, Inc. | Trusted cryptographic processor |
| US8527741B2 (en) * | 2005-07-05 | 2013-09-03 | Viasat, Inc. | System for selectively synchronizing high-assurance software tasks on multiple processors at a software routine level |
| ES2303742B1 (es) * | 2005-08-01 | 2009-08-25 | Universidad De Cordoba | Sistema de comunicaciones para ejecutar tareas en paralelo mediante ordenadores personales. |
| US7739470B1 (en) * | 2006-10-20 | 2010-06-15 | Emc Corporation | Limit algorithm using queue depth to control application performance |
| FR2918190B1 (fr) | 2007-06-26 | 2009-09-18 | Thales Sa | Dispositif d'adressage pour processeur parallele. |
| US8051323B2 (en) * | 2010-01-21 | 2011-11-01 | Arm Limited | Auxiliary circuit structure in a split-lock dual processor system |
| US8108730B2 (en) * | 2010-01-21 | 2012-01-31 | Arm Limited | Debugging a multiprocessor system that switches between a locked mode and a split mode |
| US20110179255A1 (en) * | 2010-01-21 | 2011-07-21 | Arm Limited | Data processing reset operations |
| US8750164B2 (en) | 2010-07-06 | 2014-06-10 | Nicira, Inc. | Hierarchical managed switch architecture |
| US10103939B2 (en) | 2010-07-06 | 2018-10-16 | Nicira, Inc. | Network control apparatus and method for populating logical datapath sets |
| US9525647B2 (en) | 2010-07-06 | 2016-12-20 | Nicira, Inc. | Network control apparatus and method for creating and modifying logical switching elements |
| US9465670B2 (en) | 2011-12-16 | 2016-10-11 | Intel Corporation | Generational thread scheduler using reservations for fair scheduling |
| TWI779069B (zh) | 2017-07-30 | 2022-10-01 | 埃拉德 希提 | 具有以記憶體為基礎的分散式處理器架構的記憶體晶片 |
| EP3966936B1 (de) * | 2019-05-07 | 2023-09-13 | Silicon Mobility SAS | Räumliche trennung von flexibler logischer hardware |
| WO2021138189A1 (en) * | 2019-12-30 | 2021-07-08 | Star Ally International Limited | Processor for configurable parallel computations |
| CN119292973A (zh) * | 2024-12-10 | 2025-01-10 | 国网福建省电力有限公司 | 一种单端口控制多处理器数据交换的方法及装置 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4358823A (en) | 1977-03-25 | 1982-11-09 | Trw, Inc. | Double redundant processor |
| JPS60229160A (ja) * | 1984-04-26 | 1985-11-14 | Toshiba Corp | マルチプロセツサシステム |
| JP2834122B2 (ja) * | 1987-07-08 | 1998-12-09 | 株式会社日立製作所 | 制御装置 |
| GB2251964B (en) * | 1991-01-15 | 1994-09-14 | Sony Corp | Processor arrays |
-
1996
- 1996-05-30 IT IT96NA000032A patent/IT1288076B1/it active IP Right Grant
-
1997
- 1997-05-28 AU AU30471/97A patent/AU714681B2/en not_active Ceased
- 1997-05-28 DE DE69701802T patent/DE69701802T2/de not_active Expired - Fee Related
- 1997-05-28 CA CA002255634A patent/CA2255634C/en not_active Expired - Fee Related
- 1997-05-28 EP EP97925270A patent/EP0901659B1/de not_active Expired - Lifetime
- 1997-05-28 JP JP09541974A patent/JP2000511309A/ja active Pending
- 1997-05-28 US US09/194,459 patent/US6363453B1/en not_active Expired - Lifetime
- 1997-05-28 WO PCT/IT1997/000121 patent/WO1997045795A1/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| ITNA960032A0 (it) | 1996-05-30 |
| CA2255634C (en) | 2002-02-12 |
| US6363453B1 (en) | 2002-03-26 |
| AU714681B2 (en) | 2000-01-06 |
| DE69701802D1 (de) | 2000-05-31 |
| WO1997045795A1 (en) | 1997-12-04 |
| EP0901659A1 (de) | 1999-03-17 |
| EP0901659B1 (de) | 2000-04-26 |
| JP2000511309A (ja) | 2000-08-29 |
| CA2255634A1 (en) | 1997-12-04 |
| AU3047197A (en) | 1998-01-05 |
| IT1288076B1 (it) | 1998-09-10 |
| ITNA960032A1 (it) | 1997-11-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE69701802T2 (de) | Paralleler prozessor mit redundanz von prozessorpaaren und verfahren | |
| DE69233655T2 (de) | Mikroprozessorarchitektur mit der Möglichkeit zur Unterstützung mehrerer verschiedenartiger Prozessoren | |
| DE69033272T2 (de) | Verbundarchitektur für ein hochgradig paralleles skalar/vektor-multiprozessorsystem | |
| DE69130106T2 (de) | Arbitrierung von paketvermittelten Bussen, einschliesslich Bussen von Multiprozessoren mit gemeinsam genutztem Speicher | |
| DE69619366T2 (de) | Sperr- und eurekasynchronisierungsarchitektur für multiprozessoren | |
| DE69228586T2 (de) | Dynamischer, in einer Array-Architektur im Mehrfachmodus arbeitender Parallelprozessor | |
| DE3751399T2 (de) | Parallelrechner mit verteilten, gemeinsam genutzten Speichern und verteilten, aufgabenaktivierenden Schaltungen. | |
| DE69106384T2 (de) | Skalierbares parallel-vektorrechnersystem. | |
| EP0948842B1 (de) | VERFAHREN ZUM SELBSTÄNDIGEN DYNAMISCHEN UMLADEN VON DATENFLUSSPROZESSOREN (DFPs) SOWIE BAUSTEINEN MIT ZWEI- ODER MEHRDIMENSIONALEN PROGRAMMIERBAREN ZELLSTRUKTUREN (FPGAs, DPGAs, o.dgl.) | |
| DE68913914T2 (de) | Multiprozessorsystem mit Vervielfältigung von globalen Daten. | |
| DE69128107T2 (de) | Busanordnung für Speicherzugriff | |
| DE60010907T2 (de) | Sram-steuerungvorrichtung für parallele prozessorarchitektur mit adressen- und befehlswarteschlange und arbiter | |
| DE69613423T2 (de) | Unterbrechungssystem in einem Mikroprozessor | |
| DE3689087T2 (de) | Modularer Mehrfachportdatenknoten. | |
| DE68921906T2 (de) | Verfahren für ein Multiprozessorsystem mit sich selbst zuordnenden Prozessoren. | |
| DE68929317T2 (de) | Modulare Kreuzschienen zwischen Verbindungen in einem digitalen Rechner | |
| DE3689226T2 (de) | Multiprozessorsystem mit multihierarchischen Ebenen. | |
| DE69724355T2 (de) | Erweiterte symmetrische Multiprozessorarchitektur | |
| DE69021603T2 (de) | Buszugriffsarbitrierung in digitalen Rechnern. | |
| DE69127101T2 (de) | System für verteilte mehrfachrechnerkommunikation | |
| DE3789625T2 (de) | Methode zur dynamischen Partitionierung von Parallelprozessoren. | |
| DE60006270T2 (de) | Parallele prozessorarchitektur | |
| DE69323861T2 (de) | Multiprozessorsystem mit gemeinsamem Speicher | |
| DE3750306T2 (de) | System zum Gewährleisten der logischen Unversehrtheit von Daten. | |
| DE68924934T2 (de) | Parallelsynchronisationstechnik. |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8364 | No opposition during term of opposition | ||
| 8339 | Ceased/non-payment of the annual fee |