-
Arbeits speicheranordnung
-
Die Erfindung bezieht sich auf eine Arbeitsspeicheranordnurig für
eine Datenverarbeitungsanlage, die einen Hauptspeicher großer Speicherkapazität
und großer Zugriffszeit und einen mit diesem verbundenen Pufferspeicher kleiner
Speicherkapazität und kleiner Zugriffszeit enthält, bei der der Pufferspeicher mit
einem Zentralprozessor der Datenverarbeitungsanlage verbunden ist und bei der vom
Zentralprozessor angeforderte, im Hauptspeicher gespeicherte Daten zunächst vom
Hauptspeicher zum Pufferspeicher übertragen und anschließend zum Zentralprozessor
abgegeben werden.
-
Es sind bereits Arbeitsspeicheranordnungen für Datenverarbeitungsanlagen
bekannt, die einen Hauptspeicher mit einer großen Speicherkapazität und mit einer
verhältnismäßig großen Zugriffszeit und einen Pufferspeicher mit einer kleinen Speicherkapazität
und einer kleinen Zugriffszeit enthalten. Die in dieser Arbeitsspeicheranordnung
gespeicherten Daten sind alle grundsätzlich im Hauptspeicher gespeichert und werden
zum Pufferspeicher übertragen und dort zusätzlich eingespeichert, wenn sie vom Zentralprozessor
der Datenverarbeitungsanlage benötigt werden.
-
Eine derartige Arbeitsspeicheranordnung hat jedoch den Nachteil, daß
die Speicherkapazität des Pufferspeichers nicht für die Speicherung von zusätzlichen
Daten zur Verfügung steht, da in ihm nur Daten gespeichert werden, die auch im Hauptspeicher
gespeichert sind. Dieser Nachteil wirkt sich insbesondere dann stark aus, wenn die
Speicherkapazität des Pufferspeichers einen nennenswerten Anteil der Speicherkapazität
des gesamten Arbeitsspeichers ausmacht.
-
Dies ist beispielsweise der Fall, wenn als Hauptspeicher ein aus CCD
(Charge Coupled Device)-Bausteinen aufgebauter Haibleiterspeicher mit einer Speicherkapazität
von 3,5 MB und als Pufferspeicher ein aus MOS-Bausteinen aufgebauter Halbleiterspeicher
mit wahl-
freiem Zugriff und mit einer Speicherkapazität von 512
KB verwendet werden.
-
Der Erfindung liegt die Aufgabe zugrunde, eine Arbeitsspeicheranordnung
für eine Datenverarbeitungsanlage anzugeben, bei der die Speicherkapazität des Hauptspeichers
und des Pufferspeichers zur Speicherung von zu verarbeitenden Daten zur Verfügung
steht, ohne daß gleiche Daten im Hauptspeicher und im Pufferspeicher gespeichert
sind.
-
Erfindungsgemäß wird die Aufgabe bei der Arbeitsspeicheranordnung
der eingangs genannten Art dadurch gelöst, daß eine mit dem Hauptspeicher und dem
Pufferspeicher verbundene Steuereinheit vorgesehen ist, der die Adresse der angeforderten
Daten zugeführt wird und die gleichzeitig mit der Übertragung der Daten vom Hauptspeicher
an eine vorgegebene Stelle im Pufferspeicher eine Übertragung der an dieser vorgegebenen
Stelle im Pufferspeicher jeweils gespeicherten Daten zum Hauptspeicher und ein Einspeichern
dieser Daten in den Hauptspeicher steuert.
-
Die Arbeitsspeicheranordnung gemäß der Erfindung hat den Vorteil,
daß die für die Speicherung von zu verarbeitenden Daten zur Verfügung stehende Speicherkapazität
der gesamten Arbeitsspeicheranordnung um die Speicherkapazität des Pufferspeichers
erhöht wird.
-
Bei gleichbleibender Gesamtkapazität kann auch die Speicherkapazität
des Hauptspeichers um die Speicherkapazität des Pufferspeichers vermindert werden.
Es wird damit eine Senkung der Gesamtkosten der Arbeitsspeicheranordnung erreicht.
-
Außerdem ergibt sich eine besonders einfache Übertragung der Daten
zwischen dem Hauptspeicher und dem Pufferspeicher, wenn die an der vorgegebenen
Stelle im Pufferspeicher ursprünglich gespeicherten Daten jeweils an die Stelle
im Hauptspeicher übertragen werden, an der die angeforderten Daten gespeichert waren.
-
Falls die Daten jeweils in Form einer aus einer Mehrzahl von Datenworten
bestehenden Seite zwischen dem Hauptspeicher und dem Pufferspeicher übertragen werden,
wird eine erste vorteilhafte Ausführungsform
der Steuereinheit
erreicht, wenn die Steuereinheit einen vollassoziativen Speicher enthält, dem die
einen ersten Teil der Adresse der angeforderten Daten bildende Seitenadresse zugeführt
wird und der die Adresse derjenigen Stelle, an der die Daten gespeichert sind, an
den Hauptspeicher und den Pufferspeicher abgibt, wenn dem Pufferspeicher außerdem
eine einen zweiten Teil der Adresse bildende Wortadresse zugeführt wird, die die
Adresse des Datenwirtes innerhalb der Seite angibt und wenn die Steuereinheit eine
erste Steuerstufe enthält, die nach einer Ubertragung der beteiligten Seiten zwischen
dem Hauptspeicher und dem Pufferspeicher im Speicher die Adressen der Stellen, an
denen diese Seiten gespeichert waren, austauscht.
-
Wenn man den Hauptspeicher und den Pufferspeicher jeweils in eine
Mehrzahl von Bänken und Klassen einteilt, und eine Übertragung einer Seite jeweils
nur innerhalb einer Klasse erlaubt, ist es möglich, daß die Steuereinheit einen
nichtassoziativen Speicher enthält, dem die einen ersten Teil der Adresse der angeforderten
Daten bildende Seitenadresse zugeführt wird und der die Banknummer, unter der die
angeforderte Seite gespeichert ist, an den Hauptspeicher und an den Pufferspeicher
abgibt, daß die Steuereinheit weiterhin einen Hilfsspeicher enthält, dem die Klassenadresse
zugeführt wird und der die Bankadresse der im Pufferspeicher gespeicherten Seiten,
sowie weitere Kennzeichen enthalt, mit deren Hilfe die Banknummer derjenigen Bank
des Pufferspeichers bestimmt wird, in der die zu ersetzende Seite gespeichert ist
und daß eine mit dem Speicher und dem Hilfsspeicher verbundene zweite Steuerstufe
vorgesehen ist, die nach einer Übertragung der bisherigen Seiten zwischen dem Hauptspeicher
und dem Pufferspeicher einen Austausch der Banknunnern der beteiligten Seiten im
Speicher und einen Bintrag der Bankadresse der neuen Seite in den Hilfsspeicher
steuert.
-
Die Arbeitsspeicheranordnung wird insbesondere dann in verteilhafter
Weise eingesetzt, wenn der Hauptspeicher aus CCD (Charge Coupled Device>-Speicherbausteinen
und der Pufferspeicher aus MOS-Speicherbausteinen mit wahlfreiem Zugriff besteht.
-
Im folgenden wird ein Ausführungsbeispiel der Arbeitsspeicheranordnung
anhand von Zeichnungen beschrieben.
-
Es zeigen: Fig. 1 ein Blockschaltbild der Arbeitsspeicheranordnung,
Fig. 2 ein Blockschaltbild einer ersten Adressensteuerstufe zum Adressieren der
Daten in der Arbeitsspeicheranordnung, Fig. 3 ein Blockschaltbild einer zweiten
Adressensteuerstufe zum Adressieren der Daten in der Arbeitsspeicheranordnung.
-
Die in Fig. 1 dargestellte Arbeitsspeicheranordnung enthält einen
Hauptspeicher HS großer Speicherkapazität und verhältnismäßig yroßer Zugriffszeit
und einen Pufferspeicher PS kleiner Speicherkapazität und kleiner Zugriffszeit.
Der Hauptspeicher ist beispielsweise aus CCD (Charge Coupled Device)-Speicherbausteinen
aufgebaut und hat eine Speicherkapazität von 3,5 MB. Der Pufferspeicher besteht
beispielsweise aus einem Speicher mit wahlfreiem Zugriff, der aus MOS-Speicherbausteinen
aufgebaut ist und eine Speicherkapazität von 512 KE hat. Als Breite der Datenwege
werden jeweils 8 Byte angenommen und eine zwischen dem Hauptspeicher und dem Pufferspeicher
übertragene Dateneinheit von 1 KB wird im folgenden als Seite bezeichnet.
-
Beim Schreiben von Daten in den Arbeitsspeicher werden die als Schreibdaten
SD vorliegenden Daten zunächst in einem Register Rl zwischengespeichert. Anschließend
werden sie gegebenenfalls in einer ersten Korrekturstufe Kl mit Korrekturzeichen
versehen, um die Fehlersicherheit in der Arbeitsspeicheranordnung zu erhöhen.
-
Uber einen Multiplexer MX werden die Daten danach an eine dafür vorgesehene
Stelle im Pufferspeicher eingeschrieben. Beim Lesen der Daten aus dem Pufferspeicher
werden die Daten, falls sie sich im Pufferspeicher befinden, zunächst in einem zweiten
Datenregister R2 zwischengespeichert und anschließend, gegebenenfalls nach dem Durchlauf
durch eine zweite Korrekturstufe K2 zum Korrigieren von fehlerhaften Daten mittels
der Korrekturzeichen, als Lesedaten LD abgegeben.
-
Falls die Daten jedoch nicht im Pufferspeicher gespeichert sind, müssen
sie zunächst vom Hauptspeicher zum Pufferspeicher übertragen werden. Es wird dabei
jeweils eine Seite, die aus einer Mehrzahl von Datenworten besteht, vom Hauptspeicher
über den Multiplexer an eine vorgegebene Stelle im Pufferspeicher übertragen. Die
an dieser vorgegebenen Stelle bisher gespeicherten Daten werden dabei gleichzeitig
über das Datenregister R2 zum Hauptspeicher übertragen und dort eingespeichert.
Zweckmäßigerweise werden die Daten an diejenige Stelle im Hauptspeicher eingespeichert,
an der die Seite mit den angeforderten Daten bisher gespeichert war. Auf diese Weise
wird erreicht, daß die Daten jeweils nur an einer Stelle in der gesamten Arbeitsspeicheranordnung
gespeichert werden. Außerdem wird erreicht, daß der Datenaustausch mit der zeitlich
günstigen Operationsart "Lesen-Verändern-Schreiben in einem Speicher zyklus ausgeführt
werden kann.
-
Die Adresse der angeforderten Daten wird einer Steuereinheit SE zugeführt.
Diese Steuereinheit enthält eine Datensteuerstufe, die die Ubertragung der Daten
vom Hauptspeicher zum Pufferspeicher und vom Pufferspeicher zum Hauptspeicher steuert.
Weiterhin enthält sie eine Adressensteuerstufe, die die Adressen der Stellen, an
der die zwischen dem Pufferspeicher und dem Hauptspeicher übertragenen Seiten jeweils
eingespeichert werden.
-
Bei der in Fig. 2 dargestellten ersten Ausführungsform der Adressensteuerstufe
in der Steuereinheit SE wird die Adresse AD der angeforderten Daten zunächst in
einem Adressenregister AR1 gespeichert. Die Adresse AD besteht aus einer beispielsweise
12 Bit enthaltenden Seitenadresse AS, die die Adresse einer Seite in der Arbeitsspeicheranordnung
angibt und aus einer beispielsweise 7 Bit enthaltenden Wortadresse AW, die die Adresse
eines Datenwortes innerhalb einer Seite angibt. Das Datenwort besteht beispielsweise
aus acht Byte.
-
Die Seitenadresse AS wird einem Speicher -SP1 zugeführt, der als vollassoziativer
Seitenverweisspeicher ausgebildet ist und 4096 Einträge enthält. Der durch die Seitenadresse
AS adressierte Eintrag wird ausgelesen und in ein zweites Adressenregister AR2 und
ein
drittes Adressenregister AR3 eingespeichert. Jeder Eintrag enthält neben einigen
Kennzeichen eine aus 12 Bits bestehende Platznummer PN, die die Adresse derjenigen
Stelle angibt, an der sich die gewünschte Seite in der Arbeitsspeicheranordnung
befindet.
-
Die Arbeitsspeicheranordnung ist so eingeteilt, daß die Seiten mit
den Platznummern O bis 511 im Pufferspeicher und diejenigen mit den Platznummern
512 bis 4095 im Hauptspeicher untergebracht sind.
-
Wenn die Platznummer kleiner als 512 ist, befindet sich die gewünschte
Seite im Pufferspeicher und die Anforderung an die Arbeitsspeicheranordnung kann
unmittelbar ausgeführt werden. Zu diesem Zweck werden die Wortadressen AW und die
Platznummer PN in das Adressenregister AR3 eingespeichert, das mit dem Pufferspeicher
verbunden ist.
-
Wenn die Platznummer PN größer oder gleich 512 ist, so befindet sich
die gewünschte Seite im Hauptspeicher und sie muß vor Ausführung der Speicheranforderung
an den Pufferspeicher übertragen werden. Dazu wird zuerst der Inhalt des gesamten
vollassoziativen Speichers SP1 nach einer Platznummer, die kleiner ist als 512 mit
geringster Priorität abgesucht. Die Priorität wird durch die Kennzeichenbits ermittelt.
Ist eine solche Platznummer gefunden, wird zwischen der durch sie bezeichneten Stelle
im Pufferspeicher und der Stelle der neu angeforderten Seite im Hauptspeicher ein
Austausch durchgeführt. Nach Ausführung dieses Austauschs steht die angeforderte
Seite im Pufferspeicher und die Anforderung kann wie oben angegeben ausgeführt werden.
Außerdem wird der Speicher SPA durch eine Steuerstufe ST1 auf den neuen Stand gebracht.
Dazu werden die Platznummern PN der beiden beteiligten Seiten ausgetauscht und die
Kennzeichenbits neu gesetzt.
-
Bei der in Fig. 3 dargestellten zweiten Ausführungsform der Adreßsteuerstufe
zum Adressieren der Daten in der Arbeitsspeicheranordnung werden anstelle des vollassoziativen
Seitenverweisspeichers SP1 ein nichtassoziativer Speicher SP2 und ein Hilfsspeicher
HI verwendet. Die Arbeitsspeicheranordnung ist in bekannter Weise in eine Mehrzahl
von Bänken und Klassen eingeteilt. Beispielsweise
enthält die Arbeitsspeicheranordnung
128 Klassen und 32 Bänke, wovon 4 Bänke im Pufferspeicher und 26 Bänke im Hauptspeicher
liegen.
-
Der nichtassoziative Speicher SP2 hat ebenso wie der Speicher SP1
4096 Einträge und der Hilfsspeicher HI enthält 4 mal 128 Einträge, die den 4 mal
128 Stellen des Pufferspeichers fest zugeordnet sind.
-
Die Adresse AD der angeforderten Daten wird wieder in einem Adressenregister
AR1 zwischengespeichert. Sie besteht ebenfalls aus der Wortadresse AW von beispielsweise
7 Bit und der Seitenadresse AS von beispielsweise 12 Bit. Die Seitenadresse AS wird
außerdem eingeteilt in eine Klassenadresse AK von beispielsweise 7 Bit und in eine
Bankadresse BA von 5 Bit. Die Klassenadresse AK wird unmittelbar an die Adreßregister
AR2 und AR3 des Hauptspeichers und des Pufferspeichers weitergeleitet. Außerdem
wird an das Adreßregister AR3 auf die Wortadresse AW übertragen. Mit der gesamten
Seitenadresse AS wird der Speicher SP2 adressiert. Der adressierte Eintrag, der
neben einigen Kennzeichenbits die Banknummer BN enthält, unter der die angeforderte
Seite in der Arbeitsspeicheranordnung zu finden ist, wird ausgelesen und ausgewertet.
Ist die Banknummer BN kleiner als 4, so befindet sich die angeforderte Seite in
Pufferspeicher und die Anforderung kann unmittelbar ausgeführt werden. Dazu wird
die ausgelesene Banknummer 3N in das Adressenregister AR3 übernommen.
-
Ist die Banknummer BN aber größer oder gleich 4, so muß die gewünschte
Seite vor der Ausführung der Anforderung vom Hauptspeicher in den Pufferspeicher
übertragen werden. Dazu muß zuerst eine Stelle im Pufferspeicher ermittelt werden.
Dies geschieht mit Hilfe des Hilfsspeichers HI. Er besteht aus vier unabhängig adressierbaren
Moduln mit je 128 Einträgen. Jeder Modul ist einer der vier Bänke des Pufferspeichers
fest zugeordnet. Die über die Klassenadresse AK ausgewählten vier Einträge im Hilfsspeicher
HI werden ausgelesen. Sie enthalten neben einigen Kennzeichenbits die Bankadressen
AB der vier Seiten, die in den vier Bänken des Pufferspeichers der gegebenen Klasse
augenblicklich gespeichert sind. Unter ihnen
wird gemäß eines Ersetzungsalgorithmus
die am wenigsten wichtige alte Seite ausgewählt und durch Transfer zwischen dem
Pufferspeiz cher und dem Hauptspeicher gegen die angeforderte neue Seite ausgetauscht.
Anschließend können die Speicheranforderung ausgeführt und der Speicher SP2 und
der Hilfsspeicher HI auf den neuesten Stand gebracht werden. Dazu werden mit Hilfe
einer zweiten Steuerstufe ST2 im Speicher SP2 die Banknummern BN der alten und der
neuen Seite gegeneinander ausgetauscht. Zusätzlich wird die Bankadresse AB der neuen
Seite in die ausgewählte Zelle des Hilfsspeichers HI eingetragen und es werden die
Kennzeichenbits in allen beteiligten Einträgen neu erzeugt.
-
5 Patentansprüche 3 Figuren
Leerseite