DE69701802T2 - Paralleler prozessor mit redundanz von prozessorpaaren und verfahren - Google Patents

Paralleler prozessor mit redundanz von prozessorpaaren und verfahren

Info

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
Application number
DE69701802T
Other languages
English (en)
Other versions
DE69701802D1 (de
Inventor
Antonio Esposito
Rosario Esposito
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
biProcessor Srl
Original Assignee
biProcessor Srl
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by biProcessor Srl filed Critical biProcessor Srl
Publication of DE69701802D1 publication Critical patent/DE69701802D1/de
Application granted granted Critical
Publication of DE69701802T2 publication Critical patent/DE69701802T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures 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/8023Two dimensional arrays, e.g. mesh, torus
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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/2038Error 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

    Technisches Gebiet
  • 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.
  • Hintergrund der Erfindung
  • 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.
  • Beschreibung der Erfindung
  • 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.
  • Kurze Beschreibung der Zeichnungen
  • 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.
  • Bevorzugte Ausführungsform der Erfindung
  • 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.
  • Gewerbliche Anwendbarkeit
  • 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.
DE69701802T 1996-05-30 1997-05-28 Paralleler prozessor mit redundanz von prozessorpaaren und verfahren Expired - Fee Related DE69701802T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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