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 SpeichersInfo
- 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
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
- 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
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)
- 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, wc3) 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 einbezieht3. 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ß derassoziative 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 SteuereinheitEs 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
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)
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 |
---|---|
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 |