DE1774917A1 - Elektronische Rechenanlage - Google Patents
Elektronische RechenanlageInfo
- Publication number
- DE1774917A1 DE1774917A1 DE19681774917 DE1774917A DE1774917A1 DE 1774917 A1 DE1774917 A1 DE 1774917A1 DE 19681774917 DE19681774917 DE 19681774917 DE 1774917 A DE1774917 A DE 1774917A DE 1774917 A1 DE1774917 A1 DE 1774917A1
- Authority
- DE
- Germany
- Prior art keywords
- register
- command
- program
- subroutine
- execution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
- G06F9/4486—Formation of subprogram jump address
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Control By Computers (AREA)
Description
(Ausscheidung aus der Patentanmeldung P 17 Tk 038 . k vom 26. März 1968)
Die Erfindung betrifft eine elektronische Rechenanlage mit in einem internen Speicher gespeicherten Programm, die Organe
zur automatischen Ausführung des gespeicherten Programms besitzt.
Dekanntlich lassen sich bei fast allen leistungsfähigen Elektronenrechnern
die verschiedenen Befehle während der Ausführung eines Gattungsprogramms ändern.
Im allgemeinen besitzt eine solche Rechenanlage nicht nur ein
Ilauptprogramni, in welchem die numerischen Angaben zur Lösung
eines Problems und die Programmbefehle gespeichert sind, ein arithmetisches Organ, in welchem die Verarbeitung der durch
109884/1449
den Hauptspeicher übertragenen Zahlen erfolgt, und ein Regelsystem, welches den Betrieb des Rechners vorbereitet und
steuert, sondern ausserdem ein Hilfespeioherorgan, welches zahlreiche Änderungsworte für die Programmbefehle enthalten kann,
und ein geeignetes Anderungsorgan, wie es beispielsweise in
der US-Patentschrift 3 012 724 beschrieben ist.
Beim normalen Betrieb einer Reohenanlage dieser Art schickt man, wenn aus dem Hauptspeicher ein Programmbefehl extrahiert
wird, um ihn dem Regelsystem zuzuführen, diesen Programmbefehl über das Anderungsorgan, in welchem er geändert werden kann,
indem diesem Anderungsorgan zugleich ein aus dem Hilfsspeicherorgan kommendes Änderungswort zugeführt wird.
Die vorstehend beschriebene, allgemein als Änderungsregister bezeichnete Vorrichtung hat den wesentlichen Vorteil, dass
sie der Rechenanlage eine hohe Programmierungsvielseitigkeit in dem Sinne verleiht, dass sie es ermöglicht, während des
Betriebs der Rechenanlage die Änderung jeglichen Befehls eines im Hauptspeicher enthaltenen Programms oder Gattungsunterprogramms vorzunehmen.
Im einzelnen ermöglicht dieses Änderungsregister die mehrmalige
Verwendung eines gegebenen Unterprogramms, auf welches das Hauptprogramm an mehreren Stellen seines Ablaufs zurückgreift,
weil es das wiederholte Verändern desjenigen Endbefehle des
109884/UÄfl
Unterprogramms ermöglicht, der die Stelle identifiziert, an
welcher die Ausführung des Hauptprogramms jedesmal wiederaufgenommen wird.
Mehr allgemein ermöglicht die Verwendung dieses Änderungsregisters das Erhalten der mittelbaren Adressierung verschiedener
Unterprogramme, die sich also in besonderen, durch den Program- g mierer frei gewählten Zonen des Hauptspeichers speichern lassen.
Jedoch hat sioh bei Rechnern mit dynamische* Speioher die Anwendung des Änderungsregisters als ziemlich komplex erwiesen,
da unvermeidlich zusätzliche Zähl- und Adreesiervorrichtungen verwendet werden müssen, die notwendig sind, um den zu ändernden Befehl an der riohtigen Stelle zu extrahieren und ihn
geändert in die vorbestimmte Adresse erneut einzuspeichern.
Hinzuzufügen ist nooh, dass die durch diese technischen Mass- "
nahmen bedingte wirtschaftliche Belastung, obwohl sie für elektronische Rechenanlagen mit hohen Leistungen und erheblichem
Wirkungsgrad vertretbar ist, für wirtschaftlichere Modelle dieser Rechner Ubermässig hoch sein kann. Mit Hilfe der Rechenanlage
nach der Erfindung werden diese Mängel behoben.
Gemäss der Erfindung wird eine elektronische Rechenanlage geschaffen, die dadurch gekennzeichnet ist, dass eine Vorrichtung
109884/1U9
zum Lesen von je ein Unterprogramm enthaltenden einzelnen Karten besitzt, mit Hilfe derer, in Abhängigkeit von automatischen
Adressiermitteln, das Einführen einer einzelnen Karte in die Lesevorrichtung mittels Betätigung durch den Bedienenden das
Einspeichern des Unterprogramms in den internen Speicher und danach seine Ausführung bewirkt.
Gemäss einem weiteren Merkmal der Erfindung enthält die Ilechenanlage
einen am Ende des Unterprogramms gespeicherten Unterprogramm-Endbefehl^
der zum Wiederaufnehmen der Ausführung des Ilauptprogramms einwirkt, so dass das Unterprogramm auf der Karte
aufgezeichnet werden kann, ohne jeden Bezug auf das besondere Hauptprograram, in welchem dieses Unterprogramm von Fall zu Fall
verwendet wird.
Diese sowie weitere Merkmale der Erfindung sind in der nachfolgenden,
eine Ausführungsform der elektronischen Rechenanlage und einige die Verwendung eines oder mehrerer Unterprogramme
vorsehenden Programmverarbeitungsbeispiele betreffenden Beschreibung anhand der beigefügten Zeichnungen näher erläutert.
Es zeigen:
Fig. la und Ib ein vereinfachtes Schaltbild einer
AusfUhrungsforia der Rechenanlage naoh
der Erfindung,
109884/1U9
Fig. 2, wie Fig. la und Ib zusanunenzuf Ugen sind,
Flg. 3 ein Zeitdiagramm einiger Taktsignale der
Rechenanlage nach Fig. la und Ib,
Fig. 4 eine Gruppe bistabiler Schaltungen der Rechenanlage nach Fig. la und Ib,
Fig. 5 einen Kreis zur Steuerung der in der Rechen— anlage nach der Erfindung verwendeten Markierungsbits,
Fig. 6 ein Ablaufschema der Verarbeitung der Befehle eines Hauptprogramms und eines besonderen, bei
der Rechenanlage naoh der Erfindung zweimal zu wiederholenden Unterprogramms,
Fig. 7 das Ablaufschema der Verarbeitung der Defehle I
eines Hauptprogramms/sowie von zwei unterschiedlichen
Unterprogrammen in der Rechenanlage nach der Erfindung.
lies ti mm to Tel Le der elektronischen Rechenaniage nach der Erfindung
stimmen mi L entsprechenden Teilen von in der USA-Patentschrift
3(>'i !i · bereits beschriebenen Uecheiianlagen iiberein. Deshalb
werde.') diene Teile sowie die sie in Hotrieb .setzenden Arbeitsnur
suiumariweli Uoscliriebon.
109884/1U9 ~6~
Allgemeine Beschreibung
Der Reohner nach der Erfindung besitzt (Fig. la und Ib)
einen aus einer Verzögerungsleitung LDR bestehenden Speicher mit beispielsweise 10 Registern I, J, M1 N, R,
Q, U, Z, D, E, der mit einem einen Leseverstärker 39 speisenden Lesewandler 38 und einem von einem Schreib—
verstärker kl gespeisten Schreibwandler 40 versehen ist.
Jedes Register besitzt beispielsweise 30 Dezimalstellen
mit je acht Binärstellen, so dass jedes Register bis zu dreissig 8-Bit-Zeichen speichern kann. Sowohl die Zeichen
als auch die Bits werden in Reihe verarbeitet. Demzufolge läuft eine Reihe von 1Ο·8·3Ο Binärsignalen in der
Verzögerungsleitung LDR um. Die auftretenden zehn ersten Binarsignale stellen das erste Bit der ersten Dezimalstelle
der entsprechenden Register R, N, M, J, I, Q, U, Z, D bzw. E dar, die darauffolgenden zehn nächsten Binärsignale
stellen das zweite Bit der ersten Dezimalstelle derselben Register dar usw.
Wenn beispielsweise angenommen wird, dass diese Binärsignale in der Verzögerungsleitung so aufgezeichnet werden,
dass sie um 1 Mikrosekunde voneinander getrennt sind,
so sind die zu einem bestimmten Register gehörenden Signale 10 Mikrosekunden voneinander getrennt, d.h.,dass
jedes Register eine Reihe von 8.30 um 10 Mikrosekunden
109884/U49 -7-
7 _ 177A917
voneinander getrennten Binärsignalen enthält, wobei die zu den verschiedenen Registern gehörenden Binärsignalreihen
um 1 Mikrosekunde zueinander versetzt sind.
Der Leseverstärker 39 speist einen Serien-Parallel-Urasetzer
k2, der über zehn gesonderte Ausgangsleitungen
LR, LM, LN, LJ, LI, LE, LD, LQ, LU und LZ zehn gleichzeitige Signale erzeugt, die die in derselben Binärstelle
derselben Dezimalstelle der jeweiligen zehn Register ^
gespeicherten zehn Bits darstellen.
Demzufolge sind zu einem gegebenen Zeitpunkt zehn Signale, die das erste Bit der ersten Dezimalstelle aller Register
darstellen, an den Ausgangsleitungen gleichzeitig vorhanden; zehn Mikrosekunden später zehn das zweite Bit der
ersten Dezimalstelle darstellende Signale an diesen Ausgangsleitungen vorhanden u.s.w.
Jede Gruppe aus zehn an den Ausgangsleitungen des Um- "
setzers Ί2 parallel vorhandenen Signalen wird nach ihrer
Verarbeitung einem Parallel-Serien-Umsetzer kj>
zugeführt, der dem Schreibverstärker kl die zehn erneut in Reihe angeordneten und um 1 Mikrosekunde voneinander getrennten
Signale liefert, so dass der Wandler 40 diese Signale
entsprechend der Arbeitsweise des Rechners eventuell geändert unter Beibehaltung ihrer vorherigen gegenseiti-
-B-
109884/1U9
gen Lage in die Verzögerungsleitung einschreibt. Somit ist klar, dass die einfache Verzögerungsleitung LDR in
bezug auf die ihren Inhalt verarbeitenden Aussenkreise einer Gruppe von zehn parallel arbeitenden Verzögerungsleitungen gleichwertig ist, die je ein einfaches Register
enthalten und mit einer Ausgangsleitung LR, LM, LN, LJ, LI, LE, LD, LQ, LU bzw. LZ sowie einer Eingangsleitung
^ SR, SM, SN, SJ, SI, SE, SD, SQ, SU bzw. SZ versehen sind.
Diese versetzte Anordnung der Signale in der Verzögerungsleitung erlaubt es, dass alle Register des Rechners in
einer einfachen, mit nur einem Lesewandler und einem
Schreibwandler versehenen Verzögerungsleitung enthalten sind, so dass die Kosten nicht viel höher sind als für
eine Verzögerungsleitung mit nur einem Register. Darüber hinaus ist es, da die Impuls-Wiederholungsfrequenz in
der Verzögerungsleitung zehnfach grosser ist als in ύέη
" Verarbeitungskreisen des Rechners, möglich, gleichzeitig eine gute Ausnutzung der Speicherkapazität der Verzögerungsleitung
zu erreichen, während in den anderen Teilen des Rechners langsam arbeitende und somit billige Schaltkreise
verwendet werden können.
Da die Verzögerungsleitungsspeicherung in ihrer Art zyklisch
ist, wird der Betrieb des Rechners in aufeinanderfolgende Speicherzyklen aufgeteilt, wobei jeder Zyklus
10988W1U9
dreissig Digitperioden Ci bis C30 enthält und jede Digitperiode
in acht Bitperioden Ti bis T8 aufgeteilt ist (Fig. 3).
Ein Taktimpulsgenerator kh erzeugt an den Ausgangsleitungen
Tl bis T8 aufeinanderfolgende Taktimpulse, die
je eine eine entsprechende Bitperiode anzeigende Dauer haben. Mit anderen Worten ist der Ausgangsanschluss Ti
während der gesamten ersten Bitperiode jeder der dreissig Digitperioden erregt, während der Ausgangsanschluss T2
entsprechet während der gesaraten zweiten Bitperiode
jeder der dreissig Digitperioden erregt ist, u.s.w.
Der Taktimpulsgenerator hh ist, wie nachstehend noch
näher erläutert, mit der Verzögerungsleitung LDR in der Weise synchronisiert, dass der Beginn der η-ten Gattungsbitperiode
der ni-ten Gattungsdigitperiode mit dem Zeitpunkt zusammenfällt, zu dem die zehn in der η-ten BinärsteLle
der m-ten Dezimalstelle der zehn Speicherregister eiiigelesenen zehn Bits an den Ausgangsleitungen des
Serien-Parallel-Ums tzers h2 verfügbar zu werden beginnen.
Diese Binärsignale werden in dem Umsetzer k2 für die
gesamte Dauer der entsprechenden Bitperiode gespeichert. Während derselben Bitperiode werden die durch Verarbeiten
der zehn besagten Bits erzeugten zehn Bits dem Parallel-Serien-Umsetzor
h3 zugeführt und in die Verzögerungsleitung
eingeschrieben.
-10-
109884/U49
Im einzelnen erzeugt der Taktimpulsgenerator 44 im Verlaufe
jeder Bitperiode zehn Impulse Mi bis MiO. Der Impuls Mi bestimmt die Lesezeit, d.h. den Zeitpunkt,
zu dem der Serien-Parallel-Umsetzer 42 die zu der vorliegenden Ditperiode gehörenden Bits verfügbar zu machen
beginnt, während der Impuls M4 die Einschreibzeit, d.h. den Zeitpunkt angibt, zu dem die verarbeiteten Bits zum
Einschreiben in die Verzögerungsleitung dem Parallel-Serien-Umsetzer 43 zugeführt werden.
Der Taktimpulsgenerator 44 besitzt einen Oszillator 45,
der im Betrieb einen Impulsverteiler 46 mit Impulsen von der Frequenz der Impulse Ml bis MlO speist, der einen
Frequenzteiler 47 zum Erzeugen der Taktimpulse Tl bis TS speist.
Der Oszillator 45 ist nur in Betrieb, solange eine bistabile Schaltung AlO erregt bleibt, die durch in der
Verzögerungsleitung LDR gespeicherte Signale gesteuert
Jede Dezimalstelle des Speichers LDR kann entweder ein Dezimaldigit oder einen Befehl enthalten. Im einzelnen
können die als erstes bzw. zweites Befehlregister bezeichneten
Register I und J ein Programm speichern, das höchstens aus sechzig Befehlen besteht, die der Reihe
109884/1U9
177A917
nach In den dreissig Dezimalstellen des Registers I und
in den dreissig Dezimalstellen des Registers J gespeichert sind. Von den übrigen Registern sind M, H und R Operationsregister,
können die Register Z und U ausschliesslich numerische Daten und die Register Q, D und E beliebig
Programmbefehle oder numerische Daten enthalten.
Unter diesen besonderen Bedingungen können die Register ^, TJ, Z, D, E in zwei Teile unterteilt werden, damit sie
zwei Zahlen von je höchstens fünfzehn Ziffern enthalten können.
Bei der beschriebenen Rechenanlage haben die verschiedenen Programmbefehle einen veränderbaren Aufbau, wobei
mindestens die folgenden drei typischen Arten möglich sind.
Der Befehl einer ersten Art besteht aus acht Bits Bl bis Βΰ, die jeweils in den Binärstellen Ti bis T8 einer bestimmten
Dezimalstelle gespeichert sind und von welchen die letzten vier Bits (B5 bis B8) eine der sechzehn auszuführenden
möglichen Operationen Fl bis Fl6, die vier anderen (Bl bis B*i) im allgemeinen die Adresse eines
Operanden darstellen, auf dem diese Operation ausgeführt werden soll.
109884/1U9
Die Befehle einer zweiten Art bestehen aus zwei aneinander angrenzenden Zeichen aus je acht Bits Bi bis B8,
die jeweils in den Binärstellen Tl bis T8 von zwei aneinander angrenzenden Dezimalstellen gespeichert sind.
Die acht ersten Bits Bl bis B8 (erstes Zeichen des vorerwähnten Zeichenpaares) stellen zusammen einen Punktionscode
dar, der eine gegenüber dem zweiten Zeichen des Zeichenpaares auszuführende bestimmte Punktion angibt.
Beispielsweise stellen in diesem nachstehend noch näher erörterten besonderen Fall die acht Bits des ersten
Zeichens einen Befehl dar, der die Übertragung der das zweite Zeichen des Zeichenpaares bildenden acht Bits in
eine vorbestimmte Dezimalstelle des Speichers LDR steuert.
Die Befehle einer dritten Art bestehen aus acht Bits Bl bis B8, die jeweils in den Binärstellen Tl bis T8 einer
bestimmten Dezimalstelle gespeichert sind und global einen Funktionscode mit acht Bits angeben.
Jedes Dezimaldigit wird entsprechend einem binärverschlüsselten Dezimalcode in dem Rechner mit Hilfe von
vier Bits B5, B6, B7, B8 dargestellt. In dem Verzögerungsleitungsspeicher LDR werden diese vier Bits in den letzten
auftretenden vier Binärstellen T5, T6, T7 bzw. T8 einer bestimmten Dezimalstelle aufgezeichnet.
-13-
1 0 9 8 8 UI U U 9
BAD ORIGINAL
Im einzelnen wird in dieser Dezimalstelle die Binärstelle
T*t zum Speichern eines Kommabits Bk verwendendes
für die gesamte Ziffer einer Dezimalzahl mit Ausnahme der ersten ganzen Ziffer hinter dem Komma gleich M0n
ist, Die Binärstelle T3 wird zum Speichern eines Vorzeichenbits B3 verwendet, das für alle Dezimaldigits
einer positiven Zahl gleich w0" und für alle Dezimaldigits
einer negativen Zahl gleich rtl" ist. Die Binär- ™
stelle T2 wird zum Speichern eines Digit-Erkennungsbits
B2 verwendet, das in jeder durch ein Dezimaldigit einer Zahl besetzten Dezimalstelle gleich "1" und in jeder
unbesetzten Dezimalstelle gleich "0" ist.
Demzufolge erfordert die vollständige Darstellung eines
Deziraaldigits in dem Speicher LDR die sieben Binärstellen
T2, T3, Th, T5> T6, T7 und T8 einer gegebenen Dezimalstolle.
Die verbleibende Binärstelle Tl wird zum Speichern j eines Markierungsbits verwendet, dessen Bedeutung nicht
unbedingt mit der in dieser Stelle gespeicherten Dezijiialziffer
in Beziehung zu stehen braucht.
Ein in der erstem Dezimalstelle Ul des Uegisters H gespeichertes
Bit BlH = "1" wird am Anfang jedes Speicherzyklus
zum Starten de« Taktimpulsgeriürators kh verwendet;
«πι in der 30-ten Dezimalstelle C30 des Registers E gespeichertes
Bit DIE = "1" wird zum Anhalten des Genera-
-14-
109884/U49
tors lik verwendet} ein in der η—ten Dezimalstelle des
Registers N gespeichertes Bit BIN = "1" zeigt an, dass
während der Durchführung eines Programms der nächstfolgende auszuführende Befehl der in dieser η-ten Dezimalstelle
des Registers des gewählten Programms gespeicherte Befehl ist; ein in der η-ten Dezimalstelle des ilegisters
M gespeichertes Bit BlM = "1" zeigt an: l) dass
beim Eingeben einer Zahl über das Tastenfeld in das Register M das nächste eingegebene Dezimaldigit in der
(n-i)-Deziraalstelle gespeichert werden soll; 2) dass beim
Eingeben eines Befehls über das Tastenfeld der nächstfolgende Befehl in der η-ten Dezimalstelle des Registers
des gewählten Programms gespeichert werden soll; 3) dass beim Drucken einer in einem ausgewählten Gattungs-Register
gespeicherten Zahl das nächste zu druckende Digit das in der η-ten Dezimalstelle dieses Registers gespeicherte
Digit ist; k) dass beim Addieren von zwei Zahlen das Digit der in der η-ten Dezimalstelle des Registers N
gespeicherten Summe danach durch Addieren eines bestimmten Digits korrigiert wird. Ein in der l6-ten Dezimalstelle
CIo des Registers Z gespeichertes Bit BlZ = "1"
stellt eine Anzeige dar, die es erlaubt, die Register (I1 U, Z, D, E in zwei Hälften zu teilen. Ein in der
η-ten Dezimalstelle des Registers (J gespeichertes Bit Blü = "1" zeigt an, dass die Ausführung eines Hauptprogramius
beim n—ten Befehl aus dem Register I oder J
109884/U49
unterbrochen worden ist, um auf die Ausführung eines
Unterprogramms überzugehen. Deshalb werden die Bits HlH, HlE, BlZ zur Darstellung feststehender Bezugsstellen
in den verschiedenen Registern verwendet; die Bits BIN, IjIM und BlU stellen verstellbare Bezugsstellen dar.
Die Bits BlM werden bei Durchführung einer Addition ausserdem dazu verwendet, für jede Dezimalstelle eine
zu einer auf dieser Dezimalstelle durchgeführte oder durchzuführende Operation gehörende Information aufzu- ä
zeichnen. Die Regenerierung oder die Änderung (Verschiebung) der Markierungsbits erfolgt mit Hilfe eines Markieriingsbite-Steuerkreises
37.
Die Hechnungsanlage nach der Erfindung enthalt ausserdan
einen Biniiraddierer 72, der mit zwei Eingangsleitungen
1 und 2 versehen ist zur gleichzeitigen Aufnahme von zwei >
addierenden Bits, die an der Ausgangsleitung 3 das erzeugen.
V.-;r Rechner ist ausserdem mit einem Verschiebereeister
<:. 1 χ acht Binärstuf en Kl bis KS versehen. Das Register
ι, xon üblicher Bauart ist so aufgebaut, dass es jedes
'al, wenn es einen Verschiebämpuls über den Anschluss Ί aufnimmt, die in den Stufen K2 bis KS gespeicherten
Bits jeweils in die jeweils vorangehenden Stufen Kl bis K? verschoben werden, wahrend die dann in den !,ΐινσ;·ίΐ -
10 9 884/ 144 9
leitungen 5, 6, 7, 8, 9, 10, 11, 12, 13 vorhandenen Bits
jeweils in die Stufen Kl, K2, K3, K4, K5, K6, K7, K8 und
nochmals K8 übertragen werden.
Die Verschiebe-Steuerimpulse werden von den Impulsen Wt
gebildet. Das Register K empfängt einen von ihnen während jeder Bitperiode, d.h. während jeder Digitperiode
acht Verschiebeimpulse. Der Inhalt jeder Stufe des Refc gisters K bleibt von dem Impuls Hk jeder Bitperiode bis
zu dem Impuls MAi der nächstfolgenden Bitperiode unverändert.
Somit ist klar, dass ein der Eingangsleitung 13 des Registers K während einer bestimmten Bitperiode
zugeführtes Bit an der AusgBngsleitung Ik des gleichen Registers nach acht Bitperioden, d.h. eine Digitperiode
später, verfügbar ist, so dass das Register K wie ein Verzögerungsleitungsabschnitt mit einer einer Digitper^ode
entsprechenden Länge wirkt.
W pi = ν·.«h Auaeiili essen eines Gattungs-Speicherregisters X
o-r; fias Register K in einer geschlossenen Schleife,
■ !· ro alle übrigen Register in sich selbst geschlossen
ι - -c wird dieses Register in bezug auf die übrigen
/ : v. effektiv um eine Digitperiode verlängert. Y/enn
: ;: η te Dezimalstelle des Registers X als diejenige
r : 1I5 die gleichzeitig mit der η-ten Dezimalstelle
-.'■"■ίί i'po icherr.,;ti yter entnommen wird, dli. wahrend
.i '"'!. r\■)' i.i'ürΙο;'?; seit des Entneliiiiens des den Takt,—
1 09S64/ 1 443
BAD ORIGINAL
17 - 177A917
impulsgenerator lih startenden Bits BlR, dann wird der
Inhalt des Registers X während jedes Speicherzyklus um eine Dezimalstelle verschoben, d.h. in bezug auf die
anderen Register um eine Digitperiode verzögert.
Das Register K kann aufgrund seiner Fähigkeit, als Verzögerungsleitung zu wirken, gemäss den auf Seite
des Verkes "Arithmetic Operations in Digital Computers" von R. K. Richard, 1955» dargelegten Grundsätzen ausserdem
als Zähler verwendet werden. Im einzelnen ist dieser Zähler, sofern seine Ausgangsleitung 13 und seine Eingangsleitung
Ik ai die Ausgangsleitung 3 bzw. an die
Eingangsleitung 1 des Addierers angeschlossen sind, während die Eingangsleitung 2 des Addierers kein Signal
aufnimmt, in der Lage, aufeinanderfolgende Zählimpulse
zu zählen, die einer bistabilen Übertragsspeichervorrichtung A5, die in dem Addierer enthalten ist, entsprechend
dem nachfolgenden Kriterium zugeführt werden.
Indem die in dem Register K enthaltenen acht Bits als eine Binärzahl mit acht Binärstellen angesehen werden,
kann der bistabilen Schaltung A5 ein Zählimpuls zugeführt v/erden, sobald die unbedeutendste Binärstelle aus dem Register
K entnommen wird. Demzufolge sind die Zählimpulse zeitlich um eine Digitperiode oder ein Mehrfaches von
ihr voneinander getrennt.
-18-
109884/1449
177«17
Io —
Ausserdera kann das Register K als Pufferspeicher zum
vorübergehenden Speichern einer Dezimalziffer oder des Adressenteils eines Befehls oder des Punktionsteile
wirken, um eine Druckeinheit zum Drucken des Digits
oder des Adressenteils oder des Funktionsteils zu steuern.
Beim Übertragen von Daten oder Befehlen aus dem Tastenpult
22 in den Verzögerungsleitungsspeicher LDR kann das Register K ausserdem als Parallel-Serien-Umsetzer wirken,
wie es in der US-Patentschrift 3 304 418 genauer besehrieben ist.
Die Rechenanlage nach der Erfindung besitzt ausserdem einen Befehl-Serien-Parallelwandler 16 mit aoht Binärstufen Il bis 18 zum Speichern der jeweiligen Bits eines
Befehls.
Diese die Adressierbits Bl bis Bk sowie die Funktionsbits B5 bis B8 dieses Befehls enthaltenden acht Binärstufen Il bis 18 speisen einen Decoder 17 mit aoht Ausgängen und verschiedenen Ausgangsleitungen Yl bis Y8 bzw.
Fl bis Fl6.
Die die Adressierbits Bl bis Bk des Befehls enthaltenden
vier ersten Stufen Il bis Ik speisen die vier ersten Eingänge des Decoders 17. Bei einem Befehl der im Vor-
109884/1449
stehenden beschriebenen ersten Art ist von den je mit einem der acht adressierbaren Speicherregister in Beziehung
stehenden acht Ausgangsleitungen Yl bis Y8 diejenige erregt, die mit dem Register übereinstimmt, dessen
vier Bits Bi bis Bk die Adresse identifizieren.
Es sei bemerkt, dass die Adresse des Registers M duroh vier Bits gleich "O" dargestellt wird, so dass das Register
M automatisch gewählt ist, wenn nicht ausdrück- Λ
lieh eine andere Adresse gegeben wird.
Die die Bits B5 bis B8 des durch den Umsetzer 16 geschickten Defehle enthaltenden übrigen vier Stufen 15 bis 18
speisen die übrigen vier Eingänge des Decoders 17. Sofern
d-sr umgewandelte Befehl ein Befehl der ersten Art
i ~-i- ■■*- lerjenige der Ausgänge Fl bis Fl6 erregt, welo
·/ durch die vier Bits B5 bis BS dargestellten
υ entspricht.
υ entspricht.
. ί ■ ■>
α der zweiten und der dritten Art, bei welcher.
ί ;.ts Bl b;s J-; des ^r.'-'ten Zeichens des Zeichen-P
; s ''ei: Befehl.- . »eit':r Ai+" ;n:i das einzige /eichen
■:-l*ihl;>
dritt- - -; "^- r "si.'-h;M:i; erörtert, cl^b,-,'
ι - ; -.mk tionsco- ■;· :.c!ii '-;ts 'i.u's toi 1 <·ι-,, v.-ird ein
. i_:vr ..usgang ;. ■. '■■·.-■-.ye " ■·■:):. i'i;"', un- /'.;.:■ -..:■.—
BAD υ.ν.ο·
der Gruppe Yl bis Y8 keiner erregt wird, da in diesem Falle das umgewandelte Befehlszeichen keine der Adressen
Yi bis Y6 darstellt.
Ausserdem können die Ausgänge der Stufen Il bis 14 und
die Ausgänge der Stufen 15 bis 18 über ein Gatter 19
bzw. 20 an die jeweiligen Eingänge der Stufen K5 bis K8
fe des Registers K angeschlossen werden, um die Adresse bzw.
die Funktion auszudrucken, die in diesen Stufen enthalten sind. Ein an sich bekannter Umschaltkreis 36 ist
vorgesehen, um entsprechend verschiedenen Arten die Speicherregister, den Addierer 72, das Register K oder den
Bef ehl-Serien-Pard-lel-Umsetzer l6 untereinander zum
Steuern der Daten und Befehlsiibertragungen zwischen diesen verschiedenen Teilen zu verbinden. Es leuchtet also
ein, dass der Umschaltkreis 36 ausserdem die Aufgabe hat, aufgrund der ihm aus dem Decoder 17 zugeführten Adresse
" die Register auszuwählen.
Das Tastenpult 22 zum Eingeben der Daten und der Befehle vnü zur Steuerung der verschiedenen Funktionen des Rechner!
enthalt ein Zahlentastenfeld 65 mit zehn Zifferntasten
0 bis 9, die dazu dienen, über das Register K
ein Zahl in das Register M einzugeben, das unter den !tegjKL>;H des Speichers LDR das einzige von dem Zahlen—
tasti i;f
<: Id aus zugängliche Register ist. Das Tastenpult
109884/14*9 BAD ORIG1NAL
22 enthält ausserdem ein Adressentastenfeld 68, das mit
den Tasten Q, U, Z, D, E, N, R versehen ist, die je die
Wahl eines gleichnamigen Registers des Verzögerungsleitungsspeichers LDR steuern.
Das Tastenpult 22 enthält ausserdem ein Funktionstastenfeld 69 mit Tasten Pl bis Fi6, die je dem Funktionsteil
eines der Befehle entsprechen, die der Rechner ausführen ä kann.
Die drei Tastenfelder 65» 68 und 69 steuern eine übliche
mechanische Decodereinrichtung, die aus Codierstäben besteht, die mit elektrischen Schaltern zusammenwirken,
um an vier Leitungen Hl, 112, 113, H^ vier Binärsignale
zu erzeugen, die entweder die vier Bits einer auf dem Tastenfeld 65 eingestellten Dezimalziffer oder die vier
Bits einer auf dem Tastenfeld 68 eingestellten Adresse oder die vier Bits einer auf dem Tastenfeld 69 eingestellten
Funktion darstellen, wobei die Decodereinrichtung ausserdem eine Ausgangsleitung Gl oder G2 oder G3 erregen
kann, um anzuzeigen, ob das Tastenfeld 65 oder das Tastenfeld 68 bzw. das Tastenfeld 69 betätigt worden ist.
Eine Kommataste 67 und eine Taste 66 für ein negatives
algebraisches Vorzeichen erzeugen bei ihrer Betätigung unmittelbar ein Binärsignal in der Leitung V bzw. SN,
-22-
109884/U49
Einige der von der Rechenanlage ausführbaren Befehle sind
nachstehend aufgeführt (der Buchstabe Y bedeutet das der in dem Befehl bezeichneten Adresse entsprechende Gattungsregister):
Fl) Addition: Übertragen der in dem gewählten Register Y gespeicherten.Zahl in das Register M, dann addieren
des Inhalts des Registers M zu dem Inhalt des Registers N und speichern des Ergebnisses in dem
Register N, d.h. symbolisch: Y — Mj (Ν+*!) — N;
F2) Subtraktion; Entsprechend: Y — M; (N-M) — Nj
F3) Multiplikation; Entsprechend: Y—M; (Ν·Μ) — N;
Fk) Division: Entsprechend: Y — Mj (N:M) — N}
F5) Übertragen aus M: Übertragen des Inhalts des Register
M in das gewählte Register Y1 d.h. N — Yj
Fe) Übertragen in N: Übertragen des Inhalts des gewählten
Registers in das Register N, d.h. Y — Nj
F7) Austausch: Übertragen des Inhalts des gewählten Registers in das Register N und umgekehrt) d.h. Y — N;
N — Yj -23
109884/1449
F8) Drucken: Ausdrucken des Inhalte des gewählten Registers;
F9) Drucken und Löschen: Ausdrucken des Inhalts des gewählten Registers Y und Löschen des Inhalte;
Ausführung des Programms und warten, bis der Bedienende Daten in das Tastenfeld eingibt; diese
Daten in das gewählte Register einspeichern, da- ^
nach die automatische Funktion wiederherstellen;
die in dem vorliegenden Befehl enthaltenen Adresse spezifizierten ersten acht Zeichen und Übertragen
dieses Zeichens in das Register M;
VX'J.) Unbedingter Sprung auf den in dem vorliegenden
Befehl spezifizierten Programmbefehl; |
Ki3) Bedingter Sprung;
Vi'i) Sprung auf den in der ersten Stelle des ersten
Progranunreg j s i ers enthaltenen Befehl. Es handelt
sich um einen Befehl der dritten Art ge;nass der im
Vorstehenden \ ; rv'-i.cotor; Benennung, dessen ihn >:il-
oo iiende acht Bii.s g\i.<h::>i uie Uit-r ki/canebene .
"*** tion darstellen. Dies ist einv. bt>sc?,!ri<_ Ar!, von
^ unbedingten Sprung, dessen Verwendung La κ<>ίίοη I 1 i dien
mit der Wiedereintrittsoperntj on aus ν in<
-w InKi-
programm in das Hauptprogramm in Verbindung steht.
Jeder der vorgenannten Befehle besteht aus einem einzigen Zeichen aus acht Bits. Jedoch gibt es, wie erwähnt, auch
Befehle, die aus einem Paar aneinander angrenzender Zeichen bestehen (Befehle mit zwei Zeichen).
Von diesen ist hier folgender näher zu erörternj
^ FI5. (Fi2.Sn), worin F15 das erste Zeichen aus acht die
Funktion darstellenden Bits angibt: Änderung des ersten Befehls aus dem ersten Programmregister, indem er durch
die das zweite Zeichen des vorliegenden Befehls bilden den acht Bits ersetzt wird. Diese acht Bits umfassen
vier eine Sprungfunktion F12 angebende Bits und vier die Adresse Sn, auf die gesprungen werden soll, angebende
Bits. Die Sprungadresse ist hier keine Stellenadresse, sondern eine auf dem in dem Adressenteil des Befehls enthaltenen
Code basierte Adresse, wobei selbstverständlich " die Endstelle des Sprunges die erste Stelle der in diesem
enthaltenen Code, der beim gewöhnlichen Abtasten des Speichers angetroffenen Stellen ist.
Diese Änderung des Befehls wird im wesentlichen beim Wiedereintritt aus einem Unterprogramm in das Hauptprogramifi
nach der Erfindung verwendet.
Die Wirkungsweise dieser Befehle wird später noch naher
erliiftort.
109884/1U9
BAD ORIGINAL
177A917
Die Rechenanlage nach der Erfindung lässt sich wahlweise so einstellen, dass sie nach drei Arten, und zwar "von
Hand", "automatisch" und "Programmeinspeicherung" in
Abhängigkeit davon, ob ein Schalter 23 mit drei Stellungen
ein Signal PM, PA oder IP erzeugt, arbeitet. Alle vorerwähnten Defehle können bei automatisches Betrieb
ausgeführt werden und die ersten neun Befehle können auch bei Handbetrieb ausgeführt werden.
Während des Prograraraeinspeicherungsbetriebes, bei dem
das Signal IP auftritt, sind das Adressentastenfeld 68
und das Funktionstastenfeld 69 betätigbar zum Eingeben
der Programmbefehle in die von diesen bestimmten Register
über das Register K. Zu diesem Zweck können die Ausgänge Hl bis Uk des Tastenfeldes über das Gatter 2k jeweils
an die Eingänge θ bis 11 des Registers K angeschlossen werden. Während dieser Zeit ist das Tastenfeld 65 unwirksam
(ausser Betrieb).
Während des automatischen Betriebes, bei dem das vorher in den Speicher eingespeicherte Programm ausgeführt wird ,
sind das Adressentastenfeld und das Funktionstastenfeld
unwirksam .
Der automatische Betrieb besteht aus einer Folge von Befehl-Substituierphasen und Befehl-AusfUhrphasen. Im
-26-
1Q9884/U49
einzelnen wird während einer Gattungs—Substituierphase
ein Befehl aus dem Programmregister extrahiert und in den Serien-Parallelwandler 16 übertragen. Auf diese
Phase folgt automatisch eine Ausführungephase, in der
der Rechner unter Steuerung durch den gespeicherten Befehl diesen Befehl ausführt. Auf diese Ausführungsphase folgt automatisch eine Substituierphase für den
nächstfolgenden Befehl t der extrahiert und anstelle des
vorherigen Befehle gespeichert wird u.e.w.
Sofern der übersetzte und ausgeführte Befehl ein Befehl
der zweiten Art ist, der, wie vorstehend erörtert, aus zwei aneinander angrenzenden Zeichen mit je acht Bits
gebildet ist, wird nur das erste Zeichen dieses Befehls aus den Programmregistern extrahiert und in den Serien-Parallel-Umsetzer
16 übertragen. Auf diese Phase folgt eine Ausführungsphase, in welcher der Rechner in Abhän—
gigkeit von dem ersten umgesetzten Zeichen, in welchem acht Bits Bl bis BS global einen eine an dem zweiten
Zeichen des Zeichenpaares durchzuführende Operation anzeigenden Punktionscode darstellen, die Übertragung der
das zweite Zeichen des Paares bildenden aoht Bits in eine vorbestimmte Dezimalstelle des Speichere LDR ausführt. Nach Beendigung der Ausführungsphase folg^automatisch
eine weitere Extraktionsphase, in welcher der auf das zweite Zeichen des aus zwei Zeiohen bestehenden
109884/14*9
Befehls folgende Befehl aus den Programmregistern entnommen und anstelle des ersten Zeichens des aus zwei
Zeichen bestehenden Befehls umgewandelt wird. Sofern in dem Serien-Parallelr-Umsetzer 16 ein Befehl umgewandelt
bleibt, bleibt das durch den Adressenteil des Befehls angezeigte Zahlenspeicherregister fortwährend gewählt,
und der Decoder 17 liefert ausserdem fortwährend das dem Funktionsteil des Befehls entsprechende Signal,
Während des automatischen Betriebes ist normalerweise auch das Zahlentasteufeld ausser Betrieb, da der Rechner nach
den vorher in den Speicher eingespeicherten Daten arbeitet, wobei es lediglich dann verwendet wird, wenn der
derzeitig umgewandelte Programmbefehl ein Dateneinspeicherbefehl
FlO ist. Es ist klar, dass dieser Befehl unter Zuhilfenahme eines bestimmten Programms die Verarbeitung
einer Anzahl Daten ermöglicht, die höher ist al: ί.ί*ΐ, die der Speicher anfänglich enthalten kann.
Bei; inadbetrieb können das Zahlentastenfeld, das Adressenaiί
!Seid und das Funktionstastenfeld alle wirksam, d.h.
;< Srieb, sein. Im einzelnen können gemäss dieser Betriebsart
das Adressentastenfeld und das Funktionstastenfelö
von dem Bedienenden dazu verwendet werden, um zu bewirken, dass der Rechner eine Folge von Operationen
entsprechend einer be i itbigei) vHhrend des automatisch'
Betriebs ausgeführten Folge as-slührt. Zu diesem Zweck
-28-
10988A/U49 c Gr^
gibt der Bedienende über das Tastenfeld eine Adresse
und eine Funktion ein, die demzufolge genau wie wahrend einer Befehl-Substituierphase bei automatischem Betrieb
über das Gatter 70 bzw. 71 In dem Serien-Parallel-Umsetzer
16 umgewandelt werden. Darüber hinaus wird durch dieses Eingeben in das Tastenfeld eine Befehl-Ausfiihrphase
eingeleitet, um diesen eingegebenen Befehl in einer, der Ausfiihrungsphase des automatischen Betriebes entsprechenden
!.'eise auszuführen. Nach Beendigung dieser
Befehl-Ausführphase stoppt der Rechner und wartet auf einen durch den Bedielenden über das Tastenfeld eingegebenen
neuen Befehl.
Wie vorstehend erwähnt, wird das Register M, sofern keine Adressentaste betätigt wird, automatisch ausgewählt,
und andererseits ist es dieses, das die über das Tastenfeld
eingegebenen Daten erhält. Demzufolge kann der Bedienende,
wenn er über das Tastenfeld einen der den vier arithmetischen Grundoperationen entsprechenden Befehle
Fl, F2, F3, Fk eingibt, wählen, das Adressentastenfeld nicht zu betätigen, sondern anstelle dessen eine
Zahl über das Zahlentastenfeld einzugeben. In diesem
Falle wird die betreffende Operation nach der eingegebenen Zahl ausgeführt. Demzufolge kann während des Handbetriebes
jede beliebige der in dem Funktionstastenfeld 69 niedergedrückten Tasten entsprechende arithmetische
-29-
109884/U49
: äs ϋώ J1*1. SAsii&AR'.yr.
Operation, entweder nach einer eventuell vorher über das
Zahlentastenfeld 65 eingegebenen Zahl oder nach einer
in einem mit Hilfe des Ädressentastenfeldes 68 eventuell
gewählten Register gespeicherten Zahl ausgeführt werden·
Ausserdem hat sich gezeigt, dass während des automatischen Betriebs die in den Befehlen spezifizierten Funktionen nach den vorher in den Speicher eingespeicherten
Daten ausgeführt werden. Vor dem Eindrücken des Schaltknopfes AUT zum Starten der automatischen Programmaueführung kann der Bedienende, naohdem er die Reohenanlage
auf Handbetrieb eingestellt hat, jedes dieser Ausgangsdaten eingeben, indem er zunächst die Daten über das
Zahlentastenfeld in das Register M eingibt, dann die
Adressentaste niederdrückt, die dem Register entspricht, in dem die Daten gespeichert werden sollen und dann die
dein Übertragungsbefehl F5 entsprechende Funktionstaete
niederdrückt.
Die Rechenanlage nach der Erfindung enthält ausserdem eine Gruppe bistabiler Schaltungen, die in Fig. Ib mit Hilfe
eirxes Kästchens 25 kollektiv und in Fig. 4 im einzelnen dargestellt sind.
Im einzelnen wird die bistabile Schaltung AO während
jedes Speicherzyklus beim Entnehmen der ein Digitanzeigebit 112 gleich "1" speichernden ersten Binärstelle T2 aus
109884/UA9
30 - .■·■·■
177*917
dem Register M erregt, worauf sie beim Entnehmen der
ein Digitanzeigebit B2 gleich "0" speichernden ersten Binärstelle T2 enterregt wird, so dass die bistabile
Sohaltung AO während des gesamten bei» Entnehmen der
in dem Register M gespeicherten Zahl verstreichenden Zeitintervalls erregt bleibt. Mit anderen Worten zeigt
die bistabile Schaltung AO in jedem Speieherzyklus die
Länge und die Lage der in dem Register M gespeicherten Zahl an. Es sei bemerkt, dass gemäss einem Merkmal der
Erfindung diese Länge und diese Lage Tüllig veränderbar
sind.
Die bistabilen Schaltungen Al und A2 sind in der Lage,
eine entsprechende Anzeige der Länge und der Lage der in dem Register N bzw. Y gespeicherten Zahl zu geben,
wobei Y das zur Zeit adressierte und gewählte Register bezeichnet. Zu diesem Zweok werden die bistabilen Schaltungen Al und A2 durch den Ausgang LN des Registers N
bzw. durch den Ausgang L des gerade gewählten Registers gesteuert. Die Ausgänge der bistabilen Schaltungen AO
und Al werden so kombiniert, dass sie ein Signal AOl erzeugen, das während jedes Speicherzyklus von der Entnahmezeit des ersten Dezimaldigits aus den Oezimaldigits
der Zahlen M und N bis zur Entnahmezeit des aulotet auftretenden Dezimaldigits dieser Dezimaldigits andauert.
-31-109884/1449
scheidenden Anzeigen einer bestimmten Digitperiode verwendet, während der eine bestimmte Operation durchgeführt
werden soll, wobei diese Anzeige insofern erzielt wird, dass die bistabile Schaltung während der genannten
Digitperiode erregt, und während der anderen Digitperioden enterregt bleibt.
Die bistabile Schaltung A7 wird normalerweise zum unterscheidenden
Anzeigen eines bestimmten Speicherzyklus f oder eines Teiles davon während des Betriebes der Eingangs-
und Ausgangseinheiten der Rechenanlage verwendet.
Die bistabilen Schaltungen A6, A8, A9 werden zum Anzeigen
von bestimmten Zuständen während der Ausführung bestimmter Befehle verwendet. Eine genauere Beschreibung der
Wirkungsweise dieser bistabilen Schaltungen ist in der US-Patentschrift 3 "30k kl8 zu finden.
Die Rechenanlage besitzt ausserdem einen Zähler h mit drei bistabilen Schaltungen, der je nach Erregungszustand
seiner drei bistabilen Schaltungen das aufeinanderfolgende Ablesen der Programmbefehle enthaltenden Speicherregister
ausführt, Die Register werden in der Reihenfolge I, J, Q, D, E abgetastet.
-32-
109884/1U9
Genauer gesagt, bringt die Vorderkante, die das Erregen
einer bistabilen Schaltung mit dem Zustand P23 bewirkt, den Zähler h in einen solchen Zustand, dass er die Abtastung
des ersten Befehlsregisters I ermöglicht.
Darauf fügt bei jedem Zyklus der magnetostriktiven Leitung das Ablesen LBiR der Bits BiR = i für das Starten
des Oszillators k5 dem Inhalt des Zählers 1 hinzu, so
^ dass die verschiedenen Programmregister der Reiheiiach
abgetastet werden.
Die Rechenanlage ist ausserdem mit einem Folgesteuerungsorgan 26 versehen, welches eine Gruppe bistabiler Schaltungen
mit dem Zustand Pl, P2, P3 ... Pn umfasst, die zugleich erregt werden können, so dass sich die Rechenanlage
jederzeit in einem genau bestimmten, der derzeitig erregten bistabilen Schaltung Pl - Pn entsprechenfe
den Zustand befindet. Der Betrieb der Rechenanlage umfasst den Ablauf einer bestimmten Zuständefolge, bei
welchem In jedem dieser Zustände eine bestimmte Grundoperation ausgeführt wird.'
Das Kriterium, nach welchem diese Zustände aufeinander folgen» wird durch eine an eich bekannte logische Schaltung
27» und zwar auf der Basis der ihr durch die bi-
109884/1449
stabile Schaltungen Pl-Pn über die Leitung P vermittelten
Kenntnis des derzeitigen Zustandes, des ihr durch den Codierer 18 über die Leitung F zugeflihrten derzeitig
umgewandelten Befehls und der ihr von den bistabilen
Schaltungen der Gruppe 25 aus über die Leitung A vermittelten derzeitigen internen Bedingungen des Rechners
bestimmt, wobei die logische Schaltung 27 entscheidet, welcher der zukünftige Zustand sein soll, indem sie die- f
jenige ihrer Ausgangsleitungen 28 erregt, die diesem zukünftigen Zustand entspricht. Venn darauf eine logische
Schaltung 29 (Fig. 5) einen Zustandswechsel-Taktsteuerimpuls
MG erzeugt, wird die bistabile Schaltung mit einem diesem zukünftigen Zustand entsprechenden Zustand
über das dem Ausgang 23 entsprechende Gatter 30 erregt, während alle anderen bistabilen Schaltungen enterregt
werden.
Die Rechenanlage ist ausserdem mit verschiedenen anderen
Vorrichtungen, wie beispielsweise mit der Schreibvorrichtung, der Kartenlese- und Speichervorrichtung u.s.w,
versehen.
—3h—
109884/1449
Übertragung von einem Register in das andere
Die Übertragungen zwischen den Registern des Speichers LDR erfolgen gewöhnlich, wenn sich die Maschine in einem
Zustand P2 befindet, der einen einzigen, zwischen zwei aufeinanderfolgenden Ingangsetzungen des Oszillators kj
enthaltenen Speicherzyklus dauert. Im einzelnem sdiliesst
der Schaltkreis 36 in diesem Zustand P2 sowohl bei Handals
auch bei automatischen Betrieb, 8®f«r® der Umsetzer
l6 den Befehl Y.F6 enthält, d.h. wenn Aas 4er«ei&lg
gewählte Register das Gattungsregister ¥ mm§ Mim umgewandelte
Funktion F6 ist, alle Register alt Ausnahme
des Registers N zur Wiedergewinnung ihres faa&alts an
ihre jeweiligen Eingänge an und verbindet aaasserdem den
Ausgang des gewählten Registers mit ämm ÜMttgaiig SST de«
Registers N1 so dass in einem einzigen Speicaerzyfclus
der Inhalt des Registers Y in das Register JsS Übertragen
wird.
Wenn dagegen der in dem Umsetzer l6 vorhandene Funktionsteil des Befehls Jf,F7 ist, schliesst der Schaltkreis 36
alle Register mit Ausnahme des Registers Ii und des derzeitig
gewählten Registers Y zur Wiedergewinnung ihres Inhalts an ihre jeweiligen Eingänge an und verbindet ausserdeiii
den Ausgang des Registers N bzw. des Registers Y mit
dem Eingang des Registers Y und des Registers N, so dass der Inhalt des Registers Y in das Register N und
109884/1449
umgekehrt übertragen wird.
Wenn dagegen der Umsetzer 16 den Additionsbefehl Y.Fi
oder den Subtraktionsbefehl Y.F2 oder den Multiplikationsbefehl
Y.F3 oder den Divisionsbefehl Y.F4i enthält,
schliesst der Schaltkreis 36 alle Register mit Ausnahme des Registers M zur Wiedergewinnung ihres Inhalts an
ihre jeweiligen Eingänge an und verbindet ausserdem den Ausgang des derzeitig gewählten Registers Y mit dem
Eingang des Registers M, so dass der Inhalt des Registers ™
Y in das Register M übertragen wird.
Wenn der Befehl keine besondere Adresse angibt, wird In
jedem Falle implizit, wie gewöhnlich, das Register M adressiert. Ohne Rücksicht auf den derzeitig umgewandelten
Befehl Öffnet sich beim Zustand P2 beim erneuten Anlaufen des Generators hh das Gatter 6k der Schaltung 29
(Fig. 5), um einen Zustandswechsel-Taktimpuls MG zu erzeugen,
durch welohen der Rechner auf den durch die Art t
des Befehls bestimmten nächsten Zustand umschaltet.
Dagegen bewirken, sofern bei einem anderen Zustand P9 des Rechners der Multiplikationsbefehl Y.F3 umgewandelt
wird, die durch den Schaltkreis 36 hergestellten Verbindungen entsprechend dem vorstehend erläuterten, die
,Übertragung aus dem Register N in das Register F.
-36-
109884/U49
Jegliche sonstige Übertragung zwischen den Registern
erfolgt in entsprechender Weise.
Falls der Inhalt einer Gattungsdezimalstelle Cn aus
einem Gattungsregister, beispielsweise Y, in eine entsprechende
Dezimalstelle eines anderen Registers, beispielsweise eines Befehlsregisters I übertragen werden
soll, greift man auf die bistabile Schaltung A9 zurück, die während der dieser Dezimalstelle Cn entsprechenden Digitperiode
erregt wird.
Während dieser Digitperiode Cn wirkt die bistabile Schaltung A9 auf die bistabile Leseschaltung LI des
Befehlsregisters I ein und enterregt sie· Gleichzeitig
und in durch die bistabile Schaltung A9 ermöglichter Weise wird der Ausgang der bistabilen Leseschaltung LY
des Registers Y an die bistabile Schreibschaltung SI ) des Registers I angeschlossen. Auf diese Weise erhält
man die Substitution des Inhalts in dem gewünschten Register I,
-37-
109884/1449
Ausrichtung der Zahlen in dem Speicher
Wie vorstehend erörtert, werden die Zahlen über das Tastenfeld in das Ilegister M eingegeben ohne Rücksicht
auf ihre Ausrichtung in bezug auf die in den anderen Registern enthaltenen Zahlen. Vor Ausführung einer beliebigen
der vier arithmetischen Grundoperationen werden die beiden für sie verwendeten Zahlen in nachstehend
kurz erläuterter Weise ausgerichtet.
Wie vorstehend erörtert, erfährt der Inhalt eines Registers des Speichers LDU, sofern es in geschlossener
Schleife mit dem Register K verbunden ist, in bezug auf die anderen, zur Wiedergewinnung ihres Inhalts an ihre
jeweiligen Eingänge unmittelbar angeschlossenen Register, bei jedem Speicherzyklus eine Verzögerung von einer Digitperiode.
Folglich genügt es, da die vorerwähnte Verbindung der Register mit Hilfe des Schaltkreises 36 erfolgt,
um eine in einem bestimmten Register, beispielsweise H, enthaltene Zahl so auszurichten, dass ihre erste
ganze Ziffer, welcher das Komma zugeordnet ist, auf die erste Dezimalstelle Cl gebracht wird, wenn die Rechenanlujiie
in einem Ausrichtungszustand Vj solange wiederholte
iJpeieherzyklen ausführt, bis dor Uechuer, wie vorstehend
erörtert, in einem bestimmten Zyklus wahrend der durch
1 0988*7 U49
1774017
Ablesen eines Markierungsbits DIR » "I" identifizierten
ersten Digitperiode Cl in dem Register M ein Komraabit
Bk = "1" abliest. Beim Auftreten dieser Koinzidenz in
an sich bekannter und nicht dargestellter Weise wird die bistabile Schaltung A6 erregt und teilt sie in diesem
Falle also mit, dass die gewollte Ausrichtung erfolgt ist. Wenn also die bistabile Schaltung A6 erregt ist,
erzeugt in der Schaltung 29 (Pig· 5) bei der nächsten
" Ablesung der ersten Ziffer der Zahl M oder N die Vorderkante des Signals AOl Über das Gatter 36 einen Impuls
HG1 der den Rechner auf den nächsten Zustand, umschaltet.
In entsprechender V/eise kann man in einen geeigneten
Zustand P14 eine Zahl verschieben, bis ihre bedeutendste
Ziffer sich in der ersten Dezimaleteile Cl eines bestimmten Registers befindet. Ee ist klar, dass man im
allgemeinen unter Ausnutzung der Markierungsbite die
k Zahlen nach verschiedenen Kriterien ausrichten kann.
Im Nachstehenden ist die Arbeitsweise der elektronieohen Rechenanlage während der Verarbeitung des Programms besohrieben.
Im einzelnen werden die Übersetzungen und AuefUhrungephasen der Befehle der im Vorstehenden näher
erörterten drei Arten beschrieben.
1449
Es wird angenommen, dass das Programm bereits in die Speicherregieter eingegeben worden ist.
Das Niederdrücken der Taste AUT lässt die automatische Programmausführung anlaufen. Das Niederdrücken der Taste
AUT versetzt den Rechner in den Zustand P17» in welchem
der Schaltkreis 3b einerseits den Ausgang jedes Registers zur Wiedergewinnung seines Inhalts an den jeweiligen Eingang
und andererseits das Register I, das Register J oder anderen gegebenenfalls zum Enthalten von Befehlen
herangezogene Register mit dem Beiehl-Serien-Parallel-Umsetzer
10 nur während der durch die Erregung der bistabilen Schaltung A3 identifizierten Digitperiode C
verbindet, in welcher der zu extrahierende und auszuführende Befehl entnommen wird.
Im einzelnen hat in dem ersten, während der Betätigung
der Taste erzeugten Speicherzyklus das Startbit BlR = "1" für den Oszillator Ί5 in der Periode Cl der ersten
Digitperiode das Erregen der bistabilen Schaltung A3 '£'<>*
Folge, die durch das Ende dieser Digitperiode enterregt wi rd.
109884/U49
In dieser ersten Digitperiode Cl wird also der Ausgang
LI des Registers I mit dem Befehl-Serien-tParallel-Umsetzer
16 verbunden, was zur Folge hat, dass die acht Bits des ersten Befehls des Programms in die acht Stufen
Il bis 18 des Umsetzers eingeschrieben werden, wo sie bleiben, bis nach Ausführung des ersten Befehls der
zweite Befehl extrahiert wird. Ausserdem erregt in die- ^ ser Digitperiode Cl, da die bistabile Schaltung A3
erregt ist, der Taktimpuls ΤΘ die bistabile Schaltung A9, die danach durch den nächstfolgenden Taktimpuls T8
enterregt wird. Die bistabile Schaltung A9 kann also bei richtigem Erregungszustand die auf die Digitperiode des
derzeitig extrahierten Befehls folgende Digitperiode eingeben.
Nachdem die bistabile Schaltung A9 erregt ist, bewirkt
der Markierungsbit-Steuerkreis 37 über ein Gatter das Einschreiben eines Bits BIN = "1" in die zweite Dezimalstelle
C2 des Registers N, wobei das Bit BiW eine Marke darstellt, die das Erkennen des zu extrahierenden nächsten,
und zwar des zweiten·, Bef chi s ermöglicht.
üa ausserdem die bistabile Schaltung Λ9 erregt ist,
erregt der Taktimpuls Ti der zweiten Digitperiode die bistabile Schaltung A6, um anzuzeigen, dass der zu extrahierende
Befehl erkannt und extrahiert worden ist.
Folglich erzeugt am Ende des Zyklus der ma/inetostriktiven
109884/1U9
Leitung die Vorderkante des Signals AlO in dem Kreis
29 mit Hilfe des Gatters 83 ein Zustandswechsel-Takty
steuersignal MG für das Umschalten auf den nächstfolgenden
Zustand, der durch die Schaltung 27 in Abhängigkeit von dem soeben extrahierten und umgewandelten Befehl
bes tiiiiint wird.
Dieser nlichstfolgende Zustand ist der erste einer Zu- g
ataiidsf olge, während der der Defehl ausgeführt wird.
Uenn die Ausführung des ersten Befehls beendet ist,
schaltet der Rechner automatisch auf den Zustand P17 zurück, in welchem der zweite Befehl extrahiert wird,
U.S.W.
Im allgemeinen schaltet der Rechner am Ende der Zustandsfolge,
in welcher der n-te Befehl ausgeführt worden ist, in Abhängigkeit von in bekannter Weise erhaltenen Ope- I
rationsendsignalen automatisch auf den Zustand P17 um.
Im Zustand P17 führt der Rechner einen Speicherzyklus aus,
im Verlaufe dessen er in den Programmregistern den zu extrahierenden
Befehl sucht, der der (n+l)-te am Vorhandensein des Bits BIN = "1" in der (n+l)-ten Dezimalstelle
des Registers N erkennbare Befehl ist. Das Herauslesen dieses Bits BIN erregt die bistabile Schaltung A3>
die die für die Extraktion des Befehls brauchbare Digitperiode identifiziert. Auseerdem ermöglicht die die nächste Digit-
109884/1449 -*2~
periode identifizierende bistabile Schaltung A9 das
Einsohreiben des Bits BIN ■ "I" in der nächsten Digitperiode, d.h. sein Verschieben von den derzeitig extrahierten Befehl auf den nächstfolgend au extrahierenden
Befehl.
Übersetzung und Ausführung eines Befehls der zweiten Art
■ .
Die bisherige Beschreibung betrifft die Arbeitsweise des Reohners in den Phasen der Übersetzung in Ausführung von aus einem einzigen Zeichen aus aoht Bits bestehenden Befehlen. Im folgenden wird kurz die entsprechende
Arbeitsweise bei einem Befehl nit zwei Zeichen, d.h.
bei einem aus zwei aufeinanderfolgenden Zeichen (zweite
Befehlsart gemäss der verwendeten Nomenklatur)» bestehenden Befehl, z.B. vom Typ F15.DV, beschrieben.
Im einzelnen wird angenommen, dass der Rechner nach Beendigung der Ausführungsphase eines Gattungsbefehls während
der folgenden Übersetzungsphase acht Bits entnimmt, die nach ihrer Umwandlung in dem Serien-Parallel-Utnsetzer
die decodierte Form F15 ergeben. Die aoht Bite des Code
FIf) werden, wie vorstehend erörtert, in den acht Stufen des Serien-Parallel-Umsetzers 16 umgewandelt, jedoch
bleiben sie aufgrund der besonderen Form des Code mit zwei Zeiohen in dem Umsetzer, bis der auf das zweite
Zeichen folgende Befehl extrahiert wird. -
■;i 'S
Im nächsten Zustand P27 wird dadurch, dass die bistabilen
Schaltungen A3 und A9 entsprechend der im vorhergehenden Abschnitt beschriebenen Weise erregt und enterregt werden,
ein Hit BiN = "1" mit Hilfe des Kreises 37 in die Dezimalstelle
eingeschrieben, die das zweite Zeichen DV des aus zwei Zeichen bestehenden Befehls enthält, welches das
nächstfolgende zu extrahierende Befehlszeichen ist.
Ausserdem wird in dem gleichen Zustand P27 das Register
M vollständig gelöscht, was die Wiedergewinnung seines
Inhalts verhindert, und ein einziger Befehl, und zwar der für das Sprungzeichen DV, übertragen.
Die Arbeitsweise während dieser Übertragungsphase ist im vorangehenden Abschnitt beschrieben. Wie vorstehend erörtert,
befindet sich das Zeichen DV infolge der Übertrngungsoperation an der Dezimalstelle des Registers M,
die der Stelle entspricht, an welcher sich das Befehls- I register befand, aus welchem es übertragen worden ist.
Dann wird auf den nächstfolgenden Zustand P3 umgeschaltet,
der mehrere Zyklen der magnetostriktiven Leitung dauert und im Verlaufe dessen gemäss dem vorgehenden Abschnitt
eine Ausrichtung des Registers M nach der ersten " Dezimalstelle erfolgt, so dass sich das Sprungzeichen
DV in der ersten Stelle des Registers M befindet.
10988A/UA9
Darauf schaltet der Rechner automatisch auf den nächstfolgenden Zustand P32 um, in welchem der Sprungcode DV,
wie im vorstehenden Abschnitt beschrieben, aus der ersten Stelle des Registers M in die entsprechende Stelle
des ersten Programmregisters I übertragen wird.
Somit ist die zu dem aus zwei Zeichen bestehenden Defehl
gehörende Zustiindefolge erschöpft, worauf der Rechner
automatisch auf den Zustand PlV umschaltet, im Verlaufe dessen der nächstfolgende Befeh^extrahiert wird und
entsprechend seiner Art in vorstehend beschriebener Weise übersetzt und ausgeführt wird.
109884/1U9
übersetzung und Ausführung eines
Befehls der dritten Art
Ms sei angenommen, dass sich der Rechner in dem Zustand P17
befindet, und dass in diesem Zustand der Serien-Parallel-Umsetzer
16 den Befehl Fi*i extrahiert und umwandelt.
Der Befehl F14 schaltet den Rechner auf den Zustand P23 um,
Arn Anfang dieses Zustandes stellt die Vorderkante des P23
entsprechenden Signals den Zahler h (Fig. k) auf Null,
so dass dieser die dem ersten Programmregister I entsprechende besondere Gestalt annimmt, was zur Folge hat,
dass von diesem Zeitpunkt an der Mechanismus zum Abtasten, Übersetzen und Ausführen der aufeinanderfolgenden Programmbefehle
von den ersten Befehlen des Registers I an einwirkt.
Auf den Zustand P23 folgt erneut der Zustand P 17» in welchem
der erste Befehl aus dem Register I extrahiert wird.
-Jedoch muss dieser Befehl, damit er extrahiert werden kann, wie in der allgemeinen Beschreibung näher erläutert,
durch das Markiorungsbit BIN = "1" ergänzt werden.
-46-
109884/1449
Demzufolge muss ganz am Anfang jedes Zustandes Pl?ι vor
Beginn der effektiven Abtastung der ersten Dezimalstelle, in nachstehend näher beschriebener Weise diese Stelle mit
dem vorerwähnten Markierungsbit BIN = nlB versehen werden.
Dazu wird so verfahren, dass der mit der Erregung der bistabilen Schaltung AlO zusammenfallende Beginn des Taktspeicherzyklus
die Erregung der bistabilen Schaltung A3 bewirkt, was dadurch erreicht wird, dass in der bistabilen
Schaltung A3 das Signal IBl (Fig. 4) aufgebaut wird. Darauf
wird unter Ausnutzung der Tatsache, deta.8 die den Arbeitsbruchteil des Speicherzyklus begrenzende Erregung der
bistabilen Schaltung AlO und die die erste Bitperiode des ersten Zeichens begrenzende Erregung der bistabilen
Schaltung A3 um einige Mikrosekunden voneinander getrennt sind, die Enterregung der bistabilen Schaltung durch die
Vorderkante des Signals Tl herbeigeführt.
Die Enterregung von A3 bewirkt die Erregung von A9» so
dass der Steuerkreis 37 das Markierungsbit BIN « ni" in
die erste Dezimalstelle einschreiben kann. Wenn die Speicherung des Bits BIN in der ersten Dezimalstelle des Registers
auf diese Weise erzielt worden ist, wird dieses Bit sofort entnommen, um in üblicher Weise das Extrahieren
des ersten Befehls zu steuern.
-47-
109884/1U9
Umschalten vom Ilauptprogramm auf ein
Unterprogramm und umgekehrt
Im Nachstehenden wird, insbesondere anhand von Fig. 6, die Ausführung eines Programms für das Umschalten von
einem ^auptprogramm auf ein Unterprogramm und danach das Wiedereintreten in das Hauptprogramm beschrieben. Fig.
zeigt im einzelnen ein Hauptprogramm mit einundachuLg
an den Dezimalstellen C2 bis C82 der Befehlsregister des "
Speichers LOR angeordneten Befehlen und ein Unterprogramm
mit fünfundzwanzig an den Stellen C9i bis Cii5 angeordneten Befehlen. Die aufeinanderfolgenden Speicheretellen
sind durch eine Folge von zueinander auegerichteten Rechtecken dargestellt, da, wie bereits erläutert, der
Zähler h und die ihm zugeordneten Kreise den Betrieb der verschiedenen Befehlsregister zu einem solchen machen,
der einem einzigen Register entspricht, dessen Länge gleich der Summe der Längen der einzelnen Register ist. λ
Hierbei ist klar, dass das Hauptprogramm eine beliebige
Länge haben kann. Falls seine Länge die Gesamtkapazität der Befehlsregister überschreitet, ist es möglich, das
Programm in den Rechner aufeinanderfolgend blockweise
einzugeben und also auch blockweise auszuführen, indem • beispielsweise jeder Blook durch Ablesen einer Karte
eingegeben wird. Der den Übergang von einem Befehl auf den nächstfolgenden steuernde Mechanismus ist in den
vorgehenden Abschnitten beschrieben worden.
10988W1U9 ~*8"
Nachdem das Programm in die Speicherregister eingegeben
und die Rechenanlage durch Betätigen der Taste AUT auf automatische Programmausführung gestellt worden ist, übersetzt
der Rechner den in der ersten Stelle Cl enthaltenen Befehl und führt inn aus. Aus nachstehend einleuchtenden
Gründen enthält diese erste Stelle keinen Programmbefehl von Bedeutung.
Nach Beendigung der Ausführungsphase dieses ersten Befehls
wird der in der Stelle C2 enthaltene nächstfolgende Befehl automatisch extrahiert und ausgeführt, und die
Vorgänge für die in den Stellen C3 und C*i enthaltenen
nächstfolgenden Befehle laufen in entsprechender Weise
ab.
Es sei angenommen, dass diese Befehle Befehle der ersten Art sind, so dass ihre Verarbeitung also gemäss dem Abschnitt
"Übersetzung und Ausführung einen Befehls der
ersten Art" erfolgt.
Dann wird der In der Stelle C5 enthaltene Befehl extrahiert
und übersetzt, wobei angenommen wird, dass er aus dem ersten Zeichen eines aus zwei Zeichen bestehenden
Befehls (zweite Art) besteht. Im einzelnen sei angenommen,
dass der aus zwei Zeichen bestehende, hier erörterte Befehl vom Typ F15 (F12.Sn) ist, welcher bereits im Abschnitt
"Übersetzung und Ausführung eines üefohls der
10988A/1U9
h 9
zweiten Art" erörtert wurde und dass er geeignet ist, vor
dem Auslaufen des Ilauptpugraianis in Richtung auf ein Unterprogramm
den Wiedereintritt aus dem Unterprogramm in das iiauptprogramm zu bewirken. Die Übersetzungs- und die Ausfiihrungsphase
dieses besonderen Befehlstyps der zweiten Art sind im vorerwähnten Abschnitt beschrieben worden.
Der Ilechner tauscht also den Inhalt der ersten Speicherstelle
Cl gegen das zweite Zeichen des in der Stelle C6 enthaltenen, aus zwei Zeichen bestehenden Befehls aus.
1/ie bereits erörtert, handelt es sich um das Zeichen (Flii.Sn), dessen Bedeutung in der allgemeinen Beschreibung
angegeben wurde. Im einzelnen stellt F12 die Sprungfunktion und Sn die Adresse dar, an welcher der Sprung
endet. Es ist klar, dass in der Ausführungsphase des
hier erörterten, aus zwei Zeichen bestehenden Befeht die
acht Hits des zweiten Zeichens (F12.Sn) unabhängig von der erwähnten Bedeutung wie ein zu übertragendes beliebigem
Datum zusammen (en bloc) einfach in die Stellen Cl übertragen und wie ein einziger Befehl der ersten Art
übersetzt werden.
Hol weiterer Verarbeitung des Programms übersetzt der üec.iner die in den Stellen CJ bis C19 enthaltenen niiohstv
folgenden Befehle. Darauf schaltot der Heohner auf die
109884/1449
Übersetzung des in der Stelle C20 enthaltenen Befehls um.
Hierbei sei angenommen, dass es sich um einen Sprungbefehl
F12.Sm handelt, der den Sprung der die Anfangeadresse des
Unterprogramms darstellenden Adresse Sn steuert. Im einzelnen stellt Sm hier einen Einfügecode dar, der bei der
Programmierung am Anfang des Unterprogramms an der Stelle C91 angeordnet worden ist, die der Stelle C92 vorangeht,
an welcher sich der erste Arbeitsbefehl des Unterprogramms P befindet.
Der Reohner verlässt also in der AusfUhrungsphase dieser
Sprungbefehle das Hauptprogramm und schaltet auf einen Zustand
für den Beginn der Ausführung de· Unterprogramms um.
Hier ist zu bemerken, dass der aus zwei Zeichen bestehende Befehl Pi5 (F12.Sn) für die Änderung des ersten Befehls
des Hauptprogramms in dem Programm so angeordnet sein muss, dass er den Befehl für den Sprung auf das Unterprogramm
vorangeht, was deshalb notwendig ist, weirdie Aufgabe dieser
aus zwei Zeichen bestehenden Befehle darin besteht, den Wiedereintritt in das Hauptprogranun vorzubereiten, ein nach
Ausführung des Unterprogramms vorher erstellter Befehl.
Dann geht der Rechner zur Übersetzung und zur Ausführung des in der Stelle C92 angeordneten ersten Befehle des
109884/1449
Unterprogramms über und verarbeitet darauf die anderen
Defehle des Unterprogramms. Der letzte Befehl des Unterprogramms
ist ein Sprungbefehl Fl^ (der dritten Art), der dem Rechner einen Sprung auf den in der ersten Stelle
Ci der Progranmregister vorschreibt. Wie vorstehend erörtert, ist dieser letzte Befehl ein Sprungbefehl Fi2.Sn.
Er wird jetzt regulär übersetzt und in der Weise ausgeführt, dass er den Sprung auf die Sprungadresse Sn steuert.
Diese Adresse identifiziert den Befehl des Ilauptprogranms,
von welche» aus die Ausführung des Hauptprogramms wiederaufgenommen
werden soll. Wenn angenommen wird, dass der dieser Adresse entsprechende Bezugsoode in der Stelle C21
angeordnet worden ist, wird die Ausführung des Hauptprogramms von dem in der Stelle C22 enthaltenen Befehl
an wiederaufgenommen. Darauf setzt der Rechner die Verarbeitung de· Programm· fohrt, übersetzt die in den Stellen
C23 fei» C36 enthaltenen nächstfolgenden Befehle und
führt sie aue.
Darauf wird 4er in der Stelle C37 enthaltene Befehl extrahiert
und Übersetzt. Se sei angenommen, dass er au·
dem ersten Zeiohen F15 eine· weiteren Befehls aus zwei
Zeichen (zweite Art) besteht entsprechend dem Befehl, den der Rechner bei der Ausführung des Programms an den Spei-
, cherstellen C5 und C6 angetroffen hat.
Der Rechner tauscht also in vorstehend beschriebener Weise den Inhalt der ersten Speicherstelle Cl gegen das zweite
109884/U49 -52-
Zeiohen dee jetzigen in der Stelle C 38 enthaltenen» aus
zwei Zeiohen bestehenden Befehle aus· Es handelt eich
um das Zeichen Fi2.So. Wie bereits erörtert, stellt F12 die Sprungfunktion und So die Adresse dar, an «reicher
der Sprung enden soll.
Bei der weiteren Verarbeitung des Programms Übersetzt
der Rechner die in den Stellen C39 bis C54 enthaltenen
P nächstfolgenden Befehle und führt sie aus.
Darauf geht der Rechner zur Übersetzung des in der Stelle 055 enthaltenen Befehls über. Es sei angenommen,
dass es wieder der Sprungbefehl F12.Sm ist. Er steuert
also wieder den Sprung auf die den Anfang des Unterprogramms darstellende Adresse Sm. Der Übergang von diesem Sprungbefehl F12.Sm auf die erste, die Adresse Sm
enthaltende Stelle des Unterprogrammβ und die darauffolgende Übersetsung und Ausführung dieses Unterprogramms
sind bereite vorstehend beschrieben worden.
Der letzte Befehl Fl4 (dritte Art) des Unterprogramms
bedingt, dass der Rechner'erneut einen Sprung auf den in der ersten Stelle Ci der Programmregister enthaltenen
Befehl ausfuhrt.
109884/1443
ein Sprungbefehl FI2.S0, der bei regulärer Übersetzung
und Ausführung den Sprung auf die entsprechende Sprungadresse So steuert.
Es sei angenommen, dass der dieser Adresse So entsprechende
und den Defehl des Iiauptprogramms,bei welchem
die Ausführung des Hauptprograrams wieder aufgenommen werden soll, identifizierende Code an der Stelle C 56 ^
angeordnet ist. Die Ausführung des Hauptprogramms wird dann von dem in der Stelle C57 enthaltenen Befehl an
wieder aufgenommen und fortgesetzt, bis der in der Stellung C82 enthaltene Defehl extrahiert und ausgeführt ist,
der als der letzte des Hauptprogramms angenommen worden
war.
109884/U49 ,c?Srra>
177*917
Prograramkarte
Die Rechenanlage ist mit einer Vorrichtung zum Aufzeichnen und Lesen von Karten, beispielsweise Magnetkarten,
versehen.
Die Kapazität jeder Karte ist gleich der Gesamtkapazitat
der fünf Register I, J1Q," E und D.
Durch Einführen der Karte in die Lesevorrichtung wird die auf der Karte aufgezeichnete Information der Reihe
nach in die vorerwähnten fünf Register übertragen. Wie
im Vorstehenden erörtert, sind die beiden Register I und J besonders zum Enthalten von Programmbefehlen
eingerichtet, während die übrigen Register Q, E und D nach Belieben entweder Befehle oder zu verarbeitende
Daten enthalten können.
Ein Programm kann also entsprechend seiner, Länge die ersten beiden, die ersten drei, die ersten vier oder
alle fünf Register füllen, wobei die verbleibenden Register und die entsprechenden Zonen der Karten jedesmal
zum Enthalten von zu verarbeitenden Daten verfügbar sind,
Der Vorgang des Einführens der Karte in die Lesevorrichtung
von Hand führt automatisch die koordinierte Einführung des gesamten Inhalts der Karte in die Speicherregister herbei
1098847U49 ~55~
Bei der Rechenanlage nach der Erfindung ist es ausserdem möglich, nach Belieben des Bedienenden Karten mit verringerter Speicherkapazität, und zwar mit einer der
Speicherkapazität von nur zwei Registern gleichwertigen Speicherkapazität, zu verwenden. Dies wird durch Betätigen einer geeigneten, nit SP bezeichneten Kartenunterteilungstaete erreicht. Wie bereite erörtert, wird Im
Verlaufe der Aufzeichnungs~ und der Lese-phase der Karte
die aufeinanderfolgende Abtastung der fünf Register I, ä
J, Q, D und E mit Hilfe eines sie der Reihe nach adressierenden Zählers h erzielt. Die Arbeitsweise mit aufgeteilten Karten wird dadurch bestimmt, dass die Taste SP
den Zähler von der Adresse des Registers D an zum Beginnen der Zählung zwingt, so dass nur die Register D
und E an der Aufzeichnungs- und der Lesephase dieser
Karte beteiligt sind, die somit also aufgeteilt wird.
vorher mittels einer nicht unterteilten Karte in diesen
Es ist also Ufer, dass jede aufgeteilte Karte, in einem
für den Bedienenden ständig verfügbaren Zustand ein bestimmtes Unterprogramm enthalten kann, so dass es möglich ist, im voraus neben der aus den nicht aufgeteilten Karten gebildeten Programmbibliothek eine Unter-
-56-
109884/U49
Programmbibliothek zu bilden.
Es leuchtet ein, dass eine durch den einfachen Vorhang
ihrer Einführung in die Lesevorrichtung von Hand aufgeteilte Karte die Aufzeichnung des entsprechenden Vrntcrprogramms
in einer entsprechenden vorbestimmten Zone
des internen Speichers LDR bewirkt, so dass dieses Unterprogramm ohne jede weitere Operation sofort zu seiner
Ausführung verfügbar ist.
des internen Speichers LDR bewirkt, so dass dieses Unterprogramm ohne jede weitere Operation sofort zu seiner
Ausführung verfügbar ist.
Der Zeitpunkt, zu welchem der Bedienende ein Unterprogramm in vorstehend beschriebener Weise einführen kann,
wird durch einen in dem Hauptprogramm enthaltenen Stopbefehl bestimmt.
-57-
■·■■■■■ ι
109884/.U 49
Ausführung eines Programms mit zwei
aufgezeichneten Unterprogrammen
Im Nachstehenden ist, insbesondere anhand von Fig. 7» die Ausführung eines Programms beschrieben, die den Übergang
von einem Hauptprogramm auf zwei Unterprogramme und danach den Wiedereintritt in das Hauptprogramm umfasst. Es sei an- ä
genommen, dass diese Programme in Form von auf zwei zu einer Unterprogrammbibliothek gehörenden aufgeteilten Karten aufgezeichneten
Programmen verfügbar sind.
Fig. 7 zeigt im einzelnen ein Hauptprogramm, von dem angenommen
wird, dass es entweder mit Hilfe des Tastenfeldes oder durcii Lesen einer das iiauptprogramm enthaltenden
Karte, beispielsweise einer Magnetkarte, in die Befehlsregister des Speichers eingespeichert worden ist.
Dieses nauptprogramm umfasst fünfundachtzig Befehle, von
welchem angenommen sei, dass sie an den Dezimalstellen C2
bis Ch6 der liefehlsregister angeordnet sind.
-Jot/.L wird durcii BeUitiyen der Kartenaul' tei lungs taste SP
und, in dem man nach den: Abschnitt "Programmkarte" verfährt,
dit; ope ic mj run κ, des «raten Unterprogramms A in den beiden
j'eeigiicteii Registern i) und E vorgenommen, die, wie im betreuenden
Abschnitt erörtert, allein für die Aufzoiehnungsiind
L«Kei»Iiasen der aufgeteilten Karten zuständig sind.
109884/UA9 _r}8_
bad or!c;::al
Es sei angenommen, dass das Unterprogramm A dreiundzwanzig
Befehle umfasst, und dass diese an den Stellen C91 bis C113 der Befehlsregister des Speichers LDR angeordnet sind.
Nachdem das Hauptprogramm und das Unterprogramm A in die Speicherregister
eingespeichert worden sind und der Uechnor durch Betätigen der Taste AUT auf automatische Programmverarbei-
^ tung gestellt worden ist, übersetzt der Rechner den in der ersten Stelle Cl enthaltenen Befehl , der, wie in dem Abschnitt "Umschalten vom Iiauptprogramm auf ein Unterprogramm
und umgekehrt" beschrieben ist, keinen bedeutenden Programiubefeiil
enthält, und führt ihn aus.
Nach Beendigung der Ausfiihrungsphase dieses Befehls wird der
in der Stelle C2 enthaltene nächstfolgende Befehl automatisch extrahiert und ausgeführt, während für die in den Stellen (J3
bis C6 enthaltenen nächstfolgenden Befehle der Ablaui in ent-
* sprechender T/eise erfolgt.
Darauf wird der in der Stelle C7 enthaltene Befehl extrahiert
und übersetzt, wobei angenommen wird, dass er aus dem ersten
Zeichen F15 eines aus zwei Zeichen Fi5.(F12.Sn) bestehenden
Befehls der in dem Abschnitt "Übersetzung und Ausführung eines
Befehls der zweiten Art" beschriebenen Art besteht, der zum
Bewirken des Wiedereintritts aus deai Unterprogramm in das
109884/1449 BAd original
iinuptprograraiii an tier gewünschten Dezimalstelle geeignet ist.
In der Jicrseizun; s- und der Ausf:iiiruM<is;>hnse dieser; ucfehls,
die iii (1 cn einen Gat tungsbfsj'ehl dieser besonderen Art betreffenden
vorerwähnten Abschnitt beschrieben worden sind, tauscht dor Rechner den Inhalt der ersten Speiclierstelle Cl gegen das
zweite Zeichen des in der Stelle (':>
enthaltenen jetzigen Jief eh Is F12. Sn aus.
..'ie bereits erörtert, stellt F12 die ;jprunefunktion und Sn
die Adresse dar, an welcher der Sprung endet.
jter ;teoiiner setzt dann die Verarbeitung des Programms fort
und übersetzt die in den Stellen C9 bis C15 enthaltenen nächstfolgenden Hefehle und führt sie aus. Dann geht der
Hechiier zur Übersetzung des in der Stelle CIb enthaltenen
üefe.ils über. Es sei angenommen, dass dieser Befehl ein
Sprungbefehl 1'12.Sm ist, der den if.pruiig auf die Adresse
Sn bewirkt, die den Bezugscode darstellt, üerjkm Beginn {
des Unterprogramms A an der Stelle C91 angeordnet worden istj die der Stelle C92 vorangeht, an welcher sich der erste
bedeutende Befehl dieses Unterprogramms befindet.
Der Rechner geht dann auf die Übersetzung und Ausführung dieses an der Stelle C92 angeordneten ersten bedeutenden Befehls
-60-
109884/U49
des Unterprogramms über und verarbeitet dann weiter die anderen
Befehle des Unterprogramms, wobei der letzte üefclj] des
Unterprogramms ein Befehl Fi'i (dritte Art) ist, der bewirkt,
dass der Rechner einen Sprung auf den in der erstea Stelle
CJ der Prograiiiiuregi ster enthal tönen ersten Befehl ausführt.
Wie vorstehend erörtert, ist dieser letzte Befehl ein Sprungbefehl
F12.Sn, der bei regulärer Übersetzung und Ausführung den Sprung auf die Sprungadresse Sn steuert, die denjenigen
Befehl des Ilauptprogramms identifiziert, bei welche!« die
Ausführung des liauptprogramins wiederaufgenommen werden soll.
Wenn angenommen wird, dass der der Sprungadresse Sn entsxjreehende
Bezugscode an der Stelle Ci'/ angeordnet worden ist,
so wird die Ausführung des L'auptprograrams von dem in der Stelle
Cl^ enthaltenen Befehl an wiederaufgenommen.
Darauf setzt der Rechner die Verarbeitung des Programms fort,
indem er die in den Stellen C19 bis C50 enthaltenen Befehle
übersetzt und ausführt.
Darauf extrahiert und übersetzt der Rechner den in der Stelle C5i enthaltenen Befehl . Es sei angenommen, dass dieser Befehl
aus dem ersten Zeichen F15 eines weiteren, aus zwei Zeichen bestehenden Befehls F15.(F12.So) besteht, der den Wiederein
tritt an einer vorbereiteten Stelle des Hauptprogramms, aus-
-61-
10988A/UA9
BAD ORIGINAL
gehend vom zweiten Unterprogramm H, bewirken soll. Demzufolge
Lauscht der Rechner also den Inhalt der ersten Speicherstelle Ci 'seLien das zweite Zeichen h'l2m (So) des betreffenden, aus
/WGi Zeichen bestehenden Befehls aus, welches in der Stelle
UJU enthalten ist. -ie vors Lohend erörtert, stellt F12 die
Sprungf unl; tion und So die Adresse dar, an welcher der Sprung
c;ifl(!ii soll. Daran! setzt der Itechner die Verarbeitung des
Prograüims fort, indem er die in den Stellen C53 bis C62 enthaltenen
Befehle übersetzt und sie ausführt.
JJiin.'jcii extrahiert der iiectuier an der Stelle C63 autoaiatisch
dfüi .-jppbefehl für den lietrieü der/elektronischen llechenanlage.
ti) tor diesen Bedingungen unterbricht der Rechner seinen automatischen
Betrieb, worauf der bedienende nacli Betätigung der
Kartonauf tei lungs tat; Le iJi* den Ueciiner in den Zustand zum
Ablesen des auf der zweiten aufgeteilten Karte aufgezeichneten |
Unterprogramms .> versetzt. Im Verlaufe der Lesephase wird dieses
in der aufgeteilten Karte enthaltene Programm, wie vorstellend
orirtert, in die beiden geeigneten Register D und E des
inLornoii Ijpeichers I.JJil übertragen und gespeichert unter ZerijLüniii:·.
d(!S voriiiir in donsel bon itegistern D und E gespeicherten
Knl.erpro!',raranis Λ, ohne dabei jedoch das vorher in den
-02-
1Q988WU49
Speicher LDR eingespeicherte Hauptprogramm zu zerstören. Es
sei angenommen, dass die in diesem zweiten Unterprogramm D
enthaltenen Befehle in die zwischen C9i und XVdO liegenden Speicherdezimalstellen übertragen werden. Xach Durchführung
dieser manuellen Operation des Einfiihrens der aufgeteilten
Karte in die Lesevorrichtung und nach Einspeicherung des Unterprogramms B in die Register D und E in der reise, dass
es sofort verfügbar ist, betiitigt der Bedienende die Startfc
- erneut
taste des Tastenfeldes und stellt er somit den Rechner/auf die automatische Programmausführung, so dass dieser nunmehr
denjenigen Befehl extrahiert und übersetzt, der unmittelbar auf den Stopbefehl folgt, der, wie vorstehend erörtert, in
der Stelle C63 des Speichers enthalten war. Der Rechner extrahiert also den in der Stelle Cdk enthaltenen lief ehl.
Ls sei angenommen, dass es sich um den Sprungbefehl Flii.Sm
handelt, der in nunmehr bekannter Weise den Sprung auf die Adresse Sm steuert, die die Anfangsadresse des Unterprogramms
B darstellt. Dieser Adressiercode Hn ist in der Stelle C91
der Programmregister enthalten.
DerRechner stellt demzufolge die Verarbeitung des liauptprogramms
ein und geht entsprechend den vorstellend beschriebenen
Modalitaten auf einen Zustand zum Beginnen der Ausführung
des Unterprogramms über.
-i>3-109884/1449
t>3
Genauer iicsairt, übersetzt der ilechner den ersten, in der Stelle
C92 angeordneten bedeutenden her el· 1 des Unterprogramms B und
lUlirt ihn aus, worauf er die in den Stellen 093 bis UJ i9 enthaltenen
weiteren Befehle verarbeitet.
Der letzte, »ich wie angenommen in der Stelle CJ20 befindende
i>efohl des Unterprogramms 13 ist ein Befehl I-'l'i der dritten
Art, der wie vorstehend erörtert, bewirkt, dass der Ilechner einen Sprung auf den in der ersten Stelle Cl des Programmregisters
enthaltenen Befehl ausführt.
Tntsachlich ist dieser letzte Befehl ein Sprungbefehl F12.So
zum Bewirken des Wiedereintretens in das ilauptprogramm an
der voreingestellten Stelle, der, übersetzt und ausgeführt,
iKM.irkl, dass der liecimer einen Sprung auf die Adresse So
aur.t uhr t.
Ls sei angenommen, dass der dieser Sprungadresse entsprechen- i
de Bezugscode an der Stelle C 65 angeordnet worden ist, so
dass die Ausführung des Ilauptprogramnis dann von dem in der
Stelle Cbü enthaltenen Befenl an wiederaufgenommen wird und
sich darauf durch Verarbeitung der weiteren Befehle des llauptproiiraninis
fortsetzt, bis der letzte Befehl übersetzt und ausgeführt worden ist, der als in der Stelle CSo der Programmr,egister
enthalten angenommen wurde.
J.j/i.f/MB/FÜ - 20 507
109884/U49 e«>
Claims (2)
- 6k -Patentansprüche(Ausscheidung aus der Patentanmeldung P 17 7Ί 038.4 vom 26. März 1968)1, Elektronische Rechenanlage mit in einem internen Speicher gespeichertem Programm, die Organe zur automatischen Ausführung des gespeicherten Programms besitzt, dadurch gekennzeichnet, dass sie eine Vorrichtung zum Lesen von je ein Unterprogramm enthaltenden einzelnen Karten besitzt, so dass in Abhängigkeit von Mitteln zur automatischen Adressierung das Einführen einer einzigen Karte in die Lesevorrichtung unter Steuerung durch den Bedienenden die Speicherung des Unterprogramms in dem internen Speicher und seine anschliessende Ausführung bewirkt.
- 2. Rechenanlage nach Anspruch 1, dadurch gekennzeichnet, dass sie einen am Ende des Unterprogramms gespeicherten Unter-109884/1U9- 65 - 177A9T7nro^raun-iJiidbef o!il ontiivlt, der zur,) I/iederaufnehmen der ΛιικΓΜίιπιη κ des xiaup Lprograiiins einwirkt, so dass das Unterproirrar.iii auf der Karte aiii'gezeichnet werden kann, ohne jeden .lüzug auf das besondere lluup tprogranmi, in i/elcheiii dieses Unterprotrai.],.! von i'all zu i''all verwendet wird.- ao 307109884/U49
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| IT5116467 | 1967-04-01 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| DE1774917A1 true DE1774917A1 (de) | 1972-01-20 |
Family
ID=11274496
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE19681774917 Pending DE1774917A1 (de) | 1967-04-01 | 1968-03-26 | Elektronische Rechenanlage |
| DE19681774038 Pending DE1774038A1 (de) | 1967-04-01 | 1968-03-26 | Elektronische Rechenanlage |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE19681774038 Pending DE1774038A1 (de) | 1967-04-01 | 1968-03-26 | Elektronische Rechenanlage |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US3660825A (de) |
| JP (1) | JPS5527384B1 (de) |
| BE (1) | BE712989A (de) |
| CA (1) | CA929268A (de) |
| CH (1) | CH481424A (de) |
| DE (2) | DE1774917A1 (de) |
| FR (1) | FR1560019A (de) |
| NL (1) | NL6804529A (de) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| IT980896B (it) * | 1973-04-24 | 1974-10-10 | Olivetti & Co Spa | Perfezionamenti alle calcolatri ci elettroniche |
| US3924110A (en) * | 1973-09-13 | 1975-12-02 | Texas Instruments Inc | Calculator system featuring a subroutine register |
| SE413707B (sv) * | 1977-02-28 | 1980-06-16 | Ellemtel Utvecklings Ab | Anordning hos en programminnesstyrd telekommunikationsanleggning |
| US5961639A (en) * | 1996-12-16 | 1999-10-05 | International Business Machines Corporation | Processor and method for dynamically inserting auxiliary instructions within an instruction stream during execution |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB1103385A (en) * | 1964-03-02 | 1968-02-14 | Olivetti & Co Spa | Improvements in or relating to program controlled electronic computers |
| US3304418A (en) * | 1964-03-02 | 1967-02-14 | Olivetti & Co Spa | Binary-coded decimal adder with radix correction |
| SE303056B (de) * | 1967-08-31 | 1968-08-12 | Ericsson Telefon Ab L M |
-
1968
- 1968-03-26 DE DE19681774917 patent/DE1774917A1/de active Pending
- 1968-03-26 DE DE19681774038 patent/DE1774038A1/de active Pending
- 1968-03-28 CA CA016068A patent/CA929268A/en not_active Expired
- 1968-03-28 FR FR1560019D patent/FR1560019A/fr not_active Expired
- 1968-03-28 CH CH462768A patent/CH481424A/de not_active IP Right Cessation
- 1968-03-29 BE BE712989D patent/BE712989A/xx unknown
- 1968-04-01 JP JP2107568A patent/JPS5527384B1/ja active Pending
- 1968-04-01 NL NL6804529A patent/NL6804529A/xx unknown
-
1971
- 1971-02-05 US US113060A patent/US3660825A/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| CA929268A (en) | 1973-06-26 |
| DE1774038A1 (de) | 1971-07-29 |
| JPS5527384B1 (de) | 1980-07-19 |
| FR1560019A (de) | 1969-03-14 |
| CH481424A (de) | 1969-11-15 |
| NL6804529A (de) | 1968-10-02 |
| BE712989A (de) | 1968-07-31 |
| US3660825A (en) | 1972-05-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE2353421C3 (de) | Elektronischer Rechner | |
| DE1449765C3 (de) | Einrichtung zur Abfrage eines assoziativen Speichers | |
| DE1499193C3 (de) | Speicher-Adressierschaltung | |
| DE1282337B (de) | Programmgesteuerte elektronische Rechenanlage | |
| DE2331589A1 (de) | Datenverarbeitungsanordnung | |
| DE1424732A1 (de) | Elektronische Ziffernrechenmaschine | |
| DE2318069A1 (de) | Rechnersteuersystem unter verwendung von mikroprogrammierung und statisch/dynamischer erweiterung von steuerfunktionen mittels festverdrahteter logischer matrix | |
| DE2023354A1 (de) | Programmierbare Einheit und Verfahren zum Betreiben einer programmierbaren Einheit | |
| DE1774052B1 (de) | Rechner | |
| DE2919440A1 (de) | Schaltungsanordnung fuer einen wahlweise modifizierbaren satzspeicher fuer eine schreibmaschine | |
| DE1191145B (de) | Elektronische Zifferrechenmaschine | |
| DE1499191B2 (de) | Elektronische einrichtung fuer eine datenverarbeitungsanlage | |
| DE1221037C2 (de) | Verfahren zur Speicherung hierarchisch geordneter Datenketten und Anordnung zur Durchfuehrung dieses Verfahrens | |
| DE1499224C3 (de) | Datenverarbeitungsanlage mit Kellerspeichereinrichtungen | |
| DE1774917A1 (de) | Elektronische Rechenanlage | |
| DE1214906B (de) | Verfahren und Anordnung zur Speicherung und Entnahme hierarchisch geordneter Daten | |
| DE1957600C3 (de) | ||
| DE2220329A1 (de) | Programmierbare elektronische Datenverarbeitungsanlage | |
| DE2265696C2 (de) | Rechenanordnung | |
| DE1424756B2 (de) | Schaltungsanordnung zum fehlergesicherten Einführen oder Wiedereinführer, von Programmen in den Hauptspeicher einer datenverarbeitenden Anlage | |
| DE2735874C2 (de) | ||
| DE2419836B2 (de) | Schaltungsanordnung zur durchfuehrung von unterprogramm-sprungbefehlen in datenverarbeitungsanlagen | |
| DE1474574C (de) | Assoziativer Informationsspeicher | |
| DE2718724A1 (de) | Daten- bzw. messwertverarbeitungsanlage | |
| DE1269657B (de) | Anordnung zur gesteuerten Entnahme von Informationen aus einer aus mehreren Registerstufen bestehenden, pyramidenfoermig ausgebildeten Speicheranordnung |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| OHN | Withdrawal |