DE4037332A1 - Monitoring data consistency in data processing system - using state identifiers associated wth each cache memory and evaluation of responses to address operations - Google Patents
Monitoring data consistency in data processing system - using state identifiers associated wth each cache memory and evaluation of responses to address operationsInfo
- Publication number
- DE4037332A1 DE4037332A1 DE4037332A DE4037332A DE4037332A1 DE 4037332 A1 DE4037332 A1 DE 4037332A1 DE 4037332 A DE4037332 A DE 4037332A DE 4037332 A DE4037332 A DE 4037332A DE 4037332 A1 DE4037332 A1 DE 4037332A1
- Authority
- DE
- Germany
- Prior art keywords
- cpu
- hit
- wbit
- data
- cam
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; 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
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
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)
- Multi Processors (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
Die Erfindung betrifft ein Verfahren zur Überwachung der Datenkonsistenz in einem Datenverarbeitungssystem gemäß dem Oberbegriff des Patentanspruches 1 und ein entsprechendes Datenverarbeitungssystem.The invention relates to a method for monitoring data consistency in a data processing system according to the preamble of claim 1 and a corresponding data processing system.
Die Entwicklung der Hard- und Softwaretechnologie in den letzten Jahren hat dazu geführt, daß es einfacher und billiger ist, eine bestimmte Leistung mit einem aus mehreren Verarbeitungseinheiten bestehenden Datenverarbeitungssystem zu erzielen, anstatt dieselbe Leistung mit nur einer Verarbeitungseinheit zu erreichen. Derartige Multiprozessorsysteme bedienen sich eines gemeinsamen Leitungssystems, eines sogenannten Bus-Systems, zur Kopplung der Verarbeitungseinheiten untereinander sowie mit einem gemeinsamen Arbeitsspeicher.The development of hardware and software technology in recent years Years has made it easier and cheaper a certain performance with one of several processing units to achieve existing data processing system, rather than the same performance with just one processing unit to reach. Such multiprocessor systems use one common line system, a so-called bus system, for Coupling the processing units with each other and with a shared memory.
Ein hoher Datenverkehr und Koordinierungsaufwand zwischen den Verarbeitungseinheiten und dem Arbeitsspeicher bedingen eine Optimierung der mittleren Datenzugriffszeit im System, die durch die Zugriffszeit des Arbeitsspeichers und die Leistungsfähigkeit des Leitungssystems bestimmt wird. Wegen der relativ langen Zugriffszeit des Arbeitsspeichters sind den Verarbeitungseinheiten private Cachespeicher zugeordnet, in denen nur ein Teil der im Arbeitsspeicher befindlichen Daten gespeichert ist. Hierfür am besten geeignet sind Copy-Back-Cachespeicher, bei denen im Gegensatz zu Write-Through-Cachespeicher, wo alle Schreibzugriffe grundsätzlich auch zum Arbeitsspeicher gehen und damit den Datenverkehr auf dem Leitungssystem erhöhen, Änderungen von Daten im Cachespeicher erlaubt sind, ohne daß der Arbeitsspeicher auf denselben Stand gebracht wird. A high data traffic and coordination effort between the Processing units and the working memory require one Optimization of the average data access time in the system, the through the access time of the working memory and the performance of the pipe system is determined. Because of the relative long access time of the working memory are the processing units private cache allocated in which only part of the data in the working memory is saved is. Copy-back caches are the most suitable for this, where unlike write-through caches where all Write access always goes to the main memory and thus increase the data traffic on the line system, changes of data in the cache is allowed without the RAM is brought to the same level.
Damit ergibt sich aber die Notwendigkeit, die Konsistenz der Daten im System zu gewährleisten, weil Speicherdaten sowohl im Arbeitsspeicher als auch in einem oder mehreren privaten Cachespeichern simultan vorhanden sein können. Dies bedeutet, daß bei jedem Speicherzugriff der aktuelle Wert erhalten werden muß, unabhängig davon, ob die Daten nur im Arbeitsspeicher oder zusätzlich in einem oder mehreren Cachespeichern abgelegt oder in einem Cachespeicher verändert worden sind und nur noch dort den aktuellen Wert besitzen.However, this results in the need to ensure the consistency of To ensure data in the system, because stored data in both Memory as well as in one or more private caches can be present simultaneously. This means that the current value is obtained each time the memory is accessed regardless of whether the data is only in the main memory or additionally stored in one or more cache memories or have been changed in a cache and only there have the current value.
Aus "A Class of Compatible Cache Consistency Protocols and their Support by the IEEE Futurebus", Paul Sweazey and Alan Jay Smith, 1986, IEEE, sind Protokolle für die Aufrechterhaltung der Datenkonsistenz bei Verwendung eines Standardbussystems (Futurebus) bekannt. Dabei wird nach erfolgter Zuteilung des Bussystems von einer anfordernden Verarbeitungseinheit eine Adresse angelegt und über das Bussystem an alle Einheiten eines Multiprozessorsystems übertragen.From "A Class of Compatible Cache Consistency Protocols and their support by the IEEE Futurebus ", Paul Sweazey and Alan Jay Smith, 1986, IEEE, are maintenance protocols data consistency when using a standard bus system (Futurebus) known. After the allocation of the Bus system from a requesting processing unit Address created and to all units of one via the bus system Multiprocessor system transferred.
Die Verantwortlichkeit eines Cachespeicher für die Korrektheit der Daten im gesamten System läßt sich an Zustandskennzeichen erkennen, die jedem Cachespeichereintrag zugeordnet werden können. So kann beispielsweise festgestellt werden, ob die pro Speicherzugriff adressierten Daten im Cachespeicher vorhanden sind, ob gültige Kopien der Daten noch in weiteren Cachespeichern eingetragen sind oder ob die Daten im Cachespeicher verändert wurden.A cache's responsibility for correctness The data in the entire system can be identified by status indicators recognize that can be associated with each cache entry. For example, it can be determined whether the pro Memory-addressed data exists in the cache memory whether there are valid copies of the data in additional caches entered or whether the data in the cache changed were.
Beispielsweise müssen bei der Durchführung einer Leseanforderung die Daten von der Verarbeitungseinheit bereitgestellt werden, deren zugehöriger Cachespeicher für die Integrität dieser Daten im System gerade verantwortlich ist. Die Signalisierung, daß eine andere als die anfordernde Verarbeitungseinheit die aktuellen Daten liefert, erfolgt über Sammelleitungen (Open- Collector) des Bussystems, die jeweils von allen Verarbeitungseinheiten gemeinsam benutzt werden. For example, when performing a read request the data are provided by the processing unit, their associated cache for the integrity of this Data in the system is just responsible. The signaling, that a processing unit other than the requesting one provides current data, takes place via collecting lines (open Collector) of the bus system, each of all processing units be shared.
Die Verwendung von Sammelleitungen jedoch gewährleistet keine sichere Fehlererkennung bei der Überwachung der Datenkonsistenz. So wird beispielsweise nicht erkannt, wenn mehr als eine Verarbeitungseinheit anzeigen, daß die adressierten Daten in ihren zugehörigen Cachespeichern jeweils als geänderte Daten gekennzeichnet sind.However, the use of manifolds does not guarantee reliable error detection when monitoring data consistency. For example, it is not recognized if more than one Processing unit indicate that the addressed data in their associated cache memories as changed data Marked are.
Eine Möglichkeit zur Abhilfe des Problems besteht in der Bereitstellung individueller Leitungen für jede Verarbeitungseinheit, anhand der die Erkennung aller auftretenden Fehlerarten möglich ist. Dies bedeutet aber einen Mehraufwand an Leitungen für das Leitungssystem, was eine Verschlechterung der Leistungsfähigkeit des Leitungssystems und damit des Datenverarbeitungssystems insgesamt zur Folge hätte.One way to remedy the problem is to provide it individual lines for each processing unit, based on the detection of all occurring types of errors is possible. However, this means additional work on lines for the piping system, what a deterioration in performance the line system and thus the data processing system overall result.
Daher ist es Aufgabe der vorliegenden Erfindung, ein Verfahren und ein Datenverarbeitungssystem zur Durchführung des Verfahrens zu schaffen, die bei der Überwachung der Datenkonsistenz eine sichere Fehlererkennung ohne Mehraufwand an Leitungen für das Leitungssystem gewährleisten.It is therefore an object of the present invention to provide a method and a data processing system for performing the method to create that in monitoring data consistency reliable error detection without additional effort on cables for ensure the piping system.
Diese Aufgabe wird hinsichtlich des Verfahrens durch die kennzeichnenden Merkmale des Patentanspruches 1 gelöst.With regard to the method, this task is characterized by the Features of claim 1 solved.
Dadurch, daß bei jedem Speicherzugriff durch eine anfordernde Verarbeitungseinheit Antworten aller Verarbeitungseinheiten erzeugt werden, ist die Überprüfung des Zustands der adressierten Daten im gesamten System zu jedem Zeitpunkt möglich. Dafür braucht das Leitungssystem nicht um weitere Leitungen ergänzt zu werden, sondern die bei jedem Speicherzugriff bereitgestellten Antworten werden zusätzlich zu den Parametern einer Adressenoperation übermittelt, indem sie durch Ausnutzung eines Teiles der vorhandenen Leitungen des Leitungssystems auf die Adressenoperation folgend übertragen werden.The fact that with every memory access by a requesting Processing unit responses from all processing units are generated is checking the state of the addressed Data in the entire system possible at any time. Therefore the line system does not need to be supplemented with additional lines to be provided, but those that are provided with every memory access Responses are in addition to the parameters of an address operation transmitted by taking advantage of a Part of the existing lines of the line system on the Address operation to be transmitted following.
Ob inkonsistente Daten in den Speichern vorliegen, wird anhand einer gemeinsamen Auswertung aller übertragenen Antworten festgestellt, die gemäß den Weiterbildungen der Erfindung in der jeweils anfordernden Verarbeitungseinheit oder in einer zentralen Auswerteeinheit durchgeführt wird.Whether there is inconsistent data in the memories is determined based on a common evaluation of all transmitted responses, which according to the developments of the invention in the each requesting processing unit or in a central Evaluation unit is carried out.
Gemäß anderer Weiterbildungen der Erfindung werden gemeinsam mit den Antworten der Verarbeitungseinheiten jeweils ein Sicherungszeichen und eine Information darüber, ob ein momentaner Zugriffsschutz des im zugehörigen Cachespeicher adressierten Eintrags besteht, über das Leitungssystem übertragen.According to other developments of the invention are common a security symbol with the replies of the processing units and information about whether a current one Access protection of the addressed in the associated cache memory Entry exists, transmitted through the pipe system.
Das Datenverarbeitungssystem zur Durchführung des Verfahrens gemäß Patentanspruch 6 weist entsprechende Einrichtungen zur Erzeugung der Antwortsignale aus den Zustandskennzeichen des in einem Cachespeicher adressierten Eintrags auf, die in jeder Verarbeitungseinheit vorgesehen sind. Die Auswertung aller durch das Leitungssystem übertragenen Antwort- bzw. Informationssignale übernimmt eine Einrichtung, die gemäß einer bevorzugten Ausführungsform dezentral in jeder Verarbeitungseinheit angeordnet sein kann.The data processing system for performing the procedure according to claim 6 has corresponding facilities Generation of the response signals from the status indicators of the in a cache-addressed entry in each Processing unit are provided. The evaluation of all response or information signals transmitted by the line system takes over a facility that according to a preferred Embodiment decentralized in each processing unit can be arranged.
Die Erfindung wird anhand eines in der Zeichnung näher dargestellten Ausführungsbeispiels erläutert. Im einzelnen zeigtThe invention is illustrated by one in the drawing Exemplary embodiment explained. In detail shows
Fig. 1 das Blockschaltbild eines Datenverarbeitungssystems zur Überwachung der Datenkonsistenz, Fig. 1 is a block diagram of a data processing system for monitoring data consistency,
Fig. 2 die einem Cachespeichereintrag zugeordneten Zustandskennzeichen mit zugehöriger Wahrheitstabelle, Fig. 2, associated with a cache entry status flag associated with the truth table,
Fig. 3 eine Einrichtung zur Erzeugung von Antwortsignalen in einer Verarbeitungseinheit des Datenverarbeitungssystems gemäß Fig. 1 und Fig. 3 shows a device for generating response signals in a processing unit of the data processing system of FIG. 1 and
Fig. 4 eine Einrichtung zur Auswertung der Antwortsignale aller Verarbeitungseinheiten des Datenverarbeitungssystems gemäß Fig. 1. Fig. 4 shows a device for evaluating the response signals from all the processing units of the data processing system of FIG. 1.
Fig. 1 zeigt den allgemeinen Aufbau eines Datenverarbeitungssystems in schematischer Darstellung, beispielsweise bestehend aus einem gemeinsamen Arbeitsspeicher ASP, mehreren Verarbeitungseinheiten CPU0 . . . CPU3 mit zugehörigen privaten Cachespeichern CAM0 . . . CAM3, sowie einem Leitungssystem CBUS zur Kopplung der angeschlossenen Einheiten miteinander. Durch die Verwendung von individuell zugeordneten Copy-Back-Cachespeichern besteht die Notwendigkeit, die Konsistenz der im Arbeitsspeicher ASP sowie in den Cachespeichern CAM0 . . . CAM3 simultan gespeicherten Daten aufrechtzuerhalten bzw. zu überwachen. Fig. 1 shows the general structure of a data processing system in a schematic representation, for example consisting of a common working memory ASP, multiple processing units CPU 0. . . CPU 3 with associated private cache memories CAM 0 . . . CAM 3 , and a CBUS line system for coupling the connected units to each other. By using individually assigned copy-back cache memories, there is a need to ensure the consistency of the ASP in the working memory and in the CAM 0 cache memory. . . To maintain or monitor CAM 3 simultaneously stored data.
Der prinzipielle Ablauf eines aus mindestens einer Adressenopration bestehenden Speicherzugriffs einer Verarbeitungseinheit kann in eine Bewerbungsphase (request) für die Anfrage um Zuteilung des Leitungssystems, und eine Anforderungsphase gegliedert werden, in der die Parameter einschließlich der Adresse BADR des ausgelösten Speicherzugriffs über das Leitungssystem CBUS an alle angeschlossenen Einheiten übertragen werden. Umfaßt der Speicherzugriff auch eine Datenoperation, beispielsweise bei einem Lese- oder Schreibzugriff, so schließt sich an die Anforderungsphase eine Datenübertragungsphase an, in der die angeforderten Daten von der Verarbeitungseinheit geliefert werden, in dessen zugehörigem Cachespeicher sie aktuell gespeichert sind.The basic sequence of one of at least one address allocation existing memory access of a processing unit can be in an application phase (request) for the request for allocation of the piping system, and a requirement phase in which the parameters including the address BADR of the triggered memory access via the line system CBUS can be transmitted to all connected units. Includes memory access is also a data operation, for example with a read or write access, then follows the request phase indicates a data transmission phase in which the requested data supplied by the processing unit are saved in the associated cache memory are.
Unmittelbar nach der Adressenoperation mit Aussenden der zugehörigen Parameter einschließlich der Speicherzugriffsadresse BADR durch eine anfordernde Verarbeitungseinheit, z. B. CPU0, an die anderen Verarbeitungseinheiten, z. B. CPU1 . . . CPU3, kann mit der Erzeugung von Antwortsignalen HIT0, WBIT0 . . . HIT3, WBIT3 in den Einrichtungen RSP0 . . . RSP3 der Verarbeitungseinheiten CPU0 . . . CPU3 begonnen werden. Die parallel gebildeten Signale werden beispielsweise zu fest vorgegebenen Zeitpunkten über das Leitungssystem übertragen. Zu diesem Zweck benutzen die Verarbeitungseinheiten CPU0 . . . CPU3 individuell zugeordnete Leitungen des Leitungssystems CBUS, die für die jeweils zuvor ablaufende Adressenoperation ebenfalls verwendet werden.Immediately after the address operation with transmission of the associated parameters including the memory access address BADR by a requesting processing unit, e.g. B. CPU 0 , to the other processing units, for. B. CPU 1 . . . CPU 3 , can generate response signals HIT 0 , WBIT 0 . . . HIT 3 , WBIT 3 in the facilities RSP 0 . . . RSP 3 of the processing units CPU 0 . . . CPU 3 can be started. The signals formed in parallel are transmitted via the line system, for example, at predetermined times. The processing units use CPU 0 for this purpose. . . CPU 3 individually assigned lines of the CBUS line system, which are also used for the previous address operation.
Anhand der durch die übertragenden Signale mitgeteilten Zustände der Verarbeitungseinheiten läßt sich erkennen, ob alle Verarbeitungseinheiten die Erzeugung ihrer Antwortsignale abgeschlossen haben. Ist dies der Fall, so kann mit deren Auswertung auf das Vorliegen einer Dateninkonsistenz begonnen werden. Zu diesem Zweck weist jede Verarbeitungseinheit CPU0 . . . CPU3 identisch aufgebaute Einrichtung INK auf, die bei Erkennen inkonsistenter Daten einer Fehlermeldung IER erzeugen.On the basis of the states of the processing units communicated by the transmitted signals, it can be seen whether all processing units have completed the generation of their response signals. If this is the case, you can start evaluating it for data inconsistency. For this purpose, each processing unit has CPU 0 . . . CPU 3 identically constructed device INK, which generate an error message IER if inconsistent data is detected.
Gemeinsam mit den Antwortsignalen HIT0, WBIT0 . . . HIT3, WBIT3 können weitere Informationssignale PAR0, LCK0 . . . PAR3, LCK3 vom Leitungssystem CBUS übertragen werden, von denen die Signale PAR0 . . . PAR3 Sicherungszeichen enthalten, während anhand der Signale LCK0 . . . LCK3 ein Zugriffsschutz des im zugehörigen Cachespeicher CAM0 . . . CAM3 adressierten Eintrags mitgeteilt werden kann. Die Auswertung der übertragenen Antwort- und Informationssignale erfolgt in der jeweils anfordernden Verarbeitungseinheit, sie kann aber auch in einer zental angeordneten Einrichtung durchgeführt werden.Together with the response signals HIT 0 , WBIT 0 . . . HIT 3 , WBIT 3 can further information signals PAR 0 , LCK 0 . . . PAR 3 , LCK 3 are transmitted by the CBUS line system, of which the signals PAR 0 . . . PAR 3 contain security characters, while based on the signals LCK 0 . . . LCK 3 an access protection of the associated cache memory CAM 0 . . . CAM 3 addressed entry can be communicated. The evaluation of the transmitted response and information signals takes place in the respective processing unit requesting, but it can also be carried out in a centrally arranged device.
In Fig. 2 sind Zustandszeichen VL, WR, SHA dargestellt, die einem Cachespeichereintrag zugeordnet und durch die Adresse TA für das entsprechende Tag-Feld des Cachespeichers ergänzt werden. Sie kennzeichnen dabei, daß die Daten des Cachespeichereintrags vorhanden und gültig sind (VL), daß eine Änderung der Daten stattgefunden hat (WR), oder daß eine Kopie der Daten in einem weiteren Cachespeicher gespeichert ist (SHA). In Fig. 2 Condition mark VL, WR, SHA are shown, associated with a cache entry and are supplemented by the address TA for the respective tag field of the cache memory. They indicate that the data in the cache entry is available and valid (VL), that the data has been changed (WR), or that a copy of the data is stored in another cache (SHA).
Der Zustand des adressierten Cachespeichereintrags läßt sich anhand einer Wahrheitstabelle aus den Zustandskennzeichen VL, WR, SHA feststellen. So sind die eingetragenen Daten in mehr als einem Cachespeicher (shared) oder nur in einem Cachespeicher (exclusive) abgelegt oder weisen nur in einem Cachespeicher den aktuellen veränderten Wert (modifizied) auf.The state of the addressed cache entry can be based on a truth table from the status indicators VL, Find WR, SHA. So the data entered is in more as a cache (shared) or just in a cache (exclusive) stored or only show in a cache the current changed value (modified).
Eine Dateninkonsistenz im System ist beispielsweise dann gegeben, wenn mehr als eine Verarbeitungseinheit anhand ihrer Antwortsignale anzeigen, daß die eingetragenen Daten als nur in ihrem zugehörigen Cachespeicher geänderte Daten (modified) gekennzeichnet sind. Gleiches gilt für den Fall, daß die eingetragenen Daten als geändert gelten, während sie in einem weiteren Cachespeicher einen der beiden anderen Zustände einnehmen.There is data inconsistency in the system, for example, if more than one processing unit based on its response signals indicate that the data entered is only in their associated cache marked modified data are. The same applies in the event that the registered Data is considered changed while in another Cache occupy one of the other two states.
Fig. 3 und Fig. 4 enthalten Einrichtungen zur Erzeugung und Auswertung der Antwortsignale für das Vorliegen inkonsistenter Daten im System. Fig. 3 and Fig. 4 include means for generating and evaluating the response signals for the presence of inconsistent data in the system.
Am Beispiel der in der Verarbeitungseinheit CPU0 angeordneten Einrichtung RSP0 gemäß Fig. 3 soll die Bildung der Antwortsignale in den einzelnen Verarbeitungseinheiten gezeigt werden. Das von der Einrichtung RSP0 erzeugte Antwortsignal HIT0 gibt an, ob in irgendeiner Speicherbank des Cachespeichers CAM0, z. B. der Bank x, ein Treffer, z. B. HITBx, für den durch die Adressen BADR und TABx (Tag-Feld der Bank x) ausgewählten Eintrag ermittelt wird. Es resulutiert daher aus der Verknüpfung der individuellen Treffersignale HITBx . . . HITBz entsprechend der vorhandenen Speicherbänke (Bank x . . . Bank z) durch das ODER-Glied OR1.The example of the processing unit CPU arranged RSP 0 means 0 in FIG. 3 will be shown in the individual processing units, the formation of the response signals. The response signal generated by the means RSP 0 0 HIT indicates whether any memory bank in the cache memory CAM 0, z. B. the bank x, a hit, z. B. HITBx, for the entry selected by the addresses BADR and TABx (tag field of bank x). It therefore results from the combination of the individual hit signals HITBx. . . HITBz according to the existing memory banks (bank x... Bank z) through the OR gate OR 1 .
Das speicherbankbezogene Treffersignal, z. B. HITBx, ergibt sich jeweils aus der Reihenschaltung zweier UND-Glieder, z. B. U1 und U2. Das erste Eingangssignal des UND-Gliedes U2 wird durch Verknüpfung der Adressen BADR und TABx im vorgeschalteten UND-Glied U1 gewonnen, während das zweite Eingangssignal von dem aus dem Zustandkennzeichen VL des adressierten Speicherbankeintrags gemäß Fig. 2 abgeleiteten Signal VLBx gebildet wird.The memory bank related hit signal, e.g. B. HITBx, results from the series connection of two AND gates, z. B. U 1 and U 2 . The first input signal of the AND gate U 2 is obtained by linking the addresses BADR and TABx in the upstream AND gate U 1 , while the second input signal is formed by the signal VLBx derived from the status identifier VL of the addressed memory bank entry according to FIG. 2.
Für die Erzeugung des Antwortsignals WBIT0, das angibt, ob in irgendeiner Speicherbank des Cachespeichers CAM0 eine Veränderung des adressierten Eintrags stattgefunden hat, werden die speicherbankbezogenen Signale WBx . . . WBz durch das ODER-Glied OR2 miteinander verknüpft. Die individuellen Signale WBx . . . WBz ergeben sich jeweils aus einer UND-Verknüpfung eines Treffersignals mit dem entsprechenden vom Zustandskennzeichen WR des adressierten Speicherbankeintrags gemäß Fig. 2 abgeleiteten Signal. Beispielsweise führt die Verknüpfung der Signale HITBx und WRBx durch das UND-Glied U3 zum individuellen Ausgangssignal WBx. Die Erzeugung aller speicherbankindividuellen Signale ist zur Beibehaltung einer übersichtlichen Schaltungsanordnung nicht näher dargestellt.For the generation of the response signal WBIT 0 , which indicates whether a change in the addressed entry has occurred in any memory bank of the cache memory CAM 0 , the memory bank-related signals WBx. . . WBz linked together by the OR gate OR 2 . The individual signals WBx. . . WBz each result from an AND combination of a hit signal with the corresponding signal derived from the status code WR of the addressed memory bank entry according to FIG. 2. For example, the combination of the signals HITBx and WRBx through the AND gate U 3 leads to the individual output signal WBx. The generation of all memory bank-specific signals is not shown in more detail in order to maintain a clear circuit arrangement.
Fig. 4 zeigt eine mögliche Ausführungsform der Auswerteeinrichtung INK, die gemäß Fig. 1 in jeder Verarbeitungseinheit angeordnet ist. Sie ist aufgebaut aus mehreren UND-Gliedern U4 . . . U7 zur Verknüpfung der über das Leitungssystem übertragenen Antwortsignale, wobei jeweils das Ausgangssignal eines UND- Gliedes, z. B. U4, aus den Antwortsignalen einer Verarbeitungseinheit, z. B. HIT0, WBIT0, gebildet wird. Der Ausgang jedes UND-Gliedes ist mit einem Eingang eines nachgeschalteten ODER-Gliedes OR5 verbunden, dessen Ausgangssignal AWHIT anzeigt, ob überhaupt in einem der Cachespeicher CAM0 . . . CAM3 gemäß Fig. 1 die adressierten Daten als geändert (modified) gekennzeichnet sind. FIG. 4 shows a possible embodiment of the evaluation device INK, which is arranged in each processing unit according to FIG. 1. It is made up of several AND gates U 4 . . . U 7 for linking the response signals transmitted via the line system, the output signal of an AND gate, for. B. U 4 , from the response signals of a processing unit, for. B. HIT 0 , WBIT 0 , is formed. The output of each AND gate is connected to an input of a downstream OR gate OR 5 whose output signal AWHIT indicates whether CAM 0 is in any of the cache memories. . . CAM 3 according to Fig. 1, the addressed data as changed (modified) are marked.
Demgegenüber gibt das Signal MHIT an, ob die adressierten Daten in mehr als einem Cachespeicher eingetragen sind. Zur Erzeugung des Signals MHIT werden jeweils zwei der Antwortsignale HIT0 . . . HIT3 sowohl durch die ODER-Glieder OR3, OR4 als auch durch die UND-Glieder U8, U9 verknüpft. Die Ausgänge der ODER-Glieder OR3, OR4 sind an die Eingänge eines nachgeschalteten UND-Gliedes U10 angeschlossen, dessen Ausgang gemeinsam mit den Ausgängen der UND-Glieder U8, U9 die Eingänge des ODER-Gliedes OR6 bilden. Für den Fall, daß dzurch die Signale AWHIT, MHIT angezeigt wird, daß die adressierten Daten in mindestens einem Cachespeicher als geändert (modified) gekennzeichnet und in mehr als einem Cachespeicher als gültig eingetragen sind, so erfolgt eine Fehlermeldung IER am Ausgang des UND-Gliedes U11.In contrast, the signal MHIT indicates whether the addressed data is entered in more than one cache memory. To generate the signal MHIT, two of the response signals HIT become 0 . . . HIT 3 linked both by the OR gates OR 3 , OR 4 and by the AND gates U 8 , U 9 . The outputs of the OR gates OR 3 , OR 4 are connected to the inputs of a downstream AND gate U 10 , the output of which together with the outputs of the AND gates U 8 , U 9 form the inputs of the OR gate OR 6 . In the event that the signals AWHIT, MHIT indicate that the addressed data are marked as modified in at least one cache memory and entered as valid in more than one cache memory, an IER error message is output at the output of the AND gate U 11 .
Für andere Fälle auftretender Dateninkonsistenz sowie für die Bildung und Auswertung der gemeinsam mit den Antwortsignalen übertragbaren Informationssignale lassen sich die Einrichtungen gemäß Fig. 3 und Fig. 4 durch entsprechende Verknüpfungsschaltungen in einfacher Weise ergänzen.In other cases occurring data inconsistency and for the formation and evaluation of the common communicable with the response signals, information signals, the devices can be shown in Fig. 3 and Fig. 4 supplemented by appropriate logic circuits in a simple manner.
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4037332A DE4037332C2 (en) | 1990-11-23 | 1990-11-23 | Method for error monitoring of data consistency in a data processing system and circuit arrangement for carrying out the method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4037332A DE4037332C2 (en) | 1990-11-23 | 1990-11-23 | Method for error monitoring of data consistency in a data processing system and circuit arrangement for carrying out the method |
Publications (2)
Publication Number | Publication Date |
---|---|
DE4037332A1 true DE4037332A1 (en) | 1992-05-27 |
DE4037332C2 DE4037332C2 (en) | 1995-06-29 |
Family
ID=6418811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4037332A Expired - Fee Related DE4037332C2 (en) | 1990-11-23 | 1990-11-23 | Method for error monitoring of data consistency in a data processing system and circuit arrangement for carrying out the method |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE4037332C2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0815513A1 (en) * | 1995-03-17 | 1998-01-07 | Intel Corporation | Multi-processing cache coherency protocol on a local bus |
US5724549A (en) * | 1992-04-06 | 1998-03-03 | Cyrix Corporation | Cache coherency without bus master arbitration signals |
CN1049750C (en) * | 1994-07-28 | 2000-02-23 | 联华电子股份有限公司 | Computer index memory with shared cache subsystem |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0378399A2 (en) * | 1989-01-13 | 1990-07-18 | International Business Machines Corporation | Cache content control in multi-processor networks |
EP0380861A2 (en) * | 1989-02-03 | 1990-08-08 | Digital Equipment Corporation | Improved data consistency between cache memories and the main memory in a multi-processor computer system |
-
1990
- 1990-11-23 DE DE4037332A patent/DE4037332C2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0378399A2 (en) * | 1989-01-13 | 1990-07-18 | International Business Machines Corporation | Cache content control in multi-processor networks |
EP0380861A2 (en) * | 1989-02-03 | 1990-08-08 | Digital Equipment Corporation | Improved data consistency between cache memories and the main memory in a multi-processor computer system |
Non-Patent Citations (1)
Title |
---|
IEEE 1986, S. 414 bis 423 * |
Cited By (4)
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 |
CN1049750C (en) * | 1994-07-28 | 2000-02-23 | 联华电子股份有限公司 | Computer index memory with shared cache subsystem |
EP0815513A1 (en) * | 1995-03-17 | 1998-01-07 | Intel Corporation | Multi-processing cache coherency protocol on a local bus |
EP0815513A4 (en) * | 1995-03-17 | 1999-08-04 | Intel Corp | Multi-processing cache coherency protocol on a local bus |
Also Published As
Publication number | Publication date |
---|---|
DE4037332C2 (en) | 1995-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3224034C2 (en) | ||
DE69031086T2 (en) | Cache memory control in multiprocessor networks | |
DE3932675C2 (en) | ||
DE69535099T2 (en) | Identifying the pairs of controllers in a dual controller disk assembly | |
DE2856715C3 (en) | Method for performing cache coincidence in a multiprocessor system | |
DE2841041A1 (en) | DATA PROCESSING SYSTEM WITH AT LEAST TWO PROCESSORS EQUIPPED WITH A FAST WORKING MEMORY | |
DE2523414A1 (en) | HIERARCHICAL STORAGE ARRANGEMENT | |
DE2610411C2 (en) | Circuit arrangement for determining that error-free unit from a large number of units of a data processing system with the lowest frequency of use | |
DE2235841A1 (en) | ARRANGEMENT FOR MEMORY CONTROL WITH LOGICAL AND REAL ADDRESSING | |
DE69026346T2 (en) | Information protection technology for fault-tolerant redundant information storage devices | |
DE2807476A1 (en) | STORAGE DEVICE WITH MULTIPLE VIRTUAL ADDRESS SPACES | |
DE3621321A1 (en) | CACHE STORAGE OR MULTIPROCESSOR SYSTEM AND OPERATING METHOD | |
DE3502147C2 (en) | ||
EP0635792A2 (en) | Coordination method for parallel access to resource configurations by a plurality of processors | |
DE68925336T2 (en) | Data processing device with cache memory | |
DE69212284T2 (en) | Device for using error information from a single or multi-computer system of an aircraft | |
DE19538448B4 (en) | Database management system and data transmission method | |
DE4037332A1 (en) | Monitoring data consistency in data processing system - using state identifiers associated wth each cache memory and evaluation of responses to address operations | |
DE19905541B4 (en) | A method of controlling memory access in a machine having a non-uniform memory and a machine for performing such method | |
DE4005319C2 (en) | Method and arrangement for maintaining data consistency in a multiprocessor system with private caches | |
DE10062404A1 (en) | Faulty memory cell address reduction method compares each detected faulty memory cell address with second fault address for word and/or bit line to be repaired for eliminating duplications | |
DE2014729C3 (en) | Data processing system with devices for error detection and for system reconfiguration excluding defective system units | |
DE2523795C3 (en) | Method for the repeated execution of machine commands by a hard-wired control in a processing unit of a data processing system | |
DE2939412C2 (en) | Circuit arrangement for addressing data for read and write access in a data processing system | |
DE4030629C2 (en) | Arrangement for securing control information coupled to the memory entries of a working memory in a multiprocessor system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: FUJITSU SIEMENS COMPUTERS GMBH, 81739 MUENCHEN, DE |
|
8320 | Willingness to grant licences declared (paragraph 23) | ||
8339 | Ceased/non-payment of the annual fee |