DE1474581A1 - Schiebe- und Rotierschaltung fuer eine Datenverarbeitungsanlage - Google Patents

Schiebe- und Rotierschaltung fuer eine Datenverarbeitungsanlage

Info

Publication number
DE1474581A1
DE1474581A1 DE19651474581 DE1474581A DE1474581A1 DE 1474581 A1 DE1474581 A1 DE 1474581A1 DE 19651474581 DE19651474581 DE 19651474581 DE 1474581 A DE1474581 A DE 1474581A DE 1474581 A1 DE1474581 A1 DE 1474581A1
Authority
DE
Germany
Prior art keywords
gates
bits
vertical
shift
paths
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.)
Granted
Application number
DE19651474581
Other languages
English (en)
Other versions
DE1474581B2 (de
DE1474581C3 (de
Inventor
David Muir
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AT&T Corp
Original Assignee
Western Electric Co Inc
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
Priority claimed from US420566A external-priority patent/US3374463A/en
Application filed by Western Electric Co Inc filed Critical Western Electric Co Inc
Publication of DE1474581A1 publication Critical patent/DE1474581A1/de
Publication of DE1474581B2 publication Critical patent/DE1474581B2/de
Application granted granted Critical
Publication of DE1474581C3 publication Critical patent/DE1474581C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • G06F5/015Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising having at least two separately controlled shifting levels, e.g. using shifting matrices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C19/00Digital stores in which the information is moved stepwise, e.g. shift registers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Image Processing (AREA)
  • Complex Calculations (AREA)

Description

Western Electric Company D. Muir III "5
Incorporated
New York, N.Y. 10007 USA
Schiebe- und Rotierachaltung für eine Datenverarbeitungsanlage
Die Erfindung betrifft eine Schiebe- und Rotierschaltung zum Verschieben und Kotieren der Bit in den Stufen eines Registers mit einer Anordnung zum Rotieren der Bit im Register in einer ersten Richtung.
In vielen Datenverarbeitungsanlagen müssen Datenworte verschoben und rotiert werden. Bei bekannten Datenverarbeitungsanlagen wird ein l/ort zunächst in eines der Register der Anlage eingegeben. Dann wird das Wort nach links oder Rechte verschoben oder rotiert. In der folgenden Beschreibung wird der Ausdruok "verschieben" in seinem allgemeinen Sinn verwendet, umfaßt also die Rotier-Operation. Trotzdem unterscheidet sich die Versohiebe-Operation von einer Rotier-Operation. Wenn die Bit eines Datenwortes bei einer Rotier-Operation an einem Ende des Registers herausgeschoben werden, werden sie am anderen Ende des Registers wieder eingesetzt. Wenn dagegen das Wort verschoben und nicht rotiert werden soll, werden die aus dem Register herausgeschobenen Bit am anderen Ende nicht wieder eingesetzt. Stattdessen werden O-Werte in die Stufen an diesem Ende des Registers eingeschrieben. Da das Datenwort nach rechts oder links versohoben oder rotiert werden kann, sind vier verschiedene Operationen möglioh. Sie Größe der Versohiebung muß in jedem Falle angegeben sein.
Bei bekannten Schiebe- und Rotiereohaltungen ist es allgemein erforderlich gewesen, eine erste Anordnung zum Rotieren eines Datenwortes naoh reohts und eine zweite Anordnung zum Rotieren eines Datenwortes naoh links vorzusehen. Verschiebungen in beiden
909839/1U9
Richtungen werden durch eine Sperrung der an einem Ende des Registers herausgeschobenen Bit durchgeführt. Die Schaltung für Rotationen nach links ist üblicherweise identisch mit der Schaltung für Rotationen nach rechts mit der Ausnahme, daß die verschiedenen Verbindungen in entgegengesetzter Richtung vorgenommen sind. Bisher war man der Meinung, daß eine einseitig gerichtete Rotierschaltung nicht zur Durchführung von Verschiebungen und Rotationen in beiden Richtungen benutzt werden könnte.
Eine einseitig gerichtete Rotierschaltung kann zur Durchführung von Schiebe-Operationen in der i.etriebsrichtung benutzt werden, indem das Wiedereinfügen der an einem Ende des Registers herausgesohobenen Bit am anderen Ende gesperrt oder verhindert wird. Die gleiche Schaltung kann auch zur Durchführung einer Rotation in der anderen Richtung benutzt werden, wenn das Komplement der Eingangsschiebegröße mit Bezug auf die Stufenzahl gebildet und zur Steuerung einer Rotation in der Betriebsrichtung verwendet wird. Da man jedoch der Meinung war, daß einseitig gerichtete Rotierschaltungen nicht zur Durchführung von Schiebe-Operationen in der anderen Richtung benutzt werden können, mußten bei bekannten Datenverarbeitungsanlagen Schaltungen vorgesehen sein, die in beiden Richtungen arbeiten.
Die erfindungsgemäße Lösung dieser Aufgabe sieht vor, daü eine mit den Stufen des Registers verbundene Schaltung zur Durchführung einer Schiebe-Operation in der anderen Richtung das Einschreiben von O-Jerten in diejenigen Stufen steuert, die nach Beendigung einer Rotations-Operation im anderen Falle Bit enthalten, die nioht an einem Ende des Registers herausgeschoben und am anderen Ende wieder eingefügt worden sind.
Eine solche Anordnung bietet den Vorteil, daß Schiebe- und Rotations-Operationen in beiden Richtungen mit Hilfe einer einseitig gerichteten Rotierschaltung durchgeführt werden können.
909839/1U9
Ein besseres Verständnis der Erfindung ergibt sich aus der folgenden Beschreibung anhand der Zeichnungen. Es zeigen:
Fig. 1 die grundsätzliche Arbeitsweise einer Schiebe-
und Rotierschaltung für eine Datenverarbeitungsanlage, bei der die Datenworte 16 Bit lang sind;
Fig.2 die grundsätzliche Arbeitsweise einer Schiebe- und Rotierschaltung als Ausführungsbeispiel der Erfindung für eine Datenverarbeitungsanlage, bei der die Datenworte 20 Bit lang sind;
Fig. 3A die Einzelheiten eines in Fig. 8B symbolisch dargestellten Ausführungsbeispiels für ein Gatter, das in dem Blockschaltbild der Figuren 4-11 verwendet werden kann, und Fig. 8C die Operation des Gatters für verschiedene Eingangsbedingungen}
Fig. 4-11 das erfindungsgemäße Ausführungsbeispiel einer Schiebe- und Rotierschaltung zur Verwendung in Verbindung mit einem 20-stufigen Register;
Fig. 12 die Zuordnung der Figuren 4-11»
In dem Ausführungsbeispiel der Erfindung wird eine einseitig gerichtete Rotierschaltung in Verbindung mit dem Register benutzt. In der Anlage, in Verbindung mit welcher die Erfindung erläutert wird, können die Bit in dem Register bei jedem einzelnen Schritt um 1, 2, 4» ö oder 16 Positionen verschoben werden. Demgemäß ist beispielsweise eine Gruppe von Gatterwegen vorgesehen, die von jeder Stufe zu der um 4 Positionen weiter rechts gelegenen Stufe führt, und wenn alle diese Gatterwege zusammen betätigt werden, wird das gesamte Datenwort in einem einzigen Schritt um 4 Positionen nach rechts rotiert. Die anderen 4 Gruppen von Gatterwegen steuern die Rotation des Datenwortes um 1, 2, 8 und 16 Positionen nach rechte. In dieser Anlage sind also statt nur eine Gruppe von Gattern zur Verschiebung der Daten-Bit um eine Position vorzusehen, zusätzlich vier Gruppen von Gattern angeordnet. Die Schaltung ist zwar komplizierter, aber eine Schiebe- oder Rotier-Operation läßt sich sehr schnell durchführen. Beispielsweise kann
909839/1U9
eine Rotation um 19 Positionen nach rechts in nur drei Schritten dadurch erzielt werden, daß nacheinander die drei Gruppen von Gattern betätigt werden, die die Verschiebung von Bit um 1, 2 und 16 Positionen steuern.
Eine solche Anlage gibt zwar die Möglichkeit, ein Datenwort schnell zu verschieben oder zu rotieren, aber bisher hätte man die vier Gruppen von Gattern, die Schiebe- und Rotations-Operationen nach rechts steuern, verdoppeln müssen, um Schiebe- und Rotations-Operationen nach links zu steuern. Bei dem Ausführungsbeispiel der Erfindung sind dagegen die verdoppelten Gatter in der Links-Richtung nicht erforderlich, da die Schaltungen für eine Rotation nach rechts benutzt werden können, um alle vier Arten von Schiebe-Operationen durchzuführen. Es sind fünf Gruppen von Gattern vorgesehen, und die Gatter in jeder Gruppe steuern jeweils Verschiebungen nach rechts um 1, 2, 4t 8 und 16 Positionen. Statt die fünf Gruppen von Gattern zur Steuerung von Operationen in der Links-Richtung zu verdoppeln, ist eine einzige Gruppe von Gattern vorgesehen, von denen jeweils eine an jede Stufe angeschaltet ist. Jedes Gatter steuert das Einschreiben einer 0 in die entsprechende Stufe. Durch eine Betätigung der aeohsten Gruppe von Gattern zusammen mit den ursprünglichen fünf Gruppen können Verschiebungen nach links durchgeführt werden.
Wenn Schaltungen für eine Rotation nach rechts vorgesehen sind, lassen sich Verschiebungen naoh reohts leicht durchführen. Ee ist nur erforderlich, das Wiedereintreten von auf der rechten Seite des Registers herausgeschobenen Bit in die linke Seite zu sperren. Auch Rotationen nach links lassen sieh durchführen, indem zunächst das Komplement der Schiebegröße mit Bezug auf die Zahl der Registerstufen gebildet und dann das Datenwort nach rechts rotiert wird. Wenn beispielsweise das Datenwort in einem 20-stufigen Register um 7 Positionen nach links rotiert werden soll, läßt sich die Rotation naoh links durchführen, indem das Datenwort um 13 Positionen nach reohts rotiert wird. Bisher war
909839/1149
man jedoch der Leinung, daß Schaltungen für eine Rotation nach rechts nicht zur Durchführung von Verschiebungen nach links benutzt werden könnten. Auch wenn das Komplement der Schiebegröße mit Bezug auf die Stufenzahl im Register gebildet und das Wort dann naoh reohts rotiert wird, sind die Bit, die gegebenenfalls im Register verbleiben müssen, diejenigen, die auf der rechten Seite aus dem Register herausgeschoben werden. Folglich darf der Wiedereintritt dieser Bit auf der linken Seite des Registers nicht gesperrt sein. Sie zu löschenden Bit sind diejenigen, die das Register niemals verlassen haben. Es sei beispielsweise eine Verschiebung nach links um vier Positionen in einem sechs-stufigen Register betrachtet. Dazu sei angenommen, daß das Register zu Anfang ein Datenwort mit 6 Bit enthält, das durch die folgende Reihe dargestellt wirdi 6 5 4 3 2 1. Wenn das Komplement der Schiebegröße (nach links), 4t mit Bezug auf die Stufenzahl, 6, gebildet wird, ist die sich ergebende Schiebegröße 2. Wenn die Bit dann um zwei Positionen naoh reohts rotiert werden, enthält das Register die folgende Reihe« 2 16 5 4 3· Wenn aber das ursprüngliche Wort im Register um vier Positionen nach links zu verschieben ist, lautet das Wort, das am Schluß im Register erscheinen soll, 2 1 0 0 0 0, wobei eine 0 das Lösohen eines Bit. angibt. Es zeigt sich also, daß, wenn zunäohst das Komplement der Schiebegröße mit Bezug auf die Stufenzahl gebildet, und die Bit dann nach reohts um eine Zahl von Stufen rotiert werden, die gleich dem Komplement ist, die Bit, die im Register verbleiben müssen, diejenigen sind, die auf der rechten Seite herausgeschoben und auf der linken Seite wieder eingefügt wurden, und die zu löschenden Bit diejenigen sind, die auf der reohten Seite des Registers nicht herausgeschoben worden sind. Im Gegensatz zu den Verschiebungen naoh reohts scheint also keine einfaohe Sperranordnung zur Durchführung von Verschiebungen naoh links zur Verfügung zu stehen.
Bei dem Ausführungsbeispiel der Erfindung werden Verschiebungen naoh links unter Verwendung der Schaltung für Rotationen naoh reohts duroh Lösohen derjenigen Bit im Register durchgeführt,
909839/1149
die die rechte Seite des Registers nicht verlassen. Mit Vorteil können diese Bit während des Schiebevorgangs gelöscht werden, und zwar wird ein Bit dann gelöscht, wenn feststeht, daß es die rechte Seite des Registers bei Beendigung der Verschiebe-Operation auf keinen Pail verlassen wird. Mit anderen Worten, es können O-Werte in einige Stufen des Registers sogar vor Beendigung der Verechiebe-Operation eingeschrieben werden, wenn feststeht, daß die Bit in diesen Stufen nicht aus dem Register herausgeschoben werden können. Dieses Verfahren läßt sich sowohl bei herkömmlichen Sohiebe- und Rotierschaltungen anwenden, bei denen die Bit jeweils nur um eine Position verschoben werden können, als auch bei Schiebe- und Rotierschaltungen, bei denen die Verschiebung auf einen Schlag erfolgt. In beiden Fällen lassen sich einseitig gerichtete Rotierschaltungen zur Durchführung von Verschiebe- und Rotations-Operationen in beiden Richtungen verwenden.
Grundsätzliche Arbeitsweise einer Schiebe- und Rotierschaltung
für 16 Bit (Fig.1)
In Fig. 1 ist eine Matrix-Anordnung von ve». Knoten gezeigt, die 16 Spalten und 5 Zeilen enthält. Jeder Knoten stellt eine Stufe des Registers dar, und alle Stufen sind wenigstens 5 ^aI gezeigt. Die Knoten in jeder Spalte bedeuten die gleiche Registerstufe. Jeder Knoten ist mit einer Zahl und einem Buchstaben bezeichnet. Beispielsweise liegt der Knoten TD in der Spalte 7 und der Zeile D und stellt die Stufe 7 dea Registers dar. Die Knoten 7A, 7B, 7C und 7E stellen ebenfalls die Stufe 1 des Registers dar. Alle Knoten rechts von der Linie L-L tragen die gleichen Bezeichnungen wie die entsprechenden Knoten auf der linken Seite der Linie L-L, so daß jede Stufe nur einmal in jeder Zeile dargestellt ist.
Eine vertikale oder diagonale Linie zwischen zwei beliebigen Knoten stellt einen Übertragungsweg dar. Der Bit-Wert an jedem
909839/1149
knoten, d.h., in jeder Stufe, wird entweder üoer den Vertikalweg zu dem knoten in der nächsten Zeile der gleichen Spalte oder über einen Diagonalweg zu einem Knoten in der nächsten Zeile übertragen, der weiter rechts liegt. Betrachtet man beispielsweise die knoten in der Zeile C, so können die Bit in den Registerstufen unverändert bleiben oder zu Stufen verschoben werden, die um vier Positionen weiter rechts liegen. Das im einzelnen weiter unten beschriebene System enthält eine einzige Gruppe von "Vertikal"-Gattern, von denen jedes nur das erneute Einschreiben eines Bit im Register in die gleiche Stufe steuert. Das System enthält außerdem vier Gruppen von "Diagonal"-Gattern, die das Verschieben der Bit in Schritten von 1, 2, 4 und 8 Positionen ™ steuern. Zur Durchführung einer Rotation nach rechts sind vier Schritte erforderlich. Während des ersten Schrittes ist entweder die Gruppe von Vertikalgattern betätigt, oder die erste Gruppe von Diagonalgattern, die benachbarte Stufen verbinden. Wenn die Vertikalgatter betätigt sind, wird das Datenwort im Register nicht verändert. Wenn die Diagonalgatter betätigt sind, wird das Datenwort um eine Position nach rechts verschoben. Während dieses ersten Schrittes werden die Übertragungswege betrachtet, die von den Ilnoten in der Zeile A der Fig. 1 ausgehen. Wenn die Vertikalwege benutzt werden, bleiben die Bit im Register unverändert, da sie in die gleichen Stufen des Registers wieder eingeschrieben werden, d.h., die Bit werden zu gleichbezifferten Knoten in der Λ Zeile B übertragen. Wenn die Diagonalwege benutzt werden, werden die Bit im Register alle um eine Position nach rechts versohoben.
Während des zweiten Schrittes sind entweder alle Vertikalgatter betätigt, oder alle Diagonalgatter, die die Übertragung von Bit von jeder Stufe zu der um zwei Positionen weiter rechts liegenden Stufe steuern, (in diesem Zusammenhang sei darauf hingewiesen, daJi die Stufe zwei Positionen rechts von der Stufe 0 die Stufe ist, und daß die Stufe zwei Positionen rechts von der Stufe 1 die Stufe 15 ist.) Wenn die Vertikalgatter betätigt sind, wird das Wort im Register nicht verändert. Das ergibt sich aus einer
909839/1U9
Prüfung der Fig. 1, da die Bit an jedem Knoten in der Zeile B naoh unten zu dem gleichbezifferten Knoten in der Zeile C übertragen werden, d.h., die Bit in jeder Registerstufe werden einfaoh nur in die gleiche Stufe wieder eingeschrieben. Wenn andererseits während des zweiten Schrittes die Diagonalwege benutzt werden, wird jedes Bit im Register um zwei Positionen naoh rechts rotiert. Da beispielsweise der Knoten 1OB über einen Diagonalweg mit dem Knoten 8C verbunden ist, wird das Bit in der Stufe 10 des Registers zur Stufe 8 verschoben. Entsprechend wird das Bit in der Stufe 0 zur Stufe 14 verschoben usw.
Beim dritten Verfahrensschritt sind entweder alle Vertikalgatter betätigt, oder alle Diagonalgatter, die entsprechende Stufen mit vier Positionen weiter rechts liegenden Stufen verbinden. Wenn die Vertikalgatter betätigt sind, wird das gesamte Datenwort einfach nur erneut in das Register eingeschrieben. Wenn die Diagonalgatter betätigt sind, wird das Datenwort um vier Positionen nach rechts rotiert. Wiederum sind entweder alle Vertikalgatter oder alle Gatter einer Gruppe von Diagonalgettern betätigt. Gemäß Fig. 1 werden die Bit an den Knoten in der Zeile C entweder direkt nach unten zu den Knoten in der Zeile D oder nach rechts zu den Knoten in der Zeile D übertragen. Entsprechendes gilt für den vierten Verfahrenssohritt, bei dem wiederum alle Vertikalgatter oder alle Gatter in der vierten Gruppe von Diagonalgattern betätigt sind. Im ersten Fall wird das Datenwort einfach nur erneut in das Register eingeschrieben. Im zweiten Fall wird das Datenwort in einem einzigen Schritt um acht Positionen naoh rechts vereohoben. Es muß daran erinnert werden, daß die tatsächlich durchgeführte Operation aus dem Einsohreiben von Bit in das Register besteht, statt daß die Bit von einer Gruppe von Knoten zu einer anderen verschoben werden. Das ist auoh in Fig. 1 gezeigt, wenn man daran denkt, daß die Knoten in allen fünf Zeilen die Stufen des gleichen Registers darstellen. Die Knoten-Darstellung gemäß Fig. 1 ist jedooh nützlich, weil sie eine anachauliohe Darstellung der verschiedenen Gesamtversohiebungen vermittelt.
909839/1149
Das Ausführungsbeispiel der Erfindung ist ein System mit 20 Bit, dessen Sehaltschema in Fig. 2 dargestellt ist. Bevor jedoch dieses verhältnismäßig komplizierte Schema analysiert wird, muß das einfachere Schema gemäß Fig. 1 verstanden werden. Die Verwirklichung eines Systems mit 16 Bit, die auf dem Schaltplan gemäß Fig. 1 beruht, ist der Verwirklichung des Systems mit 20 Bit gemäß dem Schaltplan nach Fig. 2 ähnlich. Es sei zunächst eine Rotation naoh rechte in einem System mit 16 Bit betraohtet. Die angegebene Schiebegröße betrage 11 Positionen. Da die Wahl von Diagonalschritten zur Durchführung einer Verschiebung um 11 Positionen auf die Sohritte 1, 2, 4 und 8 beschränkt ist, sind die Diagonalschritte 1, 2 und 8 erforderlioh. Es sei beispielsweise das Bit betrachtet, das sich zu Anfang in der Stufe ^ befindet. Während des ereten Betriebssohrittes werden alle Diagonalwege zwisohen den Knoten in der Zeile A und den Knoten in der Zeile B benutzt. Das Bit am Knoten 7A wird also zum Knoten 6B übertragen, d.h., das Bit in der Stufe 7 des Registers wird zur Stufe 6 verschoben. Während des zweiten Betriebssohrittes werden die Diagonalwege zwischen den Knoten in der Zeile B und den Knoten in der Zeile C statt der Vertikalwege benutzt. Das Bit am Knoten 65 wird also zum Knoten 4C übertragen, d.h., das Bit in der Stufe 6 wird über ein entsprechendes Diagonalgatter zur Stufe 4 gegeben. Während des dritten Betriebssohrittes werden alle Vertikalwege awisohen den Knoten in der Zeile C und den Knoten in der Zeile D benutzt· Folglich wird das betraohtete Bit, das sioh jetzt am Knoten 4C befindet, naoh unten zum Knoten 4D übertragen. Während dieses Betriebssohrittes sind alle 16 Vertikalgatter des Systems betätigt, und das Bit in der Stufe 4 des Registers wird «infaoh nur neu in diese Stufe eingeschrieben. Während des vierten Betriebesohrittes werden alle Diagonalweg· zwischen den Knoten in der Zeile D und den Knoten in der Zeile E statt der Vertikalwege benutzt. Folglioh wird das betraohtete Bit am Knoten 4D sub Knoten 12E übertragen, d.h., das Bit, das sioh ursprünglich in der Stufe 7 befand und jetzt in der Stufe 4 ist, wird über das Diagonalgatter awisohen der Stufe 4 und der Stufe 12 zur Stuft 12 übertragen. Naoh Durohführung der Tier Schritt· der Folge ersoheint also das Bit, das
909839/1149
ursprünglich in der Stufe 7 war, in der Stufe 12, d.h., das Bit ist wie verlangt, um 11 Positionen nach rechts rotiert worden.
Verschiebungen nach reohts lassen sich leicht durch eine Sperrung aller durch die Diagonal-Übertragungswege dargestellten Diagonalgatter erreichen, welche die Linie L-L kreuzen. Es sei daran erinnert, daß "bei einer Verschiebung nach rechts die auf der rechten Seite aus dem Register herausgeschobenen Bit auf der linken Seite des Registers nioht wieder eingefügt werden dürfen. Es sind also während des ersten Betriebsschrittes, wenn die Vertikalwege benutzt werden, keine Vertikalgatter gesperrt. Wenn jedoch die Diagonalwege benutzt werden, d.h., alle Bit um eine Position nach reohts versohoben werden, ist das Gatter, das die Stufe 0 mit der Stufe 15 verbindet, gesperrt. Wenn ein Gatter gesperrt ist, so soll dies bedeuten, daß automatisch eine 0 in die Stufe eingeschrieben wird, zu der das Gatter ein Bit überträgt. Wenn also der Übertragungsweg zwischen dem Knoten OA und dem Knoten 15B gesperrt ist, wird das Gatter, das die Stufe 0 des Registers mit der Stufe 15 verbindet, so gesteuert, daß es eine 0 in die Stufe unabhängig von dem Bit-Wert einschreibt, der ursprünglich in der Stufe 0 vorhanden war.
Wenn während des zweiten Schrittes einer Verschiebung nach rechts die Vertikalwege zwisohen den Knoten in der Zeile B und den rinoten in der Zeile C benutzt werden, ist keines der 16 Vertikalgatter des Systems gesperrt. Wenn jedoch die Diagonalgatter benutzt werden, müssen die Bit, welche die Linie L-L kreuzen, gesperrt werden. Es müssen also die Übertragungswege zwischen den Knoten OB und 14C und den Knoten 1B und 15C gesperrt sein. Die beiden Gatter, die die Stufen 0 und 1 des Registers mit den Stufen 14 und 15 verbinden, werden so gesteuert, daß sie automatisch O-Werte in die Stufen 14 und 15 unabhängig vom Wert der Bit in den Stufen 0 und 1 am Ende des Sohrittes 1 einschreiben.
909839/11A9
Eine entsprechende Analyse der Fig. 1 zeigt, daß während des dritten Schrittes, wenn die Diagonalgatter der dritten Gruppe betätigt sind, vier dieser Gatter gesperrt sein müssen, da vier Diagonalwege zwischen den Knoten in der Zeile C und den Knoten in der Zeile D die Linie L-L kreuzen. Die vier Diagonalgatter, welche die Stufen 0-3 mit den entsprechenden Stufen 12-15 verbinden, werden so gesteuert, daß sie automatisch O-Werte in die Stufen 12-15 unabhängig vom Wert der Bit in den Stufen 0-3 am Ende des zweiten Schrittes einschreiben. Entsprechend werden, wenn während des vierten Betriebsschrittes die vierte Gruppe von Diagonalgattern statt der Vertikalgatter betätigt sind, acht dieser Diagonalgatter gesperrt und O-Werte automatisch in die ^
Stufen 8-15 des Registers unabhängig vom Wert der Bit in den Stufen 0-7 am Ende des dritten Schrittes eingeschrieben. Ifaoh Durchführung des entweder vertikal oder diagonal verlaufenden,* vierten Schrittes stellen die Bit, die an den Knoten in der Zeile E erscheinen, das verschobene Datenwort dar, d.h., die Bit im Register sind die gleichen wie die ursprünglichen Bit im Register mit der Ausnahme, daß sie um die verlangte Zahl von Stufen nach rechts verschoben sind.
Eine Rotation nach links läßt sich leicht erreiohen. Es wird lediglich das Komplement der Schiebegröße mit Bezug auf die Zahl gebildet und zur Steuerung einer Rotation nach rechts verwendet.
Um beispielsweise das Datenwort um 7 Positionen naoh links zu "
rotieren, wird es um 9 Positionen naoh rechts rotiert. Es kann also die Schaltung für Rotationen naoh rechts zur Durchführung von Rotationen nach links dadurch benutzt werden, daß einfach das Komplement der Schiebegröße mit Bezug auf die Zahl 16 gebildet ; wird, bevor es als "Leitwort" zur Steuerung der tatsächlichen Rotation (nach rechts) benutzt wird.
Die vierte zu betrachtende Operation ist eine Verschiebung naoh links. Wie oben erläutert, war man bisher der Ansioht, daß bekannte Schaltungen für eine Rotation naoh rechts nicht zur Durchführung von Verschiebungen naoh links benutzt werden können.
909839/1U9
H74581
Erfindungsgemäß ist das jedoch möglich, wobei nur überraschend wenige zusätzliche Steuerfunktionen erforderlich sind. Wenn auoh nur wenig zusätzliche Schaltungen benötigt werden', so kann doch die Analyse in einer gegebenen Anlage sehr kompliziert sein. Aus diesem Grund soll jetzt der Fall mit 16 Bit im einzelnen betraohtet werden.
Zur Durchführung von Verschiebungen nach linke mit Hilfe von Schaltungen für Hotationen nach rechts läßt sich das richtige Leitwort wiederum dadurch gewinnen, daß zunächst das Komplement der gegebenen Versohiebegröße mit Bezug auf 16 gebildet wird. Rotiert man dann das Eingangedatenwort um eine Zahl von Positionen nach rechts, die gleich dem Komplement ist, so wird das Eingangsdatenwort im Ergebnis um die richtige Zahl von Positionen naoh links rotiert. Bei einer Versohiebe-Operation müssen jedoch O-Werte an einem der Enden des Ausgangswortes eingeschrieben werden. Bei Verschiebungen nach rewhts lassen sich O-Werte leicht an den Knoten auf der linken Seite des Systems dadurch einsohreiben, daß die Diagonalwege, die die Linie L-L kreuzen, gesperrt werden. Ein entsprechendes Sperrverfahren für Verschiebungen nach links ist dagegen schwierig zu verwirklichen, da die Bit, die die Linie L-L kreuzen, im System verbleiben müssen, wenn das Eingangsdatenwort naoh links verschoben wird, und diejenigen Bit, die die Linie L-L nicht kreuzen, dazu gebracht werden müssen, am Ende der Operation O-Werte anzunehmen. Es sei beispielsweise ein Eingangsdatenwort betraohtet, das aus 16 1-Werten besteht. Es sei angenommen, daß die für die Verschiebung naoh links vorgegebene Größe 5 ist. Das sich am Schluß an den Knoten in der Zeile Ξ ergebende Datenwort muß dann 1111111111100000 sein. Wenn das Eingangedatenwort um 11 Positionen nach rechts rotiert wird, kreuzen die 11 Bit mit der niedrigsten Stellenzahl im Eingangswort die Linie L-L und erscheinen in den 11 Positionen mit der höchsten Stellenzahl des eich am Schluß ergebenden Wortes. Nur den 5 Bit, die die Linie L-L nicht kreuzen, muß bei ihrer Übertragung durch das System der Wert 0 gegeben werden, damit die 5 Bit mit der niedrigsten
909839/1U9
Stellenzahl in dem sich am Schluß ergebenden Wort alle den Wert haten. Sie Änderung des Wertes dieser 5 Bit auf den Wert 0 erscheint sohwierig, da diese 5 Bit die Linie L-L niemals kreuzen, und es ist nicht ohne weiteres einzusehen, daß eine bestimmte Gruppe von Diagonalwegen wie im Falle einer Verschiebung naoh rechts gesperrt werden kann.
Der Ausgangspunkt der Analyse ist das folgende Prinzip, das sioh aus der vorstehenden Erläuterung ableiten läßt ι Eine Schiebe-Operation naoh links läßt sich durchführen, wenn die verlangte Größe der Verschiebung naoh links mit Bezug auf 16 ergänzt wird und dann eine Übertragung naoh reohts duroh das Netzwerk nur für diejenigen Daten-Bit zugelassen wird, die die Linie L-L kreuzen. Wenn an irgendeiner Stelle im Netzwerk 0-Werte für die Bit eingefügt werden, die die Linie L-L nioht kreuzen, erscheinen O-Werte an den am weitesten reohts liegenden Knoten in der Zeile E, wie verlangt.
Die Diagonallinie D-D fällt mit dem Weg I5A-OE zusammen, der in Wirklichkeit vier bestimmte Übertragungswege enthält. Alle Vertikalwege, welohe duroh die Linie D-D verlaufen, und alle Vertikalwege, die an einem Knoten auf der Linie D-D enden, sind in Fig. 1 gestrichelt. Es sind also der Weg OD-OE und der Ausgangeweg, der von Knoten OB naoh unten geht, gestrichelt, da sie an einen Knoten auf der Linie D-D enden. Die 7 Vertikalwege 1D-1E bis 7D-7B sind gestriohelt, da sie die Linie D-D kreuzen. Die beiden Vertikalwege 8C-8D und 8D-8B sind gestrichelt, da sie jeweils am Knoten 8D enden, der auf der Linie D-D liegt. Die 3 Vertikalwege 9C-9D bis 11C-11D sind gestriohelt, weil sie die Linie D-D kreuzen, die beiden Vertikalwege 12B-12C und 12C-12D sind gestriohelt, da sie jeweils am Knoten 12C enden, duroh den die Linie D-D verläuft. Der Vertikalweg 13B-13C ist gestriohelt, da die Linie D-D ihn kreuzt Die beiden Vertikalweg 14A-I4B und 14B-I4C sind gestriohelt, da sie am Knoten 14B enden, der auf der Linie D-D liegt. Der Vertikalweg I5A-I5B und der von oben zum Knoten ISA führende Vertikalweg sind ebenfalls gestrichelt, da sie jeweils am Knoten 15A enden, der auf der Linie D-D liegt,
909839/1149
Naohdem die gestrichelten Vertikalwege bestimmt sind, läßt sich eine Verschiebung nach links unter Verwendung der Schaltung für eine Rotation naoh rechts auf überraschend einfache Weise erreiohen. Es ist nur erforderlioh, daß das Komplement der Eingangsgröße für die Verschiebung nach links mit Bezug auf 16 gebildet und das Eingangsdatenwort dann nach reohts um eine Zahl von Positionen rotiert wird, die gleich dem Komplement ist, wobei alle gestrichelten Vertikalwege gesperrt werden, das heißt, daß an den Knoten am unteren Ende jedes Weges automatisch O-Werte eingeschrieben werden, wenn entsprechende Vertikalschritte durchgeführt werden. Durch die absolute Sperrung der gestrichelten
fe Vertikalwege bei der Durchführung einer Versohiebe-Operation nach linke erscheinen automatisch O-Werte an der erforderlichen Zahl von am weitesten rechtsstehenden Knoten in der Zeile D, d.h. es erscheinen automatisch O-Werte in der erforderlichen Anzahl der am weitesten rechts liegenden Stufen im Register. Die Sperrung der Vertikalwege, die die Diagonale D-D kreuzen, hat die Auswirkung, daß die Daten-Bit nur dann im Register bleiben dürfen, wenn sie die Linie L-L kreuzen. Es zeigt sich, daß die vier Diagonalwege, die auf der Linie D-D liegen, ohne Machteil auf die Betriebsweise ebenfalls gesperrt werden könnten, da die Sperrung der gestrichelten Vertikalwege sicherstellt, daß keine Daten-Bit jemals an Knoten auf der Linie D-D ankommen. Eine zweckmäßige Verwendung für die Sperrung einiger dieser Diagonalwege
P soll weiter unten beschrieben werden.
Tür den Aufbau einer Sohiebe- und Rotierschaltung für andere Datenworte als solche mit 16 Bit ist es erforderlich, klar zu verstehen, warum eine Sperrung der gestrichelten Vertikalwege in Fig. 1 sicherstellt, daß O-Werte an der richtigen Zahl von am weitesten rechts stehenden Knoten in der Zeile E erscheinen, nachdem das Eingangsdatenwort über das Netzwerk übertragen worden ist. Die Auswahl der zu strichelnden Vertikalwege beruht auf dem oben angegebenen Pundamental-Prinzip. Durch eine Sperrung der
909839/1149
Vertikalwege, die durch die gestrichelten Linien dargestellt werden, wird garantiert, daß O-Werte für diejnigen Bit im ursprünglichen Datenwort eingefügt werden, die die Linie L-L nicht kreuzen, wenn sie die Knoten in der Zeile E erreichen.
Die Vertikalwege in Fig. 2 lassen sich in drei Gruppen einordnen, nämlich die gestrichelten Wege im Bereich D-D, die Vertikalwege, die rechts oben von den gestrichelten Wegen liegen, und die Vertikalwege, die links unten von den gestrichelten Wegen sind. Der Schlüssel für dieses Schema der Vertikalwege besteht darin, daß sichergestellt werden soll, daß eine 0 für jedes Bit eingefügt wird, das bei seiner Übertragung über das Netzwerk die Linie L-L ^ nicht kreuzen kann. Zunächst seien die Bit an den Knoten im oberen rechten Teil des Netzwerkes betrachtet. Das Bit am Knoten OA kreuzt L-L, wenn ein Diagonalschritt 1 durchgeführt wird. Wenn jedoch ein Vertikalschritt erfolgt, und das Bit zum Knoten OB übertragen wird, kann es später immer noch L-L kreuzen, wenn ein Schritt 2, 4 oder 8 entlang einer Diagonalen durchgeführt wird. Polglich darf der Vertikalweg, der den Knoten OA mit dem Knoten 6b verbindet, nicht blockiert sein. Pur das Bit am Knoten OA darf auch dann keine 0 eingesetzt werden, wenn ein Vertikalschritt unternommen wird, da das Bit später die Linie L-L kreuzen kann und daher im System verbleiben sollte. Es sei ein anderer Knoten, beispielsweise der Knoten 1JG betraohtet. Zu dem Zeitpunkt, in dem ^ das Bit am Knoten TC erscheint, ist eine Verschiebung um höohstens 3 Positionen nach rechts vorgenommen worden. Das Bit am Knoten 7C hat daher L-L bis jetzt noch nicht gekreuzt. Das Bit am Knoten 70 kann jedoch L-L noch kreuzen, wenn ein Diagonalsohritt zum Knoten 3D oder ein Vertikalsohritt zum Knoten 7D erfolgt. In beiden Fällen kann das ursprünglich am Knoten 7C vorhandene Bit jetzt L-L kreuzen, wenn die näohste Verschiebung um 8 Positionen entlang der Diagonalen 7D-15E oder 3D-11E erfolgt. Folglioh darf der Vertikalweg vom Knoten 7 C nicht gesperrt sein, das heißt, es soll keine 0 für das Bit am Knoten 7G eingesetzt werden und zwar auch dann nicht, wenn der Vertikalweg 7C-7D benutzt wird, da das Bit die Linie L-L noch kreuzen kann, wenn ein Diagonalschritt nit dem Wert θ vorgenommen wird.
909839/1U9
H74581
Ee seien jetzt die Knoten oberhalb der gestrichelten Vertikalwege betraohtet, beginnend mit der Gruppe von Knoten 0D-8D. Bei der Übertragung der ursprünglichen Bit an den Kno'ten in der Zeile A zu den Knoten in der Zeile D kann eine maximale Verschiebung um 7 Positionen stattgefunden haben. Die einzigen Bit an den Knoten in der Zeile D, die L-L bereits gekreuzt haben können, sind diejenigen an den Knoten 15D-9D, den sieben am weitesten links stehenden Knoten in der Zeile. Auf keine irgendwie geartete Weise können die Bit an den Knoten 8D-0D die Linie L-L bereits gekreuzt haben. Wenn diese Bit die von der Zeile D naoh unten führenden Vertikalwege benutzen, haben sie L-L nicht gekreuzt, wenn sie an den Ausgangsknoten 8E bis OE erscheinen. In diesem Fall haben diese Bit L-L nicht gekreuzt und sie sollten als O-Werte in dem sich am Schluß ergebenden Wort erscheinen. Aus diesem Grund darf, wenn der Diagonalsohritt um 8 Positionen nicht ausgeführt wird, OD nicht durch das System übertragen werden, und muß durch O-Werte ersetzt werden. Ein gesperrter Vertikalweg führt dazu, daß eine 0 in den Knoten am Fuß des Vertikalweges eingeschrieben wird. Wenn also der Diagonalschritt um 8 Positionen nicht ausgeführt wird, werden automatisch O-Werte an den Knoten 8E-0E eingeschrieben, d.h., es werden O-Werte automatisch in die Stufen 8 bis 0 des Registers eingeschrieben.
Ein Leitwort stellt die wirkliche Schiebegröße für die Rotation nach rechts dar. Es enthält vier Bit, X1, X2, X4 und X8, die jeweils nur dann den Wert 1 haben, wenn der entsprechende Diagonalschritt auszuführen ist. Da das Leitwort die tatsächlich ausgeführten Schritte darstellt, ist seine Größe bei Verschiebungen naoh links das Komplement der Eingangsgröße mit Bezug auf 16. Wenn beispielsweise bei einer Verschiebung naoh links die Eingangsgröße 9 ist, lautet das Leitwort 0111.
Es seien jetzt die Knoten in der Zeile C betraohtet. Die Vertikalwege, die von den Knoten 7C-0C naoh unten führen, dürfen nicht
909839/1149
gesperrt werden, da, auch wenn die Bit an diesen Knoten die Vertikalwege benutzen, die Bit immer noch die L-L kreuzen können, wenn X8 eine 1 ist. Dqs gleiche trifft aber nioht für die Knoten 12C-8C zu. Wenn der Schritt 4 gerade betrachtet wird, ist die maximale Verschiebung durch das Netzwerk bis jetzt 3 gewesen. Polglich können Bit, die bereits die Linie L-L gekreuzt haben, an den Knoten 15C-13C auftreten. Dagegen können die Bit an den Knoten 12C-0C auf keine Weise bereits die Linie L-L gekreuzt haben. Die Bit an den Knoten 7C-OC brauohen nioht beeinflußt zu werden, wie oben erläutert. Es verbleiben also nur nooh die Bit an den Knoten 12C-8C. Wenn die Bit an diesen Knoten einen Vertikalsohritt von der Zeile C ausführen und demgemäß an den Knoten 12D-8D erscheinen, können sie die Linie L-L auch dann nicht kreuzen, wenn als nächstes der Dlagonalsahritt mit dem Wert θ erfolgt« Der weiteste Funkt, den eines dieser Bit erreiohen kann, ist der Knoten OE. Da die Bit an den Knoten 12C-80 die Linie L-L nooh nicht gekreuzt haben und sie auoh nioht kreuzen können, wenn X4 eine 0 ist, sind die Vertikalwege von den Knoten 12C bis 80 gesperrt. Wenn X4 eine 0 1st, werden automatisch 0-Werte an den Knoten 12D-8D eingeschrieben.
Es seien jetzt die Knoten in der Zeile B betraohtet. Die Bit an den Knoten ItB-OB brauohen nicht beeinflußt zu werden. Sie können nachfolgend die Linie L-L auch dann kreuzen, wenn sie Vertikalsohritte von den Knoten in der Zeile B zu den Knoten in der Zeile C ausführen. Sogar das Bit am Knoten 11B kann die Linie L-L naoh einem Vertikalschritt zum Knoten 11C kreuzen, wenn die Bit X4 und ΧΘ den Wert 1 haben. Folglioh brauchen die Bit an den Knoten 11B-OB nioht beeinflußt zu werden.
Wenn der Sohritt von 2 Positionen betraohtet wird, kann die bereits vorgenommene Verschiebung maximal den Wert 1 haben. Folglioh kann das Bit am Knoten 15B die Linie L-L bereits gekreuzt haben, wobei es vom Knoten OA gekommen ist. Dagegen können die Bit an
909839/1149
den Knoten 14B-12B die Linie L-L noch nicht gekreuzt haben, und wenn diese Bit Vertikalwege in der Zeile B benutzen, besteht keine Möglichkeit mehr, daß sie nachfolgend die Linie L-L kreuzen, und zwar auch dann nicht, wenn X4 und ΧΘ den Wert 1 haben. Auoh das Bit am Knoten 12B kann L-L nicht kreuzen, wenn es vertikal naoh unten zum Knoten 12C übertragen wird. Wenn X4 und X8 beide den Wert 1 haben, kann dieses Bit nicht weiter alβ bis zum Knoten OE gelangen. Da die 3 Bit an den Knoten HB-12B die Linie L-L nicht kreuzen können, wenn X2 den Wert 0 hat, sind die 3 entspreohenden Wege gesperrt. Durch das Sperren dieser Wege und das automatische Einschreiben von O-Werten an den Knoten 14C-12G erscheinen diese Bit in dem sioh am Schluß ergebenden Datenv/ort als O-Werte.
Es seien jetzt die Knoten in der Zeile A betrachtet. Die Bit an den Knoten 13A bis OA können die Linie L-L auch dann kreuzen, wenn X1 den Wert 0 hat. Beispielsweise kann das Bit am Knoten 13A, auoh wenn es vertikal zum Knoten 13B übertragen wird, immer noch die Linie L-L kreuzen, falls X2, X4 und X8 alle den Wert haben. Aus diesem Grunde brauchen die Bit an den Knoten 13A-OA nioht beeinflußt zu werden. Für die Knoten 15A und 14A gilt dies jedoch nicht. Wenn X1 eine 0 ist, würden die Bit im System mit den höohsten Ziffernstellen zu den Knoten I5B und 14B übertragen. Diese Bit können dann niemals mehr die Linie L-L kreuzen, auch dann nicht, wenn X2, X4 und ΧΘ den Wert 1 haben. Sas Bit am Knoten 14B kann höchstens bis zum Knoten OE gelangen. Folglich Bind die beiden Yertikalwege 15A-I5B und I4A-14B bei der Verschiebung naoh links gesperrt. Wenn also das Wort für das Komplement der Versohiebegröße eine 0 für das Bit X1 enthält, müssen an den Knoten 15B und 14B automatisch O-Werte eingeschrieben werden, d.h., O-Werte müssen in die Stufen 15 und 14 automatisch eingeschrieben werden.
Man beachte, daß die vertikale Linie oberhalb des Knotens 15A ebenfalls gestrichelt ist. Die maximale Größe einer Rotation naoh reohts, die angegeben werden kann, ist I5. Folglich kann
909839/1 U9
das Sit am Knoten I5A die Linie L-L niemals kreuzen, da es höchstens bis zum Knoten OE gelangen kann. Die kleinste Größe, die bei einer Verschiebung nach links angegeben werden kann, ist 1. VIenn eine Verschiebung nach links um den Wert 1 angegeben wird, wird das Datenwort um I5 Positionen nach rechts rotiert. Dadurch, daß immer eine 0 am Knoten 15A eingeschrieben wird, erscheint eine 0 am Knoten OE. Das ist offensichtlich erforderlich, da bei jeder Verschiebung nach links, außer bei dem Trivialfall einer Verschiebung nach links mit dem \7ert Null, eine 0 in der Position mit der niedrigsten Ziffernstelle des sich am Schluß ergebenden Drtenwortes erscheinen muß. Aus diesem Grund ist der Ausgangsweg unterhalb der !!noten OE bei Verschiebungen naoh links gesperrt. Einige weitere Polgerungen bezüglich dieser beiden letzterwähnten gestrichelten Wege sollen weiter unten beschrieben werden.
Auf diese V/eise wird durch Sperrung aller gestrichelten Vertikalwege sichergestellt, daß O-Werte für alle Bit eingesetzt werden, die an den Knoten oberhalb dieser Wege erscheinen und keine Möglichkeit haben, die Linie L-L zu kreuzen. Die Knoten der Gruppe im oberen rechten Bereich des Netzwerkes brauchen nicht beeinflußt zu werden, da die Bit an diesen Knoten auoh dann die Linie L-L kreuzen können, wenn Vertikalschritte von diesen Knoten aus erfolgen. Die einzigen Knoten, die noch betrachtet werden müssen, sind diejenigen, die unterhalb und links von den gestrichelten Vertikalwegen liegen, nämlich die Knoten 15E-IE, 15D-9-D, 15C-13C und 15B. Die Bit an diesen Knoten brauchen ebenfalls nicht beeinfluLt zu werden. Wenn eine 0 an einem dieser Knoten ersoheint, braucht keine Beeinflussung stattzufinden, da eine Sperrung der vertikalen Übertragung ebenfalls dazu führen würde, daß eine 0 über das Hetzwerk übertragen wird. Auch wenn die Bit an diesen Knoten den Wert 1 haben, müssen sie die Linie L-L bereits gekreuzt haben und soltten folglich im Netzwerk verbleiben. Beispielsweise kann das Bit am Knoten I5C nicht vom Knoten 15A gekommen sein, da das Bit am Knoten I5A für Verschiebungen nach links immer 0 ist.
909839/1 U9
U74581
Wenn das Bit am Knoten 15C eine 1 ist, muß es naoh einer Diagonalvers ohiebung von 1 und einem Vertikalschritt von 2 vom Knoten OA und naoh einem Vertikalsohritt von 1 und einer Diagonalversohiebung von 2 vom Knoten 1A gekommen sein, oder nach Diagonalversohiebungen mit dem Y/ert 1 und 2 vom Knoten 2A. In jedem Fall hat das Bit am Knoten I5C die Linie L-L bereits gekreuzt und braucht am Knoten I50 nicht mehr beeinflußt zu werden. Entspreohend müssen 1-Werte, die an den anderen Knoten erscheinen, die Linie L-L bereits gekreuzt haben und, da sie im System bleiben sollen, dürfen die Vertikalwege von diesen Knoten nicht gesperrt sein.
(Beachte, daß bei dem speziellen Beispiel gemäß Figur 1 Verschiebungen und Rotationen mit dem Wert 16 nicht zugelassen sind, da der Maximalwert des Leitwortes I5 ist. Außerdem muß, wenn eine Schaltung für ein System mit 16 Bit gemäß Fig.1 aufgebaut wird, Vorsorge für den Trivialfall getroffen werden, bei dem für eine Verschiebung oder Rotation nach links eine Verschiebegröße 0 angegeben wird. Das Komplement von 0 mit Bezug auf 16 ist 16, und das Netzwerk kann maximal nur eine Rotation von I5 ausführen. Für diese Fälle muß Vorsorge getroffen werden, wenn eine Schaltung für 16 Bit aufgebaut wird. Die zusätzlich erforderlichen Schaltungen sind dem Fachmann klar, insbesondere nachdem im folgenden der kompliziertere Fall für ein System mit 20 Bit betraohtet worden ist. Der Netzwerkplan für 16 Bit wird in erster Linie deswegen beschrieben, weil ohne diese Grundlage das Verständnis des Schemas für ein System mit 20 Bit außerordentlich sohwierig ist.)
Der Fall mit 16 Bit ist verhältnismäßig einfach. Es wird die Schaltung für Rotationen nach rechts benutzt, und es werden keine Wege sowohl bei Rotationen naoh rechts als auch naoh links gesperrt, wobei im letzteren Fall das Komplement der vorgegebenen Versohiebegröße gebildet wird, bevor die Rotation naoh links mit Hilfe einer tatsächlichen Rotation nach reohts durchgeführt wird.
909839/1149
U74581
Eine Verschiebung nach rechts wird mit Hilfe einer normalen Rotation nach rechts durchgeführt, wobei aber die Diagonalwege, die die Linie L-L kreuzen, gesperrt sind, das heißt, es werden O-Werte in die Knoten an den Enden dieser Wege immer dann eingeschrieben, wenn das Leitwort angibt, daß diese Wege zu benutzen sind. Schließlich läßt sich eine Verschiebung nach links erreichen, indem zunächst das Komplement der gegebenen Verschiebegröße gebildet und dann eine Rotation naoh rechts unter Sperrung der gestrichelten Vertikalwege durchgeführt wird. Durch eine unbedingte Sperrung der gestrichelten Vertikalwege im Fall einer Verschiebung nach links wird sichergestellt, daß die einzigen 1-Werte im ursprünglichen Datenwort, die durch das Netzwerk zu A
den Knoten in der Zeile E übertragen werden, diejenigen sind, die die Linie L-L kreuzen.
Wie die vorstehende Analyse gezeigt hat, sind in Figur 1 (und jedem ähnlichen Netzwerk, bei dem die Zahl von Bit im Datenwort eine ganzzahlig· Potenz von zwei ist) drei sich nioht überlappende Gruppen von Knoten und Wegen wie folgt vorhandent Die Gruppen von Knoten und Wegen, die denjenigen im oberen reohten Teil der Figur 1 entsprechen, welche alle diejenigen Knoten' und Wege enthalten, die von Daten-Bit vor einer Kreuzung der Linie L-L benutzt werden können] die Gruppe von Knoten und Wegen, die denjenigen im unteren linken Teil der Figur 1 entspreohen, welche alle diejenigen Knoten und Wege enthalten, die benutzt \
werden können, nachdem Daten-Bit die Linie L-L gekeruzt habenj und die Gruppe von Knoten und Wegen, die denjenigen der Diagonalriohtung der Figur 1 entspreohen, welche zu keiner der beiden vorher genannten Gruppen gehören und in keinem Fall von einem Daten-Bit vor der Kreuzung der Linie L-L benutzt werden, nooh von einem Daten-Bit, das die Linie L-L gekreuzt hat. Diese letzte Gruppe in Figur 1 besteht aus allen der gestrichelten Wege, allen Knoten mit oberhalb oder unterhalb gelegenen gestrichelten Wegen und den Diagonalwegen entlang der Linie D-D vom Knoten 15A zum OE. In der vorstehenden Erläuterung ist zwar angenommen
909839/1 U9
worden, daß alle gestrichelten Vertikalwege gesperrt sind. Ein brauchbares Verfahren unter Verwendung des Netzwerkes gemäß Fig.1 zur Durchführung einer Verschiebung nach links besteht jedoch darin, eine Untergruppe der gestrichelten Vertikalwege entlang der Linie D-D und die Diagonalwege entlang der Linie 0-0 zu sperren. Diese Untergruppe wird so gewählt, daß jedes Eingangsdaten-Bit gezwungen wird, die Linie L-L zu kreuzen, wenn es ohne Sperrung durch das gesamte Netzwerk laufen soll. Es sei daran erinnert, daß Fig. 1 lediglich eine bequeme Darstellung der in den Regiaterstufen vorgenommenen Verschiebung ist. Die Signale an den Knoten der Zeile A kann man sich als den Zustand des Registers am Anfang der Verschiebung und die Signale an den Knoten der Zeile E eis den Zustand am Ende der Verschiebung vorstellen. Eine Sperrung des Vertikalweges von oben zum Knoten 15A bedeutet dann, daß die Regieterstufe 15 vor Beginn der Verschiebung zwangsläufig den Wert 0 enthält. Entsprechend bedeutet eine Sperrung des Weges, der vom Knoten OE naoh unten führt, daß die Registerstufe 0 nach Beendigung der Verschiebung zwangsläufig eine 0 enthält. Um solche Komplikationen zu vermeiden, umfaßt eine günstige Untergruppe von Wegen, die in Fig. 1 zur Durchführung einer Verschiebung nach links zu sperren ist, alle gestrichelten Wege, die eine parallel zu und dicht oberhalb der Linie D-D verlaufende Linie schneiden mit Ausnahme des Vertikalweges, der von oben zum Knoten 15A führt. Dann sind zusätzlich die beiden Wege zu sperren, die vom Knoten 15A nach unten führen. Die gesperrten Wege sind demnach die zwiechen den Knotenpaaren 15A-I5B, I5A-14B, 14A-I4B, 13B-13C, 12B-12C, 11C-11D, 10C-10D, 9C-9D, 8C-8D, 7D-7E, 6D-6E, 5D-5E, 4D-4E, 3D-3E, 2D-2E, 1D-1E und OD-OE. Man beachte, daß diese Untergruppe die Bedingung erfüllt, daß jedes Daten-Bit die Linie L-L kreuzen muß, wenn es durch das Netzwerk ohne Sperrung laufen will, d.h., wenn es naoh dem Ende der Verschiebung erscheinen soll. Es bestehen weitere Möglichkeiten für eine Auswahl zu sperrender Untergruppen.
09839/1
In den Fall für 16 Bit wird eine Untergruppe der gestrichelten Vertikalwege unbedingt gesperrt. Diese Wege sind bei der Durchführung einer Verschiebeoperation nach links niemals in Tätigkeit. Tatsächlich läßt sich in jedem System, für das die Zahl von Bit eine Potenz von zwei ist und das 'fort für die Verschiebegröße die Form ... (X32)(X16)(X8)(X4)(X2)(X1) hat, ein Netzwerk ähnlich dem nach Fig. 1 leicht bilden. Die Linie D-D wird als Gerade durch die beiden Knoten in der oberen linken und unteren rechten Ecke gezogen. Alle Vertikalwege, die die Linie D-D schneiden, und alle Vertikalwege, die (entweder von oben oder von unten) an einem Knoten auf der Linie D-D enden, sind gestrichelt. Eine geeignete Zahl dieser Vertikalwege wird bei allen Verschiebungen nach links unbedingt gesperrt, und es braucht keine zusätzliche Steuerung ausgeübt zu werden, um sicherzustellen, daß die einzigen 1-V/erte, die über das System übertragen werden, diejenigen sind, die die Linie L-L kreuzen, das heißt, diejenigen, die nicht durch O-Werte auf der rechten Seite des sich am Schluß ergebenden Wortes ersetzt werden dürfen. Ein schwierigerer Fall liegt dann vor, wenn die Zahl von Bit in einem Datenwort nicht eine Potenz von 2 ist. In einem solchen Fall dürfen einige der Vertikalwege nicht unbedingt gesperrt werden. In bestimmten Fällen müssen diese Wege offenbleiben, das heißt, sie müssen unter bestimmten Umständen 1-V/erte nach unten übertragen. Zur Erläuterung des komplizierteren Falles wird jetzt auf Fig. 2 Bezug genommen, die das netzwerk für ein System mit 20 Bit zeigt.
Grundlagen der Betriebsweise einer Schiebe- und Rotierschaltung
für 20 Bit (Fig.2)
Es sei angenommen, daß das Schiebe- und Rotiernetzwerk nach Fig.2 zur Aufnahme von Kommandos bezüglich einer Verschiebung oder Rotation entweder nach links oder nach rechts mit einer angegebenen Eingangs-Schiebegröße zwischen 0 und 20 benötigt wird. Es wird vorausgesetzt, daß Eingangß-Schiebegrößen mit mehr als 20
909839/1 U9
U74581
Positionen nicht von Interesse sind und als gültiges Eingangskommando nicht zugelassen sind.
Ein Wort für die Schiebegröße mit 5 Bit ist erforderlich, um eine der Zahlen 0-20 anzugeben. Das Leitwort hat also die Form (X16)(X8)(X4)(X2)(X1). Das Leitwort, das die übertragung von Bit in den Stufen des Registers steuert, ist bei Verschiebungen und Hotationen nach rechts identisoh mit der Eingangs-Schiebegröße und ist bei Verschiebungen und Rotationen nach links das Komplement der Eingangs-Schiebegröße mit Bezug auf die Zahl 20. Eine zusätzliche Gruppe von Vertikal- und Diagonalübertragungswegen wird benutzt, um die Übertragung von den Knoten in der Zeile E zu den Knoten in der Zeile P zu steuern. Die Verschiebungen werden in Schritten von 1,2, 4, Q und -\6 erreicht. Figur 2 läßt sich auf die gleiche Weise wie Fig. 1 deuten. Es sind Übertragungswege vorgesehen, um Bit entweder vertikal oder diagonal naoh rechts zu übertragen. Nur diese Wege sind erforderlich, um alle 4 möglichen Operationen zu steuern.
Die Operation der Anlage für 20 Bit bei der Rotation eines Datenwortes mit 20 Bit naoh reohts ist leicht zu verfolgen. Um beispielsweise das Wort um 19 Positionen nach reohts zu rotieren, wird das Wort für die Eingangsschiebegröße 10011 als Leitwort benutzt. Die betätigten Diagonalgatter gehen von Knoten in den Zeilen A, B und E aus. Die benutzten Vertikalwege gehen von den Knoten in den Zeilen C und D aus. Dae sich am Schluß ergebende rotierte Datenwort erscheint an den Knoten 19F bis OF. Für eine Rotation naoh links wird das Komplement der Verechiebegröße mit Bezug auf 20 gebildet, und das Datenwort dann um eine Zahl von Positionen naoh reohts rotiert, die gleich dem Komplement ist. Um beispielsweise um eine Position naoh links zu rotieren, wird zunächst das Komplement der Versohiebegröße 00001 mit Bezug auf 20 gebildet. Das sioh ergebende Leitwort 10011 (Dezimal 19) wird dann zur Steuerung der Rotation naoh reohts benutzt. Um eine Verschiebung naoh rechts zu erreichen, müssen nur alle Diagonalwege, welche die Linie L-L kreuzen, gesperrt werden. Wenn dann
909839/1U9
.25- H74581
automatisch O-Werte an jedem Knoten, an welchem ein die Linie L-L kreuzender Diagonalweg endet, eingeschrieben werden, ist sichergestellt, daß O-Werte an der riohtigen Zahl der am weitesten links liegenden Knoten in der Zeile P.erscheinen. Die Steuerung einer Verschiebung naoh links in einem System bis 20 Bit unter Verwendung der Schaltung für Rotationen nach reohts ist jedooh nioht so einfach, wie in dem Fall für 16 Bit. Der Grund dafür besteht darin, daß die die Linie D-D kreuzenden Vertikalwege nioht in allen Fällen unbedingt gesperrt werden können. Es ist eine weitere Analyse erforderlioh, um zu bestimmen, welche Vertikalwege zur Erzielung einer Verschiebung naoh links gesperrt werden müssen.
Bei dem Netzwerk für 16 Bit gemäß Figur 2 lag der günstige Fall vor, daß eine Gruppe gestrichelter Vertikalwge vorhanden war, die niemals von Daten-Bit, die die Linie L-L bereite gekreuzt hatten, benötigt wurden, nooh von Daten-Bit, die die Linie L-L in späteren Stufen des Netzwerkes kreuzen würden. Diese Gruppe von gestriohelten Wegen war groß genug, um eine Untergruppe von ihnen derart wählen zu können, daß eine Sperrung dieser Untergruppe für Verschiebungen nach links die Daten-Bit zwingt, zur Übertragung duroh das Netzwerk die Linie L-L zu kreuzen. In dem -Netzwerk gemäß Figur 2, das typisch für den Fall ist, in welohem die Zahl von Bit im Datenwort nioht eine ganzzahlige Potenz von 2 ist, besteht jedooh die Gruppe von Wegen, die niemals von Daten-Bit benötigt wird, die die Linie L-L bereits gekreuzt haben, noch von Daten-Bit, die die Linie L-L in späteren Stufen des Netzwerkes kreuzen werden, aus so wenigen Wegen, daß eine Untergruppe von ihnen nioht für Verschiebungen naoh links gewählt und unbedingt gesperrt werden kann, derart, daß die Daten-Bit gezwungen werden, die Linie L-L zu kreuzen, wenn sie zu den Ausgangsansohlüssen des Netzwerks übertragen werden sollen. Tatsächlich sind in Fig. 2 Wege vorhanden, beispielsweise 13D-13E, die für Bit benötigt werden, die die Linie L-L bereits gekreuzt haben, oder für Bit, die die Linie L-L später kreuzen.
909839/1UO
.26- H74581
Ein Ausgangspunkt zum Aufbau des Netzwerkes für ein System, bei dem die Zahl von Daten-Bit nicht eine ganzzahlige Potenz von 2 ist, besteht darin, die Linie L-D dicht unterhalb des Diagonalweges von dem äußersten Knoten in der oberen linken Ecke zu ziehen, (das heißt, dicht unterhalb der Linie von 19A nach ÖF in Fig.2). Alle Vertikalwege, die die Linie JD-D kreuzen, werden dann gestrichelt. Die Gruppe von Knoten und V/egen links unterhalb der Gruppe von gestrichelten Wegen enthält alle Knoten und Wege, die für Daten-Bit erforderlich sind, welche die Linie L-L bereits gekreuzt haben. Eine Sperrung der gestrichelten Wege kann daher in keiner V/eise Daten-Bit beeinflussen, welche die Linie L-L gekreuzt haben. Das Verfahren zur Verwendung des Netzwerkes gemäß Figur 2 für Verschiebungen naoh links soll weiter unten im einzelnen erläutert werden. Es besteht jedoch im wesentlichen darin, die Gruppe von gestriohelten Vertikalwegen zu sperren, falls nioht ein Daten-Bit, das einen bestimmten gestrichelten Weg benutzt, in nachfolgenden Stufen des Netzwerkes derart geleitet wird, daß es die Linie L-L kreuzt.
In Figur 2 sind 20 gestrichelte Vertikalwege vorhanden, und zwar einer für jede Spalte. Es soll daran erinnert werden, daß in Figur 1 alle Vertikalwege im Netzwerk zu 3 bestimmten Gruppen gehören, nämlich den gestrichelten Vertikalwegen, denen im oberen reohten Teil der Figur und denen im unteren linken Teil der Figur. Gemäß Fig. 1 werden die Vertikalwege im oberen rechten Teil bei Verschiebungen naoh links nicht beeinflußt, da auch dann, wenn diese Wege benutzt werden, die Bit an den entsprechenden Knoten im folgenden die Linie L-L kreuzen können. (Die Grundregel zur Steuerung einer Verschiebung naoh links ist immer noch die gleichet Es wird das Komplement der EingangsschiebegroBe mit Bezug auf die Zahl von Bit in einem Datenwort gebildet und dann eine Hotation naoh rechts vorgenommen, wobei die einzigen 1-Werte in dem ursprünglichen Wort, deren Übertragung zu den Ausgangsknoten zugelassen wird, diejenigen sind, die die Linie L-L irgendwann bei
90-9839/1U9
.27- U7A581
ihrer Übertragung durch das Netzwerk kreuzen.) In dem System mit 20 Bit gemäß Figur 2 gilt das gleiche für die Knoten und Vertikalwege im oberen rechten Teil der Figur. Auch wenn die Bit an diesen Knoten die entsprechenden Vertikalwege nehmen, können sie später die Linie L-L kreuzen, und aus diesem Grund sollten die Vertikalwege im oberen rechten Teil nioht gesperrt werden. In Figur 1 werden alle gestrichelten Vertikalwege unbedingt gesperrt. Eine Sperrung der Vertikalwege im unteren linken Teil ist nicht erforderlich, da 1-Werte an den Knoten oberhalb dieser Wege die Linie L-L bereits gekreuzt haben müssen. Dagegen werden in Figur 2 die gestrichelten Vertikalwege nicht alle unbedingt gesperrt, und es besteht die Möglichkeit, daß 1-Werte in dem Λ
ursprünglichen Datenwort unter bestimmten Umständen über diese gestrichelten Wege nach unten zu den Knoten im unteren linken Teil der Zeichnung übertragen werden. Aus diesen Gründen muß auch den Vertikalwegen im unteren linken Teil der Figur Aufmerksamkeit geschenkt werden, obwohl sich im folgenden zeigen wird, daß die für die gestrichelten Vertikalwege benutzte Steuerung derart beschaffen ist, daß eine Steuerung der Vertikalwege im unteren linken Teil der Zeichnung nicht erforderlich ist.
Zunächst ist zu klären, warum nicht alle gestrichelten Vertikalwege unbedingt gesperrt sein dürfen. Es sei der Weg 12D-12E betrachtet, der die Linie D-D kreuzt. V/enn die Bit im Eingangswort an den Knoten in der Zeile D erscheinen, ist ein Schritt ä mit dem Viert 8 zu betrachten. Die maximal mögliche Verschiebung in den ersten drei Schritten ist 7 (wenn X1, X2 und X4 den Wert haben). Das Bit am Knoten 12D, d.h. das Bit in der Stufe 12 des Registers nach Durchführung des dritten von den fünf Schritten der Folge, kann auf keine V/eise die Linie L-L bereits gekreuzt haben. Das Bit am Knoten 12D kann nur von einem der Knoten 12A-19A gekommen sein. Folgt man dem Muster gemäß Fig. 1, so sollte der Jeg 12D-12E unbedingt gesperrt sein, wenn ΧΘ eine 0 ist. In Figur 1 werden die gestrichelten Vertikalwege gesperrt,
909839/1U9
da, wenn sie benutzt würden, die Bit an den Knoten oberhalb der Wege auf keine Weise später die Linie L-L kreuzen können, bis sie die letzte Zeile von Knoten erreichen. Das Bit-am Knoten 12D in Figur 2 kann aber auch dann die Linie L-L kreuzen, wenn X8 den Wert 0 hat. In diesem Fall wird das Bit am Knoten 12D zum Knoten 12E übertragen. Solange X16 den Wert 1 hat, wird das Bit am Knoten 12E die Linie L-L kreuzen und am Knoten 16F enden. Folglich kann der Vertikalweg 12D-12E nicht unbedingt gesperrt werden, da das Bit am Knoten 12D immer noch die Linie L-L kreuzen kann, und zwar auch dann, wenn der Yertikalweg 12D-12E benutzt wird. Man beachte jedoch, daß das Bit am Knoten 12D nur dann die Linie L-L auch bei Benutzung des Vertikalweges kreuzen kann, wenn X16 den Wert 1 hat. Folglich ist der Vertikalweg 12D-12E bedingt zu sperren, das heißt, es ist automatisch am Knoten 12E eine 0 einzuschreiben, wenn X8 eine 0 ist, falls nicht X16 den Wert 1 hat. Wenn X16 eine 1 ist, braucht der Vertikalweg 12D-12E nicht gesperrt zu werden, da sichergestellt ist, daß das Bit am Knoten 12D die Linie L-L später kreuzt.
Es ist erforderlich, eine geeignete Übertragungsfunktion für jeden gestrichelten Vertikalweg in Figur 2 abzuleiten. Die Übertragungsfunktion für jeden Weg gibt im wesentlichen folgendes an: Bei einer Verschiebung nach links ist der Weg zu sperren, wenn nicht sichergestellt ist, daß das Bit am Knoten oberhalb des Weges die ™ Linie L-L nachfolgend kreuzt. Das folgende Verfahren läßt sich benutzen, um die Übertragungsfunktionen der Vertikalwege, die die Linie D-D kreuzen, in anderen Systemen abzuleiten. Jede Übertragungsfunktion stellt einen Bool1sehen Ausdruck dar. Der gesamte Ausdruck hat den Viert 1, wenn der entsprechende Vertikalweg in Tätigkeit sein soll. Er ist 0, wenn der entsprechende Vertikalweg gesperrt werden muß, und es muß automatisch eine 0 in den Knoten eingeschrieben werden, an welchem der Weg endet. In den abzuleitenden Übertragungsfunktionen stellt der Ausdruck (HL) ein Eingangekommando zur Durchführung einer Versohiebe-Operation naoh links dar. HL hat den Wert 1 , wenn eine Verschiebung naoh links durchzuführen ist. Der Ausdruck HL ist 0, wenn eine der drei anderen möglichen Operationen durchgeführt werden soll.
909839/1U9
Zunäohst werden die 5 Knoten 4E-0E betraohtet. Die Eingangs-Bit erscheinen an diesen Knoten, wenn der Schritt um 16 Positionen vorgenommen werden soll. Bis zu diesem Punkt beträgt die maximale Verschiebung, die bereits vorgenommen sein kann, 15 (8+4+2+1). Die Bit an den Knoten 19E-5E können die Linie L-L bereits gekreuzt haben. Dagegen können die Bit an den Knoten 4E-OE die Linie L-L in keinem Fall bereits gekreuzt haben, da der Knoten 4E 16 Positionen rechts von der Linie L-L liegt, und die Knoten 3E-OE nooh weiter entfernt sind. Wenn der Diagonalsohritt mit dem Wert 16 von diesen 5 Knoten aus nicht erfolgt, haben die Bit an diesen Knoten die Linie L-L nioht gekreuzt, wenn sie an den Knoten der Zeile F erscheinen. Aus diesem Grund müssen die Vertikalwege von ύ den Knoten 4E bis OE bei Verschiebungen nach links unbedingt gesperrt werden. Die Übertragungsfunktion für die 5 Vertikalwege 4E-4F bis OE-OF lautet (xTS) (HL). (Der Ausdruck X16 stellt das Bit mit der höchsten Stellenzahl im Leitwort dar, nachdem dieses aus dem Komplement der Eingangssohiebegröße'gebildet ist. Mit anderen Worten, X16 hat den Wert 1, wenn die Diagonalwege von den Knoten E benutzt werden sollen.) Die Übertragungsfunktion (X16) (HL) für die 5 Vertikalwege 4E-4F bis OE-OF gibt die Operation der Wege in allen Fällen wieder. In den drei Fällen, die keine Verschiebungen naoh links betreffen, hat HL den Wert 0 und HL den Wert 1, so daß die Übertragung des Weges nur eine Funktion des Leitausdruokes XT6 ist. Wenn X16 den Wert 0 hat, ergibt sioh für X16 eine 1, und die Übertragungsfunktion hat den Wert 1. Die I
Vertikalwege können naoh Bedarf benutzt werden. Wenn X16 eine 1 ist, hat X16 den Wert 0 und die Vertikalwege sind gesperrt. Auch wenn keine Verschiebung nach Links durchgeführt wird, können die Vertikalwege durch den Leitausdruck gesperrt werden, da sie nioht benötigt werden. (Es wurde zwar oben erläutert, daß durch das Sperren eines Vertikalweges automatisch eine 0 in den Knoten am Fuß des Weges eingeschrieben wird. Das erfolgt jedooh nur dann, wenn keine 1 über den Diagonalweg ankommt, der an dem gleiohen Knoten endet. Wenn also X16 eine 1 ist, können, obwohl die 5 Vertikalwege gesperrt sind, 1-Werte an den Knoten 4F-0F erscheinen,
909839/1U9
.3o- H7A581
wenn 1-Werte ursprünglich cn den Knoten OE und I6E-I9B "vorhanden sind.) Wenn andererseits HL den .;ert 1 hat und damit angibt, daß eine Verschiebung nach links durchgeführt wird, hat HL den Wert O, und die 5 Vertikalwege werden ohne Rücksicht darauf, «eichen »Jert XI6 hat, gesperrt. Las ist die gewünschte Operation, «enn XI6 den V/ert 0 hat, würden die Vertikalwege normalerweise 1-Werte übertragen, sind aber stattdessen gesperrt wie verlangt. Die Sperrung der Vertikalwege 4E-4F bis OE-OP bei Verschiebungen nach links ist unbedingt, wie die Übertragungsfunktion (HL) (X16) zeigt.
Es seien jetzt die Knoten 12D-5D in Zeile D betrachtet. Wenn ein Schritt mit dem V/ert 8 durchgeführt werden soll, beträgt die maximale Verschiebung, die bis dahin stattgefunden haben kann,
7 (4+2+1). An den Knoten 19D-13D können Bit erscheinen, die die Linie L-L bereits gekreuzt haben. Die Bit an den Knoten 12D und die Bit an den Knoten auf der rechten Seite von 12D können jedoch die Linie L-L auf keine Weise bereits gekreuzt haben. Wenn XQ den Wert 0 hat und die 8 Vertikalwege 12D-12E bis 5D-5E beschritten werden, besteht immer noch die Möglichkeit, daß die ursprünglich an den Knoten 12D-5D vorhandenen Bit die Linie L-L kreuzen. Auch wenn diese Vertikalwege benutzt werden und die Bit zu den Knoten 12E-5E übertragen werden, können die Bit beim letzten Schritt noch L-L kreuzen, wenn XI6 den V/ert 1 hat. Folglich ist, weil die
8 Wertikalwege bei Verschiebungen nach links gesperrt sein sollen, wenn X8 den Wert 0 hat, die Sperrung bedingt. Die Wege missen nioht gesperrt sein, wenn XI6 eine 1 ist. Sann können die 8 Vertikalwege benutzt werden, auch wenn die über sie übertragenen Bit; die Linie L-L noch nioht gekreuzt haben, da sichergestellt ist, daß sie beim letzten Schritt L-L kreuzen.
Die Übertragungsfunktion für die 8 Vertikalwege 12D-12B bis 5D-5E lautet ,(U5) £Cb*L") + X16T . Bei den drei Operationen, die keine Verschiebungen naoh links sind, hat HL den Wert 0 und HL den tfert 1, so daß der in der eokigen Klammer stehende Ausdruck ebenfalls 1 ist. Für die drei Operationen besteht keine Notwendigkeit, die
909839/1U9
U7A581
J I —
Vertikalwege zu sperren, außer als Funktion des Leitausdruokes X8. Uenn ΧΘ den Wert 0 hat, ist ΧΘ eine 1, und die Übertragungsfunktion hat den Wert 1. Dann sind die Wege nicht gesperrt. Wenn X8 eine 1 ist, hat X8 den Wert 0 und die Übertragungsfunktion ist 0, so daß die Übertragung über die Vertikalwege durch den Leitausdruck verhindert ist. Wenn andererseits eine Verschiebung nach links durchgeführt wird, hat HL den Wert 1 und HL den Wert 0. In diesem Fall reduziert sich die Übertragungsfunktion zu (X8)£xi6]. Venn X16 eine 0 ist, ergibt sich für die Übertragungsfunktion eine 0. Das ist die gewünschte Maßnahme, denn bei Verschiebungen nach links sollen die 8 Vertikalwege 12D-12E bis 5D-5E gesperrt sein, wenn X16 den Wert 0 hat. Wenn andererseits ™ X16 eine 1 ist, reduziert sich die Übertragungsfunktion auf den Leitausdruck X8. Dann sind die Vertikalwege nicht gesperrt. Das ist auch erforderlich, da diese 8 Vertikalwege nicht gesperrt sein und eine vertikale Übertragung auch bei Verschiebungen nach links ermöglichen müssen, wenn X16 den Y/ert 1 hat.
Als nächstes seien die Bit an den Knoten 15C-13C betrachtet. (Der Knoten 16C, der ebenfalls an der Spitze eines gestrichelten Vertikalweges zwischen den Zeilen C und D liegt, soll später betrachtet werden.) Wenn ein Schritt mit dem Wert 4 durchgeführt werden soll, können die Bit an den Knoten 15C-13C die Linie L-L noch nicht gekreuzt haben. Die drei Vertikalwege 15C-15D bis ^
I5C-I3D sollen bei Verschiebungen nach links gesperrt sein, wenn nicht sichergestellt ist, daß die Bit an den Knoten 15C—13C später L-L kreuzen. Ohne Rücksicht auf den Wert von X8 können «Jie drei Bit, die nach unten zu den Knoten I5D-I3D übertragen werden, L-L immer noch kreuzen, falls XI6 den Wert 1 hat. Wenn X8 = 1 ist, findet eine Verschiebung mit dem Wert 8 zwisohen den Zeilen D und Ji statt, aber XI6 muß ebenfalls den Wert 1 haben, damit diese Bit die Linie L-L kreuzen (X8 und XI6 haben tatsächlich niemals beide den Wert 1, da dies ein Leitwort bedeuten würde, dessen Wert größer als 20 ist). Folglich ist sichergestellt, wenn und nur wenn XI6 den Wert 1 hat, daß die 3 Bit an
909839/1U9
U74581
den Knoten 15C-13C später die Linie L-L kreuzen, auch wenn die gestrichelten Vertikalwege benutzt werden. Es müssen also die 3 Vertikalwege auf die gleiche Weise bedingt gesperrt werden, wie die 8 Vertikalwege 12D-12E bis 5D-513. Die Übertragungsfunktion für diese 3 Wege ist mit der vorherbetrachteten Übertragungsfunktion identisch, mit der Aufnahme, daß der Leitausdruck (X8) durch den Ausdruck (X4) ersetzt ist. Die Übertragungsfunktion für die 3 Vertikalwege 15C-I5D bis 13C-I3D lautet also (X4) [ÜL + X16] .
Auch das Bit am Knoten 16C kann die Linie L-L noch nicht gekreuzt haben, wenn der Schritt mit dem Wert 4 gerade durchgeführt wird, weil die bis dahin erfolgte maximale Verschiebung höchstens 3 (2+1) sein kann. Der /Veg I6G-I6D gehört aber zu einer anderen Kategorie als die Wege 15C-I5D bis 13C-13D. Wenn der Vertikalweg I6C-I6D benutzt wird, kann das Bit am Knoten 16C nachfolgend die Linie L-L auch dann nicht kreuzen, wenn XI6 den V/ert 1 hat. Da die Eingangsschiebegröße und das Leitwort, daß das Komplement dieser Größe mit Bezug auf 20 ist, 20 oder weniger sein muß, muß X8 den './ert 0 haben, wenn XI6 eine 1 ist, und das Bit am Knoten 16C kann für X4 = 0 nicht v/eiterkommen als bis zum Knoten OE. Polglich kann das Bit am Knoten 16C in keinem Fall die Linie L-L kreuzen, wenn der Vertikalweg I6C-I6D benutzt wird. Also muß der Weg I6C-I6D unbedingt gesperrt werden. Die tibertragungsfunktion für diesen Weg lautet (X4)(HL). Für alle Operationen außer einer Verschiebung nach links hat (HL) den Wert 1. v/enn die Leitfunktion X4 0 ist, hat (X4) den Wert 1. Die Übertragungsfunktion ist dann eine 1 und der Vertikalweg I6C-I6D kann, wie verlangt, benutzt werden. 'Venn X4 den Wert 1 hat, ist die Übertragungsfunktion 0, wie es für die richtige Führung von Bit durch das Netzwerk erforderlich ist. V/enn andererseits bei Verschiebungen nach links HL eine 1 ist, hat (KL) den V/ert 0. Dann ist die Übertragungsfunktion 0 und der Vertikalweg ist unbedingt gesperrt.
909839/1 U9
U74581
\lenn ein Schritt um zwei Positionen durchgeführt wird, können die Bit des ursprünglichen Wortes bereits um maximal 1 i-ooition verschoben worden sein. Folglich können die Bit an den knoten 1OB und I7B die Linie L-L auf keine Weise bereits gekreuzt haben. Es sei angenommen, daß diese Bit die entsprechenden Vertikalwege zu den Knoten 18C und I7C benutzen. Damit da3 zum knoten 17C übertragene Bit die Linie L-L kreuzt, muß es noch um 18 Positionen nach rechts verschoben werden. Das Bit am Knoten 18C muß noch um 19 Positionen nach rechts verschoben werden. Als einzige .Schritte verbleiben diejenigen mit 4» 8 und 16 Positionen. Gemeinsam sind die Schritte mit 8 und 16 Positionen nicht zulässig. Die einzige Kombination von Schritten, die sicherstellt, daß %
beide Bit die Linie L-L kreuzen, ist die mit 4 und 16 Positionen. Folglich müssen die V/ege 18B-18C und 17B-I7C bei allen Verschiebungen nach links gesperrt werden, wenn nicht X4 und XI6 beide den ',Veit 1 haben. Die Übertragungsfunktion für diese beiden Wege lautet (X2) [ill + (X16)(X4)J. Diese Übertragungsfunktion beschreibt die Tätigkeit d r beiden Wege bei allen 4 Operationsarten. Bei den 5 Operationen, die keine Verschiebung nach links beinhalten, hat (HL) den Wert 1. Die Vertikalwege übertragen Daten-Bit, wenn X2 den Wert 0 hat. Das ist erforderlich, da die beiden Wege auf . normale Weise arbeiten sollen, wenn bei allen Operationen außer Verschiebungen nach links ein Vertikalschritt zwischen den Knoten 18B und 18C und den Knoten I7B und 17C erforderlich ist. Wenn X2 den Wert 1 hat, übertragen die beiden ./ege keine Daten-Bit, ™
da die Diagonalwege anstelle der Vertikalwege von den Knoten 18B und I7B aus benutzt werden. Bei Verschiebungen nach links hat HL den .7ert 0. Wenn X2 eine 0 ist, hat X2 den Wert 1, aber die übertragungsfunktion hat den Wert 1 nur dann, wenn X4 und XI6 beide 1 sind. Die Vertikalwege sind also bei allen Verschiebungen nach links gesperrt, wenn nicht sichergestellt ist, dai. 1-i/erte, die über diese /ege nach unton übertragen v/erden, nachfolgend die L-L kreuzen.
Der letzte, noch zu betrachtende gestriohelte Vertikalweg, der die Linie D-D kreuzt, ist der .Veg 19A-19B. Die Übertragungsfunktion
909839/1 U9 öadoriqiNAl
für diesen .'ei:: iat ;;Leich der gerade für lic .o<;e 18...-180 iuv". ^']ύ-^rJC abgeleiteten. ..'enn eine 1 au Knoten 19λ vertikal :;u:i Knoten 12B überbraten wird, kann sie die Linie L-L nur :.roa;;«n, wenn sie nachfolgend um 20 I'osi tiorien nach rechts verschoben wird. Folglich .;ird der /et: bei allen Yeruchiemuven nach linns gesperrt, auber wenn X4 und X1b beide den ,ort 1 haben. Lan beachte, daß, wenn X4 und X16 beide den ..ert 1 haben und eine Verschiebung nach links durchgeführt wird, die ursprünjliche Verschiebegröße Ü gewesen sein muß. Der e ; 19a— 19>J wird r.lso bei allen Verschiebungen nach links gesperrt sein, außer wenn (Ins Einga.ngs-Ditenwort überhaupt nicht verschoben werden soll. Do.s ist auch die erforderliche Funktion, v/eil, wenn das D tcnv/ort überhaupt nach linK3 verschoben wird, das Bit an Knoten 19·'-1 also das am v;eitesten links stehende Bit im ursprünglichen Datenwort, gelöscht v/erden muL.
Die soeben für die 20 gestrichelten VertikalwOf.e abgelei br. ton 20 Übertraoun£s funktionen definieren die .α-bei tsv/oise ;'iiec:er ..g,;g für alle 4 Guerationsarten. Die Vertikalv/e^e oben rechts von diesen ./egen brauchen außer durch die Leitfunktionen nicht gesteuert zu werden, da die Bit an den !.noten am oberen Ende dieser ./··.'i-;e die Linie L-L aucn dann nachfolgend kreuzen können, wenn sie vertikale Schritte ausfuhren. Für diese Vertikalw-.;^G i: t al.so keine spezielLe Steuerung bei der Ausführung einer Verschiebung nach links erforderlich. Eine spezielle Steuerung ist auch für keinen Vertikalwec erforderlich, wenn eine der 3 anderen Operationsarten durchgeführt wird. Folglich hat die Übertragungsfunktion für jeden dieser /ege einfach die Form (Xi). Jeder dieser ..'ege überträgt nur dann ein Bit nach unten, wenn sein Steuerbit im Leitwort eine 0 ist. 7,'enn das Steuerbit eine 1 ist und die Diagonalwe -;e benutzt werden sollen, haben die ubertragungsfunktionon für die Vertikalwege den V/ert 0.
Die letzte Gruppe von noch zu betrachtenden Vertikalwe;jen sind diejenigen im unteren linken Teil der Zeichnung. In Fi;;ur 1 h.-.ben
BAD ORIGINAL
die ibertra^ungsfunktionen für diese Wege einfach nur die Form (XT). J.uch bei Verschiebungen nach links soll die übertragung zugelassen sein, wenn Xi den Wert ü hat, da alle 1-V/erte, die an den Knoten am oberen Ende dieser V/ege erscheinen, die Linie L-L bereits gekreuzt haben müssen. Das gleiche gilt jedoch nicht für die Vertikalwege im unteren linken Teil der Figur 2. Da einige der gestrichelten Vertikalwege bei Verschiebungen nach links nicht gesperrt sein dürfen, können 1-Werte über diese V/ege nach unten zu den Knoten im unteren linken Teil der Zeichnung auch dann über^rajen werden, wenn sie die Linie L-L noch nicht gekreuzt haben. Es sei jedoch daran erinnert, daß 1-Werte nur dann über die V^rtikalwege nach unten übertragen werden sollen, wenn sichergestellt iot, dal· sie nachfolgend die'Linie L-L kreuzen. 1Jc ist also nicht nötig, eine zusätzliche Sperrung für irgendeinen der Vertikalwege im unteren linken I1 eil der Zeichnung vorzusehen. Die jbertragungsfunktionen für diese ./pge haben wiederuu die Foru (X|).
'Ίε müssen jet::t die l'bertragungsfunktionen für die Diagonalwege i-."i>;;el eitet werden, beinahe alle DiagonaJwege haben übertragungsfunktion der Form (Xi). Die Diagonalwege werden innner dann benutzt, vjen:j die entsprechenden oteuer-Bit in dem ."ort für die Vorschiebegrüße den "ert 1 haben. Die Diagonalwege, deren ιbertragungafunktionen nicht die einfache Form (x1) haben, sind diejenigen, welche die Linie L-I. kreuzen. Es soll daran erinnert werden, daß diosG ..(--.e bei Verschiebungen nach rechts gesperrt v/erden müssen. i)io '.'berbr.-igungsfunktionen für die Diagonalwege, die L-L kreuzen, h&ben p1:-:o die Form (Xi)(IIR). HR hat nur dann den Wert 1, wenn eine Verschiebung nach rechts durchgeführt wird. Bei Verschiebungen nach rechts werden die Diagonalwege, die L-L kreuzen, gesperrt, da. ihre Übertragungsfunktionen den Wert ü haben. Wenn eine der drei anderen Operationsarten durchgeführt wird, hat HH den V/ert 0, und die Übortragungsfunktionen der Diagonalwege, die L-L kreuzen, reduzieren sich auf die Form (X1), da diese Diagonalwege auf nie ,Leiche Weise genteuert v/erden, wie die anderen i)i.v;on.'i]wege im Jfotzwerk.
-^«««909839/1149
Din Analyse der Ficut 2 wurde gegeben, dnriit das Verfahren zur Ableitung der Übertragungsfunktionen für alle Arten von Y/egen auch dann verständlich ist, wenn sie für ein System abgeleitet werden müssen, bei dem die Zahl von Bit in einem Datenwort nicht eine Potenz von 2 ist. In den Figuren 4-11 ist ein Ausführungsbeicpiel einer Schaltung für ein System πit 20 Bit gezeigt, das auf dem ITetswerk gemäß Fig. 2 beruht.
Schiebe- und Rotierschaltung für 20 Bit (Fig. 4-11)
^ In der Schiebe- und Hotierschaltung sind die Gatter nur in schematischer Form dargestellt. Bevor zu einer Analyse der Schiebe- und Rotierschaltung übergegangen wird, muß die verwendete besondere Gatter-Schaltung betrachtet werden. Die Grundschaltung des Gatters ist in Figur 3A dargestellt. Figur JB zeigt die symbolische Dar-r Stellung des Gatters·, die in der Zeichnung benutzt wird. Figur 3C ist eine Tabelle, die die Ausgangsspannung eines Gatters mit 3 Eingängen für die & Kombinationen von Eingangs-Signalpegeln angibt.
Die Operation des Gatters läßt sich kurz wie folgt beschreiben. Der jiusgang liegt nur dann auf niedrigem Potential (θ), wenn alle fc Eingänge auf hohem Potential (i) liegen. - Im folgenden soll zur Vereinfachung der Ausdruck "hohes Potential" durch den Ausdruck "hoch" und der Ausdruck "niedriges Potential" durch den Ausdruck "tief" ersetzt werden. - Andererseits liegt der Ausgang hoch, wenn wenigstens ein Eingang tief ist. Bei dem Ausführungsbeispiel der Erfindung stellen Signale mit niedrigen Pegel (Erde) 0-werte dar, und Signale mit hohem Pegel 1-Werte. Gemäß Fig. 3 A sind, wenn alle Eingänge hoch liegen, alle Eingangsdioden in Sperrrichtung vorgespannt. Folglich fließt ein Strom von der Quelle über den Widerstand 301, die Diode 303 und den Basis-Emitterübergang des Transistors 3Q1. Der Transistor leitet, und der Ausgang ist über den Transistor gegen Erde kurzgeschlossen. Der
BAD ORIGINAL 90 9839/1U9
U7A581
Ausgang liegt also tief, wenn alle Eingänge hoch sind. Wenn jedoch wenigstens ein Eingang tief ist, fließt der Strom von der Quelle 300 durch die entsprechende Eingangsdiode zu der Eingangsquelle mit niedrigem Pegel. Es fließt kein Strom über die Diode 303, und der Transistor 301 bleibt gesperrt. Der Kollektor dieses Tranistors, also der Ausgang des Gatters, liegt folglich hoch, und zwar auf dem gleichen Potential wie die Quelle 302. Damit der Ausgang hoch liegt, muß nur einer der Eingänge tief liegen. Die Figur 3C zeigt die Arbeitsweise des Gatters, wenn drei Eingänge vorgesehen sind. Das Ausgangssignal des Gatters hat den V/ert 1, wenn wenigstens eines der Eingangssignale eine 0 ist. der Ausgang liegt nur dann tief, wenn alle Eingänge hoch liegen. 'Jena ein bestimmtes Gatter nur einen Eingang aufweist, arbeitet es als Inverter, \lenn der Eingang tief ist, liegt der Ausgang hoch, und wenn der Eingang hoch liegt, ist der Ausgang tief.
Das spezielle, bei dem Ausführungsbexspiel der Erfindung benutzte Gatter ist aus folgendem Grund vorteilhaft. Die Ausgänge von zwei Gattern können zusammengeschaltet werden, und der kombinierte Ausgang liegt tief, wenn einer der individuellen Ausgänge tief ist. Aus Fig. 3A ist zu ersehen, daß auch wenn der Transistor 3Q1 nicht leitet, der Ausgang tief liegen kann, wenn der Ausgangsanschluß über den Transistor in einem anderen Gatter gegen Erde kurzgeschlossen sein kann, dessen Ausgangsanschluß über den entsprechenden Transistor mit Erde verbunden ist. Bei der im folgenden becchriebenen Anlage wird die Eingangssammelleitung jeder Registerstufe durch eine Vielzahl von Gattern gespeist, ein Vertikalgatter von der gleichen Stufe und eine Gruppe von Diagonalgattern von Stufen, die weiter links liegen. Nur eines dieser Gatter soll bei einem beliebigen Schritt in Tätigkeit sein, da entweder alle Diagonalgatter in einer von fünf Grippen oder alle Vertikalgatter in Tätigkeit sind. Dadurch, daß der Transistor in dem nichtbetätigten V/eg so gesteuert wird, daß er ausgeschaltet bleibt, wird das Potential auf der Eingangssammelleitung allein durch die Operation des ausgewählten Gatters gesteuert. Menn der
909839/1149 bad original
-38- U7A581
Transistor in diesem Gatter nicht leitet, lieg^ die i^ingan^ssammelleitung auf hohem Potential. Venn der 'i'ransistor jedoch leitet, liegt die Samuelleitung tief. Folglich läßt sich das Potential jeder Singangssammelleitung in .-ibhs.ngi^keib von dem Zustand nur einer der Registerstufen steuern-. Die nicht betätigten (oder gesperrten) Gatter liefern immer hohes Potential für die Sammelleitungen. Es steuert also in ..'irklichkeit das gewählte Gatter das Potential der Sammelleitung, und zwar in Abhängigkeit davon, ob der 'i'ransistor dieses Gatter leitet oder nicht.
Die Einzelheiten der auf dem Netzwerk der Fig. 2 beruhenden elektronischen Schiebe- und Rotierschaltung für 20 Bit sind in den Figuren 4 - 11 gezeigt. Die Zuordnung der Figuren zeigt Fi0 1.12. Das 20-stufige Register, das die btufen 310 bis ST19 enthält, ist im oberen Teil der Figuren 6-8 dargestellt. Direkt unterhalb der Registerstufen befindet sich die Gruppe von 20 Vertikalgatlern 0V-19V. Die Figuren 6-8 enthalten außerdem die drei Gruppen von Diagonalgattern A0-A19, B0-B19 und C0-C19, die jeweils Verschiebungen nach rechts um 1, 2 und 4 Positionen steuern. Die Figuren 9-11 enthalten die letzten beiden Gruppen von Diajonalgattern D0-D19 und 30-219} die jeweils Verschiebungen nach rechts um 8 und 16 Positionen steuern. Die Figuren 4 und 5 zeigen die Steuersohaltungen, die den Betrieb der 6 Gruppen von Gattern in den Figuren 6 bis 11 beeinflussen. Die Steuerschaltungen bestimmen, welche G8tter jeweils in Tätigkeit sind, um die richtige Bearbeitung des sich ursprünglich im Register befindenden Datenwortes zu steuern, "ieitere, nicht gezeigte Schaltungen werden benutzt, um zu Anfang ein '/ort in das Register einzuschreiben. Die Einzelheiten dieser Schaltungen sind zur Erläuterung des erfindungsgemäßen Ausführungsbeispiels nicht erforderlich.
Jede Stufe ist mit einer Eingangssammelleitung und einer Ausgangssammelleitung verbunden. "Jenn die Stufe eine 0 darstellt, liegt die Ausgangssammelleitung auf niedrigem Potential, und wenn die Stufe eine 1 darstellt, liegt die Ausgangssaianelleitung auf hohem Potential. Zum Einschreiben eines Bit in eine Regi3terstufe sind
909839/1 U9
- "οαΛΟ BAD ORIGINAL
die entc-c,jen™esetzten Potentiale erforderlich. Um also eine 0 in eine Stufe einzuschreiben, muß die Jinganjssammelleitung auf hohen Potential -liegen, und um eine 1 einzuschreiben, muli die ^injairjssr.wiaelleitnnß' auf niedrigen Potential liefen. Oberhalb jeder Gtufe ist eine Trigger-Leitung an die Ader 5^5 angeschaltet. V/enn ein ."-it in einer I\egisterstuf e vorhanden ist, wire: die Gtufe (lurch das /otential der Eingangssamnielleitung nicht beeinflußt. ..r-nn jedoch ein Impuls am Trigger-Eingang erscheint, wird in ..ibii;-.n,^'i; kcit vo;:; ioti?ntial der äingan^ssaniaelleitung ein neues Bit in die ctufe eingeschrieben. Sobald der Trigger-Impuls aufhurt, hat das Potential der Eingangesamme1leitung erneut keinen iiinflujä uchr auf die Stufe. Die Registerstufen STO bis STt? weisen beiα imsprechen auf den Trigger-Inpuls eine geniignnd ^roise innere Verzögerung auf, dat. die jiu:;t;angssamiue!leitungen ihren ..art so lan1;e nicht andern, bis der Trigger-Impuls aufhört.
An jeder IJi.n^on.vSsannelleitung enden 6 Gatter. Beispielsweise sei die Stufe 10 betrachtet. Das Gatter 10V steuert das Potential c-.ιιϊ der liing ngusariiaelleitmig entsprechend dem Potential auf der ^uci'j.vja^ns.'ii.uiielleitung, I.it anderen '/orten, das Gatter 10Y stellt das Vertikalgatter dar, d:.s lediglich das erneute· Hinschreiben des Bit in die Stufe 10 des Registers steuert. Das Diegonalgatter „11 ist dasjenige Gatter in der ersten Gruppe, das das Bit auf der .i.ui'a'an,^ssaiainelleitung der iStufe 11 sur Singcui-i'SsaEiDielleitmig der Stufe 10 r'berträgt, wenn ein Schritt um eine Position nach rechts ausgeführt wird. Das Gatter B12 ist das Diagonalgatter in der ^reiten Gruppe, das ein Bit von der Ausgangssammelleitung der Stufe 12 zur Eingangssammelleitung der ütufe 10 überträgt, wenn die Getter in der zweiten Gruppe betätigt sind. Die Gatter in der dritten, vierten und fünften Gruppe, die an c:ie Eingangss'jLunelleitung der Stufe 10 angeschaltet sind, sind die Gatter 014, D18 und KG. Diene drei Gatter verbinden die iusgangssammellei-Gii der Stufen, die uu 4> 0 und 16 Positionen links von der o κ;. ] it-:,jQnt mit deren Eingangssanmelleitung.
S 0 9 δ 3 9 / 1 U 9 ; RAn nninm&l
CA® BAD ORIGINAL
Falls keine Steuersignale vorhanden sind, ist keines der Gatter in den Figuren 6-11 betätigt j das heißt, das Ausgangspotential aller Gatter ist hoch. Da also das Ausgangspotential der 6 Gatter, die an jede Eingangssanimelleitun,r angeschaltet sind, hoch ist, liegt die Eingangs Sammelleitung ebenf 8.11s hoch. Bei jedem Betriebsschritt sind die 20 Vertikalgatter oder die 20 Gatter in jeder Diagonalgruppe betätigt. Da nur ein Gatter der an jede Eingangssammelleitung angeschalteten Gatter betätigt sein kann, ergibt sich, daß das Potential auf der Sammelleitung allein von der Betätigung dieses Gatters abhängt. Das Ausgangspotential der fünf anderen, an die Sammelleitung angeschalteten Gatter ist hoch. Wenn das bei dem Schritt betätigte Gatter hohes Potential an seinem Ausgang erzeugt, bleibt die Eingangssammelleitung auf hohem Potential, und wenn der Trigger-Impuls auf der Ader 505 erscheint, wird eine 0 in die Stufe eingeschrieben. "Venn der Ausgang des betätigten Gatters auf niedrigem .Potential liegt, ist das Potential der Eingangssammelleitung niedrig, und wenn der Trigger-Impuls auf der Ader 505 erscheint, wird eine 1 in die Stufe eingeschrieben.
Die Steuersignale werden in άφα Schaltungen der Figuren 4 und 5 abgeleitet. Die zur der Steuerschaltung übertragenen Kommandos werden elektronisch gewonnen, aber da die Gewinnung dieser Kommandos für das Verständnis der Erfindung nicht erforderlich ist, ist ihre Erzeugung lediglich symbolisch auf der linekn Seite der Fig.4 dargestellt. Die Adern HR, HL, (JR und QL liegen alle normalerweise auf niedrigem. Potential« Wenn irgend eine Operation durchgeführt werden soll, geht nur eine dieser Adern auf hohes Potentail, Bei Verschiebungen nach rechts ist dies die Ader HR, bei Verschiebungen nach links die Ader HL, bei Rotationen nach rechts die Ader QE und bei Rotationen nach links die Ader QL. Gleichzeitig mit dem Anlegen positiven Potentials an eine dieser vier Adern zur Angabe der durchzuführenden Operation werden Steuerpotentiale an die fünf Größenadern A1, A2, A4, ΑΘ und A16 angelegt. Die Potentiale auf diesen Adern stellen 5 Bit in einem Binärcode dar,
BAD ORiGJNAL 909839/1U9 ■
welche die Größe der gewünschten Verschiebung angeben. Diese Größe ist der nicht koplementierte Wert und damit die tatsächliche Größe der auszuführenden Verschiebung. Der Hauptzweck der Schaltungen gemäß Figur 4 besteht darin, das Leitwort zu gewinnen, das die Verschiebung der Bit im Register tatsächlich steuert.
Die Leit-Bit, die die Verschiebung steuern, erscheinen auf den Leitern X16, ΧΘ, X4, X2 und X1. Die Adern xTfT, X8, X4, X2 und xT führen die Komplemente der Bit auf den entsprechenden Leitadern. Die Komplemente werden zur Steuerung der Verschiebung ebenfalls benötigt. Die 5 Adern X16, X8, X4, X2 und X1 liegen auf den gleichen Potentialen wie die entsprechenden Adern A16, A8, A4» A2 und A1, wenn die Verschiebung nach rechts erfolgt. Wenn jedoch eine Verschiebung oder Rotation nach links durchzuführen ist, ist das Leitwort auf den Adern X16-X1 das Komplement der Schiebegröße auf den Adern AI6-AI mit Bezug auf die Dezimalzahl 20. Figur 4 enthält die Schaltungen zur Bildung des Komplements der Eingangs-Schiebegröße mit Bezug auf 20, wenn die Richtung der Verschiebung links ist.
Die Gatter 401» 402, 403 und 404 dienen als Inverter, da jedes von ihnen nur einen Eingang aufweist. Da nur eine der Adern BH, HL, QR und QL hoch liegt, ist der Eingang nur eines der 4 Gatter tief. Vor der Angabe eines Befehls liegen alle vier Adern HR, HL, QR und QL tief. Alle 4 Ausgänge der Gatter 401-404 liegen hoch. Da beide Eingänge des Gatters 405 und beide Eingänge des Gatters 406 normalerweise hoch liegen, sind die Ausgtinge der beiden Gatter 405 und 406 normalerweise tief. Wenn eine Verschiebung oder Rotation nach links durchgeführt wird, geht ein Eingang des Gatters 406 tief und folglich der Ausgang hoch. Entsprechend geht, wenn eine Verschiebung oder Rotation naoh reohts durchgeführt wird, ein Eingang des Gatters 405 tief und der Eingang hoch. Die Ausgangssignale der Gatter 405 und 406 hängen also nur von der Richtung der Verschiebung und nicht der speziellen auszuführenden Operation ab. Die Ausgänge dieser beiden Gatter steuern die
909839/1149
Komplement-Bildung der Jiingangs-Gchiebegroiae. Zwischen Verachiebe- und B.ofcationsoperationen wird kein Unterschied gemacht, da die Komplement-Bildung der Eingangs-Schiebe^röße lediglich eine Funktion der Schiebe-Richtung und nicht der speziellen Art der durchzuführenden Operation ist.
Wenn die Verschiebung nach rechts erfolgt, ist der Ausgang des Gatters 4O6 tief. Da das Ausgangssignal des Gatters 406 an einem Eingang jedes der Gatter 407-417 liegt, sind die Ausgange dieser Gatter alle hoch. Die Ausgänge verschiedener dieser Gatter sind zuaammengeschaltet, aber da alle Ausgänge hoch liegen,, liegen auch alle Leiter 418-421 hoch. Diese Leiter sind mit den Ausgängen der Gatter 422-425 verbunden, und da die 4 Leiter 418-421 hoch liegen, sind die an die Adern XI6, X8, X4 und X2 angelegten Potentiale nur eine Punktion der Operation der Gatter 422-425.
Ein Eingang jedes dieser 4 Gatter ist mit dem Ausgang des Gatters 405 verbunden, der bei einer Verschiebung nach rechts hoch liegt. Der andere Eingang jedes dieser Gatter ist an eine der Adern XI6, X8, A4 und A2 angeschaltet. Folglich isb das Ausgangssignal jedes dieser Gatter das Komplement des entsprechenden Bit der Schiebegröße. Beispielsweise ist also das Potential auf der Ader Χίο die Umkehrung des Potentials auf der Ader AI6. Der Inverter 429 invertiert den Bit-V/ert auf der Ader XI6, und das Aus gangs signal dieses Gatters, XI6, ist gleich dem v/'ert des Bit A16. Entsprechendes gilt für die Gatter 426, 427 und 428. Folglich 3ind bei Verschiebungen nach rechts die Bit XI6, X8, X4 und X2 die gleichen wie die Bit auf den Adern AI6, A8, A4 und A2. Die Ader X1 ist direkt mit A1 verbunden, so daß das Bit X1 den gleichen Wert wie das Bit der niedrigsten Ziffernstelle im 7/ort für die Eingangsgröße hat. Das Gatter 430 invertiert den Wert des Bit auf der Ader A1, und, da der Ausgang des Gatters 430 direkt mit der Ader X1 verbunden ist, ist das Bit X1 das Komplement des Bit X1. Wenn also die Richtung der Verschiebung rechts ist, ist das Leitwort (X16)(X8)(X4)(X2)(X1) identisoh mit der Eingangs-Schiebegröße. Die Bit XI6, X8, X4, X2 und Χ? sind einfach nur die Komplemente der entsprechenden Bit in dem endgültigen Wort für die Schiebegröße. Die komplementierten Bit werden ebenfalls für Steuerzweoke benötigt. 90 9839/1149
Die Gatter 407-417 und die Gritter 430-434 "bilden das Komplement der Einguugs-Schiebegröße auf den Adern Α16-Λ1 mit Bezug auf die Zr.hl 2C immer dann, wenn die Icichtung der Verschiebung links ist. Die Operation dieser Gatter läßt sich am besten "bei einer Prüfung der folgenden 'fabelte verstehen. Die Tabelle gibt die Binärform für jede der Dezimalzahlen 0-20 an. Das Komplexent jeder Zahl mit lieaug auf 20 int ebenfalls aufgeführt. Auf der rechten Üsite dor Tabelle sind 5 Spalten vorhanden, und zwar je eine Spalte für die Bit XI6, X8, X4, X2 und X1. Eine Prüfung jeder Spalte zeigt, daii das entsprechende Bit eine 1 sein muß, damit des endgültige Leitviort das IZomplement des Eingangswortes für die 3chiebo;;rüße mit Besur auf 20 ist.
9 0 9 8 3 9 / 1 1 A 9£
Dezimal
zahl
Binär
form
Komplement
der Dezimpl-
zahl mit Be
zug auf 20
Binär
form
Bit des Komplements
Binärform, die den 1
1 haben
Xl 6 X8 X4 X2
X X X in
X1
O 00000 20 10100 X X X
1 00001 19 10011 X X X
2 00010 18 10010 X X
3 00011 17 10001 X X X X
4 00100 16 10000 X X X X
VJl 00101 15 01111 X X X
6 00110 14 01110 X - χ
7 00111 13 01101 X X X
8 01000 12 01100 X
9 01001 11 01011 - X
10 01010 10 01010
11 01011 9 01001 X X
12 01100 8 01000 X X
13 01101 7 00111 X X
14 01110 6 00110 X
VJI 01111 VJ! 00101 X X X
16 10000 4 00100 . X
Η 10001 3 00011 X
18 10010 *2 ' 00010
19 10011 1 00001 X
20 10100 0 00000
Zunächst zeigt die Tabelle sofort f daß das Bit X1 immer das gleiche vie das Bit A1 auch dann ist, wenn das Komplement der Eingangs-Schiebegröße mit Bezug auf 20 gebildet rird. Aus diesem Grund ist die Ader X1 in Figur 4 direkt mit der Ader A1 verbunden. Die Ader X1 führt aufgrund der Invertierung durch das Getter 430 immer das Komplement des Bit X1. Die anderen 4 Bit X16, X8, X4 und X2 verden in Abhängigkeit von der Operation der Gatter 407-417 und 430-434 gesteuert. Die Grundlagen für den Aufbau der Schaltung sind die folgenden Die Ausgänge aller Gatter 422-425 liegen hoch,
9 09839/1U9
BAD ORiQiNAL
de ein Singrnr jedes dieser Getter mit dem Ausgsnp des G'-tters 405 -verbunden ist, der hoch liegt, wenn die Richtung der Verschiebung links ist. Folglich wird der Wert jedes der Bit Χΐβ, X8, X4 und X2 durch das Potential der jeweils zugehörigen Ader 418-421 gesteuert. Jede dieser Adern muß tief gehen, wenn das entsprechende komplementierte Bit im Leitwort eine 0 sein soll, das heißt, jede dieser Adern muß tief gehen, wenn das entsprechende der Bit Χ1β, X8, X4 und X2 im endgültigen Wort für die Verschiebegröße· eine 1 sein soll.
Zunächst sei die Ader 4I8 betrachtet, die den Wert des Bit XI6 steuert. Wie die Tabelle zeigt, muß diese Ader tief gehen, damit das Bit XI6 den Wert 1 hat, wenn die Eingangs-Schiebegröße 0, 1, 2, 3 oder 4 ist. Die Eingangs-Schiebegröße besitzt einen dieser Werte, wenn AI6, A8 und A4 alle den Wert 0 haben, oder wenn AI6, A8, A2 und A1 alle den Wert Ö haben. Drei von den Eingängen des Gatters 417 sind mit den Ausgängen der Gatter 434» 435 und 432 verbunden. Wenn die Bit AI6, A8 und A4 alle den. Wert 0 haben, sind die Ausgänge dieser drei Gatter hoch und damit drei von den Eingängen des Gatters 417 hoch. Wenn die Verschiebung nach links erfolgt, ist der vierte Eingang des Gatters 417» der mit dem Ausgang des Gatters 406 verbunden ist, ebenfalls hoch. Da alle 4 Eingänge des Gatters 417 hoch sind, ist sein Ausgang tief und die Ader 4I8 tief, wie verlangt. Der andere Fall, bei dem die Ader 4I8 tief sein muß, wenn alle Bit AI6, A8, A2 und A1 den Wert 0 haben, wird durch das Gatter 416 gesteuert. Der Eingang dieses Gatters, der mit dem Ausgang des Gatters 4Ο6 verbunden ist, ist hoch, wenn die Verschiebung nach links erfolgt. Die anderen 4 Eingänge sind mit den Ausgängen der Gatter 434» 433» 431 und 430 verbunden, die hoch liegen, wenn die Bit AI6, A8, A2 und A1 alle der Wert 0 haben. Folglich liegt der Ausgang des Gatters tief, wenn die Bit AI6, A8, A2 und A1 alle den Wert 0 haben, so daß das Bit Xi6 eine 1 ist.
909839/1149
H7A581
Die Gatter 412-415 steuern das Potential der Ader 419 und den T.7ert des Bit X8. Die Arbeitsweise dieser Gatter läßt sich für jede der 20 möglichen Eingangs-Schiebe^'rÖßen unterauchen. Die Ausgänge aller dieser Gatter liegen hoch, außer wenn die Verschiebung nach links erfolgt, und die Eingangs-ochiebegröße ist eine der Zahlen 5-12. V7ie die Tabelle zeigt, muß das Bit X8 nur dann eine 1 sein, das heißt, die Ader 419 muß tief liegen, wenn die Eingangs-5chiebegröi3e eine der Zahlen 5-12 ist. '■"Wenigstens einer der Ausgänge der Gatter 412-415 geht tief, wenn die Verschiebung nach links erfolgt und die Eingänge -Schiebegröße einen der Y.rerte 5-12 hat. Auf entsprechende 7/eise steuern die-Gatter 409-411 den Vert der Bit X4 und die Gatter 407 und 4O8 den 7ert der Bit X2. Die Hfuptfunktion der Schaltungen in Figur 4 bestehen darin, das Leitwort (X16)(X0)(X4) (X2)(X1) abzuleiten, das die ',7ege steuert, die das D&tenwort im Netzwerk nimmt. Die Richtung der Verschiebung durch das Netzwerk ist immer links. V/enn das Eingangskommando für die Anlage lautet, nach links zu verschieben oder zu rotieren, wird das Leitwort, das die tatsächliche Verschiebung nach rechts Steuerfa, so ausgebildet, daß es das Komplement der -iJingan^s-Jchiebegröße mit Bezug auf 20 ist.
Zusätzlich zu den 10 Adern XI6-XI, die von Figur 4 su den übrigen Teilen der Schiebe- und Rotierschaltung führen, gehen 2 Adern HL und HR von Figur 4 zu den übrigen Figuren. Diese 2 Adern geben an, ob eine der Schiebe-Operationen durchzuführen ist. Die Schaltungen in den übrigen 'feilen der Anlage benötigen keine zusätzlichen Informationen. 7/enn die 2 Adern HL und HR keine Schiebe-Operation angeben, wird das Eingangsdatenwort nach rechts rotiert. Zur Durchführung einer Rotation nach links ist keine v/eitere Beeinflussung erforderlich, da das Komplement der Eingfiigs-Schiebegröße bereits gebildet ist und automatisch die Rotation nach links steurt, obwohl das Eingangsdatenwort tatsächlich nach reohts rotiert wird.
BAD ORIGINAL
Figur 5 enthält einen Ringzähler 504 mit 6 Stufen R1-R6. Es sei daran erinnert, daß fünf Schritte zur Durchführung jeder Operation erforderlich sind. Wenn die Ausgangsader L1 der Stufe H1 hoch liegt, wird der erste Schritt, und zwar entweder vertikal oder diagonal, ausgeführt. Wenn die Ausgangsader L2 der Stufe R2 hoch liegt, findet der zweite Schritt, vertikal oder diagonal, statt. Entsprechendes gilt für die Stufen R3-R5 und die Ausgangsadern L3-L5. Zu Anfang enthält die Stufe R6 des Zählers das 1-Bit. Nachdem die verschiedenen Kommandosignale an die Steuerschaltung angelegt sind, und das Leitwort abgeleitet ist, wird ein Start-Impuls an den Eingang S des Flipflops 5OO angelegt. Das Flipflop schaltet in den Zustand 1 um, und das Gatter 501 ist erregt. Der ^ Impulsgenerator 502 arbeitet kontinuierlich, aber so lange das Gatter 501- nicht erregt ist, werden die Impulse nicht zur Verzögerung 503 und dem Schiebe-Eingang des Ringzählers 504 übertragen. Vfenn das Gatter jedoch durch Anlegen des Start-Impulses erregt ist, beaufschlagen die Impulse aus dem Impulsgenerator sowohl die Verzögerung als auch den Zähler. Der erste, an den Zähler angelegte Schiebe-Impuls bewirkt, daß das "Ir-Bi t in der Stufe r6 zur Stufe R1 zurückgeführt wird. Folglich liegt die Ader L1 auf hohem Potential und der erste Schritt wird ausgeführt. !Tatsächlich steuert die Erregung der Ader L1 lediglich die Erzeugung des richtigen Potentials auf jeder der 20 Eingangssammelleitungen. Die Bit in den Registerstufen werden erst beeinflußt, wenn einer Trigger-Impuls an die Ader 505 angelegt wird. Der j
gleiche Impuls aus dem Impulsgenerator 502, der zunächst die Erregung der Ader L1 bewirkt hat, wird über die Verzögerung 503 zur 'frigger-Eingangsader 5O5 übertragen. Der Impuls wird verzögert, damit die richtigen Potentiale auf den 20 Eingangssammelleitungen erzeugt werden bevor die neuen Bit in die Registerstufen eingeschrieben werden. Der zweite Impuls aus dem Impulsgenerator 502 schiebt das 1-Bit aus der Stufe R1 des Ringzählers 504 zur Stufe R2. Dadurch wird die Ader L1 aberregt und die Ader L2 erregt, um den zweiten Schritt zu steuern, der v/iederum entweder vertikal oder diagonal erfolgen kann. Dieser Vorgang setzt sich fort, bis zum Schluß der fünfte Impuls die Erregung der an den Ausgang der Stufe R5 angeschalteten Ader LT6 bewirkt. Wenn der fünfte Impuls
über die Verzögerung 503 übertragen wird, wird der fünfte Schritt, entweder vertikal oder um 16 Positionen nach reohts, durchgeführt. Zu diesem Zeitpunkt erscheint das -verschobene Wor,t in den Registerstufen STO bis ST19, und es sind keine weiteren Operationen erforderlich. Der sechste Impuls aus dem Impulsgenerator 502 bewirkt, daß das 1-Bit in der Stufe R5 zur Stufe R6 verschoben wird. Die Ausgangsader der Stufe R6 ist an den Stop-Eingang R des Flipflops 500 angeschaltet. Wenn das Flipflop in den Zustand 0 umschaltet, geht der Ausgang 1 auf niedriges Potential und das Gatter 501 ist abgeschaltet. Der Zähler 504 bleibt also zur Vorbereitung der nächsten Operation mit erregter Stufe R6 stehen.
Von der Figur 5 führen verschiedene Adern zu den Figuren 6-11. Die Adern X1, X2, X4, X8 und X16 steuern die Erregung der Diagonalgatter in den entsprechenden Gruppen. Wenn beispielsweise die Ader X8 auf hohem Potential liegt, sind die Gatter D1-D19 betätigt und übertragen die Bit in den entsprechenden Stufen zu um 8 Positionen weiter rechts liegenden Stufen. Wenn die Ader X8 auf niedrigem Potential liegt, sind diese Diagonalgatter während des vierten Betriebsschrittes nicht betätigt, da während dieses Schrittes die Vertikalgatter betätigt sind. Auch die Adern L1, L2, L4> L8 und L16 führen über das Kabel 520 zu den Figuren 6-11. Jede Ader ist an alle 20 Gatter in einer entsprechenden Gruppe von Diagonalgattern angeschaltet. Nur eine dieser Adern liegt während jedes der 5 Schritte der Schiebe-Operation auf hohem Potential, so daß höchstens eine der 5 Gruppen von Diagonalgattern in jedem Schritt betätigt sein kann. Die 20 Gatter der Gruppe sind jedoch nur dann betätigt, wenn die entsprechende Ader X1-X16 auf hohem Potential liegt.
Die restlichen Schaltungen in Figur 5 leiten die Steuersignale für die 20 Vertikalgatter 0V-19V ab. Es seien zunächst die 6 Gatter 530-535 betrachtet. Der Ausgang des Gatters 535 ist an einen Eingang jedes der 20 Vertikalgatter angeschaltet. Der Ausgang des Gatters 535 liegt normalerweise tief, damit der Ausgang jedes
9 0 9 8 3 9 / 1 U 9
BAD ORIGINAL
U74581
der Vertikalgatter auf hohem Potential ist. Wenn kein Vertikalschritt auszuführen ist, muß der Ausgang jedes Vertikalgatters auf hohem Potential liegen, damit das Potential der entsprechenden Eingangssammelleitung durch das betätigte Gatter der fünf an die Sammelleitung angeschalteten Diagonalgatter bestimmt ist. Der Ausgang des Gatters 555 geht während eines Schrittintervals nur dann auf hohes Potential, wenn ein Vertikalschritt während dieses Intervalls auszuführen ist. Wenn also beispielsweise die auf den Adern XI6-XI dargestellte Schiebegröße die Binärzahl 01011 ist, sind Vertikalschritte während des dritten und fünften ochrittintervalls auszuführen, und der Ausgang des Gatters 535 bleibt auf niedrigem Potential mit Ausnahme der Schrittintervalle 3 und 5> bei denen er auf hohes Potential geht.
Das Gatter 535 wird durch die Ausgänge des Gatters 530-534 gesteuert. Die Adern LI-LI6 sind jeweils an einen Eingang eines entsprechenden dieser Gatter angeschaltet. Ba zu Anfang jede · dieser Adern auf niedrigem Potential liegt, sind die Ausgänge aller 5 Gatter hoch, und der Ausgang- des Gatters 535 ist tief. Während des ersten Schrittintervalls liegt die Ader L1 auf hohem Potential. Wenn die Ader ΧΪ hoch ist, das heißt, die Vertikalgatter während des ersten Schrittintervalls zu betätigen sind, sind beide Eingänge des Gatters 530 hoch und der Ausgang geht tief. Folglich geht der Ausgang des Gatters 535 hoch und steuert die Operation der Vertikalgatter, Wenn während des ersten Schrittintervalls ein Diagonalsohritt ausgeführt werden soll, liegt die Ader X1 auf niedrigem Potential, der Ausgang des Gatters 530 bleibt hoch und der Ausgang des Gatters 535 bleibt tief. Entsprechendes gilt für die Gatter 531-534, die das Gatter 535 während der Schrittintervalle 2-5 steuern. Beispielsweise geht der Ausgang des Gatters 533 während des vierten Sohrittintervalls nur dann tief, wenn die Ader L8 hooh Hegt und die Ader ΧΘ ebenfalls hoch ist. In einem solohen Pail ist der Vertikalschritt auszuführen, und die Ader 535 geht auf hohes Potential,
903839/1149
Zur Durchführung einer Rotation nach rechts sind keine Sperrsignale erforderlich. Auch zur Durchführung von Rotationen nach links werden keine Sperrsignale "benötigt. Nach Ableitung des Komplements der Schiebegröße findet die normale Rotation nach rechts statt. Bei Verschiebungen nach rechts ist jedoch ein Sperrsignal erforderlich, um diejenigen Diagonalgatter zu sperren, welche die übertragung von Bit aus Stufen am rechten Ende des Registers zu Stufen am linken Ende steuern. Die Ader HR liegt bei Verschiebungen nach rechts auf hohem Potential, und diese Ader führt zu den Figuren 6-11, um die Sperrung der Diagonalgatter zu steuern, wie im folgenden beschrieben werden soll. Bei-Verschiebungen nach links müssen einige der Vertikalgatter gesperrt sein. Die Vertikalgatter-Sperrsignale v/erden durch nie Gatter 5O0-512 abgeleitet und erscheinen auf den Adern BL1 , BL2, BL4-"-, I5L4B, BLü und BL16.
Zunächst sei das aperrsi^nal auf der Ader BL16 betrachtet. L^mäß Figur 2 müssen die Vertikalwege zwischen den iCnoten 0:1 ι rid '.'Γ bis 4E und 4F während des fünften ochrittintervalls gesperrt sain, das heißt, =die 5 Vertikalgatter OV bis 4V müssen automatisch das Einschreiben von 0-'iorten in die :Jtufen 0 bis 4 steuern, wenn XI6 den V,rert 0 hat. ,Venn XI6 eine 0 ist, sind die an die Sin&r-nrssammelleitung jeder der Stufen 0 bis 4 angeschalteten 5 uiagonalgatter nicht betätigt und ihre Ausgänge liegen hoch. Das Potential der Eingangssammelleitungen ist allein durch die Vertikalgatter bestimmt, und wenn die Ausgänge der 5 Vertikalgatter hoch liegen, ist das Potential der Eingengssammelleitungen hoch, und es werden 0-\7erte in die ersten 5 Stufen de3 Registers eingeschrieben. Die Ader BLI6 ist an einen Eingang jedes der Gftter OV bis 4V angeschaltet, und wenn diese Ader während des fünften ochrittintervalls auf niedriges Potential gehts werden Ü-Werte in die ersten 5 Stufen eingeschrieben, wie verlangt. Die Ader BLI6 liegt normalerweise hoch, da die beiden Adern L16 und HL, »die zu den Eingängen des Gatters 507 führen, tief liegen, »"fahrend des fünften Schattintervalls ist die Ader LI6 auf hohem Potential. V/enn die
909839/1U9
BAD ORIGINAL
Ader JIL hoch liegt, das heißt, eine Verschiebung naoh links ausgeführt wird, geht der Ausgang des Gatters 507 tief und die Ausgänge der Vertikalgatter OV bis 4V werden auf hohem Potential gehalten. 17atürlieh werden, wenn während des fünften ochrittintervalls ein Diagonalschritt ausgeführt wird, die Ausgänge dieser 5 Gatter und auch die Ausgänge der übrigen Vertikalgatter auf hohem Potential gehalten, damit das Potential auf den Eing'-ngssanmelleitungen allein durch das Bit-Signal bestimmt wird, das über das eine, an jede Eingr.ngssammelleitung angeschaltete, betätigte Magonalgatter übertragen wird. Wenn jedoch Vertikals-chritte ausgeführt werden, sind die einzigen Gatter, die betatift sein können, die Vertikalgatter, und wenn die Ausgänge der Gatter OV bis 4V durch das niedrige Potential auf der Sperrader BL 16 auf hohem Potential gehalten werden, liegen die Eingangsstinmelleitungen hoch. Dann werden O-Werte automatisch in die ersten 5 Stufen eingeschrieben, unabhängig von den Bit-Werten, die zu Anffng in diesen Stufen waren.
? orechend Figur 2 müssen während des vies-tsn Schrittintervalls die an die Stufen 5 bis 12 angeschalteten Vertikalgatter gesperrt sein, das heißt, auch wenn Vertikalschritte ausgeführt werden, nässen 1He Ausgänge der Gatter 5V bis 12V auf hohem Potential gehalten werden, damit O-Werte automatisch in die Stufen 5 bis des .tegisters eingeschrieben werden, falls X8 eine 0 ist. Vv ie jo'loch oben beschrieben, ist die Sperrung nur bedingt. Diese fi.-tter müssen nur dann gesperrt sein, wenn die Bit in den Stufen Jy bis 12 die Linie L-L während des fünften Schrittes nicht kreuzen !tonnen. Yährend die Sperräder BL8 während des vierten Sohrittintorv^lls bei hohem Potential der Ader L8 auf niedriges Potentini gehen muß, wenn die Ader JlL hoch liegt, darf die Sperrader nur denn auf niedrigos i'otential gehen, wenn XI6 den Wert 0 hat. Aur; diesem Grund erhält df.c Gatter 508 drei Eingangs signale, nämlich L8, HL und X16. V.'enn X16 eine 1 ist, hat XI6' den Wert 0 und der Ausgang des Grotters 508 ist hoch, da die an die Stufen I, biß 12 nm.QBohaltoten Vertikalgatter nicht gesperrt sein dürfen.
Φ39 8 3 9 / 1 U 9
-52- H74581
Yvrenn jedoch X16 eine 1 ist und angibt, daß die Bit in den Stufen 5 bis 12 während des fünften Sohrittintervalls die Linie L-L nicht kreuzen werden, liegen die drei Eingänge des1 Gatters 508 hoch und die Ader BL8 geht während des fünften Schrittintervalls auf niedriges Potential.
Unter Bezugnahme auf Figur 2 soll daran erinnert werden, daß zur Ausführung des Schrittes mit 4 Positionen der übertragungsweg 16C-16D unbedingt gesperrt sein muß, während die 'Übertragungswege 13C-13D bis I5C-I5D nur dann gesperrt sein dürfen, wenn XI6 den _ Wert 0 hat, da die über diese 3 Vertikalwege nach unten über- W tragenen Bit die Linie L-L kreuzen, wenn der Diagonalschritt von
16 Positionen durchgeführt wird. Das Gatter 509 wird zur Ableitung des Sperrsignals BL4A benutzt. Die Ader BL4A geht unbedingt auf niedriges Potential, wenn die Adern L4 und HL hoch liegen. Die Ader BL4A ist an einen Eingang des Gatters 16V angeschaltet, und bei Verschiebungen nach links wird während des vierten Schrittintervalls das Bit in der Stufe 16 des Registers automatisch so abgeändert, daß es den IVert 0 hat. Das Gatter 510 wird zur Ableitung des Sperrsignals BL4B benutzt. Die Eingangssignale dieses Gatters sind die gleichen wie die für das Gatter 509 mit der Ausnahme, daß ein zusätzliches Eingangssignal XI6 vorgesehen ist. Folglich geht die Ader BL4B während des dritten Schrittintervalls k bei einer Verschiebung nach links nur dann auf niedriges Potential, wenn XI6 den Wert 0 hat. Dieses Sperrsignal geht an einen Eingang jedes der Gatter 1JV bis I5Y. Bei einer Verschiebung nach links werden während des dritten Schrittintervalls die Ausgänge dieser Gatter nur für den Fall auf hohes Potential gebracht, daß XI6 den Wert 0 hat.
Gemäß Figur 2 dürfen bei Verschiebungen nach links die Vertikalgatter I7B-I7C und 18B-18C nur dann gesperrt sein, wenn X16 oder X4 den Wert 0 hat. Y/enn wenigstens eines dieser Bit eine 0 ist, hat ein über die beiden Vertikalwege nach unten übertragenes Bit nicht die Möglichkeit, die Linie L-L bis zum Ende der Verschie-
; ;9 09839/1 U9
-53- . H74581
bung zu kreuzen. Folglich darf die Sperrader BL2, die an die Tertikaigatter 17V und 18V angeschaltet ist, während des zweiten Schrittintervalls bei Verschiebungen nach links nur dann auf niedriges Potential gehen, wenn wenigstens eines der Bit X4 und X16 den Wert 0 hat. Zwei von den Eingangssignalen des Gatters 511 sind die Signale L2 und HL. Diese Signale stellen während des zweiten Schrittintervalls bei einer Verschiebung nach links beide hohes Potential dar. Das dritte Eingangssignal des Gatters kommt vom Ausgang des Gatters 506. Die beiden Eingangssignale dieses Gatters sind die Bit X4 und X16. Wenn eines der Bit X4 und X16 den Wert 0 hat, geht der Ausgang des Gatters auf hohes Potential, und da alle drei Eingänge des Gatters 511 hoch liegen, geht das Sperrsignal BL2 auf niedriges Potential. Das Sperrsignal BL2 ist ein bedingtes Signal. Es geht während des zweiten Schrittintervalls bei einer Verschiebung naoh links nur dann auf niedriges Potential, wenn wenigstens eines der Bit X4 und X16 eine 0 ist. .Venn beide Bit den Wert 1 haben, ist der Ausgang des Gatters 506 tief, und das Sperrsignal BL2 bleibt.hoch, damit die Vertikalgatter 17V und 18V nicht automatisch gesperrt werden.
Der letzte, noch zu betrachtende gestrichelte Vertikalweg in Figur 2 ist der Weg 19A-19B. Dieser Weg ist einer der 5 Vertikalwege, die dem Gatter 19V entsprechen. Wie oben beschrieben, wird der Weg während des ersten SchrittintervalIs bei einer Verschiebung nach links bedingt gesperrt. Er ist nur dann gesperrt, wenn wenigstens eines der Bit X4 und X16 eine 0 ist. Die 3 Eingänge des Gatters 512 sind L1, HL und der Ausgang des Gatters 5O6. Der Bedingungsfaktor ist der gleiche wie der für die beiden Vertikalwege I7B-I7O und 18B-18C, und folglich ist das Gatter 5O6 an einen Eingang jedes der Gr.tter 51I und 512 angeschaltet.
Ea seien jetzt die Gatterverbindungen in den Figuren 6-11 betrachtet. Von den 6 Gruppen mit jeweils 20 Gattern ist nur eine Gruppe während jedes Schrittintervalls betätigt. Einem Eingang
909839/1U9
jedes der Gatter in der Gruppe A wird das Signal L1 zugeführt. Entsprechendes gilt für die Gruppen B, C, D und E von Diagonalgattern und die Signale L2, L4i L8 und L16. Polglich kann in jedem Schrittintervall höchstens eine der 5 Gruppen von Diagonalgattern betätigt sein, das heißt, die Ausgänge der Gatter in höchstens einer dieser Gruppen können auf niedriges Potential gehen, um das Einschreiben von 1-Vierten in die entsprechenden Stufen zu steuern,
Während des entsprechenden Schrittintervalls darf nur dann eine bestimmte Gruppe von Diagonalgattern in Tätigkeit treten, wenn während dieses Intervalls der Diagonalschritt auszuführen ist. Ob der Diagonalschritt auszuführen ist, wird durch das entsprechende der 5 Bit X1-X16 bestimmt. Das ßit X1 ist eines der iüngangssignale für jedes der Diagon?.!gat ter in der C-ruun>e Λ, das Bit X2 ist eines d^r Eingangs signale f"r jedes der Di' yonoli;£.tter in der Gruppe B, das Bit X4 ist eines der Eingangssigiu.le für jedes der Dia,:;onalgatter in der Gruppe G usw. Es seien beispielsweise die Gatter GO bis C19 betrachtet. Jedes dieser Gatter erhält ein Eingangssignal L4 und ein Eingangssignal X4. ..'ütirend des ersten, zweiten, vierten und fünften Üchrittintervalls ist L4 tief, und der Ausgang jedes der 20 Gatter wird auf hohem Potential gehalten, damit diese Gatter die Eingangssannielleitungen nicht steuern. Während des dritten Schrittintervalls ist L4 hoch, und die 20 Diagonalgatter sind nicht gegen eine Betätigung gesperrt. Wenn jedoch X4 eine 0 ist, sollen diese Gatter gesperrt sein, da der Diagonalschritt mit dem viert 4 nicht auszuführen ist wenn X4 eine 0 ist, wird der Ausgang jedes der 20 Gatter auf hohem Potential gehalten, und die Gatter üben wiederum keine Steuerung für die Potentiale der.Eingangssammelleitungen aus. Nur wenn ein Diagonalschritt mit dem Wert 4 auszuführen ist, liegen beide Signale L4 und X4 während des dritten Schrittintervalls hoch. Zu diesem Zeitpunkt bringt keines der beiden Signale die Ausgänge der Gatter auf hohes Potential, und die Gatter arbeiten entsprechend den übrigen Eingangssignalen.
909-839/1149
BAD ORiOlNAt.
Jedes der 100 Diagona!gatter v/eist neben einem der !-Eingänge und einem der X-Eingänge einen Eingang auf, der an die Ausgangssai.ii.ielleitung einer entsprechenden Stufe angeschaltet ist. Einige Magon~lgatter haben einen vierten Eingang HR, der jedoch im Augenblick nicht beachtet werden soll. Wenn die ersten beiden älnc'ange jedes Gatters hoch liegen, wird das Ausgangssignal allein durch den dritten Eingang bestimmt. Wenn der dritte Eingang, der an eine Ausgangssammelleitung angeschaltet ist, ebenfalls hoch liegt, geht der Ausgang auf niedriges Potential. Tenn andererseits der dritte Eingang tief liegt, bleibt der Ausgang auf hohem Potential auch dann, wenn die anderen beiden Eingänge hoch sind. Man ■ erkennt, daß, wenn eines der Diagonalgatter erregt ist, das darüber übertragene Signal invertiert wird. Wenn die ersten beiden Eingänge auf hohem rotential liegen, ist das Potential des Ausgangs dem des dritten Eingangs entgegengesetzt, der an eine Ausgangssammelleitung angeschaltet ist. Aus diesem Grund sind die Potentiale, die auf den Ausgangssammelleitungen 0- und 1-Werte darstellen, den Potentialen entgegengesetzt, die auf den Eingangs-Samuel leitungen erforderlich sind, um diese Bit in die Registerstufen einzuschreiben.
Als Beispiel sei dns Diagoualgatter C9 betrachtet. Während des dritten Schrittintervalls liegen, wenn X4 eine 1 ist, die Ausgänge der 20 Vertikalgatter und der Diagonalgatter der Gruppen A, B, D und E alle auf hohem Potential, Polglich liegen von den sechs an die Mngangssammelleitung der Stufe 5 angeschalteten Ausgängen die Ausgänge der Gatter 57, Αβ, BJ, C9, D13 und E1 alle auf hohem rotential mit Ausnahme des Ausgangs des Gatters C9, der auf niedriges i-otential gehen kann. Xlenn dieser Ausgang tief liegt, ist die Eingangssamraelleitung der Stufe 5 ebenfalls auf niedrigem Potential, /ährend des dritten Schrittintervalls liegt die Ader L4 hoch und steuert und steuert das Gatter G9 nicht. Da der Diagonalochritt auszuführen ist, liegt die Ader X4 ebenfalls hoch und steuert dns Gatter C9 nicht. Der dritte Eingang des Gatters int an die AusgangHsammelleitung der Stufe 9 angeschaltet. Wenn
39/ 1U9 BAD
die Stufe 9 ,eine O enthält, liegt die Ausgangssammelleitung auf , niedrigen Potential, und der Ausgang des Gatters C9 "bleibt hoch. Da die Ausgänge aller 6 Gatter, die an die Eingangssammelleitung der Stufe 5 angeschaltet sind, auf hohem Potential liegen, ist das Potential der Sammelleitung hoch, und es wird eine 0 in die Stufe eingeschrieben. Auf diese Weise wird die 0 in der Stufe 9 zur Stufe 5 geschoeben. Wenn andererseits die Stufe 9 eine 1 enthält, liegt ihr Ausgang hoch. Da alle drei Eingänge des Gatters G9 hoch liegen, geht der Ausgang tief und legt die Eingangssammelleitung der Stufe 5 an Erde. Da die EingangsSammelleitung tief ist, wird eine 1 in die Stufe 5 eingeschrieben.
Alle anderen Diagonalgatter arbeiten auf entsprechende Weise mit der Ausnahme, daß einige Gatter HR-Eing'angssignale aufweisen. Es sei daran erinnert, daß bei Verschiebungen nach rechts Bit, die über die Linie L-L in Figur 2 geschoben werden, nicht wieder auf der linken Seite in das Register eingefügt werden.dürfen. Ton den 20 Diagonalgattern der Gruppe A ist das Eingangssignal KR nur an das Gatter AO angeschaltet. Dies ist das einzige Gatter der Gruppe, das veranlassen kann, daß ein Bit die Linie L-L kreuzt, das heißt, auf der linken Seite wieder in das Register eingefügt wird. Bei einer Verschiebung nach rechts wird also, wenn HR den Wert 0 hat, der Ausgang des Gatters AO unabhängig vom Wert des Bit in. der Stufe 0 und dem Potential ihrer Ausgangssammelleitung auf hohem Potential gehalten. Da der Ausgang des Gatters AO hoch liegt, ist die EingangsSammelleitung der Stufe 19 ebenfalls hoch (die anderen 4 Diagonalgatter, die an dieser Eingangssammelleitung enden, arbeiten während des ersten Schrittintervalls nicht, und das Vertikalgatter 19V arbeitet nicht, wenn X1 eine 1 ist), und es wird eine 0 in die Stufe eingeschrieben, wenn ein Trigger-Impuls auf der Ader 505 erscheint. Von den ***■ Gattern der Gruppe B können nur die Gatter B1 und BQ Bit zu den Stufen (19 und 18) auf der linken Seite des Registers übertragen. Folglich ist das Signal HR als viertes Eingangssignal an diese beiden Gatter angelegt, damit sie bei Verschiebungen nach rechts
9U9839/1U 9
gesperrt sind. Entsprechendes gilt für die am weitesten rechts liegenden Gatter der Gruppen C, D und E. Das Sperrsignal ER ist ein Eingangssignal für die vier am weitesten rechts liegenden Diagonalgatter in der Gruppe G, die acht am weitesten rechts liegenden Diagonalgatter in der Gruppe D und die 16 am weitesten rechts liegenden Diagonalgatter in der Gruppe E,
Es sollen jetzt die Vertikalgatter OV Ms 19V betrachtet werden. Jedes Gatter weist drei Eingänge auf. Ein erster Eingang ist an die Ausgangssammelleitung der entsprechenden Stufe angeschaltet. Έβηη die anderen beiden Eingänge des Gatters hoch liegen, hat der Ausgang des Gatters, der an die EingangsSammelleitung der gleichen Stufe angeschaltet ist, das entgegengesetzte Potential wie die Ausgangssammelleitung und bewirkt, daß der gleiche Bit-Wert erneut in die Stufe eingeschrieben wird. Das Potential der Ausgangssammelleitung wird allein durch das Vertikalgatter bestimmt, da die Ausgänge der 100 Diagonalgatter auf hohem Potential bleiben, wenn die Vertikalgatter erregt sind. Der zweite Eingang jedes der Vertikalgatter liegt am Ausgang des Gatters 535. Die entsprechende Ader liegt normalerweise auf niedrigem, Potential, um die Ausgänge der 20 Vertikalgatter auf hohem Potential zu halten. Die vertikale Betätigungsader VE geht auf hohes Potential, damit die Vertikalgatter nur dann in Tätigkeit treten, wenn ein Vertikalschritt auszuführen ist. Es sei daran erinnert, daß der Ausgang des Gatters 535 normalerweise tief liegt. Er bleibt während jedes Schrittintervalls tief, wenn ein Diagonalschritt auszuführen ist, damit die Ausgänge der Vertikalgatter auf hohem Potential gehalten werden und folglich die Potentiale der entsprechenden Eingangssammelleitungen nicht steuern. Bei jedem Schrittintervall, in dem ein Vertikalschritt auszuführen ist, ist das Signal VE jedoch hoch. Die Vertikalgatter können also in Abhängigkeit von den anderen Eingängen in !Tätigkeit treten.
Das dritte Eingangssignal für jedes Vertikalgatter ist eines der Sperrsignale. Ohne diese Sperrsignale, die beispielsweise bei
909839/1149
-se- H7A581
Rotationen und Verschiebungen nach rechts nicht vorhanden sind, würde die Operation jedes Vertikalgatters allein durch das Potential der entsprechenden Ausgangssammel/leitung bestimmt. Bei Verschiebungen nach links müssen einige Vertikalgatter gesperrt sein, das heißt, ihre Ausgänge müssen auf hohem .Potential gehalten werden, damit O-Werte in die entsprechenden Stufen eingeschrieben v/erden. Wie oben erläutert, sind die verschiedenen Sperrsignale BL1 bis BL'! 6 an diejenigen Vertikalgatter angelegt, die so gesteuert werden müssen, deß sie bei Verschiebungen nach links automatisch O-Werte in die entsprechenden Stufen einschreiben. 7/ahrend die Sperrsignale normalerweise hoch liegen und keine Steuerung ausüben, ist während einer Verschiebung nach links, wenn ein Vertikalweg in Figur 2 zu sperren ist, das an das entsprechende Vertikalgatter angelegte Sperrsignal auf niedrigem Potential und bewirkt, daß der Ausgang unabhängig vom Potential der entsprechenden Ausgangssammeileitung auf hohes Potential geht. Da die Eingangssammelleitung auf üiese Weise auf hohem Potential gehalten wird, wird eine 0 in die entsprechende Stufe eingeschrieben. Wie oben erläutert, ist das Sperrsignal BL1 an einen Eingang des Gatters 19V angelegt, das Sperrsignal BL2 an die Eingänge der Grtter 17V und 18V, das Sperrsignal BL4A an einen Eingang-des Gatters 16V, das operrsignal BL4B an Eingänge der Gatter 13V bis 15V, <las Sperrsignal BL8 an Eingänge der Gatter 5V bis 12V und das Sperrsignal BL16 an Eingänge der Gatter OV bis $Ψ· Bde Sperrsignale sind nur bei Verschiebungen nach links wirksam und können dann während der entsprechenden Schrittintervalle auf niedriges Potential gehen. Jedes Vertikalgatter hat zusätzlich zu einem Bit-Eingangssignal von einer entsprechenden Stufe zwei Eingangssignale. Das an jedes Vertikalgatter angelegte Signal VE bewirkt das Arbeiten der gesamten Gruppe von Gattern im Gegensatz zum Arbeiten einer der 5 Gruppen von Diagonalgattern. Selbst wenn jedoch das Signal VE die Vertikalgatter zu betätigen versucht, können bestimmte Gatter immer noch in Abhängigkeit von den entsprechenden Sperrsignalen gesperrt werden. Durch die Sperrung der Vertikalgatter in der beschriebenen Weise wird die Möglichkeit geschaffen,
909839/1 U9
Verschiebungen nach links ι unter Verwendung von Schaltungen für Rotationen nach rechts durchzuführen.
Es sei noch angemerkt, daß Alternativmöglichkeiten für den Einsatz von Vertikalgattern zur Steuerung von Verschiebungen nach links mit Schaltungen für Rotationen nach rechts bestehen. Die Vertikalgatter werden bei Verschiebungen nach rechts und bei beiden Rotations-Operationen tatsächlich nicht benötigt, da sie lediglich das erneute Einschreiben der Bit in die Registerstufen steuern. Die Vertikalgatter sind bei dem Ausführungsbeispiel der Erfindung für Verschiebungen nach links erforderlich, um das Einschreiben von O-Werten in gewählte Stufen zu steuern. Statt der Vertikalgatter, die bei allen vier Operationsarten in Tätigkeit sind» kann eine Gruppe von Gattern vorgesehen sein, die nur bei einer Verschiebung nach links in Tätigkeit sind und die durch die Sperrsignale direkt derart gesteuert werden, dai3 sie O-V/erte in die gewählten Stufen einschreiben.
90-9 839/1 U-9

Claims (1)

  1. U7A581
    Patentansprüche
    1. Schiebe- und Rotierschaltung zur Verschiebung und Rotation der in den Stufen eines Registers enthaltenen Bit mit einer Rotierschaltung., die die Bit im Register in einer ersten Richtung rotiert und dabei die an einem Ende des Registers herausgeschobenen Bit am anderen Ende -wieder einfügt, dadurch gekennzeichnet, daß eine mit den Stufen des Registers verbundene Schaltung (Gatter OY- 1°/V) zur Durchführung einer Schiebe-Operation in der anderen Richtung| flas Einschreiben von 0-\7erten in diejenigen Stufen steuert, die bei Beendigung einer Rotier-Operation im anderen Falle Bit enthalten würden, die nicht an einem Ende aus dem Register herausgeschoben und am anderen Ende wieder eingefügt worden sind.
    2. Schiebe- und Rotierschaltung nach Anspruch 1, dadurch gekennzeichnet, daß eine Schaltung (Komplement-Schaltung in Mg. 4) zur Bildung des Komplements einer angegebenen Schiebegröße mit Bezug auf die Zahl von Stufen im Register die Arbeitsweise der Rotierschaltung steuert, -wenn eine Schiebe-Operation in der anderen Richtung durchzuführen ist.
    J. Schiebe- und Rotierschaltung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Schaltung zvut Durchführung der Schiebe-Operation in der anderen Richtung eine Vielzahl individueller Schaltungen (Gatter 0T-19V), die jeweils mit einer entsprechenden Stufe verbunden sind, und eine Schaltung (Gatter 530-535) enthält, die mit der Vielzahl individueller Schaltungen verbunden ist und diese zum Einschreiben von O-Werten in die
    909839/1149
    -61- . U74581
    Registerstufen nur in den Fällen erregt, wenn die Rotierschal tung nicht in !Tätigkeit ist.
    4. Schiebe- und Rotierschaltung naoh Anspruch 1, 2 oder J, dadurch gekennzeichnet, daß die Schaltung, die das Einschreiben von O-Werten in die Stufen steuert, so beeinflußt ist (durch die Ausgangssignale der Gatter 507-512), daß sie noch vor Durchführung der Schiebe-Operation Ö-Werte in diejenigen Stufen einschreibt, die Bit enthalten, welche bei Beendigung der Rotier-Operation nicht an einem Ende des Registers herausgeschoben sind. Λ
    909839/114
    Leerseite
DE1474581A 1964-12-23 1965-12-21 Schiebe- und Rotierschaltungsanordnung Expired DE1474581C3 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US420566A US3374463A (en) 1964-12-23 1964-12-23 Shift and rotate circuit for a data processor
US478536A US3374468A (en) 1964-12-23 1965-08-10 Shift and rotate circuit for a data processor

Publications (3)

Publication Number Publication Date
DE1474581A1 true DE1474581A1 (de) 1969-09-25
DE1474581B2 DE1474581B2 (de) 1973-07-26
DE1474581C3 DE1474581C3 (de) 1974-02-21

Family

ID=27024912

Family Applications (2)

Application Number Title Priority Date Filing Date
DE1474582A Expired DE1474582C3 (de) 1964-12-23 1965-12-21 Schiebe- und Rotierschaltung für eine Datenverarbeitungsanordnung
DE1474581A Expired DE1474581C3 (de) 1964-12-23 1965-12-21 Schiebe- und Rotierschaltungsanordnung

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE1474582A Expired DE1474582C3 (de) 1964-12-23 1965-12-21 Schiebe- und Rotierschaltung für eine Datenverarbeitungsanordnung

Country Status (7)

Country Link
US (1) US3374468A (de)
BE (2) BE674111A (de)
DE (2) DE1474582C3 (de)
FR (2) FR1464277A (de)
GB (2) GB1136399A (de)
NL (2) NL6515944A (de)
SE (1) SE314112B (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3417375A (en) * 1966-03-25 1968-12-17 Burroughs Corp Circuitry for rotating fields of data in a digital computer
US3553445A (en) * 1966-08-22 1971-01-05 Scm Corp Multicipher entry
US3496475A (en) * 1967-03-06 1970-02-17 Bell Telephone Labor Inc High speed shift register
US3510846A (en) * 1967-07-14 1970-05-05 Ibm Left and right shifter
GB1254537A (en) * 1967-12-12 1971-11-24 Sharp Kk Digital computer apparatus
US3582899A (en) * 1968-03-21 1971-06-01 Burroughs Corp Method and apparatus for routing data among processing elements of an array computer
US3659274A (en) * 1970-07-28 1972-04-25 Singer Co Flow-through shifter
US3866023A (en) * 1971-12-29 1975-02-11 Honeywell Inf Systems Apparatus and method for bidirectional shift register operation
US3800289A (en) * 1972-05-15 1974-03-26 Goodyear Aerospace Corp Multi-dimensional access solid state memory
US3790960A (en) * 1972-10-30 1974-02-05 Amdahl Corp Right and left shifter and method in a data processing system
US3967101A (en) * 1975-03-17 1976-06-29 Honeywell Information Systems, Inc. Data alignment circuit
US4162534A (en) * 1977-07-29 1979-07-24 Burroughs Corporation Parallel alignment network for d-ordered vector elements
JPS5636741A (en) * 1979-08-31 1981-04-10 Fujitsu Ltd Shift system

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3258584A (en) * 1957-04-09 1966-06-28 Data transfer and conversion system
US3076181A (en) * 1957-09-26 1963-01-29 Rca Corp Shifting apparatus
US3193808A (en) * 1960-10-13 1965-07-06 Sperry Rand Corp Digital shift circuit
US3192363A (en) * 1961-05-24 1965-06-29 Ibm Binary multipler for skipping a string of zeroes or ones
US3238377A (en) * 1961-12-04 1966-03-01 Ibm Cryogenic m out of n logic circuits
US3210737A (en) * 1962-01-29 1965-10-05 Sylvania Electric Prod Electronic data processing
US3274556A (en) * 1962-07-10 1966-09-20 Ibm Large scale shifter
US3229080A (en) * 1962-10-19 1966-01-11 Ibm Digital computing systems

Also Published As

Publication number Publication date
BE674111A (de) 1966-04-15
DE1474582B2 (de) 1973-07-26
NL153348B (nl) 1977-05-16
DE1474581B2 (de) 1973-07-26
DE1474582C3 (de) 1974-02-21
FR1464277A (fr) 1966-12-30
US3374468A (en) 1968-03-19
DE1474581C3 (de) 1974-02-21
DE1474582A1 (de) 1969-09-25
BE674117A (de) 1966-04-15
NL6515944A (de) 1966-06-24
FR1464279A (fr) 1966-12-30
GB1136399A (en) 1968-12-11
NL6601068A (de) 1967-02-13
SE314112B (de) 1969-09-01
GB1136246A (en) 1968-12-11

Similar Documents

Publication Publication Date Title
DE1901343C3 (de) Datenverarbeitungsanlage zur Ausführung von Mateirenrechnungen
DE2356260C3 (de) Dynamisch doppelt geordneter Schiebregisterspeicher und Verfahren zum Betrieb des Speichers
DE1474581A1 (de) Schiebe- und Rotierschaltung fuer eine Datenverarbeitungsanlage
DE2212873B2 (de) Aus schieberegistern aufgebaute speichereinrichtung und verfahren zum betrieb der speichereinrichtung
DE1275797B (de) Schaltung zur Realisierung von nicht vorherbestimmten Schaltfunktionen
DE1499739C3 (de) Datenspeicher zur gleichzeitigen Entnahme mehrerer Wörter
DE1449544A1 (de) Datenverarbeitende Maschine mit ueberlappend abrufbarem Speicherwerk
DE2318445A1 (de) Selektiv schaltbares schieberegister
DE2423265A1 (de) Informatikmaschine
DE1269182B (de) Inhaltsadressierter Informationsspeicher (Katalogspeicher)
DE1474351B2 (de) Datenspeicher
DE3546006C2 (de)
DE2459476C3 (de)
DE2235883C3 (de) Datenverarbeitungseinrichtung
DE1295656B (de) Assoziativer Speicher
DE1250489B (de) I Schaltungsanordnung zur Einspei cherung von Leerstellen-Kennworten in einen assoziativen Speicher
DE1916377B2 (de) Verfahren und Anordnung zur Verschiebung von Datenfeldern
DE2233164B2 (de) Schaltungsanordnung zur uebertragung von aufeinanderfolgenden bitstellen zwischen zwei registern
DE1296427B (de) Datenbearbeitungssystem
DE1549638B1 (de) Einrichtung zur Untersuchung zweier Vektorfolgen
DE1499284B2 (de) Datenverarbeitungsanlage
DE2936430A1 (de) Integrierte schaltung in dynamischer mos-logik mit getrennter anordnung kombinatorischer und sequentieller logischer elemente
DE2443749A1 (de) Computer-speichersystem mit einer speichereinheit
DE2047220C3 (de) Assoziativspeicher
DE1549638C (de) Einrichtung zur Untersuchung zweier Vektorfolgen

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
E77 Valid patent as to the heymanns-index 1977
8339 Ceased/non-payment of the annual fee