DE69029815T2 - Zentralisierte referenz- und änderungstabelle für eine virtuelle speicheranordnung - Google Patents

Zentralisierte referenz- und änderungstabelle für eine virtuelle speicheranordnung

Info

Publication number
DE69029815T2
DE69029815T2 DE69029815T DE69029815T DE69029815T2 DE 69029815 T2 DE69029815 T2 DE 69029815T2 DE 69029815 T DE69029815 T DE 69029815T DE 69029815 T DE69029815 T DE 69029815T DE 69029815 T2 DE69029815 T2 DE 69029815T2
Authority
DE
Germany
Prior art keywords
memory
data
change table
access
data processing
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 - Lifetime
Application number
DE69029815T
Other languages
English (en)
Other versions
DE69029815D1 (de
Inventor
Kin Ling North Andover Ma 01845 Cheung
Robert P. Marlborough Ma 01752 Ryan
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.)
LG Electronics Inc
Original Assignee
Wang Laboratories Inc
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 Wang Laboratories Inc filed Critical Wang Laboratories Inc
Publication of DE69029815D1 publication Critical patent/DE69029815D1/de
Application granted granted Critical
Publication of DE69029815T2 publication Critical patent/DE69029815T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/12Replacement control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Debugging And Monitoring (AREA)

Description

    GEBIET DER ERFINDUNG
  • Diese Erfindung betrifft im allgemeinen digitale Datenverarbeitungsanlagen, insbesondere eine digitale Datenverarbeitungsanlage mit einer Vielzahl Datenprozessoren, die an einen gemeinsamen Speicher angeschlossen sind, dem eine Referenzund Änderungstabelle zugeordnet ist, auf die alle Prozessoren zugreifen können.
  • HINTERGRUND DER ERFINDUNG
  • Bei einer digitalen Datenverarbeitungsanlage mit virtuellem Speicher gibt eine zentrale Verarbeitungseinheit (CPU) Adressen im virtuellen Speicher aus, die in Adressen eines realen oder physikalischen Speichers umgewandelt werden. Ein solches virtuelles Speichersystem umfaßt üblicherweise einen physikalischen Speicher, z.B. einen Direktzugriffsspeicher (RAM), bei dem die Anzahl der Speicherplätze gewöhnlich kleiner ist als die Adressenkapazität der CPU. Das virtuelle Speichersystem umfaßt auch ein Massenspeichersystem, z.B. eine Magnetplatte oder ein Magnetband mit einer Speicherkapazität, die üblicherweise die Größe des physikalischen Speichers bei weitem überschreitet, und auch eine Steuereinrichtung für den virtuellen Speicher. Die Steuereinrichtung für den virtuellen Speicher umfaßt üblicherweise eine Schaltungsanordnung zum Umwandeln einer von der CPU erzeugten virtuellen Adresse in eine Adresse des physikalischen Speichers, eine Schaltungsanordnung zum Bestimmen, ob die von der CPU adressierten Daten gegenwärtig im physikalischen Speicher stehen, und eine Schaltungsanordnung zum Zurückstellen eines CPU-zugriffs, bis die gewünschten Daten aus dem Massenspeicher wiedergewonnen und im physikalischen Speicher gespeichert werden können. Aus dem Massenspeicher wiedergewonnene und im physikalischen Speicher gespeicherte Daten können auch nachfolgend im Massenspeicher neuregistriert werden. Die zwischen dem Massenspeicher und dem physikalischen Speicher übertragenen Daten sind üblicherweise in Datenblöcke organisiert, die für eine bestimmte Datenverarbeitungsanlage ein vordefiniertes Format haben. Ein Format ist das eines Segments mit veränderlicher Datenlänge Ein anderes ist das einer Seite mit fester Datenlänge. Ein noch anderes Format ist ein hybrider Segment/Seiten-Datenblock.
  • Ein für irgendeine Datenverarbeitungsanlage mit virtuellem Speicher gewünschtes Merkmal ist die wirkungsvolle Benutzung der begrenzten und wertvollen Ressourcen des physikalischen Speichers. Insofern als ein CPU-Zugriff auf im physikalischen Speicher stehende Daten mindestens eine Größenordnung rascher stattfinden kann als ein Zugriff auf Daten, die im physikalischen Speicher nicht vorhanden sind und daher aus dem Massenspeicher wiedergewonnen werden müssen, leuchtet es ein, daß die lange Verweilzeit entsprechender Daten im physikalischen Speicher ein wichtiges Anliegen ist. Eine andere wichtige Sache ist, daß Daten, die von der CPU modifiziert werden, während sie im physikalischen Speicher resident sind, in dem Massenspeicher exakt neuregistriert werden. Es ist bekannt, daß zum Erreichen dieser wichtigen Ziele die Steuereinrichtung des virtuellen Speichers mit einer Schaltungsanordnung versehen wurde, die sowohl das Auftreten eines CPU-Zugriffs auf einen speziellen Datenblock im physikalischen Speicher und auch den Umstand zu registrieren vermag, ob die Daten durch einen Schreib-Zugriff modifiziert wurden. Eine solche Schaltungsanordnung kann als Referenz- und Änderungstabelle (RCT) bezeichnet werden und umfaßt üblicherweise einen Speicher mit einer vorbestimmten Anzahl Speicherplätze zum Registrieren des Auftretens eines CPU-Zugriffs auf einen speziellen Datenblock und des Umstandes, ob der Zugriff ein Schreib- Zugriff war.
  • Eine spezielle Schwierigkeit bei herkömmlichen RCT ist, daß sie in einem einzigen oder in einer Vielzahl logischer Elemente verwirklicht und üblicherweise im Steuersystem des virtuellen Speichers angeordnet sind. Diese zentralisierten RCT besitzen üblicherweise eine feste Speicherkapazität, die eine Speicherkapazität darstellen kann, die der maximalen virtuellen Adressenkapazität der CPU im wesentlichen gleich ist. Wenn beispielsweise die CPU 24 Adressenbit hat, können die oberen acht Bit eine spezielle Datenseite innerhalb des virtuellen Speichers definieren, die unteren 16 Bit dagegen einen Index für die Seite des virtuellen Speichers. Eine solche CPU hätte deshalb einen virtuellen Speicherplatz, der als 256 Seiten je mit 65 536 Speicherplätzen organisiert ist. Die RCT mdßte folglich z.B. 256 Speicherplätze (einen je Seite) aufweisen. Wenn jedoch in der Datenverarbeitungsanlage nur das Äquivalent von 16 physikalischen Speicherseiten installiert ist, leuchtet es ein, daß zusätzliche Systemkosten, dargestellt durch wenigstens die nicht benutzte RCT-Kapazität, unnötig eingegangen worden sind. Insofern als viele moderne CPU, die üblicherweise eine Mikroprozessoreinrichtung aufweisen, eine Adressenkapazität für den virtuellen Speicher von Hunderten Daten-Megabyte oder mehr haben, kann die erforderliche Speicherkapazität einer zugeordneten zentralisierten RCT inakzeptabel groß sein. Selbst wenn bei einer bestimmten Anlage die RCT eine feste, kleinere Speicherkapazität als die maximale Adressenkapazität für den virtuelle Speicher der CPU hat, kann es sein, daß die RCT-Kapazität noch größer als notwendig gemacht werden muß, um geplante Vergrößerungen der Systemspeicherkapazität aufnehmen zu können. Die feste Speicherkapazität einer solchen kapazitätsreduzierten RCT kann sich dann später als nachteilig erweisen, wenn die Systemspeicherkapazität über die anfänglich bemessene Kapazität hinaus vergrößert werden soll, z.B. durch den Anbau zusätzlicher Speichermodule an die Anlage. Die feste Größe der RCT legt somit eine maximale Grenze für den virtuellen und physikalischen Speicherraum der Anlage fest.
  • EP-A-O 333 215 offenbart eine Datenverarbeitungsanlage mit virtuellem Speicher gemäß dem Oberbegriff von Anspruch 1. Die Anlage enthält nur einen einzigen Datenprozessor. Es ist eine Vielzahl Speichereinheiten vorgesehen, und jede Speichereinheit umfaßt eine getrennte Referenz- und Änderungstabellen- Speichereinrichtung.
  • Eine weitere Schwierigkeit ergibt sich bei einer Mehrprozessor-Datenverarbeitungsanlage mit virtuellem Speicher, die einen gemeinsamen Speicher hat, auf den alle Prozessoren zugreifen können. Solche Anlagen stellen üblicherweise jedem Datenprozessor eine lokale Referenz- und Änderungstabelle zum Registrieren von Zugriffen auf den gemeinsamen Speicher zur Verfügung. In diesem Fall sind Kommunikation und Koordination zwischen den verschiedenen Datenprozessoren erforderlich, um die Inhalte jeder der Referenz- und Änderungstabellen hinsichtlich des Zustandes einer bestimmten Seite des gemeinsamen Speichers festzustellen.
  • Es ist daher eine Aufgabe der Erfindung, eine zentralisierte Referenz- und Änderungstabelle zu schaffen, auf die alle Datenprozessoren einer Mehrprozessor-Anlage zugreifen können und die Zugriffe und den Typ eines Zugriffs auf Einheiten eines gemeinsamen Speicherbereichs registriert.
  • Eine weitere Aufgabe der Erfindung besteht in der Schaffung einer zentralisierten Referenz- und Änderungstabelle in einer Mehrprozessor-Anlage mit virtuellem Speicher, auf die alle Datenprozessoren einer Mehrprozessor-Anlage zugreifen können.
  • KURZE DARSTELLUNG DER ERFINDUNG
  • Die vorstehend genannten Schwierigkeiten werden überwunden und die Aufgaben der Erfindung werden gelöst durch eine Datenverarbeitungsanlage mit virtuellem Speicher, welche die Merkmale von Anspruch 1 aufweist, und durch eine Referenz- und Änderungstabellen-Speichereinrichtung gemäß Anspruch 9. Die Anlage ist vom Typ mit einer Vielzahl Datenprozessoren, die über einen Systembus mit einem gemeinsamen physikalischen Speicher verbunden sind. Der physikalische Speicher ist in n vorbestimmte Gruppen adressierbarer Einheiten mit je einer Vielzahl physikalischer Speicheradressenplätze organisiert. Die Referenz- und Änderungstabellen-Speichereinrichtung umfaßt eine erste Speichermatrix zum Registrieren des Auftretens eines Zugriffs auf einen bestimmten Adressenplatz innerhalb des physikalischen Speichers durch einen der Datenprozessoren. Die Referenz- und Änderungstabellen-Speichereinrichtung umfaßt ferner eine zweite Speichermatrix zum Registrieren des Typs eines Zugriffs auf den bestimmten Adressenplatz. Zusätzlich weist die Referenz- und Änderungstabellen- Speichereinrichtung eine Schaltungsanordnung auf, die in Abhängigkeit von einem ersten Typ des Zugriffs durch einen der Datenprozessoren auf den Systembus einen Inhalt eines speziellen Speicherplatzes innerhalb der ersten und der zweiten Speichermatrix ausgibt. Weiterhin umfaßt die Referenz- und Änderungstabellen-Speichereinrichtung eine Schaltungsanordnung, die in Abhängigkeit von einem zweiten Typ des Zugriffs durch einen der Datenprozessoren einen speziellen Speicherplatz innerhalb der Speichermatrizen rücksetzt, derart, daß für die entsprechende Speichereinheit ein zugriffsloser Zustand angezeigt wird. Die Datenprozessoren verwenden bestimmte privilegierte Befehlstypen, um über den Systembus die Referenz- und Änderungstabellen-Bit zu lesen und rückzusetzen.
  • Gemäß einer derzeit bevorzugten Ausführungsform der Erfindung ist zur Verwendung in einer Mehrprozessor-Anlage mit virtuellem Speicher eine Referenz- und Änderungstabelle vorgesehen, die auf einer Speichersteuereinheit angeordnet ist. Die Referenz- und Änderungstabelle spricht auf Zugriffe auf ein Speichermodul aus einer Vielzahl Speichermodule an, die mit der Speichersteuereinheit verbunden sind, derart, daß Zustandsbit generiert und aufrechterhalten werden, welche die Referenzund Änderungsaktivität aller Seitenrahmen des Systemspeichers angeben, die für irgendeine der System-CPU erreichbar sind. Jede CPU wird über privilegierte Befehlstypen zum Testen (Lesen) und Rücksetzen (Löschen) von durch den Systembus vorgeschriebene Bit der Speicherseitenrahmen-Zustandsbit, die von der Referenz- und Änderungstabelle generiert und gespeichert werden, freigegeben. Die Referenz- und Änderungstabelle stellt somit mehreren Datenprozessoren einen zentralisierten und ohne Schwierigkeiten erreichbaren Speicher von Zustandsinformationen zur Verfügung, die sich auf Seitenrahmen eines Systemspeichers beziehen, auf den gemeinsam zugegriffen werden kann.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Diese und weitere Merkmale der Erfindung ergeben sich nachstehend aus der detaillierten Beschreibung der Erfindung im Zusammenhang mit den beigefügten Zeichnungen, in denen zeigt:
  • Fig. 1 ein Blockschaltbild einer beispielhaften Datenverarbeitungsanlage mit virtuellem Speicher, die über eine auf eine Vielzahl Speichermodule verteilte modulare Referenz- und Änderungstabelle verfügt,
  • Fig. 2a ein Blockschaltbild mit der Darstellung eines der Speichermodule gemäß Fig. 1, wobei das Speichermodul eine integrierte RCT gemäß einem Merkmal der Erfindung aufweist,
  • Fig. 2b ein Blockschaltbild mit der Darstellung eines repräsentativen Speichers 40,
  • Fig. 2c ein repräsentatives Steuerdiagramm für die Arbeitsweise von RAS* und CAS* beim Speicher 40 gemäß Fig. 2b,
  • Fig. 3 einen schematischen Schaltplan einer Ausführungsform einer Schaltungsanordnung zum Implementieren der RCT gemäß Fig. 2a,
  • Fig. 4a und 4b Steuerdiagramme zum Erläutern der Arbeitsweise der Schaltungsanordnung gemäß Fig. 3,
  • Fig. 5 ein Blockschaltbild mit der Darstellung einer Vielzahl der Speichermodule gemäß Fig. 2a, die je eine integrierte Referenz- und Änderungstabelle aufweisen, welche je auf einem gemeinsamen Speicherträgermodul angeordnet sind,
  • Fig. 6 ein Blockschaltbild eines 32-Datenbit-Speichermoduls mit der Darstellung eines Teils der mit ihm verbundenen Signalleitungen,
  • Fig. 7 eine grafische Darstellung der Zuordnung von Adressenbit für ein 32-Bit- und ein 64-Bit-Datenwort,
  • Fig. 8 ein Blockschaltbild mit der Darstellung von zwei Speichermodulen gemäß Fig. 7 zur Verwendung in einer 64-Bit-Datenverarbeitungsanlage,
  • Fig. 9 eine Ausführungsform einer Schaltungsanordnung zum Implementieren der 64-Bit-Anlage gemäß Fig. 8, und
  • Fig. 10 ein Blockschaltbild einer beispielhaften Mehrprozessor-Datenverarbeitungsanlage mit virtuellem Speicher, die eine zentralisierte Referenz- und Änderungstabelle aufweist, welche für jeden der Prozessoren einfach erreichbar ist.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • In Fig. 1 ist in Form eines Blockschaltbildes eine Datenverarbeitungsanlage 10 mit virtuellem Speicher dargestellt, die eine Zentraleinheit (CPU) 12 mit einer Steuerung (VMC) 14 für den virtuellen Speicher aufweist. Die CPU 12 ist an einen Systembus 16 angeschlossen, der eine Vielzahl Signalleitungsgruppen umfaßt, z.B. eine bidirektionale Datenbus-Signalleitungsgruppe 18, eine Adressenbus-Signalleitungsgruppe 20 und eine Steuer-Signalleitungsgruppe 22. Die Datenbus-Signalleitungsgruppe 18 ist byte-organisiert und kann z.B. 32 oder 64 bidirektionale Signalleitungen zum Datenkoppeln zwischen der CPU 12 und einer ersten Speichereinheit oder Speichermodul 24, einem zweiten Speichermodul 26 und einer E/A-Steuerung 28 umfassen. Die Datenbus-Signalleitungsgruppe 18 kann auch zusätzliche Bit aufweisen, die sich auf die Arbeitsweise einer nicht dargestellten Fehler-Feststell- und -Korrigierschaltung (EDAC) beziehen. Die EDAC ist üblicherweise in der CPU 12 oder der VMC 14 angeordnet. Mit den Modulen 24, 26 und 28 sind ferner der Adressenbus 20 und der Steuerbus 22 verbunden. Selbstverständlich kann die Anlage 10 weniger oder mehr als die beiden Speichermodule 24 und 26 umfassen.
  • Bei einer bevorzugten Ausführungsform der Erfindung sind die Speichermodule 24 und 26 mit der CPU 12 durch eine Speichersteuereinheit (MCU) 25 über einen Speicherbus 27 verbunden. Bei der bevorzugten Ausführungsform führt die MCU 25 die zeitliche Steuer-, die Auswahl- und die Wiederauffrischungsfunktionen aus, z.B. die mehrfache Nutzung des Adressenbus 20 für Speicherzeilen- und -spaltenadressen und das Aktivieren von Zeilen- und Spaltenadressen-Strobesignalen.
  • Der Adressenbus 20 ist an den Ausgang der VMC 14 angeschlossen, wobei der logische Zustand des Adressenbusses 20 eine reale Adresse z.B. in einem der Speichermodule 24 oder 26 ausdrückt. Die VMC 14 vermag eine von der CPU 12 erzeugte virtuelle Speicheradresse in eine physikalische Speicheradresse umzuwandeln. Der Steuerbus 22 umfaßt üblicherweise Speicher- und E/A-Lese- und -Schreibsignalleitungen sowie weitere Signalleitungen wie z.B. Leitungen für Busfehlerbedingungen, Bus zuweisungszustände und Bus-Zeitsteuerung und Bus-Synchronisierung.
  • Die E/A-Steuerung 28 kann über einen Bus 30 an ein E/A-Gerät, z.B. einen Datenübertragungsanschluß oder, wie dargestellt, an eine Massenspeichereinheit 32 angeschlossen sein, die eine drehbare Magnetplatte, ein Magnetband oder eine beliebige andere Speichereinrichtung zum Speichern von Daten und Rechnerprogrammbefehlen umfassen kann. Die E/A-Steuerung 28 kann auch eine Schaltung 34 für direkten Speicherzugriff(DMA) aufweisen, die Daten zur und von der Massenspeichereinheit 32 und zu und von Speicherplätzen entweder im Speichermodul 24 oder 26 direkt zu übertragen vermag. Die Datenbewegung zwischen der Massenspeichereinheit 32 und dem Speicher ist üblicherweise als E/A-Speicherzugriff im Gegensatz zu einem Speicherzugriff der CPU 12 gekennzeichnet. In diesem Fall umfaßt der Steuerbus 22 eine E/A-Signalleitung, die anzeigt, ob ein gegebener Speicherzugriff ein E/A-Zugriff ist. Selbstverständlich kann die DMA 34 bei einigen Anlagen physisch in der CPU 12 angeordnet sein.
  • Jedes der Speichermodule 24 und 26 kann ein Speicher-Referenz- und -Änderungstabellen-Modul (RCTM) 36 bzw. 38 aufweisen, wie in der am 18. März 1988 von Robert Ryan et al. eingereichten US-Patentanmeldung Serial No. 07/170,483 mit dem Titel "Distributed Reference and Change Table for a Virtual Memory System" (Verteilte Referenz- und Änderungstabelle für ein Virtuelles Speichersystem) offenbart ist.
  • In Fig. 10 ist eine weitere Ausführungsform der Anlage 10 dargestellt, die entsprechend einer derzeit bevorzugten Ausführungsform der Erfindung ausgelegt ist und betrieben wird. Bauteile, die in Fig. 10 mit Fig. 1 gemeinsame Bezugszeichen haben, arbeiten wie vorstehend in der im Zusammenhang mit der Beschreibung der Anlage 10 gemäß Fig. 1 dargelegten Weise.
  • Einige ausgeprägte Unterschiede zwischen den Anlagen gemäß Fig. 1 und 10 sind, daß die Anlage gemäß Fig. 10 eine Vielzahl (n) im wesentlichen gleich aufgebauter CPU aufweist, die mit CPU0 12A bis CPUn 12n bezeichnet sind. Bei der derzeit bevorzugten Ausführungsform der Erfindung kann die Anlage 10 bis zu vier CPU 12 (CPU0 bis CPU3) aufweisen. Jede der CPU 12A bis 12n führt ein zugeordnetes Betriebssystem(OS)-Programm aus, das bei der derzeit bevorzugten Ausführungsform der Erfindung als das von Wang Laboratories, Lowell, Massachusetts erhältliche VS-Betriebssystem bekannt ist. Jede der CPU 12A bis 12n kann mit der CPU gemäß Fig. 1 im wesentlichen gleich sein. In diesem Falle umfaßt jede der CPU eine zugeordnete VMC 14A bis 14n. Der Adressenbus 20 umfaßt 28 Adressenleitungen und ist an jede VMC 14 angeschlossen, wobei der Zustand des Adressenbusses 20 eine physikalische Adresse in z.B. einem der Speichermodule 24 oder 26 ausdrückt. Jede VMC 14A bis 14n wandelt eine von der zugeordneten CPU 12A bis 12n generierte virtuelle Speicheradresse in eine physikalische Speicheradresse um. Der Steuerbus 22 umfaßt Speicher- und E/A-Lese- und -Schreib-Signalleitungen sowie weitere Signalleitungen, z.B. solche, die Busfehlerbedingungen, Buszuweisungszustände, Buszugriffstypen und Bus-Zeitsteuerung und Bus-Synchronisation ausdrücken. Der Datenbus 18 umfaßt bei dieser Ausführungsform 64 Datenleitungen.
  • Die Speichermodule 24 und 26 sind je mit den CPU 12A bis 12n durch die MCU 25 über den Speicherbus 27 verbunden. Die MCU 25 führt die Speicher-Zeitsteuerungs-, -Auswahl-, -Steuerungs- und -Wiederauffrischungs-Funktion aus, z.B. das Nutzen im Multiplexbetrieb des Adressenbusses 20 für Speicherzeilen- und -spaltenadressen und das Aktivieren von Zeilenund Spaltenadressen-Strobesignalen. Die MCU 25 nimmt auch Zuweisungen vor, um konkurrierende Anforderungen auf Zugang zu den Speichermodulen 24 und 26 zu verwalten. Die Speicherzuweisung wird nach einer priorisierten zyklischen Zuordnungstechnik ausgeführt.
  • Bei dieser derzeit bevorzugten Ausführungsform der Erfindung umfaßt die MCU 25 ferner das RCTM 36. Das RCTM 36 ist an bestimmte Signalleitungen des Systembusses 16 in einer weiter unten beschriebenen Weise angeschlossen. Weil das RCTM 36 auf der MCU 25 angeordnet ist und auf Zugriffe auf ein beliebiges der MM 24 und 26 anspricht, enthält das RCTM Zustandsbit, welche die Referenz- und Änderungsaktivität aller Seitenrahmen des Systemspeichers angeben, der für eine beliebige der CPU 12A bis 12n erreichbar ist. Weil jede der CPU 12A bis 12n Zugriff auf die Seitenrahmen des Systemspeichers hat, ist es ferner jeder der CPU 12A bis 12n über VS-privilegierte Befehle ermöglicht, durch den Systembus 16 die Zustandsbit der Speicherseitenrahmen zu testen (lesen) und rückzusetzen (löschen), die vom RCTM 36 generiert und gespeichert werden. In diesem Falle stellt das RCTM 36 der Vielzahl Datenprozessoren an einem zentralen und ohne weiteres zugänglichen Platz Zustandsinformationen bereit, die sich auf im Systemspeicher gespeicherte Speicherseitenrahmen beziehen.
  • In Fig. 2a ist in Form eines Blockschaltbildes eines der Speichermodule gemäß Fig. 1, speziell das Speichermodul 24 dargestellt. Wie ersichtlich, umfaßt das Speichermodul 24 eine Vielzahl Speichereinrichtungen 40, die bei einem Ausführungsbeispiel der Erfindung je dynamische Direktzugriffsspeicher (DRAM) sind. Bei der in Fig. 2a dargestellten Ausführungsform umfaßt das Speichermodul 24 39 DRAM-Einrichtungen, je zum Speichern von ungefähr einer Million Informationsbit. Es sind 39 DRAM-Einrichtungen 40 dargestellt, von denen 32 Programmbefehle oder -daten, d.h. vier 8-Bit-Byte-Programmbefehle oder -daten speichern. Die übrigen sieben DRAM-Einrichtungen speichern Fehler-Feststell- und -Korrigierbit, die zum Erfassen von Doppel-Bit- und Korrigieren von Ein-Bit-Datenfehlern benutzt werden, die in den DRAM-Einrichtungen 40 auftreten können. Diese sieben Fehler-Feststell- und -Korrigierbit sind wahlfrei und können in einigen Anlagen nicht benutzt werden. Das Speichermodul 24 kann auch einen Verbinder 42 aufweisen, der eine Vielzahl digitaler Signale von z.B. dem Bus 27 mit dem Speichermodul 24 koppelt. Zu diesen Signalen gehören die Versorgungsspannung (+5 V und 0 V), eine Vielzahl multiplex genutzter Adressenleitungen (A0 bis A9), eine Vielzahl Datenleitungen (D0 bis D31 oder D0 bis D63), die Fehler- Feststell- und -Korrigierbit (CB0 bis CB6) und eine Vielzahl Speichersteuersignalleitungen (RAS*, CAS*, W*). Das Speichermodul 24 umfaßt auch das vorstehend genannte RCTM 36, das auch an bestimmte Signalleitungen (A0 bis A9, RAS* CAS*, W*, RRCT*, TRCT*, E/A und UPPER) in einer nachstehend zu beschreibenden Weise angeschlossen ist.
  • Bei der derzeit bevorzugten Ausführungsform der Erfindung umfaßt die MCU 25 das RCTM 36, das an Adressensignalleitungen und an das Speichersteuersignal und an andere Signale (RAS*, CAS*, W*, RRCT, TRCT*, E/A und UPPER) in einer nachstehend beschriebenen Weise angeschlossen ist.
  • Das Speichermodul 24 umfaßt auch ein Substrat, das eine gedruckte Schaltungskarte bekannter Ausbildung sein kann, mit der eine Vielzahl Speichereinrichtungen durch Löten oder auf andere Weise verbunden sind, einschließlich des RCTM 36 und weiterer Bauteile, wie z.B. Stromversorgungs-Filterkondensatoren 44. In dieser Hinsicht kann das RCTM 36 von einer Vielzahl diskreter logischer Einrichtungen gebildet sein, die in noch zu beschreibender Weise miteinander verbunden sind. Vorzugsweise ist das RCTM 36 eine unitare integrierte Schaltungseinrichtung, z.B. eine Verknüpfungsgliedmatrix, die mit weniger Stromverbrauch und geringerem Flächenanspruch als eine Vielzahl Einrichtungen auskommt.
  • Es leuchtet ein, daß das erfindungsgemäße modulare RCTM nicht auf die Verwendung auf an einen Systembus angeschlossenen diskreten Speichermodulen beschränkt ist. Bei einigen Anlagen kann es beispielsweise wünschenswert sein, ein einziges Substrat vorzusehen, auf dem alle Systemkomponenten körperlich montiert sind. Bei einem solchen System wären eine oder mehrere Speichereinheiten zusammen mit einem Datenprozessor, einem Systembus, einer VMC und anderen Komponenten am Substrat angebracht. Jede Speichereinheit kann dann einem der modularen RCTM zugeordnet sein. Bei einem solchen unitären System kann es nicht notwendig sein, daß die RCTM körperlich angrenzend an die Speichereinheiten angeordnet sind, sondern sie können von ihnen körperlich weggerückt sein. Jedoch wären die RCTM an die entsprechenden Signalleitungen zum Registrieren des Referenz- und Änderungszustands einer zugeordneten Speichereinheit, z.B. einer 4-MByte-Einheit angeschlossen.
  • Das in Fig. 2a dargestellte Speichermodul vermag mehr als vier Megabyte Daten oder ein Megawort, jedes Wort mit 32 Bit Daten, zu speichern. Es leuchtet ein, daß zwei solcher Module zum Speichern von Wörtern mit 64 Bit Daten parallel betrieben werden können, daß vier Module Wrter mit 128 Bit Daten speichern können usw.
  • In Fig. 2b und 2c ist ein bekannter DRAM mit einer Dateneingangs- und Datenausgangs-Signalleitung und einer Vielzahl Adressenleitungen A0 bis A9 dargestellt. Der DRAM 40 weist auch eine Steuerleitung für RAS*-, CAS*- und R/W*-Signale auf. Um eine große Datenspeichereinrichtung mit einer kleinstmöglichen Zahl Eingangssignalstifte und folglich einer kleinen Gehäusegröße zu schaffen, nutzen solche DRAM die Adressenleitungen multiplex, derart, daß zu einem bestimmten Zeitpunkt im Betrieb der Einrichtung die Adressenleitungen als Zeilenadressenleitungen mit Steuerung durch RAS* und zu einem anderen Zeitpunkt im Zyklus als Spaltenadressenleitungen mit Steuerung durch CAS* ausgezeichnet sind. Die in Fig. 2b dargestellte Einrichtung hat zehn Adressensignalstifte und somit insgesamt 20 Adresseneingänge, woraus sich eine Einrichtung mit Speicherplätzen für insgesamt 1 048 567 Bit ergibt. Selbstverständlich können andere DRAM mehr oder weniger als zehn Adresseneingänge aufweisen, z.B. 64- und 256-KBit- Einrichtungen, und andere Einrichtungen können mehr als ein Datenbit speichern, z.B. Einrichtungen zum gleichzeitigen Speichern und Wiedergewinnen von vier Datenbit.
  • Wie in Fig. 2c dargestellt, wird bei einer herkömmlichen Adressierbetriebsart eines solchen DRAM RAS* aktiviert, damit im RAM die auf A0 bis A9 auftretenden Zeilenadressensignale zwischengespeichert werden. Nach der Aktivierung von RAS* wird der Zustand der Adressenleitungen A0 bis A9 auf die gewünschte Spaltenadresse umgeschaltet, und es wird CAS* aktiviert. Durch die Aktivierung von CAS* wird außerdem üblicherweise je nach Zustand von R/W* ein Datenbit an der angegebenen Zeilen- und Spaltenadresse in der Einrichtung entweder gespeichert oder ausgelesen.
  • Im Zusammenhang mit Fig. 4a und 4b zeigt Fig. 3 einen beispielhaften schematischen Schaltplan des RCTM 36 gemäß Fig. 2a sowie Zeitsteuerdiagramme, welche die Arbeitsweise des RCTM veranschaulichen. Das dargestellte RCTM 36 umfaßt eine erste Speichereinrichtung 46 und eine zweite Speichereinrichtung 48. Bei dieser Ausführungsform der Erfindung besitzen die Speichereinrichtungen 46 und 48 je eine Speicherkapazität von 2048 Datenbit. Die Speicherkapazität von 2048 Bit bei jeder der Speichereinrichtungen 46 und 48 entspricht 2048 Blöcken oder Seitenrahmen eines physikalischen Speichers, das sind 2048 Seitenrahmen je mit 512 32-Bit-Datenwörtern. Die Speichereinrichtung 46 ist so konfiguriert, daß ein Zugriff auf die Speichereinrichtungen 40 auf dem Speichermodul 24 durch eine CPU 12 zum Setzen eines entsprechenden Bit in den Zustand logisch Eins führt. Die Speichereinrichtung 48 ist so konfiguriert, daß ein Schreib-Zugriff auf eine Speichereinrichtung auf dem Speichermodul auch zum Setzen eines entsprechenden Bit auflogisch Eins führt. Es leuchtet somit ein, daß die Speichereinrichtung 46 das Auftreten einer Verknüpfung mit einer bestimmten Datenseite registriert, wogegen die Speichereinrichtung 48 das Auftreten einer Schreib- oder Änderungsoperation auf einer bestimmten Datenseite registriert.
  • Um diese Funktionen auszuführen, weisen die Speichereinrichtungen 46 und 48 11 Adresseneingänge (A0 bis A10) auf. A1 bis A10 sind mit dem Ausgang eines 10-Bit-Zwischenspeichers 50 gekoppelt, der den Zustand der Adressenbit von A0 bis A9 des Adressenbusses 20 zwischenspeichert. Diese Zwischenspeicherfunktion kann durch die abfallende Flanke des Speicher-Zeilenadressenstrobes (RAS*) ausgeführt werden. Die abfallende Flanke von RAS* tritt beim Übergeben der Zeilenadresse durch Strobesignal in die Speichereinrichtungen 40 gemäß Fig. 2a auf. RAS* wird an einen Takteingang des Zwischenspeichers 50 über ein NICHT UND-Glied 52 angelegt. Ein zweiter Eingang in das NICHT UND-Glied 52 ist ein normalerweise hochpegeliges Signal UPPER*, dessen Arbeitsweise nachstehend beschrieben wird. Der elfte Adresseneingang in die Speichereinrichtungen 46 und 48 wird danach nach der abfallenden Flanke von RAS* angelegt, als A9-Adressensignal, was üblicherweise während des Spaltenadressenstrobe-Teils (CAS*) vom Zugriffszyklus auf den Speicher 40 angelegt wird. Es ist somit zu erkennen, daß die an den 11 Adresseneingängen in die Speichereinrichtungen 46 und 48 erscheinende Adresse eine Seite der 2046 Seiten des auf dem Modul angeordneten physikalischen Speichers definiert, wobei die Adresseneingänge durch eine Adressendecodiereinrichtung decodiert werden, die zumindest eine Schaltungsanordnung innerhalb der Speichereinrichtungen 46 und 48 umfaßt.
  • Es sei darauf hingewiesen, daß eine derzeit bevorzugte Ausführungsform eines hier beschriebenen, in Fig. 6 dargestellten Speichermoduls 1 048 567 Datenwörter, je mit 32 Datenbit enthält, bei einer Speicherkapazität des Speichermoduls von mehr als vier Millionen Byte Daten. Bei anderen Ausführungsformen der Erfindung kann das Speichermodul mehr oder weniger als diese Anzahl Datenspeicherplätze aufweisen. In diesen anderen, nicht dargestellten Ausführungsformen werden die Speichereinrichtungen 46 und 48 entsprechend weniger oder mehr Speicherpltze aufweisen. Wenn ein Daten-Seitenrahmen anders als mit 512 Datenwörtern definiert ist, z.B. mit 256 oder 1024 Datenwörtern, kann auch die Speicherkapazität jeder der Speichereinrichtungen 46 und 48 von den hier dargestellten abweichen. Es sei ebenfalls darauf hingewiesen, daß die dargestellte, derzeit bevorzugte Ausführungsform der Erfindung einen dynamischen Direktzugriffsspeicher verwendet; solche Speicher erfordern üblicherweise die RAS*- und CAS* -Zeitsignale. Jedoch können bei anderen, nicht dargestellten Ausführungsformen der Erfindung die Speichereinrichtungen 40 statische Speichereinrichtungen sein, die RAS*- und CAS*- Zeitsignale nicht erfordern. Im allgemeinen kann auf einem Speichermodul 24 oder 26 jede Art Speichereinrichtung verwendet werden, z.B. ein Blasenspeicher.
  • Bei der Ausführungsform gemäß Fig. 10 ist das RCTM 36 zum Registrieren von Zugriffen auf eine Anzahl Speicherseitenrahmen mit ausreichend Adresseneingängen und Speicherplätzen versehen, die eine maximale Kapazität des gemeinsamen Systemspeichers ausdrücken, wie nachstehend beschrieben wird.
  • Mit einem Schreibeingang (W*) der Speichereinrichtung 46 ist ein UND-Glied 56 gekoppelt, das als Eingänge das CAS* -Speicherzeitsignal und ein Lese-Referenz- und Änderungstabellen- Signal (RRCT*) hat, deren Arbeitsweise nachstehend beschrieben wird. Bei Beendigung des CAS*-Teils des Speicherzyklus wird der logische Zustand, der am Dateneingang (DI) der Speichereinrichtung 46 ansteht, an dem Platz gespeichert, der durch den Zustand der Adressenleitung A0 bis A10 adressiert ist. Der DI-Eingang der Speichereinrichtung 46 ist mit dem Ausgang eines Flipflops (FF) 60 gekoppelt, das an seinem D- Eingang ein Lese-Referenz- und Änderungstabellen-Signal (RRCT*) und am Takteingang ein Taktsignal empfängt.
  • Während normalen Speicherzugriffen ist RRCT* eine logische Eins, die DIN normalerweise auflogisch Eins schaltet. Somit wird eine logische Eins in der Speichereinrichtung 46 an einem Platz gespeichert, der dem von der CPU 12 adressierten Seitenrahmen entspricht. Das Speichern eines solchen logischen Eins-Signals gibt einen Verweis auf einen bestimmten Seitenrahmen durch die CPU 12 an.
  • Die Speichereinrichtung 48 ist in ähnlicher Weise mit den Adressensignalen und dem Ausgang von FF 60 gekoppelt und weist ferner ein mit seinem W* gekoppeltes UND-Glied 58 auf, dessen Eingänge das Speicher-Schreib-Zeitsignal (W*) und das RRCT*-Zeitsignal sind. Der Zustand des W*-Zeitsignals gibt einen Schreibzugriff der CPU 12 auf die Speicher 40 des Speichermoduls 24 an. Die Aktivierung von W* speichert eine logische Eins in dem Speicherplatz, der durch die Adresseneingänge A0 bis A10 der Speichereinrichtung 48 adressiert ist. Dies zeigt eine Änderung am entsprechenden Seitenrahmen des physikalischen Speichers an. Während eines Lesezugriffs durch die CPU 12 ist die W*-Signalleitung nicht aktiviert. Somit wird nur das entsprechende Bit in der Speichereinrichtung 46 gesetzt. Nur während eines Schreibzugriffs der CPU 12 auf eine bestimmte Seite des physikalischen Speichers ist sowohl das Referenz- als auch das Änderungsbit in der Einrichtung 46 bzw. 48 gesetzt.
  • Die Speichereinrichtungen 46 und 48 weisen je einen Chipansteuereingang (CS*) auf, der normalerweise auf niedrigem logischen Pegel sein muß, damit Daten in der Speichereinrichtung gelesen oder geschrieben werden können. Die CS*-Signale der Speichereinrichtungen 46 und 48 sind über ein NICHT-UND- Glied 62 mit einem aktiven niedrigpegeligen Signal I/O*, das normalerweise in einem logischen Null-Zustand ist, und mit einem aktiven hochpegeligen Gruppenwahlsignal (BANK SEL) gekoppelt. Während eines Zugriffs der CPU 12 auf die Speicher 40, sind die Speichereinrichtungen 46 und 48 freigegeben für Zugriffe durch das I/O*-Signal, wenn es hochpegelig ist, oder sie sind gesperrt. Der BANK SEL-Eingang in das NICHT-UND- Glied 62 ist.hochpegelig, wenn die dem RCT 36 zugeordnete Speichergruppe aufgerufen ist. Die Kombination aus deaktiviertem oder hochpegeligem 1/0* und aktiviertem BANK SEL bringt den Ausgang des NICHT UND-Gliedes 62 auf niedrigen Pegel, wodurch beide Speichereinrichtungen 46 und 48 angesteuert werden.
  • Wie in Fig. 7 zu erkennen, hat ein lokaler 32-Bit-Adressenbus bei einer Ausführungsform mit 32-Bit-Datenbus zehn höchstwertige Bit als Gruppenwahladressen. Ein System mit einem 64- Bit-Datenbus hat neun höchstwertige Adressenbus-Bit als Gruppenwahladressen. Es leuchtet ein, daß ein 32-Datenbit-System je Wort vier Datenbyte, ein 64-Datenbit-System dagegen je Wort acht Datenbyte umfaßt. Die Bytewahl geschieht durch Decodieren entweder von zwei oder von drei niedrigstwertigen Adressenbit. Ein solches Gruppen- und Bytewahl-Decodieren wird üblicherweise von einer Adressendecodiereinrichtung innerhalb der MCU 25 ausgeführt.
  • Das I/O*-Signal ist vorgesehen, um die Operation der Speichereinrichtungen 46 und 48 während eines E/A-Zugriffs auf den Speicher 40 zu verhindern, z.B. wenn die E/A-Steuerung 28 innerhalb der Speicher 40 Daten speichert oder wiedergewinnt.
  • Es leuchtet ein, daß die in den Speichereinrichtungen 46 und 48 gespeicherten Informationen, damit sie nutzbar sind, wenigstens lesbar und möglicherweise modifizierbar durch eine Steuerung für den physikalischen Speicher sein müssen, z.B. durch eine von der CPU 12 ausgeführte Softwareroutine, die den physikalischen Speicher verwaltet. Es kann z.B. wünschenswert sein, nach einem vorbestimmten Zeitintervall die Speichereinrichtung 46 zu überprüfen, um zu bestimmen, auf welche Speicherseiten die CPU 12 zugegriffen hat und auf welche Seiten nicht zugegriffen worden ist. Wenn nach einem bestimmten Zeitintervall auf eine oder mehrere Datenseiten durch die CPU 12 nicht zugegriffen worden ist, kann der weitere Verbleib dieser Datenseiten im physikalischen Speicher unnötig sein. Es kann somit in bestimmten Situationen wünschenswert sein, eine Datenseite, auf die nicht Bezug genommen wurde, aus dem Speicher zu entfernen und an ihrer Stelle eine andere Datenseite zu speichern, z.B. eine Speicherseite, die von der CPU 12 laufend angefordert wird. Es kann auch wünschenswert sein, zu diesem Zeitpunkt zu bestimmen, ob die Datenseite durch die CPU 12 während eines Speicherschreibzyklus geändert worden ist. Wenn festgestellt wird, daß eine Datenseite, die aus dem physikalischen Speicher entfernt werden soll, geändert worden ist, kann es ferner wünschenswert sein, die genderten Daten in der Massenspeichereinrichtung 32 zu speichern. Ist die Datenseite nicht geändert worden, ist, unabhängig davon, ob auf die Seite zugegriffen worden ist oder nicht, eine Neuspeicherung der Daten gewöhnlich nicht notwendig. Das heißt, in der Seite können vorhandene Daten durch neue Daten überschrieben werden, ohne daß die gegenwärtig im Massenspeicher 32 residenten Daten zuerst gespeichert werden müssen, wobei angenommen wird, daß eine Kopie der Seite in der Massenspeichereinrichtung 32 vorhanden ist.
  • Dieses Merkmal der Erfindung ist insbesondere bei der Ausführungsform gemäß Fig. 10 vorteilhaft, bei der mehrere CPU 12 je Zugriff über den Systembus 16 auf die Informationen im RCTM 36 haben.
  • Um diese wünschenswerten Funktionen auszuführen, sind beim RCTM 36 einzelne Bit der Speichereinrichtungen 46 und 48 wahlweise in einen logischen Null-Zustand versetzbar. Dies geschieht durch Aktivieren des Rücksetz-Referenz- und Änderungstabellen-Signals (RRCT*) in Verbindung mit der gewünschten Adresse der Seite in den Speichereinrichtungen 46 und 48. Wenn, wie in Fig. 3 und 4b zu erkennen, RRCT* niedrigpegelig oder aktiviert ist, ist der Dateneingang (DIN) in jede der Speichereinrichtungen 46 und 48 über das F/F 60 in einem logischen Null-Zustand. Die Aktivierung von RRCT*, das über die UND-Glieder 56 und 58 mit den Schreibeingängen der Speichereinrichtung 46 bzw. 48 gekoppelt ist, bewirkt das Einschreiben einer logischen Null in den angesteuerten Speicherplatz. Zuerst werden die Adresseneingänge AO bis A9 wie weiter oben beschrieben erstellt, wobei die Adressenbit im Zwischenspeicher 50 durch die Aktivierung des UPPER*-Signals zwischengespeichert werden. Das Rücksetzen der Bit in den Speichereinrichtungen 46 und 48 geschieht beispielsweise, wenn ein neuer Datenblock im physikalischen Speicher gespeichert wird.
  • Um die Daten in der Referenz- und Änderungstabelle zu lesen, steht dem RCTM 36 ein Test-Referenz- und Änderungstabellen- Signal (TRCT*) zur Verfügung. Aus den Speichereinrichtungen 46 und 48 in Übereinstimmung mit Adresseneingängen A0 bis A10 ausgelesene Daten werden einem Puffer 64 zugeleitet, der als Eingänge die Signale R (Referenz) und C (Änderung) erhält, die von den Datenausgängen (DO) der Speichereinrichtung 46 bzw. 48 geliefert werden. Das TRCT*-Signal wird über ein ODER-Glied 66 an einen Ausgangsfreigabe-Eingang (OE*) des Puffers 64 angelegt und bewirkt, daß dieser die logischen Zustände von R und C einem Paar Ausgänge zuleitet, die mit dem höchstwertigen Bit (MSB) und dem zweithöchstwertigen Bit (MSB-1) des Datenbusses gekoppelt sind. Somit wird es der CPU 12 ermöglicht, den adressierten Platz in den Speichereinrichtungen 46 und 48 zu lesen, um den Referenz- und Änderungszustand der entsprechenden Seite im physikalischen Speicher zu bestimmen. Diese durch TRCT* und RRCT* definierten Zugriffe auf das RCTM 36 sind vorzugsweise keine Zugriffe des Speicher-Typs, derart, daß die Speicherung von Referenz- und Änderungsbit in den Speichereinrichtungen 46 und 48 verhindert wird. Gemäß diesem Merkmal der Erfindung werden RRCT* und TRCT* durch die Ausführung von dem Betriebssystem privilegierten Befehlen aktiviert, das sind Befehle, die nicht durch ein Benutzerprogramm ausgeführt werden können. Diese privilegierten Befehle sind insbesondere solche, die im E/A-Adressenraum operieren.
  • Auf der Grundlage der vorstehenden Beschreibung leuchtet es ein, daß die Benutzung der Erfinäung mehrere wertvolle Vorteile in einer Datenverarbeitungsanlage mit virtuellem Speicher verschafft. Entsprechend einer Ausführungsform der Erfindung ist z.B. die Referenz- und Änderungstabelle nicht zentralisiert, noch braucht sie physisch angrenzend an die CPU 12 oder die VMC 14 angeordnet sein. Statt dessen ist die RCT über den gesamten physikalischen Speicherraum der Datenverarbeitungsanlage 10 verteilt. Somit können zusätzliche Speichermodule an die Anlage angeschlossen werden, wobei jedes der Speichermodule ein internes, modulares RCTM zum Registrieren der Referenz- und Änderungsaktivität auf diesem speziellen Speichermodul aufweist. Die physikalische Speicherkapazität der Datenverarbeitungsanlage kann erweitert werden, ohne daß die Speicherkapazität einer speziellen RCTM überschritten wird. Auch wird die Datenverarbeitungsanlage 10 mit virtuellem Speicher nicht mit übermäßigen Kosten und Komplexität durch eine einzige Referenz- und Änderungstabelle belastet, die eine vorbestimmte Speicherkapazität hat, welche die Speicherkapazität des gegenwärtigen physikalischen Speichers weit übersteigt.
  • Zusammengefaßt gesagt, ist die Datenverarbeitungsanlage 10 mit virtuellem Speicher mit einer flexiblen und erweiterbaren Referenz- und Änderungstabelle versehen, die erweitert wird, wenn physikalische Speicherkapazität an die Anlage angeschlossen wird, wodurch eine Reduzierung der Systemkosten und eine einfach durchzuführende Speichererweiterung der Anlage ermöglicht werden. Eine solche ohne Schwierigkeiten auszuführende Speichererweiterung ist besonders bei den Anlagen besonders vorteilhaft, bei denen die Kapazität des physikalischen Speichers irgendwann nach der Erstinstallation der Anlage vergrößert wird. Mit anderen Worten, die Referenz- und Änderungstabelle der Anlage wird während der Installation eines oder mehrerer zusätzlicher Speichermodule automatisch erweitert.
  • Bei der derzeit bevorzugten Mehrprozessor-Ausführungsform der Erfindung ist das RCTM 36 auf der MCU 25 angeordnet. Dadurch daß das RCTM 36 auf der MCU 5 angeordnet ist und auf Zugriffe reagiert, die auf irgendeine der MM 24 und 26 ausgeführt werden, enthält das RCTM 36 Zustandsbit, welche die Referenzund Änderungsaktivität aller Seitenrahmen des Systemspeichers angeben, auf die irgendeine der CPU 12A bis 12n zugreift. Dadurch daß jede der CPU 12A bis 12n Zugriff auf die Seitenrahmen des Systemspeichers hat, wird ferner jede der CPU 12A bis 12n über die VS-privilegierten Befehle dazu freigegeben, über den Systembus 16 die Speicherseitenrahmen-Zustandsbit zu testen (lesen) und rückzustellen (löschen), die von dem RCTM 36 generiert und gespeichert werden. In diesem Falle liefert das RCTM der derzeit bevorzugten Ausführungsform der Erfindung an mehrere Datenprozessoren einen zentralisierten und einfach erreichbaren Speicher von Zustandsinformationen, die sich auf Speicherseitenrahmen beziehen, die im Systemspeicher gespeichert sind.
  • Bei einer derzeit bevorzugten Ausführungsform der Erfindung mit 28-Bit-Speicheradresse können 256 Mbyte physikalischen Speichers adressiert werden. Das RCTM 36 kann als zwei Geräte vorgesehen werden, jedes mit 128 Kbit Speicher, organisiert als zwei Speichereinrichtungen 64K x 1. In diesem Fall ist jedes RCTM 36 in der Lage, Referenz- und Änderungsbit für 128 Mbyte physikalischen Speichers, organisiert in 2kbyte-Seitenrahmen, zu speichern. Bei einer derzeit bevorzugten Ausführungsform der Erfindung ist das RCTM 36 als vier Speichereinrichtungen 64K x 1 vorgesehen, von denen zwei zum Speichern von Änderungsbit und zwei zum Speichern von Referenzbit bestimmt sind. Die MCU 25 weist Zugriffe auf das RCTM 36 durch die CPU 12A bis 12n in ähnlicher Weise zu, wie beim Verwalten von Zugriffen auf den physikalischen Speicher. Das heißt, die MCU 25 erkennt eine Anforderung auf Zugriff, entscheidet über die Anforderung unter Anwendung der priorisierten zyklischen Zuordnungstechnik, decodiert die Speicherzugriffs-Steuerleitungen 22 vom Bus 16 in den Zugriffs-Typ, aktiviert die zuständige TRCT*- oder RRCT*-Signalleitung und führt den Zugriff auf das vorgeschriebene RCTM 36 aus.
  • In Fig. 5 ist ein Speicherträgermodul (MCM) 70 dargestellt, das erfindungsgemäß ein Substrat umfaßt, z.B. eine gedruckte Schaltungskarte, bei dem auf einer Fläche 71 von ihm eine Vielzahl Speichermodule (MM) 72 bis 78 angeordnet sind. Jedes der MM 72 bis 78 kann von gleicher Ausführung wie das Speichermodul 24 gemäß Fig. 2a sein, das heißt, jedes der MM 72 bis 78 umfaßt ein zugehöriges integrales Referenz- und Änderungstabellen-Modul (RCTM) 80 bis 86. Jedes der RCTM 80 bis 86 kann von gleicher Ausführung sein wie das RCTM 36 gemäß Fig. 3. Es ist klar, daß auf dem MCM mehr oder weniger als die dargestellten vier MM vorgesehen sein können, und daß zu jedem beliebigen Zeitpunkt weniger als die maximal mögliche Anzahl installiert sein kann. Das MCM 70 kann logische Einrichtungen aufweisen, z.B. eine Speicherträgermodul-Steuerung (MCM CONTROL) 88, die als Schnittstelle mit dem Speicherbus 27 wirken kann. Im Betrieb decodiert die MCM CONTROL 88 die Adressen- und Steuerbusse, um für einen Lese- oder Schreibzugriff der CPU 12 oder der E/A-Steuerung 28 ein spezielles MM der MM 72 bis 78 anzusteuern. Die MCM CONTROL 88 kann auch die mehrfach genutzten Zeilen- und Spaltenadressen-Signale auf AO bis A9 generieren, die RAS*- und CAS*-Signale und die den RCTM 80 bis 86 zugeordneten logischen Signale, z.B. RRCT*, TRCT* und UPPER. Es leuchtet ein, daß die MCM CONTROL 88 eine bekannte Einrichtung des Typs DRAM-Steuerung und andere Schaltungen aufweisen kann, z.B. Adressendecodierer, sowie Zeilen- und Spaltenadressen-Multiplexer. Selbstverständlich können diese MCM-Steuerfunktionen auch von der MCU 25 gemäß Fig. 1 ausgeführt werden, die entweder allein oder in Verbindung mit der MCM CONTROL 88 arbeitet.
  • Um nur eine der MM 72 bis 78 zu aktivieren, kann die MCM CON- TROL 88 CAS*-Ausgänge in einer Anzahl aufweisen, die der Anzahl der installierten MM gleich ist, wobei nur einer der CAS*-Ausgänge für den Zugriff durch eine CPU 12 oder einen E/A-Zugriff aktiviert wird. In ähnlicher Weise kann die MCM CONTROL 88 eine Vielzahl RRCT*- und TRCT*-Ausgänge für das individuelle Aktivieren der RCTM 80 bis 86 aufweisen.
  • Das heißt, die MCM CONTROL 88 kann eine gemeinsame MM-Signalgruppe 90 generieren, die solche logische Signale, wie A0 bis A9, UPPER und RAS* einschließt, die jedem der MM gemeinsam zur Verfügung stehen. Die MCM CONTROL 88 kann ferner eine Vielzahl MM-spezifischer Signalgruppen 92 bis 96 generieren, die mit den zugehörigen MM 72 bis 76 gekoppelt sind. Jede spezielle Signalgruppe ist von Signalen gebildet, die nur ein angesteuertes MM aktivieren, z.B. CAS*, W*, RRCT*, I/O TRCT*.
  • Bei dem beispielhaften MCM 70 gemäß Fig. 5 kann die Gesamtspeicherkapazität des MCM 70 zwischen 4 und 16 Megabyte Daten variieren, je nach Anzahl der installierten MM. Die Gesamtspeicherkapazität des RCTM ist daher in ähnlicher Weise zwischen 2048 und 8192 2-Bit-Datenwörtern veränderlich, die der Gesamtzahl der physikalischen Seitenrahmen entsprechen, welche durch die installierte Speicherkapazität des MCM 70 dargestellt ist.
  • Bis jetzt wurde die Erfindung im allgemeinen im Zusammenhang mit einer Anlage mit 32-Bit-Datenwort beschrieben. Es ist jedoch klar, daß das erfindungsgemäße RCTM nicht auf die verwendung mit 32-Bit-Anlagen beschränkt ist. Jedes der Speichermodule 72 bis 78 kann von 16 Speichereinrichtungen und von einer entsprechenden kleineren Anzahl Fehler-Feststellund Korrigier-Speichereinrichtungen gebildet sein, die an einen 16-Bit-Datenbus angeschlossen sind. Bei einigen Anlagen kann es aber wünschenswert sein, einen erweiterten Datenweg zu verwenden, z.B. mit 64 oder 128 Bit. Eine 64-Bit-Anlage ist in Fig. 8 dargestellt. Eine Logik zum Generieren bestimmter RCTM-Eingangssignale ist schematisch in Fig. 9 dargestellt.
  • In einer solchen erweiterten Anlage kann z.B. der Datenbus Datensignalleitungen D00 bis D63 aufweisen, die mit dem MCM 70 verbunden sind. Die 32-Bit-MM 72 und 74 können dann je eine Hälfte des 64-Bit-Datenwortes speichern. Beispielsweise können die unteren 32 Bit in MM 72, die oberen 32 Bit in MM 74 gespeichert werden. In einer solchen Anlage kann die MCM CONTROL 88 zusätzliche Schaltungsanordnungen zum Gruppenwählen in einem oder beiden MM 72 und 74 umfassen, abhängig vom Typ des CPU-Zugriffs. Ein Zugriff auf ein langes Wort (64 Bit) würde zur Ansteuerung beider MM 72 und 74 führen, wogegen ein Wort-Zugriff (32 Bit) nur eines der MM 72 und 74 ansteuern würde. Die Eankwahl würde nicht nur die Speichereinrichtungen auf dem angesteuerten MM, sondern auch das zugeordnete RCTM aktivieren. Erfindungsgemäß modifiziert die Leitung mit dem decodierten höherwertigen Adressensignal den Zustand eines MM-spezifischen Signals, z.B. ENABLE* (Freigabe). Beispielsweise kann die I/O*-Signalleitung mit einem BANK SEL-Signal kombiniert werden, wie dies in Fig. 3 dargestellt ist. Somit kann das erfindungsgemäße modulare RCTM ohne weiteres in einer Vielzahl Datenverarbeitungsanlagen verschiedener Typen verwendet werden, in denen die Datenwörterbreiten und/oder -tiefen veränderlich sind.
  • Wie weiter oben angegeben, wurde hier eine derzeit bevorzugte Ausführungsform der Erfindung offenbart. Es wird erwartet, daß Fachleute Abwandlungen dieser offenbarten derzeit bevorzugten Ausführungsform in Betracht ziehen können. Wenngleich das dargestellte RCTM zwei getrennte Speichereinrichtungen 46 und 48 aufweist, liegt es gleichwohl im Rahmen der Erfindung, eine Speichereinrichtung mit einer Speicherkapazität von zwei oder mehr Bit je Adressenplatz vorzusehen. Es versteht sich also, daß die Erfindung nicht auf diese derzeit bevorzugte Ausführungsform beschränkt ist, sondern nur wie durch die beigefügten Ansprüche definiert einzuschränken ist.

Claims (9)

1 . Datenverarbeitungsanlage (10) mit virtuellem Speicher, die umfaßt:
- eine Datenverarbeitungseinrichtung, die an einen Systembus (16) angeschlossen ist und auf diesen Adressen eines reellen Speichers gibt,
- einen reellen Speicher, der in n adressierbare Einheiten (24, ..., 26) organisiert ist, von denen jede eine Vielzahl Adressenplätze des reellen Speichers umfaßt,
- eine Speichersteuereinheit (25), mit
- einer Systembusschnittstelle zum Verbinden der Speichersteuereinheit (25) mit der genannten Datenverarbeitungseinrichtung über den Systembus (16), und
- einer Speicherschnittstelle, die eine Vielzahl Speichersignalleitungen (27) zum Verbinden der Speichersteuereinheit (25) mit dem reellen Speicher aufweist, und
- einen Referenz- und Änderungstabellenspeicher (36), mit
- einer ersten Einrichtung zum Registrieren der Ausführung eines Zugriffs auf einen speziellen Adressenplatz im reellen Speicher durch die Datenverarbeitungseinrichtung,
- einer zweiten Einrichtung zum Registrieren des Typs des Zugriffs auf den speziellen Adressenplatz,
- einer dritten Einrichtung, die auf den Typ des ersten Zugriffs durch die Datenverarbeitungseinrichtung anspricht, zum Ausgeben eines Inhalts eines speziellen Platzes in der ersten und in der zweiten Registriereinrichtung, und
- einer vierten Einrichtung, die auf den Typ des zweiten Zugriffs durch die Datenverarbeitungseinrichtung anspricht, zum Rücksetzen eines festgelegten Platzes in der ersten und der zweiten Registriereinrichtung, derart, daß für die entsprechende adressierbare Einheit (24, ..., 26) ein Nichtzugriffszustand angebbar ist,
dadurch gekennzeichnet, daß
- die genannte Datenverarbeitungseinrichtung eine Vielzahl Datenprozessoren (12a, ..., 12n) aufweist,
- die Datenverarbeitungsanlage (10) mit virtuellem Speicher nur einen einzigen Referenz- und Änderungstabellenspeicher (36) aufweist,
- der einzelne Referenz- und Änderungstabellenspeicher (36)
- physisch und elektrisch mit der Speichersteuereinheit (25) verbunden ist, um Zugriffe auf den genannten reellen Speicher durch jeden aus der Vielzahl Datenprozessoren (12a, ..., 12n) zu registrieren,
- der Reihe nach für einzelne aus der Vielzahl Datenprozessoren (12a, ..., 12n) mit Steuerung durch die Speichersteuereinheit (25) zugreifbar ist, und
- auf die über den Systembus (16) von einem beliebigen aus der Vielzahl Datenprozessoren (12a, 12n) empfangenen Adressen des reellen Speichers zum Registrieren der Ausführung und des Typs eines Zugriffs der auf eine beliebige der n adressierbaren Einheiten (24, ..., 26) ausgeführt wurde, anspricht, und
- die Speichersteuereinheit (25) eine Einrichtung zur Zu ordnung von Zugriffen auf den Referenz- und Änderungstabellenspeicher (36) durch einzelne aus der Vielzahl Datenprozessoren (12a, ..., 12n) aufweist, wenn die einzelnen aus der Vielzahl Datenprozessoren (12a, ..., 12n) auf den Referenz- und Änderungstabellenspeicher (36) einen Zugriff des ersten oder des zweiten Typs ausführen.
2. Datenverarbeitungsanlage (10) nach Anspruch 1, bei der
- die Datenverarbeitungsanlage (10) ferner eine E/A-Einrichtung aufweist, die mit dem genannten reellen Speicher durch den Systembus (16) verbunden ist, wobei die E/A-Einrichtung auf einen speziellen Adressenplatz im genannten Speicher über den Systembus (16) zuzugreifen vermag, und
- der Referenz- und Änderungstabellenspeicher (36) eine auf einen Speicherzugriff durch die E/A-Einrichtung ansprechende Einrichtung zum Sperren einer Operation des Referenz- und Änderungstabellenspeichers (36) aufweist.
3. Datenverarbeitungsanlage (10) nach Anspruch 1, bei der
- jeder der Datenprozessoren (12a, ..., 12n) eine Steuereinrichtung (14a, ..., 14n) für den virtuellen Speicher aufweist, die in Antwort auf eine Adresse des virtuellen Speichers eine reelle Adresse zu generieren vermag, wobei jede der Steuereinrichtungen (14a, ..., 14n) für den virtuellen Speicher einen Ausgang hat, der an den Systembus (16) zum Übertragen der reellen Adresse auf ihn verbunden ist.
4. Datenverarbeitungsanlage (10) nach Anspruch 1, bei der
- die erste und die zweite Registriereinrichtung je eine vorbestimmte Anzahl Speicherplätze aufweist, die zahlenmäßig wenigstens gleich mit der vorbestimmten Anzahl adressierbarer Einheiten (24, ..., 26) sind,
- der Referenz- und Änderungstabellenspeicher (36) ferner umfaßt:
- eine Einrichtung, die auf eine auf den Systembus (16) gegebene reelle Adresse anspricht, zum Speichern von Daten in einem Speicherplatz der genannten ersten und der genannten zweiten Registriereinrichtung, der einer Nummer einer der adressierbaren Einheiten (24, ..., 25) entspricht, wobei die gespeicherten Daten die Ausführung eines Zugriffs und den Typ des Zugriffs auf die adressierbare Einheit (24, ..., 26) ausdrücken,
- eine Einrichtung, die auf eine auf den Systembus (16) gegebene Adresse anspricht, zum Ausgeben gespeicherter Daten aus der genannten ersten und der genannten zweiten Registriereinrichtung auf den Systembus (16) aus einem Speicherplatz, der einer der adressierbaren Einheiten entspricht.
5. Datenverarbeitungsanlage (10) nach Anspruch 1, bei der der Systembus (16) umfaßt:
- eine Vielzahl Adressensignalleitungen (20),
- eine Vielzahl Steuersignalleitungen (22), und
- eine Vielzahl Datenleitungen (18) mit einem niedrigstwertigen Bit (LSB) und einem höchstwertigen Bit (MSB), und bei der
- bestimmte Leitungen aus der Vielzahl Steuersignalleitungen (22) Informationen übertragen, die einen Befehl zum Aktivieren eines Referenz- und Änderungstabellen-Rücksetzsignals ausdrücken, wobei die Aktivierung dieses Referenz- und Änderungstabellen-Rücksetzsignals einen ausgewählten Speicherplatz aus den Referenz- und Änderungstabellen-Speicherplätzen rücksetzt, derart, daß ein Nichtzugriffszustand angezeigt wird, wodurch der Zugriff des zweiten Typs ausgeführt wird.
6. Datenverarbeitungsanlage (10) nach Anspruch 5, bei der
- die bestimmte Leitung aus der Vielzahl Steuersignalleitungen (22) ferner Informationen überträgt, die einen Befehl zum Aktivieren eines Referenz- und Änderungstabellen-Prüfsignals ausdrückt, wobei die Aktivierung dieses Referenz- und Änderungstabellen-Prüfsignals den Referenz- und Änderungstabellenspeicher (36) zur Ausgabe des Inhalts eines ausgewählten Speicherplatzes aktiviert, wodurch der Zugriff des ersten Typs ausgeführt wird.
7. Datenverarbeitungsanlage (10) nach Anspruch 6, bei welcher der Referenz- und Änderungstabellenspeicher (36) umfaßt: eine Einrichtung, die auf die Aktivierung des Referenz- und Änderungstabellen-Prüfsignals anspricht, zum Verbinden einer ersten und einer zweiten Ausgangssignalleitung des Referenzund Änderungstabellenspeichers mit vorbestimmten Systembusdatenleitungen (18).
8. Datenverarbeitungsanlage (10) nach Anspruch 7, bei der die vorbestimmten Systembusdatenleitungen (18) die Datenleitung mit dem MSB und eine Datenleitung mit (MSB-1) sind.
9. Referenz- und Änderungstabellen-Speicher (36) einer Datenverarbeitungsanlage (10) nach einem der Ansprüche 1 bis 8.
DE69029815T 1990-01-11 1990-07-25 Zentralisierte referenz- und änderungstabelle für eine virtuelle speicheranordnung Expired - Lifetime DE69029815T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/463,640 US5155834A (en) 1988-03-18 1990-01-11 Reference and change table storage system for virtual memory data processing system having a plurality of processors accessing common memory
PCT/US1990/004176 WO1991010956A1 (en) 1990-01-11 1990-07-25 Centralized reference and change table for a multiprocessor virtual memory system

Publications (2)

Publication Number Publication Date
DE69029815D1 DE69029815D1 (de) 1997-03-06
DE69029815T2 true DE69029815T2 (de) 1997-07-31

Family

ID=23840810

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69029815T Expired - Lifetime DE69029815T2 (de) 1990-01-11 1990-07-25 Zentralisierte referenz- und änderungstabelle für eine virtuelle speicheranordnung

Country Status (7)

Country Link
US (1) US5155834A (de)
EP (1) EP0509994B1 (de)
JP (1) JPH05503382A (de)
AU (1) AU648259B2 (de)
CA (1) CA2073677C (de)
DE (1) DE69029815T2 (de)
WO (1) WO1991010956A1 (de)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5339397A (en) * 1990-10-12 1994-08-16 International Business Machines Corporation Hardware primary directory lock
US5247642A (en) * 1990-12-05 1993-09-21 Ast Research, Inc. Apparatus for determining cacheability of a memory address to provide zero wait state operation in a computer system
JP3259969B2 (ja) * 1991-07-09 2002-02-25 株式会社東芝 キャッシュメモリ制御装置
US5414821A (en) * 1991-12-17 1995-05-09 Unisys Corporation Method of and apparatus for rapidly loading addressing environment by checking and loading multiple registers using a specialized instruction
JP3437852B2 (ja) * 1992-10-07 2003-08-18 富士通株式会社 ページング機能を持つデータ処理装置
JP3604176B2 (ja) * 1994-09-14 2004-12-22 株式会社東芝 仮想空間管理方法及び分散処理システム
US5761740A (en) * 1995-11-30 1998-06-02 Unisys Corporation Method of and apparatus for rapidly loading addressing registers
US6493347B2 (en) * 1996-12-16 2002-12-10 Juniper Networks, Inc. Memory organization in a switching device
US5956754A (en) * 1997-03-03 1999-09-21 Data General Corporation Dynamic shared user-mode mapping of shared memory
US6026466A (en) * 1997-06-16 2000-02-15 Integrated Silicon Solution, Inc. Multiple row address strobe DRAM architecture to improve bandwidth
US6108761A (en) * 1998-02-20 2000-08-22 Unisys Corporation Method of and apparatus for saving time performing certain transfer instructions
US6081881A (en) * 1998-02-20 2000-06-27 Unisys Corporation Method of and apparatus for speeding up the execution of normal extended mode transfer instructions
US6892263B1 (en) * 2000-10-05 2005-05-10 Sun Microsystems, Inc. System and method for hot swapping daughtercards in high availability computer systems
US6622229B2 (en) 2001-02-28 2003-09-16 International Business Machines Corporation Virtual memory structure
US20100325327A1 (en) * 2009-06-17 2010-12-23 Freescale Semiconductor, Inc. Programmable arbitration device and method therefor
US20100325519A1 (en) * 2009-06-17 2010-12-23 Microsoft Corporation CRC For Error Correction

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1461245A (en) * 1973-01-28 1977-01-13 Hawker Siddeley Dynamics Ltd Reliability of random access memory systems
US3840863A (en) * 1973-10-23 1974-10-08 Ibm Dynamic storage hierarchy system
US4055851A (en) * 1976-02-13 1977-10-25 Digital Equipment Corporation Memory module with means for generating a control signal that inhibits a subsequent overlapped memory cycle during a reading operation portion of a reading memory cycle
US4042911A (en) * 1976-04-30 1977-08-16 International Business Machines Corporation Outer and asynchronous storage extension system
US4096568A (en) * 1976-09-24 1978-06-20 Sperry Rand Corporation Virtual address translator
US4181937A (en) * 1976-11-10 1980-01-01 Fujitsu Limited Data processing system having an intermediate buffer memory
US4084230A (en) * 1976-11-29 1978-04-11 International Business Machines Corporation Hybrid semiconductor memory with on-chip associative page addressing, page replacement and control
US4128875A (en) * 1976-12-16 1978-12-05 Sperry Rand Corporation Optional virtual memory system
US4126894A (en) * 1977-02-17 1978-11-21 Xerox Corporation Memory overlay linking system
US4277826A (en) * 1978-10-23 1981-07-07 Collins Robert W Synchronizing mechanism for page replacement control
US4290104A (en) * 1979-01-02 1981-09-15 Honeywell Information Systems Inc. Computer system having a paging apparatus for mapping virtual addresses to real addresses for a memory of a multiline communications controller
US4340776A (en) * 1980-10-29 1982-07-20 Siemens Corporation Modular telecommunication system
US4414624A (en) * 1980-11-19 1983-11-08 The United States Of America As Represented By The Secretary Of The Navy Multiple-microcomputer processing
US4410941A (en) * 1980-12-29 1983-10-18 Wang Laboratories, Inc. Computer having an indexed local ram to store previously translated virtual addresses
US4445170A (en) * 1981-03-19 1984-04-24 Zilog, Inc. Computer segmented memory management technique wherein two expandable memory portions are contained within a single segment
DE3276916D1 (en) * 1981-09-18 1987-09-10 Rovsing As Christian Multiprocessor computer system
US4608631A (en) * 1982-09-03 1986-08-26 Sequoia Systems, Inc. Modular computer system
US4484273A (en) * 1982-09-03 1984-11-20 Sequoia Systems, Inc. Modular computer system
DE3382152D1 (de) * 1982-12-09 1991-03-07 Sequoia Systems Inc Sicherstellungsspeichersystem.
USRE37305E1 (en) * 1982-12-30 2001-07-31 International Business Machines Corporation Virtual memory address translation mechanism with controlled data persistence
US4714993A (en) * 1983-10-18 1987-12-22 International Business Machines Corporation Apparatus and method for effecting dynamic address translation in a microprocessor implemented data processing system
US4680700A (en) * 1983-12-07 1987-07-14 International Business Machines Corporation Virtual memory address translation mechanism with combined hash address table and inverted page table
US4792895A (en) * 1984-07-30 1988-12-20 International Business Machines Corp. Instruction processing in higher level virtual machines by a real machine
US4758993A (en) * 1984-11-19 1988-07-19 Fujitsu Limited Random access memory device formed on a semiconductor substrate having an array of memory cells divided into sub-arrays
JPS61214298A (ja) * 1985-03-20 1986-09-24 Toshiba Corp 誤り訂正機能を備えた半導体記憶装置
JPH0814803B2 (ja) * 1986-05-23 1996-02-14 株式会社日立製作所 アドレス変換方式
US4807189A (en) * 1987-08-05 1989-02-21 Texas Instruments Incorporated Read/write memory having a multiple column select mode
CA1314108C (en) * 1988-03-18 1993-03-02 Robert P. Ryan Distributed reference and change table for a virtual memory system

Also Published As

Publication number Publication date
AU6079490A (en) 1991-08-05
CA2073677A1 (en) 1991-07-12
CA2073677C (en) 2000-03-14
US5155834A (en) 1992-10-13
JPH05503382A (ja) 1993-06-03
EP0509994B1 (de) 1997-01-22
DE69029815D1 (de) 1997-03-06
AU648259B2 (en) 1994-04-21
WO1991010956A1 (en) 1991-07-25
EP0509994A1 (de) 1992-10-28

Similar Documents

Publication Publication Date Title
DE3685876T2 (de) Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher.
DE68926036T2 (de) Speicherkonfiguration zur Verwendung für Schnittstellenbildung zwischen einer Systemsteuereinheit für ein Multiprozessorsystem und dem Hauptspeicher
DE69322310T2 (de) Busarchitektur für integrierten Daten/- und Videospeicher
DE69124905T2 (de) Datenverarbeitungsvorrichtung zur dynamischen Zeiteinstellung in einem dynamischen Speichersystem
DE69024078T2 (de) Mehrprozessoranordnung mit Vervielfältigung von globalen Daten und mit zwei Stufen von Adressübersetzungseinheiten
DE3909896C2 (de)
DE102006002526B4 (de) Steuervorrichtung für eine Solid-State-Disk und Verfahren zum Betreiben derselben
DE69029815T2 (de) Zentralisierte referenz- und änderungstabelle für eine virtuelle speicheranordnung
DE3689488T2 (de) Speicheranordnung mit vereinfachtem und schnellem Daten-Cachespeicher.
DE69228521T2 (de) Mikroprozessorarchitektur mit der möglichkeit zur unterstützung mehrerer verschiedener prozessoren
DE3850901T2 (de) Datenverarbeitungsanordnung mit Mitteln zur angrenzenden Adressierung eines Speichers.
DE2350215C2 (de) Rechenanlage
DE68923863T2 (de) Ein-/Ausgabecachespeicherung.
DE69719086T2 (de) Zeitverteilte entfernung von fehlerkorrekturcodes (ecc) zur korrektur von speicherfehlern
DE3786967T2 (de) Protokoll zum Ungültigerklären eines Cachespeichers für ein digitales Datenverarbeitungssystem.
DE69132652T2 (de) Rechnerdatenleitweglenkungssystem
DE68928040T2 (de) Pufferspeichersubsystem für Peripheriesteuerungen und Verfahren
DE3852695T2 (de) Multiprozessorsystem mit mehreren Speichern.
DE68923026T2 (de) Speicherdiagnosegerät und Verfahren.
DE69020569T2 (de) Modulares ein-/ausgabesystem für superrechner.
DE102004027121B4 (de) Ein Mehrfachbankchip, der mit einer Steuerung kompatibel ist, die für eine geringere Anzahl von Banken entworfen ist, und ein Verfahren zum Betreiben
DE3885985T2 (de) Speichersteueranordnung für ein Daten verarbeitendes System.
DE10345383A1 (de) Bankadreßabbildung gemäß einer Bankhaltezeit bei dynamischen Direktzugriffsspeichern
DE3587031T2 (de) Zugriffpruefungseinrichtung fuer digitale datenverarbeitungsanordnung, welche einen speicher mit seitenabruf hat.
DE69605820T2 (de) Datenfehler-detektion und -korrektur für gemeinsamen speicher

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: WANG LABORATORIES, INC., BILLERICA, MASS., US

8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: LG SEMICON CO., LTD., CHEONGJU, KR

8327 Change in the person/name/address of the patent owner

Owner name: LG ELECTRONICS INC., SEOUL/SOUL, KR

8328 Change in the person/name/address of the agent

Representative=s name: COHAUSZ & FLORACK, 40472 DUESSELDORF