[go: up one dir, main page]

DE2230266A1 - Datenverarbeitungsanlagen mit einer zentraleinheit unter verwendung virtueller adressierung - Google Patents

Datenverarbeitungsanlagen mit einer zentraleinheit unter verwendung virtueller adressierung

Info

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
Application number
DE2230266A
Other languages
English (en)
Other versions
DE2230266C2 (de
Inventor
Forrest Arthur Reiley
James Theodore Richcreek
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2230266A1 publication Critical patent/DE2230266A1/de
Application granted granted Critical
Publication of DE2230266C2 publication Critical patent/DE2230266C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • G06F12/1063Address 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
Tabelle 1
Codierschaltung X80 Ausgangsleitungen
Codierschaltung 180
Eingangsleitungen 181
183
Angegebene 184 Register
130
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)

  1. PATENTANSPRÜCHE
    Datenverarbeitungsanlage 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. 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. 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/1CU0
    ziativen 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. 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. 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. 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/104
    Leerseite
DE2230266A 1971-06-29 1972-06-21 Datenverarbeitungsanlagen mit einer Zentraleinheit unter Verwendung virtueller Adressierung Expired DE2230266C2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
Proceedings of the IEEE, Vol. 54, No. 12, Dezember 1966, S. 1774-1779 *

Cited By (2)

* Cited by examiner, † Cited by third party
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