DE2750400A1 - Schaltungsanordnung fuer das mit dem laden und abrufen von datensaetzen ueberlappende sortieren von datensaetzen - Google Patents
Schaltungsanordnung fuer das mit dem laden und abrufen von datensaetzen ueberlappende sortieren von datensaetzenInfo
- Publication number
- DE2750400A1 DE2750400A1 DE19772750400 DE2750400A DE2750400A1 DE 2750400 A1 DE2750400 A1 DE 2750400A1 DE 19772750400 DE19772750400 DE 19772750400 DE 2750400 A DE2750400 A DE 2750400A DE 2750400 A1 DE2750400 A1 DE 2750400A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- comparison
- registers
- register
- sorting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 claims description 9
- 230000001174 ascending effect Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 5
- 125000004122 cyclic group Chemical group 0.000 claims 1
- 230000000630 rising effect Effects 0.000 claims 1
- 230000002459 sustained effect Effects 0.000 claims 1
- 210000004027 cell Anatomy 0.000 description 67
- 230000015654 memory Effects 0.000 description 31
- 230000005540 biological transmission Effects 0.000 description 28
- 210000002414 leg Anatomy 0.000 description 18
- 239000004020 conductor Substances 0.000 description 9
- 238000012546 transfer Methods 0.000 description 8
- 230000000875 corresponding effect Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 210000000689 upper leg Anatomy 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000007664 blowing Methods 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 210000000352 storage cell Anatomy 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
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/22—Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
Description
Corporation, Armonk, N.Y. 10504 heb-pi
Schaltungsanordnung für das mit dem Laden und Abrufen von Datensätzen überlappende Sortleren von Datensätzen
Die Erfindung betrifft eine neuartige Schaltungordnung für das gleichzeitig und überlappend mit dem Laden und Abrufen
von Datensätzen oder Datenworten erfolgende Sortieren von Datensätzen oder Datenworten. Diese neuartige Schaltungsanordnung gestattet das Sortieren von aus mehreren Bits bestehenden Datensätzen oder Datenworten, wobei sich die Sortierzeit mit dem Einspeichern und Ausspeichern der Datensätze
überlappt.
Die erfindungsgemäß aufgebaute Schaltungsanordnung kann man sich etwa wie einen ü-förmigen Durchlaufprozessor oder "Pipelineprozessor" vorβteilen, bei dem der normale Datenfluß entlang des einen Schenkels des U's nach unten und dann längs
des anderen Schenkels des U's nach oben verläuft. Zwischen den beiden Schenkeln sind Querverbindungsleitungen vorgesehen
die einen Datenaustausch ermöglichen. Eingangsseltig werden die Datensätze mit ihren Kennzeichen nacheinander über den
linken Schenkel eingespeichert, und die Datensätze treten nach der Verarbeitung an der Oberseite des rechten Schenkels
aus. Die Kennzeichen in den gültigen Datensätzen, die sich längs des rechten Schenkels aufwärts bewegen, werden selektiv
mit denjenigen gültigen Datensätzen verglichen, die sich im linken Schenkel abwärts bewegen. Dabei werden entweder
die ursprünglichen Datensätze oder deren Permutation in einem Zeitzyklus an der nächsten in übertragungsrichtung liegenden
Position des ü-förmigen DurchlaufProzessors ankommen. Ein normaler Durchlauf ohne Austausch von Datensätzen erfolgt
dann, wenn die Vergleiche ungültige Datensätze betreffen, und
SA 976 012
809822/0632
ein Ausgangssignal wird dann unterdrückt/ wenn beide Datensätze ungültig sind. Bei Operationen, die diese Struktur verwenden,
wird die Sortierzeit vorzugsweise das synchronisierte Einspeichern und Ausspeichern überlappen.
Der Durchlaufprozessor oder Pipelineprozessor besteht dabei aus einer Anzahl logischer Schaltungsblöcke, die als Steuereinheiten
bezeichnet werden sollen. Jede Steuereinheit hat dabei etwa die Form einer schiefliegenden Acht und besteht
aus einer oben links liegenden Zelle und einer unten rechts liegenden Zelle. Die Steuereinheiten sind so übereinander
angeordnet, daß die übereinanderliegenden linken Zellen den linken Schenkel für eine Datenübertragung nach unten bilden,
während die übereinanderliegenden rechten Zellen den rechten Schenkel für eine Datenübertragung nach oben bilden. Die
Verbindung zwischen den beiden Schenkeln und auch der Ausgang aus dem ü-förmigen Durchlaufprozessor verwenden jeweils Pufferzellen,
die als teilweise gesperrte Steuereinheiten bezeichnet werden können.
In diesem Zusammenhang sei auf die US-Patenschrift 3 997 880 verwiesen sowie auf die Deutsche Patentanmeldung
P 27 20 376.5 der Anmelderin.
Diese Anmeldung ist darauf gerichtet, bei einer gleichförmigen Leiterstruktur der in der US-Patentschrift 3 997 880 beschriebenen
Art die gesamte für Einspeichern in Serie, Sortieren und Ausspeichern von Datensätzen erforderliche Zeit
möglichst klein zu halten. Jede dieser gleichförmigen Leiterstrukturen besteht aus Speicherschleifen gleicher Länge, in
denen Datensätze gleicher Länge eingespeichert werden können. j Die Schleifen sind miteinander durch Umschalter, die in
Magnetblasetechnik aufgebaut sind, zu einer linearen An-
ι Ordnung verbunden. Die in der Deutschen Patentanmel-
SA 976 012
809822/0632
dung 27 2O 376.5 beschriebene Anordnung setzt die Verarbeitungszelt dadurch herab, daß das Sortleren von Datensätzen
durch die kritische Verwendung mehrfacher gleichförmiger Leiterstrukturen ungleicher Länge überlappend mit dem Einspeichern und Ausspeichern In Serie durchgeführt wird. Damit
wird das Sortleren In einer Anzahl voll eingespeicherter langer Leiterstrukturen möglich/ während die Datensätze gerade
in kürzere Leiterstrukturen eingespeichert sind bzw. vor
der Einspeicherung stehen. Das überlappende Sortieren des
Speicherinhalts der längeren Leiterstrukturen mit dem gleichzeitigen Einspeichern der kürzeren Leiterstrukturen hat zur
Folge, daß der Speicherinhalt aller Leiterstrukturen dann sortiert ist, wenn die kürzeste Leiterstruktur voll eingespeichert ist. Die teilweise sortierten Ergebnisse werden in
einem getrennten Durchlauf, wie die Leiterstrukturen ausgespeichert werden, miteinander vermischt.
Vorzugsweise ist der Durchlaufprozessor oder Pipelineprozessor gemäß der Erfindung nicht auf die Anwendung von Magnetblasentechnik oder Schieberegistertechnik beschränkt und muß
auch nicht in Serie betrieben werden. Es ist lediglich ein einziger mit logischen Schaltungen zum Austauschen und Fortschalten von Datensätzen an voraus bestimmten Punkten versehener Datenübertragungsweg mit Verarbeitungsmöglichkeit
vorzusehen. Dies wird dadurch erreicht, daß man eine an sich lineare Anordnung eines solchen Durchlaufprozessors U-förmig
anordnet und dann entsprechende Abfühl/Vergleichs- und Austauschschaltungen zwischen den Speicherinhalten an bestimmten
korrelierten Punkten in den beiden Schenkeln der U-förmigen Struktur vorsieht. Für das Sortieren von N Datensätzen sind
2N Zellen erforderlich. Davon sind 2N - 2 Zellen zu (N-1) Steuereinheiten angeordnet, zu denen noch eine Pufferzelle
für eine Kopplung zwischen den nach unten bzw. nach oben gerichteten Schenkeln und eine weitere Pufferzelle als Ausgangspuffer kommen. Wenn zum Einspeichern eines jeden Datensatzes
SA 976 012
809822/0632
in den Durchlaufprozessor zwei Taktzyklen verwendet werden, dann sieht manf daß bei einem Beginn zum Zeitpunkt t der erste
Vergleich zum Zeitpunkt t +(N+1) Zyklen beginnt, der erste sortierte Datensatz bei tQ+(2N+1) Zyklen auftritt, der letzte
Vergleich bei tQ+(3N-3) Zyklen stattfindet und der letzte sortierte
Datensatz zum Zeitpunkt t +(4N-1) Zyklen ausgegeben wird.
Die Vorteile dieser Sortierschaltung gegenüber der in der Deutschen Patentanmeldung P 27 20 376.5 angegebenen Schaltung
sind folgendet
1. Die neue Schaltungsanordnung kann in einer Anzahl von
verschiedenen Datenverarbeitungstechniken aufgebaut werden.
2. Sie kann entweder wortparallel oder serial bei beliebiger Datenbreite aufgebaut werden.
3. Es wird nur eine durchgehende Datenübertragung oder Pipeline verwendet. Hier müssen keine Ergebnisse miteinander
vermischt werden.
4. In der älteren Anmeldung ist jede Leiterstruktur nahezu vollständig geladen, bevor ein Vergleich beginnen kann.
In der vorliegenden Erfindung beginnt der Vergleich, sobald mehr als die Hälfte aller Datensätze in den
U-förmigen Durchlaufprozessor eingelaufen ist.
Die Erfindung wird nunmehr anhand von Ausführungsbeispielen , in Verbindung mit den beigefügten Zeichnungen im einzelnen
beschrieben werden.
In den Zeichnungen zeigt:
Fig. 1 die einzelnen logischen Schaltungsblöcke mit j ihren äußeren Anschlüssen,
SA 976 012
009822/0632
der Erfindung, der aus Einheitszellen aufgebaut ist,
Fig. 3 die logische Schaltung der in Fig. 2 dargestellten Sortierschaltung,
bestehenden, für die Verwendung in dem erfindungsgemäß aufgebauten Sortierer geeigneten Datensatzes.
Fig. 5 zeigt das Format für einen Datensatz, bei dem das Kennzeichen oder der Sortierbegriff bei jeder Bitposition beginnen kann und praktisch den ganzen Datensatz ausfüllen kann.
Jeder eingespeicherte Datensatz ist von einem Gültigkeitskennzeichen begleitet. Die überwachung auf Gültigkeit und der
Vergleich der Sortierbegriffe sind für eine Entscheidung zu einem Austausch oder zum Sortieren der Datensätze erforderlich.
Die bevorzugte Ausführungsform soll nunmehr beschrieben werden,
N Datensätze können im allgemeinen unter Verwendung von (N-1) Steuereinheiten plus zwei Pufferzellen sortiert werden. Der
Einfachheit halber soll N auf vier begrenzt sein. Die Ver- j allgemeinerung auf andere Werte von N über N+1 auf N+M kann !
ohne Schwierigkeiten gebildet werden. Die Datensätze sollen ; außerdem nicht größer sein, als ein in einer Zelle vornan- |
denes Register aufnehmen kann. Diese Datensätze brauchen deswegen noch nicht eine vorgegebene Länge aufzuweisen, da jeder
SA 976 012
809822/0632
275Ü4Ü0
- ίο -
Datensatz bis zum vollen Umfang des Datenregisters mit zusätzlichen
Nullbits aufgefüllt werden kann.
In Fig. 1 sind die einzelnen Bestandteile der Sortierschaltung selbst gezeigt. In Fig. 1a ist die primäre logische
Schaltung, die als Steuereinheit bezeichnet wird und das Aussehen einer schiefliegenden Acht aufweist, mit einer oberen
linken Zelle L und einer unteren rechten Zelle R dargestellt. Jede Steuereinheit besitzt außerdem ein Register zur
Aufnahme eines Datensatzes sowie senkrechte und waagrechte Eingang s/Ausgangsleitungen.
Im Betrieb können jeweils nur zwei der vier Ausgangsleitungen einer Steuereinheit betätigt sein, nämlich entweder die beiden
waagrechten Ausgangsleitungen (h" , h" ) oder die beiden
senkrechten Ausgangleitungen (vr118, v^118). Das Kriterium für
die selektive Betätigung dieser Leitungen ergibt sich aus einer Vergleichsregel zwischen einem zu einem gültigen Datensatz
gehörigen Sortierbegriff in der linken Zelle mit einem zu einem gültigen Datensatz gehörigen Sortierbegriff in der
rechten Zelle. Angenommen die Datensätze sollen in aufsteigender Ordnung sortiert werden, dann würde ein Datensatz mit
Alis 2V.li fl
einem kleineren Sortierbegriff bei L·^ oder v£ auftreten,
während ein Datensatz mit einem größeren Sortierbegriff bei v£ oder h£ auftreten würde. Wenn ungültige Datensätze
auftreten, erfordert dies eine besondere Behandlung. Diese wird für Sortieren in aufsteigender Ordnung durch folgende
Regel formuliert.
Wenn C(L)>C(R) oder wenn ein ungültiger Datensatz vorhanden
ist, werden die senkrechten Ausgangsleitungen betätigt (normaler Datenfluß);
sonst werden die waagrechten Ausgangsleitungen betätigt (anormaler Datenfluß). Eine Sortierung nach absteigender
Ordnung erhält man dann, wenn man das Zeichen _>_ durch das
Zeichen £ ersetzt.
976 012 809822/0632
Die unterste Zelle (Flg. 1B) und die oberste (Flg. 1C) sind
halbierte und vereinfachte Ausführungsformen einer L- oder R-Zelle einer Steuereinheit. Sie wirken beim Vergleich nicht
mit und liefern nur das vorgeschriebene Ausgangssignal mit
Verzögerung als Folge einer Eingabe aus einer der beiden Eingangsleitungen.
Die Sortlerschaltung wird aus einer Anzahl übereinander angeordneter oder gestapelter Steuereinheiten und zwei zusätzlichen Pufferzellen aufgebaut, wie dies Flg. 2 zeigt. Die jeweils linken Zellen sind durch Ausrichtung Ihrer senkrechten
Ausgangsleitungen zur Bildung des linken Schenkels für einen nach unten gerichteten Datenfluß angeordnet, während die
rechten Zellen ebenfalls über ihre senkrechten Ausgangsleitungen für einen oben gerichteten Datenfluß den rechten Schenkel bilden. Ein Datenfluß von oben nach unten bzw. von unten
noch oben soll als normaler Datenfluß bezeichnet werden. Die waagrechten Ausgangsleitungen sind entsprechend miteinander
ausgerichtet, so daß sich Querverbindungsleitungen zwischen den beiden Schenkeln ergeben. Die übereinander angeordneten
Steuereinheiten werden unten links durch eine unterste Zelle und oben rechts durch eine oberste Zelle ergänzt, deren senkrechte und waagrechte Leitungen entsprechend ausgerichtet sind»
In Fig. 2 erhält man dadurch eine Sortierschaltung für vier
Datensätze. Der linke Schenkel der U-förmigen Sortierschaltung
besteht aus der Eingangsleitung 1, den Steuerblockzellen S1L, S2L, S3L und der untersten Zelle B, die als S4L bezeichnet
werden könnte, sowie aus den Verbindungsleitungen 5, 9 und Der rechte Schenkel besteht aus den Steuerblockzellen S3R, |
S2R, S1R und der obersten Zelle T, (die auch als SOR ange- ,
sehen werden könnte) und den Verbindungsleitungen 21, 27 j und 33. Die unterste Zelle B arbeitet als Umkehrpunkt und koppelt den linken mit dem rechten Schenkel. Durch Kennzeichnung
von h^us eines oberen Steuerblocks mit h^ des unmittelbar
SA 976 012
$09822/0632
!darunterliegenden Steuerblocks, ebenso durch Kennzeichnung von h^ eines Steuerblocks mit I^ eines unmittelbar darüberliegenden
Steuerblocks lassen sich Querverbindungen zwischen den beiden Schenkeln in regelmäßigen Abständen herstellen.
Diese Querverbindungen sind hierbei die Leitungen 17, 19, die die untere Zelle B mit der Steuerblockzelle S3R verbinden,
Leitungen 23 und 25, die die Steuerblockzelle S3L mit S2R verbinden, Leitungen 29 und 31, die die Steuerblockzelle
S2L mit S1B verbinden und schließlich Leitung 37, die
die oberste Zelle T mit der Steuerblockzelle S1L verbindet. Die waagrechte Eingangsleitung nach S1L ist gesperrt, ebenso
die senkrechte Eingangsleitung nach S3R. Diese gesperrten Leitungen können, wie in Fig. 2 gezeigt, als auf festem Eingangssignal
Null liegend angesehen werden.
Von ganz besonderer Bedeutung ist, daß bei dieser logischen Schaltung jede Einheit gleichmäßig, gleichzeitig und periodisch
durch gleichförmige Abstände aufweisende Taktzyklen taktmäßig angesteuert wird. Jeder dieser Steuerblöcke kann
dabei ein Paar gültiger Datensätze aufnehmen, sie vergleichen und in einem Taktzyklus entweder über eine waagrechte oder
über eine senkrechte Leitung abgeben. Die Steuerblöcke, bei denen in keiner der Zelle ein gültiger Datensatz liegt, haben
kein gültiges Ausgangssignal und können mit normalem senkrechten
Ausgang betrieben werden. Diejenigen Blöcke mit genau einem ungültigen Datensatz arbeiten mit einem normalen
senkrechten Ausgang. Die oberste Zelle T nimmt ihr Eingangssignal von der obersten Steuerblockzelle S1R in ihren Datensatzpuffer
auf und überträgt diesen Datensatz dann nach oben in einem Zyklus aus der Sortierschaltung heraus. In gleicher
Heise nimmt die unterste Zelle B ihr Eingangssignal von der untersten Steuerblockzelle S3L auf und überträgt diesen Datensatz
in einem Zyklus über Leitung 9, 10 nach der Steuerblockzelle S3R. Alle eingangs zugeführten Datensätze sind mit
SA 976 012
809822/0632
einem Gültigkeitskennzeichen versehen, das nur aus einem Bit
zu bestehen braucht. Alle innerhalb der Sortierschaltung duxhgeführten Datenübertragungen werden zusammen mit dem Gültigkeitskennzeichen durchgeführt. Ausgangsseitig kann dieses
Gütligkeitskennzeichen von den gültigen Datensätzen entfernt werden.
Die gesamte Sortierschaltung kann dabei einen Datensatz in zwei Zyklen aufnehmen und einen Datensatz in zwei Zyklen abgeben. Jeder Steuerblock ist dabei In jedem zweiten Zyklus
untätig, er hält jedoch während eines Arbeitszyklus ein Paar von eingangsseitig zugeführten Datensätzen, vergleicht diese
und gibt sie alle in einem Zyklus aus.
Fig. 3 zeigt die für vier Datensätze bestimmte Sortierschaltung gemäß Fig. 2 als logische Schaltung. Jeder der Steuerblöcke (S1L,R), (S2L,R) und (S3L,R) enthält für jede Zelle
ein Speicherregister. Jedes Speicherregister kann dabei einen Datensatz gespeichert halten und liefert ein Gültigkeitskennzeichen. Jeder der Steuerblöcke enthält ferner Prüfschaltungen
für die Gültigkeit, zum Vergleichen der Sortierbegriffe der Datensätze und Torschaltungen zum Weiterübertragen der in den
L-, R-Zellen gespeicherten Datensätze entweder über die senkrechten Ausgangsleitungen oder über die waagrechten Ausgangsleitungen. Diese logischen Schaltungen können unter Verwedung von üblichen bistabilen Kippschaltungen, UND-Glieder,
ODER-Gliedern oder Exklusiv-ODER-Gliedern aufgebaut sein.
Diese Schaltungen sind allgemein bekannt und von üblicher Ausführungsform und sind selbst kein Gegenstand der Erfindung.
Der Fachmann sei in diesem Zusammenhang auf das Standardwerk von R.K. Richarde, "Digital Design" Wiley-Interscience, New
York 1971, Seiten 461-462 verwiesen.
Gemäß Fig. 3 laufen zu sortierende Datensätze nacheinander über Leitung 1 in die Steuerblockzelle S1L ein, wo sie in das
SA976012 809822/0632
; - 14 -
Register 43 eingespeichert und mit Gültigkeitskennzeichen versehen
werden. Zum selben Zeitpunkt, zu dem das Register 43 mit einem neuen Datensatz geladen wird, wird das Register 59
in S1R mit einem entweder vom Register 79 über UND-Glied 75
und Leitung 27 oder vom Register 63 über UND-Glied 67 und Leitung 31 ankommenden, mit seinem Gültigkeitskennzeichen versehenen
Datensatz geladen. Die beiden Sortierbegriffe und Kennzeichen werden von den Registern 43 und 59 über Leitung 45
bzw. 61 an die Vergleichsschaltung 51 abgegeben. Ein das Vergleichsergebnis, beispielsweise den relativen Größenvergleich
zwischen den Sortierbegriffen anzeigendes Signal wird über Leitungen 53 nach der Gruppe von UND-Gliedern 47, 49,
55, 57 für eine selektive Ausgabe übertragen. Eine beispielsweise über Leitung 53 übertragene binäre Null bewirkt, daß
die UND-Glieder 47 und 57 als Ausgangssignal eine binäre Null abgeben und damit die waagrechten Querverbindungen
sperren, während gleichzeitig die UND-Glieder 49 und 55 aufgetastet werden und den Speicherinhalt der Register 43 bzw.
49 beim entsprechenden Taktsignal längs der normalen senkrechten Datenflußrichtung übertragen. Umgekehrt bewirkt ein
Vergleichsergebnis von 1 auf Leitung 53 die Sperrung der UND-Glieder 49 und 55 für die normale übertragungsrichtung senkrecht,
während gleichzeitig durch Entsperren der UND-Glieder 47 und 57 die Speicherinhalte der Register 43 und 59 über die
entsprechenden Querverbindungsleitungen abgegeben werden.
Die entsprechenden Übertragungsleitungen sind dabei die folgenden:
:Für ein Vergleichsergebnis Null auf Leitung 53 (normale: Datenfluß)
: Beim Auftreten des entsprechenden Taktsignals wird der im Register 53 in der Steuerblockzelle S1L gespeicherte
Datensatz in senkrechter Richtung über Leitung 45, UND-Glied 49 und Leitung 5 an das Register 63 in der Steuerblockzelle
S2L übertrag©«- r>er im p*?gister 59 der Steuerblockzelle S1R
SA 976 012
809822/0632
gespeicherte Datensatz wird in senkrechter Richtung über Leitung 61, UND-Glied 55 und Leitung 33 an das Register 40 in
der oberen Zelle T übertragen. An den Querverbindungsleitung®
29 und 39 liegen Nullen, wodurch die Speicherinhalte der
Speicherregister 63 und 40 nicht beeinflußt werden.
Für ein Vergleichsergebnis 1 auf Leitung 53 (nicht normale Übertragung)t Beim Auftreten des entsprechenden Taktsignals
wird der in Register 43 in S1L eingespeicherte Datensatz in
waagrechter Richtung Über Leitung 45, UND-Glied 47, Leitung
57 nach dem Speicherregister 40 in der oberen Zelle T übertragen. Der im Speicherregister 59 in S1R gespeicherte Datensatz wird in waagrechter Richtung über die Leitung 61, UND-Glied 57, Leitung 61 nach dem Speicherregister 63 in der
Steuerblockzelle S2L übertragen. An den in senkrechter Richtung verlaufenden Leitungen 5 und 33 liegen Nullen, die die
Speicherregister 63 und 40 nicht beeinflussen.
Diese Beschreibung kann für alle Steuerblöcke für eine Sortierjschaltung für N-Datensätze verallgemeinert werden, wobei B j
als SNL und T als SOR bezeichnet wird.
Wenn der steuerblock Sj ein Vergleicheergebnis Null (normale
Übertragung) liefert, dann sind die waagrechten Ausgangsleitungen gesperrt, und die senkrechten Ausgangsleitungen sind
zum entsprechenden Taktzeitpunkt entsperrt und geben damit die Übertragung des Speicherregisterinhalts von SjL nach S(J-I-I)L
und ebenso von SjR nach S(j-1)R frei.
Wenn der Steuerblock Sj ein Vergleichsergebnis von 1 liefert (nicht normale Übertragung), dann werden die senkrecht verlaufenden Ausgangsleitungen gesperrt, die waagrechten Querverbindungsleitungen jedoch freigegeben, so daß beim Auftreten des entsprechenden Taktsignals der Speicherinhalt von
SA 976 012
809822/0632
SjL nach (S(j-I)R und der Speicherinhalt von SjR nach
S(j+1)L übertragen wird. Die Arbeitsweise am oberen und unteren Ende der Schaltung unterscheidet sich nur geringfügig
von der der Steuerblöcke· Das Ausgangssignal von B verläuft immer über die Querverbindungsleitung (in Fig. 3, Leitung
105, UND-Glied 107/ Leitung 19 nach dem Speicherregister 99 in der Steuerblockzelle S3R). Das Ausgangssignal von T läuft
immer längs der normalen übertragungsrichtung (UND-Glied 42, Leitung 41). Es gibt keine aktive Querverbindungsleitung
zur Abgabe des Speicherinhalts von T in waagrechter Richtung nach S1L. Aus Symmetriegründen ist die waagrechte Eingangsleitung von S1L mit einem Eingangssignal Null gekennzeichnet.
In gleicher Weise gibt es keine gültige aktive senkrecht verlaufende
Eingangsleitung für S3R, diese Leitung ist ebenfalls mit einer Null gekennzeichnet.
Eine Besprechung der Taktgabe erscheint hier angebracht. Zum Zeitpunkt t beginnt die Aufnahme der eingangsseitig ankommenden
Datensätze, so daß nach t plus einem Zyklus der erste Datensatz und der K-te Datensatz nach t + 2K + 1
! °
Zyklen S1L reicht. Alle ungeradzahlig gekennzeichneten Zellen
wie S1, S3, ..., S(2j-1), ... (S(N-I) oder SN) müssen während ! eines ungeradzahligen Zyklus bedient werden, der bei
jt + 2K +1 beginnt, nämlich innerhalb (t + 2K +1, t + 2K +2)
In gleicher Weise müssen alle geradzahligen Zellen SO, S2, ..., S(2j), ..., (S(N-D oder SN) während der geradzahligen
Zyklen bedient werden, beginnend mit t + 2K + 2, nämlich innerhalb von (t + 2K + 2, tQ + 2K + 3). Die Bedienung eines
j solchen Steuerblocks besteht aus folgenden Schritten: Zunächst aus Auswahl der Sortierbegriffe und Gültigkeitskennzeichen, deren Vergleich und Ausgabe von Vergleichsergebnissen
(Null oder Eins);
anschließend entsprechend dem Vergleichsergebnis die Auftastung von UND-Gliedern zur Steuerung entweder der waag-
SA 976 012
609822/0632
rechten oder senkrechten Durchschaltung für übertragung des
Speicherregisterinhalts an eine benachbarte Zelle. Während der ungeradzahligen Zyklen können die geradzahligen Blöcke
zwar bedient werden» dürfen jedoch kein störendes Ergebnis liefern. Dies trifft ebenfalls für die ungeradzahligen Blöcke
während der geradzahligen Zyklen zu. Man sieht, daß während dieser Zeiten die Steuerblöcke, deren zeitliche Parität nicht
zusammenpaßt, einen gültigen Registerinhalt haben. Bei der
bevorzugten Ausführungsform werden Steuerblöcke nicht passender zeitlicher Parität nicht betätigt, es sei denn für die
Aufnahme von Ergebnissen von aktiven Steuerblöcken.
Der Genauigkeit halber sind in Fig. 3 die Einzelheiten der Taktschaltung weggelassen mit Ausnahme einer Torschaltung,
der von außen ein Taktsignal zugeführt wird. Die Rückstellung der einzelnen Register in einen ungültigen Zustand ist auch
kurz durch einen äußeren mit "Rückstellen" bezeichneten Anschluß angedeutet.
Fig. 4 zeigt die dynamische Ablauffolge beim Einsatz der Sortierschaltung gemäß Fig. 3 zum Sortieren von vier Datensätzen
C, B, D, A in A, B, C, D, wobei der Sortierbegriff A < B < C < D ist. Zum Zeitpunkt t liegen die Datensätze außerhalb
der Sortierschaltung, und der Inhalt aller Speicherregister ist auf "ungültig" zurückgestellt.
Zum Taktzyklus t + 1 ist der erste Datensatz C in das Speicherregister 43 von S1L eingelaufen, und die Speicherblöcke
S1 und S3 sind betätigt. S3 enthält nur ungültige Speicherinhalte und liefert kein brauchbares Ausgangssignal. In S1 handelt es sich um den Vergleich eines gültigen Datensatzes
(in S1L) mit einem ungültigen Datensatz (in S1R), wodurch ein für normale Datenübertragung gültiges Signal Null auf
auftritt, so daß C von 43 nach 63 und außerdem auch noch ein
SA 976 012
309822/0632
ungültiger Datensatz von 59 nach 40 übertragen werden. Im folgenden soll die Bewegung ungültiger Datensätze nur dann
erwähnt werden, wenn dies Einfluß auf gültige Ergebnisse hat.
Bei t + 2 werden geradzahlige Steuerblöcke betätigt, dies
sind dabei S2, ebenso T (oder SOR) und B (oder S4L). Ein Vergleich zeigt, daß nur in S2L ein gültiger Datensatz eingespeichert ist, der in Nonnairichtung von 63 nach 83 übertragen wird. Während der Dauer dieser Übertragung läuft der
zweite Datensatz (B) in das Speicherregister 43 von S1L ein.
und S3L einen gültigen Speicherinhalt von den Speicherregistern
43 und 83 an die Speicherregister 63 bzw. 103 abgeben.
Zum Taktzyklus tQ + 4 werden die Speicherblöcke SOR, S2, S4L
betätigt. Der aktive volle Speicherblock S2 gibt B vom Speicherregister 63 an das Speicherregister 83 ab. Die unten
liegende Speicherzelle S4L überträgt zwangsläufig Über eine
Querverbindungsleitung den Datensatz C vom Speicherregister 1O3 nach dem Speicherregister 99 in S3R. In der Zwischenzeit
läuft ein dritter Datensatz (D) in das Speicherregister 43 in S1L ein.
Zum Taktzyklus t + 5 sind S1 und S3 aktiv und ein Vergleich
zwischen zwei gültigen Datensätzen wird in S3 durchgeführt und liefert ein Vergleichsergebnis 1 und anschließend eine
Übertragung über eine Querverbindungsleitung, bei der der Datensatz B von Speicherregister 99 nach dem Speicherregister
103 in S4L und der Datensatz C von Speicherregister 83 nach dem Speicherregister 79 in S2R übertragen wird und S1 nur
einen gültigen Datensatz aufweist, und damit eine normale in senkrechter Richtung verlaufende Datenübertragung von 43 nach
63 in S2L durchführt.
SA 976 012
809822/0632
Im Taktzyklus tQ + 6 sind SOR, S2 und S4L betätigt und aktiv,
woraus sich ein Vergleich in S2 mit einer übertragung in senkrechter Richtung sowie eine von S4L ausgehende Zwangs -übertragung in waagrechter Richtung ergibt.
Zum Taktzyklus tQ + 7 ergeben die Betätigung von S1 + S3
gültige Vergleiche. S1 ergibt eine übertragung über eine
Querverbindungsleitung, da die Datensätze A, B einander nicht richtig gegenüber lagen. S2 ergibt eine normale Datenübertragung in senkrechter Richtung, da die Lage der Datensätze
C und D richtig ist. Der letzte Datensatz Ά läuft dabei in S1L ein. Damit liegen alle eingangsseitig zuzuführenden Datensätze in der Sortierschaltung. j
Zum Taktzyklus t + 8 werden die Blöcke SOR, S2 und S4L betätigt. Bei S2 ergibt sich «ine übertragung über die Querver- !
bindungsleitung. S4L liefert zwangsläufig eine Querübertra- i gung, und SOR liefert zwangsläufig eine übertragung in senk- j
rechter Richtung nach oben, so daß der Datensatz A vom Spei- j cherregister 40 über das UND-Glied 42 und Ausgangsleitung 41
nach außen abgegeben wird.
Zum Taktzeitpunkt tQ + 9 werden S1, S3 betätigt, wobei S3
eine Querverbindung freigibt. Der Inhalt von S1L ist ungültig, wodurch sich eine senkrechte übertragung des Inhalte von
S1R nach SOR ergibt.
Zum Taktzyklus tQ + 10 liefert SOR das zweite gültige Ergebnis (B).
Zum Taktzyklus tQ + 11 haben S1L und S3L beide gültige Speicherinhalte, was zur normalen übertragung in senkrechter
Richtung führt. Diese normale übertragungsrichtung bleibt für den Rest der Sortieraufgabe erhalten. Beim Taktzyklus tQ +
SA 976 012
809822/0632
wird der letze Datensatz D nach außen abgegeben, und die Sortleraufgabe
1st beendet.
Die Sortlerschaltung für N-Datensätze kann aus (N-1) Steuerblöcken,
S1, S2, ..., S(N-I), und zusätzlich einer untersten Zelle B (SNL) gerade unterhalb von S(N-I)L und einer obersten
Zelle T(SOR) unmittelbar oberhalb von S1R aufgebaut werden. Alle In senkrechter Richtung verlaufenden Eingangs/Ausgangsanschlüsse
sind miteinander ausgerichtet, so daß In dem linken Schenkel eine normale nach abwärts gerichtete Datenübertragung
und Im rechten Schenkel eine nach aufwärts gerichtete
übertragung stattfinden kann. Alle waagrechten Eingangs/Ausgangsklemmen
sind ebenfalls miteinander ausgerichtet und dienen der Querverbindung. Die vertikale Eingangsklemme an
S(N-I)R ist Immer Null, und die waagrechte Eingangsklemme von
S1L ist ebenfalls immer Null. Fign. 2 und 3 liefern die Beschreibung
für den besonderen Fall N=4.
Zum Sortieren von N-Datensätzen läuft zu Beginn der Taktzeit
t der erste Datensatz am Ende des O-ten Zyklus (t , t +1)
ο ο ο
in S1L ein. Der j-te Datensatz läuft am Ende des 2j-ten Zyklus
(t +2j, t +2j+1) in S1L ein. Alle ungeradzahligen Steuerblöcke
(S1, S3) sind während der ungeradzahligen Taktzyklen (tQ+2k+1, tQ+2k+2) und alle geradzahligen Steuerblöcke (SO,
S2, S4) während der geradzahligen Zyklen (tQ+2k+2, tQ+2k+3)
aktiv. Die oberste Zelle T wird hier als SOR bezeichnet, d.h. die rechte Zelle eines geradzahligen Steuerblocks. Die unterste
Zelle wird hier als SNL behandelt, d.h. die linke Zelle von SN. Diese Zelle ist geradzahlig oder ungeradzahlig je
nachdem ob N gerade oder ungerade ist.
Die Vergleichsregeln für den Steuerblock SK für aufsteigende Ordnung sind folgendet
Ist der Inhalt von L j> dem Inhalt von R oder ist entweder
einer oder sind beide Datensätze ungültig, dann wird ein Ver-
SA 976 012
809822/0632
27504ÜÜ
gleichsergebnie Null auegegeben, das die in senkrechter Richtung liegenden Ausgangstorschaltungen freigibt und den Speicherinhalt von SKL nach S(k+1)L sowie den Inhalt von SKR nach
S(k-1)R überträgt.
Wenn das Vergleichsergebnis Eins ist, werden die an die Querverbindungsleitungen führenden Torschaltungen freigegeben, und
der Speicherinhalt von SKL wird an S(k-1)R und der Speicherinhalt von SKR nach S(k+1)L übertragen.
Nach t = t + (N-H) Zyklen beginnt der erste wahre Vergleich.
Nach t » t + (2N+1) Zyklen tritt das erste Ausgangssignal von SOR auf.
Nach t » t + (3N-3) Zyklen beginnt der letzte Vergleich.
Nach t = t + (4N-1) Zyklen tritt das letzte Ausgangsignal auf. Der Sortiervorgang ist abgeschlossen.
Der Sortiervorgang wird dabei vollständig mit dem Einspeichern (t , t +2N Zyklen) und dem Ausspeichern (t +2N+1,
tQ+4N-1) überlappt.
Wie bereits oben angedeutet, kann die Sortierschaltung auf unterschiedliche Weise aufgebaut sein. Da die Eingabe/Ausgabegeschwindigkeit ein Datensatz je zwei Zyklen beträgt und
die Vergleiche doppelt so häufig stattfinden, ist diese Schaltung besonders wirksam für solche Aufzeichnungen, die
sich in bezug auf die zu treffenden Entscheidungen an sich langsam bewegen. Ursprungsdatensätze von langsamen Speichern
sowie manche in Serienzugriff abgerufene Datensätze haben sicherlich die Eigenschaft. Für serielle Datensätze kann die
Zugriffsleitungsbreite bis auf 1 Bit für bitseriale Datensätze oder ein Byte (6 bis 8 Bit) Breite für byteseriale Datensätze
SA 976 012
€09822/0632
aus Kosten- und Platzgründen verringert werden. Dann wird
selbstverständlich mehr als ein Zeitintervall für die Bewegung eines vollständigen Datensatzes erforderlich sein. Andererseits
werden Vergleiche mit Sortierbegriffen oder Kennzeichen durchgeführt, die normalerweise einen kleinen Teil
des gesamten Datensatzes einnehmen und diese können mit modernen elektronischen Schaltungen rasch durchgeführt werden.
. Tatsächlich können die Sortierbegriffe sogar gesammelt oder zusätzlich abgespeichert und dann für sich getrennt durch
schnell arbeitende Schaltungen verglichen werden, solange sich die Datensätze entsprechend den Vergleichsergebnissen bewegen.
Selbstverständlich läßt sich die Sortierschaltung auch in zahlreichen verschiedenen Techniken ausführen, wie z.B. mit
Magnetblasenspeichern, ladungsgekoppelten Vorrichtungen, integrierten Halbleiterschaltungen oder Mischungen aus diesen
Techniken. Von Wichtigkeit ist dabei immer die Tatsache, daß
: die Sortierschaltung immer nur einen einzigen Verarbeitungsweg, sowie die logischen Schaltungen zum Austauschen und Fortschalten
oder Weiterschieben der Datensätze an vorbestimmten Punkten längs der Bahn benötigt. Dies wird dadurch erreicht,
: daß der Datenübertragungsweg U-förmig angeordnet wird und
daß an vorbestimmten Punkten Abfühl-, Vergleichs- und Austauschschaltungen
für einen Austausch von Speicherinhalten vorgesehen sind. Sobald mehr als N/2 Datensätze in die
Schaltung eingelaufen sind, kann der Sortiervorgang stattfinden. In der älteren Deutschen Patentanmeldung P 27 20 376.5
kann der Vergleich erst dann erfolgen, wenn N-2 Datensätze geladen sind.
Obgleich zunächst die tatsächlich beste bekannte Ausführungsform der Erfindung beschrieben wurde, lassen sich doch einige
Änderungen durchführen, ohne von Wesen und vom Schutzbereich ■
der Erfindung abzuweichen. Einige dieser wünschenwerten Änderungen
sind im folgenden noch angegeben.
SA 976 012
8Q9822/0632
Zunächst ist etwa die Hälfte aller Steuerblöcke jederzeit
nicht in Betrieb, da während der ungeradzahligen Taktzyklen nur die ungeradzahligen Steuerblöcke benötigt werden und
während der geradzahligen Taktzyklen nur die geradzahligen Steuerblöcke erforderlich sind. Eine wirtschaftliche bedeutende Verbesserung liegt darin, zwischen zwei benachbarten
Steuerblöcken nur eine Vergleichestufe vorzusehen, die dann
die ungeradzahligen Steuerblöcke während der ungeradzahligen Zyklen und die geradzahligen Steuerblöcke während der geradzahligen Zyklen bedient. Ist die Anzahl der Datensätze ungerade, dann ist diese Art der gemeinsamen Ausnutzung besonders günstig, weil eine ungerade Anzahl von Steuerblöcken
vorhanden ist. Für geradzahliges N bleibt ein Steuerblock übrig und muß daher seine eigene Vergleichsstufe enthalten.
Eine gemeinsame Ausnutzung von Vergleichsstufen noch höherer Ordnung ist solange möglich, als die gesamte Vergleichsgeschwindigkeit beibehalten wird. Es ist ferner ebenso möglich,
alle Vergleiche außerhalb der Sortierschaltung durchzuführen, wenn die Sortierbegriffe ausgelesen und an einem anderen Ort
miteinander verglichen werden. Die Vergleichsergebnissignale werden dann den so vereinfachten Schaltungsblöcken zugeführt.
Zweitens können durch eine kleine Veränderung der Sortierschaltung Datensätze bis zur doppelten Länge eines Speicherregister β eines Steuerblocke verarbeitet werden, vorausgesetzt, daß der Sortierbegriff in jedem Datensatz sich im
■ vorderen Teil des Datensatze· befindet und in einem Register
; vollständig enthalten sein kann. Der Rest des Datensatzes \ belegt dann eine benachbarte Zelle und folgt damit immer der
. Bewegung des vorderen Abschnitts, läuft also immer genau ! einen Zyklus hinterdrein.
Ferner kann die erfindungsgemäße Schaltungsanordnung dahingehend abgewandelt werden, daß dadurch der Vergleich von
SA 976 012
809822/0632
Datensätzen^ die länger sind als die Länge eines Register»/
erleichtert wird. Die Einstellung der Durchschaltung und der
Pufferung ist eine solche Möglichkeit, so daß das das Vergleichsergebnis anzeigende Signal in jedem aktiven Steuerblock für zwei aufeinanderfolgenden Zyklen den Ausgang der
Speicherregister in beiden Zellen während der letzten Phase des aktiven Zyklus und des nächsten Zyklus steuert, zu welchem
Zeitpunkt dann die Vergleichsschaltung gesperrt wird. Die Einstellung macht es möglich, daß der zweite Teil eines
langen Datensatzes der übertragung des ersten Teils, der den Suchbegriff und die Gültigkeitskennzeichen enthält, folgt,
ohne daß dabei irgendein Ausgang der aktiven Steuerblöcke beeinträchtigt wird. Durch diese Abwandlung können lange Datensätze
in die Sortierschaltung in zwei Segmenten einlaufen, wobei das zweite Segment dem ersten Segment genau um einen
Taktzyklus während des gesamten Sortierlaufes folgt. Die Eingabe/Ausgabegeschwindigkeit
bleibt bei dieser Betriebsart die gleiche, nämlich ein Datensatz für je zwei Taktzyklen.
Ferner kann die Sortierschaltung 2N-Zellen zum Sortieren von N-Datensätzen aufweisen. Die Schaltung sollte ferner in der
; Lage sein, eine kleinere Anzahl (beispielsweise M) von Datenj Sätzen zu sortieren. Dies läßt sich leicht dadurch erreichen,
daß man eine zwangsweise Querübertragung von der linken Zelle von S(M+1) vornimmt, wobei diese linke Zelle dann in eine
unterste Zelle degeneriert ist. Viele Verfahren können dafür eingesetzt werden. In der bevorzugten Anordnung wird die
kritische Vergleichsstufe so vorgespannt, daß sie während dieser Sortierlaufe mit kürzeren Datensätzen immer nur 1-Signale
abgibt. Ein anderer Weg besteht darin, fiktive Daten zur Erzielung dieses Vergleichssignals einzusetzen.
Viertens kann die oberste Pufferzelle (T oder SOR in Fig. 3) als geeigneter Platz für den Gesamtausgang benutzt werden,
SA 976 012
809822/0632
in dem die beiden Leitungen ^ und vR einem ODER-Glied
zugeleitet werden. Die Ergebnisse treten dabei um einen Zyklus früher auf.
SA 976 012
809822/0632
Leerseite
Claims (1)
- -X-PATENTANSPRÜCHESchaltungsanordnung für das mit den Laden und Abrufen von N Datensätzen überlappende Sortieren von mit Kennungen versehenen Datensätzen in einem Durchlaufprozessor mit gleichförmigem Weg für den Datenfluß, dem die Daten eingangsseitig nacheinander zuführbar und ausgabeseitig nacheinander entnehmbar sind, dadurch gekennzeichnet, daß an vorbestimmten Punkten des Datenweges (81 bis S4) Schaltmittel (45 bis 49, 55 bis 57, 61/ 51, 53) vorgesehen sind, die zu vorbestimmten Zeiten die Kennungen und Gültigkeitskennzeichen der Datensätze prüfen und selektiv abgefühlte Kennungen miteinander vergleichen, daß dabei die einzelnen Datensätze vom Eingang des Datenweges bis zu dessen Ausgang synchron jeweils um eine Position fortschaltbar sind, wenn der Vergleich der Kennungen zeigt, daß sich die Datensätze richtig gegenüberliegen, während andererseits die Datensätze synchron miteinander austauschbar sind, und daß dann die so ausgetauschten Datensätze wiederum synchron um eine Position weiterschaltbar sind, wenn die Werte der verglichenen Kennungen die Vergleichsregel befriedigen.Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß in dem gleichförmigen Datenweg ein erstes (43), ein zweites (59), ein drittes (63) und ein viertes (40) Register sowie eine erste (5) und eine zweite (33) Verbindungsleitung vorgesehen sind, wobei das erste und zweite Register (43, 59) der Speicherung eines ersten bzw· eines zweiten Datensatzes dienen, daß ferner zur Fortschaltung und zum Austauschen Auswahl schaltungen (45, 49, 55, 57, 61) und eine dritte (37)SA 976 012809822/0632und eine vierte (29) Verbindungsleitung zwischen den Registern vorgesehen sind, daß Abfühlschaltungen (51, 53) in Abhängigkeit von den im ersten und zweiten Register enthaltenen Datensatzkennungen eine selektive Anzeige der relativen Größe einer ersten und einer zweiten Art liefern, daß der Auswahlmechanismus für die Anzeige der relativen Größe erster Art in der Weise anspricht, daß eine Verbindung zwischen dem ersten und dem dritten Register (43, 63) über die erste Verbindungsleitung (5) und zwischen dem zweiten und vierten Register (59, 40) über die zweite Verbindungsleitung (33) herstellbar ist, und daß schließlich der Auswahlmechanismus für die Anzeige der relativen Größe zweiter Art in der Weise anspricht, daß eine Verbindung zwischen dem ersten und vierten Register (43, 40) über die dritte Verbindungsleitung (37) und zwischen dem zweiten und dritten Register (59, 63) über die vierte Verbindungsleitung herstellbar ist.3. Schaltungsanordnung nach Anspruch 2, dadurch gekennzeichnet, daß der gleichförmige Datenweg 2N-Register (43, 63, 83, 103, 40, 59, 79, 99) enthält, wobei 2N-2 Register paarweise zusammengefaßt sind, und daß zum Vergleich und Austausch von Datensätzen zwischen den Registern N-1 Vergleichsschaltungen vorgesehen sind, die jeweils einander entsprechende der paarweise angeordneten Register miteinander koppeln.4. Schaltungsanordnung nach Anspruch 3, dadurch gekenn- ; zeichnet, daß die 2N Register derart miteinander ge- : koppelt sind, daß sie einen U-förmigen gleichförmigen ; Datenweg bilden, wenn jede der Vergleichsschaltungen ! ein Vergleichssignal der ersten Art liefert, daß da-SA 976 012ÖQS822/0632bei im absteigenden Ast und im ansteigenden Ast des U-förmigen Datenweges jeweils N Register angeordnet sind einschließlich eines Registers (103), das den absteigenden Ast mit dem ansteigenden Ast koppelt und eines weiteren Registers (40), das den ansteigenden Ast mit dem Ausgang verbindet.5. Schaltungsanordnung nach Anspruch 1 bis 4, dadurch gekennzeichnet» daß für einen zyklischen Betrieb in gleiche Abstände voneinander aufweisenden Zeitintervallen die gesamte Anordnung mit dem ersten von zum Zeitpunkt t zu sortierenden N Datensätzen ladbar ist und die Schaltung ihren Vergleich von Datensatzkennungenin t + N+1 Zeitintervallen durchführt und den ersten οsortierten Datensatz in t + 2N + 1 Zeitintervallen aus-gibt/ den letzten Vergleich zwischen den zu sortierenden Datensätzen nach tQ + 3N - 3 Zeitintervallen durchführt und den letzten sortierten Datensatz nach tQ + 4N - 1 Zeitintervallen ausgibt.6. Schaltungsanordnung nach Anspruch 5, dadurch gekennzeichnet, daß Steuerschaltungen derart paarweise angeordnet sind, daß jedem Paar die gleiche Vergleichs- i schaltung für abwechselnde Zeitzyklen gemeinsam zur Verfügung steht.7. Schaltungsanordnung nach Anspruch 6, dadurch gekennzeichnet, daß für eine Sortierung von M Datensätzen, mit M^N mit überlappender Eingabe /Ausgabe die (M+1)te Steuerschaltung in der Weise betätigbar ist, daß für die Dauer des Sortiervorgangs eine Querverbindungsleitung durch die (M+1)te Steuerschaltung hergestellt und aufrechterhalten wird.SA 976 012609822/06328. Schaltungsanordnung nach Anspruch 1 bis 6, dadurch gekennzeichnet, daß alle aus mehreren Bits bestehenden Datensätze die gleiche feststehende Länge aufweisen.9. Schaltungsanordnung nach Anspruch 4, dadurch gekennzeichnet, daß anstelle des einen weiteren Registers (40) ein logisches ODER-Glied vorgesehen ist, das den aufsteigenden Zweig und eine von dem dem Eingang am nächsten liegenden Register (43) kommende Querverbinbundsleitung unter ODER-Verknüpfung direkt mit dem Ausgang verbindet.10. Schaltungsanordnung nach Anspruch 5, dadurch gekennzeichnet, daß das von der Vergleichsschaltung kommende Vergleichssignal auf die Auswahlschaltungen, Verbindungsleitungen und die zugehörigen Register in der Weise für zwei aufeinanderfolgende Zyklen einwirkt, daß damit der Vergleich und die Durchschaltung von Datensätzen möglich ist, deren Länge die Länge eines Registers überschreitet.SA 976 012809822/0632
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/745,255 US4090249A (en) | 1976-11-26 | 1976-11-26 | Apparatus for sorting records in overlap relation with record loading and extraction |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2750400A1 true DE2750400A1 (de) | 1978-06-01 |
Family
ID=24995909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19772750400 Withdrawn DE2750400A1 (de) | 1976-11-26 | 1977-11-11 | Schaltungsanordnung fuer das mit dem laden und abrufen von datensaetzen ueberlappende sortieren von datensaetzen |
Country Status (4)
Country | Link |
---|---|
US (1) | US4090249A (de) |
DE (1) | DE2750400A1 (de) |
FR (1) | FR2372470A1 (de) |
GB (1) | GB1542054A (de) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4493048A (en) * | 1982-02-26 | 1985-01-08 | Carnegie-Mellon University | Systolic array apparatuses for matrix computations |
US4464732A (en) * | 1982-03-19 | 1984-08-07 | Honeywell Inc. | Prioritized sorting system |
US4499555A (en) * | 1982-05-06 | 1985-02-12 | At&T Bell Laboratories | Sorting technique |
US4520456A (en) * | 1983-02-18 | 1985-05-28 | International Business Machines Corporation | Dual reciprocating pipelined sorter |
US4580215A (en) * | 1983-03-08 | 1986-04-01 | Itt Corporation | Associative array with five arithmetic paths |
US5019967A (en) * | 1988-07-20 | 1991-05-28 | Digital Equipment Corporation | Pipeline bubble compression in a computer system |
US5185886A (en) * | 1989-06-30 | 1993-02-09 | Digital Equipment Corporation | Multiple record group rebound sorter |
JPH0776907B2 (ja) * | 1989-06-30 | 1995-08-16 | ディジタル イクイプメント コーポレーション | 分類加速装置の制御 |
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 |
US5206947A (en) * | 1989-06-30 | 1993-04-27 | Digital Equipment Corporation | Stable sorting for a sort accelerator |
JP3073208B2 (ja) * | 1989-09-07 | 2000-08-07 | キヤノン株式会社 | データ選出装置 |
US5355478A (en) * | 1991-12-23 | 1994-10-11 | International Business Machines Corporation | Method for avoiding cache misses during external tournament tree replacement sorting procedures |
JPH0728624A (ja) * | 1993-07-13 | 1995-01-31 | Mitsubishi Electric Corp | ソート装置及びソート方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3533074A (en) * | 1967-10-05 | 1970-10-06 | Webb James E | Binary number sorter |
GB1248681A (en) * | 1969-01-08 | 1971-10-06 | Int Computers Ltd | Improvements in or relating to digital electrical information processing apparatus |
US3587057A (en) * | 1969-06-04 | 1971-06-22 | Philip N Armstrong | Data sorting system |
-
1976
- 1976-11-26 US US05/745,255 patent/US4090249A/en not_active Expired - Lifetime
-
1977
- 1977-09-30 GB GB7740837A patent/GB1542054A/en not_active Expired
- 1977-10-07 FR FR7731534A patent/FR2372470A1/fr active Granted
- 1977-11-11 DE DE19772750400 patent/DE2750400A1/de not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
FR2372470B1 (de) | 1980-12-19 |
GB1542054A (en) | 1979-03-14 |
FR2372470A1 (fr) | 1978-06-23 |
US4090249A (en) | 1978-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2853239C2 (de) | ||
DE2750400A1 (de) | Schaltungsanordnung fuer das mit dem laden und abrufen von datensaetzen ueberlappende sortieren von datensaetzen | |
DE1449765C3 (de) | Einrichtung zur Abfrage eines assoziativen Speichers | |
DE3344141C2 (de) | Vorrichtung zur Neuordnung von Elementen in eine gewünschte Reihenfolge | |
DE2627788C2 (de) | Speicher für Rechenautomaten mit parallel angeordneten, einen Rücklaufkreis aufweisenden Speicherschleifen | |
DE2215066A1 (de) | Informationsspeicher mit Schieberegister | |
DE3490015T1 (de) | Abfragbarer CMOS Schalter | |
EP0046500B1 (de) | Schieberegister für Prüf- und Test-Zwecke | |
DE2758151A1 (de) | Einrichtung zum sortieren von datensaetzen | |
DE2853240C2 (de) | ||
DE2656086A1 (de) | Rechnersystem | |
DE3314137C2 (de) | ||
DE2325922C2 (de) | Aus Schieberegistern aufgebaute Speicheranordnung mit dynamischer Umordnung | |
DE3722907A1 (de) | Maximallaengen-schieberegister-folgegenerator | |
EP0012841B1 (de) | Spalten- und zeilenadressierbarer Speicher in Serien-Parallel-Serien-Konfiguration | |
DE1474351B2 (de) | Datenspeicher | |
DE2459476C3 (de) | ||
DE2417780C2 (de) | Symmetrisches Schaltnetz in Form einer magnetischen Schaltungsanordnung | |
DE2756765A1 (de) | Schaltung zur umordnung der reihenfolge von in einem seriellen speicher gespeicherten daten | |
DE2649147C2 (de) | Anordnung zum wahlweisen Durchführen von logischen und arithmetischen Operationen | |
DE2924526C2 (de) | ||
DE2524129C3 (de) | Zeitsteuereinheit für die Steuerung logischer Schaltungen | |
DE4422784C2 (de) | Schaltungsanordnung mit wenigstens einer Schaltungseinheit wie einem Register, einer Speicherzelle, einer Speicheranordnung oder dergleichen | |
DE1583072B1 (de) | Schaltung,insbesondere zum Steuern von Ausbaurahmen oder -boecken des hydraulischen Strebausbaus im Untertagebergbau | |
EP0392636B1 (de) | Integrierte Schaltungsanordnung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8139 | Disposal/non-payment of the annual fee |