DE3106881C2 - Datenverarbeitungseinrichtung - Google Patents

Datenverarbeitungseinrichtung

Info

Publication number
DE3106881C2
DE3106881C2 DE3106881A DE3106881A DE3106881C2 DE 3106881 C2 DE3106881 C2 DE 3106881C2 DE 3106881 A DE3106881 A DE 3106881A DE 3106881 A DE3106881 A DE 3106881A DE 3106881 C2 DE3106881 C2 DE 3106881C2
Authority
DE
Germany
Prior art keywords
data
command
instruction
address
memory
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
Application number
DE3106881A
Other languages
English (en)
Other versions
DE3106881A1 (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 or 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 or 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 or 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 or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

Ein Informationsverarbeitungssystem mit einem Hochgeschwindigkeits-Pufferspeicher und mit einer erweiterten bzw. fortschrittlichen Steuerung enthält einen Adreß-Puffer (46) zum Speichern von Adressen, die einem Hauptspeicher (1) als Ausleseanforderungen zuzuführen sind, wenn Befehlsworte oder Daten nicht in dem Hochgeschwindigkeits-Pufferspeicher (45) enthalten sind, zusammen mit Befehlsstromnummern und -markierungen zur Anzeige, ob die Ausleseanforderungen bedingte Anforderungen auf der Grundlage eines vorausgesagten Vor-Abrufs sind. Für die Adressen mit den bedingten Anforderungsmarkierungen werden diese als Ausleseanforderungen gesendet, wenn die Voraussage endgültig bestimmt ist und werden die anderen Adressen gelöscht. Auf diese Weise muß die erweiterte Steuerung nicht unterbrochen werden.

Description

dadurch gekennzeichnet,
daß ferner eine Adressenhalteschaltung (46,48) vorgesehen ist, welche wenigstens eine Ausleseadresse der von der Anforderungsabgabeschaltung (42, 43, 45-1) abgegebenen Ausleseanforderungen kurzzeitig derart speichert, daß anhand der Ausleseadresse eine Identifizierung der Befehlsfolge, die die jeweilige Auslesevorrichtung aufweist, durchführbar ist, und
daß zusätzliche eine Adressensendesteuerschaltung (47) vorhanden ist, die, nach Durchführung der durch die Befehlsfolgewählschaltung (32, 33, 51 bis 59) durchgeführten Wahl einer Befehlsfolge, die in der Adressenhalteschaltung (46, 48) gespeicherten Ausleseadressen der jeweiligen Ausleseanforderungen, die den Befehlen der ausgewählten Befehlsfolge zugeordnet sind, an den Hauptspeicher (1) weiterleitet.
2. Datenverarbeitungseinrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Adressensendesteuerschaltung (47) einen Anforderungs-Annulierkreis aufweist, welcher die Ausleseadressen der Befehle innerhalb der nicht ausgewählten Befehlsfolge annuliert.
3. Datenverarbeitungseinrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Adressenhalteschaltung (46, 48) einen ersten Schaltkreis aufweist, welcher zu den innerhalb der Adressenhalteschaltung (46, 48) gespeicherten Ausleseadressen der Ausleseanforderungen eine Identifikationsinformation (Befehlsfolgezahl S) abspeichert, welche repräsentativ dafür ist, in welcher Befehlsfolge die jeweiligen Ausleseanforderungen vorhanden sind.
4. Datenverarbeitungseinrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Adressenhalteschaltung (46, 48) einen zweiten Schaltkreis aufweist, welcher zu den innerhalb der Adressenhalteschaltung (46, 48) gespeicherten Ausleseadressen der Ausleseanforderungen eine Identifikationsinformation (WC) abspeichert, welche repräsentativ dafür ist, ob die jeweiligen Ausleseanforderungen nach dem Auftreten eines bedingten Verzweigungsbefehls abgegeben worden sind.
Die Erfindung betrifft eine Datenverarbeitungseinrichtung nach dem Oberbegriff des Patentanspruchs !.
Üblicherweise wird, insbesondere bei einem großen Informationsverarbeitungssystem, ein Hochgeschwindigkeits-Pufferspeicher 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 geändert wird, würden die Befehlsworte und Daten, die nicht zur Verarbeitung notwendig sind, in den HochgeschwiGdigkeits-Pufferspeicher vorabgerufen werden. Dies ist ein besonderes Problem bei Informationsverarbeitungssystemen bei denen die Vorabsteuerung sehr umfangreich ist. Diese Probleme sind beispielsweise beschrieben in C. V. Ramamoorthy, »Pipeline Architecture«, in ACM Computing Surveys, Bd. 9 (1977) Nr. 1,S. 61 —102, Association for Computing Machinery Inc.
Datenvorarbeitungseinrichtungen, bei denen vorausschauend die Verarbeitung nach einem bedingten Verzweigungsbefehl vorbereitet wird, sind bekannt (US-PS 34 18 638). Im Gegensatz zur vorliegenden Erfindung wird jedoch bei den bekannten Einrichtungen kein Hochgeschwindigkeits-Pufferspeicher zur vorbereiteten Aufnahme der Daten und Befehle verwendet.
Darüber hinaus sind Datenverarbeitungsanlagen bekannt, bei denen mit mehreren parallel arbeitenden Steuerungen und mehreren parallel angeordneten Pufferspeichern Befehle und Operanden getrennt gespeichert werden können (US-PS 36 18 041). Derartige Datenverarbeitungsanlagen benötigen einen hohen Aufwand.
Zur Überwindung dieses Problems wurde vorgeschlagen, die Auslösung der Übertragung für die Befehlsworte und Daten von dem Hauptspeicher zu dem Hochgeschwindigkeits-Pufferspeicher nach der Decodierung des Verzweigungsbefehls zu unterdrücken und bis zur Entscheidung über die Art der Verzweigung zu warten, und wenn die Voraussage stimmt, die Übertragung für den Hauptspeicher auszulösen jedoch, wenn die Voraussage falsch ist, die Übertragung nicht auszulösen und die normale Verarbeitung fortzusetzen (vgl. JP-OS 40 824/76).
Bei diesem System wird das Abrufen unnötiger Befehlsworte und Daten in dem Hochgeschwindigkeits-Pufferspeicher, d. h., die Auslösung der Datenübertragung unnötiger Information von dem Hauptspeicher zu dem Hochgeschwindigkeits-Pufferspeicher verhindert. Da es jedoch bei diesem System Voraussetzung ist, daß die Entscheidung über den Verzweigungsbefehl abgewartet wird, wenn der Verzweigungsbefehl decodiert wird und wenn die vorausgesagten Befehlsworte und Daten dann nicht in dem Hochgeschwindigkeits-Pufferspeicher enthalten sind, kann der nächste Verarbeitungsschritt nicht durchgeführt werden vor der Entscheidung. Folglich wird der Vorteil der Vorabsteuerung nicht in vollem Umfang genutzt.
Es ist Aufgabe der Erfindung, eine Datenverarbeitungseinrichtung der im Oberbegriff des Hauptan-Spruchs angegebenen Art anzugeben, die unter Vermeidung der erwähnten Nachteile eine unnötige Informationsübertragung von dem Hauptspeicher zu dem Puffersoeicher verhindert, ohne dabei auf die Vorteile der
zusätzlichen Steuerung für den Vor-Abruf der Befehle zu verzichten.
Gelöst wird diese Aufgabe durch die im Kennzeichnenden Teil des Patentanspruchs 1 angegebenen Merkmale.
Zweckmäßige Ausgestaltungen und Weiterbildungen des Gegenstandes des Patentanspruchs 1 sind in den Unteransprüchen angegeben.
Die Erfindung wird anhand der in der Zeichnung dargestellten Ausführungsbeispiele näher erläutert Es zeigt
F i g. 1 ein Blockschaltbild eines Gesamtaufbaus einer Datenverarbeitungseiürichtung, bei der die Erfindung angwendet ist,
F i g. 2 Einzelheiten der Befehlssteuereinheit gemäß Fig. 1,
Fig.3 ein Ausführungsbeispiel einer Befehlsfolgewählschaltung in der Befehlssteuereinheit, die insbesondere für die Erfindung wesentlich ist,
F i g. 4 ein Ausführungsbeispiel einer Speichersteuereinheit,
F i g. 5 Funktionen der Steuerschaltung gemäß F i g. 3.
F i g. 1 zeigt einen Gesamtaufbau einer Datenverarbeitungseinrichsufig, bei der die Erfindung angewendet ist und das einen Hauptspeicher i, eine Speichersteuereinheit 2, eine Kanaleinheit 3, eine Befehlssteuereinheit 4 und eine Recheneinheit 5 aufweist. Bei diesem System werden Befehlsworte in dem Hauptspeicher 1 in folgender Weise verarbeitet Das Befehlswort wird aus dem Hauptspeicher 1 mittels der Befehlssteuereinheit 4 über die Speichersteuereinheit 2 ausgelesen. Das Befehlswort wird in die Befehlssteuereinheit 4 eingegeben und durch diese decodiert wobei auch Daten, die für den durch das Befehlswort bestimmten Bereich 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 steuert den Austausch der Daten mit I/O-Einrichtungen (Eingabe/Ausgabe-Einrichtungen). Da diese für die vorliegende Erfindung nicht wesentlich sind, werden sie nicht näher erläutert.
Bei der Datenverarbeitungseinrichtung, die eine Vorab-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äß den Befehlsworten in sich überlappender Betriebsart für mehrere Befehlsworte durchgeführt. Daher arbeiten der Hauptspeicher 1, die Speichersteuereinheit 2, die Befehlssteuereinheit 4 und die Recheneinheit 5 parallel. Die Speichersteuereinheit 2 enthält einen Hochgeschwindigkeits-Pufferspeicher, der Kopien der Befehlsworte und Daten in dem Hauptspeicher 1 vorab 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 diese aus dem Hochgeschwindigkeits-Pufferspeicher aus, und wenn sie nicht enthalten sind, löst sie eine Übertragung für den Hauptspeicher 1 aus. Bei dem System gemäß F i g. 1 bezieht sich die vorliegende Erfindung insbesondere auf die Speichersteuereinheit 2 und die Befehlssteuereinheit 4.
F i g. 2 zeigt im Einzelnen den Aufbau der Speichersteuereinheit 4. In Fig. 2 wird das aus der Speichersteuereinheit 2 ausgelesene Befehlswort in einem ersten Befehlspuffer 21 oder in einem zweiten Befehlspuffer 22 über eine Leitung 210 gespeichert Die beiden Befehlspuffer 21, 22 sind so vorgesehen, daß einer von ihnen einer Zieladresse eines Verzweigungsbefehls zugeordnet ist während der andere einer Kauptbefehlsfolge zugeordnet ist Das Befehlswort von dem Befehlspuffer 21 oder 22 wird in ein Befehlsregister 23 eingegeben, wenn das Befehlswort decodiert ist Die decodierte Information wird in ein Register 27 für einen decodierten Befehl eingegeben, von wo sie zur Recheneinheit 5 über eine
ίο Leitung 212 übertragen wird, wenn der Befehl ausgeführt werden soll. Wenn das Befehlswort decodiert ist, wird durch einen Adreßaddierer 25 eine Datenadresse erstellt und das Ergebnis wird in ein Register 26 geladen. Weiter ist ein Stapel von Allzweckregistern 24 vorgesehen. Der Inhalt des Registers 26 wird zur Speichersteuereinheit 2 über eine Auswahlschaltung 32 zugeführt, damit 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 Befehisfolgen. Deren Inhalt wird auch zu der Speichersteuereinheit 2 über die Auswahlschaltung 32 übertragen, so daß das Befehlswort aus dem Hochgeschwindigkeits-Pufferspeicher ausgelesen wird. Eine Adresse davon wird durch einen Adreßinkrementer 30 inkrementiert (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 Ausführung des Befehls. In F i g. 2 enthält sie eine Befehlsfolgewählschaltung 33, um zu verhindern, daß eine unnötige Übertragung von dem Hauptspeicher 1 zu dem Hochgeschwindigkeits-Pufferspeicher durchgeführt wird. Dies ist eines der wesentlichsten Merkmale der Erfindung.
F i g. 3 zeigt im Einzelnen ein Ausführungsbeispiel der Befehlsfolgewählschaltung 33. F i g. 3 zeigt ein Register 58 für bedingte Anforderung. Wenn ein bedingter Verzweigungsbefehl in das Befehlsregister 23 gemäß F i g. 2 eingegeben und decodiert wird, wird das Register 58 durch eine Steuerschaltung 57 über eine Leitung 101 gesetzt. Andererseits werden in der Speichersteuerschaltung 2, nachdem der bedingte Verzweigungsbefehl decodiert worden ist, die Befehlsworte oder Daten für eine vorhergesagte Befehlsfolge 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 Übertragung 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 Befehlsfolgewählschaltung 33 das Verzweigung/Nichtverzweigung-Signal von der Recheneinheit 5 über eine Leitung 214 erhält. Daher hält das Register 58 für bedingte Anforderung eine »1«, nachdem die Befehlssteuereinheit 4 den bedingten Verzweigung<ibefehl decodiert hat und bis die Entscheidung : Verzweigung/Nichtverzweigung des Verzweigungsbefehls durchgeführt worden ist, wobei alle Vorabruf-Anforderungen, die während dieser Periode von der Befehlssteuereinheit 4 zur Steuerspeichereinheit 2 abgegeben werden, als bedingte Anforderungen behan-
delt werden. Wenn diese bedingten Anforderungen empfangen werden, 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, werden diese von dem Pufferspeicher abgerufen ohne Unterbrechen des Vorabrufs dieser Befehlsworte oder Daten. Einzelheiten der Speichersteuereinheit 2 werden im Folgenden erläutert.
Gemäß Fig.3 enthält ein Register 52 eine Zahl, die die Befehlsfolge anzeigt, die gerade decodiert wird. Eine vorhergesagte Zahl wird in das Register 52 durch die Steuerschaltung 5i geladen, nachdem der bedingte Verzweigungsbefehl decodiert worden ist. Der Inhalt des Registers 52 wird zu dem Register 27 für decodierten Befehl gemäß F i g. 2 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 Befehlsfolgezahl verwendet wird, die durchzuführen ist, wenn die Recheneinheit 5 die Entscheidung : Verzweigung/Nichiverzweigung des Verzweigungsbefehls durchführt. Der Inhalt des Registers 52 wird auch zur Befehlsfolgewählschaltung 32 über die Leitung 102 übertragen, so daß er zur Auswahl der Befehlsadreßregister 28 oder 29 verwendet wird. Ein Hauptfolgeregister 54 zeigt eine Hauptfolge der Befehle an. Ein Register 56 zeigt die aktive Befehlsfolge an. Wenn kein bedingter Verzweigungsbefehl vorliegt, ist eine der Befehlsfolgen aktiv, und während der Periode von der Decodierung des bedingten Verzweigungsbefehls bis zur Entscheidung Verzweigung/Nichtverzweigung sind sowohl die Hauptfolge als auch die Zielfolge aktiv. Wenn das Ergebnis der Entscheidung von der Recheneinheit 5 über die Leitung 214 empfangen wird, wird lediglich eine der Befehlsfolgen durch die Steuerschaltung 55 aktiviert. Simultan gibt die Steuerschaltung 59 eine Information über die Befehlsfolge, die als Ergebnis der Entscheidung ausgeführt werden soll, an die Speichersteuereinheit 2 über die Leitung 216 ab.
Fig.5(1) bis 5(4) zeigen die Funktionen der Steuerschaltungen 51, 53, 55 bzw. 57. Die Steuerschaltungen 51, 53, 55, 57 und 59 sind in F i g. 3 getrennt dargestellt zur einfacheren Erläuterung, jedoch können die von ihnen durchgeführten Funktionen auch durch eine mikroprogrammierte Steuerschaltung ausgeführt werden.
Fig.4 zeigt im Einzelnen den Aufbau der Speichersteuereinheit 2. Gemäß F i g. 4 wird eine Adresse in ein Adreßregister 41 von der Befehlssteuereinheit 4 über eine Leitung 213 geladen. Die Bits in dieser Adresse werden durch einen Decodierer 42 decodiert, der eine Spalte in dem Hochgeschwindigkeits-Pufferspeicher 45 bestimmt. Der Hochgeschwir.digkeits-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-1 der bezeichneten Spalte wird mit der Adresse in dem Adreßregister 41 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 Lei- tung 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 41 in ein Feld 46-1 eines Adreß-Puffers 46 oder -Stapels mittels einer Auswahlschaltung 48 geladen. Simultan wird eine Befehlsfolgezahl und eine Information, die anzeigt, ob es sich um eine bedingte Anforderung handelt oder nicht, in ein S- und ein U/C-Fe\d (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 41.
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 311 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 wird. Wenn die Adresse eine bedingte Anforderung (C) ist, wird eine Anforderung an den Hauptspeicher 1 nicht unmittelbar erzeugt, vielmehr gibt die Adresse die Anforderung an den Hauptspeicher 1 in folgenden Prozeduren ab. Die Entscheidung über den Verzweigungsbefehl wird an die Befehlssteuereinheit 4 durch die Recheneinheit 5 über eine Leitung 214 gegeben, und über die durchzuführende Befehlsfolge wird die Speichersteuereinheit 2 über eine Leitung 216 informiert. Wenn die auszuführende Befehlsfolge, die die bedingte Anforderung ist, in dem Adreß-Puffer 46 enthalten ist, wird deren Adresse zum Hauptspeicher 1 als Anforderung gesandt. Wenn eine bedingte Anforderung, die nicht die auszuführende Befehlsfolge ist, in dem Adreß-Puffer 46 enthalten ist, wird diese Anforderung nicht zum 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 vorhergesagte vor-abgerufene Anforderung wird eine unnötige Informations-Übertragung von dem Hauptspeicher vermieden;
2. weil die unnötige Informations-Übertragung vermieden ist, ist eine Wartezeit für die folgende Anforderung für die Übertragung beseitigt und es 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 Befehisfoigezahi und die bedingte Markierung besitzen, muß der vorhergesagte Vor-Abruf nicht unterbrochen werden, selbst für einen bedingten Verzweigungsbefehl.
Hierzu 3 Blatt Zeichnungen

Claims (1)

Patentansprüche:
1. Datenverarbeitungseinrichtung mit einem Hauptspeicher (1) und einem Pufferspeicher (45), in dem Kopien der Daten und/oder Befehle des Hauptspeichers (1) einspeicherbar sind,
— wobei zusätzlich eine Anforderungsabgabeschaltung (42,43,45-1) vorgesehen ist,
die feststellt, ob angeforderte Daten oder Befehle entsprechend wenigstens einer Ausleseadresse innerhalb eines Adreßregisters (41), im Pufferspeicher (45) vorliegen, und die, wenn die entsprechenden Daten oder Befehle nicht im Pufferspeicher (45) vorliegen eine Ausleseanforderung an den Hauptspeicher (1) abgibt, und
— wobei weiterhin zusätzlich eine Befehlsfolgewählschaltung (32,33,51 bis 59) vorhanden ist, die, abhängig von der Überprüfung eines bedingten Verzweigungsbefehls, eine Befehlsfolge aus mehreren unterschiedlichen Befehlsfolgen auswählt,
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 DE3106881A1 (de) 1982-01-14
DE3106881C2 true 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 株式会社日立製作所 命令処理装置
EP0229619B1 (de) * 1986-01-07 1997-08-06 Nec Corporation 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 命令フェッチ制御方法
EP0402524B1 (de) * 1988-11-25 1996-10-02 Nec Corporation 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 株式会社半導体エネルギー研究所 緩衝記憶装置及び信号処理回路

Family Cites Families (21)

* 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
FR1536616A (fr) * 1966-09-21 Ibm Système de traitement d'instructions avec des perfectionnements pour le branchementet les boucles du programme
US3559183A (en) * 1968-02-29 1971-01-26 Ibm Instruction sequence control
US3618041A (en) * 1968-10-31 1971-11-02 Hitachi Ltd Memory control system
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

Also Published As

Publication number Publication date
JPS56123041A (en) 1981-09-26
US4719570A (en) 1988-01-12
JPS5927935B2 (ja) 1984-07-09
DE3106881A1 (de) 1982-01-14

Similar Documents

Publication Publication Date Title
DE3106881C2 (de) Datenverarbeitungseinrichtung
DE2855106C2 (de) Einrichtung zur Durchführung von bedingten Verzweigungen
DE69534113T2 (de) Kompression der Befehlswörter eines Rechners
DE69534148T2 (de) Rechnersystem zur Ausführung von Verzweigungsbefehlen
DE3210816C2 (de)
DE10084556B4 (de) Optimierte Ausführung von statisch sehr wahrscheinlich vorhergesagten Verzweigungsbefehlen
DE69929936T2 (de) Verfahren und Vorrichtung zum Abrufen von nicht-angrenzenden Befehlen in einem Datenverarbeitungssystem
DE3151745C2 (de)
DE2224537C2 (de) Einrichtung und Verfahren zur Instruktionsauswahl in einem Fließbandprozessor
DE19527031C2 (de) Verzweigungsprozessor für ein Datenverarbeitungssystem und Verfahren zum Betreiben eines Datenverarbeitungssystems
DE4222776C2 (de) Parallelverarbeitungseinheit und Verfahren zum Ausführen von Befehlen
DE2644441A1 (de) Datenverarbeitungssystem
DE2953861C2 (de)
EP0011685B1 (de) Programmierbare Speicherschutzeinrichtung für Mikroprozessorsysteme und Schaltungsanordnung mit einer derartigen Einrichtung
DE69814137T2 (de) Cache-speicherbetrieb
DE19983098B4 (de) Mehrfach-Bitanzeige zur Behandlung von Schreib-nach-Schreib-Fehlern und zur Eliminierung von Bypass-Komparatoren
DE3126878A1 (de) Adressen-steuerschaltung fuer mikroprozessoren
DE2715073A1 (de) Mikroprogrammierte rechner-steuervorrichtung
DE2725503A1 (de) Konsole und datenverarbeitungssystem
DE4345028A1 (de) Vorrichtung zur Reduzierung von Verzögerungen aufgrund von Verzweigungen
DE3900246C2 (de)
DE3421737C2 (de) Vorrichtung zur Ermittlung einer Überlappung von Operanden
DE2926351A1 (de) Look-ahead-speicheradressen- steuereinrichtung
DE2906685C2 (de)
DE19824289A1 (de) Pipelineverarbeitungsmaschine

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