DE2544071B2 - Mehrstufiges Arbeitsspeichersystem - Google Patents
Mehrstufiges ArbeitsspeichersystemInfo
- Publication number
- DE2544071B2 DE2544071B2 DE2544071A DE2544071A DE2544071B2 DE 2544071 B2 DE2544071 B2 DE 2544071B2 DE 2544071 A DE2544071 A DE 2544071A DE 2544071 A DE2544071 A DE 2544071A DE 2544071 B2 DE2544071 B2 DE 2544071B2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- page
- address
- pages
- level
- 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.)
- Granted
Links
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
Die Erfindung bezieht sich auf ein mehrstufiges Arbeitsspeichersystem
für eine simultan mehrere Prozesse bearbeitende Datenverarbeitungsanlage gemäß dem Oberbegriff des Hauptanspruches.
In allen hierarchisch gegliederten, mehrstufigen Speichersystemen, deren Speichestufen mit den Mitteln
moderner Speichertechnologien aufgebaut sind, werden die vollständigen Programme der einzelnen
simultan in der Datenverarbeitungsanlage ablaufenden Prozesse in der niedrigsten Speicherstufe abgelegt.
Jede höhere Speicherstufe enthält dann nur mehr Teile dieser Programme. Wenn der Hauptspeicher die
niederste Speicherstufe darstellt, sind in der ihm übergeordneten Speicherstufe nur noch einige Programmseiten
mehrerer verschiedener Prozesse enthalten, daher bezeichnet man diese Speicherstufe auch als
Seitenpuffer.
Wegen der beschränkten Speicherkapazität dieses Seitenpuffers ist t.. a. die Verteilung seines Speicherplatzes
auf die verschiedenen Prozesse sehr wesentlich für die Effizienz des Speichersystems. Nun ist es heute
allgemein üblich, erst dann eine Speicherseite in den Seitenpuffer zu übertragen, wenn sie bei einer Speicheranforderung
fehlt. Diese Ladestrategie des Seitenpuffers mit nachträglichen Seitenwechselanforderungen
wird vielfach als »Paging on demand« bezeichnet. Das Verfahren hat grundsätzlich den
Nachteil einer Totzeit bei jeder Seitenübertragung in den Seitenpuffer, während der der anfordernde Prozessor
unbeschäftigt ist oder der laufende Prozeß unterbrochen werden muß.
Eine Weiterentwicklung der Ladestrategie »Paging on demand« ist im Zusammenhang mit einer Adreßübersetzungseinheit
bekannt, die bei einem seitenweise strukturierten virtuellen Speichersystem verwendet
wird. Diese Einheit erlaubt im Vorgriff zu arbeiten. Damit ist sichergestellt, daß ein Maschinenbefehl
auch dann vollständig verarbeitet werden kann, wenn seine Operanden nicht mehr vollständig innerhalb
einer Speicherseite liegen. Der Vorgriff beruht darin, daß bei der dynamischen Adreßübersetzung für
einen Maschinenbefehl festgestellt wird, ob ein Operand dieses Befehls eine Seitengrenze überschreitet.
In diesem Fall soll neben dem Zugriff zu der zunächst benötigten Speicherseite auch ein Zugriff zu der Folgeseite
unmittelbar möglich sein. Das bedeutet zunächst, daß beide Speicherseiten in einem entsprechenden
Speichermedium abgelegt sein müssen und darüber hinaus in an sich bekannter Weise die benötigten
Adreßübersetzungstafeln auch für diesen Fall aktualisiert sind.
Diese Art der Adreßübersetzung bedeutet eine gewisse Verbesserung der Ladestrategie des »Paging on
demand«, weil man hier nicht nur die benötigte Speicherseite, sondern zugleich auch eine mögliche Folgeseite
feststellt, die zur vollständigen Ausführung des gerade zur Verarbeitung anstehenden Maschinenbe-
Fehls notwendig ist. Dies kann allerdings noch nicht die generellen Nachteile dieser Ladestrategie vollständigbeseitigen.
Denn es sind nur die Fälle zu erfassen, in denen für einen bestimmten Maschinenbefehl
die Operanden nicht mehr vollständig in einer einzi-
H gen Speicherseite niedergelegt sind. Programmsprünge
u. dgl. vermag auch diese Verbesserung nicht ohne Totzeiten für den anfordernden Prozessor zu bewältigen.
Weiterhin ist eine Steuereinrichtung für ein hierarchisch geordnetes Speichersystem bekannt, die ebenfalls
eine Art von Vorgriff auf die zu verarbeitenden Befehle ermöglicht. Diese bekannte Einrichtung weist
zwei wesentliche Eigenschaften auf:
Der Zentralprozessor der datenverarbeitenden Anlage ist in drei selbständig arbeitende Einheiten
unterteilt, einen Speicheradreßprozessor, eine Befehlsbereitstellungseinheit und eine Befehlsausführungseinheit.
Zwischen den letzteren ist ein Registerspeicher angeordnet, der einen Befehlsstapel (stack)
so zwischenspeichert, der sequentiell von der Befehlsausführungseinheit
verarbeitet werden soll.
Neben dieser Untergliederung des Zentralprozessors in spezialisierte Einheiten ist eine Hierarchie
schneller Zwischenspeicher vorgesehen, in der die die zu verarbeitenden Daten in mehreren Speicherebenen
bereitgestellt werden. Dabei übernimmt der Speicheradreßprozessor die Aufgabe, die bei der Verarbeitung
der gestapelten Befehle benötigten Daten so in der Hierarchie im voraus bereitszustellen, daß ein Be-
Ai) fehl seine benötigten Daten jeweils in der höchsten
hierarchischen Ebene vorfindet. Der Inhalt der Gesamtheit der schnellen Zwischenspeicher ist also ein
geordnetes Abbild des Befehlsstapels, d. h. als ein Datenstapel anzusehen.
Derartige Stapelverfahren werden bei einzelnen Programmfolgen häufig verwendet und die Stapeltechnik
ist in bestimmten Fällen durchaus brauchbar, so auch hier, kann aber nicht bei allen möglichen Programmfolgen
immer zum Erfolg führen. Das liegt an
so ihrer prinzipiellen Eigenschaft, an ihrem sequentiellen Verhalten. Wenn man, wie hier, damit ein Vorausladen
von Befehlen und zugehörigen Daten erreichen will, dann wird immer dann ein Engpass auftreten,
wenn Sprünge in einer Programmfolge auftreten, bei denen das Sprungziel erst bei der Verarbeitung des
vorangehenden Befehls festgelegt wird. Für diesen Befehl ist hier vorgesehen, daß entsprechende Befehle
durch den Speicheradreßprozessor erkannt werden und daß das Vorauslladen so lange angehalten wird,
bis da Sprungziel feststeht oder vorausgeladene Daten als fehlerhaft gekennzeichnet werden müssen.
Wie daraus erkennbar ist, haben die bekannten Einrichtungen den Machteil, daß die Ladestrategie
immc: dann zu einem Seitenfehler führt, der eine Unterbrechung
im Programmablauf bedingt, wenn das Programm nicht mehr sequentiell fortschreitet. Dabei
lassen diese Lösungen noch außer Betracht, daß in Datenverarbeitungsanlagen mit Mehrprogramm-
oder Multiprozessorbetrieb vom gemeinsamen Arbeitsspeichersystem
aus betrachtet, gleichzeitig mehrere Prozesse ablaufen, für die Speicherkapazität im
Seitenpuffer bereitgestellt werden muß. Um den dabei auftretenden Konflikt bei der Speicherplatzbelegung
durch die verschiedenen Prozesse zu lösen, macht man sich den Umstand zunutze, daß ein Prozeß bei einem
Teilablauf immer nur eine begrenzte Anzahl von Programmseiten benötigt. Unter einem aktuellen Speicherbereich,
dem »Working Set« eines Prozesses versteht man in diesem Zusammenhang die Menge von
Programmseiten, die der Prozeß in einem festgelegten zurückliegenden Zeitintervall benötigt hat. Beginnend
mit der ersten Aktivierung eines Prozesses wird bei Datenverarbeitungsanlagen mit virtuellem Speichersystem
programmgesteuert bei jeder Anforderung einer neuen Speicherseite der Stand eines Zählers
um 1 erhöht. Erniedrigt wird dieser Zählerstand um einen entsprechenden Betrag, wenn der Prozess
eine oder mehrere Speicherseiten freigibt.
Dabei kann der Fall eintreten, daß der Umfang der laufenden Prozesse den gesamten Seitenpuffer füllt.
Dann muß ein Prozeß bei Anforderung einer neuen Speicherseite eine seiner eigenen Speicherseiten freigeben.
Der Umfang des aktuellen Speicherbereichs ändert sich dabei nicht. Bei der Deaktivierung des
Prozesses gibt dieser alle seine Seiten frei; die dann nicht mehr belegten Seitenrahmen im Seitenpuffer
stehen wieder den übrigen Prozessen zur Verfugung.
Der Zählerstand mit dem Umfang des im zurückliegenden
Bearbeitungszeitraum benötigten aktuellen Speicherbereichs wird jedoch gespeichert, um dem
Prozeß bei einer erneuten Aktivierung eine diesem Zählerstand entsprechende Anzahl von Seitenrahmen
zur Verfugung zu stellen. Dies bedeutet jedoch nicht, daß der Prozeß im Seitenpuffer noch eigene Programmseiten
vorfindet, da die inzwischen abgelaufenen Prozesse bei Seitenanforderungen seine Programmseiten
überschrieben haben können. Von diesem Umfang der Seitenanforderungen anderer Prozesse während seiner inaktiven Phase hängt es ab,
wie oft der reaktivierte Prozeß in seiner Bearbeitungszcit bereits früher benutzte Programmseiten erneut
anfordern muß.
Solche mehrfachen Seitenwechselanforderungen sind, über den gesamten Zeitraum der Bearbeitung
eines Prozesses betrachtet, besonders ungünstig, da sie jeweils erneut eine Wartezeit des anfornden Prozessors
bedingen.
Der Erfindung liegt daher die Aufgabe zugrunde, ein mehrstufiges Arbeitsspeichersystem gemäß dem
Oberbegriff des Hauptanspruches zu schaffen, das es erlaubt, die vorhandene Speicherkapazität im Seitenpuffer
dadurch besser auf die einzelnen Prozesse zu verteilen, daß die aktuelle Speicherbelegung durch die
laufenden Pro/esse besser als bisher berücksichtigt wird. Das bedeutet insbesondere, für einen laufenden
Prozeß bei der Ladestrategic in den Seitenpuffer auch
den nicht rein sequentiellen Prozeßablauf zu beherrschen.
Diese Aufgabe wird bei einem mehrstufigen Arbeitsspeiehersystem
der genannten Art erfindungsgcmäß gelösl durch die im Kennzeichen des Hauptanspruchs
beschriebenen Merkmale. Die bisherigen I.adestratcgien gehen - wie erläutert - immer von bereits
aufgetretenen Verhältnissen aus, weil sie auf dem «Working-Set" im oben definierten Sinne beruhen.
Der vorliegenden Erfindung liegt dagegen eine Ladestrategie zugrunde, die auf einem zukünftigen
»Working Set« beruht. Sie ist daher weniger statisch. Dieser bereits im Ansatz grundlegende Unterschied
zu bekannten Ladestrategien bringt es mit sich, daß
ϊ nicht mehr benötigte Speicherseiten im Seitenpuffer
früher freigegeben werden können. Außerdem werden durch das vorsorgliche Bereitstellen aller möglichen
Folgeseiten Seitenwechselanforderungen, sogenannte »Page Faults« und damit auch die darauf
ίο beruhenden Totzeiten des anfordernden Prozessors
mit Sicherheit vermieden. Die Erfindung bietet eine Lösung dafür, wie man auf einfache Weise ein zukünftiges,
d. h. ein dynamisch fortgeschriebenes »Working Set« für einen bestimmten Prozeß bzw. ein Programm
ermitteln kann und dieses dann rechtzeitig in vollem Umfang in einem Speichermedium bereitstellt, zu dem
ein unmittelbarer Zugriff innerhalb eines hierarchischen Speichersystems noch möglich ist.
Die Kenntnis über den Umfang des zukünftigen »Working Set« läßt sich bei der Kompilation erhalten.
Bei diesem Übersetzungsvorgang wird ein zunächst in einer Programmiersprache verfaßtes Programm in
ein Programm in der Maschinensprache der Datenverarbeitungsanlage umgewandelt, auf der es ablaufen
2) soll. In diesem vielfach komplizierten Übersetzungsvorgang wird u. a. auch die Seitenstruktur eines virtuellen
Programmes festgelegt, so können dabei auch ohne weiteres alle Befehle erkannt werden, die bei
ihrer Verarbeitung eventuell einen Seitenwechsel er-
so fordern. So läßt sich ohne weiteres die Information über alle möglichen Folgeseiten zu einer Speicherseite
gewinnen. Da ein in einer höheren Programmiersprache geschriebenes Programm auf jeden Fall einmal
übersetzt werden muß, um auf einer datenverarbei-
j-) tenden Anlage ablauffähig zu sein, werden den Programmierern
solcher Programme dadurch keinerlei Beschränkungen auferlegt. Genauso wie der Übersetzungsvorgang
für ein Programm einmalig ist, solange es auf einer bestimmten Datenverarbeitungsanlage
mit einer bestimmten Maschinenbefehlsliste ablaufen soll, genauso stehen dann die Informationen über die
Folgeseiten ständig zur Verfugung und brauchen beim erneuten Laden eines solchen Programms oder seiner
eigentlichen Verarbeitung in der datenverarbeitenden
π Anlage nicht jedes Mal erneut ermittelt zu werden,
Weil alle möglichen Folgeseiten für alle innerhalb einer Speicherseite aufgelisteten Maschinenbefehle
bereits bei der Bereitstellung der Speicherseite im Seitenpuffer erfaßt sind, steht für den Bereitstellungsvor-
-,o gang von Folgeseiten bei einem Speichersystem gemäßder
Erfindungohne Behinderungeines laufender Prozesses ein wesentlich größerer Zeitraum zur Verfügung,
in dem Folgeseiten noch eingestellt werder können, als bei bekannten Speichersystemen. Dar-
■-,-, über hinaus ist während der laufenden Verarbeitung
der Maschinenbefehle keineswegs in jedem Verarbeitungszyklus automatisch eine Prüfung erforderlich, ob
ein solcher Maschinenbefehl einen Seitenwechsel hervorrufen wird oder nicht. Bei einem erstmaligen Zu-
ho griff zu einer bereitgestellten Speicherseite ist es nui
notwendig, einen solchen Zugriff zu dokumentieren um damit die Bereitstellung ihrer möglichen Folgeseiten
auch auszulösen. Dies geschieht aber unabhängij von der laufenden Verarbeitung der Maschincnbe
„■·, fehle eines Programms.
Weiterbildungen der Erfindung sind in Unteran sprüchen gekennzeichnet und in der nachfolgendci
Beschreibung eines Ausführungsbeispiclcs der Erfin
dung näher erläutert.
Ein Ausführungsbeispiel der Erfindung wird im folgenden anhand der Zeichnung näher erläutert. Es
zeigt
Fig. 1 das Prinzipschaltbild einer datenverarbeitenden Anlage mit einem Zentralprozessor und einem
dreistufigen Speichersystem,
Fig. 2 einen aus CCD-Bausteinen aufgebauten Speichermodul in schematischer Darstellung,
Fig. 3 schematisch den Aufbau eines Tabellenspeichers, der zum Bilden der Adressen von Folgeseiten
benötigt wird,
Fig. 4 das Blockschaltbild für eine Speichersteuereinheit,
die dem Seitenpuffer und dem Hauptspeicher zugeordnet ist und
Fig. 5 schematisch den Ablauf einer durch die Speichersteuereinheit gesteuerten Bereitstellung der
Folgeseiten anhand eines Ablaufdiagramms.
Nach dem in Fig. 1 dargestellten Prinzipschaltbild einer datenverarbeitenden Anlage verkehrt ein Zentralprozessor
ZP mit einem dreistufigen Speichersystem, bestehend aus einem schnellen Pufferspeicher,
einem sogenannten »Cache« CA, einem Seitenpuffer SSP und einem Hauptspeicher HSP. Bei einem Arbeitsspeicherzugriff
adressiert der Zentralprozessor ZP zunächst das Cache CA über eine sogenannte
Hit/Miss-Logik HML, in der die Einträge im Cache zumindest teilweise assoziativ mit der gesuchten Speicheradresse
verglichen werden. Bei einem Treffer (Hit) wird die angeforderte Speicherinformation direkt
aus dem Cache gelesen.
Erst bei einem ergebnislosen Vergleich (Miss) wird zu den niedrigeren, in diesem Fall räumlich vereinigten
Speicherstufen, dem Seitenpuffer SSP und dem Hauptspeicher HSPzugegriffen. Dies wird durch eine
ihnen zugeordnete Speichersteuereinheit 557" gesteuert.
In diesem Ausführungsbeispiel sind diese zwei niedrigsten Speicherstufen aus CCD (Charge Coupled
Devices)-Bausteinen aufgebaut. In Fig. 1 ist angedeutet, daß der Hauptspeicher HSP 32 Speichermoduln
MODI bis MOD32 enthält, von denen einer
in Fig. 2 schematisch dargestellt ist. Daraus ist zu erkennen, daß 72 Speicherbausteine 5ßl bis 5572 einen
Speichermodul bilden, die ihrerseits 256 CCD-Schleifen 5Ll bis 5L256 enthalten. Wenn jede dieser
CCD-Schleifen eine Länge von 256 Bit aufweist, so ergibt sich eine Speicherkapazität des Moduls zu
524288 Byte, sofern ein Byte neun Bit, d. h. acht Daten - und ein Paritätsbit umfaßt. Der gesamte Hauptspeicher
umfaßt dann 16 MB. Wie schematisch angedeutet, enthält jede CCD-Schleife an einer homogen
Bitstelle eine Lese/Schreib-Station L/5. Der prinzipielle Aufbau derartiger CCD-Schleifen ist z. B. aus
»The Journal of Vacuum Science und Technology«, Volume 9 Nr. 4 Juli/August 1972, Seiten 1166 bis
1181 bekannt und wird daher hier nicht näher erläutert.
In Fig. 1 ist schematisch angedeutet, daß der CCD-Speicher, obwohl räumlich eine Einheit bildend,
strukturell in die beiden untersten Hierarchiestufen, einen Hauptspeicher HSP und einen Seitenpuffer
SSP gegliedert ist. Aus Fig. 2 geht hervor, daß jeweils die an der Lese/Schreib-Station L/S liegende Bitstelle
aller CCD-Schleifen SL diesem Seitenpuffer SSP zugeordnet ist. Bei der obenerwähnten Speicherkapazität
eines Speichermoduls MODm umfaßt dann der Anteil des Seitenpuffers SSP an einem Speichermodul
eine Speicherseite Sm mit einer Kapazität von 2 KByte in dem mit gestrichelten Linien angedeuteter
Block.
Je nach Art der Datenübertragung über die Schnittstelle zwischen dem Seitenpuffer 55P und dem
Hauptspeicher HSP ließe sich diese Speicherstruktui unterschiedlich aufteilen. Bei einer verhältnismäßig
geringen Datenbreite dieser Schnittstelle wird man die Speicherseite Sm seriell in den Seitenpuffer 55f
ίο übertragen und die Information in den CCD-Schleifer
des Hauptspeichers HSP ebenfalls seriell speichern In diesem Fall liegen aufeinanderfolgende Datenworte
einer Speicherseite an aufeinanderfolgender Speicherstellen der CCD-Schleifen einer Schleifengruppe,
die z. B. sämtliche ersten CCD-Schleifen 5Ll der Speicherbausteine 5Bl bis 5,872 umfaßt. Mar
wird in diesem Fall die Seitengröße so wählen, daC bei einer Seitenübertragung genau ein Umlauf allei
parallelarbeitenden Schleifen, d. h. einer Schleifengruppe über alle Speicherstellen erforderlich ist. Be
einer derartigen Speicherstruktur spricht man üblicherweise von einer Serienadressierung.
In Fig. 2 ist die zweite mögliche Struktur dargestellt, bei der man eine sogenannte Queradressierung
anwendet, mit der der obenerwähnte Speicheraufbai ermöglicht wird. Hier liegen die Worte einer Speicherseite
an homologen Speicherstellen verschiedenei CCD-Schleifengruppen. Alle Schleifengruppen eines
Speichermoduls MODm werden synchron verschoben, so daß an den Lese/Schreib-Stationen L/5 alle
Worte einer Speicherseite gleichzeitig anliegen. Dahei ist in Fig. 2 auch der mit gestrichelten Linien dargestellte
Block als Speicherseite 5m bezeichnet. Ah weiteres Beispiel für eine andere Speicherseite sine
die in einer Ebene liegenden Schleifenpositioner SLPn angedeutet, die die homologen Speichersteller
aller CCD-Schleifen umfassen und damit ebenfalls eine Speicherseite im Hauptspeicher HSP bilden.
Nach dem synchronen Schieben aller Schleifengruppen eines Speichermoduls MODm werden alle
Worte einer Speicherseite Sm an den Lese/Schreib-Stationen L/5 gehalten. Dazu müssen diese selbs'
speichernd ausgeführt und in den CCD-Schleifen eir Start/Stop-Betrieb möglich sein. Diese Forderung laß'
sich bei CCD-Speicherbausteinen z. B. in einer entsprechend abgewandelten MOS-Technologie erreichen.
Bei dieser Struktur des CCD-Speichers bilder Hauptspeicher HSP und Seitenpuffer SSP eine bauli-
so ehe Einheit mit einer internen Schnittstelle. Diese ha'
in jedem Speichermodul MODm eine Datenbreitt von einer Speicherseite Sm, die Worte einer Speicherseite
werden parallel übertragen. Dies geschieht mi' hoher Datenrate, da nur ein einfaches Schieben, nich1
aber Schieben und Auslesen erforderlich ist. Als wei teres Kennzeichen dieser Speicherstruktur ist die irr
Seitenpuffer SSP enthaltene Information nichtredun
dant gespeichert, d. h. der Hauptspeicher /fSPenthäl
diese Information nicht noch einmal.
bo Wie in der parallellaufenden Patentanmeldung F
2543589.6-53 »Hierarchisch aufgebautes, mehrstufiges Speichersystem und Verfahren zu dessen Betrieb«
näher erläutert ist, kann dem Seitenpuffer SSf noch ein Überlaufpuffer zugeordnet sein, der dei
schematischen Darstellung von Fig. 1 nicht entnehm bar ist. Darauf wurde verzichtete, da er nach außer
nicht als eigener Teilspeicher erkennbar ist, weil ei keine eigene, sondern zusammen mit dem Seitenpuf-
fer SSP eine Hierarchiestufe bildet. Er nimmt aus dem Seitenpuffer zu verdrängende Speicherseiten auf,
wenn diese weiterhin benutzt werden. So lassen die mehrfachen Seitenwechselanforderungen, die sogenannten
mehrfachen »Page faults« vermeiden, die sich sonst bei Anforderungen mehrerer Prozesse zu demselben
Speichermodul mit immer wieder neuem Einstellen der gerade angeforderten Speicherseite in den
Seitenpuffer SSP ergeben. Die aus Seitenpuffer SSP und Überlaufpuffer gebildete Hierarchiestufe kann
daher aus einem Speichermodul mehr als eine Speicherseite enthalten. Speicherzugriffe zu dieser Hierarchiestufe
werden wahlweise aus dem Seiten- oder dem Überlaufpuffer, gesteuert durch Speichersteuereinheit
SST bedient.
In diesem insoweit erläuterten mehrstufigen Speichersystem befinden sich die vollständigen Programme,
mit Ausnahme der in den Seitenpuffer SSP ausgelagerten Seiten, in der niedrigsten Hierarchiestufe,
dem Hauptspeicher HSP. Der Seitenpuffer SSP und das Cache CA enthalten jeweils wiederum nur
mehr Teile der in der niedrigeren Hierarchiestufe gespeicherten Information. Der Seitenpuffer SSP enthält
daher immer einige Programmseiten mehrerer verschiedener Programm, die der in Fig. 1 schematisch
angedeutete Zentralprozessor ZP simultan bearbeitet. Die Angabe eines einzigen Prozessors bedeutet
hierbei bezüglich des Aufbaues und der Betriebsweise im Speichersystem nur eine Einschränkung
in der Darstellung, jedoch nicht in der prinzipiellen Wirkungsweise, so daß die folgenden Erläuterungen
ebenso auf Mehrprozessoranlagen anzuwenden sind.
Mehrstufige Speichersysteme haben bekanntlich den Zweck, bei einer großen Speicherkapazität solche
Informationen, zu denen mit einer gewissen Wahrscheinlichkeit bald zugegriffen wird, so bereitzuhalten,
daß zu ihnen möglichst kurzfristig zugegriffen werden kann. Die sogenannten Ladestrategien, d. h.
die Verteilung der Informationen auf die einzelnen Hierarchiestufen des Speichersystems bestimmen daher
wesentlich die Effizienz einer gegebenen Speicherstruktur.
Ohne hier die bekannte Betriebsweise im Cache CA als der höchsten Hierarchiestufe mit kürzester
Zugriffszeit behandeln zu wollen, sei wenigstens der Vollständigkeit halber die heute allgemeine übiiche
Ladestrategie für den Seitenpuffer SSP angedeutet. Ergibt sich beim Speicherzugriff ein Miss im Cache
CA, so wird zum Seitenpuffer SSP durchgegriffen. Wenn dort das Fehlen der angeforderten Speicherseite
Sm festgestellt ist, wird diese Seite nachträglich in den Seitenpuffer SSP geholt. Dieses Verfahren hat
grundsätzlich den Nachteil einer Totzeit bis zur Beendigung der dann notwendigen Seitenübertragung aus
dem Hauptspeicher HSP, während der der anfordernde Prozessor unbeschäftigt ist oder das laufende
Programm unterbrochen werden muß. Um solche Seitenwechselanforderungen während eines Programmlaufs,
die sogenannten »Page faults« zu verringern, sind Ladestrategien des Vorausladens oder Voreinstellens
im Seitenpuffer SSP denkbar.
Eine derartige Ladestrategie soll nun im folgenden erläutert werden. In der in Fig. 1 schematisch angedeuteten
Datenverarbeitungsanlage werden verschiedene Prozesse simultan verarbeitet, d. h. es laufen
Teile von unterschiedlichen Programmen nacheinan-(ItM- iih.
Bekanntlich muß bei dem Ablauf eines Prozesses nicht ständig das gesamte Programm in einer höheren
Hierarchiestufe des Speichersystems zur Verfugung gehalten werden, wie theoretische Untersuchungen
erwiesen haben. Derartige Untersuchungen an Programmen aus den verschiedensten Anwendungsbereichen
haben nämlich ergeben, daß der aktive Bereich eines Programms, das sogenannte »Working
Set« unterschiedlich groß ist und zwischen 5 und etwa
ι" 35 Speicherseiten umfaßt. Die obere Grenze dieses
aktiven Programmbereiches wird dabei nur selten erreicht, kann jedoch auch in Ausnahmefällen einmal
überschritten werden.
Diese Erkenntnisse liegen dem Gedanken zugründe, daß sich mehrfache und sogar einfache Seitenwechselanforderungen
vermeiden lassen, wenn man die Menge der demächst benötigten Speicherseiten im Seitenpuffer vorbereitet. Diese Menge der
demnächst benötigten Speicherseiten umfaßt alle Datenbereiche und Programmseiten, in 'welche das Programm
von der gerade bearbeiteten Speicherseite aus springen könnte. Dieser Satz an Folgeseiten soll bereits
zum Zeitpunkt der Übersetzung eines Programms bestimmt und in einen »Anweisungskopf« am
Anfang jeder Speicherseite eingetragen werden.
Dazu wird vom Übersetzungsprogramm der datenverarbeitenden Anlage, dem sogenannten Compiler,
der Programme aus der Quellensprache, z. B. »FORTRAN« in die Maschinensprache übersetzt, verlangt,
JO daß er das Programm in Speicherseiten einteilt und
alle Programmanweisungen so analysiert, daß Seitenüberschreitungen in einem Speicherbereich am Anfang
jeder Speicherseite durch die Angabe der Seitennummern SNm der angesprochenen Folgeseite
J5 vermerkt werden. Da bei der Übersetzung eines Programmes
der Ort der Abspeicherung im Hauptspeicher HSP noch unbekannt ist, wird beim Laden des
Programmes eine Seitenzuordnungstabelle SZT erzeugt. In dieser Tabelle sind den vom Übersetzungsprogramm
gebildeten Seitennummern SNm die realen, vollständigen Seitenadressen MA, SP im
Hauptspeicher HSP zugeordnet. Diese Seitenzuordnungstabelle SZFwird in einen in Fig. 3 schematisch
dargestellten Tabellenspeicher TSP eingetragen. Für jedes Programm bzw. für jeden Prozeß PRi ist eine
solche Seitenzuordnungstabelle SZTi vorgesehen, die dem Prozeß über seine in der datenverarbeitenden
Anlage geführten Prozeßnummer /zugeordnet ist. Im Tabellenspeicher TSP kann daher die Prozeßnummer
ι zum Aufsuchen der richtigen Seitenzuordnungstabelle 5ZTi verwendet werden. Die Tabelle
selbst ist aufsteigend nach den vom Übersetzungsprogramm erzeugten Seitenummern 5Nm aufgebaut,
über die auch die Einträge in der Tabelle selbst adressierbar sind. Insgesamt wird daher durch alle Seitenzuordnungstabellen
SZT der Inhalt des Hauptspeichers HSP beschrieben.
Adressiert werden die Seitenzuordnungstabellen SZT wie folgt: Der Teilspeicher TSP enthält eine weitere
Tabelle, eine sogenannte Prozeßnummerntabelle PNT, deren Eintragszeilen nach Prozeßnummern PRi
geordnet, jeweils die Anfangsadresse ASZT der Seitenzuordnungstabelle SZTi des Prozesses PRi enthalten.
Die für den Zugriff zu dieser Prozeßnummernta-
b5 belle PNT im Tabellenspeicher TSP notwendige
Anfangsadresse A PNT steht als Fußpunktadresse in einem Arbeitsregister. Damit kann in einem ersten
Schritt die an einem festen Platz im Tabellcnsneicher
TSP stehende Prozeßnummerntabelle PNTadressiert
werden und aus der dem betreffenden Prozeß PRi zugeordneten Eintragszeile die Anfangsadresse
ASZT der zugehörigen Seitenzuordnungstabelle SZTi entnommen werden. Immer zu Beginn der Bearbeitungsphase
eines Prozesses wird diese Anfangsadresse ASZT der zugehörigen Seitenzuordnungstabelle
SZT der Prozeßnummerntabelle PNT entnommen. Die Adresse ist dann bis zu einem erneuten
Prozeßwechsel konstant und steht bis dahin in einem reservierten Arbeitsregister der Speichersteuereinheit.
Damit läuft ein Prozeß ab, bis einer der Speicherzugriffe eine Seitengrenze überschreitet. Dieses Kriterium
ist dann der Anstoß für die Speichersteuereinheit SST, die möglichen Folgeseiten einzustellen.
Dieser Vorgang wird anhand der in Fig. 4 als Blockschaltbild dargestellten Speichersteuereinheit
SST nunmehr erläutert. Um den Zusammenhang mit der schematischen Darstellung in Fig. 1 herzustellen,
ist ein Adreßregister AR angegeben, das 24 Bitstellen umfaßt. Mit dem Inhalt dieses Adreßregisters wird der
hier nicht mehr dargestellte CCD-Speicher bei Speicheranforderungen adressiert. Die ersten fünf Bitstellen
bilden eine Moduladresse MA mit einer Auswahl 1 aus 32. Die nächsten acht Bitstellen definieren eine
Schleifenposition, d. h. die homologen Speicherstellen innerhalb eines Speichermoduls mit einer Auswahl 1
aus 256 und damit eine Adresse einer Speicherseite SP. Die restlichen 11 Bitstellen bilden die Wortadresse
WA eines Datenwortes innerhalb der so adressierten Speicherseite. Bei einer Anforderung an
den CCD-Speicher wird diese Adresse der Speichersteuereinheit SST auf hier stärker hervorgehobenen
Leitungsbündeln zugeführt. Jedem Speichermodul des CCD-Speichers ist eines von 32 Steuermoduln
STl bis ST32 zugeordnet, an die diese Leitungsbündel
parallel angeschlossen sind. Diesen Steuermoduln wird parallel ebenfalls eine Steuerleitung ST zugeführt,
die ein Startsignal für einen Lese- oder Schreibvorgang im Seitenpuffer SSP abgibt.
Daneben enthält die dargestellte Speichersteuereinheit SST eine Steuereinrichtung zum Bereitstellen
der Folgeseiten. Diese besteht im wesentlichen aus einem Mikroprozessor MP. dem der anhand der
Fig. 4 erläuterte Tabellenspeicher TSP, ein Mikroprogrammspeicher MSP und ein Zwischenspeicher
ZSP zugeordnet sind. Außerdem ist an den Mikroprozessor MP ein erstes Arbeitsregister A-REG angeschlossen,
das die in oben beschriebener Weise ermittelte Anfangsadresse ASZT der dem laufenden
Prozeß zugehörigen Seitenzuordnungstabelle SZT enthält. Außerdem ist ein zweites Arbeitsregister B-
REG vorgesehen, das die vollständige Seitenadresse M/41, SPl der Speicherseite enthält, deren Folgeseiten
einzustellen sind. In ein drittes Arbeitsregister C- REG ist die vollständige Seitenadresse MA, SP der
gegenwärtig angeforderten Speicherseite eingetragen. Diesen beiden letztgenannten Registern B-REG bzw.
C-REG ist eine erste Vergleichseinrichtung KGl zugeordnet. Sobald die Registerinhalte ungleich sind,
wird der Mikroprozessor MP durch ein in einem Inverter / invertiertes Ausgangssignal der Vergleichseinrichtung VGl angestoßen, um den Anweisungskopf der Speicherseite und die oben beschriebenen
Tabellen zu adressieren. Gleichzeitig wird die vollständige Seitenadresse MA, SP der angeforderten
Speicherseite als jetzt neu gültige Vergleichsadresne MAl, SPAl über zwei als UND-Glieder UGl bzw.
UG2 schematisch angedeutete Torschaltungen in das zweite Arbeitsregister B-REG übernommen. Zu diesem
Zweck werden die beiden genannten UND-Glieder UGl bzw. UGI durch Jas invertiert·' Ausgangsnignal
der ersten Vergleichseinrichtung KGl aktiviert. Der vom Mikroprogramm des Mikroprozessors
MP gesteuerte Ablauf ergibt sich nun wie folgt: Der Mikroprozessor MP adressiert mit der im zweiten Arbeitsregister
B-REG stehenden Seitenadresse eine
iü Speicherseite im Seitenpuffer SSP und veranlaßt die
in ihrem Anweisungskopf stehenden Datenworte mit den Wortadressen WAO bis WAk in den Zwischenspeicher
ZSP zu übertragen, entnimmt dann dem an der Wortadresse WAO jeder Speicherseite beginnenden
Anweisungskopl: aus dem Zwischenspeicher ZSP den ersten Eintrag, d. h. eine der vom Übersetzungsprogramm
erzeugten Seitennummern SN. Mit der im ersten Arbeitsregister A-REG stehenden Anfangsadresse ASZT und dieser eine Distanzadresse darstel-
lenden Seitennummer SN wird der Tabellenspeicher TSP adressiert. Aus dem so aufgefundenen Eintrag
in der zugehörigen Seitenzuordnungstabelle SZT wird die vollständige Seitenadresse MA, SP entnommen
und über einen Multiplexer MUX an die den Steuermoduln STl bis 57'32 zugeführten Adreßleitungen
durchgeschaltet. Durch die Moduladresse MA wird ein Steuermodul ausgewählt und übernimmt selbständig
in noch zu erläuternder Weise die Steuerung für die Einstellung der angeforderten Speicherseite.
jo Während dies geschieht, läuft der obige Vorgang für die nächste einzustellende Folgeseite ab. Da die Zeit
zum Einstellen einer Speicherseite in den Seitenpuffer des CCD-Speichers im Mittel der Zeit eines halben
Schleifenumlaufes entspricht, die Bestimmung einer
j5 einzustellenden Folgeseite dagegen immer nur einige
Mikroprogrammschritte und einen Zugriff zum Tabellenspeicher TSP erfordert, kann angenommen
werden, daß die Folgeseite in allen Speichermoduln MODm nahezu simultan abläuft, d. h. genau genommen,
die Speichermoduln sehr rasch nacheinander gestartet werden.
Bei jeder derartigen Anforderung des Mikroprozessors MP, eine Folgeseite einzustellen, wird durch
die über den Multiplexer MUX durchgeschaltete Moduladresse MA' einer der Steuermoduln Säl bis
ST32 ausgewählt. Dies geschieht durch einen, in dem Steuermodul enthaltenen Decodierer DEC, der dann
ein weiteres UND-Glied UG3 aktiviert, das die Seitennummer SP' auf ein Speicherregister SPR durch-
schaltet. Nach der Übernahme dieser Seitenadresse in das Speicherregister SPR gibt dieses ein Quittungssignal Qm ab, das der Mikroprozessor MP empfängt
und von da ab die Adresse der nächsten Folgeseite ausgeben kann.
Ist die durch die Seitennummer SP bezeichnete Speicherseite bereits im Seitenpuffer SSP enthalten,
so kann direkt zu dieser Speicherseite mit Hilfe einer Wortadresse WA zugegriffen werden. Anderenfalls
muß die Seite erst in den Seitenpuffer SSP eingestellt werden. Um diesen Vorgang zu steuern, ist eine zweite
Vergleichseinrichtung VGl zum Vergleichen der Inhalte des Speicherregisters SPR und eines Zählerregisters
ZA vorgesehen. Der Inhalt dieses Zählerregisters gibt diejenige Schleifenposition im zugeordneten
b5 Speichermodul MODm an, die gerade an dessen
Lese/Schreib-Stationen L/Ssteht. Bei Gleichheit beider
Registerinhalte ist also die mit der Seitenadresse SP angeforderte Speicherseif.e im Seitenpuffer SSP
enthalten.
In diesem Fall gibt die Vergleichseinrichtung VGl
eirt Fertigsignal ab. das e;n viertes UND-Glied VGZ
vorbereitet, mit dem die Wortadresse WA auf ein weiteres Leitungsbündel WA' durchgeschaltet wird.
Diese Speicheranforderung wirkt sich im Seitenpuffer SSP jedoch nur dann aus, wenn gleichzeitig über ein
fünftes UND-Glied ein Startsignal 57" an den Seitenpuffer SSP abgegeben wird. In diesem fünften UND-Glied
UGS wird dazu das an die Speichersteuereinheit SST übergebene Startsignal ST unter der Nebenbedingung
durchgeschleift, daß die zweite Vergleichseinrichtung VGl ein Fertigsignal abgibt.
Solange die zweite Vergleichseinrichtung VGl bei
einer Anforderung auf einen Speicherzugriff kein FertigsignaJ abgibt, wird mit ihrem in einem weiteren
UND-Glied UG6 invertierten Ausgangssignal ein
Taktgeber TG auf eine Taktleitung T durchgeschaltet,
die dem Zählerregister ZA unddem CCD-Speicher zugeführt wird. Diese Taktleilung T liefert den
Schiebetakt für die CCD-Schleifen SO und bleibt so lange aktiviert, bis die zweite Vergleichseinrichtung
\ Gl ein Fertigsignal abgibt. Da dieser Einstellvorgang im zugeordneten Speichermodul MODk unabhängig
von den Vorgängen in anderen Speichermoduln ablaufen kann und jedem dieser Speichermoduln
MODm ein eigener Steuermodul 5Tm zugeordnet ist, können diese Einstellvorgänge der Folgeseiten in verschiedenen
Speichermoduln unabhängig voneinander ablaufen.
Bei dieser geschilderten Ladestrategie ist die Anzahl von Folgeseiten zu jeder einzelnen Speicherseite
sicherlich von der Seitengröße abhängig, so daß es bei diesem Konzept zweckmäßig sein dürfte, diese Seitengröße,
üblich sind zwischen 1 und 4 kB, nicht zu «roß zu wählen.
Außerdem ist darauf hinzuweisen, daß bei der geschilderten Ladestrategie mit der Bereitstellung eines
zukünftigen »Working Set« doch auch Störungen auftreten können. Immerhin ist der, wenn auch wohl seltene
Fall denkbar, daß nur wenige aufeinanderfolgende Speicheranforderungen innerhalb einer Speicherseite
ablaufen und dann unter Umständen ein sehr umfangreicher Satz an Folgeseiten noch nicht vollständig
eingestellt ist. In diesem Fall müßte der Prozessor auf die Beendigung des Einsteilens der Folgeseiten
warten. Dieser sicherlich seltene, programmabhängige Ausnahmefall einer Totzeit des anfordernden
Prozessors tritt jedoch bei den herkömmlichen Ladestrategien bei allen Seitenwechselanforderungen auf.
Außerdem ist es denkbar, daß in einem Prozeß sehi lange Datenfelder auftreten, die sich über mehrere
Speicherseiten erstrecken. In dem Fall wäre, da dei Einsprungpunkt des Prozesses irgendeines der Feldelemente
sein kann, eigentlich die Voreinstellung des gesamten Feldes nötig. In diesem FaI! wird es zweckmäßiger
sein, eine dann benötigte Speicherseite ersi auf Anforderung einzustellen, als eine große Zahl vor
Folgeseiten vorab auszuwählen.
Insgesamt wird jedoch das gezielte Vorauslader von zukünftig benötigten Speicherseiten in den Seitenpuffer,
von den angegebenen Ausnahmen abgesehen, keinerlei Totzeilen der anfordernden Prozessoren
bei Multiprozessorbetrieb bzw. der laufender Prozesse bei Multiprogrammbetrieb erfordern. Aucl
lassen sich die beiden geschilderten Ausnahmen in ih rem Auftreten noch weiter einschränken, wenn mai
über die interne Schnittstelle des Seitenpuffers 55/ zum Hauptspeicher HSP eine schnelle Datenübertra
gung gewährleisten kann, wozu das Konzept der ge schilderten »Queradressierung« bereits eine gute Vor
aussetzung bildet.
Hierzu 3 Blatt Zeichnungen
Claims (8)
1. Mehrstufiges Arbeitsspeichersystem für eine
simultan mehrere Prozesse bearbeitende Daten-Verarbeitungsanlage, dessen zwei niedrigste Speicherstufen
aus einem Hauptspeicher und einem nur eine Auswahl von Speicherseiten umfassenden
Seitenpuffer bestehen, zu dem bevorzugt zugegriffen wird, mit einer Einrichtung zum vor- ι ο
ausschauenden Ermitteln von im weiteren Programmablauf benötigten Speicherseiten und zum
Übertragen solcher Speicherseiten in den Seitenpuffer vor Durchführung von Befehlen, die Daten
innerhalb dieser Speicherseiten adressieren, gekennzeichnet durch
a) eine Vergleichseinrichtung ( KGl), die bei jeder Speicheranforderung feststellt, ob erstmals
zu einer neuen Speicherseite zugegriffen wird;
b) eine Steuereinrichtung (MP, MSP) zum Bereitstellen von Folgeseiten, die bei einem
festgestellten Seitenwechsel mit der Adresse der neuen Speicherseite einen Anweisungskopf (WAO... WAk) dieser bereits im Sei-
tenpuffer (SSP) bestehenden Speicherseite auswählt, in dem die Adressen sämtlicher aus
dieser Speicherseite sich möglicherweise ergebenden Folgeseiten gespeichert sind und
die diese Folgeseiten in den Seitenpuffer überträgt.
2. Mehrstufiges Arbeitsspeichersystem nach Anspruch 1, dadurch gekennzeichnet, daß die
Steuereinrichtung (MP, MSP) zum Bereitstellen von Folgeseiten einen Mikroprozessor (MPl), einen
zugeordneten Mikroprogrammspeicher (MSP) und einen Tabellenspeicher (TSP) zur
Speicherung von Übersetzungstabellen (SZTi, PNT) enthält, mit deren Hilfe reelle Seitenadressen
(MA', SP') aus den im Anweisungskopf gespeicherten Adressen der Folgeseiten gebildet
werden.
3. Mehrstufiges Arbeitsspeichersystem nach Anspruch 2, gekennzeichnet durch einen Tabellenspeicher
(MP, MSP) mit ausreichender Speicherkapazität für folgende Übersetzungstabellen:
a) für jeden Prozeß mit einem im Hauptspeicher (HSP) seitenweise gestreut gespeicherten
Programm ist eine eigene Seitenzuordnungstabelle (SZTi) vorgesehen, in der den fortlaufend
aufgelisteten Seitennummern (SNm) des Programmes jeweils die realen Seitenadressen
(MA, SP) im Hauptspeicher zugeordnet sind,
b) es ist eine Prozeßnummerntabelle (PNT) vorgesehen, deren Eintragszeilen fortlaufend
den simultan zu verarbeitenden Prozessen durch eine Prozeßnummer (PRi) zugeordnet
sind und die die Anfangsadresse (ASZT) der zugehörigen Seitenordnungstabelle (SZTi)
enthalten.
4. Mehrstufiges Arbeitsspeichersystem nach Anspruch 2 oder 3, dadurch gekennzeichnet, daß
seine beiden niedersten Speicherstufen als räumliche Einheit aus Speicherbausteinen mit Ladungs-Verschiebespeichern
derart modular aufgebaut sind, daß die Speicherschleifen (SLi) eines Moduls
(MODm) des Hauptspeichers (HSP) synchron verschiebbar sind und die homologen Speicherstellen
(z. B. SLPn) gemeinsam jeweils eine Speicherseite bilden und daß die Lese/Schreib-Stationen
(L/S) aller Speichermoduln den Seitenpuffer (SSP) als übergeordnete Speicherstufe ergeben.
5. Mehrstufiges Arbeitsspeichersystem nach Anspruch 4, dadurch gekennzeichnet, daß in e<ner
Speichersteuereinheit (SST) für die beiden niedersten Speicherstufen (HSP1 SSP) neben der
Steuereinrichtung (MP, MSP) zum Bereitstellen von Folgeseiten den Speichermoduln (MODm)
jeweils ein Steuermodul (Smm) zugeordnet ist, der zum Ansteuern einen Decodierer (DEC) für die
den zugeordneten Speichermodul auswählende Moduladresse (MA) enthält und eine Speicheranforderung
an diesen Speichermodul unabhängig von dem Zustand aller anderen, gleichartig aufgebauten
Steuermoduln steuert.
6. Mehrstufiges Arbeitsspeichersystem nach Anspruch 5 mit einem Mikroprozessor in der
Steuereinrichtung zum Bereitstellen von Folgeseiten, gekennzeichnet durch folgende Merkmale:
a) dem Mikroprozessor ist als weiterer Speicher ein Zwischenspeicher (ZSP) zugeordnet, in
dem bei einem Zugriff zu einer neuen Speicherseite die in ihrem Anweisungskopf stehenden
Datenworte (WAO... WAk) mit den Seitennummern aller möglichen Folgeseiten
zwischengespeichert werden,
b) an den Mikroprozessor ist eingangsseitig ein Arbeitsregister (A-REG) angeschlossen, das
die Anfangsadresse (ASZT) der Seitenzuordnungstabelle (SZTi) des gerade aktiven
Prozesses enthält
c) die Ausgangsleitungen des Mikroprozessors sind über einen Multiplexer (MUX) mit
Adreßleitungen verbunden, die an die Steuernioduln (STm) parallel angeschlossen sind.
7. Mehrstufiges Arbeitsspeichersystem nach Anspruch 5 oder 6 mit der in der Speichersteuereinheit
(SST) enthaltenen Vergleichseinrichtung, gekennzeichnet durch folgende Merkmale:
a) an die Vergleichseinrichtung (KGl) sind ein zweites Arbeitsregister (B-REG) zum Zwischenspeichern
der Seitenadresse (MAl, SPl) einer erstmals angeforderten Speicherseite und ein drittes Arbeitsregister (C-
REG) zum Zwischenspeichern der Seitenadresse (MA, SP) einer gerade angeforderten
Speicherseite angeschlossen;
b) die Vergleichseinrichtung ist ausgangsseitig über einen Inverter (/) sowohl mit dem Mikroprozessor
(MP) als auch mit zwei Torschaltungen (UGl, UG2) verbunden, die zwischen den eine vollständige Seitenadresse
führenden Adressleitungen und den Eingängen des zweiten Arbeitsregisters angeordnet
sind.
8. Mehrstufiges Arbeitsspeichersystem nach einem der Ansprüche 5 bis 7 mit Steuermoduln in
der Speichersteuereinheit, gekennzeichnet durch folgende Merkmale:
a) ein Zählerregister (ZA), desen Zählerstand unmittelbar die Schleifenposition der Speicherschleifen
(SL) des Speichermoduls (MODm) angibt, die an den Lese/Schreib-Stationen
(LJS) liegen;
b) ein Speicherregister (SPR) zum Zwischen-
speichern der Seitenadresse (SP) bei einer Speicheranforderung;
c) eine zweite, an diese beiden Register angeschlossene Vergleichseinrichtung (VGV), die
bei Gleichheit der RegisterinhalU; eine Fertigmeldung
abgibt und damit neben einem Startsignal (ST') eine Wortadresse (WA) auf
den Seitenpuffer (SSP) durchschaltet, und
d) ein Taktgeber (TG), dessen Ausgang bei Fehlen der Fertigmeldung auf eine Taktleitung
(Γ) durchschaltbar ist, die den Verschiebetakt für alle Speicherschleifen (5L)
im zugeordneten Speichermodul (MODm) liefert und zugleich an einen Zähleingang des
Zählerregisters angeschlossen ist.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2544071A DE2544071C3 (de) | 1975-10-02 | 1975-10-02 | Mehrstufiges Arbeitsspeichersystem |
FR7629386A FR2326740A1 (fr) | 1975-10-02 | 1976-09-30 | Procede pour faire fonctionner un systeme de memoire de travail structure de facon hierarchisee et comportant plusieurs etages, et montage pour la mise en oeuvre dudit procede |
GB41075/76A GB1565535A (en) | 1975-10-02 | 1976-10-04 | Heirarchically classified multilevel storage systems and methods of operating such systems |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2544071A DE2544071C3 (de) | 1975-10-02 | 1975-10-02 | Mehrstufiges Arbeitsspeichersystem |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2544071A1 DE2544071A1 (de) | 1977-06-02 |
DE2544071B2 true DE2544071B2 (de) | 1978-08-03 |
DE2544071C3 DE2544071C3 (de) | 1979-04-05 |
Family
ID=5958111
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2544071A Expired DE2544071C3 (de) | 1975-10-02 | 1975-10-02 | Mehrstufiges Arbeitsspeichersystem |
Country Status (3)
Country | Link |
---|---|
DE (1) | DE2544071C3 (de) |
FR (1) | FR2326740A1 (de) |
GB (1) | GB1565535A (de) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2853501A1 (de) * | 1978-12-12 | 1980-06-26 | Ibm Deutschland | Speicherhierarchie mit ladungsverschiebungsspeicher |
-
1975
- 1975-10-02 DE DE2544071A patent/DE2544071C3/de not_active Expired
-
1976
- 1976-09-30 FR FR7629386A patent/FR2326740A1/fr active Granted
- 1976-10-04 GB GB41075/76A patent/GB1565535A/en not_active Expired
Also Published As
Publication number | Publication date |
---|---|
GB1565535A (en) | 1980-04-23 |
DE2544071C3 (de) | 1979-04-05 |
DE2544071A1 (de) | 1977-06-02 |
FR2326740B1 (de) | 1982-11-12 |
FR2326740A1 (fr) | 1977-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2350884C2 (de) | Adreßumsetzungseinheit | |
DE2716051C2 (de) | Datenverarbeitungsanlage mit einem oder mehreren Prozessoren mit mindestem einem Ein-/Ausgabekanal mit mehreren Unterkanälen und mit einer Speicheranordnung, bei der zum Speicherzugriff Schlüssel verwendet werden | |
DE1966633C3 (de) | Datenverarbeitungsanlage mit überlappter Arbeitsweise bei Verwendung eines Haupt- und Pufferspeichers | |
DE2130299A1 (de) | Eingabe/Ausgabe-Kanal fuer Datenverarbeitungsanlagen | |
DE2617408B2 (de) | Speichermodul für ein Datenverarbeitungsgerät mit Speicherhierarchie | |
DE2744531A1 (de) | Elektronische datenverarbeitungsanlage | |
DE2829668A1 (de) | Kanaldatenpufferspeicher | |
DE3741953A1 (de) | Multiprozessorsystem und verfahren zur arbeitslastverteilung bei einem solchen | |
DE4216905C2 (de) | Superskalarprozessor | |
DE2454613C2 (de) | Kanaleinheit für die Steuerung der Datenübertragung auf einer Vielzahl von Kanälen zwischen den peripheren Einrichtungen und dem Hauptspeicher einer digitalen Datenverarbeitungsanlage | |
DE1774421B1 (de) | Mehrprogramm datenverarbeitungsanlage | |
DE2632277A1 (de) | Mikroprogrammierbarer computer fuer eine numerische steuervorrichtung | |
EP0265636A1 (de) | Multiprozessor mit mehreren mit Cache-Speichern ausgerüsteten Prozessoren und einem gemeinsamen Speicher | |
EP0012207B1 (de) | Speicherhierarchie mit Ladungsverschiebungsspeicher | |
DE2544071B2 (de) | Mehrstufiges Arbeitsspeichersystem | |
DE3535215C2 (de) | ||
DE60209425T2 (de) | Prozessor mit Speichervorrichtung und Adressengenerator | |
DE2542845C3 (de) | ||
EP0525214A1 (de) | Verfahren zum Betreiben eines Automatisierungsgeräts | |
DE2150292C2 (de) | Mikroprogrammgesteuerte Datenverarbeitungsanlage mit überlagerter Ausführung und Entnahme von Befehlen | |
DE1774421C (de) | Mehrprogramm-Datenverarbeitungsanlage | |
EP1085387A2 (de) | Speichersteuerung zum Durchführen von Schaltbefehlen für den Zugriff auf Speicherzellen | |
DE3427428A1 (de) | Verfahren und vorrichtung zur blocktransfersteuerung fuer einen pufferspeicher | |
DE2462728C2 (de) | Einrichtung zur Einstellung sowie zur Steuerung der Abarbeitung von verschiedenen Betriebszuständen einer Datenverarbeitungseinrichtung | |
DE2116639C3 (de) | Datenverarbeitungsanlage. Änm: Eysenbach, Wilfried, Dipl.-Ing., 8023 Pullach |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
8339 | Ceased/non-payment of the annual fee |