PatentDe  


Dokumentenidentifikation DE102005039687A1 04.05.2006
Titel System und Verfahren zum Permutieren eines Vektors
Anmelder Agilent Technologies, Inc. (n.d.Ges.d.Staates Delaware), Palo Alto, Calif., US
Erfinder Moore, George S., Veradale, Wash., US
Vertreter Schoppe, Zimmermann, Stöckeler & Zinkler, 82049 Pullach
DE-Anmeldedatum 22.08.2005
DE-Aktenzeichen 102005039687
Offenlegungstag 04.05.2006
Veröffentlichungstag im Patentblatt 04.05.2006
IPC-Hauptklasse G06F 17/10(2006.01)A, F, I, 20051017, B, H, DE
IPC-Nebenklasse G06F 7/00(2006.01)A, L, I, 20051017, B, H, DE   
Zusammenfassung Bei einem Ausführungsbeispiel weist ein Verfahren zum Permutieren eines Vektors das Liefern von Vektoreinträgen des Vektors zu einer Eingangsstufe einer Permutierstruktur, wobei die Permutierstruktur eine Mehrzahl von Stufen und Verbindungen für Gruppen von Vektoreinträgen zwischen der Mehrzahl von Stufen aufweist, derart, dass jeglicher Eingangsvektoreintrag zu jeglichem Ausgangsvektoreintrag geleitet werden kann, das Laden von Steuerelementen der Permutierstruktur mit zufälligen Steuerbits, die das Leiten von Vektoreinträgen zwischen Stufen der Permutierstruktur steuern, und das Leiten der Vektoreinträge von einer Eingangsstufe der Permutierstruktur zu einer Ausgangsstruktur gemäß den Steuerbits unter Verwendung der Permutierstruktur, auf.

Beschreibung[de]

Die vorliegende Anmeldung bezieht sich allgemein auf Systeme und Verfahren zum Permutieren eines Vektors.

Bei einer Anzahl von Anwendungen ist es wünschenswert, einen Eingangsvektor zu verarbeiten, um die Vektorelemente auf zufällige Weise zu permutieren, um einen Ausgangsvektor zu erzeugen. Ferner ist es wünschenswert, die Permutation bei sehr hohen Geschwindigkeiten auszuführen. Ein optimales Verfahren zum Ausführen der Permutation ist eine faktorielle Permutation. Eine faktorielle Permutation verwendet eine Quelle aus unabhängigen, einheitlich verteilten, diskreten, zufälligen Variablen einer beliebigen Spanne oder eines Modulus, d. h. einheitlich über 0 bis N – 1, wobei N eine beliebige ganze Zahl ist. Es sei ferner angenommen, dass der Vektor, der permutiert werden soll, eine Länge M aufweist. Bei einer faktoriellen Permutation wird das erste Eingangselement des Eingangsvektors einer der M Positionen des Ausgangsvektors zugeordnet, unter Verwendung einer zufälligen Variable der Spanne M – 1. Das zweite Element wird dann einer der M – 1 verbleibenden Positionen unter Verwendung einer zufälligen Variable der Spanne M – 2 zugeordnet. Die Zuordnung fährt auf ähnliche Weise fort, bis das letzte Element des Eingangsvektors einer Position in dem Ausgangsvektor zugeordnet ist. Eine Randomisierung der Vektoreinträge auf diese Weise ermöglicht M! Permutationen.

Eine faktorielle Permutation weist Einschränkungen auf, wenn sie an Hochgeschwindigkeitsanwendungen angewendet wird. Genauer gesagt ist eine faktorielle Permutation ein sequentieller Algorithmus. Obwohl eine Pipelineverarbeitung angewendet werden kann, um eine faktorielle Permutation für Hochgeschwindigkeitsanwendungen anzupassen, erlegt eine solche Anpassung eine bedeutende Komplexität und Latenzzeit bei der integrierten Schaltungsanordnung auf. Das zweite und schwierigere Problem ist das Erhalten von einheitlichen Zufallszahlen eines beliebigen Modulus. Einige existierende Algorithmen, die ermöglichen, dass solche einheitlichen Zufallszahlen erzeugt werden, sind im Allgemeinen nicht an eine Hochgeschwindigkeits-Operation anpassbar. Ein anderer existierender Algorithmus umfasst wiederholte Versuche, um einen Wert in dem zulässigen Bereich zu erhalten, und ist somit nicht deterministisch im Hinblick auf Zeit.

Es ist die Aufgabe der vorliegenden Erfindung, ein Verfahren zum Permutieren eines Vektors und ein System zum Permutieren eines Vektors mit verbesserten Charakteristika zu schaffen.

Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1 und ein System gemäß Anspruch 13 gelöst.

Einige repräsentative Ausführungsbeispiele richten sich auf Systeme und Verfahren, die einen Eingangsvektor unter Verwendung einer „Schmetterlings"-Struktur permutieren. Die Schmetterlingsstruktur ist ähnlich zu der Schmetterlingsstruktur, die durch den Schnelle-Fourier-Transformation- (FFT; FFT = fast Fourier transform) und den Schnelle-Hadamard-Transformation- (FHT; FHT = fast Hadamard transform) -Algorithmus verwendet wird. Bei einem Ausführungsbeispiel weist der Vektor, der permutiert werden soll, M Vektoreinträge auf, und die entsprechende Schmetterlingsstruktur weist log2M Stufen auf. Die individuellen Schmetterlingselemente der Struktur ermöglichen, dass zwei entsprechende Vektoreinträge Positionen tauschen, wenn die Einträge zwischen Schmetterlingsstufen geroutet bzw. geleitet werden. Genauer gesagt werden bei jeder Stufe (bezeichnet durch „s") Vektoreinträge in Gruppen aus 2s Einträgen gruppiert. Bei jeder Stufe ermöglicht die Anordnung der Schmetterlingselemente, dass das i-te Vektor-Element Position mit dem 2s-i-ten Vektor-Element tauscht.

Einige darstellende Ausführungsbeispiele unterscheiden sich von den Schmetterlingsstrukturen, die durch den FFT- und FHT-Algorithmus verwendet werden, durch Implementieren der Schmetterlingselemente, um die Vektoreinträge steuerbar zu routen. Genauer gesagt tritt das Routen der Einträge gemäß dem FFT- und FHT-Algorithmus auf deterministische Weise auf, die durch die Mathematik der zugrunde liegenden Transformation definiert ist. Im Gegensatz dazu liefern einige darstellende Ausführungsbeispiele eine Steuerstruktur für jedes Schmetterlingselement. Abhängig von dem Zustand der Steuerstruktur tauschen zwei entsprechende Vektor-Elemente einer Gruppe Positionen oder gehen weiter zu der nächsten Stufe, ohne Positionen zu ändern. Die Permutation des Eingangsvektors tritt auf durch Laden der Zustände der Steuerstrukturen unter Verwendung eines Randomisierungs-Algorithmus. Durch Implementieren der Schmetterlingselemente auf diese Weise kann ein individuelles Vektor-Element zu jeglicher Position in dem Ausgangsvektor geroutet werden, abhängig von der Randomisierung der Steuerstrukturen.

Durch Implementieren eines Vektor-Permutierers auf diese Weise können einige darstellende Ausführungsbeispiele eine relativ große Menge an Zufälligkeit liefern. Genauer gesagt kann die Schmetterlingsstruktur 2^{(M/2)(log2M)} Permutationen ergeben. Zusätzlich dazu können die Schmetterlingselemente derart implementiert sein, dass sie beispielsweise 2-zu-1-Multiplexer verwenden. Dementsprechend kann die Schmetterlingsstruktur ohne weiteres pipelineverarbeitet und bei sehr hohen Geschwindigkeiten betrieben werden. Ferner, wenn der Vektor, der randomisiert werden soll, eine Anzahl von Vektoreinträgen aufweist, die eine Zweierpotenz sind, kann die Erzeugung von Bits für die Steuerstrukturen unter Verwendung von Algorithmen auftreten, die gut geeignet für einen Hochgeschwindigkeitsbetrieb sind.

Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:

1 eine Schmetterlingsstruktur zum Permutieren eines Vektors gemäß einem darstellenden Ausführungsbeispiel;

2 eine Implementierung eines Schmetterlingselements gemäß einem darstellenden Ausführungsbeispiel;

3A und 3B einen Bitstellenverschieber, der verwendet werden kann, um einen Vektor und eine entsprechende Wahrheitstabelle gemäß einem darstellenden Ausführungsbeispiel zu permutieren.

Bezug nehmend nun auf die Zeichnungen zeigt 1 eine Schmetterlingsstruktur 100 gemäß einem darstellenden Ausführungsbeispiel. Die Schmetterlingsstruktur 100 stellt nur das potentielle Leiten von Vektorelementen zwischen Stufen dar. Wie in 1 gezeigt ist, fehlt bei der Schmetterlingsstruktur 100 der Klarheit halber die Darstellung der Hardware-Elemente, die verwendet werden, um das Leiten bzw. Routen auszuführen, und die Verbindungen zwischen den Hardware-Elementen.

Der Vektor, der permutiert werden soll, weist sechzehn Vektoreinträge auf (bezeichnet durch x(0) – x(15)). Die Einträge, die permutiert werden sollen, können einzelne Bitwerte oder digitale Wörter sein. Die Anzahl von Stufen in der Schmetterlingsstruktur 100 ist vier. In dem allgemeinen Fall, um zu ermöglichen, dass ein beliebiger Eingangsvektoreintrag zu jeglichem Ausgangsvektoreintrag geleitet wird, werden Log2M-Stufen eingesetzt, wobei M die Gesamtanzahl von Vektoreinträgen darstellt. Bei jeder Stufe der Schmetterlingsstruktur 100 werden acht (M/2) Schmetterlingselemente (nicht gezeigt) verwendet, um entsprechende Vektor-Elemente zu schalten. Dementsprechend ist die Gesamtanzahl von Schmetterlingselementen und die Gesamtanzahl von Steuerbits gleich 32 ((M Log2M)/2)).

Für den allgemeinen Fall sind die Vektoreinträge in Gruppen von 2s-Einträgen gruppiert. Bei Stufe 101 liegen acht Gruppen (110-1 durch 110-8) aus zwei Vektoreinträgen vor. Bei Stufe 102 liegen vier Gruppen (120-1 durch 120-4) aus vier Vektoreinträgen vor. Bei Stufe 103 liegen zwei Gruppen (130-1 und 130-2) aus acht Einträgen vor und bei Stufe 104 liegt nur eine Gruppe 140 aus sechzehn Einträgen vor. Abhängig von dem Zustand der Steuerstruktur eines Schmetterlingselements tauschen entsprechende Vektorelemente Positionen oder fahren mit der nächsten Stufe an der selben Position fort. Genauer gesagt tauscht der i-te Vektoreintrag einer entsprechenden Gruppe die Position mit dem 2s-i-ten Vektoreintrag, oder diese zwei Vektoreinträge behalten ihre Positionen.

Bezug nehmend auf Stufe 101 werden die Vektoreinträge in jeweilige Gruppen (110-1 bis 110-8) aus jeweils zwei Einträgen gruppiert. Für die Gruppe 110-1 können die Vektoreinträge 111-1 und 111-2 Positionen ändern, abhängig von dem Zustand der Steuerstruktur. Wenn z. B. die Steuerstruktur des entsprechenden Schmetterlingselements auf „0" gesetzt ist, würde der Vektoreintrag 111-1 zu dem Eintrag 121-1 von Stufe 102 geleitet werden, und der Eintrag 111-2 würde zu dem Eintrag 121-2 geleitet werden. Alternativ, wenn die Steuerstruktur auf „1" gesetzt ist, würde der Eintrag 111-1 zu dem Eintrag 121-2 geleitete werden, und der Eintrag 111-2 würde zu dem Eintrag 121-1 geleitet werden. Die anderen Einträge der verschiedenen Gruppen werden auf ähnliche Weise geleitet.

Bezug nehmend auf Stufe 102 werden die Vektoreinträge in entsprechende Gruppen (120-1 bis 120-4) von jeweils vier Einträgen gruppiert. Für Gruppe 120-1 können die Vektoreinträge 121-1 und 121-4 ihre Positionen ändern, abhängig von dem Zustand der Steuerstruktur. Wenn die Steuerstruktur des entsprechenden Schmetterlingselements auf „Null" gesetzt ist, würde der Vektoreintrag 121-1 zu dem Element 131-1 der Stufe 102 geleitet werden, und der Eintrag 121-4 würde zu den Einträgen 131-4 geleitet werden. Alternativ, wenn die Steuerstruktur auf „Eins" gesetzt ist, würde der Eintrag 121-1 zu Eintrag 131-4 geleitet werden, und der Eintrag 121-4 würde zu Eintrag 131-1 geleitet werden. Die anderen Einträge der verschiedenen Gruppen werden auf ähnliche Weise geleitet.

Das Leiten der Einträge fährt auf ähnliche Weise zu Stufe 104 fort, und dann zu dem Ausgang der Schmetterlingsstruktur (bezeichnet durch Ausgangsvektoreinträge X(0) – X(15)). Von den Wegen, die in 1 gezeigt sind, könnte ein Eingangsvektoreintrag zu einem beliebigen Ausgangsvektoreintrag geleitet werden. Obwohl die Anzahl von möglichen Permutationen (2^{(M/2)(log2M)}) unter Verwendung der Schmetterlingsstruktur 100 geringer ist als die optimale Anzahl (M!), liefert die Anzahl von Permutationen einen ausreichenden Grad an Zufälligkeit für die meisten Anwendungen. Die Schmetterlingsstruktur 100 bringt Abhängigkeiten zwischen dem Leiten von Vektoreinträgen ein. Wenn z. B. der Eintrag 111-1 zu dem Eintrag 121-1 geleitet wird, wird der Eintrag 111-1 nur zu einem geradzahligen Eintrag in dem Ausgangsvektor geleitet, und der Eintrag 111-2 wird nur zu einem ungeradzahligen Eintrag in dem Ausgangsvektor geleitet. Wenn eine vollständig zufällige Permutation ausgeführt wird, wäre eine solche Abhängigkeit nicht vorhanden. Wenn eine solche Abhängigkeit nicht geeignet für eine gegebene Anwendung ist, könnten eine oder mehrere Schmetterlingsstrukturen 100 kaskadiert werden, um die Abhängigkeiten zwischen dem Leiten von Vektoreinträgen wesentlich zu verringern.

Abänderungen an der Schmetterlingsstruktur 100 können gemäß anderen darstellenden Ausführungsbeispielen ausgeführt werden. Zum Beispiel könnte die Anordnung der Schmetterlingsstruktur 100 umgekehrt werden, um ein Spiegelbild der Verbindungen zu bilden, auf eine Weise ähnlich zu der „Dezimation-in-Frequenz"-Implementierung der FFT. Ferner, obwohl die Erörterung der Schmetterlingsstruktur 100 die Implementiereung des Leitens beschrieben hat, wenn die Anzahl von Vektoreinträgen in dem Eingangsvektor eine Zweierpotenz ist, können andere Ausführungsbeispiele Vektoren anderer Größen permutieren. Genauer gesagt kann die Schmetterlingsstruktur auf eine M zusammengesetzte Zahl ausgedehnt werden, auf die selbe Weise, wie die FFT-Struktur auf zusammengesetzte Zahlen erweitert wurde.

2 zeigt ein einzelnes Schmetterlingselement zum Leiten von Vektoreinträgen in einer Schmetterlingsstruktur gemäß einem darstellenden Ausführungsbeispiel. Das Leiten der Vektoreinträge wird durchgeführt durch 2-zu-1-Multiplexer 201-1 und 201-2. Die Multiplexer 201-1 und 201-2 werden durch eine Registerlogik 202 gesteuert. Genauer gesagt kann ein Steuerbit in die Registerlogik 202 durch einen Zufallszahlengenerator 208 über die Leitung 207 geladen werden. Die Registerlogik 202 gibt dann den binären Wert an die Multiplexer 201-1 und 201-2 aus. Wenn der Wert der Registerlogik 202 „Null" ist, wird der Wert, der auf Leitung 203 erscheint, zu der Ausgangsleitung 205 geleitet, und der Wert, der auf Leitung 204 erscheint, wird zu der Ausgangsleitung 206 geleitet. Alternativ, wenn der Registerwert der Logik 202 „Eins" ist, wird der Wert, der auf Leitung 203 erscheint, zu der Ausgangsleitung 206 geleitet, und der Wert, der auf Leitung 204 erscheint, wird zu der Ausgangsleitung 205 geleitet.

Obwohl die Beschreibung der Schmetterlingsstruktur 100 auf dem Leiten von nur zwei entsprechenden Vektoreinträgen auf abhängige Weise an jeder Leit-Position basiert, können andere Leit-Mechanismen eingesetzt werden. Anstelle des Schmetterlingselements 200, das in 2 gezeigt ist, können Bitstellenverschieber eingesetzt werden, um Vektoreinträge zwischen Stufen zu leiten. Ein Bitstellenverschieber ist ein Hardware-Element, das ein Datenwort um eine definierte Anzahl von Bits verschieben oder drehen kann. Zum Beispiel könnten 4-Eingang-, 4-Ausgang-Bitstellenverschieber unter Verwendung einer Radix-4-Zersetzung oder 8-Eingang-, 8-Ausgang-Bitstellenverschieber könnten abhängig von der Anzahl von Vektoreinträgen eingesetzt werden, die permutiert werden sollen. 3A zeigt ein Blockdiagramm eines 4-Eingang-, 4-Ausgang-Schmetterlingselements 300, und 3B zeigt eine Wahrheitstabellenbeschreibung 350 eines Schmetterlingselements 300. Das Schmetterlingselement 300 wirkt gemäß zwei Steuerbits. Wie in 3B ersichtlich ist, ist die Anzahl von Dreh-Bits, die an das 4-Bit-Datenwort angewendet werden (ABCD) definiert durch die Steuerbits (d. h. 00 – Null-Drehung, 01 – 1 Bit Drehung, 10 – 2 Bits Drehung und 11 – 3 Bits Drehung). Die Verwendung von Bitstellenverschiebern höherer Ordnung reduziert die Anzahl von Steuerbits bei einer Anwendung. Zum Beispiel würde die Permutation eines 64-Bit-Vektors unter Verwendung einer Anordnung ähnlich zu der Schmetterlingsstruktur 100 192 Bits umfassen, während die Permutation des Vektors unter Verwendung von 8-Bit-Bitstellenverschiebern (mit drei Steuerbits) 48 Steuerbits umfassen würde.

Durch Implementieren eines Vektorpermutierers, der geeignete Permutierstrukturen verwendet, können einige darstellende Ausführungsbeispiele eine relativ große Menge an Zufälligkeit mit einem relativ geringen Grad an Schaltungskomplexität bereitstellen. Bei einigen Ausführungsbeispielen kann eine Schmetterlingsstruktur 2^{(M/2)(log2M)} Permutationen ergeben. Zusätzlich dazu können die Schmetterlingselemente beispielsweise unter Verwendung von 2-zu-1-Multiplexern oder anderen Logikvorrichtungen mit geringer Komplexität implementiert werden. Dementsprechend können Schmetterlingsstrukturen ohne weiteres pipelinemäßig verarbeitet und bei sehr hohen Geschwindigkeiten betrieben werden. Ferner, wenn der Vektor, der randomisiert werden soll, eine Anzahl von Vektoreinträgen aufweist, die eine Zweierpotenz ist, kann die Erzeugung von Bits für die Steuerstrukturen unter Verwendung von Algorithmen auftreten, die gut geeignet für eine Hochgeschwindigkeitsoperation sind.


Anspruch[de]
  1. Ein Verfahren zum Permutieren eines Vektors, das folgende Schritte aufweist:

    Liefern von Vektoreinträgen des Vektors zu einer Eingangsstufe einer Permutierstruktur, wobei die Permutierstruktur eine Mehrzahl von Stufen (101104) und Verbindungen für Gruppen von Vektoreinträgen zwischen der Mehrzahl der Mehrzahl von Stufen aufweist, derart, dass jeglicher Eingangsvektoreintrag zu jeglichem Ausgangsvektoreintrag geleitet werden kann;

    Laden von Steuerelementen (202) der Permutierstruktur mit zufälligen Steuerbits, die das Leiten von Vektoreinträgen zwischen Stufen der Permutierstruktur steuern; und

    Leiten der Vektoreinträge von einer Eingangsstufe der Permutierstruktur zu einer Ausgangsstruktur gemäß den Steuerbits unter Verwendung der Permutierstruktur.
  2. Verfahren gemäß Anspruch 1, bei dem die Permutierstruktur Schmetterlingselemente aufweist, die zwei entsprechende Vektoreinträge zwischen zwei Stufen der Permutierstruktur austauschen, oder verursachen, dass die entsprechenden Vektoreinträge zwischen den zwei Stufen an den selben Positionen fortfahren, abhängig von einem entsprechenden Steuerbit.
  3. Verfahren gemäß Anspruch 2, bei dem jedes Schmetterlingselement zwei 2-zu-1-Multiplexer (201) aufweist, die mit einem Steuerregister (202) gekoppelt sind.
  4. Verfahren gemäß einem der Ansprüche 1 bis 3, bei dem jede Stufe der Permutierstruktur Vektoreinträge in Gruppen von 2s Einträgen gruppiert, wobei S die Stufe der Permutierstruktur bezeichnet.
  5. Verfahren gemäß Anspruch 3 oder 4, bei dem die Verbindungen der Permutierstruktur ermöglichen, dass ein i-ter Vektoreintrag einer Gruppe mit einem (2s-i-ten) Vektoreintrag der Gruppe ausgetauscht wird.
  6. Verfahren gemäß einem der Ansprüche 1 bis 5, bei dem eine Anzahl der Vektoreinträge eine Zweierpotenz ist.
  7. Verfahren gemäß Anspruch 5 oder 6, bei dem die Permutierstruktur log2M-Stufen aufweist, wobei M eine Anzahl von Vektoreinträgen des Vektors darstellt.
  8. Verfahren gemäß einem der Ansprüche 1 bis 7, das ferner folgenden Schritt aufweist:

    Leiten der Vektoreinträge von einer Eingangsstufe einer nachfolgenden Permutierstruktur zu einer Ausgangsstufe der nachfolgenden Permutierstruktur gemäß Steuerbits, wobei die nachfolgende Permutierstruktur mit der Permutierstruktur kaskadiert ist.
  9. Verfahren gemäß einem der Ansprüche 1 bis 8, bei dem die Permutierstruktur folgendes Merkmal aufweist:

    Bitstellenverschieber, um Vektoreinträge zwischen der Mehrzahl von Stufen zu leiten.
  10. Verfahren gemäß einem der Ansprüche 1 bis 9, das ferner folgenden Schritt aufweist:

    Erzeugen der Steuerbits auf pseudo-zufällige Weise.
  11. Verfahren gemäß einem der Ansprüche 1 bis 10, bei dem die Vektoreinträge Einzelbiteinträge sind.
  12. Verfahren gemäß einem der Ansprüche 1 bis 11, bei dem die Vektoreinträge digitale Wörter sind.
  13. System zum Permutieren eines Vektors, das folgende Merkmale aufweist:

    eine Mehrzahl von Stufen (101104), die eine Eingangsstufe zum Empfangen von Einträgen des Vektors und eine Ausgangsstufe zum Ausgeben einer permutierten Version des Vektors umfassen, wobei jede Stufe der Mehrzahl von Stufen Logikelemente (200) zum steuerbaren Austauschen von Positionen eines Teilsatzes von Einträgen des Vektors aufweist;

    Verbindungen zwischen den Logikelementen der Mehrzahl von Stufen; und

    ein Steuerelement (208) zum Laden von Bits in die Logikelemente der Mehrzahl von Stufen auf pseudozufällige Weise, um die Operation der Logikelemente zu steuern;

    wobei die Logikelemente und die Verbindungen derart angeordnet sind, dass jeglicher Eintrag des Vektors zu jeglicher Ausgangsposition der Ausgangsstufe geleitet werden kann.
  14. System gemäß Anspruch 13, bei dem jedes der Logikelemente zwei Multiplexer zum Empfangen von zwei Einträgen von einer vorangehenden Stufe aufweist, wobei die Multiplexer konfiguriert sind, um Positionen der zwei Einträge auszutauschen, ansprechend auf einen ersten Wert eines Steuerbits, und konfiguriert sind, um Positionen der zwei Einträge beizubehalten, ansprechend auf einen zweiten Wert des Steuerbits.
  15. System gemäß Anspruch 14, bei dem jedes der Logikelemente ein Register zum Speichern des Steuerbits aufweist.
  16. System gemäß Anspruch 14 oder 15, bei dem jede Stufe der Mehrzahl von Stufen Einträge in Gruppen von 2s Einträgen gruppiert, wobei S die jeweilige Stufe der Mehrzahl von Stufen bezeichnet.
  17. System gemäß Anspruch 16, bei dem die Verbindungen angeordnet sind, um zu ermöglichen, dass ein i-ter Eintrag einer Gruppe mit einem (2s-i-ten) Eintrag der Gruppe ausgetauscht wird.
  18. System gemäß Anspruch 16 oder 17, bei dem eine Anzahl der Einträge eine Zweierpotenz ist.
  19. System gemäß Anspruch 18, bei dem die Mehrzahl von Stufen log2M-Zustände aufweist, wobei M eine Anzahl von Einträgen des Vektors darstellt.
  20. System gemäß einem der Ansprüche 15 bis 19, bei dem die Logikelemente Bitstellenverschieber sind.
  21. System gemäß einem der Ansprüche 15 bis 20, bei dem die Einträge Einzelbiteinträge sind.
  22. System gemäß einem der Ansprüche 15 bis 21, bei dem die Einträge digitale Wörter sind.
Es folgen 2 Blatt Zeichnungen






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

  Patente PDF

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com