DE1424737C - Programmgesteuerte elektronische Rechenanlage mit abgekürzter Datenadressierung - Google Patents
Programmgesteuerte elektronische Rechenanlage mit abgekürzter DatenadressierungInfo
- Publication number
- DE1424737C DE1424737C DE1424737C DE 1424737 C DE1424737 C DE 1424737C DE 1424737 C DE1424737 C DE 1424737C
- Authority
- DE
- Germany
- Prior art keywords
- address
- command
- register
- operand
- character
- 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.)
- Expired
Links
- 230000000875 corresponding Effects 0.000 claims description 15
- 239000011159 matrix material Substances 0.000 description 18
- 230000005540 biological transmission Effects 0.000 description 3
- NHYCGSASNAIGLD-UHFFFAOYSA-N chlorine monoxide Inorganic materials Cl[O] NHYCGSASNAIGLD-UHFFFAOYSA-N 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 230000036880 Cls Effects 0.000 description 1
- 230000001143 conditioned Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 230000003252 repetitive Effects 0.000 description 1
- 230000003068 static Effects 0.000 description 1
Description
Die Erfindung betrifft eine programmgesteuerte elektronische Rechenanlage, die von Befehlen gesteuert
wird, die jeweils Operanden-Adressenangaben enthalten und bei der die für die Rechenoperationen
zu bearbeitenden Operanden in einem Speicher gespeichert sind und jeweils durch eine aus mehreren
nacheinander und in vorgegebener Reihenfolge auszulesenden Ziffern bestehende Adresse adressiert
werden.
Es sind bereits verschiedene Rechenanlagen bekanntgeworden, die eine abgekürzte Adressierung
vorsehen, die dadurch erreicht wird, daß statt der absoluten Adresse eine relative Adresse vorgegebener
Länge verwendet wird.
Der Nachteil dieser relativen indirekten Adressierung liegt vor allem in der Beschränkung auf einen
mitunter sehr begrenzten Adressenraum relativ zur Basisadresse und in der fest vorgegebenen Adressenlänge
und damit auch der Befehls- bzw. Wortlänge, wodurch beispielsweise beim wiederholten Zugriff
auf denselben Operanden in aufeinanderfolgenden Befehlen viel Speicherplatz nutzlos belegt wird.
Bekanntlich kann etwas Speicherraum auch dadurch eingespart werden, daß die Daten in Wörtern
veränderlicher Länge entsprechend der größten voraussichtlichen Länge organisiert werden, jedoch weisen
die einzelnen Befehle auch weiterhin eine feste Länge auf.
Es ist andererseits bekannt, Befehle zu verwenden, die jeweils entweder aus einem Wort fester Länge
für die Steuerung der einfacheren Operationen oder aus zwei oder mehr Wörtern für die Steuerung der
komplizierteren Operationen bestehen. Hierdurch kann weiterer Speicherraum eingespart werden, jedoch
behält der einer gewissen Operationsart entsprechende Befehl weiterhin eine feste Länge.
Es ist schließlich bekannt, die Adresse in einigen Befehlen wegzulassen, so daß diese Befehle nur mehr
noch aus dem Operationsteil bestehen, weiterer Speicherraum eingespart und die Bearbeitungszeit der
Befehle gekürzt wird. Zu diesem Zweck versteht man unter der in einem zu bearbeitenden Befehl weggelassenen
Adresse die Adresse desjenigen Operanden, der im Speicher neben dem Operanden des unmittelbar
zuvor bearbeiteten Befehls Hegt, wobei diese Adresse von einem geeigneten Zählwerk geliefert
wird. Die Möglichkeit, Adressen wegzulassen, beschränkt sich daher auf den Fall, daß mehrere
nebeneinanderliegende Operanden zu bearbeiten sind. Wenn dagegen mehrere im Speicher nicht
nebeneinanderliegende Operanden zu bearbeiten sind, muß die Adresse der Operanden jeweils ausgedrückt
werden.
Der Erfindung liegt dementsprechend die Aufgabe zugrunde, die vorstehend beschriebenen Nachteile
der Adressierung in den bekannten Rechenanlagen zu beseitigen und einen Rechner zu schaffen, dessen
Befehle möglichst wenig Speicherplatz belegen, d. Ii.
möglichst kurz und damit in ihrer Wortlänge also nicht festgelegt sind, ohne dabei jedoch den ;i!)r;olttt
freien und flexiblen Zugriff zum gesamten Arbeitsspeicher einzuschränken.
Zur Lösung dieser Aufgabe wird erftndungsgemäß vorgeschlagen, daß der Adressenteil in jedem Befehl
die Ziffern der Adresse des entsprechenden Operanden nur bis einschließlich der letzten Ziffer in der jeweiligen
Ziffcrnfolge enthält, die sich von der entsprechenden Ziffer in der Adresse des unmittelbar
zuvor adressierten Operanden unterscheidet, und die Adresse des Operanden jeweils durch die weiteren
und übereinstimmenden Ziffern der Adresse des unmittelbar zuvor adressierten Operanden vervollständigt
wird.
Nach einer vorteilhaften Ausgestaltung der Erfindung ist vorgesehen, daß der Adressenteil eines jeden
Befehls den Inhalt eines die Adresse des zuvor adressierten Operanden enthaltenden Hilfs-Adressenregisters
abändert, und daß der somit abgeänderte Inhalt bis zum nächsten Befehl im Hilfs-Adressenregister
stehenbleibt und außerdem in das Adressenregister als Adresse für den dem gegenwärtigen Befehl entsprechenden
Operanden übertragen wird. Dazu wird beim Lesen eines der letzten Befehlsadressenziffer
zugeordneten Befehlsendsignals die Ersetzung der entsprechenden Stellen des Hilfs-Adressenregisters
unterbrochen und der Inhalt des Hilfs-Adressenregisters in das Adressenregister übertragen.
Die Vorteile der Rechenanlage gemäß der Erfindung liegen vor allem in einer optimalen und
flexiblen Ausnutzung des verfügbaren Speicherplatzes, auf den, wie im Falle der absoluten Adressierung,
beliebig und direkt zugegriffen werden kann,
as ohne daß er mit repetitiven Adressenteilen sinnlos
belegt zu werden braucht.
Ein Ausführungsbeispiel der Erfindung ist im folgenden an Hand der Zeichnungen beschrieben. Es
zeigt
Fig. 1 eine schematische Darstellung einer Sequenzmatrix
der Rechenanlage,
Fig. 2a und 2b eine schematische Darstellung eines Teils der Rechenanlage und
Fig. 3 die Art der Zusammensetzung der Fig. 2a
und 2 b.
In den Figuren stellen die schwach gezeichneten Linien Kanäle dar, die jeweils ein Bit übertragen,
die stärker gezeichneten Linien Kanäle, in denen vier Bits parallel übertragen werden, während die doppelt
gezeichneten Linien Kanäle bedeuten, in denen fünf Zeichen parallel übertragen werden.
Die Befehle eines Programmes bzw. die Daten und Operanden, die nach dem Programm abzuarbeiten
sind, werden in einem beliebig zugänglichen Speieher M gespeichert. Dieser Speicher enthält 105
Plätze, die einzeln adressierbar sind mittels einer Adresse, die aus fünf Dezimalziffern besteht und je
ein weiteres Zeichen enthalten kann.
In einer besonderen Ausführungsform für numerische Zeichen enthält der Speicher M vier Matrizen
zu je 105 Magnetkernen, so daß jedem Speicherplatz vier Kerne zugeordnet sind, also einen Kern je Matrix,
die insgesamt die vier ein Zahlzeichen bildenden Bits enthalten.
Außerdem enthält der Speicher M noch eine ebenfalls aus 10r>
Magnetkernen bestehende Hilfsmatrix, so daß jedem Platz ein Hilfskern zugeordnet ist, der
gegebenenfalls das Wortendbit enthalten kann. Das Vorkommen eines solchen Wortendbits wird später
durch Unterstreichung des zugeordneten Zeichens angegeben.
Ein Befehl ist in seiner allgemeinen Form vom Typ FFTIIIIL d. h., er besteht aus acht Zeichen,
und zwar aus
I. zwei Funktionszeichen F, die insgesamt die auszuführende
Operation darstellen;
2. einem Zeichen T1 das die Adresse eines von mehreren Adressenveränderungsregistern angibt
2. einem Zeichen T1 das die Adresse eines von mehreren Adressenveränderungsregistern angibt
3 4
(die Funktion solcher Register ist z. B. aus der beispielsweise auf der Zeile 52 die Magnetkerne 1,
USA.-Patentschrift 3 012 724 bekannt); wenn 2, 3, 4, 5, 6, die den Spalten Ll, L 2, L 7, L 9, L 98
dieses Zeichen ein X ist, wird kein Verände- bzw. L 99 zugeordnet sind. Jeder Magnetkern ist
rungsregister ausgewählt, es findet also auch mit dem für alle Magnetkerne der Zeile gemeinsamen
keine Veränderung statt; 5 Auswähldraht sowie mit dem für alle Magnetkerne
3. fünf Zeichen /, die insgesamt eine fünfstellige der Spalte gemeinsamen Auswähldraht verkettet.
Dezimalzahl bilden, deren Ziffern in wachsender Alle Magnetkerne sind mit einem ständig erregten,
Dezimalordnung von links nach rechts ange- an sich bekannten und in der Zeichnung nicht darordnet
sind und die die absolute Adresse des gestellten Polarisierdraht verkettet, der bezweckt, die
Operanden angeben, auf den sich der Befehl io Magnetkerne im »0«- oder Ruhezustand zu halten,
bezieht. Außerdem sind einige Magnetkerne mit bestimmten ·
Bei der abgekürzten absoluten Adresse eines Ope- Bedingungsdrähten, die wahlweise durch ein Bedinranden
kann man eine bestimmte Anzahl von eines gungsregister RC erregt werden, verkettet. So z. B.
bis fünf nebeneinanderliegenden Zeichen, ausgehend sind die Magnetkerne 1, 5, 7 mit einem Bedingungsvon
der höchstwertigen Stelle, weglassen. Die weg- 15 draht Kl und die Magnetkernes, 8, 4 und ebenfalls
gelassenen Zeichen sind den entsprechenden Zeichen 5 mit einem Bedingungsdraht K2 verbunden. Über
der effektiven absoluten Adresse des zuvor adressier- die Leitungen 9 erhält das Bedingungsregister RC
ten Operanden gleich. Die Länge der abgekürzten aus den verschiedenen Schaltorganen der Rechenabsoluten Adresse eines Befehls kann also je nach anlage Bedingungssignale, die das Vorkommen beden
Umständen fünf bis null Zeichen betragen, d. h., 20 stimmter Bedingungen in den betreffenden Einheiten
daß ein Befehl auch bis auf die Form FFT verkürzt anzeigen. Jedes im Register RC staticisierte Bedinwerdert
kann, wenn eine neue Operation FF mit dem gungssignal ruft die Erregung eines Bedingungsdrahgerade
zuvor adressierten Operanden ausgeführt tes der Matrix MLS hervor.
werden soll. Außerdem sind einige Magnetkerne, wie z. B. der
Es sollen z. B. zwei Operationen F1F1 und F2F., 25 Kern 5, verschiedenen Bedingungen unterworfen;
mit den unter den Adressen 32479 bzw. 32284 er- diese können hinsichtlich ihrer Wirkung auf den
mittelten Operanden hintereinander ausgeführt wer- Kern gemäß den logischen Funktionen »ODER«
den. Der sich auf diese zwei Operationen beziehende oder »UND« kombiniert sein.
Programmteil kann im Speicher M in verkürzter Im folgenden wird ein Signal, z. B. ein Bedin-
Form 30 gungssignal, durch ein Symbol, bestehend aus einem
F1F,A'97423F.!/;'.>A'482 oder mehreren Zeichen, bezeichnet, wobei diesem
Symbol ein Apostroph hinzugefügt wird, um das
oder auch nach. Belieben in der ungekürzten Form entgegengesetzte Signal zu bezeichnen, d. h. das bei
F F X9TA23F F ΛΓ48223 Unterbrechung des ersten Signals eintretende Signal.
11 -22 - 35 Dig Zeilen der Matrix MLS werden nacheinander
gespeichert werden. von einem Wähler SS ausgewählt, der durch ein Zu-
Die Maschine arbeitet ein Zeichen nach dem an- Standsregister SR kontrolliert wird. Dieses Register
deren ab; ihre Arbeitsweise umfaßt eine Folge von kann die aus acht Bits bestehende Adresse von einer
Phasen, die die gegebenen Befehle deuten und durch- der 256 (=28) Zeilen der Matrix MLS enthalten,
führen. 4» Ein Zeitsignalgenerator T (Taktgeber) von bei-
In der Auslegungsphase eines Befehls werden die spielsweise gleichbleibender Frequenz erzeugt den
Zeichen des Befehls nacheinander aus dem Speicher Grundtakt der Maschine. Zu diesem Zweck liefert
gelesen und gedeutet. er dem Wähter SS ein Zeitsignal, das bei Ubertra-
Die Entnahme eines dem letzten Zeichen des Be- gung eines Abfrageimpulses an den Auswahldraht
fehls zugeordneten Wortendbits aus dem Speicher 45 der in der Matrix MLS augenblicklich gewählten
bewirkt den Übergang zur Durchführungsphase, Zeile veranlaßt. Folglich werden alle nicht mit Bewährend
welcher der im Befehl angegebene Operand dingungsdrähten verketteten Magnetkerne der Zeile
zeichenweise aus dem Speicher gelesen und bearbei- auf den Zustand »L« umgeschaltet und liefern so
tet wird. Das Lesen eines dem letzten Zeichen des einen Impuls an den entsprechenden Lesedraht.
Operanden zugeordneten Wortendbits aus dem Spei- 50 Die mit Bedingungsdrähten verbundenen Kerne
eher bewirkt den Übergang zur Auslegungsphase des werden nur dann umgeschaltet, wenn entweder sämtnächstfolgenden
Befehls usw. Dieser nächstfolgende liehe Drähte erregt sind, falls die Bedingungen darin
Befehl ist in bekannter Weise angegeben: Es kann gemäß der logischen Funktion »UND« kombiniert
sich dabei sowohl um den auf dem angrenzenden sind, oder wenn wenigstens ein Draht erregt ist, falls
Speicherplatz gespeicherten Befehl als auch um einen 55 die Bedingungen darin gemäß der logischen Funkdurch
Sprung zu erreichenden Befehl handeln. tion »ODER« kombiniert sind.
Jede der Phasen ist in eine veränderliche Anzahl . Infolge der Sendung des Abfrageimpulses werden
von Elementarschritten eingeteilt, während der be- daher die Lesedrähte LO ... L 99 von ebenso vielen
stimmte Elementaroperationen gemäß bestimmter, Binärsignalen vom Wert »L« oder »0«, je nachdem
später erläuterter Mikrobefehle ausgeführt werden. 60 ob sie von umgeschalteten oder nicht umgeschalteten
Das Aufeinanderfolgen dieser Grundschritte wird Kernen kommen, durchlaufen. Nach Unterbrechung
von einer logischen Sequenzmatrix MLS gesteuert. des Abfrageimpulses werden alle Kerne durch den
Diese Sequenzmatrix besteht aus 256 Zeilen und Polarisierdraht auf den Ruhezustand »0« zuriiek-100
Spalten, denen ebenso viele Auswähldrähte gesetzt.
Sl ... 5256 bzw. ebenso viele Lesedrähte LO ... 65 Die Signale der ersten acht Spalten LO ... L7
L 99 zugeordnet sind. stellen die Adresse der nächsten auszuwählenden
Auf jeder Zeile befinden sich in den Knotenpunk- Zeile der Matrix MLS dar und werden im Register
ten mit bestimmten Spalten bistabile Magnetkerne, SR staticisiert. Die Signale der übrigen Spalten
L 8 ... L 99 bilden ebenso viele Steuerbefehle für die verschiedenen Schaltungen der Rechenanlage
und werden in einem Steuerbefehlstaticisator SC bis zum nächsten Zeitimpuls staticisiert. Die durch die
Abfrage einer bestimmten Zeile der Matrix MSL erhaltenen Signale bleiben also von dem Zeitimpuls
an, zu dem die Abfrage durchgeführt wurde, bis zum nächsten Zeitimpuls statisch verfügbar. In dieser
Zeitspanne befindet sich die Matrix MLS in einem bestimmten »Zustand« der der genannten Zeile entspricht.
Auf diese Weise durchläuft die Matrix eine Sequenz von Zuständen.
Die auf den Spalten LQ ... Ll erhaltenen Signale
bestimmen das Aufeinanderfolgen der Zustände, insofern bei gegebenem gegenwärtigen Zustand, d. h.
bei gegebener gegenwärtig ausgewählter Zeile und bei gegebenen im Register RC staticisierten Bedingungen,
eine bestimmte Kombination von Signalen auf den genannten Spalten erhalten und damit eine
bestimmte Zeile als zukünftiger Zustand ausgewählt wird. Mit anderen Worten bestimmt jeder Zustand
selbsttätig einen oder mehrere zukünftige Zustände, wobei im zweiten Fall die Auswahl zwischen den Zuständen
durch die gegenwärtig im Register RC staticisierten Bedingungen bestimmt wird.
Ähnlicherweise entspricht oder entsprechen jedem Zustand eine bzw. mehrere Kombinationen von
Steuerbefehlen auf den Spalten L 8 ... L 99, wobei im zweiten Fall die Auswahl zwischen den Kombinationen
von den im Register RD gegenwärtig staticisierten Bedingungen bestimmt wird.
Jede dieser Kombinationen von Steuerbefehlen auf den Drähten L 8 ... L 99 wird insgesamt als Mikrobefehl
bezeichnet. Während jedes Zustandes wird ein gewisser Mikrobefehl, der vom gegenwärtigen
Zustand und den gegenwärtigen Bedingungen bestimmt wird, im Staticisator SC staticisiert.
Daraus ergibt sich für den Betrieb eine Folge von Mikrobefehlen, die die Rechenanlage steuern.
Ferner ist zu beachten, daß die Matrix MLS den Schaltungen der Maschine Steuerbefehle erteilt und
von ihnen auch Bedingungen erhält.
Die Rechenanlage enthält weiterhin ein 5stelliges aktuelles Adressenregister W mit den Stellen U für
die Einer, D für die Zehner, C für die Hunderter, M für die Tausender und DM für die Zehntausender.
Das Register W kann daher eine aus fünf Dezimalziffern gebildete Zahl enthalten, die eine effektive
absolute Speicheradresse darstellt. Jedesmal, wenn das Register W eine bestimmte Adresse enthält, wird
über einen Adresscncodierer AD ein bestimmter Speicherplatz zum Lesen bzw. Schreiben ausgewählt.
Ein an den Speicher M gegebener Steuerbefehl ClO veranlaßt das Lesen des auf dem augenblicklich
adressierten Speicherplatz stehenden Zeichens und seine Weitergabe an einen Ausgangsdraht 10. Ein an
den Speicher gegebener Steuerbefehl CIl veranlaßt das Schreiben eines auf dem Eingangsdraht 11 einlaufenden
Zeichens auf den augenblicklich adressierten Speicherplatz. Die Art, in der die Steuerbefehle
auf die verschiedenen Schaltungen einwirken, ist an sich bekannt und daher nicht näher beschrieben.
Dem ,Register W sind sechzehn Hilfs-AdrcsscnregisterJ1
... 716 zugeordnet, die jeweils entsprechend dem Register W fünf Stellen enthalten. Im Register/l
wird (Ik- Adresse des einzelnen zunächst auszuwählenden Hcl'elils/.eichens festgehalten. Im
Register 72 wird die clTcklivc Adresse des /ulcl/t
ausgewählten Operanden festgehalten. Die Funktion der weiteren Register braucht hier nicht erläutert zu
werden.
Ein Hilfsregisterwähler SRA dient dazu, eines der sechzehn Hilfsregister unter Steuerung der Steuerbefehle
C 20, C 21, C 22, C 23 zum Lesen oder Schreiben auszuwählen. Jede der sechzehn möglichen
Kombinationen dieser vier Steuerbefehle veranlaßt das Auswählen eines der Hilfsregister.
ίο Der Inhalt -des ausgewählten Hilfsregisters wird
unter Steuerung des Steuerbefehls C19, der ein Verknüpfungsglied
19 öffnet, parallel in das Register W übertragen.
Der Inhalt des Registers W wird unter Steuerung eines Steuerbefehls C29, der ein Verknüpfungsglied
29 öffnet, parallel in das gewählte Hilfsregister übertragen.
Unter Steuerung eines Steuerbefehls C30, der ein
Verknüpfungsglied 30 öffnet, wird der Inhalt des so Registers W, der eine 5stellige Dezimalzahl darstellt,
dagegen an ein Schaltnetz ADD weitergegeben, in dem er um eine Dezimal-Einheit erhöht wird, bevor
er in das gewählte Hilfsregister übertragen wird.
Ein erstes Funktionsregister RFl erhält aus dem Speicher M das erste Funktionszeichen eines jeden
Befehls, wenn ein Steuerbefehl C15 ein Verknüpfungsglied
15 öffnet.
Ein zweites Funktionsregister RF2 erhält aus dem
Speicher M das zweite Funktionszeichen eines jeden Befehls, wenn ein Steuerbefehl C16 ein Verknüpfungsglied
16 öffnet. Ein Zeichenregister RA erhält aus dem Speicher M ein Zeichen, wenn ein Steuerbefehl
C13 ein Verknüpfungsglied 13 öffnet, und gibt es an den Speicher zurück, wenn ein Steuerbefehl
C18 ein Verknüpfungsglied 18 öffnet. Das im Register RA enthaltene Zeichen wird außerdem
in das augenblicklich gewählte Hilfsregister übertragen, wenn einer der Steuerbefehle C24, C25, C26,
C 27 bzw. C 28 jeweils das zugeordnete Verknüpfungsglied 24, 25, 26, 27 bzw. 28 öffnet, wodurch
eine Stelle des Hilfsregisters ausgewählt und somit das im Register RA enthaltene Zeichen unter der
Wirkung des Steuerbefehls C24, C25, C26, C27
. bzw. C 28 in die Stelle U, D, C, M bzw. DM des ( Hilfsregisters übertragen wird.
Das Register RA dient außerdem als Pufferspeicher für die Eingabe und Ausgabe jedes einzelnen
Zeichens über die Eingabeeinheit (ΟΙ) bzw. die Ausgabeeinheit
(OU).
Ein mit acht Ausgängen PO, Pl, P2, P3, P4, P5,
P6, P7 versehener Zeichenzähler CC wird durch ein Steuerbefehl C 44 jeweils um einen Schritt fortgeschaltet,
so daß er seine Ausgänge nacheinander erregt. Die auf den Ausgängen PO bis P7 vorhandenen
Signale bilden ebenso viele Bedingungen für die Matrix MLS.
Die Rechenanlage enthält außerdem ein an sich bekanntes Rechenwerk UA, das mit dem Speicher M
und dem Register RA in Verbindung steht. Die Arbeitsweise der Rechenanlage wird jetzt an
Hand der Auslcgungsphase eines Befehls FFXIL erläutert.
Zu Beginn befindet sich der Zeichenzähler CC in dem später erläuterten Zustand, in dem der Ausgang .
PO erregt ist. Die Matrix MLS befindet sich im Zustand »0«. in dem im StaticisatorSC die Steuerbefehle
C19 (Übertragung vom augenblicklich eewähllen
Register J auf das Register W) und C40
7 8
(Auswahl des Registers J) vorhanden sind. Außer- vorhanden sind, sowie der Steuerbefehl C16
dem weist die Kombination der Steuerbefehle C20, (Schreiben in das Register RF2), der auf die gegen-
C21, C22, C23 den Hilfsregisterwähler SRA ari, das wärtig vorhandene Bedingung Pl eingestellt ist. Dar-
Register/1 auszuwählen. In diesem Zustand ergibt aus ergibt sich der Mikrobefehl:
sich daher der Mikrobefehl Ȇbertragung des Inhalts 5
des Hilfsregisters/1 in das Adressenregister W«, >>M RA; M Rb2; W + l- —yi«,
was wie folgt zusammengefaßt werden kann: durch welchen das zweite Zeichen des Befehls, d. h.
das augenblicklich gewählte Zeichen, außer ins Re-
»/1 W«. gister RA auch Jn das Register Rprj als zweites
Hierbei ist zu beachten, daß, wie später erläutert io Funktionszeichen geschrieben wird; außerdem wird
wird, das Register/1 schon die effektive absolute seine um eine Einheit erhöhte Adresse wieder in das
Adresse des ersten Zeichens des auszulegenden Be- Register /1 geschrieben, das somit die Adresse des
fehls enthält. vierten Zeichens des Befehls enthält.
Weiterhin veranlaßt die Kombination der Steuer- Ein dem Register RA zugeordneter Codierer DA
befehle CO .... Cl das Schreiben der Zeile 17 in das 15 erkennt darin die Anwesenheit des Zeichens »X«
Zustandsregister SR. und zeigt dies durch ein Bedingungssignal DT an.
Nach der Übertragung »/1 W« geht daher die Es folgt dann der Zustand 30, in dem sich wie zuMatrix
MLS in den Zustand 17 über. In diesem sind vor der Mikrobefehl
die Steuerbefehle C10 (Lesen des Speichers), C13 »RA M<
(Schreiben in das Register RA), ClS (Schreiben in 20
das Register RFl), C 30 (Übertragung vom Regi- ergibt, wodurch dieses Zeichen im Speicher regenester
W in das Hilfsregister über das Schaltnetz ADD) riert wird. Die Steuerbefehle, die in diesem Zustand
vorhanden. Außerdem wird durch die Steuerbefehle den zukünftigen Zustand bestimmen, sind den Be-C
20, C21, C22, C23 das Hilfsregister J1 weiterhin dingungen DT und P 2 untergeordnet. Wenn beim
ausgewählt. Daraus ergibt sich der Mikrobefehl 35 Eintreten der BedingungP2 (d.h. bei der Bearbei-
»Lesen des augenblicklich im Speicher M gewählten tung des dritten Zeichens des Befehls) auch die BeZeichens;
Schreiben desselben in die Register/?^ dingung DJ eintritt (d.h., wenn das dritte Zeichen
und RFl; daraufhin Schreiben der aktuellen Adresse nicht »X« ist, sondern eine wirkliche Adresse des
nach Erhöhung um eine Einheit in das Register/1«, Veränderungsregisters), so tritt vom Zustand 30 an
d. h. in zusammengefaßter Form: 30 eine Sequenz von Zuständen ein, die die Verände-
»,/ D>
λ, Djri h/j_i j λ runS des Befehls verursacht. Im gegenwärtigen Fall
-,-,M-RA; M- — RF1; W+ 1—71«. dagegen ^n durch Ausbleiben der BedingungDT
Auf diese Weise wird das erste Zeichen des Be- als nächster Zustand der Zustand 8 ein, in dem sich
fehls in das erste Funktionsregister RF1 übertragen; wiederum der Mikrobefehl
außerdem enthält das Register/1 die Adresse des 35
zweiten Zeichens des Befehls. »/1 — W; zahlen«
außerdem enthält das Register/1 die Adresse des 35
zweiten Zeichens des Befehls. »/1 — W; zahlen«
Außerdem veranlassen die Steuerbefehle CO ... ergibt, so daß das vierte Zeichen des Befehls adres-
Cl als nächsten Zustand den Zustand 30, in welchem siert wird, während der Zeichenzähler um einen
die Steuerbefehle CIl (Schreiben in den Speicher) Schritt fortgeschaltet wird und so die Bedingung P 3
und C18 (Übertragung aus dem Register RA in den 4° hervorruft. Es folgt der Zustand 16, in dem sich wie
Speicher) vorhanden sind. Der Steuerbefehl 40 (Aus- vorher der Mikrobefehl
wählen von Hilfsregistern) bleibt aus, weil der Magnetkern der dreißigsten Zeile und der vierzigsten »M RA; W + l /1«
wählen von Hilfsregistern) bleibt aus, weil der Magnetkern der dreißigsten Zeile und der vierzigsten »M RA; W + l /1«
Spalte gemäß der logischen Funktion »UND« den
gegenwärtig nicht vorhandenen Bedingungen PO' 45 ergibt, so daß das vierte Zeichen aus dem Speicher
und P V untergeordnet ist. gelesen und in das Register RA geschrieben wird,
Daraus ergibt sich der Mikrobefehl »Schreiben des während seine um eine Einheit erhöhte Adresse wieim
Register RA enthaltenen Zeichens in den Spei- der ins Register/1 geschrieben wird. Es folgt der
eher«, d. h. in zusammengefaßter Form: Zustand 30, in dem außer den Steuerbefehlen C11
. 5° und C18 des vorhergehenden Zustands 30, der
»KA M«, Steuerbefehl C40 (Auswahl des Hilfsregisters), be-
so daß das erste Zeichen des Befehls nochmals auf dingt durch das Vorhandensein beider Bedingungen
den betreffenden Speicherplatz geschrieben und da- PO und Pl, und C 24 (Auswahl der Einerstelle im
mit regeneriert wird. Daraufhin folgt der Zustand 8, gegenwärtig gewählten Hilfsregister), bedingt durch
bei dem die Steuerbefehle C19, C 40 und C 44 an- 55 die jetzt vorhandene Bedingung P 3, auftreten,
wesend sind, wovon der letztere den Zeichenzähler Außerdem veranlaßt die Kombination von Steuer-
CC um einen Schritt fortschaltet. befehlen C 20, C 21, C 22, C 23 das Auswählen des
Außerdem veranlassen die Steuerbefehle C 20, Registers / 2. Es ergibt sich der Mikrobefehl
C21, C22, C23 das Auswählen des Registers/1.
Es ergibt sich daraus der Mikrobefehl: 60 »RA M; RA /2 Einer«,
C21, C22, C23 das Auswählen des Registers/1.
Es ergibt sich daraus der Mikrobefehl: 60 »RA M; RA /2 Einer«,
»Jl — W; zählen«. wodurch das vierte Zeichen des Befehls, d.h. das
Es wird jetzt das zweite Zeichen des Befehls adres- erste Zeichen der expliciten Adresse nicht nur im
siert, während der Zeichenzähler um einen Schritt Speicher regeneriert, sondern auch in die Einerstelle
fortgeschaltet wird und durch Erregung des Aus- 65 des Hilfsregisters/2 geschrieben und damit dem bis
gangs Pl die Bedingung Pl hervorruft. dahin dort stehenden Zeichen überschrieben wird.
Es folgt nun der Zustand 16, in dem die sämtlich Es folgt der Zustande, in dem sich wiederum der
nicht bedingten Steuerbefehle ClO, C13, C30, C40 Mikrobefehl
»71 W; zähle«
ergibt, wodurch das fünfte Zeichen des Befehls adressiert wird, während der Zeichenzähler um einen
Schritt fortgeschaltet wird und so die Bedingung P 4 hervorruft. Es folgt der Zustand 16, in dem sich wie
vorher der Mikrobefehl
»M RA; W+\ 71«
ergibt, so daß das fünfte Zeichen aus dem Speicher gelesen und in das Register RA geschrieben wird,
während seine um eine Einheit erhöhte Adresse wieder in das Register 71 geschrieben wird. Zusammen
mit dem fünften Zeichen wird das ihm zugeordnete Wortendbit aus dem Speicher gelesen, das nach Staticierung
im Flipflop jA die Bedingung jA setzt. Es
folgt der Zustand 30, in dem die Steuerbefehle CIl, C18, C 40, C 25 auftreten, von denen der letztere,
durch die jetzt vorhandene Bedingung P 4 bedingt, die Zehncrstelle des gegenwärtig gewählten Hilfsregisters
auswählt. Die Kombination der Steuerbefehle C 20, C 21, C 22, C 23 ist außerdem so, daß
das Register 72 gewählt wird. Es ergibt sich daraus der Mikrobefehl
»RA M; RA -— 72 Zehner«,
wodurch das fünfte Zeichen des Befehls, d. h. das zweite Zeichen der expliciten Adresse, nicht nur im
Speicher regeneriert, sondern auch in die Zehnerstelle des Registers 72 geschrieben und damit dem
bis dahin dort stehenden Zeichen überschrieben wird. Außerdem bestimmt die jetzt gesetzte Bedingung
JA dadurch, daß sie auf die Magnetkerne der ersten acht Spalten der Zeile 530 der Matrix MLS wirkt,
als Adresse des zukünftigen Zustandes die Adresse der Zeile 540 statt jene der Zeile 518 wie zuvor. Es
folgt der Zustand 40, in dem die Steuerbefehle C19 und C40 vorhanden sind, während die Kombination
der Steuerbefehle C20, C21, C22, C23 das Register
72 auswählt. Es ergibt sich der Mikrobefehl
»72 W«,
wodurch der gesamte Inhalt des Registers 72 ins gegenwärtige Adressenregister W übertragen wird,
um die effektive absolute Adresse des ersten Zeichens des Operanden zu bilden, der somit adressiert
wird.
Damit endet die Auslegungsphase des in Betracht gezogenen Befehls, und es beginnt die an sich bekannte
Ausführungsphase. Im Zustand 40 erscheint auch ein allgemeiner Löschungs-Stcuerbefehl, der
unter anderen den Zeichenzähler in die Stellung PO zurückstellt.
Es geht daraus hervor, daß die effektive absolute Adresse des ersten Zeichens des Operanden in ihren
zwei unteren Dezimalstellen die zwei entsprechenden Ziffern der im Befehl explicit ausgedrückten Adresse
und in den drei übrigen Dezimalstellen die Ziffern, die sich bereits in den entsprechenden Stellen des
Registers 72 vom Ende der Auslegungsphase des vorherigen
Befehls an befanden, enthält. Wie bereits beschrieben, wird im zuletzt in Betracht
gezogenen Zustand 16 die um eine Einheit erhöhte Adresse des fünften Zeichens des Befehls
wieder in das Register 71 geschrieben. Vorausgesetzt, daß sich die nächstfolgenden Befehle des Programms
wie üblich in danebenliegenden Bereichen des Speichers befinden, wird daher automatisch im
Register 71 die Adresse des nächsten Befehls, die in der entsprechenden Auslegungsphase ausgenutzt
wird, erhalten.
Es ist selbstverständlich, daß in der Rechenanlage gemäß der Erfindung das Wortendbit auch durch
ein anderes Wortendzeichen ersetzt werden kann, z. B. durch ein Spezialzeichen, das zwischen nebeneinanderliegen'den
Wörtern, insbesondere nebeneinanderliegenden Befehlen, gesetzt ist.
Claims (5)
1. Programmgesteuerte elektronische Rechenanlage, die von Befehlen gesteuert wird, die jeweils
Operanden-Adressenangaben enthalten und bei der die für die Rechenoperationen zu. bearbeitenden
Operanden in einem Speicher gespeichert sind und jeweils durch eine aus mehreren
nacheinander und in vorgegebener Reihenfolge auszulesenden Ziffern bestehende Adresse adressiert
werden, dadurch gekennzeichnet, daß der Adressenteil in jedem Befehl die Ziffern
der Adresse des entsprechenden Operanden nur bis einschließlich der letzten Ziffer in der jeweiligen
Ziffernfolge enthält, die sich von der entsprechenden Ziffer in der Adresse des unmittelbar
zuvor adressierten Operanden unterscheidet, und die Adresse des Operanden jeweils durch die
weiteren und übereinstimmenden Ziffern der Adresse des unmittelbar zuvor adressierten Operanden
vervollständigt wird.
2. Rechenanlage nach Anspruch 1, dadurch gekennzeichnet, daß der Adressenteil eines jeden
Befehls den Inhalt eines die Adresse des zuvor adressierten Operanden enthaltenden Hilfs-Adressenregisters
(72) abändert, und daß der somit abgeänderte Inhalt bis zum nächsten Befehl im Hilfs-Adressenregister (72) behalten und
außerdem auf das Adressenregister (W) als Adresse für den dem gegenwärtigen Befehl entsprechenden
Operanden übertragen wird.
3. Rechenanlage nach Anspruch 2, dadurch gekennzeichnet, daß beim Lesen eines der letzten
Befehlsadressenziffer zugeordneten Befehlsendsignals die Ersetzung der entsprechenden Stellen
des Hilfs-Adressenregisters (72) unterbrochen und der Inhalt des Hilfs-Adressenregisters in das
Adressenregister übertragen wird.
4. Rechenanlage nach Anspruch 3, dadurch gekennzeichnet, daß das Befehlsendsignal aus
einem der letzten Befehlsadressenziffer zugeordneten Bit besteht.
5. Rechenanlage nach Anspruch 3, dadurch gekennzeichnet, daß das Befehlsendsignal aus
einem besonderen Zeichen besteht, das der letzten Befehlsadressenziffer folgt.
Hierzu 1 Blatt Zeichnungen
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2350225C2 (de) | ||
DE60132585T2 (de) | Vorrichtung und verfahren zum ausgeben der gruppierung von befehlen in einem vliw-prozessor | |
DE1931966C3 (de) | Datenverarbeitungsanlage mit Assoziativspeichern | |
DE2339636C2 (de) | Einrichtung zur Adressierung eines schreibbaren Mikroprogrammspeichers | |
DE2751097A1 (de) | Triggerschaltungseinheit | |
CH650600A5 (de) | Zentralprozessoreinheit einer datenverarbeitungsanlage mit operationscode-erweiterungsregister. | |
DE2130299A1 (de) | Eingabe/Ausgabe-Kanal fuer Datenverarbeitungsanlagen | |
DE3689389T2 (de) | Datenverarbeitungsprozessor. | |
EP0010186B1 (de) | Vorrichtung zum Bearbeiten bezeichneter Hinweise | |
DE2318069A1 (de) | Rechnersteuersystem unter verwendung von mikroprogrammierung und statisch/dynamischer erweiterung von steuerfunktionen mittels festverdrahteter logischer matrix | |
DE2718110A1 (de) | Datenverarbeitungseinheit | |
DE2164793A1 (de) | Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/ Ausgabe-Einheiten mittels eine Zentraleinheit | |
DE1190706B (de) | In zwei abwechselnden Zyklen arbeitende programmgesteuerte elektronische digitale Rechenmaschine | |
DE2900586C2 (de) | Anordnung zum Decodieren von Codewörtern variabler Länge | |
DE2054941C2 (de) | Anordnung zur Auswahl von Datensätzen | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE2311503A1 (de) | Datenverarbeitungsanlage mit mehreren zentraleinheiten | |
DE2403669C3 (de) | SpezialComputer | |
DE2235883C3 (de) | Datenverarbeitungseinrichtung | |
CH495584A (de) | Datenverarbeitungsanlage | |
DE2233164C3 (de) | Schaltungsanordnung zur Übertragung von aufeinanderfolgenden Bitstellen zwischen zwei Registern | |
DE1424737C (de) | Programmgesteuerte elektronische Rechenanlage mit abgekürzter Datenadressierung | |
DE2057587A1 (de) | Inhaltsadressierter Speicher | |
DE2150292C2 (de) | Mikroprogrammgesteuerte Datenverarbeitungsanlage mit überlagerter Ausführung und Entnahme von Befehlen | |
DE1474090B2 (de) | Datenverarbeitungsanlage |