DE69029815T2 - Zentralisierte referenz- und änderungstabelle für eine virtuelle speicheranordnung - Google Patents
Zentralisierte referenz- und änderungstabelle für eine virtuelle speicheranordnungInfo
- 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
Links
- 230000008859 change Effects 0.000 title claims description 57
- 230000015654 memory Effects 0.000 claims description 240
- 238000012545 processing Methods 0.000 claims description 38
- 238000012360 testing method Methods 0.000 claims description 6
- 230000004913 activation Effects 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 238000012937 correction Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 239000000758 substrate Substances 0.000 description 4
- 230000003213 activating effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000005476 soldering Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Debugging And Monitoring (AREA)
Description
- 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.
- 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.
- 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.
- 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.
- 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.
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)
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)
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 |
-
1990
- 1990-01-11 US US07/463,640 patent/US5155834A/en not_active Expired - Lifetime
- 1990-07-25 DE DE69029815T patent/DE69029815T2/de not_active Expired - Lifetime
- 1990-07-25 EP EP90911530A patent/EP0509994B1/de not_active Expired - Lifetime
- 1990-07-25 JP JP2511103A patent/JPH05503382A/ja active Pending
- 1990-07-25 CA CA002073677A patent/CA2073677C/en not_active Expired - Lifetime
- 1990-07-25 WO PCT/US1990/004176 patent/WO1991010956A1/en active IP Right Grant
- 1990-07-25 AU AU60794/90A patent/AU648259B2/en not_active Expired
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 |