DE3012205A1 - Data processor assembly with multiple processors - has duplicate tag flag memory associated with each original memory, coupled to respective address parts - Google Patents

Data processor assembly with multiple processors - has duplicate tag flag memory associated with each original memory, coupled to respective address parts

Info

Publication number
DE3012205A1
DE3012205A1 DE19803012205 DE3012205A DE3012205A1 DE 3012205 A1 DE3012205 A1 DE 3012205A1 DE 19803012205 DE19803012205 DE 19803012205 DE 3012205 A DE3012205 A DE 3012205A DE 3012205 A1 DE3012205 A1 DE 3012205A1
Authority
DE
Germany
Prior art keywords
address
memory
tag
flag
flag 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
DE19803012205
Other languages
German (de)
Other versions
DE3012205C2 (en
Inventor
Wolfgang Dipl.-Phys. 8000 München Feißel
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE3012205A priority Critical patent/DE3012205C2/en
Publication of DE3012205A1 publication Critical patent/DE3012205A1/en
Application granted granted Critical
Publication of DE3012205C2 publication Critical patent/DE3012205C2/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems

Abstract

The assembly has an operational memory with several buffer stores between the same and a processor. Each buffer store contains an address register with a low value part for the class address and a high value part for its side address. Each buffer store consists of a data buffer, divided into several registers of identical size and several original TAG/FLAG memories for the side address, associated to these registers. To each original TAG/FLAG memory is associated a duplicate TAG/FLAG memory. It is connected on one hand to the side address part of the address register (ARP) of the respective processor, and on the other hand to the side class address part of a further address register (ARS), associated to the operational memory. The output of the duplicate TAG/FLAG memory is connected with a comparator circuit (CD1-n), which compares the side address in the duplicate TAG/FLAG memory with a right address, arriving directly from the operational memory.

Description

Multiprozessor-DatenverarbeitungsanlageMultiprocessor data processing system

Die Erfindung bezieht sich auf eine Multiprozessor-Datenverarbeitungsanlage gemäß dem Oberbegriff des Hauptanspruchs.The invention relates to a multiprocessor data processing system according to the preamble of the main claim.

Größere Datenverarbeitungsanlagen enthalten neben einem Zentralprozessor vielfach noch wenigstens einen Ein/ Aussabe-Prozessor, der selbständig die Ubertragung 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.Larger data processing systems contain besides a central processor in many cases at least one input / output processor that independently handles the transmission of data between peripheral units and the main memory and vice versa controls. It is also known from a certain performance class between the central processor and working memory to provide a buffer memory, a so-called cache, in which part of the total database contained in the main memory for the purpose can be cached for faster access. The effectiveness of a Such a buffer memory is greatest when it is exclusively from the central processor is used, i.e.

auf Multiprozessor-Anlagen übertragen, wenn jedem Prozessor dieses Systems ein eigener Pufferspeicher, ein sogenannter Private Cache" zur Verfügung steht.transferred to multiprocessor systems, if each processor this System has its own buffer storage, a so-called private cache " is available.

Beim Private Cache ergeben sich jedoch Probleme in Bezug auf die korrekte Datenhaltung, was im folgenden anhand einer kurzen Erläuterung von Aufbau und Arbeitsprinzip eines Cache näher dargelegt werden soll.With the private cache, however, there are problems with the correct Data management, which is explained below with the aid of a brief explanation of the structure and working principle of a cache should be explained in more detail.

Ein Pufferspeicher besteht üblicherweise aus n Zellen, in die Daten aus dem Arbeitsspeicher übertragen werden können. Jeder dieser Datenpufferzellen ist für die jeweils zugehörige Adresse ein im sogenannten Tag/Flag-Speicherteil vorhandene Tag/Flag-Zelle fest zugeordnet.A buffer memory usually consists of n cells into which data can be transferred from the main memory. Each of these data buffer cells is in the so-called tag / flag memory part for the respective address Existing tag / flag cell permanently assigned.

Bei Lesezugriffen des Zentralprozessors wird deshalb zunächst dieser zag/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 w#ird 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 waren. Wenn dann bei einem Lesezugriff die gewünschte Adresse nicht im Tag/Flag-Speicherteil des Cache vorgefunden wird, können die zugehörlen, 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 äLler',Private-Caches durchgenustert 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-Schreibbetrieb zwischen einem Zentralprozessor und seinem Private-Cache zeitlich empfindlich gestört.In the case of read accesses by the central processor, this is the first zag / flag memory then examines whether the address sent by the central processor or the associated data are actually contained in the buffer memory. Unless the If the desired address is saved, the associated data can be obtained immediately the data buffer part to the central processor, otherwise a Access to memory required. In terms of write operations will be Main memory and buffer memory are often operated in such a way that according to the "store-through" -Principle is always written into the main memory and only then into the cache, if the data to be overwritten was already duplicated in the cache. If then in the case of read access, the desired address is not in the tag / flag memory part of the Cache is found, the associated, current data can be retrieved in any case be fetched from the main memory. The consistent application of the "store-through" principle in multiprocessor systems this inevitably results in write operations written to the main memory and to each of the "private caches" in the system if the data to be overwritten was already duplicated there. The latter however, is only then determine if the tag / flag memory is "private caches" be sampled. This now has two unpleasant consequences. Must once a write connection is established from each ~ private cache to all the others and on the other hand the private read-write operation between a central processor and its private cache disturbed over time.

Das erstgenannte Verbindungsproblem läßt sich dadurch entschärfen und zumindest im Aufwand reduzieren, wenn die Aktualisierungsaufforderung 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ßbereich im Arbeitsspeicher beschreiben. Es folgt daraus, daß bei nur wenigen der von anderen Prozessoren bewirkten Schreibaktualisierungsauforderungen die zu überschreibenden Daten dupl.;ziert vorliegen und daß der Inhalt des Datenpuffers deshalb nur selten modifiziert werden muß. Nur ein solcher Vorgang ist in den laufenden Betrieb des Zentralprozessors und seines "Private-Cache" einzuschieben und führt zu einer zeitlichen Störung.The first-mentioned connection problem can thereby be alleviated and at least reduce the effort when the update request for write operations is controlled centrally by the main memory. Regarding the second problem, i. the temporal disruption of operation between the central processor and its private cache through write operations of other processors it is assumed that the various Processors involved in a system never always have the same areas at the same time, but with a high probability different address areas in the main memory describe. It follows that only a few of them were caused by other processors Write update requests that duplicate the data to be overwritten; and that the content of the data buffer therefore rarely needs to be modified. Just such a process is in the running of the central processor and its Insert "private cache" and lead to a temporal disruption.

Der vorliegenden Erfindung liegt nun die Aufgabe zugrunde, einen Lösungsweg aufzuzeigen, wie die beim "Private-Cache"-Betrieb durch Aktualisterungsanforderungen bedingten zeitlichen Störungen möglichst einfach verhindert oder wenigstens erheblich reduziert werden können.The present invention is now based on the object of a solution to show how the "private cache" operation through update requests caused temporal disruptions as easily as possible prevented or at least significantly can be reduced.

Ausgehend von einer Multiprozessor-Datenverarbeitungs- - -anlage 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 This object is achieved according to the invention by the type described in more detail at the outset characterizing part of the main claim mentioned features solved.

Die Maßnahme, 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 Datenpufferteil 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 Datenpufferteil 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 überschreibenden Daten anzeigt, wird der Prozessor-Cache-Betrieb angehalten und eine Schreib- oder auch Löschoperation ausgeführt.The measure, the tag / flag memory of each "private cache" to duplicating has the advantage that the tag / flag memory designated as the original as usual to find the data in the data buffer part during read / write access of the associated processor is used, while the second tag / flag memory, referred to as a duplicate, is used to find the data in the data buffer part during write operations of all others Processors is used. Both tag / flag memories are therefore completely independent used by each other and run asynchronously to each other with two exceptions. The one There is an exception when the read data is entered in the data buffer section because then the address of the data entry in both tag / flag memories simultaneously must be enrolled. In the second case, if the duplicate on an # update request indicates the presence of the data to be overwritten, the processor cache operation stopped and a write or delete operation carried out.

Im folgenden wird ein Ausführungsbeispiel der Erfindung anhand der Zeichnung näher erläutert.In the following an embodiment of the invention is based on the Drawing explained in more detail.

Die Figur zeigt den prinzipiellen Aufbau eines in einem Multiprozessorsystem zwischen Arbeitsspeicher und Je einem der Prozessoren eingeschalteten Pufferspeichers.The figure shows the basic structure of a in a multiprocessor system between the main memory and the buffer memory that is switched on for each of the processors.

Arbeitsspeicher und Pufferspeicher sind Jeweils in Seiten unterteilt, die beispielsweise einen Umfang von 2 KByte haben. Jede Seite ist wiederum in Klassen unterteilt.The main memory and buffer memory are each divided into pages, which have a size of 2 KByte, for example. Each side is in turn in classes divided.

Für die Arbeitweise 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.It is essential for the operation of the buffer memory that Data from the main memory is only entered in the same class in the data buffer become, from the they come from memory.

Jedem Pufferspeicher, der üblicherweise auch als Cache bezeichnet wird, ist ein eigenes Adressregister ARP zur Speicherung der vollständigen Adresse zugeordnet, mit der über den Arbeitsspeicher zum Pufferspeicher zugegriffen wird. Der höherwertige Teil des Adressregisters 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 arbeitet nach dem "Set-A.soziativ"-Prinzip und besteht im einzelnen aus einem in n gleich große Bånke BI...3n unterteilten Datenpuffer und ebenfalls n, den einzelnen Datenpufferbänken zugeordneten Tag/Flag-Speichern, in denen die Seitenadressen aller Pufferspeichereinträge gespeichert sind.Any buffer memory, commonly referred to as a cache is a separate address register ARP for storing the complete address assigned with which the buffer memory is accessed via the main memory. The more significant part of the address register ARP contains the so-called page address, while the class address, which is used for addressing, is stored in the lower-order part within a page. The buffer memory works according to the "Set-A.soziativ" principle and consists in detail of a Bånke BI ... 3n of equal size Data buffer and also n tag / flag memories assigned to the individual data buffer banks, in which the page addresses of all buffer entries are stored.

Jeder Tag/Flag-Speicher besteht aus zwei Speichereinheiten mit identischem Speicherinhalt, wobei die erste Speichereinheit im folgenden als Original-Tag/Flag-Spei cher TFOl...n und die andere Speichereinheit als Duplikat-Tag/Flag-Speicher TFD1...n bezeichnet wird. Beide Speichereinhelten TFOi...n und TFD7...n sind am Dateneingang mit dem Seitenadressteil des dem zugehörigen Prozessor, z. B. dem Zentralprozessor zugeordneten Adressregisters ARP verbunden. Liese/Schreib-Zugriffe des Jeweiligen Prozessors erfolgen wie üblich in der Weise, daß mit Hilfe der im Adressregister ARP vorhandenen niederwertigen Adressbits, der Klassenadresse, eine Seitenadresse pro Bank ausgewählt und diese ausgewählte Seitenadresse mit der Seitenadresse des Adressregisters ARP verglichen wird. Dieser Adressenvergleich findet in einzelnen, den Original-Tag/Flag-Speichern TFOi,..n nachgeschalteten Vergleichsschaltungen COi.,.n statt, die bei Gleichheit beider Adressen anzeigen, daß die adressierten Daten in einer der Bänke BI...3n 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 content, the first memory unit in the following as the original tag / flag memory cher TFOl ... n and the other memory unit as a duplicate tag / flag memory TFD1 ... n referred to as. Both memory units TFOi ... n and TFD7 ... n are at the data input with the side address part of the associated processor, e.g. B. the central processor assigned address register ARP. Read / write access to the respective Processors are carried out as usual in such a way that with the help of the address register ARP existing low-order address bits, the class address, a side address selected per bank and this selected page address with the page address of the Address register ARP is compared. This address comparison takes place in individual, the original tag / flag memory TFOi, .. n downstream comparison circuits COi.,. N, which, if both addresses are the same, indicate that the addressed Data are present in one of the banks BI ... 3n of the data buffer and in the associated Processor transferred can be.

Bei Schreibaktualisierungsanforderungen an das "Private-Cache wird nun anstelle des Original-Tag/Flag-Speichers TFOl...n das sogenannte Duplikat TFD1...n verwendet, wodurch die ansonsten unvermeidliche zeitliche Belastung des Private-Cache in vorteilhafter Weise weitgehend reduziert werden kann. Die für die Schreiboperationen erforderlichen Äktualisierungsadressen werden in einem eigenen, dem Arbeitsspeicher zugeordneten Adressregister ARS bereitgestellt. Der %zugriff erfolgt auch hier analog zum Original-Tag/Flag-Speicher TFO?...n in der Weise, daß über die Klassenadresse, d. h. in diesem Fall über die niederwertigen Adressbits des Adressregisters ARS eine Seitenadresse pro Bank im Duplikat TFDl.,.n ausgewählt und mit Hilfe von den Duplikat-Tag/Flag-Speichern TFD7...n nachgeschalteten Vergleichsschaltungen CDl...n ein Vergleich zwischen der ausgewählten Seitenadresse und der im Adressregister ARS vorhandenen Seitenadresse durchgeführt wird.For write update requests to the "private cache" will now instead of the original tag / flag memory TFOl ... n the so-called duplicate TFD1 ... n used, which reduces the otherwise unavoidable time load on the private cache can be largely reduced in an advantageous manner. The one for the write operations The update addresses required are stored in their own, the main memory assigned address register ARS provided. The% access is analogous here as well to the original tag / flag memory TFO? ... n in such a way that the class address, d. H. in this case via the low-order address bits of the address register ARS one page address per bank in the duplicate TFDl.,. n is selected and with the help of the Duplicate tag / flag storage TFD7 ... n downstream comparison circuits CDl ... n a comparison between the selected page address and that in the address register ARS existing page address is carried out.

Die in Abhängigkeit von der Art der verschiedenen Zugriffe zum'Pufferspeicher unterschiedliche Zuschaltung der in den beiden Adressregistern ARP und ARS bereitgestellten Adressen erfolgt mittels zweier Multiplexer MUX1 bzw.Depending on the type of different accesses to the buffer memory different connection of those provided in the two address registers ARP and ARS Addresses are made using two multiplexers MUX1 resp.

MIX2, wobei die Ausgänge des Multiplexers NUXi mit dem Original-Tag/Flag-Speicher TFOI...n und die Ausgänge des Multiplexers MUX2 mit dem Duplikat-Tag/Flag-Speicher TFDI.0.n verbunden sind. Eingangsseitig sind die beiden Multiplexer MUXI und MUX2 in der Weise geschaltet, daß der Klassenadressteil des Adressregisters ARP mit dem ersten Eingang von MUXI und mit dem zweiten Eingang von MUX2 verbunden ist, während der Klassenadressteil des Adressregisters ARS mit dem ersten Eingang von MUX2 und mit dem zweiten Eingang von MUXI verbunden ist.MIX2, the outputs of the multiplexer NUXi with the original tag / flag memory TFOI ... n and the outputs of the multiplexer MUX2 with the duplicate tag / flag memory TFDI.0.n are connected. On the input side are the two multiplexers MUXI and MUX2 switched in such a way that the class address part of the address register ARP with the first input of MUXI and connected to the second input of MUX2 while the class address part of the address register ARS with the first input of MUX2 and connected to the second input of MUXI.

Normale Lesezugriffe vom Prozessor erfolgen nun in der Weise, daß - sofern an einem der Vergleicherschaltungen COl.. .n Adressengleichheit signalisiert wird - über einen mit den Ausgängen aller Vergleicherschaltungen C01...n verbundenen Bankauswahlcodierer BAC ein Auswahl-oder an einen Bankauswahlmultiplexer BAM geht, mit dem die Jeweils zuständige Bank BI...n eingestellt und die angeforderten Daten D vom Pufferspeicher zum Prozessor durchgeschaltet werden.Normal read accesses from the processor now take place in the Way, that - if one of the comparator circuits COl .. .n signals the same address - is connected to the outputs of all comparator circuits C01 ... n via a Bank selection encoder BAC goes to a selection or to a bank selection multiplexer BAM, with which the responsible bank BI ... n is set and the requested data D can be switched through from the buffer memory to the processor.

Bei Schreiboperationen muß zunächst festgestellt werden, ob die Information im Cache dupliziert ist. Dazu sind die Ausgänge der Komparatoren C01...n außerdem mit Jeweils zugeordneten UND-Gliedern UDI...n 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 BI...n des Datenpuffers verbunden, so daß bei Schreiboperationen, sofern eine Adressü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 entweder die Lesedaten vom Arbeitsspeicher oder die Schreibdaten vom Prozessor bereitgestellt werden.During write operations it must first be determined whether the information is duplicated in the cache. The outputs of the comparators C01 ... n are also used for this purpose connected to respectively assigned AND gates UDI ... n, their respective second inputs can be controlled with a write pulse WCL. The outputs of these AND gates are in turn connected to the respectively associated bank BI ... n of the data buffer, so that in write operations, if there is an address match, the new Data can be entered in the data buffer. The data buffer is also a own data register DR assigned, in which depending on the respective operation either the read data from the main memory or the write data provided by the processor will.

Die Ausgänge der den Duplikat-Tag/Flag-Speichern TFD1...n zugeordneten Vergleichsschaltungen CDl..,n 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 Adressmultiplexer MUXI und MUX2 sowie die Erzeugung eines Schreib-Löschsignals SL bewirkt.The outputs of the TFD1 ... n assigned to the duplicate tag / flag memories Comparison circuits CDl .., n are via an OR link OG with a downstream Flip-flop FF is connected to a sequential control system AS, which, among other things, controls for the two address multiplexers MUXI and MUX2 as well as the generation of a write-erase signal SL causes.

Die Ausgänge der Vergleichs schaltungen CD1...n sind außerdem über n weitere UND-Glieder UD1...n mit dem Schreib- bzw. Löschsignal SL verknüpft, während die jeweiligen Ausgänge dieser UND-Glieder UD1...n sowohl mit den zugehörigen Original-Tag/Flag-Speichern TFOl,..n als auch mit den entsprechenden Duplikat-Tag/Flag-Speichern TFD1...n verbunden sind. Auf diese Weise können bei Schreibaktualisierungen - sofern in den Jeweiligen Vergleichsschaltungen CD1...n Adressengleichheit gegeben ist - die Tag/Flag Einträge duplizierter Daten sowohl im Original-Tag/Flag-Speicher TFOl...n als auch im Duplikat-Tag/Flag-Speicher TFDl,.,n Jeweils für ungültig erklärt werden.The outputs of the comparison circuits CD1 ... n are also about n further AND elements UD1 ... n linked to the write or delete signal SL, while the respective outputs of these AND elements UD1 ... n both with the associated original tag / flag memories TFOl, .. n as well as with the corresponding duplicate tag / flag storage TFD1 ... n are connected. This allows for write updates - provided the respective comparison circuits CD1 ... n have the same address - the tag / flag entries of duplicated data both in the original tag / flag memory TFOl ... n as well as in the duplicate tag / flag memory TFDl,., n can each be declared invalid.

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 Originalals auch in den Duplikat-Tag/Flag-Speicher- eingetragen werden.For read accesses where the desired data is not in the buffer memory are available and therefore have to be re-entered, can be done with the help of the Write pulse WCL the associated write address in both the original and entered in the duplicate tag / flag memory.

1 Figur 4 Patentansprüche Leerseite1 Figure 4 claims Blank page

Claims (4)

Patentansprüche 2. Multiprozessor-Datenverarbeitungsanlage mit einem Arbeitsspeicher und mehreren, Jeweils zwischen Arbeitsspeicher und Je einem der Prozessoren eingeschalteten Pufferspeichern, die Jeweils ein Adressregister mit einem niedrigwertigen Teil für die Klassenadresse und einem höherwertigen Teil für eine Seitenadresse enthalten, die ferner aus einem in mehrere gleich große Bänke unterteilten Datenpuffer und mehreren, Jeweils einem dieser Bänke zugeordneten, der Speicherung der Seitenadresse dienenden Original-Tag/Flag-Speichern bestehen, wobei Pufferspeicher und Arbeitsspeicher in eine vorgegebene Anzahl von Klassen unterteilt sind und die Daten in beiden Speichern in die Jeweils gleiche Klasse eingespeichert werden, ferner mit der Klassenadresse der Jeweilige Inhalt von Datenpuffer und zugehörigem Original-Tag/Flag-Speicher ausgewählt wird und am Ausgang eines Jeden Original-Tag/Flag-Speichers mit Hilfe Je einer Vergleichsschaltung ein Adressenvergleich zwischen der unmittelbar vom Adressregister des Prozessors stammenden Adresse und der im Original-Tag/Flag-Speicher gegebenen gespeicherten Seitenadresse erfolgt, d a d u r c h g e -k e n n z e i c h n e t, daß Jedem Original-Tag/Flag-Speicher ein Duplikat-Tag/Flag-Speicher zugeordnet ist, der einerseits mit dem Seitenadressteil des dem zugehörigen Prozessor zugeordneten Adressregisters (ARP) und andererseits mit dem Seitenklassen-Adressteil eines dem Arbeitsspeicher zugeordneten weiteren Adressregisters (ARS) verbunden ist und dessen Ausgang mit einer weiteren Vergleichsschaltung (CD1...n) verbunden ist, in der ein Adressenvergleich zwischen der im Duplikat-Tag/Flag-Speicher gespeicherten Seitenadresse und eines unmittelbar vom Arbeitsspeicher kommenden Schreibadresse stattfindet.Claims 2. Multiprocessor data processing system with a RAM and several, each between RAM and each one of the Processors activated buffers, each with an address register a low-order part for the class address and a high-order part for contain a page address, which also consists of one in several banks of the same size subdivided data buffers and several, each assigned to one of these banks, there are original tag / flag memories serving to save the page address, with buffer memory and working memory in a predetermined number of classes are divided and the data in both memories in the same class are stored, furthermore with the class address the respective content of the data buffer and the associated original tag / flag memory is selected and at the output of a An address comparison for each original tag / flag memory with the aid of a comparison circuit between the address coming directly from the address register of the processor and the stored page address given in the original tag / flag memory takes place, d u r c h g e -k e n n z e i c h n e t that every original tag / flag memory a duplicate tag / flag memory is assigned to the one hand with the page address part the address register (ARP) assigned to the associated processor and on the other hand with the page class address part of another assigned to the main memory Address register (ARS) is connected and its output with another comparison circuit (CD1 ... n) is connected, in which an address comparison between the in the duplicate tag / flag memory stored page address and one coming directly from the main memory Write address takes place. 2. Multiprozessor-Datenverarbeitungsanlage nach Anspruch 1, d a d u r c h g e k e n n z e i c h n e t, daß zwischen den Adressregistern (ARP, ARS) des Prozessors -und des Arbeitsspeichers und dem Original- bzw. Duplikat-Tag/Flag-Speicher (TFOI...n bzw. TFD1...n) zwei Multiplexer (MnX1, MUX2) eingeschaltet sind, derart, daß der Klassenadressteil des dem Prozessor zugeordneten Adressregister(ARP) mit dem ersten Eingang (1) des einen Multiplexers(MUX1) und mit dem zweiten Eingang (2) des anderen Multiplexers (MUX2) verbunden ist, während der Klassenadressteil des dem Arbeitsspeicher zugeordneten Adressregisters (ARS) mit dem zweiten Eingang (2) des einen Multiplexers (MUX1) und dem ersten Eingang (1) des anderen Multiplexers (MUX2) verknüpft ist und daß ferner der Ausgang des einen Multiplexers (MUXi) mit dem Original-Tag/Flag-Speicher (F01...n) und der Ausgang des anderen Multiplexers (MUX2) mit dem Duplikat-Tag/Flag-Speicher verbunden ist.2. Multiprocessor data processing system according to claim 1, d a d u r c h e k e n n n z e i c h n e t that between the address registers (ARP, ARS) the processor and the main memory and the original or duplicate tag / flag memory (TFOI ... n or TFD1 ... n) two multiplexers (MnX1, MUX2) are switched on in such a way that that the class address part of the address register (ARP) assigned to the processor the first input (1) of a multiplexer (MUX1) and the second input (2) the other multiplexer (MUX2) is connected while the class address part of the address register (ARS) assigned to the main memory with the second input (2) of one multiplexer (MUX1) and the first input (1) of the other multiplexer (MUX2) is linked and that also the output of a multiplexer (MUXi) with the original tag / flag memory (F01 ... n) and the output of the other multiplexer (MUX2) is connected to the duplicate tag / flag memory. 3. Multiprozessor- Datenverarbeitungsanlage nach Anspruch 1 oder 2, d a d u r c h g e k e n n z e i c h n e t, daß die Ausgänge der dem Original-Tag/Flag-Speicher (TFoI.. .n) nachgeschalteten Vergleicherschaltungen (COI...n) einerseits mit einem Bankauswahlcodierer (BAC) zur Ansteuerung eines den Datenpufferbänken (31. ..n) nachgeschalteten Bankauswahlmultiplexers (BAM) verbunden und andererseits mit einem Schreibimpuls (WCL) über jeweils zugeordnete UND-Glieder (UG1...n) verknüpft sind, deren Ausgänge mit den jeweils zugeordneten Bänken (B1...n) des Datenpuffers verbunden sind.3. Multiprocessor data processing system according to claim 1 or 2, it is noted that the outputs of the original tag / flag memory (TFoI .. .n) downstream comparator circuits (COI ... n) on the one hand with a Bank selection encoder (BAC) for controlling one of the data buffer banks (31 ... n) connected downstream bank selection multiplexer (BAM) and on the other hand with a Write impulses (WCL) are linked via assigned AND elements (UG1 ... n), their outputs are connected to the respectively assigned banks (B1 ... n) of the data buffer are. 4. Multiprozessor-Datenverarbeitungsanlage nach einem der vorhergehenden Ansprüche, d a d u r c h g e k e n n -z e i c h n e t, daß die Ausgänge der den Duplikat-Tag/Flag-Speichern (TFD1...n) zugeordneten Vergleichsschaltungen (CDI.. .n) einerseits mit einem Schreib-Löschsignal (SL) über Jeweils zugeordnete zweite UND-Glieder (UD1...n) verknüpft sind, deren Ausgänge sowohl mit den jeweils zugehörigen Duplikat-Tag/Flag-Speichern (TFD1.. .n) als auch mit dem Jeweils entsprechenden Original-Tag/Flag-Speichern (TFO1...n) verbunden sind und andererseits über ein ODER-Glied (OG) mit einer Ablaufsteuerung (AS) verbunden sind, deren Ausgangssignal zur Ansteuerung sowohl der Adress-Multiplexer(MUX1, MUX2) als auch des Schreib-Löschsignal-Eingangs der zweiten UND-Glieder (UD1...n) dient.4. Multiprocessor data processing system according to one of the preceding Claims that the outputs of the den Duplicate tag / flag memory (TFD1 ... n) associated comparison circuits (CDI .. .n) on the one hand with a write / delete signal (SL) via a second assigned in each case AND elements (UD1 ... n) are linked, the outputs of which are linked to both the associated duplicate tag / flag store (TFD1 .. .n) as well as with the Respective corresponding original tag / flag memories (TFO1 ... n) are connected and on the other hand are connected to a sequence control (AS) via an OR element (OG), their output signal to control both the address multiplexer (MUX1, MUX2) as the write / delete signal input of the second AND element (UD1 ... n) is also used.
DE3012205A 1980-03-28 1980-03-28 Multiprocessor data processing system with several buffer memories each assigned to a processor Expired DE3012205C2 (en)

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 true DE3012205A1 (en) 1981-10-08
DE3012205C2 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)

Cited By (1)

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

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2226382B2 (en) * 1971-09-10 1979-12-13 International Business Machines Corp., Armonk, N.Y. (V.St.A.) Data processing system with several processors and buffer memories assigned to them

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2226382B2 (en) * 1971-09-10 1979-12-13 International Business Machines Corp., Armonk, N.Y. (V.St.A.) Data processing system with several processors and buffer memories assigned to them

Cited By (1)

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

Also Published As

Publication number Publication date
DE3012205C2 (en) 1982-05-27

Similar Documents

Publication Publication Date Title
EP0013737B1 (en) Multilevel storage hierarchy for a data processing system
DE2224537C2 (en) Device and method for instruction selection in an assembly line processor
DE2235841C2 (en) Data processing system with memory control for at least one processor and buffer memories assigned to it
EP0010198B1 (en) Device for page replacement control in a data processing system with a virtual memory
DE3151745C2 (en)
DE2939411C2 (en) Data processing system with virtual memory addressing
DE2302074A1 (en) MEMORY PROTECTION ARRANGEMENT IN A MULTIPROCESSOR SYSTEM
DE2847960A1 (en) MEMORY CONTROL DEVICE
EP0600112A1 (en) Data processing system with virtual memory addressing and memory access controlled by keys
DE2523414A1 (en) HIERARCHICAL STORAGE ARRANGEMENT
DE3011552A1 (en) DATA PROCESSING SYSTEM WITH A MAIN STORAGE AND AT LEAST A DATA PROCESSOR WITH AN ASSIGNED ADDRESS CONVERTER
DE2455047A1 (en) DATA PROCESSING SYSTEM
DE3803759A1 (en) CACHE STORAGE FOR USE IN MULTIPROCESSOR SYSTEMS
DE2227882A1 (en) Virtual memory array
DE3502147C2 (en)
DE3046912C2 (en) Circuit arrangement for the selective deletion of cache memories in a multiprocessor data processing system
DE2926351A1 (en) LOOK-AHEAD MEMORY ADDRESS CONTROL DEVICE
DE2117581B2 (en) Device for address checking
DE2906685C2 (en)
EP0075893B1 (en) Memory operand alignment circuit arrangement for decimal and logical instructions
DE4227784A1 (en) COMPUTER SYSTEM AND METHOD FOR REMOVING A PAGE ERROR
DE3340956A1 (en) METHOD AND DEVICE FOR DETECTING MEMORY ACCESSES
DE3012205A1 (en) Data processor assembly with multiple processors - has duplicate tag flag memory associated with each original memory, coupled to respective address parts
DE2331394B1 (en) DATA PROCESSING SYSTEM WITH VIRTUAL ADDRESSING
DE2355814C2 (en) Channel access device for a hierarchical memory arrangement

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