DE2347387A1 - Permutationsschaltung - Google Patents
PermutationsschaltungInfo
- Publication number
- DE2347387A1 DE2347387A1 DE19732347387 DE2347387A DE2347387A1 DE 2347387 A1 DE2347387 A1 DE 2347387A1 DE 19732347387 DE19732347387 DE 19732347387 DE 2347387 A DE2347387 A DE 2347387A DE 2347387 A1 DE2347387 A1 DE 2347387A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- selectors
- elements
- circuit
- binary vector
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
- G06F7/762—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data having at least two separately controlled rearrangement levels, e.g. multistage interconnection networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0207—Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/01—Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
- G06F5/015—Methods 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Memory System (AREA)
- Complex Calculations (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Error Detection And Correction (AREA)
Description
GOODYEAH AEROSPACE GOHPORATION, Akron/Ohio - USA
Bisher war es bekannt, daß bei Digitalcomputern der Zugriff zu den in dem Speicherfeld gespeicherten Daten in
einer einzigen Weise erfolgen kann. Bei Digitalcomputern für allgemeine Zwecke kann der Zugriff zu einem Bit aller
Worte oder ein bit-orientierter Zugriff erfolgen. Die Speicherfelder Jeder dieser Digitalcomputerarten können
leicht die verfügbaren Festkörperspeichermodule wie den bipolaren 256-Bit-Direktzugriffspeicher IM 55o3 der
Inersil Memory Corporation in Cupertino, Californien, USA, verwenden. Bei Verwendung solcher Speichermodule
würde ein 2n-Wort durch 2n Bit pro Wortspeicher 2n Module
erfordern, von denen jeder 2n Bit enthält. Bei einem Speicherfeld für einen Digitalcomputer für allgemeine
Zwecke werden die Daten im Speicher so gespeichert, daß jeder Modul dasselbe Bit aller Worte enthält. Die
Speichergrundregel ist, daß das Bit B des Speicherwortes W im Bit W des Speichers B gespeichert wird, wobei B und
W einen Wert von 0 bis 2n haben können. Umgekehrt wird in einem assoziativen Prozessor-Computer jeder Modul
alle Bit eines Wortes enthalten und die Daten werden in einem Speicherfeld so gespeichert, daß das Bit B des
Wortes W im Bit B des Moduls W gespeichert wird, wobei
U 0 9 8 1 3 / 0 9 5 A ~2~
B und W einen Wert von O bis 2n"~ haben können. Aus den
Datenspeicherregeln ergibt sich, daß, wenn die Speiche rmodule jeder Computerart an ein und demselben Speichermodulbit
in Zugriff gelangen, der Datenausgang wie bei Speichermodulen stets in derselben Größenordnung
liegt. Das heißt, bei -wortorientiertem Zugriff werden die Daten wie bei den Speichermodulen sich in der richtigen
Bit-Ordnung befinden und bei bit-orientiertem Zugriff werden die Daten wie bei Speichermodulen stets in
der richtigen Wortordnung sein.
Beim Versuch, sowohl wort-orientierten als auch bitorientierten
Zugriff in einem Digitalcomputer einzubauen, ergeben sich Probleme bezüglich der konsequenten Datenordnung, die überwunden werden müssen. Anstelle eines
Speichermoduls mit allen Bit eines Wortes oder desselben Bit aller Worte muß dieser jetzt ein anderes Bit eines
jeden Wortes enthalten. lOlglich. halten die in Zugriff
gelangten Daten wie bei Speichermodulen keine konsequente Ordnung für alle möglichen Zugriffe. Es ist deshalb notwendig,
daß eine Schaltung angegeben wird, durch die die in Zugriff gelangten Daten stets in ein konsequentes
Schema in einer Datenschnittstelle gebracht werden können.
Eine Annäherung an die Verwendung von sowohl wort-orientiertem als auch bit-orientiertem Zugriff in einem einzigen
Computer besteht in der Verwendung dessen, was als ein schräges Feld entsprechend dem Report 297 von Yoichi
Muraoka of the Department of Computer Science of the University of Illinois in Urbana, 111., USA, bekannt.ist.
Die Daten werden auf solche Weise in diesem Feld gespeichert, daß in jeder Zugriffsart die Bit von in Zugriff
gelangenden Daten in der richtigen Reihenfolge zueinander liegen, aber in einer unrichtigen absoluten Ordnung wie
bei Speichermodulen. Folglich erfordert ein solches Feld
-3-
Ä03813/0954
ein Leit- oder Schieberegister zum Halten derselben relativen
Datenordnung, aber zum Verschieben der absoluten Datenordnung, so daß die Ordnung in der Datenschnittfläche
für alle Zugriffe konsequent ist. Zwei grundsätzliche Annäherungen ergeben eine solche Verschiebeschaltung.
Beide verwenden gemeinsam verfügbare η-Kanalwähler, die so angeordnet sind, daß verschiedene
Größen durch Wahl der richtigen Kanäle des Datenwählers verschoben werden können. Die grundsätzliche Verschiebeschaltung
mit η-Kanalwählern besitzt den Nachteil, daß jeder Datenwähler an (n-1) Eingängen mit angrenzenden
Datenwählern teilhaben muß. Polglich müssen Verschiebeschaltungen von nennenswerter Größe in mehreren
Körpern gedruckter Schaltungen enthalten sein, die viele Verbindungen untereinander haben müssen.
Eine große Verschiebeschaltung kann zwar viele kleinere Verschiebeschaltungen enthalten, so z.B. können Verschiebeschaltungen,
die Daten um sechszehn Stellen verschieben können, leicht auf einer einzigen gedruckten
Schaltung untergebracht sein. Wenn mehrere dieser Schaltungen miteinander verbunden sind, so daß der Ausgang
der einen Schaltung der Eingang der nächsten ist, dann können Verschiebungen mit mehr als sechszehn Stellen
erfolgen.
Beispielsweise verschiebt beim "Auf"-Verschieben von bestimmten
Daten um elf Stellen unter Verwendung von mehreren sechszehnstelligen Verschiebeschaltungen die erste
Gruppe dieser Schaltungen die ersten elf Bit der Daten unter fünf Stellen und die letzten fünf Bit der Daten
"aufwärts" um elf Stellen. In der zweiten oder dritten Höhenversehiebeschaltung werden die Daten, die "nach
unten" um fünf Stellen verschoben wurden, um achtundvierzig Stellen aufwärts, und die Daten, die um elf
409813/0 954
Stellen aufwärts verschoben wurden, um zweiunddreißig Stellen aufwärts verschoben, so daß dann alle Daten um
dreiundvierzig Stellen richtig verschoben sind.
Obwohl eine solche Verschiebeschaltung aus kleineren Verschiebeschal
tungseinheiten bestehen könnte, die einmalig auf einzelnen Körpern gedruckter Schaltungen angeordnet
sind, ist eine komplizierte Steuerschaltung notwendig, um zu bestimmen, welche Daten nach "oben" und welche nach
"unten" in der ersten Höhe zu verschieben sind, wieviel weitere Verschiebungen für jedes Bit der Daten in folgenden
Verschiebehöhen notwendig sind. Bei der Verwendung von Verschiebeschaltungen muß somit zwischen vielen
Zwischenverbindungen und der Notwendigkeit einer komplexen Steuerschaltung gewählt werden.
Die Erfindung erleichtert die Lösung dieser beiden Probleme. Bei Verwendung in Verbindung mit einem viel-dimensionalen
Festkörper-Zugriffspeicher, wie er nachstehend beschrieben
wird, ist es angebracht, die in Zugriff gelangenden Speicherdaten an der Datenschnittstelle so konsequent
zu ordnen, daß die notwendige Schaltung leicht in einzelne Teile unterteilt werden kann, so daß ihre Konstruktion
auf den gedruckten Schaltungen nur ein Minimum an Zwischenverbindungsleitungen und Steuerschaltung erfordert,
während beim Merkmal des Haltens die ganze Schaltung aus mehreren identischen kleinen Schaltungen
bestehen kann, von denen jede sich auf einem besonderen Körper einer gedruckten Schaltung befindet.
Wie bereits erwähnt, war es bekannt, daß ein quadratisches Datenfeld so in einem Satz von Speichermodulen gespeichert
werden kann, daß Zugriff zu einer Reihe oder Spalte möglich ist. Eine solche Annäherung ist als schräge
Speicherung bekannt. Dieses Speicherschema erfordert
409813/0954
23^7387
jedoch eine Leit- oder Verschiebeschaltung, so daß die
in Zugriff gelangte Reihe oder Spalte stets in der richtigen Reihenfolge an der Datenschnittfläche erscheint.
Annäherungen zum Entwickeln einer solchen Verschiebeschaltung bedingen eine Wahl, die zwischen vielen Verbindungsleitungen
und der Komplexität einer besonderen Steuerschaltung zu erfolgen hat.
Es ist deshalb allgemeine Aufgabe der Erfindung, die erwähnte Wahl durch eine Schaltung überflüssig zu machen,
durch die Daten in einen mehr-dimensionalen Pestkörperzugriffspeicher
und aus ihm heraus konsequent für alle Operationsarten durchgeführt werden kann und bei der die
Schaltung leicht so unterteilt werden kann, daß sie mehrere identische kleinere Schaltungseinheiten enthalten
kann, die auf besonderen Körpern gedruckter Schaltungen aufgebracht werden können, und ein Minimum an
Zwischenverbindungsleitungen notwendig ist, wobei die besondere Steuerschaltung sehr klein ist.
Gegenstand der Erfindung ist eine logische Schaltung, die mit dem mehr-dimensionalen Zugriffspeicher koordiniert
werden kann und die mit dem Speicher kombiniert die Probleme bei schräger Speicherung durch eine neue Datenspeicherung
vollständig löst, die mehrere Datenzugriffsarten behandeln kann, wobei sie sehr genau und schnell
arbeitet und im Vergleich zu bisherigen Geräten billig und leicht zu warten ist und für die geweilige Verwendung
bestens angepaßt werden kann.
Ein weiterer Gegenstand der Erfindung ist eine Schaltung,
die nicht nur die Ordnung der Daten in und aus dem Speicherfeld bringt, sondern auch die Daten so verschieben
kann, daß ganze Datenfelder in die absolute Lage verschoben werden können, aber eine konstante Lage zu
allen anderen Daten im Datenfeld einnehmen.
h 0 9 8 1 3 / 0 9 5 4 -6-
Die Gegenstände der Erfindung und auch, andere, die noch
beschrieben werden, werden durch Permutation der linearen Ordnung von 2n Datenquellen erlangt, die durch die
binären Vektorenindizes M = (m n_^ >
···» mi > m 0) gemäß
dem Zustand eines Permutationskode gekennzeichnet sind, der ■ durch einen binären Vektor X= (x ^ , ... , xn_o *
..., x^j, xQ) gegeben ist, so daß die permutierte Lage P
einer Datenquelle durch P = M © X gegeben ist, worin Θ den Additionsmodul 2 bedeutet.
Zum besseren Verständnis der Erfindung werden die Zeich— '
nungen herangezogen. In diesen ist:
Figur 1 ein verallgemeinertes Blockdiagramm der Schaltung
für den Zugriff zu den Daten in einem MDA-FeId;
Figur 2a die allgemeine in Zugriff gebrachte Schaltung für einen Datenwähler mit vier Kanälen;
Figur 2b eine Funktionstabelle für Figur 2a;
Figur 3a eine Permutationsschaltung mit vier Eingängen,
bei der Datenselektoren mit zwei Kanälen verwendet werden;
Figur 3b ein Diagramm des Übergangs einer Eingangsleitung über die Permutationsschaltung;
Figur 4 dieselbe Schaltung wie in Figur 3a, die durch
Datenselektoren mit vier Kanälen mehr vereinfacht ist als durch solche mit zwei Kanälen;
Figur 5 der übergang einer Eingangsleitung über eine Permutationsschaltung
mit 256 Eingängen;
Figur 6 das grundsätzliche Blockdiagramm und die Verdrahtung der Permutationsschaltung mit 256 Eingängen
nach Figur 5;
-7-
409813/0954
die Figuren 7a» 7b und 7c zeigen die Beziehung zwischen
Eingangsleitungen, Ausgangsleitungen und den Permutationskoden zum Verschieben um 1, 2 bzw.
4 Stellen;
die Figuren 8a, 8b und 8o zeigen die Permutation für
die Verschiebungen um 1,2 bzwo 4 Stellen;
Figur 9 ist eine Permutationsschaltung mit 8 Eingängen, bei der jeder Batenselektor den Eingang
eines Kanal sei ekt or s unabhängig von allen anderen Selektoren empfangen kann; und
Figur 1o zeigt eine Permutationsschaltung mit acht Eingängen
mit Verschiebefähigkeit.
Beim Feld eines mehrdimensionalen Festkörperzugriffspeichers
(MDA) kann der Zugriff zu den Datenspeicherbit in einer von drei verschiedenen Weisen erfolgen: Die
wort-orientierte Weise ermöglicht den Zugriff zu allen Bit eines Wortes, ähnlich dem Zugriff eines Digitalcomputers
für allgemeine Zwecke. Die bit-orientierte Weise ermöglicht den Zugriff zu einem Bit aller Worte ähnlich
dem Zugriff eines assoziativen Processors. Die gemischtorientierte Weise ermöglicht den Zugriff zu einigen Bit
einiger Worte. Es sei auf ein quadratisches MDA-FeId
verwiesen, wo die Gesamtzahl der im Feld gespeicherten Worte gleich der Quadratwurzel der Gesamtzahl der dort
gespeicherten Bit ist. Die Erfindung kann jedoch auch
bei Anlagen verwendet werden, die nicht quadratische Felder verwenden.
Ein MDA-FeId für 2n-Worte durch 2n Bit pro Wort erfordert
2n Speichermodule mit je 2n Bit, worin η __ 1 ist. Die
Daten werden im Feld so gespeichert, daß jeder Modul ein anderes Bit jedes der 2n Worte enthält. Der Zugriff der
Daten im Speicher erfordert 2n Dateneingangsleitungen
409813/0954 ~8~
zum Schreiben und 2n Datenausgangsleitungen zum Lesen.
Da jeder Speichermodul ein anderes Bit jedes der 2 Worte
enthält, werden beim Arbeiten in wort-orientierter Weise an den Speichermoduldateneingangs- und -ausgangsleitungen
die Worte sich nicht in der Bitordnung befinden wie bei den Speichermodulen, und beim Arbeiten in bit-orientierter
Weise werden die Bit sich nicht in der Wortordnung wie bei Speichermodulen befinden. Es ist somit erwünscht,
daß sich dort eine Datenschnittfläche befindet, in der sich die aus dem Feld gelesenen Daten und die in das JeId
geschriebenen Daten stets in einer konsequenten Ordnung befinden können. Meistens sollen bei der wort-orientierten
Weise die niedrigste Stelle an der Datenschnittfläche das niedrigste Bit des in Zugriff kommenden Wortes enthalten
und die Bit sollen sich in einer solchen progressiven Ordnung befinden, daß die höchste Stelle an der Datenschnittfläche
die höchsten Bit des in Zugriff kommenden Wortes enthält. Normalerweise sollen bei der bit-orientierten
Weise die niedrigste Stelle an der Datenschnittfläche das Bit des Wortes mit dem niedrigsten Wert enthalten
und die Bit befinden sich in einer solchen progressiven Ordnung, daß die höchste Stelle an der Datenschnittfläche
das Bit des Wortes mit dem höchsten Wert enthält. Auch sollen bei gemischt-orientierter Weise die
Bitgruppen von in Zugriff gelangenden Wortgruppen den Gruppen mit Stellen von Bitgruppen von in Zugriff zu gelangenden
entsprechen, die den Gruppen von Stellen an der Datenschnittfläche entsprechen, so daß die Gruppen an der
Datenschnittfläche sich in der Wortordnung und die Stellen
in jeder Gruppe in der Bit-Ordnung befinden. Die Erfindung genügt diesen Anforderungen.
Figur 1 zeigt die Beziehung der Permutationsschaltung zum
MDA-FeId und die Datenschnittfläche. Das gemeinsame FeId-
409813/0954 ~9"
234738?
adressenregister enthält die Adresse des wort-orientiert
in Zugriff kommenden Wortes, das bit-orientiert in Zugriff kommende Bit oder gemischt-orientierte Kombinationen
von diesen. Das gemeinsame Adressenregister kann wie
der Permutationskode durch einen binären n-Elementvektor X = Cxn-1* xn_2' ···» X1» xo^ SeSeben sein, worin jedes
χ eine ο oder eine 1 ist. Das MDA-FeId besteht aus 2n
Speichermodulen mit einer Dateneingangsleitung und einer Datenausgangsleitung. Jeder Speichermodul ist durch einen
-i
einzigen binären "Vektor M = (m n_-i >
mn-2' ···» indiziert. Die Datenschnittfläche enthält 2n Datenstellen, je eine für jeden der 2n Speichermodule. Jede Datenstelle
ist durch einen einzigen binären Vektor P = (P„ -ι» Pr, o>
···> Pi) ΡΛ) indiziert. Die Daten im MDA-Feld
sind so in den Speichermodulen untergebracht, daß die Daten eine konsequente Ordnung an der Datenschnittfläche
haben, wenn die Beziehung zwischen der gemeinsamen Feldadresse X, den Speichermodulen M und der Stelle an
der Datenschnittfläche P der Gleichung P = M θ Χ genügt, worin © den Additionsmodul 2 darstellt. Dies heißt, daß
(Pn-V Pn_2>
···» P-i» P0) = <>n-1 θ xn-1' mn-2 ® xn-2>
..., My. © x ,, m © χ ) ist. Beim Lesen der Daten aus dem
Speicher muß jedoch die Permutationsschaltung die Datenordnung
so permutieren, daß die Daten an der Ausgangsleitung eines Moduls M in die Stelle P = M § X an der Datenzwischenfläche
gelangt. In ähnlicher Weise muß beim Schreiben in den Speicher die Permutationsschaltung die
Ordnung der Daten an der Datenzwischenflache permutieren, damit die Daten an einer Stelle P auf die Dateneingangsleitung
des Moduls M » P © X gebracht werden. Die Permutationsschaltung führt somit ohne Rücksicht, ob die
Daten aus dem Feld gelesen oder in dieses geschrieben werden, in beiden Fällen dieselbe Grundfunktion aus. Das
heißt, daß in beiden Fällen die Permutationsschaltung den Modul 2, die gemeinsame Feldadresse, zum binären
409813/0954
- 1ο -
Vektorenindex der Datenquelle addiert. Wie aus der eingangs genannten Patentanmeldung hervorgeht, wird beim
Lesen die Datenquelle der Ausgangsstift des Speichermoduls M und beim Schreiben die Datenquelle P an der Datenzwischenflache.
Folglich dient dieselbe Permutationsschaltung sowohl zum Lesen als auch zum Schreiben. Eine
Selektorschaltung dient zum Wählen des Eingangs zur Permutationsschaltung je nachdem, ob das Feld gelesen
oder geschrieben wird. Der Ausgang der Permutationsschaltung führt sowohl zum Feld als auch zur Datenzwischenflache,
aber beide enthalten eine logische Torsteuerung, so daß das Feld nur den Ausgang der Permutationsschaltung
beim Schreiben aufnimmt, und die Datenzwischenfläche empfängt nur den Ausgang dieser Schaltung
beim Lesen.
Eine Permutations schaltung kann leicht unter Verwendung von gemeinsam verfügbaren logischen Datenselektoren ähnlich
dem Vierkanal-Datenselektor MG 1228 der Motorola Semiconductor Incorporated, Phoenix, Arizona, USA, aufgebaut
sein. Dieser Datenselektor besitzt vier Dateneingänge D0 bis D^, einen Datenausgang und zwei binär kodierte
Kanalauswahleingänge C0 und' Gy,, durch die einer
der vier Dateneingänge zum Erscheinen am Ausgang ausgewählt
werden kann. Figur 2a zeigt das gemeinsam angenommene Schema des Datenselektors und Figur 2b die Funktionstabelle
für einen solchen Selektor.
Figur 3 zeigt eine Permutations schaltung mit vier Stellen,
die acht Zwei-Datenselektoren verwendet. Die Datenquellenleitungen
der Permutationsschaltung L0, L^,, Lp
und L^ können je einen binären Vektor mit zwei Elementen
L β (1., 1 ) verwenden. Die Steuerleitungen der Permutationsschaltung
X = (x^ , χ ) liegen an den Kanalauswahleingängen
des Datenselektors. Die Permutationsschaltung
409813/0954
234733?
ist in zwei Höhen unterteilt. Die Ausgänge der Höhe O
betätigen die Eingänge der Höhe 1. Die Eingänge der Höhe O, die die Eingänge der Permutationsschaltung selbst
sind, führen zu zwei Datenselektoren. Die Singangsleitungen haben Anteil an Datenselektoren in den Gruppen
von Lq- und L^-Anteil-Daten-Selektoren SQ und S^ und
die Leitungen Lp und L^ an den Datenselektoren Sp und
S^. Die Leitungen der Permutationsschaltung sind gemäß
der Gemeinsamkeit ihres binären Vektorenindex gruppiert. Wie noch zu sehen sein wird, wird bei der Höhe 0 die
Operation am Element 1„ des binären Vektors der Permutationseingangsleitungen
liegen. Die Eingangsleitungen werden deshalb gemäß der Gemeinsamkeit der Vektorenelemente,
die andere als 1~ sind, nämlich Ix,, gruppiert.
Bei Ln und L„ ist 1Λ = 0 und bei L0 und L2 ist 1„ = 1.
Uli d ρ I
Deshalb werden L^ und Lx, zusammen und L0 und L2 zusammen
Ui do
gruppiert. Jede Eingangsleitung führt zum Dateneingang Dn des Datenselektors, dem er zugeordnet ist. L^ führt
an D0 von SQ und ähnlich L* an DQ von S,. Jede Eingangsleitung führt an D^ des anderen Datenselektors in seiner
Gruppe. Eine allgemeine Verdrahtungsregel wird noch angegeben.
Ügur 3 dient zur Erläuterung der Arbeitsweise der Permutationsschaltung
und das Diagramm nach Figur 3b zeigt den Übergang der Eingangsleitungen durch die Permutationsschaltung.
Die Ausgänge der Datenselektoren in der Höhe 0 sind durch den Zustand des Kanalauswahleingangs
χ gegeben. Wenn xQ eine 0 ist, dann ist der Ausgang
jedes Datenselektors seine entsprechende Eingangsleitung.
Der Ausgang von SQ ist LQ,' der von S^ ist L1, der von
Sp ist L2 "und der von S^ ist L^. Wenn xQ = 1 ist, dann
schalten die Gruppen der Datenselektoren ihre Ausgänge um. Der Ausgang von S^ wird L^, der von S^ wird LQ, der
von So wird Lx und der von S-, wird L0. Wenn dann dem
409813/0954 ~12~
in der Höhe O das erste Element 1Q des binären Vektors
jeder Eingangsleitung folgt, wird der Modul 2 zum Kanalauswahleingang
χ addiert. In der Höhe 0 befindet sich keine Operation an den I1-Elementen des Index des
binären Vektors der Eingangsleitungen. Somit sind die
Ausgänge der Datenselektoren in der Höhe 0 die Leitungen L1 = (I1, lo) = (I1, Ί'ο). Die Eingänge der Datenselektoren
in der Höhe 1 der Permutationsschaltung sind die Leitungen L1 = (11^, l'Q) und in der zweiten Hohe
gibt es keine Operation am 1' -Element des binären Vektors
L'. In der Höhe 1 ist die Operation der in der Höhe 0 ähnlich, nur ist sie jetzt am 1'^-Element des binären
Vektors L', das das Ix.-Element des binären Vektors L
ist. Der Ausgang der Höhe 1, der der Ausgang der Permutationsschaltung
als Ganzes ist, ist L" = (1"^, l"o) =
» (I1^1 ® X1, l'o) ■ (I1 © X1, 1Q Φ X0). Somit ist der
Ausgang der Permutationsschaltung L" » L © X.
Die Permutationsschaltung ist in Höhen unterteilt, so daß in jeder Höhe Operationen an einem oder mehreren Elementen
des Index des binären Vektors der Eingangsleitung L ausgeführt werden. Die Ausgangsleitungen der Datenselektoren
in der einen Höhe sind die Eingangsleitungen der Selektoren in der folgenden Höhe. Die Ausgangsleitung
eines Datenselektors stimmt mit dem Index des binären Vektors des Datenselektors überein.
Bei einer Permutationsschaltung sind die Eingangsleitungen einer Höhe so gruppiert, daß alle Leitungen in einer
Gruppe gemeinsame Elemente in den Binärvektorenindizes
besitzen, ausgenommen für die Elemente, die in dieser Höhe betrieben werden sollen. Jede Leitungsgruppe führt
daan zu der Gruppe von Datenselektoren, die zur selben Gemeinsamkeit von Elementen in ihren Binärvektorenindizes
gehören, wie es die Leitungen tun. Die Leitungen und
409 8 13/0954
die Datenselektoren werden dann in bezug auf die Elemente ihrer Vektorenindizes zusammengeschaltet, die nicht gemeinsam
sind. Das heißt, daß dort jeder Leitung L ein binärer Vektor L aus den geordneten Elementen des binären
Vektors L besteht, die entsprechend denen der anderen Leitungen in der Gruppe unähnlich sind. Entsprechend
jedem Datenselektor befindet sich dort ein binärer Vektor S aus den geordneten Elementen des binären Vektors S,
die den entsprechenden Elementen der binären Vektoren der anderen Datenselektoren in der Gruppe unähnlich sind.
Die Leitungen in einer Gruppe werden dann an die Datenselektoren in der entsprechenden Gruppe geschaltet, so
daß die Leitung L an den Dateneingang D des Selektors S
in Übereinstimmung mit der Formel L Θ S führt.
Bei der Anwendung dieser VerdrahtungsregeIn sind die -Zahlen
der Leitungen oder Datenselektoren in einer Gruppe gleich der Eingangskapazität der Datenselektoren in der
Permutationsschaltung. Wenn kodierte binäre Datenselektoren mit k Kanälen verwendet werden, werden die Datenselektoren
und deren Eingangsieitungen in Gruppen von k unterteilt und die Zahl von Elementen des binären Vektors
L der bei einer Höhe der Permutationsschaltung betätigt
wird, wird gleich logpk. Folglich enthalten die binären Vektoren L und S logpk Elemente, die zueinander in der·»·
selben Ordnung wie in den Vektoren L und S'erscheinen.
Wenn beispielsweise in einer Höhe der Permutationsschaltung die Elemente "L· und I1- des Vektors L betätigt werden
sollen, dann wird L = (Ι,-ι 1^) und S ■ (s,-» s^) und somit
D » (Ir @ S,-, 1/j. © S^).
Wie Figur 3a zeigt, sind die Leitungen L1 und L1- wie die
Leitungen L1,, und L1, infolge der Gemeinsamkeit des Elementes
I1 des Binärvektorenindex zusammen gruppiert. In
ähnlicher Weise sind die Selektoren S1 und S1O wie die
40981 3/0954
Datenselektoren S1.* und S1 -? infolge der Gemeinsamkeit der
Elemente s1 in in ihren BinsLrvek-fcorenindizes zusammen
gruppiert. Um festzustellen, weiche Dateneingangsleitung L' zum Datenselektor S'2 führt,, führt die Formel zu D =
L1 ® S1 = 0 8 1 = 1 und die Leitung L1 zum Dateneingang
D^j der Datenselektoren S1O-
Wenn die Datenselektoren mit einer größeren Eingangskapazität verwendet werden, kann somit die Permutationssehaltung
nach Figur Ja und ^h weniger Daten Selektoren
benutzen und die Permutationen können durchweg auf einer Höhe ausgeführt werden. Figur 4 zeigt den Aufbau einer
solchen Permutationsschaltung für Yierkanaldatenselektoren.
Da jeder Selektor vier Eingänge behandeln kann, werden die Datenleitungen in Gruppen von vier angeordnet
und die Schaltung erfordert jetzt nur noch eine Gruppe von Eingangsleitungen. Die Verdrahtungsregeln für die
Eingangsleitungen sind dieselben,, wie beschrieben, da es aber dort nur eine Operationskode gibt, wird in der Formel
D = L © S L-L und S=S.
Wie Figur 4- zeigt, wird jetzt der Übergang der Eingangsleitungen (L) über die Permutationsschaltung zu den Ausgangsleitungen
(L1) in einer einzigen Höhe ausgeführt, in
der zwei Elemente des binären Vektors der Eingangsleitungen betrieben werden. Das Ergebnis ist dasselbe wie das
in der vorherigen Permutationssehaltung L1 = L © X.
Da die Permutation in Höhen ausgeführt werden kann, können somit Permutationsschaltungen einer großen Größe entsprechend
mit Schaltungen kleinerer Größe zusammen geschaltet werden. Die Permutatxonsschaltung für die Operation
mit einem 256-Wort-durch-256-Bit-MDA-Peld erfordert
somit 256 Eingangsleitungen, von denen jede durch einen
einzelnen binären Vektor L mit 8 Elementen dargestellt
409813/0954 ~15~
ist. Eine solche Schaltung, die kleine Permutationsschaltungen verwendet (Figur 4), benötigt 4 Höhen, von denen
jede vierundsechszig kleine Schaltungen enthält.
Figur 5 zeigt den Übergang einer Singangsleitung L über eine solche Permuta ti ons schaltung zur Ausgangsleitung
Lltn. Aus Figur 5 und den Verdrahtungsregeln ist zu entnehmen,
daß die Eingangsleitungen und die Datenselektoren in jeder Höhe in Gruppen von vier gemäß der Gemeinsamkeit
von sechs der acht Elemente ihrer Binärvektorenindizes angeordnet sind. Folglich werden die Eingangsleitungen
der Datenselektoren in der Höhe O, die die Datenquelleneingangsleitungen
der Schaltung selbst sind, so gruppiert, daß alle Leitungen in einer Gruppe gemeinsame
Elemente in ihren Binärvektorenindizes bei lo, 1^, 1^.,
1,-, Ig und I17 haben.
Die Eingangsleitungen L , L^, Lp und I, werden deshalb
zusammen gruppiert, ebenso wie auch die Eingangsleitungen Lpe,, Iipcp» ^pcji ^111^- -^ρςς· ^n ähnlicher Weise werden die
Datenselektoren so gruppiert, daß alle Datenselektoren einer Gruppe in der Höhe O gemeinsame Elemente in ihren
Binärvektorenindizes bei so, s^, s^, S1-, s^ und Sn haben,
so daß die erste Gruppe die Datenselektoren SQ, S^,
Sp und Sx enthalten und die letzte Gruppe enthält S0cO,
SOc2» ^254 1^ ^255* Die ers*Settannte Gruppe von Eingangsleitungen
führt zur erstgenannten Gruppe von Datenselektoren und die zuletztgenannte Gruppe von Eingangsleitungen zur letztgenannten Gruppe von Datenselektoren,
Wenn die Verdrahtungsregeln durch den ganzen Aufbau der Schaltung hindurch beachtet werden, besteht diese aus
mehreren kleineren Schaltungen nach Figur 4.
Die Ausgangsleitungen der Datenselektoren (S) in der Höhe O sind die Eingangsleitungen (L1) der Datenselektoren
4G9813/0954
234738?
(S1) in Höhe 1, Dort sind die Leitungen L1 mit gemeinsamen
binären Vektor elementen l'o, 1^* 11Zj-' 1S* ^'6
und l'n zusammengefaßt. Dadurch werden Lf o, L1^, Ll8
und !'.ίο zusammengefaßt und führen zu den Datenselektoren
S'Q, S1^, S'8 und s»12| L'243» L'24-7, L^51 und
I,» ,_ werden zusammengefaßt und führen zu den Datenselektoren
S'g^z» s'247* S*251 und S*255* Dasselt)e Schema
geht durch die ganze Permutationsschaltung hindurch, so
daß die Eingangsleitungen und Datenselektoren in Höhe 2 zu Gruppen aus vier von jeder sechszehnten Leitung und
jedem sechszehnten Datenselektor zusammengefaßt werden.
Die Eingänge und Datenselektoren in Höhe 3 werden in Gruppen aus vier von {jeder vierundsechszigsten Leitung
und Datenselektor zusammengefaßt.
In den Höhen O und 1 ist die Gruppierung der Datenselektoren
so, daß die Drahtverbindungen der Datenselektoren zwischen diesen Höhen in Gruppen von sechszehn auftreten,
d.h. daß die Ausgänge der ersten sechszehn Datenselektoren S bis Syjjr die Eingänge der ersten Gruppe
von sechszehn Datenselektoren in Höhe 1, S'o bis S1^n
sind und es dort keine anderen Dateneingänge dieser Selektoren gibt. Dasselbe gilt für jede folgende Gruppe
von sechszehn Datenselektoren in den Höhen O und 1. Jede Gruppe enthält eine einzige Permutationsschaltung mit
Eingängen. Ebenso gibt es eine Gesamt-Drahtverbindung
der Datenselektoren zwischen den Höhen 2 und 3 innerhalb einer Gruppe von 16 aus jedem sechszehnten Datenselektor.
Da die Operationen der Schaltung in jeder Höhe genau
dieselben sind, d,h. jede Eingangsleitung einen Kanal durch einen von vier Kanälen je nach dem Zustand der Kanalwahleingänge
besitzt, folgt, daß die Gruppen in den Höhen 2 und 3 genau ähnlich den Höhen O und 1 Permutationsschaltungen
mit 16 Eingängen ergeben.
-17-409813/0954
Somit kann die Permutationsschaltung für ein MDA-FeId ·
256 Wort durch 256 Bit mehrere 16-Eingangs-Permutationsschaltungen
verwenden. Jede dieser Schaltungen kann an ihrem eigenen, die gedruckte Schaltung tragenden Körper
einzeln angebracht sein und besitzt dabei nur sechszehn Signaleingangsleitungen und sechszehn Signalausgangsleitungen.
Die Verbindungen der Leitungen auf den Druckkörpern ermöglichen entsprechend der Grundgruppierungsund
Verdrahtungsregeln, daß die einzelnen 16-Eingangs-Permutationsschaltungen
in einer 256-Eingangs-Permutationsschaltung
aufgenommen werden.
Da diese größere Permutationsschaltung kleinere Schaltungen enthält, die auf einer Karte mit gedruckter
Schaltung vollständig aufgenommen werden können, sind nur sehr wenige Drahtverbindungen zwischen den Karten notwendig
und die Wartung der Anlage wird vereinfacht. Figur 6 zeigt, wie eine Permutationsschaltung mit 256 Eingängen 32 Schaltungen mit je 16 Eingängen verwenden kann.
Obwohl die Permutationsschaltungen normalerweise aus mehreren
identischen Datenselektoren bestehen, braucht dies nicht immer für Permutationsschaltungen aus mehreren Datenselektoren mit verschiedenen Eingangskapazitäten zuzutreffen.
Im allgemeinen erfordert eine Permutationsschaltung mit 2n Stellen in jeder Höhe der Schaltung 2n
Datenselektoren. Die Zahl der notwendigen Höhen hängt von der Eingangskapazität der verwendeten Datenselektoren
ab. Wenn die Schaltung aus r Höhen 0 bis r-1 von Datenselektoren besteht, wobei eine Höhe ζ vollständig aus
Datenselektoren mit kz Kanälen besteht, dann arbeitet
die Höhe ζ an log0k_ Elementen der binären Vektoren L.
Die Beziehung zwischen der Zahl der Höhen r für die Schaltung, der Zahl der Elemente des binären Vektors L
und den Eingangskapazitäten der in den einzelnen Höhen
—18— 409813/0954
verwendeten Selektoren ist dann durch die Formel
r-1
η = log^k gegeben. Wenn k für alle ζ gleich k ist, z=0
η = log^k gegeben. Wenn k für alle ζ gleich k ist, z=0
ergibt die Gleichung η = r log-k, wie aus den beschriebenen
Permutationsschaltungen zu ersehen ist.
Bei Computeroperationen ist es oft erwünscht, ganze Datenfelder zu verschieben, d.ho jedes Datenbit behält
dieselbe Stelle zu allen anderen Datenbit, aber seine absolute Lage in jedem Speicher oder jeder Datenzwischenfläche
wird geändert. Wenn beispielsweise alle Daten in einer Datenzwischenfläche mit η Stellen nach unten
um eine Stelle verschoben werden sollen, dann führen die Daten in der Stelle P zu den Stellen P^, P^ bis Pp
usw. durch die Datenzwischenfläche hindurch, so daß die
letzte Stelle Ί? * in die erste Stelle P verschoben
wird. Da bei manchen Computeroperationen die Verschiebemöglichkeit erwünscht ist, sollen gemäß der Erfindung
bestimmte Verschiebungen nicht mehr als Spezialfälle von Permutationen sein. Eine 2n-Eingangs-Permutation kann
leicht η Verschiebungen zulassen, wobei Jede eine Potenz von zwei, d.h. von 2° bis 2n~ ist. Beispielsweise kann
die Permutationsschaltung mit 256 Eingängen eine Kapazität
von acht verschiedenen Verschiebungen aufweisen, d.h. von 1, 2, 4, 8, 32, 64 und 128 Stellen.
Eine Permutationsschaltung mit acht Eingängen und zwei
Datenselektoren kann sowohl permutieren als auch verschieben. Bei einer Schaltung mit acht Eingängen, bei der
η « 3 ist, kann diese drei verschiedsne Verschiebungen
von 1,2 und 4 Stellen machen„ Es können aber auch andere
Verschiebungen dadurch erzielt werden, daß man einen oder mehrere Schritte durch die Schaltung macht. Dies heißt,
eine Verschiebung von drei kann dadurch ausgeführt werden,
409813/0954 -19~
daß man zweimal durch die Schaltung hindurchgeht. Die
erste Verschiebung der Daten um eine Stelle, die zweite Verschiebung um zwei. In ähnlicher Weise kann eine Verschiebung
um sieben Stellen dadurch ausgeführt werden, daß man drei Schritte durch die Permutationsschaltung
macht, der erste Schritt um eine Stelle, der zweite um zwei Stellen und der dritte um vier Stellen. Es ist somit
nur notwendig, die drei Grundverschiebungen in der Permutationsschaltung vorzusehen, wenn alle anderen Verschiebungen
durch einen anderen Schritt oder andere Schritte durch die Schaltung ausgeführt werden.
Die Figuren 7& bis 7c zeigen die Beziehung zwischen den
Eingangsleitungen L, den Ausgangsleitungen L"" und dem Permutationskode X für jede dieser drei Verschiebungen.
Wenn ein Leerzeichen in einem der Diagramme der Figuren 7a bis 7c erscheint, ^ird angezeigt, daß die Stelle eine
1 oder eine 0 sein könnte. Zum Verschieben einer Eins (Figur 7a-) werden die vier Eingangsleitungen einen Binärvektorenindex
besitzen, der in 0 endet, und somit muß ein Permutationskode von oo1 die Leitung um eine Stelle
nach oben auf 1 verschieben. Zwei Eingangsleitungen
haben einen binären Vektor mit der Endung 0 und erfordern
deshalb, daß ein Permutationskode von o11 um eine
Stelle aufwärts zur Ausgangsleitung 1o verschoben
wird. In ähnlicher Weise müssen sich die Permutationskode von 1 1 1 um eine Stelle aufwärts zu den Ausgangsleitungen
L""^ bzw. L""q verschieben. Die Figuren 7b und
7c zeigen diese Erfordernisse der Permutationskode zum Verschieben um zwei bzw, vier Stellen.
Die Figuren 7a bis 7b zeigen in Verbindung mit den Figuren
8a bis 8c die Arbeitsweise der Permutationsschaltung
beim Verschieben von 1, 2 bzw. 4- und Figur 9 zeigt das
Blockdiagramm und die Drahtverbindungen zwischen den
409813/0954 ~2°~
- 2ο -
Hohen, für die "betrachtete Schaltung. Die drei Reihen
dunkler Kreise 1o, 12 und 14 in den Figuren 8a bis 8c
stellen drei Reihen von Datenselektoren in der Permutationsschaltung
S, S' und S" dar. Die Figur 7a zeigt die Verschiebung um eine Stelle, wobei alle Eingangsleitungen
erfordern,, daß xQ » 1 ist. Folglich werden in der Höhe O
die Selektoren SQ bis Sr7 in Figur 9 die geradzahligen
Eingangsleitungen einmal nach links und einmal nach rechts verschoben. Figur 7a zeigt, daß die geradzahligen
Eingangsleitungen verlangen, daß x^ » O ist, und die ungeraden
Eingangsleitungen, daß x^ « 1 ist. Folglich erfordern
die ungeraden Datenselektoren in der Höhe 1 Kanälauswahleingänge von Xy, = O und die geradzahligen Selektoren
in Höhe 1 Kanalauswahleingänge von Xx. = 1. Somit verschieben
die Datenselektoren S1 die Verschiebeeingangsleitungen
liy, und Lc- um zwei Platze nach links, L^ und Lr7 um
zwei Plätze nach rechts und die anderen Eingangsleitungen
werden nicht verschoben. Deshalb erfordern, wie die Figuren 7a und 8a erkennen lasseh, nur zwei der Eingangsleitungen
Lz und Lr7 eine Verschiebung der Datenselektoren der
Höhe 2. Folglich erfordern S0" und S^" Kanalauswahleingänge
von X2 = 1 und alle anderen Selektoren S" Kanalauswahleingänge
von Xp * O. Die Ausgänge der Selektoren S"
sind die Eingangsleitungen, die einmal nach links verschoben werden. Die Figuren 8b und 8c zeigen Permutationen
für eine Verschiebung von zwei bzw. eine Verschiebung jron vier. Aus den. verschiedenen Verschiebeoperationen nach
Figur 8 ist zu erkennen, daß eine Permutationsschaltung
eine Verschiebung ausführen kann, wenn mehrere Kanalauswahl eingangsleitungen (Permutationskodeleitungen) verwendet
werden. Für einzelne Verschiebungen von 1, 2 oder M-ist
χ , für alle L dasselbe. Deshalb können die Selektoren S0 über Sr7 mit derselben Kanalauswahlleitung χ verbunden
werden. Für eine Verschiebung von 2 oder 4 ist x. in ähnlicher
Weise dasselbe für alle Eingangsleitungen, aber
409813/0954 ~21~
für eine Verschiebung von Eins erfordern die Datenselektoren
S^, S'2, S\ und S1Q, daß x^ « 1 ist. Deshalb
müssen zwei Kanalauswahleingangsleitungen das x^j-Element
des Permutationskode steuern. In ähnlicher Weise erfordern die Datenselektoren S"^, S"2, S"j, S1V und S"^,
daß X2-O ist. Die Selektoren S»Q, S"v Sl\ und S"^
erfordern, daß X2 » 1 ist. Bei einer Verschiebung von 4
muß bei allen S" X2 s 1 sein· Folglich erfordert das
X2-Element des Permutationskode drei Leitungen zu den
Datenselektoren. Die Selektoren S" und S% können miteinander,
S"^ und S"c miteinander und S"2, S"z» S",- und
S11P7 miteinander verbunden sein. Durch diese Zahl von
Permutationskodeeingangsleitungen kann die Permutationsschaltung entweder die Daten in oder aus der Datenzwischenfläche
entsprechend dem Speicherschema des Speicherfeldes permutieren oder die Daten so verschieben, daß
jedes Datenbit seine relative Lage in jeder Datenzwischenflache,im
Speicherfeld ändert.
Ügur 1o zeigt die Permutationsschaltung mit acht Eingängen.
Diese erfordert eine χ -Leitung, zwei x^-Leitungen x^ und x^ ^ und drei X2 Leitungen X2 und x2 .
und xo o. Wenn die Schaltung zum Verschieben dient, bestimmt
die Verschiebeauswahlschaltung den Zustand der Kanalauswahlleitungen gemäß der auszuführenden Verschiebung
O
Analog zur beschriebenen Permutationsschaltung mit acht Eingängen kann eine Schaltung einer beliebigen Größe eine
Verschiebefähigkeit besitzen. Die Permutationsschaltung mit 256 Eingängen kann um 1, 2, 4, 8, 16, 32, 64 und 128
Stellen verschieben. Hierfür erfordert sie eine χ -Leitung, zwei x^-Leitungen, drei x2-Leitungen, vier x^-Leitungen,
fünf x^-Leitungen, sechs X[--Leitungen, sieben
Xg-Leitungen und acht x^-Leitungen.
409813/0954 ~22~
Durch. Verwenden von gemeinsam verfügbaren Datenselektoren
kann somit bei einer Permutationsschaltung die Datenord-
nung aus der Schaltung eine konstante Beziehung zur Datenordnung in die Schaltung aufweisen. Diese Ordnung
hängt vom Permutationskode X ab. Eine solche Schaltung mit 2n Eingängen erfordert nur η Permutationskodeleitungen
zum Betreiben der Kanalauswahleingänge der Datenselektoren. Die Daten an einem der 2n Eingänge würden
selbst an einem von 2n Ausgängen auftreten, die vom Permutationskode
X abhängen. Eine solche Permutationsschaltung kann leicht die gewünschte Verschiebung programmieren.
Durch einen sehr kleinen Aufwand an Verschiebeauswah1schaltung
und vielen Kanalauswahleingangslextungen zu den Datenselektoren kann eine Permutationsschaltung
mit 2n Eingängen Verschiebungen von 2,2,2,..., und
2Γ Stellen ausführen. Verschiebungen einer Zahl von Stellen können auch dadurch durchgeführt werden, daß man
mehrere entsprechende Schritte durch die Schaltung in Verschiebeart unternimmt.
Die Erfindung ermöglicht somit die Permutation der Datenordnung
aus der Datenzwischenflache und in einen Festkörper
spei eher mit mehrdimensionalem Zugriff oder aus diesem Speicher in die Datenzwischenflache, so daß die
Daten an der Datenzwischenfläche konsequent sich in derselben Ordnung befinden, wobei diese Ordnung nur von der
Zugriffsart an das MDA-PeId abhängt. Die Erfindung ermöglicht
auch alle möglichen Verschiebungen dieser Daten. Sie liefert sowohl diese Funktionen durch eine Schaltung
mit einem Minimum an Aufwand logischer und Steuerschaltungen und ist so beschaffen, daß große Schaltungen
aus kleineren identischen Schaltungseinheiten solcher Größe aufgebaut werden können, daß jede am Körper seiner
eigenen besonderen gedruckten Schaltung einmalig angeordnet werden kann. Es ist nur ein minimaler Aufwand an
-23-
4098 13/0954
Zwisclienver dran tungen notwendig. Die Wartung ist vereinfacht
.
Es ist zwar ein besonderes Ausführungsbeispxel der Erfindung
im einzelnen beschrieben worden, doch ist die Erfindung nicht auf dieses Beispiel beschränkt, vielmehr
fallen auch Abänderungen unter diese.
3/0954
Claims (8)
1. Verfahren zur Permutation der linearen Ordnung mehrerer
Datenquellen, gekennzeichnet durch folgende Schritte:
a) Indizierung Jeder Datenquelle mit einem einmaligen
Vektor mit mindestens einem Element;
b) Vorsehen eines Permutationskodevektors mit derselben Zahl von Elementen wie die Datenquellenvektorindizes;
c) Einstellen der Werte der Elemente des Permutationskode vektors entsprechend der gewünschten linearen Ordnung
der Datenquellen; und
d) Zulassen.der Elemente des Permutationskodevektors zum
arithmetischen Arbeiten an den entsprechenden Elementen der Datenquellenvektorindizes, so daß sich die resultierenden
Vektoren und die Vektorindizes der Datenquellen in der gewünschten linearen Ordnung befinden.
2. Verfahren nach Anspruch 1, gekennzeichnet durch folgende
Schritte:
a) Indizieren der Datenquellen mit einmaligen Binärvektorindizes von einem oder mehreren Elementen;
b) Vorsehen des Permutationskodevektors als binärer Vektor ; und
c) Addieren der Elemente des Permutationskodemnduls 2 zu
den entsprechenden Elementen der Datenquellenvektorindizes.
3· Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß mehrere Datenquellen 2n solcher Quellen enthalten, worin
409813/0954
u _ 1 ist und die arithmetische Operation durch gemeinsam
verfügbare logische Datenselektoren durchgeführt wird, mit folgenden Schritten:
a) Anordnungen mehrerer Datenselektoren in r Höhen 0 bis r-1 von 2n Datenselektoren mit je k Kanälen, worin
k denselben Wert k für alle Datenselektoren innerhalb einer gegebenen Höhe aufweist, aber verschiedene Werte
für jede Höhe haben kann, so daß r-1
η * log 2 kz ist;
z*0
b) Parallelschalten der gemeinsamen Kanalauswahleingänge
aller Datenselektoren in jeder Höhe;
c) Indizieren der Datenquellen und Datenselektoren innerhalb jeder Höhe mit einmaligem n-Element-Binärvektoren;
d) Zuordnen des Binärvektorindex des Datenselektors zu jedem Ausgang dieses Selektors;
e) Gruppieren der Datenselektoren in jeder Höhe gemäß der Gemeinsamkeit von (n-log2k ) der Elemente der Binärvektorenindizes;
f) Gruppieren der Datenquellen gemäß der Gemeinsamkeit
von (n-log^k«) der Datenelemente ihrer Binärvektoren-Indizes;
g) Gruppieren der Ausgänge der Datenselektoren der Hohen 0 bis (r-2) in jede Höhe gemäß der Gemeinsamkeit
von (n-logpk„,*) Elementen ihrer Binärvektorenindizes;
h) Verbinden der Datenquellen in einer Gruppe mit den Dateneingängen der Datenselektoren der Höhe 0 innerhalb
der Gruppe mit derselben Gemeinsamkeit von Binärvektorindexelementen gemäß den Elementen der Binärvektorindizes,
die einander unähnlich sind,
i) Verbinden der Datenselektorausgänge innerhalb einer
-26-409813/0954
Gruppe in der Höhe k mit den Dateneingängen der Selektoren
der Höhe (k-1) innerhalb der Gruppe mit derselben Gemeinsamkeit von Binärvektorenindexelementen gemäß den
Elementen der unähnlichen Binärvektorindizes, worin 0 _ k _ r-1 ist; und
j) Einstellen des Zustandes der Kanalauswahleingangsleitungen
jeder Höhe gemäß dem Wert des Permutationskodevektors zum Anzeigen der gewünschten linearen Datenordnung
an den Ausgängen der Selektoren in den Höhen (r-1).
4. Verfahren nach Anspruch 3, gekennzeichnet durch fol^
gende Schritte:
a) Anordnen von r? Datenselektoren mit k-Kanälen, von
den&n j'eder k Dateneingänge, einen Ausgang und logpk
binär kodierte Kanal auswahl eingänge in r Höhen 0 bis (r-1) von je 2n Datenselektoren aufweist, worin
η
' -lög£E
b) Parallel schal ten der gemeinsamen Kanal auswahl eingänge
aller Datenselektoren in jeder Höhe, so daß diese logpk Kanalauswahleingangsleitungen enthält;
c) Indizieren der Datenquellen und Datenselektoren in jeder Höhe mit einmaligen binären Vektoren mit N-EIementen;
d) Zuordnen des Binärvektorindex des Datenselektors zu dessen Ausgang;
e) Gruppieren der Datenselektoren in Jeder Höhe gemäß
der Gemeinsamkeit von (n-logpk) Elementen ihrer Binärvektorenindizes;
f) Gruppieren der Datenquellen gemäß der Gemeinsamkeit
von (n-logpk) Elementen ihrer Binärvektorenindizes;
g) Gruppieren der Ausgänge der Datenselektoren der Höhen
-27-
409813/0954
O bis (r-2) in jeder Höhe gemäß der Gemeinsamkeit von
(n-logpk) Elementen ihrer Binärvektorenindizes;
h) Verbinden der Datenquellen in einer Gruppe mit den Dateneingängen der Datenselektoren in der Höhe 0 innerhalb
der Gruppe mit1 derselben Gemeinsamkeit von Binärvektorenindexelementen
gemäß den Elementen der unähnlichen Binärvektorenindizes;
i) Verbinden der Datenselektorenausgänge in einer Gruppe in der Höhe k mit den Dateneingängen der Selektoren der
Höhe (k-1) in der Gruppe mit derselben Gemeinsamkeit von
Binärvektorenindexelementen gemäß den Elementen der unähnlichen Binärvektorenindizes, worin 0 _ k r-1 ist; und
j) Einstellen des Zustandes der Kanalauswahleingangsleitungen
jeder Höhe gemäß dem Wert des Permutationskode zum Zeigen der gewünschten linearen Datenordnung an den
Ausgängen der Datenselektoren in der Höhe (r-1)»
5. Verfahren nach Anspruch 1, gekennzeichnet durch 2n
Datenquellen und folgende Schritte:
a) Indizieren jeder Datenquelle mit einem einmaligen Binärvektorenindex
M « (m n-i» mn-2' ***' m1' mCp '
b) Vorsehen eines Permutationskodebinärvektors X =
Cxn-1» x n-2» *··» X1» x0^;
c) Einstellen der Werte der Elemente des Permutationskodevektors gemäß der gewünschten linearen Ordnung der
Datenquellen; und
d) Zulassen aller Elemente des Permutationskodevektors zum arithmetischen Arbeiten an den entsprechenden Elementen
der Datenquellenvektorindizes, so daß der resultierende Binärvektor P » M © X ist, worin © den Additionsmodul 2 darstellt.
6. Schaltung mit Logik zum Permutieren der linearen
409813/095A ~28~
Ordnung von 2n Datenquellen gemäß dem Wert eines binären
Permutationskode X mit η Elementen, worin η _ 1 ist, gekennzeichnet durch:
a) mehrere Datenselektoren in r Höhen, so daß eine Höhe ζ Datenselektoren mit 2nk Kanälen enthält, deren Ausgänge
die Eingänge der Datenselektoren in der Höhe (z+1) ist, worin ζ (r+1) ist, so daß die Beziehung
r-1 unter n, r und k durch die Gleichung η »
gegeben ist;
b) eine erste Schaltung zum Auswählen der Datenquellen, deren Ordnung permutiert werden soll; und
c) eine zweite Schaltung zum Einstellen der Zustände der Kanalauswahleingänge der Datenselektoren gemäß dem Permutationskode, so daß gemeinsame Kanalauswahleingänge
aller Datenselektoren in einer gegebenen Höhe denselben Zustand einnehmen.
7· Schaltung nach Anspruch 6, dadurch gekennzeichnet, '
daß die erste Schaltung ein n-Bit-Register ist.
8. Schaltung nach Anspruch 6, dadurch gekennzeichnet, daß die zweite Schaltung ein n-Bit-Register und eine
dritte Schaltung zum Einstellen der Zustände der Kanalauswahleingänge der Datenselektoren gemäß dem Alisgang
des n-Bit-Registers und&er gewünschten /ineare^ Ordnung
der Datenquelle enthält.
DipL-lr.
40981 3/0954
Leerseite
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US00291850A US3812467A (en) | 1972-09-25 | 1972-09-25 | Permutation network |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2347387A1 true DE2347387A1 (de) | 1974-03-28 |
Family
ID=23122122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19732347387 Withdrawn DE2347387A1 (de) | 1972-09-25 | 1973-09-17 | Permutationsschaltung |
Country Status (12)
Country | Link |
---|---|
US (1) | US3812467A (de) |
JP (1) | JPS5836433B2 (de) |
AR (1) | AR199686A1 (de) |
BE (1) | BE805292A (de) |
CA (1) | CA1003118A (de) |
CH (1) | CH599631A5 (de) |
DE (1) | DE2347387A1 (de) |
FR (1) | FR2200989A5 (de) |
GB (1) | GB1428505A (de) |
IT (1) | IT1004022B (de) |
NL (1) | NL7312997A (de) |
SE (1) | SE393692B (de) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3936806A (en) * | 1972-07-12 | 1976-02-03 | Goodyear Aerospace Corporation | Solid state associative processor organization |
US4099256A (en) * | 1976-11-16 | 1978-07-04 | Bell Telephone Laboratories, Incorporated | Method and apparatus for establishing, reading, and rapidly clearing a translation table memory |
US4162534A (en) * | 1977-07-29 | 1979-07-24 | Burroughs Corporation | Parallel alignment network for d-ordered vector elements |
US4223391A (en) * | 1977-10-31 | 1980-09-16 | Burroughs Corporation | Parallel access alignment network with barrel switch implementation for d-ordered vector elements |
FR2438296B1 (fr) * | 1978-10-05 | 1986-06-13 | Burroughs Corp | Reseau d'alignement avec acces parallele |
US4667308A (en) * | 1982-07-21 | 1987-05-19 | Marconi Avionics Limited | Multi-dimensional-access memory system with combined data rotation and multiplexing |
US4727474A (en) * | 1983-02-18 | 1988-02-23 | Loral Corporation | Staging memory for massively parallel processor |
EP0189200B1 (de) * | 1985-01-24 | 1994-07-13 | Nec Corporation | Schaltungsanordnung zur zentralisierten Steuerung eines Vermittlungsnetzwerkes |
US4670856A (en) * | 1985-03-07 | 1987-06-02 | Matsushita Electric Industrial Co., Ltd. | Data storage apparatus |
JPS6231472A (ja) * | 1985-04-03 | 1987-02-10 | Nec Corp | ビツト処理回路 |
US4999808A (en) * | 1986-09-26 | 1991-03-12 | At&T Bell Laboratories | Dual byte order data processor |
US4882683B1 (en) * | 1987-03-16 | 1995-11-07 | Fairchild Semiconductor | Cellular addrssing permutation bit map raster graphics architecture |
US5111389A (en) * | 1987-10-29 | 1992-05-05 | International Business Machines Corporation | Aperiodic mapping system using power-of-two stride access to interleaved devices |
US5280474A (en) * | 1990-01-05 | 1994-01-18 | Maspar Computer Corporation | Scalable processor to processor and processor-to-I/O interconnection network and method for parallel processing arrays |
AU645785B2 (en) * | 1990-01-05 | 1994-01-27 | Maspar Computer Corporation | Parallel processor memory system |
EP0509058A4 (en) * | 1990-01-05 | 1993-11-18 | Maspar Computer Corporation | Router chip with quad-crossbar and hyperbar personalities |
US5524256A (en) * | 1993-05-07 | 1996-06-04 | Apple Computer, Inc. | Method and system for reordering bytes in a data stream |
US5598514A (en) * | 1993-08-09 | 1997-01-28 | C-Cube Microsystems | Structure and method for a multistandard video encoder/decoder |
US5815736A (en) * | 1995-05-26 | 1998-09-29 | National Semiconductor Corporation | Area and time efficient extraction circuit |
AU6846796A (en) * | 1995-08-16 | 1997-03-12 | Microunity Systems Engineering, Inc. | Method and system for implementing data manipulation operations |
US5910909A (en) * | 1995-08-28 | 1999-06-08 | C-Cube Microsystems, Inc. | Non-linear digital filters for interlaced video signals and method thereof |
US20030002474A1 (en) * | 2001-03-21 | 2003-01-02 | Thomas Alexander | Multi-stream merge network for data width conversion and multiplexing |
US6549444B2 (en) * | 2001-04-12 | 2003-04-15 | Samsung Electronics Co., Ltd. | Memory device with prefetched data ordering distributed in prefetched data path logic, circuit, and method of ordering prefetched data |
US6754741B2 (en) | 2001-05-10 | 2004-06-22 | Pmc-Sierra, Inc. | Flexible FIFO system for interfacing between datapaths of variable length |
CA2356572A1 (en) | 2001-08-30 | 2003-02-28 | Heng Liao | Transmit virtual concatenation processor |
US7000136B1 (en) | 2002-06-21 | 2006-02-14 | Pmc-Sierra, Inc. | Efficient variably-channelized SONET multiplexer and payload mapper |
US20060171233A1 (en) * | 2005-01-18 | 2006-08-03 | Khaled Fekih-Romdhane | Near pad ordering logic |
US7761694B2 (en) * | 2006-06-30 | 2010-07-20 | Intel Corporation | Execution unit for performing shuffle and other operations |
JP5203594B2 (ja) * | 2006-11-07 | 2013-06-05 | 株式会社東芝 | 暗号処理回路及び暗号処理方法 |
JP4851947B2 (ja) * | 2007-01-29 | 2012-01-11 | 株式会社東芝 | 論理回路 |
US10832241B2 (en) * | 2017-10-11 | 2020-11-10 | International Business Machines Corporation | Transaction reservation for block space on a blockchain |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3371320A (en) * | 1965-03-12 | 1968-02-27 | Sperry Rand Corp | Multipurpose matrix |
DE2324731C2 (de) * | 1972-05-15 | 1985-08-14 | Goodyear Aerospace Corp., Akron, Ohio | Festkörperspeicher mit Mehrfachzugriff |
-
1972
- 1972-09-25 US US00291850A patent/US3812467A/en not_active Expired - Lifetime
-
1973
- 1973-08-20 CA CA179,228A patent/CA1003118A/en not_active Expired
- 1973-08-21 GB GB3937573A patent/GB1428505A/en not_active Expired
- 1973-09-07 AR AR249972A patent/AR199686A1/es active
- 1973-09-17 DE DE19732347387 patent/DE2347387A1/de not_active Withdrawn
- 1973-09-20 IT IT52644/73A patent/IT1004022B/it active
- 1973-09-20 NL NL7312997A patent/NL7312997A/xx not_active Application Discontinuation
- 1973-09-21 JP JP48106845A patent/JPS5836433B2/ja not_active Expired
- 1973-09-24 FR FR7334069A patent/FR2200989A5/fr not_active Expired
- 1973-09-25 SE SE7313052A patent/SE393692B/xx unknown
- 1973-09-25 CH CH1373273A patent/CH599631A5/xx not_active IP Right Cessation
- 1973-09-25 BE BE136028A patent/BE805292A/xx not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3371320A (en) * | 1965-03-12 | 1968-02-27 | Sperry Rand Corp | Multipurpose matrix |
DE2324731C2 (de) * | 1972-05-15 | 1985-08-14 | Goodyear Aerospace Corp., Akron, Ohio | Festkörperspeicher mit Mehrfachzugriff |
Also Published As
Publication number | Publication date |
---|---|
JPS4973040A (de) | 1974-07-15 |
JPS5836433B2 (ja) | 1983-08-09 |
AR199686A1 (es) | 1974-09-23 |
CA1003118A (en) | 1977-01-04 |
FR2200989A5 (de) | 1974-04-19 |
US3812467A (en) | 1974-05-21 |
GB1428505A (en) | 1976-03-17 |
NL7312997A (de) | 1974-03-27 |
CH599631A5 (de) | 1978-05-31 |
BE805292A (fr) | 1974-01-16 |
IT1004022B (it) | 1976-07-10 |
SE393692B (sv) | 1977-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2347387A1 (de) | Permutationsschaltung | |
DE1901343C3 (de) | Datenverarbeitungsanlage zur Ausführung von Mateirenrechnungen | |
DE3587137T2 (de) | Inhaltsadressierbarer speicher. | |
DE2324731C2 (de) | Festkörperspeicher mit Mehrfachzugriff | |
DE3804938C2 (de) | Bildverarbeitungseinrichtung | |
DE2803989C2 (de) | Digitaldatenspeicher mit wahlfreiem Zugriff | |
DE2424820C3 (de) | Einrichtung zur Durchsuchung eines Datenspeichers | |
DE2432559B2 (de) | ||
DE2331589A1 (de) | Datenverarbeitungsanordnung | |
DE3533800C1 (de) | Verfahren zum Betreiben eines hochintegrierten Wellenfront-Feldrechners sowie entsprechender Wellenfront-Feldrechner | |
DE2715751B2 (de) | Speicheranordnung mit defekten Modulen | |
DE1193996B (de) | Schiebespeicher mit Steuervorrichtung | |
DE2165765C3 (de) | Informationsspeicher mit Schieberegistern | |
DE2063199B2 (de) | Einrichtung zur Ausführung logischer Funktionen | |
DE2357007B2 (de) | Schieberegisterspeicher mit mehrdimensionaler dynam ischer Ordnung | |
DE2900586C2 (de) | Anordnung zum Decodieren von Codewörtern variabler Länge | |
DE69122860T2 (de) | Multiplexer | |
DE2415600A1 (de) | Speicher fuer datenverarbeitungssystem und verfahren zur datenverarbeitung | |
DE2121490A1 (de) | Orthogonaler Datenspeicher | |
DE2110458C3 (de) | Speicheranordnung in einem datenverarbeitenden System | |
DE2649147C2 (de) | Anordnung zum wahlweisen Durchführen von logischen und arithmetischen Operationen | |
DE1250489B (de) | I Schaltungsanordnung zur Einspei cherung von Leerstellen-Kennworten in einen assoziativen Speicher | |
DE2459476A1 (de) | Schaltungsanordnung fuer nichtzyklische datenpermutationen | |
DE3331043C2 (de) | ||
DE2652222A1 (de) | Anordnung zur verarbeitung von daten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OD | Request for examination | ||
8128 | New person/name/address of the agent |
Representative=s name: MITSCHERLICH, H., DIPL.-ING. GUNSCHMANN, K., DIPL. |
|
8178 | Suspension cancelled | ||
8125 | Change of the main classification |
Ipc: G06F 7/00 |
|
8130 | Withdrawal |