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 Anordnung

Info

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
Application number
DE1990631841
Other languages
English (en)
Other versions
DE69031841D1 (de
Inventor
Gizo Kadaira
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Nippon Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp, Nippon Electric Co Ltd filed Critical NEC Corp
Application granted granted Critical
Publication of DE69031841D1 publication Critical patent/DE69031841D1/de
Publication of DE69031841T2 publication Critical patent/DE69031841T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1036Address 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.
  • Kurzbeschreibung der Zeichnungen
  • 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.
  • Ausführliche Beschreibung
  • 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.
DE1990631841 1989-02-10 1990-02-09 Mehrfachverarbeitungsanordnung mit einem einzigen Adressenübersetzungspufferspeicher mit vermindertem Prozessorzusatzaufwand und Verfahren zum Betrieb einer solchen Anordnung Expired - Fee Related DE69031841T2 (de)

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)

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

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

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