DE2547488A1 - Mikroprogrammierte datenverarbeitungsanlage - Google Patents

Mikroprogrammierte datenverarbeitungsanlage

Info

Publication number
DE2547488A1
DE2547488A1 DE19752547488 DE2547488A DE2547488A1 DE 2547488 A1 DE2547488 A1 DE 2547488A1 DE 19752547488 DE19752547488 DE 19752547488 DE 2547488 A DE2547488 A DE 2547488A DE 2547488 A1 DE2547488 A1 DE 2547488A1
Authority
DE
Germany
Prior art keywords
column
buffer memory
type
data
address
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
Application number
DE19752547488
Other languages
English (en)
Other versions
DE2547488C2 (de
Inventor
Karl-Friedrich Dip Finkenmeyer
Kuno Dipl Ing Dr Roehr
Guenther Dipl Ing Sonntag
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.)
IBM Deutschland GmbH
Original Assignee
IBM Deutschland GmbH
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 IBM Deutschland GmbH filed Critical IBM Deutschland GmbH
Priority to DE2547488A priority Critical patent/DE2547488C2/de
Priority to US05/687,831 priority patent/US4047244A/en
Priority to FR7626310A priority patent/FR2329017A1/fr
Priority to GB40114/76A priority patent/GB1507284A/en
Priority to JP51116083A priority patent/JPS604493B2/ja
Publication of DE2547488A1 publication Critical patent/DE2547488A1/de
Application granted granted Critical
Publication of DE2547488C2 publication Critical patent/DE2547488C2/de
Expired legal-status Critical Current

Links

Classifications

    • 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/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram

Description

Aktenzeichen der Anmelderin: GE 975 034
Mikroprogrammierte Datenverarbeitungsanlage
Die Erfindung betrifft eine mikroprgrammierte Datenverarbeitungsanlage mit einem Hauptspeicher für Benutzerdaten und
Makroinstruktionen und einem Steuerspeicher für Mikroinstruktionen, sowie einem mit beiden Speichern verbundenen Prozessor.
Von modernen Datenverarbeitungsanlagen wird immer häufiger die Notwendigkeit der Speicherung großer Datenmengen im Hauptspeicher verlangt, die somit rasch zugreifbar sein sollen. Da
schnelle und große Speicher aber einen erheblichen Kostenfaktor darstellen, geht man dazu über, Speicherhierachien mit verschiedenen Aktualitätsebenen aufzubauen, deren Durchschnittsgeschwindigkeit einem schnellen, teuren Speicher entspricht.
Es ist in diesem Zusammenhang bekannt, zwischen den Hauptspeicher der Anlage und den Prozessor einen schnellen, kleinen Pufferspeicher zu schalten. Beispielsweise betragen die Zykluszeiten für den Hauptspeicher, der in diesem Falle auch Hintergrundspeicher genannt werden kann, 1 bis 5 MikroSekunden und
für den schnellen Pufferspeicher 300 ns. Für die gesamte Hierachie ergibt sich dann eine Zugriffszeit, die etwas über der
Zykluszeit des schnellen Pufferspeicher, jedoch weit unter der Zykluszeit des Hauptspeichers liegt.
709817/0890
Die Verwendung eines schnellen Pufferspeichers schafft jedoch eine Reihe von Problemen, die im wesentlichen mit der Wahl der geeigneten Parameter wie Puffergröße, Assoziativ!tat, Austauschmechanismus, usw. zusammenhängen. Unter Assoziativ!tat versteht man dabei das Abbildungsverhältnis von Hauptspeicherplätzen auf Pufferspeicherplätze. Im allgemeinen Fall kann z.B. vorgesehen werden, daß ein Datenbereich vom Hauptspeicher überall im Pufferspeicher gespeichert werden kann und somit eine volle Assoziativ!tat erreicht wird. Um den Datenbereich im Pufferspeicher wieder auffinden zu können, muß ein Pufferadressenfeld vorgesehen werden, das zu jedem Datenbereich den jeweiligen Pufferspeicherplatz angibt. Es leuchtet ein, daß dieses Pufferadressenfeld In diesem allgemeinen Fall sehr umfangreich wird und komplizierte Steuereinrichtungen erfordert. Eine ein-I fächere Anordnung kann dann erzielt werden, wenn gefordert wird, daß ein bestimmter Datenbereich nur innerhalb vorgegebener geometrischer Grenzen des Pufferspeichers gespeichert werden kann. Die Adressierung des Pufferadreßfeldes und die immer notwendige Feststellung, ob ein bestimmter Datenbereich sich zur Zeit im Pufferspeicher befindet wird durch eine solche beschränkte Assoziativität wesentlich vereinfacht.
Da im Pufferspeicher naturgemäß nur ein Teil der Daten vom Hauptspeicher gespeichert werden können, muß oft bei der Speicherung eines neuen Datenbereiches im Pufferspeicher ein alter
Bereich aus dem Pufferspeicher entfernt werden. Die Wahl dieses alten Bereiches erfolgt mit Hilfe eines Austauschfeldes, das in Abhängigkeit von der vorgesehenen Assoziativität jeweils einen Bereich angibt, der zum Austausch geeignet ist. Der Bereichsaustausch erfolgt dabei nach verschiednen Algorithmen, von denen der FIFO (First In First Out) Algorithmus und der LRU (Least Recently Used) Algorithmus die gebräuchlichsten sind. Nach dem FIFO-Algorithmus wird unter allen in Betracht kommenden Datenbereichen derjenige Bereich ausgetauscht, der als erster in den Pufferspeicher eingelesen worden war. Nach dem LRU-Algorithmus wird unter allen in Betracht kommenden Be-
GE 975 034
709817/0898
reichen derjenige Bereich ausgetauscht, dessen letzte Verwendung zeitlich am weitesten zurückliegt.
Es leuchtet ein, daß nicht so sehr der kleine schnelle Pufferspeicher, sondern die zu seiner Verwendung notwendigen Steuereinrichtungen wie Pufferadreßfeld, Austauschfeld und Fortschreibelogik für das Austauschfeld einen großen Aufwand darstellen. Abgesehen von den Einrichtungskosten erfordert jede Adressierung des Pufferspeichers auch eine Ansteuerung der genannten Steuereinrichtungen die insgesamt sehr zeitaufwendig sein kann.
Aber nicht nur bezüglich der Benutzerdaten und Makroinstruktionen, sondern auch bezüglich der Mikroinstruktionen in einer mikroprogrammierten Datenverarbeitungsanlage wird immer mehr die Forderung nach größerem Speicherbedarf für den Mikroinstruktions-! Steuerspeicher erhoben. Da sich die Kosten neuerer Datenverarbeitungsanlagen immer mehr und mehr in die Software verlagern, geht die Tendenz dahin, bisher als reine Software-Teile bekannte Funktionen mehr und mehr ins Mikroprogramm zu verlagern. Bei diesen Teilen kann es sich z.B. im Zusammenhang mit Speicherhierachien, die virtuell adressiert werden, um die Speicherplatzverwaltung, die Programmaufteilung für die einzelnen zu verarbeitenden Aufgaben, um die Zuteilung von Einrichtungen der Anlage, usw. handeln. Die Gründe für die Verlagerung von Software in Hardware können auch wie folgt angegeben werden:
- Größere Effektivität, da die zu lösenden Probleme näher an der Hardware der Maschine liegen,
- größere Flexibilität innerhalb einer kompatiblen Serie von Maschinen, indem leistungsbringende Teile direkt als Hardware ausgeführt werden können,
- größere Benutzerfreundlichkeit durch mehr Automatismen und
- einfacheres und damit sichereres Betriebssystem.
GE 975 034
709817/0890
Eine solche Verlagerung kann jedoch mit sich bringen, daß das Mikroprogramm eine Größenordnung von 1 Megabyte erreicht. Es ist klar, daß eine solch große Mikroprogrammenge nicht mehr in einem schnellen Speicher bereitgehalten werden kann. Während ] man früher der Geschwindigkeit wegen die Makroinstruktionen in Festwertspeichern bereithielt, kommt nunmehr für eine solch große Mikroprogrammenge diese Lösung nicht mehr in Betracht. Man ist auch bereits dazu übergegangen (siehe z.B. US-PS 3 478 322) das Mikroprogramm in veränderbaren Speichern zu speichern. Die Verwendung von Mikroprogrammengen von einem Megabyte macht jedoch die Verwendung einer Speicherhierachie notwendig. Eine solche Hierachie ist z.B. aus der DT-OS 23 39 636 bekannt. Auch hier ergeben sich jedoch bei der Verwendung eines schnellen Pufferspeichers für Mikroinstruktionen die oben im Zusammenhang mit der Verwendung eines Pufferspeichers für Benutzerdaten beschriebenen Nachteile. Die optimale Puffergröße, Assoziativität ist schwer zu bestimmen und die notwendigen Steuereinrichtungen (Pufferadreßfeld, Austauschfeld, Steuerlogik) stellen einen erheblichen Kostenfaktor dar. Die optimalen Pufferspeicher-Parameter sind außerdem bei der Konstruktion der Maschine noch gar nicht zu bestimmen, da diese in nicht geringem Maße von der Art der Verwendung der Maschine durch den Benutzer abhängen.
Der Aufwand für die Steuereinrichtungen zu den verschiedenen Pufferspeichern wird außerdem noch ganz wesentlich erhöht, wenn die Datenverarbeitungsanlage als Multiprozessoranlage ausgeführt ist, da dann für jeden Prozessor diese Einrichtungen vorgesehen werden müssen und die Einrichtungen außerdem noch durch den Multipro zes sorbetrieb und die damit zusammenhängende Datenaktualität in den einzelnen Pufferspeichern kompliziert werden.
Trotz des offensichtlich erhöhten Aufwandes erfolgt in den bekannten Einrichtungen die übertragung von Benutzerdaten und Makroinstruktionen einerseits und die übertragung von Mikroinstruktionen andererseits zum Prozessor auf streng getrennten Wegen. Dies findet seinen Grund darin, daß es sich bei diesen beiden Datentypen um von Grund auf verschiedene Arten von In-
GE 975 034
709817/0898
formationen handelt. Zur Übertragung der beiden Typen sind verschiedene Sammelleitungen vorgesehen, die sich hinsichtlich der zu übertragenden Datenmenge und der übertragungsgeschwindigkeit unterscheiden.
Während der Unterschied von Benutzerdaten zu Mikroinstruktionen ohne weiteres einleuchtet, soll hier der Unterschied von Makroinstruktionen einerseits und Mikroinstruktionen andererseits noch einmal deutlich hervorgehoben werden. Die gemeinsame Abspeicherung von Makroinstruktionen und Daten erfolgt im wesent-[liehen deshalb, weil die modernen Datenverarbeitungsanlagen [eine gleiche Behandlung von Makroinstruktionen und Daten erfor-I dem. Hauptsächlich geht es dabei darum, daß die Anlage die Möglichkeit haben muß, Makroinstruktionen genauso wie Daten zu bearbeiten und modifizieren und damit die Programmabläufe und evtl. Programmverzweigungen flexibel gestalten zu können. Bei den Mikroinstruktionen andererseits liegen die Verhältnisse jedoch völlig anders. Da es sich bei den Mikroinstruktionen um einen sogenannten interpretierenden Code handelt, würde die Anwendung des oben beschriebenen von Neumann-Prinzipes, d.h. die gemeinsame Abspeicherung von Daten und Makroinstruktionen im Hauptspeicher und die Instruktionsmodifizierung, keine Vereinfachung der Prograramiertechnik bringen. Daher sind in den meisten Datenverarbeitungsanlagen verschiedene Speicher für Makroinstruktionen und Daten einerseits und für Mikroinstruktionen andererseits vorgesehen. Wo dennoch aus Kostengründen ein gemeinsamer Speicher vorgesehen ist, enthält dieser logisch zwei klar voneinander abgegrenzte Adreßräume, die für die beiden eindeutig unterschiedlichen Typen von Informationen benutzt werden (siehe z.B. IBM TDB Mai 1973, Seite 3799).
Die oben beschriebenen Lösungen zur Bereitstellung von großen I Mikroprogrammengen können daher infolge des hohen Aufwandes nicht j befriedigen. Dieser hohe Aufwand ergibt sich im wesentlichen durch die Bereitstellung von zwei getrennten Zuführungswegen für die | beiden genannten Inforraationsarten zum Prozessor. Obwohl einer- |
i GE 975 034
7Ο9Π17/ΟΟ30
seits solche getrennten Wege in manchen Fällen einen Zeitvorteil dadurch bringen können, daß Vorgänge auf beiden Wegen gleichzeitig ablaufen können, ist andererseits der doppelte Aufwand, und bei Multiprozessoren der mehr als doppelte Aufwand für kleinere und mittlere Datenverarbeitungsanlagen nicht zu vertreten.
Der Erfindung liegt daher die Aufgabe zugrunde, eine.n raschen Zugriff des Prozessors zu großen Mikroprogrammengen zu ermöglichen und den Aufwand für die dazu nötigen Einrichtungen zu verringern.
Die erfindungsgemäße Lösung dieser Aufgabe ist im Kennzeichen des Hauptanspruches beschrieben.
Dadurch, daß der Verbindungsweg zwischen Prozessor und Steuerspeicher über einen Pufferspeicher verläuft, wird ein rascher Zugriff zu den Mikroinstruktionen erzielt. Da jedoch der Pufferspeicher für beide Informationsarten, d.h. für Benutzerdaten und Makroinstruktionen einerseits und Mikroinstruktionen andererseits gemeinsam ist und auch die zur Benutzung eines Pufferspeichers notwendigen und aufwendigen Steuereinrichtungen gemeinsam benutzt werden, wird der Aufwand ganz wesentlich herabgesetzt. Durch die gemeinsame Benutzung des Pufferspeichers wird außerdem eine bessere Ausnutzung des Pufferspeichers erzielt.
Eine vorteilhafte Weiterbildung der Erfindung ist dadurch gekennzeichnet, daß Grenzwerte bezüglich der Raumaufteilung im Pufferspeicher in zwei dafür vorgesehenen Registern festgehalten werden. Hierdurch wird die Möglichkeit zu einer weiteren vorteilhaften Ausbildung gegeben, die darin besteht, daß die Raumaufteilung im Pufferspeicher je nach Bedarfsfall vollüberlappend, teilüberlappend und für beide Informationsarten getrennt erfolgen kann. Da beide Informationsarten die gleichen Steuereinrichtungen benutzen wird bei Überlappung der für die einzelnen Informationstypen vorgesehenen Pufferspeicherbereiche automatisch
GE 975 034
709817/0898
eine selbstadaptierende Aufteilung erzielt. Im überlappten Gebiet des Pufferspeichers wird dabei Speicherplatz für den Informationstyp bereitgestellt, der zuerst Speicherplatz verlangt. Andererseits bietet die Teilüberlappung die Gewähr dafür, daß keiner der beiden Informationstypen den Pufferspeicher für sich monopolisieren kann. Es bleibt also zumindest ein Teilbereich des Pufferspeichers jeweils nur für eine der beiden Informationsarten reserviert. Das Setzen der beiden Grenzwertregister kann vom Mikroprogramm oder vom Benutzerprogramm aus geschehen, wodurch eine äußerst flexible Speicherraumaufteilung und eine jederzeit mögliche Anpassung an spezielle Benutzerprogramme möglich ist.
Eine weitere vorteilhafte Weiterbildung der Erfindung bezieht sich auf eine teilassoziative Abbildung des Hauptspeichers auf 'den Pufferspeicher. Hierbei kann z.B. der Pufferspeicher eine bestimmte Anzahl von Spalten aufweisen. In den Grenzwertregistern ! kann dann einfach die maximale Spaltenanzahl angegeben werden, ! in denen Information eines bestimmten Typs gespeichert werden j darf. Die Organisation des Austauschfeldes, des Pufferadreßfeldes und der Steuerlogik wird dabei ganz wesentlich vereinfacht.
Vorteilhafterweise kann dabei der Pufferspeicher so organisiert • sein, daß jeweils in einer Spalte eine bestimmte Anzahl von Datenbereichen gespeichert wird. Durch diese Assoziativität ergibt sich ein einfacher Aufbau des Pufferadreßfeldes, des Austauschfeldes und der Steuerlogik, da die Bereichsadresse zu-, gleich die Adresse der jeweiligen Zeile in diesen Feldern angibt.
Weitere vorteilhafte Weiterbildungen sind den restlichen Unteransprüchen zu entnehmen.
^975034 709817/0898
Ein Ausführungsbeispiel der Erfindung soll nun anhand der Zeichnung beschrieben werden.
Es zeigen:
Fig. 1 ein Blockschaltbild einer Datenverarbeitungsanlage mit der erfindungsgemäßen Speicherhierachie,
Fig. 2 eine genauere Darstellung der in Fig. 1 gezeigten
Anordnung,
Fig. 3 die Adressierungswege der Speicherhierachie,
Fig. 4 eine Decodier- und Auswahlschaltung, j
i Fig, 5 eine Prioritätsschaltung, !
Fig. 6 die Funktionsweise eines Austauschfeldes nach dem
FIFO-Algorithmus, und
Fig. 7 die Funktionsweise eines Austauschfeldes nach dem
LRV-Algorithmus. [
Fig. 1 zeigt in übersichtlicher Form eine Datenverarbeitungsanlage mit einer Speicherhierachie. Dabei wurden die zum Verständnis der vorliegenden Erfindung unwesentlichen Teile einer solchen Datenverarbeitungsanlage, wie z.B. der Eingangs/Ausgangs-Teil weggelassen. In der gezeigten Anlage ist für das Bejnutzerprogramm, das aus Makroinstruktionen und die bei der Bearbeitung dieses Programmes nötigen Daten besteht ein Hintergrund- ;speicher 2 vorgesehen. Ein weiterer Hintergrundspeicher 4 ist i für das Mikroprogramm vorgesehen. Der Informationstyp im Spei-
eher 2 soll weiterhin mit L und der Informationstyp im Speicher 4 weiterhin mit C bezeichnet werden. Bei den Hintergrundspeiehern j 2 und 4 handelt es sich um Speicher wie sie als Hauptspeicher in Datenverarbeitungsanlagen bekannt geworden sind. Diese Speicher sind zumeist als Magnetkernspeicher oder monolithische Speicher ;ausgeführt.
GE 975 034
709817/0898
Die vom Prozessor 8 benötigten Informationen sowohl des einen ;als auch des anderen Typs werden dem Prozessor über einen für jbeide Informationsarten L und C gemeinsamen Pufferspeicher 6 ^zugeführt. Die Kapazität des Pufferspeichers 6 kann dabei bei-S den Informationsarten vollüberlappend zur Verfügung stehen, oder es können, wie in Fig. 1 angedeutet, eine oder mehrere verschiebbare Grenzen im Pufferspeicher 6 vorgesehen werden, die den für !die einzelnen Informationstypen zur Verfügung stehenden Speicherplatz begrenzen. Je nach Art der angeforderten Informationen werden diese im Prozessor entweder in das Operandenregister 26 oder in das Mikroinstruktionsregxster 28 geladen. Die beiden Informationsarten werden durch ein Bit in der vom Prozessor gelieferten Adresse unterschieden. Dieses Bit ist mit L/C angegeben.
Mit der vom Prozessor 8 im Register 24 bereitgestellten Adresse zur Adressierung des Pufferspeichers wird zunächst ein Pufferadreßfeld 10 abgefragt um festzustellen, ob sich die durch diese Adresse angegebenen Daten überhaupt im Pufferspeicher befinden. Diese Aussage wird von einem Vergleicher 20 geliefert, der dann die zur Adressierung des Pufferspeichers nötige Adresse in das Pufferspeicheradreßregister 22 setzt. Wird nur ein einzelnes Byte gewünscht, kann der betreffende niederwertige Teil der Pufferspeicheradresse dazu benutzt werden, um im Datenregister 29, in das die Daten vom Pufferspeicher 6 ausgelesen werden, ein oder mehrere Bytes auszuwählen.
Sind die gewünschten Daten nicht im Pufferspeicher vorhanden, müssen diese Daten aus dem betreffenden Hintergrundspeicher 2 oder 4 geholt werden und dazu gegebenenfalls ein entsprechender Speicherplatz im Pufferspeicher 6 freigemacht werden. Zur Angabe des freizumachenden Speicherplatzes dient das Austauschfeld 12 in Zusammenarbeit mit der Pufferspeichersteuerlogik 14.
GE 975 034
709817/0898
Da im Pufferspeicher 6 im allgemeinen Falle beide Informationsarten L und C gespeichert sind, müssen beim Austausch eines Datenbereiches unter Umständen gewisse Grenzen beachtet werden. Wenn nämlich im Pufferspeicher 6 Daten vom Typ L nur in einem bestimmten Gebiet und Daten vom Typ C nur in einem anderen bestimmten Gebiet gespeichert werden dürfen, muß auch entsprechend der Austausch so erfolgen, daß bei notwendiger übertragung von neuen Daten eines bestimmten Typs in den Pufferspeicher 6 nur Daten desselben Typs ausgetauscht werden. Zur Angabe der dabei zu beachtenden Grenzen dienen das L-Register 16 und das C-Register 18. Die in diesen Registern gespeicherten Grenzen werden von der Pufferspeichersteuerlogik 14 bei der Auswertung der vom Austauschfeld 12 gelieferten Austauschinformation entsprechend berücksichtigt. Eine genauere Beschreibung der Funktionsweise der in Fig. 1 gezeigten Einheiten erfolgt nachfolgend anhand von Fig. 2.
Sofern bei der Abbildung der Daten von den Hintergrundspeichern und 4 in den Pufferspeicher 6 keine geometrischen Grenzen vorgegeben sind, können auch die beiden Register 16 und 18 Grenzen in allgemeiner Form speichern, so daß eine äußerst flexible Aufteilung des Pufferspeichers 6 auf die beiden Informationsarten L und C erzielt wird.
Zur genaueren Beschreibung der Abbildungsverhältnisse zwischen Hauptspeicher und Pufferspeicher, der Organisation des Pufferadreßfeldes und des Austauschfeldes und der möglichen Austauschalgorithmen kann auf die beiden deutschen Offenlegungsschriften DT-OS 19 56 604 und DT-OS 18 15 234 verwiesen werden. Darin sind auch die zur Datenübertragung zwischen Hauptspeicher und Pufferspeicher notwendigen Einrichtungen beschrieben.
Fig. 2 zeigt in ausführlicher Form die in Fig. 1 gezeigte Ein-. richtung. Insbesondere sind in Fig. 2 diejenigen Einrichtungen genauer beschrieben, die sich aus der gemeinsamen Verwendung des Pufferspeichers 6 für die beiden Datentypen L und C ergeben.
GE 975 034
709817/0898
Von den in Fig. 1 gezeigten Einrichtungen sind in Fig. 2 wieder ; das Pufferadressenfeld 10 und das Austauschfeld 12, sowie der Vergleicher 20 gezeigt. Die in Fig. 1 mit 14 bezeichnete Pufferispeicher-Steuerlogik ist in Fig. 2 wesentlich ausführlicher dar-
j gestellt und im wesentlichen im rechten Teil der Figur zu sehen. Diese Logik soll weiter unten noch ausführlich beschrieben werden. i Zunächst soll aber die Adressierung des Pufferspeichers beschrie-Iben werden. Zahlen in Klammern geben dabei jeweils die Anzahl der j Bits auf der entsprechenden Leitung, oder im entsprechenden Re- !gisterabschnitt an.
!Die vom Prozessor 8 bereitgestellt Adresse wird in das Register 24 geladen und weist 24 Bits auf. Im einzelnen ist diese Adresse aus folgenden Feldern zusammengesetzt:
Im Feld 24a ist ein Bit gespeichert, das im weiteren Verlauf stets als L/C-Bit bezeichnet werden soll. Dieses Bit gibt an, ob die vom Prozessor gewünschten Daten vom Typ L oder C sind.
Im Feld 24b wird eine Blockadresse gespeichert, die aus 12 Bits besteht, so daß vom Prozessor 4k Blöcke adressiert werden können.
Im Feld 24c ist eine Bereichsadresse gespeichert, die 6 Bits umfaßt, so daß in jedem Block 64 Bereiche adressiert werden können.
In den Feldern 24d und 24e ist eine Zeilenadresse und eine Byteadresse gespeichert, deren Bedeutung weiter unten im Zusammenhang mit Fig. 3 noch näher erläutert werden wird.
Aus Fig. 2 ist ersichtlich, daß das Pufferadressenfeld 10 und das Austauschfeld 12 jeweils 4 Spalten aufweisen. Die Spalten des Feldes 10 sind mit 0 bis 3 bezeichnet, während die Spalten des Feldes 12 mit 12a bis 12d bezeichnet sind. In jeder Spalte des Feldes 10 sind in einer Zeile ein L/C-Bit und eine Blockadresse gespeichert. Im Austauschfeld 12 sind in jeder Zeile die vier Spaltennummern 0 bis 3 des Pufferadressenfeldes 10 in der Reihen-
"■975034 709817/0898
folge von links nach rechts gespeichert, in der die betreffenden Spalten für einen Austausch vorgesehen sind. Dabei kann vorzugsweise in der Spalte 12a die Spaltennummer angegeben sein, die als nächste zum Austausch vorgesehen ist.
Die Organisation des Pufferspeichers 6 und dessen Adressierung soll nun anhand von Fig. 3 näher beschrieben werden.
Nach der in Fig. 3 gezeigten Organisation ist für die Speicherung von Datenbereichen vom Hxntergrundspeicher in den Pufferspeicher eine vier-Weg-Assoziativität vorgesehen. Der Pufferspeicher 6, das Pufferadressenfeld 10 und das Austauschfeld 12 sind demnach in vier Spalten organisiert. Im Pufferspeicher können in einer Spalte in 64 Bereichszeilen je ein Datenbereich B gespeichert j werden, wobei ein einzelner Datenbereich jeweils wiederum vier : Zeilen aufweist, die in Fig. 3 im Pufferspeicher 6 in der ersten Bereichszeile oben gezeigt sind. Entsprechend den 64 Bereichen in einer Spalte des Pufferspeichers weisen auch das Pufferadressenfeld 10 und das Austauschfeld 12 jeweils 64 Zeilen auf. Wird nun im Pufferspeicher in einer bestimmten Spalte ein Datenbereich gespeichert, so wird dessen Blocknummer in der entsprechenden Spalte und Zeile im Pufferadressenfeld 10 gespeichert. Ist also z.B. der Bereich 15 in der Spalte 2 des Pufferspeichers gespeichert, so wird die Blocknummer dieses Bereiches im Adressenfeld 10 auch in der Spalte 2, und zwar in der 15. Zeile zusammen mit dem L/C-Bit angegeben.
Dies hat den Vorteil, daß mit der Bereichsadresse im Feld 24c j sofort eine Zeile des Pufferadressenfeldes 10 als auch eine bestimmte Bereichszeile im Pufferspeicher 6 adressiert werden kann. Hierzu sind die Adressendecoder 11 und 15 vorgesehen. Die Adressierung einer der vier Zeilen in dem gewünschten Bereich erfolgt mit Hilfe der Zeilenadresse im Feld 24d und des Adressendecoders 19. Jede dieser vier Zeilen des Datenbereiches umfaßt z.B.
GE 975 034
709817/0898
2547483
- T3 -
; acht Datenbytes die parallel in das Datenregister 29 ausgelesen werden. Je nach Breite der vorgesehenen Übertragungswege zum j Prozessor kann von diesen acht Bytes ein einzelnes Byte durch eine im Feld 24e gespeicherte, und aus 3 Bits bestehende Byteadresse ausgewählt werden.
Zur Feststellung ob ein bestimmter Datenbereich im Pufferspeicher vorhanden ist, muß die zu diesem Bereich gehörende Blockadresse j mit den im Pufferadressenfeld gespeicherten Blockadressen ver-Iglichen werden. Da die zu einem bestimmten Bereich, z.B. zum Beireich 15 gehörenden Blockadressen nur in einer einzigen Zeile, ;in diesem Fall in der 15. Zeile des Feldes 10 gespeichert sein !können, kann dieser Vergleich auf einfache Weise erfolgen. Die !entsprechenden Blockadressen werden hierzu vom Feld 10 in dem Vergleicher 20 ausgelesen und darin mit der vom Prozessor angegebenen Blockadresse parallel verglichen. Wird in einer der Spalten ein übereinstimmender Vergleich festgestellt, liefert der Vergleicher 20 an seinem Ausgang 80 ein entsprechendes Signal. Zugleich wird von einem Codierer 30 die betreffende Spalte festgestellt und der Codierer erzeugt die dieser Spalte entsprechende 2-Bit-Spaltenadresse, die in das entsprechende Feld des Pufferspeicher-Adreßregisters 22 geladen wird. Die gewünschte Spalte und die gewünschte Datenbereichszeile können nun über die Adressendecodierer 17 und 15 adressiert werden. Die gewünschte Zeile des Bereiches wird vom Adressendecodierer 19 ausgewählt.
Wird jedoch kein übereinstimmender Vergleich (HIT) sondern ein negativer Vergleich (MISS) festgestellt, heißt das, daß der gewünschte Bereich zur Zeit nicht im Pufferspeicher gespeichert ist und also vom Hauptspeicher in den Pufferspeicher geholt werden muß. Hierzu muß im allgemeinen Fall erst ein entsprechender Bereich vom Pufferspeicher 6 im Austausch zum Hintergrundspeicher rückübertragen werden. Handelt es sich bei dem Bereich jedoch um Mikroinstruktionen, kann die Rückübertragung entfallen, da die Mikroinstruktionen vom Prozessor im allgemeinen Fall nicht verändert werden. Bezüglich der Rückübertragung ist es bekannt, im
GE 975 034
709817/0898
Pufferadressenfeld zu jeder Blockadresse noch ein Gültigkeitsbit und ein Veränderungsbit zu speichern, die angeben ob die betreffende Information noch gültig ist, bzw. verändert worden ist. Abhängig von diesen beiden Steuerbits kann auch bei Daten des Typs L im gegebenen Fall von einer Rückübertragung abgesehen werden.
Zeigt also der Vergleicher 20 durch ein MISS-Signal an seinem Steu· erausgang 80 an, daß ein Austausch eines Datenbereiches im Pufferspeicher 6 stattfinden muß, stellt die Logik 14 aufgrund der im Austauschfeld 12 gespeicherten Information fest, in welcher Spalte des Pufferspeichers der betreffende Bereich ersetzt werden soll Die entsprechende Zeile in den Feldern 10 und 12, sowie im Pufferspeicher ist ja bereits durch die Bereichsadresse zusammen mit den Adressendecodierern 11, 13 und 15 gegeben.
Bezüglich der Austauschstrategie sind bereits mehrere Algorithmen bekannt geworden, von denen hier der FIFO (First In First Out)-Algorithmus und der LRU (Least Resently Used)-Algorithmus anhand der Fign. 6 und 7 besprochen werden sollen. Nach dem FIFO-Algorithmus muß unter den vier in Betracht kommenden Datenbereichen der Bereich mit derjenigen Blocknummer ausgetauscht werden, die zuerst in das Adressenfeld 10 eijigelesen worden war. Von der in Fig. 2 gezeigten Fortschreibe- und Austauschlogik 38, die Teil ist der in Fig. 3 gezeigten Logik 14 wird dazu jedesmal bei einem MISS Signal 80 die in Spalte 12a des Austauschfeldes gespeicherte Spaltenzahl 0 bis 3 in die Spalte 12d übertragen und die restlichen Spaltennummern in dieser Zeile durch ein Signal auf der Leitung70 nach links verschoben. Beim Ersatz einer Spalte wird also die entsprechende Spaltennummer ans Ende der Kette gesetzt und kommt demnach erst wieder nach weiteren drei Verschiebungen dran. Block 601 von Fig. 6 zeigt den Inhalt der entsprechenden Zeile des Austausch feldes 12 vor dem MISS-Signal 80 und Block 602 den Inhalt dieser ! Zeile nach der Verschiebung. Im gezeigten Fall wird also der Be-J reich desjenigen Blockes ersetzt, dessen Blocknummer in Spalte 1
GE 975 034
709817/0898
des Adressenfeldes 10 gespeichert ist und kommt als nächster Bereich der Bereich dran, dessen Blocknummer in Spalte 2 des Feldes 1O gespeichert ist.
Wird jedoch nach dem LRU-Algorithmus gearbeitet, muß der Inhalt des Austauschfeldes 12 nach jeder Adressierung des Pufferspeii chers fortgeschrieben werden. Dabei wird die Nummer der refe-I rierten Spalte jeweils ans Ende der Kette gesetzt und wenn notwendig die übrigen Spaltennummern nach links verschoben. In einer Zeile des Austauschfeldes gibt also die Spaltennummer j ganz rechts die Spalte an, deren Benutzung zeitlich am wenigsten zurückliegt und gibt die Spaltennummer in der Kette ganz links die Spalte an, deren Benutzung zeitlich am weitesten zurückliegt und die daher zum Austausch vorgesehen werden soll, sofern zumindest der Informationstyp des betreffenden Bereiches keine Rolle spielt.
i
Block 701 in Fig. 7 zeigt den Inhalt der der Bereichsadresse ent-, sprechenden Zeile im Austauschfeld 12 vor einem Zugriff zu Spalte 0 im Pufferspeicher 6 und Block 702 den Inhalt dieser Zeile nach •dem Zugriff. Erzeugt der Vergleicher 20 ein MISS-Signal wird natür* lieh zusätzlich die betreffende Zeile im Feld 12 um eine Stelle nach links verschoben, wobei die Spaltenzahl in der Spalte 12a j nunmehr in der Spalte 12d gespeichert wird.
j Das in Fig. 3 gezeigte Beispiel bezieht sich auf einen Pufferspeicher mit z.B. 8k Bytes, da in jeder der vier Spalten des Pufferspeichers 64 Bereiche zu je vier Zeilen gespeichert sind, wobei jede dieser Zeilen eines Bereiches acht Bytes speichern j kann. Die gezeigten Größenordnungen und insbesondere die im Ausführungsbeispiel gewählte 4-Weg-Assoziativität sind jedoch nur als Beispiel gedacht und sollen insbesondere klarmachen, daß zum Betrieb eines derartigen Pufferspeichers relativ aufwendige Steuereinrichtungen nötig sind. Sollen bei der Abbildung der Daten vom Hintergrundspeicher auf den Pufferspeicher keine Beschränkungen
GE 975 034
709817/0898
gelten, soll also irgendein Bereich in jeder beliebigen Zeile und Spalte des Pufferspeichers gespeichert werden können, muß 1 ein dementsprechend komplizierteres Pufferadressenfeld und Austauschfeld vorgesehen werden um diese volle Assoziativität zu erhalten.
Die gemeinsame Benutzung des Pufferspeichers 6 für Daten aus beiden Hintergrundspeichern 2 und 4 soll nun anhand von Fig. 2 näher beschrieben werden. Das ursprüngliche Laden des Pufferspeichers kann z.B. so erfolgen, daß für eine bestimmte Bereichsnummer die Spalten zunächst von links nach rechts gefüllt werden. Setzt nun der in Fig. 1 gezeigte Prozessor 8 eine Adresse ins Adreßregister 24, gibt er zugleich an, ob eine Lese- oder Schreiboperation im Pufferspeicher 6 gewünscht wird. Bei Schreiboperationen wird hierbei das oben erwähnte Wechselbit gesetzt, während das Gültigkeitsbit z.B. bei Multiprozessorbetrieb von anderen Prozessoren gesetzt werden kann.
Da es sich bei den vom Prozessor 8 gewünschten Daten um Daten vom Typ L oder C handeln kann, genügt es nicht mit Hilfe des Pufferadressenfeldes 10 und des Vergleichers 20 festzustellen, ob die im Feld 24b des Registers 24 gespeicherte Blockadresse in der adressierten Zeile des Feldes 10 gespeichert ist. Es muß außerdem noch eine Übereinstimmung bezüglich des L/C-Bits im Feld 24a und des zu der gleichen Blockadresse in der adressierten Zeile des Feldes 10 gespeicherten L/C-Bits festgestellt werden. Die betreffenden 13 Bits in den Feldern 24a und 24b der Pufferspeicheradresse werden also parallel mit den 13 Bits aus jeder der Spalten 0 bis 3 des Feldes 10 verglichen. Der Vergleicher 20 liefert an seinem Ausgang 80 ein Signal HIT/MISS. Bei einem HIT erzeugt der Codierer 30 die betreffende Spaltenadresse und setzt sie über das ODER-Glied 32 in das Pufferadressenregister 22.
Bei einem HIT wird der Pufferspeicher adressiert und das Austauschfeld 12 von der Fortschreibe- und Austauschlogik 38 je nach gewähltem Austauschalgorithmus fortgeschrieben.
GE 975 034
709817/0898
— Γτ —
Wird jedoch kein positiver Vergleich festgestellt und somit auf der Leitung 80 ein MISS-Signal erzeugt, muß im Pufferspeicher 6 ein Datenbereich ersetzt werden. Da jedoch der Pufferspeicher 6 gemeinsam für Daten des Typs L und C benutzt wird, muß der Austausch davon abhängig gemacht werden, ob ein Bereich L oder ein Bereich C gewünscht wurde und ob hinsichtlich der Speicherraumaufteilung für beide Informationstypen irgendwelche Beschränkungen bestehen.
Bei der gemeinsamen Benutzung des Pufferspeichers 6 durch beide Informationstypen L und C sind mehrere Fälle zu unterscheiden. Im allgemeinen Fall kann vorgesehen werden, daß der gesamte Pufferspeicher 6 von beiden Informationstypen gemeinsam benutzt werden kann. Wird z.B. ein Mikroinstruktionsbereich gewünscht, so wird je nach gewählten Austauschalgorithmus ein Bereich freigemacht und der gewünschte Bereich in den Pufferspeicher 6 geladen.
Dies kann jedoch dazu führen, daß der häufiger gebrauchte Informationstyp den anderen Typ aus dem Pufferspeicher 6 verdrängt, den Speicherraum somit für sich monopolisiert. Es ist deshalb nützlich, jeweils ein bestimmtes Gebiet des Pufferspeichers 6 für den einen und für den anderen Informationstyp zu reservieren. Dabei kann so vorgegangen werden, daß ein Teil des Pufferspeichers 6 ausschließlich für den einen Typ und der restliche Teil ausschließlich für den anderen Informationstyp vorgesehen wird. Bei dieser starren Aufteilung kann es jedoch vorkommen, daß die Grenze zwischen beiden Gebieten nicht optimal verläuft. Es ist deshalb vorteilhafter, zwei Grenzen vorzusehen, wodurch der Pufferspeicher 6 in drei Gebiete verteilt wird. Ein erstes Gebiet ist dabei ausschleißlich für den Typ L, ein zweites Gebiet ausschließlich für den Typ C und der restliche Teil des Pufferspeichers 6 überlappend für beide Informationstypen vorgesehen. In diesem überlappenden Gebiet ergibt sich durch die gemeinsame
GE 975 034
709817/0898
Benutzung der Steuereinrichtungen des Pufferspeichers 6 und insbesondere des Pufferadressenfeldes 10 und des Austauschfeldes 12 eine selbstadaptierende Speicherraumaufteilung. Die Aufteilung wird sich dabei nach dem momentanen Verhältnis der Zugriffsraten I und Trefferwahrscheinlichkeiten (HIT-Signale) einstellen. Bei un-
; terschiedlich schnellen Hintergrundspeichern 2 und 4, z.B. durch I verschiedene Technologien oder unterschiedlicher Größe bedingt, oder bei unterschiedlich schnellen Sammelleitungssystemen zwischen den Hintergrundspeichern und dem Pufferspeicher kann da-,bei die selbstadaptierende Funktionsweise dazu führen, daß ein Informationstyp im überlappenden Gebiet das Übergewicht erhält. Unzuträglichkeiten werden dann jedoch dadurch vermieden, daß für den verdrängten Informationstyp noch immer ein für ein reserviertes Gebiet zur Verfügung steht.
Zur Festlegung der genannten Gebietsgrenzen dienen die beiden Register 16 und 18. Bei voller Assoziativ!tat des Pufferspeichers 6 werden in diese Register bestimmte Pufferspeicheradressen geladen, die als Grenzen dienen sollen. Bei der in Fig. 2 gezeig-
ten 4-Weg-Assoziativität kann die Funktionsweise der Einrichtung | jedoch ganz wesentlich vereinfacht werden, indem in das L-Re- ; gister 16 die maximal zulässige Spaltenzahl pro Zeile für den j Informationstyp L und in das C-Register 18 die maximal zulässi- ' ge Spaltenanzahl pro Zeile für den Informationstyp C geladen wird. Bei der vorgesehenen Ausführung von vier Spalten weisen die Register 16 und 18 also eine Kapazität von je 2 Bit auf. ; Bei voller Gemeinsamkeit des Pufferspeichers 6 für beide Informationstypen ist dabei in jedem der beiden Register 16, 18 die j binäre Zahl "11" gespeichert. Wird hingegen z.B. der Pufferspei- j eher 6 jedem der beiden Informationstypen zur Hälfte zur Verfügung gestellt, d.h. können in zwei Spalten des Pufferspeichers ein Be- j reich einer bestimmten Nummer aus zwei verschiedenen Datenblöcken des Typs L und in den restlichen zwei Spalten zwei Bereiche der-
GE 975 034
709817/0898
i Js
;selben Nummer aus zwei anderen Informationsblocken des Typs C gespeichert sein, besteht der Inhalt der Register 16 und 18 jeweils laus der binären Zahl "01" und "01". Durch geeignete Wahl der in I den Registern 16 und 18 gespeicherten Grenzzahlen kann also er-[reicht werden, daß die Speicherraumaufteilung im Pufferspeicher vollüberlappend, teilüberlappend oder voll getrennt erfolgt.
Diese Beachtung der Gebietsgrenzen im Pufferspeicher 6 hat beim Austausch eines Datenbereiches verschiedene Konsequenzen. Ist I nämlich bei einem notwendigen Bereichsaustausch die zugestandene Spaltenquote für den betreffenden Informationstyp bereits voll jausgefüllt, muß sichergestellt werden, daß nur ein Datenbereich !desselben Typs ausgetauscht wird. Ist hingegen die Quote noch j nicht voll ausgeschöpft, kann ein beliebiger Datenbereich, also auch ein Datenbereich des anderen Typs ausgetauscht werden.
Die im rechten Teil der Fig. 2 gezeigte Logik ermöglicht es, !diese selektive Arbeitsweise beim Austausch eines Datenbereiches j zu erzielen. Das vom Feld 24a gelieferte Signal L/C gelangt über die Leitung 25 zum Eingang C eines Zählers 52 und über einen In- !verter 44 invertiert zum Eingang L des Zählers.
Der Zähler 52 zählt die in den vier Spalten des Pufferadressenfeldes 10 gespeicherten L/C-Bits nach Nullen und Einsen geordnet. I Im vorliegenden Ausführungsbeispiel wurde dabei für den Typ L *der Wert "0" und für den Typ "C" der Wert "1" gewählt. Die aus der von der Bereichsadresse adressierten Zeile des Feldes 10 ausgelesenen vier Bits L/C-0 bis L/C-3 gelangen über die Leitung 68 zum Zähler 52. Abhängig davon, ob an seinem C-Eingang oder an seinem L-Eingang das Signal "1" anliegt, zählt der Zähler 52 die C-Bits (also die Einsen) oder die L-Bits (also idle Nullen). Die gezählte Zahl wird sodann vom Codierer 54 binär codiert und mit dem Ausgangssignal eines ODER-Gliedes 50 in einem Vergleicher 56 verglichen. Dieses ODER-Glied erhält ein 2-Bit-Eingangssignal vom L-Register 16 oder vom C-Register 18, je nachdem j
GE 975 034
709817/0898
;ob im Feld 24a der Pufferspeicheradresse der Wert "0" oder "1" 'gespeichert ist und dennoch das UND-Glied 46 oder 48 durchlässig ist. Das Ausgangssignal 98 des Vergleichers 56 hat den Wert "1", wenn die in dem betreffenden Register 16 oder 18 gespeicherte Zahl größer oder gleich ist als die vom Zähler 52 gelieferte Zahl. , Da der Zähler 52 die wahre Anzahl der betreffenden L/C-Bits !zählt, in den Registern 16 und 18 jedoch jeweils eine um 1 niedrigere Zahl als die wahre Anzahl der zugestandenen Spalten gespeichert ist, da die Spaltenangaben von 0 bis 3 laufen, gibt eine "1" am Ausgang des Vergleichers 56 an, daß die zugestandene Quote für den betreffenden Informationstyp noch nicht voll erfüllt ist. In diesem Falle kann also ein Datenbereich auch des anderen Informationstyps ausgetauscht werden. Vorzugsweise wird dabei zum Austausch die in der Spalte 12a gespeicherte Spaltennummer vorgesehen, die wie oben im Zusammenhang mit Fig. 6 beschrieben entweder die älteste Eintragung, oder die zeitlich am weitesten zurückliegend benutzte Eintragung betrifft.
Bei einem MISS-Signal am Ausgang 80 des Vergleichers 20 wird also über das Inverterglied 34 die Spaltennummer in der Spalte 12a des Austauschfeldes 12 über das UND-Glied 36, die Leitung 72 zum UND-Glied 62 übertragen. Wenn auch am anderen Eingang des UND-Gliedes 62 ein Signal "1" vom Vergleicher 56 anliegt, wird diese Spaltennummer über das ODER-Glied 64 und die Leitung 74 zum Pufferadressenfeld 10 übertragen. Die in Fig. 1 gezeigte Logik sorgt nun dafür, daß im Feld 10 in der durch die Bereichsadresse adressierten Zeile die Blockadresse in der über die Leitung 74 angegebenen Spalte ausgelesen und zur evtl. Rückübertragung in den Hintergrundspeicher 2 oder 4 des von der Bereichsadresse im Feld 24c angegebenen Bereiches verwendet wird. Gleichzeitig gelangt die gefundene Austausch-Spaltennummer auch zum ODER-Glied 32 uid damit in das Pufferspeicheradressenregister 22. Handelt es sich bei den Daten z.B. um Benutzerdaten, wird der auf die beschriebene Weise adressierte Datenbereich vom Pufferspeicher aus-
GE 975 034
709817/0898
- 34 -
gelesen und im Hintergrundspeicher 2 mit Hilfe der gefundenen Blockadresse rückgespeichert. Die Fortschreibe- und Austauschlogik 38 führt nach dem Austausch über die Leitung 70 eine Fortschreibung der betreffenden Zeile im Austauschfeld 12 durch. Zur Steuerung der notwendigen Datenübertragung, sowie allgemein der Lese- und Schreiboperationen kann das Signal 76 verwendet werden.
Liefert der Vergleicher 56 jedoch auf der Leitung 98 ein Ausgangssignal "Ο", ist also die vorgesehene Quote für den betreffenden Informationstyp bereits voll ausgeschöpft, darf nur ein Datenbereich des betreffenden Informationstyps zum Austausch vorgesehen werden. Außerdem muß von diesem Typ unter den zur Auswahl stehenden Bereichen derjenige ausgesucht werden, der aufgrund des verwendeten Austauschalgorithmus an der Reihe ist.
Zur Durchführung dieser Auswahl dienen im wesentlichen die Decodier- und Auswahlschaltung 40 und die Prioritätsschaltung 42.
Die Decodier- und Auswahlschaltung 40, die in Fig. 4 näher dargestellt ist, empfängt als Eingangssignale die in den Spalten 12a bis 12d des Austauschfeldes 12 gespeicherten Spaltennummern, sowie über die Leitung 66 die vier L/C-Bits L/C-0 bis L/C-3 von den vier Spalten einer Zeile des Adressenfeldes 10, Aufgabe der Schaltung 40 ist es, das L/C-Bit X in derjenigen Spalte an den Ausgang der Schaltung 40 zu schalten, in der im Feld 12 die Spaltennummer X gespeichert ist. In dem in Fig. 2 gewählten Beispiel sind in der ersten Zeile des Austauschfeldes 12 von links nach rechts die Spaltennummern 2,0, 1 und 3 gespeichert. Demnach wird von der Schaltung 4O in der ersten Spalte 12a ganz links das Bit L/C-2 an den Ausgang geschaltet, da in der Spalte 12a die Spaltennummer 2 gespeichert ist. In der zweiten Spalte von links nach rechts wird das Bit L/C-O, in der dritten Spalte das Bit L/C-1 und in der vierten Spalte das Bit L/C-3 an den Ausgang geschaltet, von wo diese Bits an den Eingang der Prioritätsschaltung 42 ge-
GE 975 034
709817/0898
langen. Haben also die Bits L/C-0 bis L/C-3 die Werte 1, 0, 1, 0, wie in Fig. 4 links angegeben, so erscheinen an den Ausgängen 41, 43, 45, 47 der Schaltung 40 die Signale 1100.
Aufgabe der Prioritätsschaltung 42, die in Fig. 5 näher dargestellt ist, ist es unter den im Austauschfeld 12 in der durch die Bereichsadresse adressierten Zeile gespeicherten Spaltennummern des gewünschten Typs L oder C diejenige Spaltennummer herauszufinden und an den Ausgang weiterzuleiten, die am weitesten links liegt, die also aufgrund des vorgesehenen Austauschalgorithmus die auszutauschende Spalte angibt. Dazu erhält die Prioritätsschaltung 42 als Eingangssignale die Ausgangssignale
41, 43, 45 und 47 der Schaltung 40 die bereits die Spaltennummern identifizieren, ferner die in der betreffenden Zeilenaustauschfeld 12 gespeicherten Spaltennummern, sowie das L/C-Bit der Pufferspeicheradresse im Register 24.
Die Arbeitsweise der Decodier- und Auswahlschaltung ergibt sich aus den in Fig. 4 dargestellten logischen Elementen und bedarf keiner tiefgehenden Beschreibung. Für jede Spalte ist ein Decodierer 82 bis 88 vorgesehen, der das aus zwei Bit bestehende binäre Eingangssignal in ein Signal 1 aus 4 umwandelt. In jeder Spalte sind vier UND-Glieder vorgesehen, von denen nur eins durchgeschaltet werden kann, da nur an einem der vier Ausgänge der Decodierer 82-88 eine binäre "1" geliefert wird. Diese UND-Glieder sind in Fig. 4 mit 90 bis 96 bezeichnet. Von diesen vier UND-Gliedern werden nur die UND-Glieder 90 und 92 durchgeschaltet, da nur bei diesen UND-Gliedern am zweiten Eingang ebenfalls eine binäre "1" anliegt. Diese zwei binären Signale stammen von den Bits L/C-2 und L/C-O. Die Ausgangssignale dieser beiden UND-Glieder 90 und 92 gelangen über ODER-Glieder an die Ausgänge 41 und 43 der Schaltung 40.
Eine mögliche Ausführung der Prioritätsschaltung ist in Fig. 5 gezeigt. Die Arbeitsweise auch dieser Schaltung ergibt sich ohne
GE 975 034
709817/0898
2547483
;weitere genaue Beschreibung aus den dargestellten logischen Elementen. Die EXCLUSIV-ODER-Glieder 100 bis 106 verknüpfen die Ausigangssignale von den Leitungen 41, 43, 45 und 47 mit dem Wert •des L/C-Bits. In Fig. 5 ist angenommen, daß der Wert dieses Bits ,"1" ist, also Typ C gewünscht wird. Dieses Bit wird über ein In- ;verterglied 108 invertiert. An der linken Seite empfängt die iPrioritätsschaltung 42 die von der betreffenden Zeile im Austauschfeld 12 ausgelesenen Spaltennummern. In dem gezeigten Beispiel isind in der ersten Zeile des Feldes 12, die hier in Betracht ge-I zogen werden soll, von links nach rechts die Nummern 2,0, 1 und gespeichert. Diese Nummern werden der Prioritätsschaltung 42 an jden Eingängen von oben nach unten zugeführt. Wie bereits erwähnt soll die Schaltung 42 eine von links nach rechts ablaufende Priorität erzeugen. Von den vom Informationstyp L oder C her in Betracht kommenden Eintragungen soll die am weitesten links stehende Eintragung ausgewählt werden. Dies wird in der in Fig. 5 gezeigten Schaltung im wesentlich durch eine sinnvolle Verwendung von :Invertergliedern 126, 128 und 130 in Verbindung mit UND-Schaltungen 132, 144, 134, 136 und 138 erzielt. Für jedes der beiden ,Bits einer Spaltennummer sind außerdem von den EXCLUSIV-ODER-Gliedern 100-106 gesteuerte UND-Schaltungen 110 bis 124 vorgesehen. Zwei ODER-Glieder 140 und 142 mit je vier Eingängen schalten die acht Ausgänge der acht UND-Glieder 110 bis 124 an zwei Ausgänge der Schaltung durch, so daß in dieser binären Darstellung eine der vier Spalten zum Austausch angegeben werden kann.
In dem in Fig. 5 gezeigten Beispiel erhält die Prioritätsschaltung 42 von der Auswahlschaltung 40 die Eingangssignale 1100, wodurch angegeben wird, daß in den Spalten 12a und 12b die Nummern von Spalten des Pufferadressenfeldes 10 gespeichert sind, in denen Blockadressen vom Datentyp C gespeichert sind. Die beiden gespeicherten Spaltennummern betragen von links nach rechts 2 und 0 und da die beiden Bits L/C-2 und L/C-0 jeweils "1" sind, wie aus Fig. 4 hervorgeht, folgt daraus, daß in diesen Spalten Informationen vom Typ C gespeichert sind. In den Spalten 12c und 12d sind die Spaltennummern 1 und 3 gespeichert, die Spalten mit einer Blockadresse vom Typ L betreffen.
GE 975 034
709817/0898
Bo
In dem in Fig. 5 gezeigten Beispiel hat das vom Feld 24a kommende L/C-Bit den Wert "1". Es wird demnach eine Information vom Typ C gewünscht. Aufgabe der Prioritatsschaltung ist es demnach unter allen Eintragungen zum Typ C im Austauschfeld 12 die am weitesten links stehende Eintragung herauszusuchen. Da in den Spalten 12a und 12b Spaltennummern zum Typ C stehen, wird die Eintragung in der Spalte 12a von der Prioritätsschaltung an den Ausgang durchgegeben . Diese Eintragung hat den Wert "2".
Diese Spaltennummer "2" gelangt über die Leitung 78 an einen ersten Eingang eines UND-Gliedes 60 in Fig. 2, dessen zweiter Eingang vom Ausgang eines Invertergliedes 58 gespeist wird. Der Eingang dieses Invertergliedes 58.ist mit dem Ausgang 82 des Vergleichers 56 verbunden. Liefert der Vergleicher 56 also ein Ausgangs signal "0", womit feststeht, daß für den gewünschten Informationstyp die Quote bereits voll erfüllt ist, liefert das Inverterglied 58 ein Aus gangs signal an das UND-Glied 60. Der dritte Eingang zum UND-Glied 60 ist über die Leitung 35 mit dem Ausgang des Invertergliedes 34 verbunden und erhält also ein binäres Signal, wenn der Vergleicher 20 ein MISS-Signal liefert. Am Ausgang des ODER-Gliedes 64 wird danach die Nummer, der zu ersetzenden Spalte erhalten und wie oben beschrieben an die betreffenden Einrichtungen weitergegeben. Die Steuerung 14 ersetzt sodann den angegeben Bereich im Pufferspeicher durch den gewünschten und schreibt das Pufferadressenfeld 10 und das Austauschfeld 12 fort.
GE 975 034
709817/0898

Claims (1)

  1. 2547489
    PATENTANSPRÜCHE
    Mikroprogrammierte Datenverarbeitungsanlage mit einem Hauptspeicher für Benutzerdaten und Makroinstruktionen und einem Steuerspeicher für Mikroinstruktionen, sowie mit einem, mit beiden Speichern verbunden Prozessor, dadurch gekennzeichnet,
    daß der Prozessor (8) mit beiden Speichern (2, 4) über einen für alle Informationstypen (Typ L: Benutzerdaten, Makroinstrukstionen; Typ C: Mikroinstruktionen) gemeinsamen Pufferspeicher (6) mit gemeinsamen Steuereinrichtungen (10, 12, 14) verbunden ist.
    Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, daß die Speicherraumaufteilung des Pufferspeichers (8) durch ein erstes Grenzwertregister (16) für den einen Informationstyp (I1) und durch ein zweites Grenzwertregister (18) für den anderen Informationstyp (C) gesteuert wird, wobei die Grenzwerte in die beiden Grenzwertregister vom Mikroprogramm oder vom Benutzerprogramm gesetzt werden können.
    Datenverarbeitungsanlage nach den Ansprüchen 1 und 2, dadurch gekennzeichnet, daß der Pufferspeicher (6), das Pufferadressenfeld (1o) zur Angabe der im Pufferspeicher gespeicherten Daten und das Austauschfeld (12) zur Angabe
    eines bei Speicherplatzbedarf auszutauschenden Datenbereiches in einander entsprechenden N Spalten organisiert sind (N-Weg-Assoziativität) und daß in den beiden Grenzwertregistern (16, 18) die pro Datentyp maximal zulässige Spaltenanzahl gespeichert wird, derart, daß die den beiden Datentypen zugewiesenen Pufferspeichergebiete erstens vollüberlappend, zweitens teilüberlappend und drittens vollständig getrennt sein können. ,
    Ge 975 034
    7 0 9 817/0890
    ORIGINAL INSPECTED
    - 26 -
    4. Datenverarbeitungsanlage nach Anspruch 3,
    dadurch gekennzeichnet, daß den einzelnen Informationstypen (L, C) nicht bestimmte Spalten im Pufferspeicher (6) sondern nur eine maximal zulässige Anzahl von Spalten zugewiesen werden.
    5. Datenverarbeitungsanlage nach Anspruch 4, gekennzeichnet durch einen Vergleicher (56) der die maximal zulässige Spaltenanzahl aus den Grenzwertregistern (16,18) mit der tatsächlich im Pufferspeicher beanspruchten Spaltenanzahl, die durch einen Zähler (52) durch Abzählung der beiden Informationstypen im Pufferadressenfeld (10) ermittelt wird, vergleicht und durch ein Signal (98) angibt ob die Quote für den betreffenden Informationstyp bereits voll ausgeschöpft ist,
    6. Datenverarbeitungsanlage nach Anspruch 3 mit einem Vergleicher (20) zum Vergleich der Adresse der gewünschten Daten mit den im Pufferadressenfeld (10) gespeicherten Daten und zur Erzeugung eines Ausgangssignales (80) wenn die gewünschten Daten im Pufferspeicher (6) vorhanden sind (HIT) f wobei die Abwesenheit (MISS) dieses Signales (80) angibt, daß ein Datenbereich im Pufferspeicher ausgetauscht werden muß, dadurch gekennzeichnet, daß das Ausgangssignal des Vergleichers (20) über ein Inverterglied (34) ein UND-Glied (36) steuert, dessen anderer Eingang mit der Spalte (12a) des Austauschfeldes (12) verbunden ist, in der die auszutauschende Spaltennummer gespeichert ist, wobei der Ausgang des UND-Gliedes (36) mit dem einen Eingang eines UND-Gliedes (62) verbunden ist, dessen anderer Eingang vom Ausgang (98) des Vergleichers (56) gesteuert wird und somit durchgeschaltet wird, wenn die Quote für den betreffenden Informationstyp noch nicht erfüllt ist.
    GE 975 034
    7Ö9817/Ö898
    , ι
    7. Datenverarbeitungsanlage nach Anspruch 3 gekennzeichnet
    ' durch eine Decodier- und Auswahlschaltung (40) mit N Spal-
    ; ten, zur Erzeugung von Ausgangssignalen (41, 43, 45, 47),
    die zu den in den entsprechenden Spalten (12a bis 12d)
    j des Austauschfeldes (12) gespeicherten Spaltennummern an-
    ! geben, von welchem Informationstyp (L oder C) sie sind.
    I8. Datenverarbeitungsanlage nach Anspruch 7 gekennzeichnet durch eine Prioritätsschaltung (42); die mit Hilfe der
    ; von der Decodier- und Auswahlschaltung (40) gelieferten Signale (41, 43, 45, 47) und eines vom Prozessor gelieferten Signales (L/C-Bit) zur Angabe des gewünschten Informationstyps diejenige im Austauschfeld (12) gespeicherte Spaltennummer bestimmt, die von dem gewünschten Typ ist und die nächste auszutauschende Spalte angibt.
    9. Datenverarbeitungsanlage nach den Ansprüchen 5 und 8, dadurch gekennzeichnet, daß das Ausgangssignal (98) des Vergleichers (56) über ein Inverterglied (58) mit einem ersten Eingang eines UND-Gliedes (60) verbunden ist, dessen zweiter Eingang das MISS-Signal (80) vom Adreßvergleicher (20) erhält und dessen dritter Eingang mit dem Ausgang (78) der Prioritätsschaltung (42) verbunden ist, derart, daß die von der Prioritätsschaltung (42) bestimmte Spaltennummer zum Austausch vorgesehen wird, wenn der Vergleicher (56) angibt, daß die Quote für den gewünschten Informationstyp bereits voll ausgeschöpft ist, wobei die derart erzeugte Spaltennummer über das ODER-Glied (64) dem Pufferadressenfeld (10), dem Pufferspeicheradressenregister (22) und der Steuerlogik (14, 38) des Pufferspeicher zum Einleiten des Datenaustausches und zum Fortschreiben des Pufferadreßfeldes (1o) und des Austauschfeldes (12) zugeführt wird.
    GE 975 034
    254748a
    10. Datenverarbeitungsanlage nach Anspruch 7, dadurch gekennzeichnet, daß die Decodier- und Auswahlschaltung (40, : Fig. 4) pro Spalte einen Decodierer (82 bis 88) aufweist, : der aus der vom Austauschfeld (12) gelieferten Spaltenzahl ι ein Signal "1 aus N" erzeugt, das über N UND-Glieder je- j weils mit dem Adressenbit (L/C-0 bis L/C-3) verknüpft wird, j das den in der betreffenden Spalte im Pufferadressenfeld J (10) gespeicherten Informationstyp angibt, derart daß pro ■ Spalte eines der UND-Glieder (90 bis 96) anspricht und ' an einem für alle UND-Glieder einer Spalte gemeinsamen ODER-Glied (140, 142) ein Ausgangssignal liefert.
    11. Datenverarbeitungsanlage nach Anspruch 8f dadurch gekennzeichnet f daß die Prioritätsschaltung (40f Fig, 5) für jedes Eingangssignal von der Decodier- und Auswahlschaltung (40) ein EXCLUSIV-ODER-Glied (100 bis 106) aufweist, dessen anderer Eingang vom Signal L/C gesteuert wird, daß die Ausgangssignal der EXCLUSIV-ODER-Glieder mit den binären, die Spaltennummern angebenden Eingängen vom Austauschfeld (12) durch UND-Glieder (110 bis 124) verknüpft werden, wobei außerdem die Spalten von links nach rechts jeweils über Inverterglieder (126, 128, 130) und über mit den Invertergliedern verbundene UND-Glieder (144, 136, 138,) verknüpft sind, derart, daß eine von links nach rechts abnehmende Priorität erzielt wird und damit die am weitesten links stehende Spaltennummer eines bestimmten Informationstyps , angegeben werden kann.
    12. Datenverarbeitungsanlage nach Anspruch 3 gekennzeichnet durch eine Fortschreibe- und Austauschlogik (38) die für den FIFO (First In First Out)-Austauschalgorithmus(Fig.6) nach jedem Austausch die im Austauschfeld (12) in der ersten, d.h. ganz linken Spalte (12a) gespeicherte Spaltennum-1 mer ans Ende der Kette, d.h. ganz rechts setzt und die rest-· liehen Spaltennummern nach links verschiebt, und die beim !
    GE 975 034
    709817/0898
    (Fig. 7)
    LRU (Least Recently Used)-Algorithmusidie jeweils adressierte Spaltennummer ans Ende der Kette setzt und die weiter rechts stehenden Spaltennummern nach links verschiebt, derart, daß bei nicht voll ausgeschöpfter Quote für einen Informations typ (Aus gangs signal 98 = !I1") die in der ersten Spalte (12a), also ganz links stehende Spaltennummer und bei voll ausgeschöpfter Quote (Ausgangssignal 98 des Vergleichers 56 = "0") die am weitesten links stehende Spaltennummer des betreffenden Informationstyps zum Austausch vorgesehen wird.
    13. Datenverarbeitungsanlage nach Anspruch 3, dadurch gekennzeichnet, daß in den N Spalten des Pufferspeichers (6) M Datenbereiche gespeichert sind, daß das Pufferadressenfeld (10) und das Austauschfeld (12) dementsprechend in N Spalten und M Zeilen organisiert sind, wobei in einer Zeile des Pufferadressenfeldes (1O) jeweils ein Adreßbit (L/C), das den Informationstyp angibt, sowie die Blockadresse gespeichert ist, die zu dem im Pufferspeicher gespeicherten Datenbereich gehört, daß im Austauschfeld (12) in jeder der M Zeilen N Spaltennummern gespeichert sind, daß im Blockadreßvergleicher (20) von der vom Prozessor (8) in das Adreßregister (24) geliefertem Pufferspeicheradresse die Blockadresse (24b) und das Informationstyp-Bit (24a) mit den N entsprechenden Eintragungen in der von der Bereichsadresse (24c) adressierten Zeile im Pufferadreßfeld (10) verglichen wird, wobei ein nachgeschalteter Codierer (30) angibt, in welcher der N Spalten ein positiver Vergleich erzielt wurde.
    14. Datenverarbeitungsanlage nach Anspruch 5, dadurch gekennzeichnet, daß in Abhängigkeit vom Informationstyp-Bit (L/C) der Zähler (52) die in einer Zeile des Pufferadressenfeldes (10) gespeicherten Informationstyp-Bits (L/C-0 bis L/C-3) des einen oder des anderen Typs zählt, daß die gezählte
    GE 975 034
    709817/08§8
    Anzahl von einem Codierer (54) codiert und dem Spaltenanzahlvergleicher (56) zugeführt wird, wobei der andere Eingang des Vergleichers mit den Grenzwertregistern (16,18) über ein ODER-Glied (50) und zwei UND-Glieder (46, 48) verbunden ist, deren andere Eingänge vom Informationstypbit (L/C, Feld 24a) direkt, bzw. über ein Inverter-Glied (44) gesteuert werden.
    GE 975 034
    709817/0898
DE2547488A 1975-10-23 1975-10-23 Mikroprogrammierte Datenverarbeitungsanlage Expired DE2547488C2 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE2547488A DE2547488C2 (de) 1975-10-23 1975-10-23 Mikroprogrammierte Datenverarbeitungsanlage
US05/687,831 US4047244A (en) 1975-10-23 1976-05-19 Microprogrammed data processing system
FR7626310A FR2329017A1 (fr) 1975-10-23 1976-08-25 Systeme de traitement de donnees microprogramme
GB40114/76A GB1507284A (en) 1975-10-23 1976-09-28 Microprogrammed data processing apparatus
JP51116083A JPS604493B2 (ja) 1975-10-23 1976-09-29 マイクロプログラム化データ処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2547488A DE2547488C2 (de) 1975-10-23 1975-10-23 Mikroprogrammierte Datenverarbeitungsanlage

Publications (2)

Publication Number Publication Date
DE2547488A1 true DE2547488A1 (de) 1977-04-28
DE2547488C2 DE2547488C2 (de) 1982-04-15

Family

ID=5959910

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2547488A Expired DE2547488C2 (de) 1975-10-23 1975-10-23 Mikroprogrammierte Datenverarbeitungsanlage

Country Status (5)

Country Link
US (1) US4047244A (de)
JP (1) JPS604493B2 (de)
DE (1) DE2547488C2 (de)
FR (1) FR2329017A1 (de)
GB (1) GB1507284A (de)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5530727A (en) * 1978-08-22 1980-03-04 Nec Corp Information processor
US4314331A (en) * 1978-12-11 1982-02-02 Honeywell Information Systems Inc. Cache unit information replacement apparatus
US4312036A (en) * 1978-12-11 1982-01-19 Honeywell Information Systems Inc. Instruction buffer apparatus of a cache unit
GB2052117B (en) * 1979-07-04 1982-10-20 Int Computers Ltd Data processing systems
JPS5687282A (en) * 1979-12-14 1981-07-15 Nec Corp Data processor
US4420807A (en) * 1981-08-31 1983-12-13 International Business Machines Corporation Selectively holding data in a buffer for defective backing store tracks
US4458309A (en) * 1981-10-01 1984-07-03 Honeywell Information Systems Inc. Apparatus for loading programmable hit matrices used in a hardware monitoring interface unit
JPS58102381A (ja) * 1981-12-15 1983-06-17 Nec Corp バツフアメモリ
JPS58119052A (ja) * 1982-01-08 1983-07-15 Nec Corp マイクロプログラム制御方式
JPS58214946A (ja) * 1982-06-08 1983-12-14 Nec Corp マイクロプログラム制御方式
JPS5969843A (ja) * 1982-10-15 1984-04-20 Nec Corp マイクロプログラム制御方式
JPS5972545A (ja) * 1982-10-19 1984-04-24 Nec Corp マイクロプログラム制御システム
US4594682A (en) * 1982-12-22 1986-06-10 Ibm Corporation Vector processing
JPS60500187A (ja) * 1982-12-30 1985-02-07 インタ−ナシヨナル・ビジネス・マシ−ンズ・コ−ポレ−シヨン データ処理システム
US4628478A (en) * 1983-07-07 1986-12-09 Motorola, Inc. Remote data controller for a communication system
US4724518A (en) * 1983-07-29 1988-02-09 Hewlett-Packard Company Odd/even storage in cache memory
US4823308A (en) * 1984-02-02 1989-04-18 Knight Technology Ltd. Microcomputer with software protection
JPS60205750A (ja) * 1984-03-30 1985-10-17 Nec Corp マイクロプログラム制御装置
US4853846A (en) * 1986-07-29 1989-08-01 Intel Corporation Bus expander with logic for virtualizing single cache control into dual channels with separate directories and prefetch for different processors
US5317717A (en) * 1987-07-01 1994-05-31 Digital Equipment Corp. Apparatus and method for main memory unit protection using access and fault logic signals
US5278960A (en) * 1989-08-16 1994-01-11 Nec Corporation Information processing apparatus having detecting means for operand overlaps
JPH03194633A (ja) * 1989-12-25 1991-08-26 Nec Corp 制御記憶の再書き込み方式
JP4038216B2 (ja) * 2005-05-10 2008-01-23 ファナック株式会社 シーケンスプログラム編集装置
WO2020010584A1 (zh) * 2018-07-12 2020-01-16 华为技术有限公司 一种终端恢复出厂设置时的数据恢复方法及终端

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1815234A1 (de) * 1967-12-20 1969-07-24 Ibm Adressiereinrichtung fuer ein Speichersystem mit einem Grossraumspeicher und einem schnellen Arbeitsspeicher
US3478322A (en) * 1967-05-23 1969-11-11 Ibm Data processor employing electronically changeable control storage
DE1956604A1 (de) * 1968-11-14 1970-06-11 Ibm Datenverarbeitungsanlage mit einem Speichersystem
DE2339636A1 (de) * 1972-09-21 1974-04-04 Ibm Programmsteuereinrichtung

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3284776A (en) * 1961-06-08 1966-11-08 Decca Ltd Data processing apparatus
US3593299A (en) * 1967-07-14 1971-07-13 Ibm Input-output control system for data processing apparatus
US3771141A (en) * 1971-11-08 1973-11-06 Culler Harrison Inc Data processor with parallel operations per instruction
US3878513A (en) * 1972-02-08 1975-04-15 Burroughs Corp Data processing method and apparatus using occupancy indications to reserve storage space for a stack
US3766532A (en) * 1972-04-28 1973-10-16 Nanodata Corp Data processing system having two levels of program control
US3893084A (en) * 1973-05-01 1975-07-01 Digital Equipment Corp Memory access control system
NL7317545A (nl) * 1973-12-21 1975-06-24 Philips Nv Geheugensysteem met hoofd- en buffergeheugen.
US3906457A (en) * 1974-02-15 1975-09-16 Victor Comptometer Corp Display system for an electronic business machine

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3478322A (en) * 1967-05-23 1969-11-11 Ibm Data processor employing electronically changeable control storage
DE1815234A1 (de) * 1967-12-20 1969-07-24 Ibm Adressiereinrichtung fuer ein Speichersystem mit einem Grossraumspeicher und einem schnellen Arbeitsspeicher
DE1956604A1 (de) * 1968-11-14 1970-06-11 Ibm Datenverarbeitungsanlage mit einem Speichersystem
DE2339636A1 (de) * 1972-09-21 1974-04-04 Ibm Programmsteuereinrichtung

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IBM Technical Disclosure Bulletin, Mai 1973, S. 3799 *

Also Published As

Publication number Publication date
FR2329017B1 (de) 1979-09-28
JPS604493B2 (ja) 1985-02-04
GB1507284A (en) 1978-04-12
US4047244A (en) 1977-09-06
FR2329017A1 (fr) 1977-05-20
JPS5251836A (en) 1977-04-26
DE2547488C2 (de) 1982-04-15

Similar Documents

Publication Publication Date Title
DE2547488C2 (de) Mikroprogrammierte Datenverarbeitungsanlage
DE3011552C2 (de)
DE2515696C2 (de) Datenverarbeitungssystem
EP0013737B1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE2717702C2 (de) Speicher-Zugriff-Steuersystem
DE2501853A1 (de) Prozessor fuer ein datenverarbeitungssystem
DE2523414A1 (de) Hierarchische speicheranordnung
DE2154106A1 (de) Arbeitsspeicherwerk
DE2226382A1 (de) Datenverarbeitungsanlage
DE2856133A1 (de) Verarbeitungssystem fuer einen assoziativspeicher
DE1549522B1 (de) Datenverarbeitungsanlage mit simultanverarbeitung mehrerer programme mittels mehrerer rechner
CH657218A5 (de) Mehrbenuetzer-datenverarbeitungsmaschine mit virtuellem speicher.
DE2360303C2 (de) Datenverarbeitungsanlage mit Adreßübersetzung für Ein-/Ausgabekanäle
DE3046912C2 (de) Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage
DE1524788A1 (de) Schaltungsanordnung zur Erkennung und zum automatischen Ersetzen von schadhaften Speicherstellen in Datenspeichern
DE2311503A1 (de) Datenverarbeitungsanlage mit mehreren zentraleinheiten
DE2750126C3 (de) Datenverarbeitungssystem mit einem Zwischenpufferspeicher
DE2610428A1 (de) Anordnung zur steuerung der zwischenspeicherung von zwischen zwei funktionseinheiten zu uebertragenden daten in einem pufferspeicher
DE2000608A1 (de) Schaltungsanordnung fuer eine Nachrichtenverarbeitungs-,insbesondere fuer eine Nachrichtenvermittlungsanlage
DE1449816C3 (de) Schaltungsanordnung zur Steuerung des Zugriffs zu einem Magnettrommelspeicher
DE3918453C2 (de) LRU-Schaltung
DE2116639C3 (de) Datenverarbeitungsanlage. Änm: Eysenbach, Wilfried, Dipl.-Ing., 8023 Pullach
DE2816838C2 (de) Verfahren und Prioritätssteuereinheit zum Zuordnen von Prioritäten
EP0190575A1 (de) Verfahren und Anordnung zur Verringerung des Einflusses von Speicherfehlern auf in Cache-Speichern von Datenverarbeitungsanlagen gespeicherten Daten
DE2002369C3 (de) Datenverarbeitungsanlage mit Pufferspeicher

Legal Events

Date Code Title Description
OD Request for examination
D2 Grant after examination
8339 Ceased/non-payment of the annual fee