DE3106881A1 - Informationsverarbeitungssystem - Google Patents
InformationsverarbeitungssystemInfo
- Publication number
- DE3106881A1 DE3106881A1 DE19813106881 DE3106881A DE3106881A1 DE 3106881 A1 DE3106881 A1 DE 3106881A1 DE 19813106881 DE19813106881 DE 19813106881 DE 3106881 A DE3106881 A DE 3106881A DE 3106881 A1 DE3106881 A1 DE 3106881A1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- instruction
- branch
- control unit
- information
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3804—Instruction prefetching for branches, e.g. hedging, branch folding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3802—Instruction prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3824—Operand accessing
- G06F9/383—Operand prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
Description
HITACHI, LTD., Tokyo, Japan
Informationsverarbeitungssystem
Die Erfindung betrifft ein Informationsverarbeitimgssystem
zum Verarbeiten von Daten und Befehlsworten, insbesondere
ein Informationsverarbeitungssystem, das einen Hochgeschwindigkeit
s-PufT<>r speicher und eine erweiterte bzw. fortschrittliche
Steuerung verwendet.
Üblicherweise wird, insbesondere bei einem großmaßstäblichen Informationsverarbeitungssystem, ein Hochgeschwindigkeits-Pufferspeieher
zum Speichern von Kopien von Daten und Befehlsworten in einem Hauptspeicher und ein Vor-Abruf der Befehle
und Daten verwendet, um die Verarbeitungsgeschwindigkeit zu erhöhen. Auf diese Weise werden die Daten und die Befehlsworte,
die zur Verarbeitung erforderlich sind, zu dem Hochgeschwindigkeits-Pufferspeicher vor-abgerufen, um eine
Hochgeschwindigkeits-Verarbeitung zu ermöglichen. Wenn jedoch ein zu verarbeitender Befehlsstrom durch einen Verzweigungsbefehl,
im Folgenden kurz Zweigbefehl, geändert wird, wurden die Befehlsworte und Daten, die nicht zur
Verarbeitung notwendig sind, in den Hochgeschwindigkeits-
13 0 0 62/0577
Pufferspeicher vor-abgerufen werden. Dies ist ein besonderes
Problem bei Informationsverarbeitungssystemen mit hohem Ausmaß an erweiterter Steuerung, wie bei einem Leitungs-Steuersystem
(pipeline control system). Die Auslegung des Leitungssteuersystems und dessen Probleme sind
beispielsweise beschrieben in CV. Hamamoorthy, "Pipeline
Architecture", in ACM Computing Surveys, Bd. 9 (1977) Nr. 1, S. 61-102, Association for Computing Machinery Inc.
Bei einem derartigen Informationsverarbeitungssystem wird die Verzweigung oder Nicht-Verzweigung bzw. Zweig/NichtZweig eines Zweigbefehls vorausgesagt nach der Decodierung
des Zweigbefehls und vor der Zweig/Nicht-Zweig-Bestimmung/
und Befehlsworte und Daten in Übereinstimmung mit einem Befehlsstrom auf der Grundlage der Voraussage werden von dem
Hochgeschwindigkeits-Pufferspeicher vor-abgerufen. Beim
Vor-Abruf wird, wenn die Befehlsworte oder die Daten nicht in dem Hochgeschwindigkeits-Pufferspeicher enthalten sind,
ein Betrieb zur Übertragung von Information in dem Hauptspeicher zu dem Hochgeschwindigkeits-Pufferspeicher ausgelöst.
Wenn jedoch die Voraussage aufgrund der Zweig/Nicht-
geht
Zweig-BeStimmung des Zweigbefehls fehlgeht, die Verarbeitung
aufgrund der Voraussage weiter, was sich als unnötig herausstellt und wird unnötige Information in dem Hochgeschwindigkeits-Puff
erspeicher belassen. Dies hat die Verringerung der Wahrscheinlichkeit des Vorliegens notwendiger
Befehlsworte und Daten in dem Pufferspeicher zur Folge, was den Verlust von Befehlsworten und Daten zur
Folge haben kann, die in dem nächsten Schritt von dem Pufferspeicher zu verwenden sind. Weiter wird die Durchführung
des folgenden Befehlsworts verzögert, bis die unnötige Datenübertragung von dem Hauptspeicher zu dem
Hochgeschwindigkeits-Pufferspeicher beendet ist.
Zur Überwindung dieses Problems wurde angegeben, die Auslösung
der Übertragungsstufe für die Befehlsworte und Daten
von dem Hauptspeicher zu dem Hochgeschwindigkeits-Puffer-
130062/0577
speicher bei der Decodierung des Zweigbefehls zu unterdrücken und vielmehr bis zur Zweig/Nicht-Zweig-Bestimmung
des Zweigbefehls zu warten, und wenn die Voraussage erfolgreich ist, wird die Übertragungsstufe für den Hauptspeicher
ausgelöst, wobei jedoch, wenn die Voraussage fehlgeht, die Übertragungsstufe nicht ausgelöst wird, und
werden
folgende Verarbeitungen durchgeführt (vgl. JP-OS kO 824/76).
folgende Verarbeitungen durchgeführt (vgl. JP-OS kO 824/76).
Bei diesem System wird das Abrufen unnötiger Befehlsworte und Daten in dem Hochgeschwindigkeits-Pufferspeicher, d.h.t
die Auslösung der Datenübertragungsstufe unnötiger Information
von dem Hauptspeicher zu dem Hochgeschwindigkeits-Puff erspeicher verhindert. Da es jedoch bei diesem System
Voraussetzung ist, daß die Zweig/Nicht-Zweig-Bestimmung
des Zweigbefehles abgewartet wird, wenn der Zweigbefehl
decodiert wird und die vorausgesagten Befehlsworte und Daten nicht in dem Hochgeschwindigkeits-Pufferspeicher enthalten
sind, kann der nächste Verarbeitungsschritt nicht durchgeführt werden vor der Beendigung der Bestimmung. Folglich
wird der Vorteil erweiterter Steuerung nicht in vollem Umfang erreicht.
Es ist Aufgabe der Erfindung, ein Informationsverarbeitungssystem anzugeben, das unter Vermeidung der erwähnten Nachteile
eine unnötige Informationsübertragung von dem Hauptspeicher zu dem Hochgeschwindigkeits-Pufferspeicher verhindert,
ohne dabei auf die Vorteile der erweiterten Steuerung zu verzichten und lediglich die notwendige Information
überträgt.
Gemäß einem Merkmal der Erfindung ist, wenn die Befehlsworte oder Daten nicht in dem Hochgeschwindigkeits-Pufferspeicher
enthalten sind, ein Adreß-Puffer oder -Stapel vorgesehen zum Speichern von Adressen, die als Ausleseanforderungen
zu dem Hauptspeicher zu senden sind mit Befehlsstromnummern und bedingten Markierungen zur Anzeige, daß
die Ausleseanforderung ein vorausgesagter Vor-Abruf ist,
130062/0577
der jeder der Adressen hinzugefügt ist. Daher werden, Wenn die Befehlsworte oder Daten nicht in dem Hochgeschwindigkeits-Pufferspeicher
enthalten sind, die Adressen für den vorausgesagten Vor-Abruf in dem Adreß-Puffer gespeichert
mit den bedingten Markierungen und kann dann der nächste Verarbeitungsschritt durchgeführt werden, ohne die
erweiterte Steuerung zu unterbrechen. Die Übertragungsstufe für den Hauptspeicher wird unmittelbar für diejenigen
Adressen in dem Adreß-Puffer ausgelöst, die keine bedingte Markierung besitzen, wird jedoch nicht für diejenigen
Adressen ausgelöst, die die bedingte Markierung haben, sondern ausgelöst nach dem Erfolg der Voraussage. Wenn
die Voraussage fehl geht, wird die Übertragunjgsstufe nicht
ausgelöst und werden die Adressen in dem Adreß-Puffer gelöscht.
Die Erfindung wird anhand der in der Zeichnung dargestellten Ausführungsbeispiele näher erläutert. Es zeigen
Fig. 1 ein Blockschaltbild eines Gesamtaufbaus eines Informationsverarbeitungssystems,
bei dem die Erfindung angewendet ist,
Fig. 2 Einzelheiten der Befehlssteuereinheit gemäß Fig. 1,
Fig. 3 ein Ausführungsbeispiel einer Stromsteuerschaltung in der Befehlssteuereinheit, die insbesondere
für die Erfindung wesentlich ist,
Fig. 4 ein Ausführungsbeispiel einer Speichersteuereinheit, Fig. 5 Funktionen der Steuerschaltungen gemäß Fig. 3.
Fig. 1 zeigt einen Gesamtaufbau eines Informationsverarbeifcungssystems,
bei dem die Erfindung angewendet ist und das einen Hauptspeicher 1, eine Speichersteuereinheit 2, eine
Kanaleinheit 3i eine Befehlssteuereinheit k und eine Recheneinheit
5 aufweist. Bei diesem System werden Befehlsworte in dem Hauptspeicher 1 in folgender Weise verarbeitet. Das
Befehlswort wird aus dem Hauptspeicher t mittels der Befehls-
130062/0S77
Steuereinheit k über die Speichersteuereinheit 2 ausgelesen.
Das Befehlswort wird in die Befehlssteuereinheit k geladen bzw. eingegeben und durch diese decodiert, wobei
auch Daten, die für den durch das Befehlswort bestimmten Betrieb notwendig sind, aus dem Hauptspeicher 1
über die Speichersteuereinheit 2 ausgelesen werden. Die ausgelesenen Daten werden zur Recheneinheit 5 übertragen,
wo sie gemäß dem Befehlswort verarbeitet werden. Die Kanaleinheit 3 ateuort den Austausch der Daten mit T./O-Einr.ichtungen
(Eingabe/Ausgabe-Einrichtungen). Da diese für die vorliegende Erfindung nicht wesentlich sind, werden sie
nicht näher erläutert.
Bei dem Informationsverarbeitungssystem, das die erweiterte Steuerung verwendet, werden das Auslesen und Decodieren
der Befehlsworte, das Auslesen der Daten, die für die befohlenen
Betriebsschritte notwendig sind, und das Verarbeiten der Daten gemäß dem Befehlswort in sich überlappender
Betriebsart für οinc Mehrheit der Befehlsworte durchgeführt.
Daher arbeiten der Hauptspeicher 1, die Speichersteuereinheit 2, die Befehlssteuereinheit k und die Recheneinheit
5 parallel. Die Speichersteuereinheit 2 enthält einen Hochgeschwindigkeits-Pufferspeicher,
der Kopien der Befehlsworte und Daten in dem Hauptspeicher 1 vor-speichert.
Wenn eine Ausleseanforderung abgegeben wird, prüft die Speichersteuereinheit 2 zunächst, ob angeforderte Befehlsworte oder Daten in dem Hochgeschwindigkeits-Pufferspeicher
enthalten sind, und wenn sie enthalten sind, liest sie sie aus dem Hochgeschwindigkeits-Pufferspeicher aus, und wenn
sie nicht enthalten sind, löst sie eine Ubertragungsstufe
i'iir den Hauptspeicher 1 aus. Bei dem System gemäß Fig. 1
bezieht sich die vorliegende Erfindung insbesondere auf die Speichersteuereinheit 2 und die Befehlssteuereinheit k.
Fig. 2 zeigt im Einzelnen den Aufbau der Speichersteuerein-
130062/0577
heit k. In Fig. 2 vrird das aus der Speichersteuereinheit
2 ausgelesene Befehlswort in einem Befehlspuffer 21 oder
einem Befehlspuffer 22 über eine Leitung 210 gespeichert.
Die beiden Befehlspuffer 21,22 sind so vorgesehen, daß einer
von ihnen einer Zieladresse eines Zweigbefehls zugeordnet ist, während der·andere einem Hauptbefehlsstrom zugeordnet
ist. Das Befehlswort von dem Befehlspuffer 21 oder 22 wird
in ein Befehlsregister 23 geladen bzw. eingegeben, wenn
das Befehlswort decodiert ist. Die decodierte Information wird in ein Register 27 für einen decodierten Befehl geladen
bzw. eingegeben, von wo sie zur Recheneinheit 5 über eine Leitung 212 übertragen wird, wenn der Betrieb durchgeführt
werden soll. Wenn das Befehlswort decodiert ist, wird durch einen Adreßaddierer 25 eine Datenadresse erstellt
und wird das Ergebnis in ein Register 26 geladen. Weiter ist ein Stapel oder Puffer von Allzweckregistern 2k
vorgesehen. Der Inhalt des Registers 26 wird zur Speichersteuereinheit 2 über eine Auswahlschaltung 32 zugeführt,
so daß Daten aus dem Hochgeschwindigkeits-Pufferspeicher
der Speichersteuereinheit 2 ausgelesen werden. Befehlsadreßregister 28 und 29 ermöglichen das Auslesen der Befehlsworte abhängig von den Befehlsströmen. Deren Inhalt wird
auch zu der Speichersteuereinheit 2 über die Auswahlschaltung 32 übertragen, so daß das Befehlswort aus dem Hochgeschwindigkeits-Puff
erspeicher ausgelesen wird. Eine Adresse davon wird durch einen Adreßinkrementer 30 inkroraentiert
(vorwärtsgezählt) zum Erzeugen einer Ausleseadresse für das nächste Befehlswort, die in die Befehlsadreßregister 28
und 29 über ein Register 31 geladen wird.
Die Befehlssteuereinheit 4 bewirkt das Auslesen und Decodieren
des Befehlsworts und das Auslesen der Daten, die zur Verarbeitung notwendig sind, vor der Durchführung des Befehlsworts.
In Fig. 2 enthält sie eine Strömsteuerschaltung
130062/0577
33 j um zu verhindern, daß eine unnötige Übertragungsstufe
von dem Hauptspeicher 1 zu dem Hochgeschwindigkeits-Pufferspeicher
durchgeführt wird. Dies 1st eines der wesentlichsten Merkmale der Erfindung.
Fig. 3 zeigt im Einzelnen ein Ausführungsbeispiel der Stromsteuerschaltung
33· Fig· 3 zeigt ein Register 58 für bedingte
Anforderung . Wenn ein bedingter Zweigbefehl in das Befehlsregister 23 gemäß Fig. 2 geladen wird und decodiert
wird, wird das Register 58 durch eine Steuerschaltung
57 über eine Leitung 101 gesetzt. Andererseits werden in der Speiehersteuerschaltung 2, nachdem der bedingte
Zweigbefehl decodiert worden itft, die Befehlsvrorte oder
Daten für einen vorausgesagten Befehlsstrom vor-abgerufen.
Wenn das Register 58 gesetzt ist, informiert eine Steuerschaltung
59 die Speichersteuereinheit 2 über eine Leitung
215 darüber, daß der Vor-Abruf der Befehlsworte oder
Daten auf der bedingten Ausleseanforderung beruht. Abhängig
davon befiehlt die Speichersteuereinheit 2 dem Hauptspeicher 1 das Auslösen der Übertragungsstufe der Befehlsworte oder
Daten für die bedingte Anforderung zu unterdrücken, selbst wenn sie nicht in dem Hochgeschwindigkeits-Pufferspeicher
enthalten sind. Das Register 58 für bedingte Anforderung
wird rückgesetzt, wenn die Stromsteuerschaltung 33 das
Zweig/Nicht-Zweig-Signal von der grundsätzlichen Verarbeitungseinheit bzw. der Recheneinheit 5 über eine Leitung
erhält. Daher hält das Register 58 für bedingte Anforderung
eine "1", nachdem die Befehlssteuereinheit k den bedingten
Zweigbefehl decodiert hat und bis die Zweig/Nicht-Zweig-Bestimmung
des Zweigbefehls durchgeführt worden ist, wobei alle Vor-Abruf-Anforderungen, die während dieser Periode
von der Befehlssteuereinheit 4t zur Steuerspeichereinheit 2
abgegeben werden, als bedingte Anforderungen behandelt werden. Wenn diese bedingten Anforderungen empfangen werden,
130062/0577
führt die Speichersteuereinheit 2 keinen unmittelbaren Zugriff zu dem Hauptspeicher 1 durch, selbst wenn die
notwendige Information nicht in dem Hochgeschwindigkeits-Pufferspeicher
enthalten ist, wenn jedoch folgende Befehlsworte oder Daten in dem Hochgeschwindigkeits-Pufferspeicher
enthalten sind, werde α diese von dem Pufferspeicher abgerufen
ohne Unterbrechen des Vor-Abrufs dieser Befehlsworte oder Daten.Einzelheiten der Speichersteuereinheit 2 werden im
Folgenden erläutert.
Gemäß Fig. 3 zeigt ein Register 52 für den decodierten
Strom eine Stromnummer des Befehlsstrom, der gerade decodiert wird. Eine vorausgesagte Stromnummer wird in das Register
durch die Steuerschaltung 51 geladen, nachdem der bedingte
Zweigbefehl decodiert worden ist. Der Inhalt des Registers wird zu dem Register 27 für decodierten Befehl gemäß Fig.
durch die Steuerschaltung 59 über eine Leitung 102 übertragen und wird dann zu der Recheneinheit 5 über eine Leitung
212 übertragen, so daß er zur Auswahl der Befehlsstromnummer verwendet wird, die durchzuführen ist, wenn die Recheneinheit
5 die Zweig/Nicht-Zweig-Bestimmung des Zweigbefehls durchführt. Der Inhalt des Registers 52 wird auch zur Auswahlschaltung
32 über die Leitung 102 übertragen, so daß er zur Auswahl der Befehlsadreßregister 28 oder 29 verwendet
wird. Ein HauptStromregister 5^ zeigt einen Hauptstrom
der Befehlsströme an. Ein Register 56 für aktiven
Strom zeigt einen aktiven Strom der Befehlsströme an. Wenn kein bedingter Zweigbefehl vorliegt, ist einer der Befehlsströme aktiv,und während der Periode von der Decodierung
des bedingten Zweigbefehls zur Zweig/Nicht-Zweig-Bestimmung sind sowohl der Hauptstrom als auch der Zielstrom aktiv.
Wenn das Ergebnis der Zweig/Nicht-Zweig-Bestimmung von der Recheneinheit 5 über die Leitung 21*l· empfangen wird,
wird lediglich einer der Befehlsströme durch die Steuer-
130062/0577
schaltung 25 aktiv gehalten. Simultan gibt die Steuerschaltung 59 eine Information über den Befehlsstrom, der
als Ergebnis der Bestimmung des Zweiges durchgeführt werden soll, an die Speichersteuereinheit 2 über die Leitung
216 ab.
Fig. 5 (1) his 5 (4) zeigen die Funktionen der Steuerschaltungen
51,53,55 bzw. 57. Die Steuerschaltungen 51,53,55,57
und 59 sind in Fig. 3 getrennt dargestellt zur einfacheren
Erläuterung, jedoch können sie als mikroprogrammierte Steuerschaltung einteilig ausgebildet sein, um eine Soll-Funktion
zu erreichen.
Fig. 4 zeigt im Einzelnen den Aufbau der SpeicherSteuereinheit
2. Gemäß Fig. 4 wird eine Adresse in ein Adreßregister 4l von der Befehlssteuereinheit 4 über eine Leitung
213 geladen. Bit in dieser Adresse werden durch einen Decodierer 42 decodiert, der eine Spalte in dem Hochgeschwindigkeits-Pufferspeicher
45 bestimmt. Der Hochgeschwindigkeits-Pufferspeicher
45 enthält mehrere Spalten, wobei jede Spalte ein Adreßaufzeichnungsfeld 45—1, ein Datenaufzeichnungsfeld
45~-2 und ein V-Bit-Feld zur Anzeige der
Gültigkeit der Spalte aufweist. Das Adreßaufzeichnungsfeld
45-"l der bezeichneten Spalte wird mit der Adresse in
dem Adreßregister 4l durch eine Vergleicherschaltung 43
verglichen,und wenn der Vergleich Gleichheit bzw. Übereinstimmung zeigt, wird der Inhalt des Datenaufzeichnungsfeldes
45-2 der bezeichneten Spalte in ein Datenregister
44 geladen und wird dann zu der Befehlssteuereinheit 4
oder der Recheneinheit 5 über eine Leitung 210 oder 217 übertragen.
Wenn der Vergleich in der Vergleicherschaltung 43 Ungleichheit zeigt, d.h., wenn keine Daten in der bezeichneten
Spalte des Pufferspeichers 45 enthalten sind,
wird die Adresse des Adreßregisters 4l in ein Feld 46-1
130062/0577
eines Adreß-Puffers 46 oder -Stapels mittels einer Auswahlschaltung
48 geladen. Simultan wird eine Befehlsstromnummer und eine Information, die anzeigt, ob es sich um
eine bedingte Anforderung handelt oder nicht, in ein S-(S: Strom) und ein U/C-Feld (U: unbedingt; C: bedingt)
des Adreß-Puffers 46 mittels der Befehlssteuereinheit 4
über eine Leitung 215 geladen. Dann beginnt die Speichersteuereinheit 2 das Laden der nächsten Adresse in das
Adreßregister 4l.
Wenn andererseits die in dem Adreß-Puffer 46 geladene Adresse keine bedingte Anforderung ist, d.h., wenn es
sich um eine unbedingte Anforderung (U) handelt, wird die Adresse unmittelbar zum Hauptspeicher 1 über eine
Leitung JIi als Anforderung gesandt.Die Befehlsworte oder
Daten, die aus dem Hauptspeicher 1 ausgelesen werden, werden zu dem Feld 45-2 des Hochgeschwindigkeits-Pufferspeichers
45 über eine Leitung 310 übertragen, wobei
die entsprechende Adresse in das Feld 45-1 mittels des
Adreß-Puffers 46 registriert bzw. geladen wird. Wenn die Adresse eine bedingte Anforderung (C)4-st, wird eine Anforderung
an den Hauptspeicher 1 nicht unmittelbar erzeugt, vielmehr gibt die Adresse die Anforderung an den
Hauptspeicher 1 in folgenden Prozeduren ab. Das Ergeb-;. nis der Bestimmung des Zweigbefehls wird an die Befehlssteuereinheit 4 durch die Recheneinheit 5 über eine Leitung
214 berichtet,und über den durchzuführenden Befehlsstrom wird der Speichersteuereinheit 2 über eine Leitung
216 berichtet. Wenn der durchzuführende Befehlsstrom,
der die bedingte Anforderung ist, in dem Adreß-Puffer 46 enthalten ist, wird dessen Adresse zum Hauptspeicher 1 als
Anforderung gesandt. Wenn eine bedingte Anforderung, die nicht der durchzuführende Befehlsstrom ist, in dem Adreß-Puffer
46 enthalten ist, wird diese Anforderung nicht zum
130062/0577
Hauptspeicher 1 gesandt, sondern gelöscht.
Wie sich aus vorstehender Beschreibung ergibt, ergeben sich folgende Vorteile:
1. Durch Setzen der Markierung der bedingten Anforderung auf die vorausgesagte vor-abgerufene Anforderung wird
eine unnötige Informations-Übertragungsstufe von dem Hauptspeicher vermieden;
2. weil die unnötige Informations-Übertragungsstufe vermieden ist, ist eine Wartezeit für die folgende Anforderung
für die Übertragungsstufe beseitigt und sind nur die notwendigen Daten in dem Hochgeschwindigkeits-Pufferspeicher
gespeichert;
3. durch das Vorsehen des Adreß-Puffers zum Halten der
Anforderungen für den Hauptspeicher, die jeweils die Befehlsstromnummer und die bedingte Markierung besitzen,
muß der vorausgesagte Vor-Abruf nicht unterbrochen werden, selbst für einen bedingten Zweigbefehl,
Selbstverständlich sind noch andere Ausführungsformen möglich.
130062/0577
Leerseite
Claims (3)
- Ansprüche:Informationsverarbeitungssystem mit einem Hochgeschwindigkeit s -Puff erspeicher und mit einer erweiterten Steuerung,
gekennzeichnet durcheinen Adroß-Puffor zum sequentiellen. Speichern von Adressen, die einem Hauptspeicher (1) als Ausleseanforderungen zuzuführen sind, wenn Befehlsworte und/oder Daten nicht in dem Hochgeschwindigkeits-Pufferspeicher enthalten sind, zusammen mit Befehlsstromnummern und -markierungen zur Anzeige, ob die Ausleseanforderungen bedingte Anforderungen aufgrund eines vorausgesagten Vor-Abrufs sind oder nicht, und eine Einrichtung, die abhängig von Adressen mit den bedingten Anforderungsmarkierungen die Adresse der Befehlsstromnummer dem Hauptspeicher (1) als Ausleseanforderung zuführt, wenn die Befehlsstromnummer, die durchzuführen ist, bestimmt ist, und die Anforderungen an die Befehlsströme mit Ausnahme des durchzuführenden Befehlsstroms löscht.81-('A5242-02)-MeKl130062/0577 - 2. Informationsverarbeitungssystem, mit einem Hauptspeicher,einer Speichersteuereinheit mit einem Hochgeschwindigkeits-Pufferspeicher zum Speichern von Kopien der Information, die in dem Hauptspeicher enthalten ist, und zum Empfangen der Übertragung der Information von dem Hauptspeicher zu dem Hochgeschwindigkeits-Pufferspeicher, wenn die erforderliche Information nicht in dem Hochgeschwindigkeits-Pufferspeicher vorhanden ist undeine Befehlssteuereinheit zum Übertragen von Adressen als Ausleseanforderungsbefehlsworte und/oder Daten zur Speichersteuereinheit und zum Decodieren der Befehlsworte von der Speichersteuereinheit, dadurch gekennzeichnet,daß die Befehlssteuereinheit (4) eine Befehlsstromsteuereinheit enthält zum Senden von Befehlsstromriuramern und Anzeigen von bedingten Anforderungen auf der Grundlage eines vorausgesagten Vor-Abrufs abhängig von den Adressen in der Speichersteuereinheit (2),und daß die SpeicherSteuereinheit (2) einen Adreß-Puffer enthält, der die Adressen, die Befehlsstromnummern und die Markierungen speichert, die die bedingten Anforderungen wiedergeben, wenn die Information an den Adressen, die von der Befehlssteuereinheit (4) gefordert sind, nicht in dem Hochgeschwindigkeits-Pufferspeicher vorliegen und die bedingten Anforderungen angezeigt sind, und zum Zwischenspeichern von Übertragungsanforderungen der Information zu dem Hauptspeicher (1).
- 3. Informationsverarbeitungssystem nach Anspruch 2, dadurch gekennzeichnet,daß die Speichersteuereinheit (2) die Übertragungsanforderungen in dem Adreß-Puffer auf der Grundlage der Befehlsstromnummer zu dem Zeitpunkt sendet oder löscht, wenn der zu verarbeitende Befehlsstrom bestimmt ist.130062/0577Informal; ionsverarbej tungssystem nach Anspruch 2 oder 3, dadurch gekennzeichnet,daß die Befehlsstromsteuereinheit aufweist:a) ein erstes Register (58) zum Anzeigen der bedingten Ausleseanforderung nach dem Decodieren des bedingten Zweigbefehls, bis zur Zweig/Nicht-Zweig-Bestimmung des Zweigbefehls,b) eine Steuerschaltung (57) zur Informationsabgabe bezüglich der bedingten Anforderungs-Anzeige von dem ersten Register (58) zur Speichersteuereinheit (59) 5c) ein zweites Register (52) zur Anzeige einer .Befehl sstrotnnummer, die gerade decodiert wird,d) ein drittes Register (5'0 zur Anzeige eines Hauptstroms der liefehlsströme unde) ein viertes Register (56) zum Anzeigen von gerade aktiven Strömen.Verfahren zum Steuern der Informationsübertragung zwischen einem Hauptspeicher und einem Hochgeschwindigkeits-Pufferspeicher für einen Zweigbefehl in einem Leitungs-Steuersystem,
dadurch gekennzeichnet,a) daß Soll-Information von dem Hochgeschwindigkeits-Puf ferspeicher ausgelesen wird, wenn die Information abhängig von einer Ausleseanforderung auszulesen ist, die auf dem Decodieren des Zweigbefehls beruht,b) daß die Soll-Information von dem Hauptspeicher zu dem Hochgeschwindigkeits-Pufferspeicher übertragen wird, wenn die Soll-Information nicht in dem Hochgeschwindigkeits-Puff erspeicher enthalten ist, und wenn die Ausleseanforderung keine bedingte Anforderung ist, undc) daß die Information von dem Hauptspeicher zu dem Hochgeschwindigkeits-Puff erspeicher auf der Grundlage einer Adresse einer Befehlestromnummer übertragen wird, die: durch die Zweig/Nicht-Zweig-Bestimtn-ung des Zweigbefehls bestimmt ist, wenn die Soll-Information nicht in dem Hochgeschwindigkeits-Pufferspeicher enthalten ist, und wenn die Ausleseanforderung eine bedingte130062/0577Anforderung ist, die nach dem Decodieren des Zweigbefehls und vor der Zweig/Nicht-Zweig-Bestimmung des Zweigbefehls abgegeben ist.130062/0577
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP55024749A JPS5927935B2 (ja) | 1980-02-29 | 1980-02-29 | 情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3106881A1 true DE3106881A1 (de) | 1982-01-14 |
DE3106881C2 DE3106881C2 (de) | 1985-08-08 |
Family
ID=12146785
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3106881A Expired DE3106881C2 (de) | 1980-02-29 | 1981-02-24 | Datenverarbeitungseinrichtung |
Country Status (3)
Country | Link |
---|---|
US (1) | US4719570A (de) |
JP (1) | JPS5927935B2 (de) |
DE (1) | DE3106881C2 (de) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60168238A (ja) * | 1984-02-10 | 1985-08-31 | Hitachi Ltd | パイプラインデータ処理装置 |
JPS6114141U (ja) * | 1984-06-30 | 1986-01-27 | スズキ株式会社 | 格納式方向指示器 |
JPH0752390B2 (ja) * | 1985-05-07 | 1995-06-05 | 株式会社日立製作所 | 命令処理装置 |
DE3752100T2 (de) * | 1986-01-07 | 1997-12-11 | Nec Corp | Befehlsvorabrufgerät mit einer Schaltung zum Prüfen der Vorhersage eines Verzweigungsbefehls vor seiner Ausführung |
US4991080A (en) * | 1986-03-13 | 1991-02-05 | International Business Machines Corporation | Pipeline processing apparatus for executing instructions in three streams, including branch stream pre-execution processor for pre-executing conditional branch instructions |
US4888689A (en) * | 1986-10-17 | 1989-12-19 | Amdahl Corporation | Apparatus and method for improving cache access throughput in pipelined processors |
US5265220A (en) * | 1986-12-23 | 1993-11-23 | Nec Corporation | Address control device for effectively controlling an address storing operation even when a request is subsequently cancelled |
US4819155A (en) * | 1987-06-01 | 1989-04-04 | Wulf William A | Apparatus for reading to and writing from memory streams of data while concurrently executing a plurality of data processing operations |
JPH0235525A (ja) * | 1988-07-25 | 1990-02-06 | Fujitsu Ltd | 命令フェッチ制御方法 |
DE68927292T2 (de) * | 1988-11-25 | 1997-05-07 | Nec Corp | Mikrorechner, geeignet zur Schnellverarbeitung eines Verzweigungsbefehlskodes |
JP2504149B2 (ja) * | 1988-12-02 | 1996-06-05 | 三菱電機株式会社 | 命令キュ―管理装置 |
US5113515A (en) * | 1989-02-03 | 1992-05-12 | Digital Equipment Corporation | Virtual instruction cache system using length responsive decoded instruction shifting and merging with prefetch buffer outputs to fill instruction buffer |
JP2560889B2 (ja) * | 1990-05-22 | 1996-12-04 | 日本電気株式会社 | マイクロプロセッサ |
JP3082944B2 (ja) * | 1990-12-20 | 2000-09-04 | 富士通株式会社 | パイプライン処理装置 |
JP2693678B2 (ja) * | 1992-01-28 | 1997-12-24 | 株式会社東芝 | データ処理装置 |
US5430840A (en) * | 1992-04-30 | 1995-07-04 | International Business Machines Corporation | Predictive paging assist |
JPH07182170A (ja) * | 1993-12-24 | 1995-07-21 | Ricoh Co Ltd | マイクロプロセッサ |
DE69535330T2 (de) * | 1994-09-14 | 2007-05-31 | Intel Corporation, Santa Clara | Caching-System mit Explitzer Folgeliste |
US6256727B1 (en) | 1998-05-12 | 2001-07-03 | International Business Machines Corporation | Method and system for fetching noncontiguous instructions in a single clock cycle |
US6275924B1 (en) * | 1998-09-15 | 2001-08-14 | Texas Instruments Incorporated | System for buffering instructions in a processor by reissuing instruction fetches during decoder stall time |
US6772325B1 (en) * | 1999-10-01 | 2004-08-03 | Hitachi, Ltd. | Processor architecture and operation for exploiting improved branch control instruction |
JP2011028540A (ja) * | 2009-07-27 | 2011-02-10 | Renesas Electronics Corp | 情報処理システム、キャッシュメモリの制御方法、プログラム及びコンパイラ |
JP6030298B2 (ja) | 2010-12-28 | 2016-11-24 | 株式会社半導体エネルギー研究所 | 緩衝記憶装置及び信号処理回路 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3418638A (en) * | 1966-09-21 | 1968-12-24 | Ibm | Instruction processing unit for program branches |
US3618041A (en) * | 1968-10-31 | 1971-11-02 | Hitachi Ltd | Memory control system |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3292153A (en) * | 1962-10-01 | 1966-12-13 | Burroughs Corp | Memory system |
US3401376A (en) * | 1965-11-26 | 1968-09-10 | Burroughs Corp | Central processor |
US3559183A (en) * | 1968-02-29 | 1971-01-26 | Ibm | Instruction sequence control |
US3573853A (en) * | 1968-12-04 | 1971-04-06 | Texas Instruments Inc | Look-ahead control for operation of program loops |
US3577189A (en) * | 1969-01-15 | 1971-05-04 | Ibm | Apparatus and method in a digital computer for allowing improved program branching with branch anticipation reduction of the number of branches, and reduction of branch delays |
US3553655A (en) * | 1969-03-28 | 1971-01-05 | Ibm | Short forward conditional skip hardware |
US3764988A (en) * | 1971-03-01 | 1973-10-09 | Hitachi Ltd | Instruction processing device using advanced control system |
JPS549456B2 (de) * | 1972-07-05 | 1979-04-24 | ||
US4040031A (en) * | 1973-04-13 | 1977-08-02 | Compagnie Honeywell Bull (Societe Anonyme) | Computer instruction control apparatus and method |
US3898624A (en) * | 1973-06-14 | 1975-08-05 | Amdahl Corp | Data processing system with variable prefetch and replacement algorithms |
US3896419A (en) * | 1974-01-17 | 1975-07-22 | Honeywell Inf Systems | Cache memory store in a processor of a data processing system |
JPS5430624B2 (de) * | 1974-10-04 | 1979-10-02 | ||
CA1059639A (en) * | 1975-03-26 | 1979-07-31 | Garvin W. Patterson | Instruction look ahead having prefetch concurrency and pipe line features |
JPS5247635A (en) * | 1975-10-15 | 1977-04-15 | Toshiba Corp | Control method for transmitting informat ion |
US4210960A (en) * | 1977-09-02 | 1980-07-01 | Sperry Corporation | Digital computer with overlapped operation utilizing conditional control to minimize time losses |
US4157587A (en) * | 1977-12-22 | 1979-06-05 | Honeywell Information Systems Inc. | High speed buffer memory system with word prefetch |
US4200927A (en) * | 1978-01-03 | 1980-04-29 | International Business Machines Corporation | Multi-instruction stream branch processing mechanism |
US4338661A (en) * | 1979-05-21 | 1982-07-06 | Motorola, Inc. | Conditional branch unit for microprogrammed data processor |
US4373180A (en) * | 1980-07-09 | 1983-02-08 | Sperry Corporation | Microprogrammed control system capable of pipelining even when executing a conditional branch instruction |
-
1980
- 1980-02-29 JP JP55024749A patent/JPS5927935B2/ja not_active Expired
-
1981
- 1981-02-24 DE DE3106881A patent/DE3106881C2/de not_active Expired
-
1984
- 1984-04-06 US US06/597,744 patent/US4719570A/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3418638A (en) * | 1966-09-21 | 1968-12-24 | Ibm | Instruction processing unit for program branches |
US3618041A (en) * | 1968-10-31 | 1971-11-02 | Hitachi Ltd | Memory control system |
Also Published As
Publication number | Publication date |
---|---|
JPS5927935B2 (ja) | 1984-07-09 |
JPS56123041A (en) | 1981-09-26 |
US4719570A (en) | 1988-01-12 |
DE3106881C2 (de) | 1985-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3106881A1 (de) | Informationsverarbeitungssystem | |
DE2855106C2 (de) | Einrichtung zur Durchführung von bedingten Verzweigungen | |
DE2224537C2 (de) | Einrichtung und Verfahren zur Instruktionsauswahl in einem Fließbandprozessor | |
DE3222389C2 (de) | ||
DE69534113T2 (de) | Kompression der Befehlswörter eines Rechners | |
DE3210816C2 (de) | ||
DE3151745C2 (de) | ||
DE2715073C3 (de) | Mikroprogrammierte Rechner-Steuervorrichtung | |
DE2226314A1 (de) | Verfahren und steuereinrichtung zur steuerung einer programmfolge | |
DE2953861C2 (de) | ||
DE2353258A1 (de) | Datenverarbeitungssystem | |
DE2630323B2 (de) | Datenspeichereinrichtung mit einem Hauptspeicher, einem Hilfsspeicher und einer Vorausschaulogik | |
DE2902080A1 (de) | Daten-kanal-steueranordnung | |
DE10048072A1 (de) | Linklisten-DMA-Descriptor-Architektur | |
DE2847934A1 (de) | Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher | |
DE1499203B1 (de) | Schaltungsanordnung zum Speicherschutz bei Datenverarbeitungsanlagen mit Simultanbetrieb | |
DE2148847A1 (de) | Schaltungsanordnung zum Steueren peripherer Ein- und Ausgabegeraete von Datenverarbeitungssystem | |
DE2036729A1 (de) | Digital Datenverarbeiter | |
DE2332971C2 (de) | Mikroprogrammsteuereinrichtung | |
DE4345028A1 (de) | Vorrichtung zur Reduzierung von Verzögerungen aufgrund von Verzweigungen | |
DE2856680A1 (de) | Befehlspuffer fuer ein datenverarbeitungssystem | |
DE4029980A1 (de) | On-line-umspeichersystem und platten-untersystem | |
DE3043653A1 (de) | Datenverarbeitungsanlage | |
DE3012951A1 (de) | Datenverarbeitungssystem | |
DE4034009C2 (de) | Verfahren zur Befehlsabrufsteuerung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8125 | Change of the main classification |
Ipc: G06F 9/38 |
|
8126 | Change of the secondary classification |
Ipc: G06F 13/06 |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |