DE1956460C3 - Datenverarbeitungsanlage mit Assoziativspeichern - Google Patents

Datenverarbeitungsanlage mit Assoziativspeichern

Info

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
Application number
DE1956460A
Other languages
English (en)
Other versions
DE1956460A1 (de
DE1956460B2 (de
Inventor
Roger James Romsey Llewelyn
John Francis Winchester Minshull
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE1956460A1 publication Critical patent/DE1956460A1/de
Publication of DE1956460B2 publication Critical patent/DE1956460B2/de
Application granted granted Critical
Publication of DE1956460C3 publication Critical patent/DE1956460C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital 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/04Digital 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • G06F12/0848Partitioned cache, e.g. separate instruction and operand caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (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. 1 ein Blockschaltbild;
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.
Im vorliegenden Ausführungsbeispiel wird angenom-
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
Leitung 13 verbunden.
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
Hiespm Fall wenn es erfnrHerlirh ist eine opraHi
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.
Hierzu 3 Blatt Zeichnungen

Claims (4)

Patentansprüche:
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
DE1956460A 1968-11-12 1969-11-10 Datenverarbeitungsanlage mit Assoziativspeichern Expired DE1956460C3 (de)

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)

* Cited by examiner, † Cited by third party
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 ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法
US7251588B2 (en) * 2005-06-22 2007-07-31 Hewlett-Packard Development Company, L.P. System for metric introspection in monitoring sources
US8379538B2 (en) * 2005-06-22 2013-02-19 Hewlett-Packard Development Company, L.P. Model-driven monitoring architecture
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)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
FR2023028A6 (de) 1970-08-07
DE1956460A1 (de) 1970-09-03
US3623158A (en) 1971-11-23
BE740523A (de) 1970-04-01
DE1956460B2 (de) 1979-02-08
CA935940A (en) 1973-10-23
GB1234484A (de) 1971-06-03
JPS5029776B1 (de) 1975-09-26

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
DE2952072A1 (de) Einrichtung zur verarbeitung binaer codierter dezimalzahlen
DE2000608C3 (de) Schaltungsanordnung fuer eine Nachrichtenverarbeitungs-,insbesondere fuer eine Nachrichtenvermittlungsanlage
DE2150292C2 (de) Mikroprogrammgesteuerte Datenverarbeitungsanlage mit überlagerter Ausführung und Entnahme von Befehlen
DE2649147A1 (de) Assoziativspeicher
DE2727188A1 (de) Anordnung zum adressieren eines speichers
DE3340078A1 (de) Prozessor-zelle zur verwendung in einer aus derartigen zellen gebildeten anordnung

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
8339 Ceased/non-payment of the annual fee