DE1774038A1 - Elektronische Rechenanlage - Google Patents

Elektronische Rechenanlage

Info

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
Application number
DE19681774038
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 DE1774038A1 publication Critical patent/DE1774038A1/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/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)
  • 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—
I»Ab·. 4 w. l «au j OM Änderung««·.«. 4.9.
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
BAD ORIGINAL
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.
Allgemeine Beschreibung
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-
BAD ORIGINAL
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·
Da die Verzögerungsleitungsspeioherung in ihrer Art
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-
BAD ORIGINAL
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-
BAD ORIGINAL
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
BAD origiNal
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
BAD ORIGINAL
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
BAD ORIGINAL
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-
BAD ORIGINAL
./ä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
BAD ORIGINAL
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
BAD OHiGINAL
~ 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
BAD ORIGINAL
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-
BAD ORIGINAL
"S'T
~ 25 -
Die Rechenanlage ist auaaerdem mit verschiedenen anderen Vorrichtungen, wie beispielsweise mit der Schreibvorrichtung, der Kartenlese-- und Speichervorrichtung usw· versehen·
Übertragung von einem Register in das andere
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
BAD ORfQfNAL
Υ.Ϊ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
BAD ORIGINAL
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·
Ausrichtung der Zahlen in dem Speicher
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
BAD ORIGINAL
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
BAD ORIGINAL
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
BAD ORIGINAL
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
BAD ORIGINAL
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
BAD ORIGINAL
ü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
BAD ORIGINAL.
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
BAD ORIGINAL
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
BAD ORiGlNAL
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
BAD ORIGINAL
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
BAD ORfGJNAL
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-
BAD ORIGINAL
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
BAD ORIGINAL·
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-
BAD ORIGINAL
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
BAD ORIGiNAL
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
BAD ORIGINAL

Claims (2)

Patentansprüche ι
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
DE19681774038 1967-04-01 1968-03-26 Elektronische Rechenanlage Pending DE1774038A1 (de)

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)

* 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
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

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