DE2010772A1 - - Google Patents

Info

Publication number
DE2010772A1
DE2010772A1 DE19702010772 DE2010772A DE2010772A1 DE 2010772 A1 DE2010772 A1 DE 2010772A1 DE 19702010772 DE19702010772 DE 19702010772 DE 2010772 A DE2010772 A DE 2010772A DE 2010772 A1 DE2010772 A1 DE 2010772A1
Authority
DE
Germany
Prior art keywords
data
memory
sorting
input
flip
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.)
Pending
Application number
DE19702010772
Other languages
English (en)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed filed Critical
Publication of DE2010772A1 publication Critical patent/DE2010772A1/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/22Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
    • G06F7/24Sorting, 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
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B27/00Alarm systems in which the alarm condition is signalled from a central station to a plurality of substations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/22Indexing scheme relating to groups G06F7/22 - G06F7/36
    • G06F2207/228Sorting or merging network
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/959Network
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99937Sorting

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Emergency Management (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Sorting Of Articles (AREA)

Description

PATENTANWÄLTE
PATENTANWÄLTE LICHT, HANSMANN, HERRMANN 8 MÖNCHEN 2 · TH E RES I ENSTRASSE 33
Dipl.-Ing. MARTIN LICHT Dr. R EIN HOLD SCHMIDT Dipl.-Wirtsch.-Ing. AXEL HANSMANN Dipl.-Phys. SEBASTIAN HERRMANN
München, den 6. März 1970
Ihr Zeichen Unser Zeichen
PHILIP NYE ARMSTRONG SiVNTA ANA, KALIFORNIEN, 17331 KEEGAN WAY, V. St0 A.
11DATEN-SORTIERSYSTEM"
Patentanwälte Dipl.-Ing. Martin Licht, Dipl.-Wirtsch.-Ing. Axel Hansmann, Dipl.-Phys. Sebastian Herrmann
8 MDNCHEN 2, THERESI ENSTRASSE 33 · Telefon ι 281202 · Telegramm-Adreise: Lipatli/München Bayer. Vereinsbank München, Zweigst. Oskar-von-Miller-Ring, Klo.-Nr. 882495 ■ Postscheck-Konto: München Nr. 163397
Opp«nauer Büro, PATENTANWALT DR. REINHOLD SCHMIDT
Die Sortiervorrichtung der vorliegerden Erfindung ähnelt der im US-Patent 3,399»383 beschriebenen; dieses Patent wurde am 27. August 1968 Philip N. Armstrong erteilt. Eine gewisse Analogie zu dem im oben genannten Patent beschriebenen System besteht insofern, als die verbesserte Vorrichtung der vorliegenden Erfindung binäre Datensätze in eine gewünschte Folge zu bringen gestattet und als Zusatzgerät zu einem Mehrzweck-Computer verwendet werden kann. Das Hauptziel der vorliegenden Erfindung ist eine Vorrichtung, die Datensätze rasch und wirkungsvoll in eine gewünschte Reihenfolge bringen kann, wobei die Zahl der Datensätze die normale Kapazität des Systems überschreiten kann.
Wie die im oben genannten Patent beschriebene Sortiervorrichtung kann die Vorrichtung der vorliegenden Erfindung mit sehr verschiedenen modernen Digitalrechnern zusammengeschaltet werden, u.a. mit Computern mit Magnetbandpuffern. Zum Beispiel kann die erfindungsgemäße Vorrichtung zum Sortieren von auf Magnetband gespeicherter Information benutzt werden, ferner zur Überwachung großer Lagerbestände, zum Ausstellen von Rechnungen, zur Aufstellung von Adressenkarteien, zur Durchführung von Bücherei-Ausgabekontrollen usw. Die Sortiervorrichtung der vorliegenden Erfindung kann in allen numerischen Rechnungen vorteilhaft eingesetzt werden, in denen die Reihenfolge der Daten und das Ordnen der Daten eine wichtige Rolle spielen. Ferner kann die erfindungsgemäße Sortiervorrichtung zur Speicherung von Daten verwendet werden.
Die in der erfindungsgemäßen Vorrichtung zu sortierenden Datensätze bestehen aus binären Mehrfachbit-Zahlen gleicher Länge. Jeder Datensatz enthält ein Kontrollfeld mit einer Kennnummer, die ihrerseits wieder in der üblichen Weise in binärer Mehrfachbit-Form dargestellt ist. In der im folgenden beschriebenen Ausführungsform wird angenommen, daß die Kennummer jedes Datensatzes eine ganze Zahl ist. Der Sortiervorgang ist beendet,
1 äö 8
wenn die Kennummern in den Kontrollfeldern einer Anzahl von Datensätzen eine geordnete Zahlenfolge bilden, die in der hier beschriebenen Ausführungsform als aufsteigende Folge angenommen wird, obwohl die erfindungsgemäße Vorrichtung so ausgebildet werden kann, daß sich eine absteigende Zahlenfolge ergibt. Die Reihenfolge kann von aufsteigenden Zahlen auf absteigende Zahlen (oder umgekehrt) umgestellt werden, indem komplementäre Umkehrstufen am Eingang und Ausgang des Systems eingesetzt werden. Im folgenden wird ein derartiges Komplementärsystem im einzelnen erläutert.
Wie vorher erwähnt, ist die erfindungsgemäße Sortiervor- λ richtung für eine Anzahl von Datensätzen vorgesehen, die die innere Kapazität des Systems übersteigt. Das System wird zur Aufnahme von Eingangsinformation geschaltet, worauf die Datensätze der Datensatzserie in unsortierter Reihenfolge in die Sortiervorrichtung eingeführt werden, bis das System aufgefüllt ist. Die unsortierte Folge von eingegebenen Datensätzen wird dann sortiert und erscheint zusammen mit den im System schon vorhandenen Datensätzen in sortierter Seihenfolge am Ausgang des Systems. Dieser Prozeß wird wiederholt, bis alle Datensätze, die der Sortiervorrichtung zugeführt wurden, am Ausgang erscheinen. Falls ein Signal angibt, daß ein Satz derartiger Aufzeichnungen am Ende eines ersten Sortierprozesses nicht vollkommen durchsortiert ist, werden die Datensätze ein zweites Mal durch % die Sortiervorrichtung geschickt. Dieser Vorgang wird wiederholt, bis eine vollständige Reihenfolge hergestellt worden ist. Bei jedem der aufeinanderfolgenden Durchgänge durch die Sortiervorrichtung bleibt deren Kapazität entweder unverändert oder wird in Bezug auf die zur Durchführung einer beschränkten Sortierung in jedem Durchgang benötigten Kapazität reduziert, södaß die für aufeinanderfolgende Durchgänge benötigte Zeit ständig abnimmt und die Sortiervorrichtung stets mit höchstem Wirkungsgrad arbeitet.
Diese Abnahme der (ausgenutzten) Kapazität der Sortiervorrichtung in jedem Durchgang kann weitergehen, bis z.B. nur noch zwei Datensätze zu einer bestimmten Zeit in der Sortiervorrichtung enthalten sind. Der Sortiervorgang wird am Ende des Durchgangs abgeschlossen, an dem kein Austausch von Datensätzen von der Sortiervorrichtung vorgenommen wird.
In der nachstehenden Beschreibung wird erläutert, wie in der erfindungsgemäßen Sortiervorrichtung die logischen Kreise des Systems des oben angeführten Patents verwendet werden können, sodaß das erfindungsgemäße System zusätzlich noch wie das an sich bekannte System Sätze von Aufzeichnungen sortieren kann, deren Anzahl unterhalb der Kapazität der Sortiervorrichtung liegt.
Wie im folgenden beschrieben, hängt das Arbeitsprinzip des erfindungsgemäßen Systems teilweise von der Fähigkeit des Systems ab, die zu sortierenden Datensätze in Abschnitten entsprechend 1, 1, dt 4, 8 ... 2n Datensätzen zu zerlegen und in einem Laufzeitspeicher oder einem Speicher andrer Art zu schicken. Die Zahl der für ein gewisses System gewählten Laufzeitspeicher hängt von der gewünschten Systemkapazität ab. Wie im oben zitierten Patent beschrieben, läßt sich mit einem derartigen System eine große Anpassungsfähigkeit erzielen, da jede handelsübliche Ausführungsform der Sortiervorrichtung auf die Zahl der zu sortierenden Satensätze zugeschnitten werden kann.
Um die Beschreibung der Erfindung und ihrer Wirkungsweise nach Möglichkiet zu vereinfachen, wird im folgenden angenommen, daß die beschriebene Ausführungsform fünf der vorher erwähnten Laufzeitspeicher enthält, deren Längen 1, 1, 2, 4 und 8 Datensätzen entsprechen. Die Auswahl wird so vorgenommen, daß zwei der Speicher je einen Datensatz aufnehmen, ein Speicher zwei Datensätze, ein Speicher vier Datensätze, und ein weiterer Speicher acht Datensätze. Wenn immer ein Datensatz in einen der Speicher kommt, kann er dem Speicher nach einer Anzahl von Datensätzen wieder entnommen werden, die der Kapazität des entspre-
009Ö50/1366
chenden Speichers entspricht.
Beispielsweise kann in der hier beschriebenen Ausführungsform jeder Datensatz, der in einen der beiden kleinsten Speicher eingegeben wurde, während des nächsten Datensatzes abgenommen werden, jeder Datensatz, der in den dritten Speicher eingegeben wurde, nach einer Verzögerung entsprechend der Zeit eines Datensatzes abgenommen werden, jeder Datensatz, der in den vierten Speicher eingegeben wurde, nach einer Verzögerung entsprechend der Zeit dreier Datensätze abgenommen werden, und jeder Datensatz, der in den fünften Speicher eingespeichert wurde, nach einer Verzögerung entsprechend der Zeit von sieben Datensätzen abgenommen werden.
Die Laufzeitspeicher arbeiten synchron und in der im folgenden beschriebenen Ausführungsform erhalten die Speicher ihre Datensätze, indem die Datensätze zunächst auf verschiedene Magnetbandspuren übertragen werden und dann von denselben zu verschiedenen Verzögerungszeiten abgelesen werden. Dadurch können die verschiedenen Datensätze gleichzeitig in.all die Speicher verbracht werden und ebenso können die Datensätze gleichzeitig aus den Speichern ausgelesen werden. Wie dem Fachmann sofort verständlich, können Laufzeitspeicher verschiedener Art und andere Speicher in der erfindungsgemäßen Vorrichtung verwendet werden.
Im Betrieb des Systems werden die ankommenden Datensätze in verschiedenen Speichern während aufeinanderfolgender, Datensätzen entsprechender Zeiten nacheinander gespeichert, sodaß der erste Datensatz mit dem Inhalt des leeren Systems verglichen wird, während jeder folgende Datensatz mit den vorher eingespeicherten Datensätzen verglichen wird. Der Inhalt des leeren Systems wird durch "Leerzeichen" dargestellt, deren Kennummer größer ist als die Kennummer irgendeines der zu sortierenden Datensätze. Der erste der eingegebenen Datensätze wird in dem ersten der kleinsten Speicher eingespeichert. Wenn anschließend der zweite und nachfolgende Datensätze ankommen, werden sie mit den vorhergehen-
Π /) Ü 8 !, 0 / 1 3 6 B
den Datensätzen verglichen und sortiert in. die verschiedenen Speicher eingespeichert.
Wie vorher erwähnt, kann die erfindungsgemäße Sortiervorrichtung einen Satz von Aufzeichnungen verarbeiten, wobei die Anzahl der Datensätze größer sein kann, als die Kapazität des Systems; die Datensätze werden wiederholt durch das System geschickt, bis eine vollständige Sortierung erreicht worden ist. Pur jeden der aufeinanderfolgenden Durchgänge bleibt die Anzahl der Laufzeitspeicher entweder unverändert oder vermindert sich, und die Länge der verbleibenden Laufzeifcspeicher kann ebenfalls heruntergehen, sodaß die Kapazität des Systems nie größer ist als die zur Durchführung des nächsten Sortiervorgangs beim nächsten Durchgang benötigte Kapazität. Dabei wird ferner die für jeden Durchgang benötigte Zeit entsprechend verkleinert und kann nicht die für einen Durchgang benötigte Mindestzeitspanne überschreiten.
Um in praktischen Anwendungen die erfindungsgemäße Vorrichtung verschiedenartigen Speichern verschiedener Größe anzupassen, können die kürzeren Laufzeitspeicher durch Schieberegister ersetzt werden. Diese Schieberegister können aus integrierten Schaltungen aufgebaut und in einer einzigen, andere logische Kreise enthaltenden Einheit im System zusammengefaßt werden. So ergibt sich dann eine standardisierbare Sortierschaltung mit einer bestimmten Anzahl von Eingängen. Diese Sortierschnltung kann dann in Verbindung mit an sich bekannten Magnettrommel- oder Magnetplattenspeichern verwendet werden, wobei die entsprechenden Spuren als längere Laufzeitspeicher dienen. 'Nenn die kürzeren, von den Schieberegistern gebildeten Speicherabschnitte so ausgeführt werden, daß die längeren Speicherabschnitte aus ganzzahligen Vielfachen von Magnetplattenspuren bestehen, können magnetische Standard-Trommelspeicher oder -Plattenspeicher verwendet werden.
009850/136 ü
Falls der spezielle, mit dem Standardsortierer verwendete Magnettrommel- oder Magnetplattenspeicher weniger Speicherlinien als Eingänge hat, werden geeignete Kreise zugeschaltet um zu erreichen, daß nur ein entsprechender Teil des Speichers verwendet wird.
Die beschriebene Vorrichtung umfaßt ferner eine als "Wechsler"' bezeichnete logische Steuereinheit, durch die die zu sortierenden Datensätze laufen und die das Kennummernfeld bestimmter Datensätze in einer vorherbestimmbaren Weise verändern kann. Dadurch kann eine beliebige Gruppe von Datensätzen an die Spitze gebracht werden, z.B. um Information einer bestimmten Gruppe von Datensätzen auszulesen.
Figur 1 ist eine schematische Darstellung des Formats eines typischen, im erfindungsgemäßen Sortierer verarbeiteten Datensatzes.
Figuren 2A und 2B sind Blockschaltungen der im oben angegebenen Patent beschriebenen Sortiervorrichtung, die abgeändert wird um den Sortierprozeß der vorliegenden Erfindung durchzuführen.
Figur 5 stellt die Zusammenschaltung eines Satzes von Sortierblöcken dar, die in einer der Komponenten des in Figuren 2A, 2B dargestellten Gesamtsystems verwendet werden.
Figuren 4, 6 und 8 stellen einen Satz von Aufzeichnungen dar, die nacheinander der Sortiervorrichtung zugeführt werden.
Figuren 5, 7, und 9 sind Tafeln, die die Verarbeitung der Datenmenge in der erfindungsgemäßen Sortiervorrichtung darstellen.
Figur 10 ist ein Logikschaltbild eines Sortiernetzwerks zur Verwendung im System.
Figur 11 zeigt in Form einer Tafel die Steuerbits für verschiedene Datensätze und Leerseichen.
Figuren 12, 13 und 14, 17, 18, 22 und 23 zeigen die logische Zusammenschaltung von bistabilen Kippschaltungen, die in verschiedenen Ausführungsformen des Systems verwendet werden.
009 8 50/136G
-JT-
Figuren 15 und 16 sind Logikschaltungen von Sortiernetzwerken, die im System enthalten sind.
Figur 19 ist eine zweite Ausführungsform der vorliegenden Erfindung, in der die Speicherlinien eine kontrollierbare Länge haben.
Figur 20 ist ein Logikschaltbild der Kreise der in Figur 19 dargestellten Ausführungsform.
Figur 21 zeigt in Form einer Tafel die Datenmenge, die in der Ausführungsform der Figur 19 verarbeitet wird.
Figuren 24 und 25 sind Blockschaltbilder und zeigen wie die Sortiervorrichtung der vorliegenden Erfindung an Standardspeicher angepaßt werden kann.
Figuren 26, 27, 28 und 29 sind Blockschaltbilder und zeigen den Anschluß des vorher erwähnten "Wechslers" an die Sortiervorrichtung.
Figuren 3OA, 3OB und 31 sind Schaltbilder, die zeigen wie das System abgewandelt werden kann um Datensätze mit einem Vielfachen der Länge eines kleinsten Datensatzes zu verarbeiten.
Schließlich sind die Figuren 32 - 35" Blockschaltbilder eines Teils des Systems, das abgewandelt wurde um Register für einen Datensatz und entsprechende Sortierbaugruppen aufzunehmen.
Das Format der in der erfindungsgemäßen Vorrichtung verarbeiteten Datensätze ist in Figur 1 dargestellt, wobei, wie ersichtlich, jeder Datensatz ein Datenfeld enthält, in dem die Daten des Datensatzes in binär verschlüsselter Form aufgezeichnet sind. Neben dem Datenfeld befindet sich ein Kennummernfeld ttit der jeden Datensatz kennzeichnenden Nummer, die stets die Form einer Mehrfachbit-Binärzahl hat, die ihrerseits eine ganze Zahl ausdrückt. Ein Kontrollfeld befindet sich neben dem Feld für die Kennummer und dieses Kontrollfeld wird zur Datenverarbeitung im System herangezogen um die Kennzeichnung des Dateneatzes entsprechend zu verändern. Ein Leerfeld ist am jünde jedes Datensatzes vorgesehen und dient dazu Zeit für die Schaltung der
009850/ 1 366
Steuerfunktionen im System zu verschaffen.
Das wichtigste Bit des Datensatzes befindet sich in der in Figur 1 gewählten Darstellung auf der rechten Seite. Der Datensatz wird von rechts nach links abgetastet, d.h. vom wichtigsten Bit zu dem am wenigsten wichtigen. Damit wird Jeder Datensatz vom System erst über das dem Leerfeld entsprechenden Intervall abgetastet, darauf wird das Kontrollfeld vom wichtigsten zu dem am wenigsten wichtigen Bit hin abgetastet, und dann wird das Kennummernfeld vom wichtigsten Bit zu dem am wenigsten wichtigen Bit hin abgelesen. Diese Abtastungsweise ermöglicht es die Kennnummer des Kennummernfeldes durchlaufend auf jeden gewünschten Wert zu erhöhen, entsprechend den wichtigeren Bits, die in das Kontrollfeld eingesetzt werden können.
Wie weiter unten noch ausführlich beschrieben, werden auch binäre, aus Mehrfachbits bestehende Leerzeichen von Zeit zu Zeit durch das System geschickt, die als "Leerzeichen B" bezeichnet werden, wenn das Datenfeld und das Kennummernfeld aus lauter Einsen bestehen, oder als."Leerzeichen Z", wenn sowohl das Datenfeld als auch das Kennummernfeld aus lauter Nullen bestehen. Weitere Leerzeichen B , B treten auf, die sich in ihren Kontrollfeldern in binär verschlüsselten Zahlen unterscheiden. Auch gibt es verschiedene Arten von Datensätzen, die sich ebenfalls voneinander durch binär verschlüsselte Zahlen in ihren Kontrollfeldern unterscheiden.
Die verschiedenen, im Sortiersystem verarbeiteten Datensätze und Leerzeichen sind in der folgenden Tabelle zusammengefaßt:
Bezeichnung Daten- und Kennummernfeld Kontrollfeld
B* (Leerzeichen) lauter Einsen 111
B* (Leerzeichen) lauter Einsen 110
D* (veränderter Datensatz und Kennummer 1 10
Datensatz-)
B (Leorzelcheri) lauter Kino im 010
0-0-9-0 5 0 /136
Bezeichnung Daten- und Kennummernfeld Kontrollfeld
D+ (veränderter Datensatz und Kennusner 010
Datensatz)
D (Datensatz) Datensatz und Kennummer 100
Z (Leerzeichen) lauter Nullen 000
Das Kennzeichenfeld jedes Datensatzes, der mit D, D+ oder D bezeichnet ist, enthält in Binärdarstellung eine ganze Zahl, die den gesamten Datensatz kennzeichnet. Das wichtigste Bit der Zahl im Kennzeichenfeld befindet sich neben dem Kontrollfeld in jedem Datensatz. Deshalb erscheint die jeden Datensatz kennzeichnende, den Sortiervorgang steuernde Zahl jedes Datensatzes neben dem Kontrollfeld (siehe Figur 1). Die Bits des Kontrollfelds dienen dazu die Wertstellung der Kennummer im Kennzeichenfeld zu erhöhen.
Mindestens eine Bitstelle im Datenfeld von D-, D+- oder D Datensätzen muß eine Null sein. Sieht man den Inhalt der kombinierten Daten des Kennzeichenfelds und des Kontrollfelds als binäre Ganzzahl an, so erscheinen diese Zahlen in der natürlichen Reihenfolge, wenn sich bei der Abzählung der Datenfelder entsprechende Änderungen in den Nullen der Kennzeichen- und Kontrollfelder ergeben, da dann stets gilt
Z<D<D+<B<D<B<B .
Wie vorher erwähnt, wird beim Betrieb dea Systems eine Folge von Datensätzen dem System eingegeben, bis es aufgefüllt ist, worauf die Datensätze am Ausgang des Systems erscheinen, während die Eingabe noch fortgesetzt wird. Das Syetem kann die in Figuren 2A und 2B dargestellte allgemeine Form haben. Zum Beispiel MühILeIJt das in Figur 2A gezeigte System einen Speicher 10 ein, ler aus einem Magnetband aur Erzeugung verschiedener Spuren bzw. Lfiut'üuLtiipeLchfjr für lii« Datensatz der Figur I bestehen kann. f/lfi vorher orwahnt, haben diese Speicher verüchlederic! Längen in «Lrier bor· fc Lmmtou HRihonfolgn und cmtaprnchan Ium Lt v*.*achiüd«nen hl'iu von LJui-tMiiiätat-m, Ii.; jovt-ilt; tiingt! ipeichert ./erden kön-
BAD ORIGINAL OCiV)B S.! ' I Mi ->
nen. In der dargestellten Ausführungsform stellen gemäß den obigen Ausführungen die einzelnen Speicherkapazitäten die Folge "1, 1, 2, 4, 8 dar· Jedoch ist das Syetem nicht auf Polgen von Potenzen von 2 beschränkt und es können ebenso gut andere Folgen benutzt werden.
Ein Abschnitt des Magnetbandes, das den Speicher in der. in Figur 2A dargestellten Ausführungsform darstellt, ist abgebildet unter der Annahme, daß sich das Band von links nach rechts bewegt» Das Magnetband umfaßt eine Reihe von Aufzeichnungsspuren, die sich längs des Bandes erstrecken· Magnetköpfe für das Auslesen und Einschreiben sind zur Aufnahme und zum Auslesen der | Datensätze und Leerzeichen vorgesehen. In Figur 1 sind die Stellungen der Auslese- und Einsehreibe-Magnetköpfe durch Pfeile gekennzeichnet.
Das.Magnetband des Speichers 10 enthält ferner eine Zeitgeberlinie mit magnetischen Aufzeichnungen in bestimmten Abständen als Zeitmarken. Ein Magnetkopf 16 zum Auslesen ist magnetisch an die Zeitgeberlinie angekoppelt und ergibt Zeitimpulse CL an seinem Ausgang. Diese Zeitimpulse stellen die Zeitgabe für die Bits in jedem Datensatz dar, der durch das System läuft.
Die Zeitimpulse werden ferner dazu benutzt den Betrieb des Datenbitzählers 33 und des Datenwortzählers 35 ^u synchronisieren. Der Bitzähler 33 erzeugt Zeitmarkenimpulse tQ, t1f t2 ...* die verschiedene Bitzeiten in jeder Wortzeit darstellen; ent- * sprechend erzeugt der Wortzähler 35 Zeitmarkenimpulse w , W1, w2, ..., die aufeinanderfolgende Wort- oder Datensatzzeiten im System markieren.
Das Magnetband der Figur 2A enthält ferner eine mit A bezeichnete Spur für einen der kleinsten Speicher des Systems. Die Spur A wird vom JSinschreibekopf wQ abgetastet, der seinerseits auf Binärsignale am Eingang L!j anspricht und Signale auf der Spur A aufzeichnet. Ein Magnetkopf RQ zum Auslesen tastet ebenfalls die Spur A ab und befindet sich dabei in einem Abstand vom
BAD ORIGINAL 009850/1366
üinschreibekopf, der der Länge eines Datensatzes entspricht. Jeder Datensatz bzw. jedes Leerzeichen im kleinsten Speicher der Spur A wird aus dem Speicher während der dem folgenden Datensatz zugeordneten Zeit ausgelesen. Ein zweiter kleinster Speicher wird von einer Spur B auf dem Magnetband gebildet, wobei wieder ein entsprechender Einschreibekopf W1 und Auslesekopf R1 vorgesehen sind. Der Einschreibekopf W1 spricht auf Binärsignale an den Eingangsklemmen L^ an und schreibt entsprechende Binärsignale aui der Spur B. Der Auslesekopf R1 ist längs der Spur B angeordnet und befindet sich in einem Abstand vom Einschreibekopf W1, der der Länge eines Datensatzes entspricht. Im zweiten kleinsten Speicher wird deshalb jeder während einer bestimmten Zeit eingespeicherte Datensatz während der dem nächsten Datensatz entsprechenden Zeit weiterverarbeitet.
Ferner ist auf dem Magnetband eine mit C bezeichnete Spur vorgesehen, die vom Einschreibekopf Wp und dem Auslesekopf I^ abgetastet wird. Der Auelesekopf Rp hat längs der Spur C einen Abstand vom Einschreibekopf Wp, der zwei Datensätzen entspricht. Die Spur C stellt den dritten Speicher dar und der zugehörige Einschreibekopf Wp spricht auf Eingangssignale an den Eingangskieramen 1' an und ergibt entsprechende Aufzeichnungen auf der Spur C. Im Falle dieses dritten Speichers kann ein zu einer
* gewissen Zeit eingelesener Datensatz nach einer zwei Datensätzen entsprechenden Zeit abgenommen werden. Außerdem kann der dritte Speicher zwei Datensätze aufnehmen statt eines einzigen, wie im Falle der beiden kleinsten Speicher.
Eine Spur D (mit zugehörigem Einschreibekopf w, und Auslesekopf R,) stellt einen vierten Speicher dar, wobei in diesem Fall der Einechredbetopfw, auf Binärsignale an den Eingängen L'. anspricht und entsprechende Datensätze auf der Spur D erzeugt. Der Auslesekopf R, befindet sich in einem Abstand vom Einschreibokcpf w,, der vier Datensätzen entspricht. Der vierte Speicher kann deshalb vier getrennte Datensätze aufnehmen und jeder zu
BAD ORIGINAL 009850/136 6
einer bestimmten Zeit in diesen Speicher eingeführte Datensatz kann nach einer drei Datensätzen entsprechenden Zeit abgenommen werden.
ELn fünfter Speicher zur Aufnahme von acht Datensätzen ist als Spur E auf dem Magnetband vorgesehen, die von dem Einschreibekopf w. und dem Auslesekopf R, abgetastet wird. Der Einsohreibekopf spricht auf Signale vom Eingang L^ an und zeichneb entsprechende Signale auf der Spur E auf. Der Abstand zwischen dem Auslesekopf R- und dem Einschreibekopf w. auf der Spur E entspricht acht Datensätzen. Man kann jeden in den fünften Speicher eingelesenen Datensatz nach einer sieben Datensätzen entsprechenden Zeit auslesen und der fünfte Speicher kann jederzeit acht Datensätze aufnehmen.
Wie vorher erwähnt, dient die in Figur 2A dargestellte Anzahl von Speichern nur zur Erläuterung. Mehr oder weniger Spuren können auf dem Magnetband vorgesehen sein, je nach den Anforderungen an das System. Für die Speicher gilt die vorher erwähnte Folge 1, 1, 2, 4, 8 ... 2n, soweit es sich um die Zahl der aufgespeicherten Datensätze und die zum Durchlauf benötigten Zeiten handelt.
Die Ausleseköpfe R - R, sind an entsprechende Ausgangsanschlüsse L1 - L1- angeschlossen, die ihrerseits wieder mit den in Figur 2A mit den mit A.., A2, A,, k. und A^ bezeichneten Blocks verbunden sind. Diese logischen Kreise werden im folgenden noch im einzelnen beschrieben werden. Die Blocks A1 - A^ Bind jeweils mit den unteren Eingangsklemmen einer Reihe von Sortierschaltungen verbunden, die durch Blocks S.i , S2* S-*, S< und Sr dargestellt sind und im folgenden beschrieben werden.
Gemäß der Darstellung hat jede SortierschaLtung S. - Snzwei Eingangsklemmen und zwei Ausgangsklemmen. DLe einzelnen uorbierschalbungen sprechen auf Datensätze· ".an, die nacheinander an 'ILo Eingartgsklemmon angelegt werden, woboi der Datensatz mit dor· honoren Kennummor au oLner der Ausgangsklemmen erscheint,..·
BAD ORlGiNAL 009850/ 136-6" H -^>ΐ
- 201077V
während der mit der niedrigeren Kennummer an der anderen Aiuigangs kiemme auftritt.
Eine Eingangsklemme I. Lst über die dargestellten Logikschaltungen mit der unteren Eingangsklemme der SortierschaLtung S verbunden, die den Sortierschaltungen S1 - Sr ahneLt. Wine weitere EingangskLemme Ip des Systems ist mit der oberen Eingangüklemme der Sortierschaltung Sj- verbunden. Die Logikkreise umfassen ferner ein Paar UND-Gatter 12, 14» eine Umkehrstufe 16 und ein ODER-Gatter 18 in der dargestellten Anschlußweitje.
Die unteren Ausgangsklemmen der Sortierschal tungen S, - S1-sind jeweils an die in Figur 2A durch die Blocks B^ - ßr angedeuteten Logikschaltungen angeschlossen, die im folgenden noch genauer beschrieben werden. Diese logischen Kreise sind mit, den oberen Eingangsklemmen der Sortierschaltungen S - S5- verbunden, während die oberen Ausgangsanschliisse der Sortierschaltungen Sj S. an die Eingangsklemmen der als Block S in Figur 2A bezeichneten Sortierschaltung angeschlossen sind. Die Sortierschaltung S umfaßt verschiedene BaubLocks, wie in Figur 3 dargestellt, wobei jeder Block den einzelnen Sortierschaltungen S - Sf- ähneln kann und in gleicher Weise funktioniert.
Wie in Figur 3 dargestellt, sind die Blocks der Sortierschaltung S so geschaltet, daß die an die Eingangsklemmen angelegten Datensätze von den Blocks umgestellt werden und bezug Lieh ihrer Kennummern in aufsteigender Ordnung an den vier mit 2, 3, -1- und 5 bezeichneten Ausgangsklemmen erscheinen, wenn die 'INVERT (UMKfJHR) Bedingung das UND-Gatter 12 der Figur 2A freigibt, und in absteigender Ordnung, wenn die INVERT (UMKEHR) Bedingung das UND-Gatter 14 freigibt. Die Blocks der £Jort iurünhaltung S können gospnrrt werden, sodaß die über den Eing;im; auft!führten Duten- ivitzii in ihrer ursprünglichen Roiheufolge durch die Sor tit; r-.-johiil tutig ü laufen.
D'it1 obere AiujgangHanschLuß der LSorbleraohii 1 tung St- ist in
BAD ORIGINAL 0 09850/1 Ji,. ~~ ~^
Ausgangsanschluß 1 der Figur 2A angeschlossen, während die Ausgangsanschlüsse der Sortierschaltung SQ mit den Ausgangsanschlüssen 6 und 7 verbunden sind. Die Ausgangsanschlüsse der Sortierschaltung S sind mit den verbleibenden Ausgangsanschlüssen 2, 3, 4 und 5 in der oben angeführten Weise verbunden (Figur 2A). Die Ausgangsanschlüsse 1 - 7 der Figur 2A sind mit den.entsprechend bezeichneten Eingangsanschlüssen 1-7 der Figur 2B verbunden.
Die Eingangsanschlüsse 1 - 5 der Figur 2B sind an die oberen Eingangsanschlüsse entsprechender Sortierschaltungen geschaltet, die von den Blocks Sl, Si, S*, S2 und S!j gebildet werden. Der Eingangsanschluß 6 der Figur 2B ist mit einem durch den Block | C1 dargestellten Logikkreis verbunden, der seinerseits wieder mit dem unteren Eingang der Sortierschaltung Si verbunden ist* Die oberen Ausgangsanschlüsse der Sortierschaltungen S1, S2, S4 und Si sind entsprechend mit Logikkreisen C2, C,, C. und Cr verbunden, die wiederum an die unteren Eingangsanschlüsse der Sortierschaltungen Sp, S-C, Si und Sc geschaltet sind. Die unteren Ausgangsanschlüsse der Sortierschaltungen Sl, Si, S4 , S2 und S!j sind an entsprechende logische Schaltungen (dargestellt durch die Blocks Fp-, F., F.,, F2 und F..) angeschlossen und diese logischen Schaltungen sind ihrerseits wieder mit den entsprechenden Auügangsanschlüssen Ll, Li, LX, Lp und Li verbunden, die auf entsprechend numerierte Eingangsanschlüsse der Figur 2A zurück- * geschaltet sind. Der obere Ausgangsanschluß der Sortierschaltung " S^ ist mit einem mit O1 bezeichneten Ausgangsanschluß des Systems verbinden, während der Eingangsanschluß 7 der Figur 2B mit einem zweiten, mit 0„ bezeichneten Ausgangsanschluß des Systems verbunden ist.
Ehe irgendwelche Datensätze dem System zugeführt werden, worden die Speicher A-E der Figur 2A mit geeigneten Leerzeichen aufgefülH. Die logischen Kreise A1 - A^ sprechen auf diese dati Fehlen von Datensätzen angebenden Leerzeichen an und legen die maximalen Leerzeichen B an die Eortierschaltungen S1-Sj-
008850/1366 BADORiGlNAL
an. Die logischen Kreise A1 - Ας erzeugen diese maximalen Leerzeichen B beim Fehlen von Datensätzen, wie in dem oben angeführten Patent beschrieben, und es ist deshalb nicht notwendig das System mit maximalen Leerzeichen B vor jeder Dateneingabe aufzufüllen.
Wie schematisch in Figur 4 dargestellt, werden zur Durchführung der Sortieroperation die Datensätze mit dem in Figur 1 gezeigten Format nacheinander dem Eingangsanschluß I1 zugeführt und minimale Leerzeichen Z (lauter Nullen) werden dem Eingang zugeführt. In den Tafeln der Figuren 5 und 9 sind die B -Leerzeichen durch X angedeutet, um die Zeichnung zu vereinfachen.
Durch den Betrieb des Sortiersystems wird erreicht, daß die
j*, jt
maximalen Leerzeichen B (lauter Einsen) am Ausgang 0.. der Figur 2B erscheinen und daß die minimalen Leerzeichen Z (lauter Nullen) am Ausgang Og auftreten. Während ein Datensatz bei dieser Betriebsart dem Sortiersystem zugeführt wird, wird er mit den Ausgängen verschiedener Speicher A-E verglichen. Wie vorher erwähnt, werden die Ausgänge dieser einzelnen Speicher von den entsprechenden logischen Kreisen A1 - Ας automatisch zu maximalen Leerzeichen B umgeformt, bis einer der Speicher mit Datensätzen gefüllt ist.
Wenn Datensätze an den Ausgängen einzelner Speicher auftreten, werden sie mit aufeinanderfolgenden Eingangsdateneätzen während aufeinanderfolgender, Datenwörtern entsprechenden Zeiten verglichen und der kleinste dieser Datensätze wird zu jeder einem Wort entsprechenden Zeit von der logischen Schaltung C1 so verändert, daß daraus ein maximaler Datensatz D entsteht. Der veränderte kleinste Datensatz kommt dadurch in den längsten Speicher, der . einen Datensatz an seinem Ausgang abgibt. Die logischen Kreise A1 - Ac entfernen den Stern ( ) von jedem Datensatz, wenn dieser die entsprechenden Speicher A-E der Figur 2B verläßt.
Wie im folgenden noch näher erläutert, werden in dem erfin-
BAD ORIGINAL
009850/1366
dungsgemäßen System die Datensätze auch noch eingespeist, wenn die volle Speicherkapazität des Systems aufgefüllt ist, wobei die Überlauf-Datensätze in sortierter Form dem System zur Wiederzuführung abgenommen werden, es sei denn, daß im ersten Durchgang eine vollkommene Sortierung erreicht wurde.
Falls die Einführung von Datensätzen in das System unterbrochen wird (Figuren 4 und 5), werden die maximalen Leerzeichen B normalerweise an den Eingangskreis I- angeschlossen und die minimalen Leerzeichen Z an den Eingangskreis Ip. Dadurch werden die vorher dem System zugeführten Datensätze zurückgehalten und nicht über die Ausgangsanschlüsse O1, Op abgegeben, ehe das System zu seiner vollen Kapazität aufgefüllt worden ist.
Während der Unterbrechung der Eingabe von Datensätzen ist" es wichtig zu gewährleisten, daß keine B-Leerzeichen in der Reihenfolge eingeschoben werden, während die Reihe von Datensätzen in einen der Speicher eingespeichert wird· Zu diesem Zweck werden während der Unterbrechung der Eingabe die Eingänge und Ausgänge jedes Speichers abgefragt. Falls ein Speicher mit einem Datensatz am Eingang tiad einem B -Leerzeichen am Ausgang gefunden wird, werden Z-Leerzeichen dem System über die beiden Eingangsanschlüsse I-, Ip zugeführt, was eine Einführung von Z-Leerzeichen in den verschiedenen Speichern zur Folge hat. Diese Einführung der Z-Leerzeichen in das System über beide Eingangsanschlüsse I-, Ip wird während der.Unterbrechung fortgesetzt von einer einem Wort entsprechenden Zeit bis zur Zeit des nächsten Worts, bis keiner der Speicher einen Datensatz am Eingang und ein B -Leerzeichen am Ausgang aufweist, was auf eine teilweise Auffüllung hinweisen würde. Da3 System kehrt darauf zur Einführung von B -Leerzeichen am Eingang I^ und von Z-Leerzeichen am Eingang I2 zurück. Während der Unterbrechung werden die Z-Leerzeichen des kleinsten Speichers A nicht von der logischen Schaltung C, verändert, wie dies, wie oben beschrieben, normalerweise mit dem kleinsten Datensatz im System der Fall ist.
6096*0/1366
Nach einer Unterbrechung der Eingabe kann die Zuführung von Datensätzen zu jeder beliebigen, einem Wort eintsprechenden Zeit fortgesetzt werden. Wenn die Z-Leerzeichen während der Unterbrechung der Eingabe dem System zugeführt wurden, werden sie von den nachfolgend eingegebenen Datensätzen aus dem System herausbefördert, nachdem der längste Speicher mit Datensätzen aufgefüllt worden ist. Bei Wiederaufnahme der Eingabe werden also Datensätze der Sortiervorrichtung erneut über den Eingangsanschluß I1, und Z-Leerzeichen über den Eingang I2 zugeführt, und dieser Vorgang dauert an, bis der längste Speicher mit Datensätzen aufgefüllt ist, worauf Datensätze D oder D oder Z-Leerzeichen am Ausgang jedes Datensätze enthaltenden Speichers auftreten. Beim Erreichen dieses Zustande werden B -Leerzeichen dem System über den Eingang I2 zugeführt, solange Z-Leerzeichen im Speicher L1 gefunden werden, oder bis die Eingabe von Datensätzen wieder unterbrochen wird. Falls eine neuerliche Unterbrechung aer Eingabe stattfindet, werden B -Leerzeichen am Eingangsanschluß I1 angeleget und Z-Leerzeichen am Eingangsanschluß I0.
Falls ein Fehlen von Z-Leerzeichen im Speicher A festgestellt wird, kehrt das System zu seinem normalen Eingabebetrieb zurück, d.h. Datensätze werden dem Sortiersystem über den Eingangsanschluß I1 und Z-Leerzeichen über den Eingangsanechluß I2 zugeführt. Wie in Figuren 4 und 5 dargestellt, werden Datensätze dem System an aufeinanderfolgenden, Worten entsprechenden Zeiten während der Eingangsoper tion zugeführt, wobei die Eingabe unterbrochen und an bestimmten aufeinanderfolgenden, Datensätzen entsprechenden Zeiten wiederaufgenommen wird. Während jeder einem Wort entsprechenden Zeit wird im Betrieb ein B -Leerzeichen dem Ausgang O1 und eir Z-Leerzeichen dem Ausgang O2 abgenommen.
Während der ernten einem Datensatz entsprechenden Zeit der Eingabe wird in dem in Figur 4 dargestellten Beispiel ein mit der Ganzzahl "13" gekennzeichneter Datensatz dem Sortiersystem
über den Eingang I- zugeführt, während gleichzeitig ein Z-Leerzeichen über den Eingang I9 eingespeist wird. Der Datensatz "13"
#
wird vom Datensatz "13 " durch den logischen Kreis C1 der Figur 2B unterschieden. Da ;jedoch der unterschiedene Datensatz "13 " noch unterhalb der von den logischen Kreisen A1- Ax- erzeugten B -Leerzeichen liegt (da die Speicher A-E ungefüllt sind), wird der Datensatz "13 " in den kleinsten Speicher A verbracht (Schritt 1 in Figur 5). Während der Zeit für den zweiten Datensatz findet eine Unterbrechung statt, wie durch I in Figur 4 angedeutet. Da unter den zur Zeit dieses Datensatzes herrschenden Bedingungen kein Speicher teilweise mit Datensätzen gefüllt ^ ist, wird ein B -Leerzeichen an den Eingang I1 angelegt und ein
Z-Leerzeiohen an den Eingang I2· Der Datensatz 13 bleibt während der dem Datensatz entsprechenden Zeit im kleinsten Speicher, wie in Schritt 2 der Figur 5 dargestellt.
In dem in Figur 4 dargestellten Beispiel wird die Eingabe zur Zeit des dritten Datensatzes wiederaufgenommen, wobei ein durch die Ganzzahl "16" gekennzeichneter Datensatz über den Eingang I. dem System zugeführt wird, während gleichzeitig ein Z-Leerzeichen über den Eingang Ip eingespeist wird. Da der Datensatz "16" unter dem Datensatz "13" liegt, wird er in den Speicher A überführt, während der Datensatz "13" in den Speicher B eingespeist wird (siehe Schritt 3 in Figur 5). Während der Zeit des vierten Datenworts wird ein mit der Ganzzahl "10" gekennzeich- a neter Datensatz über den Eingang I. eingegeben, während ein Z-Leerzeichen über den Eingang Ig in das System kommt. Da der Datensatz "10" der kleinste Datensatz im System ist, wird er durch den logischen Kreis C1 der Figur 2B verändert und der sich ergebende Datensatz "10 " wird in den Speicher 0 verbracht, während die Datensätze "13" und "16" in die Speicher A bzw. B kommen, wie im Schritt 4 der Figur 4 dargestellt.
Eine weitere Unterbrechung I findet zur Zeit des fünften Datensatzes statt, wie in Figur 4 dargestellt. Doch herrschte
0ÖÖ8SÖ/1366
während der dem vorhergehenden Wort entsprechenden Zeit ein Zustand, in dem der Speicher C nur teilweise mit Datensätzen gefüllt war (Schritt 4 der Figur 5). Um zu verhindern, daß ein B -Leerzeichen in den Speicher C nach dem 10 -Datensatz verbracht wird, was den Sortiervorgang stören würde, wird der oben genannte Zustand nachgewiesen und während der Unterbrechung der dem fünften Wort entsprechenden Zeit werden Z-Leerzeichen den beiden Eingängen I1, Ip zugeführt. Dadurch verschiebt sich der Datensatz 16 in den Speicher C neben den Datensatz 10 , der Datensatz 13 in den Speicher B und ein Z-Leerzeichen in den kleinsten Speicher A (Schritt 5 der Figur 5).
Die Unterbrechung zur Zeit des fünften Datensatzes dauert bis zur Zeit des sechsten Datensatzes. Da ,-jedoch während der Zeit des fünften Datensatzes kein teilweise gefüllter Speicher vorhanden war, ergibt sich die normale Unterbrechungsregelung für die Zeit des sechsten Datensatzes, wobei ein B -Leerzeichen an den Eingang I1 und ein Z-Leerzeichen an den Eingang I2 angelegt werden. Diese Steuerungsweise ergibt eine Umstellung der Datensätze, wie in Schritt 6 der Figur 5 gezeigt, doch verbleibt das Z-Leerzeichen im kleinsten Speicher A. Der logische Kreis C1 bewirkt keine Änderung der Z-Leerzeichen, die aus dem kleins-1 on Speicher A kommen.
Während der Zeit des siebten Datensatzes wird ein Datensatz 4 über den Eingang I1 dem System zugeführt. Diese Wiederaufnahme der Datensatz-Eingabe findet zu einem Zeitpunkt statt (Schritt () der Figur 5), zu dem kein Speicher teilweise mit Datensätzen gefüllt ist. Da eine Z-Leerstelle im kleinsten Speicher ist, wird eine B -Leerstelle auf den Eingang I^ gegeben. Der Datensatz "4" verdrängt, das Z-Leerzeichen im kleinsten Speicher A und das Z-Leerzeichen wird aus dem System über den Ausgang O0 entfernt, da es unterhalb des Datensätze!? "4" liegt.
Während der Zeit des achten Datensatzes wird ein Datensatz "3" über den Eingang I1 dem System zugeführt (Figur 4). Da keine
Ö0ÖÖ50/1 366 ^BAD ORIGINAL
Z-Datensätze im kleinsten Speicher sind, wird ein Z-Leerzeichen an den Eingang Ip angelegt. Der Datensatz "3" wird in den Daten-
χ-sabz "3 " durch den logischen Kreis CV umgewandelt und in den Speicher D verbracht. Die anderen Datensätze werden über die Speicher A, B und C verteilt, wie in Schritt 8 der Figur 5 dargestellt.
Während der Zeit des neunten Datensatzes wird ein Datensatz "7" über den Eingang I. dem System zugeführt. Die Bedingungen sind die gleichen wie während der des vorhergehenden Datenworts, d.h. kein Z-Leerzeichen befindet sich in dem kleinsten Speicher (Schritt 8 in Figur 5) und deshalb wird ein Z-Leerzeichen an den \ Eingang I9 angelegt* Der Datensatz "4" wird damit in "4 " umgewandelt, da der 3 -Datensatz im Speicher D verbleibt. Der sich ergebende 4 -Datensatz wird in den Speicher D neben dem Datensatz 3 verbracht.
Während der Zeit des zehnten Datensatzes findet eine weitere Unterbrechung statt, wie mit I in Figur 4 bezeichnet. Es herrscht wieder die Bedingung eines teilweise gefüllten Speichers (Speicher D, Schritt 9 In Figur 5), sodaß wieder Z-Leerzeichen in beiden Eingängen I1 und I« erscheinen. Dies ergibt ein Z-Leerzeichen im kleinsten Speicher A und der Datensatz "13" wird in den Speicher D verbracht.
Die Unterbrechung findet während der Zeit des elften Daten- g satzes statt (siehe Figur 4). Während dieser Zeit ist der Speicher D nur teilweise gefüllt (Schritt 10 in Figur 5), sodaß wiederum Z-Leerzeichen an beide Eingänge I j, I2 angelegt werden. Der Speicher D wird nun aufgefüllt (Schritt 11), wenn der Datensatz "16" in den Speicher verschoben wird und Z-Leerzeichen erijcheinen in den beiden Speichern A und B.
Die Unterbrechung (I) hält während der dem zwölften Datensatz entsprechenden Zeib an. Doch sind keine teilweise gefüllten Speicher vorhanden (Schritt iVder Figur 5) und es ist deshalb nicht notwendig ein weiteröö' Z-Leerzeichen dem System
BAD ORIGINAL
0 0 3 ß 5 0 / 1 ί Ü 6
-?<- 201077?'
zuzuführen, Statt dessen finde b die norm 1Ie Steuerung statt, bei der ein B -Leerzeichen dem Eingang I. und ein Z-LeU rye ionen dem Eingang I^ zugeführt wird. Die Datenaätze werden lunge»bellt (siehe iJchritt 12 der ii'igur 5), doch verb Leiben dLe Z--Leerzeichen in den Speichern A und B.
Während der Zeit des dreizehnten Datensatzes wird die Eingabe von Datensätzen wiederaufgenommen und ti in Datensatz "1" wird dem ElngangsanschLuß L. zugeführt. Nun herrscht die Bedingung, daß ein Z-Leerzeichen im kleinsten Speicher A enthalten ist (L'ligur 5, Schritt 12), doch Ist kein Speicher nur teilweise gefüllt, und eu wird deshaLb ein B -Leerzeichen dem KLngang 1.^ zugeführt. Das verbleibende Z-Leerzeichen wird in den kit; Ins ten Speicher A verbracht, der Datensatz "1" kommt- in den Speicher B und die anderen Datenaätze werden Ln der in Schritt Ii der Figur 5 gezeigten tfeise umgesteLLt. Nach dem Verlassen de»
X- K-
Speichers D werden die veränderten Datensätze 4 und .5 in die ursprüngliche Form 4 bzw. 3 in den logischen Kreisen A1 - Ar zurückverwandelt, wie weiter unten atisgeführt. Die Z-LeerzeLehen werden beim Verlassen des Speichers nicht verändert.
Während der dem vierzehnten Datensatz entsprechenden Zelt wird die Eingabe von Datensätzen fortgesetzt und ein Datensatz "2" wird dem Eingang E. zugeführt. Es ergeben sich die gleichen Verhältnisse wie während der Zeit des vorhergehenden Datenworts, da keine ungefüllten Speicher vorhanden sind und ein Z-Leerzeichen im kleinsten Speicher A auftritt (Schritt 13 in Figur 5). Es wird deshalb wieder ein B -Leerzeichen dem Eingang E2 zugeführt. Dadurch ergibt sich eine Verschiebung des letzten Z-Leerzeichens aus dem kleinsten Speicher A und die Datensätze befinden sich in den Speichern in der in Schi-itt 14 gezeigten Porin (b'lgur f>).
rVährend der Zelt des fünfzehnten Datemmbztü) wird ein Datensatz "r>" über dan Eingang E. (Figur I) dem System zugeführt.
BAD ORIGINAL 0Ö3U50/1366
Da kein Z-Leerzeichen im kleinsten Speicher A und kein ungefüllter Speicher vorhanden sind, werden die normalen Eingangsbedingungen wieder hergestellt und ein Z-Leerzeichen wird dem Eingang I? zugeführt. Der Datensatz "1" wird durch den logischen Kreis C1 zu 1 , d.h. zum größten Datensatz verändert und in den Speicher E verbracht (Schritt 15, Figur 5). Die Verteilung der anderen Datensätze ist ebenfalls Figur 5, Schritt 15 zu entnehmen.
Die normale Eingabe wird während der den sechszehnten bis achtzehnten Datensatz entsprechenden Zeiten fortgesetzt, wobei die Datensätze "1", "12" und "11" nacheinander über den Eingang | I1 dem System zugeführt werden, während Z-Leerzeichen dem Eingang I0 zugeführt werden. Eine weitere Unterbrechung findet zur Zeit des neuiiKehnten Datensatzes statt. Dabei ist der Speicher
•X -X
E unaufgefüllt, und um zu -verhindern, daß ein B -Leerzeichen in den Speicher E verbracht wird, werden Z-Leerzeichen an die beiden Eingänge I1, lo angelegt. Es ergeben sich damit die mit Schritt 19 in Figur fj bezeichneten "Verhältnisse.
Letztere Unterbrechung hält über die den 20. und 21. Datenworten entsprechenden Zeiten an, xmä da,die gleichen Bedingungen wie zur Zeit des 19. Datenworts herrschen, werden die Z-Leerzeichen weiterhin an die beiden Eingänge I1, Ip während der diesen beiden Datenworten entsprechenden Zeiten angelegt. Zu , der dem 21. Datensatz entsprechenden Zeit befinden sich.Z-Leer- zeichen in den beiden Speichern A und B und ein Z-Leerzeichen befindet eich neben dem Datensatz 6 im Speicher C.
Wenn die Dateneingabe nur Zeit des 22. Datensatzes wiederaufgenommen wird, wird ein Datensatz "8" dem Eingang I1 zugeführt (Figur A-), Da eich kr?in Z-Leerzeichen im kleinsten Speicher A befindet und da ein unaufgefüllter Speicher E vorhanden ist, wird ein Z-Leerseichen dem Eingang Ip zugeführt. Die Folge ist, daß die Datensätze und die Z-Leerzeichen die in Schritt der Fipur 7 dargestellten Stellungen einnehmen.
BAD ORiGSNAL
1366 — -
Gemäß den Prinzipien der vorliegenden Erfindung wird die Dateneingabe fortgesetzt, bis die Kapazität des Sortiersystems nicht nur voll ausgenutzt, sondern sogar überschritten wird. Die zum Erreichen dieser Bedingung notwendigen Schritte sind in den Figuren 6, 7, 8 und 9 schematisch gezeigt. So werden in dem in den Figuren 6 und 7 gezeigten Beispiel Daten während der den 22. - 26. Datensätzen entsprechenden Zeiten zugeführt, während keine weitere Dateneingabe im Beispiel der Figuren 8 und 9 stattfindet; im letzteren Fall werden die in der Maschine vorhandenen Daten während der folgenden, den 37· - 56. Datenworten entsprechenden Zeiten ausgelesen.
Während der den 23., 24. und 25. Datensätzen entsprechenden Zeiten werden im Beispiel der Figur 6 durch die Ganzzahlen 9> 24 und 25 bezeichnete Datensätze der Sortiervorrichtung über den Eingangsanschluß I. zugeführt, während B -Leerzeichen über den Eingang I2 eingegeben werden. Während dieser drei Schaltschritte wird die Sortiervorrichtung aufgefüllt und am Ausgang tritt keinerlei Information auf. Statt dessen erscheinen Z-Leerzeichen am Ausgangsanschluß O1 und B -Leerzeichen am Ausgang O0.
Erfindungsgemäß werden weiterhin Daten der Sortiervorrichtung zugeführt, obwohl diese bereits aufgefüllt ist. So werden während der Zeit des 26. Datensatzes ein mit der Ganzzahl 1 r-> gekennzeichneter Datensatz an den Eingang J1, und das B -Leerzeichen an den Eingang I0 angelegt. Wenn der Datensatz 15 in die Sortiervorrichtung gelangt, wird der niedrigste Datensatz verschoben und erscheint am Ausgang O1, wobei gleichzeitig das B -Leerzeichen am Ausgang Op erscheint und Information in der Sortiervorrichtung die in Figur 7 gezeigte Verteilung annimmt. Während der dem 27. Datensatz entsprechenden Zeit findet in dem dargestellten Beispiel eine Unterbrechung ütatt, und ein Z-Leerzeichen wird an den Eingang I1 und ein B -Leerzeichen an den Eingang I? angelegt. Dadurch wird ein Z-Leerzeichen am Ausgang O1 erzeugt und das B -Leerzeichen erscheint am Ausgang O0,
BAD ORiGiMAL
009650/ 1 366
worauf die in der Sortiervorrichtung enthaltene Information die in Figur 8 gezeigte Verteilung annimmt.
Während der Zeit des 28. Datensatzes wird ein mit der Ganzzahl 19 gekennzeichneter Datensatz dem System über den Eingang I. zugeführt, während ein B -Leerzeichen über den Eingang I2 eingegeben wird. Dadurch nimmt die Information im System die in Figur 7 gezeigte Verteilung an, wobei der Datensatz aus dem Ausgang 0. geschoben wird und das B -Leerzeichen am Ausgang O2 erscheint. Dieser Vorgang setzt sich in der in Figur 6 gezeigten Weise fort, wobei B -Leerzeichen jedes Mal an den Eingang I2 angelegt werden, wenn ein Datensatz am Eingang I1 erscheint, und | Z-Leerzeichen am Eingang I1 während einer Unterbrechung angelegt werden, was die entsprechende Zuführung von B -Leerzeichen an den Eingang I? zur Folge hat.
Wie in Figur 6 dargestellt, wird bei jeder Zuführung eines Datensatzes zur Sortiervorrichtung ein anderer Datensatz aus dem Ausgang 0. geschoben, und diese herausgeschobenen Datensätze sind sortiert. Aus den in Figuren 6, 7, 8 und 9 gezeigten Beispielen ist ersichtlich, daß die am Ausgang O1 erscheinenden Datensätze vollkommen sortiert sind. Doch sind im Falle zahlreicher Datenlisten die am Ende eines Durchgangs in mehr oder weniger sortierter Form vorliegenden Gruppen von Datensätzen nur bis auf einige wenige Datensätze geordnet, sodaß weitere Durchgänge durch ciie Sortiervorrichtung notwendig sind. I
In den in Figuren 8 und 9 dargestellten Schritten ist zwar die Dateneingabe beendet, doch fährt das System fort Datensätze über den Ausgang O. abzugeben, bis alle im System vorhandenen Datensätze in geordneter Form herausgeschoben worden sind. Um die« zu erreichen, wird gemäß Figur 8 ein B -Leerzeichen dem
X· ^f
Kingang I1 zugeführt, und ein B -Leerzeichen wird jedes Mal vom Ausgang 0. abgenommen und an den Eingang I2 angelegt, wenn ein Datensatz aus dem System zu schieben ist. Die Abgabe der Datensätze kann jederzeit unterbrochen werden, wie dies während
BAD ORIGINAL
0Ö68S0/ 1 3 6 6; *
der den 41., 41J., 4B. und 49. Datensätzen entsprechenden Zeiten geschieht; die Unterbrechung wird erzielt, indem ein ",-Leerzeichen statt eines B -Leerzeichens dem Eingang l,} zugeführt wird. Da das Z-Leerzeichen "kleiner" ist als der unterste Datensatz, wird es statt eines Datensatzes aus dem Ausgang O. geschoben. Bei der Durchführung dieser Operation nehmen die Datensätze in der Sortiervorrichtung die in Figur 9 für jeden folgenden Schritt gültige Stellung an, bis alle Datensätze herausgeschoben sind
* x-
und nur noch B -Leerzeichen verbleiben.
Das Auffüllen der Sortiervorrichtung mit Datensätzen ist der erste Schritt der Sortieroperation. Dies wird erreicht durch ununterbrochenes Zuführen der unsortierten Datensätze einer Liste an den Eingang T., und von Z-Leerzeichen an den Eingang In den Unterbrechungen dieser anfänglichen Auffülloperation werden B - bzw. Z-Leerzeichen dem Eingang I., und Z-Leerzeichen bzw. B -Leerzeichen dem Eingang I2 i-n (*er vorher beschriebenen Weise zugeführt.
Nach dem Auffüllen der Sortiervorrichtung werden die verbleibenden zu sortierenden Datensätze der Liste nacheinander dem System über den Eingang Ij zugeführt, wie unter Bezugnahme auf Figuren 6 und 7 beschrieben. Während dieser Operation werden die Datensätze dem System über den Eingang [., und die B -Leerzeichen über den Eingang Ip zugeführt. Diese Operation wird bis zum Erreichen des Endes der Liste fortgesetzt, wobei jeder eingegebene Datensatz den niedrigsten Datensatz aus dem System befördert, wie vorher beschrieben. Wenn hierbei in der Liste eine Unterbrechung auftritt, werden Z-Leerzeichen dem System über
* * den Eingang I. zugeführt, während weiterhin B -Leerzeichen dem Eingang Ip zugeführt werden. Während dieser Unterbrechungen erscheinen die Z-Leerzeichen statt Datensätzen am Ausgang 0. , wie vorher beschrieben.
Wenn das Ende der Datensatzgruppe erreicht ist, werden, wie
BAD ORIGiWAL
0ÖS860/1366
201077?
im Beispiel der Figuren 8 und 9 gezeigt, die Datensätze am Ausgang O1 verschoben. Für diese letztere Operation werden B -Leerzeichen an die beiden Eingänge I1, Ip angelegt. Immer wenn diese Leerzeichen an beide Eingänge angelegt werden, wird der niedrigste Datensatz aus dem Ausgang 0.. geschoben. Eine Unterbrechung kann in dieser Abgabeoperation erreicht werden, indem ein Z-Leerzeichen statt eines B-Leerzeichens dem Eingang Ip für jeden, einem ausgefallenen Datensatz entsprechenden Zeitabschnitt eingesetzt wird.
Wenn das Ende der Datensatzliste am Ausgang O1 angekommen ist, müssen Mittel vorgesehen werden um anzuzeigen, ob die Liste | völlig geordnet wurde, sodaß ein zweiter Durchgang stattfinden kann, vienn die Liste nicht vollkommen geordnet war. Eine derartige Überprüfung und Anzeige kann in der folgenden Weise erreicht werden.
Aus Figuren 2A und 2B ist ersichtlich, daß während der Auffülloperation jeder der logischen Kreise A1-A1-B -Leerzeichen an den Eingang der Sortiervorrichtung S abgibt, solange die entsprechenden Speicher A-E nicht mit Datensätzen gefüllt sind. Dadurch wird Zeit gespart, die andernfalls notwendig wäre um da.ri System auf die Aufnahme neuer Daten vorzubereiten. Jede der logischen Schaltungen F.. - Fn- spricht auf den ersten, in den entsprechenden Speicher A-E eingegebenen Datensatz an und g betätigt einen bistabilen Multivibrator Ii., der anzeigt, wann der zugehörige Speicher mindestens einen Datensatz enthält. Jeder der logischen Kreise A1 - A1. spricht auf den ersten, vom entsprechenden Speicher A - E abgegebenen Datensatz an und betätigt einen Flip-Flop-Kreis D., der anzeigt, daß der betreffende Speicher mil Datensätzen aufgefüllt ist. Jeder der Kreise A1 Apbeseitigt Kennzeichen, mit denen der vom betreffenden Speicher abgegebene Datensatz bei der ersten Eingabe versehen wurde, falls derartige zusätzliche Kennzeichen an bestimmten Datensätzen angebracht wurden.
BAD ORlGiNAL
009850/1366
201077?
Bei dieser Einspeisung sind die logischen Kreise B.. - Bj- der Figur 2A und C2 - CL der Figur 2B unwirksam. Der logische Kreis C. ist während der Eingabe nur insofern wirksam, als er in der vorher beschriebenen Weise zusätzliche Kennzeichen an dem Speicher A zugeführten Datensätzen anbringt. Derartige Kennzeichen werden nicht an Z-Leerzeichen angebracht, wenn diese während der Eingabeoperation dem Speicher A zugeführt werden.
Die logischen Kreise B1 - B1- löschen unter bestimmten Bedingungen das Kennzeichen an gewissen Datensätzen. Falls ein nicht mit einem besonderen Kennzeichen versehener Datensatz in einen der logischen Kreise B1 - B^ gelangt und der Speicher, dessen Ausgang mit diesem Datensatz verglichen werden soll, einen Datensatz zusätzlich zum abgegebenen Datensatz enthält, wird der Datensatz beim Erscheinen am Ausgang des entsprechenden logischen
Kreises B1 - Bc mit einem Kennzeichen versehen, ι 5
Die Sortierschaltungen des Sortierblocks S werden am Ende der' Dateneingabe abgeschaltet. Die Anschlüsse der Sortierschaltungen im Block S (Figur 3) bewirken, daß die dem gesperrten Sortierblock S zugeführten Datensätze nicht umgestellt werden, sondern in unveränderter Reihenfolge am Ausgang erscheinen. Die logischen Kreise C1 - Cc dienen zum Nachweis von Daten mit besonderen Kennzeichen am Ausgang der Speicher. Wenn derartige Daten mil besonderen Kennzeichen in einen der logischen Kreise C1 - C1- gelangen, wird verhindert, daß die entsprechenden Sortierschaltungen S1 und S' ihre Ausgänge vertauschen.
Die logischen Kreise F1 - Fj- dienen zum Nachweis eines nicht besonders gekennzeichneten Datensatzes am Ausgang. Kenn ein nicht besonders gekennzeichneter Ausgangsdatensatz den logischen Kreisen F1 - FV zugeführt wird und ein Datensatz in den Speichern A-E zum Vergleich vorhanden ist, bringt der entsprechende logische Kreis F1 - F, ein kennzeichnende» Merkmal an.
Figur 10 zeigt eine typische Sortierschaltung. Diese Schaltung
009850/1366
?*'- 201077?"
ist beispielsweise für die Sortierer S- S^, S', - S^ und die einzelnen Einheiten der Sortierschaltung S der Figuren 2 und 4 geeignet. Die in Figur 11 dargestellte Sortierschaltung.ähnelt der im vorher erwähnten US-Patent 3,399*383 beschriebenen Schaltung. Wie jedoch in diesem Patent erwähnt, können andere Sortierschaltungen, darunter solche mit Speichern mit drei Zuständen verwendet werden.
Die Sortierschal bung der Figur 10 umfaßt einen ersten Eingang A, der z.B. einen ersten Datensatz A empfängt; ein zweiter Datensatz B wird dem zweiten Eingang B zugeführt. Der Eingang A ist mit einem UND-Gatter 112 und einem Invertiernetzwerk 119 ver- ä bunden. Entsprechend ist der Eingang B mit einem UND-Gatter 113 und einem Invertiernetzwerk 120 verbunden. Das Invertiernetzwerk 119 spricht in bekannter Weise auf den Eingangsdatensatz A an und erzeugt Bit für Bit das Komplement T; entsprechend ergibt das auf den Datensatz B ansprechende Invertiernetzwerk 120 das Komplement B" Bit für Bit.
Das Invertiernetzwerk 119 ist.mit dem UND-Gatter 121, das Invertiernetzwerk 120 mit dem UND-Gatter 122 verbunden. Die beiden UND-Gatter 112, 113 sind mit dem ODER-Gatter 114 verbunden, das seinerseits wieder an einen mit "Hi" bezeichneten Ausgang angelegt ist. Die UND-Gatter 121, 122 sind mit einem ODER-Gatter 123 verbunden, das andrerseits mit dem Invertiernetzwerk 125 verbunden ist, das selbst wieder an den "Lo"-Ausgang geschaltet i ist.
Der Eingang A und der Ausgang des Invertiernetzwerks 120 sind mit einem UND-Gatter 135 verbunden,, sodaß die binär verschlüsselten Datensätze A und B dem UND-Gatter 135 zugeführt werden. Der Eingang B und der Ausgang des Invertiernetzwerks sind mit dem UND-Gatter 137 verbunden und damit erscheinen die binär ve-ruchlüaBol ben Datensätze B und Ä~ am UND-Gatter 137. Geeignete- ZeLtmarkenImpulse für· die Bits werden vom Speicher 12
in der oben beschriebenen /Veise abgenomr3ü und tibtmf iI.Uj an die UND-Gatter 135 und 137 zur Zeitmarkengabe für die Bits angelegt.
Das UND-Gatter 135 ist mit dem Eingang eines Unterdrücker-FLip-Plops Q1 verbunden, während das UND-Gatter I37 mit dem Eingang eines Austausch-FLip-Flops"Q, verbunden ist. Vor jeder Dateneingabe werden Rucks tellimpulse an die Eingänge der Flip-Flops Q1 -Q? zu deren Rückstellung angelegt. Der zurückgestellte Ausgang 0"\ des Unterdrücker-Plip-Flops Q. ist mit den UiID-Gattern 113 und 121 verbunden, sowie mit dem UND-Gatter 137. Dieser Ausgang Q1 des Flip-Flops legt den Wert Q1 an die UND-Gatter 113, 121 und 137 an. Der zurückgestellte Ausgang Q-, des Austausch-Flip-Flops Q-, ist mit den UND-Gattern 112 und 122 sowie mit dem weiteren UND-Gatter 125 verbunden. Dieser Ausgang des Austausch-Flip-Flops legt den Wert Q-, an die UND-Gatter 112, 122 und 135 an.
Damit das System der Figur 3 seine Sortierfunktion ausführen kann, müssen, wie vorher erwähnt, die Datensätze Λ und B Bit für Bit nacheinander dem Sortiersystem zugeführt werden, beginnend mit dem wichtigsten Bit des Kennzeichenfelds. Bei Beginn des Sortiervorgangs werden sowohl der Unterdrücker-Flip-Flop Q1 als auch der Austausch-Flip-Fiop Q5 zurückgestellt, uodaß die beiden Terme Q1 und Q-, falsch sind und beim Beginn des Betriebs die UND-Gatter 112, 113, 121 und 122 sämtlich offen sind. Die Datensätze A und B laufen Bit für Bit nacheinander durch die UND-Gatter, solange die Bits der beiden Datensätze entweder 1 oder O sind. Diese Bits erscheinen in unveränderter Form an den Ausgängen "Hi" und "Lo".
Es werde angenommein, daß ein Bit des Kennte iuhenl'e ids des Datensatzes A Mull ist, wenn der entsprechende Bit ij Kennzeichenfeld des Dateims.M tzes B Ein» ist, und daü dies dt;r ;:rr.te FaIL UiL, in. dem ein DuUimjafca einen vom entsprechenden Bit. des aride- ftm Datensätze;; vor«eh Led υneu Bit halt. D'u·. budnuLiit, <i.ii.! die i.chnoridf.'n ili^riulH do π Du f. em; afc sea B eine hohe; ro ιίηη'/.zahl
BAD ORfG»f,iAL 0 0 8 ß 0 / 1 3 b' ''-
darstellen als das kennzeichnende Signal des Datensatzes A. Unter dieser Bedingung ist der Term A.B richtig, sodaß das UND-Gatter 137 offen ist. Der nächste Zeitmarkenimpuls CL schaltet den bistabilen Multivibrator Q5, sodaß die UND-Gatter 112 und 122 gesperrt werden. Auch wird das UND-Gatter 135 gesperrt, sodaß die bistabilen Multivibratoren Q1 oder Q, während der betreffenden Vergleichsoperation nicht geschaltet werden können.
Nach dem Nachweis eines Null-Bit im Kennzeichenfeld des Datensatzes A und dem gleichzeitigen Nachweis eines Eins-Biis im Kennzeichenfeld des Datensatzes B (was bedeutet, daß der Datensatz B "größer" ist als der Datensatz A) laufen die verbleibenden Bits i des Kontrollfelds und des Datenfelds in Komplementärform (Ä) durch das offene UND-Gatter 122, das ODER-Gatter 123, und die Umkehrstufe 125 zum Ausgangsanschluß "Lo".
Die -entsprechenden Bits der verbleibenden Abßchnitte des Kennzeichnungssignals und die Bits im Datenfeld des Datensatzes B laufen durch die offenen UND-Gatter 112, 114 zum Ausgang "Hi". Der Nachweis einer Ungleichheit zwischen den aus den Kennzeichnungsfeldern, resultierenden Kennzeichnungssignalen der Datensätze A und B führt dazu, daß der "niedrigere" Datensatz A am Ausgang "Lo" und der "größere" Datensatz B am Ausgang "Hi" erscheint.
Wenn umgekehrt dieser Vergleich dazu führt, daß das Kennzeichnungssignal des Datensatzes A einen Eins-Bit zu einer Zeit hat, zu der das Kennzeichnungssignal des Datensatzes B einen Null-Bit I hat, d.h. v;enn der Datensatz A größer ist als der Datensatz B, wird der Term Λ.Β an das UND-Gatter 135 angelegt und öffnet dasselbe, sodafc: die nächste Zeitmarke den Unterdrücker-Flip-Flop Q1 schaltet.
Ließe Schaltung des Unterdrucker-Flip-Flop· Q1 sperrt die UND-Gatter 11>, 121 und ebenso das UND-Gatter 137, was bewirkt, daß jede Schaltung des Austauseh-Flip-Flops123 während des verbleibenden Abschnitts des Vergleichs der betreffenden Datensätze
BAD ORIGINAL
009850/1366
unterbleibt.
Unter den obigen Bedingungen läuft der größere Datensatz A durch das UND-Gatter 112 und das ODER-Gatter 114 zum Ausgangsanschluß "Hi", wohingegen der untere Datensatz 3 durch die Umkehrstufe 120, aas üwD-Gatter 122 und das ODER-Gatter 123 läuft und an die Umkehrstufe 125 gelangt. Der Datensatz B wird in invertierter Form zur Umkehrstufe 125 geschickt und erscheint in der ursprünglichen Form am "Lo"-Ausgang.
Wie oben angegeben, kann das Sortiernetzwerk der Figur 10
für die Sortierkreise S-S1- und Si - St- sowie für die die Sor-
05 \ D
tierschaltung S aufbauenden Kreise verwendet werden.
Figur 11 zeigt die Bit-Zeitgabe der Kontrollfeldbits der verschiedenen Datensätze und Leerzeichen, die im System verwendet werden.
Die im System verwendeten Flip-Flop-Schaltungen sind wie folgt.
Eingabebetrieb (I,M.) bezeichnet Dateneingabe (siehe Figur 12);
Dateneingabe (D) (nicht dargestellt) - gesteuert durch das System, das Datensätze der Sortiervorrichtung zuführt.
Teilweise Auffüllung (P.F.) (Figur 13) - wird angezeigt, wenn einer der Speicher A-E im System Eingangsdaten und einen B Ausgang hat«
Dateiende (E,0.F.) (Figur 12) - bedeutet, daß der letzte Datensatz einer Gruppe von Datensätzen dem System zugeführt wurde.
Austausche ^.zeiger (S) (Figur 13) - weist Austauschoperationen in den Sortierschaltungen bei jedem Durchgang von Information durch das System nach.
Auffüllung des Sortiersystems (S.F.) (Figur 13) - zeigt an, daß das Sortiersystem mit- Datensätzen aufgefüllt ist, sodaß Ausgangsoperationen begonnen werden können.
Z-Leerzeichen-Detektor (ZI) (Figur 13) - dient zum Nachweis von Z-Leerzeichen im Speicher A,
B-Leerzuichen-Detektor (B1) (Figur 13) - dient zum Nachweis
BAD ORiGiNAL
Π π <i f» κ o / "u t1
von B-Leerzeichen im Speicher A, was die Vollendung eines Durchgangs durch die Sortiervorrichtung anzeigt.
Ausgangsbetrieb (O.M.) (Figur 12) - zeigt an, daß eine Ausgangsoperation stattfindet,
Datenanzeiger (N., N, - N1-, einer für jeden Speicher, ausgenommen die Speicher A und B; Figur H) - zeigt an, daß ein Datensatz in den entsprechenden Speicher eingeführt wurde.
Speieherauffüllungsanzeiger (D., D1 - Du, einer für jeden Speicher; Figur 13) - zeigt an, daß der betreffende Speicher mit Datensätzen aufgefüllt ist; zu diesem Nachweis wird ein Datensatz am Speicherausgang nachgewiesen und während der Abga- beoperation zeigt der Flip-Flop das Vorhandensein eines nicht besonders gekennzeichneten Datensatzes in dem entsprechenden Speicher an. '
Wie in Figur 12 dargestellt, umfaßt der Flip-Flop I.M. für den Eingabebetrieb ein UND-Gatter 300, das mit dem schaltenden Eingangsanschluß verbunden ist, und ein UND-Gatter 302, das mit dem zur Rückstellung dienenden Anschluß des Flip-Flop verbunden ist. Die Terme D und t.. werden dem UND-Gatter 300 zugeführt,'und die Terme E.O.F. (Dateiende) und t1 dem UND-Gatter 302. Der Dateneingabebetrieb der Sortiervorrichtung beginnt also nach dem Durchschalten des Eingabe-Flip-Flop, wenn auf ein geeignetes Signal vom System die Datensätze der Sortiervorrichtung zugeführt werden; darauf wird der Flip-Flop D geschaltet (nicht | dargestellt). Die Eingangsoperation wird beendet und der Flip-Flop I.M. wird zurückgestellt, wenn das Dateiende-Signal (D*) von dem die Datensätze einführenden System die Schaltung des Flip-Flop E.O.F. bewirkt.
Der zur Schaltung dienende Eingang des Dateiende(E.O.F.)-Flip-Flop ist mit dem UND-Gatter 403 verbunden, während ein weiteres UND-Gatter 306 mit dem zur Rückstellung dienenden Eingang verbunden ist. Die Terme I8M., D und t.. werden dem UND-ßatter 2Q4 zugeführt, und die Terme B1 und X^ dem UND-Gatter
BAD ORIGINAL
/13 6 8
201077?
306. Das bedeutet, daß der Dateiende(E.O.F.)-Flip-Flop zur Beendigung der Dateneingabeoperation geschaltet wird, wenn ein Dateiende(D~)-Signal von dem die Datensätze der Sortiervorrichtung zuführendem System empfangen wird (vorausgesetzt, daß die Sortiervorrichtung auf Singabebetrieb geschaltet ist). Der Dateiende (E. 0. F.) -Flip-Flop bleibt eingeschaltet, bis der B-Leerzeichen-Detektor (Flip-Flop B,) Leerzeichen im Speicher A nachweist und damit die Beendigung der Ausgangsoperation anzeigt. Der Flip-Flop (O.M.) für Ausgangsbetrieb umfaßt ein mit dem zum Schalten dienenden Eingang verbundenes UND-Gatter 308 und ein mit dem Rückstelleingang verbundenes UND-Gatter 310. Die Terme E.O.F. und tp werden an day UND-Gatter 308 angelegt, und die Terme B. und t. and das UND-Gatter 310. Der Auslese- bzw. Ausgangsbetrieb beginnt, wenn der zugehörige Flip-Flop O.M. durchgeschaltet wird; diese Schaltung findet statt, wenn die Sortiervorrichtung mit Datensätzen aufgefüllt ist, was von der Schaltung des Flip-Flop S.F. angezeigt wird. Der Ausgangsbetrieb geht weiter, bis ein Leerseiehen im kleinsten Speicher A nachgewiesen wird; dieser liachwe-; .;·, geschieht durch die Schaltung des als Leerzeichen-Detektor wirkenden Flip-Flops B,.
Der AustäUBch-Flic-Fiop R der Figur 13 umfaßt ferner ein mit dem schaltenden Eingang verbundenes UND-Gatter 330 und ein mit dem zur Rückstellung dienenden Eingang verbundenes ODER-Gatter 332. Der Austausch-Flip-?lop wird durch Leerzeichen aller Art oder durch besonders j ekc:'ins? ich riete Datensätze aus einem der Speicher A-E durcS ,:. a.· h:.'. :tt, wenn die Terme L. und t~ an das UND-Gatter 330 abgelegt werden. Ein UND-Gatter 334 ist für jede Sortierschaltun;- vorgesehen und mit dem ODER-Gatter 332 verbunden. 7/enn die 'era-e L^, "t^ und E. an ein UND-Gatter 334 angelegt wevden, wird vier Austausch-Plip-Flop R zurückgestellt, falls eir Austausch von Datensätzen in einer der Sortierschaltungen stat,findet. Falls kein Austausch von Datensätzen stattfindet, ver.) Leibt der Austausch-Flip-Flop R während des Durch-
- 201077? 3Ϊ
gangs durchgeschaltet.
Der auf die Auffüllung des Sortiersystems ansprechende Flip-Flop S.F. wird von den an das UND-Gatter 336 angelegten Termen D1 - Dp. geschaltet und zeigt an, daß alle Speicher in der Sortierschaltung Datensätze enthalten. Der Flip-Flop S.F. schaltet den Ausgangsbetrieb-Flip-Flop O.M., sodaß das System nach dem Auffüllen mit Datensätzen in den Auslesebetrieb übergeht. Das Schalten des Ausgangsbetriebs-Flip-Flops stellt den Flip-Flop S.F. zurück. Der Flip-Flop S.F. zeigt an, daß das System keine weiteren Datensätze aufnehmen kann« obwohl unter gewissen Umständen noch Z-Leerzeichen im System vorhanden sein können. λ
Der Flip-Flop Z1 dient zum Nachweis von Z-Leerzeichen im Speicher A, derart, daß diese Leerzeichen während des Eingabebetriebs nicht unterschieden werden. Der Flip-Flop Z1 umfaßt ein an seinen schaltenden Eingangsanschluß angeschlossenes UND-gatter 340. Der geschaltete Eingangsanschluß des v/eiteren Flip-Flop 342 ist mit dem UND-Gatter 340 verbunden, an das die Terme t-z und LT angelegt werden. Ein UND-Gatter 344 ist mit dem geschalteten Eingang des Flip-Flops 342 verbunden und die Terme LT und t2 werden an das UND-Gatter 344 angelegt. Der Term t, stellt den Flip-Flop 342, der Term t1 den Flip-Flop Z1 zurück.
Ein Z-Leerzeichen im Speicher A schaltet den Flip-Flop 342? worauf sich das UND-Gatter 340 öffnet und der Flip-Flop Z1 durchgeschaltet wird. ■ . ' f
Der Flip-Flop B1 weist B-Leerzeichen im kleinsten Speicher A nach. Dieser Flip-Flop wird zu jeder Zeit t1 durch Anlegen des Terms t1 an den schaltenden Eingangsanschluß betätigt. Ein ODER-Gatter 346 ist an den der Rückstellung dienenden Eingangsanschluß angeschlossen, ebenso wie die UND-Gatter 343, 345 und 347. Die Terme L' und t1 werden an das UND-Gatter 343 angelegt, die Terme LT und t,-, and das UND-Gatter 345? u^d die Terme Ll und t.. an das UND-üatter 347. Der Flip-Flop B1 bleibt geschaltet;
0ÖiS60/1366
nur wenn ein B-Leerzeichen in den Speicher A eingeführt wird.
Wie vorher erwähnt, enthält jeder der Speicher A-E einen Flip-Flop D. und jeder der Speicher C-E einen Flip-Flop N. . Wenn, beide Flip-Flops N. und D. zurückgestellt sind, ist der zugeordnete Speicher leer. Wenn der Flip-Flop N. geschaltet wird, bedeutet dies, daß der zugehörige Speicher teilweise mit Datensätzen angefüllt ist. Ψβηη beide Flip-Flops D. und N. geschaltet sind, bedeutet dies, daß der zugehörige Speicher mit Datensätzen gefüllt ist. Wie gleichfalls vorher erwähnt, werden die Flip-Flops N. und D. zum Nachweis nicht besonders gekennzeichneter Datensätze bei der Dateneingabe verwendet.
file in Figur 14 dargestellt, ist der Flip-Flop B1 mit dem Speicher A und der Flip-Flop Bp mit dem Speicher B zusammengeschaltet. Da die Speicher A und B "Ein-Wort"-Speicher sind, braucht keiner der auf eine teilweise Auffüllung ansprechenden Flip-Flops N. in diesen Speichern eingesetzt werden. Die Flip-Flops D, und N., arbeiten mit dem Speicher C zusammen, die Flip-Flops D. und N. mit dem Speicher D, und die Flip-Flops D,- und N,- mit dem Speicher E.
Ein UND-Gatter 550 ist über das ODER-Gatter 351 an den zur Schaltung dienenden Eingang des Flip-Flops D1 angeschlossen, und ein UND-Gatter 352 an den zur Rückstellung dienenden Eingang dieses Flip-Flops. Ein UND-Gatter 353 ist an das ODER-Gatter 351 geschaltet. Die Terme O.M., L"!J" und t2 werden an das UND-Gatter 353 angelegt, die Terme I.M., ITj" und t1 and das UND-Gatter 350, und die Terme O.M., L~j" und t2 an das UND-Gatter 352. Das bedeutet, daß die Terme L~7 und t^ den Flip-Flop D1 schalten, wenn immer ein Datensatz aus dem Speicher A während einer Eingabeoperation geschoben wird. Umgekehrt, wann immer ein nicht besonders gekennzeichneter Datensatz aus dem Speicher A beim Auslesebetrieb kommt, stellen die Terme L~7 und tp den Flip-Flop D1 zurück.
Ein UND-Gatter 354 ist durch ein ODER-Gatter 355 an den zum
009850/1366
-201077?
Schalten dienenden Eingang des Flip-Flop D2 angeschlossen, während, ein UND-Gatter 356 an den zur Rückstellung dienenden Eingang geschaltet ist. Ein UND-Gatter 357 ist mit dem ODER-Gatter 355 verbunden. Die Terme O.M., LT und t2 werden an das UND-Gatter 357, die Terme I.M., LTJ", D. und t1 an das UND-Gatter 354, und die Terme O.M., ΊΖ und tp an das UND-Gatter 356 angelegt. Die Folge ist, daß bei jeder Abgabe eines Datensatzes B aus dem Speicher B während des Eingabebetriebs der Term L2". t.. den Flip-Flop D schaltet, wohingegen der Term HZ,t2 den Flip-Flop Dg zurückstellt, wenn ein nicht besonders gekennzeichneter Datensatz während des Eingangsbetriebs vom Speicher B abgenommen wird. Λ
Ein ODER-Gatter 358 ist an den zum Schalten dienenden Ein- ™ gang des Flip-Flops D^, angeschlossen und ein Paar von UND-Gattern 360, 362 ist mit dem ODER-Gatter 358 verbunden. Ein UND-Gatter 364 ist mit dem zur Rückstellung dienenden Eingang des Flip-Flops D, verbunden. Die Terme 0„M., TZ und t~ werden dem UND-Gatter 360 zugeführt, die Terme I.M., TZ1 t^, N, und D2 dem UND-Gatter 362, und die Terme O.M., TZ und t2 dem UND-Gatter 364.
Der Flip-Flop D, wird während des Eingabebetriebs vom Ausgang des UND-Gatters 362 geschaltet, wenn ein Datensatz B dem Speicher C entnommen wird, was anzeigt, daß der Speicher C mit Datensätzen gefüllt ist. Das UND-Gatter 360 ist während des Auslesebetriebs offen, wenn ein nicht besonders gekennzeichne- | ter Datensatz dem Speicher C zugeführt wird, sodaß der Flip-Flop D^ geschaltet wird.
Der Flip-Flop N, des Speichers C umfaßt ein ODER-Gatter 366, das an den zum Schalten dienenden Eingang des Flip-Flop angeschlossen ist, sowie ein Paar von UND-Gattern 368, 370, die mit dem ODER-Gatter verbunden sind.. Ein UND-Gatter 372 ist mit dem Rückstelleingang dieses Flip-Flops verbunden. Die Terme O.M., TZ und t-o werden an das UND-Gatter 368 angelegt, die Terme I.M., D2, TZ und t. an das UND-Gatter 370, und die Terme
009850/1366
- 201077?.
is
O.M., t,, TZ und DT an das UND-Gatter 372.
Der Flip-Flop N^ wird deshalb während des Eingabebetriebs geschaltet, vorausgesetzt, daß der Flip-Flop Dp des Speichers B geschaltet wurae um anzuzeigen, daß der Speicher B mit Datensätzen aufgefüllt ist. Diese Bedingung muß erfüllt sein, ehe der Speicher C teilweise aufgefüllt sein kann; die Eingabe eines Datensatzes D in den Speicher C öffnet das UND-Gatter 370, sodaß der Flip-Flop N, geschaltet wird und anzeigt, daß der Speicher C Daten enthält. Wie vorher erwähnt, ergibt sich eine die teilweise Auffüllung des Speichers C mit Datensätzen bezeichnende Anzeige, wenn der Flip-Flop N^ geschaltet wird. Der Flip-Flop D5 wird ebenfalls durchgeschaltet, wenn der Speicher C mit Datensätzen aufgefüllt ist. Immer wenn ein nicht besonders gekennzeichneter Datensatz dem Speicher C während des Auslesebetriebs zugeführt wird, wird das Gatter 368 geöffnet, sodaß der Flip-Flop N^ geschaltet werden kann.
Die Flip-Flops T)-, und EL des Speichers D befinden sich in ähnlichen logischen Schaltungen wie die Flip-Flops D, und N.,, Die Flip-Flops Df- und N1- des Speichers E befinden sich ihrerseits in ähnlichen logischen Schaltungen wie die Flip-Flops D., N4 bzw. D5, N5.
Die logischen Schaltungen der Figuren 15 und 16 zeigen die Sortierschaltungen S1, S2, S, bzw. SQ, S1, S2 und SX, sowie die logischen Kreise A1, A2, A5, B1, B2 und die fcreise B5, C1, C2, C, sowie die Kreise F1, F2 und F5. Ähnliche logische Kreise sind für die Sortierschaltungen S., S1- vorgesehen, sowie für die Sortierschaltungen SX, S^ und Sc. Die letzteren logischen Kreise sind gleichartig und sind zur Vereinfachung der Darstellung weggelassen worden.
Die Sortierkreise S1, S2 und S5 (Figur 15) umfassen einen ersten Satz von ODER-Gattern 400, 402 und 404, die mit den entsprechenden unteren Eingangsanschlüssen verbunden sind und andrerseits in die logischen Kreise A1, A2 und A5 geschaltet
009650/1366
sind. Die Sortierschaltungen S.. und Sp weisen entsprechende ODER-Gatter 406, 410 auf (Figur 15), die einerseits mit den entsprechenden oberen Eingangsanschlüssen verbunden sind, andrerseits in den logischen Kreisen Bp und B^ enthalten sind. In ähnlicher Weise ist ein ODER-Gatter 412 an den oberen Eingang der Sortierschaltung S (Figur 16) geschaltet, und dieses ODER-Gatter stellt einen Teil des logischen Kreises B1 dar.
Wie ferner aus Figur 16 ersichtlich, ist ein ODER-Gatter 414 an den unteren Eingang der Sortierschaltung Sij geschaltet und dieses ODER-Gatter bildet einen Teil des logischen Kreises C1. In Figur 15 sind die UND-Gatter 420, 422, 428 und 432 an das ODER-Gatter 404 geschaltet. Die Tenne I.M., T^, L, und D, werden ™ dem UND-Gatter 420 zugeführt, wobei der Term L, den Ausgang des Speichers C der Figur 2A darstellt. Die Terme N,, I.M. und B werden an das UND-Gatter 422 angelegt und die Terme L,, O.M. und T^ an das UND-Gatter 428. Die Terme O.M., L-, N5, D~7 und t2 werden an das UND-Gatter 452 angelegt.
Die UND-Gatter 434, 436, 442 und 446 sind mit dem ODER-Gatter 402 verbunden. Die Terme I.M., t7, Dp und L2 werden an das UND-Gatter 434 angelegt, wobei der Term L? den Ausgang des Speichers B der Figur 2A darstellt. Die Terme Dp, I.M-. und B werden an das UND-Gatter 436 angelegt,, die Terme O.M., Lp und ΎΖ an das UND-Gatter 442, und die Terme O.M., D2", T2" und L2 an das UND-Gatter 446. , , j
Ein Paar UND-Gatter 452, 458 ist mit dem ODER-Gatter 410 des logischen Kreises B-, verbunden. Der Ausgang des unteren Anschlusses der Sortierschaltung S, und der Term I.M. werden an das UND-Gatter 452 angelegt. Diese Anschlußweise ergibt einen umlaufenden Schaltweg durch den logischen Kreis B, während des Eingangsbetriebs. Die Terme O.M., E^, N, und tp werden an das UND-Gatter 458 angelegt.
Der logische Kreis B2 umfaßt ein Paar von UND-Gattern 462, 468, die mit dem ODER-Gatter 406 verbunden sind. Der Ausgang des
009650/1366
unteren Anschlusses der Sortierschaltung Sp wird an das UND-Gatter 462 angelegt. Das Anlegen des Terms I.M. an das UND-Gatter 462 ergibt einen Durchgang durch den logischen Kreis B2 beim Eingabebetrieb. Die Terme O.M., Ep, Np und tp werden an das UND-Gatter 468 angelegt.
Die UND-Gatter 470, 472, 478 und 482 werden mit dem ODER-Gatter 400 verbunden. Der Ausgang des Speichers A (L1) wird an die UND-Gatter 470, 478 und 482 angeschlossen. Die Terme t^, D1 und I.M. werden dem UND-Gatter 470 zugeführt, die Terme D1, I.M. und B dem UND-Gatter 472, die Terme L1, O.M. und t2 dem UND-Gatter 478, und die Terme O.M., D~J* und T^ dem UND-Gatter 482.
Der logische Kreis B1 der Figur 16 umfaßt die UND-Gatter 492, 496 und 498, die mit dem ODER-Gatter 412 verbunden sind. Der Ausgang vom unteren Anschluß der Sortierschaltung S1 der Figur 15 wird an die UND-Gatter 492, 496 angelegt. Der Term I.M. wird an das UND-Gatter 492 angelegt, sodaß sich ein Durchgang durch den logischen Kreis B1 während des Eingangsbetriebs ergibt, Außerdem wird der Term O.M. an das UND-Gatter 496 angelegt. Die Terme O.M., E1, N1 und tp werden an das UND-Gatter 498 angelegt.
Der logische Kreis C1 umfaßt eine Anzahl von UND-Gattern 500, 501 und 502, die an das ODER-Gatter 414 angeschlossen sind. Die Terme I.M. und Z1 werden an das UND-Gatter 501 angelegt, und die Terme I.M., zTj" und t2 an das UND-Gatter 500. Der am oberen Ausgangsanschluß der Sortierschaltung S erscheinende Term I.M. wird an das UND-Gatter 502 angelegt um den Durchgang durch den logischen Kreis C1 während des Eingangsbetriebs aufrechtzuerhalten.
Der Ausgang vom oberen Anschluß des Sortierkreises S1 wird direkt an den unteren Anschluß der Sortierschaltung Sp angelegt, der Ausgang vom oberen Anschluß der Sortierschaltung S2 an den unteren Anschluß der Sortierschaltung SX. Der untere Anschluß der Sortierschaltung S1 ist mit dem UND-Gatter 516 im logischen Kreis F1 verbunden; der untere Ausgangsanschluß der Sortier-
009850/1366
201077g;
schaltung Sp ist mit dem UND-Gatter 518 im logischen Kreis F2 verbunden, und der untere Ausgang der Sortierschaltung S, mit dem UND-Gatter im logischen Kreis P-. Die UND-Gatter 516, 518 und 520 stellen Durchgangswege durch die entsprechenden logisehen Kreise i\ , F2 und F, während der Dateneingabe dar.
Das UND-Gatter 516 und ein Paar von weiteren UND-Gattern 522, 524 im logischen Kreis F. sind mit einem ODER-Gatter 526 verbunden, dessen Ausgang den Llj-Eingang für den Speicher A der Figur 2A darstellt. Das UND-Gatter 518 und ein Paar weiterer UND-Gatter 528, 530 sind mit einem ODER-Gatter 532 verbunden, dessen Ausgang den Lp-Eingang für den Speicher B der Figur 2A m bildet. Das UND-Gatter 520 und ein weiteres Paar von UND-Gattern 534-, 536 im logischen Kreis F5 sind an das ODER-Gatter 538 angeschlossen, dessen Ausgang den L4-Eingang des Speichers C der Figur 2A darstellt.
Die Terme O.M., D. und tp werden an das UND-Gatter 522 angelegt, die Terme tg, O.M., D~ und EIj and das UND-Gatter 524, die Terme O.M., D2 und t2 and das UND-Gatter 528, die Terme t2, O.M., D2" und E2 an das UND-Gatter 530, die Terme· O.M., D5 und tg an das UND-Gatter 534, und die Terme t2> N5, EX, 3)7 und Ό.Μ. an das UND-Gatter 536.
Wie durch die logischen Kreise der Figuren 13 und 14 angedeutet, wird einer der auf eine teilweise Auffüllung ansprechenden Flip-Flops N, - N^ geschaltet, wenn einer der logischen f Kreise F., - F1- einen Datensatz als Eingang zu einem der Speicher C-E abgibt. Der logische Kreis F1 stellt den Flip-Flop Z1 zurück, wenn ein Z-Leerzeichen dem Speicher A zugeführt wird, sodaß der logische Kreis C1 ein Z-Leerzeichen nicht aussondert. Die logischen Kreise A1 - A^ schalten entsprechende Flip-Flops D1 - D1-, wenn die entsprechenden Speicher Datensätze aufnehmen. Die Speicher A und B sind zur Aufnahme eines Datenworts geeignet und deshalb sind ihnen keine auf eine teilweise Auffüllung ansprechende Flip-Flops zugeordnet. Die letzteren Speicher können
009850/1366
entweder den Leeraustand (D~7 oder DT) oder den aufgefüllten Zustand (D1 oder D2) annehmen. Die Ausgänge der Speicher A, B, C, D und R werden mit den entsprechenden Termen L1, L2, L^, L. und L(- bezeichnet, während die Eingänge zu den verschiedenen Speichern mit den entsprechenden Termen L1, Lp, LX, l>'. und LA gekennzeichnet sind, wie in Figuren 2A und 2B schematisch dargestellt.
Während der Dateneingabe wird der Flip-Flop I.M. (Figur 12) geschaltet. Wie vorher erwähnt, haben die logischen Kreise A1 Aj-(Figur 2A) verschiedene Funktionen während der Dateneingabe. Zum Beispiel legen die logischen Kreise B -Leerzeichen an das System an, wenn entsprechende Speicher A-E leer sind. In Figur 17 wird diese Funktion z.B. von den logischen Kreisen A1, Ap und Α., mittels der zugehörigen UND-Gatter 422, 436 und 472 vorgenommen. Im Falle der den Ein-Wor t—Speichern A und B zugeordneten UND-Gatter 436 und 472 bedeutet eine Rückstellung des Flip-Flops D1 während der !Dateneingabe, daß das UND-Gatter 472 B -Leerzeichen an das System weitergibt, und eine Rückstellung de^ Flip-Flops D? während der Dateneingabe, daß das UND-Gatter 436 B -Leerzeichen an das System weitergibt. Im Falle des UND-Gatters 422 im dem Mehrfach-Wort-Speicher G zugeordneten logisehen Kreis A^, werden B -Leerzeichen im Eingabebetrieb an das System weitergegeben, wenn der entsprechende, auf teilweise Auffüllung ansprechende Flip-Flop NT zurückgestellt wird.
Die logischen Kreise A1 - A,- haben ferner die Aufgabe bei der Dateneingabe Kennzeichen (*) von ei en mit Kennzeichen versehenen Datensätzen zu entfernen. Im Beispiel der logischen Kreise A1 - Α,- der Figur 15 geschieht dies mittels der UND-Gatter 420, 434 und 470. Wenn ein entsprechender der Speicher A, B oder C einen Datensatz an seinem Ausgang ergibt, wird der zugehörige Flip-Flop D1, D2 oder D, geschaltet und zeigt damit den Zustand eines aufgefüllten Speichers an. Wenn der spezielle, am Ausgang des jeweiligen Speichers erscheinende Datensatz mit einem beson-
009850/1366
deren Kennzeichen versehen ist, ist das tg-Bit eine Eins (figur 1.1). Die Gatter 420, 434 und 470 sind zur,Zeit des tg-Bit gesperrt, sodaß der t^-Bit jedes bei dieser Gelegenheit durchlaufenden Datensatzes zu Null gemacht wird, wenn der betreffende Datensatz ein kennzeichnendes Merkmal trägt.
Die Kreise IL - B,- (Figur 2A) sind beim Eingabebetrieb unwirksam. Auch sind die logischen Kreise O^ - C1- (Figur 2B) beim Eingangsbetrieb unwirksam. Doch trennt der logische Kreis C. die an den Speicher A angelegten Daten, verändert aber keine Z-Leerzeichen, die dem Speicher zugeführt werden. Diese Funktion wird vielmehr von dem UND-Gatter 500 im logischen Kreis CL der Figur | 16 übernommen. Solange das an das UND-Gatter 500 angelegte Datenwort nicht ein Z-Leerzeichen ist, macht das UND-Gatter das tp-Bit zu einer Eins während des Eingangsbetriebs, da dann der Zy Flip-Flop zurückgestellt ist. Falls es sich bei dem Datenwort um ein Z-Leerzeichen handelt, wird der Z1-Flip-Flop geschaltet, und der normale Durchlauf findet durch das UND-Gatter 501 statt. Deshalb wird jedes durch den logischen Kreis CL beim Eingabebetrieb geführtes Z-Leerzeichen in unveränderter Form an die Sortierschaltung Si weitergegeben, wohingegen jeder Datensatz D, der beim Eingabebetrieb durch den logischen Kreis C1 läuft, in
■κ
veränderter D -Form an die Sortierschaltung S1 gelangt.
Wenn der Flip-Flop S.F. der Figur 13 geschaltet wird, setzt sich der Eingabebetrieb fort und der Flip-Flop I.M. bleibt * durchgeschaltet. Wie jedoch in dem vorhergehenden Beispiel dargelegt, bewirkt das Schalten des Flip-Flop S.F., daß B' -Leerzeichen an den Eingang I2 angelegt werden, worauf Datensätze in mehr oder weniger geordneter Form am Ausgang O1 erscheinen. Dies geht weiter, bis das Ende der Datengruppe erreicht ist, worauf .der Flip-Flop E.O.F. der Figur 13 durchschaltet. Dieses Durchschalten des Flip-Flop E.O.F. bewirkt die Rückstellung des Flip-Flops I.M. und damit endet der Dateneingabebetrieb; ferner wird dadurch der Flip-Flop O.M. der Figur 12 durchgeschaltet und der
009850/1366
Auslesebetrieb beginnt. Die Logik des Systems könnte so ausgelegt werden, daß der Kreis während des gesamten Durchgangs auf Eingabebetrieb geschaltet bleibt. Eine vollständigere Sortierung wird jedoch bei jedem Durchgang erzielt, wenn der Datensatz beim Erreichen des Dateiendes auf den Ausgang gegeben wird. Die folgenden Steuervorgänge im Auslesebetrieb ergeben eine verbesserte Sortierung des Inhalts der Sortiervorrichtung als wie bei Fortsetzung des Dateneingabebetriebs.
Wenn der Flip-Flop O.M. der Figur 12 durchgeschaltet wird um die Datenabgabe einzuleiten, werden B -Leerzeichen an die beiden Eingänge I1, I? angelegt, wie in dem vorhergehenden Beispiel erwähnt, ausgenommen jedoch zu Datensätzen entsprechenden Zeiten, zu denen kein Datensatz dem Sortiersystem zu entnehmen ist. Im letzteren Fall werden B -Leerzeichen weiterhin an den Eingang I1 angelegt, doch werden Z-Leerzeichen an den Eingang Ip gegeben, wie in dem vorhergehenden Beispiel der Figuren 8 und 9 gezeigt.
Wann immer bei der Datenabgabe der letzte Datensatz aus einem der Speicher A-E befördert wird, wird ein Kennzeichen (*) entfernt und der Datensatz damit in die nicht speziell gekennzeichnete Form (D) zurückverwandelt. Diese letztere Operation wird von den Gattern 428, 442 und 478 in den logischen Kreisen A1 - A-, der Figur 15 und von ähnlichen Gattern in den logischen Kreisen A. - A1- vorgenommen. Die Flip-Flops D1 - D^ der Figur 14 werden beim Auslesen der Daten zurückgestellt, wenn der kleinste Datensatz (der nun kein besonderes Kennzeichen aufweist) aus den Speichern ausgelesen wird. Immer wenn einer der Flip-Flops D1 - D1- während des Auslesebetriebs zurückgestellt wird, wird das Kennzeichen (*) von dem nächsten, aus dem entsprechenden Speicher A-E herausbeförderten Datensatz entfernt. Die letztere Operation wird durch die UND-Gatter 432, 446 und 482 in Figur 15 bewirkt.
Wenn anschließend ein B-Leerzeichen aus einem der Speicher
009850/1366
>-*-"■■■
A-E beim Auslesebetrieb herausgebracht wird (was anzeigt, daß der betreffende Speicher leer ist), wird der entsprechende auf teilweise Auffüllung ansprechende Flip-Flop N. zurückgestellt. Diese Rückstellung der Flip-Flops N. wird durch die UND-Gatter 372, 374 und 376 in Figur 14 erreicht. Die logischen Kreise B1 Bfbringen das. Kennzeichen (*) an einem Datensatz an, wenn ein Austausch in einer Sortierschaltung bei nicht leerem Speicher gemacht wurde (N. geschaltet). Dies geschieht z.B. durch die UND-Gatter 458 und 468 in Figur 15 und das UND-Gatter 498 in Figur 16.
Die logischen Kreise F1 - Ff- arbeiten während der Datenab- Jj gäbe um das Kennzeichen ( ) an jedem aus einem Speicher beförderten Datensatz oder Leerzeichen anzubringen, für die der Flip-Flop D. (aufgefüllter Speicher) geschaltet ist; dies bedeutet, daß ein nicht besonders gekennzeichneter Datensatz in den entsprechenden Speicher eingeführt wurde. Erreicht wird dies durch die UND-Gatter 522, 528 und 534 der Figur 16. Das Kennzeichen (*) wird an Datensätzen während der Datenabgabe angebracht, wenn der entsprechende Flip-Flop D. zurückgeschaltet und der entsprechende Flip-Flop N. eingeschaltet ist und ein Austausch (E1) in der entsprechenden Sortierschaltung S1 - Sn vorgenommen wurde. Die letztere Operation geschieht durch die UND-Gatter 524, 430 und 536 in Figur 16. Das Anbringen eines Kennzeichens an einen Datensatz setzt den Date'nauslesebetrieb fort, da der Datensatz nicht f aus der Sortiervorrichtung herausgeschoben wird.
Ein neuer Durchgang durch die Sortiervorrichtung wird durch ein entsprechendes Steuersignal des Flip-Flop D (nicht dargestellt) ausgelöst. Wenn ein neuer Durchgang ausgelöst wird, wird der Flip-Flop D geschaltet um den Eingabebetrieb-Füp-Flop der Figur 12 durchzuschalten, worauf Information wieder durch die Sortiervorrichtung geschickt wird. Ein neuer Durchgang wird ausgelöst, falls irgendwelche Austauschoperationen (E ) in der Sortierschaltung vorgenommen wurden, nachdem der erste Datensatz aus
009850/1366
der Sortiervorrichtung befördert wurde, d.h. nachdem die Bedingung einer Auffüllung der Sortierschaltung erreicht worden war; dieser neue Durchgang wird ausgelöst, indem der auf die Auffüllung der Sortierschaltung ansprechende Flip-Flop S.F. der Figur 13 durchgeschaltet wird. Das Fehlen einer Austauschoperation in der Sortierschaltung S nach dem Auslesen des ersten Datensatzes zeigt an, daß keiner der anschließend der Sortierschaltung zugeführten Datensätze kleiner war als ein vorher aus der Sortierschaltung ausgelesener Datensatz, sodaß eine vollständige Sortierung der Datensätze in dem betreffenden Durchgang erreicht wurde.
Bei jedem Durchgang wird der höchste der Speicher A-E gekennzeichnet, der einen mit dem Ausgang L1 des Speichers A ausgetauschten Datensatz abgibt. Beim nächstfolgenden Durchgang ist die Kapazität der Sortiervorrichtung beschränkt, sodaß nicht mehr Zeit oder Kapazität als unbedingt notwendig für jeden folgenden Sortierdurchgang aufgewendet werden müssr i. Dies läßt sich erreichen, inderr, :iu-.n nur die Speicher bis einschließlich des Speichers benutzt, der seine Ausgangsdaten mit dem Ausgang des Speichers A während des vorhergehenden Durchgangs austauschte, und indem man die übrigen Speicher mit B -Leerzeichen auffüllt.
Für jeden folgenden Durchgang wird die Kapazität der Sortiervorrichtung reduziert, bis nur noch zwei Datensätze zu einer bestimmten Zeit gleichzeitig in der Sortiervorrichtung sind, was die Beendigung des Sortiervorgangs bedeutet. Die Sortierung aller Datensätze ist am Ende des Durchgangs abgeschlossen, in dem nur zwei Datensätze in der Sortiervorrichtung vorhanden waren, oder wenn kein Austausch-Flip-Flop E., der größer ist als der Flip-Flop E., während eines Durchgangs geschaltet wurde. Die wirksame Kapazität der Sortiervorrichtung kann für jeden folgenden Durchgang mittels der beispielsweise in Figuren 17 und 18 gezeigten logischen Schaltungen verkleinert werden.
In Figur 17 wird der Flip-Flop P5 z.B. vom Term E^" durchge-
008850/1366
schaltet, der anzeigt, daß keine Austauschoperationen in der Sortiervorrichtung Sf- vorgenommen wurden. Wenn dies bei einem bestimmten Durchgang eintritt, bleibt der Flip-Flop P,- während des nächsten Durchgangs durchgeschaltet. Darauf wird der die Auffüllung der Sortiervorrichtung anzeigende Flip-Flop S.F. geschaltet, und zwar nicht wenn der Speicher D1- mit Datensätzen gefüllt ist, sondern wenn der vorhergehende Speicher D. aufgefüllt ist (Figur 17), sodaß die Sortiervorrichtung Datensätze bei verringerter Kapazität abgibt. Immer wenn der Flip-Flop S.F. durchgeschaltet ist, werden B -Leerzeichen an den Eingangsanschluß Ip angelegt, sodaß dann das Auslesen der Datensätze be- :| ginnt.
Um diese Steuerung zu erzielen, weichen die mit dem Flip-Flop S.F. zusammenwirkenden logischen Kreise (Figur 18) von denen der Figur 13 ab. Statt die Terme D2, D,, D. und B. an das UND-Gatter 336 anzulegen, werden sie ODER-Gattern 600, 602, 604 und 606 mit den entsprechenden Termen P2, Ρ·* , P« und P1- zum Vergleich ■ zugeführt.
Falls Austauschoperationen in den anderen Sortierschaltungen S2 - S. auftreten, werden z.B. die Flip-Flops P2 - P. zurückgestellt. Der Flip-Flop S.F. der Figur 18 wird dann nicht durchgeschaltet, bis der entsprechende Speicher tatsächlich aufgefüllt ist. Wenn es sich jedoch ergibt, daß keine Austauschoperation in der Sortierschaltung stattfindet, werden die Flip-Flops P., P,, " Pp nacheinander durchgeschaltet, sodaß in aufeinanderfolgenden Durchgängen die der aufgefüllten Sortierschaltung entsprechende Bedingung mit einer immer kleineren Zahl der Speicher A-E erreicht wird, bis schließlich nur noch die beiden Speicher A und B Datensätze enthalten und der Sortiervorgang beim nächsten Durchgang beendet wird.
Die Kapazität des Sortiersystems kann aber auch durch Kontrolle der wirksamen Länge der einzelnen Speicher A- E (L1 - Lj-)
009*50/13.6
verändert werden. Wie in Figur 19 gezeigt, können die Speicher A (L1), B (Lp) und C (L,) von der für die vorhergehende Ausführungsform beschriebenen Art sein, wobei die Speicher A und B ein für einen Datensatz ausreichende Kapazität haben und der Speicher C eine Kapazität zur Aufnahme von zwei Datensätzen hat. Die Speicher D (L.) und E (L5) in der in Figur 19 gezeigten Ausführungsform bestehen aus einer Vielzahl von Abschnitten für zwei Datensätze und diese Abschnitte sind durch die in Figur 20 gezeigten logischen Kreise miteinander verbunden.
Die einzelnen logischen Kreise G. werden ihrerseits wieder durch die in Figur 20 mit X , bezeichneten Flip-Flops gesteuert, wobei es sich um den Flip-Flop X41 im Speicher D und die Flip-Flops X151 , Xcp und xi53 im Speicher E handelt. Wenn der Flip-Flop X^1 zurückgestellt wird, wird nur ein zwei Datensätze enthaltender Abschnitt des Speichers D benutzt, während beim Durchschalten dieses Flip-Flops beide Abschnitte des Speichers benutzt werden. Wenn ebenso sämtliche Flip-Flops X^1, Xc2 u^d X53 zurückgeschaltet werden, wird nur ein Abschnitt des Speichers E benutz^ während die anderen Abschnitte beim Durchschalten der Flip-Flops mitverwendet werden.
Die Zwischenverbindungen zwischen den verschiedenen Speicherabschnitten können mittels der Flip-Flops X , und den in Figur 20 gezeigten logischen Kreisen durchgeführt werden. Ein Paar mit No. 1 und No. 2 bezeichneter Speicherabschnitte ist in Figur 20 dargestellt, wobei angenommen ist, daß jeder Abschnitt zwei Datensätze aufnehmen kann. Diese Abschnitte können in einen beliebigen Speicher eingefügt werden. Die Wahl einer zwei Datensätze entsprechenden Abschnittslänge ist willkürlich, und ebenso gut hätte eine andere Länge gewählt werden können. Zu beachten ist, daß eine Zunahme der Zahl der Abschnitte die zum Sortieren benötigte Zeit verkürzt, doch werden dabei die Kreise entsprechend komplizierter.
Die Eingangsdatensätze werden über den Eingangsanschluß L'.
009850/1366
IS- '
dem Eingang des Abschnitts No. 2 zugeführt. Der Ausgang dieses Abschnitts wird an ein Paar von UND-Gattern 700 und 702 angelegt. Das UND-Gatter 700 und ein weiteres UND-Gatter 704 sind an das WEDER-NOCH-Gatter 706 angeschlossen. Das Ausgangssignal des ODER-Gatters wird an den mit L. bezeichneten Ausgang des Kreises angeschlossen.
Das UND-Gatter 702 und ein weiteres UND-Gatter 708 sind an ein ODER-Gatter 710 angeschlossen. Der Ausgang des ODER-Gattere 710 ist an den Eingang des Abschnitts No. 1 angelegt; der Ausgang des Abschnitts No. 1 wird an das UND-Gatter 704 angelegt. Die B -Leerzeichen liefernde Quelle ist mit dem UND-Gatter 708 verbunden, ebenso wie der Rückstellausgang des Flip-Flops Xj3* ' Der Rückstellausgang X , ist ebenfalls mit dem UND-Gatter 700 verbunden und der durchgeschaltete Ausgang dieses Flip-Flops ist mit den UND-Gattern 702 und 704 verbunden.
Solange der Flip-Flop X , in seiner Löschstellung ist, werden die am Eingang L' eingeführten Datensätze dem Ausgang L. über das UND-Gatter 700 und das ODER-Gatter· 706 zugeführt. Zu diesem Zeitpunkt wird das UND-Gatter 708 geöffnet, sodaß die B -Leerzeichen in den nicht gebrauchten Abschnitt No. 1 eingeleitet werden können. Zu beachten ist, daß die "X" der Figur 23 B -Leerzeichen bezeichnen wie in den Figuren 5, 7 und 11.
Wenn der Flip-Flop X , durchgeschaltet wird, läuft der Ausgang vom Abschnitt No. 2 durch das UND-Gatter 702 und das | UND-Gatter 710 und gelangt zum Eingang des Abschnitts No. 1; der Ausgang des Abschnitts No. 1 wird durch das UND-Gatter 704 und das WEDER-NOCH-Gatter 706 an den Ausgangsanschluß L. angelegt. Während beim Zurückstellen des Flip-Flops X ■. nur der Abschnitt No. 2 benutzt wird, führt das Durchschalten des Flip-Flop X , zur Verwendung dieser Abschnitte in Serienschaltung. Während dieses Durchschaltens des Flip-Flops X, ist das UND-Gatter 708 geschlossen, sodaß die B -Leerzeichen nicht mehr dem Abschnitt No. 1 zugeführt werden.
009850/1366
201077? 5*
Das in Figur 21 gezeigte Schema zeigt die Eingabe von Datensätzen gemäß dem Beispiel der Figur 6. Wie in Figur 21 gezeigt, wird der erste dem System zugeführte Datensatz "13" zu der dem ersten Datensatz entsprechenden Zeit mit einem ( ) versehen und im Speicher A gespeichert. Da im zweiten Zeitabschnitt kein Datensatz eingeführt wird, verbleibt der Datensatz 13 im Speicher A. Im dritten Schritt, in dem der Datensatz "16" dem System zugeführt wird, wird letzterer Datensatz im Speicher A und der Datensatz 13 im Speicher B gespeichert. Im vierten Schritt, in dem der Datensatz "10" eingelesen wird, erscheinen die Datensätze "13" und "I6"in den Speichern A und B, wohingegen der Datensatz 10 im Speicher C erscheint. Diese einleitenden Schaltungsvorgänge ähneln den in Figur 5 gezeigten Schritten. Da während des vierten Schritts der Speicher C teilweise gefüllt ist, ist der Term N, .DT richtig.
Während des fünften und sechsten Schritts findet eine Unterbrechung der Datenzufuhr statt und die im System vorhandenen Datensätze ordnen sich in der in Figur 21 dargestellten Weise an. Während des fünften Schritts wird der Speicher C aufgefüllt, sodaß der Term N,.D^ richtig ist. Während des fünften und sechsten Schritts wird ferner der Flip-Flop Z. durchgeschaltet (wie oben beschrieben) um ein Z-Leerzeichen im Speicher A anzuzeigen und um das Z-Leerzeichen nicht mit einem Stern ( ) zu kennzeichnen.
Während des siebten Schritts wird eine Vier dem Sortiersystem zugeführt und die Datensätze ordnen sich in der in Figur 21 gezeigten Weise an. Während des achten Schritts wird eine Drei in das System eingeführt, mit dem Kennzeichen versehen und im ersten Abschnitt des Speichers D eingespeichert. Dabei ist dann der Term EL.D~7.X77 richtig. Während des nächsten Schritts wird eine Sieben eingeführt, sodaß die Datensätze 4 und 3 sich im ersten Abschnitt des Speichers D befinden und damit eine Auffüllung bewirken. Der Term N^.D^.X41 ist damit richtig.
009850/1366
Während der zehnten, elften und zwölften Schritte kommt es zu einer Unterbrechung der Dateneingabe, wobei die Datensätze in der Sortiervorrichtung in der in Figur 21 gezeigten Weise verteilt werden. Während des dreizehnten Schritts wird der Datensatz "1" dem System zugeführt und in den ersten Abschnitt des Speichers E verbracht, da der Datensatz als "1 " gekennzeichnet ist. Unter dieser Bedingung ist der Term Nc.dT.xT^ richtig. Beim nächsten Schritt wird der Datensatz "2" eingeführt und im ersten Abschnitt des Speichers E zusammen mit dem Datensatz "1" eingespeichert, da diese beiden Datensätze das Kennzeichen tragen (2 und 1 ). Der erste Abschnitt des Speichers ^ E ist damit aufgefüllt, sodaß der Term Hr.D^.X51 richtig ist.
Anschließend wird der Datensatz "5" beim nächsten Schritt eingeführt, worauf der zweite Abschnitt des Speichers D verwendet wird (X..), sodaß die Information die bei Schritt 15 angegebene Verteilung annimmt. Dabei ist der Speicher D nicht aufgefüllt, sodaß der Term N-.dT.X. .. richtig ist.
Beim nächsten Schritt wird der Datensatz "12" dem System zugeführt und damit ist der Speicher D aufgefüllt; ein zweiter Abschnitt des Speichers E wird in Betrieb genommen. Dabei sind die Terme N..D,.X^1 und N5.57.X52.Xc1 richtig.
Beim achtzehnten Schritt wird der Datensatz "11" dem System zugeführt und der zweite Abschnitt des Speichers E wird gefüllt.
■ "
Dabei ist der Term N5.Dr-.X52-Xc-J richtig. ■
In den nächsten drei Schritten wird die Information wieder durchgeschickt und nimmt die in der Tafel der Figur 21 dargestellte Verteilung an. Beim 22. Schritt wird der Datensatz "8" eingeführt und der dritte Abschnitt des Speichers E wird aktiviert. Dabei ist dann der Term N,-.D1-.X1- Λ .Χ,-o'Xc-z richtig.
ρ ρ 5· 5<^ 53
Die Steuerung der Flip-Flops X . geschieht beim ersten Durchgang gemäß dem logischen Schaltbild der Figur 22, die sich auf die Flip-Flops X-. und X^. bezieht, wobei eine ähnliche Steuerung der Flip-Flops X52 und X1-^ stattfindet. Gemäß Figur
009850/1366
22 wird der Flip-Flop X41 durchgeschaltet, wenn, der Term N. .D,.X, .j richtig ist, um anzuzeigen, daß der erste Abschnitt des Speichers D aufgefüllt ist, und, wenn der Term Ν,-.ΰ,-.ΧΤ"? richtig ist, um anzuzeigen, daß der erste Abschnitt des Speichers E ebenfalls aufgefüllt ist. Aus den in Figur 21 dargestellten Beispielen folgt, daß unter diesen Bedingungen der Flip-Flop X... durchgeschaltet wird um den zweiten Abschnitt des Speichers D wirksam werden zu lassen.
In analoger Weise wird der Flip-Flop Xn--, durchgeschaltet um den zweiten Abschnitt des Speichers E wirksam werden zu lassen, wenn der Term N,,D. .X,.. richtig ist und die Auffüllung des Speichers I) angibt, und ebenfalls wenn der Term Ng.Dg.x77 richtig ist und die Auffüllung des ersten Abschnitts des Speichers E angibt. In dem in Figur 21 gezeigten Beispiel ergibt sich, daß unter diesen Bedingungen der zweite Abschnitt des Speichers E in Betrieb genommen wird. Der Flip-Flop Xp-p wird durchgeschaltet, wenn die Terme N-.D..X4. und Ng.Dg.Xg1 .X^" richtig sind, und der Flip-Flop Ir-z t wenn die Terme N. .D,.X,-. und Ng.Dg.Xg2^Xg-] »^53 richtig sind.
Bei jedem folgenden Durchgang wird die Kapazität der Sortiervorrichtung um den Faktor 3/2 verringert, wobei j = η - i - 1, η die Zahl der Speicher bezeichnet und i den größten Speicher angibt, von dem ein Austausch mit dem kleinsten Speicher während des vorhergehenden Durchgangs stattfand.
Bei Beendigung jedes Durchgangs werden sämtliche Flip-Flops X , zurückgestellt. Dann wird die Sortiervorrichtung mit der um j/2 reduzierten Kapazität für den folgenden Durchgang in Betrieb genommen, indem jeder der Flip-Flops X , durchgeschaltet wird, wobei a - b gleich oder größer η - i + 3 ist, vorausgesetzt, daß einer der Flip-Flops P. der Figur 17 zurückgestellt ist. Wenn beispielsweise der Flip-Flop P1- in einem sieben Speicher enthaltenden System zurückgestellt wird, wird der Flip-Flop X70 durchgeschaltet. da 7-2=7-5+3« Der Flip-Flop Xg2 wird nicht
009 8 50/ 1 366
201077?
durchgeschaltet, da 6 - 2 kleiner als 7-5+3 ist. In dem hier beschriebenen Beispiel werden die Flip-Flops X , in den folgenden Durchgängen von den logischen Kreisen der Figur 23 gesteuert.
Wenn beispielsweise am Ende des ersten Durchgangs ein Austausch zwischen einem Datensatz des Speichers E (Lp-) und dem kleinsten Speicher A (L.) stattfand, wird der Flip-ίΊορ P^ der Figur 17 zurückgestellt, vorausgesetzt, daß der Speicher E der größte Speicher in dem hier betrachteten Beispiel ist. Der Term PT schaltet den Flip-Flop X^1 der Figur 23 durch, sowie den Flip-Flop X(TO* Außerdem schaltet der Term PT den Flip-Flop Xf-λ über das ODER-Gatter 800. Dies geschieht gemäß der obigen Χ&ν- g Formel (a - b größer oder gleich η - i + 3). Deswegen wird beim zweiten Durchgang der Flip-Flop X,.. durchgeschaltet um einen gefüllten Laufzeitspeicher D zu ergeben, doch werden nur die Flip-Flops Xj--j und Xj-p im Speicher E -(Lp-) durchgeschaltet, sodaß nur ein Teil des Speichers E für den folgenden Durchgang verwendet wird.
Falls der größte Speicher, der mit dem kleinsten Laufzeitspeicher eine Austauschoperation durchführt, der Speicher D (L.) ist, so wird gemäß dem Logikschaltbild der Figur 23 nur der Flip-Flop X^1 durchgeschaltet. Das bedeutet, daß in dem folgenden Durchgang nur ein Abschnitt des Speichers D (L.) und zwei Abschnitte des Speichers E (L1-) verwendet werden.
Durch die Steuerung der Flip-Flops X , wird also die Kapazi- jj tat der Speicher für jeden folgenden Durchgang derart verringert, daß eine Anpassung an die noch zu sortierenden Datensätze N stattfindet, wodurch die für jeden folgenden Durchgang benötigte Zeit verringert wird. Die Flip-Flops X , werden durch entsprechende Terme N. zurückgestellt, wenn die Speicher sich leeren.
Um das System einer Vielzahl von Speichergrößen und Speichertypen anzupassen, können die kürzeren Laufzeitspeicher durch Schieberegister ersetzt werden. Figur 24 zeigt einen Ausschnitt
009850/1366
51)
aus einer derartigen Ausführungsform, in der die Speicher A, B und C von den mit A', B' und G' bezeichneten Schieberegistern ersetzt sind, während die längeren Speicher D und E der in Figuren 2A und 2B dargestellten Ausführungsformen von einer mit 10' bezeichneten Standard-Magnettrommel (oder Magnetplattenspeicher) gebildet werden. Wie dem Fachmann sofort verständlich, können andere Speichertypen verwendet werden. Wie oben erwähnt, können die Schieberegister A', B' und C' in einer die Sortierlogik umfassenden Einheit vereinigt werden, z.B. in den logischen Kreisen A. - A7, wie-sie in Figuren 2A und 2B mit anderen Schaltkreisen dargestellt ist. Die Schieberegister müssen nur verschoben werden, wenn Daten in das System eingeführt werden, und Z-Leerzeichen brauchen nicht verwendet zu werden.
Die sich dabei ergebende Einheit kann eine Anzahl von Eingängen aufweisen, die mit L,, L1-, Lg und L7 bezeichnet sind. Diese Eingänge können mit verschiedenen Speichern 10' verwendet werden, je nach Größe der Anlage, für die die Standard-Sortiervorrichtung bestimmt ist. Bei Verwendung mit dem dargestellten Speicher 10' wird z.B. angenommen, daß die Eingänge L^ und L7 nicht benutzt werden, sondern daß B -Leerzeichen an diese beiden Eingänge angelegt werden.
Wenn, wie vorher erwähnt, die von den Schieberegistern A', B' und C dargestellten kürzeren Speicher so gewählt werden, daß die längeren Speicher in der Speicheranordnung 10' aus einer ganzzahligen Anzahl von Spuren auf einer Speichertrommel oder Speicherplatte bestehen, kann eine Standard-Magnetspeicheranordnung 10' mit dem Sortiernetzwerk verwendet werden.
Die Einheit der Figur 24 kann für eine große Zahl von Speicherausgängen ausgelegt werden und es ist nicht notwendig ein Sortiernetzwerk S vorzusehen, das alle Eingänge verarbeiten kann. Wie in Figur 25 gezeigt, können einige der Leitungen an der Sortierschaltung vorbeigeführt und direkt an die S^Sortiernetzwerke angeschlossen werden, von denen sie an die S^-Sortiernetzwer-
009850/1366
201077?
ke gemäß der teilweisen Darstellung der Figur 25 weitergeführt werden. Gewisse Einsparungen lassen sich mit einem kleinern Sortiernetzwerk S erzielen, uer Sortiervorgang wird dabei niclrt beeinträchtigt, doch sind bei Verwendung kleinerer Sortiernetzwerke mehr Durchgänge erforderlich als bei großen Sortiernetzwerken.
In den in den Figuren 24 und 25 gezeigten Ausführungsformen kann ein Trommelspeicher geeigneter Größe verwendet werden, vorausgesetzt, daß dessen Impulsfrequenz und Bitzahl pro Spurlänge mit der Verschiebegeschwindigkeit der Schieberegister A', B', C und der Datensatzlänge verträglich sind. Standardeinheiten J können mit größeren oder kleineren Sortiernetzwerken S je nach den wirtschaftlichen Verhältnissen des in Betracht gezogenen Falles zusammengeschaltet werden.
Wie.vorher erwähnt, kann eine geeignete, als "Wechsler" (CB) bezeichnete logische Einheit mit dem Sortiersystem verwendet werden. Der Wechsler kann die Kennzeichnungsfelder bestimmter Datensätze in bestimmter Weise verändern. Damit kann jede gewünschte Datensatzgruppe in der Datensatzliste an den Eingang oder das Ende der Liste zur Verarbeitung der Information der speziellen Gruppe verbracht werden. Wie in der Teilansicht der Figur 26 gezeigt, kann der Wechsler (CB) zwischen der Sortierschaltung S und dem logischen Kreis C^ eingesetzt werden.
Der Wechsler (CB) ermöglicht eine Veränderung des Kennzei- ä chenfeldes ausgewählter Datensätze um diese in bestimmter Weise in der Liste anzuordnen. Statt jedes Kennzeichenfeldes als eine einzige Mehrfach-Bit-Binärzahl auszubilden, kann es aus einer Anzahl von Mehrfach-Bit-Zeichen bestehen. Diese Zeichen können Dezimalzahlen bezeichnen, woDei dann A-Bit-Zeichen benutzt werden; diese Zeichen können auch Buchstaben des Alphabets bezeichnen, wobei dann 6-Bit-Zeichen benutzt werden, uer iVechsler (CB) kann auch zur zeichenweisen Umformung
009350/1366
einer Code in einigen oder allen Datensätzen benutzt werden, während diese der Sortiervorrichtung zugeführt werden. In diesem Fall können die Codeveränderungen in einem Teil des Datensatzes vorgenommen werden, der in der Sortiervorrichtung während des Sortiervorgangs keine Rolle spielt, sodaß die Veränderungen der Code die Verarbeitung der Datensätze in der Sortiervorrichtung nicht beeinflussen.
Wenn der Wechsler (CB) zur Kontrolle der Kennzeichenfelder der Datensätze verwendet wird, wird jedoch der eigentliche Sortiervorgang in Mitleidenschaft gezogen. Die in einer bestimmten Sortieroperation verarbeiteten Datensätze können z.B. Kennzeichenfelder mit Mehrfach-Zeichen aufweisen, die eine Kundengruppe beim Namen kennzeichnen. Das Sortiersystem kann dann im normalen Betrieb die Datensätze in alphabetischer Reihenfolge ordnen. Durch geeignete Steuerung des Wechslers (CB) kann jedoch jeder Kunde oder jede Kundengruppe an die Spitze oder an das Ende der Liste gebracht werden.
Bei Verwendung des Wechslers (CB) muß das Sortiersystem so ausgelegt werden, daß alle Datensätze der Liste durch den Wechsler laufen und daß jeder Datensatz nur ein einziges Mal durch den Wechsler geschickt wird. Wenn der Wechsler in der im vorhergehenden Absatz beschriebenen Weise verwendet wird, kann dies durch Veränderung des Einlesebetriebs des Sortiersystems erreicht werden, sodaß die vom logischen Kreis C. angebrachten Kennzeichen nicht in den logischen Kreisen A. entfernt werden. Der Wechsler kann dann wahlweise die Veränderung der betreffenden Datensätze nur dann vornehmen, wenn diese nicht das besondere Kennzeichen tragen.
Wenn der Wechsler (CB) zur Kontrolle der Kennzeichenfelder bestimmter ausgewählter Datensätze verwendet wird und damit die Verarbeitung dieser Datensätze im Sortiersystem bestimmt, kann der Wechsler in der in Figur 26 gezeigten Weise in das Sortier-
009850/1 366
! ?010775! 5t
system der Figuren 2A, 2B geschaltet werden, d.h. der Wechsler kann zwischen den oberen Ausgangsanschluß der Sortierschaltung S und den Eingang des logischen Kreises C1 eingesetzt werden. Im. System können geeignete (nicht dargestellte) Mittel vorgesehen werden um die Daten für das Auslesen in ihre ursprüngliche Form zurückzuverwandeln.
Die logischen Kreise der Figur 27, nämlich die UND-Gatter 800 und 802 und die ODER-Gatter 801 und 804 sorgen dafür, daß nur die nicht mit dem Kennzeichen versehenen Datensätze (t2 =0) vom Wechsler abgezweigt werden, während alle mit dem Kennzeichen versehenen Datensätze (Tp = 1) am Wechsler vorbei in den logischen Kreis C1 geleitet werden. An das UND-Gatter 800 werden (J auch die Terme I.M. und D angelegt, sodaß der Wechsler nur während des Einlesebetriebs wirksam ist und nur wenn neue Daten der Sortiervorrichtung zugeführt werden. Das ODER-Gatter 801 und das UND-Gatter 802 gewährleisten, daß in allen anderen Fällen der S -Ausgang direkt durch das ODER-Gatter 804 an den logischen Kreis C1 gelangt..
Zur Erläuterung und Vereinfachung der Beschreibung werde' angenommen, daß das Kennzeichenfeld jedes Datensatzes eine Serie von 2-Bit-Zeichen umfaßt, z.B. die Zeichen A (0,0), B (0,1), C (1,0) oder D (1,1). Mit dem Wechsler (CB) kann jedes dieser Zeichen in ein anderes Zeichen dieser Zeichengruppe verwandelt werden.. Im Wechsler ist ein besonderer Kreis für jedes Zeichen g vorgesehen. Einer dieser Kreise ist in den Figuren 28 und 29 gezeigt und die Kreise für die übrigen Zeichen können gleichartig beschaffen sein. Wie dem Fachmann sofort.verständlich, können die Kreise abgewandelt werden um mehr oder weniger Zeichen jeder erforderlichen Anzahl von Bits zu verarbeiten. Die Steuerung des Wechslers (CB) kann auch über ein geeignetes, manuell bedientes Tastenfeld geschehen, das nicht notwendigerweise ein Teil der Steuereinheiten des Computers zu sein braucht.
009850/1366
Die Austauschoperation im Wechsler (CB) geschieht über die vier Flip-Flops (A', B', C und D') für die verschiedenen Zeichen. Wenn das Zeichen A nachgewiesen wird, wird es durch einen ersten Kreis geschickt, der das Zeichen in B', C oder D' verwandelt oder unverändert läßt, je nachdem, welcher der vier Flip-Flops A, B, C oder D in dem Kreis durchgeschaltet wird. Wenn analog das Zeichen B nachgewiesen wird, wird dieses Zeichen durch einen zweiten Kreis geschickt, der es in A', C oder D' verwandelt oder unverändert läßt, je nachdem welcher der vier Flip-Flops A', B', C oder D' durchgeschaltet ist, usw.
Die Flip-Flops A', B', C und D' in jedem der oben beschriebenen Kreise können von verschiedenen Einstellkreisen 806 (siehe Figur 28) gesteuert werden, sowie von einem gemeinsamen Schieberegister S., Sp, S^, S. und einem getrennten Schalter A, B, C und D im Tastenfeld 808.
Im Falle der Verwendung des in Figur 28 dargestellten Einstellkreises wird der Schalter A in eine Reihe von UND-Gattern 810, 812, 814, 816 abgewandelt (ebenso die verschiedenen Ausgangsanschlüsse der Schieberegister). Diese Gatter werden an die jeweiligen Flip-Flops A', B', C, D' angeschlossen um die Flip-Flops je nach Bedarf durchzuschalten. Die Schalter B, C und D sind über gleichartige Gatter mit den Flip-Flops A', B', C und D' verbunden.
Das Schieberegister ist all diesen Kreisen gemeinsam. Wenn das Schieberegister in seine erste Stellung gebracht wird, sind die Schalter A, B, C oder D geschlossen, je nachdem welches der ursprünglichen Zeichen z.B. in ein 11A" verändert werden soll. Das Schieberegister wird dann in seine zweite Stellung geschaltet und die Schalter werden geschlossen um die ursprünglichen Zeichen in ein "B" usw. zu verwandeln. Ähnliche Kreise können verwendet werden um die veränderten Datensätze am Ende der Operationen auf ihr ursprüngliches Format zu bringen.
In der hier beschriebenen Weise können z.B. alle mit den
0 09850/1366
- 201077? 53
Zeichen D, A, B, B gekennzeichneten Datensätze .aus der Liste ausgewählt werden, indem Kreise ähnlich dem Kreis der Figur 28 zum Abändern aller Zeichen D und B in A vorgesehen werden. Diese Kreise sind so ausgelegt, daß die Α-Zeichen unverändert bleiben. Damit werden die "DABB"-Datensätze zu "AAAA"-Datensätze, die alle gemeinsam am Anfang der Liste am Ausgang der Sortiervorrichtung erscheinen.
Der im Wechsler (CB) verwendete Nachweis-Kreis ist in Figur 29 dargestellt und umfaßt die Flip-Flops X und Y. Das Eingangssignal zum Wechsler wird direkt an den schaltenden Eingangsanschluß des Flip-Flops X angelegt und über eine Umkehrstufe I an den Rückstelleingang geführt, ferner über die UND-Gatter (j 850 und 852 an den Flip-Flop Y. Diese Flip-Flops sind als Schieberegister geschaltet und speichern den ersten und zweiten Bit jedes durch den Wechsler (CB) geleiteten Zeichens lange genug um nachzuprüfen, ob das Zeichen ein A, B, C oder D ist. Die CL-Impulse sind Zeitmarken. Die Flip-Flops öffnen die Gatter 852, 856, 858, 860 je nachdem, welches Zeichen von den Flip-Plops X und Y nachgewiesen wird.
Jedes der Gatter 854, 856, 858 und 860 ist mit einem logischen Kreis verbunden, ähnlich dem an den Ausgang des Gatters 854 (A) geschalteten logischen Kreises. Die logischen Kreise sind über ein ODER-Gatter an den Ausgangsanschluß 880 des Wechslers geschaltet. Beispielsweise wird der Α-Ausgang des Gatters 854 an eine Reihe von Gattern 862, 864, 866 und 868 angelegt. " Diese UND-Gatter werden wahlweise vom Einstellkreis der Figur 28 geöffnet und bestimmen, welche Veränderungen bei jedem A-Zeichen vorgenommen werden.
Ausgangssignale .der UND-Gatter 762, 764, 766 und 768 werden an andere UND-Gatter 770, 772, 774 und 776 angelegt, ebenso wie die Bit-Zeitmarkenimpulse CL. und CL2, sodaß die umgeformten Bits in den Zeichen als A (0,0), B (0,1), C (1,0) oder D (1,1)
009850/ 1366
erscheinen können. Die veränderten Zeichen werden dann durch ein ODER-Gatter 778 an den Ausgangsanschluß 780 geleitet.
In ähnlicher Weise können einer oder beide der einen Datensatz aufnehmenden Speicher aus getrennt adressierbaren Abschnitten aufgebaut werden, um das Format der Datensätze veränderlich machen zu können, d.h. die Kontrollfelder jedes Datensatzes können für einen Teil des Datensatzes durch Schaltung dieser Abschnitte verändert werden, sodaß aie Liste in verschiedenen Polgen angeordnet werden kann. Ein einen Datensatz aufnehmender Speicher kann z.B« so geschaltet werden, daß das Kontrollfeld eines Datensatzes in einen Speicherabschnitt gespeichert wird, während der Rest des Datensatzes in einen anderen Speicherabschnitt kommt. Der Rest des Datensatzes kann den Speicherabschnitt vor dem Kontrollfeld verlassen.
Das erfindungsgemäße System kann mittels der in Figuren 3OA und 3OB dargestellten Kreise bei der Verarbeitung von Datensätzen gesteuert werden, die ein bestimmtes Vielfaches der in der Beschreibung bisher behandelten Datensatzlänge (M = 1) habea. Zum Beispiel können durch geeignete Regelung der in Figur 30 gezeigten Kreise Datensätze der doppelten Länge (M = 2) sortiert werden, sowie Datensätze einer Länge, die das Vierfache (M = 4) oder Achtfache (M = 8) der Länge der ursprünglichen Datensätze ist. Figur 31 zeigt die Durchgangswege, die die Datensätze erhöhter Länge nehmen, wenn verschiedene Regelungsmaßnahmen in einem abgeänderten System vorgesehen sind.
In dem in den Figuren 30A und 30B gezeigten, abgeänderten System sind die betreffenden logischen Kreise zwischen die Ausgänge L1 - L1- der vorher unter Bezugnahme auf die Figuren 2A und 2B beschriebenen Speicher und die verschiedenen logischen Kreise A. - A^ geschaltet. Der in Figur 30B dargestellte Kreis ist zwischen die logischen Kreise F1 - Pr der Figuren 2A und 2B und die Eingangsanschlüsse L1 - Ll der vorher erwähnten
009850/1366
201077? 64
Speicher einzusetzen.. Der in den Figuren 2A und 2B dargestellten Sortierschaltung entspricht der Block 900 in Figur 3OA.
Die in Figur 30A dargestellte Logik umfaßt verschiedene UND-Gatter (902, 9O4, 906, 9O8, 910, 912, 9H, 916, 918, 920, 922, 924, 926, 928, 930 und 932) und zugehörige ODER-Gatter 940, 942, 944 und 946, die in der gezeigten Weise zwischen die Ausgangsanschlüsse L1 - L1- der Speicher und die logischen Kreise Ap - A1. geschaltet sind. Die Terme M= 1, M= 2, M= 4 und M = 8 stellen Kommandos dar, die die Länge der im System zu verarbeitenden Datensätze angeben. Wenn die Datensätze z.B. die in den vorhergehenden Ausführungsformen betrachteten Längen jj haben, öffnet das Kommando M = 1 die UND-Gatter 902, 910, 916 und 922; wenn andererseits die Datensatzlänge das Doppelte der vorher betrachteten Datensatzlänge ist, öffnet das Kommando M = 2 das UND-Gatter 904 sowie die UND-Gatter 914, 918 und 924. Wenn die vom System zu verarbeitenden Datensätze die vierfache Länge der vorher betrachteten Datensätze haben, öffnet das Kommando M = 4 die UND-Gatter 906 sowie die UND-Gatter 912,, 918 und 926. Wenn, schließlich .die zu verarbeitenden Datensätze die achtfache Länge der vorher beschriebenen Datensätze haben, öffnet der Term M = 8 das UND-Gatter 908 sowie die weiteren UND-Gatter 912, 918, 928 und 930. Das UND-Gatter 920 wird für alle Datensätze erhöhter Länge benutzt und wird vom Term M = 1 g geschaltet.
Die in Figur 3OA gezeigte Logik, sowie die logischen Kreise F1 - F sind mit einer weiteren Serie von UND-Gattern 950, 952, 954, 956, 958, 960, 962, 964, 966, 968, 970, 972, 974 und 976 verbunden (Figur 30 B). Letztere UND-Gatter sind an eine Serie von ODER-Gattern GT, G2, G3, G4 und G5 geschaltet, deren Ausgänge an betreffende Eingänge der vorher beschriebenen Speicher geführt sind.
Die in Figuren 3OA und 3OB dargestellten Kreise werden so
009050/1366
geregelt, daß die Datensätze die schematisch in Figur 31 dargestellten Schaltungswege durchlaufen. Wenn z.B. Datensätze normaler Länge vom System verarbeitet werden, veranlaßt das Kommando M = 1 die Datensätze den schematisch in Figur 31A dargestellten Wegen zu folgen, die im wesentlichen den vorher unter Bezugnahme auf Figuren 2A und 2B beschriebenen Wegen ähneln. Wenn, ein Datensatz doppelter Länge vom System zu sortieren ist, werden die beiden Ein-Wort-Speicher L. und Lp durch das Kommando M = 2 in Serie geschaltet, sodaß die Speicherlängen die Folge 2, 2, 4, 8 bilden. Figur 31B zeigt die Wege, die die Ausgangssignale der verschiedenen Speicher in diesem Fall durchlaufen, Wenn die Datensatzlänge das Vierfache der normalen Datensatzlänge ist, werden die drei unteren Speicher in Serie geschaltet (siehe Figur 31C), sodaß die Speicherlängen die Folge 4, 4,8 bilden. Die entsprechenden Wege der Datensätze sind in Figur 31C angegeben.
Wenn schließlich die Datensätze die achtfache Länge haben, werden alle Speicher außer dem längsten Speicher in Serie geschaltet, sodaß sich die Folge 8, 8 ergibt. In diesem Fall durchlaufen die Datensätze die in Figur 3OD dargestellten Wege. Um eine Sortierung zu erreichen, müssen mindestens zwei Speicher im System benutzt werden. Wie dem Fachmann ersichtlich, ist das erfindungsgemäße System nicht auf eine bestimmte Speicherlänge geschränkt; auch können andere Folgen von Speicherlängen benutzt und in der in den Figuren 3OA, 3OB und 31 gezeigten Weise geschaltet werden.
Gemäß der in den Figuren 3OA und 3OB gezeigten Schaltung werden B -Leerzeichen an die Schaltung abgegeben, wenn keine Daten den Sortierschaltungen zugeführt werden.
Die Erfindung schafft damit eine Sortiervorrichtung, die es gestattet eine Datensatzliste in aufeinanderfolgenden Durchgängen durch das System zu sortieren. Die Sortiervorrichtung kann
0ÖÖSSO/136S
201077?
ferner Datensätze verschiedener Länge verarbeiten und die Kennzeichenfelder ausgewählter Datensätze verändern, sodaß derartige Datensätze in eine gewünschte Stellung in der Liste verbracht werden können.
Die Kompliziertheit der Kreise im erfindungsgemäßen System kann reduziert werden und die zur Erzielung einer vollkommenen Sortierung benötigte Zahl von Durchgängen kann beträchtlich verringert werden, wenn die;kürzeren Speicher (das zwei Datensätze aufnehmende Speicherelement L, und die beiden je einen Datensatz aufnehmenden Speicherelemente Lp und L1 in Figur 2A) durch ein Register für einen Datensatz und aus der Hauptbaugruppe gebil- _ dete Sortierschaltungsverbindungen gemäß Figur 32 ersetzt wer- " den.
In Figur 32 stellt der Block R. ein einen Datensatz aufnehmendes Schieberegister dar und der vom Block S. dargestellte Kreis ist eine Sortierschaltung ähnlich den unter Bezugnahme auf Figuren 2A und 2B beschriebenen Sortierschaltungen, während die Kreise A. und F. den mit A und F bezeichneten Kreisen der Figuren 2A und 2B entsprechen. Die in Figur 32 dargestellte Baugruppe ist ein Umlaufkreis, in dem der Ausgang des Netzwerks F. an den Eingang des einen Datensatz aufnehmenden Registers R. zurückgeführt wird.
Es können beispielsweise drei derartige Register R. in dem Netzwerk vorgesehen werden um die drei in Figur 2A dargestellten M Speicherelemente L^, Lp und L. zu ersetzen. In Figur 33 sind derartige, einen Datensatz aufnehmende Register mit R , R1 und R2 bezeichnet. Die Register und zugeordneten Netzwerke AQ, A-, A2 und FQ, F1, F2 und ihre Sortierkreise SQf x S-j 9 S2 und S, ' sind in der in Figur 33 gekennzeichneten Weise zusammengeschaltet. Das in Figur 33 dargestellte System ist dadurch gekennzeichnet, daß Datensätze zu jeder einem Datensatz entsprechenden Zeit ausgelesen werden können, obwohl die Daten im System eventuell nicht geordnet sind.
Nachdem alle zu sortierenden Datensätze in das in Figur 33 gezeigte System verbracht worden sind, können sie serienweise Datensatz für Datensatz ausgelesen werden, derart, daß der zu einer einem Datensatz entsprechenden Zeit ausgelesene Datensatz der erste Datensatz in einer sortierten, aus den vorher eingespeicherten Datensätzen gebildeten Liste ist. Der AusIeseVorgang kann dann für eine ganze Zahl von Datensatzzeiten unterbrochen und anschließend fortgesetzt werden. Das in Figur ;>3 dargestellte Sortiersystem ist besonders für ein rasches Sortieren einer relativ kleinen Anzahl von Datensätzen geeignet und zur Zusammenschaltung mit anderen Sortiersystemen, wie in den Figuren 2A und 2B für das Sortieren größerer Datensatzmengen gezeigt. Das in Figur 33 dargestellte Sortiersystem ist besonders zweckmäßig für gewisse Datenausgabeoperationen.
Das in Figur 33 dargestellte System kann durch einen Eingabe-Flip-Flop I.M. und einen Auslese-Flip-Flop O.M. der Figur 12 gesteuert werden. Der Flip-Flop I.M. wird durchgeschaltet, wenn die Datensätze dem System zugeführt werden, während der Flip-Flop O.M. in den Zeitperioden durchgeschaltet wird, in denen Datensätze aus dem System eingelesen werden sollen. Wenn Datensätze in das System der Figur 33 eingeführt werden sollen, wird der Flip-Flop I.M. von einer geeigneten äußeren Steuerungsvorrichtung durchgeschaltet und der Flip-Flop O.M. wird zurückgestellt. Wenn der Flip-Flop I.M. durchgeschaltet und der Flip-Flop O.M. zurückgeschaltet sind, übertragen die Kreise A. Z-Leerzeichen und löschen damit die entsprechenden Register R., bis Daten in diese Register eingeführt werden. Wenn ein Datensatz in das System verbracht werden soll, wird er der Sortierschaltung SQ über die Eingangsleitung I1 zugeführt, in der der Datensatz normalerweise Z-Leerzeichen ersetzt; von der Sortierschaltung S gelangt der Datensatz über die Sortierkreise S1, S2 ... an den Block F., Wenn ein Datensatz in den Block F.
009660/1366
kommt, wird der Flip-Flop D^ der Figur 14 durchgeschaltet, was die Eingabe eines Datensatzes in ein Register R. anzeigt. Wenn ein Flip-Flop D. durchgeschaltet wird, überträgt der Kreis A. sein Eingangssignal an den Ausgang. Sobald jedes Register R^ aufgefüllt ist, können Daten über CL übertragen werden, worauf die Liste übergangen wird. Die in den Registern R. gespeicherte Information kann abgerufen werden, indem B -Leerzeichen auf die Eingangsleitung Ip gegeben werden, worauf die Datensätze über die Leitung O^ in der vorher beschriebenen Weise verschoben werden.
Bei Weglassung des Flip-Flops O.M. könnten keine Daten aus g dem in Figur 33 dargestellten System abgerufen werden, bis jedes Datenregister völlig aufgefüllt ist, da die Kreise A. Z-Leerzeichen übertragen, falls sie ohne Daten sind. Der Flip-Flop O.M. ist deshalb vorgesehen um eine Übertragung von B-Leerzeichen durch die Kreise A. während des Auslesebetriebs zu erzielen.
Die Arbeitsweise des in Figur 33 dargestellten Systems ähnelt der im US-Patent 3,399,383 beschriebenen, das am 27. August 1968 dem Erfinder des vorliegenden Erfindungsgegenstandes erteilt wurde. Die Verwendung des in Figur 33 dargestellten Systems in der im Patent beschriebenen Anordnung oder in der in den Figuren 2A und 2B dargestellten Anwendungsweise ist in Figur 34 im einzelnen gezeigt. Wie vorher erwähnt, ers-etzen in der in Figur 34 gezeigten Anordnung die Ein-Datensatz-Register R., R2, R^ und die zugehörigen Netzwerke den Speicher für zwei Datensätze und die beiden Speicherelemente für je einen Datensatz. Das in Figur 34 dargestellte System ist weniger kompliziert als das vorher beschriebene System, da die Hauptsortierschaltung S weniger Datensätze zu verarbeiten hat und in der speziellen Ausführungsform aus einer einfachen Sortierschaltung mit zwei Eingängen und zwei Ausgängen bestehen kann, ähnlich den anderen im System gezeigten Sortierschaltungen. Zahlreiche der in Figur 2B dargestellten Komponenten sind in dieser Aus-
oomo/me
führungsform weggelassen.
Wenn die Zahl der Register R. für einen Datensatz gleich der Länge des kürzesten Speicherelements L. ist (siehe Figur 34), sind keine Abänderungen der im oben genannten Patent beschriebenen Einlese- und Auslese-Operationen vorzunehmen; nur werden im Auslesebetrieb keine besonders gekennzeichneten Datensätze in R. gespeichert und die Kreise C. (i < N) sind weggelassen, ausgenommen der Kreis C., der beim Sortierbetrieb einen Stern (*) an Datensätzen anbringt.
Beim Sortierbetrieb bewirkt das Durchschalten des Flip-Flop S.M. eine Übertragung der Eingangsdaten der Kreise A. an die entsprechenden Ausgänge. Das Ende aes Sortierbetriebs kann deshalb durch den Nachweis eines mit dem Kennzeichen versehenen Datensatzes im Register R1 angezeigt werden. Jedoch kann der Flip-Flop S.M. für den Sortierbetrieb nur durchgeschaltet werden, wenn mindestens ein Datensatz an den oberen Ausgang der Sortierschaltung Sp übertragen wurde, denn keine Umschaltung auf Sortierbetrieb ist notwendig, wenn Daten nur in den Registern R. für je einen Datensatz gespeichert werden.
Die Kreise A. können so angeordnet werden, daß sie die Formate der Datensatz-Ausgänge der einen Datensatz enthaltenden Register R. verändern und dann kann eine Durchmusterung auf Datensätze mit einer bestimmten Eigenschaft durchgeführt werden. Das ist normalerwiese die Funktion eines "assoziativen Speichers". Jeder Datensatz hat eine Kontrollnummer und die notwendige Änderung der Kontrollnummer kann durch eine arithmetische Operation vorgenommen werden, d.h. durch geeignete Wahl des Abfrage-Datensatzes und ebenso durch geeignete Wahl der Code zur Darstellung der Daten im System.
Der Abfrage-Datensatz kann als Zahl dargestellt werden, die zu den Eingangssignalen der Kreise A. addiert wird und dann in entsprechender Weise von den Ausgängen der Kreise F^
oemc/me
201077?
subtrahiert wird. Nach einer derartigen Addition gelangt der Datensatz mit der kleinsten Kontrollnummer an den oberen Eingang der Sortierschaltung S und ist dann in veränderter Form zum Auslesen aus dem System verfügbar.
Wenn ein Lesen des Speicherinhalts ohne Zerstörung erwünscht ist, können die Daten durch Hinzufügung eines einzigen Gatters ausgelesen werden, ohne sie tatsächlich aus dem System zu entfernen. Wie in Figur 35 gezeigt, ermöglichen die UND-Gatter 981 und 982 in Verbindung mit dem ODER-Gatter 980 ein zerstörungsfreies Auslesen. Das Gatter 980 ist an den unteren Eingang der Sortierschaltung S angeschlossen, ein Eingangsanschluß des (| Gatters 981 ist an den oberen Eingang der Sortierschaltung SQ angeschlossen, und einer der Eingangsanschlüsse des Gatters 982 ist an die leitung für die B -Leerzeichen gelegt. Diese Gatterschaltung gestattet ein zerstörungsfreies Auslesen, wenn der Term N.D.R. zum Öffnen des Gatters 981 verwendet wird, da der obere Eingang der Sortierschaltung SQ verwendet wird um das sortierte Signal an die Ausgangsieitung O1 ohne Verluste weiterzugeben (das verschobene Signal erscheint am oberen Ausgangsanschluß der Sortierschaltung S). Für ein Auslesen mit Zerstörung des Speicherinhalts wird der Term D.R. verwendet, der das UND-Gatter 982 öffnet, sodaß B -Leerzeichen die Ausgangssignale wie in der vorher beschriebenen Ausführungsform ersetzen können.
Falls mehr als ein Datensatz mit einer bestimmten erwünsch- ™ ten Kontrollnummer auftritt, können die Kreise C1 dazu benutzt werden die Daten im System umlaufen zu lassen, bis sämtliche erwünschte Information aus dem System ausgelesen worden ist.
Die in dem in Figuren 32 und 33 dargestellten System verarbeiteten Datensätze müssen durch Gatter laufen, deren Zahl durch üie Ordnung der Datensätze im Speicher bestimmt ist. Die Verzögerungen der Datensätze auf den verschiedenen Wegen müssen deshalb bei der Konstruktion eines die Baugruppe der Figur 32 ent-
009850/1366
haltenden Systems berücksichtigt werden. Wenn diese Baugruppe in dem in Figur 33 dargestellten System verwendet wird, können die im System auftretenden Verzögerungen vielfach zur Punktion der Schieberegister beitragen und nur die zwischen den Gattern auftretenden Verzögerungen müssen durch entsprechende Verzögerungsleitungen berücksichtigt werden; man kann das System im wesentlichen in Form von Baugruppen ausgebildet werden.
Im Falle des in Figur 34 dargestellten Systems kann der Abschluß des Sortiervorgangs z.B. durch Wachweis der in den Sortierschaltungen S. vorgenommenen Austauschoperationen festgestellt werden. Falls während eines vollständigen Durchgangs keine Austauschoperationen vorgenommen wurden, liegen die Daten in vollkommen sortierter Ordnung vor. Diese Prüfung des Sortierungsabschlusses ist günstiger als die Zählung der notwendigen Durchgänge. Doch kann es zweckmäßig sein zusätzliche Mittel zur Zählung der Durchgänge vorzusehen, damit das System nach einer bestimmten Zahl von Durchgängen abgeschaltet werden kann, von denen man weiß, daß sie zur vollständigen Sortierung ausreichen. Dadurch wird verhindert, daß das System im Falle eines Versagens des Nachweiskreises uneingeschränkt weiterläuft.
Im Falle des in Figur 33 dargestellten Sortiersystems und der ähnlichen Abschnitte in dem in Figur 34 dargestellten System bildet die in Figur 32 gezeigte Baugruppe das wesentliche Bauelement. Das oben beschriebene Sortiersystem kann in verschiedener Weise verwendet werden, je nach den auszuführenden Rechenoperationen. Für die Zwecke der Beschreibung wurden die Register R. als einen Datensatz aufnehmende Speicher angenommen, während diese Register tatsächlich in bestimmten Anwendungsfällen mehrere Datensätze aufnehmen können.
0Ü985O/136G

Claims (17)

PATENTANSPRÜCHE
1. System zum Sortieren von binären Mehrfach-Bit Datensätzen in eine gewünschte Folge im Verlaufe mehrere Durchgänge durch das System mit Eingangsanschlüssen (I1) zum Einlesen der binären Datensätze in ungeordneter Folge und Ausgangsanschlüssen (O1), an denen die binären Datensätze in geordneter Folge nacheinander erscheinen, gekennzeichnet durch Speicher (A-E), Sortierschaltungen (S-, S^) und logische Schaltungen (A^, F^), die zwischen die Eingänge, Speicher und Ausgänge geschaltet sind, und durch Steuerkreise in den logischen Schaltungen um die Gesamtkapazität der Speicher jedem der aufeinanderfolgenden Durchgänge von Datensätzen anzupassen.
2. System zum Sortieren nach Anspruch 1 für ein Kennzeichen feld urü ein Datenfeld enthaltende Datensätze, dadurch gekennzeichnet, daß die Sortierschaltungen ein Sortiernetzwerk mit mehreren Eingangs- und Ausgangsanschlüssen enthalten und auf die Kennzeichenfelder der an die Eingänge angelegten binären Mehrfach-Bit Datensätze ansprechen, derart, daß die Datensätze in einer bestimmten Folge an den Ausgangsanschlüssen erscheinen
3. System zum Sortieren nach Anspruch 1, dadurch gekennzeichnet, daß der Speicher mehrere getrennte Laufzeitspeicher (A - E) umfaßt, deren Längen eine bestimmte Folge bilden.
4. System zum Sortieren nach Anspruch 1, dadurch gekennzeichnet, daß die Steuerkreise die Zahl der Speicherelemente
009850/1366
in aufeinanderfolgenden Durchgängen von Datensätzen durch das System verringern.
5. System zum Sortieren nach Anspruch 2, gekennzeichnet durch ein Sortiernetzwerk, dessen Eingänge mit den Ausgängen der Speicher verbunden sind und das Anzeigekreise enthält, die eine Anzeige ergeben, wenn ein am Ausgang der Speicher erscheinender Datensatz mit einem am Ausgang eines anderen Speichers erscheinenden Datensatz ausgetauscht wird, und durch mit diesen Anzeigekreisen verbundene Steuerkreise, die auf die Anzeigekreise ansprechen und die Gesamtkapazität der Speicher in aufeinanderfolgenden Durchgängen von Datensätzen durch das System regeln.
6. System zum Sortieren nach Anspruch 1, gekennzeichnet durch aus verschiedenen Abschnitten aufgebaute Speicher und zusätzliche, an die Steuerkreise angeschlossene logische Kreise, die Speicherabschnitte zu- bzw. abschalten.
7. System zum Sortieren nach Anspruch 1, gekennzeichnet durch 2 Speicher mit einer zum Speichern je eines Datensatzes ausreichenden Kapazität und weitere Speicher mit Kapazitäten in der festen Folge von 21, 22, 25, 24, ..., 2n Datensätzen.
8. System zum Sortieren nach Anspruch 3, dadurch gekennzeichnet, daß gewisse der Speicherelemente als Schieberegister ausgebildet sind.
9. System zum Sortieren nach Anspruch 8, gekennzeichnet durch eine getrennte Speichereinheit.
009050/1368
10. System zum Sortieren nach Anspruch 9» gekennzeichnet durch einen beweglichen Magnetspeicher als getrennte Speichereinheit, dessen einzelne Spuren die Speicherelemente darstellen.
11. System zum Sortieren nach Anspruch 2, gekennzeichnet durch weitere logische Kreise, die auf bestimmte Kennzeichenfelder ansprechen und deren Bit-Zusammensetzung verändern.
12. System zum Sortieren nach Anspruch 1 für binäre Mehrfach-Bit Datensätze bestimmter Länge oder einem Vielfachen dieser Länge, gekennzeichnet durch logische Kreise, die auf angelegte Kommandosignale ansprechen und die die binären Datensätze aufnehmenden Speicher steuern.
13. System zum Sortieren nach Anspruch 12, gekennzeichnet durch getrennte Speicher (R^) verschiedener Kapazität für die Datensätze, die durch diese Speicher laufen, und durch von den Steuerkreisen hergestellte Serienschaltung der Speicher nach Eingabe entsprechender Kommandosignale, die die Einführung von Datensätzen mit einem Vielfachen der ursprünglichen Datensatzlänge anzeigen. . ·
14. System zum Sortieren nach Anspruch 8, gekennzeichnet durch Register bestimmter Datensatz-Kapazität und Anschluß der Sortierkreise an die Eingänge der Register.
15. System zum Sortieren nach Anspruch 14, dadurch gekennzeichnet, daß das Register eine zur Speicherung eines Datensatzes ausreichende Kapazität hat.
009850/1363
201077^·
16. System zum Sortieren nach Anspruch 8, dadurch gekennzeichnet, daß die speicherbare Datensatzlänge des kleinsten Laufzeitspeichers der gesamten Speicherkapazität aller im System enthaltenen Register entspricht.
17. System zum Sortieren nach Anspruch 1, gekennzeichnet durch logische Schaltungen, die mit den Eingangsanschlüssen verbunden sind und die unsortierten binären Datensätze in Komplementärform dem System zuführen um die Reihenfolge, in der die Datensätze am Ausgang erscheinen, zu steuern.
009850/1366
Leeseite
DE19702010772 1969-06-04 1970-03-06 Pending DE2010772A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US83022569A 1969-06-04 1969-06-04

Publications (1)

Publication Number Publication Date
DE2010772A1 true DE2010772A1 (de) 1970-12-10

Family

ID=25256572

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19702010772 Pending DE2010772A1 (de) 1969-06-04 1970-03-06

Country Status (3)

Country Link
US (1) US3587057A (de)
DE (1) DE2010772A1 (de)
FR (1) FR2052292A5 (de)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3685024A (en) * 1970-11-02 1972-08-15 Singer Co Two stage sorting system using two-line sorting switches
US3662402A (en) * 1970-12-04 1972-05-09 Honeywell Inf Systems Data sort method utilizing finite difference tables
US3747071A (en) * 1971-05-10 1973-07-17 Mylee Digital Sciences Inc Electronic data processing system
US4210961B1 (en) * 1971-10-08 1996-10-01 Syncsort Inc Sorting system
US3781822A (en) * 1972-08-09 1973-12-25 Bell Telephone Labor Inc Data rate-changing and reordering circuits
FR2226078A5 (de) * 1973-04-13 1974-11-08 Sodema
JPS5413306B2 (de) * 1974-01-24 1979-05-30
US4090249A (en) * 1976-11-26 1978-05-16 International Business Machines Corporation Apparatus for sorting records in overlap relation with record loading and extraction
US4410960A (en) * 1980-02-05 1983-10-18 Nippon Electric Co., Ltd. Sorting circuit for three or more inputs
US4560974A (en) * 1981-09-28 1985-12-24 Hughes Aircraft Company Real-time ordinal-value filter utilizing reference-function comparison
US4456968A (en) * 1981-09-28 1984-06-26 Hughes Aircraft Company Real-time ordinal-value filter utilizing half-interval ranking
US4441165A (en) * 1981-09-28 1984-04-03 Hughes Aircraft Company Real-time ordinal-value filters utilizing complete intra-data comparisons
US4439840A (en) * 1981-09-28 1984-03-27 Hughes Aircraft Company Real-time ordinal-value filters utilizing partial intra-data comparisons
US4628483A (en) * 1982-06-03 1986-12-09 Nelson Raymond J One level sorting network
NL8203844A (nl) * 1982-10-04 1984-05-01 Philips Nv Geintegreerde, als bouwsteen uitgevoerde sorteerinrichting voor datawoorden en geintegreerde, dataverwerkende, processor voorzien van zo een meegeintegreerde sorteerinrichting.
US4595995A (en) * 1983-02-17 1986-06-17 At&T Bell Laboratories Sort circuit and method using multiple parallel sorts of the sorted items
JP3070744B2 (ja) * 1987-04-10 2000-07-31 株式会社日立製作所 ベクトル処理装置
US5142687A (en) * 1989-06-30 1992-08-25 Digital Equipment Corporation Sort accelerator with rebound sorter repeatedly merging sorted strings
JPH0776906B2 (ja) * 1989-06-30 1995-08-16 ディジタル イクイプメント コーポレーション 分類加速装置のための速度及びメモリー制御
US5185886A (en) * 1989-06-30 1993-02-09 Digital Equipment Corporation Multiple record group rebound sorter
JP3073208B2 (ja) * 1989-09-07 2000-08-07 キヤノン株式会社 データ選出装置
US5926815A (en) * 1995-07-27 1999-07-20 James, Iii; J. Colin Binary sort access method and apparatus
US20050022113A1 (en) * 2003-07-24 2005-01-27 Hanlon Robert Eliot System and method to efficiently switch between paper, electronic and audio versions of documents
US11256701B2 (en) 2019-01-02 2022-02-22 Bank Of America Corporation Interactive lineage mapping system

Also Published As

Publication number Publication date
US3587057A (en) 1971-06-22
FR2052292A5 (de) 1971-04-09

Similar Documents

Publication Publication Date Title
DE2010772A1 (de)
DE2547035C3 (de) Datenverarbeitungseinrichtung
DE3344141C2 (de) Vorrichtung zur Neuordnung von Elementen in eine gewünschte Reihenfolge
DE2607784B2 (de) Datenchiffrierverfahren und vorrichtung zur durchfuehrung dieses verfahrens
DE2621882A1 (de) Dynamischer digitalspeicher mit ununterbrochen umlaufendem datenfluss
DE1168127B (de) Schaltungsanordnung zum Vergleich von Zahlen
DE1549479B1 (de) Schaltungsanordnung zur adressierung eines aus mehreren moduln bestehenden speichers
DE2148956C3 (de) Datenübertragungssystem
DE2854782C2 (de) Datenverarbeitungssystem und Verfahren zum Ersetzen eines Datenblocks in einem Schnellspeicher
DE1774052B1 (de) Rechner
DE1217109B (de) Datenspeicher
DE2825190B2 (de) Programmierbare logische Anordnung
DE1499190C3 (de) Elektronische Datenverarbeitungsanlage
DE1271191B (de) Einrichtung zur UEbertragung von Informationseinheiten in die Binaerstellen eines Umlaufspeichers
DE2900586C2 (de) Anordnung zum Decodieren von Codewörtern variabler Länge
DE2506671C3 (de) Binärdaten-Handhabungsnetzwerk
DE1187264B (de) Schaltungsanordnung zur Annahme und Speicherung von Daten und zu deren Weitergabe auf in zyklischer Folge angeschlossene Ausgabekanaele
DE1424706A1 (de) Verfahren zur Auswertung einer Vielzahl von Informationen
DE2459476C3 (de)
DE1280592B (de) Schaltungsanordnung zur Ansteuerung eines Speichers
DE2004846A1 (de) Anordnung zur Veränderung des Speicherinhalts eines digitalen Speichers durch Bits, Bytes oder Wörter
DE2519195C2 (de) Assoziativspeicher
DE2459476B2 (de) Schaltungsanordnung fuer nichtzyklische datenpermutationen
DE1222289B (de) Datenverarbeitungseinrichtung
DE1808678B2 (de) Verfahren und schaltungsanordnung fuer elektronische daten waehlvermittlungsanlagen mit einem zentralen speicher