DE2544071C3 - Mehrstufiges Arbeitsspeichersystem - Google Patents

Mehrstufiges Arbeitsspeichersystem

Info

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
Application number
DE2544071A
Other languages
English (en)
Other versions
DE2544071B2 (de
DE2544071A1 (de
Inventor
Peter Dr.Phil. 8134 Poecking Schneider
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE2544071A priority Critical patent/DE2544071C3/de
Priority to FR7629386A priority patent/FR2326740A1/fr
Priority to GB41075/76A priority patent/GB1565535A/en
Publication of DE2544071A1 publication Critical patent/DE2544071A1/de
Publication of DE2544071B2 publication Critical patent/DE2544071B2/de
Application granted granted Critical
Publication of DE2544071C3 publication Critical patent/DE2544071C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems

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.
Dip Kpnntni*; ührr ilrn IJrnfanu ilrs /iikiinftipt'n
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.
Marh ilpin in Pin 1 rlarnpctr>lltf>n PrinvincrhalthiM
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)

Patentansprüche:
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.
DE2544071A 1975-10-02 1975-10-02 Mehrstufiges Arbeitsspeichersystem Expired DE2544071C3 (de)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2853501A1 (de) * 1978-12-12 1980-06-26 Ibm Deutschland Speicherhierarchie mit ladungsverschiebungsspeicher

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