[go: up one dir, main page]

DE1774917A1 - Elektronische Rechenanlage - Google Patents

Elektronische Rechenanlage

Info

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
Application number
DE19681774917
Other languages
English (en)
Inventor
Dr-Ing Sandre Giovanni De
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Olivetti SpA
Original Assignee
Olivetti SpA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Olivetti SpA filed Critical Olivetti SpA
Publication of DE1774917A1 publication Critical patent/DE1774917A1/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • G06F9/4486Formation 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.
. ί ■ ■> α 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;
PlO) 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, da- ^
nach die automatische Funktion wiederherstellen;
FIl) Auszug aus dem Register I eines der ersten durch
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.
Die bistabile Sohaltung A3 wird normalerweise zum unter-
-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
Übersetzung und Ausführung eines Befehls der ersten Art
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.
Vie bereits erörtert, ist dieser Befehl in Wirklichkeit
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.
Mit der aufgeteilten Karte kann in den internen Speioher LDR «111 Unterprogramm eingespeichert werden, ohne das "
vorher mittels einer nicht unterteilten Karte in diesen
Speicher eingegebene Hauptprogramm zu zerstören.
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.
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.
Patentansprüche:
J.j/i.f/MB/FÜ - 20 507
109884/U49 e«>

Claims (2)

  1. 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. 2. Rechenanlage nach Anspruch 1, dadurch gekennzeichnet, dass sie einen am Ende des Unterprogramms gespeicherten Unter-
    109884/1U9
    - 65 - 177A9T7
    nro^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 307
    109884/U49
DE19681774917 1967-04-01 1968-03-26 Elektronische Rechenanlage Pending DE1774917A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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