DE2756765A1 - Schaltung zur umordnung der reihenfolge von in einem seriellen speicher gespeicherten daten - Google Patents

Schaltung zur umordnung der reihenfolge von in einem seriellen speicher gespeicherten daten

Info

Publication number
DE2756765A1
DE2756765A1 DE19772756765 DE2756765A DE2756765A1 DE 2756765 A1 DE2756765 A1 DE 2756765A1 DE 19772756765 DE19772756765 DE 19772756765 DE 2756765 A DE2756765 A DE 2756765A DE 2756765 A1 DE2756765 A1 DE 2756765A1
Authority
DE
Germany
Prior art keywords
register
page
search
found
line
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE19772756765
Other languages
English (en)
Inventor
Peter Anthony Franaszek
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2756765A1 publication Critical patent/DE2756765A1/de
Withdrawn 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/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/78Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Shift Register Type Memory (AREA)
  • Memory System (AREA)

Description

2758765
Anmelderin: International Business Machines
Corporation, Armonk, N.Y. 10504
ru/se
Schaltung zur ümordnung der Reihenfolge von in einem seriellen Speicher gespeicherten Daten
Die Erfindung betrifft eine Schaltung nach dem Oberbegriff des Anspruches 1.
In einem seriellen Speicher, wie beispielsweise einem Magnetband- oder Schiebespeicher, mußte man bisher jedes Datenwort seriell untersuchen, bis das gewünschte Wort gefunden war. Zur Reduzierung der Zugriffszeit wurden zahlreiche Schemata entwickelt, von denen eines die Umordnung von Daten betrifft, um die zuletzt adressierten Daten so weit wie möglich an den Kopf der Datei zu setzen.
Ein ümordnungsschema für serielle Speicherdaten für einen magnetischen Einzelwanddomänen-Speicher ist beschrieben von Beausoleil u.a. in einem Artikel mit dem Titel "Magnetic Bubble Organization", veröffentlich im IBM Journal of Reserach and Development im November 1972, beginnend auf Seite 587. In dieser Veröffentlichung und den nachfolgend aufgeführten Patenten erfolgt die Umordnung durch Schieben in Vorwärtsrichtung, bis die gesuchte Seite in der Elngabe-/Ausgabe-Station steht, wo sie an die Zentraleinheit oder ein anderes Benutzergerät ausgelesen wird. Die Daten werden dann in einer um eine Stufe verkürzten Schleife rückwärts geschoben und die gefundene Seite in der E/A-Station gelassen. Wenn
der Kopf der Datei erreicht ist, wird die E/A-Station in die Schleife eingeschlossen, um die gefundene Seite an den Kopf der Datei zu setzen. Die Suche wird dann wieder aufgenommen, bis die nächste Seite gefunden ist.
YO 973 O21
809826/081$
In einem anderen Ausführungsbeispiel beschreiben Beausolell !u.a. ein Doppelordnungsschema, In dem die ungeraden Selten In der Datei nach vorne und die geraden Selten nach hinten geschoben werden, wobei die Suche für gerade und ungerade Selten In entgegengesetzter Richtung verläuft. Die zuletzt benutzten Seite stehen In der Mitte der Datei. In einer Veröffentlichung wird weiterhin noch ein zweidimensionales .Schema beschrieben, wo zusätzlich zu einer vertikalen Verschiebung in einer langen oder kurzen Schleife die Seiten lateral zwischen den E/A-Stationen in einer kurzen oder langen Schleife verschoben werden können.
Dieser Stand der Technik ist in den US-P 3 701 132; 3 737 881; 3 704 452; 3 766 534 und 3 797 002 beschrieben.
In allen oben erwähnten US-P und Veröffentlichungen findet sich das gemeinsame Merkmal, daß die zuletzt adressierten Daten in eine vorgezogene Position am Kopf der Datei verschoben werden. Im einfachsten Schema laufen die Daten an einer Lesestation vorbei, bis die gewünschte Seite gefunden ist. Sie wird dann in der Lesestation geparkt, während die Schieberichtung umgekehrt wird, um den Kopf der Datei neben die Lesestation zu bringen, wo das gefundene Datenwort in den Datenstrom am Kopf der Datei eingefügt wird. Im allgemeinen werden die Verschiebungen mit einem Zähler verfolgt.
In einem anderen Schema werden die geradzahligen Seite an den Kopf der Datei gestellt und die ungeradzahligen am Ende der Datei entsprechend Ihrer Benutzung umgeordnet. Dadurch wird die durchschnittliche Zugriffszeit effektiv halbiert.
Die Aufgabe der vorliegenden Erfindung besteht daher in der Verbesserung einer Schaltung zur !Anordnung der Reihenfolge ; von Datensätzen in einem seriellen Speicher, in dem die Daten j an einer Suchstation seriell auf Übereinstimmung mit einem von !
YO 973 021
809826/0816
r/56765
mehreren Suchkriterien während jeder der zwei Suchrichtungen untersucht werden, wobei ein während einer Suchrichtung gefundenes Kriterium durch ein anderes ersetzt wird, die gefundenen Datensätze in eine Position am Kopf der Datei umgesetzt werden und die Suchrichtung umgekehrt wird, wenn der Kopf der Datei die Suchstation belegt und alle dann existierenden Suchkriterien erfüllt worden sind.
Die erfindungsgemäße Lösung besteht insbesondere im Kennzeichen des Anspruches 1.
Die vorliegende Erfindung stellt eine Verbesserung der bisherigen Datenverwaltungssysteme in folgender Hinsicht dar:
1. Die Suche ist bidirektional.
2. Mehrere Datensätze werden während jeder Richtung einer Suche durchsucht.
3. Wenn ein Datensatz gefunden ist, wird sein Suchzeichen durch ein anderes ersetzt.
4. Eine Umlenkung mehrerer, während der Suche gefundener Datensätze zur Umordnung am Kopf der Datei ist vorgesehen.
5. Die Suchrichtung läuft in einer ersten Suchrichtung bis alle zur Suche am Kopf der Datei identifizierten Datensätze gefunden sind.
Ein Ausführungsbeispiel der Erfindung ist in den beigefügten Zeichnungen dargestellt und wird anschließend näher beschrieben.
Es zeigen:
Fig. 1 ein Funktionsblockdiagramm,
Fig. 2 eine Bitposition des Schieberegisterspeichers,
YO 973 021
809826/0818
r/56765
Flg. 3 Einzelheiten der Richtungs- und Schleifensteuerschaltung,
Fig. 4 Einzelheiten des Schiebezählers,
Fig. 5, bestehend aus den Fign. 5A bis 5C die Abfrageschaltung,
Fig. 6, bestehend aus den Fign. 6Ά bis 6D, die Zeitgeberschaltung und
Fig. 7, bestehend aus den Fign. 7A bis 7D, die durch die Zeitgeberschaltung aktivierte logische Steuerschaltung.
Zusammenfassung der Arbeitsweise
Das Gesamtblockdiagramm der Fig. 1 zeigt die Verbindung der Hauptfunktionsteile. Jedes Speichersystem unterliegt den Befehlen einer zentralen Verarbeitungseinheit 10,von der es den Bedarf an bestimmten Datenseiten oder Befehle zum Fortschreiten oder Ersetzen angegebener Datenseiten empfängt. In einem seriellen Speichersystem, in dem die Reihenfolge der Datenspeicherung entsprechend einer Benutzungsfunktion der Daten umzuordnen ist, müssen die Daten Ober einen Beschreiber oder eine Identifizierungszahl angesteuert werden. Der einfachen Referenz halber wird der Speicherzugriff nach einer Seitenzahl gesteuert, die durch Steuerschaltungen Innerhalb der zentralen Verarbeitungseinheit 10 erzeugt (wird.
0ie Seitenzahlen werden über das Kabel 20 in ein Suchregister 30 eingegeben, sobald die zentrale Verarbeitungseinheit, kurz CPU genannt, Seiten hat, die auf den Zugriff warten und Lm Suchregister Platz ist. Die Kapazität des Suchregisters
YO 973 021
809828/081$
beträgt drei Seitenzahlen, die es gleichzeitig absucht. Sobald eine Seite lokalisiert und für die CPU zugänglich gemacht wurde, wird eine neue Seitenzahl in das Suchregister 3O gesetzt, so daß es immer mit einer Warteschlange von Seitenzahlen arbeitet.
Der Schieberegisterspeicher 40 kann verschiedene Formen einschließlich der Form eines Einzelwanddomänen-Speichers annehmen, in dem magnetische Einzelwanddomänen, die binäre Einsen oder Nullen darstellen, in verschiedenen gesteuerten Schleifen verschoben und an einer Lese/Schreib-Station abgefühlt oder verändert werden können. Der Schieberegisterspeicher muß jedoch aus mehreren synchron verschobenen Reihen bestehen, worin ein entsprechendes Bit von jedem der gespeicherten Wörter in denselben geordneten Schieberegister gespeichert wird und jedes Schieberegister dasselbe entsprechende Bit von allen Wörtern enthält.
Wenn also ein Wort 1024 Bits enthält, dann müssen dort 1024 einzelne Schieberegister sein, von denen jedes so viel Stufen oder Bitpositionen hat, wie Wörter zu speichern sind. Der Schieberegisterspeicher muß außerdem Daten in beiden Richtungen! verschieben können und eine Station enthalten, in der die Daten gelesen oder neue Daten parallel eingeschrieben werden können.
Ein letztes Merkmal des Schieberegisterspeichers ist ein sogenanntes Parkregister, in das die während einer Suche gefundene Seite gesetzt werden kann, während die anderen Daten auf der Hauptleitung vorbeilaufen, damit die Reihenfolge der Daten heu geordnet werden kann. Im vorliegenden Ausführungsbeispiel jibt es vier Parkregister und fünf verschiedene Schleifen für die Datenordnung.
YO 973 021
R09826/081I
.,. r/56765
ährend jede Seite in die Eingabe-/Ausgabe-Station des Schieberegister Speichers 40 geschoben wird, wird die Seitenzahl über Idas Kabel 50 an den Vergleicher 60 gegeben, der außerdem Über das Kabel 70 zum Vergleich die Seitenzahlen im Suchregister 30 empfängt. Wenn keine Übereinstimmung festgestellt wird, wird die nächste Seite in die Eingabe-/Ausgabe-Station geschoben, bis eine Übereinstimmung gefunden wird, pie übereinstimmende Seite wird über das Kabel 80 durch das !Tor 79, das durch einen der beiden Taktimpulse auf der Leitung 818 geöffnet ist, an die CPU 10 geleitet.
Das gefundene Wort wird dann in eines der Parkregister geschoben und dort festgehalten, bis der Kopf der Datei sich der Eingabe-/Ausgabe-Station nähert, so daß alle gefundenen Wörter zum Kopf der Datei bewegt werden können.
Die Richtungs- und Schleifensteuerschaltung 90 steuert das Leiten der Daten in die und aus den Parkregistern zur Umordnung der Seitenfolge, um die zuletzt gefundenen Seiten an den Kopf der Datei zu setzen und bestimmt die Suchrichtung nach folgenden Regeln:
(A) Eine Vorwärtssuche beginnt immer, wenn der Kopf der Datei an der Eingabe/Ausgabe-Station steht und Seiten zur Suche vorliegen.
(B) Eine Vorwärtssuche wird fortgesetzt, bis eine der folgen- : den Bedingungen auftritt:
I (1) Alle Seiten, die im Suchregister stehen, wenn der
Kopf der Datei an der E/A-Station ist, wurden gefunden; oder
(2) die Parkregister sind voll; oder
(3) das Ende der Datei ist erreicht.
(C) Die Rückwärtssuche wird bei Beendigung der Vorwärtssuche eingeleitet und hört auf, wenn der Kopf der Datei erreicht ist, außer wenn die Parkregister voll sind.
YO 973 021
809826/0816
7756765
(D) Vorwärts- und Rückwärtsbewegungen können ausgelöst werden, um gefundene Seiten in die Parkregister zu setzen und den Hauptteil der Datei in der Hauptleitung in eine Position zu setzen, daß die gefundenen Seiten aus den Parkregistern in eine Position am Kopf der Schleife geschaltet werden können.
Die Schleifen- und Richtungssteuerschaltung bewirkt die obigen Vorgänge dadurch, daß ein "1"-Markierungsbit zu allen Seitenzahlen im Suchregister 30 am Kopf der Datei und ein "O"-Markierungsbit zu jeder Seitenzahl hinzugefügt wird, die zu einem anderen Zeitpunkt in das Register gegeben wurde. Die Vorwärtssuche wird fortgesetzt, bis alle Seiten im Suchregister "0"-Markierungsbits haben oder eine der anderen Bedingungen auftritt.
Die Schleifen- und Richtungssteuerschaltung 90 enthält außerdem einen Übereinstimmungszähler, der die Suche stoppt, wenn die Anzahl der gefundenen Seiten die Kapazität der Parkregister erreicht, die im vorliegenden Ausführungsbeispiel vier beträgt. Die Schaltungen enthalten außerdem einen Schiebezähler, der synchron mit der Vorwärts- und Rückwärtsverschiebung des Schieberegisterspeichers 40 erhöht oder erniedrigt wird. Der Zähler registriert immer null, wenn der Kopf der Datei (Seite 0) in der Eingabe-/Ausgabe-Station steht und läuft über, wenn der Boden der Datei erreicht ist. Schließlich wird noch mit einem SpezialSchieberegister die Bewegung gefundener Seiten in den Parkregistern verfolgt. Dieses Schieberegister öffnet die verschiedenen Tore, um Daten in die und aus den Parkregistern zu leiten, um den Kopf der Datei abzuwarten.
jZeitgeberschaltungen sorgen für die Reihenfolge der Impulse zur Synchronisation der betreffenden Operationen und liefern die verschiedenen Verzweigungsreihenfolgen. j
I YO 973 021
809826/0816
Arbeitsweise
Speicher
In Fig. 2 ist der Schieberegisterspeicher 40 der Fig. 1 dargestellt, von den der Einfachheit halber nur eine Stelle dargestellt ist, obwohl es sich in Wirklichkeit um einen Schieberegisterspeicher mit mehreren Stellen handelt. Die in Fig. 2 dargestellte Einrichtung wird in so vielen Stellen wiederholt, wie Bits in einen Speicherwort vorhanden sind. Jede Stelle des Schieberegisterspeichers besteht aus einem mehrstufigen herkömmlichen Schieberegister 102 und dieses wieder aus einem Paar Flipflops mit einem dazwischenliegenden Tor. Damit wird das Bit von einem Flipflop zum anderen übertragen und die dazwischenliegenden Tore ermöglichen die Bitverschiebung vorwärts oder rückwärts. Die interne Verschiebung zwischen den Stufen wird durch einen Steuerimpuls auf der Leitung 804 erreicht. Die Vorwärtsverschiebung zwischen den Stufen wird gesteuert durch einen Impuls auf der Leitung 802 und die Rückwärtsverschiebung durch einen Impuls auf der Leitung 808.
Wenn Daten vorwärts geschoben werden, laufen sie nach Darstellung in Fig. 2 weiter nach oben, so daß das binäre Bit auf der Leitung 110 vom Schieberegister 102 der Eingabe-/Ausgabe-Station zur Verfügung gestellt wird, wenn das Tor 112 geöffnet ist. Da die Verschiebung in einer geschlossenen Schleife abläuft, muß das Schieberegister T02 ein Bit am anderen Ende über die Leitung 115 empfangen. Die Leitung kann ein Bit von jedem Parkregister PRI, PR2, PR3, PR4 oder von der E/A-Station empfangen und hat somit die Möglichkeit, fünf verschiedene Schleifen zu bilden. Die E/A-Station und das Schieberegister 102 müssen isaner in der Schleife liegen. Die Schleifen können also umfassen: PRI; oder PR1 und PR2; oder PR1 und PR3; oder PR1 und PR2 und PR3 und PR4.
YO 973 O21
809826/0816
Wenn Daten in Rückwärtsrichtung (abwärts) geschoben werden, verläßt ein Bit das Schieberegister 102 unten auf der Leitung ; 151 und kann an die E/A-Station, PR4, PR3, PR2 oder PR1 geleitet werden. Wenn ein Bit z.B. an PR1 geleitet wird, müssen die Bits in PR2, PR3, PR4 und der E/A-Station ebenfalls verschoben werden. Die verschiedenen Schleifen und der Leitzustand sind am besten aus der nachfolgende Tabelle zu ersehen.
T A B E L L E 1 j
VorwärtsSchiebung
Schleife
A
B
I/O
Ein Aus 112 162
110 112 162
115 110 112 162
115
110
110
112
112
PR4 PR3 PR2 PR1
Ein Aus Ein Aus Ein Aus Ein Aus 116 164 120 166 124 168 128 132 116 164 120 166 124 136 aus der
Schleife
116 164 120 140 aus der aus der Schleife Schleife
116 144 aus der aus der aus der
Schleife Schleife Schleife
148 aus der aus der aus der aus der Schleife Schleife Schleife Schleifte
Rückwärtsschiebung
Schleife SR102 Ein Aus I/O Aus PR4 Aus PR3 PR2 PR1
160 151 Ein 150 Ein 146 Ein Aus Ein Aus Ein Aus
F 160 151 158 150 156 146 154 142 152 138 130 134
G 160 151 158 150 156 146 154 142 126 138 aus der
Schleife
H 160 151 158 150 156 146 122 142 aus der Schleife
I 160 151 158 150 118 der aus der Schleife aus der
Schleife
J 114 aus Schleife aus der Schleife
Aus der obigen Tabelle geht hervor, daß die folgenden Schleifen die einzelnen Elemente in Serie enthalten.
YO 973 021
809826/0816
Schleife A SR102;
Schleife B SR102;
Schleife C SR102;
Schleife D SR102;
Schleife E SR102;
Schleife F SR102;
Schleife G SR102;
Schleife H SR102;
Schleife I SR102;
Schleife J SR102;
I/O; PR4; PR3; PR2; PR1; SR1O2
I/O; PR4; PR3; PR2; SR1O2
I/O; PR4; PR3; SR1O2
I/O; PR4; SR1O2
I/O; SR1O2
PR1; PR2; PR3; PR4; I/O; SR1O2
PR1; PR2; PR3; PR4; I/O; SR1O2
PR3; PR4; I/O; SR1O2
PR4; E/O
E/O; SR1O2
Wenn alle gefundenen Selten an den Kopf der Datei gesetzt wurden und die Vorwärtssuche beginnt, werden alle Seiten in der Schleife verschoben. Wenn die erste Seite gefunden ist, geht die Verschiebung weiter, bis diese Seite das Parkregister PR1 belegt. Das Register wird dann aus der Schleife herausgenommen und die Schleife B aktiviert, bis die zweite gefundene Seite im Register PR2 steht. Dann wird die Schleife C aktiv, bis die dritte gefundene Seite das Register PR3 belegt. Da nur drei Suchregister zur Verfügung stehen, sind zu diesem Zeitpunkt alle oben in der Datei stehenden Seiten gefunden worden und die Suchrichtung wird umgekehrt. Das vierte Parkregister wird daher nicht in der Vorwärtssuche geladen und die Schleifen D und E werden effektiv nicht benutzt. Diese Tore sind aktiv, um den Datenfluß in den anderen Schleifen zu steuern und stehen in einer allgemeineren Anwendung zur Verfügung, um die Wörter einzeln aus den Parkregistern herauszuleiten.
Wenn man annimmt, daß die Umkehrung eintritt, wenn drei Seiten gefunden und geparkt wurden, dann kann bei der Rückwärtssuche ; eine weitere Seite gefunden werden oder so viele Seiten, wie '
YO 973 021
809826/0816
7756765
Parkregister übrig sind, wenn die Parkkapazität ausgedehnt wird. Im allgemeinen Fall würde die Rückwärtssuche die Schleife F benutzen, wenn keine Seiten bei der Vorwärtssuche gefunden wurden, weil möglicherweise keine der Seiten im Speicher steht. Eine bei einer Vorwärtssuche geparkte Seite würde der Schleife G in der Rückwärtssuche, zweiten Seiten der Schleife H, drei der Schleife I und vier Seiten der Schleife J folgen. Der Schleife J wird tatsächlich gefolgt, wenn bei der Vorwärts- und der Rückwärtssuche die Parkregister gefüllt sind und die Daten in der Schleife J geschoben werden, bis der Kopf des Stapels in der letzten Stufe des Schieberegisters 102 steht. Dann wird die Bahn F geöffnet, um die vier gefundenen Seiten an der E/A-Station vor der Kopfseite des Stapels (Seite 0) in das Schieberegister 102 zu schieben.
Der Schieberegisterzähler registriert Null, wenn die Seite Null in der E/A-Station steht und registriert die Zahl 5, wenn die Seite Null die letzte Stufe des Schieberegisters belegt.
Jeder Eingangs- und Ausgangsleitung zum Schieberegister 102, der Eingabe-/Ausgabe-Station und den Parkregistern PR1, PR2, PR3 und PR4 besteht eigentlich aus einem Leitungspaar, von dem eine Leitung ein Potential empfängt, um eine binäre Null oder binäre Eins darzustellen. Entsprechend sind alle Tore Zwei-Leitungstore, die entweder die binäre Null oder die binäre Eins durchlassen.
Die Eingabe/Ausgabe-Station und jedes Parkregister besteht aus zwei bistabilen Kippschaltungen, die durch ein Zwei-Lei tungs tor verbunden sind, das durch den internen Schiebeimpuls auf der Leitung 104 geöffnet wird. In einem Schieberegister wird ein Bit in die erste Kippschaltung zu einer ersten Zeit eingegeben, während der Inhalt der zweiten Kippschaltung in die nächstfolgende Position ausgelesen wird. Während der zweiten Schiebezeit wird das Bit in der ersten
YO 973 021
R09826/081S
Kippschaltung in die zweite Kippschaltung geschoben.
Jedes der durch ein "G" bezeichneten Tore in einem Quadrat in Fig. 2 wird durch einen entsprechenden Impuls auf einer Leitung aus den Kabeln 180a oder 180b geöffnet. Diese Impulse werden im Zusammenhang mit einer typischen Suchoperation näher beschrieben.
Suchregister
Das Suchregister hat hier Platz für drei Seitenzahlen. Zur Erweiterung müssen die Elemente und Zeitimpulse lediglich vervielfacht werden.
Die Seitennummern von der CPü stehen auf dem Kabel 20 und dessen Verzweigungen 20a, 20b und 20c zur Verfügung, wobei jedes entsprechend in den Toren 502, 504 und 506 endet, die durch einen entsprechenden Zeitgeberimpuls geöffnet, eine Seitenzahl in den Seitennummerntei1 508, 510 oder 512 der Suchregister SR1, SR2 oder SR3 eingeben. Jedes dieser Register hat eine zusätzliche Bitposition 508a, 510a und 512a, in die eine binäre Eins am Kopf des Stapels und eine binäre Null gesetzt wird, wenn eine neue Seite an einer anderen Stelle des Stapels eingegeben wird.
Die einer Seite einer jeden Registerbitposition 508a, 510a und 512a hat eine Ausgangsleitung 5O8d, 51Od und 512d, die mit einem gemeinsamen ODEr-Glied 514 verbunden ist (Fig. 5B). Dieses erkennt, ob eines der Seitenzahlen-Markierungsbits im Einerzustand bleibt. Diese Bedingung befiehlt die Fortsetzung der Vorwärtssuche. Die Ausgabe des ODER-Gliedes 514
Wird wiederholt abgefragt durch öffnen des Tores 516 zur Erzeugung eines Vorwärtssignales auf der Leitung 520 und eines JUickwärtsschiebesignales auf der Leitung 522. Die einzelnen Auswirkungen dieser Signale werden dim Zusammenhang mit einer typischen Suchoperation beschrieben. YO 973 021
809826/O81S
-ie- ;V56765
Vergleicherschaltungen
Jedes Seitenzahlenregister (Fig. 5) hat ein Ausgangstor 524, 526 oder 528, durch das die entsprechenden Register mit einem gemeinsamen Kabel 70 verbunden sind und einen Eingang zu einem Mehrbit-Vergleicher 530 liefern (Fig. 5B). Der zweite Eingang zum Vergleicher 530 kommt von der Eingabe-/ Ausgabe-Station (Fig. 2) über das Kabel 50. Es wurde bereits gesagt, daß das Schieberegister erster Stelle für so viele Bits wiederholt wird, wie in einem Wort existieren. So wird jede Seitenzahl an der E/A-Station gelesen und zum Vergleich mit den Seitenzahlen in den drei Suchregistern präsentiert. Um einen Konflikt zu verhindern, wird jede Seitenzahl im Suchregister sequentiell durch Taktimpulse an den Toren 524, 526 und 528 in den Vergleicher 530 geleitet. Bei der Vorwärtssuche wird die Gleich-Ausgabe vom Vergleicher 530 an die einzelnen Schaltungen durch die Tore 532, 534 und 536 ausgeleitet, um den Austausch einer Seite in dem SR1 oder SR2 bzw. SR3 zu steuern. Während Rückwärtssuche übernehmen die entsprechenden Tore 533, 535 und 537 eine vergleichbare Funktion.
Eine Nichtübereinstimmung wird durch ein Signal auf der Leitung 538 angezeigt, das während der Vorwärtssuche durch die Tore 542, 544 und 546 und während der Rückwärtssuche durch die Tore 539, 541 und 543 weitergeleitet wird. Diese Tore fragen effektiv SR1, SR2 und SR3 auf eine Übereinstimmung mit der Seitenzahl an der E/A-Station ab und wenn keine Übereinstimmung vorliegt, bewegen sie eine neue Seiten in die E/A-Station.
Wenn das Tor 532 z.B. eine Übereinstimmung anzeigt, würde eine Verzweigungssteuerung das Register SR1 mit einer neuen Seite laden. Wenn keine Übereinstimmung vorliegt, leitet das Tor 542 eine Abfrage des Registers SR2 ein. Diese Abfrage öffnet die Tore 534 und 544 zur Erzeugung eines übereinstim-
YO 973 021
$09826/0816
r/56765
mungs- oder Diskripanzsignales für SR2. Eine Übereinstimmung lädt das Register SR2 neu. Schließlich wird das Register SR3 abgefragt und bei einer Übereinstimmung neu geladen. Übereinstimmungen werden nicht in die E/A-Station geschoben. Nach Auftreten einer Übereinstimmung und Neuladen des betreffenden Suchregisters wird auch eine neue Seite in die E/A-Station geschoben.
Schleifensteuerung
Die verschiedenen Schleifen, durch die die Seitenbits synchron in die und aus den Parkregistern geschoben werden können, wurden im Zusammenhang mit Fig. 2 und Tabelle 1 bereits beschrieben. Die Bits fließen in den verschiedenen Schleifen vorwärts und rückwärts symmetrisch, und zwar haben die Vorwärtsschleifen A, B, C, D und E ihr entsprechendes Gegenstück in den Rückwärtsschleifen F, G, H, I und J.
Die Schleifensymmetrie ist in der Schleifensteuerschaltung der Fig. 3A bis 3D gezeigt. Hier verfolgt ein modifiziertes Schieberegister den Fortlauf der gefundenen Seiten durch die Parkregister und liefert die Torsteuersignale zum Parken der gefundenen Seiten und Umgehen der übrigen Seiten.
Jedesmal wenn eine gewünschte Seite gefunden ist, wird in die unterste der vier Stufen des Schleifensteuerregisters eine binäre Eins gesetzt, während die Seite in Vorwärtsrichtung von der E/A-Station, wo sie gefunden wurde, in das Parkregister PR4 geschoben wird. Während jedes Wort aufwärts in das Parkregister geschoben wird, wird das entsprechende Markierungsbit im Schleifensteuerregister aufwärtsgeschoben, bis die oberste(n) Stufe(n) voll ist(sind).
!Die Schleifensteuerung öffnet im wesentlichen die Tore zum ;Schieben der Daten in der Schleife A, bis das oberste Register PR1 die erste gefundene Seite empfängt. Dann wird die Schleife YO 973 021
809826/0816
/!756765
B geöffnet, bis die zweite Seite gefunden ist und in das Parkregister PR2 geschoben ist. Dann wird die Schleife C geöffnet, bis die dritte Seite gefunden und in das Parkregister PR3 geladen ist. Da hiermit die Kapazität des Suchregisters erschöpft ist, wird die Rückwärtssuche eingeleitet unter Verwendung der Schleife I, da die oberen drei Register geladen sind.
Wenn in der Rückwärtssuche ein viertes Wort gefunden wird, wird die Ruckwärtsverschiebung unterbrochen mit einer Vorwärtsverschiebung in der Schleife D, um die so gefundene Seite in das PR4 zu schieben, und dann wird die Rückwärtsverschiebung wieder aufgenommen. Die Rückwärtsverschiebung läuft jetzt weiter mit der Schleife J, bis der Kopf der Datei in der letzten Schieberegisterposition steht. Dann wird die Schleife F geöffnet, um die Parkregister in den oberen Teil des Schieberegisters zu entleeren und den Kopf der Datei in die E/A-Station zu laden.
Die besonders in den Fign. 3A bis 3D gezeigten Ladesteuerschaltungen bestehen aus vierpaarigen Flipflopstufen LC4, LC3, LC2 und LC1 , die mit den Parkregistern PR4, PR3, PR2 und PR1 vergleichbar sind. Jede dieser Stufen besteht aus zwei bistabilen Flipflops, die durch ein Zwei-Leitungstor verbunden sind. Ein Nullbit oder Einerbit wird von einer externen Quelle, beispielsweise der unteren Stufe in der Kaskade in die Stufe geschoben und intern innerhalb der Stufe durch einen Schiebeimpuls auf der Leitung 804 verschoben. Ein gemeinsamer RUckstellimpuls VS1 stellt alle Flipflops zurück, wenn die Vorwärtsschiebung am Ende des Stapels eingesetzt wird.
Sobald ein gesuchtes Wort an der E/A-Station gefunden ist, erscheint ein Potential auf der Leitung 818, um das Flipflop 308 zu schalten. Wenn in den Parkregistern noch Platz
YO 973 021
809826/0816
ist, wird ein Eins-Markierungsbit in LC4 durch das Tor 310 geschoben, wenn die Seite in PR4 geschoben wird.
Das Tor 310 wird durch einen Ipuls vom Inverter 314 über das UND-Glied 312 geöffnet, das auch einen Taktimpuls auf der Leitung 802 empfängt, der außerdem die Datenverschiebung zwischen den Stufen des Schieberegisterspeichers bewirkt. Die Eingabe zum Inverter 314 ist die Ausgabe vom UND-Glied 316, das Eingänge von der Eins-Ausgangsseite der Schleifensteuer-Stufenregister SC1, SC2, SC3 und SC4 empfängt. Wenn eines dieser Register also ein Null-Markierungsbit enthält (Parkraum verfügbar), liefert das UND-Glied 316 keine Ausgabe. Dieser Zustand wird im Inverter 314 invertiert und mit dem Taktgeberimpuls im UND-Glied 312 verknüpft und öffnet das Tor 310.
Das Tor 31O wird für alle Bitkombinationen in den Registern geöffnet, ausgenommen 1111. Jede binäre Null öffnet das Tor. Wenn ein Bit einmal in LC4 eingegeben ist, muß es synchron mit dem Fortschritt der entsprechenden gefundenen Seite durch die Parkregister nach oben verschoben werden. Das gilt für alle Markierungsbits. Wenn z.B. am Anfang drei Seiten unmittelbar hintereinander gefunden wurden, würden sich die drei Markierungsbit in LC1, LC2 und LC3 in den nächsten vier Verschiebungen nach dem Finden der ersten Seite bewegen.
In ähnlicher Weise muß das Tor 318 geöffnet werden, wenn eine der Stufen LC3, LC2 oder LC1 ein Null-Markierungsbit enthält. Der Eingang zum Tor 318 vom Inverter 322 erfolgt, wenn eine der Eins-Ausgangsleitungen von LC1, LC2 oder LC3 keine Eins (also eine Null) führt und so keinen Ausgang vom UND-Glied 324 erzeugt. Die öffnung des Tores 318 bedeutet nicht unbedingt, daß es eine binäre Eins leitet. Es leitet den jeweiligen Inhalt der vorhergehenden Stufe. YO 973 021
Das Tor 326 zur Stufe LC2 empfängt ein Markierungsbit von der Stufe LC3 nur, wenn das UND-Glied 328 durch den Taktimpuls auf der Leitung 802 geöffnet ist, wenn der Inverter 330 keinen Eingang vom UND-Glied 332 empfängt. Das passiert, wenn LC1 oder LC2 nicht Null sind. Schließlich wird das Tor 334 geöffnet, um nur in LC1 eingeben zu können, wenn LC1 nicht in einem Einerzustand steht, was durch ein Signal vom Inverter 338 und dem UND-Glied 336 erkannt wird.
Jedes der paarigen Flipflops in den Stufen hat eine NuIl- und eine Eins-Eingangsleitung und Ausgangsleitung, so daß jedes Bit in die Stufe, aus der Stufe und innerhalb der Stufe geschoben werden kann. Die Einerausgänge von den entsprechenden Stufen LC1 bis LC4 werden bezeichnet mit den Bezugszahlen 340, 342, 344 und 346. Die Leitungen zwischen den Stufen sind anderweitig bezeichnet.
In den oben beschriebenen Schaltungen wird ein Einer-Markierungsbit erzeugt durch das Flipflop 308 bei jeder Übereinstimmung zwischen einer besuchten Seite im Suchregister und einer Seitenzahl an der E/A-Station. Dieses Markierungsbit wird durch die Schleifensteuerregister synchron mit der Verschiebung der entsprechenden Seite durch die Parkregister verschoben. Jede Schiebung in einem Schieberegister besteht aus einem Schiebeimpuls zwischen den Stufen auf der Leitung 802 und einer Verschiebung zwischen den Stufen auf der Leitung 804. Der Impuls auf dieser Leitung stellt auch das Uberein-'stimmungs-Flipflop 308 zurück, so daß kein Eins-Markierungs- bit bei nachfolgenden Verschiebungen zwischen den Stufen ein-
!gegeben wird, wenn nicht eine Übereinstimmung gefunden wird.
j So werden die Eins-Markierungsbits und die gefundenen Seiten nach oben geschoben, bis die Register mit Einsen und gefundenen Seiten gefüllt sind.
YO 973 021
809876/0816
Die Markierungsbits in den Schleifensteuerregistern LC1, LC2, LC3 und LC4 werden in Schleifensteuersignale übersetzt, um die in Tabelle 1 gezeigte Schleifensteuerung zu bewirken, indem man die Eins-Ausgangsleitungen 340, 342, 344 und 346 von den Schleifensteuerregistern in den Invertern 352, 354, 356 und 358 und den UND-Gliedern 360, 362, 364 und 366 miteinander verbindet.
Wie schon gesagt wurde, sind die Vorwärts- und Rückwärtsschleifen symmetrisch. Das gilt auch für die Steuerungen. Wenn z.B. alle Ladesteuerregister im Einerzustand stehen, erfolgt die Verschiebung in Vorwärts- und Rückwärtsrichtung in den Schleifen E und J und alle Parkregister werden umgangen.
Da die Seiten nur während der Vorwärtsschiebung in den Parkregistern geparkt sind, werden die Markierungsbits alle in den LadeSteuerregistern nur während einer Vorwärtsverschiebung verschoben und dann auch nur, wenn Seiten durch die Parkregister geschoben werden. Wenn sie einmal in die Ladesteuerregister eingegeben sind, bleiben die Markierungsbits dort, um die Schleifen zu steuern, bis die Seiten alle an den Kopf des Stapels bewegt sind und eine neue Vorwärtssuche eingeleitet ist. Die Markierungsbits werden zu dieser Zeit alle auf Null zurückgestellt.
Die Bewegung der Markierungsbits in den Schleifensteuerregistern wird gesteuert durch die Tore 310, 318, 326 und 334. Wenn diese offen sind, kann ein Markierungsbit von der nächst niederen Ordnung (oder dem Flipflop 308) nach oben geschoben werden. Der Zustand dieser Tore läßt sich leicht aus Tabelle !entnehmen, die den Zustand der Ladesteuerregister mit dem Zustand der Tore in Beziehung setzt. In dieser Tabelle besagt eine Eins, daß ein Tor offen ist.
YO 973 021
809826/0816
TABELLE
LC1
LC 2
LC 3
LC 4
334 326 318 310
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
O 1 1 1
O 1 1 1
O 1 1 1
O 1 1 1
O O 1 1
O O 1 1
O O O 1
O O O 0
YO 973 021
H09826/08IS
sind und eine Bewegung der Markierungsbits gestatten, solange LC1 im Null-Zustand bleibt. Wenn LC1 auf Eins geht, wird das Tor 334 geschlossen, die drei unteren Tore 326, 318 und 310 bleiben jedoch offen, solange LC2 im Null-Zustand bleibt. Das Register LC3 steuert die Tore 318 und 310. Wenn es auf Eins geht, wird das Tor 318 geschlossen. Wenn schließlich LC4 auf Null geht, schließt das Tor 310. Das Tor 334 und die unteren Tore sind für acht Kombinationen offen, das Tor 326 und die unteren Tore für 12 Kombiantionen, das Tor 318 und die unteren Tore für 14 Kombinationen und das Tor 310 für 15 Kombiantionen von Markierungsbits, die in den Schleifensteuerregistern existieren können.
Da die Ladesteuerregister die Tore zum Verschieben der Seitenbits durch die Parkregister öffnen müssen, muß ihr Zustand in Torsteuerpotentiale für die Parkregistertore in Fig. 2 umgesetzt werden. Tabelle 3 bringt die Zustandskombinationen der Ladesteuerregister in Korrelation zum Ausgangspotential vom Inverter 352 und den UND-Gliedern 360, 362, 364 und 366.
YO 973 021
809826/0811
TABELLE
LC1 LC2 LC3 LC4 368 370 372 374 376 Potential Loop
0 0 0 0 1 0 0 0 0 A F
0 0 0 1 1 0 0 0 0 A F
0 0 1 0 1 0 0 0 0 A F
0 0 1 1 1 0 0 0 0 A F
0 1 0 0 1 0 0 0 0 A F
0 1 0 1 1 0 0 0 0 A F
0 1 1 0 1 0 0 0 0 A F
0 1 1 1 1 0 0 0 0 A F
1 0 0 0 0 1 0 0 0 B G
1 0 0 1 0 1 0 0 0 B G
1 0 1 0 0 1 0 0 0 B G
1 0 1 1 0 1 0 0 0 B G
1 1 0 0 0 0 1 0 0 C H
1 1 0 1 0 0 1 0 0 C H
1 1 1 0 0 0 0 1 0 D I
1 1 1 1 0 0 0 0 1 E J
YO973021 ΗΠ987Β/0818
Die Ähnlichkeit zwischen den Tabellen 2 und 3 1st offen-
sichtlich. Die Schleife A 1st z.B. für acht Kombinationen aktiv, die Schleife B für vier, die C für zwei und die Schleifen D und E für je eine Kombiantion, so daß sich insgesamt 16 Zustandskombiantionen der Ladesteuerregister ergeben.
Da für die Schleife A die Tore 12, 116, 120, 124, 128 und 132 geöffnet werden müssen (Fig. 2), die mit Ausnahme der Tore 128 und 132 auch für die Schleife B zu öffnen sind, müssen zwischen die Leitungen 368, 370, 372, 374 und 376 ODEr-Glieder gelegt werden, um die erforderlichen Steuerpotentiale für die Tore zu liefern, die für mehrere Schleifen gemeinsam geöffnet werden müssen. In Fig. 3B dient daher die Leitung 368 als ein Eingang zu den ODER-Gliedern 378, 380, 382 und 384, die entsprechend die Tore 124, 120, 116 und 112 öffnen.
JDa Vorwärts- und Rückwärtsschielfen außerdem symmetrisch sind und die von den Schleifensteuerregistern gelieferten Steuerungen dieselben sind, müssen die Steuerimpulse in zwei Gruppe für Vorwärts- und Rückwärtssteuerung unterteilt werden. Das geschieht durch separates Leiten der Vorwärts- und Rückwärtssteuerung über die UND-Glieder 301, 303, 305, 307, 309, 321, 323, 325 und 327 für die Steuerung der SchleifenvorwärtsSchiebung, wobei all diese UND-Glieder durch einen gemeinsamen Leitimpuls auf der Leitung 802 jeöffnet werden. Die entsprechenden Rückwärts-UND-Glieder äind 311, 313, 315, 317, 319, 331, 333, 335 und 337 für lie RückwärtsSchleifensteuerung der Ausgänge von diesen JND-Gliedern, für die Vorwärtsrichtung 101, 103, 105, 109, 21, 123, 125 und 127, für die Vorwärtsschleifensteuerung und ür die Rückwärtsschleifensteuerung 111, 113, 115, 117, 119, 31, 133, 135, 137. Alle sind im Kabel 180 für den Ausgang
YO 973 021
809826/081S
und die Verbindung mit den Schleifensteuertoren in Fig. 2 zusammengefaßt.
Typische Operationen
Als Ausgangsbasis wird angenommen, daß die zentrale Verarbeitungseinheit 10 in Fig. 1 ihren fortlaufenden Bedarf an Seiten vom Speicher angibt und eine Warteliste von Seitennummern im Computerspeicher vorhanden ist und durch ein Einschaltpotential auf der Leitung 10 angegeben wird. Solange diese Leitung ein Potential führt, verlangt die CPU vom Speicher die Suche nach angeforderten Seiten in der Warteschlange und deren Lieferung an die CPU nach dem Auffinden.
Das Potential auf der Leitung 11 wird über das Kabel 12 an eine in Fig. 6 gezeigte Zeitgeber- und Steuerschaltung und die Verknüpfungsschaltung der Fig. 7 geliefert. Wenn das Leerlaufflipflop 861 in Fig. 6A zur Erregung der Leitung 862 geschaltet ist, wird das UND-Glied 604 aktiviert, wenn das Einschalten eines Potentiales auf der Leitung 11 den SS6O2 zündet zur Einleitung der Reihe von Taktimpulsen L1, L2 und L3 vom CPG 606.
Der Impuls L1 betätigt das ODER-Glied 805 zur Erregung der Leitung 806 (Fig. 7B), wodurch der CPU angezeigt wird, daß eine Seite von der CPU genommen und in das Suchregister geladen wird. Der Impuls L1 betätigt außerdem das ODER-Glied 811 zur Erregung der Leitung 812, die laut Darstellung in Fig. 5A das Tor 502 öffnet, um die erste Seite in der Warteschlange der CPU in das 3R1 zu leiten.
Der Impuls auf der Leitung 812 (in Fig. 7C) fragt auch das Vorhandensein eines Potentiales auf der Leitung 11 ab durch öffnen des Tore 826, um das Potential auf der Leitung 11 oder
YO 973 021
H09B2R/08 1 S
das negierte Potential auf der Leitung 11 Ober den Inverter 825 auf die Leitungen 827 bzw. 828 zu geben. Diese schalten das Seitenanwesenheits-Plipflop 5O8C ein oder aus (Fig. 5A). Wenn die CPU keine Seite in ihrer Warteschlange hat, ist die Leitung 11 tot und eine Seite Hull wird in das Suchregister eingegeben. Nach dieser Seite wird natürlich nicht gesucht. Das Seitenanwesenheits-Flipflop verfolgt auch leere Seiten. Der Impuls L1 stellt fiber das ODER-Glied 811 das Markierungsbit im Register 568a auf Null zurück.
Dem Impuls L1 folgt der Impuls L2, der für SR2 dieselben Funktionen wie folgt wahrnimmt:
1. Zeigt der CPU an, daß eine Seite durch das ODER-Glied 805 und die Leitung 806 herausgezogen wird.
2. Betätigt das ODER-Glied 813 und die Leitung 814 zum öffnen des Tores 504 zur Eingabe einer Seitennummer in das SR2.
3. Prüft das Potential auf Leitung 11 durch öffnen des Tores über die Leitung 814 zum Abfragen eines vorhandenen Potentiales auf der Leitung 11 (Leitung 831 heiß) oder eines nicht vorhandenen Potentiales (Über den Inverter 829) zur Erregung der Leitung 832 und entsprechender Ein- bzw. Ausschaltung des Flipflop 51OC.
4. Stellt Markierungsbit im Register 510A auf Null zurück.
Der Impuls L3 übernimmt eine entsprechende Funktion beim SR3 durch das ODER-Glied 815 und die Leitung 816, die die Seiteneintragung über das Tor 506 steuert, das Markierungsbit im Register 512a auf Null zurückstellt und die Leitung auf ein vorhandenes Potential (Tor 834, Inverter 833) abfragt zur Erregung der Leitung 835 oder 836 zum Einschalten oder Rückstellen des Registers 512c.
YO 973 021
Jede Selteneintragung gibt entweder eine gültige Seitennummer oder die Seite 0 in das entsprechende Suchregister ein. Das Seitenanwesenheits-Flipflop gibt die Anwesenheit oder Abwesenheit einer gültigen Seitenzahl an und wird bei jeder Eintragung geprüft. Am Ende von L3 schaltet das ODER-Glied J61O die monostabile Kippschaltung 612 zur Erzeugung des !impulses FS1, der die Ladesteuerregister LC1, LC2, LC3 und |LC4 (Fign. 3A und 3B) zurückstellt durch Erregung der Leitung FS1. Außerdem schaltet der Impuls VS1 die Markierungsbits in den Registern 508a, 510a und 512a auf Eins, wenn die entsprechenden Seitenanwesenheits-Register 508c, 510c und 512c das Vorhandensein einer gültigen Seitenzahl anzeigen. Der !impuls VS1 wird also entsprechend mit den Seitengültigkeitssignalen auf den Leitungen 526 (im UND-Glied 558), 580 (im UND-Glied 560) und 584 (im UND-Glied 562) verknüpft. Wenn eines der Suchregister die Seitenzahl 0 hat, ist sein Markierungsbit Null. Dadurch wird die Suche umgekehrt, wenn die am Kopf des Stapels vorhandenen Seiten alle gefunden worden sind.
Das Ende des Impulses FS1 betätigt das ODER-Glied 614 zur Einleitung einer Prüf-Unterroutine, mit der festgestellt werden soll, ob das Suchregister mit einer ungültigen Seitenzahl (d.h. Null) geladen ist und die CPU eine neue Seitenzahl in ihrer Warteschlange hat. Die Leitung 641a geht daher zu dem in Fig. ?C gezeigten ODER-Glied 838 und der Leitung 839 zum Zünden von SS700 (Fig. 7C) zur Erzeugung des Impulses T1. Der Impuls auf der Leitung 614a schaltet auch das Vorwärts-Flipflop 840 (Fig. 7C), so daß der Prüfzyklus, der den Vorwärts- und Rückwärtsverschiebungen gemeinsam ist, zu dem Primärzyklus zurückkehren kann, von dem er ausging.
Der Impuls T1 öffnet das Tor 848 (Fig. 7C), um ein Potential auf der Leitung 11 abzufragen und das Vorhandensein einer oder mehrerer ungültiger Eintragungen im Suchregister. Der
10973021 -809826/08U
Juli-Ausgang von den Registern 508c, 51Oc bzw. 512c auf den leitungen 578, 582 und 586 wird im ODER-Glied 581 verknüpft, uit dem Signal auf der Leitung 11 im UND-Glied 850 UND-vercnüpft und der im Inverter 849 invertierten Ausgabe und durch las Tor 848 gelistet zur Erzeugung einer Null auf der Leitung |11. Wenn die Umkehrung vorhanden ist, erregt der Einer-Sustand des Richtungs-Flipflop 840 über die Leitung 841 und las UND-Glied 843 die Leitung 844 zur Initialisierung von 1*82.
tfenn die Prüfung wenigstens eine gültige Seiteneintragung zeigt und die CPU eine Seite verfügbar hat (Leitung 11 heiß), Behaltet ein Impuls auf der Leitung 848a das SS7O2 (Fig. 6D), im den Impuls T2 zu geben. In Fig. 7C öffnet der Impuls T2 das Tor 852, um SR1 auf eine gültige Seite (Leitung 576 heiB) oder aine ungültige Seitenzahl zu prüfen (Leitung 578 heiß). Wenn lie Leitung 576 heiß 1st, betätigt die Leitung 853 das ODER-slied 706 zum Schalten von SS7O8, um die Prüfung an SR2 weiterzuleiten. Wenn SR1 eine ungültige Eintragung hat, was beim Start nie der Fall ist, aündet der Impuls auf der Leitung Jie SS7O4 und erzeugt den Impuls T3. Der Impuls T3 läuft zum )DER-Glied 811 zur Erzeugung eines Potentials auf der Leitung M2, um die oben beschriebenen Eintragungs- und Steuerfunktionell mszulösen. Das Seitenregister wird auf Eins umgeschaltet und las Markierungsbit auf Null zurückgestellt. Es wird angenommen, IaB dieser lyklus von Prüfung und Wiedereintragung beim ersten Start unwirksam ist, da die Wahrscheinlichkeit nicht sehr ro· ist, d«0 die CPO bein Start in ihrer Warteschlange nur In· Seit« hat. Fall* dieser Zyklus auftreten sollte, kann das lull-Marklerungsbit zwar su einer vorzeitigen Umkehr der Suche uhren, verursacht jedoch keinen Fehler.
)as Ende des Impulses T3 öffnet das ODER-Glied 708 ebenso Ie die gültige Seitenzahl im SR1 auf der Leitung 853 zur
YO 973 021
80982S/O81«
Erzeugung von T4. Dieser Impuls fragt SR1 auf das Vorhandensein einer Seite ab, durch einen Impuls durch das Tor 855 und die Leitungen 580 und 582 von 510c und Ausgaben auf den Leitungen 856 bzw. 857. Ein Impuls auf der Leitung 856 schaltet über das ODER-Glied 712 die SS714 zur Erzeugung von T6. Eine ungültige Seiteneintragung und ein Impuls auf der Leitung j857 zündet SS710 zur Erzeugung des Impulses T5.
fT5 geht zum ODER-Glied 813 und erregt die Leitung 814 für jdie im Zusammenhang mit L2 und SR2 beschriebenen Eintragungsund Steuerfunktionen. Das Ende von T5 erzeugt über das ODER-Glied 712 und SS714 den Impuls T6.
Der Impuls T6 fragt SR3 auf eine Null ab durch öffnen des Tores 858, um entweder den Impuls von der Leitung 584 (gültig) oder von der Leitung 586 (ungültig) von 512c auf die Leitungen 859 bzw. 860 zu leiten.
Die Leitung 859 (gültig) gibt die Steuerung an den Vorwärts oder Rückwärts-Suchzyklus zurück über das ODER-Glied 847 und das Potential der Leitung 841 (vorwärts) oder 852 (rückwärts) und das UND-Glied 843 oder 845. Die Leitung 344 initiiert FS2 und die Leitung 846 RS1.
Wenn SR3 ein Null-Bit hat, schaltet die Leitung 860 die SS716 zur Erzeugung von T7. Dadurch wird das ODER-Glied 815 betätigt zur Erregung der Leitung 816 für die im Zusammenhang mit L3 und SR3 beschriebenen Eintragungs- und Steuerfunktionen. Das Register 512c hat ein gültiges Seitenbit (1) und das Markierungsbit ist gleich Null.
Dieser Prüf- und Eintragungezyklus wird während der Vor wärts- und der Rückwärts-Suchoperation ausgelöst nach jeder Einschiebung einer neuen Seite in die Eingabe-/Ausgabe-Station und deren Vergleich mit dem Inhalt der Suchregister.
YO 973 021
R09826/0816
Wenn die CPU nach einer Ruheperiode aktiv wird, stellt sie Seiten in ihrer Warteschlange den Suchregistern zur Verfügung, sobald eine Leerstelle auftritt.
Der Wiedereintritt in die Vorwärtssuchroutine von der Leitung 844 schaltet CP6616 und ergibt den Impuls FS2. Das ist der Impuls für die Datenverschiebung zwischen den Stufen, mit j dem Daten zwischen den Stufen im Schieberegisterspeicher j und in den Parkregistern (wenn diese nicht voll sind) verschoben werden und mit dem auch Markierungsbits in und durch die Ladesteuerregister geschoben werden. Dazu beeinflußt der Impuls FS2 das ODER-Glied 801 zur Erzeugung eines Impulses auf der Leitung 802 an das Schieberegister 102 (Fig. 2), um die Daten zwischen den Stufen vorwärts zu schieben. Der Impuls wird außerdem an die Leitung 802 in Fig. 3B angelegt, um alle UND-Glieder 31, 303, 305, 308, 309, 321, 323, 325 und 327 für die Vorwärtsverschiebung für Leitimpulse zu Offnen, die durch die Schleifensteuerlogik geleitet werden. Der Impuls 805 (FS2) öffnet auch die UND-Glieder 312, 320, 328 und 326, um ein Markierungebit innerhalb der Schleifensteuerregister weiterzuleiten. Schließlich schaltet der Impuls 802 den Schiebezähler 503 um Eins weiter.
Da angenommen wird, daß es sich hier um eine Startoperation handelt, gibt es keine Übereinstimmungen. Der erste Schiebeimpuls (FS2) schiebt daher die Seite Null in das Parkregister PR4. Die Seite Null ist der Kopf des Stapels und wird niemals wieder mit einer Eintragung im Suchregister übereinstimmen. Die erste Schiebung schaltet den Schieberegisterzähler, wie oben beschrieben, auf Eins vor. Der Schiebezähler wird für eine Vorwärtsverschiebung erhöht und für eine Rtickwärtsverschi« bung heruntergesetzt.
YO 973 021
809826/081$
Dem Impuls FS2 folgen die Impulse FS3 und FS4 im CPG616. Der Impuls FS3 sorgt für eine Verschiebung der Bits zwischen den Stufen im Schieberegisterspeicher 102, in der E/A-Station, in den Parkregistern und in den Ladesteuerregistern. Diese interne Verschiebung wird unveränderlich angewandt, auch wenn ein neues Bit nicht in ein Parkregister oder ein Ladesteuerregister geschoben wurde. Diese interne Verschiebung gilt für alle Vorwärts- und Rückwärtsverschiebungen, wenn ein Bit in derselben Richtung innerhalb einer Stufe unabhängig von der Richtung zwischen den Stufen fließt. Der Impuls FS3 stellt auch das Übereinstimmungs-Flipflop 308 (Fig. 3A) zurück, um es zum Speichern einer Übereinstimmung beim nächsten auftretenden Vergleich vorzubereiten. Der Impuls FS3 aktiviert u.a. das ODER-Glied 803 (Fig. 8), um ein Potential für die interne Verschiebung auf die Leitung 804 zu legen.
Der Impuls FS4 folgt dem Impuls FS3 und fragt die Markierungsbits im Suchregister auf lauter Nullen oder das Fehlen einer Eins ab. Die Suche läuft in Vorwärtsrichtung weiter, bis alle Seitenzahlen in den Suchregistern oben im Stapel gefunden wurden (markiert durch Einsen). In Fig. 3C ist gezeigt, wie der Impuls FS4 das Tor 516 öffnet, um die Ausgabe vom ODER-Glied 514 zu leiten, das die Eins-Ausgangsleitungen 5O8d, 51Od, 512d der Markierungsbit-Register verbindet. Wenn also eines der Register noch eine Eins enthält, liefert das ODER-Glied 514 ein Ausgangssignal auf die Leitung 520, um die Vorwärtssuche fortzusetzen. Die Leitung 522 wird erregt, wenn die Markierungsbits zur Zeit FS4 alle Null sind. Die Leitung 520 ist an die in Fig. 6 gezeigte monostabile Kippschaltung 618 angeschlossen, um den Impuls FS5 zu liefern. Dieser Takt impuls öffnet das Tor 519 (Fig. 3C) zur Erzeugung eines Höchstzahlsignales auf der Leitung 519a oder des entsprechenden negierten Signales auf der Leitung 519b vom Schiebe zähler 503. Der Impuls auf der Leitung 519a geht zu der in Fig. 6 gezeigten monostabilen Kippschaltung 620, schaltet
YO 973 021
809826/0816
lese und erzeugt den Impuls FS6.
er Impuls FS6 sucht über das ODER-Glied 819 und die Lei-•tung 820 das Suchregister SR1 auf eine Übereinstimmung mit der Seitenzahl in der E/A-Station durch öffnen des Tores 524 über die Leitung 820 ab, um die Seitenzahl im Vergleicher 530 einzugeben. Er öffnet die Tore 532 und 542, um die Gleichheit zu prüfen. Bei Ungleichheit wird SS622 durch einen Impuls auf der Leitung 542a geschaltet und der Impuls FS7 erzeugt.
Per Impuls FS7 prüft über das ODER-Glied 821 und die Leitung 822 das Suchregister SR2 auf eine Übereinstimmung durch öffnen der Tore 526, 534 und 544. Ein Signal für Nichtübereinstimmung auf der Leitung 544a schaltet SS624 und erzeugt den Impuls FS8, um das Suchregister SR3 genauso zu prüfen wie in den beiden vorhergehenden Fällen. Wenn eine Diskrepanz des Registers SR3 z.Zt. FS8 festgestellt wird, wird die Leitung 546a erregt und betätigt das ODER-Glied 614 zur erneuten Erzeugung der Impulse FS2, FS3 und FS4 im CPG616.
Wenn z.Zt. FS6 der Inhalt des Suchregisters SR1 mit der Seitenzahl an der E/A-Station übereinstimmt, wird die Leitung 532a erregt, um SS626 zu schalten zur Erzeugung des Impulses FS9. Dieser Signalimpuls geht über das ODER-Glied 805 und die Leitung 806 zur CPU und öffnet das Tor 502 über das Tor 811 und die Leitung 812, um die neue Seitenzahl einzugeben. Er setzt außerdem im Regsiter 508a das Markierungsbit auf Null. Das ODER-Glied 811 spricht auf fünf Taktimpulse für die Steuerung an. Wie schon gesagt, kann jede Seiteneintragung zur Eintragung einer Leerseitenzahl im Suchregister führen. Die für die Seiteneintragung in das Suchregister SR1 z.Zt. L1 beschriebene Operation ist dieselbe für die Eintragung z.Zt. FS9. Eine ungültige Seitenzahl würde das Register 508c auf Null zurückstellen.
YO 973 021
R09826/0816
Eine gefundene Seite wird zur Zeit FS10 im Suchregister SR2 genauso ersetzt, wie das Tor 524 die Eintragung bewirkt. Das Register SR3 wird zur Zeit FS11 über das ODER-Glied 815, die Leitung 816, das ODER-Glied 558 und das Tor 506 neu geladen. Die monostabilen Kippschaltungen 626, 628 und 630 liefern die Impulse FS9, FS10 und FS11, wenn sie durch Übereinstimmungssignale auf den entsprechenden Leitungen 532a, 534a oder 536a geschaltet werden.
Zu einer Übereinstimmung in einem der Register SR1, SR2 oder SR3 gehört auch das Auslesen der dann in der E/A-Station stehenden Seite und die Erzeugung des Impulses FS12 durch Schaltung von FS634. Der Impuls FS12 öffnet das Tor 89 (Fig. 1), um die Seitendaten an die CPU zu leiten. Außerdem setzt er das Übereinstimmungs-Flipflop 608 auf Eins, um bei der nächsten Verschiebung in das Schleifenregister zu laufen. Das Ende von · FS12 gibt den Programmlauf an den vorher beschriebenen Test- j zyklus T1 bis T6 über das ODER-Glied 614 zurück. FS12 erzeugt ι diese Steuerung durch einen Impuls auf der Leitung 634a.
Die erste gefundene Seite wird z.Zt. VS2 von der E/A-Station in das PR4 geschoben, während die nächstfolgende Seite in die E/A-Station geschoben wird. Gleichzeitig damit wird das Eins-Markierungsbit in das Schleifensteuerregister LC4 geschoben. Der Impuls FS3 löst eine innere Verschiebung in der Schieberegisterstufe und in den Stufen des Schleifensteuerregisters aus. Außerdem stellt er das Übereinstimmungs-Flipflop 608 zurück.
JDie Operationsfolge während der Impulse FS2 bis FS8 wird wiedei !holt, bis eine zweite Übereinstimmung gefunden wird. Die nachfolgende Verschiebung innerhalb der Stufen hat inzwischen die zuerst gefundene Seite von PR4 nach PR3 und schließlich nach
PR1 verschoben, während das Eins-Markierungsbit von LC4 nach |LC3, LC2 und schließlich LC1 gesetzt wurde.
YO 973 021
809826/G81S
; i
Wenn in LC1 ein Einerbit steht, liefert der Inverter 352 kein j Ausgangssignal mehr und schaltet somit das UND-Glied 301 ' lab, um eine Verschiebung der zuerst gefundenen Seite aus dem PR5 zu verhindern, das jetzt umgangen wird. Die Eins im LC1 : zusammen mit einer Null im LC2 öffnet das UND-Glied 360 und ' liefert einen B-Leitimpuls an die Parkregister, gemäß Darstellung in Tabelle 1.
Wenn z.Zt. FS5, FS6 oder FS7 die zweite Übereinstimmung gefunden und die Seite im Suchregister mit einem angehängten Null-Markierungsbit ausgetauscht wurde, wird sie an die CPU ausgelesen, das Ubereinstimmungs-Flipflop geschaltet und die als zweite gefundene Seite in das PR4 gesetzt und das Markierungsbit wird in LC4 gesetzt. Nachfolgende Verschiebungen verschieben die Seite und das Markierungsbit nach PR2 bzw. LC2, wo die Schleife in die C-Schleife verschoben wird, um die Seite zu parken. Auf ähnliche Weise wird die dritte Seite gefunden und in PR4 gesetzt, während ihr Markierungsbit nach LC4 gesetzt wird. Das geschieht z.Zt. FS2 nach einer FS12-
! ι
Steuerung mit einem dazwischenliegenden Testzyklus. Wenn | jetzt jedoch die Markierungsbits z.Zt. FS4 abgefragt werden, liefert das ODER-Glied 514 kein Ausgangssignal, um die Leitung 522 zu erregen und erzeugt im CPG 636 die Impulse FS13 und FS14. Diese Impulse schieben die dritte gefundene Seite von PR4 nach PR3 und das Markierungsbit nach LC4. Damit ist sichergestellt, daß die geparkten Daten voll verdichtet sind, bevor der Rückwärtslauf beginnt.
Die Rückwärtssuche beginnt nach dem oben beschriebenen Testzyklus. Das Ende von FS14 betätigt das ODER-Glied 638 zur Einleitung des Prüfzyklus. Am Ende schaltet der Impuls auf der Leitung 844 die erste der drei monostabilen Kippschaltungen in CPG 640, um nacheinander die Impulse RS1, RS2 und RS3 zu erzeugen. Der Impuls RS3 erniedrigt über das ODER-Glied 807 und die Leitung 808 den Inhalt des Schiebezählers 503, gibt einen Rückwärtsschiebeimpuls an das Schieberegister
YO 973 021 ---.-. . —
R09826/0818
102 und betätigt alle UND-Glieder 311, 313, 315, 315, 319, 331, 333, 335 und 337 zum Durchleiten der Rückwärtsimpulse an die Parkregistertore. Da bei der Vorwärtssuche drei Seiten gefunden und geparkt wurden, wird die Rückwärtsschleife I so betätigt, daß nur SR102, PR4 und die E/A-Station in der Schleife liegen. Die Markierung in den Ladesteuerregistern wird niemals rückwärts bewegt. Die drei Einer-Markierungsbits bleiben in LC1, LC2 und LC3 und steuern die Rückwärtsschleifentore so, wie es oben im Zusammenhang mit den Tabellen beschrieben wurde.
Der Impuls RS2 betätigt das ODER-Glied 803 für die interne Schiebesteuerung auf der Leitung 804 für den Speicher, die Parkregister und die Ladesteuerregister. Unmittelbar danach, ohne dazwischenliegende Schaltung, öffnet der Impuls RS3 das Tor 509 (Tig. 3C), um auf die Zahl 5 im Schiebezähler 503 abzufragen. Wenn die Zahl 5 ist, geht ein Potential auf die Leitung 509b, sonst auf die Leitung 509a.
Es wird angenommen, daß die Suchrichtung gerade umgekehrt wurde und die Daten im Schieberegister nicht innerhalb von fünf Positionen vom Kopf des Stapels liegen und daß noch ein Parkregister zur Verfügung steht. Daher erhält die Leitung j 509a z.Zt. RS3 ein Potential, schaltet SS641 und ergibt den Impuls RS4. Dieser öffnet das Tor 38G (Fig. 3Π) zum Prüfen dos UND-Gliedes 3GG auf lauter Einsen (Parkregister voll) oder nicht lauter Einsen über den Inverter 388 zur Erzeugung eines Ausganges auf der Leitung 392 (voll) oder 390 (nicht vollj) Da angenommen wird, daß noch Platz ist, erhält die Leitung ein Potential zum Schalten von SS 642 und Erzeugen des Impulses RS5. Die Bedingung der vollen Parkregister wird später behandelt.
Da angenommen wurde, daß noch ein Parkregister frei ist und der Kopf der Datei noch nicht näherungsweise erreicht wurde
YO 973 O21
H Π q P ? R / Π R 1 fi
(Schieberegisterzahl größer als 5), fragen die Impulse RS5, RS6 und RS7 nacheinander die Suchregister SR1, SR2 und SR3 auf eine Übereinstimmung mit den Daten in der E/A-Station ab. Durch einen Impuls auf der Leitung 820 vom ODER-Glied 819 wird das Tor 524 geöffnet, wenn RS5 aktiv ist, um die Tore 533 und 539 zur Eingabe der Seitenzahl von SR1 in den Vergleicher 530 und Leiten der Impulse gleich oder nicht gleich, geöffnet. Bei einem Prüfergebnis "nicht gleich" z. Zt. RS5 wird RS6 eingeleitet und ein "nicht gleich"-Ergebnis bei RS6 leitet RS7 in derselben Reihenfolge ein, wie die Impulse FS6, FS7 und FS8 während der Vorwärtssuche eingeleitet wurden. Eine Folge von drei Nichtübereinstimmungen erzeugt eine Endausgabe bei RS7 auf der Leitung 543a, die den Rückwärtssuchzyklus wieder z.Zt. RS1 über das ODER-Glied 638 einleitet. Diese Schleife läuft weiter, bis eine Übereinstimmung gefunden wird oder der Schiebezähler gleich 5 ist, wenn er z.Zt. RS3 abgefragt wird. Diese Bedingung tritt ein, wenn alle Seiten in den Suchregistern in einer Position in der Datei stehen, die oberhalb des Drehpunktes liegt, oder überhaupt nicht in der Datei stehen.
Wenn eines der Suchregister denselben Inhalt hat wie die E/A-Station, geht der Zyklus weiter nach RS8, RS9 oder RS10, um die gefundene Seitenzahl im Suchregister auszutauschen, was der CPU durch ein Signal auf der Leitung 806 angezeigt wird. Da die Impulse RS8, RS9 und RS10 dieselbe Funktion haben wie ihre Gegenstücke FS9, FS10 und FS11 bei der Vorwärtssuche, werden sie mit diesen Impulsen in den ODER-Gliedern 811, 813 und 815 entsprechend verknüpft zur Erzeugung der Austauschsteuerungen für SR1, SR2 bzw. SR3. Wenn diese Impulse enden, schaltet ein Impuls vom ODER-Glied 654 die SS 656 und erzeugt den Impuls RS11. Dieser betätigt wie der Impuls FS 12 das ODER-Glied 817 und (ILe Leitung 818 zum öffnen des Tores 79 (Fig. 1), um die Daten der E/A-Station an dLe CPU zu leiten, und setzt eine ElLns in
YO 97J 021
das Übereinstimmungs-Flipflop 308 (Fig. 3A).
Die so gefundene Seite muß jetzt im Parkregister PR4 geparkt werden. Das Ende des Impulses RS11 schaltet CPG 658 zur Erzeugung der Impulse RS12 und RS13, die einen Vorwärts-Schiebeimpuls innerhalb der Stufen liefern, begleitet von einer Zählererhöhung und einem Schiebeimpuls zwischen den Stufen, begleitet von einer Rückstellung des Übereinstimmungs-Flipflop. Der Impuls RS12 betätigt das ODER-Glied 801 für die erste Funktion und der Impuls RS13 das ODER-Glied 803 für die zweite Funktion.
Die Parkregister sind jetzt voll und eine Rückwärtsverschiebung ohne Vergleich sollte folgen, um die vier gefundenen Seiten an den Kopf der Datei zu setzen. Die Rückwärtsverschiebung in der J-Schleife (siehe Tabelle 1) läuft weiter, bis die Seite 0 die letzte Position im Gchieberegisterspeicher belegt, was einer Zahl 5 im Schieberegisterzähler entspricht. Am Ende des Impulses RS13 erzeugt daher der Impuls auf der Leitung 656a über das ODER-Glied 638 die Impulsfolge RS1, RS2, RS3. Wie oben beschrieben, erzeugt der Impuls RS1 eine Rückwärtsverschiebung und setzt den Inhalt des Schiebezählers herunter. RS2 sorgt für die interne Verschiebung und stellt das Übereinstimmungs-Flipflop zurück. Z.Zt. RR3 wird der Schiebezähler wie vorher beschrieben, auf 5 abgefragt. Im Augenblick wird angenommen, daß er keine 5 enthält, so daß auf der Leitung 509a kein Signal zum Umschalten der monostabilen Kippschaltung 641 liegt, so daß der Impuls RS4 erzeugt wird.
Das Prüfen der Ladesteuerregister z.Zt. RS4 durch das Tor erzeugt eine Vollanzeigc auf der Leitung 392, die über das ODER-Glied 638 wieder den Impuls RS1 einleitet. Verschiebung und Prüfung des Schiebezählers werden wiederholt, bis die Prüfung bei RS3 ein SL<jnaL " = 5" auf der Leitung 509b erzeugt.
YO 97 3 O21
HO'18 ?R / ΠΠ 1Π
Dor Impuls auf der Leitung 5O9b betätigt den Taktpulsgenerator GG6 zur Erzeugung der Parkimpulse P1 bis P11 in ununterbrochener Folge. Die ungeraden Impulse (außer PI1) sorgen für eine Rückwärtsverschiebung der Daten innerhalb der Stufen und die geraden für eine Verschiebung innerhalb der Stufen von insgesamt fünf Verschiebungen. Während dieser Verschiebungen werden die vier gefundenen Seiten aus den Parkregistern in die E/AStation und den Schieberegisterspeicher geschoben, gefolgt von der Seite 0 und vier Leerseitenpositionen. Während dieser fünf Verschiebungen muß die Schleife "F" aktiviert werden. Außer in diesem Sonderfall umgehen die Schleifensteuerregister normalerweise die Parkregister. Um das zu Verhindern, wenn die Parkregister leer gemacht werden sollen, setzt RS13 das Park-Flipflop 658 auf Eins und erregt so die Leitung 658a, die das in Fig. 3 gezeigte Tor 659 sperrt, damit die binäre Eins im LC1 als binäre Null in der Schleifensteuerlogik erscheint. Aus Tabelle 3 geht hervor, daß die Registerkombinationen mit LC1 = 0 alle eine A- oder eine F-Schleifensteuerung erzeugen. Die fünf Datenverschiebungsimpulse P1, P3, P5 und P7 gehen alle an das ODER-Glied 807 zur Erregung der Leitung 808, um so die UND-Glieder 311, 313, 333, 335 und 337 sowie die Leitungen 111, 131, 133, 135 und 137 zu aktivieren, um die Tore 130, 134, 138, 142, 146 und 150 zur Schleife F zu öffnen. Diese Schleife bleibt: für die Dauer des Dewegungsunterzyklus bestehen.
Arn Ende von ΓΊ1 steht die Seite O in der E/A-Station und die oberen vier Seiten des Schieberegisterspeichers enthalten die letzten vier gefundenen Seiten. Die Suchregister können die Zahlen gültiger Seiten enthalten, die noch gesucht werden. Enthalten sie solche Zahlen, führt die Leitung 11 ein Signal. P11 wird daher im UND-Glied 668 mit dem Potential auf der Leitung 11 kombiniert zur Erzeugung eines Neustartimpulses auf der Leitung 670. Das ODER-Glied 610 empfängt diesen Impuls um eine Vorwärtssuche z.Zt. FS1 einzuleiten, die genauso abläuft, wie oben beschrieben wurde.
YO 973 021
Wenn die Leitung 11 tot ist, wird auch kein Impuls zum Starten einer neuen Vorwärtssuche auf die Leitung 670 gegeben. Das Speichersystem wartet daher auf eine neue Erregung der Leitung 11, um in den Ladeunterzyklus zu gehen, z.Zt. L1 und die Suche neu zu aktivieren.
Um die erneute Aktivierung der Leitung 11 somit die Einleitung von L1 Taktimpulsen in Widerspruch zu anderen Steuerungen einzuleiten, wird am Ende von P11 das Flipflop 861 geschaltet (Fig. 7C). Z.Zt. L2 wird es zurückgestellt. Der Ladezyklus L1, L2 und L3 kann somit nur nach vollständiger Beendigung aller T-Zyklen weiterlaufen. Einzelne Test- und Ladezyklen, wie oben im Zusammenhang mit den Taktimpulsen T1 bis T7 beschrieben, können am Anfang der Vorwärts- oder Rückwärtssuchzyklen auftreten.
In der obigen Beschreibung wurde angenommen, daß alle drei in den Suchregistern zu Anfang der Vorwärtssuche stehenden Seiten im Speicher standen und gefunden und an die CPU ausgelesen wurden. Das geschieht durch Änderung des Markierungsbits in jedem Suchregister von Eins auf Null, wenn die Seite gefunden ist und eine neue Seite eingesetzt wird. Eine oder mehr Seiten können jedoch im Speicher fehlen. Die Steuerungen suchen dann die ganze Datei ohne Erfolg ab. Dabei wird angenommen, daß eine von Null verschiedene Seitenzahl im Speicher nicht vorhanden ist.
Der Schiebezähler 503 erregt daher die Leitung 5O3n, wenn das Ende der Datei erreicht ist. Wenn der Zähler ein η Bitzähler ist und es sich um 2n Speicherwörter handelt, ist das Ausgangssignal auf der Leitung 5O3n die Ausgabe der nächstfolgenden Zählerstufe. Bei der Abfrage z.Zt. FS5 gibt das Tor 519 ein Ausgangssignal auf die Leitung 519a zur Einleitung eines Fehlerzyklus durch Schalten von SS 672 zur Erzeugung! des Impulses F1. Dieser und die folgenden Pulse prüfen nach- ι
YO 973 021
R09B26/D8 1 fi
einander die Markierungsbitregister auf Einsen. Jede mit einer Eins markierte Seitenzahl wird an die CPU zurückgelesen und dafür eine neue Seite eingesetzt. Alle fehlerhaften Seiten werden somit entfernt.
Der Impuls F1 öffnet insbesondere das Tor 545 (Fig. 5) zur Erzeugung einer Eins-Antwort auf der Leitung 545b oder der Antwort "keine Eins" auf der Leitung 545a. Das Antwortsignal "keine Eins" auf der Leitung 545a schaltet über das ODER-Glied 678 die SS 680 zur Erzeugung des Impulses F4, um das Markierungsregister 510a über das Tor 547 zu prüfen. Durch das Antwortsignale "keine Eins" auf der Leitung 547a wird die Prüfung an das dritte Register über das ODER-Glied 684, SS 686, F7 und das Tor 549 verschoben. Wenn auf der Leitung 549a das Antwortsignale "keine Eins" erscheint, wird SS 692 geschaltet und der Impuls F10 erzeugt. Dieser und die nächsten zwei Impulse prüfen die Daten auf Verdichtung vor Einleitung einer Rückwärtssuche. Da die Vorwärtssuche keine, eine oder zwei der gesuchten Seiten gefunden haben kann, müssen gefundene Seiten in den Parkregistern PR1 oder PR1 und PR2 gespeichert werden. F10 öffnet daher das Tor 397 (Fig. 3B) zur Erzeugung eines Verdichtungssignales auf der Leitung 398 oder eines Nichtverdichtungssignales auf der Leitung 399.
Die Daten sind nicht richtig verdichtet, wenn LC1, LC2, LC3 und LC4 eine der folgenden Bitkombinationen enthalten:
LC1 0 0 0 0 0 0 1 1 0 1 1
LC2 1 1 1 1 0 0 0 0 0 0 1
LC3 0 0 1 1 1 1 1 1 0 0 0
LC4 0 1 0 1 0 1 0 1 1 1 1
Die erste Gruppe von vier Kombinationen hat LC1 = 0 und LC2 = gemeinsam. In der zweiten Gruppe sind LC2 = 0 und LC3 = 1 gemeinsam. Die dritte Gruppe hat LC3 = 0 und LC4 = 1 gemeinsam. YO 973 021
809826/0816
Die verbleibenden Kombinationen:
LC1 0 1111
LC2 0 0 111
LC3 0 0 0 11
LC4 0 0 0 0 0
stellen verdichtete Datenkombinationen dar, in denen über den vollen Registern keine leeren Register existieren. In Fig. 3B werden daher die drei verschiedenen Kombinationen in den drei UND-Gliedern 393, 394 und 395 abgefühlt, wobei das erste UND-Glied LC1 = 0 und LC2 = 1, das zweite LC2 = 0 und LC3 = und das dritte LC3 = 0 und LC4 = 1 abfühlt. Keine der verdichteten Kombinationen erfüllt diese Beziehungen.
Diese Kombinationen werden z.Zt. F10 über das Tor 397 geprüft, das ein Ausgangssignal 'verdichtet" auf der Leitung 398 oder über den Inverter und das ODER-Glied 397 ein Ausgangssignal "nicht verdichtet" auf der Leitung 399 erzeugt.
Das Ausgangssignal "nicht verdichtet" auf der Leitung 399 betätigt CPG 694 zur Erzeugung der Impulse F11 und F12, die über die ODER-Glieder 801 und 803 den Vorwärtsschiebeimpuls zwischen den Stufen, der auch den Schiebezähler erhöht und den Zwischenstufen-Schiebeimpuls erzeugen. Das Ende von F12 gibt die Steuerung an F10 über das ODER-Glied 690 zurück, um wieder auf Verdichtung zu prüfen. Dieser Vorgang geht weiter, bis die Daten verdichtet sind und die Leitung 398 ein Signal zur Einleitung einer Rückwärtssuche durch Potentialisierung des ODER-Gliedes 638 führt.
Wenn eines der Suchregister eine Eins registriert hatte, würde eine neue Seite von der CPU angefordert. Z.Zt. F1 würde ein Signal auf der Leitung 545b die Impulse F2 und F3 im CPG 674
YO 973 021
809826/0816
einleiten. Der Impuls F2 öffnet das Tor 701, um die Seitenzahl vom SR1 über das Kabel 21 an die CPO zu leiten und anschließend diese über das Tor 502, das durch ein Signal auf der Leitung 812 geöffnet ist sowie über die ODER-Glieder 548 und 811 zu ersetzen, eingeleitet durch F3.
Das Ende des Impulses F3 betätigt das ODER-Glied 678 zur Erzeugung des Impulses F4 über das ODER-Glied 678. Wenn F4 das SR2 auf eine Eins abfragt (Impuls auf der Leitung 547b), dann Lesen F5 und F6 die fehlerhafte Seitennummer an die CPU aus und eine neue Seitennummer ein. Die Impulse F8 und F9 sind bei Bedarf zur Steuerung des dritten Registers. Alle neuen Eintragungen stellen die Markierungsbits über Signale auf den Leitungen 812, 814 oder 816 zurück, die von den ODER-Gliedern 811, 813 bzw. 815 ein Potential erhalten, die das Laden von SR1, SR2 und SR3 und die Rückstellung der Markierungsbits auf Null steuern.
Außer dem Leerlauf, der am Ende von P11 auftreten kann, wenn die Leitung 11 kein Potential führt, werden die Markierungsbits nur auf Eins gesetzt, wenn eine gültige Seitenzahl in den Suchregistern steht. Dadurch sucht das Gerät nur eine Seite tief in die Dartei hinein, wenn alle Suchregister die Seitenzahl Null haben. Sobald die Suchregister geprüft und dabei lauter Nullen gefunden werden, wird die Rückwärtssuche eingeleitet. Dieser Wechsel zwischen Vorwärts- und Rückwärtssuche geht weiter, bis die Leitung 11 ein Signal erhält und die CPU eine neue und gültige Seite zur Suche liefert.
Zusammenfassung der Arbeitsweise
Mehrere Seiten werden am Anfang in die Suchregister gegeben, wenn der Kopf der Datei (Seite 0) die E/A-Station belegt. Sie werden mit einem Eins-Markierungsbit markiert. Die Steuerschaltungen schieben alle Seiten im Speicher durch die E/A-
YO 973 021
809826/0816

Claims (9)

  1. /756765
    PATENTANSPRÜCHE
    Schaltung zur Umordnung der Reihenfolge von in einem seriellen Speicher gespeicherten Daten mit Hilfe von Schieberegistern zur Links- und Rechtsverschiebung, Zählern und einem logischen Netzwerk zur Steuerung und überwachung, dadurch gekennzeichnet, daß die an einer Suchstation vorbeilaufenden Daten seriell auf Übereinstimmung mit einem von mehreren Suchkriterien während jeder von zwei Suchrichtungen untersucht werden, daß ein Parkregister vorhanden ist, in das die während einer Suche gefundene Seite gesetzt wird, während andere Daten auf einer Hauptleitung vorbeilaufen.
  2. 2. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Seitenzahl während des Einschiebens jeder Seite in die Eingabe-/Ausgabestation des Schieberegisterspeichers (40) an einen Vergleicher (60) gegeben wird, der zum Vergleich der Seitenzahlen mit einem Suchregister (30) verbunden ist und bei keiner Übereinstimmung veranlaßt, daß die nächste Seite in die Eingabe-/Ausgabestation geschoben wird bis eine Übereinstimmung erfolgt, worauf die übereinstimmende Seite über eine Leitung (80) an eine Datenverarbeitungsanlage (10) geleitet wird.
  3. 3. Schaltungsanordnung nach den Ansprüchen 1 und 2, dadurch gekennzeichnet, daß ein gefundenes Wort in eines der Parkregister geschoben und festgehalten wird, bis der Kopf einer Datei sich der Eingabe-/Ausgabe-Station nähert, so daß alle gefundenen Wörter zum Kopf der Datei bewegt werden können und daß eine Richtungs-Schleifensteuerschaltung (90) das Leiten der Daten in die und aus den Parkregistern zur Umordnung der Seitenfolge steuert, um die zuletzt gefundenen Seiten
    YO 973 021
    809826/0816
    ORIGINAL INSPECTED
    -2- r/56765
    an den Kopf der Datei zu setzen und die Suchrichtung festzulegen.
  4. 4. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Schleifen-Richtungssteuerschaltung (9O) einen Übereins tirrunungszähler enthält, der die Suche stoppt, wenn die Anzahl der gefundenen Seiten die Kapazität der Parkregister erreicht, daß außerdem ein Schiebezähler angeordnet ist, der synchron mit jeder Vorwärts- und Rückwärtsverschiebung des Schieberegisterspeichers (40) erhöht bzw. erniedrigt wird und immer dann Null registriert, wenn der Kopf einer Datei (Seite
    0) in der Eingabe-/Ausgabe-Station steht, während er überläuft, wenn das Ende der Datei erreicht ist.
  5. 5. Schaltungsanordnung nach Anspruch 4, dadurch gekennzeichnet, daß zur Verfolgung gefundener Seiten in den Parkregistern ein weiteres Schieberegister angeordnet ist, das Torschaltungen steuert, um Daten in die bzw. aus den Parkregistern zu leiten und den Kopf einer Datei abzuwarten.
  6. 6. Schaltungsanordnung nach den Ansprüchen 1 bis 5, dadurch gekennzeichnet, daß den Parkregistern (PR1, PR2 usw.) und der Eingabe-/Ausgabe-Station eine Leitung (15) zugeordnet ist, die ein Bit entweder von jedem Parkregister oder von der Ein-/Ausgabestation empfangen kann und Schleifen bildet, wobei innerhalb einer Schleife immer eine Eingabe-/Ausgabe-Station und ein Schieberegister (102) liegen.
  7. 7. Schaltungsanordnung nach den Ansprüchen 1 bis 6, dadurch gekennzeichnet, daß zu Beginn der Vorwärtssuche, wenn
    alle gefundenen Seiten an dem Kopf einer Datei gesetzt wurden, alle Seiten in der Schleife verschoben werden,
    YO 973 021
    909826/081*
    daß die Verschiebung solange weitergeht, bis die erste Seite gefunden und in das Parkregister (PR1) eingelaufen ist, daß dieses Register dann aus der Schleife abgeschaltet und eine weitere Schleife aktiviert wird, bis die zweite gefundene Seite in ein zweites Parkregister (PR2) eingelaufen ist.
  8. 8. Schaltungsanordnung nach Anspruch 7, dadurch gekennzeichnet, daß bei Belegung aller vorhandenen Parkregister (PR1 bis 3) die Suchrichtung umgekehrt wird, wonach mit der Rückwärtssuche begonnen wird, bei der eine weitere Seite oder mehrere Seiten, nämlich so viel wie Parkregister leer sind, gefunden werden.
  9. 9. Schaltungsanordnung nach den Ansprüchen 1 bis 8, dadurch gekennzeichnet, daß ein modifiziertes Schieberegister vorhanden ist, das den Fortlauf der gefundenen Seiten durch die Parkregister verfolgt und Torsteuersignale zum Parken der gefundenen Seiten und Umgehen der übrigen Seiten liefert und daß jedesmal wenn eine gewünschte Seite gefunden wird, in die unterste der vier Stufen eines Schleifensteuerregisters eine binäre Eins gesetzt wird, während die Seite in Vorwärtsrichtung von der Eingabe-/Ausgabe-Station, wo sie gefunden wurde, in das entsprechende Parkregister (PR4) geschoben wird.
    YO 973 O21
    H09826/081Ä
DE19772756765 1976-12-20 1977-12-20 Schaltung zur umordnung der reihenfolge von in einem seriellen speicher gespeicherten daten Withdrawn DE2756765A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/752,752 US4052704A (en) 1976-12-20 1976-12-20 Apparatus for reordering the sequence of data stored in a serial memory

Publications (1)

Publication Number Publication Date
DE2756765A1 true DE2756765A1 (de) 1978-06-29

Family

ID=25027686

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19772756765 Withdrawn DE2756765A1 (de) 1976-12-20 1977-12-20 Schaltung zur umordnung der reihenfolge von in einem seriellen speicher gespeicherten daten

Country Status (5)

Country Link
US (1) US4052704A (de)
JP (1) JPS5821309B2 (de)
DE (1) DE2756765A1 (de)
FR (1) FR2374686A1 (de)
GB (1) GB1555927A (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4481608A (en) * 1979-12-26 1984-11-06 Varian Associates, Inc. Reentrant asynchronous FIFO
US4467411A (en) * 1981-03-06 1984-08-21 International Business Machines Corporation Scheduling device operations in a buffered peripheral subsystem
US4464732A (en) * 1982-03-19 1984-08-07 Honeywell Inc. Prioritized sorting system
US5611068A (en) * 1994-12-27 1997-03-11 Motorola, Inc. Apparatus and method for controlling pipelined data transfer scheme between stages employing shift register and associated addressing mechanism
US5857101A (en) * 1997-04-15 1999-01-05 Acceleration Software International Corporation Program lunch acceleration
US5933630A (en) * 1997-06-13 1999-08-03 Acceleration Software International Corporation Program launch acceleration using ram cache
US20030235298A1 (en) * 2002-06-25 2003-12-25 Bedros Hanounik Shifting an encryption key in either a first or second direction via a uni-directional shifting unit
JP5439236B2 (ja) * 2010-03-12 2014-03-12 株式会社日立製作所 計算機システムおよびアプリケーションプログラムの実行方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1424706C3 (de) * 1960-08-22 1973-11-29 International Business Machines Corp., Armonk, N.Y. (V.St.A.) Suchvorrichtung zum Auffinden von Informationen aus ungeordnet zugefuhrten Informationsfolgen
US3310782A (en) * 1963-02-27 1967-03-21 Ultronic Systems Corp Data message system
US3704452A (en) * 1970-12-31 1972-11-28 Ibm Shift register storage unit
US3766534A (en) * 1972-11-15 1973-10-16 Ibm Shift register storage unit with multi-dimensional dynamic ordering
US3797002A (en) * 1972-11-16 1974-03-12 Ibm Dynamically double ordered shift register memory

Also Published As

Publication number Publication date
FR2374686B1 (de) 1981-05-29
US4052704A (en) 1977-10-04
GB1555927A (en) 1979-11-14
JPS5376633A (en) 1978-07-07
JPS5821309B2 (ja) 1983-04-28
FR2374686A1 (fr) 1978-07-13

Similar Documents

Publication Publication Date Title
DE3855213T2 (de) Datenbanksystem und Verfahren für den gleichzeitigen Satzzugriff mit Hilfe eines Baumstrukturindexes
DE69533193T2 (de) Paralleles verarbeitungssystem zum durchlaufen einer datenbank
DE2212873C3 (de) Aus Schieberegistern aufgebaute Speichereinrichtung und Verfahren zum Betrieb der Speichereinrichtung
DE2044711A1 (de) Datenverarbeitungsverfahren und System zu seiner Durchfuhrung
DE2809623A1 (de) Verfahren und vorrichtung zur assoziativen informationswiedergewinnung
DE2914132A1 (de) Datenbanksystem mit informationsvergleich
DE3327379A1 (de) Einrichtung und verfahren zum umordnen von datensaetzen
DE1449544A1 (de) Datenverarbeitende Maschine mit ueberlappend abrufbarem Speicherwerk
DE2756765A1 (de) Schaltung zur umordnung der reihenfolge von in einem seriellen speicher gespeicherten daten
DE69517887T2 (de) Verfahren und System zum Herstellen von Verbindungen in einem Datenbanksystem
DE2750400A1 (de) Schaltungsanordnung fuer das mit dem laden und abrufen von datensaetzen ueberlappende sortieren von datensaetzen
DE1171650B (de) Maschine zur serienmaessigen Verarbeitung von Daten in binaerer Zeichenverschluesselung
DE2136270A1 (de) Verfahren und Vergleicher zum Vergleich zweier Binärzahlen
DE69326712T2 (de) Datenpuffersystem
DE1096086B (de) System zum Zusammenfassen vorsortierter Informationen
DE69012820T2 (de) Nicht-besetzt-wartezustandsmittelsteuerung.
DE1524006B2 (de) Vorrichtung zum erhoehen der informationsuebergaberate eines speichers
DE1524878A1 (de) Verfahren zum Erzeugen von Steuersignalen fuer die Steuerung adressierbarer Speicher
DE2649147A1 (de) Assoziativspeicher
DE1211005B (de) Vorrichtung zur Ermittlung von Speicheradressen
DE2525439C2 (de) Speicher hoher Kapazität für ein programmgesteuertes Informationsverarbeitungssystem
DE2605344C3 (de) Assoziativspeicher
DE2226856A1 (de) Stapelspeicher mit Anzeige der Überschreitung oder des Überlaufs für die Übertragung von Daten in der chronologischen Reihenfolge ihrer Eingabe
DE1524006C (de) Vorrichtung zum Erhöhen der Informationsübergaberate eines Speichers
DE1449449C (de) Assoziativer Informationsspeicher

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee