DE2817757A1 - Datenverarbeitungssystem - Google Patents

Datenverarbeitungssystem

Info

Publication number
DE2817757A1
DE2817757A1 DE19782817757 DE2817757A DE2817757A1 DE 2817757 A1 DE2817757 A1 DE 2817757A1 DE 19782817757 DE19782817757 DE 19782817757 DE 2817757 A DE2817757 A DE 2817757A DE 2817757 A1 DE2817757 A1 DE 2817757A1
Authority
DE
Germany
Prior art keywords
read
computer
memory
data
write
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.)
Withdrawn
Application number
DE19782817757
Other languages
English (en)
Inventor
Gordon Ray Durney
Bruce Allen Fairman
Robert Gramps Taylor
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Standard Electric Corp
Original Assignee
International Standard Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Standard Electric Corp filed Critical International Standard Electric Corp
Publication of DE2817757A1 publication Critical patent/DE2817757A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/74Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/201Price look-up processing, e.g. updating
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07GREGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
    • G07G1/00Cash registers
    • G07G1/12Cash registers electronically operated

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • General Engineering & Computer Science (AREA)
  • Finance (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Strategic Management (AREA)
  • Quality & Reliability (AREA)
  • Hardware Redundancy (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Cash Registers Or Receiving Machines (AREA)

Description

B.A.Fairnian 2-1-1
DATENVERARBEITUNGS SYSTEM
Die Erfindung betrifft ein Datenverarbeitungssystem mit einer Anzahl von örtlich verteilten und mit einer Zentrale verbundenen Datenstationen, wobei die Zentrale ein Paar paralleler Rechner aufweist, von denen jeder zumindest einen Schreib-Lese-Speicher, eine Ein-/Ausgabesch"altung und eine zentrale Verarbeitungseinrichtung aufweist und wobei die Schreib-Lese-Speicher beider Rechner normalerweise konstante und dynamische Daten enthalten.
Eine typische Anwendung für ein derartiges Datenverarbeitungssystem ist in einem Kassensystem mit einem zentralen Rechner gegeben, bei dem die Kassen die Datenstationen sind.
Bei einigen Kassensystemen, beispielsweise dem System nach der US-PS 3 946 220, ist eine Anzahl von Kassenstationen mit einer zentralen Verarbeitungseinheit, d.h. einem Rechner, verbunden, der die von den Kassenstationen empfangenen Daten verarbeitet, indem er Unterprogramme verwendet, die in einem Festwertspeicher gespeichert sind, und dynamische Daten, die in einem Schreib-Lese-Speicher gehalten werden. Der Rechner berechnet End- und Zwischensummen und führt andere Berechnungen durch, die von den Kassenstationen verlangt werden, und gibt
809851/0609
B.A.Fairman 2-1-1
Daten an die Kassenstationen, die die Bedienungsperson dort direkt ablesen kann. Außerdem druckt der Rechner die Endsummen an einer zentralen Kontrolleinheit aus. Wenn ein solches Kassensystem bei einer großen Ladenkette mit einem schnellen Warenabsatz verwendet werden soll, so ist es äußerst wichtig, daß ein Ersatzrechner vorgesehen ist, für den Fall, daß der erste Rechner während des Betriebs ausfällt. Das Datenverarbeitungssystem weist also zwei zentrale Rechner auf. Der eine Rechner ist aktiv und bedient die Datenstationen, wogegen der andere Rechner inaktiv ist und einfach als Ersatzrechner dient. Falls der erste Rechner ausfällt, so muß der Ersatzrechner in Betrieb gesetzt werden, um die Steuerung und Bedienung der Datenstationen zu übernehmen. Diese Datenstationen sind sowohl mit dem aktiven als auch mit dem inaktiven Rechner verbunden.
Obwohl die Festwertspeicher beider Rechner die gleichen Daten enthalten, hat der Schreib-Lese-Speicher des aktiven Rechners vor dessen Ausfall hinsichtlich der Datenstationen die neuesten Daten enthalten. Dies sind Daten, die bei dem zur Zeit des Ausfalls des Rechners gerade ablaufenden Transaktionen auftreten. Da der Ersatzrechner, wenn er aktiviert wird, die unmittelbar zuvor von dem anderen Rechner durchgeführten Berechnungen übernehmen sollte, muß der Ersatzrechner, wenn er aktiviert wird, die neuesten und gültigen Daten zur Verfügung haben.
Die bekannten Datenverarbeitungssysteme sind nicht vor dieses Problem gestellt. In typischer Weise ist dort eine Redundanz der Speicher dadurch vorgesehen, daß der aktive Speicher und der Ersatzspeicher parallel betrieben werden.
809851/0609
B.A.Fairnian 2-1-1
Ein Nachteil dieser Anordnung besteht darin, daß bei einem Ausfall des aktiven Teils der Ersatzspeicher gleichzeitig betroffen und sein Inhalt möglicherweise ungültig wird. Dies kann sich als Folge eines defekten Bauteils im aktiven Rechner unmittelbar vor dessen Ausfall ereignen.
Es ist daher die Aufgabe der Erfindung, ausgehend von dem eingangs genannten Datenverarbeitungssystem ein solches Datenverarbeitungssystem anzugeben, das diese Nachteile vermeidet.
Diese Aufgabe wird mit den im Patentanspruch 1 angegebenen Mitteln gelöst. Weiterbildungen ergeben sich aus den Unteransprüchen.
Die Erfindung wird nun anhand der Zeichnungen beispielsweise näher erläutert.
Es zeigen:
Fig.1 ein Blockschaltbild des erfindungsgemäßen Datenverarbeitungssystems;
Fig.2 ein genaueres Blockschaltbild zur Erläuterung der redundanten Speicher des Systems nach Fig.1;
Fig.3 ein Flußdiagramm, das die Schritte des Systems zeigt, die zur Bestimmung, welcher der zwei Schreib-
Lese-Speicher die neuesten und gültigen Daten enthält, erfolgen;
8 0 9 8 5 1 / 0 G 0 9
B.A.Fairman 2-1-1
Fig.4 ein Diagramm zur Erläuterung der in Fig. 3 gezeigten Schritte;
Fig.5 ein Flußdiagramm, das einen Teil der in Fig.3 gezeigten Schritte deutlicher erläutert;
Fig.6 ein Flußdiagramm, das einige der in Fig.5 gezeigten Schritte näher erläutert;
Fig. 7 ein Flußdiagramm, das einige der in Fig.6 gezeigten Schritte näher erläutert;
Fig.8 und 9 zwei zusammengehörige Flußdiagramme, die die Schritte zeigen, die bei der zum Auslesen des jeweils
anderen Schreib-Lese-Speichers dienenden Steuerungsschaltung nach Fig.2 erfolgen;
8 0 9 8 5 1/0609
B.A.Fairman 2-1-1
Die Fig.1 zeigt ein Blockschaltbild des Datenverarbeitungssystems oder Kassensystems gemäß der Erfindung. Eine Bedienungsperson gibt die Daten wie z.B. die Menge der zu bestellenden Ware usw. an ihrer Datenstation 10, von denen es etwa 12 im vorliegenden System gibt, über die Eingabetastatur ein. Darauf wird der Preis der Ware sowie die Steuer berechnet und an der Station eine Endsumme angezeigt. Die zur Durchführung dieser Berechnung notwendigen Daten werden von jeder Datenstation einer Zwischenschaltung 12 zugeführt. Die Datenstationen sind mit zwei vollständig getrennten Rechnern verbunden. Der erste Rechner, in Fig.1 mit A bezeichnet, wird im folgenden als der aktive Rechner bezeichnet, um die Beschreibung des Systems zu vereinfachen. Aktiv bedeutet, daß dieser Rechner derjenige sein wird, der die von den Datenstationen empfangenen Daten aktiv verarbeitet. Der andere Rechner, mit B bezeichnet, dient zunächst als Ersatzrechner. Solange er als Ersatzrechner betrieben wird, empfängt er keine Daten von den Datenstationen und unternimmt keine datenverarbeitenden Funktionen. Die beiden Rechner enthalten identische Bauteile. Es werden nun die Bauteile des Rechners A beschrieben, wobei die gestrichenen entsprechenden Bezugszeichen die gleichen Elemente des Rechners B bezeichnen, das nicht eigens beschrieben wird.
Die Zwischenschaltung 12 ist mit einem Mikroprozessor 14 über eine doppelt gerichtete Datenbusleitung und eine Adressenbusleitung, die in Fig.1 im Prinzip als eine einzige Busleitung 16 gezeigt sind, verbunden, über diese Busleitung 16 ist auch ein programmierter Festwertspeicher 18 (PROM) und ein Schreib-Leseapeicher (RAM) 20, die nachstehend als ein Schreib-Lese-Speicher bezeichnet werden, mit dem Mikroprozessor 14 verbunden. Mit diesem Mikroprozessor 14 ist ferner eine Drucker-Zwischen-
809851/0609
B.A.Fairman 2-1-1
schaltung 22 verbunden, die einen Drucker 24 steuert.
Wie später noch genauer erläutert wird, besteht ein wesentliches Merkmal der Erfindung darin, daß der Mikroprozessor 14 des aktiven Rechners unter gewissen Bedingungen den Schreib-Lese-Speicher 20' des inaktiven Rechners adressieren kann. Damit dies geschehen kann, ist die Busleitung 16 des Rechners A selektiv mit der Busleitung 16' des Rechners B verbunden. Dies erfolgt über eine zum Auslesen des jeweils anderen Speichers dienende Steuerungsschaltung 26, die über eine Busleitung 28 mit einer ebenfalls zum Auslesen des jeweils anderen Speichers dienenden Steuerungsschaltung 26' im Rechner B verbunden ist*
Jeder der programmierten Festwertspeicher 18 und 18' enthält Programmnachrichten, die den Bedienungspersonen an den Daten-Stationen 12 mitteilen, welche Operationen gerade ablaufen und welche Tasten gedrückt werden müssen. Der programmierte Festwertspeicher 18 enthält außerdem das Programm für den Mikroprozessor 14. Der Schreib-Lese-Speicher 20 enthält dynamische Prozessdaten, die sich im aktiven Rechner im Verlauf der Rechenoperationen ändern. Die Daten, die im Schreib-Lese-Speicher 20' des inaktiven Rechners stehen, sind dagegen konstant während seiner inaktiven Periode, werden jedoch im Speicher aufgefrischt. Die im inaktiven Schreib-Lese-Speicher 20' enthaltenen Daten sind nicht nur die Zwischen- und Endsummen der vor dem Umschalten in den inaktiven Zustand abgelaufenen Operationen, sondern auch bestimmte andere Daten, die konstant und beiden Schreib-Lese-Speichern 20 und 20' gemeinsam sind, wie noch genauer erklärt wird.
809851/0609
B.A.Fairman 2-1-1
Bei dem vorliegenden System ist es möglich, manuell von dem einen auf den anderen Rechner umzuschalten. Wenn beispielsweise der Rechner A zusammenbricht, so wird manuell auf den Rechner B umgeschaltet, so daß der Rechner A außer Betrieb gesetzt wird und der Rechner B zum aktiven Rechner wird. Wie genauer erklärt wird, ist es manchmal möglich, die Umschaltung beispielsweise am Ende eines Betriebstages vorzunehmen.
In einer anderen Situation, bei einem Stromausfall, schaltet sich der Rechner selbst ab und schreibt eine kodierte Nachricht in den aktiven Schreib-Lese-Speicher, daß das Abschalten erfolgreich abgelaufen ist. Diese Routine wird durch den Mikroprozessor durchgeführt.
Da es bei einem Start nach einem Abschalten, gleichgültig aus welchen Gründen, erwünscht ist, den aktiven Rechner mit Daten zu betreiben, die die neuesten Daten und gültig sind, muß der Rechner feststellen können, welcher der beiden Schreib-Lese-Speicher 20 und 20' die neuesten und gültigen Daten enthält. Der Schreib-Lese-Speicher des Rechners, der zuletzt aktiv war, würde theoretisch die neuesten und gültigen Daten enthalten. Jedoch trifft dies in der Praxis nicht notwendigerweise zu. Falls das Abschalten wegen einer Fehlfunktion im aktiven Rechner erfolgt, so können die Daten im Schreib-Lese-Speicher dieses Rechners vollständig durcheinander geraten und alle ungültig werden.
809851/0609
B.A.Fairman 2-1-1
Wie in Fig.2 gezeigt, wird über einen Schalter 30 Wechselstrom entweder einer Hauptstromversorgungseinheit 32 für den Rechner A oder einer Hauptstromversorgungseinheit 32' für den Rechner B zugeführt. Ebenso wird eine Hilfsstrom-Versorgungseinheit 34 für den Rechner A und eine Hilfsstromversorgungseinheit 34' für den Rechner B von Wechselstrom gespeist. Der an den Stromversorgungen 34 und 34' liegende Wechselstrom hängt nicht von der Stellung des Schalters 30 ab, sondern fließt fortwährend, so lange wie der Wechselstrom dem gesamten Rechner zugeführt wird. Die Hilfsstromversorgungseinheiten 34 und 34' enthalten außerdem Batterien, um im Falle eines totalen Ausfalls des Versorgungsstroms des Rechners den notwendigen Strom zu liefern. Die Hauptstromversorgungseinheit 32 ist mit dem Mikroprozessor 14 und mit einer Steuerungseinheit 36 verbunden. In entsprechender Weise ist die Stromversorgungseinheit 32' mit dem Mikroprozessor 14 und der Steuerungseinheit 36' des Rechners B verbunden. Die Stromversorgungseinheit 34 ist mit dem Schreib-Lese-Speicher 20 und der zum Auslesen des jeweils anderen Schreib-Lese-Speichers dienenden Steuerungsschaltung 26 des Rechners A verbunden, wogegen die Stromversorgungseinheit 34" mit dem Schreib-Lese-Speicher 20' und der entsprechenden Steuerungsschaltung 26' des Rechners B verbunden ist. Somit erhalten die Schreib-Lese-Speicher 20 und 20' und die zum Auslesen des jeweils anderen Speichers dienenden Steuerungsschaltungen 26 und 26' ihren Versorgungsstrom andauernd. Die Busleitungen 16 und 16' bestehen aus getrennten doppelt gerichteten Adressen-,Daten- und Steuerungsbusleitungen, die in den Figuren bezeichnet sind. Die Arbeitsweise von solchen Busleitungen in Verbindung mit dem Mikro-
809851/0609
B.A.Fairman 2-1-1
prozessor ist an sich wohl bekannt und wird daher nicht mehr erläutert. Es wird auf das Buch "Microprocessors and Mikrocomputers" von Branko Soucek, veröffentlicht von John Wiley and Sons, 1976, insbesondere auf die Seiten 251-298 verwiesen.
Der im vorliegenden System verwendete Mikroprozessor ist von der Art des unter der Bezeichnung 8080 bekannten Mikroprozessors, der von verschiedenen Herstellern wie z.B. Intel Corp., Santa Clara, Kalifornien, hergestellt wird. Der Schreib-Lese-Speicher 20 besteht aus einer Gruppe von dynamischen Speicherchips mit 4 K Bits. Drei Sätze von 8 solcher Chips sind Seite an Seite zusammengesteckt, so daß sie einen Speicher mit der Breite von 8 Bits und der Tiefe von 4 K Bits pro Satz, d.h. einen Speicher mit 12 K Bytes, bilden. Solche Speicherchips können von der Art sein, die im Handel unter der Bezeichnung TMS 4050-2 bekannt ist. Der Festwertspeicher hat 16 K Bytes und kann der Standardtyp 82S115 sein, der von der Firma Signetics hergestellt wird.
Wie bereits erwähnt, kann der Mikroprozessor 14 des aktiven Rechners selektiv den Schreib-Lese-Speicher 2o seines eigenen Rechners oder unter bestimmten Bedingungen den Schreib-Lese-Speicher 20' des inaktiven Rechners adressieren. Der Mechanismus, durch den dies ermöglicht ist, wird nun anhand von Fig.2 beschrieben. Da es nicht möglich ist, mit einer einzigen Busleitung 16 auszukommen, die beide Rechner verbindet, wegen Geräuschproblemen sowie anderer Probleme hinsichtlich einer vollständigen Isolation der beiden Rechner, ist es notwendig, die Zwischen-Busleitung 28 zum Verbinden der beiden Schreib-Lese-Speicher zu verwenden. Die zum Auslesen des jeweils
809851/0609
B.A.Fairman 2-1-1
anderen Schreib-Lese-Speichers dienende Steuerungsschaltung und der Schreib-Lese-Speicher 20 schließen sich normalerweise in ihrem Betrieb gegenseitig aus. Wenn also der Mikroprozessor gerade den Schreib-Lese-Speicher 20 adressiert, wird die Steuerungsschaltung 26 gesperrt. Wenn der Mikroprozessor über die zum Auslesen des jeweils anderen Speichers dienende Steuerungsschaltung 26 gerade den Schreib-Lese-Speicher 20' des inaktiven Rechners adressiert, ist der Schreib-Lese-Speicher 20 gesperrt. Der Mechanismus, der dies bewirkt, wird nun erläutert. Eine Steuerungseinheit 36 ist mit der Busleitung 16 verbunden. Diese Steuerungseinheit 36 hat viele Funktionen. Die meisten berühren die vorliegende Erfindung jedoch nicht und werden daher nicht beschrieben. Es genügt zu sagen, daß die Steuerungseinheit 36, wenn sie über die Ädreß-Busleitung 16 eine bestimmte Adresse von dem Mikroprozessor 14 erhält, ein Signal an ein Auswählflipflop 38 abgibt, das zu der zum Auslesen des jeweils anderen Speichers dienenden Steuerungsschaltung 26 gehört. Mit diesem Siqnal wird das Auswählflipflop 38 entweder gesetzt oder rückgesetzt, abhängig von der Information, die über die Datenbusleitung vom Mikroprozessor 14 geliefert wird.
Wenn das Auswählflipflop 38 gesetzt ist, liefert es ein Sperrsignal (INHCEN) über eine Leitung 40 an den Schreib-Lese-Speicher 20 und sperrt, eine
Torschaltung , die den Schreib-Lese-Speicher 20 daran hindert, auf irgendwelche anderen von dem Mikroprozessor 14 über die Adreff -Busleitung 16 ankommenden Adressen zu reagieren. Gleichzeitig ermöglicht es ein Signal EXTRAM von einem Ausgang des Auswählflipflops 38, das die zum Auslesen des jeweils
809851/0609
B.A.Fairman 2-1-1
anderen Speichers dienende Steuerschaltung 26 den gleichen Satz von Adressen aus dem Mikroprozessor 14 erhält und diese Adressen auf die Adreßleitungen der Busleitung 28 gibt.
Die Steuerungsschaltung 26 zum Auslesen des jeweils anderen Speichers empfängt außerdem ein Signal 42, das in der Figur mit KOR bezeichnet ist, von der Hauptstromversorgungseinheit 32, welches angibt, daß die Steuerungsschaltung 26 im aktiven Rechner arbeitet. Die Adressen, die die Steuerungsschaltung über die Adreßleitung der Busleitung 16 empfängt, werden über
^0 die Adreßleitung der Busleitung 28 an die zum Auslesen des jeweils anderen Speichers dienende Steuerungsschaltung 26' des inaktiven Rechners weitergeleitet. In ähnlicher Weise wird im inaktiven Rechner die Steuerungseinheit 26', da sie nicht das mit POOR bezeichnete Signal 42' empfängt, in den Zustand gebracht, in dem sie nur auf Adressen, die auf der Adreßbusleitung ankommen, anspricht.
Wenn die Adresse vom inaktiven Rechner über die Steuerungsschaltung 26' auf der Adreß-Busleitung 16' empfangen wird, wird diese Adresse an den Schreib-Lese-Speicher 20' über die Adreßleitungen der Busleitung 16' gegeben. Die mit dieser Adresse abgerufenen Daten erscheinen darauf auf den Datenleitungen der Busleitung 16 ' und werden über die Steuerungsschaltung 26', die Datenleitungender Busleitung 28' und die Steuerungsschaltung 26 auf die Datenleitung-nder Busleitung 16' gegeben, von wo diese Daten von dem Mikroprozessor 14 verarbeitet werden. Der Mechanismus, der diese Aktivität bewirkt, ist etwas kompliziert und wird nachstehend genauer beschrieben.
809851/0609
B.A.Fairman 2-1-1
Der Mikroprozessor 14 war also im Stande, seinen eigenen Schreib-Lese-Speicher 20 zu ignorieren und zu dem Schreib-Lese-Speicher 20' des inaktiven Rechners über die Steuerungsschaltungen 26 und 26' und die Busleitung 28 zuzugreifen. Die Fig.2 zeigt die Schaltung, mit Hilfe derer der Mikroprozessor des aktiven Systems unter bestimmten Bedingungen Zugriff zu beiden Schreib-Lese-Speichern 20 und 20' hat. Die Reihenfolge der Steuerungssignale, die zum Betrieb dieser Schaltung notwendig sind, werden nun anhand von Fig.3 und beschrieben, die zusammen ein Flußdiagramm der in Fig.2 gezeigten Schaltung darstellen.
Wie bereits erwähnt, muß der Mikroprozessor nach dem Start des aktiven Rechners zuerst feststellen, welcher der beiden Schreib-Lese-Speicher Information enthält, die überhaupt gültig ist. Wenn er feststellt, daß beide Schreib-Lese-Speicher eine gültige Information enthalten, dann muß er darüberhinaus bestimmen, welche dieser beiden gültigen Speicherinhalte die neueste Information darstellt. Die überprüfung der Gültigkeit der Information erfolgt mit Hilfe eines Zählers 44, dessen Zählerstand nachstehend mit dem Buchstaben V bezeichnet wird. Der Zähler 44 gehört zu einem Teil des Schreib-Lese-Speichers 20, der als Arbeitsbereich bezeichnet wird. Zum Arbeitsbereich gehört ein Anzeigebereich 46 und ein Pufferteil 48. Es versteht sich, daß der Anzeigebereich, der Zählbereich und der Pufferteil tatsächlich vorgegebene Speicherbits des Schreib-Lese-Speichers darstellen, die durch den Mikroprozessor 14 adressierbar sind (Fig.4).
809851/0609
B.A.Fairman 2-1-1
Das Flußdiagramm nach Fig.3 zeigt die Folge der Operationen, welche die Kombination aus MikroprozessorjiRechnersteuerung, Steuerungsschaltung zum Auslesen des jeweils anderen Speichers und aus den beiden Schreib-Lese-Speichern bewirkt. Dabei gibt dieses Flußdiagramm nur prinzipiell an, was tatsächlich geschieht. Die genaueren Unterprogramme und Schaltungen, die notwendig sind, um diese Ergebnisse zu erreichen, sind in mehr Einzelheiten in den Figuren 5, 6, 7 und 8 dargestellt.
Nach dem Start des Datenverarbeitungssystems wird der Zähler 44 im aktiven Schreib-Lese-Speicher 20 beim Schritt 46 nach Fig.3 auf Null gesetzt. Dieser Schritt erfolgt, wenn das die Einschaltung der Stromversorgung angebende Signal 42 (POOR) erscheint. Der Mikroprozessor 14 wird darauf durch die Programmbefehle im programmierten Festwertspeicher (PROM) 18 veranlaßt, den Inhalt des Schreib-Lese-Speichers 20 beim Schritt 48 zu überprüfen. Er überprüft dies, indem er konstante Daten, die im Schreib-Lese-Speicher 20 gespeichert sind, mit Daten vergleicht, die im programmierten Festwertspeicher 18 stehen.
Solche Daten sind die Systemidentifikationsnummer, Reihen von Datenadressen für die Datenstationen innerhalb des Schreib-Lese-Speichers 20 und ein Abschaltkode, der dem Mikroprozessor mitteilt, ob der Rechner im gültigen Zustand abgeschaltet wurde bevor er gestartet wurde. Unter der Annahme, daß der Inhalt des Schreib-Lese-Speichers 20 bei Schritt 50 ungültig ist, prüft der Recher den Inhalt des anderes Schreib-Lese-Speichers 20' bei Schritt 54. Wäre der Inhalt des Schreib-Lese-Speichers 20 gültig gewesen, so hätte der Rechner den Zählerstand des Zählers 44 beim Schritt 52 um 1 erhöht, bevor er mit dem Schritt fortgefahren wäre. Falls beim Schritt 56 festgestellt wird, daß
8098 5 1/0609
ß.A.Fairraan 2-1-1
der Speicherinhalt des Schreib-Lese-Speichers 20' gültig ist, so wird der Zählerstand des Zählers 44 bei Schritt 58 um 2 erhöht. Der Schritt 58 wird übersprungen, falls der Inhalt des Schreib-Lese-Speichers 20' nicht gültig ist.
Nachdem der Rechner die Gültigkeit der Inhalte der Speicher und 20' überprüft hat, beginnt er bei Schritt 60, den Zählerstand des Zählers 44 zu untersuchen. Falls dieser Zählerstand gleich Null ist, weiß der Rechner, daß keiner der Schreib-Lese-Speicher 20 und 20' gültige Daten enthält. Der
Mikroprozessor 14 muß nun unter Anweisungen aus dem programmierten Festwertspeicher 18 seinen eigenen Schreib-Lese-Speicher 20' in Betrieb setzen, indem er bestimmte konstante Daten aus dem Festwertspeicher 18 in den Schreib-Lese-Speicher 20 schreibt. Dieser Schritt ist der Anfangs-
Start-Schritt 62. Nach diesem Schritt 62 startet der Mikroprozessor 14 bei Schritt 64 den Rechner.
Falls der Mikroprozessor 14 feststellt, daß der Zählerstand V des Zählers 44 gleich 1 ist, so weiß er, daß der Inhalt seines eigenen Schreib-Lese-Speichers gültig und daß der Inhalt des anderen Schreib-Lese-Speichers 20" ungültig ist. Er startet darauf das System bei Schritt 66.
Falls der Mikroprozessor 14 feststellt, daß der Zählerstand V des Zählers 44 gleich 2 ist, so weiß er, daß sein eigener Scheib-Lese-Speicher 20 ungültige Daten enthält und daß aber 2 rj der Schreib-Lese-Speicher 20' des inaktiven Rechners oder hreatzrechners gültige Daten enthält. Der Mikroprozessor wird
803851/0609
B.A.Fairman 2-1-1
darauf von Anweisungen aus dem programmierten Festwertspeicher 18 veranlaßt, den Inhalt des Speichers 2O1 bei Schritt 68 in den Schreib-Lese-Speicher 20 zu kopieren. Der Mikroprozessor muß außerdem eine Art Spur von diesem Kopiervorgang hinterlassen, damit er bei darauffolgenden Startoperationen weiß, wie neu der Inhalt seines eigenen Speichers ist. Er tut dies, indem er einen Zähler 70 (Fig.4), der nachstehend als Generationszähler bezeichnet wird, und zum Schreib-Lese-Speicher 20 gehört, um einen Schritt erhöht.
Der Zählerstand G des Generationszählers wird bei Schritt 68 um 1 erhöht,und darauf wird der Rechner bei Schritt 72 gestartet. Es sei bemerkt, daß jeder Schreib-Lese-Speicher 20 und 20' seine eigenen Generationszähler 70 und 70" enthält, die voneinander getrennt sind und unabhängige Generations-Zählerstände G und GT aufweisen. Nur der Generationszähler im aktiven Schreib-Lese-Speicher wird zu irgend dner vorgegebenen Zeit um einen Schritt vorwärts gaschaltet. Bei Schritt 68 wird der gesamte Inhalt des Schreib-Lese-Speichers 20' in den Schreib-Lese-Speicher 20 kopiert. Dazu gehört der Generationszählerstand G des GenerationsZählers 70'. Dadurch, daß darauf der Generationszählerstand GA des GenerationsZählers 70 um 1 erhöht wird, wird eine Hierarchie zwischen den Schreib-Lese-Speichem20 und 20' eingehalten, die auf der relativen Neuheit ihres Dateninhaltes beruht.
Die Beschreibung fährt nun mit dem Flußdiagramm nach Fig. 3 fort. Falls der Mikroprozessor 14 feststellt, daß der Zählerstand V des Zählers 44 gleich 3 ist, so weiß er, daß beide Schreib-Lese-Speicher 20 und 20' gültige Daten beinhalten. Er weiß jedoch nicht, welcher der Schreib-Lese-Speicher die neuesten
809851/0609
B.A.Fairman 2-1-1
Daten enthält. Beispielsweise habe die Bedienperson beim Start des Betriebes den Stromversorgungsschalter 3O vom Rechner B auf den Rechner A umgeschaltet. Der Mikroprozessor würde dann wissen, daß sein eigener Schreib-Lese-Speicher gültige Daten enthalten kann, er weiß aber nicht, ob der Inhalt des Schreib-Lese-Speichers 20 die neuesten Daten darstellt oder nicht. Wenn man annimmt, daß während des Betriebs des Rechners B am vorhergehenden Tag keine Fehlfunktion aufgetreten ist, so ist der Inhalt seines Schreib-Lese-Speichers 20' in aller Wahrscheinlichkeit der neueste Inhalt, mit dem der Rechner A arbeiten sollte. Wenn man wieder annimmt, daß der Rechner A der aktive und der Rechner B der inaktive ist, und daß der Mikroprozessor 14 beim Schritt 74 festgestellt hat, daß der Zählerstand V des Zählers 44 gleich 3 ist, so weiß der Mikroprozessor 14, daß der Inhalt beider Schreib-Lese-Speicher 20 und 20' gültig ist. Er muß dann den Generationszählerstand GA des GenerationsZählers 70 des Schreib-Lese-Speichers 20 mit dem Generations Zählers tand G3. des Generationszählers 70' des Schreib-Lese-Speichers 20' vergleichen. Ange- nommen, daß der Generationszählerstand G. gleich dem Generations Zählerstand G1 ist, so weiß der Mikroprozessor, daß der Inhalt jedes der beiden Schreib-Lese-Speicher 20 und 20' nicht nur gültig sondern auch der neueste ist. Er könnte also mit dem Inhalt irgendeines dieser Speicher arbeiten. Der Mikroprozessor 14 erhöht dann den Generationszählerstand G^ des Generationszählers 70 des Schreib-Lese-Speichers 20' bei Schritt 76 um 1 und startet bei Schritt 78 den Rechner.
Falls der Mikroprozessor 14 bei Schritt 74 festgestellt hat, daß die Zählerstände G und G3. nicht gleich sind, so fährt er mit dem Schritt 80 fort. Bei Schritt 80 vergleicht der Mikroprozessor 14 die Zahl G +1 mit der Zahl G . Wenn diese
8O9851/0S09
ß.A.Fairman 2-1-1
Zahlen gleich sind, weiß der Mikroprozessor, daß der Inhalt des Schreib-Lese-Speichers 20' nicht nur gültig ist, sondern auch der neueste. Er fährt dann damit fort, bei Schritt 82 den Inhalt des Schreib-Lese-Speichers 20' zusammen mit dem GenerationsZählerstand G1 in seinen eigenen Schreib-Lese-Speicher 20 zu kopieren und den neuen GenerationsZählerstand GA(vorher G3.) des Zählers 70 des Schreib-Lese-Speichers 20 um 1 zu erhöhen, um die Speicherhierarchie beizubehalten. Darauf startet er bei Schritt 84 den Rechner.
Falls bei Schritt 80 eine Ungleichheit festgestellt wird, weiß der Mikroprozessor 14, daß der Schreib-Lese-Speicher 20 nicht nur gültige sondern auch die neuesten Daten enthält und fährt damit fort, den Rechner unmittelbar beim Schritt 86 zu starten. Es sei bemerkt, daß die verschiedenen in den Flußdiagrammen von Fig.3 gezeigten Schritte nicht nur eine Folge von Anweisungen darstellen, unter denen der Mikroprozessor 14 oder 14' arbeitet, sondern auch symbolhaft für verschiedene logische Bausteine stehen.
So ist beispielsweise eine Entscheidung, ob die Generationszahl G gleich der Generationszahl G1 oder nicht ist (Schritt 74), ein einfacher Vergleich, der eine logische UND-Funktion ist. Die Erhöhung der Zählerstände geschieht einfach dadurch, daß die zur Erhöhung geeigneten Daten unter der Adresse in den Schreib-Lese-Speicher eingeschrieben werden, die den Zähler darstellt. Da diese Einzelheiten an sich bekannt sind, wird darauf verzichtet, sie hier vollständig zu erwähnen, da dies nichts zum Verständnis der Erfindung beitragen würde.
809851/0609
B.A.Fairman 2-1-1
Anhand der Fig.5 werden nun die in Fig.3 gezeigten Überprüfungsschritte 48 und 56 eingehender erläutert. Das Programm für den Mikroprozessor vom Typ 8080 hat bestimmte Unterprogramme. Eines dieser Unterprogramme ist das Unterprogramm MOVLR, das den Mikroprozessor veranlaßt, den Inhalt des Teils des aktiven Schreib-Lese-Speichers 20, dessen Adresse ein Registerpaar HL innerhalb des Mikroprozessors angibt, in den Arbeits-Pufferbereich 48 des Schreib-Lese-Speichers 20 zu schreiben, dessen Adresse ein Registerpaar BC des Mikroprozessors angibt. Dabei bleibt der Inhalt des übrigen Teils des Schreib-Lese-Speichers 20 unverändert. Es ist klar, daß die Register B, D, H und L in den Mikroprozessor vom Typ 8080 eingebaut sind, und daß die Adressen in das Register durch Anweisungen aus dem Festwertspeicher
"'S einprogrammiert sind.
Zur Durchführung der Schritte 48 und 54 verwendet der Mikroprozessor 14 ein Unterprogramm, das als MRVER bezeichnet wird. Dieses Speicherprüfprogramm verwendet wiederum ein Unterprogramm, das als Speicheranforderungsprogramm MRREQ bezeichnet wird. Dieses Speicheranforderungsprogramm ist in Fig.6 gezeigt und wird später eingehender erläutert. Hier genügt es zunächst zu sagen, daß während der Speicheranforderung die Daten von einem der Schreib-Lese-Speicher 20 und 20' in den Arbeits-Pufferbereich 48 des aktiven Schreib-Lese-Speichers 20 übertragen werden. Ob die Daten aus dem Schreib-Lese-Speicher 20 oder aus dem Schreib-Lese-Speicher 20' übertragen werden, hängt vom Zustand eines Anzeigefeldes 46 ab, das einen Teil des Schreib-Lese-Speichers 20 darstellt, der
809851/0 6 09
B.A.Fairman 2-1-1
für die überprüfung dieses Schreib-Lese-Speichers eine Rolle spielt. Der Zustand dieses Anzeigefeldes gibt an, ob der zu adressierende Schreib-Lese-Speicher der des aktiven oder der des inaktiven Rechners ist. Der Zustand des Anzeigefeldes wird durch eine Anweisung bestimmt, die der Mikroprozessor 14 herausgibt.
Nachdem das Unterprogramm MRREQ die geeigneten Daten aus dem Schreib-Lese-Speicher in den Pufferbereich 48 des aktiven Schreib-Lese-Speichers 20 übertragen hat, vergleicht
^0 es diese Daten mit entsprechenden im programmierten Festwertspeicher 18 gespeicherten Daten. Anhand von Fig.6 wird beschrieben, auf welche Weise die Daten übertragen werden. Bei den Daten, die geprüft werden, handelt es sich um konstante Daten, wie z.B. die Systemidentifikationsnummer, eine Reihe von Adressen, die im Schreib-Lese-Speicher für die Datenstationen 10 gespeichert sind, den Code, der angibt, ob der Rechner auf erfolgreiche Weise abgeschaltet worden ist und um andere konstante Daten, von denen nicht erwartet wird, daß sie sich während eines normalen Betriebsablaufes verändern.
Diese Daten können als Teil des Unterprogrammes des Mikroprozessors ausgewählt werden. Beim vorliegenden Beispiel vergleicht das Speicherüberprüfungs-Unterprogramm die Systemidentifikationsnummer ,die Reihe der Adressen für jeden Datenstation-Steuerbereich und den Abschaltkode. Für jeden Schritt der Gültigkeitsüberprüfung hat der Rechner die Möglichkeit, den Inhalt des Speichers als ungültig zu erklären oder, falls er gültig ist, mit dem nächsten Schritt im Flußdiagramm nach Fig.3 fortzufahren. Das gleiche Unterprogramm wird auch bei den Schritten 48 und 54 verwendet.
809851/0609
B.A.Fairman 2-1-1
Anhand der Figuren 6 und 7 soll nun das Flußdiagramm für die Folge von Anweisungen, die während des Speicher-Anforderungs-Unterprogramms MRREQ ausgeführt werden, erläutert werden. Wie oben erwähnt, ist das erste, das der Mikroprozessor überprüft, wenn er das Speicheranforderungsunterprogramm aufruft, der Anzeigebereich 46 innerhalb des Schreib-Lese-Speichers, der überprüft wird. Wenn der Speicher, dessen Inhalt überprüft wird»der Schreib-Lese-Speicher 20 ist, so teilt der Anzeigebereich dem Mikroprozessor mit, daß er direkt beim Schritt 90 auf das Unterprogramm MOVLR übergehen kann. Wie bereits erwähnt, werden während des Unterprogramms MOVLR die konstanten Daten des Schreib-Lese-Speichers 20 in den Pufferbereich 48 kopiert. Dies geschieht dadurch, daß die untere Adresse der Daten und die Anzahl der Bytes der Daten, die zu kopieren sind, angegeben und in einen Zähler innerhalb des Mikroprozessors eingegeben werden. Die Daten werden darauf Byte für Byte in den Pufferbereich 48 übertragen, bis der Zähler angibt, daß alle Daten kopiert worden sind.
Angenommen, der Mikroprozessor hatte festgestellt, daß der Anzeigebereich 46 angibt, daß der Schreib-Lese-Speicher 20' überprüft werden sollte, so ruft das Unterprogramm ein weiteres Unterprogramm CMTM zum wechselweisen Übertragen des Speicherinhaltes auf (92). Während dieses Unterprogramms CMTl wird das Auswählflipflop 38 bei Schritt 94 auf "inaktiv" gesetzt. Dieses Setzen erfolgt unter der Steuerung des Mikroprozessors 14, Es sei daran erinnert, daß das Auswählflipflop 38 in seinem Zustand "inaktiv" ein Sperrsignal 40 (INHCEN) an den Schreib-Lese-Speicher 20 abgibt, der diesen Schreib-Lese-Speicher
809 8 51/G609
B.A.Fairman 2-1-1
daran hindert, auf irgendwelche anderen Adressen aus dem Mikroprozessor anzusprechen. Entsprechend spricht dann die zum Auslesen des jeweils anderen Speichers dienende Steuerungsschaltung 26 auf diese Adresse an und leitet sie über die Busleitung 28 auf die Steuerungsschaltung 26' des Rechners B, der diese Adressen wiederum über die Busleitung 16' an den Schreib-Lese-Speicher 20' weitergibt. Der Mikroprozessor fährt dann damit fort, beim Schritt 96 ein Byte der Daten zu holen. Während des Holens dieses Bytes wird ein Byte der Daten aus dem Schreib-Lese-Speicher 20' über die Busleitung 16' des Rechners B, die Steuerungsschaltungen 26 und 26' und die Busleitung 28 auf die Busleitung 16 des Rechners A und schließlich auf ein eingebautes Register E des Mikroprozessors 14 übertragen.
Der Mikroprozessor setzt darauf über die Rechner-Steuerungsschaltung 36 das Auswählflipflop 38 beim Schritt 98 in den Zustand "aktiv". Dieses Rücksetzen des Flipflops ist notwendig, damit der Mikroprozessor beim Schritt 99 den Inhalt seines Registers E in den Pufferbereich 48 des aktiven Schreib-Lese-Speichers 20 einspeichern kann. Dieses · Unterprogramm läuft so lange, bis ein Zähler innerhalb des Mikroprozessors festgestellt hat, daß die erforderliche Anzahl von Bytes der Daten übertragen worden ist. Wie beim Unterprogramm MOVLR wird zum Übertragen der Daten die untere Adresse der zu übertragenen Daten angegeben. Die Anzahl der Bytes der zu übertragenen Daten gibt ein Zählerinhalt des Mikroprozessors an. Bei Schritt 100 fragt der Mikroprozessor dann: "Ist der Zählerstand 0 erreicht?"/ d.h. ist die notwendige Anzahl der Bytes der Daten übertragen und empfangen worden?
Falls die Antwort auf nein lautet, so wird die Sende- und die Empfangsadresse um 1, d.h. ein Byte der Daten, erhöht
809351/0609
B.A.Fairman 2-1-1
und der Zählerstand des Zählers um 1 vermindert und der Prozess wiederholt.
Anhand der Figuren 8 und 9 wird nun die Reihenfolge der Schritte der zum Auslesen des jeweils anderen Speichers dienenden Steuerungsschaltungen 26 und 26' genauer beschrieben. Fig.8 zeigt die Reihenfolge der von der Steuerungsschaltung unternommenen Schritte und die Fig.9 die Reihenfolge der von der Steuerungsschaltung 26' unternommenen Schritte. Es sei bemerkt, daß jede dieser beiden Steuerungsschaltungen auch die entgegengesetzten Schritte unternehmen kann. Dies hängt davon ab, ob die Steuerungsschaltung zum aktiven oder zum inaktiven Rechner gehört, was durch das mit POOR bezeichnete Signal 42 bestimmt wird. Die Beschreibung geht wieder davon aus, daß der Rechner A aktiv und der Rechner B inaktiv ist.
Zunächst bleibt die Steuerungsschaltung 26 passiv, bis sie aus dem Mikroprozessor über eine Steuerleitung der Busleitung einen Befehl EXTMREQ erhält, einen externen Speicher auszulesen. Dieses Abfragen stellt der Schritt 102 in Fig.8 dar. Wenn das Signal EXTRMREQ vorliegt, geht die Steuerungsschaltung 26 zum nächsten Schritt 104 über, der darin besteht, die Busleitung 16 des Rechners A mit der Busleitung 28 zu verbinden. Darauf fragt die Steuerungsschaltung 26 bei Schritt 106, ob ein Signal EXTRAM vorliegt oder nicht. Das Signal EXTRAM wird vom Auswählflipflop 38 abgegeben, wenn es in dem Zustand gesetzt ist, in dem es den Zugriff zum
809851/0609
B.A.Fairman 2-1-1
aktiven Schreib-Lese-Speicher 20 sperrt. Wenn das Auswählflipflop 38 nicht in den Zustand gesetzt ist, bei dem es ein Sperrsignal 40 für den Schreib-Lese-Speicher abgibt, dann liegt das Signal EXTRAM nicht vor,und die Steuerungsschaltung 26 kehrt zum Beginn dieser Prozedur zurück.
Falls bei Schritt 106 das Signal EXTRAM vorliegt, startet die Steuerungsschaltung 26 eine mit FACK bezeichnete Zeitschaltung 109 bei Schritt 108. Diese Zeitschaltung 109 ist eine einfache RC-Zeitschaltung mit einer Zeitkonstanten von 7 ys. Der Ausdruck FACK bedeutet "schnelle Bestätigung" (fast acknowledge). Dieses Signal FACK wird zum Mikroprozessor gesendet, um ihm mitzuteilen, daß im Speicher eine Information zur Abfrage und Übernahme in den MikroprozessorVbefeit^steten wird. Die zum Auslesen des jeweils anderen Speichers dienende Steuerungsschaltung erzeugt ihre eigene Version des Signals EXTMREQ, die an der Ausgangs-Steuerleitung der Busleitung 28 mit OEXTMREQA bezeichnet ist. Das gleiche Signal ist bei der Steuerungsschaltung 26 mit IEXCMREQA bezeichnet.
Nach der Abgabe des Signals OEXTMREQA fährt die Steuerungsschaltung 26 mit dem Schritt 110 fort, der darin besteht, auf das Auftreten einas Signals IEXFACK vom Rechner B zu warten. Dieses Signal IEXFACK bedeutet, daß der Rechner B seinen Schreib-Lese-Speicher 20* mit der Busleitung 16' in Kontakt gebracht hat, und daß die Steuerungsschaltung 26' die Busleitung 16' des Rechners B mit der Busleitung 28 verbunden hat. Im Falle, daß das Signal IEXFACK nicht vorliegt, geht die Steuerungsschaltung 26 zum Schritt 112 über,
809851/0609
B.A.Fairman 2-1-1
bei dem sie fragt:"Ist die Zeitschaltung FACK, die beim Schritt 108 gestartet wurde, abgelaufen?". Falls nicht, so geht die Steuerungsschaltung 26 zurück zum Schritt 110, bei dem sie prüft, ob das Signal IEXFACK erschienen ist. Wenn die Zeitschaltung FACK abgelaufen ist oder wenn das Signal IEXFACK erschienen ist, geht die Steuerungsschaltung zum nächsten Schritt 114 über. Bei Schritt 114 verbindet die Steuerungsschaltung die Datenbusleitung 28 mit der Datenleitung der Busleitung 16 und gibt ein Signal FACK an den Mikroprozessor 14, das angibt, daß der Mikroprozessor mit den auf der Datenbusleitung 16 gerade ankommenden Daten weiterrechnen soll. Die Steuerungsschaltung 26 geht zum Schritt 116 über, der darin besteht zu fragen, ob das Signal EXTMREQ noch vorliegt oder nicht. Falls es noch vorliegt, so bleibt die Steuerungsschaltung 26 einfach in einer Schleife. Falls es nicht vorliegt, geht sie zum Schritt 108 über, bei dem sie das Signal OEXTMREQA verschwinden läßt, die Datenbusleitung 28 von der Datenleitung der Busleitung 16 abtrennt, das Signal FACK verschwinden läßt, die Zeitschaltung FACK zurücksetzt und darauf zum Ausgangspunkt dieses Unterprogramms zurückkehrt. Bei Schritt 116 verschwindet das Signal EXTMREQ sobald der Mikroprozessor 14 das Signal FACK hat, das beim Schritt 114 erzeugt wurde, und er die Daten empfangen hat.
Anhand der Fig.9 wird nun das Unterprogramm, nach dem die Steuerungsschaltung 26' arbeitet, gleichzeitig mit dem Unterprogramm nach Fig.8 näher beschrieben, nach dan die Steuerungsschaltung 26 arbeitet. Zu Anfang ist die Steuerungsschaltung 26' passiv, bis bei Schritt 120 das Signal IEXTMREQA empfangen wird. Es sei daran erinnert, daß das Signal IEXTMREQA dem signal OEXTMREQA, das bei Schritt 108 in Fig.8 erzeugt wird,
80 9 6 5-1 /0 6 09
B.A.Fairman 2-1-1
entspricht. Falls das Signal nicht vorliegt, findet ein passiver Umlauf in der Steuerungsschaltung 26' statt. Falls das Signal vorliegt, fragt die Steuerungsschaltung 26', ob das Signal 42' (POOR) vorliegt und angibt, daß die Steuerungsschaltung 26' tatsächlich die Ersatzeinheit ist.
Angenommen die Antwort auf diese Frage bei Schritt 122 lautet ja, so stellt diese Ersatzeinheit bei Schritt 124 die nächste Frage: "Werden die Daten im Schreib-Lese-Speicher 20' gerade aufgefrischt?". Falls ja, so wartet die Steuerungsschaltung 26' bis das Auffrischen gestoppt ist. Darauf geht sie bei Block 126 zur nächsten Folge von Schritten über.
Während der Folge von Schritten, die bei Block 126 ablaufen, startet die Steuerungsschaltung 26' eine zu ihr gehörige Folgeschaltung. Diese Folgeschaltung sperrt in einer Folge von mit 1 bis 5 numerierten Schritten das Auffrischen des Schreib-Lese-Speichers 20', verbindet die Adreßleitungen der Busleitung 28 mit den Adreßleitungai der Busleitung 16'
und somit mit dem Schreib-Lese-Speicher 20'. Die Folgeschaltung zur Steuerung des Auslesens des anderen Speichers erzeugt eine Reihe von Steuersignalen für den Schreib-Lese-Speicher, die als Signale MEMREQ, RDCYC und DBIN bekannt sind. Die Folgeschaltung der zum Auslesen des jeweils anderen Speichers dienenden Steuerungsschaltung 26' verbindet außerdem die Datenleitung=nder Busleitung 16' mit den Datenleitungsnder Busleitung 28 und gibt auf der Steuerleitung der Busleitung 28 das Signal OEXFACK ab. Es sei
80 98 51/0B09
B.A.Fairman 2-1-1
daran erinnert, daß das Signal OEXFACK,das auf der Ausgangssteuerleitung der Busleitung 28 übertragen wird, als das bei Schritt 110 in Fig.8 mit IEXFACK bezeichnete Signal auftritt und bedeutet, daß die verlangten Daten im Schreib-Lese-Speicher 20' nun für den Mikroprozessor 14 zum Auslesen bereit stehen.
Nachdem der Schritt 126 abgeschlossen ist, prüft die Steuerungsschaltung 26' nun nochmals das Signal IEXTMREQA, das dem bei Schritt 108 erzeugten Signal OEXTMREQA entspricht.
Dieses Signal liegt solange vor, bis der Mikroprozessor die bei Schritt 126 übertragenen Daten empfangen hat, darauf läßt der Mikroprozessor das Signal verschwinden. Die Reserve-Einheit geht dann zum Schritt 128 über, bei dem die Folgeschaltung der Steuerungsschaltung 26' zurückgesetzt wird, bei dem das Auffrischen des Schreib-Lese-Speichers 20' möglich ist, und bei dem die Signale für die Unterschritte 2, 3, 4 und 5 des Schrittes 126 verschwinden. Die Steuerungsschaltung 26' kehrt damit zu ihrem passiven Zustand wieder zurück.
809051/0009
Leerseite

Claims (1)

  1. Dipl.-Phys.Leo Thul
    Kurze Str.8
    7 Stuttgart 30
    B.A.Fairman -G.R.Durney-R.G.Taylor 2-1-1
    INTERNATIONAL STANDARD ELECTRIC CORPORATION, NEW YORK
    Patentansprüche
    (Iy Datenverarbeitungssystem mit einer Anzahl von örtlich verteilten und mit einer Zentrale verbundenen Datenstationen, wobei die Zentrale ein Paar paralleler Rechner aufweist, von denen jeder zumindest einen Schreib-Lese-Speicher, eine Ein-/Ausgabeschaltung und eine zentrale Verarbeitungseinheit aufweist, wobei die Schreib-Lese-Speicher beider Rechner normalerweise konstante und dynamische Daten enthalten, dadurch gekennzeichnet, daß Mittel zum Auswählen vorhanden sind, welcher Rechner aktiv und welcher inaktiv sein soll, und daß Mittel vorhanden sind, die bei jedem Start des aktiven Rechners feststellen, ob der Schreib-Lese-Speicher des aktiven oder der des inaktiven Rechners die neuesten gültigen dynamischen Daten enthält, und, falls der Schreib-Lese-Speicher des inaktiven Rechners die neuesten gültigen dynamischen Daten enthält, den Inhalt dieses Schreib-Lese-Speichers in den Schreib-Lese-Speicher des aktiven Rechners übertragen.
    Kg/Sch
    17.04.1978 80935 1/OiO 9
    B.A.Fairman 2-1-1
    2. Datenverarbeitungssystem nach Anspruch 1, dadurch gekennzeichnet, daß jeder Rechner für Adressen, Daten und Steuerzeichen jeweils eigene Busleitungen aufweist, die die Elemente jedes Rechners mit einer zum Auslesen des jeweils anderen Schreib-Lese-Speichers dienenden Steuerungsschaltung verbinden, daß Busleitungen vorhanden sind, welche die zum Auslesen des jeweils anderen Schreib-Lese-Speichers dienenden Steuerungsschaltungen des aktiven und des inaktiven Rechners miteinander verbinden und daß die zum Auslesen des jeweils anderen Schreib-Lese-Speichers dienenden Steuerungsschaltungen unter der Steuerung der zentralen Verarbeitungseinheit des aktiven Rechners die Busleitungen für Adressen, Daten und Steuerzeichen des aktiven Rechners mit den entsprechenden Busleitungen des inaktiven Rechners verbinden.
    ■i. Datenverarbeitungssystem nach Anspruch 2, dadurch gekennzeichnet, daß jede zum Auslesen des jeweils anderen Schreib-Lese-Speichers dienende Steuerungsschaltung Schaltmittel enthält, um selektiv den Zugriff der zentralen Verarbeitungseinheit desselben Rechners zu dessen Schreib-Lese-Speicher zu sperren.
    4. Datenverarbeitungssystem nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß nach einer Übertragung der neuesten gültigen dynamischen Daten von dem Schreib-Lese-Speicher des inaktiven Rechners in den des aktiven Rechners eine Information in den Schreib-Lese-Speicher des aktiven Rechners eingeschrieben wird, die angibt, daß dieser nunmehr die neuesten gültigen dynamischen Daten enthält.
    8 0 9 3 5 1 / 0 G 0 9
    B.A.Fairman 2-1-1
    5. Datenverarbeitungssysteni nach Anspruch 4, dadurch gekennzeichnet, daß jeder Schreib-Lese-Speicher einen Zähler (70) enthält, dessen Zählerstand nach dem Start des aktiven Rechners um eins erhöht wird, wenn entweder die dynamischen Daten zusammen mit dem entsprechenden Zählerstand des inaktiven Schreib-Lese-Speichers in den aktiven Schreib-Lese-Speicher übertragen werden oder diese Zählerstände der beiden Schreib-Lese-Speicher gleich sind.
    6. Datenverarbeitungssystem nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß jeder Rechner einen Festwertspeicher aufweist zur Speicherung von festen Daten und von Programmanweisungen für die zentrale Verarbeitungseinheit dieses Rechners und daß die Mittel zum Feststellen der Gültigkeit des Speicherinhaltes bestimmte feste Daten aus jedem der Schreib-Lese-Speicher seriell mit entsprechenden konstanten Daten aus dem Festwertspeicher des aktiven Rechners vergleichen, um den Inhalt eines der beiden Schreib-Lese-Speicher als gültig zu bestimmen.
    8098 5 1/0 6 09
DE19782817757 1977-04-26 1978-04-22 Datenverarbeitungssystem Withdrawn DE2817757A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/791,139 US4169288A (en) 1977-04-26 1977-04-26 Redundant memory for point of sale system

Publications (1)

Publication Number Publication Date
DE2817757A1 true DE2817757A1 (de) 1978-12-21

Family

ID=25152808

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19782817757 Withdrawn DE2817757A1 (de) 1977-04-26 1978-04-22 Datenverarbeitungssystem

Country Status (9)

Country Link
US (1) US4169288A (de)
JP (1) JPS5452429A (de)
AU (1) AU513459B2 (de)
BE (1) BE866375R (de)
CA (1) CA1103774A (de)
DE (1) DE2817757A1 (de)
ES (1) ES469189A1 (de)
GB (1) GB1600174A (de)
NZ (1) NZ187068A (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0026734A1 (de) * 1979-09-28 1981-04-08 Licentia Patent-Verwaltungs-GmbH Sichere Datenverarbeitungseinrichtung

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4872106A (en) * 1983-04-06 1989-10-03 New Forney Corp. Industrial process control system with back-up data processors to take over from failed primary data processors
US4564922A (en) * 1983-10-14 1986-01-14 Pitney Bowes Inc. Postage meter with power-failure resistant memory
EP0198455A3 (de) * 1985-04-16 1989-12-13 Siemens Nixdorf Informationssysteme Aktiengesellschaft Datenerfassungssystem mit mehreren mikroprozessorgesteuerten Bedienplätzen
JPS62226271A (ja) * 1986-03-27 1987-10-05 Tokyo Electric Co Ltd Posル−プ自動切換装置
US4896256A (en) * 1986-05-14 1990-01-23 Kabushiki Kaisha Toshiba Linking interface system using plural controllable bidirectional bus ports for intercommunication amoung split-bus intracommunication subsystems
JP2924905B2 (ja) * 1988-03-25 1999-07-26 エヌシーアール インターナショナル インコーポレイテッド フアイル・バツクアツプ・システム
JPH0823911B2 (ja) * 1989-06-30 1996-03-06 シャープ株式会社 複数の電子式金銭登録機を備える装置
US5126889A (en) * 1989-11-22 1992-06-30 At&T Bell Laboratories Technique for information protection on fault-tolerant redundant information storage devices
US5921373A (en) * 1994-09-15 1999-07-13 Smart Carte, Inc. Cart management system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3377623A (en) * 1965-09-29 1968-04-09 Foxboro Co Process backup system
DE1549397B2 (de) * 1967-06-16 1972-09-14 Chemische Werke Hüls AG, 4370 Mari Verfahren zur automatischen steuerung chemischer anlagen
US3866182A (en) * 1968-10-17 1975-02-11 Fujitsu Ltd System for transferring information between memory banks
US3864670A (en) * 1970-09-30 1975-02-04 Yokogawa Electric Works Ltd Dual computer system with signal exchange system
US3898621A (en) * 1973-04-06 1975-08-05 Gte Automatic Electric Lab Inc Data processor system diagnostic arrangement
US3921141A (en) * 1973-09-14 1975-11-18 Gte Automatic Electric Lab Inc Malfunction monitor control circuitry for central data processor of digital communication system
US3882455A (en) * 1973-09-14 1975-05-06 Gte Automatic Electric Lab Inc Configuration control circuit for control and maintenance complex of digital communications system
US3946220A (en) * 1974-06-10 1976-03-23 Transactron, Inc. Point-of-sale system and apparatus
CH584488A5 (de) * 1975-05-05 1977-01-31 Ibm

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0026734A1 (de) * 1979-09-28 1981-04-08 Licentia Patent-Verwaltungs-GmbH Sichere Datenverarbeitungseinrichtung

Also Published As

Publication number Publication date
BE866375R (fr) 1978-10-26
CA1103774A (en) 1981-06-23
JPS5452429A (en) 1979-04-25
NZ187068A (en) 1981-10-19
US4169288A (en) 1979-09-25
GB1600174A (en) 1981-10-14
ES469189A1 (es) 1979-01-01
AU3539478A (en) 1979-11-01
AU513459B2 (en) 1980-12-04

Similar Documents

Publication Publication Date Title
DE69530776T2 (de) Zweiwege set-assoziativer cache-speicher
DE2629459C2 (de)
DE2463200C2 (de)
CH654943A5 (de) Pruefeinrichtung fuer mikroprogramme.
DE1524239A1 (de) Verfahren zur Lokalisierung eines Fehlers in einer Anlage mit mindestens zwei parallel arbeitenden Rechengeraeten
DE1279980B (de) Aus mehreren miteinander gekoppelten Datenverarbeitungseinheiten bestehendes Datenverarbeitungssystem
DE1931966B2 (de) Datenverarbeitungsanlage mit Assoziativspeichern
EP1249744A1 (de) Verfahren zum Herstellen konsistenter Speicherinhalte in redundanten Systemen
DE112006002908T5 (de) Technik für die Kommunikation und Synchronisation von Threads
DE2164793A1 (de) Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/ Ausgabe-Einheiten mittels eine Zentraleinheit
DE2054830B2 (de) Informationsverarbeitungsanlage mit mitteln zum zugriff zu speicher-datenfeldern variabler laenge
DE1524111C3 (de) Elektronische Datenverarbeitungsanlage
DE3046912C2 (de) Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage
DE2817757A1 (de) Datenverarbeitungssystem
DE2336020B2 (de) Adressen-berechnungsschaltung fuer paritaetsfehler-korrekturprogramme
DE19804784A1 (de) Chipkarte mit integrierter Schaltung
DE3327874C2 (de)
DE2311503A1 (de) Datenverarbeitungsanlage mit mehreren zentraleinheiten
CH495584A (de) Datenverarbeitungsanlage
EP0265636A1 (de) Multiprozessor mit mehreren mit Cache-Speichern ausgerüsteten Prozessoren und einem gemeinsamen Speicher
DE4227784A1 (de) Rechnersystem und verfahren zum beheben eines seitenfehlers
DE2106731A1 (de) Diagnoseeinrichtung fur elektronische Datenverarbeitungsanlagen
DE2057587A1 (de) Inhaltsadressierter Speicher
DE2622140C3 (de) Einrichtung zur Steuerung manueller Operationen
DE2507405A1 (de) Verfahren und anordnung zum synchronisieren der tasks in peripheriegeraeten in einer datenverarbeitungsanlage

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee