DE2649147C2 - Anordnung zum wahlweisen Durchführen von logischen und arithmetischen Operationen - Google Patents
Anordnung zum wahlweisen Durchführen von logischen und arithmetischen OperationenInfo
- Publication number
- DE2649147C2 DE2649147C2 DE2649147A DE2649147A DE2649147C2 DE 2649147 C2 DE2649147 C2 DE 2649147C2 DE 2649147 A DE2649147 A DE 2649147A DE 2649147 A DE2649147 A DE 2649147A DE 2649147 C2 DE2649147 C2 DE 2649147C2
- Authority
- DE
- Germany
- Prior art keywords
- flip
- register
- input
- flops
- query
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
- G06F7/5057—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination using table look-up; using programmable logic arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8038—Associative processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/48—Indexing scheme relating to groups G06F7/48 - G06F7/575
- G06F2207/4802—Special implementations
- G06F2207/4804—Associative memory or processor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Optimization (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Error Detection And Correction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Complex Calculations (AREA)
Description
Die Erfindung betrifft eine Anordnung zum wahlweisen Durchführen der logischen Operationen UND,
ODER, Antivalenz, Äquivalenz und Invertierung, der arithmetischen Addition und der Suche nach mehrstelligen
Assoziativwörtern. Sie kann in vorteilhafter Weise für logische Operationen an großen Informationsmengen
verwendet werden.
Bei dem gegenwärtigen Entwicklungsstand der Rechentechnik besteht ein Bedarf an Speichern, die größere
24 49 147
Informationsmengen speichern und in denen nach Merkmalen, die Teil der Informationsmengen selbst sind,
gesucht werden kann, und weiter an den als Suchmerkmal vorliegenden Informationen gewisse logische Operationen
ausgeführt werden können. Derartige Speicher können in einigen Fällen die herkömmlichen Systeme zur
Verarbeitung von Binärinformationen praktisch vollständig ersetzen. Bei anderen Systemen werden die herkömmlichen
normalen Speicherzellen nur zur Bereithaltung von Informationen benutzt, wobei die Informationen
über ihre Adressen, unter welchen sie innerhalb der Informationsmengen stehen, zugänglich sind. Die
eigentliche Verarbeitung von Informationen wird von einem zentralen Leitwerk und von logischen Einheiten
durchgeführt, die im zentralen Prozessor vorhanden sind. Mit der Weiterentwicklung der Mikroelektronik sind
integrierte, ci^ genannte Suche erlaubende assoziative Speicherelemente erschienen, aber ihre technischen
Daten, insbesondere die aufgrund ihres komplizierten Aufbaus geringe Kapazität, genügen nicht den gegenwärtigen
Anforderungen. Es liegt daher nahe, bei der Entwicklung von Assoziativspeichern größerer Kapazität
bestehende normale Speichermodule zu benutzen, wobei sich ein Aufbau aus assoziativen Speicherelementen
kapazitätsmäßig um ein bis zwei Größenordnungen günstiger gestalten läßt. Hierbei wird der erforderliche
Grad der funktioneilen Anpassungsfähigkeit des Speichers viel leichter durch entsprechende bauliche Vereinigung
von Speichermodulen als durch deren übermäßig komplizierten inneren Aufbau erreicht
Es sind Anordnungen mit A^soziativspeichern aus nicht-assoziativen, d. h. normalen Speicherelementen bekannt
(vgl. US-PS 39 13 075, DD-PS 1 08 618 und JP-AS 81 744/75), die ein Eingaberegister mit in Gruppen
eingeteilten Flipflops, ein Abfrageregister mit genausoviel in genausoviel Gruppen eingeteilten Flipflops wie das
Eingaberegister, Koinzidenzgatter-Gruppen mit je zwei Koinzidenzgattern in einer Zahl je nach Zahl der
Flipflops des Eingaberegisters, wobei der erste Eingang des ersten und zweiten Koinzidenzgat"-s der einzelnen
Koinzidenzgatter-Gruppen an den nichtin vertier ten bzw. invertierten Ausgang der entsprechenden Flipflops
des Eingaberegisters und der Ausgang des ersten und zweiten Koinzidenzgatters der einzelnen Koinzidenzgatter-Gruppen
an den nichtinvertierten bzw. invertierten Eingang der entsprechenden Flipflops des Abfrageregisters
angeschlossen sind, Abfragedecodierer, die eine der Zahl der Flipflops des Eingaberegisters gleiche Anzahl
von ODER-Glieder-Gruppen mit je zwei ODER-Gliedern, wob^i der erste Eingang des ersten und zweiten
ODER-Gliedes der einzelnen ODER-Glieder-Gruppen an den nichtinvertierten bzw. invertierten Ausgang der
entsprechenden Flipflops des Abfrageregisters und ihr Ausgang an den entsprechenden Eingang der entsprechenden
Abfragedecodierer gelegt sind, ein Maskenregister mit gleicher Anzahl von Flipflops wie das Eingaberegister,
wobei die Flipflops je nach Zahl der Flipflop-Gruppen des Eingaberegisters zu Schieberegistern
geschaltet und die nichtinvertierten Ausgänge der Flipflops des Maskenregisters mit den zweiten Eingängen der
ODER-Glieder der entsprechenden ODER-Glieder-Gruppen verbunden sind, einen Operationsdecodierer, dessen
erster und zweiter Ausgang an den zweiten Eingang des ersten und zweiten Koinzidenzgatters sämtlicher
Koinzidenzgatter-Gruppen geschaltet sind, und einen Speicherblock mit in Form einer Matrix angeordneten
normalen Speichermodulen, wobei die Zeilenzahl der Matrix gleich der Zahl der Flipflop-Gruppen des Eingaberegisters
ist und die Adressenschienen der normalen Speiehermodule mit den Ausgängen der entsprechenden
Abfragedecodierer elektrisch verbunden sind, aufweisen.
Bei diesen Anordnungen mit einem Assoziativspeicher werden Suchmerkmal-Informationen, die in Form
vierteiliger Assoziativwörter in den zur gleichzeitigen Suche in Form einer Matrix angeordneten, normalen
Speichermodulen gespeichert sind, gesucht bzw. mit einer Information im Eingaberegister logisch verknüpft.
Dabei erfolgt der Suchzugriff zu dem gesuchten Assoziativwort (Deskriptor) durch Erkennung der Deckungsgleichheit
eines Assoziativwortes mit der im Abfrageregiuer stehenden, im l-aus-AZ-Code verschlüsselten
Abfragecodierung. Bei der Suche kann jedes Merkmal der Abfragecodierung oder jede Kombination der
Abfragecodierungsmerkmale mit Hilfe der Maskenregister-Flipflops ausgeblendet werden. Die nichiinvertierten
Ausgänge der genannten Flipflops steuern die Übertragung von Informationen von den Ausgängen der
Abfrageregister-Flipflops über die entsprechenden ODER-Glieder auf die Eingänge der Abfragedecodierer.
Mit Hilfe des bereits erwähnten Maskenregisters und zusätzlicher, an den Speichermodulausgängen angeordneten
ODER- und UND-Schaltungen lassen sich auch logische Operationen durchführen. Dabei kann jedoch
eine solche Operation immer nur mit dem Operanden im Eingaberegister und einem einzigen Assoziativwort
ausgeführt werden.
Der Erfindung liegt daher die Aufgabe zugrunde. Assoziativspeicher der eingangs genannten Art derart
weiterzubilden, daß eine logische Operation zwischen Assoziativspeicherinhalt und dem ersten Operanden an
sämtlichen Assoziativwörtern im Speicher gleichzeitig durchgeführt werden kann.
Die Lösung dieser Aufgabe erfolgt durch die Lehre nach Herr. Konnzeichen des Patentanspruchs 1.
Vorteilhafte A usgestaltungen der Erfindung sind in den Unteransprüchen angegeben.
Im folgenden wird die Erfindung anhand von Aurführungsbeispielen mitteL der Zeichnung näher erläutert. Es
zeigt
F i g. 1 ein Blockschaltbild der Anordnung mit einem Assoziativspeicher gemäß der Erfindung.
F i g. 2 ein genaueres Schaltbild eines Ausführungsbeispiels des Eingaber-jgisters,
F i g. 3 ein genaueres Schaltbild einer Anordnung gemäß der Erfindung,
F i g. 4 ein genaueres Schaltbild eines weiteren Ausführungsbeispiels der Erfindung.
Die Anordnung mit einem Assoziativspeicher zur Suche nach Suchmerkmal-Informationen in Form vierstelliger
Assoziativwörter, d. h. bestimmten Bitkombinationen, als Suchmerkmal und zur Durchführung von logischen
Verknüpfungen hat zunächst ein Eingaberegister 1 (Fi g. 1) zur Aufnahme und Speicherung des ersten Operanden
in Form einer bestimmten Bitkombination mit in Gruppen 3 eingeteilter Flipflops 2 je nach Bitanzähl der
Codierung für de.i ersten Operanden. Die weiteren Bestandteile des Speichers sind ein Abfrageregister 4 zur
Aufnahme und Speicherung eines Abfrageworts in Form einer bestimmten Bitkombination mit Flipflops 5 je
nach Anzahl der Flipflops 2 des Eingaberegisters 1, die je nach Anzahl der Flipflop-Gruppen 2 des Eingaberegisters
1 in Gruppen 6 eingeteilt sind, und Koinzidenzgatter-Gruppen 8 mit je zwei Koinzidenzgattern 7 je nach
24 49 147
Anzahl der Flipflops 2 des Eingaberegisters 1. Der erste Eingang 9 des ersten und zweiten Koinzidenzgatters 7
der einzelnen Koinzidenzgatter-Gruppen 8 ist an den nichtinvertierten 10 bzw. invertierten Ausgang 11 der
entsprechenden Flipflops 2 des Eingaberegisters 1 und der Ausgang des ersten und zweiten Koinzidenzgatters 7
der einzelnen Koinzidenzgruppen 8 an den nichtinvertierten 12 bzw. invertierten Eingang 13 der entsprechenden
Flipflops 5 des Abfrageregisters 4 gekoppelt. Ferner weist der Speicher Abfragedecodierer 14 zur Umsetzung
des Codes des Abfragewortes und ODER-Glieder-Gruppen 16 mit je zwei ODER-Gliedern 15 je nach
Anzahl der Flipflops 2 des Eingaberegisters 1 auf. Der erste Eingang 17 des ersten und zweiten ODER-Gliedes
15 der einzelnen ODER-Glieder-Gruppen 16 ist an den nichtinvertierten 18 bzw. invertierten Ausgang 19 der
entsprechenden Flipflops 5 des Abfrageregisters 4 und ihr Ausgang an den entsprechenden Eingang der
entsprechenden Abfragedecodierer 14 gelegt. Die Abfragedecodierer 14 können aus Koinzidenzschaltungen
aufgebaut werden (vgl. z.B. US-PS 39 13 075). Ein Maskenregister 20 zur Aufnahme und Speicherung der
Codierung für die Maske in Form einer bestimmten Bitkombination, um die an der jeweiligen Suche nicht
teilnehmenden Binärstellen der Abfragecodierung herauszulösen, hat Flipflops 21 je nach Anzahl der Flipflops 2
des Eingaberegisters 1, die je nach Anzahl der Flipflop-Gruppen 3 des Eingaberegisters 1 zu Schieberegistern 22
verschaltet sind. Die nichtinvertierten Ausgänge 23 der Flipflops 21 des Maskenregisters 20 sind mit den zweiten
Eingängen 24 der ODER-Glieder 15 der entsprechenden ODER-Glieder-Gruppen 16 verbunden. Der Speicher
schließt noch einen Operationsdecodierer 25 zur Steuerung der Übertragung von Informationen über den
Ausgang der Flipflops 2 des Eingaberegisters 1 zum Eingang der entsprechenden Flipflops 5 des Abfrageregistcrs
4 im direkten oder ir.vcrsen Code je nach laufender logischer Operation ein. Der erste Ausgang 26 und
zweite Ausgang 27 des Operationsdecodierers 25 sind an die zweiten Eingänge 28 des ersten bzw. zweiten
Koinzidenzgatters 7 sämtlicher Koinzidenzgatter-Gruppen 8 geschaltet. Der Assoziativspeicher besteht im
wesentlichen aus einem Speicherblock 29 zur Aufnahme von im l-aus-A/-Code verschlüsselten Datenwörtern
der über mit den Ausgängen der entsprechenden Abfragedecodierer 14 verbundene Abfrageschiene 30 und
Steuereingänge 31, die mit den entsprechenden Ausgängen des Operationsdecodierers 25 gekoppelt sind.
verfügt.
F i g. 2 zeigt eine bekannte (DD-PS 1 08 618) Ausführung für das Eingaberegistcr 1, bei der die Gruppen 3 der
Flipflops 2 als Schieberegister ausgeführt sind.
Ein Ausführungsbeispiel der Gesamtanordnung mit dem Assozä iivspeicher, bei der sämtliche Assoziativwörter
gleichzeitig mit dem ersten Operanden logisch verknüpft werden, ist in F i g. 3 gezeigt. Hier weist der
eigentliche Assoziativspeicher zunächst einen Speicherblock 29 auf, der zur Suche und zur logischen Verknüpfung
mit einem Operanden als Matrix angeordnete normale, mit dem 1-aus-MCode arbeitei.de Speichermodule
32 für die erwähnten Informationen besitzt. Die Speichermodule 32 sind mit Speicherelementen 33 für die
Informationen bestückt und mit Adressenschienen 34 zum Zugriff und Einspeichern der Informationen, Ausgangsstellenschienen
35 zum Auslesen der Informationen, einem Eingang 36 zum Steuern des Schreibens der
Informationen, einem Eingang 37 zum Steuern des Lesens der Informationen, einem Informationseingang 38 und
Schreibstellenschienen 39 versehen. Ein Speicherelement 33 ist jeweils mit einer Schiene 34, einer Schiene 35 und
einer Schiene 39 und den Eingängen ?6: 37 und 38 elektrisch verbunden. Dabei hat der Speichermodul 32
ebensoviel Schienen 39 wie Schienen 35 und es gibt genausovie! Zeilen in der Matrix der Speichermodule 32, wie
das Eingaberegister 1 Flipflop-Gruppen 3 hat. Die Speichermodule 32 können als integrierte Schaltungen
ausgeführt werden (vgl. z.B. US-PS 36 11 318). Die Adressenschienen 34 der Speichermodule 32 in jeder
Matrixzeile sind über Abfrageschienen 30 an den Ausgängen des entsprechenden Abfragedecodierers 14 angeschlossen.
Gemäß der Erfindung schließt der Speicherblock 29 noch Modulo-2-Addierer 40 zur Steuerung der Schreibstellenschienen
39 der Speichermodule 32 ein. Diese letzteren sind dabei in den einzelnen Matrixzeilen zu
Speichermodulpaaren A. B mit je zwei Speichermodulen 32 vereinigt. Die Ausgangsstellenschienen 35 des einen
Speichermoduls 32Λ der einzelnen Speichermodulpaare sind jeweils mit den ersten Eingängen 41 der Modulo-2-Addierer
40 verbunden, deren Ausgänge an den gleichnamigen Schienen 39 des anderen Speichermoduls 32ß
angeschlossen sind. Die zweiten Eingänge der Modulo-2-Addierer 40 in den einzelnen Matrixzeilen, die Informationssteuereingänge
38, Schreibsteuereingänge 36 und Lesesteuereingänge 37 der Speichermodule 32 liegen
sämtlich an den entsprechenden Ausgängen des Operationsdecodierers 25, dessen Eingänge an die Ausgänge
der entsprechenden Flipflops 2 des Eingaberegisters 1 angeschlossen sind.
Eine Weiterbildung der Anordnung mit einem Assoziativspeicher, bei der auch die arithmetische Addition
(und damit auch auf diese zurückführbare andere, z. B. Subtraktion durch Addition des komplementären Wertes)
durchführbar sind, ist in Fig.4 dargestellt Hier weist der Assoziativspeicher ebenfalls einen Speicherblock 29
auf, der genauso wie beim vorstehenden Ausführungsbeispiel gemäß Fig.3 zur Suche von und logischen
Verknüpfung mit Datenwörtern in Form einer Matrix angeordnete normale Speichermodule 32 (F i g. 4) besitzt.
Die Speichermodule 32 sind mit Speicherelementen 33 für die Informationen bestückt und mit Adressenschienen
34 zum Zugriff und Einspeichern der Informationen sowie Ausgangsstellenschienen 35 zum Auslesen der
Informationen versehen. Ein Speicherelement 33 ist jeweils mit einer Schiene 34 und einer Schiene 35 elektrisch
verbunden. Dabei ist die Zeilenzahl der Matrix der Speichermodule 32 gleich der Anzahl der Flipflopgruppen
des Eingaberegisters 1. Darüber hinaus weist der Speicherblock 29 Detektoren 43 zur Anzeige des Speicherplatzes
der gesuchten Information in Form einer bestimmten Bitkombination auf, deren Eingänge immer an den
jeweiligen Ausgangsstellenschienen 35 der adressierbaren Speichermodule 32 der einzelnen Matrixspalten
angeschlossen sind. Ein ebenfalls in die Schaltung eingehendes Ausgaberegister 44 zur Aufnahme und Bereithal-
S5 tung der aus den Speichermodulen 32 der einzelnen Matrixspalten gelesenen Informationen hat Flipflops 45
entsprechend der Anzahl der Flipflops 2 des Eingaberegisters 1, die entsprechend der Anzahl der Flipflop-Gruppen
3 des Eingaberegisters 1 in Gruppen 46 eingeteilt sind. Der Speicher enthält noch über mehrere Eingänge
verfügende ODER-Glieder 47, deren Ausgänge mit den Eingängen der entsprechenden Flipflops 45 des Ausga-
24 49 147
beregisters 44 und deren eine Eingänge 48 jeweils mit den Ausgangsstellenschienen 35 der Speichermodule 32 |
der entsprechenden Matrixzeüe verbunden sind. Der Speicherblock 29 hat auch zusätzliche Koinzidenzgatter
49, die je nach der Zahl der Flipflopgruppen 3 des Eingaberegisters 1 zu Koinzidenzgatter-Gruppen 50 mit je
zwei Koinzidenzgattern 49 vereinigt sind. Der erste Eingang 51 des ersten und zweiten Koinzidenzgatters 49 der
einzelnen Koinzidenzgatter-Gruppen 50 sind an den nichtinvertierten 10 und invertierten Ausgang 11 der
entsprechenden Flipflops 2 des Eingaberegisters 1, der zweite Eingang 52 jeweils an den entsprechenden
Ausgang des Operationsdecodierers 25 und der Ausgang an den anderen Eingang 53 der entsprechenden
OWSR-Glieder 47 gelegt. Nach einer Weiterbildung der Erfindung wird der Speicherblock 29 hier je nach der
Anzahl der Gruppen 3 von Flipflops 2 des Eingaberegisters 1 durch Schieberegister 54 zur Verschiebung der die
Ausgänge der Abfragedecodierer 14 belegenden Codierungen ergänzt. Die Schieberegister 54 haben Flipflops ι ο
55 je nach Anzahl der Ausgänge der Abfragedecodierer 14. Die Informationseingänge 56 des Flipflops 55 der
einzelnen Schieberegister 54 sind über die Schienen 30 an die gleichnamigen Ausgänge der entsprechenden
Abfragedecodierer 14, die Takteingänge 57 der Flipflops 55 der einzelnen Schieberegister 54 jeweils an den a
entsprechenden Steuerausgang 58 des Eingaberegisters 1 und die Ausgänge der Flipflops 55 des jeweiligen i
Schieberegisters 54 an die Adressenschienen 34 der Speichermodule 32 der entsprechenden Matrixzeüe angeschlossen.
Hierbei können die Gruppen 3 der Flipflops 2 des Eingaberegisters 1 als Schieberegister ausgeführt
werden, vgl. z. B. US-PS 36 33 114.
Die Gruppen 46 der Flipflops 45 des Ausgaberegisters 44 werden zweckmäßig als Schieberegister ausgeführt.
Die Funktion des Assoziativspeichers, bei dem eine bestimmte Operation gleichzeitig mit sämtlichen Assoziativwörtern
ausgeführt wird (F i g. 3), wird an Beispielen von logischen Operationen, wie sie sich in Speichermodulgruppen
(kurz Module genannt) und mit je zwei Speichermodulen 32 (d. h. die ungeraden Speichermodule 32
der oberen und der unteren Zeile in F i g. 3 gehören zu Speichermodulgruppen A, die geraden zu Speichermodulgruppen
B. wobei die Zählung der Speichermodule 32 von links nach rechts erfolgt), acht Adressenschienen
34 und vier Ausgangsstellcnschienen 35 abspielen, gezeigt.
Es sei nun unter Bezugnahme auf F i g. 3 gezeigt, wie sich die Invertierung der in der Speichermodulgruppe A
gespeicherten Menge von Wörtern schrittweise abwickelt. Alle Speicherelemente 33 der Speichermodulgruppe
B "ind vorher in den Eins-Zustand gebracht. In den Speichermodulen (A) 32 stehen die vier Dual-Code-Wörter
011, 010, 001, 000, die dort aber mit Einsen in einem Nullenfeld eingeschrieben sind. Der Schreibbetrieb der
Assoziativwörter in der Suchmerkmaleinheit der Anordnung und der Parallelsuchbetrieb (Abfrage) mit und
ohne Maskierung, wie sie in diesem Beispiel verwendet werden, sind ausführlich in der (bereits eingangs
genannten) DD-PS 1 08 618 (= DE-OS 23 57 654) beschrieben. Jedem dieser vier Wörter entspricht eine der
Ausgangsstellenschienen des Speichermoduls A, d.h. eine der Spalten binärer Speicherelemente 33 in der
folgenden Tabelle 1 unter dem Wort »Modul Λ«, welche Speicherelemente einer der Schienen 35 und 39 dieses
Speichermoduis A entsprechen. Der Abfragedecodierer ΐ4, der mit d&n Adfessensehienen 34 dieses Speichennoduls
A verbunden ist. wandelt beim Schreiben den Code von allen vier Dual-Code-Wörtern in den »l-aus-8«-Code
um. Der Dual-Code des ersten Worts »011« wird also in den Code »00010000« umgewandelt, d. h. den Code
des ersten Wortes der Spalte des Speichermoduls A von links (bei Ablesung von oben nach unten in Oberein-Stimmung
mit der Numerierung der Ausgänge des Abfragedecodierers 14, die in den drei linken Spalten der
Tabelle 1 angegeben ist), der Code »010« des zweiten Worts in den Code »00100000«, der Code »001« des dritten
Worts in den Code »01000000« und der Code »000« des vierten Worts in den Code »10000000«, d. h. in den Code
bzw. die zweite, dritte und vierte Spalte des Speichermoduls A. Entsprechend wird auch die Information in der
Speichermodulgruppe B codiert. Der Code in der 2. Spalte der Tabelle 1 entspricht den erregten Ausgängen des
Abfragedecodierers 14, wenn an seinen Eingängen die Signale anliegen, die dem Abfragecode »000« und dem
Maskencode »110« entsprechen. Im übrigen ist die Funktionsweise der Rechenanlage mit der der Anlagen nach
der DD-PS 1 08 618 (= DE-OS 23 57 654) identisch und dort ausführlich dargelegt. Im Eins-Zustand befinden
sich also vier mit den vier Schienen 35 und vier Schienen 39 des Speichermoduls A verbundenen Speicherelemente
33. In das entsprechende Register 22, das hier als Maskenregister für die obigen Speichermodule 32
erscheint, wird die Codierung 110, in das entsprechende Register 3 die Codierung für den ersten Operanden (000)
eingegeben. Über den Ausgang 11 des die niedrigste Stelle des Registers 3 besetzenden Flipflops 2 und die
entsprechenden Eingänge der Koinzidenzgatter 7 einwirkend, bewirkt die Null das Rücksetzen der Flipflops 5
des entsprechenden Registers 6 in den Null-Zustand. Die bei den ODER-Gliedern 15 eingangsseitig anstehende
Abfragecodierung 000 und Maskencodierung 110 bewirken, daß die vier geradzahligen Ausgänge 000,010,100,
110 des entsprechenden Abfragedecodierers 14 und die an diese angeschlossenen entsprechenden Schienen 34
der beiden Speichermodule erregt werden. Es erscheint somit ein -j- -aus-N-Codewort als Funktion der Maskencodierung
und der Codierung des ersten Operanden.
24 49 147
Ausgänge des
Abfragedecodierers 14
Abfragedecodierers 14
Modul A
0 1 0 1 — Schienen 35
Modul B
(vor Einschreiben)
Modul B
(nach Einschreiben)
000 1
001 0
010 1
011 0
100 1
101 0
110 1
111 0
0 0 0 1 1111
0 0 10 1111
0 10 0 1111
10 0 0 1111
0 0 0 0 1111
0 0 0 0 1111
0 0 0 0 1111
0 0 0 0 1111 Schienen 39 — 0 1 0 1
10 10 1111
0 1 0
1 1
1 0
1 1
1 0
1 1
1 0
1 1
1 0
1 1
An den Eingang 37 des Speichermoduls A wird ein das Lesen freigebendes Signal (z. B. logische Null), an den
Eingang 36 des Moduls B ein das Schreiben freigebendes Signal (z. B. logische Eins), an die Eingänge 37 der
beiden Speichermodule ein den Zugriff freigebendes Signal und an den Eingang 38 des Speichermoduls B ein
NuH-Si^nä! "sieben. Es erscheint die sus^sJesenc Si^nslkombinäticn QlQl suf den Schienen 35 des Sncichcnnoduls
A. Die Eingänge 42 der Modulo-2-Addierer 40 des Speichermoduls B führen ein Null-Signal, weshalb die
Signalkombination 0101 zu den Schreibschienen 39 dieses Speichermoduls durchgeschaltet und Nullen in die
Kreuzungen der 2. und 4. Stellenschiene 39 mit den geradzahligen Adressenschienen 34 des Speichermoduls B
eingeschrieben werden. Es werden somit dort Nullen eingeschrieben, wo eine Eins auf der Schiene 39 steht und
auch ein Ausgang des Abfragecodierers erregt ist.
Im folgenden Takt der Invertierung wird die Codierung im Register 3 um einen Schritt verschoben —000,
ebenfalls erfährt die Codierung im Register 22 eine zyklische Verschiebung —101, so daß es zur Erregung der
Ausgänge 000, 001, 100, 101 des Abfragedecodierers 14 kommt. Nullen werden in den Speichermodul B in
gleicher Weise wie im ersten Takt eingeschrieben, d. h„ einen Null-Zustand nehmen die an den Kreuzungen der
erregten Schienen 34 und 39 stehenden Speicherelemente 33 an.
Ausgänge des
Abfragedecodierers
Abfragedecodierers
Modul A
0 0 11
0 0 11
Schienen 35
Modul B
(vor Einschreiben)
Moduli
(nach Einschreiben)
000 | 1 |
001 | 1 |
010 | 0 |
011 | 0 |
100 | 1 |
101 | 1 |
110 | 0 |
111 | 0 |
0 0 0 1
0 0 10
0 10 0
10 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
1 0 | 0 |
1 1 | 1 |
1 0 | 0 |
1 1 | 1 |
1 0 | 0 |
1 1 | 1 |
1 0 | 0 |
1 1 | 1 |
10 0 0
0 0
1 0 1 1
0 0 0
0 ö
1 0 1 1
Schienen 39 — 0 0 1 1
Im dritten Takt stellen sich infoige der Verschiebungen im Register 3 die Codierung 000, im Register 22 die
Codierung 011 ein. Erregt werden jetzt die Ausgänge 000, 001, 010, 011 des Abfragedecodierers 14. Das
Nulleinschreiben erfolgt ähnlich wie oben.
50 Tabelle 3 | Modul Λ | Schienen 39 | Modul B | Modul ß |
Ausgänge des | 1 1 1 I—Schienen35 | (vor Einschreiben) | (nach Einschreiben) | |
Abfragedecodierers | 0 0 0 1 | 10 0 0 | 0 0 0 0 | |
55 000 1 | 0 0 10 | 110 0 | 0 0 0 0 | |
001 1 | 0 10 0 | 10 10 | 0 0 0 0 | |
010 1 | 10 0 0 | 1111 | 0 0 0 0 | |
011 I | 0 0 0 0 | i 0 0 0 | 10 0 0 | |
100 0 | 0 0 0 0 | 110 0 | 110 0 | |
60 101 0 | 0 0 0 0 | 10 10 | 10 10 | |
110 0 | 0 0 0 0 | 1111 | 1111 | |
111 0 | — 1111 | |||
Im vierten Takt wird in das Register 3 die Codierung \ 11 (die invertierte Codierung 000) eingeschrieben, die
Codierung im Register 22 wird weiter zyklisch verschoben. Nun steht dort die Bitkombination 110. Dabei
werden die Ausgänge 001, 011, 101, 111 des Abfragedecodierers 14 erregt Im fünften Takt kommen die
24 49 147
Ausgänge O)O, 011, 110, 1111 irrt sechsten die Ausgänge 100, 101,110, 111 des Abfragedecodierers an die Reihe.
Arn Ende enthält der Speichermodul S nach dem sechsten Takt folgende Information:
Moduls
(nach dem sechsmaligen Einschreiben)
0 0 0 0
0 0 0 0 !0
0 0 0 0
0 0 0 0
10 0 0
0 10 0
0 0 10
0 0 0 1
Das Zustandekommen dieser Information läßt sich zusätzlich mit Hilfe der Tabelle 4a verfolgen:
Tabelle 4a ^
Beispiel 1, Invertierung
Takt 1
25
Register 3 000 000 000 111 111 111
Register 6 000 000 000 111 111 111
Register 22 110 101 011 110 101 011
Ausgang— 1010 1100 Uli 0101 0011 0000
Decod.14*) 1010 1100 0000 0101 0011 1111
Modules 0101 0011 1111 1010 1100 0000
Modul Ö42 0 0 0 0 0 0
*) Die Binärziffern, von links nach rechts gelesen, geben die Ausgangssignale des Decodierers 14 von oben nach unten an.
Hoc ir. TrtUöHn Λ alnnalranann Cn/tarnuknlc .O* .« klnnra- \/n»cnUl.".Knn1..nn »U^UUa/latiton^ mi* Αατ\ U/Äi**ö«i
"-'"" '·« ■ «tr>-«n» -r x.tii£v»»i ugviiv s^l luv* g\»u-l IU »I, ItI Ullialvl Tu1OvlllUJ3UIUI15 g IvWv.ll L»v.viV.vl ivl ixJ «in* uwii ,τ x^i wt ii
100, 101, 110, 111. Diese letzteren aber sind die Invertierung derjenigen Wörter, die in der 1-aus-N-Code
umgeschlüsselten Form ursprünglich im Speichermodul A standen.
Das Lesen von Wörtern aus dem Modul A in den Modul B im direkten Code verläuft analog, nur speist der
Ausgang des Operationsdecodierers 25 die zweiten Eingänge 42 der Modulo-2-Addierer 40 des Speichermoduls
B nicht mit Null, sondern mit Eins, weshalb die über die Schienen 35 des Speichermoduls A anliegende
I nformation zu den Schienen 39 des Speichermoduls B invertiert gelangt.
Die Äquivalenz- oder Antivaienzverknüpfung (Addition modulo 2) des ersten Operanden mit den im Speichermodul
A eingespeicherten Wörtern erscheint hier als stellenweise Invertierung oder Umschreibung im
direkten Code, d. h„ es werden nebeneinander beide im vorliegenden Beispiel anfangs beschriebene Operationen
ausgeführt Ist die jeweilige Stelle des im direkten bzw. inversen Code dargestellten Operanden im Register 3 mit
einer Eins bzw. Null belegt, so wird die entsprechende Stelle der einzelnen mit dem Operanden zu verknüpfenden
Wörter bei der Aquivalenzverknüpfung im direkten, bei der Antivalenzverknüpfung im inversen bzw. bei
der ersten Verknüpfungsart im inversen, bei der zweiten im direkten Code aus dem Speichermödul A in den so
Speichermodul B geschrieben. Wechselt die Eins auf Null, so liegen in den beiden Fällen die umgekehrten
Verhältnisse vor.
Es folgt ein Beisp-el einer Addition modulo 2.
Es sei in das Register 3 die Bitkombination 101 als der erste Operand eingegeben, der Speichermodul A
enthalte dieselbe Information wie im Beispiel 1. Der Inhalt des Registers 22 wechselt genauso wie im vorhergehenden
Beispiel. Im vierten Takt wird ins Register 3 der invertierte erste Operand, d. h. die Codierung 010,
eingelesen. Die einzelnen Zustände, die der Speichermodul B von Takt zu Takt annimmt, sind folgende:
85
24 49 147
0011 | 0011 | 0010 | 0010 | 0000 |
0001 | 0001 | 0001 | 0001 | 0000 |
1111 | 1111 | 1010 | 0000 | 0000 |
0101 | 0101 | 0101 | 0000 | 0000 |
0011 | 0011 | 0010 | 0010 | 0010 |
0001 | 0001 | 0001 | 0001 | 0001 |
1111 | 1111 | 1010 | 1000 | 1000 |
0101 | 0101 | 0101 | 0100 | 0100 |
ModuM Modulß
TaktO Taktl Takt 2 Takt 3 Takt 4 Takt 5 Takt 6
5 ~
0 0 0 1 1111 1111
0 0 10 1111 0101
0 10 0 1111 1111
10 0 0 illl OiOl
10 0 0 0 0 1111 1111
0 0 0 0 1111 0101
0 0 0 0 1111 1111
0 0 0 0 1111 0101
Die einzelnen Zwischenschritte ergeben sich aus der nachfolgenden Tabelle 5a:
Tabelle 5a
Beispiel 2, Addition Modulo 2
— ~ ■
Takt
12 3 4 5 6
Register 3 101 010
Register6 111 000 111 000 111 000
Register 22 110 101 011 110 101 011
Ausgang-* 0101 1100 0000 1010 0011 1111
Decod.l4#) 0101 1100 Uli KHO 0011 0000
Modul A3S 1010 0011 0000 0101 1100 1111
Modul B42 0 10 0 10
Modul B39 1010 1100 0000 0101 0011 1111
Die Umsetzung des Ergebnisses des Taktes 6 in den Dual-Code würde zeigen, daß die ursprünglichen im
Dual-Code vorliegenden und umgeschlüsselten im 1-aus-iV-Code im Speichermodul A stehenden Wörter mit
dem Operanden »101« nach der Funktion »Antivalenz« verknüpft sind.
Im Speichermodul A stehen nach wie vor die Wörter aus dem Beispiel 1. Die Codierung für den ersten
Operanden im Register 3 sieht wie 1 i 0 aus und wird im vierten Takt invertiert, wechselt also auf 001. Sonst ist der
Betrieb bei den Registern 3,6 und 22 gleich dem im Beispiel 1. Ein Unterschied besteht darin, daß bei einer Null
bzw. Eins an der jeweiligen Stelle des Operanden im direkten bzw. inversen Code der Zugriff zu dem Speichermodul
A im entsprechenden Takt durch Abgabe eines Sperrsignals an den Eingang 37 dieses Speichermoduls
gesperrt wird. An die Eingänge 42 der Modulo-2-Addierer 40 des Speichermoduls B aber muß der Operationsdecodierer
bei dem direkten Code des Operanden eine Null, bei dem inversen eine Eins schicken. Bei einer Eins
bzw. Null an der jeweiligen Stelle des Operanden im direkten bzw. inversen Code wird im direkten Code aus
dem Speichermodul A in den Speichermodul B geschrieben. Nachstehend sind die Zustände des Speichermoduls
B in den einzelnen Takten gezeigt:
so Tabelle 6
Modul A Modul B
TaktO Taktl Takt 2 Takt 3 Takt 4 Takt 5 Takt 6
00 0 1 1111 1111 1111 1111 Uli 0011 0011
0 0 10 0 10 0 10 0 0
0 0 0 0 60 0 0 0 0 0 0 0 0 0 0 0 0
Ergänzend hierzu zeigt die Tabelle 6a einzelne Zwischenergebnisse:
1111 | 1111 | 1111 |
1111 | 1111 | 1100 |
1111 | 1111 | 1100 |
1111 | 1111 | 1111 |
1111 | 1111 | 1111 |
1111 | 1111 | 1100 |
1111 | 1111 | 1100 |
Uli | 0000 | 0000 | 0000 |
UOO | UOO | UOO | UOO |
UOO | 0000 | 0000 | 0000 |
0000 | 0000 | 0000 | 0000 |
0000 | 0000 | 0000 | 0000 |
0000 | 0000 | 0000 | 0000 |
0000 | 0000 | 0000 | 0000 |
24 49 147
Tabelle 6a | Takt | 2 | 3 | 4 | 5 | 6 |
Beispiel 3, »UND« | 1 | 001 | ||||
110 | 111 | 111 | 111 | 000 | 000 | |
000 | 101 | 011 | 110 | 101 | 011 | |
Register 3 | 110 | 0011 | 0000 | 0101 | 1100 | 1111 |
Register 6 | 1010 | 0011 | 1111 | 0101 | 1100 | 0000 |
Register 22 | 1010 | 1100 | 0000 | 0000 | 0011 | 1111 |
Ausgang —► | 0000 | 1 | 1 | 1 | 1 | 1 |
Decod. 14*) | 0 | 0011 | 1111 | 1111 | 1100 | 0000 |
Modul Ais | 0000 | |||||
Modul Bn | ||||||
Modul Bia | ||||||
Die logische Addition (ODER-Funktion) hingegen verläuft mit dem Unterschied, daß eine Eins im direkten
Code des ersten Operanden das Lesen aus dem Speichermodul A in den Speichermodul B sperrt, eine Null ein
Schreiben im direkten Code aus jedem in diesen bewirkt. Operationen, die es sonst noch gibt, lassen sich in die
obigen zerlegen. Bei mehreren nacheinander auszuführenden logischen Operationen werden dieselben abwechselnd
an dem Inhalt der Speichermodule A und B durchgeführt. Sollten Wörter mit mehr Stellen zur logischen
Verarbeitung kommen, so nimmt man einfach mehr Zeilen der Matrix der Speichermodule 32. Die Anzahl der zu
verarbeitenden Assoziativwörter vergrößert sich mit der Vermehrung der Spalten der Matrix der Cpeichermodule32
Es läßt sich zeigen, daß die Anzahl der Verarbeitungstakte gleich 2 · Iog2 m ist. Hierbei bedeutet m die Anzahl
der Ausgänge des Decodierers 14. Bei /n=8, wie bei den bisherigen Beispielen, wird daraus für die Anzahl der
Verarbeitungstakte 6. f
Schließlich sei die Funktion des Assoziativspeichers für die arithmetische Addition nach F i g. 4 am Beispiel 4
näher erläutert.
Es seien zwei binäre Wörter 101 und 011 gegeben. Das erste Wort ist in das Register 3 eingebracht. Das zweite 30 f
Wort ist in einem der Speichermodule 32 eingespeichert. Dort ist es von einer Codierung 00001000 dargestellt, f
die in den an einer der Schienen 35 des betreffenden Speichermoduls liegenden Speicherelementen 33 eingeschrieben
ist. Es stehen dort nämlich die Eins im Element 33 auf der Kreuzung der betreffenden Schiene 35 und
der Adressenschiene 34 mit der Nummer 011, die Nullen in den übrigen mit der betreffenden Schiene 35
verbundenen Speicherelementen 33. In das Register 6 wird die Codierung 111 beispielsweise von den Ausgängen
10 und 11 des Registers 3 über die entsprechenden Gruppen 8 der Koinzidenzgatter 7 unter Steuerung vom
Operationsdecodierer 25 her übernommen. In das Register 22 wird die Maske 110 eingegeben. Die Signale von
den Ausgängen der Register 6 und 22 gelangen über die Gruppen 16 der ODER-Glieder 15 beim entsprechenden
Abfragedecodierer 14 eingangsseitig an, worauf die Ausgänge 111,101,0! 1,001 dieses Abfragedecodierers
14 erregt werden. Die auf den Ausgängen des Abfragedecodierers 14 stehende Codekombination 10101010
erscheint auch an den Eingängen 56 der Flipflops 55 des Registers 54. Sie wird im Register 54 durch Einspeisung |
von fünf vom Ausgang 58 des Registers 3 an die Eingänge 57 der Flipflops 55 kommenden Impulsen um fünf ''
Stellen zyklisch verschoben. Das Register 3 muß hier nach der vorstehend genannten Patentschrift, US-PS
3b 33 114, ausgeführt sein. Nun führen die Ausgänge der Flipflops 55 die Signalkombination 01010101. Sie §
bedeutet, daß die nullte, zweite, vierte und sechste Schiene 34 der einzelnen Speichermodule 32 erregt werden. 45 |
Auf derjenigen Schiene 35 des entsprechenden Speichermoduls 32, in deren Speicherelementen der zweite
Summand OOOOIOOO eingespeichert ist. erscheint das Null-Signal als Belegung der ersten Stelle der Summe. Es
wird vom ODER-Glied 47 zum Eingang des Registers 46 durchgeschaltet. (Dies geschieht nur, wenn alle vier
Schienen eine Null führen bzw. die Detektoren 43 eine Null anzeigen.) Im nächsten Schritt wird die im Register
22 stehende Codierung zyklisch verschoben. Das Ergebnis ist die Maske 101. An den Ausgängen des Abfragedecodierers
14 erscheint die Codierung 11001100. die ebenfalls um fünf Stellen im Register 54 verschoben wird und
nun wie 01100110 aussieht. Darauf führt die betreffende Schiene 35 wieder eine Null als Belegung für die zweite
Stelle der Summe. Im dritten Takt erfährt der Inhalt des Registers 22 noch eine zyklische Verschiebung, welche
die Maske 011 liefert. Die Ausgangssignalkombination des Abfragedecodierers ist jetzt 11110000, nach der
Verschiebung um fünf Stellen im Register 54 wechselt sie auf 10000111. Das Ergebnis ist wiederum eine Null auf
der betreffenden Schiene 35. So erhält man die Belegung für die dritte Stelle der Summe. Man benötigt also drei
Takte bzw. braucht nur dreimal den Assoziativspeicher anzusprechen, um zwei dreistellige Wörter miteinander
zu addieren. Wörter größerer Länge werden in Gruppen mit mehreren Stellen (hier mit je drei Stellen) eingeteilt.
Die Addition innerhalb einer jeden Gruppe, mit der man bei der Addition von volistelligen Wörtern ohne
Berücksichtigung des Übertrags von einer Gruppe zur anderen zu tun hat, beansprucht so vie! Takte, wie es eo
Stellen in der Gruppe gibt. Der Übertrag wird der nächsten Gruppe folgenderweise mitgeteilt. Diejenigen
Flipflops 55, deren Nummern höher als die im Register 3 eingegebene Zahl sind (das sind im vorliegenden
Beispiel die Nummern 111, HO, 101, 100), werden in den Eins-Zustand gesetzt. Die Ausgangscodekombination
11110000, welche sich beim Register 54 einstellt, bedeutet die Erregung der vierten, fünften, sechsten und siebten
Schiene 34 der einzelnen Speichermodule 32. Auf der betreffenden Schiene 35 muß dann ein Übertragssignal
erscheinen. Im vorliegenden Beispiel ist das eine Null, d. h., der vorliegenden Gruppe wurde kein Übertrag
mitgeteilt. Ein Übertragssigna! gelangt von der Schiene 35 über das ODER-Glied 47 zum Eingang des Registers
46, von dessen Ausgang es an den Zähleingang des Registers 3 der nächsthöheren Gruppe gegeben wird. Im
24 49
ungünstigsten Fall erfordert die Übertragsbildung einen Takt weniger, als es Gruppen gibt
Wie auch bei normalen Addierern wird die Subtraktion in Form einer Addition mit komplementärem Subtrahenden
durchgeführt Die Multiplikation bzw. Division erscheint als eine Folge von Additionen bzw. Subtraktionen.
5 Die Erfindung gestattet, das Leistungsvermögen bishenger Anlagen für die Ausführung von arithmetischen
und logischen Operationen um eine bis zwei Größenordnungen zu verbessern.
Hierzu 3 Blatt Zeichnungen
ti
Claims (3)
1. Anordnung zum wahlweisen Durchführen der logischen Operationen UND, ODER, Antivalenz, Äquivalenz
und Invertierung, der arithmetischen Addition und der Suche nach mehrstelligen Assoziativwörtern
mit einem Eingaberegister zum Speichern eines ersten Operanden im Dual (= 8421)-Code, das je nach der Anzahl der Bits der Codierung des ersten Operanden in Gruppen eingeteilte Flipflops aufweist,
mit einem Abfrageregister zum Speichern einer Abfragecodierung im Dual-Code, das eine der Anzahl der Flipflops des Eingaberegisters entsprechende Anzahl von je nach der Flipflopgruppenanzah! des Eingaberegisters in Gruppen eingeteilten Flipflops aufweist,
mit einem Eingaberegister zum Speichern eines ersten Operanden im Dual (= 8421)-Code, das je nach der Anzahl der Bits der Codierung des ersten Operanden in Gruppen eingeteilte Flipflops aufweist,
mit einem Abfrageregister zum Speichern einer Abfragecodierung im Dual-Code, das eine der Anzahl der Flipflops des Eingaberegisters entsprechende Anzahl von je nach der Flipflopgruppenanzah! des Eingaberegisters in Gruppen eingeteilten Flipflops aufweist,
ίο mit Koinzidenzgattergruppen mit je zwei Koinzidenzgattern in der Flipfiopanzahl des Eingaberegisters
entsprechender Anzahl, in denen der erste Eingang der ersten und der zweiten Koinzidenzgatter an die
nicht-invertierten Ausgänge bzw. die invertierten Ausgänge der ersten Flipflops der gleichnamigen Gruppen
des Eingaberegisters und der Ausgang der ersten und der zweiten Koinzidenzgatter an die nicht-invertierten
Eingänge bzw. die invertierten Eingänge der gleichnamigen Flipflops des Abfrageregisters gelegt sind,
mit Abfragedecodierern zum Umsetzen des Abfrageax'-es in den 1 -aus-N-Code,
mit ODER-GHedgruppen mit je zwei ODER-Gliedern in der Anzahl der Flipflops des Eingaberegisters
entsprechender Anzahl, in denen der erste Eingang der ersten und der zweiten ODER-Glieder an den
nicht-invertierten bzw. an den invertierten Ausgang der gleichnamigen Flipflops des Abfrageregiste-s und
der Ausgang an den Eingang der zugeordneten Abfragedecodierer gelegt sind,
mit einetn Maskenregister zum Aufnehmen einer Maskeninformation im Dual-Code für die Maskierung von
für die jeweilige Suche indifferenten Binärstellen der Abfragecodierung, das eine der Flipflopanzah! des
Eingaberegisters entsprechende Anzahl von Flipflops aufweist, die je nach der Anzahl der Flipflopgruppen
des Eingaberegisters zu Schieberegistern geschaltet sind und in dem der nicht-invertierte Ausgang der
Flipflops mit dem zweiten Eingang der ODER-Glieder der gleichnamigen ODER-GIiedergruppen verbun-
den ist,
mit einem Operationsdecodierer zum Steuern der Übertragung von Informationen über den Ausgangszustand
der Flipflops zum Eingang der gleichnamigen Flipflops des Abfra^eregisters im direkten oder im
inversen Code je nach der laufenden logischen Operation, in dem der erste und der zweite Ausgang an den
zweiten Eingang der ersten bzw. der zweiten Koinzidenzgatter gelegt sind, und
mit einem Speicherblock für eine assoziative Wortabfrage, der an die Ausgänge des Abfragecodierers
angeschlos/ene Abfrageschienen, an die Ausgänge des Operationsdecodierers angeschlossene Steuereingänge
und als Matrix geschaltete normale Speichermodule enthält, die ihrerseits Adressenschienen für einen
Zugriff zu und zum Linspeic.iern von Informationen und Ausgangsstellenschienen zum Auslesen der Infor- 3,
mationen aufweisen, wobei die Anzahl der Zeilen in der Speichermodulmatrix gleich der Anzahl der Flipflop- \ \
gruppen des Eingaberegisteri. ist und die Adressenschienen der adressierbaren Speichermodule in jeder §
Matrixzeile über die Abfrageschiene an die Ausgänge des gleichnamigen Abfragedecodierers angeschlossen
sind,
dadurch gekennzeichnet,
daß die Speichermodule (32) des Speicherblocks (29) Schreibsteuereingänge (36), Leseste^ereingänge (37),
daß die Speichermodule (32) des Speicherblocks (29) Schreibsteuereingänge (36), Leseste^ereingänge (37),
Informationseingänge (38) und Schreibstellenschienen (39) in der Anzahl der Ausgangsstellenschienen (35)
entsprechender Anzahl und Modulo-2-Addierer (40) zum Steuern der Schreibstellenschier.en aufweisen,
daß die Speichermodule (32) in den einzelnen Matrixzeilen zu Speichermodulgruppen (A, B) mit je zwei Speichermodulen vereinigt sind, in denen die Ausgangsstellenschienen (35) der jeweils ersten Speichermodule (32A) mit dem ersten Eingang (41) des mit seinem Ausgang an der gleichnamigen Schreibstellenschiene
daß die Speichermodule (32) in den einzelnen Matrixzeilen zu Speichermodulgruppen (A, B) mit je zwei Speichermodulen vereinigt sind, in denen die Ausgangsstellenschienen (35) der jeweils ersten Speichermodule (32A) mit dem ersten Eingang (41) des mit seinem Ausgang an der gleichnamigen Schreibstellenschiene
(39) des jeweiligen zweiten Speichermoduls (32B) liegenden Modulo-2-Addierers (40) verbunden sind, und
daß der zweite Eingang (42) der Modulo-2-Addierer (40) in den einzelnen Matrixzeilen und die Informaiionseingänge
(38), die Schreibsteuereingänge (36) und die Lesesteuereingänge (37) der Speichermoduie (32) mit i
den zugeordneten Ausgängen des Operationsdecodierers (25) verbunden sind, dessen Eingänge an den f
nicht-invertierten Ausgang der zugeordneten Flipflops (2) des Eingaberegisters (1) angeschlossen sind.
2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Flipflops (2) der Gruppen (3) des
Eingaberegisters (1) jeweils ein Schieberegister bilden.
3. Anordnung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß den Abfragedecodierern (14) jeweils
ein Schieberegister (54) in Entsprechung zu der Anzahl der das Eingaberegister (1) bildenden Flipflopgruppen
(3) zum Verschieben der die Ausgänge der Abfragedecodierer belegenden Codierungen nachgeschaltet
ist und daß die Flipflops der Schieberegister (54) in ihrer Anzahl der Anzahl der Ausgänge der Abfragedecodierer
(14) entsprechen und mit jeweils einem Informationseingang (56) über eine der Abfrageschienen (30)
an den zugeordneten Ausgang des gleichnamigen Abfragedecodierers (14), mit jeweils einem Takteingang
(57) an den zugeordneten Steuerausgang (58) des Eingaberegisters (1) und mit jeweils einem Ausgang an eine
der Adressenschienen (34) der Speichermodule (32) der gleichnamigen Matrixzeile gelegt sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU752181752A SU604033A1 (ru) | 1975-10-28 | 1975-10-28 | Ассоциативное запоминающее устройство |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2649147A1 DE2649147A1 (de) | 1977-05-26 |
DE2649147C2 true DE2649147C2 (de) | 1985-05-15 |
Family
ID=20634790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2649147A Expired DE2649147C2 (de) | 1975-10-28 | 1976-10-28 | Anordnung zum wahlweisen Durchführen von logischen und arithmetischen Operationen |
Country Status (8)
Country | Link |
---|---|
US (1) | US4069473A (de) |
JP (1) | JPS599992B2 (de) |
DD (1) | DD129593A1 (de) |
DE (1) | DE2649147C2 (de) |
FR (1) | FR2330114A1 (de) |
GB (1) | GB1527683A (de) |
HU (1) | HU178795B (de) |
SU (1) | SU604033A1 (de) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4257110A (en) * | 1977-04-19 | 1981-03-17 | Semionics Associates, Inc. | Recognition memory with multiwrite and masking |
US4376974A (en) * | 1980-03-31 | 1983-03-15 | Ncr Corporation | Associative memory system |
DE3727846A1 (de) * | 1987-08-20 | 1989-03-02 | Vmei Lenin Nis | Assoziative operations-speichereinrichtung |
IT1233215B (it) * | 1989-04-21 | 1992-03-20 | Ist Trentino Di Cultura | Rete elaborativa a nodi, procedimento e macchine per la configurazionedella stessa e relativi impieghi |
US5072422A (en) * | 1989-05-15 | 1991-12-10 | E-Systems, Inc. | Content-addressed memory system with word cells having select and match bits |
GB2533644B (en) | 2014-12-24 | 2017-12-06 | Acergy France SAS | Improving the bending behaviour of mechanically-lined rigid pipe |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SU499762A1 (ru) * | 1972-11-21 | 1977-08-25 | Предприятие П/Я М-5769 | Ассоциативное запоминающее устройство |
US3913075A (en) * | 1972-11-21 | 1975-10-14 | Vitaliev Georgy | Associative memory |
JPS5927037B2 (ja) * | 1973-11-21 | 1984-07-03 | ゲオルギイ ヴイクトロヴイチ ヴイタリエフ | 連想記憶装置 |
US3997882A (en) * | 1975-04-01 | 1976-12-14 | Burroughs Corporation | Content addressable memory system employing charge coupled device storage and directory registers and N/(1-H) counter refresh synchronization |
-
1975
- 1975-10-28 SU SU752181752A patent/SU604033A1/ru active
-
1976
- 1976-10-13 GB GB42508/76A patent/GB1527683A/en not_active Expired
- 1976-10-13 HU HU76VI1095A patent/HU178795B/hu not_active IP Right Cessation
- 1976-10-14 US US05/732,202 patent/US4069473A/en not_active Expired - Lifetime
- 1976-10-26 DD DD7600195460A patent/DD129593A1/de unknown
- 1976-10-28 JP JP51129978A patent/JPS599992B2/ja not_active Expired
- 1976-10-28 DE DE2649147A patent/DE2649147C2/de not_active Expired
- 1976-10-28 FR FR7632599A patent/FR2330114A1/fr active Granted
Also Published As
Publication number | Publication date |
---|---|
SU604033A1 (ru) | 1978-04-25 |
JPS599992B2 (ja) | 1984-03-06 |
FR2330114B1 (de) | 1978-12-15 |
DD129593A1 (de) | 1978-01-25 |
US4069473A (en) | 1978-01-17 |
GB1527683A (en) | 1978-10-04 |
FR2330114A1 (fr) | 1977-05-27 |
HU178795B (en) | 1982-06-28 |
DE2649147A1 (de) | 1977-05-26 |
JPS5275137A (en) | 1977-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2364408C3 (de) | Schaltungsanordnung zur Adressierung der Speicherplätze eines aus mehreren Chips bestehenden Speichers | |
DE2803989C2 (de) | Digitaldatenspeicher mit wahlfreiem Zugriff | |
DE2007787A1 (de) | Datenspeichersystem | |
DE2359178A1 (de) | Speicheranordnung | |
DE2062211A1 (de) | Speicheranordnung mit gleichzeitigem Zugriff auf n Speicherstellen | |
DE2502910A1 (de) | Informations-anordnungseinrichtung | |
DE2259725B2 (de) | Funktionsspeicher aus assoziativen Zellen mit mindestens vier Zuständen | |
DE2364254B2 (de) | Schaltungsanordnung fuer datenverarbeitende geraete | |
DE2062228A1 (de) | Datenverarbeitungssystem mit gleich zeitigem Zugriff auf mehrere Speicher stellen | |
DE2423265C3 (de) | Optimierende Rechenmaschine | |
DE3144563C2 (de) | ||
DE69122860T2 (de) | Multiplexer | |
DE2357654C2 (de) | Assoziativspeicher | |
DE2649147C2 (de) | Anordnung zum wahlweisen Durchführen von logischen und arithmetischen Operationen | |
DE2946119A1 (de) | Datenverarbeitungseinrichtung | |
DE69206604T2 (de) | Schnelle Addierkette. | |
DE2946633C2 (de) | ||
DE2265696C2 (de) | Rechenanordnung | |
DE3016738C2 (de) | Verfahren zur Übertragung eines Bitmusterfeldes in einen Speicher und Schaltungsanordnung zur Ausübung des Verfahrens | |
DE3319349A1 (de) | Halbleiter-speichervorrichtung | |
DE1449584A1 (de) | Anordnung zur UEbertragung von Daten einer Loch- oder Magnetkarte in eine Datenverarbeitungsanlage oder umgekehrt | |
DE2913670C2 (de) | Informationsverarbeitungseinrichtung | |
DE2945160A1 (de) | Stack-speicher | |
EP0771463B1 (de) | Verfahren und vorrichtung zum speichern und drehen von bitmustern | |
DE3340078A1 (de) | Prozessor-zelle zur verwendung in einer aus derartigen zellen gebildeten anordnung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8380 | Miscellaneous part iii |
Free format text: AUF SEITE 2-10 DAS AKTENZEICHEN "24 49 147" BERICHTIGEN IN "26 49 147" |
|
8339 | Ceased/non-payment of the annual fee |