DE4210109C2 - Sortiervorrichtung zum Sortieren von Daten und Sortierverfahren - Google Patents
Sortiervorrichtung zum Sortieren von Daten und SortierverfahrenInfo
- Publication number
- DE4210109C2 DE4210109C2 DE4210109A DE4210109A DE4210109C2 DE 4210109 C2 DE4210109 C2 DE 4210109C2 DE 4210109 A DE4210109 A DE 4210109A DE 4210109 A DE4210109 A DE 4210109A DE 4210109 C2 DE4210109 C2 DE 4210109C2
- Authority
- DE
- Germany
- Prior art keywords
- data
- sorting
- pair
- comparison
- held
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/22—Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
- G06F7/24—Sorting, i.e. extracting data from one or more carriers, rearranging the data in numerical or other ordered sequence, and rerecording the sorted data on the original carrier or on a different carrier or set of carriers sorting methods in general
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Multi Processors (AREA)
- Sorting Of Articles (AREA)
Description
Die vorliegende Erfindung bezieht sich auf eine Sortier
vorrichtung zum Sortieren von Daten
und auf ein Datensortierverfahren.
In einem Computersystem wird allgemein eine Verarbeitung zum
Ordnen einer großen Anzahl von angelegten Daten in einer fest
gelegten Reihenfolge, z. B. in absteigender Reihenfolge oder in
ansteigender Reihenfolge der Datenwerte, also eine Sortierverar
beitung durchgeführt. Da die Sortierverarbeitung eine grund
sätzliche Operation im Computersystem ist, wurden verschiedene
Anwendungsprogramme für das Sortieren entwickelt und benutzt.
Daher gibt es Anstrengungen zum Erreichen einer schnelleren
Sortierverarbeitung solange es Computersysteme gibt, und sie
halten nach wie vor an. Eine herkömmliche Sortierverarbeitung
benutzt hauptsächlich Algorithmen, und daher wird die Verar
beitung auf der Basis von Software, das heißt Sortiersoftware,
durchgeführt.
Sortierverarbeitung durch Hardware ist ebenfalls bekannt. Für
das Sortieren vorgesehene Maschinen, Sortierer (Sorters)
genannt, für die Sortierverarbeitung vorgesehene integrierte
Schaltungsvorrichtungen (Sortierprozessoren genannt) und der
gleichen wurden entwickelt. Allerdings wurde ein Sortierpro
zessor mit hinreichender Leistung und der Fähigkeit, eine große
Datenmenge mit hoher Geschwindigkeit zu verarbeiten, bisher trotz
des langanhaltenden Bedürfnisses nicht entwickelt.
Fig. 9 zeigt ein Blockschaltbild einer herkömmlichen Sortier
vorrichtung mit Hardware. Diese Sortiervorrichtung ist in der
japanischen Patentschrift Nr. 61-2211 offenbart. Wie in Fig. 9
gezeigt, umfaßt die Sortiervorrichtung n Zellschaltungen 11-1n,
die jeweils ein Register zum Halten von Daten mit 32 Bit
umfassen. Die zu sortierenden n Daten werden zuerst in den n-
Zellschaltungen 11-1n gehalten. Zwei benachbarte Schaltungen
von n-Zellschaltungen 1-1n sind miteinander verbunden, so daß
zwei Daten zwischen den Schaltungen ausgetauscht werden können,
als Reaktion auf das Ergebnis eines Vergleiches zwischen den
zwei verglichenen Daten. Die jeweiligen Zellschaltungen 11-1n
sind zum Empfangen eines Sortierstartsignals 3a, eines
Anfangszustandssetzsignals 3b sowie eines Taktsignales 3c mit
einer vorbestimmten Frequenz verbunden. Ungradzahlige Zell
schaltungen 11, 13, . . . der Zellschaltungen 11-1n sind zum
Empfangen eines Bezeichnungssignals 3d verbunden, während die
geradzahligen Zellschaltungen 12, 14, . . . zum Empfangen eines
Bezeichnungssignals 3e verbunden sind. Eine Steuersignalgene
ratoreinheit 2 legt verschiedene Steuersignale und Daten an
eine externe Vorrichtung an oder empfängt verschiedene Steuer
signale und Daten von dieser, zum Erzeugen der Steuersignale
3a, 3b, 3c, 3d und 3e zum Steuern der Zellschaltungen 11-1n.
Während des Betriebes werden alle Zellschaltungen 11-1n als Re
aktion auf das Anfangszustandssetzsignal 3b, das von der Steu
ersignalgeneratoreinheit 2 erzeugt wird, zurückgesetzt. Dann
werden die zu sortierenden n Daten in Registern (nicht gezeigt)
gehalten, die jeweils in den Zellschaltungen 11-1n vorgesehen
sind. Nachdem die Steuersignalgeneratoreinheit 2 das Sortier
startsignal 3a erzeugt hat, reagieren die n Zellschaltungen 11-1n
auf das Taktsignal 3c und führen die folgende Sortierope
ration durch. Nachfolgend wird eine Beschreibung eines Bei
spiels vorgenommen, bei welchen die angelegten n Daten durch
das Sortieren in aufsteigender Reihenfolge angeordnet werden.
Die Sortieroperation wird durch Wiederholung eines ersten und
zweiten Operationsschrittes durchgeführt. Im ersten Schritt
wird ein Vergleich zwischen den Daten in jeder ungeraden Zell
schaltung mit den Daten in jeder oberhalb der ungraden Zell
schaltung angeordneten geraden Zellschaltung vorgenommen. Wenn
die Daten in jeder geradzahligen Zellschaltung kleiner als die
in ungradzahligen Zellschaltung sind, werden die 2 Daten ver
tauscht. Die oben beschriebene Vergleichs- und Austauschver
arbeitung wird gleichzeitig zwischen jeder benachbarten gerad
zahligen und ungeradzahligen Zellschaltung durchgeführt. Im
zweiten Schritt wird ein Vergleich zwischen dem in jeder gerad
zahligen Zellschaltung gehaltenen Daten und den Daten vorge
nommen, die in jeder ungeradzahligen Zellschaltung oberhalb der
geradzahligen Zellschaltung gehalten werden. Wenn die Daten in
der ungeradzahligen Zellschaltung kleiner als die in der gerad
zahligen Zellschaltung sind, werden die von diesen zwei
Zellschaltungen gehaltenen Daten vertauscht. Folglich führt
eine Wiederholung der ersten und zweiten Operationsschritte
(n-1)male schließlich zum Sortieren der angelegten n Daten. Es
wird darauf hingewiesen, daß die Vergleichs- und Austauschope
ration, die bis zur Beendigung der Sortierverarbeitung benötigt
wird, in Abhängigkeit von der Anzahl der zu sortierenden Daten
bestimmt wird. Das heißt, wenn n Daten angelegt werden, muß die
Vergleichs- und Austauschoperation (n-1)male wiederholt
werden, das heißt etwa n-male. Dies bedeutet, daß die für die
Sortierverarbeitung benötigte Zeit proportional der Zahl der zu
sortierenden Daten ansteigt.
Wenn daher 10.000 zu sortierende Daten angelegt werden, wird in
diesem Beispiel die Vergleichs- und Austauschoperation 9.999
male, das heißt etwa 10 000male wiederholt. In Abhängigkeit
von der Reihenfolge der ursprünglich angelegten Daten ist es
allerdings gelegentlich unnötig, in jedem Fall die Vergleichs-
und Austauschoperation die etwa 10 000male zu wiederholen.
Genauer gesagt, in Abhängigkeit von der Reihenfolge der
ursprünglich angelegten Daten gibt es einen Fall, in welchem
die angelegten Daten in einer gewünschten Reihenfolge durch
Wiederholung der Vergleichs- und Austauschoperation für bei
spielsweise 5000male angeordnet werden können. Da bei der
herkömmlichen Sortiervorrichtung nach Fig. 9 die Datenver
gleichs- und Austauschoperation notwendigerweise 10 000male
selbst in einem derartigen Fall wiederholt wird, wird die für
die Verarbeitung benötigte Zeit durch unnötige Verarbeitungen
erhöht. Dies bedeutet, daß bei der herkömmlichen Sortiervor
richtung zum Durchführen der Sortierverarbeitung eine fixe Zeit
benötigt wird, die von der Zahl der zu sortierenden Daten
abhängt, wodurch verhindert wird, daß die Sortierverarbeitung
in einer kurzen Zeit durchgeführt werden kann. Es wird darauf
hingewiesen, daß im allgemeinen die Sortierverarbeitung beendet
wird, indem die Datenvergleichs- und Austauschoperation eine
Anzahl von Malen durchgeführt wird, deren Anzahl geringer als
die Anzahl der angelegten Daten ist.
Aus der DE 33 44 141 T1 ist eine Kette identischer Sortiermodule bekannt.
Aus der DE-OS 23 42 660 ist es bekannt, daß beim Sortieren von Daten in
einem ersten Sortierschritt nur der höchstwertige Abschnitt eines Suchbegriffs
abgefragt wird.
Es ist daher Aufgabe der vorliegenden Erfindung, eine Sortiervorrichtung,
die die Beendigung eines Sortiervorgangs vor der Durchführung
aller maximal nötigen Sortiervorgänge erkennt,
und ein entsprechendes Sortierverfahren zu schaffen.
Die Aufgabe wird durch eine Sortiervorrichtung nach Patent
anspruch 1 oder ein Verfahren nachdem Pa
tentanspruch 16 gelöst.
Da die Sortierbeendigungserkennungsschaltung die Beendigung des
Sortierens der angelegten n Daten als Reaktion auf die Ver
gleichsergebnisse der ersten und zweiten Vergleichsschaltungen
erkennt, wird es während des Betriebes möglich, zu erkennen,
daß die angelegten n Daten bereits in der vorbestimmten Reihen
folge sind, unmittelbar nach dem die Sortierung beendet
ist. Mit anderen Worten, da die Beendigung des Sortierens
erkannt werden kann, werden sortierte Daten innerhalb einer
kurzen Zeit erreicht, ohne daß die Wiederholung der Vergleichs-
und Austauschoperation eine feste Anzahl von Malen durchgeführt
werden muß.
Weiterbildungen der Erfindung sind in den Unteransprüchen
gekennzeichnet.
Es folgt die Beschreibung von Ausführungsbeispielen anhand der
Figuren.
Von den Figuren zeigen:
Fig. 1 ein Blockschaltbild einer Sortiervorrichtung
entsprechend einer Ausführungsform,
Fig. 2 ein Flußdiagramm zum Verdeutlichen eines Be
triebs der in Fig. 1 gezeigten Sortiervorrich
tung;
Fig. 3 ein Datenübergangsdiagramm mit einem Beispiel
einer Verarbeitung der Sortiervorrichtung nach
Fig. 1;
Fig. 4 ein Blockdiagramm eines Sortierprozessors ent
sprechend einer anderen Ausführungsform;
Fig. 5 ein Schaltbild mit zwei benachbarten Makrozellen
aus Fig. 4;
Fig. 6 ein Schaltbild einer einzelnen Mikrozelle nach
Fig. 5;
Fig. 7 ein Blockschaltbild eines Sortierprozessors ent
sprechend einer weiteren Ausführungsform;
Fig. 8 ein Blockdiagramm eines Computersystems zum Ein
setzen des Sortierprozessors einer Ausführungs
form;
Fig. 9 ein Blockschaltbild einer herkömmlichen Sortier
vorrichtung;
Fig. 10 ein Blockdiagramm eines Computersystems zum Ein
setzen einer Sortierschaltung oder eines Sor
tierprozessors einer weiteren Ausführungsform;
Fig. 11 ein Blockdiagramm einer Sortierschaltung zum
Einsatz in einer weiteren Ausführungsform;
Fig. 12 ein Flußdiagramm mit der ersten Hälfte der Ver
arbeitung in einer Sortiervorrichtung mit der
in Fig. 11 gezeigten Sortierschaltung;
Fig. 13 ein Flußdiagramm mit der zweiten Hälfte der Ver
arbeitung im Anschluß an die Verarbeitung in Fig.
12;
Fig. 14 ein Blockdiagramm des Sortierprozessors gemäß
einer weiteren Ausführungsform;
Fig. 15 ein Schaltbild von zwei in Fig. 14 gezeigten
benachbarten Makrozellen;
Fig. 16 ein Schaltbild von Mikrozellen, die eine in Fig.
15 gezeigte Adreßschaltung bilden;
Fig. 17 ein Blockdiagramm einer Sortierschaltung, die in
einer weiteren Ausführungsform eingesetzt ist;
Fig. 18 ein Flußdiagramm mit einer Verarbeitung in einer
Sortiervorrichtung mit der in Fig. 17 gezeigten
Sortierschaltung;
Fig. 19 ein Blockdiagramm eines Sortierprozessors mit
einer weiteren Ausführungsform;
Fig. 20 ein Schaltbild von zwei benachbarten Makrozellen
in Fig. 19;
Fig. 21 ein Schaltbild einer einzelnen Mikrozelle, die
eine Adreßschaltung in Fig. 20 bildet und
Fig. 22 ein Flußdiagramm mit dem Sortierprozessor nach
Fig. 19.
Die Fig. 1 ist ein Blockdiagramm einer Sortiervorrichtung
entsprechend einer Ausführungsform. Nachfolgend wird eine Be
schreibung eines Beispiels des Prinzips der vorliegenden
Erfindung unter Bezug auf die Sortiervorrichtung nach Fig. 1
vorgenommen. Diese Sortiervorrichtung umfaßt n Datenregister
21-2n zum Halten von n zu sortierenden Daten, Vergleich/Aus
tauschschaltungen 31-3 n-1, die zwischen benachbarten Daten
registern verbunden sind, eine Registerpaarauswahlschaltung 4
zum selektiven Aktivieren von beliebigen von ungeradzahligen
Vergleichs/Austauschschaltungen 31, 33, . . . sowie von gerad
zahligen Vergleichs/Austauschschaltungen 32, 34, . . . , sowie
eine Sortierbeendigungserkennungsschaltung 5 zum Erkennen der
Beendigung des Sortierens als Reaktion auf Ausgabesignale FL1
und FL2, die von den Vergleichs/Austauschschaltungen 31-3n-1
erzeugt werden.
Die Fig. 2 ist ein Flußdiagramm zum Verdeutlichen des Betriebs
der in Fig. 1 gezeigten Sortiervorrichtung. Nachfolgend wird
unter Bezug auf Fig. 2 eine Beschreibung des Betriebs der Sor
tiervorrichtung von Fig. 1 vorgenommen. Die folgende Beschrei
bung wird für ein Beispiel vorgenommen, bei welchem angelegte n
Daten in aufsteigender Reihenfolge durch die Sortierung ange
ordnet werden. Zuerst werden im Schritt 71 zu sortierende n
Daten an die Datenregister 21-2n angelegt und dort gehalten.
Zusätzlich werden die Flagsignale FL1 und FL2 zurückgesetzt
( = 0). Dann wählt in Schritt 72 die Registerpaarauswahlschal
tung 4 "erste Datenregisterpaare" aus. Die "ersten Datenregi
sterpaare" werden durch Kombinationen der oberen ungeradzah
ligen Datenregister und der niedrigeren geradzahligen Daten
register gebildet. Daher erzeugt die Registerpaarauswahl
schaltung 4 Paar-Auswahlsignale PS1, PS3, PS5, . . . zum Akti
vieren der ungeradzahligen Vergleichs/Austauschschaltungen 31,
33, 35, . . . Die ungeradzahligen Vergleichs/Austauschaltungen
31, 33, 35, . . . werden als Reaktion auf die Signale PS1, PS3,
PS5, . . . aktiviert, so daß die nachfolgende Vergleichs/Aus
tauschverarbeitung durchgeführt wird.
In Schritt 73 werden die gehaltenen Daten für jedes ausgewählte
Datenregisterpaar verglichen. Beispielsweise vergleicht die
Vergleichs/Austauschschaltung 31 die im Datenregister 21 gehal
tenen Daten mit den im Datenregister 22 gehaltenen Daten. Eine
entsprechende Vergleichsoperation wird zum selben Zeitpunkt in
allen ungeradzahligen Vergleichs/Austauschschaltungen 31, 33,
35, . . . durchgeführt, in welchen die in dem betreffenden Daten
registerpaar enthaltenen Daten miteinander verglichen werden.
Im Schritt 74 wird eine Bestimmung vorgenommen, ob eine
Bedingung Di ≦ Di+1 für jedes verglichene Datenpaar erfüllt
ist. Die Daten Di stehen für in dem oberen Datenregister
gehaltene Daten, das heißt die ungeradzahligen Datenregister
bei dieser Operation, und Di+1 steht für in den unteren
Datenregistern gehaltenen Daten, das heißt den geradzahligen
Datenregistern. Beispielsweise führt die Vergleichs/Austau
schaltung 31 einen Vergleich zwischen den im Datenregister 21
gehaltenen Daten D21 und den im Datenregister 22 gehaltenen
Daten D22 durch. Wenn die Bedingung Di ≦ =Di+1 in allen im Schritt
74 verglichenen Datenpaaren erfüllt ist, wird im Schritt 76 ein
Flagsignal gesetzt (= 1).
Die gehaltenen Daten werden in den Datenpaaren ausgetauscht, in
denen die Bedingung Di < Di+1 gilt, in einem Schritt 75. Anderer
seits werden die Daten in den Datenpaaren nicht ausgetauscht,
in denen die Beziehung Di ≦ Di+1 gilt. Folglich werden kleinere
Daten in dem oberen Datenregister gehalten, während größere
Daten im unteren Datenregister in jedem ausgewählten Datenre
gisterpaar gehalten werden.
Zweite Datenregisterpaare werden im Schritt 77 ausgewählt. Die
zweiten Datenregisterpaare werden durch Kombinationen von obe
ren geradzahligen Datenregistern und unteren ungeradzahligen
Datenregistern bestimmt. Folglich erzeugt die Registerpaar
auswahlschaltung vier Paar-Auswahlsignale PS2, PS4 . . . . zum
Aktivieren der geradzahligen Vergleichs/Austauschschaltungen
32, 34, . . . Die Vergleichs/Austauschschaltungen 32, 34, . . .
werden als Reaktion auf Signale PS2, PS4, . . . aktiviert. Bei
spielsweise wird die Vergleichs/ Austauschschaltung 32 als
Reaktion auf das Paar-Auswahlsignal PS2 aktiviert.
Die gehaltenen Daten werden für jedes ausgewählte Datenregi
sterpaar im Schritt 78 verglichen. Beispielsweise wird die Ver
gleichs/Austauschschaltung 32 als Reaktion auf das Paar-Aus
wahlsignal PS2 aktiviert, so daß sie Daten D22, die im
Datenregister 22 gehalten werden, mit im Datenregister 23
gehaltenen Daten D23 vergleicht.
Eine Bestimmung wird im Schritt 79 vorgenommen, ob die
Bedingung Di ≦ =Di+1 in allen ausgewählten Datenpaaren erfüllt
ist. Wenn diese Bedingung erfüllt ist, wird ein Flagsignal FL2
in einem Schritt 81 gesetzt (= 1).
Im Schritt 80 werden die gehaltenen Daten zwischen den ausge
wählten Datenregisterpaaren für die Datenpaare ausgetauscht,
für die die Bedingung Di < Di+1 gilt. Andererseits findet kein
Datenaustausch für die Datenpaare statt, für die Bedingung
Di ≦ Di+1 gilt.
Im Schritt 82 wird eine Bestimmung vorgenommen, ob beide Flag
signale FL1 und FL2 gesetzt sind (= 1). Der Zustand, in dem
beide Flagsignale FL1 und FL2 gesetzt sind, bedeutet, daß kein
Datenaustausch zwischen den Datenpaaren in den Schritten 74 und
80 vorgenommen wurde. Da die angelegten n Daten bereits in auf
steigender Reihenfolge in den Datenregistern 21-2n angeordnet
sind, bedeutet dies, daß die Sortieroperation beendet ist, ohne
daß die obige Verarbeitung wiederholt werden muß.
Wenn im Gegensatz dazu mindestens eines der Flagsignale FL1 und
FL2 zurückgesetzt bleibt (=0), werden im Schritt 83 beide Flag
signale FL1 und FL2 zurückgesetzt. Ferner kehrt die Verarbei
tung zu Schritt 72 zurück, von der die oben beschriebene Ver
arbeitung wiederholt wird.
Die in Fig. 1 gezeigten Vergleichs/Austauschschaltungen
31-3 n-1 erzeugten Austauschsignale X1-Xn1, wenn ein Austausch
auf der Basis der jeweiligen Vergleichsergebnisse gemacht wird.
Die Sortierbeendigungserkennungsschaltung 5 reagiert auf die
Austauschsignale X₁-Xn-1 zum Erkennen der Beendigung des Sor
tierens. Das bedeutet, daß die Sortierbeendigungserkennungs
schaltung 5 Signale X₁-Xn-1 empfängt, die anzeigen, daß kein
Austausch in einer der Vergleichs/Austauschschaltungen 31-3 n-1
vorgenommen wurde, womit erkannt wird, daß die angelegten n-
Daten sortiert sind. Die Schaltung 5 legt daher ein Sortierbe
endigungssignal SC an die Registerpaarauswahlschaltung 4 an, so
daß der Betrieb der Schaltung 4 angehalten wird. Es wird darauf
hingewiesen, daß die in dem Flußdiagramm nach Fig. 2 benutzten
Flagsignale FL1 und FL2 in der Verarbeitung innerhalb der Sor
tierbeendigungserkennungsschaltung 5 benutzt werden.
Die Fig. 3 ist ein Datenübergangsdiagramm mit einem Beispiel
der Verarbeitung in der Sortiervorrichtung nach Fig. 1. Wie in
Fig. 3 gezeigt, wird angenommen, daß 16 hexadezimale Daten "0,
1, 2, . . .E, F", die zu sortieren sind, in dem Beispiel angelegt
werden. Folglich werden 16 Datenregister und 15 Vergleichs/Aus
tauschschaltungen bei der Sortiervorrichtung nach Fig. 1
benutzt. 16 zu sortierende Daten werden jeweils in Registern
R1-R16 in der Reihenfolge gehalten, die in Stufe 1 in Fig. 3
gezeigt ist.
Bei einer ersten Vergleichs/Austauschoperation CM1 werden die
gehaltenen Daten für jedes Registerpaar R1 und R2, R3 und R4,
R15 und R16 verglichen/ausgetauscht. Beispielsweise werden
die betreffenden Daten "9" und "0" aus den Registern R3 bzw. R4
ausgetauscht. Entsprechend werden die Daten "A" und "1" aus
den betreffenden Registern R5 bzw. R6 ausgetauscht. Als
Ergebnis werden die in Stufe 2 gezeigten Daten in den Registern
R1-R16 gehalten.
Bei der nächsten Vergleichs/Austauschoperation CM2 werden Daten
in jedem Registerpaar R2 und R3, R4 und R5, . . . verglichen/aus
getauscht. Durch Wiederholung der Vergleichs/Austauschopera
tionen werden die sortierten Daten in den Registern R1-R15
während Stufe 11 bereitgestellt.
Nach Stufe 11 werden die Vergleichs/Austauschoperationen CM11
und CM12 durchgeführt, so daß die Flagsignale FL1 und FL2
gesetzt sind. Daher wird die Beendigung der Sortierung erkannt
(zu einer Stufe 13).
Folglich werden die Vergleichs/Austauschoperationen CM13-CM16
nicht durchgeführt. Obwohl, wie aus Fig. 3 klar wird, die Ver
gleichs/Austauschoperationen CMd13-CM16 unnötige Vorgänge sind,
werden diese Operationen bei der herkömmlichen Sortiervorrich
tung nach Fig. 9 durchgeführt. Dies liegt daran, daß die Zahl
von Vergleichs/Austauschoperationen bei der herkömmlichen Sor
tiervorrichtung durch die Anzahl der sortierenden Daten be
stimmt wird, wie oben beschrieben. Folglich verhindert die Be
nutzung der Sortiervorrichtung nach Fig. 1 die in Fig. 3 ge
zeigten Vergleichs/Austauschvorgänge CM13-CM16, so daß die
Sortierung innerhalb kurzer Zeit endet. Genauer gesagt kann die
Beendigung des Sortierens zu einer früheren Stufe (zu einem
früheren Zeitpunkt) erkannt werden.
Die Fig. 4 ist ein Blockschaltbild eines Sortierprozessors ge
mäß einer weiteren Ausführungsform. Dieser Sortierprozessor 103
ist beispielsweise in einem in Fig. 8 gezeigten Computersystem
100 eingesetzt. Wie in Fig. 8 gezeigt, umfaßt das Computersy
stem 100 eine zentrale Verarbeitungseinheit (CPU) 101, einen
externen Speicher 102 sowie einen Sortierprozessor 103. Diese
drei Einrichtungen 101, 102 und 103 sind über einen Datenbus
110 und einen Adreßbus 120 verbunden.
Wenn im Betrieb im externen Speicher 102 gespeicherte Daten zu
sortieren sind, reagiert der externe Speicher 102 auf ein von
der CPU 101 erzeugtes Steuersignal und legt die zu sortierenden
Daten über den Datenbus 110 an den Sortierprozessor 103 an.
Nachdem die angelegten Daten im Sortierprozessor 103 gehalten
werden, legt die CPU 101 ein Sortierstartsignal ST an den Sor
tierprozessor 103 an. Nachdem die Sortierverarbeitung im Sor
tierprozessor 103 begonnen wurde und beendet wird, wird ein
Sortierbeendigungssignal CMP vom Sortierprozessor 103 an die
CPU 101 angelegt. Die CPU 101 reagiert auf das Sortierbeendigungssignal
CMP und startet weitere Verarbeitungen unter Benut
zung der sortierten Daten.
Wie in Fig. 4 gezeigt, umfaßt der Sortierprozessor 103: n-
Makrozellen 61-6n, die jeweils eine Schaltung zum Halten und
Vergleichen/Austauschen von zu sortierenden Daten besitzen,
eine Dekoder/Steuerschaltung 40 zum Steuern der Makrozellen
schaltungen 61-6n als Reaktion auf ein angelegtes Adreßsignal
und ein Steuersignal, eine Lese/Schreibsteuerschaltung 6 zum
Eingeben und Ausgeben von zu sortierenden Daten Di-Dn, sowie
eine Sortierbeendigungserkennungsschaltung 5 zum Erkennen der
Beendigung des Sortierens als Reaktion auf Austauschsignale X1-
Xn, die von den Makrozellen 61-6n erzeugt werden. Die Sortier
beendigungserkennungsschaltung 5 umfaßt ein NOR-Gatter 51, das
zum Empfangen von Austauschsignalen X1, X3, . . . , die von den
ungeradzahligen Makrozellen 61, 63, . . . ausgegeben werden, ver
bunden ist, ein NOR-Gatter 52, das zum Empfangen von Austausch
signalen X2, X4, . . . , die von den geradzahligen Makrozellen 62,
64, . . . ausgegeben wurden, verbunden ist, Verriegelungsschal
tungen 53 und 54 zum Verriegeln der Flagsignale FL1 und FL2,
die von den NOR-Gattern 51 bzw. 52 ausgegeben werden, sowie ein
AND-Gatter 55, das mit den Ausgängen der Verriegelungsschaltun
gen 53 und 54 verbunden ist. Eine einzelne Makrozelle umfaßt
eine Schaltung zum Sortieren in einem einzelnen Datenregister
und eine einzelne Vergleichs/Austauschschaltung nach Fig. 1.
Da jedes zu sortierende Datum durch eine Mehrzahl von Datenbits
ausgedrückt wird, sind die Makrozellen 61-6n über eine Mehrzahl
von Bitleitungen BL verbunden. Interne Schaltungen in den
Makrozellen werden später im Detail beschrieben.
Im Betrieb reagiert die Dekoder/Steuerschaltung 40 auf ein
angelegtes Adreßsignal und wählt sequentiell Wortleitungen WL1-
WLn aus, so daß n zu sortierende Daten über die Bitleitungen BL
in die Datenregisterschaltungen in den Makrozellen 61-6n
eingeschrieben werden. Nachdem die zu sortierenden Daten D1-Dn
in den Makrozellen 61-6n gehalten werden, wird die oben be
schriebene Vergleichs/Austauschoperation wiederholt. Da die
Dekoder/Steuerschaltung 40 auf ein angelegtes Steuersignal zum
Erzeugen von Paar-Auswahlsignalen PS1-PSn reagiert, bedeutet
dies, daß betreffende Vergleichs/Austauschschaltungen (nicht
gezeigt) innerhalb der jeweiligen Makrozellen 61-6n selektiv
aktiviert werden. Genauer gesagt, wie bei der in Fig. 1
gezeigten Sortiervorrichtung, werden die ungeradzahligen Ver
gleichs/Austauschschaltungen und die geradzahligen Vergleichs/
Austauschschaltungen abwechselnd aktiviert, als Reaktion auf
Paar-Auswahlsignale PS1-PSn. Die obige Vergleichs/Austausch
verarbeitung wird zwischen n Makrozellen 61-6n wiederholt, so
daß Signale X1-Xn, die anzeigen, daß ein Austausch zwischen be
liebigen zwei Daten durchgeführt wurde, von den Makrozellen 61-
6n erzeugt werden.
Das in der Sortierbeendigungserkennungsschaltung 5 vorgesehene
NOR-Gatter 51 empfängt Austauschsignale X1, X3, . . . , die von
den ungeradzahligen Vergleichs/Austauschschaltungen erzeugt
werden. Wenn in allen ungeradzahligen Vergleichs/Austausch
schaltungen kein Datenaustausch stattgefunden hat, gibt das
NOR-Gatter 51 ein Flagsignal von "1" aus, so daß die Verriege
lungsschaltung 53 das angelegte Signal FL1 verriegelt. Das NOR-
Gatter 52 empfängt die Austauschsignale X2, X4, . . . , die von
den geradzahligen Vergleichs/Austauschschaltungen erzeugt
werden. Wenn kein Datenaustausch in allen geradzahligen Ver
gleichs/Austauschschaltungen stattgefunden hat, gibt das NOR-
Gatter 52 ein Flagsignal FL2 von "1" aus, so daß die Verrie
gelungsschaltung 54 das angelegte Signal FL2 verriegelt. Daher
reagiert das AND-Gatter 55 auf die verriegelten Flagsignale FL1
und FL2 und gibt ein Sortierbeendigungssignal CMP mit "1" aus.
Die Fig. 5 ist ein Schaltbild zweier benachbarter Makrozellen
6 i und 6 i+1 nach Fig. 4. Wie in Fig. 5 gezeigt, umfaßt die
i-te Makrozelle 6 i k Mikrozellen 601-60k, einen Inverter 85
sowie eine Auswahlschaltung 86. Eine Mikrozelle 60k ist mit
einer entsprechenden Mikrozelle (nicht gezeigt) in einer
Makrozelle einer vorhergehenden Stufe verbunden, und mit einer
entsprechenden Mikrozelle 61k in der Makrozelle 6 i+1 einer
darauffolgenden Stufe. Hier steht ein Signal di für ein in der
entsprechenden Mikrozelle 60k gehaltenes Datenbit innerhalb der
i-ten Makrozelle, und ein Symbol/di steht für ein invertiertes
Signal des Signals di. Entsprechend steht ein Symbol di+1 für
ein in einer entsprechenden Mikrozelle 61k innerhalb der (i+1)
ten Makrozelle 6 i+1 gehaltenes Datenbit. Eine Bitleitung BLk
für ein k-tes Datenbit ist mit entsprechenden k-ten Mikrozellen
60k, 61k, . . . verbunden. Ein Signal Xi zeigt an, daß ein Daten
austausch in der i-ten Makrozellenschaltung 6i stattfindet. Ein
Signal PSi zeigt ein Paar Auswahlsignal das an die i-te Makro
zelle 6i angelegt wird, und ein Signal /PSi zeigt ein inver
tiertes Signal des Signals PSi an. Ein Paar Auswahlsignal PSi+1
wird durch Invertion des Signals PSi erhalten. Daher wird eine
der Speicherzellen 6 i und 6i+1 alternativ als Reaktion auf die
Signale PSi + PSi+1 aktiviert.
Fig. 6 ist ein Schaltbild einer einzelnen in Fig. 5 gezeigten
Mikrozelle 60k. Wie in Fig. 6 gezeigt, umfaßt diese Mikrozell
schaltung 60k eine Datenbitverriegelungsschaltung 200 zum Ver
riegeln eines Einbitdatensignals Di und /Di, eine Vergleichs
schaltung 300 zum Vergleichen der in den zwei Verriegelungs
schaltungen 200 und 201 verriegelten Datenbitsignale sowie
eine Vertauschungsschaltung 350, die auf das Ergebnis des Ver
gleichs reagiert, zum Vertauschen der verriegelten Datenbit
signale zwischen der Verriegelungsschaltung 200 und seiner
benachbarten Datenbitverriegelungsschaltung. Die Verriege
lungsschaltung 200 reagiert auf ein Wortleitungssignal WLi zum
Empfangen eines Datenbitssignals auf der Bitleitung BLk und
verriegelt dieses. Wenn die verglichenen zwei Datenbitsignale
einander entsprechen, gibt die Vergleichsschaltung 300 als
Signal CRk ein Vergleichsergebnissignal CRk-1 eines nieder
wertigen Datenbitsignals aus. Die Austauschschaltung 350 wird
als Reaktion auf das Paar-Auswahlsignal /PSi aktiviert, das von
der in Fig. 4 gezeigten Dekoder/Steuerschaltung 40 erzeugt
wird. Daher wird eines der Datenbitsignale di-1 und/di+1
ausgewählt, so daß das ausgewählte Datenbitsignal an die Ver
riegelungsschaltung 200 als Reaktion auf ein Überschreibsignal
(rewrite) WCi angelegt wird, das von der in Fig. 5 gezeigten
Auswahlschaltung 86 erzeugt wird. Als Ergebnis wird das in der
Verriegelungsschaltung 200 verriegelte Datenbitsignal auf das
ausgewählte Datenbitsignal verändert.
Die Fig. 7 ist ein Blockschaltbild eines Sortierprozessors
entsprechend einer weiteren Ausführungsform. Wie in Fig. 7 ge
zeigt, umfaßt dieser Sortierprozessor 104 gekoppelte Makro
zellen 91-9m, die jeweils zwei Datenregister und eine geteilte
Vergleichs/Austauschschaltung umfassen, sowie eine andere Sor
tierbeendigungserkennungsschaltung 5′. Während eine Vergleichs/
Austauschschaltung für jedes Datenregister in jeder der Makro
zellen 61-6n in Fig. 4 geschaffen ist, werden die Hälfte der
Anzahl von Vergleichs/Austauschschaltungen abwechselnd betrie
ben, wie aus der obigen Erklärung hervorgeht. Dies bedeutet,
daß die Hälfte der Vergleichs/Austauschschaltungen, die
permanent in Betrieb sind, ausreichen. Folglich wird eine
konstant betreibbare Vergleichs/Austauschschaltung von zwei
Datenregistern innerhalb einer einzelnen gekoppelten Makrozelle
des Sortierprozessors 104 aus Fig. 7 geteilt. Verglichen mit
dem in Fig. 4 gezeigten Sortierprozessor 103 erreicht damit
der Sortierprozessor 104 eine höhere Integrationsdichte auf
einer integrierten Halbleiterschaltung, da die Hälfte der Ver
gleichs/Austauschschaltungen ausgelassen werden.
Zusätzlich umfaßt die Sortierbeendigungserkennungsschaltung 5′
ein NOR-Gatter 84, das zum Empfangen der Austauschsignale X1-Xn
verbunden ist, die von den geteilten Vergleichs/Austauschschal
tungen ausgegeben werden, zwei Verriegelungsschaltungen 89 und
90, die ein zweistufiges Schieberegister bilden, sowie ein AND-
Gatter 55 zum Empfangen der verriegelten Signale. Ein NOR-Gat
ter 84 reagiert auf die von den geteilten Vergleichs/Austausch
schaltungen ausgegebenen Austauschsignale X1-Xn und gibt nach
einander Ausgabeflagsignale FL1 und FL2 aus. Die Verriegelungs
schaltungen 89 und 90 verriegeln nacheinander die ausgegebenen
Flagsignale FL1 und FL2. Wenn daher Flagsignale FL1 und FL2 mit
"1" in den Verriegelungsschaltungen 89 und 90 verriegelt sind,
erzeugt das AND-Gatter 55 ein Sortierbeendigungssignal CMP, das
die vollständige Sortierung anzeigt.
Da der Betrieb des in Fig. 7 gezeigten Sortierprozessors im
wesentlichen identisch mit dem in Fig. 4 gezeigten Sortier
prozessors 103 ist, wird dessen Beschreibung hier nicht wieder
holt. Es wird darauf hingewiesen, daß der Sortierprozessor 104
nach Fig. 7 an der Stelle des Sortierprozessors 103 bei einem
in Fig. 8 gezeigten Computersystem einsetzbar ist.
Da eine Sortierbeendigungserkennungsschaltung zum Erkennen der
Beendigung des Sortierens als Reaktion auf Austauschsignale X1-
Xn, die von den Vergleichs/Austauschschaltungen erzeugt wurden,
bei der Sortiervorrichtung nach Fig. 1 und in jedem der Sor
tierprozessoren 103 und 104 gemäß den Fig. 4 und 7 vorge
sehen ist, kann die Sortierbeendigungserkennungsschaltung die
Beendigung des Sortierens unmittelbar nach dem Sortieren der
angelegten Daten erkennen. Hierdurch wird das Andauern der
Sortieroperation trotz der Tatsache, daß die Sortierung voll
ständig ist, verhindert. Mit anderen Worten, die für die Sor
tiervorrichtung oder die Sortierprozessoren zum Beenden der
Sortierverarbeitung benötigte Zeit wird vermindert.
Eine weitere Ausführungsform wird nachfolgend beschrieben. Bei
der folgenden Ausführungsform wird eine Sortiervorrichtung oder
werden Sortierprozessoren, die auf dieselbe Weise wie Sortier
vorrichtung der Fig. 1 arbeiten, eingesetzt.
Die Fig. 10 zeigt ein Beispiel eines Computersystems, das die
Sortiervorrichtung oder den Sortierprozessor einer Ausführungs
form der vorliegenden Erfindung einsetzen kann. Wie in Fig. 10
gezeigt, umfaßt ein Computersystem 500 einen zusätzlichen Adreß
bus 103, verglichen mit dem in Fig. 8 gezeigten Computersystem
100. Der Adreßbus 103 ist zum Übertragen der bei der folgenden
Ausführungsform notwendigen Adressen vorgesehen. Da die anderen
Bestandteile des Computersystems 500 mit denen des Computer
systems 100 in Fig. 8 identisch sind, wird deren Beschreibung
hier nicht wiederholt.
Eine Sortiervorrichtung mit einer weiteren Ausführungsform der
vorliegenden Erfindung wird in einem Blockschaltbild in Fig.
11 gezeigt. Bei der Sortiervorrichtung nach Fig. 1 ist die
maximale Zahl von sortierbaren Daten auf n beschränkt. Da die
Sortiervorrichtung nach Fig. 1 n Datenregister 21-2n umfaßt,
bedeutet dies, daß mehr Daten als die Anzahl n nicht sortiert
werden können. Um Daten einer größeren Anzahl als n zu sortie
ren, werden zusätzliche Datenregister und zusätzliche Ver
gleichs/Austauschschaltungen benötigt. Dies bedeutet, daß Daten
einer größeren Anzahl als n nicht ohne zusätzliche Hardware
oder zusätzliche Schaltungen sortiert werden können. Die
Benutzung der in Fig. 11 gezeigten Sortierschaltung gestattet
es, Daten einer größeren Anzahl als n zu verarbeiten, ohne daß
die Zahl von Datenregistern oder die Zahl von Vergleichs/Aus
tauschschaltungen beschränkt ist.
Wie in Fig. 11 gezeigt, umfaßt eine Sortierschaltung 105 Regi
sterschaltungen 21-12n, die jeweils ein Paar von Datenregistern
und Adreßregistern umfassen, Austauschschaltungen 131 bis
13n-1, die jeweils ein Paar von Datenvergleichs/Austauschschal
tungen und Adressenaustauschschaltungen umfassen, und derglei
chen. Die Datenregister und die Datenvergleichs/Austauschschal
tungen arbeiten auf dieselbe Weise wie die in Fig. 1 gezeigten
vergleichbaren Schaltungen. Das heißt, Datenvergleichs/Aus
tauschschaltungen reagieren auf Paar-Auswahlsignale PS1 bis
PSn1, die von einer Registerpaarauswahlschaltung 4 angelegt
werden, zum Vergleichen und Austauschen von Daten zwischen be
liebigen Datenregistern. Zusätzlich arbeitet eine Sortierbe
endigungserkennungsschaltung 5 in derselben Weise wie die in
Fig. 1 gezeigte Schaltung 5. Daher kann die Sortiervorrichtung
105 nach Fig. 11 ebenfalls das Sortieren von n oder weniger
Daten in einer kurzen Zeit durchführen.
Eine Adreßaustauschschaltung, die in jeder der Austauschschal
tungen 531-13n-1 vorgesehen ist, reagiert auf das Ergebnis
eines Datenvergleichs durch ihre entsprechende Datenvergleichs
/Austauschschaltung zum Austauschen von gehaltenen Adressen
zwischen zwei benachbarten Adreßregistern. Das heißt, wenn eine
entsprechende Datenvergleichs/Austauschschaltung die gehaltenen
Daten zwischen zwei benachbarten Registern austauscht, tauscht
eine entsprechende Adreßaustauschschaltung die gehaltenen
Adressen zwischen zwei entsprechenden benachbarten Adreßregi
stern aus. Mit anderen Worten, selbst wenn die Daten und
Adressen, die in einem Paar aus Datenregister und Adreßregister
gehalten werden, zu einer anderen Registerschaltung über die
Datenvergleichs/Austauschschaltung und die Adressenaustausch
schaltung übertragen werden, bleibt das Paar von Daten und
Adressen erhalten.
Wie erwähnt gestattet die Benutzung der in Fig. 11 gezeigten
Sortierschaltung das Sortieren von Daten einer größeren Anzahl
als n. Um das Sortieren von Daten einer größeren Anzahl als n
zu ermöglichen, führt eine in Fig. 10 gezeigte CPU 101 die
Verarbeitungsschritte durch, die in den Flußdiagrammen der
Fig. 12 und 13 auf der Basis eines vorbereiteten Programmes
gezeigt sind. Bei den in den Fig. 12 und 13 gezeigten Ver
arbeitungsschritten wird ein Sortierverfahren, das "merge sort"
genannt wird, eingesetzt.
Wie in Fig. 12 gezeigt, werden zuerst in einem Schritt 501
alle zu sortierenden Daten in L Datengruppen aufgeteilt. Jede
Datengruppe umfaßt n-Daten oder weniger. Daher können die in
jeder Datengruppe enthaltenen Daten in Gruppeneinheiten
sortiert werden, in dem die in Fig. 11 gezeigte Sortierschal
tung 105 benutzt wird.
Im Schritt 502 wird eine zu sortierende Datengruppe aus den
aufgeteilten L Datengruppen ausgewählt. Im Schritt 503 werden
Daten aus der ausgewählten Datengruppe jeweils in die in Fig.
11 gezeigten Datenregister eingeladen.
Im Schritt 504 führt die in Fig. 11 gezeigte Sortierschaltung
105 eine Sortierverarbeitung bezogen auf die geladenen Daten
durch. Da die Sortierverarbeitung in der Sortierschaltung 105
dieselbe wie in der Sortiervorrichtung nach Fig. 1 ist, wird
eine Beschreibung nicht wiederholt. Die sortierten Daten werden
in einem Speicher 102 für jede ausgewählte Datengruppe gespei
chert (Schritt 505).
Im Schritt 506 wird bestimmt, ob die Verarbeitungsschritte 501
bis 505 für alle Datengruppen durchgeführt worden sind. Wenn
eine Datengruppe übriggeblieben ist, kehrt die Verarbeitung zu
Schritt 502 zurück. Die L Datengruppen umfassen jeweils
sortierte Daten durch die Wiederholung der Verarbeitung der
Schritte 502 bis 506 und sind innerhalb des Speichers 102 ge
bildet.
Wie in Fig. 13 gezeigt, werden im Schritt 507 Minimumdaten
GMD1-GMDL aus jeder Datengruppe und ein entsprechender
Gruppencode von jeder Datengruppe extrahiert. Da das Sortieren
in jeder Datengruppe bereits beendet ist, kann jedes der
Minimumdaten GMD1-GMDL leicht erhalten werden. Jeder
Gruppencode zeigt an, zu welcher Datengruppe ein entsprechendes
Minimumdatum gehört. Folglich sind jedes der Minimumdaten GMD1-
GMDL und ihre entsprechenden Gruppencodes gepaart, und L-Paare
von Minimumdaten und Gruppencodes werden jeweils in L-Register
schaltungen der Registerschaltungen 121-12n eingeladen.
Im Schritt 508 führt die Sortiervorrichtung 105 eine Sortier
verarbeitung für geladenen Daten durch. Durch die Datenver
gleichs/Austauschschaltungen und die Adreßaustauschschaltungen
bewegen sich Paare von Datum und Gruppencodes zwischen den Re
gisterschaltungen 21-12n, während sie als Paare erhalten
bleiben. Wenn die Sortierung beendet ist, wird ein Minimumdatum
MD der Minimumdaten GMD1-MDL in einem Datenregister innerhalb
der Registerschaltung 121 erhalten.
Im Schritt 509 wird das Minimumdatum MD aus dem Datenregister
in der Registerschaltung 121 extrahiert, so daß das extrahierte
Datum im Speicher 102 gespeichert wird. Der Gruppencode der
Datengruppe, zu welcher das Minimumdatum MD gehört, wird im
Adreßregister der Registerschaltung 121 gehalten.
Im Schritt 510 wird ein neues Minimumdatum, welches das nächst
kleinere Minimumdatum zum Datum MD ist, von der Gruppe des
Minimumdatums MD extrahiert, unter Bezug (Verwendung) des
Gruppencodes, der im Adreßregister der Registerschaltung 121
gehalten wird. Das neue Minimumdatum wird an das Datenregister
in der Registerschaltung 121 angelegt. Mit anderen Worten, das
Datenregister in der Registerschaltung 121 wird mit einem neuen
Minimumdatum ergänzt.
Im Schritt 511 wird festgestellt, ob mehr als ein Datum in den
Datenregistern der Registerschaltung 121-12n enthalten ist.
Wenn eine Mehrzahl von Daten übrig sind, kehrt die Verarbeitung
zu Schritt 508 zurück. Folglich wird die Sortierung erneut
durchgeführt, mit dem ergänzten Datum, durch die Sortiervor
richtung 105. Nachdem Sortieren im Schritt 508 werden die Ver
arbeitungsschritte 509 und 510 durchgeführt.
Durch Wiederholung der Verarbeitungsschritte 508 bis 511 werden
Daten sequentiell in aufsteigender Reihenfolge von L Datengrup
pen im Speicher 102 gespeichert. Als Ergebnis werden alle sor
tierten Daten im Speicher erhalten.
Die Fig. 14 zeigt ein Blockschaltbild eines Sortierprozessors
entsprechend einer weiteren Ausführungsform. Ein Sortierprozes
sor 106 nach Fig. 14 arbeitet im wesentlichen auf dieselbe
Weise wie die in Fig. 11 gezeigte Sortierschaltung 105. Der
Sortierprozessor 106 ist auf das in Fig. 10 gezeigte Computer
system 500 anwendbar.
Wie in Fig. 14 gezeigt, umfaßt der Sortierprozessor 106 Makro
zellen 161-16n, die jeweils eine Datenschaltung und eine Adreß
schaltung umfassen, sowie eine Lese-Schreibsteuerschaltung 160
zum Zugreifen auf die Datenschaltungen und die Adreßschaltungen
der Makrozellen 161-16n. Da die anderen Schaltungsbestandteile
die gleichen wie die in dem Sortierprozessor 103 nach Fig. 4
sind, wird deren Beschreibung nicht wiederholt.
Betreffende Datenschaltungen der Makrozellen 161-16n entspre
chen den in Fig. 4 gezeigten Makrozellen 61-6n, und daher
vergleichen sie zwei benachbarte Daten und tauschen diese aus.
Jeweilige Adreßschaltungen in den Makrozellen 168-16n reagieren
auf das Ergebnis eines Datenvergleichs zum Austauschen der
Adressen (Gruppencodes bei dieser Ausführungsform) zwischen
zwei benachbarten Adreßschaltungen.
Die Fig. 15 zeigt ein Schaltbild zweier benachbarter Makro
zellen aus Fig. 14. Eine i-te Makrozelle 16i und eine (i+1)te
Makrozelle 16i+1 sind in Fig. 15 gezeigt. Beispielsweise um
faßt die i-te Makrozelle 16i Mikrozellen 601-60k, die die in
Fig. 14 gezeigte Datenschaltung bilden, sowie Mikrozellen 701-
70j, die die Adreßschaltung bilden. Ein Schaltungsaufbau jeder
der Mikrozellen 601-60k ist derselbe wie der in Fig. 6 gezeig
ten Schaltung 60k, und daher wird dessen Beschreibung hier
nicht wiederholt. Eine j-te Mikrozelle 70j wird durch eine in
Fig. 16 gezeigte Schaltung implementiert.
Wie in Fig. 16 gezeigt, umfaßt die j-te Mikrozelle 70j eine
Adreßbitverriegelungsschaltung 200 zum Verriegeln eines Ein-
Bitadreßsignales adi und /adi sowie eine Austauschschaltung
350, die auf das Ergebnis eines Datenvergleichs reagiert, zum
Austauschen der verriegelten Adreßbitsignale zwischen der Ver
riegelungsschaltung 200 und einer benachbarten Adreßbitver
riegelungsschaltung. Verglichen mit der Mikrozellenschaltung
60k nach Fig. 6 erhält man die Mikrozellenschaltung 70j für
Adressen, indem die Vergleichsschaltung 300 für Daten von der
Mikrozellenschaltung 60k entfernt wird.
Wenn der in Fig. 14 gezeigte Sortierprozessor 106 ebenfalls
eingesetzt wird, werden die Verarbeitungen auf der Basis der in
den Fig. 12 und 13 gezeigten Flußdiagramme durchgeführt. Bei
der nachfolgenden Beschreibung wird erklärt, wie der Sortier
prozessor 106 nach Fig. 14 bei dem in Fig. 13 gezeigten
Schritt 508 arbeitet.
Minimumdaten der betreffenden Datengruppen und entsprechende
Gruppencodes werden über die Lese/Schreibsteuerschaltung 160 an
die Datenschaltungen bzw. Adreßschaltungen in den Makrozellen
161-16n angelegt. Beispielsweise verriegelt die Verriegelungs
schaltung 200 innerhalb der Mikrozelle 70j in Fig. 16 Adreß
bitsignale (entsprechend eines Bit eines Gruppencodes) adi und
/adi, die über eine Adreßbitleitung ABLj von der Lese/Schreib
steuerschaltung 160 angelegt werden.
Als Ergebnis eines Vergleichs zwischen zwei benachbarten Daten,
wenn der Datenaustausch durchgeführt ist, werden die verriegel
ten Adreßbitsignale zwischen den Mikrozellen 70j und 71j, wie
in Fig. 16 gezeigt, ausgetauscht. Diese Austauschoperation
wird auf dieselbe Weise durchgeführt wie der Austausch der
Datenbitsignale nach Fig. 6. Als Ergebnis werden Adreßbitsi
gnale, die in den Verriegelungsschaltungen 200 und 201 verrie
gelt sind, zwischen zwei benachbarten Mikrozellen 70j und 71j
ausgetauscht. In den in Fig. 5 gezeigten Mikrozellen 701-70j
für Adressen bewegen sich Gruppencodes zusammen mit den zu
sortierenden Daten zwischen den in Fig. 14 gezeigten Adreß
schaltungen, da ein Austausch bezogen auf Adressen als Reaktion
auf das Ergebnis des Datenvergleichs durchgeführt wird.
Obwohl die maximale Anzahl von zu verarbeitenden Daten bei
einer einzelnen Verarbeitung auf n in der Sortierschaltung 105
nach Fig. 11 oder des Sortierprozessors 106 nach Fig. 14 be
schränkt ist, erlaubt, wie oben beschrieben, das Aufteilen von
zu sortierenden Daten das Sortieren einer großen n übersteigenden Anzahl von
Daten. Nachdem, wie in Fig. 12 gezeigt, alle zu
sortierenden Daten in L Datengruppen eingeteilt sind (Schritt
501), werden die Verarbeitungsschritte 502-511, wie in den
Fig. 13 gezeigt, ausgeführt. Daher kann das Sortieren einer
großen Anzahl von Daten größer als n erreicht werden.
Bei allen vorhergehenden Ausführungsformen wird darauf hinge
wiesen, daß die Bitlänge von zu sortierenden Daten beschränkt
ist. Das heißt, daß die Bitlänge von Daten, die beispielsweise
durch den in Fig. 4 gezeigten Sortierprozessor verarbeitet
werden können, auf k Bit beschränkt ist, wie aus der Anzahl von
in Fig. 5 gezeigten Mikrozellen 601-60k erkannt werden kann.
Mit anderen Worten, bei allen vorhergehenden Ausführungsformen
ist durch die Hardware die Bitlänge von zu verarbeitenden Daten
auf k Bit beschränkt. Wenn es nötig wird, Daten mit mehr als k
Bit zu sortieren, kann das Sortieren nicht mit der oben be
schriebenen Hardware durchgeführt werden. Daher ist es nötig,
die Anzahl von Mikrozellen in Abhängigkeit von der Bitlänge der
zu sortierenden Daten zu erhöhen. Bei der folgenden Ausfüh
rungsform wird eine Sortiervorrichtung und ein Sortierprozessor
erklärt, mit denen Daten einer Bitlänge von mehr als k Bit
sortiert werden können.
Die Fig. 17 ist ein Blockdiagramm einer Sortierschaltung, die
in einer weiteren Ausführungsform eingesetzt ist. Wie in Fig.
17 gezeigt, umfaßt die Sortierschaltung 107 Datenregisterschal
tungen 221-22n, die jeweils ein Paar von Datenregisterschaltung
und Adreßregisterschaltung umfassen, Austauschschaltungen 231-
23n-1 zum Vergleichen und Austauschen von zwei gehaltenen Daten
und zum Austauschen von Adressen zwischen benachbarten Regi
sterschaltungen, und Übereinstimmungs- (Match) Flagregister
(nachfolgend als MF-Register bezeichnet) 241-24n-1 zum Halten
von Flags, die Datenübereinstimmungen (Matches) zwischen belie
gigen benachbarten zwei Daten anzeigen. Da eine Registerpaar
auswahlschaltung 4 und eine Sortierbeendigungserkennungsschal
tung 5 identisch mit dem in Fig. 1 gezeigten entsprechenden
Schaltungen sind, wird eine erneute Beschreibung davon nicht
vorgenommen. Nachfolgend wird unter Bezug auf die Fig. 18 eine
Sortierverarbeitung unter Einsatz der in Fig. 17 gezeigten
Sortierschaltung 107 vorgenommen.
Zu Anfang wird eine Spezialisierung im Schritt 521 durchge
führt. Insbesondere alle MF-Register 241-24n-1 werden mit einem
Resetflag (MF = "0") versorgt, so daß die MF-Register 241-24n-1
zurückgesetzt sind.
Es wird angenommen, daß die Bitlänge von zu sortierenden Daten
bei der folgenden Beschreibung mehr als k Bit beträgt. Folglich
werden die zu sortierenden Daten in höherwertige Bitdaten und
niederwertige Bitdaten eingeteilt. Daher wird eine Verarbeitung
bezogen auf die aufgeteilten höherwertigen Bitdaten oder
niederwertigen Bitdaten durchgeführt.
Im Schritt 522 werden die höherwertigen Bitdaten der zu sortie
renden Daten und die den betreffenden Daten entsprechenden
Adressen in die Registerschaltungen 221-22n in Fig. 17 einge
laden. Im Schritt 523 wird eine Sortierverarbeitung für die ge
ladenen höherwertigen Bitdaten durchgeführt. Bei der ebenfalls
in Fig. 17 gezeigten Sortierschaltung 107 bewegen sich betref
fende Paare von Daten und Adressen zwischen den Registerschal
tungen 221-22n auf dieselbe Weise wie bei der in Fig. 11 ge
zeigten Sortierschaltung 105. Nachdem die Sortierung beendet
ist, legen die betreffende Datenvergleichs/Austauschschaltungen
in den Austauschschaltungen 231-23n-1 Matchflags MF an ent
sprechende MF-Register 241 bis 241n an. Wenn zwei benachbarte
höherwertige Bitdaten einander nicht entsprechen, legen die
Daten Vergleichs/Austauschschaltungen Nicht-Übereinstimmungs-
(Mismatch)Flags (MF = "1") an die MF-Register an. Wenn zwei
benachbarte höherwertige Bitdaten einander entsprechen, halten
die MF-Register die Übereinstimmungs-(Match)-Flags (MF = "0").
Im Schritt 525a werden den gehaltenen höherwertigen Bitdaten
entsprechende niederwertige Bitdaten im Register eingeladen,
die dem MF-Register mit gehaltenen Matchflags (MF = "0") ent
sprechen. Das bedeutet, daß eine Bestimmung über die Größe
zweier Daten nicht durchgeführt werden kann, wenn nur die
jeweils höherwertigen Bitdaten verglichen werden, die nieder
wertigen Bitdaten geladen werden und nun ein Vergleich bezogen
auf die niederwertigen Bitdaten vorgenommen wird.
Eine Sortierverarbeitung wird für die geladenen niederwertigen
Bitdaten im Schritt 526a durchgeführt. Jede Datenvergleichs
/Austauschschaltung vergleicht und tauscht Daten zwischen zwei
benachbarten niederwertigen Bitdaten aus, wenn ein Matchflag
(MF = "0") in einem entsprechenden MF-Register gehalten wird.
Andererseits vergleicht die Datenvergleichs/Austauschschaltung
nicht Daten und tauscht diese auch nicht aus, wenn ein Nicht
übereinstimmungs(Mismatch)-Flag (MF = "1") im entsprechenden
MF-Flag gehalten wird. Beim Sortieren im Schritt 526a werden
ebenfalls Paare von Daten und Adressen als Reaktion auf das Er
gebnis des Vergleichs zwischen zwei benachbarten Daten bewegt.
Als Ergebnis des Sortierens der Schritte 523 und 526a werden
Adressen, die die ansteigende Reihenfolge von Daten anzeigen,
entsprechend in die Adreßregistern innerhalb der Register
schaltungen 221-22n gehalten.
Im Schritt 527 werden im Speicher 102 gespeicherte Daten
sequentiell entsprechend der in den Adreßregistern der Regi
sterschaltungen 221-22n gehaltenen Adressen gelesen. Als Ergebnis
werden in aufsteigender Reihenfolge sortierte Daten aus dem
Speicher 102 erhalten.
Die Fig. 19 ist ein Blockschaltbild eines Sortierprozessors
entsprechend einer weiteren Ausführungsform. Wie in Fig. 19
gezeigt, umfaßt dieser Sortierprozessor 108 Makrozellen 261-
26n, die jeweils eine Datenschaltung und Adressenschaltung
umfaßt, eine Lese/Schreibsteuerschaltung 260 zum Zugreifen auf
die Datenschaltungen und die Adreßschaltungen, und Übereinstim
mungs-(Match)Flagregister (MF-Register) 241-24n zum Halten von
Flags, die anzeigen, das zwei benachbarte Daten einander ent
sprechen. Da die anderen Schaltungsbestandteile dem in Fig. 4
gezeigten Sortierprozessor 3 entsprechen, wird eine Beschrei
bung nicht wiederholt.
Die Fig. 20 ist ein Schaltbild zweier benachbarter Makrozellen
26i und 26i+1 aus Fig. 19. Wie in Fig. 20 gezeigt, umfaßt die
i-te Makrozelle 26i beispielsweise Mikrozellen 801-80k, die
eine Datenschaltung zum Verarbeiten von zu sortierenden Daten
bilden, Mikrozellen 701-70j, die eine Adressenschaltung zum
Verarbeiten von jedem Datum entsprechenden Adressen bilden,
eine Auswahlschaltung 86 und weitere Schaltungen. Ein NAND-
Gatter 44 gibt ein Matchflagsignal MFa aus, das anzeigt, daß
eine Übereinstimmung (Match) zwischen zwei benachbarten Daten
vorliegt. Die Signal MFa wird an ein MF-Register (nicht
gezeigt) angelegt. Ein in dem MF-Register gehaltenes Flagsignal
MFb wird an einen Inverter 42 angelegt. Ein NAND-Gatter 43 gibt
ein Signal Xi aus, welches anzeigt, daß ein Datenaustausch in
der i-ten Makrozelle Xi stattfindet. Wenn die Datenübereinstim
mung in der Makrozelle 26i erkannt wird, das heißt die Über
einstimmung zwischen zwei benachbarten Daten erkannt wird,
zeigen die Flagsignale MFa und MFb "0" an. Wenn andererseits
Übereinstimmung zwischen zwei benachbarten Daten nicht erkannt
wird, zeigen die Flagsignale MFa und MFb "1" an.
Die in Fig. 19 gezeigte Lese/Schreibsteuerschaltung 260 legt
über einen Datenbus 110 angelegte Daten an Datenschaltungen in
den Makrozellen 261-26n an, das heißt, an Mikrozellen 801-80k.
Zusätzlich legt die Lese/Schreibsteuerschaltung 260 Adressen,
die über einen Adreßbus 130 angelegt wurden, an Adreßschaltun
gen in den Makrozellen 261-26n an, das heißt an Mikrozellen
701-70j.
Die Fig. 21 zeigt ein Schaltbild der k-ten Makrozelle 80k in
Fig. 20. Jede Mikrozelle 801-80k aus Fig. 20 ist auf dieselbe
Weise wie die Schaltung 80k in Fig. 21 aufgebaut. Wie in Fig.
21 gezeigt, umfaßt diese Mikrozelle 80k ferner eine Überein
stimmungserkennungsschaltung 360 zum Erkennen einer Überein
stimmung zwischen den k-ten Bits zwei benachbarter Daten
verglichen mit der in Fig. 6 gezeigten Mikrozelle 60k. Wenn
ein Flagsignal MFk-1 von einer (k-1)ten Mikrozelle (nicht
gezeigt) "1" ist und eine Übereinstimmung zwischen den k-ten
Bits zwei benachbarter Daten festgestellt wird, gibt die
Übereinstimmungserkennungsschaltung 360 ein Flagsignal MFk mit
"1" aus. In den anderen Fällen gibt die Mikrozelle 80k ein
Flagsignal MFk von "0" aus.
Die in Fig. 20 gezeigten Mikrozellen 701-70j sind mit den
Zellen 701-70j aus Fig. 15 identisch. Das heißt, jede der
Mikrozellen 701-70j aus Fig. 20 weist denselben Schaltungs
aufbau auf und arbeitet auf dieselbe Weise wie die in Fig. 16
gezeigte Schaltung 70j.
Eine Beschreibung wird nachfolgend von einer Sortierverarbei
tung bei einem Computersystem vorgenommen, die den in Fig. 19
gezeigten Sortierprozessor 108 einsetzt, unter Bezug auf die
Fig. 22. Bei der folgenden Beschreibung wird angenommen, daß
die Anzahl von Datenbits, die im in Fig. 19 gezeigten Sortier
prozessor 108 verarbeitet werden kann, 64 Bit beträgt (k = 64),
und daß die Bitlänge der zu sortierenden Daten 128 Bit beträgt.
Eine Initialisierung wird zuerst im Schritt 531 durchgeführt.
Das heißt, alle MF-Register 241-24m werden mit "0" beauf
schlagt.
Dann werden im Schritt 532 Adressen, die den Daten der höher
wertigen 64 Bits der zu sortierenden Daten entsprechen, in
Makrozellen 261-26n über die Lese/Schreibsteuerschaltung 260
eingelesen.
Im Schritt 533 wird eine Sortierverarbeitung für die geladenen
höherwertigen Bitdaten durchgeführt. Die Daten und Adressen be
wegen sich als Paar zwischen den Makrozellen entsprechend dem
Ergebnis des Sortierens. Nach der Beendigung des Sortierens
wird eine Verarbeitung im Schritt 534 durchgeführt. Wenn zwei
benachbarte höherwertige Bitdaten einander nicht entsprechen,
wird ein MF-Register mit "1" beaufschlagt.
Im Schritt 535 werden entsprechende niederwertige Bitdaten in
entsprechende Datenschaltungen eingeladen, nach Maßgabe der
Adressen, die in den betreffenden Adreßschaltungen innerhalb
der Makrozellen 262-26n gehalten werden.
Eine Sortierverarbeitung wird bezogen auf die niederwertigen
Bitdaten zwischen den Makrozellen durchgeführt, deren MF-Re
gister "0" halten. Bei dieser Ausführungsform wird eine Sor
tieroperation zwischen Makrozellen deaktiviert, die MF-Regi
stern mit "1" entsprechen. Daher wird zwischen diesen keine
Sortierverarbeitung durchgeführt. Das Paar von niederwertigen
Bitdaten und Adressen wird zwischen den Makrozellen bewegt.
Im Schritt 537 werden die gehaltenen Adressen, das heißt die
durch das Sortieren bewegten Adressen, sequentiell aus den
Adreßschaltungen in den Makrozellen 261-26n gelesen. Die
sortierten Daten, das heißt die Daten von 128 Bits, die in
aufsteigender Reihenfolge angeordnet sind, werden aus dem
Speicher 102 entsprechend der gelesenen Adressen ausgelesen.
Wie oben beschrieben, selbst wenn die Bitlänge von Daten, die
in Sortierschaltung 107 nach Fig. 17 oder durch den Sortier
prozessor 108 nach Fig. 18 behandelt werden kann, beschränkt
ist, wird es möglich, Daten zu sortieren, die eine Bitlänge
größer als die Bitlänge der Schaltungen haben. Mit anderen
Worten, es wird möglich, Daten zu sortieren, die eine längere
Bitlänge haben, indem nur eine Änderung der Software vorge
nommen wird, ohne daß der Schaltungsaufbau, das heißt die
Hardware, geändert werden.
Es wird darauf hingewiesen, daß die Verarbeitung der in Fig. 1
gezeigten Sortiervorrichtung grundsätzlich in allen oben be
schriebenen Ausführungsformen benutzt wird. Folglich können
eine solche Vorrichtung und ein Sortierprozessor erhalten
werden, die das Sortieren in einer kurzen Zeit durchführen,
ohne daß die Anzahl und/oder die Bitlänge von Daten, die zu
sortieren sind, beschränkt ist.
Claims (16)
1. Sortiervorrichtung zum Sortieren von n angelegten Daten in
eine vorbestimmte Reihenfolge, mit
n Datenhaltevorrichtungen (21-2n) zum Halten der n angelegten Daten,
einer ersten Paar-Auswahlvorrichtung (4, PS1, PS3, . . . ) zum Auswählen einer Gruppe von ersten Paaren, wobei jedes Paar vor bestimmte, benachbarte zwei Datenhaltevorrichtungen der n Datenhaltevorrichtungen umfaßt,
einer ersten Vergleichsvorrichtung (31, 33, . . . ), die auf die erste Paar-Auswahlvorrichtung reagiert, zum Vergleichen zweier von den gepaarten zwei Datenhaltevorrichtungen gehaltenen Daten für jedes von der ersten Paar-Auswahlvorrichtung ausgewählte Paar,
einer ersten Datenaustauschvorrichtung (31, 33, . . . ), die auf die erste Vergleichsvorrichtung reagiert, zum Austauschen der in den zwei gepaarten Datenhaltevorrichtungen gehaltenen Daten, für jedes von der ersten Paar-Auswahlvorrichtung ausgewählte Paar,
einer zweiten Paar-Auswahlvorrichtung (4, PS2, PS4, . . . ) zum Auswählen einer Gruppe von zweiten Paaren, wobei jedes Paar vorbestimmte andere benachbarte zwei Datenhaltevorrichtungen der n Datenhaltevorrichtungen umfaßt, die nicht von der ersten Paar-Auswahlvorrichtung ausgewählt sind,
einer zweiten Vergleichsvorrichtung (32, 34, . . ), die auf die zweite Paar-Auswahlvorrichtung reagiert, zum Vergleichen zweier in den gepaarten zwei Datenhaltevorrichtungen gehaltenen Daten, für jedes von der zweiten Paar-Auswahlvorrichtung ausgewählte Paar,
einer zweiten Datenaustauschvorrichtung (32, 34, . . .), die auf die zweite Vergleichsvorrichtung reagiert, zum Austauschen der in den gepaarten zwei Datenhaltevorrichtungen enthaltenen Daten, für jedes von der zweiten Paar-Auswahlvorrichtung gehaltene Paar, und
einer Sortierbeendigungserkennungsvorrichtung (5), die auf die erste und zweite Vergleichsvorrichtung reagiert, zum Erkennen der vollständigen Sortierung der angelegten n Daten.
n Datenhaltevorrichtungen (21-2n) zum Halten der n angelegten Daten,
einer ersten Paar-Auswahlvorrichtung (4, PS1, PS3, . . . ) zum Auswählen einer Gruppe von ersten Paaren, wobei jedes Paar vor bestimmte, benachbarte zwei Datenhaltevorrichtungen der n Datenhaltevorrichtungen umfaßt,
einer ersten Vergleichsvorrichtung (31, 33, . . . ), die auf die erste Paar-Auswahlvorrichtung reagiert, zum Vergleichen zweier von den gepaarten zwei Datenhaltevorrichtungen gehaltenen Daten für jedes von der ersten Paar-Auswahlvorrichtung ausgewählte Paar,
einer ersten Datenaustauschvorrichtung (31, 33, . . . ), die auf die erste Vergleichsvorrichtung reagiert, zum Austauschen der in den zwei gepaarten Datenhaltevorrichtungen gehaltenen Daten, für jedes von der ersten Paar-Auswahlvorrichtung ausgewählte Paar,
einer zweiten Paar-Auswahlvorrichtung (4, PS2, PS4, . . . ) zum Auswählen einer Gruppe von zweiten Paaren, wobei jedes Paar vorbestimmte andere benachbarte zwei Datenhaltevorrichtungen der n Datenhaltevorrichtungen umfaßt, die nicht von der ersten Paar-Auswahlvorrichtung ausgewählt sind,
einer zweiten Vergleichsvorrichtung (32, 34, . . ), die auf die zweite Paar-Auswahlvorrichtung reagiert, zum Vergleichen zweier in den gepaarten zwei Datenhaltevorrichtungen gehaltenen Daten, für jedes von der zweiten Paar-Auswahlvorrichtung ausgewählte Paar,
einer zweiten Datenaustauschvorrichtung (32, 34, . . .), die auf die zweite Vergleichsvorrichtung reagiert, zum Austauschen der in den gepaarten zwei Datenhaltevorrichtungen enthaltenen Daten, für jedes von der zweiten Paar-Auswahlvorrichtung gehaltene Paar, und
einer Sortierbeendigungserkennungsvorrichtung (5), die auf die erste und zweite Vergleichsvorrichtung reagiert, zum Erkennen der vollständigen Sortierung der angelegten n Daten.
2. Sortiervorrichtung nach Anspruch 1, dadurch gekennzeichnet,
daß
die erste Datenaustauschvorrichtung auf die erste Vergleichs vorrichtung reagiert, zum Austauschen der in den gepaarten zwei Datenhaltevorrichtungen gehaltenen Daten, die sich nicht in der vorbestimmten Reihenfolge befinden, und
die zweite Datenaustauschvorrichtung auf die zweite Vergleichs vorrichtung reagiert, zum Austauschen der von den zwei gepaarten Datenhaltevorrichtungen gehaltenen Daten, die sich nicht in der vorbestimmten Reihenfolge befinden.
die erste Datenaustauschvorrichtung auf die erste Vergleichs vorrichtung reagiert, zum Austauschen der in den gepaarten zwei Datenhaltevorrichtungen gehaltenen Daten, die sich nicht in der vorbestimmten Reihenfolge befinden, und
die zweite Datenaustauschvorrichtung auf die zweite Vergleichs vorrichtung reagiert, zum Austauschen der von den zwei gepaarten Datenhaltevorrichtungen gehaltenen Daten, die sich nicht in der vorbestimmten Reihenfolge befinden.
3. Sortiervorrichtung nach Anspruch 1 oder 2, dadurch
gekennzeichnet, daß
die Sortierbeendigungserkennungsvorrichtung eine Vorrichtung (5) umfaßt, die auf die erste und zweite Vergleichsvorrichtung reagiert, zum Erkennen, daß die innerhalb der n Datenhaltevor richtungen gehaltenen n Daten sich in einer vorbestimmten Reihenfolge befinden.
die Sortierbeendigungserkennungsvorrichtung eine Vorrichtung (5) umfaßt, die auf die erste und zweite Vergleichsvorrichtung reagiert, zum Erkennen, daß die innerhalb der n Datenhaltevor richtungen gehaltenen n Daten sich in einer vorbestimmten Reihenfolge befinden.
4. Sortiervorrichtung nach einem der Ansprüche 1 bis 3, dadurch
gekennzeichnet, daß
die erste Vergleichsvorrichtung j erste Vergleichsschaltungen (31, 33, . . . ) umfaßt, die jeweils zwischen den zwei Datenhalte vorrichtungen verbunden sind, die von der ersten Paar-Auswahl vorrichtung gepaart sind, zum Vergleichen der zwei von den gepaarten zwei Datenhaltevorrichtungen gehaltenen Daten, die zweiten Vergleichsvorrichtungen k zweite Vergleichsschal tungen (32, 34, . . . ) umfassen, die jeweils zwischen den von der zweiten Paar-Auswahlvorrichtung gepaarten zwei Datenhaltevor richtungen verbunden sind, zum Vergleichen der zwei in den zwei gepaarten Datenhaltevorrichtungen gehaltenen Daten, und die Sortierbeendigungserkennungsvorrichtung auf Ausgabesignale reagiert, die von den j ersten Vergleichsschaltungen und den k Vergleichsschaltungen ausgegeben werden, zum Erkennen des voll ständigen Sortierens der n Daten.
die erste Vergleichsvorrichtung j erste Vergleichsschaltungen (31, 33, . . . ) umfaßt, die jeweils zwischen den zwei Datenhalte vorrichtungen verbunden sind, die von der ersten Paar-Auswahl vorrichtung gepaart sind, zum Vergleichen der zwei von den gepaarten zwei Datenhaltevorrichtungen gehaltenen Daten, die zweiten Vergleichsvorrichtungen k zweite Vergleichsschal tungen (32, 34, . . . ) umfassen, die jeweils zwischen den von der zweiten Paar-Auswahlvorrichtung gepaarten zwei Datenhaltevor richtungen verbunden sind, zum Vergleichen der zwei in den zwei gepaarten Datenhaltevorrichtungen gehaltenen Daten, und die Sortierbeendigungserkennungsvorrichtung auf Ausgabesignale reagiert, die von den j ersten Vergleichsschaltungen und den k Vergleichsschaltungen ausgegeben werden, zum Erkennen des voll ständigen Sortierens der n Daten.
5. Sortiervorrichtung nach Anspruch 4, dadurch gekennzeichnet,
daß
die Sortierbeendigungserkennungsvorrichtung eine erste Über einstimmungserkennungsvorrichtung (51) umfaßt, die mit Ausgängen der j ersten Vergleichsschaltungen verbunden ist, zum Erkennen einer Übereinstimmung der von den j ersten Vergleichs schaltungen ausgegebenen Ausgabesignalen,
eine zweite Übereinstimmungserkennungsvorrichtung (52) umfaßt, die mit Ausgängen der k zweiten Vergleichsschaltungen verbunden ist, zum Erkennen einer Übereinstimmung der von den k zweiten Vergleichsschaltungen ausgegebenen Ausgabesignale, und
dritte Übereinstimmungserkennungsvorrichtungen (55) umfaßt, die zum Empfangen von Ausgabesignalen der ersten und zweiten Über einstimmungserkennungsvorrichtungen verbunden ist, zum Erkennen einer Übereinstimmung der von der ersten und der zweiten Über einstimmungserkennungsvorrichtung ausgegebenen Ausgabesignale.
die Sortierbeendigungserkennungsvorrichtung eine erste Über einstimmungserkennungsvorrichtung (51) umfaßt, die mit Ausgängen der j ersten Vergleichsschaltungen verbunden ist, zum Erkennen einer Übereinstimmung der von den j ersten Vergleichs schaltungen ausgegebenen Ausgabesignalen,
eine zweite Übereinstimmungserkennungsvorrichtung (52) umfaßt, die mit Ausgängen der k zweiten Vergleichsschaltungen verbunden ist, zum Erkennen einer Übereinstimmung der von den k zweiten Vergleichsschaltungen ausgegebenen Ausgabesignale, und
dritte Übereinstimmungserkennungsvorrichtungen (55) umfaßt, die zum Empfangen von Ausgabesignalen der ersten und zweiten Über einstimmungserkennungsvorrichtungen verbunden ist, zum Erkennen einer Übereinstimmung der von der ersten und der zweiten Über einstimmungserkennungsvorrichtung ausgegebenen Ausgabesignale.
6. Sortiervorrichtung nach Anspruch 5, dadurch gekennzeichnet,
daß
die Sortierbeendigungserkennungsvorrichtung eine erste Verriegelungsvorrichtung (53) umfaßt, die mit einem Ausgang der ersten Übereinstimmungserkennungsvorrichtung ver bunden ist, zum Verriegeln eines von der ersten Übereinstim mungserkennungsvorrichtung ausgegebenen Ausgabesignales, und eine zweite Verriegelungsvorrichtung (54) umfaßt, die mit einem Ausgang der zweiten Übereinstimmungserkennungsvorrichtung ver bunden ist, zum Verriegeln eines von der zweiten Übereinstim mungserkennungsvorrichtung ausgegebenen Ausgabesignales, wobei die dritte Übereinstimmungserkennungsvorrichtung mit Ausgängen der ersten und zweiten Verriegelungsvorrichtung verbunden ist, zum Erkennen einer Übereinstimmung der in der ersten und zweiten Verriegelungsvorrichtung verriegelten Signale.
die Sortierbeendigungserkennungsvorrichtung eine erste Verriegelungsvorrichtung (53) umfaßt, die mit einem Ausgang der ersten Übereinstimmungserkennungsvorrichtung ver bunden ist, zum Verriegeln eines von der ersten Übereinstim mungserkennungsvorrichtung ausgegebenen Ausgabesignales, und eine zweite Verriegelungsvorrichtung (54) umfaßt, die mit einem Ausgang der zweiten Übereinstimmungserkennungsvorrichtung ver bunden ist, zum Verriegeln eines von der zweiten Übereinstim mungserkennungsvorrichtung ausgegebenen Ausgabesignales, wobei die dritte Übereinstimmungserkennungsvorrichtung mit Ausgängen der ersten und zweiten Verriegelungsvorrichtung verbunden ist, zum Erkennen einer Übereinstimmung der in der ersten und zweiten Verriegelungsvorrichtung verriegelten Signale.
7. Sortiervorrichtung nach einem der Ansprüche 1 bis 6, dadurch
gekennzeichnet, daß
die n Datenhaltevorrichtungen n Datenregisterschaltungen (21- 2n) zum Halten der n angelegten Daten umfassen.
die n Datenhaltevorrichtungen n Datenregisterschaltungen (21- 2n) zum Halten der n angelegten Daten umfassen.
8. Sortiervorrichtung nach einem der Ansprüche 1 bis 7, dadurch
gekennzeichnet, daß
die vorbestimmte Reihenfolge eine aufsteigende Reihenfolge oder eine absteigende Reihenfolge der n angelegten Daten umfaßt.
die vorbestimmte Reihenfolge eine aufsteigende Reihenfolge oder eine absteigende Reihenfolge der n angelegten Daten umfaßt.
9. Sortiervorrichtung nach Anspruch 1, wobei die n Daten jeweils
höherwertige Bitdaten und niederwertige Bitdaten umfassen,
die Datenhaltevorrichtungen als
Datenspeichervorrichtung (102) ausgebildet sind, die
Sortiervorrichtung als Sortiereinrichtung (107) zum Sortieren der angelegten
Daten in einer vorbestimmten Reihenfolge ausgebildet ist,
mit einer Anlegevorrichtung für höherwertige Bitdaten zum
Anlegen der jeweiligen höherwertigen Bitdaten der n Daten an
die Sortiereinrichtung,
wobei die Sortiereinrichtung das Sortieren bezüglich der ange legten n höherwertigen Bitdaten durchführt,
einer Datengruppenübereinstimmungserkennungsvorrichtung zum Erkennen einer übereinstimmenden Datengruppe mit übereinstimmenden Daten der höherwertigen Bitdaten, die durch die Sortiereinrichtung verarbeitet wurden,
einer niederwertigen Bitdatenanlegevorrichtung zum Anlegen von niederwertigen Bitdaten, die den höherwertigen Bitdaten in der übereinstimmenden Datengruppe entsprechen, an die Sortiereinrichtung,
wobei die Sortiereinrichtung das Sortieren bezüglich der ange legten niederwertigen Bitdaten durchführt, und
einer Reihenfolgebestimmungsvorrichtung zum Bestimmen der Reihenfolge der n Daten entsprechend dem Ergebnis der Verarbei tung, die von der Sortiereinrichtung bezüglich der höherwerti gen Bitdaten und der niederwertigen Bitdaten durchgeführt wurde.
wobei die Sortiereinrichtung das Sortieren bezüglich der ange legten n höherwertigen Bitdaten durchführt,
einer Datengruppenübereinstimmungserkennungsvorrichtung zum Erkennen einer übereinstimmenden Datengruppe mit übereinstimmenden Daten der höherwertigen Bitdaten, die durch die Sortiereinrichtung verarbeitet wurden,
einer niederwertigen Bitdatenanlegevorrichtung zum Anlegen von niederwertigen Bitdaten, die den höherwertigen Bitdaten in der übereinstimmenden Datengruppe entsprechen, an die Sortiereinrichtung,
wobei die Sortiereinrichtung das Sortieren bezüglich der ange legten niederwertigen Bitdaten durchführt, und
einer Reihenfolgebestimmungsvorrichtung zum Bestimmen der Reihenfolge der n Daten entsprechend dem Ergebnis der Verarbei tung, die von der Sortiereinrichtung bezüglich der höherwerti gen Bitdaten und der niederwertigen Bitdaten durchgeführt wurde.
10. Sortiervorrichtung nach Anspruch 9, dadurch gekenn
zeichnet, daß
die Sortiereinrichtung
n Adreßhaltevorrichtungen (221-22n) umfaßt, zum Halten von den angelegten n Daten entsprechenden Adressen,
eine erste Adreßaustauschvorrichtung (231, 233, . . . ) umfaßt, die auf die erste Vergleichsvorrichtung reagiert, zum Austauschen der gehaltenen Adressen zwischen den entsprechenden zwei Adreßhaltevorrichtungen der n Adreßhaltevorrichtungen für jedes durch die erste Paar Auswahlvorrichtung ausgewählte Paar und
eine zweite Adreßaustauschvorrichtung (232, 234, . . . ) umfaßt, die auf die zweite Vergleichsvorrichtung reagiert, zum Austau schen der gehaltenen Adressen zwischen den entsprechenden zwei Adreßhaltevorrichtungen für jedes durch das zweite Paar Auswahlvorrichtung ausgewählte Paar, und die Reihenfolgebestimmungsvorrichtung eine sequentielle Datenbereitstellungsvorrichtung umfaßt, zum sequentiellen Bereitstellen von n Daten, die in der Datenspeichervorrichtung gespeichert sind, entsprechend den in den n Adreßhaltevorrich tungen in der Sortiereinrichtung gehaltenen Adressen.
die Sortiereinrichtung
n Adreßhaltevorrichtungen (221-22n) umfaßt, zum Halten von den angelegten n Daten entsprechenden Adressen,
eine erste Adreßaustauschvorrichtung (231, 233, . . . ) umfaßt, die auf die erste Vergleichsvorrichtung reagiert, zum Austauschen der gehaltenen Adressen zwischen den entsprechenden zwei Adreßhaltevorrichtungen der n Adreßhaltevorrichtungen für jedes durch die erste Paar Auswahlvorrichtung ausgewählte Paar und
eine zweite Adreßaustauschvorrichtung (232, 234, . . . ) umfaßt, die auf die zweite Vergleichsvorrichtung reagiert, zum Austau schen der gehaltenen Adressen zwischen den entsprechenden zwei Adreßhaltevorrichtungen für jedes durch das zweite Paar Auswahlvorrichtung ausgewählte Paar, und die Reihenfolgebestimmungsvorrichtung eine sequentielle Datenbereitstellungsvorrichtung umfaßt, zum sequentiellen Bereitstellen von n Daten, die in der Datenspeichervorrichtung gespeichert sind, entsprechend den in den n Adreßhaltevorrich tungen in der Sortiereinrichtung gehaltenen Adressen.
11. Sortiervorrichtung nach Anspruch 1, wobei die n angelegten Daten
zusammen mit den jeweiligen Daten entsprechenden Adressen in
einer vorbestimmten Reihenfolge sortiert werden, mit
n Adreßhaltevorrichtungen (121-12n) zum Halten der den betref fenden n Daten entsprechenden Adressen,
einer ersten Adreßaustauschvorrichtung (131, 133, . . .), die auf die erste Vergleichsvorrichtung reagiert, zum Austauschen der in den zwei Adreßhaltevorrichtungen gehaltenen Adressen aus den n Adreßhaltevorrichtungen für jedes durch die erste Paar-Aus wahlvorrichtung ausgewählte Paar, und
einer zweiten Adreßaustauschvorrichtung (132, 134, . . . ), die auf die zweite Vergleichsvorrichtung reagiert, zum Austauschen der in den zwei entsprechenden Adreßhaltevorrichtungen gehalte nen Adressen, für jedes durch die zweite Paar-Auswahlvorrich tung ausgewählte Paar.
n Adreßhaltevorrichtungen (121-12n) zum Halten der den betref fenden n Daten entsprechenden Adressen,
einer ersten Adreßaustauschvorrichtung (131, 133, . . .), die auf die erste Vergleichsvorrichtung reagiert, zum Austauschen der in den zwei Adreßhaltevorrichtungen gehaltenen Adressen aus den n Adreßhaltevorrichtungen für jedes durch die erste Paar-Aus wahlvorrichtung ausgewählte Paar, und
einer zweiten Adreßaustauschvorrichtung (132, 134, . . . ), die auf die zweite Vergleichsvorrichtung reagiert, zum Austauschen der in den zwei entsprechenden Adreßhaltevorrichtungen gehalte nen Adressen, für jedes durch die zweite Paar-Auswahlvorrich tung ausgewählte Paar.
12. Verwendung der Sortiervorrichtung nach Anspruch 1 in einem Sortierprozessor,
wobei die Sortiervorrichtung als Sortiereinrichtung (105) zum Sortieren von n angelegten
Daten in einer vorbestimmten Reihenfolge ausgebildet ist, mit
einer Datenaufteilungsvorrichtung zum Aufteilen aller zu
sortierenden Daten in L Datengruppen, wobei jede Gruppe n oder
weniger Daten umfaßt,
einer Datenanlegevorrichtung zum Anlegen der durch die Datenaufteilungsvorrichtung aufgeteilten Daten an die Sortiereinrichtung in Einheiten von Datengruppen, wobei die Sortiereinrichtung die angelegten Daten in Einheiten von Datengruppen bezogen auf die L Datengruppen sortiert,
einer Datenextrahiervorrichtung zum Extrahieren optimaler Daten in der vorbestimmten Reihenfolge aus jeder der L Datengruppen, die von der Sortiereinrichtung sortiert wurden,
und einer Minimum-Maximum-Datenbestimmungseinrichtung zum Bestimmen von minimalen oder maximalen Daten aus den von der Datenextrahiervorrichtung extrahierten Daten.
einer Datenanlegevorrichtung zum Anlegen der durch die Datenaufteilungsvorrichtung aufgeteilten Daten an die Sortiereinrichtung in Einheiten von Datengruppen, wobei die Sortiereinrichtung die angelegten Daten in Einheiten von Datengruppen bezogen auf die L Datengruppen sortiert,
einer Datenextrahiervorrichtung zum Extrahieren optimaler Daten in der vorbestimmten Reihenfolge aus jeder der L Datengruppen, die von der Sortiereinrichtung sortiert wurden,
und einer Minimum-Maximum-Datenbestimmungseinrichtung zum Bestimmen von minimalen oder maximalen Daten aus den von der Datenextrahiervorrichtung extrahierten Daten.
13. Verwendung nach Anspruch 12, dadurch
gekennzeichnet, daß
die Minimum-Maximum-Datenbestimmungsvorrichtung eine zweite Datenanlegevorrichtung umfaßt, zum Anlegen der durch die erste Datenextrahiervorrichtung extrahierten Daten an die Datenhaltevorrichtung innerhalb der Sortiereinrichtung, wobei die Sortiereinrichtung die extrahierten Daten in der vorbestimmten Reihenfolge sortiert, und
eine zweite Datenextrahiervorrichtung umfaßt, zum Extrahieren von minimalen oder maximalen Daten aus den durch die Sortiereinrichtung sortierten Daten.
die Minimum-Maximum-Datenbestimmungsvorrichtung eine zweite Datenanlegevorrichtung umfaßt, zum Anlegen der durch die erste Datenextrahiervorrichtung extrahierten Daten an die Datenhaltevorrichtung innerhalb der Sortiereinrichtung, wobei die Sortiereinrichtung die extrahierten Daten in der vorbestimmten Reihenfolge sortiert, und
eine zweite Datenextrahiervorrichtung umfaßt, zum Extrahieren von minimalen oder maximalen Daten aus den durch die Sortiereinrichtung sortierten Daten.
14. Verwendung nach Anspruch 13, dadurch gekennzeichnet,
daß
die Minimum-Maximum-Datenbestimmungseinrichtung eine Ergänzungseinrichtung umfaßt, zum neuen Extrahieren von minimalen oder maximalen Daten, folgend auf das Extrahieren von Daten durch die zweite Datenextrahier vorrichtung, aus einer Datengruppe, zu der die extrahierten Daten gehören,
und zum Ergänzen der Datenhaltevorrichtung in der Sortiervor richtung mit den neu extrahierten Daten,
und eine Wiederholungsvorrichtung umfaßt, zum Wiederholen der durch die Sortiereinrichtung, der zweiten Datenextrahiervor richtung und der Ergänzungsvorrichtung durchgeführten Opera tionen.
die Minimum-Maximum-Datenbestimmungseinrichtung eine Ergänzungseinrichtung umfaßt, zum neuen Extrahieren von minimalen oder maximalen Daten, folgend auf das Extrahieren von Daten durch die zweite Datenextrahier vorrichtung, aus einer Datengruppe, zu der die extrahierten Daten gehören,
und zum Ergänzen der Datenhaltevorrichtung in der Sortiervor richtung mit den neu extrahierten Daten,
und eine Wiederholungsvorrichtung umfaßt, zum Wiederholen der durch die Sortiereinrichtung, der zweiten Datenextrahiervor richtung und der Ergänzungsvorrichtung durchgeführten Opera tionen.
15. Verwendung nach Anspruch 14, dadurch gekennzeich
net, daß
die zweite Datenanlegevorrichtung die durch die erste Datenex trahiervorrichtung extrahierten Daten an die Datenhaltevor richtung in der Sortiervorrichtung anlegt,
die zweite Datenextrahiervorrichtung minimalen oder maximalen Daten aus einer der n Datenhaltevorrichtungen extrahiert, und
die Ergänzungsvorrichtung minimalen oder maximalen Daten neu extrahiert, folgend auf das Extrahieren von Daten durch die zweite Datenextrahierungsvorrichtung, aus der Datengruppe, zu der die extrahierten Daten gehören, und zum Ergänzen der einen der n Datenhaltevorrichtungen in der Sor tiervorrichtung mit den neu extrahierten Daten.
die zweite Datenanlegevorrichtung die durch die erste Datenex trahiervorrichtung extrahierten Daten an die Datenhaltevor richtung in der Sortiervorrichtung anlegt,
die zweite Datenextrahiervorrichtung minimalen oder maximalen Daten aus einer der n Datenhaltevorrichtungen extrahiert, und
die Ergänzungsvorrichtung minimalen oder maximalen Daten neu extrahiert, folgend auf das Extrahieren von Daten durch die zweite Datenextrahierungsvorrichtung, aus der Datengruppe, zu der die extrahierten Daten gehören, und zum Ergänzen der einen der n Datenhaltevorrichtungen in der Sor tiervorrichtung mit den neu extrahierten Daten.
16. Sortierverfahren zum Sortieren von n Daten, die in n Datenhaltevorrichtungen (21-2n)
gehalten werden, in eine vorbestimmte
Reihenfolge, mit den Schritten
- (72) Auswählen einer Gruppe von ersten Paaren, wobei jedes Paar zwei vorbestimmte, benachbarte Datenhaltevorrichtungen aus den n Datenhaltevorrichtungen umfaßt,
- (73) Vergleichen zweier in den gepaarten zwei Datenhaltevor richtungen gehaltenen Daten für jedes im ersten Paar-Auswahl schritt ausgewählte Paar, zum Erhalten eines ersten Vergleichs ergebnisses,
- (75) Austauschen der in den gepaarten zwei Datenhaltevorrich tungen gehaltenen Daten, für jedes im ersten Paar-Auswahl schritt ausgewählte Paar in Abhängigkeit vom ersten Ver gleichsergebnis,
- (77) Auswählen einer Gruppe von zweiten Paaren, wobei jedes Paar zwei bestimmte andere benachbarte Datenhaltevorrich tungen aus den n Datenhaltevorrichtungen umfaßt, die nicht im ersten Paar-Auswahlschritt ausgewählt sind,
- (78) Vergleichen der zwei in den gepaarten zwei Datenhaltevor richtungen gehaltenen Daten für jedes im zweiten Paar-Auswahl schritt ausgewählte Paar, zum Erhalten eines zweiten Vergleichsergebnisses,
- (80) Austauschen der in den gepaarten zwei Datenhaltevor richtungen gehaltenen Daten für jedes im zweiten Paar-Auswahl schritt ausgewählte Paar, in Abhängigkeit vom zweiten Vergleichsergebnis, und
- (82) Erkennen des Sortierendes der n Daten als Re aktion auf das erste und das zweite Vergleichsergebnis.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7180191 | 1991-04-04 | ||
| JP31947091A JP3152466B2 (ja) | 1991-04-04 | 1991-12-04 | ソーティング装置およびソーティング方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE4210109A1 DE4210109A1 (de) | 1992-10-08 |
| DE4210109C2 true DE4210109C2 (de) | 1994-09-01 |
Family
ID=26412901
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE4210109A Expired - Fee Related DE4210109C2 (de) | 1991-04-04 | 1992-03-27 | Sortiervorrichtung zum Sortieren von Daten und Sortierverfahren |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US5511189A (de) |
| JP (1) | JP3152466B2 (de) |
| DE (1) | DE4210109C2 (de) |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3352786B2 (ja) * | 1993-11-01 | 2002-12-03 | 三菱電機株式会社 | プロセッサ回路 |
| CN1092362C (zh) * | 1998-02-10 | 2002-10-09 | 北京多思科技工业园股份有限公司 | 阵列错位比较装置及用来实现查询的方法 |
| US6446101B1 (en) | 1998-09-01 | 2002-09-03 | Siemens Aktiengesellschaft | Apparatus for fast determination of a prescribable number of highest value signals |
| JP2004138091A (ja) | 2002-10-15 | 2004-05-13 | Nok Corp | 往復動シール |
| JP5445469B2 (ja) * | 2009-01-13 | 2014-03-19 | 日本電気株式会社 | Simd型並列データ処理装置及びデータソート方法並びにプロセッシングエレメント |
| EP2236744A3 (de) * | 2009-03-30 | 2013-09-18 | Services Pétroliers Schlumberger | Digitale Signale verarbeitende Empfänger, Systeme und Verfahren zur Identifizierung dekodierter Signale |
| TW201115459A (en) * | 2009-10-21 | 2011-05-01 | Etron Technology Inc | Data processing circuit |
| US10523596B1 (en) * | 2015-02-06 | 2019-12-31 | Xilinx, Inc. | Circuits for and methods of merging streams of data to generate sorted output data |
| WO2019170961A1 (en) * | 2018-03-05 | 2019-09-12 | University Of Helsinki | Device, system and method for parallel data sorting |
| GB2576793B (en) * | 2018-10-31 | 2021-06-30 | Imagination Tech Ltd | Selecting an ith largest or a pth smallest number from a set of n m-bit numbers |
| CN115599541A (zh) * | 2021-02-25 | 2023-01-13 | 华为技术有限公司(Cn) | 一种排序装置及方法 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE2342660A1 (de) * | 1973-08-23 | 1975-03-06 | Siemens Ag | Verfahren und anordnung zum sortieren von daten |
| DE3344141T1 (de) * | 1982-05-06 | 1984-05-30 | Western Electric Co., Inc., New York, N.Y. | Sortiervorrichtung |
| JPS612211B2 (de) * | 1979-01-08 | 1986-01-23 | Mitsubishi Electric Corp |
Family Cites Families (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4210961B1 (en) * | 1971-10-08 | 1996-10-01 | Syncsort Inc | Sorting system |
| US4078260A (en) * | 1976-05-12 | 1978-03-07 | International Business Machines Corporation | Apparatus for transposition sorting of equal length records in overlap relation with record loading and extraction |
| JPS5965352A (ja) * | 1982-10-05 | 1984-04-13 | Mitsubishi Electric Corp | ソ−ト装置 |
| US4520456A (en) * | 1983-02-18 | 1985-05-28 | International Business Machines Corporation | Dual reciprocating pipelined sorter |
| US4567572A (en) * | 1983-02-22 | 1986-01-28 | The United States Of America As Represented By The Director Of The National Security Agency | Fast parallel sorting processor |
| US4809158A (en) * | 1985-10-23 | 1989-02-28 | Mccauley Peter B | Sorting method and apparatus |
| JPS62271014A (ja) * | 1986-05-19 | 1987-11-25 | Fujitsu Ltd | ソ−テイング装置 |
| JPH0797310B2 (ja) * | 1987-03-19 | 1995-10-18 | 日本電信電話株式会社 | ソ−ト処理装置 |
| JPH01103785A (ja) * | 1987-07-16 | 1989-04-20 | Namuko:Kk | ソーティング回路 |
| JPH07101382B2 (ja) * | 1987-07-30 | 1995-11-01 | 日本電信電話株式会社 | マ−ジ処理装置 |
| JPH01177122A (ja) * | 1988-01-07 | 1989-07-13 | Hitachi Ltd | ソート処理装置 |
| US5247688A (en) * | 1988-10-14 | 1993-09-21 | Ricoh Company, Ltd. | Character recognition sorting apparatus having comparators for simultaneous comparison of data and corresponding key against respective multistage shift arrays |
| US5179717A (en) * | 1988-11-16 | 1993-01-12 | Manco, Ltd. | Sorting circuit using first and last buffer memories addressed by reference axis data and chain buffer memory addressed by datum number of the first and last buffer memories |
| JPH02178730A (ja) * | 1988-12-28 | 1990-07-11 | Toshiba Corp | 分割法を用いた内部ソート方式 |
| JPH031227A (ja) * | 1989-05-29 | 1991-01-07 | Nippon Telegr & Teleph Corp <Ntt> | ソート処理装置 |
| US5111465A (en) * | 1989-06-30 | 1992-05-05 | Digital Equipment Corporation | Data integrity features for a sort accelerator |
| US5218700A (en) * | 1990-01-30 | 1993-06-08 | Allen Beechick | Apparatus and method for sorting a list of items |
-
1991
- 1991-12-04 JP JP31947091A patent/JP3152466B2/ja not_active Expired - Fee Related
-
1992
- 1992-03-27 DE DE4210109A patent/DE4210109C2/de not_active Expired - Fee Related
-
1994
- 1994-09-22 US US08/310,745 patent/US5511189A/en not_active Expired - Fee Related
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE2342660A1 (de) * | 1973-08-23 | 1975-03-06 | Siemens Ag | Verfahren und anordnung zum sortieren von daten |
| JPS612211B2 (de) * | 1979-01-08 | 1986-01-23 | Mitsubishi Electric Corp | |
| DE3344141T1 (de) * | 1982-05-06 | 1984-05-30 | Western Electric Co., Inc., New York, N.Y. | Sortiervorrichtung |
Non-Patent Citations (2)
| Title |
|---|
| "Fast Sort of Ordered, or Partially Ordered, Data"IBM Technical Disclosure Bulletin, S.248/249 Vol.32, No.1, June 1989 * |
| D.T. LEE etal "An On-Ship Compare/Steer Bubble Sorter" IEEE Trans. on Comp., Vol. C-30, No.6, June 1981 * |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH056261A (ja) | 1993-01-14 |
| DE4210109A1 (de) | 1992-10-08 |
| US5511189A (en) | 1996-04-23 |
| JP3152466B2 (ja) | 2001-04-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE3587137T2 (de) | Inhaltsadressierbarer speicher. | |
| DE3750492T2 (de) | Datenbanksystem für Parallelprozessor. | |
| DE3545125C2 (de) | ||
| DE3801380C2 (de) | ||
| DE2554442C2 (de) | Vorrichtung zum Vergleich logischer Größen mit einer Gruppe logischer Bezugsgrößen | |
| DE68928213T2 (de) | Inhaltadressierte Speicherzellenanordnung | |
| DE60035171T2 (de) | Verfahren und Schaltungen zum schnellen Auffinden des minimalen / maximalen Wertes in einer Menge von Zahlen | |
| DE69218941T2 (de) | Neuronale netzwerk architektur | |
| DE3882772T2 (de) | Vektorprozessor angepasst zum Sortieren von Vektordaten. | |
| DE3832440C2 (de) | ||
| DE2712575C2 (de) | Assoziatives Speichersystem in hochintegrierter Halbleitertechnik | |
| DE2725395B2 (de) | Einrichtung zur Echtzeittransformation von m in Zeilen angeordneten Wörtern der Bitlänge n in n in Spalten angeordnete Wörter der Bitlänge n | |
| DE2725396C3 (de) | ||
| DE4210109C2 (de) | Sortiervorrichtung zum Sortieren von Daten und Sortierverfahren | |
| DE3588212T2 (de) | Verfahren und Gerät zum Suchen von Daten | |
| DE4206286A1 (de) | Speicherzugriffssystem | |
| DE2730328B2 (de) | Schaltungsanordnung zur Feststellung des bestübereinstimmenden Datenworts von in einem Datenwort-Speicher gespeicherten Datenworten mit einem Suchwort | |
| DE68927625T2 (de) | Folgenkollationierungssystem zum Suchen nach einer Charakterfolge willkürlicher Länge innerhalb eines gegebenen Abstands einer Referenzfolge | |
| DE3872188T2 (de) | Binaerer vergleicher und sortierwerk fuer binaerzahlen. | |
| DE2357654C2 (de) | Assoziativspeicher | |
| DE3789471T2 (de) | Mikrocomputer. | |
| DE68926131T2 (de) | Steuerdatengenerator für Sortierprozessor | |
| DE69729818T2 (de) | Sortier- und Mischprozessor und Sortier- und Mischprozessanlage | |
| DE69227144T2 (de) | Programmierbare logische Einheit | |
| DE2121490A1 (de) | Orthogonaler Datenspeicher |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| OP8 | Request for examination as to paragraph 44 patent law | ||
| D2 | Grant after examination | ||
| 8364 | No opposition during term of opposition | ||
| 8320 | Willingness to grant licences declared (paragraph 23) | ||
| 8328 | Change in the person/name/address of the agent |
Representative=s name: PRUFER & PARTNER GBR, 81545 MUENCHEN |
|
| 8339 | Ceased/non-payment of the annual fee |