DE2544071C3 - Mehrstufiges Arbeitsspeichersystem - Google Patents
Mehrstufiges ArbeitsspeichersystemInfo
- Publication number
- DE2544071C3 DE2544071C3 DE2544071A DE2544071A DE2544071C3 DE 2544071 C3 DE2544071 C3 DE 2544071C3 DE 2544071 A DE2544071 A DE 2544071A DE 2544071 A DE2544071 A DE 2544071A DE 2544071 C3 DE2544071 C3 DE 2544071C3
- 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.)
- Expired
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 u. a. die Verteilung seines Speicherplatzesauf
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. Diose 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 Speicherseitc liegen. Der Vorgriff beruht darin, daß bei der dynamischen Adreßübersetzung für
einen Maschinenbefehl festgestellt wird, ob ein Ope= rand 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-
i" fehls notwendig ist. Dies kann allerdings noch nicht
die generellen Nachteile dieser Ladestrategie vollständig beseitigen. 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-
ii 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 Vorgrifi auf die ?u 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 Befehlsbcreitstellungseinheit
und eine Befehlsausführungseinheit. Zwischen den letzteren ist ein Registerspeicher
angeordnet, der einen Befehlsstapel (stack)
jo 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 bereitszusteilen, daß ein Be-
4» fehl seine benötigten Daten jeweils in der huchsteri
hierarchischen Ebene vorfindet. Der Inhalt der Gesamtheit der schnellen Zwischenspeicher ist also ein
geordnetes Abbild des Befehlsstapels, d. h. als ein Datenstapel anzusehen.
4j 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
-,o 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
('em.η 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 Vurausladen so lange angehalten wird.
bo bis da Sprungziel feststeht oder vorausgeladene Daten
als fehlerhaft gekennzeichnet werden müssen.
Wie daraus erkennbar ist, haben die bekannten Einrichtungen den Nachteil, daß die Ladestrategie
immer dann zu einem Seitenfehler führt, der eine Un-
b<; terbrechung im Programmablauf bedingt, wenn das
Programm nicht mfhr sequentiell fortschreitet. Dabei
lassen diese Lösungen noch außer Betracht, daß in Date iverarbeitungs ·'-it ·η mit Mehrprogramm-
oder Multiprozcssorbetrieb 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, tlit· 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 I erhöht. Erniedrigt wird dieser Zählerstand
tiir! einen entsprechenden 5etr2° 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 Bearbeitungszeit 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 ernsut 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 Prozesse besser als bisher berücksichtigt wird. Das bedeutet insbesondere, für einen laufenden
Prozeß bei der Ladestrategie in den Seitenpuffer auch den nicht rein sequentiellen Prozeßablauf zu beherrschen.
Diese Aufgabe wird bei einem mehrstufigen Arbeitsspeichersystem der genannten Art erfindungsgemäß
gelöst durch die im Kennzeichen des Hauptanspruchs beschriebenen Merkmale. Die bisherigen
Ladestrategien 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
i'i 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
i'i 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.
in »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
_>■> soll. In diesem vielfach komplizierten Übersetzungsvorgang wird u. a. auch die Seitenstruktur eines virtuellen
Programmes festgelegt, so können dabei auch ohne weheres alle Befehle erkannt werden, die bei
ihrer Verarbeitung eventuell einen Seitenwechsel er-
)<> 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-
r> tenden Anlage ablauffähig zu sein, werden den Programmierern
solcher Programme dadurch keinerlei Beschränkungen auferlegt. Genauso wie der Obersetzungsvorgang
für ein Programm einmalig ist, solange es auf einer bestimmten Datenverarbeitungsanlage
4(1 mit einer bestimmten Maschinenbefehlsliste ablaufen
soll, genauso stehen dann die Informationen über die Folgeseiten ständig zur Verfügung und brauchen beim
erneuten Laden eines solchen Programms oder seiner eigentlichen Verarbeitung in der datenverarbeitenden
4-, 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 Bereitstellungsvorgang
von Folgeseiten bei einem Speichersystem gemäß der Erfindung ohne Behinderung eines laufenden
Prozesses ein wesentlich größerer Zeitraum zur Verfugung, in dem Folgeseiten noch eingestellt werden
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 Zugriff
zu einer bereitgestellten Speicherseite ist es nur notwendig, einen solchen Zugriff zu dokumentieren,
um damit die Bereitstellung ihrer möglichen Folgeseiten auch auszulösen. Dies geschieht aber unabhängig
von der laufenden Verarbeitung der Maschinenbefehle eines Programms.
WeiterbildunCTen der Erfindun0 sind in L^nteransprüchen
gekennzeichnet und in der nachfolgenden Beschreibung eines Ausführungsbeispieles der Erfin-
dung näher erläutert.
Ein Ausfiihrungsbeispiel der Erfindung wird im folgenden anhand der Zeichnung näher erläutert. Es
zeigt
Fig. 1 das Prinzipschaltbild einer daten verarbeitenden Anlage mit einem Zentralprozessor und einem
dreistufigen Speichersystem,
Fi(» 2 einen aus CCD-Baustcinen aufgebauten
Speichermodul in schematischer Darstellung,
Fig. 3 schematisch den Aufbau eines Tabellenspeichers, der zum Bilden der Adressen vor. Folgeseiten
benotigt 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 Speicherstcuereinheit gesteuerten Bereitstellung der
Folgeseiten anhand eines Ablaufdiagramms.
eine Speicherseite Sm mit einer Kapazität von 2
KByte in dem mit gestrichelten Linien angedeuteten Block.
Je nach Art der Datenübertragung über die
") Schnittstelle zwischen dem Seitenpuffer SSP und dem
Hauptspeicher HSP ließe sich diese Speicherstruktur unterschiedlich aufteilen. Bei einer verhältnismäßig
geringen Datenbreite dieser Schnittstelle wird man die Speicherseite Sm seriell in den Seitenpuffer SSP
in übertragen und die Information in den CCD-Schleifen
des Hauptspeichers HSP ebenfalls seriell speichern. In diesem Fall liegen aufeinanderfolgende Datenworte
einer Speicherseite an aufeinanderfolgenden Speichcrstellen der CCD-Schleifen einer Schlcifen-
ii gruppe,die z. B. sämtliche ersten CCD-Schleifen SLi
der Speicherbausteine SBl bis SBTl umfaßt. Man
wird in diesem Fall die Seitengröße so wählen, daß bei einer Seitenübertragung genau ein Umlauf aller
illhpitpnHpn Schleifen d. h. einer Schleifen-
ciner datenverarbeitenden Anlage verkehrt ein Zentialprozessor
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 Zcntralprozessor 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
us 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 557gesteuert.
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 MODTtI enthält, von denen einer
in Fig. 2 schematisch dargestellt ist. Daraus ist zu erkennen, daß 72 Speicherbausteine SBl bis 5Ö72 einen
Speichermodul bilden, die ihrerseits 256 CCD-Schleifen SLl 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 US. 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
SSPgegliedert 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 2(i gruppe über alle Speicherstellen erforderlich ist. Bei
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 Speicheraufbau
ermöglicht wird. Hier liegen die Worte einer Speicherseite an homologen Speicherstellen verschiedener
CCD-Schleifengruppen. Alle Schleifengruppen eines Speichermoduls MODm werden synchron verscho-
j(i ben, so daß an den Lese/Schreib-Stationen L/S alle
Worte einer Speicherseite gleichzeitig anliegen. Daher ist in Fig. 2 auch der mit gestrichelten Linien dargestellte
Block als Speicherseite 5m bezeichnet. Als weiteres Beispiel für eine andere Speicherseite sind
j-, die in einer Ebene liegenden Schleifenpositionen
SLPn angedeutet, die die homologen Speicherstellen aller CCD-Schleifen umfassen und damit ebenfalls
eine Speicherseite im Hauptspeicher HSP bilden.
Nach dem synchronen Schieben aller Schleifen-
4(i gruppen eines Speichermoduls MODm werden alle
Worte einer Speicherseite Sm an den Lese/Schreib-Stationen L/S gehalten. Dazu müssen diese selbst
speichernd ausgeführt und in den CCD-Schleifen ein Start/Stop-Betrieb möglich sein. Diese Forderung läßt
sich bei CCD-Speicherbausteinen z. B. in einer entsprechend abgewandelten MOS-Technologie erreichen.
Bei dieser Struktur des CCD-Speichers bilden Hauptspeicher HSP und Seitenpuffer SSP eine bauliehe
Einheit mit einer internen Schnittstelle. Diese hat in jedem Speichermodul MODm eine Datenbreite
vo·.: einer Speicherseite 5m, die Worte einer Speicherseite werden parallel übertragen. Dies geschieht mit
hoher Datenrate, da nur ein einfaches Schieben, nicht aber Schieben und Auslesen erforderlich ist. Als weiteres
Kennzeichen dieser Speicherstruktur ist die im Seitenpuffer 55P enthaltene Information nichtredundant
gespeichert, d. h. der Hauptspeicher HSP enthält diese Information nicht noch einmal.
Wie in der parallellaufenden Patentanmeldung P 2543589.6-53 »Hierarchisch aufgebautes, mehrs'ufiges
Speichersystem und Verfahren zu dessen Betrieb« näher erläutert ist, kann dem Seitenpuffer 55P
noch ein Überlaufpuffer zugeordnet sein, der der schematischen Darstellung von Fig. 1 nicht entnehmbar
ist. Darauf wurde verzichtete, da er nach außen nicht als eigener Teilspeicher erkennbar ist, weil er
keine eigene, sondern zusammen mit dem Seitenpuf-
fer 55P 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 55P 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
55T bedient.
In diesem insoweit erläuterten mehrstufigen Speichersystem
befinden sich die vollständigen Programme, mit Ausnahme der in den Seitenpuffer 55P
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 55P 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 ;>olche
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 übliche
Ladestrategie für den Seitenpuffer 55P angedeutet. Ergibt sich beim Speicherzugriff ein Miss im Cache
CA, so wird zum Seitenpuffer 55P durchgegriffen. Wenn dort das Fehlen der angeforderien Speicherseite
Sm festgestellt ist, wird diese Seite nachträglich in den Seitenpuffer 55P 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 55P 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 nacheinander ab.
Bekanntlich muß bei dem Ablauf eines Prozesses nicht ständig das gesamte Programm in einer höheren
Hierarchiestuic des Speichersystems zur Verfügung 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, kanu 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 Speichers?iten
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 Speicherseitc 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,
daß er das Programm in Speicherseiten einteilt und alle Programmanweisungen so analysiert, daß Seiten-Überschreitungen
in einem Speicherbereich am Anfang jeder Slpeicherseite durch die Angabe der Seitcnnummern
SNm der angesprochenen Folgeseite 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 5ZT erzeugt. In dieser Tabelle sind den vom Ubersetzungsprogramm
gebildeten Seitennummern SNm die realen, vollständigen Seitenadressen MA, SP im
Hauptspeicher HSP zugeordnet. Diese .Seitenzuordnungstabelle
5Z7"wird in einen in Fig. 3 schematisch dargestellten Tabellenspeicher TSP eingetragen. Für
jedes Programm bzw. für jeden Prozeß PRi ist eine solche Seiterizuordnungstabelle SZTi vorgesehen, die
dem Prozeß über seine in der datenverarbeitenden Anlage geführten Prozeßnummer ι zugeordnet ist. Im
Tabellenspeiicher Γ5Ρ kann daher die Prozeßnummer
i zum Aufsuchen der richtigen Seitenzuordnungstabelle SZTi verwendet werden. Die Tabelle
selbst ist aufsteigend nach den vom Übersetzungsprogramm erzeugten Seitenummern SNm aufgebaut,
über die auch die Einträge in der Tabelle selbst adressierbarsind.
Insgesamt wird daher durch alle Seitenzuordnungstabellen 5ZT der Inhalt des Hauptspeichers
HSP beschrieben.
Adressiert werden die Seitenzuordnungstabellen SZT wie folgt: Der Teilspeicher T5P 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ßnummerntabelle PNT im Tabellenspeicher Γ5Ρ notwendige
Anfangsadresse APNT steht als Fußpunktadresse in einem Arbeitsregister. Damit kann in einem ersten
Schritt die aji einem festen Platz im Tabellenspeicher
/Anstehende Prozeßnummerntabelle PNTadressiert
werden und aus der dem betreffenden Prozeß PR; zugeordneten Eintragszeile die Anfangsadresse
ASZT i!er zugehörigen Seitenzuordnungstabelle SZTi entnommen werden. Immer zu Beginn der Bearbeitungsphasc
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 -.lehr dargestellte CCD-Speiclier bei Speicheranforderungen
adressiert. Die ersten fünf Bitstellen bilden eine Moduladresse MA mit einer Auswahl I
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 innerhalbdersoadressierten
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-Speichcrs ist eines von 32 Steuermoduln STl bis S732 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 75/', ein Mikroprogrammspeicher
MSP und ein Zwischenspeicher ZSP zugeordnet sind. Außerdem ist an den Mikroprozessor
MP ein erstes Arbeitsregister A-REC 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 MAl. SPl der Speicherseite enthält, deren Folgeseiten
einzustellen sind. In ein drittes Arbeitsregister C- REC 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 VGl zugeordnet.
Sobald die Registerinhalte ungleich sind, wird der Mikroprozessor MP durch ein in einem Inverter
/ invertiertes Ausgangssignal der Vergleichseinrichtung KGl angestoßen, um den Anweisungskopf der Speicherseite und die oben beschriebenen
Tabellen zu adre r:eren. Gleichzeitig wird die vollständige
Seitenadresse MA, SP der angeforderten Speicherseite als jetzt neu gültige Vergleichsadresse
MAl. SPAl über zwei als UND-Glieder UGl bzw. VGl schematisch angedeutete Torschaltungen in das
zweite Arbeitsregister B-REG übernommen. Zu diesem Zweck werden die beiden genannten UND-Glieder
UG1 bzw. UGl durch das invertierte Ausgangssignal
der ersten Vergle.ichseinrichtung KCl 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
Speicherseite im Seitenpuffer SSP und veranlaßt dL 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
Anweisungskopf 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 ASZTuna dieser eine Distanzadresse darstellenden
Seitennummer SN wird der Tabellensneicher 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 Steucrmoduln 57"I bis STiI 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.
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 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 Modulad/esse
MA' einer der Steuermoduln ^aI bis
5732 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 durchschaltet. 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.
1st 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
Speichermodul MODm an. die gerade an dessen Lese/Schreib-Stationen L S steht. Bei Gleichheit beider
Registerinhaite ist also die mit der Seitenadresse SP -'geforderte Sr :chjrseite im Seitenpuffer SSP
enthalten.
In diesem Fall gibt die Vergleichseinrichtung VGl ein Fertigsignal ab, das ein viertes UND-Glied UGl
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 ST 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
Fertigsignal 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 Taktleitung T liefert den Schiebetakt für die CCD-Schleifen SO und bleibt so
lange aktiviert, bis dt« zweite Vergleichseinrichtung VGl ein Fertigsignal abgibt. Da dieser EinstHlvorgang
im zugeordneten Speichermodul MODk unabhängig von den Vorgängen in anderen Speichernioduln
ablaufen kann und jedem dieser Speichermoduln MODm ein eigener Steuermodul STm zugeordnet ist,
können diese Einstellvorgänge der Folgeseiten in versrhiedenen 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 groß 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 Pro-
|Π zessor auf die Beendigung des Einstellens 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ß sehr lange Datenfelder auftreten, die sich über mehrere
Speicherseiten erstrecken. In dem Fall wäre, da der Einsprungpunkt des Prozesses irgendeines der Feldelemente
sein kann, eigentlich die Voreinstellung des gesamten Feldes nötig. In diesem Fall wird es zweckmäßiger
sein, eine dann benötigte Speicherseite erst auf Anforderung einzustellen, als eine große Zahl von
Folgeseiten vorab auszuwählen.
Insgesamt: wird jedoch das gezielte Vorausladen von zukünftig benötigten Speicherseiten in den Seitenpuffer,
von den angegebenen Ausnahmen abgesehen, keinerlei Totzeiten der anfordernden Prozessoren
bei Multiprozcssorbctrieb bzw. der laufenden Prozesse bei Multiprogrammbetrieb erfordern. Auch
ίο lassen sich die beiden geschilderten Ausnahmen in ihrem
Auftreten noch weiter einschränken, wenn man über die interne Schnittstelle des Seitenpuffers SSP
zum Hauptspeicher HSP eine schnelle Datenübertragung gewährleisten kann, wozu das Konzept der ge-
r> schilderten »Queradressierung« bereits eine gute Voraussetzung
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, ge- π kennzeichnet durch
a) eine Vergleichseinrichtung (VGl), die bei jeder Speicheranforderung feststellt, ob erstmals
zu einer neuen Speicherseite zugegriffen wird; -°
b) eine Steuereinrichtung (MP, MSP) zum Bereitsteflen
von Folgeseiten, die bei einem festgestellten Seitenwechsel mit der Adresse
der neuen Speicherseite einen Anweisungskopf (WAO... WAk) dieser bereits im Sei- >5
tenpuffer (SSP) bestehenden Speicherseite auswählt, in dem die Adressen sämtlicher aus
dieser Speienerseite sich möglicherweise ergebenden Folgeseiten gespeichert sind und
die diese Folgeseiter, in den Seitenpuffer jo überträgt.
2. Mehrstufiges Arbeitsspeichersystem nach Anspruch 1, dadurch gekennzeichnet, daß die
Steuereinrichtung (hlP, MLP) zum Bereitstellen
von Folgeseiten einen Mikroprozessor ( MPl), einen zugeordneten Mikr Programmspeicher
(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 Tabeilenspeicher
(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 fort- -,0
laufend 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
(«t. 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 einer
Speicheisteuereinheit (SST) für die beiden niedersten Speicherstufen (HSP, 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
denn bei einem Zugriff zu einer neuen Speicherseite die in ihrem Anweisungskopf stehenden
Datenworte ( WAO... WAk) mit den Seiiiennurornern aiier möglichen Foigcseiicn
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 Steuermoduln (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, UGl) verbunden, die
zwischen den eine vollständige Seitenadresse führenden Adresslcitungen 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-Sta(ionen (L/S) liegen;
b) ein Speicherregister (SPR) zum Zwischen-
speichern der Seitenadresse (SP) bei einer Speicheranforderung;
c) eine zweite, an diese beiden Register angeschlossene Vergleichseinrichtung (VGl), die
bei Gleichheit der Registerinhalte 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
(T) durchschaltbar ist, die den Verschiebetakt für alle Speicherschleifen (SL)
im zugeordneten Speichermodul (MODm) liefert und zugleich an einen Zähleingang des
Zählerregisterc. 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 DE2544071B2 (de) | 1978-08-03 |
DE2544071C3 true 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 |
---|---|
DE2544071B2 (de) | 1978-08-03 |
FR2326740A1 (fr) | 1977-04-29 |
DE2544071A1 (de) | 1977-06-02 |
FR2326740B1 (de) | 1982-11-12 |
GB1565535A (en) | 1980-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2350884C2 (de) | Adreßumsetzungseinheit | |
DE2415900C3 (de) | Rechenautomat mit mehreren mit je einem Vorratsspeicher versehenen Rechenanlagen | |
DE1966633C3 (de) | Datenverarbeitungsanlage mit überlappter Arbeitsweise bei Verwendung eines Haupt- und Pufferspeichers | |
DE1524102C3 (de) | Elektronische, aus Baueinheiten aufgebaute Datenverarbeitungsmaschine | |
DE2542010C2 (de) | Datenverarbeitende Anlage | |
DE2829668A1 (de) | Kanaldatenpufferspeicher | |
DE2130299A1 (de) | Eingabe/Ausgabe-Kanal fuer Datenverarbeitungsanlagen | |
DE2839726A1 (de) | Datenverarbeitungsanlage mit verteilter steuerarchitektur in einem multiprozessor-system | |
DE3508291A1 (de) | Realzeit-datenverarbeitungssystem | |
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 | |
WO2017140504A1 (de) | Verfahren und vorrichtung zum betreiben eines steuergeräts | |
DE2912073A1 (de) | Stapelspeicheranordnung zur kurzzeitigen speicherung von informationen bei nichtabsetzbarkeit dieser informationen in einem datenverarbeitungssystem | |
DE2720842C3 (de) | Datenübertragungssystem | |
DE3142504A1 (de) | Mehrfachplattenspeicher-uebertragungssystem | |
DE1774421B1 (de) | Mehrprogramm datenverarbeitungsanlage | |
DE2544071C3 (de) | Mehrstufiges Arbeitsspeichersystem | |
EP0280954B1 (de) | Verfahren zur Steuerung des Datenaustausches zwischen Verarbeitungseinheiten und einem Speichersystem mit Cachespeicher in Datenverarbeitungsanlagen, sowie ein entsprechend arbeitender Cachespeicher | |
DE2542845C3 (de) | ||
DE2542102C2 (de) | Datenverarbeitende Anlage | |
EP0970426B1 (de) | Abhängigkeitssteuerung für überlappende speicherzugriffe | |
DE60209425T2 (de) | Prozessor mit Speichervorrichtung und Adressengenerator | |
DE1774466B2 (de) | Datenverarbeitungsanlage | |
EP0156989A1 (de) | Verfahren und Anordnung zur zeitgerechten Bereitstellung von reellen Speicheradressen für den direkten Zugriff zum Hauptspeicher durch periphere Geräte in einer Datenverarbeitungsanlage | |
DE2359036C2 (de) | Vorrichtung zum Koppeln eines Zentralspeichers mit mehreren Rechenanlagen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
8339 | Ceased/non-payment of the annual fee |