DE2347387A1 - Permutationsschaltung - Google Patents

Permutationsschaltung

Info

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
Application number
DE19732347387
Other languages
English (en)
Inventor
Kenneth E Batcher
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.)
Goodyear Aerospace Corp
Original Assignee
Goodyear Aerospace 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 Goodyear Aerospace Corp filed Critical Goodyear Aerospace Corp
Publication of DE2347387A1 publication Critical patent/DE2347387A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/762Arrangements 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
    • 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/0207Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
    • 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

Description

GOODYEAH AEROSPACE GOHPORATION, Akron/Ohio - USA
Permutati ons s ohaltung
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' ···» Xxo^ 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
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 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)

_ 24 - 1 T SER 1373 A-2445-GE GOODYEAR AEROSPACE CORPORATION, Akron/Ohio - USi Patentansprüche
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» *··» Xx0^;
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
DE19732347387 1972-09-25 1973-09-17 Permutationsschaltung Withdrawn DE2347387A1 (de)

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)

* Cited by examiner, † Cited by third party
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
WO1984000629A1 (en) * 1982-07-21 1984-02-16 Marconi Avionics Multi-dimensional-access memory system
US4727474A (en) * 1983-02-18 1988-02-23 Loral Corporation Staging memory for massively parallel processor
DE3689960T2 (de) * 1985-01-24 1994-11-10 Nec Corp Schaltungsanordnung zur zentralisierten Steuerung eines Vermittlungsnetzwerkes.
US4670856A (en) * 1985-03-07 1987-06-02 Matsushita Electric Industrial Co., Ltd. Data storage apparatus
US4984189A (en) * 1985-04-03 1991-01-08 Nec Corporation Digital data processing circuit equipped with full bit string reverse control circuit and shifter to perform full or partial bit string reverse operation and data shift operation
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
AU644141B2 (en) * 1990-01-05 1993-12-02 Maspar Computer Corporation A method of controlling a router circuit
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
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
WO1997007451A2 (en) * 1995-08-16 1997-02-27 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
US7177314B2 (en) 2001-08-30 2007-02-13 Pmc-Sierra, Inc. 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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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
IT1004022B (it) 1976-07-10
CH599631A5 (de) 1978-05-31
AR199686A1 (es) 1974-09-23
JPS4973040A (de) 1974-07-15
NL7312997A (de) 1974-03-27
BE805292A (fr) 1974-01-16
FR2200989A5 (de) 1974-04-19
GB1428505A (en) 1976-03-17
CA1003118A (en) 1977-01-04
SE393692B (sv) 1977-05-16
US3812467A (en) 1974-05-21
JPS5836433B2 (ja) 1983-08-09

Similar Documents

Publication Publication Date Title
DE2347387A1 (de) Permutationsschaltung
DE1901343C3 (de) Datenverarbeitungsanlage zur Ausführung von Mateirenrechnungen
DE2324731C2 (de) Festkörperspeicher mit Mehrfachzugriff
DE3804938C2 (de) Bildverarbeitungseinrichtung
EP0850481B1 (de) Einrichtung zum sprungweisen adressieren bestimmter leitungen eines seriell arbeitenden digitalen speichers
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
DE2900586C2 (de) Anordnung zum Decodieren von Codewörtern variabler Länge
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
DE1499284B2 (de) Datenverarbeitungsanlage
DE3331043C2 (de)
DE2652222A1 (de) Anordnung zur verarbeitung von daten
DE2007496C3 (de) Verschiebematrix mit passiven Matrixelementen zur parallelen Verschiebung von Informationen

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