DE2210325A1 - Datenverarbeitungssystem - Google Patents

Datenverarbeitungssystem

Info

Publication number
DE2210325A1
DE2210325A1 DE19722210325 DE2210325A DE2210325A1 DE 2210325 A1 DE2210325 A1 DE 2210325A1 DE 19722210325 DE19722210325 DE 19722210325 DE 2210325 A DE2210325 A DE 2210325A DE 2210325 A1 DE2210325 A1 DE 2210325A1
Authority
DE
Germany
Prior art keywords
memory
processing module
error
register
segment
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
DE19722210325
Other languages
English (en)
Other versions
DE2210325C3 (de
DE2210325B2 (de
Inventor
Charles Samuel Woodburn Green Buckinghamshire; Venton Peter Charles Wimborne; Hodges Kenneth James Hamer Blandford Forum; Dorset; Repton (Großbritannien)?
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.)
Plessey Overseas Ltd
Original Assignee
Plessey Handel und Investments AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Plessey Handel und Investments AG filed Critical Plessey Handel und Investments AG
Publication of DE2210325A1 publication Critical patent/DE2210325A1/de
Publication of DE2210325B2 publication Critical patent/DE2210325B2/de
Application granted granted Critical
Publication of DE2210325C3 publication Critical patent/DE2210325C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant

Description

Dipl.-Ing. Egon Prinz βοοο KoncUn 6o, 29.Februar 1972
22Ί032
Dipl.-Ing. Egon Prinz βοοο KoncUn 6o, 29.Februar 1972
Dr. Gertrud Hauser · Emib.re.rMro..e ι» 22Ί0325
Dipl.-Ing. Gottfried Leiser
Patentanwälte
Telegramme ι Labyrinth München
Telefon, 83 15 10 Poiljchedtkonto, München 1)7078
Unser Zeichen; P 2145
HiESSEY HAHDSL UND INVESTMENTSAG 6300 Zug. Schweiz
Gartenstrasse 2
Datenverarbeitungssystem
Die Erfindung bezieht sich auf eine in einem Schtzeit-Datenverarbeitungssystem zu verwendende Anordnung zur Erkennung und Behandlung von Fehlern und insbesondere, jedoch nicht ausschließlich, auf die Verwendung einer solchen Anordnung in einem sogenannten Multiprozessorsystetn.
In Echtzeitverarbeitungsanlagen, beispielsweise in multipr-ozessorgesteuerte η Fernvermittungsystemen muß sichergestellt werden, daß ein fehlerhaftes Arbeiten einer der Einrichtungen der Verarbeitungsanlage festge-Etellt und sobald als möglich kompensiert wird. Es müssen sowohl Hardware-Fehler als auch sogenannte Software-Fehler (Programmierungsfehler) festgestellt und behandelt werden; vernünftigerweise ist jedoch anzunehmen, daß der größte Teil der Software-Fehler entfernt wird, ehe das Verarbeitungssystem ei.nsatzfähig wird, indem gründliche und umfassende Prüfungen der Anwendungs- und Überwachungsprogramme des Systems vor seinem betriebsmäßigen Überschneiden ausgeführt werden. Solche Software-Fehler, die noch
209838/1 101
vorliegen, wenn das System einsatzfähig wird, müssen bei ihrer Feststellung ebenso wie beständige und vorübergehende Hardware-Fehler behandelt werden.
In vielen bekannten Systemen verursacht die Feststellung eines Fehlers, einfach, daß die Einrichtung, in der der Fehler festgestellt worden ist, aus dem ßn-Line-Systera abgestoßen wird (d.h. in den Off-line-Betrieb) gesetzt wird. Hardware-Fehler können jedoch in "»beständige " oder in "vorübergehende " Fehler eingeordnet werden, und es wird allgemein angenommen, daß bedeutend mehr vorübergehende Fehler als beständige Fehler auftreten, wobei das Verhältnis von vorübergehenden Fehlern zu beständigen Fehlern in der Größenordnung von einigen fünf vorübergehenden Fehlern zu einem beständigen Fehler liegen kann. Die einfache Abstossung einer fehlerhaften Einrichtung aus dem Betriebssystem zieht als unmittelbare Folge eine Verringerung der Betriebssicherheit des restlichen Systems nach sich, weil 3eine Fehlersicherheitsredundanz teilweise oder sogar vollständig beseitigt wird. Dies gilt insbesondere in sogenamten Multiprozessorsystemen, bei denen die Entfernung eines der Verarbeitungsgeräte die Reservekapazität des Verarbeitungssysteras ernsthaft einschränkt. Die Abstossung der fehlerhaften Einrichtung läßt das Betriebssystem in einem kritischen Zustand zurück, bis ein Wiederherstellungsmechanismus so betätigt wird, daß er die fehlerhafte Einrichtung durch eine Reserveeinrichtung ersetzt.
Nach Entdeckung eines Fehlers in einem Multiprozessorsystem muß sichergestellt werden, daß sich die Auswirkungen des Fehlers nicht durch den Rest des Datenverarbeitungssystems ausbreiten. Die Auswirkungen de3 Fehlers müssen auf einen möglichst kleinen Bereich beschränkt werden, so daß die richtig arbeitenden Einrichtungen nicht durch die Auswirkungen des Fehlers beeinträchtigt werden. Daher sollen
209838/ 1101
gemäß der Erfindung die Funktionen einer fehlerhaften Einrichtung auf jene Funktionen beschränkt werden, die für den Rest des On-Line-Systems schädlich sind, wenn ein Fehler festgestellt wird.
Gemäß der Erfindung wird ein Datenvecarbeitungssystem mit einem Speicher zum Speichern einer sich auf Anwendungs- und Überwachungsprogramme beziehende Information und einer sich auf ein Fehlerprüfprogramm beziehenden Information und mit wenigstens einem Verarbeitungsmodul geschaffen, das dadurch gekennzeichnet ist, daß das Verarbeitungsoodul mit einer Anordnung zur Erkennung und Behandlung von Fehlern ausgestattet ist, die derart ausgebildet ist, daß sie nach Entdeckung eines Fehlerzustands innerhalb des Verarbeitungatooduls sofort derart wirksam wird, daß sie den erlaubten Zugriffsbereich des Speichers auf den Bereich beschränkt, in dem die sich auf das Fehlerprüfprogramm beziehende Information gespeichert ist.
Wie oben bereits erwähnt wurde, fallen alle Hardware-Fehler in eine von zwei Kategorien (d.h. beständige oder vorübergehende), so daß die Feststellung eines Fehlers in vielen Fällen das System in dem kritischen Zustand zurückläßt, wenn die Einrichtung (das Verarbeitungsgerät), in dem der Fehlerzustand festgestellt worden ist, unmittelbar aus dem On-Line-System entfernt wird, obgleich der tatsächlich aufgetretene Fehler vorübergehend gewesen sein könnte. Gemäß der Erfindung soll daher ein in einem Datenverarbeitungssystem verwendbarer Fehlerunterbrechungsmechanismus so ausgestaltet werden, daß er zwischen beständigen und vorübergehenden Fehlern unterscheiden kann.
209838/1101
Gemäß einerWeiterbildung der Erfindung wird ein On-Line-Datenverarbeitungssystem mit einem mehrere Speichermodule enthaltenden Speicher zum Speichern einer sich auf Anwendungsund Überwachungsprogramme sowie auf ein Fehlerprüfprogramm beziehenden Information und mit wenigstens einem Verarbeitungsmodul geschaffen, das dadurch gekennzeichnet ist, daß mehrere Eintrittssegmente eines Fehler prüfprogramme gebildet werden, von denen jedes eine Information enthält, die eine sich auf diejenigen Speicherbereiche beziehende Segmentbelegungsinformation definiert, die eine sich auf das Fehlerprüfprogramm beziehende Information enthalten, daß jedes der Eintrittssegmente in einem anderen der Speichermodule gespeichert wird, daß ein Verarbeitungsmodul mit Fehlererkennungseinrichtungen ausgestattet ist, die derart ausgebildet sind, daß sie bei Feststellungen eines Fehlerzustandes innerhalb des Verarbeitungsraoduls derart wirksam werden, daß der Verarbeitungsmodul durch Verhindern des Zugriffs auf die sich auf die Anwendungs- und Überwachungsprogramme beziehende Information vom On-Line-System getrennt wird, und eines der Eintrittssegmente zum Eintritt in das Fehlerprüfprogramm zur Überprüfung aller Betriebsvorgange des Verarbeitungsmoduls verwendet wird, daß die lehlererkennungseinrichtungen derart ausgebildet sind, daß bei Feststellung eines weiteren Fehlers bei der Durchführung des Fehlerprüfprogramms der Verarbeitungsmodul veranlaßt wird, ein anderes Eintrittssegment zum Wiedereintritt in das Fehlerprüfprogramm zu verwenden, während der Verarbeitungsmodul wieder in das On-Line-System eingefügt wird, wenn das Fehlerprüfprogramm erfolgreich abgelaufen ist.
Unter Verwendung der oben genannten Anordnungen nach der Erfindung kann ein fehlerhaftes Verarbeit ungs ge rät in einer unendlichen Schleife enthalten sein, die nacheinander der Reihe nach alle Fehlerprüfprogramm-Eingangssegmente
209838/1 101
verwendet. Wenn der ursprüngliche Fehler jedoch nur vorübergehend war, dann vollendet das Verarbeitungagerät die Prüfung und tritt wieder in das On-Line-System ein. Außerdem hält ein Fehler in einem Speichermodul, der als Fehler des Verarbeitungsmoduls in Erscheinung tritt, das Verarbeitungsgerät nicht im Off-Line-Betrieb, da der Prüfvorgang schließlich unter Verwendung eines anderen Eintrittssegments und einer in einem nicht fehlerhaften Speichermodul enthaltenen Prüfprogrammkbpie schließlich erfolgreich ist.
Die Erfindung findet insbesondere, wenn auch nicht ausschließlich bei Da te η ve rar be it ungs systeme η Anwendung, die Speicherschutzsysteme enthalten, wie sie in der deutschen Patentanmeldung P 21 26 206.6 beschrieben sind. In solchen Systemen sind mehrere sogenannte "Fähigkeits"· Itegteter(capability-reg.)in einem Verarbeitungsmodul vorgesehen, von denen jedes so ausgebildet ist, daß es eine Segmentbezeichnung enthält, die die Basis- und Endadressen eines bestimmten Informationssegments im Speicher des Systems definiert.In dem in der genannten Anmeldung beschriebenen Verarbeitungsmodul sind zwei Gruppen von solchen Fähigkeitsregistern verwendet, von denen die eine aus sogenannten "Arbeitsbereichsu-Fähigkeitsregistern und die andere aus sogenannten Registern mit "verdeckter"Fähigkeit besteht.
Die Arbeitsbereichs-Fähigkeitsregister werden dazu verwendet, die Segmentbezeichnungen zu speichern, die einige der .Arbeitsbereiche des Speichers definieren, auf die das vom Verarbeitungsmodul gerade ausgeführte Programm einen Zugriff ausüben darf. Alle Speicherzugriffe beziehen sich auf die Basi3adresse eines ausgewählten Fähigkeitsregisters, und die tatsächliche Zugriffsatlresae
209838/1101
wird überprüft, damit sichergestellt wird, daß sie in dem von dem Fähigice its register definierten Segment liegt. Außerdem sind Vorkehrungen getroffen, damit sichergestellt wird, daß die erforderliche Zugriffsart zu der Zeit auch zugelassen wird.
Die Register mit verdeckter Fähigkeit enthalten Segmentbezeichnungen, die Organisationssegmentfcereiche im Speicher definieren, die beispielsweise bei Speicherauszugsvorgängen und bei Unterbrechungsvorgängen verwendet werden. Eines der Register mit verdeckter Fähigkeit ist das sogenannte Hauptfähigkeitsregister, das in der oben genannten Anmeldung mit MCR bezeichnet ist. Das Haupt fähigke its reg is ter ist so ausgebildet, daß es bei normalen Arbeitsbedingungen eine Segmentbezeichnung enthält, die eine im Speicher enthaltene, sogenannte Hauptfähigkeitstabelle definiert. Die Hauptfihigkeitstabelle besteht aus einer Liste von Eintragungen, von denen jeweils eine für jedes Informations segment im Speicher vorgesehen ist. Jede Eintragung besteht aus den Basis- und Endadressen eines Speichersegments, und die Hauptfähigkeitstabelle enthält für jedes Inforraationssegment für alle Programm»des Systems im Speicher eine entsprechende Eintragung.
Gemäß einer bevorzugten Ausführungsform der Erfindung enthält der Verarbeitungsmodul ein besonderes Register , das eine Information enthält, die eines der Eintrittssegmente definiert, von denen jedes eine sich auf eine Segtnentbezeichnung beziehende Information enthält,die eine besondere FUhigko its tabelle definiert; die Kehlorerkennungseinrichtungen 3ind dabei ho aur;·.; bi Idet, daß
2 Π 9 8 3 8 f\ I 0 1
sie nach Feststellung eines Fehlerz us ta nd es den Inhalt des Haupt fähigkeits registers durch die die besondere Fähigkeitstabelle definierende Segmentbezeichnung ersetzen, wobei die besondere Fähigkeitstabelle für jedes sich allein auf das Prüfprogramm beziehende Informatbnssegment eine Anzahl von Eintragungen umfaßt.
Infolge der Einrichtung des besonderen Registers wird das Hauptfähigkeitsregister, das bei allen Ladevorgängen der Arbeitsbereichs-Fähigkeitsregister verwendet wird, mit einer eine besondere Fähigkeitstabelle definierenden Segraentbezeichnung geladen, sobald ein Fehler festgestellt wird. Die besondere Fähigkeitstabelle enthält eine sich auf eine sehr begrenzte Untergruppe der Systemprogramne beziehende Information, typischerweise nur die sich auf das Fehlerprüfprogramm allein beziehenden Segmente. Die oben genannten Vorkehrungen stellen daher sicher, daß die Speicherzugriffsfähigkeiten des fehlerhaften Verarbeitungsmoduls auf die Speicherbereiche, in denen das Fehlerprüfprogramm untergebracht ist, beschränkt sind, sobald ein Fehlerzustand festgestellt wird. Der fehlerhafte Verarbeitungsaodul kann auf die sich auf alle anderen Programme (d.h. Anwendungs-und Überwachungsprogramme)beziehenden Segmente wegen der von der Fähigkeitsregisteranordnung geschaffenen SpeicherschutzVorkehrungen keinen Zugriff ausüben; eine Beeinträchtigung dieser Segmente kann dafaer während der Durchführung des Fehlerprüf Programms durch den Verarbeitungsaodul nicht auftreten. Das Fehlerprüfprogramm ist so ausgestaltet, daß es alle Operationen des Verarbeitungsmoduls übeiprüft; wenn es erfolgreich beendet ist, kann ein Austritt aus diesem Programm in ein Anlaufüberwachungsprogramm erfolgen, das es dem nominellen fehlerhaften Verarbeitungsmodul, das vom On-Line-System abgetrennt worden ist, ermöglicht,
209838/1101
eich äiesem System wieder anzuschliessen. Daher wird ein Verarbeitungsmoäul, das ei'nem vorübergehenden Fehler unterworfen war, nicht vorschnell aus dem System entfernt. Wenn jedoch ein beständiger Fehler aufgetreten ist, wird der Verarbeitungsmodul ohne schädliche Auswirkungen in der zuvor erwähnten Fehlerprüfschleife festgehalten.
Ein Ausführungsbeispiel der Erfindung ist in der Zeichnung dargestellt. Darin zeigen:
Fig.1 ein Blockschaltbild eines Vielfach-Datenverarbeitungssysteras, in dem ein die Erfindung enthaltender Verarbeitungsmodul verwendet werden kann,
Fig.2 ein Blockschaltbild eines Verarbeitungsmoduls, der eine Ausführungsform der Erfindung enthält,
Fig.3 die Anordnung eines sogenannten Akkumulatorstapels des Verarbeitungsmoduls von Fig.2,
Fig.4 die Anordnung von sogenannten Fähigkeitsregisterstapeln, im Verarbeitungsmodul von Fig.2,
Fig.5 ein Flußdiagramra des als Reaktion auf die Feptetellung eines Fehlerzustand es durchgeführten Vorgangs nach der Erfindung und
Fig.6 in Blockform bestimmte Datensegmente des Speichers' des Datenverarbeitungssystems von Fig.1.
Unter Bezugnahme auf Fig. 1 sei zunächst eine kurze Betrachtung eines auf einer Modulbasis organisierten typischen Mehrfach- Datenverarbeitungssystems angegeben. Das Datenverarbeitungssystem enthält typischerweise einen Speicher MEM
209838/ 1101
mit einer Anzahl von Speichermoduln SM1 bia SM5, eine Anzahl von Verarbeitungsmoduln PM1 bis PM3, eine Anzahl von Eingabe-Ausgabe-Moduln IOM1 bia IOM3, die die peripheren Geräte PU1, PU2 und PUA bis PUN bedienen, sowie eine Verbindungseinriehtung ICM zur gegenseitigen "Verbindung von Speicher zu Verarbeitungsgerät und zu den Eingabe-Ausgabe-Moduln. Die tatsächliche Zahl der verschiedenen Moduln von Fig.1 soll nur als Beispiel dienen, ohne daß dadurch eine Beschränkung erfolgen soll. Die Eingabe-Ausgabe -Moduln IOM1 bis IOM3 können so ausgebildet sein, daß sie ein einziges peripheres Gerät (wie PU1) oder übereine für Peripheriegeräte bestimmte Zugriffsschaltanordnung PUASN mehrere periphere Geräte (wie PUA bis PUN) auf einer Time-Sharing-Basis bedienen.
Jeder Verarbeitungsmodul kann mit Hilfe der Verbindungseinrichtung ICM mit jedem der Speichermoduln SM1 bis SM5 verbunden werden; der Speicher MEM speichert dazu alle Anwendungs- und Überwachungsprogramme sowie alle Arbeitsdaten und permanenten Daten. Während der Durchführung eines Programms kann ein Verarbeitungsmodul eine Bedarfsmeldung an die Verbindungseinrichtung ICM geben, die die erforderliche Speicheradresse anzeigt, und die Verbindungseinrichtung weist diese Zugriffsbedarfsraeldungen unter Anwendung der Time-Sharing-Arbeitsweise den verschiedenen Speichermoduln zu. Die Eingabe-Ausgabe-Moduln IOM1 bis IOM3 können ebenfalls für den Informationsaustausch zwischen bestehenden Speicherbereichen und den peripheren Geräten einen Zugriff auf den Speicher ausüben.
Bei einem Datenverarbeitungssystem in modularer Bauweise ist der Speicher auf einer negme nt ierten Baoi3 aufgebaut. Alle Progr-uninrla fcen und die dazu gehörigen Arbeit α- und Dauerduten .sind in aegmerifcierter lorm auf die verschiedenen
2 0 9 8 3 8 / 1 I Ü 1
Speichermoduln des Systems aufgeteilt. Jeder Verarbeitungsmodul ist mit mehreren sogenannten Fähigkeitsregistern ausgestattet, von denen jedes eine sogenannte Segne nt be zeichnung enthalten kann, die ein Segment defiliert, auf das der Verarbeitungsmodul bei der Durchführung des derzeit zugewiesenen Programms einen Zugriff ausüben muß. Eine solche Anordnung ist in der deutschen Patentanmeldung P 21-26 206.6 beschrieben. Zwei der Fähigkeits register in einem solchen Verarbeitungsmodul werden dazu verwendet, Segment be ze ic h-r nungen zu speichern, die eine sogenannte Haupt fiihigkeitstabelle und eine sogenannte Hinweistabelle für reservierte Segmente definieren. Die Hau pt fähigkeits ta bei Ie hat für jedes Segment im Soeicher eine Eintragung, und jede Eintragung enthält eine Information, die die Basis- und Endadressen des Segments definieren, auf die sie sich bezieht. Auf diese Weise bildet die Haupt fähigkeits ta bei Ie eine Information auf dem Speicherplatz im Speicher für jedes Informationssegment für alle Programme und alle Arbeitsund Dauerdaten des Systems. Offensichtlich gehören einige der Informationssegtnente einer Anzahl von Programmen gemeinsam an, während andere einzeln zu besonderen Programmen gehören. Jedes Programm enthält eine Liste von Segmenten, auf die es einen Zugriff ausüben muß und darf, und diese Liste enthält eine Reihe von mit der Haupt fähig ke its liste in Beziehung stehenden Hinweisen, die in einer jedem Programm zugeordneten Hinweisliste für reservierte Segmente gespeichert sind. Die Segmentbezeiohnung, die die Hinweistabelle für reservierte Segmente des Programms definiert, wird jedesmal dann in eines der Fähigkeitsregister eines Verarbe itungsmoduia eingegeben, wenn der Verarbeitungsmodul mit der Durchführung des bestimmten Programms beginnt. Die Fqhigkeitsregin ter eines Verarbeitunßamodu ls sind in zwei Gruppen geteilt, von denen die eine (einschließlich den
2 Π <) 8 .1 8/1101
Hauptfähigkeitstabellenregisters) für organisatorische Zwecke und die andere für den Gebrauch im laufenden Arbeitsprogramm vorgesehen ist. Die zweite Registergruppe enthält gerufene Arbeitsbereichsfähigkeitsregister, die dazu verwendet werden, Segmentbezeichnungen zu speichern, die bei der Ausführung des laufenden Programms zu verwendende 'Segnente definieren. Aus Ersparnisgründen sind in einem VerarbeitungstTiodul beträchtlich weniger Arbeitsbereichsfähigkeitsregister vorgesehen als Plätze in der Hinweistabelle für reservierte Segmente vorhanden sind, und die Verarbeitungsmoduln sind mit einem Fäh ig ke its registerlad ebefehl versehen. Dieser Befehl ben tzt die Hinweistabelle für reservierte Segmente für das laufenden Programm sowie die Hauptfähigkeitsliste dazu, aus der Hauptfähigkeitstabelle eine Segmentbezeichnung für das Programm herzuleiten, wie bei seiner Durchführung erforderlich ist.
Ein Fähigkeitsregister wird jedesmal dann verwendet, wenn ein Speicherzugriffsvorgang erforderlich ist. Die Basisadresse eines bestimmten,von einem Befehlswort definierten Fähigkeit sregistets wird zu der von dem Befehlswort definierten Adresse hinzugefügt, damit die absolute Adresse eines bestimmten Speicherplatzes innerhalb des geforderten Segmente gebildet wird. Die Adresse für jeden S pe icherzugriff wird überprüft, damit sichergestellt wird, daß sie innerhalb der Grenzen des geforderten Segments liegt (d.h. absolute Speicheradresse ^ definierte Segmentbasisadresse und <^ definierte Segmentendadresse) je SpeicherZugriffe zugelassen werden. Wenn eine der oben angegebenen Bedingungen nicht eintritt, wird sofort ein Fehlerzustand angezeigt.
209838/ 1101
Oben ist angegeben worden, daß Umstände eintreten können, in denen Segmente einer Anzahl von Programmen gemeinsam angehören und gewissen Programmen nur erlaubt sein kann, die darin befindliche Information zu lesen, während anderen Progranmen erlaubt sein kann, in diesen Segmenten sowohl zu lesen als auch zu schreiben. Zur Anpassung an diese und andere Umstände ist mit jedem Reservesegmenthinweis ein sogenannter Zugriffserlaubniscode verbunden, der die von dem besonderen Programm erlaubten Zugriffsvorgänge definiert. Der Zugriffserlaubniscode wird in das Fähigkeitsregister eingegeben, das mit dem Segmenthinweis geladen ist, und er wird zur Überprüfung verwendet, ob jeder Zugriff auf das Segment durch den Verarbeitungsmodul ein erlaubter Zugriff ist. Auch hier erfolgt wieder eine Fehleranzeige, wenn eine Zugriffsstörung vorliegt.
Auf Grund des beschriebenen Mechanismus kann man erkennen, daß in die Organisation eines Verarbeitungsmoduls ein sehr sicheres Speicherzugriffssystem eingebaut werdet kann und daß durch das Vorsehen anderer normalerer Fehlererkennungsmechanisraen (beispielsweiseParitäts-Prüfing) ein Verarbeitungsmodul geschaffen werden kann, der eine sehr große interne Sicherheit aufweist. Wie jedoch oben bereits erwähnt worden iet, sind viele der auftretenden Fehler vorübergehend auftretende Fehler, und mit Hilfe des hier beschriebenen Systems soll ein Fehlerunterbrechungsmechanismus geschaffen werden, der den Verarbeitungsmodul vom On-Line-System abtrennt, wenn ein Fehler auftritt, den Verarbeitungsmodul aber in das On-Line-Systera wieder einschaltet, wenn er einen Fehlerprüfvorgang korrekt durchläuft.
Zu diesem Zweck ist jeder Verarbeitungsmodul des Systems von Fig. 1 mit einem Fehler unter bre ch ungs me chanismus ausgestattet,
209838/1101
der nach Feststellung eines Fehlerzustand es veranlaßt, daß der Segmenthinweis im Hauptfähigkeitaregister mit einem Segmenthinweis überschrieben wird, der eine spezielle Fähigkeitstabelle mit einer sehr begrenzten Anzahl von Eintragungen definiert. Die von der besonderen Fähigkeitstabelle angegebenen Segmente sind jene, die einem Fehlerprüfprogramm und einem Systemrückführungsprogramm angehören. Mit Hilfe dieser Anordnung wird der Verarbeitungsmodul, in dem ein Fehlerzustand festgestellt worden ist, unmittelbar auf einen begrenzten Bereich des Speichers beschränkt (d.h. auf den zum Fehlerprüfprogramm gehörigen Bereich), so daß er daher keine zerstörenden Auswirkungen auf den Rest des in Betrieb befindlichen On-Line-Systems haben kann.
Der Segmenthinweis für die besondere Fähigkeitsliste wird vom Speicher hergeleitet, und jeder Vera r be it ungs modul ist mit einem besonderen Fähigkeitsregister ausgestattet, das auf einen bestimmten Bereich in einem sogenannten Fehlerblock hinweist. Tatäßhlich sind mehrere dieser Fehlerblöcke vorgesehen, von denen jeder einen jedem Verarbeitungsmodul angehörigen Bereich in verschiedenen Speichermoduln sowie eine Kopie des Fehlerprüfprogramms in jedem Speichermodul mit einem Fehlerblocfc besitzt. Die Basiaadresse des Bereichs in einem Fahlerblock für einen bestimmten Verarbeitungamodul ist so aufgebaut ,daß sie in jedem Speichermodul, in dem sie erscheint, gleich ist, und der Fehlerunterbrechungsmechanismus und das Fehlerprüfprogramm sind so aufgebaut, daß der Verarbeitungsmodul dann, wenn während ihres Betriebszustandes ein Fehler festgestellt wird, zum Beginn der Fehlerunter bre ch ungs folge unter Verwendung de3 Fehlerblocks von einem anderen Speichermodul zurückkehrt und daher in das Fehlerprüfprogramm unter
209838/1101
Verwendung einer anderen Kopie dieses Programms eintritt... Mit Hilfe dieser Anordnung kann das Fehlerprogramm dann, wenn der Fehler in einem bestimmten Speichermodul und nicht im Verarbeitungsmodul auftrat, unter Verwendung eines funktionsfähigen Speichermoduls nach Durchführung eines fehlgeschlagenen Versuchs bei Verwendung des fehlerhaften Speicherraoduls durchgeführt werden. Wenn der aufgetretene Fehler im Verarbeitungsmodul ein beständiger Fehler war, wird der fehlerhafte Verarbeitungsmodul außerdem ohne störende Auswirkungen im Fehlerprüfprogramm festgehalten, das nacheinander einen Zugriff auf jedes Speichermodul der Reihe nach ausübt,in dem die Fehlerblöcke gespeichert sind.
Unter Bezugnahme auf die Figuren 2 , 3 und 4 erfolgt nun eine Betrachtung eines typischen Verarbeitungsmoduls, der den erfindungsgemäßen ünterbrechungsmechanismus enthalten kann, bevor die Arbeitsweise einer Ausführungsform des erfindunggjemäßen Unterbre cn ungs me cha nis muß näher beschrieben wird.
Beschreibung des Verarbeitungsmoduls.
In Fig.2 , die sich aus den Figuren 2a und 3b Seite an Seite zusammensetzt, wobei Fig.2b auf der rechten Seite anzuordnen ist, sind die relevanten Einzelheiten eines typischen Verarbeitungsmoduls dargestellt, der die Einrichtungen zur Durchführung der Erfindung enthält. Der VerarbeitungsoDdul CPU besteht aus einem Befehlsregister IR, einem Registerstapel aus Akkumulator/Arbeits-Registern ACC STK, einem Ergebnisregister RES REG, einem Operandenregister OPEG , einer Mikroprogrammsteuereinheit yuPROG, einem Rechenwerk MILL, einer Datenvergleichsein-
209838/1101
heit COMP, einem Speicherdateneingangs register SDIREG, zwei Speicherschutzregisterstapeln BASE STJC und TC/LMTSTK (Fähigkeitsregister), zwei Maschinenanzeigeregistern MIP und MlS, einem sogenannten Verlaufsregisterstapel HIS STK, einer Parityerzeugungs/Vergleichsschaltung PGC und einein Sonderblockfähigkeitsregister SSCR. Typischerweise können die vier Registerstapel (ACC STK, BASE STK, TC/LMT STK und HIS STK) unter Verwendung sogenannter Hilfseinheiten (scratch-pad units) aufgebaut sein, die mit Leitungswählschaltungen (SELA, SELB, SELL und SELH') ausgestattet sind, die die Verbindung des geforderten Registers mit den Eingangs- und Ausgangswegen des Stapels steuern.
Dns Verarbeitungsmodul CPU ist für eine ParalIeIverarbeitung organisiert; zur Erleichterung der Darstellung sind die verschiedenen Datenwege in den Figuren 2a und 2b jedoch als eine einzige Laitung dargestellt. Der Verarbeitungsmodul ist mit einem sogenannten Hauptstrang MHV/, einem Epeichereingangsstrang SIH und einem Speicherausgangsstrang SOH versehen. Jeder dieser Leitungsstränge umfaßt typischerweise 24 Bits entsprechend der Speicherwortgröße.
An die verschiedenen Leitungsstränge sind mehrere von Mikroprogrammsignalen gesteuerte Und-Gatter, beispielsweise das Und-Gatter G6 (d.h. solche Gatter, die mit der Zahl 2 bezeichnet sind) angeschlossen. Es ist zu beachten, daß jedes Gatter in der praktischen Ausführung aus 24 Gattern besteht, wobei jeweils eines für jede Leitung in dem 24 Bits umfassenden Leitungsstrang vorgesehen ist. Diese Gatter werden unter der Steuerung durch das Mikroprogramm so betätigt, daß sie bei Bedarf das Einschreiben der Daten auf den verschiedenen Leitungssträngen
209838/1101
in ausgewählte Register erlauben. Auch am Ausgang der Register und der Registerstapel sind Und-Gatter, beispielsweise das Und-Gatter G3, angebracht, die eine selektive Verbindung der verschiedenen Register mit dem Rechenwerk MILL erlauben. In Fig.2 sind auch mehrere Oder-Gatter (das sind jene Gatter, die mit der Zahl 1 bezeichnet sind) dargestellt, die einfach zu Trennzwecken verwendet werden und erlauben, daß zwei oder mehr Signal wege über eine Oder-Verknüpfung in einen Eingangsweg eingegeben werden.
Akkumulatorstapel: Diese Hilfseinheit wird dazu verwendet, eine Anzahl von Akkumulatorregistern zu bilden (ACCO^ACC?, die auch als Maskierungsregister oderAbwandlungsregister verwendet werden können). Aus diesen Registern können die geforderten Register entweder von Mikroprogrammsteuersignalen oder von Steuersignalen der Befehlswortsteuerfeldbits ausgewählt werden. Im Akkumulitorstapel AGC STK befindet sich auch das Ablaufsteuerregister (SCR) zusammen mit zusätzlichen Registern, von denen nur eines (ACC(I)) in Fig.3 dargestellt ist. Das Register ACC (I) wird zum Speichern der primären Maschinenarbeitsanzeiger verwendet, wenn eine Fehlerunterbrechung auftritt. Das für eine Operation geforderte Register wird dadurch ausgewählt, daß ein Auswählcode zu der Hilfseinheitenauswählschaltung SELA von Fig.2a geleitet wird.
Verlaufsregisterstapel HIS STK : Diese Hilfseinheit speichert folgende Daten:(I) Den absoluten Wert des laufenden Ablaufsteuerregisters, (II) das laufende Befehlswort für alle Programmschritte (Befehle) und (III) die absolute Adresse des Speicheroperanden bei Speicherzugriffsbefehlen. Der Stapel besteht aus 16 Registern zu 24 Bits, die von einem vier Bit fassenden Auswählregister SELH adressiert werden,
209838/1101
um als eine geschlossene Ringanordnung (first-in-first-out circular queue) aufgebaut ist, bei der das erste Eingangssignal auch das erste Ausgangssignal ist. Die Verlaufsregister erzeugen daher eine Aufzeichnung der zuletzt ausgeführten Programmschritte, und diese Information kann in einem Fehlerabhandlungsprogramra zur Ermittlung der Gründe für den Fehler verwendet werden.
Basisregisterstapel· BASE STK; Diese Hilfseinheit wird dazu verwendet, eine Anzahl von "halben" Fähigkeitsregistern für den Verarbeitungsmodul CPU zu bilden. Oben wurde ausgeführt, daß das Speicherschutzsystem eine Anzahl von sogenannten Fähigkeitsregistern enthält, von denen jedes einen aus einer Basisadresse, einer Endadresse und einem Zugriffsarterlaubniscode bestehenden Segmenthinweis enthält. Der Basisregisterstapel enthält die Basisadre3sen aller Fähigkeitsregister. Auf der linken Seite von Fig.4 sind die in diesem Stapel enthaltenen "halben" Fähigkeitsregister dargestellt, die aus acht sogenannten Arbeitsbereichsfähigkeitsregistern WCRO bis WCR7 und aus einer Anzahl von sogenannten Fähigkeitsregistern mit verdeckter Fähigkeit bestehen.In Fig.4- sind nur zwei der Fähigkeitsregister mit verdeckter Fähigkeit (DCR und MCR) dargestellt, da diese die einzigen Register sind, die für das Verständnis der hier ausgeführten Beschreibung wichtig sind. Die Arbeitsbereichsfähigkeitsregister sind mit Hilfe von Auswählcodes in Maschinenbefehleregister IR und mit Hilfe von Mikroprogrammsteuersignalen auswählbar, während die Register mit verdeckter Fähigkeit nur mit Hilfe von speziellen Befehlswortsteuercodes und mit Hilfe von vom Mikroprogramm erzeugten Auswahlcodes ausgewählt werden können.
Die Arbeitsbereichsfähigkeitsregister werden dazu verwendet, Segraenthinweise zu speichern, die einige der Arbeitsbereiche des Speichere definieren, auf die der
209838/1 101
derzeit eingesetzte Verarbeitungsmodul einen Zugriff ausüben muß. Eine oder mehrere der Arbeitsbereichsfähigkeits- " register werden dazu verwendet, einen Segmenthinweis zu speichern, der als "Reservesegmenthinweistäbelle" definiert ist; vereinbarungsgemäß wird die Hau pt tabelle if)< für das laufende Programm vom Register WCR7 definiert. :
An die Unterseite des Fähigkeitsregisterstapels von Fig»4 ist ein Register SSCR angefügt, das dem in Fig.2 dargestellten Sonderblockfähigkeitsregister SSCR gleicht. Dies® Register wird beim Auslösen eines Fehlerunterbrechungsablaufs dazu verwendet, die Information zur Beschränkung des S^eicherzugriffsbereichs des Verarbeitungsmoduls herzuleiten. las Fähigke its register DCR ist das Speicherauszugsfähigkeitsregister, das das Segment definiert, in dem die Parameter des gerade laufenden Programm abgespeichert werden sollen, wenn eine Verarbeitungsänderungsoperation durchgeführt werden soll. Das Fähigkeitsregister MCR definiert das Speichersegment, in der die Hau pt fäh ig ke it si is te untergebracht ist; es wird mit der Bezeichnung für die besondere Fähigkeitstabelle gefüllt, wenn eine Fehlerunterbrechung erfolgt.
Jede Basis eines Fähigkeitsregisters bezeichnet (a) den Speichermodul (z.B. die wichtigsten acht Bits), in dem das Segment sitzt und (b) die Basis* oder Ausgangsadresse dieses Segments innerhalb des Speicherrooduls. An jede Basis ist ein Paritäts-Bit für die volle Basisadresse angefügt.
Typencode/Endstapel TC/LMT STK: Dieser Stapel bildet die andere "Hälfte" der Fähigkeitsregister; er ist in Fig.4 auf der rechten Seite dargestellt. Jedes Fnhigkeitsregister wird sowohl im Basis- als auch ie Endstapel von einer entsprechenden Zeile gebildet.
209838/1101
Die Endadresse definiert die letzte Adresse des Segments. An sie ist ein nur für diese Endadresse bestimmtes Paritäts-Bit angefügt. Der Typencode ist nicht mit einem Paritäts-Bit versehen; er hat auch keine Bedeutung für die Paritäts-Bits der Basis- und Endadressen.
Ergebnisregister RBS REG: Dieses Register, das eine Länge von 24 Bits hat, wird vom Haupt strang MHW gespeist, und es kann zur zeitweiligen Speicherung von Daten, beispielsweise zum Speichern des Ergebnisses eines RechenVorgangs,. verwendet werden.
Operandenregister QPREG : Dieses Register, das eine Länge von 24 Bits hat, kann entweder über den Haupt strang MIIW oder über den Speicherausgangsstrang SOH gespeist werden. Es wird zum Empfang eines Befehlsworts und als Zwischenregister bei der Bildung einer Speicherzugriffsadresse verwendet.
Befehlsregister IR: Dieses Register wird zum Speichern der Steuerbitfelder eines Befehlsworts verwendet, die es der Mikroprogrammsteuerung zuführt. Es spielt jedoch beim Betrieb der hier zu beschreibenden Einrichtung keine Rolle, 30 daß weiter nicht darauf eingegangen wird.
Mikroprogramme!nheit »PROG : D^ese Einheit steuert die Ablauf folge der Operationen des Verarbeitungsmoduls durch Abgabe von zeitlich festgelegten und aufeinanderfolgenden SteuersignalenCuPGCS) zur Steuerung (I) der verschiedenen Eingangsunä Ausgangsgatter der Register,(II) des Rechenwerks MILL (Leitungen AUuS), (III) der Vergleichs einheit COMP Leitungen (GuS), (IV) der Fehlerbits des primären A nzei ge register MIP (Leitungen FIS) und (V) der Zustandsbits des sekundären Anzeigeregisters MIS (Leitungen SIuCS). Die Mikroprogrammeinheit kann auch folgende Funktionen ausführen: (I) über Leitungen RSEL und GRSEL verschiedene Ragister auswählen.
209838/1101
(II) das Portschalten des Verlaufsregisteradressenwählers (Leitung ING) steuern, (III) .die Inhalte der Speichereingangsregister S11IREG (Leitung +1S) erhöhen und (IV) Steuercodes auf dem Speicher zugriffssteuersignalstrang SIHCS gemäß dem angesprochenen Segraenthinweiscode erzeugen. In die Einheit werden verschiedene Steuer- und Zustande signale eingegeben, die die verschiedenen Zustände und Anzeigen angeben, die im Verarbeitungsmodul zu jeder Zeit vorhanden sind. Die Darstellung dieser Signale erfolgt (a) als Leitungen AUOS für die Zustandssignale vom Rechenwerk MILL, (b) als Leitungen ICS für Anzeigesignale von den primären und sekundären Anzeigeregistern MIP und MIS, (c) als Leitungen PCS für die Zustandssignale, von der Paritätsgenerator/ftrüfschaltung (PGC)und (d) als Leitungen CIS für Zustandssignale von der Vergleichseinheit COMP. Die Mikroprogrammeinheit kann irgendein bekannter Typ einer solchen Einheit sein, der beispielsweise mit selbstadressierten Festwertspeichern arbeitet.
Rechenwerk MILL: Diese Einheit ist ein herkömmliches Rechenwerk, das Datenwörter , die ihm über seine zwei Eingänge angeboten werden, in paralleler Arithmetik verarbeiten kann. Sein Ergebnis wird über den Hauptstrang MHW einer vom Mikroprogramm definierten Bestimmung zugeführt. Die tatsächlichen Vorgänge, die vom Rechenwerk MILL ausgeführt werden, werden von den Mikroprogrammsteuersignalen AUuS für das Rechenwerk festgelegt.
Vergleichs einheit COMP; Diese Einheit wird dazu verwendet, die in die Speicherdateneingangsregister SDIREG eingegebene Adresse und die geforderten Zugriffsoperationen mit den Grenzen (d.h. der Basis und dem Ende) und dem Zugriffserlaubniscode der zu dem Speicherzugriff gehörigen Segmentbezeichnung zu vergleichen. Ihre ihren Zustand anzeigenden A us gangs s ig na le CIS werden in die Mikro programmeinheit uPROG
• 2 0 9 8 3 8/1101
eingegeben, und sie steuern den Zustand einig* der primären Anzeiger. Die Vergleichseinheit ist auch so ausgebildet, daß sie die Parität der Basis- und Endadressen jedesmal überprüft, wenn sie verwendet werden. Die Bedeutung der Punktionen der Vergleichseinheit werden später noch deutlich.
Speicherdateneingangs register SDIREG-: Dieses Register wirkt als AEisgangs register für Daten vom Verarbeitungsmodul zum Speicher. Die Speicheradressierungs- und Speicherschreibdaten zur Durchgabe zum Speicher werden in diesem Register gesammelt, ehe sie über den S pe icher eingang sstrang SIH zum Speicher befördert werden. Dieses Register ist mit einer Einrichtung zur "Erhöhung um Eins" ausgestattet, die über die Leitung +1S unter der Steuerung durch das Mikroprogramm steht.
Parittätserzeugungs-und Paritätsprüfschaltung PGC; Diese Erhaltung wird dazu verwendet, das über den Speicherausgangssteuerstrang SOHGS empfangene Paritätsbit (Leitung SPB), das ein Lesedatenwort begleitet, mit einer lokal erzeugten Parität von den Daten am Strang SOH und den in das Operandenregister OPREG eingesetzten Daten zu überprüfen. Darüberhinaus überprüft diese Schaltung die lokal erzeugte Parität der Adressen oder Daten im Speichereingangsregister SDIREG in Bezug auf den Zustand einer Par it äts prüf leitung PCW im S pe i ehe raus gangs st euerstrang SOHCS. Die Paritätsprüfleitung PCW wird dazu verwendet, die Parität der vom Speicher empfangenen Adressen oder Daten, die vom Verarbeitungsmodul erzeugt worden sind, zu diesem Verarbeitungsmodul zurückzusenden. Die Ergebnisse dieser verschiedenen Paritätsprüfungen werden über Leitungen PSC der Mikroprogrammeinheit mitgeteilt. Die Speicher-
209838/1 101
paritätsbitleitung SPB ist den Wirkungen einer schaltbaren Inversionsschaltung IP ausgesetzt, deren Bedeutung später noch ersichtlich wird.
Maschinenanzeigeregister MIP: Das Register MIP wird zum Speichern der sogenannten primären Anzeiger verwendet, während das Register MIS die sogenannten sekundären Anzeiger speichert.Die folgende Tabelle zeigt eine typische Liste von primären Anzeigern, die im Register MIP gespeichert sind. Bs ist nicht beabsichtigt, daß diese Tabelle erschöpfend alle Arten von verfügbaren Fehle rzustandsfeststellungsanordnungen enthält; sie ist vielmehr nur beispielshalber angegeben.
209838/ 1101
Bit Nr. Name des Anzeigers Funktion
O MILL gleich Null Arithmetische
Anzeiger
1 MILL größer als Null Fehler
anzeiger
CvJ MILL Überlauf -
3 Register
identitäts
anzeiger
4
5 Zugriffsfeldstörung
6 Fähigke it spa r it ät s fehl er
7 Fähigke its-Basis/End-Störung
8 Fähigke it ssummenprüf fehler
9 Spei eher kopplungs ze it sperre
10 £aritäts Vergleichs fehl er
11 Leseuatenparitätsfehler
12 Ungültige Operation
13 St ro maus fall
14 Ungültiges Speichersteuersignal
15
16
17
18
19
20
21
22
23
Adresse des Fähigke its registers
209838/1 101
(a) Arithmetische Anzeige: -Diese Anzeiger verstehen sich von selbst; sie sind entsprechend dem Zustand von Peststellungseinrichtungen im Rechenwerk MlIL eingestellt.
(b) !Fehleranzeiger; Diese Anzeiger sind als Ergebnis von Fehlerzuständen eingestellt, die auftreten und vom Verarbeitungsmodul festgestellt werden. Es folgt nun der Reihe nach eine Betrachtung jedes der Anzeiger.
(I) Bit 5-Zugriffsfelästörung: Dieses Bit wird von einem . Ausgangszustand von der Vergleichseinheit COMP gesetzt, wenn die geforderte Speicheroperation, die von einer Codierung an einer Gruppe von drei sogenannte Steuerleitungen bildendan Leitungen im Strang SOHCS bestimmt wird , nicht den vom Segmentbezeichnungstypcode zugelassenen Operationen entspricht. Die drei Steuerleitungen können so oudfert sein, daß der Gode 001 die Bedeutung "Lesen", der Code 010 die Bedeutung "Lesen und Halten",der Code 100 die Bedeutung "Schreiben" und der Code 111 die Bedeutung "Rücksetzen" hat. Man erkennt, daß die angegebenen Codes so ausgestattet sind, daß ein in einem Bit auftretender Fehler beim Speicher als ein ungültiges Muster entdeckt wird. Der Artcode einer Fähigkeit, der als die wichtigsten acht Bits in der End half te des Fähigkeitsregisters angeordnet ist, ist linear codiert, so daß das Bit 16 Lesedaten, das Bit 17 Schreibdaten, das Bit 18 Ausführungsdaten, das Bit 19 eine Lesefähigkeit, das Bit eine Schreibfähigkeit und das Bit 21 eine Eintrittsfähigkeit spezifiziert, während die Bits 22 und 23 frei bleiben. Man erkennt, daß die Information eines Programms in zwei Typen unterteilt ist, nämlich in Daten- und Fähigkeitshinweise. Datenblöcke können entweder Programmbefehle (Artcode mit gesetztem Bit 18) , Datenkonstanten (Bit 16 gesetzt) oder Veränderliche (Bit 17 gesetzt) enthalten. Blöcke von
209838/1101
Fähigkeitshinweisen werden während des Ladens der Fähigkeitsregister (Bit 19 gesetzt) während des Sueicherns von Fähigkeitshinweisen (Bit 20 gesetzt) oder zum Lesen anderer Programmfähigkeitshinweise (Bit 21 gesetzt) verwendet. Aus der obigen Beschreibung kann*man erkennen, daß dann, wenn ein Programm mit einer ausschließlichen Fähigkeit zum Lesen eines bestimmten Segments das Schreiben in das Segment auszusagen versucht, der Schreibcode 100 an den Steuerleitungen dera Strangs SOHCS nicht mit der Setzbedingung des Bits 16 des Artcodes für diese Segmentbezeichnung zusammenpaßt, so daß dadurch das Bit 5 des Anzeigeregisters MIP von der Vergleichseinheit COMP gesetzt wird.
(II) Bit 6 -Fähigkeitsparitätsfehler; Wie oben erwähnt wurde, sind an die in den Fahigkeitsregistern gespeicherten Basis- und Endadressen Paritätsbits angefügt, die vom Verarbeitungsmodul empfangen werden, wenn diese Adressen der Hauptfähigkeitstabelle entnommen und über die Koppeleinheit zwischen Speicher und Verarbeitungsmodulweitergegeben werden. Jedesmal, wenn eine Basisadresse oder eine Endadresse im Verarbeitungsmodul verwendet wird, berechnet die Vergleichseinheit COMP das Paritätsbit für diese Adresse und vergleicht esmit dem Paritätsbit, das mit der bestimmten Adresse gespeichert ist. Diese Anordnung hält eine beständige Prüfung gegen ein-Bit-Fehler der Segmentbezeichnungsadressen aufrecht, während sie sich in den Fähigkeitsregistern des Verarbeitungsmoduls befinden. Wenn die Paritätsbits nicht übereinstimmen, wird das Bit 6 des primären Anzeigeregiaters MIP durch ein Ausgangssignal der Vergleichseinheit gesetzt.
209838/1 101
(III) Bit 7 - Fähigkeits-Basis/End-Störung: Wie oben erwähnt , umfaßt jeder Speicherzugriff die Verwendung eines Fähigiceitaregisters, und die berechnete absolute Speicheradresse (beispielsweise die Basisadresse und die vom Befehlswort bestimmte Adresse) wird gegen die Basis- und End werte des geforderten Segments überprüft. Dieeer Vorgang wird von der Vergleichseinheit COMP wieder ausgeführt, und das Bit 7 dea primären Anzeigeregisters MIP wird gesetzt, wenn die berechnete absolute Adresse außerhalb der Grenzen der Segmentbezeichnung liegt.
(IV) Bit 8-Fähigkeit3Summenprüffehler: In der deutschen Patentanmeldung P 21 26 2O6.ß«ird gezeigt, daß jede Hau pt fähigke it 3-tabelleneintragung drei Speicherwörter umfaßt, nämlich (I) die Summenprüfung, (II) dieBasisadresse und (III) die Endadresse. Das erste Wort ist eine berechnete Summe der zweiten zwei Wörter, und es wird zur Sicherung verwendet, daß die Fähigkeits register korrekt geladen sind. Wenn ein Ladefähigkeitsregisterbe fehl ausgeführt wird, wird das erste Wort intern gespeichert und mit einem lokal erzeugten Summenprüfwort verglichen, das aus den in das bestimmte Fähigkeitsregister eingegebenen Basis- und Endadressen berechnet worden ist. Wenn die lokal erzeugte Summen prüfung und die Suramenprüfung der Haupt fähigke its ta bei Ie nicht gleich sind, erzeugt das Rechenwerk MILL einen Zustand "MILL größer als Null", der unter Verwendung einer der Leitungen FIS , vom Mikroprogramm gesteuert, zum Eetzen des Bits 8 des primären Anzeige registers MiP verwendet wird.
Bit 9-Speicherkopplungszeitnperre: Dieses Bit den primären Anzeigeregiste rs MiP wird von der Mikroprogrammsteuerung unter Verwendung einer der Leitungen FLS gesetzt, wenn eine vor bestimmte Zeit zwischen dem Anbieten eines
209838/110 1
Daten- oder Adressenworts vom Verarbeitungsmodul zum Speicher und einer Antwort vom Speicher verstreicht. Typischerweise kann die Mikroprogrammsteuereinheit einen Zähler enthalten, der so aufgebaut ist, daß er bis etwa 20 Mikrοse künden zählt. Dieser Zähler wird ausgelöst, wenn das Adressen-oder Datenwort im Speichereingangsregister SDlREG zum Strang SIH abgegeben wird. Die Rückkehr einer Information auf dem Speicherausgangssteuerstrang SOHCS hält den Zähler an. Wenn jedoch der volle Zählerstand erreicht wird, ehe die Informationsrückkehr festgestellt wird, wird das Bit 9 des Anzeigeregisters MIP gesetzt.
(VI) Bit 10-Paritätsvergleichsfehler: Dieses Bit wird, vom Mikroprogramm gesteuert, unter Verwendung einer der Leitungen FlS gesetzt, wenn die bei den Speicheradressen- oder Speicherschreibäatenwörtern erzeugte und über die Paritätsrückführleitung des Strangs SOHCS zurückgeführte Parität nicht mit der im Par it äts genera tor PGC lokal erzeugten Parität des im Register SDIREG geformten Adressen- oder Datenworts übereinstimmt.
(VII) Bit 11-Lesedatenparitätsfehler: Dieses Bit wird,, vom Mikroprogramm gesteuert, unter Verwendung einer der Leitungen FIS gesetzt, wenn die über den Strang SOH empfangenen und in das Operandenregister eingeschriebenen Daten nicht die im Paritätsgenerator PGC lokal erzeugte gleiche Parität aufweisen, die an der "Paritäts"-Leitung des Strangs SOHCS angezeigt wird.
(VIII) Bit 12-ungültige Operation: Dieses Bit wird, vom Mikroprogramm gesteuert ,unter Verwendung einer der Lei tungen FIS gesetzt, wenn der in das Befehlsregister IR
209838/1101
eingegebene Funktionscode beim Zuführen zur Mikr οprogrammsteuereinheit uPROG von dieser Einheit als ein ungültiger Befehl festgestellt wird.
(IX) Bit 13-Stromausfall: Dieses Bit wird gesetzt, wenn festgestellt wird, daß die Energieversorgungsgrenzwerte überschritten worden sind.
(X) Bit 14-ungültiges Speichersteuereignal: Dieses Bit wird, vom Mikroprogramm gesteuert, unter Verwendung einer ifer Leitungen FlS dann gesetzt, wenn über den Strang SOHCS vom Speicher eine Anzeige erfolgt, daß der dem Speicher über den Strang SIHCS zugeführte Steuercode ungültig ist. E3 sei daran erinnert, daß für den Steuercode drei Leitungen verwendet werden, und daß die Codierung derart beschaffen ist, daß Ein-Bit-Fehler in diesem Teil des Steuerstrangs einen ungültigen Speicherbetätigungscode erzeugen.
(c) Regis te rid en tit äts, -Fehle ran zeiger:
Die Bits 20 bis 23 des Registers MIP werden unter der Steuerung durch das Mikroprogramm über Leitungen FIS gesetzt, damit die Identität des Fähigkeitsregisters in einen 1 a.us 16 -Code bestimmt wird, das in Gebrauch ist, wenn eine der Pehleranzeigebits 5 » 6, 7 oder 8 gesetzt wird. Der Adressencode wird von der Mikroprogrammsteuereinheit erzeugt.
Maschinenanzeigere^iater MIS; Das Register MIS speichert eine Anzahl von Anzeigern, die für den internen Gebrauch durch die über Leitungen SIuCS wirksame Mikroprogrammsteuereinheit benötigt werden. Für die hier vorliegende Beschreibung sind nur fünf dieser Anzeiger von Bedeutung. Das sind die folgenden Anzeiger : (I) ein Anzeiger für einen ersten Versuch, (II) ein Anzeiger für einen Organisationfehler, (III) einen
209838/1101
Anzeiger für einen zweiten Fehler, (IV) einen Anzeiger für einen gemeinsamen Fehler und (V) einen Anzeiger für interne Parität. Die Bedeutung dieser Anzeiger geht aus der folgenden Beschreibung der Arbeitsweise des Verarbeitungsmoduls bei Auftreten einer Fehlerunterbrechung hervor.
Fehler unt er brechung opera tion
Der Ablauf von Operationen, die vom Bearbeitungsmodul ausgeführt wird, ; wenn ein Fehleranzeiger gesetzt ist, wird nun im Zusammenhang mit den Figuren 2a und 2b sowie mit Fig.5 beschrieben.
Der Schritt"SO (CFI gesetzt) von Fig.5 ist der Eintrittsschritt in das Fehlerunterbrechungsmikroprogramm; er-gibt an, daß der Anzeiger für den gemeinsamen Fehler (CFI ) im sekundären Anzeigeregister MIS (Fig.2a) gesetzt worden ist, und daß sein Setzzustand über «die entsprechende Leitung der Leitungen ICS der Mikroprogrammsteuereinheit nPROG· mitgeteilt worden ist. Das Setzen eines der Bits 5 bis H des primären Anzeigeregisters MIP bewirkt über die Leitung F das Setzen des Anzeigers für den gemeinsamen Fehler des Registers MIS. Ohne Rücksicht auf alle anderen zur Zeit vorliegenden Zustände bewirkt die Aktivierung des Anzeigers für den gemeinsamen. Fehler den Beginn des Fehlerunterbrechungsmikroprogramms·
Die folgende Beschreibung ist in die Schritte von Fig.5 unterteilt, doch wird häufig auch auf andere Figuren der Zeichnung Bezug genommen.
SI- Setzen von F.A.T.
Die Mikroprogramrasteuereinheit uPROG prüft den Zustand des Erstversuchaanzeigera (F.A.T.) im sekundären Anzeige-
209838/1101
register MIS (durch Abfragen der zugehörigen ICS-Leitung), um festzustellen, ob er gesetzt ist.
Es wird angenommen, daß der Erstversuchaanzeiger in diesem Stadium nicht gesetzt ist, so daß angezeigt wird, daß dies der erste Eintritt in die Fehlerunterbrechungs-Mikroprogrammfolge für den derzeitigen Fehlerzustand ist; die Bedeutung dieses Prüfvorgangs wird unten noch ersichtlich.
S2 - Paritätsinversion;
Die Mikroprogrammsteuereinheit nPROG ändert bei diesem Schritt den Zustand des Anzeigers für die interne* Parität im sekundären Anzeigeregister MIS. Dieser Anzeiger wird dazu verwendet, an den leitungen PS Bedingungen zur Steuerung der Paritätsinversfonsschaltung IP zu erzeugen und an die Paritätsprüf- und Paritätserzeugungsschaltung PGC sowie an die Vergleichs einheit COMP Paritätszustandsanzeigesignale (d.h. "ungerade" oder "gerade" ParitätssignaIe) zu liefern. Das Datenverarbeitungssystem kann beispielsweise auf der Grundlage einer ungeraden Parität organisiert sein, so daß in den Speichereinrichtungen eine ungerade Parität gespeichert i3t und beim Lesen von Daten an die Verarbeitungsmoduln weitergegeben wird. Die Verarbeitungsmoduln können jedoch so aufgebaut sein, daß sie intern mit ungerader oder mit gerader Parität abhängig vom Zustand des Anzeigers für die interne Parität arbeiten. Jedesmal dann, wenn eine Fehlerunterbrechung auftritt, bei der der Erstversuchsanzeiger rückgesetzt ist, wird der Anzeiger für die interne Parität invertiert. Die zu dieser Zeit gerade im Verarbeitungsmodul befindlichen Daten werden daher, wenn sie irrtümlich verwendet werden, als -^aten mit falscher Parität beurteilt. Dies ist besonders ira Hinblick auf die Fähigkeitsregister von Bedeutung, da die gespeicherten Paritätsbita für die Basis— und Endadressen jedes gel-Adenen Fähigkeitsregisters
209838/1101
nun ungültig gemacht werden. Dadurch wird sichergestellt, daß das derzeit ablaufende Programm von dem fehlerhaften Verarbeitungstnodul nicht beeinträchtigt werden kann, da jeder Versuch, ein zur Zeit gerade geladenes Fähigkeitsregister zu verwenden, nachdem ein Fehlerzustand festgestellt worden ist, zu einem Paritätsfehlerzustand in
einem Fähigkeitsregister führt.
53 -Setzen von F.A.T.:
Die Mikroprogrammsteuereinheit setzt in diesem Schritt den Erstversuchsanzeiger(F.A.T.), damit aangezeigt wird, daß der derzeitige Eintritt in die Fehlerunterbrechungsfolge der erste Eintritt al3 Folge des derzeitigen Fehlerzustandes ist. Von den Leitungen SIuCS wird die entsprechende Leitung zum Setzen des Srstversuchsanzeigers im Register MIS aktiviert. Der Erstversuchsanzeiger ist im gesetzten Zustand so beschaffen,daß er das Unterbrechungssystem
des Verarbeitungsmoduls sperrt, so daß der Verarbeitungsmodul daher auf den Fehlerprüfvorgang beschränkt ist.
Gegen Ende des Fehlerprüfprogramms wird der Erstversuchsanzeiger von einem Programmbe fehl wieder rückgesetzt.
54 - Erhöhe. SELH um 1:
Die Mikroprogrammsteuereinheit erhöht (durch Aktivierung der Leitung ING) den Adressenhinweis im Verlaufsregisterstapel KlS STK bei diesem Schritt zur Bereitschaft für den späteren Gebrauch.
55 - ACC(I): = MIP ;
Die Mikroprogrammsteuereinheit bewirkt ein Einschreiben der im Register MIP befindlichen Primärmaschinenanzeiger in den Akkumulator ACC (I) der Anzeiger. Es sei bemerkt,
209838/1101
das im Schritt S4 von Fig.5 gezeigte Symbol (: = ) als "ergibt sich aus" zu lesen ist. Die Operationen bei diesem Schritt werden dadurch ausgeführt, daß (I) der Akkumulator ACC(I) durch Verwendung der Leitungen RSEL ausgewählt wird, daß (II) das Gatter G1 geöffnet wird und daß (III) das Gatter G2 geöffnet wird. Dadurch kann der Inhalt des Registers MIP über dem Strang MHW an den ausgewählten Akkumulator ACC(I) angelegt werden.
56 - Setzen von F1T:
Die Mikroprogrammsteuereinheit uPROG setzt in diesem Stadium unter Verwendung der entsprechenden SIuCS-Leitung äen Anzeiger für falsche Organisation (F1T). Dieser Anzeiger wird dazu verwendet, die Aufzeichnung der Zustände der Fehleranzeiger im Akkumulator ACC (I) zu schützen, falls ein zweiter Fehler auftreten sollte, ehe diese Anzeigerzustände in die Verlaufsregister eingeschrieben worden sind. Der Einfachheit halber ist es zwar in Fig.5 nicht dargestellt, doch ist dieser Anzeiger (F1T) so ausgestaltet, daß er die Schritte S4 und S5 umgeht, wenn der Eintritt in die Nummerunterbrechungs-Mikroprogrammfolge bei gesetztem F1I erfolgt.
57 - Rücksetzen von FI:
Die Mikroprogrammsteuereinheit aiPROG bewirkt die Rücksetznpg des gesetzten fehleranzeige rs im primären Anzeigeregister MIP und den Anzeiger für den gemeinsamen Fehler (CFI) im sekundären Anzeigeregister MIS bei diesem Schritt unter Verwendung der entsprechenden S LuCS-Leitung.
58 - FIIT gesetzt ?
Bei diesem Schritt prüft die Mikroprogrammsteuereinheit uPROG
209838/ 1101
aen Zustand äes Zweitfehleranzeige rs (FIIT) im sekundären Anzeigeregister MIS unter Verwendung der entsprechenden ICS-Leitung. Es sei angenommen, daß derZweitfehleranzeiger in diesem Stadium nicht gesetzt ist, da es der erste Eintritt in die Fehlerunterbrechungs-Mikroprogrammfolge ist.
S9 - Rücksetzen von MEM;
Die Mikroprogrammsteuereinheit uPROG bewirkt bei diesem Schritt das Anlegen des aus 1- Zeichen bestehenden Codes· an die Steuerleitungen des Speichereingangssteuersitrangs SIHGS, wenn der Fehler während der Adressierung des Speichers aufgetreten ist. Dies bewirkt die Abtrennung des Speichers von einer Verwendung durch andere Verarbeitungsmoduln.
S1O - Ladung von MCR:
Die Mikroprogrammsteuereinheit uPROG veranlaßt das Laden des Hau pt fä hi gke its registers MCR (von Fig.4) mit der Segmentbezeichnung der besonderen Fähigkeitstabelle für diesen Verarbeitungsmodul.Die bei diesem Schritt ausgeführten Funktionen sind ziemlich kompliziert; es wird daher nicht nur auf die Figuren 2a und 2b sondern auch auf Fig.6 Bezug genommen.
Fig.6 zeigt in einer sehr knappen Übersicht einen Verarbeitungsmodul CPUY und einen Speichermodul SMX-* Die im Verarbeitungsmodul von Fig.6 gezeigten Register sind nur skizzenmäßig dargestellt worden, da dieses Bild nur als Erklärung der verschiedenen, bei der Fehlerunterbrechungs-Mikroprogrammfolge ausgeführten Funktionen angesehen werden soll. Die Arbeitsbereich3fähigkeitsregister WCRO-7
2098-J8/1101
(Fig.4) sind in Fig.6 nur als Block dargestellt, und von den Registern mit verdeckter Fähigkeit sind nur das Speicherauszugsfähigkeitsregister und das Haupt fähigke itsregister dargestellt. Das Sonder fähigke itsregister SSCR und das Operandenregister OPREG sind die einzigen zwei anderen in Fig.6 dargestellten Register. Es ist oben bereits erwähnt worden, daß einige der Speichermodulη im Speicher mit einem Fehlerblock ausgestattet sind, der für jeden Verarbeitungsmodul im System eine besondere Information enthält. Der lehlerblock ist in Fig.6 bei SFB dargestellt; er besteht aus N vier Wörter umfassenden Bereichen, wobei N die Zahl der Verarbeitungsmoduln ist. In Fig.6 sind nur zwei solche Bereiche dargestellt, und der zum Verarbeitungsmodul CPUY gehörige Bereich ist so dargestellt, daß auf ihn über den Weg (1) vom Sonderfähigkeitsregister SSCR in dem Modul hingezeigt wird. Jeder Bereich im Fehlerblock SFB besteht (I) aus einem Summe ηprüfwort, (II) aus einer Basisadresse BASE, (III) aus einer Endadresse LIMIT und (IV) aus einem Hinweiswort RSPC-O. In Fjg.6 ist eine Anzahl von anderen Segmenten im ßpeichermodul Si«IX dargestellt, die bei der späteren Beschreibung gebraucht werden. Kurz gesagt bestehen sie (I) aus einem Block von Sonderfähigkeitstabellen SCT , von denen jeweils eine für jeden Verarbeitungsinodul vorgesehen ist,(II) aus einen Block von Prüfprogrammspeicherauszugsstapeln C-ODS, von denen jeweüs einer für jeden Terarbeitungsraodul vorgesehen ist, (III) aus einem Block von Prüf programm-Segme nt bezeichnungsl is te η C-ORSPT , von denen jeweils eine für jeden Verarbeitungsmodul vorgesehen ist, und (IV) au3 einem Block von Segaenten, die die Information für das Prüfprogramm C-OPROG speichern.
209838/1101
Es folgt nun die Betrachtung der Aktionen der Mikroprogrammsteuereinheit uPROG (F-^g. 2) bei der Durchführung des laufenden Schritts der Fehlerunterbrechungs-Mikroprogrammfolge. Die erste Operation besteht darin, den Speichermodul SMX(von Fig.6) mit der Startadresse des den Verarbeitungsmodul CPUY im Fehlerblock SFB angehörigen Bereichs zu adressieren.
S10a - Zugriff auf das erste V/ort im Bereich des Fehlerblocks SFB;
Diese Oueration wird durch Aktivieren der Gatter G3, G4 und G6 von Fig.2 durchgeführt. Die Aktivierung des Gatters G3 bewirkt die Eingabe des Ba3isadres3enInhalts des Sonderfähigkeit 3 registers SSOR über das Rechenwerk MILL und den Strang ICiW in das Speichereingangsregister SDIREG4 Das Sonderfähigkeitsregister SSCR ist in zwei Abschnitte aufgeteilt. Der erste Abschnitt wird über ein fest verdrahtetes Verbindungsfeld SF gesetzt, das so ausgestaltet ist, daß dieser erste Abschnitt dauerhaft mit der ersten Adresse des Bereichs im Fehlerblock jedes Speicherraoduls codiert wird. Der zweite Abschnitt ist veränderlich , und er kann in diesem Stadium insgesamt auf Null zurückgestellt werden, was, wie angenommen wird, die Speichermoduladresse des Speichermoduls GMX in Fig.6 anzeigt. Wenn das Gatter G5 (Fig.2) geöffnet wird, befördert der Spsichereingangsst rang SIH daher die erste Adresse des Bereichs, der für den Verarbeitungsmodul CPUY im Sonder fehler block SFB (lig.6) verwendbar ist. Gleichzeitig setzt die Mikr ο program ras te uereinheit die Codeleitungen des Speichereingangssteuersignalstrangs SIHCS (Fjg.2) in einen Zustand, der dem Speicher einen Lesevorgang anzeigt. Der in Fig.6 dargestellte Weg (1) ist daher aktiviert, und das erste Wort im Bereich
209838/1101
des Blocks SFB des Verarbeitungsmoduls wird gelesen und über den Speicherausgangsstrang SOH (Fig.2) zum Verarbeitungsmodul zurücktransportiert.
S10b - Eingabe des ersten Worts vom Bereich im Block SFB;
Dieses Wort ist in Wirklichkeit das Summenprüfwort für die Segmentbezeichnung der Sonderfähigkeitstabelle, und seine Ankunft am Verarbeitungsmodul wird von der Mikroprogrammsteuereinheit uPROG (Fig.2) über den Steuersignalstrang SOHGS angezeigt. Die Mikroprogrammsteuereinheit öffnet darauf hin die Gatter GS und G6f wodurch das Summenprüfwort in das Operandenregister OPREG geschrieben wird. Während der Durchführung dieses Vorgangs prüft die Paritätsa:zeugungsunü Paritätsprüfschaltung PGG die Parität des ankommenden Worts und der Daten im Operandenregister in Bezug auf den Speicherparitätsbitzustand an der Leitung SPB. Wenn keine Paritätsfehler festgestellt werden, wird das zweite Wort aus dem Bereich im Block SFB adressiert.
"Jf- '·
SlOc-Zugriff auf das zweite Wort im Bereich im Block SFB:
Bei diesem Teilschritt aktiviert die Mikroprogrammsteuereinheit die Leitung +1S derart, daß das Adressenwort im Register SDIREG erhöht wird, während das Gatter G5 geöffnet und die Codeleitungen des Speichereingangssteuersignalstrangs SIHCS gesetzt werden, damit eine Leseoperation definiert wird.
Das zweite Wort in dem vom Sonderfähigkeitsregister bestimmten Bereich im Fehlerbl ock SFB (Fig.6) ist die Basisadresse BASE der Segmentbezeichnung der Sonderfähigkeitstabelle; wenn diese Information gelesen wird, wird sie über den Weg (2) von Fig.6 zum Verarbeitu-ngsmodul geleitet, damit sie in die "Basishälfte" des
209838/1101
Hauptfähigkeits registers MGR eingegeben wird.
SlOd-Ein^abe des zweiten Worts aus dem Bereich im B-jock SFB:
Die MikroprograratDsteuereinheit uPROG (Fig.2) öffnet nach Empfang von Steuersignalen am Speicherausgangssteuersignalstrang SOHCS die Gatter GS, G7 und G8 , nachdem über leitungen CRSEL die Basishälfte des Fähigkeitsregisters im Basisstapel ausgewählt worden ist. Dadurch wird das Speicheraus gangs signal am Strang SOH zusammen mit dem Zustand des Paritätsbits für dieses Wort auf der Leitung SPB in die Basishälfte des Hau pt fähigke itsregisters eingeschrieben.
S1Oe-Zugriff auf das dritte Wort im Bereich im Block SFB:
Die Mikroprogrammsteuereinheit uPROG aktiviert nun die Leitung +1S derart, daß das Adressenwort im Register SDIREG um 1 erhöht wird; außerdem öffnet sie das Gatter G5 und setzt die Codeleitungen des Strangs SIHCS so, daß eine Leseoperation definiert wird.
Das dritte Wort des vom Sonderfähigkeitsregister bestimmten Bereichs im Fahlerblock SFB (Fig.6) ist die Endadresse LIMIT der Segmentbezeichnung der Sonderfähigkeit stabeile. Wenn diese Information gelesen wird, wird sie unter Verwendung des Wegs (2) von Fig.6 zur Eingabe in die "Endhalfte" des Hau pt fähigke it s registers zum Verarbeitungsmodul transportiert.
S1Of-Eingabe des dritten Worts aus dem Bereich im Block SFB:
Die Mikroprogrammsteuereinheit bewirkt dann, wenn sie über άβη Strang SOHCS (Fig.2) betätigt wird, die Aktivierung der Leitungen CRSEL, so daß das Hau ptfähigkeits register
209838/1101
ausgewählt und die Gatter GS, G9 und.GIO geöffnet werden. Dadurch wird die Endadresse zusammen mit ihrem Paritätslit in die zugehörige "Zeile" des Endstapels LMT STK eingegeben.
S1Og-Prüfunff des Ladens des Fähigke its registers;
Die Mikroprogrammsteuereinheit prüft nun das geladene Hauptfähigkeitsregister, damit sichergestellt wird, daß es korrekt geladen worden ist. Dieser Teilschritt wird in zwei Hälften ausgeführt.Zunächst wird dadurch eine lokale Summenprüfung durchgeführt, daß die Leitungen CRSEL (Fig.2) mit der Identität des Hauptfähigkeitsregisters aktiviert werden, daß die Gatter G11, G12 und G13 geöffnet werden, und daß das Rechenwerk MILL angewiesen wird, die angelegten Datenwörter zu addieren. Man erkennt, daß die oben genannten Operationen die Eingabe der lokal erzeugten Summenprüfung in das Ergebnisregister RES REG bewirken. Gleichzeitig werden die Paritäten der Basis- und Endadressen in der Vergleichseinheit COMP geprüft.
In der zweiten Hälfte dieses Teilschritts wird die im Ergebnisregister befindliche, lokal erzeugte Summenprüfung mit dem Wort im Operandenregister OPREG verglichen. Dies wird dadurch erreicht, daß die Gatter GH und GI5 geöffnet werden, und daß das Rechenwerk MILL über entsprechende Leitungen AUuS angewiesen wird, eine Subtraktion auszuführen und die arithmetischen Anzeiger im primären Anzeigeregister MIP auf dae erhaltene Ergebnis zu stellen.Die Mikroprogrammsteuereinheit uPROG prüft nun die Zustände der arithmetischen Anzeiger unter Verwendung der zugehörigen ICS-Leitungen daraufhin, ob die zwei SummanprüfWörter identisch sind. Unter der Annahme, daß sie identisch sind, schaltet die Fehlarunter-
209838/1101
S3
brechungs-Programmfolge zum Schritt S11 weiter.
511 - HIS:» ACO (I):
Bei diesem Schritt aktiviert die Mikroprogrammsteuereinheit uPROG Leitungen R3EL derart, daß der Anzeiga:- akkuraulator AGC (I) im Registerstapel ACC STK bestimmt wird und daß dann die Gatter G16, G17 und G18 aktiviert werden. Dies bewirkt die Weitergabe der im Schritt S4 in den Anzeigerakkumulator angegebenen primären Anzeiger über das Rechenwerk MILL, den Strang MHW und das Operandenregister OPREG zur nächsten (beim Schritt S3 bestimmten) Zeile des Verlaufsregisterstapels HIS STK. Durch diesen Vorgang wird sichergestellt, daß die primären Anzeiger in denVerlaufsregis tern unmittelbar nach der letzten s.er.-, Befehlswort- und, falls es zutrifft der Eintragung des absoluten Speicheradresseninformationsblocks gespeichert wird.
512 - Erhöhe SEIjH um 1;
Die Mikroprcgrammsteuereinheit uPROG bewirkt durch Aktivierung der Leitung INT , daß der Adressenhinweis der Verlaufsregister um 1 weitergeschaltet wird.
513 - Rücksetzen von F1T;
Die Mikroprogrammsteuereinheit uPROG bewirkt bei diesem Schritt die Rücksetzung der Kippschaltung F1T für Organisationsfehler, da die primären Anzeiger, so wie sie durch den ursprünglichen fehler gesetzt worden sind, nun in den Verlaufsregistern abgespeichert worden sind.
209838/1 101
SU - SCR um 1 erhöht ?
Bei diesem Schritt wird einer der sekundären Anzeiger daraufhin überprüft, ob der Punkt, an welchem der Fehler im laufenden Befehl auftrat, nach der Stufe lag, an der das AblaufSteuerregister so fortgeschaltet wurde, daß es auf den nächsten Befehl des laufenden Programms hinweist. Wenn dies bereits erfolgt war, dann wird der Schritt S15 gusgeführt, damit der Inhalt des Ablaufsteuerregisters auf den Wert des laufenden Befehls zurückgestellt wird. Wenn dieser Punkt noch nicht erreicht worden ist, wird der Schritt S16 direkt ausgeführt.
S16 - Lpseti des Worts RCPC-O:
Bei diesem Schritt wird das vierte Wort im Bereich des Fehlerblocks SFB (Fig.6) des Verarbeitungsmoduls gelesen, und die Reservesegmentbezeichnung in diesem Wort wird über den Weg (3) von Fig.6 befördert und im Operandenregister des Verarbeitungsmoduls gespeichert. Diese Segmentbezeichnung, die sich auf die Sonderfähigkeitstabelle bezieht, bestimmt einen zum Verarbeitung3modul und zum Prüfprogramm gehörigen Speicherauszugsstapel. Die vom Verarbeitungsmodul unter der Steuerung durch eine Mikroprogrammeinheit uPROG (Fig.2) ausgeführten Operationen sind in zwei Abschnitte geteilt. Der erste Abschnitt bewirkt eine Adressierung des Speichers zur Durchführung einer Lese operation, während der zweite Abschnitt die Eingabe der vom Speicher . ·
erzeugten Daten in das Operandenregister OPREG bewirkt. Die erste Operation wird durch eine von der Mikroprogrammsteuereinheit ausgeführte Aktivierung der Leitung +1S, des Gatters G5 und durch eine Aktivierung der zugehörigen Steuer leitungen des Strangs SIHCS bewirkt. Es sei daran erinnert, daß im Register SDIREG
209838/1 101
vor diesem Schritt, eigentlich seit dem Ende des Schritts S9, die Adresse des dritten Worts des Bereichs im Block SFB des VerarbeitungenoduIs von Fig.6 gespeichert ist. Daher ist die bei diesem Schritt an den Speicher angelegte Adresse diejenige des vierten Worts in diesem Bereich.
Wenn der Speicher das Wort RSPC-O produziert, wird es über Leitungen SOH (Fig.2) in den Verarbeitungsmodul eingegeben, und der Steuersignalstrang SOHCS zeigt seinVorhandensein der Mikroprogramrasteuereinheit uPROG an. Die Gatter GS und G17 werden daher geöffnet, und das ankommende Datenwort (RSPC-O) wird in das Operandenregister OPREG eingegeben. Gleichzeitig mit dieser Operation prüft die Paritätserzeugungs- und Paritätsprüfschaltung PCG die Parität des empfangenen Datenworts sowie die Parität des in das Operandenregister eingegebenen Worts.
S17- FIIT gesetzt ?
Bei diesem Schritt prüft die Mikroprogrammsteuereinheit yuPROG eine entsprechende Leitung der Leitungen ICS daraufhin, ob der zweite Fehleranzeiger im sekundären Anzeigeregister MIS gesetzt ist. Dieser Anzeiger ist in diesem Stadium nur gesetzt, wenn dies der zweite Durchlauf durch die Fehlerunterbrechungs-Mikroprogrammfolge ist. . Da sich die obige Beschreibung auf den ersten Durchlauf durch die Mikroprogrammfolge bezieht, wird die Ablauffolge am Punkt oc beendet.
In Wirklichkeit ist der Verarbeitungsmodul nun so eingerichtet, daß er einen sogenannten automatischen Programmänderungsbefehl ausführt. In diesem Stadium hat der Verarbeitungnmodul die Durchführung des Programms aufgegeben,
209838/1101
das er vor der Erzeugung eines F eh le runt erbrech ungssignals (durch den Anzeiger für einen geroeinsamen Fehler im sekundären Anzeigeregister) durchgeführt hat, und es müssen nun die Parameter des aufgegebenen Programms im Speicher aufbewahrt und die Parameter des Fehlerprüfprogramras aus dem Speicher herausgenommen werden.
Es ist oben bereits erwähnt worden, daß jedes Programm mit einem sogenannten S pe icheiausz ugs be reichsegment ausgestattet ist, auf das der.Inhalt des Speicherauszugsfähigkeitsregisters DCR (F^g.4) hinweist. Jedes Speicher- · auszugsbereichs3egment enthält eine Information über den Zustand des zugehörigen Programms, beispielsweise die Werte der Reservesegmentbezeichnungen, die jedem der Arbeitebereichs fähig keitsregister des Verarbeitungsmoduls bei Durchführung dieses Programms entsprechen. Diese Speicherplätze werden mit der entsprechenden Reservesegmentbezeichnung geladen, wenn einFähigkeitsregister geladen wird, wie in der deutschen Patentanmeldung P 21 26 206.6 gezeigt ist.Das Speicherauszugsbereichssegroent wird jedoch auch zum Speichern des Inhalts der Register des Akkumulatorstapels AGC STK einschließlich des zur Zeit vorhandenen Werts des Ablaufsteuerregisters und des Zustandes der primären Anzeiger verwendet, wenn das Programm ausgesetzt wird. Das Verlassen des Diagramms von Fig.5 über den Weg od erfolgt daher zu einer automatischen Programmwechsel operation, die bewirkt, daß der Inhalt des Akkumulatorstapels ACC STK in dem Bereich abgespeichert wird, der vom Speicherabzugsstapel-Fähigkeitsregister DCR bestimmt wird. Es wird daran erinnert, daß in diesem Stadium alle Fähigkeitsregister mit Ausnahme des Hau pt fähigkeits reg is te rs MCR (Fig.4) immer noch die Segment bezeichnungen enthalten, die zu dem bei Auftreten der Fehlerbedingung durchgeführten Programm gehören.Die im Verarbeitungamodul von Fig.2 tatsächlich
2 ü 9 3 3 8 / Π
durchgeführten Operationen erfordern: (1) die Bildung einer ersten Speicherauszugsbereichs adresse durch Auswahl der DCR-Easisadresse (über Leitungen GRSEL) und durch Zugriff auf den Speicher ( durch Öffnen der Gatter G11, G12, G5) für eine Schreiboperation in dem Speicherauszugsbereich, wobei die Speicherauszugsbereichsadresse ebenfalls für nachfolgende Speicherauszugsbereichszugriffe ( durch öffnen der Gatter G13 zur gleichen Zeit wie der Gatter G4) im Ergebnisregister RES REG aufbewahrt wird, und (2) die Durchgabe der (von RSEL ausgewählten und über die Gatter G16, G4 und G5 durchgelassenen) entsprechenden Registerinhalte der jeder zugehörigen Eintragung im Akkumulatorstapel ACC STK zusammen mit einem Nachdatieren der Zugriffsadresse (durch Öffnen der Gatter GH und G13 mit dem Gatter G4 und durch einen Befehl an das Rechenwerk MILL zur Durchführung einer Addition von 1). Die oben mit (1) und (2) bezeichneten Operationen werden für alle erforderlichen Eintragungen im Akkumulatorstapel ACC STK durchgeführt. Es sei bemerkt, daß der Schritt S2 von Pig,5 die Parität in allen zu dieser Zeit geladenen Fähigkeitsregistern ungültig machte, und daß die Portschaltung der automatischen Progrararawechseloperation so erfolgt, daß diese Situation berücksichtigt wird, wodurch das Speicherauszugsstapel-Fähigkeitsregister gültig be nut zt wird.
Bei einer normalen Programmwechsel-Befehls folge wird «
derVerarbeitungsmodul im entsprechenden Befehlswort mit einer AbwärtsVersetzung einer Raservesegment be zeichnungstabelle versehen, die dazu verwendet wird, einen Zugriff auf die Haupt fähigkeitstabelie auszuüben, um das Speicherabzugsbereichssegment für das Programm zu erhalten, zu dem die Änderung erfolgen soll. In der derzeitigen Situation erfolgt die Programmwechselfolge jedoch automatisch (d.h. als Ergebnis des gesetzten
209838/1101
Zustandes des Anzeigers für den gemeinsamen Fehler ), so daß das Speicherauszugsbereichssegment für das Prüfprogramm daher auf andere Weise erhalten werden muß.
Es wird daran erinnert, daß beim Schritt S16 von Fig.5 die Entnahme einer Reservesegmentbezeichnung (RSPC-O) auf dem letzten Wort des Verarbeitungsmodulsbereichs im Fehlerblock de3 Speichermoduls SMX(Fig.6) erfolgt ist. Diese Reservesegmentbezeichnung ist so ausgestaltet, daß sie eine Abwärtsversetzung der Sonderfähigkeitstabelle des Verarbeitungsmoduls bewirkt, die im Block SCT gespeichert ist, bei dem die Segmentbezeichnung zu dem diesem Verarbeitungsmodul angehörigen PrüfSpeicherauszugsbereich im Speichermodul SMX enthalten ist. Die Segment be zeichnung für den geforderten Speicherabzugs bereich kann daher der Sonderfähigkeitstabelle entnommen werden, indem eine normale Laäefähigkeitsregisteroperation unter Verwendung des Inhalts des Operandenrggisters OPREG als Sonderfähigkeitstabellenversetzung angewendet wird. Der Weg (4) und der Weg (5) in Fig.6 geben diese Operation in groben Zügen an.
Nachdem das Fähigkeitsregister des Speicherauszugsstapels mit der Segmentbezeichnung des geforderten Speicherauszugsbereichs geladen worden ist, können nun die verschiedenen Parameter des Fehlerprüfprogramms aus dem Prüfprogranra-Speicherauszugsbereich , der zum Verarbeitungsmodul im Block C-ODS gehört, entnommen und in den Verarbeitungsmodul· unter Verwendung der Wege (6) und (7) eingegeben werden, so daß der Eintritt in das Prüfprogramm ermöglicht wird.
Aus Fig.6 kann man erkennen, daß der Speichermodul SMX fünf Speicherbereiche besitzt, die der Fehlerunterbrech'ung3-Mikroprogramrafolge angehören, wobei vier dieser
209838/110 1
Speicherbereiche/eines pro Verarbeitungs modul,vorgesehen sind. Wie bereits erwähnt wurde, enthält der Fehler block SFB eine Anzahl von .Bereichen,von denen jeweils einer für jedes Vera r be it u ngs mod ul des Systems vorgesehen ist, In gleicher Weise besitzen der Sonder fähigke its tabelle nblock SCT, der Block: C-ODS für den Speicherauszugs be reich des Prüfprogramms und der Block C-ORSPT für die Reservesegmenthinweistabelle desPrüfprogramms einen entsprechenden Bereich für jeden Verarbeitungsmodul. Der tatsächliche Prüfprogrammcode kann zusammen mit einigen Arbeitsbereichen und dergleichen, die im Festspeichermodus betrieben werden, allen Verarbeitungsmodulη gemeinsam angehören oder, falls es der Speicherplatz zuläßt, ihnen jeweils einzeln zugeordnet sein. Überdies sind im gesamten Modulsystera mehrere Speichermoduln so beschaffen, daß die solche Blöcke wie in Fig.6 aufweisen.
Zweite Fehler
Das (im Festspeicherbetrieb ablaufende) Fehlerprüfprogramm ist so gestaltet, daß es die verschiedenen Funktionen des Verarbeitungsmoduls prüft und einen der Fehleranzeiger aktiviert, wenn eine fehlerhafte Operation auftritt.Außerdem werden die verschiedenen Prüfungen, die bei der Betätigung des Vorarbeitungsmoduls durchgeführt werden, in gleicher Weise in der Fehlerunterbrechungs-Mikroprogrammfolge durchgeführt. So werden beispielsweise beim Schritt S10 von Fig.5 die ankommenden Daten auf ihre Parität überprüft, und das Hauptfähigkeitsregister wird nach dem Laden unter Verwendung der Summe ηprüfWörter geprüft. Wenn der Verarbeitungsraodul ein zweites Mal ausfällt, -erfolgt daher ein erneutes Eintreten in die Fehlerunter brechungs-Mikrοprogrammfolge von Fig.5, wobei diesesmal jedoch der Eratversuchsanzeiger (F.A.T.) gesetzt ist.
209838/1101
ft
Nach Pig.5 bewirkt der zweite Eintritt in die Fehlerunterbrechungs-Mikroprogramtnfolge (infolge des Setzzustandes des für einen gemeinsamen Fehler vorgesehenen Anzeigers CFI der sekundären Anzeiger) die Durchführung des Schritts S1. Diesmal wird jedoch der ErstVersuchsanzeiger gesetzt, so daß die Durchführung des Schritts S18 veranlaßt wird. Es sei bemerkt, daß der Schritt S2 unter diesen Umständen nicht durchgeführt wird, der den invertierten Zustand der Parität in Verarbeitungsmodul aufrechterhält.
S18-Setzen von FIIT:
Dieser Schritt bewirkt das Setzen des Zweitfehleranzeigers (FIIT) im sekundären Anzeigeregister MIS (Fig.2) durch Aktivierung der entsprechenden SIuCS-Leitung unter der Steuerung durch die Mikroprogrammsteuereinheit. Nun werden die Schritte S4, S5, S6, S7 und S8 (von Fig.5) mit den oben beschriebenen Wirkungen ausgeführt. Der Schritt S8 erzeugt jedoch ein "ja"-Ergebnis, das die Durchführung des Schritts S19 bewirkt.
S19-Erhbhe SMN um 1:
Die Mikroprogrammsteuereinheit uPROG (Fig.2) bewirkt, daß der Speichermodulnummernteil der Basisadresse de3 Sonderfähigkeitsregisters SSCR erhöht wird. Diese Operation wird durch Öffnen der Gatter G3 und G19 und durch Anweisung an das Rechenwerk MILL ausgeführt, zum Speichermoduladressenfeld des Adressenworts 1 hinzuzuaddieren. Nun erfolgt die Durchführung der Schritte S9 bi3 S16; da jedoch die Speichermodulnummer der Basisadresse in Sonderfähigkeitsregister SSCR erhöht worden ist, beinhalten die Operationen dieses Schritts, obwohl sie gleichartig sind, den Gebrauch eines anderen Speichermoduls, als der Speichermodul, der beim ersten Durchlauf durch die Mikroprogrammfolge verwendet worden ist.
209838/1 101
Außerdem erzeugt der Schritt S17 ein "^"-Ergebnis, das einen Austritt aus der Mikroprogrammfolge über den Weg ß nach dem Rücksetzen des Zweitfehleranzeiger3 im Schritt S20 bewirkt. Dieser \veg ß ist ein Eintrittsweg in die oben beschriebene automatische Programmwechseloperation, doch ist er so ausgestaltet, daß er teilweise durch dieses Programm führt, da keine Verweisung auf ein nochmaliges Abspeichern der Parameter des unterbrochenen Programms vorhanden ist. Ebenso kann man erkennen, daß der Schritt S11 die Informationen ü>a: dsa den zweiten Fehler enthaltenden primären Anseiger veranlaßt, unter den primären Fehleranzeigerzuständen in den Verlaufsregistern angeordnet zu werden.
lurch den oben genannten Wiedereintrittsmechanismus kann ein fehlerhafter Verarbeitungsaodül entweder in der Fehlerunterbrechuncs-Hikroprogrammfolge oder in der Prüfprogrammfolge festgehalten werden, wobei nacheinander jeder Speicherffiodul verwendet wird, in dem das Prüfprogramm in Erscheinung tritt. Jedesmal wenn ein Fehler auftritt, werden die primären Anzeiger in den nächsten Speicherplatz im Verlaufsregisterstapel geschrieben. Wenn andrerseits der erste Fehler als Folge eines Ausfalls im Speichermodul SMX von Fig.6 auftrat, bewirkt der Wiedereintrittsmechanismus die Verwendung eines weiteren Speichermoduls, und das Prüfprogramm wird dann wahrscheinlich vom Verarbe itungsmodul korrekt befolgt.
Typischerweise kann das Prüfprogramm für einen Betrieb im Festwertmodus und auch so geschrieben werden, daß alle Funktionen eines Veraibeitungsmoduls und eines Speichermoduls geprüft werden; dabei kann es so aufgebaut sein, daß der Verarbeitungsnodul nach seiner korrekten Beendigung sich zum On-Line-Systera hinwendet, damit ein Eintritt in ein "Anschluß"-Programm erfolgt, das es ihm ermöglicht, nach
209838/1 101
der Rücksetzung des Erstversuchsanzeigers zum On-Line-System zurückzukehren. Während der gesamten Durchführung des Fehlerprüfprogramms bleibt der Erstversuch3anzeiger (F.A.T.) gesetzt, und das Fehlerprüfprogramra selbst ist so beschaffen, daß dieser Anzeiger rückgesetzt wird, wenn es vollendet ist. Dadurch wird sichergestellt, daß das Fehlerprüfprogramm nicht unterbrochen werden kann, wenn der Erstversuchsanzeiger, wie oben erwähnt den normalen Unterbrechungsmechanismus des Verarbeitungstnoduls sperrt. Wenn der Verarbeitungsmodul ein Unterbrechungssystem gemäß der amerikanischen Patentanmeldung Nr.41 951/70 verwendet, kann der Setzzustand des Erstversuchsanzeigers zum Sperren der Unterbrechungstaktimpulsquelle verwendet werden. Das On-Line-System kann vom Ergebnis der Prüfung unter Verwendung von sogenannten "Statuswörtern" unterrichtet werden; eine Aufforderung, sich wieder dem System anzuschließen, kann den anderen Verarbeitungsmoduln des Systems über den normalen Unterbrechungsmechanismus mitgeteilt werden.
Folgerungen :
Aus der obigen Beschreibung kann man ableiten, daß der nach der Erfindung geschaffene Unterbrechungsmechanismus den Verarbeitungsmodul, in dem ein Fehlerzustand auftritt, veranlaßt, die gerade.eingegebene Information unverzüglich ungültig zu machen, und den Inhalt seines Haupt Fähigkeit sregisters mit einer eine Sonderfähigkeitstabelle bestimmenden Segmentbezeichnung zu überschreiben. Die Eintragungen in der Sonderfähigkeitstabelle sind dergestalt , daß der Bereich im Speicher, auf dem der Verarbeitungsmodul Zugriff
209838/1 101
hat, sehr stark eingeschränkt wird. Außerdem kann ein Verarbeitungsmodul, wenn er einmal in die Fehlerunterbrechungs-Ablauffolge eingetreten ist, nicht mehr unterbrochen werden, und er kann sich dem On-Iine-System nicht wieder anschließen, bis er erfolgreich ein Prüfprogramm befolgt hat. Durch Vorsehung einer Anzahl von Prüf programmfcopien mit entsprechenden Zugriffs informationen in einer Anzahl von Speichermoduln wird ein beständig fehlerhafter Verarbeitungsmodul, nachdem er einmal eine Fehlerunterbrechung erfahren hat, ohne schädliche Auswirkungen in den Fehlerprüfprogrammabläufen festgehalten. Der Fachmann kann erkennen, daß Vorkehrungen, wie ZeitablaufWörter im Speicher, die gleichzeitig abgetastet und einzeln von den Verarbeit ungsmoduln des On-Line-Systems nachdatiert werden, vorgesehen werden können, damit das On-Line-System feststellen kann, daß ein fehlerhafter Verarbeitungsmodul abgetrennt worden ist.
Die hier beschriebene Anordnung ist zwar in Bezug auf ein Verarbeitungsmodul mit einer besonderen Art von Speicherschutzsys-tem beschrieben worden, doch können auch andere Arten von Schutzsystemen damit überwacht werden. Die hier beschriebene Ausführung ist auf ein modulares Verarbeitungssystem bezogen worden, doch können die grundlegenden Merkmale in gleicher Weise auch auf ein System mit nur einem Verarbeitungsgerät angewendet werden.
Patentansprüche
209838/1 101

Claims (10)

  1. Patentansprüche.
    , 1y Datenverarbeitungssystem mit einem Speicher zum Speichern
    einer sich auf Anwendungs- und Überwachungsprogramme begehenden Information und mit einer sich auf ein Fehlerprüfprogramm beziehenden Information und mit wenigstens einem Verarbeitungsmodul, dadurch gekennzeichnet, daß der Verarbeitungsmodul mit einer Anordnung zur Erkennung und Behandlung von Fehlern ausgestattet ist, die derart ausgebildet ist, daß sie nach Entdeckung eines Fehlerzustandes innerhalb des Verarbeitungsmoduls sofort derart wirksam wird, daß sie den erlaubten Zugriffsbereich des Speichers auf den Bereich beschränkt, in dem die sich auf das Fehlerprüfprogramm beziehende Information gespeichert ist.
  2. 2. DatenverarbeitungssystetD mit einem Speicher zum Speichern einer sich auf Anwendungs- und Überwachungsprogramme beziehenden Information und einer sich auf ein Fehlerprüfprogramm beziehenden Information und mit wenigstens einem Verarbeitungsmodul , dadurch gekennzeichnet, daß dar oder jeder Verarbeitungsmodul mit einer Anordnung zur Erkennung und Behandlung von fehlern ausgestattet ist, die derart ausgebildet ist,daß sie nach Entdeckung eines Fehlerzustandes innerhalb des Verarbeitungsmoduls sofort derart wirksam wird, daß sie (I) den Verarbeitungsmodul durch Verhinderung des Zugriffs durch den Verarbeitungsmodul auf die sich auf die Anwendungs- und Überwachungsprogramme beziehende Information voraäctiven Verarbeitungssystem abtrennt und (II) in ein Fehlerprüfprogramm zum Prüfen aller funktionellen Operationen des Vera r be it ungs moduls eintritt.
  3. 209838/1 101
  4. ~51 " 221032S
  5. 5. Datenverarbeitungssystem mit einem Speicher zum Speichern von sich auf Anwendungs- und Überwachungsprogramme beziehenden Informations Segmenten und von sich auf ein Fehlerprüfprogramm beziehenden Informationssegmenten in segmentierter Form, wenigstens einen Verarbeitungsmodul, von denen einer oder jeder mit Speicherschutzeinrichtungen versehen ist, die mehrere Fähigkeitsregister enthalten, von denen jedes so ausgebildet ist, daß es eine die Basis- und Endspeicheradressen eines Speichersegments anzeigende Speichersegmentbezeichnungsinformation enthält, während eines der Fähigkeitsregister so ausgebildet ist, daß es eine erste Segment be zeichnung ent hält, die ein eine Haupt fähigke its tabelle enthaltendes Informationssegment bildet (die zur Bildung der Basis- und Endadresseninformation jedes der restlichen Fähigice its register in deren geladenem Zustand verwendet wird), wobei die Hau pt fähigke it stäbe He für jedes Informationssegment in dem Speicher eine Eintragung aufweist, dadurch gekennzeichnet, daß der oder jeder Verarbeitungsmodul mit einer Fehlererkennungs- und Fehlerbehandlungseinrichtung versehen ist, die so aufgebaut ist, daß sie bei Feststellung eines Fehlerzustandes innerhalb des Verarbeitungsraoduls sofort derart wirksam wird, daß sie diesen Vera r be it ungs modul durch Überschreiben der Bezeichnungsinformation in dem Haupt fähigke itsregister mit der eine Sonderfi.higk-3 itsta belle bildenden Bezeichnungsinformation vom aktiven Verarbeitungssystem abtrennt , wobei die Sonderfähigke its tabelle Eintragungen aufweist, die alle sich auf das Fehlerprüfprogramm allein beziehenden Informations-• segmente bestimmen.
    4. Datenvera rbe it ungs system nach Anspruch 2 oder 3, dadurch gekennzeichnet, daß der Speicher aus mehreren Speichermoduln besteht und mehrere Prüfprogrammbezeichnungssegmente speichert, die unter die Speichermoduln des Speichers auf
    209838/1101
    der Grundlage der gegenseitigen Ausschließung verteilt sind, daß die Fehlererkennungs- und Pehlerbehandlungseinrichtungen in dem oder in jedem Speichermodul so ausgebildet ist, daß bei Feststellung eines ersten Fehlerzustandes eines der Prüfprogrammbezeichnungssegmente zum Eintritt in das Fehlerprüfprogramm verwendet wird und daß bei Feststellung eines weiteren Fehlerzustandes während des abgetrennten Zustandes des Verarbeitungsmoduls von dem aktiven Verar be it ungs system die Fe bier er kenn ungs- und Fehlerbehandlungseinrichtungen so beschaffen sind, daß sie den Verar be it ungs modul veranlassen, ein anderes der Prüfprogrammhinweissegmente zum Wiedereintritt in das Fehlerprüfprogramm zu verwenden.
    5. Datenverarbeitungssystem nach Anspruch 4, dadurch gekennzeichnet, daß mehrere Kopien der sich auf das Fehlerprüfprogramm beziehenden Information in den Speicher vorgesehen sind, daß diese Kopien auf die Speichermoduln verteilt sind und daß jedes Prüfbezeichnungssegment eines sich auf den von einer anderen Kopie des Fehlerprüfprogramms besetzten Speicherbereich beziehende Information enthalten kann.
  6. 6. Datenve rar be it ungs system nach Anspruch 5, dadurch gekennzeichnet, daß der oder jeder Verarbeitungsmodul· Einrichtungen zur Paritätsbitinversion enthält, die nach Feststellung des ersten Fehlerzustandes aktiviert werden, so daß dadurch die gesamte Information im Verarbeitungsmodul, die sich auf andere -Programms als auf das Fehlerprüfprogramm bezieht, ungültig gemacht wird.
  7. 7. Datenverarbeitungssystem nach Anspruch 6, dadurch gekennzeichnet, daß der oder ,je ier Vera rbeitungsmori ul einer in zwei Zustände schaltbare Γ ehalt vorrichtung enthält,
    ; η ο - -8/1101
    die räch Feststellung des ersten Fehlerzustandes in einen ersten oder aktiven Zustand und durch einen Befehl im Prüfprogramm in einen zweiten oder inaktiven Zustand schaltbar ist.
  8. 8. Datenve rar be it ungs system nach Anspruch 7» dadurch gekennzeichnet, daß die in zwei Zustände schaltbare Schaltvorrichtung in diesem aktiven Zustand eine Veränderung der Inhalte eines besonderen Registers um einen bestimmten Betrag jedesmal dann bewirkt, wenn einer der weiteren Fehlerz us tände festgestellt wird, und daß das besondere Register dazu verwendet wird, die Speicheradresse des bei jedem Eintritt in das Prüfprogramm zu verwendenden Prüfbezeichnungssegments zu speichern.
  9. 9. Datenverarbeitungssystem nach Anspruch 8,dadurch gekennzeichnet, daß jedes Prüfbe zeichnungssegment für den oder für jeden Verarbeitungsmodul eine Information enthält, die die Basis- und Endadressen der Sonderfähigkeitstabelle bezeichnet.
  10. 10. Iatenverarbeitungssystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß der oder jeder Vera rbe it ungs modul nach erfolgreicher Beendigung des Fehlerprüfprogramms in das aktive Vera rbe it ungs syst em zurück führ bar ist.
    209838/1 101
DE2210325A 1971-03-04 1972-03-03 Datenverarbeitungseinrichtung Expired DE2210325C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB599471 1971-03-04

Publications (3)

Publication Number Publication Date
DE2210325A1 true DE2210325A1 (de) 1972-09-14
DE2210325B2 DE2210325B2 (de) 1979-11-08
DE2210325C3 DE2210325C3 (de) 1980-07-31

Family

ID=9806471

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2210325A Expired DE2210325C3 (de) 1971-03-04 1972-03-03 Datenverarbeitungseinrichtung

Country Status (9)

Country Link
US (1) US3814919A (de)
JP (1) JPS5348060B1 (de)
AU (1) AU464228B2 (de)
CA (1) CA952627A (de)
DE (1) DE2210325C3 (de)
GB (1) GB1344474A (de)
NL (1) NL181149C (de)
SE (1) SE449669B (de)
ZA (1) ZA721305B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2328058A1 (de) * 1972-06-03 1973-12-20 Plessey Handel Investment Ag Digitale datenverarbeitungsanordnung

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE31318E (en) * 1973-09-10 1983-07-19 Computer Automation, Inc. Automatic modular memory address allocation system
GB1509193A (en) * 1974-04-17 1978-05-04 Nat Res Dev Computer systems
US3911402A (en) * 1974-06-03 1975-10-07 Digital Equipment Corp Diagnostic circuit for data processing system
JPS596415B2 (ja) * 1977-10-28 1984-02-10 株式会社日立製作所 多重情報処理システム
US4181940A (en) * 1978-02-28 1980-01-01 Westinghouse Electric Corp. Multiprocessor for providing fault isolation test upon itself
GB2059652B (en) * 1979-09-29 1983-08-24 Plessey Co Ltd Memory protection system using capability registers
US4446514A (en) * 1980-12-17 1984-05-01 Texas Instruments Incorporated Multiple register digital processor system with shared and independent input and output interface
EP0076846B1 (de) * 1981-04-16 1988-01-27 Ncr Corporation Datenverarbeitungssystem mit fähigkeit zur fehlerkontrolle
US4458312A (en) * 1981-11-10 1984-07-03 International Business Machines Corporation Rapid instruction redirection
US4485472A (en) * 1982-04-30 1984-11-27 Carnegie-Mellon University Testable interface circuit
GB2158622A (en) * 1983-12-21 1985-11-13 Goran Anders Henrik Hemdal Computer controlled systems
US4683532A (en) * 1984-12-03 1987-07-28 Honeywell Inc. Real-time software monitor and write protect controller
US4797853A (en) * 1985-11-15 1989-01-10 Unisys Corporation Direct memory access controller for improved system security, memory to memory transfers, and interrupt processing
ATE71788T1 (de) * 1986-03-12 1992-02-15 Siemens Ag Verfahren zum betrieb einer fehlergesicherten hochverfuegbaren multiprozessorzentralsteuereinheit eines vermittlungssystemes.
US5564030A (en) * 1994-02-08 1996-10-08 Meridian Semiconductor, Inc. Circuit and method for detecting segment limit errors for code fetches
US5577219A (en) * 1994-05-02 1996-11-19 Intel Corporation Method and apparatus for preforming memory segment limit violation checks
US5822786A (en) * 1994-11-14 1998-10-13 Advanced Micro Devices, Inc. Apparatus and method for determining if an operand lies within an expand up or expand down segment
US6021261A (en) * 1996-12-05 2000-02-01 International Business Machines Corporation Method and system for testing a multiprocessor data processing system utilizing a plurality of event tracers
JP3545252B2 (ja) * 1999-03-30 2004-07-21 富士通株式会社 情報処理装置
US6654909B1 (en) * 2000-06-30 2003-11-25 Intel Corporation Apparatus and method for protecting critical resources against soft errors in high performance microprocessors
JP4941954B2 (ja) * 2005-07-25 2012-05-30 ルネサスエレクトロニクス株式会社 データエラー検出装置およびデータエラー検出方法
JP4458119B2 (ja) * 2007-06-11 2010-04-28 トヨタ自動車株式会社 マルチプロセッサシステム及びその制御方法
JP4571996B2 (ja) * 2008-07-29 2010-10-27 富士通株式会社 情報処理装置及び処理方法
JP5574230B2 (ja) * 2010-04-28 2014-08-20 株式会社日立製作所 障害処理方法および計算機
US9542254B2 (en) 2014-07-30 2017-01-10 International Business Machines Corporation Application-level signal handling and application-level memory protection
US9740551B2 (en) 2014-12-02 2017-08-22 International Business Machines Corporation Enhanced restart of a core dumping application

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3201760A (en) * 1960-02-17 1965-08-17 Honeywell Inc Information handling apparatus
US3286239A (en) * 1962-11-30 1966-11-15 Burroughs Corp Automatic interrupt system for a data processor
US3387276A (en) * 1965-08-13 1968-06-04 Sperry Rand Corp Off-line memory test
US3517171A (en) * 1967-10-30 1970-06-23 Nasa Self-testing and repairing computer
US3599179A (en) * 1969-05-28 1971-08-10 Westinghouse Electric Corp Fault detection and isolation in computer input-output devices
US3692989A (en) * 1970-10-14 1972-09-19 Atomic Energy Commission Computer diagnostic with inherent fail-safety

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2328058A1 (de) * 1972-06-03 1973-12-20 Plessey Handel Investment Ag Digitale datenverarbeitungsanordnung

Also Published As

Publication number Publication date
DE2210325C3 (de) 1980-07-31
DE2210325B2 (de) 1979-11-08
JPS5348060B1 (de) 1978-12-26
CA952627A (en) 1974-08-06
US3814919A (en) 1974-06-04
NL7202889A (de) 1972-09-06
NL181149B (nl) 1987-01-16
AU464228B2 (en) 1975-08-01
SE449669B (sv) 1987-05-11
ZA721305B (en) 1972-11-29
GB1344474A (en) 1974-01-23
AU3947972A (en) 1973-08-30
NL181149C (nl) 1987-06-16

Similar Documents

Publication Publication Date Title
DE2210325A1 (de) Datenverarbeitungssystem
DE2614000C2 (de) Diagnoseeinrichtung zur Prüfung von Funktionseinheiten
DE3048365C2 (de)
DE2359776C2 (de) Speichermodul
DE2619159C2 (de) Fehlererkennungs- und Korrektureinrichtung
DE2225841C3 (de) Verfahren und Anordnung zur systematischen Fehlerprüfung eines monolithischen Halbleiterspeichers
DE1279980C2 (de) Aus mehreren miteinander gekoppelten Datenverarbeitungseinheiten bestehendes Datenverarbeitungssystem
DE2328058C2 (de) Fehlerdiagnoseeinrichtung in einer digitalen Datenverarbeitungsanordnung
EP0011685B1 (de) Programmierbare Speicherschutzeinrichtung für Mikroprozessorsysteme und Schaltungsanordnung mit einer derartigen Einrichtung
DE2048670A1 (de) Speicherwartungsanordnung fur Daten verarbeitungsanlagen
DE2741886A1 (de) Datenuebertragungseinrichtung
DE1524239B2 (de) Schaltungsanordnung zur aufrechterhaltung eines fehler freien betriebes bei einer rechenanlage mit mindestens zwei parallel arbeitenden rechengeraeten
CH654943A5 (de) Pruefeinrichtung fuer mikroprogramme.
DE2319753B2 (de) Anordnung zur Datenverarbeitung mittels in Mikroprogrammierung betriebener Prozessoren
DE2030760A1 (de) Speicherschaltung
EP0104635A2 (de) Verfahren und Anordnung zum Prüfen eines digitalen Rechners
DE2461592C3 (de) Anordnung zur Durchführung von Wartungsoperationen bei einem Datenverarbeitungssystem
CH658137A5 (de) Steuereinrichtung mit einem speicher und einer schnittstelle, insbesondere fuer werkzeugmaschinen.
EP0151810B1 (de) Verfahren und Schaltungsanordnung zum Prüfen eines Programms in Datenverarbeitungsanlagen
DE3138989A1 (de) Zusaetzliche funktionseinheit in einem mikroprozessor, mikroprozessorsystem und verfahren zu seinem betrieb
DE2823457C2 (de) Schaltungsanordnung zur Fehlerüberwachung eines Speichers einer digitalen Rechenanlage
DE2048670C (de) Verfahren und Anordnung zur Über prüfung einer Datenverarbeitungsanlage
EP0919917B1 (de) Verfahren zum Testen des Pufferspeichers eines Mikroprozessorsystems
DE2505475C3 (de) Verfahren und Vorrichtung zur Fehlerprüfung bei einem programmierbaren Logikwerk für die Ausführung logischer Operationen
EP0566756A1 (de) Verfahren zur Fehlererkennung in numerischen Steuerungen

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
8327 Change in the person/name/address of the patent owner

Owner name: PLESSEY OVERSEAS LTD., ILFORD, ESSEX, GB