DE3586389T2 - Dynamisch zugeordnete lokale/globale speicheranordnung. - Google Patents
Dynamisch zugeordnete lokale/globale speicheranordnung.Info
- Publication number
- DE3586389T2 DE3586389T2 DE8585113174T DE3586389T DE3586389T2 DE 3586389 T2 DE3586389 T2 DE 3586389T2 DE 8585113174 T DE8585113174 T DE 8585113174T DE 3586389 T DE3586389 T DE 3586389T DE 3586389 T2 DE3586389 T2 DE 3586389T2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- node
- address
- processor
- local
- 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
- 230000015654 memory Effects 0.000 claims description 174
- 238000013507 mapping Methods 0.000 claims description 36
- 238000012545 processing Methods 0.000 claims description 27
- 238000000034 method Methods 0.000 claims description 14
- 238000004891 communication Methods 0.000 claims description 12
- 230000009466 transformation Effects 0.000 claims description 10
- 238000000638 solvent extraction Methods 0.000 claims description 6
- 230000007246 mechanism Effects 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 230000002457 bidirectional effect Effects 0.000 claims 2
- 125000004122 cyclic group Chemical group 0.000 claims 2
- 230000006870 function Effects 0.000 description 10
- 230000004044 response Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
- G06F12/0692—Multiconfiguration, e.g. local and global addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf Speichersysteme für die Datenverarbeitung und insbesondere auf dynamische Speichersysteme für Multiprozessorsysteme.
- Nachfolgend werden Systeme beschrieben, die den Stand der Technik widerspiegeln.
- Die US Patentschrift 4,365,295 zeigt ein Multiprozessorsystem mit einem Speichersystem, bei dem der Speicher jedes Prozessormoduls in vier logische Adressenbereiche unterteilt wird. Das Speichersystem beinhaltet eine Abbildung, die logische Adressen in physikalische Adressen umwandelt und die mit dem Multiprozessorsystem zusammenarbeitet, um zur Implementierung eines virtuellen Speichersystems Seiten vom Sekundärspeicher in den Primärhauptspeicher zu bringen.
- Dieses Patent, das ein herkömmliches Speicherabbildungssystem beschreibt, bezieht sich nicht auf den leistungsfähigen Speicherzugriff durch einen oder mehrere Prozessoren, einschließlich Überlappungsspeicherbezügen durch einen Prozessor, und dynamisches Lenken von Speicherbezügen zu globalen oder lokalen Teilen jedes Speichermoduls.
- Die US Patentschrift 4,228,496 zeigt ein Multiprozessorsystem mit obigem Speichersystem, um ein virtuelles Speichersystem zu implementieren.
- Dieses Patent, das ein herkömmliches Speicherabbildungssystem beschreibt, bezieht sich jedoch nicht auf den leistungsfähigen Speicherzugriff durch einen oder mehrere Prozessoren, einschließlich Überlappungsspeicherbezügen durch einen Prozessor, und dynamisches Lenken von Speicherbezügen zu globalen oder lokalen Teilen jedes Speichermoduls.
- Die US Patentschrift 4,174,514 zeigt eine Einrichtung zur Durchführung von Umgebungstransformationen auf Datenmatrizen für die Bildverarbeitung und ähnliches, die eine höhere Verarbeitungsgeschwindigkeit erzielt als serielle Prozessoren mit sparsamem Speicherverbrauch, indem eine Mehrzahl von seriellen Umgebungsprozessoren verwendet werden, die gleichzeitig auf benachbarten geteilten Segmenten einer einzigen Datenmatrix arbeiten.
- Dieses Patent zeigt ein Multiprozessorsystem ohne Mittel für einen Zugriff auf einen allgemeinen globalen Speicher durch alle Prozessoren.
- Die US Patentschrift 4,121,286 zeigt eine Einrichtung für die Zuordnung und das Rückgängigmachen der Zuordnung von Speicherraum in einer Multiprozessorumgebung.
- Dieses Patent, das ein herkömmliches Speicherabbildungssystem beschreibt, bezieht sich nicht auf den leistungsfähigen Speicherzugriff durch einen oder mehrere Prozessoren, einschließlich Überlappungsspeicherbezügen durch einen Prozessor, und dynamisches Lenken von Speicherbezügen zu globalen oder lokalen Teilen jedes Speichermoduls.
- Die US Patentschrift 3,916,383 zeigt einen Schaltkreis zur Betriebsmittelzuordnung, der einzelne Prozessoren auf Zeitspannenbasis selektiv aktiviert, wobei eine Zeitspanne ungefähr die gleiche Zeitdauer wie die Systemspeicherzeit hat. Der Schaltkreis zur Betriebsmittelzuordnung beinhaltet ein Prioritätsnetz, das entsprechend den Bedürfnissen des einzelnen Prozessors allgemeine Anforderungen zur Betriebsmittelverwendung in Echtzeit von den Prozessoren erhält, der erhaltenen Anforderung eine Prioritätsbewertung zuweist und als Antwort darauf die normalerweise sequentielle Aktivierung der Prozessoren ändert. Das Patent zeigt ein System mit mehreren unabhängigen Datenprozessoren in einem einzigen Zentralprozessor, das kein richtiges Multiprozessorsystem im eigentlichen Sinn darstellt.
- Die vorliegende Erfindung bezieht sich auf ein System mit unabhängigen Prozessoren, die einen Multiprozessor bilden, bei dem ein Speichersystem dynamisch in einen globalen und einen lokalen Speicher aufgeteilt wird.
- Die US Patentschrift 3,820,079 zeigt einen Multiprozessorcomputer, der in modularer Form um eine allgemeine Steuerung und einen Datenbus aufgebaut ist. Die Steuerfunktionen für die verschiedenen Module sind unter den Modulen verteilt, um die Systemflexibilität zu erleichtern. Das Patent zeigt ein System mit herkömmlicher Speicherabbildung und Überlappung. Die Speicherabbildung steuert die Überlappung nicht und die Überlappung ist bei allen Modulen für alle Daten gleich.
- Die US Patentschrift 3,641,505 zeigt ein Multiprozessor-Rechensystem, bei dem eine Anzahl von Verarbeitungseinheiten, Programmspeichereinheiten, veränderlichen Speichereinheiten und Eingabe/Ausgabe-Einheiten selektiv zusammengefaßt werden können, um ein oder mehrere unabhängige Datenverarbeitungssysteme zu bilden. Die Aufteilung des Systems in mehr als ein unabhängiges System wird wahlweise durch manuelle Schaltung oder programmgelenkte Aufteilungssignale gesteuert.
- Dieses Patent, das ein herkömmliches Speicherabbildungssystem beschreibt, bezieht sich nicht auf den leistungsfähigen Speicherzugriff durch einen oder mehrere Prozessoren, einschließlich Überlappungsspeicherbezügen durch einen Prozessor, und dynamisches Lenken von Speicherbezügen zu globalen oder lokalen Teilen jedes Speichermoduls.
- Die US Patentschrift 3,601,812 zeigt ein Speichersystem für die Pufferung mehrerer Computer zu einer Zentralspeichereinheit oder ein Computer zu mehreren kleinen Speichereinheiten und ein aufgeteiltes Adressenschema für die leistungsfähige Verwendung dieses Systems. Die Adressenstellen werden in zwei getrennte Teilsätze unterteilt, von denen einer als Pufferspeicheradresse verwendet wird und der andere mit einem Datenwort gespeichert wird, um die Identifizierung zu bewirken.
- Das Patent behandelt die Pufferung von Speicherdaten in einem Multiprozessor und zeigt kein dynamisch aufgeteiltes Speichersystem, einschließlich Überlappungsspeicherbezüge durch einen Prozessor, und dynamisches Lenken von Speicherbezügen zu globalen oder lokalen Speicherteilen.
- Der oben dargestellte Stand der Technik gibt keine Hinweise oder Vorschläge zur vorliegenden Erfindung, wie sie hier beschrieben und geltend gemacht wird.
- Gegenstand der vorliegenden Erfindung ist es, ein Speichersystem in einen globalen Speicher aufzuteilen, auf den eine Mehrzahl von Prozessoren zugreifen kann sowie in einen lokalen Speicher, auf den einzelne Prozessoren zugreifen können.
- Die vorliegende Erfindung umfaßt daher eine Datenverarbeitungseinrichtung und das entsprechende Verfahren mit einer Mehrzahl von Verarbeitungsknoten, die über ein Nachrichtennetz verbunden sind, wobei jeder Knoten einen Prozessor und eine Speichereinrichtung aufweist, das Nachrichtennetz eingerichtet ist, um es jedem Prozessor zu ermöglichen, irgendeine Speichereinrichtung in irgendeinem Knoten zu adressieren, jeder Knoten auch Abbildungsmittel aufweist, um eine Umwandlung virtueller, von dem zugeordneten Prozessor erzeugter Adressen in reale Adressen durchzuführen und die Einrichtung durch folgendes gekennzeichnet ist: ein Mittel zum dynamischen Aufteilen des Gesamtspeichers der Einrichtung, wie durch alle Speichereinrichtungen repräsentiert, in einen globalen Speicher, auf den von einer Mehrzahl von Prozessoren zugegriffen werden kann und in einen lokalen Speicher, auf den von einzelnen Prozessoren zugegriffen werden kann; wobei das Aufteilungsmittel eine Steuerungstabelle in jedem der Abbildungsmittel aufweist, die Überlappungsdaten enthält, die anzeigen, ob sich die erzeugte reale Adresse in einem lokalen oder in einem globalen Speicher befindet und einen Adressenwandler, der von den Überlappungsdaten gesteuert wird, um vorbestimmte Felder der realen Adresse, wie durch die Überlappungsdaten angegeben zu behandeln, um durch Durchführen einer Überlappungstransformation eine absolute Adresse zu erzeugen, damit eine Seite eines realen Speichers entweder in einen sequentiellen Block von Adressen, die vollständig innerhalb eines Knotens als ein lokaler Speicher enthalten ist oder in einen Block von Adressen umgewandelt wird, der über mehrere Knotenspeichereinrichtungen als globaler Speicher verteilt ist.
- Die oben erwähnte Beschreibung und andere Objekte, Eigenschaften und Vorteile der Erfindung gehen aus der genauen Beschreibung der bevorzugten Ausführungsbeispiele der Erfindung hervor, wie sie in den begleitenden Zeichnungen dargestellt sind.
- Fig. 1 stellt ein Blockdiagramm eines Multiprozessorsystems gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung dar.
- Fig. 2 stellt ein Blockdiagramm eines Verarbeitungsknotens gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung dar.
- Fig. 3 zeigt den physikalischen Adressenraum des Multiprozessors, d. h., die Adresse jedes Worts in allen Speichern in den Multiprozessoren. Der werthöchste Teil der Adresse gibt die Knotenummer an. Der wertniedrigste Teil der Adresse ist der Offset in einem der Speicher.
- Fig. 4 zeigt den gesamten Inhalt einer virtuellen Seite, so wie dieser mit einem Überlappungswert von Null gespeichert werden würde, d. h. sequentiell in einem der Knotenspeicher.
- Fig. 5 zeigt den gesamten Inhalt einer virtuellen Seite, so wie dieser mit einem Überlappungswert der Log Basis 2 der Knotenanzahl gespeichert werden würde, d. h. vollständig überlappt in allen Speichern.
- Fig. 6 zeigt, wie ein Betriebssystem möglicherweise die Zuordnung eines Satzes von sequentiellen und überlappten Seiten in einem Speicher vornehmen würde.
- Fig. 7 stellt ein Blockdiagramm eines gemäß der vorliegenden Erfindung in Fig. 2 gezeigten Abbildungs-/Überlappungsblocks dar.
- Fig. 8 stellt ein Blockdiagramm einer gemäß der vorliegenden Erfindung in Fig. 2 gezeigten Netz-/Speicherschnittstelle dar.
- Bei den Zeichnungen werden ähnliche Elemente mit ähnlichen Bezugsnummern gekennzeichnet und gleiche Elemente in unterschiedlichen spezifischen Ausführungsbeispielen werden mit gleichen Bezugsnummern gekennzeichnet.
- Das bevorzugte Ausführungsbeispiel der vorliegenden Erfindung ermöglicht es, den Hauptspeicher eines Multiprozessor-Computers in Laufzeit dynamisch aufzuteilen und zwar zwischen dem lokalen Speicher zu jedem Prozessor und dem globalen Speicher, auf den von allen Prozessoren zugegriffen wird.
- Multiprozessorsysteme, die dem gegenwärtigen Stand der Technik entsprechen, haben entweder
- 1. nur einen lokalen und keinen globalen Speicher
- 2. nur einen globalen und keinen lokalen Speicher
- 3. einen globalen Speicher und ein festgelegtes Ausmaß des lokalen Speichers.
- Einige Systeme des Typs 2 verfügen über ein festgelegtes Ausmaß des lokalen Speichers in Form eines Cache, um die globale Speicherlatenz wirkungsvoll zu reduzieren; es ist jedoch festzuhalten, daß die vorliegende Erfindung die Verwendung eines Cache oder ganz allgemein die Verwendung einer Speicherhierarchie nicht ausschließt.
- Anders als die oben erwähnten Systeme ermöglicht es die hier beschriebene Erfindung, die Speicherkonfiguration dynamisch zu ändern, um den Bedürfnissen des Anwenders entgegen zu kommen, wobei eine wesentlich verbesserte Leistung für einen größeren Bereich von Anwendungen erzielt wird. Die leistungsfähige Übermittelung von Meldungen zwischen Prozessoren, wie sie in Systemen von dem oben erwähnten Typ 1 mit spezieller Hardware zu erreichen ist, wird von dieser Erfindung ebenfalls unterstützt.
- Wie in Fig. 1 gezeigt, besteht die erforderliche Gerätekonfiguration aus N Verarbeitungsknoten 20, die mit einem Nachrichtennetz 10 verbunden sind. Die Prozessoren und der Hauptspeicher des Systems sind in den Knoten enthalten (siehe Fig. 2). Es kann ein beliebiges Netz verwendet werden, das die Kommunikation zwischen den Knoten sicherstellt.
- Fig. 1 zeigt eine Verbindungsnetz (ICN) 10, das die verschiedenen Knoten 20 miteinander verbindet. Diese Erfindung macht kein spezielles Verbindungsnetzdesign erforderlich, dieses Netz hat jedoch die folgenden Mindestanforderungen an Fähigkeiten zu erfüllen:
- Meldungen, die von einem der Knoten 20 kommen, können sicher durch das Netz 10 zu einem anderen Knoten 20 geleitet werden.
- Die Weiterleitung einer Meldung basiert auf der Adressierung von Informationen, die sich in einem "Knoten #" Feld der Meldung befinden.
- Die Funktionen des Weiterleitens der Meldungen des ICN 10, wenn diese mit denen der verschiedenen Knoten 20 gekoppelt sind, müssen es einem Prozessor ermöglichen, eine beliebige Speicherstelle an einem beliebigen Knoten 20 zu adressieren, indem lediglich die korrekte absolute Adresse angezeigt wird.
- Die Speicherabbildungsmechanismen dieser Erfindung statten jeden Prozessor mit der Fähigkeit aus, solche absoluten Adressen zu erzeugen.
- Fig. 2 zeigt die Inhalte eines Knotens. Die Adressen für die Speicherbezüge, die vom Prozessor (PROC) 22 kommen, werden von der nachstehend beschriebenen ABBILDUNG/ÜBERLAPPUNG (M/I) 24 abgebildet.
- Ein Cache 26 wird verwendet, um einige Speicherbezüge nach der Abbildung zu erfüllen. Die beschriebene Erfindung macht weder die Verwendung eines Cache erforderlich noch legt sie der Plazierung eines Cache Beschränkungen auf. Der Cache 26 zum Beispiel kann zwischen dem Prozessor 22 und dem M/I-Block 24 integriert werden.
- Vom Cache 26 nicht erfüllte Bezüge (oder alle Bezüge, wenn kein Cache vorhanden ist) werden von der Netz-/Speicherschnittstelle (NET/STORE INTF. (NSI)) 28 entweder zum Teil des Hauptspeichers 30 an diesem Knoten oder durch das Netz 10 zum Speicher 30 eines anderen Knotens geleitet.
- Die NSI 28 empfängt ebenso Bezugsanforderungen von anderen Knoten und leitet sie zum Speicher eines zu erfüllenden Knotens. Dies sorgt wirkungsvoll für einen Doppelanschluß des Knotenspeichers 30. Eine vergleichbare Steigerung der Leistungsfähigkeit bei niedrigeren Kosten kann dadurch erzielt werden, daß der Knotenspeicher 30 lokal überlappt wird und sich die Verarbeitung von überlappten Anforderungen überschneidet.
- M/I 24 führt die gewöhnliche Segment/Seitenabbildung auf zwei Ebenen von vom Prozessor 22 erzeugten virtuellen Adressen in reale Adressen durch und zwar mit Hilfe von einer Art Segment/Seite-Tabelle im Hauptspeicher 30. Die erzeugten realen Adressen identifizieren eindeutig jedes Wort oder Byte in allen Knotenspeichern: die werthohen Bits geben die Knotennummer an und die wertniedrigen Bits geben das Wort oder das Byte in einem Knotenspeicher an. Dies wird in Fig. 3 dargestellt.
- Bei dieser Erfindung kann M/I 24 auch eine Überlappungstransformation auf den Adressen durchführen. Ob dies durchgeführt wird oder nicht wird durch ein Zusatzfeld angezeigt, das nur bei dieser Erfindung vorkommt, und das zu Eingaben in den Segmentund/oder Seitentabellen hinzugefügt wird. Ziel dieser Transformation ist es, eine Seite eines realen Speichers zu einem sequentiellen Block von Adressen zu machen, der sich in einem Knoten (siehe Fig. 4) befindet; oder einen Block von Adressen, der über mehrere Knotenspeicher verteilt ist (siehe Fig. 5).
- Es kann daher sichergestellt werden, daß sich eine sequentielle Seite im eigenen Speicher 30 des Knotens befindet, der ein lokaler Speicher des Prozessors 22 ist und auf den schnell zugegriffen werden kann, wodurch die Funktion eines lokalen Speichers erreicht wird. Da eine überlappte Seite über mehrere Speicherblöcke verteilt ist, wird die Gefahr von Speicherkonflikten bei Multiprozessorbezügen wesentlich verringert; dies sorgt für einen leistungsfähigen Speicher, auf den global zugegriffen werden kann.
- Um die Gefahr von Konflikten noch weiter zu verringern, kann die Überlappungstransformation auch den Knotennummernteil der Adresse "hashen", zum Beispiel durch XOR-Verknüpfung (Exklusive ODER Operation) des Knotennummernteils der Adresse mit anderen Adreßbits. Dies würde die Gefahr von Konflikten verringern, wenn herkömmliche Zugriffsmuster auftreten.
- Der verwendete Überlappungsgrad -- die Anzahl der Knoten, über die eine überlappte Seite verteilt ist -- kann durch ein zusätzliches Feld angezeigt werden, das zu den Segment- und/oder Seitentabellen hinzugefügt wird. Dieses Feld kann auch Eigenschaften des verwendeten "Hashings" anzeigen.
- Durch die sequentielle Abbildung einiger Seiten und die überlappte Abbildung anderer Seiten ist ein Teil des Hauptspeichers 30 "lokal" und ein anderer Teil "global". Das Ausmaß des lokalen gegenüber dem globalen Speicher wird von den Speicherabbildungstabellen gesteuert und kann daher bei Laufzeit geändert werden, um den Anwendungsanforderungen entgegenzukommen.
- Ein Beispiel für die Art von Hauptspeicherverwendung, die diese Erfindung möglich macht, ist in Fig. 6 dargestellt. Diese zeigt den globalen Speicher, der von einem Ende des Speichers 30 aller Knoten zugeordnet wird, und den lokalen Speicher, der vom anderen Ende zugeordnet wird. Obwohl dies nicht die einzige Verwendungsart der hier beschriebenen Erfindung ist, zeigt sie doch, wie die Erfindung es ermöglicht, die für die lokale und globale Speicherung verwendeten Speicherteile im Lauf der Anwendungen zu ändern.
- Zusätzlich zur vom globalen Speicher zur Verfügung gestellten Übertragung unterstützt diese Erfindung die direkte Meldungsübermittlung zwischen den Prozessoren: Befehle zur direkten Hauptspeicherdatenbewegung (z. B. "MVCL" IBM System 370 Betriebsprinzipien) können verwendet werden, um Daten von einer sequentiellen Seite in einem Prozessor zu einer sequentiellen Seite in einem anderen Prozessor zu bewegen, ohne andere Knotenspeicher zu stören oder zu beanspruchen.
- Die Speicherabbildungstabellen werden von der M/I verwendet. Sie definieren die von der M/I durchgeführte Abbildung zwischen den vom Prozessor ausgegebenen Adressen und den Adressen, auf die im Speicher zugegriffen wird. Insbesondere und nur in dieser Erfindung vorkommend legen sie fest, ob eine Überlappungstransformation bei einer Adresse angewandt werden soll oder nicht und wenn ja, welche Überlappungstransformation in Frage kommt. Die Tabellen selbst können sich in der M/I befinden, oder im Hauptspeicher des Systems (entweder globaler oder lokaler Speicher), auf den die M/I Bezug nimmt, oder in beiden. Ganz gleich wo sie sich befinden, können sie durch die auf den Systemprozessoren laufende Software verändert werden. Es kann häufig sehr nützlich sein, die Überlappungsdefinition in diesen Tabellen mit einer bestimmten Art von virtueller Speicherabbildung zu verbinden, z. B. mit Seitenabbildung, Segmentabbildung oder Segment- und Seitenabbildung auf zwei Ebenen (Referenz: Baer, J., "Computer Systems Architecture", Computer Science Press, Rockville, MD, 1980), indem die herkömmlichen Inhalte dieser Tabellen erweitert werden, um ein Feld von mindestens einem Bit hinzuzufügen, das Informationen zur Überlappung und/oder Abbildung enthält. Dies wurde in dem hier beschriebenen bevorzugten Ausführungsbeispiel durchgeführt; es ist jedoch für diese Erfindung nicht erforderlich, da diese nur verlangt, daß das Vorhandensein und/oder das Ausmaß der Überlappung von jedem Prozessor gesteuert wird. Andere Mechanismen für dieses Verfahren beinhalten: Erweiterung des Befehlssatzes der Prozessoren, um überlappte und nicht überlappte Datenzugriffsbefehle zu erhalten; durch Erweiterung des Befehlssatzes oder der I/O-Befehlssteuerung Befehle zu erhalten, die die Überlappung für das Lesen von Daten und/oder Befehlen ein- oder ausschalten.
- Fig. 7 stellt den Betrieb der Abbildung/Überlappung M/I für den Fall dar, in dem sowohl Speicherabbildung als auch niedrigwertige wiederholte Abbildung vorhanden sind. Der obere Teil der Figur zeigt eine virtuelle Adresse, wie sie vom Prozessor erhalten und in VAR 242 gespeichert wird. Dies wird, wie dargestellt, in einen Segment- und/oder Seitenindex (S/P I) 244, ein Seiten- Offset (PO) 246 und ein Wort-Offset (WO) 248 unterteilt. Diese Felder verfügen über die herkömmlichen Bedeutungen in Speicherabbildungssystemen. Der WO, der anzeigt, auf welches Byte in einem adressierten Wort (oder Wort in einer größeren Minimaleinheit der Adressierung) zugegriffen wird, durchläuft den vollständigen Abbildungsprozeß unverändert (wie dargestellt) und wird daraufhin nicht mehr erwähnt.
- Der S/P I wird im herkömmlichen Sinn als ein Index in den Speicherabbildungstabellen verwendet, wie dargestellt. Von den Speicherabbildungstabellen wird der reale Segment/Seiten-Offset (S/P O) auf herkömmliche Art durch Tabellenlesen abgeleitet, um, wie dargestellt, eine reale Adresse zu bilden. Einzigartig bei dieser Erfindung ist, daß das Tabellenlesen ein Überlappungsausmaß (dargestellt) hervorbringt, das mit jedem Segment und/oder jeder Seite verbunden ist, die in der Speicherabbildungstabellen angezeigt werden.
- Nachdem die reale Adresse abgeleitet wurde, kann das wertniedrige Remap 252 verwendet werden, um eine wiederholt abgebildete Adresse in RAR 254 zu erzeugen. Dies kann ebenfalls als Teil der nachfolgend beschriebenen Rechtsdrehung mit veränderlicher Breite und veränderlichem Ausmaß verwendet oder ausgelassen werden, wobei die reale Adresse dann unverändert zur nächsten Stufe übermittelt wird. Das wertniedrige Remap arbeitet in einem Feld LR, um eine neues Adressenfeld LR' der gleichen Breite zu erzeugen, indem, wie dargestellt, der Rest der realen Adresse (Feld mit der Bezeichnung HR) verwendet wird. Die Breite von LR (und LR') kann ein beliebiger Wert zwischen zwei Extremen sein: der höchste Wert hat die gleiche Breite wie der Seiten-Offset (PO), der niedrigste Wert ist das maximal erlaubte Ausmaß der Überlappung; wenn z. B. die Breite N ist, beträgt die Höchstzahl der Speichermodule 2**N. Fig. 7 verdeutlicht dies an einem Zwischenpunkt zwischen diesen beiden Extremen. Der Zweck des wertniedrigen Remap ist es, auf aufeinanderfolgende Adressen, die in einem Teilsatz von Speichermodulen überlappt werden, beliebig zuzugreifen, z. B. Zugriff in verschiedenen Folgen. Dies verringert die Wahrscheinlichkeit, daß viele Prozessoren auf das gleiche Speichermodul gleichzeitig zugreifen, wenn die Datenstrukturen, auf die zugegriffen wird, einen Umfang haben, der ein ganzzahliges Vielfaches des Speicherausmaßes in einer überlappten Abtastung durch alle Speicher ist. Der Höchstumfang von LR ergibt sich aus der Tatsache, daß es erforderlich ist, die Seiten in zusammenhängend adressierten Blöcken zu adressieren; der Mindestumfang stellt das erforderliche Mindestmaß dar, um die oben beschriebene Funktion ausführen zu können. Das wertniedrige Remap ist eins-zu-eins, jeder mögliche Wert von LR muß z. B. in einem unterschiedlichen Wert von LR' abgebildet werden. Ein mögliches wertniedriges Remap sieht folgendermaßen aus: Die Bits von LR werden von rechts nach links LR0, LR1, . . . LRn bezeichnet; die Bits von HR und LR' tragen die vergleichbaren Bezeichnungen. Unter Verwendung von "xor" als der üblichen logischen Funktion Exklusiv-ODER stellt sich ein geeignetes wertniedriges Remap folgendermaßen dar: LR'0 = LR0 xor HR0; LR'1 = LR1 xor HR1; . . . LR'n = LRn xor HRn.
- Die aktuelle Überlappungstransformation wird daraufhin durch eine Rechtsdrehung veränderlicher Größe auf einer Bitfeldeinrichtung 256 veränderlicher Breite durchgeführt, wobei die aktuelle absolute Adresse erzeugt wird, die verwendet wird, um auf die Speichermodule des Systems zuzugreifen. Dabei wird das zuvor abgeleitete Überlappungsausmaß verwendet und nach der erneuten Abbildung (falls diese vorgenommen wird) mit der realen Adresse gearbeitet, wobei das Wort-Offset (WO) ausgeschlossen wird. Die Breite des zu drehenden Feldes und das Ausmaß des Feldes, das zu drehen ist, werden durch das Überlappungsausmaß angezeigt. Das Verfahren der Rechtsdrehung ist folgendes: HS wird ähnlich wie LS oben bezeichnet. Bei einem gegebenen überlappungsausmaß Q beträgt die Breite des zu drehenden Feldes Hsq-1 durch LR0. Die Anzahl der Bitpositionen, um die das Feld gedreht wird, ist Q. Anstatt einer Rechtsdrehung veränderlicher Breite und veränderlichen Ausmaßes kann eine gewöhnliche bitweise Umdrehung der verbundenen HS-, CS- und LS-Felder bei Q verwendet werden. Das dargestellte Schema ermöglicht es jedoch, Systeme mit weniger als der Höchstzahl von Verarbeitungsknoten zu bauen, da es im absoluten Adressenreg 258 werthohe (am weitesten links) Os zurückhält, die in der wiederholt abgebildeten Adresse in RAR 254 auftreten. Eine gewöhnliche Drehung würde dies nicht ermöglichen und daher wird angesichts der Tatsache, daß alle möglichen Werte von LS erlaubt sein müssen, die Adressierung aller möglichen Knoten erzwungen.
- In der absoluten Adresse bezeichnet das letzte HS'-Feld den Verarbeitungsknoten, dessen Speichermodul die Daten enthält, auf die zugegriffen wird (Knoten #); die verbundenen CS- und LS'-Felder geben den Offset in diesem Speichermodul an, in dem sich das Datenwort befindet (Speicher-Offset); das WO-Feld gibt an, welches Byte oder Unterwort gewünscht wird.
- Wenn das Überlappungsausmaß 0 ist, sorgt die Rechtsdrehung veränderlicher Breite und veränderlichen Ausmaßes dafür, daß HS' gleich HS und LS' gleich LS ist. Damit ist die absolute Adresse gleich wie die wiederholt abgebildete Adresse und somit wird die direkte sequentielle Adressierung ermöglicht. Damit ist die oben beschriebene sequentielle Adressierung erreicht. Entsprechende Werte in den Speicherabbildungstabellen ermöglichen es, daß dies der lokale Speicher für den Knoten ist, der die Adressen erzeugt, oder ein Speicher, der vollständig in anderen Knoten enthalten ist (letztere sind nützlich für die Meldungsübermittlung und andere Operationen).
- Es ist festzuhalten, daß bei einer geringeren als der maximal möglichen Überlappung die Prozessoren, über die der globale Speicher zugeordnet wird, erheblich einschränkt werden. Dies kann auf verschiedene Arten verwendet werden, z. B.: (a) es wird dem System ermöglicht, weiter zu arbeiten, jedoch in einem eingeschränkten Modus, wenn einige der Speichermodule aufgrund ihrer Funktionsuntüchtigkeit, einer Netzstörung, usw. nicht betriebsbereit sind; (b) das System wird entsprechend aufgeteilt, so daß die Teile ihre eigene globale und lokale Speicherzuordnung, unabhängig von anderen Teilen, erhalten, wodurch gegenseitige Störungen zwischen den Teilen vermieden werden --- oder mehrere unabhängige Probleme oder ein gut untergliedertes einzelnes Problem kommt zum Ablauf.
- Die oben beschriebene Einrichtung kann mit oder ohne privaten Cache-Speicher 26 funktionieren. Der Cache kann wie in Fig. 2 gezeigt, oder zwischen dem Prozessor und NI positioniert werden. Die Funktion dieses Cache-Speichers ist es, die Speicherzugriffszeit für die Speicherzugriffe zu verringern, die zeitlich wiederholt oder bei zusammenhängenden Speicheradressen auftreten. Damit die Cache-Kohärenz in einer Multiprozessorkonfiguration gewahrt bleibt, ist es erforderlich, daß dieser Cache über eine zusätzliche Fähigkeit verfügt, die normalerweise nicht in einem Uniprozessor-Cache implementiert ist. Wenn beispielsweise ein Prozessor eine Speicherstelle zu ungefähr der gleichen Zeit lesen kann, wie ein anderer Prozessor auf die gleiche Stelle schreibt, ist es erforderlich, daß keiner der Prozessoren die Speicherbezüge in seinem eigenen Cache erfüllt. Diese zusätzliche Fähigkeit kann mit zahlreichen unterschiedlichen Mitteln erreicht werden, wie z. B. Querabfragen zwischen verschiedenen Cache-Speichern oder durch Anzeigen von bestimmten Speicherstellen, die nicht cachable sind. Ein solches Cache-Schema (oder überhaupt keines) kann in diesem Kontext angewandt werden.
- Die oben beschriebene Einrichtung beinhaltet eine Netzspeicherschnittstelle (NSI) 28, deren Betrieb in Fig. 8 dargestellt wird. Die Routing-Funktionen dieser Einheit (wie unten beschrieben) sind für das einwandfreie Funktionieren dieser Einrichtung notwendig. Eine beliebige Hardware-Konfiguration, die einen vergleichbaren kohärenten Satz von Routing-Funktionen für Meldungen hat, kann statt dessen verwendet werden; eine solche Implentierung ist für den Fachmann einfach und unkompliziert. Eine solche Einheit ist mit jedem Prozessorknoten verbunden, wie dies in Fig. 2 dargestellt ist. Die Funktion dieser Einheit ist es, Meldungen zwischen den zugeordneten Prozessoren, dem zugeordneten Speicher-Controller und anderen Prozessorknoten im Netz weiterzuleiten. Die gesendeten Meldungstypen umfassen, sind jedoch nicht beschränkt auf
- Vom lokalen Prozessor ausgegebene Ladeanforderungen.
- Vom lokalen Prozessor ausgegebene Speicheranforderungen.
- Vom lokalen Cache ausgegebene Cache-line Ladeanforderungen, die von Cache-Auslassungen auf Speicheranforderungen des lokalen Prozessors kommen.
- Vom lokalen Cache ausgegebene Cache-line Speicheranforderungen, die von Cache-Auslassungen auf Speicheranforderungen des lokalen Prozessors kommen.
- Antworten auf Speicherladung oder Speicheranforderungen durch den lokalen Prozessor und/oder Cache.
- Lade- oder Speicheranforderungen, die von anderen Prozessoren oder Caches kommen und die Bezug auf Speicherstellen nehmen, die im Speicher des lokalen Prozessorknotens enthalten sind.
- Antworten auf Speicheranforderungen, die von anderen Prozessoren oder Caches kommen und vom Speicher des lokalen Prozessorknotens erwidert werden.
- Meldungen von einem lokalen Prozessor zu einem Fernprozessor oder von Fernprozessorknoten zum lokalen Prozessor.
- Synchronisationsanforderungen (wie z . B. Test-and-set, usw.), die vom lokalen Prozessor kommen und im lokalen Speicher oder bei Fernspeicherstellen ausgeführt werden.
- Antworten auf Synchronisationsanforderungen.
- Sämtliche Meldungen müssen ausreichende Informationen enthalten, um den Meldungstyp feststellen zu können.
- Des weiteren müssen alle Meldungen, die an der NSI 28 ankommen, ausreichend Informationen enthalten, um festzustellen, ob die Meldung zum lokalen Prozessor/Cache 26, zum lokalen Speicher 30 oder zum Verbindungsnetz 10 weitergeleitet werden. Im Fall von Speicheranforderungen durch einen Prozessor oder Cache sind diese Informationen im Feld der Speicheradresse "Knoten #" enthalten. Stimmt der Wert des Feldes "Knoten #" mit der Zahl des lokalen Knotens überein, werden diese Anforderungen zum lokalen Speicher 30 weitergeleitet; andernfalls werden sie zum Verbindungsnetz 10 weitergeleitet. Das oben beschriebene Speicherabbildungsschema stellt sicher, daß die angeforderte Überlappung dabei durchgeführt wird. Ebenso werden Antworten auf Speicheranforderungen entweder zum lokalen Prozessor 22 oder zum Verbindungsnetz 10 weitergeleitet, so als ob zum Prozessorknoten zurückgekehrt werden würde, von dem die Meldung kommt. Andere Meldungen müssen ebenfalls die Felder "Knoten #" und die Identifizierungscodes der Meldungstypen enthalten, die solche Meldungen eindeutig identifizieren, um diese dann über NSI 28 ohne Probleme weiterleiten zu können. Die NSI ist in der Lage, Meldungen von einer der drei Quellen zu den anderen beiden Ausgabestellen weiterzuleiten und zwar auf der Grundlage der Informationen, die in Feldern in den Meldungen enthalten sind. Die in der Figur dargestellten Einrichtungen arbeiten folgendermaßen, um das Routing durchzuführen:
- Der PE Router (PE TRE) 282 erhält Meldungen vom PE 22. Gibt die "Knoten #" den aktuellen Knoten an, sendet der PE RTE 282 die Meldung über den lokalen Speicherkonzentrator (LM CON) 284 zum lokalen Speicher 30; andernfalls sendet er die Meldungen über den Netzkonzentrator (NET CON) 286 zum Netz.
- Der lokale Speicher-Router (LM RTE) 288 erhält Meldungsantworten vom lokalen Speicher 30. Gibt die "Knoten #" den aktuellen Knoten an, sendet der LM RTE 288 Meldungen über den PE-Konzentrator (PE CON) 290 zum lokalen PE 22; andernfalls sendet er die Meldungen über den Netzkonzentrator (NET CON) 286 zum Netz.
- Der Netz-Router (NET RTE) 292 erhält Meldungen vom Netz und aufgrund des Typs jeder Meldung legt er fest, ob es sich (a) um eine Anforderung von einem anderen Prozessor zum Zugriff auf ein lokales Speichermodul handelt; oder (b) um eine Antwort von einem andern Knoten, der Informationen enthält, die vom aktuellen Knoten des lokalen Speichers eines anderen Knotens angefordert wurden. Im Fall (a) wird die Meldung über den LM CON 284 zum lokalen Speicher gesendet; andernfalls wird sie über den PE CON 290 zum lokalen PE 22 gesendet.
- Der Netzkonzentrator 286 erhält Meldungen (entweder Anforderungen oder Antworten) entweder von PE über den PE RTE 282, oder von LM 30 über den LM RTE 288. Er sendet beide zum Netz 10 zur Weiterleitung zu einem andern Knoten auf der Grundlage der "Knoten #" der Meldung.
- Der PE-Konzentrator 290 erhält Meldungsantworten entweder vom lokalen Speicher 30 über den LM RTE 288 oder zum Netz 10 über NET RTE 292. Er sendet sie PE 22 (und/oder zum Cache 26).
- Der lokale Speicherkonzentrator 284 erhält Meldungsanforderungen entweder vom lokalen PE 22 über den PE RTE 282 oder vom Netz 10 über NET RTE 292. Er sendet sie zum lokalen Speicher 30.
- Zusätzlich zu den Pfaden für die Datenübertragung müssen die oben erwähnten Router und Konzentratoren Kontrollinformationen übertragen, die angeben, wann die Daten gültig sind (vom Router zum Mul), und wann die Daten angenommen werden (vom Konzentrator zum Router).
- Ein Speicher mit zwei Anschlüssen kann anstelle der LM RTE 288- und LM CON 284-Einrichtungen verwendet werden.
Claims (17)
1. Datenverarbeitungseinrichtung mit einer Mehrzahl von
Verarbeitungsknoten (20), die über ein Nachrichtennetz (10)
verbunden sind, wobei jeder Knoten einen Prozessor (22) und
eine Speichereinrichtung (30) aufweist, das Nachrichtennetz
eingerichtet ist, um es jedem Prozessor zu ermöglichen,
irgendeine Speichereinrichtung in irgendeinem Knoten zu
adressieren, jeder Knoten auch Abbildungsmittel aufweist, um
eine Umwandlung virtueller, von dem zugeordneten Prozessor
erzeugter Adressen in reale Adressen durchzuführen und die
Einrichtung durch folgendes gekennzeichnet ist:
ein Mittel zum dynamischen Aufteilen des Gesamtspeichers der
Einrichtung, wie durch alle Speichereinrichtungen
repräsentiert, in einen globalen Speicher, auf den von einer
Mehrzahl der Prozessoren zugegriffen werden kann und in einen
lokalen Speicher, auf den von einzelnen Prozessoren
zugegriffen werden kann,
wobei das Aufteilungsmittel folgendes aufweist: eine
Steuerungstabelle in jedem der Abbildungsmittel, die
Überlappungsdaten enthält, die anzeigen, ob sich die erzeugte
reale Adresse in einem lokalen oder in einem globalen Speicher
befindet und einen Adressenwandler (256), der von den
Überlappungsdaten gesteuert wird, um vorbestimmte Felder der
realen Adresse, wie durch die Überlappungsdaten angegeben zu
behandeln, um durch Durchführen einer
Überlappungstransformation eine absolute Adresse zu erzeugen, damit eine Seite
eines realen Speichers entweder in einen sequentiellen Block
von Adressen, die vollständig innerhalb eines Knotens als ein
lokaler Speicher enthalten ist oder in einen Block von
Adressen umgewandelt wird, der über mehrere
Knotenspeichereinrichtungen als globaler Speicher verteilt ist.
2. Datenverarbeitungseinrichtung nach Anspruch 1, bei welcher
das Aufteilungsmittel auf Eingaben aus den Prozessoren
anspricht und im Betrieb bewirkt, daß die Prozessoren gemeinsam
die relativen Größen oder den Umfang des globalen und des
lokalen Speichers bestimmen und bewirkt, daß jeder einzelne
Prozessor bestimmt, zumindest wenn eine
Speicherbezugsanforderung zum Eingeben einer Größe in einen Speicher im
Betrieb des Prozessors erlangt wird, ob die Größe in den
globalen oder in den lokalen Speicher eingegeben wurde.
3. Datenverarbeitungseinrichtung nach Anspruch 1 oder Anspruch
2, bei welcher jede der Eintragungen in den Steuerungstabellen
ein Feld enthält, welches
die Anzahl anderer Knotenadressen, die Null sein kann, angibt,
die Stellen enthalten, die zu der gewünschten Seite beitragen,
wobei die Abbildungsmittel, wenn die Anzahl eine andere ist
als Null, die Knotenadresse entsprechend der Anzahl zyklisch
ändern, wodurch die Stellen einer verteilten Seite über eine
entsprechende Mehrzahl von Speichereinrichtungen in anderen
Verarbeitungsknoten überlappt sind.
4. Datenverarbeitungseinrichtung nach Anspruch 3, bei welcher
das Feld auch die Art einer zyklischen Änderung von
Knotenadressen angibt.
5. Datenverarbeitungseinrichtung nach Anspruch 3 oder Anspruch
4, bei welcher die Anzahl eine Potenz von 2 beträgt, welche
die Anzahl von Verarbeitungsknoten nicht übersteigt, die mit
dem Nachrichtennetz aktuell verbunden sind.
6. Datenverarbeitungseinrichtung nach Anspruch 5, bei welcher
die absolute Adresse durch Durchführen einer Rechtsdrehung
eines Adreßfeldes veränderlicher Breite in veränderlichem
Ausmaß innerhalb des Adressenwandlers erzeugt wird, welches
der realen Adresse entspricht.
7. Datenverarbeitungseinrichtung nach irgendeinem vorgehenden
Anspruch, bei welcher jeder Knoten über einen lokalen Anschluß
mit dem Nachrichtennetz verbunden ist und jeder Knoten einen
Schnittstellenmechanismus enthält, der eine unabhängige
zweiseitig gerichtete Verbindung zwischen dem Prozessor und der
Speichereinrichtung, der Speichereinrichtung und dem lokalen
Anschluß und dem lokalen Anschluß und dem Prozessor liefert.
8. Datenverarbeitungseinrichtung nach irgendeinem vorgehenden
Anspruch, die ferner Mittel zum wiederholten Abbilden einer
überlappenden Abtastung über Speichereinrichtungen aufweist,
um verschiedene Folgen für einen Speichereinrichtungszugriff
für verschiedene aufeinanderfolgende überlappende Abtastungen
zu liefern.
9. Verfahren zum Betreiben einer Datenverarbeitungseinrichtung
mit einer Mehrzahl von Verarbeitungsknoten (20), die über ein
Nachrichtennetz (10) verbunden sind, wobei jeder Knoten einen
Prozessor (22) und eine Speichereinrichtung (30) aufweist, das
Nachrichtennetz eingerichtet ist, um es jedem Prozessor zu
ermöglichen, irgendeine Speichereinrichtung in irgendeinem
Knoten zu adressieren, jeder Knoten auch Abbildungsmittel
aufweist, um eine Umwandlung virtueller, von dem zugeordneten
Prozessor erzeugter Adressen in reale Adressen durchzuführen
und das Verfahren dadurch gekennzeichnet ist, daß
der Gesamtspeicher der Einrichtung, wie durch alle
Speichereinrichtungen repräsentiert, in einen globalen Speicher, auf
den von einer Mehrzahl der Prozessoren zugegriffen werden kann
und in einen lokalen Speicher, auf den von einzelnen
Prozessoren zugegriffen werden kann, durch die folgenden
Schritte dynamisch aufgeteilt werden kann:
Aufnehmen einer Steuerungstabelle in jedes der
Abbildungsmittel, die Überlappungsdaten enthält, die anzeigen, ob sich
die erzeugte reale Adresse in einem lokalen oder in einem
globalen Speicher befindet,
Behandeln vorbestimmter Felder der realen Adresse, wie durch
die Überlappungsdaten angegeben, um durch Durchführen einer
Überlappungstransformation eine absolute Adresse zu erzeugen,
damit eine Seite eines realen Speichers entweder in einen
sequentiellen Block von Adressen, die vollständig innerhalb
eines Knotens als ein lokaler Speicher enthalten ist oder in
einen Block von Adressen umgewandelt wird, der über mehrere
Knotenspeichereinrichtungen als globale Speicher verteilt
sind.
10. Verfahren nach Anspruch 9, bei welchem der Schritt des
dynamischen Aufteilens des Gesamtspeichers auf Eingaben aus
den Prozessoren antwortet und beim Anwenden bewirkt, daß die
Prozessoren gemeinsam die relativen Größen oder den Umfang des
globalen und des lokalen Speichers bestimmen und bewirkt, daß
jeder einzelne Prozessor bestimmt, zumindest wenn eine
Speicherbezugsanforderung zum Eingeben einer Größe in einen
Speicher im Betrieb des Prozessors erlangt wird, ob die Größe
in den globalen oder in den lokalen Speicher eingegeben wurde.
11. Verfahren nach Anspruch 9 oder 10, das ferner den
folgenden Schritt umfaßt:
Eintragen eines Feldes in die Steuerungstabellen, welches die
Anzahl anderer Knotenadressen, die Null sein kann, angibt, die
Stellen enthalten, die zu der gewünschten Seite beitragen,
wobei das Abbildungsmittel auf dieses Feld so anspricht, daß
das Abbildungsmittel die Knotenadresse entsprechend der Anzahl
zyklisch ändert, wenn die Anzahl eine andere ist als Null,
wodurch die Stellen einer verteilten Seite über eine
entsprechende Mehrzahl von Speichereinrichtungen in anderen
Verarbeitungsknoten überlappt sind.
12. Verfahren nach Anspruch 11, bei welchem das Feld auch die
Art einer zyklischen Änderung von Knotenadressen angibt.
13. Verfahren nach Anspruch 11 oder 12, bei welchem die Anzahl
eine Potenz von 2 beträgt, welche die Anzahl von
Verarbeitungsknoten
nicht übersteigt, die mit dem Nachrichtennetz
aktuell verbunden sind.
14. Verfahren nach Anspruch 13, bei welchem die absolute
Adresse durch Durchführen einer Rechtsdrehung eines
Adreßfeldes veränderlicher Breite in veränderlichem Ausmaß
innerhalb des Adressenwandlers erzeugt wird, welches der realen
Adresse entspricht.
15. Verfahren nach irgendeinem der Ansprüche 9 bis 14, das
ferner die folgenden Schritte umfaßt:
Verbinden jedes Knotens über einen lokalen Anschluß mit dem
Nachrichtennetz und
Versehen jedes Knotens mit einem Schnittstellenmechanismus,
der eine unabhängige zweiseitig gerichtete Verbindung zwischen
dem Prozessor und der Speichereinrichtung, der
Speichereinrichtung und dem lokalen Anschluß und dem lokalen Anschluß
und dem Prozessor liefert.
16. Verfahren nach irgendeinem der Ansprüche 9 bis 15, das
ferner den folgenden Schritt umfaßt: wiederholtes Abbilden
einer überlappenden Abtastung über Speichereinrichtungen, um
verschiedene Folgen für einen Speichereinrichtungszugriff für
verschiedene aufeinanderfolgende überlappende Abtastungen zu
liefern.
17. Verfahren nach irgendeinem der Ansprüche 9 bis 16, welches
den folgenden Schritt umfaßt: Zuordnen eines Speichers auf
Seitenrändern und dynamisches Zuordnen eines Speichers auf
veränderlichen Segmenträndern.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/664,131 US4754394A (en) | 1984-10-24 | 1984-10-24 | Multiprocessing system having dynamically allocated local/global storage and including interleaving transformation circuit for transforming real addresses to corresponding absolute address of the storage |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3586389D1 DE3586389D1 (de) | 1992-08-27 |
DE3586389T2 true DE3586389T2 (de) | 1993-03-04 |
Family
ID=24664672
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE8585113174T Expired - Fee Related DE3586389T2 (de) | 1984-10-24 | 1985-10-17 | Dynamisch zugeordnete lokale/globale speicheranordnung. |
Country Status (11)
Country | Link |
---|---|
US (2) | US4754394A (de) |
EP (1) | EP0179401B1 (de) |
JP (1) | JPS61103258A (de) |
KR (1) | KR910001736B1 (de) |
CN (1) | CN1004307B (de) |
CA (1) | CA1236588A (de) |
DE (1) | DE3586389T2 (de) |
GB (1) | GB2165975B (de) |
HK (2) | HK23690A (de) |
IN (1) | IN166397B (de) |
PH (1) | PH25478A (de) |
Families Citing this family (136)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5093913A (en) * | 1986-12-22 | 1992-03-03 | At&T Laboratories | Multiprocessor memory management system with the flexible features of a tightly-coupled system in a non-shared memory system |
US4811216A (en) * | 1986-12-22 | 1989-03-07 | American Telephone And Telegraph Company | Multiprocessor memory management method |
US5136706A (en) * | 1987-04-30 | 1992-08-04 | Texas Instruments Incorporated | Adaptive memory management system for collection of garbage in a digital computer |
JPH063589B2 (ja) * | 1987-10-29 | 1994-01-12 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | アドレス置換装置 |
US5111389A (en) * | 1987-10-29 | 1992-05-05 | International Business Machines Corporation | Aperiodic mapping system using power-of-two stride access to interleaved devices |
US5341483A (en) * | 1987-12-22 | 1994-08-23 | Kendall Square Research Corporation | Dynamic hierarchial associative memory |
US5226039A (en) * | 1987-12-22 | 1993-07-06 | Kendall Square Research Corporation | Packet routing switch |
US5055999A (en) * | 1987-12-22 | 1991-10-08 | Kendall Square Research Corporation | Multiprocessor digital data processing system |
US5761413A (en) * | 1987-12-22 | 1998-06-02 | Sun Microsystems, Inc. | Fault containment system for multiprocessor with shared memory |
US5251308A (en) * | 1987-12-22 | 1993-10-05 | Kendall Square Research Corporation | Shared memory multiprocessor with data hiding and post-store |
US5276826A (en) * | 1988-01-04 | 1994-01-04 | Hewlett-Packard Company | Apparatus for transforming addresses to provide pseudo-random access to memory modules |
JPH0291747A (ja) * | 1988-09-29 | 1990-03-30 | Hitachi Ltd | 情報処理装置 |
JPH0833799B2 (ja) * | 1988-10-31 | 1996-03-29 | 富士通株式会社 | データ入出力制御方式 |
AU615084B2 (en) * | 1988-12-15 | 1991-09-19 | Pixar | Method and apparatus for memory routing scheme |
US5117350A (en) * | 1988-12-15 | 1992-05-26 | Flashpoint Computer Corporation | Memory address mechanism in a distributed memory architecture |
FR2642252A1 (fr) * | 1989-01-26 | 1990-07-27 | Centre Nat Rech Scient | Unite d'interconnexion entre circuits, notamment du type crossbar procede de mise en oeuvre d'une unite d'interconnexion entre circuits, et utilisations d'une unite d'interconnexion entre circuits |
IT1228728B (it) * | 1989-03-15 | 1991-07-03 | Bull Hn Information Syst | Sistema multiprocessore con replicazione di dati globali e due livelli di unita' di traduzione indirizzi. |
EP0389151A3 (de) * | 1989-03-22 | 1992-06-03 | International Business Machines Corporation | System und Verfahren für die Verwaltung eines verteilten Cache-Speichers |
US5072369A (en) * | 1989-04-07 | 1991-12-10 | Tektronix, Inc. | Interface between buses attached with cached modules providing address space mapped cache coherent memory access with SNOOP hit memory updates |
US5144692A (en) * | 1989-05-17 | 1992-09-01 | International Business Machines Corporation | System for controlling access by first system to portion of main memory dedicated exclusively to second system to facilitate input/output processing via first system |
US5301327A (en) * | 1989-06-30 | 1994-04-05 | Digital Equipment Corporation | Virtual memory management for source-code development system |
JPH03150637A (ja) * | 1989-11-08 | 1991-06-27 | Oki Electric Ind Co Ltd | パイプライン対応のレジスタ割付け方式 |
US5715419A (en) * | 1989-12-05 | 1998-02-03 | Texas Instruments Incorporated | Data communications system with address remapping for expanded external memory access |
US5682202A (en) * | 1989-12-08 | 1997-10-28 | Fuji Photo Film Co., Ltd. | Apparatus for recording/reproducing video data in a memory card on a cluster basis |
JPH04505065A (ja) * | 1989-12-26 | 1992-09-03 | イーストマン・コダック・カンパニー | Ram記憶装置に類似したディスク記憶装置を備えた画像処理装置 |
EP0509055A4 (en) * | 1990-01-05 | 1994-07-27 | Maspar Computer Corp | Parallel processor memory system |
US5161156A (en) * | 1990-02-02 | 1992-11-03 | International Business Machines Corporation | Multiprocessing packet switching connection system having provision for error correction and recovery |
US5153595A (en) * | 1990-03-26 | 1992-10-06 | Geophysical Survey Systems, Inc. | Range information from signal distortions |
JP2653709B2 (ja) * | 1990-04-20 | 1997-09-17 | 富士写真フイルム株式会社 | 画像・音声データ再生装置 |
JPH0418638A (ja) * | 1990-05-11 | 1992-01-22 | Fujitsu Ltd | 静的メモリ割当て処理方法 |
JPH0430231A (ja) * | 1990-05-25 | 1992-02-03 | Hitachi Ltd | 主記憶アドレッシング方式 |
US5230051A (en) * | 1990-09-04 | 1993-07-20 | Hewlett-Packard Company | Distributed messaging system and method |
US5265207A (en) * | 1990-10-03 | 1993-11-23 | Thinking Machines Corporation | Parallel computer system including arrangement for transferring messages from a source processor to selected ones of a plurality of destination processors and combining responses |
JPH04246745A (ja) * | 1991-02-01 | 1992-09-02 | Canon Inc | 情報処理装置及びその方法 |
US6493739B1 (en) | 1993-08-24 | 2002-12-10 | Echelon Corporation | Task scheduling in an event driven environment |
WO1992016895A1 (en) * | 1991-03-18 | 1992-10-01 | Echelon Corporation | Networked variables |
ATE208067T1 (de) | 1991-03-18 | 2001-11-15 | Echelon Corp | Programmiersprachestrukturen für ein netzwerk zur übertragung, abtastung und steuerung von informationen |
US5269013A (en) * | 1991-03-20 | 1993-12-07 | Digital Equipment Corporation | Adaptive memory management method for coupled memory multiprocessor systems |
US5341485A (en) * | 1991-05-07 | 1994-08-23 | International Business Machines Corporation | Multiple virtual address translation per computer cycle |
US5630098A (en) * | 1991-08-30 | 1997-05-13 | Ncr Corporation | System and method for interleaving memory addresses between memory banks based on the capacity of the memory banks |
CA2078312A1 (en) | 1991-09-20 | 1993-03-21 | Mark A. Kaufman | Digital data processor with improved paging |
CA2078310A1 (en) * | 1991-09-20 | 1993-03-21 | Mark A. Kaufman | Digital processor with distributed memory system |
US5263003A (en) * | 1991-11-12 | 1993-11-16 | Allen-Bradley Company, Inc. | Flash memory circuit and method of operation |
CA2073516A1 (en) * | 1991-11-27 | 1993-05-28 | Peter Michael Kogge | Dynamic multi-mode parallel processor array architecture computer system |
US5434992A (en) * | 1992-09-04 | 1995-07-18 | International Business Machines Corporation | Method and means for dynamically partitioning cache into a global and data type subcache hierarchy from a real time reference trace |
US5359730A (en) * | 1992-12-04 | 1994-10-25 | International Business Machines Corporation | Method of operating a data processing system having a dynamic software update facility |
US5845329A (en) * | 1993-01-29 | 1998-12-01 | Sanyo Electric Co., Ltd. | Parallel computer |
US5598568A (en) * | 1993-05-06 | 1997-01-28 | Mercury Computer Systems, Inc. | Multicomputer memory access architecture |
JPH06348584A (ja) * | 1993-06-01 | 1994-12-22 | Internatl Business Mach Corp <Ibm> | データ処理システム |
US5584042A (en) * | 1993-06-01 | 1996-12-10 | International Business Machines Corporation | Dynamic I/O data address relocation facility |
US5638527A (en) * | 1993-07-19 | 1997-06-10 | Dell Usa, L.P. | System and method for memory mapping |
GB9320982D0 (en) * | 1993-10-12 | 1993-12-01 | Ibm | A data processing system |
US5583990A (en) * | 1993-12-10 | 1996-12-10 | Cray Research, Inc. | System for allocating messages between virtual channels to avoid deadlock and to optimize the amount of message traffic on each type of virtual channel |
US5613067A (en) * | 1993-12-30 | 1997-03-18 | International Business Machines Corporation | Method and apparatus for assuring that multiple messages in a multi-node network are assured fair access to an outgoing data stream |
JP3687990B2 (ja) * | 1994-01-25 | 2005-08-24 | 株式会社日立製作所 | メモリアクセス機構 |
SE515344C2 (sv) * | 1994-02-08 | 2001-07-16 | Ericsson Telefon Ab L M | Distribuerat databassystem |
US5530837A (en) * | 1994-03-28 | 1996-06-25 | Hewlett-Packard Co. | Methods and apparatus for interleaving memory transactions into an arbitrary number of banks |
US5537635A (en) * | 1994-04-04 | 1996-07-16 | International Business Machines Corporation | Method and system for assignment of reclaim vectors in a partitioned cache with a virtual minimum partition size |
US5907684A (en) * | 1994-06-17 | 1999-05-25 | International Business Machines Corporation | Independent channel coupled to be shared by multiple physical processing nodes with each node characterized as having its own memory, CPU and operating system image |
US5727184A (en) * | 1994-06-27 | 1998-03-10 | Cirrus Logic, Inc. | Method and apparatus for interfacing between peripherals of multiple formats and a single system bus |
JP2625385B2 (ja) * | 1994-06-30 | 1997-07-02 | 日本電気株式会社 | マルチプロセッサシステム |
US5500852A (en) * | 1994-08-31 | 1996-03-19 | Echelon Corporation | Method and apparatus for network variable aliasing |
US5812858A (en) * | 1994-09-16 | 1998-09-22 | Cirrus Logic, Inc. | Method and apparatus for providing register and interrupt compatibility between non-identical integrated circuits |
US5685005A (en) * | 1994-10-04 | 1997-11-04 | Analog Devices, Inc. | Digital signal processor configured for multiprocessing |
US6182121B1 (en) * | 1995-02-03 | 2001-01-30 | Enfish, Inc. | Method and apparatus for a physical storage architecture having an improved information storage and retrieval system for a shared file environment |
US5850522A (en) * | 1995-02-03 | 1998-12-15 | Dex Information Systems, Inc. | System for physical storage architecture providing simultaneous access to common file by storing update data in update partitions and merging desired updates into common partition |
US5860133A (en) * | 1995-12-01 | 1999-01-12 | Digital Equipment Corporation | Method for altering memory configuration and sizing memory modules while maintaining software code stream coherence |
US6745292B1 (en) | 1995-12-08 | 2004-06-01 | Ncr Corporation | Apparatus and method for selectively allocating cache lines in a partitioned cache shared by multiprocessors |
US5708790A (en) * | 1995-12-12 | 1998-01-13 | International Business Machines Corporation | Virtual memory mapping method and system for address translation mapping of logical memory partitions for BAT and TLB entries in a data processing system |
US5896543A (en) * | 1996-01-25 | 1999-04-20 | Analog Devices, Inc. | Digital signal processor architecture |
US5954811A (en) * | 1996-01-25 | 1999-09-21 | Analog Devices, Inc. | Digital signal processor architecture |
US5892945A (en) * | 1996-03-21 | 1999-04-06 | Oracle Corporation | Method and apparatus for distributing work granules among processes based on the location of data accessed in the work granules |
US5784697A (en) * | 1996-03-27 | 1998-07-21 | International Business Machines Corporation | Process assignment by nodal affinity in a myultiprocessor system having non-uniform memory access storage architecture |
US5940870A (en) * | 1996-05-21 | 1999-08-17 | Industrial Technology Research Institute | Address translation for shared-memory multiprocessor clustering |
US6134601A (en) * | 1996-06-17 | 2000-10-17 | Networks Associates, Inc. | Computer resource management system |
US5933852A (en) * | 1996-11-07 | 1999-08-03 | Micron Electronics, Inc. | System and method for accelerated remapping of defective memory locations |
US6381668B1 (en) * | 1997-03-21 | 2002-04-30 | International Business Machines Corporation | Address mapping for system memory |
US6065045A (en) * | 1997-07-03 | 2000-05-16 | Tandem Computers Incorporated | Method and apparatus for object reference processing |
US6002882A (en) * | 1997-11-03 | 1999-12-14 | Analog Devices, Inc. | Bidirectional communication port for digital signal processor |
US6230252B1 (en) | 1997-11-17 | 2001-05-08 | Silicon Graphics, Inc. | Hybrid hypercube/torus architecture |
US5970232A (en) * | 1997-11-17 | 1999-10-19 | Cray Research, Inc. | Router table lookup mechanism |
US6101181A (en) * | 1997-11-17 | 2000-08-08 | Cray Research Inc. | Virtual channel assignment in large torus systems |
US6085303A (en) * | 1997-11-17 | 2000-07-04 | Cray Research, Inc. | Seralized race-free virtual barrier network |
US6061779A (en) * | 1998-01-16 | 2000-05-09 | Analog Devices, Inc. | Digital signal processor having data alignment buffer for performing unaligned data accesses |
US6085254A (en) * | 1998-04-10 | 2000-07-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Dynamic size alteration of memory files |
US6401189B1 (en) | 1998-08-05 | 2002-06-04 | Michael J. Corinthios | General base state assignment for optimal massive parallelism |
US6216174B1 (en) | 1998-09-29 | 2001-04-10 | Silicon Graphics, Inc. | System and method for fast barrier synchronization |
US6275900B1 (en) | 1999-01-27 | 2001-08-14 | International Business Machines Company | Hybrid NUMA/S-COMA system and method |
US7472215B1 (en) | 1999-03-31 | 2008-12-30 | International Business Machines Corporation | Portable computer system with thermal enhancements and multiple power modes of operation |
US6345306B1 (en) * | 1999-05-05 | 2002-02-05 | International Business Machines Corporation | Packager apparatus and method for physically and logically packaging and distributing items in a distributed environment |
US6549931B1 (en) | 1999-09-27 | 2003-04-15 | Oracle Corporation | Distributing workload between resources used to access data |
US6609131B1 (en) | 1999-09-27 | 2003-08-19 | Oracle International Corporation | Parallel partition-wise joins |
US6674720B1 (en) | 1999-09-29 | 2004-01-06 | Silicon Graphics, Inc. | Age-based network arbitration system and method |
US6751698B1 (en) | 1999-09-29 | 2004-06-15 | Silicon Graphics, Inc. | Multiprocessor node controller circuit and method |
US6643754B1 (en) * | 2000-02-15 | 2003-11-04 | International Business Machines Corporation | System and method for dynamically allocating computer memory |
US7260543B1 (en) | 2000-05-09 | 2007-08-21 | Sun Microsystems, Inc. | Automatic lease renewal with message gates in a distributed computing environment |
US7111163B1 (en) * | 2000-07-10 | 2006-09-19 | Alterwan, Inc. | Wide area network using internet with quality of service |
DE10049498A1 (de) * | 2000-10-06 | 2002-04-11 | Philips Corp Intellectual Pty | Virtuelles Speichergerät für ein digitales Hausnetz |
US7401161B2 (en) * | 2000-12-18 | 2008-07-15 | Sun Microsystems, Inc. | High performance storage array interconnection fabric using multiple independent paths |
US7072976B2 (en) * | 2001-01-04 | 2006-07-04 | Sun Microsystems, Inc. | Scalable routing scheme for a multi-path interconnection fabric |
US7007189B2 (en) * | 2001-05-07 | 2006-02-28 | Sun Microsystems, Inc. | Routing scheme using preferred paths in a multi-path interconnection fabric in a storage network |
US20030037061A1 (en) * | 2001-05-08 | 2003-02-20 | Gautham Sastri | Data storage system for a multi-client network and method of managing such system |
US6832301B2 (en) * | 2001-09-11 | 2004-12-14 | International Business Machines Corporation | Method for recovering memory |
US7248585B2 (en) * | 2001-10-22 | 2007-07-24 | Sun Microsystems, Inc. | Method and apparatus for a packet classifier |
US7124410B2 (en) * | 2002-01-09 | 2006-10-17 | International Business Machines Corporation | Distributed allocation of system hardware resources for multiprocessor systems |
GB2419006B (en) * | 2002-04-22 | 2006-06-07 | Micron Technology Inc | Providing a register file memory with local addressing in a SIMD parallel processor |
US7346690B1 (en) | 2002-05-07 | 2008-03-18 | Oracle International Corporation | Deferred piggybacked messaging mechanism for session reuse |
US7797450B2 (en) * | 2002-10-04 | 2010-09-14 | Oracle International Corporation | Techniques for managing interaction of web services and applications |
US7085897B2 (en) * | 2003-05-12 | 2006-08-01 | International Business Machines Corporation | Memory management for a symmetric multiprocessor computer system |
US7379424B1 (en) | 2003-08-18 | 2008-05-27 | Cray Inc. | Systems and methods for routing packets in multiprocessor computer systems |
US7921262B1 (en) | 2003-12-18 | 2011-04-05 | Symantec Operating Corporation | System and method for dynamic storage device expansion support in a storage virtualization environment |
US7685354B1 (en) * | 2004-06-30 | 2010-03-23 | Sun Microsystems, Inc. | Multiple-core processor with flexible mapping of processor cores to cache banks |
US7873776B2 (en) * | 2004-06-30 | 2011-01-18 | Oracle America, Inc. | Multiple-core processor with support for multiple virtual processors |
KR100591371B1 (ko) * | 2005-03-23 | 2006-06-20 | 엠텍비젼 주식회사 | 공유 메모리의 분할 영역 크기 가변 방법 및 공유 메모리를가지는 휴대형 단말기 |
US8037169B2 (en) * | 2005-05-18 | 2011-10-11 | Oracle International Corporation | Determining affinity in a cluster |
US7493400B2 (en) | 2005-05-18 | 2009-02-17 | Oracle International Corporation | Creating and dissolving affinity relationships in a cluster |
US20070011557A1 (en) | 2005-07-07 | 2007-01-11 | Highdimension Ltd. | Inter-sequence permutation turbo code system and operation methods thereof |
US7797615B2 (en) | 2005-07-07 | 2010-09-14 | Acer Incorporated | Utilizing variable-length inputs in an inter-sequence permutation turbo code system |
US7856579B2 (en) | 2006-04-28 | 2010-12-21 | Industrial Technology Research Institute | Network for permutation or de-permutation utilized by channel coding algorithm |
US7814065B2 (en) * | 2005-08-16 | 2010-10-12 | Oracle International Corporation | Affinity-based recovery/failover in a cluster environment |
US9176741B2 (en) * | 2005-08-29 | 2015-11-03 | Invention Science Fund I, Llc | Method and apparatus for segmented sequential storage |
US20160098279A1 (en) * | 2005-08-29 | 2016-04-07 | Searete Llc | Method and apparatus for segmented sequential storage |
US8468356B2 (en) | 2008-06-30 | 2013-06-18 | Intel Corporation | Software copy protection via protected execution of applications |
US9086913B2 (en) * | 2008-12-31 | 2015-07-21 | Intel Corporation | Processor extensions for execution of secure embedded containers |
US9171044B2 (en) * | 2010-02-16 | 2015-10-27 | Oracle International Corporation | Method and system for parallelizing database requests |
US8793429B1 (en) * | 2011-06-03 | 2014-07-29 | Western Digital Technologies, Inc. | Solid-state drive with reduced power up time |
US9747287B1 (en) * | 2011-08-10 | 2017-08-29 | Nutanix, Inc. | Method and system for managing metadata for a virtualization environment |
US9009106B1 (en) | 2011-08-10 | 2015-04-14 | Nutanix, Inc. | Method and system for implementing writable snapshots in a virtualized storage environment |
US9652265B1 (en) | 2011-08-10 | 2017-05-16 | Nutanix, Inc. | Architecture for managing I/O and storage for a virtualization environment with multiple hypervisor types |
US8549518B1 (en) | 2011-08-10 | 2013-10-01 | Nutanix, Inc. | Method and system for implementing a maintenanece service for managing I/O and storage for virtualization environment |
US8601473B1 (en) | 2011-08-10 | 2013-12-03 | Nutanix, Inc. | Architecture for managing I/O and storage for a virtualization environment |
US9772866B1 (en) | 2012-07-17 | 2017-09-26 | Nutanix, Inc. | Architecture for implementing a virtualization environment and appliance |
US9268707B2 (en) | 2012-12-29 | 2016-02-23 | Intel Corporation | Low overhead paged memory runtime protection |
US9417903B2 (en) | 2013-06-21 | 2016-08-16 | International Business Machines Corporation | Storage management for a cluster of integrated computing systems comprising integrated resource infrastructure using storage resource agents and synchronized inter-system storage priority map |
US20170078367A1 (en) * | 2015-09-10 | 2017-03-16 | Lightfleet Corporation | Packet-flow message-distribution system |
US20170108911A1 (en) * | 2015-10-16 | 2017-04-20 | Qualcomm Incorporated | System and method for page-by-page memory channel interleaving |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3820079A (en) * | 1971-11-01 | 1974-06-25 | Hewlett Packard Co | Bus oriented,modular,multiprocessing computer |
US3796996A (en) * | 1972-10-05 | 1974-03-12 | Honeywell Inf Systems | Main memory reconfiguration |
GB1411182A (en) * | 1973-01-04 | 1975-10-22 | Standard Telephones Cables Ltd | Data processing |
US4228496A (en) * | 1976-09-07 | 1980-10-14 | Tandem Computers Incorporated | Multiprocessor system |
US4174514A (en) * | 1976-11-15 | 1979-11-13 | Environmental Research Institute Of Michigan | Parallel partitioned serial neighborhood processors |
US4149242A (en) * | 1977-05-06 | 1979-04-10 | Bell Telephone Laboratories, Incorporated | Data interface apparatus for multiple sequential processors |
US4285040A (en) * | 1977-11-04 | 1981-08-18 | Sperry Corporation | Dual mode virtual-to-real address translation mechanism |
US4254463A (en) * | 1978-12-14 | 1981-03-03 | Rockwell International Corporation | Data processing system with address translation |
US4280176A (en) * | 1978-12-26 | 1981-07-21 | International Business Machines Corporation | Memory configuration, address interleaving, relocation and access control system |
US4371929A (en) * | 1980-05-05 | 1983-02-01 | Ibm Corporation | Multiprocessor system with high density memory set architecture including partitionable cache store interface to shared disk drive memory |
US4442484A (en) * | 1980-10-14 | 1984-04-10 | Intel Corporation | Microprocessor memory management and protection mechanism |
US4509140A (en) * | 1980-11-10 | 1985-04-02 | Wang Laboratories, Inc. | Data transmitting link |
US4414624A (en) * | 1980-11-19 | 1983-11-08 | The United States Of America As Represented By The Secretary Of The Navy | Multiple-microcomputer processing |
JPS57162056A (en) * | 1981-03-31 | 1982-10-05 | Toshiba Corp | Composite computer system |
JPS58149551A (ja) * | 1982-02-27 | 1983-09-05 | Fujitsu Ltd | 記憶制御方式 |
JPS58154059A (ja) * | 1982-03-08 | 1983-09-13 | Omron Tateisi Electronics Co | 並列処理システムのメモリアクセス方式 |
US4648035A (en) * | 1982-12-06 | 1987-03-03 | Digital Equipment Corporation | Address conversion unit for multiprocessor system |
US4577274A (en) * | 1983-07-11 | 1986-03-18 | At&T Bell Laboratories | Demand paging scheme for a multi-ATB shared memory processing system |
US4591975A (en) * | 1983-07-18 | 1986-05-27 | Data General Corporation | Data processing system having dual processors |
-
1984
- 1984-10-24 US US06/664,131 patent/US4754394A/en not_active Expired - Lifetime
-
1985
- 1985-08-20 PH PH32816A patent/PH25478A/en unknown
- 1985-09-20 CA CA000491267A patent/CA1236588A/en not_active Expired
- 1985-09-24 JP JP60208985A patent/JPS61103258A/ja active Granted
- 1985-10-14 CN CN85107534.7A patent/CN1004307B/zh not_active Expired
- 1985-10-15 KR KR1019850007590A patent/KR910001736B1/ko not_active IP Right Cessation
- 1985-10-17 EP EP85113174A patent/EP0179401B1/de not_active Expired - Lifetime
- 1985-10-17 DE DE8585113174T patent/DE3586389T2/de not_active Expired - Fee Related
- 1985-10-21 GB GB08525903A patent/GB2165975B/en not_active Expired
- 1985-10-24 IN IN838/MAS/85A patent/IN166397B/en unknown
-
1988
- 1988-03-16 US US07/168,721 patent/US4980822A/en not_active Expired - Lifetime
-
1990
- 1990-03-29 HK HK236/90A patent/HK23690A/xx unknown
-
1995
- 1995-06-08 HK HK89995A patent/HK89995A/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
CN1004307B (zh) | 1989-05-24 |
CN85107534A (zh) | 1987-04-15 |
JPS61103258A (ja) | 1986-05-21 |
PH25478A (en) | 1991-07-01 |
KR910001736B1 (ko) | 1991-03-22 |
GB2165975B (en) | 1988-07-20 |
EP0179401B1 (de) | 1992-07-22 |
KR860003553A (ko) | 1986-05-26 |
CA1236588A (en) | 1988-05-10 |
JPH0520776B2 (de) | 1993-03-22 |
US4754394A (en) | 1988-06-28 |
EP0179401A2 (de) | 1986-04-30 |
GB2165975A (en) | 1986-04-23 |
HK23690A (en) | 1990-04-06 |
IN166397B (de) | 1990-04-28 |
GB8525903D0 (en) | 1985-11-27 |
US4980822A (en) | 1990-12-25 |
DE3586389D1 (de) | 1992-08-27 |
EP0179401A3 (en) | 1989-09-13 |
HK89995A (en) | 1995-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3586389T2 (de) | Dynamisch zugeordnete lokale/globale speicheranordnung. | |
DE69734129T2 (de) | Hierarchisches Datenverarbeitungssystem mit symetrischen Multiprozessoren | |
DE69724355T2 (de) | Erweiterte symmetrische Multiprozessorarchitektur | |
DE69233655T2 (de) | Mikroprozessorarchitektur mit der Möglichkeit zur Unterstützung mehrerer verschiedenartiger Prozessoren | |
DE69130580T2 (de) | Cache-Speicheranordnung | |
DE2226382C3 (de) | Datenverarbeitungsanlage mit mehreren Prozessoren und diesen zugeordneten Pufferspeichern | |
DE69526751T2 (de) | Multiprozessorsystem zur lokalen Verwaltung von Adressenübersetzungstabellen | |
DE2749850C3 (de) | Hybrider Halbleiterspeicher mit assoziativer Seitenadressierung, Seitenaustausch und Steuerung auf dem Chip | |
DE69822534T2 (de) | Gemeinsame Speicherbenutzung mit variablen Blockgrössen für symmetrische Multiporzessor-Gruppen | |
DE3782335T2 (de) | Speichersteuersystem. | |
DE2260353C2 (de) | Schaltungsanordnung für die Adressenumsetzung in einer Datenverarbeitungsanlage | |
DE3011552C2 (de) | ||
DE3587960T2 (de) | Datenverarbeitungsanlage mit einem Speicherzugriffssteuergerät. | |
DE68929317T2 (de) | Modulare Kreuzschienen zwischen Verbindungen in einem digitalen Rechner | |
DE2350225C2 (de) | ||
DE69530776T2 (de) | Zweiwege set-assoziativer cache-speicher | |
DE3751399T2 (de) | Parallelrechner mit verteilten, gemeinsam genutzten Speichern und verteilten, aufgabenaktivierenden Schaltungen. | |
DE69635865T2 (de) | Adressentransformation in einem cluster-computersystem | |
DE69025302T2 (de) | Hochleistungsrasterpuffer- und -cachespeicheranordnung | |
DE69721394T2 (de) | Verfahren und Vorrichtung für einen Kohärenzumwandler mit begrenztem Speicher zur Verbindung von Rechnersystem-Kohärenzdomänen | |
DE3621321A1 (de) | Cache-speicher- bzw. multiprozessor-system und betriebsverfahren | |
DE69330548T2 (de) | Datentransfereinheit zur Benutzung in parallelen Verarbeitungssystemen | |
DE69937611T2 (de) | Intelligenter Puffer-Speicher | |
DE3650249T2 (de) | Hochkapazitätsspeicher für Multiprozessorsystem. | |
DE3885780T2 (de) | Adressierung in einer Computer-Anordnung. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |