DE1956460C3 - Datenverarbeitungsanlage mit Assoziativspeichern - Google Patents
Datenverarbeitungsanlage mit AssoziativspeichernInfo
- Publication number
- DE1956460C3 DE1956460C3 DE1956460A DE1956460A DE1956460C3 DE 1956460 C3 DE1956460 C3 DE 1956460C3 DE 1956460 A DE1956460 A DE 1956460A DE 1956460 A DE1956460 A DE 1956460A DE 1956460 C3 DE1956460 C3 DE 1956460C3
- Authority
- DE
- Germany
- Prior art keywords
- memory
- address
- control
- data
- associative
- 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
- 230000015654 memory Effects 0.000 title claims description 131
- 230000006870 function Effects 0.000 claims description 11
- 230000003936 working memory Effects 0.000 claims description 7
- 238000000034 method Methods 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 claims description 2
- 238000013500 data storage Methods 0.000 claims 1
- 238000002372 labelling Methods 0.000 claims 1
- 230000003137 locomotive effect Effects 0.000 claims 1
- 238000012986 modification Methods 0.000 claims 1
- 230000004048 modification Effects 0.000 claims 1
- 230000004044 response Effects 0.000 claims 1
- 230000001960 triggered effect Effects 0.000 claims 1
- 101100269850 Caenorhabditis elegans mask-1 gene Proteins 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 235000016496 Panda oleosa Nutrition 0.000 description 1
- 240000000220 Panda oleosa Species 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000003359 percent control normalization Methods 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 229910000859 α-Fe Inorganic materials 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
- G11C15/04—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
- G06F12/0848—Partitioned cache, e.g. separate instruction and operand caches
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
hinaus die Möglichkeit, die Adressenrechnung, -abrufung und -decodierung parallel mit der Befehlsausführung innerhalb einer Datenverarbeitungsanlage ablaufen zu lassen, so daß derartige Speichersysteme wohl
eine gemischte Anwendung von assoziativen und nicht assoziativen Speichern zeigen, jedoch kein Datenverarbeitungssystem, das universell als Universalmodul
arbeiten kann.
Der Erfindung liegt deshalb die Aufgabe zugrunde,
ein Datenverarbeitungssystem mit einem nicht assoziativen Haupt- oder Datenspeicher, einem assoziativen
Arbeitsspeicher und einem Steuerspeicher zur Steuerung der Funktionen der beiden genannten Speicher mit
Hilfe eines gespeicherten Mikroprogramms dahingehend zu verbessern, daß die Adressenrechnung,
-abrufung und -decodierung parallel mit der Befehlsausführung ablaufen kana
Die erfindungsgemäße Lösung ergibt sich aus dem Kennzeichen des Patentanspruchs 1.
Weiterbildungen der Erfindung sind in den Unteransprüchen gekennzeichnet
Durch die angegebene Verbindung des assoziativen Adreßspeichers mit dem Steuerspeicher und den
anderen im System vorhandenen Speichern wird die Ausführungszeit der Operationen bis zu 50% gesenkt,
obwohl die Erhöhung des technischen Aufwandes durch Einführung des getrennten Adreßspeichers in assoziativer Form nur etwa 10% beträgt Die angegebene
Steuerschaltung für die Speicher kann in einer Datenverarbeitungsanlage ein Grundmodul darstellen,
das sowohl als zentrale Verarbeitungseinheit, als Kanal sowie als Ein- und Ausgabe-Steuereinheit verwendet
werden kann. Durch den gleichmäßigen technischen Aufbau aller Einheiten eines großen Datenverarbeitungssystems ergibt sich neben den fertigungstechnischen Vorteilen vor allem eine wesentlich einfachere
technische Wartung.
Ein Ausführungsbeispiel der Erfindung wird nun anhand der Zeichnungen näher beschrieben. In den
Zeichnungen bedeutet
F i g. 2 ein zum Betrieb der Anlage gemäß F i g. 1 geeignetes Befehlsformat;
F i g. 3 und 4 Funktionstabellen, die im Adreßspeicher enthalten sind und
F i g. 5 ein Diagramm, das mehrere Operationen zeigt die während einer Befehlsausführung im Datenverarbeitungssystem gemäß F i g. 1 ausgeführt werden.
Das in F i g. 1 gezeigte Datenverarbeitungssystem
besteht aus einem assoziativen Steuerspeicher 1, einem assoziativen Arbeitsspeicher 2, einem assoziativen
Lokalspeicher 3, einem assoziativen Adreßspeicher 4 und einem nichtassoziativen Datenspeicher 5, der mit
einem Speicheradreßregister 6 und einem Speicherdatenregister 7 verbunden ist
Das Speicheradreßregister 6 dient zur Aufnahme der Informationen, die eine Adresse im Speicher 5
darstellen. Die Information im Register 6 wird durch nichtgezeigte Steuerschaltkreise decodiert, um Zugriff
zu einem bestimmten Speicherplatz, der durch die Adresse spezifiziert ist, zu haben und um den
Datentransport zwischen dem Speicherdatenregister 7 und den durch die Adresse bestimmten Speicherplatz zu
bewerkstelligen. Die technische Ausfahrung des Datenspeichers 5 kann sowohl als magnetischer Dünnfilmspeioher, als Ferritkernspeicher oder als monolithischer
Speicher ausgeführt sein, weil die technische Ausführung eines Speichers aar* die vorliegende Erfindung
keinen Einfluß hat
Die Speicher 1 bis 5 sind untereinander über
Leitungen verbunden, die den Datenaustausch und den Befehlsaustausch zwischen den nichtgezeigten Eins gangs- und Ausgangsregistern der assoziativen Speicher 1—4 und dem Speicheradreßregister 6 sowie dem
Speicherdatenregister 7 des Datenspeichers 5 ermöglichen. Die Bitübertragungsbreite der einzelnen Leitungen hängt von dem jeweiligen System, in dem die
ίο erfindungsgemäße Speicherschaltung verwendet wird
ab. Sie kann ohne weiteres den jeweiligen Bedingungen angepaßt werden, ohne daß erfinderische Schritte
hierzu erforderlich sind.
men, daß die Arithmetik byteorganisiert ist d. h, daß
jeder Operand in einer arithmetischen oder logischen Operation aus 8 Bits umfassenden Bytes besteht Die
Steuerspeicherwortregister enthalten ein Arbeitsspeicherkennzeichenfeld von 4 Bits, ein Lokalspeicher-
kennzeichenfeld von 4 Bits und ein Adreßspeicherkennzeichenfeld von ebenfalls 4 Bits. Die V.;nnzeiohenfelder
des Steuerspeichereingangs-/Ausgangsregisters sind
mit den Kennzeichenfeldern der Eingangs-/Ausgangsregister der entsprechenden Speicher über Leitungen 8,
9 und 10 verbunden. Das Speicherdatenregister 7 hat eine Kapazität von 2 Bytes und ist mit den 2 Bytes
breiten Daten-!-Feldern des Lokalspeichers 3 und des
Arbeitsspeichers 2 über die Leitung 11, die ebenfalls 2
Bytes übertragen kann, verbunden. Das Speicheradreß
register 6 hat eine Kapazität von 3 Bytes,und ist mit dem
3 Bytes breiten Adreßfeld des Eingangsregisters des Adreßspeichers über die Leitung 12 verbunden. Die
Datenfelder 2 der Eingangsregister des Adreß-, Lokal- und Arbeitsspeichers sind untereinander durch die
Im nachfolgenden wird nun anhand einer Ausführung einer typischen Makro-Instruktion die Operation und
die Bedeutung des Adreßspeichers erklärt Als Beispiel wird eine Instruktion des IBM-Systems/36C verwendet
die als RXAdd-Instruktion bezeichnet ist und in F i g. 2
zu sehen ist, verwendet Die RXAdd-Instruktion ist eine
FesJcomma-Instruktion. Die Instruktion ist 32 Bit lang,
d. h. zwei Halbwörter des Datenspeichers 5. Die Bits 0 bis 7 sind das Operationscodefeld und zeigen nicht nur
V) die Operation, die auszuführen ist, an, sondern auch
welches Format die Instruktion einnimmt, z. B. die Interpretation des Operationscodes bestimmt daß die
Instruktion eine RX-Instruktion ist Die Bits 8—11, das
R 1-FeId, gibt die Adresse eines von 16 Registern, die
den ersten Operanden enthalten, an. Die Bits 12 bis 15,
das ArFeId, gibt die Adresse eines Index-Registers an.
Die Bits 16 bis 19, das ft-Feld, gibt die Adresse eines
Registers an und die Bits 20 bis 31, das D2-FeId, sind
Primzahlen, die keine Adreßbedeutung haben. Die
effektive Adresse des 2. Operanden wird durch Summierung des Inhaltes des /%-Feldes und der niedrigsten
24 Bits, die in den Registern durch die Inhalte von X% und BrFeldern spezifiziert werden, gebildet
Die 3-Bytes-Befehlsadressen werden vom Befehls-
w· zähler in einer kurzen Tabelle im Speicher 4
eingenommm Das laufende Setzen des Instruktionszählers b/w. Instruktionszählwertes wird üb?r das
Speicheradreßregister 6 und die Leitung >2 ausgeführt und das erste Halbwort des Befehls wird in das
' > Speicherdatenregister 7 gelesen. Der Betrieb mit
verschlüsselten Instruktionen wird im Arbeitsspeicher 2 interpretiert und verwendet, um das auszuführende
Mikroprogramm auszuwählen und Zugriff zu den durch
die RX-Instruktion definierten Operanden zu erhalten.
Inzwischen wird der Instruktionszählwert im Adressenspeicher um 2 erhöht, um die Adresse des nächsten
Befehlshalbworts im Datenspeicher zu erhalten. Der Lokalspeicher 3 enthält 16 allgemeine Register, wovon
jedes aus 4 Wortregister oder 4 Zeilen eines Speichers zur Aufnahme eines einzigen Datenbytes besteht. Zur
ersten und letzten Zeile eines Registers besteht ein assoziativer Zugriff, währenddem zu den dazwischenliegenden
Zeilen nur Zugriff über die erste Leitung und Ausführung der nächsten Operation besteht. Hat die
Operationscodedecodierung angezeigt, daß es sich um eine RX-Instruktion handelt, dann wird das erhöhte
Instruktionszählfeld benutzt, um das zweite Befehlshalbwort zu dem Lokal- und Arbeitsspeicher zu bringen.
Zur Vereinfachung wird angenommen, daß der Index 0 ist, so daß die effektive Adresse lediglich aus der Summe
des Wertes D> und des Inhalts des Register. Has Hiirrh
das Feld Bi angegeben ist, byteweise gebildet wird.
Jedes gebildete Summenbyte wird vom Arbeitsspeicher zum Adreßspeicher über die Leitung 13 gegeben
und der Adreßspeicher verschiebt das Byte zum Adreßfeld.
Die Verschiebung wird durch die in F i g. 3 gezeigte Tabelle bewerkstelligt, die 4 Bytes breit ist und 32 Zeilen
lang ist. Jede Zeile der Tabelle ist ein Teil eines Wortregisters und F i g. 3 zeigt die Datenzellen, die in
den Ein-Zustand zu setzen sind. Die übrigen Zellen werden in den X-Zustand gesetzt, wodurch eine 0 zu
dem Eingangs-/Ausgangsregister gegeben wird. Die Operation, definiert in der Tabelle, ist Auswählen,
Maske 1, Lesen, Maske 2, d. h. vergleiche den Inhalt des EingangsVAusgangsregisters mit den Tabelleneintragungen
über die Feldmaske 1, die rechten 3 Bytes von der Tabelle; wenn ein Eingang mit einer Zeile der
Tabelle übereinstimmt, setze den Auswahltrigger auf die nächste Zeile; und schließlich, lese das Feld, das durch
Maske 2 dieser Leitungen mit gesetzten Auswahl-Triggern definiert ist, in das Eingangs-/Ausgangsregister.
Die Maske 2, die über die linken 3 Bytes der Tabelle reicht, ist angeordnet, um mit dem Adressenfeld des
Adreüspeicners 4 zusammenzufallen, uie Daten werden
byteweise über Leitung 13 eingetragen, d. h. in das Datenfeld 2 des Adreßregisters. In Fig.3 sind drei
Anwendungen A, B, C der Tabelle gezeigt. Die ersten Bytes-Übereinstimmungszeilen 9, 13, 17 und 29 der
Tabelle verursachen die Auswahl der Zeilen 10, 14, 18 und 30 zum Auslesen und zur Ausführung einer
Verschiebung um 1 Bytes des Eingangs. Sind die Masken 1 und 2 überlappt, dann ist der Ausgang der
ersten Operation ein Eingang von B mit einem neuen Byte im Datenfeld 2.
Die anschließende Adresse des 2. Operanden wird zum Speicheradreßregister und den ersten 2 Bytes des
Speicherdatenregisters gegeben. Die Bytes werden zu den korrespondierenden Bytes des Registers, das durch
das R IFeId definiert ist, nacheinander addiert und
währenddem wird die zweite Operandenadresse modifiziert, d. h. erniedrigt, um die Adresse der zweiten 2 Bytes
des zweiten Operanden zu definieren. Zu einer bestimmten Zeit wird diese Adresse zum Speicheradreßregister
gegeben und die zweiten 2 Bytes des zweiten Operanden werden in das Speicherdatenregister
gelesen. Die Bytes werden mit dem Inhalt des Registers, das durch das Äl-Feld definiert wurde,
summiert, während inzwischen die Adreßspeichererhöhung des Befehlszählwertes durchgeführt wird, um zum
nächsten ersten Instruktionshalbwort Zugriff zu haben.
Es ist möglich, daß hervorgerufen durch dii Programmierung oder durch einen anderen Fehler eini
falsche Adresse während einer Instruktionsausführunf generiert werden kann. Normal bestehen Einschränkun
s gen hinsichtlich der Größe und der Speicherplätze voi
denen Operandendaten entnommen werden können.
Weitere Einschränkungen hängen von der verwende ten Type der Adressierung ab. Als Beispiel für die erst«
Type der Einschränkung sei angenommen, daß in einei
ίο gültigen Adresse es erforderlich ist, daß das dritte unc
höchststellige Byte 0 ist. Als Beispiel für die zweite Typ< der Einschränkung sei aufgeführt, daß jede Speicherpo
sition im Datenspeicher nur ein einziges Byte enthäl und daß der geringste Umfang der für eine Festkom
maoperation benötigt wird, eine bestimmte Anzahl vor Halbworten benötigen kann, von denen jedes zwe
Bytes enthält. Eine gültige Operandenadresse kann ir
Binärzahl aufweisen, d. h. das niedrigstellige Bit de
Adresse muß 0 sein.
Zur Erkennung von gültigen Speicheradresser können zwei weitere alternative Methoden verwende
werden. Das Adreßfeld kann auf die Tabelle in Fig.' angewendet werden, wie die Anwesenheit von 1 -Bits ir
der höchsten Bytestelle oder in der niedrigsten Bitstellt anzeigt. Wenn ein I-Bit erkannt ist, dann wird eine dei
Zeilen drs Tabelle ausgewählt und das Fehlerbit /
darauffolgend. Alternativ könnten die Fehlerbits zu der Zeilen in der Verschiebetabelle nach 3 hinzugefüg
3d werden. Die Tabellenbreite könnte um zwei Bitpositio
nen erweitert werden. In einer dieser zugefügter Positionen ist ein Fehlerbit zur Zeile 30 der Tabelle
hinzugefügt. In der anderen Position sind Fehlerbit? zi
den Zeilen 2, 6, 10, 14, 18, 22, 26 und 30 hinzugefügt
J5 Wenn dies 1-Bit in der niedrigsten Bitstelle der Bytes ist
dann wird die Zeile 30 ausgewählt. Wenn die Zeile 3( ausgewählt wurde, durch die erste Verwendung dei
Tabelle, Zyklus A, dann bedeutet dies, daß da; niedrigststellige Bit der Adresse nicht 0 ist. Die
J« Fehleranzeige von dieser Bitposition kann während de:
zweiten und dritten Zyklus ignoriert werden. Di« anderen Fehlerbits zeigen die Nicht-O-Bits im Byte unc
ihre Erkennung während des dritten Zykluses zeigt eine gültige Adresse an. Die Fehleranzeige von diesel
■»ϊ Bitposition kann während des ersten und des zweiter
Zyklus ignoriert werden.
Die Ausführung einer RX-Add-Festkommainstruktion ist in der Tabelle nach F i g. 5 dargestellt, die die
einzelnen durchzuführenden MikroOperationen in je
><i dem Speicher während jedes Zyklus des Systems r .igt
Nachfolgend werden die in F i g. 5 verwendeten Begriff« näher erläutert
/C steht für Instrukitonszähiwert; jede Instruktion isl
bis zu zwei Bytes lang, der Instruktionszählwert kann im Adreßspeicher während der Ausführung einer Instruktion
um zwei erhöht werden. »Erhalten« bedeutet, daß die beiden in einem Wortregister kurzzeitig zur
weiteren Verwendung abgespeichert werden. Im Gegensatz dazu bedeutet »Speichere« eine größere
1^ Permanenz des Speicherzustands. Der OP-Code wird se
lange erhalten, bis alle Informationen, die zu einet
Ausführung einer Instruktion erforderlich sind, während die Resultate der Addition gespeichert werden. ERh
bedeutet, bewahre die Inhalte der Leitungen unverän-
' dert für den nächsten Zyklus auf. »Obertrage« ist eine
Mikroinstruktion, die die Daten von einem Teil des Eingangs-/Ausgangsregisters zu einem anderen Teil
verschiebt Sie wird bei den geraden Operanden
verwendet. Es soll erwähnt sein, daß eine Stufe des Adreßspeichers erforderlich ist, um ein 1 -Bit in Bit 30
der effektiven Adresse einzufügen. Dies ist zur Definition der Adresse des niedrigststelligen Halbworts
eines RX-Operanden. Die effektive Adresse für eine RX-Instruktion ist die Adresse des höchststelligen Bytes
eintsä 8-Bytes-Operanden, d. h. daß die Adresse immer
mit zwei binären Nullen endet. Wenn es halbwortsweise abgerufen wird, ist es erforderlich, zur effektiven
Adresse 2 hinzuzuaddieren, um die Adresse des niedrigstelligen Halbwortes zu erhalten. Es soll noch
ausgeführt werden, daß später die effektive Adresse wieder um 2 erniedrigt wird, um die Adresse der
höchstelligen zwei Bytes oder des Halbwortes zu erlangen. Obwohl die Erfindung anhand einer /360-Instruktion erklärt worden ist, ist es ohne weiters möglich
Instruktionen auch anderer Systeme zu verwenden, ohne daß erfinderische Schritte dazu erforderlich sind.
Claims (4)
1. Datenverarbeitungsanlage mit einem nichtassoziativen Haupt- oder Datenspeicher, einem assoziativen Arbeitsspeicher und einem Steuerspeicher zur
Steuerung der Funktionen der beiden genannten Speicher mit Hilfe eines gespeicherten Mikroprogramms, dadurch gekennzeichnet, daß
auch der Steuerspeicher (1) als Assoziativspeicher ausgebildet ist, der außerdem mit einem assoziativen I ο
Lokalspeicher (3) verbunden ist, daß im Steuerspeicher (1) Steuerworte gespeichert sind, von denen
jedes Kennzeichen des Arbeitsspeichers und des Lokalspeichers enthält, wodurch Datenspeicherstellen im Arbeitsspeicher und im Lokalspeicher
ausgewählt werden, daß im Arbeitsspeicher (2) Funktionstabellen zur Durchführung arithmetischer
und/oder logischer Funktionen, u. a. Adreßmodifikationen, gespeichert sind, daß im Lokaispeicher (3) die
zu verarbeitenden Operanden gespeichert sind, daß dem Datenspeicher (5) ein assoziativer Adreßspeicher (4) zugeordnet ist, der ebenfalls über eine
Leitung (10) mit dem Steuerspeicher (1) verbunden ist, um über die Adresse zu im Haupt- oder
Datenspeicher (5) gespeicherten Mehroperanden-Befehlen oder Daten Zugriff zu bekommen und daß
nach dem Auslesen eines Stcuerwortes aus dem Steuerspeicher (1) und dem Zugriff zum Lokalspeicher (3) und zum Adreßspeicher (4) die gewünschten
Operanden zum Arbeitsspeicher (2) gebracht werden, um simultan mit der Arbeitsweise des
AdreßspeichcTS den Zugriff zu den zur Operation erforderlichen Teilen der gespeicherten Funktionstabelle zu ermöglichen, die zu diesen Operanden
gehören.
2. Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, daß Wortregister des
Steuerspeichers (1) jeweils ein Wort nebst Arbeitsund Adreßspeicherkennzeichen aufnehmen und daß
die Arbeits- und Adreßspeicherkennzeichen gleich- *o
zeitig in die Arbeits- und Adreßspeicher (4) übertragen werden, wobei eine gleichzeitige Operationsausführung in dem Arbeits- und Adreßspeicher
(2 bzw. 4) erfolgt
3. Datenverarbeitungsanlage nach den Anspriichen 1 und 2, dadurch gekennzeichnet, daß das
Suchargument zum Tabellensuchen im Adreßspeicher (4) das vom Steuerspeicher (1) gelieferte
Adreßspeicherkennzeichen umfaßt, das Daten zur Kennzeichnung der jeweils zu verwendenden so
Suchtabelle enthält, sowie ein in Abhängigkeit vom Steuerspeicher (1) arbeitendes Teil, das Daten zur
Kennzeichnung der zu entnehmenden Werte enthält
4. Datenverarbeitungsanlage nach den Ansprüchen 1 bis 3, dadurch gekennzeichnet, daß der
Haupt- oder Datenspeicher (5) ein Speicheradreßregister (6) umfaßt, das mit dem Adreßspeicher (4) zur
Übertragung von Adreßdaten aus dem Adreßspeicher (4) in das Speicheradreßregister (6) Über w>
Leitungen (12) verbunden ist, währenddem das Speicherdatenregister (7), das ebenfalls dem Datenspeicher (5) zugeordnet ist, über Leitungen (11) mit
dem Lokalspeicher (3) und dem Arbeitsspeicher (2) zur Übertragung von Daten in beiden Richtungen
<·"> verbunden ist.
Die Erfindung betrifft eine Datenverarbeitungsanlage mit Assoziativspeichern nach dem Oberbegriff des
Patentanspruchs 1,
Bei herkömmlichen elektronischen Datenverarbeitungsanlagen werden Steuerspeicher auch zum Speichern von Mikroinstruktionsfolgen oder ähnlichen
Steuerinformationen benutzt, mit denen das Datenverarbeitungssystem verschiedene Funktionen ausführt
(Steinbuch, Taschenbuch der Nachrichtenverarbeitung 1967, Seite 1005). Üblicherweise ist der Steuerspeicher
als Festwertspeicher in monolithischer Technik ausgeführt Der Umfang und die Flexibilität der Antwort des
Speichers beim Abfragen und der Vorgang, der von den ausgelesenen Steuerwörtern ausgelöst wird, ist daher
begrenzt Man kann jedoch auch den Steuerspeicher als öchreib-/Lesespeicher ausführen und mit veränderlichem Informationsinhalt verwenden, wobei jedoch bei
den heutigen Systemsteuertechniken der Datenwechsel Schwierigkeiten bereitet und die Anwendung dieser
Möglichkeit auf genau definierte Fälle, wie die Hinführung einer neuen Art des Befehlswortes in das
System oder das Anlaufen, beschränkt ist Ein veränderlicher Steuerspeicher wird häufig auch lediglich als Hilfsspeicher für einen Festwertspeicher
verwendet In der DE-OS 19 31 966 ist außerdem vorgeschlagen worden, für den Steuerspeicher einen
Assoziativspeicher oder kennwortadressierten Speicher zu verwenden. Die Datenverarbeitungsanlage gemäß
dem älteren Vorschlag enthält einen assoziativen Steuerspeicher und einen assoziativen Daten- bzw.
Arbeitsspeicher, die mit Hilfe von Funktionstabellen-Operationen logische und arithmetische Operationen
ausführen und ist dadurch gekennzeichnet, daß außerdem ein assoziativer Lokalspeicher mit den beiden
genannten Speichern verbunden ist daß der Steuerspeicher 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 Operanden gespeichert sind,
und daß die Arbeits- und Lckalsp&icher-Kennzeichen
im Steuerwort beim Auslesen aus dem Steuerspeicher den Zugriff auf die gewünschte Funktionstabelle in
Daten- bzw. Arbeitsspeicher und die gewünschten Operanden im Lokalspeicher steuern, die dem Datenbzw. Arbeitsspeicher für die Funktionstabellen-Operationen über Leitungen von Lokalspeicher unmittelbar
zugeführt werden.
Eine gegenseitige Adressierung und Zuordnung der Speicherstellen ist zwar damit möglich, woraus sich
zwar gegenüber der Verwendung von Speichern mit veränderlichem Informationsinhalt oder bei Verwendung von Festwertspeichern eine wesentlich größere
Flexibilität und eine Einsparung an Operationszeit innerhalb der Datenverarbeitungsanlage ergibt, jedoch
weist diese Anlage den Nachteil auf, daß die Adressenrechnung, - abrufung und -decodierung bei
Mehroparandenbefehlen nicht parallel mit der Befehlsausführung ablaufen kann.
Außerdem ist aus der US-PS 32 92 153 ein Speichersystem bekannt, das mit einem nicht assoziativen
Hauptspeicher und einem assoziativ arbeitenden Arbeitsspeicher ausgerüstet ist. Hierbei dienen sowohl der
Haupt- als auch der Schnellspeicher als Steuerspeicher. Außerdem ist es durch die US-PS 32 48 702 bekannt, bei
derartigen virtuellen Speicherhierarchien einen Adreßspeicher zuzuordnen.
Den beiden letztgenannten Speicherhierarchien fehlt jedoch ein assoziativer Adreßspeicher und darüber
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB5351768 | 1968-11-12 |
Publications (3)
Publication Number | Publication Date |
---|---|
DE1956460A1 DE1956460A1 (de) | 1970-09-03 |
DE1956460B2 DE1956460B2 (de) | 1979-02-08 |
DE1956460C3 true DE1956460C3 (de) | 1979-10-04 |
Family
ID=10468092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE1956460A Expired DE1956460C3 (de) | 1968-11-12 | 1969-11-10 | Datenverarbeitungsanlage mit Assoziativspeichern |
Country Status (7)
Country | Link |
---|---|
US (1) | US3623158A (de) |
JP (1) | JPS5029776B1 (de) |
BE (1) | BE740523A (de) |
CA (1) | CA935940A (de) |
DE (1) | DE1956460C3 (de) |
FR (1) | FR2023028A6 (de) |
GB (1) | GB1234484A (de) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3761881A (en) * | 1971-06-30 | 1973-09-25 | Ibm | Translation storage scheme for virtual memory system |
BE788028A (fr) * | 1971-08-25 | 1973-02-26 | Siemens Ag | Memoire associative |
US3775756A (en) * | 1972-04-20 | 1973-11-27 | Gen Electric | Programmable special purpose processor having simultaneous execution and instruction and data access |
US3800293A (en) * | 1972-12-26 | 1974-03-26 | Ibm | Microprogram control subsystem |
US5812882A (en) * | 1994-10-18 | 1998-09-22 | Lanier Worldwide, Inc. | Digital dictation system having a central station that includes component cards for interfacing to dictation stations and transcription stations and for processing and storing digitized dictation segments |
JPH08263438A (ja) * | 1994-11-23 | 1996-10-11 | Xerox Corp | ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法 |
US8379538B2 (en) * | 2005-06-22 | 2013-02-19 | Hewlett-Packard Development Company, L.P. | Model-driven monitoring architecture |
US7251588B2 (en) * | 2005-06-22 | 2007-07-31 | Hewlett-Packard Development Company, L.P. | System for metric introspection in monitoring sources |
US20070003023A1 (en) * | 2005-06-22 | 2007-01-04 | Jerome Rolia | System and method for autonomously configuring a reporting network |
CN114500468A (zh) * | 2021-12-31 | 2022-05-13 | 宁波三星智能电气有限公司 | 一种解决表号冲突的缩位搜表方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE26171E (en) * | 1962-03-02 | 1967-03-07 | Multiprocessing computer system | |
US3388381A (en) * | 1962-12-31 | 1968-06-11 | Navy Usa | Data processing means |
US3290656A (en) * | 1963-06-28 | 1966-12-06 | Ibm | Associative memory for subroutines |
US3290659A (en) * | 1963-12-30 | 1966-12-06 | Bunker Ramo | Content addressable memory apparatus |
US3320594A (en) * | 1964-03-10 | 1967-05-16 | Trw Inc | Associative computer |
US3391390A (en) * | 1964-09-09 | 1968-07-02 | Bell Telephone Labor Inc | Information storage and processing system utilizing associative memory |
-
1968
- 1968-11-12 GB GB5351768A patent/GB1234484A/en not_active Expired
-
1969
- 1969-10-15 FR FR6935949A patent/FR2023028A6/fr not_active Expired
- 1969-10-20 BE BE740523D patent/BE740523A/xx unknown
- 1969-11-07 CA CA066919A patent/CA935940A/en not_active Expired
- 1969-11-10 DE DE1956460A patent/DE1956460C3/de not_active Expired
- 1969-11-10 US US875234A patent/US3623158A/en not_active Expired - Lifetime
- 1969-11-12 JP JP44090216A patent/JPS5029776B1/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
DE1956460B2 (de) | 1979-02-08 |
FR2023028A6 (de) | 1970-08-07 |
GB1234484A (de) | 1971-06-03 |
US3623158A (en) | 1971-11-23 |
BE740523A (de) | 1970-04-01 |
CA935940A (en) | 1973-10-23 |
JPS5029776B1 (de) | 1975-09-26 |
DE1956460A1 (de) | 1970-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE1931966C3 (de) | Datenverarbeitungsanlage mit Assoziativspeichern | |
DE2230102A1 (de) | Rechenwerk fuer variable wortlaengen | |
DE1146290B (de) | Elektronisches Datenverarbeitungssystem | |
DE2130299B2 (de) | Eingabe-/Ausgabekanal für eine Datenverarb eitungsanlage | |
DE1499200B2 (de) | Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung | |
CH650600A5 (de) | Zentralprozessoreinheit einer datenverarbeitungsanlage mit operationscode-erweiterungsregister. | |
DE3689389T2 (de) | Datenverarbeitungsprozessor. | |
DE2712224A1 (de) | Datenverarbeitungsanlage | |
DE1269393B (de) | Mikroprogramm-Steuerwerk | |
DE1929010B2 (de) | Modular aufgebaute datenverarbeitungsanlage | |
EP0010186B1 (de) | Vorrichtung zum Bearbeiten bezeichneter Hinweise | |
DE2054830C3 (de) | Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge | |
DE1774870C3 (de) | Einrichtung zur Adressierung einer Speicherzelle eines Speichers in einer Datenverarbeitungsanlage | |
DE1956460C3 (de) | Datenverarbeitungsanlage mit Assoziativspeichern | |
DE3689217T2 (de) | Datenverarbeitungseinrichtung mit einer Schaltung zur Prüfung der Adressgrenzen in einem virtuellen Speicher. | |
DE2336676B2 (de) | Einrichtung zur Modifizierung von Mikroprogrammbefehlen | |
DE2952163C2 (de) | Datenverarbeitungsanlage mit einem ersten und einem zweiten Prozessor | |
CH495584A (de) | Datenverarbeitungsanlage | |
DE2057587A1 (de) | Inhaltsadressierter Speicher | |
DE1184122B (de) | Addiervorrichtung | |
DE2952072A1 (de) | Einrichtung zur verarbeitung binaer codierter dezimalzahlen | |
DE2150292C2 (de) | Mikroprogrammgesteuerte Datenverarbeitungsanlage mit überlagerter Ausführung und Entnahme von Befehlen | |
DE2649147A1 (de) | Assoziativspeicher | |
DE2000608A1 (de) | Schaltungsanordnung fuer eine Nachrichtenverarbeitungs-,insbesondere fuer eine Nachrichtenvermittlungsanlage | |
DE2727188A1 (de) | Anordnung zum adressieren eines speichers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
8339 | Ceased/non-payment of the annual fee |