DE1931966B2 - Datenverarbeitungsanlage mit Assoziativspeichern - Google Patents
Datenverarbeitungsanlage mit AssoziativspeichernInfo
- Publication number
- DE1931966B2 DE1931966B2 DE1931966A DE1931966A DE1931966B2 DE 1931966 B2 DE1931966 B2 DE 1931966B2 DE 1931966 A DE1931966 A DE 1931966A DE 1931966 A DE1931966 A DE 1931966A DE 1931966 B2 DE1931966 B2 DE 1931966B2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- data
- word
- local
- control
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/28—Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/261—Microinstruction address formation
-
- 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
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Devices For Executing Special Programs (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
Bei herkömmlichen elektronischen Datenverarbeitungsanlagen werden häufig die Steuerspeicher zum
Speichern von Mikroinstruktionsfolgen oder ähnlichen Steuerworten benutzt, mittels denen das System
datenverarbeitende Funktionen ausführt (Steinbuch, Taschenbuch der Nachrichtenverarbeitung, 2.
überarbeitete Auflage 1967, Seite 1005). Üblicherweise
ist der Steuerspeicher ein Festwertspeicher, dessen Inhait naturgemäß nur geiesen werden kann. Die
Antwort des Speichers beim Abfragen und der Vorgang, der von den ausgelesenen Steuerwörtern ausgelöst
wird, ist daher begrenzt Man kann auch Steuerspeicher
mit veränderlichem Informationsinhalt bauen, wobei jedoch bei den heutigen Systemsteuertechtrtiken der
Datenwechsel Schwierigkeiten bereitet und die Anwendung dieser Möglichkeit auf genau definierte Fälle wie
die Einführung einer neuen Art des Befehlswortes oder der Instruktion in das System oder das Anlaufen
beschränkt Ein veränderlicher Steuerspeicher wird häufig auch lediglich als Hilfsspeicher für einen
Festwertspeicher verwendet.
Außerdem ist es durch US-PS 33 20 594 bekannt, Datenverarbeitungsanlagen mit assoziativen Speichern,
bestehend aus einem Kontroll- und einem Datenmodul, aufzubauen, die mit Hilfe von Funktionstabellen-Operationen
logische und arithmetische Operationen ausführen. Diese Datenverarbeitungsanlage hat jedoch den
Nachteil, daß das Datenmodul entweder in seiner Speicherkapazität beschränkt werden muß oder bei
größerer Kapazität in seiner Verarbeitungsgeschwindigkeit Daraus ergibt sich nur eine begrenzte
Einsatzmöglichkei t
Aus der FR-PS14 20 611 ist eine Datenverarbeitunganlage
bekanntgeworden, die aus mehreren Assoziativspeichern besteht, die parallel geschaltet sind. Der
Steuerspeicher und der Arbeitsspeicher sind dabei ebenfalls als Assoziativspeicher ausgeführt.
Diese Parallelschaltung mehrerer Assoziativspeicher innerhalb einer Datenverarbeitungsanlage ermöglicht
zwar eine relativ hohe Verarbeitungsgeschwindigkeit, ist jedoch in der Anwendung wenig flexibel, insbesonde
35
45
h« re ist eine derartige Parallelschaltung durch die
Leitungsführung schlecht für die Herstellung in integrierter Technik geeignet, so daß keine Universalmoduln
mit Assoziativspeichern für Datenverarbeitungsanlagen wirtschaftlich auf dieser Basis hergestellt
werden können.
Durch die US-PS 31 99 085 ist es bekannt, logische und arithmetische Operationen durch geeignete Ansteuerung
von Funktionstabellen enthaltenden Speichern durchzuführen. Diese Lösung ist jedoch wenig
leistungsfähig und benötigt einen sehr hohen Aufwand an Speicherkapazität
Der Erfindung liegt deshalb die Aufgabe zugrunde, eine Datenverarbeitungsanlage mit einem assoziativen
Steuerspeicher und einem assoziativen Datenspeicher zu schaffen, die mit Hilfe von Funktionstabellen und
internen logischen Verknüpfungsmöglichkeiten trotz einheitlichem Aufbau der Hauptkomponenten der
Gesamtschaltung in der Anwendung sehr flexibel ist und sich insbesondere für die Herstellung in integrierter
Technik gut eignet
Diese Aufgabe wird erfindungsgemäß durch die im Patentanspruch angegebenen Merkmale gelöst
Die durch die Erfindung vorgeschlagene flexible Speicheranordnung ist für die Durchführung von
Funktionstabellen-Operationen vorteilhaft, da hierfür viele Speicherzugriffe erforderlich sind, die wegen der
besonderen Speicheranordnung zu keinen großen Zeitverlusten führen.
Ausführungsbeispiele der Erfindung werden nachfolgend anhand der Zeichnungen im einzelnen erläutert Es
zeigt
F i g. 1 schematisch einen Assoziativspeicher zur Verwendung in einem erfindungsgemäßen System,
F i g. 2 ein Blockdiagramm eines erfindungsgemäßen elektronischen Datenverarbeitungssystems,
F i g. 3 als Beispiel eine Funktionstabelle,
F i g. 4 ein Blockdiagramm eines anderen erfindungsgemäßen elektronischen Datenverarbeitungssystems
und
F i g. 5 eine Instruktionszähler-Funktionstabelle.
Der in F i g. 1 gezeigte Assoziativspeicher 1 soll hier nur allgemein beschrieben werden. Der Speicher umfaßt
ein Eingabe/Ausgabe-Register 2, ein Maskenregister 3 und mehrere Wortspeicher 4. Jeder Wortspeicher hat
einen primären (P) Wahltrigger 5 und einen sekundären (Sy) Wahltrigger 6. Bestimmte Stellen des Inhaltes des
E/A-Registers werden im Operationsdecoder 7 decodiert, um die Bit-, Wort- und Maskenlogik 8 zu steuern.
Die Grundoperation besteht wie gewöhnlich bei einem Assoziativspeicher im Suchen von Wortspeichern,
deren Inhalt in vorgegebenen Stellen steht, die auf den Inhalt derselben Stellen im E/A-Register paßt und dann
die Suchergebnisse zur Steuerung der Datenübertragung zwischen dem E/A-Register und den Wortspeicherstellen
benutzen. Die vorgegebenen Stellen werden mit Hilfe des Maskenregisters 3 ausgewählt. Die
Wortspeicher, welche Daten enthalten, die auf den Inhalt des E/A-Registers passen, werden durch Setzen
eines Wahltriggers markiert der zum Wortspeicher gehört und der gesetzte Trigger wird bei der Steuerung
der nachfolgenden Datenübertragung verwendet.
Die in dem zu beschreibenden Datenverarbeitungssystem verwendeten Assoziativspeicher weisen gegenüber
bisher gebräuchlichen typischen Speichern einige Veränderungen auf. Jeder Wortspeicher hat zwei
Wahltrigger 5 und 6 und eine Suchoperation kann zum Einschalten eines dieser beiden Trigger des passenden
Wortes führen. Außerdem ist eine Operation mit der Bezeichnung »Nächste« vorgesehen, durch welche die
Einschaltung des Ftimär- bzw. Sekundär-Wahltriggers
auf den entsprechenden Primär- oder Sekundärtrigger des benachbarten, vom E/A-Register weher entfernt
liegenden Wortspeichers übertragen wird. Es sind nur zwei Masken vorgesehen, d.h. nur zwei Sätze
vorbestimmter Stellen des E/A-Registers können zum Vergleich mit dem Inhalt derselben Stellen der
Wortspeicher gewählt werden. Selbstverständlich kann auch ohne Maske gearbeitet werden. Jeder Operationszyklus eines Assoziativspeichers wird in zv.-ei Unterzyklen
unterteilt, in deren erstem eine Suchoperation und/oder die »Nächsten-Operation ausgeführt wird und
in deren zweitem die Datenübertragung erfolgt Wenn der Inhalt von mehr als einem Wortspeicher mit dem
Inhalt des E/A-Registers 2 übereinstimmt, werden bei
einer Schreiboperation die Stellen des E/A-Registers 2, die bei der Suche nicht benutzt wurden, in jeden
passenden Wortspeicher geschrieben, während bei einer Leseoperation der Inhalt derselben Steilen
zusammen in das E/A-Register geschrieben wird, was effektiv einer ODER-Operation mit den übereinstimmenden
Wörtern gleichkommt Gleichzeitig mit einer Lese- oder Schreiboperation wird der Inhalt des
E/A-Registers 2 auf einer Sammelleitung 9 zur Verfügung gestellt
Von den in dem in F i g. 1 gezeigten Assoziativspeicher verfügbaren 72 möglichen Operationskombinationen
wird eine Gruppe von 16 Kombinationen in dem zu beschreibenden Datenverarbeitungssystem benutzt Die
Suchoperation nach übereinstimmenden Wörtern wird in der Beschreibung Wahloperation (S) genannt, die
Grundoperationen sind wie folgt definiert:
5 Wählen
N Nächste
R Lesen
W Schreiben
N Nächste
R Lesen
W Schreiben
0 keine Maske
1 Maske 1 verwenden
2 Maske 2 verwenden
P Primären Wahltrigger verwenden
Sy Sekundären Wahltrigger verwenden.
Sy Sekundären Wahltrigger verwenden.
4)
Die 16 Kombinationen sind folgende:
Operation 0: | S | N | IV | N | R | 2 | Sy | 55 | Sy |
Operation 1: | 5 | N | R | N | W | 0 | Sy | Sy | |
Operation 2: | S | W | N | W | 2 | Sy 50 | P | ||
Operation 3: | S | R | N | R | 2 | Sy | P | ||
Operation 4: | S | N | W | R | 1 | Sy | Sy bo | ||
Operation 5: | S | N | R | R | 1 | Sy | P | ||
Operation 6: | N | R | W | 1 | Sy | P | |||
Operation 7: | keine Operation | R | P | ||||||
Operation 8: | 5 | 1 | |||||||
Operation 9: | S | 1 | |||||||
Operation A: | 1 | ||||||||
Operation B: | 0 | ||||||||
Operation C: | 0 | ||||||||
Operation D: | 1 | ||||||||
Operation E: | S | 1 | |||||||
Operation F: | S | 1 | |||||||
Jede Operation ist durch die in der linken Spalte angegebene Zahl oder den Buchstaben gekennzeichnet.
Für eine auszuführende Operation wird die Zahl oder der Buchstabe auf den Operationsdecoder 7 in Form
eines Signals aus 4 Bits gegeben. Nachfolgend werden einige typische Operationen beschrieben.
Operation 0: Wahl, Nächste, Schreiben, Maske 2,
Sekundär.
Die Suche wird auf dem Wortfeld ausgeführt, das durch die Maske 2 als Kennzeichen definiert ist Die
Sekundär-Wahltrigger solcher Wörter, die hinter übereinstimmenden Wörtern stehen, werden gesetzt
Das Feld des E/A-Registers, welches bei der Wahloperation nicht benutzt wurde, wird in die
Wörter mit gesetzten Sekundär-Triggern geschrieben und außerdem auf der Sammelleitung 9
ausgegeben.
Operation 1: Wahl, Nächste, Lesen, Keine Maske,
Sekundär.
Da hier keine Maske verwendet wird, wird die volle Breite des E/A-Registers mit der vollen Breite aller
Wortspeicher verglichen. Die Sekundär-Wahltrigger der Wörter, die hinter den übereinstimmenden
Wörtern stehen, werden gesetzt und der Inhalt der Wortspeicher mit gesetztem Sekundär-Wahltrigger
nach Art einer ODER-Schaltung auf das E/A-Register und die Sammelleitung 9 ausgelesen.
Operation 6: Nächste Lesen, Maske 1, Sekundär. Hier findet keine Wahloperation statt Das Setzen
eines jeden Sekundär-Wahltriggers wird auf den nächsten Sekundär-Wahltrigger übertragen. Das
durch die Maske 1 definierte Feld aller Wortspeicher mit gesetztem Sekundär-Wahltrigger wird in
das E/A-Register gelesen.
Obwohl ein erfindungsgemäßes Datenverarbeitungssystem auch nur mit binären Speicherzellen in den
Assoziativspeichern arbeiten kann, werden in dem zu beschreibenden Ausführungsbeispiel eines Systems
assoziative Speicherzellen mit drei Stellungen verwendet Diese Zellen mit drei Stellungen nehmen nicht nur
zwei stabile Stellungen zur Darstellung einer binären Null und Eins ein und sprechen mit einer Übereinstimmungs-
oder einer Nichtübereinstimmungsanzeige auf Abfragesignale an, die eine Null und eine Eins darstellen,
sondern sie können außerdem den Zustand X oder »keine Beachtung schenken« einnehmen, in welchem
die Zelle mit einer Übereinstimmungsanzeige auf jedes beliebige Abfragesignal anspricht
F i g. 2 zeigt das Schaubild eines mit Speicherprogramm arbeitenden elektronischen Rechners, der eine
erfindungsgemäße elektronische Datenverarbeitungsanlage umfaßt Die in der Figur gezeigten 3 Assoziativspeicher
sind der Steuerspeicher 21, der Arbeitsspeicher 22 und der Lokalspeicher 23. Die Blocks stellen die
Speicher dar und sind in Felder unterteilt in welche jedes Wort im Speicher unterteilt ist Wie später
genauer beschrieben wird, verbinden Datenübertragungssammelleitungen bestimmte Felder verschiedener
Speicher untereinander. Daten werden grundsätzlich im Rechner als binär codierte Dezimalzahlen dargestellt
die je 4 Bits umfassen. Obwohl in der Praxis jede Zahl auch noch ein Paritätsbit umfaßt ist dieses Bit in der
Beschreibung weggelassen worden, um eine unnötige Komplikation zu vermeiden.
Dei Lokalspeicher 23 ist 6 Stellen groß, und jedes Wort umfaßt ein Lokalspeicher-Kennzeichnungsfeld
23a von zwei Stellen, ein 1-Datenfeld 23£> von zwei
Stellen und ein O-Datenfeld 23c von zwei Stellen. Im
Lokalspeicher 23 werden zwei Masken verwendet, und
zwar erfolgt unter Maske 1 eine Wahloperation, indem Daten im Lokajspeicher-Kennzeichnungsfeld und im
1 -Datenfeld zur Übereinstimmung gebracht werden und
die Daten-Übertragung über das O-Datenfeld erfolgt. Unter Maske 2 erfolgt eine Wahloperation über das ~>
Lokalspeicher-Kennzeichnungsfeld und die Datenübertragung über die Datenfelder 1 undO.
Der Arbeitsspeicher 22 ist 7 Stellen groß, und jedes Wort umfaßt ein Arbeitsspeicher-Kennzeichnungsfeld
22a von 2 Stellen, ein O-Datenfeld 22b von 2 Stellen, ein ι<i
1-Datenfeld 22c von 2 Stellen und ein Bedingungscode-Feld 22d von einer Stelle. Es sind zwei Masken
vorhanden, und unter Maske 1 erfolgt eine Wahloperation über das Arbeitsspeicher-Kennzeichnungsfeld und
das O-Datenfeld und die Datenübertragung über das i>
!-Datenfeld und das Bedingungscode-Feld. Unter Maske 2 erfolgt die Wahloperation über das Arbeitsspeicher-Kennzeichnungsfeld
und die Datenfelder 0 und 1 und die Datenübertragung läuft über das Bedingungscode-Feld.
Der Steuerspeicher 21 ist 8 Stellen groß, und jedes Wort umfaßt ein Bedingungscode-Feld 21a von einer
Stelle, ein Steuerspeicher-Kennzeichnungsfeld 21 b, ein Arbeitsspeicher-Kennzeichnungsfeld 21cund ein Lokalspeicher-Kennzeichnungsfeld
21c/, die je 2 Stellen groß :>■>
sind, sowie ein Steuerspeicher-Operationsfeld 21 e, welches eine Stelle umfaßt. Der Steuerspeicher 21
verfügt über nur eine Maske 1, unter der eine Wahloperation über das Bedingungscodefeld und das
Steuerspeicher-Kennzeichnungsfeld abläuft. jo
In allen Speichern kann die Benutzung einer Maske fallengelassen werden, d. h. eine Wahloperation und die
Datenübertragung können über die ganze Breite eines Wortes ausgeführt werden. Diese Operation wird
unveränderlich in Verbindung mit einer »Nächste«- Operation in den oben angegebenen Operationen 1, B, C
durchgeführt. Das heißt, eine Übereinstimmung wird mit einem Wort hergestellt, und der Zugriff wird auf das
diesem Wort folgende Wort ausgeübt.
Die Datenübertragungssammelleitungen 24—27 stel- ■»<
> lcn die entsprechenden Verbindungen her zwischen
Arbeitsspeicher-Kennzeichnungsfeldern im Steuer- und Arbeitsspeicher, Lokalspeicher-Kennzeichnungsfeldern
im Steuer- und Lokalspeicher, Bedingungscode-Feldern im Steuer- und Arbeitsspeicher und den O-Datenfeldern
im Lokal- und Arbeitsspeicher. Die Datenübertragungssammelleitung 28 verbindet die 1-Datenfelder des
Lokal- und Arbeitsspeichers mit dem Steuerspeicher-Kennzeichnungsfeld.
Ein elektronischer Rechner mit gespeichertem so Programm sollte die Möglichkeit haben, arithmetische
oder logische Operationen auf Instruktionen hin auszuführen, die im Rechner gespeichert sind. Damit ist
für ein wirksames Arbeiten die Möglichkeit verbunden, Verzweigungsinstruktionen zu handhaben und insbesondere
die Möglichkeit, zu einer Unterroutine von Instruktionen zu verzweigen und zur Hauptroutine am
Ende der Unterroutine zurückzukehren. Die folgende Beschreibung befaßt sich hauptsächlich mit diesen drei
Möglichkeiten. f>o
Der in F i g. 2 gezeigte Rechner ist ein mikroprogrammierter
Rechner, d. h. die Ausführung einer Makroinstruktion, wie z. B. Addieren oder Aufbereiten zum
Drucken wird eingeleitet und durchgeführt unter Steuerung eines Satzes von Makroinstruktionen, von
denen jede eine Grundoperation und den oder die Operanden angibt, mit welchen die Operation auszuführen
ist
Kurz gesagt, arbeitet der in F i g. 2 gezeigte Rechnei
wie folgt. Der Steuerspeicher 21 enthält Folgen vor Mikroinstruktionen, der Arbeitsspeicher 22 enthäl
Funktionstabellen und der Lokalspeicher 23 enthäl Makroinstruktionen und Daten. Eine Makroinstruktior
wählt eine Folge von Mikroinstruktionen. Jede Mikroin struktion enthält ein Arbeitsspeicher-Kennzeichen, da!
zumindest einen Teil des Argumentes zum Adressierer einer bestimmten Funktionsitabelle im Arbeitsspeiche]
bildet. Das Arbeitsspeicher-Kennzeichen kann z. B. da! Kennzeichen der Additionstabelle sein. Im allgemeiner
gibt der Rest des Arguments die Operanden an und wire vom Lokalspeicher geliefert.
Das O-Datenfeld des Lokalspeichers kann z. B. zwe
zu addierende Ziffern enthalten, die nach Übertrag ir den Arbeitsspeicher und Kombination mit derr
Arbeitsspeicher-Kennzeichen ein Suchargument liefern das die Zeile(n) der Additionstabelle sucht, die die
Summe der beiden Ziffern enthält/enthalten. Das Ergebnis der Tabellen-Suchoperation wird in da!
E/A-Register des Arbeitsspeichers gelesen und in der Lokalspeicher übertragen.
Jede Funktionstabelle besteht aus einer Reihe vor Zeilen, in jeder Zeile befinden sich eine oder mehrer«
Speicherstellen des Speichers, die aus einem Argumen und einem Datenteil bestehen. Bei einer Tabellensuch
operation wird das Argument jeder Zeile mit einem ir das E/A-Register gesetzten Suchargument verglichen
Die Datenteile der Zeile, deren Argumente mit der Suchargumenten übereinstimmen, werden gleichzeitig
in das E/A-Register gelesen.
Da eine Bitspeicherstelle die X- oder »kein« Beachtung schenken«-Stellung annehmen kann, könner
Zeilen mit unterschiedlichen Argumenten durch eir einziges Suchargument ausgewählt werden. Somit wähl
ein Suchargument 11 Zeilen aus, deren Argument« folgende sind: XX, X1 und 1 X, und 11. Bei Verwendung
der in Fig.2 gezeigten Arbeitsspeicher-Masken kam
eine Zeile ein Argument enthalten, welches da; Arbeitsspeicher-Kennzeichen und das O-Datenfeld odei
das Arbeitsspeicher-Kennzeichen und die Datenfelder ( und 1 enthält Das Argument kann außerdem die voll«
Breite des Arbeitsspeichers umfassen, wenn eim Wahloperation ohne Maske ausgeführt wird. In diesen
Fall wird der Datenteil der Zeile in die nächst« Wortspeicherstelle gestellt und die Tabellen-Suchope
ration besteht aus den Schritten Wählen, Nächste Lesen, Keine Maske. Operation und Operation 1. Wem
der Datenteil einer Zeile zu lang ist um neben den Argument in einer einzelnen Wortspeicherstelle zi
stehen, wird die nächste Möglichkeit des Arbeitsspei chers ausgenutzt und mit der Operation 5 gearbeitet
Die Operationen »Keine Maske« und »Nächste< können außerdem angewandt werden, wenn Daten au:
demselben Feld ausgegeben werden sollen, in welchen das Suchargument steht
In F i g. 3 ist eine Funktionstabelle für UND-, ODER und Exklusiv-ODER-Operationen gezeigt Die Tabelh
gibt das Ergebnis dieser Operationen an zwei 4 Bi großen Ziffern A und B wieder. Jede Zeile der Tabelli
ist an einen Wortspeicher angepaßt und die Eintragun gen in der Tabelle geben die Zustände 1, 0 oder X de:
den Wortspeicher umfassenden Speicherzellen wieder Es sei angenommen, daß die zu bearbeitende Ziffe
A = 1001 und die Ziffer B = 1010 ist Bei dei Verwendung der Tabelle wird eine Maske benutz!
wodurch eine Wahloperation in den 10 linken Spaltei der Tabelle, dem Argument erfolgt, und eine Daten
übertragung, in Wirklichkeit ein Lesen, in den rechten 4 Spalten, dem Datenausgabefeld, durchgeführt wird. Zur
Durchführung einer UND-Operation ist das Suchargument 01 1001 1010. Die beiden linken Ziffern des
Arguments wählen nur die ersten vier Zeilen der ■-, Tabelle, da das 1-Bit der übrigen 8 Zeilen zu keiner
Übereinstimmung in diesen Wortspeichern führt. Da eine Speicherzelle ja bekanntlich in der Abstellung
ungeachtet des Abfragesignals mit einer Übereinstimmungsanzeige reagiert, führt ein O-Bit in der äußersten κι
linken Kennzeichenstelle nicht zur Anzeige einer nicht vorhandenen Übereinstimmung in den ersten 4
Wortspeichern. Jede der 4 ausgewählten Zeilen der Tabelle entdeckt die Anwesenheit von 1-Bits in der
entsprechenden Reihenfolge der Ziffern A und B und ι r>
werden nur dann ausgewählt, wenn die entsprechenden Ziffern beide 1 sind. Das Ausgangsfeld ist ein 1-Bit an
der Stelle der der Zeile zugeordneten Ziffer und die 0 in den übrigen Stellen. Als Ergebnis der Auswahloperation
gibt nur der Wortspeicher eine Übereinstimmungsanzeige ab, der die erste Zeile der Tabelle enthält, indem
der zutreffende Wahltrigger, der Primär- oder Sekundärtrigger, gesetzt wird, und das dann in das
E/A-Register gegebene Ausgaberesultat ist 1000.
Für eine EXKLUSIV-ODER-Operation ist das 2» Suchargument 10 1001 1010. Da in der zweiten Spalte
der Tabelle ein 1-Bit steht, werden die ersten 4 Zeilen nicht ausgewählt und die übrigen 8 Zeilen stellen
Komplementärbits in den entsprechenden Stellen der Ziffern A und B fest. Übereinstimmungen treten in den
Wortspeichern auf, die die 7. und 12. Zeilen der Tabelle
enthalten, wobei die entsprechenden Ausgabefelder 0010 und 0001 sind. Da eine Leseoperation aus einer
ODER-Verbindung der Ausgabedaten von ausgewählten Speichern besteht, erscheint als Ergebnis im r,
E/A-Register 0011.
Für eine ODER-Operation schließlich ist das Argument 11 1001 1010, wovon die beiden linken Bits
alle 12 A Zeilen der Tabelle auswählen. Die 1, 7. und 12.
Zeile wird durch die übrigen Bits des Kennzeichens ausgewählt, so daß sich die Ausgabedatenfelder 1000,
0010 und 0001 ergeben und das Ergebnis im E/A-Register 1011 ist
Um die Arbeitsweise des in Fig.2 gezeigten Rechners zu beschreiben, wird angenommen, daß der
Steuerspeicher 21, der Arbeitsspeicher 22 und der Lokalspeicher 23 durch irgendein herkömmliches
Verfahren mit Mikroprogrammen, Funktionstabellen und Makroinstruktionen mit Daten geladen worden
sind. Weiterhin wurden die Operationscodes der Makroinstruktionen in den O-Datenfeldern des Lokalspeichers
aufeinander ausgerichtet Makroinstruktionen werden sequentiell im Lokalspeicher gespeichert, wobei
die erste ein vorbestimmtes Lokalspeicher-Kennzeichen hat und beim Starten des Rechners eine
Start-Mikroinstruktionsfolge gewählt wird, die auf die
erste Makroinstruktion Zugriff ausübt und den Übertrag des 0-Datenfeldes auf den Steuerspeicher als
Suchargument verursacht, das mit den Steuerspeicher-Kennzeichen der Mikroinstruktionen verglichen wer- bo
den muß. Das Start-Mikroprogramm ruft die Operation F auf: Wählen, Lesen, Maske 1, Primär, welche die 1.
Instruktion des Mikroprogramms für die auszuführende Operation wählt und das Auslesen der Kennzeichen des
Arbeitsspeichers und des Lokalspeichers sowie des Steuerspeicher-Operationscodes in das Steuerspeicher-E/A-Register
verursacht Das Arbeitsspeicher-Kennzeichen wird über die Sammelleitung 24 in das Arbeitsspeicher-E/A-Register
übertragen und bestimmt die Funktionstabelle im Speicher, die bei der Operation zu
verwenden ist. Wenn eine Tabelle aufgebaut ist, kann die auszuführende nächstliegende Operation mit Hilfe
der Tabelle vorbestimmt werden. So kann z. B. eine Tabelle, mit der eine Schiebeoperation ausgeführt
werden soll, so aufgebaut sein, daß ihre Verwendung die Ausführung der Operation 3 mit sich bringt: Wählen,
Lesen, Maske 1, Sekundär. Eine der Argumentziffern zur Kennzeichnung der Tabelle soll 3 sein, und wenn das
Suchargument in das E/A-Register der Tabelle gesetzt wird, auf die Zugriff ausgeübt werden soll, wird die
Ziffer 3 durch den Operations-Decoder 7 (Fig. 1) decodiert, um die auszuführende Operation zu bestimmen.
Demnach kann das die Tabelle kennzeichnende Argument auch zur Bestimmung der auszuführenden
Operation benutzt werden. Jede Tabelle im Arbeitsspeicher ist in Wirklichkeit durch 2 Ziffern gekennzeichnet,
von welchen die erste decodiert wird, um die mit Hilfe der Tabelle auszuführende Operation zu erhalten
Dieser Kunstgriff ist in Fig.2 durch den Pfeil 24*
gezeigt, welcher von der Sammelleitung 24 an die Seite des Blocks führt, der den Arbeitsspeicher darstellt.
Das Lokalspeicher-Kennzeichen wird über die Sammelleitung 25 in das Lokalspeicher-E/A-Registei
übertragen und bezeichnet einen oder mehrere Wortspeicher, die Daten enthalten, die bei der
auszuführenden Operation gebraucht werden. Genau wie beim Arbeitsspeicher, enthält das Lokalspeicher-Kennzeichen
Informationen über die im Lokalspeichei auszuführende Operation. Im Lokalspeicher muß der irr
Arbeitsspeicher angewandte Kunstgriff jedoch abgewandelt werden, da im Lokalspeicher grundsätzlich eine
Verbindung nur einer Operation mit einer bestimmter Wortspeicherstelle nicht möglich ist Es müssen Dater
sowohl in die als auch aus den meisten Wortspeicherstellen im Lokalspeicher übertragen werden können
Zwei typische Operationen sind einmal die Operationer 2 mit den Schritten Wählen, Schreiben, Maske 2
Sekundär, die durch die binär codierte Zahl 001C aufgerufen wird, sowie die Operation 3 mit der
Schritten Wählen, Lesen, Maske 2, Sekundär, die durch die binär codierte Zahl 0011 aufgerufen wird. Eine
Wortstelle mit einer Argumentziffer 00 \X wire
ausgewählt entweder durch das Kennzeichen 0010 odei 0011, so daß entweder in diesen Wortspeichei
geschrieben oder aus ihm gelesen werden kann.
Die im Lokalspeicher aufgrund der Eingabe de« Lokalspeicher-Kennzeichens ausgewählten Daten werden
in den Arbeitsspeicher übertragen, um das Suchargument zu vervollständigen. Die Datenausgabe
aus dem Arbeitsspeicher wird über die Sammelleitunger 27 und 28 im allgemeinen in den Lokalspeichei
übertragen.
Nach Beendigung der ersten Operation einei Mikroinstruktionsfolge wird jede der nachfolgender
Mikroinstruktionen aus dem Steuerspeicher ausgege ben durch die Operation D: Nächste, Lesen, Maske 1
Lokalspeicher- und Arbeitsspeicher-Kennzeichen in dei Wortspeicherstelle, die der Stelle folgt, in welcher die
vorhergehende Mikroinstruktion gespeichert wurde werden auf die Ausgabesammelleitungen ausgelesen
Somit kann eine Folge von Mikroinstruktionen, die ir aufeinanderfolgenden Wortspeicherstellen des Steuerspeichers
gespeichert sind, von dem in F i g. 2 gezeigter Rechner ausgeführt werden.
Um von einer Folge von Mikroinstruktionen zn verzweigen, muß das Wahlverfahren der auszuführen-
den Mikroinstruktionen so geändert werden, daß die Wahl von Maschinenbedingungen abhängt. Das erfolgt
durch eine Wahloperation auf dem Steuerspeicher, während sichergestellt wird, daß das Suchargument die
Maschinenbedingungen wiedergibt. Die unmittelbar vor "> einer Verzweigung stehende Mikroinstruktion wird aus
dem Steuerspeicher ausgegeben durch eine Operation A: Nächste, Lesen, Keine Maske, Primär, welche dazu
führt, daß das Steuerspeicher-Kennzeichen im Steuerspeicher-E/A-Register
erscheint. Die Anordnung ist so i» getroffen, daß die 1-Datenausgaben aus Arbeits- und
Lokalspeicher bekannt oder vorhersagbar sind. So kann z. B. die Überprüfung der richtigen Ausführung einer
arithmetischen Operation im Arbeitsspeicher zu einer von zwei vorherbestimmten Ausgaben im 1-Datenfeld r>
des Arbeitsspeichers führen. Der Bedingungscode im Arbeitsspeicher wird über die Sammelleitung 26 auf die
entsprechenden Stellen des Steuerspeicher-E/A-Registers übertragen. Von der eben erwähnten Mikroinstruktion
wird als Steuerspeicher-Operation die Operation F aufgerufen: Wählen, Lesen, Maske 1, Primär,
welche zu einer Wahl der Mikroinstruktion führt, die mit dem Bedingungscode- und dem Steuerspeicher-Kennzeichenfeld
im Steuerspeicher-E/A-Register übereinstimmt Wenn, wie meistens, angenommen wird, daß das
1-Datenfeld lauter Nullen enthält, da das Steuerspeicher-Kennzeichen
vorherbestimmt ist, hängt das Suchargument vom Inhalt des Bedingungscodes ab, der sich
aus einer 4 Bits umfassenden Ziffer zusammensetzt und daher irgendeinen von 16 verschiedenen Werten Jo
annehmen kann. Somit ist eine Verzweigung in 16 Richtungen möglich.
Die Anwendung des Bedingungscodes wird nicht näher beschrieben, da dies allgemein bekannt ist So
kann der Code u. a. anzeigen, welcher der beiden Operanden der größere ist oder ob bei einer Addition
ein Überlauf auftritt Die einer bestimmten Bedingungscode-Zahl beigegebene Bedeutung hängt grundsätzlich
von der gerade ausgeführten Operation ab. Dieselbe Bedingungscode-Ziffer kann einmal bedeuten, daß das -to
1-Datenfeld größer ist als das 0-Datenfeld oder, in einem anderen Zusammenhang, daß ein Überlauf
erfolgt ist
Da die Funktionstabellen im Arbeitsspeicher gespeichert sind, entstehen eine Verzweigung bestimmende
Bedingungen sehr häufig als Ergebnis von Operationen im Arbeitsspeicher, manchmal muß jedoch auch
aufgrund von Signalen aus dem Lokalspeicher verzweigt werden. Das erfolgt dadurch, daß bestimmte Bits
des Steuerspeicher-Kennzeichens, das bei der Wahl der so
Verzweigungs-Mikroinstruktion verwendet wird, 0 sind und daß die Werte der entsprechenden Bits in einem
anderen 1-Datenfeld des Lokalspeichers anderweitig alle 0 sind und die Bedingung wiedergeben, welche die
Verzweigung bestimmt Das 1-Datenfeld wird auf die Sammelleitung 28 aus- und in das Steuerspeicher-E/A-Register
und gleichzeitig in das Steuerspeicher-Kennzeichen eingelesen. Das bei der Wahl der folgenden
Mikroinstruktion verwendete Kennzeichenfeld hängt somit von Signalen aus dem Lokalspeicher ab.
Die vorgesehenen Primär- und Sekundär-Wahltrigr
ger ermöglichen den leichten Einbau von Mikroprogramm-Unterroutinen in das Datenverarbeitungssystem.
Die Mikroinstruktionen des Hauptprogrammes werden durch Setzen des Primär-Wahltriggers gewählt, ta
und wenn zu einer Unterroutine verzweigt werden soll, wird die Operation 8 benutzt: Wählen, Lesen, Maske 1,
Sekundär. Der gesetzte Primär-Wahltrigger zur Kennzeichnung der letzten verwendeten Mikroinstruktion
wird dadurch nicht beeinflußt, und die Wahl der nächsten zu verwendenden Mikroinstruktion erfolgt
durch Setzen des Sekundär-Triggers der Wortspeicherstelle, die diese Mikroinstruktion enthält. Nachfolgende
Mikroinstruktionen werden mit Hilfe der Operation 6 gewählt: Nächste, Lesen, Maske 1, Sekundär, durch
welche die Einstellungen der Sekundär-Trigger auf die Sekundär-Trigger der nächsten Wortspeicherstellen
übertragen werden. Auf diese Weise wird die Unterroutine ausgeführt. Die letzte Operation einer Unterroutine
ist die Operation D: Nächste, Lesen, Maske 1, Primär. Durch die »Nächste«-Operation wird die Stellung jedes
Primär-Wahltriggers auf den Primär-Wahltrigger der nächsten Wortspeicherstelle übertragen. Da nur der mit
der letzten verwendeten Mikroinstruktion des Hauptprogrammes verbundene Primär-Wahltrigger gesetzt
ist, wird durch diese Operation die nächste Mikroinstruktion des Hauptprogrammes ausgelesen.
Da eine Verzweigung zu einer Unterroutine im Prinzip genauso verläuft wie die gerade beschriebene
Verzweigungsoperation, kann sie auch genauso durchgeführt werden. Das heißt, daß es eine unbedingte
Verzweigung oder das Ergebnis von Tests oder anderen Bedingungen im Lokal- oder Arbeitsspeicher sein kann.
Der einzige Unterschied besteht darin, daß die Verwendung der Sekundär-Wahltrigger die Aufrechterhaltung
einer Verbindung mit dem Hauptprogramm über die Primär-Wahltrigger ermöglicht
Makroinstruktionen sind im Lokalspeicher gespeichert und der Zugriff erfolgt sequentiell durch die
Operation Nächste, Lesen, Primär. Auf alle anderen Wortspeicherstellen des Lokalspeichers erfolgt der
Zugriff mit Hilfe der Sekundärwahltrigger, auf die Makroinstruktionen jedoch mit Hilfe der Primär-Wahltrigger
als Zeiger, und zwar im wesentlichen genauso, wie der Zugriff auf die Unterroutinen im Steuerspeicher
erfolgt Makro-Verzweigungsinstruktionen werden genauso ausgeführt wie die entsprechenden Mikroinstruktionen
nur wird der Bedingungscode nicht dazu benutzt, um festzustellen, ob eine Verzweigung auszuführen ist
In einem anderen in F i g. 4 gezeigten Ausführungsbeispiel werden Makroinstruktionen in einem herkömmlichen
Kernspeicher gespeichert der als Hauptspeicher 41 bezeichnet ist und ein Speicheradreßregister
42 aufweist Andere Komponenten sind im Zusammenhang mit Fig.2 beschrieben und haben
dieselben Bezugsnummern. Die Verbindung zwischen dem Assoziativ-System und dem Hauptspeicher 41 wird
hergestellt durch die Sammelleitungen 27 und 28 zum Hauptspeicher 41 und im besonderen zu einem
Haiiptspeicherpuffer 41a und zum Speiicheradreßregister
4Z Der Hauptspeicher wird durch die Hauptspeichersteuerung 43 gesteuert die auf vorbestimmte
Arbeitsspeicher-Kennzeichen anspricht, welche über die Sammelleitung 24 auf die Steuerung 43 übertragen
werden.
Die Steuerspeicher-Kennzeichen lösen die folgenden Hauptspeicher-Funktionen aus: Laden der Datenfelder
0 und 1 im Speicheradreßregister 42 und Datenübertrag zwischen diesen beiden Feldern und dem Puffer 41a.
Falls ein Adreßfehler oder ein anderer Fehler vorliegt sendet der Hauptspeicher 41 über den Puffer 41a und
die Sammelleitung 28 ein Steuerspeicher-Kennzeichen aus, durch welches das System in eine Fehlersuchroutine
eintritt
Im Gegensatz zu dem im Zusammenhang mit Fig. 2 beschriebenen System speichert der Lokalspeicher 23 in
F i g. 4 keine Makroinstruktionen, sondern eine Instruktionszähler-Tabelle,
deren Ausgangssignale als Eingang für das Speicheradreßregister zur Wahl der nächsten
Makroinstruktion benutzt werden. Die Tabelle ist in F i g. 5 gezeigt und zeigt einen allgemeinen Fall, in ϊ
welchem der im Hauptspeicher zum Speichern von Makroinstruktionen verwendete Bereich definiert ist
durch ein veränderliches werthohes 8-Bits umfassendes Byte /Cl und die veränderlichen wertniederen 8-Bits
umfassenden Bytes /C2 und /C3. Die Zeilen 1 und 2 der ι ο Tabelle umfassen ein Kennzeichenbit 010X, welches
besagt, daß auf diese Zeilen durch die Operationen 4 oder 5 Zugriff erfolgen kann: Wählen, Nächste,
Schreiben oder Lesen, Maske 1, Sekundär. Wenn das Byte 0101 1010 im Lokalspeicher-Kennzeichenfeld des r>
Lokalspeicher-E/A-Registers steht, wird die Zeile 1 der Tabelle ungeachtet des Inhaltes des Datenfeldes 1 im
Register ausgewählt und die »Nächste«-Operation führt dazu, daß der Sekundär-Wahltrigger der Zeile 2 der
Tabelle gesetzt wird. Unter der Maske 1 wird das Adreßbyte /C3 in das E/A-Register ausgelesen. Wenn
die Schreiboperation benutzt wird, wird das Adreßbyte /C3 in das 0-Datenfeld der Zeile 2 der Tabelle
geschrieben. Genauso erfolgt der Zugriff auf das Byte /C2 in Zeile 3 der Tabelle unter Verwendung des 2>
Lokalspeicher-Kennzeichens 0101 0100 oder 0100 0100. Wenn das Kennzeichenfeld des Lokalspeicher-E/A-Registers
das Byte 0011 0100 enthält, führt die Operation 3:
Wählen, Lesen, Maske 2, Sekundär dazu, daß die Adreßbytes IC 1 und /C2 von der Zeile 3 der Tabelle in jo
das Lokalspeicher-E/A-Register übertragen werden. Ein Kennzeichenfeld 0010 0100 führt zur Übertragung
des Bytes /Cl und /C 2 aus dem E/A-Register in die Zeile 3 der Tabelle.
Der zum wertniederen Byte /C3 der Instruktions- r> adresse zu addierende Zuschlag wird aus der dritten
Zeile der Tabelle im Arbeitsspeicher entnommen. Das Arbeitsspeicher-Kennzeichenfeld jedes Eintrags der
Tabelle umfaßt die Arbeitsspeicher-Operationsziffer 1000, welche die Operation 8 angibt: Wählen, Lesen,
Maske 1, Sekundär und die Übertragung des Inhaltes des 1-Datenfeldes in das Arbeitsspeicher-E/A-Register
veranlaßt. Die 1-Datenfelder der Tabelle enthalten die gebräuchlichsten Zuschläge, wie z. B. +1, +2 oder — 1.
Wenn gleichzeitiger Zugriff auf die Zuschlagstabelle im Arbeitsspeicher und die !nstruktionszähler-Tabelle
im Lokalspeicher erfolgt, ergibt sich daraus das Byte /C 3 auf der Sammelleitung 27 und ein Zuschlag auf der
Sammelleitung 28. Die Additionstabelle im Arbeitsspeicher wird dann dazu benutzt, um das Byte /C3 zu
erhöhen und das erhöhte Byte wird dann auf die Zeile 2 der Instruktionszähler-Tabelle zurückgesetzt. Mit
einem Überlauf aus dem Byte /C3 wird eine Unterroutine hereingebracht, die Zugriff auf die Zeiie 3
der Instruktionszähler-Tabelle und den Zuschlag +1 aus der Zuschlagtabelle im Arbeitsspeicher ausübt
Diese beiden werden mit Hilfe der Additionstabelle im Arbeitsspeicher addiert und ergeben das erhöhte Byte
/C 2.
Das System kann auch zur Echtzeitverarbeitung unter der Voraussetzung benutzt werden, daß z. B. ein
Übergangsstück zwischen einer Datenübertragungs-Leitung und einem großen Datenverarbeitungssystem
vorgesehen wird. Die über die Datenverarbeitungs-Leitung kommenden Daten können im Arbeitsspeicher
gepuffert und unter Steuerung von Mikroprogrammen im Steuerspeicher geprüft und ausgegeben werden,
bevor sie in das Großsystem übertragen werden.
In den beschriebenen Ausführungsbeispielen braucht der Steuerspeicher nicht voll assoziativ zu sein. So kann
z. B. nur die Maske 1 benutzt werden mit dem Zusatz, daß die nicht verfügbare Maske auch nicht verwendet
wird. In diesem Fall brauchen nur die Bedingungs- und Steuerspeicher-Kennzeichenfelder assoziativ zu sein.
Wenn eine passende Datenzelle verwendet wird, kann jede bistabile Schaltung der Zelle zum Speichern eines
anderen Bits der übrigen Kennzeichen- und Operationsfelder des Arbeitsspeichers benutzt werden, wodurch
die Anzahl der zum Speichern dieser Felder erforderlichen Einzelteile auf die Hälfte reduziert wird.
Hierzu 3 Blatt Zcichnuncen
Claims (1)
- Patentanspruch:Datenverarbeitungsanlage mit einem assoziativen Steuerspeicher und einem assoziativen Daten- bzw. Arbeitsspeicher, die mit Hilfe von Funktionstabellen-Operationen logische und arithmetische Operationen ausführen, dadurch gekennzeichnet, daß außerdem ein assoziativer Lokalspeicher (23) mit den beiden genannten Speichern (21 und 22) verbunden ist, daß der Steuerspeicher (21) Steuerworte enthält, deren jedes für den Zugriff auf Speicherstellen im Arbeitsspeicher und im Lokalspeicher Arbeits- und Lokalspeicher-Kennzeichen enthält, daß im Lokalspeicher (23) Operanden gespeichert sind, und daß die Arbeits- und Lokalspeicher-Kennzeichen im Steuerwort beim Auslesen aus dem Steuerspeicher (21) den Zugriff auf die gewünschte Funktionstabelle im Daten- bzw. Arbeitsspeicher (22) und die gewünschten Operanden im Lokalspeicher (23) steuern, die dem Datenbzw. Arbeitsspeicher für die Funktionstabeilen-Operationen über Leitungen (27,28) vom Lokalspeicher unmittelbar zugeführt werden.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB32075/68A GB1218406A (en) | 1968-07-04 | 1968-07-04 | An electronic data processing system |
Publications (3)
Publication Number | Publication Date |
---|---|
DE1931966A1 DE1931966A1 (de) | 1970-03-05 |
DE1931966B2 true DE1931966B2 (de) | 1978-11-16 |
DE1931966C3 DE1931966C3 (de) | 1979-07-26 |
Family
ID=10332815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE1931966A Expired DE1931966C3 (de) | 1968-07-04 | 1969-06-24 | Datenverarbeitungsanlage mit Assoziativspeichern |
Country Status (8)
Country | Link |
---|---|
US (1) | US3585605A (de) |
BE (1) | BE734268A (de) |
CH (1) | CH491440A (de) |
DE (1) | DE1931966C3 (de) |
FR (1) | FR2012269A1 (de) |
GB (1) | GB1218406A (de) |
NL (1) | NL6909532A (de) |
SE (1) | SE337131B (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0013737A1 (de) * | 1979-01-26 | 1980-08-06 | International Business Machines Corporation | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1229717A (de) * | 1969-11-27 | 1971-04-28 | ||
GB1248716A (en) * | 1970-06-16 | 1971-10-06 | Ibm | Associative storage systems |
US3699533A (en) * | 1970-10-29 | 1972-10-17 | Rca Corp | Memory system including buffer memories |
US3760366A (en) * | 1971-09-15 | 1973-09-18 | Ibm | Unprintable character recognition |
GB1349950A (en) * | 1971-12-21 | 1974-04-10 | Ibm | Microprogramme control system |
US3800286A (en) * | 1972-08-24 | 1974-03-26 | Honeywell Inf Systems | Address development technique utilizing a content addressable memory |
GB1461245A (en) * | 1973-01-28 | 1977-01-13 | Hawker Siddeley Dynamics Ltd | Reliability of random access memory systems |
US3848234A (en) * | 1973-04-04 | 1974-11-12 | Sperry Rand Corp | Multi-processor system with multiple cache memories |
USRE31318E (en) * | 1973-09-10 | 1983-07-19 | Computer Automation, Inc. | Automatic modular memory address allocation system |
US4025903A (en) * | 1973-09-10 | 1977-05-24 | Computer Automation, Inc. | Automatic modular memory address allocation system |
US3958222A (en) * | 1974-06-27 | 1976-05-18 | Ibm Corporation | Reconfigurable decoding scheme for memory address signals that uses an associative memory table |
IT1016854B (it) * | 1974-08-21 | 1977-06-20 | Olivetti & Co Spa | Calcolatore elettronico di elabora zione dati |
JPS51144142A (en) * | 1975-06-06 | 1976-12-10 | Hitachi Ltd | Information processing |
US4173041A (en) * | 1976-05-24 | 1979-10-30 | International Business Machines Corporation | Auxiliary microcontrol mechanism for increasing the number of different control actions in a microprogrammed digital data processor having microwords of fixed length |
US4156926A (en) * | 1976-06-01 | 1979-05-29 | Texas Instruments Incorporated | PROM circuit board programmer |
US4158235A (en) * | 1977-04-18 | 1979-06-12 | Burroughs Corporation | Multi port time-shared associative buffer storage pool |
FR2459512A1 (fr) * | 1979-06-19 | 1981-01-09 | Vidalin Jacques | Procede pour la commande de rapprochement a effectuer entre des entites logiques de reference et des entites logiques issues d'un fichier |
US4964040A (en) * | 1983-01-03 | 1990-10-16 | United States Of America As Represented By The Secretary Of The Navy | Computer hardware executive |
JPH06105435B2 (ja) * | 1985-10-25 | 1994-12-21 | 株式会社日立製作所 | 情報処理装置による記憶管理機構 |
US4821183A (en) * | 1986-12-04 | 1989-04-11 | International Business Machines Corporation | A microsequencer circuit with plural microprogrom instruction counters |
US4833594A (en) * | 1986-12-22 | 1989-05-23 | International Business Machines | Method of tailoring an operating system |
US4942520A (en) * | 1987-07-31 | 1990-07-17 | Prime Computer, Inc. | Method and apparatus for indexing, accessing and updating a memory |
US5898851A (en) * | 1997-06-11 | 1999-04-27 | Advanced Micro Devices, Inc. | Method and apparatus for five bit predecoding variable length instructions for scanning of a number of RISC operations |
US6141745A (en) * | 1998-04-30 | 2000-10-31 | Advanced Micro Devices, Inc. | Functional bit identifying a prefix byte via a particular state regardless of type of instruction |
US6175908B1 (en) | 1998-04-30 | 2001-01-16 | Advanced Micro Devices, Inc. | Variable byte-length instructions using state of function bit of second byte of plurality of instructions bytes as indicative of whether first byte is a prefix byte |
US6567290B2 (en) * | 2000-07-05 | 2003-05-20 | Mosaic Systems, Inc. | High-speed low-power semiconductor memory architecture |
CN116362085B (zh) * | 2023-03-31 | 2024-01-30 | 东北大学 | 一种基于冷却壁热流强度的炉缸内衬侵蚀形貌识别方法 |
-
1968
- 1968-07-04 GB GB32075/68A patent/GB1218406A/en not_active Expired
-
1969
- 1969-05-28 US US828503A patent/US3585605A/en not_active Expired - Lifetime
- 1969-06-04 FR FR6918096A patent/FR2012269A1/fr not_active Withdrawn
- 1969-06-09 BE BE734268D patent/BE734268A/xx unknown
- 1969-06-20 NL NL6909532A patent/NL6909532A/xx not_active Application Discontinuation
- 1969-06-24 DE DE1931966A patent/DE1931966C3/de not_active Expired
- 1969-07-02 SE SE09408/69A patent/SE337131B/xx unknown
- 1969-07-04 CH CH1021569A patent/CH491440A/de not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0013737A1 (de) * | 1979-01-26 | 1980-08-06 | International Business Machines Corporation | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem |
Also Published As
Publication number | Publication date |
---|---|
US3585605A (en) | 1971-06-15 |
FR2012269A1 (de) | 1970-03-20 |
SE337131B (de) | 1971-07-26 |
GB1218406A (en) | 1971-01-06 |
CH491440A (de) | 1970-05-31 |
BE734268A (de) | 1969-11-17 |
NL6909532A (de) | 1970-01-06 |
DE1931966A1 (de) | 1970-03-05 |
DE1931966C3 (de) | 1979-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE1931966C3 (de) | Datenverarbeitungsanlage mit Assoziativspeichern | |
DE3424962C2 (de) | ||
DE2318069C2 (de) | Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix | |
DE1499200B2 (de) | Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung | |
DE2714805A1 (de) | Datenverarbeitungssystem | |
DE2230102A1 (de) | Rechenwerk fuer variable wortlaengen | |
DE2829668A1 (de) | Kanaldatenpufferspeicher | |
DE2533403A1 (de) | Datenverarbeitungssystem | |
DE1499722B1 (de) | Einrichtung zur modifizierung von informationswoertern | |
DE1929010B2 (de) | Modular aufgebaute datenverarbeitungsanlage | |
DE2339636A1 (de) | Programmsteuereinrichtung | |
DE2717658A1 (de) | Anordnung zur ansteuerung eines mikroprogrammspeichers | |
DE2524046A1 (de) | Elektronische datenverarbeitungsanlage | |
EP0010185A1 (de) | Virtuell-Adressiervorrichtung für einen Computer | |
DE3043653A1 (de) | Datenverarbeitungsanlage | |
DE2702722C2 (de) | Einrichtung zur Verarbeitung nicht direkt ausführbarer Instruktionen | |
DE2906685C2 (de) | ||
DE2854400A1 (de) | Anordnung zum wechsel zwischen verzahnt zu verarbeitenden programmen | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE1956460C3 (de) | Datenverarbeitungsanlage mit Assoziativspeichern | |
DE2952163C2 (de) | Datenverarbeitungsanlage mit einem ersten und einem zweiten Prozessor | |
DE69122001T2 (de) | Integrierte Schaltung mit einer Standardzelle, einer Anwendungszelle und einer Prüfzelle | |
DE2952072C2 (de) | Rechenschaltung zum Addieren oder Subtrahieren binär codierter Dezimalzahlen | |
DE2057587A1 (de) | Inhaltsadressierter Speicher | |
DE1549434A1 (de) | Datenverarbeitungsanlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
8339 | Ceased/non-payment of the annual fee |