DE1296428B - Einrichtung zur Ermittlung von Speicheradressen aus Schluesselwoertern - Google Patents
Einrichtung zur Ermittlung von Speicheradressen aus SchluesselwoerternInfo
- Publication number
- DE1296428B DE1296428B DEI28341A DEI0028341A DE1296428B DE 1296428 B DE1296428 B DE 1296428B DE I28341 A DEI28341 A DE I28341A DE I0028341 A DEI0028341 A DE I0028341A DE 1296428 B DE1296428 B DE 1296428B
- Authority
- DE
- Germany
- Prior art keywords
- mask
- address
- keyword
- register
- digits
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
- G11C15/04—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/9014—Indexing; Data structures therefor; Storage structures hash tables
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Multi-Process Working Machines And Systems (AREA)
Description
1 2
Die Erfindung betrifft eine Einrichtung zur Ermitt- 4stelligen Schlüsselwörtern durch die Addition von
lung einer Speicheradresse aus einem Schlüsselwort. benachbarten Zahlen unter Außerachtlassung der
Der traditionelle Digitalcomputerspeicher speichert Überträge; d. h., das Schlüsselwort 2146309 kann
Daten an vorherbestimmten Speicherplätzen, die be- wie folgt in 2599 umgewandelt werden,
stimmten Adressen entsprechen. Das heißt, wenn 5
Daten in den Speicher eingegeben (geschrieben) oder λ α ο
aus dem Speicher entnommen (gelesen) werden, wird "
ein bestimmter Speicherplatz (Adresse) angegeben. 2 5 9 9
Bei vielen Anwendungen ist es zweckmäßig,
Adressen abhängig von den zu speichernden Daten io Bei einem Satz von Schlüsselwörtern ohne stati-
zuzuteilen. Zum Beispiel können in einem Inventur- stische Verteilung, z. B. einem Satz, der eine Reihe
Steuersystem, in dem die Zahl der Inventurposten für von Zahlen zwischen 2146300 und 2146325 enthält,
jedes Schlüsselwort (z. B. Teilnummer) überwacht würde die Adresse 2599 auch für das Schlüsselwort
werden soll, die Adressen den Schlüsselwörtern 2146318 erzeugt.
selbst entsprechen oder von diesen abhängig sein. Die 15 Es sind Verfahren mit einem hohen Grad der stati-
an den Adressen gespeicherten Daten können z. B. stischen Verteilung bekannt, aber im allgemeinen
der Zahl der Inventurposten mit dem jeweiligen sind sie kompliziert und erfordern eine komplexe
Schlüsselwort entsprechen. Wenn also siebzehn Posten Schaltungsanordnung. Zum Beispiel kann das 7stel-
mit der Teilnummer (dem Schlüsselwort) 2649 vor- lige Schlüsselwort zur zweiten oder zur dritten Potenz
handen sind, kann der Wert 17 an der Adresse 2649 20 erhoben werden, und aus dem Resultat können vier
im Speicher gespeichert werden. bestimmte Ziffern als die Adresse ausgewählt werden.
In vielen Fällen ist der Gesamtsatz von Schlüssel- Außer einem hohen Grad der statistischen Verteiwörtern
relativ knapp und unvollständig. Zum Bei- lung muß eine Adressiertechnik auch Flexibilität aufspiel
kann es sein, daß ein Teilevertreiber ein Inven- weisen, damit der Umwandlungsalgorithmus vertar
von nur zweitausend verschiedenen Teilen auf- 25 änderbar ist und so der Aufbau des Schlüsselwortrechterhält,
die aus hunderttausend vom Fabrikanten satzes kompensiert werden kann. Das heißt, wenn
zu erhaltenden Teilen ausgewählt sind. Wenn der ein Umwandlungsalgorithmus zur Bildung von
Hersteller 5stellige Teilenummern zuteilte und die »Bündelungen« (nicht eindeutigen Adressen) neigt,
Teilenummern direkt als Speicheradressen verwendet muß er leicht durch andere Algorithmen ersetzt
würden, müßten in diesem Falle 100 000 Speicher- 30 werden können.
platze reserviert werden, obwohl nur 2000 Speicher- Zweck der erfindungsgemäßen Adressiereinrichtung
platze Daten enthalten. Infolge dieses relativ knappen ist es, Adressen mit einem hohen Grad der statisti-Satzes
von Schlüsselwörtern ergäbe sich eine schlechte sehen Verteilung mittels einer relativ einfachen EinAusnutzung
des Computerspeichers, in dem nur einer richtung zu ermitteln, deren Umwandlungsalgorithvon
50 Speicherplätzen ausgenutzt wäre. 35 mus leicht veränderbar ist.
Bei verschiedenen bekannten Adressierungsver- Die Erfindung betrifft eine Einrichtung zur Ermittfahren
wird der Speicher besser ausgenutzt als durch lung von Speicheradressen aus Schlüsselwörtern. Gedie
direkte Verwendung der Schlüsselwörter als kennzeichnet ist die Erfindung dadurch, daß wenig-Adressen.
Bei diesen Verfahren können jedoch mehr stens eine der Ziffern des Schlüsselwortes eine
als ein Schlüsselwort in dieselbe Adresse umgesetzt 40 Maskenwählschaltung betätigt, die aus mehreren
werden, weil bei der Umwandlung eines großen ein- Maskenregistern eines auswählt, und daß die Adresse
deutigen Satzes von Zahlen in einen kleineren Satz aus den Stellen des Schlüsselwortes zusammengesetzt
die Eindeutigkeit verlorengehen kann. Das Problem wird, die durch den Inhalt des/der ausgewählten
der Bildung von nicht eindeutigen Adressen wird da- Maskenregister(n) gekennzeichnet sind,
durch verkleinert, daß die Zahl der benutzten 45 Gemäß einer bevorzugten Ausführungsform der
Speicherplätze erhöht wird (z. B. daß zum Speichern Erfindung wird ein Teil des Schlüsselwortes zum
der 2000 Posten 100 000 statt der 10 000 Speicher- Auswählen einer Maske aus einer Gruppe von Masplätze
verwendet werden), aber dadurch wird die ken verwendet. Die ausgewählte Maske steuert dann
Leistungsfähigkeit des Speichersystems beeinträchtigt. die Auswahl eines Teils des Schlüsselwortes als
Die Nichteindeutigkeit wird hierdurch zwar verrin- 50 mindestens einen Teil der endgültigen Adresse,
gert, die Adressenzuordnung ist aber immer noch Andere Teile des Schlüsselwortes können ebenfalls
nicht eindeutig. Eindeutigkeit kann durch sekundäre zur Auswahl von Teilen des Schlüsselwortes für die
Adressierungsverfahren, wie z.B. das »Verkettungs«- Bildung des restlichen Teils der endgültigen Adresse
Verfahren, erzielt werden, bei dem ein Teil jedes benutzt werden.
Speicherplatzes ein sekundäres Adressenfeld enthält, 55 Das folgende Beispiel veranschaulicht die Wir-
um Daten mit doppelter Adresse zu einer anderen kungsweise dieser Einrichtung für die Erzeugung
unbesetzten Adresse umzuleiten. einer 6stelligen Adresse in zwei 3stelligen Umläufen
Obwohl es verschiedene Verfahren gibt, die die aus dem aus sechzehn Bits bestehenden binären
Bildung nicht eindeutiger Adressen kompensieren, Schlüsselwort:
besteht das grundlegende Problem in der Wahl eines 60 1011010011101100
Adressierungsverfahrens, mit dem eine möglichst
kleine Zahl von nicht eindeutigen Adressen gebildet Zwei Bits dieses Schlüsselwortes dienen zur Auswird.
Im allgemeinen steht die Eindeutigkeit der ge- wahl einer von vier binären Masken zu je sechzehn
bildeten Adressen in direkter Beziehung zu der Güte Bits, die je drei »1«-Bits (entsprechend den drei
der statistischen Verteilung bei der Adressierung. Ein 65 während eines Umlaufs erzeugten Adressenbits) und
Beispiel für eine Technik, die nicht mit statistischer dreizehn »O«-Bits enthalten. Die beiden Bits können
Verteilung arbeitet, ist die einfache Methode der willkürlich oder nach einem Prüfverfahren, das auf
Reduzierung von 7stelligen Schlüsselwörtern zu der Eindeutigkeit der für die betreffenden Schlüssel-
wörter erzeugten endgültigen Adressen beruht, ausgewählt
werden. Es werden vorzugsweise die gleichen ausgewählten Bits für den ganzen Schlüsselwortsatz
verwendet, damit Daten wiedergewonnen werden können. Werden z. B. das dritte und das elfte
Bit des Schlüsselwortes ausgewählt und sind beide 1, so erhält man die binäre Zahl 11, die dann für die
Auswahl einer von vier vorherbestimmten Masken benutzt wird. Die Masken können z. B. wie folgt
aussehen:
| Masken nummer |
Ausgewählt durch |
Maske |
| 1 2 3 4 |
00 01 10 11 |
0010001000010000 0000011000000010 0100100010000000 0000010001000001 |
Durch die binäre Maskenwählzahl 11 wird also die vierte Maske ausgewählt. Die Masken werden
willkürlich erzeugt oder in beliebiger anderer Weise ausgewählt, aber für den ganzen Schlüsselwortsatz
werden dieselben Masken benutzt.
Die vierte Maske zeigt an, daß das sechste, das zehnte und das sechzehnte Bit des Schlüsselwortes
als Teil der endgültigen Adresse auszuwählen sind. In dem Beispielsfall (Schlüsselwort 1011010011101100)
wird also eine bestimmte Adresse 110 gebildet. Dieser Vorgang wird für die Erzeugung der zweiten drei
Bits der Adresse wiederholt. Während eines zweiten Umlaufs kann ein anderes Paar von Bits innerhalb
des Schlüsselwortes für das Auswählen einer Maske benutzt werden. Zum Beispiel können das fünfte und
das zehnte Bit des Schlüsselwortes ausgewählt werden, so daß man die binäre Zahl 01 erhält. Es wird also
die zweite Maske ausgewählt, welche anzeigt, daß der restliche Teil der Adresse aus dem sechsten, dem
siebten und dem fünfzehnten Bit des Schlüsselwortes, nämlich 100, besteht, so daß die endgültige Adresse
110100 lautet.
Eine Spielart dieser Einrichtung, die in dem bevorzugten Ausführungsbeispiel der Erfindung verwendet
wird, um die Vielseitigkeit des Systems noch zu vergrößern, ermöglicht es, mit der ausgewählten Maske
die Reihenfolge der Schlüsselwortbits zu steuern, die die Adresse bilden. Das heißt, eine Maske wählt nicht
nur die Bits des Schlüsselwortes aus, sondern bestimmt auch deren Reihenfolge. In dem Beispielsfall
wurde die linke Hälfte der resultierenden Adresse (110) durch die Verwendung der vierten Maske erlangt,
die das sechste, das zehnte und das sechzehnte Bit des Schlüsselwortes in dieser Reihenfolge auswählte.
In dem bevorzugten Ausführungsbeispiel der Erfindung wird die Reihenfolge angegeben. Zum
Beispiel kann die Maske angeben, daß das zehnte Bit des Schlüsselwortes das erste Bit der Adresse
bilden soll, daß das sechzehnte Bit des Schlüsselwortes das zweite Bit der Adresse bilden soll und
daß das sechste Bit des Schlüsselwortes das dritte Bit der Adresse bilden soll. In ähnlicher Weise kann
die Reihenfolge der Ziffern der rechten Seite der Adresse festgelegt werden.
Das bevorzugte Ausführungsbeispiel der Erfindung ist insofern noch vielseitiger, als es die Verwendung
desselben Bits des Schlüsselwortes für mehr als ein Bit der Adresse gestattet. Das heißt, es kann angegeben
werden, daß die linke Seite der Adresse aus dem vierten Bit des Schlüsselwortes, danach dem neunten
Bit des Schlüsselwortes und danach dem vierten Bit des Schlüsselwortes besteht. In einem Ausführungsbeispiel der Erfindung (F i g. 3) wird ein Umwandlungsspeicher
verwendet, der die ausgewählten Bits des Schlüsselwortes nimmt und — anstatt sie direkt
als die endgültige Adresse zu verwenden — sie benutzt, um einen Zwischenspeicher zu adressieren,
der die ersten Adressenbits auswählt.
ίο Obwohl die Adressiereinrichtungen als Beispiele
mit vier Masken dargestellt werden, welche drei Bits des Schlüsselwortes für jede Hälfte der Adresse auswählen,
können beliebig viele Masken verwendet und beliebig viele Bits des Schlüsselwortes ausgewählt
werden. Die Adresse braucht nicht in zwei Hälften erzeugt zu werden, sondern kann auch
durch eine einzige Operation oder durch zwei oder mehr Operationen gebildet werden. Wenn die
Adresse in Teilen erzeugt wird, braucht natürlich der
ao zuerst erzeugte Teil nicht als der linke Teil der Adresse verwendet zu werden.
Mit der erfindungsgemäßen Einrichtung erfolgt die Adressenbildung mit einem hohen Grad der statistischen
Verteilung, da die Maskenwähldaten und die Masken selbst entweder willkürlich oder mit
einer anderen geeigneten Einrichtung erzeugt werden können. Da die Wirkungsweise der Einrichtung
äußerst vielseitig ist, weil dann, wenn die Strukturen des Schlüsselwortsatzes und der Masken zur Bündelung
(zu nicht eindeutigen Adressen) führen, die zur Auswahl der Masken benutzten Bits des Schlüsselwortes
sowie die Masken selbst verändert werden können, kann für jeden beliebigen Satz von Schlüsselwörtern
ein guter Satz von Masken und Wähldaten leicht empirisch bestimmt werden. Außerdem
ist die Einrichtung einfach aufgebaut und erfordert nur einen bescheidenen technischen Aufwand, weil
einfache binäre logische Operationen verwendet werden und keine komplexen Rechenoperationen
ausgeführt werden müssen. Aus demselben Grunde ist die erfindungsgemäße Einrichtung sehr schneller
als Einrichtungen, die komplexe arithmetische Operationen erfordern.
Die Erfindung wird nachstehend an Hand der in den Zeichnungen dargestellten bevorzugten Ausführungsbeispiele
im einzelnen erläutert. Die Zeichnungen zeigen in
F i g. 1 ein Blockschaltbild des bevorzugten Ausführungsbeispiels
der Erfindung,
F i g. 2 ein Schema, aus dem hervorgeht, wie die Fig. 2A bis 2E zusammengehören,
Fig. 2A bis 2E detaillierte Schaltbilder für das
bevorzugte Ausführangsbeispiel der F i g. 1 und
F i g. 3 ein Schaltschema für ein zweites Ausführungsbeispiel.
F i g. 3 ein Schaltschema für ein zweites Ausführungsbeispiel.
In dem Ausführungsbeispiel der Erfindung gemäß F i g. 1 ist ein 16stelliges binäres Schlüsselwort in
einem Register 2 gespeichert. Auf das Schlüsselwort sprechen eine linke Maskenwählschaltung 4 und eine
rechte Maskenwählschaltung 6 an, die jene Ausgangsdaten erzeugen, welche die Auswahl der
Adressenmasken steuern. Eine Steuerschaltung 8 veranlaßt eine Torschaltung 10, zuerst die Daten aus
der linken Maskenwählschaltung 4 und danach die Daten aus der rechten Maskenwählschaltung 6 auszuwählen.
In der Adressenmaskenschaltung 12 sind vier Masken gespeichert. Die Maskenwähldaten aus
der Torschaltung 10 machen zweimal nacheinander
5 6
je eine der vier Masken wirksam. Auf das Schlüssel- das Steuersignal »rechts« erzeugt. Durch die Verwort
(im Register 2) hin wählen die Masken drei zögerung wird gewährleistet, daß die Operation der
Bits des Schlüsselwortes als Teil der Adresse aus. durch das Steuersignal »links« gesteuerten Schaltun-Die
ausgewählten Bits werden einer Torschaltung 14 gen abgeschlossen ist, bevor die Operation der durch
zugeführt, die von der Steuerschaltung 8 gesteuert 5 das Steuersignal »rechts« gesteuerten Schaltungen bewird.
Zuerst übertragen die Torschaltungen die drei ginnt. Außerdem wird das Startsignal auf eine Lei-Adressenbits
zu den ersten drei Stellen (1, 2, 3) eines tung 125 gegeben, um das Adressenregister 16 in
Adressenregisters 16. Danach werden die drei Fig. 2D zu löschen.
Adressenbits den übrigen Stellen (4, 5, 6) des Adres- Zwei Und-Schaltungen 126 und 128 in der Massenregisters
zugeführt. Die Hälfte einer östelligen io kentorschaltung 10 werden durch das Steuersignal
Adresse wird also jeweils während eines von zwei »links« vorbereitet, um die Daten aus dem Register
Arbeitsgängen aus dem 16stelligen Schlüsselwort 118 der linken Maskenwählschaltung 4 (Fig. 2A)
entwickelt. Das Ausführungsbeispiel der F i g. 1 ist einer Oder-Schaltung 134 zuzuführen. Danach werin
den Fig. 2A bis 2E noch einmal im einzelnen den zwei Und-Schaltungen 130 und 132 (Fig. 2B)
dargestellt. Der Deutlichkeit halber werden die 15 durch das Steuersignal »rechts« vorbereitet, um die
meisten Bezugsziffern in Fig. 1 auch in Fig. 2 ver- Daten aus dem Register 118 in der rechten Maskenwendet.
Wählschaltung 6 (Fig. 2A) einer Oder-Schaltung
Das Schlüsselwort ist im Register 2 in Fig. 2A 136 zuzuführen. Die Ausgangssignale der Odergespeichert und wird der linken und der rechten Schaltung 134 stellen also die Daten in der ersten
Maskenwählschaltung 4 und 6 (Fig. 2A) zugeführt, zo Stelle desjenigen Registers 118 (Fig. 2A) dar,
Jede Maskenwählschaltung enthält zwei 4-Bit- dessen Ausgangssignal durch die Steuerschaltung 8
Register 102 und 104 zum Speichern der Schlüssel- (Fig. 2B) ausgewählt wird. Ebenso stellt das Auswort-Bitstellen,
die bei der Auswahl von Masken gangssignal der Oder-Schaltung 136 die Daten in der
benutzt werden sollen. Wenn z. B. die Maskenwähl- zweiten Stelle des abgetasteten Registers 118 dar
register 102 und 104 der rechten Maskenwählschal- 25 (Fig. 2A). Das heißt, daß während des ersten
tung die binären Daten 1011 bzw. 0011 enthalten, (linken) Arbeitsganges die Ausgangssignale der
werden das elfte und das dritte Bit des Schlüssel- Oder-Schaltungen 134 und 136 (Fig. 2B) die Daten
wortes als das erste bzw. das zweite Bit der rechten in der ersten bzw. der zweiten Stelle im Register 118
Maskenwähldaten verwendet. An die Maskenwähl- (Fig. 2A) der linken Maskenwähleinheit4 darstelregister
102 und 104 sind Eingangsleitungen ange- 30 len und daß während des zweiten (rechten) Arbeitsschlossen,
die eine Änderung der Maskenwähldaten ganges die Ausgangssignale der Oder-Schaltungen
zur Erhöhung der Flexibilität des Systems gestatten. 134 und 136 (Fig. 2B) die Daten im Register 118
Die Daten in den Maskenwählregistern 102 und 104 in der rechten Maskenwählschaltung 6 (Fig. 2A)
werden herkömmlichen Decodierschaltungen 106 darstellen.
und 108 zugeführt, welche ein Signal auf derjenigen 35 Die von den Oder-Schaltungen 134 und 136
ihrer sechzehn Ausgangsleitungen liefern, die den in (Fig. 2B) angelieferten Signale werden von zwei
dem Maskenwählregister 102 oder 104 gespeicherten Invertern 138 und 140 und einer Gruppe von Und-Daten
entspricht, aber mit der Ausnahme, daß die Schaltungen 142, 144, 146 und 148 decodiert. Ein
sechzehnte Ausgangsleitung durch 0000 ausgewählt Ausgangssignal wird jeweils von nur einer der vier
wird. Das von jeder Decodierschaltung gelieferte 40 Und-Schaltungen erzeugt. Wenn beide Oder-Schal-Signal
bereitet eine entsprechende Und-Schaltung tungen 134 und 136 keine Signale liefern (was der
110 vor. Das zweite Eingangssignal für jede der binären Zahl 00 in dem ausgewählten Register 118
Und-Schaltungen ist eine der sechzehn Bits im in Fig. 2A entspricht), erzeugen die Inverter 138
Schlüsselwortregister 2. Jede vorbereitete Und-Schal- und 140 Signale zur Betätigung der Und-Schaltung
tung läßt das entsprechende Bit des Schlüsselwortes 45 142, die ihrerseits das Signal »Erste Maske ausdurch.
Die Ausgangssignale jeder Gruppe von Und- wählen« auf einer Leitung 143 erzeugt. Wenn die
Schaltungen (die einem Decodierer entspricht) wer- Oder-Schaltung 134 ein Signal erzeugt und die Oderden
über eine Oder-Schaltung 114, 116 einem Re- Schaltung 136 nicht (was der binären Zahl 01 entgister
118 zugeleitet. In jeder Gruppe wird nur eine spricht), bewirken das Ausgangssignal der Oder-Und-Schaltung
in der oben beschriebenen Weise vor- 50 Schaltung 134 und ein von dem Inverter 140 erzeugbereitet.
Daher enthält jedes Register 118 zwei tes Signal, daß die Und-Schaltung 144 das Signal
Datenbits, die unter der Steuerung der Register 102 »Zweite Maske auswählen« auf einer Leitung 145
und 104 aus dem Schlüsselwort ausgewählt worden erzeugt. Wenn die Oder-Schaltung 134 kein Signal
sind. liefert und die Oder-Schaltung 136 ein Signal erzeugt
Die Daten in jedem Register 118 steuern die Aus- 55 (was der binären Zahl 10 entspricht), lösen die Auswahl
einer von vier Masken. Diese Daten werden gangssignale der Oder-Schaltung 136 und des Inverüber
Leitungen 119 der Maskentorschaltung 10 in ters 138 über die Und-Schaltung 146 das Signal
Fig. 2B zugeführt, wo Steuersignale »links« und »Dritte Maske auswählen« auf einer Leitung 147
»rechts« aus der Steuerschaltung8 (Fig. 2B) die aus. Wenn schließlich die Oder-Schaltungen 134 und
aufeinanderfolgende Ausgabe der Daten aus den 60 136 beide ein Signal liefern (was der binären Zahl 11
Maskenregistern 152 veranlassen. Über eine Lei- entspricht), veranlassen diese Signale die Und-Schaltung
121 wird der Steuerschaltung 8 (Fig. 2B) ein tung 148, das Signal »Vierte Maske auswählen« auf
Startsignal zugeführt, durch das ein monostabiler einer Leitung 149 zu erzeugen. Das zwei Bits dar-Impulsgenerator
120 angestoßen wird, der das stellende binäre Signal an den Ausgängen der Oder-Steuersignal
»links« erzeugt. Das Steuersignal »links« 65 Schaltungen 134 und 136 wird also decodiert und
wird über eine Verzögerungsschaltung 122 zu einem erzeugt eines der vier »Maskenwähk-Signale. Ein
weiteren monostabilen Impulsgenerator 124 über- Decodierer dieser Art (der zur Verarbeitung von
tragen, der seinerseits zu einem späteren Zeitpunkt vier Eingangs- und sechzehn Ausgangssignalen er-
weitert ist) eignet sich ebenfalls zur Verwendung bei den Decodierern 106 und 108 (Fig. 2A).
Die »Maskenwähk-Signale werden über die Leitungen 143, 145, 147 und 149 drei Adressenbitgeneratoren
150 zugeführt, von denen jeweils einer in den Fig. 2C, 2D bzw. 2E dargestellt ist. Jeder
Adressenbitgenerator enthält vier Maskenregister 152, von denen je eines zu einer der vier Masken
gehört. Eine vollständige Maske besteht also aus den Daten in den drei Maskenregistern 152, von denen
je eines in jedem Adressenbitgenerator 150 enthalten ist. Jedes Maskenregister 152 enthält eine vierstellige
binäre Zahl, deren Wert der Bitstelle in dem Schlüsselwort entspricht, die für die Adresse auszuwählen
ist (wobei 0001 die erste Bitstelle, 0010 die zweite Bitstelle ..., 1111 die fünfzehnte Bitstelle und
0000 die sechzehnte Bitstelle auswählt). Durch die Verwendung von veränderbaren Maskenregistern
erreicht man eine außerordentliche Vielseitigkeit.
Die vierstelligen Maskendaten in jedem Register 152 werden über einen Decodierer 154 einer mehrfachen
Und-Schaltung 156 zugeleitet. Die Decodierer gleichen in ihrer Wirkungsweise den Decodierern 106
und 108 (Fig. 2A), und zwar erzeugen sie ein Signal auf einer von sechzehn Ausgangsleitungen,
wie es durch den Wert in dem zugeordneten Register 152 bestimmt wird. Das »Maskenwähl«-
Signal, das von der Maskentorschaltung 10 (Fig. 2B) erzeugt wird, bereitet die entsprechende Und-Schaltung
156 in jedem Adressenbitgenerator 150 vor. Jede mehrfache Und-Schaltung 156 umfaßt
sechzehn herkömmliche Und-Schaltungen, die alle durch dasselbe »Maskenwähk-Signal vorbereitet
werden. In jedem Adressenbitgenerator werden die Ausgangssignale der Und-Schaltungen in sechzehn
Oder-Schaltungen 158 verknüpft. Die »!«-Ausgangssignale aller vier Und-Schaltungen 156 werden in
der Oder-Schaltung 158 verknüpft, welche das »1 «-Ausgangssignal bildet; die »2«-Ausgangssignale
aller Und-Schaltungen werden in der Oder-Schaltung verknüpft, welche das »2«-Ausgangssignal bildet usf.
Es liefert also nur eine Oder-Schaltung 158 in jedem Adressenbitgenerator 150 ein Ausgangssignal, und
die betreffende Oder-Schaltung entspricht den Daten in dem Maskenregister 152, das durch das »Maskenwähk-Signal
ausgewählt wird. Jedes Ausgangssignal einer Oder-Schaltung bereitet eine Und-Schaltung
160 vor, die ihrerseits das entsprechende Bit des Schlüsselwortes (aus dem Register 2 in F i g. 2 A) zu
einer Oder-Schaltung 162 weiterleitet. Die Daten in den ausgewählten Stellen des Schlüsselwortes werden
durch die drei Oder-Schaltungen 162 zu der Adressentorschaltung 14 (Fig. 2D) über die Leitungen
163 übertragen. Während des ersten Arbeitsganges werden diese Daten durch eine mehrfache Und-Schaltung
164 als der linke Teil der Adresse in die Stellen 1, 2 und 3 des Adressenregisters 16 weitergeleitet.
Während des zweiten Arbeitsganges werden die Daten aus den Oder-Schaltungen 162 über eine
mehrfache Und-Schaltung 166 als der rechte Teil der Adresse in die Stellen 4, 5 und 6 des Adressenregisters
weitergeleitet. Die mehrfachen Und-Schaltungen 164 und 166 bestehen aus drei herkömmlichen
Und-Schaltungen, die alle durch ein gemeinsames Steuersignal »links« oder »rechts« vorbereitet
werden.
Das bevorzugte Ausführungsbeispiel der Erfindung, das an Hand von F i g. 1 und 2 beschrieben worden
ist, bildet in zwei Arbeitsgängen eine 6stellige Adresse aus einem 16stelligen Schlüsselwort. Die
Daten in den Registern 102 und 104 (Fig. 2A) und
die Daten in den Registern 152 (Fig. 2C, 2D und
2E) können verändert werden, damit ein noch vielseitigeres System entsteht, das jeden beliebigen Satz
von Schlüsselwörtern verarbeiten kann. Die Größe der Adresse und die Zahl der Umläufe können natürlich
je nach dem zu lösenden Adressierungsproblem verändert werden.
Ein weiteres Ausführungsbeispiel der Erfindung zeigt F i g. 3. Hier ist das 16stellige Schlüsselwort in
zwei Registern 202 und 204 gespeichert. Eine Maskenwählschaltung 206 überträgt zwei vorherbestimmte
Bits des Schlüsselwortes, um eins von vier 16stelligen Maskenspeicherregistern 208 auszuwählen, das danach in ein Register 210 eingegeben wird.
Jede Maske umfaßt drei »1«-Bits und dreizehn »O«-Bits. Das Schlüsselwort im Register 204 wird
mit der Maske im Register 210 verglichen und die drei Schlüsselwortbits, deren Stellen den drei »1 «-Bits
in der ausgewählten Maske entsprechen, werden zu einem Abfragefeld eines herkömmlichen assoziativen
Speichers 212 übertragen. Die dreizehn »O«-Bits in der Maske liefern keine Ausgangssignale. Das Abfragefeld
des assoziativen Speichers enthält acht 16stellige Wörter, und das Ausgangsfeld enthält acht
3stellige Wörter. Der assoziative Speicher kann z. B. folgende Daten enthalten:
| 30 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | Abfragefeld | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | Ausgabefeld | 1 | T-H |
| 1 | 1 | 1 | 0 | 0 | 0 | 1 | 8 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | ||
| 1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | |
| 35 ι | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | |
| 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | |
| 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | |
| 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | T-H | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | |
| 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | |
| 40 Q | 0 | 0 | 1 | TH | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | |||
| 0 | 0 | ||||||||||||||||||
Der Aufbau der Masken in den Registern 208 ist insofern etwas beschränkt, weil die drei »1«-Bits in
der Maske an Stellen auftreten sollen, welche drei Spalten im Abfragefeld des assoziativen Speichers
entsprechen, in denen eindeutige Daten enthalten sind. Zum Beispiel die Spalten 2, 4 und 15 im assoziativen
Speicher folgende Daten:
| Spalten | 15 | |
| 2 | 4 | T-H |
| 1 | 0 | 0 |
| 1 | 0 | 1 |
| 0 | 0 | 0 |
| 0 | 0 | 1 |
| 1 | 1 | 0 |
| 1 | 1 | 1 |
| 0 | 1 | 0 |
| 0 | 1 | |
Diese acht 3stelligen Wörter sind eindeutig, und daher kann eine Maske ihre drei »1«-Bits in den
Spalten 2, 4 und 15 enthalten. Bei dem oben dargestellen assoziativen Speicher können die Masken ein
»1«-Bit in den Spalten 1, 4, 6, 10, 13 oder 16, ein weiteres »!«-Bit in den Spalten 2, 5, 8, 11 oder 14
und ein drittes »1«-Bit in den Spalten 3, 6, 9, 12
909 522/386
oder 15 enthalten. Die Daten im Abfragefeld des assoziativen Speichers können selbstverständlich abgeändert
werden, so daß andere Maskenkonfigurationen entstehen. Eine große Zahl von zulässigen
Maskenkonfigurationen erhält man, indem man drei 5 Spalten des Abfragefeldes mit eindeutigen 3stelligen
Wörtern und die restlichen Spalten mit Reproduktionen oder umgekehrten Reproduktionen dieser
drei Spalten füllt. In dem oben dargestellten assoziativen Speicher enthalten die Spalten 1, 2 und 3 ein- ia
deutige 3stellige Wörter, und die Spalten 4 bis 16 gleichen entweder einer der Spalten 1, 2, 3 oder sind
Umkehrungen von ihnen.
Da die Maskenkonfigurationen auf diejenigen beschränkt sind, welche eindeutige 3stellige Wörter enthaltende
Spalten auswählen, stimmen die drei Ausgangsbits des Schlüsselwortregisters 204 mit nur einer
Reihe des Abfragefeldes überein. Zum Beispiel wirkt eine Maske, die »1«-Bits in den Spalten 2, 4 und 15
enthält, auf ein Schlüsselwort
1011001110110 0 01
ein, um folgende Ausgangssignale zu erzeugen:
ein, um folgende Ausgangssignale zu erzeugen:
X0X1XXXXXXXXXX0X,
wobei »X« ein »0«- oder »1«-Bit sein kann. Dieses letzte Schema wird mit den Daten im Abfragefeld
des oben dargestellten assoziativen Speichers verglichen, und es ergibt sich eine Übereinstimmung
mit dem untersten und keinem anderen Wort.
Diejenige Reihe des Abfragefeldes, deren ausgewählte Spalten Daten enthalten, welche mit den
Daten aus dem Schlüsselwortregister 204 übereinstimmen, liefern ein 3stelliges Ausgangsdatenwort aus
dem Ausgangsfeld. In dem Beispiel im letzten Absatz hat die unterste Reihe eine Übereinstimmung
ergeben, und daher werden die Ausgangssignale 000 erzeugt. Dieses Wort wird einem Schieberegister 214
als Teil der Adresse zugeführt und nach rechts geschoben, damit der später erzeugte Teil der Adresse
in das Schieberegister gelangen kann. Nach Abschluß einer ausgewählten Zahl von Umläufen ist die
vollständige Adresse im Schieberegister gespeichert. Die Maskenwählschaltung 206 macht verschiedene
Schlüsselwortbits wirksam, um die Auswahl verschiedener Masken während jedes Arbeitsganges zu
gestatten und so eine größere Vielseitigkeit zu erreichen.
Zur Vereinfachung der Erläuterung sind in Fig. 3 getrennte Register 202 und 204 dargestellt, deren
Funktion auch von einem einzigen Register ausgeführt werden kann. Ebenso kann das Register 210
wegfallen und seine Funktion von dem ausgewählten Register 208 ausgeführt werden.
Obwohl das Ausführungsbeispiel von F i g. 3 bezüglich der Masken etwas eingeengt ist, sind die
Daten in dem assoziativen Speicher veränderbar, so daß ein äußerst flexibles System entsteht. Diese dreistufige
Adressierung ermöglicht drei Grade der Modifikation. Die Maskenwählschaltung 206, der
Inhalt der Maskenspeicherregister 208 und des assoziativen Speichers 212 sind auswechselbar.
Claims (13)
1. Einrichtung zur Ermittlung einer Speicheradresse aus einem Schlüsselwort, dadurch gekennzeichnet,
daß wenigstens eine der Ziffern des Schlüsselwortes eine Maskenwählschaltung (4, 6) betätigt, die aus mehreren
Maskenregistern (152) eines auswählt, und daß die Adresse aus den Stellen des Schlüsselwortes
zusammengesetzt wird, die durch den Inhalt des/ der ausgewählten Maskenregister(s) (152) gekennzeichnet
sind.
2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Ziffern der Adresse
gruppenweise nacheinander ermittelt werden.
3. Einrichtung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Stellenzahl der
Maskenregister (152) gleich der Stellenzahl der Schlüsselwörter ist und daß die Stellen der
Schlüsselwörter, die in die Adressen übernommen werden sollen, durch »1«-Bits gekennzeichnet
sind.
4. Einrichtung nach Anspruch 3, dadurch gekennzeichnet, daß für jede Stelle des Schlüsselwortes,
die in die Adresse übernommen werden soll, je ein Maskenregister (152) vorhanden ist,
in dem die Stellenzahl, die in die Adresse übernommen werden soll, in codierter Form gespeichert
ist, und daß an den Ausgang jedes dieser Maskenregister ein Decoder (154), von dem jeweils
nur ein Ausgang erregt ist, angeschaltet ist.
5. Einrichtung nach einem der Ansprüche 2 bis 4, dadurch gekennzeichnet, daß die in den
Maskenregistern (208, 152) gespeicherten Werte veränderbar sind.
6. Einrichtung nach einem der Ansprüche 2 bis 5, dadurch gekennzeichnet, daß die Bits der
ausgewählten Maskenregister (208, 152) Und-Schaltungen
derart steuern, daß die ausgewählten Ziffern des in einem Schlüsselwortregister gespeicherten
Schlüsselwortes in ein Adressenregister übergeführt werden.
7. Einrichtung nach einem der Ansprüche 2 bis 6, dadurch gekennzeichnet, daß wenigstens
ein Maskenwählregister (102, 104) vorhanden ist, in dem die Stelle(n) des Schlüsselwortes gespeichert
ist/sind, deren Wert bestimmt, durch welche Ziffern des Schlüsselwortes die Maske ausgewählt
werden soll.
8. Einrichtung nach Anspruch 7, dadurch gekennzeichnet, daß für jede Stelle des Schlüsselwortes,
die die Auswahl der Maske mitbestimmt, je ein Maskenwählregister (102, 104) vorhanden
ist, in dem die Stelle, die die Auswahl der Maske bestimmt, in codierter Form gespeichert ist, und
daß an den Ausgang jedes dieser Maskenwählregister (102, 104) ein Decoder (106, 108), von
dessen Ausgängen jeweils nur einer erregt ist, angeschaltet ist.
9. Einrichtung nach einem der Ansprüche 7 und 8, dadurch gekennzeichnet, daß die Bits der
Maskenwählregister (206, 102, 104) Und-Schaltungen (110, 112) derart steuern, daß die ausgewählten
Ziffern des Schlüsselwortes in ein Register (118) übernommen werden.
10. Einrichtung nach einem der Ansprüche 7 bis 9, dadurch gekennzeichnet, daß die in den
Maskenwählregistern (102, 104, 206) gespeicherten Werte veränderbar sind.
11. Einrichtung nach einem der Ansprüche 1 und 2, dadurch gekennzeichnet, daß die ermit-
telte Adresse als vorläufige Adresse verwendet und aus ihr wiederum durch Umwandlung die
endgültige Adresse ermittelt wird.
12. Einrichtung nach Anspruch 11, dadurch gekennzeichnet, daß die vorläufige Adresse dem
Abfragefeld eines assoziativen Speichers (212) zugeführt wird, daß in dem Abfragefeld Masken
enthalten sind und daß in zugeordneten Ausgabefeldem
die endgültige Adresse oder Teile davon gespeichert sind.
13. Einrichtung zur Durchführung des Verfahrens nach Anspruch 12, dadurch gekennzeichnet,
daß die Masken im Abfragefeld des assoziativen Speichers veränderbar sind.
Hierzu 2 Blatt Zeichnungen
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US375704A US3366927A (en) | 1964-06-17 | 1964-06-17 | Computing techniques |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| DE1296428B true DE1296428B (de) | 1969-05-29 |
Family
ID=23481962
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DEI28341A Pending DE1296428B (de) | 1964-06-17 | 1965-06-15 | Einrichtung zur Ermittlung von Speicheradressen aus Schluesselwoertern |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US3366927A (de) |
| DE (1) | DE1296428B (de) |
| FR (1) | FR1444352A (de) |
| GB (1) | GB1037496A (de) |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3568155A (en) * | 1967-04-10 | 1971-03-02 | Ibm | Method of storing and retrieving records |
| BE704177A (de) * | 1967-09-22 | 1968-03-22 | ||
| US3614743A (en) * | 1969-01-14 | 1971-10-19 | Digital Equipment Corp | Variable stroke character generator |
| US3733593A (en) * | 1970-10-09 | 1973-05-15 | Rockwell International Corp | Capture combination system |
| US3922643A (en) * | 1974-09-04 | 1975-11-25 | Gte Sylvania Inc | Memory and memory addressing system |
| US4078251A (en) * | 1976-10-27 | 1978-03-07 | Texas Instruments Incorporated | Electronic calculator or microprocessor with mask logic effective during data exchange operation |
| JPS62237522A (ja) * | 1986-04-08 | 1987-10-17 | Nec Corp | 情報処理装置 |
| KR950008676B1 (ko) * | 1986-04-23 | 1995-08-04 | 가부시기가이샤 히다찌세이사꾸쇼 | 반도체 메모리 장치 및 그의 결함 구제 방법 |
| US4841433A (en) * | 1986-11-26 | 1989-06-20 | American Telephone And Telegraph Company, At&T Bell Laboratories | Method and apparatus for accessing data from data attribute tables |
| DE69811477T2 (de) | 1998-05-01 | 2003-11-20 | Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto | Verfahren und Vorrichtung zur Hashkodierung |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3119098A (en) * | 1960-10-31 | 1964-01-21 | Ibm | Stream editing unit |
| US3221308A (en) * | 1960-12-30 | 1965-11-30 | Ibm | Memory system |
| US3195109A (en) * | 1962-04-02 | 1965-07-13 | Ibm | Associative memory match indicator control |
| US3267433A (en) * | 1962-08-24 | 1966-08-16 | Ibm | Computing system with special purpose index registers |
| US3270324A (en) * | 1963-01-07 | 1966-08-30 | Ibm | Means of address distribution |
| US3311887A (en) * | 1963-04-12 | 1967-03-28 | Ibm | File memory system with key to address transformation apparatus |
| US3311888A (en) * | 1963-04-12 | 1967-03-28 | Ibm | Method and apparatus for addressing a memory |
| US3315233A (en) * | 1963-10-01 | 1967-04-18 | Ibm | Self-addressing and self-assigning memory system |
| DE1181461B (de) * | 1963-10-08 | 1964-11-12 | Telefunken Patent | Adressenaddierwerk einer programm-gesteuerten Rechenmaschine |
-
1964
- 1964-06-17 US US375704A patent/US3366927A/en not_active Expired - Lifetime
-
1965
- 1965-05-10 GB GB19557/65A patent/GB1037496A/en not_active Expired
- 1965-06-10 FR FR20177A patent/FR1444352A/fr not_active Expired
- 1965-06-15 DE DEI28341A patent/DE1296428B/de active Pending
Non-Patent Citations (1)
| Title |
|---|
| None * |
Also Published As
| Publication number | Publication date |
|---|---|
| GB1037496A (en) | 1966-07-27 |
| FR1444352A (fr) | 1966-07-01 |
| US3366927A (en) | 1968-01-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE2751097C2 (de) | Schaltungsanordnung zum Erzeugen eines Kennsignals | |
| DE2451982C2 (de) | ||
| DE1901343C3 (de) | Datenverarbeitungsanlage zur Ausführung von Mateirenrechnungen | |
| CH620542A5 (de) | ||
| DE2131066A1 (de) | Anordnung zur Adressen-Umsetzung | |
| DE2154106A1 (de) | Arbeitsspeicherwerk | |
| DE2311220A1 (de) | Digital-informations-verarbeitungsvorrichtung zur zeichenerkennung | |
| DE2712224A1 (de) | Datenverarbeitungsanlage | |
| DE1497696B2 (de) | Schaltungsanordnung fuer ein lerngeraet | |
| DE1499722B1 (de) | Einrichtung zur modifizierung von informationswoertern | |
| DE2725396C3 (de) | ||
| DE2747146A1 (de) | Datenverarbeitungsanlage | |
| DE2854782C2 (de) | Datenverarbeitungssystem und Verfahren zum Ersetzen eines Datenblocks in einem Schnellspeicher | |
| DE69602932T2 (de) | Multitor ram zur anwendung in einem viterbidecoder | |
| DE1449544A1 (de) | Datenverarbeitende Maschine mit ueberlappend abrufbarem Speicherwerk | |
| DE1296428B (de) | Einrichtung zur Ermittlung von Speicheradressen aus Schluesselwoertern | |
| DE2727627C2 (de) | Dekoder zur Parallelumsetzung von binären Zeichendaten in ein Punktmatrixformat | |
| DE2900586C2 (de) | Anordnung zum Decodieren von Codewörtern variabler Länge | |
| DE1115488B (de) | Datenverarbeitungssystem | |
| DE2121490C3 (de) | Orthogonaler Datenspeicher | |
| DE1524181B2 (de) | Auswahlvorrichtung fuer ein und ausgabegeraete einer daten verarbeitungsanlage | |
| DE2233193B2 (de) | Stapel-Speichersystem | |
| DE2164718A1 (de) | Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/Ausgabe-Einheiten mittels einer Zentraleinheit | |
| DE1280592B (de) | Schaltungsanordnung zur Ansteuerung eines Speichers | |
| DE3341339C2 (de) | Befehlsfolgegenerator |