DE1424756C - Schaltungsanordnung zum fehlergesicher ten Einfuhren oder Wiedereinführen von Pro grammen m den Hauptspeicher einer daten verarbeitenden Anlage - Google Patents

Schaltungsanordnung zum fehlergesicher ten Einfuhren oder Wiedereinführen von Pro grammen m den Hauptspeicher einer daten verarbeitenden Anlage

Info

Publication number
DE1424756C
DE1424756C DE1424756C DE 1424756 C DE1424756 C DE 1424756C DE 1424756 C DE1424756 C DE 1424756C
Authority
DE
Germany
Prior art keywords
register
memory
address
main memory
signal
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.)
Expired
Application number
Other languages
English (en)
Inventor
Glen Roy Hopkins Minn Kregness (V St A)
Original Assignee
Sperry Rand Corp , New York, N Y (V St A)
Publication date

Links

Description

Es ist bekannt, für verschiedene Zwecke bei einer 15 erläutert. Die Zeichnungen zeigen in
Datenverarbeitungsanlage außer dem Hauptspeicher F i g. 1 das Blockschaltbild einer Rechenanlage,
noch einen Hilfsspeicher vorzusehen. So wird bei- bei der die Erfindung angewendet werden kann,
spielsweise in der deutschen Auslegeschrift 1 119 019 Fig. 2 eine schematische Darstellung einer bevor-
eine Schaltung mit zwei Speichern beschrieben. Die zugten Ausführungsform der vorliegenden Erfindung dort beschriebene Einrichtung verfolgt den Zweck, 20 und
beim Vorliegen von gewissen Umständen ein Haupt- F i g. 3 die Ausführungsform einer Schalttafel, die
programm zu unterbrechen und ein Prüfprogramm als Programmspeicher verwendet werden kann,
einzuschalten. Dies wird dadurch erreicht, daß zu- In Fig. 1 ist die bevorzugte Ausführungsart einer
mindest den Befehlswörtern des normalen Programms Rechenanlage in vier Hauptteilen gezeigt, bei der die eine binäre Markierung, z. B. in Form eines Vor- 25 vorliegende Erfindung angewendet werden kann. Der zeichens, zugeordnet wird, die bei den Befehlswör- erste umfaßt die Steuerung und ist von der gestricheitern, vor oder hinter denen der Ablauf eines Pro- ten Linie 10 umgeben. In diesem Teil befinden sich gramms unterbrochen werden kann, einen von zwei diejenigen Register und Schaltungen, die für die Bemöglichen Werten annimmt, während der andere Schaffung, Änderung und Ausführung der Befehle Wert an dieser Stelle des Befehlswortes erscheint, 30 des Rechenmaschinenprogramms erforderlich sind, wenn das Programm nicht unterbrochen werden kann Obgleich die vorliegende Erfindung grundsätzlich bei oder darf. jeder herkömmlichen, mit Programmspeicherung
Durch die Literaturstelle Richards, »Arithmetic arbeitenden Rechenmaschine verwendet werden Operations in Digital Computers«, 1955, S. 320 bis kann, so wird doch aus Gründen der Veranschau-327, ist eine Stöpselplatte bekanntgeworden, welche 35 lichung auf die verschiedenen Bauelemente hingedazu dient, vermittels geeignet eingesteckter Schalt- wiesen, die in Datenverarbeitungsmaschinen gewöhnschnüre eine Folge von Operationen zu steuern. lieh vorhanden sind. Das Befehlsregister, auch oder Diese Stöpselplatte besitzt in einem gewissen Sinne {/-Register genannt, hält das gegebene Befehlswort die Funktion eines nichtlöschenden Programmspei- während der Operation fest. Bei der in Frage stehenchers, wobei aber zu beachten ist, daß das Programm 40 den Datenverarbeitungsanlage beträgt die Stellenzahl nicht in Form von binären Bits gespeichert wird, der Wörter vorzugsweise 30 Bit. In manchen Fällen sondern in Form einer Verdrahtung, die verschiedene kann es wünschenswert sein, das 30-Bit-Wort in Elemente der Rechenmaschine, z. B,, den Programm- .Form von zwei halben Wörtern zu behandeln, wobei zähler mit verschiedenen Speicherfegistern verbindet. jedes Wort 15 Bit lang ist. Aus diesem Grunde ist Der vorliegenden Erfindung liegt die Aufgabe zu- 45 das i/-Register in Fig. 1 so dargestellt, daß es aus gründe, für eine datenverarbeitende Anlage eine Ein- zwei Teilen, 12 und 14, besteht. Die untere, mit UL
gekennzeichnete Hälfte 12 hält im allgemeinen die Adresse oder den Operandenteil des aus 30 Bit bestehenden Befehlswortes fest. Der Inhalt dieser Hälfte kann nach Wunsch während der Operation verändert werden, wie dies später noch dargelegt wird.
Die obere, mit U11 gekennzeichnete Hälfte 14 des IZ-Registers hält im allgemeinen den Funktionscode sowie die verschiedenen Markierer zur Steuerung des
a) der Hilfsspeicher ist zur fehlergesicherten Spei- 55 Verlaufes fest, in dem der Befehl ausgeführt wird,
cherung von Fehlereliminierungsprogrammen Um obiges noch deutlicher zu machen, wird im oder Programmeingaberoutinen als nicht folgenden die Größe des aus 30 Bit bestehenden löschender Speicher ausgebildet und über eine Befehlswortes, wie es in der vorgelegten Rechenzweite Übertragungseinrichtung mit dem anlage verwendet wird, gezeigt, wobei die Bit-Zutei-Zwischenregister verbunden; 60 hingen für die verschiedenen Markierer/, /, k, b
b) es ist ein automatisch durch Fehlersignale oder und y erläutert werden:
richtung zu schaffen, mit der ein Programm von einer externen Programmquelle fehlergesichert in den Hauptspeicher eingeführt oder beim Auftreten eines Fehlers wiedereingeführt werden kann.
Diese Aufgabe wird erfindungsgemäß durch eine Schaltungsanordnung gelöst, die durch folgende Merkmale gekennzeichnet ist:
29 28 27 26 25 24
23 22 21
19 18
17 16 15
14 bis 0
Der Funktionscodemarkierer/ umfaßt die Bitpositionen 29 bis 24 des ^/-Registers und markiert die auf die Instruktion durchzuführende Operation.
Die hier beschriebene Rechenanlage kann 62 Grundinstruktionen ausführen. Die zwei anderen Codekombinationen, die sich aus den sechs den Markierer
3 4
zusammensetzenden Binärziffern bilden lassen, sind Das Ä-Register 18 und Ä'-Register 20 werden
Fehlerzustände, die bei ihrer Ausführung ein Fehler- während der Ausführung von Sprunginstruktionen
signal entstehen lassen, das einen Sprung zu einer und Wiederholinstruktionen verwendet. Zum Beispiel
vorbestimmten Adresse auslöst. Dieses Merkmal wird wird während der Ausführung einer Sprunginstruk-
später in der Beschreibung noch genauer erklärt. 5 tion der Inhalt eines vorbestimmten B-Registers,
Der /-Markierer, als »Teilzustandsmarkierer« be- welches vom /-Markierer bezeichnet wird, auf das
zeichnet, bestimmt einen unbedingten Sprung, einen Ä'-Register übertragen, und die untere Hälfte des
bedingten Sprung oder keine Sprunglage für die i/-Registers wird so eingestellt, daß es —1 enthält,
nächste unmittelbar folgende Instruktion des Ab- Der Inhalt von UL und R' wird dann addiert und an
laufes. Zum Beispiel gibt ein Befehlswort mit einem io das i?-Register 18 übertragen. Im Rahmen der Steue-
/-Wert von »0« an, daß kein Sprung gemacht und rung der Zählschaltungen (nicht dargestellt) wird die
die nächste Instruktion in der normalen Lage geholt im /2-Register enthaltene Summe in das betreffende
werden soll. Wenn der /-Markierer gleich »1« ist, besondere B-Register zurückgegeben, so daß es nun
wird der nächste Befehl unbedingt übersprungen. eine Zahl enthält, die im Vergleich zur ursprünglichen
Liegt der Wert von / zwischen 2 und 7, so wird ein 15 Zahl um Eins verringert ist. Dieser Arbeitsgang wird
bedingter Sprung durchgeführt. Wenn z. B. der so lange wiederholt, bis der Inhalt dieses besonderen
Funktionscodedecodierer 34 einen /-Wert von 3 fest- B-Registers gleich Null ist, was eine Beendigung des
stellt, so wird der nächste Befehl in der Folge über- Sprunges bedeutet.
sprangen, vorausgesetzt, die Bedingung ist erfüllt, Wenn eine Wiederholung der Operation gewählt daß der Inhalt des ß-Registers in dem anthmetischen 20 wird, wird es notwendig, die Anzahl der Wieder-Teil der Datenverarbeitungsanlage negativ ist. holungen zu steuern. Zu diesem Zweck wird eine Der ^-Markierer bestimmt die Operanden und gibt Zahl, die die Anzahl der Wiederholungen der Indie Art und Weise an, wie der Operand behandelt struktion abgibt, in das B7-Register gegeben. Diese werden soll. Für alle praktischen Zwecke werden Zahl wird während der Ausführung des Befehls verdrei Arten von Befehlen benutzt, die von der Rechen- 35 ringert. Wenn die Zahl gleich 1 wird, wird ein Befehl anlage ausgeführt werden können, und zwar Lese-, zur Beendigung des Wiederholverfahrens abgegeben. Speicher- und Auswechselbefehle. Befehle, die einen Das Adressenspeicherregister oder S-Register 22 Operanden lesen, ihn aber nach Durchführung der hält die 15 Bit der Instruktion fest, die im Augen-Rechenoperation nicht auswechseln, werden als Lese- blick ausgeführt wird. Mit anderen Worten, die befehle bezeichnet. Befehle, die einen Operanden 3° Daten, welche im Speicherwerk aufbewahrt werden nicht lesen, ihn aber speichern, werden als Speicher- sollen, oder die Befehlswörter oder Operanden, befehle bezeichnet. Befehle, die den Operanden so- welche vom Speicher angefordert werden, sind wegen wohl lesen als auch speichern, gelten als Auswechsel- der Adressenplatze auf das 5-Register angewiesen, befehle. Der ^-Markierer wertet für jede dieser Art Da das Adressenregister in sehr enger Verbindung verschieden aus. Zum Beispiel wird während der 35 mit der vorliegenden Erfindung steht, wird seine Ausführung eines Lesebefehls der Wert von k dazu Operation später noch ausführlicher beschrieben,
verwendet, um zu bestimmen, woher der Operand Das Programmadressenregister oder P-Register 24 für eine bestimmte Operation genommen werden soll, ist ein 15-Bit-Register, welches dazu dient, die d.h. vom Speicher oder von irgendeinem anderen nächste unmittelbar folgende Adresse des Programms Betriebsregister der Datenverarbeitungsanlage. Bei 40 anzuzeigen. Während der normalen sequenziellen dem Speicherbefehl gibt der ^-Markierer an, wo die Ausführung von Befehlen wird die Adresse des laugegebenen Daten gespeichert werden sollen. Das fenden Befehls über die Hauptleitung 26 an das könnte entweder ein Speicherplatz oder eines der P-Register übertragen. Während des nächsten Ope-Betriebsregister sein. Während der Durchführung rationsganges wird diese Adresse über die Haupteines Auswechselbefehls bestimmt k nicht nur, woher 45 leitung 28 an das 5-Register zurückgegeben und um der Operand kommen soll, sondern k gibt auch an, 1 vermehrt. Diese Erhöhung erfolgt in dem Modifiwo das Ergebnis dieser Operation gespeichert werden zierblock 30, wie in F i g. 1 dargestellt,
soll. Das A:-Register 32 dient dazu, die Schiebezahl Die vorliegende Erfindung wird in einer Ein- während der Ausführung einer Schiebeinstruktion adressen-Rechenanlage mit Adressenmodifikation 5° festzuhalten, und es zählt auch die Anzahl der ausangewendet. Obgleich das bedeutet, daß eine Angabe geführten Verschiebungen, die während einer Multi- oder eine Adresse für die Ausführung eines Befehls plikation oder Division stattfinden,
vorliegen muß, kann die Angabe während einer Pro- Die obere Hälfte des [/-Registers 14 ist mit dem grammfolge automatisch geändert werden. Die An- Decodierer 34 verbunden, welcher den Funktionsgaben werden dadurch verändert, daß man die 55 code übersetzt. Andere Modifiziermittel geben Be-B-(Index)-Register 1 bis 7 verwendet, die in F i g. 1 fehle ab und ermöglichen es, die durch das laufende der Zahl 16 entsprechen. Zur Änderung der Adresse Befehlswort angeforderte Operation durchzuführen, wird vorteilhaft der Inhalt eines der gewählten sieben Da die vorliegende Erfindung in erster Linie die B-Register dem in der unteren Hälfte des !/-Registers Speicher der Datenverarbeitungsanlage betrifft, ist es enthaltenen Operandenmarkierer y hinzugefügt. Diese 6o unnötig, die Wirkungsweise der verschiedenen Schal-Indexregister werden gewöhnlich zum Schalten von tungen im Steuerblock genau zu beschreiben.
Schleifen in ein Programm verwendet. Darüber hin- Der Rechenblock der Datenverarbeitungsanlage ist aus dient das B7-Register als Zähler, der bei der Aus- in Fig. 1 mit gestrichelten Linien 34 begrenzt. In führung eines Wiederholungsbefehls verwendet wird. diesem Teil befindet sich die Schaltung, welche nume-Der 6-Markierer, der die Bit-Positionen 17 bis 15 6S rische und logische Rechenaufgaben durchführt. Die des [/-Registers oder einen Befehl umfaßt, bestimmt, wichtigsten Bauelemente der Rechenschaltung sind welches der B-Register zur Veränderung des Ope- die A-, D-, Q- und A'-Register und die Additionsranden y eventuell verwendet werden soll. schaltung. Das A -Register 36 kann man sich als
5 6
einen herkömmlichen Akkumulator vorstellen, wie können über die Leitung 72 an die untere Hälfte des man ihn gewöhnlich in Ziffernrechenmaschinen vor- Befehlsregisters 12 übertragen werden. Eine getrennte findet. Wenn zum Beispiel der auszuführende Befehl Leitung (nicht dargestellt) verbindet die obere Hälfte eine Additionsoperation anfordert, so ist der Augend des Z-Registers mit der oberen Hälfte des Befehlsursprünglich im A -Register enthalten, und der Sum- 5 registers. Die Daten, die Signale aus der Eingangsmand wird zunächst in das D-Register 38 gegeben. Ausgangs-Schaltung darstellen, gelangen über die Wenn nun die Addition durchgeführt wird, wird die Eingangshauptleitung 74 in das Z-Register. In ähn-Summe durch die Additionsschaltung 40 parallel ge- licher Weise gelangen ebenso Befehlswörter aus dem bildet und im A'-Register 42 gespeichert. Vom X-Re- HilfsSpeicher 52 über die Leitung 76 und die Eingister wird dann die Summe zum /!-Register oder io gangshauptleitung 74 zu der oberen und unteren Akkumulator übertragen. Das ß-Register 44 kommt Hälfte des Z-Registers. Schließlich gelangen Datenin erster Linie während der Multiplikations- und signale vom Rechenteil der Datenverarbeitungs-Divisionsoperationen zur Anwendung. Es ist dafür anlage über das D-Register 38, die Leitung 78 und gesorgt, daß der Inhalt des /!-Registers und des die Eingangshauptleitung 74 zum Z-Register.
ß-Registers entweder nach links oder nach rechts 15 In Fig. 2 wird ein Adressenregister 8Ό gezeigt, einzeln oder als ein Wort mit doppelter Länge wäh- welches gemäß Fig. 1 den Eingang vom Befehlsrend dieser Operation verschoben werden kann. register erhält. Da die betreffende Rechenanlage ein
Der Eingang-Ausgang-Teil der Datenverarbeitungs- 30-Bit-Instruktionswort verwendet, wobei 15 Bit die anlage ist mit der gestrichelten Linie 46 umgrenzt in die Adresse darstellenden Signale sind, hat auch das Fig. 1 gezeigt. 2° Adressenregister 80 vorzugsweise 15 Stellen. Das
Die Arbeitsweise des Eingang-Ausgang-Teils ist an darf jedoch nicht so verstanden werden, daß die Ersieh bekannt. Die Speicherschaltung der Datenver- findung nur auf Datenverarbeitungsanlagen begrenzt arbeitungsanlage wird durch die gestrichelte Linie werden soll, die 30-Bit-Wörter verwenden. Es ist 48 begrenzt. In dieser Schaltung befindet sich der durchaus möglich, den Hilfsspeicher Datenverarbei-Hauptspeicher 50, der Hilfsspeicher 52 und die züge- 25 tungsanlagen mit anderer Stellenzahl anzupassen, hörigen Adressen-, Übertragungs- und Steuerschal- ohne dabei von der vorliegenden Erfindung abzutungen. In der bevorzugten Ausführung der Erfin- weichen.
dung ist der Hauptspeicher 50 der Datenverarbei- Der Ausgang des Adressenregisters ist über die
tungsanlage in Form einer Ferritkernmatrix aufge- Leitungen 82 an den Adressendecodierer 84 gelegt, baut, deren Reihen Wörter von je 30 Bit Länge 30 Dieser dient in bekannter Weise dazu, Signale auf ergeben. Der Speicher wird in üblicher Weise mit den Ausgangsadern 86, 88 und 90 in Übereinstim-Koinzidenzstrom betrieben und mittels Adressen- mung mit der besonderen, im Adressenregister 80 decodierer 54 angesprochen, welcher nach den im enthaltenen Binärcodekombination zu erzeugen. Die Adressenregister 22 des Steuerteils enthaltenen In- Adern in der Leitung 86 führen zunächst zu einem formationen die erforderlichen Wählsignale liefert. 35 sogenannten y-Treiberblock 92 und verbinden dann
Der Inhalt der Adresse wird parallel in das über die Leitungsabzweigungen 94 und 96 einen Zwischenregister, welches hier als Z-Register be- zweiten Treiberblock 98. Eine Ader 100 in der Leizeichnet ist, gelesen. Wegen der wahlweisen Verwen- tung 86 und Leitungsabzweigung 94 ist dafür bedung von halben Wörtern von 15 Bit wird das Z-Re- stimmt, an "den Eingang eines der Übertragungseingister in zwei aus 15 Bit bestehende Teile 56 und 58 40 richtung 102 und an die Eingangsklemme des Inaufgeteilt, die die Bezeichnung Z11 bzw. ZL tragen. verters 104 ein Signal zu schicken. Die Ausgangsader Während des Wiederherstellungsvorganges des Spei- 106 verbindet den Inverter 104 mit einer zweiten cherzyklus kann der Inhalt des Z-Registers, wie es Übertragungseinrichtung 108.
durch die Modifizierblöcke 60 und 62 gezeigt wird, Die Adern in der Leitung 88 führen zu dem
durch »1« vermehrt werden. Die Vorkehrung er- 45 AVTreiberblock 110, der dem vorher erwähnten laubt eine automatische Erhöhung der Puffersteuer- y-Treibern ähnlich ist. Die von den x- und y-Treibern Wörter, was bedeutet, daß die während einer Block- stammenden Ausgangssignale werden dem Koinziübertragung von Daten abgefragten Adressen auto- denzspeicher 112 zugeführt. Dieser Speicher ist insomatisch weitergegeben werden. fern bekannt, als er Abtastadern zur Aufnahme der
Der Komparator 64 dient zur Feststellung der 5° während einer Leseoperation erzeugten Signale hat, Koinzidenz zwischen der oberen und unteren Hälfte wenn die x- und y-Ader-Treiber gleichzeitig zur Wahl des Puffersteuerwortes. Wenn Koinzidenz festgestellt eines bestimmten Speicherregisters erregt werden, wird, wird ein Signal zur Beendigung der Eingangs- Diese Signale werden in dem Abtastverstärker 114 oder Ausgangsübertragung gegeben. Es wird ver- verstärkt und über die Leitung 116 den Strobeimmerkt, daß bei sämtlichen Mitteilungen entweder 55 pulsen gesteuerten UND-Gliedern 118 zugeführt,
zwischen dem Hauptspeicher 50 oder dem Programm- Vorausgesetzt, daß diese UND-Glieder 118 durch
speicher 52 und den anderen Teilen der Maschine ein im Leiter 120 erscheinendes Signal wirksam werdas Zwischenregister als Tor dient. Wie aus Fie. 1 den, geht die aus dem Koinzidenzspeicher gelesene ersichtlich, bedeutet das genau, daß das Z-Register Information hier hindurch und gelangt über die die Datensignale aus dem Hauptspeicher über die 6o Leitung 122 in das Zwischenregister 124. Wie be-Leitungen 66 und 68 erhält. Jede dieser Leitunnen reits erwähnt, ist die aus dem Koinzidenzspeicher hat 15 Adern, um ein paralleles Ablesen eines 30-Bit- gelesene Information, wenn sie in das Zwischen-Wortes aus einem Wälilspeicherregister zu ermög- register gelangt, für die anderen in der Rechenlichcn. maschine enthaltenen Register zu verschiedenen, von
Wenn sich die Daten einmal im Z-Register be- 65 den Steuerschaltungen (nicht dargestellt) bestimmten finden, sind sie auch über die Ausgarigshauptleitung Zeiten verfügbar.
70 für die Eingangs-Ausganps-Schaltung verfügbar. Das Wirksignal für die UND-Glieder 118 kommt
Die Daten in der unteren Hälfte des Z-Registers von dem Strobeimpulsgenerator 126, welcher seiner-
seits von einem Steuer-Flipflop 128 und zwei UND-Gliedern 130 und 132 umfassenden Schaltung gesteueri, wird. Das UND-Glied 130 erhält seine Eingangssignale vom Adressendecodierer 84 über die Leitung 90 und vom Steuer-Flipflop 128 über den Leiter 134. Der Ausgang des UND-Glieds 130 wird einer ersten Eingängsklemme des UND-Glieds 132 und ebenso einem weiteren UND-Glied 136 über den Leiter 138 zugeführt. Der andere Eingang zum UND-Glied 132 kommt von der Speicherlaufzeitkette (nicht dargestellt) in dem für den Strobeimpuls richtigen Augenblick. Dieser Impuls erscheint auf dem Leiter 140, welcher mit der zweiten Eingangsklemme des UND-Glieds 132 verbunden ist und wird über den Leiter 142 der zweiten Eingangsklemme des UND-Glieds 136 zugeführt.
Das Steuer-Flipflop 128 kann wie folgt eingestellt werden: Durch Betätigung der Starttaste im Tastenbrett 144, wobei das Signal zum Einstellen des Speichers über den Leiter 146 und das ODER-Glied 148 zugeführt wird oder durch Betätigung der Taste automatischer Anschluß, wobei über den Leiter 150 ein Wirksignal auf einer erste Eingangsklemme des UND-Gliedes 152 zugeführt wird. Ein zweiter Eingang zum UND-Glied 152 kommt von einer Fehler- «5 prüfschaltung über den Leiter 154, so daß, falls sich der Schalter 144 zum Zeitpunkt des Entstehens eines Fehlers in der Stellung »Automatischer Anschluß« befindet, ein Signal auf dem Leiter 156 erscheint, welches durch das ODER-Glied 148 hindurchgeht, um das Steuer-Flipflop 128 einzustellen.
Die Stromtreiber 98 sind durch die Leitungen 158 und 160 mit den beiden Teilen des Hilfsspeichers verbunden, der aus den Stöpselplatten 162 bzw. 164 besteht. Diese Stöpselplatten oder Programmtafeln werden an Hand der F i g. 3 näher erläutert. Die Signale, die am Ausgang der Stöpselplatte 162 beim Anlegen der Stromimpulse von den Treibern 98 erscheinen, gelangen über die Leitung 166 zu der Übertragungseinrichtung 102. In ähnlicher Weise gelangen die am Ausgang der Stöpselplatte 164 auftretenden Signale über die Leitung 168 zu der Übertragungseinrichtung 108. Die weiteren UND-Glieder 170 erhalten Eingänge von den Übertragungseinrich-ί tungen 102 und 108 über die Leitungen 171 und 172. Der Wirkimpuls für die UND-Glieder 170 kommt vom Ausgang des UND-Gliedes 136 über den Leiter 174. Das UND-Glied 170 steuert die Übertragung der Befehlswörter aus den Stöpselplatten 162 und 164 über die Leitung 176 und ist auch mit den Stufen 5" des Zwischenregisters 124 verbunden.
Arbeitsweise
Bei normaler Arbeitsweise der Rechenanlage werden die Befehlswörter aus dem Hauptspeicher in das Befehlsregister 12, 14 (Fig. 1) gelesen, wo der Code und andere Steuermerkmale geprüft werden. Wenn der Befehl eine Änderung des Operandenteiles des Befehlswortes fordert, so wird diese Änderung durchgeführt und der geänderte Operand kann an das Adressenregister 80 übermittelt werden. Jede Stufe dieses 15-Bit-Registers ist mittels einer Ader in der Leitung 82 an die Eingangsklemmen des Adresscndecodierers 84 angeschlossen. Der Adressendecodierer prüft die Signale auf den 15 Adern und entwickelt Wählsignale in Übereinstimmung mit der besonderen, im Adressenregistcr 80 enthaltenen Codekombination. Diese Wählsignale werden über die Leitungen 86 und 88 den y-Treibern bzw. den x-Treibern zugeführt. Je nach der zu übertragenden Adresse bewirken diese Treiber die Erregung einer einzelnen *-Treiberader oder j-Treiberader, die durch die Koinzidenzspeicher 112 verlegt ist. Wie allgemein bekannt ist, entstehen in Koinzidenzspeichern durch das gleichzeitige Auftreten von zwei Halbströmen, von denen die Hälfte zur Überwindung der Koezitivkraft des Kernes erforderlich ist, um ihn von einem remanenten Zustand in einen anderen zu schalten, auf den Adern der angesprochenen Kerne Spannungssignale. In der bevorzugten Aüsführungsform ist jedes Register im Hauptspeicher für die Aufbewahrung eines 30-Bit-Informationswortes geeignet. Für jedes Bit in einem Wort gibt es eine Abtastader, und deshalb werden bei der Zuführung der Treiberströme zu einem Wähl-Speicherregister auf den dreißig der im Kabel 113 enthaltenen und mit diesem Register verbundenen Adern Signale erzeugt. Diese Signale werden in dem sogenannten Abtastverstärker 114 verstärkt und geformt und über die Leitung 116 den UND-Gliedern 118 zugeführt. Unter der Voraussetzung, daß auf der Ader 120 ein Wirk-Strobeimpuls gegeben ist, lassen die UND-Glieder 118 das 30-Bit-Informationswort darstellende Signal durch die 30 Adern des Kabels 122 zum Zwischenregister 124 gelangen.
Ob auf Leiter 120 ein Wirksignal zur Ermöglichung des Durchganges des Informationswortes aus dem Haupt-Informationsregister 124 vorhanden ist oder nicht, hängt davon ab, wie die Steuerschaltung für den Strobeimpulsgenerator 126 in Betrieb ist. Solange auf den Leiter 127 kein Signal vorhanden ist, wird der Strobeimpulsgenerator 126 in der Ader 120. zu demjenigen Zeitpunkt einen Impuls erzeugen, welcher von den Speicherzählschaltungen (nicht dargestellt) bestimmt wird. Wenn jedoch auf der Ader 127 ein Signal vorhanden ist, ist der Strobdmpulsgenerator 126 gesperrt und außer Betrieb gestellt, und auf dem Leiter 120 können Impulse erzeugt werden.
Bei normaler Arbeit der Rechenmaschine befindet sich das Steuer-Flipflop 128 in gelöschtem Zustand. Dabei geht kein Signal durch das mit der Einstellklemme verbundene UND-Glied 130 hindurch, und das UND-Glied 132 wird folglich außer Betrieb gesetzt. Wenn daher die Speicherlaufzeitkette ein Befehlssignal zur Erzeugung eines Strobeimpulses auf dem Leiter 140 gibt, entsteht auf dem Leiter 127 kein Sperrsignal, und der Strobeimpulsgenerator 126 gibt auf dem Leiter 120 zur Inbetriebnahme des UND-Gliedes 118 ein Signal ab, wodurch die Übertragung der Information vom Hauptspeicher 112 zum Zwischenregister 124 ermöglicht wird.
Wenn andererseits das Steuer-Flipflop 128 eingestellt ist und das Adressenregister eine Adresse enthält, die in einem solchen Bereich liegt, daß den Adern der mit dem Ausgang des Adressenübertragers 84 verbundenen Leitung Signale zugeführt werden, dann wird das UND-Glied 130 in Betrieb gesetzt und läßt an der Verbindungsstelle 131 ein Steuersignal erscheinen. Wenn nun die Spcicherlaufzeitkefte auf dem Leiter 140 ein Signal zur Inbetriebsetzung des Strobeimpuisgenerators 126 abgibt, wird das UND-Glied 132 nanz aktiviert, wobei es ein Sperrsignal auf dem Leiter 127 erzeugt. Wie bereits erwähnt, hindert dieses Signal den Strobcinipulsgcnc-
109 625/20
ratorl26 daran, einen Wirkimpuls für die UND-Glieder 118 zu erzeugen.
• Die Programmtafel ist vorzugsweise eine Stöpselplatte, auf welcher die Verbindungen für die Befehlswörter mit der Hand gesteckt werden. Wie aus F i g. 2 hervorgeht, ist die Programmtafel in zwei Teile 162 und 164 zu je acht 30-Bit-Wörtern aufgeteilt. Das ist so zu verstehen, daß auch eine größere oder kleinere Zahl von Wörtern verschiedener Länge darauf verdrahtet sein kann. Im allgemeinen dienen die auf der Programmtafel gestöpselten Befehle dazu, in der Rechenmaschine eine Übertragung der von Ein- und Ausgabewerken kommenden Information vorzunehmen. Deshalb kann man sagen, daß die Programmtafel ein Unterprogramm ermöglicht.
Die Wirkungsweise, in der die auf der Programmtafel verdrahteten Befehle dem Befehlsregister verfügbar werden, so daß diese Übertragung stattfinden kann, soll folgend beschrieben werden. Wenn das Adressenregister 80 eine Adresse enthält, die innerhalb eines vorherbestimmten Wertbereiches liegt (Oktiladressen 00000 bis 00017), dann sorgt der Adressendecodierer 84 dafür, daß auf den Adern der Leitung Signale entstehen, welche die Leitungsabzweigungen 94 und 96 durchlaufen, um eine bestimmte der acht Treiberschaltungen 98 zu erregen, die vom Adressenregister festgelegt ist. Dieser Treiber wird dann einen Stromimpuls auf einer Ader entweder der Leitung 158 oder 160 erzeugen, um das Ablesen eines bestimmten Wortes der sechzehn in der Programmtafel enthaltenen 30-Bit-Wörter zu ermöglichen. Wenn das gewählte Wort in dem Programmtafelteil 162 enthalten ist, erscheint das 30-Bit-Wort als Signal auf den 30 Adern der Leitung 166. In ähnlicher Weise wird das 3Ö-Bit-Wort über die Leitung 168 davon abgelesen, wenn die Wähladresse im Programmtafelteil 164 enthalten ist.
Wenn, wie bereits erwähnt, das Steuer-Flipflop 128 eingestellt ist und die Adressenregister 80 enthaltene Adresse eine Adresse auf der Programmtafel kennzeichnet, gibt das UND-Glied 130 ein Signal ab, welches an der Verbindungsstelle 131 erscheint und über den Leiter 138 zu einer ersten Eingangsklemme des UND-Gliedes 136 läuft. Zum Zeitpunkt, in dem während des Speichervorganges gewöhnlich ein Strobeimpuls erzeugt wird, erscheint auf dem Leiter 140 ein Signal und fließt über den Leiter 142 zur vollständigen Erregung des UND-Gliedes 136, welche auf dem Leiter 174 ein Wirksignal für die Ausgangs-UND-Glieder 170 erscheinen läßt. Ebenso wird, je nach dem Vorgang vom Adressendecodierer 84, eines der zwei möglichen Signale der Ader 100 zugeführt, welche in der Leitung 86 und in der Leitungsabzweiguhg 94 enthalten ist. Stellt dieses Signal einen Erstwert dar, der z.B. eine Binär-» 1« ist, so wird die Übertragungseinrichtung 102 erregt, wobei das aus 30 Bit bestehende Wählwort vom Programmtafelteil 162 auf der Leitung 171 erscheinen kann. Wegen des Inverters 104 setzt das auf dem Leiter 106 erscheinende Signal zu diesem Zeitpunkt die Übertragungseinrichtung 108 außer Betrieb, wodurch eine Datenübertragung von Programmtafelteil 164 verhindert wird. Ist das Signal auf dem Leiter 100 eine binäre »0«, so tritt der entgegengesetzte Zustand ein, d. h. die Übertragungseinrichtung 102 wird außer Betrieb gesetzt, während die Übertragungseinrichtung 108 erregt wird. Wenn, das Steuer-Flipflop 128 eingestellt ist, solange die Speicherlaufzeitkette einen Strobeimpuls abgibt, tritt zur Erregung der UND-Glieder 170 auf dem Leiter 174 ein Signal auf, wodurch eine Übertragung eines 30-Bit-Wortes von einemTe'il 162, 164 des Hilfsspeichers zu dem Zwischenregister 124 über die Leitung 176 bewirkt wird. Man kann feststellen, daß das Zwischenregister 124 keine Kenntnis von der Herkunft des gelieferten Wortes hat, da die Übertragung genau zu demselben Zeitpunkt stattfindet, gleichgültig ob der Hauptspeicher 112 oder der Hilfsspeicher 162, 164 beteiligt ist. Wenn einmal das Informationswort in das Zwischenregister eingespeichert worden ist, steht es den anderen Registern in der Rechenmaschine zur Verfugung und die Rechenmaschine ist deshalb zur Ausführung der entweder vom Hauptspeicher oder der Programmtafel kommenden Befehlswörter frei.
Der Inhibitgenerator 125, der zwischen das Zwischenregister 124 und den Hauptspeicher 112 geschaltet ist, steuert das Einschreiben der Information in den Speicher. Wenn eine Stufe im Zwischenregister ein logisches »1 «-Signal enthält, so wird ein logisches »0«-Signal in die entsprechende Bit-Stellung des Hauptspeichers eingeführt. Ebenso sorgt der Inhibit- \. generator 125 dafür, daß ein logisches »1«-Signal in den Speicher in der entsprechenden Bit-Lage geschrieben wird, wenn die betreffende Zwischenregisterstufe ein »0«-Signal speichert.
Ob das Steuer-Flipflop 128 eingestellt wird oder nicht, wird durch das manuelle Einstellen des Schalters 144 bestimmt. Wenn sich der Schalter in der in Fig. 2 dargestellten Stellung befindet, dann ist das Steuer-Flipflop 128 völlig außer Betrieb, und die Datenübertragung erfolgt über den Koinzidenzspeicher. Mit anderen Worten, der Hilfsspeicher 162, 164 kann nicht abgefragt werden.
Wenn der Schalter 144 in die äußerste rechte oder Start-Stellung gebracht wird, wird dem Leiter 146 ein Signal zugeführt. Dieses Signal fließt durch das ODER-Glied 148 und stellt' das Steuer-Flipflop 128 ein, so daß die Rechenmaschine das nächste Informationswort aus dem Hilfsspeicher holen muß. Dies erfolgt allgemein während der Ersteingabe eines Programms in den Hauptspeicher. Das Hauptrechenprogramm kann z. B. dadurch vorbe- ( reitet werden, daß man einen Streifen mit einem vorbestimmten Code richtig locht. Der Lochstreifenleser wird dann zur Umwandlung des durch die Lochzeichen dargestellten Code in elektrische Signale verwandt, welche von der Rechenmaschine aufgenommen werden. Der Lochstreifenleser kann an einen der vorhandenen Eingangskanäle in der Ein- und Ausgabe-Schaltung der Rechenmaschine angeschlossen werden. Der letzte im Speicher enthaltene Befehl kann ein Sprungbefehl sein, so daß nach Ausführung sämtlicher aus dem Hilfsspeicher 162, 164 übermittelten Befehle und nach der Eingabe des Programmes in den Hauptspeicher 112 die Rechenmaschine automatisch zum ersten Befehl der nun im Hauptspeicher 125 enthaltenen Programmfolge springen kann.
Wird der Schalter 144 ganz nach links oder in die Stellung der »Automatischen Schaltung« gebracht, so wird zur teilweisen Erregung des UND-Gliedes 152 über den Leiter 150 ein Signal zugeführt. Erkennt die Rechenmaschine einen falschen Funktionscode, so entsteht ein Fehlersignal und wird über den Leiter 154 zur vollständigen Erregung an das UND-Glied 152 geleitet, welche ein Signal über den Leiter
156 und das UND-Glied 148 schickt, um das Steuer-Flipflop 128 in den »1«-Zustand zu bringen.. Dies, wie bereits ausführlich beschrieben, bewirkt, daß die Rechenmaschine ihre Befehle vom Hilfsspeicher 162, 164 holt. Bei dieser Art der Fehlerfeststellung kann der im Hilfsspeicher enthaltene Ablauf dazu verwendet werden, das Hauptprogramm in den Hauptspeicher 112 der Rechenmaschine erneut einzugeben. Jedesmal, wenn einer der zwei falschen Funktionscode in das Befehlsregister gelangt (Fig. 1), gibt der Decodierer 34 ein Signal zur Ausschaltung des Adressenzählers (P-Register) 24 und zur Löschung des Adressenregisters 22. Wenn das 5-Register gelöscht ist, wird der Inhalt des Hilfsspeichers bei Adresse 00000 (oktal) gelesen, um eine Wiedereinführung des Programms zu bewirken.
In F i g. 3 werden die allgemeine Anordnung der Stöpselplatten 162, 164 und die dazugehörigen Schaltungen dargestellt. Die in der beschriebenen Rechenmaschine verwendete Stöpselplatte verfügt über eine so Kapazität von sechzehn 30-Bit-Wörtern. Die in Fig.3 gezeigte Vorrichtung ist nur ein Teil der Schaltung und enthält nur acht der 16 Wörter.
Jede Stöpselplatte ist nochmals in zwei Teile 178 und 180 aufgeteilt. Diese Teile sind praktisch gleich, nur daß die Buchsen in Teil 178 jede der acht Wortstellen miteinander verbinden, während die Buchsen auf dem Teil 180 elektrisch voneinander getrennt sind. Jeder Spalte ist in Teil 178 eine getrennte Eingangsader 182 angeschlossen, welche ihrerseits an einen Treiber der acht Adressentreiber98 (Fig. 2) angeschlossen werden kann. Wenn das Adressenregister 80 (Fig.2) Signale enthält, die eine Adresse im Hilfsspeicher darstellen, so wird einer dieser Treiber in Betrieb gesetzt, wobei ein elektrisches Signal an sämtliche Buchsen in der verbundenen Spalte gelegt wird.
Jede der Buchsen auf dem Stöpselplattenteil 180, welche dieselbe relative Bit-Position in jedem der acht Wörter hat, ist an ein ODER-Glied geschaltet. Zum Beispiel ist jede der Buchsen, die die Position 29 in den acht Wörtern einnehmen, durch einen besonderen Leiter mit den Eingangsklemmen des ODER-Gliedes 184 verbunden. Jede der Buchsen, die die Bit-Position 28 in den acht Wörtern einnehmen, ist durch einen besonderen Leiter an die Eingangsklemmen eines ODER-Gliedes 186 angeschlossen. Ebenso ist für jede der dreißig möglichen Bits ein besonderes ODER-Glied vorgesehen, das Eingangsklemmen hat, welche mit den die entsprechenden Bit-Positionen in den acht Wörtern einnehmenden Buchsen verbunden sind. Die 30 Ausgangsklemmen der ODER-Glieder (drei davon sind in F i g. 3 dargestellt) verbinden die 30 Stufen des Zwischenregisters oder Z-Registers 124 über die UND-Glieder 170 in F i g. 2. Wenn, wie bereits ausführlich beschrieben, die Rechenmaschine mit dem Hilfsspeicher 162, 164 arbeitet, werden die UND-Glieder im Zeitpunkt der Erregung des UND-Gliedes 136 errest, wobei die Datensignale zum Zwischenregister 124 fließen.
Um ein Befehlswort in den Hilfsspeicher zu geben, steckt der Programmierer die Schaltschnüre wahlweise von einer Bit-Position auf dem Stöpselplattcnteil 178 in die entsprechende Bit-Position auf dem Teil 180. Wenn z. B. gewünscht wird, daß zum Zeitpunkt der Inbetriebsetzung eines Treibers in einer bestimmten Position eine logische »1« erscheinen soll, dann stellt der Programmierer eine Verbindung zwischen den entsprechenden Bit-Positionen auf den Teilen 178 und 180 her. Soll in dieser bestimmten Bit-Position eine logische »0« gespeichert werden, so wird zwischen den entsprechenden Bit-Positionen keine Verbindung hergestellt. Um diese Schaltung genauer zu illustrieren, zeigt Fig. 3, wie die Schaltschnüre zum Schreiben des Code 1001 in den Bit-Positionen 29, 28, 27 und 26 des Wortregisters 1 verbunden werden. Die Schnur 188 verbindet die Buchsen der Bit-Position 29 für das Wortregister 1 im Teil 178 mit der Buchse der Bit-Position 29 des Wortes 1 im Teil 180. In ähnlicher Weise verbindet der Draht 190 die Buchse 192 der Bit-Position 26 des Wortes 1 im Teil 178 mit der Buchse 194 in der entsprechenden Bit-Position im Teil 180. Die Verbindungsdrähte 196 und 198, die zur Verbindung der Bit-Positionen 28 und 27 des Teiles 178 mit den Buchsen in den entsprechenden Positionen im Teil 180 dienen, bleiben unverbunden. Wenn nun der Adressendecodierer den Treiber für das Wort 1 wählt, wird ein eine logische »1« darstellendes Signal über die Drähte» 188 und 190 zu den Klemmen 189 bzw. 194 geschickt. Da der Leiter 200 die Buchsen 189 mit einer der Eingangsklemmen des ODER-Gliedes 184 verbindet, wird ihr ein »1 «-Signal zugeführt. Nur ein Treiber der acht vorhandenen ist jeweils an einem Zeitpunkt tätig. Die anderen Eingänge zum ODER-Glied 184 werden deshalb logische »0« darstellen. Da die Drähte 196 und 198 unverbunden bleiben, wird der Ausgang von den ODER-Gliedern 186 und 202 Nullen darstellen. Da zwischen der Buchse 192 und der Buchse 194 mit dem Draht 190 eine Verbindung hergestellt ist, wird das ODER-Glied für die Bit-Position 26 (nicht dargestellt) ein logisches »1 «-Signal am Ausgang liefern. Das Ergebnis ist schließlich, daß die Codekombination 1001 an den Ausgängen der ODER-Glieder erscheint. Daraus kann man ersehen, daß jede gewünschte Kombination von Codesignalen am Ausgang von den 30 ODER-Gliedern dadurch erscheinen kann, daß die entsprechenden Verbindungen zwischen den Teilen 178 und 180 der Stöpselplatte hergestellt werden.

Claims (3)

Patentansprüche:
1. Schaltungsanordnung zum fehlergesicherten Einführen oder Wiedereinführen von Programmen in den Hauptspeicher einer datenverarbeitenden Anlage, insbesondere einer im Realzeitbetrieb arbeitenden Anlage, die über ein Adressenregister mit einem Adressendecodierer und X- und y-Treiberschaltungen verfügt, um den Hauptspeicher zu steuern, sowie ein Zwischenregister zur Weiterleitung der Befehle an das Befehlsregister und der Daten an die adressierten Speicherplätze und eine erste Übertragungseinrichtung zur Übertragung von Daten bzw. Befehlen aus dem Hauptspeicher in das Zwischenregister und einen Hilfsspeicher mit einer Treiberschaltung zur Steuerung desselben aufweist, gekennzeichnet durch die Kombination folgender Merkmale:
a) der Hilfsspeicher (162, 164) ist zur fehlergesicherten Speicherung von Fehlereliminierungsprogrammen oder Programmeingabe-
routinen als nicht löschender Speicher ausgebildet und über eine zweite Übertragungseinrichtung (102, 108, 170) mit dem Zwiregister (124) verbunden;
b) es ist ein automatisch durch Fehlersignale oder manuell durch einen Schalter (144) setzbares Steuer-Flipflop (128) vorgesehen, dessen Ausgang mit einem UND-Glied (130) verbunden ist, dessen anderer Eingang von dem Adressendecodierer (84) steuerbar ist;
c) der Ausgang des UND-Gliedes (130) ist mit der zweiten Übertragungseinrichtung (102, 108, 170) verbunden und steuert die Über-
tragung von Befehlen vom Hilfsspeicher in das Zwischenregister.
2. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß der Hilfsspeicher aus mindestens einer an sich bekannten Stöpselplatte (162, 164) besteht.
3. Schaltungsanordnung nach Anspruch 2, dadurch gekennzeichnet, daß zwei Stöpselplatten vorgesehen sind, die an je eine Übertragungseinrichtung (102, 108) angeschlossen sind, von denen eine (108) über ein NICHT-Glied (104) steuerbar ist.
Hierzu 1 Blatt Zeichnungen

Family

ID=

Similar Documents

Publication Publication Date Title
DE2364408C3 (de) Schaltungsanordnung zur Adressierung der Speicherplätze eines aus mehreren Chips bestehenden Speichers
DE1178623C2 (de) Programmgesteuerte datenverarbeitende Maschine
DE1303416B (de)
DE2727876B2 (de) Steuereinrichtung mit einem Mikroprozessor
DE2248296A1 (de) Programmsteuereinrichtung
DE1549548A1 (de) Vorrichtung zur Aktivierung eines bestimmten Befehls aus einer Vielzahl von Befehlen,die in einem Befehlsspeicher eines Rechners gespeichert sind
DE1179027B (de) Speicherprogrammierte digitale Rechenanlage
DE2759120C2 (de)
DE2720842A1 (de) Daten-uebertragungssystem
DE2235883C3 (de) Datenverarbeitungseinrichtung
DE1424756B2 (de) Schaltungsanordnung zum fehlergesicherten Einführen oder Wiedereinführer, von Programmen in den Hauptspeicher einer datenverarbeitenden Anlage
DE1424756C (de) Schaltungsanordnung zum fehlergesicher ten Einfuhren oder Wiedereinführen von Pro grammen m den Hauptspeicher einer daten verarbeitenden Anlage
DE1222289B (de) Datenverarbeitungseinrichtung
DE1296429B (de) Datenbearbeitungsanlage
DE1194605B (de) Verbesserung an Geraeten zur Verarbeitung von Angaben, Informationen od. dgl.
DE2233164A1 (de) Schaltungsanordnung zur ausblendung eines beliebig waehlbaren bereichs einer bitfolge bei deren uebertragung zwischen zwei registern
DE1107432B (de) Elektronische Rechenmaschine
DE1499284A1 (de) Datenbearbeitungsanlage
DE2735874C2 (de)
DE1524264C3 (de) Einrichtung zur Erzeugung einer Bildaufzeichnung
DE1474380A1 (de) Matrixspeicheranordnung
DE1474017B2 (de) Datenverarbeitungsanlage
DE3016269C2 (de)
DE1449540B2 (de) Digitalrechner
DE1474041C3 (de) Anordnung zum Sortieren von in zufälliger Reihenfolge aufgenommener Informationsbit Gruppen