DE1214906B - Verfahren und Anordnung zur Speicherung und Entnahme hierarchisch geordneter Daten - Google Patents
Verfahren und Anordnung zur Speicherung und Entnahme hierarchisch geordneter DatenInfo
- Publication number
- DE1214906B DE1214906B DEJ25844A DEJ0025844A DE1214906B DE 1214906 B DE1214906 B DE 1214906B DE J25844 A DEJ25844 A DE J25844A DE J0025844 A DEJ0025844 A DE J0025844A DE 1214906 B DE1214906 B DE 1214906B
- Authority
- DE
- Germany
- Prior art keywords
- level
- memory
- register
- circuit
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/02—Comparing digital values
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9017—Indexing; Data structures therefor; Storage structures using directory or table look-up
- G06F16/902—Indexing; 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90339—Query processing by using parallel associative memories or content-addressable memories
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
- Document Processing Apparatus (AREA)
Description
DEUTSCHES
PATENTAMT
AUSLEGESCHRIFT
Int. CL:
Nummer:
Aktenzeichen:
Anmeldetag:
Auslegetag:
Aktenzeichen:
Anmeldetag:
Auslegetag:
G06f
Deutsche KL: 42 m-14
n, 3. @/
1214 906 ■■ v;-_,,ή
J 25844IX c/42 m
15. Mai 1964
21. April 1966
J 25844IX c/42 m
15. Mai 1964
21. April 1966
Die Erfindung betrifft ein Verfahren, Datenketten aus Teilen unterschiedlicher Länge so in
Speicher einzutragen, daß danach die Entnahme gewünschter Teile der Daten ohne Kenntnis der absoluten
Adresse des Speicherplatzes möglich ist.
Ein Digitalrechner kann allgemein als ein datenverarbeitendes System betrachtet werden, das Daten
in einer Form aufnimmt und sie nach Durchführung einiger Operationen wieder abgibt; diese Operationen
werden nach Vorschriften durchgeführt, die von der Bedienungsperson angegeben- werden. Diese Vorschriften
und die Daten müssen in einer dem Rechner verständlichen Form angegeben werden. Nicht
alle -bestehenden Rechner »verstehen« jedoch dieselbe Sprache; es war deshalb bisher die Aufgabe des
Programmierers, die Übersetzung in die betreffende Sprache durchzuführen. Um diese mühsame Arbeit
zu erleichtern, wurde automatisches Programmieren entwickelt, wobei die Maschine selbst diese Übersetzungsarbeit
übernimmt. Zu diesem Zweck wurden sogenannte problemorientierte Sprachen FORTRAN,
ALGOL oder COBOL geschaffen. Mit wachsender1 Maschinengröße wurden diese Programmierungshilfen ebenfalls umfangreicher und komplizierter.
Weiter ist es bei dem bisherigen Verfahren nötig, für neue Anwendungsgebiete und für neu geschaffene
Maschinentypen jeweils neue Programmierungshilfen zu entwerfen.
Bei einer gegebenen Rechnertype läßt sich die selbsttätige Programmierung durch zusätzliche Einrichtungen
vereinfachen; diese Einrichtungen sind jedoch jeweils auf ein bestimmtes Problem, etwa ein
wissenschaftliches oder kommerzielles, zugeschnitten. Wirtschaftlicher wäre es, statt der problemorientierten
Programmierungshilfen ein an die Eigenart der zu verarbeitenden Daten angepaßtes Verfahren
zu finden und die dazu nötigen Einrichtungen zu schaffen, die jedoch von der Eigenart der benutzten
Maschine unabhängig sein sollten.
Die meisten zu verarbeitenden Daten haben nicht die von dem Rechner unmittelbar akzeptable Form;
sie liegen nicht in der Form einer fortlaufenden Kette von Daten fester Länge vor. Vielmehr müssen
sie umgeformt werden, um in die auf feste Längen eingerichteten Speichersysteme zu passen. Die Daten
besitzen nämlich im allgemeinen variable Feldlänge und veränderliches Format. Die Sprache — als Eingabedaten
betrachtet — läßt sich unterteilen in Symbole, Begriffe, Sätze, Absätze, Kapitel, Bücher
und Bücherei. Wie man auch diese Unterteilung nennt, die Daten haben eine solche Unterteilung.
Weiterhin sind die Datenfolgen nicht notwendiger-Verfahren und Anordnung zur Speicherung und
Entnahme hierarchisch geordneter Daten
Entnahme hierarchisch geordneter Daten
Anmelder:
5
5
International Business Machines Corporation,
Armonk, N. Y. (V. St. A.)
Vertreter:
Vertreter:
ίο Dipl.-Ing. H. E. Böhmer, Patentanwalt,
Böblingen (Würtl), Sindelfinger Str. 49
Böblingen (Würtl), Sindelfinger Str. 49
Als Erfinder benannt:
Rex Rice, Los Altos, Calif. (V. St. A.)
Rex Rice, Los Altos, Calif. (V. St. A.)
Beanspruchte Priorität:
V. St. v. Amerika vom 23. Mai 1963 (282 807) - -
weise zusammenhängend. Wenn ein weiteres Symbol in die Kette einzufügen ist, ist es gewöhnlich nötig,
das Symbol an einer Stelle zu speichern und eine
a5 Verbindung zu dem Begriff herzustellen, in dem es
normalerweise auftritt. Eine solche Technik ist vorzuziehen gegenüber dem Verfahren, das die gesamte
Datenkette verschiebt, um Platz für die Einfügungen zu schaffen.
Die Erfindung macht es sich zur Aufgabe, eine Erleichterung_jfe_PjOj£att^
und Entnahme hierarchisch geordneter Daten zu erzielen.
Dies geschieht dadurch, daß die Rechenmaschine bei der Eingabe der hierarchisch geordnoten
Daten selbsttätig die Aufteilung der Daten entsprechend ihrer Ordnung vornimmt, die Zuteilung
von Speicherstellen überwacht und registriert und die selbsttätige Suche nach Teilen der Daten ermöglicht.
Gegenstand der Erfindung ist ein Verfahren zur Speicherung hierarchisch geordneter Datenketten
mit variabler Länge der Datenteile innerhalb der hierarchischen Niveaus und zur Entnahme von
Datenteilen eines beliebigen Niveaus, mit dem Merkmal, daß in eine zu speichernde Datenkette vor der
Eingabe in den Speicher an den Anfang eines jeden hierarchischen Niveaus ein das Niveau markierendes
Zeichen eingefügt wird, daß die Eingabesteuerung des Speichers ein einlaufendes Niveauzeichen in
einem Hilfsspeicher einträgt und die zugehörigen Daten in einer der Speicherstelle des HilfsSpeichers
eindeutig zugeordneten Stelle des Hauptspeichers einträgt und daß bei der Suche nach einem Datenteil
609 559/351
das zugehörige Niveauzeichen vorgegeben, der Hilfsspeicher
nach diesem Zeichen durchsucht und aus der gefundenen HilfsSpeicheradresse die Hauptspeicheradresse
ermittelt wird.
Weitere Einzelheiten der Erfindung gehen aus den Unteransprüchen hervor. Das nachfolgend beschriebene
Ausführungsbeispiel wird durch Zeichnungen erläutert.
F i g. 1 ist ein Funktionsdiagramm in Blockform der erfindungsgemäßen Speicher- und Sucheinrichtung;
Fig. 2 zeigt die Zusammensetzung der Fig. 2a
bis 2 h;
Fig. 2a bis 2h zeigen die Schaltung eines bevorzugten
Ausführungsbeispiels;
F i g. 3 a bis 3 c sind eine Blockdarstellung von Einzelheiten der Speichersteuerung;
F i g. 4 zeigt schematisch eine Stufe des Eingabepuffers;
F i g. 5 und 5 a zeigen Vergleichsschaltungen, und Fig. 6 ist das Zeitdiagramm eines Speicherzyklus.
In der folgenden Beschreibung werden die Bezeichnungen 2D und 3D benutzt, um zwei- bzw.
dreidimensionale Speicherorganisationen zu bezeichnen.
Das Ziel der vorliegenden Erfindung wird erreicht durch ein besonderes System der Datenspeicherung
und durch eine Anordnung der Daten derart, daß die Daten hierarchisch in Niveaus angeordnet sind und
daß die Daten eines Niveaus Identifizierungszeichen für dieses Niveau enthalten. Das Speichersystem
macht von HilfsSpeichern Gebrauch, die viele dem Hauptspeicher zugeordnete Abteilungen enthalten, in
denen »Niveauzeichen« jeweils gespeichert werden, wenn Daten des betreffenden, zugehörigen Niveaus
entdeckt und im Hauptspeicher untergebracht werden. Jede Abteilung des Hilfsspeichers dient zur
Markierung des Auftretens nur eines hierarchischen Niveaus von Daten, und die Stelle oder Adresse des
Niveauzeichens im Hilfsspeicher gibt die Adresse des zugehörigen Datenniveaus im Hauptspeicher. Das
System enthält weiter Suchsteuerschaltungen, die selbsttätig den Hilfsspeicher absuchen, um die absolute
Adresse von bestimmten Datenteilen innerhalb einer langen Kette von Daten festzustellen,
wenn nur die Anfangsadresse der gesamten Kette und die relative Lage des gewünschten Teiles in der
Hierarchie vorgegeben sind.
Damit ist die Grundlage für eine Maschinensprache gegeben, die logisch und unmittelbarer
arbeitet und viel von der Programmierungsarbeit gegenwärtig· bekannter Rechner vermeidet. Es werden
dabei die Vorteile der raschen Suche von »assoziativen Speichern« erzielt und gleichzeitig der
zusätzliche Vorteil gewonnen, Daten variabler Länge zu behändem; die Suche ist weiterhin nicht beschränkt
auf ein bekanntes Feld einer vorgegebenen Datenform, wie es beim assoziativen Speicher notwendigerweise
der Fall ist.
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
Systemaufbaues an Hand des Blockschemas der Fig. 1. Daran anschließend wird jeder einzelne
Block unter Benutzung der Fig. 2 ausführlich beschrieben. Schließlich folgt die Darstellung einer
vollständigen Eingabe- und Suchoperation.
Datenform
Im allgemeinen besteht jede Gruppe von Daten aus Ketten von Symbolen. Eine 3 · 3-Matrix z. B.
ist eine Kette von neun Symbolen. In diesem Falle sind die Symbole gewöhnlich Zahlen. Aber gewöhnlich
ist darüber hinaus noch eine Hierarchie oder Gruppierung übergeordnet. Im Beispiel der
Matrix besteht die Gruppierung in Symbolen, die in
ίο Zeilen enthalten sind, die ihrerseits in der Matrix
enthalten ist. Das ist eine einfache Gruppierung. Die Sprache, als hierarchische Ordnung betrachtet, kann
folgendermaßen gruppiert werden: Symbole (oder Wörter) bilden Sätze, diese Absätze, diese Kapitel,
diese Bücher, letztere Büchereien. Das Symbol ist die kleinste bedeutungsvolle Gruppierung; ein Beispiel:
der Buchstabe »b« hat keine Bedeutung, aber die Buchstaben »ball« stellen einen Begriff dar und
bilden deshalb ein Symbol. Die vier Buchstaben b-a-1-1 sind Symbole für den wirklichen Ball.
Eine andere Gruppierung ist die folgende:
Feld,
Aufzeichnung,
Gruppe,
Gruppe,
Block,
Band,
Sammlung,
Bücherei.
30
Band,
Sammlung,
Bücherei.
30
Im Zusammenhang mit Rechnern werden die Begriffe Gruppierung oder Niveau oft gebraucht an
Stellen, wo Feld das unterste oder am wenigsten bedeutungsvolle Glied der Hierarchie sein konnte.
Die nachfolgend genannten Begriffe oder Niveaus steigen auf bis zu »Bücherei«, welches das höchste
oder umfassendste Glied der Gruppe ist. Wie diese Gruppierungen auch benannt sein mögen, sie bestehen
innerhalb der Daten, und sie werden bei der Datenorganisation nach der Erfindung durch besondere
Kennmarkierungen bezeichnet. Diese Markierungen treten als besondere Symbole in einer
Datenkette auf und bezeichnen das Ende einer Gruppe und den Beginn einer neuen. Es können viele
Bezeichnungen für diese Markierungen gewählt werden; dies hängt zum Teil ab von den Namen, die
man den Gruppierungen gegeben hat. Um unnötige Verwirrungen zu vermeiden, werden die nachfolgend
bezeichneten hierarchischen Niveaus während der ganzen Beschreibung benutzt; man hat sich darüber
klar zu sein, daß diese Bezeichnungen keine andere Bedeutungen haben als eine bequeme Bezeichnung
für die verschiedenen hierarchischen Niveaus.
55 | Merkzeichen | Niveaubezeichnung |
Φ | Symbol | |
Φ | Begriff | |
60 | © | 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 © ein usw. Wenn mehr als ein Merkzeichen ohne trennende Buchstaben nebeneinander
stehen, so werden alle außer dem höchsten vernachlässigt und weggelassen.
Wenn Daten dieser Form in die erfindungsgemäße Einrichtung eingegeben werden, so wird das
Auftreten der verschiedenen Niveaus oder Merkzeichen [wie ©, ©, (D 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 »1« bezeichnet
wird.
Jeder Kette von Datensymbolen kann ein Name zugeordnet werden, der für die Zwecke der Erfindung
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 hat. Diese Namen werden in einer Namentabelle zusammen mit ihren Adressen
in einer Abteilung des Speichersystems 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 Anfängsadresse einer Kette benutzt
werden können, einschließlich der absoluten Adresse selbst.
Ein Beispiel für einen typischen Maschinenbefehl nach der vorliegenden Erfindung könnte folgendermaßen
aussehen:
A®\
5©f 2©f 6-C©f
4],
worin die Teile einfach bedeuten, daß die darauffolgende Zahl das Niveauzeichen vor dem Teil erläutert;
so bedeutet φ f 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 angeschriebene Befehl ist alles, was der Programmierer zur Durchführung der bezeichneten
mathematischen Operation bei Benutzung des Speicher- und Suchsystems der vorliegenden Erfindung
zu tun hat.
Um die Erleichterung im Programmaufbau zu zeigen, ist nachfolgend, wie bei einem bekannten
Rechner (IBM 704) für dieselbe Operation erforderliche Programmgestaltung gezeigt:
05600004736
02000004737
04000004735
06010004740
-06000004741
02000004737
04000004735
06010004740
-06000004741
(B
(MQ ■ C
(Acc + A
(Acc + A
MQ)
-Acc, MQ)
Acc)
(1)
(MQ^D2)
(MQ^D2)
wo: 4735 die Adresse von A, 4736 die Adresse von B, 4737 die Adresse von C, 4740 die Adresse der
ersten 36 Bits von D, 4741 die Adresse der letzten 36 Bits von D sind und MQ das Multiplikanden-Quotienten-Register
und Acc den Akkumulator bezeichnen.
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. Das vorliegende System ist also eine
Abkehr vom bekannten Stand der Technik, wo die Arbeitsweise der Bausteine von sehr strengen Regeln
für die Datenform, Datenlänge und sogar deren Inhalt abhängt.
Nach Beschreibung der Datenform soll nun die zugehörige apparative Einrichtung behandelt werden.
Eine Speichereinrichtung, die Datenformen der vorgeschriebenen Art verarbeitet, muß für Speicherung
und Suche daran angepaßt sein. Das einfache Funktionsdiagramm der Fig. 1 erleichtert das Verständnis
der folgenden Ausführungen.
Damit das erfindungsgemäße System arbeitsfähig ist und die einlaufenden Daten in das hierarchisch organisierte Speichersysteme verteilen und unterbringen kann, müssen natürlich 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 ® 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 Bä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-Darstellung gezeigt wurde. Die folgende Liste von aus 8 Bits bestehenden Zeichen soll nur ein Beispiel eines bei der Erfindung verwendbaren Codes sein; es kann selbstverstä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 Vergleichsemrichtungen diesen Codes anzupassen.
Damit das erfindungsgemäße System arbeitsfähig ist und die einlaufenden Daten in das hierarchisch organisierte Speichersysteme verteilen und unterbringen kann, müssen natürlich 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 ® 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 Bä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-Darstellung gezeigt wurde. Die folgende Liste von aus 8 Bits bestehenden Zeichen soll nur ein Beispiel eines bei der Erfindung verwendbaren Codes sein; es kann selbstverstä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 Vergleichsemrichtungen diesen Codes anzupassen.
60
Φ | 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 war deshalb erforderlich,
weil die Niveauzeichen mit allen Eingabedaten vermischt verwendet werden und in einem vielseitigen
Gesamtsystem mehr als zweihundert erkennbare Zeichen (alphanumerische Zeichen, Sonderzeichen
und Niveauzeichen eingeschlossen) auftreten.
Bei der Beschreibung des Ausführungsbeispiels der Erfindung wird eine Reihe von Beschränkungen
für das an den Speicher einzugebende Format der Daten vorgegeben; dieses bedeutet jedoch keine Einschränkung
des Erfindungsgedankens. Die folgenden Daten, enthaltend Personalangaben eines Angestellten,
sollen im Hauptspeicher untergebracht werden:
© 080964, © JOE* GLOPMEYER,
ίο φ 1956 WEST 4th STREET,
φ POUGHKEEPSIE, N. Y. ©.
Im Hauptspeicher wird diese Datenkette so eingegeben, wie es die folgende Tabelle I zeigt.
© | * | * | P | * | T | E | * | E | Y | * | <u | . Haupt |
15) | * | * | M | © | 4 | T | © | P | ' | * | .Sonder- ·§ | speicher |
* | © | E | 1 | Γ | N | P | S | N | © | kern- jg | ||
(4) | © | 7 | Y | 9 | ff | N | O | I | N | — | ebenen q | |
(3) | O | O | E | 5 | S | N | U | E | N | — | (N | |
(7) | 8 | E | R | 6 | T | " N | G | • | N | — | ||
(T) | O |
S
P |
N | R | N | H | JV | N | — | |||
9 | G | N | £ | E | N | K | N | — | ||||
6 | L | 5 | E | — | ||||||||
4 | O | |||||||||||
2V | ||||||||||||
Die obere Hälfte der Tabelle, die als Sonderkernebenen, 2 D-Speicher bezeichnet ist, zeigt ganz links
© bis ®; jeder dieser Kreise bedeutet eine besondere Kernebene. Die untere, mit Hauptspeicher bezeichnete
Tabellenhälfte stellt die im Hauptspeicher 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 acht Bits bestehenden Zeichen ist also ein Maschinenwort mit 64 Bitstellen
nötig. Die Niveauzeichen φ bis ® treten bei jedem Maschinenwort immer in der ersten Stelle oder 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 Nullzeichen (dargestellt
durch den Buchstaben N) dort eingefügt, und der Suchvorgang oder das Auslesen übergeht selbsttätig
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 gefü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 Sonderkernebenen an einer Adressenstelle eingetragen wurde,
die einem Maschinenwort im Hauptspeicher entspricht und die ein Niveauzeichen enthält. Weiter ist
darauf hinzuweisen, daß beim Auftreten einer © oder © alle folgenden Niveauzeichen, d. h. ®, ©, φ
bzw. ©, in den Sonderkernebenen ebenfalls aufgezeichnet werden, an Stellen, die dem Maschinenwort
entsprechen, in dem das höhere Niveauzeichen auftrat.
Das im Blockdiagramm der F i g. 1 dargestellte System kann selbsttätig eine einlaufende Datenkette
der gezeigten Art prüfen und sie selbsttätig im Hauptspeicher nach den von Tabelle I dargestellten Regeln
unterbringen. Der mit Eingabepuffer bezeichnete Teil A hat die Aufgabe, die Daten aus einem verhältnismäßig
langsamen Eingabesystem zu übernehmen, sie vorübergehend zu speichern und mit der möglichen.
Maschinengeschwindigkeit in die Maschine einzugeben. Sie arbeitet lediglich als Pufferspeicher
und gestattet der Maschine, mit höchster Wirksamkeit zu arbeiten. Von hier fließen die Daten in den allgemein
als Eingabevergleich und -steuerung genannten Teil B.
Die Daten gelangen vom Teil A zeichenweise zum Teil B. Letzterer prüft jedes Zeichen und stellt fest,
ob es eines der gewählten Niveauzeichen [© bis @] ist und gliedert bejahendenfalls die Datenkette entsprechend
den vorher aufgestellten Regeln auf. Ent-
sprechend der Tabelle I setzt dieser Teil selbsttätig das Niveauzeichen in die erste Stelle eines Maschinenwortes,
sorgt für die Eingabe des »Ereignisse-Zeichens in die richtige Kernebene des 2 D-Speichers,
zählt selbsttätig die Zeichen in einem Maschinenwort, so daß jeweils acht Zeichen in den Hauptspeicher
gelangen, und bringt selbsttätig ein Zeichen aus dem Speicherregister in den Hauptspeicher, wenn
ein zweites Niveauzeichen auftritt, bevor acht Zeichen im Speicherregister eingelaufen sind; schließlich be- ίο
sorgt dieser Teil noch die Einfügung von Null-Zeichen in der richtigen Stelle des Speicherregisters
für die spätere Übertragung zum Hauptspeicher. Die Funktion des Teils B wird vom Eingabetaktgeber
C gesteuert.
Die Daten werden also aus dem Teil B unmittelbar in das Speicherregister gebracht, das sie, gesteuert
vom Taktgeber, zum Hauptspeicher weitergibt. Die Niveauzeichen werden durch das in Teil B enthaltene
und später noch zu beschreibende Zählregister in die richtigen Stellen des 2 D-Speichers eingetragen.
Der Hauptspeicherteil D enthält den 2 D-Speicher und den 3 D-Speicher sowie die verschiedenen Register
und Taktgeber; er ist in Aufbau und Arbeitsweise ohne Besonderheiten; die Beschreibung seiner
Einzelheiten ist deshalb entbehrlich. Aus der Beschreibung für F i g. 3 wird später hervorgehen, wie
die Adressen für die Speicher 2D und 3D abgeleitet
werden.
Die in der vorliegenden Beschreibung benutzten Speicher sind Magnetkernspeicher; die Erfindung
könnte natürlich auch mit anderen Speichertypen ausgeübt werden. Im Beispiel hat der Speicher 3 D in
X- und Y-Richtung die 128 Bits und ist 64 Bits tief; er kann also Zeichen zu 8 Bits und Wörter zu acht
Zeichen aufnehmen, wie früher schon festgestellt wurde. Die Sonderkernebenen enthalten ebenso in
X- und Y-Richtung je 128 Bits; sie besitzen also eine Bitstelle für jedes der 64 Maschinenwörter im zugeordneten
Hauptspeicher.
In F i g. 3 sind die Sonderkernspeicherebenen räumlich unmittelbar über dem 3 D-Speicher angeordnet;
dieses ist die bequemste Art der Anordnung. Natürlich können diese Ebenen auch räumlich vom
Hauptspeicher getrennt werden, die Voraussetzung ist nur, daß alle Adressen des einen Speichers genau
einer Adresse des anderen Speichers zugeordnet sind.
Die Teilet, B, C und D bewirken die Dateneingabe
in den Hauptspeicher entsprechend der hierarchischen Ordnung von Tabelle I. Diese Einjabevorgänge
laufen vollkommen selbsttätig ab; die Bedienungsperson braucht dabei nicht einzugreifen.
Die Teile E, F, G und H veranlassen die selbsttätige
suche nach den von der Eingabeseite gespeicherten Daten. Der Teil D ist bei beiden Vorgängen beteiligt,
Der Teil E enthält eine Reihe von Registern und Sippkreisen, denen vom Programm Informationen
larüber zugeleitet wird, wonach im Hauptspeicher zu wehen ist. Diese Suchinformation beginnt mit einer
Vnfangsadresse und gibt weiter an, welche Niveau- öo
:eichen von dieser Adresse ausgehend im Hauptpeicher festzustellen sind. Diese in den Teil E einge-
;ebene Information wird von dort Schritt für Schritt um Niveausuchringteil F weitergegeben. Dieser ent-Lält
außer dem Suchring Steuerschaltungen zur )urchgabe von Daten aus einer der Sonderkernbenen
2 D. Vom Teil F wird die in den Sonderkernbenen gespeicherte Information abgesucht und gezählt,
bis ein besonderes Bit in dieser Kernebene gefunden ist. Dann wird entweder dieses Bit in das
Sonderregister (Teili?) übertragen oder aus Teil .E
der nächste Suchschritt angefordert, je nachdem wie der Suchbefehl lautet. Die Arbeit der Teile E, F
und H wird von dem mit G bezeichneten Suchtaktgeber gesteuert, der sehr ähnlich ausgebildet ist wie
Teil C.
Im Zusammenhang mit den Fig. 2a bis 2h wird
nun die Steuereinrichtung für das vorstehend allgemein beschriebene System dargestellt. Dabei sind die
in den Blockschaltungen enthaltenen und nicht gezeigten Schaltungseinzelheiten von konventioneller
Art und bedürfen keiner näheren Erläuterung. In den Zeichnungen der Fig. 2a bis 2h sind durch punktierte Linien Teilet-H umgrenzt, die den TeilenA-H
der F i g. 1 entsprechen.
Der Teil A (Fi g. 2 a) zeigt in Blockform den Eingabepuffer. Er besteht aus einer Vielzahl von Verriegelungsschaltungen,
wie sie z. B. in dem Buch »Arithmetic Operations in Digital Computers« by R. K. Richards, D. van Nostrand, Inc. New
York, F i g. 2 bis 14 a, gezeigt sind. Der Puffer enthält zwölf Stufen, was bedeutet, daß bis zu zwölf
Zeichen darin gespeichert werden können. Die Zahl der Stufen ist zum Teil von dem verwendeten Eingabemedium
abhängig (Lochstreifen oder Magnetband). Der Puffer wird von den Eingabe- und Ausgabesteuerringen
12 bzw. 11 gesteuert, die bestimmen, welche Stufe beim Eingeben oder Entnehmen von Daten benutzt werden soll.
Die Information gelangt in den Eingabepuffer unter der Steuerung des Eingabemediums, das, wie
gesagt, Lochstreifen, Magnetband, Magnettrommel od. dgl. sein kann. Sowie ein Zeichen auf der Eingabeleitung
vorliegt, wird auch ein Fortschaltimpuls geliefert, der den Eingabesteuerring um eine Position
fortschaltet, so daß die Zeichen in aufeinanderfolgende Stellen des Puffers 10 eingegeben werden. Die
Steuerringe sind von üblicher Art, beispielsweise sind sie in dem genannten Buch von Richards in den
F i g. 7 bis 13 a gezeigt. Die Zahl der Speicherstellen des Eingabepuffers 10 kann also geändert werden; die
einzige Anforderung ist, daß er groß genug* ist, um ein ganzes Speicherwort aufzunehmen, ohne daß auf
die Nachlieferung eines Restes gewartet werden muß, und weiter, daß jeweils eine freie Speicherstelle verfügbar
ist, so daß die Eingabe nicht durch die Ausgabegeschwindigkeit beeinflußt wird. Praktisch ist
die Ausgabe aus dem Puffer 10 soviel schneller als die übliche Eingabe, daß die zweite Bedingung nie
ein Problem bildet.
Der Zähler 14 verhindert eine Ausgabe aus dem Puffer 10, bevor wenigstens acht Zeichen darin gespeichert
wurden. Diese Zahl wurde gewählt, weil das Speicherregister und der Hauptspeicher zur Aufnahme
von Maschinenwörtern mit acht Zeichen ausgelegt sind und weil die Arbeit des Systems gefördert
wird durch die Sicherheit, daß immer wenigstens ein Maschinenwort im Eingabepuffer enthalten ist, ehe
Vergleich Ausgabe und Speicherung beginnen. Unter Umständen kann auf die Verwendung dieses Zählers
auch ganz verzichtet werden.
Es soll hier unter Benutzung der F i g. 4 eine kurze Beschreibung der Arbeitsweise des Eingabepuffers
gegeben werden. In dieser Figur ist eine einzige Stufe des Puffers dargestellt. Eine solche Stufe enthält
acht Kippschaltungen 10«; es sind acht erforder-
609 559/351
11 12
lieh, weil ein 8-Bit-Code benutzt wird. Daten laufen welche in der Sonderkernebene ein Niveauzeichen
auf dem aus acht Leitungen bestehenden Eingangs- geschrieben wird, und steuert die folgende Eingabe
leiter 10 & ein. Ein Impuls vom Eingabesteuerring solcher Niveauzeichen und bestimmt die Stellen in
öffnet die Torschaltungen 10 c und läßt die Eingangs- den Sonderkernebenen niedrigeren Niveaus. Der
daten zur Einstellung der Kippschaltungen in Über- 5 Ring selbst ist ein Abwärtszähler üblicher Bauart,
einsrimmung mit dem Eingangssignal passieren. Die- Der Eingabetaktgeber C (Fig. 2d) ist eine be-
jenigen Kippschaltungen, für die kein »1«-Signal ein- kannte Anordnung von monostabilen Kippschaltun-
geht, bleiben in ihrem Null-Zustand. Vorher muß gen. Die Arbeitsweise der einzelnen Schaltelemente
natürlich eine Rückstellung vorgenommen worden soll später erläutert werden; hier darf festgestellt
sein, die über die Torschaltungen 10 d durch das Zu- io werden, daß die Stufen 1 bis 5 die Speicherung auf-
sammenwirken des Rückstellsignals und eines Signals einanderfolgender Zeichen im Speicherregister steu-
vom Ausgabesteuerring vorgenommen wird. Zur ern und so eine Schleife bilden, bis ein zweites
Weitergabe der in den Kippschaltungen enthaltenen Niveauzeichen in einer Datenkette gefunden oder
Werte dienen die Torschaltungen 10 e, die von einem bis acht Zeichen im Speicherregister gespeichert
Signal des Ausgabesteuerrings geöffnet werden. Die 15 sind; im letzteren Falle veranlaßt die Stufe 6 des
Daten verlassen den Puffer über die sechszehnadrige Taktgebers einen Speicherzyklus. Die Stufen 7 und 8
Leitung 50, auf der für jede Bitstelle Eins- oder Null- des Taktgebers steuern die Speicherung von Markie-
werte erscheinen. Die Ausgabe auf sechzehn Lei- rungen in den Sonderkernebenen und veranlassen
tungen wird vorgezogen, weil sie für die Vergleichs- das Fortschalten des Niveauringes 58, sobald eine
schaltungen der später zu besprechenden für F i g. 5 ao Marke in einer Ebene eingeschrieben ist und bis alle
besonders geeignet ist. solche Marken eingeschrieben sind.
Fig. 2b (enthaltend TeilZ?) zeigt die Niveau-Ver- Wegen des Niveauvergleichers 56 wird auf Fig. 5
gleicher- und Steuerschaltungen zur Prüfung der Ein- verwiesen, die weitere Einzelheiten zeigt. Dort ist
gangsdaten aus dem Eingabepuffer 10 hinsichtlich ersichtlich, daß eine Und-Schaltung mit acht Eingän-
der früher gegebenen organisatorischen Regeln. 25 gen für jedes Niveauzeichen vorgesehen ist; ein Ein-
TeilZ? übt, im Zusammenwirken mit dem Eingabe- gang von den 0- und 1-Leitungen des sechzehn-
taktgeber (TeilC in Fig. 2d), folgende Funktionen adrigen Eingangskabels aus Register 6 ist mit ent-
aus. sprechenden Eingängen der Und-Schaltungen je
nach dem zu prüfenden Zeichen verbunden. Jedes-
(a) Bei jedem Zeichen wird festgestellt, ob es ein 30 mai; wenn alle acht Eingänge einer Und-Schaltung
Niveauzeichen ist; erregt sind, erscheint auf dem einzigen Ausgang dei
(b) sobald acht Zeichen im Pufferregister 96 ent- betreffenden Und-Schaltung ein »Gleich«-Signal. Die
halten snid, wird ein Speicherzyklus eingeleitet; sieben in Fig. 5 gezeigten Ausgänge entsprecher
,*,.,.„, . . -»τ. . , den Ausgangsleitungen 57 an der Unterseite des
(c) beim Vorfinden eines zweiten Niveauzeichens Niveauvergleichers 56 (Fig. 2b). Fig. 5a zeigt Einwird
dessen Speicherung im Pufferregister in der zelheiten der in F i g. 5 als große Blocks dargestellausschließlich
dafür vorgesehenen Stelle veran- ten ^.Schaltungen. Die in Fig.5a gezeichnete
laßt; Rückstelleitung führt natürlich zu allen Und-Schal·
d) es wird das Ende einer Datenfolge geprüft, und tungen der F i g. 5.
(e) die Niveauzeichen werden in den Sonderkern- 4° u &« Teil D läßt sich zunächst am besten in Verebenen
des 2 D-Speichers eingegeben. bPdunS Ψ* den, F1 g· 3 a bis 3 c beschreiben, du
eine Blockdarstellung der in Fig. 2c mit D bezeicb
neten Einrichtung wiedergibt und dort mit Speicher
Eines der wesentlichen Bestandteile der Teile C steuerung und Speicher bezeichnet ist. Dieser Tei
und D (Fig. 2d bzw. 2c) ist der Niveauausgleicher, 45 enthält den Hauptspeicher 900 (Fig. 3b) und dei
in dem jedes einlaufende Zeichen mit den sieben Hilfsspeicher 901; letzterer enthält eine Anzahl voi
Niveauzeichen parallel verglichen wird. Die Ver- zwei .D-Speicherebenen, jede zur Aufnahme eine
gleichskippschaltung 64 verhindert den Durchlaß von bestimmten Niveauzeichens. Es wurden nur dre
mehr als einem Niveauzeichen pro Maschinenwort, solche Ebenen dargestellt und mit den Niveauzei
und ihre Arbeitsweise wird später ausführlicher be- 50 chen ©, © und (D versehen, die sie aufzunehmei
schrieben. Der Vergleichszähler 62 bestimmt zusam- haben. F i g. 3 zeigt außerdem das Speicheradreß
men mit der Vergleichskippschaltung die Zahl der register, das für jeden Lese- oder Schreibvorganj
Niveauzeichen innerhalb einer Datenkette, insofern, beim 3D- oder beim 2 D-Speicher die Adressen ii
als er die Speicherung dieser Zeichen im Speicher- bekannter Weise liefert. Weiter sind dargestellt dl·
register und ihre Stelle im Maschinenwort beeinflußt. 55 Entschlüsselungsmatrizen und Kerntreiber für die X
Das Speicherregister 96 (Fig. 2c) ist ebenfalls ein und y-Leitungen im 3D-Speicher, ebenso die Mitte
konventionelles Magnetkernregister. Der Steuerring für die Treiberauswahl und -steuerung des 2D-Spei
102 bestimmt in üblicher Weise, in welche Stelle des. chers aus dem Speicheradreßregister 300 und di
Registers aufeinanderfolgende Binärzeichen einzu- getrennten Einrichtungen zum Schreiben eines ein
geben sind. Die Eingangswerte gelangen aus dem 60 zelnen Bits in den 2 D-Speicher beim Eingabezyklu
Register 6 (Fig. 2b) und, gesteuert von den Ver- und für das Lesen einer vollständigen Zeile aus der
gleichsschaltungen, in das Speicherregister. 2D-Speicher beim Suchzyklus.
Nach einem erfolgreichen Vergleich in der Ein- Das Speicherregister 96 (F i g. 3 c) ist identisch m:
richtung 56 wird eine der Leitungen 77 erregt; durch dem Register gleicher Bezeichnung in F i g. 2. Diese
Einwirkung der Kippschaltung 64 wird dann die Tor- 65 Register kann nämlich für den Schreib- und Lese
schaltung 68 durchlässig, und eine Stelle des Niveau- Vorgang beim Hauptspeicher 900 benutzt werdei
ringes 58 wird eingestellt. Dieser Niveauring be- Das Register 312 (hundertachtundzwanzig Bits) emp
stimmt die höchste Stelle eines Maschinenwortes, in fängt Information aus den 2D-Speicherebenen 9Oi
904, 906 usw. (Fig. 3b). Durch einen Befehl kann
diese Information zum Register 610 (Fig. 2g) der Suchschaltung übertragen werden.
Um Information in dem System zu speichern, wird zunächst die Adresse für die Einführung eines Bits
in das Speicheradreßregister 300 eingegeben. Diese Adresse wird aus einem Hilfsspeicher 301 (Fig. 3a)
gewonnen, der als Verfügbarkeitsliste bezeichnet werden kann und einfach ein Zähler sein mag, der
mit der Wortstelle 0 des Hauptspeichers beginnt und bis zur vollen Wortzahl von 16784 weiterschaltet, die
der Kapazität des Hauptspeichers von 128 · 128 Wörtern entspricht. Diese Art der Speicherplatzwahl ist
bekannt.
Es sei angenommen, daß im Register 300 eine Adresse und im Speicherregister 96 ein Maschinenwort
bereit zur Speicherung vorliegen; der X-Teil der Adresse wird dann von den Entschlüsselungsmatrizen 540 und 542 entschlüsselt, durch die Torschaltungen
546 und 544 zum Treiber 548 (8-16 Kerne) geleitet und verursacht auf einer ausgewählten
Jf-Leitung des Hauptspeichers einen Halbwahlimpuls. Dasselbe geschieht für den Y-Teil der
Adresse mittels der Entschlüsseier 541 und des Treibers 549. Nachdem dann noch über die Torschaltungen
908 (Fig. 3c) die Sperrtreiber 910 entsprechend dem im Speicherregister 96 enthaltenen Wort betätigt
sind, wird dieses im Hauptspeicher eingetragen.
Gleichzeitig mit der Speicherung des Maschinenwortes aus dem Speicherregister 96 in den Hauptspeicher
900 wird ein 1-Bit in die entsprechende Stelle der Niveauzeichenebenen 902, 904, 906 usw.
eingetragen. Dazu wird ein Halbwahlimpuls auf die betreffenden X- und Y-Treiberleitungen in den gewählten
Niveauebenen gegeben. Die Eintragung eines solchen Bits in den 2 .D-Teil 901 an einer dem Maschinenwort
des Hauptspeichers 900 entsprechenden Adresse geschieht folgendermaßen:
Der .Xf-Teil der Adresse des Adressenregisters 300
wird über Leitung 912, den Entschlüsseier 914 und das Tor 916 zur Schreibtreibermatrix 918 geleitet.
Dadurch gelangt ein Halbwahlimpuls zu einem der Tore 922, 924 und 926 (usw.), die vom Niveauring
58 (Fig. 2) gesteuert werden. Gleichzeitig mit den Halbwahlimpulsen auf einer der Z-Leitungen wird
der Y-Teil der Adresse im Adressenregister 300 vom Entschlüsseier 310 entschlüsselt und gelangt zur
Freibermatrix552 (Fig. 3c), die auf einer der hunüertachtundzwanzig
Y-Treiberleitungen einen HaIbwahlimpuls
erzeugt. Die Auswahl der Ebene erfolgt luch hier wieder durch den Niveauring 58 mittels
iines der Tore 928, 930, 932 usw. Da, wie schon gesagt, die Niveauzeichen auch in alle Ebenen niedigerer
Ordnung eingegeben werden, veranlaßt der •fiveauring 58 selbsttätig das Öffnen der entspre-
:henden Tore. Einzelheiten darüber werden noch jeschrieben.
Beim Suchvorgang stellt das Lesen einer Informaionszeile aus einer bestimmten Niveauebene und die
Slidung einer Anfangs- und Endadresse für eine betimmte Datenkette den erfinderischen Teil des Suchorgangs
dar, da das bloße Lesen eines oder mehrere Vörter aus dem Hauptspeicher 900 in bekannter
Veise erfolgt. Der Erfindungsgedanke des Systems eruht in der Art und Weise, in der die Adresse für
ie bestimmte, auszulesende Datenkette mit Hilfe er Niveauebenen ermittelt wird. Einzelheiten darber
sollen im Zusammenhang mit der allgemeinen Beschreibung des Teilst (Fig. 2f) und der Beschreibung
des Suchvorganges gegeben werden.
Das System verlangt, daß die Suche an einer bestimmten Stelle oder Adresse des Speichers beginnt,
die vom Suchbefehl festgelegt wird; diese Suchbeginnadresse des Speichers wird zum Speicheradreßregister
300 geleitet. Es muß dabei die gesamte X-Zeile ausgelesen werden, in der die Anfangsadresse enthalten ist; deshalb wird der X-Teil der
ίο Adresse aus dem Register 300 über die Leitung 912
zum Entschlüsseier 914 gebracht und gelangt hinter diesem jetzt durch das Tor 934 (F i g. 3 b) zur Treibermatrix
936. Dieser Treiber 936 liefert (im Gegensatz zum Treiber 918) volle Auswahlimpulse und
bedarf also keiner Koinzidenz mit Y-Impulsen. Ein solches Ausleseverfahren ist bekannt. Wie früher
beim Schreibvorgang erläutert, gelangt ein solcher Vollimpuls durch eines der Tore 922, 924, 926 zu
den nachgeordneten Niveauebenen. Die Auswahl der Torschaltungen geschieht durch das Programm mittels
des Registers 528 (Fig. 2e). Wenn der Vollwahlimpuls des Treibers 936 z. B. der Niveauebene
902 für das Niveau© zugeführt wird, so wird die gesamte, gewählte X-Leitung auf die Y-Leitungen
der Sammelleitung 938 ausgelesen, welche beim Lesevorgang als Abfühlleitung dient. Alle hundertachtundzwanzig
Leiter der Sammelleitung 938 passieren die Tore 304 und 538, und ihre Signale gelangen
zum Abfühlverstärker 940 und weiter zum Register 312. Aus diesem hundertachtundzwanzig
Bits enthaltenden Register können sie durch das Tor 314 zum Register 610 (Fig. 2g) geleitet werden. Die
anderen Sonderkernebenen sind ebenso aufgebaut und einzeln adressierbar.
Die beschriebene Art des 2 D-Teils von Speicher 901 wurde deshalb als Ausführungsbeispiel gewählt,
weil sich hierbei besonders leicht zeigen läßt, wie die X- und Y-Adressen aus dem Adreßregister 300 des
Hauptspeichers entnommen und unmittelbar zur Auswahl bestimmter Stellen des 2 D-Speichers benutzt
werden können, die mit der Stelle korrespondieren, in der im Hauptspeicher ein Maschinenwort
gespeichert ist. Es sind jedoch auch andere, kompliziertere Speichersysteme möglich; Voraussetzung ist,
daß eine Stelle im Hilfsspeicher wählbar ist, dessen Adresse eindeutig mit einer bestimmten Adresse des
Hauptspeichers korrespondiert. Der Hauptspeicher 900 und seine Steuerschaltungen mit X- und Y-Wicklungen
sowie mit Abfühl- und Sperrwicklungen ist in bekannter Weise aufgebaut. Dasselbe gilt für die
Adreßregister-Entschlüsselungsmatrizen, Kerntreiber usw., wie sie in den F i g. 2 und 3 der vorliegenden
Beschreibung enthalten sind.
Der Hauptspeicher besteht aus vierundsechzig Kernebenen, jede aus 128 · 128 Kernen zusammengesetzt.
Ein Maschinenwort enthält also vierundsechzig Bitstellen oder acht Zeichen zu je acht Bits;
das Wort enthält also vierundsechzig binäre Einsen oder Nullen. Jede der hundertachtundzwanzig
X-Leitungen durchsetzt die Kerne gleicher Zeilen jeder Ebene. Jede der hundertachtundzwanzig senkrechter
zu verlaufenden Y-Leitungen durchsetzt alle Kerne gleicher Spalten jeder Ebene. Es sind vierundsechzig
Abfühlleitungen vorgesehen; jede durchsetzt alle Spalten einer Ebene, führt zu einem Abfühlverstärker
und zu der entsprechenden Bitstelle des Eingabe-Ausgabe-Registers 96. Jede Ebene enthält
weiterhin eine Z-Windung, die alle Kerne dieser.
Ebene durchsetzt und je nach dem in diese Bitstelle einzutragenden Bitwert bei Erregung die Herstellung
des vollen Magnetisierungsstromes verhindern kann.
Jedem Wort des. Speichers ist eine Adresse zugeordnet.
Die 16384 Wörter des vorliegenden Haupt-Speichers können durch die Zahlen 0 bis 16383 bezeichnet
werden. Beim Lesen eines Wortes werden alle seine Kerne in den 0-Zustand versetzt; Kerne,
die dabei ummagnetisiert wurden, liefern ein Ausgangssignal zum Ausgaberegister. Es kann eine Regenerierung
des Speicherwertes erfolgen, indem der nunmehr im Ausgangsregister stehende Wert zurückgeschrieben
wird. Vor dem Einschreiben eines neuen Wortes sind alle Kerne dieses Wortes vorher auf 0
gesetzt. Der neue Speicherwert gelangt aus dem Register 96 (Fig. 3c) über die Z-Wicklungen zu den
Speicherkernen.
Zum Betrieb des bezeichneten Speichers ist eine Adresse aus η Bits erforderlich (n gleich 14 für eine
dreidimensionale Speichermatrix mit 16 384 Wörtern), die im Speicheradreßregister enthalten ist und
entschlüsselt werden muß. Im vorliegenden Falle sind zwei Entschlüsseier für je sieben Bits erforder-
Ίη
lieh, die zwei Sätze von -y Ausgängen haben und die Spalten und Zeilen des Speichers erregen. Für die Z- und Y-Leitungen werden positive und negative Impulse zum Lesen bzw. zum Schreiben benötigt, für die Z-Windungen nur Strome einer Richtung.
lieh, die zwei Sätze von -y Ausgängen haben und die Spalten und Zeilen des Speichers erregen. Für die Z- und Y-Leitungen werden positive und negative Impulse zum Lesen bzw. zum Schreiben benötigt, für die Z-Windungen nur Strome einer Richtung.
Die Adressierschaltung für einen solchen Speicher muß natürlich eines der 16 384 Wörter auswählen
können. Dieseem Zweck dient ein 14stelliges Speicheradreßregister (300 in Fig. 3a). Dieses Register
kann 16 384 Kombinationen einstellen; diese Einstellungen können durch Entschlüsselungsmatrizen ausgewertet
werden. Sieben der vierzehn Bits dienen zur Bestimmung der Z-Adresse, sieben für die
Y-Adresse. Gewöhnlich ist mit einem solchen Adreßregister ein auf- oder abwärts schaltender Zähler
verbunden, der nach Einstellung auf eine Anfangsadresse das Register jeweils um eine Stelle erhöht
(oder vermindert). Das setzt, wie üblich, voraus, daß einem gegebenen Problem ein bestimmter Teil des
Speichers zugeordnet ist. In diesem Falle wird die erste Stelle des verfügbaren Speicherteils in dem
Adreßregister festgelegt, und die folgenden Maschinenwörter werden selbsttätig unter der Einwirkung
des sich selbst erhöhenden oder vermindernden Adreßregisters in benachbarte Stellen eingegeben.
Analog verläuft in solchem Falle auch der Lesevorgang.
Der Magnetisierungsstrom für die Speicherkerne wird im Ausführungsbeispiel durch Kerntreiber geliefert,
die wegen der Einfachheit der Ansteuerung ebenfalls in Matrixform angeordnet sein können und
von den eventuell verstärkten Signalen der Entschlüsseier erregt werden. Die Treibermatrix hat im
Beispiel 8 · 16 Kerne und vierundzwanzig Erregerleitungen. Die Achterseite der Treibermatrix
(F i g. 3 a) wird aus den ersten drei Bits der Z- oder Y-Adresse, die Sechzehnerseite aus den folgenden
vier Bits abgeleitet. Um dies darstellen zu können, sind die beiden Entschlüsseier 540 und 541 in zwei
Blöcken dargestellt.
Die Auswahl der Speicherstelle eines bestimmten Wortes geht also folgendermaßen vor sich: Die
Adresse des einzuschreibenden oder zu lesenden Wortes wird in das Adreßregister gebracht, die
Adresse wird in den X- und Y-Entschlüsselern anal
siert, der Ausgang der Entschlüsseier steuert (na Verstärkung) die Z- und Y-Treiber, und diese t
zeugen auf den gewählten X- und Y-Leitungen d Hauptspeichers koinzidente Wahlimpulse. Jeder d
vierundsechzig Kerne dieser Adresse, der ummagE tisiert wird, liefert ein Ausgangssignal, das im Spi
cherregister 96 zwischengespeichert wird.
Einige Bemerkungen sollen noch über das Tal ίο gebersystem gemacht werden. Einrichtungen c
vorliegenden Art arbeiten meist asynchron; sie vera lassen selbst die Entstehung der Taktsignale. Je
Speicheroperation wird von einem Startsignal ei geleitet. Die Zeitschaltungen selbst machen gewöt
lieh von monostabilen Kippschaltungen und Verzöj rungseinrichtungen Gebrauch. Die in den Fig.!
und 2 h und C und G gezeigten Taktgeberschaltt gen könnten in ähnlicher Weise für die Taktgabe c
Speicher benutzt werden. Die wesentlichen Ze ao punkte im Speichersystem sind aus der Fig. 6
entnehmen, deren erste Zeile die Lese- und Schre impulse auf den X- und Y-Leitungen zeigt. Aul
den auf beiden Erregerleitungen auftretenden, h positiven Lese- und negativen Schreibimpulsen ist;
Ende der ersten Zeile noch ein Hilfsmittel gezei dieser schafft einen gewissen Ausgleich für das A
wandern des Arbeitspunktes infolge mangeln« Rechteckigkeit der verfügbaren Kernmateriali
Seine Verwendung ist bekannt. . Die zweite, mit Leseschalter bezeichnete Zeile g
die Zeitdauer an, während deren die Impulse ι ■ Lesetreiber auf die X- und Y-Leitungen durchgel
sen werden. Die beiden folgenden, mit Sperrscha] und Schreibschalter bezeichneten Zeilen geben
entsprechenden Zeiten für die Sperr- und Schre impulse an. Auf der mit Ausblendung bezeichne
folgenden Zeile ist die Zeitdauer markiert, wähn deren die Leseverstärker geöffnet sind. Der auf
letzten Zeile markierte Zeitraum kann entweder Vermehrung des Adreßregisterinhaltes (bei Ad]
sierung fortlaufender Speicherstellen) oder zur Rü stellung des Adreßregister (im Falle neuer Adres:
rung) benutzt werden. Zum gleichen Zeitpunkt Vi auch das Eingabe-Ausgabe-Register 96 gelöscht.
Die Steuerung der verschiedenen Speicherope tionen wird durch das Programm festgelegt, welc
bestimmt, ob Information aus Eingabegeräten in ι Speicher gelangen soll oder ob bestimmte Da1
ketten aus bestimmten Adressen des Speichers < nommen werden sollen. Das Speichersteuersysteir
nach Erhalt der Befehlsfolge im wesentlichen uo hängig und führt Eingabe- oder Entnahmesch]
selbsttätig durch und ist nach Erledigung eines fehls bereit, zum nächsten Programmschritt übej
gehen.
Es sollen.nun die in den Fig. 2e bis 2h enthE
nen_Teile E, F, G und H, nämlich die Suchteili großen Zügen beschrieben werden. Der Te:
(Fig. 2e) enthält ein Register516 mit den Anfai
adressen einer Datenkette, an welcher die Sv nach den hierarchisch geordneten Daten begin
soll. Diese Adresse wird auf Befehl zu dem fri beschriebenen Adreßregister 300 des Hauptspeic
durchgelassen; dort wird die zugeordnete Y-Leii des 2 D-Speichers ermittelt, um das Mveauzek
auf dieser Leitung festzustellen. Das Register speichert dasjenige Niveau, nach dem gesucht ^
den soll; das Niveau wird wiederum vom Such
gramm bestimmt. Das Niveauzeichen wird im Entschlüsseier 529 entschlüsselt, der die ganze Y-Leitung
aus der gewünschten [z.B. ©] Sonderkernebene des 2 D-Speichers abruft. Dieser Vorgang wurde
im Zusammenhang mit F i g. 3 beschrieben.
Die Zahl der Niveauzeichen, die bei der Anfangsadresse beginnend, gesucht werden sollen, ist im Register
562 enthalten und wird wiederum vom Programm abgerufen. Der Inhalt von 562 wird in die
Vergleichsschaltung 638 (Fig. 2g) übertragen und mit dem Ergebnis des Suchringes 614 verglichen. Die
Richtung der Suche (nach links oder nach rechts) wird wiederum, und zwar durch Einstellung der
Kippschaltung 580 vom Programm bestimmt. Der eigentliche Suchbefehl wird bei 510 (Fig. 2h) vom
Programm in die Oder-Schaltung 512 eingegeben und setzt den Suchzyklus in Gang. Zusammengefaßt: Die
für eine Suche nötige Eingangsinformation ist der Suchbefehl, die Anfangsadresse, die zu suchenden
Niveauzeichen, die Zahl der auf jedem Niveau zu zählenden Markierungen und schließlich die Richtung
der Suche.
Der TeilF enthält den Suchring614 (Fig. 2g)
und eine Reihe von Steuerschaltungen und führt tatsächlich die Suche in den Niveauebenen durch, um
die Anfangs- und Endadressen der bestimmten Datenkette zu bestimmen.
Wenn die hierarchischen Niveauzeichen in den Sonderebenen 901 (Fig. 3b) gespeichert sind, so
kann ein bestimmter Datenteil gefunden werden, vorausgesetzt, daß seine relative Lage in der Datenkette
bekannt ist; zu diesem Zweck wird dann zunächst die der höchsten Klassifikationsordnung zugeordnete
Kernebene mit der Anfangsadresse der Datenkette abgetastet, um die Speicheradresse zu
finden, an der die höchste Klassifikationsordnung für die gewünschte Information untergebracht ist, anschließend
wird zu dem dieser Adresse entsprechenden Kern der nächstniedrigen Ebene übergegangen
und die Suche fortgesetzt, bis die geforderte Zahl von Niveauzeichen in dieser Ebene gefunden ist. Dieses
Verfahren wird fortgesetzt, bis die gewünschte Adresse ermittelt ist. Ein Suchbefehl könnte also beginnen
bei der Adresse A, die erste ©, die zweite ®, die fünfte φ und die dritte φ aufzusuchen. Die Suche
schreitet zwar normalerweise in einer Richtung fort; es ist jedoch möglich, die Suchrichtung während des
Suchvorganges zu ändern. Es sei angenommen, daß das vorletzte Feld in der zweiten Aufzeichnung eines
bestimmten Datenblocks lokalisiert werden soll. Dann erfolgt die Suche in der ersten Ebene, bis das
zweite Markierungszeichen gefunden wird; die Suche schreitet dann in der nächsten Ebene in der anderen
Richtung weiter, bis die erste Feldmarkierung gefunden ist.
Die Suchschaltung eines solchen Speichersystems muß also in der Lage sein, die Suche in den Kernen
der Niveauebenen (oder in einem anderen Register, in dem die Niveauzeichen gespeichert sind) an jeder
gewünschten Stelle zu beginnen und die Suche in jeder Richtung vorzunehmen. Die Schaltung muß
auch ein Ausgangssignal liefern können, wenn ein solches Bit gefunden ist, und das Ausgangssignal
muß in verschlüsselter Form die zugehörige Speicheradresse enthalten. Die Suchschaltung muß weiter in
der Lage sein, die Suche fortzusetzen, wenn die ermittelte Adresse, d. h. das Niveauzeichen, nicht die gesuchte
ist.
Die Suchschaltung enthält einen vielstufigen Suchring 614, der mit dem Register 610 verbunden ist, in
das die Werte aus aufeinanderfolgenden Zeilen einer ausgewählten Hilfsebene, eingetragen werden. Dem
Ring ist also der Inhalt des Registers 610 zugänglich. Es sind Mittel vorgesehen, um einer der Anfangsadresse des Suchbefehls entsprechenden Stufe des
Rings Abfrageimpulse zuzuführen. Falls die betreffende Stufe des Registers 610 ein Bit enthält, wird
ίο von der abgefragten Stelle des Rings ein Ausgangssignal
geliefert. Normalerweise schreitet die Abfrage von Stufe zu Stufe weiter; wenn jedoch ein Bit in
einer Stufe des Registers vorgefunden wird, tritt eine Unterbrechung in. der Abfrageimpulsgabe ein. Falls
nach Feststellung eines Bits in einer Registerstelle die Suche fortgesetzt werden soll, so kann diese Suche in
der einen oder anderen Richtung wiederaufgenommen werden.
Die hundertachtundzwanzig Stufen des Registers 610 (Fig. 2g) können jeweils den Zustand 1 oder 0
annehmen. Wenn eine Registerstufe im Zustand 1 ist, so enthält sie (definitionsgemäß) ein Bit. Die Registerstufen
können aus üblichen Kippschaltungen bestehen, die im 1-Zustand ein andauerndes Signal abas
geben, oder sie können (wie Magnetkerne) einen Ausgangsimpuls liefern, wenn sie von 1 nach 0 übergeführt
werden.
Die Ausgänge des Registers 610 liegen über entsprechende Leitungen 612 an den Stufen des Suchrings
614 an. Der Suchring kann die Information aus dem Register speichern und nacheinander abfragen,
bis ein Bit entdeckt ist. Diese Abfrage kann an jeder Stelle des Rings beginnen und nach beiden
Richtungen laufen. Die Ausgänge von den Stufen 0 bis 127 gelangen zur Steuerschaltung, um die nächste
Datentzeile aus den Hilfsebenen anzufordern. In diesem Falle wurde das gewünschte Bit nicht gefunden.
Dieser Vorgang ist in einzelnen im Suchbeispiel erläutert. Wenn in einer Stufe des Rings ein Bit vorgefunden
wird, dann entsteht auf der dieser Stufe entsprechenden Leitung 616 des Rings ein Signal, und
die Abtastung wird angehalten. Durch ein Signal auf die der lokalisierten Stufe entsprechende Leitung 618
kann die Suche, beginnend mit der rechts benachbarten Stufe, fortgesetzt werden; durch ein Signal auf
die entsprechende Leitung 620 läuft die Suche, beginnend mit der links benachbarten Stufe, weiter. Am
Ende eines Suchzyklus, oder falls die gesuchte Markierung im laufenden Suchzyklus nicht vorgefunden
wurde, stellt ein Impuls aus der Oder-Schaltung 623 über Leitung 622 alle Stufen des Suchringes 614 zurück;
der Suchring ist damit für eine neue Suche mit neuem Inhalt des Registers 610 bereit.
Ein Ausgangsimpuls auf einer der Leitungen 616 des Suchringes 614 gelangt über die gemeinsame Leitung
626 zum Zähler 628 sowie zum Verschlüsseier 630. Bei letzterem entsteht ein Ausgangssignal auf
sieben der vierzehn Leitungen 632 (auf einer Leitung jedes Paares), die zu sieben Kippschaltungen FFl;
FFl, FF 4, FFS, FFU, FF 32 und FF 64 des Adreßregisters
634 führen. Ein Signal auf der linken Leitung eines Paares zeigt das Vorliegen eines Bits in
dieser Stelle an und setzt die angeschlossene Kippschaltung in den 1-Zustand; ein Signal auf der rechten
Leitung kennzeichnet das Fehlen eines Bits in dieser Stelle und setzt die zugeordnete Kippschaltung
in den 0-Zustand. Das Register 634 zeigt also an, in welche der hundertachtundzwanzig Stufen des
609 559/351
Registers 610 das letzte vorgefundene Bit enthalten
war. Das Register 634 kann außerdem noch über die
vierzehnadrige Leitung 558 (diese angeschlossen an die Torschaltung 550 [Fig. 3a]) eingestellt werden.
Damit läßt sich von außen bestimmen, an welcher Stelle der Suchring 614 eine bestimmte Suche anfangen
soll.
Der Inhalt des Zählers 628 wird im Vergleicher 638 mit dem dort über Leitung 639 aus dem Suchprogramm
und dem Register 562 eingestellten Wert verglichen. Dieser Wert wird durch die relative Lage
der gewünschten Information in der Datenkette bestimmt und ist (in den Niveauebenen) gleich der Zahl
der Niveaubits, die angetroffen werden müssen, ehe die gewünschte Adresse in der abgetasteten Niveauebene
angetroffen wird. Bei erfolgreichem Vergleich geht ein Signal über Leitung 640 zu der Steuerschaltung
als Zeichen dafür, daß die gewünschte Adresse gefunden ist, und veranlaßt, unter anderem, die
Rückstellung des Suchringes 614. Bei nicht erfolgrei- ao
chem Vergleich erscheint auf der Leitung 642 ein Signal, das die vierzehn Und-Schaltungen 644 veranlaßt,
die Ausgänge der Kippschaltungen FFl bis FF 64 des Adreßregisters 634 auf sieben der vierzehn
Leitungen 646 durchzulassen. Diese Leitungen bilden einen Teil der Eingangsleitungen des Entschlüsselet
648, dessen andere Eingänge die Leitungen 650 (Rechts-Sucher) und 652 (Links-Sucher) sind. Der
Entschlüsseier erregt daraufhin entweder die Leitung 618 oder 620, woraufhin der Suchvorgang in einer
von beiden Richtungen fortschreitet. Eine genauere Beschreibung folgt später.
Der Suchtaktgeber (Teil G in Fig.'2h) ist dem
Eingabetaktgeber sehr ähnlieh, so daß eine allgemeine
Beschreibung hier nicht nötig ist; Einzelheiten 3S
werden bei der Beschreibung des Suchbeispiels gegeben. TeilH (Fig. 2e, rechte Seite) enthält im
wesentlichen zwei Register 764 und 780, worin Suchresultate abgespeichert werden.
Nachfolgend werden nun Beschreibungen von Ein- ^0
gabeoperationen und Suchoperationen mit Einzelheiten der Schaltungen gegeben.
Eingabebeispiel
Die folgende Tabelle II ist ein Flußdiagramm des Arbeitsablaufs »Dateneingabe- und -speicherung«
bei der erfindungsgemäßen Einrichtung. Die Tabelle zeigt klar die Funktionen der Hauptteile und die zeitliche
Aufeinanderfolge der Ereignisse.
Tabelle Π
Eingabe-Steuerschritte
Eingabering 11 auf 1 stellen.
Speicherregisterring 102 auf 1 stellen.
Speicherregister auf 0 stellen.
Vergleichszähler 62 auf 0 stellen.
Niveauring 58 auf allen Stellen ausschalten.
Vergleichs-Kippschaltung 64 auf 0 stellen.
Eingabering 11 auf 1 stellen.
Speicherregisterring 102 auf 1 stellen.
Speicherregister auf 0 stellen.
Vergleichszähler 62 auf 0 stellen.
Niveauring 58 auf allen Stellen ausschalten.
Vergleichs-Kippschaltung 64 auf 0 stellen.
Wenn der Eingabezähler 14 bis 8 gezählt hat, setzt er den Taktgeber (CL) in Gang.
CL-I Zeichen nach 6 durchlassen,
Vergleichsschaltungen erregen,
zu CL-2 weitergehen.
zu CL-2 weitergehen.
45
55
Tabelle Π (Fortsetzung)
CL-2 Eingabepuffer rückstellen,
Eingabezähler um 1 vermindern.
Wenn Vergleichszähler auf 1, dann Vergleichs-FF auf 1 stellen,
bei erstem Schritt oder Ungleichheit -> CL-3, wenn zweiter Vergleich und Speicherregister (sp.reg.) nicht in erster Stelle-=»- CL-6,
wenn zweiter Vergleich und sp. reg.-Ring nicht an erster Stelle -=- CL-9.
Wenn Vergleichszähler auf 1, dann Vergleichs-FF auf 1 stellen,
bei erstem Schritt oder Ungleichheit -> CL-3, wenn zweiter Vergleich und Speicherregister (sp.reg.) nicht in erster Stelle-=»- CL-6,
wenn zweiter Vergleich und sp. reg.-Ring nicht an erster Stelle -=- CL-9.
CL-3 Zeichen von 6 nach sp. reg. durchlassen.
Nach CL-4 gehen.
Nach CL-4 gehen.
CL-4 Wenn spÄ-Ring in achter Stellung und Vergleichszähler
bei 0 oder 1 ->· CL-6,
wenn nicht ->■ CL-5.
wenn nicht ->■ CL-5.
CL-5 Ausgabering fortschalten,
sp2?-Ring fortschalten,
6 zurückstellen,
nach CL-I gehen.
6 zurückstellen,
nach CL-I gehen.
CL-6 Speicherzyklus einleiten.
Während dieses Speicherzyklus wird der Inhalt des Speicherregisters im 3 D-Speicher
untergebracht.
Wenn ein Niveauzeichen angetroffen wurde, so wird dies in der höchsten Ebene abgespeichert.
Der»Speicher-Endimpuls« schaltet denNiveauring abwärts, stellt das Speicherregister auf 0,
bringt den Speicherregisterring in seine erste Stellung und geht nach CL-7.
CL-7 Wenn Niveauring auf 0 und Vergleichszähler auf 2"-*- CL-9,
wenn Niveauring auf 0 -=>
CL-8,
wenn Niveauring auf 0 und Vergleichszähler auf 0 oder 1 -> CL-I.
wenn Niveauring auf 0 und Vergleichszähler auf 0 oder 1 -> CL-I.
CL-8 Einleitung eines 2 D-Speicherzyklus,
der »Speicher-Endimpuls« schaltet denNiveauring 58 weiter,
nach CL-7 gehen.
nach CL-7 gehen.
CL-9 Vergleichszähler 62 auf 0 stellen,
Niveauring 58 auf 0 stellen,
Vergleichs-Kippschaltung 64.auf 0 stellen,
nach CL-10 gehen.
Niveauring 58 auf 0 stellen,
Vergleichs-Kippschaltung 64.auf 0 stellen,
nach CL-10 gehen.
CL-10 6 zu Vergleichsschaltungen durchgeben,
nach CL-Il gehen.
nach CL-Il gehen.
CL-Il Vergleichs-Kippschaltung einstellen, wenn Vergleichszähler
auf 1 ist,
nach CL-3 gehen.
nach CL-3 gehen.
Bei der Beschreibung einer Eingabeoperation wird angenommen, daß die unten stehende Datenkette in
den Eingangspuffer zur Speicherung im Hauptspeicher eingetragen werden soll. Bei der Beschreibung
der Arbeitsfolge wird die Tabelle II von Nutzen sein.
© AB CD EFGHI® JKLMNOP®
Diese Datenkette wird im Speicher örtlich so untergebracht, wie es die Tabelle III zeigt.
Tabelle III
©
©
Ή
I
N
N
N
N
N
N
©
N N N N N N N
N N N N N N N
2 D-Niveau-Ebenen (Binärwerte,
z.B. »1«)
z.B. »1«)
10
3 D-Speicher
64 Bits/Masch.-Wort
Die Tabelle bedarf keiner weiteren Erläuterung. Der 2 D-Teil jeder Spalte zeigt an, welche Niveauzeichen
in jeder Ebene eingetragen wurden, nämlich eine binäre »1« für die Adresse eines gegebenen
3 D-Maschinenwortes. Die O-Zeichen sind Zwischenräume, die übergangen werden. Die Methode zur
Einfügung solcher Zeichen ist in der nachfolgenden Beschreibung angegeben. ·
In der oben geschriebenen Datenkette ist das notwendige Niveauzeichen der abzuspeichernden Datenkette.
Die aus Tabelle ΙΓ zu entnehmenden Anfangsbedingungen werden mittels des vom Programm gelieferten
Impulses »Eingabe« veranlaßt. Die ersten acht Zeichen werden durch einen Fortschaltimpuls in den
Eingabepuffer 10 eingegeben. Dieser Fortschaltimpuls schaltet den Eingabering 12 weiter und synchronisiert
die Eingangsdaten, die zum Puffer 10 laufen; er wird mit den Daten mitgeliefert. Jedes in den
Puffer 10 einlaufende Zeichen wird vom Zähler 14 (Fig. 2a) gezählt. Dieser Zähler kann auf- und abwärts
zählen. Der Eingang für das Aufwärtszählen ist nicht gezeigt; das Abwärtszählen (Subtraktion) geschieht
durch Impulse auf Leitung 72. Der Zähler liefert ein Ausgangssignal auf Leitung 222, wenn sein
Zählerstand von 1 bis 7 beträgt und ein Signal auf Leitung 32 beim Stande von 8 oder mehr.
Wenn das achte Zeichen in den Puffer 10 eingelaufen ist, wird die Leitung 32 erregt, und über die
Oder-Schaltung 34 (Fig. 2d) erscheint an der Und-Schaltung
36 ein Eingangssignal. Die vom Signal »Eingabe« auf 1 gestellte Kippschaltung 38 liefert
das zweite Eingangssignal zur Und-Schaltung 36, deren Ausgang differenziert (40) und der Oder-Schaltung
42 zugeführt wird. Die dadurch angeworfene monostabile Kippschaltung 44 liefert den Taktimpuls
1. Gleichartige Kippschaltungen liefern die folgenden Taktimpulse bis zur Nummer 11. Der Taktimpuls
Nummer 1 öffnet über Leitung 46 die Und-Schaltung 48 (Fig. 2a), welche das erste Zeichen
aus dem Puffer 10 über den Kanal SO zum Register 6 (Fig. 2b) durchläßt. Die von 46 gleichzeitig angesprochene
Oder-Schaltung 52 öffnet die Und-Schaltung 54, so daß das Zeichen aus Register 6 zum
Niveauvergleicher 56 gelangen kann. Es wird jetzt die Leitung Nummer 4 (Niveauzeichen 4) des Niveauvergleichers
erregt. Dadurch wird die vierte Stelle des Niveauringes 58 eingestellt und gleichzeitig (über
die Oder-Schaltung 60) der Vergleichszähler 62 auf den Wert 1 gebracht. Da die Vergleichskippschaltung
64 durch das Signal »Eingabe« auf 0 gestellt wurde, liegt auf Leitung 66 ein Signal an, das die Torschaltung
68 für den Durchgang 4 öffnet.
Nach dem Rückfall des Multivibrators 44 wird über Leitung 70 der monostabile Multivibrator Nummer
2 angestoßen; Leitung 72 ist erregt. Dadurch der Eingabepuffer (Fig. 2a) rückgestellt und der
Zähler 14 um 1 vermindert. Da der Vergleichszähler 62 infolge der © nun auf 1 steht, wird über die Oder-Schaltung
74 ein Signal durch die Und-Schaltung 76 zur Vergleichskippschaltung 64 laufen und sie
auf 1 einstellen. Dadurch wird verhindert, daß ein zweite Niveauzeichen in einer Kette von acht Zeichen
oder weniger zum Niveauring 58 gelangen kann. Der Vergleichszähler 62 veranlaßt weiter über die Oder-Schaltung
80 und die mit 72 durchlässige Und-Schaltung 82 die Einstellung der Kippschaltung 84 auf den
1-Zustand. Leitung 86 bereitet nun die Und-Schaltung 88 vor. -Sobald jetzt der Multivibrator Nummer
2 ausschaltet, wird der Multivibrator Nummer 3 über die Und-Schaltung 88 und die Oder-Schaltung
90 angestoßen. Die jetzt erregte Leitung92 läßt (Fig. 2b) über die Torschaltung 94 in das Register 6
enthaltene Zeichen in die erste Stelle des Speicherregisters 96 (Fig. 2c) einlaufen. Wenn der Multivibrator
Nummer 3 ausschaltet, wird Nummer 4 angestoßen und erregt Leitung 98.
Die Und-Schaltung 100 (Fig. 2c) hat als einen Eingang die achte Stelle des Speicherringes 102.
Zur Zeit ist dieser Ring jedoch in seiner ersten Stelle, und die UND-Schaltung 100 liefert keine Ausgangsspannung;
infolgedessen kann der Inverter 104 zu der Und-Schaltung 106 ein Signal liefern, das zusammen
mit dem Signal auf Leitung 98 ein Ausgangssignal
auf Leitung 108 zur Und-Schaltung 122 (Fig. 2d) hervorruft. Wenn die monostabile Kippschaltung
Nummer 4 ausschaltet, ist auch der- zweite Eingang von 122 vorhanden, und die Kippschaltung
Nummer 5 wird angestoßen. Das resultierende Signal auf Leitung 124 schaltet den Ausgabering 11 und
den Speicherring 102 weiter und stellt das Register 6
(Fig. 2b) zurück. Beim Ausschalten der Kippschaltung
Nummer 5 (Fig. 2d) wird die Leitung 126 erregt
und stößt über die Oder-Schaltung 42 die Kippschaltung
Nummer 1 an. Die ersten fünf Kippschaltungen, die in Fig. 2d mit »Zeichenspeicherung im
Speieherregister« bezeichnet sind, bilden also eine Schleife, die zur nacheinander erfolgenden Übernahme
von Zeichen aus dem Eingabepuffer 10 in das Register 6 wirksam sind. Diese Schleife wird achtmal
durchlaufen, außer es wird ein zweites Niveauzeichen angetroffen, oder es wird durch ein »Leerstellen«-
Signal das Datenende signalisiert. Einzelheiten darüber werden noch gegeben.
Für das oben angegebene Beispiel einer Datenkette wird die eben beschriebene Programmschleife
achtmal durchlaufen, und das Speicherregister enthält dann
®ABCDEFG.
Beim achten Durchlauf der Schleife wird der Speicherring 102 in seiner achten Stelle und die Leitung
128 erregt sein (Fig. 2c). Beim vierten Taktimpuls dieses achten Durchganges liefert also die
Leitung 128 ein Eingangssignal zur Und-Schaltung 100; das zweite Eingangssignal nach 100 erscheint
von der Oder-Schaltung80 (Fig. 2b), die von der Stelle 1 des Vergleichszählers 62 aktiviert ist. Da
jetzt die Leitung 98 (Taktimpuls Nummer 4) erregt ist, wird die Und-Schaltung 130 durchlässig, so daß
über Leitung 132 und die Oder-Schaltung 110 (Fig. 2d) die Und-Schaltung 116 beim Ausschalten
der Kippschaltung Nummer 4 die Kippschaltung Nummer 6 über die Oder-Schaltung 118 in Gang
setzen kann. Dadurch wird ein Speicherzyklus eingeleitet, währenddessen der Inhalt des Speicherregisters
im 3 D-Speicher eingetragen wird. Die © wird in der Niveauebene Nummer 4 gespeichert.
Diese beiden Vorgänge kufen folgendermaßen ab: Da die monostabile Kippschaltung Nummer 6 angestoßen
und auf Leitung 134 ein Signal erzeugt wurde, findet ein 3 D-Speicher-Zyklus statt
(Fig. 2c). Da weiter das Niveauzeichen © vorhanden ist, steht der Vergleichszähler 62 (Fig. 2b)
auf 1, und die Leitung 78 ist erregt. Das über die Oder-Schaltung 136 und Leitung 138 zu der Und-Schaltung
140 (Fig. 2c) laufende Signal öffnet in Anwesenheit eines Signals auf Leitung 134 die Und-Schaltung,
so daß die Oder-Schaltung 142 einen Speichervorgang beim 2 D-Speicher einleiten kann.
Am Ende des Speicherzyklus erscheint auf Leitung 144 ein Impuls »Gespeichert«, der den Niveauring
58 (Fig. 2b) von der vierten in die dritte Stelle fortschaltet. Derselbe Impuls stellt auch das Register
96 auf 0 und den Speicherring 102 in seine erste Stellung. Schließlich wird noch die Kippschaltung
Nummer 7 (Fig. 2d) angestoßen. Da der Niveauring 58 nicht in seiner 0-Stellung ist, liefert
die Leitung 148 kein Ausgangssignal, und der Inverter 150 bereitet über die Leitung 152 die Und-Schaltung
156 vor. Der Ausgang der Kippschaltung 7 auf Leitung 151 kann also die Und-Schaltung 156 passieren,
und die Kippschaltung 160 wird auf ihren 1-Zustand eingestellt. Das daraufhin auf Leitung 162
anstehende Signal kann dann beim Rückkippen der Kippschaltung Nummer 7 über die Und-Schaltung
164 die Kippschaltung Nummer 8 anstoßen. Auf Leitung 166 entsteht nun ein Impuls, der über die
Oder-Schaltung 142 (Fig. 2c) einen Speicherzyklus des 2 D-Speichers einleitet. Hierbei wird die © in
der Niveauebene Nummer 3 gespeichert. Danach tritt wieder das Signal »Gespeichert« auf der Leitung
144 auf, das den Niveauring diesmal zu seiner zweiten Stelle fortschaltet, gleichzeitig wird die Kippschaltung
Nummer 7 des Taktgebers wieder angestoßen. Die beiden Kippschaltungen 7 und 8 stellen
also eine weitere Schleife dar, welche zum Eintrag der Niveauzeichen in die untergeordneten Niveauebenen
veranlaßt. Im Falle der © z. B. wird die © während des 3 D-Speicherzyklus in der Ebene Nummer
4 gespeichert, ein Vorgang, der durch den Taktimpuls 6 veranlaßt wurde. Der Taktimpuls? prüft,
ob der Niveauring 58 auf 0 oder auf einer anderen Stelle steht, und wenn der Ring nicht
auf 0 steht, stößt er die Kippschaltung Nummer 8 an, um einen weiteren 2 D-Speicherzyklus zu veranlassen.
Danach findet diese Prüfung noch einmal statt und dauert so lange an, bis der Niveauring
auf 0 zu stehen kam; jetzt wird die Schleife auf folgende Weise verlassen: Da der Niveauring 58 auf 0
steht, ist die Leitung 148 erregt. Der Vergleichszähler 62 steht noch auf 1; die Leitung 226 ist also
nicht erregt, und der Inverter 170 liefert an die Und-Schaltung 172 das zweite Eingangssignal. Die
Und-Schaltung 174, deren zweiter Eingang von der Kippschaltung Nummer Ί, Leitung 154 herrührt,
kann also die Kippschaltung 176 auf 1 stellen und die Leitung 178 erregen.
Dadurch wird die Und-Schaltung 180 (Fig. 2d) vorbereitet, und beim Rückkippen der Kippschaltung
Nummer 7 wird über Leitung 182 die Kippschaltung
ίο 38 auf 1 eingestellt.
Da angenommen werden kann, daß die Ausgabeoperation schneller verläuft als die Eingabe, so ist
es sehr wahrscheinlich, daß am Ende dieser Kette von acht Zeichen der Zähler 14 (F i g. 2 a) auf einer
Zahl kleiner als 8 steht. Die Leitung 32 wird also nicht erregt sein, und es muß gewartet werden, bis
der Inhalt des Zählers 14 den Wert 8 erreicht. Dann wird die Leitung 32 über die Oder-Schaltung 34
(Fig. 2d) der Und-Schaltung36 das zweite Ein-
ao gangssignal liefern (erstes Signal aus 38). Das Ausgangssignal
aus 36 wird in der Differenzierschaltung 40 differenziert und über die Oder-Schaltung 42 zum
Anstoß der Kippschaltung Nummer 1 des Taktgebers benutzt.
Auf gleiche Weise werden die Zeichen H und I aus dem Eingabepuffer 10 entnommen und in die
erste und zweite Stelle des Speicherregisters eingegeben. Der Vergleichszähler 62 steht noch auf 1,
infolge des Einlaufs des ersten Niveauzeichens ©.
Das nächste Zeichen nach dem / ist eine φ. Dieses
Zeichen wird zum Register 6 (F i g. 2 b) und von dort zu den Niveauvergleichsschaltungen 56 gebracht.
Die zweite der Ausgangsleitungen wird erregt und der Vergleichszähler 62 über die Oder-Schaltung 60
nach der Stellung 2 weitergeschaltet. Der Niveauring 58 wird nicht angesprochen, da die Leitung 66
das Tor 68 nicht durchlässig werden läßt.
Der gerade beschriebene Vorgang ereignet sich während des Taktimpulses Nummer 1. Der Taktimpuls
Nummer! entdeckt jetzt, daß der Vergleichszähler 62 in einer zweiten Stellung und das Speicherregister
nicht in seiner ersten Stellung sind. Die Prüfung geschieht folgendermaßen: Da das Speicherregister
nicht in seiner ersten Stellung ist, wird die Leitung 182 (Fig. 2c) nicht erregt, der Inverter 184
liefert ein Ausgangssignal, das zusammen mit dem Signal auf Leitung 226 vom Vergleichszähler die
Und-Schaltung 188 öffnet und über Leitung 190 die Und-Schaltung 192 (Fig. 2b) vorbereitet. Dei
zweite Taktimpuls auf Leitung 72 kann also die Und-Schaltung 192 passieren und die Kippschaltung
194 auf 1 stellen. Das Signal auf der Leitung 196 gelangt zur Und-Schaltung 198 (Fig. 2d), und die
ausschaltende Kippschaltung Nummer 2 schaltei über die Oder-Schaltung 118 die Kippschaltung
Nummer 6 ein. Es wird also ein Speicherzyklus in Gang gesetzt, in dessen Verlauf die Zeichen H und /:
gefolgt von sechs Nullen, in der 3 D-Abteilung des Speichers untergebracht werden. Während diese]
Zeit wird kein Niveauzeichen bearbeitet. Das Signa »Gespeichert« ist jetzt auf den Niveauring 58 unwirksam,
da dieser auf 0 steht. Es wird erinnert, dal; bei den früheren Speicheroperationen der Niveaurinj
abwärts geschaltet wurde durch die Signale »Gespei· chert«, die jeweils nach Durchlaufen der kleiner
Schleife aus den Kippschaltungen 7 und 8 auftraten Am Ende des Speicherzyklus also, während derei
die Zeichen H, I und sechs Nullen gespeichert wur
25 26
den, rückt der Taktgeber zur Stelle 7 vor. Der Takt- über die Oder-Schaltung 60 den Vergleichszähler in
impuls 7 untersucht, ob der Niveauring in der Null- seine zweite Stellung rückt. Da die Leitung 66 nicht
stelle und der Vergleichszähler auf 2 ist; beides trifft erregt ist, empfängt der Niveauring 58 jedoch kein
derzeit zu. Beide Eingänge der Und-Schaltung200 Signal. Der nun folgende Taktimpuls Nummer!
(Fig. 2b) liegen vor. Die nachgeschaltete Und- 5 wird die Tatsache entdecken, daß der Vergleichs-Schaltung
202 wird ebenfalls durchlässig (Taktim- zähler in seiner zweiten Stelle ist und daß der Speipuls
Nummer 7 auf Leitung 154), und die Kippschal- cherregistersteuerring in seiner ersten Stellung ist.
rung 204 gelangt zu ihrer 1-Stellung. Die Leitung 206 Letzteres verursacht (über Leitung 182) das Öffnen
kann jetzt die Und-Schaltung208 (Fig. 2d) vorbe- der Und-Schaltung 224 (Leitung 226 ist erregt), so
reiten, und beim Rückkippen der Kippschaltung 10 daß (über Leitung 228) die Und-Schaltung 230
Nummer 7 wird über die Oder-Schaltung 210 die durchlässig wird. Die Kippschaltung 232 wird jetzt
Kippschaltung Nummer 9 angestoßen. Während auf 1 gestellt, und über Leitung 234 und Oder-Schaldieses
Taktimpulses wird der Vergleichszähler 62, tung210 (Fig. 2d) wird die Kippschaltung Numder
Niveauring 58 und die Vergleichskippschaltung mer9 angestoßen. Diese stellt den Vergleichszähler,
64 auf 0 gestellt. Von Kippschaltung 9 wird Kipp- 15 den Niveauring und die Vergleichskippschaltung 64
schaltung Nummer 10 unmittelbar angestoßen und auf 0 und veranlaßt den Taktimpuls 10. Dieser läßt
über Leitung 212 und die Oder-Schaltung 52 die © wiederum zu den Vergleichsschaltungen
(F i g. 2 b) die Und-Schaltung 54 vorbereitet. So kann durch, und diesesmal wird der Niveauring 58 auf die
jetzt die ©, die noch im Register 6 enthalten ist, zu vierte Stellung gesetzt, und der Vergleichszähler 62
den Niveauvergleichern 56 gelangen; dadurch wird 2o kommt in seine erste Stellung. Es folgt der Taktdie
Stelle 2 des Niveauringes 58 eingestellt und der impuls Nummer 11, der die Vergleichs-Kippschal-Vergleichszähler
62 von 0 auf 1 gebracht. Die tung 64 in die 1-Stellung versetzt und den Taktimrückfallende
Kippschaltung Nummer 10 stößt Num- puls Nummer 3 hervorruft. Letzterer läßt die © aus
mer 11 unmittelbar an; auf Leitung 214 gelangt ein dem Register 6 zu der ersten Stelle des Speicher-Signal
zur Oder-Schaltung74 (Fig. 2b), die Und- 25 registers und verlaßt den Taktimpuls Nummer 4. Es
Schaltung 76 wird durchlässig und die Vergleichs- jst nachzutragen, daß der frühere Taktimpuls Numkippschaltung
64 auf 1 gestellt. mer 2 anläßlich der Entfernung der © aus dem Ein-
Beim Ausschalten der Kippschaltung Nummer 11 gabepuffer 10 den Zähler 14 (F i g. 2 a) auf 0 setzt.
(Fig. 2d) wird über Leitung 216 und die Oder- Infolgedessen sind die beiden Leitungen 32 und 222
Schaltung 90 die Kippschaltung Nummer 3 ange- 30 nicht erregt, und die beiden Inverter 236 und 238
stoßen. Dadurch gelangt das Zeichen © aus dem Re- (Fig. 2d) können über die nachfolgende Und-Schalgister
6 (Fig. 2b) in die erste Stelle des Speicher- tung 240 ein Signal über die noch vorbereitete Undregisters
96. Beim folgenden Taktimpuls der Kipp- Schaltung 242 und die Oder-Schaltung 110 und weischaltung
Nummer 4 wird geprüft, ob der Speicher- ter über Leitung 112 zur Und-Schaltung 116 geben,
ring in der achten Stelle ist und andernfalls die 35 Beim Rückkippen der Kippschaltung Nummer 4
Kippschaltung Nummer 5 angestoßen. Diese schaltet wird 116 durchlässig und die Kippschaltung an
den Ausgabering 11 und den Speicherregistersteuer- Nummer 6 angestoßen. Damit beginnt wieder ein
ring fort, stellt das Register 6 zurück und stößt die Speicherzyklus zur Eingabe der © in die Niveau-Kippschaltung
Nummer 1 an. ebene 4 und in den 3 D-Teil des Speichers, dort ge-
Es folgen sieben weitere Schritte, während deren 40 folgt von sieben Nullen. Es folgen drei weitere
die Zeichen JKLMNO und P aus dem Eingabe- Arbeitsschritte des Speichers2D, während deren
puffer 10 zum Speicherregister 96 übertragen werden. die © in der dritten, zweiten und ersten Niveau-Danach
ist der Speicherregistersteuerring 102 in ebene eingetragen wird. Anschließend wird die Kippseiner
achten Stelle und veranlaßt einen Speicher- schaltung 38 in ihren 1-Zustand zurückversetzt, und
zyklus. Während dieses Speicherzyklus wird die © in 45 die Maschine wartet bis zum Einlauf des nächsten
die Ebene Nummer 2 und der Inhalt des Speicher- Signals »Eingabe«.
registers 96 im 3 D-Teil des Speichers untergebracht. In der F i g. 3, einem Blockdiagramm der Spei-
Es folgt dann ein zweiter 2 D-Speicherzyldus, cherorganisation, ist das Speicherregister 96 der
währenddessen die © in der ersten Ebene gespei- Puffer für die Eingabe und Ausgabe zum Haupt-
chert wird, und anschließend wird die Kippschaltung 50 speicher; er nimmt in bekannter Weise ein aus dem
38 (Fig. 2d) in ihren 1-Zustand gebracht. Hauptspeicher gelesenes Maschinenwort auf und
Das letzte Zeichen in der zu behandelnden Kette kann es auf Befehl wieder dorthin übertragen,
ist eine ©. Wenn dieses Zeichen in den Eingabe- Dieses Speicherregister entspricht dem ebenso bepuffer
10 gelangt, muß es also in dessen erster Stelle zeichneten der F i g. 2. Die Adresse der Speichererscheinen.
Unmittelbar danach wird die Leitung 18 55 stelle, zu der ein Wort übertragen werden soll, ist
durch ein Signal »Leer-Eingabe« erregt. Dieses im Register 300 (F i g. 3 a) enthalten, es wird mit
Signal kann die Und-Schaltung 220 passieren, da Adreßregister bezeichnet. Die sieben rechten Bits
deren zweiter Eingang (Leitung 222) erregt ist, wenn dieses Registers enthalten die Γ-Aresse, die sieben
der Zähler 14 (Fig. 2a) in einer der Stellen 1 bis 7 linken die X-Adresse. Diese Adressen werden entsteht.
60 schlüsselt, um die 3 D- und 2 D-Speichervorgänge
Jetzt kann auch (über die Oder-Schaltung 34) die zu steuern. Das Register 300 enthält außerdem noch
Und-Schaltung 36 sich öffnen, so daß über die Schaltungen, die seine Arbeitsweise als Zähler er-Differenzierschaltung
40 und die Oder-Schaltung 42 möglichen. Wenn z. B. dieses Register ursprünglich die Kippschaltung Nummer 1 angestoßen wird. Der auf lauter Nullen eingestellt ist und eine Schreibresultierende
Impuls läßt die © aus dem Eingabe- 65 operation veranlaßt wird, so gelangt das zu Überpuffer
10 zum Register 6 und zu den Niveauverglei- tragende Wort in die Stelle 0 des Speichers. Nach
ehern gelangen. Es entsteht dann auf der Leitung 4 der ersten Schreiboperation kann ein Impuls (z. B.
der Niveauvergleicher 56 (Fig. 2b) ein Signal, das der Impuls »Gespeichert«) diesem Zähler zugeführt
27 28
werden, um ihn auf 00000000000001 zu stellen. Die CL-SS Suchvorgang,
nächste Schreiboperation würde also das zweite Wort
nächste Schreiboperation würde also das zweite Wort
in die Stelle 1 des Speichers eintragen. Die Adres- CL-6S In diesem Takt finden fünf Vergleiche beim
sen, die anfangs in das Register 300 eingetragen und Antreffen eines Niveauzeichens statt,
später jeweils um den Betrag 1 erhöht werden, wer- 5
den durch einen anderen Teil der Maschine bestimmt Bei Gleichheit (!.Bed.) und Kippschaltung724 auf
und sind nicht Gegenstand der Erfindung. Register, »o« (2.Bed.) und Kippschaltung 726 auf »0« (3.Bed.)
die eine Liste verfügbarer Speicherstellen enthalten, entsteht Signal auf Leitung 740 »Anforderung neuer
sind bekannt. Niveauzeichen«. In diesem Falle stoppt die Suche In den Fig. 3 ist die Niveauebene Nummer 1 all- 15 beim sechsten Takt. Bei Gleichheit (l.Bed.) und
gemein mit dem Bezugszeichen 902 bezeichnet. Kippschaltung 724 auf »0« (2. Bed.) und Kippschal-Dieser
Ebene sind zwei Tore zugeordnet (304 und tung726 auf »1« (3.Bed.) Übergang nach CL-8S. Bei
928 in Fig. 3 c), die von der in Fig. 2 c allgemein Ungleichheit und Kippschaltung 724 auf »U-+CL-9 S.
dargestellten Speichersteuerung beeinflußt werden. Bei Ungleichheit und Kippschaltung 582 auf »0«
Im Speicherzyklus wird also die Torschaltung 304 10 _=,. CL-4S. Wenn 582 auf 1-y CL-IS.
während des Leseteils des Zyklus und die Torschaltung 928 während des Schreibteiles durchlässig ge- _r __ „, . , ,.., , . , vvt_
macht. Bei der früher beschriebenen Speicherung der CL"75 Startadre.se erhohen oder vermindern, über-Niveauzeichen würde der in der Niveauebene Num- §an£nacu " ·
während des Leseteils des Zyklus und die Torschaltung 928 während des Schreibteiles durchlässig ge- _r __ „, . , ,.., , . , vvt_
macht. Bei der früher beschriebenen Speicherung der CL"75 Startadre.se erhohen oder vermindern, über-Niveauzeichen würde der in der Niveauebene Num- §an£nacu " ·
mer 1 festzuhaltende Impuls über den Kanal züge- 2O CL_8S 34 nach r_Teil von Re^ster 764 oder 780
fuhrt, der vom Entschlüsseier 310 (Fig. 3a) ab- bringen
geht. Eine der hundertachtundzwanzig Leitungen . ' Λ£. , , , , .
dieses Kanals wird vom Entschlüsseier 310 ent- *"? ,T, I μI %t 1\ I ^
sprechend dem Γ-Teil des Speicheradreßregisters 724 auf 1 stellen. Nach CL-4 5 gehen.
300 ausgewählt; gleichzeitig mit der Speicherung des 25 CL_9S 34nachl64 oder 780 bringen.
Wortes im Hauptspeicher (3 D) wird also an der ,, _ ., M. , _,.. , _ΟΛ , .
Wortes im Hauptspeicher (3 D) wird also an der ,, _ ., M. , _,.. , _ΟΛ , .
entsprechenden Stelle der φ-Nrveauebene ein 1-Bit i™ von 516 na^ 76I °der 7^ brmSen·
eingetragen ^er ^P11^ aus Kippschaltung Nummer 9
zeigt das Suchende an.
Suchbeispiel 30
Die Suchoperation wird durch den Befehl »Suche«
Die folgende Tabelle IV, die ein Fhißdiagramm aus dem Programm eingeleitet. Dieser Befehl wird
der Suchvorgänge, die Funktion der Hauptbestand- als Impuls der Leitung 510 (Fig. 2h) dem Suchteile
des Systems und den zeitlichen Ablauf angibt, taktgeber (Teil C) zugeleitet. Dadurch wird über die
kann das Verständnis der danach folgenden Be- 35 Oder-Schaltung 512 die erste der neun Kippschalschreibung
erleichtern. tungen des Suchtaktgebers angestoßen. Außerdem
stellt der Befehl »Suche« die oben aufgezählten Anfangsbedingungen
her. Das auf Leitung 514 ent-
Tabelle IV stehende Ausgangssignal (Taktimpuls CL-15) läßi
Startbedingungen 4° die Startadresse aus dem Register 516 (F i g. 2 e) übei
die Und-Schaltung 518 und die Oder-Schaltung 5Π
Diese werden durch den Befehl »Suche« herge- (F i g. 3 a) in das Adreßregister 300 gelangen. Beim
stellt. Rückkippen der ersten wird die zweite Kippschal-
^. , „ , „ . .^ tung angestoßen, und sie erregt die Leitung 522. Da-
Eintrag der Startadresse ins Register 516. 45 d]Brdl wird (Fig_ 2c) über die Und.Schaltung 524
Eintrag der Niveauzeichen ins Register 528. ein 2 D-Speicher-Zyklus angeregt. Außerdem wire
Zählregister 562 einstellen. ^e Und-Schaltung 526 (F i g. 2 e) geöffnet, so daC
die Niveauzeichen aus dem Register 528 zu der
Kippschaltung 580 einstellen. Oder-Schaltungen 532 (Fig. 2b) gelangen können
Kippschaltung 726 auf 0 stellen. 5o Die Ausgänge dieser Schaltungen (Leitungen 533]
_.., „o ' führen zu der Speichersteuerung und bereiten dor
Zahler 628 auf 0 stellen. Torschaltungen vor wie die Torschaltungen 304, 534
CL-IS Startadresse zu 300 leiten. und 536 (P i 8- 3 c)· Diese Tore werden während de:
■ν λ~ i^ ouj £ η ^ Ii Leseteiles des Speicherzyklus rechtzeitig erregt, un
Kippschaltung »Suchende« auf 0 stellen. 55 eine zdle aug Jn Nivea 3 uebenen auszufesen, |inzei.
CL-IS Niveauzeichen zur Speichersteuerung durch- heiten darüber werden noch gegeben. Die Torschal·
lassen tung 538 (ebenfalls F i g. 3 c) wird vom Taktgeber s(
20-Speicherzyklus einleiten (dadurch gelangt SS&^JS^^^
eine Zeile einer Niveauebene nach 312). c ^ster^ umlauten können.
' 60 Die Speicheradressierung geschieht folgender
CL-3S 312 nach Register 610 übertragen. maßen: Die Z-Adresse wird von dem Entschlüsse
Y-Anfangsadresse nach Register 634 durch- ler 914 (Fig. 3a) über die Torschaltung 93'
lassen. (Fig· 3b) einer 8 · 16-Anordnung von Kerntreiberi
Vergleichsvorgang für Register 638 veran- 936 zugeführt, die ähnlich den Treibern 548 und 54!
lassen. 65 aufgebaut sind. Die Wahl der anzusteuernden Ebene)
geschieht durch die Torschaltungen 922, 924 um
CL-4S Inhalt von Register 634 zum Entschlüsseier 926, jeweils durch eine der Leitungen 533. Die au
648 weitergeben. einer der Ebenen 901 ausgelesene Zeile von Niveau
zeichen (enthaltend hundertachtundzwanzig Bits) gelangt in das Register312 (Fig. 3c) durch die Torschaltungen
538. Nachdem aus der Speichersteuerung (Fig. 2c) das Signal »Gesucht« auf Leitung
144' gegeben worden ist, wird die Kippschaltung Nummer 3 (Fig. 2h) angestoßen und die Leitung
556 zur Vorbereitung der Torschaltung 556 (F i g. 3 c) gegeben. Der Inhalt des Registers 12 gelangt nun in
das Register 610 (Fig. 2g). Weiter wird die Torschaltung
550 (F i g. 3 a) geöffnet, und diese läßt die Y-Adresse aus dem Register 300 in das Register 634
(Fig. 2g) eintreten. Schließlich wird noch die Und-Schaltung
560 (F i g. 2 e) geöffnet, um den Zählerstand des Registers 562 zum Vergleichsregister 638
zu überführen. Beim Rückfall der Kippschaltung Nummer 3 des Taktgebers wird über Leitung 564 und
die Oder-Schaltung 566 die Kippschaltung Nummer 4 angeworfen. Durch die angeschlossene Leitung 568
wird die Und-Schaltung570 (Fig. 2g) geöffnet und
der Inhalt des Registers 634 zum Entschlüsseier 648 übertragen. Die rückfallende Kippschaltung Nummer
4 erregt die Kippschaltung Nummer 5 und damit die Leitung 574 zur Vorbereitung der Und-Schaltungen
576 und 578 (Fig. 2f), Die anderen Eingänge
dieser Und^Schaltungen kommen von der Kippschaltung 580, die bei 1-Stellung die Links-Suche und bei
0-Stellung die Rechts-Suche bewirkt. Unter der Annahme,
daß die Kippschaltung 582 (Überlauf) im 1-Zustand ist und eine Rechts-Suche erwünscht wäre,
dann liefert die Und-Schaltung 584 ein Ausgangssignal, das über Leitung 650 den Entschlüsseier 648
(F i g. 2 g) anspricht. Dieser arbeitet mit dem Suchring 614 in der früher beschriebenen Weise zusammen,
um die Suche eine Stelle rechts neben der Y-Adresse des Entschlüsselet 648 zu beginnen. Diese
Suche geht im Suchring so lange vor sich, bis ein Niveauzeichen der im Register 528 (Fig. 2e) vorgegebenen
Art gefunden wird. Dann erscheint auf Leitung 626 ein Ausgangssignal, das den Zähler 628
um 1 weiterschalten kann. Die Zahl 628 wird verglichen mit der Zahl im Register 638, und auf Leitung
586 erscheint bei Ungleichheit ein Signal; bei Gleichheit erscheint auf 640 ein Signal. Bei Ungleichheit
wird also die Kippschaltung 588 auf 0, im anderen Falle auf 1 gestellt. Wenn die Kippschaltung
Nummer 5 des Taktgebers zurückfällt, so wird die Kippschaltung Nummer 6 angestoßen und erregt Leitung
590, von welcher fünf Prüfungen angeregt werden (s. Tabelle IV). Nur eine davon kann Erfolg
haben, nämlich im Beispiel das Öffnen des Tores 592 zur Erregung der Leitung 504; dies geschieht über
die Und-Schaltung 594, die von der Kippschaltung 582 vorbereitet wird. Die Leitung 504 stellt die Kippschaltung
596 (Fig. 2h) auf 1 und gleichzeitig über Oder-Schaltungen die Kippschaltungen 598,700,702
und 704 auf 0. Wenn die Kippschaltung Nummer 6 des Taktgebers zurückkippt, wird also die Und-Schaltung
706 einen Ausgangsimpuls liefern, der über die Oder-Schaltung 566 wiederum die Kippschaltung
Nummer 4 anwirft. Es muß festgehalten werden, daß bei den früheren Suchoperationen die bestimmte
Stelle, in der ein Niveauzeichen angetroffen wurde, zu dem Verschlüsseier 630 übertragen und in eine
Adresse verwandelt wurde, die in das Register 634 singetragen wird. Die Ausgangsspannung auf der
Leitung 568 läßt wiederum den Inhalt von 634 in Jen Entschlüsseier 648 einlaufen und stößt beim
Rückkippen der Kippschaltung Nummer 4 wiederum die Kippschaltung Nummer 5 an, erregt die Leitung
574 und verursacht den neuen Suchimpuls. Um das Beispiel fortzusetzen: Suchimpulse müssen so oft auftreten,
bis der Inhalt des Zählers 628 mit dem Vergleichsregister 638 übereinstimmt. Unter der Annahme,
daß der zweite Suchimpuls auf Leitung 574 im Suchring 614 kein Niveauzeichen findet, wird dieser
Impuls aus der rechten Seite des Suchringes auf Leitung 710 austreten und über die Oder-Schaltung
712 die Kippschaltung 582 (Überlauf) auf 0 stellen. In diesem Falle entsteht auf den Leitungen 626 (Eingang
zum Zähler 628) kein Signal. Es folgt ein Taktimpuls Nummer 6 auf Leitung 590. Diesmal wird dadurch
die Und-Schaltung 714 geöffnet, die Leitung 506 erregt und die Kippschaltung 702 auf 1 gestellt.
Gleichzeitig werden wieder die Kippschaltungen 598, 700, 596 und 704 zum 0-Zustand gebracht. Wenn
die Kippschaltung Nummer 6 nun abschaltet, stößt' sie über die Und-Schaltung 716 die Kippschaltung
Nummer 7 an. Der resultierende Taktimpuls auf Leitung 718 öffnet nun die Und-Schaltung 720, da die
Leitung 760 durch die Kippschaltung 580 erregt ist. Die X-Adresse im Register 516 wird jetzt um 1 erhöht.
Die ausschaltende Kippschaltung Nummer 7 stößt die Kippschaltung Nummer 1 an. Die Taktimpulse
1 und 2 werden jetzt wiederholt, um eine neue Zeile aus der gewählten Niveauebene zum Register
312 zu bringen und einen neuen Speicherzyklus einzuleiten. Danach veranlassen die Taktimpulse 3,
4, 5 und 6 eine erste Suche in dieser neuen Bitzeile. Die Kippschaltung 582 ist jetzt auf 0, so daß der
Ausgang der Und-Schaltung 576 nun auf der Leitung 722 erscheint und die Suche am linken Ende des
Suchringes 614 (Fig. 2g) beginnen läßt. Es sei nun angenommen, daß ein Niveauzeichen gefunden ist;
dann erscheint auf Leitung 626 ein Signal. Der Zählerstand von 628 möge auch mit 638 übereinstimmen.
Dann erscheint auf Leitung 640 ein Impuls, der die Kippschaltung588 (Fig. 2f) in den 1-Zustand
versetzt. Die mit dem Taktimpuls Nummer 6 stattfindende Prüfung betrifft nun die Kippschaltungen
588 (Vergleich), 724 (Suchende) und 726 (Letzter oder Nicht-Letzter). Wenn die Kippschaltung 726
auf 0 steht, so bedeutet dies, daß die gerade beendete Suche sich nicht auf das letzte Niveauzeichen
der Kette bezog, und es muß ein Signal entstehen, das vom Programm das folgende Niveauzeichen anfordert.
Das geschieht folgendermaßen: Die Kippschaltung 724 ist auf 0, d. h., die Leitung 728 ist erregt.
Die Und-Schaltung 730 liefert ein Ausgangssignal, da ihr anderer Eingang von der O-Seite der
Kippschaltung 726 gespeist wird. Dieses Ausgangssignal gelangt über Leitung 732 zur Und-Schaltung
734, deren anderer Eingang durch die Und-Schaltung 736 geliefert wird (diese ist wegen 590 und 588
durchlässig). Hinter der Und-Schaltung 734 erscheint also auf Leitung 508 ein Signal, das die Kippschaltung
704 auf 1 stellt und die Und-Schaltung 738 vorbereitet. Das Rückkippen der Kippschaltung Nummer
6 des Taktgebers verursacht also auf der Leitung 740 ein Signal, welches eine Anforderung eines
neuen Niveauzeichens aus dem Programm veranlaßt.
Letztes Niveauzeichen in einer Kette
Die Kippschaltung 726 ist in diesem Falle durch die Anfangsbedingungen auf 1 gestellt. Die vom Takt-
impuls CL-S S erledigten Operationen sind dieselben wie früher beschrieben, aber während des Taktimpulses
CL-6S bestehen neue Bedingungen. Wenn der Inhalt des Zählers 628 mit dem Vergleicher 638
während des Taktimpulses CL-SS übereinstimmt, so hat der Taktimpuls CL-6S die Lage der Kippschaltungen
588, 724 und 726 zu prüfen. Die Prüfung ist erfolgreich, wenn 588 auf 1, 724 auf 0 und 726
auf 1 eingestellt ist. In diesem Falle wird die Und-Schaltung 736 durchlässig (Taktimpuls und 588), und
die Und-Schaltung 744 ist vorbereitet. Die Und-Schaltung 746 gibt ebenfalls ein Ausgangssignal ab (726
und 724), so daß am Ausgang der Und-Schaltung 744 auf Leitung500 ein Signal vorliegt, das (Fig. 2h)
die Kippschaltung 598 auf 1 und gleichzeitig die Kippschaltungen 700, 596, 702 und 704 auf 0 stellt.
Beim Rückkippen der Kippschaltung Nummer 6 des .Taktgebers gibt also die Und-Schaltung 748 einen
Anstoß zur Kippschaltung Nummer 8 des Taktgebers. Über die Leitung750 wird jetzt (Fig. 2g) über die
Oder-Schaltung 752 und die Und-Schaltungen 644 der Inhalt des Registers 634 zum Kanal 646 gegeben und
den Und-Schaltungen754 und 756 (Fig. 2e) zugeleitet.
Da (wie früher angegeben) eine Rechts-Suche im Gang ist, können die Leitungen 760 und 750 die
Und-Schaltungen 758 öffnen und über die Oder-Schaltung 762 die Und-Schaltungen 754 und 755
durchlässig machen. Der Inhalt des Registers 634 gelangt also in den Γ-Teil des Anfangsregisters 764,
und der X-Teil der Adresse aus dem Register 516 gelangt in den X-Teil des Registers 764. Durch den
Impuls auf Leitung 750 wird außerdem die Kippschaltung 724 (Fig. 2f) in den 1-Zustand gebracht.
Beim Rückkippen der Kippschaltung Nummer 8 des Taktgebers wird über Leitung766 und die Oder-Schaltung
566 (Fig. 2h) die Kippschaltung Nummer 4 angestoßen; die Taktimpulse 4 und 5. werden wiederholt,
und beim Taktimpuls CL-6S wird Ungleichheit und Stellung der Kippschaltung 724 im 1-Zustand
festgestellt. Jetzt hat die Und-Schaltung 768 (Fig. 2f)
ein Ausgangssignal, das auch die Und-Schaltung 770 passieren und auf die Leitung 502 einen Einstellimpuls
zur Kippschaltung700 (Fig. 2h) übertragen kann. Der resultierende Ausgangsimpuls der Und-Schaltung
772 stößt die Kippschaltung Nummer 9 des Taktgebers an und verursacht ein Signal auf Leitung
774, Es werden die Und-Schaltungen 644 (Fig. 2g) und 776 (Fig. 2e) angesprochen. 776
öffnet nun die Und-Schaltungen 756 und 757, so daß nunmehr der Inhalt des Registers 634 in den F-Teil
des End-Registers 780 und der X-Teil der Adresse aus dem Register 516 in den X-Teil von 780 übertragen
wird.
Bei dem oben gegebenen Suchbeispiel wurden keine bestimmten Zahlen benutzt, da dies nicht nötig schien.
Wenn es erwünscht wäre (s. allgemeine Beschreibung von TeilF in Fig. 2f und 2g), die dritte Silbe des
zweiten Satzes im dritten Abschnitt des mit »Personalangaben« bezeichneten Blocks zu lokalisieren, so
möge die Anfangsadresse dieses Datenblocks irgendeine Zahl, z. B. 1007 sein. Die Adresse 1007 in Binärform,
nämlich 00001111101111, werdenin das Anfangsadreßregister 516 (Fig. 2e) eingegeben und das
Niveauzeichen für den Abschnitt, die ©, werden in das Niveauregister 528 gespeichert; die Zahl 3 kommt
in das Register 562. Da die Suche mit der Anfangsadresse beginnt, wird die Kippschaltung 580 (F i g. 2 f)
auf »Suche rechts« eingestellt. Die Suche verläuft dann in der vorstehend beschriebenen Weise, bis die
dritte © gefunden wurde; die nächsten beider Schritte der Suchroutine sind dann erstens Aufsuchen
der zweiten ® und zweitens Aufsuchen dej dritten ©. Schließlich wird die Adresse des Anfangs
und des Endes dieses Datenteiles in den Register: und 780 eingetragen.
Das vorstehend beschriebene Datenverarbeitungs system ist besonders für kommerzielle Probleme ge
ίο eignet, wo ungewöhnlich lange Datenketten abge
speichert und verarbeitet werden müssen, und be sonders, wo einzelne Teile dieser Datenketten voi
unterschiedlicher Länge sind. Das erfindungsgemäßi System übertrifft die üblichen wortorganisiertei
is 3 D-Speicher insofern, als es den Zugriff über neu
artige Sucheinrichtungen und Suchverfahren erlaub und dabei ein Minimum von Programmierung be
nötigt. Es braucht nur die Startadresse einer bestimm ten Datenkette und die relative Lage eines gewünsch
ao ten Teiles der Information innerhalb der Kette be kaniit zu sein; demgegenüber ist bei bekannten Ein
richtungen die absolute Adresse des bestimmte] Datenteiles erforderlich. Wie schon erläutert, könnei
auch andere Speicherarten außer dem im Beispiel ge wählten Kernspeicher sowie andere Schreib- um
Lesesteuerungen in gleicher Weise benutzt werden Statt der beschriebenen serienweisen Behandlun
wäre auch parallele Entnahme bei entsprechende Modifikation der Schaltung möglich.
Claims (4)
1. Verfahren zur Speicherung hierarchisch g€ geordneter Datenketten mit variabler Länge de
Datenteile innerhalb der hierarchischen Niveau und zur Entnahme von Datenteilen eines belieb:
gen Niveaus, dadurch gekennzeichnei daß in eine zu speichernde Datenkette vor de
Eingabe in den Speicher an den Anfang eine jeden hierarchischen Niveaus ein das Nivea
markierendes Zeichen eingefügt wird, daß di Eingabesteuerung des Speichers ein einlaufende
Niveauzeichen in einem HilfsSpeicher eintraf und die zugehörigen Daten in einer der Speichel
stelle des Hilfsspeichers eindeutig zugeordnete Stelle des Hauptspeichers einträgt und daß bi
der Suche nach einem Datenteil das zugehörig Niveauzeichen vorgegeben, der Hilfsspeiche
nach diesem Zeichen durchsucht und aus der gs fundenen HilfsSpeicheradresse die Hauptspeiche:
adresse ermittelt wird.
2. Anordnung zur Durchführung des Verfal rens nach Anspruch 1, dadurch gekennzeichne
daß eine der Anzahl der hierarchischen Niveai der Daten entsprechende Anzahl von Hilfsspe
cherebenen (901) vorgesehen ist, daß gleiche Bitstellen dieser Ebenen ein Wort des Haup
Speichers (900) zugeordnet ist und daß ein in eil Ebene des Hilfsspeichers eingetragenes Bit selbs
tätig an gleichen Stellen aller Ebenen niedrigere Niveaus eingetragen wird.
3. Anordnung nach Anspruch 2, dadurch g kennzeichnet, daß eine Ringschaltung (58) d
Eintragung eines Niveauzeichens verhindert, el die einer Wortlänge des Hauptspeichers er
sprechende Zeichenzahl eingelaufen ist.
4. Anordnung nach den Ansprüchen 2 und dadurch gekennzeichnet, daß bei der Suche nai
einem durch Vorgabe (516,528,562) von mehreren
Niveauzeichen identifizierten Datenteil die Hilfsspeicherebenen (901), beginnend bei der
höchsten, zeilenweise ausgelesen werden (312), daß die Adresse eines gefundenen Niveauzeichens
festgehalten wird (634), daß die Suche in der
durch die Vorgabe festgelegten Richtung (710) für weitere Niveauzeichen in den Ebenen niedrigerer
Ordnung fortgesetzt und daß die Stelle des niedrigsten vorgegebenen Niveauzeichens
(764,780) zur Adressierung des gesuchten Datenteiles benutzt wird.
Hierzu 5 Blatt Zeichnungen
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US282807A US3289175A (en) | 1963-05-23 | 1963-05-23 | Computer data storage system |
Publications (1)
Publication Number | Publication Date |
---|---|
DE1214906B true DE1214906B (de) | 1966-04-21 |
Family
ID=23083199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DEJ25844A Pending DE1214906B (de) | 1963-05-23 | 1964-05-15 | Verfahren und Anordnung zur Speicherung und Entnahme hierarchisch geordneter Daten |
Country Status (4)
Country | Link |
---|---|
US (1) | US3289175A (de) |
CH (1) | CH420273A (de) |
DE (1) | DE1214906B (de) |
GB (1) | GB1018915A (de) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3350693A (en) * | 1964-06-26 | 1967-10-31 | Ibm | Multiple section transfer system |
US3343134A (en) * | 1964-06-26 | 1967-09-19 | Ibm | Multiple section retrieval system |
US3344402A (en) * | 1964-06-26 | 1967-09-26 | Ibm | Multiple section search operation |
US3422404A (en) * | 1966-02-23 | 1969-01-14 | David E Ferguson | Apparatus and method for decoding operation codes in digital computers |
US3469241A (en) * | 1966-05-02 | 1969-09-23 | Gen Electric | Data processing apparatus providing contiguous addressing for noncontiguous storage |
US3568155A (en) * | 1967-04-10 | 1971-03-02 | Ibm | Method of storing and retrieving records |
US3653001A (en) * | 1967-11-13 | 1972-03-28 | Bell Telephone Labor Inc | Time-shared computer graphics system having data processing means at display terminals |
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 |
JPS6182232A (ja) * | 1984-09-29 | 1986-04-25 | Olympus Optical Co Ltd | 情報登録検索方式 |
-
1963
- 1963-05-23 US US282807A patent/US3289175A/en not_active Expired - Lifetime
-
1964
- 1964-05-15 DE DEJ25844A patent/DE1214906B/de active Pending
- 1964-05-21 GB GB20948/64A patent/GB1018915A/en not_active Expired
- 1964-05-22 CH CH674364A patent/CH420273A/de unknown
Also Published As
Publication number | Publication date |
---|---|
CH420273A (de) | 1966-09-15 |
GB1018915A (en) | 1966-02-02 |
US3289175A (en) | 1966-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE1449765C3 (de) | Einrichtung zur Abfrage eines assoziativen Speichers | |
DE2331589A1 (de) | Datenverarbeitungsanordnung | |
DE1282337B (de) | Programmgesteuerte elektronische Rechenanlage | |
DE1499193A1 (de) | Datenverarbeitungsanlage | |
DE1424732A1 (de) | Elektronische Ziffernrechenmaschine | |
DE1774052B1 (de) | Rechner | |
DE1449544A1 (de) | Datenverarbeitende Maschine mit ueberlappend abrufbarem Speicherwerk | |
DE1214906B (de) | Verfahren und Anordnung zur Speicherung und Entnahme hierarchisch geordneter Daten | |
DE3005376C2 (de) | ||
DE1806535A1 (de) | Digitale Rechenanlage | |
DE1221037C2 (de) | Verfahren zur Speicherung hierarchisch geordneter Datenketten und Anordnung zur Durchfuehrung dieses Verfahrens | |
DE1474042C3 (de) | Datenspeichersystem zur Ein- und Ausspeicherung von in Ketten zusammengefaßten Daten unterschiedlicher Feldlänge | |
DE1099225B (de) | Anordnung zum UEbertragen von Angaben zwischen Speichern einer datenverarbeitenden Anlage | |
DE1474376A1 (de) | Verfahren und Anordnung zum schnellen Zugriff bei grossen seriellen Speichern | |
DE1069910B (de) | Kommandowerk mit Indexregister | |
DE1250489B (de) | I Schaltungsanordnung zur Einspei cherung von Leerstellen-Kennworten in einen assoziativen Speicher | |
DE1549422B2 (de) | Datenverarbeitungsanlage mit variabel vorwaehlbarer wortlaenge | |
DE1474017C3 (de) | Datenverarbeitungsanlage | |
DE2419836C3 (de) | Schaltungsanordnung zur Durchführung von Unterprogramm-Sprungbefehlen in Datenverarbeitungsanlagen | |
DE1774917A1 (de) | Elektronische Rechenanlage | |
DE1275801B (de) | Schaltungsanordnung zur Auswahl derjenigen von mehreren dem gleichen Informationsband zugeordneten Lese-Schreib-Kopfsaetzen, welche von einem gewuenschten Speicherplatz am schnellsten erreicht wird | |
DE1524211A1 (de) | Datenverarbeitungsanlage | |
DE1214027B (de) | Anordnung zur Steuerung der blockweisen UEbertragung von Rechenprogrammen oder derenersten Teilprogrammen | |
DE1774866C3 (de) | Schaltung zur Bestimmung der Adresse einer in einem Speicher einer Datenverarbeitungsanlage enthaltenen, gesuchten Information | |
DE1499191C3 (de) | Elektronische Einrichtung für eine Datenverarbeitungsanlage |