METHOD AND DEVICE FOR CHECKING THE CONTROL SIGNALS DERIVED FROM AN INSTRUCTION OF AN ELECTRONIC DATA PROCESSING UNIT

Abstract: 1. Method for an electronic data processing system for checking the control signals derived from an instruction, wherein a check value is formed from these control signals which are combined with time clock signals according to a logic function, and this check value is compared with a desired check value associated with the instruction and denoting correct control signals, and wherein, in the event of a mismatch of the check value and the desired check value, an error signal is generated, characterized by the following method steps : a) for checking whether the control signals (ATI to ZTI ) associated with the cycle times (TO to TL) of an instruction occur at the proper times, control signals (ATO to ZTO ) and an arbitrarily selectable fed back initial logic signal (aA) are combined according to an arbitrarily selectable logic function (f) in a logic circuit (107) in an initial step (i=0), forming a logic signal (aO) ; b) during the same cycle time (TO), the logic signal (aO) is temporarily stored in a first storage element (101) at a first clock time (A-clock) ; c) during the same cycle time (TO), the logic signal (aO) is transferred at a second clock time (B-clock) from the first storage element to a second storage element (104), whence it is fed back to the input of the logic circuit ; d) during the respective subsequent cycle times up to the penultimate cycle time (T1 to TL-1), the respective subsequent control signals (AT1 to ZT1 , ... ATL-1 to ZTL-1 ) and the logic signal, formed in the respective preceding cycle time within the validity slot of the first cycle time (TO) to the antepenultimate cycle time (TL-2) of a logic instruction and fed back to the input of the logic circuit, are combined with each other according to the logic function (f) within the validity slot of the first (aO) to the penultimate (aL-2) logic signal, forming a logic signal (a1 to aL-1) ; e) during the respective subsequent cycle time up to the penultimate cycle time (T1 to TL-1), the respective subsequent signals (a1 to aL-1) are temporarily stored in the first storage element at the respective first clock time ; f) during the respective subsequent cycle time up to the penultimate cycle time (T1 to TL-1), the respective subsequent logic signals (a1 to aL-1) are transferred at the respective second clock time from the first storage element to the second storage element, whence they are fed back to the input of the logic circuit ; g) during the last cycle time (TL) of an instruction, the last control signals (ATL to ZTL ) and the logic signal (aL-1), formed in the penultimate cycle time (TL-1) and fed back to the input of the logic circuit, are combined with each other according to the logic function (f), forming the check signal (aL) ; h) during the last cycle time (TL), the check signal is temporarily stored in the first storage element at the first clock time ; i) during the last cycle time (TL), the check signal (aL) is stored in the second storage element at the second cycle time ; j) subsequently, the desired check signal (CB) is compared with the check signal (aL), the error signal, if any, resulting from a mismatch is stored, and the storage elements (101, 104) are reset.

Description: Verfahren und Einrichtung für eine elektronische Datenverarbeitungsanlage zur Prüfung der aus einer Instruktion abgeleiteten Steuersignale Die Erfindung betrifft ein Verfahren und eine Einrichtung für eine elektronische Datenverarbeitungsanlage zur Prüfung der aus einer Instruktion abgeleiteten Steuersignale nach dem Oberbegriff des Anspruchs 1. Bei der Prüfung der Operationssteuerwerke von elektronischen Datenverarbeitungsanlagen, die beispielsweise aus dem Operationscodefeld einer Instruktion Steuersignale für die Ausführung von Elementaroperationen erzeugen, besteht immer wieder das Problem, die korrekte Erzeugung dieser Steuersignale und auch deren korrekte Übertragung zu den Orten ihres Wirksamwerdens möglichst genau und umfassend auf Fehlerfreiheit zu überprüfen. Die bisher bekannt gewordenen Lösungen (vgl. IEEE Transaction on Computers", Band C-19, Nr. 12, Dezember 1970, Seiten 1153 bis 1159) verwenden ein Paritätsbit, das aus den korrekt abgeleiteten Operationssteuersignalen einer Instruktion gebildet wird. Dieses Paritätsbit kennzeichnet daher korrekt abgeleitete Operationssteuersignale der zugehörigen Instruktion, wird in jeder Instruktion mitgeführt und mit dem am Ausgang des Operationsdecodierers aus den dort auftretenden Operationssteuersignalen der decodierten Instruktion gebildeten Paritätsbit verglichen. Abweichungen zwischen dem in der Instruktion mitgeführten und dem am Ausgang des Operationsdecodierers erneut aus den Operationssteuersignalen gebildeten Paritätsbit dienen als Fehleranzeige, die für die Einleitung von diagnostischen Massnahmen verwendet werden kann. Da die Operationssteuersignale einer Instruktion aber mit den Instruktionszykluszeiten dieser Instruktion verknüpft sind, ist es für eine umfassende Prüfung dieser Steuersignale bedeutsam, nicht nur das generelle Vorliegen dieser Steuersignale zu prüfen, sondern auch deren Zeitbezogenheit und korrekte Übertragung zu den Orten ihres jeweiligen Wirksamwerdens, d.h. zu den verschiedenen Steuertoren des Datenflusses der Datenverarbeitungsanlage. So zeigen zwar die bekannten Prüfeinrichtungen und Verfahren, wie beispielsweise auch die in der zuvor zitierten Druckschrift beschriebenen Lösungen, die Prüfung des generellen Auftretens der Steuersignale, nicht jedoch deren korrekte Zeitbezogenheit und fehlerfreie Übertragung zu den Steuerelementen des Datenflusses. Eine umfassende Prüfung des Steuerwerks einer Datenverarbeitungsanlage ist mit diesen Lösungen jedenfalls nicht möglich. Die Erfindung hat sich daher die Aufgabe gestellt, mit einfachen technischen Mitteln eine umfassende Prüfung von Steuerwerken elektronischer Datenverarbeitungsanlagen zu ermöglichen. Hierzu gehört sowohl die Prüfung der Zeitbezogenheit der Operationssteuersignale als auch deren korrekte Übertragung zu den Steuerelementen des Datenflusses, an denen diese Signale wirksam werden sollen. Dieses soll mit einfachen technischen Mitteln ermöglicht werden, die selbst, aufgrund ihrer nicht so komplexen Schaltkreisstruktur, wenig fehleranfällig und ausserdem preisgünstig sind. Gelöst wird diese Aufgabe der Erfindung für ein Verfahren durch die im Hauptanspruch angegebenen Merkmale für eine Einrichtung durch Merkmale, die in dem Patentanspruch 5 angegeben sind. Vorteilhafte Ausgestaltungen und Weiterbildungen des Gegenstandes der Erfindung sind den übrigen Patentansprüchen zu entnehmen. Durch die Erfindung wird somit der Vorteil erzielt, dass Operationssteuerwerke von elektronischen Datenverarbeitungs anlagen trotz einfacher Mittel sehr umfassend geprüft werden können, da, aufgrund des Prüfens der Zeitbezogenheit der Operationssteuersignale auch der gesamte Zeittakterzeugungsund -verteilungskomplex der Anlage, jedenfalls soweit er Zeitsteuersignale liefert, die mit Operationssteuersignalen verknüpft sind, mitgeprüft wird. Ausserdem werden die Übertra- gungsstrecken, längs der die Operationssteuersignale zu den in der Maschine verteilten Elementen des Datenflusses übertragen werden, mitgeprüft. Im folgenden wird ein Ausführungsbeispiel der Erfindung an Hand der beiliegenden Figuren beschrieben. Es zeigen: Fig. 1 ein Blockschaltbild des Steuerteiles einer elektronischen Datenverarbeitungsanlage mit angeschlossener Prüfeinrichtung, Fig. 2 ein detailliertes Blockschaltbild eines Teiles einer Operationssteuereinheit in einer elek tronischen Datenverarbeitungsanlage und der Prüfeinrichtung, Fig. 3 ein Impuls-/Zeitdiagramm zur Erläuterung der Betriebsabläufe in der Prüfeinrichtung und Fig. 4 eine schematische Darstellung des Mechanismus, wie die Prüfeinrichtung Zwischenprüfwerte in den einzelnen Zeitabschnitten zu dem endgültiger Prüfwert akkumuliert. Fig. 1 zeigt zunächst einen Teil einer elektronischen Datenverarbeitungsanlage, der aus einer Instruktionssteuereinheit besteht, die Steuersignale A bis Z zur Steuerung des Datenflusses dieser Anlage erzeugt. Dieser Datenfluss ist in Fig. 1 konzentriert als Datenflusskomplex 200 dargestellt, der in Wirklichkeit aber aus Torschaltungen besteht, die über die gesamte Maschine verstreut sind und die Aufgabe haben, den Instruktions- und Datentransport in der Maschine zu steuern. Diese Tore werden von den genannten Steuersignalen A bis Z gesteuert, d.h. für eine Übertragung geöffnet oder geschlossen. Für eine effektive Überprüfung dieser Steuersignale auf korrektes Vorliegen kommt es wesentlich darauf an, sie möglichst nahe am Orte ihres Wirksamwerdens für eine überprüfung abzugreifen. Wie Fig. 1 zeigt, werden diese Steuersignale, beispielsweise A und B, über Leitungen 206, 207 abgefühlt, die von der Datenflusseinheit direkt zur Prüfeinrichtung 100 herangeführt sind. Die übrigen in Fig. 1 dargestellten Steuerleitungen 111, 116, 304, A-CL und B-CL werden im Zusammenhang-mit Fig. 2 noch ausführlich erläutert. Die Instruktionssteuereinheit 1 enthält, wie Fig. 2 zeigt, einen Steuerspeicher (CST) 2, in dem die Instruktionen, z. B. Mikroinstruktionen, gespeichert sind. Mit jedem Lesezyklus des Steuerspeichers gelangt eine Instruktion in das Instruktionsregister (I-REG) 3. Für die Erzeugung der Steuersignale A bis Z kann entweder der Operationscodeteil der Mikroinstruktion, der sich im Operationsregister (OP-REG) befindet, decodiert werden oder es können auch die Bits des Operationscodes direkt genommen werden, nach einer geeigneten Kombination mit den Zeitsteuersignalen (TO bis TL) des Instruktionzyklus verknüpft werden, um die genannten Steuersignale zu bilden. Zur Decodierung der Bits des Operationscodes ist im allgemeinen ein Operationsdecodierer (OP-DEC) 4 vorgesehen. Im übrigen ist es auch möglich, die Operationssteuersignale A bis Z aus einer gemischten Operationsweise zu erzeugen, bei der ein Teil der Bits des Operationscodes direkt, ein anderer nach Decodierung durch den Operationsdecodierer, gemeinsam mit den Taktsignalen des Befehlszyklusses kombiniert werden. Bei dem Ausführungsbeispiel nach Fig. . 2 wird aus bestimmten Bits des Operationscodes von dem Operationsdecodierer 4 ein Prüfbit erzeugt, das aufgrund des inhärenten Bildungsgesetzes Aufschluss darüber gibt, ob die am Zielort zu bestimmten Instruktions-Zykluszeiten der jeweiligen Instruktion vorliegenden Steuersignale A bis Z, gemessen über eine ganze Instruktion, hinsichtlich ihres Auftretens überhaupt und hinsichtlich ihres zeitgerechten Auftretens im besonderen korrekt waren. Dieses Prüfbit wird von der Instruktionssteuereinheit 1 über eine Leitung 115 zu der Prüfeinrichtung 100 übertragen und dort mit einem Prüfbit verglichen, das aus den genannten Steuer- und Taktsignalen nach dem gleichen Bildengs- gesetz erzeugt wurde, wie das, einen ordnungsgemässen Betrieb voraussetzende Prüfbit, das jeder Instruktion inhärent ist. Es sei an dieser Stelle erwähnt, dass tür dieses Prüfbit im Instruktionsformat eine Bitposition reserviert sein kann oder aber dass es aus den Bits des Operationscodes abgeleitet wird. : Die letztere Möglichkeit ist deshalb gegeben, weil der Operationscode eine Instruktion eindeutig kennzeichnet. Details der Prüfeinrichtung 100 sowie der Instruktionssteuereinheit 1, soweit sie für die Erläuterung der Prüfeinrichtung relevant sind, sind in Fig. 2 dargestellt. Bevor auf die Wirkungsweise und den Betriebsablauf der Prüfeinrichtung 100 näher eingegangen wird, sei zunächst erläutert, auf welche Weise die Steuersignale A bis Z in der vorliegenden Instruktionssteuereinheit 1 erzeugt werden. Das UND-Tor 7 verknüpft die ersten drei Bits des Operationscodes, der im Instruktionsregister 3 für die Dauer der Instruktionsinterpretation und -ausführung gespeichert ist. Das Ausgangssignal dieses UND Tores 7 wird dem Eingang eines weiteren UND-Tores 8 zuge- führt, das über einen weiteren Eingang verfügt, der mit einer anderen Bitstelle des Operationscodes verbunden ist. Auch dem UND-Tor 9 wird das Ausgangssignal des UND-Tores 7 zugeführt sowie ein weiteres Bit aus einer bestimmten Position des Operationscodes. Wie Fig. 2 zeigt, folgt dann noch eine weitere Ebene einer logischen Verknüpfung mittels der ODER-Tore 10 und 11, bevor die eigentliche Verknüpfung der Datenfluss-Steuersignale mit den Instruktions-Zykluszeiten TO bis TL des Ringzählers (CLR) 6 vorgenommen wird. Diese Verknüpfung mit den Instruktions-Zykluszeiten erfolgt über die UND-Tore 13 und 14 sowie 16. Die UND-Tore 16 sind gestrichelt dargestellt, da sie nicht im einzelnen erläutert werden, ihre Funktion aber für die Erzeugung der Steuersignale C bis Z ohne weiteres aus der ausführlichen Erläuterung der Erzeugung der- Steuersignale A und B hervorgeht. Dieses gilt sinngemäss auch für die Erweiterung des Exklusiv-ODER-Tores 106, das im Zusammenhang mit der Prüfeinrichtung 100 noch ausführlich erläutert werden wird. Das Steuersignal A ergibt sich als Ausgangssignal des UND Tores 13, wenn das zuvor schon erläuterte Ausgangssignal des ODER-Tores 10 mit der Instruktionszykluszeit T1 oder T4 koinzidiert. In ähnlicher Weise wird auch das Steuersignal B von dem UND-Tor 14 erzeugt, wenn nämlich das Ausgangssignal des bereits erwähnten ODER-Tores 11 mit der Instruktionszykluszeit T2 oder T4 zusammenfällt. Die ODER-Verknüpfung der genannten Instruktionszykluszeiten wird in den ODER-Toren 12 bzw. 15 vorgenommen. Wie Fig. 2 ferner zu entnehmen ist, steuert das Steuersignal A in der konzentriert dargestellten Datenflusssteuerung 200 die Teildatenflusssteuerung (DF) 201. Zu diesem Zwecke wird das Steuersignal A über die Leitung 204 zur Teildatenflusssteuerung 201 übertragen. Am Eingang dieser Teildatenflusssteuerung 201, also unmittelbar am Orte des Wirksamwerdens des Steuersignals A verzweigt sich die Steuerleitung 204 in eine nrüfleitung 206, die von der Datenflusssteuerung 200 zur Prüfeinrichtung 100 führt. In der gleichen Weise wird auch das Steuersignal B über die Steuerleitung 205 zu dem Teildatenfluss 202 übertragen. Auch diese Steuerleitung 205 hat dicht am Eingang der Teildatenflusssteuerung 202 als Abgriff eine Prüfleitung 207, die ebenfalls von der Datenflusssteuerung zur Prüfeinrichtung 100 führt. In der gleichen Weise wird mit den übrigen Steuersignalen C bis Z verfahren, die ebenfalls unmittelbar von ihrer jeweiligen Teildatenflusssteuerung 203 zur Prüfeinrichtung 100 übertragen werden. Die Prüfleitungen, z. B. 206, 207, sind in der Prüfeinrichtung 100 mit den Eingängen eines Exklusiv-ODER-Tores 106 verbunden, welches die anliegenden Steuersignale A bis Zimit- einander gemäss einer Exklusiv-ODER-Funktion verknüpft. Das Ergebnis dieser Verknüpfung gelangt zu einem weiteren Exklusiv ODER-Tor 107, wo es mit dem über die Leitung 105 übertragenen Ausgangssignal einer Master-/Slave-Verriegelungsschaltung verknüpft wird. Diese Master-/Slave-Verriegelungsschaltung besteht aus einem UND-Tor 102, einem Master-Flip-Flop 101, einem weiteren UND-Tor 103 sowie aus einem Slave-Flip-Flop 104. Das Ausgangssignal des Exklusiv-ODER-Tores 107 gelangt mittels eines Impulses des A-Taktes, der über die Taktleitung A-Cl an das UND-Tor 102 angelegt wird, über das UND-Tor 102 zu dem Einstelleingang S des Master-Flip-Flops 101, wo es solange gespeichert wird, bis es mittels eines Impulses des B-Taktes auf der Taktleitung B-Cl über das UND-Tor 103 in den Slave Flip-Flop 104 übertragen und dort gespeichert wird. Die Übertragung vom UND-Tor 103 zum Slave-Flip-Flop erfolgt wieder über dessen Einstelleingang S. Das Exklusiv-ODER-Tor 108, das dem Slave-Flip-Flop 104 nachgeschaltet ist, hat die Aufgabe, den akkumulierten Wert über alle zu überwachenden Steuersignale A bis Z, der sich am Ende einer Instruktion ergibt, mit dem für diese Instruktion charakteristischen Prüfwert CB zu vergleichen. Hierzu ist eine Verriegelungsschaltung (CB-L) 18 vorgesehen, die über das UND-Tor 17 zur Zykluszeit TL diesen charakteristischen Prüfwert CB aus dem Operationsdecodierer 4 übernimmt. Stellt sich bei dem Vergleich in dem Exklusiv-ODER-Tor 108 eine Abweichung heraus, die einem Fehler entspricht, dann wird dieses Fehlersignal über das UND-Tor 109 mittels des Steuersignals CS in die Prüf-Verriegelungsschaltung (CH-L) 110 übernommen und an deren Ausgang 111 für die Einleitung geeigneter Fehlerdiagnose- und/oder Beseitigungsoperationen bereitgestellt. Nachdem zuvor in groben Zügen die Wirkungsweise der Prüfeinrichtung und deren Zusammenhang mit der Operationssteuerung einer Datenverarbeitungsanlage erläutert wurde, wird im folgenden der Betriebsablauf der Prüfeinrichtung 100 ausführlicher und im Zusammenhang mit dem Impuls-Zeitdiagramm nach Fig. 3 dargestellt. In Fig. 3 sind spaltenweise geordnet die einzelnen Zykluszeiten einer Instruktion, die sog. Instruktionszykluszeiten, dargestellt (1. Zeile). Eine Instruktion beginnt mit der Zykluszeit TO, zu deren Beginn die Instruktion aus dem Steuerspeicher 2 (vgl. Fig. 2) in das Instruktionsregister 3 übernommen und z. B. der Operationscode im Operationsdecodierer 4 decodiert wird. Eine Instruktion endet mit der Instruktionszykluszeit TL, an deren Ende das Ergebnis der Instruktion in Registern, Speichern oder sonstigen Informationsabnehmern zur Verfügung steht. Der Tatsache, dass die Instruktionen unterschiedlich lang sind, d.h. dass sie über unterschiedlich viele Instruktionszykluszeiten verfügen, wird dadurch Rechnung getragen, dass die jeweils letzte Instruktionszykluszeit einer Instruktion, wie lange die Instruktion auch immer sei, mit TL und deren vorletzte Instruktionszykluszeit mit TL-1 benannt ist. In jede Instruktionszykluszeit fallen auch zwei Taktimpulse, und zwar einer des A-Taktes (A-CL) und einer des B-Taktes (B-CL), die von dem Oszillator (OSC) 5 erzeugt werden und in den Zeilen 2 und 3 in Fig. 3 dargestellt sind. Ausserdem sind in den Zeilen 4 und 5 (jeweils von oben gezählt) die Steuersignale A und B dargestellt, die über die Leitungen 204, 206 bzw. 205, 207 übertragen werden. Wie aus Fig. 3 zu entnehmen ist, sind die Steuersignale mit bestimmten Instruktionszykluszeiten kombiniert, das Steuersignal A beispielsweise mit den Instruktionszykluszeiten T1 und T4, das Steuersignal B beispielsweise mit den Instruktionszykluszeiten T2 und T4. Da eine Instruktion, wie zuvor schon erwähnt wurde, mit dem Beginn der Instruktionszykluszeit TO beginnt und mit dem Ende der Instruktionszykluszeit TL endet, müssen die Steuersignale A bis Z, die zur Ausführung einer Instruktion benötigt werden, während dieser Zeit zur Verfügung gestellt werden. Ein Steuersignal, das diesen Vorgang steuern könnte, ist beispielsweise das Steuersignal CS, das in Fig. 3 in der zweiten Zeile von unten dargestellt ist. Dieses Signal kann dazu dienen, die Instruktion aus dem Steuerspeicher. (CST) 2 in das Instruktionsregister (I-REG) 3 zu übertragen, wobei auch der Operationscode in den Operationsregisterteil dieses Registers 3 gelangt (in Fig. 2 ist diese Übertragung nicht dargestellt). In der Prüfeinrichtung 100 hat das Eingangs-Exklusiv-ODER Tor (XOR) 106 die bereits erwähnte Aufgabe, die Exklusiv ODER-Verknüpfung der Steuersignale A bis Z vorzunehmen. Fig. 4 zeigt, dass die Exklusiv-ODER-Verknüpfung, beispielsweise der Ste#uersignale A und B, so wie sie zur Instruktionszykluszeit TO vorliegen, (gekennzeichnet durch den Index der Zykluszeit TO) in dem nachgeschalteten Exklusiv-ODER-Tor 107 mit dem Ausgangssignal des Slave-Flip-Flops 104, das zuvor von dem Rückstellsignal RS1 (vgl. Fig. 3, letzte Zeile) auf aA zurückgestellt wurde, verknüpft wird. Das Ausgangssignal aO dieser Exklusiv-ODER-Verknüpfung wird über das UND-Tor 102 während der Instruktionszykluszeit TO mit Hilfe eines Impulses des A-Taktes, der vom Oszillator 5, über die Leitungen A-CL und 302, das UND-Tor 300 und die Leitung 112 zu dem UND-Tor 102 übertragen wird, in den Naster-Flip-Flop 101 eingegeben, von dort während der gleichen Instruktionszykluszeit TO über das UND-Tor 103 mittels eines Impulses des B-TaktesS der über die Leitung 113 an das genannte UlW-Tor angelegt wird, über den Setzeingang S in den Slave-Flip-Flop 104 übertragen und hier bis zur nächsten Instruktionszykluszeit T1 zwischengespeichert. Zur Instruktionszykluszeit T1 wird dann in einer analogen Weise, wie Fig. 4 zeigt, die Exklusiv-ODER-Verknüpfung der Steuersignale 9r und BT1, wie sie zu Beginn der Instruktionszyklszeit T1 vorliegen, mit dem Signal aO in dem Exklusiv-ODER-Tor 107 verknüpft, das als Verknüpfungsergebnis das Signal al an seinem Ausgang bereitstellt. Dieses Signal wird, wie zuvor das Signal aO über das UND-Tor 102, den Master-Flip-Flop 101 und das UND-Tor 103 zu dem Slave-Flip-Flop 104 propagiert, wo es wieder für die Dauer einer Instruktionszykluszeit zwischengespeichert und über die Leitung 105 zu dem Eingang des Exklusiv-ODER-Tores 107 übertragen wird. Zu Beginn der Instruktionszykluszeit T2 liegt am anderen Eingang des Exklusiv ODER-Tores 107 die Exklusiv-ODER-Verknüpfung der Steuersignale und undBT2 an, die dieses Exklusiv-ODER-Tor zu dem Ausgangssignal a2 verknüpft. Mit den Steuersignalen g i und BTi in den übrigen Instruktionszykluszeiten T3 bis TL und den aus jeweiligen Verknüpfungen sich ergebenden Signalen a3 bis AL wird ebenfalls in der zuvor erläuterten Weise verfahren. Am Ende der letzten Instruktionszykluszeit TL einer Instruktion steht somit das zuletzt gebildete und durch Akkumulation über alle Instruktionszykluszeiten entstandene Verknüpfungssignal aL zur Verfügung, das einen charakteristischen Kennwert für die überprüften instruktionszykluszeitabhängigen Steuersignäle, im Beispiel der Fig. 4 der Steuersignale A und B, darstellt. Dieses zuletzt gebildete Verknüpfúngdsignal aL steht am Ausgang des Slave-Flip-Flops 104 zur In#truktionszykluszeit TL mit dem Erscheinen des Impulses des #-Taktes zur Verfügung und kann nun in dem Exklusiv-ODER-Tot 108 mit dem über die Leitung 115 übertragenen Prüfbit CB, das für die soeben überprüfte Instruktion charakteristisch ist, verglichen werden. Dieses Prüfbit wird in irgendeiner Weise aus den Bits des Operationscodes der Instruktion gewonnen und steht auch zur Instruktionszykluszeit TL im Opetationsregister zur Übernahme bereit. So kann beispielsweise der Operationsdecodierer 4 dazu verwendet werden, das für die#e#Instruktion charakte- ristische Prüfbit aus einem Teil der Operationscodebits zu erzeugen. Dieses Prüfbit wird zur Ingtruktionszykluszeit TL über ein UND-Tor 17 und dessen Ausgangsleitung 19 über den Einstelleingang S in eine verriegelungsschaltung (CB-L) 18 eingegeben und bis zur Übernahme in die Prüf-Verriegelungsschaltung 110 dort zwischengespeichett. Die Rückstellung dieser Verriegelungsschaltung 18 erfolgt rechtzeitig vor übernahme des Prüfbits der nächsten Instruktion durch einen Rückstellimpuls RS1, der in der untersten Zeile in Fig. 3 dargestellt ist. Das von dem Exklusiv-ODER-Tor 108 erzeugte Vergleichssignal wird mit Hilfe des Steuersignals CS ueber das UND-Tor 109 zur Einstellung einer Prüf-Verriegelung##chaltung (CH-L) 110 übertragen. Das Ausgangssignal des Exklgaiv-oDER-Tores 10%, in dem der Vergleich vorgenommen wird, tst dann als Fehler zu interpretieren, wenn es einer binären Eins entspricht. Dieses Fehlersignal steht dann solange am Ausgang 111 zur Verfügung, bis die Prüf-Verriegelungsschaltung 110 über ein Rückstellsignal RS2 an seinem Rückstelleingang wieder zurückgestellt wird. Für die Durchführung des Vergleichs des akkumulierten Verknüpfungssignals, beispielsweise aL, mit dem Prüfbit CB der jeweiligen Instruktion ist es ausreichend, dieses Prüfbit aus der Verriegelungsschaltung 18 mit dem Beginn der Instruktionszykluszeit TL bereitzustellen, da dieser Vergleich erst durchgeführt werden kann, wenn das akkumulierte Verknüpfungssignal aL zur Instruktionszykluszeit TL und zur Zeit des in diese Zykluszeit fallenden Impulses des B-Taktes am Ausgang des Slave-Flip-Flops 104 bereitsteht. Da das akkumulierte r-rü.'rt- signal aL am Ausgang des Exklusiv-ODER-Tores 108 durch das Signal CS zu Beginn der Instruktionszykluszeit TO der nächsten Instruktion in die Fehler-Verriegelungsschaltung 110 übertragen wird, kann die Prüfbit-Verriegelungsschaltung 18 mit dem Rückstellsignal RS1 über die Leitung 116 ebenso zurückgestellt werden, wie der Slave-Flip-Flop 904. Das Rückstellsignal RS1 wird, wie Fig. 2 zeigt, von einem UND-Tor 307 erzeugt, an dessen einem Eingang das Signal der Instruktionszykluszeit TO und an deren anderem Eingang die Impulse des A-Taktes (A-CL) anliegen. Das Rückstellsignal RS1 ist das Ausgangssignal dieses UND-Tores 307 und wird über die Leitung 116 sowohl zu dem Rückstelleingang des Slave-Flip-Flops 104 als auch der Prüfbit-Verriegelungsschaltung 18 übertragen Der Master-Flip-Flop 101 darf allerdings nicht von diesem Rückstellsignal RS1 zurückgestellt werden, da zu dessen Erscheinungszeit bereits die mit einem Impuls des A-Taktes eintreffenden Steuersignale für die nächste Instruktion übernommen werden. Der Master-Flip-Flop 101 muss also früher zurückgestellt werden. Dieses geschieht, wie bereits erwähnt wurde, mit dem Signal CS. Es ist jedoch darauf zu achten, dass das Rückstellsignal RS1 den Slave-Flip-Flop 104 so rechtzeitig zurückstellt, dass seine binäre Null am Ausgang schon wieder mit den neuen Steuersignalen im Exklusiv-ODER-Tor 107 verknüpft werden kann. Damit die bei einem extern bedingten Maschinenstop bis zu diesem Zeitpunkt akkumulierten Verknüpfungssignale in der Prüfschaltung 100 nicht an einer beliebigen Stelle in einem Instruktionszyklus gestört werden können, wird die aus einem UND-Tor 300 und einem NAND-Tor 301 gebildete Steuerschaltung vorgesehen, die einen Stop immer erst dann möglich macht, wenn die Verknüpfungssignale vollständig für diejenige Instruktion akkumuliert sind, in deren Ausführung ein solcher externer Stop fällt. Das externe Stopsignal, das über die Leitung 305 zu dem Eingang der NAND-Schaltung 301 führt, wird mit der Instruktionszykluszeit TO, die über die Leitung 304 zu dem anderen Eingang dieser NAND-Schaltung geführt wird verknüpft. Mit Hilfe des UND-Tores 300 ist somit die NAND- Schaltung 301 in der Lage, bei extern auftretenden Stops die Übertragung der Impulse des A-Taktes zu dem UND-Tor 1C2 zu unterbinden, dessen Aufgabe darin besteht, Verknüpfungssignale des Exklusiv-ODER-Tores 107 zu dem Master-Flip-Flop 101 zu übertragen. Auf diese Weise kann die Akkumulierung der Verknüpfungssignale erst am Ende der laufenden InstruX unterbrochen werden, zu einem Zeitpunkt also, zu dem diese Akkumulation vollständig abgeschlossen und noch der Fehlervergleich mit dem Prüfbit durchgeführt werden kann.

Claims: PATENTANSPRÜCHE 1. Verfahren für eine elektronische Datenverarbeitungsan lage zur Prüfung der aus einer Instruktion abgeleiteten Steuersignale, bei dem aus diesen Steuersignalen ein Prüfwert gebildet und dieser mit einem der Instruktion zugeordneten Soll-Prüfwert, der korrekte Steuersignale kennzeichnet, verglichen und bei Nichtübereinstimmung von Prüfwert und Soll-Prüfwert ein Fehlersignal erzeugt wird, gekennzeichnet durch folgende Verfahrensschritte: 1. Zur Prüfung des zykluszeitgerechten Auftretens der mit den Zykluszeiten (TO bis TL) einer Instruktion verknüpften Steuersignale (ATi bis ZTi) werden im Anfangsschritt (i = 0) Steuersignale (auto bis ZTO) und ein rückgeführtes Anfangsverknüpfungssignal (aA) in einer logischen Schaltung gemäss einer logi schen Funktion (f) zu einem Verknüpfungssignal (aO) miteinander verknüpft. 2. In der gleichen Zykluszeit (TO) wird zu einer ersten Taktzeit (A-Takt) das Verknüpfungssignal (aO) in einem ersten Speicherelement zwischengespeichert. 3. In der gleichen Zykluszeit (TO) wird zu einer zweiten Taktzeit (B-Takt) das Verknüpfungssignal (aO) von dem ersten Speicherelement zu einem zweiten Speicherelement übertragen und von dort auf den Eingang der logischen Schaltung zurückgeführt. 4. In der jeweils nächsten bis zur vorletzten Zykluszeit (T1 bis TL-1) werden die jeweils nächsten Steuersignale (AT1 1 bis ZTl1 . AT bis ZTL-1) und das in der je weils vorhergehenden Zykluszeit (TO bis TL-2) gebil dete und auf den Eingang der logischen Schaltung zurückgeführte Verknüpfungssignal (aO bis aL-2) gemäss der logischen Funktion (f) jeweils zu einem Verknüp fungssignal fal bis aL-1) miteinander verknüpft. 5. In der jeweils nächsten bis zur vorletzten Zykluszeit zeit (T1 bis TL-1) werden jeweils zur ersten Taktzeit die jeweils nächsten Verknüpfungssignale (al bis aL-1) im ersten Speicherelement zwischengespeichert. 6. In der jeweils nächsten bis zur vorletzten Zykluszeit (T1 bis TL-1) werden jeweils zur zweiten Taktzeit die jeweils nächsten Verknüpfungssignale (a1 bis aL-1) von dem ersten Speicherelement zu dem zweiten über tragen und von dort auf den Eingang der logischen Schaltung zurückgeführt. 7. In der letzten Zykluszeit (TL) einer Instruktion werden zur ersten Taktzeit die letzten Steuersignale bis bisZTL) und das in der vorletzten Zykluszeit (TL-1) gebildete und auf den Eingang der logischen Schaltung zurückgeführte Verknüpfungssignal (aL-1) gemäss der logischen Funktion (f) zu dem Prüfsignal (AL) miteinander verknüpft. 8. In der letzten Zykluszeit (TL) wird zur ersten Takt zeit das Prüfsignal im ersten Speicherelement zwischen gespeichert. 9. In der letzten Zykluszeit (TL) wird zur zweiten Takt zeit das Prüfsignal im zweiten Speicherelement zwi schengespeichert. 10.Danach werden ein Vergleich des Soll-Prüfsignals mit dem Prüfsignal durchgeführt, das evtl. aus einer Un gleichheit resultierende Fehlersignal gespeichert und die Speicherelemente zurückgestellt. 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Prüfwert (aL) gemäss folgender Beziehung gebildet wird: aL = ft5ATL, BTL---ZTLS f(ATL#l, BTL-1...ZTL-l, f#ATL-2... TL-2 ...f(ATO, BTO...ZTO, + wobei f eine eindeutige Bool'sche Funktion der Steuer signale (A bis Z) zu den verschiedenen Zykluszeiten (TO bis TL) einer Instruktion und fAnf ein Anfangswert sind, der Null oder ein konstanter Wert sein kann. 3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass die Bool'sche Funktion (f) die Exklusiv-ODER-Funktion ist. 4. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass die Bool'sche Funktion (f) die binäre Additions funktion ist. 5. Einrichtung in einer elektronischen Datenverarbeitungs anlage zur Prüfung der aus einer Instruktion abgeleiteten Steuersignale, die aus diesen Steuersignalen einen Prüf wert bildet und diesen mit einem der Instruktion zugeord neten Soll-Prüfwert, der korrekte Steuersignale kenn zeichnet, vergleicht und bei Nichtübereinstimmung der Prüfwerte ein Fehlersignal erzeugt, zur Durchführung des Verfahrens nach einem oder mehreren der Ansprüche 1 bis 4, gekennzeichnet durch: - Eine logische Schaltung (107; Fig. 2) zur Ausführung einer Bool'schen Funktion (f) zwecks Erzeugung eines Verknüpfungssignales (ai) aus den zykluszeitabhängigen Steuersignalen (ATi bis ZTi) ) einer Instruktion und eines rückgeführten Verknüpfungssignales (ai-1), - eine erste Torschaltung (102) zur Übertragung des jeweiligen Verknüpfungssignals (ai) zu einer ersten Taktzeit (A-Takt) in jeder Zykluszeit (TO bis TL) einer Instruktion, - ein erstes Speicherelement (101) zum Empfang des Ver knüpfungssignals von der ersten Torschaltung und zu dessen Zwischenspeicherung, - eine zweite Torschaltung (103) zur Übertragung des vom ersten Speicherelement empfangenen Verknüpfungssignals zu einer zweiten Taktzeit (B-Takt) in der gleichen Zykluszeit, - ein zweites Speicherelement (104) zum Empfang des Verknüpfungssignals von der zweiten Torschaltung und zu dessen Zwischenspeicherung und Rückführung zur logischen Schaltung (107), - eine Vergleichsschaltung (108) zum Vergleich des Prüf wertes letztes Verknüpfungssignal (aL) einer Instruk tionl mit dem Soll-Prüfwert der Instruktion, - eine erste Steuerschaltung (306), die ein erstes Signal (CS) erzeugt, das den Inhalt des ersten Speicherele ments zu Beginn der ersten Zykluszeit einer neuen Instruktion löscht und die Übertragung eines evtl. ¯ < Fehlersi-gnals in ein drittes Speicherelement (110) vor nimmt und schliesslich - eine zweite Steuerschaltung (307), die ein zweites Signal (RS1) erzeugt, das den Inhalt des zweiten Speicherelementes und eines Speichers (18) für den Soll-Prüfwert der laufenden Instruktion löscht und die Übernahme des Soll-Prüfwertes für die nächste Instruk tion vorbereitet. 6. Einrichtung nach Anspruch 5, dadurch gekennzeichnet, dass die Steuersignale (A bis Z; Fig. 2) unmittelbar vor dem Ort (201, 202) ihres Wirksamwerdens mittels Prüflei tungen (206, 207) abgegriffen und zum Eingang der Prüf einrichtung (100) übertragen werden.

Inventors: BLUM, ARNOLD
Applicants: INTERNATIONAL BUSINESS MACHINES CORPORATION
Application year: 1979
Main classification: G06F11
IPC codes: G06F11