-
B e s c h r e i b u n g
-
Die vorliegende Erfindung betrifft die Rechentechnik und bezieht
sich insbesondere auf Verarbeitungseinheiten für Daten veränderlicher Länge.
-
Die Erfindung kann beim Aufbau von Prozessoren für Ziffernrechenmaschinen
mit Erfolg eingesetzt werden Zur Zeit besteht eine Tendenz zur Schaffung von universeilen
Rechenmaschinen. Derartige Maschinen müssen eine eine hohe Herstellungstechnologie
gewährleistende regelmäßige Struktur und eine hohe Operationsgeschwindigkeit auSweisen0
In die durch diese Maschinen auszuführende Befehlsliste gehen Befehle zur logischen
Datenverarbeitung und Befehle für dezimale Arithmetik ein, deren Ausführungsspezialität
einer byteweisen Operandenverarbeitung bedarf. Die Entwicklung der modernen Maschinen
ist aber auf die Datenverarbeitung in itoll wörtern ausgerichtete Deshalb sind in
derartigen Rechenmaschinen
Verarbe itungs einheiten für Daten veränderlicher
Länge einzusetzen, die mit Vollwörtern arbeiten.
-
Es ist eine Verarbeitungseinheit für Daten veränderliche: Länge (5.
S.A. Flores "Organisation von Rechenmaschinen", Verlag 11Mir, 19?2, 5. 391, Fig.
10.5.1) bekannt, die eine Steuereinheit, eine mit ihr verbundene Speichereinheit
zur Informationsspeicherung, zwei Informationsaustauschleitungen, deren jede an
einen entsprechenden Informationsein- und -ausgang der Speichereinheit zur Informationsspeicherung
angeschlossen ist, zwei mit der Steuereinheit gekoppelte Umschalter, deren jeder
an eine entsprechende Informationsaustausch~ leitung angeschlossen ist, und eine
mit den beiden Umschaltern, der Steuereinheit und der Speichereinheit zur Informationsspe
icherung verbundene arithestisch-logische Einheit aufweist. Darüber hinaus enthält
die betreffende Einheit zwei Bytewählschalter und einen Schalter zur Unterbringung
des Ergebnisbytes, die mit der Speichereinheit zur Informationsspeicherung gekoppelt
sind.
-
Die Schalter sind notwendig, weil bei der bekannten Einheit ein Halbwortformat
für Ubertragungen üblich ist, während die Operandenverarbeitung byteweise erfolgt.
-
Die byteweise Operandenverarbeitung gliedert aber den bearbeitungsvorgang
in eine große Zahl von nacheinander auszuführenden Zyklen nach der Byte zahl in
den Operanden, was
die Operationsgeschwindigkeit der Einheit verringert.
-
Darüber hinaus zwingt das Halbwortformat für tbertra gungen bei der
bekannten Einheit diese'die Information aus dem Operativspeicher abzuwarten, weil
der Zugriffzyklus für einen Operanden im Operativspeicher cas viermal größer als
der Innenzyklus für die Einheit ist, was deren Schnelligkeit ebenfalls herabsetzt.
-
Zweck der Erfindung ist es auch, die Regelmäßigkeit der Struktur
des Prozessors der Rechenmaschine zu erhöhen.
-
Der Erfindung liegt die Aufgabe zugrunde, eine Verarbeitungseinheit
für Daten veränderlicher Länge zu schaffen, die derartige Zusatzeinheiten aufweist,
die es gestatten, die Informationsverarbeitung und die Binschreibung des Ergebnisses
mit Vollwörtern zu realisieren.
-
Dies wird dadurch erreicht, daß die Verarbeitungsein heit für Daten
veränderlicher Länge, die eine Steuereinheit, eine mit ihr verbundene Speichereinheit
zur Informationsspeicherung, Zwei Informationsaustauschleitungen, deren jede an
einen entsprechenden Informationsein- und -ausgang der Speichereinheit zur Informationsspeioherung
angeschlossen ist, zwei mit der Speichereinheit gekoppelte Umschalter, deren Jeder
an eine entsprechende Informationsaustauschleitung angeschlossen ist, und eine mit
den beiden Umschaltern, der Steuereinheit und der Speichereinheit zur Informationsspeicherung
verbundene arithmetisch-logische Einheit aufweist,
gemäß der Erfindung
zusätzlich über eine Informationsverschiebungseinheit und eine Informationsmaskeneinheit
verfügt, die an die beiden Informationsaustauschleitungen und an die Steuereinheit
angeschlossen sind, wobei die Informationsmaskeneinheit ihrerseits mit den beiden
Umschaltern verbunden ist.
-
Zweckmäßig enthält die Informationsverschiebungseinheit eine Reihenschaltung
aus einer Formierungseinrichtung für Informationsverschiebungsparameter, deren Steuereingang
an die Steuereinheit und deren zwei Informationseingänge je an eine entsprechende
Informationsaustauschleitung angeschlossen ist, einer Steuereinrichtung zur Informationsverschiebung,
deren Steuereingang an die Steuereinheit angeschlossen ist, und einem Informationsverschiebungsregister,
dessen Informationseingänge und jedem Informationseingang entsprechender Informationsausgang
an eine entsprechende Informationsaustauschleitung angeschlossen sind.
-
Es ist sinnvoll, daß die Formierungseinrichtung für Informationsverschiebungsparameter
ein Koderegister zur Informationsverschiebung, einen an dieses angeschlossenen Dechiffrator,
mindestens zwei Koinzidenzschaltungen zur Erarbeitung des Informationsverschiebungswertes
und eine Koinzidenzschaltung zur Erarbeitung der Informationsverschiebungsrichtung
enthält, deren Eingänge an entsprechende Ausgänge des Dechiffrators angeschlossen
sind und Ausgänge einen Mehrkanalausgang
der Formierungseinrichtung
für Informationsverschiebungsparameter bilden.
-
Es ist auch sinnvoll,daß die Steuereinrichtung zur Informationsverschiebung
ein Flip-Flop für die Informationsverschiebungsrichtung, dessen Eingang an die Koinzidenzschaltung
zur Erarbeitung der Informationsverschiebungsrichtung der Formierungseinrichtung
für Informationsverschiebunsparameter angeschlossen ist, Flip-Flops für Informationsverschiebungswerte,
deren Zahl durch die Zahl der Informationsverschiebungswerte bestimmt wird und an
deren einen Eingang je eine UND-Schaltung und deren anderer Eingang an den Ausgang
der jeweiligen Koinzidenzschaltung zur Erarbeitung des Informationsverschiebungswertes
angeschlossen ist, eine mit den FlipFlops für Informationsverschiebungswerte gekoppelte
Prioritätsschaltung und einen Dechiffrator enthält, dessen Informationseingänge
an die Prioritätsschaltung und an das Flip-Flop für die Informationsverschiebungsrichtung,
dessen Steuereingang an die Steuereinheit und an dessen entsprechenden Ausgang ein
weiterer Eingang von jeder UND-Schaltung angeschlossen sind.
-
Vorzugsweise enthalt die Infornationsmaskeneinheit ein Maskenkoderegister,
einen an dieses angeschlossenen De chiffrator und Koinzidenzschaltungen nach der
Informationsbyte zahl, auf die eine Nullmaske aufgelegt wird, deren bin gänge an
entsprechende Ausgänge des Dechiffrators und Ausgänge an einen jeden der Umschalter
angeschlossen sind.
-
Die vorliegende Erfindung gestattet es, die Operanden aufzurufen
und zu verarbeiten und die Ergebnisse mit -follwörter einzuschreiben, was die Zugriffszahl
für den Operativspeicher reduziert Darüber hinaus gestattet es die vorliegende Erfindung,
das laufende Operandc-nwort auf die Verarbeitung vor dem Hintergrund des Aufrufs
des fälligen Operandenwortes vorzubereiten, was gleichfalls die Operationsgeschwindigkeit
der Einheit erhöht.
-
Die Erfindung wird anhand des in der Zeichnung dargestellten Ausführungsheispiels
näher erläutert. Es zeigen: Fig. 1 das Blockschaltbild einer erfindungsgemäßen Verarbeitungseinheit
fir Daten veränderlicher Länge; Fig.2 das Funktionsschaltbild einer erfindungsgemäßen
Formierungseinrichtung für Informationsverschiebungsparameter; ds 3 das Funktionsschaltbild
einer erfindungsgemäßen Steuereinrichtung zur Info rmationsvers chiebung; Fig.4
das Funktionsschaltbild einer erfindungsgemäßen Maskeneinheit; die 5 die gegenseitige
Anordnung zweier Operanden und Fig.6a, einen erfindungsgemäßen Ausgleichsprozeß
für den b, c, d, zweiten Operanden nach er linken Grenze des e, f ersten Operanden.
-
Die Verarbeitungseinheit für Daten veränderlicher Länge enthält eine
Speichereinheit 1 (Fig. 1) zur Informationsspeicherung, an denen Informationseingang
2 und Informationsausgang 3 eine Informationsaustauschleitung 4 und an deren Informationseingang
5 und Informationsausgang 6 eine Informationsaustauschleitung 7 angeschlossen sind.
An die Leitung 4 ist der Eingang 8 eines Umschalters 9 und an die Leitung 7 der
Eingang 10 eines Umschalters 11 angeschlossen. An den Mehrkanaleingang 12 und an
den Eingang 13 des Umschalters 9 und an den Mehrkanaleingang 14 und an den Eingang
15 des Umschalters 11 sind eine Maskeneinheit 16 bzw. eine Stuereinheit 17 angeschlossen.
Die Eingänge 18, 19 einer arithmetisch-logischen Einheit 20 sind an die Umschalter
9 bzw. 11, der Eingang 21 an die Einheit 17 und der Ausgang an den Eingang 22 der
Einheit 1 angeschlossen.
-
Die Eingänge 23 und 24 der Einheit 16 sind an die Leitungen 4 bzw.
7 und der Steuereingang 25 an die Einheit 17 gekoppelt. Die Einheit weist auch eine
Informationsverschiebungseinheit 26 auf, die eine Reihenschaltung aus einer Formierungseinrichtung
27 für Informationsverschiebungsparameter, einer Steuereinrichtung 28 zur Informationsverschiebung
und einem Register 29 zur Informationsverschiebung enthält. Der Steuereingang 30
und die Informationseingänge 31 und 32 der Einrichtung 27' sind an die Einheit 17
und an die Leitungen 4 bzw. 7 angeschlossen. Der Mehrkanalsteuereingang 33 der Einrichtung
28
ist an die Einheitl7angeschlossen.Die Informationsein gänge 34 und 35 und die Informationseingänge36
und 37 des Registers 29 sind an die Leitungen 4 bzw. 7 angeschlossen Der Steuereingang
28 der Einheit 1 ist mit der Einheit 17 verbunden, Die Einheit weist auch Eingänge
39 und 40 und Ausgänge 41 und 42 uf, die an die Leitungen 4 bzw. 7 angeschlossen
sind.
-
Die Formierungseinrichtung 27 (Fig .2) für Informationsverschiebungsparameter
enthält ein KodWregister 43 zur Informationsverschiebung, an das ein Dechiffrator
44 angeschlossen ist. Die Eingänge 45 und 46 und der Steuereingang 47 des kegisters
43 bilden die Eingänge 31, 32 bzw. 30 der Einrichtung 27. An die Ausgänge des Dechiffrators
44 sind Eingänge 48 einer Koinzidenzschaltung 49 zur Erarbeitung der Informationsverschiebungsrichtung
und Eingänge 50 und 51 von Koinzidenzschaltungen 52 und 53 zur Erarbeitung des Informationsverschiebungswertes
angeschlossen. Die Ausgänge 54, 559 56 der jeweiligen Schaltungen 49, 52 bzw.53
bilden einen Mehrkanalausgang der Einrichtung27 (Fig. 1).
-
Die Steuereinrichtung 28 (Fig.3) zur Informationsverschiebung enthält
Flip-Flops 57 für Informationsverschiebungs werte nach der Zahl der Informationsverschiebungswerte,
deren Eingänge 58 mit den Ausgängen 55, 56 der Schaltungen 52 bzw.
-
53 der Einrichtung 27 gekoppelt sind. An die Eingänge 59 der Flip-Flops
57 sind UND-Schaltungen 60 angeschlossen. Die Eingänge 61 von uND-Schaltungen 60
sind an die Einheit 17 angeschlossen. Mit den Flip-Flops 57 (Fig 7) ist eine Prioritätsschaltung
62 über ihre Eingänge 63 verbunden. Die Einrichtung 28 enthält weiter einen Dechiffrator
64, dessen Eingänge G5 an die Prioritätsschaltung 62, dessen Steuereingang 66 an
die Einheit 17 und an dessen Eingang 67 ein Flip-Flop 68 für die Informationsverschiebungsrichtung
angeschlossen ist, dessen Eingang 69 mit dem Ausgang 54 der Schaltung 49 der Einrichtung
27 gekoppelt ist. Die Eingänge 70 der Schaltung 60 sind an die Ausgänge 71 des Dechiffrators
64 angeschlossen, dessen Ausgänge 72 tinen Mehrkanalausgang der Einrichtung 28 bilden.
-
Die Informationsmaskeneinheit 16 (Fig. 4) enthält ein Maskenkoderegister
73, an das ein Dechlffrator 74 angschlossen ist.
-
Die Eingänge 75, 76 und der Steuereingang 77 des Registers 73 stellen
die jeweiligen Eingänge 23, 24, 25 der Einheit 16 dar. An die Ausgänge des Dechiffrators
74 sind die Eingänge 78, 79, 80 und 81 von Koinzidenzschaltungen 82, 83, 84 bzw.
85 angeschlossen. Die Ausgänge 86, 87, 88, 89 der Schaltungen 82, 83, 84 bzw. 85
sind an die Nehrkanaleingange 12 und 14 (Fig. 1) der Schalter 9 bzw. 11 angeschlossen.
-
Fig. 5 zeigt die gegenseitige Anordnung eines ersten Operanden 90
und eines zweiten Operanden 91, die in der Speicher einheit 1 zur Informationsspeicherung
gespeichert werden. Das erste Wort des zweiten Operanden 91 (Fig. 5) enthält Bytes
92, 93, 94, 95, wobei die Bytes 92, 93, 94nicht zu dem zu verarbeitenden Operanden
91 gehören; das Byte 95 gehört zu diesem Operanden 91. Das zweite Wort des zweiten
Operanden 91 enthält Bytes 96, 97, 98, 99. Die drei letzten Wörter des zweiten Operanden
enthalten Bytes 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111. Das
vorletzte ort dieses Operanden 91 enthält Bytes 104, 105, 106, 107 und dessen letzten
Wort enthält Bytes 108, 109, 110, 111. Hierbei gehört das Byte 108 zu dem zu verarbeitenden
Operanden 91 und die Bytes 109, 110, 111 gehören nicht zu diesem Operanden.
-
Das restliche brt enthält Bytes 100, 101, 102, 103. Das erste \ort
des ersten Operanden 90 enthält Bytes 112, 113, 114, 115, wobei das Byte 112 nicht
zu dem zu verarbeitenden Operanden 90 gehört, während die Bytes 113, 114, 115 zu
diesem Operanden 90 gehören. Das zweite Wort des ersten Uperanden 9° enthält Bytes
116, 117, 118 und 119, während das vorletzte und das letzte ort dieses Operanden
90 Bytes 120, 121, 122 und 1-) bzw. 124, 125, 126 und 127 enthalten. Hierbei gehören
die Bytes 124, 125 und 126 im letzten Wort zum ersten Operanden 90 und Qas Byte
127 nicht.
-
Das Datenfeld des zweiten Operanden 91 enthält Bytes, beginnend mit
dem ersten den Bytekode 11 aufweisenden Feldbyte 95 bis zum letzten Feldbyte 108
den Bytekode "00" einschließlich. Das Datenfeld des ersten Operanden 90 enthält
Bytes, beginnend mit dem ersten den Byte 113 aufweisenden Bytekode "01" bis zum
letzten Byte 126, den Bytekode "0" einschließlich.
-
Die erarbeitungseinheit für Daten veränderlicher Länge arbeitet erfindungsgemäß
wie folgt.
-
Bekanntlich tritt als adressierbare Informationseinheit im Operativspeicher
einer Ziffernrechenmaschine ein Byte -eine Bitgruppe mit einem Prüfbit - auf, Ein
Wort des Operativspeichers enthält vier Bytes, wobei das Datenfeld bei einem beliebigen
Byte an den \iortgrenzen beginnen und enden kann. Beim Zugriff zu den Operanden
kann die Information aus dem Operativspeicher mit ganzen Wörtern geholt werden,
und, falls der Operand innerhalb eines Wortes beginnt oder endet, gelangen in die
Verarbeitungseinheit sowohl die in den zu verarbeitenden Operanden eingehenden Bytes
als auch die dem zu verarbeitenden Operanden nicht gehörenden Bytes.
-
Das Datenfeld wLrd durch die Adresse des ersten Bytes des Feldes
und dessen Länge (Byteanzahl im Feld) oder durch die Adresse des ersten und des
letzten Bytes des Feldes bestimmt. Bei einer beliebigen Adressiermethode ist der
Be griff Byteädresse" unumgänglich. Die Byteadresse setzt sich
aus
der Adresse des Wortes des Operativspeichers und aus der Byteposition innerhalb
des Wortes (Bytekode) zusammen und wird durch den Ausdruck: A=3+ C bestimmt, wobei
A- Byteadresse B- Wortadresse C- Bytekode bedeuten.
-
Beim Zugriff zum Operativspeicher für ein Wort wird der Bytekode
normalerweise nicht beachtet.
-
Der Bytekode kann einen Zahlenwert "00", 01", "10" und "11" (im Binärsystem)
annehmen, wodurch jeweils das erste, zweite, dritte und vierte Byte im Wort definiert
wird.
-
Vor der rarbeitung von Operanden variabler Länge in Vollwörtern müssen
die Operanden derart angeordnet werden, daß die entsprechenden Bytes gleichnamige
Positionen im Wort einnehmen, d.h, die Operanden müssen ausgeglichen werden.
-
Die meisten Befehle der modernen Ziffernrechenmaschinen geben nur
die Adressen der Ausgangsoperanden an, wodurch die Schreibadresse des Ergebnisses
indirekt bestimmt wird.
-
In der Regel muß das Ergebnis nach der Adresse des ersten Operanden
eingeschrieben werden, nämlich nach der rarbeitung seinen Platz im Operativspeicher
einnehmen. Deshalb wird üblicherweise der zweite Operand nach dem ersten ausgerichtet,
damit
sich das Resultat automatisch in der Position befindet, in der es in den Operativspeicher
eingeschrieben werden muß, Der Ausgleich kann durch Rechtsverschiebung sämtlicher
Bytes des zweiten Operanden erfolgen, bis die Position des äußeren rechten Bytes
des zweiten Operanden mit der Position des äußeren rechten Bytes des ersten Operanden
zusammengefallen ist Der Verschiebungswert wird durch die Differenz der Bytekodes
und die Verschiebungsrichtung durch deren gegenseitige Anordnung bestimmt Zur Bestimmung
der Verschiebungsgröße und -richtung werden die Adressen der rechten Bytes 108 und
126 (Fig. 5) der Operanden 90 bzw. 91 aus der Speichereinheit 1 (Fig. 1) zur Informationsspeicherung
auf die Informationsaustauschleitungen 4, 7 aufgerufen. Die Eingänge 31, 32 der
Formierungseinrichtung 27 für Verschiebungsparameter der Informationsverschiebungseinheit
26 sind an die Drähte der Austauschleitungen 4, 7 angeschlossen, wohin die Kodes
der Bytes 126 und 108 (Fig. 5) bei der Übertragung der Adressen der Operanden 90
bzw 91 über die Austauschleitungen 4 und 7 (Fig. 1) kommen. Auf ein von der Steuereinheit
17 am Steuereingang 30 eintreffendes Signal formiert die Einrichtung 27 und überträgt
in die Steuereinrichtung 28 zur Informationsverschiebung Informationsverschiebungswerte,
die die Verschiebungsgröße und -richtung gemäß Tabelle 1 bestimmen.
-
Tabelle 1 Verschiebungskode Informationsverschiebungsparameter Bytekode
auf der Bytekode auf der Verschiebungs- Verschle-Austauschleitung 7 Austauschleitung
4 größe bungsrich tung 1 2 3 4 00 oo 0 90 ol 8 nach rechts 00 10 16 nach rechts
00 11 24 nach rechts 01 00 8 nach links ol 01 0 ol 10 8 nach rechts 01 11 16 nach
rechts 10 00 16 nach links 10 Ol 8 nach links 10 10 0 10 11 8 nach rechts 11 00
24 nach links 11 ol 16 nach links 11 10 8 nach links 11 11 0 Zum ausgleich des zweiten
Operanden 91 (Fig. 5) nach der rechten Grenze des ersten Operanden 90 ist es erforderlich,
den zweiten Operanden 91 um sechzehn Bits (um zwei
Bytes) nach
rechts zu verschieben. Zu diesem Zweck werden nacH dem Kode "00" des Bytes 108 und
nach dem Kode "10" des Bytes 126 ein Verschiebungskode "0010" und gemäß Tabelle
1 entsprechende Informationsverschiebungsparameter formiert.
-
Beim Ausgleich werden die Wörter des zweiten Operanden 91 nacheinander
aus dem Operativspeicher aufgerufen und über einen der Eingänge 39, 40 (Fig. 1)
der Einheit und über die Austauschleitungen 4, 7 in die Speichereinheit 1 eingeschrieben.
Das aus dem Operativspeicher erhaltene fällige Wort wird samt dem im vorhergehenden
Takt erhaltenen und in der Speichereinheit 1 aufbewahrten ort auf die Austauschleitungen
4 und 7 aufgerufen. Auf ein von der Steuereinheit 17 am Steuereingang 38 der Speichereinheit
1 ankommendes Signal erfolgen die Einschreibung und der Aufruf der Information auf
die Austauschleitungen 4 7 über die Eingangs 2, 5 bzw.
-
die Ausgänge 3, 6.
-
Das letzte ort (Bytes 108, 109, 110, 111 (Fig. 5)) des zweiten Operanden
91 wird aus der Speichereinheit 1 tFig. 1) auf die Austauschleitung 7, das vorletzte
ort (By tes 104, 105, 106, 107 (Fig. 5))desselben Operanden 91 aus dem Operativspeicher
auf die Austauschleitung 4 (Fig. 1) aufgerufen. Die gemeinsame Anordnung dieser
Wörter auf den Austauschleitungen 4, 7 ist in Fig. 6a dargestellt. Von den Leitungen
4, 7 (Fig. 1) gelangen diese zwei Wörter in das Register 29.
-
Entsprechend den Verschiebungsparametern erarbeitet die Einrichtung
28 (Fig.1)auf ein von der Einheit 17 an dessen Steuereingang 33 eintreffendes Signal
Steuersignale, die für die Arbeit des Registers 29 zur Informationsverschiebung
erforderlich sind. Die zwei die Bytes 104, 105, 106, 107, 108, 109, 110, 111 (Fig.
6a) enthaltenden Wörter des zweiten Operanden 91 werden um IG Stellen nach links
verschoben, wobei die Bytes 110, 111 über die Grenzen des Stellengitters des Registers
29 (Fig. 1) hinaustreten. Infolgedessen bleiber im Register 29 die Bytes 104, 105,
106, 107, 108, 109, und von links werden zwei (in Fig. 6b dargestellte) Nullen enthaltende
Bytes 128, 129 eingeschoben. Das letzte verschobene Wort (die in Fig. 6c dargestellten
bytes 106, 107, 108, 109) wird über den Ausgang 37 (Fig. 1) des Registers 29 und
über die Austauschleitung 7 in die Speichereinheit 1 eingeschrieben. analog kann
das zweite verschobene Wort (Bytes 104, 105, 128, 129) (Fig. 6b), falls erforderlich,
über den Ausgang 36 (Fig. 1) und die Austauschleitung 4 in die Speichereinheit 1
eingtschrieben werden.
-
Nun befinden sich die zu verarbeitenden Bytes 106, 107, 108 (Fig.
6c) des letzten Wortes des zweiten Operanden 91 (Fig. 5) in der gleichnamigen Position
mit den entsprechenden Bytes 124 125, 126 des letzten Wortes des ersten Operan den
90. Gleichzeitig erfolgt ein Zugriff zum nächstfolgenden
dritten
Wort (Bytes 100, 101, 102 103) des zweiten Operanden das zusammen mit dem vorletzten
Wort (Bytes 104, 105, 106, 107) auf die Austauschleitungen 4, 7 (Fig. 1) aufgerufen
und in der Weise angeordnet wird, wie dies in Fig. 6d wiedergegeben ist. Die beiden
Wörter werden auf dem Register 29 (Fig. 1) derart verschoben, daß die in Fig. 6e
dargestellten Bytes 102, 1037 104, 105 (die in Fig. 6e dargestellten Bytes 130 und
131 werden nicht in Betracht gezogen) des zweiten wortes des zweiten Operanden 91
(Fig. 5) in die gleichnamigen Positionen mit den entsprechenden Bytes 120, 121,
122, 123 des vorletzten Wortes des ersten Operanden 90 gestellt werden, worauf das
vorletzte verschobene Wort (die in Fig. 6f dargestellten Bytes 102, 103, 104, 105)
in die Speichereinheit 1 (Fig. 1) eingeschrieben wird.
-
Dieser Prozeß wird so lange fortgesetzt, bis das gesamte Feld des
zweiten Operanden 91 (Fig. 5) aus dem Operativspeicher geholt, nach dem ersten Operanden
90 ausgerichtet und in der Speichereinheit 1 (lig. 1) untergebracht worden ist.
Paßt der Operand 91 (Fig. 5) nicht in die Speichereinheit 1 (Fig.1) hinein, so kann
er teilweise ausgeglichen werden. Nach dem ausgleich des zweiten Operanden 91 (Fig.
5) beginnt ein wortweiser Auszug des ersten Operanden 90 aus dem Operativspeicher
der Ziffernrechenmaschine. Aus dem Operativspeicher wird das erste ort (Bytes 124,
125, 126, 127) (Fig. 5) des ersten Operanden 90 über einen der Singänge
39,
40 (S . 1) der Einheit auf eine der Austauschleitungen 4, 7 (Fig. 1), beispielsweise
auf die Leitung 4, aufgerufen. Dann wird auf die Austauschleitung 7 aus der Einheit
1 ein ihm entsprechendes ort (Bytes 106, 107, 108, 109 (Fig. 6c))des zeiten Operanden
91 (Fig. 5) aufgerufen0 Durch die Steuereinheit 17 (fig. 1) wird über den Eingang
21 für die aritbmetisch-logische Einheit 20 die Funktionsart für die Illformtionverarbeitung
vorgegeben. Die Wörter (bytes 124, 125, 126, 127 (Fig. 5) und Bytes 106, 107, 108,
109 (Fig. 6c)) der Operanden 90 bzw. 91 (Fig. 5) gelangen von den Austauschleitungen
4 und 7 (kig. 1) über die Umschalter 9 und 11 auf die Eingänge 18 und 19 der eine
entsprechende Informationsverarbeitung übernehmenden Einheit 20. Das Rechenergebnis
wird über den Eingang 22 in die Einheit 1 eingeschrieben.
-
Damit an den Umformungen keine zu den vorliegenden Operanden 90 und
91 (Fig. 5) nicht gehörende Information (Bytes 112 und 127 bzw. Bytes 94 (Fig. 5,
6c) und 109 (Fig.
-
5, 6))teilnimmt, die aus dem Operativspeicher zusammen mit der zu
den vorliegenden Operanden 90 und 91 gehörenden Information (Bytes 113, 114, 115
und 124, 125, 126 bzw. Bytes 95, 96, 97 (Fig. 5, 6c) und 108 (Fig. 5))ausgezogen
worden ist, wird auf die von den Leitungen 4 und 7 (Fig. 1) an den Umschaltern 9
bzw. 11 über deren Eingänge 12 und 14 eintreffende
Information
durch die Informationsmaskeneinheit 16 eine Bytemaskeaufgelegt. Die Erzeugung der
Bytemaske wird durch die Einheit 16 in Abhängigkeit von den von den Austauschleitungen
4 und 7 an den Eingängen 23 und 24 der Einheit 16 auf ein Signal der Steuereinheit
17 ankommenden Bytekodes übernommen.
-
Die Maskenarten sind in Tabelle 2 aufgeführt. Wie aus der Tabelle
ersichtlich, werden vier Maskenklassen angewendet.
-
Die Maskenklasse wird durch einen entsprechenden Kode auf der Leitung
7 vorgegeben. Die Maskenart innerhalb der Klasse wird durch den Bytekode auf der
Leitung 4 bestimmt.
-
Tabelle 2 Maskenkode Maskenart (Sedezimalwert) Maskenklasse Bytekodesauf
auf der Aus- der Austauschs tauschleitung 7 leitung 4 oo 00 FF FF FF PF 00 01 00
PF PF FF 00 10 00 00 FF FF 00 11 00 00 00 PF ol 00 FF 00 00 00 ol ol FF FF 00 00
01 10 FF FF FF OO 01 11 FF FF FF FF 10 00 00 00 00 OO 10 Ol FF OO 00 00
10
10 PF FF 00 00 10 11 FF FF FF 00 11 00 FF FF FF FF 11 01 FF FF FF FF 11 10 FF FF
FF FF 11 11 FF FF FF FF Die Maske der Klasse "00" ist zum Loswerden der zum betreffenden
Operanden 91 (90) (Fig. 5) nicht gehörenden Information links (in der Zeichnungsebene)
von dem zu verarbeitenden Feld dieses Operanden 91 (90) vorgesehen. Die Maskenart
wird durch den Kode des äußeren linken Bytes 95 (113) des Operanden 91 (90) bestimmt.
-
Die Maske der Klasse "01" ist zum Loswerden der zum betreffenden
Operanden 91 (90) nicht gehörenden, (in der Zeichnungsebene) rechts von dem zu verarbeitenden
Feld dieses Operanden 91 (90) befindlichen Information vorgesehen. Die Maskenart
wird durch den Kode des äußeren rechten Bytes 108 (126) des Operanden 91 (90) bestimmt.
-
Die Maske der Klasse 10" wird benutzt, wenn zwei Operanden 91 (90)
ungleicher Länge nach ihren (in der Zeichnungsebene) rechten Grenzen ausgeglichen
sind. Mit Hilfe der Maske wird der linke Teil des einen Operanden 91 (90) abgetrennt,
der über die linke Grenze des anderen Operanden 91 (90) hinausgeht. Der abgetrennte
Teil des Operander:
91 (90) wird dann auf den Stellenwert analysiert.
Die Maskenart wird durch den Kode des äußeren linken Bytes 95 (113) des kürzeren
Operanden 91 (90) bestimmt.
-
Die Maske der Klasse "11" sorgt für die Ausführung des Befehls in
einem Normalzyklus. Die Möglichkeiten der Bytemaskierung bleiben nicht auf die angeführten
Beispiele beschränkt. Zur Vereinfachung wird hier auf die Anwendung der Masken der
Klasse "00" und "01" eingegangen.
-
Bei der Übertragung der Adresse des Operanden 91 (90) zum Operativspeicher
über die Leitung 4 (Fig. 1) gelangt der Kode des encsprechenden Bytes 95 (113) oder
108 (118) (Fig. 5) in die Einheit 16 (Fig. 1) über den Eingang 23. Zur selben Zeit
wird auf die Leitung 7 der Kode der Maskenklasse aufgerufen, der über den Eingang
24 in die Einheit 16 kommt. Auf ein von der Uteuereinheit 17 in die Einheit 16 über
den Steuereingang 25 gelangendes Signal wird die Bytemaske erarbeitet, die anschließend
an den Eingängen 12 und 14 der Umschalter 9 bzw. 11 eintrifft. Die Aufbringung einer
Maske auf die über die Austauschleitungen 4 und 7 zu übertragende Information erfolgt.auf
Signale von der Steuereinheit; 17. diese an den Steuereingängen 13 und 15 der Umschalter
9 bzw. 11 ankommenden Signale werden zu dem Zeitpunkt der Übertragung in die arithmetisch-logische
Einheit 20 von äußeren Wörtern (bytes 94, 95, 96, 97 (Fig. 6c) und
113,
114, 115, 116 (kig. 5) bzw. Byten 106, 107, 108, 109 und 124 125, 126, 127)der Operanden
91, 90 erzeugt.
-
Die vom Operativspeicher der Zifferurechenmaschine angekommene, nicht
zu den betreffenden Operanden 90, 91 gehörende Information beteiligt sich also nicht
an der Verarbeitung.
-
Die Formierungseinrichtung 27 (Fig. 2) für Verschiebungsparameter
arbeitet gemäß der'Erfindung wie folgt.
-
Beim Zugriff zum Operativspeicher der Liffernrechenmaschine für das
Holen der Operanden 90, 91 (Fig. 5) werden deren Adressen aus der Speichereinheit
1 (Fig. 1) auf die Austauschleitungen 4, 7 aufgerufen0 Hierbei gelangten die Adressen
der äußeren Bytes 95 und 113 oder 108 und 126 (Fig.
-
5) der Operanden 91 bzw. 90 von den Austauschleitungen 4, 7 (Fig.
1) über die Eingänge 45 und 46 (Fig. 2) auf das Koderegister 43 zur Informationsverschiebung.
Das Register 43 formiert entsprechend dem Bytekode beim Anliegen eines Signals von
der Steuereinheit 17 (Fig.1) am Steuereingang 47 einen vierstelligen Verschiebungskode.
Der Verschiebungskode gelangt auf den Dechiffrator 44 (Fig. 2).Die Signale treffen
vom Ausgang des Dechiffrators 44 an den Eingängen 48, 50, 51 der Koinzidenzschaltungen
49, 52, 53 ein. Die Koinzidenzschaltung 49 sammelt die Bedingungen für die Verschiebungsrichtung
und erzeugt am Ausgang 54 ein Verschiebungssignal rechtslinks. Die Koinzidenzschaltungen
52, 53 erzeugen Signale, die
dem Informationsverschiebungswert
entsprechen. Beim Ausglei chen der Operanden 91 (90) (Fig. 5) ist einer von ihnen
um Null, acht, sechzehn, oder vierundzwanzig Stellen zu verschieben. Das Ausbleiben
eines Signals an den Ausgängen 55, 56 der beiden Schaltungen 52, 53 entspricht einer
Verschiebung um null Stellen, das orliegen eines Signals am Ausgang der einen von
ihnen entspricht einer Verschiebung um acht Stellen, das Vorliegen eines Signals
am Ausgang der anderen - einer Verschiebung um sechzehn Stellen, Signale am Ausgang
der beiden Schaltungen 52, 53 entsprechen einer Verschiebung um vierundzwanzig Stellen
Die Verschiebungsgröße und -richtung wird gemäß Tabelle 1 bezüglich des einen der
Operanden 90 (91) (Fig. 5) errechnet, dessen adresse auf die Leitung 4 (Fig. 1)
aufgerufen wird Hierbei wird die Adresse des auszugleichenden Operanden 91 (90)
(Fig. 5) auf die Austauschshciene 7 (Fig. 1) aufgerufen.
-
Beispielsweise wird beim Ausgleichen nach dem ersten Operanden 90
(Fig. 5) seine Adresse auf die Leitung 4 (Fig. 1) und die Adresse des zweiten Operanden
91 (Fig. 5) auf die Leitung 7 (Fig. 1) aufgerufen. Beim Ausgleichen nach den rechten
Grenzen werden den Leitungen 4, 7 die Adressen der äußeren rechten Bytes 108, 118
(Fig. 5), beim Ausgleichen nach den linken Grenzen die Adressen der äußeren linken
Bytes 95 und 113 der Operanden 91 bzw. 90 zugeführt.
-
Die Steuereinrichtung 28 (Fig. 3) zur Informationsverschiebung arbeitet
gemäß der Erfindung wie folgt.
-
Ein der Informationsverschiebungsrichtung entsprechen des Signal
gelangt auf den Eingang 69 des Flip-Flops 68 für die Informationsverschiebungsrichtung
und wird durch dieses eingespeichert. Die den Informationsverschiebungswerten entsprechenden
Signale kommen an den Eingängen 58 der Plip-Flops 57 für Informationsvershciebungswerte
an und werden darin gespeichert. Die Zahl der Flip-Flops 57 ist gleich der Zahl
der einzuspeichernden Verschiebungswerte. Es ist zu betonen, daß in diese Zahl auch
Verschiebungen einbezogen werden, deren Größe nicht mit den Werten null,acht, sechzehn,
vierundzwanzig (beispielsweise die Verschiebungen um eine,zwei,vier usw.
-
Stellen) zusammenfällt,weil die vorliegende Verschiebungseinrichtung
28 nicht nur auf die Verarbeitung von Daten variabler Länge, sondern auch auf die
anderen Verarbeitungsarten ausgerichtet ist. Von den Flip-Flops 57 gelangen die
eingespeicherten Verschiebungswerte auf die Eingänge 63 der Prioritätsschaltung
62, die die Verschiebungswerte gemäß der ihnen zugeordneten Priorität bearbeitet
Beim Vorhandensein eines eine höhere Rangstufe aufweisenden Verschiebungswertes
werden die rschiebungswerte niedriger gangstufe nicht aufgenommen. Von der Prioritätsschaltung
62 gelangt der gemäß der Rangfolge augenblicklich zu bearbeitende Verschiebungswert
auf einen der Eingänge 65 des Dechiffrators 64. Nach der Bearbeitung des nächstfolgenden
Verschiebungswertes wird am entsprechenden Ausgang 71 des Dechiffrators 64 ein Signal
erzeugt, das am Eingang 70 der UND-Schaltung
60 ankommt. Auf ein
von der Steuereinheit 17 (Fig.1) am Eingang 61 (Fig. 3) der UND-Schaltung 60 eintreffendes
Signal wird ein Rückstellsignal erarbeitet, das auf den Eingang 59 des Plip-Plops
57 auftrifft, das den eben bearbeiteten Verschiebungswert speichert, und es zurücksetzt.
Dadurch bietet sich die Möglichkeit, den nach der Rangfolge nächsten Verschiebungswert
zu bearbeiten. In Übereinstimmung mit den durch die Flip-Flops 57 eingespeicherten
Verschiebungswerten und mit der durch das Flip-Flop 68 eingespeicherten Verschie
bungsrichtung, die am Eingang 67 des Dechiffrators 64 auf von der Einheit 17 am
Steuereingang 66 des Dechiffrators 64 ankommende Signale eintrifft, erarbeitet der
letztere an seinen Ausgängen 72 eine Folge von Steuersignalen für das Register 29
(Fig. 1) zur Informationsverschiebung.
-
Die Informationsmaskeneinheit 16 (Fig. 4) arbeitet gemäß der Erfindung
folgendermaßen: Bei der Ubertragung der Adressen der äußeren Wörter (Bytes 92, 93,
94, 95 und 108, 109, 110, 111 (Fig. 5) bzw.
-
Bytes 112, 113 114, 115 und 124, 125, 126, 1273 der Operanden 91 und
90 wird auf die Leitung 4 (Fig. 1) die Maskenklasse und auf die Leitung 7 die Adresse
des aufzurufenden Wortes (Bytes 92, 93, 94, 95 und 108, 109 110, 111 (tig. 5) sowie
Bytes 112, 113, 114, 115 und 124, 125, 126, 127) geholt. Der Maskenkode gelangt
über den Eingang 23 (Fig. 1) und der Kode des äußeren Bytes 95 (108, 113, 126) (Fig.
5) über
den Eingang 24 (Fig. 1) der Einheit 16 auf die Eingänge
75 bzw. 76 (Fig. 4) des Maskenkoderegisters 73. Auf ein am Steuereingang 77 des
Registers 73 eintreffendes Signal wird der Maskenkode in das letztere übernommen.
Vom Register 73 kommt der Maskenkode am Dechiffrator 74 an. An dessen Ausgängen
werden Signale erarbeitet, die an den Eingängen 78, 79, 80 und 81 der jeweiligen
Koinzidenzschaltungen 82, 83, 84 und 85 eintreffen. An den entsprechenden Ausgängen
86, 87, 88 und 89 der letztgenannten wird eine Maske erforderlicher Art gemäß Tabelle
2 erzeugt, die auf die über die Leitungen 4 und 7 (Fig. 1) zu übertragende Information
aufgelegt wird.
-
Die vorliegende Erfindung erhöht die Fertigungsgerecht heit und senkt
die Kosten des Prozessors der Ziffernrechenmaschine, zu dem die Einheit gehört,
durch Erhöhung dcr Regelmäßigkeit der Struktur des Prozessors, weil die Einheit
gemäß der Erfindung auf die für die Informationsverarbeitung in Vollwörtern ausgelegte
Struktur des Prozessors abgestimmt ist.
-
Darüber hinaus gestattet es die vorliegende Erfindung, die in die
Einheit eingehenden Blöcke gemäß der Erfindung für andere Verarbeitungsarten mit
Vollwörtern auszunutzen.
-
L e e r s e i t e