DE2544071B2 - Mehrstufiges Arbeitsspeichersystem - Google Patents

Mehrstufiges Arbeitsspeichersystem

Info

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

Claims (8)

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, gekennzeichnet durch
a) eine Vergleichseinrichtung ( KGl), die bei jeder Speicheranforderung feststellt, ob erstmals zu einer neuen Speicherseite zugegriffen wird;
b) eine Steuereinrichtung (MP, MSP) zum Bereitstellen von Folgeseiten, die bei einem festgestellten Seitenwechsel mit der Adresse der neuen Speicherseite einen Anweisungskopf (WAO... WAk) dieser bereits im Sei- tenpuffer (SSP) bestehenden Speicherseite auswählt, in dem die Adressen sämtlicher aus dieser Speicherseite sich möglicherweise ergebenden Folgeseiten gespeichert sind und die diese Folgeseiten in den Seitenpuffer überträgt.
2. Mehrstufiges Arbeitsspeichersystem nach Anspruch 1, dadurch gekennzeichnet, daß die Steuereinrichtung (MP, MSP) zum Bereitstellen von Folgeseiten einen Mikroprozessor (MPl), einen zugeordneten Mikroprogrammspeicher (MSP) und einen Tabellenspeicher (TSP) zur Speicherung von Übersetzungstabellen (SZTi, PNT) enthält, mit deren Hilfe reelle Seitenadressen (MA', SP') aus den im Anweisungskopf gespeicherten Adressen der Folgeseiten gebildet werden.
3. Mehrstufiges Arbeitsspeichersystem nach Anspruch 2, gekennzeichnet durch einen Tabellenspeicher (MP, MSP) mit ausreichender Speicherkapazität für folgende Übersetzungstabellen:
a) für jeden Prozeß mit einem im Hauptspeicher (HSP) seitenweise gestreut gespeicherten Programm ist eine eigene Seitenzuordnungstabelle (SZTi) vorgesehen, in der den fortlaufend aufgelisteten Seitennummern (SNm) des Programmes jeweils die realen Seitenadressen (MA, SP) im Hauptspeicher zugeordnet sind,
b) es ist eine Prozeßnummerntabelle (PNT) vorgesehen, deren Eintragszeilen fortlaufend den simultan zu verarbeitenden Prozessen durch eine Prozeßnummer (PRi) zugeordnet sind und die die Anfangsadresse (ASZT) der zugehörigen Seitenordnungstabelle (SZTi) enthalten.
4. Mehrstufiges Arbeitsspeichersystem nach Anspruch 2 oder 3, dadurch gekennzeichnet, daß seine beiden niedersten Speicherstufen als räumliche Einheit aus Speicherbausteinen mit Ladungs-Verschiebespeichern derart modular aufgebaut sind, daß die Speicherschleifen (SLi) eines Moduls (MODm) des Hauptspeichers (HSP) synchron verschiebbar sind und die homologen Speicherstellen (z. B. SLPn) gemeinsam jeweils eine Speicherseite bilden und daß die Lese/Schreib-Stationen (L/S) aller Speichermoduln den Seitenpuffer (SSP) als übergeordnete Speicherstufe ergeben.
5. Mehrstufiges Arbeitsspeichersystem nach Anspruch 4, dadurch gekennzeichnet, daß in e<ner Speichersteuereinheit (SST) für die beiden niedersten Speicherstufen (HSP1 SSP) neben der Steuereinrichtung (MP, MSP) zum Bereitstellen von Folgeseiten den Speichermoduln (MODm) jeweils ein Steuermodul (Smm) zugeordnet ist, der zum Ansteuern einen Decodierer (DEC) für die den zugeordneten Speichermodul auswählende Moduladresse (MA) enthält und eine Speicheranforderung an diesen Speichermodul unabhängig von dem Zustand aller anderen, gleichartig aufgebauten Steuermoduln steuert.
6. Mehrstufiges Arbeitsspeichersystem nach Anspruch 5 mit einem Mikroprozessor in der Steuereinrichtung zum Bereitstellen von Folgeseiten, gekennzeichnet durch folgende Merkmale:
a) dem Mikroprozessor ist als weiterer Speicher ein Zwischenspeicher (ZSP) zugeordnet, in dem bei einem Zugriff zu einer neuen Speicherseite die in ihrem Anweisungskopf stehenden Datenworte (WAO... WAk) mit den Seitennummern aller möglichen Folgeseiten zwischengespeichert werden,
b) an den Mikroprozessor ist eingangsseitig ein Arbeitsregister (A-REG) angeschlossen, das die Anfangsadresse (ASZT) der Seitenzuordnungstabelle (SZTi) des gerade aktiven Prozesses enthält
c) die Ausgangsleitungen des Mikroprozessors sind über einen Multiplexer (MUX) mit Adreßleitungen verbunden, die an die Steuernioduln (STm) parallel angeschlossen sind.
7. Mehrstufiges Arbeitsspeichersystem nach Anspruch 5 oder 6 mit der in der Speichersteuereinheit (SST) enthaltenen Vergleichseinrichtung, gekennzeichnet durch folgende Merkmale:
a) an die Vergleichseinrichtung (KGl) sind ein zweites Arbeitsregister (B-REG) zum Zwischenspeichern der Seitenadresse (MAl, SPl) einer erstmals angeforderten Speicherseite und ein drittes Arbeitsregister (C- REG) zum Zwischenspeichern der Seitenadresse (MA, SP) einer gerade angeforderten Speicherseite angeschlossen;
b) die Vergleichseinrichtung ist ausgangsseitig über einen Inverter (/) sowohl mit dem Mikroprozessor (MP) als auch mit zwei Torschaltungen (UGl, UG2) verbunden, die zwischen den eine vollständige Seitenadresse führenden Adressleitungen und den Eingängen des zweiten Arbeitsregisters angeordnet sind.
8. Mehrstufiges Arbeitsspeichersystem nach einem der Ansprüche 5 bis 7 mit Steuermoduln in der Speichersteuereinheit, gekennzeichnet durch folgende Merkmale:
a) ein Zählerregister (ZA), desen Zählerstand unmittelbar die Schleifenposition der Speicherschleifen (SL) des Speichermoduls (MODm) angibt, die an den Lese/Schreib-Stationen (LJS) liegen;
b) ein Speicherregister (SPR) zum Zwischen-
speichern der Seitenadresse (SP) bei einer Speicheranforderung;
c) eine zweite, an diese beiden Register angeschlossene Vergleichseinrichtung (VGV), die bei Gleichheit der RegisterinhalU; eine Fertigmeldung abgibt und damit neben einem Startsignal (ST') eine Wortadresse (WA) auf den Seitenpuffer (SSP) durchschaltet, und
d) ein Taktgeber (TG), dessen Ausgang bei Fehlen der Fertigmeldung auf eine Taktleitung (Γ) durchschaltbar ist, die den Verschiebetakt für alle Speicherschleifen (5L) im zugeordneten Speichermodul (MODm) liefert und zugleich an einen Zähleingang des Zählerregisters angeschlossen ist.
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 true DE2544071B2 (de) 1978-08-03
DE2544071C3 DE2544071C3 (de) 1979-04-05

Family

ID=5958111

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2544071A Expired DE2544071C3 (de) 1975-10-02 1975-10-02 Mehrstufiges Arbeitsspeichersystem

Country Status (3)

Country Link
DE (1) DE2544071C3 (de)
FR (1) FR2326740A1 (de)
GB (1) GB1565535A (de)

Families Citing this family (1)

* 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
GB1565535A (en) 1980-04-23
DE2544071C3 (de) 1979-04-05
DE2544071A1 (de) 1977-06-02
FR2326740B1 (de) 1982-11-12
FR2326740A1 (fr) 1977-04-29

Similar Documents

Publication Publication Date Title
DE2350884C2 (de) Adreßumsetzungseinheit
DE2716051C2 (de) Datenverarbeitungsanlage mit einem oder mehreren Prozessoren mit mindestem einem Ein-/Ausgabekanal mit mehreren Unterkanälen und mit einer Speicheranordnung, bei der zum Speicherzugriff Schlüssel verwendet werden
DE1966633C3 (de) Datenverarbeitungsanlage mit überlappter Arbeitsweise bei Verwendung eines Haupt- und Pufferspeichers
DE2130299A1 (de) Eingabe/Ausgabe-Kanal fuer Datenverarbeitungsanlagen
DE2617408B2 (de) Speichermodul für ein Datenverarbeitungsgerät mit Speicherhierarchie
DE2744531A1 (de) Elektronische datenverarbeitungsanlage
DE2829668A1 (de) Kanaldatenpufferspeicher
DE3741953A1 (de) Multiprozessorsystem und verfahren zur arbeitslastverteilung bei einem solchen
DE4216905C2 (de) Superskalarprozessor
DE2454613C2 (de) Kanaleinheit für die Steuerung der Datenübertragung auf einer Vielzahl von Kanälen zwischen den peripheren Einrichtungen und dem Hauptspeicher einer digitalen Datenverarbeitungsanlage
DE1774421B1 (de) Mehrprogramm datenverarbeitungsanlage
DE2632277A1 (de) Mikroprogrammierbarer computer fuer eine numerische steuervorrichtung
EP0265636A1 (de) Multiprozessor mit mehreren mit Cache-Speichern ausgerüsteten Prozessoren und einem gemeinsamen Speicher
EP0012207B1 (de) Speicherhierarchie mit Ladungsverschiebungsspeicher
DE2544071B2 (de) Mehrstufiges Arbeitsspeichersystem
DE3535215C2 (de)
DE60209425T2 (de) Prozessor mit Speichervorrichtung und Adressengenerator
DE2542845C3 (de)
EP0525214A1 (de) Verfahren zum Betreiben eines Automatisierungsgeräts
DE2150292C2 (de) Mikroprogrammgesteuerte Datenverarbeitungsanlage mit überlagerter Ausführung und Entnahme von Befehlen
DE1774421C (de) Mehrprogramm-Datenverarbeitungsanlage
EP1085387A2 (de) Speichersteuerung zum Durchführen von Schaltbefehlen für den Zugriff auf Speicherzellen
DE3427428A1 (de) Verfahren und vorrichtung zur blocktransfersteuerung fuer einen pufferspeicher
DE2462728C2 (de) Einrichtung zur Einstellung sowie zur Steuerung der Abarbeitung von verschiedenen Betriebszuständen einer Datenverarbeitungseinrichtung
DE2116639C3 (de) Datenverarbeitungsanlage. Änm: Eysenbach, Wilfried, Dipl.-Ing., 8023 Pullach

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
8339 Ceased/non-payment of the annual fee