DE3344141T1 - Sortiervorrichtung - Google Patents
SortiervorrichtungInfo
- Publication number
- DE3344141T1 DE3344141T1 DE19833344141 DE3344141T DE3344141T1 DE 3344141 T1 DE3344141 T1 DE 3344141T1 DE 19833344141 DE19833344141 DE 19833344141 DE 3344141 T DE3344141 T DE 3344141T DE 3344141 T1 DE3344141 T1 DE 3344141T1
- Authority
- DE
- Germany
- Prior art keywords
- elements
- sorting
- module
- value
- key
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
- G06F7/78—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99937—Sorting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Sorting Of Articles (AREA)
- Time-Division Multiplex Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
Die Erfindung betrifft eine Vorrichtung zur Neueinordnung
von Elementen in eine gewünschte Folge mit wenigstens einem Sortiermodyl zur Aufnahme von sequentiell zugeführten Elementen und mit einer Vergleichsschaltung
in jedem Modul, die normalerweise eine Reihenfolge für die Ausgabe der Elemente durch
Vergleichen der Werte von Elementpaaren bestimmt.
Da "scheinbar jeder wichtige Aspekt der Programmierung irgendwo im Zusammenhang mit dem Sortieren oder Suchen
auftritt" (D.E. Knuth, The Art of Computer Programming,
Band III, Addison-Wesley; 1973), ist dieser Gegenstand
sowohl von Wissenschaftlern auf dem Gebiet der Datenverarbeitung als auch von Konstrukteuren elektronischer
Anlagen in großem Umfang studiert worden und. es sind zahlreiche Verfahren einschließlich einer
Auswahlsortierung, einer Häufensortieruhg, einer Einfügungssortierung
und einer Verschmelzungssortierung in der Literatur beschrieben. Ein weiteres Verfahren,
das "Blasensortierung" ("Bubble Sorting") genannt wird, ist ebenfalls sehr populär. Selbst dieses Verfahren
ist jedoch unter mehreren Namen bekanntgeworden. Dazu gehören "Auswechselsortieren", "Austauschsortieren"
und "Sinksortieren". Trotz dieser Vielzahl von Namen besteht generelle Einstimmung darüber, daß das
Wesen der Blasensortierung der Austausch von zwei benachbarten Elementen in der Gruppe ist, die sortiert
wird. Während jedes Austausches werden die Werte der Elemente verglichen und die Elemente, falls nötig, neu
geordnet, so daß sie in eine vorbestimmte Beziehung gebracht werden, beispielsweise mit dem kleinsten oder
dem größten Element zuerst. Die Austauschvorgängen werden
in typischer Weise sequentiell durchgeführt, und zwar im allgemeinen durch ein wiederholtes Abtasten
oder Durchgehen aller Elemente in der Gruppe, bis keine
weiteren Austauschvorgänge erfolgen. Dann ist die ■ gesamte Gruppe nach Wunsch sortiert worden. Viele der
Blasensortierverfahren werden durch Programme verwirklicht (yergl. beispielsweise Popular Computing, Band 8 ,
Nr. 11, November 1980, "Bubble Sorting", Seiten 2 bis
10) und müssen demgemäß im wesentlichen auf eine Serie
von sequentiellen Operationen beschränkt werden, da die meisten Allzweckrechner nur einen Prozessor enthalten.
Zur Überwindung von sich daraus ergebenden Beschränkungen hinsichtlich der Verarbeitungsgeschwindigkeit
sind zahlreiche Bauteilverwirklichungen für das Blasensortieren entwickelt worden, und zwar unter Verwendung
üblicher integrierter Schaltungen und von Magnetblasen-Vorrichtungen. Ein Beispiel für die letztgenannte
Verwirklichung ist beschrieben in einem Aufsatz von D.T. Lee et al "An On-Chip Compare/Steer
Bubble Sorter", IEEE Trans, on Computers, Band C-30, Nr. 6, Juni 1981, Seiten 396 bis 405 (vergl. insbesondere
Figur 6), während eine Verwirklichung mit integrierten Schaltungen beschrieben ist in einem Aufsatz.von
P.G. Jansen et al "The DIMOND: A Component for
the Modulator Construction of Switching Networks", IEEE Trans, on Computers, Band C-29, Nr. 10, Oktober
1980, Seiten 884 bis 889 (vergl. insbesondere Figur 8).
Der Wirkungsgrad aller bekannten Blasensortieranordnungen muß anhand einer großen Zahl von Faktoren gemessen
werden, beispielsweise des möglichen Durchsatzes und der Latenz sowie der erforderlichen Speichergröße.
Die bekannten Vorrichtungen sind hinsichtlich der An- . zahl der in jeder Gruppe sortierbaren Elemente beschränkt
und die Konstruktion eignet sich nicht für eine modulare Herstellung unter Verwendung von Großinte-
grationstechnologien. Viele der bekannten Sortieranordnungen, die eine verbesserte Güte hinsichtlich einiger der oben beschriebenen Kriterien besitzen, sind
aber aufwendig oder schwierig zu verwirklichen gewesen.
-* Zusammenfassung der Erfindung
Zur Lösung der sich aus den erläuterten Problemen ergebenden
Aufgabe geht die Erfindung aus von einer Einrichtung der eingangs genannten Art und ist dadurch gekennzeichnet,
daß das Modul eine Detektorschaltung aüfweist, die feststellt, ob eines der sequentiell zugeführten Elemente in dem Paar ein besonderes Distanzelement
ist, und ferner eine erste Schaltung, die bei Feststellen des besonderen Distanzelementes das Paar
von Elementen einschließlich des Distanzelementes in .
der gleichen Reihenfolge ausgibt, in der das Paar von Elementen von dem Modul aufgenommen worden ist
Entsprechend der Erfindung ist eine Kette identischer
Sortiermodule vorgesehen, die alle gleichzeitig getaktet werden.können. Die zu sortierenden Elemente
' treten in Gruppen auf, wobei jedes Element in typischer Weise einen Wert besitzt, der die Reihenfolge bestimmt,
in welcher dieses Element mit Bezug auf andere Elemente in der Gruppe anzuordnen ist. Bei jedem Taktimpuls wird
ein Element in das erste Modul eingegeben, und jedes Modul, das zwei Elemente enthält, vergleicht den Wert
der Elemente und überträgt abhängig von der Art der ge-· wünschten Sortierung eines der beiden Elemente zum
nächsten Modul. Die Elemente können numerisch, alphabetisch oder entsprechend irgendeiner anderen vorbestimm-
ten Beziehung sortiert werden. Das nicht weitergegebene Element wird festgehalten und beim nächsten Vergleich
benutzt.
3344 H
Entsprechend der vorliegenden Erfindung ist jedes Modul so ausgelegt, daß es ein besonderes "Distanz"-Element
erkennt, das einer Gruppe von zu sortierenden Elementen vorausgeht oder eine Gruppe von Elementen
von der nächsten trennt. Wenn ein Distanzelement von einem Sortiermodul aufgenommen wird, so werden das
Distanzelement und das andere, im Modul enthaltene Element (bei den nächsten beiden Taktimpulsen) in der
gleichen Reihenfolge ausgegeben, in der sie aufgenommen
worden sind. Dadurch kann eine Kette von N Sortiermodulen, die entsprechend der obigen Beschreibung ausgelegt sind, auf wirksame Weise Gruppen von bis zu N
Elementen sortieren, solange die Elemente in jeder Gruppe durch ein Distanzelement abgetrennt sind. Im Ergebnis
wird der Durchsatz erhöht und die Anordnung ist
flexibler als eine konventionelle Blasensortiereinrichtung.
Ein ähnliches System kann zur Sortierung von Aufzeichnungen verwendet werden, die Daten und einen zugeordneten
Schlüssel enthalten. Dabei werden die Schlüssel in die Sortiermodule eingegeben, während die entsprechenden
Daten mittels einer Folge von Slave-Modulen (abhängigen
Modulen) neu geordnet werden.
Das mit der vorliegenden Erfindung ermöglichte wirksame
Sortieren kann auch zur Durchführung von Permutationen benutzt werden, indem die Aufzeichnungschlüssel
auf eine gewünschte Weise neu bezeichnet oder manipuliert werden. Beispielsweise kann die Reihenfolge
einer Anzahl von Elementen zeitlich umgekehrt werden, indem den Elementen Schlüssel in absteigender Reihenfolge
zugeordnet werden. Ein Sortieren dieser Aufzeichnungen in ansteigender Schlüsselreih.enfolge führt
dann zu Elementen in umgekehrter Zeitfolge.
Eine besondere Anwendung ist der Austausch von Zeit-
lagen in einem Zeitmultiplexsignal. Beispielsweise läßt sich jede Zeitlage in einem Zeitmultiplexsignal
als Datenteil einer Aufzeichnung ansehen. Durch Zuordnen eines, Schlüssels zu den Daten in jeder Zeitlage
kann die Reihenfolge der Zeitlagen auf bequeme Weise ausgetauscht oder gewechselt werden, indem einfach die
Aufzeichnungen unter Anwendung des Sortiersystems nach
der vorliegenden Erfindung verarbeitet werden.
Nachfolgend wird die Erfindung anhand der Zeichnungen
beschrieben. Es zeigen: ■
Fig. 1 bis 3 wie eine Folge von Elementen unter Verwendung einer bekannten Blasensortiertechnik
sortiert wird; .
Fig. 4 bis 6 wie zwei Gruppen von Elementen unter Verwendung einer Blasensortierung nach der
vorliegenden Erfindung verarbeitet werden;
Fig. 7 und 8 Blockschaltbilder unterschiedlicher Ausführungsbeispiele von Modulen, die zur
Sortierung von Aufzeichnungen ausgelegt
und entsprechend der vorliegenden Erfindung
konstruiert sind;
Fig. 9 eine alternative Anordnung zur Durchführung der Distanz-Detektorfunktion im Sortiermodul
gemäß Fig. 8;
Fig.10 das Blockschaltbild eines bekannten Zeitlagenwechslers
; ■■.....-■-
Fig.11 die Verwendung einer Kette von Aufzeichnungssortiermodulen, beispielsweise denen
entsprechend Fig. 7 oder 8, zum Wechseln von Zeitlagen eines Zeitmultiplex-(TDM) -
Signals ;
Fig.12 die Verwendung einer Kette von Aufzeichnungssortiermodulen des in Fig. 7 oder 8
gezeigten Typs zur Neuordnung freier Zeitlagen in einem TDM-Signal.
ins einzelne gehende Beschreibung
Figur 1 bis 3 zeigen grafisch die Anfangszyklen, mittleren
Zyklen bzw. Endzyklen einer konventionellen BIasensortieroperation.
In allen drei Figuren werden die gleichen Bezugszeichen für die gleichen Bauteile benutzt.
Entsprechend Figur 1 wird angenommen, daß eine Folge von zehn Elementen mit den numerischen Werten 8,
Ο, 1, 9, 7, 5, 3, 6, 4 und 8 zu sortieren ist und daß die Elemente zum■Zeitpunkt t = O in ein Schieberegister
101 mit zehn Positionen und den individuellen Speicherstellen 101-1 bis 101-10 eingegeben worden sind. Bei
jedem nachfolgenden Taktimpuls φ auf der Leitung 102
wird der Inhalt des Registers 101 um eine Position nach rechts geschoben und das dann in der Speicherstel-Ie
101-1 befindliche Element an den Eingang einer Kette 111 von zehn Sortiermodulen 111-1 bis 111-10 angelegt.
Jedes Sortiermodul ist so ausgelegt, daß es zwei zugeführte
Elemente in Speicherzellen aufnimmt, die grafisch als ober und untere Hälfte dargestellt sind, und die
Werte der gespeicherten Elemente zur Auswahl eines Elements
abhängig vom Typ der gewünschten Sortierung vergleicht
. Im folgenden Beispiel soll eine Anordnung zur Lieferung einer Reihenfolge vom kleinsten zum größten
Wert beschrieben werden. Jeder Modul gibt sein gewähltes Element an den Ausgang, der mit dem nächsten Sortiermodul
verbunden ist oder zu einer Verbrauchereinrichtung im Falle des letzten Moduls führt. Gleichzeitig
nimmt jeder Modul an seinem Eingang ein nächstes Element
vom vorhergehenden Modul oder im Fall des ersten Moduls
vom Register 101 auf. In typischer Weise arbeiten die Module unter Steuerung von Taktimpulsen φ von einer
Taktguelle (nicht gezeigt) synchron. Pas Ausgangssignal des letzten Moduls 111-10 wird einer Verbrauchereinrichtung
zugeführt, beispielsweise einem Register 121, das (wie das Register IOD zehn Speicherstellen
121-1 bis 121-10 enthält und durch Impulse φ auf der
Leitung 102 getaktet wird. ,
Entsprechend der Darstellung in Fig. 1 werden alle Sortiermodule 111-1 bis 111-10 zum Zeitpunkt t = 0
initialisiert, und jeder Modul enthält zwei Elemente mit "sehr kleinem" Wert, die durch den Buchstaben "s"
symbolisiert sind. Definitionsgemäß ist der Wert s kleiner als jeder erwartete Wert in der Gruppe von zu
sortierenden Elementen. Eine Initialisierung kann adf mehrere Arten erfolgen und ist aus noch zu beschreibenden Gründen bei bekannten Anordnungen nötig. Zum
Zeitpunkt t = 1 nach Auftreten eines Taktimpulses φ
ist der Inhalt des Registers 101 um eine Position nach rechts geschoben, und das Element mit dem Wert 8 aus
der Speicherstelle 101-1 ist jetzt im Sortiermodul 111-1 gespeichert. Da alle Module 111-1 bis 111-10 zu Anfang
vor.dem Auftreten des ersten Taktimpulses Elemente mit
dem gleichen Wert s enthalten haben, ist der Inhalt einer Speicherstelle (grafisch die obere Hälfte) in
jedem Modul verschoben worden, und das aus der Speicherstelle 101-1 aufgenommene Element mit dem Wert 8 füllt
am Ende des ersten Taktzyklus die leere Speicherstelle
im Modul 111-1. Das Element mit dem Wert s am Ausgang des letzten Sortiermoduls 111-10 muß weggeworfen werden,
da es keine weitere sinnvolle Funktion hat.
Nach dem Auftreten des nächsten Taktimpulses (t =2) ist der Inhalt des Registers 101 erneut nach rechts
verschoben worden und das Element mit dem Wert 0 aus der Speicherstelle 101-1 ist in das Sortiermodul 111-1
eingegeben worden. Da das Modul 111-1 gleichzeitig die
. Werte 8 und s für die im Augenblick in ihren beiden
Speiqherstellen gespeicherten Elemente vergleicht und das Element mit dem Wert s zum Modul 111-2 weitergibt,
wird das Element mit dem Wert 0 in die gerade freigemachte
Speicherstelle (untere Hälfte) des Moduls 111-1
eingegeben. Die übrigen Module arbeiten auf ähnliche
Weise. Da zum Zeitpunkt t = 2 alle anderen Module Elemente mit dem Wert s enthalten, laufen diese Elemente
im Effekt durch die freigemachten Speicherstellen (obere Hälfte der übrigen Module und es wird ein zweites
Element mit dem Wert s weggeworfen.
Der vorstehend beschriebene Prozeß wird bei jedem nachfolgenden
Taktimpuls φ wiederholt. Nach dem dritten Taktimpuls hat im Modul 111-1 ein Vergleich zwischen
den Schlüsselwerten (8 und 0) der ersten beiden Eingangselemente stattgefunden. Der Wert 0 ist kleiner
und demgemäß wird dieses Element an das nächste Modul 111-2 in der Kette gegeben. Wenn ein weiterer Taktim-.
puls auftritt, so wird der Wert 0 mit dem Wert s im Modul 111-2 verglichen. Wie oben angegeben, ist der
Wert s kleiner, und demgemäß wird dieses Element verschoben . Um die Stelle des zu verschiebenden Elementes
in der grafischen Darstellung gemäß Fig. 1 bis 3 leichter feststellbar zu machen, ist eine Ecke der oberen
oder unteren Modulhälfte, die jeweils das Element mit
dem kleineren Wert enthält (vor Anlegen des nächsten Impulses φ), schattiert worden.
Am Ende von zehn Taktzyklen ist das Register 101 geleert
und sein Inhalt ist jetzt vollständig in den Sortiermodulen 111-1 bis 111-5 gespeichert, die je
zwei Elemente aufnehmen. Aus weiter unten beschriebenen
Gründen ist es jetzt wichtig, damit zu beginnen, die
Sortiermodulkette mit Elementen zu säubern oder zu spülen, die "große", mit dem Symbol "L" bezeichnete
Werte besitzen, welche größer als jeder mögliche, bereits in den Sortiermodulen befindliche Wert sind. Die
Eingabe von Elementen mit "großem" Wert (bei diesem Beispiel sind zwanzig erforderlich) kann einfach dadurch
erreicht werden, daß Elemente mit dem gewünschten großen Wert an das Ende jeder Gruppe von zu sortieren-
3344 HT
den Elementen angehängt werden, oder indem ein Schalter 125 so umgeschaltet wird, daß Elemente mit großem
Wert, die in einem Hilfsregister 130 gespeichert sind,
an die Sortiermodulkette gegeben werden, nachdem die
Elemente in jeder Gruppe voll in die Kette eingetreten sind.
Es sei jetzt mit dem Beispiel unter Bezugnahme auf
Fig. 2 fortgefahren. Nach dem elften Taktimpuls (t - 11)
ist das erste Element mit dem Wert L in das Sortiermodul 111-1 eingetreten. Wenn vierzehn Taktimpulse aufgetreten
sind, ergibt sich aus Fig. 2, daß die Elemente die gewünschte sortierte Reihenfolge haben. Die
Elemente müssen jedoch über die restlichen Module weiterverarbeitet werden, da N Module erforderlich
sind, wenn andere Gruppen mit bis zu N Elementen sortiert werden. Nach dem Auftreten von zwanzig Taktimpulsen
stehen die Elemente für einen Austritt aus dem Modul 111-10 bereit. Zur Erläuterung zeigt Fig. 3 da,s
Eintreten von aus den Sortiermodulen ausgegebenen EIementen
in das Register 121 während der nächsten zehn Zyklen, so daß am Ende von dreißig Taktimpulsen das Register 121 mit den Elementen gefüllt ist, die zur Erzielung
der gewünschten Reihenfolge sortiert worden sind, d.h., in einer Reihenfolge, in der die Elemente
mit den niedrigsten Werten zuerst auftreten. Elemente mit dem Wert L füllen jetzt alle zwanzig Speicherstellen
in den Sortiermodulen 111-1 bis 111-10, und diese Elemente müssen zur Vorbereitung für das Sortieren, der
nächsten Gruppe durch Elemente mit dem Wert s ersetzt
werden. '■'■/■
Der Zweck für das Vorsehen von Anfangswerten s und Endwerten L bei bekannten Blasensortieranordnungen besteht
darin, Elemente in benachbarten, der Kette von Sortiermodulen zugeführten Gruppen zu trennen und zu
verhindern, daß Elemente einer Gruppe in die Elemente
einer vorhergehenden oder nachfolgenden Gruppe eindringen. Wenn beispielsweise das erste Element mit dem
Wert L statt dessen einen Wert hätte, der nicht größer aus die Werte aller vorhergehenden Elemente ist, so
würde das Element sich in dem Intervall zwischen dem zehnten und dem dreißigsten Taktimpuls in Vorwärtsrichtung zwischen einige der vorhergehenden Elemente
in den Sortiermodulen bewegen und zu einem Fehler führen. In ähnlicher Weise würden, wenn das Anfangselement mit
1IO dem Wert s statt dessen einen Wert hätte, der nicht
kleiner als die Werte aller vorhergehenden Elemente ist,
die Elemente mit den kleinsten Werten einige der Elemente in der vorherigen Gruppe überholen, wodurch sich
. wieder eine fehlerhafte Sortierer-Ausgangsfolge ergibt.
Eine Störung zwischen Gruppen läßt sich weiterhin dadurch erläutern, indem die zehn, ursprünglich im Register
101 gespeicherten Elemente als zwei unterschiedliche Gruppen mit vier bzw. sechs Elementen zugeordnet
angesehen werden, ohne daß spezielle Anfangselemente
(s-Werte) oder Endelemente (L-Werte) für eine Trennung vorgesehen sind. Nach Sortieren dieser zehn Elemente
(8-0-1-9 und 7-5-3-6-4-8) ist das erwünschte Ergebnis 0-1-8-9 und 3-4-5-6-7-8. Da der Unterschied zwischen
den Elementen in unterschiedlichen Gruppen verlorengegangen ist, lautet die erste, tatsächlich erzeugte
Gruppe von Elementen 0-1-3-4 und die zweite Gruppe lautet 5-6-7-8-8-9.
Das Vorsehen besonderer Elemente als Anfangselemente (Kopf) und Endelemente (Schwanz) für jede Gruppe von
η-Elementen kann zu mehr als einer Verdopplung der zum Sortieren erforderlichen Zeit von 2n auf 4n Taktzyklen
führen, da die Initialisierung mit Elementen des Wertes s oder das Säubern der Elemente mit Werten L jeweils
über ein Intervall mit 2n Taktzyklen erfolgen muß. Der Übergang von Elementen mit 2n vorhergehenden L-Werten
auf die nächste Gruppe von 2n Elementen mit s-Werten
kann gelegentlich gleichzeitig in einem T.aktzyklus
erfolgen. Im anderen Falle ist eine weitere 2n-Periode erforderlich. Die Verringerung der Verarbeitungsge- '
schwindigkeit durch den beschriebenen Initialisierungs/ Säuberungsprozeß ist in konventionellen, mit Bauteilen
verwirklichten Blasensortierern relativ noch schwerwiegender. Im einzelnen wird die Kette von Sortiermodulen in typischer Weise ausreichend lang gemacht,
um die größte Gruppe von zu sortierenden EIementen zu verarbeiten, wobei N Module für eine erwartete
Maximal-Gruppengröße von N Elementen vorgesehen werden. Wenn kurze Gruppen auftreten, so muß trotzdem die gesamte Sortiermodulkette unter Verwendung
von 2N besonderen s- und L-Kopf/Schwanzelementen initialisiert und gesäubert werden. In diesem Fall
benötigt die Initialisierung/Säuberung mehr Zeit, als für die eigentliche Sortierung erforderlich ist.
Die aufgrund des gerade beschriebenen Initialisierungs/ Säuberungsprozesses festgestellten Schwierigkeiten
werden entsprechend der vorliegenden Erfindung durch Einfügen eines Distanzelementes mit einem besonderen
Wert zwischen jede Gruppe von zu sortierenden Elementen und dadurch vermieden, daß jedes Sortiermödul
empfindlich für das Auftreten des Distanzelementes gemacht wird, das grafisch in den Figuren 4 bis 6 als
Sternchen "*" dargestellt ist. Wenn ein Distanzelement von einem Modul festgestellt wird, so gibt das
Modul gespeicherte Elemente für die nächsten beiden Taktimpulse, in der gleichen Reihenfolge aus, in der
sie zugeführt worden sind. Diese Anordnung stellt sicher, daß die Elemente jeder Gruppe nicht.ir die
Elemente vorhergehender oder nachfolgender Gruppen eindringen. Zur Erläuterung wird angenommen, daß die
gleichen zehn Elemente mit den gleichen Werten, die im Beispiel gemäß Fig. 1 bis 3 benutzt worden sind,
eine erste Gruppe mit vier Elementen (8-0-1-9) und
eine zweite Gruppe mit sechs Elementen (7-5-3-6-4-8)
bilden. Die Gruppen sind jedoch durch ein zusätzliches Distanzelement oder einen besonderen Schlüssel getrennt,
der einen besonderen, in Figur 4 symbolisch durch "*"
symbolisierten Wert hat. Bei diesem Beispiel wird angenommen, daß die Sortiermodule 111-1 bis 111-10 zu
Anfang Elemente mit Werten P von einer oder mehreren
vorhergehenden Gruppen enthalten, und daß die letzte Eingabe in das Modul 111-1 ein Distanzelement ist, das
die vorhergehende Gruppe von Elementen von der zu verarbeitenden
Gruppe mit Werten 8-0-1-9 trennt, die in den Registerstellen 101-1 bis 101-4 gespeichert sind.
Nach dem Auftreten des ersten Taktimpulses (t ■*=.. 1) ist
das vorher in einer der Speicherstellen (untere Hälfte)
des Sortiermoduls 111-1 gespeicherte Element zum nächsten Modul 111-2 verschoben worden und durch das in der
Speicherstelle 101-1 abgelegte Anfangselement mit dem
Wert (8) ersetzt worden. Dies ergibt sich, weil das durch das Sternsymbol "*" dargestellte Distanzelement
das letzte Element war, das in das Modul 111-1 eingetreten ist. Bei Feststellung des Distanzelementes ist
das Modul 111-1 veranlaßt worden, dieses Element festzuhalten und das andere gespeicherte Element zum
nächsten Modul weiterzugeben. Aus dem gleichen Grund
ist nach dem zweiten Taktimpuls (t=2) das Distanzele-
■..,.■' ment zum Modul 111-2 gelaufen, da es dann nicht die
letzte Eingabe in das Modul 111-1 gewesen ist. Nach vier Taktimpulsen sind entsprechend der Darstellung
in Fig. 4 alle Elemente der ersten Gruppe in den Sortiermodulen
Ϊ11-1 und 111-2 enthalten. Beim Auftreten des nächsten Taktimpulses tritt das Distanzelement,
das der ersten Gruppe folgt und diese von der nachfolgenden
Gruppe trennt, in das Modul 111-1 ein.
Die Arbeitsweise der Sortiermodule bei Auftreten eines Distanzelementes wird weiter durch einen Vergleich
des Zustandes der Module vor und nach dem sechsten
Taktimpuls erläutert. Man erkennt, daß das Distanzelement im Sortiermodul 111-3 sich in diesem Intervall,
zum nächsten Modul bewegt hat, da es bereits für zwei Taktzyklen an dieser Stelle gewesen ist. Andererseits
hat sich das Distanzelement im Modul 111-1 nicht bewegt,
da dieses Element erst beim vorhergehenden Zyklus eingegeben worden ist und daher das zuletzt eingetretene
Element war. Zusammenfassend vergleichen die Sortiermodule nach der vorliegenden Erfindung bei jedem
Taktzyklus die Werte von zwei gespeicherten Elementen und geben abhängig von der Beziehung zwischen
den Werten der Elemente eines der Elemente zum nächsten Modul. Normalerweise werden die Werte der Elemente verglichen,
entweder numerisch, alphabetisch oder entsprechend irgendeiner anderen gewünschten Beziehung.
Wenn jedoch ein Distanzelement mit einem besonderen Wert festgestellt wird, so wird es besonders behandelt
und das Modul arbeitet auf unterschiedliche Weise. Die Auswahl eines Elementes für die Übertragung zum ,
nächsten Modul beruht jetzt auf der Reihenfolge, in der die Elemente an das Modul gegeben worden sind. Das
älteste Element wird unabhängig von seinem Wert an das nächste Modul gegeben, während das zuletzt zugeführte
Element für ein Taktintervall in jedem Modul festge-
halten wird. .
Es wird jetzt mit einer Beschreibung von Figur 5 fortgefahren.
Nach Auftreten des zwölften Taktimpulses ι sind die sechs Elemente in der zweiten Gruppe und das Distanzelement
, das diese Gruppe von einer weiteren Gruppe trennt, voll in die Sortiermodulkette eingetreten. Weitere Elemente können nach dieser Gruppe eingegeben werden.,
aber für das vorliegende Beispiel sind diese Elemente einfach durch das Symbol A gekennzeichnet.
Die Operation der Sortiervorrichtung setzt sich für
mehrere weitere Zyklen fort, bis nach dem zwanzigsten
·: : : V':.': 3344 Kl
Zyklus (vergl. Fig. 5) das Anfangselement in der ersten
Gruppe für eine Ausgabe vom Modul 110-10 bereit ist. Ausgabeelemente können in ein Speicherregister
eingegeben oder an eine andere Verbraüchereinrichtung abgegeben werden. Zur Erläuterung werden jedoch die
Elemente entsprechend Fig. 6 in das Register 121 eingegeben und dort weitergeschoben. Man erkennt, daß
nach dreißig Taktimpulsen beide Gruppen von Elementen richtig sortiert worden sind, ohne daß vergeudete Zeit
erforderlich war, um die Sortiermodule mit besonderen Elementen mit kleinen (s) oder großen (L) Schlüsselwerten,
die bei bekannten Anordnungen entsprechend den Beispielen gemäß Fig. 1 bis 3 erforderlich waren, zu
initialisieren oder zu säubern.
Ein Blockschaltbild für ein Ausführungsbeispiel eines
Aufzeichnungssortiermoduls entsprechend den Grundgedanken
der Erfindung ist in Fig. 7 gezeigt. Im Prinzip enthält jeder Aufzeichnungssortiermodul eine Sortierschaltung
700 zum Sortieren von Schlüsselwerten, die jeder Aufzeichnung in der beschriebenen Weise zugeordnet sind, und eine Slave-Schaltung 750 zur Neuordnung
der Daten jeder Aufzeichnung in der gleichen Reihenfolge wie die entsprechenden Schlüsselwerte. Die Sortierschaltung
700 nimmt die jeder Aufzeichnung zugeordneten Schlüsselwerte auf und führt eine Sortierung
in der oben beschriebenen Weise durch, indem die Schlüsselwerte verglichen und ein Schlüsselwert abhängig vom
relativen Wert oder der Eingabereihenfolge für die Schlüsselwerte ausgewählt wird. Die Slave.-Schaltung
750 nimmt die Daten für die Aufzeichnung mit dem entsprechenden Schlüsselwert auf und wählt die Daten einer
Aufzeichnung für die Ausgabe aus, wertn der entsprechende Schlüsselwert in der Sortierschaltung ausgewählt
worden ist.
Zur Durchführung der Schlüsselwertsortierung wird ein
einer Aufzeichnung zugeordneter Schlüsselwert auf der Leitung 730 zugeführt und in eines von zwei Schlüsselregistern
701 oder 702 beim nächsten Auftreten eines Taktimpulses φ eingegeben, der von einer nicht gezeigten
Taktquelle erzeugt wird. Das spezielle Register, das den Schlüsselwert aufnimmt, hängt davon ab, welcher
der in den Registern gespeicherte Schlüsselwert zur
Abgabe an die Sortierschaltung des nächsten Moduls in
der Kette ausgewählt worden ist. Diese Auswahl erfolgt
normalerweise durch einen Vergleich der Werte der in den Registern 701 und 702 gespeicherten Schlüssel, die
zur Vereinfachung der weiteren Beschreibung mit A bzw.
B bezeichnet sind. Wenn jedoch einer der gespeicherten Schlüssel einen besonderen Wert besitzt und als Distanzelement
erkannt wird, so werden die Werte der Schlüssel nicht beachtet und die Schlüssel in der gleichen
zeitlichen Reihenfolge ausgegeben, in der. sie in die Register 701 und 702 eingetreten sind. Die auf dem
Schlüsselwert beruhende Auswahl wird in einem Komparator 703 durchgeführt,der Eingangswerte (d.h., A und B)
von beiden Registern 701, 702 aufnimmt und ein Ausgangssignal hoher Spannung (H) auf der Leitung 707 liefert,
wenn A-B ist, falls beispielsweise die Elemente so sortiert werden sollen, daß sich eine numerische
Reihenfolge vom kleinsten zum größten Element ergibt.
Wenn die entgegengesetzte numerische Reihenfolge gewünscht
wird, kann der Komparator 703 leicht so abgeändert werden, daß er ein Ausgangssignal H liefert,
wenn Ä · - B ist.
Wenn der im Register 701 gespeicherte Schlüssel (A)
kleiner als der Schlüssel (B) im Register 702 ist, so durchläuft das Ausgangssignal H des Komparators 703
ein UND-Gatter 711 und ein ODER-Gatter 712 und gelangt an den Betätigungseingang 721 des Registers 701, wodurch
bewirkt wird, daß der im Augenblick gespeicherte Schlüssel (A) auf der Leitung 731 ausgegeben wird>
33UH1
während der neue Schlüssel (auf der Eingangsleitung 730) in das Register eintritt. Eine Invertierung des
Ausgangssignals H vom ODER-Gatter 712 unter Verwendung
des Inverters 716 stellt sicher, daß der Betätigungseingang 722 des Registers 702 nicht aktiviert wird,
wenn A - B ist. Der Schlüssel A wird an den Ausgang 710 der Sortierschaltung 700 über einen Multiplexer-.Schalter
705 gegeben, der außerdem ein Stellungs-Steuereingangssignal
vom ODER-Gatter 712 erhält. Entsprechend .10 der Darstellung in Fig. 7 gibt der Schalter 705 den
Wert A an den Ausgang 710, wenn der Ausgang des ODER-.
Gatters 712 auf H ist. Alternativ ist, wenn der Schlüs-. sei.im Register 701 größer als der im Register 702 ist
(A>B), der Ausgang des UND-Gatters 711 und des ODER-Gatters
712 auf L, so daß der Inverter 716 das Register 702 über die Leitung 722 veranlaßt, seinen gespeicherten Schlüsselwert zum Schalter 705 zu geben und den
nächsten Schlüsselwert von der Leitung 730 aufzunehmen. Der Schlüssel B wird über den umgestellten Schalter
705 zum Ausgang 710 übertragen.
Die Sortierschaltung gemäß Fig. 7 enthält außerdem
einen Distanzelement-Detektor 704, der Eingangssignale von beiden Registern 701, 702 erhält und das Vorhandensein eines besonderen Distanzelementwertes in einem
der Register überwacht. Bei der Feststellung eines solchen Distanzelements geht der Ausgang.des Detektors
auf H, wodurch das UND-Gatter 711 mittels des Inverters 714 abgeschaltet und das UND-Gatter 713 in die
Lage versetzt wird, ein vom invertierenden Ausgang
(Q) eines Flipflops 706 gewonnenes Signal zum ODER-Gatter 712 zu übertragen. Das Flipflop 706 dient als
Ein-Bit-Speicher, der das Ausgangssignal des ODER-Gatters 712 ah seinem Dateneingang (D) aufnimmt und diesen
Wert bis zum Anlegen des nächsten Taktimpulses φ an einen Takteingang speichert. Wenn beispielsweise
das Distanzelement die letzte Eingabe in das Register
701 war, bewirkt das Ausgangssignal H des ODER-Gatters
712, das diese Eingabe ermöglicht hat, daß der Ausgang Q des Flipflops 706 auf L ist, wodurch Wiederum
sichergestellt wird, daß der Ausgang des UND-Gatters 713 und des ODER-Gatters 712 auf L sind, wenn der
nächste Taktimpuls auftritt. Als Ergebnis würde dann ;
unabhängig von einem Wertvergleich das nächste, an
den Multiplexer 705 angelegte Element vom Register
702 kommen. Da das Distanzelement im Register 701 verbleibt,
bleibt der Ausgang des Detektors 704 auf H und hält das UND-Gatter 713 bei Beginn des nächsten
Zyklus betätigt. Jetzt bewirkt jedoch das Ausgangssignal L des ODER-Gatters 712, daß der Ausgang Q
des Flipflops 706 beim nächsten Taktimpuls φ auf H ist.
Die sich ergebenden Ausgangssignale H des UND-Gatters
713 und des ODER-Gatters 712 bewirken,, daß das Distanz4
element aus dem Register 701 ausgegeben wird,, wodurch
die gewünschte Operation mit zwei Zyklen beendet ist. Zusammenfassend wählt im normalen Betrieb die Sortierschaltung
700 einen Schlüssel für die Weitergabe an das nächste Modul abhängig von den relativen Werten
der Schlüssel aus. Nach Feststellung.eines Distanzelementes
werden dagegen die Schlüssel im Sortiermodul in der gleichen Reihenfolge ausgelesen, in der
sie zugeführt worden sind.
Jedes der Aufzeichnungssortiermodule 111-1 bis 111-10 ··,
gemäß Fig. 4 bis 6 enthält außerdem Slave-Schaltungen,
beispielsweise die Schaltung 750 in Fig. ,1, die die
Daten jeder Aufzeichnung in der gleichen Reihenfolge wie die entsprechenden, den Aufzeichnungen zugeordneten
Schlüssel sortieren. Zu diesem Zweck enthält die Schaltung 750 Datenregister 751 und 752, die je
die Daten einer am Dateneingang 760 ankommenden Aufzeichnung speichern können. Das Ausgangssignal des
ODER-Gatters 712, das das Register 701 direkt und das
Register 702 über einen Inverter 716 betätigt, stellt
außerdem Betätigungseingangssignale direkt für das Register 751 und über den Inverter 756 für das Register 752 dar. Durch Abhähgigmachen dieser Register
von den Registern in der Sortierschaltung 700 können.
Daten in das jeweils geeignete Register beim Auftre-. ten eines Taktimpulses φ eingegeben werden. Die Slave-Schaltung
750 enthält außerdem einen Multiplexer-Schalter 755 identisch mit dem Multiplexer-Schalter
705, der ebenfalls auf das Ausgangssignal des ODER-Gatters 712 anspricht, so daß ein Datenausgangssignal
vom gewählten Register 751 oder 752 zum Datenausgang
770 gegeben wird.
Vom Fachmann können zahlreiche Abänderungen der Sortiermodulanordnung
nach der vorliegenden Erfindung abhängig von der Art der sortierten Elemente getroffen
werden. Normalerweise sind die Etoente Vielbitwörter
mit einem Vorzeichenbit, die parallel an die Register
701 und 702 angelegt werden. Der Komparator 703 ist so ausgelegt, daß er die Werte unter Beachtung der Vor
zeichenbits numerisch vergleicht. Es kann jedoch wünschenswert
sein, in gewissen Fällen allein abhängig vom Absolutwert zu sortieren. Die Elemente können
außerdem Wörter sein, die alphabetisch sortiert werden, oder alphanumerische Symbole, die entsprechend
einer anderen vorgegebenen Beziehung sortiert werden. Das Distanzelement kann ein besonderes (üblicher Weise Vielbit-)-Wort sein, das für diesen Zweck reserviert
ist, und der Detektor 704 kann eine Logikschaltung sein, die jedes Eingangssignal mit einem gespeicherten
Abbild des Distanzelementes vergleicht.
Beim Sortieren von Aufzeichnungen können die Register
751 und 752 abhängig von der Menge der Daten, die sie enthalten, größer sein als die Register 701 und 702.
Ein w<?4. t <?rt*JS Aus£ührung,pfo<?.i spiel ο ines Auf zeichnungs-35.
sortiermoduls nach den Grundgedanken der Erfindung
3344U1
ist in Fig. 8 gezeigt. Ähnlich wie bei dergerade beschfiebenen
Anordnung sind eine Sortierschaltung 800 und eine Slave-Schaltung 850 zum Sortieren der Schlüssel und der entsprechenden Daten in Gruppen von Äufzeichnungen
vorgesehen. Die Sortierschalt.ung 800 enthält ein erstes und ein zweites Schlüsselspeicherregister
801 und 802, wobei aber jeder Schlüssel auf der Eingangsleitung 840 bei jedem Taktimpuls φ immer
in das erste Register 801 eingegeben wird. Die in den
Registern 801 und 802 gespeicherten Schlüssel werden in einem Komparator 803 verglichen, der ein Ausgangssignal H erzeugt, wenn der Wert (genannt A)' im Register
801 den Wert (genannt B) im Register 802 übersteigt , wobei angenommen wird, daß eine numerisch^
Sortierung erwünscht ist, bei der der niedrigste Wert
zuerst steht. Für eine Sortierung mit dem höchsten Wert zuerst geht der Ausgang des Komparators 803 auf
H, wenn A-B. ■„ ■ I
Wenn der Ausgang des Komparators 803 auf H ist, so stellt das sich ergebende Ausgangssignal H des ODEjR-Gatters
806 einen Multiplexer 805 so ein,.daß der Jim Register 802 gespeicherte Schlüssel auf die Ausgattgsleitung
810 gelangt. Ein UND-Gatter 807. wird'betätigt und überträgt einen Taktimpuls φ zum Register 802,J so
daß der dort gespeicherte Schlüssel tatsächlich ausgegeben und durch den im Register 801 gespeichertein
Schlüssel ersetzt wird. Wenn andererseits der Ausgang
des Komparators 803 auf L ist, so ist der Ausgang ;des ODER-Gatters. 806 unter der Voraussetzung, daß kein
Distänzelement festgestellt wird, ebenfalls auf L'.j In
diesem Fall wird der Schalter 805 so eingestellt, daß der im Register 801 gespeicherte Schlüssel A direkt
zum Multiplexer 805 gelangt. Das UND-Gatter 807 ist
zu diesem Zeitpunkt abgeschaltet, so daß der Schlüssel im Register 802 nicht gestört wird. Zusammenfassend
vergleicht die Sortierschaltung 800 den Wert jedes im
ϋ,Ι..ΌΟ 33Α4Η1
Register 801 gespeicherten Schlüssel mit dem Wert des
vorhergehenden Schlüssels, der im Register 802 gespeichert ist. Wenn einer im voraus definierten Beziehung Genüge getan ist (beispielsweise der letzte
Eingangswert kleiner als der vorhergehende Eingangswert ist), dann wird der neu empfangene Schlüssel· an
den Ausgang 810 der Sortierschaltung gegeben. Wenn der Beziehung nicht Genüge getan wird (beispielsweise
der letzte Eingangswert größer ist),dann wird der vorher empfangene Schlüssel im Register 802 zum Ausgang
810 geführt und ersetzt den letzten Eingangswert. Zur Feststellung eines besonderen Schlüssels als Distanzelement
enthält die Schaltung gemäß Fig. 8 Distanz-Detektoren
804a und 804b, die den Inhalt des Registers 801 bzw. 802 überwachen. Wenn ein Distanzelement festgestellt
wird, so läuft ein Ausgangssignal H vom Detektor 804a und 804b über das ODER-Gatter 806, um
sicherzustellen, daß der Multiplexer 805 in der in Fig. 8 gezeigten Stellung bleibt. In diesem Fall wird
der im Register 802 für die längere Zeit gespeicherte Schlüssel ausgegeben und der dem Distanzelement zugeordnete Schlüssel zum Register 802 übertragen und
beim nächsten Auftreten des Taktimpulses φ ausgegeben.
Die Reihenfolge der Schlüssel wird demgemäß beibehal-
2.5 ten, wie gewünscht, wenn ein Distanzelement festgestellt
wird.
Ähnlich wie die Anordnung gemäß Fig. 7 enthält die Anordnung nach Fig. 8 eine Slave-Schaltung 850, die Daten
oder Aufzeichnungen für jedes Element entsprechend den den jeweiligen Elementen zugeordneten Schlüsseln
sortiert. Die Schaltung 850 enthält ein erstes und ein zweites Datenregister 851 bzw. 852, wobei das Register
851 ein Eingangswort von der Leitung 860 empfängt und seinen Ausgang über einen Multiplexer 855 zur Aus-
: gangsleitung 870 gibt, wenn A^B ist und der Schalter
855 sich in der unteren Stellung befindet. Wenn A>
B
ist oder wenn ein Distanzelement festgestellt wird, so ist der Ausgang des ODER-Gatters 806 auf H, der
Multiplexer 855 befindet sich in der oberen Stellung
entsprechend der■Darstellung in Fig. 8 und die Information
im Register 852 wird ausgegeben und durch die
Daten im Register 851 ersetzt, wenn eine Taktzufuhr über das UND-Gatter 857 erfolgt. !
Einen Teil der Sortiermodulschaltung gemäß Fig. 8 läßt sich entsprechend Fig. 9 abändern, indem der
Distanzdetektor 804b durch eine Verzögerungsschaltung 901 ersetzt wird, die das Ausgangssignal des Detektors
804a. aufnimmt und ein Ausgangssignal H beim nächsten Taktimpuls φ erzeugt. Diese Vereinfachung beruht
auf der Erkenntnis, daß, wenn ein Distanzelement im Register 801 (durch den Detektor 804a) festgestellt
wird, das Distanzelement immer einen Taktzyklus später im Register 802 (durch den Detektor 804b) erkannt wird.
Die gerade beschriebene Sortiervorrichtung und -technik
haben viele Verwendungsmöglichkeiten, beispielsweise in einem Zeitlagenwechslef, der die Reihenfolge
einer Anzahl von Zeitmultiplex-Datensignalen neu ordnet .. Ein üblicher Zeitlagenwechsler (Austauscher) ist
in Fig. 10 gezeigt. Daten in einer Serie von. Zeitlagen 1000 werden sequentiell in einen Doppelpufferspeicher
mit Puffern 101 und 102 eingegeben. Wenn einer der Puffer geladen wird, werden Daten aus dem anderen .
Puffer verarbeitet. In entsprechender Weise sind Puffer
1005 und 1006 als Doppelpuffer organisiert, so daß, wenn der Puffer 1006 gelesen wird, ein Einschreiben in
den Puffer 1005 erfolgt und umgekehrt. Ein Speicher 1004 ist so angelegt, daß er einer Prozessoreinheit
1003 die gewünschte Austauschvorgänge angibt. Beispielsweise können Daten, die sich ursprünglich in der
Zeitlage E befunden haben, für die Zeitlage B bestimmt sein und so weiter. Die Prozessoreinheit 1003 holt dann
die Daten in der Zeitlage E aus dem Puffer 1001 oder
1002 und gibt sie in die der Zeitlage B entsprechende
Speicherstelle im Puffer 1005 oder 1006. Nachdem Daten von allen in den Puffern 1001 oder 1002 gespeicherten
Zeitlagen zu den Puffern 1005 oder 1006 übertragen sind, erhält man die gewünschte Zeitlagenfolge 1007.
Dieses bekannte Austauschverfahren erfordert jedoch
einen großen Bauteileaufwand urd eine verhältnismäßig
lange Verarbeitungszeit. Jeder Zeitlagenaustausch macht einen Lesevorgang vom Speicher, einen Lesevor-1.0
gang von einem Puffer und einen Schreibvorgang für
einen Puffer erforderlich. Demgemäß erfordern N Zeit-.lagen
3N Verarbeitungszyklen. Demgemäß können die Eingangs- und Ausgangspuffer nur alle 3N Zyklen ausgetauscht
werden. Die gesamte Haltezeit für einen sol-
i :
chen Zeitlagenwechslef beträgt dann 9N Zyklen.Eine
neue Zeitlage kann dem Zeitlagenwechsler alle drei Zyklen zugeführt werden. .
Ein Zeitlagenwechsler, der die Verarbeitungszeit unter Verwendung der Sortiertechnik nach der vorliegen-
den Erfindung wesentlich verbessert, ist als Blockschaltbild in Fig. 11 gezeigt. Der Zeitlagenwechsler
kann unter Verwendung der Aufzeichnungssortiermodule
gemäß Fig..1 oder 8 verwirklicht werden. Bei dieser
Anordnung sind die zu sortierenden Daten der Inhalt der Zeitlagen in jedem Rahmen eines Zeitmultiplexsignals.
Schlüssel werden den Daten durch einen Schlüsselzuordner 1104 zugeordnet,, um die gewünschten Zeitlagenpositionen
anzugeben. Als Beispiel werden Daten in einem in Fig. 11 dargestellten Rahmen mit fünf
Zeitlagen A bis E auf einer Leitung 1101 aufgenommen
und in der empfangenen Reihenfolge (D-B-E-OA) in ein Register 1102 eingegeben. Zur Permutierung der Reihenfolge
der Zeitlagen irt eine gewünschte Reihenfolge, beispielsweise (C-A-D-E-B), ordnet der Schlüsselzuordner
1104 jeder Zeitlage einen Schlüssel zu. Im Beispiel gemäß Fig. 11 wird, da Daten in der Zeitlage
:..O'U I. O-j 33AA HI
3-a- oil '■ ·■ ■·"■.■■' r. ■'
—a-u — Ct
C von der vierten in die erste Position verschoben werden sollen, dieser ein Schlüsselwert 1 zugeordnet.
Auf entsprechende Weise sollen die Daten in der Zeitlage
B von der zweiten in die fünfte Position verschoben werden, so daß ihnen ein Schlüsselwert 5 zugeordnet
wird. Ein besonderer Distanzschlüssel 1103 wird dem aus fünf Aufzeichnungen bestehenden Rahmen durch
einen Distanzgenerator 1105 vorangestellt.
Der Zeitlagenaustausch erfolgt durch Zuführen der Aufzeichnungen
(Schlüssel und Daten) zu einer Kette von N Aufzeichnungssortiermodulen 1120-1, 1120-2 ... 1120-N,
die, wie oben erwähnt, ähnlich wie die Vorrichtungen gemäß 7 oder 8 ausgelegt sein können und eine Sortierschaltung
sowie eine Slave-Schaltung enthalten. Die Schlüssel werden sortiert, wenn sie von der Sortierschaltung
in einem Modul zur Sortierschaltung im nächsten Modul übertragen werden, während die Daten
durch die Slave-Schaltuhgen in die entsprechende Rei-.
henfolge gebracht werden. Der Wert N ist so gewählt,
daß er gleich der längsten erwarteten Gruppe von Aufzeichnungen ist (in diesem Fall fünf Zeitlagen). Das
Ausgangssignal der letzten Sortierschaltung in der Kette von Modulen besteht aus den ursprünglichen Daten,
sortiert in der gewünschten Reihenfolge. Diese Daten können in ein Register 1110 eingegeben oder, falls
gewünscht einer weiteren Verarbeitungsschaltung zugeführt
werden, während die Schlüssel weggeworfen werden .
Ein Zeitlagenaustausch unter Verwendung der gerade .
beschriebenen Sortierung hat eine Verweilzeit von 3N, was bedeutet, daß Informationen von bis zu drei
früheren Rahmen verarbeitet werden müssen, bevor die Information vom augenblicklichen Rahmen ausgegeben,
wird und eine heue Zeitlage in jedem Zyklus verarbeitet werden kann. Dies ergibt eine Reduzierung der
Verweilzeit um den Faktor 3 und eine Erhöhung der Durchsatzrate um den Faktor 3 gegenüber dem bekannten
Zeitlagenwechsler entsprechend Fig. 10.
Eine Kette von Aufzeichnungssortiermodulen des in
Fig. 7 oder 8 gezeigten Typs kann außerdem benutzt werden, um die Zeitlagen in jedem Rahmen eines Zeitmultiplexsignals neu zu ordnen, und zwar zur Ausnutzung
der freien Zeitlagen. .
Die Rahmen 1201 bzw. 1211 enthalten Zeitlagen eines ersten und eines zweiten Zeitmultiplexsignals. Den
M Zeitlagen in jedem Rahmen sind Schlüssel 1 bis M zugeordnet, derart, daß die Rahmen nach der Neuordnung
zusammengeführt werden können. Im einzelnen sind die Schlüssel für belegte (gefüllte) Zeitlagen in einem
Signal auf besondere Weise aus den Schlüsseln ausge^
wählt, die freien (leeren) Zeitlagen im anderen Signal zugeordnet sind. Die den restlichen Zeitlagen in
jedem Rahmen zugeordneten Schlüssel sind nach Wunsch aus den restlichen unbenutzten Schlüsseln der ursprüngliehen
M-Schlüssel zugeordnet. Die jedem Rahmen zugeordneten
Schlüssel werden dann getrennt sortiert und die zugeordneten Zeitlagendaten entsprechend neu geordnet.
Auf diese Weise erzeugte neue Rahmen können dann zusammengeführt werden, so daß sich eine Ausgangsfolge
mit weniger leeren Zeitlagen ergibt. Dieses Verfahren kann angewendet werden, solange die Gesamtzahl
gefüllter Zeitlagen in beiden Rahmen kleiner ist als die Anzahl von Zeitlagen in jedem Rahmen. Bei dem
in Fig. 12 dargestellten Ausführungsbeispiel sind den leeren Zeitlagen 1, 3 und 4 im Rahmen 1201 die Schlüssel
1, 3 und 5 zugeordnet, während den gefüllten Zeitlagen 1, 2 und 3 des Rahmens 1211 Schlüssel zugeordnet
sind, die auf besondere Weise aus der gleichen Gruppe
(1,3 und 5) gewählt sind, welche den leeren Zeitlagen im Rahmen 1201 zugeordnet ist. Die restlichen Schlüs-
sei sind den restlichen Zeitlagen in den Rahmen 1201
und 1211 in der als Beispiel gewählten Folge 1202, 1212 zugeordnet.
Die auf diese Weise gebildeten Aufzeichnungen (Schlüssei
und Zeitlagendaten) werden getrennt durch Aufzeichnüngssortiermodule
1203 und 1213 geordnet, die neue Rahmen 1204 bzw. 1214 erzeugen. Diese Rahmen
können über einen Multiplexer 1220 oder eine andere ähnliche Kombiniereinrichtung so zusammengeführt werden,
daß sich ein kombinierter Ausgangsrahmen 1230 ergibt, der mit Vorteil keine überschüssigen leeren
Zeitlagen enthält. ,
Die Sortiermodulanordnung nach der vorliegenden Erfindung
läßt sich beguem unter Verwendung von Großintegrationstechnologien
(VLSI-Schaltungen) verwirklichen, und der Modulaufbau ermöglicht zahlreiche Einsparungen.
Vom Fachmann können zahlreiche Anpassungen und Abänderungen getroffen werden, ohne von den Grundgedanken
der Erfindung abzuweichen. Beispielsweise nehmen zwar die Sortiermodule entsprechend der Darstellung Taktimpulse
von einer einzigen Taktquelle auf, es besteht aber die Möglichkeit, die Module hinsichtlich der
Zeitsteuerung in Reihe zu Schalten, so daß jedes Mo— dul einen Zeitsteuerungsimpuls vom vorhergehenden Modul
empfängt. Außerdem sei darauf hingewiesen, daß das Sortieren und Permutieren sehr ähnlich ist, so daß
eine Sortierkette zur Durchführung von Permutationen ■■ verwendet werden kann, indem einfach die Werte der
Schlüssel neu bezeichnet werden.
Claims (11)
- PatentansprücheVorrichtung zur Neueinordnung von Elementen in eine gewünschte Folge mit wenigstens einem Sörtiermodul (700) zur Aufnahme von sequentiell zugeführten Elementen und mit einer Vergleichsschaltung (703) in jedem Modul, die normalerweise eine Reihenfolge für die Ausgabe der Elemente durch Vergleichen der Werte von Elementpaaren bestimmt,dadurch gekennzeichnet,daß das Modul eine Detektorschaltung (704) aufweist, die feststellt, ob eines der sequentiell zugeführten Elemente in dem Paar ein besonderes Distanzelement ist, und ferner eine erste Schaltung (711-714, 705), die bei Feststellen des besonderen Distanzelementes das Paar von Elementen . einschließlich des Distanzelementes in der gleichen Reihenfolge ausgibt, in der das Paar voh Elementen von dem Modul aufgenommen worden ist.
- 2. . Vorrichtung nach Anspruch 1, . dadurch gekennzeichnet, daß die Elemente alphanumerische Symbole sind, die entsprechend einer vorgegebenen Beziehung zu sortieren sind.Sonnenberger Strafte 43 6200 Wiesbaden Telefon (06121) 562943/561998 Telex 4186237 .Telegramme Palentconsult Radedcestraße 43 8000 München 60 Telefon (089) 883603/883604 Telex 5212313 Telegramme PalentconsultTelefax (CCITT 2) Wiesbaden und München (089) 8344618 Attention Patentconsult..; 3344H1 - 2 8
- 3. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Elemente Mehrbitwörter sind, die entsprechend ihrem numerischen Wert zu sortieren sind.
- 4. Vorrichtung nach Anspruch 1,dadurch gekennzeichnet, daß die Elemente alphabetische Symbole sind, die alphabetisch zu sortieren sind.
- 5. Vorrichtung nach Anspruch 1,dadurch gekennzeichnet, daß die Elemente Schlüsselwerte mit zugeordneten Aufzeichnungen sind.
- 6. Vorrichtung nach Anspruch 5, dadurch gekennzeichnet, daß die Vorrichtung eine Slave-Schaltung (750) zur. Neueinordnung der Aufzeichnungen in der gleichen Reihenfolge wie die zugeordneten Schlüsselwerte aufweist.
- 7. . Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Vorrichtung eine Folge von N in Reihe geschalteten Modulen aufweist, die zur Sortierung von Gruppen von bis zu N Elementen vorgesehen sind und daß jede der Gruppen durch wenigstens, eines der besonderen Distanzelemente abgetrennt ist.
- 8. Vorrichtung nach Anspruch 7,dadurch gekennzeichnet, daß die Elemente Schlüsselwerte mit zugeordneten Aufzeichnungen sind.
- 9. Vorrichtung nach Anspruch 8,dadurch gekennzeichnet, daß die Vorrichtung eine Folge von N in Reihe geschalteten Slave-Schaltungen (750) zur Neueinordnung der Aufzeichnungen in der gleichen Folge wie die zugeordneten Schlüsselwerte aufweist.
- 10. . Vorrichtung nach Anspruch 9,dadurch gekennzeichnet, daß die Aufzeichnungen Informationen in Zeitlagen eines Zeitmultiplexsignäls sind und daß die Vorrichtung eine Zuordnungsschaltung (1104) zur Zuordnung der Schlüsselwerte zu den Aufzeichnungen in einer solchen Weise aufweist, daß die Informationen in den Zeitlagen nach dem Sortieren in einer gewünschten Folge (1230) ausgetauscht sind.
- 11. Vorrichtung nach Anspruch 10,dadurch gekennzeichnet, daß die Zeitlagen in Rahmen auftreten und daß der erste Schlüsselwert in jedem Rahmen des Zeitmultiplexsignäls das besondere Distanzelement ist.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/375,669 US4499555A (en) | 1982-05-06 | 1982-05-06 | Sorting technique |
PCT/US1983/000542 WO1983004116A1 (en) | 1982-05-06 | 1983-04-14 | Sorting technique |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3344141T1 true DE3344141T1 (de) | 1984-05-30 |
DE3344141C2 DE3344141C2 (de) | 1994-05-11 |
Family
ID=23481827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3344141T Expired - Fee Related DE3344141C2 (de) | 1982-05-06 | 1983-04-14 | Vorrichtung zur Neuordnung von Elementen in eine gewünschte Reihenfolge |
Country Status (9)
Country | Link |
---|---|
US (1) | US4499555A (de) |
EP (1) | EP0109426B1 (de) |
CA (1) | CA1192314A (de) |
DE (1) | DE3344141C2 (de) |
GB (1) | GB2129985B (de) |
IT (1) | IT1170137B (de) |
NL (1) | NL192354C (de) |
SE (1) | SE445683B (de) |
WO (1) | WO1983004116A1 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4210109A1 (de) * | 1991-04-04 | 1992-10-08 | Mitsubishi Electric Corp | Datensortiervorrichtung zum fruehen erkennen einer fertigen datensortierung sowie sortierverfahren |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL8600028A (nl) * | 1986-01-09 | 1987-08-03 | Philips Nv | Werkwijze en inrichting voor het sorteren van objekten die voorzien zijn van een parameter, volgens de waarde van deze parameter. |
US5060146A (en) * | 1988-04-08 | 1991-10-22 | International Business Machines Corporation | Multilingual indexing system for alphabetical lysorting by comparing character weights and ascii codes |
JPH02178730A (ja) * | 1988-12-28 | 1990-07-11 | Toshiba Corp | 分割法を用いた内部ソート方式 |
JPH02289005A (ja) * | 1989-03-17 | 1990-11-29 | Matsushita Electric Ind Co Ltd | 計数情報の整列処理方式 |
US5185886A (en) * | 1989-06-30 | 1993-02-09 | Digital Equipment Corporation | Multiple record group rebound sorter |
JPH0776906B2 (ja) * | 1989-06-30 | 1995-08-16 | ディジタル イクイプメント コーポレーション | 分類加速装置のための速度及びメモリー制御 |
US5142687A (en) * | 1989-06-30 | 1992-08-25 | Digital Equipment Corporation | Sort accelerator with rebound sorter repeatedly merging sorted strings |
US5111465A (en) * | 1989-06-30 | 1992-05-05 | Digital Equipment Corporation | Data integrity features for a sort accelerator |
FR2649226B1 (fr) * | 1989-07-03 | 1995-07-13 | Sgs Thomson Microelectronics | Circuit de brassage de donnees |
US5077669A (en) * | 1989-12-27 | 1991-12-31 | International Business Machines Corporation | Method for quasi-key search within a national language support (nls) data processing system |
US5072386A (en) * | 1989-12-27 | 1991-12-10 | International Business Machines Corporation | Method for culturally predictable keysort within a national language support (nls) data processing system |
US5070456A (en) * | 1989-12-27 | 1991-12-03 | International Business Machines Corporation | Method for facilitating the sorting of national language keys in a data processing system |
US5121493A (en) * | 1990-01-19 | 1992-06-09 | Amalgamated Software Of North America, Inc. | Data sorting method |
US5274805A (en) * | 1990-01-19 | 1993-12-28 | Amalgamated Software Of North America, Inc. | Method of sorting and compressing data |
JPH06242925A (ja) * | 1993-02-15 | 1994-09-02 | Mitsubishi Electric Corp | ソート処理装置 |
US6088701A (en) * | 1997-11-14 | 2000-07-11 | 3Dfx Interactive, Incorporated | Command data transport to a graphics processing device from a CPU performing write reordering operations |
US6775667B1 (en) * | 2000-05-01 | 2004-08-10 | Broadcom Corporation | Method and system for providing a hardware sort for a large number of items |
US20020111936A1 (en) * | 2001-01-19 | 2002-08-15 | Ec Outlook, Inc. | System and method for analyzing computer intelligible electronic data |
FR2830644A1 (fr) * | 2001-10-09 | 2003-04-11 | Canon Kk | Procede d'ordonnancement et d'execution de fonctions dans un reseau de communication |
US7370068B1 (en) * | 2002-09-04 | 2008-05-06 | Teradata Us, Inc. | Sorting of records with duplicate removal in a database system |
GB2424722A (en) * | 2005-03-21 | 2006-10-04 | Think Software Pty Ltd | Method and apparatus for generating relevance sensitive collation keys |
TWI511038B (zh) * | 2013-06-19 | 2015-12-01 | Univ Nat Chiao Tung | 可重組之排序裝置與排序方法 |
US10191744B2 (en) * | 2016-07-01 | 2019-01-29 | Intel Corporation | Apparatuses, methods, and systems for element sorting of vectors |
US20200004664A1 (en) * | 2018-06-28 | 2020-01-02 | Lendingclub Corporation | Automatic mock enablement in a multi-module software system |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4131947A (en) * | 1976-08-06 | 1978-12-26 | Armstrong Philip N | Random access digital sorter |
US4090249A (en) * | 1976-11-26 | 1978-05-16 | International Business Machines Corporation | Apparatus for sorting records in overlap relation with record loading and extraction |
US4110837A (en) * | 1976-12-30 | 1978-08-29 | International Business Machines Corporation | Apparatus for the sorting of records overlapped with loading and unloading of records into a storage apparatus |
US4209845A (en) * | 1977-01-25 | 1980-06-24 | International Business Machines Corporation | File qualifying and sorting system |
-
1982
- 1982-05-06 US US06/375,669 patent/US4499555A/en not_active Expired - Lifetime
-
1983
- 1983-04-14 GB GB08333025A patent/GB2129985B/en not_active Expired
- 1983-04-14 WO PCT/US1983/000542 patent/WO1983004116A1/en active IP Right Grant
- 1983-04-14 DE DE3344141T patent/DE3344141C2/de not_active Expired - Fee Related
- 1983-04-14 EP EP83901763A patent/EP0109426B1/de not_active Expired
- 1983-04-14 NL NL8320161A patent/NL192354C/nl not_active IP Right Cessation
- 1983-04-19 CA CA000426173A patent/CA1192314A/en not_active Expired
- 1983-05-05 IT IT20954/83A patent/IT1170137B/it active
-
1984
- 1984-01-02 SE SE8400011A patent/SE445683B/sv not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4210109A1 (de) * | 1991-04-04 | 1992-10-08 | Mitsubishi Electric Corp | Datensortiervorrichtung zum fruehen erkennen einer fertigen datensortierung sowie sortierverfahren |
DE4210109C2 (de) * | 1991-04-04 | 1994-09-01 | Mitsubishi Electric Corp | Sortiervorrichtung zum Sortieren von Daten und Sortierverfahren |
Also Published As
Publication number | Publication date |
---|---|
GB2129985A (en) | 1984-05-23 |
CA1192314A (en) | 1985-08-20 |
SE8400011D0 (sv) | 1984-01-02 |
EP0109426B1 (de) | 1989-08-16 |
EP0109426A4 (de) | 1987-04-29 |
DE3344141C2 (de) | 1994-05-11 |
GB2129985B (en) | 1985-10-30 |
GB8333025D0 (en) | 1984-01-18 |
SE8400011L (sv) | 1984-01-02 |
NL8320161A (nl) | 1984-04-02 |
WO1983004116A1 (en) | 1983-11-24 |
IT1170137B (it) | 1987-06-03 |
SE445683B (sv) | 1986-07-07 |
NL192354B (nl) | 1997-02-03 |
US4499555A (en) | 1985-02-12 |
EP0109426A1 (de) | 1984-05-30 |
NL192354C (nl) | 1997-06-04 |
IT8320954A0 (it) | 1983-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3344141C2 (de) | Vorrichtung zur Neuordnung von Elementen in eine gewünschte Reihenfolge | |
EP0850481B1 (de) | Einrichtung zum sprungweisen adressieren bestimmter leitungen eines seriell arbeitenden digitalen speichers | |
DE3300261C2 (de) | ||
DE69108068T2 (de) | Rahmenumstrukturierungsschnittstelle für Digitalfolgen multiplexiert im Zeitmultiplex aus digitalen untergeordneten Kanälen von verschiedenen Bitraten. | |
EP0046499B1 (de) | Schieberegister für Prüf- und Test-Zwecke | |
DE2621882C3 (de) | Speicher für Rechenautomaten mit mindestens zwei parallel angeordneten, einen Rücklaufkreis aufweisenden Speicherschleifen | |
DE3740338A1 (de) | Selbstleitweglenkender schalter | |
DE2627788C2 (de) | Speicher für Rechenautomaten mit parallel angeordneten, einen Rücklaufkreis aufweisenden Speicherschleifen | |
DE2519381A1 (de) | Datenverarbeitungssystem | |
DE2215066A1 (de) | Informationsspeicher mit Schieberegister | |
DE68922930T2 (de) | Impulseinblendungsanordnung. | |
DE2758151A1 (de) | Einrichtung zum sortieren von datensaetzen | |
DE3423710A1 (de) | Verfahren zur datenuebertragungssteuerung | |
DE3887249T2 (de) | Digitaler Multiplexer. | |
DE3722907C2 (de) | ||
DE1271191B (de) | Einrichtung zur UEbertragung von Informationseinheiten in die Binaerstellen eines Umlaufspeichers | |
DE2822896C2 (de) | ||
DE69016063T2 (de) | PCM-Übertragungssystem. | |
EP0201634B1 (de) | Digitaler Wortgenerator zur automatischen Erzeugung periodischer Dauerzeichen aus n-bit-Wörtern aller Wortgewichte und deren Permutationen | |
DE2110458C3 (de) | Speicheranordnung in einem datenverarbeitenden System | |
DE2459476C3 (de) | ||
DE1268885B (de) | Verfahren zum Sortieren von digitalen Magnetbanddaten und Vorrichtung zur Durchfuehrung des Verfahrens | |
DE3331043C2 (de) | ||
DE1512874A1 (de) | Verfahren und Anordnung zur Leitwegsteuerung in mit Schaltmatrizen aufgebauten elektrischen Verbindungsnetzwerken | |
DE2318275A1 (de) | Anordnung zur uebertragung von informationsbits zwischen einer gruppe von arhythmischen kanaelen und einem synchronen kanal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8127 | New person/name/address of the applicant |
Owner name: AT & T TECHNOLOGIES, INC., NEW YORK, N.Y., US |
|
8110 | Request for examination paragraph 44 | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8328 | Change in the person/name/address of the agent |
Free format text: BLUMBACH, KRAMER & PARTNER, 65193 WIESBADEN |
|
8339 | Ceased/non-payment of the annual fee |