DE1952020B2 - Schaltungsanordnung zum Addieren oder Subtrahieren einer Binärzahl zum oder vom Inhalt eines assoziativen Speichers - Google Patents

Schaltungsanordnung zum Addieren oder Subtrahieren einer Binärzahl zum oder vom Inhalt eines assoziativen Speichers

Info

Publication number
DE1952020B2
DE1952020B2 DE1952020A DE1952020A DE1952020B2 DE 1952020 B2 DE1952020 B2 DE 1952020B2 DE 1952020 A DE1952020 A DE 1952020A DE 1952020 A DE1952020 A DE 1952020A DE 1952020 B2 DE1952020 B2 DE 1952020B2
Authority
DE
Germany
Prior art keywords
memory
register
word
query
bit position
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.)
Granted
Application number
DE1952020A
Other languages
English (en)
Other versions
DE1952020C3 (de
DE1952020A1 (de
Inventor
Arwin Bruce Poughkeepsie N.Y. Lindquist (V.St.A.)
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 DE1952020A1 publication Critical patent/DE1952020A1/de
Publication of DE1952020B2 publication Critical patent/DE1952020B2/de
Application granted granted Critical
Publication of DE1952020C3 publication Critical patent/DE1952020C3/de
Expired 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

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Radar Systems Or Details Thereof (AREA)

Description

Matrixspeicher bekannt. So können z. B. Additionsoperationen durch Ausnutzung der Auslenk- und Umschaltbewegungen der Magnetisierungsvektoren von anisotropen Magnetschicht-Speicherelementen ausgeführt werden. Diesen Speicherelementen sind Übertragslei- -, tungen zugeordnet, die in sie induzierte Übertragssignale vom betreffenden Speicherelement aus dem Speicher heraus zu einer Schaltung führen, welche die Verstärkung und Weiterbildung der Überträge in die nächste Bitstellenspalte veranlaßt (US-Patent 31 11580). Des κι weiteren ist es bekannt, bei einem wortorganisierten Matrixspeicher zwischen den einzelnen Wortstellenspalten Zähl- bzw. Addierschaltungen vorzusehen, von denen jede den zu einer Spalte zusammengefaßten gleichstelligen Bits aller Wörter gemeinsam ist. Durch |-, parallele Betätigung der Zähl- bzw. Addierschaltungen können ausgewählte Wörter addiert werden, wobei sich eine Addition auf mehr als zwei Wörter erstrecken kann (USA-Patent 31 41 964). Diese bekannten Anordnungen erfordern einen erheblichen Schaltungsaufwand sowie >o besondere Speicherzellen und/oder eine von der regulären Matrixform abweichende Struktur.
Die Erfindung richtet sich auf eine verbesserte Ausnutzung der Eigenschaften assoziativer Speicher zur Ausführung von speicherinternen Rechenoperationen. 2> Demgemäß besteht die Aufgabe der Erfindung darin, eine Schaltungsanordnung zur Durchführung von Additionen und Subtraktionen mit dem Inhalt eines assoziativen Speichers anzugeben, das eine wesentliche Einsparung an Abfrage- und Einschreiboperationen jo gestattet. Die Maßnahmen zur Lösung dieser Aufgabe sind aus dem Anspruch 1 ersichtlich.
Weiterbildungen der Erfindung und eine vorteilhafte Anwendung sind aus den Unteransprüchen zu ersehen. Nachfolgend ist ein Ausführungsbeispiel der Erfindung j-, an Hand von Zeichnungen beschrieben. Es zeigt
F i g. 1 Ein vereinfachtes Blockschaltbild der erfindungsgemäßen Einrichtung zur Erläuterung des Verfahrens nach der Erfindung,
F i g. 2 ein vereinfachtes Blockschaltbild eines assoziativen Speichers, wie er in der Einrichtung von F i g. 1 Verwendung findet,
F i g. 3 ein detailliertes Blockschaltbild der Bitauswahlschaltung der Einrichtung von Fig. 1,
Fig.4 ein vereinfachtes Blockschaltbild eines Zählers, wie er beim Betrieb der Einrichtung von F i g. 1 zur fortlaufenden Numerierung der Reihenfolge der jeweils letzten Adressierung einer Reihe von Speicherblöcken Verwendung findet,
F i g. 5 eine Steuerschaltung zum Betrieb der Einrichtung von F i g. 1 und
F i g. 6 eine zusätzliche Steuerschaltung, die zur Feststellung von Überlaufbedingungen, die bei Durchführung einer Addition oder Subtraktion in den Wortspeicherstellen des assoziativen Speichers auftreten können.
Die Anordnung von Fig. 1 enthält einen assoziativen Speicher 3, der eine Anzahl Wortspeicherstellen 0 bis N aufweist, von denen jede aus mehreren Bitstellen 3,2,1 und einer Spezialbitstelle SP besteht Die Bits eines bo jeden Wortes sind parallel adressierbar über eine Echt/Komplement-Torschaltung 5, die entsprechende Bitstellen 3,2,1, SP aufweist Jedes Wort ist individuell adressierbar bzw. abfühlbar durch eine Wortabfühl- und Auswahlschaltung 7. Der Inhalt einer Wortspeicherstel- b5 Ie kann für alle Bitstellen des Wortes gleichzeitig vom Speicher 3 in ein Etnahmeregister 9 übertragen werden. Dies geschieht durch ein Wortauswahlsignal von der Wortabfühl- und Auswahlschaltung 7. Informationen werden in den assoziativen Speicher 3 parallel eingegeben durch die Koinzidenz von Halb-Schreibsignalen von den Torschaltungen 5 und entsprechenden Halb-Schreibsignalen von der Auswahlschaltung 7. Eine Vergleichs- oder Abfrageoperation wird vorgenommen, wenn die von der Torschaltung 5 kommenden Signale allein an den assoziativen Speicher 3 angelegt werden. Das Ergebnis des Vergleiches mit jedem gespeicherten Wort wird im Wortleseteil der Wortabfühl- und Auswahlschaltung 7 gespeichert, die hierzu Übereinstimmungsanzeiger Ml 0, Ml 1 bis Ml N besitzt, von denen jeder einem Wort zugeordnet ist
Die in den assoziativen Speicher 3 einzuschreibende oder mit dessen Inhalt zu vergleichende Information wird zunächst im Eingaberegister 11 gespeichert, von wo sie über die Torschaltungen 5 zum Speicher 3 übertragen wird. Das Eingaberegister 11 enthält die gleiche Anzahl Bitstellen wie die Wortspeicherstellen im assoziativen Speicher 3. Die Bitstellen 3,2,1, SP des Registers stehen über die Torschaltung 5 mit den entsprechenden Bitstellen 3, 2, 1, SP des assoziativen Speichers 3 in Verbindung. Da es erwünscht sein kann, daß nicht jedes Bit im Eingaberegister in die entsprechenden Bitstellen der Wortspeicherstellen des assoziativen Speichers 3 eingegeben oder mit diesen Bitstellen verglichen wird, ist ein Maskenregister 13 vorgeshen, das einzelne oder alle Bits des Eingaberegisters 11 für eine Übertragung zum Speicher 3 sperren kann. Das Eingaberegister 11 und das Maskenregister 13 können ganz oder teilweise über ein Hilfsregister 15 geladen werden, wobei das Register 15 seinerseits ganz oder teilweise mit dem Inhalt der Register 11 und 13 gefüllt werden kann. Es besteht außerdem die Möglichkeit, in das Eingaberegister 11 den Inhalt des Entnahmeregisters 9 über eine Sammelleitung 115 rückzuübertragen.
Für die vorliegende Erfindung ist es von Bedeutung, welche Bits im Eingaberegister 11 mit den Wortspeicherstellen des Speichers 3 verglichen werden, welche Bits in diesen Speicher eingeschrieben werden und welche Reihenfolge beim Vergleich und beim Einschreiben eingehalten wird, um eine Addition oder Subtraktion eines konstanten Binärwertes zu einer im Speicher enthaltenen Binärzahl auszuführen. Die Reihenfolge und Auswahl der Bits erfolgt unter der Steuerung der Bitauswahlschaltungen 8 von Fig. 1, die im Detail in Fig.3 dargestellt und in einem der folgenden Abschnitte beschrieben sind. Zuvor sollen jedoch noch weitere Details des assoziativen Speichers 3 und der Wortabfühl- und Auswahlschaltung 7 an Hand der F i g. 2 erläutert werden.
In F i g. 2 sind die einzelnen Bitstellen 3, 2, 1 und SP der Wortspeicherstellen 0, 1 bis N in Form von Speicherzellen 17 dargestellt Diese Speicherzellen können in für sich bekannter Weise ausgebildet sein. Zu jeder von ihnen führt eine Wortabfühlleitung 243 zum Abfühlen einer Nichtüberstimmungsbedingung für jede Bitstelle eines ausgewählten Wortes sowie eine Worttreibleitung 247 zum Anlegen eines HaTb-Schreibsignals an jede Bitstelle des betreffenden Wortes. Zusätzlich enthält jedes Wort eine O-Bit-Abfrageleitung 280 und eine 1-Bit-Abfrageleitung 281. Diese Leitungen dienen zum Anlegen eines HaJb-Schreibsignals oder Abfragesignals. Die Bitleitungen 280 oder 281 werden zum Einschreiben einer 0 oder einer 1 in die betreffenden Speicherzellen derjenigen Wörter verwendet, denen auch ein Halb-Schreibsignal auf der
zugeordneten Worttreibleitung 247 zugeführt wird. Andererseits werden während einer Abfrage- oder Vergleichsoperation den Zellen lediglich Signale auf den Leitungen 280 oder 281 zugeführt, während die mit den betreffenden Speicherzellen verbundenen Leitun- r> gen 243 zur Anzeige einer Nichtübereinstimmungsbedingung dienen. Wenn eine Nichtübereinstimmungsbedingung auftritt, wird ein Impuls auf der betreffenden Leitung 243 erzeugt.
Jede dieser Wortabfühlleitungen 243 ist mit einem ι ο Übereinstimmungsanzeiger (MI)2\ verbunden, der dem betreffenden Wort zugeordnet ist Der Impuls auf einer der Leitungen 243 dient zur Rückstellung des mit ihr verbundenen Anzeigers 21 in den O-Zustand, in welchem er eine Anzeige liefert, daß für das ihm zugeordnete Wort eine Nichtübereinstimmungsbedingung vorliegt
Die Bitleitungen 280 und 281 jeder Bitstelle sind an die Echt/Komplement-Torschaltung 5 angeschlossen, wie im Detail in F i g. 3 dargestellt ist
Die Anzeiger 21 sind herkömmliche bistabile Schaltungen, welche durch ein Einstellsignal auf Leitung 108 in den 1-Zustand gebracht werden. Dieses Einstellsignal wird von einer Oder-Schaltung 107 geliefert, wenn auf Leitungen 45 oder 48 von der Steuereinheit 25 (Fig. 1) entsprechende Steuersignale 2r> zugeführt werden. Der 1 -Ausgang der Anzeiger 21 gibt eine Anzeige dafür, daß das in der zugeordneten Wortspeicherstelle enthaltene Wort mit dem vom Eingaberegister 11 über die Torschaltung 5 den Bitleitungen zugeführten Wort übereinstimmt Dieses Ausgangssignal der Anzeiger 21 wird einer Und-Schaltung 26 zugeführt, über die ein Halb-Schreibsignal zu den zugeordneten Worttreibleitungen 247 übertragen wird, wenn ein Steuersignal 90 von der Steuereinheit 25 in F i g. 1 empfangen wird.
Nachfolgend wird nun anhand von Fig.3 die Bitauswahlschaltung von F i g. 1 im Detail erläutert Diese Schaltung enthält das Eingaberegister 11, das Maskenregister 13 und das Hilfsregister 15. Jedes dieser Register ist in herkömmlicher Weise aufgebaut und 4« enthält für jede Bitstelle eine bistabile Speicherstufe 30, die entweder in den 0- oder 1-Zustand gebracht werden kann. Zusätzlich zu den drei Registern und den sie verbindenden Leitungen weist die Bitauswahlschaltung 8 eine Mehrfachtorschaltung 16 und die ebenfalls aus mehreren Toren bestehende Echt/Komplement-Torschaltung 5 auf.
Die Speicherstufen 30 des Eingaberegisters 11 sind einerseits mit der Echt/Komplement-Torschaltung 5 und andererseits mit dem Hilfsregister 15 verbunden. Jede dieser Speicherstufen liefert ein 0- oder 1-Ausgangssignal. Zum Beispiel erzeugt die Speicherstufe 30 der Bitstelle 3 ein Ausgangssignal £T3, wenn sie eine 1 gespeichert enthält, und ein Ausgangssignal NI3, wenn sie eine 0 gespeichert enthält In der gleichen Weise erzeugt die Stufe 30 der Bitstelle 2 im 1-Zustand ein Signal E2 und im 0-Zustand ein Signal NI2. Ebenso liefert die Speicherstufe 30 der Spezialbitstelle SP im 1-Zustand ein Ausgangssignal £Sund im 0-Zustand ein Ausgangssignal NES Die regulären oder 1-Ausgangs- μ signale E der Bitstellen 1, 2 und 3 sind über Torschaltungen 33 an die 1-Eingänge der entsprechenden Bitstellen im Hilfsregister 15 angeschlossen. Zusätzlich sind die E-Ausgänge des Eingaberegisters 11 an die Tore der entsprechenden Bitstellen in der Echt/Komplement-Torschaltung 5 angeschlossen. In der gleichen Weise sind auch die NZ-Ausgänge der Speicherstufen 30 des Eingaberegisters 11 mit den Toren der Echt/Komplement-Torschaltung 5 verbunden.
Die Bitstellen des Eingaberegisters 11 können unterschiedliche Eingangssignale von einer Zählschaltung 114 empfangen, die in einem der späteren Abschnitte in Verbindung mit F i g. 4 beschrieben wird. Außerdem können die Speicherstufen 30 des Eingaberegisters 11 durch ein Einstellsignal auf einer Leitung 36 von der Steuereinheit 25 in den 1-Zustand gebracht werden. Das Spezialbit SPdes Eingaberegisters 11 kann in den 1 -Zustand eingestellt werden durch ein Signal auf einer Leitung 37 und in den 0-Zustand rückgestellt werden durch ein Signal auf der Leitung 38. Beide Leitungen 37 und 38 sind an die Steuereinheit 25 in F i g. 1 angeschlossen.
In der entsprechenden Weise besitzen die Speicherstufen des Maskenregisters 30, die das gleiche Bezugszeichen 30 tragen, Signalausgänge N bzw. NM für die 1- und 0-Ausgangssignale. Alle M-Ausgänge sind an die Tore der entsprechenden Bitstellen der Echt/Komplement-Schaltung 5 angeschlossen. Die MVf-Ausgänge des Maskenregisters 13 sind einerseits zu den Toren der entsprechenden Bitstellen in der Echt/Komplement-Torschaltung 5 und andererseits zu den 0-Eingängen der entsprechenden Bitstellen im Hilfsregister 15 geführt.
Das Maskenregister 13 besitzt einen Einstelleingang 40 zur gemeinsamen Einstellung der Speicherstufen dieses Registers in den 1-Zustand. Außerdem ist mit dem Maskenregister 13 eine Rückstelleitung 41 (F i g. 3) verbunden, über die alle Speicherstufen des Maskenregisters außer der höchsten Bitstelle (Bitstelle 3), jedoch einschließlich der Spezialbitstelle SP in den 0-Zustand eingestellt werden können. Obgleich die dargestellte Ausführungsform der erfindungsgemäßen Anordnung lediglich 4-stellige Register und Wortspeicherstellen im assoziativen Speicher 3 aufweist, ist es offensichtlich, daß die Erfindung nicht auf diese Bitstellenzahl beschränkt ist sondern auch mit einer beliebigen anderen Bitstellenzahl realisiert werden kann. Wenn die Register und die Wortspeicherstellen eine größere Anzahl Bits aufweisen, als dargestellt ist würde der Einstelleingang 40 zu allen Bitstellen des Maskenregisters 13 und der Rückstelleingang 41 zu allen Bitstellen außer der höchsten Bitstelle dieses Registers führen.
Neben den Eingangsleitungen 40 und 41 besitzt das Maskenregister 13 eine Eingangsleitung 45, die über Oder-Schaltungen 43 mit den 0-Eingängen der Bitstelle 1 und der Spezialbitstelle SP verbunden ist. Ein Impuls auf der Leitung 45 dient dazu, diese beiden Bitstellen des Maskenregisters 13 in den 0-Zustand zurückzustellen, wenn für die entsprechenden Bitstellen im Eingaberegister 11 in einer noch zu beschreibenden Weise keine Maskierung vorgenommen werden solL
Die Nullausgänge der höherstelligen Bitstellen (Bitstellen 2 und 3) des Registers 13 sind jeweils mit den 0-Ausgängen der nächst niedrigen Bitstelle des Hilfsregisters 15 verbunden. Zum Beispiel empfängt der 0-Eingang der Bitstelle 2 im Maskenregister 13 über eine Und-Schaltung 53, die das Tor der betreffenden Stellen in der Torschaltung 16 darstellt, Eingangssignale von dem 0-Ausgang der Bitstelle 1 des Hilfsregisters 15. In der gleichen Weise ist der 0-Ausgang der Bitstelle 2 des Hilfsregisters 15 über die Und-Schaltung 53 mit dem 0-Eingang der Bitstelle 3 im Maskenregister 13 verbunden. Auch hier ist zu bemerken, daß bei einer höheren Bitstellenzahl als 4 die Bitstelle 3 des Registers 15 über die Und-Schaltung 54 mit der nächst höheren
Bitstelle — also der Bitstelle 4 — des Maskenregisters 13 verbunden wäre usw.
Außer dieser Kopplung der 0-Eingänge des Maskenregisters mit der Torschaltung 16 ist jeder 1 -Eingang der Bitstellen des Maskenregisters 13 mit Ausnahme der ·-> höchsten Bitstelle (Bitstelle 3) mit dem 1-Ausgang der entsprechenden Bitstelle des Hilfsregisters 15 über ein Tor in der Torschaltung 16 verbunden. Zum Beispiel ist der 1-Ausgang der Bitstelle 1 des Hilfsregisters 15 über die als Tor wirkende Und-Schaltung 57 mit dem 1-Eingang der Bitstelle 1 im Maskenregister 13 verbunden. In der gleichen Weise verbindet die Torschaltung 58 den 1-Ausgang der Bitstelle 2 im Register 15 mit dem 1-Eingang der Bitstelle 2 im Register 13. Auch hier würde bei Verwendung einer i> größeren Anzahl Bitstellen die Torschaltung 59 mit dem 1-Eingang der Bitstelle 3 verbunden sein, und in entsprechender Weise würden auch die höheren Bitstellen des Registers 13 über Torschaltungen mit den 1 -Ausgängen der entsprechenden Bitstellen 15 verbunden sein mit Ausnahme der jeweils höchsten Bitstelle.
Das Hilfsregister 15 enthält lediglich drei normale Bitstellen, nämlich die Bitstellen 1, 2 und 3; es enthält dagegen keine Spezialbitstelle SP. Es ist eine Funktion des Hilfsregisters 15, zur DEC-TaW den Inhalt des 2'» Maskenregisters 13 nach dessen Übertragung durch die Maskenregistertore 61 zu speichern. Jeder O-Ausgang NMX bis NM 3 ist daher direkt mit dem 0-Eingang der gleichgeordneten Bitstellen 1 bis 3 des Hilfsregisters 15 über eine Oder-Schaltung 62 verbunden. Ebenso ist es «) eine Funktion des Hilfsregisters 15, zur WC-Zeit den Inhalt des Eingaberegisters U über die Torschaltungen 33 zu übernehmen, die die 1-Ausgänge der Bitstellen 1,2 und 3 des Eingaberegisters 11 mit den 1-Eingängen der entsprechenden Bitstellen 1, 2 und 3 im Hilfsregister 15 r> verbinden. Die 1-Eingänge der Bitstellen des Hilfsregisters 15 sind außerdem mit einer Einstelleitung 65 verbunden, über welche diese Bitstellen gemeinsam in den 1 -Zustand gebracht werden können, sowie mit einer Rückstelleitung 64 verbunden, über welche die Registerstellen gemeinsam in den 0-Zustand gebracht werden können.
In der oben beschreibenen Weise führen die 0-Ausgänge der Bitstellen des Hilfsregisters 15 zu Und-Schaltungen 52, 53 und 54 in der Torschaltung 16 ·»■> und die 1-Ausgänge zu Und-Schaltungen 57,58 und 59 in der Torschaltung 16. Die dem 0-Ausgang der niedrigsten Bitstelle des Hilfsregisters 15 zugeordnete Und-Schaltung 52 wird durch eine DEC-Eingangsleitung 45 von der Steuereinheit 25 in F i g. 1 für eine ">o Signalübertragung vorbereitet. Wenn sich die Bitstelle 1 des Hilfsregisters 15 im 0-Zustand befindet und ein OfC-Signal au' Leitung 45 erscheint, wird die Und-Schaltung 52 für eine Signalübertragung wirksam, wodurch eine Rückstellung der Bitstelle 2 im Maskenre- r>5 gister 13 in den 0-Zustand und eine Rückstellung der Bitstelle 1 im Eingaberegister 11 in den 0-Zustand erfolgt
Die Rückstellung der Bitstelle 2 im Maskenregister bedeutet, daß für die Bitstelle 2 des Inhaltes des t>o Eingaberegisters keine Maskierung erfolgt Das am Ausgang der Und-Schaltung 52 erscheinende Signal wird außerdem zu der Und-Schaltung 53 geleitet, die im übrigen stets gesperrt ist, wenn die Bitstelle 2 des Hilfsregisters 15 im 1-Zustand steht Nimmt diese bs Bitstelle dagegen ihren 0-Zustand ein, so hat die Torschaltung 53 eine entsprechende Wirkung wie die Torschaltung 52, indem sie die nächst höhere Bitstelle des Maskenregisters 13, d. h. die Bitstelle 3, und die gleichgeordnete Bitstelle des Eingaberegisters 11, d.h. die Bitstelle 2, in den 0-Zustand bringt. Durch die Rückstellung der Bitstelle 3 im Maskenregister wird wiederum eine Aufhebung der Maskierung der nächst höheren Bitstelle im Inhalt des Eingaberegisters 11 vorgenommen. Wie noch in einem späteren Abschnitt ausführlich beschrieben wird, breitet sich das DZfC-Signal über die Und-Schaltungen 52, 53 und 54 von der niedrigsten Bitstelle in Richtung der höheren Bitstellen in einem Maße aus, wie die Bitstellen des Hilfsregisters 15 ihren 0-Zustand einnehmen.
Die Echt/Komplement-Torschaltung 5 dient zur Erregung der Bitleitungen 280 und 281 in Abhängigkeit vom Inhalt des Eingaberegisters U, soweit dessen Bitstellen nicht durch eine 1 in den gleichstelligen Bitstellen des Maskenregisters 13 maskiert sind. Dementsprechend ist jede der 0-Leitungen 280 mit den 1- und 0-Ausgängen E und NE der zugeordneten Bitstelle 1, 2, 3 und SP verbunden. Zum Beispiel ist der Ausgang NI3 der Bitstelle 3 im Eingaberegister 11 über eine Und-Schaltung 76N in der Torschaltung 5 mit der 0-Leitung 280 der Bitstelle 3 verbunden. In der gleichen Weise steht der Ausgang NE3 über eine Und-Schaltung 70/Vmit der 1-Leitung 281 der Bitstelle 3 in Verbindung.
Ebenso ist der Ausgang £3 der Bitstelle 3 im Eingaberegister 11 mit beiden Leitungen 280 und 281 über Und-Schaltungen 70 und 76 verbunden. Die übrigen Ausgänge des Eingaberegisters 11 sind in entsprechender Weise mit den Bitleitungen 280 und 281 über die Und-Schaltungen in der Echt/Komplement-Torschaltung 5 gekoppelt
Jede dieser Und-Schaltungen weist einen Eingang auf, der mit dem 0-Ausgang der zugeordneten Bitstelle des Maskenregisters 13 in Verbindung steht, so daß die betreffende Und-Schaltung kein Ausgangssignal zur Steuerung des Bittreibers der zugeordneten Bitleitung 280 oder 281 erzeugen kann, wenn die zugeordnete Maskenbitstelle ihren 0-Zustand einnimmt Zum Beispiel dient der Ausgang NM 3 der Bitstelle 3 des Maskenregisters 13 als Steuereingang für die Und-Schaltung 70 in der Torschaltung 5. Nur wenn sowohl ein yVAf3-Signal als auch ein £T3-Signal vorliegt kann durch einen Impuls auf der WC/ZC-Leitung 88 ein Signal am Ausgang der Und-Schaltung 70 hervorgerufen werden, das über eine Oder-Schaltung 68 den Bittreiber 69 veranlaßt, ein Signal auf der 0-Bitleitung 280 zu erzeugen. Diese Umschaltung von einem 1-Ausgangssignal des Eingaberegisters 11, wie es das Signal E3 darstellt zu einem 0-Signal auf den Bitleitungen der betreffenden Stelle (Bitleitung 280) kann zum Einschreiben oder Abfragen des Komplementes vom Inhalt des Eingaberegisters 11 in den Wortspeicherstellen des assoziativen Speichers 3 verwendet werden. In dem zuletzt erwähnten Beispiel würde somit das Komplement der Bitstelle 3 des Eingaberegisters in alle Wortspeicherstellen des Speichers 3 eingeschrieben oder in diesen abgefragt Andererseits dient ein Impuls auf einer WT/IT-Leitung 89 dazu, ein 1-Ausgangssignal von der Bitstelle 3 des Eingaberegisters 1 über die Und-Schaltung 76 und eine Oder-Schaltung 68' zum Bittreiber 69' zu übertragen, der daraufhin ein Signal auf der 1-Bitleitung 281 erzeugt In diesem Falle handelt es sich um die echte Übertragung des Inhaltes aus dem Eingaberegister 11 zu den Bitleitungen.
Die Steuereinheit 25 von Fig. 1 kann in herkömmlicher Weise zur Erzeugung geeigneter Taktsignale für die dargestellten und für andere Teile der assoziativen
Speicheranordnung dienen.
Eine bevorzugte Ausführungsform einer derartigen Einrichtung ist in Fig.5 dargestellt. Ein Startimpulsgenerator 91 dient zur Einleitung der Operation der beschriebenen Anordnung. Als Startimpulsgenerator 91 kann eine geeigente Impuls erzeugende Schalteinrichtung benutzt werden, beispielsweise ein kurzzeitig schließender mechanischer oder elektrischer Schalter, der vom Steuerwerk einer Datenverarbeitungsanlage gesteuert werden kann.
Der Startimpuls vom Generator 91 dient als Steuerimpuls für die Einstellung der Register 11,13 und 15 über die Leitungen 36,40 und 63. Außerdem dient das Ausgangssignal vom Generator 9 t zur Einstellung eines Schieberegisters 93 in dessen DEC-Zustand. Das Schieberegister 93 umfaßt 4 Stufnen, nämlich die Stufen / (Abfragen), W (Schreiben), DEC und DEC Dieses Schieberegister arbeitet in herkömmlicher Weise, indem ein 1-Bit serial und schrittweise durch jede der vier Stufen unter der Wirkung der Ausgangssignale eines Taktgebers 94 verschoben wird, wenn eine SpeiTschaltung 95 die Ausgangssignale des Taktgebers 94 zum Schieberegister 93 hindurchläßt. Über die Sperrschaltung 95 kann eine Weiterschaltung des Schieberegisters 93 verhindert werden, wenn eine bistabile Schaltung 97 ihren O-Zustand einnimmt Durch den Startimpuls vom Generator 91 wird die bistabile Schaltung 97 in ihren /-Zustand gebracht, wodurch die Sperrschaltung 95 für die Taktsignale vom Taktgeber 94 durchlässig gemacht wird. Die bistabile Schaltung 97 wird in ihren O-Zustand rückgesteüt durch ein DEC-Ende-Signal auf einer Leitung 110, die dem Ausgang der Und-Schaltung 54 in der Torschaltung 16 (F i g. 3) angeschlossen ist.
Die Ausgänge des Schieberegisters 93 liefern nacheinander Steuersignale zu verschiedenen Teilen der Anordnung. Die DEC-Stufe des Schieberegisters liefert über die DEC-Leitung 45 ein Steuersignal zum Maskenregister 13. Ebenso liefert DEC-Stufe über eine Leitung 47 ein Steuersignal zum Maskenregister 13. Das Ausgangssignal von der W-Stufe gelangt über eine Leitung 90 zu den Zeitsteuertoren 26 in der Wortabfühl- und Auswahlschaltung 7. Der Ausgang der /-Stufe wird über eine Oder-Schaltung 98, einen Schalter 99 und Oder-Schaltungen 101, 102 bei Durchführung einer Subtraktion mit der WC/C-Leitung 88 der Echt/Komplement-Torschaltung 5 und bei Durchführung einer Addition mit der WT/77"-Leitung 89 der Torschaltung 5 verbunden. In ähnlicher Weise verbindet ein Schalter 100 den Ausgang des Generators 91 bei Ausführung einer Subtraktion mit der 1-Eingangsleitung 37 der Bitstelle SP im Eingangsregister 11 und bei Ausführung einer Addition mit der 0-Eingangsleitung 38 der gleichen Bitstelle.
> Die Fig.6 zeigt eine zusätzliche Ausbildung der Steuerschaltung von Fij. 5, wenn diese auf zur Erkennung einer Oberlaufbedingung vom im Speicher enthaltenen Datenworten verwendet werden soll, die vor der Ausführung einer Addition oder Subtraktion
id ihren Groß- oder Kleinstwert aufweisen. Die Schaltung von F i g. 6 besteht aus einem dreistufigen Schieberegister 104, das durch die Taktgeberschaltung 94 von F i g. 5 über eine Leitung 106 durchgeschaltet wird, nach dem in die erste Stufe des Registers 104 ein DEC-Ende-Signal eingegeben worden ist
Die Addition einer Zahl zum Inhalt einer ausgewählten Wortspeicherstelle im Speicher 3 wird in der erfindungsgemäßen Anordnung durch Komplementierung der niedrigstelligen 0 und aller rechts von dieser
2» stehenden 1-Bit des betreffenden Wortes ausgeführt. Eine Subtraktion einer bestimmten Zahl vom Inhalt einer ausgewählten Wortspeicherstelle im Speicher 3 wird durch Komplementierung der niedrigstelligen 1 und aller rechts von dieser stehenden O-Bits des
r> betreffenden Wortes ausgeführt. Zur Steuerung dieser Operationsfolgen wird das Spezial-Bit SP des Wortes bzw. der Wörter, für das bzw. für die eine Verarbeitung vorgenommen werden soll, in den 1-Zustand gestellt. Diese Einstellung kann in einer an sich bekannten Weise
«ι vorgenommen werden. Ein Weg für eine derartige Einstellung wird in einem späteren Abschnitt beschrieben. Wenn alle im Speicher enthaltenen Worte verarbeitet werden sollen, können die Spezial-Bits SP weggelassen werden. In diesem Falle würde die
π vorerwähnte Komplementierungsoperation parallel auf alle gespeicherten Worte ausgedehnt während bei der Verwendung der Bitstellen SP nur die durch den 1-Zustand dieser Bitstellen markierten Worte von der parallelen Komplementierungsoperation erfaßt werden.
Nachfolgend wird zur Veranschaulichung der Arbeitsweise die Subtraktion einer binären 1 in einem assoziativen Speicher durchgeführt der aus vierstelligen Wortspeicherstellen besteht
Jede der Wortspeicherstellen weist drei reguläre
4-) Bitstellen 1,2 und 3 sowie eine Spezialbitstelle SPauf. In der nachfolgenden Tabelle 1 ist der Inhalt der Register 11, 13 und 15 sowie die von der Torschaltung 5 gelieferten Signale für die verschiedenen Operationsphasen der Subtraktion dargestellt
Tabelle I — Subtraktion (Bit Auswahl)
Eing. Reg. 11 Mask. Reg. 13 von Torsch. 5 HL Reg. 15
5 2 1 3 2 1 SP 3 2 1 SP 3 . 2 1
Anfangszustand 1 1 1 1 1 1 _ _ — 1 1 1
Zyk. 1 DEC 1 1 I 1 0 0 1 1
/Tl 1 1 I 1 0 0 1 1 1 1
VVCl 1 I 1 0 0 0 0 1 1
DEC 1 I 1 0 0 1 0
Zyk. 2 DEC 0 I 0 0 0 1 I 0
ΓΓ-2 0 0 0 0 - 1 0 1 1 0
WC-2 0 0 0 0 - 0 1 0 1 0
DEC 0 1 0 0 0 1 ( ) 0
SP
Fortsetzung Eing. 2 Reg. U 1952 020 SP von Torsch. 2 1 5 14 Hl Reg. 15 1
13 3 0 1 SP 0 3 SP 3 2 0
1 0 0 1 0 0 0 1 0 0
Zyk. 3 DEC 1 0 0 1 Mask. 0 1 1 i 1 1 0 0
IT-3 1 0 0 1 3 2 0 0 . 0 1 0 0
WC-3 1 ide 0 1 0 0 Reg. 13 0 0
DEC Ei der; Subt 0 0 I
DEC 0 0 0
0 0 0
raktinn 0
0
Die Ausgangszustände für die Durchführung einer Subtraktion bestehen darin, daß alle Bitstellen der Register 11, 13 und 15 in den 1-Zustand gebracht werden. Dies geschieht durch einen Ausgangsimpuls vom Startimpulsgenerator 91 über die Leitungen 36,40 und 65 zu einer Zeit, wenn die Echt/Komplement-Torschaltung 5 noch keine Ausgangssignale liefert.
Durch den Startimpuls vom Generator 91 wird außerdem die D£C-Stufe des Schieberegisters 93 in den 1-Zustand gebracht, so daß der Ausgang dieser Stufe ein Signal auf Leitung 45 erzeugt, das zur Rückstellung der Bitstellen 1 und SP im Maskenregister 13 in den O-Zustand dient, während alle Bitstellen des Eingaberegisters 11 und des Hilfsregisters 15 im 1-Zustand bleiben. Schließlich schaltet der Startimpuls vom Generator 91 auch die bistabile Schaltung 97 in den 1 -Zustand, wodurch die Sperrschaltung 95 zum Durchlaß von Taktsignalen von der Taktgeberschaltung 94 3» zum Schieberegister 93 gesteuert wird. Das als Ringschaltung ausgebildete Schieberegister 93 wird daraufhin von der DEC-Stufe auf die /-Stufe weitergeschaltet von der ein Abfrageimpuls über die Oder-Schaltung 98, den Doppelschalter 99, die Oder-Schal- η tung 102 und die Leitung 89 zur Echt/Komplement-Torschaltung 5 gesandt wird. Da nur die Bitstellen 1 SP des Maskenregisters 13 Nullen enthalten, erscheinen am Ausgang der Torschaltung 5 nur auf den Leitungen 281 der Bitstellen 1, SPAusgangssignale. 4»
Der nächste Taktimpuls schaltet das Schieberegister 93 auf die Stufe W, wodurch je ein Ausgangsimpuls auf den Leitungen 88 und 90 erzeugt wird. Der Ausgangsimpuls auf Leitung 88 wird über den rechten Schaltarm des Doppelschalters 99 und über die Oder-Schaltung 101 4r> von der Stufe W gewonnen. Diese Impulse bewirken in der Echt/Komplement-Torschaltung 5 eine Übertragung des Komplementes des unmaskierten Teiles des im Eingaberegister 11 stehenden Wertes zum assoziativen Speicher 3 über die Leitungen 280 der Bitstellen 1 und SP. Diese Wertübertragung geschieht zum Zwecke des Einschreibens in die von den Anzeigen 21 markierten Wortspeichersteilen unter Wirkung der von den Umschaltungen 26 erzeugten Halb-Schreibimpulse.
Der nächste Taktimpuls schaltet das Schieberegister 93 in den DEC'-Zustand, in welchem es die Leitung 47 erregt, wodurch der Inhalt des Maskenregisters 13 in
Tabelle II — Addition (Bit-Auswahl)
das Hilfsregister 15 übertragen wird. Hiermit ist der erste Speicherzyklus beendet
Nachdem das Schieberegister auf die nächste Stufe weitergeschaltet worden ist wird die D£C-Leitung 45 erneut erregt was zur Folge hat daß im Maskenregister 13 das 1-Bit niedrigster Stellenordnung (Bitstelle 2) in den 0-Zustand umgeschaltet wird, daß die Anzeiger 21 über die Oder-Schaltung 107 und Leitung 108 erneut in den 1-Zustand gebracht werden und daß im Eingäbet egister 11 als Folge eines Ausgangsimpulses der Und-Schaltung 52 die Bitstelle 1 in den 0-Zustand gestellt wird. Nacndem die Bitstelle 2 im Maskenregister von 1 nach 0 geschaltet worden ist enthält das Maskenregister den Wert 100 0, und nachdem die Bitstelle 1 im Eingaberegister von 1 nach 0 geschaltet worden ist enthält das Eingaberegister den Wert 110 1. Der DEC-Impuls auf Leitung 45 ist ein Steuersignal, das in jedem Zyklus ein weiteres Maskenbit in den nicht maskierenden Zustand rückstellt und damit den im betreffenden Zyklus zu den Wortspeicherstellen des Speichers 3 zu übertragenden Stellenbereich vom Inhalt des Eingaberegisters U bestimmt Der DFC-Impuls auf Leitung 45 dient außerdem in jedem Zyklus außer dem Ersten zur Rückstellung des jeweils niedrigsten 1-Bits im Eingaberegister 11.
Der zweite Speicherzyklus wird durch eine Abfrageoperation mit dem echten Wert des unmaskierten Teils des Eingaberegisterinhaltes (Bits-10 1) begonnen, worauf ein Einschreiben des Komplementwertes dieses unmaskierten Bitfeldes, d. h. des Wertes-010, folgt Der Zyklus wird mit einer Aufdatierung des Hilfsregisterinhaltes auf den Wert 100 bei Auftreten des DEC-Signals auf Leitung 47 beendet Danach wird ein dritter Speicherzyklus begonnen und in der entsprechenden Weise ausgeführt Am Ende dieses Zyklus tritt ein DffC-Ende-Signal am Ausgang der Und-Schaltung 54 auf, das die bistabile Schaltung 97 rückstellt und damit die Subtraktion beendet. Mit Hilfe eines weiteren Beispieles der Addition einer binären 1 zum Inhalt verschiedener Speicherstellen des assoziativen Speichers 3 wird der Ablauf einer Additionsoperation erläutert Die Ausgangssignalzustände und die während der Addition auftretenden Signalzustände sind aus der Tabelle 2 ersichtlich.
Eing. 2 Reg. 11 Mask. Reg. 13 von Torsch .5 Hi. Reg. 15 I
3 1 1 SP 3 2 1 SP 3 2 1 SP 3 2 1
Anfangszustand I 1 1 0 1 1 1 1 I 1
Zyk. 1 DEC 1 1 1 0 1 0 0 _ _ _ 1 1 1
IC-X 1 1 1 0 1 0 0 0 1 1 1 1
WT-X 1 1 1 0 1 0 0 1 0 1 1 0
DEC 1 1 0 1 0 0 1 1
h'ortsct/iing Eing. 2 Reg. U 19 52 Ende der Addition 2 020 SP von Torsch 1 .5 16 Hi. Reg. 15 1
15 3 1 1 SP 0 0 3 2 _ SP 3 2 0
1 1 0 0 0 0 __ 1 _ 0
Zyk.2 DEC 1 1 0 0 Mask 0 . Reg. 13 0 - 0 0 1 0
IC-I 1 1 0 0 3 0 1 0 - 1 0 0
WT-2 1 0 0 0 1 0 0 0 0
DEC 1 0 0 0 1 0 0 0 1 0
Zyk. 3 DEC 1 0 0 0 1 0 0 0 0 1 0 1 0
IC-3 1 0 0 0 1 0 0 0 1 0 0 0
WT-3 1 0 0 0 0 1
DEC 0 0 1
0 0 1
0 0 0
0
0
0
0 0
Der für die Durchführung einer Addition einzustellende Anfangszustand besteht darin, daß alle Bitstellen des Maskenregisters 13 und des Hilfsregisters 15 in den 1-Zustand gebracht werden und daß auch die Bitstellen des Eingaberegisters 11 in den 1-Zustand gebracht werden mit Ausnahme der Bitstelle SP, die auf 0 gestellt wird. Dieser Ausgangszustand wird wie im Falle der Subtraktion durch den Startimpulsgenerator 91 hergestellt, der auch eine 1 in die DEC-Stufe des Schieberegisters 93 einschreibt, so daß danach bei Auftreten eines Ausgangssignals dieser Stufe auf Leitung 45 eine Rückstellung der Bitstellen 1 und SPdes Maskenregisters 13 auf 0 erfolgt. Für die Durchführung einer Addition werden auch die Schalter 99 und 100 in ihre rechte Schaltstellung (nicht dargestellte Schaltstellung) gebracht, in der die Leitung 89 an die Stufe Wüber den rechten Schaltarm des Schalters 99 und über die Oder-Schaltung 102 angeschlossen ist. In der gleichen Schalterstellung ist auch über die Oder-Schaltung 101 und den linken Schaltarm des Schalters 99 die Leitung
2» 88 mit dem Ausgang der Oder-Schaltung 98 verbunden, die an die Stufe /des Registers 93 angeschlossen ist Der Schalter 100 verbindet den Ausgang des Startimpulsgenerators 91 mit der Leitung 38. Über die Leitung 38 erfolgt eine Rückstellung der Bitstelle SP im Eingabere-
2", gister 11 in den 0-Zustand. Nachdem der Anfangszustand hergestellt ist, bewirken die Ausgangsimpulse des Taktgebers 94 eine schrittweise Durchschaltung des Schieberegisters 93 durch dessen Stufen ausgehend von DEQ bis das Ende der Addition erreicht ist und durch
in das DfC-Ende-Signal von der Umschaltung 54 eine Rückstellung der bistabilen Schaltung 97 bewirkt wird.
Entsprechend der Bitauswahl gemäß Tabelle Il zeigt die Tabelle III die Änderung innerhalb der neuen Wortspeicherstellen 0,1 —8 im Speicher 3 während der
r, einzelnen Speicherzyklen.
Tabelle III Zyklus 1 Von Torsch. 5 2 1 SP MI SP Schreiben-1 2 1 SP Zyklus 2 2 SP MI Schreiben-2 SP 1 SP
Additior Maske 0 1 1 3 1 0 Abfragen-2 0 1 3 Mt 0 1 1
(Speicherinhalt) M 0 0 1 0 M 0 0 3 r0 3 0 0 0 M 0
0 M 1
Abfragen-1 1 M 0 0 (
3 0 0 0 0 1 0 0 0 0 0 0
Von Torsch. 5 0 1 1 0 0 Ϊ 1 0 1 0 0 0
Maske M 1 0 0 0 1 1 0 0 1 0 1 0 0
1 1 1 0 1 1 1 0 1 1 0 1 ( 1
Wort 0 0 0 0 0 1 0 0 0 0 0 1 0
0 0 0 1 0 1 0 Ϊ 1 0 0 1 0 1 0
1 0 I 0 1 1 1 1 0 1 1 0 1 0
2 0 1 1 1 Abfragen-3 1 1 ϊ 1 1 1 1 1 ( 1
3 0 0 1 0 3 2 1 1 0 1 0 1 0 0 0
4 1 Zyklus 3 0 1 1 1 1 2 1
5 1 0 0 0 Schreiben-3 1 1 0 Feststellung eines Überlaufes
6 1 3 2 1 SP 3 0 3 2
7 1 10 0 0 0 1
8 1 0 0 0 0 MM
) 1
0
1
1
) 1
0
1
1
) 1
17 Zyklus 3 SP 19 52 020 SP 18 SP
Abfragen-3
Fortsetzung 3 2 1
0 0 ( -eslstellung eines Überlaufes 0
0 0 ( 3 2 1 0
0 0 1 0 0 ( 0
0 1 0 1 MI 0 0
Wort 0 1 1 0 Schreiben-3 0 ) 0 1 0
0 0 1 1 0 0 3 2 1 0 3 1 0 0
1 1 0 Ϊ 0 0 0 3 1 1 0
2 1 1 0 1 0 1 0 0 1
3 0 1 0 0 1 0 0 1 0
4 1 1 1 0 0 1 0 1 0
5 1 0 1 0 0 1 1 1 1
6 0 1 0 0 1 1
7 0 1 0 1 0 1
8 0 1 1 0
1 1 1
1 1 I
1 0 1
Während des ersten Abfrage/Schreibzyklus (Zyklus 1) wird das Komplement der Bitstellen 1 und SPaus dem Eingaberegisterinhalt mit allen 1- und SP-Bitstellen der Wortspeicherstellen im Speicher 3 verglichen. Die Abfrageoperation findet eine Übereinstimmung in den Worten 0,2,4 und 6, so daß die Übereinstimmungsanzeiger 21 dieser Wortspeicherstellen in den 1-Zustand gesetzt werden. Nachdem dies geschehen ist, wird das Schieberegister auf die W-Stufe geschaltet, um den echten Wert der Bitstellen 1 und SP des Eingaberegisters 11, d.h. die Bits 1 und 0 in die Speicherworte einzuschreiben, für die eine Übereinstimmung festgestellt worden ist. Das Einschreiben wird durch den Ausgangsimpuls der Stufe W des Schieberegisters 93 auf Leitung 90 über die Einschreibtore 26 (Fig. 2) gesteuert, wobei der zweite Eingang dieser Torschaltungen durch den !-Ausgang der im !-Zustand befindlichen Anzeiger 21 geliefert wird. Es werden somit die Wortleitungen 247 der Wortspeicherstellen 0, 2,4 und 6 für eine Einschreiboperation erregt. Gleichzeitig mit dieser Erregung dieser Worteinschreibleitungen liefert die Stufe Wüber die Oder-Schaltung 98 ein Steuersignal zur Leitung 89, das in der Echt/Komplement-Torschaltung 5 wirksam wird. Diese Torschaltung überträgt daraufhin den echten Wert der Bitstellen I1 SP des Eingaberegisters zum Speicher 3. In Übereinstimmung mit den obigen Erläuterungen zu Fig.3 wird die !-Leitung 281 von Bitstelle 1 und die 0-Leitung 280 von Bitstelle SP erregt, wodurch in diese Bitstellen derjenigen Worte, die einen Halbschreibimpuls auf der Leitung 247 zugeführt erhalten, eine 1 und eine 0 eingeschrieben wird.
Nachdem der ersten Schreibzyklus beendet ist, wird das Schieberegister über die Stufe DEC zur Stufe DEC weitergeschaltet, um dort die Bedingungen für den zweiten Abfrage/Schreibzyklus einzustellen, in dessen Verlauf eine erneute Abfrage, Einstellung der Anzeiger 21 und Einschreiben des echten Wertes aus den unmaskierten Stellen des Eingaberegisters in die Wörter 1 und 5 erfolgt. Nachdem der zweite Zyklus beendet ist, wird der dritte Zyklus begonnen, dessen Abfrageoperation eine Einstellung des Anzeigers 21 für das Wort 4 zur Folge hat.
Am Ende des dritten Zyklus ist zu allen Worten mit Ausnahme der Worte 7 und 8 eine 1 hinzuaddiert worden. Der Inhalt der Wortstelle 8 wurde nicht inkrementiert, da seine Bitstelle SPvon Anfang an auf 0 stand, was eine Anzeige dafür ist, daß in dieser WortsDeicherstelle keine Addition stattfinden soll. Der >« Inhalt der Wortstelle 7 wurde nicht inkrementiert, da durch die Addition einer t in diese Wortstelle ein Überlauf aufgetreten wäre, weil der Inhalt dieser Wortstelle bereits vor der Addition auf dem zusätzlichen Maximalwert stand, d. h. in jeder der verfügbaren
_>> Bitstellen eine 1 aufwies. Eine Addition kann deshalb nicht vorgenommen werden, wenn nicht eine vierte Bitstelle zur Verfügung steht.
Durch die Einstellung der Bitstellen 1, 2 und 3 des Maskenregisters 13 auf 1 und der Bitstelle SP auf 0
jo sowie durch Abfragen aller Wortspeicherstellen im Speicher zur Ermittlung von Einsen in der Bitstelle SP können diejenigen Worte, für die eine Überlaufbedingung besteht, wie beispielsweise für das Wort 7, festgestellt werden.
Γι Zur Feststellung einer Überlaufbedingung kann in vorteilhafter Weise eine Schaltung nach F i g. 6 Verwendung finden, die ein dreistufiges Schieberegister 104 aufweist. Diesem Schieberegister wird das DEC-Ende-Signal von der Und-Schaltung 54 (F i g. 3) zugeführt, das
■in die erste Stufe des Schieberegisters in den !-Zustand setzt, wodurch ein Überlauf-Steuersignal auf Leitung 40 erzeugt wird. Die Leitung 40 ist mit allen Bitstellen des Maskenregisters 13 verbunden, und ein Signal auf dieser Leitung stellt diese Bitstellen in den 1-Zustand.
r> Daraufhin wird die Taktsignalleitung 106 vom Taktgeber 90 wirksam und schaltet das Schieberegister auf seine zweite Stufe, in der Überlaufsteuen>ignale auf den Leitungen 46 und 48 erzeugt wird. Das Signal auf Leitung 46 dient zur Rückstellung der Bitstelle SP des
■>() Maskenregisters 13 in den O-Zustand, und das Signal auf Leitung 48 wird zur Oder-Schaltung 107 geleitet und bewirkt an deren Ausgang 108 ein Signal, das zur Einstellung der Anzeiger 21 aller Wortspeicherstellen des Speichers 3 in den 1 -Zustand dient.
)> Der nächste Impuls auf Leitung 106 schaltet das Register 104 auf seine dritte Stufe, in der es die Ausgangsleitung 85 erregt. Diese Leitung ist mit der Oder-Schaltung 98 von F i g. 5 verbunden, über die eine Abfrageoperation mit dem echten Eingangsregisterin-
W) halt für eine Subtraktion und mit dem Komplement des Eingaberegisterinhaltes für eine Addition durchgeführt wird. Diese Abfrage erstreckt sich aufgrund der Einstellung des Maskenregisters aber nur auf die Bitspeicherstellen SP der im Speicher 3 enthaltenen
(v"> Worte. Da nach der Beendigung einer Subtraktion oder Addition nur diejenigen Worte im Speicher, für die eine Überlaufbedingung vorliegt, eine 1 in der Bitstelle SP aufweisen, werden als Folge der Abfrageoperation alle
Anzeiger 21 in den O-Zustand zurückgestellt bis auf denjenigen Anzeiger 21, der dem Wort mit der Oberlaufbedingung zugeordnet ist Im dargestellten Beispiel ist dies das Wort 7.
Um höherstellige Binärwerte zu addieren oder zu subtrahieren, wird die Anordnung von F i g. 3 so abgeändert, daß die DFC-Signale auf den Leitungen 45 zum 0-Eingang der Speicherstelle SP\m Maskenregister 13 geführt werden, wobei alle niedrigen Bitstellen, in denen keine Verarbeitung erfolgt, umgangen werden. Wenn z. fc. der zu addierende Binärwert eine 2 ist, führt die Leitung 45 zum O-Eingang der Bitstelle SP, zum O-Eingang der Bitstelle 2, aber nicht zum O-Eingang der Bitstelle 1. Dementsprechend wird das D£C-Steuersignal in der Torschaltung 16 an der Und-Schaltung 52 der Bitstelle 1 vorbeigeführt und geht direkt zur Und-Schaltung 53. Um diesen abgeänderten Signalverlauf zu erreichen, kann eine für sich bekannte Umschalteinrichtung verwendet werden, die betätigt wird, wenn eine binäre 2 addiert wird.
In ähnlicher Weise wird bei der Verarbeitung einer binären 4 die Leitung 45 mit der Und-Schaltung 54 und mit dem O-Eingang der Bitstelle 3 im Maskenregister 13 verbunden, wodurch die Und-Schaltungen 52 und 53 in der Torschaltung 16 und die O-Eingänge der Bitstellen 1 und 2 im Maskenregister 13 umgangen werden.
Bei einer derartigen Leitungsführung wird die Maske von den Bitstellen 1 und 2 des Eingaberegisters im ganzen Verlauf der Operation nicht entfernt, d. h. die Maskenbitstellen 1 und 2 würden stets im !-Zustand bleiben, wenn der Binärwert 4 zu verarbeiten ist.
Ebenso wie die Verarbeitung von Werten, die ein Vielfaches von 2 betragen, kann eine Verarbeitung von solchen Werten vorgenommen werden, die sich aus einer Kombination mehrerer Vielfacher von 2 zusammensetzen. Wenn z. B. der Inhalt einer oder mehrerer Wortspeicherstellen des Speichers 3 um den Wert 5 zu inkrementieren sind, wird zunächst zu den betreffenden Werten eine 4 und danach eine 1 addiert. Bei derartigen Operationsfolgen können auch für sich bekannte Abkürzungsmethoden Anwendung finden. Zum Beispiel kann eine Addition von 7 durch eine Inkrementierung um den Wert 8 und eine darauffolgende Dekrementierung um den Wert 1 ausgeführt werden.
Die erfindungsgemäße Einrichtung kann in vorteilhafter Weise zur Adressenverfolgung für die Daten im Speicher eines zeitlich verzahnt arbeitenden Teilnehmer-Datenverarbeitungssystems verwendet werden. Ein derartiger Speicher ist der Speicher 110 in F i g. 1, zu dem eine Vielzahl von Benutzern des betreffenden Datenverarbeitungssystems Zugriff haben für eine Eingabe von Daten in diesen Speicher über eine Sammelleitung 111 oder für eine Entnahme von Daten aus diesem Speicher über eine Sammelleitung 112. Wenn sich die Notwendigkeit ergibt, die Daten eines Benutzers in den Speicher einzugeben, kann es notwendig sein, die Daten eines früheren Benutzers aus dem Speicher HO zu entnehmen und über die Sammelleitung 112 zu einem nicht dargestellten Hilfsspeicher zu übertragen. Dabei ist es häufig so, daß die zuletzt benutzten Daten solche Daten sind, die bald wieder benötigt werden, so daß es zweckmäßig ist, wenn die zuletzt benutzten Daten im Speicher 110 zurückgehalten werden und dafür älteren Daten, d. h. solche, die eine längere Zeit lang nicht benutzt worden sind, entfern' werden.
Um die Reihenfolge zu kontrollieren, in welcher die Daten eines Benutzers im Speicher HO gespeichert werden, enthält jede Speicherstelle im assoziativen Speicher 3 eine Reihenfolgenummer, wenn ein dieser Wortspeicherstelle zugeordneter Datenblock im Speicher 110 belegt ist. Jedes Wort im Speicher 3 entspricht ·-, somit einem Speicherblock, d. h. einem Wort, Segment oder einer anderen Einheit von Daten. Zum Beispiel ist der Block 0 des Speichers 110 dem Wort 0 im Speicher 3 zugeordnet, der Block 1 dem Wort 1 usw. Da die Reihenfolge, in der die Datenblocks im Speicher 110
ίο addressiert werden, beliebig ist, wird der Wert, der in der zugeordneten Wortspeicherstelle des assoziativen Speichers 3 enthalten ist, als eine Anzeige für die Reihenfolge, in der ein Datenblock in den Speicher UO eingegeben wurde, benutzt Zum Beispiel kann der erste
ij Datenblock im Block 1 des Speichers 110 gespeichert werden, wobei der Wert 000 in die Wortspeicherstelle 1 des Speichers 3 eingegeben würde. Ein zweiter Datenblock kann im Block 25 des Speichers HO eingespeichert werden, so daß der Wert 001 in der
in diesem Speicherblock zugeordneten Wortspeicherstelle 25 eingegeben wurde. Ein Zähler 114 (Fig. 1), der detaillierter in F i g. 4 dargestellt ist, wird zur Zuordnung einer Folgenummer, wie sie die vorerwähnten Werte 000 und 001 darstellen, zu jedem Datenblock verwendet,
r> der in den Speicher 110 eingegeben wird. Hierzu wird der Zählstand des Zählers 114 in das Eingaberegister 11 übertragen, von wo er in die Wortspeicherstelle des Speichers 3 eingeschrieben wird, die dem Speicherblock des Speichers 110 entspricht, in welchen der betreffende
κι Datenblock eingespeichert wird.
Nachdem eine Anzahl von Datenblöcken in den Speicher 110 eingegeben worden ist, wird üblicherweise ein nullstellungsfreier (nicht zerstörender) Zugriff zu einem dieser Datenblöcke gefordert, wobei die betref-
Γ) fenden Daten über die Sammelleitung 112 dem Speicher entnommen werden. Im Zusammenhang hiermit wird auch die entsprechende Folgenummer aus der zugeordneten Wortspeicherstelle entnommen und in das Entnahmeregister 9 eingegeben. Das Eingaberegister 11
κι wird über die Sammelleitung 115 mit dem Inhalt des Registers 9 geladen. Danach erfolgt eine Suche im assoziativen Speicher 3 nach allen Wortspeicherstellen, die eine höhere Folgenummer als die im Eingaberegister H stehende enthalten. Nach dieser Abfrageopera-
■n tion werden die Bitstellen SPin jeder Wortspeicherstelle, die eine höhere Folgenummer enthält, in den 1-Zustand gestellt. Der im Zähler 114 gerade vorliegende Zählstand wird selektiv in die Wortspeicherstelle eingeschrieben, aus welcher vorausgehend der Inhalt
in zum Entnahmeregister 9 übertragen wurde. Alle anderen Worte, deren SP-Bit zur Anzeige einer höheren Folgenummer eingestellt sind, werden um den Binärwert 1 dekrementiert, wodurch sich für diese Worte der jeweilige Folgenummernwert um 1 reduziert. Wenn die
->r> Daten aus dem assoziativen Speicher zerstörend entnommen werden, so daß der betreffende Speicherblock des Speichers 110 nicht länger belegt ist, kann in der oben für ein nichtzerstörendes Lesen beschriebenen Weise verfahren werden mit der Ausnahme, daß der
«ι Zähler 110 um 1 dekrementiert wird und kein Neueinschreiben in die Speicherstelle vorgenommen wird, aus der die Entnahme erfolgt, ist.
Das obige Verfahren wird unter Verwendung der Anordnung von Fig. 3 in Verbindung mit dem Zähler
hi von Fig.4, der als herkömmlicher Zähler ausgebildet sein kann, ausgeführt. Der Zähler 114 von F i g. 4 enthält 3 Bitstellen, 3, 2 und 1, die den regulären Bitstellen 3, 2 und 1 in den Wortspeicherstellen des assoziativen
Speichers entsprechen. Der Zähler erhält Zählimpulse über eine Leitung 118 jeweils dann zugeführt, wenn ein Datenblock in den Speicher 110 eingegeben wird. Der Zähler kann über eine Leitung 120 auf den Zählstand 111 eingestellt werden, so daß die bei Eingabe des ersten r, Datenblockes erfolgende erste Weiterschaltung den Zählstand 000 ergibt. Wenn aus dem Speicher 110 Daten zerstörend entnommen werden, wird eine Subtrahieren-Leitung 119 signalführend, wodurch der Zählstand um 1 reduziert wird. Der jeweils im Zähler 114 stehende m Zählwert wird über Und-Schaltungen 123 und die Oder-Schaltungen 29 (F i g. 3) in die Speicherstufen des Eingaberegisters 11 übertragen. Und-Schaltungen 125, die durch aufeinanderfolgende Taktsignale 51, 52, 53 und NSi, NS2, NS3 für eine Signalübertragung \r> nacheinander vorbereitet werden, können dazu dienen, eine vorbestimmte Folge von Binärziffern in das Eingaberegister 11 einzugeben.
Die Schaltung von F i g. 3 führt eine Bitauswahloperation für die Aufdatierung der Folgenummern im assoziativen Speicher 3 durch. Zu jeder Zeit, wenn zu einem Speicherblock des Benutzerdatenspeichers 110 ein Zugriff erfolgt, wird die betreffende Folgenummer verändert, um die Reihenfolge in der die Blöcke verwendet werden, zu registrieren. Dies geschieht durch 2r> Anwendung einer Bereichabfrageoperation, wie sie beispielsweise für assoziative Speicher in dem USA-Patent 32 53 265 beschrieben ist. Während einer solchen Bereichsabfrageoperation wird die Spezialbitstelle SP der die Abfragebedingung erfüllenden Wortspeicher- jo stelle in den 1-Zustand gestellt. Die Abfrageoperation wird nachstehend kurz erläutert. Wenn ein Block vom Speicher 110 gelesen wird, erfolgt eine Übertragung des diesem Block zugeordneten Wortes aus dem assoziativen Speicher 3 in das Entnahmeregister 9, wodurch r> dieses betreffende Wort vom Rest der im Speicher 3 enthaltenen Worte ausgesondert wird. Mit Hilfe der Schreibfolge-Steuersignale SNS von F i g. 4 erfolgt eine Eingabe dieses Wortes über die Torschaltungen 125 in das Eingaberegister 11. Nachdem die Foigenummer im ■*» Eingaberegister enthalten ist, kann die Bereichsabfrageoperation beginnen.
Die Bereichsabfrageoperation umfaßt eine Einstellung einer 1 in diejenige Bitstelle des Eingaberegisters 11, die die niedrigstellige 0 enthält. Dieses Bit und alle im 4 ~> Eingaberegister stehenden höherstelligen Bits werden mit allen im assoziativen Speicher 3 enthaltenen Worten verglichen. Jedes Wort, das eine Übereinstimmung zeigt, ist größer als das ursprünglich eingegebene WorL Danach wird die nächsthöhere 0 des im Eingaberegister v\ stehenden Wertes in eine 1 umgeändert und wiederum der nach der Änderung im Eingaberegister enthaltene Wert mit dem Inhalt des assoziativen Speichers 3 verglichen. Auch hierbei zeigen die Übereinstimmungen diejenigen Wörter an, die größer als das ursprünglich im Eingaberegister stehende Wort sind. Dieses Verfahren wird fortgesetzt, bis alle Nullen im ursprünglichen Wort im Eingaberegister 11 in den Wert 1 überführt worden sind.
Die Schaltung von Fig.3 führt die vorausgehend «> erläuterte Operation aus. Hierzu wird ein /WC-Signal an den 1 -Eingang der niedrigsten Bitstelle des Eingaberegisters 11 über eine Leitung 130 angelegt. Dieses Signal bewirkt, daß die betreffende Bitstelle auf den Wert 1 umgeschaltet wird, wenn sie zuvor im 0-Zustand war, h5 oder unverändert bleibt, wenn sie sich bereits im 1-Zustand befunden hat. Das WC-Signal von Leitung 130 wird außerdem der Und-Schaltung 57 in der Torschaltung 16 zugeführt, von dieser Und-Schaltung jedoch nicht durchgelassen, da das Hilfsregister 15 anfänglich in allen Bitstellen eine 0 enthält. Das Hilfsregister 15 wird während der Bereichsabfrageoperation dazu benutzt, den Wert des Eingaberegisters nach dessen Änderung noch eine kurze Zeit in seiner ursprünglichen Form zwischenzuspeichern, bis der neue Wert in das Hilfsregister eingegeben wird. Wenn daher die Bitstelle 1 des Eingaberegisters 11 zur Zeit des Auftretens des //VC-Signals den Wert 0 enthielt, bleibt die Bitstelle 1 des Hilfsregisters 15 für eine gewisse Zeit im 0-Zustand und verhindert dadurch eine Ausbreitung des /Λ/C-Signals zur Und-Schaltung 58 der nächsthöheren Bitstelle in der Torschaltung 16. Wenn da; /Λ/C-Signal abklingt, erscheint ein //VC'-Signal auf einei Leitung 131, welches über die Und-Schaltung 33 und die Oder-Schaltung 62' die Bitstelle 1 im Register 15 in der 1-Zustand überführt. Wenn die Bitstelle 1 des Hilfsregisters 15 zur Zeit des /Λ/C-Signals auf Leitung 130 irr 1-Zustand steht, wird am Ausgang der Und-Schaltung 57 ein Signal erzeugt. Dieses Signal gelangt einerseits zi der Bitstelle 2 des Eingaberegisters 11 und stellt diese in den 1-Zustand, sofern sie sich nicht schon zuvor in diesem Zustand befunden hat. Das Ausgangssignal vor der Und-Schaltung 57 wird andererseits zur Umschaltung der Bitstelle 1 des Maskenregisters 13 in den 1-Zustand benutzt, da für den folgenden Teil der Bereichsabfrageoperation die Bitstelle 1 nicht länger von Interesse ist. Das Ausgangssignal von der Und-Schaltung 57 wird außerdem dem Eingang der Und-Schaltung 58 der Bitstelle 2 in der Torschaltung 16 zugeführt.
Nach Anlegen jeden WC-Signals wird ein Vergleich der nichtmaskierten Bits des Eingaberegisters mit aller Wortspeicherstellen des Speichers 3 ausgeführt, wonach der Inhalt der Anzeiger 21 die übereinstimmenden Worte angibt. Wenn alle Nullen im Eingaberegister 11 in der beschriebenen Weise in Einsen umgewandell worden sind, breitet sich das nächste /Λ/C-Signal aul Leitung 130 über alle Und-Schaltungen 57,58,59 in der Torschaltung 16 aus und erzeugt ein INC-Ende-Signa! am Ausgang der Und-Schaltung 59, das das Ende der Bereichsabfrageoperation anzeigt
Nachdem die Bereichsabfrageoperation beendet ist wird die Folgenummernzahl der höchsten Priorität, d. h. die im Zähler 114 stehende Zahl der Wortspeicherstelle des Speichers 3 zugeordnet, aus der die letzte Entnahme von Daten zur Übertragung in das Entnahmeregister 9 erfolgt ist. Hierzu werden die Daten aus dem Entnahmeregister 9 in das Eingaberegister 11 zurückübertragen und es wird eine Abfrageoperation über alle Wörter des assoziativen Speichers durchgeführt. Diejenige Wortspeicherstelle, in der dabei der Übereinstimmungsanzeiger 21 gesetzt wird, ist die zuletzt benutzte Wortspeicherstelle. Hierauf wird der Inhalt des Zählers 114 in das Eingaberegister 11 übertragen. Dies geschieht über die Und-Schaltungen 123 unter Wirkung eines Zählstand-Schreiben-Signals auf einer Leitung 134. Der im Eingaberegister 11 stehende Wert wird nun in die Speicherstelle eingeschrieben, deren Übereinstimmungsanzeiger 21 im 1-Zustand steht Während dieser Operation bleibt die Bitstelle SPdes Eingaberegisters 11 maskiert
Zur Vervollständigung der Aufdatierung der Blockfolgeüberwachung ist es noch notwendig, diejenigen Wörter um 1 zu dekrementieren, die während der Bereichsabfrageoperation als Wörter größeren Wertes markiert worden sind. Diese Dekrementierung wird in
der oben in Verbindung mit Tabelle 1 beschriebenen Weise ausgeführt.
Eine nicht dargestellte Steuereinheit, die ähnlich der Steuereinheit von F i g. 5 ausgebildet sein kann, kann zur Erzeugung der erforderlichen Steuersignale für den ■> Betrieb der erfindungsgemäßen Anordnung zur Ausführung von Blockfolge-Überwachungsoperationen der vorausgehend beschriebenen Art benutzt werden.
Hierzu 4 Bhilt Zeichnungen

Claims (1)

  1. Patentansprüche:
    1. Schaltungsanordnung zum Addieren oder Subtrahieren einer Binärzahl 1, 2 oder beliebiger Vielfacher von 2 zum oder vom Inhalt wenigstens einer Wortspeicherstelle eines assoziativen Speichers durch zyklische Abfrage der gespeicherten Werte und darauffolgende Einschreiben abgeänderter Werte, mit einem dem Assoziativspeicher zugeordneten Eingaberegister zur Aufnahme von Abfragewerten, mit einem Maskenregister zur Bestimmung der bei einer Abfrage- und Einschreibeoperation wirksamen Bitsteilen des Eingaberegisters und mit einer Steuereinheit, gekennzeichnetdurch folgende Merkmale:
    a) zwischen dem assoziativen Speicher (3) und dem Eingaberegister (U) ist eine Echt/Komplementtorschaltung (5) angeordnet, über welche die vom Maskenregister (13) ausgewählten Bits aus dem Eingaberegister zum assoziativen Speicher übertragen werden;
    b) eine Torschaltung (16), über die in Abhängigkeit vom Inhalt der Bitstellen des Maskenregisters jj jeweils ein Rückstellsignal zur gleichen Bitstelle des Eingaberegisters und ein Demaskierungssignal zur nächsthöheren Bitstelle des Maskenregisters übertragbar ist;
    c) die mit den Schaltungen gemäß a) und b) μ verbundene Steuereinheit (25) ist. so ausgebildet, daß
    el) nach entsprechender Voreinstellung der Register für jede Bitstelle der durch das Maskenregister (13) ausgewählten Wort- r. speicherstellen, beginnend mit der Bitstelle, die der höchsten signifikanten Bitstelle der zu addierenden Binärzahl entspricht, ein Abfragezyklus mit einem Abfragewert im Eingaberegister (11) ausgeführt wird, der im Falle einer Addition dem komplementären und im Falle einer Subtraktion dem echten Binärwert der höchsten signifikanten Bitstelle der Binärzahl entspricht,
    c2) daß als Einschreibewert für die bei der 4> Abfrage eine Übereinstimmung anzeigenden Wortspeicherstellen im Falle einer Additon der echte und im Falle einer Subtraktion der komplementäre Abfragewert gewählt wird, w
    c3) daß der Abfragewert der verarbeiteten Bitstelle zu Null gelöscht und der entsprechende Abfragewert für die nächste Bitstelle in der angegebenen Weise gebildet wird, welcher zusammen mit dem gelösch- >r> ten Abfragewert der verarbeiteten Bitstelle als gemeinsamer Abfragewert im nächsten Abfragezyklus benutzt wird, wobei als Einschreibewert für die bei der Abfrage eine Übereinstimmung anzeigenden Wort- wi speicherstellen wiederum im Falle einer Addition der echte und im Falle einer Subtraktion der komplementäre Abfragewert gewählt wird,
    c4) und daß die Abfragezyklen mit fortschrei- t>> tender Erweiterung des Abfragestellenbereiches wiederholt werden, bis alle Bitstellen verarbeitet sind.
    Z Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Wortspeicherstellen des Assoziativspeichers (3), des Eingaberegisters (11) und des Maskenregisters (13) so bemessen sind, daß sie eine zusätzliche Bitstelie enthalten, die zur Markierung der Notwendigkeit einer Verarbeitung für die betreffende Wortspeicherstelle dient und daß die Steuereinheit (25) vor Beginn einer Addition oder Subtraktion entsprechend der beabsichtigten Vornahme oder Nichtvornahme einer Verarbeitung in der zugeordneten Wortspeicherstelle diese Bitstelle einstellt und die zusätzliche Bitstelle in die Abfrage- und Einschreiboperationen einbezieht
    3. Schaltungsanordnung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß ein Hilfsregister (15) vorgesehen ist, das an den Ausgang des Maskenregisters (13) angeschlossen ist und dessen Inhalt unter dem Einfluß der Steuereinheit (25) gegen Ende eines Zyklus übernimmt, daß die O-Ausgänge der Bitstellen des Hilfsregisters mit Torschaltungen (52 bis 54) verbunden sind, die am Ende eines Zyklus ein Signal (DEC) von der Steuerschaltung zugeführt erhalten und in Abhängigkeit vom O-Zustand der betreffenden rtilfsregister-Bitstelle ein Demaskierungssignal für die nächste höhere Bitstelle des Maskenregisters und ein Rückstellsignal für die gleiche Bitstelle des Eingaberegisters erzeugen.
    4. Schaltungsanordnung nach Anspruch 2, dadurch gekennzeichnet, daß das Eingaberegister (11) und das Maskenregister (13) eine durch die Steuereinheit (25) am Beginn einer Addition bzw. Subtraktion zur Wirkung bringbare Voreinstellschaltung (36, 40, 45, 37, 38) aufweist, die bei einer Addition alle wertdarstellenden Bitstellen des Eingaberegisters in den 1-Zustand und eine der Abfrage der Verarbeitungsnotwendigkeit zugeordnete Bitstelle (SP) in den O-Zustand bringt, die bei einer Subtraktion alle Bitstellen des Eingaberegisters in den 1-Zustand bringt und die bei Addition und Subtraktion alle wertdarstellenden Bitstellen des Maskenregisters außer der niedrigsten in den !-Zustand und die Niedrigste sowie die der Maskierung der Abfrage einer Verarbeitungsnotwendigkeit zugeordnete Bitstelle in den O-Zustand bringt.
    5. Schaltungsanordnung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß die Voreinstellschaltung (40, 45) des Maskenregisters (13) so ausgebildet ist, daß neben der für die Maskierung der Abfrage einer Verarbeitungsnotwendigkeit zugeordneten Bitstelle (SP) eine höherstellige als die niedrigste Bitstelle in den O-Zustand einstellbar ist und daß die den im 1-Zustand belassenen niedrigstelligen Bitstellen zugeordneten Tore in der die Demaskierungssignale erzeugenden Torschaltung (16) überbrückbar sind.
    6. Schaltungsanordnung nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß das Hilfsregister (15) eine von der Steuereinheit (25) zur Wirkung bringbare Voreinstellschaltung (65) aufweist, durch die alle Stellen des Hilfsregisters am Beginn einer Addition bzw. Subtraktion in den 1-Zustand bringbar sind, und daß die Bitstellen des Hilfsregisters mit ihren O-Eingängen über von der Steuerschaltung (25) beeinflußbare Tore (61) an die O-Ausgänge der gleichgeordneten Bitstellen des Maskenregisters (13) angeschlossen sind.
    7. Schaltungsanordnung nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß der
    assoziative Speicher eine von der Steuereinheit (25) zum Zeitpunkt der Einschreiboperation zur Wirkung bringbare Obereinstimmungsanzeige-Abfrageschaltung (90, 26) aufweist, die einen Halb-Auswahlschreibimpuls für diejenigen Worjspeicherstellen ϊ erzeugt, für die während dsr vorausgehenden assoziativen Abfrage eine Übereinstimmung angezeigt wurde.
    8. Schaltungsanordnung nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß die ι ο Steuereinheit (25) eine von einem Taktgeber (94) betätigte Schrittschalteinrichtung (93) enthält, die in ihren einzelnen Schaltstufen (I, W, DEC, DEC) die Steuersignale für die Voreinstell-Abfrage- und Einschreiboperationen sowie für die Übertragungen ι > zwischen den Registern (11,15,13) erzeugt.
    9. Schaltungsanordnung nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, daß zur Feststellung einer Überlaufbedingung eine Steuerschaltung (104) vorgesehen ist, die eine Voreinstellschaltung (40, 46) des Maskenregisters (13) zur Maskierung aller wertdarstellenden Bitstellen des Eingaberegisters (11) und einer Demaskierung derjenigen Bitstelle betätigt, die den zusätzlichen, die Verarbeitungsnotwendigkeit markierenden Bit- r> stellen in den Wortspeicherstellen des assoziativen Speichers zugeordnet ist und die eine Abfrage auf den Inhalt dieser Bitstellen steuert.
    10. Schaltungsanordnung nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, daß die ju Steuereinheit (25) eine Sperrschaltung (95, 97) aufweist, die an den höchststelligen Ausgang der die schrittweise Demaskierung steuernden Torschaltung (16) angeschlossen ist und auf ein Ausgangssignal dieser Bitstelle wirksam wird, um die Steuer- r> schaltung stillzusetzen.
    11. Schaltungsanordnung nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, daß der Eingang des Eingaberegisters (11) mit einem Zähler (114) verbunden ist, der mit jedem Eingabe-Zugriff zu einem Speicherblock eines mit dem assoziativen Speicher gekoppelten Datenblockspeichers (110) weitergeschaltet wird und dessen Zählstand über Tore (123) in eine dem betreffenden Speicherblock zugeordnete Wortspeicherstelle des assoziativen -r> Speichers eingeschrieben wird.
    12. Anwendung der Schaltungsanordnung nach einem der Ansprüche 1 bis 11 zur iortlaufenden Überwachung der Reihenfolge des jeweils letzten Zugriffes zu den Wortspeicherstellen von einem vi assoziativen Speicher zugeordneten Speicherblökken, dadurch gekennzeichnet, daß in die Wortspeicherstellen mit jedem Einspeicher-Zugriff zu einem Speicherblock eine Reihenfolgenummer eingegeben wird, daß bei einem Entnahme-Zugriff zu v, einem Datenblock auch eine Entnahme der Reihenfolgenummer aus der zugeordneten Wortspeicherstelle erfolgt, daß mit dieser Reihenfolgenummer eine assoziative Abfrage zur Anzeige aller größeren Reihenfolgenummern im assoziativen Speicher wi durchgeführt wird, daß jeder der dabei erhaltenen Anzeigen in die zusätzliche Bitstelle der betreffenden Wortspeicherstelle als Anzeiger einer Verarbeitungsnotwendigkeit eingespeichert wird und daß eine parallele Subtraktion des Wertes 1 von den so tr> markierten Stellen vorgenommen wird.
    Die Erfindung betrifft eine Schaltungsanordnung zum Addieren oder Subtrahieren einer Binärzahl 1, 2 oder beliebiger Vielfacher von 2 zum oder vom Inhalt wenigstens einer Wortspeicherstelle eines assoziativen Speichers durch zyklische Abfrage der gespeicherten Werte und darauffolgendes Einschreiben abgeänderter Werte, mit einem dem Assoziativspeicher zugeordneten Eingaberegister zur Aufnahme von Abfragewerten, mit einem Maskenregister zur Bestimmung der bei einer Abfrage- und Einschreibeoperation wirksamen Bitstellen des Eingaberegisters mit einer Steuereinheit
    Es sind Speicher bekannt, deren binäre Speicherzellen so ausgebildet sind, daß sie einen zugeführten Wert mit einem gespeicherten Wert vergleichen und eine Anzeige auf Übereinstimmung oder Nichtübereinstimmung liefern können (z. B. USA-Patent 32 53 265). Die binären Speicherzellen dieser sogenannten assoziativen Speicher sind zu Wortspeicherstellen geordnet, so daß es möglich ist, mit einem Abfragewert eine parallele Abfrage aller Wortspeicherstellen nach einem dem Abfragewert entsprechenden Wort vorzunehmen. Aus den bei der Abfrage eine Übereinstimmung anzeigenden Wortspeicherstellen kann daraufhin der gesuchte Inhalt, für den der Abfragewert als eine Art Schlüsselwort dient, gelesen werden. Die Anzahl der Wortspeicherstellen, die einer derartigen Vergleichsoder Abfrageoperation unterzogen werden können, hängt lediglich von der Speichergröße ab und kann zudem durch Maskierung einzelner Stellen wahlweise verändert werden. Derartige Speicher weisen auch die Möglichkeit auf, einen Wert parallel in mehrere oder alle Wortspeicherstellen einzuschreiben.
    Es ist häufig notwendig, zum Inhalt einzelner oder mehrerer Wortspeicherstellen eines assoziativen Speichers Binärwerte zu addieren oder von diesem Inhalt zu subtrahieren. Dies kann durch Entnahme des Inhaltes und Zuführung zu einem Addier/Subtrahierwerk erfolgen. Es ist aber auch schon bekanntgeworden, derartige arilhemetische Operationen durch parallele Abfrage- und Einschreiboperationen im assoziativen Speicher auszuführen, um Lese- und Schreiboperationen insbesondere dann einzusparen, wenn der Inhalt einer großen Anzahl Wortspeicherstellen in dieser Form verarbeitet werden soll. Ein bekanntes Verfahren der erwähnten Art (S. Porter »Use of Multiwrite for General Programmability of Search Memories«, Journal of the Association for Computing Machinery, Band 13, No. 3, JuIi 1966, Seiten 369 bis 373) besteht darin, daß für jede der gleichgeordneten Bitstellen der Wortspeicherstellen eine Abfrage auf das Vorhandensein einer binären 0 und eines Übertrages in einer besonderen Übertragsbitstelle vorgenommen wird. Für alle Wortspeicherstellen, die eine Übereinstimmungsanzeige liefern, wird der Inhalt der betreffenden Bitstelle durch Neueinschreiben von 0 auf 1 geändert. Bei diesem Neueinschreiben wird auch der 1-Wert in der Übertragsbitstelle gelöscht. In einer weiteren Abfrageoperation auf das Vorhandensein restlicher Überträge werden diejenigen Wortspeicherstellen ermittelt, die in der betreffenden Bitstelle eine 1 aufweisen. Diese 1 wird in einer erneuten Einschreibeoperation gelöscht, wobei jedoch der zugehörige Übertrag unverändert bleibt. Das Verfahren hat den Nachteil, daß für jede zu verarbeitende Bitstelle zwei Abfrageoperationen und zwei Einschreibeoperationen durchzuführen sind. Mit zunehmender Bitstellenzahl innerhalb der Wortspeicherstellen ergibt sich somit eine sehr hohe Zahl von Speicheroperationen.
    Es sind auch andere Ausführunesformen rechnender
DE1952020A 1968-10-16 1969-10-15 Schaltungsanordnung zum Addieren oder Subtrahieren einer Binärzahl zum oder vom Inhalt eines assoziativen Speichers Expired DE1952020C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US76794468A 1968-10-16 1968-10-16

Publications (3)

Publication Number Publication Date
DE1952020A1 DE1952020A1 (de) 1970-04-23
DE1952020B2 true DE1952020B2 (de) 1978-11-23
DE1952020C3 DE1952020C3 (de) 1979-07-26

Family

ID=25081045

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1952020A Expired DE1952020C3 (de) 1968-10-16 1969-10-15 Schaltungsanordnung zum Addieren oder Subtrahieren einer Binärzahl zum oder vom Inhalt eines assoziativen Speichers

Country Status (4)

Country Link
US (1) US3576436A (de)
DE (1) DE1952020C3 (de)
FR (1) FR2020786A1 (de)
GB (1) GB1224961A (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1229717A (de) * 1969-11-27 1971-04-28
US3757312A (en) * 1970-10-09 1973-09-04 Us Navy General purpose associative processor
US3921144A (en) * 1971-05-18 1975-11-18 Ibm Odd/even boundary address alignment system
JP2002063025A (ja) * 2000-08-18 2002-02-28 Fujitsu Ltd 可変長データ処理用プロセッサ
US6757703B2 (en) * 2002-03-29 2004-06-29 Neomagic Israel Ltd. Associative processor addition and subtraction

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR83308E (de) * 1960-12-30 1964-11-25
US3320592A (en) * 1963-04-11 1967-05-16 Trw Inc Associative memory system
US3350698A (en) * 1965-03-23 1967-10-31 Texas Instruments Inc Associative data processing system
FR1538083A (fr) * 1966-09-28 1968-08-30 Ibm Dispositif arithmétique

Also Published As

Publication number Publication date
DE1952020C3 (de) 1979-07-26
DE1952020A1 (de) 1970-04-23
US3576436A (en) 1971-04-27
FR2020786A1 (de) 1970-07-17
GB1224961A (en) 1971-03-10

Similar Documents

Publication Publication Date Title
DE2521436C3 (de) Informationswiedergewinnungsanordnung
DE2934971C2 (de) Nach dem Fließbandprinzip arbeitender Zentralprozessor
DE2930441C2 (de) Anzeigeeinrichtung zur wahlweisen dynamischen oder statischen Anzeige
DE4334294C1 (de) Prozessor für Zeichenketten variabler Länge
DE1449544A1 (de) Datenverarbeitende Maschine mit ueberlappend abrufbarem Speicherwerk
DE2133638B2 (de) Verfahren zum Betrieb eines lernfähigen Systems aus in Kaskade geschalteten, zur nicht linearen Datenverarbeitung geeigneten lernfähigen Datenverarbeitungseinheiten
DE2357654C2 (de) Assoziativspeicher
DE2136270A1 (de) Verfahren und Vergleicher zum Vergleich zweier Binärzahlen
DE1952020C3 (de) Schaltungsanordnung zum Addieren oder Subtrahieren einer Binärzahl zum oder vom Inhalt eines assoziativen Speichers
DE2451235A1 (de) Schaltungsanordnung fuer ein digitales filter
DE1206180B (de) Verfahren zum Betrieb einer Rechenmatrix
DE69303041T2 (de) Schaltung zur Verbesserung des Signalübergangs
DE1774607B2 (de) Speicheranordnung mit einem informationszerstoerend lesbaren speicher
DE1223177B (de) Elektronischer Digitalrechner mit Schaltung fuer die Errechnung der Quadratwurzel aus einer Binaerzahl
DE1293224B (de) Verfahren und Vorrichtung zum Ablesen eines mit einem Suchwort uebereinstimmenden Datenwortes aus einem Assoziativspeicher
DE1280934B (de) Verfahren zum Abfragen eines assoziativen Speichers und Vorrichtung zur Durchfuehrung des Verfahrens
DE1193102C2 (de) Speichervorrichtung
DE2200744A1 (de) Verfahren und Vorrichtung zum Aussortieren
DE1449374A1 (de) Schaltungsanordnung aus mehreren Schaltstufen zum Suchen von Speicheradressen
EP0408936A2 (de) Verfahren zum Auffinden eines Zeichenmusters in einem Datenstrom
DE2226856A1 (de) Stapelspeicher mit Anzeige der Überschreitung oder des Überlaufs für die Übertragung von Daten in der chronologischen Reihenfolge ihrer Eingabe
DE1233438B (de) Schaltungsanordnung zur Entnahme von Daten aus einem assoziativen Speicher
AT203764B (de) Magnetkern-Schaltanordnung
DE3030438C2 (de)
DE1499680C3 (de) Treib- und Leseverstärkeranordnung für magnetische Matrixspeicher

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
EHJ Ceased/non-payment of the annual fee