DE1952020C3 - 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 SpeichersInfo
- Publication number
- DE1952020C3 DE1952020C3 DE1952020A DE1952020A DE1952020C3 DE 1952020 C3 DE1952020 C3 DE 1952020C3 DE 1952020 A DE1952020 A DE 1952020A DE 1952020 A DE1952020 A DE 1952020A DE 1952020 C3 DE1952020 C3 DE 1952020C3
- Authority
- DE
- Germany
- Prior art keywords
- memory
- register
- query
- word
- 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.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
- G11C15/04—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (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
v/erden. 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 11 580). 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
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. 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 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,
Fig.3 ein detailliertes Blockschaltbild der Bitauswahlschaltung
der Einrichtung von F i g. 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
Fig.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 F i g. 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 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-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. Informationer
werden in den assoziativen Speicher 3 paralle eingegeben durch die Koinzidenz von Halb-Schreibsi
gnalen von den Torschaltungen 5 und entsprechender Halb-Schreibsignalen von der Auswahlschaltung 7. Ein«
Vergleichs- oder Abfrageoperation wird vorgenommen wenn die von der Torschaltung 5 kommenden Signals
allein an den assoziativen Speicher 3 angelegt werden Das Ergebnis des Vergleiches mit jedem gespeicherter
Wort wird im Wortleseteil der Wortabfühl- unc Auswahlschaltung 7 gespeichert, die hierzu Überein
Stimmungsanzeiger MI 0, MI 1 bis MI N besitzt, vor
denen jeder einem Wort zugeordnet ist
Die in den assoziativen Speicher 3 einzuschreibende
oder mit dessen Inhalt zu vergleichende Informatior wird zunächst im Eingaberegister 11 gespeichert, vor
wo sie über die Torschaltungen 5 zum Speicher 3 übertragen wird. Das Eingaberegister 11 enthält die
gleiche Anzahl Bitstellen wie die Wortspeichersteller im assoziativen Speicher 3. Die Bitstellen 3, 2,1, SP des
Registers stehen über die Torschaltung 5 mit der entsprechenden Bitstellen 3, 2, 1, SP des assoziativer
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 dieser
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 Maskenregistei
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, weiche 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 Sf
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 Halb-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 Halb-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 Leitungen 243 zur Anzeige einer Nichtübereinstimmungsbedingung
dienen. Wenn eine Nichtübereinstimmungsbedingxmg 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
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 F i g. 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 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-Tor&chaltung 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 £3, 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 N/Z Ebenso
liefert die Speicherstufe 30 der Spezialbitstelle SP im 1-Zustand ein Ausgangssignal ES und im 0-Zustand ein
Ausgangssignal NES Die regulären oder 1-Ausgangssignale E der Bitstellen 1, 2 und 3 sind fiber
Torschaltungen 33 an die 1-Eingänge der entsprechenden Bitstellen im Hufsregister 15 angeschlossen.
Zusätzlich sind die E-Ausgänge des Eingaberegisters 11
an die Tore der entsprechenden Bitstellen in der Echt/Komplement-Torschaliung 5 angeschlossen. In
der gleichen Weise sind auch die NT-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 5Pdes 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
ΝΛί-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
5 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
so 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öherstelügen 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 fiber eine Und-Schaltung 53, die das Tor der betreffenden
Stellen in der Torschaltung 16 darstellt, Eingangssignale
von dem O-Ausgang der Bitstelle 1 des Hilfsregisters 15.
In der gleichen Weise ist der 0-Ausgang der Bitstelle 2 des Hilfsregisters 15 fiber 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 O-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 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 D£C"-Zeit den Inhalt des
Maskenregisters 13 nach dessen Übertragung durch die Maskenregistertore 61 zu speichern. Jeder O-Ausgang
NM1 bis /VM3 ist daher direkt mit dem O-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 /JVC-Zeit den Inhalt des Eingaberegisters 11 über die Torschaltungen
33 zu übernehmen, die die 1-Ausgänge der Bitstellen 1,2
und 3 des Eingaberegisters 11 mit den !-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 O-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 O-Ausgang der
niedrigsten Bitstelle des Hilfsregisters 15 zugeordnete Und-Schaltung 52 wird durch eine DfTC-Eingangsleitung
45 von der Steuereinheit 25 in F i g. 1 für eine Signalübertragung vorbereitet Wenn sich die Bitstelle 1
des Hilfsregisters 15 im 0-Zustand befindet und ein DfC-Signal auf Leitung 45 erscheint, wird die
Und-Schaltung 52 für eine Signalübertragung wirksam, wodurch eine Rückstellung der Bitstelle 2 im Maskenregister
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 ω
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 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 Bitstelie 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 DEC-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 11, soweit dessen Bitstelien nicht durch eine i in den gieiehsteiügen
Bitstellen des Maskenregisters 13 maskiert sind. Dementsprechend ist jede der 0-Leitungen 280 mit den
1- und O-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 76Λ/ 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
70Nmitder 1-Leitung 281 der Bitstelle 3 in Verbindung.
Ebenso ist der Ausgang £"3 der Bitstelie 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 NAi3-Signal als auch ein £3-Signal vorliegt kann
durch einen Impuls auf der WC/IC-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 Kompiernentes 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 Bitstelie 3 des Eingaberegisters in alle Wortspeicherstellen des Speichers 3 eingeschrieben
oder in diesen abgefragt Andererseits dient ein Impuls auf einer WT/TT-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 F i g. 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. i u
Der Startimpuls vom Generator 91 dient als
Steuerimpuls für die Einstellung der Register li, ii und
15 über die Leitungen 36,40 und 65. Außerdem dient das Ausgangssignal vom Generator 91 zur Einstellung eines
Schieberegisters 93 in dessen £>£C-Zustand. Das iß
Schiebe! egisler 93 umfaßt 4 Stuinen, 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 Sperrschaltung 95 die Ausgangssignale des Taktgebers
94 zum Schieberegister 93 hindurchlälSt. Ü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 w
wird in ihren O-Zustand rückgestellt 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 r> nacheinander Steuersignale zu verschiedenen Teilen der
Anordnung. Die DffC-Stufe des Schieberegisters liefert
über die D£C-Leitung 45 ein Steuersignal zum Maskenregister 13. Ebenso liefert DfC-Stufe über eine
Leitung 47 ein Steuersignal zum Maskenregister 13. Das 4»
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 S3, einen Schalter 99 und
Oder-Schaltungen 101, 102 bei Durchführung einer Subtraktion mit der WC/ZC-Leitung 88 der Echt/Komplement-Torschaltung
5 und bei Durchführung einer Addition mit der W7/7r-Leitung 89 der Torschaltung 5
verbunden. In ähnlicher Weise verbindet ein Schalter 100 den Ausgang des Generators 91 bei Ausführung >n
einer Subtraktion mit der 1-Eingangsleitung 37 der Bitstelle SP im Eingangsregister 11 und bei Ausführung
einer Addition mit der O-Eingangsleitung 38 der gleichen Bitstelle.
Die F i g. 6 zeigt eine zusätzliche Ausbildung der Steuerschaltung von F i g. 5, wenn diese auf zur
Erkennung einer Überlaufbedingung vom im Speicher enthaltenen Datenworten verwendet werden seil, die
vor der Ausführung einer Addition oder Subtraktion ihren Groß- oder Kleinstwert aufweisen. Die Schaltung
von F i g. 6 besteht aus einem dreistufigen Schieberegister 104, das durch die TaktgeberschaHung 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 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
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 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. | 2 | Reg. | π | Mask. | 2 | Reg. | 13 | von Torsch. 5 | SP | Hi. | Reg. 15 | 1 | |
3 | 1 | 1 | SP | 3 | 1 | 1 | SP | 3 2 1 | - | 3 | 2 | 1 | |
Anfangszustand | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | — | 1 | 1 | ||
Zyk. 1 DEC | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | ||
ITi | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | |
WCi | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | — | 1 | 0 | |
DEC | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | |||
Zyk. 2 DEC | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | ||
IT-2 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | - 1 0 | 0 | 1 | 0 | |
WC-I | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | - 0 1 | 1 | 0 | ||
DEC | 1 | 0 | 1 | 1 | 0 | 0 | 0 |
Fortsetzung | Eing. | 2 | Reg. | 11 | 19: | 2 | 1 | 020 | SP | von Torsch. | 2 1 | 5 | 14 | KL | Reg. 15 | 1 | |
13 | 3 | 0 | 1 | SP | 0 | 0 | 3 | SP | 3 | 2 | 0 | ||||||
1 | 0 | 0 | 1 | 0 | 0 | _ | 0 0 | 1 | 0 | 0 | |||||||
Zyk. 3 DEC | 1 | 0 | 0 | 1 | 52 | 0 | 0 | 1 | 1 1 | 1 | 1 | 0 | 0 | ||||
IT-3 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | — — | 0 | 1 | 0 | 0 | |||||
WC-3 | 1 | 0 | 1 | Reg. 13 | — | — | 0 | 0 | |||||||||
DEC | Mask. | 1 | |||||||||||||||
DEC | 3 | 0 | |||||||||||||||
0 | 0 | ||||||||||||||||
0 | 0 | ||||||||||||||||
0 | fl | ||||||||||||||||
0 | |||||||||||||||||
Ende der Subtraktior | |||||||||||||||||
Die Ausgangszustände für die Durchführung einer Subtraktion bestehen darin, daß alle Bitstellen der
Register 11, 13 und 15 in den !-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 -ü>
zum Schieberegister 93 gesteuert wird. Das als Ringschaltung ausgebildete Schieberegister 93 wird
daraufhin von der DüOStufe 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, SP Ausgangssignale.
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 von der Stufe H^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 Wortspeicherstellen unter Wirkung der von den
Umschaltungen 26 erzeugten Halb-Schreibimpulse.
Der nächste Taktimpuls schaltet das Schieberegister 93 in den Z?£C"-Zustand, in welchem es die Leitung 47
erregt, wodurch der Inhalt des Maskenregisters 13 in
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/sC-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 Eingaberegister 11 als Folge eines Ausgangsimpulses der
Und-Schaitung 52 die Bitstelle 1 in den O-Zustand gestellt wird. Nachdem die Bitstelle 2 im Maskenregister
von 1 nach 0 geschaltet worden ist enthält das Maskenregister den Wert KX)O, 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 1:1 bestimmt. Der DEC- Impuls auf Leitung 45 dient außerdem in jedem Zyklus außer dem
Ersten zur Rückstellung des jeweils niedrigsten 1 -Bits im Eingaberegister U.
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 DEC-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.
I | Anfangszustand | iing. | Reg. | 11 I | flask. | Reg. | 13 | von Torsch. 5 | Hi. | Reg. 15 | 1 |
Zyk. 1 DEC | ) 2 | 1 | ep | I 2 | 1 | SP | 3 2 1 SP | 3 | 2 | 1 | |
IC-X | 1 | 1 | O | 1 | 1 | 1 | 1 | 1 | 1 | ||
WT-X | 1 | 1 | O | 1 | O | O | _ _ _ _ | 1 | 1 | 1 | |
DEC | 1 | 1 | O | 1 | O | O | 0 1 | 1 | 1 | 1 | |
1 | 1 | O | 1 | O | O | 1 0 | 1 | 1 | 0 | ||
1 | 1 | O | 1 | O | O | 1 | 1 |
Fortsetzung | 1 | Reg | .11 | 19 | 52 | Ende der Addition | 2 | 020 | SP | von Torsch. 5 | 1 | SP | 16 | Hi. Reg. IS | 2 | 1 | |
15 | 1 | SP | 0 | 0 | 3 2 | 3 | 1 | 0 | |||||||||
0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | |||||||||
Zyk.2 DEC | 0 | 0 | Mask | 0 | . Reg. 13 | 0 | — 0 | 0 | 0 | 1 | 1 | 0 | |||||
IC-I | Eing. | 0 | 0 | 3 | 0 | ί | 0 | - 1 | — | — | 1 | 0 | 0 | ||||
WT-2 | 3 2 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | |||||||
DEC | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | |||||
Zyk. 3 DEC | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 1 | 0 | 0 | 1 | 0 | 0 | ||||
IC-3 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 0 | — | — | 1 | 0 | 0 | ||||
WT-3 1 | 1 | 0 | 0 | 0 | 0 | — — | 0 | ||||||||||
DEC | 0 | 0 | 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
20
25
30
35
Schalterstellung ist auch über die Oder-Schaltung 101
und den linken Schaltann des Schalters 99 die Leitung 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 Eingaberegister 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
DEC, bis das Ende der Addition erreicht ist und durch das DEC-Ende-Signal von der Umschaltung 54 eine
Rückstellung der bistabilen Schaltung 97 bewirkt wird.
Entsprechend der Bitauswahl gemäß Tabelle II zeigt die Tabelle III die Änderung innerhalb der neuen
Wortspeicherstellen 0,1 —8 im Speicher 3 während der einzelnen Speicherzyklen.
Zyklus | 1 | 0 | 1 | SP | Ml | 3 | SP | Schreiben-1 | 2 | 1 | 1 | SP | Zyklus 2 | 2 | SP | 0 | 1 | SP | MI | Schreiben-2 | 2 | 1 | SP | SP | |
0 | 0 | 1 | Abfragen-3 | 3 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 3 | 1 | 0 | 0 | ||||||||||
*bf ragen-1 | 1 | 0 | 0 | 1 | 3 2 1 | MO | 1 | 0 | Abfragen-2 | MO | 1 | 0 | 0 | 0 | ro | 0 | 0 | ||||||||
Von Torsch. 5 | 3 2 | 1 | 0 | M | 1 | 3 | 1 | 1 | M | ||||||||||||||||
Maske j | 0 | 1 | 1 | 0 | 0 | ||||||||||||||||||||
MM | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | |||||||||||
Wort | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | i | 0 | 0 | 1 | 0 | 0 | |||||||||
0 | 1 | 0 | 0 | 1 | i | Q | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | ||||||||||
0 0 0 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | i | 0 | 0 | 1 | 1 | 1 | |||||||||
1 0 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | |||||||||||
2 ( | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | |||||||||||
) 1 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | Ϊ | 1 | 0 | |||||||||||||
3 0 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |||||||||||||
4 | 1 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | |||||||||||||
5 | Zyklus | 1 | 1 | ||||||||||||||||||||||
6 | Schreiben-3 | Feststellung eines Überlaufes | |||||||||||||||||||||||
7 | 3 2 1 | 3 2 | |||||||||||||||||||||||
8 | |||||||||||||||||||||||||
Von Torsch. 5
Maske
Q i i
0 0 0
1 0 0 0
0 11
MMM
17 | Zyklus 3 | SP | 19 | 52 020 | SP | 18 | SP | |
Abfragen-3 | ||||||||
Fortsetzung | 3 2 1 | |||||||
0 | 0 ( | -eststellung eines Oberlaufes | 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 | ) 1 0 | 0 | |
1 | 10 1 | 0 | 0 | 0 | ) 1 1 | 0 | ||
2 | 1 1 0 | 1 | 0 | 1 | 0 0 | 1 | ||
3 | 1 1 1 | 0 | 1 | 0 0 1 | 0 | 0 1 | 0 | |
4 | 1 1 1 | 0 | 0 1 0 | 1 0 | ||||
5 | 1 0 ί | 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 | ||||||||
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 de«
Worten 0,2,4 und 6, so daß die Übereinstimmungsanzeiger
21 dieser Wortspeicherstellen in den !-Zustand gesetzt werden. Nachdem dies geschehen ist, wird das
Schieberegister auf die JV-Stufe geschaltet, um den
echten Wert der Bitstellen 1 und SP des Eingaberegisters 11, d.h. die Bits 1 und 0 in die Speicherworte so
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 Torschaltu n- js
gen durch den 1-Ausgang der im 1-Zustand befindlichen
Anzeiger 21 geliefert wird. Es werden somit die Wortleitungen 247 der Wortspeicheretellen 0,2,4 und 6
für eine Einschreiboperation erregt. Gleichzeitig mit dieser Erregung dieser Worteinschreibleitungen liefert
die Stufe IVü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 1, SP des
Eingaberegisters zum Speicher 3. In Übereinstimmung mit den obigen Erläuterungen zu Fig.3 wird die
1-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 so
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 fa5 inkrementiert, da seine Bitstelle SPvon Anfang an auv 0
stand, was eine Anzeige dafür ist, daß in dieser Wortspeichersteüe keine Addition stattfinden so!!. Der
Inhalt der Wortstelle 7 wurde nicht inkrementiert, da durch die Addition einer 1 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
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 die erste Stufe des Schieberegisters in den 1-Zustand
setzt, wodurch ein Überlauf-Steuersignal auf Leitung 40 erzeugt wild. Die Leitung 40 ist mit allen Bitstellen des
Maskenregisters 13 verbunden, und ein Signal auf dieser Leitung stellt diese Bitstellen in den 1-Zustand.
Daraufhin wird die Taktsignalleitung 106 vom Taktgeber 90 wirksam und schaltet das Schieberegister auf
seine zweite Stufe, in der Überlaufsteuersignale 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 0-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 !-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 Öder-Schaltung 98 von F i g. 5 verbunden, über die eine
Abfrageoperation mit dem echten Eingangsregisterinhalt 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
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 Überlaufbedingung zugeordnet ist. Im dargestellten
Beispiel ist dies das Wort 7.
Um höherstellige Binärwerte zu addieren oder zu subtrahieren, wird die Anordnung von Fig.3 so
abgeändert, daß die DfC-Signale auf den Leitungen 45
zum 0-Eingang der Speicherstelle SPim Maskenregister 13 geführt werden, wobei alle niedrigen Bitstellen, in
denen keine Verarbeitung erfolgt, umgangen werden. Wenn z. B. der zu addierende Binärwert eine 2 ist, führt
die Leitung 45 zum 0-Eingang der Bitstelle SP, zum 0-Eingang der Bitstellc 2, aber nicht zum 0-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 0-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 1-Zustand 31)
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 zusam- r>
mensetzen. 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 4»
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 vorteil- '"· hafter 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 110 zu entnehmen und über die Sammelleitung 112 zu einem nicht dargestellten
Hilfsspeicher zu übertragen. Dabei ist es häufig so, daß t>o
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, t>5
entfernt werden.
Um die Reihenfolge zu kontrollieren, in welcher die Daten eines Benutzers im Speicher 110 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 110 eingegeben wurde, benutzt Zum Beispiel kann der erste
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 110
eingespeichert werden, so daß der Wert 001 in der 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,
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 betreffenden
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
11 stehende enthalten. Nach dieser Abfrageoperation 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
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 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 F i g. J in Verbindung mit dem Zähler
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
Datenblockes erfolgende erste Weiterschaltung den Zählslnnd 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 tu 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, NS 2. NS 3 für eine Signalübertragung
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 2n
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 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 Wortspeicherstelle
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
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 Folgenummer im w 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 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 Wort Danach wird die nächsthöhere 0 des im Eingaberegister
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 /NC-Signal an
den 1-Eingang der niedrigsten Bitstelle des Eingaberegisters It ü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,
oder unverändert bleibt, wenn sie sich bereits im 1-Zustand befunden hat Das /JVC-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 /WC-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 /A/C-Signals zur Und-Schaltung 58 der nächsthöheren
Bitstelle in der Torschaltung 16. Wenn da< /Λ/C-Signal abklingt, erscheint ein /Λ/C'-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 Hilfsregi
sters 15 zur Zeit des /NC-Signals auf Leitung 130 in-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 ir den 1-Zustand, sofern sie sich nicht schon zuvor ir
diesem Zustand befunden hat Das Ausgangssignal vor der Und-Schaltung 57 wird andererseits zur Umschal
tung der Bitstelle 1 des Maskenregisters 13 in der 1-Zustand benutzt, da für den folgenden Teil dei
Bereichsabfrageoperation die Bitstelle 1 nicht längei von Interesse ist. Das Ausgangssignal von dei
Und-Schaltung 57 wird außerdem dem Eingang dei Und-Schaltung 58 der Bitstelle 2 in der Torschaltung K
zugeführt
Nach Anlegen jeden WC-Signals wird ein Vergleicl der nichtmaskierten Bits des Eingaberegisters mit aller
Wortspeicherstellen des Speichers 3 ausgeführt, wonacl der Inhalt der Anzeiger 21 die übereinstimmender
Worte angibt. Wenn alle Nullen im Eingaberegister 11
in der beschriebenen Weise in Einsen umgewandel· worden sind, breitet sich das nächste /MT-Signal au:
Leitung 130 über alle Und-Schaltungen 57,58,59 in dei
Torschaltung 16 aus und erzeugt ein /NC-Ende-Signa am Ausgang der Und-Schaltung 59, das das Ende dei
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 WortspeicherstelU des Speichers 3 zugeordnet aus der die letzte Entnahme
von Daten zur Übertragung in das Entnahmeregister ί erfolgt ist Hierzu werden die Daten aus den
Entnahmeregister 9 in das Eingaberegister 11 zurück übertragen und es wird eine Abfrageoperation über all«
Wörter des assoziativen Speichers durchgeführt Dieje nige Wortspeicherstelle, in der dabei der Übereinstim
mungsanzeiger 21 gesetzt wird, ist die zuletzt benutzt« Wortspeicherstelle. Hierauf wird der Inhalt des Zählen
114 in das Eingaberegister 11 übertragen. Dies geschieh
über die Und-Schaltungen 123 unter Wirkung eine Zählstand-Schreiben-Signals auf einer Leitung 134. Dei
im Eingaberegister 11 stehende Wert wird nun in di< Speicherstelle eingeschrieben, deren Übereinstim
mungsanzeiger 21 im 1-Zustand steht Während diesei Operation bleibt die Bitstelle SPdes Eingaberegisters 11
maskiert
Zur Vervollständigung der Aufdatierung der Block folgeüberwachung ist es noch notwendig, diejenige!
Wörter um 1 zu dekrementieren, die während dei
Bereichsabfrageoperation als Wörter größeren Werte: markiert worden sind. Diese Dekrementierung wird ii
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 BIaU Zeichnungen
Claims (12)
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 Bitstellen des Eingaberegisters und mit einer Steuereinheit, gekennzeich-
net durch folgende Merkmale:
a) zwischen dem assoziativen Speicher (3) und dem Eingaberegister (11) 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
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) so verbundene Steuereinheit (25) ist so ausgebildet, daß
el) nach entsprechender Voreinstellung der Register für jede Bitstelle der durch das
Maskenregister (13) ausgewählten Wortspeicherstellen, 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 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 Bit
stelle in der angegebenen Weise gebildet wird, welcher zusammen mit dem gelösch
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- t>o
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· tender Erweiterung des Abfragestellenbereiches wiederholt werden, bis alle Bitstel
len verarbeitet sind.
2. 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 Bitsteile 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 Hilisregister-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 1-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 Übereinsümmungsanzeige-Abfrageschaltung
(90, 26) aufweist, die einen Halb-Auswahlschreibimpuls
für diejenigen Wortspeicherstellen erzeugt, für die während der 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 Bitstellen 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 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 (U) 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
Speichers eingeschrieben wird.
12. Anwendung der Schaltungsanordnung nach einem der Ansprüche 1 bis 11 zur fortlaufenden
Überwachung der Reihenfolge des jeweils letzten Zugriffes zu den Wortspeicherstellen von einem
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 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 t>o
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 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
arithemetische 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 Bitsiellenzahl
innerhalb der Wortspeicherstellen ergibt sich somit eine sehr hohe Zahl von Speicheroperationen.
Es sind auch andere Ausführungsformen rechnender
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 DE1952020B2 (de) | 1978-11-23 |
DE1952020C3 true 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)
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)
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 |
-
1968
- 1968-10-16 US US767944A patent/US3576436A/en not_active Expired - Lifetime
-
1969
- 1969-09-02 FR FR6930689A patent/FR2020786A1/fr not_active Withdrawn
- 1969-10-01 GB GB48211/69A patent/GB1224961A/en not_active Expired
- 1969-10-15 DE DE1952020A patent/DE1952020C3/de not_active Expired
Also Published As
Publication number | Publication date |
---|---|
GB1224961A (en) | 1971-03-10 |
FR2020786A1 (de) | 1970-07-17 |
US3576436A (en) | 1971-04-27 |
DE1952020A1 (de) | 1970-04-23 |
DE1952020B2 (de) | 1978-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2521436C3 (de) | Informationswiedergewinnungsanordnung | |
DE1901343C3 (de) | Datenverarbeitungsanlage zur Ausführung von Mateirenrechnungen | |
DE2934971C2 (de) | Nach dem Fließbandprinzip arbeitender Zentralprozessor | |
DE1499193C3 (de) | Speicher-Adressierschaltung | |
DE1449765A1 (de) | Einrichtung zur Abfrage eines assoziativen Speichers | |
DE4334294C1 (de) | Prozessor für Zeichenketten variabler Länge | |
DE1197650B (de) | Parallel-Addierer | |
DE2064473C3 (de) | Schaltung zur Bestimmung der Adresse einer in einem Speicher einer Datenverarbeitungsanlage enthaltenden, gesuchten Information | |
DE1952020C3 (de) | Schaltungsanordnung zum Addieren oder Subtrahieren einer Binärzahl zum oder vom Inhalt eines assoziativen Speichers | |
DE1266026B (de) | Verfahren und Anordnung zum Verhüten einer Änderung eines Speichermhaltes | |
DE2657118A1 (de) | Anordnung zur verarbeitung von daten | |
DE1206180B (de) | Verfahren zum Betrieb einer Rechenmatrix | |
DE1774607B2 (de) | Speicheranordnung mit einem informationszerstoerend lesbaren speicher | |
DE1295656B (de) | Assoziativer 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 | |
DE1184122B (de) | Addiervorrichtung | |
DE1250489B (de) | I Schaltungsanordnung zur Einspei cherung von Leerstellen-Kennworten in einen assoziativen Speicher | |
DE2519195A1 (de) | Assoziativspeicher | |
DE1474380A1 (de) | Matrixspeicheranordnung | |
DE1120780B (de) | Programmgesteuerter Ziffernrechner | |
DE1280934B (de) | Verfahren zum Abfragen eines assoziativen Speichers und Vorrichtung zur Durchfuehrung des Verfahrens | |
DE1499846A1 (de) | Verfahren und Einrichtung zum Lesen eines inhaltsadressierbaren Speichers | |
DE2200744A1 (de) | Verfahren und Vorrichtung zum Aussortieren | |
DE1774866C3 (de) | Schaltung zur Bestimmung der Adresse einer in einem Speicher einer Datenverarbeitungsanlage enthaltenen, gesuchten Information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
EHJ | Ceased/non-payment of the annual fee |