[go: up one dir, main page]

DE1296428B - Einrichtung zur Ermittlung von Speicheradressen aus Schluesselwoertern - Google Patents

Einrichtung zur Ermittlung von Speicheradressen aus Schluesselwoertern

Info

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
Application number
DEI28341A
Other languages
English (en)
Inventor
Falkoff Adin Daniel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE1296428B publication Critical patent/DE1296428B/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital 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/04Digital 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9014Indexing; 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.
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:
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)

Patentansprüche:
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
DEI28341A 1964-06-17 1965-06-15 Einrichtung zur Ermittlung von Speicheradressen aus Schluesselwoertern Pending DE1296428B (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
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