DE69031841T2 - Mehrfachverarbeitungsanordnung mit einem einzigen Adressenübersetzungspufferspeicher mit vermindertem Prozessorzusatzaufwand und Verfahren zum Betrieb einer solchen Anordnung - Google Patents
Mehrfachverarbeitungsanordnung mit einem einzigen Adressenübersetzungspufferspeicher mit vermindertem Prozessorzusatzaufwand und Verfahren zum Betrieb einer solchen AnordnungInfo
- Publication number
- DE69031841T2 DE69031841T2 DE1990631841 DE69031841T DE69031841T2 DE 69031841 T2 DE69031841 T2 DE 69031841T2 DE 1990631841 DE1990631841 DE 1990631841 DE 69031841 T DE69031841 T DE 69031841T DE 69031841 T2 DE69031841 T2 DE 69031841T2
- Authority
- DE
- Germany
- Prior art keywords
- bit
- register
- field
- vsid
- processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
Description
- Die vorliegende Erfindung betrifft allgemein Mehrprozessorsysteme und insbesondere ein Adressenumwandlungs- bzw. umsetzungs- oder -übersetzungsverfahren für Mehrprozessorsysteme.
- Supercomputer werden zunehmend in vielen wissenschaftlichen und industriellen Anwendungen für Hochgeschwindigkeitsrechenprozesse verwendet. Um die Hochgeschwindigkeitsanforderung zu erfüllen, wurden Mehrprozessorsysteme zum Verarbeiten mehrerer Aufträge oder Jobs und Aufgaben in einem Parallelmodus entwickelt. Bei vielen derartigen Anwendungen überschreitet die zu verarbeitende Datenmenge die Kapazität des Hauptspeichers des Systems, so daß normalerweise ein als "virtuelle Speichertechnik" bekanntes Verfahren zum virtuellen Erweitern des Speicherbereichs des Hauptspeichers durch Erzeugen eines erweiterten Bereichs in einem Massenspeichersystem, wie beispielsweise einer Festplatte, verwendet wird. Durch dieses Verfahren werden logische Speicheradressen unter Verwendung von in einem Hauptspeicher gespeicherten Adressenumsetzungstabellen in einem Programm auf einer seitenbezogenen Basis in physikalische Speicheradressen übersetzt, bevor durch die Prozessoren darauf zugegriffen wird. Um die Zugriffszeit zu verkürzen, ist ein Hochgeschwindigkeits-Umsetzungspuffer vorgesehen, und jeder Prozessor lädt seine Identifizierungsnummer und eine Kopie der Adressentabelle in den Puffer. Dadurch laden in einem Multitasking- oder Mehraufgabenmodus Prozessoren Adressenumsetzungstabellen in den Puffer, wenn sie versuchen auf die gleichen Seiten zuzugreifen, so daß der Prozessor- Organisationsaufwand für die Adressenabbildung zunimmt. Eine Lösung dieses Problems wäre die Verwendung eines Verfahrens, durch das alle Adressenumsetzungstabellen, die einem segmentierten virtuellen Bereich entsprechen, gleichzeitig geladen werden, wie in der US-A-4481573 beschrieben. Wie in diesem Patent diskutiert, muß jedoch eine der Anzahl der Prozessoren entsprechende Anzahl von Übersetzungspuffern vorgesehen sein, wodurch die Hardware- oder Gerätekosten zunehmen.
- In der US-A-4376297 wird eine Literal- oder Direktspeicheradres 5 ierungsvorrichtung beschrieben, wobei virtuelle Adressen in reale Adressen umgewandelt oder übersetzt werden, indem eine begrenzte Anzahl realer Adressen in einen aufgeteilten Übersetzungspuffer (TLB) gespeichert wird, bei dem jeder Teilbereich einer gerade aktiven Benutzerverarbeitung zugeordnet ist. Wenn der Zentralprozessor die Steuerung auf eine zuvor aktive Benutzerverarbeitung zurückschaltet, wird eine Einrichtung verwendet, um zunächst die vorherigen Adressenübersetzungsdaten, die in diesem, der reaktivierten Verarbeitung zugeordneten TLB-Teilbereich gespeichert sind, zu suchen und dann deren Gültigkeit zu verifizieren Daher ist es Aufgabe der vorliegenden Erfindung, ein Mehrprozessorsystem mit einem einzigen Übersetzungspuffer bereitzustellen, wobei der Prozessor-organisationsaufwand reduziert ist, so daß der Übersetzungspuffer durch die Prozessoren effizient genutzt werden kann.
- Gemäß einer ersten Ausführungsform der Erfindungwird ein Mehrprozessorsystem mit einem Hauptprozessor und mehreren untergeordneten Prozessoren und einem mit den Prozessoren verbundenen Hauptspeicher bereitgestellt, wobei der Hauptprozessor mehrere seitenbezogen formatierte Adressenumsetzungstabellen aufweist, die jeweils in logischen Speicherbereichen gespeichert sind, wobei jede der Tabellen eine Beziehung zwischen einer logischen Adresse und einer physikalischen Adresse beschreibt. Von einem anfordernden Prozessor empfängt das System Befehle, die eine Identifizierung für einen segmentierten virtuellen Bereich und ein Identifizierungsbit für einen gemeinsamen oder einen nicht gemeinsamen Zugriff aufweisen. Es ist ein einziger Übersetzungspuffer vorgesehen, der in mehrere Pufferbereiche aufgeteilt ist. Es sind jeweils den Pufferbereichen zugeordnete Verzeichnisregister vorgesehen, wobei jedes Register in ein erstes Feld und in ein zweites Feld mit den jeweiligen Prozessoren zugeordneten Bitpositionen aufgeteilt ist. Es ist eine Verzeichnissteuerung zum Auswählen eines Verzeichnisregisters und zum Schreiben der Identifizierung des segmentierten virtuellen Bereichs des anfordernden Prozessors in das erste Feld des ausgewählten Registers und eines Bits "1" in sein zweites Feld in eine dem anfordernden Prozessor zugeordnete Position vorgesehen. Die Verzeichnissteuerung spricht auf die Identifizierung für den nicht gemeinsamen Zugriff an, um einen der Pufferbereiche zu adressieren, der dem ausgewählten Verzeichnisregister entspricht, und durchsucht in Antwort auf die Identifizierung für den gemeinsamen Zugriff die Verzeichnisregister, um ein erstes Register zu erfassen, dessen erstes Feld die Identifizierung für den segmentierten virtuellen Bereich des anfordernden Prozessors enthält, und dessen zweites Feld ein Bit "11" an einer dem anfordernden Prozessor zugewiesenen Position enthält, um dieses Bit zurückzusetzen und die dem anfordernden Prozessor zugewiesene Position dieses Registers ungültig zu machen. Die Verzeichnissteuerung erfaßt außerdem ein zweites Register, dessen erstesfeld die Identifizierung für den segmentierten virtuellen Bereich des anfordernden Prozessors enthält und dessen zweites Feld ein Bit "1" in einer dem Hauptprozessor zugewiesenen Position enthält, um in sein zweites Feld ein Bit "1" in einer dem anfordernden Prozessor zugewiesenen Position zu setzen. Es ist eine Tabellenzugriffsteuerung vorgesehen, um eine Kopie der seitenbezogen formatierten Adressenumsetzungstabellen vom Hauptspeicher in den durch die Verzeichnissteuerung adressierten Pufferbereich zu laden. Die Bits "1" in jedem der Verzeichnisregister bezeichnen die Bewilligung des Zugriffsrechts. Vorzugsweise spricht die Verzeichnissteuerung auf das anschließend vom anfordernden Prozessor ausgegebene Identifizierungsbit für einen nicht gemeinsamen Zugriff an, um eine weitere Durchsuchung aller Verzeichnisregister zu veranlassen, um das zweite Register zu erfassen, und setzt eines der Bits "1" seines zweiten Feldes zurück, das in einer dem anfordernden Prozessor zugewiesenen Position gespeichert ist, und eine Kopie der Umsetzungstabellen wird vom Hauptspeicher in einen Pufferbereich geladen, der einem Verzeichnisregister entspricht, das Befehle vom anfordernden Prozessor enthält.
- Gemäß einer zweiten Ausführungsform wählt die Verzeichnissteuerung eines der Verzeichnisregister in Antwort auf das Identifizierungsbit für einen gemeinsamen oder einen nicht gemeinsamen Zugriff aus und schreibt die Identifizierung für den seumentierten virtuellen Bereich des anfordernden Prozessors in das erste Feld des ausgewählten Verzeichnisregisters und ein Bit "1" in das zweite Feld des ausgewählten Verzeichnisregisters in eine dem anfordernden Prozessor zugewiesene Position und durchsucht in Antwort auf das Identifizierungsbit für einen nicht gemeinsamen Zugriff die Verzeichnisregister, um ein Verzeichnisregister zu erfassen, dessen erstes Feld die Identifizierung für den segmentierten virtuellen Bereich des anfordernden Prozessors enthält und dessen zweites Feld Bits "1" in Positionen enthält, die dem Hauptprozessor bzw. dem anfordernden Prozessor zugewiesen sind. Eines der Bits Itlil des zweiten Feldes des erfaßten Registers wird in einer dem anfordernden Prozessor zugewiesenen Position zurückgesetzt. Nach der Rücksetzoperation adressiert die Verzeichnissteuerung einen der Pufferbereiche, der einem Verzeichnisregister entspricht, dessen erstes Feld die Identifizierung für den segmentierten virtuellen Bereich des anfordernden Prozessors enthält und dessen zweites Feld ein Bit V11!1 in einer dem anfordernden Prozessor zugewiesenen Position enthält.
- Die vorliegende Erfindung wird nachstehend unter Bezug auf die beigefügten Zeichnungen ausführlicher beschrieben; es zeigen:
- Fig. 1 ein Blockdiagramm eines erfindungsgemäßen Mehrprozessorsystems;
- Fig. 2 den Zusammenhang zwischen einer logischen Adresse und einer physikalischen Adresse;
- Fig. 3 ein Ablaufdiagramm zum Beschreiben einer durch die in Fig. 1 dargestellte Verzeichnissteuerung ausgeführten Befehlsfolge;
- Fig. 4 ein Ablaufdiagramm zum Beschreiben von Details des in Fig. 3 dargestellten Registerauswahlschritts;
- Fig. 5 ein Ablaufdiagramm zum Beschreiben einer durch die in Fig. 1 dargestellte Tabellenzugriffssteuerung ausgeführten Befehlsfolge; und
- Fig. 6 die Inhalte von Verzeichnisregistern.
- Fig. 1 zeigt ein erfindungsgemäßes Mehrprozessorsystem. Das System weist ein Befehlsregister 1 zum Speichern von Befehlen auf, die durch einen Ausgangsanschluß einer Befehlsauswahleinrichtung 9 von Prozessoren 10-13 mit Prozessoridentifizierungen PN=00, PN=01, PN=10 bzw. PN=11 geladen wurden. Das Befehlsregister 1 weist ein mit einer Verzeichnissteuerung 7 verbundenes Prozessoridentifizierungsfeld PN, ein mit einem Decodierer 2 verbundenes Operationscodefeld OP und ein Registeridentifizierungsfeld R auf, durch das eines von allgemeinen Registern 3-0 bis 3-7 festgelegt wird. Jedes der Register 3-0 bis 3-7 weist auf: eine 3-Bit-Identifizierung für einen segmentierten virtuellen Bereich oder ein VSID-Feld V, ein Feld SA für eine Identifizierung für einen gemeinsamen Zugriff (wobei durch Setzen des Bits "1" angezeigt wird, daß ein Zugriff gemeinsam mit dem Prozessor 11 erfolgt, von den vorausgesetzt wird, daß er ein Hauptprozessor ist), und ein Hauptprozessoridentifizierungsfeld MP. Die Felder V, SA und MP der allgemeinen Register 3-0 bis 3-7 sind mit der Verzeichnissteuerung 7 verbunden.
- Wenn der Decodierer 2 einen Operationscode vom Befehlsregister 1 als "Tabellenlade" -Befehl interpretiert, gibt er diese Information an eine Tabellenzugriffsteuerung 6 und an die Verzeichnissteuerung 7 aus, der außerdem die Felder SA der Register 3-0 bis 3-7 zugeführt werden.
- Der Hauptspeicher 8 weist mehrere Speicherbereiche auf, die jeweils 16 Seiten Adressenumsetzungstabellen enthalten. Die Einsprungadressen dieser Speicherbereiche werden durch die Tabellenzugriffsteuerung 6 sequentiell adressiert, um 16 Adressenumsetzungstabellen mit hoher Geschwindigkeit auszulesen.
- Erfindungsgemäß ist nur ein Übersetzungspuffer 4 vorgesehen, der in acht Pufferbereiche 4-0 bis 4-7 aufgeteilt ist, die jeweils durch eine 3-Bit-Identifizierung gekennzeichnet sind, um sechzehn Adressenumsetzungstabellen zu speichern, die aus dem Hauptspeicher 8 ausgelesen werden.
- Verzeichnisregister 5-0 bis 5-7, die den Pufferbereichen 4-0 bis 4-7 zugeordnet sind, sind mit der Verzeichnissteuerung 7 verbunden. Jedes Verzeichnisregister ist ein 7-Bit-Register mit einem 3-Bit-Feld 5 zum Speichern der Identifizierung eines virtuellen Bereichs, die die Bitpositionen #0 bis #2 besetzt, und einem 4-Bit-Feld RP zum Speichern einer Prozessoridentifizierung, die die Bitpositionen #3 bis #6 besetzt. Das S-Feld jedes Verzeichnisregisters 5 wird verwendet, um die 3-Bit-Identifizierung fur einen segmentierten virtuellen Bereich zu speichern, und die Bitpositionen #3 bis #6 des Verzeichnisregisters sind Prozessoren #0 bis #3 zugeordnet. Durch Setzen eines Bits "1" in diese Bitpositionen wird angezeigt, daß den Prozessoren, für die das Bit gesetzt ist, Zugriff auf die Umsetzungstabellen gewährt wird, die in einem der Pufferbereiche 4-0 bis 4-7 gespeichert sind, der dem gleichen Verzeichnisregister zugeordnet ist. Daher wird, wenn in der Position #5 des Registers 5-6 ein Bit Itlil gesetzt ist, dem Prozessor #2 Zugriff auf die im Pufferbereich 4-6 gespeicherten Adressenumsetzungstabellen gewährt.
- Durch die Verzeichnissteuerung 7 wird eine Schreib- und Suchsteuerung bezüglich der Verzeichnisregister 5-0 bis 5-7 in Antwort auf ein Signal vom Decodierer 2 veranlaßt. Wie später beschrieben wird, wählt die Verzeichnissteuerung 7 in Antwort auf einen Tabellenladebefehl eines der Register 5 aus, das in allen Bitpositionen #3 bis #6 eine "0" aufweist und die niedrigste Registernummer unter den Registern aufweist, bei denen in allen Bitpositionen #3 bis #6 "0" gesetzt ist, und schreitet zu einer Verarbeitung zum Auslesen von Daten aus den allgemeinen Registern 3 in den Feldern 5 und RP des ausgewählten Verzeichnisregisters fort. Während eines durch einen vorgegebenen untergeordneten Prozessor (einer der Prozessoren #0, #2 und #3) angeforderten Modus für einen gemeinsamen Zugriff durchsucht die Verzeichnissteuerung 7 alle S-Felder der Register 5-0 bis 5-7 unter Verwendung der V- und PN-Felddaten, um das Register zu erfassen, dessen Daten mit den V-Feld-Daten übereinstimmen, und schreitet zu einer Verarbeitung zum Erfassen eines der Register fort, dessen RP-Feld mit den PN-Daten übereinstimmen, so daß im Such- oder Abtastprozeß nur ein Register übrigbleibt. Das Bit nlll des RP-Feldes dieses Verzeichnisregisters wird dann auf null zurückgesetzt. Die Verzeichnissteuerung 7 durchsucht daraufhin alle Verzeichnisregister 5 unter Verwendung der V- und MP-Felddaten, um ein Bit "1" in das RP-Feld des erfaßten Registers in einer dem vorgegebenen Prozessor zugeordneten Position zu setzen. Während eines anschließend durch diesen vorgegebenen Prozessor angeforderten Exklusivzugriffsmodus durchsucht die Verzeich nissteuerung 7 alle Verzeichnisregister 5 unter Verwendung der V-, MP- und PN-Daten nacheinander, um nur ein Verzeichnisregister zu erfassen, und setzt das in der dem vorgegebenen Prozessor zugewiesenen Position gespeicherte Bit "1" des RP-Feldes des erfaßten Registers zurück.
- Das System weist ferner eine Speicherzugriffsteuerung 14 und ein Adressenregister 15 auf, das mit einem zweiten Ausgangsanschluß einer Befehlsauswahleinrichtung 9 verbunden ist, um einen VSID-Code und eine Seitennummer von einem Prozessor zu empfangen, der ein Programm ausführt. Die Speicherzugriffsteuerung 14 empfängt Daten vom PN-Feld eines Befehlsregisters 1 und vom V-Feld der allgemeinen Register 3 und verwendet diese als gesuchtes Datenwort, um die Verzeichnisregister 5 zu durchsuchen und ein Register 5-i zu erfassen, das den gleichen VSID-Code und ein Bit "1" im RP- Feld aufweist, das in einer Position gespeichert ist, die dem Prozessor zugewiesen ist, der gegenwärtig ein Programm ausführt, um festzustellen, ob dieser Prozessor zugriffsberechtigt ist. Wenn er zugriffsberechtigt ist, adressiert die Speicherzugriffsteuerung anschließend den dem Verzeichnisregister 5-i zugeordneten Pufferbereich 4-i. Wie in Fig. 2 dargestellt, weist die in jeder der 16 Adressenumsetzungsseiten enthaltene logische Speicheradresse ein Feld LP für eine logische Seite und ein innerseitiges Adressenfeld A auf, wobei das Feld LP für die logische Seite ein 3-Bit- VSID-Feld 5 und ein Seitenidentifizierungsfeld P aufweist. Die S- und P-Feld-Daten werden in eine physikalische Seitennummer PP übersetzt. Die physikalische Seitennummer PP bildet mit den Adressendaten des Feldes A einen Teil einer physikalischen Speicheradresse. Die Speicherzugriffsteuerung 14 durchsucht alle Seiten unter Verwendung des VSID-Codes und der vom Adressenregister 15 erhaltenen Seitennummer. Eine entsprechende physikalische Seitennummer PP wird mit der zugeordneten innerseitigen Adresse A kombiniert, um eine physikalische Adresse zu bilden, die an die Speicherzugriffsteuerung 14 zurückgesendet wird, um Daten vom Hauptspeicher 8 zu lesen und in den entsprechenden Prozessor zu laden.
- Das Ablaufdiagramm von Fig. 3 zeigt Details der Arbeitsweise der Verzeichnissteuerung 7. Die Verzeichnissteuerung 7 beginnt mit Schritt 31, wo geprüft wird, ob ein Tabellenladebefehl vom Decodierer 2 vorliegt Wenn ein Ladebefehl vorliegt, schreitet die Steuerung zu Schritt 32 fort, um die Inhalte der Felder V, SA und MP eines allgemeinen Registers 3 zu lesen, das gemäß dem R-Feld des Befehlsregisters 1 ausgewählt wird, sowie die Inhalte des PN-Feldes des Befehlsregisters 1. Die Verarbeitung schreitet dann zu Schritt 33 fort, wo eines der Register 5-0 bis 5-7 ausgewählt und die ausgelesenen V-Feld-Daten in das S-Feld des ausgewählten Verzeichnisregisters und ein Bit "1" in eine Bitposition des RP-Feldes des ausgewählten Verzeichnisregisters geschrieben werden, die dem Prozessor zugeordnet ist, von dem der Tabellenladebefehl ausgegeben wird.
- Gemäß Fig. 4 wird das Verzeichnisregister bei Schritt 33 durch sequentielles Ausführen von Entscheidungsschritten 50 bis 57 ausgeführt. In jedem dieser Entscheidungsschritte untersucht die Steuerung, beginnend mit dem Verzeichnisregister mit der niedrigsten Registernummer, d.h. Register 5-0, sequentiell das RP-Feld der Verzeichnisregister 5-0 bis 5-7, um festzustellen, ob das Feld überall den Inhalt Null hat, wobei, wenn eine positive Entscheidung vorliegt, die Steuerung einen der Entscheidungsschritte 50-57 verläßt und zu einem entsprechenden Operationsschritt 60-67 fortschreitet. Wenn die Entscheidung bei Schritt 50 negativ ist, schreitet die Steuerung zu Entscheidungsschritt 51 fort, und wenn die Entscheidung positiv ist, schreitet die Steuerung zu Schritt 60 fort, wo das Verzeichnisregister 5-0 ausgewählt wird. Auf ähnliche Weise schreitet, wenn die Entscheidung bei Schritt 51 negativ ist, die Steuerung zu Entscheidungsschritt 52 fort, und wenn die Entscheidung positiv ist, wird Schritt 61 ausgeführt, indem das Verzeichnisregister 5-1 ausgewählt wird, usw.
- Gemäß Fig. 3 schreitet die Steuerung zu Schritt 34 fort, um zu prüfen, ob SA=1 oder SA=0 ist, d.h., ob der Prozessor einen gemeinsamen Zugriff auf eine gemeinsame Quelle oder einen exklusiven Zugriff auf eine vorgegebene Quelle versucht. Wenn die Antwort negativ ist, führt die Steuerung Entscheidungsschritte 35 bis 37 aus, um alle Verzeichnisregister 5-0 bis 5-7 unter Verwendung der von den Feldern V, MP und PN erhaltenen Daten als Datenwörter zu durchsuchen. Insbesondere prüft die Steuerung bei Schritt 35, ob ein oder mehrere Verzeichnisregister vorhanden sind, bei denen die Daten in ihrem S-Feld dem Inhalt des empfangenen V-Feldes gleich sind. Wenn die Antwort positiv ist, schreitet die Steuerung zu Schritt 36 fort, um festzustellen, ob im RP- Feld der entsprechenden Register ein Bit "1" in einer Position angeordnet ist, die dem durch das MP-Feld identifizierten Hauptprozessor zugewiesen ist. Wenn die Antwort positiv ist, schreitet die Steuerung zu Schritt 37 fort, um festzustellen, ob das RP-Feld der Register, bei denen bei Schritt 36 eine übereinstimmung festgestellt wurde, noch immer ein Bit "1" TV in einer Position aufweist, die einem durch das PN- Feld identifizierten anfordernden Prozessor zugeordnet ist. Wenn mehr als ein Bit "1" im RP-Feld eines Verzeichnisregisters mit dem gleichen VSID-Code vorhanden ist, schreitet die Steuerung zu Schritt 37 fort und trifft eine positive Entscheidung. Die Steuerung schreitet dann zu Schritt 38 fort, um das Bit "1" des einzigen Registers zurückzusetzen, das nach dem Abtastprozeß übrigbleibt, wobei die Position des Bits "1" dem anfordernden Prozessor zugewiesen ist. Durch Zurücksetzen dieses Bits "1" wird angezeigt, daß die Berechtigung eines untergeordneten Prozessors für einen Zugriff auf die gemeinsame Quelle, auf die ihm Zugriff gewährt wurde, zurückgewiesen wird. Details dieser Rücksetzoperation werden später beschrieben.
- Nach der Abarbeitung des Schritts 38 oder einer negativen Entscheidung in einem der Schritte 35, 36 und 37 folgt Schritt 39, bei dem durch die Steuerung veranlaßt wird, daß dem Übersetzungspuffer 4 Adressendaten zugeführt werden. Gleichzeitig empfängt die Tabellenzugriffsteuerung 6 Daten von einem allgemeinen Register 3 und vom Decodierer 2 um einen Pufferbereich zu adressieren, der dem bei Schritt 33 ausgewählten Verzeichnisregister zugeordnet ist oder dem Register zugeordnet ist, dessen Bit "1" im RP-Feld gerade durch Schritt 38 zurückgesetzt wurde. Die im Hauptspeicher 8 gespeicherten Adressenumsetzungstabellen werden auf eine nachstehend unter Bezug auf Fig. 5 beschriebene Weise adressiert.
- Gemäß Fig. 5 schreitet, wenn ein Tabellenladebefehl vom Decodierer 2 empfangen wird (Schritt 70) die Tabellenzugriffsteuerung 6 zu Schritt 71 fort, um zu prüfen, ob der Inhalt des SA-Feldes eines der Register 3 "1" oder "0" ist. Wenn SA=1 ist, kehrt die Steuerung zu Schritt 70 zurück, ansonsten schreitet sie zu Schritt 72 fort, um Hauptspeicherzugriffsdaten zu erzeugen. Die Steuerung schreitet dann fort, um eine Zugriffsanforderung an den Hauptspeicher 8 zu übertragen (Schritt 73) und prüft bei Schritt 74, ob alle Zugriffsdaten erzeugt sind. Wenn dies nicht der Fall ist, kehrt die Steuerung zu Schritt 72 zurück, um die Verarbeitung zu wiederholen, so daß dem Hauptspeicher 8 alle zum Lesen von 16 Seiten eines gewünschten Speicherbereichs erforderlichen Adressendaten zugeführt werden. Daraufhin wird eine Kopie der Seiten, auf die zugegriffen wird, in einen der Speicherbereiche 4-0 bis 4-7 des Puffers 4 geladen, der durch die von der Verzeichnissteuerung 7 zugeführten Adressendaten adressiert ist.
- Wenn der anfordernde Prozessor einen gemeinsamen Zugriff versucht, ist die Antwort bei Schritt 34 positiv, und die Steuerung schreitet zu Schritt 40 fort, um alle Verzeichnisregister 5 unter Verwendung der Felder V und PN als Datenwörter zu durchsuchen, um ein oder mehr Register zu erfassen, deren S-Feld-Daten mit dem V-Feld übereinstimmen. Wenn die Antwort positiv ist, schreitet die Steuerung zu Schritt 41 fort, um zu prüfen, ob das RP-Feld der entsprechenden Register, d.h. der Register, deren S-Feld-Daten mit dem V-Feld übereinstimmen, ein Bit "1" in einer Position enthält, die dem durch das PN-Feld identifizierten anfordernden Prozessor zugewiesen ist. Wenn die Antwort positiv ist, ist nur ein entsprechendes Register vorhanden, das die dem anfordernden Prozessor zugeordnete Daten enthält, und die Steuerung schreitet zu Schritt 42 fort, um das Bit "1" des entsprechenden Registers in einer dem anfordernden Prozessor zugewiesenen Position zurückzusetzen Durch das Zurücksetzen des RP-Feldes dieses Registers wird dieses unwirksam.
- Nach dem Zurücksetzen des entsprechenden Registers führt die Steuerung durch Abarbeiten des Schritts 43, diesmal unter Verwendung des V- und des MP-Feldes als Datenwörter, einen zweiten Suchdurchgang durch alle Verzeichnisregister 5 aus, um ein oder mehr Register zu erfassen, deren 5- Feld-Daten mit dem V-Feld übereinstimmen. Wenn die Antwort positiv ist, schreitet die Steuerung zu Schritt 44 fort, um zu prüfen, ob das RP-Feld des entsprechenden Registers ein Bit "1" in einer Position enthält, die einem durch das MP- Feld identifizierten Hauptprozessor zugewiesen ist. Wenn die Antwort positiv ist, bleibt im Abtastprozeß nur ein Verzeichnisregister übrig, und die Steuerung schreitet zu Schritt 45 fort, um ein Bit "1" in einer Position des verbleibenden Registers zu setzen, wobei die Position des Bits "1" dem anfordernden (untergeordneten) Prozessor zugewiesen ist. Durch Setzen eines Bits "1" in der dem untergeordneten Prozessor zugewiesenen Position wird die Gewährung des Rechts eines gemeinsamen Zugriffs auf eine gemeinsame Quelle angezeigt. Bei einer negativen Entscheidung in einem der Schritte 40, 41, 43 oder 44 kann die Steuerung zu Schritt 31 zurückkehren, um die Verarbeitung zu wiederholen.
- Nachstehend wird für ein vollständiges Verständnis der vorliegenden Erfindung die Arbeitsweise des Systems unter Bezug auf die Figuren 3 und 6 ausführlicher beschrieben, wobei vorausgesetzt wird, daß anfangs der Hauptprozessor #1 eine Kopie von 16 Adressenumsetzungstabellenseiten in den Pufferbereich 4-4 lädt und ein Programm ausführt, wobei das zugeordnete Verzeichnisregister 5-4 die Bitfolge "001" in seinem S-Feld und die Bitfolge "0100" in seinem RP-Feld aufweist. Anschließend versucht der untergeordnete Prozessor #2 durch Auswählen des Verzeichnisregisters 5-2 einen gemeinsamen Zugriff auf diesen Pufferbereich, und nach diesem Modus für einen gemeinsamen Zugriff versucht der Prozessor #2 unter Verwendung des Verzeichnisregisters 5-6 einen exlusiven Zugriff auf diesen Pufferbereich.
- Wenn der Hauptprozessor #1 anfangs einen Tabellenladebefehl (nicht gemeinsamer Zugriff) gesetzt hat, durchläuft die Steuerung die Schritte 31 und 32 und tritt in Schritt 33 ein, um das Verzeichnisregister 5-4 auf eine vorstehend unter Bezug auf Fig. 4 beschriebene Weise auszuwählen, und schreibt die Bitfolge "011" in das S-Feld des Registers 5-4 und die Bitfolge "0100" in das RP-Feld des Registers, wie in Teil (a) von Fig. 6 dargestellt ist. Die Steuerung schreitet zu Schritt 33 fort, um Daten aus den Feldern V=011, SA=0 und MP=01 des allgemeinen Registers 3-0 zu lesen, das beispielsweise durch das Befehlsregister 1 ausgewählt wird, sowie Daten im PN-Feld des Befehlsregisters 1. Nach Verlassen des Schritts 33 überspringt die Steuerung Schritt 34 und tritt in Schritt 35 ein. Weil das V-Feld und das S-Feld des Registers 5-4 übereinstimmen, schreitet die Steuerung zu Schritt 36 fort. Das RP-Feld des Registers 5-4 stimmt mit den MP- Feld-Daten überein, so daß die Steuerung zu Schritt 37 fortschreitet. Weil keine PN-Feld-Daten vorhanden sind, ist die Antwort bei Schritt 37 negativ, und die Steuerung schreitet zu Schritt 39 fort, um den Übersetzungspuffer 4 Adressendaten zuzuführen, so daß der Speicherbereich 4-4 adressiert und eine Kopie von 16 Umsetzungstabellenseiten vom Hauptspeicher 8 unter der Steuerung durch die Tabellenzugriffsteuerung 6 auf eine vorstehend unter Bezug auf Fig. 5 beschriebene Weise in den adressierten Speicherbereich geladen wird. Unter Verwendung der im übersetzungspuffer 4 gespeicherten Adressenumsetzungsdaten kann der Hauptprozessor #1 ein Programm ausführen.
- Wenn der untergeordnete Prozessor #2 anschließend einen Tabellenladebefehl (gemeinsamer Zugriff) ausgibt, schreitet die Steuerung über die Schritte 31 und 32 zu Schritt 33 fort, wo das Verzeichnisregister 5-2 ausgewählt und die Bitfolge "0010" in das S-Feld des Registers 5-2 und die Bitfolge "0010" in das RP-Feld des Registers 5-2 geschrieben werden, wie in Teil (b) von Fig. 6 dargestellt. Die Steuerung schreitet zu Schritt 33 fort um V=011, SA=1 und MP=01 aus dem Register 3-2 auszulesen, das beispielsweise durch das Befehlsregister 1 ausgewählt wird, sowie PN=10 aus dem Befehlsregister auszulesen. Die Steuerung untersucht den Inhalt des SA-Feldes des Registers 3-2 (Schritt 34) und stellt fest, daß der untergeordnete Prozessor #2 einen gemeinsamen Zugriff auf eine durch Voll identifizierte Quelle versucht. Die Steuerung schreitet nun zu Schritt 40 fort, um die S- Felder aller Verzeichnisregister 5 zu durchsuchen, und stellt fest, daß die Verzeichnisregister 5-2 und 5-4 ih ihren S-Feldern den gleichen Inhalt aufweisen, und schreitet zu Schritt 41 fort, um ihre RP-Felder mit den Daten PN=10 zu prüfen, so daß das Verzeichnisregister 5-2 im Abtastprozeß übrigbleibt, und die Steuerung setzt bei Schritt 42 das Bit "1" in der Bitposition #5 des Verzeichnisregisters 5-2 zurück und schreitet zu Schritt 43 fort. Die Steuerung erfaßt erneut die Register 5-2 und 5-4 als Register mit den gleichen S-Feld-Daten und schreitet zu Schritt 43 fort, um ihre RP-Felder mit MP=01 zu prüfen, so daß das Register 5-4 im Abtastprozeß übrigbleibt. Die Steuerung schreitet zu Schritt 45 fort, um ein Bit "1" in die Position #5 des Verzeichnisregisters 5-4 zu schreiben (Teil(c) von Fig. 6). Dadurch erhalten die Prozessoren #1 und #2 die Erlaubnis für einen gemeinsamen Zugriff auf eine durch die Identifizierung "001" für einen seumentierten virtuellen Bereich identifizierte Quelle, und die Inhalte der Verzeichnisregister 5-2 und 5-4 erscheinen wie in Teil (d) von Fig. 6 dargestellt, wenn beide Prozessoren Programme ausführen.
- Am Ende des Modus für einen gemeinsamen Zugriff gibt der untergeordnete Prozessor #2 einen Tabellenladebefehl für einen exklusiven Zugriff an das Befehlsregister 1 aus, um ein Programm in einem Modus für einen exklusiven Zugriff auszuführen, indem Voll, SA=0 und MP=01 in das allgemeine Register 3-1 geladen werden. Die Steuerung durchläuft die Schritte 31 bis 33, um Daten aus dem Register 3-1 auszulesen, und wählt beispielsweise das Verzeichnisregister 5-6 aus, und schreibt S=011 und RP=0010 in das ausgewählte Verzeichnisregister 5-6, wie in Teil (e) von Fig. 6 dargestellt. Bei Schritt 34 ist die Entscheidung negativ, so daß die Steuerung zu Schritt 35 fortschreitet. Unter Verwendung der Daten V=011, PN=10 und MP=01 durchsucht die Steuerung alle Verzeichnisregister, so daß die Register 5-4 und 5-6 als Register mit dem gleichen S-Feld erfaßt werden, woraufhin die Steuerung zu Schritt 36 fortschreitet, um ihr RP Feld mit MP=01 zu prüfen. Weil das Register 5-4 ein Bit "1" in Position #4 (in der dem Hauptprozessor zugewiesenen Position) aufweist, wird eine Übereinstimmung festgestellt, woraufhin die Steuerung zu Schritt 37 fortschreitet. Diesmal wird festgestellt, daß das Register 5-4 ein Bit "1" in Position #4 aufweist. Daher schreitet die Steuerung zu Schritt 38 fort, um das Bit "1" in der Position #5 zurückzusetzen, die dem anfordernden Prozessor #2 zugewiesen ist (vergl. Teil (f) von Fig. 6). Daraufhin wird Schritt 39 ausgeführt, um dem Puffer 4 Adressendaten zuzuführen, so daß die Tabellenzugriffsteuerung 6 eine Kopie von 16 Tabellenseiten in den Pufferbereich 4-4 laden kann (Teil (g) von Fig. 6). Der Status der Register 5-4 und 5-6 zeigt an, daß den Prozessoren #1 und #2 individuell Zugriff auf die durch die Identifizierung "011" für einen segmentierten virtuellen Bereich identifizierte Quelle gewährt wird.
- Weil für das erfindungsgemäße Mehrprozessorsystem nur ein übersetzungspuffer erforderlich ist, können die Hardware- oder Gerätekosten minimal gehalten werden. Außerdem sind die Verzeichnisregister 5 so strukturiert, daß die Identifizierungen von Prozessoren, die eine gemeinsame Quelle nutzen, in der Form eines Bits "1" in einer dem Prozessor zugeordneten Position des Verzeichnisregisters gespeichert sind, das dem Pufferbereich zugeordnet ist, in dem eine Kopie von Tabellenseiten geladen ist. Durch diese Struktur wird der Prozessor-Organisationsaufwand wesentlich reduziert, der ansonsten erforderlich wäre, wenn Adressenumsetzungstabellen geladen werden. Dadurch kann durch die Prozessoren ein einzelner Übersetzungspuffer effizient gemeinsam genutzt werden.
Claims (4)
1. Mehrprozessorsystem mit mehreren Prozessoren (10-13),
von denen einer ein Hauptprozessor ist, und einem mit
den mehreren Prozessoren verbundenen Hauptspeicher (8),
wobei der Hauptspeicher (8) mehrere seitenbezogen
formatierte Adressenumsetzungstabellen aufweist, durch die
eine Beziehung zwischen einer logischen Adresse und
einer physikalischen Adresse beschrieben wird, mit:
einer Einrichtung (1, 2, 3-0 bis 3-7, 9, 15) zum
Empfangen eines Befehls von einem anfordernden
Prozessor, wobei der Befehl eine Identifizierung (VSID) für
einen segmentierten virtuellen Bereich und eine
Identifizierung für einen gemeinsamen Zugriff oder eine
Identifizierung für einen nicht gemeinsamen Zugriff
aufweist;
einem in mehrere Pufferbereiche (4-0 bis 4-7)
aufgeteilten übersetzungspuffer (4);
mehreren den Pufferbereichen (4-0 bis 4-7)
zugeordneten Registern (5-0 bis 5-7), wobei jedes der
Register (5-0 bis 5-7) ein erstes Feld (5) und ein zweites
Feld (RP) aufweist, wobei das zweite Feld (RP) den
mehreren Prozessoren (10-13) zugeordnete Bitpositionen
aufweist;
einer Einrichtung (7), die auf den durch die
Empfangseinrichtung (1, 2, 3-0 bis 3-7, 9, 15) empfangenen
Befehl anspricht, der eine Identifizierung für einen
nicht gemeinsamen Zugriff aufweist, um eines der
Register (5-0 bis 5-7) auszuwählen, wobei die Bitpositionen
des zweiten Feldes (RP) des ausgewählten Registers alle
unbesetzt sind, die Identifizierung (VSID) für einen
segmentierten virtuellen Bereich in das erste Feld (5)
des ausgewählten Registers zu schreiben und ein Bit in
einer Bitposition des ausgewählten Registers zu setzen,
die dem anfordernden Prozessor zugewiesen ist, die
Register (5-0 bis 5-7) zu durchsuchen und ein Register zu
erfassen, das die Identifizierung (VSID) für einen
segmentierten virtuellen Bereich und ein erstes und ein
zweites Bit in Positionen aufweist, die dem Haupt- bzw.
den anfordernden Prozessoren zugewiesen sind, und das
zweite Bit zurückzusetzen, und auf den durch die
Empfangseinrichtung empfangenen Befehl anspricht, der eine
Identifizierung für einen gemeinsamen Zugriff aufweist,
um die Register (5-0 bis 5-7) zu durchsuchen, um ein
erstes Register zu erfassen, das die Identifizierung
(VSID) für einen segmentierten virtuellen Bereich und
ein Bit in einer dem Hauptprozessor zugewiesenen
Position aufweist, ein Bit in einer dem anfordernden
Prozessor zugewiesenen Position des ersten Registers zu
setzen und ein zweites Register, das die
Identifizierung (VSID) für einen segmentierten virtuellen Bereich
und ein Bit in einer dem anfordernden Prozessor
zugewiesenen Position aufweist zu erfassen und das Bit des
zweiten Registers zurückzusetzen; und
einer auf die Identifizierung für einen nicht
gemeinsamen Zugriff ansprechenden
Tabellenzugriffsteuerungseinrichtung (6) zum Laden einer Kopie der
seitenbezogen formatierten Adressenumsetzungstabellen vom
Hauptspeicher (8) in einen Pufferbereich, der dem
Register entspricht) das die Identifizierung (VSID) für
einen segmentierten virtuellen Bereich und ein einzelnes
Bit in seinem zweiten Feld aufweist, wobei das einzelne
Bit in einer dem anfordernden Prozessor zugewiesenen
Position gesetzt ist.
2. Mehrprozessorsystem nach Anspruch 1, ferner mit einer
Speicherzugriffsteuerungseinrichtung (14) zum Zugreifen
auf den Hauptspeicher (8) gemäß einer physikalischen
Adresse, die in einem Pufferbereich angeordnet ist, der
einem Register zugeordnet ist, das die Identifizierung
(VSID) für einen segmentierten virtuellen Bereich und
ein Bit in einer dem anfordernden Prozessor
zugewiesenen Position aufweist.
3. Verfahren zum Betreiben eines Mehrprozessorsystems mit
mehreren Prozessoren (10-13), von denen einer ein
Hauptprozessor ist, einem mit den mehreren Prozessoren
(10-13) verbundenen Hauptspeicher (8), wobei der
Hauptspeicher (8) mehrere seitenbezogen formatierte
Adressenumsetzungstabellen aufweist, die jeweils eine
Beziehung zwischen einer logischen Adresse und einer
physikalischen Adresse beschreiben, einem einzelnen
Übersetzungspuffer (4), der in mehrere Pufferbereiche (4-0 bis
4-7) aufgeteilt ist, mehreren den Pufferbereichen (4-0
bis 4-7) zugeordneten Registern (5-0 bis 5-7), wobei
jedes der Register (5-0 bis 5-7) ein erstes Feld (5)
und ein zweites Feld (RP) aufweist, wobei das zweite
Feld (RP) den mehreren Prozessoren (10-13) zugeordnete
Bitpositionen aufweist, mit den Schritten:
a) Empfangen eines Befehls von einem anfordernden
Prozessor, wobei der Befehl eine Identifizierung (VSID)
für einen segmentierten virtuellen Bereich und eine
Identifizierung für einen gemeinsamen Zugriff oder eine
Identifizierung für einen nicht gemeinsamen Zugriff
aufweist;
b) wenn der Befehl eine Identifizierung für einen
nicht gemeinsamen Zugriff aufweist:
(1) Auswählen eines Registers, dessen
Bitpositionen des zweiten Feldes (RP) alle unbesetzt sind, und
Schreiben der Identifizierung (VSID) für einen
segmentierten virtuellen Bereich in das erste Feld (5) des
ausgewählten Registers und eines Bits in eine der
unbesetzten
Bitpositionen, die dem anfordernden Prozessor
zugewiesen ist;
(2) Laden einer Kopie der seitenbezogen
formatierten Umsetzungstabellen vom Hauptspeicher in einen
Pufferbereich, der einem Register entspricht, der die
Identifizierung (VSID) für einen seumentierten
virtuellen Bereich und ein einzelnes Bit in seinem zweiten
Feld aufweist, wobei das einzelne Bit in einer dem
anfordernden Prozessor zugewiesenen Position gesetzt ist;
und
(3) Erfassen eines Registers, das die
Identifizierung (VSID) für einen segmentierten virtuellen Bereich
und ein erstes und ein zweites Bit in dem
Hauptprozessor bzw. dem anfordernden Prozessor zugewiesenen
Positionen aufweist, und Zurücksetzen des zweiten Bits;
c) wenn der Befehl eine Identifizierung für einen
gemeinsamen Zugriff aufweist:
Erfassen eines ersten und eines zweiten Registers,
wobei das erste Register die Identifizierung (VSID) für
einen segmentierten virtuellen Bereich und ein Bit in
einer dem Hauptprozessor zugewiesenen Position aufweist
und das zweite Register die Identifizierung (VSID) für
einen segmentierten virtuellen Bereich und ein Bit in
einer dem anfordernden Prozessor zugewiesenen Position
aufweist;
Setzen eines Bits in einer dem anfordernden
Prozessor zugewiesenen Position des ersten Registers und
Zurücksetzen des Bits des zweiten Registers.
4. Verfahren nach Anspruch 3, ferner mit dem Schritt:
d) Zugreifen auf den Hauptspeicher (8) gemäß einer
physikalischen Adresse, die in einem Pufferbereich
enthalten ist, der einen Register zugeordnet ist, das die
Identifizierung (VSID) für einen segmentierten
virtuellen
Bereich und ein Bit in einer dem anfordernden
Prozessor zugewiesenen Position aufweist.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1032294A JPH087719B2 (ja) | 1989-02-10 | 1989-02-10 | 情報処理システム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE69031841D1 DE69031841D1 (de) | 1998-02-05 |
| DE69031841T2 true DE69031841T2 (de) | 1998-04-30 |
Family
ID=12354937
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE1990631841 Expired - Fee Related DE69031841T2 (de) | 1989-02-10 | 1990-02-09 | Mehrfachverarbeitungsanordnung mit einem einzigen Adressenübersetzungspufferspeicher mit vermindertem Prozessorzusatzaufwand und Verfahren zum Betrieb einer solchen Anordnung |
Country Status (4)
| Country | Link |
|---|---|
| EP (1) | EP0382237B1 (de) |
| JP (1) | JPH087719B2 (de) |
| CA (1) | CA2009717C (de) |
| DE (1) | DE69031841T2 (de) |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6205531B1 (en) * | 1998-07-02 | 2001-03-20 | Silicon Graphics Incorporated | Method and apparatus for virtual address translation |
| US6742104B2 (en) | 2000-08-21 | 2004-05-25 | Texas Instruments Incorporated | Master/slave processing system with shared translation lookaside buffer |
| EP1262875A1 (de) * | 2001-05-28 | 2002-12-04 | Texas Instruments Incorporated | Master-Slave-Prozessorsystem mit gemeinsamem Adressenübersetzungspufferspeicher |
| US6742103B2 (en) | 2000-08-21 | 2004-05-25 | Texas Instruments Incorporated | Processing system with shared translation lookaside buffer |
| ATE545909T1 (de) | 2001-05-28 | 2012-03-15 | Texas Instruments Inc | Multiprozessorsystem mit gemeinsamem adressenübersetzungspufferspeicher |
| GB2422926B (en) * | 2005-02-04 | 2008-10-01 | Advanced Risc Mach Ltd | Data processing apparatus and method for controlling access to memory |
| US9824015B2 (en) * | 2015-05-29 | 2017-11-21 | Qualcomm Incorporated | Providing memory management unit (MMU) partitioned translation caches, and related apparatuses, methods, and computer-readable media |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4376297A (en) * | 1978-04-10 | 1983-03-08 | Signetics Corporation | Virtual memory addressing device |
| US4481573A (en) * | 1980-11-17 | 1984-11-06 | Hitachi, Ltd. | Shared virtual address translation unit for a multiprocessor system |
| EP0282213A3 (de) * | 1987-03-09 | 1991-04-24 | AT&T Corp. | Speicherverwaltungseinheit mit simultanem Kontext |
-
1989
- 1989-02-10 JP JP1032294A patent/JPH087719B2/ja not_active Expired - Lifetime
-
1990
- 1990-02-09 EP EP19900102572 patent/EP0382237B1/de not_active Expired - Lifetime
- 1990-02-09 DE DE1990631841 patent/DE69031841T2/de not_active Expired - Fee Related
- 1990-02-09 CA CA 2009717 patent/CA2009717C/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| CA2009717C (en) | 1994-05-10 |
| CA2009717A1 (en) | 1990-08-10 |
| EP0382237A2 (de) | 1990-08-16 |
| EP0382237A3 (de) | 1992-01-29 |
| JPH087719B2 (ja) | 1996-01-29 |
| JPH02211560A (ja) | 1990-08-22 |
| EP0382237B1 (de) | 1997-12-29 |
| DE69031841D1 (de) | 1998-02-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE3687724T2 (de) | Digitalprozessorsteuerung. | |
| DE69031967T2 (de) | Informationsverarbeitungsanordnung | |
| DE3785897T2 (de) | Steuervorrichtung zum vorabruf von befehlen. | |
| DE69322064T2 (de) | Verfahren und System zur Zuteilung mehrerer Befehle in einem superskalaren Prozessorsystem in einem einzigen Zyklus | |
| DE3805107A1 (de) | Verfahren und vorrichtung zur steuerung virtueller adressraeume eines virtuellen speichers | |
| DE69031231T2 (de) | Synchronisierung und Verarbeitung von Speicherzugriffsoperationen | |
| DE69127101T2 (de) | System für verteilte mehrfachrechnerkommunikation | |
| DE2807476C2 (de) | Speichereinrichtung mit mehreren virtuellen Adreßräumen | |
| DE69819686T2 (de) | Objekt und verfahren zum bereitstellen eines effizienten mehrbenutzerzugriff auf verteilten betriebssystemkernkode durch instanzierung | |
| DE69620807T2 (de) | Datenverarbeitungsvorrichtung zum Vorziehen einer Datenstruktur aus dem Hauptspeicher oder seinem Cachespeicher | |
| DE69029995T2 (de) | Multiprozessor mit relativ atomaren Befehlen | |
| DE2841041A1 (de) | Datenverarbeitungsanlage mit mindestens zwei mit einem schnellen arbeitsspeicher ausgeruesteten prozessoren | |
| DE2226382A1 (de) | Datenverarbeitungsanlage | |
| DE2459006A1 (de) | Verfahren und einrichtung zur entwicklung absoluter adressen bei segmentadressierung | |
| DE4225228A1 (de) | Vorabrufpuffer und einen derartigen vorabrufpuffer verwendendes informationsverarbeitungssystem | |
| DE69114321T2 (de) | Zum Durchführen der Unterbrechungsverschachtelungsfunktion geeignetes Unterbrechungssteuerungsgerät. | |
| DE2718551C3 (de) | Adressenumsetzer | |
| DE1801620A1 (de) | Verfahren und Anordnung zur Adressierung eines Speichers in einer Datenverarbeitungsanlage | |
| DE3825028A1 (de) | Verfahren und vorrichtung zur ungueltigkeitsoperation bei adressumsetzpuffern in computersystemen | |
| DE3518818C2 (de) | ||
| DE3851241T2 (de) | Speicheranordnung. | |
| DE3750045T2 (de) | Unterbrechungssteuerungsvorrichtung für eine virtuelle Maschine mit einer Vielzahl von Verarbeitungseinheiten. | |
| DE69227740T2 (de) | Verarbeitungsanordnung zur dynamischen Adressübersetzung in einem Datenverarbeitungssystem | |
| DE3932695A1 (de) | Datenverarbeitungssystem vom mehrfach virtuellen adressraum-typ | |
| DE69029176T2 (de) | Steuerungsanordnung und Verfahren zum Zugriff auf einen virtuellen Speicheradressraum |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8364 | No opposition during term of opposition | ||
| 8339 | Ceased/non-payment of the annual fee |