DE2230266A1 - Datenverarbeitungsanlagen mit einer zentraleinheit unter verwendung virtueller adressierung - Google Patents
Datenverarbeitungsanlagen mit einer zentraleinheit unter verwendung virtueller adressierungInfo
- Publication number
- DE2230266A1 DE2230266A1 DE2230266A DE2230266A DE2230266A1 DE 2230266 A1 DE2230266 A1 DE 2230266A1 DE 2230266 A DE2230266 A DE 2230266A DE 2230266 A DE2230266 A DE 2230266A DE 2230266 A1 DE2230266 A1 DE 2230266A1
- Authority
- DE
- Germany
- Prior art keywords
- address
- register
- memory
- gates
- buffer memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1045—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
- G06F12/1063—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently virtually addressed
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)
Description
Böblingen, 7. Juni 1972 heb-fr
Anmelderin: International Business Machines
Corporation, Armonk, N.Y. 10504
Aratl. Aktenzeichen: Neuanmeldung
Aktenzeichen der Anmelderin: Docket KI 970 003
Datenverarbeitungsanlagen mit einer Zentraleinheit unter Verwendung virtueller Adressierung
Die Erfindung bezieht sich auf Datenverarbeitungsanlagen mit einer Zentraleinheit unter Verwendung virtueller Adressierung
in Adressen-Steuerwörtern zur Adressierung eines Pufferspeichers und eines Hauptspeichers.
Einige Datenverarbeitungsanlagen verwenden virtuelle Adressierung in Befehlsworten der zugehörigen Programme. Für die virtuelle
Adressierung stellt man sich eine imaginäre Speicherrichtung vor, deren Speicherkapazität groß genug ist, um eine große
Menge Daten zu speichern, die in einem bestimmten Programm verarbeitet werden sollen, d.h. im allgemeinen alle diese Daten.
Die Anzahl der virtuellen Adressen kann des öfteren die Anzahl der Adressen in der gesamten Speicherkapazität einer vorgegebenen
Datenverarbeitungsanlage beträchtlich übersteigen. Wenn eine Datenverarbeitungsanlage die virtuelle Adressierung benutzt,
eine Zentraleinheit, einen Pufferspeicher, einen Hauptspeicher und verschiedene Eingabe-/Ausgabevorrichtungen enthält, die
mit dem Hauptspeicher in Verbindung stehen, dann müssen Vorkehrungen getroffen werden, um die virtuellen Adressen für die
verschiedenen verwendeten Speicher in wirkliche Adressen umzusetzen. Wird ein ßefehls-Steuerwort durch die Zentraleinheit
benutzt, um Daten aus einem bestimmten Speicher abzurufen, dann
209882/1040
muß eine Anordnung getroffen sein, um die virtuelle Adresse eines
solchen Befehls-Steuerwortes in die richtige Adresse der bestimmten
Speichervorrichtung umzusetzen. Dies ist eine Art, wie virtuelle Adressen in wirkliche Adressen umgewandelt werden können,
wenn beispielsweise der Hauptspeicher adressiert wird. Vielfach ist es bei Datenverarbeitungsanlagen erwünscht, einen Pufferspeicher
mit hoher Arbeitsgeschwindigkeit zu benutzen, um die zur Durchführung eines vorgegebenen Programms benötigte Verarbeitungszeit
herabzusetzen, in dem der Abruf von Daten aus dem sehr viel langsameren Hauptspeicher weitmöglichst eingeschränkt
wird. Doch erfordert die Verwendung eines Pufferspeichers in solchen Fällen die Obersetzung der virtuellen Adresse
in jedem Befehlswort in eine erste wirkliche Adresse für den Pufferspeicher, in dem Information eingespeichert ist oder in
eine zweite wirkliche Adresse für den Hauptspeicher, falls die Information im Pufferspeicher nicht zur Verfugung steht. Man
sieht ohne weiteres, daß sich dabei Schwierigkeiten ergeben können, da Daten, die durch eine virtuelle Adresse in einem Befehlswort
näher bezeichnet sind, eine wirkliche Adresse im Hauptspeicher und eine davon verschiedene wirkliche Adresse im Pufferspeicher
haben. Eine einfache Lösung für dieses Problem ist es, einen Adressenumsetzer für den Pufferspeicher und einen
zweiten Adressenumsetzer für den Hauptspeicher einschließlich der notwendigen Überwachungsprogramme vorzusehen, jedoch
ist die sich dabei ergebende Erhöhung an materiellem Aufwand und damit auch die Kosten in vielen Fällen prohibitiv. Man
steht hier also vor dem Problem, auf wirtschaftlich einfache Weise eine Adressieranordnung zu schaffen, die auf virtuelle
Adressen in Befehlswörtern von einer Zentraleinheit anspricht und die darin näher bezeichneten Daten zunächst von einem
Pufferspeicher abruft, falls sie dort zur Verfügung stehen oder dann von einem Hauptspeicher.
Aufgabe der Erfindung ist es also, in einer Datenverarbeitungsanlage
eine Anordnung zu schaffen, mit deren Hilfe mit virtueller Adressierung ein Pufferspeicher oder ein Hauptspeicher
KE 1J7C) OC)J
209882/1040
siert werden können, wenn die abzurufenden Daten nicht im Pufferspeicher
vorhanden sind. Dabei soll vor allen Dingen zur wirtschaftlichen Ausnutzung der virtuellen Adressierung der Pufferspeicher
und der Hauptspeicher gleichzeitig angesteuert werden, um die abzurufenden Daten in kürzest möglicher Zeit zu erhalten,
um die Arbeitsgeschwindigkeit der Anlage zu erhöhen.
Bekanntlich werden bei der Datenverarbeitung nur ein geringer
Prozentsatz der in einem gegebenen Zeitabschnitt in einem Speicher eingespeicherten Daten mit viel höherer Geschwindigkeit benutzt
oder modifiziert als die übrigen im Speicher befindlichen Daten, so daß man etwa sagen kann, 20 % der Speicherkapazität enthält
80 % der Daten. Dieses Prinzip ist zwar richtig, nur die Prozentsätze sind es sicherlich nicht. Daten, die während eines bestimmten
Zeitabschnittes sehr oft benutzt werden, können in einem nachfolgenden Zeitabschnitt relativ wenig benutzt werden. In
solchen Fällen ist es also gar nicht so einfach, die besonders hochwertige Information zu identifizieren, sonst wäre es nämlich
eine leicht zu lösende Aufgabe, die Informationshierarchie an die Speicherhierarchie anzupassen, so daß in einer Datenverarbeitungsanlage
in überwiegendem Maße der Zugriff zum schnellsten Speicher des Systems erfolgen würde.
In diesem Zusammenhang soll auf die Faktoren hingewiesen werden, die zu einer erhöhten Leistung einer Datenverarbeitungsanlage
mit Speicherhierarchie beitragen, nämlich erstens die erhöhte nutzbare Bandbreite des Hauptspeichers, zweitens der Vorab-Zugriff
für hochwertige Information und drittens die erneute Verwendung der im Pufferspeicher enthaltenen Information. Dabei ist angenommen,
daß der Pufferspeicher ein Hochgeschwindigkeitsspeicher mit niedriger Speicherkapazität und der Hauptspeicher ein Speicher
höher Kapazität mit vergleichsweise geringer Arbeitsgeschwindigkeit
ist. Wird ein Informationsblock, wie z.B. eine Anzahl von Bytes oder Wörtern vom Hauptspeicher nach dem Pufferspeicher
übertragen, dann wird die Bandbreite des Hauptspeichers wirksamer ausgenutzt, als wenn jedesmal entweder nur ein einzel-
ο 970 003 209882/1040
nes Byte oder ein einzelnes Wort übertragen wird. Es wird angenommen,
daß bei einer Informationsblockübertragung das gesuchte Byte oder Wort in dem Block enthalten ist. In der Praxis ist es
dann so, daß dann, wenn ein Byte oder ein Wort in einem Informationsblock zu einem bestimmten Zeitpunkt benutzt wird, eine
große Wahrscheinlichkeit besteht, daß die restliche Information in diesem Block kurz danach benutzt wird. Wird ein Vorab-Zugriff
von Informationsblöcken angewandt, so ergibt sich eine Verbesserung der ausnutzbaren Bandbreite des Hauptspeichers und der Vorabgriff
von in Zukunft hochwertiger Information für den Pufferspeicher, die beide sehr erwünscht sind. In einer Speicherhierarchie
ist es wichtig, beim Zugriff des langsameren Hauptspeichers immer dann Zeitverluste zu vermeiden, wenn der Zugriff zum schnelleren
Pufferspeicher nicht möglich ist, so daß es aus diesem Grund schon wichtig ist, beide Speicher gleichzeitig zu adressieren.
Ist der Pufferspeicher mit Daten voll gespeichert und fordert die Zentraleinheit nicht im Pufferspeicher zur Verfügung
stehende Daten an, dann sollten eigentlich Daten im Pufferspeicher ausgetauscht werden. In der Praxis hat es sich dabei
bewährt, diejenigen Daten in dem Hochgeschwindigkeits-Pufferspeicher auszutauschen, die am wenigsten benutzt worden sind.
Mit anderen Worten heißt das, daß die erst vor kurzem benutzten Daten im Hochgeschwindigkeits-Pufferspeicher verbleiben, während
wenig benutzte Daten ausgetauscht werden.
Eine solche vorteilhafte Ausgestaltung einer Datenverarbeitungsanlage
wird erfindungsgemäß dadurch gekennzeichnet, daß durch einen mit der Zentraleinheit verbundenen Assoziativspeicher zum
Speichern von virtuellen Adressen und entsprechender echter Adressen des Hauptspeichers, ferner durch Vergleichsschaltungen
zum Vergleich der virtuellen Adresse aus der Zentraleinheit mit den virtuellen Adressen des Assoziativspeichers, ferner
durch eine Adressen-Steuerschaltung, die abhängig vom Vergleichsergebnis über Schaltmittel den Zugriff zunächst zum Pufferspeicher
durchschaltet und die übertragung der Daten zwischen dem Pufferspeicher und der Zentraleinheit bewirkt und die bei Nicht-
Ki 970 003 2 0 98 82/10A0
Übereinstimmung die Adressierung des Hauptspeichers mit Datenübertragung
zwischen Hauptspeicher und Zentraleinheit und gleichzeitig die Überführung des im Hauptspeicher adressierten Datenblocks
in den Pufferspeicher bewirkt.
Vorzugsweise ist die Anordnung dabei so getroffen, daß'durch eine
Gruppe von Torschaltungen bei Datenabruf durch die Zentraleinheit aus dem Pufferspeicher der Zugriff zum Hauptspeicher gesperrt
ist.
Insbesondere ist es dabei wesentlich, daß die Zentraleinheit mit einem ersten Adressenregister verbunden ist, um von der Zentraleinheit
kommende Adressen-Steuerworte mit einem virtuellen Adreßteil und einem echten Adreßteil im entsprechenden Teil des
Registers einzuspeichern, daß die Vergleichsschaltung den Inhalt des virtuellen Adreßteils des ersten Registers mit den virtuellen
Adreßteilen aller Register des assoziativen Speichers zum Feststellen einer Übereinstimmung vergleicht und daß Schaltmittel
mit dem Assoziativspeicher verbunden sind, die den echten Adreßteil aller der Register des Assoziativspeichers dann, wenn die
gesuchte Information bei einer Abfrageoperation nicht im Pufferspeicher zur Verfügung steht, nach dem Hauptspeicher durchschaltet,
daß ferner eine Anzahl Sektor-Adreßregister und eine Anzahl Verbindungsregister jeweils paarweise vorgesehen sind mit Mitteln
zum Einspeichern von Information in ein Verbindungsregister, welche eines der Register des Assoziativspeichers kennzeichnet,
wodurch eines der Sektor-Adreßregister an eines der Register des Assoziativspeichers anschaltbar ist und daß auf den Vergleicher,
das Sektoradreßregister und das Verbindungsregister ansprechende Schaltmittel vorgesehen sind, um Information an der durch das
Adreß-Steuerwort im ersten Register bezeichneten Adresse im Pufferspeicher abzurufen.
Ein Ausführungsbeispiel der Erfindung ist in den Zeichnungen
dargestellt und wird anschließend näher beschrieben. Es zeigen:
κι 970 or).) 2098 8 2/1040
Fig. 1 ein Blockdiagramm einer erfindungsgemäßen
Datenverarbeitungsanlage,
Fig. 2 bis 6 in der Erfindung verwendete Speicherformate,
Fig. 7 ein einfaches Schema eines in einer erfindungsgemäßen Datenverarbeitungsanlage verwendeten
Pufferspeichers,
Fig. 8 ein in erfindungsgemäßen Instruktionsprogrammen verwendetes AdreB-Steuerwort und
Fign. 9 bis 24 im einzelnen die in Fig. 1 in Blockform gezeigte Anlage,wobei Fig. 9 ein Lageplan für
die Fign. 10 bis 24 ist.
In der in Fig. 1 gezeigten erfindungsgemäßen Anlage tauscht eine zentrale Verarbeitungseinheit 10 Daten aus mit einem Hochgeschwindigkeitspufferspeicher
12 von begrenzter Speicherkapazität und einem relativ langsameren Hauptspeicher 14 von wesentlich
größerer Speicherkapazität. Mehrere Eingabe-/Ausgabeeinheiten 16, 18 und 20 sind mit dem Hauptspeicher 14 verbunden und liefern
Informationen an diesen oder empfangen sie von ihm. Wenn die zentrale Verarbeitungseinheit (CPU) IO den Pufferspeicher
12 oder den Hauptspeicher 14 adressiert, liefert sie Adreßsigna-Ie
an einen Assoziativspeicher 22, der mehrere Register enthält, deren jedes einen virtuellen Adreßteil und einen echten Hauptspeicheradreßteil
aufweist. Die von der CPü kommende virtuelle Adreßinformation wird mit den in dem Assoziativspeicher 22
gespeicherten virtuellen Adressen verglichen. Wenn in einem Register des Assoziativspeichers 22 eine Übereinstimmung festgestellt
wird, adressieren die Adreßsteuerschaltungen 24 den Pufferspeicher 12, um Informationen abzurufen oder zu speichern,
vorausgesetzt, daß gültige Informationen an der gewählten Adresse des Pufferspeichers 12 gespeichert sind. Wenn die Adreßsteuerschaltungen
24 feststellen, daß die gewählte Adresse im Puffer-
κι 9/0 ooj 209882/ 10A0
Speicher 12 nicht gültig ist, dann wird der gespeicherte echte
Hauptspeicheradreßteil des entsprechenden Registers in dem Assoziativspeicher 22 über eine Gruppe von Toren 15 an den Hauptspeicher
weitergeleitet, um den Hauptspeicher 14 zum Speichern oder Abrufen von Information zu adressieren.
Die Zentraleinheit 10 verwendet Befehle mit Operations- und Adreßteil. Wenn der Operationsteil eine Abruf- oder Speicheroperation
vorschreibt, gibt der Adreßteil die Speicherstelle an/
an welcher Abruf oder Speicherung vorzunehmen sind. Jeder Befehl mit einem Adreßteil enthält die virtuelle Adressierung. Der
virtuelle Speicher ist definiert als die gesamte Adressierkapazität aller Programme im System. Der gesamte virtuelle Speicher
kann die tatsächliche physikalische Speicherkapazität des Pufferspeichers
12, des Hauptspeichers 14 und der E/A-Einheiten 16, 18 und 20 überschreiten.
Fig. 2 zeigt ein Format eines in dieser Erfindung verwendeten virtuellen Speichers. Dieses Format enthält eine willkürliche
Zuordnung von Speicherbereichen, die in Segmente unterteilt sind, welche wiederum in Seiten aufgeteilt sind. Die Anzahl der Seiten
pro Segment kann veränderlich oder festgelegt sein. Nach Fig. 2 enthält das Segment 1 die Seiten O bis 255, das Segment 2 aber
nur die Seiten O und 1. Im virtuellen Speicher der Fig. 2 wird Information durch ein Adreßsteuerwort adressiert, wie es in Fig.
gezeigt ist. Das Adreßsteuerwort enthält einen Segmentteil, einen Seitenteil und einen Byteteil. Der Segmentteil gibt das jeweils
zu adressierende Segment im virtuellen Speicher an, der Seitenteil die Seite im gewählten Segment und der Byteteil ein bestimmtes
Byte innerhalb der gewählten Seite. Der Byteteil des in Fig. 3 gezeigten Adreßsteuerwortes kann gemäß nachfolgender Erklärung
noch weiter unterteilt werden.
Fig. 4 zeigt das Format für die Speicherung von Information in
dem in Fig. 1 gezeigten Hauptspeicher 14. Information wird seitenweise im Hauptspeicher gespeichert und jede Seite ist in vier
κι 970 003 209882/1040
Sektoren O bis 3 eingeteilt. Jeder Sektor ist weiter unterteilt
in 16 Informationsblocks, die in Fig. 5 als Blocks O bis 15 gezeigt
sind. Jeder Block ist nach Darstellung in Fig. 6 wieder in vier 4er-Wörter unterteilt. Jedes der vier Wörter in einem 4er-Wort
kann 32 Bit lang sein und jedes Wort kann weiter unterteilt werden in vier Bytes von je 8 Bits Länge.
Fig. 7 zeigt das Speicherformat im Pufferspeicher 12 in Fig. 1.
Der Pufferspeicher 12 ist in 16 Ebenen gezeigt und jede Ebene speichert einen Informationsektor aus dem Hauptspeicher, d.h.,
jede Ebene des Pufferspeichers 12 kann 16 Informationsblocks speichern.
Wenn Information von den Eingabe-/Ausgabeeinheiten 16, 18 oder 20 in Fig. 1 an den Hauptspeicher 14 übertragen wird, ist die
übertragene Informationseinheit die Seite. Wenn Information aus dem Hauptspeicher 14 in den Pufferspeicher 12 übertragen wird,
ist die übertragene Informationseinheit der Sektor.
Fig. 8 zeigt ein Adreßsteuerwort, welches von der Zentraleinheit
IO zum Abrufen von Daten für die Verarbeitung benutzt wird. Das
Steuerwort ist mit 32 Bits dargestellt. Die Bits 0 bis 19 geben an sich das Segment und die Seite im virtuellen Speicher an und
die Bits 20 bis 31 die Bytelage im virtuellen Speicher. Die Bytelage des virtuellen Speichers ist jedoch dieselbe wie die im Hauptspeicher
14, und die Bits 20 bis 30 können daher auch als echte Adreßbits bezeichnet werden. Die Bits 0 bis Π werden nicht benutzt.
Die Bits 8 bis 11 geben ein Segment an, wie es im virtuellen Speicher der Fig. 2 gezeigt ist. Die Bits 12 bis 19
geben eine bestimmte Seite innerhalb des gegebenen Segmentes des virtuellen Speichers der Fig. 2 an. Die Bits 20 bis 31 definieren
die Bytelage innerhalb einer gegebenen Seite. Die Bytelage kann weiter unterteilt werden in Sektor, Block, 4er-Wort und
Byte. Die Bits 20 und 21 wählen einen der vier Sektoren in einer Seite. Die Bits 22 bis 25 wählen einen von 16 Blocks in einem
Sektor. Bits 26 und 27 wählen eines von vier Wörtern in einem
κι 970 003 20988 2/104 0
223Q266
4er-Wort, wo die Wortverarbeitung benutzt wird. Die Bits 28 bis 31 wählen eines von 16 Bytes in einem 4er~Wort, wo die Byteverarbeitung
benutzt wird.
Die virtuellen Adreßbits O bis 19 eines Adreßsteuerwortes aus der
Zentraleinheit müssen aus der virtuellen Adresse in die echte Adresse des Hauptspeichers 14 übersetzt werden, bevor Daten im
Hauptspeicher 14 adressiert werden können. Eine geeignete Datenadreßübersetzungsanlage
ist dargestellt und beschrieben in der US-Patentanmeldung Nr. 678 152 vom 19. Oktober 1967. Sowohl die
virtuelle als auch die auf ihr übersetzte echte Adresse werden in Registern des Assoziativspeichers 22 der Fig. 1 gespeichert. Für
den Rest der Beschreibung wird angenommen, daß alle notwendigen Datenadreßübersetzungen abgeschlossen und die echten sowie die
virtuellen Adreßteile vorher im Assoziativspeicher 22 in Fig. 1 gespeichert sind. Jedesmal wenn die in Fig. 1 gezeigte Zentraleinheit
10 eine Abruf- oder Speicherinstruktion abgibt, liefert sie virtuelle Adreßbits 8 bis 19 eines Adreßsteuerwortes an den Assoziativspeicher
22, wo für diese Beschreibung eine Übereinstimmung festgestellt wird, weil unter den oben beschriebenen angenommenen
Umständen die gesamte Adreßübersetzung vorher abgeschlossen sein muß. Wenn die in einer Abrufoperation gesuchte Information im
Pufferspeicher 12 steht, reagieren die Adreßsteuerschaltungen 24 auf die Vergleichsoperation der virtuellen Adresse mit den
echten Adreßbits 20 bis 31 des Adreßsteuerwortes, und rufen die Information aus dem Pufferspeicher 12 ab. Wenn die Information
nicht im Pufferspeicher 12 zur Verfügung steht, wird die als Gegenstück zur virtuellen Adresse dienende echte Adresse unter
Steuerung der Adreßsteuerschaltungen 24 über eine Gruppe von Toren 15 zusammen mit den Bits 20 bis 31 des in Fig. 8 gezeigten
Adreßsteuerwortes an den Hauptspeicher 14 übertragen. Der Hauptspeicher 14 wird dadurch so betätigt, daß er die angeforderte
Information über die ODER-Glieder 17 an die Zentraleinheit 10 liefert. Sobald ein gewähltes Wort vom Hauptspeicher 14 an die
Zentraleinheit 10 übertragen wird, wird es auch an den Pufferfjpeicher
12 übertragen und dort gespeichert. Wenn ein gewähltes
yvn oo "
209802/1040
Wort vom Hauptspeicher 14 in den Pufferspeicher 12 übertragen wird, wird der ganze Sektor, der das gewählte Wort enthält, in
den Pufferspeicher 12 übertragen und dort gespeichert. Dadurch wird die Bandbreite des Hauptspeichers 12 erhöht und ein vorheriger
^bruf künftig wertvoller Information für den Pufferspeicher
12 ermöglicht. Aus dieser allgemeinen Beschreibung der Fig. 1 ist zu ersehen, wie die Zentraleinheit mit Hilfe der virtuellen Adressierung den Pufferspeicher und den Hauptspeicher adressiert. Als
nächstes wird diese Adressierung im Zusammenhang mit den Fign. bis 24 genauer beschrieben, die die in Blockform in Fig. 1 gezeigte
Anlage im einzelnen wiedergeben. Fig. 9 ist ein Lageplan für die Fign. 10 bis 24.
Die Fign. 10 bis 13 zeigen im einzelnen den in Fig. 1 in Blockform
wiedergegebenen Assoziativspeicher. Der Assoziativspeicher 22 enthält mehrere Register 100 bis 103, die in den Fign. 10 bis
13 dargestellt sind. Für diese Beschreibung wird angenommen, daß 16 Assoziativregister mit der Bezeichnung AR-O bis AR-15 vorhanden
sind. Die Assoziativregister AR-3 bis AR-14 sind der Klarheit halber weggelassen. Jedes der Assoziativregister 100 bis
103 hat in der linken Hälfte eine virtuelle Adresse und in der rechten Hälfte eine echte Hauptspeicheradresse gespeichert. Die
virtuelle Adresse in der linken Hälfte der Assoziativregister 100 bis 103 wird über zugehörige Kabel 110 bis 113 den entsprechenden
Vergleichereinheiten 120 bis 123 zugeführt. Ein Adreßregister 125 in Fig. 10 empfängt Adreßsignale von der Zentraleinheit
oder CPU 10, sobald Information zu speichern oder abzurufen ist. Das Adreßwort hat 32 Bits, die als Bits 0 bis 31 dargestellt
sind. Die Bits 0 bis 7 werden nicht verwendet, sie können jedoch zur Erweiterung der Größe des Segmentteiles benutzt werden,
der durch die Bits 8 bis 11 dargestellt ist. Die Seitenwahl ist wiedergegeben durch die Bits 12 bis 19. Die Bits 8 bis 19 stellen
eine virtuelle Adresse dar. Die Bits 2O bis 31 stellen einen Teil einer echten Adresse im Hauptspeicher dar und diese Komponente
der echten Adresse ist die Bytelage. Die Bytelagebits 22 bis 31 für den Pufferspeicher 12 sind identisch mit den Bytelagebits
KE 9 70 00.5
2 09882/1040
bis 31 für den Hauptspeicher 14. Die Bytelage enthält einen Sektorteil, der in Fig. 10 durch die Bits 20 und 21 dargestellt
ist, einen Blockteil·, dargestellt durch die Bits 22 bis 25 und einen 4er-Wortteil, dargestellt durch die Bits 26 und 27 sowie
einen durch die Bits 28 bis 31 dargestellten Byteteil. Der virtuelle Adreßteil in den Bits 8 bis 19 des Adreßregisters 125
wird über das Kabel 126 auf jede der Vergleicherschaltungen 120 bis 123 geleitet, die in den Fign. 10 bis 13 dargestellt sind.
Wenn die virtuelle Adresse im Register 125 mit der virtuellen Adresse in einem der Assoziativregister 100 bis 103 identisch
ist, dann liefert die zugehörige Vergleicherschaltung 120 bis 123 ein positives Ausgangssignal auf eine der Leitungen 130 bis
133. Ein negati es Signal auf den Leitungen 130 bis 133 zeigt an, daß kein Vergleich vprliegt. Für die vorliegende Beschreibung
wird angenommen, daß eine binäre 1 durch ein positives Signal und eine binäre 0 durch ein negatives Signal dargestellt
werden. Es wird eine positive Logik benützt, d.h., positive
Signale betätigen eine Schaltung und betätigte Schaltungen liefern ein positives Ausgangssignal.
Die echten Adreßteile der Assoziativregister 100 bis 103 stellen die echten Adressen der Seiten im Hauptspeicher dar, wenn die
entsprechende virtuelle Adresse umgesetzt worden ist. Die echten Adreßteile der Register 100 bis 103 werden den Gruppen von
Toren 150 bis 153 zugeführt. Diese Tore sind über'Kabel 100 bis 163 mit einem Satz von ODER-Schaltungen 1,64 verbunden, welche
über ein Kabel 165 Signale zur Adressierung einer gewählten Seite im Hauptspeicher liefern, sobald die CPU (I) Daten speichert
oder (2) abruft, die nicht im Pufferspeicher 12 zur Verfügung stehen.
Die Gruppen von Toren 150 bis 153 in den Fign. 10 bis 13 werden
durch UND-Glieder 170 bis 173 betätigt. Die von den Vergleicherschaltungen 120 bis 123 kommenden Leitungen 130 bis 133 sind an
die entsprechenden UND-Glieder 170 bis 173 angeschlossen. Eine Leitung 174a ist mit jedem der UND-Glieder 170 bis 173 ver-
κι 970003 209882/10A0
bunden. Ein ODER-Glied 175 liefert ein positives Signal auf die Leitung 174a (1) sobald angeforderte Daten in einer gewählten
Seite des Hauptspeichers nicht im Pufferspeicher verfügbar sind und (2) der Hauptspeicher durch Speichern von Daten darin von
der CPU 10 auf den neuesten Stand gebracht wird.
Die Ausgangsleitungen 130 bis 133 der Vergleicherschaltungen 120 bis 123 sind mit einer in Fig. 12 gezeigten Codierschaltung 180
verbunden. Zu einem gegebenen Zeitpunkt führt nur jeweils eine der Leitungen 130 bis 133 ein positives Signal. Wenn das der Fall ist,
tritt auf den Leitungen 181 bis 184 eine Kombination von positiven und negativen Ausgangssignalen auf, die in binärer Form die Identität
der positiv erregten Eingangsleitung angeben, die wiederum die Identität des entsprechenden Assoziativregisters wiedergibt.
Wenn z.B. die Leitung 131 in Fig. 11 ein positives Signal an die Codierschaltung 18O in Fig. 12 liefert, gibt die Kombination der
Signale auf den Ausgangsleitungen 181 bis 184 das Assoziativregister AR-I an. Die nachfolgende Tabelle 1 zeigt die sich aufgrund
von positiven Signalen auf jeweils einer der Eingangsleitungen 130 bis 133 ergebende Kombination von auf den Leitungen
181 bis 184 geführten binären Ausgangssignalen. Die durch jede binäre Kombination von Ausgangssignalen angegebenen Assoziativregister
sind ebenfalls gezeigt.
κι 970 003 209882/1040
Codierschaltung X80 Ausgangsleitungen
Codierschaltung 180
Eingangsleitungen 181
Eingangsleitungen 181
183
Angegebene 184 Register
130
131
132
131
132
133
0 0 1
I I
0 1 0
I I
AR-O AR-I AR-2
AR-15
Von der Codierschaltung 180 in Fig. 12 auf den Leitungen 181 bis 184 abgegebene Signale werden den Verbindungsregistern 210 bis
213 in den Fign. 14 bis 17 zugeführt. Es sind 16 Verbindungsregister mit den Bezeichnungen ARL-O bis ARL-15 vorhanden. Die
Verbindungsregister ARL-3 bis ARL-14 sind der klaren Darstellung halber weggelassen. Jedes der Register ARL-O bis ARL-15 hat vier
Bits zum Speichern der Identität des Assoziativregisters, mit welchem es verbunden ist. Jedes der Register 220 bis 223 wird
mit Sektoradreßregister (SECAR) bezeichnet. 16 solche mit SECAR-O bis SECAR-15 bezeichneten Register sind insgesamt vorhanden.
Die Sektoradreßregister 3 bis 14 sind der klaren Darstellung halber weggelassen. Die Sektoradreßregister geben die Adresse
eines gewählten Sektors im Hauptspeicher 14 an und jedes Sektoradreßregister gehört zu einem gegebenen Rahmen in dem in Fig. 7
gezeigten Pufferspeicher 12.
Die UND-Glieder 251 bis 254 sind mit dem Register 210 in Fig. 14 und die UND-Glieder 255 und 256 mit dem Register 220 verbunden.
In Fig. 15 sind die UND-Glieder 257 bis 260 mit dem Register 211 und die UND-Glieder 261 und 262 mit dem Register 221 verbunden.
KI 970 OO3
209882/1040
In Fig. 16 sind die UND-Glieder 263 bis 266 mit dem Register und die UND-Glieder 267 und 268 mit dem Register 222 verbunden.
In Fig. 17 sind die UND-Glieder 269 mit 272 mit dem Register und die UND-Glieder 273 und 274 mit dem Register 223 verbunden.
Die die Bits 20 und 21 vom Register 125 in Fig. 10 darstellenden Signale werden über die Leitungen 280 und 281 den in Fig. 14 gezeigten
UND-Gliedern'255 und 256, den in Fig. 15 gezeigten UND-Gliedern
261 und 262, den in Fig. 16 gezeigten UND-Gliedern 267 und 268 sowie den in Fig. 17 gezeigten UND-Gliedern 273 und 274
zugeführt. Information der Decodierschaltung 180 in Fig. 12 wird
auf die Leitungen 181 bis 184 geleitet und an die UND-Glieder 251 bis 254 in Fig. 13, die UND-Glieder 257 bis 260 in Fig. 15,
die UND-Glieder 263 bis 266 in Fig. 16 und die UND-Glieder 269 bis 272 in Fig. 17 weitergeleitet. Die UND-Glieder 251 bis 256
in Fig. 14 werden durch ein positives Signal auf einer Leitung 291 eingeschaltet, um (1) positive Signale auf die Leitungen
181 bis 184 und zum Register 210 und (2) positive Signale auf den Leitungen 280 und 281 an das Register 220 zu leiten. Das
positive Signal auf der Leitung 291 betätigt im wesentlichen die UND-Glieder 251 bis 256 so, daß eine Hauptspeicher-Sektoradresse
in das Register 220 und die Verbindungsinformation in
das Register 210 eingesetzt werden, wobei diese Verbindungsinformation
das jeweilige Assoziativregister in den Fign. 10 bis 12 angibt, welches die virtuelle und die echte Adresse der
Seite im Hauptspeicher enthält, die die im Register 220 angegebene Sektoradresse enthält. Auf gleiche Weise betätigt ein
positives Signal auf der Leitung 292 in Fig. 15 die UND-Glieder 257 bis 262, wodurch die Verbindungsinformation im Register
211 und die Sektoradreßinformation im Register 221 gespeichert werden. Das positive Signal auf einer Leitung 293 in
Fig. 16 betätigt die UND-Glieder 263 bis 268 und speichert dadurch die Verbindungsinformation im Register 212 und die Sektoradreßinformation
im Register 222. Ein positives Signal auf einer Leitung 294 in Fig. 17 betätigt die UND-Glieder 269 bis
274 und speichert dadurch die Verbindungsinformation im Regi-
κι 970 003 209882/1040
— JL D ""
gister 213 und die Sektoradreßinformation im Register 223.
Die Register 210 bis 213 in den Fign. 14 bis 17 sind mit entsprechenden
Decodierern 300 bis 303 verbunden. Jeder Decodierer reagiert auf Eingangsbits und wählt eine von 16 Ausgabeleitungen aus.
Die gewählte Ausgabeleitung erhält ein positives Signal. Das Verbindungsregister 210 in Fig. 14 speichert das vier binäre
Bits darstellende Signal und solche binäre Bits darstellenden Signale werden über die Leitungen 310 bis 313 an den Eingang
des Decodierers 300 übertragen. Der Decodierer reagiert auf die Signale auf den Eingangsleitungen 310 bis 313 und wählt eine von
seinen Ausgangsleitungen aus. Im Interesse der vereinfachten Darstellung sind nur die Ausgangsleitungen 316 bis 319 gezeigt,
die der Auswahl der entsprechenden zugehörigen Assoziativregister AR-O, AR-I, AR-2 und AR-15 dienen. Diese Leitungen sind mit
den UND-Gliedern 320 bis 323 verbunden, die wiederum an das ODER-Glied
324 angeschlossen sind, dessen Ausgang mit einem UND-Glied 325 verbunden ist.
Signale vom Sektoradreßregister 220 in Fig. 14 werden auf die Leitungen 326 und 327 und an die Vergleichereinheit 340 weitergegeben.
Die Sektoradreßregister 221 bis 223 in den Fign. 15 bis 17 sind in gleicher Weise an entsprechende Vergleicherschaltungen
341 bis 343 angeschlossen, von denen jede zwei Eingänge hat. Ein Eingang nimmt die Signale auf den Leitungen 280 und 281
von den Bits 20 und 21 des Adreßsteuerwörtes im Register 125 der Fig. 10 auf, der zweite zwei Informationsbits aus den zugehörigen
Sektoradreßregistern 220 bis 223. Wenn die auf beide Eingänge einer der Vergleicherschaltungen 340 bis 343 gelieferte Information
identisch ist, liefert diese Vergleicherschaltung ein positives Ausgangssignal auf die entsprechende der Ausgangsleitungen
350 bis 353 und an das zugehörige UND-Glied 360 bis 363. Eines dieser UND-Glieder 360 bis 363 liefert dann ein positives Ausgangssignal
auf eine der Leitungen 370 bis 373, sobald die durch
das Datensteuerwort im Register 125 der Fig. 10 vorgeschriebene
Information im Pufferspeicher 12 der Fig. 23 enthalten ist. Wenn
κι 970 003 2 09882/1040
die Leitung 370 mit einem positiven Signal erregt ist, heißt
das, daß die gewünschte Adresse im Rahmen 0 des Pufferspeichers 12 steht. In gleicher Weise geben positive Signale auf den Leitungen
371 bis 373 an, daß die gewünschte Adresse in dem entsprechenden Rahmen 1, 2 oder 15 des Pufferspeichers 12 steht.
Ausgangssignale vom Verbindungsregister 211 in Fig. 15 werden über
die Leitungen 401 bis 404 an den Eingang des Decodierers 301 übertragen. Ausgangssignale vom Decodierer 301 werden auf den Ausgangsleitungen
405 bis 408 an entsprechende UND-Glieder 409 bis 412 geleitet. Ausgangssignale von den UND-Gliedern 409 bis
werden über ein ODER-Glied 413 an das UND-Glied 361 geleitet. Signale vom Sektoradreßregister 221 in Fig. 15 werden auf* den
Leitungen 414 und 415 der Vergleichereinheit 341 zugeführt.
Ausgangssignale vom Verbindungsregister 212 in Fig. 16 werden auf den Leitungen 430 bis 433 an den Decodierer 302 geleitet, dessen
Ausgangsleitungen 433 bis 437 zu entsprechenden UND-Gliedern bis 444 führen, deren Ausgangssignale über ein ODER-Glied 445
einem UND-Glied 362 zugeleitet werden. Signale vom Sektoradreß-
register 222 in Fig. 16 werden über die Leitungen 446 und 447 der Vergleicherschaltung 342 zugeführt.
Das Verbindungsregister 213 in Fig. 17 überträgt Signale über die Leitungen 461 bis 464 an den Decodierer 303,der Ausgangssignale
über die Ausgangsleitungen 465 bis 468 an die zugehörigen UND-Glieder 471 bis 474 liefert. Die UND-Glieder 471 bis 474 sind
über ein ODER-Glied 475 mit dem UND-Glied 363 verbunden. Ausgangssignale vom Sektoradreßregister 223 in Fig. 17 werden über die
Leitungen 476 und 477 der Vergleicherschaltung 343 zugeführt.
Signale von den UND-Gliedern 360 bis 363 in den Fign. 14 bis werden über die Ausgangsleitungen 370 bis 373 einem Codierer
in Fig. 18 zugeführt. Nur eine der Eingangsleitungen 370 bis führt zu einem gegebenen Zeitpunkt ein positives Signal. Wenn
κι 970 003 20 9882/10A0
eine dieser Eingangsleitungen 370 bis 373 ein positives Signal
führt, liefert der Codierer vier Ausgangssignale, die in binärer Form einen ausgewählten der Rahmen O bis 15 des Pufferspeichers
angeben, und diese Signale werden über ein Kabel 5Ol einem Pufferadreßregister (BAR)502 zugeführt. DDie vier Bits auf dem Kabel
501 werden auch über ein ODER-Glied 503 einem Duplikatpufferadreßregister (DBAR) 504 in Fig. 20 zugeleitet.
Signale auf den Leitungen 370 bis 373 in Fig. 18 werden auch an ein ODER-Glied 510 geleitet. Wenn eine dieser Ausgangsleitungen
ein positives Signal an das ODER-Glied 510 anlegt, liefert dieses wiederum ein positives Ausgangssignal über eine Ausgangsleitung
511 an einen Inverter 512. Die in Fig. 18 gezeigte Leitung 511 ist mit den UND-Gliedern 516 und 519 in Fig. 20 verbunden,
welche wiederum die entsprechenden Gruppen von Toren 513 und
514 ansteuern. Wenn das in Fig. 20 gezeigte UND-Glied 516 durch das positive Signal auf der Leitung 511 betätigt wird, wird auch
eine Gruppe von Toren 513 betätigt. Ein positives Signal auf der Leitung 511 wird im Inverter 512 in ein negatives Ausgangssignal
invertiert und auf eine zum UND-Glied 524 führende Leitung 517 gegeben. Dieses UND-Glied liefert ein negatives Signal weiter
an das ODER-Glied 518, welches negative Signale auf beiden Eingängen empfängt und ein negatives Signal auf die Ausgangsleitung
174 liefert, die die Tore Torsatz 514 in Fig. 20 und die Tore
515 in Fig. 22 abschaltet. Ein negatives Signal auf der Leitung 124 wird auch dem ODER-Glied 175 in Fig. 10 zugeführt und veranlaßt
bei Abrufoperationen dieses ODER-Glied 175 zur Abgabe eines negativen Ausgangssignales, welches die UND-Glieder 170
bis 173 in den Fig. 10 bis 13 abschaltet. Dadurch wird die Übertragung des echten Adreßteiles eines der Assoziativregister
in den Hauptspeicher gesperrt, weil die angeforderte Information im Pufferspeicher steht. Alle die Leitungen 370 bis 373 in
Fig. 18 werden mit negativen Signalen erregt. Ein negatives Ausgangssignal wird vom ODER-Glied 510 über die Leitung 511
geleitet und dadurch das UND-Glied 516 in Fig. 20 und die Tore 513 abgeschaltfit. Das negative Signal auf der Leitung 511
κι -»/ο O)J 209882/1040
wird durch den Inverter 512 zu einem positiven Signal auf der Leitung 517 invertiert. Dieses positive Signal auf der Leitung
517 wird das UND-Glied 524 in Fig. 20 bei einer Abrufoperation durch das ODER-Glied 518 auf die Leitung 174 weitergeleitet und
betätigt die Tore 514 in Fig. 20, die Tore 515 in Fig. 22 und die Tore 824 in Fig. 24 und bereitet die UND-Glieder 170 bis
173 in den Fign. 10 bis 13 vor. Außerdem wirkt das positive Signal auf der Leitung 517 auf die Aktivitätsliste 521 und liefert
dadurch ein positives Signal nur an eine der Ausgangsleitungen 291 bis 294, wodurch eine der UND-Gliedergruppen 251 bis 256,
257 bis 262, 263 bis 268 oder 269 bis 274 betätigt wird und eine Austauschoperation in einem gewählten Sektoradreßregister einleitet.
Dadurch wird die Verbindungsinformation vom Codierer 180 in Fig. 12 in das gewählte der Register 210 bis 213 in den
Fign. 14 bis 17 eingespeichert und der Inhalt der Bits 20 und des adressierten Steuerwortes im Register 125 der Fig. 10 in
das zugehörige der Sektoradreßregister 220 bis 223 in den Fign. 14 bis 17 eingespeichert. Die Aktivitätsliste 521 wählt das
Sektoradreßregister aus, das die längste Zeit nicht benutzt wurde. Die Aktivitätsliste steuert die Austauschfunktion und
veranlaßt die Wahl des Verbindungsregisters und der zugehörigen Sektoradresse, die die älteste unbenutzte im Pufferspeicher 12
festgehaltene Information angibt. Sobald die Aktivitätsliste eine ihrer Ausgangsleitungen auswählt, wird diese Leitung mit einem
positiven Signal erregt und die Verbindungsinformation sowie
die Sektoradreßinformation in die entsprechenden Verbindungsbzw. Sektoradreßregister eingespeichert. Das positive Signal auf
der gewählten Ausgangsleitung von der Aktivitätsliste 521 wird
auch einem Codierer 522 zugeführt, der vier binäre Bits erzeugt, welche den für den Empfang der neuen Information aus dem Hauptspeicher
aus den 16 Rahmen im Pufferspeicher ausgewählten Rahmen angeben. Vier Signale werden vom Codierer 522 auf ein Kabel
523 an die ODER-Glieder 503 in Fig. 20 übertragen.
Die Aktivitätslisto in Fig. 18 empfängt Signale auf der Leitung
370 bis 37), die ihr bei Ausführung einer Abrufoperation die
κι j>7o no·, 2 09882/1040
Bezeichnung des benutzten Sektoradreßregisters mitteilen. Die Leitungen 511 und 517 sind an die Aktivitätsliste 521 angeschlossen.
Ein positives Signal auf der Leitung 511 veranlaßt die Fortschreibung der Aktivitätsliste während einer Abrufoperation, wenn
die angeforderte Information im Pufferspeicher steht. Ein positives Signal auf der Leitung 517 veranlaßt die Aktivitätsliste
zur Ausführung einer Austauschoperation und dann liefert sie
ein positives Signal auf diejenige der Ausgangsleitungen 291 bis 294, die die angeforderte neue Information betreffende Information
aus dem Register 125 in Fig. 10 in das gewählte Sektoradreßregister und das zugehörige Verbindungsregister einspeichert.
Die Aktivitätsliste 521 empfängt ein positives Signal auf der Leitung 533 von der Blockgültigkeitsmatrix in Fig. 21, die später
genauer beschrieben wird, sobald die angesteuerte Adresse im Pufferspeicher eine gültige Information enthält. Die Aktivitätsliste
empfängt ein positives Signal auf der Leitung 792 von der CPU während Abrufoperationen, die später genauer beschrieben werden.
In ihrer einfachsten Form kann die Aktivitätsliste ein Kellerspeicher sein, der aus einer Matrix bistabiler Elemente oder
Stufen besteht, die jedesmal zurückgestellt wird, wenn ein Sektoradreßvergleich während einer Abrufoperation erfolgt, während
die adressierte Adresse im Pufferspeicher die gültige Information enthält. Der Kellerspeicher der Aktivitätsliste speichert oben
die Bezeichnung des Sektoradreßregisters, das während einer Abrufoperation zur Adressierung einer Adresse im Pufferspeicher benutzt
wird, die die gültige Information enthält. Jedesmal wenn die Bezeichnung eines Sektoradreßregisters oben in dem Kellerspeicher
gespeichert wird, werden die übrigen Register im Speicher um eine Stelle nach unten verschoben. Die Bezeichnung eines
Sektoradreßregisters kann in nur einem Register des Kellerspeichers erscheinen. Wenn ein gegebenes Sektoradreßregister ein
zweites Mal adressiert wird, wird seine Bezeichnung aus der Reihenfolge innerhalb des Kellerspeichers herausgenommen und
wieder oben in den Stapel gesetzt. Dementsprechend gibt die unten im Kellerspeicher stehende Sektorbezeichnung das Sektoradreßregister
an, welches am wenigsten benutzt wird und wird
κι 970 003 209882/1040
daher zur Neuzuordnung ausgewählt, wenn eine Austauschoperation aufgrund eines positiven Signales auf der Leitung 517 erfolgt. Die
Aktivitätsliste 521 enthält einen Codierer, der auf die Signale auf den Leitungen 370 bis 373 anspricht und die Bezeichnung des
oben im Kellerspeicher benutzten Sektoradreßregisters liefert, sobald die Leitungen 511, 533 und 792 mit positiven Signalen erregt
werden. Die Aktivitätsliste enthält ferner einen an das unterste Register des Speichers angeschlossenen Decodierer, der
durch ein positives Signal auf der Leitung 517 betätigt wird und ein positives Signal auf einer der an ihn angeschlossenen 16 Ausr
gangsleitungen liefert und dadurch eine Austauschoperation vornimmt. Die Austauschoperation erfolgt, sobald positive Signale
auf den Leitungen 517 und 792 und auf einer der Leitungen 370 bis 373 erscheinen. Schaltungen, die die Funktion der Aktivitätsliste 521 übernehmen können, sind hinreichend bekannt und werden
daher nicht näher beschrieben.
In einigen Fällen liefert das in Fig. 18 gezeigte Pufferadreßregister,
in anderen Fällen das Duplikatadreßregister 504 in Fig. 20 Adreßsignale an den in Fig» 23 gezeigten Pufferspeicher
12. Die Bits 22 bis 27 eines Adreßsteuerwortes werden vom Adreßsteuerregxster 125' in Fig. 10 über ein Kabel 530 an die Register
502 und 504 geliefert. Signale auf dem Kabel 530 werden über eine Gruppe von Toren 531 und 532 in Fig. 18 an das Register
geleitet. Die Tore 531 und 532 werden durch positive Signale auf einer Leitung 533 betätigt. Signale auf dem Kabel 530 werden
auch über die Tore 541 und 542 an das Register 504 geleitet. Die Tore 541 und 542 werden durch positive Signale auf einer
Leitung 543. betätigt. Das Register 502 in Fig. 18 hält 10 Bits. Die Bits 1 und 2 werden für die Viererwortwahl, die Bits 3 bis
6 für die Blockauswahl und die Bits 7 bis 10 für die Rahmenauswahl
benutzt. Die Bits 22 bis 27 eines Adreßsteuerwortes im Register 125 in Fig. 10 werden über das Kabel 530 und die Tore
531 und 532 in Fig. 18 auf die Bitpositionen 1 bis 6 des Registers 502 übertragen. Der Codierer 500 in Fig. 18 liefert vier
Bits auf das Kabel 501, die in den Bitpositionen 7 bis 10 des
κι 970 003 209882/1040
Registers 502 gespeichert werden. Das Register 504 in Fig. 20 hat dasselbe Format wie das Register 502 in Fig. 18. Das Register
504 in Fig. 20 hat jedoch einen Zähler 550, mit welchem die Viererwortbits
für eine Speicheroperation erhöht werden. Die Viererwortbits im Register 504 werden über ein Kabel 551 dem Zähler
zugeführt, dort gespeichert und jedesmal um den Wert 1 erhöht,
wenn im Pufferspeicher eine Speicheroperation.erfolgt. Der erhöhte
Wert des Zählers 550 wird über ODER-Glieder 552 in die Bitpösitionen 1 und 2 des Registers 504 geleitet. Als nächstes wird
die Operation des Zählers 550 während einer Speicheroperation im Pufferspeicher 12 beschrieben.
Wenn Information vom Hauptspeicher in den Pufferspeicher 12 übertragen
wird, erfolgt diese Übertragung blockweise. Wie in Fig. gezeigt ist, enthält ein Block die Viererwörter 1 bis 4. Wenn
das Viererwort 1 (Wl) dem Pufferspeicher zugeführt wird, werden die Einzelwörter Wl, W2, W3, W4 in der angegebenen Reihenfolge
zugeführt und gespeichert. Das Wort W3 wird jedoch erst zugeführt, wenn es durch das Adreßsteuerwort im Register 125 der
Fig. 10 ausgewählt wird und anschließend werden die Wörter W4, Wl und W2 zugeführt. Demzufolge müssen die Wörter in dieser Reihenfolge
im Pufferspeicher 12 gespeichert werden und der Zähler 550 in Fig. 20 hat die Aufgabe, die an irgendeinem Punkt in der
Reihenfolge der Viererwörter Wl bis W4 beginnende Ordnung aufrechtzuerhalten. Die nachfolgende Tabelle 2 zeigt die binäre Einstellung
des Zählers 550 für jedes Viererwort in einem Block.
| Tabelle 2 | Binärer Wert | |
| Viererwort | 00 | |
| 1 | 01 | |
| 2 | 10 | |
| 3 | 11 | |
| 4 | ||
κι 970 003 . 209882/1040
Wenn im Pufferspeicher 12 eine Schreiboperation, beginnend mit dem Viererwort 3, vorgenommen werden soll, wird der Zähler
auf den Binärwert 10 eingestellt und dieser Wert in die Bitpositionen 1 und 2 des Registers 504 für die erste Speicheroperation
im Puffer 12 übertragen. Für die nächste Speicheroperation im Puffer 12 wird der Inhalt des Zählers 5.50 um den Binärwert 1 auf
11 zur Speicherung des Wortes W4 erhöht. Wenn der Zähler 550 wieder erhöht wird, läuft er über und kehrt auf den Wert 00 zum
Speichern des Viererwortes Wl zurück. Der Zähler 550 wird als nächstes auf den Wert 01 zum Speichern des Wortes W2 erhöht.
Somit kann der Zähler 550 mit irgendeinem der Viererwörter Wl bis W4 loslaufengelassen und jedes der Viererwörter Wl bis
W4 mit der zugehörigen Pufferspeicheradresse gespeichert werden.
Die Adreßinformation für den Pufferspeicher 12 wird vom Register
502 in Fig. 18 für eine Leseoperation vom Pufferspeicher über die Tore 513 an die ODER-Glieder 561 übertragen. Die die Bits
1 bis 10 des Registers 502 und 504 darstellende Pufferspeicher-Adreßinformation
wird von den ODER-Gliedern 561 über ein Kabel 562 an den in Fig. 23 gezeigten Pufferspeicher 12 übertragen.
Die Bits 1 und 2 werden an einen Viererwortdecodierer 571 und die Bits 3 bis 6 an einen Blockdecodierer 572 übertragen. Die
Bits 7 bis 10 werden nach einem Rahmendecodierer 573 übertragen. Der Rahmendecodierer 573 wählt einen der 16 Rahmen, die in
Fig. 7 gezeigt sind, aus. Der Blockdecodierer 572 wählt einen der in Fig. 7 gezeigten 16 Blocks des gewählten Rahmens aus
und der Viererwortdecodierer 571 wählt eines der Viererwörter bis 4 des gewählten Blocks aus. Ein ausgewähltes aus dem Pufferspeicher
12 in Fig. 23 abgerufenes Viererwort wird über ein Kabel 581 auf eine Gruppe von ODER-Gliedern 582 übertragen. Aus
dem Hauptspeicher 14 in Fig. 24 abgerufene Information wird über ein Kabel 583 an eine Gruppe von ODER-Gliedern 584 und
übertragen. Von den ODER-Gliedern 584 kommende Daten werden über ein Kabel 585 in den Pufferspeicher 12 geleitet. Die ODER-Glieder
584 können auch Datensignale von der CPU 10 über ein Kabel
KI970003 209882/1040
223Ί266
in Fig. 22 empfangen. Dieses Kabel dient als Ausgangs-Datensammelleitung
für die CPU. Von den ODER-Gliedern 582 in Fig. 23 kommende Daten werden über ein Kabel 587 an die CPU IO in Fig.
übertragen. Dieses Kabel dient als Eingangs-Datensammelleitung für die CPU 10.
Die als nächstes beschriebenen Fign. 19 und 21 zeigen eine
Blockgültigkeitsmatrix. Die Blockgültigkeitsmatrix gibt die Anwesenheit
oder das Fehlen gültiger Informationen in jedem der Blocks eines jeden Rahmens im Pufferspeicher 12 in Fig. 7 an.
Die Blockgültigkeitsmatrix enthält 15 Spalten, je eine für die 15 Blocks eines Rahmens im Pufferspeicher und 15 Zeilen, je eine
für die 15 Rahmen des in Fig. 7 gezeigten Pufferspeichers 12. Der Einfachheit halber sind nur zwei die Blocks 0 und 15 darstellenden
Spalten 601 und 602 gezeigt. Aus demselben Grunde sind die die entsprechenden Rahmen 0, 1, 2 und 15 darstellenden
Zeilen 370 bis 373 gezeigt. Die Blockgültigkeitsmatrix mehrere in Spalten und Zeilen darstellungsgemäß angeordnete bistabile
Elemente oder Kippstufen. Durch die Stufen 611 bis 614 wird der Zustand des Blocks 0 für die Rahmen 0 bis 15 angezeigt, und durch
die Stufen 621 bis 624 wird der Zustand des Blocks 15 in jedem
der Rahmen 0 bis 15 des in Fig. 7 gezeigten Pufferspeichers 12 angezeigt. Die Stufen 611 bis 614 werden durch ein positives
Signal auf einer Leitung 631 und die Stufen 621 bis 624 durch ein positives Signal auf einer Ruckste1leitung 632 zurückgestellt.
An die Einstelleingänge der Stufen 611 bis 614 sind UND-Glieder 641 bis 644 angeschlossen. Mit den Einstelleingängen der Stufen
621 bis 624 sind UND-Glieder 651 bis 654 verbunden. Die Rahmenauswahlleitungen 370 bis 373 sind mit UND-Gliedern 641 bis 644
und 651 bis 654 verbunden. Wenn eine Speicheroperation im Pufferspeicher stattfindet, wird ein positives Signal auf einer Leitung
671 an die UND-Glieder 641 bis 644 und die UND-Glieder 651 bis 654 übertragen. Wenn im Block 0 des Rahmens 0 des Pufferspeichers
12 eine Speicheroperation erfolgt, empfängt das UND-Glied 641 in
KI 970 003
209882/1(KO
2230268
Fig. 19 ein positives Signal auf den Leitungen 370 und 671. Demzufolge
liefert das UND-Glied 641 ein positives Ausgangssignal
und stellt damit die Stufen 611 auf 1 ein. Die Stufen 611 wiederum liefern danach an ihrem Einerausgang ein positives Ausgangssignal.
Dieses Signal zeigt an, daß Block O des Rahmens eine gültige Information enthält, die auf Anforderung abgerufen
werden kann.
Die Einerausgänge der Stufen 611 bis 614 sind mit den UND-Gliedern
681 bis 684 verbunden. Die Einerausgänge der Stufen 621 bis 624 sind mit den UND-Gliedern 691 bis 694 verbunden. Die Rahmenauswahlleitungen
370 bis 373 sind an UND-Glieder 681 bis 684 und 691 bis 694 angeschlossen. Die UND-Glieder 681 bis 684 und
691 bis 694 werden während einer Abrufoperation abgefragt/ um
festzustellen, ob ein ausgewählter Block eines bestimmten Rahmens im Pufferspeicher eine gültige Information enthält. Diese Abfrage
erfolgt durch ein positives Signal auf einer Pufferabrufleitung 631.
Wenn jetzt zur Darstellung angenommen wird, daß die Stufen in Fig. 19 während einer Pufferspeicheroperation auf 1 eingestellt
sind und anschließend eine Anforderung an Block 0 des Rahmens 0 im Pufferspeicher 12 abgegeben wird, so wird über die
Rahmenauswahlleitung 370 und über die Abrufleitung 672 ein positives Signal dem UND-Glied 681 zugeführt. Die Einerausgangsseite
der Stufen 611 führt ein positives Signal, welches dem UND-Glied 681 zugeleitet wird. Wenn der Block 0 ausgewählt
wird, wird ein positives Signal auf der Leitung 601 dem UND-Glied 681 zugeleitet. In diesem Fall spricht das UND-Glied
auf ein positives Signal an allen Eingängen an und liefert ein positives Ausgangssignal über die Leitung 701 an ein ODER-Glied
700. Das ODER-Glied 700 wiederum liefert ein positives Signal an seine Ausgangsleitung 533 und betätigt damit die Tore 531
und 532 in Fig. 18, wodurch die Block- und Viererwort-Auswahlinformation in das Register 502 eingespeichert wird. Das Register
502 wird dabei für eine Abrufoperation aus dem in Fig.
κι 970 003 2 0 9882/1040
223026a
gezeigten Puffer 12 benutzt.
Wenn die Stufe 611 in Fig. 19 während einer Abrufoperation
aus Block O des Rahmens O auf O steht, wird ein negatives Signal
vom Einerausgang dieser Stufe an das UND-Glied 681 geliefert. In diesem Fall liefert dann das UND-Glied 681 auch ein negatives
Signal über die Leitung 701 an das ODER-Glied 700 in Fig. 21. Das ODER-Glied 700 leitet dieses negative Signal dann über die
Leitung 533 weiter an den in Fig. 20 gezeigten Inverter 710. Der invertiert das negative Eingangs- zu einem positiven.Ausgangssignal
auf einer Leitung 543 und entsperrt damit die Tore 541 und 542, wodurch die Block- und Viererwortinformation in
das Register 504 eingespeichert wird. Aus der bisherigen Beschreibung ist bekannt, daß das Register 504 für eine Speicheroperation
in dem in Fig. 23· gezeigten Pufferspeicher 12 verwendet wird, wenn die angeforderte Information aus dem Hauptspeicher 14 in
Fig. 24 an die Fig. 22 gezeigte CPU IO übertragen wird.
Aus der obigen Darstellung der UND-Glieder 681 bis 684 ist zu ersehen, daß diese positive Signale an die entsprechenden Leitungen
701 bis 704 abgeben, wenn im Block 0 der ausgewählten Rahmen 1 bis 15 während Abrufoperationen eine gültige Information
enthalten ist. In gleicher Weise liefern die UND-Glieder 691 bis 694 positive Signale an die entsprechenden Leitungen 705
bis 708, wenn sie während Abrufoperationen abgefragt und gültige Informationen im Block 15 der ausgewählten Rahmen 0 bis 15 enthalten
sind.
Ein Decodierer 699 in Fig. 19 spricht auf die Blockauswahlsignale auf dem Kabel 530 an. Die Auswahlsignale enthalten die Bits
22 bis 25 eines im Register 125 in Fig. 10 gespeicherten Adreßsteuerwortes.
Der in Fig. 19 gezeigte Decodierer 699 reagiert auf die den Bits 22 bis 25 entsprechenden Signale und wählt eine
der 15 Spalten aus, die den Blocks 0 bis 15 des Pufferspeichers
entsprechen.
KX"70 <K1"' 2 0 98 B?/ 1040
Als nächstes wird die Operation der Blockgültigkeitsmatrix beschrieben,
wenn im Pufferspeicher einer Speicheroperation erfolgt. Zuerst werden alle bistabilen Stufen in der Blockgültigkeitsmatrix
durch positive Signale auf den Leitungen 631 und 632 zurückgestellt. Es wird angenommen, daß Information im Block O
des Rahmens 1 gespeichert ist. Die Bits 22 bis 25 des Adreßsteuerwortes auf dem Kabel 530 betätigen den Decodierer 699
und dieser gibt ein positives Signal auf die Leitung 601. Ein positives Signal wird der Leitung 371 zugeführt, wenn der
Rahmen 1 des Pufferspeichers ausgewählt wird. Dieses positive Signal wird an die UND-Glieder 642 und 652 weitergeleitet. Während
einer Pufferspeicheroperatiön wird ein positives Signal auf der Leitung 671 den UND-Gliedern 641 bis 644 und 651 bis
654 zugeführt. Das UND-Glied 642 ist offensichtlich das einzige, welches an allen seinen drei Eingängen positive EingangsSignaIe
empfängt und daher ein positives Ausgangssignal an den Einstell-Eingang der Stufe 612 leitet, wodurch diese Stufe eingestellt
wird. Danach liefert die Stufe 612 kontinuierlich ein positives Signal an das UND-Glied 682 und zeigt dadurch an, daß der Block
0 des Rahmens 1 gültige Information enthält. Auf diese Weise zeigen die bistabilen Stufen der Blockgültigkeitsmatrix an,
an welcher Stelle im Pufferspeicher 12 gültige Information gespeichert ist.
Anschließend wird im Zusammenhang mit Fig. 22 die Arbeitsweise
der CPU bei Abruf- und Speicheranforderungen beschrieben. Abruf- und Speicheranforderungen werden durch die CPU eingeleitet. Dabei
liefert die CPU 10 ein positives Signal an die CPU-Abrufleitung 792. Dieses positive Signal läuft über ein ODER-Glied
801 und betätigt eine Gruppe von Toren 802 zur übertragung der Adreßsteuerinformation von einem Kabel 803 über ein Kabel 804
auf eine Gruppe von Toren 805, eine Gruppe von Toren 515 und Adreßsteuerregister 125, Fig. 10. Wenn die angeforderte Information
in dem in Fig. 23 gezeigten Pufferspeicher 12 zur Verfügung steht, wird auf die Leitung 174 und an die in Fig. 22
gezeigten Tore 515 ein negatives Signal abgegeben, wodurch diese Tore cjaspem; «erden. In diesem Fall liefert der Pufferspeicher
209882/1040
KI 970 003
12 in Fig. 23 die angeforderte Information über das Kabel 581,
die ODER-Glieder 582, das Kabel 587 und eine Gruppe von Toren 810. Das positive Signal auf der Leitung 792 betätigt die Tore
810, die Information auf dem Kabel 587 über ein Kabel 811 an die CPU weiterleiten. Wenn von der CPU eine Abrufanforderung
eingeleitet und die angeforderte Information nicht im Pufferspeicher
12 zur Verfügung steht, liefert die in Fig. 22 gezeigte Leitung 174 ein positives Signal an die Tore 515. Die echten
Adreßbits 20 bis 31 des Adreßsteuerwortes werden vom Kabel 804 über die Tore 515 und eine Gruppe von ODER-Gliedern 815 an das
Hauptspeicheradreßregister -816 übertragen» Ein positives Signal
auf der Leitung 174 wird ebenfalls über das ODER-Glied 175 in Fig. 10 auf die Leitung 174a und an die UND-Glieder 170 bis
173 in den Fign. 10 bis 13 übertragen. Eine der Vergleicherschaltungen
120 bis 123 in den Fign. 10 bis 13 liefert ein positives Ausgangssignal, weil die virtuelle Adresse im Register 125 mit
der in einem der Register 100 bis 103 in Fign. 10 bis 13 gespeicherten virtuellen Adresse übereinstimmt. Demzufolge entsperrt
ein positives Signal auf einer der Leitungen 130 bis 133 eines der UND-Glieder 170 bis 173 in den Fign. IO bis 13 und die Tore
150 bis 153 lassen den echten Adreßteil von dem jeweils zugehörigen Register 100 bis 103 über die Kabel 160 bis 163 und die
ODER-Glieder 164 und über das Kabel 165 an die in Fig. 24 gezeigten
Tore 824-durch. Das positive Signal auf der Leitung
174 durchläuft das in Fig. 22 gezeigte ODER-Glied 823 und betätigt
die Tore 824 in Fig. 24, wodurch die echte Adreßinformation
vom Kabel 165 an das Hauptspeicheradreßregister 816 übertragen wird. Das Hauptspeicheradreßregister 816 in Fig. 24
enthält dann die echten Adreßinformationsbits 8 bis 31, mit denen die angeforderte Information aus dem Hauptspeicher 14
abgerufen wird. Wenn die angeforderte Information durch den Hauptspeicher 14 zur Verfügung steht, wird sie über das Kabel
583, die ODER-Glieder 582 in Fig. 23, das Kabel 587, die Tore 810 in Fig. 22 und das Kabel 511 an die CPU IO übertragen. Die
Information aus dem Hauptspeicher 14 wird ebenfalls über das Kabel 583 in Fig. 24, die ODER-Glieder 584 in Fig. 23 und das
KI 970 003
209882/1040
Kabel 585 an den Pufferspeicher 12 übertragen, wo sie an den
durch den Inhalt des Registers 504 in Fig. 20 bestimmten Stellen gespeichert wird.
Jedesmal wenn die in Fig. 22 gezeigte Zentraleinheit oder GPU 10 eine Speicheranforderung abgibt, gibt sie ein positives
Signal an eine Leitung 791 ab, welches das ODER-Glied 801
durchläuft und die Tore 802 betätigt, wodurch die Adreßinformation auf dem Kabel 803 über das Kabel 804 an die Tore 805,
die Tore 515 und das Steuerregister 125 in Fig. 10 übertragen wird. Das positive Signal auf der Leitung 791 in Fig. 22 betätigt
die Tore 805, so daß die echten Hauptspeicher-Adreßbits bis 31 direkt über die ODER-Glieder 815 an das Hauptspeicheradreßregister
816 übertragen werden. Das positive Signal auf der Leitung 791 betätigt außerdem die Tore 821 in Fig. 22, so
daß Datensignale auf einem Kabel 822 über Kabel 586 an den in Fig. 24 gezeigten Hauptspeicher 14 und über ODER-Glieder 584
in Fig. 23 an den Pufferspeicher 12 übertragen werden. Während einer CPU-Speicheroperation werden Daten von der CPU immer im
Hauptspeicher 14 in Fig. 22 gespeichert und können dann und nur dann im Pufferspeicher 12 in Fig. 23 gespeichert werden, wenn
die angegebene Adresse im Pufferspeicher gemäß der in den Fign. 19 und 21 gezeigten Blockgültigkeitsmatrix eine gültige Information
enthält. Somit werden Daten von der CPU im Pufferspeicher nur als Fortschreibeoperation der im Pufferspeicher enthaltenen
gültigen Daten gespeichert. Das positive Signal auf der Leitung 791 in Fig. 22 läuft durch das ODER-Glied 823 und
betätigt die Tore 824 in Fig. 24, wodurch die echten Adreßbits 8 bis 19 vom Kabel 165 in das Hauptspeicheradreßregxster 816
übertragen werden. Während einer CPU-Speicherung wird das positive Signal auf der Leitung 791 in Fig. 22 an das ODER-Glied
175 in Fig. 10 geleitet, um die echten Adreßbits aus dem ausgewählten
Register in den Assoziativspeicher zu übertragen. Es wird besonders hervorgehoben, daß bei einer Speicher- oder Abrufoperation
diese den Hauptspeicher gleichzeitig mit dem Pufferspeicher adressiert. Jede durch die CPU 10 in Fig. 22 einge-
Ki 970 003 209862/1QAQ
leitete Speicheroperation erfolgt im Hauptspeicher und gleichzeitig
im Pufferspeicher 12, wenn die angegebene Adresse im
Pufferspeicher eine gültige Information enthält. Jede durch die CPU 10 in Fig. 22 eingeleitete Abrufoperation adressiert den
Pufferspeicher 12 und gleichzeitig den Hauptspeicher 14. Die angeforderte Information wird unmittelbar aus dem Hochgeschwindigkeitspufferspeicher
12 entnommen, wenn sie dort zur Verfügung steht und der Hauptspeicher wird nicht adressiert, da die
echten Adreßbits 8 bis 19 nicht an das Hauptspeicheradreßregister 816 abgegeben werden. Andernfalls erhält man die angeforderte
Information nach einer etwas größeren Verzögerung aus dem relativ langsameren Hauptspeicher 14. Da der Hauptspeicher 14
gleichzeitig mit dem Pufferspeicher 12 adressiert wird, liefert der Hauptspeicher 14 die angeforderten Daten am Ende seines normalen
Zyklus und .es geht durch diesen Hauptspeicher 14 keine Zeit dadurch verloren, daß erfolglos versucht wurde, die angeforderten
Daten aus dem Pufferspeicher 12 zu erhalten. In diesem Zusammenhang werden anschließend die Vorgänge genauer beschrieben,
die in der in den Fign. 10 bis 24 gezeigten Anlage ablaufen, wenn eine Zentraleinheit eine Abruf- und Speicheranforderung
einleitet.
Zuerst wird eine Abrufoperation beschrieben. Sobald die in
Fig. 22 gezeigte Zentraleinheit 10 einen CPU-Abruf einleitet, liefert sie ein positives Signal an die Leitung 792, welches
das ODER-Glied 801 durchläuft und die Tore 802 betätigt, wodurch die Adreßsteuerinformation von der CPU 10 über das Kabel 803,
die Tore 802 und das Kabel 804 an das Adreßsteuerregister 125 in Fig. 10 übertragen wird. Die Bits 0 bis 31 des Adreßsteuerwortes
werden im Register 125 gespeichert. Die virtuellen Adreßbits 8 bis 19 des Adreßsteuerwortes im Register 125 werden auf
dem Kabel 126 an die Vergleichereinheiten 120 bis 123 in Fig. bis 13 übertragen. Die virtuellen Adreßteile der Register 100
bis 1O3 in den Fign. IO bis 13, die den Assoziativspeicher 22
in Fig. 1 bilden, werden über die Kabel 110 bis 113 in den Fign. 10 bis 13 an die entsprechenden Vergleichereinheiten 120
KI 970 003
209882/1040
bis 123 übertragen. Wie bereits erwähnt, wird angenommen, daß alle in Adreßsteuerwörtern von der CPü IO an das Register 125
in Fig. 10 gelieferten virtuellen Adressen so übersetzt wurden, daß der entsprechende echte Hauptspeicheradreßteil neben dem
virtuellen Adreßteil in den Registern 100 bis 103 gespeichert ist.
Demzufolge stimmen die virtuellen Adreßbits 8 bis 19 des Registers 125 mit den virtuellen Adreßbits 8 bis 19 in einem der Assoziativregister
100 bis 103 überein. Daher liefert eine der Vergleicherschaltungen 100 bis 123 ein positives Signal an die zugehörige
Ausgangsleitung 130 bis 133 in den Fign. 10 bis 13.
Die Sektoradresse im Hauptspeicher wird in den Bits 20 und 21 des Adreßsteuerwortes im Register 125 in Fig. 10 gespeichert und
diese Bits werden mit den Hauptspeicher-Sektoradreßbits verglichen, die in den Sektoradreßregistern 220 bis 223 in den entsprechenden
Fign. 14 bis 17 gespeichert sind. Die Vergleichsoperation erfolgt in den Vergleicherschaltungen 340 bis 343 in
den Fign. 14 bis 17 und deren Ergebnis wird durch Signale auf den entsprechenden Ausgangsleitungen 350 bis 353 angezeigt. Ein
positives Ausgangssignal auf einer oder mehreren dieser Leitungen bedeutet, daß ein Sektorübereinstimmung gefunden wurde und ein
negatives Signal auf den übrigen Leitungen zeigt an, daß keine Sektorübereinstimmung vorliegt. Verschiedene Fälle sind möglich,
nämlich erstens durch die Vergleicherschaltungen 340 bis 343 wurde keine Sektorübereinstimmung festgestellt, zweitens durch
eine oder mehrere der Vergleicherschaltungen 340 bis 343 wurde eine Sektorübereinstimmung ermittelt. Der erste Fall bedeutet,
daß der gewünschte Sektor im Hauptspeicher 14 nicht im Pufferspeicher 12 zur Verfügung steht. Demzufolge muß der Hauptspeicher
adressiert, die angeforderten Daten an die CPU IO geliefert und im Pufferspeicher 12 gespeichert werden. Das angeforderte
Wort und die übrigen Wörter in demselben Block des Hauptspeichers werden an den Pufferspeicher 12 abgegeben und dort
gespeichert. Anschließend werden die aus dem Fall 1 resultierende Datenübertragungen beschrieben. Dieser Fall entsteht,
wenn ein neues Adreßsteuerwort übersetzt und in den Assoziativ-
Ki 970 OO3 209882/ 10A0
223026a
— Jl —
registern 1OO bis 103 in den Fign. 10 bis 13 gespeichert wurde,
die angeforderten Daten jedoch noch nicht vom Hauptspeicher in den Pufferspeicher übertragen wurden.
Im Fall 1 werden an alle Leitungen 350 bis 353 und über diese an die entsprechenden UND-Glieder 360 bis 363 in den Fign.
bis 17 negative Signale abgegeben. Daher liefert jedes dieser UND-Glieder ein negatives Ausgangssignal an die zugehörigen
Leitungen 370 bis 373 und das ODER-Glied 510 in Fig. 18, die Aktivitätsliste 521, den Codierer 500 und die Blockgültigkeitsmatrix
in den Fign. 19 und 21. Die negativen Signale auf den Leitungen 370 bis 373 in den Fign. 19 und 21 sperren jedes
der UND-Glieder 681 bis 684 und 691 bis 694, wodurch die zugehörigen Ausgangsleitungen 700 bis 704 und 705 und 708 negative
Signale an das ODER-Glied 700 in Fig. 21 liefern. Dieses ODER-Glied wiederum liefert ein negatives Signal an den Inverter
710 in Fig. 20, der dieses in ein positives Signal auf der Leitung 543 umwandelt und dadurch die Tore 541 und 542
zur Übertragung der Bits 22 bis 27 des Adreßsteuerwortes im Register 125 in Fig. 10 an das Duplikat-Pufferadreßregister
in Fig. 20 entsperrt. Das positive Signal auf der Leitung bereitet auch einen Eingang des UND-Gliedes 519 vor.
Die negativen Signale auf den Leitungen 370 bis 373 veranlassen das ODER-Glied 510 in Fig. 18 zur Abgabe eines negativen
Ausgangssignales an die Leitung 511. Das negative Ausgangssignal auf der Leitung 511 sperrt die UND-Glieder 516 und 519 in Fig.
20. Durch das Sperren des UND-Gliedes 516 werden die Tore gesperrt. Das negative Signal auf der Leitung 511 in Fig. 18
wird dem Inverter 512 zugeführt, der daraufhin ein positives Signal auf die Ausgangsleitung 517 zum UND-Glied 524 leitet,
welches durch ein positives Signal auf der Leitung 792 während eines CPU-Abrufes vorbereitet ist und ein positives Ausgangssignal
an das ODER-Glied 518 abgibt. Das positive Signal auf der Ausgangslei'■jpg 174 des ODER-Gliedes 518 betätigt die Tore
514 und das positive Signal auf der Leitung 174 die Tore 515
κι 970 003 209882/1040
in Fig. 22, wodurch die echten Hauptspeicheradreßbits 20 bis 31 des Adreßsteuerwortes vom Kabel 804 über die ODER-Glieder 815 in
Fig. 24 nach dem Hauptspeicheradreßregister 816 übertragen werden. Das positive Signal auf der Leitung 174 läuft auch durch das
ODER-Glied 823 in Fig. 22 und das positive Ausgangssignal dieses ODER-Gliedes betätigt die Tore 824 in Fig. 24, so daß die echten
Adreßbits 8 bis 19 aus dem gewählten Assoziativregister in den Fign. 10 bis 13 nach dem Hauptspeicheradreßregister 816 in Fig.
24 übertragen werden. Das positive Signal auf der Leitung 174 in Fig. 20 wird durch das ODER-Glied 175 in Fig. 10 so weitergeleitet,
daß die echten Adreßbits 8 bis 19 auf das Kabel 165 gelangen. Mit dem Inhalt des Hauptspeicheradreßregisters 816 wird
dann die ausgewählte Information aus dem Hauptspeicher 14 abgerufen.
Das positive Signal auf der Leitung 517 in Fig. 18 betätigt die Aktivitätenliste 521 für den Austausch oder die Neuzuordnung
von Daten, indem ein positives Ausgangssignal auf eine ausgewählte der 16 Ausgangsleitungen gegeben und dadurch eines
der Register ARL-O bis ARL-15 in den Fign. 15 bis 17 und das zugehörige Sektoradressenregister ausgewählt wird. Die Aktivitätenliste
521 wählt eines der Sektoradreßregister aus, die am längsten nicht für die Adressierung des Puffers benutzt wurde, d.h.,
es wird die Kombination aus Sektor und Verbindungsregister ausgewählt, deren Bezeichnung unten im früher beschriebenen Kellerspeicher
liegt. Zur Darstellung wurde angenommen, daß die Aktivitätenliste 521 die Register ARL-O und SECAR-O auswählt. Dann
liefert die Aktivitätenliste 521 ein positives Signal auf die Ausgangsleitung 291 und bereitet dadurch die UND-Glieder 251 bis
256 vor. Weiter wird zur Darstellung angenommen, daß die virtuelle Adresse in den Bits 8 bis 19 des Registers 125 in Fig. 10
mit dem virtuellen Adreßteil des Registers 101 in Fig. 11 übereinstimmt. Die Vergleicherschaltung 121 liefert daher ein positives
Signal an ihre Ausgangsleitung 131, welches an den Decodierer 180 in Fig. 12 angelegt wird, der seinerseits wieder eine
Kombination binärer Signale (0001) an seine Ausgangsleitungen
κι 970 003 209882/1040
bis 184 abgibt, die das Register 101 in Pig. Il kennzeichnen. Diese
Signale werden durch die UND-Glieder 251 bis 254 in Fig. 14 weitergeleitet und im Verbindungsregister 210 (ARL-O) gespeichert.
Die im Register 210 gespeicherten Signale werden dann auf den Leitungen 310 bis 313 an den Decodierer 300 übertragen, der dann
zur Auswahl einer seiner 16 Ausgangsleitungen betätigt wird. Die
ausgewählte Ausgangsleitung wird mit einem positiven Signal erregt und kennzeichnet das Register 101 in Fig. 11. Die ausgewählte
Leitung ist die Leitung 317 in Fig. 14 und diese kennzeichnet das Register 101 in Fig. 11. Sie wird mit einem positiven Signal erregt.
Dadurch wird klar gezeigt, wie das Verbindungsregister (ARL-O) das Sektoradreßregister 220 (SECAR-O) mit dem Assoziativregister
101 (AR-I) verbindet. Da unter den angenommenen Bedingungen die Leitung 131 mit einem positiven Signal erregt wird,
folgt daraus, daß das UND-Glied 321 in Fig. 14 positive Signale auf beiden Eingangsleitungen 317 und 131 empfängt. Das UND-Glied
321 liefert dann also ein positives Ausgangssignal an das ODER-Glied 324 und dieses wiederum ein positives Ausgangssignal an
das UND-Glied 360. Die Sektoradreßbits 20 und 21 im Register
der Fig. 10 werden über die Leitungen 280 und 281 und entsprechende
UND-Glieder 256 und 255 an das Sektoradreßregister 220 geleitet. Die so in diesem Register gespeicherten Sektoradreßbits
werden dann auf den Leitungen 326 und 327 der Vergleicherschaltung 340 zugeführt. Dieselben Bits werden auf den Leitungen
280 und 281 der Vergleicherschaltung 340 zugeleitet. Ein Vergleich
muß erzielt werden und die Vergleicherschaltung 340 liefert ein positives Signal über ihre Ausgangsleitung 350 an das UND-Glied
360. Da das UND-Glied 360 positive Signale an beiden Eingängen empfängt, liefert es ein positives Ausgangssignal über die Ausgangsleitung
370 an den Codierer 500 in Fig. 18. Der Decodierer
500 in Fig. 18 reagiert auf das positive Signal auf der Leitung 370, welches zum Rahmen 0 des Pufferspeichers 12 gehört, und
liefert einen Ausgangscode (0000), der den Rahmen 0 des Pufferspeichers 12 bezeiphnet. Dieser binäre Code wird auf dem Kabel
501 dem Rahmenteil der Register 502 und 504 in Fig. 20 zugeführt. Die Rahmenauswahlsignale auf dem Kabel 501 in Fig. 18 werden
κι 970 003 2 0 9 8 8 2 / 10 A 0
durch eine Gruppe von ODER-Gliedern 503 in Fig. 20 dem Rahmenteil des Duplikatpufferadreßregisters 504 zugeleitet. Die Blockauswahlbits
22 bis 25 werden über das Kabel 530 an die Tore 542 übertragen und das positive Signal auf der Leitung 543 betätigt
diese Tore zur Übertragung dieser Bits an den Blockauswahlteil des Registers 504. Die Viererwort-Wahlbits 26 und 27 werden
auf dem Kabel 530 dem Torsatz 541 in Fig. 20 zugeführt, und das positive Signal auf der Leitung 543 betätigt diese Tore zur
Übertragung der Viererwort-Wahlbits durch das ODER-Glied 552 zum Register 504.
Das positive Signal auf der Leitung 370 in Fig. 18 wird nicht nur zur Pufferrahmenauswahl an den Codierer 500, sondern auch an
das ODER-Glied 510 angelegt. Demzufolge ändert sich das Ausgangssignal des ODER-Gliedes 510 von einem negativen auf einem
positiven Signalpegel und dieses positive Signal wird den UND-Gliedern 516 und 519 in Fig. 20 zugeführt. Der Signalpegel auf
der Leitung 533 vom ODER-Glied 700 in Fig. 21 ist bekanntlich ein negatives Signal und dieses Signal sperrt das UND-Glied
in Fig. 20/ wodurch eine Betätigung der UND-Glieder 513 so lange verhindert wird, wie Speicheroperationen im Pufferspeicher
ablaufen. Ein positives Signal wird an die Puffersteuerleitung 671 in Fig. 19 erst gegeben, wenn die Operationen im Pufferspeicher
abgeschlossen sind. Das positive Signal auf der Leitung 511 in Fig. 18 betätigt den Inverter 512 zur Abgabe eines negativen
Signales auf seiner Ausgangsleitung 517 und an das UND-Glied
524, welches wiederum ein negatives Signal an das ODER-Glied 518 in Fig. 20 liefert. Das UND-Glied 519 in Fig. 20 empfängt
jedoch ein positives Signal auf der Leitung 543 und ein positives Signal auf der Leitung 729 und liefert dadurch ein positives
Ausgangssignal an die ODER-Glieder 518, während gleichzeitig das Signal auf der Leitung 511 von negativ auf positiv wechselt.
Demzufolge ist das Ausgangssignal vom ODER-Glied 518 auf der Leitung 174 weiter ein positives Signal.
Ein positives Signal auf der Leitung 174 wird durch das ODER-
Ki 970 003 2 0 9 8 8 2 / 1 0 A 0
Glied 175 in Fig. 10 auf der Leitung 174a an die UND-Glieder 170 bis 173 in den entsprechenden Fign. 10 bis 13 weitergeleitet.
Das UND-Glied 171 in Fig. 11 wird durch ein positives Signal von der Vergleicherschaltung 121 entsperrt und liefert ein
positives Ausgangssignal an die Tore 151, wodurch der echte Adreßteil aus dem Assoziativregister 101 (AR-I) über die zugehörigen
Kabel 161 an die ODER-Glieder 164 übertragen wird. Von den ODER-Gliedern 164 kommende Signale werden über das Kabel 165
an die Tore 824 in Fig. 24 geleitet. Das positive Signal auf der Leitung 174 läuft auch über das ODER-Glied 823 und betätigt
die Tore 824 in Fig. 20, wodurch die echten Adreßbits 8 bis 19 in das Hauptspeicherregister 816 übertragen werden. Das
positive Signal auf der Leitung 174 wird an die Tore 514 in Fig. 20 angelegt und bewirkt die Übertragung des Inhaltes des Duplikatpufferadreßregisters
504 über das Kabel 562 an die Pufferspeicherdecodierer 571 bis 573 in Fig. 23, die entsprechend die
Viererwortauswahl, die Blockauswahl und die Rahmenauswahl im Pufferspeicher 12 übernehmen. Wenn das ausgewählte Viererwort aus
dem Hauptspeicher 14 in Fig. 24 an das Kabel 583 abgegeben wird, wird es durch die ODER-Glieder 582 in Fig. 23 über das Kabel 587
und durch die Tore 810 in Fig. 24 auf das Kabel 811 und an die CPU 10 übertragen. Das CPU-Abrufsignal auf der Leitung 792 ist
zu diesem Zeitpunkt positiv und entsperrt die Tore 810 vor. Das aus dem Hauptspeicher 14 in Fig. 24 ausgewählte Viererwort wird
außerdem auf dem Kabel 583 durch die ODER-Glieder 584 in Fig. 23 an den Pufferspeicher 12 übertragen, wo es an der durch das Duplikatpufferadreßregister
504 in Fig. 20 angegebenen Adresse gespeichert wird. Der Zähler 550 in Fig. 20 wird um den Wert 1
erhöht. Das nächste Viererwort wird aus dem Hauptspeicher 14 in Fig. 24 gelesen und im Pufferspeicher 12 in Fig. 23 an der durch
das Duplikatpufferadreßregister 504 angegebenen Adresse gespeichert.
Dieser Vorgang wird wiederholt, bis alle Viererwörter des ausgewählten Blocks im Hauptspeicher 14 an den Pufferspeicher 12
übertragen und dort gespeichert worden sind. Jedesmal wenn ein Viererwort im Pufferspeicher 12 gespeichert worden ist, wird
der Zähler 550 in Fig. 20 vorgeschaltet und dadurch sichergestellt,
κι 970 003 209882/ 10A0
daß die Viererwörter eines Blocks in der richtigen Reihenfolge ungeachtet dessen gespeichert werden, welches Viererwort während
der übertragung eines Blocks aus dem Hauptspeicher 14 in Fig. 24 an den Pufferspeicher 12 in Fig. 23 zuerst übertragen wird. Wenn
ein Datenblock, wie er in Fig. 6 gezeigt ist, an den Pufferspeicher 12 übertragen und dort gespeichert worden ist, wird die
Leitung 671 in den Fign. 19 und 21 mit einem positiven Signal erregt und dadurch eine entsprechende bistabile Stufe in der
Blockgültigkeitsmatrix eingestellt. In diesem Fall bereitet das positive Signal auf der Leitung 370 einen Eingang UND-Glieder
641 und 651 in Fig. 19 vor. Das positive Signal auf der Pufferspeicherleitung 671 bereitet einen zweiten Eingang der UND-Glieder
641 und 651 vor. Wenn angenommen wird, daß die vorhergehende Speicheroperation im Block 0 des Rahmens O erfolgte, dann
liefert der Blockdecodierer 699 ein positives Signal über die Leitung 601 an das UND-Glied 641. Somit sind alle Eingänge des
UND-Gliedes 641 positiv und dieses liefert ein positives Ausgangssignal, welches die bistabile Stufe 611 auf 1 einstellt. Danach
bereitet die 1-Ausgangsseite dieser Stufe 611 einen Eingang des UND-Gliedes 681 vor und die nachfolgenden Abrufoperationen zum
Block O des Rahmens 0 finden statt. Auf diese Weise erfolgt also eine Abrufoperation im Hauptspeicher, sobald die angeforderten
Daten nicht im Pufferspeicher zur Verfügung stehen und ein Datenblock wird vom Hauptspeicher in den Pufferspeicher
übertragen. Damit ist die Beschreibung des oben erwähnten Falles abgeschlossen.
Anschließend wird der oben erwähnte Fall 2 im einzelnen beschrieben.
In dem obengenannten Fall 2 stellen eine oder mehrere der Vergleicherschaltungen 340 bis 343 während einer Abrufoperation
eine Übereinstimmung fest. Es wird hervorgehoben, daß lediglich eine der Leitungen 130 bis 133 mit einem positiven Signal erregt
wird. Jede der Leitungen 130 bis 133 gehört zu einem der Register AR-O bis AR-15. Es ist wichtig, daß eine und nur eine
der Sektoradreßübereinstimmungen, die durch eine oder mehrere der Vergleicherschaltungen 340 bis 343 festgestellt wurde, durch
κι 970 003 2 09882/1040
das zugehörige Verbindungsregister 21O bis 213 nach einem der
Register AR-O bis AR-15 durchgeschaltet wird. Wenn das der Fall ist, heißt das, daß eine ausgewählte Sektoradresse zu einer ausgewählten
Seite gehört. Wenn die Sektoradressen und Seitenadressen nicht zueinander gehören, dann ergibt sich Fall 1 und die dort
beschriebenen Schritte laufen ab. Der Fall 2 tritt dann und nur dann auf, wenn ein Sektor und eine Seite zusammengehören und
diese Beziehung wird als nächste beschrieben.
Zur Darstellung des Falles 2 sei angenommen, daß die Vergleicherschaltung
120 in Fig. 10 eine Übereinstimmung zwischen den Bits 8 bis 19 des virtuellen Adreßteiles im Register 125 und des im
Assoziativregister 100 gespeicherten virtuellen Adreßteiles feststellt. Dann wird dadurch ein positives Signal auf der Ausgangsleitung
130 erzeugt. Es sei weiter angenommen, daß das Register 211 in Fig. 15 ein 4 Bit-Codewort (0000) speichert,
das auf das Assoziativregister 100 in Fig. 10 hinweist oder die Verbindung mit diesem herstellt, so werden die vier Bits im
Register 211 in Fig. 15 als Signale auf den Leitungen 401 bis 404 an den Decodierer 301 geleitet und dieser wählt eine seiner
16 Ausgangsleitungen aus. In diesem Fall wählt er die zum Assoziativregister 100 in Fig. 10 gehörende Ausgangsleitung aus.
Somit wird ein positives Signal auf die Leitung 405 gegeben und an das UND-Glied 409 geleitet. Das positive Signal auf der Leitung 130 wird ebenfalls an das UND-Glied 409 geleitet, welches
dann ein positives Ausgangssignal an das ODER-Glied 413 abgibt, das seinerseits wieder ein positives Signal an das UND-Glied
361 leitet.
Als nächstes wird angenommen, daß die Sektorbits 20 und 21 des Registers 125 in Fig. 10 mit den Sektorbits identisch sind, die
im Sektoradreßregister 221 (SECAR-I) in Fig. 15 gespeichert sind.
Die Vergleicherschaltung 341 stellt dann eine Übereinstimmung fest und liefert ein positives Signal auf ihre Ausgangsleitung
351 und an das UND-Glied 361. Da das UND-Glied 361 an beiden Eingängen positive Signale empfängt, liefert es ein positives
κι 970 003 2 0 9682/1040
Ausgangssignal über die Leitung 371 und zeigt damit an, daß der Rahmen 1 des Pufferspeichers 12 in Fig. 23 ausgewählt ist. Das positive
Signal auf der Leitung 371 in Fig. 15 wird dem Codierer 500 in Fig. 18 zugeleitet, der vier Informationsbits auf das
Kabel 501 liefert, welche den Rahmen 1 des Pufferspeichers 12 bezeichnen. Die vier Bits auf dem Kabel 501 werden dem Register
502 und über einen Satz von ODER-Gliedern dem Register 504 zugeleitet. Das positive Signal auf der Leitung 371 in Fig. 15
wird auch dem ODER-Glied 510 in Fig. 18 zugeführt. Das ODER-Glied 510 wiederum speist ein positives Ausgangssignal auf die
Leitung 511 und an die UND-Glieder 516 und 519 in Fig. 20. Das positive Signal auf der Leitung 511 wird auch dem Inverter 512
in der Fig. 18 zugeführt, der ein negatives Signal auf die Leitung 517 und an die Aktivitätsliste 521 gibt. Das negative
Signal auf der Leitung 521 verhindert die Einleitung einer Austauschoperation durch die Aktivitätsiiste 521 und wird auch dem
UND-Glied 524 in Fig. 20 zugeführt, welches wiederum ein negatives Signal an das ODER-Glied 518 abgibt.
Ferner sei angenommen, daß die angeforderte Information im Pufferspeicher
12 im Block 0 des Rahmens 1 steht. Daraus folgt dann, daß die Stufe 612 in Fig. 19 auf 1 eingestellt wurde, sobald
diese Information zu einem früheren Zeitpunkt in den Block 0 des Rahmens 1 im Pufferspeicher 12 eingespeichert wurde. Infolgedessen
liefert der Einerausgang der Stufe 612 ein positives Signal an das UND-Glied 682. Das positive Signal auf der
Leitung 371 vom UND-Glied 361 in Fig. 15 wird an das UND-Glied 682 in Fig. 19 geleitet. Da der Block 0 ausgewählt ist, werden
die Bits 22 bis 25 des Registers 195 in Fig. 10 auf dem Kabel 530 an den Decodierer 699 in Fig. 19 gegeben, der anzeigt, daß
der Block 0 ausgewählt ist, indem er ein positives Signal auf die vertikale Leitungen 601 leitet. Das positive Signal auf
den vertikalen Leitungen 601 wird dem UND-Glied 682 zugeführt. Während einer Abrufoperation wird auf die Leitung 672 ein positives
Signal gegeben, um zu prüfen und festzustellen, ob der gewählte Block gültige Information enthält. In diesem Fall wird
κι 970 003 209882/104 0
ein positives Signal auf der Leitung 672 durch das UND-Glied 682 auf die Leitung 702 und an das ODER-Glied 700 in Fig. 21
geleitet. Das ODER-Glied 700 liefert wiederum ein positives Signal auf seiner Ausgangsleitung 533 aan die Tore 531 und
532, die dadurch betätigt werden und die Bits 22 bis 27 des Registers 125 in Fig. 10 über das Kabel 530 an das Pufferadreßregister
502 übertragen. Das positive Signal auf der Leitung 533 wird dem UND-Glied 516 in Fig. 20 zugeführt, welches bekanntlich
auch auf der Leitung 511 ein positives Signal empfängt. Das UND-Glied 516 liefert daher ein positives Ausgangssignal
an die Tore 513 und der Inhalt des Pufferadreßregisters 502 wird durch eine Gruppe von ODER-Gliedern 561 über das Kabel 562 an
die Decodierer 571 bis 573 in Fig. 23 übertragen und dadurch die durch die Abrufoperation der Zentraleinheit angeforderte
Information erhalten. Wenn die angeforderte Information vom Pufferspeicher 12 in Fig. 23 empfangen wird, wird sie auf dem
Kabel 581 durch die ODER-Glieder 582 und über das Kabel 587 an die Tore 810 in Fig. 22 weitergeleitet. Ein positives CPU-Abrufsignal
auf der Leitung 792 betätigt die Tore 810 zur übertragung der Information auf dem Kabel 587 über das Kabel 811 an die
Zentraleinheit 10.
Das positive Signal auf der Leitung 533 in Fig. 21 wird auch
dem Inverter 710 in Fig. 20 zugeführt, der daraufhin ein negatives Signal auf die Leitung 543 speist, welches die Tore
und 542 sperrt. Das negative Signal auf der Leitung 543 sperrt auch das UND-rGlied 519. Demzufolge liegen an beiden Eingängen
des ODER-Gliedes 518 negative Signale und das ODER-Glied liefert wiederum ein negatives Ausgangssignal auf die Leitung 174 und
an die Tore 514 in Fig. 22, wodurch diese Tore gesperrt werden. Während einer Abrufoperation durch die CPU wird die Leitung
in Fig. 22 mit einem negativen Signal erregt und dadurch die Tore 805 gesperrt. Demzufolge können die Bits 20 bis 31 eines
Adreßsteuerwortes nicht von der CPU 10 an das Hauptspeicheradreßregister 816 in Fig. 24 über die Tore 805 übertragen werden. Das
negative Signal auf der Leitung 791 wird an das ODER-Glied
κι 970 003 209B82/1040
geleitet. Das negative Signal auf der Leitung 174 in Fig. 22
wird ebenfalls an das ODER-Glied 823 in Fig. 22 geleitet. Somit empfängt das ODER-Glied 823 negative Signale an beiden Eingängen
und liefert ein negatives Ausgangssignal/ welches die Tore 824 in Fig. 24 sperrt und damit die Übertragung der Bits 8 bis
19 eines Adreßsteuerwortes von der CPU IO an das Hauptspeicheradreßregister
816 verhindert. Sobald der Pufferspeicher 12 während Abrufoperation adressiert wird, kann daher keine Adreßsteuerinformation
an das Hauptspeicheradreßregister 816 in Fig. 24 geliefert werden und der Hauptspeicher 14 wird dadurch gesperrt
und kann die angeforderte Information nicht liefern/ sobald der Pufferspeicher 12 diese enthält. Auf diese Weise wird
der Hauptspeicher 12 an der Betätigung gehindert/ wenn die angeforderten
Daten leichter aus dem Pufferspeicher zu beschaffen sind.
Da der Pufferspeicher adressiert wird, muß die Aktivitätsliste 521 in Fig. 18 auf den neuesten Stand gebracht oder fortgeschrieben
werden. Die positiven Signale auf den Leitungen 371, 533 und 792 veranlassen die Aktivitätsliste/ die Bezeichnung der
Sektoradresse des Registers 221 oben in den Kellerspeicher zu setzen, weil sie für diesen Zugriff benutzt wurde.
In der obigen Beschreibung des Falles 2 wurde angenommen, daß Block O des Rahmens 1 gültige Information enthielt, was durch
die Einerstellung der Stufe 612 in Fig. 19 angezeigt wurde. Wenn jetzt zur Illustration das Gegenteil angenommen wird, nämlich
das Block O des Rahmens 1 keine gültige Information enthält, dann wird die Stufe 612 zurückgestellt und der Einerausgang dieser
Stufe 612 liefert ein negatives Signal an das UND-Glied 682. Die übrigen Annahmen für den Fall 2 sollen dieselben sein wie
oben. Demzufolge läuft das positive Signal auf der Leitung 371 in Fig. 15 durch das ODER-Glied 510 in Fig. 18 und wird an die
UND-Glieder 516 und 519 angelegt. Das positive Signal auf der Leitung 371 wird auch an den Codierer 500 geleitet, welcher
seinerseits die Kennzeichnung des Rahmens 1 des Pufferspeichers
κι 970 003 20 98 82/10A0
an die Register 5O2 und 5O4 über das Kabel 5O1 weitergibt. Das
positive Signal auf der Leitung 371 wird auch an das UND-Glied 682 in Fig. 19 angelegt. Die Blockauswahlbits 22 bis 25 des Registers
125 in Fig. 10 werden über das Kabel 530 an den Decodierer 699 in Fig. 19 geleitet, der den Block 0 auswählt, indem
er ein positives Signal auf die vertikale Ausgangsleitung 601 und an das UND-Glied 682 abgibt. Die Leitung 672 in Fig. 19 wird
mit einem positiven Signal für eine Pufferabrufoperation erregt
und dieses positive Signal an das UND-Glied 682 angelegt. Der Eingang von der Einerausgangsseite der Stufe 612 ist jedoch ein
negatives Signal und das UND-Glied 682 liefert somit wiederum ein negatives Ausgangssignal über die Leitung 702 an das ODER-Glied
700 in Fig. 21. Das ODER-Glied 700 wiederum liefert ein negatives Ausgangssignal auf die Leitung 533, welches die Tore
531 und 532 in Fig. 18 sperrt. Das negative Signal auf der Leitung 533 sperrt auch das UND-Glied 516 in Fig. 20 und sperrt
die Fortschreibungsoperation der Aktivitätsliste, d.h. die Bezeichnung
des Sektoradreßregisters 221 wird nicht oben im Kellerspeicher eingesetzt. Das negative Signal auf der Leitung 533
wird durch den Inverter 710 in ein positives Signal umgekehrt und auf die Leitung 543 weitergeleitet, wodurch die Tore 541
und 542 betätigt und dadurch die Bits 22 bis 27 vom Kabel 530 in das Duplikatpufferadreßregister 504 übertragen werden. Das
positive Signal auf der Leitung 543 wird dem UND-Glied 519 zugeführt. Ein positives Signal wird über die Leitung 792 ebenfalls
an das UND-Glied 519 geleitet. Da alle Eingangssignale zum UND-Glied 519 positiv sind, liefert dieses ein positives Ausgangssignal
durch das ODER-Glied 518 und entsperrt die Tore 519, wodurch der Inhalt des Registers 504 an die Decodierer 571 bis
573 in Fig. 23 übertragen wird. Das positive Signal auf der Leitung 174 in Fig. 20 entsperrt die Tore 515 in Fig. 22 zur
übertragung der Bits 20 bis 31 des Adreßsteuerwortes von der CPU in das Hauptspeicheradreßregister 816 in Fig. 24. Das positive
Signal auf der Leitung 174 läuft auch durch das ODER-Glied 823 zu den Toren 824 in Fig. 24, die den echten Adreßteil des ausgewählten
Registers 101 (AR-I) im Assoziativspeicher Bits 8 bis
κι 970 003 209882/1OAQ
19 in das Hauptspeicheradreßregister 816 übertragen. Das positive Signal auf der Leitung 174 wird also durch das ODER-Glied 175
in Fig. 10 an die UND-Glieder 170 bis 173 in den Fign. 10 bis weitergeleitet. Nur eine der Vergleicherschaltungen 120 bis
liefert ein positives Signal auf eines der entsprechenden UND-Glieder 170 bis 173 in den Fign. 10 bis 13. Das gewählte UND-Glied
171 empfängt ein positives Signal auf der Leitung 130 und leitet dieses weiter zur Betätigung der zugehörigen Tore 151 in
Fig. 11, wodurch der echte Adreßteil des Registers 101 (AR-I) über das Kabel 161 an die ODER-Glieder 164 in Fig. 13 übertragen
wird. Der echte Adreßteil des gewählten Assoziativregisters wird dann über das Kabel 165 und durch die Tore 824 in Fig. 24 auf
das Hauptspeicheradreßregister 816 übertragen. Somit wird das rauptspeicheradreßregister mit den echten Adreßbits 8 bis 31
gefüllt. Wenn man die gewählte Information aus dem Hauptspeicher 14 in Fig. 24 erhält, wird sie über Kabel 583, durch die
ODER-Glieder 582 in Fig. 23 und f!foer die Sammelleitung 587 an
die Tore 810 in Fig. 22 übertragen. Während einer Abrufoperation durch die CPU entsperrt ein positives Signal auf der Leitung
792 die Tore 810 und überträgt dadurch die Information auf der Sammelleitung 587 über das Kabel 811 an die CPU 10. Information
vom Hauptspeicher 14 auf dem Kabel 583 wird ebenfalls durch die ODER-Glieder 587 in Fig. 23 an den Pufferspeicher 12 weitergeleitet
und dort an der durch das Duplikatpufferadreßregister in Fig. 20 angegebenen Stelle im Rahmen, Block und Viererwort
gespeichert. Alle vier Viererwörter im gewählten Block des Hauptspeichers 14 werden in den Pufferspeicher 12 übertragen und dort
unter Steuerung des Registers 504 und des Zählers 550 gemäß obiger Erklärung gespeichert.
Wenn die vier Viererwörter aus dem Hauptspeicher 14 abgerufen und im Block 0 des Rahmens 1 des Pufferspeichers 12 gespeichert
wurden, wird die Leitung 671 in Fig. 19 mit einem positiven Signal erregt. Das positive Signal auf der Leitung 691 sowie
das positive Signal auf der Leitung 371 werden dem UND-Glied 642 zugeführt, welches daher mit einem positiven Ausgangssignal
κι 970 003 2 0 98 82/1040
die Stufe 612 einstellt. Danach liefert der Einerausgang dieser Stufe ein positives Signal an das UND-Glied 682. Jede nachfolgende
Anforderung durch die CPU 10 in Fig. 22 einer in diesem jeweiligen Block, Sektor und der Seite des virtuellen Speichers
gespeicherten Information kann direkt vom Pufferspeicher 12 in Fig. 23 adressiert werden. Wenn ein Datenblock einmal
im Hauptspeicher zum ersten Mal adressiert und der ganze Block in den Pufferspeicher 12 übertragen und dort gespeichert
wurde, wird jede nachfolgende Abrufanforderung von der CPU nach
in demselben Block und Rahmen gespeicherten Daten direkt aus dem Pufferspeicher 12 bedient. Aus der obigen Beschreibung des
Falles 2 geht hervor, daß die angeforderte Information direkt aus dem Pufferspeicher 12 entnommen wird, wenn sie dort zur
Verfügung steht. Andernfalls erhält man die angeforderte Operation aus dem Hauptspeicher und der adressierte Block wird in
seiner Gesamtheit in den Pufferspeicher 12 in Fig. 23 übertragen und dort gespeichert.
Anschließend werden CPU-Speicheroperationen beschrieben. Sobald eine CPU-Speicheroperation erfolgt, wird auf die Leitung 791
in Fig. 22 ein positives Signal gegeben, welches die Tore 821 betätigt und dadurch Daten von der CPU 10 über das Kabel 822,
die Tore 821 und das. Kabel 586 auf den Hauptspeicher 14 in Fig. 24 überträgt. Das positive Signal auf der Leitung 791 läuft
durch das ODER-Glied 801 in Fig. 22 und betätigt die Tore 802 und 805. Demzufolge werden Adreßsignale von der CPU 10 über das
Kabel 803, die Tore 802 an das Kabel 804 übertragen. Die Bits 0 bis 31 des Adreßsteuerwortes werden über das Kabel 804 in
das Register 125 in Fig. 10 übertragen. Die Bits 20 bis 31 des Adreßsteuerwortes auf dem Kabel 804 werden über die Tore
805 in Fig. 22 und durch das ODER-Glied 815 in Fig. 24 in das Hauptspeicheradreßregister 816 übertragen. Das positive Signal
auf der Leitung 791 in Fig. 22 läuft durch das ODER-Glied 823 und betätigt die Tore 824 in Fig. 24 so, daß die echten Adreßbits
8 bis 19 auf dem Kabel 165 in das Hauptspeicheradreßregister 816 übertragen werden. Die echten Adreßbits auf dem Kabel
κι 970 003 2098 82/10A0
165 erhält man aus dem ausgewählten Register im Assoziativspeicher.
Das positive Signal auf der Leitung 791 wird dem ODER-Glied 175 in Fig. 10 zugeführt, welches daraufhin ein positives
Signal auf die Ausgangsleitung 174a und weiter an die UND-Glieder 170 bis 173 in den Fign. 10 bis 13 abgibt. Die virtuellen
Adreßbits 8 bis 19 des Regigsters 125 in Fig. 10 werden über das Kabel 124 an die Vergleicherschaltungen 120 bis 123 geleitet.
Die echten Adreßteile der Assoziativregister 100 bis 103 werden den entsprechenden Vergleicherschaltungen 120 bis 123 zugeführt.
Da für diese Beschreibung angenommen ist, daß die Datenadreßumsetzung stattgefunden hat, sind im rechten Teil der Assoziativregister
100 bis 103 echte Adreßbits gespeichert. Demzufolge liefert nur eine der Vergleicherschaltungen 120 bis 123 ein
positives Ausgangssignal. Die Vergleicherschaltungen 120 bis 123
sind durch entsprechende Leitungen 130 bis 133 mit den zugehörigen UND-Gliedern 170 bis 173 verbunden. Da die Leitung 174a durch
ein positives Signal erregt ist, wird eines der UND-Glieder 170 bis 173 betätigt und liefert ein positives Ausgangssignal an
die zugehörigen Tore 150 bis 153. Demzufolge werden die echten Adreßbits 8 bis 19 aus den Registern 100 bis 103 über ein zugehöriges
Kabel 160 bis 163 an die ODER-Glieder 164 in Fig. 13 übertragen. Signale von-den ODER-Gliedern 164 werden auf dem
Kabel 165 durch die Tore 824 in Fig. 24 an das Hauptspeicheradreßregister 816 übertragen.
Eine Speicheroperation erfolgt im Hauptspeicher 14 in Fig. 24.
Die auf dem Kabel 586 von der CPU IO gelieferten Daten werden im Hauptspeicher 14 an einer Adresse gespeichert, die durch die
echten Hauptspeicheradreßbits 8 bis 13 angegeben ist, welche im Hauptspeicheradreßregister 816 gespeichert sind.
Aus der obigen Beschreibung ist zu ersehen, daß von der CPU gelieferte Daten im Hauptspeicher in jedem Fall gespeichert werden,
wenn eine Speicheroperation erfolgt. Dieselben Daten können auch im Pufferspeicher gespeichert werden. Ob sie dort gespeichert
werden oder nicht, hängt davon ob, ob der Pufferspeicher
κι 970 003 209882/10A0
12 in Fig. 23 gültige Daten in der vom Adreßsteuerwort, welches
von der CPU kommt, angegebenen Adresse enthält. Ist das der Fall, werden die neuen Daten an der angegebenen Adresse in den
Pufferspeicher geschrieben und dadurch die alten Daten gegen die neuen ausgetauscht. Im wesentlichen werden Daten in den
Pufferspeicher nur als Fortschreibeoperation geschrieben. Wenn das Adreßsteuerwort in einem Speicher eine Adresse im Pufferspeicher
12 angibt, die ungültig ist, dann werden die Daten von der CPU 10 nur in den Hauptspeicher 14 und nicht in den Pufferspeicher
12 geschrieben, und zwar aus gutem Grund. Information wird bekanntlich blockweise in den Pufferspeicher 12 geschrieben,
und die Gültigkeitsmatrix gibt an, daß der ganze Block gültig ist. Eine Informationsübertragung von weniger als einem
vollständigen Block in den Pufferspeicher 12 würde also dazu
führen, daß diese Information erstens nachträglich nicht adressiert
werden kann, wenn die zugehörige Kippschaltung.nicht in der Blockgültigkeitsmatrix der Fign. 19 und 21 eingestellt ist,
oder zweitens, daß beim Einstellen der entsprechenden Stufe in dieser Blockgültigkeitsmatrix die Anzeige falsch ist, wenn weniger
als ein vollständiger Block in den Pufferspeicher 12 übertragen wird. Wenn also eine Blockgültigkeitskippstufe eingestellt
ist, heißt das, daß der ganze Block gültig ist und eine übertragung
von weniger als einem Block bedeutet, daß der übrige Teil dieses Blockes ungültig ist. Die Fortschreibung eines im Pufferspeicher
12 gespeicherten Wortes ist also während einer Speicheroperation durch die CPU zulässig, die übertragung neuer Information
auf gültige Adressen in den Pufferspeicher 12 ist jedoch nicht gestattet."
Um die Fortschreibeoperation im Pufferspeicher 12 zu illustrieren,
wird angenommen, daß die CPU IO einen Speicherbefehl abgibt. Ein positives Signal wird auf die Leitung 791 gegeben,
welches die Tore 821 zur übertragung von Daten von der CPU
über das Kabel 822, die Tore 821 und das Kabel 586 in den Hauptspeicher 14 in Fig. 24 entsperrt. Die Daten aus dem Kabel 586
werden auch über die ODER-Glieder 584 in Fig. 23 an den Puffer-
κι 970 003 209882/1040
Speicher 12 geliefert. Das positive Signal auf der Leitung 791 in Fig. 22 läuft über das ODER-Glied 801 und betätigt die Tore
802 und 805. Daher werden die Bits 20 bis 31 des Adreßsteuerwortes von der CPU über das Kabel 803, die Tore 802, das Kabel
804, die Tore 805 und die ODER-Glieder 815 in Fig. 24 an das Hauptspeicheradreßregister 816 übertragen. Das positive Signal
auf der Leitung 791 in Fig. 22 läuft durch das ODER-Glied 823, betätigt die Tore 824 in Fig. 22 und wird auch dem ODER-Glied
175 in Fig. 10 zugeführt. Das ODER-Glied 175 wiederum liefert ein positives Ausgangssignal auf die Leitung 174a und entsperrt
damit die UND-Glieder 170 und 173. Das Adreßsteuerwort wird von der CPU über das Kabel 803, die Tore 802 und das Kabel 804 an
das Register 125 in Fig. 10 übertragen, welches die Bits O bis 31 speichert. Der virtuelle Adreßteil in den Bits 8 bis 19 wird
über das Kabel 126 an die Vergleichereinheiten 120 bis 123 in den entsprechenden Fign. 10 bis 13 geleitet. Die in den Registern
100 bis 102 gespeicherten virtuellen Adressen des Assoziativspeichers werden den entsprechenden Vergleicherschaltungen 120 bis
123 zugeführt. Da die Datenadreßübersetzung gemäß früherer Annahme bereits ausgeführt wurde, liefert nur eine der Vergleicherschaltungen
120 bis 123 ein positives Ausgangssignal an eines der
UND-Glieder 120 bis 123. Zur Darstellung wird angenommen, daß in diesem Fall die Vergleicherschaltung 123 in Fig. 13 eine Übereinstimmung
zwischen ihren beiden Eingängen feststellt und ein positives Ausgangssignal auf die Leitung 133 gibt. Dieses positive
Signal wird dem UND-Glied 173 zugeführt, welches die Tore 153 so betätigt, daß sie die echten Hauptspeicheradreßbits 8 bis
19 über das Kabel 163, die ODER-Glieder 164 und das Kabel 165 den Toren 824 in Fig. 24 zuführen. Das positive Signal auf der
Leitung'791 läuft bekanntlich über das ODER-Glied 823 in Fig.
und betätigt die Tore 824 in Fig. 24, wodurch die echten Adreßbits 8 bis 19 auf dem Kabel 165 in das Hauptspeicheradreßregister
816 übertragen werden. Demzufolge wird das Hauptspeicheradreßregister 816 mit den Bits 8 bis 31 gefüllt, die dem Hauptspeicher
14 eine ausgewählte Adresse angeben, an welcher die Daten auf dem Kabel 586 zu speichern sind. Der Hauptspeicher 14 wird'adres-
Ki 970 003 20 9882/104 0
siert und die Daten auf dem Kabel 586 an der gewählten Adresse gespeichert, die durch das Hauptspeicheradreßregister 816 angegeben
wird. Wenn der Hauptspeicher adressiert wird, um dort Daten zu speichern, wird gleichzeitig versucht, dieselben Daten
im Pufferspeicher 12 in Fig. 23 zu speichern. Zur Illustration wird angenommen, daß die Sektoradresse in den Bits 20 und 21
des Registers 125 in Fig. 10 identisch ist mit der im Register 222 in Fig. 16 gespeicherten Sektoradresse. Demzufolge sind
die Sektoradreßsignale auf den Leitungen 280 und 281 identisch mit den Sektoradreßsignalen, die durch das Register 222 über
die Leitungen 447 und 446 an die Vergleicherschaltung 342 geliefert werden. Da die beiden Eingänge zur Vergleicherschaltung 342
identisch sind, liefert diese ein positives Ausgangssignal auf die Leitung 352 sowie an das UND-Glied 362 in Fig. 16. Es wird
angenommen, daß das Verbindungsregister 212 in Fig. 16 mit dem Assoziativregister 103 (AR-15) in Fig. 13 verbunden ist. Die
Signalkombination auf den Leitungen 430 bis 433 vom Register 212 in Fig. 16 zum Decodierer 302 kennzeichnet das Register 103
(AR-15) in Fig. 13. Demzufolge liefert der Decodierer 302 ein positives Signal auf die Ausgangsleitung 337 und zum UND-Glied
444. Die in Klammern an jedem der UND-Glieder 441 bis 444 angegebene Zahl bezeichnet eines der Register AR-O bis AR-15, welches
durch den Decodierer 302 ausgewählt wird. Das UND-Glied 444 reagiert auf das positive Signal auf seiner Eingangsleitung 437 und
auf der Eingangsleitung 133 von der Vergleicherschaltung 123 in Fig. 13 und liefert ein positives Ausgangssignal über das ODER-Glied
445 an das UND-Glied 362. Das UND-Glied 362 reagiert auf die beiden positiven Eingangssignale und liefert ein positives
Ausgangssignal auf die Leitung 372, welches anzeigt, daß der Rahmen 2 des Pufferspeichers 12 ausgewählt ist. Das positive Signal
auf der Leitung 372 wird der Blockgültigkeitsmatrix in den Fign. 19 und 21 zugeführt. Es wird angenommen, daß die Blockauswahlsignale
in den Bits 22 bis 25 des Registers 125 in Fig. 10 den Block 0 angeben. Die Blocksignale in den Bits 22 bis 25
werden über das Kabel 530 in Fig. 10 dem Decodierer 699 in Fig. 19 zugeführt, der auf diese Signale reagiert und ein positives
κι 970 003 209882/1040
Ausgangssignal auf die Leitung 601 der Blockgültigkeitsraatrix liefert, welches anzeigt, daß Block 0 ausgewählt ist. Es wird
weiter angenommen, daß die Stufe 613 in Fig. 21 eingestellt ist. Ihr Einerausgang führt daher ein positives Signal, welches
dem UND-Glied 683 in Fig. 21 zugeführt wird. Das positive Signal auf der Leitung 372 wird ebenfalls zum UND-Glied 683 geleitet,
welches auch noch die positiven Signale auf der Leitung 601 und der Leitung 672 empfängt. Da das UND-Glied 683 jetzt auf allen
Eingängen positive Signale hat, liefert es ein positives Ausgangssignal auf die Leitung 703 an das ODER-Glied 700 in Fig. 21.
Das ODER-Glied 700 wiederum liefert ein positives Ausgangssignal über die Leitung 533 an die Tore 531 und 532 in Fig. 18 und leitet
dadurch die Blockauswahlbits 22 bis 25 und die Viererwortwahlbits 26 und 27 vom Kabel 530 an das Pufferadreßregister 502
in Fig. 18. Das positive Signal auf der Leitung 533 wird ebenfalls dem UND-Glied 516 in Fig. 20 zugeführt und durch den Inverter
710 in Fig. 20 umgekehrt, der ein negatives Ausgangssignal liefert, welches die Tore 541 und 542 sperrt. Das negative Signal
auf der Leitung 543 sperrt auch das UND-Glied 519 in Fig. 20.
Das positive Signal auf der Leitung 372 in Fig. 18 wird auch dem Codierer 500 zugeführt, der eine Kombination von Ausgangssignalen
an das Kabel 501 abgibt, welche den Rahmen 2 des Pufferspeichers 12 in Fig. 23 auswählen. Die Rahmenauswahlsignale auf dem Kabel
501 in Fig. 18 werden im Pufferadreßregister 502 und 504 gespeichert. Somit wird das Pufferadreßregister 502 mit den Bits
1 bis 10 geladen, die die im Pufferspeicher 12 zu adressierenden Rahmen, Block und Viererwort angeben. Das positive Signal auf der
Leitung 372 in Fig. 18 wird dem ODER-Glied 510 zugeführt, welches wiederum ein positives Ausgangssignal über die Leitung 511 an die
UND-Glieder 516 und 519 in Fig. 20 liefert. Das UND-Glied 519 wird durch ein negatives Signal auf der Leitung 543 gesperrt. Das
UND-Glied 516 reagiert auf die positiven Signale auf den Leitungen 511 und 533 und liefert ein positives Signal an die Tore 513.
Demzufolge werden die Adreßsignale im Pufferadreßregister 502 über die Tore 513, die ODER-Glieder 561 und das Kabel 562 an die
Decodierer 571 bis 573 in Fig. 23 übertragen. Der Pufferspeicher
20988 2/1040
KI 970 003
12 wird jetzt zur Adressierung von durch das Pufferadreßregister 502 angegebenen Rahmen, Block und Viererwort betätigt und
die an den Pufferspeicher 12 von der CPU gelieferten Daten werden bei dieser Adresse gespeichert. Demzufolge werden die vorher
an dieser Adresse gespeicherten Daten durch die dort eingesetzte Information auf den neuesten Stand gebracht oder fortgeschrieben.
Die Fortschreibeoperation erfolgt im Hauptspeicher gleichzeitig/ weil dieselbe Information zur Fortschreibung der entsprechenden
Stelle im Hauptspeicher 14 benutzt wird.
κι 970 003 2 0 9 8 8 2 / 1 0 A 0
Claims (6)
- PATENTANSPRÜCHEDatenverarbeitungsanlage mit virtueller Adressierung einer Speicherhierarchie mit einer Zentraleinheit, einem damit verbundenen Hauptspeicher zur blockweisen Speicherung von Daten und einem ebenfalls damit verbundenen Pufferspeicher zur Speicherung einer Anzahl von Datenblocks, gekennzeichnet durch einen mit der Zentraleinheit (10) verbundenen Assoziativspeicher (22; 100 - 103) zum Speichern von virtuellen Adressen und entsprechender echter Adressen des Hauptspeichers, ferner durch Vergleichsschaltungen (120. 123) zum Vergleich der virtuellen Adresse aus der Zentraleinheit mit den virtuellen Adressen des Assoziativspeichers (22; 100 - 103), ferner durch eine Adressen-Steuerschaltung (24), die abhängig vom Vergleichsergebnis über Schaltmittel (15) den Zugriff zunächst zum Pufferspeicher durchschaltet und die übertragung der Daten zwischen dem Pufferspeicher und der Zentraleinheit bewirkt und die bei Nichtübereinstimmung die Adressierung des Hauptspeichers mit Datenübertragung zwischen Hauptspeicher und Zentraleinheit und gleichzeitig die überführung des im Hauptspeicher adressierten Datenblocks in den Pufferspeicher bewirkt.
- 2. Anlage nach Anspruch 1, dadurch gekennzeichnet, daß durch eine Gruppe von Torschaltungen (15) bei Datenabruf durch die Zentraleinheit aus dem Pufferspeicher der Zugriff zum Hauptspeicher gesperrt ist.
- 3. Anlage nach Anspruch 1 und 2, dadurch gekennzeichnet, daß die Zentraleinheit mit einem ersten Adressenregister verbunden ist, um von der Zentraleinheit kommende Adressen-Steuerworte mit einem virtuellen Adreßteil und einem echten Adreßteil im entsprechenden Teil des Registers einzuspeichern, daß die Vergleichsschaltung (120 - 123) den Inhalt des virtuellen Adreßteils des ersten Registers mit den virtuellen Adreßteilen aller Register des asso-Ki 970 003 209882/1CU0ziativen Speichers zum Feststellen einer Übereinstimmung vergleicht und daß Schaltmittel (24) mit dem Assoziativspeicher verbunden sind, die den echten Adreßteil aller der Register des Assoziativspeichers (22) dann, wenn die gesuchte Information bei einer Abfrageoperation nicht im Pufferspeicher (12) zur Verfügung steht/ nach dem Hauptspeicher durchsehaltet, daß ferner eine Anzahl Sektor-Adreßregister (220 - 223) und eine Anzahl Verbindungsregister (212 - 215) jeweils paarweise vorgesehen sind mit Mitteln zum Einspeichern von Information in ein Verbindungsregister, welche eines der Register des Assoziativspeichers kennzeichnet, wodurch eines der Sektor-Adreßregister an eines der Register (100 - 103) des Assoziativspeichers anschaltbar ist und daß auf den Vergleicher, das Sektoradreßregister und das Verbindungsregister ansprechende Schaltmittel vorgesehen sind, um Information an der durch das Adreß-Steuerwort im ersten Register bezeichneten Adresse im Pufferspeicher abzurufen.
- 4. Anlage nach den Ansprüchen 1 bis 3, dadurch gekennzeichnet, daß eine Steuereinrichtung (Aktivitätsliste 521) vorgesehen ist, die immer dann, wenn der Inhalt eines Verbindungsregisters geändert wird, das zuletzt am wenigsten benutzte Verbindungsregister auswählt.
- 5. Anlage nach den Ansprüchen 1 bis 4, gekennzeichnet durch Sperrschaltmittel, die den Zugriff zu der ausgewählten Adresse im Pufferspeicher sperren, wenn diese keine gültige Information enthält.
- 6. Schaltungsanordnung nach Anspruch 5, dadurch gekennzeichnet, daß eine Matrix (Fig. 19, 21) aus bistabilen Stufen (611 - 614, 621 - 624) und gesteuerte Gruppen von Torschaltungen vorgesehen sind, die den Zugriff zu einer ausgewählten Adresse im Pufferspeicher sperren, wenn dort keine gültige Information eingespeichert ist.κι 970 003 209882/104Leerseite
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15791871A | 1971-06-29 | 1971-06-29 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE2230266A1 true DE2230266A1 (de) | 1973-01-11 |
| DE2230266C2 DE2230266C2 (de) | 1983-10-27 |
Family
ID=22565881
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE2230266A Expired DE2230266C2 (de) | 1971-06-29 | 1972-06-21 | Datenverarbeitungsanlagen mit einer Zentraleinheit unter Verwendung virtueller Adressierung |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US3693165A (de) |
| JP (1) | JPS5240936B1 (de) |
| DE (1) | DE2230266C2 (de) |
| FR (1) | FR2144290A5 (de) |
| GB (1) | GB1366001A (de) |
| IT (1) | IT955985B (de) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE2445617A1 (de) * | 1973-10-23 | 1975-04-30 | Ibm | Hierarchische speicheranordnung |
| DE2458525A1 (de) * | 1973-12-21 | 1975-07-03 | Philips Nv | Speichersystem mit haupt- und pufferspeicher |
Families Citing this family (82)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3786427A (en) * | 1971-06-29 | 1974-01-15 | Ibm | Dynamic address translation reversed |
| GB1354827A (en) * | 1971-08-25 | 1974-06-05 | Ibm | Data processing systems |
| BE788028A (fr) * | 1971-08-25 | 1973-02-26 | Siemens Ag | Memoire associative |
| US3902164A (en) * | 1972-07-21 | 1975-08-26 | Ibm | Method and means for reducing the amount of address translation in a virtual memory data processing system |
| US3829840A (en) * | 1972-07-24 | 1974-08-13 | Ibm | Virtual memory system |
| US3781808A (en) * | 1972-10-17 | 1973-12-25 | Ibm | Virtual memory system |
| US3806888A (en) * | 1972-12-04 | 1974-04-23 | Ibm | Hierarchial memory system |
| US3839704A (en) * | 1972-12-06 | 1974-10-01 | Ibm | Control for channel access to storage hierarchy system |
| GB1447297A (en) * | 1972-12-06 | 1976-08-25 | Amdahl Corp | Data processing system |
| US3848234A (en) * | 1973-04-04 | 1974-11-12 | Sperry Rand Corp | Multi-processor system with multiple cache memories |
| US3825904A (en) * | 1973-06-08 | 1974-07-23 | Ibm | Virtual memory system |
| US3898624A (en) * | 1973-06-14 | 1975-08-05 | Amdahl Corp | Data processing system with variable prefetch and replacement algorithms |
| US3928857A (en) * | 1973-08-30 | 1975-12-23 | Ibm | Instruction fetch apparatus with combined look-ahead and look-behind capability |
| US3866183A (en) * | 1973-08-31 | 1975-02-11 | Honeywell Inf Systems | Communications control apparatus for the use with a cache store |
| FR130806A (de) * | 1973-11-21 | |||
| FR2253425A5 (de) * | 1973-11-30 | 1975-06-27 | Honeywell Bull Soc Ind | |
| FR2258112A5 (de) * | 1973-11-30 | 1975-08-08 | Honeywell Bull Soc Ind | |
| FR122199A (de) * | 1973-12-17 | |||
| US3896419A (en) * | 1974-01-17 | 1975-07-22 | Honeywell Inf Systems | Cache memory store in a processor of a data processing system |
| US3949368A (en) * | 1974-01-23 | 1976-04-06 | Data General Corporation | Automatic data priority technique |
| US3949369A (en) * | 1974-01-23 | 1976-04-06 | Data General Corporation | Memory access technique |
| US3909798A (en) * | 1974-01-25 | 1975-09-30 | Raytheon Co | Virtual addressing method and apparatus |
| US3938100A (en) * | 1974-06-07 | 1976-02-10 | Control Data Corporation | Virtual addressing apparatus for addressing the memory of a computer utilizing associative addressing techniques |
| US3911403A (en) * | 1974-09-03 | 1975-10-07 | Gte Information Syst Inc | Data storage and processing apparatus |
| JPS5144850A (de) * | 1974-10-15 | 1976-04-16 | Ricoh Kk | |
| JPS5540950B2 (de) * | 1974-11-30 | 1980-10-21 | ||
| US4056845A (en) * | 1975-04-25 | 1977-11-01 | Data General Corporation | Memory access technique |
| US4025901A (en) * | 1975-06-19 | 1977-05-24 | Honeywell Information Systems, Inc. | Database instruction find owner |
| US4044334A (en) * | 1975-06-19 | 1977-08-23 | Honeywell Information Systems, Inc. | Database instruction unload |
| US4024508A (en) * | 1975-06-19 | 1977-05-17 | Honeywell Information Systems, Inc. | Database instruction find serial |
| US4042912A (en) * | 1975-06-19 | 1977-08-16 | Honeywell Information Systems Inc. | Database set condition test instruction |
| US4212058A (en) * | 1975-09-27 | 1980-07-08 | National Research Development Corporation | Computer store mechanism |
| FR2348544A1 (fr) * | 1976-04-15 | 1977-11-10 | Honeywell Bull Soc Ind | Ensemble double de memoire associative |
| JPS52130532A (en) * | 1976-04-27 | 1977-11-01 | Fujitsu Ltd | Address conversion system |
| JPS533029A (en) * | 1976-06-30 | 1978-01-12 | Toshiba Corp | Electronic computer |
| US4048671A (en) * | 1976-06-30 | 1977-09-13 | Ibm Corporation | Address match for data processing system with virtual addressing |
| US4084226A (en) * | 1976-09-24 | 1978-04-11 | Sperry Rand Corporation | Virtual address translator |
| US4128875A (en) * | 1976-12-16 | 1978-12-05 | Sperry Rand Corporation | Optional virtual memory system |
| US4080651A (en) * | 1977-02-17 | 1978-03-21 | Xerox Corporation | Memory control processor |
| US4126894A (en) * | 1977-02-17 | 1978-11-21 | Xerox Corporation | Memory overlay linking system |
| US4126893A (en) * | 1977-02-17 | 1978-11-21 | Xerox Corporation | Interrupt request controller for data processing system |
| US4080652A (en) * | 1977-02-17 | 1978-03-21 | Xerox Corporation | Data processing system |
| JPS5454536A (en) * | 1977-10-08 | 1979-04-28 | Fujitsu Ltd | Data processor |
| US4285040A (en) * | 1977-11-04 | 1981-08-18 | Sperry Corporation | Dual mode virtual-to-real address translation mechanism |
| US4156906A (en) * | 1977-11-22 | 1979-05-29 | Honeywell Information Systems Inc. | Buffer store including control apparatus which facilitates the concurrent processing of a plurality of commands |
| US4376297A (en) * | 1978-04-10 | 1983-03-08 | Signetics Corporation | Virtual memory addressing device |
| US4170039A (en) * | 1978-07-17 | 1979-10-02 | International Business Machines Corporation | Virtual address translation speed up technique |
| US4277826A (en) * | 1978-10-23 | 1981-07-07 | Collins Robert W | Synchronizing mechanism for page replacement control |
| CA1123964A (en) * | 1978-10-26 | 1982-05-18 | Anthony J. Capozzi | Integrated multilevel storage hierarchy for a data processing system |
| US4217640A (en) * | 1978-12-11 | 1980-08-12 | Honeywell Information Systems Inc. | Cache unit with transit block buffer apparatus |
| US4264953A (en) * | 1979-03-30 | 1981-04-28 | Honeywell Inc. | Virtual cache |
| US4400774A (en) * | 1981-02-02 | 1983-08-23 | Bell Telephone Laboratories, Incorporated | Cache addressing arrangement in a computer system |
| WO1984002799A1 (en) * | 1982-12-30 | 1984-07-19 | Ibm | A hierarchical memory system including separate cache memories for storing data and instructions |
| JPS59157887A (ja) * | 1983-02-28 | 1984-09-07 | Hitachi Ltd | 情報処理装置 |
| US4551799A (en) * | 1983-02-28 | 1985-11-05 | Honeywell Information Systems Inc. | Verification of real page numbers of stack stored prefetched instructions from instruction cache |
| US4747070A (en) * | 1984-01-09 | 1988-05-24 | Wang Laboratories, Inc. | Reconfigurable memory system |
| US4669043A (en) * | 1984-02-17 | 1987-05-26 | Signetics Corporation | Memory access controller |
| US4991081A (en) * | 1984-10-31 | 1991-02-05 | Texas Instruments Incorporated | Cache memory addressable by both physical and virtual addresses |
| JPH0652511B2 (ja) * | 1984-12-14 | 1994-07-06 | 株式会社日立製作所 | 情報処理装置のアドレス変換方式 |
| US5255384A (en) * | 1985-02-22 | 1993-10-19 | Intergraph Corporation | Memory address translation system having modifiable and non-modifiable translation mechanisms |
| US4860192A (en) * | 1985-02-22 | 1989-08-22 | Intergraph Corporation | Quadword boundary cache system |
| US4899275A (en) * | 1985-02-22 | 1990-02-06 | Intergraph Corporation | Cache-MMU system |
| US4884197A (en) * | 1985-02-22 | 1989-11-28 | Intergraph Corporation | Method and apparatus for addressing a cache memory |
| US4868738A (en) * | 1985-08-15 | 1989-09-19 | Lanier Business Products, Inc. | Operating system independent virtual memory computer system |
| US5091846A (en) * | 1986-10-03 | 1992-02-25 | Intergraph Corporation | Cache providing caching/non-caching write-through and copyback modes for virtual addresses and including bus snooping to maintain coherency |
| WO1988007721A1 (en) * | 1987-04-02 | 1988-10-06 | Unisys Corporation | Associative address translator for computer memory systems |
| GB8728494D0 (en) * | 1987-12-05 | 1988-01-13 | Int Computers Ltd | Multi-cache data storage system |
| IT1219238B (it) * | 1988-04-26 | 1990-05-03 | Olivetti & Co Spa | Dispositivo di traslazione dell'indirizzo per un memoria operativa di computer |
| JPH0291747A (ja) * | 1988-09-29 | 1990-03-30 | Hitachi Ltd | 情報処理装置 |
| US5150471A (en) * | 1989-04-20 | 1992-09-22 | Ncr Corporation | Method and apparatus for offset register address accessing |
| JP3038781B2 (ja) * | 1989-04-21 | 2000-05-08 | 日本電気株式会社 | メモリアクセス制御回路 |
| US4969122A (en) * | 1989-08-21 | 1990-11-06 | Sun Microsystems, Inc. | Apparatus for page tagging in a computer system |
| JPH04233642A (ja) * | 1990-07-27 | 1992-08-21 | Dell Usa Corp | キャッシュアクセスと並列的にメモリアクセスを行なうプロセッサ及びそれに用いられる方法 |
| US5553270A (en) * | 1993-09-01 | 1996-09-03 | Digital Equipment Corporation | Apparatus for providing improved memory access in page mode access systems with pipelined cache access and main memory address replay |
| US6161167A (en) * | 1997-06-27 | 2000-12-12 | Advanced Micro Devices, Inc. | Fully associate cache employing LRU groups for cache replacement and mechanism for selecting an LRU group |
| US6848024B1 (en) * | 2000-08-07 | 2005-01-25 | Broadcom Corporation | Programmably disabling one or more cache entries |
| US6732234B1 (en) * | 2000-08-07 | 2004-05-04 | Broadcom Corporation | Direct access mode for a cache |
| US6748492B1 (en) * | 2000-08-07 | 2004-06-08 | Broadcom Corporation | Deterministic setting of replacement policy in a cache through way selection |
| US6748495B2 (en) | 2001-05-15 | 2004-06-08 | Broadcom Corporation | Random generator |
| US7266587B2 (en) * | 2002-05-15 | 2007-09-04 | Broadcom Corporation | System having interfaces, switch, and memory bridge for CC-NUMA operation |
| JP2005267148A (ja) * | 2004-03-18 | 2005-09-29 | Konica Minolta Business Technologies Inc | メモリ制御装置 |
| US11886877B1 (en) * | 2021-09-24 | 2024-01-30 | Apple Inc. | Memory select register to simplify operand mapping in subroutines |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3401376A (en) * | 1965-11-26 | 1968-09-10 | Burroughs Corp | Central processor |
| DE2041171A1 (de) * | 1969-08-26 | 1971-03-11 | Internat Computers Ltd | Anordnung zur Speicherung von Daten |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3470540A (en) * | 1967-04-24 | 1969-09-30 | Rca Corp | Multiprocessing computer system with special instruction sequencing |
| US3569938A (en) * | 1967-12-20 | 1971-03-09 | Ibm | Storage manager |
-
1971
- 1971-06-29 US US157918A patent/US3693165A/en not_active Expired - Lifetime
-
1972
- 1972-05-30 IT IT25031/72A patent/IT955985B/it active
- 1972-06-20 FR FR7222682A patent/FR2144290A5/fr not_active Expired
- 1972-06-21 DE DE2230266A patent/DE2230266C2/de not_active Expired
- 1972-06-28 GB GB3020472A patent/GB1366001A/en not_active Expired
- 1972-06-28 JP JP47064147A patent/JPS5240936B1/ja active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3401376A (en) * | 1965-11-26 | 1968-09-10 | Burroughs Corp | Central processor |
| DE2041171A1 (de) * | 1969-08-26 | 1971-03-11 | Internat Computers Ltd | Anordnung zur Speicherung von Daten |
Non-Patent Citations (1)
| Title |
|---|
| Proceedings of the IEEE, Vol. 54, No. 12, Dezember 1966, S. 1774-1779 * |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE2445617A1 (de) * | 1973-10-23 | 1975-04-30 | Ibm | Hierarchische speicheranordnung |
| DE2458525A1 (de) * | 1973-12-21 | 1975-07-03 | Philips Nv | Speichersystem mit haupt- und pufferspeicher |
Also Published As
| Publication number | Publication date |
|---|---|
| DE2230266C2 (de) | 1983-10-27 |
| IT955985B (it) | 1973-09-29 |
| US3693165A (en) | 1972-09-19 |
| GB1366001A (en) | 1974-09-04 |
| FR2144290A5 (de) | 1973-02-09 |
| JPS5240936B1 (de) | 1977-10-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE2230266A1 (de) | Datenverarbeitungsanlagen mit einer zentraleinheit unter verwendung virtueller adressierung | |
| DE2231146C3 (de) | Datenverarbeitungsanlage mit virtueller Adressierung | |
| DE2346525C3 (de) | Virtuelle Speichereinrichtung | |
| DE2260353C2 (de) | Schaltungsanordnung für die Adressenumsetzung in einer Datenverarbeitungsanlage | |
| DE3011552C2 (de) | ||
| DE2226382C3 (de) | Datenverarbeitungsanlage mit mehreren Prozessoren und diesen zugeordneten Pufferspeichern | |
| EP0013737B1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
| DE2235841C2 (de) | Datenverarbeitungsanlage mit Speichersteuerung für mindestens einen Prozessor und diesen zugeordneten Pufferspeichern | |
| DE2227882C2 (de) | Virtuelle Speicheranordnung | |
| DE1956604C3 (de) | Datenverarbeitungsanlage | |
| DE1815234A1 (de) | Adressiereinrichtung fuer ein Speichersystem mit einem Grossraumspeicher und einem schnellen Arbeitsspeicher | |
| DE2523414A1 (de) | Hierarchische speicheranordnung | |
| DE2455047A1 (de) | Datenverarbeitungssystem | |
| DE3621321A1 (de) | Cache-speicher- bzw. multiprozessor-system und betriebsverfahren | |
| DE2241257B2 (de) | Datenverarbeitende Anlage | |
| DE2501853A1 (de) | Prozessor fuer ein datenverarbeitungssystem | |
| DE2841041A1 (de) | Datenverarbeitungsanlage mit mindestens zwei mit einem schnellen arbeitsspeicher ausgeruesteten prozessoren | |
| DE2856133A1 (de) | Verarbeitungssystem fuer einen assoziativspeicher | |
| CH617781A5 (de) | ||
| DE2441754A1 (de) | Prozessor-datenuebertragungssteueranordnung sowie verfahren zur steuerung der datenuebertragung eines prozessors | |
| DE3126363A1 (de) | Verfahren und vorrichtung zur steuerung einer datenuebertragung mit direktem speicherzugriff | |
| DE69721641T2 (de) | Verfahren und Vorrichtung für ein verzeichnisloses Speicherzugriffsprotokoll in einem Rechnersystem mit verteiltem gemeinsamen Speicher | |
| DE3142504A1 (de) | Mehrfachplattenspeicher-uebertragungssystem | |
| DE2558417A1 (de) | Datenverarbeitungssystem | |
| DE3200042A1 (de) | Datenverarbeitungsanlage mit cache-speicher |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| OD | Request for examination | ||
| 8181 | Inventor (new situation) |
Free format text: REILEY, FORREST ARTHUR RICHCREEK, JAMES THEODORE, HYDE PARK, N.Y., US |
|
| D2 | Grant after examination | ||
| 8364 | No opposition during term of opposition | ||
| 8339 | Ceased/non-payment of the annual fee |