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
Application number
DE3011552A
Other languages
English (en)
Other versions
DE3011552A1 (de
Inventor
Robert H. Douglas
Thomas L. Phoenix Ariz. Us Phinney
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honeywell Inc
Original Assignee
Honeywell Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honeywell Inc filed Critical Honeywell Inc
Publication of DE3011552A1 publication Critical patent/DE3011552A1/de
Application granted granted Critical
Publication of DE3011552C2 publication Critical patent/DE3011552C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0842Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking

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)

  1. 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;
  2. 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.
  3. 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.
  4. 3. DV-Anlage nach Anspruch 1 oder 2 mit mehreren Datenprozessoren, dadurch gekennzeichnet, daß jedem Datenprozessor (4′) ein Adressenumformer (5′) zugeordnet ist.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
DE19803011552 1979-03-30 1980-03-26 Datenverarbeitungsanlage mit einem hauptspeicher sowie wenigsten einem datenprozessor mit zugeordnetem adressenumformer Granted DE3011552A1 (de)

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)

* Cited by examiner, † Cited by third party
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
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
US4466059A (en) * 1981-10-15 1984-08-14 International Business Machines Corporation Method and apparatus for limiting data occupancy in a cache
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
DE69126898T2 (de) * 1990-02-13 1998-03-05 Sanyo Electric Co 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
AU2015341864B2 (en) * 2014-11-04 2021-01-21 Woodwelding Ag Bonding objects together
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)

* Cited by examiner, † Cited by third party
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
US4096573A (en) * 1977-04-25 1978-06-20 International Business Machines Corporation DLAT Synonym control means for common portions of all address spaces
US4136385A (en) * 1977-03-24 1979-01-23 International Business Machines Corporation Synonym control means for multiple virtual storage systems

Also Published As

Publication number Publication date
FR2452745B1 (fr) 1987-10-30
GB2045483A (en) 1980-10-29
DE3011552A1 (de) 1980-10-09
JPS55132586A (en) 1980-10-15
US4264953A (en) 1981-04-28
FR2452745A1 (fr) 1980-10-24
JPH0253813B2 (de) 1990-11-19
CA1139451A (en) 1983-01-11
GB2045483B (en) 1983-05-11

Similar Documents

Publication Publication Date Title
DE3011552C2 (de)
DE2455047C2 (de) Datenverarbeitungssystem mit einem Informationsspeicher
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
DE2856133A1 (de) Verarbeitungssystem fuer einen assoziativspeicher
EP0013737A1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE2154106A1 (de) Arbeitsspeicherwerk
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
DE2718551B2 (de)
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
EP0009625B1 (de) Datentransferschalter mit assoziativer Adressauswahl in einem virtuellen Speicher

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