DE3106881A1 - Informationsverarbeitungssystem - Google Patents

Informationsverarbeitungssystem

Info

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
Application number
DE19813106881
Other languages
English (en)
Other versions
DE3106881C2 (de
Inventor
Shun Hadano Kawabe
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE3106881A1 publication Critical patent/DE3106881A1/de
Application granted granted Critical
Publication of DE3106881C2 publication Critical patent/DE3106881C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3804Instruction prefetching for branches, e.g. hedging, branch folding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0864Addressing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3802Instruction prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3824Operand accessing
    • G06F9/383Operand prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing 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).
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)

  1. Ansprüche:
    Informationsverarbeitungssystem mit einem Hochgeschwindigkeit s -Puff erspeicher und mit einer erweiterten Steuerung,
    gekennzeichnet durch
    einen 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)-MeKl
    130062/0577
  2. 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 und
    eine 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. 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/0577
    Informal; 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) 5
    c) 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 und
    e) 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, und
    c) 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 bedingte
    130062/0577
    Anforderung ist, die nach dem Decodieren des Zweigbefehls und vor der Zweig/Nicht-Zweig-Bestimmung des Zweigbefehls abgegeben ist.
    130062/0577
DE3106881A 1980-02-29 1981-02-24 Datenverarbeitungseinrichtung Expired DE3106881C2 (de)

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)

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

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

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

Patent Citations (2)

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