DE2641722B2 - Hierarchisch geordnetes Speichersystem für eine datenverarbeitende Anlage mit virtueller Adressierung - Google Patents
Hierarchisch geordnetes Speichersystem für eine datenverarbeitende Anlage mit virtueller AdressierungInfo
- Publication number
- DE2641722B2 DE2641722B2 DE2641722A DE2641722A DE2641722B2 DE 2641722 B2 DE2641722 B2 DE 2641722B2 DE 2641722 A DE2641722 A DE 2641722A DE 2641722 A DE2641722 A DE 2641722A DE 2641722 B2 DE2641722 B2 DE 2641722B2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- page
- buffer
- page buffer
- main memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
Description
Die Erfindung bezieht sich auf ein hierarchisch geordnetes Speichersystem für eine datenverarbeitende
Anlage mit virtueller Adressierung, das einen peripher zugeordneten Seitenspeicher als Hintergrundspeicher
und einen Arbeitsspeicher mit einem Hauptspeicher und einem Pufferspeicher geringer Kapazität und Zugriffszeit besitzt.
Die hierarchische Gliederung von mehreren Teilspeichern zu einem mehrstufigen Speichersystem großer
Kapazität und einer günstigen mittleren Zugriffszeit wird inzwischen vielfach verwendet, um nicht nur bei
Großrechenanlagen, sondern auch bei mittleren und sogar kleineren datenverarbeitenden Anlagen eine
beachtliche Leistungssteigerung zu erhalten. Derartige Speicherarchitekturen sind z. B. in »Elektronische
Rechenanlagen«, 1967 auf Seite 122 bis 128 in einsm Aufsatz »Pufferspeicher-Architekturen« in ihren Eigenschaften
ausführlich dargestellt.
In der Zeitschrift »Umschau 75«, Seiten 621 bis 626 ist eine hierarchisch geordnete Speicheranordnung für eine
datenverarbeitende Anlage mit virtueller Adressierung bekannt, die einen Hintergrund-, einen Haupt- und einen
Puffersneicher enthält und fünf Sneieherebenen aufweist
Dabei ist der dort dargestellte Registerspeicher mit einem schnellen Arbeitsregister eines Prozessors
vergleichbar, während die niedrigsten Hierarchiestufen Magnetband- und Magnetplattenspeicher sind, die in
ihrer Funktion als Hintergrundspeicher bekannt sind Das zwischen diesen Hierarchieebenen liegende Arbeitsspeichersystem
ist zweistufig ausgebildet
Aus der DE-OS 2310631 ist außerdem eine
dreistufige Speicherhierarchie, bestehend aus einem
to Hochgeschwindigkeitsspeicher, einem Zwischenspeicher und einem Niedriggeschwindigkeitsspeicher bekannt
Die Speicherelemente sind dabei in jeder Ebene in Blocks gleicher Größe zur Speicherung von
Datenseiten aufgeteilt wobei jede Seite auf jeder Ebene ihre eigene Adresse hat Der Prozessor selber hat nur
Zugriff zum Hochgeschwindigkeitsspeicher. Außerdem sind programmgestaltende Mittel sowohl für Datenzugriffsanforderungen
als auch zum Auswechseln von kürzlich am wenigsten benutzten Datenseiten in einer
Ebene mit neuen Datenseiten von anderen Ebenen vorgesehen, wobei der Zwischengeschwindigkeits- und
der Niedriggeschwindigkeitsspeicher mit einer größeren Anzahi Schieberegister unter Ausnutzung von
magnetischen zylindrischen Einzelwanddomänen zur Informationsdarstellung versehen sind.
In allen hierarchisch gegliederten, mehrstufigen Speichersysftmen sind die vollständigen Programme
der einzelnen, simultan in der datenverarbeitenden Anlage ablaufenden Prozesse nur in der niedrigsten
"jo Speicherstufe, hier als Seitenspeicher bezeichnet,
abgelegt. Jeder Teilspeicher der höheren Hierarchiestufe enthält nur mehr Teile dieser Programme. Deshalb
sind die Ladestrategien für diese Speichersysteme wesentlich und bestimmen weitgehend ihre Eigenschaf-
Üblicherweise adressieren bei einem solchen Speichersystem der Zentralprozessor oder auch mehrere
Prozessoren der datenverarbeitenden Anlage bei einem Speicherzugriff zunächst den Teilspeicher der
höchsten Hierarchiestufe. Erst bei einem sogenannten »Miss«, d. h. wenn das gesuchte Speiclierwort dort nicht
enthalten iit, wird zu der nächstniedrigeren Hierarchiestufe zugegriffen.
Da ein derartiger Miss in einem Teilspeicher durchaus unterschiedliche Folgen haben kann, sei hier zunächst folgendes definiert: Bis auf den Seitenspeicher, der als Hintergrundspeicher aufzufassen ist, werden alle Teilspeicher der höheren Hierarchiestufe als Arbeitsspeichersystem bezeichnet, in dem ein Miss in einer
Da ein derartiger Miss in einem Teilspeicher durchaus unterschiedliche Folgen haben kann, sei hier zunächst folgendes definiert: Bis auf den Seitenspeicher, der als Hintergrundspeicher aufzufassen ist, werden alle Teilspeicher der höheren Hierarchiestufe als Arbeitsspeichersystem bezeichnet, in dem ein Miss in einer
M) höheren Hierarchiestufe immer noch einen unmittelbaren
Zugriff zu der nächstniedrigeren Hierarchiestufe erlaubt. Erst ein Miss im gesamten Arbeitsspeichersystem
erfordert einen Seitenwechsel, d. h. ein Holen einer Speicherseite aus dem Seitenspeicher.
v> Diese Speicheroperation »Seitenwechsel« ist jedoch sehr umfangreich, da sie vielfach erst ein Auslagern
einer bisher im Arbeitsspeichersystem abgelegten Speicherseite erfordert, um für die fehlende Speicherseite
Platz zu schaffen. Wegen des dabei erforderlichen
ω Zeitaufwandes bedingt ein solcher Seitenwechsel auch
gleichzeitig einen Prozeßwechsel, d. h. ein Ablösen des gerade in Bearbeitung befindlichen Prozesses durch
einen Folgeprozeß, um den anfordernden Prozessor nicht im Wartezustand halten zu müssen und damit die
h5 Leistungsfähigkeit der datenverarbeitenden Anlage zu
sehr zu senken.
Diese Nachteile der Ladestrategie eines Seitenwechsels auf Anforderung haben zu dem Vorschlag geführt.
jedem Prozeß, sobald er einen inaktivierten Prozeß ersetzt, wieder seinen bisher aktuellen Speicherbereich
im Arbeitsspeichersystem zur Verfugung zu stellen. Dies bedeutet zunächst nur, für einen Prozeß zu Beginn eines
neuen Bearbeitungszeitraums die Anzahl der Seitenrahmen im Hauptspeicher bereitzuhalten, die er im
vorhergehenden Bearbeitungszeitraum für Speicherseiten benötigte, zu denen ein Speicherzugriff erfolgte. Das
hat den Vorteil, daß für einen Prozeß beim Prozeßwechsel im Arüeitsspeichersystem zunächst genügend
Speicherplatz verfügbar ist, denn eine zwischen überschriebene Speicherseite kann unmittelbar aus dem
Seitenspeicher geholt werden, ohne zuvor eine Speicherseite aus dem Arbeitsspeichersystem auslagern
zu müssen.
Darüber hinaus wurde aber auch bereits vorgeschlagen, einem erneut in Bearbeitung genommenen Prozeß
seinen bisher aktuellen Speicherbereich unmittelbar, d. h. die im Programmablauf vorher Denötigten
Speicherseiten selbst gleich zu Beginn des neuen Bearbeitungszeitraums zur Verfugung zu stellen. Diese
Ladestrategie vermindert erheblich die Anzahl der Seitenmiss, die einen Seitenwechsel verursachen. Ein
Miss kann dann nur noch auftreten, wenn sich in einem Bearbeitungszeitraum der bereitgestellte aktuelle
Speicherbereich in seinem Umfang ändert. Völlig auszuschalten ist damit ein Seiten- und darau auch
beruhender Prozeßwechsel allerdings nicht.
Nun genügt es nicht, nur einem aktiven Prozeß seinen aktuellen Speicherbereich in der niedrigsten Hierarchirstufe
des Arbeitsspeichersystems, vielfach als Hauptspeicher bezeichnet, bereitzustellen. Vielfach erweist es
sich auch als zweckmäßig, darüber hinaus auch die aktuellen Speicherbereiche anderer gerader inaktiver
Prozesse dort noch bereitzuhalten, weil diese z. B. nur auf den Eintrag einer Speicherseite aus dem Seitenspeicher
oder auf die Beendigung einer Ein-/Ausgabe-Operation von einem peripheren Gerät der datenverarbeitenden
Anlage warten.
Dazu kommt weiterhin, daß das Betriebssystem der datenverarbeitenden Anlage selbst einen relativ großen
Teil der Kapazität des Arbeitsspeichersystems belegt. da verschiedene Betriebssystemfunktionen speicherresident
gehalten werden müssen, weil sie häufig aufgerufen werden. Im Multiprogramm-Betrieb datenverarbeitender
Anlagen mit virtueller Adressierung sind dies insbesondere auch die Seitenwechsel- und Adreßübersetzungsroutmen
mit der Vielzahl von für jeden Prozeß gesondert geführten Adreßübersetzungstafeln,
die auch durch das Betriebssystem der datenverarbeitenden Anlage verwaltet werden.
So wird bereits bei heutigen datenverarbeitenden Anlagen je nach Ausbaustufe und Anzahl der simultan
zu verarbeitenden Prozesse eine Arbeitsspeicherkapazität von einigen MB benötigt. Die für speicherresidente
Systemfunktionen benötigte Speicherkapazität kann dabei ohne weiteres in der Größenordnung von 100 KB
liegen. Da bei hierarchisch geordneten Speichersystemen
jeder Teilspeicher einer höheren Hierarchiestufe immer wieder nur einen Teilbereich der nächstniedrigen
Hierarchiestufe übernimmt, bedeutet dies eine hauptspeicherkapazität
in der Größenordnung von MB.
Derartig große Hauptspeicher sind aber so teuer, daß
man hier versuchen muß, die Voraussetzungen dafür zu schaffen, auch billigere Speicliermedien, wie z. 13.
CCD-Speicher, verwenden zu können. Beim heutigen Stand der Technologie haben diese billigeren Speichermp.Hip.n
ip.Horh pan/ alltyprnpin U1Tl eine Oroflpnordnnnp
längere Zugriffszeiten, die dann die Leistung des datenverarbeitenden Systems stark beeinträchtigen.
Der Erfindung liegt dther die Aufgabe zugrunde, ein hierarchisch geordnetes Speichersystem der eingangs
·-> genannten Art zu schaffen, das es von seiner Struktur her erlaubt, für den Hauptspeicher ein kostengünstiges
Speichermedium trotz einer längeren Zugnffszeit ohne Verminderung der Systemleistung zu verwenden, wobei
die Zugriffszeit der genannten Speicherhierarchie
ι η gegenüber der bekannten Anordnungen erhöht wird.
Die erfindungsgemäße Lösung dieser Aufgabe ist gekennzeichnet durch einen als langsamen Speicher
ausgebildeten Hauptspeicher mit einer ausreichenden Speicherkapazität zum Speichern der aktuellen
Speieberbereiche aller laufenden Prozesse, die im Multiprogramm-Betrieb simultan verarbeitet werden,
durch einen in der Speicherhierarchie zwischen den prozessornahen Pufferspeicher und den Hauptspeicher
eingeschobenen und als schnellen Speicher ausgebildein ten Seitenpuffer, in dem neben Speichen esidenten
Sysiemfunktionen die aktuellen Speicherbereiche eines aktiven Prozesses und seines Folgeprozesses in einem
Bearbeitungszeitraum speicherbar sind und durch einen Mikroprozessor, der selbständig, lediglich ausgelöst
durch das Betriebssystem der aatenverarbeitenden Anlage, den Speicherplatz im Seitenpuffer verwalte*
und den Transport der Programmdaten zwischen den-. Hauptspeicher und dem Seitenpuffer bei Prozeßwechseln
steuert sowie durch einen Zentralprozessor dem
jo ein Adreß-Speicher zugeordnet ist, der über ein
Kanalwerk, über das benötigte Speicherdaten bei der Aktivierung eines Programms in den Hauptspeicher und
den Seitenpuffer geladen werden. Zugriff zu dem Seitenspeicher hat und durch die Serienschaltung vom
Γ) Zcntralprozessor, Pufferspeicher, Seitenpuffer, Mikroprozessor
und Hauptspeicher.
Dieses Speichet system besteht aus einem dreistufigen
Arbeitsspeichersystem und einem Seitenspeicher. Ersteres enthält einen Seitenpuffer, in dem während des
Bearbeitungszeitraumes eines Prozesses bereits der aktuelle Speicherbereich des in der Warteschlange
folgenden Prozesses eingestellt werden kann. Bei einem Prozeßwechsel stehen dabei die Programmdaten des
nächsten Prozesses bereits im Seitenpuffer. Dieser kann
■15 trotzdem relativ klein sein, da er außer den Seitenrahmen
für zwei aktuelle Speicherbereiche von Prozessen von beispielsweise 128 KB nur noch eine entsprechende
Kapazität für einige wenige, immer wieder schnell benötigte Betriebssystemroutinen enthalten muß. Für
den Seitenpuffer reicht daher eine Kapazität von 256 bis 512KB aus. so daß man dafür auch noch kostengünstig
ein schnelleres Speichermedium verwenden kann. Im Grunde beschränkt sich die Systemzugriffszeit bei einer
derartigen Struktur des Arbeitsspeichersystems auf die
η Zugriffszeit zu den beiden Arbeitsspeicherstufen Pufferspeicher
und Seitenpuffer, so daß auch hier etwa die gleiche Leistung wie bei einem zweistufigen Arbeitsspeichersystem
mit schnelleren Speichermedien erreichbar ist.
mi Ein weiterer wesentlicher Vorteil dieser erfinduragsgemäßen Lösung besteht darin, daß sich ein derartig
ausgebildetes Speichersystem ohne weiteres auch durch bereits bestehende Betriebssysteme verwalten läßt. Das
ist hier darauf zurückzuführen, daß der Speicherplatz: im
f'> Seitenpuffer durch einen eigenen Mikroprozessor
verwaltet wird. Er führt dafür notwendige Tabeülen selbständig, nimmt durch diese Lösung bedingte,
7iisäi7lirhe Finträpo in vom Rpiriphswstpm ppfiihripn
Systemtabellen vor und steuert den Transport der Programmdaten zwischen dem Hauptspeicher und dem
Seitenpuffer. Für das Betriebssystem gleicht daher dieses dreistufige Arbeitsspeichersystem scheinbar
einem zweistufigen Arbeitsspeichersystem, bestehend aus einem schnellen Pufferspeicher und einem Hauptspeicher.
Die erfindungsgemäße Änderung der Struktur des Arbeitsspeichersystems erfordert daher jedenfalls
nur so geringfügige Anpassungen im Betriebssystem der datenverarbeitenden Anlage, daß der Aufwand dafür
vernachlässigbar ist.
Besonders vorteilhaft kommen die Eigenschaften dieser Lösung im Vergleich zu bekannten Speichersystemen
bei einer Weiterbildung der Erfindung zum Ausdruck, die dadurch gekennzeichnet ist, daß der
Hauptspeicher als CCD-Speicher und der Seitenpuffer als MOS-Speicher ausgebildet ist. Bei diesen Speichermedien
kann der Hauptspeicher besonders kostengünstig mit einer entsprechenden Speicherkapazität ausgestattet
werden und zugleich der Seitenpuffer infolge seiner geringeren Kapazität aus einem teueren
Speichermedium aufgebaut werden, das jedoch eine günstige Zugriffszeit ermöglicht.
Ein Ausführungsbeispiel der Erfindung wird im folgenden anhand der Zeichnung näher erläutert. Dabei
zeigt
Fig. 1 schematisch ein Blockschaltbild einer datenverarbeitenden Anlage mit einem erfindungsgemäß
ausgebildeten Speichersystem,
Fig. 2 ein Blockschaltbild für eine zweistufige Übersetzungseinrichtung zum Übersetzen von virtuellen
in reelle Adressen mit den entsprechenden Adreßüberselzungs-Tafein,
Fig.3 bis 6 weitere Systemtafeln, die bei der Speicherplatzverwaltung bzw. zum Steuern von
Speicheroperationen benötigt werden,
Fig.7 anhand eines Blockschaltbildes schematisch einen Vorgang des Blockierens von Speicherseiten im
Arbeitsspeichersystem, die gegen ein Auslagern in den Seitenspeicher geschützt werden müssen,
Fig.8 den umgekehrten Vorgang des Freigebens blockierter Speicherseiten,
F i g. 9 bei einem Prozeßwechsel den Vorgang des Bereitstellens von Steuerinformationen über einen
abzulösenden Prozeß,
Fig. 10 in einem Blockschaltbild den Vorgang des Sicherstellens von Programmdaten des abzulösenden
Prozesses und des Bereitstellens von Steuerinformationen über den Foigeprozeß und
F i g. 11 in einem Blockschaltbild die Steuerung des
Bereitstellens des aktuellen Speicherbereiches eines Folgeprozesses bei einem Prozeßwechsel.
In Fig. 1 ist schematisch eine datenverarbeitende Anlage für virtuelle Adressierung mit einem hierarchisch
aufgebauten Speichersystem anhand eines Blockschaltbildes dargestellt Ein stellvertretend für
mehrere Prozessoren angegebener Zentralprozessor ZP, dem ein kleiner Adreßspeicher A TMzugeordnet ist
verkehrt mit einem dreistufigen Arbeitsspeichersystem, bestehend aus einem schnellen Pufferspeicher CA
geringer Kapazität und kurzer Zugriffszeit, einem Seitenpuffer SPin MOS-Technik und einem Hauptspeicher
HSP in CCD(Charge-Coupled-Devices)-Technik. Die beiden obersten Hierarchiestufen enthalten je eine
Hit/Miss-Logik HML, die festzustellen erlaubt, ob ein
Speicherzugriff aus dem jeweiligen Speicher bedient werden kann. Zwischen dem Seitenpuffer SP und dem
Hauptspeicher HSP ist ein Mikroprozessor MP dargestellt, um schematisch anzudeuten, daß dieser den
Datenaustausch zwischen den beiden Speichern steuert. Die niedrigste Hierarchiestufe schließlich bildet ein
Hintergrund- oder Seitenspeicher SSP, der z. B. als • Wechseiplattenspeicher aufgebaut isi und die Programme
aller gerade bearbeiteten Prozesse vollständig speichert. Zu ihm kann nur über ein dem Zentralprozessor
ZP zugeordnetes Kanalwerk KW zugegriffen werden, über das benötigte Speicherdaten bei der
in Aktivierung eines Programms in den Hauptspeicher
HSPuna den Seitenpuffer SPgeladen werden.
Hierarchisch angeordnete Arbeitsspeichersysteme erlauben bekanntlich die Leistungsfähigkeit eines oder
mehrerer schneller Prozessoren der datenverarbeiten-
i> den Anlage dadurch auszunutzen, daß möglichst viele
Speicherzugriffe aus einem Speichermedium mit möglichst kurzer Zugriffszeit bedient werden. Mit Rücksicht
auf die Kosten für ein schnelles Arbeitsspeichersystem und die gegenläufige Forderung nach einer kurzen
mittleren Zugriffszeit sollen bei dem dargestellten dreistufigen Arbeitsspeichersystem in einem Programmlauf
nur ca. 95% der Speicherzugriffe aus dem schnellen Pufferspeicher CA und die restlichen 5%
möglichst vollständig aus dem Seitenpuffer SP bedient
r> werden können.
Dazu muß im Pufferspeicher SP der jeweils aktive Speicherbereich eines Prozesses enthalten sein, mit dem
man denjenigen Ausschnitt aus seinem virtuellen Speicher bezeichnet, zu dem in einem Bearbeitungszeit-
iii raum zugegriffen wird. Die Größe dieses Bereiches ist
selbstverständlich programmabhängig. Häufig umfaßt er etwa 32 Speicherseiten, wie Untersuchungen ergeben
haben. 64 Speirherseiten mit jeweils 2 KB werden deshalb sicherlich nur in seltenen Fällen überschritten.
i". Deshalb werden hier einem aktiven, d. h. durch die
datenverarbeitende Anlage gerade zu bearbeitenden Prozeß in einem Teil Γ3 bzw. Γ 4 des Seitenpuffers SF
128 KB, d. h. 64 Speicherseiten zur Verfügung gestellt, die beiden ersten Teile T1 bzw. 72 des Seitenpuffers SF
sind dem Betriebssystem vorbehalten, wie in der Zeichnung durch Schraffuren angedeutet ist.
Der Hauptspeicher HSP ist so groß gewählt, daß er alle aktiven Speicherbereiche der im Multiprogramm-Betrieb
gerade laufenden Prozesse aufnehmen kann.
->"> Dann ist bei einem Prozeßwechsel nur ein Datentransport
zwischen Hauptspeicher HSP und Seitenpuffer SF erforderlich. Auch dieser Aufbau verhindert nicht daß
Änderungen im aktiven Speicherbereich eines Prozesses zu einem Seitenfehler führen, bei dem eine
V) Speicherseite erst aus dem Seitenspeicher SSP in den
Hauptspeicher HSP übertragen werden muß. Diese Speicherseite ersetzt dabei eine nicht mehr benötigte
oder die am längsten im Hauptspeicher HSP stehende Speicherseite des aktiven Speicherbereiches dieses
<i Prozesses.
Diese Speicherstruktur erfordert eine entsprechende Speicherplatzverwaltung, die im folgenden erläutert
werden soll. Es wurde bereits darauf hingewiesen, daß die beiden schraffierten Teile Tl bzw. T2 des
wi Seitenpuffers SP für Speicherdaten aktiver Prozesse
nicht zugänglich sind Der erste Teil Π des Seitenpuffers SP ist häufig benutzten, deswegen
speicherresident gehaltenen Betriebssystemhinktionen der datenverarbeitenden Anlage vorbehalten. Der
t>·"· zweite Teil T2 im Seitenpuffer SP ist für die
Programme und Tabellen von Betriebssystemfunktionen reserviert die der Speicherplatzverwaltung, wie der
Adreßübersetzung oder einem Seitenwechsel dienen.
Einen großen Anteil nehmen dabei die Systemprogramme und Tabellen für die Adreßübersetzung ein, da
bekanntlich jedem Prozeß eigene Übersetzungstafeln zum Übersetzen virtueller in reelle Speicheradressen
zugeordnet sind.
Die als solche bekannte Übersetzungsroutine wird nachfolgend nur insoweit anhand von Fig.2 angedeutet,
als sie zum Verständnis im vorliegenden Fall erforderlich ist. Eine vollständige virtuelle Adresse
VAD besteht aus einer virtuellen Blocknummer VBN, einer virtuellen Seitennummer VSN und einer Wortadresse
WA, die hier in einem Speicheradreßregister gespeichert sein soll. Zu der hier als Beispiel
angedeuteten zweistufigen Adreßübersetzung gehören zwei verschiedene Arten von Übersetzungslabellen, die
virtuellen Blocktafeln VAT und die virtuellen Seitentafeln
VST. Erstere sind in F i g. 2 als eine einzige Tabelle dargestellt. Zu ihnen kann mit Hilfe einer in einem
Register niedergelegten Basisadresse VBT-B zugegriffen werden. Die Blocktafeln VBT enthalten in
konsekutiver Folge eine Eintragszeile für jede virtuelle Blocknummer VBN jedes von π Prozessen. Die
Eintragszeile enthält im wesentlichen eine Basisadresse VST-B für eine von mehreren virtuellen Seitentafeln
VST, die Analog den Blocktafeln aufgebaut sind und in konsekutiver Reihenfolge jeder virtuellen Seitennummer
VSN eine reelle Seitennummer RSN zuordnen, die einen Seitenrahmen des Hauptspeichers HSP bezeichnet.
Bei wiederholten Zugriffen zu einer Speicherseite wird nicht jedesmal die Adresse neu übersetzt. Dafür ist
eine übersetzte reellle Seitennummer RSN auch in einer Eintragszeile eines Adreßspeichers A TM zwischengespeichert.
Diese Eintragszeile wird mit einer Zwischenspeicheradresse ZA D adressiert, die aus einem Teil der
virtuellen Blocknummer VBN und der virtuellen Seitennummer VSN gebildet ist. Die Eintragszeile im
Adreßspeicher ATM enthält neben der reellen Seitennummer RSN, die zusammen mit der Wortadresse WA
nun eine vollständige reelle Speicheradresse RAD ergibt, weitere Kennzeichnungseinträge, die fallweise
auch bei anderen Systemtabellen verwendet und im einzelnen noch erläutert werden. Diese Adreßübersetzungstafeln
VßTund VSrsollen im zweiten Teil T2 des Seitenpuffers SPabgelegt sein, der Adreßspeicher A TM
jedoch ist im allgemeinen als eigener, kleiner Speicher aufgebaut und dem Zentralprozessor — wie in Fig. 1
angedeutet — unmittelbar zugeordnet
Die virtuellen Seitentafeln VST beschreiben an sich mittelbar den aktuellen Inhalt des Hauptspeichers HSP.
Es ist heute jedoch vielfach üblich, die Seitenzuordnung im Hauptspeicher durch eine einzige Systemtabelle, die
Seitenzuordnungstabelle HSA T unmittelbar zu definieren, die in F i g. 3 schematisch dargestellt ist Sie enthält
eine der Anzahl der Seitenrahmen des Hauptspeichers HSP entsprechende Anzahl von Eintragszeilen, die in
konsekutiver Folge durch die zugeordnete reelle Seitennummer RSNadressierbar sind. In jeder Eintragszeile ist die Belegung des Seitenrahmens entsprechenden
reellen Speicherseite durch eine Prozeßnummer PR und die virtuelle Adresse der enthaltenen Speicherseite,
d. h. durch eine virtuelle Blocknummer VBN und eine virtuelle Seitennummer VSJVbeschrieben.
Im vorliegenden Fall enthält der zweite Teil 7"2 des
Seitenpuffers SP eine weitere, der Seitenzuordnungstabelle
HSATTür den Hauptspeicher HSP vergleichbare
Tabelle, die die aktuelle Belegung des Seitenpuffers SP wiedergibt Diese Seitenzuordnungstabelle SPAT für
den Seitenpuffer SP ist in F i g. 4 schematisch dargestellt. Ihre Eintragszeilen bezeichnen nach reellen
Adressen der Seitenrahmen im Datenteil des Seitenpuffers SP geordnet, die dort gerade enthaltenen
ί Speicherseiten mit Hilfe der Prozeßnummer PR und der
reellen Seitennummer RSN.
Diese vorstehend beschriebenen Tabellen dienen der Organisation eines Speicherzugriffes einschließlich des
Umladens von Speicherseiten in eine höhere bzw.
ίο niedrigere Hierarchiestufe des Speichersystems. Daneben
gibt es weitere, vom Betriebssystem verwaltete Systemtabellen, die jedoch hier nur angedeutet werden,
wenn sie im vorliegenden Fall mitverwendet werden.
Dies gilt z. B. für eine in F i g. 5 schematisch
Dies gilt z. B. für eine in F i g. 5 schematisch
\=> dargestellte Prozcßnurnmerniabelle PNT, die einen
Überblick über die zu verarbeitenden Prozesse unabhängig von ihrem aktiven oder inaktiven Zustand
erlaubt. Jedem durch seine Prozeßnummer PR bezeichneten Prozeß ist in konsekutiver Ordnung eine
Eintragszeile zugeordnet. Diese enthält neben der Basisadresse A TM-B für die prozeßbezogenen Einträge
im Adreßspeicher A TM und weiteren Kennzeichnungsbits vor allem auch eine reelle Basisadresse PBT-B für
einen Block mit Steuerdaten, der in einer weiteren Systemtabelle, der in F i g. 6 schematisch dargestellten
Prozeßsteuerblock-Tabelle PBT enthalten ist. Diese Systemtabelle enthält alle Steuerdaten für einen
Prozeßwechsel. Im vorliegenden Zusammenhang bedeutet dies vor allem, daß in dem einem Prozeß
zugeordneten Prozeßsteuerblock unter anderem der bisher aktuelle Speicherbereich des Folgeprozesses PR
anhand der reelen Seitennummern RSN aufgelistet ist, deshalb sind nur hier interessierende Einträge aufgeführt.
Die vorstehende Erläuterung des Inhalts des Seitenpuffers SP wäre ohne Hinweis auf die den Programmdaten
zugänglichen Teile dieses Speichers unvollständig. Wie erwähnt, ist im Seitenpuffer SPfür den Speicherbe-•
reich eines gerade aktiven Prozesses eine Speicherkapazität von beispielsweise 128KB vorgesehen. Nun
muß aber bei einem Prozeßwechsel der zu aktivierende Speicherbereich des Foigeprozesses sequentiell zu dem
Hauptspeicher HSP in den Seitenpuffer SP über eine z. B. nur 8 Byte breite Schnittstelle übertragen werden.
Um trotzdem Wartezeiten bei einem Prozeßwechsel zu vermeiden und auch hier einen Vorteil gegenüber der
bisherigen Ladestrategie des Ladens einer Speicherseite auf Anforderung zu erreichen, soll der aktuelle
Speicherbereich für einen Folgeprozeß bereits während der Bearbeitung des vorhergehenden Prozesses in den
Seitenpuffer SPeingetragen werden. Aus diesem Grund
sind zwei gleichgroße Teile Γ3 und T4 des Seitenpuffers SP für die aktuellen Speicherbereiche zweier
aufeinanderfolgender Prozesse vorgesehen, so daß zu jedem Zeitpunkt ein Teil zur Programmbearbeitung und
ein weiterer Teil zum Laden des Folgeprozesses zur Verfügung steht So wird die Zugriffszeit des dreistufigen
Arbeitsspeichersystems aus Pufferspeicher CA, Seitenpuffer SP und Hauptspeicher HSP, auf die
Zugriffszeit eines zweistufigen Speichersystems mit Pufferspeicher CA und Seitenpuffer SPreduziert
Für ein derartiges hierarchisch ausgebautes Arbeitsspeichersystem
eine völlig neue Speicherplatzverwaltung zu schaffen, wäre wegen des Aufwandes an dafür
neu zu erstellender Software unzweckmäßig. Daher muß sich die Speicherplatzverwaltung für den Seitenpuffer
SPund den Hauptspeicher HSPm Betriebssysteme für vorhandene hierarchisch aufgebaute Arbeits-
Speichersysteme mit einem Cache und einem Hauptspeicher ohne weiteres einfügen lassen. Die Verwaltung
des Speicherplatzes im Seitenpuffer SP übernimmt daher ein eigener Mikroprozessor MP. Dessen Aufgabe
ist es insbesonders, den aktuellen Speicherbereich des jeweiligen Folgeprozesses zu laden und Speicherseiten
im Seitenpuffer SP im Falle von Ein-/Ausgabe-Operationen oder bei Seitenwechseln gegen ein Überschreiben
zu blockieren. Der Mikroprozessor MP wird durch Signale des Zentralprozessor ZP aktiviert, die dieser
aufgrund eines bestehenden Betriebssystems abzugeben vermag. Weitere Steuersignale für den Mikroprozessor
MP werden aus den bereits erwähnten Kennzeichnungsbits in den Einträgen der Systemtabellen abgeleitet.
Die Bedeutung dieser Kennzeichnungsbits soll daher nunmehr erläutert werden:
Der vollständige Satz dieser Kennzeichnungsbits ist z. B. in der in F i g. 4 dargestellten Seitenzuordnungstabelle
SPAT für den Seitenpuffer SP enthalten. Ein Kennzeichnungsbit, im folgenden als E/A-Bit bezeichnet,
definiert eine noch bevorstehende Ein-/Ausgabe-Operation der zugehörigen Speicherseite, wenn es im
Zustand »1« ist. Mit einem zweiten Kennzeichnungsbit, im folgenden das RE/A-Bit genannt, wird im Zustand
»1« bezeichnet, daß ein solcher Eingabe- oder Ausgabetransfer bereits abgeschlossen ist. Ein drittes
Kennzeichnungsbit, das sogenannte W-Bit kennzeichnet im Zustand »1« Speicherseiten, in die bei einer
Programmbearbeitung eingeschrieben wurde. Das vierte Kennzeichnungsbit, das hinfort als V-Bit bezeichnet
wird, definiert im Zustand »1« die zugehörige Eintragszeile als gültig und bezeichnet so z. B. in der
Seitenzuordnungstabelle SPA Tdes Seitenpuffers SPdie
Speicherseiten des momentan laufenden Prozesses.
Aus der Kombination dieser Kennzeichnungsbits lassen sich drei Zustände für Speicherseiten ableiten:
Speicherseiten, die an einem Ein/Ausgabe-Transfer teilnehmen sollen, sind durch die Kombination E/A = 1,
W = O und V = 0 zu erkennen. Der aktuelle Speicherbereich eines Prozesses ist durch die Kombination
E/A = 1, W = 1 oder 0 und V = 1 beschrieben. Eine dritte Kombination E/A = 0, W = 1 oder 0 und V = 0
bezeichnet diejenigen Speicherseiten im Seitenpuffer SP, die zum Ersetzen, d.h. zum Überschreiben im
Seitenpuffer SPfreigegeben sind.
Wie die vom Zentralprozessor ZP gelieferten Signale für einen Prozeßwechsel SPW oder eine
Ein-/Ausgabe-Operation SE/A zusammen mit den erläuterten Kennzeichnungsbits vom Mikroprozessor
MP zur Steuerung der Speicherplatzverteilung im Seitenpuffer SP verwendet werden, soll nun im
folgenden erläutert werden. Mikroprozessoren können dabei in ihrer prinzipiellen Struktur und Funktion als
bekannt vorausgesetzt werden. Wegen des Umfangs der vom Mikroprozessor zu steuernden Datentransfers
wird für vorliegenden Anwendungsfall — nach heutiger Technik — allerdings wohl nur ein bipolarer, deshalb
verhältnismäßig schneller Mikroprozessor in Frage kommen. Wegen dieser funktionell unbedeutenden
Einschränkung wird hier die Funktion des Mikroprozessors MP nur insoweit beschrieben, daß daraus ohne
weiteres die entsprechenden Prozessorroutinen abzuleiten sind. Auf seinen hardwaremäßigen Aufbau wird nur
eingegangen, wenn es zur Darstellung dieser Funktion notwendig ist
Weiterhin sollen hier nicht alle Ursachen für einen Prozeßwechsel im Multiprogramm-Betrieb im einzelnen
dargestellt und alle Kriterien entwickelt werden, die
bei einem Prozeßwechsel den Folgeprozeß bestimmen. Dies alles ist bekanntlich Aufgabe des Betriebssystems
einer datenverarbeitenden Anlage. Hier ist nur interessant, daß unter anderem auch Ein-/Ausgabe-Operationen
oder das Holen von Speicherseiten in den Seitenpuffer Ursachen für einen Prozeßwechsel sein
können, der dem Mikroprozessor MPüber entsprechende Steuersignale SE/A bzw. SPWmitgeteilt wird.
Sie haben verschiedene Voraussetzungen in bezug auf
Sie haben verschiedene Voraussetzungen in bezug auf
ίο das Arbeitsspeichersystem. Bei einem Seitenwechsel
muß die Speicherseite vielfach erst aus dem Hauptspeicher HSP in den Seitenpuffer SP eingetragen werden,
da bekanntlich aufgrund des Ersetzungsalgorithmus dafür immer solche Seiten ausgewählt werden, zu denen
am längsten nicht zugegriffen wurde. Bei Ein-/Ausgabe-Operationen hingegen wird die betroffene Speicherseite
normalerweise dem aktiven Speicherbereich des laufenden Prozesses angehören und sich aus diesem
Grunde bereits im Seitenpuffer SPbefinden. Trotzdem
wird zu Speicherseiten, die an den genannten Operationen teilnehmen, genau einmal zusätzlich zugegriffen,
damit sie in jedem Fall im Seitenpuffer SPbereitstehen. Für Ein-/Ausgabe-Operationen noch benötigte
Speicherseiten dürfen an einem Seitenwechsel nicht teilnehmen, d. h. nicht vorher in den Seitenspeicher SSP
ausgelagert werden. Dies wird bei bekannten Arbeitsspeichersystemen mit Hilfe der die Belegung im
Hauptspeicher HSP beschreibenden Seitenzuordnungstabelle HSA T erreicht. Dort wird vom Betriebssystem
jede Speicherseite, die an einer Ein-/Ausgabe-Operation teilnimmt, durch Setzen des E/A-Bits bezeichnet.
Damit sind diese Seiten zwar gegen ein Auslagern in den Seitenspeicher SSP geschützt, hier aber ist jedoch
noch nicht sichergestellt, daß sie auch bis zur Beendigung der Ein-/Ausgabe-Operation im Seitenpuffer
SP gehalten werden. Das gleiche gilt auch für Seitenrahmen im Seitenpuffer SP, die umgekehrt zum
Eintragen von Speicherseiten aus dem Seitenspeicher SS/* noch benötigt werden.
Wie dieser Blockierungsvorgang von Speicherseiten nun bei vorliegendem Arbeitsspeichersystem abläuft, ist
in F i g. 7 schematisch dargestellt. Der durch ein Signal für einen Prozeßwechsel SPWangestoßene Mikroprozessor
MP greift bei diesem Blockierungsvorgang zu mehreren in Mikroprozessorregistern MP-R abgelegten
Einträgen mit Basisadressen für Systemtabellen zu. Dabei holt der Mikroprozessor MP aus einem dieser
Register zunächst die Basisadresse HSAT-B für die Seitenzuordnungs-Tabelle HSAT des Hauptspeichers
HSP und greift dort mit Hilfe einer in einem Adreßregister ADR stehenden reellen Speicheradresse
RSNi zu der /-ten Eintragszeile dieser Systemtabelle zu. In F i g. 7 ist dies schematisch so dargestellt, daß die
Basisadresse HSAT-B der Seitenzuordnungstabelle HSA T mit der reellen Speicherseitennummer RSNi zu
einer vollständigen Speicheradresse ergänzt wird.
Aus der so adressierten Eintragszeile der Seitenzuordnungstabelle HSA T, deren E/A-Bit vom Betriebssystem
gleich 1 gesetzt ist, wird vom Mikroprozessor MP zunächst ein Eintrag SPA entnommen. Dieser stellt
zusammen mit einer in einem weiteren Mikroprozessorregister MP-R stehenden Basisadresse SPAT-B für die
Seitenzuordnungstabelle SPAT des Seitenpuffers SP eine vollständige Speicheradresse für einen Eintrag im
Seitenpuffer SP dar. In dieser so adressierten Eintragszeile der Seitenzuordnungstabelle SPATdes Seitenpuffers
SPwird das E/A-Bit nun durch den Mikroprozessor MPgesetzt und damit das Auslagern dieser Speichersei-
te aus dem Seitenpuffer SP blockiert. Darüber hinaus wird aber auch noch im Adreßspeicher ATM das
E/A-Bit durch den Mikroprozessor MP gesetzt. Die AJresse für die entsprechende Eintragszeile dieses
Adreßspeichers A TM ergibt sich aufgrund der Prozessornummer /Wund der in einem weiteren Mikroprozessorregister
MP-R stehenden Basisadresse PNT-B für die Prozeßnummerntabelle PNT. In dieser ist die Basisadresse
ATM-B für den Adreßspeicher ATMenthalten,
dessen entsprechende Eintragszeile, wie anhand von Fig.2 erläutert, über eine Zwischenadresse ZAD
adressiert wird.
Der umgekehrte Vorgang des Freigebens blockierter Speicherseiten nach dem Durchführen einer Ein-/Ausgabe-Operation
ist in Fig.8 dargestellt. Hierbei wird vom Betriebssystem durch den Zentraiprozessor die
Seitenzuordnungstabelle HSAT des Hauptspeichers HSP adressiert und aufgrund der reellen Seitennummer
RSNi eine Eintragszeile ausgewählt und in ihr das E/A-Bit zurückgesetzt.
Der Mikroprozessor MP, der die Seitenzuordnungstabelle SPAT des Seitenpuffers SP selbständig führt,
fragt diese daraufhin ab, welche Einträge durch ein gesetztes E/A-Bit gekennzeichnet sind. Aus den
gekennzeichneten Eintragszeilen entnimmt er die reelle Seitennummer RSN und setzt diese mit der Basisadresse
HSAT-B für die Seitungszuordnungstabelle HSATdes
Hauptspeichers HSP zu einer vollständigen Speicheradresse zusammen und adressiert so eine Eintragszeile
in dieser Systemtabelle. Dort wird das E/A-Bit ausgelesen. 1st es bereits riickgesetzt, wird in der
Seitenzuordnungstabelle SPAT des Seitenpuffers SP durch den Mikroprozessor MP das RE/A-Bit gesetzt
und damit die Blockierung der entsprechenden Speicherseite des Seitenpuffers SP aufgehoben. Das
E/A-Bit im Adreßspeicher ATM wird nicht geändert. Dieser Eintrag im Adreßspeicher A TM wird erst beim
Auslagern von Speicherseiten geändert.
Diese Vorgänge laufen für Ein-/Ausgabe- bzw. Seitenwechsel-Operationen in gleicher Weise ab. Nicht «to
mehr benötigte E/A-Speicherseiten werden erst dann in
den Hauptspeicher HSP ausgelagert, wenn im Seitenpuffer SP Speicherplatz benötigt wird. Schließlich ist
noch hinzuzufügen, daß nur bei den genannten Ursachen für einen Prozeßwechsel Speicherseiten im
Seitenpuffer SP blockiert werden müssen, während sonst sofort damit begonnen werden kann, den aktiven
Speicherbereich des Folgeprozesses einzustellen.
In den Fig.9 und 10 ist nun dargestellt, wie dieser
Vorgang bei einem Prozeßwechsel abläuft. Es müssen zunächst alle freigegebenen Seitenrahmen des Vorgängerprozesses
bezeichnet werden. Dies geschieht in den entsprechenden Eintragszeilen im Adreßspeicher A TM.
Wie in F i g. 9 dargestellt, entnimmt der Mikroprozessor
MP aus diesen Einträgen jeweils die Seitenpufferadres- v>
se SPA, d.h. die Adresse einer Eintragszeile in der
Seitenzuordnungstabelle SPATdes Seitenpuffers SPfür die zu überschreibenden Speicherseiten, die reellen
Seitennummern ÄSWund das W-Bit
Der Mikroprozessor MP holt dazu aus einem der w
Mikroprozessor-Register MP-R die Basisadresse PNT-B für die Prozeßnummerntabelle PNTund liest aus
deren entsprechender Eintragszeile für den Vorgängerprozeß PRi die Basisadresse A TM-B für die zu diesem
Prozeß gehörenden Einträge im Adreßspeicher ATM. es
Sequentiell werden aus diesen die reelle Seitennummer RSN, die Seitenpufferadresse SPA und das W-Bit in eine
Zeile eines Datenpuffers MP-P des Mikroprozessors MP ausgelesen. Zugleich wird der gelesene Eintrag im
Adreßspeicher ATMdurch den Mikroprozessor MPmit
dem Rücksetzen des V-Bits als ungültig gekennzeichnet. Damit sind die Informationen über die freizugebenden
Speicherseiten gewonnen.
In Fig. 10 ist nun einerseits dargestellt, wie dieses
Informationen weiterverarbeitet werden und andererseits, wie die Informationen über den aktiven Speicherbereich
des Folgeprozesses gewonnen werden. Zunächst ist zu unterscheiden, ob in die freigegebenen
Speicherseiten im Laufe der Bearbeitung des Vorgängerprozesses eingeschrieben wurde oder nicht. Der
Mikroprozessor MP liest dazu sequentiell die Einträge in seinem Datenpuffer MP-P und überprüft das W-Bit.
Nur wenn dieses im Zustand »1« ist, muß die zugehörige Speicherseite aus dem Seitenpuffer SP in den
Hauptspeicher HSP übertragen werden, weil sich ihr Inhalt geändert hat. Die beiden dafür notwendigen
Speicheradressen, die Seitenpuffer- und die Hauptspeicheradresse, werden, wie bereits mehrfach beschrieben,
mit hier nun nicht mehr dargestellten Basisadressen aus der Seitenpufferadresse SPA bzw. der reellen
Seitennummer RSN gebildet. Dann kann der Inhalt der durch die reelle Seitennummer RSN definierten
Speicherseite des Vorgängerprozesies vom vcm Seitenpuffer SP in den Hauptspeicher HSP transferiert
werden.
Im logischen Ablauf der Darstellung gemäß Fig. 10
ist nun dargestellt, daß sich daran die Bestimmung der Informationen über die einzustellenden Speicherseiten
des Folgeprozesses anschließt. Dies ist in diesem zeitlichen Ablauf jedoch nicht unbedingt notwendig,
weil die Bildung dieser Informationen an sich vom Auslagern der freigegebenen Speicherseiten in den
Hauptspeicher HSP unabhängig ist Für die vom Mikroprozessor MPbenötigten Informationen über den
Folgeprozeß wird vom Zentralprozessor ZP die Basisadresse BPT-B für einen Steuerblock in der
Prozeßsteuerblock-Tabelle PBT geliefert, da das Betriebssystem
der datenverarbeitenden Anlage den Folgeprozeß bestimmt. Mit dieser Basisadresse kann
der Mikroprozessor MP zu dem so definierten Prozeßsteuerblock PBT-n zugreifen, was in Fig. 10
durch eine mit mp bezeichnete Steuerleitung angedeutet ist. Aus diesem Prozeßsteuerblock liest der
Mikroprozessor MP die Prozeßnummer PR* des Folgeprozesses, sowie die dort aufgelisteten reellen
Seitennummern RSN*und trägt sie ebenfalls in seinen Datenpuffer MP-P ein. Damit besitzt der Mikroprozessor
auch die Informationen über den für den Folgeprozeß einzustellenden aktiven Speicherbereich.
In F i g. 11 ist dargestellt, wie dieser Vorgang der
Einstellung des aktiven Speicherbereiches für einen Folgeprozeß abläuft. Der Mikroprozessor MP liest
sequentiell die Einträge seines Datenpuffers MP-P mit den reellen Speicherseitennummem RSN*dss durch die
Prozeßnummer PR bezeichneten Folgeprozesses aus und transferiert sie in eine Eintragszeile der Seitenzuordnungstabelle
SPATdes Seitenpuffers SP. Adressiert wird diese Eintragszeile mit der einen freigegebenen
Seitenrahmen im Seitenpuffer SP bezeichnenden Adresse SPA, die, wie in F i g. 9 dargestellt ist, ebenfalls
in einem Eintrag des Datenpuffers MP-P steht. Dabei wird dieser Eintrag durch Setzen des V-Bits als gültig
bezeichnet Parallel dazu muß die Seitenzuordnungstabelle HSA T des Hauptspeichers HSP vervollständigt
werden. In die mit einer reellen Seitennummer RSN*des
Folgeprozesses ermittelte Eintragszeile dieser Tabelle
wird vom Mikroprozessor MP die Seitenpufferadresse Sft4*dieser Speicherseite des Folgeprozesses eingetragen.
Nun fehlt nur noch die Ergänzung des Adreßspeichers
ATM. Die Adressen für die Eintragszeilen dieses Speichers werden analog zu der Erläuterung in F i g. 2
jeweils aus den virtuellen Adressen gebildet, die in der Seitenzuordnungstabelle HSAT des Hauptspeichers
HSP stehen. In die adressierten Einträge werden die reellen Seitennummern RSN*bzw. die Seitenpuffer-
adressen SPA*der Speicherseiten des Folgeprozesses
durch den Mikroprozessor MP eingetragen und dann auch diese neuen Einträge durch Setzen des V-Bits als
gültig gekennzeichnet Analog zu dem Vorgang des
Auslagen» von Speicherseiten läuft dazu parallel
während der Bearbeitung eines Prozesses die Einstellung der Speicherseiten im Seitenpuffer SP für den
Folgeprozeß durch Übertragen des Inhalts einer ausgewählten Speicherseite aus dem Hauptspeicher
ίο HSPia den Seitenpuffer SP.
Claims (2)
1. Hierarchisch geordnetes Speichersystem für eine datenverarbeitende Anlage mit virtueller
Adressierung, das einen peripher zugeordneten Seitenspeicher als Hintergrundspeicher und einen
Arbeitsspeicher mit einem Hauptspeicher und einem Pufferspeicher geringer Kapazität und Zugriffszeit
besitzt gekennzeichnet durch einen als langsamen Speicher ausgebildeten Hauptspeicher
(HSP) mit einer ausreichenden Speicherkapazität zum Speichern der aktuellen Speicherbereiche aller
laufenden Prozesse, die im Multiprogramm-Betrieb simultan verarbeitet werden, durch einen in der
Speicherhierarchie zwischen den prozessornahen Pufferspeicher (CA) und den Hauptspeicher eingeschobenen
und als schnellen Speicher ausgebildeten Seitenpuffer (SP) in dem neben speicherresidenten
Systemfunktionen die aktuellen Speicherbereiche eines aktiven Prozesses und seines Folgeprozesses
in einem Bearbeitungszeitraum speicherbar sind und durch einen Mikroprozessor (MP) der selbständig,
lediglich ausgelöst durch das Betriebssystem der datenverarbeitenden Anlage, den Speicherplatz im
Seitenpuffer verwaltet und den Transport der Programmdaten zwischen dem Hauptspeicher und
dem Seitenpuffer bei Prozeßwechseln steuert sowie durch einen Zentralprozessor (ZP) dem ein Adreßspeicher
(ATM) zugeordnet ist, der über ein Kanalwerk (KW) über das benötigte Speicherdaten
bei der Aktivierung eines Programmes in den Hauptspeicher (HSP) und den Seitenpuffer (SP)
geladen werden, Zugriff zu dem Seitenspeicher (SSP) hat und durch die Serienschaltung von
Zentralprozessor (ZP) Pufferspeicher (CA) Seitenpuffer (SP) Mikroprozessor (MP) und Hauptspeicher
(HSP).
2. Speichersystem nach Anspruch 1, dadurch gekennzeichnet, daß der Hauptspeicher (HSP) als
CCD-Speicher und der Seitenpuffer (SP) als MOS-Speicher ausgebildet ist.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2641722A DE2641722C3 (de) | 1976-09-16 | 1976-09-16 | Hierarchisch geordnetes Speichersystem für eine datenverarbeitende Anlage mit virtueller Adressierung |
US05/832,237 US4130870A (en) | 1976-09-16 | 1977-09-12 | Hierarchially arranged memory system for a data processing arrangement having virtual addressing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2641722A DE2641722C3 (de) | 1976-09-16 | 1976-09-16 | Hierarchisch geordnetes Speichersystem für eine datenverarbeitende Anlage mit virtueller Adressierung |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2641722A1 DE2641722A1 (de) | 1978-03-23 |
DE2641722B2 true DE2641722B2 (de) | 1981-02-05 |
DE2641722C3 DE2641722C3 (de) | 1981-10-08 |
Family
ID=5988089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2641722A Expired DE2641722C3 (de) | 1976-09-16 | 1976-09-16 | Hierarchisch geordnetes Speichersystem für eine datenverarbeitende Anlage mit virtueller Adressierung |
Country Status (2)
Country | Link |
---|---|
US (1) | US4130870A (de) |
DE (1) | DE2641722C3 (de) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5454536A (en) * | 1977-10-08 | 1979-04-28 | Fujitsu Ltd | Data processor |
DE2837241C2 (de) * | 1978-08-25 | 1982-05-06 | Siemens AG, 1000 Berlin und 8000 München | Einrichtung zum Sichern von Daten gegen unberechtigten Zugriff |
US4277826A (en) * | 1978-10-23 | 1981-07-07 | Collins Robert W | Synchronizing mechanism for page replacement control |
US4290104A (en) * | 1979-01-02 | 1981-09-15 | Honeywell Information Systems Inc. | Computer system having a paging apparatus for mapping virtual addresses to real addresses for a memory of a multiline communications controller |
GB2052117B (en) * | 1979-07-04 | 1982-10-20 | Int Computers Ltd | Data processing systems |
US4354225A (en) * | 1979-10-11 | 1982-10-12 | Nanodata Computer Corporation | Intelligent main store for data processing systems |
JPS5764383A (en) * | 1980-10-03 | 1982-04-19 | Toshiba Corp | Address converting method and its device |
US4520441A (en) * | 1980-12-15 | 1985-05-28 | Hitachi, Ltd. | Data processing system |
US4410941A (en) * | 1980-12-29 | 1983-10-18 | Wang Laboratories, Inc. | Computer having an indexed local ram to store previously translated virtual addresses |
US4989137A (en) * | 1984-07-12 | 1991-01-29 | Texas Instruments Incorporated | Computer memory system |
EP0176941B1 (de) * | 1984-09-28 | 1989-08-09 | Siemens Aktiengesellschaft | Schaltungsanordnung zum Löschen von Speichereinträgen in einem Adressumsetzungsspeicher |
ATE45826T1 (de) * | 1984-09-28 | 1989-09-15 | Siemens Ag | Datenverarbeitungsanlagen mit virtueller speicheradressierung fuer eine vielzahl von benutzern. |
JPS61190638A (ja) * | 1985-02-20 | 1986-08-25 | Hitachi Ltd | 仮想計算機のフアイル制御方式 |
US4758951A (en) * | 1985-04-09 | 1988-07-19 | Tektronix, Inc. | Method for translating virtual addresses into real addresses |
US4774653A (en) * | 1985-08-07 | 1988-09-27 | Hewlett-Packard Company | Hybrid hardware/software method and apparatus for virtual memory address translation using primary and secondary translation buffers |
JPH06105435B2 (ja) * | 1985-10-25 | 1994-12-21 | 株式会社日立製作所 | 情報処理装置による記憶管理機構 |
US5317717A (en) * | 1987-07-01 | 1994-05-31 | Digital Equipment Corp. | Apparatus and method for main memory unit protection using access and fault logic signals |
US5269009A (en) * | 1990-09-04 | 1993-12-07 | International Business Machines Corporation | Processor system with improved memory transfer means |
US5943690A (en) * | 1997-04-07 | 1999-08-24 | Sony Corporation | Data storage apparatus and method allocating sets of data |
US6535917B1 (en) * | 1998-02-09 | 2003-03-18 | Reuters, Ltd. | Market data domain and enterprise system implemented by a master entitlement processor |
US8088006B2 (en) * | 2005-02-11 | 2012-01-03 | Neff Gregor N | Card game system and method |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3412382A (en) * | 1965-11-26 | 1968-11-19 | Massachusetts Inst Technology | Shared-access data processing system |
US3461434A (en) * | 1967-10-02 | 1969-08-12 | Burroughs Corp | Stack mechanism having multiple display registers |
US3546677A (en) * | 1967-10-02 | 1970-12-08 | Burroughs Corp | Data processing system having tree structured stack implementation |
US3665487A (en) * | 1969-06-05 | 1972-05-23 | Honeywell Inf Systems | Storage structure for management control subsystem in multiprogrammed data processing system |
US3614745A (en) * | 1969-09-15 | 1971-10-19 | Ibm | Apparatus and method in a multiple operand stream computing system for identifying the specification of multitasks situations and controlling the execution thereof |
JPS5040738B1 (de) * | 1970-06-11 | 1975-12-26 | ||
US3737881A (en) * | 1972-04-13 | 1973-06-05 | Ibm | Implementation of the least recently used (lru) algorithm using magnetic bubble domains |
US3858182A (en) * | 1972-10-10 | 1974-12-31 | Digital Equipment Corp | Computer program protection means |
US4035778A (en) * | 1975-11-17 | 1977-07-12 | International Business Machines Corporation | Apparatus for assigning space in a working memory as a function of the history of usage |
-
1976
- 1976-09-16 DE DE2641722A patent/DE2641722C3/de not_active Expired
-
1977
- 1977-09-12 US US05/832,237 patent/US4130870A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE2641722C3 (de) | 1981-10-08 |
US4130870A (en) | 1978-12-19 |
DE2641722A1 (de) | 1978-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2641722C3 (de) | Hierarchisch geordnetes Speichersystem für eine datenverarbeitende Anlage mit virtueller Adressierung | |
DE2415900C3 (de) | Rechenautomat mit mehreren mit je einem Vorratsspeicher versehenen Rechenanlagen | |
DE3011552C2 (de) | ||
DE2350215C2 (de) | Rechenanlage | |
DE2350884C2 (de) | Adreßumsetzungseinheit | |
DE19728726B4 (de) | Robotercontroller und dessen Steuerverfahren | |
DE3151745C2 (de) | ||
DE2455047A1 (de) | Datenverarbeitungssystem | |
DE2302074A1 (de) | Speicherschutzanordnung in einem multiprozessorsystem | |
DE2547488C2 (de) | Mikroprogrammierte Datenverarbeitungsanlage | |
DE1966633B2 (de) | Datenverarbeitungsanlage mit überlappter Arbeitswelse bei Verwendung eines Haupt- und Pufferspeichers | |
DE2241257B2 (de) | Datenverarbeitende Anlage | |
DE1815234A1 (de) | Adressiereinrichtung fuer ein Speichersystem mit einem Grossraumspeicher und einem schnellen Arbeitsspeicher | |
DE1524129A1 (de) | Datenverarbeitungssystem mit gemeinsamem Zugang | |
DE2542010A1 (de) | Datenverarbeitende anlage | |
DE3046912C2 (de) | Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage | |
DE2310631B2 (de) | Speicherhierarchie fur ein Datenverarbeitungssystem | |
DE19848742C2 (de) | Registerumbenennung bei einem Prozessor, der Instruktionen ausserhalb der sequentiellen Reihenfolge bearbeiten kann | |
EP0265636A1 (de) | Multiprozessor mit mehreren mit Cache-Speichern ausgerüsteten Prozessoren und einem gemeinsamen Speicher | |
CH495584A (de) | Datenverarbeitungsanlage | |
DE2525287A1 (de) | Assoziativspeicher | |
EP1675010A2 (de) | Verfahren zur Aktualisierung von Einträgen von Adressumsetzpuffern in einem Mehrprozessor-Computersystem | |
DE10107102B4 (de) | Verfahren und Anordnung zur Instruktionswortgenerierung bei der Ansteuerung von Funktionseinheiten in einem Prozessor | |
DE3903066A1 (de) | Datenverarbeitungssystem mit cache-speicher | |
DE2342101C2 (de) | Schaltung zum bereichsweisen Adressieren der Register in der Befehlsbank und Datenbank des Hauptspeichers einer Rechenanlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OAP | Request for examination filed | ||
OD | Request for examination | ||
C3 | Grant after two publication steps (3rd publication) | ||
8339 | Ceased/non-payment of the annual fee |