-
Digitalrechner verarbeiten oft Gesamtheiten von Daten, deren Einzelheiten
sich in bezug auf die Zahl der verwendeten Ziffern bzw. der alphabetischen Zifferbezeichnungen
wesentlich voneinander unterscheiden. In solchen Fällen vermindert sich bei Rechenmaschinen
mit fester Wortlänge entweder die Ausnutzung des Speichers (wenn z. B. auch Zweidekadenangaben
einzeln auf je ein Wort des Digitalrechners entfallen, welches z. B. zwölf Dekaden
aufweist), oder es kompliziert sich das Programm und verlängert sich die. Dauer
der Ausrechnung (wenn einige kürzere Angaben in ein einziges Wort ein= gelegt werden,
aus welchem dann bei der Verarbeitung jede einzelne Angabe herausgegliedert werden
muß, was stets mehrere Instruktionen des Programms erforderlich macht). Diese Mängel
beseitigt man durch die Einführung von Digitalrechnern mit veränderlicher Wortlänge.
Bei diesen Rechenmaschinen sind jedoch in der Regel sowohl die Wahlstromkreise des
Speichers als auch der Steuer- und arithmetische Aufwand sowie auch die Programmbildung
komplizierter als bei Digitalrechnern mit fester Wortlänge.
-
Es ist eine Editionseinrichtung bekannt, mit deren Hilfe die Ziffern
eines gespeicherten Wortes unter Berücksichtigung aller Redigierinstruktionen (z.
B. Druck eines Dezimalpunktes, Tabulation usw.) auf einer elektrischen Schreibmaschine
oder einem Schnelldrucker ausgedruckt werden. Zu diesem Zweck wird ein erster Umlaufspeicher
für das zu druckende Wort, ein zweiter Umlaufspeicher für Markierungsimpulse und
ein dritter Umlaufspeicher für die Redigierinstruktionen verwendet. Die Ziffern
des Wortes werden hierbei in unveränderter Reihenfolge, jedoch unter Berücksichtigung
von Dezimalpunkten, Zwischenräumen und unter Fortfall bedeutungsloser Nullen bis
zum vorgeschriebenen Ende des Druckvorganges ausgedruckt.
-
Der Erfindung liegt die Aufgabe zugrunde, einen Digitalrechner anzugeben,
bei dem die obenerwähnten Mängel der Rechenmaschine mit fester Wortlänge bzw. der
Rechenmaschine mit variabler Wortlänge auf einfache Weise beseitigt werden können.
-
Diese Aufgabe wird erfindungsgemäß dadurch gelöst, daß zwischen dem
Speicher und dem Rechenwerk eine Modifikationseinrichtung eingeschaltet ist, die
ein Verschieberegister, zumindest ein Maskierungsregister und einen Steuerkreis
enthält, welche bewirken, daß aus Worten fester Länge, die durch das Verschieberegister
hindurchgehen, nur ein Teil entnommen und/oder eine Verschiebung eines Teils der
Ordnung nach bewirkt wird, wobei die Wähl und auch die Verschiebung durch ein im
Maskierungsregister eingelegtes und bei der Operation aus diesem Register in den
Steuerkreis eingeführtes Maskierungswort bestimmt ist.
-
Bei dieser Rechenmaschine nimmt eine sogenanute Maske an der Steuerung
der Operationen teil. Dies ist ein in der Rechenmaschine benutztes Wort (bzw. eine
Ziffer), das in das sogenannte Maskierungsregister eingelegt ist. Die Maske beeinflußt
den Eintritt des Wortes in ,die Operation bzw. auch seinen Austritt derartig, daß
an dieser Operation nur jene Teile des Wortes teilnehmen, die durch die Maske bezeichnet
werden. Außerdem macht es die Maske möglich, auch die Verschiebung der entsprechenden,
an der Operation teilnehmenden Wortteile ihrer Ordnung nach zu steuern. Die eigentlichen
Vorgänge der Operationen und die Dauer ihres Verweilens in der Rechenmaschine werden
vonde@._Maskierung in der Regel nicht beeinflußt. - --- - -- - - -Eine beispielsweise
Ausführung des Digitalrechners gemäß der Erfindung ist in der Zeichnung dargestellt.
Es zeigt F i g. 1 ein Blockschema des Ausführungsbeispiels, F i g. 2 Einzelheiten
des Ausführungsbeispiels. Zwischen den Speicher 9 und das Rechenwerk 8 eines Digitalrechners
ist eine Modifikationseinrichtung 10 geschaltet, wobei zum Speicher 9 die Leitung
90 und zum Rechenwerk 8 die Leitungen 5 und 6 führen. Die Einrichtung enthält die
folgenden Hauptteile: Ein Verschieberegister 1, einen Steuerkreis 2 und ein Maskierungsregister
3.
-
Das Verschieberegister 1 besteht aus Elementen 12/1... 12/K...
12/M und aus einem Verschiebestromkreis 11. Die einzelnen Elemente bilden Speicher
für die einzelnen Ziffern des Wortes. Die Zahl M der Elemente ist gleich der Zahl
der Ziffern in dem Wortdes Digitalrechners, in welchem die erfindungsgemäße Einrichtung
verwendet wird. Der Verschiebestromkreis 11 ist an eine Betätigungsleitung 21 angeschlossen.
Das Signal dieser Leitung bewirkt, daß der Inhalt des Verschieberegisters um eine
Stelle nach links verschoben wird, d. h., daß die in die einzelnen Elemente 12/1...
12/M eingelegten Ziffern in die links benachbarten Elemente verschoben werden. Das
Verschieberegister 1 ist ferner mit einer Eingangsleitung 600, die in das Element
12/M, das der Ordnung nach der höchsten Ziffer des Wortes entspricht, eingeführt
ist, und ferner mit einer Ausgangsleitung 104 versehen, die aus dem Element 12/1
herausgeführt ist, das der Ordnung nach der niedrigsten Ziffer jenes Wortes entspricht,
das im gegebenen Augenblick im Register 1 festgehalten ist. Das Verschieberegister
1 kann auch mit einer weiteren Ausgangsleitung 103 versehen sein, die aus einem
der mittleren Elemente, z. B. aus 12/K, herausführt. Durch die Ausgangsleitungen
103, 104 treten Signale aus, welche diejenigen Ziffern betreffen, die in den Elementen
12/K, 12/1, aus denen diese Leitungen herausführen, eingelagert sind. Durch die
Eingangsleitung 600 kann man in das Element 12/M eine Ziffer in jenem Augenblick
einlegen, in dem mittels des Signals der Leitung 21 die Verschiebung des
Inhalts des Registers 1 vorgenommen wird. Die Austrittsleitungen 103, 104 führen
über zwei Torschaltungen 53, 54 in einen Ausgangs-Additionskreis 50, an dessen drittem
Eingang durch eine andere Leitung 102 über eine dritte Torschaltung 52 ein Nullgenerator
51 angeschlossen ist. Der Ausgang 5 des Ausgangs-Additionskreises 50 führt in eine
Operationseinheit (Rechenwerk) 8 des Digitalrechners, in welchem die erfindungsgemäße
Einrichtung benutzt wird. Die Eintrittsleitung 600 des Verschieberegisters 1 ist
an einen Eingangs-Additionskreis 60 angeschlossen, von dessen Eingängen einer durch
eine Leitung 601 über eine Torschaltung 63 an einem zweiten Nullgenerator 61 angeschlossen
ist, während der zweite Eingang 6 über eine Torschaltung 62 an das Rechenwerk 8
des Digitalrechners angeschlossen ist. Es ist zu bemerken, daß die Additionskreise
50, 60 an ihren Ausgangsleitungen 5, 600 Signale erzeugen, die die logische Summe
der Signale an den Eingangsleitungen 102,103,104 bzw. 6, 601 bilden.
-
Den Steuerkreis 2 verbindet eine Leitung 32 mit dem Ausgang des Maskierungsregisters
3 und eine Leitung 4 mit dem Rechenwerk 8 des Rechners. Mittdls
seiner
Steuerleitungen 252, 253, 254, 262, 263 steuert der Steuerkreis 2 die Durchgangsmöglichkeit
der Torschaltungen 52, 53, 54, 62, 63 an den Eingängen der beiden Additionskreise
50,60. Der Steuerkreis 2 bewirkt die Verschiebung des Inhalts des Verschieberegisters
1 durch Signale mittels der Betätigungsleitung 21.
-
Die Wirkungsweise der in der Zeichnung dargestellten Einrichtung beruht
darauf, daß der ,durch ein Signal über die Leitung 4 in Tätigkeit gesetzte Steuerkreis
2 die Durchlässigkeit der Torschaltungen 52, 53, 54, 62, 63 sowie auch die Verschiebung
des Inhalts des Registers 1 gemäß den einzelnen Ziffern der Maske steuert, die stufenweise
durch eine Leitung 32 aus dem Maskierungsregister 3 austreten. Ein Beispiel dafür,
wie die Funktionen des Steuerkreises 2 den verschiedenen Ziffern der Maske bei drei
Maskierungsarten zugeordnet werden, gibt die nachstehende Tafel. In den einzelnen
Spalten der Tafel ist folgendes angeführt: die Maskierungsart, die Ziffern der Maske,
,das Signal auf der Leitung 21, das die Verschiebung im Verschieberegister 1 bewirkt,
die Durchgangsmöglichkeiten der Torschaltungen 52, 53, 54, 62 und 63. Die in der
Tafel enthaltenen Maskierungsarten sind: direkte Maskierung von rechts - Bezeichnung
r -, ergänzende Maskierung von rechts - Bezeichnung r -, Maskierung von links -
Bezeichnung 1. Die Wahl der Maskierungsart ist gegeben durch das Signal in der Leitung
4. Bei den einzelnen Arten der Maskierung ist es erlaubt, in der Maske nur diejenigen
Ziffern zu verwenden, die im entsprechenden Teil der Tafel angeführt sind. In der
Durchgängigkeitsspalte bedeutet »z« eine geschlossene Torschaltung und »o« eine
offene, durchgängige Torschaltung.
Maskierungs- Masken- Verschiebung Durchgängigkeiten |
art ziffern im der Tore |
Register 52 53 54 62 63 |
r 0 ja Z Z o Z z |
3 ja Z o Z Z Z |
4 nein Z Z o Z Z |
5 nein Z o Z Z Z |
7 nein o Z Z Z Z |
9 ja o Z z Z Z |
P 0 ja O Z Z Z Z |
3 ja o z Z Z z |
4 ja o z Z Z Z |
5 ja o Z Z Z z |
7 ja Z z o Z Z |
9 ja Z z o Z Z |
l 0 ja Z z Z o Z |
5 nein Z Z z Z Z |
9 ja Z z z Z z |
Das direkte Maskieren von rechts kann für Instruktionen der Digitalrechenmaschine
dienen, bei denen ein Wort dem Speicher entnommen wird und damit Operationen im
Rechenwerk vorgenommen werden. Zum Beispiel nimmt die Instruktion »Addiere das dem
Speicher mit der Adresse n entnommene Wort zum Inhalt des Akkumulators im Rechenwerk«,
die mit dem Zeichen »Maskierung r« versehen ist, den folgenden Verlauf: Das Wort
wird zunächst aus dem Speicher mit der Adresse n in das Verschieberegister 1 übertragen
(die zu verwendenden Stromkreise sind in F i g. 1 nicht eingezeichnet). Sodann werden
durch die Leitung 32 stufenweise aus dem Maskierungsregister 3 die einzelnen Ziffern
der Maske in den Steuerkreis 2 eingegeben (beginnend mit der Ziffer der niedrigsten
Ordnung), worauf der Steuer.. kreis 2 gemäß diesen Ziffern die Einrichtung entsprechend
der Tafel in Tätigkeit bringt. Wenn beispielsweise die Maske aus lauter Nullen zusammengesetzt
ist, bleibt die Torschaltung 54 ständig offen. Zugleich mit jedem Austritt einer
Ziffer der Maske erfolgt eine Verschiebung um eine Stelle im Register 1, so daß
die ganze Zahl aus dem Register 1 ohne jede Änderung durch die Leitung 5 stufenweise
der Operation unterworfen wird. Diese Zahl wird dann zum Inhalt des Akkumulators
im Rechenwerk 8 hinzugezählt, wie dies die betreffende Instruktion vorschreibt.
Wenn aber beispielsweise an einigen Stellen der Maske statt der Null eine Neun stehen
sollte, dann wird der Steuerkreis 2 derart tätig, daß an den entsprechenden Stellen
der aus dem Speicher ins Register 1 übernommenen Zahl die ursprünglichen Ziffern
dieser Zahl unterdrückt und durch Nullen ersetzt werden, wie dies im nachstehenden
Beispiel veranschaulicht ist. In diesem sowie in allen weiteren Beispielen wird
vorausgesetzt, daß M = 12, K = 7.
-
Beispiel ,einer direkten Maskierung:
Aus dem Speicher in das Regi- |
ster 1 übernommene Zahl . . 780 326 273 105 |
Die Maske.................. 999 999 000 999 |
Nach dem Maskieren der Ope- |
ration unterworfene Zahl . . 000 000 273 000 |
Wenn in der Maske eine Zahl auftritt, welche das Fortfallen der Verschiebung im
Register 1 bewirkt, so hat dies die Verschiebung der maskierten Zahl nach links
der Ordnung nach zur Folge, also ihre Multiplikation mit 10. Die Verwendung der
Torschaltung 53 bewirkt die Verschiebung aller derjenigen Ziffern einer Zahl nach
rechts, deren Ordnung gleich oder größer als K ist. Alle angeführten Möglichkeiten
können miteinander kombiniert werden, in Übereinstimmung mit der Tafel, wie aus
den nachstehenden Beispielen hervorgeht: Beispiel einer direkten Maskierung mit
Verschiebung nach links:
Aus dem Speicher in das Regi- |
ster 1 übernommene Zahl . . 555 248 720 461 |
Maske ..................... 999 999 000 779 |
Nach dem Maskieren der Ope- |
ration unterworfene Zahl .. 000 000 046 000 |
Beispiel einer direkten Maskierung mit Verschiebung nach rechts:
Aus dem Speicher in das Regi- |
ster 1 übernommene Zahl . . 780 326 273 105 |
Maske ..................... 999 999 333 799 |
Nach dem Maskieren der Ope- |
ration unterworfene Zahl .. 000 000 032 000 |
Beispiel eines Zerstreuens der Ziffern durch direkte Maskierung
mit Verschiebung nach links:
Aus dem Speicher in das Regi- |
ster 1 übernommene Zahl .. 346 789 876 543 |
Maske ..................... 707 070 707 070 |
Nach dem Maskieren der Ope- |
ration unterworfene Zahl . . 080 706 050 403 |
Die ergänzende Maskierung von rechts ermöglicht in Verbindung mit der direkten Maskierung
die Bildung von Operationen, mit deren Hilfe man das Ergebnis z. B. aus dem Akkumulator
des Rechenwerks des Digitalrechners in einen bestimmten, durch die Maske definierten
Teil des Wortes so im. Speicher einlagern kann, daß der Rest dieses Wortes im Speicher
aufbewahrt bleibt. Man ersieht den Vorgang der Operation und die Funktion der Maskierungsvorrichtung
bei dieser Operation aus den folgenden Beispielen: Beispiel einer ergänzenden Maskierung
von rechts in Verbindung mit einer direkten Maskierung von rechts mit Verschiebung
nach links:
Die aus dem Speicher in das |
Register 1 hinübergelesene Zahl 123 432 155 427 |
Maske ..................... 777 777 000 777 |
Ergebnis nach erfolgter Mas- |
kierung r (es tritt durch die |
Leitung5 in das Rechenwerk |
und wird dort im Hilfsregister |
hinterlegt = A ............ 123 423 000 427 |
Der Inhalt des Akkumulators |
wird aus dem Rechenwerk in |
das Register 1 übertragen .. 000 000 000 876 |
Ergebnis nach erfolgter Mas- |
kierung r (tritt durch die Lei- |
tung 5 in das Rechenwerk |
und wird dort zu A hinzu- |
gezählt) .................. 000 000 876 000 |
Resultierende, für die Rück- |
einlagerung in die Speicher- |
einheit vorbereitete Zahl ... 123 432 876 427 |
Beispiel einer ergänzenden Maskierung von rechts in Verbindung mit einer direkten
Maskierung von rechts und Verschiebung nach rechts:
Die aus dem Speicher in das |
RegisterlübernommeneZahl 123 453 654 321 |
Maske ..................... 777 777 -333 777 |
Ergebnis A nach erfolgter Mas- |
kierung Y . . . . . . . . . . . . . . . . 123 456 000 321 |
Der Inhalt des Akkumulators |
aus dem Rechenwerk in das |
Register 1 übertragen ...... 000 989 000 000 |
Ergebnis nach erfolgter Mas- |
kierung r . . . . . . . . . . . . . . . . . 000 000 989 000 |
Resultierende, für die Rück- |
einlagerung in den Speicher |
vorbereitete Zahl ..... . . 123 456 989 321 |
Das Maskieren von links dient z. B. zur Bildung einer Operation, mit deren Hilfe
man ausgewählte Ziffern der aus dem Speicher herausgelesenen Zahl gruppieren, die
anderen Ziffern unterdrücken und das Ergebnis zum Inhalt des Rechenwerkakkumulators
hinzuaddieren kann. Der Verlauf einer solchen Operation ist aus dem nachfolgenden
Beispiel ersichtlich:
Die aus dem Speicher gelesene |
und in das Hilfsregister im |
RechenwerkübertrageneZahl 132 435 465 768 |
Maske ..................... 050 505 050 505 |
Inhalt des Registers 1 vor der |
Maskierung .............. 000 000 000 000 |
Ergebnis der Maskierung von |
links der aus dem Hilfsregi- |
ster durch dieLeitung 6 in das |
Register 1 eingeführten Zahl 123 456 000 0 |
Inhalt des Akkumulators. vor |
der Addition ............. 111 111 245 765 |
Inhalt des Akkumulators nach |
der Operation............. 234 567 246 765 |
In. allen beschriebenen Beispielen wird der Steuerkreis 2 für eine bestimmte Art
der Maskierung durch Signale auf der Leitung 4 in Tätigkeit gesetzt. Diese Signale
werden im Steuerwerk des Digitalrechners hervorgerufen, der mit einer Maskierung
angerüstet ist.
-
Die zugehörigen Stromkreise sind in der F i g. 2 nicht eingezeichnet.
Wie aus den vorstehenden Beispielen ersichtlich, wird die Maskierung auf zwei Arten
ausgeführt. Sie dient vor allem der Modifikation bestehender Operationen des Digitalrechners.
In den für die Hervorbringung dieser Operationen bestimmten Instruktionen wird ein
bestimmter Platz für das schon früher erwähnte »Maskierungszeichen« reserviert.
Dieses Maskierungszeichen wird dann durch das Steuerwerk interpretiert, und auf
dieser Grundlage wird das Signal in der Leitung 4 gebildet. Im zweiten Falle wird
die Maskierung zur Bildung neuer Operationen des Digitalrechners verwendet. Für
diese werden dann in der Regel selbständige Operations-Verschlüsselungen reserviert,
und die entsprechenden Signale auf der Leitung 4 werden durch das Steuerwerk in
übereinstimmung mit dem Verlauf dieser Operationen gebildet.
-
Der Digitalrechner muß Operationen ausführen können, die es ihm ermöglichen,
in das Maskierungsregister 3 Masken einzulegen, z. B. dem Speicher entnommene Worte.
-
In der bisherigen Beschreibung wurde vorausgesetzt, daß an der Maskierung
nur ein Maskierungsregister 3 teilnimmt. Man kann aber die in F i g. 2 dargestellte
Einrichtung dadurch abändern, daß man in die Leitung 32 einen Umschaltkreis 7 einlegt,
an dessen Ausgänge 71, 72 weitere Maskierungsregister 31, 33 angeschlossen werden.
In diesem Falle bestimmt das Maskierungszeichen in der Instruktion nicht nur, daß
die Operation durch eine Maskierung modifiziert werden soll, sondern auch, welches
Maskierungsregister benutzt werden soll. Diese Bestimmungsfunktion bleibt dann dem
Maskierungszeichen auch in den neuen, mit einem selbständigen Operationscode ausgestatteten
Operationen erhalten.
Des weiteren ist zu bemerken, daß einige der
in F i g. 2 dargestellten Teile, insbesondere das Verschieberegister 1 und das Maskierungsregister
3 (bzw. die Maskierungsregister 31, 33), im Digitalrechner nicht selbständig ausgebildet
sein müssen, sondern daß ihre Funktionen von ähnlichen Einrichtungen übernommen
werden können, die im Digitalrechner für andere Zwecke bereits vorgesehen sind.
So kann insbesondere als Verschieberegister 1 das Speicherregister dienen, das im
Digitalrechner zur Verbindung mit dem Operationsspeicher dient. In ähnlicher Weise
kann man für die Funktion der Maskierungsregister auch sogenannte Indexregister
benutzen, die in Digitalrechnern zu Adressenmodifikationen dienen.