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 operations

Info

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
Application number
DE4037332A
Other languages
German (de)
Other versions
DE4037332C2 (en
Inventor
Albrecht Baur
Gerald Braeuer
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.)
Fujitsu Technology Solutions GmbH
Original Assignee
Wincor Nixdorf International GmbH
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 Wincor Nixdorf International GmbH filed Critical Wincor Nixdorf International GmbH
Priority to DE4037332A priority Critical patent/DE4037332C2/en
Publication of DE4037332A1 publication Critical patent/DE4037332A1/en
Application granted granted Critical
Publication of DE4037332C2 publication Critical patent/DE4037332C2/en
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache 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

The method involves associating state identifiers with each cache memory entry and transferring a request, which consists of at least one address operation and which triggers a memory access, via a bus system (CBUS) to all units of the data processing system. - For each memory access of all processing units (CPUP..CPU3), at least one response derived from the state identifier of the addressed entry in the corresp. cache memory (CAMO..CAM3) is formed, the responses to the address operations are passed over the bus system and are evaluated for the presence of inconsistent data in the memories.

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)

1. Verfahren zur Überwachung der Konsistenz der in privaten Cachespeichern (CAM0 . . . CAM3) zugehöriger Verarbeitungseinheiten (CPU0 . . . CPU3) und in einem gemeinsamen Arbeitsspeicher (ASP) eines Datenverarbeitungssystems gespeicherten Daten, bei dem jedem Cachespeichereintrag Zustandskennzeichen zugeordnet werden, und bei dem eine aus mindestens einer Adressenoperation bestehende und einen Speicherzugriff auslösende Anforderung einer Verarbeitungseinheit über ein Leitungssystem (CBUS) an alle Einheiten des Datenverarbeitungssystems übertragen wird, dadurch gekennzeichnet, daß bei jedem Speicherzugriff von allen Verarbeitungseinheiten (CPU0 . . . CPU3) jeweils eine aus den Zustandskennzeichen (z. B. VL, WR) des im zugehörigen Cachespeicher (CAM0 . . . CAM3) adressierten Eintrags abgeleitete Antwort (HIT0, WBITZ0 . . . HIT3, WBIT3) gebildet wird, daß die Antworten (HIT0, WBIT0 . . . HIT3, WBIT3) der Verarbeitungseinheiten (CPU0 . . . CPU3) auf die Adressenoperation folgend über das Leitungssystem (CBUS) übertragen werden, und daß die übertragenen Antworten (HIT0, WBIT0 . . . HIT3, WBIT3) aller Verarbeitungseinheiten (CPU0 . . .CPU3) gemeinsam auf das Vorliegen inkonsistenter Daten in den Speichern ausgewertet werden.1. A method for monitoring the consistency of the processing units (CPU 0 ... CPU 3 ) associated in private cache memories (CAM 0 ... CAM 3 ) and data stored in a common working memory (ASP) of a data processing system, in which status indicators are assigned to each cache entry and in which a request from a processing unit consisting of at least one address operation and triggering a memory access is transmitted via a line system (CBUS) to all units of the data processing system, characterized in that with each memory access by all processing units (CPU 0 ... CPU 3 ) a response (HIT 0 , WBITZ 0 ... HIT 3 , WBIT 3 ) derived from the status indicators (e.g. VL, WR) of the entry addressed in the associated cache memory (CAM 0 ... CAM 3 ), that the responses (HIT 0 , WBIT 0 ... HIT 3 , WBIT 3 ) of the processing units (CPU 0 ... CPU 3 ) to the Address operation following are transmitted over the line system (CBUS), and that the transmitted responses (HIT 0 , WBIT 0 . . . HIT 3 , WBIT 3 ) of all processing units (CPU 0 ... CPU 3 ) are evaluated together for the presence of inconsistent data in the memories. 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß jeweils gemeinsam mit der Antwort (z. B. HIT0, WBIT0) einer Verarbeitungseinheit (z. B. CPU0) eine weitere Information (z. B. LCK0) über das Leitungssystem (CBUS) übertragen wird, anhand der ein Zugriffsschutz des im zugehörigen Cachespeicher (z. B. CAM0) adressierten Eintrags mitteilbar ist.2. The method according to claim 1, characterized in that in each case together with the response (for example HIT 0 , WBIT 0 ) of a processing unit (for example CPU 0 ) further information (for example LCK 0 ) about the Line system (CBUS) is transmitted, on the basis of which access protection of the entry addressed in the associated cache memory (e.g. CAM 0 ) can be communicated. 3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß jeweils gemeinsam mit der Antwort (z. B. HIT0, WBIT0) einer Verarbeitungseinheit (z. B. CPU0) ein Sicherungszeichen (z. B. PAR0) über das Leitungssystem (CBUS) übertragen wird. 3. The method according to claim 1 or 2, characterized in that together with the response (z. B. HIT 0 , WBIT 0 ) a processing unit (z. B. CPU 0 ) over a security symbol (z. B. PAR 0 ) the line system (CBUS) is transmitted. 4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß eine Auswertung der übertragenen Information (z. B. HIT0, WBIT0 . . . HIT3, WBIT3) aller Verarbeitungseinheiten (CPU0 . . . CPU3) in der anfordernden Verarbeitungseinheit (z. B. CPU0) durchgeführt wird.4. The method according to any one of claims 1 to 3, characterized in that an evaluation of the transmitted information (z. B. HIT 0 , WBIT 0 ... HIT 3 , WBIT 3 ) of all processing units (CPU 0 ... CPU 3 ) is carried out in the requesting processing unit (e.g. CPU 0 ). 5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß die Auswertung der übertragenen Informationen (z. B. HIT0, WBIT0 . . . HIT3, WBIT3) aller Verarbeitungseinheiten (CPU0 . . . CPU3) in einer mit dem Leitungssystem gekoppelten zentralen Auswerteeinheit durchgeführt wird.5. The method according to any one of claims 1 to 4, characterized in that the evaluation of the transmitted information (z. B. HIT 0 , WBIT 0 ... HIT 3 , WBIT 3 ) of all processing units (CPU 0 ... CPU 3 ) is carried out in a central evaluation unit coupled to the line system. 6. Datenverarbeitungssystem zur Durchführung des Verfahrens nach Anspruch 1 mit einem gemeinsamen Arbeitsspeicher (ASP) zur Speicherung von Daten, mehreren Verarbeitungseinheiten (CPU0 . . . CPU3) mit zugehörigen privaten Cachespeichern (CAM0 . . . CAM3) zur Speicherung eines Teiles der im Arbeitsspeicher (ASP) enthaltenen Daten und ihrer Zustandskennzeichen, sowie einem Leitungssystem (CBUS) zur Kopplung der Verarbeitungseinheiten (CPU0 . . . CPU3) untereinander und mit dem Arbeitsspeicher (ASP), dadurch gekennzeichnet, daß jede Verarbeitungseinheit (z. B. CPU0) Einrichtungen (z. B. RSP0) zur Erzeugung von Antwortsignalen (z. B. HIT0, WBIT0) aus den Zustandskennzeichen (z. B. VL, WR) des im zugehörigen Cachespeicher (z. B. CAM0) adressierten Eintrags aufweist, und daß wenigstens eine Einrichtung (INK) zur Auswertung aller durch das Leitungssystem (CBUS) übertragenen Antwortsignale (HIT0, WBIT0 . . . HIT3, WBIT3) vorgesehen ist.6. Data processing system for performing the method according to claim 1 with a common working memory (ASP) for storing data, a plurality of processing units (CPU 0 ... CPU 3 ) with associated private cache memories (CAM 0 ... CAM 3 ) for storing a part the data contained in the main memory (ASP) and their status indicators, and a line system (CBUS) for coupling the processing units (CPU 0 ... CPU 3 ) to one another and to the main memory (ASP), characterized in that each processing unit (e.g. CPU 0 ) Devices (for example RSP 0 ) for generating response signals (for example HIT 0 , WBIT 0 ) from the status indicators (for example VL, WR) in the associated cache memory (for example CAM 0 ) has the addressed entry, and that at least one device (INK) is provided for evaluating all the response signals (HIT 0 , WBIT 0 ... HIT 3 , WBIT 3 ) transmitted by the line system (CBUS). 7. Datenverarbeitungssystem nach Anspruch 6, dadurch gekennzeichnet, daß jede Verarbeitungseinheit (z. B. CPU0) Einrichtungen (z B. RSP0) zur Erzeugung von gemeinsam mit den Antwortsignalen (z. B. HIT0, WBIT0) übertragbaren Informationssignalen (z. B. LCK0, PAR0) aufweist. 7. Data processing system according to claim 6, characterized in that each processing unit (z. B. CPU 0 ) devices (z. B. RSP 0 ) for the generation of together with the response signals (z. B. HIT 0 , WBIT 0 ) transferable information signals ( e.g. LCK 0 , PAR 0 ). 8. Datenverarbeitungssystem nach Anspruch 6 oder 7, dadurch gekennzeichnet, daß jede Verarbeitungseinheit (z. B. CPU0) eine Einrichtung (INK) zur Auswertung der übertragenen Antwortsignale (HIT0, WBIT0 . . . HIT3, WBIT3) bzw. Informationssignale (LCK0, PAR0, . . . LCK3, PAR3) aufweist.8. Data processing system according to claim 6 or 7, characterized in that each processing unit (z. B. CPU 0 ) means (INK) for evaluating the transmitted response signals (HIT 0 , WBIT 0 ... HIT 3 , WBIT 3 ) or Information signals (LCK 0 , PAR 0 , ... LCK 3 , PAR 3 ) has.
DE4037332A 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 Expired - Fee Related DE4037332C2 (en)

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)

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

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

Patent Citations (2)

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

* Cited by examiner, † Cited by third party
Title
IEEE 1986, S. 414 bis 423 *

Cited By (4)

* 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
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