DE1774038A1 - Elektronische Rechenanlage - Google Patents
Elektronische RechenanlageInfo
- Publication number
- DE1774038A1 DE1774038A1 DE19681774038 DE1774038A DE1774038A1 DE 1774038 A1 DE1774038 A1 DE 1774038A1 DE 19681774038 DE19681774038 DE 19681774038 DE 1774038 A DE1774038 A DE 1774038A DE 1774038 A1 DE1774038 A1 DE 1774038A1
- Authority
- DE
- Germany
- Prior art keywords
- register
- command
- program
- address
- 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; 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/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)
- Control By Computers (AREA)
- Executing Machine-Instructions (AREA)
Description
Ing· G· OLIVETTI & 0·, S.ρ.Α.,
Ivrea (Italien)
Elektronische Reohenanlage
Die Erfindung betrifft eine elektronische Heohenanlage mit
einem in einem Speicher gespeicherten Programm, die die Ausführung eines Hauptprogramme unterbrechen und auf die Ausführung
eines vorbestimmten Unterprogramme in Abhängigkeit von einem Sprungbefehl auf das in dem Hauptprogramm an der
Unterbrechungsstelle gespeicherte Unterprogramm umschalten und in Abhängigkeit von einem am Ende dieses Unterprogramme
gespeicherten Unterprogramm-Endbefehl die Ausführung des Hauptprogramms an einer Wiedereintrittsstelle, deren Adresse
durch den Inhalt eines Registers angegeben wird» erneut einsetzt·
Bekanntlich lassen sich bei fast allen leistungsfähigen
Elektronenrechnern die verschiedenen Befehle während der Ausführung eines Gattungsprogramine ändern·
Im allgemeinen besitzt eine solche Reohenanlage nicht nur
ein Hauptprogramm, in welchem die numerischen Angaben zur
Lösung eines Problems und die Programmbefehle gespeichert sind, ein arithmetisches Organ, in welohem die Verarbeitung
der durch den Hauptspeicher übertragenen Zahlen erfolgt,
und ein Regelsystem, welohes den Betrieb des Reohners
vorbereitet und steuert, sondern ausserdem ein Hilfe-
—2—
speicherorgan, welches zahlreiche Änderungsworte für die
Programmbefehle enthalten kann, und ein geeignetes Änderungsorgan, wie es beispielsweise in der US-Patentschrift
3 012 724 beschrieben ist.
Beim normalen Betrieb einer Rechenanlage dieser Art schickt man, wenn aus dem Hauptspeicher ein Prograianbefehl extrahiert
wird,, um ihn dem Regelsystem zuzuführen, diesen •Programmbefehl
über das Änderungsorgan, in welchem er geändert werden kann, indem diesem Änderungsorgan zugleich ein aus
dem Hilfsspeioherorgan kommendeβ Änderungewort zugeführt
wird·
Pie vorstehend beschriebene, allgemein ale Anderungsregister
bezeichnete Vorrichtung hat den wesentlichen Vorteil, dass sie der Rechenanlage eine hohe Programmierungsvieleeitigkeit
in dem Sinne verleiht, dass sie es ermöglicht, während des Betriebes der Rechenanlage die Änderung jeglichen Befehls
eines im Hauptspeicher enthaltenen Programms oder G-attungsunterprogramms
vorzunehmen·
Im einzelnen ermöglicht dieses Änderung'sregister die mehrmalige
Verwendung eines gegebenen Unterprogramms, auf welches
das Hauptprogramm an mehreren Stellen seines Ablaufs zurückgreift, weil es das wiederholte Verändern desjenigen
Sndbefehls des Unterprogramms ermöglicht, der die Stelle identifiziert,
an welcher die Ausführung des Eauptprogramms jedesmal
wiederaufgenommen wird·
Mehr allgemein ermöglicht die Verwendung dieses Änderungsregisters das Erhalten der mittelbaren Adressierung ver-3ohiedener
Unterprogramme, die sich also in besonderen, duroh den Programmierer frei gewählten Zonen dee Hauptspeichers
speichern lassen·
"109831/1720
Jedoch hat sich bei Rechnern mit dynamischem Speicher die
Anwendung des Inderungsregisters als ziemlich komplex erwiesen,
da unvermeidlich zusätzliche Zähl- und Adressiervorrichtungen verwendet werden müssen, die notwendig sind,
um den zu ändernden Befehl an der richtigen Stelle zu extrahieren und ihn geändert in die vorbestimmte Adresse erneut
einzuspeichern·
Hinzuzufügen ist noch, dass die durch diese technischen
Massnahmen bedingte wirtschaftliche Belastung, obwohl sie für elektronische Rechenanlagen mit hohen Leistungen und
erheblichem Wirkungsgrad vertretbar ist, für wirtschaftlichere
Modelle dieser Rechner übermäsfiig hoch sein kann* Mit
Hilfe der Rechenanlage nach der Erfindung werden diese Mangel behoben·
Gremäss der Erfindung wird eine elektronische Reohenanlage
geschaffen, die dadurch gekennzeichnet ist, dass die Adresse für die Wiedereintrittsstelle in das Register in Abhängigkeit
von einem in das Hauptprogramm vor der Unterbreohungestelle
eingespeicherten Vorbereitungsbefehl für den Wiedereintritt eingegeben wird»
Diese sowie weitere Merkmale der Erfindung sind in der nachfolgenden,
eine Ausführungeform der elektronischen Reohenanlage und einige die Verwendung eines oder mehrerer Unterprogramme
vorsehenden Programmverarbeitungsbeispiele betreffenden Beschreibung anhand der beigefügten Zeichnungen näher
erläutert* Bs zeigen»
Fig. 1a und 1b ein vereinfachtes Schaltbild einer Auβführung
sf on» der Reohenanlage naeh der Erfindung,
flg. 2, wie fig» 1a und Ib zusammenzufügen sind»
\
109Θ31 / 1720
Pig* 3 ein Zeitdiagramm einiger Takteignale der Rechenanlage
nach Pig. 1a und 1b,
Pig«, 4 eine Gruppe bistabiler Schaltungen der Rechenanlage
nach Pig» 1a und 1b,
Fig. 5 einen Kreis zur Steuerung der in der Rechenanlage,
nach der Erfindung verwendeten Markierungsbits,
Pig» 6 ein Ablaufschema der Verarbeitung der Befehle
eines HauptProgramms und eines besonderen, bei der
Rechenanlage nach der Erfindung zweimal zu wiederholenden Unterprogramms,
Pig, 7 das Ablaufschema der Verarbeitung der Befehle
eines HauptProgramms sowie von zwei unterschiedlichen
Unterprogrammen in der Rechenanlage nach der Erfindung»
Bestimmte Teile der elektronischen Rechenanlage nach der Erfindung stimmen mit entsprechenden Teilen von in der
USA-Patentschrift 3 304 418 bereits beschriebenen Rechenanlagen überein. Deshalb werden diese Teile sowie die sie
in Betrieb setzenden Arbeitsphasen nur summarisch beschrieben.
Der Rechner nach der Erfindung besitzt (Fig. 1a und 1b) einen aus einer Verzögerungsleitung IBR bestehenden Speicher
mit beispielsweise 10 Registern I, J, M, H, R, Q, U, Z9
D,Et der mit einem einen Leseverstärker 39 speisenden Leae-,wandler
38 und einem von einem Schreibv.erstärker 41 gespeisten Sohreibwandler 40 Yersehen ist*
Jeder Register besitzt beispielsweise 30 Dezimalstellen
101831/1720 -5-
mit je acht Binärstellen, so dass jedes Register bis zu dreiasig 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 Binärsignale stellen das erste Bit der ersten Dezimalstelle der
entsprechenden Register R, N, M, J, I, Q, U, Z, D bzw· Ξ
dar, die darauffolgenden zehn nächsten Binärstellen 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 MikrοSekunde 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 voneinander getrennten
Bin-irsignalen enthält, wobei die zu den verschiedenen Kegist
ern gehörenden Binärsignalreihen um 1 MikroSekunde zueinander
versetzt sind·
Der Leseverstärker 39 speist einen Serien-Parallel-Umsetzer
42, 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 MikroBekunden später zehn das zweite Bit der ersten
Dezimalstelle darstellende Signale an diesen Ausgangsleitungen
vorhanden usw·
109931/1720 md 0RlßlNAL
'*'
Jede Gruppe aus zehn an den Ausgangsleitungen dea Umsetzers 42 parallel vorhandenen Signalen wird nach ihrer Verarbeitung
einem Parallel-Serien-Umsetzer 43 zugeführt, der dem Sohreib-
-/eratärker 41 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 Reohners eventuell geändert unter Beibehaltung
ihrer vorherigen gegenseitigen Lage in die Verzögerungeleitung 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, LH, LN, LJ, LI, LE, LB, LQ, LU bzw» LZ sowie einer Eingangsleitung
SR, SM, SN, SJ, SI, SE, SS, SQ, SU bzw. SZ
versehen sind·
Diese versetzte Anordnung der Signale in der Verzögerungsleitung erlaubt es, dass alle Register des Reohners in einer
einfaohen, mit nur einem Lesewandler und einem Schreibwandler versehenen Verzögerungsleitung enthalten sind, so
dass die Kosten nioht viel höher sind als für eine Verzögerungsleitung mit nur einem Register· Darüber hinaus ist es,
da die Impuls-Wiederholungefrequenz in der Verzögerungsleitung zehnfach grosser ist als in den Verarbeitungskreisen des
Rechners, möglioh, 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·
lisoh ist, wird der Betrieb des Reohners in au feinen d«rf öl-
snde Speicherzyklen aufgeteilt, wobei jeder Zyfclui dreisaig
Mgitperioden 01 bis 030 enthält und jede iftLgitperiode in
aoht Bitperioclen T1 bis T8 aufgeteilt ist (Fig· 3)·
100*31/1720 -7-
EIr. I';. ktimpulagenerator 44 erzeugt an den Ausgangsleitungen
Ϊ1 bis 'Γ8 aufeinanderfolgende Taktimpulse, die je eine eine
entsprechende Bitperiode anzeigende Dauer haben. Mit anderen V/orten ist der Ausgangsanschluss S1 während der gesamten
ernten -bitperiode jeder der dreissig Digitperioden erregt,
während der Ausgangsanschluss T2 entsprechend während der gesamten zweiten Bitperiode jeder der dreissig Digitperioden
erregt ist usw.
Dor Taktimpulsgenerator 44 ist, wie nachstehend noch näher
erläutert, mit der Verzögerungsleitung LDE in der Weise
synchronisiert, dass der Beginn der η-ten Gattungsbitperiode
der m-ten Sattungsdigitperiode mit dem Zeitpunkt zusammenfallt,
zu dem die zehn in der η-ten Binärstelle der m-ten Dezimolstelle der zehn Speicherregister eingelesenen zehn
Bits an den Ausgangsleitungen des Serien-Parallel-Umsetzers 42 verfügbar zu werden beginnen» Diese Binäreignale werden
in dem Umsetzer 42 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-Umsetzer 43 zugeführt und in
die Verzögerungsleitung eingeschrieben·
Im einzelnen erzeugt der Taktimpulsgenerator 44 im Verlaufe
jeder Bitperiode zehn. Impulse M1 bia M10· Der Impuls M1
bestimmt die lesezeit, d.h. den Zeitpunkt, zu dem der Serien-Parallel-Umsetzer
42 die zu der vorliegenden Bitperiode 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 Einsohreiben in die Verzögerungsleitung
dem Parallel-Serien-Umaetzer 43 zugeführt
werden·
Der Taktimpulsgenerator 44 besitzt einen Oszillator 45» der
im Betrieb einen Impulsverteiler 46 mit Iapuleen von der
108831/1720 -e-
Frequenz der Impulse M1 bis M1O speist, der einen Frequenzteiler
47 zum Erzeugen der Taktimpulse T1 bi.s T8 speist»
Der Oszillator 45 ist nur in Betrieb» solange eine bistabile
Schaltung A1O erregt bleibt, die durch in der Verzögerungsleitung
LDR gespeicherte Signale gesteuert wird*
Jede Dezimalstelle des Speichers IiDR kann entweder ein Dezimaldigit
oder einen Befehl enthalten» Im einzelnen können die als erstes bzw» zweites Befehlsregister bezeichneten
Register I und J ein Programm speichern, das höchstens aus sechzig Befehlen besteht, die der Heine nach in den dreissig
Dezimalstellen des Registers I und in den dreissig Dezimalstellen des Registers J gespeichert sind» Von den übrigen
Registern sind M, N 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 Q, TJ, Z, D, E in zwei Teile unterteilt werden, damit sie
zv/ei Zahlen von je höchstens fünfzehn Ziffern enthalten
können·
Bei der beschriebenen Rechenanlsge haben die verachiedenen
Programmbefehle einen veränderbaren Aufbau, wobei mindestens die folgenden drei typischen Arten möglich sind·
Der Befehl einer ersten Art besteht aus aoht Bits B1 bis
B8, die jeweils in den Binärstellen T1 bis T8 einer bestimmten Dezimalstelle gespeichert sind und von welchen die
letzten vier Bits (b5 bia B8) eine der sechzehn auszuführenden möglichen Operationen P1 bis F16, die vier anderen
(B1 bis B4) im allgemeinen die Adresse eines Operanden dar-
109831/1720
BAD
stellen, auf dem diese Operation ausgeführt werden solle
Die Befehle einer zweiten Art bestehen aus zwei aneinander angrenzenden Zeichen aus je acht Bits .01 bis BS9 die jeweils
in den Binärstellen T1 bis ΤΘ von zwei aneinander angrenzenden
Dezimalstellen gespeichert sind· Die acht ersten Bits B1 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 Falle 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 B1 bis B8, die jeweils in den Binärstellen T1 bis T8 einer bestimmten
Dezimalstelle gespeichert sind und global einen Punktionscode mit acht Bits angeben·
Jedes Dezimoldigit wird entsprechend einem binürverschlüsselten
Dezimalcode in dem Rechner mit Hilfe von vier Bits B5, BC, B7, B8 dargestellt· In dem Verzögerungsleitungsspeicher
LDR werden diese vier Bits in den letzten auftretenden vier Füni;r.steilen T5, TG, T7 bzw, T8 einer bestimmten Dezimal
α t e 1J (.->
au f g e ζ ei ch η e t ·
Im einzelnen wird in dieser Dezimalstelle die Binärstelle T4 zum [Speichern eines Kommabits B4 verwendet, das für die
gesamte Ziffer einer Ivfizimalzahl mit Ausnahme der ersten
ganzen Ziffer hinter dem Komma gleich "0" iut· Die Binär-3
to LLe T3 wird zum Speichern oineu Vorzeiohenbits B'5 verwendet,
daυ für alle Dezimnldigita einer positiven Zahl
109831/1720 bad ooiqinal
- ίο - 1774030
gleich 11O" und für alle Dezimaldigita einer negativen Zahl
gleich "1" ist· Die Binärsteile 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 Dezimaldigits in dem Speicher LDR die sieben Binäratellen
T2, T3, T4, T5, T6, T7 und T8 einer gegebenen Dezimeistelle*
Die verbleibende Binärsteile T1 wird zum Speichern eines
Markierung3bits verwendet, dessen Bedeutung nicht unbedingt
mit der in dieser Stelle gespeicherten Dezimalziffer in Beziehung
zu stehen braucht»
Ein in der ersten Dezimalstelle C1 des Registers R gespeichertes Bit B1R = "1" wird am Anfang jedes Speicherzyklus
zum Starten des l'aktimpulagenerators 44 verwendet} ein in
der 30-ten Dezimalstelle 030 des Registers.B gespeichertes
Bit B1E = "1" wird zum Anhalten des Generators 44 verwendet;
ein in der η-ten Dezimalstelle des Registers U gespeichertes Bit B1N « "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 Registers M gespeichertes Bit B1M = "1M zeigt ans
1) dass beim Eingeben einer Zahl über das Tastenfeld in das Register M das nächste eingegebene Dezimaldigit in der (n-1)-Dezimalstelle
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 druokende Digit das in der η-ten Dezimalstelle
-11-
109831/1720 BA0 original
dieses Registers gespeicherte Digit ist; 4) dass beim Addieren von zwei Zahlen das Digit der in der η-ten Dezimalstelle
des Registers H gespeicherten Summe danach durch Addieren eines bestimmten Digits korrigiert wird· Ein in der 16-ten
Dezimalstelle C16 des Registers Z gespeichertes Bit B1Z «
"1" stellt eine Anzeige dar, die es erlaubt, die Register Q, U, Z, D,E in zwei Hälften zu teilen. Ein in der n-ten
Dezimalstelle des Registers U gespeichertes Bit B1U = "1" zeigt an, dass die Ausführung eines HauptProgramms beim
η-ten Befehl aus dem Register I oder J unterbrochen worden ist, um auf die Ausführung eines Unterprogramms überzugehen»
Deshalb werden die Bits B1R, B1E, B1Z zur Darstellung feststehender
Bezugsstellen in den verschiedenen Registern verwendet; die Bits BIN, B1M und B1U stellen verstellbare Bezugsstellen
dar· Die Bits B1M werden bei Durchführung einer Addition ousserdem dazu verwendet, für jede Dezimalstelle
eine zu einer auf dieser Dezimalstelle durchgeführte oder durchzuführende Operation gehörende Information aufzuzeichnen.
Die Regenerierung oder die Änderung (Verschiebung) der Markierungsbits erfolgt mit Hilfe eines Markierungsbit-Steuerkreises
37*
Die Rechnungsanlage nach der Erfindung enthält ausserdem
einen Binäraddierer 72, der mit zwei Eingangsleitungen 1 und
2 versehen ist zur gleichzeitigen Aufnahme von zwei zu addierenden Bits, die an der Ausgangsleitung 3 das Summenbit
erzeugen.
Der Rechner ist ausserdem mit einem Verschieberegister K mit acht Binärstufen K1 bis K8 versehen. Das Register K von
üblicher Bauart ist so aufgebaut, dass es jedes Mal, wenn es einen Verschiebeimpula über den Anschluss 4 aufnimmt,
die in den Stufen K2 bis K8 gespeicherten Bits jeweils in
109831/1720
die jeweils vorangehenden Stufen K1 bis K2 verschoben werden,
während die dann in den Eingangsleitungen 5t 6, 7, 8, 9»
10, 11, 12, 13 vorhandenen Bits jeweils in die Stufen K1, K2,.
K3, K4, K5, K6, K7, K8 und nochmals K8 Überträgen werden·
Die Verschiebe-ateuerimpulae werden von den Impulsen M4
gebildet. Das Register K empfängt einen von ihnen während jeder Bitperiode, d.h. während jeder Digitperiode acht Verschieb
eimpulse. Der Inhalt jeder Stufe des Registers K
bleibt von dem Impuls M4 jeder Bitperiode bis zu dem Impuls M4 der nächstfolgenden Bitperiode unverändert· Somit ist
klar, dass ein der Eingangaleitung 13 des Registers K während einer bestimmten Bitperiode zugeführtes Bit an der
Ausgangsleitung 14 des gleichen Registers nach acht Bitperioden, d.h. eine Digitperiode später, verfügbar ist, ao
dass das Register K wie ein Verzögerungsleitungsabschnitt mit einer einer Digitperiode entsprechenden Länge wirkt·
Durch Anschliessen eines Gattungs-Speicherregisters X an das
Register K in einer geschlossenen Schleife, während alle übrigen Register in sich selbst geschlossen bleiben, wird dieses
Register in bezug auf die übrigen Register effektiv um eine Digitperiode verlängert. Wenn man die n-te Dezimalstelle des
Registers X als diejenige bezeichnet, die gleichzeitig mit der η-ten Dezimalstelle der übrigen Speicherregister entnommen
wird, d.fcu während der η-ten Digitperiode seit des Entnehmens
des den Taktimpulegenerator 44 startenden Bits B1R,
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 auf Grund seiner Fähigkeit, als Verzögerungsleitung
zu wirken, geaäae den auf Seite 198 dee Werkes
"Arithmetic Operations in Digital Gomputere" von R.E· Richard,
109831/1720
BAD OR»G»NAL
1955, dargelegten Grundsätzen ausserdem als Zähler verwendet
werden· Im einzelnen ist dieser Zähler, sofern seine Ausgangsleitung
13 und seine Eingangsieitung 14 an die Ausgangsleitung
3 bzw. an die Eingangsleitung 1 des Addierers angeschlossen sind, während die Eingangeleitung 2 des Addierers
kein Signal aufnimmt, in der Lage, aufeinanderfolgende Zählimpulse zu zählen, die einer bistabilen Übertragungsspeiohervorrichtung
A5» die in dem Addierer enthalten ist, entsprechend dem nachfolgenden Kriterium zugeführt werden« Indem
die in dem Register K enthaltenen aoht Bits als eine Binärzahl mit acht Binärstellen angesehen werden, kann der bistabilen
Sohaltung A5 ein Zählimpuls zugeführt werden, sobald die unbedeutendste Binärstelle aus dem Eegister K entnommen
wird β Demzufolge sind die Zählimpulae zeitlich um eine Digitperiode
oder ein Mehrfaches von ihr voneinander getrennt·
Ausserdem kann das Register K als Pufferspeicher zum vorübergehenden
Speichern einer Dezimalziffer oder dee Adressenteils
eines Befehls oder des funktionsteile wirken, um eine Druckeinheit zum Drucken des Digits oder des Adressenteils
oder des Punktionsteils zu steuern·
Beim Übertragen von Baten oder Befehlen aus dem Tastenpult
22 in den Verzögerungsleitungsspeicher IJ)R kann das Register K ausserdem als Parallel-Serien-Umsetzer wirken, wie
es in der US-Patentschrift 3 304 418 genauer beschrieben ist»
Die Rechenanlage nach der Erfindung besitzt ausserdem einen Befehl-Serien-Parallelwandler 16 mit aoht Binärstufen 11
bis 18 zum Speichern der jeweiligen Bits eines Befehls.
Diese die Adressierbits B1 bis B4 sowie die Punktionsbits
B5 bis B8 dieses Befehle enthaltenden acht Binärstufen 11 bis 18 speisen einen Decoder 17 mit acht Ausgängen und ver-
108831/1720 8AD 0R|Q1NAL
-H-
schiedenen au β gang ie leitung en T1 bis Y8 bzw· Fl bia F16.
Die die Adressierbits B1 bis B4 des Befehle enthaltenden vier ersten Stufen 11 bis 14 speisen die vier ersten Eingänge des
Decoders 17· Bei einem Befehl der im Vorstehenden beschriebenen »rsten Art ist von den je mit einem der acht adressierbaren
Speicherregister in Beziehung stehenden acht Ausgangsleitungen
Y1 bis Y8 diejenige erregt, die mit dem Register übereinstimmt, dessen vier Bits B1 bis B4 die Adresse identifizieren·
Es sei bemerkt, dass die Adresse des Registers M durch vier Bits gleich "O" dargestellt wird, so dass das Register M
automatisch gewählt ist, wenn nicht ausdrücklich eine andere
Adresse gegeben wird*
Die die Bits B5 bis B8 des durch den Umsetzer 16 gesohickten
Befehls enthaltenden Übrigen vier Stufen 15 bia 18 speisen
die übrigen vier Eingänge des Decoders 17* Sofern der
umgewandelte Befehl ein Befehl der ersten Art ist, wird derjenige
der Ausgänge P1 bis P16 erregt, welcher der durch die vier Bits B5 bis B8 dargestellten Funktion entspricht·
Bei Befehlen der zweiten und der dritten Art, bei welchen
die acht Bits B1 bis B8 des ersten Zeichens des Zeichenpaares
des Befehls zweiter Art und das einzige Zeichen des Befehls dritter Art, wie vorstehend erörtert, global einen
Funktionsoode mit acht Bits darstellen, wird ein einziger Ausgang der Gruppe P1 bis F16, und zwar der Ausgang F15 bzw·
ΙΊ4, erregt, während von den Ausgängen der Gruppe Y1 bis Y8
keiner erregt wird, da in diesem Falle das umgewandelte Befehlsaeiohen
keine der Adressen Y1 bia Y6 darstellt·
Ausaerdem können die Ausgänge der Stufen 11 bis 14 und
-15-
108831/1720
BAD
~ 15 -
die Ausgänge der Stufen 15 bis 18 über ein Gatter 19 bzw·
20 an die jeweiligen Eingänge der Stufen K5 bis ΚΘ des Registers
K angeschlossen werden, um die Adresse bzw· die Funktion auszudrucken, die in diesen Stufen enthalten sind·
jiin an sich bekannter Umschaltkreis 36 ist vorgesehen, um eiit^precl end verschiedenen Arten die Speicherregister, den
Addierer 72, das Register K oder den Befehl-Serien-Parallel-Umsetser
16 untereinander zum Steuern der Daten und Befehlsübertrygungen
zwischen diesen verschiedenen Teilen zu verbinden· Es leuchtet also ein, dass der Umachaltkreia 36
ausserdem die Aufgabe hat, auf Grund der ihm aus dem Decoder
17 zugeführten Adresse die Register auszuwählen·
Das l'astenpult 22 zum Eingeben der Daten und der Befehle
und zur steuerung der verschiedenen Funktionen dea Reohnera enthalt ein Zahlentastenfeld 65 mit zehn Zifferntaeten 0 bis
9, die dazu dienen, über das Register K eine Zahl in das Register M einzugeben, das unter den Registern des Speiohers
LDlI das einzige von dem Zahlentaatenfeld aus zugängliche
Register ist. Das Tastenpult 22 enthält ausserdem ein Adressentsstenfeld
68, das mit den Tasten Q, U, Z, D, E, N, R versehen ist, die je dLe Wahl eines gleiohnamigen Registers des
Verzögerungsleitungsspeichers LDR steuern»
Das Tastenpult 22 enthält ausserdem ein Punktionstastenfeld 69 mit Tasten P1 bis F16, die je dem Punktioneteil
eines der Befehle entsprechen, die der Rechner ausführen
Die drei Tastenfelder 65, 68 und 69 steuern eine übliohe mechanische Deoodereinriohtung, die auβ Codierstäben besteht,
die mit elektrischen Schaltern zusammenwirken, um an vier Leitungen H1, H2, H3, H4 vier Binäraignale zu erzeugen,
die entweder die vier Bits einer auf dem Tastenfeld
109831/1720
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 JJecodereinrichtung ausaerdem eine Ausgangsleitung
G1 oder &2 oder G3 erregen kann, um anzuzeigen, ob
das Tastenfeld 65 oder das Tastenfeld 68 bzw· das Tastenfeld 69 betätigt worden ist·
Eine Kommataate 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· SNe
Einige der von der Kechenanlage ausführbaren Befehle sind
nachstehend aufgeführt (der Buchstabe Y bedeutet das der in dem Befehl bezeichneten Adresse entsprechende G-attungsregister):
F1) 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—M;(N+M)—N|
F2) Subtraktion: Entsprechend: Y—M;(N-M)—N;
F3) Multiplikation: Entsprechend: Υ—Μ|(Ν·Μ)—Nj
F4) Division: Entsprechend: Y—M;(N:M)—N;
F5) Übertragen aus M: Übertragen des Inhalts des Registers
M in das gewählte Register Y, d«h. N—Yj
F6) Übertragen in Nt Übertragen des Inhalts, dee gewählten
Registers in das Register N, d.h. Y—Nj
-17-109831/1720
F7) Austausch» Übertragen dea Inhalts des gewählten Registers
in das Register N und umgekehrt, doh· Y-N5N-Y;
I"8) Drucken« Ausdrucken des Inhalts des gewählten Registers;
F9) Drucken und Lögehen: Ausdrucken des Inhalts des
gewählten Registers Y und Löschen des Inhalts;
P10) Eingeben von Daten; Anhalten der automatischen Ausführung
des Programms und warten, bis der Bedienende Daten in das Tastenfeld eingibt; diese Daten in das
gewählte Register einspeichern, danach die automatische Punktion wiederherstellen;
F11) Auszug aus dem Register I eines der ersten durch die
in dem' vorliegenden Befehl enthaltenen Adresse spezifizierten ersten acht Zeiohen und Übertragen dieses
Zeichens in das Register H;
FI2) Unbedingter Sprung auf den in dem vorliegenden Befehl
spezifizierten Programmbefehl;
F13) Bedingter Sprung;
F14) Sprung auf den in der ersten Stelle des ersten Programmregisters
enthaltenen Befehl. Es handelt sioh um einen Befehl der dritten Art gemäss der im Vorstehenden
verwendeten Benennung, dessen ihn bildende aoht Bits global die hier beschriebene Punktion darstellen·
Dies ist eine besondere Art von unbedingtem Sprung, dessen Verwendung im wesentlichen mit der
Wiedereintrittsoperation aus einem Unterprogramm in das Hauptprogramm in Verbindung steht.
109831/1720 -18-
BAD
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örtern! ΪΜ5» (3?12»Sn), worin £15 das erste Zeichen aus acht die
Funktion darstellenden Bits angibt: Änderung dea ersten Befehls aus dem ersten Programmregister, indem er durch
die das zweite Zeichen des vorliegenden Befehls bildenden acht Bits ersetzt wird· Diese acht Bits umfassen vier
eine Sprungfunktion ?12 angebende Bits und Vier die Adresse
Sn, auf die gesprungen werden soll, angebende Bits· Die
Sprungadresse ist hier keine Stellenadresae, sondern eine auf dem in dem Adressenteil des Befehls enthaltenen uode
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 Hauptprogramm nech der Erfindung verwendet»
Die Wirkungsweise dieser Befehle wird später noch näher
erläutert·
Die Rechenanlage nach der Erfindung lässt sich wahlweise so
einstellen, dass sie nech drei Arten, und zwar "von Hand",
"automatisch" und "Programmeinspeicherung11 In Abhängigkeit
davon, ob ein schalter 23 mit drei Stellungen ein Signal PM, PA oder IP erzeugt, arbeitet· Alle vorerwähnten Befehle ■
können bei automatischem Betrieb ausgeführt werden und die ersten neun Befehle können au oh bei Handbetrieb ausgeführt
werden·
109831/1720 -19-
./ährend des -tfrogrammeinspeicherungsbetriebes, 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 diecem Zweck können die Ausgänge H1 bis H4
des Tastenfeldes über das Gatter 24 jeweils an die Eingänge θ bis 11 des Registers K. angeschlossen werdeno 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 d;3 Adressentastenfeld und das Funktionstastenfeld
unwirksam«
Der automatische Betrieb besteht aus einer Folge von Befehl-Sufcstituierphgsen
und Befehl-Ausführphasen· Im einzelnen 'vird während einer Gattun^s-Subatituierphase ein Befehl aus
dem Programraregister extrahiert und in den Serien-Parallelwandler
16 übertragen» Auf diese Phase folgt automatisch eine Ausführungsphase, in der der Rechner unter Steuerung
durch den gespeicherten Befehl diesen Befehl ausführt· Auf diese Ausführungspha,se folgt automatisch eine Substituierphase
für den nächstfolgenden Befehl, der extrahiert und anstelle des vorherigen Befehls gespeichert wird usw.
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ängigkeit von dem ersten umgesetzten Zeichen, in welchem acht Bits B1 bis B8 global einen eine
109831/1720
an dem zweiten Zeichen dee Zeichenpaares durchzuführende
Operation anzeigenden Funktionscode darstellen* die Übertragung
der das zweite Zeichen des Paares bildenden acht Bits
in eine vorbestimmte Dezimalstelle des Speichers IiDR ausführt»
Nach Beendigung der Ausführungsphase folgt automatisch eine weitere Extraktionsphase, in welcher der auf das zweite Zeichen des aus zwei Zeichen bestehenden Befehls folgende Befehl
aus den Programmregistern entnommen und anstelle des
ersten Zeichens des aus zwei Zeichen bestehenden Befehls umgewandelt wird. Sofern in dem Serien-Parallel-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 Punktionsteil des Befehls entsprechende Signal.
Während des automatischen Betriebes ist normalerweise auch
das Zahlentastenfeld 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 Dateneinspeioherbefehl JMO ist· Es
ist klar, dass dieser Befehl unter Zuhilfenahme eines bestimmten Programms die Verarbeitung einer Anzahl Daten ermöglicht,
die höher ist als die, die der Speicher anfänglich enthalten kann·
Beim Handbetrieb können das Zahlentastenfeld, das Adressentastenfeld
und das Funktionatastenfeld alle wirksam, d»h»
in Betrieb, sein· Im einzelnen können genäse dieser Betriebsart das Adressentastenfeld und das frunktionstaetenfeld von
dem Bedienenden dazu verwendet werden, um zu bewirken, dass der Reohner eine Tolge von Operationen entsprechend einer beliebigen
während des automatischen Betriebe ausgeführten Folge
ausführt· Zu diesem Zweck gibt der Bedienende über das
Tastenfeld eine Adresse und eine funktion ein, die demzu-
-21-
109S31/1720
folge genau wie während 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-Ausführphaae eingeleitet, um diesen eingegebenen Befehl
in einer, der Auaführungephase dee automatischen Betriebes
entsprechenden Weise auszuführen· Naoh Beendigung dieser Befehl-Ausführphase stoppt der Rechner und wartet auf
einen durch den Bedienenden über das Tastenfeld eingegebenen neuen Befehl·
v/ie 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
ürundoperationen entsprechenden Befehle F1, P2, P3, P4 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 Punktionstastenfeld
69 niedergedrückten Tasten entsprechende arithmetische Operation, entweder naoh einer eventuell vorher
über das Zahlentastenfeld 65 eingegebenen Zahl oder nach
einer in einem mit Hilfe des Adressentastenfeldes 68 eventuell
gewählten Register gespeicherten Zahl ausgeführt werden·
Ausaerdem hat sich gezeigt, dass während des automatischen
Betriebes die in den Befehlen spezifizierten Funktionen naoh den vorher in den Speicher eingespeicherten Daten ausgeführt
werden· Vor dem Eindrücken des Sohaltknopfes AUT zum Starten
109831/1720 _4n M
~ 22 -
der automatischen Programmaueführung kann der Bedienende,
nachdem er die Rechenlage 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 den Register entsprioht,
in dem die Daten gespeichert werden sollen und dann die dem Übertragungsbefehl Ϊ5 entsprechende Funktionstaste
niederdrückt» Die Rechenanlage nach der Erfindung enthält ausaerdem eine Gruppe bistabiler Schaltungen, die in Pig« 1b
mit Hilfe eines 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 B2
gleich *1" speichernden ersten Binärsteile Ϊ2 aus den Register
M erregt, worauf sie beim Entnehmen der ein Digitanzeigebit S2 gleich "O11 speichernden ersten Binärstelle 12
enterregt wird, so dass die bistabile Schaltung AO während des gesamten beim Entnehmen der in dem Register K gespeicherten
Zahl verstreichenden Zeitintervalls erregt bleibt· Mit anderen Worten zeigt die bistabile Schaltung AO in jedem
Speioherzyklus 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 völlig veränderbar
sind·
Die bistabilen Sohaltungen A1 und A2 sind in der Lage, eine entsprechende Anzeige der Länge und der Lag· 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 A1 und A2
lurch den Ausgang LN des Registers N bzw* durch den Ausgang L des gerade gewählten Registers gesteuert* Die Ausgänge der
-23-109831/1720
bistabilen Schaltungen AO und A1 werden ao kombiniert, dass sie ein Signal Αθ1 erzeugen, das während jedes Speicherzyklus
von der Entnahmezeit des ersten Dezimaldigita aus den Dezimaldigits der Zahlen M und N bis zur Entnahmezeit des
zuletzt auftretenden Dezimaldigita dieser Dezimaldigite andauert.
Die bistabile Schaltung A3 wird normalerweise zum unterscheidenden 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 Speicherzyklua oder eines
Teiles davon während des Betriebes der Eingangs- und Auegangseinheiten 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 304 418 zu finden»
Die Rechenanlage besitzt aueserdem 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·
Genauer gesagt, bringt die Vorderkante, die das Erregen einer bistabilen Schaltung mit dem Zustand P23 bewirkt, den
109831/1720
Zähler h in einen solchen Zustand, dass er die Abtastung des
ersten Befehlsregisters I ermöglicht·
Barauf fügt bei jedem Zyklus der magnetoatriktiven Leitung
das Ablesen IB1R der Bits B1R « 1 für das Starten des Oszillators
45 dem Inhalt des Zählers 1 hinzu, so dass die verschiedenen Programmregister der Reihe nach abgetastet werden·
Die Rechenanlage ist ausserdem mit einem iOlgesteuerungsorgan
26 versehen, welches eine Gruppe bistabiler Schaltungen mit dem Zustand P1, 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 P1 - Pn entsprechenden Zustand befindet· Der Be- ,
trieb 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 sich bekannte logische Schaltung 27»
und zwar auf der Basis der ihr durch die bistabilen Schaltungen P1 - Pn über die Leitung P vermittelten Kenntnis des
derzeitigen Zustandes, das ihr durch den Codierer 1S über die Leitung Ϊ zugeführten 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 logisohe Schaltung 27 entscheidet,
welcher der zukünftige Zustand sein soll» indem sie diejenige Ihrer Auegangeleitungen 28 erregt» die 41mem
zukünftigen Zustand entspricht* Wenn darauf eine logisohe Schaltung 29 (fig. 5) einen ZuetandeweoheeX-Taktstfuerimpuls
HG erzeugt, wird die bistabile Schaltung alt einem diese« zukünftigen Zustand entsprechenden Zustand Über das dem Ausgang 28 entsprechende Gatter 30 erregt* während all« anderen
bistabilen Schaltungen enterregt werden·
109831/1720 -*5-
"S'T
~ 25 -
Die Rechenanlage ist auaaerdem mit verschiedenen anderen
Vorrichtungen, wie beispielsweise mit der Schreibvorrichtung, der Kartenlese-- und Speichervorrichtung usw· versehen·
Die Übertragungen zwisohen den Registern des Speichers
LDR erfolgen gewöhnlich, wenn sioh die Masohine in einem
Zustand P2 befindet» der einen einzigen, zwisohen zwei aufeinanderfolgenden Ingangsetzungen des Oszillators 45
enthaltenen Speioherzyklus dauert· Im einzelnen «ohliesat
der Schaltkreis 36 in diesem Zustand P2 sowohl bei Handais auoh bei automatischem Betrieb, eoferη der Umsetzer
16 den Befehl Υ·Ρ6 enthält» d*h· wenn das derzeitig gewählte
Register das Gattungsregister Y und die umgewandelte
Funktion ]?6 ist, alle Register mit Ausnahme des Registers N zur wiedergewinnung ihres Inhalts an ihre Jeweiligen Eingänge
an und verbindet auaserdem den Ausgang de« gewählten
Registers mit dem Eingang SN des Registers -N, so dass in
einem einzigen Speioherzyfclus der Inhalt des Registers Y
in das Register N übertragen wird·
Wenn dagegen der in dem Umsetzer 16 vorhandene ?unktionsteil
des Befehls Y.P7 ist, sohliesst der Schaltkreis 36 alle Register mit Ausnahme des Registers H und des derzeitig
gewählten Registers Y zur Wiedergewinnung ihres Inhalts an ihre jeweiligen Eingänge an und verbindet ausserdem
den Ausgang des Registers N bzw» des Registers Y mit dem Eingang des Registers Y und des Registers H, so dass der
Inhalt des Registers Y in das Register N und umgekehrt übertragen
wird·
Wenn dagegen der Umsatzer 16 den Additionsbefehl Y.P1 oder
den Subtraktionsbefehl Y.I2 oder den Ifultiplikationsbefehl
109831/1720
Υ.Ϊ3 oder den Divisionsbefehl Υ·Ϊ4 enthält» schliesst der
Schaltkreis 36 alle legiater mit Ausnahme dee Registers Mi
zur Wiedergewinnung ihree Inhalte an ihre jeweiligen Eingänge an und verbindet ausserdem den Ausgang des derzeitig
gewählten Hegistere Y mit dem Eingang des Segistera Μ, so
dass der Inhalt des Registers T in das Register M übertragen wird·
Wenn der Befehl keine besondere Adresse angibt, wird in
jedem Pa11β implizit, wie gewöhnlich, das Register M
adressiert* Ohne Rücksicht auf den derzeitig umgewandelten Befehl öffnet sich beim Zustand P2 beim erneuten Anlaufen de« Generators 44 das Gatter 84 der Sohaltung 29
(flg. 5)» um einen Zustandewechsel-Taktimpuls MG zu erzeugen, durch welohen der Rechner auf den durch die Art
des Befehls bestimmten nächsten Zustand umschaltet·
Dagegen bewirken, sofern bei einem anderen Zustand P9 des Reohners der Itultiplikationsbefehl Ϊ.Ϊ3 umgewandelt
wird, die durch den Schaltkreis 36 hergestellten Verbindungen entsprechend dem vorstehend erläuterten, die Übertragung aus dem !Register N in das Register $· Jegliche
sonstige Übertragung zwischen den Registern erfolgt in entsprechender Weise»
falls der Inhalt einer Gattungsdezimalatelle Cn aus einem
Gattungsregister, beispielsweise Y, in eine entsprechende
Dezimalstelle eines anderen Registers, beispieleweise eines Befehlsregisters I übertragen werden soll, greift man auf
die bistabile Sohaltung A9 curüok, die während der dieser
Dezimalstelle On entsprechenden Digitperiode erregt wird·
Während dieser Bigitperiode On wirkt die bistabile Sohaltung
A9 auf die bistabile Lesesohaltung LI dee Befehleregisters I
,.'-27-109831/1720
ein und enterregt sie· Gleichzeitig und in durch die bistabile
Schaltung Ag ermöglichter Weise wird der Ausgang der bistabilen Lesesohaltung IY des Registers Γ an die bistabile
Schreibsohaltung SI des Hegisters I angeschlossen.
Auf diese Weise erhält man die Substitution des Inhalts in dem gewünschten Register I·
Wie vorstehend erörtert, werden die Zahlen über das Tastenfeld
in das Register M eingegeben ohne Rüoksicht 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 L])R, 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 Speioherzyklus
eine Verzögerung von einer Digitperiode. Polglioh genügt es, da die vorerwähnte Verbindung der Register mit
Hilfe des Schaltkreises 36 erfolgt, um eine in einem bestimmten
Register, beispielsweise M, enthaltene Zahl so auszurichten, dass ihre erste ganze Ziffer, welcher das Komma
zugeordnet ist, auf die erste Dezimalstelle 01 gebracht wird,
wenn die Eeohenanlage in einem Ausriohtungseustand P3 solange wiederholte SpeieherZyklen aueführt, bis der Reohner,
wie vorstehend erörtert, in einem bestimmten Zyklus während der duroh Ablesen eines Harkierungsbite B1R · M1" identifizierten ersten Digitperiode 01 in dem Regieter II ein
109831/1720
Kommabit B4 * "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 (Fig. 5) bei der nächsten Ablesung der ersten Ziffer der Zahl M oder N die Vorderkante
des Signals A01 über das Satter 86 einen Impuls MG, der
den Rechner auf den nächsten Zustand umschaltet·
In entsprechender Weise kann man in einem geeigneten Zustand
P14 eine Zahl verschieben, bis ihre bedeutendste Ziffer sich in der ersten Dezimalstelle 01 eines bestimmten
Registers befindet· Es ist klar, dass man im allgemeinen unter Ausnutzung der Markierungsbits die Zahlen
nach verschiedenen Kriterien ausrichten kann·
Im Nachstehenden ist die Arbeitsweise der elektronischen Rechenanlage während der Verarbeitung des Programms beschrieben·
Im einzelnen werden die Überaetzunge- und Ausführungsphasen
der Befehle der im Vorstehenden näher erörterten drei Arten beschrieben·
Übersetzung und Anaführung eines Befehls der ersten Art
Bs wird angenommen, dass das Programm bereits in die Speicherregister 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 36 einerseits den Ausgang jedes Registers
-29-109831/1720
zur Wiedergewinnung seines Inhalts an den jeweiligen Eingang und andererseits das Register I, das Register J oder
andere gegebenenfalla zum Enthalten von Befehlen herangezogene Register mit dem Befehl-Serien-Parallel-Umsetzer
16 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 B1R » "1"
für den Oszillator 45 in der Periode 01 der ersten Digitperiode das Erregen der bistabilen Schaltung A3 zur Folge,
die durch das Ende dieser Digitperiode enterregt wird·
In dieser ersten Digitperiode 01 wird also der Ausgang LI
des Registers I mit dem Befehl-Serien-Parallel-Umsetzer
16 verbunden, was zur Folge hat, dass die acht Bits des ersten Befehls des Programms in die aoht Stufen 11 bis 18
des Umsetzers eingeschrieben werden, wo sie bleiben, bis nach Ausführung des ersten Befehls der zweite Befehl extrahiert
wird. Ausserdem erregt in dieser Digitperiode G1, da die bistabile Schaltung A3 erregt ist, der Taktimpuls T8
die bistabile Schaltung A9» die danach durch den nächstfolgenden Taktimpuls T8 enterregt wird. Die bistabile Schaltung
A9 kann also bei richtigem Erregungs zu stand 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 Bita B1U = "1" in die zweite Dezimalstelle C2
des Registers N, wobei das Bit Ü1N eine Marke darstellt,
109831/1720
die das Erkennen des zu extrahierenden nächsten, und zwar
des zweiten, Befehls ermöglicht.
Da ausserdem die bistabile Schaltung A9 erregt ist, erregt
der Taktimpuls 11 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 magnetostriktiven Leitung die Vorderkante des Signals A10 in dem Kreis 29 mit Hilfe dee Getters
83 ein Zustandswechsel-Taktsteuersignal MJ für das Umschalten auf den nächstfolgenden Zustand, der durch die
Schaltung 27 in Abhängigkeit von dem soeben extrahierten und umgewandelten Befehl bestimmt wird.
Dieser nächstfolgende Zustand ist der erste einer Zustandsfolge,
während der der Befehl ausgeführt wird·
Wenn 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, usw·
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 Operationsendsignalen
automatisch auf den Zustand P17 um.
Im Zustand P17 führt der Rechner einen Speicherzyklus aus,
im Verlaufe dessen er in den Programmregistera den zu extrahierenden
Befehl sucht, der der (n+1)-te am Vorhandensein des Bits BiN ■ "1" in der (n+1)-ten Dezimalstelle dee
Registers N erkennbare Befehl ist. Das Herauslesen dieses Bits B1N erregt die bistabile Sohaltung A3, die die für
die Extraktion des Befehls brauchbare Digitperiode identifiziert. Ausserdem ermöglicht die die nächste Digitperiode
-31-
109831/1720
identifizierende bistabile Schaltung A9 das Einschreiben des Bits B1N = "1" in der nächsten Digitperiode, d.h. sein
Verschieben von dem derzeitig extrahierten Befehl auf den nächstfolgend zu extrahierenden Befehl·
Übersetzung und Ausführung eines Befehls der zweiten Art
Die bisherige Beschreibung betrifft die Arbeitsweise dea
Rechners in den Phasen der Übersetzung in Ausführung von aus einem einzigen Zeichen aus acht Bits bestehenden Befehlen«
Im folgenden wird kurz die entsprechende Arbeitsweise bei einem Befehl mit zwei Zeichen, d.h. bei einem aus
zwei aufeinanderfolgenden Zeichen (zweite Befehlsart gem:iss
der verwendeten Nomenklatur), bestehenden Befehl, z.B· vom Typ P15oDV, 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-Umsetzer 16 die decodierte
Form 1*15 ergeben. Die acht Bits des Code F15 werden,
wie vorstehend erörtert, in den acht Stufen des Serien-Parallel-Umsetzers
16 umgewandelt, jedoch bleiben sie auf Grund der besonderen Form des Code mit zwei Zeichen in dem
Umsetzer, bis der auf das zweite Zeichen folgende Befehl extrahiert wird·
Im nächsten Zustand P27 wird dadurch, dass die bistabilen Schaltungen A3 und A9 entsprechend der im vorhergehenden
Abschnitt beschriebenen «/eise erregt und enterregt werden, ein Bit B1N = "1" mit Hilfe des Kreises 37 in die Dezimalstelle
eingeschrieben, die das zweite Zeichen DV des aus
109831/1720
zwei Zeichen bestehenden Befehls enthält, welches das
nächstfolgende zu extrahierende Befehlszeiohen ist·
Ausserdem wird in dem gleichen Zustand P27 das Register M vollständig gelösoht, was die Wiedergewinnung seines Inhalts
verhindert, und ein einziger Befehl, und zwar der für das Sprungzeiohen DV, übertragen.
Die Arbeitsweise während dieser Übertragungsphase ist im vorangehenden Abschnitt beschrieben. Wie vorstehend erörtert,
befindet sich das Zeichen DV infolge der übertragungaoperation an der Dezimalstelle des Registers H, die der
Stelle entspricht, an welcher sich das Befehlsregister 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 H naoh der ersten Dezimalstelle erfolgt, so dass sich das Sprungzeichen DV in der
ersten stelle des Registers M befindet·
Darauf schaltet der Reohner automatisch auf den nächstfolgenden
Zustand P32 um, in welchem der Sprungoode 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 Befehl gehörende
Zuständefolge erschöpft, worauf d«r Reeh&er automatisch
auf den Zustand P17 umeohaltet, la YerlaUfβ dessen der
nächstfolgende Befehl extrahiert wird und entepreehend seiner
Art in vorstehend beschriebener Weise überg^tet und auegeführt
wird·
-33-109831/1720
übersetzung und Ausführung eines Befehle
der dritten Art
Es sei angenommen, dass sioh der Reohner in dem Zustand
P17 befindet, und dass in diesem Zustand der Serien-Parallel-Umsetzer
16 den Befehl F14 extrahiert und umwandelt·
Der Befehl F14 schaltet den Reohner auf den Zustand P23 um.
Am Anfang dieses Zustandes stellt die Vorderkante des P23
entsprechenden Signals den Zähler h (Jig· 4) 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 P17, in welchem
der erste Befehl aus dem Register I extrahiert wird.
Jedoch muss dieser Befehl, damit er extrahiert werden kann, wie in der allgemeinen Besohreibung näher erläutert, duroh
das Markierungsbit B1N * 1M" ergänzt werden. Demzufolge
muss ganz am Anfang jedes Zustandes P17, vor Beginn der effektiven
Abtastung der ersten Dezimalstelle, in nachstehend näher beschriebener //eise dieae Stelle mit dem vorerwähnten
Markierungsbit B1N = "1" versehen werden.
Dazu wird üo verfahren, daas der mit der ürregung der bistabilen
Schaltung A10 zusammenfallende Beginn des Taktspeicherzyklus
die Erregung der bistabilen Schaltung A3 bewirkt, wqß dadurch erreicht v/ird, daes in der bistabilen Sohaltung
A3 dfis Signal IB1 (Fi^. 4) aufgebaut wird· Darauf wird unter
109831/1720
Ausnutzung der Tatsache, dass die de» ArbeStebruohteil des
SpeicherzykluB begrenzende Erregung der bistabilen Schaltung
A10 und die die erste Bitperiode des ersten Zeichens begrenzende Erregung der bistabilen Schaltung A3 um einige
liikr ο Sekunden voneinander getrennt sind» die Enterregung der
bistabilen schaltung durch die Vorderkante des Signale T1
herbeigeführt·
Die Enterregung von A3 bewirkt die Erregung von A9» so dass
der Steuerkreis 37 das Markierungsbit B1H · M1W iß die erste
Dezimalstelle einschreiben kann» Wenn die Speicherung des Bits B1N in der ersten Dezimalstelle des Registers auf diese
Weise erzielt worden ist, wird dieses Bit sofort entnommen, um in üblicher Weise das Extrahieren dee ersten Befehls zu
steuern»
Umschalten vom Hauptprogramm auf ein
Unterprogramm und umgekehrt
Im Nachstehenden wird, insbesondere anhand von Fig· 6, die Ausführung eines Programms für das Umschalten von einem
Hauptprogramm auf ein Unterprogramm und danach das Wiedereintreten
in das Hauptprogramm beschrieben· fig· 6 zeigt
im einzelnen ein Hauptprogramm mit einundachtzig an den Dezimalstellen C2 bis C82 der Befehlsregister des Speichers
LDH angeordneten Befehlen und ein Unterprogramm mit fünfundzwanzig
an den Stellen C91 bis C115 angeordneten Befehlen· Die aufeinanderfolgenden Speicherstellen sind durch
eine Polge von zueinander ausgerichteten Heohteoken dargestellt,
da, wie bereite erläutert, der Zähler h uttd 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
-35-109831/1720
der einzelnen Register ist·
Hierbei ist klar, dass das Hauptprogramm eine beliebige
Länge haben kann· Jalls seine Länge die Gesamtkapazität
der Befehlsregister überschreitet, ist es möglich, das
Programm in den Rechner aufeinanderfolgend blockweise einzugeben
und also auoh bloclcweise auszuführen, indem beispielsweise
jeder Block 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·
Nachdem das Programm in die Speicherregieter eingegeben und
die Hechenanlage durch Betätigen der Taste AUT auf automatische Programmausführung gestellt worden ist, übersetzt
der Rechner den in der ersten Stelle 01 enthaltenen Befehl und führt ihn aus· Aus nachstehend einleuchtenden Gründen
enthält diese erste Stelle keinen Programmbefehl von Bedeutung»
Kach 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 fur die in den Ötellen C3 und 04 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äsa dem Abschnitt
"übersetzung und Ausführung eines Befehle der ersten Art" erfolgt·
Bann wird der in der Stelle C5 enthaltene Befehl extrahiert und übersetzt, wobei angenommen wird, dass er aus dem ersten
Äeichen eines aus zwei Zeichen bestehenden Befehle (zweite
109831/1720
Art) besteht· Im einzelnen sei angenommen, dass der aus zwei Zeichen bestehende, hier erörterte Befehl vom Typ P15 (P12.Sn)
ist, welcher bereits im Abschnitt "Übersetzung und Ausführung eines Befehls der zweiten Art" erörtert wurde und dass
er geeignet ist, vor dem Auslaufen äee Hauptprogramms in
Richtung auf ein Unterprogramm den Wiedereintritt aus dem Unterprogramm in das Hauptprogramm zu bewirken» Die Übersetzunge-
und die Ausführungsphase dieses besonderen Befehlstyps der zweiten Art sind im vorerwähnten Abschnitt beschrieben
worden.
Der Rechner tauscht also den Inhalt der ersten Speicherstelle 01 gegen das zweite Zeichen des in der Stelle C6
enthaltenen, aus zwei Zeichen bestehenden Befehls aus· Wie bereits erörtert, handelt es sieh um das Zeichen (l?12»Sn),
dessen Bedeutung in der Allgemeinen Beschreibung angegeben
wurde· Im einzelnen stellt ΙΊ2 die Sprungfunktion und Sn
die Adresse dar, an welcher der Sprung endet· Ee ist klar,
dass in der Ausführungsphase des hier erörterten, aus zwei
Zeichen bestehenden Befehls die acht Bits des zweiten Zeichens (pi2»Sn) unabhängig von der erwähnten Bedeutung wie
ein zu übertragendea beliebiges Datum zusammen (en bloc)
einfach in die Stellen 01 übertragen und wie ein einziger
Befehl der ersten Art übersetzt werden·
Sei weiterer Verarbeitung des Programms übersetzt der Rechner
die in den Stellen C7 bis C19 enthaltenen nächstfolgenden Befehle· Darauf schaltet der Rechner auf die Übersetzung
des in der Stelle 020 enthaltenen Befehls ut. Hierbei sei angenommen, dass es sich um einen Sprungbefehl F12.Sn handelt, der den Sprung der die Anfangaadresse des Unterprogramms
darstellenden Adresse Sm steuert. Im einzelnen stellt Sm hier einen Einfügcode dar, der bei der Programmierung am
Anfang des Unterprogramms an der Stelle 091 angeordnet worden
-37-109831/1720
ist, die der Stelle 092 vorangeht, an welcher sich der erste
Arbeitsbefehl des Unterprogramms befindet»
Der Rechner verlässt also in der Ausführungsphs3e dieser
Sprungbefehle das Hauptprogramm und schaltet auf einen Zustand fur den Beginn der Ausführung des Unterprogramms um.
Hier ist zu bemerken, dass der aus zwei Zeichen bestehende
Befehl P15·(ΙΊ2·3η) für die Änderung dea ersten Befehls des
Hauptprogramms in dem Programm so angeordnet sein muss, dass er dem Befehl für den Sprung auf das Unterprogramm vorangeht,
was deshalb notwendig ist, weil die Aufgabe dieser aus zwei Zeichen bestehenden Befehle darin besteht, den
Wiedereintritt in das Hauptprogramm vorzubereiten, ein nach
Ausführung des Unterprogramms vorher erstellter Befehl.
Dann geht der Hechner zur Übersetzung und zur Ausführung des
in der Stelle 092 angeordneten ersten Befehls des Unterprogramms über und verarbeitet darauf die anderen Befehle des
Unterprogramms* Der letzte Befehl des Unterprogramms ist
ein Sprungbefehl ]?14 (der dritten Art) t der dem Rechner
einen Sprung auf den in der ersten Stelle C1 der Programmregister vorschreibt· Wie vorstehend erörtert, ist dieser
letzte Befehl ein Sprungbefehl F12.Sn. Er wird jetzt regulär
übersetzt und in der //eise ausgeführt, dass er den Sprung auf die Sprungadresae Sn steuert» Diese Adresse identifiziert
den Befehl des Hauptprogramms, von welohem aus die Ausführung
des Hauptprogramms wiederaufgenommen werden soll· Wenn
angenommen wird, dass der dieser Adresse entsprechende Bezugscode in der Stelle C21 angeordnet worden ist, wird die
Ausführu'üi des Haupt programm s von dem in der Stelle C22 enthaltenen
Befehl an wiederaufgenommen. Darauf setzt der Rechner
die Verarbeitung dos Programms fort, übersetzt die in den Stell.en 02 3 bis C36 enthaltenen nächstfolgenden Befehle
u η d f U hr t :λ i e au s ·
109831/1720
Darauf wird der in der Stelle C37 enthaltene Befehl extrahiert
und übersetzt· Es sei angenommen, dass er aus dem
ersten Zeichen ΙΊ5 eines weiteren Befehls aus zwei Zeichen
(zweite Art) besteht entsprechend dem Befehl, den der Rechner bei der Ausführung des Programms an den Speicherstellen
05 und C6 angetroffen hat·
Der Rechner tauscht also in vorstehend beschriebener Weise den Inhalt der ersten Speicherstelle C1 gegen das zweite
Zeichen des jetzigen in der Stelle 038 enthaltenen, aus zwei Zeichen bestehenden Befehls aus· Es handelt sich um das
Zeichen P12eSo. Wie bereits erörtert, stellt f12 die Sprung- '
funktion und So die Adresse dar, an welcher der Sprung enden soll»
Bei der weiteren Verarbeitung des Programms übersetzt der Rechner die in den Stellen G39 bis C54 enthaltenen 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 Unterprogramms
und die darauffolgende Übersetzung und Ausführung dieses Unterprogramms sind bereits vorstehend beschrieben
worden.
Der letzte Befehl P14 (dritte Art) des Unterprogramms bedingt,
dass der Rechner erneut einen Sprung auf den in der ersten Stelle Ö1 der,. Programmreg ist er enthaltenen Befehl
ausführt·
-39-109831/1720
BAD
~ 39 -
Wie bereits erörtert, ist dieaer Befehl in Wirklichkeit ein
Sprungbefehl F12.So, der bei regulärer Übersetzung und Ausführung den Sprung auf die entsprechende Sprungadrease So
steuert·
üs :?ei angenommen, dass der dieser Adresse So entsprechende
und den Befehl dea Hauptprogramms, bei welchem die Ausführung des Hauptprogramms wieder aufgenommen werden soll, identifizierende
Gode an der Stelle 056 angeordnet ist· Die Ausführung
des Hauptprogramms wird dann von dem in der Stelle
057 enthaltenen Befehl an wieder aufgenommen und fortgesetzt,
bis der in der Stelle 082 enthaltene Befehl extrahiert und
ausgeführt ist, der als der letzte des Hau pt pro gram ins angenommen
worden war·
Ausführung eines Programms mit zwei aufgezeichneten Unterprogrammen
Im Nachstehenden ist, insbesondere anhand von Pig· 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 ongenommen, dass diese Programme in Form von auf zwei zu
einHr Urrterprogrammbibliothek gehörenden aufgeteilten Karten
h ι i';:, e zeichne ten Pr »grämten verfügbor sind.
l'li3» 7 zeißt im einzelnen ein Hauptprogrnmm, von dem angenommen
wird, doss es entweder mit Hilfe des Tastenfeldes
odor durch Lesen einer das Hauptprogramm enthaltenden Karte, beispielsweise einer Magnetkarte, in die Befehlsregister dee
Speichers eingespeichert worden ist·
Dieses Hauptprogramm umfasst fünfundacht zig Befehle, von ·
welchen angenommen sei, dass sie an den Dezimalstellen 02
109831/1720 -40-
Ms C86 der Befehlsregister angeordnet Sind.
Jetzt wird durch Betätigen der Kartenüufteilungstsate SP
und, indem man nach dem Abschnitt "Programmkarte" verfährt, die Speicherung des ersten Unterprogramme' A in den beiden
geeigneten Registern D und E vorgenommen, die, wie im betreffenden Abschnitt erörtert, allein für die Aufzeichnungsund
Lesephasen der aufgeteilten Karten zuständig sind·
Es sei angenommen, dass daa Unterprogramm A dreiündzwanzig
Befehle umfasst, und dass diese an den Stellen C91 bis C113
der Befehlsregister dee Speichers LIR angeordnet sind·
Nachdem das Hauptprogramm und das Unterprogramm A in die
Speicherregister eingespeichert worden sind und der Rechner durch Betätigen der Taste AUT auf automatische Programmverarbeitung
gestellt worden ist, übersetzt, der Rechner den in der ersten Stelle C1 enthaltenen Befehl, der,
wie in dem Abschnitt »Umschalten vom Hauptprogramm auf ein Unterprogramm und umgekehrt" beschrieben ist, keinen bedeutenden
Programmbefehl enthält, und führt ihn aus·
Nach Beendigung der Ausführungsphaee dieses Befehls wird der
in der Stelle Ü2 enthaltene nächstfolgende Befehl automatisch
extrahiert und ausgeführt, während für die in den Stellen 03 bis C6 enthaltenen nächstfolgenden Befehle der Ablauf in
entsprechender Weise erfolgt·
Darauf wird der in der Stelle Ö7 enthaltene Befehl extrahiert
und übersetzt, wobei angenommen wird, dass er aus dem ersten Zeichen F15 eines aua zwei Zeichen ?15,(P12,Sn) bestehenden
Befehls der in dem Abschnitt "Übersetzung und Ausführung eines Befehls der zweiten Art" beschriebenen Art
besteht, der zum Bewirken des Wiedereintritts au β dem Unter-
-41-
109831/1720
programm in das Hauptprogramm an der gewünschten Dezimalstelle
geeignet ist·
In der Übersetzungs- und der Ausführungsphase dieses Befehls,
die in dem einen Gattungabefehl dieser besonderen
Art betreffenden vorerwähnten Abschnitt beschrieben worden sind, tauscht der Rechner den Inhalt der ersten Speicherstelle
01 gegen das zweite Zeichen des in der Stelle 06 enthaltenen jetzigen Befehls J?12.Sn aus«
/ie bereits erörtert, stellt Ϊ12 die Sprungfunktion und
Sn die Adresse dar, an welcher der Sprung endet·
Der Rechner setzt dann die Verarbeitung des Programms fort und übersetzt die in oen Stellen C9 t>is 015 enthaltenen
nächstfolgenden Befehle und Jührt sie aus» Dann geht der
Rechner zur Übersetzung des in der Stelle 016 enthaltenen Befehls über« Es sei angenommen, dass dieser Befehl ein
Sprungbefehl Fi2.Sm ist, der den Sprung auf die Adresse Sn
bewirkt, die den Bezugscode darstellt, der am Beginn dea Unterprogramms A an der Stelle C91 angeordnet worden ist,
die ier Stelle 092 vorangeht, an welcher sich der erste
bedeutende Befehl dieses Unterprogramms befindet·
Der iiechner ^eht dann auf die Übersetzung und Ausführung die-.-"J^
μπ d'-r otelJe 092 angeordneten ersten bedeutenden Befehls
c'·■'■; huti.-rpro^rri/nns über und verarbeitet denn weiter die anderen
E-. fohle des Unterprogramms, wobei der letzte Befehl des
Unterprogramm:; ein Befehl 1Ί4 (dritte Art) ist, der bewirkt,
or,ar, der Rechner einen Sprung auf den in der ersten Stelle
01 dor Progrnmmregister enthaltenen ersten Befehl ausführt..
V/ie vorstehend erörtert, ist dieser letzte Befehl ein
Sprungbefehl F12.Sn, der bei regulärer Übersetzung und Ausführung
den Sprung r.uf die Sprungadre^oe Lin steuert, die
109 831/1720 _42-
denjenigen Befehl des Hauptprogramms identifiziert, bei welchem'die Ausführung des Hauptprogramms wiederaufgenommen
werden solle 7/enn angenommen wird, dass der der ourungadresae
Sn entsprechende Bezugscode sn der otelle 017 angeordnet
worden ist, so wird die Ausführung des Hauptprogramms von dem in der Stelle Ü18 enthaltenen Befehl an wiederaufgenommen·
Darauf setzt der Rechner die Verarbeitung des Programms fort, indem er die in den Stellen 019 bis C5ö enthaltenen Befehle
übersetzt und ausführt·
Darauf extrahiert und übersetzt der Rechner den in der Stelle C51 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 Wiedereintritt an einer vorbestimmten Stelle des Eauptprogramms, ausgehend vom zweiten Unterprogramm Bf bewirken
soll. Demzufolge tauscht der Rechner also den Inhalt der ersten Speicherstelle Ö1 gegen das zweite Zeichen
F12»(So) des betreffenden, aus zwei Zeichen bestehenden
Befehls aus, welches in der Stelle O52 enthalten ist· Wie
vorstehend erörtert, stellt P12 die Sprungfunktion und 00 die Adresse dar, an welcher der Sprung enden soll· Darauf
setzt der Reohner die Verarbeitung dea Programms fort» indem er die in den Stellen 053 bis C62 enthaltenen Befehle übersetzt
und sie ausführt·
Danach extrahiert der Rechner an der Stelle C63 automatisch
den Stopbefehl für den Betrieb der elektronischen Rechenanlage·
Unter diesen Bedingungen unterbricht der Rechner eeinen
109831/1720
BAD
~ 43 -
automatischen Betrieb, worauf öer Bedienende nach Betätigung
der Kartenaufteilungstaste SP den Rechner in den Zustand zum Ablesen des auf der zweiten aufgeteilten Karte aufgezeichneten
Unterprogramms B versetzt· Im Verlaufe der Leseph^se
wird dieses in der aufgeteilten Karte enthaltene Programm, wie vorstehend erörtert, in die beiden geeigneten
Register D und E des internen Speichers LDR übertragen und
gespeichert unter Zerstörung des vorher in denselben Registern
D und E gespeicherten Unterprogramms A* ohne dabei
jedoch das vorher in den Speicher LKl eingespeicherte Haupt—
programm zu zerstören· Es sei angenommen, dass die in diesem
zweiten Unterprogramm B enthaltenen Befehle in die zwischen C91 und X12O liegenden Speicherdezimalstellen übertragen
werden· Naoh Durchführung dieser manuellen Operation des
Sinführens der aufgeteilten Karte in die Lesevorrichtung und nach Einspeicherung des Unterprogramms B in die Register D
und s in der Weise, dass es sofort verfügbar ist, betätigt der Bedienende die Starttaste des Tastenfeldes und stellt
er somit den Rechner erneut auf die automatische Programmausführung, so dass dieser nunmehr denjenigen Befehl extrahiert
und übersetzt, der unmittelbar auf den Stopbefehl folgt, der, wie vors-tehend erörtert, in der Stelle 063 des
Speichers enthalten war· Der Rechner extrahiert also den in der Stelle 064 enthaltenen Befehl«
Es sei angenommen, dass es sich um den Sprungbefehl F12.Sm
handelt, der in nunmehr bekannter Weise den Sprung auf die Adres3e Sm steuert, die die Anfangsadresse des Unterprogramms
B darstellt. Dieser Adressiercode Sm ist in der Stelle G91 der Programmregister enthalten·
Der Rechner stellt demzufolge die Verarbeitung des Hauptprogramms ein und geht entsprechend den vorstehend beschrie-
-44-109831/1720
1774039
benen Modalitäten auf einen Zustand zum Beginnen der Ausführung
des Unterprogramms über»
Genauer gesagt, übersetzt der Rechner den ersten, in der Stelle 092 angeordneten bedeutenden Befehl dea Unterprogramms
B und führt ihn aus, worauf er die in den Stellen C93 bis 0119 enthaltenen weiteren Befehle verarbeitet·
Der letzte, sich wie angenommen in der Stelle C120 befindende Befehl dea Unterprogramms B ist ein Befehl P14 der
drittan Art, der wie vorstehend erörtert, bewirkt, dass der Rechner einen Sprung auf den in der ersten Stelle C1
dea Programmregisters enthaltenen Befehl ausführt»
Tatsächlich ist dieser letzte Befehl ein Sprungbefehl P12.S0
zum Bewirken des Wiedereintretens in das Hauptprogramm an
der voreingestellten Stelle, der, übersetzt und ausgeführt,
bewirkt, dass der Rechner einen Sprung auf die Adresse So ausführt·
Es sei angenommen, dass der dieser Sprungadresse entsprechende Bezugscode an der Stelle 065 angeordnet worden ist,
so dass die Ausführung des Hauptprogramma dann von dem in
der Stelle C66 enthaltenen Befehl an wiederaufgenommen wird
und sich darauf durch Verarbeitung der weiteren Befehle dea Hauptprogramms fortsetzt, bis der letzte Befehl übersetzt
und ausgeführt worden ist, der als in der Stelle 086 der Programmregister enthalten angenommen wurde·
20 338 - JB/Hf _45_
109831/1720
Claims (2)
1. Elektronische Reohenanlage mit in einem Speicher gespeichertem
Programm, die die Ausführung eines Hauptprogramms unterbrechen und auf die Ausführung eines vorbestimmten
Unterprogramms in Abhängigkeit von einem
Sprungbefehl auf das in dem Hauptprogramm an der Unterbrechungsstelle gespeicherte Unterprogramm umschalten
und in Abhängigkeit von einem am Ende dieses Unterprogramms gespeicherten Unterprogramm-Endbefehl die
Ausführung des HauptProgramms wiederaufnehmen kann in
der Weise, dass die Ausführung dee Hauptprogramme an
einer Wiedereintrittsstelle, deren Adresse duroh den Inhalt eines Registers angegeben wird, erneut einsetzt,
dadurch gekennzeichnet, dass die Adresse der Wiedereintrittsstelle
in Abhängigkeit von einem vor der Unterbrechung ssteile in dem Hauptprogramm gespeicherten Wiedereintritt-Vorbereitungsbefehl
in dem Register gespeichert ist bzw· wird·
2« Rechenanlage nach Anspruch 1, dadurch gekennzeichnet, dass der den Wiedereintritt bewirkende Befehl ein Übertragungsbefehl
ist, der selbst die Wiedereintrittsadresse erhält·
3· Rechenanlage nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass das Register aus einer vorbestimmten Stelle
des Speichers gebildet und die Wiedereintrittsadresse in dieser Stelle als Teil eines Sprungbefehls gespeichert
ist, der, wie jeder andere Programmbefehl, übersetzt und ausgeführt wird, um einen an der Wiedereintrittsadresse
endenden Sprung zu bewirken»
- 20 338
109831/1720 BADORIGfNAL
l'i Unterlagen (Art. 7 § 1 Abe.
2 Nr. 1 Satz 3 dee Änderung«g<«.fM ß. 18671
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IT5116467 | 1967-04-01 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE1774038A1 true DE1774038A1 (de) | 1971-07-29 |
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 Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19681774917 Pending DE1774917A1 (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 |
GB1103383A (en) * | 1964-03-02 | 1968-02-14 | Olivetti & Co Spa | Improvements in or relating to apparatus for performing arithmetic operations in digital computers |
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 NL NL6804529A patent/NL6804529A/xx unknown
- 1968-04-01 JP JP2107568A patent/JPS5527384B1/ja active Pending
-
1971
- 1971-02-05 US US113060A patent/US3660825A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
BE712989A (de) | 1968-07-31 |
NL6804529A (de) | 1968-10-02 |
CH481424A (de) | 1969-11-15 |
DE1774917A1 (de) | 1972-01-20 |
JPS5527384B1 (de) | 1980-07-19 |
FR1560019A (de) | 1969-03-14 |
US3660825A (en) | 1972-05-02 |
CA929268A (en) | 1973-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE1499193C3 (de) | Speicher-Adressierschaltung | |
DE1449765C3 (de) | Einrichtung zur Abfrage eines assoziativen Speichers | |
DE1282337B (de) | Programmgesteuerte elektronische Rechenanlage | |
DE1424732A1 (de) | Elektronische Ziffernrechenmaschine | |
DE2318069A1 (de) | Rechnersteuersystem unter verwendung von mikroprogrammierung und statisch/dynamischer erweiterung von steuerfunktionen mittels festverdrahteter logischer matrix | |
DE1449544A1 (de) | Datenverarbeitende Maschine mit ueberlappend abrufbarem Speicherwerk | |
DE1115488B (de) | Datenverarbeitungssystem | |
DE1774943B2 (de) | Dateneingabeeinrichtung Ausscheidung aus 1474025 | |
DE2014325A1 (de) | Elektronische Rechenmaschine | |
DE1499224C3 (de) | Datenverarbeitungsanlage mit Kellerspeichereinrichtungen | |
DE1774038A1 (de) | Elektronische Rechenanlage | |
DE1221037C2 (de) | Verfahren zur Speicherung hierarchisch geordneter Datenketten und Anordnung zur Durchfuehrung dieses Verfahrens | |
DE1214906B (de) | Verfahren und Anordnung zur Speicherung und Entnahme hierarchisch geordneter Daten | |
DE1132747B (de) | Elektronische Rechenmaschine | |
DE2458651C2 (de) | Elektronische Datenverarbeitungsanlage mit Einrichtung zur Fehlerbefreiung von Programmen | |
DE2220329C3 (de) | Schaltungsanordnung zum Umsetzen einer in Gleitkomma-Darstellung ausgedrückten Zahl in eine Festkomma-Darstellung bei elektronischen Rechnern | |
DE1957600C3 (de) | ||
DE1212748B (de) | Datenverarbeitende Maschine mit Programmunterbrechung | |
DE2936801C2 (de) | Steuereinrichtung zur Ausführung von Instruktionen | |
DE1302516C2 (de) | Verfahren und einrichtung fuer ein serie-serie-rechenwerk | |
DE2419836B2 (de) | Schaltungsanordnung zur durchfuehrung von unterprogramm-sprungbefehlen in datenverarbeitungsanlagen | |
DE1474574C (de) | Assoziativer Informationsspeicher | |
DE1928486A1 (de) | Steueranlage fuer Druckgeraete | |
DE1549422C3 (de) | Datenverarbeitungsanlage mit variabel vorwählbarer Wortlänge | |
DE1214027B (de) | Anordnung zur Steuerung der blockweisen UEbertragung von Rechenprogrammen oder derenersten Teilprogrammen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OHW | Rejection |