DE1185404B - Fehlerermittlungsanlage - Google Patents

Fehlerermittlungsanlage

Info

Publication number
DE1185404B
DE1185404B DES80856A DES0080856A DE1185404B DE 1185404 B DE1185404 B DE 1185404B DE S80856 A DES80856 A DE S80856A DE S0080856 A DES0080856 A DE S0080856A DE 1185404 B DE1185404 B DE 1185404B
Authority
DE
Germany
Prior art keywords
address
parity
gate
register
output
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.)
Pending
Application number
DES80856A
Other languages
English (en)
Inventor
Adelbert W Cheney
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.)
Sperry Corp
Original Assignee
Sperry Rand Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sperry Rand Corp filed Critical Sperry Rand Corp
Publication of DE1185404B publication Critical patent/DE1185404B/de
Pending 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318522Test of Sequential circuits
    • G01R31/318527Test of counters
    • 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/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30069Instruction skipping instructions, e.g. SKIP
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K21/00Details of pulse counters or frequency dividers

Description

BUNDESREPUBLIK DEUTSCHLAND
DEUTSCHES
PATENTAMT
AUSLEGESCHRIFT
Internat. KL: G06f
PJs
Deutsche KL: 42 m -14
Nummer: 1185404 s
Aktenzeichen: S 80856IX c/42 m
Anmeldetag: 10. August 1962
Auslegetag: 14. Januar 1965
Die Erfindung betrifft eine Fehlerermittlungsanlage für datenverarbeitende Maschinen, insbesondere zur Überwachung eines Instruktionszählers in einer solchen Maschine.
Da ein Instruktionszähler nicht immer bloß Schritt für Schritt schaltet, sondern hin und wieder eine Skipoperation durchzuführen hat, gestaltet sich die Überprüfung seiner Arbeitsweise schwierig. Es ist bekannt, einen zweiten Instruktionszähler zu verwenden und dann die Ergebnisse beider Zähler zu vergleichen. Es ist ferner auch bekannt, an Stelle der Ergebnisse Kontrollziffern miteinander zu vergleichen. Beide Verfahren erfordern jedoch einen großen Aufwand an Schaltelementen, der teuer ist und zudem eine zusätzliche Gefahr für ein fehlerhaftes Funktionieren der Einrichtung schafft, denn jedes zusätzliche Element in einer Datenverarbeitungsanlage erhöht natürlich diese Gefahr.
Die Erfindung ermöglicht ein Überwachen eines Instruktionszählers in einer datenverarbeitenden Maschine mit einem minimalen Aufwand an Schaltelementen. Die Fehlerermittlungsanlage nach der Erfindung ist gekennzeichnet durch eine Paritätsvergleichsvorrichtung, welche die Parität der Adresse im Adressenregister und die gespeicherte Parität der vorhergehenden Adresse vergleicht, und eine Vergleichseinrichtung, welche die Folge der Werte von korrespondierenden Bits in der alten und neuen Adresse feststellt, und eine Fehlerermittlungsvorrichtung, welche an die Ausgänge der Paritätsvergleichsvorrichtung und der Vergleichseinrichtung sowie der Folgekontrolleinrichtung angeschlossen ist, um ein Fehlersignal zu erzeugen, wenn die neue Adresse nicht um den von der Folgekontrolleinrichtung befohlenen Wert von der alten Adresse abweicht. Die Erfindung nutzt den Umstand aus, daß in aufeinanderfolgenden Binärzahlen eine Gesetzmäßigkeit in der Aufeinanderfolge von Bits gleichen Stellenwerts besteht. Nach der Erfindung wird eine Vergleichseinrichtung benutzt, die die Folge der Werte aller geraden Bits in der alten und neuen Adresse vergleicht.
Diese Information und das Resultat des Vergleiches der Parität der gegenwärtigen Adresse und der vorhergehenden Adresse steuern die Fehlerermittlungseinrichtung. Diese spricht an, wenn der Instruktionszähler nicht die gewünschten Operationen ausführt, beispielsweise an Stelle eines Skips bloß um Eins weiterschaltet. Die ganze Anlage ist äußerst einfach und besteht zur Hauptsache aus Schaltelementen von geringer Störungsanfälligkeit.
Fehlerermittlungsanlage
Anmelder:
Sperry Rand Corporation, New York, N. Y.
(V. St. A.)
Vertreter:
Dipl.-Ing. E. Weintraud, Patentanwalt,
Frankfurt/M., Mainzer Landstr. 136-142
Als Erfinder benannt:
Adelbert W. Cheney, St. Paul, Minn. (V. St. A.)
Beanspruchte Priorität:
V. St. v. Amerika vom 22. August 1961 (133 168)
Ein Ausführungsbeispiel der Erfindung ist in den Zeichnungen dargestellt. Es zeigt
Fig. 1 ein Blockdiagramm einer Fehlerermittlungseinrichtung,
F i g. 2 ein Adressenregister,
F i g. 3 einen Adressenzähler,
F i g. 4 einen Paritätserzeuger,
F i g. 5 eine Paritäts-Speicherschaltung, Vergleichsschaltungen und einen Fehleraufdecker,
F i g. 6 ein Zeitdiägramm.
In Tafel 1 sind die Parität von Dezimaladressen 0 bis 12 und das binäre Äquivalent der einzelnen Dezimalwerte gezeigt. Die vorliegende Adresse sei mit P bezeichnet und die frühere Adresse mit P*, und es sei vorausgesetzt, daß die frühere Adresse P* während eines Arbeitszyklus zu der vorliegenden Adresse P verändert wird und im nächst darauffolgenden Zyklus zu der Adresse P* + 1 oder P*+2. Wegen der Zufallsfolge, in welcher ungerade und gerade Paritäten auftreten, kann eine Fehlerprüfung nicht allein durch eine Paritätsprüfung ausgeführt werden.
Tafel 1
45 Parität 10 Podi
11
.rP*
12
13 Dezimal
adresse
Gerade 0 0 0 0 0
Ungerade 0 0 0 1 1
50 Ungerade 0 0 1 0 2
Gerade 0 0 1 1 3
Ungerade 0 1 0 0 4
409 768/332
Tafel 1 (Fortsetzung) sr P*
12
13 Dezimal
adresse
Parität 10 ! P odf
11
0 1 5
Gerade 0 1 1 0 6
Gerade 0 ι 1 1 7
Ungerade ο ! 1 0 0 8
Ungerade 1 ' 0 0 1 9
Gerade 1 0 1 0 10
Gerade 1 0 1 1 11
Ungerade 0 0 0 12
Gerade 1
1 i
1
Wenn die Parität der vorhergehenden Adresse ungerade ist und die Parität der laufenden Adresse ungerade ist, dann hat wenigstens ein Paar der entsprechenden geraden Bits von P* und P den Wert Null bzw. Eins, sofern die Adressen F* und P* + l sind, aber es gibt keine entsprechenden gerade Bits von P* und P, welche den Wert Null und Eins haben, wenn die Adressen P* und P* + 2 sind. Die Tafel 1 zeigt auch, daß, wenn die vorhergehende Adresse eine gerade Parität hat und die gegenwärtige Adresse auch eine gerade Parität hat, dann wenigstens ein Paar der entsprechenden geraden Bits P* und P den Wert Null bzw. Eins hat, sofern die Adressen P* und P* +1 sind, während es dort keine entsprechenden gerade Bits von P* und P gibt, welche den Wert Null bzw. Eins haben, wenn die Adressen P* und P*+2 sind.
Wenn die Parität der vorhergehenden Adresse ungerade ist und die Parität der gegenwärtigen Adresse gerade ist, dann sind keine entsprechenden geraden Bits von P* und P vorhanden, welche Null bzw. Eins sind, wenn die Adressen P* und P*+l sind, während wenigstens ein Paar von entsprechenden geraden Bits von P* und P den Wert Null bzw. Eins haben, wenn die Adressen P* und P*+2 sind.
Schließlich zeigt die Tabelle, daß, wenn die Parität der vorhergehenden Adressen gerade ist und die Parität der gegenwärtigen Adresse ungerade ist, es dann keine entsprechenden geraden Bits gibt von P* und P, welche den Wert Null bzw. Eins haben, wenn die Adressen P* und P* + l sind, während wenigstens ein Paar von entsprechenden geraden Bits von P* und P den Wert Null bzw. Eins haben, wenn die Adressen P* und P* + 2 sind. Eine Tabelle dieser Bedingungen ist in der Tafel II gezeigt.
Tafel II
Umstände, welche Fehler während des
Adressen-Rechenvorganges verursachen
Gegenwärtige Pn* = 0 P* + l P*+2
Vorherige Parität und Pn=I Fehler Fehler
Parität («ist 0,2,4,6,
Ungerade 8,10 oder 12) Nein Ja
Ungerade Ungerade Ja Ja Nein
Ungerade Gerade Nein Nein Ja
Gerade Gerade Ja Ja Nein
Gerade Gerade Nein Ja Nein
Ungerade Gerade Ja Nein Ja
Ungerade Ungerade Nein Ja Nein
Gerade Ungerade Ja Nein Ja
Gerade Nein
In der in F i g. 1 gezeigten Anordnung umfaßt der Befehlszähler ein erstes Register P*, ein zweites Register P und einen Adressenzähler 1.
Die P- und P*-Register enthalten je vierzehn binäre Stufen zum Speichern von binären Zahlen mit vierzehn Bitstellen, welche Speicheradressen darstellen. Der Adressenzähler 1 enthält auch vierzehn binäre Stufen; beim Rechnen von aufeinanderfolgenden Adressen präsentiert er normalerweise an seinem
ίο Ausgang eine Adresse, welche um Eins größer ist als die Adresse, die in ihn über Sammelschiene 2 vom P*-Register eingegeben wurde. Signale von der Null- und Eins-Ausgabe jeder Stufe von P* werden fortgesetzt dem Adressenzähler über achtundzwanzig Zuführungen der Sammelschiene 2 zugeführt. Der Befehl P* + 1^P stellt die Ausgabegatter jeder Stufe auf die Einsen-Seite und verursacht so, daß die Adresse P* +1 in das P-Register über die vierzehn Zuführungen der Sammelschiene 3 eingegeben wird.
Wird der Befehl SKIP (Leerbefehl) an den Adressenzähler gegeben, dann werden Schaltungen in dem Zähler in der Weise eingestellt, daß die Ausgabesignale des Zählers eine Adresse repräsentieren, welche um Zwei größer ist als die Adresse, die in P* steht. Diese Adresse wird in das P-Register über Sammelschiene 3 in Abhängigkeit von dem Befehl P*+2 ->· P eingeführt, welcher Ausgabegatter auf der Einsen-Seite jeder Stufe des Zählers schaltfähig macht.
Die Adresse, die in P steht, kann mittels der Sammelschiene 4 zu einem Speicheradressenregister (nicht gezeigt) übertragen werden, um dadurch die Auswahl eines Befehlswortes von dem Speicher zu bewirken.
Nachdem die Adresse von P an das Speicheradressenregister übertragen ist, verursacht ein Befehl P-^ P* die Übertragung der Adresse, die sich in P befindet, über Sammelschiene 5 nach P*. Der Adressenzähler kann entweder 1 oder 2 zu dieser Adresse hinzufügen, um die Adresse der nächsten Instruktion zu erhalten.
Der Paritätsgenerator 6 erzeugt fortlaufend die Parität der Adresse, die sich in dem P-Register befindet. Die Signale, welche die Adresse in P darstellen, werden fortlaufend dem Paritätsgenerator über die Sammelschiene 7 zugeführt, die Ausgabe des Paritätsgenerators wird fortlaufend einer Schaltung 8, welche die Parität der vorhergehenden Adresse speichert, und einer Schaltung 9 angelegt, welche die Parität der vorhergehenden Adresse mit der Parität der gegenwärtigen Adresse vergleicht. Die Ausgabe der Vergleichsschaltung 9 wird auf den Fehleraufdecker 10 über die Zuführung 11 zugeführt. Das Signal auf der Zuführung 11 zeigt an, ob die Parität der gegenwärtigen Adresse im P-Register die gleiche ist oder nicht, wie die Parität der vorhergehende Adresse, die in dem P-Register gehalten wird.
Die Vergleichsschaltung 12 vergleicht die Ausgabe jeder geraden Stufe des P-Registers mit der Ausgabe der entsprechenden geraden Stufe des P*-Registers. Diese vergleichende Schaltung empfängt die Ausgabe von der Einsen-Seite jeder geraden Stufe von P über die Sammelleitung 13 und die Ausgabe von der NuIl-
6g Seite jeder geraden Stufe von P* über die Sammelleitung 14. Wenn wenigstens eine gerade Stufe von P eine binäre Eins enthält und die entsprechende Stufe von P* eine binäre Null enthält, so erzeugt die ver-
gleichende Schaltung 12 ein Ausgabesignal, welches dem Fehleraufdecker 10 zugeführt wird, damit er diesen Umstand anzeigt.
Das Zeitgeberdiagramm der Fig. 6 veranschaulicht die Folge, in welcher Befehle an die Schaltung der F i g. 1 gegeben werden. Diese Befehle werden durch ein Zeitfolge-Steuerglied 15 erzeugt, welches z.B. das Steuerelement einer Rechenanlage oder einer datenverarbeitenden Vorrichtung sein kann. Solche Steuerglieder sind bekannt und bilden keinen Teil der Erfindung, so daß Einzelheiten ihrer Ausbildung nicht gezeigt zu werden brauchen. Ein solches Steuerelement kann beispielsweise die Signale CLP*, P-^P*, CLP sowie P* + 1->P bei jedem Zyklus in Beantwortung des Signals ADD 1 erzeugen.
Wenn ein Leerbefehl durchgeführt wird und der Leerbedingung Rechnung getragen ist, spricht das Steuerglied auf das Signal ADD 2 (LEER) an und erzeugt die Befehle P*+2 -> P und CL P (LEER).
Wenn das Signal SPRING durch das Zeitfolge-Steuerglied empfangen wird, dann erzeugt es den Befehl SPRUNG zusätzlich zu den Befehlen, die es bei Empfang des Signals ADD 1 erzeugt.
Ein Arbeitszyklus der Anordnung schließt sechzehn durch Zeitgeberimpulse von einem Hauptimpulsgenerator bestimmte und MPO bis MPlS bezeichnete Zeitintervalle ein. Der erste Vorgang in jedem ^DDl-Zyklus ist die Übertragung der gegenwärtigen Adresse von dem P-Register zu dem SpeicheradressenregisterALii?, über Sammelleitung 4 zu einer Zeit MPl, so daß, wenn die Instruktion, die laufend durchgeführt wird, vervollständigt ist, die bei dieser Adresse gespeicherte Instruktion aus dem Speicher herausgelesen und zur Eingabe in das Instruktionsregister JR bereit sein wird. Zur Zeit MP 3 löscht der Befehl CLP* das P*-Register in Vorbereitung zum Empfangen der vorliegenden Adresse aus dem P-Register. Im Zeitpunkt MP 4 öffnet der Befehl P—>P* die Gatter an der Ausgabe des P-Registers und erlaubt dadurch die Übertragung der gegenwärtigen Adresse über Sammelleitung 5 nach dem P*-Register. Da diese Adresse nun dem Zweck gedient hat, für den sie erzeugt war, kann sie jetzt als die vorhergehende Adresse betrachtet werden. Der Befehl P-^-P* wirkt auch auf die vorhergehende Paritäts-Speicherschaltung, welche die Parität der Adresse speichert, die von P nach P* übertragen wurde. Im Zeitpunkt MP 5 löscht der Befehl CLP das P-Register in Vorbereitung auf den Empfang der nächsten vorliegenden Adresse. Der Befehl P* + 1->P tritt zur Zeit MP 6 auf und überträgt zu dem P-Register eine Adresse, welche um Eins größer ist als die vorhergehende Adresse, die es enthielt, und welche nun in dem P*-Register enthalten ist. Im Zeitpunkt MPl des nächsten Zyklus kann diese Adresse von P an das Speicheradressenregister MAR übertragen werden, um eine andere Instruktion auszuwählen; damit wird der oben beschriebene Zyklus wiederholt.
Im Zeitpunkt MP 8 werden Gatter in dem Fehleraufdecker 10 durch einen Zeitgeberimpuls (nicht gezeigt) überprüft, und ein Ausgabesignal wird durch den Fehleraufdecker zu dieser Zeit erzeugt, wenn irgendeiner der Fehlerumstände, die in der Tafel II gezeigt werden, vorhanden ist.
Wenn ein Sprungsignal dem Folge-Steuerglied 15 angelegt wird, dann erzeugt es die Befehle CLP*, P-^P*, CLP sowie P* + l-vP in der beschriebenen Folge. Zusätzlich gibt Folgesteuerung 15 einen Sprungbefehl, welcher dem P-Register zugeleitet wird. In der nachstehend beschriebenen Weise löscht der Sprungbefehl das P-Register im ZeitpunktMP2 und ermöglicht im Zeitpukt MP 3 die Überführung der Adresse in dem Instruktionsregister ia das P-Register. Zur Zeit MP 4 wird die Sprungadresse an P* übergeführt, und im Zeitpunkt MP 5 wird das P-Register gelöscht. Im Zeitpunkt MP 6 veranlaßt der Befehl P* +1 -> P den Adressenzähler, den Wert Eins zu der Sprungadresse hinzuzufügen und die neue Adresse in das P-Register einzugeben, wo sie in der Folge zur Auswahl der nächsten Adresse benutzt werden kann.
Das Rechenergebnis der Sprungadresse plus Eins wird in der gleichen Weise geprüft, wie dies in Beantwortung des ADD 1-Signals geschieht. Die ADD 2- oder LEER-Instruktion veranlaßt bei Folgesteuerung 15 zur Erzeugung der Befehle LEER, P*+2-^P und CLP. Dieses sind die einzigen Befehle, die durch die Folgesteuerung 15 während der Rechnung mit einer Adresse, welche um Zwei größer ist als die vorhergehende Adresse, herausgegegeben werden. Die Rechnung verläuft wie folgt:
Die vorhergehende Adresse ist im P*-Register enthalten, da der Befehl CLP* nicht durch die Folgesteuerung erzeugt worden ist. Der Befehl LEER stellt Schaltungen ein, um den Adressenzähler zu veranlassen, an seiner Ausgabe eine Adresse zu präsentieren, welche um den Wert Zwei größer ist als die Adresse in P*. Im Zeitpunkt MP14 gibt die FolgeSteuerung den Befehl CLP ab, um das P-Register zu löschen, und im Zeitpunkt MP15 wird die Adresse, die durch den Adressenzähler erzeugt wurde, an das P-Register übergeführt. Diese Adresse steht dann zur Verfügung, um die nächste Instruktion auszuwählen. Wie noch gezeigt werden wird, werden die Gatter in dem Fehleraufdecker durch einen Zeitgeberimpuls bei MPl überprüft, und ein Fehlersignal wird erzeugt, wenn irgendeiner der Umstände, die auf der Tafel II aufgeführt sind, vorhanden ist; dabei wird angezeigt, daß die gegenwärtige Adresse nicht größer sei als um den Wert Zwei, wie durch das Signal ADD2 gefordert.
Bevor mit der Beschreibung der Einzelheiten der in den F i g. 2 bis 5 gezeigten Schaltungen fortgefahren wird, wird darauf hingewiesen, daß die Erfindung vier Typen von logischen Elementen verwendet, die als NOT(N), NOR(O), Gatter (Z) und Flip-Flop (FF) bezeichnet sind.
Eine iVOJ-Schaltung ist ein Invertierer, der eine einzige Eingabe hat. Ein negatives Eingabesignal verursacht ein positives Ausgangssignal, und ein positives Eingabesignal verursacht ein negatives Ausgabesignal.
Eine ΜλΚ-Schaltung erzeugt ein positives Ausgabesignal, wenn wenigstens eine Eingabe ein negatives Signal empfängt.
Ein Gatter, wie es hier benutzt wird, ist eine Vorrichtung zur Durchführung der negativen UND-Funktion. Alle Eingaben an ein Gatter müssen positiv sein, um ihm zu ermöglichen, ein negatives Ausgangssignal zu erzeugen. Wenn irgendeine Eingabe negativ ist, dann ist die Ausgabe positiv. Ein Flip-Flop ist ein bistabiles Speicherelement, welches Einstell- und Zurücksteil-Eingänge und Einstell- und Zurückstell-Ausgänge hat. Ein negatives Signal, welches als Einstell-Eingabe wirkt, erzeugt
ein positives Signal an der Einstell-Ausgabe, und ein negatives Signal, welches als Rückstell-Eingabe wirkt, erzeugt ein positives Signal an der Rückstell-Ausgabe.
Logische Elemente dieser Art sind durch den Stand der Technik bekannt und werden hier nicht gezeigt. Weiterhin wird in der nachstehenden Beschreibung von den Ausdrücken positiv und negativ in bezug auf Spannungen Gebrauch gemacht. Diese Ausdrücke sollen sich relativ zueinander beziehen und beinhalten nicht notwendigerweise Spannungen, welche positiv und negativ mit Bezug auf Null sind.
Das in Fig. 2 gezeigte P-Register umfaßt vierzehn Stufen, bezeichnet POO bis P13. Nur die ersten zwei und letzten zwei Stufen des Registers sind dargestellt, da alle geraden Nummernstufen und alle ungeraden Nummernstufen identisch sind.
Betrachtet man beispielsweise die Stufe P13 niedriger Ordnung, dann erkannt man, daß jede Stufe ein bistabiler Flip-Flop 200 enthält. Die Flip-Flops 200 werden immer sofort gelöscht, bevor eine Adresse in das Register eingelesen wird. Der Befehl CLP erscheint bei MP 5 eines ADD 1-Zyklus, und der Befehl CLP (LEER) erscheint bei MP14 eines /4DD2-Zyklus. Das positive Signal CLP wird bei 223 invertiert und wieder invertiert bei NOR 206, bevor es NOT207 zugeführt wird. Das positive Signal, CLP (LEER) wird bei wwr invertiert und wieder invertiert bei NOR206, bevor es an NOT207 angelegt wird. Das negative Ausgangssignal von NOT207 wirkt auf die Rückstellseite von jedem Flip-Flop 200.
Es ist auch erforderlich, das P-Register bei einer SPRUNG-Operation zu löschen. Der Befehl SPRUNG wird dem Gatter 208 zugeführt, welches bei MP 2 durch einen Zeitgeberimpuls überprüft wird. Das negative Ausgangssignal von Gatter 208 geht durch NOR206 und NOT207, um die Flip-Flops 200 zurückzustellen.
Eine Adresse wird in das P-Register während der Zeitperiode eingegeben, die der folgt, in welcher das Zurückstellen stattfindet. Während eines ADD 1-Zyklus erscheint die Adresse auf Zuführungen 201 zur Zeit MP 6, und während eines ^[DZ) 2-Zyklus erscheint die Adresse auf den Zuführungen 201 zur Zeit MP15. Die Zuführungen 201 sind mittels Sammelschiene 3 mit Gattern an der Ausgabe des Adressenzählers verbunden. Wie noch gezeigt werden wird, bestimmen die Befehle, die auf diese Gatter wirken, die Zeit, zu welcher eine Adresse auf den Zuführungen 201 erscheint.
Während einer SPRUNG-Instruktion wird die Adresse, zu der gesprungen wird, an P von dem Instruktionsregister zur Zeit MP 3 übergeben. Der Sprungbefehl wirkt auf Gatter 204, welches durch einen Zeitgeberimpuls bei MP 3 überprüft wird. Die negative Ausgabe von 204 wird bei 225 invertiert und wirkt auf Gatter 205. Wenn irgendeine Zuführung 202 positiv ist und dadurch eine binäre Eins in einer gegebenen Stufe des Instruktionsregisters anzeigt, so erzeugt das entsprechende Gatter 205 ein negatives Ausgangssignal, um das dazugehörige Flip-Flop 200 einzustellen.
Wenn das Flip-Flop 200 eingestellt ist, bedingt ein positiver Ausgang von der Einsen-Seite eine Eingabe der Gatter 209 und 210. Wenn es gewünscht ist, die Adresse in dem P-Register an das Speicheradressenregister zu übergeben, um die Auswahl einer Instruktion durchzuführen, erscheint ein Befehl PMAR auf der Zuführung 200 zur Zeit MPl. Dieser Befehl bedingt eine zweite Eingabe jedes Gatters 209 und überträgt dadurch die Adresse in P zu der Sammelschiene 4.
Die Adresse in P wird an P* zum Zeitpunkt MP 4 jedes Zyklus übergeben, in welchem es erwünscht ist, den Wert EINS zu der vorhergehenden Adresse hinzuzufügen. Der Befehl P -> P* erscheint auf der
ίο Zuführung 221 zu dieser Zeit und bedingt dadurch eine Eingabe an jedem der Gatter 210, und jedes dieser Gatter erzeugt ein negatives Ausgabesignal, wenn ein entsprechendes Flip-Flop 200 eine binäre Eins enthält. Eine negative Ausgabe von Gatter 210 stellt die entsprechende Stufe des P*-Registers über die Zuführung 227 ein.
Die Ausgabe des P-Registers wird fortlaufend dem Paritätsgenerator 6 über Sammelschiene 7 zugeführt. Wenn ein Flip-Flop 200 eine binäre Eins enthält, so ist die Zuführung 211 positiv und die Zuführung 213 negativ. Wenn Flip-Flop 200 eine binäre Null enthält, dann ist die Zuführung 211 negativ und die Zuführung 213 positiv.
Die Stufen gerader Ordnung des P-Registers enthalten eine zusätzliche Ausgabezuführung 222, die in den ungeraden Stufen nicht zu finden ist. Diese Zuführungen sind von der Einsen-Seite des Flip-Flops 200 in jeder geraden Stufe abgenommen und mit der vergleichenden Schaltung 12 über Sammelschiene 13 verbunden.
Das P*-Register umfaßt ebenfalls vierzehn Stufen, von denen jede ein Flip-Flop 230 hat, welches ansprechend auf ein negatives Ausgangssignal von Gatter 210 des P-Registers eingestellt werden kann.
Ein CLP*-Befehl, ausgesandt durch das Steuerelement 15 während eines ADD 1-Zyklus, stellt jedes der Flip-Flops in dem P*-Register zurück. Jede Stufe hat eine Ausgabe von sowohl der Null-Seite als auch der Eins-Seite des Flip-Flops, und die Signale, die auf diesen Zuführungen erscheinen, werden fortlaufend dem Adressenzähler über Zuführungen 301 und 302 der Sammelschiene 2 zugeführt. Zusätzlich hat jede der geraden Stufen des P*-Registers eine zusätzliche Ausgabezuführung 215, welche von der Rückstellseite des Flip-Flops kommt. Diese Zuführungen sind mit der Vergleichseinheit 12 über Sammelschiene 14 verbunden.
Der in Fig. 3 gezeigte Adressenzähler umfaßt vierzehn Stufen, bezeichnet 00 bis 13. Stufe 00 ist die Stufe hoher Ordnung. Stufe 13 enthält den Programm-Adressenzähler (PAC) ADDFF zur Steuerung der Addition der Werte Eins oder Zwei zu dem Wert, der dem Zähler von dem P*-Register zugeführt würde. Jede Stufe des Zählers hat eine erste Eingabezuführung 301, verbunden mit der Null-Ausgabe des Flip-Flops in der entsprechenden Stufe des P*-Registers, und eine zweite Eingabezuführung 302, verbunden mit der Einsen-Ausgabe des Flip-Flops in der entsprechenden Stufe des P*-Registers. Die Ausgäbe des P*-Registers wird ständig dem Adressenzähler über die Zuführungen 301 und 302 zugeführt. Der Wert in dem Zähler wird um 1 oder 2 erhöht, je nachdem, ob es erwünscht ist, die nächstfolgende Adresse zu bearbeiten, oder eine Adresse, welche um Zwei größer ist als die vorhergehende Adresse.
Stufe 13 enthält ein »Nullen«-Eingabegatter 303 und ein »Einsen«-Eingabegatter 304. Gatter 303 wird durch gleichzeitiges Auftreten von positiven Signalen
I 185 404
ίο
in der Zuführung 301 von dem P*-Register und Zuführung 305 von der Nullen-Seite des PACADDFF eingestellt. Gatter 304 wird durch gleichzeitiges Auftreten von positiven Signalen in der Zuführung 302 von dem /''"-Register und in der Zuführung 306 von der Einsen-Seite des PACADDFF eingestellt. Die Ausgänge von 303 und 304 wirken auf das Herauslesegatter 308 durch die iVOi?-Schaltung 307.
Das PACADDFF wird bei MPl durch einen Zeitgeberimpuls zurückgestellt, welcher der Rückstelleingabe durch NOT309 zugeleitet wird. Wenn zurückgestellt, verursacht das PACADDFF, das der Wert Eins zu dem Wert hinzugefügt wird, welcher in den Zähler von P* eingegeben wurde.
Es sei angenommen, daß P* 13 in einem Augenblick eine Null enthält und das PADADDFF zurückgestellt ist und dadurch anzeigt, daß der Wert Eins hinzugefügt werden muß. Die binäre Summe von 0 + 1 = 1, so daß P13 eingestellt werden sollte. Da beide Eingabeleitungen positiv sind, erzeugt das Gatter 303 ein negatives Ausgabesignal, welches bei 307 invertiert wird und an das Herauslesegatter 308 angelegt wird. Bei MP6 geht der Befehl P* +1 -»- P durch NOR 310, um die zweite Eingabe für 308 zu bewirken. Mit beiden Eingaben ist das Herauslesegatter 308 in die Lage gesetzt, ein negatives Signal auf Zuführung 201 zu erzeugen. Dieses Signal wirkt auf die Einstelleingabe des Flip-Flops in Stufe 13 des P-Registers.
Wenn andererseits P* 13 eine Eins enthält und das PACADDFF zurückgestellt ist, dann sollte P13 nicht eingestellt werden, da 1 + 1 = 0 mit einem Übertrag von Eins. Das negative Signal auf Zuführung 301 blockiert Gatter 303, und das negative Signal von der Einsen-Seite von dem PADACCFF blockiert Gatter 304. Sind beide Gatter 303 und 304 blockiert, dann erzeugt NOR307 ein negatives Aüsgangssignal, um das Herauslesegatter 308 zu blockieren.
Das PACADDFF wird eingestellt, um den Wert Zwei zu dem Wert hinzuzufügen, welcher dem Adressenzähler von P* zugeführt ist. Der Befehl LEER, welcher auf Zuführung 311 erscheint, ergibt eine Eingabe für Gatter 312. Bei MP9 verursacht ein Zeitgeberimpuls, der als zweite Eingabe auf Zuführung 313, das Gatter 312 ein negatives Ausgabesignal erzeugt, um das PACADDFF einzustellen.
Wenn der Wert Zwei zu dem Wert in P* hinzugefügt ist, wechselt die Niedrig-Ordnungslage nicht. Wenn P* 13 eingestellt ist, sollte daher P13 eingestellt werden, und wenn P* 13 zurückgestellt ist, sollte P13 nicht eingestellt werden.
Wenn das PACADDFF eingestellt ist, blockiert das Signal auf Zuführung 305 das Gatter 303, und das Signal auf Zuführung 306 ist eine Eingabe für Gatter 304. Enthält P* 13 eine Eins, so ist die zweite Eingabe für 304 gegeben. Das Gatter 304 erzeugt ein negatives Ausgangssignal, welches bei 307 invertiert wird und auf das Herauslesegatter 308 wirkt. Bei MP15 liefert der Befehl P*+2 die zweite Eingabe für 308, und die dadurch resultierende negative Spannung auf Zuführung 201 stellt P13 ein.
Wenn P* 13 eine Null enthält, dann ist Zuführung 302 negativ und blockiert Gatter 304, Sind beide Gatter 303 und 304 blockiert, dann blockiert die Ausgabe von 307 das Herauslesegatter 308, um P13 daran zu hindern, eingestellt zu werden.
Es gibt immer einen Übertrag von Stufe 13, wenn der Wert Zwei hinzugefügt wird. Weiterhin gibt es einen Übertrag von Stufe 13, wenn P* 13 eine binäre Eins enthält und entweder Eins oder Zwei hinzugefügt wird. Das Übertragungsgatter 314 ist vorgesehen, um Überträge von Stufe 13 den höheren Stufen zuzuführen.
Das Übertragsgatter 314 hat eine Eingabe, die über Zuführung 301 mit der Rückstellseite von dem
ίο FF in Stufe 13 von P* verbunden ist, und eine zweite Eingabe, die durch Zuführung 305 mit der Rückstellausgabe von dem PACADDFF verbunden ist. Wenn der Wert Zwei hinzuzufügen ist, ist Zuführung 305 negativ, und wenn P* 13 eine binäre Eins enthält, ist Zuführung 301 negativ. Ein negatives Signal auf einer dieser Zuführungen blockiert das Übertragsgatter und veranlaßt es, ein positives Übertragssignal zu erzeugen.
Stufen 00 bis 12 sind einander ähnlich, und ebenso wie Stufe 13 enthält jede ein »Nullen«-Eingabegatter 303, ein »Einsen«-Eingabegatter 304, eine NOR-Schaltung 307 und ein Herauslesegatter 308. Zusätzlich umfaßt jede der Stufen 00 bis 12 ein Ubertragseingabegatter 315, dessen Ausgabe mit dem Gatter
as 304 verbunden ist. Die Ausgabe von 315 ist auch mit Gatter 303 durch die iVOT-Schaltung 316 verbunden.
Um die Geschwindigkeit der Durchführung des Übertrags zu erhöhen, ist der Adressenzähler in vier Übertragsgruppen eingeteilt. Gruppe I umfaßt die Stufen 10 bis 13, Gruppe II umfaßt die Stufen 6 bis 9, Gruppe III umfaßt die Stufen 2 bis 5 und Gruppe IV umfaßt die zwei Stufen 00 und 01 hoher Ordnung.
Jede Stufe der Gruppe I hat eine Eingabezuführung 301, verbunden mit der Null-Seite des Flip-Flops in der entsprechenden Stufe von P*. Das Signal in Zuführung 301 für Stufe 12 wird bei 317 invertiert und wirkt auf das Ubertragsgatter 315 in Stufe 11 und 10 und das Gruppen-Übertragsgätter 318. Das Signal auf Zuführung 301 für Stufe 11 wird bei 319 invertiert und wirkt auf das Übertragsgatter 315 von Stufe 10 und das Gruppen-Übertragsgatter 318.
Jeglicher Übertrag, der von Gatter 314 erzeugt wird, wird in die Stufe niedrigster Ordnung der Gruppe eingegeben, welche den Übertrag absorbieren kann. Der Übertrag tritt in diejenige Stufe niedrigster Ordnung ein, in welcher die Eingabe von P* Null ist, wie dies durch ein positives Signal auf der Zuführung 301 angezeigt wird.
Es sei z. B. angenommen, daß in P* 11 und P* 12 binäre Einsen enthalten sind und Stufe 13 des Zählers einen Übertrag durch Gatter 314 liefert. PlO sollte eingestellt werden, und Pll und P12 sollten nicht durch das Herauslesegatter 308 eingestellt werden.
Die Gatter 303 in Stufen 11 und 12 werden durch negative Signale auf Zuführungen 301 von P* 11 und P* 12 blockiert. Das negative Signal auf Zuführung 301 von P* 12 wird bei 317 invertiert, um eine Eingabe für Ubertragseingabegatter 315 in Stufen 10 und
11 zu liefern. Das negative Signal auf Zuführung 301 von P* 11 wird bei 319 invertiert und ergibt eine zweite Eingabe für das Übertragsgatter in Stufe 10. Das Übertragssignal von 314 verursacht, daß die Ausgaben der Übertragsgatter in Stufen 10T 11 und
12 negativ werden und damit die Gatter 304 in allen
409 768/332
drei Stufen blockieren und eine Eingabe für Gatter 303 ermöglichen.
Da die Gatter 303 von Stufen 11 und 12 durch die Ausgabe von P* blockiert sind, sind die Herauslesegatter 308 für diese Stufen nicht eingestellt. Jedoch ist Gatter 303 von Stufe 10 durch die »Null«- Ausgabe von P* 10 eingestellt; somit ist das Herauslesegatter 308 dieser Stufe vorbereitet, wenn der Befehl P* +1 oder P*+2 erscheint.
Wenn P* 10 auch eine binäre Eins enthalten hätte, dann könnte Gruppe I den Übertrag nicht aufnehmen. Zuführung 302 von P* 10 blockiert Gatter 304, so daß das Herauslesegatter von Stufe 10 nicht eingestellt ist. Wenn P* 10,11 und 12 alle binäre Einsen enthalten, erzeugt das Gruppen-Übertragsgatter 318 ein Gruppen-I-Ubertragssignal, welches bei 320 invertiert wird und über Zuführung 321 auf die Übertragsgatter 315 in jeder Stufe höherer Ordnung wirkt. Zusätzlich wird das negative Signal in Zuführung 310 von P* 10 bei 322 invertiert und als Gruppe-I-Übertrags-Befähigungssignal über Zuführung 323 an die Übertragsgatter 315 und das Gruppen-Übertragsgatter 318 der Gruppe II nächsthöherer Ordnung angelegt. Demgemäß wird jeglicher Übertrag, welcher durch Gruppe I nicht aufgenommen werden kann, sofort an Gruppe II gegeben. Wenn Gruppe II den Übertrag nicht aufnehmen kann, erzeugt ihr Gruppen-Ubertragsgatter 318 sofort ein Gruppen-II-Übertragssignal. Dieses Signal erscheint auf der Zuführung 324 in F i g. 3 a. Wenn schließlich Gruppen I, II und III ein Übertragssignal nicht aufnehmen können, sind alle Eingaben des Gruppen-III-Übertragsgatters 318 (Fig. 3a) positiv, und ein Gruppen-III-Übertragssignal wird dem Übertrags-Eingabegatter der Stufen 00 und 01 zugeführt.
Der in F i g. 4 gezeigte Paritätsgenerator 6 bestimmt laufend die Parität der Nummer in dem P-Register. Wenn Bit 00 in dem P-Register eine binäre Eins ist und Bit 01 in dem P-Register eine binäre Null ist, dann erzeugt das Gatter 100 eine negative Ausgabe, welche bei NOR 102 invertiert wird, um ein positives Signal zu erzeugen, welches anzeigt, daß die Nummer der binären Einsen in Stufen P 00 und POl ungerade ist. Wenn andererseits Bit 00 in dem P-Register eine binäre 0 ist und Bit 01 eine binäre Eins ist, erzeugt Gatter 101 ein negatives Ausgabesignal, welches durch NOR 102 invertiert wird. NOR102 erzeugt ein positives Ausgabesignal, wenn die Nummer der binären Einsen in POO und POl ungerade ist. In gleicher Weise erzeugt NOR103 eine positive Ausgabe, wenn die Nummer der binären Einsen in den Stufen P 02 und P 03 ungerade ist. NOR 104 erzeugt ein positives Ausgabesignal, wenn die Anzahl der binären Einsen in den StufenP04 und P05 ungerade ist, NORlOS erzeugt ein positives Ausgabesignal, wenn die Anzahl der binären Einsen in Stufen P 06 und P 07 ungerade ist, NOR106 erzeugt ein positives Ausgabesignal, wenn die Anzahl der binären Einsen in Stufen P 08 und P 09 ungerade ist. NOR107 erzeugt ein positives Ausgabesignal, wenn die Anzahl der binären Einsen in Stufen P10 und Pll ungerade ist, und MXR108 erzeugt ein positives Ausgabesignal, wenn die Anzahl der binären Einsen in Stufen P12 und P13 ungerade ist.
Die Ausgabe von NOR 103 ist mit Λ^ΟΓ109 und Gatter 110 verbunden. Die Ausgabe von NOR 104 ist mit NOT 111 und Gatter 112 verbunden. Wenn die Ausgabe von NOR103 positiv und die Ausgabe von NOR 104 negativ ist, dann ist Gatter 110 in die Lage gesetzt, ein Ausgabesignal zu erzeugen, welches auf NOR 113 wirkt. Wenn die Ausgabe von NOR 103 negativ und die Ausgabe von NOR 104 positiv ist, dann ist Gatter 112 in die Lage gesetzt, ein negatives Ausgabesignal zu erzeugen, welches auf JVOi? 113 wirkt. NOR113 erzeugt daher ein positives Ausgangesignal, wenn in den Stufen P 02 bis P 05 eine
ίο ungerade Anzahl von binären Einsen vorhanden ist.
In gleicher Weise erzeugt NOR 114 ein positives
Ausgangssignal, wenn die Anzahl von binären Einsen in StufenP06 bis P09 ungerade ist, und NORUS erzeugt ein positives Ausgangssignal, wenn die Anzahl von binären Einsen in Stufen P10 bis P13 ungerade ist.
Die Ausgabe von NOR 114 ist mit JVOT116 und Gatter 117 verbunden. Die Ausgabe von NORIlS ist mit NOT 118 und Gatter 119 verbunden. Wenn die Ausgabe von NOR 114 positiv ist und die Ausgabe von NORUS negativ ist, dann ist Gatter 117 in die Lage versetzt, ein Ausgabesignal zu erzeugen, welches auf NOR 120 wirkt. Wenn die Ausgabe von NOR 114 negativ und die Ausgabe von NOR115 positiv ist, dann ist Gatter 119 in die Lage versetzt, ein negatives Ausgangssignal zu erzeugen, welches auf NOR120 wirkt; deshalb ist die Ausgabe von NOR 120 positiv, wenn eine ungerade Anzahl von binären Einsen in Stufen P 06 bis P13 vorhanden ist.
In gleicher Weise erzeugt NOR 121 ein positives Ausgangssignal, wenn die Anzahl von binären Einsen in Stufen P 00 bis P 05 ungerade ist.
Die Ausgabe von NOR121 ist mit NOT122 und Gatter 123 verbunden. Die Ausgabe von NOR 120 ist mit NOT 124 und Gatter 125 verbunden. Wenn die Ausgabe von NOR 120 positiv ist und die Ausgabe von NOR121 negativ ist, dann ist Gatter 125 in der Lage, ein Ausgabesignal zu erzeugen, welches auf NOR126 wirkt. Wenn die Ausgabe von NOR 120 negativ ist und die Ausgabe von NOR 121 positiv ist, dann ist Gatter 123 in der Lage, ein negatives Ausgabesignal zu erzeugen, welches auf NOR 126 wirkt. Deshalb erzeugt iV0.R126 ein positives Ausgangssignal, wenn die Anzahl der binären Einsen in Stufen P 00 bis P13 ungerade ist, und erzeugt ein negatives Ausgangssignal, wenn die Zahl der binären Einsen in Stufen P 00 bis P13 gerade ist. Anders gesagt, NOR126 erzeugt ein positives Ausgabesignal, wenn die Parität von dem P-Register ungerade ist, und erzeugt ein negatives Ausgabesignal, wenn die Parität von dem P-Register gerade ist.
Das Ausgabesignal von dem Paritätsgenerator 6 wirkt auf die vorhergehende Speicherschaltung 8 der vorhergegangenen Parität und auf die Paritätsvergleichssohaltung9 (Fig. 5). Wenn die Parität des P-Registers ungerade ist, dann bildet das positive Signal in Zuführung 139 eine Eingabe für Gatter 140 und eine Eingabe für Gatter 141. Wenn die Parität der Adresse in dem P-Register gerade ist, dann wird das negative Signal, welches in Zuführung 139 erscheint, bei 142 invertiert und bildet eine Eingabe für Gatter 143 und eine Eingabe für Gatter 144. Wenn zur Zeit MP 4 die Inhalte des P-Registers nach P* übertragen werden, dann legt das Folge-Steuerelement 15 den Befehl P ^ P* an die Zuführung 145, um die zweite Eingabe für die Gatter 140 und 143 zu bilden. Da im Zeitpunkt MPl der Inhalt des P-Registers auf das Speicheradressenregister über-
tragen war, um die nächste Instruktion auszuwählen, hat er seinem primären Zweck gedient; er kann jetzt als die vorhergehende Instruktionsadresse bezeichnet werden. Wenn daher die vorhergehende Instruktion auf das P*-Register übertragen ist, dann wirkt der Befehl P -> P* auf die Gatter 140 und 143, um ein Kennzeichen der Parität der vorhergehenden Adresse zu speichern. In dieser Parität ungerade; dann wird Gatter 140 in die Lage versetzt, das Flip-Flop 190 der vorhergehenden Parität zurückzustellen. Ist andererseits die Parität der vorhergehenden Adresse gerade, dann wird Gitter 143 in die Lage versetzt, das Flip-Flop 190 der vorhergehenden Parität einzustellen.
Gatter 141 und 144 vergleichen die Parität der gegenwärtigen Adresse mit der der vorhergehenden Adresse. Wie erwähnt, wurde die Parität der vorhergehenden Adresse in dem Flip-Flop 190 der vorhergehenden Parität zur Zeit MP 4 gespeichert, zu welcher die vorhergehende Instruktion an das P*-Register in Vorbereitung der Bearbeitung der nächsten Instruktionsadresse übergeben war. Zur Zeit MP 6 wurde diese nächste Instruktion bearbeitet und in dem P-Register gespeichert, und ein Kennzeichen der Parität dieser Adresse erscheint auf der Zuführung 139. Wenn die Parität von der vorhergehenden Adresse ungerade ist, erzeugt das Flip-Flop 190 der vorhergehenden Parität ein positives Signal auf Zuführung 146, um eine Eingabe für Gatter 141 zu bilden. Wenn die Parität der gegenwärtigen Adresse auch ungerade ist, dann bildet das positive Signal auf Zuführung 139 die zweite Eingabe für Gatter 141 und verursacht dadurch ein Ausgabesignal, welches durch NOR 147 auf Gatter 136 und 137 wirkt. Die Ausgabe von NOR147 wird bei 148 invertiert und wirkt auf Gatter 135 und 138.
Wenn die Parität der vorhergehenden Instruktionsadresse gerade ist, dann bewirkt das Flip-Flop 190 der vorhergehenden Parität eine Eingabe für Gatter 144. Wenn die Parität der gegenwärtigen Instruktionsadresse gerade ist, dann wird das negative Signal bei Zuführung 139 bei 142 invertiert und bewirkt die zweite Eingabe für Gatter 144. Die Ausgabe von Gatter 144 ist auch durch NOR 147 an Gatter 135 bei 138 geleitet.
Es sollte bemerkt werden, daß das Signal, welches auf Zuführung 149 erscheint, wenn die Parität der vorhergehenden Adresse ungerade und die Parität der gegenwärtigen Adresse ungerade sind oder wenn die Parität von der vorhergehenden Adresse gerade und die Parität der vorliegenden Adresse gerade sind, positiv ist und dadurch die Gatter 136 und 137 einstellt. Wenn die Parität der gegenwärtigen Adresse nicht die gleiche ist wie die Parität von der vorhergehenden Adresse, dann ist das Signal, welches auf Zuführung 149 erscheint, negativ, und dieses Signal wird bei 148 invertiert, um eine Eingabe für Gatter 135 und 138 zu bewirken.
Die ebenfalls in F i g. 5 gezeigte Vergleichsschaltung 12 umfaßt sieben Gatter 127 bis 133 entsprechend der sieben Ordnungsstufen von P und P*. Jedes Gatter bestimmt, ob oder nicht eine gegebene Stufe des P*-Registers Null ist und die entsprechende Stufe des P-Registers Eins ist. Wenn POO eine binäre Eins enthält und P* 00 eine binäre Null enthält, dann sind beide Eingaben für Gatter 127 positiv. Die negative Ausgabe von Gatter 127 wird durch NOR134 invertiert, um das positive Ausgabesignal P*nPn zu erzeugen und dadurch anzuzeigen, daß wenigstens ein Paar von entsprechenden geraden Bits von P* und P Null bzw. Eins sind.
Das Ausgabesignal der Vergleichsschaltung 12 wirkt auf Gatter 135, 136, 137 und 138 in dem Fehleraufdecker 10. Der Fehleraufdecker spricht auf Signale der Vergleichsschaltung 12, der Paritätsschaltung 9 und die Befehle P* + l-> P oder P*+2 -»- P an, um anzuzeigen, daß ein Fehler in
ίο der Rechnung der vorliegenden Adresse gemacht worden ist.
Das Fehler-FF150 erzeugt eine Fehleranzeige im Zeitpunkt Γ 8 desjenigen Zyklus, in welchem die vorliegende Adresse berechnet wird, wenn die gegenwärtige Adresse größer sein sollte als die vorhergehende Adresse und in der Rechnung ein Fehler gemacht worden ist. Andererseits wird das Fehler- FF bei MPl desjenigen Zyklus, der dem Zyklus folgt, in welchem die gegenwärtige Adresse gerech-
ao net wird, eingestellt werden, wenn die gegenwärtige Adresse um Zwei größer sein muß als die vorhergehende Adresse und ein Fehler in der Rechnung gemacht worden ist.
Soll die gegenwärtige Adresse Eins größer sein als die vorhergehende Adresse, so gibt das Folgesteuerelement 15 den Befehl P* + 1-*- P zur Zeit MP 6 heraus, um den Folge-Adressenprüfer FF191 einzustellen. Die Ausgabe von der Einstellseite dieses Flip-Flops 191 bewirkt eine Eingabe für Gatter
151. Zu MP 8 wird ein Zeitgeberimpuls auf den zweiten Eingang von 151 gelegt; wenn der Folge-Adressen-Fehlerprüfer FF191eingestellt ist, bewirkt die positive Ausgabe von 2V0T152 eine Eingabe für jedes der Gatter 135 und 137. Deshalb wird Gatter 135 das Fehler-FF150 zum Zeitpunkt MP 8 einstellen, wenn der Folge-Adressen-Fehlerprüfer FF191 eingestellt ist, die Parität von der vorhergehenden Adresse nicht die gleiche ist wie die Parität von der vorliegenden Adresse und wenigstens ein Paar von entsprechenden geraden Bits von P* und P Null bzw. Eins sind. Gatter 137 stellt das Fehler-FF150 im Zeitpunkt MP 8 ein, wenn Folge-Adressen-Fehlerprüf-FF191 eingestellt ist, die Parität von der vorhergehenden Adresse die gleiche ist wie die Parität von der vorliegenden Adresse und keine entsprechenden geraden Bits von P* und P Null bzw. Eins sind. Wenn der Programmzähler eine vorliegende Adresse berechnet, welche um den Wert Zwei größer ist als die vorhergehende Adresse, dann gibt Folge-Steuerelement 15 den Befehl P+2-yP zur Zeit MP15 ab. Dieses Signal stellt das P*+2-Fehlerprüf-FF192 ein, dessen Ausgang von der Einstellweite mit Gatter 153 verbunden ist. Der Folge-Adressen-Fehlerprüf-FF191 wird durch einen negativen Impuls zur Zeit MP 9 zurückgestellt, und die Ausgabe von der rückgestellten Seite dieses Flip-Flops bewirkt eine zweite Eingabe für 153. Zur Zeit MPl geht deshalb der Zeitgeberimpuls, welcher an den dritten Eingang von 153 angelegt wird, durch diesen Kreis, wird bei 154 invertiert und wirkt auf Gatter 136 und 138.
Gatter 136 stellt das Fehler-FF 150 im Zeitpunkt MPl ein, wenn die gegenwärtige Adresse um Zwei größer sein sollte als die vorhergehende Adresse, die Parität der vorliegenden Adresse die gleiche ist wie die Parität der vorhergehenden Adresse und wenigstens ein Paar von entsprechenden geraden Bits von P* und P Null bzw. Eins sind. Gatter 138 stellt das
Fehler-FF im Zeitpunkt MPl ein, wenn die gegenwärtige Adresse um Zwei größer sein sollte als die vorhergehende Adresse, die Parität der gegenwärtigen Adresse nicht die gleiche ist wie die Parität der vorhergehenden Adresse und keine entsprechenden geraden Bits von P* und P Null bzw. Eins sind.
Die Ausgabe des Fehler-FF150 kann einen Alarm auslösen, die Rechenanlage anhalten oder ein Programm für die Fehlerbeseitigung einleiten.

Claims (7)

Patentansprüche:
1. Fehlerermitthmgsanlage für datenverarbeitende Maschinen, insbesondere zur Überwachung eines Instruktionszählers in einer solchen Maschine, wobei gesteuert von einer Folgekontrolleinrichtung eine in ein Adressenregister eingegebene Adresse unter Hinzufügung eines Wertes, z. B. 1 oder 2, in den Instruktionszähler eingelesen wird, um eine neue Adresse zu gewinnen, gekennzeichnet durch eine Paritätsvergleichsvorrichtung (9), welchedieParitätder Adresse im Adressenregister (P) und die gespeicherte Parität der vorhergehenden Adresse vergleicht, und eine Vergleichseinrichtung (12), welche die Folge der Werte von korrespondierenden Bits in der alten und neuen Adresse feststellt, und eine Fehlerermittlungseinrichtung (IQ), welche an die Ausgänge der Paritätsvergleichsvarrichtung (9) und der Vergleichseinrichtung (12) sowie der Folgekontrolleinrichtung (15) angeschlossen ist, um ein Fehlersignal zu erzeugen, wenn die neue Adresse nicht um den von der FolgekontroU-einrichtung (15) befohlenen Wert von der alten Adresse abweicht.
2. Fehlerermittlungsanlage nach Anspruch 1, dadurch gekennzeichnet, daß die Vergleichseinrichtung (12) die Folge der Werte aller geraden Bits in der alten und neuen Adresse vergleicht.
3. Fehlerermittlungsanlage nach Anspruch 1, dadurch gekennzeichnet, daß die Fehlerermitt-
fangeinrichtung aus Und-Toren (127 bis 133) gebildet wird, deren Eingänge an das Adressenregister (P) und an ein Register (P*) zur Speicherung der vorhergehenden Adresse angeschlossen sind, sowie einem Oder-Tor (134), dem die Ausgänge der Und-Tore zugeführt werden.
4. Fehlerermittlungsanlage nach Anspruch 1, gekennzeichnet durch ein Flip-Flop (190) zur Speicherung der Parität der vorangehenden Adresse.
5. Fehlerermittlungsanlage nach Ansprüchen 1 und 4, dadurch gekennzeichnet, daß die Paritätsvergleichsvorrichtung (9) aus zwei Und-Toren (141 und 144) besteht, von denen je ein Eingang an einen Ausgang des Flip-Flops (190) zur Speicherung der vorangehenden Adresse angeschlossen ist, währenddem ein anderer Eingang dieser Und-Tore an einen nichtinvertierten bzw. an einen invertierten Ausgang einer Paritätserzeugungsvorrichtung (6) angeschlossen ist.
6. Fehlerermittlungsanlage nach Anspruch 1, dadurch gekennzeichnet, daß die Fehlerermittlungseinrichtung (10) Flip-Flops (191, 192) enthält, von denen, je nachdem, ob die Adresse um den Wert 1 oder 2 vergrößert wird, der eine oder der andere wirksam wird.
7. Fehlerermittlungsanlage nach Anspruch 1 und 6, dadurch gekennzeichnet, daß die Fehlerermittlungseinrichtung (10) eine Schaltungsanordnung aus Und-Toren umfaßt, welcher die Ausgänge, der Paritätsvergleichseinrichtung (9) und der Vergleichseinrichtung (12) sowie der beiden Flip-Flops (191, 192) zugeführt werden, und welche beim Feststellen eines Fehlers bewirkt, daß ein Fehler Flip-Flop (150) aufgezogen wird.
In Betracht gezogene Druckschriften: Buch von C. C.Gotlieb und S.N. P.Hume, »High Speed Data Processing«, New York 1958, 4Q S. 155 bis 163.
Hierzu 2 Blatt Zeichnungen
409 768ß32 1.65 © Bundesdruckerei Berlin
DES80856A 1961-08-22 1962-08-10 Fehlerermittlungsanlage Pending DE1185404B (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US133168A US3192362A (en) 1961-08-22 1961-08-22 Instruction counter with sequential address checking means

Publications (1)

Publication Number Publication Date
DE1185404B true DE1185404B (de) 1965-01-14

Family

ID=22457324

Family Applications (1)

Application Number Title Priority Date Filing Date
DES80856A Pending DE1185404B (de) 1961-08-22 1962-08-10 Fehlerermittlungsanlage

Country Status (5)

Country Link
US (1) US3192362A (de)
CH (1) CH416163A (de)
DE (1) DE1185404B (de)
GB (1) GB940523A (de)
NL (1) NL282320A (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3396371A (en) * 1964-09-29 1968-08-06 Ibm Controller for data processing system
US3536902A (en) * 1969-04-15 1970-10-27 Automatic Elect Lab Sequence step check circuit
DE2533995A1 (de) * 1975-07-30 1977-02-17 Bodenseewerk Geraetetech Vorrichtung zur ueberwachung eines digitalen flugreglers
US4744092A (en) * 1985-07-05 1988-05-10 Paradyne Corporation Transparent error detection in half duplex modems
US5241547A (en) * 1987-08-31 1993-08-31 Unisys Corporation Enhanced error detection scheme for instruction address sequencing of control store structure
WO1989002125A1 (en) * 1987-08-31 1989-03-09 Unisys Corporation Error detection system for instruction address sequencing
US5107507A (en) * 1988-05-26 1992-04-21 International Business Machines Bidirectional buffer with latch and parity capability
US4989207A (en) * 1988-11-23 1991-01-29 John Fluke Mfg. Co., Inc. Automatic verification of kernel circuitry based on analysis of memory accesses
US5586253A (en) * 1994-12-15 1996-12-17 Stratus Computer Method and apparatus for validating I/O addresses in a fault-tolerant computer system
US6687851B1 (en) 2000-04-13 2004-02-03 Stratus Technologies Bermuda Ltd. Method and system for upgrading fault-tolerant systems
US6820213B1 (en) 2000-04-13 2004-11-16 Stratus Technologies Bermuda, Ltd. Fault-tolerant computer system with voter delay buffer
US6691225B1 (en) 2000-04-14 2004-02-10 Stratus Technologies Bermuda Ltd. Method and apparatus for deterministically booting a computer system having redundant components
US7065672B2 (en) 2001-03-28 2006-06-20 Stratus Technologies Bermuda Ltd. Apparatus and methods for fault-tolerant computing using a switching fabric
US6928583B2 (en) * 2001-04-11 2005-08-09 Stratus Technologies Bermuda Ltd. Apparatus and method for two computing elements in a fault-tolerant server to execute instructions in lockstep

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE24447E (en) * 1949-04-27 1958-03-25 Diagnostic information monitoring
US2919854A (en) * 1954-12-06 1960-01-05 Hughes Aircraft Co Electronic modulo error detecting system
US3098994A (en) * 1956-10-26 1963-07-23 Itt Self checking digital computer system
BE564920A (de) * 1956-11-09

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
None *

Also Published As

Publication number Publication date
US3192362A (en) 1965-06-29
NL282320A (de)
GB940523A (en) 1963-10-30
CH416163A (de) 1966-06-30

Similar Documents

Publication Publication Date Title
DE2619159C2 (de) Fehlererkennungs- und Korrektureinrichtung
DE2418653C3 (de) Vorrichtung zum Anzeigen eines Extremwertes einer Folge von Digitalwerten
DE1108953B (de) Anordnung zum Vergleich von Datenworten mit einem Pruefwort
DE2614000A1 (de) Einrichtung zur diagnose von funktionseinheiten
DE2712224A1 (de) Datenverarbeitungsanlage
DE2311220A1 (de) Digital-informations-verarbeitungsvorrichtung zur zeichenerkennung
DE1185404B (de) Fehlerermittlungsanlage
DE1181460B (de) Elektronische Zifferrechenmaschine
DE1249926B (de) Einrichtung zum Umadressieren fehlerhafter Speicherstellen eines beliebig zuganglichen Hauptspeichers in einer Datenverarbeitungsanlage
DE2210325A1 (de) Datenverarbeitungssystem
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
DE2722124A1 (de) Anordnung zum feststellen des prioritaetsranges in einem dv-system
DE1474062B2 (de) Datenverarbeitungsanlage mit einer anzahl von pufferspeichern
DE1197650B (de) Parallel-Addierer
DE2536625C2 (de) Paritätsprüfschaltung für ein binär zählendes Register
DE1909090C3 (de) Schutzeinrichtung für den Arbeitsspeicher einer Rechenanlage
DE1260532B (de) Speicher mit Kenn-Wert-Aufruf
EP0031025B1 (de) Fehlererkennungs- und -korrektureinrichtung für eine logische Anordnung
DE2454745A1 (de) Binaerzaehler mit fehlererkennung und korrektur voruebergehender fehler
DE1499286B2 (de) Datenbearbeitungsanlage
DE1296427B (de) Datenbearbeitungssystem
DE1524147C (de) Schaltungsanordnung zur Betnebsbe reitschaftskontrolle der Prufschaltungen fur das Addierwerk einer programmgesteuer ten Datenverarbeitungsanlage
DE1234058B (de) Prioritaetsschaltung
DE2135607C2 (de) Schaltungsanordnung zur Inkrementierung oder Dekrementierung
DE1109422B (de) Asynchrone binaere Additions- und Subtraktionseinrichtung