DE3235264C2 - - Google Patents
Info
- Publication number
- DE3235264C2 DE3235264C2 DE3235264A DE3235264A DE3235264C2 DE 3235264 C2 DE3235264 C2 DE 3235264C2 DE 3235264 A DE3235264 A DE 3235264A DE 3235264 A DE3235264 A DE 3235264A DE 3235264 C2 DE3235264 C2 DE 3235264C2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- main memory
- data
- local
- sequence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 230000015654 memory Effects 0.000 claims description 171
- 238000012545 processing Methods 0.000 claims description 36
- 238000000034 method Methods 0.000 claims description 8
- 239000000872 buffer Substances 0.000 description 10
- 238000011161 development Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/25—Using a specific main memory architecture
- G06F2212/251—Local memory within processor subsystem
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/25—Using a specific main memory architecture
- G06F2212/253—Centralized memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
- Storage Device Security (AREA)
Description
Die Erfindung betrifft ein Verfahren zum Betreiben
eines lokalen Speichers in einer Datenverarbeitungsvorrichtung.
Aufgrund der Entwicklung von großintegrierten Schaltkreisen
(LSI) und Mikrorechnern konnten in jüngster
Zeit Datenverarbeitungsvorrichtungen zunehmend kostengünstiger
hergestellt werden. Im Zuge dieser Entwicklung
kann auch ein LSI oder ein Mikroprozessor zur
Ausführung systematischer Operationen mit einer Datenverarbeitungsvorrichtung
verbunden werden. Unter Verwendung
eines LSI oder eines Mikroprozessors für die
Steuerung bzw. Eingabe/Ausgabesteuerung wird dann nach
Maßgabe spezifischer Software eine ganz spezielle
Verarbeitung durchgeführt.
Fig. 1 veranschaulicht ein Beispiel für eine Datenverarbeitungsvorrichtung,
bei der eine Zentraleinheit
(CPU) 11 arithmetische Operationen in Übereinstimmung
mit einem in einem Hauptspeicher (MMU) 12 gespeicherten
Programm unter Überwachung von nicht dargestellten, an
eine Sammelschiene 15 angeschlossenen Eingabe/Ausgabegeräte
steuert.
Eingabe/Ausgabe-Prozessoren (IPO) 13 und 14 führen die
Datenübertragung zwischen der Sammelschiene 15 und den
Eingabe/Ausgabegeräten durch. Die Zentraleinheit 11,
der Hauptspeicher 12 und die Prozessoren 13 und 14 sind
an die Sammelschiene 15 angeschlossen.
Bei der Datenverarbeitungsvorrichtung gemäß Fig. 1 belegen
die Eingabe/Ausgabegeräte die Sammelschiene 15 für
die Datenübertragung und den gegenseitigen Informationsaustausch
über diese Sammelschiene.
Im Hauptspeicher 12 sind allgemeine Programme, einschließlich
eines Betriebssystems (OS) gespeichert.
Die Zentraleinheit 11 bewirkt einen Zugriff
zum Hauptspeicher 12 über die Sammelschiene 15, sooft
die Betriebssystemsteuerung benötigt wird. In diesem
Fall belegt die Zentraleinheit 11 die Sammelschiene 15
und überträgt Daten in vorbestimmten Einheiten. Anschließend
steht die Sammelschiene 15 für andere Vorrichtungen
oder Geräte offen.
Bei der beschriebenen Datenverarbeitungsvorrichtung belegt jedoch die Zentraleinheit
11 die Sammelschiene 15 häufig, weil das
Betriebssystem in seinem Maßstab erweitert ist.
Hierdurch vergrößert sich der Gesamtanteil
für das Betriebssystem weiter unter Beeinträchtigung der
Leistung der Datenverarbeitungsvorrichtung.
Ein Cache-Speichersystem soll die Hochgeschwindigkeitsverarbeitung
ermöglichen und die Leistungsfähigkeit der Zentraleinheit
11 verbessern. Ein Cache-Speicher ist ein Hochgeschwindigkeitsspeicher
für die Zwischenspeicherung der zwischen
der Zentraleinheit 11 und dem Hauptspeicher 12 übertragenen
Daten. Obgleich die Speicherkapazität des Cache-
Speichers klein ist, werden die Daten mit hoher Geschwindigkeit
zwischen der Zentraleinheit 11 und dem Hauptspeicher 12
übertragen, weil ein Hochgeschwindigkeits-Speicherelement
Verwendung findet.
Der Hauptspeicher 12 und der Cache-Speicher sind jeweils
im wesentlichen in Blöcke einer festen Länge (32 Byte zu
64 Byte) unterteilt. Die im Hauptspeicher 12 gespeicherten
Daten werden zum Cache-Speicher in Blockeinheiten
übertragen. Wenn die Zentraleinheit 11 einen Operator
einer gerade ausgeführten Anweisung oder die nächste Anweisung
anfordert, prüft sie zunächst, ob derartige Daten im
Cache-Speicher gespeichert sind. Wenn in letzterem die
nötigen Daten gespeichert sind, werden diese Daten sofort
aus diesem Speicher ausgelesen und als Adreßtabelle in
einem Speicher abgespeichert, der ein sog. Inhaltsverzeichnis
darstellt, um eine Hochgeschwindigkeits-
Adressierung durchzuführen. Falls dagegen im Cache-
Speicher die nötigen Daten nicht enthalten sind, wird
ein diese Daten enthaltender Block aus dem Hauptspeicher
12 ausgelesen und zum Cache-Speicher übertragen. Gleichzeitig
wird der oben beschriebene Block für die Verarbeitung
durch die Zentraleinheit 11 benutzt. Ein Block
enthält im allgemeinen eine Zahl von Daten, die um
einen Befehl größer ist als die verarbeitete Datenzahl.
Im Betrieb ist es weiterhin wahrscheinlicher, daß die
nötigen Daten im selben Block des Hauptspeichers 12 enthalten
sind. Bei der beschriebenen Vorrichtung wird daher
die Verarbeitungsgeschwindigkeit des Rechners erhöht.
Bei Anwendung des Cache-Speichersystems wird die Leistung
der Zentraleinheit 11 verbessert. Die Hardware (Inhaltsverzeichnis
und seine peripheren Schaltungen) für die
Steuerung der Zentraleinheit 11 besitzt jedoch große Abmessungen.
Weiterhin wird dabei das Steuersystem der
Zentraleinheit 11 komplex.
In der DE-OS 28 54 485 ist ein Datenverarbeitungssystem
mit Speicherhierarchie beschrieben, bei dem eine
System-Datenschiene und mehrere Systemeinheiten einschließlich
eines Hauptspeichers, eines Pufferspeichers
und einer Zentraleinheit, die alle an die System-Datenschiene
angeschlossen sind, vorgesehen sind. Bei diesem
Datenverarbeitungssystem werden verschiedene Adressen-
und Datenformate verwendet, wobei beispielsweise bestimmte
Bits dazu benutzt werden, um eine Speicherstelle
zu adressieren. Der Hauptspeicher und der Pufferspeicher
haben so verschiedene Adressen, wobei für den
Pufferspeicher ein Inhaltsverzeichnis vorgesehen ist.
Damit soll ein Datenverarbeitungssystem geschaffen
werden, bei dem die Informationsübertragung zwischen
einer Zentraleinheit und einem Pufferspeicher und der
Nachrichtenaustausch zwischen einem Hauptspeicher und
anderen Systemkomponenten verbessert ist, wobei die
Wahrscheinlichkeit eines Staus des Datenverkehrs auf
einer Datenschiene auf ein Minimum reduziert wird.
Weiterhin beschäftigt sich der Aufsatz von C. J. Conti:
"Concepts for Buffer Storage", in "Computer Group
News", März 1969, Seiten 9 bis 11, mit einer Datenverarbeitungsvorrichtung,
die für Sektorpuffer und Direktabbildungspuffer
sogenannte "Cache"-Speicher verwendet,
welche die folgenden Eigenschaften aufweisen: Wann
immer eine Zentraleinheit auf Adressen eines Cache-
Speichers und speziell eines Pufferspeichers zugreift,
in welchem kopierte Daten sind, nimmt der Cache-Speicher
den Zugriff unabhängig von Lese- oder Schreiboperationen
vor. Das Kopieren von in einem Hauptspeicher
gespeicherten Daten in den Cache-Speicher wird nicht
durch dessen Software, sondern automatisch durch dessen
Hardware ausgeführt. Um dies nun durchzuführen, ist
eine Gültigkeitsbit-Anzeige, ob der Block in den Cache-Speicher
kopiert ist oder nicht, unvermeidlich für
jeden Block im Inhaltsverzeichnis des Cache-Speichers
vorgesehen. Die den Cache-Speicher ansteuernde Hardware
liest automatisch die Speicherinhalte des Blocks aus
dem Hauptspeicher aus, wenn der Block einschließlich
der entsprechenden Adresse im Cache-Speicher nicht
vorliegt oder wenn das Gültigkeitsbit nicht "gültig"
anzeigt, selbst wenn der Block einschließlich der
Adressen im Cache-Speicher vorhanden ist.
Schließlich sind in der DE-Z. "Elektronische Rechenanlagen",
Jahrgang 20, 1978, Heft 3, Seiten 109 bis
114) lokale Speicher in Datenverarbeitungssystemen
beschrieben, wobei auch auf sog. Cache-Pufferspeicher
eingegangen wird, die zwischen einem Zentralprozessor
und einem Hauptspeicher liegen, wobei hier in der Speicherhierarchie
der Hauptspeicher einem Basisspeicher
nachgeschaltet ist. Ein solcher Cache-Pufferspeicher
wird in ähnlicher Weise adressiert wie der Hauptspeicher
und erfordert eine gesonderte Einspeicherungs- und
Ausspeicherungs-Verarbeitung.
Es ist Aufgabe der vorliegenden Erfindung, ein Verfahren
zum Betreiben eines lokalen Speichers in einer
Datenverarbeitungsvorrichtung zu schaffen, bei dem die
Betriebsleistung einer Sammelschiene und die Ausführgeschwindigkeit
eines Befehlszyklus wesentlich erhöht
wird.
Diese Aufgabe wird durch ein Verfahren nach dem
Patentanspruch 1
gelöst.
Vorteilhafte Weiterbildungen der Erfindung ergeben sich
aus den Patentansprüchen 2 und 3.
Die Erfindung ermöglicht ein Verfahren, bei dem ein
Satz von
Routineprogrammen, die häufig in einem Betriebssystem
benutzt werden, in einem in einer Zentraleinheit angeordneten
lokalen Speicher gespeichert ist und die Zentraleinheit
einen Zugriff zum lokalen Speicher herstellt, so
daß die Betriebsleistung einer Sammelschiene und die
Geschwindigkeit eines Zentraleinheit-Befehlszyklus
wesentlich erhöht werden und damit die Leistungsfähigkeit
der Sammelschiene bedeutend verbessert wird.
Mit dem Verfahren zur Datenverarbeitung
gemäß der Erfindung werden die folgenden Vorteile
erzielt:
- a) Da der lokale Speicher ein Hochgeschwindigkeitsspeicher ist, ist die Zykluszeit des Zentraleinheit- Befehls kürzer als die Zugriffzeit zum Hauptspeicher.
- b) Während die Zentraleinheit einen Zugriff zum lokalen Speicher herstellt, ist ein Zugriff anderer Eingabe/Ausgabegeräte zum Hauptspeicher möglich.
- c) Im Vergleich zu einer Anlage, bei der das Betriebssystems in einem Festwertspeicher in Hardware-Weise programmiert ist, kann das Betriebssystem einfach verbessert und modifiziert werden.
- d) Da sich der Inhalt des lokalen Speichers dynamisch ändern läßt, läßt sich die Anlage mittels einer entsprechenden Änderung flexibel an verschiedene Anwendungsfälle anpassen.
Im folgenden ist eine bevorzugte Ausführungsform der
Erfindung im Vergleich zum Stand der Technik anhand der beigefügten
Zeichnung näher erläutert. Es zeigt
Fig. 1 ein Blockschaltbild des Gesamtaufbaus einer
Datenverarbeitungsvorrichtung,
Fig. 2 ein Blockschaltbild des Aufbaus einer Zentraleinheit,
Fig. 3 Speicherpläne eines Hauptspeichers und eines
lokalen Speichers,
und
Fig. 4 ein Blockschaltbild der Schaltungsanordnung einer
Speichersteuereinheit gemäß Fig. 2.
In Fig. 2 sind
nur die die Erfindung betreffenden Teile
veranschaulicht. Eine Zentraleinheit (CPU) 11 umfaßt
eine arithmetische Logikeinheit (ALU) 21, einen lokalen
Speicher (LMU) 22, eine Speichersteuereinheit
(MCU) 23 und eine Sammelschienen-Schnittstelleneinheit
(BIU) 24. Die Logikeinheit 21 führt eine logische Berechnung
nach Maßgabe von im lokalen Speicher 22 oder
in einem Hauptspeicher (MMU) 12 gespeicherten Programmdaten
durch und steuert mit einer Anlage verbundene
Eingabe/Ausgabegeräte an. Der lokale Speicher
(LMU) 22 stellt einen zusätzlichen Speicher
dar; in ihm ist ein Satz von Programmen
gespeichert, die aus einem Operationssystem (OS) des
Hauptspeichers 12 häufig benutzt werden. Bei der dargestellten
Ausführungsform können gemäß Fig. 3 die Speicherinhalte
der Adressen von 16KB bis 32KB entsprechenden
Speicherstellen kopiert und im lokalen Speicher
22 gespeichert werden. Die Speichersteuereinheit
(MCU) 23 ist mit der arithmetischen Logikeinheit 21 und
dem lokalen Speicher 22 verbunden, und ihr Innenaufbau
ist in Fig. 4 dargestellt. Die Speichersteuereinheit
23 umfaßt ein Adressenregister, einen Komparator,
Flip-Flops sowie verschiedene Arten von nicht dargestellten
Torschaltungen, und sie steuert die
Speicher an.
Die Sammelschienen-Schnittstelleneinheit (BIU) 24
dient zur Verbindung der Zentraleinheit
11 mit einer Sammelschiene 15 und weist
einen Sammelschienen-Treiber/Empfänger (nicht dargestellt)
sowie andere Arten von Torschaltungen auf.
Die Sammelschiene 15 wird durch eine Anzahl von Adressenleitungen,
Datenleitungen und Steuerleitungen gebildet.
Bei der beschriebenen Datenverarbeitungsvorrichtung liest
die Zentraleinheit 11 einen Teil des Betriebssystems
aus dem Hauptspeicher 12 aus und schreibt diesen Teil in
den lokalen Speicher 22 ein. Eine Adresse, die die
Übereinstimmung zwischen einem im lokalen Speicher
22 eingeschriebenen Programm und einer Speicherstelle des Hauptspeichers 12
angibt, wird in einem Adressenregister 54 in der Speichersteuereinheit
23 gesetzt. Danach führt die Zentraleinheit
11 Operationen unabhängig vom Speicherinhalt des
lokalen Speichers 22 durch. Sooft die Zentraleinheit 11
einen Zugriff zum Hauptspeicher 12 herstellt, wird eine
durch erstere gelieferte Adresse durch einen
Komparator 55 mit der im Adressenregister 54 gesetzten
Größe verglichen. Wenn das von der Zentraleinheit 11 gelieferte
Adressendatum innerhalb der Gesamtheit der aus
den im Adressenregister 54 gespeicherten Adressendaten
und der Kapazität des lokalen Speichers 22 liegt, stellt
die Zentraleinheit 11 einen Zugriff zum lokalen Speicher
22 her. Gleichzeitig wird eine Signalausgabe zur Sammelschiene
15 durch die Sammelschienen-Schnittstelleneinheit
24 verhindert.
Im folgenden sind Aufbau und Arbeitsweise der
Datenverarbeitungsvorrichtung im einzelnen erläutert.
Wenn der Betrieb der Anlage eingeleitet wird,
wird ein Ladeprogramm (Loader) von einem
externen Speicher, z. B. einer mit Eingabe/Ausgabe-Prozessoren
13 und 14 (IOPs) verbundenen Plattenspeichereinheit,
in den Hauptspeicher 12 eingegeben. Durch
dieses Ladeprogramm werden Daten (z. B. Betriebssystemprogramm
und Benutzerprogramm) von einer Magnetplatteneinheit in
den Hauptspeicher 12 eingegeben. Die im Hauptspeicher 12
gespeicherten Daten werden teilweise oder ganz auch in
den lokalen Speicher 22 eingegeben. Dabei wird ein Teil
jeder dem Speicherbereich des Hauptspeichers 12 zugewiesenen
Adressenstelle auch als Adresse des lokalen
Speichers 22 zugewiesen. Die Einschreib- und Lesebefehle
werden sowohl im Hauptspeicher 12 als auch im lokalen
Speicher 22 gemeinsam benutzt. In diesem Fall muß die
Zentraleinheit 11 entweder den Hauptspeicher 12 oder den
lokalen Speicher 22, welche dieselben Adressen aufweisen,
wählen. Wenn weiterhin ein Programm, das einen Datenbereich
im lokalen Speicher 22 aufweist, in den lokalen Speicher 22 kopiert und dieses
Programm ausgeführt wird, ergibt sich eine gewisse Störung,
weil die Daten durch andere Geräte, wie die Eingabe/Ausgabegeräte,
aus diesem Datenbereich ausgelesen werden
müssen. In diesem Fall müssen daher Daten in den Datenbereich
des Hauptspeichers 12 eingeschrieben
werden, da die Eingabe/Ausgabegeräte nicht das Vorhandensein
des lokalen Speichers 22 erkennen.
Zur Lösung dieses Problems ist ein Flip-Flop
zur Unterscheidung der Dauer des Einleitungsbetriebs von der Dauer des
eigentlichen Betriebs vorgesehen. Wenn der Betrieb der Anlage
eingeleitet wird, wird ein Befehlswort des Ladeprogramms
aus dem Hauptspeicher 12 ausgelesen, und im Hauptspeicher
12 gespeicherte Daten (z. B. Benutzerprogramm) werden in
den lokalen Speicher 22 kopiert.
Wenn sich die Anlage dagegen im eigentlichen Betrieb befindet, wird
ein Befehlswort des Benutzerprogramms aus dem lokalen
Speicher 22 ausgelesen, während Daten (Operationsergebnis
aufgrund der Ausführung des Benutzerprogramms) aus dem
Hauptspeicher 12 ausgelesen und in ihn eingeschrieben
werden.
Fig. 4 veranschaulicht eine Schaltung für die Steuerung
der vorstehend beschriebenen Operation. Die Schaltung
stellt einen Teil der Speichersteuereinheit (MCU) 23 dar,
die einen Regler aufweist, der ein Speicherstartsignal
MEMS nach Lieferung eines Lesesignals READ und eines
Einschreibsignals WRITE liefert, um eine vorbestimmte
Operation auszuführen. Ein derartiger Regler
ist an sich bekannt und braucht daher nicht im einzelnen
beschrieben zu werden. Das Lesesignal READ wird an die
eine Eingangsklemme eines UND-Glieds 41 sowie die erste
Eingangsklemme eines UND-Glieds 44 angelegt. Das Lesesignal
READ wird auch über einen Treiber 61 zum lokalen
Speicher 22 und über einen Treiber 64 zum Hauptspeicher
12 geliefert. Ein Befehlsabrufzyklus-Signal IFS, das
angibt, ob sich die Zentraleinheit 11 in einem Schritt
zum Abrufen eines Befehls befindet oder nicht, wird der
anderen Eingangsklemme des UND-Glieds 41 aufgeprägt. Das
Einschreibsignal WRITE wird der ersten Eingangsklemme
eines UND-Glieds 43 zugeführt und außerdem über einen
Treiber 62 zum lokalen Speicher 22 und über einen Treiber
65 zum Hauptspeicher 12 geliefert.
Das Speicherstartsignal MEMS wird an die zweiten Eingangsklemmen
aller UND-Glieder 43, 44 und 45 sowie die
dritte Eingangsklemme des UND-Glieds 42 und die erste
Eingangsklemme eines UND-Glieds 46 gemeinsam bzw. gleichzeitig
angelegt. Weiterhin wird ein Ausgangssignal
des UND-Glieds 41 über einen Umsetzer 49 zur ersten
Eingangsklemme des UND-Glieds 42 und zur ersten Eingangsklemme
des UND-Glieds 45 zugeführt.
Eine Eingangsklemme D eines Flip-Flops 51 nimmt das
Datum des 2ten Bits der in der arithmetischen
Logikeinheit 21 vorgesehenen internen Sammelschiene ab.
Eine Eingangsklemme D eines Flip-Flops 52 nimmt das Datum des
3ten Bits der internen Sammelschiene in der Logikeinheit
21 ab. Ein Programmstatuswort- bzw. PSW-Aktualisierungssteuersignal PSW LD wird
an die Eingangsklemmen CK der Flip-Flops 51 und 52 angelegt.
Wenn der PSW-Aktualisierungsbefehl ausgegeben wird,
werden die Flip-Flops 51 und 52 gesetzt. Ein Ausgangssignal
an einer Ausgangsklemme Q des Flip-Flops 51 wird
den dritten Eingangsklemmen der UND-Glieder 43 und 44 zugeführt.
Ein an einer Ausgangsklemme erscheinendes
Ausgangssignal wird der zweiten Eingangsklemme des UND-
Glieds 42 und der dritten Eingangsklemme des UND-Glieds
45 zugeführt.
Ein Ausgangssignal von einer Ausgangsklemme des Flip-
Flops 52 wird als höchstwertigstes Bit-Datum eines
Adressenregisters 53 geliefert, in welchem Startadressendaten
des lokalen Speichers 22 gespeichert sind. Die von
der Zentraleinheit (CPU) 11 gelieferten Adressendaten
werden im Adressenregister 54 gespeichert. Die in den
Adressenregistern 53 und 54 enthaltenen Daten werden dem
Komparator 55 zugeführt, der dann die oberen 10-Bitdaten
(Daten über dem 14ten Bit, d. h. über der 16KBten Adresse
bei dieser Ausführungsform) mit im Adressenregister 53
gespeicherten Daten vergleicht, um festzustellen, ob die
herauszugreifende Adresse innerhalb der Gesamtheit aus den im
Adressenregister 53 gespeicherten Adressendaten und der
Speicherkapazität des lokalen Speichers 22 liegt oder
nicht. Ein Ausgangssignal des Komparators 55 wird den
vierten Eingangsklemmen der UND-Glieder 42 und 43 sowie
der zweiten Eingangsklemme des UND-Glieds 46 über einen
Umsetzer 50 zugeführt.
Ausgangssignale von den UND-Gliedern 42 und 43 werden
einem ODER-Glied 47 zugeliefert, dessen Ausgangssignal
über einen Treiber 63 als Speichertaktsignal MEMS-L
dem lokalen Speicher 22 zugeführt wird. Ausgangssignale
der UND-Glieder 44, 45 und 46 werden einem ODER-Glied 48
zugeführt, dessen Ausgangssignal der Sammelschienen-
Schnittstelleneinheit (BIU) 24 und außerdem über einen
Treiber 66 als Speicherstartsignal MEMS-M dem Hauptspeicher
12 zugeführt wird.
Nachstehend ist die Arbeitsweise der Schaltung nach
Fig. 4 erläutert.
Es sei angenommen, daß beim Einleiten des Betriebs der Anlage
das Flip-Flop 51 gesetzt und das Ausgangssignal vom
Komparator 55 hoch ist. In diesem Fall entsprechen die
im Adressenregister 54 gespeicherten Adressendaten den
Adressen von 16KB bis 32KB des Hauptspeichers 12. Wenn
die Zentraleinheit 11 das Lesesignal READ und dann nach
einer kurzen Zeit das Speicherstartsignal MEMS liefert,
ist nur das UND-Glied 44 durchgeschaltet. Sodann
wird das Speicherstartsignal MEMS-M über das ODER-Glied
48 und den Treiber 66 zum Hauptspeicher 12 geliefert.
Gleichzeitig wird ein Signal erzeugt, das einen Zugriff
zur Sammelschienen-Schnittstelleneinheit 24 ermöglicht. Als
Ergebnis wird eine gewünschte Datenreihe über die Sammelschiene
15 aus dem Hauptspeicher 12 ausgelesen.
Es sei angenommen, daß das von der Zentraleinheit 11
gelieferte Einschreibsignal im selben Zustand ist, wobei
nur das UND-Glied 43 durchgeschaltet ist und das Speicherstartsignal
MEMS-L über das ODER-Glied 47 und den Treiber
63 zum lokalen Speicher 22 geliefert wird. Infolgedessen
werden die aus dem Hauptspeicher 12 ausgelesenen Daten
in den lokalen Speicher 22 eingeschrieben.
Im eigentlichen Betrieb der Anlage wird jedoch das Flip-Flop
51 rückgesetzt. Es sei nun angenommen, daß das Ausgangssignal
des Komparators 55 hoch ist (Speicheradressenbereich:
16KB bis 32KB) und das Lesesignal READ des Befehlsworts
von der Zentraleinheit 11 geliefert wird. Wenn
die Zentraleinheit 11 das Signal IFS des hohen Pegels
liefert, ist das UND-Glied 41 durchgeschaltet. Nach Ablauf
einer kurzen Zeitspanne wird das Speicherstartsignal MEMS
von der Zentraleinheit 11 zum UND-Glied 42 übertragen,
das daraufhin durchschaltet. Daher wird das Speicherstartsignal
MEMS-L über das ODER-Glied 47 und den Treiber 63
zum lokalen Speicher 22 übertragen. Da der Lesebefehl
READ-L dem lokalen Speicher 22 über den Treiber 61 zugeführt
wird, wird ein Befehlswort aus dem lokalen Speicher
22, der mit hoher Geschwindigkeit betrieben wird oder
arbeitet, ausgelesen.
Es sei angenommen, daß in diesem Zustand das Lesesignal
READ oder das Einschreibsignal WRITE von der Zentraleinheit
11 geliefert und sodann das Speicherstartsignal MEMS
von ihr abgegeben wird. Das UND-Glied 45 ist dabei durchgeschaltet
(das UND-Glied 45 ist (stets) durchgeschaltet,
außer wenn das Signal IFS und das Signal READ geliefert
werden). Das Speicherstartsignal MEMS-M wird dem Hauptspeicher
12 über das ODER-Glied 48 und den Treiber 66
zugeführt. Gleichzeitig wird ein Sammelschienen-Freigabesignal
der Sammelschiene 15 zur Sammelschienen-Schnittstelleneinheit 24
geliefert. Da der Hauptspeicher 12 bereits den Lesebefehl
READ-M oder den Einschreibbefehl WRITE-M über den Treiber
64 bzw. 65 erhalten hat, können die gewünschten Daten
über die Sammelschiene 15 in der Zentraleinheit 11 abgerufen
werden.
Die Größe des Lese/Einschreibsignals READ/WRITE muß im
lokalen Speicher 22 und im Hauptspeicher 12 ausreichend
lange vor der Ausgabe des Speicherstartsignals (MEMS-L/
MEMS-M) bestimmt werden. Die Zeit- oder Taktsteuerung
zwischen dem Speicherstartsignal und dem Lese/Einschreibsignal
ist auch dann gewährleistet, wenn die Schaltung
gemäß Fig. 4 hinzugeführt ist, weil die Zeitspanne,
während welcher das Lese/Einschreibsignal die Schaltung
nach Fig. 4 durchläuft, kürzer ist als die Zeitspanne,
während welcher das Speicherstartsignal diese Schaltung
passiert.
Wenn das Ausgangssignal des Komparators 55 niedrig wird,
wird ein Signal eines hohen Pegels über den Umsetzer 50
zum UND-Glied 46 geliefert, so daß das Speicherstartsignal
MEMS über das UND-Glied 46 und das ODER-Glied 48
zum Hauptspeicher 12 übertragen wird.
Das Flip-Flop 52 wird zum Deaktivieren des lokalen
Speichers 22 rückgesetzt. Ein Ausgangssignal von der
Ausgangsklemme des Flip-Flops 52 wird als höchstwertigstes
Bit des Adressenregisters 53 geliefert, so daß
das höchstwertigste Bit auf den logischen Pegel "1" gesetzt
wird. Infolgedessen wird eine sehr hohe Größe im
Adressenregister 53 gesetzt. Das Ausgangssignal vom
Komparator 55 geht auf den niedrigen Pegel über, und das
Speicherstartsignal kann nicht zum lokalen Speicher 22
geliefert werden.
Da das Flip-Flop 51 durch den in der Hauptbetriebsart
ausgegebenen PSW-Aktualisierungsbefehl
gesetzt ist, kann die Größe durch das Benutzerprogramm
nicht modifiziert werden. Das Adressenregister
53 kann einen festverdrahteten Konstantschaltkreis aufweisen.
Das Benutzerprogramm braucht nicht in einem Bereich
von 16KB bis 32KB gespeichert zu sein. Auch wenn es
überläuft, kann der überlaufende
Programmteil aus dem Hauptspeicher 12 ausgelesen werden,
während der im Bereich von 16KB bis 32KB liegende Programmteil
aus dem lokalen Speicher 22 ausgelesen wird.
Der Benutzerprogrammbereich braucht daher nicht begrenzt
zu sein.
Bei der beschriebenen Ausführungsform umfaßt der lokale
Speicher 22 acht Chips von Speicherelementen, die
jeweils aus 8 Bits×2KB bestehen. Ein Speicherelement
von 8 Bits×8KB befindet sich jedoch derzeit in Entwicklung.
Wenn ein solches Speicherelement verwendet
wird, sind nur zwei Chips zur Bildung des lokalen Speichers
22 nötig. Die vorliegende Datenverarbeitungsvorrichtung
mit dem lokalen Speicher bietet mithin
größere Vorteile als eine Datenverarbeitungsvorrichtung
unter Verwendung eines Cache-Speichers, die eine größere
periphere Schaltung und einen Einhaltsverzeichnisspeicher
benötigt.
Claims (3)
1. Verfahren zum Betreiben eines lokalen Speichers (22)
in einer Datenverarbeitungsvorrichtung mit einer
Zentraleinheit (11), einem Hauptspeicher (12) und
einem externen Speicher, mit den Schritten:
- (a) Laden eines Anwenderprogramms oder Betriebssystems aus dem externen Speicher in eine erste Vielzahl von adressierbaren Speicherstellen im Hauptspeicher (12),
- (b) Auslesen eines Teils des Programms von einer festen Unterfolge der ersten Vielzahl aus dem Hauptspeicher (12) in den lokalen Speicher (22), der eine zweite Vielzahl von adressierbaren Speicherstellen mit den gleichen Adressen wie die Unterfolge hat, wobei der Teil des Programms der in der Unterfolge gefundene Teil ist, und wobei das Laden, Auslesen und Kopieren durch ein Ladeprogramm (Loader) nur erfolgt, wenn die Datenverarbeitungsvorrichtung initialisiert wird,
- (c) Adressieren des lokalen Speichers (22) anstelle des Hauptspeichers (12) ohne Verwendung eines Inhaltsverzeichnisses mittels der gleichen Adressen und eines Zugriffsbefehls, wodurch das Auslesen von Speicherstellen der zweiten Vielzahl, die die Unterfolge bilden, bewirkt wird,
- (d) Zugreifen auf den Hauptspeicher (12) für das Auslesen der Speicherstellen der ersten Vielzahl, die nicht Teil der Unterfolge sind, und
- (e) Ausführungen eines Benutzerprogramms, wobei ein Lesen aus der Unterfolge einen Zugriff auf den lokalen Speicher (22) und ein Lesen außerhalb der Unterfolge einen Zugriff auf den Hauptspeicher bedingen.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet,
daß die Unterfolge der ersten Vielzahl adressierbarer
Speicherstellen aus aufeinanderfolgenden
Adressen besteht.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet,
daß im Schritt (a) die Speicherstellen im lokalen
Speicher (22) direkt adressierbar sind mittels:
- (f) Setzen eines Flip-Flops (51), das einen Ladezustand des lokalen Speichers (22) anzeigt, in einen ersten Zustand, der ein Laden anzeigt, und in den einen Betriebszustand darstellenden Schritten (c) bis (e),
- (g) das Flip-Flop (51) in einen zweiten Zustand, der kein Laden anzeigt, gesetzt wird.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP56153045A JPS5856277A (ja) | 1981-09-29 | 1981-09-29 | 情報処理装置ならびに方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3235264A1 DE3235264A1 (de) | 1983-04-07 |
DE3235264C2 true DE3235264C2 (de) | 1991-10-24 |
Family
ID=15553760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19823235264 Granted DE3235264A1 (de) | 1981-09-29 | 1982-09-23 | Datenverarbeitungsvorrichtung und -verfahren |
Country Status (5)
Country | Link |
---|---|
US (1) | US4628450A (de) |
JP (1) | JPS5856277A (de) |
DE (1) | DE3235264A1 (de) |
FR (1) | FR2513778B1 (de) |
GB (1) | GB2107091B (de) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5942367Y2 (ja) * | 1978-11-06 | 1984-12-11 | ソニー株式会社 | 包装装置 |
US4729091A (en) * | 1984-11-13 | 1988-03-01 | International Business Machines Corporation | Directing storage requests prior to address comparator initialization with a reference address range |
JP2740326B2 (ja) * | 1989-03-01 | 1998-04-15 | 三洋電機株式会社 | 接触吸熱、放熱装置 |
US6209061B1 (en) * | 1998-03-02 | 2001-03-27 | Hewlett-Packard Co. | Integrated hierarchical memory overlay having invariant address space span that inactivates a same address space span in main memory |
US20050097304A1 (en) * | 2003-10-30 | 2005-05-05 | International Business Machines Corporation | Pipeline recirculation for data misprediction in a fast-load data cache |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3581291A (en) * | 1968-10-31 | 1971-05-25 | Hitachi Ltd | Memory control system in multiprocessing system |
US3701107A (en) * | 1970-10-01 | 1972-10-24 | Rca Corp | Computer with probability means to transfer pages from large memory to fast memory |
GB1354827A (en) * | 1971-08-25 | 1974-06-05 | Ibm | Data processing systems |
US3753242A (en) * | 1971-12-16 | 1973-08-14 | Honeywell Inf Systems | Memory overlay system |
US4016541A (en) * | 1972-10-10 | 1977-04-05 | Digital Equipment Corporation | Memory unit for connection to central processor unit and interconnecting bus |
GB1441817A (en) * | 1973-07-19 | 1976-07-07 | Int Computers Ltd | Data processing apparatus |
JPS5211728A (en) * | 1975-07-18 | 1977-01-28 | Oki Electric Ind Co Ltd | Memory device with stratum composition |
JPS5263038A (en) * | 1975-10-01 | 1977-05-25 | Hitachi Ltd | Data processing device |
IT1052738B (it) * | 1975-12-24 | 1981-07-20 | Cselt Centro Studi Lab Telecom | Dispositivo per il caricamento automatico della memoria centrale di calcolatori elettronici |
US4181937A (en) * | 1976-11-10 | 1980-01-01 | Fujitsu Limited | Data processing system having an intermediate buffer memory |
US4075686A (en) * | 1976-12-30 | 1978-02-21 | Honeywell Information Systems Inc. | Input/output cache system including bypass capability |
US4126894A (en) * | 1977-02-17 | 1978-11-21 | Xerox Corporation | Memory overlay linking system |
US4136386A (en) * | 1977-10-06 | 1979-01-23 | International Business Machines Corporation | Backing store access coordination in a multi-processor system |
US4161024A (en) * | 1977-12-22 | 1979-07-10 | Honeywell Information Systems Inc. | Private cache-to-CPU interface in a bus oriented data processing system |
IT1111606B (it) * | 1978-03-03 | 1986-01-13 | Cselt Centro Studi Lab Telecom | Sistema elaborativo modulare multiconfigurabile integrato con un sistema di preelaborazione |
US4253146A (en) * | 1978-12-21 | 1981-02-24 | Burroughs Corporation | Module for coupling computer-processors |
US4280176A (en) * | 1978-12-26 | 1981-07-21 | International Business Machines Corporation | Memory configuration, address interleaving, relocation and access control system |
US4481580A (en) * | 1979-11-19 | 1984-11-06 | Sperry Corporation | Distributed data transfer control for parallel processor architectures |
US4473877A (en) * | 1981-04-16 | 1984-09-25 | Tulk Ronald K | Parasitic memory expansion for computers |
US4450524A (en) * | 1981-09-23 | 1984-05-22 | Rca Corporation | Single chip microcomputer with external decoder and memory and internal logic for disabling the ROM and relocating the RAM |
US4484267A (en) * | 1981-12-30 | 1984-11-20 | International Business Machines Corporation | Cache sharing control in a multiprocessor |
US4463420A (en) * | 1982-02-23 | 1984-07-31 | International Business Machines Corporation | Multiprocessor cache replacement under task control |
-
1981
- 1981-09-29 JP JP56153045A patent/JPS5856277A/ja active Pending
-
1982
- 1982-09-17 GB GB08226490A patent/GB2107091B/en not_active Expired
- 1982-09-23 DE DE19823235264 patent/DE3235264A1/de active Granted
- 1982-09-29 FR FR8216392A patent/FR2513778B1/fr not_active Expired
-
1985
- 1985-12-18 US US06/810,884 patent/US4628450A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
GB2107091A (en) | 1983-04-20 |
GB2107091B (en) | 1985-10-23 |
FR2513778A1 (fr) | 1983-04-01 |
JPS5856277A (ja) | 1983-04-02 |
FR2513778B1 (fr) | 1988-10-28 |
US4628450A (en) | 1986-12-09 |
DE3235264A1 (de) | 1983-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3786967T2 (de) | Protokoll zum Ungültigerklären eines Cachespeichers für ein digitales Datenverarbeitungssystem. | |
DE3685876T2 (de) | Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher. | |
DE69714472T2 (de) | Verfahren zum überprüfen eines integrierten speichers mit hilfe einer integrierten dma-schaltung | |
DE69028066T2 (de) | Kombinierte synchrone und asynchrone Speichersteuerung | |
DE3908507C2 (de) | Graphische Anzeigeanordnung | |
DE2523372C3 (de) | Eingabe-/Ausgabe-Anschlußsteuereinrichtung | |
DE3752017T2 (de) | Mikrorechner mit Zugriffsfähigkeit auf einen internen Speicher mit gewünschter variabler Zugriffszeit | |
DE68923944T2 (de) | RAM mit doppelten Ein/Ausgängen. | |
DE69027806T2 (de) | Multifunktionskoppler zwischen einer zentralen Verarbeitungseinheit eines Rechners und verschiedenen Peripheriegeräten dieses Rechners | |
DE60224774T2 (de) | Datenverarbeitungssystem mit Lese-, Änderungs- und Schreibeinheit | |
DE69020569T2 (de) | Modulares ein-/ausgabesystem für superrechner. | |
DE2744531A1 (de) | Elektronische datenverarbeitungsanlage | |
DE2902465A1 (de) | Datenverarbeitungsanordnung | |
DE3781794T2 (de) | Vorrichtung und verfahren zum versehen eines cachespeichers mit einer schreiboperation mit zwei systemtaktzyklen. | |
DE3587031T2 (de) | Zugriffpruefungseinrichtung fuer digitale datenverarbeitungsanordnung, welche einen speicher mit seitenabruf hat. | |
DE3687867T2 (de) | Mikrorechner. | |
EP0500973B1 (de) | EEPROM und Verfahren zum Ändern einer Initialisierungsroutine im EEPROM | |
DE3751108T2 (de) | Mikroprozessor mit der Fähigkeit, an einen Koprozessor geschaltet zu werden. | |
DE69816714T2 (de) | Instrumentationsanordnung für eine Maschine mit nichtuniformen Speicherzugriffen | |
DE3850514T2 (de) | Cachespeicher mit Treffervorhersagelogik. | |
DE69119149T2 (de) | Struktur zur direkten Speicher-zu-Speicher-Übertragung | |
DE69427512T2 (de) | Direktspeicherzugriffssteuerung | |
DE69029815T2 (de) | Zentralisierte referenz- und änderungstabelle für eine virtuelle speicheranordnung | |
DE3911721C2 (de) | ||
DE68927306T2 (de) | Emulationssystem, fähig zur Anpassung an Mikrorechner mit verschiedenen On-Chip-Speicherkapazitäten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8128 | New person/name/address of the agent |
Representative=s name: HENKEL, G., DR.PHIL. FEILER, L., DR.RER.NAT. HAENZ |
|
8110 | Request for examination paragraph 44 | ||
8125 | Change of the main classification |
Ipc: G06F 13/00 |
|
8125 | Change of the main classification |
Ipc: G06F 12/08 |
|
8127 | New person/name/address of the applicant |
Owner name: KABUSHIKI KAISHA TOSHIBA, KAWASAKI, KANAGAWA, JP |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |