DE1916377C3 - - Google Patents

Info

Publication number
DE1916377C3
DE1916377C3 DE1916377A DE1916377A DE1916377C3 DE 1916377 C3 DE1916377 C3 DE 1916377C3 DE 1916377 A DE1916377 A DE 1916377A DE 1916377 A DE1916377 A DE 1916377A DE 1916377 C3 DE1916377 C3 DE 1916377C3
Authority
DE
Germany
Prior art keywords
register
gate
gates
value
lines
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE1916377A
Other languages
English (en)
Other versions
DE1916377A1 (de
DE1916377B2 (de
Inventor
Lawrence G. Temple City Calif. Hanson (V.St.A.)
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.)
Unisys Corp
Original Assignee
Burroughs Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Burroughs Corp filed Critical Burroughs Corp
Publication of DE1916377A1 publication Critical patent/DE1916377A1/de
Publication of DE1916377B2 publication Critical patent/DE1916377B2/de
Application granted granted Critical
Publication of DE1916377C3 publication Critical patent/DE1916377C3/de
Granted 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Image Processing (AREA)
  • Shift Register Type Memory (AREA)
  • Executing Machine-Instructions (AREA)
  • Multi Processors (AREA)

Description

- einen Subtrahierer (68) zur Bildung des Verschiebebetrages aus der Anfangsposition und der Endposition des Datenfeldes, wobei der Ausgang des Subtrahierers (68) mit dem Verschieberegister (23) verbindbar ist;
- ein mit dem Ausgang des Subtrahierers (68) verbindbares und m Ausgangsleitungen (32) aufweisendes erstes Maskierregister (29) für den größten Wert der Blendenöffnung;
— ein mit dem Ausgang des Subtrahierers (68) verbindbares und m Ausgangsleitungen (33) aufweisendes weiteres Maskierregister (30) für den größten Wert der Maski;; sowie
m logische Schaltungen (40), von denen jede aus der stellenmäßig entsprechenden Ausgangsleitung des ersten Maskierregisters sowie der stellenmäßig entsprechenden Ausgangsleitung des weiteren Maskierregisters den Ausgang für den jeweils anderen Eingang des stellenmäßig entsprechenden Übertragungstores (28) derart bildet, daß die unterhalb und einschließlich des größten Wertes der Blendenöffnung sowie oberhalb und ausschließlich des größten Wertes der Maske liegenden Übertragungstore (28) geöffnet sind.
2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß an den Subtrahierer (68) ein weiterer Subtrahierer (69) zur Bildung der Differenz aus der
Stellenzahl m des zweiten Registers (2) und dem Verschiebebetrag angeschlossen und mit dem Verschieberegister (23), dem ersten sowie dem weiteren Maskierregister verbindbar ist
3. Anordnung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Ausgangsleitungen (32) des ersten Maskierregisters (29) und die Ausgangsleitungen (33) des weiteren Maskierregisters (30) mit den Eingängen eines Vergleichers (34) gekoppelt sind, welcher die Bildung des Ausgangssignals in jeder logischen Schaltung (40) steuert
4. Anordnung nach Anspruch 3, dadurch gekennzeichnet, daß jede logische Schaltung (40) zwei komplementäre Signalpfade (42,46; 43,45) aufweist, die in Abhängigkeit von komplementären Ausgängen (35, 36) des Vergleichers (34) alternativ beaufschlagt sind.
5. Anordnung nach einem der Ansprüche 2—4 zur Übertragung eines Datenfeldes, welches sich von einer Anfangsposition Sl in einer Speicherzelle X ausgehend in die Speicherzelle X + 1 erstreckt, in eine durch die Stelle Dl mit Dl>Sl in einer Speicherzelle Y als Anfang bestimmte Endposition, dadurch gekennzeichnet, daß der in das erste Register (1) übertragene Inhalt der Speicherzelle X um einen Verschiebebetrag von N= Dl-Sl verschoben wird, wobei in das erste Maskierregister (29) Dl und in das weitere Maskierregister (30) N eingespeichert werden; daß ein N Stellen umfassender erster Teil des in das erste Register übertragenen Inhalts der Speicherzelle X + 1 in den restlichen Teil des zweiten Registers übertragen und der Inhalt des zweiten Registers in die Speicherzelle Kübertragen wird; daß sodann der restliche Teil des im ersten Register enthaltenen Inhalts der Speicherzelle X + 1 in den Anfang des zweiten Registers um den Verschiebebetrag N verschoben und der Inhalt des zweiten Registers in die Speicherzelle Y + 1 übertragen wird.
6. Anordnung nach einem der Ansprüche 2—4 zur Übertragung eines Datenfeldes, welches sich von einer Anfangsposition Sl in einer Speicherzelle X ausgehend in die Speicherzelle X + 1 erstreckt, in eine durch die Stelle Dl mit Sl> Dl in einer Speicherzelle KaIs Anfang bestimmte Endposition, dadurch gekennzeichnet, daß der in das erste Register (1) übertragene Inhalt der Speicherzelle X um einen Verschiebebetrag von m — N = m — Si. + Dl verschoben wird, wobei in das erste Maskierregister (29) Dl und in das weitere Maskierregister (30) m eingespeichert werden; daß ein restlicher Teil des im ersten Register enthaltenen Inhalts der Speicherzelle X in den Anfang des zweiten Registers übertragen wird, nachdem dessen Inhalt in die Speicherzelle Y übertragen worden war; und daß der in das erste Register übertragene Inhalt der Speicherzelle X + 1 in den restlichen Teil des zweiten Registers übertragen wird und der Inhalt des zweiten Registers in die Speicherzelle Y + 1 übertragen wird.
Die Erfindung betrifft eine Anordnung zur Übertragung eines Datenfeldes aus einer Anfangsposition in einem ersten Register mit /»Stellen in eine verschobene
Endposiiion eines zweiten Registers, mit einem m Verschiebeleitungen als Ausgangskreis aufweisenden Verschieberegister, wobei für jede Übertragung nur jeweils eine der Verschiebeleitungen ein einen Verschiebebetrag stellenmäßig bestimmendes Signal führt und m Ausgangsleitungen des ersten Registers mit den m Verschiebeleitungen nach Art einer quadratischen /n-reihigen Matrix derart an Eingänge von nf Gattern gelegt sind, daß jede der m Ausgangsleitungen mit jeweils eüicm Eingang von m Gattern und ein jeweils zweiter Eingang jedes der m Gatter mit einer der Verschiebeleitungen verbunden ist
Eine derartige Gattermatrix wird bei der in der US-Patentschrift 32 29 080 beschriebenen Hollerith-Maschine zur Ausführung von Multiplikationen an dem Inhalt des ersten Registers benutzt Das zweite Register hat daher eine durch den größten zulässigen Verschiebebetrag bestimmte Größe. Häufig ist eine Verschiebung des Datenfeldes jedoch nicht nur zur Ausführung von Rechenoperationen, sondern auch deshalb erforderlich, weil bestimmte Teile des Registerinhalts etwa zum Zwecke gesonderter Behandlung eine vorgegebene, von der Anfangsposition verschiedene Endposition in einem Register besetzen sollen. Bei einer entsprechenden Verschiebung des gesamten Registerinhalts werden in Fällen, in denen das interessierende Datenfeld kleiner als der Registerinhalt ist, im zweiten Register auch Stellen außerhalb des Datenfeldes in die Verschiebewirkung mit einbezogen, die bereits in anderer Weise mit Inhalt gefüllt sind.
Aus der US-Patentschrift 33 51 915 ist eine Maskierschaltung bekannt, bei der die Übertragung eines selektiven Datenfeldes aus einem Register durch eine der Größe des gewünschten Datenfeldes entsprechende Maske in ein zweites Register ausgeführt wird. Zur Bestimmung der Maskenöffnung dienen zwei Signale, aus mit Hilfe eines Addierers sowie mittels 1-aus-M-Übersetzern Steuersignale für Übertragungstore gebildet werden. Bei Verwendung einer derartigen Maskierschaltung in Verbindung mit der -eingangs genannten Gattermatrix ergeben sich Schwierigkeiten bei der Bildung des richtigen Maskierfensters aus den vorgegebenen Angaben über die Anfangsposition und die gewünschte Endposition des Datenfeldes. Bei der bekannten Maskierschaltung werden bei der Bildung eines komplementären Maskenfensters Rand-Teile des zu übertragenden Datenfeldes ausgeblendet, wenn nicht besonders, sich aus der Lage des Maskenfensters ergebende Randbedingungen berücksichtigt werden.
Der Erfindung liegt daher die Aufgabe zugrunde, eine Anordnung zur Übertragung eines Datenfeldes aus einer Anfangsposition in eine verschobene Endposition zu schaffen, bei der die GröPe, Lage und Verschiebung des zu übertragenden Datenfeldes keinen Beschränkungen unterworfen ist.
Bei der eingangs genannten Anordnung ist erfindungsgemäß dazu vorgesehen, daß m Übertragungstore zwischen die Ausgänge der Gatter und dem m Stellen umfassenden zweiten Register geschaltet sind; daß ein erster Eingang eines /r-len fk - i ,.. m) Übertragungstores mit dem Ausgang des ersten Gatters der k-\.tn Matrixreihe sowie mit den Ausgängen aller derjenigen weiteren Gatter verbunden ist, welche bei /f = 1 in der Hauptdiagonalen der Matrix oder bei k # 1 in zwei zur Hauptdiagonalen parallelen Geraden liegen,deren erste mit dem ersten Gatter der Α-ten Matrixreihe beginnt und deren zweite mit dem letzten Gatter der (k- l)-ten Matrixscheibe endet; daß mit dem jeweils anderen
Eingang jedes Übertragungstores je ein Ausgang einer Maskierschaltung verbunden ist, welche enthält:
— einen Subtrahierer zur Bildung des Verschiebebetrags aus der Anfangsposition und der Endposition des Datenfeldes, wobei der Ausgang des Subtrahierers mit dem Verschieberegister verbindbar ist;
— ein mit dem Ausgang des Subtrahierers verbindbares und m Ausgangsleitungen aufweisendes erstes Maskierregister für den größten Wert der Blendenöffnung,
— ein mit dem Ausgang des Subtrahierers verbindbares und m Ausgangsleitungen aufweisendes weiteres Maskierregister für den größten Wert der Maske; sowie
m logische Schaltungen, von denen jede aus der stellenmäßig entsprechenden Ausgangsleitung des ersten Maskierregisters sowie der stellenmäßig entsprechenden Ausgangsleitung des weiteren Maskierregisters den Ausgang für den jeweils anderen Eingang des stellenmäßig entsprechenden Übertragungstores derart bildet daß die unterhalb und einschließlich des größten Wertes in der Blendenöffnung sowie oberhalb und ausschließlich des größten Wertes der Maske liegenden Übertragungstore geöffnet sind.
Die Erfindung bringt den Vorteil, daß für sich nicht
adressierbare Teile von Datenwörtern an vorbestimmte Stellen eines Registers übertragen werden können, ohne
JIi daß der Inhalt der benachbarten Teile des zweiten Registers durch die Übertragung zerstört wird. Dabei sind Verschiebung und Maskierung so aufeinander abgestimmt, daß beide Vorgänge innerhalb einer Taktzeit, d. h. im wesentlichen gleichzeitig ausgeführt
η werden.
Wenn in Weiterbildung der Erfindung an den Subtrahierer ein weiterer Subtrahierer zur Bildung der Differenz aus der Stellenzahl m des zweiten Registers und dem Verschiebebetrag angeschlossen und mit dem ι» Verschieberegister, dem ersten sowie dem zweiten Maskierregister verbindbar ist, kann der zur Verschieberichtung jeweils gehörende Verschiebebetrag sofort aus dem zugehörigen Subtrahierer abgerufen werden. Wenn die Ausgangsleitungen des ersten Maskierregi- > sters und die Ausgangsleitungcn des weiteren Maskierregisters mit den Eingängen eines Vergleichers gekoppelt sind, welcher die Bildung des Ausgangssignals in jeder logischen Schaltung steuert, vereinfachen sich die in den logischen Schaltungen erforderlichen r>» Gatter, weil dann jede logische Schaltung zwei komplementäre Signalpfade aufweisen kann, die in Abhängigkeit von komplementären Ausgängen des Vergleichers, also je nach den Größenverhältnissen der im ersten Maskierregister sowie im weiteren Maskierre-■">> gister gespeicherten Werte, alternativ beaufschlagt sind.
In der in den Ansprüchen 5 und 6 charakterisierten
Weiterbildung der Erfindung lassen sich auch solche Datenfelder aus einem Speicher gewinnen, die Teile mehrerer zusammenhängender Speicherzellen beset-
wi zen.
Die Erfindung wird an Hand der Zeichnung an einem speziellen Ausführungsbeispiel nachfolgend beschrieben. Es zeigt
Fig. I ein schematisches Blockdiagramm eines *>r> digitalen Rechners mit Feldübertragungssteuerung,
Fig. 2 ein ins einzelne gehendes Diagramm der Verschiebeeinheit und der Abdeckeinheit nach Fig. 1,
Fig. 3 ein Diagramm der Steuerschaltung nach
19 16337
Fig. 1, die zur Ausbildung der Übertragung einer zwei Zellgrenzen eines Rechenspeichers überschreitenden Feldposition benötigt wird,
Fig.4 ein Operationsdiagramm für die Schaltung nach F i g. 1.
F i g. 5 die Übertragung eines Datenfeldes in einer Lage, die zwei Zellgrenzen in einem Rechenspeicher überschreitet,
Fig.6A bis 6F einzelne Verfahrensstadien während der Übertragung des Datenfeldes aus F i g. 5 und ι ο
F i g. 7 das Schaltbild einer der in F i g. 2 als Block dargestellten logischen Schaltungen.
In Fig. 1 ist die Übertragung eines Datenfeldes aus einer Position in Register 1, 2 oder 3 in eine verschiedene Position des gleichen oder eines anderen Registers 1, 2 oder 3 unter Steuerung der Feldübertragungssteuerung 4 dargestellt. Die Register 1, 2 und 3 werden von einem Schaltkreis 5 wahlweise an eine Verschiebeeinheit 6 und eine Abdeckeinheit 7 angeschlossen. Die Einheiten 6 und 7 übertragen ein Datenfeld, dessen Länge durch die Übertragungssteuerung 4 bestimmt ist, in eine neue Position, die ebenfalls durch die Übertragungssteuerung 4 festgelegt ist. Die Abdeckeinheit 7 wird durch einen Schaltkreis 8 wahlweise an eines der Register 1, 2 oder 3 -^ angeschlossen. Die Übertragungssteuerung 4 bestimmt, welches der Register 1, 2 oder 3 das Ausgangsregister, d. h. jenes Register ist, welches durch den Schaltkreis 5 mit der Verschiebeeinheit 6 verbunden wird und welches der Register 1, 2 oder 3 das Bestimmungsregister, d. h. jenes Register ist, das durch den Schaltkreis 8 mit der Abdeckeinheit 7 verbunden wird. Obgleich die Register 1, 2 und 3 so viele Ausgangs- und Eingangsleitungen wie Digitstellen besitzen, sind diese Leitungen in F i g. 1 lediglich durch eine einzelne Linie dargestellt. Auch die den Schaltkreis 5, die Verschiebeeinheit 6, die Abdeckeinheit 7 und den Schaltkreis 8 verbindenden Leitungen sind durch einzelne Linien wiedergegeben, obgleich tatsächlich so viele Leitungen wie Digitstellen in den Registern 1, 2 und 3 vorhanden sind.
Fig.4 zeigt an einem Beispiel die Arbeitsweise der Schaltung nach Fig. 1. Die Schaltung nach Fig. 1 bearbeitet die Daten auf paralleler Basis, d. h., daß die die Daten bildenden Digits durch die Schaltung gleichzeitig übertragen werden. Die vier in F i g. 4 dargestellten Rechtecke zeigen verschiedene Verfahrensstufen. Es wurde angenommen, daß die Daten in binärer Form vorliegen und eine Reihe von 48 Digitstellen, von 0 bis 47 bezeichnet, darsteilen. Die am wenigsten signifikante Digitstelle liegt bei 0, und die signifikanteste Digitstelle liegt bei 47. In dem obersten Rechteck der F i g. 4 ist ein zu übertragendes Datenfeld aus 14 Digitstellen enthalten. Die Ausgangsposition des Datenfeldes wird durch eine Reihe von Digitstellen 26 bis 39 repräsentiert Die Daten der Digitstellen 0 bis 25 und 40 bis 47 sollen nicht mit dem Datenfeld übertragen werden. Das unterste Rechteck aus Fig.4 zeigt die Endposition des Datenfeldes als eine Reihe von Digitstellen 18 bis 31. Bei der Übertragung des Datenfeldes in die Endposition sollen die die Digitstellen 0 bis 17 und 32 bis 47 besetzenden Daten nicht verändert werden. Um die Übertragung des Datenfeldes zu bewirken, werden alle Ausgangsdaten zunächst um eine Anzahl N von Digitstellen verschoben, die gleich der seitlichen Verschiebung zwischen der Ausgangs- und Endlage ist Das wird nach F i g. 1 durch die Verschiebeeinheit 6 ausgeführt Entsprechend dem zweiten Rechteck von oben in Fig.4 werden die Ausgangsdaten nach rechts um 8 Digitstellen verscho ben. Dann wird eine Maske gebildet, um die Digitsteller an beiden Seiten der Endposition abzublocken, währenc die Daten aus den Digitstellen innerhalb der Endposi tion übertragen werden. Die Werte zweier Parameter nämlich der größte Wert der Blendenöffnung und dei größte Wert der Maske, bestimmen diejenigen Digitstellen, die durch die Maske übertragen werden. Wenr der größte Wert der Blendenöffnung größer ist als dei größte Wert der Maske, dann werden die Daten aus der Digitstellen unterhalb und einschließlich des größter Wertes der Blendenöffnung und oberhalb und ausschließlich des größten Wertes der Maske durch die Maske übertragen und die anderen Datensteller abgedeckt. Diese Situation ist in dem zweiten Rechteck von unten in F i g. 4 dargestellt. Der größte Wert der Blendenöffnung ist 31, und der größte Wert der Maske ist 17. Demzufolge wird das Datenfeld von der Digitstellen 18 bis 31 durch die Maske übertragen.
Wenn der größte Wert der Maske gleich oder größer ist als der größte Wert der Blendenöffnung, dann werden die Daten aus den Digitstellen über und ausschließlich des größten Wertes der Maske und unterhalb und einschließlich des größten Wertes der Blendenöffnung durch die Maske übertragen. Wenn also der größte Wert der Maske 31 und der größte Wert der Blendenöffnung 17 wäre, dann würde das Komplement der in Fig.4 dargestellten Maske sich ergeben. Mit anderen Worten, die Daten aus den Digitsteilen 0 bis 17 und 32 bis 47 würden durch die Maske übertragen.
F i g. 2 zeigt die Verschiebeeinheit 6 und die Abdeckeinheit 7 im Detail. Beide Einheiten sind durch die gestrichelte, gedachte Linie 20 gegeneinander abgegrenzt. Die über Linie 20 liegende Abdeckeinheit 6 umfaßt eine quadratische, elektrische Schaltungsmatrix, deren Reihenzahl gleich der Anzahl der Digitstellen in den Registern 1, 2 und 3 ist. Jedes Matrixelement weist ein UND-Tor Ak' auf, wobei /die Zeilennummer und k die Spaltennummer angibt. Jede der Datenübertragungsleitungen 21 aus dem Schaltkreis 5 ist mit einem Eingang aller UN D-Tore in einer verschiedenen Spalte der Matrix verbunden; so ist z. B. die Leitung 21 ganz links in der Fig.2 mit jeweils einem Eingang der UND-Tore aus der Spalte 1 der Matrix verbunden. Der Wert der Verschiebung, der auf das Datenfeld auf den Ausgangsleitungen 21 angewandt werden soll ist in einem Verschieberegister 23 mit den Ausgangsleitungen 24 gespeichert. Jede der Ausgangsleitungen 24 ist mit einem Eingang aller UND-Tore in einer unterschiedlichen Zeile der Matrix verbunden; so ist z. B. die Ausgangsleitung 24 ganz links in der F i g. 2 mit jeweils einem Eingang der UND-Tore in der Zeile m der Matrix verbunden. Zu jeder Spalte der Matrix gehört eine ODER-Schaltung 25. Die Ausgänge der UND-Tore sind nun in der Weise mit den Eingängen der ODER-Tore 25 verbunden, wie die Koeffizienten der Determinante bei ihrer Entwicklung mit positivem Ausdruck erscheinen. So ist z. B. mit dem ODER-Tor 25 ganz links in der Fig.2 der Ausgang der folgenden m UND-Tore
verbunden: A\\ A2 2, A3 3 Am m. Das zweite
ODER-Tor 25 von links ist demzufolge mit den Ausgängen von Λ21, Aj1, Aa3, ..., A\m verbunden usw.
Die Verschiebeleitungen 27 verbinden die ODER-Tore 25 mit der Abdeckeinheit 7. Eine der Leitungen 24 ist aktiviert was von dem Verschiebewert N abhängt Wenn also z. B. die Leitung 24 aus dem Verschieberegister 23 ganz rechts in F i g. 2 aktiviert ist, dann werden
die über die Leitung 21 übertragenen Daten durch die erste Zeile der UN D-Tore und durch die ODER-Tore 25 zu den Leitungen 27 ohne jede Verschiebung, d. h. ohne jede seitliche Verlagerung der Digitstellen der Daten gegeben. Wenn die zweite Leitung 24 von rechts aus dem Register 23 aktiviert ist, dann werden die Daten auf den Leitungen 21 durch die zweite Zeile der UN D-Tore und durch die ODER-Tore 25 zu den Leitungen 27 gegeben, und zwar versetzt um eine Digitstelle nach links. Daher erscheint der von der linken Leitung 21 übertragene Binärwert an der rechten Leitung 27; der von der zweiten Leitung 21 von links übertragene Binärwert auf der Leitung 27 links; der von der dritten Leitung 21 von links übertragene Binärwert auf der zweiten Leitung 27 von links usw. Wenn die linke Leitung 24 aus dem Register 23 aktiviert wird, dann werden die Leitungen 21 durch die letzte Zeile der UN D-Tore und über die ODER-Tore 25 auf die Leitungen 27 gegeben und dabei um eine Digitstelle nach rechts verschoben. In diesem Falle wird der durch die rechte Leitung 21 übertragene Binärwert zur linken Leitung 27 übertragen; der durch die linke Leitung 21 übertragene Binärwert wird zur zweiten Leitung 27 von links übertragen; der von der zweiten Leitung 21 von links übertragene Binärwert wird zur dritten Leitung 27 von links übertragen, usw. Auf diese Weise kann durch Aktivierung einer bestimmten Leitung 24 eine Verschiebung der von den Leitungen 21 übertragenen Daten durch irgendeine Anzahl von Digitstellen erreicht werden.
Die Abdeckeinheit 7 weist eine Anzahl von UN D-Toren 28 auf, die gleich der Anzahl der Digitstellen in den Registern 1, 2 und 3 ist. Die verschobenen Daten an dem Ausgang der ODER-Tore 25 werden durch die Leitungen 27 zu einem Eingang der U N D-Tore 28 gegeben. Die in dem Register 29 für den größten Wert der Blendenöffnung und in einem Register 30 für den größten Wert der Maske gespeicherten Werte bestimmen die Digitstellen der verschobenen Daten, die durch die UND-Tore 28 weitergegeben werden. Die Register 29 und 30 haben eine Anzahl von Ausgangsleitungen 32 bzw. 33, die gleich der Anzahl der Digitstellen in den Registern 1, 2 und 3 ist Die Anzahl von Ausgangsleitungen aus den Registern 29 und 30, die aktiviert sind, hängt von dem in dem Register gespeicherten Wert ab. In jedem Falle entsprechen die aktivierten Ausgangsleitungen aus den Registern 29 und 30 den aufeinanderfolgenden Digitstellen der Leitungen 27, beginnend mit der am wenigsten signifikanten Digitstelle. Wenn z. B. der in dem Register 29 bzw. 30 gespeicherte Wert 10 beträgt, dann sind die Ausgangsleitungen des Registers entsprechend den ersten zehn Digitstellen aktiviert Die Ausgangsleitungen 32 und 33 sind zu einer Vergleichsschaltung 34 geführt Wenn der größte Wert der Blendenöffnung größer ist als der größte Wert der Maske, dann wird eine Sammelleitung 35 aktiviert Wenn der größte Wert der Maske gleich oder größer ist als der größte Wert der Blendenöffnung, dann wird eine Sammelleitung 36 aktiviert Eine der Anzahl der Digitstellen in den Registern 1,2 und 3 gleiche Anzahl von untereinander identischen logischen Schaltungen 40 steuern die Übertragung der verschobenen Daten durch die UND-Tore 28. Die Sammelleitungen 35 und 36 sind zu jeder der logischen Schaltungen 40 geführt
Jede der Ausgangsleitungen 32 und 33 ist mit derjenigen Ausgangsschaltung 40 verbunden, die der gleichen Digitstelle der Leitung 27 wie der Ausgangsleitung entsprechen. Jede logische Schaltung 40 ist dann mit dem entsprechenden UND-Tor 28 verbunden. In Abhängigkeit von den binären Zuständen auf den Leitungen 32, 33 und den Sammelleitungen 35 und 36 werden die den Digitstellen der Endposition entsprechenden logischen Schaltungen 40 aktiviert und öffnen die entsprechenden UND-Tore 28. Folglich wird derjenige Teil der verschobenen Daten in dem Feld, der übertragen werden soll, durch die UND-Tore 28 an die Leitungen 41 weitergegeben, die mit dem Schaltkreis 8 (Fig. 1) verbunden sind.
In F i g. 7 ist eine der logischen Schaltungen 40 im Detail wiedergegeben. Die Ausgangsleitung 32 der entsprechenden Digitstelle ist mit einem Eingang eines ODER-Tores 42 und einem Eingang eines UND-Tores 43 verbunden. Die Ausgangsleitung 33 der entsprechenden Digitstelle ist über eine Umkehrstufe 44 mit dem anderen Eingang des ODER-Tores 42 und dem anderen Eingang des UND-Tores 43 verbunden. Die Sammellei tung 35 liegt an einem Eingang eines UND-Tores 45, und die Sammelleitung 36 liegt an einem Eingang eines UND-Tores 46. Die Ausgänge des UND-Tores 43 und des ODER-Tores 42 werden jeweils auf die anderen Eingänge des UND-Tores 45 und 46 gegeben. Die Ausgänge des UND-Tores 45 und 46 liegen an einem ODER-Tor 47 und gelangen dann zu einem UND-Tor 28 (Fig.2) der entsprechenden Digitstelle. Die UND-Tore 45 und 46 arbeiten auf alternativer Basis. Wenn der größte Wert der Blendenöffnung größer ist als der größte Wert der Maske, dann aktiviert die Sammelleitung 35 das UND-Tor 45. In diesem Falle bestimmt das UND-Tor 43, ob die logische Schaltung aktiviert wird. Wenn beide Eingänge des UND-Tors 43 einer bestimmten logischen Schaltung aktiviert sind, dann wird die gesamte logische Schaltung aktiviert. Auf diese Weise werden diejenigen logischen Schaltungen aktiviert, die den Digitstellen von dem größten Wert der Blendenöffnung (einschließlich) bis zum größten Wert der Maske (ausschließlich) entsprechen.
Wenn der größte Wert der Maske gleich oder größer ist als der größte Wert der Blendenöffnung, dann aktiviert die Sammelleitung 36 das UND-Tor 46. In diesem Falle bestimmt die ODER-Schaltung 42, ob eine logische Schaltung aktiviert wird. Wenn einer der Eingänge des ODER-Tores 42 aktiviert ist, dann ist die logische Schaltung 40 ingesamt aktiviert Im Ergebnis werden also diejenigen logischen Schaltungen aktiviert die den Digitstellen oberhalb des größten Wertes der Maske (ausschließlich) und unterhalb des größten
Wertes der Blendenöffnung (einschließlich) entsprechen.
Die in den F i g. 1 und 2 beschriebene Schaltung kann außerordentlich viele Operationen ausführen. Die Übertragungssteuerung 4 liefert jedenfalls den Ver-
schiebewert an das Register 23, den größten Wert der Blendenöffnung an das Register 29 und den größten Wert der Maske an das Register 30. Die Übertragungssteuerung 4 könnte einen digitalen Rechner umfassen, der mit der Feldübertragungsschaltung arbeitet Im einzelnen könnte der Rechner Anweisungen liefern, aus denen die Verschiebung, der größte Wert der Blendenöffnung und der größte Wert der Maske abgeleitet werden, und die Feldübertragungsschaltung könnte die Feldübertragung in Abhängigkeit von den
Anweisungen ausführen.
Eine Funktion, die die Feldübertragungsschaltung ausführen kann, ist die Übertragung eines Datenfeldes, das Zellgrenzen in einem Rechenspeicher überschreitet.
von einer Anfangslage in dem Speicher in eine Endposition. Dieses Verfahren ist in Fig.5 graphisch erläutert. Ein Datenfeld befindet sich in einer Anfangsposition und besetzt einen Teil einer Speicherzelle X, die gesamte Speicherzelle X + 1 und einen Teil der Speicherzelle X + 2. Die linke Grenze der Ausgangsposition liegt an der Digitstelle Sl der Zelle X. Durch die Pfeile in F i g. 5 ist angedeutet, daß das Feld aus der Ausgangsposition in eine Endposition gebracht wird, die einen Teil der Zelle Y, die gesamte Speicherzelle Y + 1 und einen Teil der Speicherzelle Y + 2 besetzt. Die linke Grenze der Bestimmungsposition liegt an der Digitstelle Dl in der Zelle Y, und die rechte Grenze der Endposition liegt an der Digitstelle Dr in der Zelle Y+2.
Die F i g. 6A und 6B zeigen die einzelnen Stufen der Übertragung des Datenfeldes aus der Anfangsposition in die Endposition in einem Speicher mit Hilfe der Feldübertragungsschaltung nach Fig. 1. Von den drei Rechtecken aus jeder der Teilfiguren 6A bis 6F repräsentiert das oberste Rechteck die Daten in dem ersten Register, das mittlere Rechteck die Feldübertragungsschaltung und das untere Rechteck die Daten in dem zweiten (Bestimmungs-)Register. Die schräg schraffierten Abschnitte aus den Rechtecken repräsentieren das zu übertragende Feld, und die horizontal schraffierten Teile bedeuten die Daten außerhalb des Feldes. Aus F i g. 5 erkennt man, daß die Endposition des Feldes gegenüber der Ausgangsposition nach links um eine Anzahl von Digitstellen verschoben ist, die gleich der Differenz zwischen Dl und Sl ist. Es werde angenommen, daß die Signifikanz der Digitstellen von rechts nach links zunimmt und daß jede Zelle 47 Digitstellen aufweist. Daher beträgt der in dem Register 23 gespeicherte Verschiebewert N, d. h. er ist gleich dem absoluten Wert der Differenz zwischen DL und 5t. Wenn die Endposition gegenüber der Anfangsposition nach rechts verschoben wäre, dann würde der in dem Register 23 gespeicherte Verschiebewert 47-/V betragen.
Die erste Übertragungsstufe des Feldes aus der Ausgangsposition in die Endposition besteht darin, daß das Wort in der Speicherzelle X in das Register 1 und das Wort in der Speicherzelle Y in das Register 2 (F i g. 6A) eingelesen wird.
Die zweite Übertragungsstufe sieht vor, daß ein Teil des Feldes aus dem Register 1 in das Register 2 übertragen wird. Dazu wird der Teil des Feldes um N Digitstellen nach links verschoben. Aus Fig.6B liest man ab, daß der größte Wert der Blendenöffnung DL und der größte Wert der Maske N ist Es wird also nur ein Teil des Feldes aus dem Register 1 tatsächlich in das Register 2 übertragen, und der Restteil des ursprünglichen Inhaltes aus dem Register 2 bleibt unberührt
In der dritten Stufe wird das Wort in der Speicherzelle X + 1 in das Register 1 eingeiesen und ein genügend großer Teil des Feldes im Register 1 übertragen, um den im Register 2 rechts von dem bei der zweiten Stufe übertragenen Feldteil verbliebenen Raum auszufüllen. Der übertragene Teil des Feldes aus Register 1 wird um NDigitstellen verschoben (F i g. 6C). Der größte Wert der Blendenöffnung ist der gleiche wie der größte Wert der Maske während der vorhergehenden Stufe, nämlich N, und der größte Wert der Maske ist 0. Im Ergebnis bleibt der ursprüngliche Inhalt der Speicherzelle Y links von der Digitstelle Dl und der während der zweiten Stufe übertragene Feldteil im Register 2 während der Übertragung bei der dritten Stufe unberührt. Jetzt ist der Teil der Endposition in der Speicherzelle Kvollständig ausgefüllt, so daß der Inhalt des Registers 2 in die Zelle Küberführt wird.
In der vierten Stufe wird der restliche Teil des Feldes im Regjster 1 in das Register 2 übertragen (F i g. 6D). Bei
dieser Übertragung wird der Feldteil um Af Digitstellen verschoben. Der größte Wert der Blendenöffnung ist 47, und der größte Wert der Maske ist N.
Bei der fünften Stufe wird das Wort in der
ίο Speicherzelle X + 2 in das Register 1 eingelesen und ein genügend großer Teil des Feldes in dem Register übertragen, um den in dem Register 2 rechter Hand von dem während der vierten Stufe übertragenen Feld verbliebenen Raum auszufüllen (F i g. 6E). Der übertragene Teil des Feldes wird um N Digitstellen seitlich verschoben. Der größte Wert der Blendenöffnung ist der größte Wert der Maske aus der vorhergehenden Stufe, nämlich N, und der größte Wert der Maske ist 0. Nach dieser Übertragung ist das Register 2 vollständig mit Daten gefüllt. Der Inhalt des Registers 2 wird also in die Speicherzelle Y + 1 übertragen.
In der sechsten Stufe wird das Wort aus der Zelle X + 2 in das Register 1 eingelesen und der letzte Teil des Feldes in das Register 2 übertragen (Fig.6F).
Dieser Feldteil wird um N Digitstellen seitlich verschoben. Der größte Wert der Blendenöffnung ist 47, und der größte Wert der Maske ist Dr. Der ursprüngliche Inhalt des Registers 2 rechts von der Digitstelle Dr verbleibt unzerstört und die Speicherzelle
jo Y + 2 wird mit dem Restteil des Feldes gefüllt.
Es wird noch bemerkt, daß die Inhalte der Zellen Y und Y + 2 in das Register 2 eingelassen werden, ehe irgendwelche Daten, die in diese Zellen gespeichert werden sollen, in das Register 2 übertragen werden. Der
J5 Zweck dieser Maßnahme besteht darin, daß die ursprünglichen Inhalte der Zellen Y und Y + 2 auf beiden Seiten der Endposition erhalten bleiben. Bei der Zelle Y + 1 bleibt keiner der ursprünglichen Binärwerte erhalten. Demzufolge braucht der Inhalt der Zelle Y + 1 nicht in das Register eingelesen zu werden, ehe der in der Zelle Y+ 1 zu speichernde Teil des Datenfeldes in das Register 2 übertragen wird.
Fig.3 zeigt die Feldübertragungssteuerung 4 aus Fig. 1, die die in den Fig.5 und 6A bis 6F erläuterten Operationen ausführt Von der Anordnung nach F i g. 3 wird angenommen, daß sie mit einem digitalen Rechner arbeitet Im einzelnen werden die Parameter Su X. Dl, Y und Dr, die entweder in der Rechneranweisung enthalten sind, um die Feldübertragungsoperation auszuführen oder die aus dieser Anweisung von dem Rechner abgeleitet werden, in die entsprechenden Register 60, 61, 62, 63 und 64 eingespeist Von diesen Parametern werden die Werte, die in das Verschieberegister 23, in das Register 29 für den größten Wert der Blendenöffnung und in das Register 30 für den größten Wert der Maske eingeschrieben werden müssen, um die Feldübertragung zwischen den beschriebenen Speicherstellen auszuführen, abgeleitet Die Ausführung der sechs Stufen in der im Zusammenhang mit den F i g. 6A
bo bis 6F beschriebenen Sequenz wird durch von einer Sequenzsteuerung 65 erzeugte Impulse gesteuert Die Sequenzsteuerung 65 hat Ausgänge P0 bis P5 und P\ bis P5'. Bei der Einleitung der Sequenz auf einen Feldübertragungsoperator in der Rechneranweisung hin wird der Ausgang P0 zuerst aktiviert Danach werden entweder die Leitungen P\ bis P5 oder die Leitungen Px' bis P5' aktiviert, und zwar aufeinanderfolgend nach Zeitintervallen, die von einer Zeitauelle. etwa
dem Taktgeber des Rechners, bestimmt werden. Es werde angenommen, daß am Anfang der Intervalle eine Leseoperation des Rechenspeichers und daß am Ende der Intervalle eine Schreiboperation des Rechenspeichers stattfindet. Die Weiterzählschaltungen 82 und 83 verändern den in den Registern 61 bzw. 63 gespeicherten Wert um eine Einheit, wenn sie betätigt werden. In diesen Weiterzählschaltungen ist eine Verzögerung eingebaut, so daß sie nach der Schreiboperation in einem Intervall arbeiten.
Wenn die Leitung Po aktiviert wird, werden die Tore 66 und 67 aktiviert. Daraufhin wird der Wert Si im Register 60 und der Wert DL im Register 62 zu einem Differenzbilder 68 übertragen, der die Differenz zwischen Sl und Du nämlich N, bildet. Der Differenzbilder SS zeigt weiterhin an, ob die Verschiebung des Datenfeldes aus der Ausgangsposition in die Endposition nach rechts oder nach links erfolgen soll. Wenn das Datenfeld nach rechts verschoben werden soll, was durch einen größeren Wert Sl als Dl angezeigt wird, dann wird die Leitung R aktiviert und die Sequenz der Schritte P\ bis /V eingeleitet. Wenn die Verschiebung des Datenfeldes nach links erfolgen soll, was sich durch einen größeren Wert Dl als Sl anzeigt, dann wird die Leitung L aktiviert, und die Sequenz der Schritte P\ bis Ps folgt. Die von dem Differenzbilder 68 erzeugte Differenz N wird auf einen Differenzbilder 69 gegeben, der die Differenz 47 — N bildet. Der Ausgang des Differenzbilders 69 und die Leitung R werden auf die Eingänge eines UND-Tores 70 gegeben und der J() Ausgang des Differenzbilders 68 und die Leitung L werden auf die Eingänge eines UND-Tores 71 gegeben. Wenn dementsprechend die Verschiebung von der Ausgangsposition nach links in die Endposhion erfolgen soll, dann wird der Wert Ndurch ein ODER-Tor 72 auf r> das Verschieberegister 23 gegeben. Wenn andererseits die Verschiebung aus der Ausgangsposition nach rechts in die Endposition erfolgen soll, dann wird der Wert 47 - N durch das ODER-Tor 72 auf das Verschieberegister 23 gegeben. Die Leitung Po aktiviert weiterhin die 4() U N D-Tore 79 und 80, um die Adressenwerte der Zellen X und Y in den Rechenspeicher zu geben. Die Datenwörter in den Zellen X und Y werden dann aus dem Rechenspeicher auf an sich bekannte Weise ausgelesen und in die Register 1 bzw. 2 (hier nicht dargestellt) gespeichert. Die Leitung P0 steht außerdem mit der Weiterzählschaltung 82 für das Register 61 in Verbindung. Wenn also der Inhalt der Zelle X ausgelesen wird, dann wird der Adressenwert im Register 61 um einen weitergestellt, so daß er auf die r'° Zelle X + 1 weist.
Es werde zuerst der Fa!! betrachtet, daß DL größer isi als Sl und demzufolge die Sequenz P\ bis Ps auf die Aktivierung der Leitung L hin eingeleitet wird. Wenn die Leitung P\ aktiviert wird, dann wird der Wert Dl im Register 62 durch ein UND-Tor 78 und ein ODER-Tor 84 in das Register 29 für den größten Wert der Blendenöffnung gegeben. Gleichzeitig wird der Wert N aus dem Differenzbilder 68 durch ein UND-Tor 85 und ein ODER-Tor 86 auf das Register 30 für den größten fc0 Wert der Maske gegeben. Folglich findet die Feldübertragung nach F i g. 6B statt
Wenn die Leitung P2 aktiviert wird, dann wird der Wert Naus dem Differenzbilder 68 durch ein UND-Tor 87 und das ODER-Tor 84 auf das Register 29 für den b5 größten Wert der Blendenöffnung gegeben, und das Register 30 für den größten Wert der Maske wird auf 47 zurückgesetzt Der Adressenwert der Zelle X + 1 wird durch das UND-Tor 80 auf den Rechenspeicher gegeben, so daß der Inhalt der Zelle X + 1 aus dem Rechenspeicher ausgelesen und in das Register 1 eingespeichert wird. Dann wird die in Fig.6C dargestellte Feldübertragungsoperation ausgeführt und der Adressenwert der Zelle Y, der in dem Register 63 gespeichert ist, durch das UND-Tor 81 auf den Rechenspeicher gegeben. Als Ergebnis wird der Inhalt des Registers 2 in die Zelle Y des Rechenspeichers eingeschrieben. Danach wird die Weiterzähleinheit 82 aktiviert, damit der Wert im Register 61 jetzt X + 2 wird, und die Weiterzähleinheit 83 wird aktiviert, damit der Wert im Register 63 jetzt K+ 1 ist.
Wenn die Leitung Ps aktiviert wird, dann wird das Register 29 für den größten Wert der Blendenöffnung auf 47 zurückgesetzt, und der Wert N aus dem Differenzbilder 68 wird durch das UND-Tor 85 und das ODER-Tor 86 auf das Register 30 für den größten Wert der Maske gegeben. Damit wird die Feldübertragungsoperation nach F i g. 6D ausgeführt.
Wenn die Leitung P* aktiviert wird, dann wird der Wert Λ/aus dem Differenzbilder 68 durch das UND-Tor 87 und ODER-Tor 84 auf das Register 29 für den größten Wert der Blendenöffnung gegeben, und das Register 30 für den größten Wert der Maske wird auf 47 zurückgesetzt Ferner wird der Adressen wert der Zelle X + 2 im Register 61 durch das UND-Tor 80 auf den Rechenspeicher gegeben, so daß der Inhalt der Zeile X + 2 aus dem Rechenspeicher ausgelesen und das Register 1 damit geladen wird. Dann wird die Feldübertragungsoperation nach Fig.6E ausgeführt, und der Adressenwert der Zelle Y + 1 im Register 63 wird durch das UND-Tor 81 auf den Rechenspeicher gegeben. Als Folge davon wird der Inhalt des Registers 2 in die Zelle Y + 1 des Rechenspeichers eingelesen. Danach wird die Weiterzähleinheit 83 aktiviert, damit der Wert im Register 63 auf Y + 2 ansteigt.
Wenn die Leitung Ps aktiviert wird, dann wird das Register 29 für den größten Wert der Blendenöffnung auf 47 zurückgesetzt und der Wert Dr aus dem Register 64 wird durch ein UND-Tor 88 und das ODER-Tor 86 auf das Register 30 für den größten Wert der Maske gegeben. Ferner wird der Adressenwert der Zelle
Y + 2 durch das Und-Tor 79 in den Rechenspeicher gegeben, so daß der Inhalt der Zelle Y + 2 aus dem Rechenspeicher ausgelesen und das Register 2 damit geladen wird. Dann wird die Feldübertragungsoperation nach F i g. 6F ausgeführt, und der Adressenwert der Zelle Y + 2, der im Register 63 gespeichert ist, wird durch das UND-Tor 81 auf den Rechenspeicher gegeben. Daraufhin wird der Inhalt des Registers 2 in die Speicherzelle Y + 2 des Rechenspeichers dpgdesen. Damit ist die Übertragung abgeschlossen.
Es wird jetzt angenommen, daß Sl größer oder gleich DL ist, daß also die Sequenz P\ bis P5' auf die Aktivierung der Leitung R hin eingeleitet wird. Bei dieser Übertragung wird das Datenfeld nach rechts verschoben. Wenn die Leitung Pi' aktiviert wird, dann wird der Wert DL aus dem Register 62 durch das UND-Tor 78 und ODER-Tor 84 auf das Register 29 für den größten Wert der Blendenöffnung gegeben, und das Register 30 für den größten Wert der Maske wird auf 47 zurückgesetzt Diese Feldübertragungsoperation füllt die zugeteilten Digitstellen der Endposition in der Zelle
Y aus. Demzufolge wird der Adressenwert der Zelle Y aus dem Register 63 durch das UND-Tor 81 auf den Rechenspeicher gegeben, so daß der Inhalt des Registers 2 in die Zelle Y gelangt Danach wird die
Weiterzähleinheit 82 aktiviert, damit der Wert in dem Register 61 auf X + 1 ansteigt, und die Weiterzähleinheit 83 wird aktiviei t, damit der Wert in dem Register 63 auf Y + 1 ansteigt.
Wenn die Leitung P2' aktiviert wird, dann wird das Register 29 für den größten Wert der Blendenöffnung auf 47 zurückgesetzt, und der Wert 47 - N aus dem Differenzbilder 69 wird durch ein UND-Tor 89 und ODER-Tor 86 auf das Register 30 für den größten Wert der Maske gegeben. Die sich daraus ergebende Feldübertragungsoperation schließt die Übertragung der Daten aus der Zelle X ab.
Wenn die Leitung P3' aktiviert wird, dann wird der Wert 47 - N aus dem Differenzbilder 69 durch ein UND-Tor 90 und ODER-Tor 84 auf das Register 29 für den größten Wert der Blendenöffnung gegeben, und das Register 30 für den größten Wert der Maske wird auf 47 zurückgesetzt Der Adressenwert der Zelle X + 1 wird aus dem Register 61 durch das UND-Tor 80 auf den Rechenspeicher gegeben, so daß das Wort in der Zelle X + 1 in dem Rechenspeicher in das Register 1 eingelesen wird. Die resultierende Feldübertragungsoperation füllt die Digitstellen im Register 2 aus. Dementsprechend wird der Adressenwert der Zelle Y + 1 aus dem Register 63 durch das UND-Tor 81 auf den Rechenspeicher gegeben, so daß der Inhalt des Registers 2 in die Zelle Y+ 1 des Rechenspeichers gelangt Danach wird die Weiterzähleinheit 82 aktiviert, damit der Adressenwert in dem Register 61 auf X + 2 ansteigt und die Weiterzähleinheit 83 wird aktiviert, damit der Adressenwert in dem Register 63 auf Y + 2 ansteigt
Wenn die Leitung /V aktiviert wird, dann wird das Register 29 für den größten Wert der Blendenöffnung auf 47 zurückgesetzt, und der Wert 47 — N wird aus dem Dtfferenzbilder 69 durch das UND-Tor 89 und das ODER-Tor 86 auf das Register 30 für den größten Wert der Maske gegeben. Ferner wird der Adressenwert aus der Zelle Y+ 2 durch das UND-Tor 79 auf den Rechenspeicher gegeben, so daß das Wort in der Zelle ίο Y + 2 in das Register 2 eingelesen wird. Dann findet die Feldübertragungsoperation statt, die die Übertragung der Daten aus der Zelle X + 1 abschließt
Wenn die Leitung Ps aktiviert wird, dann wird der Wert 47 - N aus dem Differenzbilder 69 durch das 's UND-Tor 90 und ODER-Tor 84 auf das Register 29 für den größten Wert der Blendenöffnung gegeben, und der Wert DR wird aus dem Register 64 durch das UND-Tor 88 und ODER-Tor 86 auf das Register 30 für den größten Wert der Maske gegeben. Der Adressenwert der Zelle X + 2 im Register 61 wird ebenso durch das UND-Tor 80 auf den Rechenspeicher gegeben, so daß das Wort in dtr Zelle X + 2 in das Register 1 eingelesen wird. Dann findet eine Feldübertragungsoperation statt die die Übertragung der Daten, die in der Zelle Y + 2 gespeichert werden sollen, abschließt Schließlich wird der Adressenwert der Zelle Y + 2 im Register 63 durch das UND-Tor 81 auf den Rechenspeicher gegeben, so daß der Inhalt des Registers 2 in die Zelle Y + 2 des Rechenspeichers eingelesen wird. Damit ist die Überträge gung abgeschlossen.
Hierzu 3 Blatt Zeichnungen

Claims (1)

Patentansprüche:
1. Anordnung zur Übertragung eines Datenfeldes aus einer Anfangsposition in einem ersten Register mit m Stellen in eine verschobene Endposition eines zweiten Registers, mit einem m Verschiebeleitungen als Ausgangskreis aufweisenden Verschieberegister, wobei für jede Übertragung nur jeweils eine der Verschiebeleitungen ein einen Verschiebebetrag stellenmäßig bestimmendes Signal führt und m Ausgangsleitungen des ersten Registers mit den m Verschiebeleitungen nach Art einer quadratischen m-reihigen Matrix derart an Eingänge von in1 Gattern gelegt sind, daß jede der m Ausgangsleitungen mit jeweils einem Eingang von m Gattern und ein jeweils zweiter Eingang jedes der m Gaiter mit einer der Verschiebeleitungen verbunden ist und wobei alle Ausgänge von auf Diagonalen der /n-reihigen Matrix liegenden Gattern über ODER-Glieder zusammengefaßt sind, dadurch gekennzeichnet, daß m Übertragungstore (28) zwischen die Ausgänge der Gatter (Aj mit i = \ ...m, k = \ ...m) und dem m Stellen umfassenden zweiten Register (2) geschaltet sind; daß ein erster Eingang eines Ar-ten (k = 1 ... m) Übertragungstores (28) mit dem Ausgang des Ar-ten ODER-Gliedes (25) verbunden ist, dessen Eingänge mit dem Ausgang des ersten Gatters der jfc-ten Matrixreihe sowie mit den Ausgängen aller derjenigen weiteren (m—\) Gatter verbunden sind, weiche bei A: = 1 in der Hauptdiagonalen der Matrix oder bei k 5* 1 in zwei zur Hauptdiagonalen parallelen Geraden liegen, deren erste mit dem ersten Gatter der A:-ten Matrixreihe beginnt,und deren zweite mit dem letzten Gatter der (Tr-l)-ten Matrixreihe endet; daß mit dem jeweils anderen Eingang jedes Übertragungstores (28) je ein Ausgang einer Maskierschaltung(7) verbunden ist, welche enthält:
DE1916377A 1968-03-29 1969-03-29 Verfahren und Anordnung zur Verschiebung von Datenfeldern Granted DE1916377B2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US71729168A 1968-03-29 1968-03-29

Publications (3)

Publication Number Publication Date
DE1916377A1 DE1916377A1 (de) 1969-11-20
DE1916377B2 DE1916377B2 (de) 1974-09-26
DE1916377C3 true DE1916377C3 (de) 1980-09-04

Family

ID=24881433

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1916377A Granted DE1916377B2 (de) 1968-03-29 1969-03-29 Verfahren und Anordnung zur Verschiebung von Datenfeldern

Country Status (6)

Country Link
US (1) US3553652A (de)
BE (1) BE729850A (de)
DE (1) DE1916377B2 (de)
FR (1) FR1604895A (de)
GB (1) GB1242651A (de)
NL (1) NL169929C (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3766370A (en) * 1971-05-14 1973-10-16 Hewlett Packard Co Elementary floating point cordic function processor and shifter
US3818203A (en) * 1973-08-27 1974-06-18 Honeywell Inc Matrix shifter
SE387763B (sv) * 1975-10-23 1976-09-13 Ellemtel Utvecklings Ab Anordning vid ett datorminne for att mojliggora en successiv forflyttning under drift av ett ledigt minnesfelt
US4139899A (en) * 1976-10-18 1979-02-13 Burroughs Corporation Shift network having a mask generator and a rotator
US4180861A (en) * 1978-03-31 1979-12-25 Ncr Corporation Selectively operable mask generator
US4999808A (en) * 1986-09-26 1991-03-12 At&T Bell Laboratories Dual byte order data processor

Also Published As

Publication number Publication date
BE729850A (de) 1969-08-18
DE1916377A1 (de) 1969-11-20
US3553652A (en) 1971-01-05
NL169929C (nl) 1982-09-01
NL6904982A (de) 1969-10-01
FR1604895A (de) 1972-04-17
GB1242651A (en) 1971-08-11
NL169929B (nl) 1982-04-01
DE1916377B2 (de) 1974-09-26

Similar Documents

Publication Publication Date Title
DE3784050T2 (de) Ein paralleler datenprozessor.
DE3686436T2 (de) Speichersystem mit hoher leistung.
DE2934971C2 (de) Nach dem Fließbandprinzip arbeitender Zentralprozessor
DE2712224C2 (de) Datenverarbeitungsanlage
DE3689926T2 (de) Einrichtung zur sequenziellen Bildtransformation.
DE3688640T2 (de) Suchgerät.
DE2130299B2 (de) Eingabe-/Ausgabekanal für eine Datenverarb eitungsanlage
DE19510902A1 (de) Emulation eines Mehrtor-Speichers unter Verwendung von Markierregistern
DE1197650B (de) Parallel-Addierer
DE2718110A1 (de) Datenverarbeitungseinheit
DE2706807C2 (de) Einrichtung und Verfahren zum Verarbeiten von Information in Form digitaler Signale
DE2946119C2 (de) Datenverarbeitungseinrichtung mit einer Vielzahl von Datenverarbeitungselementen, denen ein einziger Strom von Steuersignalen zugeführt wird
DE2506671C3 (de) Binärdaten-Handhabungsnetzwerk
DE1916377C3 (de)
DE3214230C2 (de) Speicheranordnung mit Mehrfach-Zugriffsleitungen
DE3121046C2 (de)
DE2245284A1 (de) Datenverarbeitungsanlage
DE2461651B2 (de) Zählvorrichtung zum Zählen von Mustern
DE69122001T2 (de) Integrierte Schaltung mit einer Standardzelle, einer Anwendungszelle und einer Prüfzelle
DE1296429B (de) Datenbearbeitungsanlage
DE1222290B (de) Binaere Recheneinrichtung zur Bildung und Akkumulation von Produkten
DE1499286B2 (de) Datenbearbeitungsanlage
DE3340078A1 (de) Prozessor-zelle zur verwendung in einer aus derartigen zellen gebildeten anordnung
DE2727188A1 (de) Anordnung zum adressieren eines speichers
DE69209826T2 (de) Schnelle Addierkette

Legal Events

Date Code Title Description
SH Request for examination between 03.10.1968 and 22.04.1971
C3 Grant after two publication steps (3rd publication)