DE2061576A1 - Speicheranordnung - Google Patents
SpeicheranordnungInfo
- Publication number
- DE2061576A1 DE2061576A1 DE19702061576 DE2061576A DE2061576A1 DE 2061576 A1 DE2061576 A1 DE 2061576A1 DE 19702061576 DE19702061576 DE 19702061576 DE 2061576 A DE2061576 A DE 2061576A DE 2061576 A1 DE2061576 A1 DE 2061576A1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- request
- data
- priority
- arrangement according
- 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.)
- Pending
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/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0855—Overlapped cache accessing, e.g. pipeline
- G06F12/0857—Overlapped cache accessing, e.g. pipeline by multiple requestors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/18—Handling requests for interconnection or transfer for access to memory bus based on priority control
Description
IBM Deutschland
Internationale Büro-Maschinen Gesellschaft mbH
Anmelderin:
Amtliches Aktenzeichen: Aktenzeichen der Anmelderin!
Böblingen, 8. Dezember 1970 lw-rz
International Business Machines Corporation, Armonk, N.Y. 10504
Neuanmeldung
Docket SA 967 112
Docket SA 967 112
Die Erfindung betrifft eine Speicheranordnung mit einem
Hauptspeicher großer Kapazität, einem Schnellspeicher kleinerer Kapazität und Einrichtungen zum übertragen von
Daten zwischen den Speichern, sowie einem weiteren Speicher zum Speichern von Marken für jede im Schnellspeicher gespeicherte
adressierbare Dateneinheit.
Mit einer derartigen Speicheranordnung wird die Verarbeitungsgeschwindigkeit einer Datenverarbeitungsanlage dadurch beträchtlich
erhöht, daß Speicherzugriffe immer nur zum Schnellspeicher, welcher eine kleine Zugriffszeit hat, durchgeführt werden müssen.
Diesem Vorteil der kleineren Zugriffszeit des Schnellspeichers steht wohl der Nachteil gegenüber, daß unter Umständen eine
Datenübertragung vom Hauptspeicher in den Schnellspeicher notwendig wird, um die nötigen Daten im Schnellspeicher bereitzustellen,
doch überwiegt insgesamt der genannte Vorteil. Die Speicheranforderungen zum Schnellspeicher können dabei von verschiedenen
Einrichtungen der Datenverarbeitungsanlage, wie z.B. von der Zentraleinheit, oder auch von Eingangs-/Ausgangskanä-
len stammen. Es müssen also Einrichtungen vorgesehen werden,
welche die Berücksichtigung von Anforderungen von verschiedenen Eingängen her gestatten.
Eine Einrichtung der oben beschriebenen Art ist in der deut-
109827/1394
sehen Offenlegungsschrift 1 815 234 beschrieben. Die Anforderungen
werden darin Einrichtungen zugeleitet, welche für alle Eingangswege gemeinsam sind. Hierdurch können oft Verzögerungen
dadurch entstehen, daß mehrere Anforderungen zugleich angelangt sind, jedoch nur eine davon behandelt werden kann.
Eine Speicheranordnung mit einem Hauptspeicher und einem peripheren
Speicher ist in der US-Patentschrift 3 449 724 beschrieben. In dieser Einrichtung ist eine gemeinsame Prioritätsschaltung
vorgesehen, welche von mehreren zugleich empfangenen Anforderungen diejenige mit einer festgelegten höchsten Priorität
auswählt. Die Anforderungsinformation wird in der beschriebenen Einrichtung in einem Registerstapel gespeichert, wobei für jede
Anforderung ein Register vorgesehen ist. Sofern für eine bestimmte Anforderung die Zugriffsmöglichkeit zum Speicher gegeben
ist, wird die betreffende Anforderungsinformation in einen weiteren Registerstapel übertragen. Durch die genannte Prioritätsschaltung
entstehen auch in dieser Einrichtung Wartezeiten dadurch, daß von mehreren gleichzeitig eintreffenden Anforderungen
nur eine einzelne zum System zugelassen wird. Andererseits ist der Hauptspeicher in der beschriebenen Speicheranordnung
in mehrere Grundspeichermoduln aufgeteilt. Anforderungen, die sich auf verschiedene Moduln beziehen, könnten also durchaus
gleichzeitig ausgeführt werden, wenn die hierzu nötigen Steuereinrichtungen vorgesehen wären.
Der Erfindung liegt daher die Aufgabe zugrunde, eine Speicheranordnung
zu schaffen, welche für jede Speicheranforderungsquelle je einen Anforderungszweig aufweist.
Diese Aufgabe wird erfindungsgemäß gelöst durch eine Vielzahl von Speicheranforderungs-Toren, wobei für jedes Anforderungstor
Einrichtungen zum Speichern der Anforderungen vorgesehen sind, durch Prioritätseinrichtungen zur Zuteilung der Priorität,
welche die Anforderunginformation empfangen und mit Speicherlösern, welche Prioritätskonflikte von mehreren Anforderungen
_ ο β
an die gleiche Dateneinheit eines Speichers lösen, verbunden
sind.
Dadurch daß für jeden Anforderungszweig getrennte Speichereinrichtungen zum Speichern der Anforderungsinformation vorgesehen sind, kann eine Vorprüfung der Anforderungen auf bestimmte
Nebenbedingungen weitgehend gleichzeitig erfolgen. Durch die Speicher-Löser-Einrichtungen wird gewährleistet, daß stets
nur eine Anforderung, und zwar die mit der höchsten Priorität, Zugriff zu der betreffenden Speichereinrichtung erhält. Da
bei einem Zugriff zum Schnellspeicher stets außer dem Schnellspeicher auch der Markenspeicher adressiert werden muß, können
auch diese Speicherlöser für den Schnellspeicher und für den Markenspeicher weitgehend gleichzeitig arbeiten.
Ferner kann ein Anforderungszweig für Eingangs-/Ausgangskanäle
vorgesehen werden. Hierdurch können die üblichen Kanal-Pufferspeicher eingesetzt werden. Durch die Speicher-Löser, welche
sowohl für den Schnellspeicher als auch für den Markenspeicher
vorgesehen sind, wird eine flexible Prioritätsregelung erzielt.
Nach einer vorteilhaften Weiterbildung der Erfindung sind als Einrichtungen zum Speichern der Anforderungen Registerstapel
vorgesehen, welche neben der eigentlichen Anforderungsinfor- |
mations auch ein Steuerwort speichern, welches jederzeit den
Fortgang der Behandlung der Anforderung abbildet.
Durch das genannte Steuerwort kann der im Zusammenhang mit der
oben genannten US-Patentschrift 3 449 724 beschriebene Annahme-Registerstapel entfallen. Das Steuerwort bietet zusätzlich eine
vorteilhafte Möglichkeit, eine Reihe anderer nötiger Steuerinformationen zu speichern, wie z.B. Informationen in bezug auf
die Reihenfolge, in der mehrere Anforderungen an die gleiche Dateneinheit ausgeführt werden müssen.
Weitere vorteilhafte Weiterbildungen der Erfindung sind den
D.** «1*67 112 1098?7/
- 4 restlichen Unteransprüchen zu entnehmen.
Die Erfindung soll nun anhand eines In den Figuren gezeigten
Ausführungsbelspieles näher beschrieben werden. Es zeigen:
Fig. 1 ein Blockdiagramm des Ausführungsbeispieles,
Fign. Ia-Ic in Form eines Flußdiagrammes die Arbeitswelse
der Einrichtung nach Fig. 1,
Fign. 2a-2h ein aufgeteiltes Blockdiagramm der Einrichtung
™ nach Fig. 1,
Fig. 3a ein Zeitdiagramm einer Abrufoperation,
Fig. 3b ein Zeitdiagramm einer Speicheroperation,
Fig. 3c ein Zeitdiagramm einer Abrufoperation mit Datenaustausch zwischen den Speichern,
Fig. 3d ein Zeitdiagramm einer Speicheroperation mit Datenaustausch zwischen den Speichern,
fc Fig. 4 die Unterteilung des Hauptspeichers und des
Schnellspeichers in Grund-Speichermoduln,
Fig. 5 eine Darstellung einer Datenübertragung zwischen den Speichern.
Bevor mit der Beschreibung des Ausführungsbeispieles begonnen wird, sollen an dieser Stelle einige in der Beschreibung benutzte
Ausdrücke erklärt werden:
Eine logische Adresse, die eindeutig bestimmte Daten angibt.
Eine Adresse im Schnellspeicher, welche der virtuellen Adresse
entspricht. Es gibt eine erste und zweite physikalische Adresse
für jede virtuelle Adresse.
Ein Speicherbereich, welcher 256 Worte enthält. Jede Seite ist in 16 Zeilen unterteilt.
zeile:
Ein Speicherbereich, welcher 16 Horte enthält.
Wort;
Die adressierbare Speichereinheit im Schnellspeicher.
Enthält Indizes (Marken) der Zeilen, die zu diesem Zeitpunkt
im Schnellspeicher gespeichert sind.
Enthält die Indizes der Zellen, die zu diesem Zeitpunkt im Hauptspeicher gespeichert sind.
! Adressen-Aufteilung;
[ Die Umwandlung einer virtuellen Adresse, um zu den physikali-.
sehen Speicheradressen zu gelangen.
Zellen-Identifizierer:
/ Das Feld innerhalb einer Speicherstelle des Markenspeichers,
j welches eindeutig die Zeile angibt, welche zu diesem Zeitpunkt
dieser Speichersteile im Markenspeicher zugeordnet ist* Glei
chermafien zeigt ein solches Feld im Zuordnungsspeicher eindeutig
eine Zeilenadresse im Hauptspeicher an, welche zu diesem Zeitpunkt der betreffenden Speicherstelle im Zuordnungsspeicher
zugeordnet lit.
Docket SA 967112 10 9 8 277 1 394
Das Feld innerhalb einer Speicherstelle des Zuordnungsspeichers,
welches die Adresse der Hauptspeicherstelle angibt, wo die Daten gespeichert sind, auf die Bezug genommen wird.
Fig. 1 zeigt in übersichtlicher Form den Aufbau des Ausführungsbeispieles der vorliegenden Erfindung.
Aus Fig. 1 ist ersichtlich, daß sich das vorliegende Ausführungsbeispiel ganz allgemein auf zwei Anforderungstore, d.h. Eingangskanäle für Anforderungen, bezieht. Diese Eingangstore für die
Speieheranforderungen sind in Fig. 1 mit P und Q bezeichnet.
Die Erfindung ist jedoch nicht auf zwei Eingangstore dieser Art
beschränkt, sondern es können auch mehrere Anforderungstore vorgesehen werden.
Die Quelle P von Speicheranforderungen ist über die Sammelleitung 1 mit dem P-Registerstapel 3, Folge-Steuergenerator 5 und
P-Prioritätseinrichtung 7 verbunden. Der P-Registerstapel 3 kann aus einer Gruppe von Registern bestehen und enthält die einzelnen, eingetroffenen Anforderungen. Außerdem werden in den Registern, welche die Anforderungen enthalten, Anzeigen über den
Fortgang der Behandlung der Speicheranforderung gespeichert. Der Folge-Steuergenerator 5 bestimmt die Reihenfolge in der
mehrere Speicheranforderungen an dieselbe Speicheradresse ausgeführt werden müssen. Wenn z.B. eine Abruf- und eine Speicheranforderung in dieser Reihenfolge eintreffen und sich beide Anforderungen auf die gleiche Adresse beziehen, so muß offensichtlich die Abrufanforderung vor der Einspeieheranforderung ausgeführt werden, um die beabsichtigten Daten zu erhalten.
Die Q-Anforderungsquelle ist über die Sammelleitung 2 mit dem
Q-Registeretapel 4, dem Folgesteuergenerator 5 und der Q-Prioritätaeinrichtung 8 verbunden.
Die P-Prioritätseinrichtung 7 ist über die Sammelleitung 9 mit
Docket SA 967 112 10 9 8 2 7/1394
dem Markenspeicher-Löser 11 und über die Sammelleitung 13 mit dem
Schnellspeicher-Löser 15 verbunden. Die Q-Prioritätseinrichtung
8 ist über die Sammelleitung 10 mit dem Markenspeicher-Löser 11
und über die Sammelleitung 14 mit dem Schnellspeicher-Löser 15 verbunden. Die Speicher-Löser 11 und 15 bestehen in der Hauptsache
aus blockierenden UND-Gliedern. Da vorausgesetzt wird, daß sowohl P als auch Q Anforderungen an den Schnellspeicher oder
den Markenspeicher zu gleicher Zeit eintreffen können, ist es die Aufgabe der genannten Speicher-Löser 11 und 15, die Konflikte
zu lösen, die durch die beiden Anforderungen an die gleiche Dateneinheit entstehen. Der Markenspeicher-Löser 11 ist
über die Sammelleitung 17 mit dem Markenspeicher 19 und der Schnellspeicher-Löser 15 über die Sammelleitung 18 mit dem
Schnellspeicher 20 verbunden. Zwischen dem Markenspeicher 19 und dem Schnellspeicher 20 besteht eine 1:!-Übereinstimmung
der physikalischen Zeilenadressen.
Zugleich mit der Prioritätsbestimmung innerhalb eines gegebenen Anforderungszweiges (P oder Q) wird die virtuelle Adresse einer
Anforderung in zwei physikalische Adressen aufgeteilt und zwar sowohl für den Markenspeicher als auch für den Schnellspeicher.
Wenn die Anforderung Priorität erhält, werden diese beiden physikalischen Adressen, im weiteren erste und zweite Adresse
genannt, dazu benutzt, zwei Speicherstellen im Markenspeicher und die zwei entsprechenden Speicherstellen im Schnellspeicher |
zu adressieren. Die Marken von der ersten und zweiten Speicherstelle im Markenspeicher und die Daten von der ersten und zweiten
physikalischen Adresse im Schnellspeicher werden über Sammelleitungen 21, 23 und 22, 24 zu der P-Entscheidungseinheit 25 oder
zu der Q-Entscheidungseinheit 26 übertragen, je nachdem von welchem
Anforderungszweig die Anforderungen stammen. Sofern kein Konflikt vorliegt kann dies für beide Anforderungszweige gleichzeitig geschehen. In der Entscheidungseinheit eines- bestimmten
Eingangstores wird durch logische Schaltungen ein Vergleich ausgeführt
zwischen der virtuellen Adresse der Anforderung und dem Markenidentifizierer für die Schnellspeicher-Speicherstellen.
Zu gleicher Zeit werden die Daten von diesen beiden Speicher-Docket
SA 967 112
10 9 8 2 7/1394
stellen aus dem Schnellspeicher ausgelesen. Wenn einer dieser Vergleiche ein positives Ergebnis liefert, werden die betreffenden
Daten der Anforderungsquelle zur Verfügung gestellt, sofern bestimmte Steuerbits, welche im nachfolgenden noch beschrieben
werden, eine derartige übertragung zulassen. Wenn festgestellt
wird, daß die gewünschte virtuelle Adresse sich nicht im Schnellspeicher befindet und wenn die betreffenden Steuerbits eine bestimmte
Stellung haben, wird die ursprüngliche Anforderung und der Inhalt der Markenspeichersteile über die Sammelleitung 27
und 28 zu der R-Übertragungseinheit 30 geleitet. Diese Einheit
30 steuert die Datenübertragung zwischen dem Hauptspeicher und dem Schnellspeicher. Im vorstehenden Falle ist es notwendig,
die gewünschten Daten vom Hauptspeicher 32 in den Schnellspeicher 20 zu übertragen, um diese Daten hiernach der Anforderungsquelle zur Verfugung stellen zu können. Der betreffenden Anforderung
im Anforderungs-Registerstapel wird über die Sammelleitung
31 oder 33 mitgeteilt, daß die Datenübertragung stattfindet und es findet vorläufig keine weitere Aktion in bezug
auf diese Anforderung statt. Die Anforderung wird erst wieder in Betracht gezogen, wenn sich die gewünschten Daten im Schnellspeicher
befinden. In der Zwischenzeit kann die Erfüllung von anderen Speicheranforderungen im P- oder Q-Registerstapel stattfinden.
Die R-Ubertragungseinheit 30 ist über die Sammelleitung 35 mit
der R-Prioritäts- und Aufteilungseinrichtung 36 verbunden. Diese Einrichtung arbeitet auf gleiche Weise wie die beschriebenen
P- und Q-Einrichtungen 7 und 8. Sie ist auch auf ähnliche Weise über die Sammelleitung 39 und 41 mit dem Markenspeicher-Löser
11 und dem Schnellspeicher-Löser 15 verbunden. Es ist also ersichtlich, daß die genannten Speicher-Löser 11 und 15 Konflikte
lösen, welche durch Anforderungen an dieselbe Dateneinheit im Markenspeicher oder Schnellspeicher von den Registerstapeln P
oder Q oder der R-Ubertragungseinheit 30 herrühren. Im beschriebenen Ausführungsbeispiel erhält die Quelle R die höchste Priorität,
hiernach kommt P und Q hat die niederste Priorität.
Docket SA 967 U2 ,09877/1394
Die R-übertragungseinheit 30 ist über die Sammelleitung 43 mit
dem Zuordner 45 verbunden. Zwischen dem Hauptspeicher und dem
Schnellspeicher wird jeweils eine Datenzeile als Einheit übertragen. Zwischen einer bestimmten, im Hauptspeicher gespeicherten
Datenseite und einem Index im Zuordner besteht kein direkter Zusammenhang. Es ist daher notwendig, die Hauptspeicherzeile im
Zuordnungsspeicher 45 explizit zu benennen. Der Zuordnungsspeicher
45 verschafft eine Zuordnung zwischen der verlangten virtuellen Adresse und der physikalischen Adresse im Hauptspeicher, welche
die Datenzeile enthält,, die von der virtuellen Adresse verlangt wird. Sobald die R-übertragungseinheit 30 die virtuelle Adresse
und andere damit verbundene Informationen über die Sammellei- *
tungen 27 und 28 erhält, wird der assoziative Zuordnungsspeicher 45 abgesucht, um die Datenseite zu finden, welche im Hauptspeicher
die virtuelle Adresse enthält. Die übertragungseinheit 30
steuert dann Über die Sammelleitung 47 die übertragung dieser Daten zwischen dem Hauptspeicher und dem Schnellspeicher.
Sobald die übertragung beendet ist, wird der Anforderung, welche diese übertragung ausgelöst hat, die höchste Priorität gegeben
um die Daten zu halten.
Die Fign. Ib und Ic zeigen in !Form eines Ablaufschemas die
Behandlung einer P-Anforderung. Zugleich mit der Behandlung
einer P-Anforderung kann auch eine Q-Anforderung auf gleiche Weise behandelt werden und auch die R-übertragungseinheit kann
zugleich einen Datenaustausch zwischen den beiden Speichern durchführen. Falls mehrere dieser Anforderungen sich auf die
gleiche Dateneinheit im schnellen Speicher beziehen, erhält R die höchste Priorität, hiernach folgen P und Q. Die Priorität
wird im Markenspeicher-Löser und im Schnellspeicher-Löser
bestimmt und die 'Prioritätsfolge zu den bestimmten Prioritätseinrichtungen übertragen. Diese geben ihrem Anforderungen hiernach
entweder Priorität, um Zugriff zum Markenspeicher oder
Schnellepeicher au erlangen oder halten die Anforderungen zurück.
Xn Flg. Ib wird gezeigt, wi· «in« eintreffende P-Anforderung
SA 9*7 IU !0M2T/1894
behandelt wird. Der Anforderungsstapel 3 wird zunächst nach Block
3A in Fig. Ib abgefragt. Wenn der P-Anforderungsstapel nicht leer
ist, muß noch geprüft werden, ob er voll ist. Wenn er voll ist, dann wird die P-Anforderungsquelle davon benachrichtigt und bietet
die Anforderung in einem nächsten Zyklus wieder an. Wenn der Anforderungsstapel weder voll noch leer ist, wie durch den Weg
6B dargestellt ist, dann gibt es zwei mögliche Arten, die Behandlung der Anforderung weiterzuverfolgen. Die Behandlung
einer Anforderung wird weitgehend durch Steuerbits bestimmt, welche zusammen mit der Anforderung in einem Register des betreffenden
Anforderungsregisterstapels gespeichert sind. Die Steuerbits geben u.a. das Alter der Anforderung, welche sich in
einem bestimmten Register befindet, an. Durch ein Steuerbit wird auch angegeben, ob eine Anforderung bereit ist, zu bestimmten
Teilen des Systems übertragen werden können. Ein Steuerbit gibt z.B. an, ob eine Anforderung geeignet ist, zur Prioritätseinrichtung
weitergeleitet zu werden, oder ob sie sich in einem Wartezustand befindet und auf die Beendigung einer Datenübertragung
zwischen den Speichern wartet. Es kann natürlich auch vorkommen, daß ein Anforderungsstapel weder leer noch voll
ist, daß jedoch keine Anforderung im Stapel geeignet ist, zur Prioritätseinrichtung übertragen zu werden. Wenn das der Fall
ist, kann die eintreffende P-Anforderung in eine freie Stapelspeicherstelle
eingespeichert werden und sofort zur Prioritätseinrichtung übertragen werden. Auf diese Weise wird das
Warten im Anforderungsregisterstapel überbrückt. Diese zuletzt
eintreffende Anforderung geht also früher zu der Prioritätseinrichtung als die anderen, bereits im Stapel gespeicherten Anforderungen.
Die zuletzt eingetroffene Anforderung geht quasi über die Sanntelleitungen 6 und 12 an den Anforderungsstapeln
vorbei, wie durch die Linie 6A in Fig. Ib gezeigt ist. Die eintreffende P-Anforderung wird also gleichzeitig zum P-Registeratapelf
zum Folge-Steuergenerator und zu der P-Prioritätseinrichtung übertragen.
Falls «ich jedoch in Registerstapel eine Anforderung befindet,
DOOtat SA «7 112
■"■■ ."Tl'!!!"'! 1 u"""'
- 11 -
welche zu diesem Zeitpunkt zu der Prioritätseinrichtung übertragen
werden kann, ist es nicht notwendig, daß die eintreffende Anforderung direkt zu der Prioritätseinrichtung übertragen
wird. Die eintreffende Anforderung wird dann nur zum Registerstapel
und zum Folge-Steuergenerator übertragen, wie durch den Block 5C dargestellt ist.
Der nächste Schritt ist aus dem Block 5D ersichtlich und besteht darin, daß für die eintreffende Anforderung eine Sperrinformation
erzeugt wird. Eine Adressensperrinformation ist notwendig, da die Speicheranforderungen nicht immer in der Reihenfolge
ausgeführt werden, in welcher sie vom System angenommen werden. " Es entsteht ein Problem, wenn Abruf- Einspeicheranforderungen
sich auf das gleiche Speicherwort beziehen und die Anforderungen sich zugleich in den Registerstapeln befinden. Wenn z.B.
eine Einspeicheranforderung für ein bestimmtes Wort vor einer Abrufanforderung eintrifft, muß das Einspeichern vor dem Auslesen
der Daten erfolgen, da sonst die falschen Daten ausgelesen würden. Gleiches gilt auch für eine Abrufanforderung für
ein bestimmtes Wort, welches sich im Registerstapel befindet und wartet und eine Einspeicheranforderung zu diesem Wort,
welche später im Stapel eintrifft. In diesem Fall muß das Auslesen
vor dem Einspeichern der neuen Daten geschehen. Falls zwei Einspeicheranforderungen zum selben Wort vorliegen, müssen |
diese beiden Anforderungen in der Reihenfolge in der sie eingetroffen sind ausgeführt werden, um in der bestimmten Stelle
zu jedem Zeitpunkt die richtigen Daten zur Verfügung zu haben.
Die Sperrinformation, die sich auf die Reihenfolge der notwendigen
Ausführung der Anforderungen bezieht, wird zusammen mit der dazugehörigen Anforderung in dem betreffenden Register
eines Stapels gespeichert. Diese Sperrinformation besteht aus einem Sperrwort, welches für jedes Register in den Stapeln ein
Bit enthält. Abhängig vom Wert dieses Bits kann also für eine bestimmte Anforderung festgestellt werden, ob diese Anforderung
mit einer anderen Anforderung verknüpft ist. Eine Anforderung kann erst durchgeführt werden, wenn alle Bits im Sperrwort
Docket SA 967 112 10 9 8 2 7/1394
zurückgestellt worden sind. Auf diese Weise wird sichergestellt, daß erst alle anderen Anforderungen, welche mit der betreffenden
Anforderung verknüpft sind und zuerst ausgeführt werden müssen auch wirklich ausgeführt sind, bevor die betreffende Anforderung
ausgeführt werden kann.
Während das Sperrwort vom Folgesteuergenerator erzeugt wird, kann bereits eine verfügbare Anforderung vom P-Registerstapel
zur Prioritätseinrichtung geleitet werden. Dies ist durch den Block 7A in Fig. Ib dargestellt. Zugleich mit der Zuteilung
der Priorität an diese Anforderung, wird die virtuelle Adresse der Anforderung in zwei physikalische Adressen aufgeteilt.
Wenn keine Anforderung im P-Registerstapel bereit ist, zu der
Prioritätseinrichtung geleitet zu werden, wie durch die Linie
6A in Fig. Ib dargestellt ist, dann wird die eintreffende Anforderung
quasi am Registerstapel vorbeigeleitet und direkt der P-Prioritätseinrichtung und dem Folge-Steuergenerator zugeführt.
Außerdem muß die Anforderung jedoch auch in einem Register des Stapels gespeichert werden. Dies ist durch den Block 5A in
Fig. Ib dargestellt. Zu gleicher Zeit wird die Sperrinformation für diese Anforderung erzeugt (5B, Fig. Ib). Es ist wichtig,
den Unterschied zwischen den Blöcken 5B und 5D in Fig. Ib festzuhalten.
Wenn die eintreffende Anforderung nicht am Registerstapel vorbei zu der Prioritätseinrichtung läuft, dann wird die
Sperrinformation erzeugt bevor die eintreffende Anforderung schließlich zur Prioritätseinrichtung geleitet wird. Dies ist
in 5d dargestellt. Die Sperrinformation verhindert dann also eventuell, daß die eintreffende Anforderung direkt zur Priorität
seinrichtung geleitet wird. Wenn jedoch andererseits die eintreffende Anforderung quasi am Registerstapel vorbei direkt
zur Prioritätseinrichtung geleitet wird (5A, Fig. Ib), dann bewirbt sich die Anforderung um Priorität unabhängig davon, ob
eine Verknüpfung, d.h. eine Sperre, mit anderen Anforderungen bestehen müßte. Die betreffende Sperrinformation für diese Anforderung
wird ja erst zugleich mit der übertragung zur Priori-Docket SA 967 112 1 0 9 8 2 7 / 1 3 9 A
tätseinrichtung erzeugt. Wenn für diese Anforderung die Eintragung einer Sperrinformation notwendig ist, werden die betreffenden Bits in dem Register, in dem die Anforderung im Stapel gespeichert wurde, gesetzt. Zu diesem Zeitpunkt befindet sich die
Anforderung jedoch bereits in der Prioritätseinrichtung, kann
also nicht aufgehalten oder zurückübertragen werden, sondern wird bereits zu den Entscheidungseinheiten 25 und 26 übertragen.
An dieser Stelle wird jedoch die Anforderung überprüft und es
wird festgestellt, ob zu dieser, am Stapel vorbeigeleiteten Anforderung, später eine Sperrinformation im Registerstapel eingetragen wurde. Wenn dies der Fall ist, dann wird die Anforderung
für ungültig erklärt und muß zu einem späteren Zeitpunkt noch
einmal zur Prioritätseinrichtung übertragen werden.
Wie im Block 7C (Fig. Ic) dargestellt ist, ist es notwendig,
Daten und Markenkonflikte zu lösen. Wenn z.B. zugleich eine R-Anforderung und eine P-Anforderung an das gleiche Datenwort
vorliegt so erhält die R-Anforderung Priorität. Die Lösung : dieses Prioritätskonfliktes kann für die Daten aus dem Schnellspeicher und die Marken aus dem Markenspeicher zu verschiedenen
Zeitpunkten, d.h. in verschiedenen Zyklen stattfinden. Es kann
z.B. nur notwendig sein, daß die R-Übertragungseinheit Informa-
; tion in den Markenspeicher bei der Beendigung einer Datenübertragung einspeichern muß. In diesem Falle bekommt die R-Über- f
tragungseinheit 30 Priorität für den Markenspeicherzugriff und
< nicht für den Sehnellspeicherzugriff. In einem bestimmten Ma-
: echinenzyklus kann also einer Anforderung die Priorität für \ den Markenspeicher verweigert jedoch für den Schnellspeicher
» zuerkannt werden. Im nächsten Zyklus versucht die P-Anforderung
also nuneehr Priorität für dl· erst verweigerte Einrichtung zu
erhalten.
Nenn di· P-A*forderung Priorität sowohl für die Daten als auch
für Marken erhalten hat wird dl· in zwei physikalische Adressen
aufgeteilte virtuell· Adresse xu* Markenspeicher und Schnellepei cn er Über die ftassMlleltuagen 9 und 13 Übertrag·».' Die tu·-
Boetat .X NT 113 108827/1394
gelesenen Marken und Daten werden über die Sammelleitungen 21 und 22 zur P-Entscheidungseinheit 25 übertragen. Dies ist im
Block 25A in Fig. Ic dargestellt. Die Entscheidungseinheit bestimmt
dann (25B, Fig. Ic) ob die gewünschte virtuelle Adresse entweder der ersten oder zweiten physikalischen Adresse im Schnellspeicher
entspricht. Zu diesem Zwecke werden die Marken, die jeweils der ersten und der zweiten* physikalischen Adresse im
Schnellspeicher entsprechen, ausgelesen und die virtuelle Adresse welche sich in diesen Marken befindet wird mit der virtuellen
Adresse der Anforderung verglichen. Wenn die Daten, die der gewünschten virtuellen Adresse entsprechen, sich in einer dieser
beiden physikalischen Adressen des Schnellspeichers befinden, dann wird das Sperrwort für die betreffende Anforderung untersucht.
Wenn eine Sperre zu dieser Anforderung gespeichert ist, dann ist das im Zusammenhang mit dem oben beschriebenen Fall
geschehen, wo die Anforderung direkt am Registerstapel vorbei zu der Prioritätseinrichtung geleitet wurde, über die Sammelleitung
31 wird die betreffende Steuerinformation in die Anforderung, die sich zu diesem Zeitpunkt in der Entscheidungseinheit
25 befindet eingetragen und verhindert auf diese Weise, daß die Anforderung weiterbehandelt wird. Diese Anforderung muß also
zu einem späteren Zeitpunkt noch einmal zu der Prioritätseinrichtung geleitet werden. Dies ist im Block 3IA in Flg. ic dargestellt.
Wenn die Anforderung jedoch nicht mit anderen Anforderungen
verknüpft ist kann die Anforderung ausgeführt werden. Wenn die Anforderung sich auf das Einspeichern bezieht so sind die Daten
welch· gespeichert werden sollen, zusammen mit der Anforderung
im Registerstapel gespeichert und können an der gewünschten
virtuellen Adresse in Schnellspeicher gespeichert werden. Nenn
sich die Anforderung jedoch auf das Auslesen von Daten bezieht,
dann wird das aus de« Schnellspeicher auegelesene gewünschte Wort innerhalb der Anforderungslnforaation gespeichert.
In bestirnten Fällen kann die Einrichtung auch Daten vorn Haupt-Docket SA 967 112 1098 27/1394
SAD ORIGINAL
speicher in den Schnellspeicher übertragen, von denen angenommen
wird, daß sie naher Zukunft gebraucht werden. Die bisher beschriebene
Datenübertragung zwischen den Speichern bezieht sich
nur auf den Fall, daß Daten aus dem Schnellspeicher gewünscht wurde, welche sich noch im Hauptspeicher befinden und also erst
zum Schnellspeicher übertragen* werden müssen. Wenn die Wahrscheinlichkeit
jedoch groß ist, daß bestimmte Daten in naher Zukunft gebraucht werden, wird eine sogenannte Vorabübertragung
ausgeführt. Diese Wahrscheinlichkeit ist dann gegeben, wenn sich eine Anforderung auf das erste Wort der 16 Worte einer Datenzeile
bezieht. Es wird hierauf geprüft, ob sich die Datenzeile mit der ä
nächsthöheren Adresse bereits im Schnellspeicher befindet. Wenn dies nicht der Fall ist/ wird eine Vorabdatenübertragung vom
Hauptspeicher in den Schnellspeicher durchgeführt. Diese Vorabübertragung
ist durch den Block 29 in Fig. Ic dargestellt. Zur Ausführung dieser Vorabübertragung wird eine Scheinanforderung
für die Datenzeile mit der nächsthöheren Adresse im P-Registerstapel
gespeichert. Diese Scheinanforderung wird dann eine Datenübertragung vom Hauptspeicher zum Schnellspeicher
auslösen.
Wenn sich die Daten mit der gewünschten virtuellen Adresse nicht im Schnellspeicher befinden, d.h. in keiner der beiden
physikalischen Adressen welche der virtuellen Adresse der Anförderung
entsprechen, dann wird ebenfalls eine Datenübertragung zwischen den Speichern ausgelöst (3OB, Fig. Ic). Wie bereits
beschrieben, erfolgt das Auffinden der gewünschten Daten im Hauptspeicher über den Zuordnerspeicher 45. Mit Hilfe
der virtuellen Adresse der empfangenen Speicheranforderung wird
die Hauptspeicheradresse festgestellt in der die gewünschten Daten gespeichert sind, und diese Daten werden hierauf zum
Schnellspeicher übertragen. In den Entscheidungseinheiten 25
und 26 sind Einrichtungen vorgesehen, mit deren Hilfe festgestellt
werden kann, welche Speicherstellen im Schnellspeicher am besten geeignet sind, die neu zu empfangenden Daten aufzunehmen.
Auch erfolgt durch diese Einrichtungen eine Wahl zwischen
der ersten und zweiten physikalischen Adresse, welche die Daten-
1098 27/1394
- 16 zeile der virtuellen Adresse aufnehmen soll.
Während des Datenaustausches zwischen den Speichern wird die Markeneintragung £ür die gewählte Adresse geprüft. Ein Bit
des Markenwortes, welches in einer Speicherstelle des Markenspeichers
gespeichert ist gibt an, ob der Inhalt dieser Datenzeile gewechselt wurde. Wenn dies nicht der Fall war bedeutet
dies, daß eine gleiche Eintragung, wie im Schnellspeicher, sich auch im Hauptspeicher befindet. In diesem Fall ist es also
gestattet, daß die zu der gewünschten virtuellen Adresse gehörigen Daten die in der gewählten physikalischen Adresse gespeicherten
Daten überschreiben. Wenn jedoch das betreffende Bit anzeigt, daß die Daten in der gewählten physikalischen Adresse
verändert worden waren, dann müssen die Daten erst in den Hauptspeicher gebracht werden, da es notwendig ist, daß jederzeit
irgendwo im Speichersystem eine gültige Abspeicherung jedes Datenwortes vorhanden ist. Nach dieser Rückübertragung in den
Hauptspeicher kann die gewünschte Datenübertragung der zu der virtuellen Anforderungsadresse gehörigen Daten vom Hauptspeicher
in die ausgewählte physikalische Adresse des Schnellspeichers stattfinden. Nach Beendigung dieser Datenübertragung kann die
Anforderung, welche diese Datenübertragung ausgelöst hat, zu den Prioritätseinrichtungen übertragen werden. Dies ist in Fig.
Ic durch die Linie 3OD dargestellt. Diese Anforderung bewirbt sich hierauf erneut um Priorität (3OE, Fig. Ic). Bei der darauffolgenden
Prüfung (25B, Fig. Ic) zeigt die Einrichtung also an, daß sich die zu dieser virtuellen Adresse gehörigen Daten nunmehr
im Schnellspeicher befinden und es wird der Weg 25C (Fig. Ic) eingeschlagen.
Genaue Beschreibung
In den Figuren 2a bis 2h ist ein ausführliches Blockdiagramm der erfindungsgemäßen Speicheranordnung gezeigt. In Fign. 2a und 2b
sind die P- und die Q-Anforderungs-Eingangstore 4 290 und 4292
gezeigt, über diese Tore können z.B. Anforderungen von zwei verschiedenen
Datenverarbeitungsanlagen oder von zwei Einrichtungen derselben Datenverarbeitungsanlage empfangen werden. Bei mehreren
Docket SA 967 112 10 9 8 2 7/1394
Eingangstoren sind natürlich auch alle Kombinationen möglich·
Das P-Eingangstor ist über die Sammelleitung 3000 mit dem
! P-Registerstapel 4000 und das Q-Eingangstor Ober die Sammelleitung
3001 mit dem Q-Registerstapel 4001 verbunden. Beide Stapel sind
über die Sammelleitungen 3022 und 3023 mit dem Folgesteuergene-
] , rator 4OO2 verbunden. Das P-Eingangstor und der P-Registerstapel
• sind auch mit der P-Prioritäts- und Aufteilungseinrichtung 4004
verbunden, während das Q-Tor und der Q-Registerstapel mit der
; Q-Priorltäts- und Aufteilungseinrichtung 4005 verbunden sind.
; Die genannten Prioritätseinrichtungen sowie die R-Prioritäts
einrichtung 4018 zur Datenübertragung zwischen dem Hauptspeicher
j 4006 und mit dem Markenspeicher-Löser 4008 verbunden. Die
; genannten Speicher-Löser sind mit den P-, Q- und R-Schnellspei
cherzellen 4010, 4011 und 4024 verbunden. Der Markenspeicher-Löser
:. 4008 ist mit den P-, Q- und R-Markenspeicherzellen 4012, 4013
\ und 4026 verbunden. Die genannten Harkenspeicherzellen enthalten
SteuerInformationen zum Steuern von Toren für den Zugriff zum
Markenspeicher. Dieser Zugriff erfolgt über den Puffer 4308. Die
genannten Zeilen enthalten Einrichtungen zur zeitlichen Steuerung,
; bzw. Verzögerung, die das Adressieren des Markenspeichers und das
darauffolgende Steuern der P-, Q- und R-Abruf-Markenregister
! 4314, 4316 und 4312 gestatten. Gleichermaßen 1st in den P- und
; -■■.■■■
j Q-Schnellspeicherzellen einer Verzögerung eines Schnellspeicher- |
j zyklus eingebaut, welche ein« Synchronisation zwischen der
j Adressierung des Schnellspeichers 4300 über den Schnellspeicher -
j P- und Q-Abruf-Datenregister 4304, 4306 gestattet. Die R-Schnell-
[ Speicherzelle 4024 arbeitet auf gleiche Weise mit dem R-Daten-
[ register 4302 zusammen. Zusätzlich sind die P- und Q-Schnell-
) Speicherzellen mit den P*- und Q-Entscheidungseinrichtungen 4014
und 4015 verbunden, während di« R-Schnellspeicheratelle mit der „_
R-übsrtrÄgungseinheit 4016 rsrbun.dsn ist. Die P- und Q-Abrufe*rkenrsgieter sind elt dea P- und Q-Entechsidungesinrichtungen
verbunden. GUicherMflen ist das R-Abruf-Msxkenrefister «dt dem
Faffsrrsgieter 4034 des Zuordnung·Speichers 4032, mit der R-Übsr-
DOCket βλ 967 112
109827/1394
tragungseinheit 4016 und der R-Prioritätseinrichtung 4020 verbunden.
Die im Zuordnungsspeicher 4032 benötigten Daten werden zu Beginn über ein überwachungsprogramm in diesen Speicher eingelesen.
Dieser Zuordnungsspeicher erfüllt die Funktion eines Index zu den im Hauptspeicher 4294 gespeicherten Datenzeilen. Mit
Hilfe des Zuordnungsspeichers kann also festgestellt werden, welche Datenzeile im Hauptspeicher 4294 welcher virtuellen Adresse
entspricht. Zum Zuordnungsspeicher 4032 sind zwei Ausgangsregister 4028 und 4030 vorgesehen. Vom Register 4028 ist Adresseninformation
erhältlich, welche sich auf neue Daten bezieht, d.h. auf Daten, welche vom Hauptspeicher zum Schnellspeicher übertragen
werden sollen, während vom Register 4030 Adresseninformation
erhältlich ist, welche sich auf alte Daten bezieht, d.h. auf Daten, welche vom Schnellspeicher zurück in den Hauptspeicher
übertragen werden.
Zum Hauptspeicher ist ebenfalls ein Pufferregister 4038 vorgesehen,
welches sowohl Zugriffsinformationen als auch die zu speichernden Daten anthält. Die Hauptspeicher-Datenzelle 4040
erhält Eingangsinformationen, welche sich auf die Konfiguration bezieht, in der die gewünschte Information vom Hauptspeicher
ausgelesen werden soll. Ähnlich wie vorher für die anderen Zellen beschrieben, enthält auch die Hauptspeicher-Datenzelle
4040 Verzögerungseinrichtungen zur Synchronisation beim Auslesen von Daten aus den Abrufdatenregistern 4296. Die Hauptspeicherabruf-Datenregister
4296 sind mit den Schnellspeicher-Pufferregistern 4298 verbunden.
Die Fign. 3a bis 3d zeigen den zeitlichen Ablauf eines Speicherzugriffs.
Es wird hierbei vorausgesetzt, daß im Anforderungsregie terstap·! «ine Anforderung bereit ist, behandelt zu werden.
Die Anforderungs-Regieterstapel werden periodisch abgesucht,
u» die älteste Anforderung, welche bereit ist, zur Prioritäteeinrichtung übertragen zu werden, zu finden. Es wird ausdrücklich darauf hingewiesen, daß zur gleichen Zeit die Behandlung
von Anforderungen in beiden Eingangszweigen, als auch eine Datenübertragung zwischen den Speichern stattfinden kann. Diese
Docket SA 967 112 10 9 8 2 7/1394 BAD 0R!G!NAL
zeitliche Überlappung von verschiedenen Arbeitsvorgängen wird in der vorliegenden Speicheranordnung durch gewisse Steuerbits
und die beschriebenen Einrichtungen ermöglicht. Zur Darstellung der Wirkungsweise der vorliegenden Einrichtung wird auf eine
P-Anforderung Bezug genommen.
In Fig. 3a ist der zeitliche Ablauf einer Abrufanforderung dargestellt.
Aufgrund dieser Anforderung sollen also Daten aus dem Schnellspeicher abgerufen, d.h. ausgelesen werden. Die betreffende
P-Anforderung wird hierzu vom Anforderungsregisterstapel zu der P-Prioritätseinrichtung übertragen, welche zur Aufnahme dieser
Anforderung ein Register enthält. In der Prioritätseinrichtung bewirbt sich diese Anforderung um die Zugriffspriorität
zum Schnellspeicher und zum Markenspeicher. Die virtuelle Adresse wird in eine erste und zweite physikalische Adresse aufgeteilt
und geeignete logische Schaltungen stellen fest, ob das gewünschte Wort im Schnellspeicher oder Markenspeicher auch von
einer Einrichtung höherer Priorität gewünscht wird. Wenn dies nicht der Fall ist, erhält die Abrufanforderung in der P-PrIoritätselnrichtung
die Priorität, den Schnellspeicher und Markenspeicher zu adressieren. Die Lösung eines eventuellen Prioritätskonfliktes
geschieht in dem Schnellspeicher-Löser und dem Markenspeicher-Löser (Fign. 2a und 2b). Zur Adressierung der
Speicher wird die betreffende physikalische Adresse von der Prioritätseinrichtung zum Markenspelcherpuffer und zum Schnellspeicherpuffer
übertragen und die in der ersten und zweiten physikalischen Adresse enthaltenen Informationen werden ausgelesen.
In die P-Schneilspelcherzelle und die P-Markenspeicherzelle
wird eine Steuerinformation übertragen, welche angibt,
in welche Abrufdatenregister und welche Abrufmarkenregister
die Daten ausgelesen werden sollen. In dieser Einrichtung ist ein Vergleicher vorgesehen, welcher die Marken der ersten und
zweiten Adresse mit der angebotenen virtuellen Adresse der Anforderung vergleicht. Bei Gleichheit einer der beiden Adressen
mit der virtuellen Adresse werden die Daten vom Abrufdatenregister
der Anforderungsquelle zur Verfügung gestellt.
Es kann möglich sein, daß zu diesem Zeitpunkt eine in den Marken
gespeicherte Steuerinformation verändert werden muß. Diese Notwendigkeit wird der betreffenden Anforderung im Registerstapel
mitgeteilt und diese Anforderung bewirbt sich hierauf erneut um Zugangspriorität zum Markenspeicher. Wenn diese Priorität erhalten
wird, wird im Markenspeicher eine ergänzte Markeninformation gespeichert.
Der zeitliche Ablauf beim Einspeichern von Daten (Fig. 3B) in den Schnellspeicher ist ähnlich wie der Ablauf einer Abrufanforderung.
Wenn die Speieheranforderung Priorität erhält, werden,
wie vorher beschrieben, die Marken der ersten und zweiten Adresse zu der Entscheidungseinheit übertragen. Die Marken werden in
dieser Einrichtung mit der virtuellen Adresse verglichen und bei Gleichheit wird der Anforderung mitgeteilt, daß die betreffenden
Daten in den Schnellspeicher eingespeichert werden können. Auch hier wird eine Anzeige in der betreffenden Anforderung im Registerstapel
gespeichert, wenn die Marke ergänzt werden muß. Die Anforderung bewirbt sich hierauf ein zweites Mal um Priorität.
Wenn die Priorität erhalten wird, entweder den Schnellspeicher oder den Markenspeicher, oder beide zu adressieren, können die
zu speichernden Daten eingespeichert werden. Wenn eine Ergänzung des Inhaltes einer Markenspeichersteile notwendig ist, wird die
ergänzte Marke im Markenspeicher gespeichert.
Wenn andererseits der Zeilen-Bezeichner, d.h. Zeilenidentifizierer
weder der ersten noch der zweiten Adresse gleich ist mit der virtuellen Adresse der gegenwärtigen Anforderung,, dann
bestimmt die Entscheidungseinheit eine der beiden physikalischen
Adressen, und in diese Adresse wird daraufhin die gewünschte Dateninformation vom Hauptspeicher übertragen. Fig. 3c zeigt
solch eine Abrufanforderung, welche eine Datenübertragung vom
Hauptspeicher in den Schnellspeicher mit sich bringt. Von der Entscheidungseinrichtung wird ein Steuersignal zur R-Übertragungseinheit
übertragen, welches ankündigt, daß ein Datenaustausch bevorsteht. Wenn die R-Ubertragungseinheit frei ist,
kann diese Datenübertragung ausgeführt werden. Hierzu kann es
Docket SA 967 112 1098?7/l394
notwendig sein, sowohl Daten vom Schnellspeicher in den Hauptspeicher,
als auch* vom Hauptspeicher in den Schnellspeicher zu
übertragen. Die übertragung ist in Fig. 3c gestrichelt dargestellt.
Die Anforderung im Registerstapel wird daraufhin von der Beendigung der Datenübertragung benachrichtigt. Zu diesem Zwecke enthält
die Anforderung ein Wartebit (W), welches zum Zeitpunkt E in Fig. 3c zurückgesetzt wird. Die Anforderung bewirbt sich
daraufhin um Priorität und kann Zugriff zum Schnellspeieher und
zum Markenspeicher erhalten. Die Entscheidungseinrichtung vergleicht aufs neue die Marken mit der virtuellen Adresse (F in
Fig. 3c). Theoretisch ist es möglich, daß inzwischen eine andere Anforderung eine zweite Datenübertragung zu der adressierten
Speicherstelle im Schnellspeicher ausgelöst hat, und zwar in der Zeit zwischen der Beendigung der ersten Datenübertragung und der
Vergleichsoperation in der Entscheidungseinheit. Für diesen Sonderfall, welcher nur ganz selten eintritt, ist eine besondere
Behandlung der Anforderung vorgesehen. Normalerweise zeigt also die Entscheidungseinrichtung nach dem zweiten Vergleich (F in
Fig. 3c) an, daß die gewünschten Daten nun im Schnellspeicher gespeichert sind. Diese Daten werden daraufhin zu der Anforderungsquelle
ausgelesen und die Steuerinformation der betreffenden Anforderung wird im Anforderungsregisterstapel ergänzt
um eine Ergänzung der gebrauchten Markeninformation zu ermöglichen.
Zum Zeitpunkt G bewirbt sich die Anforderung daraufhin nochmals um Priorität. Wenn sie Priorität erhält wird ein Zugriff
zum Markenspeicher durchgeführt und die ergänzte Markeninformation gespeichert.
Fig. 3D zeigt den zeitlichen Ablauf einer Speicheranforderung
mit Datenübertragung zwischen den Speichern. Die Anforderung zum Einspeichern von Daten wird auf die beschriebene Welse bis
zur Entscheidungseinrichtung behandelt (H, Fig. 3d). Wenn der Vergleich in der Entscheidungseinrichtung anzeigt, daß das gewünschte
Datenwort nicht im Schnellspeicher vorhanden ist, wird die R-Öbertragungseinheit eingeschaltet. Nach Beendigung der
notwendigen Datenübertragung wird das Wartebit in dem betraffen-
Docket SA 967 112 m0ft!>7/110i
■1Q98Z//1J9*. BAD ORIGINAL
den Register des Anforderungsstapels zurückgestellt und die Anforderung
wird erneut zur Prioritätseinrichtung übertragen. Nach Erhalt der Priorität kann ein Zugriff zum Markenspeicher
ausgeführt werden. Die beiden ausgelesenen Marken werden in der
Entscheidungseinrichtung mit der virtuellen Adresse verglichen
und normalerweise wird festgestellt daß in einer der beiden Markeninformationen der betreffende Zeilenbezeichner gleich ist
der virtuellen Adresse. Daraufhin wird eine Steuerinformation
zum Anforderungsregisterstapel übertragen (J, Fig. 3d) und die
Anforderung wird erneut zur Prioritätseinrichtung übertragen. Wenn Priorität erhalten wird, können die einzuspeichernden Daten
eingespeichert und die Markeninformation ergänzt werden.
Theoretisch ist es möglich, daß während einer Anforderung zum Einspeichern von Daten die gewünschte Datenzeile vom Schnellspeicher
durch eine andere Anforderung ausgelesen wird, nachdem die Entscheidungseinrichtung angezeigt hat, daß die gewünschte
virtuelle Adresse sich im Schnellspeieher befindet {bei D in
3b). In diesem Falle wird jedoch die Speicheraustauscheinheit ein Signal zum Anforderungsregisterstapel übertragen und bestimmte
Steuerbits zurückstellen, welche ohne diese Zurückstellung die beschriebene zweite übertragung der Anforderung
zur Prioritätseinrichtung ermöglicht haben würden (Dl in Fig. 3b). Auf diese Weise wird sichergestellt, daß eine Einspeicheranforderung
niemals Daten an einer virtuellen Adresse, welche inzwischen vom Schnellspeicher ausgelesen wurde seit die
Entscheidungseinrichtung das letztemal die Zeilenbezeichnung der Marken verglichen hat, abspeichern kann. Die gleichen Bedingungen
gelten für den Einspeicherte!1 einer Abrufanforderung
(nach B in Fig. 3a). In jedem der beiden Fälle muß die Anforderung von neuem beginnen und der Prioritätseinrichtung zugeleitet
werden, wonach die Entscheidungseinrichtung feststellen wird, daß sich die gewünschte virtuelle Adresse nicht im Schnellspeicher
befindet. Natürlich ist danach eine Datenübertragung zwischen den Speichern notwendig. Die Anforderung kann hierauf
mit normalem Ablauf erfüllt werden.
Dook.t SA 967 112 109827/1394
BAD ORIGINAL
Die Funktionsweise der einzelnen in den Fign. 1 und 2 gezeigten
Einheiten soll nun etwas näher beschrieben werden.
Die Registerstapel zur Aufnahme der Anforderungen bestehen, wie
bereits gesagt, aus einzelnen Registern. Zusammen mit der eigentlichen Anforderungsinformation werden in diesen Registern auch
Steuerbits gespeichert. Die Registerstapel 4000 und 4001 enthalten
ferner Steuerungseinrichtungen, hauptsächlich zur Steuerung der Eingangs- und Ausgangstorschaltungen der Registerstapel. Die
Aufgabe der Registerstapel besteht darin, für jede Anforderung,
solange sie noch nicht durchgeführt ist, einen Aufzeichnungsort bereitzustellen, in dem Informationen über den Fortgang der Behandlung
der Anforderung gespeichert werden kann. Der Status einer Anforderung kann also jederzeit in dem betreffenden Register
des Stapels abgelesen werden. Eine neu eintreffende Anforderung wird in irgendein leeres der Register eines Stapels
gespeichert. Bei einem Einspeichervorgang ist normalerweise die Anforderungsinformation zuerst verfügbar und die zu speichernden
Daten folgen erst kurze Zeit danach. Der Zeitunterschied kann einen oder mehrere Zyklen betragen. Bei mehreren Einspeicher-Anforderungen
muß also die Reihenfolge der Anforderungen und der dazu gehörigen Daten eingehalten werden. Wenn Daten ankommen
wird von der Steuerung der Eingangstore des Registerstapels die älteste Einspeicher-Anforderung, welche noch ohne Daten ist, f
im Registerstapel aufgesucht und die eintreffenden Daten werden
zu dieser Anforderung im betreffenden Register des Stapels gespeichert.
Von der Steuerung der Ausgangstore des Registerstapels wird die älteste Anforderung aufgesucht und zu den Prioritätseinrichtungen geleitet. Die Reihenfolge des Eintreffens der Anforderungen
wird in der Steuerung des Anforderungsregisterstapels
festgehalten. Die Steuerung der Ausgangstore des Anforderungsregisterstapels
hat jedoch die Möglichkeit, jede Anforderung zu jeder Zeit zu den Prioritätseinrichtungen zu leiten. In der
Anforderungsinformation ist die virtuelle Adresse, eine Anzeige über Einspeichern oder Auslesen, die Bestimmungsadresse der ausgelesenen
Daten, die zu speichernden Daten und Prüfbits enthal-
Docket SA 967 112 ■ T 0 9 8 7 7 M 3 9 *
ten. In den Steuerungseinrichtungen der Registerstapel sind
auch Anzeigeeinrichtungen vorgesehen, welche angeben können, ob
der Registerstapel leer oder voll ist. Die Verbindung der einzelnen Einheiten der erfindungsgemäßen Speicheranordnung untereinander
ist aus den Fign. 2a bis 2h ohne weiteres ersichtlich.
Die vom P-Registerstapel 4000 zu der P-Entscheidungseinrichtung
4014 übertragene Information besteht aus der virtuellen Adresse, einer Anzeige ob es sich um eine Einspeicher- oder Ausleseoperation
handelt, der Bestimmungsadresse, der auszulesenden Daten, einer Anzeige ob die Anforderung mit anderen verknüpft ist und einer
Anzeige, ob die Anforderung eine Datenübertragung zwischen den Speichern ausgelöst hat. Vom P-Registerstapl 4000 zu den P-Prioritatseinrichtungen
4004 wird die virtuelle Adresse, eine Anzeige, ob es sich um eine Einspeicher*- oder Ausleseoperation
handelt, eine Gültigkeitsanzeige, die einzuspeichernden Daten, verschiedene Steuerbits und Torschaltungssignale übertragen.
Die P-Markenzelle 4012 steuert das Auslesen des betreffenden
Registers des P-Anforderungsregisterstapels zu der Entscheidungseinrichtung .
Die P-Prioritätseinrichtung 4004 ist mit dem P-Registerstapel 4000 verbunden. Wenn eine Anforderung in der Prioritätseinrichtung
4004 Priorität erhalten hat, wird von der Prioritätseinrichtung in dem betreffenden Register des Anforderungsregisterstapels ein Prioritatsannahmebit (PX) gesetzt und ferner auch
die Steuerbits, welche anzeigen, daß eine Anforderung auf einen Datenaustausch wartet. Ebenfalls über diese Verbindung zwischen
Prioritätseinrichtung und Anforderungsregisterstapel werden die
Sperrbits im Sperrwort zurückgestellt. Dies ist dann der Fall, wenn Anforderungen mit denen die betreffende Anforderung verknüpft
ist, ausgeführt worden sind.
Die P-Entscheidungseinrichtung 4014 ist mit dem P-Anforderungsregisterstapel
über die Sammelleitung 2010 verbunden. Über diese Sammelleitung können Sperrbits im Sperrwort dieses Registers des
Docket SA 967 112 109827/139 A
Registerstapels gesteuert werden. Ferner können Steuerbits in jedes Register gesetzt werden, welche anzeigen/ daß Daten oder
Marken eingespeichert werden sollen und weitere Steuerbits in jedem Register des Registerstapels, welche anzeigen ob die genannten
Daten oder Marken in der ersten oder zweiten Adresse des Marken- oder Schnellspeichers gespeichert werden sollen.
Ferner können Steuerbits über diese Sammelleitung in jedem
Register des Anforderungsregisterstapels gesetzt werden, welche den Status der Anforderung angeben. Schließlich können auch die
Adresse einer Vorabdatenübertragung und die Steuerungsinforraation
zur Einspeicherung dieser Vorabadresse in das betreffende
Register des Anforderungsstapels übertragen werden.
Der Folge-Steuergenerator 4002 ist mit den Anfοrderungsregisterstapeln verbunden, um in den Registern die Sperrbits der Sperrworte einstellen zu können.
Die Einrichtungen des Q-Anfοrderungszweiges sind auf ähnliche
Art untereinander verbunden wie die Einrichtung des P-Anforderungszweiges.
Im folgenden soll nun näher auf die in den Registern des Anforderungsregisterstapels
gespeicherten Steuerbits eingegangen werden. Jedes der Register des Stapels enthält ein Feld zur
Aufnahme der virtuellen Adresse. Wie bereits beschrieben, kann auch eine Vorabadresse in einem Register des Stapels gespeichert
werden. Zwei weitere Bits, F und S, geben an, ob sich die Anforderung auf Auslesen oder Einspeichern bezieht. Im Falle des
Auslesens wird das betreffende F-Bit direkt von der Anforderung gesetzt. Das F-Bit kann von der Entscheidungseinrichtung zurückgestellt
werden, wenn es sich um eine Vorabdatenübertragung handelt. Das S-BIt wird direkt von der Anforderung gesetzt. Ein
Beetimmungsfeld enthält die Bestimmungsadresse der auszulesenden
Daten. Dieses Feld wird direkt von der Anforderung gesetzt. Ferner
1st ein Datenfeld zur Aufnahme der einzuspeichernden Daten vorgesehen. Da, wie gesagt, diese Daten erst später als die
,09827/1394
Adressen der Anforderung eintreffen, muß zum Einspeichern dieser
Daten eine getrennte Torschaltung vorgesehen werden. In jedem Register des Anforderungsregisterstapels sind die folgenden
Steuerbits gespeichert:
STK V - Dieses Bit gibt an, daß sich in diesem Register des Stapels eine Anforderung befindet. Dieses Register wird
gültig genannt und das STK V-Bit ist ein Gültigkeitsbit.
SD V - Dieses Bit zeigt an, daß die zu speichernden Daten angekommen
sind.
W - Dies ist das Wartebit und zeigt an, daß diese Anforderung auf einen Datenaustausch zwischen den Speichern
wartet.
ISI - Wenn eine Datenübertragung zwischen den Speichern stattfindet,
zeigt dieses Bit an, daß die Datenübertragung durch die Anforderung in diesem Register eingeleitet
wurde. Die Anforderung in diesem Register erhält nach Beendigung der Datenübertragung Priorität um Zugriff
zu den übertragenen Daten zu erhalten, bevor andere Anforderungen für das Datenwort in dieser Adresse erfüllt
werden können. Wenn die Anforderung, die die Datenübertragung ausgelöst hatte, erfüllt worden ist,
werden alle Wartebits in anderen Anforderungen zurückgestellt.
PX - Dies ist das Prioritätsannahmebit und zeigt an, daß diese Anforderung Priorität erhalten hat.
SI - Dies ist das Folgesteuerbit und zeigt an, daß die Erfüllung der Anforderung in diesem Register einer bestimmten
Reihenfolge unterworfen ist. Die Anforderung ist mit anderen Anforderungen verknüpft. Wenn alle
anderen Anforderungen, welche vor der betreffenden
Docket sä 967 112 109827/1394
Anforderung ausgeführt werden müssen, erfüllt sind,
wird das betreffende Bit in diese Anforderung zurückgestellt. Für jedes Register in den verschiedenen
Anforderungsstapeln ist in einem Sperrwort ein bestimmtes
Bit vorgesehen (siehe IV-Bit).
D - Speicher-Daten-Bit, wird gesetzt wenn Priorität zum
Einspeichern von Daten erhalten wurde.
T - Dies ist das Speicher-Markenbit. Wenn dieses Bit gesetzt ist, bedeutet dies, daß die Markeninformation, welche
zu dieser Anforderung gehört, verändert werden muß. Wenn D und T Null sind, ist die Datenübertragung beendet.
P - Dieses Bit ist eine Anzeige für die erste physikalische Adresse im Schnellspeicher.
A - Dies ist das Bit, welches die Anzeige für die zweite physikalische Adresse ist.
CH - Dies ist das Veränderungbits. Wenn dieses Bit gesetzt ist, bedeutet dies, daß die gewünschte Datenzeile im
Schnellspeicher vorher verändert wurde. In diese Zeile sind also inzwischen neue Daten gespeichert worden. Der |
Inhalt dieser Zeile ist also verschieden von der dazugehörigen
Datenzeile im Hauptspeicher. Wenn das CH-Bit auf 1 steht, bedeutet dies, daß, wenn eine Datenübertragung
vom Hauptspeicher in diese Zeile des Schnellspeichers notwendig ist, diese Zeile erst in den
Hauptspeicher zurückübertragen werden muß um jederzeit den Inhalt dieser Datenzeile für zukünftige Verwendungen
zur Verfügung zu haben. Das CH-Bit wird schließlich in den Markenspeicher übertragen.
IT - Wenn dieses Bit gesetzt 1st bedeutet dies, daß Zugriff
zu dem gewünschten Wort in der Datenzeile des Schnellspeichers erhalten werden kann, da gegenwärtig kein
Docket SA 967 112 109827/1394
Datenaustausch zwischen Hauptspeicher und dieser Zeile
des Schnellspeichers stattfindet. Dieses Bit kann also Nicht-In-übertragungs-Bit genannt werden. Auch dieses
Bit wird schließlich in den Markenspeicher übertragen.
H - Dieses Bit wird Heiß-Bit genannt. Auch dieses Bit wird schließlich im Markenspeicher abgespeichert. Es zeigt
an, daß zum gegenwärtigen Zeitpunkt ein Zugriff zu der gewünschten Datenzeile durchgeführt wird oder kurz zuvor
durchgeführt wurde. Diese Zeile ist daher "heiß". Dieses Bit wird verwendet bei der Auswahl einer Datenzeile,
welche freigemacht werden soll für die Übertragung einer Datenzeile vom Hauptspeicher in den Schnellspeicher,
Es sollen ja im Schnellspeicher nur "kalte" Blocks durch neue Daten überschrieben werden und nicht Blocks in
denen sich heiße Worte befinden. Das Heiß-Bit wird in geregelten Abständen von einem Kalt-Generator (4022)
zurückgestellt/ der Marken-AdreßZufallsfolgen , z.B. in
Abständen von acht Zyklen erzeugt.
IV - Die Summe dieser Bits ergibt das Sperrwort in jedem Register eines Anforderungsregisterstapels. Wenn ein
Bit in diesem Wort gesetzt ist, bedeutet dies, daß die Anforderung, in der das Sperrwort gespeichert ist verknüpft
ist mit einer anderen Anforderung, welche durch das betreffende Bit im Sperrwort definiert ist. Es muß
also soviele Sperrbits geben, wie es insgesamt Register in den Anforderungsstapeln gibt. Erst wenn alle Sperrbits
auf O stehen, kann die betreffende Anforderung ausgeführt werden (siehe SI-Bit).
Zu den P*- und A-Bits wäre noch zu sagen, daß diese Bits in Abhängigkeit
von bestimmten Bits in der virtuellen Adresse gesetzt werden.
Es soll nun die Funktionsweise des Folge-Steuergenerators 4002 näher beschrieben werden. Mit Hilfe dieses Generators sollen
Docket SA 967 112 10 9 8 2 7/1394
Konflikte gelöst werden, welche dadurch entstehen, daß sich
mehrere Anforderungen auf das gleiche Datenwort im Schnellspeicher
beziehen. Um unnötige Wartezeiten zu vermeiden werden ja in der beschriebenen Einrichtung Anforderungen ausgeführt, soweit
die Daten auf die sich die Anforderung bezieht, zur Verfügung stehen. Es kann also vorkommen, daß ältere Anforderungen warten
müssen und jüngere Anforderungen zuerst ausgeführt werden. In Form einer kurzen Tabelle sollen vier typische Fälle besprochen
werden. Hierbei trifft zum Zeitpunkt T eine erste Anforderung ein und hiernach zum Zeitpunkt Tl eine zweite Anforderung.
1 | 2 | 3 | a | 4 | a | |
T | Speichern a | Auslesen a | Speichern | a | Auslesen | a |
Tl | Auslesen a | Speichern a | Speichern | Auslesen | ||
Im ersten Falle werden die falschen Daten ausgelesen, wenn das
Auslesen vor dem Speichern geschieht. Das gleiche gilt für den Fall 2 wenn das Einspeichern vor dem Auslesen erfolgt. Im
Falle 3 passiert ein Fehler, wenn die beiden Einspeicheroperationen
nicht in der zeitlichen Reihenfolge ausgeführt werden, in der die Anforderungen eingetroffen sind. Im Falle 4 jedoch
kann kein Irrtum passieren. In allen obengenannten Fällen werden
also für die zum Zeitpunkt Tl eingetroffenen Anforderungen
Sperrbits erzeugt. Der Folge-Steuergenerator muß also die Möglichkeit
haben, die virtuellen Adressen aller bisher eingetroffenen und noch nicht erledigten Anforderungen mit der virtuellen Adresse
einer neu eingetroffenen Anforderung zu vergleichen. Hierzu
sind im Folgesteuergenerator geeignete Einrichtungen vorgesehen. Zum Beispiel können die virtuellen Adressen aller zur
Zelt gespeicherten Anforderungen der Reihe nach zum Folge-Steuergenerator
übertragen und mit der virtuellen Adresse der neu eingetroffenen Anforderung verglichen werden. Jede
dieser alten Adressen, sofern sie nicht mit der neuen Adresse verknüpft wird, wird mit einem Gültigkeitsbit zu ihrem Register
zurückübertragen.
Docket SA 967 112 10 9 8 2 7/1394
Die Funktion der Prioritätseinrichtungen 4004 und 4005 ist bereits im wesentlichen beschrieben worden. In diesen Prioritätseinrichtungen
wird eine Reihe von Tests durchgeführt und abhängig von den angebotenen Steuersignalen logische Entscheidungssignale
erzeugt. Bei der Frage, ob eine bestimmte Anforderung Priorität erhalten soll, wird auch berücksichtigt, ob
der Schnellspeicher frei ist. Der Schnellspeicher ist im vorliegenden
Ausführungsbeispiel in acht Basls-Speichermoduln (BSM)
unterteilt. Es können also durchaus zu gleicher Zeit mehrere Zugriffsoperationen zum Schnellspeieher durchgeführt werden,
sofern sie sich auf verschiedene Basis-Speichermoduln beziehen.
Diese Aufteilung in mehrere Speichermoduln wird in den Speicher-Lösern 4006 und 4008 berücksichtigt. Der Markenspeicher weist
ja einen zum Schnellspeicher gleichen Aufbau auf. Die Behandlung von Prioritätskonflikten kann in den drei Prioritätseinrichtungen
4004, 4005 und 4018 gleichzeitig erfolgen. Es ist auch möglich, daß sich eine P- und Q-Anforderung wohl auf dieselbe
Datenzeile aber auf ein verschiedenes Wort beziehen. In diesem Fall ist es möglich, daß sich die Anforderungen auf verschiedene
Basis-Speichermoduln beziehen und gleichzeitig ausgeführt werden können. Die betreffende Markeninformation wird dann
sowohl zu der P- als auch zur der Q-Entscheidungseinrichtung übertragen.
Es wurde bereits gesagt, daß eine Datenzeile 16 Worte enthält. Die beiden Datenzeilen im Schnellspeicher, in die eine virtuelle
Adresse aufgeteilt wird, müssen dabei nichtnotwendigerweise
benachtbart sein. Jede dieser beiden Datenzeilen ist dabei in zwei Teile unterteilt.
Fig. 4 zeigt die besprochene Unterteilung des Schnellspeichers sowie die Unterteilung des Hauptspeichers in vier Grundspeichermoduln.
In diesen vier Moduln ist eine Datenzeile gespeichert, welche aus 16 Worten besteht. Bei einer Datenübertragung
vom Hauptspeicher in den Schnellspeicher wird im Schnellspeicher entweder die erste oder zweite Datenzeile ausgewählt und in die-Docket SA 967 112 10 9 8 2 7/1394
se Zeile werden dann die 16 Worte vom Hauptspeicher übertragen. Aus Fig. 4 ist auch ersichtlich, daß sowohl die erste als
auch die zweite Zeile im Schnellspeicher in zwei Teile unterteilt ist. Jeder Teil davon besteht aus acht Worten. Die übertragung
einer Datenzeile vom Hauptspeicher in den Schnellspeicher erfolgt in vier Zyklen, A, Br C und D. Für jeden Basis-Speichermodul
im Hauptspeicher ist also ein Zyklus notwendig und pro Zyklus werden vier Worte übertragen. Wenn die Datenzeile
in die erste Zeile des Schnellspeichers übertragen wird, so werden die ersten acht Worte in die Adresse η und die zweiten
acht Worte in die Adresse n+1 übertragen. Die betroffenen j
Grundspeichermoduln BSM sind aus Fig. 4 ersichtlich.
Wenn jedoch die Datenzeile in die zweite Zeile des Schnellspeichers
übertragen wird, erfolgt bei der Einspeicherung ein kreuzweiser Austausch. Die Speicherstellen für die verschiedenen
16 Worte in der zweiten Zeile mit der Adresse m und m+1 ergeben
sich aus Fig. 4. Bei dieser Art der Datenübertragung zwischen den Speichern ist also in jedem Übertragungszyklus nur
die Hälfte aller Basisspeichermoduln im Schnellspeicher besetzt. Obwohl also die Datenübertragung Priorität hat (R) bleibt noch
die Hälfte des Schnellspeichers übrig für andere Operationen. Diese Überlappung von verschiedenen Operationen wird auch ermöglicht
durch die besondere Art der Einspeicherung der ver- |
schiedenen Datenworte in die erste und zweite Zeile des Schnellspeichers.
Durch den kreuzweisen Austausch, im Vergleich zur ersten Zeile, ist bei beiden Datenzellen im Schnellspeicher gewährleistet,
daß durch den Zugriff zu einem bestimmten Wort nur zwei BasIsspeichermoduln adressiert werden müssen.
Beispielsweise kann angenommen werden, daß die Grundspeichermoduln
O bis 3 im Schnellspeicher gerade durch die Datenübertragung während des Zyklus A belegt sind. Eine P-Anforderung kann
sich auf Wort 4 in dieser ersten und zweiten Datenzeile im
Schnellspeicher beziehen. Durch diese Anforderung werden die Grundspeichermoduln 4 und 5 belegt, da das Wort 4 aus den
Docket SA 967 112 109827/1394-
beiden Datenzellen ausgelesen wird, überlappend mit den beiden
genannten Vorgängen ist auch eine Q-Anforderung an Wort 15 möglich.
Durch den Zugriff zu Wort 15 in der ersten und zweiten Datenzeile im Schnellspeicher werden die Moduln 6 und 7 belegt.
Trotz der Durchführung einer Datenübertragung vom Hauptspeicher in den Schnellspeicher ist also die Erfüllung von P- und Q-Anforderungen
zu bestimmten Worten möglich.
Fig. 5 bezieht sich z.T. auf die Rückübertragung einer Datenzeile
aus dem Schnellspeicher in den Hauptspeicher. Wenn das CH-Bit für diese Zeile auf 1 steht bedeutet dies, daß diese Zeile in
den Hauptspeicher zurückübertragen werden muß. Die Adresse im Hauptspeicher wird mit Hilfe des Zuordnungsspeicher 4032 festgestellt.
In die freigemachte Datenzeile wird hierauf vom Hauptspeicher eine neue Datenzeile übertragen. Die Adresse im Hauptspeicher
der zu übertragenden Zeile wird ebenfalls durch den Zuordnungsspeicher festgestellt.
Claims (18)
- PATENTANSPRÜCHEfly Speicheranordnung mit einem Hauptspeicher großer Kapazität, einem Schnellspeicher kleinerer Kapazität und Einrichtungen zum übertragen von Daten zwischen den Speichern/ sowie einem weiteren Speicher zum Speichern von Marken für jede im Schnellspeicher gespeicherte adressierbare Dateneinheit, gekennzeichnet durch eine Vielzahl von Speieheranforderungs-Toren (1, 2, 4290, 4292), wobei für jedes Speicheranforderungstor Einrichtungen zum Speichern der Anforderungen (3, 4, 4000, 4001) vorgesehen sind, durch Prioritätseinrichtungen (7, 8, 4004, 4005) zur Zuteilung der Priorität, welche die Anforderungsinformation empfangen und mit Speicher-Lösern (15, 11, 4006, 4008), welche Prioritätskonflikte von mehreren Anforderungen an die gleiche Dateneinheit eines Speichers lösen, verbunden sind.
- 2. Speicheranordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Einrichtungen zum Speichern der Anforderungen aus Registerstapeln bestehen und neben der Anforderungsinformation auch ein Steuerwort speichern, welches jederzeit den Fortgang der Behandlung der Anforderung abbildet.
- 3. Speicheranordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Speicheranforderung eine virtuelle Adresse enthält, welche im Schnellspeicher (20, 4300) zwei Datenzeilen mit je einer sogenannten physikalischen Adresse definiert.
- 4. Speicheranordnung nach Anspruch 3, gekennzeichnet durch einen an sich bekannten Markenspeicher (19, 4310), welcher für jede Datenzeile im Schnellspeicher (20) eine die Daten dieser Zeile identifizierende Marke, sowie Steuerinformation speichert.
- 5. Speicheranordnung nach Anspruch 1, gekennzeichnet durch Docket SA 967 112 109827/1.394einen Folge-Steuergenerator (5, 4002) mit Vergleichseinrichtungen welcher Anforderungen an die gleiche Datenadresse im Schnellspeicher erkennt und In den Steuerworten der betreffenden Anforderung Steuerinformation speichert, derart, daß die Anforderungen in einer solchen Reihenfolge ausgeführt werden, daß bei Einschreiben und Auslesen in Verbindung mit der gleichen Datenadresse immer die richtigen Daten adressiert werden.
- 6. Speicheranordnung nach Anspruch 5, gekennzeichnet durch ein Sperrwort (IV), welches für jedes insgesamt vorgesehene Register in den Stapeln (3, 4) ein Bit enthält, welches vom Folgesteuergenerator (5) gesetzt wird, wenn die Anforderung mit anderen Anforderungen verknüpft werden soll.
- 7. Speicheranordnung nach Anspruch 6, gekennzeichnet durch ein Folgesteuerbit (SI) im Steuerwort, welches zurückgestellt wird, wenn das Sperrwort kein gesetztes Bit enthält.
- 8. Speicheranordnung nach Anspruch 2, gekennzeichnet durch eine Prioritätseinrichtung (4018) für Anforderungen zur Datenübertragung, in beiden Richtungen, zwischen dem Schnellspeicher und dem Hauptspeicher und durch eine übertragungseinheit (30, 4016) zur Steuerung der Übertragung, welche im Steuerwort der Anforderung ein Warte-Bit setzt, wenn die Anforderung auf Beendigung einer Datenübertragung wartet und hiernach wieder der Prioritätseinrichtung zugeführt werden soll.
- 9. Speicheranordnung nach Anspruch 3, gekennzeichnet durch Entscheidungseinrichtungen (25, 26, 4014, 4015) für jedes Tor (1, 2) zum Vergleich der virtuellen Adresse einer Anforderung mit der Marke der beiden entsprechenden physikalischen Adressen, mit Einrichtungen zum Einleiten einerDocket SA 967 112 109827/1394Datenübertragung zwischen den Speichern bei negativem Vergleich, und mit Einrichtungen zum Feststellen von längere Zeit nicht benutzten Datenzellen im Schnellspeicher (20) in die dann die neue Zeile eingeschrieben wird.
- 10. Speicheranordnung nach Anspruch 8, gekennzeichnet durch Speicherzellen (4010, 4012, 4011, 4013, 4024, 4026) für jedes Tor (1, 2) und die Übertragungs-Priorltätsschaltung (36), zur Synchronisation der Adressierung und der Ausleseoperation des Schnell- oder Markenspeichers und zur Steuerung der Entscheidungseinrichtungen (25, 26).
- 11. Speicheranordnung nach Anspruch 9, gekennzeichnet, durch Einrichtungen zum Erkennen der Adresse des ersten Wortes einer Datenseite im Hauptspeicher und zur Speicherung einer Scheinanforderung im Anforderungsregisterstapel (3), derart, daß eine Vorabübertragung der nächsten Zeile der Seite eingeleitet wird.
- 12. Speicheranordnung nach Anspruch 9, gekennzeichnet durch ein Hei B-Bit, welches mit jeder Harke im Markenspeicher gespeichert wird und anzeigt, daß die betreffende Datenzeile kürzlich adressiert wurde und durch einen KaIt-Generator (4022), welcher in regelmäßigen, kurzen Abständen statistisch ausgewählte Markenspeicheradressen adressiert und die Hei S-Bits zurückste' .. .
- 13. Speicheranordnung nach Anspruch 2, dadurch gekennzeichnet, daß die Prioritätseinrichtungen (7, 8, 36) Angaben Im Steuerwort über einen erfolgreich νβχsuchten Zugriff einer Anforderung zum Schnell- oder .larkenspeicher speichern.
- 14* Speicheranordnung nach Anspruch 13 gekennzeichnet durch Einrichtungen in den Anforderungsregisterstapeln (3, 4), welche jeweils die älteste Anforderung mit abgelehnter Priorität * >der der Prioritätseia^ichttug "*. 8) zuführen.
- 15. Speicheranordnung nach Anspruch 14, gekennzeichnet durch Einrichtungen, welche eine gleichzeitige Bearbeitung von Anforderungen von verschiedenen Anforderungstoren in den Entscheldungseinrichtungen (25, 26) und den Prioritätseinrichtungen (7, 8, 36) gestatten.
- J.6. Speicheranordnung nach Anspruch 8, dadurch gekennzeichnet, daß der Hauptspeicher (32) und der Schnellspeicher (20) in bekannter Weise aus mehreren Grundspeichermoduln (BSM) bestehen, wobei eine Datenzeile vom Hauptspeicher derart in jede der beiden physikalischen Adressen des Schnellspeichers übertragen wird, daß in den beiden physikalischen Adressen jeweils andere Grundspeichermoduln (BSM) von einem bestimmten Wort belegt werden.
- 17. Speicheranordnung nach Anspruch 16, gekennzeichnet durch ein Bit in der Markeninformation, welches angibt, ob der Dateninhalt einer Zeile im Schnellspeicher 20 geändert wurde, wonach diese Zeile vor dem überschreiben erst zurück in den Hauptspeicher (32) übertragen wird.
- 18. Speicheranordnung nach einem der vorhergehenden Ansprüche dadurch gekennzeichnet, daß jede der genannten Einrichtungen unabhängig vom Belegtzustand anderer Einrichtungen von einer Anforderung belegt werden kann, wodurch mehrere Anforderungen gleichzeitig bearbeitet werden können und während dieser Bearbeitungszeit auch eine Datenübertragung zwischen den Speichern durchgeführt werden kann.Docket SA 967 112 10 9 8 2 7/1394Leerseite
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US88746969A | 1969-12-23 | 1969-12-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2061576A1 true DE2061576A1 (de) | 1971-07-01 |
Family
ID=25391207
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19702061576 Pending DE2061576A1 (de) | 1969-12-23 | 1970-12-15 | Speicheranordnung |
Country Status (5)
Country | Link |
---|---|
US (1) | US3670309A (de) |
JP (1) | JPS504530B1 (de) |
DE (1) | DE2061576A1 (de) |
FR (1) | FR2143504B1 (de) |
GB (1) | GB1313528A (de) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3878513A (en) * | 1972-02-08 | 1975-04-15 | Burroughs Corp | Data processing method and apparatus using occupancy indications to reserve storage space for a stack |
US3839704A (en) * | 1972-12-06 | 1974-10-01 | Ibm | Control for channel access to storage hierarchy system |
US3868644A (en) * | 1973-06-26 | 1975-02-25 | Ibm | Stack mechanism for a data processor |
US3928857A (en) * | 1973-08-30 | 1975-12-23 | Ibm | Instruction fetch apparatus with combined look-ahead and look-behind capability |
GB1499184A (en) * | 1974-04-13 | 1978-01-25 | Mathematik & Datenverarbeitung | Circuit arrangement for monitoring the state of memory segments |
US3967247A (en) * | 1974-11-11 | 1976-06-29 | Sperry Rand Corporation | Storage interface unit |
US3964054A (en) * | 1975-06-23 | 1976-06-15 | International Business Machines Corporation | Hierarchy response priority adjustment mechanism |
US4075686A (en) * | 1976-12-30 | 1978-02-21 | Honeywell Information Systems Inc. | Input/output cache system including bypass capability |
US4169284A (en) * | 1978-03-07 | 1979-09-25 | International Business Machines Corporation | Cache control for concurrent access |
GB2037039B (en) * | 1978-12-11 | 1983-08-17 | Honeywell Inf Systems | Cache memory system |
US4208716A (en) * | 1978-12-11 | 1980-06-17 | Honeywell Information Systems Inc. | Cache arrangement for performing simultaneous read/write operations |
JPH048824B2 (de) * | 1979-01-09 | 1992-02-18 | ||
US4707781A (en) * | 1979-01-09 | 1987-11-17 | Chopp Computer Corp. | Shared memory computer method and apparatus |
US4484262A (en) * | 1979-01-09 | 1984-11-20 | Sullivan Herbert W | Shared memory computer method and apparatus |
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 |
US4381541A (en) * | 1980-08-28 | 1983-04-26 | Sperry Corporation | Buffer memory referencing system for two data words |
US4458316A (en) * | 1981-03-06 | 1984-07-03 | International Business Machines Corporation | Queuing commands in a peripheral data storage system |
US4489378A (en) * | 1981-06-05 | 1984-12-18 | International Business Machines Corporation | Automatic adjustment of the quantity of prefetch data in a disk cache operation |
CA1187198A (en) * | 1981-06-15 | 1985-05-14 | Takashi Chiba | System for controlling access to channel buffers |
US4430701A (en) * | 1981-08-03 | 1984-02-07 | International Business Machines Corporation | Method and apparatus for a hierarchical paging storage system |
US4571674A (en) * | 1982-09-27 | 1986-02-18 | International Business Machines Corporation | Peripheral storage system having multiple data transfer rates |
JPS59188879A (ja) * | 1982-12-17 | 1984-10-26 | シンボリツクス・インコ−ポレ−テツド | デ−タプロセツサ |
US4887235A (en) * | 1982-12-17 | 1989-12-12 | Symbolics, Inc. | Symbolic language data processing system |
US4527238A (en) * | 1983-02-28 | 1985-07-02 | Honeywell Information Systems Inc. | Cache with independent addressable data and directory arrays |
CA2072178A1 (en) * | 1991-06-24 | 1992-12-25 | Said S. Saadeh | Innate bus monitor for computer system manager |
US5832499A (en) * | 1996-07-10 | 1998-11-03 | Survivors Of The Shoah Visual History Foundation | Digital library system |
US6353831B1 (en) | 1998-11-02 | 2002-03-05 | Survivors Of The Shoah Visual History Foundation | Digital library system |
GB2378277B (en) * | 2001-07-31 | 2003-06-25 | Sun Microsystems Inc | Multiple address translations |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB979632A (en) * | 1960-04-20 | 1965-01-06 | Nat Res Dev | Improvements in or relating to electronic digital computing machines |
US3368207A (en) * | 1965-05-12 | 1968-02-06 | Ibm | File protection to i/o storage |
US3398405A (en) * | 1965-06-07 | 1968-08-20 | Burroughs Corp | Digital computer with memory lock operation |
US3469239A (en) * | 1965-12-02 | 1969-09-23 | Hughes Aircraft Co | Interlocking means for a multi-processor system |
US3473159A (en) * | 1966-07-07 | 1969-10-14 | Gen Electric | Data processing system including means for protecting predetermined areas of memory |
US3461433A (en) * | 1967-01-27 | 1969-08-12 | Sperry Rand Corp | Relative addressing system for memories |
-
1969
- 1969-12-23 US US887469A patent/US3670309A/en not_active Expired - Lifetime
-
1970
- 1970-11-19 FR FR7044212A patent/FR2143504B1/fr not_active Expired
- 1970-12-07 GB GB5795670A patent/GB1313528A/en not_active Expired
- 1970-12-11 JP JP45109657A patent/JPS504530B1/ja active Pending
- 1970-12-15 DE DE19702061576 patent/DE2061576A1/de active Pending
Also Published As
Publication number | Publication date |
---|---|
JPS504530B1 (de) | 1975-02-20 |
FR2143504B1 (de) | 1974-10-11 |
FR2143504A1 (de) | 1973-02-09 |
GB1313528A (en) | 1973-04-11 |
US3670309A (en) | 1972-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2061576A1 (de) | Speicheranordnung | |
EP0435046B1 (de) | Verfahren zum Wiederherstellen der richtigen Zellfolge, insbesondere in einer ATM-Vermittlungsstelle, sowie Ausgangseinheit hierfür | |
DE1966633C3 (de) | Datenverarbeitungsanlage mit überlappter Arbeitsweise bei Verwendung eines Haupt- und Pufferspeichers | |
DE2550339C2 (de) | Speichersystem mit einem langsam arbeitenden Hauptspeicher großer Kapazität und mit zumindest einem schnell arbeitenden Pufferspeicher geringer Kapazität | |
DE2628363C2 (de) | Datenverarbeitungs-Netzwerk | |
DE2809602C3 (de) | Kanalbus-Steuereinrichtung | |
DE3642324C2 (de) | Multiprozessoranlage mit Prozessor-Zugriffssteuerung | |
DE4008078A1 (de) | Kopierfaehige atm-vermittlungsstelle | |
DE2415900A1 (de) | Rechenautomat mit mehreren mit je einem vorratsspeicher versehenen rechenanlagen | |
EP0446586B1 (de) | ATM-Vermittlungsstelle | |
DE2855673C2 (de) | ||
DE2130299A1 (de) | Eingabe/Ausgabe-Kanal fuer Datenverarbeitungsanlagen | |
DE2241257A1 (de) | Datenverarbeitende anlage | |
DE2806045A1 (de) | Dv-system mit pufferspeicher | |
DE2750721A1 (de) | Ein/ausgabe-system | |
DE2928488A1 (de) | Speicher-subsystem | |
DE2441754A1 (de) | Prozessor-datenuebertragungssteueranordnung sowie verfahren zur steuerung der datenuebertragung eines prozessors | |
EP0651536A2 (de) | Verfahren zur Wiederherstellung einer vorgegebenen Reihenfolge für ATM-Zellen | |
DE4207158A1 (de) | Speicher-zugriffssteuerung | |
DE1524111C3 (de) | Elektronische Datenverarbeitungsanlage | |
DE1499206B2 (de) | Rechenanlage | |
DE1237812B (de) | Datenverarbeitungsgeraet mit mehreren Speichern | |
DE2350202A1 (de) | Asynchron arbeitende hauptspeicherfolgesteuereinrichtung fuer ein rechnersystem | |
DE2028345C3 (de) | Verfahren zur Verteilung von Ablaufanforderungen in einer programmgesteuerten Datenvermittlungsanlage | |
DE2350170A1 (de) | Schaltungsanordnung fuer einen rechner zum ersatz eines zustands durch einen anderen zustand |