DE3012205C2 - Multiprocessor data processing system with several buffer memories each assigned to a processor - Google Patents
Multiprocessor data processing system with several buffer memories each assigned to a processorInfo
- Publication number
- DE3012205C2 DE3012205C2 DE3012205A DE3012205A DE3012205C2 DE 3012205 C2 DE3012205 C2 DE 3012205C2 DE 3012205 A DE3012205 A DE 3012205A DE 3012205 A DE3012205 A DE 3012205A DE 3012205 C2 DE3012205 C2 DE 3012205C2
- Authority
- DE
- Germany
- Prior art keywords
- address
- tag
- memory
- flag
- original
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
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
Die Erfindung bezieht sich auf eine Multiprozessor-Datenverarbeitungsanlage gemäß dem Oberbegriff des Hauptanspruches.The invention relates to a multiprocessor data processing system according to the preamble of the main claim.
Eine derartige Datenverarbeitungsanlage mit mehreren Prozessoren und diesen zugeordneten Pufferspeichern ist aus der DE-AS 22 26 382 bekannt.Such a data processing system with several processors and buffer memories assigned to them is known from DE-AS 22 26 382.
Größere Datenverarbeitungsanlagen enthalten neben einem Zentralprozessor vielfach noch wenigstens einen Ein/Ausgabe-Prozessor, der selbständig die Übertragung von Daten zwischen peripheren Einheiten und dem Arbeitsspeicher bzw. umgekehrt steuert. Es ist ferner bekannt, ab einer bestimmten Leistungsklasse zwischen Zentralprozessor und Arbeitsspeicher einen Pufferspeicher, ein sogenanntes Cache, vorzusehen, in welchem ein Teil des im Arbeitsspeicher enthaltenen Gesamtdatenbestandes zum Zwecke eines schnelleren Zugriffs zwischengespeichert werden kann. Die Effektivität eines solchen Pufferspeichers ist dabei dann am größten, wenn er ausschließlich vom Zentralprozessor benutzt wird, d. h. auf Multiprozessor-Anlagen übertragen, wenn — wie aus der DE-AS 22 26 382 bekannt — jedem Prozessor dieses Systems ein eigener Pufferspeicher ein sogenannter »Private Cache« zur Verfügung steht. Beim Private Cache ergeben sich jedoch Probleme in bezug auf die korrekte Datenhaltung, wasLarger data processing systems often contain at least a central processor an input / output processor that independently transfers data between peripheral units and the main memory and vice versa. It is also known from a certain performance class to provide a buffer memory, a so-called cache, between the central processor and the main memory, in which part of the total database contained in the main memory for the purpose of faster Access can be cached. The effectiveness of such a buffer storage is then on largest if it is used exclusively by the central processor, d. H. transferred to multiprocessor systems, if - as known from DE-AS 22 26 382 - each processor of this system has its own buffer memory a so-called "private cache" is available. In the case of the private cache, however, there are Problems with correct data management, what
im folgenden anhand einer kurzen Erläuterung von Aufbau und Arbeitsprinzip eines Cache näher dargelegt werden soll.In the following, a brief explanation of the structure and working principle of a cache is explained in more detail shall be.
Ein Pufferspeicher besteht üblicherweise aus π Zeilen, in die Daten aus dem Arbeitsspeicher übertragen werden können. Aus organisatorischen Gründen sind der Hauptspeicher und das Cache i:· Seiten bzw. Bänke und in Klassen eingeteilt.A buffer memory usually consists of π lines into which data can be transferred from the main memory. For organizational reasons, the main memory and the cache i are: · Pages or banks and divided into classes.
Stellt man sich bildlich vor, daß die Klassen in horizontaler Richtung und die Seiten (Bänke) in vertikaler Richtung gezählt werden, dann werden die zu übertragenden Daten, z. B. in Form von Datenblöcken immer nur in vertikaler Richtung von der jeweiligen Klasse des Hauptspeichers in die jeweils gleiche Klasse des Cache bzw. umgekehrt übertragen.Imagine that the classes in a horizontal direction and the sides (banks) in vertical direction are counted, then the data to be transmitted, z. B. in the form of data blocks always only in the vertical direction from the respective class of the main memory to the same class of the cache and vice versa.
Das Adreßwort zum Auffinden einer bestimmten Speicherstelle im Hauptspeicher setzt sich folgerichtig aus drei Teilen zusammen, nämlich der Seitenadresse mit den höchstwertigen Bits, der Klassenadresse mit niederwertigeren Bits und der Zellenadresse mit den niederwertigsten Bits. Jeder dieser Dalenpufferzellen ist für den jeweils zugehörigen Seitenadreßteil (Tag) sowie für ein oder mehrere Kennzeichenbits (Flag) eine im sogenannten Tag/Flag-Speicherteil vorhandene Tag/ Flag-Zelle fest zugeordnet. Bei Lesezugriffen des Zentralprozessors wird deshalb zunächst dieser Tag/ Flag-Speicher daraufhin untersucht, ob die vom Zentralprozessor gesendete Adresse bzw. die zugehörigen Daten überhaupt im Pufferspeicher enthalten sind. Sofern die gewünschte Adresse gespeichert ist, können die zugehörigen Daten unmittelbar aus dem Datenpufferteil zum Zentralprozessor übertragen werden, ansonsten wird ein Zugriff zum Arbeitsspeicher erforderlich. In bezug auf Schreiboperationen werden Arbeitsspeicher und Pufferspeicher vielfach so betrieben, daß gemäß dem »Store-through«-Prinzip immer in den Arbeitsspeicher geschrieben wird und in das Cache nur dann, wenn die zu überschreibenden Daten bereits im Cache dupliziert werden. Wenn dann bei einem Lesezugriff die gewünschte Adresse nicht im Tag/Flag-Speicherteil des Caches vorgefunden wird, können die zugehörigen, aktuellen Daten auf alle Fälle aus dem Arbeitsspeicher geholt werden. Die konsequente Anwendung des »Store-through«-Prinzips bei Multiprozessor-Systemen hat nun zwangsläufig zur Folge, daß bei Schreiboperationen in den Arbeitsspeicher und in jeden der im System vorhandenen »Private-Caches« geschrieben wird, sofern dort die zu überschreibenden Daten bereits dupliziert waren. Letzteres ist jedoch nur dann festzustellen, wenn die Tag/Flag-Speicher aller »Private-Caches« durchgemustert werden. Daraus ergeben sich nun zwei unangenehme Folgen. Einmal muß von jedem »Private-Cache« zu allen anderen je eine Schreibverbindung hergestellt werden und zum anderen wird der private Lese-Schreibbeirieb zwischen einem Zentralprozessor und seinem »Private-Cache« zeitlich empfindlich gestört. Das erstgenannte Verbindungsproblem läßt sich dadurch entschärfen und zumindest im Aufwand reduzieren, wenn die Aktualisi^rungsaufforderung bei Schreiboperationen zentral vom Arbeitsspeicher gesteuert wird. Hinsichtlich des zweiten Problems, d. h. der zeitlichen Störung des Betriebs zwischen Zentralprozessor und seinem »Private-Cache« durch Schreiboperationen anderer Prozessoren wird davon ausgegangen, daß die verschiedenen, an einem System beteiligten Prozessoren nie ständig simultan die gleichen Bereiche, sondern mit hoher Wahrscheinlichkeit verschiedene Adreßbereiche im Arbeitsspeicher beschreiben. Es folgt de raus, daß bei nur wenigen der von anderen Prozessoren bewirkten Schreibaktualisierungsaufforderungen die zu überschreibenden Daten dupliziert vorliegen und daß der Inhalt des Datenpuffers deshalb nur selten modifizieri werden muß. Nur ein sc'cher Vorgang ist in den laufenden Betrieb des Zentralprozessors und seines »Private-Cache« einzuschieben und führt zu einer zeitlichen Störung.The address word for finding a specific memory location in the main memory is consistent composed of three parts, namely the page address with the most significant bits and the class address with the least significant bits and the cell address with the least significant bits. Each of these Dalenbuffer cells is for the associated page address part (tag) and for one or more identifier bits (flag) an im so-called tag / flag memory part permanently assigned to existing tag / flag cell. With read access to the Central processor is therefore first examined this tag / flag memory to see whether the from Central processor sent address or the associated data are actually contained in the buffer memory. If the desired address is saved, the associated data can be taken directly from the data buffer part to the central processor, otherwise there is an access to the main memory necessary. With regard to write operations, the main memory and buffer memory are often operated in such a way that that according to the "store-through" principle, writing is always carried out in the main memory and in the cache only if the data to be overwritten is already duplicated in the cache. If then with one Read access the desired address is not found in the tag / flag memory part of the cache, the associated, current data can be fetched from the main memory in any case. The consistent one Use of the "store-through" principle in multiprocessor systems now has the inevitable consequence that during write operations in the main memory and is written to each of the "private caches" in the system, provided that there are those to be overwritten Data was already duplicated. The latter can only be determined if the tag / flag memory of all "Private caches" are screened. This now has two unpleasant consequences. Must once a write connection can be established from each "private cache" to all the others and to the other becomes the private read-write operation between a central processor and its "private cache" in terms of time sensitively disturbed. The first-mentioned connection problem can thereby be defused and at least in the Reduce effort if the update request for write operations is centrally from the main memory is controlled. Regarding the second problem, i. H. the temporal disruption of operations between Central processor and its "private cache" by write operations of other processors is therefrom assumed that the various processors involved in a system never constantly and simultaneously the same areas, but with a high probability different address areas in the main memory describe. It follows that with only a few of the write update requests issued by other processors the data to be overwritten are duplicated and that the content of the data buffer therefore only rarely has to be modified. Just one This process is to be pushed into the ongoing operation of the central processor and its "private cache" and leads to a temporal disruption.
Der vorliegenden Erfindung liegt nun die AufgabeThe present invention is now the task
ίο zugrunde, einen Lösungsweg aufzuzeigen, wie die beim »Private-Cache«-Betrieb durch Aktualisierungsanforderungen bedingten zeitlichen Störungen möglichst einfach verhindert oder wenigstens erheblich reduziert werden können.ίο based on showing a solution, like the one with "Private cache" operation if possible due to time disruptions caused by update requests can easily be prevented or at least significantly reduced.
Ausgehend von einer Multiprozessor-Datenverarbei-Kingsanlage der eingangs näher bezeichneten Art wird diese Aufgabe erfindungsgemäß durch die im kennzeichnenden Teil des Hauptanspruches genannten Merkmale gelöst.Based on a multiprocessor data processing system of the type specified in the introduction, this object is achieved according to the invention by the in the characterizing Part of the main claim mentioned features solved.
Die MaiEnahme, den Tag/Flag-Speicher eines jeden »Private-Cache« zu duplizieren, hat nämlich den Vorteil, daß der eine als Original bezeichnete Tag/Flag-Speicher wie üblich zur Auffindung der Daten im Datenpufferteil bei Lese/Schreibzugriffen des zugehörigen Prozessors dient, während der zweite, als Duplikat bezeichnete Tag/Flag-Speicher zur Auffindung der Daten im DatenpuFerteil bei Schreiboperationen aller anderen Prozessoren herangezogen wird. Beide Tag/Flag-Speicher werden demnach völlig unabhängig voneinander benutzt und laufen mit zwei Ausnahmen asynchron zueinander. Der eine Ausnahmefall ist dann gegeben, wenn die Lesedaten in den Daienpufferteil eingetragen werden, weil dann die Adresse des Dateneintrags in beide Tag/Flag-Speicher simultan eingeschrieben werden muß. Im zweiten Fall, wenn das Duplikat bei einer Aktualisierungsanforderung das Vorhandensein der zu überschreibender, Daten anzeigt, wird der Prozessor Cache-Betrieb angehalten und eine Schreib- oder auch Löschoperation ausgeführt.The assumption of duplicating the tag / flag memory of each "private cache" has the advantage of that the one designated as original tag / flag memory, as usual, to find the data in the data buffer part is used for read / write accesses by the associated processor, while the second is called a duplicate Tag / flag memory for finding the data in the data buffer part during write operations of all others Processors is used. Both tag / flag memories are therefore completely independent of one another used and run asynchronously to each other with two exceptions. The one exceptional case is then given when the read data is entered in the file buffer part because the address of the data entry is then written into both tag / flag memories simultaneously got to. In the second case, if the duplicate is detected by an update request, the to Overwriting, indicating data, the processor cache operation is paused and a write or also Delete operation performed.
■to Im folgenden wird ein Ausführungsbeispiel der Erfindung anhand der Zeichnung näher erläutert.In the following, an embodiment of the Invention explained in more detail with reference to the drawing.
Die Figur zeigt den prinzipiellen Aufbau eines in einem Muütiprozessorsystem zwischen Arbeitsspeicher und je einem der Prozessoren eingeschalteten Puffer-Speichers. Arbeitsspeicher und Pufferspeicher sind jeweils in Seiten unterteilt, die beispielsweise einen Umfang von 2 KByte haben. Jede Seite ist wiederum in Klassen unterteilt. Für die Arbeitsweise des Pufferspeichers ist dabei wesentlich, daß Daten aus dem Arbeitsspeicher nur in die gleiche Klasse im Datenpuffer eingetragen werden, aus der sie im Arbeitsspeicher stammen.The figure shows the basic structure of a in a Muütiprocessorsystem between working memory and one of the processors activated buffer memory. RAM and buffer memory are each subdivided into pages that have a size of 2 KByte, for example. Each side is in turn in Classes divided. For the operation of the buffer memory it is essential that data from the Main memory can only be entered in the same class in the data buffer from which it is entered in the main memory come.
Jedem Pufferspeicher, der üblicherweise auch als Cache bezeichnet wird, ist ein eigenes Adreßregister ARP zur Speicherung der vollständigen Adresse zugeordnet, mit der über den Arbeitsspeicher zum Pufferspeicher zugegriffen wird. Der höherwertige Teil des Adreßregisters ARP enthält dabei die sogenannte Seitenadresse, während im niederwertigen Teil die Klassenadresse gespeichert ist, die die Adressierung innerhalb einer Seite vornimmt. Der Pufferspeicher besteht im einzelnen aus einem in η gleich große Bänke DX ... Bn unterteilten Datenpuffer und ebenfalls n, den einzelnen Datenpufferbänken zugeordneten Tag/Flag-Speichern, in denen die Seitenadressen aller Pufferspeichereinträge gespeichert sind, wobei gemäß dem »Set-Assoz:iativ«-Prinzip keine strenge Zuordnung auf eine bestimmte Bank, sondern nur eine teilassoziativeEach buffer memory, which is usually also referred to as a cache, is assigned its own address register ARP for storing the complete address with which the buffer memory is accessed via the main memory. The higher-order part of the address register ARP contains the so-called page address, while the lower-order part stores the class address that performs the addressing within a page. The buffer memory consists in detail of a data buffer subdivided into η banks of equal size DX ... Bn and also n tag / flag memories assigned to the individual data buffer banks in which the page addresses of all buffer memory entries are stored, whereby according to the »Set-Assoz: iative «principle, there is no strict assignment to a specific bank, but only a partially associative one
Zuordnung auf eine von mehreren Bänken vorgesehen ist.Assignment to one of several banks is provided.
Jeder Tag/Flag-Speicher besteht aus zwei Speichereinheiten mit identischem Speicherinhalt, wobei die erste Speichereinheit im folgenden als Original-Tag/ Flag-Speicher TFO 1 ... η und die andere Speichereinheit als Duplikat-Tag/Flag-Speicher TFD1 ... π bezeichnet wird. Beide Speichereinheiten 7"FO \ ... η und 7"FD1 ... η sind am Dateneingang mit dem Seitenadreßteil des dem zugehörigen Prozessor, z. B. dem Zentralprozessor zugeordneten Adreßregister ARP verbunden. Lese/Schreib-Zugriffe des jeweiligen Prozessors erfolgen wie üblich in der Weise, daß mit Hilfe der im Adreßregister ARP vorhandenen niederwertigen Adreßbits, der Klassenadresse, eine Seitenadresse pro Bank ausgewählt und diese ausgewählte Seitenadresse mit der Seitenadresse des Adreßregisters ARP verglichen wird. Dieser Adressenvergleich findet in einzelnen, den Original-Tag/Flag-Speichern 7"FO 1 ... π nachgeschalteten Vergleichsschaltungen CO 1 ... η statt, die bei Gleichheit beider Adressen anzeigen, daß die adressierten Daten in einer der Bänke Bi ... Bn des Datenpuffers vorhanden sind und in den zugehörigen Prozessor übertragen werden können.Each tag / flag memory consists of two memory units with identical memory contents, the first memory unit in the following as the original tag / flag memory TFO 1 ... η and the other memory unit as a duplicate tag / flag memory TFD 1 .. . π is denoted. Both memory units 7 "FO \ ... η and 7" FD1 ... η are connected to the data input with the page address part of the associated processor, e.g. B. the central processor associated address register ARP connected. Read / write accesses of the respective processor are carried out as usual in such a way that with the help of the low-order address bits in the address register ARP , the class address, one page address is selected per bank and this selected page address is compared with the page address of the address register ARP. This address comparison takes place in individual comparison circuits CO 1 ... η connected downstream of the original tag / flag memories 7 "FO 1 ... π, which, if both addresses are the same, indicate that the addressed data is in one of the banks Bi .. Bn of the data buffer are available and can be transferred to the associated processor.
Bei Schreibaktualisierungsanforderungen an das »Private-Cache« wird nun anstelle des Original-Tag/ Flag-Speichers 7"FO1 ... η das sogenannte Duplikat 7FD1 ... η verwendet, wodurch die ansonsten unvermeidliche zeitliche Belastung des Private-Cache in vorteilhafter Weise weitgehend reduziert werden kann. Die für die Schreiboperationen erforderlichen Aktualisierungsadressen werden in einem eigenen, dem Arbeitsspeicher zugeordneten Adreßregister ARS bereiigestellt. Der Zugriff erfolgt auch hier analog zum Original-Tag/Flag-Speicher TFO 1 ... /7 in der Weise, daß über die Klassenadresse, d. h. in diesem Fall über die niederwertigen Adreßbits des Adreßregisters A/?S eine Seitenadresse pro Bank im Duplikat TFD1 ... π ausgewählt und mit Hilfe von den Duplikat-Tag/Flag-Speichern TFD1 ... η nachgeschalteten Vergleichsschaltungen CDI ... η ein Vergleich zwischen der ausgewählten Seitenadresse und der im Adreßregister ARS vorhandenen Seitenadresse durchgeführt wird.In the case of write update requests to the "private cache", the so-called duplicate 7FD1 ... η is now used instead of the original tag / flag memory 7 "FO1 ... η , which advantageously reduces the otherwise unavoidable time load on the private cache The update addresses required for the write operations are provided in a separate address register ARS assigned to the main memory. Here, too, access is analogous to the original tag / flag memory TFO 1 the class address, ie in this case a page address per bank in the duplicate TFD 1 ... π is selected via the low-order address bits of the address register A /? S and comparison circuits connected downstream using the duplicate tag / flag memories TFD 1 ... η CDI ... η a comparison is made between the selected page address and the page address present in the address register ARS.
Die in Abhängigkeit von der Art der verschiedenen Zugriffe zum Pufferspeicher unterschiedliche Zuschaltung der in den beiden Adreßregistern ARP und ARS bereitgestellten Adressen erfolgt mittels zweier Multiplexer MUXX bzw. MUX 2, wobei die Ausgänge des Multiplexers MUX 1 mit dem Original-Tag/Flag-Speicher TFO 1 ... η und die Ausgänge des Multiplexers MUX2 mit dem Duplikat-Tag/Flag-Speicher TFDX ... η verbunden sind. Eingangsseitig s:nd die beiden Multiplexer MUXX und MUX 2 in der Weise geschaltet, daß der Klassenadreßteil des Adreßregisters ARP mit dem ersten Eingang von MUX1 und mit dem zweiten Eingang von MUX 2 verbunden ist, während der Klassenadreßteil des Adreßregisters A/?Smit dem ersten Eingang von MUX 2 und mit dem zweiten Eingang von MUX 1 verbunden ist.Depending on the type of different accesses to the buffer memory, the addresses provided in the two address registers ARP and ARS are switched on by means of two multiplexers MUXX or MUX 2, the outputs of multiplexer MUX 1 with the original tag / flag memory TFO 1 ... η and the outputs of the multiplexer MUX2 are connected to the duplicate tag / flag memory TFDX ... η . On the input side s : nd the two multiplexers MUXX and MUX 2 connected in such a way that the class address part of the address register ARP is connected to the first input of MUX 1 and to the second input of MUX 2 , while the class address part of the address register A /? first input of MUX 2 and connected to the second input of MUX 1.
Normale Lesezugriffe vom Prozessor erfolgen nun in der Weise, daß — sofern an einem der Vergleicherschaltungen COl ... η Adressengleichheit signalisiert wird — über einen mit den Ausgängen aller Vergleicherschaltungen CO1... η verbundenen Bankauswahlcodierer BACein Auswahlcode an einen Bankauswahlmultiplexer BAM geht, mit dem die jeweils zuständige Bank B1... η eingestellt und die angeforderten Daten D vom Pufferspeicher zum Prozessor durchgeschaltet werden.Normal read accesses by the processor are now carried out in such a way that - if the same address is signaled at one of the comparator circuits CO1 ... η - a selection code is sent to a bank selection multiplexer BAM via a bank selection encoder BAC connected to the outputs of all comparator circuits CO 1 ... with which the respectively responsible bank B 1 ... η is set and the requested data D is switched through from the buffer memory to the processor.
Bei Schreiboperationen muß zunächst festgestelltIn the case of write operations, it must first be established
werden, ob die Information im Cache dupliziert ist. Dazu sind die Ausgänge der Korriparatoren COl ... η außerdem mit jeweils zugeordneten UND-Gliedern UD1 ... π verbunden, deren jeweils zweite Eingänge mit einem Schreibimpuls WCL angesteuert werden. Die Ausgänge dieser UND-Glieder wiederum sind mit der jeweils zugehörigen Bank BX ... η des Datenpuffers verbunden, so daß bei Schreiboperationen, sofern eine Adreßübereinstimmung vorliegt, die neuen Daten in den Datenpuffer eingetragen werden können. Dem Datenpuffer ist ferner ein eigenes Datenregister DR zugeordnet, in dem in Abhängigkeit von der jeweiligen Operation ent weder die Leseda ten vom Arbeitsspeicher oder die Schreibdaten vom Prozessor bereitgestellt werden.whether the information in the cache is duplicated. For this purpose, the outputs of the Korriparatoren COl ... also η with respectively associated AND gates UD 1 ... π connected, whose respective second inputs are controlled by a write pulse WCL. The outputs of these AND gates are in turn connected to the respectively associated bank BX... The data buffer is also assigned its own data register DR , in which, depending on the respective operation, either the read data from the main memory or the write data from the processor are provided.
Die Ausgänge der den Duplikat-Tag/Flag-Speichern TFD 1 ... π zugeordneten Vergleichsschaltung-^ CD 1 ... η sind über eine ODER-Verknüpfung OG mit nachgeschaltetem Flipflop FF mit einer Ablaufsteuerung AS verbunden, die unter anderem die Ansteuerung für die beiden Adreßmultiplexer MUX1 und MUX 2 sowie die Erzeugung eines Schreib/Löschsignals SL bewirkt.The outputs of the comparison circuit- ^ CD 1 ... η assigned to the duplicate tag / flag memory TFD 1 ... π are connected via an OR operation OG with a downstream flip-flop FF to a sequence control AS which, among other things, controls the causes the two address multiplexers MUX 1 and MUX 2 and the generation of a write / erase signal SL .
Die Ausgänge der Vergleichsschaltungen CD X ... η sind außerdem über η weitere UND-Glieder UD X ... η mit dem Schreib- bzw. Löschsignal SL verknüpft, während die jeweiligen Ausgänge dieser UND-Glieder UD1 ... π sowohl mit den zugehörigen Original-Tag/ Flag-Speichern TFOl ... η als auch mit den entsprechenden Duplikat-Tag/Flag-Speichern TFD1 ... η verbunden sind. Auf diese Weise können bei Schreibaktualisierungen — sofern in den jeweiligen Vergleichsschaltungen CDX ... η Adressengleichheit gegeben ist — die Tag/Flag-Einträge duplizierter Daten sowohl im Original-Tag/Flag-Speicher 7F01 ... π als auch im Duplikat-Tag/Flag-Speicher TFD1... π jeweils für ungültig erklärt werden. Bei Lesezugriffen, bei denen die gewünschten Daten nicht im Pufferspeicher vorhanden sind und deshalb erst neu eingetragen werden müssen, kann mit Hilfe des Schreibimpulses WCL die zugehörige Schreibadresse sowohl in den Original- als auch in den Duplikat-Tag/Flag-Speicher eingetragen werden.The outputs of the comparison circuits CD X ... η are also linked via η further AND elements UD X ... η with the write or delete signal SL , while the respective outputs of these AND elements UD 1 ... π both with the associated original tag / flag memory TFOl ... η as well as the corresponding duplicate tag / flag memory TFD 1 ... η are connected. In this way, in the case of write updates - provided that the respective comparison circuits CDX ... η have the same address - the tag / flag entries of duplicated data both in the original tag / flag memory 7F01 ... π and in the duplicate tag / Flag memory TFD 1 ... π can each be declared invalid. For read accesses where the desired data is not available in the buffer memory and therefore has to be re-entered, the associated write address can be entered in both the original and the duplicate tag / flag memory with the help of the write pulse WCL.
Hierzu 1 Blatt Zeichnungen1 sheet of drawings
Claims (4)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE3012205A DE3012205C2 (en) | 1980-03-28 | 1980-03-28 | Multiprocessor data processing system with several buffer memories each assigned to a processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE3012205A DE3012205C2 (en) | 1980-03-28 | 1980-03-28 | Multiprocessor data processing system with several buffer memories each assigned to a processor |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3012205A1 DE3012205A1 (en) | 1981-10-08 |
DE3012205C2 true DE3012205C2 (en) | 1982-05-27 |
Family
ID=6098714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3012205A Expired DE3012205C2 (en) | 1980-03-28 | 1980-03-28 | Multiprocessor data processing system with several buffer memories each assigned to a processor |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE3012205C2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5724549A (en) * | 1992-04-06 | 1998-03-03 | Cyrix Corporation | Cache coherency without bus master arbitration signals |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3771137A (en) * | 1971-09-10 | 1973-11-06 | Ibm | Memory control in a multipurpose system utilizing a broadcast |
-
1980
- 1980-03-28 DE DE3012205A patent/DE3012205C2/en not_active Expired
Also Published As
Publication number | Publication date |
---|---|
DE3012205A1 (en) | 1981-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2226382C3 (en) | Data processing system with several processors and buffer memories assigned to them | |
DE3131341C2 (en) | ||
DE2227882C2 (en) | Virtual storage arrangement | |
DE2235841C2 (en) | Data processing system with memory control for at least one processor and buffer memories assigned to it | |
DE3151745C2 (en) | ||
DE2630323C3 (en) | Data storage device with a main memory, an auxiliary memory and a look-ahead logic | |
DE2241257C3 (en) | Data processing system | |
DE69629140T2 (en) | Cache-ability attribute for virtual addresses in caches with both virtual and physical index | |
DE2939411C2 (en) | Data processing system with virtual memory addressing | |
DE2847960A1 (en) | MEMORY CONTROL DEVICE | |
DE2523414B2 (en) | Hierarchical storage arrangement with more than two storage levels | |
DE2339636C2 (en) | Device for addressing a writable microprogram memory | |
DE3621321A1 (en) | CACHE STORAGE OR MULTIPROCESSOR SYSTEM AND OPERATING METHOD | |
DE2240433A1 (en) | HIERARCHICAL DATA STORAGE DEVICE | |
DE2749850A1 (en) | HYBRID SEMICONDUCTOR STORAGE WITH ASSOCIATIVE PAGE ADDRESSING, PAGE EXCHANGE AND CONTROL ON THE CHIP | |
DE3803759A1 (en) | CACHE STORAGE FOR USE IN MULTIPROCESSOR SYSTEMS | |
DE2726488A1 (en) | ADDRESS TRANSLATION DEVICE | |
DE10006430A1 (en) | Method for adhering to coherence protocol for data storage system especially computer cache, includes switching of first status of entry in first cache through first cache into second status, so that entry of first cache can be cleared | |
DE69130626T2 (en) | Method for managing a cache memory device | |
DE4234695C2 (en) | Computer storage system and method for maintaining cache coherence between a data cache and a segment descriptor cache | |
DE3012205C2 (en) | Multiprocessor data processing system with several buffer memories each assigned to a processor | |
EP1449091A2 (en) | Method for synchronising a memory with the main memory of a computer | |
DE4227784A1 (en) | COMPUTER SYSTEM AND METHOD FOR REMOVING A PAGE ERROR | |
DE3121710C2 (en) | Control device for a virtual memory in a data processing system | |
EP0257405B1 (en) | Method and apparatus for updating control bit combinations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8339 | Ceased/non-payment of the annual fee |