DE3011552C2 - - Google Patents
Info
- Publication number
- DE3011552C2 DE3011552C2 DE3011552A DE3011552A DE3011552C2 DE 3011552 C2 DE3011552 C2 DE 3011552C2 DE 3011552 A DE3011552 A DE 3011552A DE 3011552 A DE3011552 A DE 3011552A DE 3011552 C2 DE3011552 C2 DE 3011552C2
- Authority
- DE
- Germany
- Prior art keywords
- address
- buffer
- processor
- data
- 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.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
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)
- Multi Processors (AREA)
Description
Die Erfindung bezieht sich auf eine Datenverarbeitungsanlage
gemäß Gattungsbegriff des Anspruchs 1.
Eine solche DV-Anlage ist
aus DE-OS 27 25 718 bekannt. Für die Zuordnung der virtuellen
Adressenräume zu den Adressen der realen Adressenräume des
Hauptspeichers werden dort Segmenttabellen und Seitentabellen
benutzt, und zur Bestimmung eines bestimmten virtuellen Adressenraums
dient die Leitadresse der Segmenttabelle. Diese
Leitadresse wiederum befindet sich in einem Segment-Basisregister.
Zur Ermittlung der realen Adresse aus einer einem
bestimmten virtuellen Adressenraum zugeordneten virtuellen
Adresse wird gestützt auf den Inhalt des zugeordneten
Segment-Basisregisters und einen Teil der virtuellen Adresse auf
eine Adresse der Segmenttabelle zugegriffen und mit der dort
gefundenen Adresse und weiteren Bits der virtuellen Adresse die
Seitentabelle aufgefunden. Mit dem Inhalt dieser Adresse der
Seitentabelle und weiteren Bits der virtuellen Adresse findet
man die reale Adresse. Die Zuordnung der virtuellen Adresse zur
realen Adresse wird in einer besonderen Tabelle abgelegt. Bei
einer nachfolgenden Verarbeitung wird zunächst diese Tabelle
befragt, um die Zuordnung der virtuellen Adresse zur realen
Adresse zu ermitteln. Sollte diese Zuordnung nicht in jener
besonderen Tabelle gespeichert sein, muß die reale Adresse durch
Benutzung der Segmenttabelle und der Seitentabellen gesondert
bestimmt werden. Da die Speicherkapazität dieser besonderen
Tabelle begrenzt ist, wird beim Einlesen eines neuen
Zuordnungsergbnisses ein früheres Zuordnungsergebnis aus der
Tabelle entfernt.
Aus der DE-OS 21 31 066 ist eine Anordnung zur Adressenumsetzung
bekannt, bei der der Prozessor über eine Leitung mit dem
Zwischenspeicher verbunden ist und über diesen in Form einer
virtuellen Adresse eine Datenanforderung an den Schnellspeicher (Zwischenspeicher)
richtet. Befinden sich die angeforderten Daten im Schnellspeicher,
so werden sie direkt zum Prozessor übertragen. Der
Schnellspeicher ist ferner mit einem Adressenumsetzer und dieser
mit dem Hauptspeicher verbunden. Falls die angeforderten Daten
nicht im Schnellspeicher sind, gelangt die virtuelle Adresse in
den Umsetzer, welcher zur Ermittlung der realen Hauptspeicheradresse
an der die gewünschten Daten enthaltenden Seite einer
Zuordnungstabelle anfängt, diese Zuordnungstabelle abzusuchen.
Dementsprechend wird der Hauptspeicher adressiert und eine
Anzahl von Datenwörtern, zu denen auch die von der ursprünglichen
virtuellen Adresse angeforderten Daten gehören, wird in
den Schnellspeicher übertragen und schließlich von dort an den
Prozessor weitergegeben.
In der DE-AS 25 09 869 ist eine Arbeitsspeicheranordnung für eine
zum Bearbeiten von mehreren verschiedenen Prozessen im einem
Timesharingbetrieb vorgesehene Datenverarbeitungseinrichtung
vorgesehen, welche einen Hauptspeicher großer Kapazität und
einen im Verbindungsweg zwischen Hauptspeicher und Zentralprozessor
angeordneten Pufferspeicher kleiner Speicherkapazität
enthält. Dieser Pufferspeicher weist eine Mehrzahl von jeweils
aus Speicherelementen zusammengesetzten Speichereinheiten auf,
wobei die Anzahl der Speicherelemente gleich ist der größten
Anzahl der zu bearbeitenden Prozesse. In jeweils einander
zugeordneten Speicherelementen sind die jedem Prozeß
zugeordneten Daten und die zugehörigen Adressen eingespeichert,
während eine mit dem Pufferspeicher und dem Zentralprozesor
verbundene Steuerstufe nach jedem Wechsel des Prozesses die
Speichereinheiten in der Weise steuert, daß die dem neuen Prozeß
zugeordneten Daten und Adressen an Schreib-Lese-Stationen der
Speichereinheiten abgegeben werden.
In herkömmlichen großen Datenverarbeitungsanlagen
stellt die Zugriffszeit eines zentralen
Rechenwerks zum Hauptspeicher einen wesentlichen die Leistungsfähigkeit
begrenzenden Faktor dar. Die Zugriffszeit zum Hauptspeicher
hängt in großem Umfang von Verzögerungen im Zugriffsweg
zum Hauptspeicher ab. Hochgeschwindigkeitsspeicher mit wahlfreiem
Zugriff ermöglichen zwar einen wesentlich schnelleren Speicherzugriff.
Wirtschaftlich ist es jedoch nicht vertretbar, einen großen
Hauptspeicher aus Hochgeschwindigkeitsspeichern mit freiem Zugriff
aufzubauen. Es hat sich gezeigt, daß die tatsächliche Arbeitszeit
des Speichers in Großrechnern verbessert werden kann, obwohl der
Hauptspeicher an sich mit realativ langsamem Zugriff arbeitet. Dies
gelingt durch Zuordnung eines kleineren Speichers mit wahlfreiem
Zugriff, der nur vom Rechenwerk benutzt wird und dicht bei diesem
angeordnet ist. Ein solcher kleiner RAM-Speicher hat wesentlich
schnelleren Zugriff als ein Hauptspeicher und wird üblicherweise
als Prozessor-Zwischenspeicher (Cache-Speicher) bezeichnet. Bei
einer bekannten DV-Anlage hat ein solcher Zwischenspeicher eine
Kapazität von 1024 Worten, während der Hauptspeicher für 256 000
Worte oder mehr ausgelegt ist. Über längere Zeit hat sich gezeigt,
daß über 90% der vom Speicher angeforderten Daten sich im Zwischenspeicher
befanden, also eine Trefferquote von 90% leicht erreichbar
ist. Die Struktur eines herkömmlichen Zwischenspeichers umfaßt
einen inhaltsadressierbaren Speicher sowie einen Datenspeicher. Der
inhaltsadressierbare Speicher wird dazu benutzt, um die vom Prozessor
gelieferte Adresse in Beziehung zu setzen zu einem Speicherplatz
im Datenspeicher, welcher den Wert des Datenwortes enthält.
Fordert das Rechenwerk einen Speicherzugriff an, so wird die Adresse
dem inhaltsadressierbaren Speicher dargeboten. Befindet sich der
Inhalt dieser Adresse im Zwischenspeicher, so stellt dies einen
Treffer dar, und die Daten können vom Zwischenspeicher abgerufen
werden. Zeigt der inhaltsadressierbare Speicher hingegen an, daß
die angeforderte Adresse nicht vorhanden ist, so müssen die Daten
in der üblichen Weise aus dem Hauptspeicher abgerufen werden. Beim
Auslesen der Daten aus dem Hauptspeicher werden sie zugleich in
den Zwischenspeicher geladen, weil eine hohe Wahrscheinlichkeit
besteht, daß das Rechenwerk den Inhalt dieses Speicherplatzes in
nächster Zukunft anfordern wird.
Während solche Zwischenspeicher bei Anlagen mit einem einzigen
zentralen Rechenwerk und einem einzigen Hauptspeicher erfolgreich
eingesetzt werden, haben sich Komplikationen dann ergeben, wenn
mehrere Datenprozessoren Zugriff zu einem einzigen Hauptspeicher
haben. Obwohl jedem Prozessor ein eigener Zwischenspeicher zugeordnet
ist, gibt es Teile des Hauptspeichers, die allen Prozessoren
gemeinsam zur Verfügung stehen. Wenn folglich eine bestimmte
Adresse aus dem Hauptspeicher in einem wenigstens einem Rechenwerk
zugeordneten Zwischenspeicher abgelegt ist und ein anderes
Rechenwerk dann die Daten im Hauptspeicher auf den neuesten Stand
bringt, stimmen die im Zwischenspeicher abgelegten Daten nicht mehr
mit denjenigen im Hauptspeicher überein, und beim Aufruf dieser
Daten ergibt sich ein Fehler.
Ferner sind Prozessoren für die Mehrfachprogrammverarbeitung entwickelt
worden, bei denen der Prozessor nacheinander durch verschiedene
nicht einander zugeordnete Programme gesteuert wird.
Wenn unter diesen Umständen der Zwischenspeicher dem Prozessor zugeordnet
ist, fällt bei jeder Umschaltung des Prozessors auf ein
anderes Programm die Trefferquote beim Zugriff zum Zwischenspeicher
drastisch ab, weil die im Zwischenspeicher dem neuen Programm zugeordneten
Daten in keiner Beziehung stehen zum alten Programm und
folglich die Daten aus einem anderen Teil des Hauptspeichers abgerufen
werden, der einem anderen Programm zugeordnet ist. Folglich
steht der Zwischenspeicherinhalt bei der Programmumschaltung in
keiner Beziehung zum zweiten oder nachfolgendem Programm. Die Notwendigkeit
eines Umladens des Zwischenspeichers bei jeder Prozessorumschaltung
von einem Programm auf ein anderes verlangsamt die Betriebsweise
beträchtlich.
In den heute üblichen DV-Anlagen werden die Adressen im Prozessor
von einer Programmadresse oder virtuellen Adresse in eine Speicheradresse
oder echte Adresse umgewandelt. Diese Adressenumwandlung
erfolgt mit Hilfe eines Adressenumformers (mapper). Die Umwandlungsergebnisse
hängen vom Programm ab. Die Adresse "0" wird von
einem Adressenumformer je nach Programm A, B oder C in drei unterschiedliche
echte Adressen umgewandelt. Um beim gegenwärtigen
System Zugriff zum Inhalt eines Speicherplatzes zu gelangen, bietet
der Prozessor dem Adressenumformer die virtuelle Adresse an, dieser
wandelt sie in eine physikalische (echte) Adresse um, diese
wird dem zugeordneten Bereich des Zwischenspeichers zugeleitet, um
festzustellen, ob die gesuchte Information vorhanden, d. h. ein Treffer
gegeben ist. Da vom Zwischenspeicher echte Adressen benutzt
werden, muß der Vorgang schrittweise mit der Umwandlung von virtueller
in echter Adresse ablaufen.
Ausgehend vom eingangs genannten Stand der Technik hat die
Erfindung die Aufgabe, eine Datenverarbeitungsanlage mit einer verbesserten Zwischenspeicheranordnung
zu schaffen, welche unter Vermeidung der geschilderten
Nachteile und bei vertretbarem Aufwand einen schnelleren Zugriff
zur Hauptspeicherinformation ermöglicht, dabei jene Hauptspeicheradressen
erkennt, welche von mehreren Prozessoren (Datenprozessoren)
gemeinsam benutzt werden und die darin gespeicherten Daten gegen
ungewollte Veränderung schützt. Dies gelingt durch die im
Anspruch 1 gekennzeichnete Erfindung. Dabei ist jedem Prozessor
ein Zwischenspeicher (Prozessorzwischenspeicher) zugeordnet, der parallel zu einem
Adressenumformer auf vom Prozessor gelieferte virtuelle
Adressensignale anspricht. Der Adressenumformer wandelt diese
virtuellen Adressen in echte Adressen zum Adressieren des
Hauptspeichers um. Der Prozessor-Zwischenspeicher ist in mehrere
Zwischenspeicherteile unterteilt, welche jeweils auf ein
bestimmtes Programm eines Mehrprogramm-Prozessors ansprechen.
Das die gemeinsame Benutzung kennzeichnende Signal des
Adressenumformers sperrt das Einspeichern von Daten und Adressen
aus den gemeinsam benutzten Teilen des Speichers in den
Zwischenspeicher. Außerdem ist für eine Entleerung des
Zwischenspeichers Sorge getragen. Weitere vorteilhafte
Ausgestaltungen der Erfindung ergeben sich aus den
Unteransprüchen.
Die Erfindung wird nachfolgend anhand in den Zeichnungen wiedergegebener
Ausführungsbeispiele erläutert. Dabei zeigt
Fig. 1 das Blockschaltbild einer DV-Anlage mit gemeinsamem
Hauptspeicher;
Fig. 2 das Blockschaltbild einer Zwischenspeicheranordnung
bei Anwendung der Erfindung;
Fig. 3 eine etwas ausführlichere Darstellung eines solchen
Zwischenspeichers;
Fig. 4 Einzelheiten eines Teils der Schaltung nach Fig. 3;
und
Fig. 5 den Aufbau der in Fig. 3 als Block dargestellten Entleerungslogik.
In Fig. 1 arbeitet ein Hauptspeicher 2 mit mehreren Prozessoren 4, 10,
16 und 22 zusammen. Der Prozessor 4 ist über einen Adressenumformer
5 und eine Sammelleitung 6 an den Speicher 2 angeschlossen. Dem Prozessor
4 ist ferner ein Zwischenspeicher 8 zugeordnet, der ebenfalls
am Bus 6 liegt. In entsprechender Weise steht der Prozessor 10 über
einen Adressenumformer 11 und einen Bus 12 mit dem Speicher 2 in
Verbindung, und ein Zwischenspeicher 14 ist ausschließlich dem Prozessor
10 zugeordnet und an den Bus 12 angeschlossen. Entsprechendes
gilt für den Prozessor 16 mit zugeordnetem Adressenumformer 17
und Zwischenspeicher 20 einschließlich Bus 18. Schließlich ist noch
ein Prozessor 22 über einen Adressenumformer 23 und einen Bus 24 an
den Hauptspeicher 2 angeschlossen, wobei diesem Prozessor ein Zwischenspeicher
26 zugeordnet ist. An den Speicher 2 ist ferner ein
Ein/Ausgabeprozessor 28 angeschlossen, der auf Steuersignale eines
Prozessors anspricht und ausgewählte Ausgabevorrichtungen steuert
oder auf Signale des Prozessors anspricht, um Daten aus angeschlossenen
Eingabeeinrichtungen in den Speicher 2 zu übertragen. Der
Ein/Ausgabeprozessor 28 überträgt Daten zwischen dem Hauptspeicher
2 und zugeordneten Ein/Ausgabegeräten.
In einer solchen Anordnung gibt es Teile des Hauptspeichers 2, die
zu gegebener Zeit jeweils einem der Prozessoren, 4, 10, 16 und 22
zugeordnet sind. Es gibt jedoch auch andere Teile des Hauptspeichers,
welche von allen Prozessoren gemeinsam benutzt werden. Diese
gemeinsam benutzten Teile des Hauptspeichers verursachen bei der
Verwendung von Zwischenspeichern Schwierigkeiten. Nimmt man beispielsweise
an, daß der Prozessor 4 Informationen aus einer bestimmten
Adresse im gemeinsamen Teil des Hauptspeichers 2 abgerufen
und diese Daten und Adressen in seinem Zwischenspeicher 8 gespeichert
hat. Tritt dann der Prozessor 22 mit der gleichen Adresse
im gemeinsamen Teil des Hauptspeichers 2 in Verbindung und ändert
die Daten in dieser Adresse, so ergibt sich die Situation, daß der
Zwischenspeicher 8 zwar eine Aufzeichnung der Adresse der Daten
im Speicher 2 aufweist und bei erneutem Aufruf dieser Adresse
durch den Prozessor 4 diese Adresse im Zwischenspeicher 8 auch gefunden
würde, aber die dann herausgelesenen Daten nicht mehr mit
den nunmehr unter der entsprechenden Adresse im Hauptspeicher 2
abgelegten Daten übereinstimmen. Um das zu vermeiden, hat man bisher
den Speicher ständig durch alle Prozessoren und ihre zugehörigen
Zwischenspeicher überwacht und bei jeder Datenänderung Korrekturen
vorgenommen.
Wie erwähnt enthält das vom Prozessor kommende und Daten aus dem
Speicherplatz anfordernde Signal eine virtuelle Adresse für die
Daten im Speicher. Diese wird vom Adressenumformer in eine echte
Adresse umgewandelt und dem Speicher 2 zugeleitet. Der Zwischenspeicher
spricht nach der Anordnung gemäß Fig. 1 auf die echte
Adresse an, welche der echten Adresse im Speicher entspricht. Da
der Zwischenspeicher vom Prozessor aus gesehen dem Adressenumformer
nachgeschaltet ist und auf die echte Adresse anspricht, wird
der Betrieb verlangsamt, weil der Zwischenspeicher erst auf die Umwandlung
der virtuellen Adresse in die echte Adresse warten muß,
ehe er antworten kann.
Nach dem Vorschlag gemäß der Erfindung entsprechend Fig. 2 ist der
Prozessor 4′ an den Adressenumformer 5′ über eine Leitung 30 angeschlossen,
an welche zugleich der Zwischenspeicher 8′ angeschlossen
ist und folglich, nicht mehr wie Fig. 1 auf die echten Adressen,
sondern auf die vom Prozessor 4′ gelieferten virtuellen Adressen
anspricht. Da der Zwischenspeicher 8′ ausschließlich vom Prozessor
4′ benutzt wird, kann er derart organisiert sein, daß er auf dessen
virtuelle Adressen reagiert. Es ist also für den Zwischenspeicher
nicht mehr nötig, auf die echten Adressensignale zu warten, welche
die echte Adresse im Hauptspeicher 2 darstellen. Folglich kann der
Zwischenspeicher 8′ gleichzeitig und parallel mit dem Adressenumformer
5′ arbeiten, wodurch die in Fig. 1 unumgängliche Verzögerung
infolge serieller Verarbeitung vermieden wird.
Adressiert der Prozessor einen Teil des Hauptspeichers, den dieser
mit anderen Prozessoren teilt, so wird diese Adresse vom Adressenumformer
5′ erkannt und dieser erzeugt ein Sperrsignal für den Zwischenspeicher
8′. Verwandelt man die in Fig. 1 dargestellte Anlage
entsprechend Fig. 2 ab, so hätte jeder der Prozessoren einen Zwischenspeicher,
der auf die virtuellen Adressensignale anspricht,
statt auf die echten Adressensignale, und ein Sperrsignal würde vom
zugeordneten Adressenumformer erzeugt, wie dies in Fig. 2 durch
die Verbindung 7′ angedeutet ist. Damit spräche keiner der Zwischenspeicher
auf irgendeine Adresse im gemeinsamen Teil des Hauptspeichers
2 an. Folglich wird auch der Inhalt dieses gemeinsamen Teils
des Hauptspeichers in keinen der Zwischenspeicher eingespeichert.
Die Zwischenspeicher enthalten nur Daten und Adressen aus denjenigen
Teilen des Hauptspeichers, welche dem entsprechenden Prozessor
zugeordnet sind. Damit entfällt für jeden der Prozessoren und Zwischenspeicher
das Erfordernis, ständig den gemeinsamen Teil des
Hauptspeichers 2 zu überwachen. Dies gelingt, ohne daß sich hieraus
irgenwelche Fehler ergeben. Da der Zugriff zum gemeinsamen Teil
des Hauptspeichers 2 üblicherweise nur einen geringen Teil der von
den verschiedenen Prozessoren benötigten Speicherdaten betrifft,
wird die Trefferquote kaum merklich verschlechtert.
Es wurde erwähnt, daß eine der Schwierigkeiten bekannter Zwischenspeichersysteme
sich aus der Mehrfachprogrammverarbeitung einzelner
Prozessoren ergibt. Ist der Zwischenspeicher dem Prozessor zugeordnet,
so würden jedesmal, wenn der Prozessor innerhalb seines
Betriebssystems auf ein unterschiedliches Programm umschaltet, die
Daten im Zwischenspeicher vom neuen Programm nicht benutzt werden,
weil Programme innerhalb eines Prozessors nur selten Daten gemeinsam
benutzen. Folglich müßte jedes vom Prozessor für das neue Programm
benötigte Datenbit vom Hauptspeicher entnommen und für die nachfolgende
Benutzung im Zwischenspeicher abgelegt werden. Ehe der Zwischenspeicher
mit den Arbeitsdaten für das neue Programm geladen
ist, müssen alle Daten aus dem langsameren Hauptspeicher abgerufen
werden.
Fig. 3 zeigt wie auch diese Schwierigkeit durch die Erfindung behoben
wird. Wiederum ist der Prozessor 4′ über eine Leitung 30 mit
dem Adressenumformer 5′ verbunden. Diese Leitung 30 besteht hier aus
zwei Verbindungen 30 a und 30 b, von denen die erstgenannte 30 a die
virtuelle Adresse vom Prozessor 4′ zum Adressenumformer 5′ überträgt.
Die Leitung 30 b überträgt vom Prozessor 4′ eine das Programm
kennzeichnende Zahl zum Adressenumformer 5′, so daß dieser erkennt,
welches der verschiedenen Programme abläuft. Aus diesen beiden über
die Leitungen 30 a und 30 b ankommenden Signalen, erzeugt der Adressenumformer
5′ eine echte oder physikalische Adresse, welche über die
Leitung 6′ zum Hauptspeicher 2′ gelangt.
Die virtuellen Adreßsignale auf der Leitung 30 a werden ferner über
die Leitung 32 dem Zwischenspeicher 8′ zugeführt. Dieser besteht aus einem
gruppenzugeordneten Speicher 34, einer Zwischenspeichersteuerlogik
36 sowie einem Datenzwischenspeicher 38. Der gruppenzugeordnete
Speicher 34 ist in eine der Anzahl der im Prozessor 4′ zu verarbeitenden
Programme entsprechende Anzahl von Gruppen unterteilt. Gleicherweise
ist der Datenzwischenspeicher 38 in eine Anzahl von Speicherteilen
unterteilt, die der Anzahl der Gruppen im gruppenzugeordneten
Speicher entspricht. Damit ist jedem Arbeitsprogramm im
Prozessor ein bestimmter Teil des Zwischenspeichers zugeordnet. In
Fig. 3 sind als Beispiel vier solcher Bereiche oder Gruppen vorhanden.
Die Leitung 30 b überträgt die Programmkennzeichnungsnummer.
Diese gelangt ferner über die Leitung 40 zum Eingang des gruppenzugeordneten
Speichers 34 sowie zum Datenzwischenspeicher 38. Die
virtuellen Adreßsignale auf der Leitung 32 werden in zwei Teile
unterteilt, wobei der niedrige Teil dem Speicher 34 und dem Datenzwischenspeicher
38 zugeführt werden. Diese Signale zusammen mit
der über die Leitung kommenden Programmnummer 40 veranlassen den
Speicher 34, jede der Gruppen und Untergruppen nach einer Adresse
abzutasten, welche dem niederwertigen Teil der virtuellen Adresse
entspricht. Die Ausgangssignale der verschiedenen Gruppen des
inhaltsadressierbaren Speichers 34 werden dem einen Eingang je
eines von mehreren Vergleichers 42 zugeführt. Der höherwertige
Teil der virtuellen Adresse auf der Leitung 32 wird parallel der
anderen Eingangsklemme aller Vergleicher 42 zugeleitet. Im gruppenzugeordneten
Speicher 34 wird nur diejenige Adressengruppe aktiviert,
welche der Programmkennzeichnungsnummer entspricht. Diese
Gruppe wird durch die unteren Teile des virtuellen Adreßsignals
daraufhin abgetastet, ob eine Adresse vorhanden ist, deren oberer
Teil dem oberen Teil der virtuellen Adresse entspricht, welche dem
anderen Eingang des Vergleichers 42 zugeleitet wurde. Ist eine
solche Übereinstimmung gegeben, so liefert der aktivierte Vergleicher
42 ein Ausgangssignal an die Zwischenspeichersteuerlogik
36, welche somit einen Treffer anzeigt und kenntlich macht, daß
die adressierten Daten tatsächlich im Zwischenspeicher gespeichert
sind. Die Zwischenspeichersteuerlogik spricht auch auf die
Identität des oberen Adressenteils an und überträgt diesen Teil
der Adresse in den Datenzwischenspeicher 38.
Befinden sich die vom Prozessor gesuchten Daten in einem gemeinsam
benutzten Teil des Hauptspeichers 2′, so zeigt der Adressenumformer,
durch das Betriebssystem gesetzt, eine solche Prozessoranforderung
an und läßt erkennen, daß ein gemeinsamer Teil des
Hauptspeichers adressiert wurde. Unter diesen Umständen gibt der
Adressenumformer 5′ ein Sperrsignal auf der Leitung 44 ab, welches
zur Zwischenspeichersteuerlogik 36 gelangt und die Adressierung
des Datenzwischenspeichers blockiert. Die angeforderte
Adresse wird vom Adressenumformer 5′ in eine echte Adresse
für den Hauptspeicher 2′ umgewandelt und über die Leitung 6′ übertragen.
Die Daten werden aus dem Hauptspeicher abgezogen und
über die Leitung 46 zum anfordernden Prozessor weitergeleitet.
Infolge der Blockierung des Datenzwischenspeichers 38 durch das
Sperrsignal werden diese Daten nicht in den Datenzwischenspeicher
geladen.
Stammen andererseits die angeforderten Daten nicht aus dem gemeinsam
benutzten Teil des Hauptspeichers und wurde ein Treffer angezeigt,
d. h. die Daten befinden sich im Zwischenspeicher, so werden
diese Daten aus dem Datenzwischenspeicher über die Leitung 48
abgerufen. Liegen die angeforderten Adressen und Daten nicht im
gemeinsam benutzten Teil des Hauptspeichers und hat der Zwischenspeicher
angezeigt, daß sich die Daten nicht im Datenzwischenspeicher
befinden, so wandelt der Adressenumformer erneut die angeforderte
Adresse in eine echte Adresse für den Hauptspeicher 2′
um. Die Daten werden dann über die Leitung 46 aus dem Hauptspeicher
abgezogen und dem anfordernden Prozessor zugeführt. Gleichzeitig
werden jedoch die angeforderten Daten zusammen mit der
vom Prozessor gelieferten virtuellen Adresse im Datenzwischenspeicher
gespeichert. Ist ein bestimmter Teil des Zwischenspeichers
voll geladen, so ersetzen neue Daten andere Daten, beispielsweise
diejenigen, welche am längsten unbenutzt geblieben sind. Zu
diesem Zweck enthält der gruppenzugeordnete Speicher einen Speicherbereich
35, der die Datentransaktionen innerhalb des gruppenzugeordneten
Speichers überwacht und mit der Zwischenspeichersteuerlogik
36 über eine Leitung 37 im Informationsaustausch steht.
Fig. 4 zeigt eine weitere Einzelheit der Zwischenspeichersteuerlogik
36. Die Ausgänge der Vergleicher 42 liefern auf einer entsprechenden
Anzahl von Leitungen Eingangssignale an einen Codierer
50. Im Beispiel sind vier Vergleicher 42 als einzelne Baugruppen
dargestellt. Jeder dieser Vergleicher 42 stellt einen Mehrbitvergleicher
mit Mehrbitausgang dar. Das dem Eingang des Codierers
50 zugeleitete Ausgangssignal der Vergleicher 42 codiert im Falle
eines Treffers denjenigen Teil der Adresse, welche den oberen
Teil der virtuellen Adresse vom Prozessor 4′ bildet. Diese Adresseninformation
wird mit dem unteren Teil der über die Leitung 32
dem Datenzwischenspeicher 2′ zugeführte Adresse und der über die
Leitung 40 zugeführten Programmkennzeichnungsnummer kombiniert.
Die Ausgangssignale der Vergleicher 42 gelangen ferner an ein
ODER-Gatter 52, dessen Ausgang mit dem einen Eingang des UND-Gatters
54 verbunden ist. Der andere Eingang dieses UND-Gatters 54
steht über die Leitung mit dem Ausgang des Adressenumformers 5'
in Verbindung. Die Leitung 44 führt das Sperrsignal, sobald der
anfordernde Prozessor den gemeinsam benutzten Teil des Hauptspeichers
adressiert. Somit wird der Datenzwischenspeicher 38
über das ODER-Gatter 52 und das UND-Gatter 54 beim Eingang eines
Treffersignals von irgendeinem der Vergleicher 42 aktiviert, sofern
nicht das UND-Gatter 44 durch das Sperrsignal des Adressenumformers
blockiert ist.
Von Zeit zu Zeit werden Teile der nicht gemeinsam benutzten Daten
im Hauptspeicher 2 geändert. Diese Änderung wird durch den Prozessor
4′ gesteuert und erfolgt beispielsweise durch Daten, welche
über den Ein/Ausgabeprozessor 28 (Fig. 1) ankommen, oder Adressen,
welche zuvor nicht gemeinsam benutzt wurden, werden durch eine
Änderung ihres Zustands nunmehr zu gemeinsam benutzten Adressen.
Der Ein/Ausgabeprozessor 28 seinerseits steuert die Informationsübertragung
zwischen dem Hauptspeicher 2 und dem Ein/Ausgabegerät,
beispielsweise einem Datenterminal, einem Band- oder Kartenleser
oder dergl. Waren Daten aus dem modifizierten Teil des
Hauptspeichers 2 zuvor in den Datenzwischenspeicher eingegeben
worden, so wären diese Daten nach der Änderung im Hauptspeicher
nunmehr falsch. Folglich ist dafür Sorge getragen, daß jener Teil
des Zwischenspeichers, der dem die von nicht gemeinsam benutzt
zu gemeinsam benutzt geänderten Daten des Hauptspeichers enthält,
nunmehr entleert wird. Für diese Entleerung ist eine Entleerungssteuerlogik
39 vorgesehen, welche auf Steuersignale aus dem Prozessor
4′ anspricht und die Entleerung des Datenzwischenspeichers
über den gruppenzugeordneten Speicher 34 steuert. Der Prozessor 4′
kennzeichnet den Adressenbereich, der den Adressen der im Hauptspeicher
geänderten Daten entspricht. Der Prozessor überträgt
ferner über die Leitung 41 ein Signal an den gruppenzugeordneten
Speicher 34, welches anzeigt, daß eine Entleerungsoperation aufgerufen
ist. Der Prozessor tastet sodann die Adressen im Zwischenspeicher
ab. Sobald Adressen innerhalb des zuvor bestimmten Bereiches
auftreten, werden diese aus dem gruppenzugeordneten Speicher
entfernt. Wird dann eine Adresse aus diesem Bereich vom
Prozessor aufgerufen, so erscheint eine Fehlanzeige und die fortgeschriebenen
Daten werden aus dem Hauptspeicher abgezogen und
zugleich im Zwischenspeicher abgelegt.
Fig. 5 zeigt eine bevorzugte Ausführungsform für die Entleerungssteuerlogik
39. Aus dem Prozessor 4′ überträgt eine Leitung 60
ein der Obergrenze des zu entleerenden Adressenbereiches entsprechendes
Signal. Eine zweite Leitung 62 führt ein Signal, welches
die Untergrenze des zu entleerenden Adressenbereiches kennzeichnet.
Die Entleerungssteuerlogik 39 umfaßt eine erste Gruppe
von Vergleichern 64, von denen vier dargestellt sind und zwar je
eine für jeden Hauptteil des gruppenzugeordneten Speichers 34.
Eine Eingangsklemme jedes Vergleichers ist an die Leitung 60 angeschlossen.
Ein zweiter Eingang jedes Vergleichers liegt an der
Leitung 32, welche vom Prozessor die höchstwertigen Ziffern der Abtastadressen
aus dem Prozessor führt. Die Vergleicher 64 erzeugen
ein Ausgangssignal, sobald die Obergrenze des Entleerungsbereiches
kleiner ist als die über die Leitung 32 zugeführte Adresse. Dieses
Signal wird durch einen der Inverter 66 umgepolt. Die Ausgänge
dieser Inverter 66 sind jeweils an einen der beiden Eingänge je
eines UND-Gatters 68 angeschlossen. Eine zweite Gruppe von Vergleichern
70 liegt mit einem Eingang an der Leitung 62, welche
ein der Untergrenze des zu entleerenden Adressenbereiches entsprechendes
Signal führt. Der andere Eigang jedes der Vergleicher 70
ist wiederum an die Leitung 32 angeschlossen. Die Ausgänge der
Vergleicher 70 sind jeweils mit dem anderen Eingang des zugehörigen
UND-Gatters 68 verbunden. Die Vergleicher 70 liefern ein Ausgangssignal,
sobald das die Untergrenze kennzeichnende Signal auf
der Leitung 62 gleich oder kleiner ist als das auf der Leitung 32
auftretende, die abgetastete Adresse kennzeichnende Signal.
Wenn das Adressensignal vom Prozessor auf der Leitung 32 gleich
den Grenzwerten ist oder zwischen diesen Grenzwerten liegt, welche
durch die Signale auf den Leitungen 60 und 62 bestimmt sind, so
liefert jedes der UND-Gatter 68 ein Ausgangssignal. Dieses wird
dem entsprechenden Bereich des gruppenzugeordneten Speichers 34
zugeführt und führt zu einer Entfernung der angezeigten Adressen.
Dabei wird nur jener Bereich des gruppenzugeordneten Speichers
vom Entleerungssignal beeinflußt, der durch das Programmkennziffersignal
aktiviert ist, das vom Prozessor über die Leitung 40
geliefert wird. Somit entfernt die vom Prozessor 4′ eingeleitete
Entleerungsroutine aus dem Zwischenspeicher jenen Bereich von
Adressen, der denjenigen Adressen im Hauptspeicher entspricht,
die durch externe Maßnahmen geändert wurden. Wenn der Prozessor
dann eine jener Adressen aufruft, so erfolgt eine Fehlanzeige und
die angeforderten Daten werden aus dem Hauptspeicher abgerufen.
Die Erfindung zeigt somit eine Datenverarbeitungsanlage, bei der
jedem der Prozessoren, der Zugriff zu einem einzigen Hauptspeicher
hat, ein Zwischenspeicher zugeordnet ist. Die Zwischenspeicher
werden durch die virtuellen Adressen aus dem Prozessoren adressiert
und sind in Gruppenbereiche unterteilt, welche der Anzahl
der Programme im Betriebssystem der einzelnen Prozessoren entsprechen.
Claims (9)
- Datenverarbeitungsanlage mit
- a) einem Hauptspeicher, der einerseits adressierbare Speicherteile aufweist, deren echte Adressen einem bestimmten Programm zugeordnet sind, sowie andererseits adressierbare Speicherteile enthält, deren echte Adressen von mehreren Programmen gemeinsam benutzt werden;
- b) wenigstens einem Datenprozessor mit zugeordnetem Adressenumformer, der virtuelle Adressensignale eines Programms in echte Achressensignale für den Zugriff zum Hauptspeicher umformt;
- dadurch gekennzeichnet, daß
- c) jedem Programm ein Prozessorzwischenspeicher (8′) zugeordnet ist, der auf virtuelle Adressensignale eines entsprechenden Programms direkt anspricht; und
- d) der Adressenumformer (5′) beim Ansprechen auf solche virtuellen Adressensignale, welche den gemeinsamen echten Adressen im Hauptspeicher (2) entsprechen, ein Sperrsignal erzeugt, welches das Einschreiben von Daten aus dem Hauptspeicher (2) in den entsprechenden Zwischenspeicher (8′) sperrt, sobald der gemeinsame Teil des Hauptspeichers adressiert wird.
- 2. DV-Anlage nach Anspruch 1, dadurch gekennzeichnet, daß eine Entleerungssteuerlogik (39) auf Steuersignale eines jeden Programms anspricht und jeweils an einem Prozessorzwischenspeicher (8′) angeschlossen ist, um aus diesem selektiv Daten zu entfernen, welche ausgewählten Teilen des Hauptspeichers (2) entsprechen.
- 3. DV-Anlage nach Anspruch 1 oder 2 mit mehreren Datenprozessoren, dadurch gekennzeichnet, daß jedem Datenprozessor (4′) ein Adressenumformer (5′) zugeordnet ist.
- 4. DV-Anlage nach Anspruch 1 oder 2 mit wenigstens einem von mehreren Programmen getrennt gesteuerten Datenprozessor, dadurch gekennzeichnet, daß die Prozessorzwischenspeicher (8′) eine der Anzahl der Programme entsprechende Anzahl von Adressensätzen liefern, von denen einzelne entsprechenden Programmen zugeordnet sind und entsprechend dem Programm adressiert werden.
- 5. DV-Anlage nach Anspruch 4, dadurch gekennzeichnet, daß die Prozessorzwischenspeicher (8′) Teile einer einzigen Zwischenspeichereinheit (34) sind und ausgewählte Daten aus dem Hauptspeicher (2) für die Verarbeitung im Datenprozessor (4) bereithalten, und daß gruppenzugeordnete Speicherteile vorgesehen sind zur Speicherung von Adreßinformationen für die in den Zwischenspeicherteilen abgelegten ausgewählten Daten.
- 6. DV-Anlage nach Anspruch 5, dadurch gekennzeichnet, daß die Zwischenspeicherteile und die gruppenzugeordneten Speicherteile eine der Anzahl der Programme entsprechende Anzahl von Adressensätzen liefern.
- 7. DV-Anlage nach Anspruch 5 oder 6, dadurch gekennzeichnet, daß die Prozessorzwischenspeicher ferner eine Zwischenspeichersteuerlogik (36) aufweisen, die auf Signale der gruppenzugeordneten Speicherteile anspricht und anzeigt, daß eine von einem zugehörigen Prozessor angeforderte Adresse vorhanden ist und dann den Zwischenspeicherteil aktiviert und adressiert.
- 8. DV-Anlage nach einem der Ansprüche 5 bis 7, dadurch gekennzeichnet, daß die Prozessorzwischenspeicher (8′) außer den gruppenzugeordneten Speicherteilen (34) einen entsprechend unterteilten Datenzwischenspeicher (38) aufweisen.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/025,679 US4264953A (en) | 1979-03-30 | 1979-03-30 | Virtual cache |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3011552A1 DE3011552A1 (de) | 1980-10-09 |
DE3011552C2 true DE3011552C2 (de) | 1989-03-02 |
Family
ID=21827456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19803011552 Granted DE3011552A1 (de) | 1979-03-30 | 1980-03-26 | Datenverarbeitungsanlage mit einem hauptspeicher sowie wenigsten einem datenprozessor mit zugeordnetem adressenumformer |
Country Status (6)
Country | Link |
---|---|
US (1) | US4264953A (de) |
JP (1) | JPS55132586A (de) |
CA (1) | CA1139451A (de) |
DE (1) | DE3011552A1 (de) |
FR (1) | FR2452745B1 (de) |
GB (1) | GB2045483B (de) |
Families Citing this family (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS55134459A (en) * | 1979-04-06 | 1980-10-20 | Hitachi Ltd | Data processing system |
US4332010A (en) * | 1980-03-17 | 1982-05-25 | International Business Machines Corporation | Cache synonym detection and handling mechanism |
US4386402A (en) * | 1980-09-25 | 1983-05-31 | Bell Telephone Laboratories, Incorporated | Computer with dual vat buffers for accessing a common memory shared by a cache and a processor interrupt stack |
US4433374A (en) * | 1980-11-14 | 1984-02-21 | Sperry Corporation | Cache/disk subsystem with cache bypass |
US4466059A (en) * | 1981-10-15 | 1984-08-14 | International Business Machines Corporation | Method and apparatus for limiting data occupancy in a cache |
US4429363A (en) * | 1981-10-15 | 1984-01-31 | International Business Machines Corporation | Method and apparatus for managing data movements from a backing store to a caching buffer store |
JPS58147879A (ja) * | 1982-02-26 | 1983-09-02 | Toshiba Corp | キヤツシユメモリ制御方式 |
US4504902A (en) * | 1982-03-25 | 1985-03-12 | At&T Bell Laboratories | Cache arrangement for direct memory access block transfer |
GB2127998B (en) * | 1982-09-27 | 1986-06-18 | Data General Corp | Encachement apparatus |
US4594682A (en) * | 1982-12-22 | 1986-06-10 | Ibm Corporation | Vector processing |
DE3380645D1 (en) * | 1982-12-28 | 1989-11-02 | Ibm | Method and apparatus for controlling a single physical cache memory to provide multiple virtual caches |
US4897783A (en) * | 1983-03-14 | 1990-01-30 | Nay Daniel L | Computer memory system |
US4858111A (en) * | 1983-07-29 | 1989-08-15 | Hewlett-Packard Company | Write-back cache system using concurrent address transfers to setup requested address in main memory before dirty miss signal from cache |
US4682281A (en) * | 1983-08-30 | 1987-07-21 | Amdahl Corporation | Data storage unit employing translation lookaside buffer pointer |
US4648030A (en) * | 1983-09-22 | 1987-03-03 | Digital Equipment Corporation | Cache invalidation mechanism for multiprocessor systems |
DE3502147A1 (de) * | 1984-01-23 | 1985-08-08 | Hitachi Microcomputer Engineering Ltd., Kodaira, Tokio/Tokyo | Datenverarbeitungssystem mit verbesserter pufferspeichersteuerung |
CA1233271A (en) * | 1984-06-26 | 1988-02-23 | David S. Mothersole | Cache disable for a data processor |
US4740889A (en) * | 1984-06-26 | 1988-04-26 | Motorola, Inc. | Cache disable for a data processor |
JP2539357B2 (ja) | 1985-03-15 | 1996-10-02 | 株式会社日立製作所 | デ−タ処理装置 |
US4785398A (en) * | 1985-12-19 | 1988-11-15 | Honeywell Bull Inc. | Virtual cache system using page level number generating CAM to access other memories for processing requests relating to a page |
US5029072A (en) * | 1985-12-23 | 1991-07-02 | Motorola, Inc. | Lock warning mechanism for a cache |
US5155829A (en) * | 1986-01-21 | 1992-10-13 | Harry M. Weiss | Memory system and method for protecting the contents of a ROM type memory |
US4755936A (en) * | 1986-01-29 | 1988-07-05 | Digital Equipment Corporation | Apparatus and method for providing a cache memory unit with a write operation utilizing two system clock cycles |
US5237671A (en) * | 1986-05-02 | 1993-08-17 | Silicon Graphics, Inc. | Translation lookaside buffer shutdown scheme |
US5123101A (en) * | 1986-11-12 | 1992-06-16 | Xerox Corporation | Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss |
US5045996A (en) * | 1986-11-12 | 1991-09-03 | Xerox Corporation | Multiprocessor cache memory housekeeping |
US5119290A (en) * | 1987-10-02 | 1992-06-02 | Sun Microsystems, Inc. | Alias address support |
JPH0727492B2 (ja) * | 1988-01-21 | 1995-03-29 | 三菱電機株式会社 | 緩衝記憶装置 |
NL8800858A (nl) * | 1988-04-05 | 1989-11-01 | Philips Nv | Rekenmachinesysteem voorzien van een hoofdbus en een tussen processor en geheugen direkt verbonden extra kommunikatielijn. |
EP0343567A3 (de) * | 1988-05-25 | 1991-01-09 | Hitachi, Ltd. | Mehrprozessoranordnung und Cache-Speichervorrichtung zur Verwendung in dieser Anordnung |
US4905141A (en) * | 1988-10-25 | 1990-02-27 | International Business Machines Corporation | Partitioned cache memory with partition look-aside table (PLAT) for early partition assignment identification |
US6092153A (en) * | 1988-11-14 | 2000-07-18 | Lass; Stanley Edwin | Subsettable top level cache |
US5159677A (en) * | 1988-11-21 | 1992-10-27 | International Business Machines Corp. | Method and system for storing data in and retrieving data from a non-main storage virtual data space |
JPH0687232B2 (ja) * | 1988-12-19 | 1994-11-02 | 三菱電機株式会社 | データ処理装置 |
US5161219A (en) * | 1989-01-13 | 1992-11-03 | International Business Machines Corporation | Computer system with input/output cache |
CA1325288C (en) * | 1989-02-03 | 1993-12-14 | Ricky C. Hetherington | Method and apparatus for controlling the conversion of virtual to physical memory addresses in a digital computer system |
US5067078A (en) * | 1989-04-17 | 1991-11-19 | Motorola, Inc. | Cache which provides status information |
US5150472A (en) * | 1989-10-20 | 1992-09-22 | International Business Machines Corp. | Cache management method and apparatus for shared, sequentially-accessed, data |
US5687354A (en) * | 1990-02-09 | 1997-11-11 | Harry M. Weiss | Memory system and method for protecting the contents of a ROM type memory |
EP0442474B1 (de) * | 1990-02-13 | 1997-07-23 | Sanyo Electric Co., Ltd. | Vorrichtung und Verfahren zum Steuern eines Cache-Speichers |
GB9008366D0 (en) * | 1990-04-12 | 1990-06-13 | British Aerospace | Data interaction architecture(dia)for real time embedded multi processor systems |
US5014195A (en) * | 1990-05-10 | 1991-05-07 | Digital Equipment Corporation, Inc. | Configurable set associative cache with decoded data element enable lines |
US5511226A (en) * | 1992-08-25 | 1996-04-23 | Intel Corporation | System for generating snoop addresses and conditionally generating source addresses whenever there is no snoop hit, the source addresses lagging behind the corresponding snoop addresses |
US5872998A (en) * | 1995-11-21 | 1999-02-16 | Seiko Epson Corporation | System using a primary bridge to recapture shared portion of a peripheral memory of a peripheral device to provide plug and play capability |
US6745292B1 (en) | 1995-12-08 | 2004-06-01 | Ncr Corporation | Apparatus and method for selectively allocating cache lines in a partitioned cache shared by multiprocessors |
US5974509A (en) * | 1996-05-01 | 1999-10-26 | Sun Microsystems, Inc. | Method for purging unused data from a cache memory |
GB2318657B (en) * | 1997-07-15 | 1998-09-02 | Ncipher Corp Limited | Microprocessor cache consistency |
KR100253328B1 (ko) * | 1997-09-30 | 2000-05-01 | 김영환 | 메모리의 데이터 보호회로 |
US6314492B1 (en) * | 1998-05-27 | 2001-11-06 | International Business Machines Corporation | System and method for server control of client cache |
US8468077B2 (en) * | 2005-01-14 | 2013-06-18 | Taxnet Inc. | Distributed tax-return-preparation processing |
RU2702543C2 (ru) * | 2014-11-04 | 2019-10-08 | Вудуэлдинг Аг | Способ соединения предметов |
US10203893B2 (en) * | 2015-10-22 | 2019-02-12 | American Megatrends, Inc. | Memory channel storage device detection |
US10558468B2 (en) | 2015-10-22 | 2020-02-11 | American Megatrends International, Llc | Memory channel storage device initialization |
US10155695B2 (en) | 2016-10-04 | 2018-12-18 | Romeo Ilarian Ciuperca | Manufactured natural pozzolan, improved manufactured natural pozzolan-based cement and method of making and using same |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR10582E (fr) * | 1970-06-29 | 1909-07-30 | Paul Alexis Victor Lerolle | Jeu de serrures avec passe-partout |
US3786427A (en) * | 1971-06-29 | 1974-01-15 | Ibm | Dynamic address translation reversed |
US3693165A (en) * | 1971-06-29 | 1972-09-19 | Ibm | Parallel addressing of a storage hierarchy in a data processing system using virtual addressing |
US3848234A (en) * | 1973-04-04 | 1974-11-12 | Sperry Rand Corp | Multi-processor system with multiple cache memories |
US3979726A (en) * | 1974-04-10 | 1976-09-07 | Honeywell Information Systems, Inc. | Apparatus for selectively clearing a cache store in a processor having segmentation and paging |
US4020466A (en) * | 1974-07-05 | 1977-04-26 | Ibm Corporation | Memory hierarchy system with journaling and copy back |
JPS51150928A (en) * | 1975-06-20 | 1976-12-24 | Hitachi Ltd | Memory system |
JPS52149444A (en) * | 1976-06-08 | 1977-12-12 | Fujitsu Ltd | Multiplex virtual space processing data processing system |
JPS531611A (en) * | 1976-06-28 | 1978-01-09 | Kobe Steel Ltd | Production of forged product by powder metallurgy |
US4136385A (en) * | 1977-03-24 | 1979-01-23 | International Business Machines Corporation | Synonym control means for multiple virtual storage systems |
US4096573A (en) * | 1977-04-25 | 1978-06-20 | International Business Machines Corporation | DLAT Synonym control means for common portions of all address spaces |
-
1979
- 1979-03-30 US US06/025,679 patent/US4264953A/en not_active Expired - Lifetime
-
1980
- 1980-02-11 CA CA000345375A patent/CA1139451A/en not_active Expired
- 1980-03-13 GB GB8008569A patent/GB2045483B/en not_active Expired
- 1980-03-26 DE DE19803011552 patent/DE3011552A1/de active Granted
- 1980-03-27 FR FR8006853A patent/FR2452745B1/fr not_active Expired
- 1980-03-31 JP JP4058180A patent/JPS55132586A/ja active Granted
Also Published As
Publication number | Publication date |
---|---|
JPH0253813B2 (de) | 1990-11-19 |
FR2452745A1 (fr) | 1980-10-24 |
GB2045483B (en) | 1983-05-11 |
CA1139451A (en) | 1983-01-11 |
FR2452745B1 (fr) | 1987-10-30 |
JPS55132586A (en) | 1980-10-15 |
GB2045483A (en) | 1980-10-29 |
DE3011552A1 (de) | 1980-10-09 |
US4264953A (en) | 1981-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3011552C2 (de) | ||
DE2455047C2 (de) | Datenverarbeitungssystem mit einem Informationsspeicher | |
DE2856133C2 (de) | Datenverarbeitungsvorrichtung mit einem Hauptspeicher und einem Assoziativspeicher als Pufferspeicher | |
DE2227882C2 (de) | Virtuelle Speicheranordnung | |
DE2235841C2 (de) | Datenverarbeitungsanlage mit Speichersteuerung für mindestens einen Prozessor und diesen zugeordneten Pufferspeichern | |
DE2260353C2 (de) | Schaltungsanordnung für die Adressenumsetzung in einer Datenverarbeitungsanlage | |
DE2226382C3 (de) | Datenverarbeitungsanlage mit mehreren Prozessoren und diesen zugeordneten Pufferspeichern | |
DE2550339C2 (de) | Speichersystem mit einem langsam arbeitenden Hauptspeicher großer Kapazität und mit zumindest einem schnell arbeitenden Pufferspeicher geringer Kapazität | |
DE2231146C3 (de) | Datenverarbeitungsanlage mit virtueller Adressierung | |
DE2302074A1 (de) | Speicherschutzanordnung in einem multiprozessorsystem | |
EP0013737A1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
DE3805107A1 (de) | Verfahren und vorrichtung zur steuerung virtueller adressraeume eines virtuellen speichers | |
DE3502147C2 (de) | ||
DE3102150A1 (de) | "schaltungsanordnung mit einem cachespeicher fuer eine zentraleinheit einer datenverarbeitungsanlage | |
DE1956604A1 (de) | Datenverarbeitungsanlage mit einem Speichersystem | |
DE2725718A1 (de) | Verarbeitungssystem mit mehreren virtuellen adressenraeumen | |
DE2939411C2 (de) | Datenverarbeitungsanlage mit virtueller Speicheradressierung | |
DE2163342B2 (de) | Hierarchische binaere speichervorrichtung | |
DE2547488A1 (de) | Mikroprogrammierte datenverarbeitungsanlage | |
DE3046912C2 (de) | Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage | |
DE2310631A1 (de) | Speicherhierarchie fuer ein datenverarbeitungssystem | |
DE69119149T2 (de) | Struktur zur direkten Speicher-zu-Speicher-Übertragung | |
DE2718551B2 (de) | ||
DE3750175T2 (de) | Mikroprozessor mit einem Cache-Speicher. | |
DE2149200A1 (de) | Anordnung zum Steuern der Informationsuebertragung zwischen einerseits dem Zentralteil und andererseits entweder einem beliebig zugreifbaren Schnellspeicher oder einem beliebig zugreifbaren direkt adressierbaren Grossspeicher einer elektronischen Datenverarbeitungsanlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8125 | Change of the main classification |
Ipc: G06F 12/10 |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |