DE2547488A1 - Mikroprogrammierte datenverarbeitungsanlage - Google Patents
Mikroprogrammierte datenverarbeitungsanlageInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/24—Loading 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.
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.
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
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.
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)
- 2547489PATENTANSPRÜCHEMikroprogrammierte 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 Angabeeines 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 0347 0 9 817/0890ORIGINAL 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 0347Ö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 034254748a10. 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 034709817/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ählteGE 975 034709817/08§8Anzahl 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 034709817/0898
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)
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)
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)
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 |
-
1975
- 1975-10-23 DE DE2547488A patent/DE2547488C2/de not_active Expired
-
1976
- 1976-05-19 US US05/687,831 patent/US4047244A/en not_active Expired - Lifetime
- 1976-08-25 FR FR7626310A patent/FR2329017A1/fr active Granted
- 1976-09-28 GB GB40114/76A patent/GB1507284A/en not_active Expired
- 1976-09-29 JP JP51116083A patent/JPS604493B2/ja not_active Expired
Patent Citations (4)
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)
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 |