DE2261586C3 - Speichereinrichtung - Google Patents
SpeichereinrichtungInfo
- Publication number
- DE2261586C3 DE2261586C3 DE19722261586 DE2261586A DE2261586C3 DE 2261586 C3 DE2261586 C3 DE 2261586C3 DE 19722261586 DE19722261586 DE 19722261586 DE 2261586 A DE2261586 A DE 2261586A DE 2261586 C3 DE2261586 C3 DE 2261586C3
- Authority
- DE
- Germany
- Prior art keywords
- memory
- data
- auxiliary
- address
- main
- 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/0877—Cache access modes
- G06F12/0886—Variable-length word access
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)
- Data Exchanges In Wide-Area Networks (AREA)
Description
platzbedarfs der öfter zugreifenden Prozessoren vielfach schon wieder in den Hauptspeicher zurückgeführt
wurden. Der Erfindung liegt daher die Aufgabe zugrunde, die bekannte Speichereinrichtung so weiterzubilden, daß die Wahrscheinlichkeit für das Auffinden einer unter der zugeordneten Hauptspeicheradresse eröffneten Speicherzelle im Hüfsspeicher für
die weniger oft zugreifenden Prozessoren erhöht und der Zugriff mit unterschiedlichen Dateiformaten ermöglicht wird.
Diese Aufgabe wird durch die Merkmale im kennzeichnenden Teil des Patentanspruchs 1 gelöst.
Weiterbildungen der Erfindung sind in den Unteransprüchen gekennzeichnet.
Durch die DE-AS 1774864 ist eine mikroprogrammierte Datenverarbeitungsanlage mit einem
Hauptspeicher und einem schnellen, in Abschnitte unterteilten Hilfsspeicher bekannt. Der Hilfsspeicher
zur Speicherung der gerade verarbeiteten Daten ist als speicherplatzadressierter Speicher ausgebildet.
Die Adressierung des Hilfsspeichers erfolgt über ein Abschnittsauswahlregister und über ein Wortauswahlregister zur Auswahl eines Wortes innerhalb eines gewählten Abschnitts.
Da die Speicherkapazitäten von Haupt- und Hilfsspeicher stark verschieden sind, unterscheiden sich
auch die Adressen, unter denen ein bestimmtes Datum im Hauptspeicher und im Hilfsspeicher gespeichert ist. Für die Ableitung einer HilfsSpeicheradresse
aus einer vorgegebenen Hauptspeicheradresse bedarf es daher komplizierter Zusatzeinrichtungen. Auch
muß erst die HilfsSpeicheradresse gebildet werden, um feststellen zu können, ob ein bestimmtes Datum überhaupt im Hilfsspeicher vorliegt.
Im Gegensatz hierzu genügt bei der Speichereinrichtung gemäß der Erfindung die Kenntnis der
Hauptspeicheradresse eines Datums, um ohne Adressenmodifikation sein Vorhandensein im Hilfsspeicher
feststellen und es gegebenenfalls gleichzeitig auslesen zu können.
Ausführungsbeispiele der Erfindung werden im folgenden anhand der Zeichnung näher erläutert. Es
zeigt
Fig. 1 einen Überblick über die Zuordnung der Speichereinrichtung zu den übrigen Hauptteilen einer
Datenverarbeitungsanlage,
Fig. 3 den Adressen-, Anzeige- und Steuerteil des
Hilfsspeichers in B'ockdarstellung.
Die Fig. 1 gibt eine Übersicht über die Zuordnung der Speichereinrichtung zu den sonstigen Hauptteilen
einer Datenverarbeitungsanlage. Der Zentralprozessor ZP, das Wartungsfeld WF und das Kanalwerk
KW bzw. die angeschlossenen peripheren Einheiten PE greifen über einen sogenannten Arbeitsspeicherkoordinator KOO zu der aus Hauptspeicher ASP und
Hilfsspeicher HPP bestehenden Speichereinrichtung zu. Grundsätzlich ist jeder durch den Arbeitsspeicherkoordinator KOO (im folgenden kurz Koordinator
genannt) vermittelte Zugriff an den Hilfsspeicher HSP gerichtet, der seinerseits bei Bedarf zum Arbeitsspeicher zugreift. Die in der Fig. 1 eingezeichnete direkte Verbindung zwischen dem Arbeitsspeicher ASP und dem Koordinator KOO unter
Umgehung des Hilfsspeichers HSP wird daher im allgemeinen nur in Sonderfällen wirksam, wie beispielsweise bei Störungen des Hilfsspeichers, bei Fehlerroutinen oder zu Wartungszwecken. Sie kann aber
auch regelmäßig^ür eine bestimmte Klasse von Daten
eingesetzt werden.
Wie schon erwähnt wurde, besteht der assoziativ verwaltete Hüfsspeicher HSP aus einem Datenteil mit
einer Anzahl von Datenspeicherplätzen, aus einem Adressenteil zur Speicherung von Haupt- und Hilfsadressen und einem Anzeigenteil. Jeweils eine Untermenge von Datenplätzen, je ein Adressenplatz für
Haupt- und Hilfsadresse bilden zusammen mit den
ίο zugeordneten Anzeigenplätzen eine Speicherzeile.
Die Gesamtheit aller Speicherzeilen ist für den Eintrag von Daten unter einer bisher nicht im Hilfsspeicher vorhandenen Adresse (Neueintrag) in zwei oder
mehrere, sich nicht überlappende Bereiche eingeteilt.
Dementsprechend sind auch die Mittel zur Auswahl geeigneter Speicherzeilen für den Neueintrag doppelt
oder mehrfach vorhanden. Für alle anderen Funktionen des Hilfsspeichers, die keinen Eintrag unter einer
neuen Adresse zur Folge haben, wird der Hilfsspei
eher als Einheit behandelt.
Bei einer vorteilhaften Ausführungsforrn der Erfindung, die auch der weiteren Beschreibung zugrunde
liegen soll, sind zwei Neueintragsbereiche vorgesehen. Dem Bereich 1 sind ebenso viele Speicherzeilen, z. B.
vier, zugeordnet, wie Selektorkanäle gleichzeitig arbeiten können. Der Bereich 2, der bei insgesamt 32
Speicherzeilen dann 28 Speicherzellen umfaßt, wird dem Zentralprozessor ZP und dem Kanalwerk KW
für die Bedienung des Multiplexkanals bzw. der MuI-
Jd tiplexkanäle zur Verfügung gestellt. Selbstverständlich können die in den Hilfsspeicher HSP einzugebenden Daten auch nach anderen Gesichtspunkten in
zwei (oder mehr) Klassen eingeteilt werden. Der Koordinator KOO liefert bei jedem Zugriff zum Hilfs-
r, speicher ein Signal an diesen mit, welches den für einen Neueintrag in Frage kommenden Speicherbereich
bestimmt. Ist kein Neueintrag erforderlich, so bleibt das Signal unberücksichtigt, insbesondere auch bei der
assoziativen Suche nach einer im Hilfsspeicher bereits
vorhandenen Adresse.
Die Auswahl einer Speicherzeile für einen Neueintrag kann bekanntlich nach verschiedenen Kriterien
erfolgen. Vorteilhaft wird (innerhalb eines Bereichs) diejenige Zeile ausgewählt, in die am längsten kein
Neueintrag vorgenommen wurde. Die Mittel zur Auswahl können dann nach Art eines Ringzählers ausgebildet sein, die nach jedem Neueintrag um eine Stellung weiterschalten und nach Erreichen der Endstellung wieder in die Anfangsstellung springen. Sie
-,o zeigen bei jedem Zugriff zum Hilfsspeicher mit einer
dort noch nicht vorhandenen Hauptadresse bereits auf die zu behandelnde Speicherzeile und veranlassen die
Übergabe der bisher darin gespeicherten Daten an den Hauptspeicher ASP (Arbeitsspeicher) sowie die
Übernahme der neuen Daten und der neuen Adresse. Nach erfolgter Eingabe springen sie in die nächste
Stellung (Neueintragszeiger NEZ).
Die Fig. 2 zeigt auszugsweise den Datenteil des Hilfsspeichers HSP. Der Datenteil enthält insgesamt
bo acht Registersätze DBX bis DBS (wovon in Fig. 2
zur Vereinfachung nur vier dargestellt sind). Jeder Registersatz (Datenspeicherbank) besitzt beispielsweise 32 Datenplätze zur Speicherung einer Datengrundgruppe bzw. eines Byte aus 8 Datenbit und ei-
b5 nem Paritybit. Die gleich numerierten Datenplätze
aller acht Registersätze DBi bis DB» bilden eine Datenzeile, die jeweils den entsprechenden Speicherplätzen im Adressen- und Anzeigenteil lies Hilfsspei-
chers HSP zugeordnet ist.
Zu jedem Registersatz DBl bis DBS gehört ein Eingangsmultiplexer MEl bis MES. Die Eingangsmultiplexer wählen mit Hilfe von Steuersignalen die
vom Hauptspeicher ASP, vom Koordinator KOO odei über Rückführungswege Al bis RS ankommenden Datengruppen für die Eingabe in die Registersätzc aus. Weiterhin ist jeweils zwei Registersätzen
(z B DBl und DBS) ein Ausgangsmuitiplexer MAl
bis MAA zugeordnet. Letztere schalten die ausgewählten Datengruppen zum Koordinator KOO durch,
bzw. bieten sie über die Rückführungswege Rl bis RS den Eingangsmultiplexern an. Die Ausgangsmuitiplexer sind auch in sich rückgekoppelt, wodurch sie
bei entsprechender Steuerung in die Lage versetzt werden, Daten zwischenspeichern zu können. Die
Ausgangssignale der Registersätze werden dem Hauptspeicher direkt angeboten. Schließlich sind
noch acht Multiplexer MBl bis MBS vorgesehen, mit deren Hilfe Datengruppen ohne Zwischenspeicherung in den Registersätzen vom Koordinator zum
Hauptspeicher oder vom Hauptspeicher zum Koordinator übergeführt werden können.
Die in der Fig. 2 eingezeichneten Verbindungen stehen jeweils stellvertretend für Leitungsbündel zur
parallelen Übertragung einer größeren Zahl von Signalen in Richtung der eingetragenen Pfeile und betreffen ausschließlich Datenwege. So ermöglichen
beispielsweise die Leitungsbündel vom und zum Hauptspeicher ASP die parallele Übertragung von
acht Byte (zu 9 Bit), während die Leitungsbündel vom und zum Koordinator nur für die gleichzeitige Übertragung von vier Byte ausgelegt sind. Dementsprechend sind auch immer nur höchstens vier der an der
Datenübertragung vom und zum Koordinator KOO beteiligten Multiplexer gleichzeitig durchgeschaltet.
Selbstverständlich, sind zur Steuerung der Einrichtungen im Datenteil des Hilfsspeichers auch mehrere
Steuersignale erforderlich, wie beispielsweise für die Steuerung der Multiplexer, für die Datenein- bzw.
-ausgabe in die Registersätze bzw. aus den Registersätzen und für die Bestimmung der durch eine Adresse
ausgewählten Datenzeile. Die hierzu benötigten Steuerleitungen sind in Fig. 2 lediglich zur Vereinfachung
der Darstellung nicht eingezeichnet.
Die Fig. 3 zeigt den Adressenteil mit dem Abschnitt ATl für die Hauptadresse und dem Abschnitt
AT2 für die Hilfsadresse, die Anzeigenteile ARl und ARl und den Steuerteil RZ des Hilfsspeichers HSP.
Der Hauptadressenspeicher ./4Tl; ist ein voll assoziativer Speicherblock mit 32 Zeilen zu 21 Bit. Jeder
Adressenzefle ist eine der 32 immer alle 8 Byte umfassenden Datenzeilen zugeordnet. In jeder Adressenzeile kann somit eine 21 Bit breite Adresse gespeichert
sein, die einen Speicherplatz im Hauptspeicher ASP bestimmt, in der die betreffende aus 8 Byte bestehende und daher als Doppelwort bezeichnete Datengruppe gespeichert ist oder gespeichert werden soll.
Die Suche auf Übereinstimmung einer im Hauptadressenspeicher ATl gespeicherten Adresse mit einer vom Koordinator KOO gelieferten Adresse, unter
der ein Zugriff erfolgen soll, erstreckt sich gleichzeitig
über alle 32 Zeilen des Speicherblocks. Das bedingt natürlich einen höheren Aufwand gegenüber einer
Überprüfung Zeile für Zeile, ergibt aber einen sehr beträchtlichen Zeitgewinn und ist in wirtschaftlicher
Hinsicht 'durchaus tragbar, um so mehr, als heute preisgünstige integrierte inhaltsadressierbare Speicherbausteine zur Verfügung stehen. (Vgl. z. B. TTl
Datenbuch der Firma Fairchild Camera and lnstr ment Corp., Ausgabe Juni 1972, Seite 9-6 bis 9-<
»TTL Memory 93402«.)
r> Dem Hauptadressenspeicher ATl im Adressentei
ist eine Spalte PB mit 32 Speicherplätzen zur Auf nähme von Adressen-Paritybit angegliedert. Diese
Partiybit werden für jede vom Koordinator KOC
kommende Adresse von einem Paritygenerator PC
i' erzeugt und bei jedem Eintrag einer neuen Adresse
in eine Adressenzeile des Hauptadressenspeicher! A Tl in den dieser Zeile zugeordneten Platz der Spalt«
PB eingegeben. Falls bei einer assoziativen Suche die bereits gespeicherten Paritybit von den neu gebildetet
trotz sonstiger Übereinstimmung der Adressen von einander abweichen, wird ein Fehlersignal gegeben
Der Hilfsadressenspeicher AT 2 ist ebenfalls eii assoziativer Speicher. Er ist in 32 Zeilen zu 8 Bit gegliedert, so daß für jedes Byte im Datenteil ein Bi
reserviert ist. Jedes in diesen Speicherblock eingege bene Bit wählt also im 1 aus 8-Code einen bestimmter
Datenplatz für ein Byte im Datenteil aus. Gleichzeitig besagt ein im Hilfsadressenspeicher A Tl gesetztes Bi
(Verändert-Bit) in an sich bekannter Weise, daß dei
Inhalt des adressierten Speicherplatzes im Datentei
durch eine vom Koordinator KOO kommende Eingabe verändert wurde. Ein Verändert-Bit gibt dahei
gleichzeitig auch an, daß der Inhalt des zugehöriger Speicherplatzes im Hilfsspeicher HSP mit dem Inhal
des betreffenden Speicherplatzes im Hauptspeicher nicht mehr übereinstimmt.
Da die Breite der Übertragungskanäle zwischer dem Datenteil des Hilfsspeichers HSP und dem Ko
ordinator KOO nur 4 Byte beträgt, kann sich die von
Koordinator gelieferte Eingangsinformation auch
höchstens auf 4 Byte beziehen, d. h. sie kann hoch stens. 4 Bit von 8 übertragbaren Bit beinhalten. Dem
entsprechend muß der Hilfsadressenspeicher A Tl die Möglichkeit der maskierbaren assoziativen Suche au
Übereinstimmung zwischen seinem Inhalt und der Eingangsinformation bieten.
Um die Möglichkeit zu schaffen, den in einer be stimmten Zeile des Hilfsadressenspeichers ATI be
reits vorhandenen Inhalt mit einer in dieser Zeile zu
sätzlich einzugebenden Information im Sinn eine
ODER-Funktion zu verknüpfen, ist ein Rückfüh rungsweg über das Pufferregister PR und den Ein
gangsmultiplexer MPX vorgesehen.
so direkten Durchschaltung der Datenwege zwischen
dem Koordinator und dem Hauptspeicher unter Um gehung der Registersätze sind dem Adressentei] Ein
richtungen für die direkte Durchschaltung der Adres
- sen zugeordnet. Sie bestehen aus der 21 Bit breiter
ss Torschaltung Gl für die Doppelwortadresse und dei
8 Bit breiten Torschaltung Gl für die Byteauswahlsi gnale.
Sieht man von der Doppelfunktion des Inhalts im Hilfsadressenspeicher ATl ab, so besteht der Anzei
genteil des Hilfsspeichers HSP aus zwei Spalten mit 32 Zeilen zu je 1 Bit. Die eine Spalte ARl ist dem
Hauptadressenspeicher ATl unmittelbar zugeordne und dient zur Eintragung der sogenannten »Gültig
keitsbit«, die jeweils einer Speicherzeile zugeordne
sind und zusammen mit der betreffenden Adresse as
soziiert werden. Sie werden nach dem Wiederanlauf der Speichereinrichtung nach einem Ereignis, das eine
zufallige Bitkonstellation in einem Speicherteil her
vorrufen könnte (ζ. Β. nach einem vorübergegangenen Ausfall der Versorgungsspannung), gelöscht und
mit dem definierten Einschreiben in den Hilfsspeicher nach und nach wieder gesetzt. Im übrigen bleiben die
Gültigkeitsbit unverändert, es sei denn, daß ein Parityfehler festgestellt wird, der die Löschung des der
betroffenen Zeile zugeordneten Gültigkeitsbits veranlaßt.
Die zweite Spalte AR2 des Anzeigenteils nimmt in jeder der 32 Zeilen ein sogenanntes »Aktuell-Bit«
auf. Das Aktuell-Bit besagt, falls es gesetzt ist, daß alle 8 Byte der zugeordneten Datenzeile im Hilfsspeicher
dem letzten Stand entsprechen.
Der Steuerteil enthält neben den Einrichtungen zur Steuerung des Funktionsablaufs im Hilfsspeicher,
z. B. beim Einschreiben, Lesen, Zugriff zum Hauptspeicher u. dgl. die schon an früherer Stelle beschriebenen
Mittel RZ zur Auswahl von Speicherzeilen für den Neueintrag (Neueintragszeiger). Abhängig von
der Zugehörigkeit der unter einer neuen Adresse einzugebenden Daten zu einer bestimmten Klasse wird
vom Koordinator mitteis entsprechender Signale auf der (in der Fig. 3 als einzige dargestellten) Steuerleitung
NEZ einer der beiden Speicherbereiche (im Beispiel die Zeilen 0 bis 3 oder 4 bis 3 ausgewählt).
Der Hilfsspeicher kann in Verbindung mit dem Hauptspeicher und unter maßgeblicher Mitwirkung
der Multiplexer folgende vier Befehle ausführen: Schreiben, Lesen, Lesen und Markieren sowie Lesen
und Löschen. Ist am Hilfsspeicher ein Hauptspeicher angeschlosse·;, der Fehlerworte liefern kann, so können
diese nur unter Umgehung des Hilfsspeichers gelesen werden.
1. Schreiben
Die vom Koordinator gelieferte Doppelwortadresse wird im Hauptadressenspeicher ATl daraufhin
assoziativ überprüft, ob unter dieser Adresse eine Datenzeile im Datenteil geführt wird.
1.1. Falls diese Überprüfung positiv ausfällt (ATl-Treffer), wird im »1 aus /t-Code« am Hauptadressenspeicher
ATl die Zeilennummer ausgegeben, zu der eine Datenzeile mit der gesuchten Adresse
gehört. In die so assoziierte Datenzeile werden nach Maßgabe der Byteauswahlsignale im »n aus 8-Code«
mit η = 0 bis 4 in die einzelnen Datenplätze dieser Zeile die Daten vom Koordinator eingeschrieben. Die
nicht durch die Byteauswahlsignale ausgewählten Plätze dieser Zeile werden nicht verändert. Zur gleichen
Zeit werden die Byte-Auswahlsignale in die zugehörige Zeile des Hilfsadressenspeichers als »Verändert-Bit«
zusätzlich zu dem bisherigen Inhalt eingeschrieben.
1.2. Falls der Hauptadressenspeicher ATL keinen
Treffer anzeigt, wählt das vom Koordinator gelieferte
NEZ-B'it einen der beiden Neueintragszeiger aus. Der
ausgewählte Zeiger weist auf die nun zu behandelnde Zeile des Hilfsspeichers hin. Die ausgewählte Zeile
wird daraufhin untersucht, ob der zugehörige Datenplatz vom Koordinator beschrieben oder verändert
wurde, d. h. ob mindestens ein Bit in der Zeile des Hilfsadressenspeichers AT2 gesetzt ist.
a) Ist dies der Fall, so müssen nun die beschriebenen Byte in den Hauptspeicher eingeschrieben werden.
Dem Hauptspeicher werden als Startparameter der Inhalt der vom/Neueintragszeiger ausgewählten
Zeile des Hauptadressenspeichers ATl als Doppelwortadresse, der Inhalt des
Hilfsadressenspeichers ATl als Byteauswahlsignal, der Inhalt der zugehörigen Datenzeile und
der Schreibbefehl angeboten. Stehen Alle Parameter für den Hauptspeicher bereit, so wird der
Zyklus gestartet. Nach dem Signal »Angenomr>
men« vom Hauptspeicher werden die vom Koordinator am Hilfsspeicher anliegenden Parameter
in die ausgewählte Hilfsspeicherzeile übernommen, und zwar die Doppelwortadresse in den
Hauptadressenteil, die Byteauswahlsignale in i<> den Hilfsadressenspeicher und nach Maßgabe
der Byteauswahlsignale die Daten in den Datenteil. Ist die Parameterübernahme abgeschlossen,
wird das Signal »angenommen« an den Koordinator gesendet. Der Neueintragszeiger wird um
eine Einheit weitergeschaltet.
b) War vorher kein Verändert-Bit in der A T2-Z.cüe
gesetzt, so ist der zwischengeschobene Hauptspeicher-Schreibzyklus nicht notwendig, da dann
in dieser Zeile kein Byte vom Koordinator be- :o schrieben oder verändert war, d. h. es wurde nur
einmal vorher diese Zeile durch einen Hauptspeicher-Lesezyklüs
gefüllt. Das in dieser Zeile stehende Datum ist also identisch mit dem zur
selben Adresse gehörenden Datum im Hauptspeicher, d. h. das Datum im Hilfsspeicher darf
überschrieben werden. Die oben beschriebene Parameterübernahme vom Koordinator in den
Hilfsspeicher kann sofort erfolgen. Neueintragszeiger und das Signal »angenommen« werden
ω ebenfalls gleich behandelt.
2. Lesen
Die vom Koordinator gelieferte Doppelwortadresse wird im ATl daraufhin assoziativ geprüft, ob
unter dieser Adresse eine Datenzeile im Datenteil gei)
führt wird. Gleichzeitig werden die Byteauswahlsignale vom Koordinator im ATZ mit den Verändert-Bit
auf Übereinstimmung geprüft.
2.1. Zeigt ATl eine Übereinstimmung an, so wird
das durch die Übereinstimmung ausgewählte Ak-
AO tuell-Bit daraufhin überprüft, ob es gesetzt ist, d. h.
ob alle in dieser Zeile stehenden Daten aktuell sind.
2.1.1. Ist das der Fall, so ist gewährleistet, daß die Datenzeile vollständig gefüllt und alle Bytes in dieser
Datenzeile aktuell sind. Diese Datenzeile wird nun ausgelesen und die gewünschten Byte davon nach
Maßgabe der Byteauswahlsignale des Koordinators an den Ausgangsmultiplexern abgegriffen.
2.1.2. Ist das Aktuell-Bit nicht gesetzt, so ist nicht der gesamte Inhalt der Hauptspeicherzeile im Hilfsspeicher.
In diesem Fall wird der Inhalt der betreffenden A 7"2-ZeUe mit den anliegenden Byteauswahlsignalen
verglichen (maskierte Suche).
a) Ergibt sich ein ATl-Trttier, so ist gewährleistet,
daß der Koordinator nur zu aktuellen Byte zugreift. Es kann also die zum .<4T1-Treffer zugehörige
Datenzeile ausgelesen und die gewünschten Byte daraus an den Ausgangsmultiplexern,
nach Maßgabe der Byteauswahlsignale, abgegriffen werden.
b) Ergibt sich kein /4r2-Treffer, so steht die gewünschte
Information nicht vollständig im Hilfsspeicher. Es ist jedoch unter dieser Adresse bereits
eine Datenzeile eröffnet (v4Tl-Treffer). Mit
der angelegten Adresse wird ein Hauptspeicher-Lesezyklus gestartet. Die Daten aus dem
Hauptspeicher werden an die durch den ATl-Treffer angewählte Datenzeile angelegt; es werden
nur diejenigen Byte übernommen, deren
Verändert-Bit im AT2 nicht gesetzt sind. Anschließend wird das zugehörige Aktuell-Bit gesetzt
und die vom Koordinator gewünschten Daten werden auf die Ausgangsmultiplexer
nach Maßgabe der Byteauswahlsignale geschaltet.
2.2. Falls ATl keinen Treffer anzeigt, wählt das vom Koordinator gelieferte NEZ-BH einen der beiden
Neueintragszeiger aus. Der ausgewählte Neueintragszeiger weist auf eine nun zu behandelnde Zeile
des Hilfsspeichers hin. Die zugehörige /4T2-Zeile
wird daraufhin untersucht, ob die zugehörige Datenzeile vom Koordinator beschrieben oder verändert
wurde, d. h. ob mindestens ein Verändert-Bit in der AT2-Zeile gesetzt ist.
a) Ist das der Fall, so müssen nun die beschriebenen Byte in den Hauptspeicher eingeschrieben werden.
Dem Hauptspeicher werden als Startparameter die durch den Neueintragszeiger ausgewählte
/471-Zeile als Doppelwortadresse, die
/472-Zeile als Byteauswahlsignale, die zugehörige
Datenzeile und der Schreibbefehl angeboten. Stehen alle Parameter für den Hauptspeicher
bereit, so wird der Zyklus gestartet.
Nach dem Signal »Angenommen« vom Hauptspeicher werden die Startparameter für den Schreibzyklus weggeschaltet und die Startparameter für den anschließenden Lesezyklus mit einem Lesebefehl an den Hauptspeicher gegeben und der Zyklus gestartet. Während im Hauptspeicher der Zyklus abläuft, wird in den Hauptadressenspeicher ATl die Doppelwortadresse eingeschrieben und der Inhalt der zugehörigen Zeile im Hilfsadressenspeicher AT2 gelöscht. Liefert der Hauptspeicher die Daten, so werden diese in die ausgewählte Datenzeile des Hilfsspeichers übernommen, das Aktuell-Bit gesetzt und die Daten über die Umgehungswege abhängig von den vom Koordinator gelieferten Byteauswahlsignalen auf die Ausgabemultiplexer geschaltet. Der ausgewählte Neueintragszeiger wird um 1 weitergeschaltet.
Nach dem Signal »Angenommen« vom Hauptspeicher werden die Startparameter für den Schreibzyklus weggeschaltet und die Startparameter für den anschließenden Lesezyklus mit einem Lesebefehl an den Hauptspeicher gegeben und der Zyklus gestartet. Während im Hauptspeicher der Zyklus abläuft, wird in den Hauptadressenspeicher ATl die Doppelwortadresse eingeschrieben und der Inhalt der zugehörigen Zeile im Hilfsadressenspeicher AT2 gelöscht. Liefert der Hauptspeicher die Daten, so werden diese in die ausgewählte Datenzeile des Hilfsspeichers übernommen, das Aktuell-Bit gesetzt und die Daten über die Umgehungswege abhängig von den vom Koordinator gelieferten Byteauswahlsignalen auf die Ausgabemultiplexer geschaltet. Der ausgewählte Neueintragszeiger wird um 1 weitergeschaltet.
b) Ist im AT2 kein Bit gesetzt, so braucht die angewählte Hilfsspeicherzeile nicht vor dem Hauptspeicherlesezyklus
in den Hauptspeicher eingeschrieben zu werden, da diese Zeile im Hauptspeicher noch aktuell ist.
3. Lesen und Markieren.
Der Lese- und Markiere-Befehl unterscheidet sich
vom Lesebefehl dadurch, daß nach dem Lesezyklus die in jedem Fall an den Ausgangsmultiplexern anliegende
Information ?u den Eingangsmultiplexern zurückgeführt wird und dort mit den vom Koordinator
angelieferten Daten im Sinne einer ODER-Funktion verknüpft und in die noch angewählte Datenzeile eingeschriebenwird.
Das Einschreiben erfolgt durch einfache Umwahl dieser Hilfsspeicherzeile von Lesen auf
Schreiben der durch die Byteauswahlsignale vom Koordinator ausgewählten Byte. In der zugehörigen
/4T2-Zeile werden entsprechend den markierten Byte
die Verändert-Bit zusätzlich zu den dort bereits ste-
henden Verändert-Bit gesetzt.
4. Lesen und Löschen.
Der Lese- und Lösche-Befehl unterscheidet sich vom Lese- und Markiere-Befehl nur darin, daß nun
die Information nicht über den Rückführungsweg mit den vom Koordinator gelieferten Daten verknüpft
wird, sondern es werden nur die Eingangsmultiplexer (nach Maßgabe der Byteauswahlsignale) abgesperrt
und danach erfolgt dann die Lese-Schreib-Umwahl, wodurch die zu löschenden Byte der Datenzeile auf
0 gesetzt werden. In der zugehörigen AT2-Zeüe werden
entsprechend den gelöschten Byte die Verändert-Bit gesetzt.
5. Lesen Fehlerwort.
Steht der Hilfsspeicher in Verbindung mit einem Hauptspeicher, der Fehlerworte liefern kann, und
wird vom Koordinator der Befehl Lese Fehlerwort an den Hilfsspeicher gegeben, so wird dieser Befehl sofort
an den Hauptspeicher weitergeleitet. Das vom Hauptspeicher gelieferte Fehlerwort wird über die
Umwegleitungen direkt auf die Ausgabemultiplexer geschaltet.
Aufgrund eines bestimmten Steuersignals vom Koordinatorwird
der Hilfsspeicher umgangen. Tn diesem Fall werden alle Startparatneter vom Koordinator direkt
an den Hauptspeicher weitergeleitet. Die Lesedaten vom Hauptspeicher werden über die Einrichtungen
zur Umgehung des Hilfsspeichers direkt auf die Ausgangsmultiplexer durchgeschaltet. Der Hilfsspeicher
wird in diesem Fall als reine Durchschaltestation benutzt und entwickelt keine eigenen Aktivitäten.
Die beiden Befehle Lesen und Markieren bzw. Lesen und Löschen werden ohne Aktivitäten vom Hilfsspeicher
an den Hauptspeicher weitergeleitet. Von diesem werden sie dann zurückgewiesen.
Mit Hilfe eines weiteren Steuersignals vom Koordinator kann jeder Neueintrag im Hilfsspeicher unterbunden
werden. Wenn unter der vom Koordinator angegebenen Doppelwortadresse bereits eine Datenzeile
im Hilfsspeicher eröffnet war (.dTl-Treffer), arbeitet
der Hilfsspeicher in der bisher beschriebenen Weise. Ergibt sich kein /ΙΓΙ-Treffer, so werden nun
die vom Koordinator angebotenen Startparameter direkt an den Hauptspeicher weitergeleitet.
Die vorgeschlagene Struktur des Hilfsspeichers
HSP erlaubt die Funktion des Datensammelns, welche die Häufigkeit der notwendigen Zugriffe zum
Hauptspeicher ASP wesentlich reduziert. Für die beschriebene Ausführungsform ergibt sich eine Treffer-Rate
von etwa 75 bis 80%, d. h. nur bei 20 bis 25% aller Zugriffe ist ein Zugriff zum Hauptspeicher
erforderlich, um die gewünschte Information zu erhalten. Das hat seine Ursache nicht nur in der Aufteilung
des Hilfsspeichers in zwei oder mehr Bereiche für Neueinträge, sondern auch in der Breitenumsetzung
der Daten-Übertragungskanäle, bzw. in der damit in Zusammenhang stehenden Bereitstellung so
vieler Datenspeicherplätze in jeder Speicherzeile wie zur Aufnahme der größten im Hauptspeicher gleichzeitig
adressierbaren Datenmenge (Doppelwort) erforderlich sind.
Hierzu 2 Blatt Zeichnungen
Claims (3)
1. Speichereinrichtung, zu der der Zugriff durch Einrichtungen einer Datenverarbeitungsanlage
erfolgt und die einen Hauptspeicher mit eimer Vielzahl von einzeln adressierbaren Speicherplätzen
(Arbeitsspeicher), einen aus mehreren Teilen bestehenden Hilfsspeicher, der bei wesentlich höherer
Arbeitsgeschwindigkeit eine wesentlich geringere Anzahl von Speicherplätzen als der
Hauptspeicher besitzt, mit einem Datenteil :zur Speicherung von Datengruppen, die aus einem
Adressenplatz des Hauptspeichers stammen oder in diesen übernommen werden sollen, mit einem
Adressenteil für assoziativen Zugriff zur Speicherung von dualkodierten Adressen, unter denen die
betreffenden Datengruppen in dem Hauptspeicher gespeichert sind oder gespeichert werden sollen,
und mit einem Anzeigenteil zum Setzen von Anzeigen über den Belegungszustand des Hilfsspeichers,
sowie eine Zugriffseinrichtung enthält zur Auswahl einer Speicherzeile im Hilfsspeicher
beim Zugriff mit einer Adresse, die im Adressenteil des Hilfsspeichers nicht vorhanden ist, dadurch
gekennzeichnet,
a) daß die Zugriffseinrichtung (RZ) zur Auswahl einer Speicherzeile für den Neueintrag
von Adressen und Daten in mindestens zwei unabhängig arbeitende Gruppen aufgeteilt
ist, wovon jede Gruppe einen mehreren Zeilen des Hilfsspeichers (HSP) umfassenden
Bereich bedient und jeder der sich nicht überlappenden Bereiche zur Speicherung von Daten einer anderen Gruppe von verschieden
häufig zugreifenden Gruppen von Prozessoren zugeordnet ist;
b) daß die Datengruppen innerhalb jeder Etatenzeile mehrere Bytes umfassen;
c) daß der Adressenteil des Hilfsspeichers (HSP) in einen Hauptadressenspeicher
(ATl) und einen Hilfsadressenspeicher (AT2) aufgeteilt ist, wobei der Hauptadressenspeicher
(ATl) die Adressen für den Zugriff zu Daten im Hauptspeicher (Hauptadressen)
und der Hilfsadressenspeicher (ATl) jeweils zugeordnete Hilfsadressen
(Byte-Auswahlsignale) zur Auswahl bestimmter Bytes innerhalb einer Datenzeile enthält.
2. Speichereinrichtung nach Anspruch 1, dadurch gekennzeichnet, daß zur Speicherung sämtlicher
Bytes einer Byteadressenstelle jeweils eine Datenban (DBl bis DBS) vorgesehen ist, wobei
jeweils einer Datenbank (DBn) ein Eingangsmultiplexer (MEn) und jeweils zwei Datenbänken
(DBn und DBn+ 1) ein Ausgangsmultiplexer (MAn) zugeordnet ist und die Multiplexer (ME,
MA) nach Maßgabe der Byteauswahlsignale durchgeschaltet werden.
3. Speichereinrichtung nach Anspruch 1, dadurch gekennzeichnet, daß der Hilfsadressenspeicher
(ATl) ein Assoziativspeicher mit der Möglichkeit einer maskierbaren assoziativen Suche auf
Übereinstimmung ist.
Die Erfindung bezieht sich auf eine Speichereinrichtung
nach dem Oberbegriff des Patentanspruchs 1.
Als interne Arbeitsspeicher hoher Kapazität für Datenverarbeitungsanlagen werden vorzugsweise
Magnetkernspeicher oder Speicher mit dünnen magnetischen Schichten verwendet. Obgleich es gelungen
ist, die Zugriffsgeschwindigkeit bei solchen Speichern, insbesondere durch den Einsatz von Speichern
ι ο der zuletzt genannten Art, zu erhöhen, ist sie dennoch
in vielen Fallen bei weitem nicht ausreichend. Insbesondere
trifft das zu, wenn mehrere schnelle Prozessoren
zu einem gemeinsamen Arbeitsspeicher zugreifen. Man ist daher dazu übergegangen, als Zwischenglied
zwischen den Einrichtungen der Datenverarbeitungsanlage, die zum Arbeitsspeicher zugreifen, und dem
Arbeitsspeicher einen Hilfsspeicher einzufügen, der eine wesentlich höhere Zugriffsgeschwindigkeit eriaubt,
aber aus wirtschaftlichen Gründen eine wesent-
^o Hch geringere Speicherkapazität besitzt. Trotz der
verhältnismäßig geringen Speicherkapazität läßt sich mit dem Hilfsspeicher, der bei Bedarf seinerseits zum
Hauptspeicher zugreift, aufgrund der Tatsache wirkungsvoll arbeiten, daß bestimmte Daten bei der
Ausführung von Verarbeitungsprozessen mindestens jeweils für einige Zeit häufig erforderlich
sind.
Bei einer aus der DE-OS 1499182 bekannten Einrichtung
dieser Art ist der Hilfsspeicher als Assozia-
3() tivspeicher ausgeführt, mit einer Anzahl von Speicherplätzen,
deren jeder einen Datenplatz, einen Adressenplatz und einen Anzeigenplatz aufweist. Der
assoziative Zugriff erfolgt über die in den Adressenplätzen gespeicherten Adressen. Diese Adressen bezeichnen
auch die Speicherplätze im Hauptspeicher, in denen die in den Datenplätzen des Hilfsspeichers
gespeicherten Daten ebenfalls stehen oder in die diese Daten gegebenenfalls nach kürzerer oder längerer
Zeit eingegeben werden sollen.
In den jedem Daten- und Adressenplatz zugeordneten Anzeigenplätzen werden Anzeigen gesetzt,
wenn Zugriff zu den Daten des entsprechenden Datenplatzes erfolgt; die Anzeigen werden gelöscht,
wenn die betreffenden Daten in den Hauptspeicher übertragen werden und somit der Speicherplatz im
Hilfsspeicher frei wird. Ein Abtaster prüft den Zustand jedes Anzeigeplatzes, wenn ein Zugriff zum
Hilfsspeicher mit einer Adresse erfolgt, die noch nicht darin gespeichert ist. Findet sich zunächst kein freier
Speicherplatz mehr, so wird die Übertragung desjenigen Datenpostens in den Hauptspeicher veranlaßt, zu
dem seit der längsten Zeit kein Zugriff mehr verlangt wurde.
Die zum Hilfsspeicher zugreifenden Prozessoren lassen sich in Gruppen einteilen, die im Durchschnitt
verschiedenen häufig Speicherzugriffe anfordern. Es zeigt sich, daß die weniger oft zugreifenden Prozessoren
auch vielfach mit kürzeren Datenformaten (z. B. byteweise) als die häufiger zugreifenden Prozessoren
arbeiten.
Bei der vorerwähnten Art der Freistellung von Speicherplätzen im Hilfsspeicher für Neueinträge
werden jedoch diejenigen zugreifenden Prozessoren der Datenverarbeitungsanlage benachteiligt, die vergleichsweise
selten zur Speichereinrichtung zugreifen. Für solche Prozessoren wird dann der Hilfsspeicher
weitgehend wirkungslos, weil die von diesen Prozessoren benötigten Speicherinhalte wegen des Speicher-
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19722261586 DE2261586C3 (de) | 1972-12-15 | 1972-12-15 | Speichereinrichtung |
NL7315692A NL7315692A (de) | 1972-12-15 | 1973-11-15 | |
IT3207373A IT1003258B (it) | 1972-12-15 | 1973-12-10 | Dispositivo di memorizzazione |
GB5775673A GB1449877A (en) | 1972-12-15 | 1973-12-13 | Electronic data storage arrangements |
FR7344505A FR2211146A5 (de) | 1972-12-15 | 1973-12-13 | |
BE138866A BE808638A (fr) | 1972-12-15 | 1973-12-14 | Ensemble-memoires associees notamment a des installations de traitement de donnees |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19722261586 DE2261586C3 (de) | 1972-12-15 | 1972-12-15 | Speichereinrichtung |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2261586A1 DE2261586A1 (de) | 1974-06-20 |
DE2261586B2 DE2261586B2 (de) | 1978-11-30 |
DE2261586C3 true DE2261586C3 (de) | 1979-08-09 |
Family
ID=5864559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19722261586 Expired DE2261586C3 (de) | 1972-12-15 | 1972-12-15 | Speichereinrichtung |
Country Status (6)
Country | Link |
---|---|
BE (1) | BE808638A (de) |
DE (1) | DE2261586C3 (de) |
FR (1) | FR2211146A5 (de) |
GB (1) | GB1449877A (de) |
IT (1) | IT1003258B (de) |
NL (1) | NL7315692A (de) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR111566A (de) * | 1974-10-04 | |||
US4075686A (en) * | 1976-12-30 | 1978-02-21 | Honeywell Information Systems Inc. | Input/output cache system including bypass capability |
DE2837709C2 (de) * | 1978-08-30 | 1985-01-31 | Standard Elektrik Lorenz Ag, 7000 Stuttgart | Schaltungsanordnung zur Behandlung von Teilwörtern in Rechnersystemen |
DE2931122C2 (de) * | 1979-07-31 | 1981-07-30 | Siemens AG, 1000 Berlin und 8000 München | Schaltungsanordnung zur Auswahl und Bereitstellung der Adresse des jeweils nächsten verfügbaren Speicherabschnittes eines Pufferspeichers, insbesondere für Datenverarbeitungsanlagen |
US4317168A (en) * | 1979-11-23 | 1982-02-23 | International Business Machines Corporation | Cache organization enabling concurrent line castout and line fetch transfers with main storage |
EP0400851A3 (de) * | 1989-06-02 | 1992-10-21 | Hewlett-Packard Company | Leistungsfähiger Cache-Speicher mit Speicherpuffer |
DE4323929A1 (de) * | 1992-10-13 | 1994-04-14 | Hewlett Packard Co | Software-geführtes Mehrebenen-Cache-Speichersystem |
-
1972
- 1972-12-15 DE DE19722261586 patent/DE2261586C3/de not_active Expired
-
1973
- 1973-11-15 NL NL7315692A patent/NL7315692A/xx not_active Application Discontinuation
- 1973-12-10 IT IT3207373A patent/IT1003258B/it active
- 1973-12-13 GB GB5775673A patent/GB1449877A/en not_active Expired
- 1973-12-13 FR FR7344505A patent/FR2211146A5/fr not_active Expired
- 1973-12-14 BE BE138866A patent/BE808638A/xx unknown
Also Published As
Publication number | Publication date |
---|---|
GB1449877A (en) | 1976-09-15 |
IT1003258B (it) | 1976-06-10 |
DE2261586A1 (de) | 1974-06-20 |
DE2261586B2 (de) | 1978-11-30 |
FR2211146A5 (de) | 1974-07-12 |
BE808638A (fr) | 1974-06-14 |
NL7315692A (de) | 1974-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3011552C2 (de) | ||
DE2260353C2 (de) | Schaltungsanordnung für die Adressenumsetzung in einer Datenverarbeitungsanlage | |
EP0115609B1 (de) | Schaltungsanordnung zur Adressierung der Speicher mehrerer datenverarbeitender Einrichtungen in einem Mehrprozesssorsystem | |
DE2227882C2 (de) | Virtuelle Speicheranordnung | |
DE2241257C3 (de) | Datenverarbeitende Anlage | |
DE2163342C3 (de) | Hierarchische binäre Speichervorrichtung | |
DE2302074A1 (de) | Speicherschutzanordnung in einem multiprozessorsystem | |
EP0013737A1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
DE3126363C2 (de) | Steuerschaltung mit direktem Speicherzugriff und Verfahren zur Steuerung für die Übertragung von Datenwörtern | |
DE2719247A1 (de) | Datenverarbeitungssystem | |
DE2415900B2 (de) | Rechenautomat mit mehreren mit je einem Vorratsspeicher versehenen Rechenanlagen | |
DE2515696A1 (de) | Anordnung zum selektiven loeschen von teilen beziehungsweise zum ersatz von daten in einem cache-speicher | |
DE2154106A1 (de) | Arbeitsspeicherwerk | |
DE2939411C2 (de) | Datenverarbeitungsanlage mit virtueller Speicheradressierung | |
DE2331589A1 (de) | Datenverarbeitungsanordnung | |
DE1499182B2 (de) | Datenspeichersystem | |
DE3046912C2 (de) | Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage | |
DE2261586C3 (de) | Speichereinrichtung | |
DE2054941C2 (de) | Anordnung zur Auswahl von Datensätzen | |
DE1774212C3 (de) | Datenverarbeitungsanlage | |
DE1774849C3 (de) | Adressierungseinrichtung für eine Speicherabschnittkette | |
DE2355814C2 (de) | Kanalzugriffseinrichtung für eine hierarchische Speicheranordnung | |
DE3009317A1 (de) | Hybrid-assoziativspeicher | |
DE2206091C3 (de) | Rechnersystem mit einer Speicheranordnung | |
DE1449816C3 (de) | Schaltungsanordnung zur Steuerung des Zugriffs zu einem Magnettrommelspeicher |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
8339 | Ceased/non-payment of the annual fee |