DE1474042C3 - Datenspeichersystem zur Ein- und Ausspeicherung von in Ketten zusammengefaßten Daten unterschiedlicher Feldlänge - Google Patents

Datenspeichersystem zur Ein- und Ausspeicherung von in Ketten zusammengefaßten Daten unterschiedlicher Feldlänge

Info

Publication number
DE1474042C3
DE1474042C3 DE1474042A DE1474042A DE1474042C3 DE 1474042 C3 DE1474042 C3 DE 1474042C3 DE 1474042 A DE1474042 A DE 1474042A DE 1474042 A DE1474042 A DE 1474042A DE 1474042 C3 DE1474042 C3 DE 1474042C3
Authority
DE
Germany
Prior art keywords
data
memory
address
level
word
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE1474042A
Other languages
English (en)
Other versions
DE1474042A1 (de
DE1474042B2 (de
Inventor
Alvin Paul Chappaqua Mullery
Ralph Floyd Putnam Valley Schauer
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 DE1474042A1 publication Critical patent/DE1474042A1/de
Publication of DE1474042B2 publication Critical patent/DE1474042B2/de
Application granted granted Critical
Publication of DE1474042C3 publication Critical patent/DE1474042C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9017Indexing; Data structures therefor; Storage structures using directory or table look-up
    • G06F16/902Indexing; Data structures therefor; Storage structures using directory or table look-up using more than one table in sequence, i.e. systems with three or more layers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • 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/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • 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/99951File or database maintenance
    • Y10S707/99956File allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

Die Erfindung betrifft ein Datenspeichersystem zur Ein- und Ausspeicherung von in Ketten zusammengefaßten Daten unterschiedlicher Feldlänge, wobei die Ketten unter sich eine hierarchische Ordnung besitzen und ein Hilfsspeicher zur Aufnahme der Unterbrechungsadressen verwendet wird..
3 : ■ 4
Bei den meisten heute üblichen Datenspeichern doch betreffend eine Datenkette mit anderen Datenkönnen die Daten in der Form, wie sie tatsächlich bedingungen,
auftauchen, nicht unmittelbar aufgenommen werden. Fig. 5 ebenfalls tabellarisch das Löschen eines Diese Speicher können im allgemeinen nur konti- Teils einer bereits existierenden Datenkette,
nuierliche Datenketten bestimmter Länge aufnehmen. 5 F i g. 6 wiederum tabellarisch eine Operation, bei Demzufolge müssen die einzuspeisenden Datenketten der eine Datenkette, in eine bereits existierende zunächst einmal durch den Programmierer in eine Datenkette eingegliedert wird, und
Form gebracht werden, in der sie von dem Daten- Fig. 7 wiederum tabellarisch eine Suchoperation, speicher aufgenommen werden können. Diese Pro- Zur Ausführung des Beispiels der Erfindung dient grammierungsarbeiten sind aber um so umfang- io im wesentlichen eine Vorrichtung zum Speichern und reicher, je enger der Speicher auf bestimmte Daten- Handhaben von nicht fortlaufenden Daten mit Mitarten, die er verarbeiten soll, festgelegt ist. teln zum Auffinden der Adresse, unter der im Speicher
Aus diesem Nachteil der bekannten Technik resul- Hl (Fig. 1) eine Unterbrechung in der Datenkette
tiert die Aufgabe der Erfindung, die darin besteht, auf tritt mit Mitteln zur Erzeugung einer Verbindungs-
einen Speicher so auszugestalten, daß gespeicherte 15 adresse in den Daten zu einer Unterbrechungsadresse
Daten unabhängig von der Reihenfolge, in der sie des nächstfolgenden Datums in dem Speicher, mit
eingespeichert werden, durch entsprechende Adres- Mitteln zur Speicherung einer Ereignismarke in einem
sierung aneinandergeknüpft werden können; ferner Hilfsspeicher Hl, wobei die Adresse in dem Hilfs-
sollen z. B. Datenketten, die bereits eingespeichert speicher Hl eine unmittelbare Beziehung zu der
sind, aufgetrennt werden können und in die so ao genannten Unterbrechungsadresse hat, mit Mitteln
geschaffenen Unterbrechungen andere Datenketten- zum gleichzeitigen Abfragen des HilfsSpeichers #2,
glieder eingefügt werden. Diese Manipulationen sollen wenn eine Datenkette abgefragt wird, um eine Unter-
dabei möglichst einfach vollziehbar sein, und die brechung in der Datenkette anzuzeigen, mit Mitteln
Datenketten sollen in' der dadurch geschaffenen zum Herausziehen der Verbindungsadresse, die in der
Reihenfolge ablesbar sein. »5 Datenkette gespeichert ist, und schließlich mit Mit-
Gelöst wird diese Aufgabe für ein Datenspeicher- teln, um das Abfragen an Hand der Verbindungssystem zur Ein- und Ausspeicherung von in Ketten adresse der betreffenden Daten fortzusetzen,
zusammengefaßten Daten unterschiedlicher Feld- Aus der nachfolgenden Beschreibung des Auslänge, wobei die Ketten unter sich eine hierarchische führungsbeispiels der Erfindung ergibt sich, daß die Ordnung besitzen und ein Hilfsspeicher zur Auf- 30 obenerwähnte Unterbrechung der Daten verschiedene nähme der Unterbrechungsadressen verwendet wird, Ursachen haben kann. Die erste dieser Ursachen liegt durch eine Einrichtung zur Feststellung der Rang- darin, daß eine Datenkette, die im Speicher Hl geordnung der durch Rangordnungssymbole gekenn- speichert werden soll, von dem in Frage stehenden zeichneten Eingabedaten, zur Zuordnung von Steuer- Speicher nicht vollständig aufgenommen werden zeichen (Niveau-, Ereignis-, Adressenfeld- und Ver- 35 kann, so daß ein Teil dieser Datenkette in einem kettungszeichen) zu diesen Daten, zum Ordnen dieser anderen nicht fortlaufenden Speicherfeld gespeichert Daten entsprechend der festgestellten Rangordnung, werden muß und eine Verbindung dorthin geschaffen zur Feststellung freier Plätze im Hauptspeicher und werden muß. Die zweite dieser Ursachen liegt darin, zur Markierung von Adressen im Hilfsspeicher, unter daß ein Datum in eine bereits existierende Datenkette denen sich im Hauptspeicher Datenwörter mit Steuer- 4° eingesetzt werden muß. Dabei tritt die Unterbrechung zeichen befinden, wobei sich diese Markierungen an der Stelle, an der das neue Datum eingesetzt auch auf Anfangsadressen von Datenfeldern beziehen werden soll, auf, und es muß eine Verbindung zu können, und schließlich durch eine Ausgabesteue- einer verfügbaren Adresse geschaffen werden, zu der rung, die die Markierungen im Hilfsspeicher absucht das Datum, das eingesetzt werden soll, gebracht wird, und durch Verkettung nicht kontinuierlich im Haupt- 45 Die dritte Ursache tritt bei einer Löschoperation auf. speicher gespeicherter Teilketten eine kontinuierliche Die Unterbrechung liegt dann am Ende des letzten Ausgabe der gewünschten Datenkette vornimmt. Maschinenwortes der Datenkette vor dem Teil der
Vorteilhafte Ausgestaltungen und Weiterbildungen Dätenkette, der gelöscht werden soll. In einem solchen des Gegenstandes der Erfindung sind den Unter- Fall ist das Datum, an das die vorhergehende Datenansprüchen zu entnehmen. 50 kette angeknüpft ist, die Fortsetzung der Datenkette,
Durch die Erfindung wird ein beträchtlicher Vorteil die gegenüber dem ersten Teil dieser Kette unterbezüglich der Ausnutzung der Speicherkapazität er- brochen ist. Dies macht eine Verbindung zu dem zu reicht, wenn es darum geht, die einzelnen Wort- löschenden Teil im Speicher erforderlich. Eine vierte Speicherplätze unabhängig von der Reihenfolge der Ursache liegt darin, daß die Unterbrechungsanzeige Propagierung und auch unabhängig von der Reihen- 55 bei einer Ersatzoperation auftritt, wenn eine neue folge, in der die Datenketten aneinandergereiht wer- Datenkette an die Stelle eines Teils einer alten Kette den sollen, zu belegen. eingesetzt werden soll, wobei der zu ersetzende Teil
Nachfolgend wird ein Ausführungsbeispiel der Er- entweder langer oder kürzer als die einzusetzende
findung an Hand der Zeichnungen erläutert. Es zeigt Kette sein kann. Wenn dabei die Speicherfelder, die
F i g. 1 im Blockschaltbild einen Datenspeicher ge- 60 vorher besetzt waren, durch das neu einzuspeisende
maß einem Ausführungsbeispiel der Erfindung, Datum belegt werden und noch weitere Daten einzu-
F ig. 2 tabellarisch die Eingabeoperation einer fügen sind, dann zeigt das System an, daß eine Unterlangen Datenkette bei einem Datenspeicher wie in brechung und eine Verbindung hergestellt werden Fig. 1, muß, da kein weiterer Speicherplatz zur Verfügung
Fig. 3 tabellarisch ähnlich wie in Fig. 2 eine Ein- 65 steht. Es wird dann eine Verbindung zu einem freien
gliederungsoperation bei dem in Fig. 1 dargestellten Speicherplatz im Speicher geschaffen, an dem der
Datenspeicher, . Rest des. genannten Datums gespeichert werden kann.
Fig. 4 eine ähnliche Darstellung wie Fig. 3, je- Außerdem wird eine zusätzliche Verbindung vom
Ende dieses Speicherfeldes zu der alten Datenkette geschaffen. Im aaderen Fall, wenn also das neu einzusetzende Datum in dem frei werdenden Speicherfeld Platz findet, wird es an der Stelle des alten
aufeinanderfolgenden Schritte, die das System für die fünf Hauptoperationen durchführen muß, veranschaulichen.
Im allgemeinen besteht jede Gruppe von Daten
Eine andere Gruppierung ist die folgende:
Feld .
Aufzeichnung
Gruppe
Block
Band
Sammlung
Bücherei
Im Zusammenhang mit Rechnern werden die Begriffe Gruppierung oder Niveau oft gebraucht an Stellen, wo Feld das unterste oder am wenigsten be
Datums gespeichert, und der durch die kürzere Länge 5 aus Ketten von Symbolen. Eine 3 · 3-Matrix z. B. des einzusetzenden Datums entstehende Zwischen- ist eine Kette von neun Symbolen. In diesem Falle raum wird durch ein Verbindungszeichen überbrückt. sind die Symbole gewöhnliche Zahlen. Aber gewöhn-Es sei hier darauf hingewiesen, daß im Rahmen Hch ist darüber hinaus noch eine Hierarchie oder der Erfindung die bekannten und üblichen drei- Gruppierung übergeordnet. Im Beispiel der Matrix dimensionalen Speicherorganisationen mit festgelegter 10 besteht die Gruppierung in Symbolen, die in Zeilen Feldlänge und auch Magnetkernspeicher verwendet enthalten sind, die ihrerseits in der Matrix enthalten werden können. Der hier behandelte Speicher ist sind. Das ist eine einfache Gruppierung. Die Spräche, standarisiert und umfaßt 128 - 128 · 64 Speicherkerne als hierarchische Ordnung betrachtet, kann folgenderentsprechend 16 884 Maschinenwörtern, wobei jedes maßen gruppiert werden: Symbole (oder Wörter) Maschinenwort 8 Bits umfaßt. Das Verfahren, nach 15 bilden Sätze, diese Absätze, diese Kapitel, diese dem der Speicher adressiert wird, um die hierarchisch Bücher, letztere Büchereien. Das Symbol ist die organisierten Speicheroperationen mit verschiedener kleinste bedeutungsvolle Gruppierung; ein Beispiel: Feldlänge durchzuführen, wird im einzelnen erläutert, der Buchstabe »b« hat keine Bedeutung, aber die es ist ferner für das Datenformat selbst von Bedeu- Buchstaben »ball« stellen einen Begriff dar und tung. Es sei jedoch darauf hingewiesen, daß der 20 bilden deshalb ein Symbol. Die vier Buchstaben Speicher und alle Steuerkreise an sich bekannt und b-a-1-1 sind Symbole für den wirklichen Ball,
üblich sind, soweit es die Treiberkreise, Adressenregister, Pufferregister, Treiber für die Speicherzellen,
Treiber für Sperrschaltungen, Verstärker u. dgl. betrifft. 25
Bei dem vorliegenden System wird ein Teil eines Speichers// (in Fig. 1) benutzt, der zu einem dreidimensionalen Speicher Hl gehört und als zweidimensionaler Speicher//2 beschrieben wird. Dieser Speicher Hl enthält eine Vielzahl von Ebenen, deren 30 besondere Funktion im folgenden beschrieben wird. Jede dieser Ebenen enthält 128 · 128 Kerne im Falle eines Kernspeichers, oder die gleiche Anzahl von ν Kernen in jeder Ebene, wie Maschinenwörter im
dreidimensionalen Speicher H1 vorgesehen sind. 35 deutungsvolle Glied der Hierarchie sein könnte. Die Demzufolge kann im zwei- und dreidimensionalen nachfolgend genannten Begriffe oder Niveaus steigen Speicher die gleiche Adresse benutzt werden, zur auf bis zu »Bücherei«, welches das höchste oder umKennzeichnung eines bestimmten Kerns in einer zwei- fassendste Glied der Gruppe ist. Wie diese Gruppiedimensionalen Speicherebene. Es ist eine Vielzahl rungen auch benannt sein mögen, sie bestehen innersolcher Kernebenen vorgesehen, von denen jede 40 halb der Daten, und sie werden bei der hier betracheinzelne dazu dient, Ereignismarken für die Identi- teten Datenorganisation durch besondere Kennmarfizierungssymbole des hierarchischen Niveaus zu kierungen bezeichnet. Diese Markierungen treten als markieren, die in dem Hauptspeicher H1 in züge- besondere Symbole in einer Datenkette auf und behörigen Maschinenwörtern gespeichert sind. Zwei zeichnen das Ende einer Gruppe und den Beginn von diesen speziellen Kernebenen dienen dazu, die 45 einer neuen. Es können viele Bezeichnungen für diese Adresse im Hauptspeicher zu bestimmen, unter der Markierungen gewählt werden; dies hängt zum Teil eine Unterbrechungs- oder Verbindungsadresse ge- ab von den Namen, die man den Gruppierungen gespeichert ist. Diese Ebenen werden als »Unter- geben hat. Um unnötige Verwirrung zu vermeiden, brechungsanzeige vorwärts« und »Unterbrechungs- werden die nachfolgend bezeichneten hierarchischen anzeige rückwärts« bezeichnet. Zur Anzeige einer 50 Niveaus während der ganzen Beschreibung benutzt; Adresse, unter der eine Markierung für eine »vor- es sei deshalb erwähnt, daß diese Bezeichnungen wärtige Unterbrechung« eingetragen ist, sind in der
Ebene für »rückwärtige Unterbrechungen« Markierungen gespeichert, oder, in anderen Worten, die
Ebene für »rückwärtige Unterbrechung« enthält eine 55
Marke für jede Adresse, die im "Hauptspeicher als
Yerbindungsadresse gespeichert ist. Der Einfachheit .
halber werden in der folgenden Beschreibung die Bezeichnungen 2-D und 3-D benutzt, um zwei- bzw.
dreidimensionale Speicherorganisationen (H2 bzw. 60
Hl) zu bezeichnen.
Zur Erleichterung des Verständnisses der Erfindung soll diese zunächst unter Berücksichtigung der hierarchischen Ordnung der Daten beschrieben werden. Dann folgt eine allgemeine Beschreibung des 65 Systemauf baus an Hand des Blockschemas der Fig. 1. Sodann folgt eine Beschreibung des Systems mit Bezug auf die Schemata der F i g. 2 bis 7, die die
keine anderen Bedeutungen haben als eine bequeme Bezeichnung für die verschiedenen i hierarchischen Niveaus.
Merkzeichen
Niveaubezeichnung
Symbol
Begriff
Satz
Absatz
Kapitel
Buch
Bücherei
Wie schon früher festgestellt, werden diese Merkzeichen zur Bezeichnung des Aufbaues einer Kette
von Daten oder Befehlen benutzt und unmittelbar in die Kette eingefügt. Das Zeichen φ soll das Ende eines Symbols und den Beginn eines neuen markieren. Diese Merkzeichen bilden eine Hierarchie insofern, als φ auch φ einschließt, eine φ schließt eine φ und eine (T) ein usw. Wenn mehr als ein Merkzeichen ohne trennende Buchstaben nebeneinanderstehen, so werden alle außer dem höchsten vernachlässigt und weggelassen.
Wenn Daten dieser Form in die Einrichtung nach F i g. 1 eingegeben werden, so wird das Auftreten der verschiedenen Niveaus oder Merkzeichen (wie φ, φ, φ usw.) in einer zu speichernden Datenkette in besonderen Zeichenebenen des Speichers vermerkt. Jedes verfügbare Maschinenwort des Hauptspeichers hat eine zugehörige Speicherzelle in jeder dieser Ebenen, in denen das Auftreten dieses besonderen Datenniveaus im Maschinenwort durch eine binäre »Eins« bezeichnet wird.
Jeder Kette von Datensymbolen kann ein Name
zugeordnet' werden, der als die höchste Niveaubezeichnung in der Datenkette betrachtet wird. Dieser Name kann aus der Kombination einer Anzahl von • Buchstaben bestehen, wie etwa die Worte Alpha, Beta oder Gamma (zur Bezeichnung bestimmter Niveaus), und weitere Niveaus der Kette werden rein numerisch bezeichnet. Die einzige Beschränkung für solche Namen ist, daß eine solche Kombination von Buchstaben nicht mehr als eine Bedeutung haben
ίο kann. Diese Namen werden in einer Namenstabelle zusammen mit ihren Adressen in einer Abteilung des Speichersystemsi/ untergebracht, und der Gebrauch des Namens durch den Programmierer bestimmt selbsttätig die Anfangsadresse für die folgende Kette.
Für den Fachmann liegt es nahe, daß auch andere Verfahren zur Bestimmung der Anfangsadresse einer Kette benutzt werden können einschließlich der absoluten Adresse selbst.
: Ein Beispiel für einen typischen Maschinenbefehl sieht folgendermaßen aus:
worin die Pfeile einfach bedeuten, daß die darauffolgende Zahl das Niveauzeichen vor dem Pfeil erläutert: so bedeutet 0f 7 die siebte φ in der Datenkette, deren Name und Adresse A ist. A, B, C und D sind Namen von Datenketten und können, wie früher festgestellt, leicht auf eine Adresse bezogen werden. Der oben beschriebene Befehl ist alles, was der Programmierer zur Durchführung, der bezeichneten mathematischen Operation bei der Benutzung des Speicher- und Suchsystems nach Fig. 1 zu tun hat.
Um die Erleichterung im Programmaufbau zu zeigen, ist nachfolgend die bei einem bekannten Rechner (IBM 704) für dieselbe Operation erforderliche Programmgestaltung gezeigt:
05600004736
02000004737
04000004735
06010004740
-06000004741
iß ^ MQ)
(MQ- C -+Acc, MQ)
(Acc + A -+Acc)
(AcC^D1)
(MQ-^D2)
wobei 4735 die Adresse von A, 4736 die Adresse von B, 3737 die Adresse von C, 4740 die Adresse der ersten 36 Bits von D, 4741 die Adresse der ersten 36 Bits von D, MQ das Multiplikanden-Quotienten-Registerund Acc den Akkumulator bezeichnet.
Die genannte Befehlsfolge stellt ein Minimum dar. Wenn nämlich A, B oder C Datenketten mit mehr als der für ein 704-Maschinenwort erlaubten Höchstzahl von Bits wären, dann wäre eine viel größere Zahl von Befehlen erforderlich.
Die Bedeutung der Gegenüberstellung liegt darin, zu zeigen, daß die absoluten Adressen A, B, C und D vollständig von der Maschine erzeugt werden, in denen die Daten automatisch gesucht und gefunden werden, nachdem lediglich ihr Name in den Befehl eingefügt wurde. „
Nach der Beschreibung der Datenform soll min die zugehörige apparative Einrichtung behandelt werden. Eine Speichereinrichtung, die Datenformen der vorbeschriebenen Art verarbeitet, muß für Speicherung und Suche daran angepaßt sein. Das einfache Blockdiägramm der Fi g. 1 erleichtert das Verständnis der folgenden Ausführungen.
Damit das Speichersystem arbeitsfähig ist und die einlaufenden Daten in dem hierarchisch organisierten System verteilen und unterbringen kann, müssen diese Daten vorher nach den Wünschen der Bedienungsperson aufgeteilt oder gruppiert worden sein.
Das bedeutet, daß die einzelnen, zur Verwendung vorgesehenen Niveauzeichen (die φ bis (7) und entsprechende Bezeichnung »Symbol — Bücherei«) bei der Zusammenstellung oder Vorbereitung der Daten auf Lochkarten, Lochstreifen oder Magnetbändern
eingefügt werden müssen. Wenn die Daten auf Dauerspeicherelemente, wie Karten oder Ränder, aufgebracht werden, so kann diese Einfügung von Hand, z. B. durch Lochen, vorgenommen werden. Bei einem solchen manuellen System werden die Niveauzeichen
einfach in die Datenkette zwischen den Wörtern eingefügt, wie es vorhin bei einer üblichen 8-Bit-Dar-stellung gezeigt wurde. Die folgende Liste von aus 8 Bits bestehenden Zeichen soll nur ein Beispiel eines der verwendbaren Codes sein; es kann aber selbst-
verständlich auch jeder andere Code benutzt werden, der mit dem in der Maschine benutzten Verschlüsselungssystem verträglich ist. Es wären dann lediglich die Vergleichseinrichtungen diesen Codes anzupassen.
10100001
10100010
10100011
10100100
10100101
10100110
10100111
Diese Niveauzeichen werden also an den richtigen Stellen in die Kette der einlaufenden, aus Zeichen zu 8 Bits bestehenden Daten eingefügt. Die Verwendung eines Schlüssels mit 8 Bits ist deshalb erforderlich, weil die Niveauzeichen mit allen Eingabedaten vermischt verwendet werden und in einem vielseitigen Gesamtsystem mehr als 200 erkennbare Zeichen (alphanumerische Zeichen, Sonderzeichen und Niveauzeichen eingeschlossen) auftreten.
Bei der Beschreibung des Ausführungsbeispiels der
409 618/156
ίο
Erfindung werden zum besseren Verständnis eine folgenden Daten, enthaltend Personalangaben eines Reihe von Beschränkungen für das in den Speicher Angestellten, sollen im Hauptspeicher untergebracht einzugebende Format der Daten vorgegeben. Die werden: . ,
(£) 080964 φ JOES P GLOPMEYER φ 1956 WEST 4th STREET φ POUGHKEEPSIE, N. Y. @
In das Speichersystem H wird diese Datenkette so eingegeben, wie es die folgende Tabelle I zeigt.
Tabelle I
Hilfsspeicher
(Sonder-Ebenen)
2) © P (D T E © E Y
0 y M 1 4 T P P
8 0 E 9 T N 0 S N
0 E Y 5 H N U I N
9 S
P
E 6 S N G E N
6 G R W T N H N
4 L N E R N K N N
N 0 N S E N E N
Hauptspeicher -g
Die obere Hälfte der Tabelle, die als Hilfsspeicher mit 2-D-Speicher (H2) bezeichnet ist, zeigt ganz links φ bis (7); jeder dieser Kreise bedeutet eine Sonder-Ebene. Die untere mit Hauptspeicher (Hl) bezeichnete Tabellenhälfte stellt die im Hauptspei-
. eher Hl tatsächlich in Binärform gespeicherte Datenkette dar, bei der natürlich alle alphabetischen Angaben in binärer Verschlüsselung wiedergegeben sein müssen. In der unteren Tabellenhälfte stellt jede vertikale Spalte ein Maschinenwort aus acht Zeichen dar. Für die Darstellung von acht aus je 8 Bits be-
\ stehenden Zeichen ist also. ein Maschinenwort mit 64 Bitstellen nötig. Die Niveauzeichen φ bis (7) treten bei jedem Maschinenwort immer in der ersten Stelle, d. h. in der ersten Zeichenstelle auf und können niemals innerhalb des Wortes erscheinen. Wenn ein Teil der Datenkette zwischen zwei Niveauzeichen aus weniger als acht Zeichen besteht, so wird ein Null-Zeichen (dargestellt durchdas Zeichen N) dort eingefügt und der Suchvorgang oder das Auslesen übergeht selbständig diese Stellen und springt bis zur nächsten Stelle, die von Null verschiedene Informationen enthält. Wenn zwischen zwei Niveauzeichen mehr als acht Zeichen liegen, so braucht die erste Stelle eines Maschinenwortes nicht notwendigerweise ein Niveauzeichen zu sein (s. dafür die Spalte 3, wo P die Fortsetzung des Zunamens [des Angestellten] aus der vorhergehenden Spalte ist und die erste Stelle des neuen Maschinenwortes einnimmt). Auch bei • dieser Spalte 3 sind die nicht mit Zeichen besetzten Stellen am Ende des Wortes mit N aufgefüllt.
Die Sterne in der oberen Hälfte der Tabelle I zeigen an, daß im 2-D-Speicher eine binäre »1« (als Markierung eines Ereignisses) in den Sonder-Ebenen an einer Adressenstelle eingetragen wurde, die einem Maschinenwort im Hauptspeicher entspricht und die ein Niveauzeichen enthält. Weiter ist darauf hinzuweisen, daß bei Auftreten einer @ oder φ alle folgenden Niveauzeichen, d. h. (3) φ φ bzw. φ, in den Sonder-Ebenen gleichfalls aufgezeichnet werden, an Stellen, die dem Maschinenwort entsprechen, in dem das höhere Niveauzeichen auftrat.
Aus der vorausgegangenen Beschreibung der Form und der variablen Feldlänge des' hierarchisch organisierten Datenspeichersystems und der Beschreibung, wie solche Daten in diesem System aufgebrochen werden und nach Tabelle I im Speicher gespeichert werden, ergibt sich, daß ohne Beeinträchtigung der Fähigkeit des Systems, Daten aufzunehmen und zu suchen, einzelne Daten hinzugefügt und andere Daten umherbewegt werden können. Hierdurch wird es bei den in Frage stehenden Systemen möglich, bestimmte Verbindungszeichen und Verbindungsadressen, die in ein bestrnmtes vorgegebenes Speicherwort eingesetzt werden sollen, einzusetzen und Daten, die sich an dieser bestimmten Stelle befinden, an ein andeies nachfolgendes Speicherfeld zu rücken,-ohne daß dadurch das Auslesen der Daten beeinträchtigt wird.' ' .'··..■.■·■.■■■■■■,■ .:.;·.;■; ■.:■;■;'■;■....
In den Tabellen Ha und Hb ist dargestellt, wie solche Daten miteinander verbunden werden können. Es sei darauf hingewiesen, daß in diesen Tabellen
11 12
eine ähnliche Speicherorganisation wie in Tabelle I dargestellt ist, mit der Ausnahme, daß in den Tabellen Ha und Hb zwei zusätzliche besondere Niveau-Ebenen oben im oberen Teil des 2-D-Speichers angegeben sind, die jn der Tabelle mit »vorwärtige Unterbrechungsanzeige« und »rückwärtige Unterbrechungsanzeige« bezeichnet sind. Die Ereignismarkierungen werden in der »vorwärtigen« und »rückwärtigen Unterbrechungsanzeige« in der gleichen Weise gespeichert wie in den Ebenen für die Niveauzeichen. Im folgenden wird an Hand dieser Tabellen die Adressierung und Speicherung näher beschrieben.
Speicher-Adresse
Vorwärtige Unterbrechungsanzeige
Rückwärtige Unterbrechungsanzeige
Ebenen für Niveauzeichen Tabellella
bb
aa aa bb yy
* *
*
... * *
* * *
. * *
A B C D E F G
J
K L
N N N
5) M N O
nicht gespeicherte Daten
A B C D E F G
K L Γ
y.
Γ Speicher-Adresse Vorwärtige Unterbrechungsanzeige Rückwärtige Unterbrechungsanzeige
Ebenen für Niveauzeichen
Tabelle Hb
aa . bb
aa bb
*
yy ZZ
*
* ' '
* ■ ι ·
*
* *
* * *
A H
B I
C J
D K
E L
F N
G N
2) M N O
nicht gespeicherte Daten
A B C D E F G
y y
N.
N N N N
Unter Bezugnahme auf Tabelle.Ha sei.angenom- Speicherraum bei der Adresse »yy« beginnt. Dann ist
men, daß die Daten kette @ ABCDEFGQ)IJKL in 65 es erforderlich, eine Verbindung in der Datenkette zu
ie dem Speicher gespeichert ist und daß für die nächsten schaffen, und zwar hinter der Datenkette φIJKD.
Glieder der Datenkette φΜΝΟ kein Platz mehr ist. Dies erfolgt, indem zunächst der besondere Verbin-
:n Es sei ferner angenommen, daß der nächst verfügbare dungsbuchstabe (F) an die sechste Buchstabenstelle
13 14
in des mit (3) beginnenden Maschinenwortes einge- schiedliche Feldlänge haben, zu untersuchen und, setzt wird Danach wird die Adresse »yy« in die wie im Text zur Tabelle I angegeben, zu speichern, nächsten beiden Buchstabenpositionen eingefügt, wie Außerdem sind in dem Blöckdiagramm der F i g. 1 dies im rechten Teil der Tabelle Ha angegeben ist. alle Steuerungen für die Erzeugung und Einspeisung Es sei darauf hingewiesen, daß die zweibuchstabige 5 der besonderen Verbindungsbuchstaben und Verbin-Adresse hier angegeben ist, da eine vollständige dungsadressen, die Mittel zum Speichern der Adres-Y-X-Adresse in einem 128 · 128-Speicher vierzehn sen aller Daten, die von dem System verarbeitet wer-Bitpositionen erfordert, und eine solche Adresse be- den, und die notwendigen Kontrollschaltungen für nötigt zwei Maschinenbuchstaben zur Speicherung. diese Operationen dargestellt.
Nunmehr wird die Datenkette Q)MNO in der Posi- io Der Eingabepuffer A hat die Aufgabe, die Daten
tion »yy« gespeichert, und die Unterbrechungsmarke aus einem verhältnismäßig langsamen Eingabesystem
wird in der vorwärtigen Unterbrechungsanzeige an zu übernehmen, sie vorübergehend zu speichern und der Stelle angezeigt, an der in der Maschinenwort-' mit der möglichen höheren Maschinengeschwindig-
position die Verbindungsadresse gespeichert ist. keit in die Maschine einzugeben. Der Eingabepuffer A
Außerdem wird an der Stelle des ersten Gliedes der 15 arbeitet lediglich als Pufferspeicher und gestattet, die
verbundenen Daten in der. rückwärtigen Unterbre- Maschine mit höchster Wirksamkeit zu betreiben,
brechungsanzeige eine Markierung vorgenommen. Von hier fließen die Daten zu gegebener Zeit in den
Diese rückwärtige Unterbrechungsmarkierung dient Block ß, in dem sich eine Eingabevergleichsvorrich-
dazu, die genannte Datenkette aufzusuchen, wie dies tung, eine Niveau-Steuerungsvorrichtung und eine
später beschrieben wird. Alle weiteren Niveaumarken 20 Eingabesteuerung befinden.
werden in der üblichen Weise in den Ebenen für Der Block B prüft jedes Zeichen und stellt fest, ob Niveauzeichen aufgezeichnet. Bei dem eben beschrie- es eines der gewählten Niveauzeichen (φ bis φ) ist benen Beispiel wurde davon ausgegangen, daß drei und gliedert bejahendenfalls die Datenkette entsprefreie Buchstabenpositionen für die Verbindung vor- chend den vorher aufgestellten Regeln. Entsprechend lagen. Da dies nicht immer der Fall ist, sind bei dem 25 der Tabelle I setzt dieser Block selbsttätig das Niveau-System Mittel vorgesehen, um festzustellen, ob die zeichen in die erste Stelle eines Maschinenwortes, sechste Buchstabenposition eines Maschinenwortes, sorgt für die Eingabe des Ereigniszeichens in die in dem eine Verbindung vorgenommen werden soll, richtige Sonder-Ebene des 2-D-Speichers H2, zählt eine Nullstelle (N) ist. Wenn eine Nullstelle vorliegt, selbsttätig die Zeichen eines Maschinenwortes, so daß wird die Verbindung (Γ) wie in Tabelle II.a einge- 30 jeweils acht Zeichen in das Speicherpufferregister gesetzt. Wenn jedoch ein Datenbuchstabe in dieser langen, und bringt selbsttätig ein Zeichen aus dem Stelle vorliegt, dann wird das Datum wie in Tabelle Speicherpufferregister in den Hauptspeicher, wenn Mb angegeben gehandhabt. Da dort am Schluß des ein zweites Niveauzeichen auftritt, bevor acht Zeichen letzten Maschinenwortes kein Platz mehr zur Ver- im Speicherregister eingelaufen sind; schließlich befügung steht, muß der Buchstabe L, der nun an der 35 sorgt der Block B noch die Einfügung von Nullzeisechsten Buchstabenposition vorliegt, vorübergehend chen in der richtigen Stelle des Speicherpufferregisters gesichert und an einer neuen Speicherstelle zusam- für die spätere Übertragung zum Hauptspeicher,
men mit der Datenkette Q) MNO gespeichert werden. Der Eingabetaktgeber C steuert die aufeinander-Die Art und Weise, wie dies erfolgt, ist im rechten folgenden Operationen der Eingabevergleichsvorrich-Teil der Tabelle Hb angegeben. Dort ist das Verbin- 40 tung und der Steuerkreise des Blocks B. Außerdem dungszeichen und die Verbindungsadresse wie in steuert der Eingabetaktgeber C die Erzeugung und Tabelle Ha eingesetzt. Der Buchstabe L ist in der Einfügung der Verbindungszeichen, der Adressen neuen Speicherposition yy in die erste Wortposition und der Unterbrechungszeichen während einer Einder neuen oder verbundenen Datenkette übertragen. speisung von hierarchisch organisierten Daten, die in Da die Datenkette Q)MNO mit einem Niveau-An- 45 unterbrochener Folge in Abhängigkeit von den zeiger beginnt, kann sie nicht in dem Maschinenwort Adressen der freien Speicherräume gespeichert werunter dem Buchstaben L gespeichert werden. Aus den sollen. Die Adressen der freien Speicherplätze diesem Grunde sind anschließend an den Buchsta- liefern eine Belegungsstandsanzeige D. Im folgendem benL sieben Nullstellen eingesetzt, und die Daten- wird kurz die Arbeitsweise der Vorrichtungen A, B kette Q)MNO beginnt mit einem neuen Maschinen- 50 und C bei Einspeisung einer Datenkette in Abhängigwort. Die vorwärtigen und rückwärtigen Unterbre- keit von der hierarchischen Gliederung dieser Datenchungsanzeigen sind in Tabelle Hb in der gleichen kette beschrieben.
Weise placiert wie in der Tabelle II a. ·· Die Belegungsstandsanzeige D ist eipe an sich be-
Dies ist im Grunde genommen die Grundlage für kannte Vorrichtung, die bei vielen Rechnern verwen-
alle Maschinenoperationen, wie z. B. die Eingabe, 55 det wird. Sie enthält einen Speicher, in dem die Aus-
das Einschieben, das Löschen und das Ersetzen von dehnung, also die Anfangs- und Endadresse der ver-
Daten, wie es weiter unten an Hand der F i g. 2 bis 6 schiedenen Speicherfelder, die zur Zeit nicht belegt
näher beschrieben wird. Bei diesen zusätzlichen Ope- sind, aufgezeichnet sind. Auf Abfrage gibt die Be-
gp p
Sie unterscheiden sich lediglich dadurch, daß jeweils Daten von dort entsprechend eingespeist werden kön-
besondere Mittel vorgesehen sind, um die verschie- nen. Wenn einzelne Speicherplätze bei den Einspeid fbh d d id di
gen bestehen sollen und über die Daten in den neuen Belegungsstandsanzeige automatisch darüber infor-
Positionen aufgefunden werden sollen. 65 miert und entsprechend auf dem laufenden gehalten.
Das in F i g. 1 im Blockdiagramm angegebene Von der Belegungsstandsanzeige D > gelangen'
System gestattet es automatisch, eingespeiste Daten- Adressen über freie Speicherplätze in einen Block £
ketten, die hierarchisch organisiert sind und unter- mit einem Adressenregister für derr Adressenver-
i. I I t I
rationen treten die verschiedensten Kombinationen legungsstandsanzeige D den jeweils nächsten verfüg- e
der oben beschriebenen Verbindungsoperation auf. 60 baren Speicherplatz an die Eingangsseite, so daß die a
h hd ii d kö
g p
denen Adressen zu verfolgen, mit denen Verbindun- sungsvorgängen aufgebraucht werden, dann wird die S1
15 16
gleich, der vom Block B oder für die Eingliederungs- sein. Wenn eine einzugliedernde Datenkette bereits steuerung einem Block F gesteuert wird. Eine Ein- in dem Hauptspeicher unter einer bestimmten Adresse gliederungsoperation ist wesentlich verschieden von gespeichert ist, dann können die Beginn- und Endeiner Eingabeoperation. Die erstere besorgen eine adresse dieser Datenkette, wie eben angegeben, in Reihe von Steuerungen im Block F, die in Abhängig- 5 bestimmten Registern gespeichert werden,
keit von einem Eingliederungstaktgeber G ablaufen. Da die Eingliederung gegenüber der einfachen Ein-
Die Daten gelangen vom Block B während des gabeopcration sehr verschieden ist, ist ein besonderer
Eingabevorganges unmittelbar in das Speicherpuffer- Eingliederungstaktgeber G vorgesehen, der die Ein-
register und von da in Abhängigkeit von dem Ein- gliederungssteüerung F beaufschlagt,
gabetaktgeber C und einer Adresse aus dem Block E io Der Hauptspeicher H, der in F i g. 1 durch eine
in den Hauptspeicher Hl, Niveauzeichen werden von gestrichelte Linie angegeben ist, enthält den 2-D-
einem Zählregister der Eingabevergleichsvorrichtung Speicher und den 3-D-Speicher sowie verschiedene
in ähnlicher Weise im 2-D-Speicher placiert. Die ein- Register und Taktgeber; er ist in Aufbau und Arbeits-
zelnen Verbindungszeichen, Verbindungsadressen weise ohne Besonderheiten; die Beschreibung seiner
und Unterbrechungsadressen werden, gesteuert von 15 Einzelheiten ist deshalb entbehrlich.
Steuerkreisen des Blocks B, in einer (Unterbre- Die in der vorliegenden Beschreibung benutzten
chungs-) Sonder-Ebene untergebracht. Speicher sind Magnet-Kernspeicher; die Erfindung
Die Blöcke D und E werden jeweils von dem kann aber auch mit anderen Speichersystemen aus-Block B oder F gesteuert, je nachdem, ob eine Ein- geführt werden. Im Beispiel hat der 3-D-Speicher in gäbe- oder eine Eingliederungsoperation vorgenom- zo X-Y-Richtung 128 · 128 Bits und ist 8 · 8 Bits tief; riien werden soll. Block E arbeitet im wesentlichen er kann also Zeichen bis zu 8 Bits und Wörter bis zu in der gleichen Weise, indem er die Anfangs- und acht'Zeichen aufnehmen, wie dies früher schon er-Endadressen der Belegungsstandsanzeige speichert. wähnt wurde. Die Sonder-Kern-Ebenen enthalten Während ein Wort in den Hauptspeicher eingeglie- ebenso in X- und F-Richtung je 128 Bits; sie besitzen dert wird, wird die Anfangsadresse im Block £ er- 25 also eine Bitstelle für jedes der 16 384 Maschinenmittelt, und außerdem wird festgestellt, ob der ver- Wörter im zugeordneten Hauptspeicher. Bei dem hier fügbare Speicherplatz aufgebraucht ist. Wenn solch dargestellten Ausführungsbeispiel nach der Erfindung eine Prüfung ein positives Ergebnis hat, dann wird sind die Sonder-Ebenen unmittelbar über dem 3-D-automatisch eine neue Belegungsstandsanzeige an . Speicher dargestellt. Dies ist sicher die übliche Anden Block!? geleitet, und entsprechende Verbindun- 3° Ordnung eines solchen Speichers, jedoch können die gen (Verbindungszeichen, Unterbrechungszeichen) Sonder-Ebenen auch an anderer Stelle angeordnet werden in den beiden Speichern, dem 3-D-Speicher sein, wesentlich ist nur, daß für die Adressen eine Hl und dem 2-D-Speicher/f2, aufgezeichnet. Wäh- eindeutige Beziehung besteht.
rend der Eingliederungsoperation werden zwei andere Die Blöcke A bis G sind der Teil des Systems, der Register und die zugehörigen Vergleichskreise, in 35 in erster Linie für die Eingabe und die Abänderung denen die Anfangs- und Endadressen einer Daten- von Datenketten im Speicher dient. Der Hauptkette, welche in. eine bestehende Datenkette einge- speicher H dient sowohl für die Eingabe als auch für setzt werden soll, gespeichert sind, aktiviert. Diese Suchoperationen. Das Adressenspeicherregister / entAbteilung des Blocks E dient dazu, zu prüfen, ob hält Register, die sowohl für Eingabe- als auch für alle Daten, die eingegliedert werden sollen,- eingeglie- 4° Suchoperationen, wie weiter unten noch beschrieben, dert sind. . , dienen. Die Blöcke /, K, L und M dienen mit dem
Der wesentliche Unterschied zwischen einer Ein- Block / dazu, die Suchoperationen nach Verbi.ngabe und Eingliederungsoperation ist, daß bei einer düngen im hierarchisch organisierten System durch-Eingabeoperation die Daten von einem äußeren zuführen. Wie bereits erwähnt, dienen viele der Kreise Speicher eingeführt werden und in unterbrochenen 45 des Hauptspeichers einschließlich der 2-D-und 3-D-Speicherplätzen des Hauptspeichers Hl gespeichert Kreise sowie der zugehörigen Adressenregis'ter, Anwerden. Es werden dann nur Verbindungen einer triebsringe, Entschlüßler und Rechner für Eingabe Richtung erzeugt. Mit anderen Worten, das Ende und Suchoperationen. .
einer solchen verbundenen Datenkette hat keine Ver- Wie bereits bemerkt, arbeitet der Block/ sowohl bindungsadresse, mit der es zu einer früher ge- 5° bei Eingliederungs- als auch bei .Suchoperationen, speicherten Datenkette zurückverbunden wird. Bei Bei einer Eirigliederungsoperation speichert der einer Eingliederungsoperation, die einer Löschungs- Block / die Adressen der beiden Datenketten und operation oder einer Operation zum Ersetzen ähnlich die Adresse des zugehörigen Maschinenwortes im ist, wird ein Datenkettenteil an einem bestimmten Hauptspeicher, in das die Einfügung vorgenommen Punkt an einem existierenden Kettenteil eingegliedert. 55 werden soll. Die Art und Weise, wie diese Adressen Es wird dann eine Verbindungsadresse von diesem gehandhabt werden, ergibt sich aus derBeschreibung bestimmten Punkt der alten Datenkette zur neuen eines Eingliederungsbeispiels. Während einer Such-Datenkette benötigt. Außerdem muß das Ende der operation speichern die Register 764 und 780 die Beeingegliederten Datenkette eine Verbindungsadresse ginn- xind Endadressen einer Datenkette auf Grund aufweisen, die zu der alten Datenkette zurückführt, 60 einer Suchanweisung. Diese beiden Adressen sind und zwar zu dem Punkt, der demjenigen folgt, an natürlich das Endergebnis jeder Suchoperation,
dem die Verbindung gespeichert war. Daraus ergrbt Der Block J weist Register zur Speicherung der sich schon, daß eine große Anzahl von Adressen Suchinformation auf. Er enthält die Register 516,562 gespeichert und verarbeitet werde muß. Bei einer und 528, in welchen die Information der Beginneizugliedernden Datenkette muß z. B. · die Beginn- 65 adresse einer zu suchenden Datenkette und das adresse der einzugliedernden Datenkette bekannt oder Niveauzeichen der zugehörigen Datenkette gespeiermittelbar sein, und der Punkt, an dem die Ein- chert ist. Diese Informationen stammen aus dem fügung vorgenommen werden soll, muß festgelegt Suchprogramm.
Der Block K enthält einen Niveaüsuchring zum Aufsuchen der Sonder-Ebenen, in denen die Niveauzeichen und die vor.wärtige oder rückwärtige Unter- ■ brechungsebene, je nachdem in welcher Richtung die Suchoperation verläuft, aufgezeichnet sind. In diesem Bereich des Systems werden die Daten für die Niveauzeichen gesucht und die Datenketten auf Unterbrechungszeichen untersucht. Wenn solche Unterbrechungszeichen aufgefunden werden, dann entscheidet dieser Teil des Systems, an welchem Punkt die Suche fortgesetzt wird, und stellt automatisch Verbindungsadressen her, leitet die neuen Informationen von den Unterbrechungsebenen und Niveauebenen in den Suchring und setzt automatisch die Suche fort, bis eine andere Unterbrechung entdeckt wird.
Der Suchtaktgeber L beaufschlagt den Block K, solange keine Unterbrechung der Datenkette entdeckt ist. Der Unterbrechungstaktgeber M enthält verschiedene Zeitgeber, die dazu dienen, die Verbindungsadressen in vorwärtiger Richtung aus dem Hauptspeicher zu leiten, wenn eine Unterbrechung entdeckt ist, und das Aufzeichnen einer neuen Unterbrechung und Niveau-Information im Steuerring sowie die Fortsetzung der Suche zu steuern. Eine Abteilung des Unterbrechungstaktgebers dient dazu, eine rückwärtige Speicherung vorzunehmen, wenn eine Unterbrechung aufgedeckt wird, während des rückwärtigen Betriebes. Die Einzelheiten dieser Betriebsweise werden weiter unten an Hand einer Suchoperation näher erläutert. Die Taktgeber G, C, L und M enthalten jeweils eine Vielzahl von Multivibratoren an sich bekannter Art. Bei diesen Multivibratoren wird durch einen Eingangsimpuls ein Auslöseimpuls ausgelöst, und nach einer bestimmten Zeit, wenn dieser Auslöseimpuls beendet ist, entsteht ein kurzer Ausschaltimpuls, der z.B. als Ausgangsimpuls die nächste Stufe des Taktgebers schalten kann. Bei allen Taktgebern sind mehrere Multivibratoren vorgesehen und miteinander gekoppejt, so daß sie sich mit der Taktfolge der einzelnen Schaltungen des Systems synchronisieren können.
Die Erfindung wird nun ausführlich an Hand einiger Ausführungsbeispiele von Betriebsweisen des angegebenen Schaltsystems erläutert. Die Fig. 2bis 7 zeigen als Diagramm die Betriebsweise, nach der die Daten im 2-D- und 3-D-Speicher gespeichert werden. Außerdem ist aus diesen Figuren ersichtlich, wie die besonderen Verbindungszeichen und Verbindungsadressen erzeugt und in der fraglichen Datenkette placiert werden. Zum Beispiel werden des öfteren Register angeführt, in denen verschiedene kritische Adressen gespeichert sind und z. B. verglichen wird, ob oder ob nicht freier Speicherraum an den Stellen, . die von der Belegungsstandsanzeige vorgesehen sind, im Speicher verfügbar ist und ob eine bestimmte Datenkette, die eingesetzt werden soll, tatsächlich während der Maschinenoperation eingesetzt worden ist. Das Format der sechs Figuren ist im wesentlichen das gleiche. Es treten Kleinbuchstaben paarweise auf, z. B. »aa«, »bb«, »cc« usw., diese dienen zur Kennzeichnung der Speicherposition oder Adresse, unter der im Hauptspeicher das zügehörige Datenwort gespeichert ist. Unter der Zeile, in der diese Buch-, stabenpaare angegeben sind, folgt als nächstes eine horizontale Linie, die die vorwärtige Unterbrechungsebene repräsentiert; die darunterliegende Linie repräsentiert die rückwärtige Unterbrechungsebene. Durch den Zwischenraum zwischen den beiden Unterbrechungsebenen und den drei Sonder-Niveau-Ebenen soll angezeigt werden, daß, obwohl hier nur drei Sonder-Niveau-Ebenen eingezeichnet sind, tatsächlich mehrere solcher Ebenen vorgesehen sind. Die fünf Sonder-Ebenen, die in den Figuren dargestellt sind, gehören zum 2-D-Speicher. Unter dem 2-D-Speicher ist ein Hauptspeicherteil angegeben, in dem die vertikalen Spalten jeweils ein acht Zeichen umfassendes Maschinenwort kennzeichnen. Bei allen diesen Figuren erfolgt die Einspeisung der Daten nach den allgemeinen hier angegebenen Regeln, nach denen das Niveauzeichen jeweils in der ersten Wortposition untergebracht werden muß und nach denen jedesmal, wenn ein solches Niveauzeichen in einem Maschinenwort vorliegt, eine Ereignismarke in der zugehörigen Sonder-Ebene aufgezeichnet ist. Die verschiedenen Buchstaben »Λ'«, die in den verschiedenen Kernebenen eingezeichnet sind, repräsentieren eine Ereignismarke öder eine binäre »1«, die in dieser Position in dem 2-D-Speicher gespeichert ist. In diesen Figuren ist eine Nullstelle durch ein i^-Zeichen gekennzeichnet. Für die Beschreibung der Fig. 2 bis 7 wird davon ausgegangen, daß das System die Daten automatisch nach diesen Regeln speichert und ebenfalls die verschiedenen Zeichen setzt.
An Hand der Fig. 2 wird nun eine einfache Eingabeoperation beschrieben, bei der eine verhältnismäßige lange Datenkette in zwei nicht fortlaufenden Speicherplätzen untergebracht werden soll; es wird also eine Verbindung benötigt. Die besonderen Bedingungen, unter denen diese Eingabeoperation abläuft, sind am Fuß der Figur angegeben, und zwar sind die nächsten zwei verfügbaren Speicherplätze dort niedergeschrieben. Die erste Belegungsanzeige umfaßt vier Maschinenwörter, die jedoch nicht für die Speicherung der ganzen Datenkette ausreichen. Bei der Eingabe dieser Datenkette arbeitet das System wie folgt: zunächst wird die Ausdehnung der-Belegungsanzeige in Registern gespeichert. Dann beginnt die Eingabe der Daten, und das erste Maschinenwort (3) ABCD wird in dem Speicherpufferregister gespeichert. Die Steuerung erfolgt dabei, wie in Spalte 1 aus F i g. 2 ersichtlich, dann wird die φ aufgesucht, und der Rest des ersten Maschinenwortes wird mit Nullstellen aufgefüllt, außerdem wird ein Signal erzeugt, das anzeigt, daß das System bereit ist, das erste Maschinenwort zu speichern. In diesem Moment wird die laufende Adresse der Adressenbelegungsanzeige an ein Adressenregister weitergeleitet und dort unter »aa« gespeichert. Nach dieser Speicheroperation wird ein Register für die laufenden Adressen mit einer Zählung beaufschlagt und mit dem Register, in dem sich der Belegungstand befindet, dahingehend verglichen, ob die Adressen noch die gleichen sind. Dies ist ein. Zeichen dafür, daß an dieser Stelle kein weiterer Speicherplatz mehr zur Verfügung steht, die laufende Adresse wird nun in die Position »bb« gesetzt. Das System speichert nun das zweit·. Maschinenwort der Datenkette Q)EFGH mit den Nullstellen. Der beschriebene Speicherschritt wird nun wiederholt für dieses, ferner das dritte und das vierte Maschinenwort. ■ Wenn die laufende Adresse, also »dd«,mit der Eridadresse übereinstimmt, wird ein Vergleichzeichen ausgesendet. Das System weiß nun, daß das vierte Maschinenwort das letzte an dieser Stelle zu speichernde ist. Aus diesem Grunde wird das Wort Q) LMNO in den ersten fünf
Buchstabenpositionen dieses Wortes gespeichert, und an .der sechsten Buchstabenposition Wird ein besonderes Verbindungszeichen gespeichert, damit die Maschine weiß, daß zu der neuen Speicherstelle für ■ den Rest der Datenkette eine Verbindung aufgebaut werden muß. Währenddessen wird die nächste Beiegungsanzeigc in die Register für den Belegungsstand eingegeben. In diesem Fall lautet die Adresse »oo«, die in der siebten und achten Buchstabenposition des letzten Maschinenwortes gespeichert wird. Das Wort gelangt nun, von dem laufenden Register gesteuert, durch die Steuerungsglieder des 3-D-Speichers in die Adressenposition »dd«. Zur gleichen Zeit wird durch einen Kreis des 2-D-Speichers ein Ereigniszeichen in der vorwärtigen Unterbrechungsebene placiert, und zwar unter der gleichen Adresse, nämlich unter »dd«. Nachdem diese Speicheroperation vollzogen ist, setzt das System die Eingabe der Daten fort und gibt die beiden Buchstaben »pp« in das Speicherpufferregister, erzeugt dann ein anderes hierarchisches Niveauzeichen, worauf der Rest des Puffers mit Nullstellen gefüllt wird. Das System ist nun bereit, eine andere 3-D-Speicheroperation zu beginnen. Zu diesem Zeitpunkt wird die laufende Adresse vom Register für den Belegungsstand zum Adressenregister geleitet, und ein 3-D-Speicherkreis wird eingeschaltet. Zur gleichen Zeit wird auch ein 2-D-Speicherkreis unter der gleichen Adresse in der rückwärtigen Unterbrechungsebene eingeschaltet, da dies das Wort der neuen Speicherposition für die eingegebene Datenkette ist. Der Rest der Datenkette ist abgebrochen und in den Positionen »pp«? »qq« und »/τ« gespeichert. Das System hat also bemerkt, daß der verfügbare Speicherraum aufgebraucht war, und hat Verbindungszeichen sowie eine Verbindungsadresse erzeugt und die verschiedenen Ereigniszeichen in der vorwärtigen und rückwärtigen Unterbrechungsebene unter den Adressen des letzten Maschinenwortes der ersten Datenkette und des ersten Maschinenwortes der zweiten Datenkette aufgezeichnet. Daraus folgt, daß das vorliegende System bei einer Eingabeoperation Speicheradressen liefert, automatisch Verbindungszeichen erzeugt und speichert und die Verbindungsadressen unmittelbar in die zugehörige Datenkette einfügt und schließlich die verschiedenen Ereigniszeichen in die Unterbrechungsebenen einsetzt.
An Hand der Fig.3 wird nun eine verhältnismäßig einfacheEinfügungsbperation beschrieben/Bei einer Eingliederungsoperation wird die bestehende Datenkette an zwei verschiedenen Punkten geändert. Mit anderen Worten, bei diesen Operationen muß eine Verbindung der vorliegenden Datenkette zu einer neuen Speicherstelle, an der eine neue Datenkette gespeichert ist, und vom Ende dieser Speicherstelle zurück zur alten Datenkette geschaffen werden. Da bei diesen Operationen sehr viele Adressen benötigt werden, hat es sich als vorteilhaft erwiesen, die einzugliedernde Datenkette zunächst in dem Hauptspeicher unter verfügbaren Adressen zu speichern. Ähnliches gilt auch für eine Löschungs- und eine Bestimmungsoperation. Bei einer Löschungsoperation ist die zu löschende Datenkette bereits in dem System gespeichert. Bei einer Eingliederungs- oder Bestimmungsoperation wird ein Datum in Abhängigkeit von der Belegüngsanzeige von seinem ursprünglichen Speicherplatz an einen neuen Speicherplatz gebracht. Diese Übertragung erfolgt wortweise. Hierfür ist eine einfache automatische Anzeige erforderlich, die anzeigt, daß die einzugliedernde oder zu ersetzende Datenkette in der neuen Speicherpösitipn vollständig gespeichert ist. Dies erfolgt nach dem vorliegenden System in ähnlicher Weise wie die Belegungsanzeige, nämlich indem eine Beginn- und eine Endadresse des einzusetzenden Datums in zwei Registern aufgezeichnet wird. Wenn jedes Wort der Datenkette in die neue Speicherposition gebracht ist, dann wird das Register für die Beginnadresse beaufschlagt und mit dem Register für die Endadresse verglichen, bis durch diesen Vergleich Übereinstimmung festgestellt ist, die ein Zeichen dafür ist, daß das Wort vollständig gespeichert ist. Außerdem müssen Register "für die Adressen der ursprünglichen Datenkette vorgesehen sein, in denen die Verbindungszeichen für eine Einfügung gespeichert sind, und die Adressen der verbundenen Daten müssen zurückverbunden werden. Die Register 764 und 768 dienen zu diesem Zweck und geben die Adressen der ersten Dafenkette auf. Die Arbeitsweise dieser Register wird im einzelnen an Hand einer Eingabe, einer Eingliederungs- und. einer Suchoperation weiter unten näher beschrieben. Sie sind hier nur angeführt, um grundsätzlich zu zeigen, wie die Adressen und Daten in diesen Registern gehandhabt werden.
Gemäß F i g. 3 ist die ursprüngliche Datenkette unter den Adressen »aa«, »bb«, »cc«, und »dd« gespeichert Es besteht eine Verbindung vom Ende des Maschinenwortes unter der Position »bb«. Die einzugliedernde Datenkette ist unter den Positionen »/7«, »//'« und »M« gespeichert. Dies ist aus dem linken Teil der Fig. 6 ersichtlich. Die Speicherppsitionen »vv« bis »zz« sind aus der Belegüngsanzeige für die Eingliederung verfügbar. Das System placiert das erste Verbindungszeichen unter der Adresse »bb« und untersucht die sechste Buchstabenposition; findet sich dort eine Nullstelle, dann gliedert es ein besonderes Verbindungszeichen und die erste Adresse der Belegungsanzeige, d. h. »vv« ein. Die Daten werden, nachdem diese erste Verbindung erzeugt ist, in die Positionen »/7«, »//« und »Ick« übertragen. Der Hauptspeicher wird unter der Adresse »//« abgelesen, und die Information gelangt an das Speicherpufferregister. Dann gelangt die Adresse »vv« an das Adressenregister. Durch einen Schreibkreis werden die Daten vom Speicherpufferregister und dem 3-D-Speicher übertragen, das gleiche gilt für die Niveauzeichen. Die Daten unter den Positionen »//« und »kk« im Hauptspeicher werden in ähnlicher Weise unter Positionen »wvc« und »jt.v« gespeichert, ausgenommen der Fall, bei dem sich Daten in der Position »kk« beim Vergleich mit den Registern für. den Beginn und Endadresse sich als die letzten der Datenkette erweisen. Das System weiß nun, daß eine neue Verbindung an dieser.Stelle aufgebaut werden muß, die zur Position »cc« der ursprünglichen Datenke'tte zurückführt. Die Adresse »cc« war ursprünglich in dem Register für die Endadresse gespeichert, und diese Adresse wird unmittelbar in dem Datenwort unter der Position »;u:« gespeichert.
Dieses letzte Datenwort enthält in der sechsten, siebten und achten Position Nullstellen, die darauf hinweisen, daß die Verbindungszeichen und Verbindungsadressen in diesem speziellen Maschinenwort gespeichert werden können. Das System wird, wenn es das dritte einzugliedernde Wort φ RST N Γ cc gespeichert hat, in den nötigen 2-D-Kreisen betrieben, um die Speicherung des Wortes in der Position
21 . 22
»xx« des Speichers zu vollenden. Ünterbrechungs- wieder einzusetzenden Teil belegt wird, ehe die marken werden in der vorwärtigen Ünterbrechungs- Speicherung der Position in der Belegungsanzeige ebene gespeichert, und zwar unter den Speicherposi- erfolgt. Der ursprüngliche Speicherzustand ist wiedertionen der beiden Datenketten im Hauptspeicher, um im linken Teil der Fig. 5 dargestellt. Dort ist wobei ein Wort hier ein Verbindungszeichen und .5 die ursprüngliche Datenkette unter den Adressen eine Verbindungsadresse hier unter den Positionen »aa« bis »ee« und die Datenkette, die eingegliedert . »oft« und »xx« enthält. Außerdem werden in der werden soll, unter den Positionen »M« und »//« gerückwärtigen Unterbrechungsebene Ereigniszeichen speichert. Im rechten Teil der Figur ist das erste einunter der Adresse gespeichert, die den Verbindungs- zugliedernde Wort Q)QRST in der Position »bb« geadressen entspricht, hier die Adressen »vv« und »cc«, ίο speichert, das ist die Position, unter der die gelöschte Im rechten Teil der Fig. 3 ist der Speicher nach Datenkette Q)EFG ursprünglich gespeichert war. vollzogener Eingliederungsoperation dargestellt. \ Dabei treten Steuerungen in Aktion, die anzeigen, An Hand der F i g. 4 wird nun eine Operation ahn- daß nur ein Wort gelöscht war und für weitere Hch der zu Fig. 3 erläutert, bei der jedoch Daten in Speicherung verfügbar ist. Das System muß nun Verbeiden Maschinenwörtern, in denen das Verbindungs- 15 bindungen zur Belegungsknzeige schaffen, um den zeichen und die Verbindungsadressen gespeichert Rest der Eingliederung zu speichern. Zu diesem werden müssen, existieren. Abgesehen von dieser Zweck ist ein besonderes Verbindungszeichen und Ausnahme erfolgt die Eingliederungsoperation in der die Adresse »xx« der ersten Position der Belegungsgleichen Weise, wie im Text zu Fig. 3 erläutert ist. anzeige unter der Position »66« an sechster, siebter Wenn das System die erste Verbindung herstellen 20 und achter Stelle gespeichert. Der Rest der Eingliedewill, untersucht es die sechste, siebte und achte Buch- rung ist unter der Position »xx« gespeichert, und das stabenposition des Maschinenwortes unter der Adresse System erfährt nun, daß die Eingliederung vollzogen »bb«, unter der die Verbindung eingesetzt werden ist und eine Verbindung zu der ursprünglichen Datensoll. Dort finden sich die Zeichen HIJ, die aufbe- kette (Position »cc«) gebildet werden muß. Beim wahrt werden müssen und in einer ersten Adresse, 25 Überprüfen des letzten Maschinenwortes der Eingeliefert von der Belegungsanzeige, hier »ww«, ge- gliederung finden sich die sechste, siebte und achte speichert werden. Das Verbindungszeichen und die Buchstabenposition besetzt. Aus diesem Grunde wird Verbindungsadresse muß an diesen Positionen der die nächste Speicherposition der Belegungsanzeige, ursprünglichen Datenkette niedergelegt werden, daher hier die Position »^«,.herangezogen und ein Vermüssen die Zeichen HIJ an eine andere Stelle ge- 30 bindungszeichen und eine Verbindungsadresse unter bracht werden. Diesem Zweck dient ein Register, das der Position »yy« gespeichert. Nun werden wiederum drei Zeichen eines Datums aufnehmen kann, wenn die verschiedenen Unterbrechungszeichen in der an den Stellen, an denen Verbindungszeichen und gleichen Weise wie oben beschrieben aufgezeichnet. Verbindungsadressen untergebracht werden sollen, Nach der Eingliederungsoperation ergibt sich ein keine Nullstellen gefunden werden. Im rechten Teil 35 Speicherbild, wie im rechten Teil der F i g. 5 angeder Figur ist zu sehen, daß unter der Adresse '■»ww«. geben.
die Daten HIJ zusammen mit Nullzeichen gespeichert An Hand der Fig. 6 wird nun eine Löschoperasind, da das nächste Maschinenwort, das gespeichert tion erläutert, eine solche Operation verläuft in ähnwerden soll, ein Niveauzeichen, nämlich Q) ist. Wie licher Weise wie eine Eingliederungsoperation, wobei der vorausgegangenen Operation wird das einzu- 40 bei die gleichen Register und Steuerkreise herangliedernde Datum von den Positionen »kk« und »//« gezogen werden. Zu einer solchen Löschoperation in die Positionen »xx« und »yy« gebracht, die Posi- wird der zu löschende Kattenteil in ähnlicher Weise tion »bb« war vorher mit der Position »wiv« ver- behandelt wie ein einzugliedernder Kettenteil; er wird bunden. Nachdem das Datum aus der Position »//« aus der 2-D-Ebene durch eine Ausleseoperation ausin die Position »yy« gebracht ist, weiß das System, 45 gelesen, und die Daten werden gleichzeitig wortweise daß eine Rückverbindung zu der ursprünglichen geordnet. Die Steuerungen werden so vollzogen, daß Datenkette hergestellt. werden muß. Bei der Unter- die Verbindungsadresse,.die in deii.Position »bb« gesuchung des unter »yy« gespeicherten Datums zeigt speichert ist, keine vorwärtige Verbindung ist, tatsich jedoch, daß dort in den letzten drei Positionen " sächlich ist diese Verbindung eine rückwärtige Veretwas anderes als eine Nullstelle vorliegt: Demzufolge 50 bindung, die im letzten Maschinenwort einer Einkann dieses Datum nicht bewegt werden, und die ' gliederungsoperation gespeichert worden wäre. Der nächste Maschinenposition »zz« wird zugänglich ge- Belegungszustand des Systems vor der und nach der macht, und ein Verbindungszeichen und eine Verbin- Löschungsoperation ist wieder im linken bzw. rechten dungsadresse werden gespeichert. Der wesentliche Teil der F i g. 6 dargestellt.
Unterschied zwischen F i g. 3 und 4 besteht also 55 An Hand der F i g. 2 bis 6 wurde erläutert, wie
darin, daß in der sechsten, siebten' und achten Posi- das System verfährt, wenn Verbindungsadressen be-
tion eines Maschinenwortes, in dem ein Verbindungs- nötigt werden, diese erzeugt und automatisch in eine
zeichen untergebracht werden soll, ein Datum vor- bereits vorliegende Datenkette einfügt und alle dazu
liegt und daß dann eine andere Maschinenposition notwendigen Steuerungen zur Anzeige der Verbin-
für die Verbindung und für die Aufbewahrung der 60 dungszeichen und Verbindungsadressen in einem
Daten herangezogen wird. Maschinenwort durchgeführt werden. Die folgende
. An Hand der Fig. 5 wird nun eine Maschinen- Beschreibung zeigt, wie das System die einzelnen
Operation erläutert, bei der ein Teil einer existieren- Operationen Eingabe, Eingliederung, Bestimmung
den Datenkette gelöscht wird und mit einer anderen und Löschung durchführt. - .'
Datenkette wieder gefüllt wird. Diese Operation ist-65 Die Suche einer gespeicherten Datenkette müß
der beschriebenen Eingliederungsoperation sehr ahn- unterbrochen werden, wenn dabei ein Verbindungs-
lich, mit der Ausnahme, daß die Speicherposition zeichen oder ein Unterbrechungszeichen aufgedeckt
des zu bestimmenden Speicherteils zunächst mit dem wird. Das Maschinenwort, auf das eine Unter-
brechungsmarke weist, muß ermittelt werden, und an der sechsten, siebten und achten Buchstabenposition muß die Adresse ermittelt werden, unter der die Suche fortgesetzt werden muß, falls diese spezielle Datenkette aufgesucht werden soll. Wenn also bei einer; vorwärtigen Suche nach einer Niveaumarke eine Unterbrechungsmarke in der vorwärtigen Unterbrechungsebene auftaucht, dann ist die zugehörige Verbindungsadresse für den nächsten Datenteil unmittelbar in der sechsten, siebten und achten Buchstabenposition verfügbar. Für eine rückwärtige Suche ist jedoch in der rückwärtigen Unterbrechungsebene nur eine Anzeige auf eine Unterbrechung in den Daten gespeichert. Wenn auch bei dem vorliegenden System rückwärtige Verbindungsadressen nicht vorgesehen sind, so können diese doch auf einfache und entsprechende Weise gespeichert werden. Zu diesem Zweck müssen zusätzliche Mittel für die Suche in der rückwärtigen Richtung vorgesehen sein. Hierzu dient ein Kehrspeicher. Der Kehrspeicher ermöglicht es, die Adressen, unter denen vorwärtige Unterbrechungszeichen gespeichert sind, bei rückwärtiger Suche verfügbar zu machen. Mit anderen Worten, wenn eine nach rechts gerichtete Suche durch eine besondere Datenkette vorgenommen wird, dann wird jedesmal, wenn eine Unterbrechungsmarke auftaucht, die Adresse dieser Unterbrechungsmarke und des Wortes, das die zugehörige Verbindungsadresse_.enthält, in. dem Kehrspeicher in aufeinanderfolgeride,n. Speicherpositionen gespeichert. Wenn dann eine Suche vollzogen "wird, dann wird die erste, zweite und dritte Unterbrechungsadresse in dem Kehrspeicher gespeichert, und wenn eine rückwärtige Suche durchgeführt wird, dann werden die dritte, zweite und erste Adresse abgelesen. Die Ablesung erfolgt also in umgekehrter Reihenfolge wie die Eingliederung. Solche Kehrspeicher bilden normalerweise eine kleine Speicherabteilung mit besonderen Adressenregistern und Rechnern, die bei der Eingliederung aufsteigend und beim Auslesen absteigend betrieben werden. Bei dem vorliegendem System liefert der Kehrspeicher, der schematisch dargestellt ist, tatsächlich die Adresse der Kehrlokalisierung, so daß die der vorwärtigen Unterbrechungsanzeige zugehörige Adresse unter der Adresse des Kehrregisters gespeichert wird. Bei einer Suche nach links ist die in dem Kehrregister verfügbare Adresse diejenige Adresse im Hauptspeicher, an der die zuletzt abgefragte Unterbrechungsmarke liegt. An Hand der F i g. 7 wird eine vollständige Beschreibung einer Suchoperation angegeben. Wie bereits vorher erwähnt, ist die Darstellung in Fig. 7 ähnlich wie bei den Fig. 2 bis 6, jedoch mit der Ausnahme, daß im Hinblick auf die vielen Maschinenwörter, die hier dargestellt werden sollen, diejenigen Zeichen, die nicht Verbindungszeichen und Verbindungsadressen sind, im einzelnen nicht angegeben sind. Die oberste Zeile zeigt wieder die Adressen der zugehörigen Maschinenwörter im Hauptspeicher an, die nächste Zeile enthält die vorwärtigen Unterbrechungszeichen, die nächste Zeile die rückwärtigen Unierbrechungszeicheh und die tieferen Zeilen die hierarchischen Niveauzeichen. Die Suchanweisung erscheint in dem unteren Teil der Figur und umfaßt vier verschiedene Schritte. Der erste Suchschritt lautet © 11 und bedeutet, finde zunächst das @-Niyeauzeichen in der Datenkette, beginnend unter der Adresse »aa«. Der zweite Schritt der Suchanweisung besagt, daß unter einer Adresse aus dem ersten Schritt das dritte Niveauzeichen φ gefunden werden kann. Der dritte Schritt besagt, daß, und ausgehend von der zuletzt erhaltenen Adresse in der umgekehrten Richtung, das dritte (2)-Niveauzeichen gefunden wird, und der letzte Schritt besagt, daß unter der Adresse, die zuletzt ermittelt wurde, in vorwärtiger Richtung das zweite Niveauzeichen φ gefunden wird. Diese vier Schritte sind unter I bis IV in der Zeichnung angegeben. Die Niveauzeichen, die auf
ίο Grund dieser Suchanweisung gefunden werden, sind durch die römischen Ziffern I bis FV oberhalb der Niveauzeichen in dem 3-D-Speicher angegeben. Die Art und Weise, wie diese, Ergebnisse erzielt werden, wird besonders beschrieben.
Es sei darauf hingewiesen, daß die angezeigte Datenkette in Fig. 7 drei verschiedene unterbrochene Maschinenspeicherpositionen einnimmt, und zwar die Positionen unter den Adressen »αα« bis »nn«, die Positionen »//« bis »//«und die Positionen »vv« bis »zz«. Betrachtet man die vorwärtigen Unterbrechungsebenen, dann zeigt sich, daß die Verbindungsadressen in dem zugehörigen Maschinenwort gespeichert sind. Die Adressen »si« bis »tt« sind in die Datenkette zwischen den Adressen »dd« und »ee« eingegliedert. In entsprechender Weise sind die Daten an den Positionen »vv« bis »zz«. in die Speicherung der Positionen »gg« bis »hh« eingegliedert.
Bei der. Suche nach F i g. 7 wird zunächst unter der ,.Ajdxesse »αα« das erste Niveauzeichen @ ermittelt, dann wird ein erfolgreicher Vergleich durchgeführt, und der Steuerkreis fällt in die nächste Abteilung des Suchprogramms, in der die dritte (3) in der Datenkette gefunden werden soll, indem nach rechts fortgeschritten wird. Während des Fortschreitens entlang der Datenkette durch die Positionen »bb« und »cc« taucht die Unterbrechungsmarke -»dd«. auf, das System muß nun das Datenwort unter der Position »dd« auslesen und die Verbindungsadresse »ίί« herausziehen. Nun weiß das System, daß es die Suche an dem Punkt »w« fortsetzen muß und die Adresse »ss« und »tt« suchen muß. Am Punkt »tt« taucht dabei erneut eine Unterbrechungsmarke auf, die anzeigt, daß die Verbindung »ee« herausgezogen werden muß. Die Suche wird nun von diesem Punkt bis zur Position »ff« fortgesetzt, die zwar eine (3), aber nicht die gewünschte anzeigt. Folgerichtig wird die Suche an der Position »gg« fortgesetzt. Dort taucht eine andere Unterbrechungsmarke auf, und die Verbindungsadresse »vv« wird herausgezogen. Dies hat zur Folge, daß die Suche über die Positionen »vv«, »H>w>«, »xx«, »yv«, »zz« fortgesetzt wird. Dort taucht die vierte Unterbrechungsmarke auf, auf Grund derer die Suche erneut zur Verbindungsadresse »hh« zurückkehrt. Die Suche schreitet nun über »M« zu »iV« fort. In der Position »/;« findet sich die dritte (3)-Marke, womit die Suchbedingungen erfüllt sind. Die vier Unterbrechungszeichen wurden nacheinander an den Positionen »dd«, »tt«, »gg« und »zz« gefunden, jede dieser Adressen war in dem Kehrspei- eher ^ der am Fuß der Fig. 7 dargestellt ist, placiert. Die Eingabe in den Kehrspeicher erfolgt von links nach rechts und die Ausgabe von rechts nach links. Die Art und Weise, wie der Kehrspeicher benutzt wird, wird nun an Hand des dritten Schrittes erläutert, der die Anweisung enthält, gehe nach links und finde das vierte Niveauzeichen Q). Die Suche setzt sich rückwärts nach links fort und findet die Positionen »/*« und »hh«, die beide das ©-Zeichen ent-
halten. Das gewünschte ©-Zeichen ist jedoch noch nicht gefunden. In der Position »/ift« wurde eine Unterbrechungsmarke entdeckt, und· die letzte Position des Kehrspeichers, die zugänglich werden soll, und eine darin gespeicherte Adresse werden abgelesen. Die fragliche Position des Kehrspeichers enthält die Adresse »zz«. Es zeigt sich also, daß solch eine rückwärtige Suche nach einer verbundenen Datenkette möglich ist. Die Suche setzt sich nun an der Position »zz« fort und schreitet über die Positionen »zz«, »yy«, »xx« und »ww« schließlich zu »vv« fort, wo sich das gewünschte vierte ©-Niveauzeichen in der Tat findet. Obgleich eine weitere rückwärtige Unterbrechungsmarke an dieser Position gefunden wurde, verhindert die erfolgreiche Lokalisierung des gewünschten Niveauzeichens die Auslesung der Adresse »gg« aus dem Kehrspeicher, bis entschieden ist, ob die Suche in dieser Richtung fortgesetzt werden soll oder nicht. Da das vierte Niveauzeichen dieser Suche nach rechts weist, wird der Kehrspei- ao eher nicht weiter abgefragt. Die Suche wird vielmehr in der φ-Niveau-Ebene fortgesetzt, und das gewünschte zweite φ wird unter der Position »xx« gefunden. Dies ist die Anfangsadresse des gewünschten Datenstücks, das bei dieser Suche lokalisiert werden as soll. Bei diesem Punkt handelt es sich natürlich um die Endadresse des fraglichen Datenkettenteils, dessen Anfangsadresse ebenfalls automatisch ermittelt wird, in einer Weise, wie es sich aus weiter unten beschriebenen Beispielen ergibt. ·.· H-.
Bei dem eben beschriebenen Beispiel wurde nicht im einzelnen beschrieben, auf welche Weise die neuen Niveau-Ebenen unter den neuen Adressen zugänglich gemacht Werden. Im Verfolg einer der Datenverbindungen, hier von Position »dd« zu Position »si«, werden die zugehörige Niveau-Ebene und vorwärtige Unterbrechungsebene mit der Adresse »ss« automatisch aus dem 2-D-Speicher ausgesondert in die zugehörigen Register -des Suchringes, und die Suche wird fortgesetzt. Demnach wird also bei einer Suchoperation in einem solchen hierarchisch organisierten System für Datenketten unterschiedlicher Länge der 2-D-Speicher nach der Identifizierungs-. marke, ausgehend von einem bestimmten Punkt, abgesucht, und das Datum selbst wird dabei, soweit es den Inhalt des Datums betrifft, nicht zugänglich, ehe nicht die Beginn- und Endadressen des gewünschten Teils des Datums gefunden sind. Eine Ausnahme gegenüber dieser Bedingung liegt beim hier beschriebenen System darin, daß die sechste, siebte und achte Buchstabenposition eines Datums aus dem Hauptspeicher ausgelesen werden muß, und zwar an einer Adresse, die über eine vorwärtige Unterbrechungsmarke gefunden wird. .
Hierzu 3 Blatt Zeichnungen

Claims (14)

Patentansprüche:
1. Datenspeichersystem zur Ein- und Ausspeicherung von in Ketten zusammengefaßten Daten unterschiedlicher Feldlänge, wobei die Ketten unter sich eine hierarchische Ordnung besitzen und ein HilfsSpeicher zur Aufnahme der Unterbrechungsadressen verwendet wird, gekennzeichnet durch eine Einrichtung (B bis E in Fig. 1) zur Feststellung der Rangordnung der durch Rangordnungssymbole gekennzeichneten Eingabedaten, zur Zuordnung von Steuerzeichen (Niveau-, Ereignis-, Adressenfeld- und Verkettungszeichen) zu diesen Daten, zum Ordnen dieser Daten entsprechend der festgestellten Rangordnung, zur Feststellung freier Plätze im Hauptspeicher (Hl) und zur Markierung von Adressen im Hilfsspeicher(H2), unter denen sich in dem Hauptspeicher (H 1) Daten- ao Wörter mit Steuerzeichen befinden, wobei sich diese Markierungen auch auf Anfangsadressen von Datenfeldern beziehen können, und schließlich durch eine Ausgabesteuerung (/ bis M), die die Markierungen im Hilfsspeicher (H 2) absucht und durch" Verkettung nicht kontinuierlich im Hauptspeicher (H 1) gespeicherter Teilketten eine kontinuierliche Ausgabe der gewünschten Datenkette vornimmt.
2. Datenspeichersystem nach Anspruch 1, dadurch gekennzeichnet, daß der Hilfsspeicher (H 2) mehrere, den verschiedenen Rangordnungen zugeordnete Ebenen besitzt und daß im Hilf speicher (H 2) die Markierung in einer der entsprechenden Rangordnung des Datenfeldes zugeordneten Ebene sowie in allen niedrigeren Ebenen des Hilfsspeichers (H 2) eingetragen wird.
3. Datenspeichersystem nach Anspruch 1 und/ oder 2, dadurch gekennzeichnet, daß zur Verkettung zweier Datenteilketten, die mangels eines freien Speicherfeldes entsprechender Größe nicht in einem zusammenhängenden Speicherfeld des Hauptspeichers (Hl in Fig. 1) gespeichert werr den können, im Hilfsspeicher (H 2) eine Ebene für eine vorwärtige UnterbrechuHgsanzeige und eine Ebene für eine rückwärtige Unterbrechungsanzeige vorgesehen sind, wobei in der vorwärtigen Unterbrechungsanzeigeebene unter der Adresse ein Ereigniszeichen eingespeichert wird, die der Hauptspeicheradresse desjenigen Wortes entspricht, das im Anschluß an ein Datenwort oder Datenteilwort ein Verkettungszeichen und die Anfangsadresse eines freien Speicherfeldes ent-' hält, in dem die zu kettende Datenteilkette eingespeichert wird und wobei in der rückwärtigen Unterbrechungsanzeigeebene ein Ereigniszeichen unter derjenigen Hauptspeicheradresse eingespeichert wird, die dem Anfang des freien Speicherfeldes entspricht.
4. Datenspeichersystem nach einem oder mehreren der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß der Hauptspeicher (H 1 in Fig. 1) und der Hilfsspeicher (H 2) durch verschiedene Ebenen eines dreidimensionalen Speichers gebildet werden.
5. Datenspeichersystem nach Anspruch 4, gekennzeichnet durch einen zweidimensionalen Hilfsspeicher(H2 in Fig. 1) mit mehreren für sich adressierbaren Ebenen, von denen jede die gleiche Anzahl Speicherplätze wie die Zahl der Wortspeicherplätze im Hauptspeicher (Hl) enthält. . _
6. Datenspeichersystem nach einem oder mehreren der Ansprüche 1 bis 5, dadurch gekennzeichnet,, daß der ,Hilfsspeicher(H2 in Fig. 1), von einer bestimmton Adresse ausgehend, nach einem bestimmten Kennzeichen absuchbar ist.
7. Datenspeichersystem nach einem oder mehreren der Ansprüche 1 bis 6, gekennzeichnet durch eine Einrichtung zur Feststellung von Niveauzeichen in einer Datenkette.
8. Datenspeichersystem nach einem oder mehreren der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß die Niveauzeichen nur einzeln in den Maschinenwörtern jeweils an vorbestimmter Stelle innerhalb eines Maschinenwortes untergebracht sind.
9. Datenspeichersystem nach Anspruch 8, dadurch gekennzeichnet, daß die Niveauzeichen in der ersten Wortstelle eines Maschinenwortes untergebracht sind.
10. Datenspeichersystem nach einem oder mehreren der Ansprüche 1 bis 9, dadurch gekennzeichnet, daß die Verbindungszeichen und Verbindungsadressen, über die die einzelnen Teile einer Datenkette aneinandergereiht sind, im Hilfsspeicher (H2 in Fig. 1) in einer bestimmten Ebene gespeichert sind und daß in einer anderen Ebene Kennzeichen für den jeweils nächsten freien Wortspeicherplatz gespeichert sind.
11. Datenspeichersystem, nach einem oder mehreren der Ansprüche 1 bis 10, dadurch gekennzeichnet, daß die Verbindungszeichen mit der zugehörigen Verbindungsadresse jeweils in den letzten drei verfügbaren Stellen des zugehörigen Maschinenwortes untergebracht sind.
12. Datenspeichersystem nach einem oder mehreren der Ansprüche 1 bis 11, dadurch gekennzeichnet, daß die durch die Verbindungsadressen gegebene Reihenfolge von Datenkettengliedern aus mehreren, gegebenenfalls nicht aufeinanderfolgenden Wortspeicherstellen durch Adressenänderung veränderbar ist.
13. Datenspeichersystem nach Anspruch 12, dadurch gekennzeichnet, daß in eine durch die Verbindungsadressen gegebene Reihenfolge bestimmter Datenketten ein, anderes Datenglied durch Adressenänderung eingliederbar ist.
14. Datenspeichersystem nach einem oder mehreren der Ansprüche 1 bis 13, dadurch gekennzeichnet; daß bei einer Umgliederung oder einer Eingliederung nach Anspruch 12 oder 13 die hieran beteiligten Daten zum größten Teil ihren alten Speicherplatz beibehalten.
DE1474042A 1963-07-05 1964-07-02 Datenspeichersystem zur Ein- und Ausspeicherung von in Ketten zusammengefaßten Daten unterschiedlicher Feldlänge Expired DE1474042C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US292862A US3273129A (en) 1963-07-05 1963-07-05 Computer data storage and handling system having means for linking discontinuous data

Publications (3)

Publication Number Publication Date
DE1474042A1 DE1474042A1 (de) 1969-08-28
DE1474042B2 DE1474042B2 (de) 1973-09-13
DE1474042C3 true DE1474042C3 (de) 1974-05-02

Family

ID=23126530

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1474042A Expired DE1474042C3 (de) 1963-07-05 1964-07-02 Datenspeichersystem zur Ein- und Ausspeicherung von in Ketten zusammengefaßten Daten unterschiedlicher Feldlänge

Country Status (3)

Country Link
US (1) US3273129A (de)
DE (1) DE1474042C3 (de)
GB (1) GB1052176A (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3422404A (en) * 1966-02-23 1969-01-14 David E Ferguson Apparatus and method for decoding operation codes in digital computers
US3534338A (en) * 1967-11-13 1970-10-13 Bell Telephone Labor Inc Computer graphics system
DE1814000A1 (de) * 1967-12-19 1969-08-28 Ericsson Telefon Ab L M Verfahren zum UEbertragen von veraenderlichen Daten aus einer ersten Adresse in einem ersten Bezirk eines ersten Speicherfeldes zu einer zweiten Adresse in einem zweiten Bezirk eines zweiten Speicherfeldes im Datenspeicher eines Computers
JPS513185B1 (de) * 1969-12-16 1976-01-31
US3681781A (en) * 1970-09-04 1972-08-01 Goodyear Aerospace Corp Storing and retrieval method
US4383298A (en) * 1980-04-10 1983-05-10 Ciba-Geigy Corporation Plant maintenance control system
US7788167B1 (en) 2007-03-21 2010-08-31 Trading Technologies International, Inc. System and method for management and analysis of electronic trade orders
US9987144B2 (en) 2015-07-17 2018-06-05 Globus Medical, Inc. Intervertebral spacer and plate

Also Published As

Publication number Publication date
GB1052176A (de) 1900-01-01
US3273129A (en) 1966-09-13
DE1474042A1 (de) 1969-08-28
DE1474042B2 (de) 1973-09-13

Similar Documents

Publication Publication Date Title
DE3486142T2 (de) Datenstruktur in einem Dokumentenverarbeitungssystem.
DE2226290C2 (de) Vorrichtung und Verfahren zum Darstellen von Information auf einer zyklisch auffrischbaren Anzeigevorrichtung
DE2914132A1 (de) Datenbanksystem mit informationsvergleich
DE3650156T2 (de) Auf regeln basiertes datenwiederauffindverfahren und anordnung.
DE2331589A1 (de) Datenverarbeitungsanordnung
DE2163342C3 (de) Hierarchische binäre Speichervorrichtung
DE1524225B2 (de) Verfahren zum betriebe einer redigier- und wiedergabeeinrichtung
DE2659042A1 (de) Datenbanksystem
DE2926322C2 (de) Speicher-Subsystem
DE1449544A1 (de) Datenverarbeitende Maschine mit ueberlappend abrufbarem Speicherwerk
DE1474042C3 (de) Datenspeichersystem zur Ein- und Ausspeicherung von in Ketten zusammengefaßten Daten unterschiedlicher Feldlänge
DE2221442A1 (de) Assoziativspeicher
DE3736455A1 (de) Hierarchisches ablagesystem
DE3209187A1 (de) Verfahren zur darstellung eines textes auf einer einzeiligen anzeigevorrichtung eines texterstellungsgeraetes
DE1171650B (de) Maschine zur serienmaessigen Verarbeitung von Daten in binaerer Zeichenverschluesselung
DE1499713A1 (de) Verfahren und Schaltungsanordnung zum Packen von Informationen in einem zyklisch umlaufenden Speicher mit wahlfreiem Zugriff zu den auf den Spuren befindlichen Speicherzellen
DE1221037C2 (de) Verfahren zur Speicherung hierarchisch geordneter Datenketten und Anordnung zur Durchfuehrung dieses Verfahrens
DE1214906B (de) Verfahren und Anordnung zur Speicherung und Entnahme hierarchisch geordneter Daten
DE1549422B2 (de) Datenverarbeitungsanlage mit variabel vorwaehlbarer wortlaenge
DE69132182T2 (de) System und Verfahren zum Abruf von Zeichenreihen
DE3714514A1 (de) Vorrichtung und verfahren zur textverarbeitung
DE1269657B (de) Anordnung zur gesteuerten Entnahme von Informationen aus einer aus mehreren Registerstufen bestehenden, pyramidenfoermig ausgebildeten Speicheranordnung
DE1774866C3 (de) Schaltung zur Bestimmung der Adresse einer in einem Speicher einer Datenverarbeitungsanlage enthaltenen, gesuchten Information
DE1774917A1 (de) Elektronische Rechenanlage
EP0139816B1 (de) Verfahren und Anordnung zum Aufsuchen von einem vorgegebenen Suchargument entsprechenden Daten einer Datenfolge mit assoziativen Einrichtungen

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
E77 Valid patent as to the heymanns-index 1977
EHJ Ceased/non-payment of the annual fee