DE1185404B - Fehlerermittlungsanlage - Google Patents
FehlerermittlungsanlageInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318522—Test of Sequential circuits
- G01R31/318527—Test of counters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0751—Error or fault detection not based on redundancy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/28—Error detection; Error correction; Monitoring by checking the correct order of processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30069—Instruction skipping instructions, e.g. SKIP
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K21/00—Details of pulse counters or frequency dividers
Description
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. 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
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.
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)
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
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)
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)
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 |
-
0
- NL NL282320D patent/NL282320A/xx unknown
-
1961
- 1961-08-22 US US133168A patent/US3192362A/en not_active Expired - Lifetime
-
1962
- 1962-08-10 DE DES80856A patent/DE1185404B/de active Pending
- 1962-08-14 GB GB31136/62A patent/GB940523A/en not_active Expired
- 1962-08-17 CH CH986762A patent/CH416163A/de unknown
Non-Patent Citations (1)
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 |