DE977282C - Schluessel-Programmwerk - Google Patents

Schluessel-Programmwerk

Info

Publication number
DE977282C
DE977282C DE1950Z0000455 DEZ0000455A DE977282C DE 977282 C DE977282 C DE 977282C DE 1950Z0000455 DE1950Z0000455 DE 1950Z0000455 DE Z0000455 A DEZ0000455 A DE Z0000455A DE 977282 C DE977282 C DE 977282C
Authority
DE
Germany
Prior art keywords
key
commands
level
memory
work
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
DE1950Z0000455
Other languages
English (en)
Inventor
Konrad Dipl-Ing Zuse
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zuse KG
Original Assignee
Zuse KG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zuse KG filed Critical Zuse KG
Priority to DE1950Z0000455 priority Critical patent/DE977282C/de
Application granted granted Critical
Publication of DE977282C publication Critical patent/DE977282C/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Programmable Controllers (AREA)

Description

Es sind Anordnungen bekannt, die die Aufgabe haben, den Ablauf aller verlangten Operationen bei technischen Einrichtungen, wie z. B. Rechenmaschinen und Werkzeugmaschinen, durch aufeinanderfolgende Einzelkommandos an die verschiedenen Teile der Einrichtung entsprechend einem vorliegenden Steuerungsplan — im Anwendungsbeispiel der Rechenmaschine entsprechend einem Rechenplan — zu steuern.
Häufig, insbesondere bei Rechenmaschinen, ist es notwendig, den Steuerungsplan in einen Hauptplan und einen bzw. mehrere Unterpläne aufzuteilen. Sollte nun ein Unterplan zur Berechnung einer Reihe ihrer Art nach gleicher, jedoch in Zahlenwerten verschiedener Aufgaben verwendet werden und wollte man erreichen, daß trotz Bereithaltung der Zahlen in verschiedenen Speicherzellen die in der Unterplanrechnung benötigten Zahlen jeweils stets von den gleichen Speicherzellen abgerufen werden konnten, so mußten im Hauptplan Vorkehrungen getroffen werden, um eine Belegung der von dem Unterplan angerufenen Speicherzellen mit den jeweiligen Zahlenwerten vor Ablaufen des Unterplanes sicherzustellen. Dies geschah bei bekannten Einrichtungen im allgemeinen durch Umspeicherung von Zahlenwerten von den Speicherzellen, in denen die Zahlen bereitgehalten wurden, in die Speicherzellen, deren Nummern durch den Unterplan aufgerufen wurden.
Es war somit erforderlich, alle Variationen der Durchrechnungen durch Umspeicherkommandos im Hauptplan zu berücksichtigen, was sehr umständlich sein kann und unter Umständen lange Hauptpläne ergibt, selbst wenn das Bildungsgesetz der Variationen einfach ist.
Die vorliegende Erfindung bezweckt eine wesentliche Steigerung der Variationsmöglichkeit des Steuerungsprogramms mit Hilfe von Umschlüsse-
509 715/9
lungen von Kommandos, ζ. Β. bei Rechenmaschinen, mit dem Zweck, mit den Variablen eines Hauptplanes beliebig in Unterplänen rechnen zu können, ohne hierzu Umspeicherungen von Werten vornehmen zu müssen.
Dieser Zweck der Erfindung wird durch die Kombination eines Programmwerkes mit einem Schlüsselwerk erreicht, die beide an sich bekannt sind, in ihrer Kombination jedoch einen wesentliehen technischen Fortschritt, z. B. in der Entwicklung programmgesteuerter Rechenmaschinen, darstellen. Zum anderen wird der Erfindungszweck durch die spezielle Ausgestaltung der beiden Aggregate erreicht, wobei die vom eigentlichen Programmwerk ausgehenden Kommandos erfindungsgemäß mit den die verschiedenartigen Gruppen von Kommandos kennzeichnenden Angaben versehen sind, die die Funktion des Schlüsselwerkes beeinflussen.
Es werden folgende Gruppen von Kommandos unterschieden:
Normale Kommandos,
Schlüsselkommandos,
Schlüsselspeicherkommandos, 2S Sonder-Schlüsselspeicherkommandos.
Normale Kommandos sind alle die Kommandos, die unverändert (z. B. als Operationskommandos) das Schlüsselwerk durchlaufen und an die zu steuernde Anlage gehen.
Schlüsselkommandos sind solche Kommandos, die ganz oder teilweise variiert werden können, wobei die Variation nach einem Schlüssel erfolgt, der vor dem Ablauf der Kommandofolge in ein Schlüsselwerk gegeben wird.
Schlüsselspeicherkommandos dienen zur Einstellung der Schlüssel im Schlüsselwerk, so daß die Schlüsselkommandos entsprechende Variationen erfahren.
4.0 Sonder-Schlüsselspeicherkommandos dienen zur Übertragung von Schlüsseln, die auf Grund von vorausgehenden Normalkommandos in der zu steuernden Anlage zuvor ermittelt werden, auf das Schlüsselwerk und vermitteln die Steuerung des Schlüsselwerkes vom Rechenwerk aus.
Der Erfindungsgedanke werde an Hand des Beispiels einer Rechenmaschine erläutert. Hier ist die Anwendung der Schlüsselkommandos besonders bei den Kommandos von Vorteil, welche Zahlenübertragungen innerhalb der Rechenmaschine bewirken, also insbesondere bei Speicher- und Ablesekommandos. Eine solche Rechenmaschine mit Schlüssel-Programmwerk bestehe nach Fig. 1 im wesentlichen aus folgenden Teilen:
T Tastatur mit Anzeigefeld zum Eingeben bzw. Anzeigen von Werten bzw. Kommandos,
7? Rechenwerk, in dem die eigentlichen Rechenoperationen durchgeführt werden,
Sp Speicherwerk, in dem eine Vielzahl von Werten (Variablen, Zwischenresultaten usw.) gespeichert werden kann,
P Programmwerk mit Schlüsselwerk zur Steuerung der gesamten Anlage.
Die Linien mit Laufpfeilen zwischen den einzelnen Teilen sollen andeuten die verschiedenen Möglichkeiten und Richtungen des Zahlenverkehrs bzw. der Übertragungen von z. B. aus Ja-Nein-Werten bestehenden allgemeinen Angaben, beispielsweise zur Kennzeichnung bestimmter Kommandos, gesteuert durch das Schlüssel-Programmwerk entsprechend einem vorliegenden Programm (Rechenplan). Als Besonderheit ist die Wirkungslinie von dem Rechenwerk R zu dem Schlüssel-Programmwerk P zu erwähnen, mit der angedeutet werden soll, daß das Schlüssel-Programmwerk vom Rechenwerk aus z. B. durch eine Angabe beeinflußt werden kann; eine solche Angabe könnte unter anderem sein: »Eine vorgegebene Bedingung ist erfüllt«.
Das Schlüssel-Programmwerk selbst besteht aus den beiden Teilen:
A dem eigentlichen Programmwerk, in folgendem zur Abgrenzung gegenüber dem vollständigen Schlüssel - Programmwerk »Ablaufwerk« genannt,
Schi dem Schlüsselwerk, das die vom Ablaufwerk kommenden Kommandos nach einem gegebenen Schlüssel variiert (umschlüsseit).
Als Ablaufwerk kann grundsätzlich jedes Programmwerk bekannter Bauart mit Abtaster und Lochstreifen und als Schlüsselwerk z. B. eine Chiffriermaschine bekannter Art Verwendung finden.
In Weiterentwicklung des grundsätzlichen Erfindungsgedankens ergibt die Kombination eines Schlüsselwerkes mit einem Ablaufwerk spezieller Art — wie später näher beschrieben — einen weiteren wesentlichen technischen Fortschritt gegenüber bisher bekannten Programmwerken.
Zunächst werde an dem Beispiel der Berechnung einer Determinante 3. Grades A3 der Vorgang der Umschlüsselung veranschaulicht:
Der allgemeine Rechenplan für eine Determinante 2. Grades arbeite mit den \rariablen F10... F13 (gegebene Matrix). Dieser Plan soll mehrfach als Unterplan in dem übergeordneten Rechenplan für die Berechnung einer Determinante A3 (3. Grades) mit deren Variablen F0... F8 verwendet werden. Die beiden Determinanten A3 und A2 mögen lauten:
\ V,
' ίο * ii
' 12 ' 13
Die Berechnung von A3 soll auf dem Wege der Berechnung der Unterdeterminanten 2. Grades erfolgen, also:
v,v, νΆν. vav4
; = F0 -F1 +F2
V7V8 Γ0Γ8 V-
O 20 1 21 ο 22
'
Die Determinante 2. Grades A9 mit den Variablen V10 . . . V J3 soll mit der Variablen V3 . . . Vs der Determinante As durchgerechnet werden. Hierzu bestehen folgende Möglichkeiten:
a) Umspeichern der von den Variablen V3... V8 der Determinante A3 jeweils zur Berechnung einer Unterdeterminante 2. Grades benötigten Werte auf die Speicherzellen 10 . . . 13, die für die Variablen V10 ... V13 der Unterdeterminante 2. Grades λόγιο gesehen sind, durch entsprechende Umspeicherkommandofolgen vor Ablauf des Unterplanes. Dieses Verfahren ist aber unzweckmäßig, wenn es sich bei dem Umspeichern um Werte bzw. Angaben von komplizierter Struktur handelt. In diesem Fall ist die weitere Möglichkeit zweckmäßiger:
b) Umschlüsseln der Schlüsselkommandos (meist Ablesekommandos nach folgenden Schlüsseln):
Schlüssel für -120 die Unterdeterminante J22 A3 A3 Speicherung
auf Schlüssel
Schlüssel
kommandos
J21 Schlüsselspeicherkommandos A 5 A4 speicherzelle
(Kommandos (Kommandos des Hauptplanes) A 6 Nr.
des
Unterplanes)
A4 A 8 A7 IO
Aio AS II
An A7 12
A 12 AS
A 13
Jeweils vor Beginn einer Unterplankommandofolge wird also erfindungsgemäß einer dieser drei genannten Schlüsselspeicherkommandofolgen (Schlüssel) in einen entsprechenden Schlüsselspeieher gegeben, so daß der gemeinsame Unterplan für A2 dreimal ablaufen und jedesmal mit den entsprechenden Werten der Variablen V3 ... V8 durchgerechnet werden kann.
Zum Verständnis der durch ein Ablaufwerk spezieller Art gegebenen Möglichkeiten in Verbindung mit einem Schlüsselwerk sind zunächst einige Betrachtungen über ein solches Ablaufwerk erforderlich.
Je nach Art und Umfang einer zu lösenden Aufgäbe sind eine Menge von Einzelkommandos gegeben, die in mehrere Gruppen — Kommandofolgen genannt — zusammengefaßt und als Haupt- bzw. Unterpläne aufgefaßt werden können. Es ist nun jeder Kommandofolge ein Rufzeichen zugeordnet, durch das eine entsprechende Kommandofolge zum Ablauf angerufen werden kann. Das Rufzeichen wird im allgemeinen durch die gerade ablaufende Kommandofolge gegeben, und zwar am Ende dieser Kommandofolge oder während des Ablaufs, wenn
z. B. eine gegebene Bedingung erfüllt ist.
Eine wiederholt abzutastende (iterative) Kommandofolge — das ist eine Kommandofolge, die so lange immer wieder unmittelbar an sich anschließend abläuft, bis eine gegebene Bedingung erfüllt ist ·— ruft sich nach Ablauf mit ihrem eigenen Rufzeichen an, falls erneuter Ablauf notwendig ist. Ist die Bedingung zum Beenden der Iteration erfüllt, so wird — mit Anrufen der nächsten Kommandofolge mit deren Rufzeichen — die Iteration abgebrochen.
In dem vorliegenden Beispiel der Berechnung einer Determinante 3. Grades bildet der Ausdruck für die Berechnung der Determinante A3 mit Hilfe der Unterdeterminanten A20, A21, A22 den Hauptplan (Grundablauf stufe o), während die Berechnung der einzelnen Unterdeterminanten A20, A21, A22 die Kommandofolgen darstellen, die den Hauptplan der Stufe ο mehrfach zur Berechnung des jeweiligen Zwischenwertes A2 der Unterdeterminante 2. Grades unterbrechen, d. h. in diesen eingeschaltet sind. Diese /(.,-Kommandofolgen stellen Unterpläne der Stufe +1 dar. Es werden dementsprechend verschiedene Ablaufstufen — kurz Stufen genannt —■ unterschieden.
Zur Stufe+1 gehört als erster Unterplan jeweils die Kommandofolge, die — eingeschachtelt in den Rechengang der Stufe ο — für diese übergeordnete Stufe ο Zwischenresultate zu berechnen hat. Zur Stufe +2 als zweiter Unterplan = Unterplan eines Unterplanes gehört jeweils diejenige Kornmandofolge, die wiederum für die Kommandofolge der Stufe +1, also für die Kommandofolge der ihr übergeordneten Stufe, Zwischenresultate errechnet. Der Stufenstand kennzeichnet mithin den Grad, mit dem verschiedene Kommandofolgen ineinander verschachtelt sind, und zwar zu dem Zweck, ein zur Fortsetzung einer Kommandofolge übergeordneter Stufe jeweils erforderliches Zwischenresultat zu errechnen.
Der Übergang von einer Kommandofolge zu einer anderen bzw. jede Änderung des Programmablaufs, wie Abbrechen oder Wiederholen einer Kommandofolge, wird durch ein »Wechselkommando« bewirkt, das durch besondere Angaben, wie z. B.: Rufzeichen der angerufenen Kommandofolge, Stufendifferenz usw., gekennzeichnet ist.
Beim Einschalten eines weiteren Unterplanes ist die Stufendifferenz = +1 und das Rufzeichen gleich dem der zu rufenden Kommandofolge.
Die Stufendifferenz kann auch negative Werte bis zum Absolutbetrag der gerade ablaufenden Kommandofolge annehmen; das bedeutet Rückschalten auf die Grundablaufstufe o.
Bei iterativen Kommandofolgen hat die Stufendifferenz zwischen Ende der iterativen Kommandofolge und Beginn des erneuten Ablaufs den Wert o.
Die Unterteilung des Rechenplanes in Kommandofolgen und des Programmablaufs in Stufen bietet in Verbindung mit den Variationsmöglichkeiten des Wrechselkommandos die Möglichkeit, jede beliebige Kommandofolge in jeder Stufe zum Ablauf anzurufen.
Diese bereits im Ablaufwerk gegebene Variationsmöglichkeit steigert in Verbindung mit einem Schlüsselwerk weiterhin wesentlich die Beweglichkeit des Programmablaufs, insbesondere auch der Rechengeschwindigkeit, falls mit einer Vielzahl von Angaben komplizierter Struktur gearbeitet wird.
Zur Erläuterung des Erfindungsgedankens, dessen konstruktive Lösung mittels verschiedenartiger Bauelemente, wie elektromagnetischer Relais oder
mechanischer Schaltglieder, möglich ist, werden sogenannte »abstrakte« Schaltungen benutzt, die unabhängig von der konstruktiven Lösung bzw. der angewandten Relaistechnik das Grundsätzliche des Erfindungsgedankens veranschaulichen sollen. Da die Kenntnis dieser Symbolik, die — abgesehen von wenigen Zeichen — den Normen der Elektrotechnik entspricht, zum Verständnis der zu erläuternden Schaltungen unbedingt notwendig ist, wird auf ίο die Abhandlung »Die Symbolik der abstrakten Schaltungen« besonders hingewiesen.
Das Ablaufwerk liefert an das Schlüsselwerk, wie bereits oben erwähnt, folgende Gruppen von Kommandos:
1S i. Normale Kommandos unverändert über Schlüsselwerk,
2. Schlüsselkommandos umgeschlüsselt im Schlüsselwerk,
ao 3. Schlüsselspeicherkommandos gespeichert im Schlüsselwerk,
4. Sonder-Schlüsselspeicherkommandos gespeichert im Schlüsselwerk.
Normale Kommandos sind die unverändert durch das Schlüsselwerk laufenden Kommandos, z. B.
Operationskommandos an die zu steuernde Anlage.
Schlüsselkommandos sind solche Kommandos,
. die im Schlüssel werk ganz oder teilweise umgeschlüsselt werden, bevor sie an die zu steuernde Anlage gehen.
Schlüsselspeicherkommandos dienen zur Einstellung der Schlüssel im Schlüsselwerk und sind daher für das Schlüsselwerk bestimmte Kommandos, die vor einem Wechselkommando gegeben werden, durch das der Stufenstand um +1 erhöht wird.
Hierbei kann z. B. vorausgesetzt werden, daß die in jeder Kommandofolge auftretenden Randwerte (Variable und Resultatwerte) fortlaufend von ο ... η numeriert sind, und zwar zuerst die Variablen und dann in der Nummer anschließend die Resultatwerte. Dann sind ebenso viele Schlüsselspeicherkommandos vorhanden wie Randwerte der Unterplankommandofolge, wobei die Aufzählung der Schlüsselspeicherkommandos in ihrer Reihenfolge entsprechend der fortlaufenden Belegung der Speicherzellen (von Null ausgehend) den Schlüssel bestimmt.
Sonder-Schlüsselspeicherkommandos dienen zur Übertragung von Schlüsseln, die auf Grund eines oder mehrerer dem Sonder-Schlüsselspeicherkommando vorausgehenden Normalkommandos jeweils zuvor im Rechenwerk errechnet werden, auf das Schlüsselwerk und sind ein typisches Beispiel für nur teilweise Umschlüsselungen von Kommandos. Alle vom Ablaufwerk kommenden Kommandos gehen durch das Schlüsselwerk. Hier werden Schlüsselkommandos umgeschlüsselt, Schlüsselspeicherkommandos und Sonder-Schlüsselspeicherkommandos gespeichert, während alle übrigen Kommandos das Schlüsselwerk unverändert durchlaufen. Es muß dafür Sorge getragen werden, daß beim Speichern von Schlüsselspeicherkommandos für
eine neue Stufe die Schlüssel der übergeordneten Stufen erhalten bleiben. Hierfür sind folgende Möglichkeiten gegeben:
a) Getrennte Schlüsselspeicher je Stufe, d. h., jeder Stufe ist ein Schlüsselspeicher zugeordnet, der in jeder Stufe auf die maximal mögliche Anzahl von Schlüsselspeicherkommandos ausgebaut ist.
b) Gemeinsamer Schlüsselspeicher für alle Stufen bei jeweils unterschiedlicher Belegung je nach Erfordernis der betreffenden Stufe verbessert die Ausnutzung des Schlüsselspeichers, verlangt aber einen zusätzlichen Speicher für die Aufteilung der Stufenbelegung.
Das als Ausführungsbeispiel gewählte Schlüsselprogrammwerk mit stufengetrennten Schlüsselspeichern nach Fig. 2 besteht im wesentlichen aus folgenden Teilen:
A Ablaufwerk, g5
30 Kommandoverteiler,
31 Zählwerk,
32.0 . . . 32.4 Schlüsselspeicher für die Stufen 0...4
33 Speicherwählwerk,
34 Ablesewählwerk.
In dem Kommandoverteiler 30 werden alle vom Ablaufwerk über die Leitungen 103, 104 einlaufenden Kommandos untersucht, ob sie Normal-, Schlüssel-, Schlüsselspeicher- oder Sonder-Schlüsselspeicherkommandos sind. Der Kommandoverteiler ist als eine Wählerschaltung ausgebildet, über welche die einlaufenden Kommandos in Abhängigkeit von z. B. durch Ja-Nein-Werte gesteuerten Schaltelementen
entweder als Normalkommandos (über Leitung 113, 114) unverändert direkt bzw. als Schlüsselkommandos (über Leitung 116) zwecks Umschlüsselns über einen entsprechenden Schlüsselspeicher
der zu steuernden Anlage zugeführt werden oder als Schlüsselspeicherkommandos (über Leitung 118, Ί17; Fig. 2) bzw. als Sonder-Schlüsselspeicherkommandos (über Leitung 119, 117)
zum Speichern auf einen entsprechenden Schlüsselspeicher des Schlüsselwerkes gehen.
Als Schlüsselspeicher kann ein Speicherwerk beliebiger Bauart dienen, das eine ausreichende Anzahl von »Zellen« zur Aufnahme (Speicherung) von Zahlen oder Zahlen- bzw. Angabenkombinationen (z. B. von Dualzahlen oder von aus Ja-Nein-Werten bestehenden Angaben) besitzt.
Es werde angenommen, daß es sich bei den Speicherwerken des Ausführungsbeispiels nach Fig. 2 um aus mechanischen Schaltgliedern aufgebaute Speicherwerke handelt, zu denen beispielsweise jeweils zwei gleichartig ausgebildete Wählwerke (in der Darstellung der Fig. 2 nicht besonders ge-
zeichnet) gehören, an deren beiden Eingängen c und d die Nummer der Speicherzelle, z. B. als Dualzahl, eingestellt wird, auf die gespeichert bzw. an der abgelesen werden soll. Der zu speichernde Wert wird auf den Eingang h gegeben und bei g wieder abgelesen. Der Speichervorgang wird durch einen bei Eingang e einlaufenden Speicherimpuls, der Ablesevorgang durch einen bei Eingang f einlaufenden Ableseimpuls ausgelöst. ίο Es werde zunächst der Fall betrachtet, daß vorbereitend für einen Unterplan der Stufe +1 noch während des Ablaufs der Grundstufe ο eine Folge von Schlüsselspeicherkommandos gegeben wird:
Das Zählwerk 31 wählt zunächst mit seinem Anfangswert Null über Leitung 115 in den Schlüsselspeichern 32.0 . . . 32.4 dieSpeicherzellen der Nummer ο aus. Gleichzeitig wird durch den Stufenstandwert im Ablauf werk Ausgang α (Fig. 2) das Speicherwählwerk 33 so eingestellt, daß der aus dem ao Kommandoverteiler über Leitung 111 ankommende Speicherimpuls auf den Eingang e des Schlüsselspeichers 32.1 der um 1 erhöhten Stufe (hier = +1) geschaltet wird. Das erste von dem Kommandoverteiler ankommende Schlüsselspeicherkommando wird also über Leitung 118, Schaltglied 36 und Leitung 117 auf dem Schlüsselspeicher 32.1 der um ι erhöhten Stufe (hier = +1) gespeichert, und zwar auf Zelle o.
Gleichzeitig zählt das Zählwerk 31 um 1 weiter, so daß das nächstfolgende Schlüsselspeicherkommando entsprechend dem neuen Stand des Zähl werkes (jetzt 1) auf der Zelle 1 des Schlüsselspeichers derselben Stufe gespeichert wird.
Das Zählwerk 31 steuert also in Verbindung mit dem Speicherwählwerk 33 den Speichervorgang der nacheinander gegebenen Schlüsselspeicherkommandos auf die Speicherzellen 0 . .. η des Schlüsselspeichers der betreffenden Stufe.
Bei Eintreten eines Wechselkommados wird zunächst im Ablaufwerk der neue Stufenstandwert gebildet; das den Speichervorgang steuernde Zählwerk 31 wird gelöscht, und der Ablauf des Unterplanes der Stufe + 1 beginnt.
Die vom Ablaufwerk kommenden Kommandos werden nach wie vor in dem Kommandoverteiler 30 analysiert. Liegt ein normales Kommando vor, so geht dieses Kommando unverändert an das Rechenwerk 28 bzw. an dessen Speicher. Liegt ein Schlüsselkommando vor, so wird das Ablesen der im Schlüsselspeicher der Stufe +1 gespeicherten Kommandos auf folgende Weise gesteuert:
Das Schlüsselkommando wählt über die Leitung 116 in den Schlüsselspeichern 32.0 ... 32.4 diejenigen Zellen aus, deren gemeinsame Zellennummer dem Schlüsselkommando entspricht, und das durch den Stufenstandwert des Ablaufwerkes eingestellte Ablesewählwerk 34 bereitet die Durchschaltung des über Leitung 112 ankommenden Ableseimpulses auf den Eingang / des Schlüsselspeichers der Stufe der gerade ablaufenden Kommandofolge (hier = +1) vor. Der dann abgelesene Speicherwert (= z. B. Ablesekommando bezogen auf die Variablen des Hauptplanes) des Schlüsselspeichers der Stufe der gerade ablaufenden Kommandofolge geht als Kommando an das Rechenwerk 28 bzw. an dessen Speicher.
Kommt während des Ablaufs des Unterplanes der Stufe +1 eine neue Schlüsselspeicherkommandofolge als Vorbereitung für einen weiteren Unterplan der Stufe +2, so werden diese Schlüsselspeicherkomniandos analog den Speichervorgängen für die Stufe +1 der Reihe nach auf die Speicherzellen 0 ... η des Schlüsselspeichers der nächsthöheren Stufe (hier = +2) gespeichert.
Der der Stufe ο zugeordnete Schlüsselspeicher kann fortfallen bzw. blind, d. h. ohne Umschlüsselungen arbeiten; denn in der Grundablauf stufe sind im allgemeinen keine Umschlüsselungen notwendig. Eventuell können aber (z. B. in der Stufe — 1) vor Beginn der Rechnung Schlüssel gesondert hineingegeben werden.
Wirkungsweise und Bedeutung der Sonder-Schlüsselspeicherkommandos werden an Hand folgenden Beispiels veranschaulicht:
Gegeben sei eine Funktion F (v0) in expliziter Form, wobei v0 eine »Liste« von η Argumentwerten %,, darstellt, mit denen z. B. die Speicherzellen ο . . . (n— 1) des Speicherwerkes des Rechenwerkes fortlaufend belegt seien. S1 ist ein »Laufwert«, d. h. ein Wert, der sich im Laufe der Ge- samtrechnung jeweils nach Durchrechnung der Funktion mit einem bestimmten Argumentwert ändert, und stellt den Index dar, der jeweils einen bestimmten Argumentwert von η gegebenen Argumentwerten kennzeichnet.
Die Aufgabe laute nun: Berechnung des Schnittpunktes der Funktion F (v0) mit der Abszissenachse (die Beispielfunktion habe nur einen Schnittpunkt) .
Ein einfaches Verfahren zur Lösung dieser Aufgäbe liegt darin, zur Ermittlung der ungefähren Lage des Schnittpunktes zunächst nur — beispielsweise — jeden zehnten Argumentwert zur Durchrechnung der Funktion heranzuziehen. Die Kommandofolge des Rechenplanes F (v0) läuft daher so oft mit jeweils unterschiedlichen Argumentwerten V0 ab, bis Vorzeichenwechsel des Funktionswertes F (v0) eintritt, wobei der Index S1 des Argumentwertes V0 als Lauf wert, der sich jedesmal um den Betrag V1 (ganze Zahl) ändern soll, jeweils neu berechnet werden und zum Auswählen des entsprechenden Argumentwertes im Speicherwerk des Rechenwerkes herangezogen werden muß.
Die Bildung des Laufwertes εχ kann formal wie folgt angesetzt werden:
S1 + V1 = S1
(= bedeutet »ergibt«), d. h., der »alte« Laufwert S1 plus dem »Indexschritt« V1 ergibt den »neuen« Lauf wert E1.
Der Laufwert 6j stellt den »Schlüssel« dar, nach dem das allgemein gültige Kommando A v?es (»Ablesen V0, und zwar die Komponente S1*) der iterativen Kommandofolge des Unterplanes F (v0) umgeschlüsselt werden muß, damit der jeweilige Argumentwert votl — auf Speicherzelle S1 des Rechen-
509 715/9
werkes gespeichert —· in die Rechnung eingeführt werden kann.
Das geht in der Weise vor sich, daß das Schlüsselkommando A vOei (»Ablesen V0, und zwar die Komponente E1«) in dem Kommandoverteiler des Schlüsselwerkes in den unverändert bleibenden Teil A V0 und den umzuschlüsselnden Teil E1 zerlegt wird. Die im Rechenwerk 28 berechnete Komponente ex wird durch ein Sonder-Schlüsselspeicherkommando über Leitung 119, Schaltelement 36 und Leitung 117 (Fig. 2) auf das Schlüsselwerk übertragen und in einem entsprechenden Schlüsselspeicher 32.0 . .. 32.4 gespeichert. Das Schlüsselkommando A voei ruft mit seiner umzuschlüsselnden Komponente εχ über Leitung 116 den im Schlüsselspeicher enthaltenen jeweiligen Laufwert B1 ab, der sich mit der unverändert (über Leitung 113) weitergeführten Komponente A V0 zu dem Kommando A vm (Leitung 114) vereinigt und den in der Speicherzelle et des Rechenwerkes 28 gespeicherten Argumentwert V0 abliest und diesen speziellen Wert V0 in den Unterplan F (v0) zum Durchrechnen eingibt. Der Unterplan F (v0) läuft mit jeweils unterschiedlichen Argumentwerten V0 so oft ab, bis der Funktionswert sein Vorzeichen wechselt. Dann liegt der gesuchte Schnitt mit der Abszissenachse zwischen beiden zuletzt abgelesenen Argumentwerten V0.
Die Genauigkeit kann anschließend dadurch erhöht werden, daß nunmehr das Verfahren sinngemäß mit kleinerem Indexschritt in entgegengesetzter Richtung (d. h. mit rücklaufendem Laufwert E1) bis zum erneuten Vorzeichenwechsel wiederholt wird.
Um die beschriebenen Vorgänge zu präzisieren, werden dieBegriffe »Rechenstufe« und »Basisstufe« eingeführt:
Rechenstufe = Stufe, in der gerechnet wird, Basisstufe = Stufe, aus der die Variablen entnommen werden,
Basisstufe +1 = Rechenstufe.
Zusammengefaßt können also die Vorgänge im Schlüsselwerk wie folgt beschrieben werden:
i. Schlüsselspeichern
a) Ablesen des bisherigen Schlüssels aus der Basisstufe bzw. Übertragen eines im Rechenwerk 28 berechneten Schlüssels (Sonder-Schlüsselspeicherkommando nach Normalkommandos) auf das Schlüsselwerk.
b) Speichern dieses Schlüssels auf die Rechenstufe entsprechend dem Stand des Zählwerkes 31, d. h. entsprechend dem Schlüssel der Rechenstufe.
2. Umschlüsseln
Einstellen des umzuschlüsselnden Teils der Schlüsselkommandos am Schlüsselspeicher der Rechenstufe und Weitergeben des Speicherwertes der angerufenen Schlüsselspeicherzelle als Kommando an das Rechenwerk-28 bzw. dessen Speicher.
3. Wechselkommando
Anrufen einer anderen Kommandofolge bzw. Wiederholen einer iterativen Kommandofolge und gegebenenfalls Umschalten gegebenenfalls des Stufenstandes im Ablaufwerk und Löschen des Zählwerkes 31 für den Schlüsselspeicher.

Claims (10)

  1. PATENTANSPRÜCHE:
    i. Schlüssel-Programmwerk zur Steuerung von technischen Einrichtungen (vorzugsweise von Rechenmaschinen), deren Operationen nach einem Programm ablaufen, dadurch gekennzeichnet, daß ein Programmwerk und ein Schlüsselwerk (z.B. ein Chiffrierwerk bekannter Bauart) in solcher Weise miteinander in Wirkungsverbindung gebracht sind, daß vom Programmwerk kommende Einzelkommandos oder Kommandofolgen, bevor sie zur Wirkung gelangen, ganz oder teilweise im Schlüsselwerk nach einem variablen Schlüssel variiert werden können.
  2. 2. Schlüssel-Programmwerk nach Anspruch 1, dadurch gekennzeichnet, daß die Einstellung des Schlüssels im Schlüsselwerk vom Ablaufwerk aus gesteuert werden kann.
  3. 3. Schlüssel-Programmwerk nach Anspruch i, dadurch gekennzeichnet, daß das Schlüssel werk mittels Übertragungseinrichtungen (z. B. Leitungen bzw. Schaltglieder in Verbindung mit Schaltelementen) derart mit der zu steuernden Anlage in Wirkungsverbindung gebracht werden kann, daß der im Schlüsselwerk einzustellende Schlüssel jeweils durch die Anlage selbst gesteuert bzw. ermittelt wird, z. B. bei einer Rechenmaschine errechnet wird.
  4. 4. Schlüssel-Programmwerk nach Anspruch 1 bis 3, dadurch gekennzeichnet, daß das Schlüsselwerk aus ein oder mehreren Speicherwerken (Schlüsselspeichern) besteht, in deren einzelnen Zellen zwecks Umschlüsselung nach einem gegebenen Schlüssel jeweils ein Kommando bzw. dessen umzuschlüsselnder Teil gespeichert und im Bedarfsfalle durch Schlüsselkommandos, die jeweils eine entsprechende Zelle des Schlüsselspeichers anrufen, wieder abgelesen und weitergegeben werden können.
  5. 5. Schlüssel-Programmwerk nach Anspruch 1 bis 4, dadurch gekennzeichnet, daß der in das Schlüsselwerk einzugebende Schlüssel durch die Reihenfolge der Aufzählung der zu verschlüsselnden und in einem entsprechenden Schlüsselspeicher zu speichernden Kommandos (Schlüsselspeicherkommandos) beliebig variiert werden kann, und zwar dadurch, daß ein Zählwerk (31), das, von einem beliebigen Anfangswert (z. B. Null) ausgehend, nach jeder Speiche- rung um 1 oder einen anderen eventuell konstanten Betrag weiterzählt, den Speichervorgang in einer solchen Weise steuert, daß das Zählwerk jeweils eine Speicherzelle auswählt, die mit dem zu variierenden Teil des entsprechenden Kommandos belegt wird.
  6. 6. Schlüssel-Programmwerk nach Anspruch ι bis 5, dadurch gekennzeichnet, daß alle vom Programmwerk kommenden Kommandos eine Verteilerschaltung (Kommandoverteiler 30) durchlaufen, von der aus die Kommandos je nach ihrer Gruppenzugehörigkeit
    entweder (z. B. als Normalkommandos über
    Leitung 113, 114) unverändert und direkt
    oder (z. B. als Schlüsselkommandos über Leitung 116) zwecks Umschlüsselung über
    einen entsprechenden Schlüsselspeicher
    an die zu steuernde Anlage geführt werden,
    oder endlich (z. B. als Schlüsselspeicherkommandos über Leitung 118, 117)
    zwecks Speicherung zu einem entsprechenden Schlüsselspeicher gehen.
  7. 7. Schlüssel-Programmwerk nach Anspruch 1 bis 6, dadurch gekennzeichnet, daß die Variation von Kommandos und die Einstellung des jeweiligen Schlüssels in Abhängigkeit von dem Stufenstandwert in einem Programmwerk gebracht wird, das einen in Stufen unterteilten Ablauf von Kommandofolgen ermöglicht, z. B. mittels eines Stufenstandwerkes, in dem bei jedem Wechselkommando durch Addition bzw. Subtraktion der Stufendifferenz jeweils der entsprechende Stufenstandwert gebildet wird — das ist der Grad der Verschachtelung von verschiedenen Kommandofolgen ineinander, von denen die Kommandofolge des »Unterplanes« der Stufe +1 eine Zwischenoperation steuert, die vor Fortsetzung oder gegebenenfalls Wiederholung einer übergeordneten Kommandofolge (Stufendifferenz = — 1) der Stufe 0 erforderlich ist.
  8. 8. Schlüssel-Programmwerk nach Anspruch 1 bis 7, dadurch gekennzeichnet, daß die Variation von Kommandos und die Einstellung eines Schlüssels vom jeweiligen Stufenstandwert im Programmwerk (mit der Möglichkeit eines stufenunterteilten Ablaufs von Kommandofolgen) in der Weise gesteuert wird, daß
    a) Schlüsselspeicherkommandos der jeweiligen Basisstufe auf einen oder mehrere Schlüsselspeicher (32.0 . . .) der entsprechenden Rechenstufe nach dem Schlüssel dieser Rechenstufe gespeichert werden und
    b) Schlüsselkommandos der jeweiligen Rechenstufe das Ablesen der im Schlüsselspeicher gespeicherten und dem Schlüssel der Basisstufe entsprechenden Kommandos während des Ablaufs der Rechenstufe und nach deren Schlüssel bewirken.
  9. 9. Schlüssel-Programmwerk nach Anspruch 1 bis 8, dadurch gekennzeichnet, daß durch den Stufenstandwert eines Programm wer kes (mit der Möglichkeit eines stuf enunterteilten Ablauf s von Kommandofolgen) ein Speicherwählwerk
    (33) in der Weise eingestellt werden kann, daß mit dessen Hilfe die Speicherung von Schlüsselspeicherkommandos der jeweiligen Basisstufe auf einen Schlüsselspeicher der entsprechenden Rechenstufe (= Basisstufe +1) bewirkt wird.
  10. 10. Schlüssel-Programmwerk nach Anspruch 1 bis 9, dadurch gekennzeichnet, daß durch den Stufenstand eines Programmwerkes (mit der Möglichkeit eines stufenunterteilten Ablaufs von Kommandofolgen) ein Ablesewählwerk
    (34) in der Weise eingestellt werden kann, daß mit dessen Hilfe das Ablesen der" in einem Schlüsselspeicher der jeweiligen Rechenstufe gespeicherten Kommandos durch Schlüsselkommandos der Rechenstufe während des Ablaufs der Rechenstufe und nach deren Schlüssel erfolgt.
    Hierzu 1 Blatt Zeichnungen
    © 509 715/9 11.65
DE1950Z0000455 1950-04-24 1950-04-24 Schluessel-Programmwerk Expired DE977282C (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE1950Z0000455 DE977282C (de) 1950-04-24 1950-04-24 Schluessel-Programmwerk

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE1950Z0000455 DE977282C (de) 1950-04-24 1950-04-24 Schluessel-Programmwerk

Publications (1)

Publication Number Publication Date
DE977282C true DE977282C (de) 1965-12-02

Family

ID=7617725

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1950Z0000455 Expired DE977282C (de) 1950-04-24 1950-04-24 Schluessel-Programmwerk

Country Status (1)

Country Link
DE (1) DE977282C (de)

Similar Documents

Publication Publication Date Title
DE2712224C2 (de) Datenverarbeitungsanlage
DE1524209B2 (de) Programmgesteuerte datenverarbeitungsanlage
DE1499288B2 (de) Datenverarbeitungsanlage
DE1181461B (de) Adressenaddierwerk einer programm-gesteuerten Rechenmaschine
DE1217670B (de) Lernfaehige Unterscheidungsmatrix fuer Gruppen von analogen Signalen
DE1106533B (de) Elektronische Programmumschaltung
DE2744434A1 (de) Prozessteuersystem und verfahren zur prozessteuerung
DE60221515T2 (de) Speichersystem für schleifenbeschleunigung nach wunsch
DE2015272A1 (de) Programmleitwerk für eine digitale Datenverarbeitungsanlage
DE977282C (de) Schluessel-Programmwerk
DE1499286B2 (de) Datenbearbeitungsanlage
DE1549497A1 (de) Rechner mit eingegebenem,bedingt ablaufendem Programm fuer die Steuerung einer automatischen Fernsprechvermittlungsanlage
DE1808678B2 (de) Verfahren und schaltungsanordnung fuer elektronische daten waehlvermittlungsanlagen mit einem zentralen speicher
CH493886A (de) Datenverarbeitungsanlage
DE1296427B (de) Datenbearbeitungssystem
DE1226641B (de) Statischer Zaehler zum Vor- und Rueckwaertszaehlen von Impulsen
DE1914576C3 (de) Programmgesteuerte Datenverar beitungsanlage, insbesondere fur die Abwicklung von Vermittlungsvorgangen in einer Fernsprechvermittlung
DE3003465C2 (de) Einrichtung zur Erzeugung von Bedingungscodes in mikroprogrammgesteuerten Universalrechnern
DE2140858C3 (de) Paritätsbit- Vorhersage schaltung für eine Stellenverschiebeeinrichtung
DE2735874C2 (de)
EP0360897B1 (de) Verfahren und Anordnung zur Behandlung von Unterbrechungsanforderungen und Prozessaufrufen in einem kombinierten Unterbrechungs- und Ablaufsteuersystem für wenigstens zum Teil im Echtzeitbetrieb arbeitende Datenverarbeitungsanlagen
AT207146B (de)
DE2221659A1 (de) Elektronischer Universalautomat zur Steuerung industrieller Prozesse
DE1914574C (de) Programmgesteuerte Datenverarbeitungs anlage, insbesondere fur die Abwicklung von Vermittlungsvorgangen in einer Fernsprech vermittlung
DE2250080A1 (de) Vorrichtung zur elektronischen datenverarbeitung