AT221841B - Programmgesteuerter elektronischer Digitalrechner - Google Patents

Programmgesteuerter elektronischer Digitalrechner

Info

Publication number
AT221841B
AT221841B AT445960A AT445960A AT221841B AT 221841 B AT221841 B AT 221841B AT 445960 A AT445960 A AT 445960A AT 445960 A AT445960 A AT 445960A AT 221841 B AT221841 B AT 221841B
Authority
AT
Austria
Prior art keywords
sep
command
register
memory
accumulator
Prior art date
Application number
AT445960A
Other languages
English (en)
Original Assignee
Elektronische Rechenmasch Ind
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 Elektronische Rechenmasch Ind filed Critical Elektronische Rechenmasch Ind
Priority to AT445960A priority Critical patent/AT221841B/de
Application granted granted Critical
Publication of AT221841B publication Critical patent/AT221841B/de

Links

Landscapes

  • Pinball Game Machines (AREA)

Description


   <Desc/Clms Page number 1> 
 



  Programmgesteuerter elektronischer Digitalrechner 
 EMI1.1 
 

 <Desc/Clms Page number 2> 

 
Trommelspeicherkanales, bewirken, wobei die Zahl der Speicherfächer mit der Ziffernzahl der zu ver- arbeitenden Werte ohne Schutzstellen Übereinstimmt. 



   Eine weitere vorteilhafte Lösung besteht darin, dass bei Übertragung des Inhaltes von einem Register in belegte Speicherfächer des Speichers, insbesondere eines Trommelspeichers, nur die Nullen oder nur die Einser tatsächlich wirksam sind, so dass im nichtrechenfähigen Speicher bzw. eine Konjunktion oder Disjunktion mit dem vorhergegangenen Speicherinhalt bewirkt wird. 



   Zunächst werden die in der erfindungsgemässen Maschine verwendeten neuartigen Befehlstypen erklärt, welche den einfachen Aufbau eines Rechners mit relativ hoher Operationsgeschwindigkeit gewährleisten. Diese Befehle sind den besonderen Eigenschaften der Speicher, insbesondere der Magnettrommelspeicher, angepasst. Das neue System verwendet zwei verschiedene Grundbefehlstypen, nämlich Einzelbefehle, die den bisher bekannten Grundbefehlen anderer Verfahren zur Programmierung von elektronischen Rechenanlagen entsprechen, und Gruppenbefehle, bei denen jeder Befehl die Ausführung der Addition, Subtraktion, verschiedene logische Verknüpfungen oder Transportoperationen, eventuell mit Linksbzw. Rechtsverschiebung des Akkumulatorinhalts verkoppelt,   u. zw.   mit mindestens einem Speicherfach einer Trommelspur od. dgl. bei andern Speicherarten.

   In der weiteren Beschreibung wird zwecks einfacher Erklärung der Erfindung als Speicher eine Magnettrommel verwendet. Werden andere Speicherarten verwendet, so ändert sich an den einzelnen Befehlstypen im Prinzip nichts. Dieses Befehlsschema lässt natürlich auch sinnvolle Abwandlungen für bestimmte Zwecke zu, wie aus der nachfolgenden Beschreibung hervorgeht. 



   Um den Erfindungsgedanken zu erkennen, wird im nachfolgenden ein Multiplikationsbeispiel an Hand zweier positiver Zahlen erklärt. 



   Die Fächeranzahl in einem Trommelspeicherkanal stimmt hiebei mit der Zahl der gültigen Stellen der zu verarbeitenden Zahlen Uberein. Da man für die Fächerzahl meist eine Zweierpotenz wählt, ist die Zahlendarstellung in diesem Ausführungsbeispiel wie folgt zugrunde gelegt :   Z=0,z.,...,z   mit zi   : =   0 oder   1,   wobei das Komma beispielsweise nach der ersten Stelle steht. 



   Auf einem Trommelumfang oder-kanal sind also zweiunddreissig Fächer untergebracht. Das Rechenwerk enthält einen Akkumulator, der Rechtsverschiebungen erlaubt und über einen bekannten Addiator mit dem Trommelspeicher verknüpft ist. Im einzelnen werden z. B. zur Errechnung des Produkts nur folgende Operationen durchgeführt, die anschliessend erklärt werden. 



   1.   T-H,   R, wobei T = Testziffer, H = Hauptspeicherfach (mit Adressen 0, 1, 2...), R = Register-Rechtsverschiebung. 2. +H.   3. "0"-H {gleichbedeutend   mit der ziffernweise ausgeführten Operation Akku & (Inhalt von   R)- > H).   4. Lö, +H, R. Diese Zeichen und Befehle werden im nachfolgenden für sich erläutert. 



   Zu 1 : Ist die im Akkumulator enthaltene Zahl a = 0,    al....a , so   wird einerseits die Zahl   ax(l,l,....l)(a,   = 0 oder   1)   nach dem Speicherfach H gebracht, zum andern der Akkumulatorinhalt um eine Stelle nach rechts verschoben, das bedeutet, dass der neue Inhalt des Akkumulators 
 EMI2.1 
 wird. 



   Zu 2 : +H bedeutet, addiere den Inhalt der Zelle H zum Akkumulator. 



   Zu 3 : Es werden nur die Nullen aus dem Akkumulator in das Speicherfach H übertragen. Zum Beispiel : Ist der Inhalt des Akkumulators...... 01101011 und 
 EMI2.2 
 



  Daraus ergibt sich eine recht einfache Schaltung : Wenn z. B. die Null durch einen positiven und die Eins durch einen negativen Impuls dargestellt wird, braucht dann nur der jeweils negative Impuls abgeschaltet zu werden. 



   Zu 4 : Hier wird vor der eigentlichen Befehlsausführung der Akkumulator gelöscht. Anschliessend wird zum Akkumulator der Inhalt des Speicherfaches H addiert und mit einer Rechtsverschiebung um eine Stelle wieder im Akkumulator gespeichert. 



   Jeder dieser Befehle 1. bis 4. kann durch das Zusatzzeichen G in einen Gruppenbefehl umgewandelt werden, d. h. er wird mit der Fachnummer H beginnend nacheinander auch mit   H+l,..., H+31   wiederholt. Der Befehl bleibt so für eine ganze Speicherumdrehung in Funktion. Lediglich das Löschzeichen im Befehl 4 wird auch jetzt nur einmal vor der eigentlichen Operation berücksichtigt. 



   Wie mit Hilfe obiger Befehle eine Multiplikation durchgeführt wird, sei im nachfolgenden dargelegt. 



  Im Akkumulator steht ein Faktor a = 0,   a, a.... a, in   einem z. B. mit B bezeichneten Fach des Spei- 

 <Desc/Clms Page number 3> 

 
 EMI3.1 
 Akkumulator aufgebaut werden. Neben dem Speicherfach B werden dabei die Fächer 0, 1,..., 31 benutzt, die auf einem Umfang liegen sollen und deren Anfangsinhalt belanglos ist. Im einzelnen verläuft die Rechnung   so.   dass mit dem ersten Befehl in Fachnummer i (i =   0,...,   31)   ag. i (l, l,.... l)   eingetragen wird. Der Akkumulator ist damit leer, der zweite Befehl holt den zweiten Faktor b in den Akkumulator, 
 EMI3.2 
 
31)unddreissig höchsten gültigen Stellen des Produktes ohne jede Abrundung erhalten. Nach diesem Schema können auch Divisionen und andere Rechenoperationen ausgeführt werden. 



   Um das Befehlsschema z. B. für das Rechnen mit gleitendem Komma rationeller zu gestalten, wird eine Abwandlung der Gruppenoperationen angeführt, die hier   N- bzw. X-Befehle   genannt werden. Beide Befehle beginnen wie eine Gruppenoperation, brechen aber nicht erst nach einer vollen Trommelumdrehung ab, sondern beim N-Befehl bereits beim Erreichen der Trommelstellung 0 und beim X-Befehl vorher, nämlich wenn im Akkumulator ein Vorzeichenwechsel auftritt. Durch eine später zu erläuternde Massnahme wird es dabei möglich, die im   X-Befehl   jeweils ausgeführten Befehle mitzuzählen. Mit der ersten Befehlstype lassen sich in Verbindung mit Verschiebeoperationen besonders leicht Multiplikationen mit Zweierpotenzen ausführen, während die andere bei Normalisierungen herangezogen wird.

   Um den Aufwand so klein wie möglich zu halten, wird mit einem kleinen Befehlsrechenwerk, bei dem nur ein Zählspeicher für den Befehlsablauf mit Raum für eine ganze Zahlenlänge von dreiunddreissig Stellen vorhanden ist, gearbeitet. Damit wird die Impulsdichte auf der Trommel klein gehalten. Allerdings wird auf eine Gleitkommadarstellung von Zahlen in nur einem Speicherfach verzichtet. Ebenso ist der Raum für einen Befehl etwas beschränkt, so dass nicht allen Befehlsziffern voneinander unabhängige Steuerfunktionen zugeordnet werden können. Im Beispiel wird also eine komprimierte   OperationsverschlUsselung   behandelt, deren Auflockerung allerdings später keine Schwierigkeiten bereitet. Im Zählspeicher werden die noch freien Stellen wie ein Indexregister eingesetzt.

   Um Zählungen und Änderungen damit ohne Zeitverlust durchzufuhren, werden ebenso im Befehl noch verfügbare Plätze als Schrittregister verwendet. Mit zwölfstelligen Adressen (= 4096 Speicherfächer) ergibt sich so für den Befehl der Grundaufbau : zwölf Stellen Schrittregister, zwölf Stellen Befehlsadresse und neun Stellen Operationssymbole. Um Änderungen und Substitutionen im Index   durchzufuhren,   ist der Platz im Zählregister wie folgt zu   verteilen : zwölf   Stellen Index, zwölf Stellen Befehlsnummer und neun Leerstellen. Als Einheit erscheint bezogen auf die 
 EMI3.3 
 des über das Indexregister als Adressenteile eines speziellen Stopbefehls aufgestellt, der nach dem Ausdrucken des Ergebnisses durch ein Schlusszeichen des Druckwerks in einen Leerbefehl umgewandelt wird. 



  Als Schreibwerk wird z.   B.   ein einstelliger Streifendrucker mit gleichmässig rotierendem Typenrad verwendet. 



   Die Eingabe arbeitet ganz analog : Zunächst wird ein besonderer Stopbefehl im Rechenautomat aufgestellt, in dem von der Tastatur oder einem Streifenabtaster einzugebende Ziffern in den Adressenteil eingetragen werden. Anschliessend wird dieser Befehl durch ein Schlusszeichen der Eingabe in eine Addition oder, wenn irgendwelche Sonderzeichen beachtet werden müssen, in eine Sprungoperation umgewandelt und ausgeführt. Das durch die Eingabe eingestellte Speicherfach enthält die eingegebene Ziffer, die dann bei einer Addition zum Akkumulatorinhalt hinzugefügt wird. Mit Sprungbefehlen können bequem Zahlenanfänge, Vorzeichen,   Befehlskennzeichen   usw. berücksichtigt werden. Die angedeutete Organisation der Ein- und Ausgabe benutzt fast ausschliesslich vorhandene Baugruppen des Rechengerätes. 



  Zum Beispiel ist es möglich, die Sektorauswahl der Magnettrommel und die Steuerung des Druckhammers vom Ausgabegerät von einer gemeinsamen Steuerschaltung vorzunehmen. 



   Die Zeichnung zeigt als Ausführungsbeispiel das Blockschaltbild eines nach diesen Gesichtspunkten aufgebauten Kleinstautomaten. 



   Erklärung der in der Zeichnung verwendeten Bezeichnungen : 1 ist eine symbolisierte Magnettrommel mit zweiunddreissig Speicherfächern pro Umfang und einhundertachtundzwanzig Kanälen als Hauptspeicher. Die Trommel hat drei Taktspuren, darunter Sektorangaben und Zähler   Zul ;   2 ist die Eingabe, die mit Tasten, Streifen, Lochkarten, Magnetbändern od. dgl. ausgerüstet sein kann ; 3 bedeutet das Ausgabeaggregat, welches als Streifenlocher, Schnelldruck, Magnetband od. dgl. ausgebildet sein kann ; 4 ist der Kanalwähler des Trommelspeichers ; 5 bedeutet ein zwölfstelliges Adressenregister, das nur in Adres- 

 <Desc/Clms Page number 4> 

 senzeiten aufnimmt.

   Die ersten fünf Stellen sind für den Sektor und die übrigen für den Kanal. 6 ist ein Netzwerk, welches die Sektorkoinzidenz feststellt ; 7 stellt ein neunstelliges Operationsregister dar, welches nur den Operationsteil eines Befehls aufnimmt ; 8 bedeutet einen Diskriminator, welcher die Schaltspannung "Sprung ausführen" bildet ; 9 ist ein Vorzeichenrechner, der mit zur Komplementsteuerung benutzt   wird ; 10   sind sogenannte Testspeicher für die logischen   Ausdrücke AU. lu,   Test und Vorzeichen, die insbesondere bei Sprungbefehlen wirksam werden ; 11 ist ein   n-l-stelliger Akkumulator für Links- und   Rechtsverschiebung geeignet, durch Hinzu- bzw.

   Wegschalten der Stufen 12 und/oder 13, die die Information jeweils um eine Stelle verzögern ; 14 dient zur Komplementbildung des Akkumulatorinhalts ; 15 ist ein bekanntes Zählregister ; 16 ist ein bekanntes Netzwerk für Addition, Subtraktion und zur Bildung logischer Ausdrücke ; 17 ist ein   bekannter Verstärker ; 18   ist eine Steuerkette aus bekannten bistabilen Kippschaltungen und Verknüpfungsschaltungen zur Markierung der Phasen I-IV des Arbeitszyklus. 
 EMI4.1 
 nicht ausgeführt &   (Indexzeit) ;   28 IV    & Transport ;   29 Akkumulator ; 30   Zählregister ;   31 Zähler, 32 Opera-   tionsindex, 33"11... 11","00... 00",   Test 1 oder   0 ;   34 Akkumulator,   bey nos   werden nur Nullen transportiert ; 35 Komplementsteuerung ;

   36 Sprung ausführen. 



   Dabei ist zunächst für grössere Zeitreserven zum Einstellen der Befehlsentschlüsselung gesorgt ; für die Neuaufstellung jedes Befehls wird insgesamt die Zeit von drei Zahlenlängen verbraucht. Eine Beschleunigung ist möglich. Da allerdings der Leistungsgewinn infolge der benutzten G-Befehle nicht erheblich ist, wird hierauf verzichtet. 



   Ein Arbeitszyklus des Gerätes besteht aus vier Phasen : 
 EMI4.2 
 addiert und im zwölfstelligen Adressenregister 5 zur Auswahl einer Hauptspeicherzelle aufgestellt. Das Zählregister 15 selbst bleibt dabei ebenso wie der Akkumulator 11 ungeändert. 



   2. In der zweiten Phase wird der als nächste aufzuführende Befehl aus dem Hauptspeicher 1 entnommen und im Zählregister 15 zwischengespeichert, allerdings wird gleichzeitig das neunstellige Operationssymbol in das Operationsregister 7 übernommen. Es kann von dort für die letzten zwölf Stellen der Phase   zwei-in die Addiatoreingänge   eingreifen und entsprechend der später zu diskutierenden Befehle die Verknüpfungen der Indexstellen des Zählregisters 15 und der Zahl im Schrittregister des einlaufenden Befehls steuern. Zwischen der Phase eins und zwei liegt gegebenenfalls eine Wartezeit, wenn nämlich die aufgerufene Zelle auf der Trommel 1 nicht sofort greifbar ist. Eine Ausnahme tritt auf, wenn der letzte ausgeführte Befehl ein X-Kennzeichen trägt, dann nämlich schliessen Phase eins und zwei grundsätzlich ohne Wartezeit aneinander an. 



   3. An die zweite Phase schliesst unmittelbar die dritte Phase (Befehlsaufstellung) an. Jetzt wird der Adressenteil des im Zählregister 15 zwischengespeicherten Befehls in das zwölfstellige Adressenregister 5 transportiert. Hat dabei diese Operation ein Indexkennzeichen, so muss vor der Aufstellung noch der alte Inhalt des Indexregisters zur Adresse addiert werden. Im Zählregister 15 bleiben in dieser Phase nur die Indexstellen erhalten, die eigentlichen Zählerstellen werden aus dem zwölfstelligen Adressenregister 5, während dort auf der andern Seite die Befehlsadresse einläuft, mit der Speichernummer des gerade aufgestellten Befehls gefüllt. Damit ist im Zählregister 15 wieder der Anfangszustand hergestellt. In der Phase drei wird, sofern erforderlich, auch der Inhalt des Akkumulators 11 gelöscht. 



   4. Die letzte Phase dient der eigentlichen Befehlsausführung, dabei sind vier Typen zu unterscheiden : a) Die eigentlichen Rechenbefehle, die sich alle auf den Akkumulatorinhalt beziehen. b) Die Befehle, die mit dem Inhalt des Zählregisters 15 arbeiten. c) Die Sprungbefehle, bei denen erforderlichenfalls der Zählerteil des Zählregisters 15 durch den Inhalt des Adressenregisters 5 (Befehlsadresse) ersetzt wird. d)   Stoppbefehle - mit   Ausnahme der Rechenbefehle -, die bei Gruppen-, N- oder X-Befehlen bis zu einer Trommeldrehung benötigen, dauert die Phase vier nur eine Zahlenlänge. 



   Der Beginn der Befehlsausführung muss natürlich das Erscheinen des benutzten Hauptspeicherinhalts abwarten, so dass hier ebenso wie zwischen den Phasen eins und zwei Verzögerungen bis zu einer Trom- 
 EMI4.3 
 Test und Vorzeichen in der Zeichnung kommen insbesondere nur bei Sprungbefehlen zur Wirkung. Die ersten beiden speichern Überläufe des Akkumulators und Indexregisters (daher auch der Zugang in der 

 <Desc/Clms Page number 5> 

 Phase 3), während der Test normalerweise die Vorzeichenstelle des Akkumulators, bei Rechtsverschiebungen im Akkumulator aber seine kleinste Ziffer (a32) aufnimmt. Der Vorzeichenspeicher wird benutzt, wenn im Akkumulator Betrag und Vorzeichen getrennt werden. 



   Weitere Einzelheiten über den Befehlsablauf lassen sich am Blockschaltbild und vor allem an der Befehlsliste erkennen. Ein Beispiel für eine Befehlsliste nach diesem Schema wird in der nachfolgenden Beschreibung erklärt und aufgezeigt. 



   Der grundsätzliche Befehlsaufbau ist bereits beschrieben worden, und es geht daraus hervor, dass es sich um Einadressbefehle, die zusätzlich eine zwölfstellige Schrittkennzahl für das Indexregister enthalten, handelt. Der neunstellige Operationsteil des Befehls wird weiter in drei Triaden gegliedert, nämlich die 1. Triade dient   zur Registersteuerung, die 2. Triade ist der Index- und Befehlstyp und die 3. Triade kenn-   zeichnet die Operationsart. Die Operationen sind hier nur durch Ziffern gekennzeichnet. Der Benutzer kann sich später beliebige Bezeichnungen zurechtlegen und durch ein geeignetes Testprogramm bei der Eingabe in den Automaten berücksichtigen. Dabei zeigt sich, dass man im allgemeinen bei geeignetem äusserem Code mit wesentlich weniger Befehlen und daher Zeichen auskommt als im internen System.

   In der ersten Triade werden Informationen über die im Befehl benötigten Maschinenregister zusammengefasst. 



   1. Triade : Registersteuerung 
 EMI5.1 
 
<tb> 
<tb> dual <SEP> dezimal <SEP> Erläuterungen
<tb> 000 <SEP> 0 <SEP> Organisationsbefehl, <SEP> der <SEP> ohne <SEP> A-Register <SEP> auskommt.
<tb> 



  Operand <SEP> Resultat
<tb> 001 <SEP> 1 <SEP> A-Register <SEP> A-Register <SEP> 
<tb> 010 <SEP> 2 <SEP> A-Register <SEP> x <SEP> Vorzeichen <SEP> Betrag <SEP> ins <SEP> A-Register, <SEP> Vorzeichen
<tb> aus <SEP> Vorzeichenspeicher <SEP> in <SEP> Vorzeichenspeicher
<tb> 
 
Praktisch wird in der Phase drei vor der eigentlichen   OperationsausfUhrung   das Vorzeichen aus dem Vorzeichenspeicher   zum Akku-Register zugefugt und dann nach der Operation (Phase vier)   in der Phase eins ebenso wieder abgetrennt. 
 EMI5.2 
 
 EMI5.3 
 
<tb> 
<tb> 011 <SEP> 3 <SEP> A-Register <SEP> eine <SEP> Stelle <SEP> nach <SEP> links <SEP> verschoben <SEP> ins <SEP> A-Register,
<tb> die <SEP> überlaufende <SEP> Stelle <SEP> gelangt <SEP> in <SEP> die <SEP> kleinste
<tb> Stelle <SEP> des <SEP> A-Registers. <SEP> 
<tb> 



  100 <SEP> 4 <SEP> A-Register <SEP> eine <SEP> Stelle <SEP> nach <SEP> rechts <SEP> verschoben <SEP> ins
<tb> A-Register, <SEP> die <SEP> überlaufende <SEP> Stelle <SEP> wird
<tb> gelöscht.
<tb> 



  101 <SEP> 5 <SEP> wie <SEP> 001, <SEP> nur <SEP> wird <SEP> vor <SEP> der <SEP> Ausführung <SEP> einmalig <SEP> (in <SEP> Phase <SEP> drei)
<tb> das <SEP> A-Register <SEP> gelöscht.
<tb> 



  110 <SEP> 6 <SEP> wie <SEP> 010, <SEP> nur <SEP> mit <SEP> Löschung <SEP> wie <SEP> bei <SEP> 101.
<tb> 



  111 <SEP> 7 <SEP> wie <SEP> 011, <SEP> nur <SEP> wird <SEP> die <SEP> Überlaufende <SEP> Stelle <SEP> gelöscht.
<tb> 
 

 <Desc/Clms Page number 6> 

 



   2. Triade : Index-und Befehlstyp Fall   I :   In der 1. Triade ist kein Organisations-Befehl angekündigt. 
 EMI6.1 
 
<tb> 
<tb> dual <SEP> dezimal <SEP> Erläuterungen
<tb> 000 <SEP> 0 <SEP> Einzelbefehl, <SEP> nur <SEP> eine <SEP> Zahlzeit <SEP> wirksam.
<tb> 



  001 <SEP> 1 <SEP> Gruppenbefehl, <SEP> zweiunddreissig <SEP> Zahlzeiten <SEP> wirksam.
<tb> 



  010 <SEP> 2 <SEP> Beginnt <SEP> wie <SEP> 001, <SEP> schaltet <SEP> aber <SEP> schon <SEP> bei <SEP> der
<tb> 0-Stellung <SEP> der <SEP> Trommel <SEP> ab <SEP> (N-Befehl).
<tb> 



  011 <SEP> 3 <SEP> Beginnt <SEP> wie <SEP> 001, <SEP> schaltet <SEP> aber <SEP> eventuell <SEP> schon
<tb> vorher <SEP> ab, <SEP> wenn <SEP> im <SEP> A-Register <SEP> ein <SEP> Vorzeichenwechsel <SEP> auftritt. <SEP> Ausserdem <SEP> wird <SEP> nach <SEP> Abbrechen
<tb> der <SEP> Operation <SEP> zuerst <SEP> Phase <SEP> eins <SEP> und <SEP> dann <SEP> ohne
<tb> Wartezeit <SEP> Phase <SEP> zwei <SEP> des <SEP> nächsten <SEP> Befehlszyklus
<tb> angeschlossen <SEP> (X-Befehl).
<tb> 



  E, <SEP> G, <SEP> N, <SEP> X-Befehle <SEP> wie <SEP> 0, <SEP> 1, <SEP> 2. <SEP> 3, <SEP> nur <SEP> wird <SEP> vor <SEP> der
<tb> Befehlsaufstellung <SEP> der <SEP> Inhalt <SEP> des <SEP> Indexregisters
<tb> 111 <SEP> 7 <SEP> zum <SEP> Adressenteil <SEP> des <SEP> Befehls <SEP> addiert.
<tb> 
 



   Tatsächlich wird das Resultat in ein Umlaufregister mit der Länge von vierunddreissig Ziffernstellen gebracht. Damit gelangt die überlaufende Stelle immer erst um eine Zahlzeit verzögert in die kleinste Stelle des A-Registers. Das kann bei einzelnen Operationen (Division) mit Vorteil ausgenutzt werden. 



   Fall   11 : In   der 1. Triade ist ein Organisationsbefehl angekündigt. 
 EMI6.2 
 
<tb> 
<tb> dual <SEP> dezimal <SEP> Erläuterungen
<tb> 000 <SEP> 0 <SEP> Sprungbefehl, <SEP> bei <SEP> Ausführung <SEP> wird <SEP> das <SEP> Schrittregister <SEP> zum <SEP> Indexregister <SEP> addiert.
<tb> 



  001 <SEP> 1 <SEP> wie <SEP> 000, <SEP> nur <SEP> wird <SEP> das <SEP> Schrittregister <SEP> in <SEP> das
<tb> Indexregister <SEP> substituiert.
<tb> 



  010 <SEP> bzw. <SEP> wie <SEP> 000, <SEP> 001, <SEP> nur <SEP> wird <SEP> bei <SEP> der <SEP> Befehlst. <SEP> aufstellung <SEP> zum <SEP> Adressenteil <SEP> des <SEP> Befehls <SEP> der
<tb> j <SEP> Indexregisterinhalt <SEP> addiert.
<tb> 



  100 <SEP> 4 <SEP> Zähler- <SEP> oder <SEP> Stopbefehl; <SEP> dabei <SEP> wird <SEP> zusätzlich
<tb> das <SEP> Schrittregister <SEP> zum <SEP> Indexregister <SEP> addiert.
<tb> 



  101 <SEP> 5 <SEP> wie'100, <SEP> nur <SEP> wird <SEP> das <SEP> Schrittregister <SEP> in <SEP> das
<tb> Indexregister <SEP> substituiert.
<tb> 



  110 <SEP> q <SEP> bzw. <SEP> wie <SEP> 100,101, <SEP> nur <SEP> wird <SEP> bei <SEP> der <SEP> Befehls-
<tb> 111 <SEP> aufstellung <SEP> zum <SEP> Adressenteil <SEP> des <SEP> Befehls <SEP> der
<tb> Indexregisterinhalt <SEP> addiert. <SEP> 
<tb> 
 

 <Desc/Clms Page number 7> 

 



   3. Triade : Operationsart Fall I : In der 1. Triade ist kein Organisationsbefehl angekündigt. 
 EMI7.1 
 
<tb> 
<tb> dual <SEP> dezimal <SEP> Erläuterungen
<tb> 000 <SEP> 0 <SEP> Zum <SEP> Operanden <SEP> laut <SEP> 1. <SEP> Triade <SEP> wird <SEP> der <SEP> Inhalt <SEP> des <SEP> im <SEP> Adressenteil
<tb> angegebenen <SEP> Speicherfaches <SEP> addiert <SEP> und <SEP> das <SEP> Resultat <SEP> wieder, <SEP> wie
<tb> in <SEP> der <SEP> 1. <SEP> Triade <SEP> angegeben, <SEP> gespeichert. <SEP> Bei <SEP> G, <SEP> N, <SEP> X-Befehlen
<tb> wird <SEP> diese <SEP> Operation <SEP> mit <SEP> den <SEP> anschliessenden <SEP> Speicherfächern <SEP> entsprechend <SEP> wiederholt.
<tb> 



  001 <SEP> 1 <SEP> wie <SEP> 000, <SEP> nur <SEP> dass <SEP> hier <SEP> subtrahiert <SEP> wird.
<tb> 



  010 <SEP> 2 <SEP> wie <SEP> 000, <SEP> nur <SEP> wird <SEP> bei <SEP> negativem <SEP> A-Registerinhalt <SEP> addiert, <SEP> sonst
<tb> subtrahiert.
<tb> 



  011 <SEP> 3 <SEP> wie <SEP> 000, <SEP> nur <SEP> wird <SEP> bei <SEP> jeder <SEP> aus <SEP> dem <SEP> Hauptspeicherfach <SEP> kommenden <SEP> negativen <SEP> Zahl <SEP> zusätzlich <SEP> eine <SEP> Eins <SEP> an <SEP> den <SEP> Vorzeichenspeicher
<tb> gegeben, <SEP> der <SEP> diese <SEP> mod <SEP> 2 <SEP> zählt <SEP> (= <SEP> Multiplikation <SEP> der <SEP> Vorzeichen
<tb> der <SEP> einlaufenden <SEP> Zahlen).
<tb> 



  100 <SEP> 4 <SEP> wie <SEP> 000, <SEP> nur <SEP> wird <SEP> eine <SEP> ziffernweise <SEP> Intersektion <SEP> ausgeführt.
<tb> 



  101 <SEP> 5 <SEP> Transport <SEP> des <SEP> Akkumulatorinhalts <SEP> nach <SEP> der <SEP> im <SEP> Adressenteil <SEP> angegebenen <SEP> Speicherzelle <SEP> ; <SEP> die <SEP> gleiche <SEP> Zahl <SEP> wird <SEP> ausserdem <SEP> in <SEP> der <SEP> von
<tb> der <SEP> 1. <SEP> Triade <SEP> bestimmten <SEP> Form <SEP> im <SEP> Akkumulator <SEP> gespeichert.
<tb> 



  110 <SEP> 6 <SEP> wie <SEP> 101, <SEP> nur <SEP> werden <SEP> diesmal <SEP> nur <SEP> die <SEP> Nullen <SEP> des <SEP> Akkumulatorinhalts <SEP> in <SEP> die <SEP> jeweilige <SEP> Speicherzelle <SEP> kopiert <SEP> und <SEP> dort <SEP> eine <SEP> Intersektion <SEP> mit <SEP> dem <SEP> alten <SEP> Speicherinhalt <SEP> bewirkt.
<tb> 



  111 <SEP> 7 <SEP> sieht <SEP> man <SEP> zunächst <SEP> von <SEP> den <SEP> Befehlen <SEP> mit <SEP> einer <SEP> Rechtsverschiebung
<tb> (100 <SEP> in <SEP> der <SEP> 1. <SEP> Triade) <SEP> im <SEP> A-Register <SEP> ab, <SEP> so <SEP> wird <SEP> bei <SEP> positivem
<tb> A-Registerinhalt <SEP> das <SEP> angerufene <SEP> Speicherfach <SEP> gelöscht, <SEP> andernfalls
<tb> mit <SEP> lauter <SEP> Einsen <SEP> aufgefüllt. <SEP> Der <SEP> Inhalt <SEP> des <SEP> A-Registers <SEP> wird
<tb> gleichzeitig <SEP> entsprechend <SEP> der <SEP> 1. <SEP> Triade <SEP> wieder <SEP> im <SEP> A-Register <SEP> gespeichert. <SEP> Bei <SEP> einer <SEP> Rechtsverschiebung <SEP> im <SEP> A-Register <SEP> (1.

   <SEP> Triade
<tb> 100) <SEP> wird <SEP> die <SEP> Ziffer <SEP> mit <SEP> kleinstem <SEP> Stellenwert <SEP> als <SEP> Vorzeichen
<tb> interpretiert <SEP> (0 <SEP> entspricht <SEP> +)
<tb> (l <SEP> entspricht-). <SEP> 
<tb> 
 



   Bei der Addition und Subtraktion tritt, sofern keine Verschiebung im A-Register vorgesehen ist, die Überlauf-Kontrolle automatisch in Funktion. Sie stoppt das Gerät, sofern nicht anschliessend ein ÜberlaufSprungbefehl programmiert ist. 

 <Desc/Clms Page number 8> 

 



   Fall II : Es liegt ein Sprungbefehl vor. (l. Triade 000, 2. Triade 000,001, 010,011) 
 EMI8.1 
 
<tb> 
<tb> dual <SEP> dezimal <SEP> Erläuterungen
<tb> 000 <SEP> 0 <SEP> Sprung. <SEP> unbedingt. <SEP> 
<tb> 



  001 <SEP> 1 <SEP> Sprung <SEP> unbedingt. <SEP> Ist <SEP> dabei <SEP> K <SEP> = <SEP> (0, <SEP> 1,..., <SEP> 31) <SEP> die <SEP> Sektornummer
<tb> der <SEP> Adresse, <SEP> so <SEP> erfolgt <SEP> zusätzlich <SEP> die <SEP> Speicherung <SEP> des <SEP> alten <SEP> Zählerinhalts <SEP> (einschliesslich <SEP> Index) <SEP> in <SEP> der <SEP> Speicherzelle <SEP> 4063+K.
<tb> 



  010 <SEP> 2 <SEP> Sprung, <SEP> wenn <SEP> im <SEP> A-Register <SEP> eine <SEP> positive <SEP> Zahl <SEP> gespeichert <SEP> ist.
<tb> 



  011 <SEP> 3 <SEP> Sprung, <SEP> wenn <SEP> im <SEP> A-Register <SEP> eine <SEP> negative <SEP> Zahl <SEP> gespeichert <SEP> ist.
<tb> 



  100 <SEP> 4 <SEP> Sprung, <SEP> wenn <SEP> der <SEP> Vorzeichenspeicher <SEP> auf <SEP> + <SEP> steht.
<tb> 



  101 <SEP> 5 <SEP> Sprung, <SEP> wenn <SEP> der <SEP> Vorzeichenspeicher <SEP> auf-steht.
<tb> 



  110 <SEP> 6 <SEP> - <SEP> Springe, <SEP> wenn <SEP> Akkumulator <SEP> Ubergelaufen.
<tb> 



  111 <SEP> 7 <SEP> Sprung, <SEP> wenn <SEP> Indexregister <SEP> übergelaufen.
<tb> 
 Fall   111 : Es   liegt ein Zähler bzw. Stopbefehl vor. 



   (l. Triade 0,2. Triade 4, 5, 6,7) 
 EMI8.2 
 
<tb> 
<tb> dual <SEP> dezimal <SEP> Erläuterungen
<tb> 000 <SEP> 0 <SEP> Stop-Eingabe, <SEP> Anhalten <SEP> bis <SEP> Eingabe <SEP> erledigt <SEP> und <SEP> der <SEP> Befehl
<tb> umgeändert <SEP> ist.
<tb> 



  001 <SEP> 1 <SEP> Stop-Ausgabe, <SEP> Anhalten <SEP> bis <SEP> Ausgabe <SEP> erledigt <SEP> und <SEP> dafür <SEP> der
<tb> Befehl <SEP> "Springe <SEP> bei <SEP> negativem <SEP> Akku" <SEP> (000 <SEP> 000 <SEP> 011) <SEP> aufgestellt
<tb> ist-dieser <SEP> Befehl <SEP> wirkt <SEP> z. <SEP> B. <SEP> bei <SEP> der <SEP> Ausgabe <SEP> wie <SEP> ein <SEP> Leerbefehl.
<tb> 



  010 <SEP> 2 <SEP> Stop, <SEP> durch <SEP> die <SEP> eingestellte <SEP> Adresse <SEP> sind <SEP> dabei <SEP> Unterscheidungen <SEP> des <SEP> jeweiligen <SEP> Haltegrundes <SEP> möglich.
<tb> 



  011 <SEP> 3 <SEP> Stop, <SEP> wenn <SEP> Handschalter <SEP> gesetzt, <SEP> sonst <SEP> Leerbefehl.
<tb> 



  100 <SEP> 4-Addiere <SEP> den <SEP> Inhalt <SEP> des <SEP> im <SEP> Adressenteil <SEP> genannten <SEP> Speicherfaches <SEP> zum <SEP> Zählerregister.
<tb> 



  101 <SEP> 5 <SEP> Transportiere <SEP> den <SEP> Zählerinhalt <SEP> - <SEP> ohne <SEP> Löschung <SEP> - <SEP> nach <SEP> dem
<tb> im <SEP> Adressenteil <SEP> genannten <SEP> Speicher.
<tb> 



  110 <SEP> 6 <SEP> Transportiere <SEP> den <SEP> Indexregisterinhalt, <SEP> sonst <SEP> wie <SEP> 101.
<tb> 



  111 <SEP> 7 <SEP> Rücksprung, <SEP> es <SEP> wird <SEP> der <SEP> Zähler <SEP> mit <SEP> dem <SEP> Inhalt <SEP> des <SEP> im
<tb> Adressenteil <SEP> genannten <SEP> Speicherfaches <SEP> gefüllt, <SEP> das <SEP> Schrittregister <SEP> ist <SEP> dabei <SEP> wirkungslos.
<tb> 
 



   Ergänzungen zur Ausführung der   Ein-und Ausgabeoperationen :   Bei der Ausgabe wird, wie angegeben, ein Stopbefehl aufgestellt, dessen fünf Sektordualen den Druck von Zahlen und Zeichen veranlassen : 
Sektornummer (dezimal) Druck
0 bis 9 Ziffer 0 bis 9 

 <Desc/Clms Page number 9> 

 
Auf die Sektornummern 10 bis 31 werden maximal einundzwanzig Zeichen, unter anderem +   ;- ;, ;     Z ; B ; E ; Leerfeld ; I ;   R in hier nicht weiter festzulegender Zuordnung verteilt. Bei der Eingabe wird ähnlich wie bei der Ausgabe ein Stop-Eingabe-Befehl aufgestellt. Darauf können von einer Tastatur oder von einem Lochstreifen den Ziffern oder Zeichen entsprechende Dualzahlen 0 bis 31 in die Sektordualen des Befehls eingetragen werden.

   Durch das Schlusszeichen werden jetzt alle den Ziffern 0 bis 15 entsprechenden Befehle in einen Additionsbefehl umgewandelt (001 100 000), während die Zeichen entsprechend den Befehlen 15 bis 31 zu einem unbedingten Sprungbefehl (000 000 000) werden. Allerdings wird von diesen Befehlen nur noch die vierte Phase ausgeführt,   d. h.   die auf Index- und Schrittregister bezogenen
Befehlsteile wurden entsprechend zum aufgestellten   Stopbcfehlstyp   schon vorher in den Phasen zwei und drei erledigt. 



   Zum Abschluss soll noch das Numericrungsschema der vorgesehenen 4096 Speicherzellen beschrieben werden. Es ist hier   gunstig,   alle Speicherfächer eines Umfanges in natürlicher Reihe 0 bis 31 zu nume- rieren. Die Bahnen erhalten die Nummern 0 bis 127. Jede Adresse hat somit die Gestalt sieben Dualen
Bahnnummer und fünf Dualen Sektornummer. 



   Um trotzdem optimale Programme zu ermöglichen, soll der Zähler bei jeder Befehlsausführung um mehrere Adresseneinheiten springen. Da der Normalbefehl hier vier Zahlzeiten beansprucht, würde der
Zählersprung entsprechend gewählt. Als Folge wird man bei einer optimalen Programmgestaltung in auf- einanderfolgenden Befehlen erforderliche Zahlen in Viererschritten staffeln müssen. 



   Durch den gewählten Befehlssprung erscheint der gesamte Speicher in vier Befehlsreihen gespalten, aus denen Übergänge nur durch Sprungbefehle möglich sind :
1. Reihe   Speicherfachnummer :   0 + 4k k   0, 1,..., 1023  
2. Reihe Speicherfachnummer : 1 + 4k k-0, l,.... 1023
3. Reihe Speicherfachnummer : 2 + 4k k   : :. 0, 1,..., 1023  
4. Reihe   Speicherfachnummer :   3 + 4k k   0, 1, 1023   Jede Reihe fasst 1024 Einzelbefehle. 



   Allerdings sollen beim praktischen Gebrauch nur 4000 Speicherzellen mit den Nummern 0 bis 3999 als eigentlicher Hauptspeicher freigehalten werden, die übrigen drei Bahnen 125, 126,127 werden für spezielle Zwecke herangezogen. 



   Mit der Bahnnummer 125 wird das A-Register, mit der Bahnnummer 126 das Zäh-Register angerufen. 



  Aus ihnen kann in diesem Ausführungsbeispiel aus Aufwandsgründen nur entnommen werden. Beim Hinzufügen einer geraden Sektornummer wird dabei immer der gesamte Registerinhalt, bei ungeraden nur der Indexteil verwendet. Die Bahn 127 arbeitet an sich normal, es werden hier zusätzlich mit dem SprungBefehl 001 (= Rufbefehl) automatisch die für einen Rücksprung erforderlichen   Zähleradr6Ssen   gespeichert. 



   PATENTANSPRÜCHE : 
1. Programmgesteuerter elektronischer Digitalrechner, dadurch gekennzeichnet, dass durch Einzelbefehle in bekannter Weise Grundoperationen, z. B. Additionen, Subtraktionen, logische Operationen, Transportoperationen, auch gekoppelt mit Verschiebungen, Löschungen und Steueroperationen ausgeführt werden, dass Gruppenbefehle die Durchführung der Grundoperationen mit mehr als einem   SpeicherfÅach   des Speichers, insbesondere eines Trommelspeicherkanales, bewirken, wobei die Zahl der   Speicherfä-   cher mit der Ziffernzahl der zu verarbeitenden Werte ohne Schutzstellen übereinstimmt.

Claims (1)

  1. 2. Digitalrechner nach Anspruch 1, dadurch gekennzeichnet, dass bei Übertragung des Inhaltes von einem Register in belegte Speicherfächer des Speichers, insbesondere eines Trommelspeichers, nur die Nullen oder nur die Einser tatsächlich wirksam sind, so dass im nichtrechenfähigen Speicher bzw. eine Konjunktion oder Disjunktion mit dem vorhergegangenen Speicherinhalt bewirkt wird.
    3. Digitalrechner nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Ausgabe der errechneten Werte durch rotierende Typenräder erfolgt, die in einem festen Drehzahlverhältnis zum Speicherumlauf rotieren und deren zu druckende Zeichen durch die Kanal-und Zellenauswahlschaltung des Speichers mit ausgewählt werden.
AT445960A 1960-06-10 1960-06-10 Programmgesteuerter elektronischer Digitalrechner AT221841B (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AT445960A AT221841B (de) 1960-06-10 1960-06-10 Programmgesteuerter elektronischer Digitalrechner

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
AT445960A AT221841B (de) 1960-06-10 1960-06-10 Programmgesteuerter elektronischer Digitalrechner

Publications (1)

Publication Number Publication Date
AT221841B true AT221841B (de) 1962-06-25

Family

ID=3564292

Family Applications (1)

Application Number Title Priority Date Filing Date
AT445960A AT221841B (de) 1960-06-10 1960-06-10 Programmgesteuerter elektronischer Digitalrechner

Country Status (1)

Country Link
AT (1) AT221841B (de)

Similar Documents

Publication Publication Date Title
DE1499193C3 (de) Speicher-Adressierschaltung
DE1146290B (de) Elektronisches Datenverarbeitungssystem
DE1449531B2 (de) Prozessor, vorzugsweise fur ein modulares Mehrprozessorsystem
DE2712224A1 (de) Datenverarbeitungsanlage
DE1282337B (de) Programmgesteuerte elektronische Rechenanlage
DE1115488B (de) Datenverarbeitungssystem
DE1171650B (de) Maschine zur serienmaessigen Verarbeitung von Daten in binaerer Zeichenverschluesselung
DE1909090B2 (de) Schutzeinrichtung für den Arbeitsspeicher einer Rechenanlage
DE3440680C2 (de)
DE1298316B (de) Einrichtung zur Kommabehandlung bei arithmetischen Operationen
AT221841B (de) Programmgesteuerter elektronischer Digitalrechner
DE1524117B1 (de) Datenverarbeitungsanlage mit Umlaufregistern
DE1115483B (de) Vorrichtung zum Abfragen eines Ziffernspeichers
DE1069910B (de) Kommandowerk mit Indexregister
DE2000608A1 (de) Schaltungsanordnung fuer eine Nachrichtenverarbeitungs-,insbesondere fuer eine Nachrichtenvermittlungsanlage
DE1549461C3 (de)
DE1177380B (de) Programmgesteuerter elektronischer Digitalrechner
DE1049129B (de) Vorrichtung zur Programmsteuerung, insbesondere fuer Rechenanlagen
DE1524117C (de) Datenverarbeitungsanlage mit Umlaufregistern
DE2555434C2 (de) Anordnung zur Adressenumsetzung für eine Datenverarbeitungsanlage
DE1774673C3 (de) Verfahren und Schaltungsanordnung zur Multiplikation und Division
DE2419241C3 (de) Prozessor mit Mikroprogrammsteuerung einer digitalen Rechenanlage
DE1302516C2 (de) Verfahren und einrichtung fuer ein serie-serie-rechenwerk
DE1524146C (de) Divisionseinrichtung
AT205265B (de) Schaltungsanordnung für einen elektronischen Speicher