DE3424962C2 - - Google Patents

Info

Publication number
DE3424962C2
DE3424962C2 DE3424962A DE3424962A DE3424962C2 DE 3424962 C2 DE3424962 C2 DE 3424962C2 DE 3424962 A DE3424962 A DE 3424962A DE 3424962 A DE3424962 A DE 3424962A DE 3424962 C2 DE3424962 C2 DE 3424962C2
Authority
DE
Germany
Prior art keywords
data
instruction
operand
register
command
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
DE3424962A
Other languages
English (en)
Other versions
DE3424962A1 (de
Inventor
Akira Hadano Jp Yamaoka
Kenichi Zama Jp Wada
Kazunori Hadano Jp Kuriyama
Yooichi Kokubunji Jp Shintani
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 DE3424962A1 publication Critical patent/DE3424962A1/de
Application granted granted Critical
Publication of DE3424962C2 publication Critical patent/DE3424962C2/de
Granted 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/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • G06F9/3889Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
    • 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

Description

Die Erfindung betrifft ein Datenverarbeitungssystem zur parallelen Verarbeitung von Befehlsströmen in mehreren Zyklen nach dem Oberbegriff des Patentanspruchs 1.
Ein derartiges Datenverarbeitungssystem ist durch die Veröffentlichung Computing Surveys, Vol. 9, No. 1, March 1977, S. 70-73, bekanntgeworden.
In Fig. 1 ist in einem Register 10 ein Format eines Speicher-Speicher-Befehls dargestellt, wobei ein Speicher zwei Operandendaten für eine arithmnetische Operation und auch das Operationsergebnis speichert. Dieser Befehlstyp wird nachfolgend als SS-Befehl bezeichnet. In Fig. 1 stellen ein Symbol OP einen Operationscode des SS-Befehls, L 1 und L 2 Längencodes, die die Länge der zwei Operanden angeben, B 1 und B 2 Inhaltsangaben allgemeiner Register (oder Basisregister), die zur Adressierung verwendet werden und D 1 und D 2 Distanzen dar.
Die höchstwertige Byte-Adresse (oder Kopfadresse) eines ersten Operanden ist als Summe von (B 1) + D 1 gegeben. Die niedrigstwertige Byte-Adresse (oder Endadresse) des Operanden ist als Summe von (B 1) + D 1 + L 1 gegeben, worin (B 1) den Inhalt des allgemeinen oder Basisregisters darstellt. In gleicher Weise wird die Kopfadresse eines zweiten Operanden als die Summe (B 2) + D 2 und dessen Endadresse als Summe (B 2) +D 2 + L 2 bestimmt. Diese Adressen sind logische Adressen. Die arithmetische Operation verarbeitet den ersten und zweiten Operanden und lädt das Ergebnis in die Speicherstelle des ersten Operanden.
In Fig. 2a ist ein Fluß aufeinanderfolgender Operationen der SS-Befehle in einem Pipeline-Computer dargestellt. D, A, L, E, P und S geben in dieser Figur verschiedene Schritte oder Stufen der Pipeline-Verarbeitungen an. Dabei ist zu beachten, daß die Verarbeitungen der verschiedenen Befehle sequentiell in jedem Zyklus initiiert werden, so daß mehrere Befehle parallel verarbeitet werden können.
Bei der Stufe D wird der Befehl dekodiert und die zur Bestimmung der logischen Adressen der Operanden nötige Addition ausgeführt. Bei der Stufe A werden die auf diese Weise bestimmten logischen Adressen der Operanden in entsprechende reale Adressen übersetzt. Bei der Stufe L werden die Operandendaten aus einem Pufferspeicher ausgelesen. Bei der Stufe E werden arithmetische Operationen oder Berechnungen unter Verwendung der so erhaltenen Operandendaten ausgeführt. Bei der Stufe P wird die zum Abspeichern des Operations- oder Berechnungsergebnisses ermittelte logische Adresse in die reale Adresse übersetzt.
Bei der Stufe S wird das Ergebnis der arithmetischen Operation oder Berechnung in einen Pufferspeicher eingeschrieben. Die Stufen D, A, L, E, P und S werden von einer Stufensteuerschaltung, die nachfolgend beschrieben wird, gesteuert.
Häufig ist bei den SS-Befehlen die Operandenlänge länger. Außerdem sind für viele Befehle ziemlich komplizierte Verarbeitungen nötig. Folglich werden für die bei der Stufe E ausgeführte arithmetische Verarbeitung zwei oder mehr Zyklen nötig. In Fig. 2a ist angenommen, daß die aufeinanderfolgenden Befehle 1 bis 4 jeweils zur Verarbeitung in Stufe E zwei Zyklen benötigen. Deshalb wird die arithmetische Operation für den Befehl im Abstand von zwei Zyklen in Schritt E ausgeführt.
Nun ist es bekannt, daß bei einer Pipeline-Datenverarbeitungseinheit die Befehle parallel und überlappend verarbeitet werden. Folglich kann dabei eine Situation entstehen, bei der das Lesen oder Holen des Operanden für einen nachfolgenden Befehl vor dem Einschreiben des Operanden eines vorangehenden Befehls erfolgen muß. Zum Beispiel geht dann die Stufe L des nachfolgenden Befehls (z. B. Befehl 2) der Stufe S des vorausgehenden Befehls (z. B. Befehl 1) voran. Wenn die Verarbeitungseinheit dabei so gebaut ist, daß die Befehlsverarbeitunsfolge aufrechterhalten bleibt, kann eine Situation entstehen, bei der der Operand für einen nachfolgenden Befehl von einem Speicherplatz während des Verarbeitungsablaufs eines vorangehenden Befehls oder vor der Datenänderung des Speicherplatzes, die durch einen auf Ausführung wartenden Befehl erfolgt, geholt wird. Bei dieser Situation muß eine Kollision erfaßt werden, damit das Holen des Operanden für den nachfolgenden Befehl verzögert werden kann, bis die Änderung der Daten des Speicherplatzes für den vorangehenden Befehl abgeschlossen ist. Genauer gesagt muß im Falle des obenerwähnten Beispiels die Verarbeitung der Stufe L des nachfolgenden Befehls verzögert werden, bis die Verarbeitung der Stufe S des vorangehenden Befehls abgeschlossen ist, damit eine Kollision vermieden wird. Dieser Verarbeitungstyp wird allgemein als OSC (Operand Store Compare)-Ereignis bezeichnet.
Sobald die Bedingung für das obenerwähnte OSC-Ereignis auftritt, muß das Auslesen des Operanden für den folgenden Befehl verzögert werden, bis die Verarbeitung im Zusammenhang mit dem OSC-Ereignis ausgeführt ist. Das bedeutet, daß die Pipeline-Verarbeitung gestört oder nachteilig beeinflußt wird, und die Leistungsfähigkeit der Datenverarbeitungseinheit ist verringert.
In Fig. 2b ist eine Situation dargestellt, bei der die Verarbeitungen für das OSC-Ereignis für alle die Befehle 1 bis 4 von Fig. 2a ausgeführt werden müssen. Genauer gesagt werden die durch die Ausführung des Befehls 1 zu ändernden Speicherdaten vom Befehl 2 benötigt, die durch die Ausführung des Befehls zu ändernden Speicherdaten vom Befehl 3 benötigt usw.
Unter den in Fig. 2b dargestellten Umständen werden die Befehle jeweils im Abstand von 5 Zyklen verarbeitet. Deshalb wird die Leistungsfähigkeit des Datenverarbeitungssystems bei dem in Fig. 2b dargestellten Fall entsprechend 3 Zyklen im Vergleich mit dem in Fig. 2a dargestellten Fall verschlechtert.
In der eingangs genannten Literaturstelle Computing Surveys, Vol. 9, No. 1, March 1977, S. 70-73, wird der Fall, bei dem mit einem Befehl i in den gleichen Speicherplatz eingeschrieben wird, aus dem mit einem nachfolgenden Befehl j ausgelesen werden soll, als "Konfliktfall" bezeichnet. In der Veröffentlichung ist der Vorschlag angeführt, bei Übereinstimmung der Operanden-Adressen, die durch den vorangehenden und den nachfolgenden Befehl angegeben sind, einen direkten Datenpfad über einen Datenspeicher herzustellen zur Übertragung des Operanden des vorangehenden Befehls zum nachfolgenden Befehl. Dabei wird von der Voraussetzung ausgegangen, daß die Operanden der beiden Befehle die gleiche Länge aufweisen. Demgegenüber betrifft die vorliegende Erfindung ein Datenverarbeitungssystem, das einen "Kurzschluß-Weg" selbst dann bereitstellt, wenn die Operanden unterschiedlich lang und willkürlich adressiert sind.
Der vorliegenden Erfindung liegt die Aufgabe zugrunde, ausgehend von einem Datenverarbeitungssystem entsprechend dem Oberbegriff des Patentanspruchs 1 dieses dahingehend zu verbessern, daß auch bei der Verarbeitung von Operanden unterschiedlicher Länge und willkürlicher Adressierung der Operanden im Konfliktfall die Operanden-Daten für den nachfolgenden Befehl über einen "Kurzschluß-Weg" bereitgestellt werden.
Gelöst wird diese Aufgabe durch die im kennzeichnenden Teil des Patentanspruchs 1 angegebenen Merkmale.
Eine zweckmäßige Ausgestaltung bzw. Weiterbildung der Erfindung ist im Unteranspruch angegeben.
Ein Ausführungsbeispiel der Erfindung wird im folgenden anhand der Zeichnung näher beschrieben. Es zeigt
Fig. 1 und 3 zusammengenommen ein Blockschaltbild eines Ausführungsbeispiels einer erfindungsgemäßen Datenverarbeitungsvorrichtung,
Fig. 2a und 2b Zeitdiagramme, die Beispiele einer schon bekannten Verarbeitung bei nicht vorhandenem bzw. vorhandenem OSC-Ereignis darstellen,
Fig. 2c ein Zeitdiagramm, das beispielhaft die Verarbeitung auf ein OSC-Ereignis gemäß der Lehre der Erfindung darstellt,
Fig. 4 ein Blockschaltbild eines Ausführungsbeispiels der OSC-Erfassungsschaltung (20 von Fig. 3),
Fig. 5a beispielhaft den Betrieb der in Fig. 3 dargestellten Ausricht-Einheiten (36, 37),
Fig. 5b beispielhaft den Betrieb einer in Fig. 6 dargestellten Schiebeeinheit (460),
Fig. 6 ein Blockschaltbild eines Ausführungsbeispiels eines in Fig. 3 dargestellten Akkumulators (40),
Fig. 7 ein Blockschaltbild einer in Fig. 1 dargestellten OSC-Steuerschaltung (11), und
Fig. 8 (a) bis (e) beispielhaft den Betrieb der OSC-Steuerschaltung (11),
Zunächst wird das der Erfindung zugrundeliegende Prinzip erläutert. Wenn ein zwei oder mehr Zyklen für die Ausführung benötigender Befehle dekodiert wird, erfolgt die Dekodierung eines nachfolgenden Befehls verzögert um einen Zyklus, woraufhin die Verarbeitung zur Erfassung des OSC-Ereignisses ("Konfliktfall") zwischen dem momentanen Befehl und dem folgenden Befehl sowie zwischen dem dem momentanen Befehl vorangehenden und dem folgenden Befehl ausgeführt wird. Nachdem in Stufe D′ (Fig. 2c) ein OSC- Ereignis erfaßt ist, wird
  • a) das Lesen der Operanden für den folgenden Befehl nicht verzögert, sogar wenn die herkömmliche OSC-Erfassungsschaltung das OSC-Ereignis erfaßt hat und verwendet
  • b) die arithmetische Einheit oder der Akkumulator das Operationsergebnis, das der vorangehende Befehl erbracht hat als Operandendaten für den folgenden Befehl, statt die Daten aus dem Speicher auszulesen.
Zu diesem Zwecke ist im Akkumulator oder der arithmetischen Einheit ein Datenregister zur Übertragung des beim vorangehenden Befehl anfallenden Operationsergebnisses zur Ausführung des Folgebefehl vorgesehen. Zusätzlich werden die Daten, die voraussichtlich vom Folgebefehl benötigt werden bezüglich der Byte-Position ausgerichtet und zuvor in das Datenregister gesetzt.
Bei der folgenden Beschreibung des Ausführungsbeispiels der Erfindung wird angenommen, daß das Prinzip auf die Verarbeitung von Dezimalbefehlen unter allen möglichen SS-Befehlen angewendet wird.
Fig. 2c zeigt ebenfalls ein Zeitdiagramm ähnlich Fig. 2b, das die erfindungsgemäße Verarbeitung für den Fall, wo das OSC-Ereignis für alle vier Befehle 1 bis 4 angenommen wird, veranschaulicht. Die Beschreibung erfolgt nun in Verbindung mit den einzelnen Verarbeitungsstufen.
Wenn in der in Fig. 1 dargestellten Einrichtung ein Befehlscode in die Befehlsregistereinheit 10 gesetzt wird, werden die mit B 1 und B 2 bezeichneten Inhalte der Basisregister aus einem allgemeinen Register 12 jeweils auf Leistungen 12 A und 12 B in Schritt D ausgelesen. Als Ergebnis führen Adressaddierer 14 und 15 jeweils die arithmetischen Operationen (B 1) + D 1 und (B 2) + D 2 auf der Basis der obengenannten Inhalte B 1 und B 2 und der Distanzen D 1 und D 2, die jeweils auf Leitungen 10 A und 10 B ausgelesen werde, aus. Die Additionsergebnisse werden jeweils in Adressregister 16 und 17 für logische Adressen gespeichert. Zusätzlich werden die Längencodes L 1 und L 2 jeweils über Leitungen 10 C und 10 D in Register 18 und 19 und der Operationscode OP in ein Register 13 über eine Leitung 10 E geladen. Außerdem wird der gesamte Befehlscode im Register 10 zu einer OSC-Steuerschaltung 11, die erfindungsgemäß vorgesehen ist, gespeist.
Fig. 7 zeigt ein Blockschaltbild eines Ausführungsbeispiels der OSC-Steuerschaltung 11 von Fig. 1. Ein Operationscode OP′, ein Längencode L 1′ eines ersten Operanden, eine Basisregisternummer B 1′und eine Distanz D 1′ eines augenblicklichen Befehls, die zuvor im Register 10 standen, werden synchron mit der Stufe D in ein Register 100 geladen. Zusätzlich werden die zuvor im Register 100 gespeicherten Inhalte zu einem weiteren Register 110 ebenfalls synchron mit der Stufe D transferiert. Auf diese Weise werden die Inhalte der Befehlsregistereinheit 10 jeweils sequentiell bei der Verarbeitungsstufe D dem Register 100 und von hier dem Register 110 übertragen.
Wenn wir annehmen, daß der Befehlscode einen Dezimalbefehl angibt, wird die Verarbeitungsstufe D des Folgebefehls im nächsten Zyklus nicht, sondern stattdessen die Operation der Stufe D′ initiiert. Bei der Stufe D′wird in der nachfolgend beschriebenen Weise ein Vergleich zwischen dem augenblicklichen Dezimalbefehl (als Beispiel Befehl 2), dem zuvor dekodierten Befehl (z. B. Befehl 1) und einem nachfolgend zu dekodierenden Befehlscode (beispielsweise Befehl 3) durchgeführt.
Auf die obenerwähnte Weise werden die Operationscodes und weitere Informationen der Befehle 1, 2 und 3 jeweils in die Register 110, 100 und 10 gesetzt.
Durch die in Fig. 7 dargestellten Dekoder 102 und 112 werden jeweils der Operationscode OP des Befehlscodes 3 mit den Operationscodes OP′ bzw. OP″ der Befehle 2 und 1 verglichen und die Kombination der Befehle ermittelt, deren Ausführung ein transferierbares Operationsergebnis erbringt. Falls eine solche Kombination ermittelt wurde, werden Ausgangsleistungen 102 A und 112 A jeweils auf "1" gesetzt. Eine Vergleicherschaltung 104 führt die Vergleichsoperationen L 1L 2, B 1′ = B 2 und L 1′ + D 1′ = L 2 + D 2 aus. Falls alle diese Bedingungen erfüllt sine, wird eine Ausgangsleitung 104 A auf "1" gesetzt. Dadurch werden UND-Glieder 103, 105, 113 und 115 freigegeben und erzeugen jeweils an Ausgangsleitungen 103 A, 105 A, 113 A und 115 A eine logische "1". Die Operation bei Stufe D′ wird in der obenbeschriebenen Weise ausgeführt.
Des weiteren wird die Bedeutung der obenerwähnten Vergleichsoperation genauer anhand der Fig. 8, wobei als Beispiel die Vergleicherschaltung 104 dient, erläutert. Die Darstellungen in Fig. 8a, b, c, d und e zeigen Situationen, bei denen das OSC-Ereignis möglicherweise zwischen einem Speicherplatz R 2 (durch eine schraffierte Fläche dargestellt), dessen Inhalt auf die Ausführung des Befehls 2 geändert werden soll und einem Speicherplatz R 3, den der Befehl 3 benötigt, auftritt. Im Falle der Darstellung von Fig. 8 (a) ist die vom Befehl 3 benötigte Speicherstelle R 3 völlig vom Speicherplatz R 2 überdeckt. Dagegen ist bei dem in Fig. 8 (b) dargestellten Fall die Speicherstelle R 2 völlig von der Speicherstelle R 3 überdeckt. Die Darstellungen der Fig. 8 (c) und (d) zeigen Situationen, bei denen sich die Speicherstellen R 2 und R 3 teilweise überlappen. Die in Fig. 8 (e) dargestellte Situation ist ein Spezialfall der in Fig. 8 (a) dargestellten Situation, wobei der Speicherplatz R 3 vom Speicherplatz R 2 überdeckt ist, die rechten Enden der Speicherplätze R 2 und R 3 jedoch bündig ausgerichtet sind. Da der durch den Vergleicher 104 durchgeführte Vergleich ergibt, daß B 1′ = B 2, d. h. (B 1′) = (B 2), wobei die Klammern die Inhalte der jeweiligen Register angeben, und daß L 1′+ D 1′ ≧ L 2 + D 2 ist, gilt, daß
(B 1′) + L 1′ + D 1′ ≧ (B 2 + L₂ + D 2 und
L 1L 2, was gerade die in Fig. 8 (e) dargestellte Situation angibt.
Der logische Pegel der Ausgangsleitung 103 A (Fig. 7) stellt das Ergebnis des Vergleichs des ersten Operanden des Befehls 2 mit dem zweiten Operanden des Befehls 3 dar. Genauso stellt der logische Pegel der Ausgangsleistung 105 A das Ergebnis des Vergleichs des ersten Operanden des Befehls 2 mit dem ersten Operanden des Befehls 3 dar. Der logische Zustand der Ausgangsleistung 113 A stellt das Ergebnis des Vergleichs des ersten Operanden des Befehls 1 mit dem zweite Operanden des Befehls 3 dar und der logische Zustand der Leitung 115 A stellt das Ergebnis des Vergleichs des ersten Operanden des Befehls 1 mit dem ersten Operanden des Befehls 3 dar.
Diese Vergleichsergebnisse werden jeweils in die Register 60, 61, 62 und 63 synchron mit Schritt D des Befehls 3 geladen, wie aus Fig. 1 ersichtlich ist.
Der Vergleicher 104 des obenbeschriebenen Ausführungsbeispiels führt die Vergleichsoperationen aus, die ermitteln, ob L 1L 2, B 1′ = B 2 und L 1′ = L 2 + D 2. Jedoch können die Funktionen der Vergleicher wie nachfolgend erläutert wird erweitert werden.
Der Ausgang 16 A des Adressregisters 16 für logische Adressen (Fig. 1) wird in das Register 100 (Fig. 7) statt der Basisregisternummer B 1 und der Distanz D 1, die der OSC-Steuerung 11 in Fig. 7 eingegeben wird, geladen, und der Ausgang 17 A des Adressenregister 17 für logische Adressen (Fig. 1) wird statt der Basisregisternummer B 2 und der Distanz D 2, die dem Vergleicher 104 eingegeben wurden, verwendet. Mit diesem Aufbau führt der Vergleicher 104 die Vergleichsoperationen aus, die ermitteln, ob L 1L 2 und (16 A) + L 1′ = (17 A) + L 2 sind, wobei die Klammern jeweils die Inhalte der jeweiligen Ausgangssignale darstellen. Falls diese Bedingungen aller erfüllt sind, gibt der Vergleicher 104 auf der Leitung 104 A ein "1" aus. Genauso wird der Ausgang 16 A dem Vergleicher 106 anstatt B 1 und D 1, der Ausgang 17 A dem Vergleicher 114 statt B 2 und D 2 und der Ausgang 16 A dem Vergleicher 116 statt B 1 und D 1 eingegeben und ähnliche Vergleichsoperationen ausgeführt. Mit dieser Verfahrensweise ist eine Erfassung der Koinzidenz der Operandenadressen möglich, wenn die Inhalte der Basisregister koinzident sind, obwohl ihre Basisregisternummern verschieden sind. Deshalb ist auch bei diesem Aufbau eine Verzögerung beim Auslesen der Operanden der Befehle unnötig.
Danach werden beim Schritt A die Inhalte der Adressregister 16 und 17 für logische Adressen (Fig. 1) jeweils den Adressenumsetzschaltungen 260 und 270 in Fig. 3 über die Leitungen 16 A und 17 A gespeist und in die jeweiligen realen Adressen umgesetzt, die daraufhin in die Realadressregister 26 bzw. 27 geladen werden.
Eine Ausrichtsteuerschaltung 280 bestimmt die Anzahl der Schiebeschritte eines Ausrichters 36 in Abhängigkeit der vom Register 18 (Fig. 1) auf der Leitung 18 A ausgegebenen Längencode und die niedrigstwertige Teiladresse, die der Adressumsetzung nicht unterworfen wird und auf der Adressleitung 16 A erscheint. Genauso bestimmt eine Ausrichtsteuerschaltung 290 die Anzahl der von einem Ausrichter 37 durchzuführenden Schiebeschritte in Abhängigkeit vom Längencode des Registers 19, der auf der Leitung 19 A auftritt und die niedrigstwertige Teiladresse, die auf der Adressleitung 17 A auftritt und nicht der Adressumsetzung unterworfen sind. Die betrachtende Schiebeanzahl wird anhand der Fig. 5a beschrieben. In den durch einen schraffierten Bereich in Fig. 5a dargestellten Operandendaten ist die niedrigstwertige Byte-Adresse durch (B i ) + D i + L i (mit i = 1, 2) gemäß der vorigen Beschreibung dargestellt, und die drei niedrigstwertigen Bitstellen geben die Adresse der Doppelwortgrenze an. Wenn der Wert dieser drei Bitstellen durch x gegeben ist, kann das niedrigstwertige Ende der Operandendaten mit dem niedrigstwertigen Ende der 8-Byte-Stelle durch das Verschieben der Operandendaten nach rechts um (7-x) Byte ausgerichtet und in der Folge ausgegeben werden, wie dies in Fig. 5a im unteren Teil dargestellt ist. Genauer gesagt befindet sich die Stelle des Dezimalpunkts am rechten Ende im Falle eines Dezimalbefehls. Demgemäß werden der erste und der zweite Operand durch die zugeordneten Ausrichter 36 und 37 jeweils so verschoben, daß die Dezimalpunkte dieser Operanden die niedrigswertige Position haben und nicht vorhandene Teile der Operanden mit "0" ausgefüllt werden. (Dies wird als Ausrichtung nach rechts bezeichnet). Wenn beide Operanden nach rechts ausgerichtet sind, ist die arithmetische Operation vereinfacht, weil beide Operanden bezüglich der Dezimalpunktposition koinzident sind.
Die Anzahlen der von den Ausricht-Steuerschaltungen 280 und 290 angegebenen Schiebeschritte werden jeweils in Register 28 und 29 gesetzt.
Die Inhalte der auf den Leitungen 18 A und 19 A auftretenden Längencodes und die Inhalte der auf den Leitungen 16 A und 17 A auftretenden logischen Adressen werden ebenfalls zu der in Fig. 3 dargestellten OSC-Erfassungsschaltung 20 gespeist, die den Adressenvergleich des augenblicklichen Befehls mit dem vorangehenden durchführt.
Fig. 4 zeigt ein Blockschaltbild eines Ausführungsbeispiels der OSC-Erfassungsschaltung 20. Die Leitungen 16 A, 17 A, 18 A und 19 A speisen (B₁) + D₁, (B₂) + D₂, L₁ und L₂ jeweils zu den Eingängen von Addierer 201 und 202 und werden, wie die Figur zeigt, addiert. (B i) + D i und (B i) + D i + L i (i = 1,2) geben jeweils die höchstwertige Byte-Adresse (Kopfadresse) und die niedrigswertige Byte-Adresse (Endadresse) der zur Ausführung des augenblicklichen Befehls auszulesenden Operandendaten dar. Von diesen werden (B₁) + D₁ und (B₁) + D₁ + L₁ jeweils in Register 220-1 und 210-1 synchron mit Schritt A geladen, die Inhalte dieser Register 210-1 und 220-1 sequentiell zu Registern 210-2 und 220-2, . . . , und 210-n und 220-n synchron mit Schritt A übertragen. Entsprechend halten die Register 210-n und 220-n jeweils die Anfangs- und die Endadressen der Speicherstellen des Befehls, der dem augenblicklichen Befehl um n-Befehle vorangeht. Vergleicher 230-1 bis 230-n und 240-1 bis 240-n vergleichen die Adressen dieser Befehle und ermitteln, ob die für den augenblicklichen Befehl auszulesende Speicherstelle ganz oder teilweise mit den Speicherstellen der vorangehenden Befehle überlappen könnten. Wenn eine Teilüberlappung oder eine volle Überlappung der betrachteten Speicherplätze von den Vergleichern ermittelt wurde, gehen die entsprechenden Ausgangsleitungen 230 A-1, . . . , 230 A-n; 240 A-1, . . . , 240 A-n der Vergleicher auf eine logische "1". Die Ausgangssignale der Vergleicher 230-1 bis 230-n und 240-1 bis 240-n werden durch ein ODER-Glied 235 oderverknüpft, dessen Ausgang der in Fig. 3 dargestellten Stufensteuerschaltung 250 über eine Signalleitung 20 A übertragen wird. Wenn die Signalleitung 20 A-1 auf logisch "1" gesetzt wird, d. h. wenn irgendeine der Ausgangsleitungen 230 A-1, . . . , 230 A-n 240 A-1, . . . 240 A-n auf logisch "1" gesetzt ist, verzögert die Stufensteuerschaltung 250 das Auslesen der Operanden für den momentanen Befehl bis das OSC-Ereignis beseitigt ist.
In diesem Falle funktioniert die OSC-Steuerschaltung 11 so, daß wenn das OSC-Ereignis auf die zuvor beschriebene Weise erfaßt ist, die in die Register 60, 61, 62 und 63 (Fig. 1) gesetzten Inhalte der OSC-Erfassungsschaltung 20 übertragen werden, die damit den Betrieb der Vergleicher 230-1, 240-1, 230-2 und 240-2 (Fig. 4) sperrt, wodurch die Ausgänge dieser Vergleicher logische "0" sind. Dadurch werden die Operanden für den augenblicklichen Befehl als Blinddaten ausgelesen. Die OSC-Steuerschaltung 11 (Fig. 1) ist so aufgebaut, daß sie die Situation gemäß Fig. 8 (e) erfaßt, wohingegen die OSC-Steuerschaltung 20 (Fig. 3) so ausgebaut ist, daß sie sämtliche der in Fig. 8 (a), (b), . . . , und (e) erfaßt. Deshalb erhält die OSC-Steuerschaltung 11 die Priorität, obwohl das von ihr erfaßte OSC-Ereignis natürlich auch von der OSC-Steuerschaltung 20 erfaßt ist.
Die Daten auf den Leitungen 60 A, . . . , 63 A und der Leitung 13 A werden jeweils in die Register 70, . . . , 73 und 23 synchron mit Schritt A geladen, wie dies in Fig. 3 dargestellt ist.
Danach werden beim Schritt L die Operandendaten aus den Pufferspeichern 34 und 35 ("erster Datenspeicher") mittels der in den Realadressregistern 26 und 27 stehenden realen Adressen ausgelesen, wie Fig. 3 zeigt. Die aus den Pufferspeichern 34 und 35 ausgelesenen Daten werden dann durch die zuvor erwähnte Ausrichtung nach rechts ausgerichtet und die nicht vorhandenen Bytes mit Nullen aufgefüllt und danach zur arithmetischen Verarbeitung der arithmetischen Einheit 40 über Leitungen 36 A und 37 A eingespeist.
Zusätzlich werden auch die Inhalte der Register 70, 71, 72 und 73 sowie des Registers 23 der arithmetischen Einheit 40 über Leitungen 70 A, 71 A, 72 A und 73 A sowie der Leitung 23 A eingespeist.
Fig. 6 zeigt ein Ausführungsbeispiel der arithmetischen Einheit 40. Diese zeigt, daß die höchstwertige Byte-Adresse (B₁) + D₁ des Adressregisters 26 für reale Adressen einem A-Register 34 durch eine Leitung 26 A übertragen wird. Zusätzlich wird ein der Anzahl der durch den Ausrichter 36 für den ersten Operanden ausgeführten Schiebeschritte äquivalenter Wert in ein Register 431 durch eine Leitung 28 A geladen. Der Operationscode OP, der vom Register 23 über eine Leitung 23 A erhältlich ist, wird zum Eingang einer Mikrobefehlssteuerung 400 übertragen. Die von den Ausrichtern 36 und 37 ausgegebenen ersten und zweiten Operandendaten werden jeweils den Wählgliedern 490 und 491 über Leitungen 36 A und 37 A eingespeist. Das Wählglied 490 wählt die Leitung 36 A für das erste Operandendatum, wenn beide Leitungen 71 A und 73 A logisch "0" führen und wählt eine Datenleitung 481 A eines W 2-Registers 481, wenn die Leitungen 71 A und 73 A jeweils "0" und "1"-Pegel haben. Falls die Leitungen 71 A und 73 A beide "1"-Pegel oder jeweils "1" und "0"- Pegel haben, wird eine Datenleitung 480 A eines W 1-Registers 480 gewählt. Das gewählte Datum, wird dann auf einer Leitung 490 A ausgegeben. Gleicherweise wählt das Wählglied 491 eine Leitung 37 A für das zweite Operandendatum, wenn beide Leitungen 70 A und 72 A "0"-Pegel haben und eine Datenleitung 481 A eines W2-Registers 481, wenn die Leitungen 70 A und 72 A jeweils "0" und "1"-Pegel haben. Falls die Leitungen 70 A und 72 A entweder beide "1" oder jeweils "1" und "0"-Pegel haben, wird die Datenleitung 480 A des W 1-Register 480 gewählt. Die gewählten Daten werden dann auf einer Leitung 491 A ausgegeben. Die Daten auf der Leitung 490 A und 491 A werden jeweils in ein X-Register 410 und Y-Register 420 synchron mit Schritt L gesetzt. Die Bedeutung der obengenannten Wählglieder wird nachfolgend beschrieben.
Ein Dezimalbefehl wird in Schritt E beispielsweise in zwei Zyklen ausgeführt. Im ersten Zyklus wird die Operation oder Berechnung durch einen Paralleladdierer 440 für die jeweils im X-Register 410 und Y-Register 420 stehenden Operandendaten ausgeführt und das Ergebnis der Operation wieder in der X-Register 410 geladen. Die Ausführung der Operation (Addition oder Substraktion) durch den Paralleladdierer 400 wird durch die Mikrobefehlssteuerung 400 gesteuert.
Im zweiten Zyklus der Stufe E wird das X-Register 410 von einem Eingangswählglied 450 für den Schieber 460 gewählt, der die Schiebeoperation entgegengesetzt zur Schieberichtung des Ausrichters 36 ausführt. Insbesondere führt der Schieber 460 die Verschiebung nach links entsprechend der Verschiebung nach rechts des Ausrichters 36 gemäß Fig. 5b aus. Das Ergebnis des so erfolgten Zurückschiebens wird in ein S-Register 470 geladen. Der Betrieb des Schiebers 460 wird von der Mikrobefehlssteuerung 400 in Abhängigkeit von dem durch das Register 431 gelieferten Signal, das die Anzahl der Schiebeschritte angibt, gesteuert.
Die arithmetische Einheit 40 enthält das W 1-Register 480 und das W 2-Register 481 gemäß einem Merkmal der Erfindung. Im zweiten Zyklus des Schritts E werden die Daten auf der Ausgangsleitung 450 A des Wählglieds 450 in das W 1-Register 480 geladen, dessen Inhalt wiederum in das W 2-Register 481, gesteuert von der Mikrobefehlssteuerung 400, geladen wird. In das W 1-Register 480 wird somit das nach rechts ausgerichtete Rechenergebnis, wie Fig. 5b zeigt, gesetzt. Diese Operationsart wird einmal pro Befehl ausgeführt. Entsprechend wird das nach rechts ausgerichtete Rechenergebnis des den augenblicklichen Befehl unmittelbar vorangehenden Befehls in das W 2-Register 481 geladen.
Bei Schritt P wird der erste Operand, das ist die Adressinformation zum Einschreiben des Rechenergebnisses das im A-Register 430 steht, zur Adressumsetzschaltung 52 (Fig. 3) über die Leitung 40 A übertragen und in die entsprechende Realadresse umgesetzt, die dann in das in Fig. 3 gezeigte Realadressregister 54 geladen wird. Andererseits wird das im S-Register 470 stehende Rechenergebnis zum Register 56 über die Leitung 40 B (Fig. 3) übertragen.
Danach wird beim Schritt S der Inhalt des Registers 56 in die Pufferspeicher 34 und 35 mittels der durch den Inhalt der Realadressregister 54 angegebenen Realadressen eingeschrieben.
Die vorangehende Beschreibung behandelte im Detail die einzelnen Schritte D, A, L, E, P und S.
Es soll hier erwähnt werden, daß die rechtsbündig ausgerichteten Operationsergebnisse für die Befehle 2 und 1 jeweils in das W 1-Register 480 und W 2-Register 481 beim Schritt L gesetzt werden und daß die obenerwähnte Operation des Wählglieds 490 in Abhängigkeit von den Signalen der Leitungen 70 A und 71 A ausgeführt wird, die die Erfassung des OSC-Ereignisses für die Befehle 3 und 2 angeben, während die Operation des Wählglieds 491 abhängig von den Signalen auf den Leitungen 72 A und 73 A erfolgt, die das Ergebnis der Erfassung des OSC- Ereignisses für die Befehle 3 und 1 angeben. Falls beide Leitungen 71 A und 73 A beispielsweise gleichzeitig eine logische "1" haben, das ist, wenn die Operationsergebnisse für die Befehle 1 uns 2 für die Ausführung des Befehls 3 als erstes Operandendatum verwendet werden sollen, wird die Leitung 71 A mit Priorität über die Leitung 73 A gewählt. Dadurch kann für die Ausführung des Befehls 3 das Operationsergebnis des Befehls 2 verwendet werden, das ein gegenüber dem Befehl 1 neueres Datum ist.
Wir nehmen nun beispielsweise an, daß die Leitung 71 A "1"-Pegel hat. Dies bedeutet, daß das OSC-Ereignis für die ersten Operanden der Befehle 3 und 2 auftritt. Zu dieser Zeit tritt auf der Leitung 36 A das erste Operandendatum für den Befehl 3 auf, das vom Ausrichter 36 rechtsbündig ausgerichet ist. Da dieses Operandendatum vor dem Speichern des Operationsergebnisses des Befehls 2 vorhanden ist, kann die Berechnung nicht richtig ausgeführt werden. Um dennoch die Operation richtig auszuführen, muß das Operationsergebnis des Befehls 2 als erstes Operandendatum für den Befehl 3 verwendet werden. Dazu wird vom Wählglied 490 die Ausgangsleitung 480 A des W 1-Registers 480 gewählt. In diesem Falle wird eine Operation ausgeführt, die zu der vom Ausrichter 36 durchgeführten Operation äquivalent ist. Dementsprechend wird das rechtsbündig ausgerichtete Operationsergebnis vom Wähler 90 in das W 1-Register 480 gesetzt und nicht besetzte Operandenstellen mit Nullen aufgefüllt.
Auf diese Weise wird das Rechenergebnis für die Befehle 2 und 1 für die Ausführung des Befehls 3 verwendbar. Der Transfer dieses Operationsergebnisses zwischen Befehl 3 und dem folgenden (z. B Befehl 4) kann in kontinuierlicher Weise durch Plazieren des rechtsbündig ausgerichteten Operationsergebnisses in das W 1-Register 480 beim Schritt E des Befehls 3 erfolgen.
Die bis hierin beschriebenen Operationsschritte sind in Fig. 2c mit der Annahme dargestellt, daß die Befehle 1, 2 und 3 Dezimal-Additions/Subtraktionsbefehle sind. Es ist deutlich, daß der Start der Stufen D um einen Zyklus verzögert und stattdessen die Stufe D' aktiviert ist, die die OSC-Steuerschaltung 11 in Betrieb nimmt. Trotz der Verzögerung der Stufe D für die Befehle 2, 3 und 4 um einen Zyklus kann das Operationsergebnis im Abstand von zwei Zyklen erhalten werden, wodurch dieselbe Leistungsfähigkeit wie dies Fig. 2a für den konventionellen Fall ohne OSC-Ereignis darstellt, sichergestellt ist.
Da das herkömmliche System weder die OSC-Steuerschaltung 11 in Betrieb nimmt. Trotz der Verzögerung der Stufe D für die Befehle 2, 3 und 4 um einen Zyklus kann das Operationsergebnis im Abstand von zwei Zyklen erhalten werden, wodurch dieselbe Leistungsfähigkeit wie dies Fig. 2a für den konventionellen Fall ohne OSC-Ereignis darstellt, sichergestellt ist.
Da das herkömmliche System weder die OSC-Steuerschaltung 11 noch die Leitung 60 A, . . . , 63 A aufweist, kann das von der OSC-Erfassungsschaltung 20 erfaßte OSC-Ereignis nicht unterdrückt werden, wodurch das Auslesen der Operanden für den nachfolgenden Befehl unnötig durch die Stufensteuerschaltung 250 verzögert wird, wie aus dem Zeitdiagramm der Fig. 2a ersichtlich ist.
Die vorliegende Erfindung wurde anhand von Ausführungsbeispielen unter Annahme von Dezimalbefehlen beschrieben. Es ist jedoch selbstverständlich, daß die Erfindung auf andere Befehlstypen, die die rechtsbündige Ausrichtung für die Ausführung benötigen, genauso wie für die SS-Befehle anwendbar ist.
Die obige Beschreibung machte deutlich, daß das Operationsergebnis eines vorangehenden Befehls direkt zur Verwendung für die Verarbeitung des nachfolgenden Befehls innerhalb der arithmetischen Einheit verwendbar ist, ohne daß ein Abspeichern nötig wäre, wenn der nachfolgende Befehl die in zumindest einem Teil des Speicherplatzes gespeicherten Operandendaten, die vom vorangehenden Befehl geändert wurden, benötigt, so daß die Verarbeitung des folgenden Befehls zu einem früheren Zeitpunkt initiiert werden kann.
Dadurch kann die vom bislang bekannten Pipeline-Verarbeitungssystem bekannte Aussatzzeit vermieden werden und im Mittel die arithmetische Verarbeitung mit wesentlich erhöhter Geschwindigkeit ausgeführt werden.

Claims (2)

1. Datenverarbeitungssystem zur parallelen Verarbeitung von Befehlsströmen in mehreren Zyklen, wobei ein vorangehender Befehl eine Anweisung zum Einschreiben von Daten eines Operanden in einen ersten Datenspeicher (34, 35) enthalten kann und ein nachfolgender Befehl eine Anweisung zum Auslesen von Daten eines Operanden vom ersten Datenspeicher (34, 35) im selben Verarbeitungszyklus enthalten kann, wobei in dem Fall (Konfliktfall), daß die Operanden- Adressen, die durch den vorangehenden und den nachfolgenden Befehl angegeben sind, miteinander übereinstimmen, ein direkter Datenpfad zur Übertragung des Operanden des vorangehenden Befehls zum nachfolgenden Befehl über einen zweiten Datenspeicher (480, 481) vorgesehen ist,
gekennzeichnet durch
  • - eine erste Steuerschaltung (11), die aufgrund von Datenlängenangaben (Li) der Speicherbereiche und von Operanden- Adressen (Bi) zur Anzeige der Begrenzungen (Enden) des vorangegangenen und des nachfolgenden Befehls einen Konfliktfall erkennt, daß ein erster Speicherbereich (R 3, Fig. 8), bestimmt durch den vorangehenden Befehl für die ersten Operanden-Daten, der gleiche oder ein Teil eines zweiten Speicher-Bereichs (R 2) ist, der durch den nachfolgenden Befehl für die zweiten Operanden-Daten bestimmt ist, und
  • - eine zweite Steuerschaltung Wählglied (490, 491), die mit der ersten Steuerschaltung (11) und dem zweiten Daten-Speicher (480, 481) verbunden ist, und im Konfliktfall anspricht und die zweiten Operanden-Daten, die vom nachfolgenden Befehl gebraucht werden, aus dem zweiten Daten-Speicher (480, 481) bereitstellt.
2. Datenverarbeitungssystem nach Anspruch 1, dadurch gekennzeichnet, daß die erste Steuerschaltung (11) die (logischen) Operanden- Adressen des vorangegangenen und des nachfolgenden Befehls auf Übereinstimmung der Lage der Enden der Speicherplätze (R 2, R 3) überprüft (B 1′ = B 2).
DE3424962A 1983-07-08 1984-07-06 Datenverarbeitungsverfahren und vorrichtung zur durchfuehrung desselben Granted DE3424962A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58123246A JPS6015746A (ja) 1983-07-08 1983-07-08 デ−タ処理装置

Publications (2)

Publication Number Publication Date
DE3424962A1 DE3424962A1 (de) 1985-01-17
DE3424962C2 true DE3424962C2 (de) 1988-09-22

Family

ID=14855821

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3424962A Granted DE3424962A1 (de) 1983-07-08 1984-07-06 Datenverarbeitungsverfahren und vorrichtung zur durchfuehrung desselben

Country Status (3)

Country Link
US (1) US4916606A (de)
JP (1) JPS6015746A (de)
DE (1) DE3424962A1 (de)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6339036A (ja) * 1986-08-01 1988-02-19 Nec Corp パイプライン処理方式
JPS6386033A (ja) * 1986-09-30 1988-04-16 Fujitsu Ltd パイプライン処理方式
JPS63170736A (ja) * 1987-01-09 1988-07-14 Toshiba Corp マイクロプロセツサ
US5197141A (en) * 1988-01-30 1993-03-23 Nec Corporation Software controlled method of issuing hardware control commands to memory controller from prefetch unit by combining request code and address specified in program instructions
JPH0774994B2 (ja) * 1988-09-21 1995-08-09 株式会社日立製作所 バッファ記憶制御装置のosc検出方式
JP2810068B2 (ja) * 1988-11-11 1998-10-15 株式会社日立製作所 プロセッサシステム、コンピュータシステム及び命令処理方法
US5226126A (en) * 1989-02-24 1993-07-06 Nexgen Microsystems Processor having plurality of functional units for orderly retiring outstanding operations based upon its associated tags
US5781753A (en) 1989-02-24 1998-07-14 Advanced Micro Devices, Inc. Semi-autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for speculative and out-of-order execution of complex instructions
DE69032812T2 (de) * 1989-07-07 1999-04-29 Hitachi Ltd Vorrichtung und Verfahren zur parallelen Verarbeitung
US5278960A (en) * 1989-08-16 1994-01-11 Nec Corporation Information processing apparatus having detecting means for operand overlaps
JP2816248B2 (ja) * 1989-11-08 1998-10-27 株式会社日立製作所 データプロセッサ
JPH03154947A (ja) * 1989-11-13 1991-07-02 Nec Corp 情報処理装置
US5276822A (en) * 1989-11-15 1994-01-04 Matsushita Electric Industrial Co., Ltd. System with enhanced execution of address-conflicting instructions using immediate data latch for holding immediate data of a preceding instruction
JPH04140892A (ja) * 1990-02-05 1992-05-14 Internatl Business Mach Corp <Ibm> 制御データをエンコードする装置及び方法
JPH04156613A (ja) * 1990-10-20 1992-05-29 Fujitsu Ltd 命令バッファ装置
KR100272622B1 (ko) * 1991-05-08 2000-11-15 가나이 쓰도무 데이타 처리장치
US5522052A (en) * 1991-07-04 1996-05-28 Matsushita Electric Industrial Co. Ltd. Pipeline processor for processing instructions having a data dependence relationship
US5363495A (en) * 1991-08-26 1994-11-08 International Business Machines Corporation Data processing system with multiple execution units capable of executing instructions out of sequence
US5283874A (en) * 1991-10-21 1994-02-01 Intel Corporation Cross coupling mechanisms for simultaneously completing consecutive pipeline instructions even if they begin to process at the same microprocessor of the issue fee
JPH0612107A (ja) * 1992-06-02 1994-01-21 Mitsubishi Electric Corp シーケンス演算プロセッサおよびシーケンス演算処理装置
US5471628A (en) * 1992-06-30 1995-11-28 International Business Machines Corporation Multi-function permutation switch for rotating and manipulating an order of bits of an input data byte in either cyclic or non-cyclic mode
US5386534A (en) * 1992-10-27 1995-01-31 Motorola, Inc. Data processing system for generating symmetrical range of addresses of instructing-address-value with the use of inverting sign value
US6073231A (en) * 1993-10-18 2000-06-06 Via-Cyrix, Inc. Pipelined processor with microcontrol of register translation hardware
EP0650116B1 (de) * 1993-10-21 1998-12-09 Sun Microsystems, Inc. Gegenflusspipelineprozessor
US5619664A (en) * 1994-01-04 1997-04-08 Intel Corporation Processor with architecture for improved pipelining of arithmetic instructions by forwarding redundant intermediate data forms
US5802346A (en) * 1995-06-02 1998-09-01 International Business Machines Corporation Method and system for minimizing the delay in executing branch-on-register instructions
US5826072A (en) * 1995-11-13 1998-10-20 Oasis Design, Inc. Pipelined digital signal processor and signal processing system employing same
US5838939A (en) * 1997-05-09 1998-11-17 Sun Microsystems, Inc. Multi-issue/plural counterflow pipeline processor
US8078845B2 (en) * 2005-12-16 2011-12-13 Freescale Semiconductor, Inc. Device and method for processing instructions based on masked register group size information

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5392638A (en) * 1977-01-25 1978-08-14 Nec Corp Information processing unit
JPS5621240A (en) * 1979-07-27 1981-02-27 Hitachi Ltd Information processor
JPS5731049A (en) * 1980-07-31 1982-02-19 Nec Corp Information processing equipment
JPS6028015B2 (ja) * 1980-08-28 1985-07-02 日本電気株式会社 情報処理装置
JPS5858653A (ja) * 1981-10-02 1983-04-07 Hitachi Ltd デ−タ処理装置
JPS58189739A (ja) * 1982-04-30 1983-11-05 Hitachi Ltd デ−タ処理システム
JPH063584B2 (ja) * 1983-12-19 1994-01-12 株式会社日立製作所 情報処理装置

Also Published As

Publication number Publication date
JPS6015746A (ja) 1985-01-26
JPH0545985B2 (de) 1993-07-12
US4916606A (en) 1990-04-10
DE3424962A1 (de) 1985-01-17

Similar Documents

Publication Publication Date Title
DE3424962C2 (de)
DE2724125C2 (de)
DE2753062C2 (de) Einrichtung zur wiederholten Durchführung von Programmschleifen
DE2846495C2 (de) Zentraleinheit
DE69738188T2 (de) Verfahren und apparat für eine erhöhte genauigkeit bei der verzweigungsvorhersage in einem superskalaren mirkroprozessor
DE2542751C2 (de) Datenverarbeitungsanlage
DE2023354C2 (de) Datenverarbeitungsanlage mit einem Mikrobefehlsspeicher
DE2524046C2 (de) Elektronische Datenverarbeitungsanlage
DE1549523B2 (de) Datenverarbeitungsanlage
DE2855106A1 (de) Einrichtung zur durchfuehrung von instruktionsverzweigungen
DE2230102A1 (de) Rechenwerk fuer variable wortlaengen
DE2829668A1 (de) Kanaldatenpufferspeicher
DE2712224A1 (de) Datenverarbeitungsanlage
DE3043653C2 (de) Datenverarbeitungsanlage
DE2935906A1 (de) Mikrokomputer
DE2332971C2 (de) Mikroprogrammsteuereinrichtung
DE3900246C2 (de)
DE2739525C2 (de) Rechner
DE2702722C2 (de) Einrichtung zur Verarbeitung nicht direkt ausführbarer Instruktionen
DE2245284A1 (de) Datenverarbeitungsanlage
DE1499224C3 (de) Datenverarbeitungsanlage mit Kellerspeichereinrichtungen
DE2747304C3 (de) Einrichtung zur Mikrobefehlssteuerung
DE2952163C2 (de) Datenverarbeitungsanlage mit einem ersten und einem zweiten Prozessor
DE2349253C3 (de) Rechnersystem
DE2906685A1 (de) Instruktionsdecodierer

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee