DE977282C - Schluessel-Programmwerk - Google Patents
Schluessel-ProgrammwerkInfo
- 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
Links
Classifications
-
- 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/30181—Instruction 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.
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:
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ß | 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)
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)
- 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. Schlüssel-Programmwerk nach Anspruch 1, dadurch gekennzeichnet, daß die Einstellung des Schlüssels im Schlüsselwerk vom Ablaufwerk aus gesteuert werden kann.
- 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. 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. 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. 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örigkeitentweder (z. B. als Normalkommandos überLeitung 113, 114) unverändert und direktoder (z. B. als Schlüsselkommandos über Leitung 116) zwecks Umschlüsselung übereinen 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. 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. 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 undb) 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. 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. 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
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) |
-
1950
- 1950-04-24 DE DE1950Z0000455 patent/DE977282C/de not_active Expired
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 | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
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 | |
DE3435816A1 (de) | Vorrichtung zur numerischen signalverarbeitung | |
DE1914576C3 (de) | Programmgesteuerte Datenverar beitungsanlage, insbesondere fur die Abwicklung von Vermittlungsvorgangen in einer Fernsprechvermittlung | |
DE1499284A1 (de) | Datenbearbeitungsanlage | |
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) |