DE3119741A1 - Datenverarbeitungseinheit - Google Patents
DatenverarbeitungseinheitInfo
- Publication number
- DE3119741A1 DE3119741A1 DE19813119741 DE3119741A DE3119741A1 DE 3119741 A1 DE3119741 A1 DE 3119741A1 DE 19813119741 DE19813119741 DE 19813119741 DE 3119741 A DE3119741 A DE 3119741A DE 3119741 A1 DE3119741 A1 DE 3119741A1
- Authority
- DE
- Germany
- Prior art keywords
- operand
- decoding
- instruction
- address
- length
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30192—Instruction operation extension or modification according to data descriptor, e.g. dynamic data typing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/30149—Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
- G06F9/30167—Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3816—Instruction alignment, e.g. cache line crossing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3818—Decoding for concurrent execution
- G06F9/3822—Parallel decoding, e.g. parallel decode units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
- G06F9/3889—Concurrent 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
Description
Beschreibung
Die vorliegende Erfindung betrifft eine Datenverarbeitungseinheit mit Pipelinesteuerung bzw. zeitlich versetzter Simultansteuerung,
und zwar insbesondere eine Datenverarbeitungseinheit, die Anweisungen variabler Länge ausführt,
welche Operandenspezifizierer zum Spezifizieren von Adressierungsarten
von Operanden haben, die unabhängig von Operationscodes zum Bestimmen von Operationen ausgegeben werden.
In einer Anweisungsstruktur variabler Länge variiert die
Anweisungslänge selbst dann, wenn die Länge des Operationscodes
festgelegt ist. Das vorlaufende Feld der Anweisung ist ein Operationscode, jedoch haben die anderen Felder
verschiedene Bedeutungen. Demgemäß sind die Bedeutungen der Felder der Anweisung nicht einheitlich definiert. Außerdem
ist, da die Operandenspezifizierer ia der Anweisung in Abhängigkeit von der Adressierungsart variable Längen
haben, die Anweisungslänge selbst dann variabel, wenn der Operationscode festgelegt ist»
In einer Anweisungsdecodiereinheit s die solche Anweisungsstrukturen
variabler Länge behandelt, ist, itfenn eine Anweisung
parallel abgerufen und decodiert wird, eine Hardware
in großem Maßstab erforderlich, und es ist eine komplizierte Steuerung notwendig.
In einem System, in dem eine Anweisung abgerufen und decodiert wird, und zwar eine oder eine Mehrzahl von vorbestimmten
Einheitslängen auf einmal,ist eine lange Zeit erforderlich,
um die Anweisung zu decodieren, und infolgedessen
läßt sich keine Datenverarbeitung mit hoher Geschwindigkeit
erzielen. Wenn beispielsweise eine Grundeinheit
8 Bits (Byte) umfaßt, hat eine Grundanweisung eine Länge von 3 bis 7 Byte. Wenn die Anweisung synchron mit einem
Maschinenzyklus decodiert wird, ist die Anzahl von Maschinenzyklen,
die zum Decodieren der Anweisung erforderlich ist, gleich der Anzahl der Bytes der Anweisung.
Infolgedessen ist es in einer Datenverarbeitungseinheit, die Anweisungsstrukturen variabler Länge handhabt, ein
wichtiger Faktor, die Geschwindigkeit der Verarbeitung des Anweisungsdecodes zu erhöhen, damit eine leistungsfähige
Pipelineverarbeitung bzw. zeitlich versetzte Simultanverarbeitung erzielt wird.
Mit der vorliegenden Erfindung soll eine Datenverarbeitungseinheit
zur Verfügung gestellt werden, die die Decodierung der variablen Anweisungen mit einer hohen Geschwindigkeit
ausführen kann.
Außerdem soll mit der Erfindung eine Datenverarbeitungseinheit zur Verfügung gestellt werden, die die Decodierung der Anweisungen ausführen kann, unabhängig davon,
welche Anzahl von Operandenspezifizierern die Anweisungen
haben.
Weiterhin soll mit der vorliegenden Erfindung eine pipelinegesteuerte
bzw. zeitlich versetzt simultangesteuerte Datenverarbeitungseinheit zur Verfügung gestellt werden,
die einen Operanden pro Maschinenzyklus unabhängig davon fertigmacht, welche Länge der Operandenspezifizierer hat.
Darüber hinaus soll mit der vorliegenden Erfindung eine
Datenverarbeitungseinheit zur Verfügung gestellt werden,
in der, wenn die Adressierungsart des letzten Operandenspezifizierers in einer Anweisung eine Registerart bzw.
-mode ist, auch der Operandenspezifizierer des letzten
.130063/0792
Operanden in dem Decodierzyklus für den Operanäenspezifizierer
des Operanden, der dem letzten Operanden unmittelbar vorhergeht, decodiert wird, so daß die Anweisungen
mit einer hohen Geschwindigkeit ausgeführt werden.
Gemäß einem Aspekt der vorliegenden Erfindung wird eine Datenverarbeitungseinheit zum Ausführen von Anweisungen
variabler Länge zur Verfügung gestellt, in denen Operandenspezif izierer zum Spezifizieren von Adressierungsarten
von Operanden unabhängig von Operationscodes zum Bestimmen von Operationen sind, und in welcher nicht nur die Anweisungen,
sondern auch die Operanden der jeweiligen Anweisungen pipelinegesteuert werden.
Gemäß einem weiteren Aspekt der vorliegenden. Erfindung wird, wenn der letzte Operandenspezifizierer einer Anweisung
Registerart bzw. -mode ist, der Operandenspezifizierer
des letzten Operanden in dem Decodierzyklus für den Operandenspezifizierer des dem letzten Operanden unmittelbar
vorhergehenden Operanden decodiert.
Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird wenigstens ein Operandenspezifizierer eines Operanden
in jedem Maschinenzyklus decodiert, so daß unterschiedliche Operanden fertiggemacht werden, um eine Mehrzahl
von Operanden in Pipeline bzw. zeitlich versetzt simultan zu verarbeiten.
Die vorstehenden sowie weitere Vorteile und Merkmale der
vorliegenden Erfindung seinen nachfolgend unter Bezugnahme auf die Fig. 1 bis 1o der Zeichnung anhand einiger,
besonders bevorzugter Ausfuhrungsformen näher erläutert;
es zeigen:
130063/0792
Fig. 1 bis 3 Beispiele von Formaten von Operandenspezifizierern
von Anweisungen variabler Länge, wie Sie bei der vorliegenden Erfindung verwendet
werden;
Fig. 4 ein Blockschaltbild einer Ausführungsform einer Datenverarbeitungseinheit, die gemäß
der vorliegenden Erfindung aufgebaut ist;
Fig. 4A bis 4E Blockschaltbilder, die exemplarische Einzelheiten
der in Fig. 4 gezeigten jeweiligen Blöcke veranschaulichen;
Fig. 5 eine graphische Darstellung zur Erläuterung von Signalfunktionen in der in Fig. 4B ge
zeigten Schaltung;
Fig. 6 und 7 Ablaufdiagramme für den Betrieb der in Fig. 4 gezeigten Datenverarbeitungseinheit;
Fig. 8 eine graphische Darstellung zur Erläuterung eines Signals für eine spezifische Anweisung
in der in Fig. 4B gezeigten Schaltung; und
Fig. 9 und 1o Ablaufdiabramme für den Betrieb in der in
Fig. 4 gezeigten Datenverarbeitungseinheit, und zwar für eine spezifische Anweisung,
Bevor die Ausführungsformen der vorliegenden Erfindung
erläutert werden, sei' zunächst ein Anweisungssatz erläutert, der Operandenspezifizierer variabler Länge hat. Ein
solcher Anweisungssatz ist bekannt. Nachfolgend seien zwei repräsentative Beispiele davon gegeben.
Eines dieser Beispiele ist ein Anweisungsformat für einen
130063/0792
Rechner Β17οο der Burroughs Corp., der für eine COBOL/RPG-Struktur
ausgeführt ist. Es ist in "B17oo COBOL/RPG-S-Language"
1o58823-o15, Copyright 1973, Burroughs Corp. offenbart.
Das andere ist eine Anweisungsstruktur für einen Rechner
VAX 11/78o der Digital Equipment Corp., die Operandenspezifizierer
variabler Länge hat. Sie ist in dem "VAX 11 Architecture Handbook" Copyright 1979 und in der US-Pa-To
tentschrift 4 241 399 offenbart.
Die Fig. 1A bis 1D zeigen vier repräsentative Adressierungsarten für das Beispiel des Rechners B17oo der Firma
Burrough Corp.
Fig. 1A zeigt einen Operandenspezifizierer zum Spezifizieren
eines Operanden für kurze literale Art bzw. Mode. Ein Typenfeld spezifiziert einen Typ von Daten {Vorhandensein
oder NichtVorhandensein eines Zeichens bsw. Vorzeichens und Identifizierung der Grundlänge eines Literalwertfelds
(4 bit oder 8 bit)), und ein Langenfeld zusammen mit dem Typenfeld spezifiziert die Länge des Literalwertfelds.
Infolgedessen kann die Lite^alwertfeidlänge von
4 bit bis zu einem Maximum von 56 !bit (wenn da$ Typenfeld
8 bit mit Vorzeichen spezifisiert,- und das Längenfeld 7
beträgt) variieren.
Die Fig. 1B zeigt einen Operandensfiezifisierer, der einen
Operanden für Langliteralart spezifiziert. Er wird dazu
verwendet, Literaldaten bzw. eine Literaldateneinheit zu erzeugen, die eine Länge haben bzw. hat, welche langer
als diejenige ist, die durch die Kurzliteralart spezifiziert
wird.
Die Fig. IC zeigt einen Operandenspesifizierer, der eine
130063/0702
Operandenadresse für die Deskriptorindexart spezifiziert. Daten bei einer Adresse, die mittels eines Deskriptorfelds
spezifiziert ist, werden als ein Operand verwendet.
Es sei darauf hingewiesen/ daß die vorstehend beschriebenen vier Adressierungsarten nur repräsentative Beispiele
sind und auch andere Arten existieren.
Wie in den Fig. IA bis 1D gezeigt ist, haben die Operandenspezifizierer
variable Längen. In der Kurzliteralart
der Fig. 1A ist die Länge 1 (Bit), die von dem Anweisungsfe,ld
des Operandenspezifizierers eingenommen wird/ 1+2 + 3 + "Länge" χ 4 (oder 8), und in der Langliteralart der
Fig. 1B ist die Länge 1=1+2+3+8+ "Länge" χ 4 (oder
8)/ und in der Deskriptorindexart der Fig. 1C ist die Länge
1 * 6, und in der Inlinedeskriptorart der Fig. 1D ist die
Länge 1 = 63.
In der oben beschriebenen Anweisungsstruktur wird der Teil,
der die Art des Operanden oder die Adressierungsart spezifiziert, durch den Operandenspezifizierer definiert, und
er ist unabhängig von dem Operationscode. Obwohl in der vorstehenden Anweisungsstruktur nur die Literalarten und
die Deskriptorarten betrachtet worden sind, kann jede andere Adressierungsart umfaßt sein.
Die Fig. 2A bis 2F zeigen Formate von Operandenspezifizierern
für sechs repräsentative Adressierungsarten im Beispiel des Rechners VAX 11 der Firma Digital Equipment Corp.
Die Fig. 2A zeigt ein Format eines Operandenspezifizierers für Literalart, Eine 6-bit-Dateneinheit in einem Literalfeid
wird als ein Operand benutzt. Die Fig. 2B zeigt ein Format eines Operandenspezifizierers für Registerart. 4
bits in einem Rn-FeId spezifizieren eine Adresse eines Registers,
die als ein Operand benutzt wird. Die Fig. 2C
130063/0792
OH » *V W
zeigt ein Format eines Operandenspezifizierers für Distanzart
bzw. -mode. Eine Dateneinheit bei einer Speicheradresse, die gleich der Summe eines Inhalts eines Registers ist, der
durch ein Rn-FeId spezifiziert ist, und eine Distanz, die
durch ein Distanzfeld spezifiziert ist, werden als ein Operand benutzt. Die Länge der Distanz kann 8 bit sein, wie in
Fig. 2C gezeigt, oder sie kann 16 bit oder 32 bit sein. Die Fig. 2D zeigt einen Operandenspezifizierer für Distanz mit
Indexart, in dem ein Indexmodifizierer zur Adressierungsart
•\o der Fig. 2C hinzugefügt ist. Ein Register bei einer Adresse,
die durch ein Rx-FeId spezifiziert ist, wird als ein Indexregister
verwendet, und ein Inhalt desselben wird zu einer Adresse hinzugefügt, wenn sie berechnet wird» Sie Fig. 2E
zeigt ein Format eines Operandenspezifizierers für Relativart
bzw. -mode. Eine Dateneinheit bei einer Adresse, die gleich einer Summe eines Inhalts: eines Programmzählwerts
ist, und eine mittels eines Distanzfelds spezifizierte
Distanz werden als ein Operand benutzt. Die Fig. 2F zeigt ein Format eines Operandenspezifizierers für Absolutart
bzw. -mode. Ein Absolutfeld spezifiziert eine Speicheradresse, bei der sich ein Operand befindet.
Die Struktur für den Rechner VAX 11 zeichnet sich dadurch
aus, daß die Längen der Operanderispezifizierer Vielfache
einer Grundlänge von 8 bits (Byte) sind»
Aus dem Repertoire der Adressieruägsarten ist die B17oo
für COBOL oder ähnliche Sprachen geeignet, während die .. VAX 11 für FORTRAN und PL/1 geeignet ist. Die Fig. 3A bis
3F zeigen Beispiele von Anweisungsformaten, äie dem Repertoire
der Adressierungsarten der VAX 11 angepaßt sind und die bitvariable Operandenspezifiziererlängeri'haben, so daß
die Leistungsfähigkeit der Operandenspezifizierer erhöht
ist.
3 0063/0 702
Die Fig. 3A und 3B zeigen Formate von Operandensp'ezifizierern,
wenn die Operanden mittels Literaldaten dargestellt werden. Wenn die Literaldaten nicht langer als 5 bits, sind,
wird ein in Fig. 3A gezeigtes Kurzliteralformat benutzt,
und wenn die Literaldaten nicht kürzer als 6 bits sind, wird ein in Fig. 3B gezeigtes Langliteralformat benutzt.
Die Fig» 3C zeigt ein Format eines Operandenspezifizierers
für Registerart bzw. -mode. Ein Register bei einer Adresse, die durch ein Rn-FeId spezifiziert ist, stellt einen Operanden
dar. Die Fig. 3D zeigt ein Format eines Operandenspezifizierers für Distanzart bzw. -mode. Es umfaßt ein Register
bei einer Adresse, die mittels eines Rn-Felds spezifiziert ist, ein Distanzlängenfeld zum Spezifizieren der Länge der
Distanz, und ein Distanzfeld. Die Fig. 3E zeigt ein Format
eines Operandenspezifizierers für die Relativart bzw. -mode. Es umfaßt ein Distanzlängenfeld und ein Distanzfeld. Die
Fig. 3F zeigt ein Format eines Operandenspezifizierers für die Absolutart bzw. .-mode. Ein Absolutfeld spezifiziert
eine Speicheradresse, bei der sich ein Operand befindet.
Die Formate der in den Fig. 3A bis 3F gezeigten Operandenspezifizierer
sind nur Beispiele aus einer Anzahl von Adressierungsarten, und es gibt viele andere Oporandenspezifizierer,
obwohl sie hier nicht erläutert sind, da sie zum Verständnis der vorliegenden Erfindung nicht erforderlich
sind.
In den Anweisungsformaten, die in den Fig. 1 bis 3 gezeigt
sind, wird, da die Adressierungsart für jeden Operanden definiert ist, die Unabhängigkeit der Adressierungsart für
den Öperationscode und die jeweiligen Operanden aufrechterhalten.
Jedoch wird die Beschränkung auf den Zugriffstyp des Operanden/ wie beispielsweise Leseoperand, Schreiboperand
oder Lese- und Schreiboperand durch den Operations-
130063/0792
code definiert (Abhängigkeit von Operationscode). Demgemäß
muß der Operand in einer Adressierungsart sein, welche die Abhängigkeit vom Operationscode erfüllt. Es sei darauf
hingewiesen, daß andere Zugriffsarten als Lese-, Schreib-
und Lese- und Schreiboperanden existieren.
Es kann davon ausgegangen werden, daß die Länge des Operanden (Datenlänge) von dem Operationscode abhängt/ oder es
kann davon ausgegangen werden/ daß sie mittels des Operandenspezifizierers
spezifiziert wird. Da der unterschied zwischen beiden die vorliegende Erfindung nicht beeinflußt,
wird die Handhabung der Datenlänge hier nicht erläutert.
Es sei nun eine Ausführungsform der vorliegenden Erfindung
in näheren Einzelheiten erläutert. Obwohl in der folgenden Beschreibung ein Bit als eine Miniffialeinheit zum Zugriff
eines Speichers benutzt wird, sei darauf hingewiesen, daß
die Einheit des Zugriffs 4 bit (Nibble) oder 8 bit (Byte) sein kann.
2o
2o
Die Fig. 4 zeigt eine Blockdarstellung einer Ausführungsform einer pipelinegesteuerten bsw. seitlich versetzt simultangesteuerten
Datenverarbeitüngseinheit gemäß der vorliegenden
Erfindung. Die verwendeten Abkürzungen und ihre formalen Bezeichnungen sowie die zugehörigen Bezugszeichen
sind in der nachfolgenden Liste angegeben«.
130063/0702
- 2ο -
Bezugs- | Formale Bezeichnungen | Abkür |
zeichen | zungen | |
3ο1 | Hauptspeicher | MM |
3ο2 | SpeicherSteuereinheit | MCU |
3ο3 | Hochgeschwindigkeitspufferspeicher | BM1 |
3ο4 | Hochgeschwindigkeitspufferspeicher | BM2 |
4οο | Anweisungsabrufeinheit | IPU |
5 οο | Anweisungsdecodiereinheit | DU |
6οο | Adressenberechnungseinheit | AU |
7οο | Operandenabrufeinheit | OPU |
8οο | Ausführungseinheit | EU |
Der Hauptspeicher (MM) 3o1 in Fig. 4 speichert Anweisungen variabler Länge und Operanden/ die durch die Anweisungen
ausgeführt werden sollen, und er tauscht Daten mit den Hochgeschwindigkeitspufferspeichern (BM1, BM2) 3o3 und
3o4 aus, und zwar gesteuert durch die Speichersteuereinheit (MGU) 3o2.
Die MCU 3o2 liefert Adressen über Signalleitungen 32o und
überträgt Daten über Signalleitungen 321. Signalleitungen
34o bilden einen Adressenbus zwischen der MCU 3o2 und dem
BM, 3o3 sowie dem BM2 3o4, und Signalleitungen 341 bilden
einen Datenbus. Der BM- 3o3 liefert Adressen an den Datenbus
34o über Signalleitungen 323 und überträgt Daten über Signalleitungen 324.
Der BM2 3o4 liefert Adressen an den Adressenbus 34o über
Signalleitungen 342 und überträgt Daten durch Signalleitungen 343. Seriell geschaltete Blöcke von der Anweisungsabrufeinheit
(IFU) 4oo bis zu der Ausführungseinheit (EU) 8oo bilden die pipelinegesteuerte bzw. zeitlich versetzt
simultangesteuerte Datenverarbeitungseinheit.
Die Anweisungsabrufeinheit (IFU) 4oo liefert Anweisungs-
130063/0792
adressen an den BM. 3o3 über Signalleitungen 327 und empfängt
ausgelesene Anweisungen über Signalleitungen 328, um die Anweisungen abzurufen. Signalleitungen 326 sind
Schnittstellensignalleitungen für Steuersignale zwischen der IPU 4oo und dem BM1 3o3.
Die Anweisungsdecodiereinheit (DU) 5oo empfängt Instruktionen,
die durch die IFU 4oo abgerufen worden sind und decodiert sie für jeden Operationscode und jeden Operandenspezifizierer.
Signalleitungen 329 sind Schnittstellensignalleitungen zwischen der DU 5oo und der IFU 4oo.
Die Adressenberechnungseinheit (AU) 6oo berechnet eine
effektive Adresse eines Operanden gemäß einem Operationscode,
der durch die DU 5oo decodiert worden ist, sowie decodierte Information eines Operandenspezifizierers und
liefert die effektive Adresse an »die Operandenabrufeinheit
(OFU) 7oo. Signalleitungen 336 sind Schnittstellensignalleitungen zwischen der DU 5oo und der AU 6oo.
Die OFU 7oo liefert die Operandenadresse, die durch die
AU 6oo der BM2 3o4 präsentiert wird, über eine Signalleitung
3'3o und empfängt einen entsprechenden Operanden über eine Signalleitung 335, einen Datenbus 334 und Signalleitungen
331. Signalleitungen 332 sind Schnittstellensignalleitungen für Steuersignale sswischen der OFU 7oo und dem
BM2 3o4.
Wenn der BM~ 3o4 Daten auf einer Adresse enthält, die von
der OFU 7oo präsentiert wird, liefert er sofort die entsprechenden Daten über die Signalleitungen 335 an den
Datenbus 334, und die OFU 7oo erhält die Daten auf dem Datenbus 334 über die Signalleitungen 331. Wenn der BM- 3o4
keine Daten auf der entsprechenden Adresse enthält, führt er über die MCU 3o2 einen Zugriff auf den MM 3o1 aus, um
130063/0792
die Daten auf dieser Adresse auszulesen, und er präsentiert sie der OFU 7oo.
Der Aufbau und die Funktion des Hochgeschwindigkeitspuffer-Speichers
sind bekannt, beispielsweise durch "A Guide to The IBM System/37o Model 168" ("Ein Führer zu dem IBM-System/37o
Modell 168"), Copyright 1972, International Business Machines Corp.
Die Ausführungseinheit (EU) 8oo erhält die Operanden von der OFU 7oo,um die Anweisungen auszuführen. Signalleitungen
338 sind Schnittstellensignalleitungen zwischen der EU 8oo und der OFU 7oo zum übertragen der Operanden.
Ein Zwischeneinheitsbus 41o ist ein Datenübertragungsbus zwischen den Einheiten IFU 4oo, DU 5oo, AU 6oo und EU 8oo.
Er ist mit der IFU 4oo durch Signalleitungen 344, mit der DU 5oo durch Signalleitungen 345, mit der AU 6oo durch
Signalleitungen 346 und mit der EU 8oo durch Signalleitungen 347 verbunden.
Diese Einheiten arbeiten im wesentlichen unabhängig zur Ausführung einer pipelineartigen Verarbeitung bzw. einer
zeltlich versetzten Simultanverarbeitung der Operanden. 25
Spezifische Ausführungsformen der jeweiligen Einheiten der in Fig. 4 gezeigten Datenverarbeitungseinheit seien
nun unter die Bezugnahme auf die Fig. 4A bis 4E erläutert.
Die Fig. 4A zeigt einen Aufbau der IFU 4oo. Die darin.angegebenen
Abkürzungen und ihre formalen Bezeichnungen sowie die zugehörigen Bezugszeichen sind in der nachstehenden
Liste angegeben.
130063/0792
Bezugs zeichen |
Formale Bezeichnungen | Abkürzungen |
4o1 | Anweisungspuffer | IB |
4o2 | Anweisungsausrichter | ALIG |
4o3 | Steuerschaltung | IF-CONT |
5 4o4 | Abrufzeiger | FP |
4o5 | Wähler | SEL |
4o6 | Inkrementierer | INC |
Der Abrufzeiger (FP) 4o4 zeigt eine Adresse einer von dem BM- 3o3 abzurufenden Anweisung auf.
Der Anweisungspuffer (IB) 4o1 speichert vorabgerufene
Daten.
-J5 Die Steuerschaltung (IF-CONT) 4o3 steuert den Speicherzugriff
zu dem BM1 3o3 über Signalleitungen 326, instruiert
Schreibstellen in dem IB 4o1 über die Daten, die von dem BM.. 3o3 abgerufen worden sind, sowie über Zulässigkeit
oder Verbot des Schreibens über eine Signalleitung 21A,
und zeigt an, wenn alle in der DU 5oo zu decodierenden
Daten zu dem IB 4o1 abgerufen worden sind, und zwar über die Signalleitung 12A.
Der Aufwärtszähler bzw. Inkrementierer (INC) 4o6 wird
dazu benutzt, den Inhalt des FP 4o4 fortzuschreiben bzw. zu aktualisieren.
Der Wähler (SEL) 4o5 wählt Daten, die dem FP 4o4 eingegeben werden sollen. Der Ausgang 23A des SEL 4o5 liefert
den Ausgang 22A des INC 4o6, wenn die Anweisung vorabgerufen werden soll, und er liefert eine Verzweigungsadresse
auf Signalleitungen 344, die mit einem Zwischeneinheitsbus 41o verbunden sind, wenn eine Verzweigungsadresse während
der Ausführung einer Verzweigungsanweisung eingegeben werden soll.
130063/0792
Der Anweisungsausrichter (ALIG) 4o2 arbeitet in der Weise/
daß er den Operandenspezifizierer Bit um Bit in einer
Aufeinanderfolge des Decodierens mittels der Adresse 11A
ausrichtet. Er kann einen Mehrbitverschieber umfassen
oder ein Mehrbitverschieber sein, welcher eine Mehrzahl von Bits gleichzeitig verschieben kann.
Mit 14A sind Signalleitungen bezeichnet, die den Ausgang
des ALIG 4o2 an die DU 5oo liefern. Er hat eine Signallinienbreite, die gleich der Anzahl der Bits ist, welche
wenigstens einen Satz von Operandenspezifizierern und einen Satz von Operationscodes und einen Satz von Operandenspezifizierern
für die Registerart bzw. -mode umfaßt.
Mit 13A sind Signalleitungen bezeichnet, die die Anzahl
von zur Decodierung in der DU 5oo erforderlichen Datenbits führen.
Dieses sind die Hauptelemente der IPU 4oo. Es sei darauf
hingewiesen, daß viele andere Elemente vorgesehen sind.
Die Fig. 4B zeigt eine spezifische Konfiguration der Anweisungsdecodiereinheit
(DU) 5oo. Die darin vorgesehenen Abkürzungen und ihre formalen Bezeichnungen sowie die zugehörigen
Bezugszeichen sind in der nachstehenden Liste angegeben.
Bezugs zeichen |
Formale Bezeichnungen | Abkürzungen |
5o1 | Mikroprogrammadressenerzeugungs- schaltung |
ECSAG |
5o2 . | Wähler | SEL |
5o3 | Operandeninformationsspeicher | DCS |
5o4 | Steuerdatenerzeugungsschaltung | ACIG |
5o5 | Operandenspezifiζiererdecodierer | OS-DEC |
130063/0792
Formale Bezeichnungen | 3119741 | |
Bezugs | Abkürzungen | |
zeichen | Registermodedetektor | |
5ο6 | Decodierbitanzahlberechner | RD-DEC |
5ο7 | Datenausrichter | DBNC |
5ο8 | Steuerschaltung | D-ALlG |
5ο9 | Decodierzeiger | D-CONT |
5to | Wähler | DP |
511 | Inkrementierer | SEL |
512 | Berechner der Anzahl der notwendi | INC |
513 | gen Dekodierbits | NBNC |
Adressenberechnungsprogrammzähl- | ||
514 | werfbere chner | TPCC |
Die Mikroprogrammadressenerzeugungsschaltung (ECSAG) 5o1
erzeugt eine vorlaufende Mikroprogrammadresse 1oB, die in der EU 8oo mittels eines Operationscodes ausgeführt werden soll, der von der IFU 4oo über die Signalleitungen 14Ά
geliefert wird.
erzeugt eine vorlaufende Mikroprogrammadresse 1oB, die in der EU 8oo mittels eines Operationscodes ausgeführt werden soll, der von der IFU 4oo über die Signalleitungen 14Ά
geliefert wird.
Der Operandeninformationsspeicher (DCS) 5o3 speichert Information
über Operanden in einem Operationscode, der von den Signalleitungen 14A her über den Wähler (SEL) 5o2 geliefert
wird.
Der Operandenspezifiziererdecodierer (OS-DEC) 5o5 decodiert einen Operandenspezifizierer auf den Signalleitungen
14A.
Die Steuerdatenerzeugungsschaltung (ACIG) 5o4 erzeugt
Steuerdaten 18B zum Berechnen einer Adresse eines Operanden in der Adressenberechnungseinheit (AU) 6oo mittels
Steuerdaten 18B zum Berechnen einer Adresse eines Operanden in der Adressenberechnungseinheit (AU) 6oo mittels
des Ausgangs 2oB des DCS 5o3 und des Ausgangs 23B des OS-DEC 5o5.
130063/0792
311S741
Der Registerart- bzw. -modedetektor (RD-DEC) 5o6 stellt
fest, wenn ein Operandenspezifizierer (OS), welcher dem Operandenspezifizierer (OS) unmittelbar folgt, der durch
den OS-DEC 5o5 decodiert worden ist, in der Registermode ist oder nicht. Wenn er in der Registermode ist und die
Signalleitungen 34B die gleichzeitige Decodierung von zwei Operandenspezifizierern ermöglichen, liest der RD-DEC
5o6 die Adresse 12E dieses Registers in ein Register (ARR) 61o in der AU 600 ein, die später beschrieben wird,
und gibt die Information hierüber an die D-COUNT 5o9,
die ECSAG 5o1 und den DBNC 5o7 über die Signalleitungen 26B.
Der Decodierbitanζahlberechner (DBNC) 5o7 erhält den Ausgang
25B von dem OS-DEC 5o5, den Ausgang 26B von dem RD-DEC
5o6 und den Ausgang 21B von dem DCS 5o3 und berechnet die Anzahl von Bits, die aus dem IB 4o1 ausgelesen und in
dem gleichen Zyklus decodiert werden sollen.
Der Datenausrichter (D-ALIG) 5o8 erhält den Ausgang 29B
des OS-DEC 5o5, den Ausgang 14A des ALIG 4o2 und den Ausgang 21B des DCS 5o3 und richtet die Literaldaten, ein
Distanzfeld oder eine absolute Adresse erneut aus, wenn diese bzw. dieses in dem zu decodierenden OS enthalten
sind bzw. ist.
Die Steuerschaltung (D-CONT) 5o9 erhält das Signal 12A von der IF-CONT 4o3, den Ausgang 21B von dem DCS 5o3,
den Ausgang 26B von dem RD-DEC 5o6 und den Ausgang 15B von dem A-DEC 6o3, um den gesamten Betrieb der DU 5oo zu
steuern.
Der Decodierzeiger (DP) 51 ο zeigt eine vorlaufende Adresse:
auf, die in diesem Maschinenzyklus decodiert werden soll.
130063/0792
Der Wähler (SEL) 511 wählt Daten aus, die dem DP 51o eingegeben werden sollen. Bei der Ausführung einer Verzweigungsanweisung
wird, wenn eine Verzweigungsadresse eingestellt ist, eine auf dem Zwischeneinheitsbus 41o vorgesehene
Verzweigungsadresse dem DP 51 ο über den SEL 511 eingegeben.
Der Aufwärtszäh.ler bzw. Inkreinentierer (INC) 512 addiert
zu dem Inhalt 11A des DP 51o die Anzahl von Bits 17B der
in diesem Zyklus decodierten Anweisung, so daß er eine
vorlaufende Adresse 33B erzeugt, die im nächsten fortlaufenden Maschinenzyklus decodiert werden soll.
Der die Anzahl der notwendigen Decodierbits berechnende 5 Berechner (NB]SIC) 513 erhält den Ausgang 24B des OS-DEC
5Ό5 und die Ausgänge 21B und 34B des DCS 5o3 und berechnet
die Anzahl von Bits, die in dem IB 4o1 abgerufen worden sein müssen, um in diesem Zyklus decodiert zu werden,
und liefert das Ergebnis an die IF-CONT 4o3 über die Signalleitungen 13A.
Der Adressenberechnungsprogrammzählerwertberechner (TPCC)
514 erhält den Ausgang 21B des DCS 5o3 und den Ausgang
24B des OS-DEC 5o5, damit er einen Wert des Programmzäh- . lers berechnet, um die effektive Adressenberechnung in
der Adressierungsmode zu benutzen, die dem Programmzähler entspricht (den Wert des Programmzählers, der eine
nächste fortlaufende Adresse zu derjenigen des Operandenspezifizierers
anzeigt, für den die Adresse berechnet werden soll) und gibt das Ergebnis über die Signalleitungen
16B in ein Register (TPC) 613 ein.
Die Fig. 4C zeigt eine Ausgestaltung der in Fig. 4 dargestellten Adressenberechnungseinhext (AU) 6oo. Die darin
verwendeten Abkürzungen und ihre formalen Bezeichnun-
130063/0792
gen sowie die zugehörigen Bezugszeichen sind in der nachstehenden Liste angegeben.
Bezugs zeichen |
Formale Bezeichnungen | Abkürzungen |
6o1 | Register | AER |
6o2 | Register | ACR |
6o3 | Decodierer | A-DEC |
6o4 | Merker | ACVF |
6o5 | Register | ARAR |
6o6 | Registerdatei | ARF |
6o7 | Wähler | SEL |
6o8 | Wähler | SEL |
6o9 | Addierer | A-ADR |
61o | Register | ARR |
611 | Register | DR |
612 | Bustreiber | DV |
613 | Register | TPC |
Das Register (AER) 6o1 in Fig. 4C hält eine vorlaufende Adresse 1oB eines Mikroprogramms/ das in der ECSAG 5o1
der Fig. 4B erzeugt worden ist, zurück.
Das Register (ACR) 6o2 hält Steuerdaten 18B, die das Ausgangssignal
der ACIG 5o4 der Fig. 4B sind, zurück.
Der Decodierer (A-DEC) 6o3 steuert den gesamten Betrieb der AU 6oo durch die Kombination der Ausgänge des ACR 6o2
und des Merkers (ACVF) 6o4.
Der Merker (ACVF) 6o4 arbeitet in der Weise, daß er die Ausführung der Operation der AU 6oo anzeigt. Der ACVF 6o4
wird gesetzt, wenn der AU 6oo mittels des Ausgangs 14B der D-CONT 5o9 ein decodiertes Ergebnis dargeboten wird,
130063/0792
und er wird durch den Ausgang 22C des A-DEC 6o3 zurückgesetzt, wenn die auf dein decodierten Ergebnis basierende
Adressenberechnung beendet ist.
Das Register (ARAR) 6o5 speichert eine Adresse 11B eines
Registers, auf das Bezug genommen werden soll, wenn die Operandenadresse berechnet wird.
Die Registerdatei (ARF) 606 ist eine Gruppe von Registern, auf die Bezug genommen wird, wenn die Operandenadresse berechnet
wird. Der Ausgang 24C, der der Ausgang der ARF
ist und dem Adressenausgang 23C von dem ARAR 6o5 entspricht, wird den Wählern (SEL) 6o7 und 608 zugeführt,
Die Wähler (SEL) 6o7 und 608 wählen Eingänge für den Addierer (A-ADR) 6o9.
Der Addierer (A-ADR) 6o9 berechnet die Adresse des Operanden auf der Basis der Signale, die durch die SEL 6o7 und
6o8 ausgewählt worden sind, und liest das Ergebnis in ein Register (MAR) 7o5 über die Signalleitungen 1 4C ein oder
liefert das Ergebnis über den Bustreiber (DV) 612 an den Zwischeneinheitsbus 41o.
Das Register (ARR) 61o hält die Adresse 12B des Registers, die in dem Operandenspezifizierer (OS) enthalten ist, zurück.
Das Register (DR) 611 hält die Distanz, die absolute Adresse
oder Literaldaten, die in dem Operandenspezifizierer
(OS) enthalten sind, zurück und präsentiert sie dem SEL 6o8 über die Signalleitungen 26C.
Das Register (TPC) 613 hält flen Wert des Programmzählers,
der in der relativen Adressierungsmode verwendet werden
130063/0792
- 3ο -
soll, zurück und führt den Ausgang 25C dem SEL 6o7 zu, der dem berechneten Programm entspricht.
Die Fig. 4D zeigt eine Ausgestaltung der in Fig. 4 dargestellten Operandenabrufeinheit (OFU) 7oo. Die darin verwendeten
Abkürzungen und ihre formalen Bezeichnungen sowie die zugehörigen Bezügszeichen sind in der nachstehenden
Liste angegeben.
Bezugs- Formale Bezeichnungen Abkürzungen zeichen
OER
OFCR
OFCVF
7o4 Decodierer OF-DEC
MAR SEL OBR OALIG
7o9 Register ORR
Das Register (OER) 7o1 in Fig. 4D hält eine vorlaufende Adresse 1oC eines Mikroprogramms zurück.
Das Register (OFCR) 7o2 hält den Ausgang 11C des A-DEC 6o3 der Fig. 4C zurück.
Der Merker (OFCVF) 7o3 zeigt die Ausführung der Operation der OFU 7oo an. Er wird durch den Ausgang 12C des A-DEC
6o3 gesetzt, wenn das Ergebnis der Adressenberechnung der OFU 7oo dargeboten wird, und er wird durch den Ausgang
22D des OF-DEC 7o4 zurückgesetzt, wenn die Operation der OFU 7oo zu der Adresse vollendet ist.
Der Decodierer (OF-DEC) 7o4 steuert die gesamte Operation
130083/0792
7o1 | Register |
7o2 | Register |
7o3 | Merker |
7o4 | Decodierer |
7o5 | Register |
7o6 | Wähler |
7o7 | Register |
7o8 | Datenausrichter |
7o9 | Register |
der OFU 7oo mittels der Kombination des Ausgangs 2oD des OFCR 7o2 und des Ausgangs 21D des OFCVF 7o3. Wenn alle
Operanden abgerufen worden sind, gibt er das Signal 13D
an die Ausführungseinheit 8oo.
5
5
Das Register (MAR) 7o5 hält die Adresse 14C des Operanden zurück und gibt die Adresse über die Signalleitung
33o an den BM„ 3o4.
Der Wähler (SEL) 7o6 wählt Daten, die in das Register (OBR) 7o7 eingelesen werden sollen, welches den Operanden
23D, der über den SEL 7o6 eingelesen werden soll, zurückhält.
Der Datenausrichter (OALIG) 7o8 erhält die Daten 24D von dem OBR 7o7 und richtet dieselben aus, so daß er das Datenformat
14D erzeugt.
Das Register (ORR) 7o9 hält die Adresse 13C des Registers,
die von dem ARR 61o der Fig. 4C geliefert worden ist, zurück.
Die Fig. 4E zeigt eine Ausgestaltung der in Fig. 4 dargestellten Ausführungseinheit (EU) 8oo. Die darin verwendeten
Abkürzungen und ihre formalen Bezeichnungen sowie die zugehörigen Bezugszeichen sind in der nachfolgenden Liste
angegeben.
Bezugs- Formale Bezeichnungen Abkürzungen
zeichen
,
801 Mikroprogrammsteuereinrichtung MPC
802 Mikroprogrammspeicher ECS
803 Mikroanweisungsregister MIR
804 Wähler , SEL 8o5 Wähler SEL
130063/0792
*: ".» " - --►- | 3119741 | |
- 32 - | Abkürzungen | |
Bezugs- | Formale Bezeichnungen | EALU |
zeichen | MDR | |
806 | Arithmetik-Logik-Einheit | BDV |
808 | Speicherdatenregister | ERF |
8o9 | Bilateralbustreiber | ERAR |
5 812 | Allgemeinzweckregxsterdatex | SEL |
813 | Register | |
814 | Wähler | |
Die Fig. 4E zeigt nur Hauptelemente der EU 8oo, und in
dieser sind viele andere Elemente vorgesehen, obwohl dieselben hier nicht erläutert sind, weil sie für das Verständnis
der vorliegenden Erfindung unwesentlich sind.
Die Mikroprogrammsteuereinrichtung (MPC) 8o1 in Fig. 4E steuert die Speicheradresse des Mikroprogrammspeichers
(ECS) 8o2, der das Mikroprogramm 2oE von der Adresse 21E spezifiziert durch die MPC 8o1 erhält und liest es in das
Mikroanweisungsregister (MIR) 8o3 ein.
Die Ausgänge des MIR 8o3 werden dem OF-DEC 7o4 der Fig.
4D durch die Signalleitungen 12D, der MPC 8o1 durch die Signalleitungen 22E und den Wählern 8o4 und 814 durch die
Signalleitungen 23E bzw. 23E zugeführt. Die Ausgänge des MIR 8o3 werden außerdem vielen anderen Elementen zugeführt,
obwohl diese hier weder dargestellt noch erläutert sind, weil sie für das Verständnis der vorliegenden
Erfindung unwesentlich sind.
Die Wähler 8o4 und 8o5 wählen Eingangsdaten für die Arithmetik-Logik-Einheit
(EALU) 806.
Das Speicherdatenregister (MDR) 808 speichert die Daten 3 5E von dem Bus 25E zeitweilig und führt sie dem BM? 3o4
über die Signalleitungen 333, den Bus 334 und die Signal-
130063/0792
leitungen 335 zu.
Die Allgemeinzweckregisterdatei (ERF) 812 ist eine Gruppe von Registern für allgemeine Zwecke, die von der EALU
8o6 benutzt wird. Sie liefert Daten, die mittels der Adressen von dem Ausgang 33E des SEL 814 ausgelesen worden
sind, an den SEL 8o4 und 8o5 über die Signalleitungen 28E.
Das Register (ERAR) 813 hält die Registeradresse 11D zurück,
die von dem ORR 7o9 der Fig. 4D her übertragen worden ist.
Der Wähler (SEL) 814 wählt entweder den Ausgang 32E des ERAR 813 oder den Ausgang 24E des MIR 8o3 und führt ihn
der ERF 812 über die Signalleitung 33E zu. Der bilaterale
Bustreiber (BDV) 8o9 arbeitet in der Weise, daß er den internen Bus 25E der EU 8oo und den Zwischeneinheitsbus
41ο miteinander verbindet, die in der EU 8oo erzeugten Daten zur anderen Einheit überträgt und die von der anderen
Einheit übertragenen Daten der EU 8oo zuführt.
Es sei nun ein Beispiel einer Anweisungsausführungsaufeinanderfolge
gemäß dem vorliegenden Ausführungsbexspiel unter Bezug auf eine Grundanweisung erläutert.
Die IFU 4oo macht einen Zugriff auf den BM., 3o3 mittels
der in dem FP 4o4 enthaltenen Adresse, um die Anweisung vorabzurufen. Wenn der IB 4o1 einen freien Bereich zur
Aufnahme der Daten hat, die aus dem BM- 3o3 ausgelesen worden sind, liest er die Daten ein. Wenn er keinen freien
Bereich hat, läßt er die Daten unbeachtet. Das Vorhandensein oder Nichtvorhandensein des freien Bereichs wird
mittels der IF-CONT 4o3 durch den Inhalt 327 des FP 4o4 und den Ausgang 11A des DP 51 ο bestimmt. Im vorliegenden
130063/0792
Ausführungsbeispiel werden die vom BM1 3o3 ausgelesenen
Daten im IB 4o1 gespeichert, wenn der IB 4o1 einen größeren Bereich als die Auslesebreite der Daten vom BM1 3o3
hat.
Der ALIG 4o2 richtet die Daten im IB 4o1 in der Aufeinanderfolge der Adresse aus/ wobei die Position der entsprechenden
Adresse des IB 4o1 am Anfang ist, während der Ausgang 11A des DP 51o als die Adresse benutzt wird. Im vorliegenden
Ausführungsbeispiel werden die Daten Bit um Bit ausgerichtet,obwohl sie auch Byte um Byte ausgerichtet
werden können, wenn die Grundlänge der Anweisung ein Byte ist. Im ersten Decodierzyklus der Anweisung zeigt der DP
51o die Adresse des Operationscodes an. Demgemäß entsprechen
die vorlaufenden Daten, die vom ALIG 4o2 herkommen, dem Operationscodefeld, und der Operandenspezifizierer des
nächsten fortlaufenden Operanden wird gelesen. Im Zwischendecodierzyklus der Anweisung kann der DP 51 ο die Adresse
des Operandenspezifizierers anzeigen. In diesem Falle wird eine Reihe von Daten gelesen, wobei sich der Operandenspezifizierer,
welcher der erwähnten Adresse entspricht, am Anfang befindet. Der Ausgang 329 vom ALIG 4o2 hat eine
Breite, die breit genug zur Aufnahme von wenigstens einem Satz von Operandenspezifizierern und vom Operationscode
ist.
Die DU 5oo decodiert die vom ALIG 4o2 gelieferten Anweisungen. Die DU 5oo decodiert stets den Ausgang 329 des
ALIG 4o2. Die Bedingungen für das Vollenden der Decodierung werden unten erläutert.
Die effektive Datenlänge im IB 4o1, die für das Decodieren verfügbar ist, wird mittels einer Differenz zwischen dem
FP 4o4 und dem DP 51ο bestimmt. Der FP 4o4 zeigt eine
Adresse an, die beim nächsten Speicherzugriff aus dem
130063/0792
Speicher ausgelesen werden soll, und der DP 51o zeigt eine KopfSpeicheradresse an, die decodiert werden soll. Infolgedessen
ist der FP 4o4 gleich dem DP 51 ο oder diesem
voraus. Wenn der DP 51o gleich dem FP 4o4 ist, sind keine effektiven Daten im IB 4o1. Wenn der DP 51o dem FP 4o4
nicht gleich ist, zeigt die Differenz zwischen dem FP 4o4 und dem DP 51 ο die effektive Datenlänge an. Die DU 5oo
berechnet die zum Decodieren erforderliche Länge mittels
des NBNC 513 und gibt die Information über das Ergebnis
voraus. Wenn der DP 51o gleich dem FP 4o4 ist, sind keine effektiven Daten im IB 4o1. Wenn der DP 51o dem FP 4o4
nicht gleich ist, zeigt die Differenz zwischen dem FP 4o4 und dem DP 51 ο die effektive Datenlänge an. Die DU 5oo
berechnet die zum Decodieren erforderliche Länge mittels
des NBNC 513 und gibt die Information über das Ergebnis
an die IF-CONT 4o3 in der IFO 4oo über die Signalleitungen 13A. Die IF-CONT 4o3 vergleicht den Inhalt auf den
Signalleitungen 13A mit der Differenz zwischen dem FP 4o4 und dem DP 51o, und wenn der erstere gleich oder kleiner
als die letztere ist, legt sie fest, daß die zum Decodieren erforderliche Länge in dem IB 4o1 enthalten ist und
informiert hierüber die D-CONT 5o9 in der DU 5oo über die Signalleitungen 12A. Wenn die D-COWT 5o9 über die Signalleitungen 12A informiert worden ist, daß die zum Decodieren erforderlichen Daten in dem IB 4o1 enthalten sind, und wenn sie über die Signalleitungen 15B darüber informiert
worden ist, daß die AU 6oo bereit ist, das Decodierergebnis zu empfangen, präsentiert sie der AU 6oo das Decodierergebnis von der DU 5oo, so daß sie die Operation des Decodierzyklus beendet. Wenn die zum Decodieren erforderlichen Daten nicht in dem IB 4o1 enthalten sind, oder wenn
die AU 6oo nicht zum Empfangen des decodierten Ergebnisses bereit ist, dann macht die D-CONT 5o9 den Prozeß in diesem Decodierzyklus unwirksam und wiederholt den gleichen Prozeß im nächsten fortlaufenden Zyklus.
Signalleitungen 13A mit der Differenz zwischen dem FP 4o4 und dem DP 51o, und wenn der erstere gleich oder kleiner
als die letztere ist, legt sie fest, daß die zum Decodieren erforderliche Länge in dem IB 4o1 enthalten ist und
informiert hierüber die D-CONT 5o9 in der DU 5oo über die Signalleitungen 12A. Wenn die D-COWT 5o9 über die Signalleitungen 12A informiert worden ist, daß die zum Decodieren erforderlichen Daten in dem IB 4o1 enthalten sind, und wenn sie über die Signalleitungen 15B darüber informiert
worden ist, daß die AU 6oo bereit ist, das Decodierergebnis zu empfangen, präsentiert sie der AU 6oo das Decodierergebnis von der DU 5oo, so daß sie die Operation des Decodierzyklus beendet. Wenn die zum Decodieren erforderlichen Daten nicht in dem IB 4o1 enthalten sind, oder wenn
die AU 6oo nicht zum Empfangen des decodierten Ergebnisses bereit ist, dann macht die D-CONT 5o9 den Prozeß in diesem Decodierzyklus unwirksam und wiederholt den gleichen Prozeß im nächsten fortlaufenden Zyklus.
Der Ausgang 17B des DBNC 5o7 wird durch die Formel (1)
repräsentiert:
repräsentiert:
17B = α + β + γ (T)
130083/0792
und der Ausgang 13A des NBNC 513 wird durch die Formel (2) repräsentiert:
13A - OC + ß + S (2) ,
worin et und ß in folgender Weise definiert sind:
(a) Wenn der DP 5Io die Adresse des Operationscodes anzeigt,
gilt
<X = die Anzahl der Bits des Operationscodes,
Üo ß = die Anzahl der Bits des vorlaufenden Operandenspezifizierers, der dem genannten Operationscode folgt.
Üo ß = die Anzahl der Bits des vorlaufenden Operandenspezifizierers, der dem genannten Operationscode folgt.
(b) Wenn der DP 51ο die Adresse des Operandenspezifizierers
anzeigt, dann gilt
OL = O
ß = Anzahl der Bits des Operandenspezifizierers.
Γ ist wie folgt definiert:
(a) Wenn zwei Operandenspezifizierer gleichzeitig decodiert werden, dann gilt
y = die Anzahl der Bits des Operandenspezifizierers
für die Registermode.
(b) Wenn nur ein Operandenspezifizierer decodiert wird, dann gilt
r = o.
£ is-t wie folgt definiert:
(a) Wenn es zulässig ist, daß gleichzeitig zwei Operandenspezifizierer
decodiert werden (wie durch den Ausgang 34B des DCS 5o3 angezeigt), dann gilt
S = die Anzahl von Bits des Operandenspezifizierers für die Registermode.
S = die Anzahl von Bits des Operandenspezifizierers für die Registermode.
130063/0792
(b) Wenn die gleichzeitige Decodierung von zwei Operandenspezifizierern
nicht zulässig ist, dann gilt
5 = o.
5 = o.
In dem ersten Decodierzyklus der Anweisung entspricht das vorlaufende Feld, das von dem ALIG 4o2 geliefert wird, dem
Operationscode. Infolgedessen wird das vorlaufende Feld
beim Zugriff zu dem DCS 5o3 als die Adresse des DCS 5o3
benutzt.
beim Zugriff zu dem DCS 5o3 als die Adresse des DCS 5o3
benutzt.
Im DCS 5o3 ist eine Einwortadresse einem Operandenspezifizierer jeder Anweisung zugeteilt. Wie in Fig. 5 gezeigt,
umfaßt jedes Ein-Wort im DCS 5o3 ein Feld (AD) ,· das eine Art des Zugriffs {Lesen, Schreiben oder Lesen und Schreiben)
von einem aus einer Mehrzahl von Operandenspezifizierern
anzeigt, die durch den Operationscode der Anweisung definiert sind, sowie ein Feld (DL), das eine Datenlänge
anzeigt, ein Feld (JA), das eine Adresse in dem DCS 5o3
anzeigt, die dem Operandenspezifizierer entspricht, der
anzeigt, die dem Operandenspezifizierer entspricht, der
dem erwähnten Operandenspezifizierer folgt, wenn er vorgesehen
ist, ein Feld (E), das den letzten Operandenspezifizierer der Anweisung anzeigt, und ein Feld (RD), das
die Zulässigkeit eines gleichzeitigen Decodierens von
zwei Operandenspezifizierern anzeigt. Es sind auch andere Felder vorgesehent aber diese werden hier nicht erläutert, weil sie sich nicht direkt auf die vorliegende Erfindung beziehen. Eine Anzahl von Worten in dem DCS 5o3, die gleich der Anzahl von Operandenspezifizierern ist,
welche in jeder Anweisung enthalten sind, ist jeder An-
zwei Operandenspezifizierern anzeigt. Es sind auch andere Felder vorgesehent aber diese werden hier nicht erläutert, weil sie sich nicht direkt auf die vorliegende Erfindung beziehen. Eine Anzahl von Worten in dem DCS 5o3, die gleich der Anzahl von Operandenspezifizierern ist,
welche in jeder Anweisung enthalten sind, ist jeder An-
Weisung zugeteilt. Beispielsweise .sind einer Dreioperandenanweisung
drei Worte zugeteilt* Es ist möglich, die
Speichergröße des DCS 5o3 dadurch zu vermindern, daß die gleiche Adresse von unterschiedlichen Anweisungen ge-'
teilt wird, wenn ein solches Teilen zulässig ist. In einem ersten Decodierzyklus (t-) einer Anweisung wird der
Speichergröße des DCS 5o3 dadurch zu vermindern, daß die gleiche Adresse von unterschiedlichen Anweisungen ge-'
teilt wird, wenn ein solches Teilen zulässig ist. In einem ersten Decodierzyklus (t-) einer Anweisung wird der
130063/0792
Operationscode als die Adresse des DCS 5o3 benutzt, und
eine erste Operandeninformation, die mittels des Operationscodes spezifiziert ist, eine Adresse (JA) am DCS 5o3
von einem zweiten Operanden und andere Informationen werden
vom DCS 5o3 ausgelesen. Der Operandenspezifizierer des ersten Operanden wird vom IB 4o1 mittels des ALIG
4o2 ausgelesen und mittels des OS-DEC 5o5 decodiert. Wenn der Operandenspezifizierer eine Distanz, eine absolute
Adresse oder Literaldaten enthält, liest der D-ALIG 5o8 ο diese aus und richtet sie zum Datenformat aus, das dann
im DR 611 gespeichert wird. Die DU 5oo gibt die decodierten Ergebnisse in die Register in der AU 6oo ein und setzt
den ACVF 6o4, so daß die Adressenberechnung für den Operanden begonnen wird, der mittels des Operandenspezifizierers
spezifiziert worden ist, und zwar gemäß dem decodierten Ergebnis. Die Anzahl von Bits der Anweisungen, die in diesem
Zyklus decodiert worden sind (die Anzahl von Bits der Operationscodes und der Operandenspezifizierer für die ersten
Operanden) wird durch den DBNC 5o7 berechnet, und sie wird mittels des INC 512 zum Inhalt des DP 51 ο addiert, so daß
der Inhalt des DP 51 ο fortgeschrieben wird.
Wenn die Anweisung zwei oder mehr Operandenspezifizierer
hat, wird die Information des zweiten Operanden, der durch den Operationscode spezifiziert ist, aus dem DCS 5o3 im
nächsten Zyklus (tg), der auf den ersten Decodierzyklus
(t-) für die Anweisung folgt, ausgelesen, während das Feld JA in der Information, das vom DCS 5o3 im Zyklus t^
ausgelesen worden ist, als eine Adresse benutzt wird.
Gleichzeitig wird der Operandenspezifizierer für den zweiten Operanden mittels des ALIG 4o2 aus dem IB 4o1 ausgelesen,
und er wird mittels des OS-DEC 5o5 in einem dem Decodieren des Operandenspezifizierers für den ersten
Operanden entsprechenden Vorgang decodiert. Wenn die AU 31 ο das decodierte Ergebnis von dem Operandenspezifizie-
130063/0792
rer für den ersten Operanden erhalten und die Adressenberechnung
für den Operanden zu dieser Zeit vollendet hat und bereit ist, die Adressenberechnung für die nächste
Adresse anzunehmen/ gibt die DU 5oo das decodierte Ergebnis des Operandenspezifizierers für den zweiten Operanden
in die Register in der AU 6oo ein und setzt den ACVF 6o4, so daß bewirkt wird, daß die AU 6oo die Adressenberechnung
des mittels des Operandenspesifizierers spezifizierten Operanden für den zweiten Operanden beginnt. Die An-5ο
zahl von Bits der in diesem Zyklus decodierten Anweisung (die Anzahl von Bits des Operandenspezifizierers für den
zweiten Operanden) wird mittels des DBNC 5o7 berechnet,
und sie wird zum Inhalt des DP 51ο hinzugefügt, so daß der Inhalt des DP 5Io fortgeschrieben wird.
Aus der obigen Beschreibung ist ersichtlich, daß die DU
5oo einen Operandenspezifizierer in jedem Maschinenzyklus
decodiert und das Decodierergebnis in die Register
in der AU 6oo eingibt sowie die AU 6oo anweist, die Adresse
des Operanden auf der Basis des Decodierergebnisses zu berechnen. In dem ersten Decodiers^klus der Anweisung
wird der Operationscode als die Adresse des DCS 5o3 benutzt, und in den nachfolgenden Zyklen wird die Information,
die durch den Operationscode spezifiziert ist, ausgelesen.
Die vorlaufende Adresse des Mikroprogramms wird durch die ECSAG 5o1 auf der Basis des Operationscodes bestimmt,
und sie wird in das AER 6ö1 eingegeben.
Wenn das Decodierergebnis für den Operandenspezifizierer
von der DU 5oo in die Register in der AU 6oo eingegeben und der ACVF 6o4 gesetzt ist, berechnet die AU 6oo die
Adresse des Operanden auf der Basis des Decodierergebnisses, gibt die berechnete Operandenadresse in das MAR 7o5
in der OFU 7oo ein, gibt die.Operationssteuerinformation
für die OFU 7oo in das OFCR 7o2 ein, und setzt den OFCVF
130063/0792
- 4ο -
7ο3, wodurch bewirkt wird/ daß die OFU 7oo mit dem Speicherzugriff
zu der Adresse beginnt, die durch das MAR 7o5 spezifiziert ist. Wenn die Adressenberechnung des
Operandenspezifizierers für den Operanden beendet worden ist, empfängt die AU 6oo den dem erwähnten Operandenspezif
izierer folgenden nächsten Operandenspezifizierer von
der DU 5oo und berechnet die Adresse des nächsten Operandenspezifizierers.
Auf diese Weise berechnet die AU 6oo die Adressen der Operanden, die durch die Operandenspeζi~
fizierer spezifiziert sind, fortlaufend, und zwar einen
Operandenspezifizierer auf einmal. Die Adressenberechnung für jeden Operandenspezifizierer wird nicht immer in einem
Maschinenzyklus beendet, sondern sie kann manchmal mehrere Maschinenzyklen beanspruchen. Nachdem die Adressenberechnung
für einen Operandenspezifizierer beendet worden ist, wird die Adressenberechnung für den nächsten Operandenspezif
izierer ausgeführt. Es ist nicht notwendig, daß der nächste Operandenspezifizierer zu der gleichen Anweisung
gehört, zu welcher der vorhergehende Operandenspezifizierer gehört. Wenn die Adressenberechnung für
den vorlaufenden (ersten) Operandenspezifizierer in der
Anweisung beendet ist, überträgt die AU 6oo die vorlaufende Adresse des Mikroprogramms der in dem AER 6o1 gespeicherten
Anweisung zu dem OER 7o1 der OFU 7oo.
Damit die von der AU 6oo berechnete Adresse zur OFU 7oo übertragen werden kann, muß die OFU 7oo zum Empfang der
Daten von der AU 6oo bereit sein. Die OFU 7oo informiert über die Signalleitung 15C, wenn sie bereit ist, die Da-
3ο ten von der AU 6oo zu empfangen. In dem Zyklus der Datenübertragung
zur OFU 7oo überwacht die AU 6oo die Signalleitung 15C, und nur wenn sie feststellt, daß die OFU
7oo bereit ist, gibt die AU 6oo die darin erzeugten Daten in die Register in der OFU 7po ein. Wenn die OFU 7oo nicht
zum Empfang der Daten bereit ist, macht die AU 6oo den
130063/0792
Vorgang dieses Zyklus unwirksam und wiederholt den gleichen
Vorgang im nächsten Zyklus.
Die OFU 7oo beginnt ihre Operation, wenn die berechnete Adresse des Operandenspezifizierers von der AU 6oo in das
MAR 7o5 eingegeben, das Operationssteuersignal für die OFU 7oo in das OFCR 7o2 eingegeben und der OFCVF 7o3 gesetzt
ist.
To Eine primäre Funktion der OFU 7oo ist der Zugriff zu dem
Speicher auf der Basis der Adresse, die von der AU 6oo präsentiert wird, um den Operanden abzurufen. In einer
Adressierungsmode (beispielsweise unmittelbare Mode oder Literalmode), in der der Operand von der AU 6oo fertigge-
•J5 macht worden ist, wird der Operand (der dem MAR 7o5 dargeboten
werden soll) durch den SEL 7o6 in das OBR 7o7 eingegeben, und es erfolgt kein Zugriff in den Speicher.
In verschiedenen Arten bzw. Moden, welche den Speicherzugriff
benötigen, erfolgt ein Zugriff zum BM2 3o4 über die
Signalleitungen 332. Die vom BM2 3o4 ausgelesenen Daten
werden dem OBR 7o7.über den SEL 7o6 eingegeben. Die Operanden in dem OBR 7o7 werden mittels des OALIG 7o8 ausgerichtet
und dann zur EU 8oo übertragen.
Beim Speicherzugriff oder bei der übertragung des vorlaufenden
(ersten) Operandenspezifizierers der Anweisung wird die vorlaufende Adresse des Mikroprogramms, das in
dem OER 7o1 gespeichert ist, zur MPC 8o1 übertragen.
Um den Operanden, der in der OFU 7oo fertiggemacht worden ist, in das OBR 7o7 einzugeben, darf das OBR 7o7 vor
diesem Operanden keine Daten enthalten, d.· h. das OBR 7o7 muß leer sein. Die EU 8oo informiert über die Signalleitung
12D, wenn der Operand in dem OBR 7o7 verwendet
130063/0792
worden ist. Im Zyklus des Eingehens des Operanden in das OBR 7o7 bestimmt die OFU 7oo, ob das OBR 7o7 zum Empfang
des Operanden bereit ist. Wenn es bereit ist, gibt die OPU 7oo den Operanden ein, und wenn es nicht bereit ist,
macht die OFU 7oo den Vorgang dieses Zyklus unwirksam und wiederholt den gle'chen Vorgang im nächsten Zyklus.
Wie oben beschrieben, wird die Information (Operationscode und Operandenspezifizierer) über die Anweisung, die
mittels der DU 5oo decodiert worden ist, durch die AU 6oo und die OFU 7oo zur EU 8oo übertragen.
Die EU 8oo macht einen Zugriff in den ECS 8o2 mittels der
vorlaufenden Adresse des Mikroprogramms r die der MPC 8o1
dargeboten worden ist, um das Mikroprogramm zum Beginnen der Ausführung der Anweisung abzurufen. Der durch den
Operandenspezifizierer spezifizierte Operand wird von dem OBR 7o7 oder von dem ERAR 813 als eine Registeradresse
dargeboten. Wenn der Operand ein Ziel bzw. eine Bestimmung ist, dann wird die Adresse dieses Operanden in das
MAR 7o5 eingegeben. Die EU 8oo führt die Anweisung unter Verwendung der Operanden aus, die von der OFU 7oo dargeboten
werden. Wenn das Ergebnis in einem Register gespeichert werden soll, dann wird es über den Bus 25E und die
Signalleitungen 29E in der ERF 812 gespeichert. Wenn das
Ergebnis in einem Speicher gespeichert werden soll, dann wird es zeitweilig in dem MDR 808 gespeichert und dem BM-3o4
über die Signalleitungen 333 zugeführt. Wenn die durch die OFU 7oo dargebotenen Operanden verarbeitet worden
sind, dann wird die OFU 7oo hierüber über die Signalleitung 12D informiert, damit die OFU 7oo für den Empfang
des nächsten Operanden bereit gemacht wird.
Die Fig. 6 zeigt einen Stufenablauf, der einen Anweisungsfluß
und einen Vorgang zum Ausführen der Anweisungen ver-
130063/0792
anschaulicht, und zwar sind hier drei Anweisungen dargestellt.Jede
der Anweisungen 1(1) bis 1(3) hat zwei Operandenspezifizierer.
Im ersten Zyklus (t1) wird die Anweisung 1(1) abgerufen (IFV '). Im nächsten Zyklus (t„) werden
der Operationscode und der Operandenspezifizierer des
ersten Operanden decodiert (D* 'I).Im nächsten Zyklus (t3)
wird die effektive Adresse des ersten Operanden in Übereinstimmung mit dem Decodierergebnis berechnet (A 1),
und der Operandenspesifizlerer des zweiten Operanden wird
deeodiert (Dλ ' 2) . Im nächsten Zyklus (tj wird der erste
CD *
Operand abgerufen {OF M), und die effektive Adresse des zweiten Operanden wird berechnet (Ä 2). In dem gleichen
Zyklus werden der Operationscode und der Operandenspezifizierer des ersten Operanden der Anweisung 1(2) deeodiert
(2)
(D"v 1). In dem nächsten Zyklus (te) wird der zweite Ope-
(1)
rand der Anweisung 1(1) abgerufen (OF 2), und die effektive
Adresse des ersten Operanden der Anweisung 1(2) wird
(2)
berechnet (A 1) f und der Operanclenspezif izierer des
berechnet (A 1) f und der Operanclenspezif izierer des
(2) zweiten Operanden der Anweisung 1(2) wird deeodiert (D '2)
Int nächsten Zyklus (t£) wird die Anweisung 1(1) ausgeführt
(1)
(E '), und der erste Operand der Anweisung 1(2) wird ab-
(2)
gerufen (OFv Ί), die effektive Adresse des zweiten Ope-
gerufen (OFv Ί), die effektive Adresse des zweiten Ope-
12)
randen wird berechnet (A 2), und der Operationscode und der Operandenspezifizierer des ersten Operanden der Anweisung 1(3) werden deeodiert (D* '1}B Entsprechende Vorgänge werden in den Zyklen t_ - t11 ausgeführt. Die Abrufungen (IFlz;, IF^ ;) der Anweisungen 1(2) und 1(3), die in Fig. 6 durch gestrichelte Linien dargestellt sind, zeigen an, daß.Anweisungsvorabrufungen selbst darm ausgeführt werden, wenn freie Bereiche in dem IB 4o1 eine vorbestimmte Anzahl von Bits überschreiten.
randen wird berechnet (A 2), und der Operationscode und der Operandenspezifizierer des ersten Operanden der Anweisung 1(3) werden deeodiert (D* '1}B Entsprechende Vorgänge werden in den Zyklen t_ - t11 ausgeführt. Die Abrufungen (IFlz;, IF^ ;) der Anweisungen 1(2) und 1(3), die in Fig. 6 durch gestrichelte Linien dargestellt sind, zeigen an, daß.Anweisungsvorabrufungen selbst darm ausgeführt werden, wenn freie Bereiche in dem IB 4o1 eine vorbestimmte Anzahl von Bits überschreiten.
Während die Fig„ 6 ein Beispiel zeigt, in dem der Effektivadressenberechmangszyklus^
für den Operanden und der Operandenabrufzyklus in einem Zyklus jeweils beendet wer-
130063/070-2
den, kann es sein/ daß der Effektivadressenberechnungszyklus nicht in einem Zyklus beendet ist, was von der
Adressierungsart bzw. -mode abhängt r oder der Operand
kann unter Bezugnahme auf den Speicher der indirekten Adressierungsart bzw. -mode (in der eine Operandenadresse
durch die erste Speicherbezugnahme präsentiert wird) zweifach abgerufen werden. Demgemäß können der Anweisungsfluß
und die Ausführung in Abhängigkeit von der Adressierungsart variieren.
Die Fig. 7 zeigt einen Stufenablauf/ der einen Anweisungsfluß und die Ausführung der Anweisungen veranschaulicht,
wenn Dreioperanden-Anweisungen fortlaufend ausgeführt werden, und zwar sind in Fig. 7 drei Anweisungen 1(1), 1(2)
und 1(3) wie im Falle der Fig. 6 dargestellt. Die Ausführung der Anweisung in jedem Zyklus ist gleichartig wie
diejenige, die bei den fortlaufenden Zweioperanden-Instruktionen ausgeführt wird, wie sie anhand der Fig, 6
erläutert worden ist. Bei der Dreioperanden-Anweisung jedoch
wird der dritte Operand nicht abgerufen, weil er gewöhnlich nicht ein Ursprungs- bzw. Primäroperand, sondern
ein Ziel- bzw. Bestimmungsoperand ist. Der Stufenablauf bei den Anweisungen, die mehr als drei Operanden haben,
ist im wesentlichen der gleiche wie der Stufenablauf bei Zweioperanden- und Dreioperanden-Anweisungen, wie er oben
in Verbindung mit den Fig. 6 und 7 beschrieben worden ist. Eine Kombination von Anweisungen, die unterschiedliche
Anzahlen von Operandenspezifizierern haben, kann auch in einer entsprechenden Weise ausgeführt werden.
Obwohl hier Zweioperanden- und Dreioperanden-Anweisungen
veranschaulicht worden sind, sei darauf hingewiesen, daß die Stufenabläufe für Einoperanden-Anweisungen und für
Anweisungen, die mehr als drei Operanden haben, im wesentliehen die gleichen wie die in den Fig. 6 und 7 gezeigten
130063/0792
.,Λ W - Λ A
Stufenabläufe sind.
Es seien nun die Vorgänge des gleichzeitigen Decodierens von zwei Operandenspezifizierern und die nachfolgenden
Vorgänge in einer Anweisung, welche ein gleichzeitiges Decodieren von zwei Oparandenspezifizierern ermöglicht,
erläutert.
Das gleichzeitige Decodieren von zwei Operandenspezifizierern
wird nur bei der Anweisung ausgeführt, welche das gleichzeitige Decodieren von zwei Operandenspezifizierern
gestattet, obwohl es auch für alle Anweisungen ausgeführt werden kann.
•55 Das gleichzeitige Decodieren von zwei Operandenspezifizierern
wird unter der Bedingung ausgeführt, daß die Adressierungsart des letzten Operandenspezifizierers die
Registermode ist, wenn ein Operandenspezifizierer, der dem letzten Operandenspezifizierer vorhergeht, decodiert
wird. Wenn die Adressierungsart nicht die Registermode ist, wird das gleichzeitige Decodieren nicht ausgeführt,
sondern es wird nur der Operandenspezifizierer, der dem
letzten Operandenspezifizierer vorhergeht, decodiert. Als
ein Beispiel sei eine Addierungsanweisung, die zwei Operandenspezifizierer
hat, erläutert. In der Addierungsanweisung wird der Inhalt des ersten Operanden zum Inhalt
des zweiten Operanden addiert, und ihre Summe wird an der Stelle des zweiten Operanden gespeichert. Infolgedessen
ist der erste Operand ein Leseoperand, und der zweite Operand ist ein Lese- und Schreiboperand. Muster des DCS
5o3 für die Addierungsanweisung sind in Fig. 8 gezeigt, wonach die Information des ersten Operanden und die Adresse
des zweiten Operanden über den DCS 5o3 bei der Adresse des DCS 5o3 entsprechend dem- Inhalt des Operationscodes
enthalten sind. Da der erste Operand der Operand ist,
13 0063/0 7 02
welcher dem letzten Operanden vorangeht, enthält das Feld
RD des DCS 5o3 eine "1" (welche die Zulässigkeit des gleichzeitigen Decodierens von zwei Operandenspezifizierern
anzeigt). Die Information des zweiten Operanden wird
bei der Adresse des DCS 5o3 für den zweiten Operanden gespeichert, und das Feld E enthält eine "1", die anzeigt,
daß der zweite Operand der letzte Operand der Anweisung ist. Die Fig. 9 zeigt einen Stufenablauf für den Fall,
daß Addieranweisungen, welche gleiche Arten von Operandenspezifizierern
haben, fortlaufend ausgeführt werden, und daß die zweiten Operanden von der Registermode sind. Wenn
die zweiten Operanden nicht von.der Registermode sind, ist der Stufenablauf nicht der in Fig. 9 gezeigte, sondern
der Stufenablauf ist vielmehr gleichartig dem in Fig. 6 gezeigten Stufenablauf.
Es sei nun unter Bezugnahme auf Fig. 9 die Ausführung der Anweisungen erläutert. Im ersten Zyklus (t.) werden die
Daten (die Anweisung) auf der Adresse, welche die Änwei-
sung 1(1) enthält, abgerufen (IF^ '). Im nächsten Zyklus
(t2) werden der Operationscode und der Operandenspezifizierer
des ersten Operanden der Anweisung 1(1) decodiert. Wenn das Feld RD des DCS 5o3 eine "1" enthält, und der
RD-DEC 5o6 in der DU 5oo feststellt, daß die Adressierungsart des Operandenspezifizierers des zweiten Operanden,
der dem Operandenspezifizlerer des ersten Operanden
folgt, die Registermode ist, liest der RD-DEC 5o6 eine Registeradresse von dem Operandenspezifizierer des zweiten
Operanden aus und gibt sie in das ARR 61ο in der AU
6oo, damit die beiden Operandenspezifizierer gleichzeitig
(1)
decodiert werden (D1 & D2v ). Im nächsten Zyklus (t.,) berechnet die AU 6oo die Adresse des ersten Operanden der Anweisung 1(1) (A1 ) auf der Basis des Decodierergebnisses und überträgt die berechnete Adresse zu der OFU 7oo und überträgt eine Registeradresse des zweiten Operanden
decodiert werden (D1 & D2v ). Im nächsten Zyklus (t.,) berechnet die AU 6oo die Adresse des ersten Operanden der Anweisung 1(1) (A1 ) auf der Basis des Decodierergebnisses und überträgt die berechnete Adresse zu der OFU 7oo und überträgt eine Registeradresse des zweiten Operanden
130063/0792
der Anweisung 1(1) zum ORR 7o9 in der OFU 7oo. In dem
gleichen Zyklus t- decodiert die DU 5oo die Anweisung
1(2) (Dl & D2V ') in der gleichen Weise wie im Zyklus t2·
Im nächsten Zyklus ("t.) ruft die OFU 7oo den ersten Operanden
der Anweisung 1(1) (0F1v ') ab und überträgt die
Registeradresse des zweiten Operanden der Anweisung 1(1) zur EU 8oo. In dem gleichen Zyklus t. berechnet die AU
6oo die Adresse des ersten Operanden der Anweisung 1(2)
(2)
(A 1 ') und überträgt die Adresse zur OFU 7oo und über-
•jo trägt außerdem die Registeradresse des zweiten Operanden
der Anweisung 1(2) zur OFU 7oo. In dem gleichen Zyklus t.
(2) decodiert die DU 5oo die Anweisung 1(3) (D1 & D2v ') in
dar gleichen Weise wie die Decodierung der Anweisung 1(1) im Zyklus t2· Im nächsten Zyklus Ct5) empfängt die EU 800
die Registeradressen des ersten Operanden der Anweisung I (T) und des zweiten Operanden der Anweisung 1(1) von der
OFU 7oo zur Ausführung der Anweisung 1(1) (Ev ')· In dem
gleichen Zyklus te ruft die OFU 7oo den ersten Operanden
17)
der Anweisung 1(2) ab (0F1 ) und überträgt die Registeradresse des zweiten Operanden der Anweisung 1(2) zur EU
der Anweisung 1(2) ab (0F1 ) und überträgt die Registeradresse des zweiten Operanden der Anweisung 1(2) zur EU
800. In dem gleichen Zyklus t« berechnet die AU 6oo eine
13) Adresse des ersten Operanden der Anweisung 1(3) (A1v ')
und überträgt die Adresse zur OFU 7oo und überträgt außerdem eine Registeradresse des zweiten Operanden der Anweisung
1(3) zur OFU 7oo. In den folgenden Zyklen tg und tj
werden gleichartige Vorgänge ausgeführt. Obwohl der effektive Adressenberechnungszyklus für den Operanden und der
Operandenabrufzyklus in dem Beispiel der Fig. 9 jeweils
in einem Zyklus beendet sind, kann der effektive Adressenberechnungszyklus
auch nicht in einem Zyklus beendet sein, was von der Adressierungsart abhängt, oder es kann
eine Mehrzahl von Zyklen erforderlich sein, wenn erforderliche Daten nicht in dem BM2 3o4 im Operandenabrufzyklus
enthalten sind und von dem MM 3o1 abgerufen werden müssen. Demgemäß können verschiedene Anweisungsflüsse und
130063/0792
Ausführungsvorgänge einbezogen sein.
Die Fig. 1o zeigt einen Stufenablauf, der einen Anweisungsfluß
und die Ausführung der Anweisungen veranschaulicht, wenn die gleiche Art von Dreioperanden-Anweisungen
fortlaufend ausgefi'hrt wird. Entsprechend der Fig. 9 sind in Fig. 1o drei Anweisungen 1(1), 1(2) und 1(3) dargestellt.
Außerdem ermöglicht entsprechend der Fig. 9 jede der Anweisungen eine gleichzeitige Decodierung von zwei
■]O Operandenspezifizierern in einem Decodierzyklus eines
Operanden, der dem letzten Operanden vorhergeht, wenn der letzte Operand von Registermode ist. Die Fig. To
zeigt den Stufenablauf, wenn der letzte Operand (der dem dritten Operanden entspricht) von Registermode ist. Wenn
der dritte Operand nicht von Registermode ist, ist der Stufenablauf nicht der gleiche, wie in Fig. 1o zeigt,
sondern der Stufenablauf entspricht vielmehr dem in Fig. 7 gezeigten. In den beiden Operandenanweisungen, die in
Fig. 9 dargestellt sind, werden zwei Operandenspezifizierer
in dem Decodierzyklus für den Operandenspezifizierer
des ersten Operanden decodiert, jedoch werden in dem Dreioperanden-Anweisungen, die in Fig. 1o dargestellt
sind, zwei Operandenspezifizierer in dem Decodierzyklus für den Operandenspezifizierer des zweiten Operanden decodiert.
Dieser Unterschied ergibt sich aufgrund der Tatsache, daß der Operand, der dem letzten Operanden vorangeht,
der erste Operand in den Zweioperanden-Anweisungen ist, während es der zweite Operand in den Dreioperanden-Anweisungen
ist, und das ist kein wesentlicher Unterschied.
Obwohl die Vorgänge für die Zweioperanden-Anweisungen und die Dreioperanden-Anweisungen in Fig. 9 bzw. 1o dargestellt
worden sind, sei darauf hingewiesen, daß bei den Anweisungen, die vier oder mehr Operanden haben, die
beiden Operandenspezifizierer gleichzeitig in dem Deco-
130083/0792
dierzyklus des Operandenspezifizierers des Operanden, der dem letzten Operanden der Anweisung vorhergeht, decodiert
werden können,wenn der letzte Operand von der Registermode
ist. Eine Kombination von Anweisungen, die unterschiedliehe
Anzahlen von Operanden haben, kann in entsprechender Weise ausgeführt werden.
Es sei hier darauf hingewiesen, daß der Begriff "Pipelinesteuerung",
der an sich einen speziellen, nichtübersetzba-
To ren Begriff der Rechnersprache darstellt und hilfsweise
durch den Begriff der"zeitlich versetzten SihmItansteuerung"
eingedeutscht worden ist, eine Art der fortgeschrittenen Steuerung für Hochgeschwindigkeitsrechner bezeichnet.
Diese Bezeichnung kommt von der Tatsache, daß jeweilige
•j 5 Schritte von Anweisungen eines Programms (Fluid) aufeinanderfolgend
und gleichzeitig (Strömungen in einer Pipeline bzw. Rohrleitung) ausgeführt werden. Beispielsweise werden
die Ausführung einer ersten Anweisung, die Adressenmodifizierung
einer zweiten Anweisung und der Operandenabruf einer Wortanweisung gleichzeitig ausgeführt. Die entsprechenden
anderen Begriffe im Zusammenhang mit dem Begriff "Pipeline" sind entsprechend der vorstehenden Erläuterung
aufzufassen. So ist unter einer "Pipelinedatenverarbeitung" bzw. "Pipelineverarbeitung11 insbesondere eine "zeitlieh
versetzte Simultanverarbeitung" bzw. "zeitlich versetzte Simultandatenverarbeitung" zu verstehen, während
mit dem Begriff der "pipelinegesteuerten Datenverarbeitungseinheit"
insbesondere eine "zeitlich versetzt simultangesteuerte Datenverarbeitungseinheit" gemeint ist und
der Begriff des "Verarbeitens einer Mehrzahl von Operanden in Pipelines" insbesondere "das Verarbeiten einer
Mehrzahl von Operanden in zeitlich versetzter Simultanverarbeitungsweise" bezeichnen soll. So läßt sich die Er-"
findung, die auch als "Datenyerarbeitungseinheit mit pipelineartigen bzw. in pipelineverarbeiteten Operanden"
130063/0792
bezeichnet werden kann, insbesondere dahingehend eingedeutscht charakterisieren, daß es sich um eine "Datenverarbeitungseinheit
für zeitlich versetzt simultan ver arbeitbare Operanden bzw. zur zeitlich versetzten simul
tanen Verarbeitung von Operanden" handelt.
130063/0792
Leerseite
Claims (1)
- SCHIFF v.FÜNER STREHL SCH ÜBEL-HOPF EBBINGHAUS FINCKMARJAHILFPLAT2 5*3, MÜNCHEN OO
POSTADRESSE: POSTFACH ΘΒ OI 6O. D-8OOO MÜNCHEN SS *3 1 "1 Q 1J /ALSO PROFESSIONAL REPRESENTATIVES BEFORE THE EUROPEAN PATENT OFFICEKARL I.UDWI3 »CHIFF <1βθ4-197Β)DIPL. CHEM. DR. ALEXANDER -/. FUNSRDIPL. INO. PE-TER ÜTREHLDIPL. OHEM. OR. UHSULA SCHÜBEL· HOPFDIPL. INS, CJIETe" F.BSINSHAUSDR. INB. DIETER FINCK7 ELEf=ON (OBß) <t8 2O 04TELEX B-23O65 AURO DTELEGRAMME AUP-OMAROPAT MÜNCHENHITACHI, LTD. . DEA-I49o5 SP/BR18. Mai 1981üatenverarbeitungseinheitPatentansprücheJ Datenverarbeitungseinheit zum Ausführen von Anweisungen variabler Länge, in denen Operandenspezifizierer zum Spezifizieren von Adressierungsarten von Operanden unabhängig von Operationscodes zum Bestimmen von Operationen sind, gekennzeichnet durch:(A) eine Anweisungsabrufeinriehfcung (4oo), die mit einer Speichereinrichtung (3o3) zum Speichern von Anweisungen und Operanden verbunden ist; wobei diese Anweisungsabrufeinriehtung (4oo) folgendes aufweist:(a) eine Anweisungsvorabrufeinrichtung (4o4) zum Vorabrufen und Zurückhalten von Anweisungen von der Speichereinrichtung (3o3), und(b) eine Anweisungsausrichtungseinrichtung (4o2) zum Ausrichten wenigstens eines Operandenspezifizie-130063/0792rers in einem Maschinenzyklus von der Anweisungsvorabrufeinrichtung [AoA);(B) eine Decodierungseinrichtung (5oo), die mit der Anweisungsabrufeinrichtung (4oo) verbunden ist; wobei die Decodierungseinrichtung (5oo) folgendes aufweist:(a) eine Operationscode-Decodierungseinrichtung (5o6), die mit der Anweisungsausrichtungseinrichtung verbunden ist/ wobei die Operationscode-Decodierungseinrichtung (5o6) die Operandenspezifizierer bestimmt, die in der Anweisung enthalten sind, welche durch die Anweisungsausrichtungseinrichtung (4o2) ausgerichtet worden ist, sowie die Funktion der Anweisung bestimmt, und(b) eine Operandenspezifizierer-Decodierungseinrichtung (5o5), die mit der Anweisungsausrichtungseinrichtung verbunden ist, wobei die Operandenspezifizierer-Decodiereinrichtung (5o5) den Operandenspezifizierer decodiert, der mittels der Anweisungsausrichtungseinrichtung (4o2) in dem gleichen Maschinenzyklus ausgerichtet worden ist; und(C) eine Adressenberechnungseinrichtung (6oo), die mit der Decodierungseinrichtung (5oo) verbunden ist; wobei die Adressenberechnungseinrichtung (6oo) eine effektive Adresse des Operanden gemäß Information von einem Operationscode und Operandenspezifizierern, die durch die Decodierungseinrichtung (5oo) in dem vorherigen Maschinenzyklus decodiert .worden sind, berechnet; so daß dadurch die Anweisungsabrufeinrichtung (4oo), die Decodierungseinrichtung (5oo) und die Adressenberechnungseinriehtung (6oo) ihre Prozesse parallel ausführen können, sowie die Decodierungseinrichtung (5oo) und die Adressenberechnungseinrichtung (6oo) ihre Prozesse für jeden Operandenspezifizierer ausführen.2. Datenverarbeitungseinheit nach Anspruch 1, dadurch130063/0792gekennzeichnet / daß die Anweisungsvorabrufeinrichtung (4o4) folgendes aufweist:(a) eine Anweisungspuffereinrichtung (4o1), die mit der Speichereinrichtung (3o3) verbunden ist; wobei die Anweisungspuffereinrichtung (4o1) Anweisungen zurückhält, die von der Speichereinrichtung (3o3) vorabgerufen worden sind; und(b) einen Abrufzeiger (4o4), der mit der Speichereinrichtung (3o3) verbunden ist; wobei der Abrufzeiger (4o4) der Speichereinrichtung (3o3) eine Adresse einer Anweisung zeigt, die zu der Anweisungspuffereinrichtung (4o1) vorabgerufen werden soll.3. Datenverarbeitungseinheit nach Anspruch 2, d a -durch gekennzeichnet, daß die Anweisungsausrichtungseinrichtung (4o2) folgendes umfaßts(a) einen Decodierzeiger (51 o), welcher eine vorlaufende Adresse zeigt, die decodiert werden soll; und(b) eine Ausrichtungseinrichtung (5o8), die mit der Anweisungspuffereinrichtung (4o1) und dem Decodierzeiger (51o) verbunden istj wobei die Ausrichtungseinrichtung (5o8) fortlaufende Daten ausrichtet, und zwar von der Adresse der Anweisungspuffereinrichtung (41o), die ihr von dem Decodierzeiger (51o) gezeigt worden sind, derart, daß die Daten wenigstens einen Operandenspezifizierer aufweisen.4. Datenverarbeitungseinheit nach Anspruch 2 oder 3, dadurch gekennzeichnet, daß die Anweisungsvorabrufeinrichtung weiter folgendes aufweist: eine Anweisungsabrufsteuereinrichtung (4o3), die mit der Speichereinrichtung (3o3) verbunden ist; wobei die Anweisungssteuereinrichtung (4o3) eine Anweisung von dem Speicher (3o3) vorabruft,,wenn die Anweisungspuffereinrichtung (4o1) einen freien Bereich hat.130063/0792-A-5. Datenverarbeitungseinheit nach Anspruch 2, 3 oder 4, dadurch gekennzeichnet, daß- die Anweisungsaüsrichtungseinrichtung folgendes aufweist:(a) einen Decodierzeiger (51o) zum Zeigen einer vorlaufenden Adresse, die decodiert werden soll; und(b) eine Ausrichtungseinrichtung (5o8), die mit der Anweisungspuffereinrichtung (4o1) und dem Decodierzeiger (5To) verbunden ist; wobei die Ausrichtungseinrichtung (5o8) fortlaufende Daten ausrichtet, und zwar von der Adresse der Anweisungspuffereinrichtung (4o1), die ihr durch den Decodierzeiger (51o) gezeigt worden sind, derart, daß diese Datenoperationscodes und wenigstens einen Operandenspezifizierer in einem ersten Decodierzyklus einer An-Weisung enthalten, und wenigstens einen Operandenspezifizierer in dem nachfolgenden Decodierzyklus der Anweisung.6. Datenverarbeitungseinheit nach Anspruch 3, 4 oder 5, dadurch. gekennzeichnet, daß die Ausrichtungseinrichtung (5o8) einen Mehrbitverschieber aufweist, der eine Mehrzahl von Bits gleichzeitig verschieben kann, wobei die Anzahl, wieviel Male verschoben worden ist, mittels des Decodierzeigers (51o) angezeigt wird.7. Datenverarbeitungseinheit nach Anspruch 4, 5 oder 6, dadurch gekennzeichnet, daß die Anweisungsabrufsteuereinrichtung (4o3) weiter mit der Decodiereinrichtung (5oo) verbunden ist, um eine vorabgerufene Datenlänge in der Anweisungspuffereinrichtung (4o1) mit einer Datenlänge, die zum Decodieren notwendig ist, zu vergleichen, um die Erlaubnis zum Decodieren an die Decodiereinrichtung (5oo) zu geben.130083/07928, Datenverarbeitungseinheit nach Anspruch 7, dadurch gekennzeichnet, daß die Decodiereinrichtung (5oo) weiter folgendes aufweist;·(a) eine Decodierlängenberechnungseinrichtung (513),die mit der Anweisungsabrufsteuereinrichtung (4o3) verbunden ist; wobei die Decodierlängenberechnungseinrichtung (513) die Länge der Anweisung berechnet, die zum Decodieren erforderlich ist, und die berechnete Länge an die Anweisungsabrufsteuereinrichtung· (4o3) liefert; und(b) eine Decodiersteuereinrichtung (5o9), die mit der Anweisungsabrufsteuereinrichtung (4o3) und der Adressenberechnungseinrichtung (6oo) verbunden ist; wobei die Decodiersteuereinrichtung (5o9) Signale von der Anweisungsabrufsteuereinrichtung (4o3) und der Adressenberechnungseinrichtung (6oo) erhält, um eine Gesamtoperation der Decodiereinrichtung (5oo) zu steuern.9. Datenverarbeit'ungseinheit nach Anspruch 8, dadurch gekennzeichnet, daß die Adressenberechnungseinrichtung (6oo) folgendes aufweist:(a) eine Decodierergebnis-Zurückhaltungseinrichtung, die mit der Decodiereinrichtung (5oo) verbunden ist; wobei die Decodierergebnis-Zurückhaltungseinrichtung Information, die mittels der Decodiereinrichtung (5oo) decodiert worden ist, zurückhält;(b) eine Berechnungseinrichtung (6o9), die mit der Decodierergebnis-Zurückhaltungseinrichtung verbunden ist; wobei die Berechnungseinrichtung (6o9) eine Ausführungsadresse eines Operanden berechnet, und zwar basierend auf der Information von der Decodierergebnis-Zurückhaltungseinrichtungj und (c) eine Adressenberechnungssteuereinrichtung (6o3),130063/0792— Ό *™die mit der Decodiersteuereinrichtung (5o9) verbunden ist? wobei die Adressenberechnungssteuereinrichtung (6o3); operativ ist, wenn ein Decodierergebnis für wenigstens einen Operandenspezifizierer in die Decodierergebnis-Zurückhaltungseinrichtung eingegeben wird/ um zu bewirken, daß die Berechnungseinrichtung (6o9) die effektive Adresse des Operanden basierend auf dem Decodierergebnis berechnet und der Decodiersteuereinrichtung (5o9) Information liefert, die anzeigt, ob das Decodierergebnis in die Decodierergebnis-Zurückhaltungseinrichtung eingegeben werden kann.10. Datenverarbeitungseinheit nach Anspruch 8, d a -durch gekennzeichnet, daß die Decodier längenberechnungs einrichtung (513) die Summe aus der Länge des Operationscodes und der Länge des Operandenspezifizierers des ersten Operanden, der dem Operationscode folgt, wenn der Operationscode in dem Decodierprozeß enthalten ist, berechnet; und daß sie die Länge des Operandenspezifizierers berechnet, wenn der Operationscode nicht in dem Decodierprozeß enthalten ist; und daß sie die berechnete Länge an die Anweisungsabrufsteuereinrichtung (4o3) liefert.11. Datenverarbeitungseinheit nach Anspruch 9, dadurch gekennzeichnet, daß die Decodierergebnis-Zurückhaltungseinrichtung folgendes aufweist:(a) eine Steuerdatensignal-Speichereinrichtung (613) zum Festhalten von Steuerdaten, die zum Berechnen der Adresse notwendig sind;(b) eine Registeradressensignal-Speichereinrichtung (6o5) zum Festhalten von Registeradressen, die in dem Operandenspezifizierer enthalten sind;130063/0792(c) eine Verschiebungssignal-Speichereinrichtung (6TT) zum Festhalten der Verschiebung, der Literaldaten und absoluten Adresse, die in dem Operandenspezifizierer enthalten sind; und(d) eine Adressenberechnungsstartsignal-Signalspeichereinrichtung (6o6) zum Festhalten eines Signals, das den Start der Adressenberechnung des Operanden basierend auf dem Decodierergebnis anzeigt.12. Datenverarbeitungseinheit nach Anspruch 8, dadurch gekennzeichnet, daß die Decodiereinrichtung (5oo) weiter folgendes aufweist; eine Adressenberechnungsprogrammzählwert-Berechnungseinrichtung (514), die mit der Anweisungsabrufeinrichtung (4oo) und der Adressenberechnungseinrichtung (6oo) verbunden ist; wobei die Adressenberechnungsprogrammzählwert-Berechnungseinrichtung (514) einen Programmzählwert berechnet, welcher in der Adressenberechnung in einer Programmrelativart bzw. -mode des zu decodierenden Operandenspezifizierers verwendet wird, und zwar basierend auf den Decodierergebnissen der Operationscode-Decodiereinrichtung (5o6) und der Operandenspezifizierer-Decodiereinrichtung (5o5) und der Information der vorlaufenden Adresse e die von dem Decodier zeiger (51 o) decodiert x^erden soll, und den berechneten Zählwert an die Adressenberechnungseinrichtung (6oo) liefert.13. Datenverarbeitungseinheit nach einem der Ansprüche T bis 12, insbesondere nach Anspruch 1 oder 3f dadurch gekennzeichnet, daß die Decodiereinrichtung (5oo) weiter folgendes aufweist: (a) eine Decodierzeigeraktualisierungs- bzw. -fortschreibeeinrichtung (512), die mit dem Decodierzeiger (51o) verbunden ist; wobei die Decodierzei-130063/0792ν ν**— Q —geraktuälisierungs- bzw. fortschreibeeinrichtung (512) zu dem Inhalt des Decodierzeigers (51o) die Länge der im Decodierzyklus decodierten Anweisung hinzufügt und die resultierende Summe dem Decodierzeiger (51o) als eine vorlaufende Adresse, die als nächstes zu decodieren ist, einstellt bzw. setzt; und(b) eine Anweisungslängenberechnungseinrichtung (513), die mit der Operationscode-Decodiereinrichtung (5o6) und der Operandenspezifizierer-Decodiereinrichtung (5o5) verbunden ist; wobei die Anweisungslängenberechnungseinrichtung (513) eine Summe aus der Länge des Operationscodes und der Länge eines Operandenspezifizierers eines ersten Operanden, welcher dem Operationscode in einem Decodierzyklus folgt, der den Operationscode enthält, berechnet, sowie die Lange des Operandenspezifizierers in einem Decodierzyklus, der keinen Operationscode enthält, berechnet, und die berechnete Länge der Decodierzeigeraktualisierungs- bzw. -fortschreibeeinrichtung (512) als decodierte Anweisungslänge liefert.14. Datenverarbeitungseinheit nach einem der Ansprüche 1 bis 13, dadurch gekennzeichnet, daß die Operandenspezifizierer-Decodiereinrichtung (5o5) folgendes aufweist:(a) eine erste Operandenspezifizierer-Decodiereinrichtung zum Decodieren des Operandenspezifizierers, der mittels der Anweisungsausrichtungseinrichtung (4o2) ausgerichtet worden ist; und(b) eine zweite Operandenspezifizierer-Decodiereinrichtung zum Decodieren des nächsten fortlaufenden Operandenspezifierers, welcher auf den von der ersten Operandenspezifizierer-Decodiereinrichtung decodierten Operandenspezifizierer folgt.130063/079215. Datenverarbeitungseinheit nach einem der Ansprüche 1 bis 14, insbesondere nach Anspruch 1 oder 14, dadurch gekennzeichnet, daß die Operationscode-Decodiereinrichtung (5ö6) eine Simultandecodierzulassungseinrichtung zum Abgeben eines Signals zur Ermöglichung einer gleichzeitigen Decodierung von zwei Operanden aufweist; wobei dieses Zulassungssignal der zweiten Operandenspezifizierer-Decodiereinrichtung zugeführt wird; und wobei diese zweite Operandenspezifizierer-Decodiereinrichtung den nächsten fortlaufenden Operandenspezifizierer decodiert, der auf den Operandenspezif izierer folgt, welcher durch die erste Operandenspezif izierer-Decodiereinrichtung decodiert worden ist, und zwar nur dann, wenn ihr das Zulassungssignal zugeführt wird.16. Datenverarbeitungseinheit nach Anspruch 15/ dadurch gekennzeichnet, daß die Simultandecodierzulassungseinrichtung das Zulassungssignal nur dann liefert, wenn der Operandenspezifizierer, der mittels der zweiten Operandenspezifizierer-Decodiereinrichtung decodiert worden ist, eine Registerbezeichnungsart ist.17. Datenverarbeitungseinheit nach einem der Ansprüche 8 bis 16, dadurch gekennzeichnet, daß die Instruktionslängenberechnungseinheit {513) operativ ist, wenn die gleichzeitige Decodierung von zwei Operanden ermöglicht wird, indem sie weiter die Länge des Operandenspezifizierers der Registerbezeichnungsart addiert und die resultierende Summe der Anweisungssteuereinrichtung zuführt.18. Datenverarbeitungseinheit nach einem der Ansprüche 13 bis 17, dadurch gekennzeichnet,130063/0792-1ο-daß die AnweisiyöigslängenbereGhnungseinrichtung (513) operativ ist/ wenn die gleichzeitige Decodierung der beiden Operanden ermöglicht wird, indem sie weiter die Länge des Opejrändenspezifizierers der Registerbezeichnungsart addiert und die resultierende Summe der Decodierzeigeraktualisierungsbzw. -fortschreibeeinrichtung (512) zuführt.130063/0792
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6526780A JPS56162153A (en) | 1980-05-19 | 1980-05-19 | Pipeline control system |
JP13983580A JPS5764848A (en) | 1980-10-08 | 1980-10-08 | Processor of pipeline control data |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3119741A1 true DE3119741A1 (de) | 1982-01-21 |
DE3119741C2 DE3119741C2 (de) | 1986-10-16 |
Family
ID=26406393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3119741A Expired DE3119741C2 (de) | 1980-05-19 | 1981-05-18 | Datenverarbeitungseinheit |
Country Status (5)
Country | Link |
---|---|
US (1) | US4454578A (de) |
KR (1) | KR850001015B1 (de) |
CA (1) | CA1174370A (de) |
DE (1) | DE3119741C2 (de) |
GB (1) | GB2077965B (de) |
Families Citing this family (96)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58129550A (ja) * | 1982-01-27 | 1983-08-02 | Toshiba Corp | 演算制御装置 |
JPS58146941A (ja) * | 1982-02-26 | 1983-09-01 | Hitachi Ltd | マイクロプログラム制御デ−タ処理装置 |
JPS58149548A (ja) * | 1982-03-02 | 1983-09-05 | Hitachi Ltd | メモリ制御方式 |
JPS592143A (ja) * | 1982-06-29 | 1984-01-07 | Hitachi Ltd | 情報処理装置 |
US4858176A (en) * | 1982-10-13 | 1989-08-15 | Honeywell Bull Inc. | Distributor of machine words between units of a central processor |
JPS59231652A (ja) * | 1983-06-13 | 1984-12-26 | Hitachi Ltd | メモリアクセス・オ−バラツプ検出方式 |
WO1985000453A1 (en) * | 1983-07-11 | 1985-01-31 | Prime Computer, Inc. | Data processing system |
US4800486A (en) * | 1983-09-29 | 1989-01-24 | Tandem Computers Incorporated | Multiple data patch CPU architecture |
JPS60107141A (ja) * | 1983-11-16 | 1985-06-12 | Fujitsu Ltd | プランチ制御方式 |
JPS60120439A (ja) * | 1983-12-05 | 1985-06-27 | Nec Corp | 演算処理装置 |
AU553416B2 (en) * | 1984-02-24 | 1986-07-17 | Fujitsu Limited | Pipeline processing |
US4742451A (en) * | 1984-05-21 | 1988-05-03 | Digital Equipment Corporation | Instruction prefetch system for conditional branch instruction for central processor unit |
US4763255A (en) * | 1984-10-31 | 1988-08-09 | International Business Machines Corporation | Method for generating short form instructions in an optimizing compiler |
JPH0752390B2 (ja) * | 1985-05-07 | 1995-06-05 | 株式会社日立製作所 | 命令処理装置 |
US5187782A (en) * | 1986-02-26 | 1993-02-16 | Hitachi, Ltd. | Data processing system |
JP2554050B2 (ja) * | 1986-02-26 | 1996-11-13 | 株式会社日立製作所 | デ−タ処理方法 |
EP0239081B1 (de) * | 1986-03-26 | 1995-09-06 | Hitachi, Ltd. | Datenprozessor in Pipelinestruktur mit der Fähigkeit mehrere Befehle parallel zu dekodieren und auszuführen |
JPS62226231A (ja) * | 1986-03-27 | 1987-10-05 | Toshiba Corp | プロセツサ |
JPS62226232A (ja) * | 1986-03-28 | 1987-10-05 | Toshiba Corp | 分岐先アドレス算出回路 |
US4890218A (en) * | 1986-07-02 | 1989-12-26 | Raytheon Company | Variable length instruction decoding apparatus having cross coupled first and second microengines |
US4811214A (en) * | 1986-11-14 | 1989-03-07 | Princeton University | Multinode reconfigurable pipeline computer |
US5115497A (en) * | 1987-10-01 | 1992-05-19 | California Institute Of Technology | Optically intraconnected computer employing dynamically reconfigurable holographic optical element |
US4882673A (en) * | 1987-10-02 | 1989-11-21 | Advanced Micro Devices, Inc. | Method and apparatus for testing an integrated circuit including a microprocessor and an instruction cache |
JP2752076B2 (ja) * | 1988-02-23 | 1998-05-18 | 株式会社東芝 | プログラマブル・コントローラ |
US4974146A (en) * | 1988-05-06 | 1990-11-27 | Science Applications International Corporation | Array processor |
US5031096A (en) * | 1988-06-30 | 1991-07-09 | International Business Machines Corporation | Method and apparatus for compressing the execution time of an instruction stream executing in a pipelined processor |
US5101341A (en) * | 1988-08-25 | 1992-03-31 | Edgcore Technology, Inc. | Pipelined system for reducing instruction access time by accumulating predecoded instruction bits a FIFO |
US5269008A (en) * | 1988-10-04 | 1993-12-07 | Mitsubishi Denki Kabushiki Kaisha | Method and apparatus for pre-processing the source of a pop instruction in a pipeline computer |
JPH0769806B2 (ja) * | 1988-10-14 | 1995-07-31 | 三菱電機株式会社 | データ処理装置 |
US5333287A (en) * | 1988-12-21 | 1994-07-26 | International Business Machines Corporation | System for executing microinstruction routines by using hardware to calculate initialization parameters required therefore based upon processor status and control parameters |
US5099421A (en) * | 1988-12-30 | 1992-03-24 | International Business Machine Corporation | Variable length pipe operations sequencing |
EP0461257B1 (de) * | 1989-01-17 | 1997-04-23 | Fujitsu Limited | Ablaufsteuerung zur decodierung von befehlen variabler länge für ein mikroprozessor |
US5142633A (en) * | 1989-02-03 | 1992-08-25 | Digital Equipment Corporation | Preprocessing implied specifiers in a pipelined processor |
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 |
US5148528A (en) * | 1989-02-03 | 1992-09-15 | Digital Equipment Corporation | Method and apparatus for simultaneously decoding three operands in a variable length instruction when one of the operands is also of variable length |
US5019965A (en) * | 1989-02-03 | 1991-05-28 | Digital Equipment Corporation | Method and apparatus for increasing the data storage rate of a computer system having a predefined data path width |
US5167026A (en) * | 1989-02-03 | 1992-11-24 | Digital Equipment Corporation | Simultaneously or sequentially decoding multiple specifiers of a variable length pipeline instruction based on detection of modified value of specifier registers |
US5109495A (en) * | 1989-02-03 | 1992-04-28 | Digital Equipment Corp. | Method and apparatus using a source operand list and a source operand pointer queue between the execution unit and the instruction decoding and operand processing units of a pipelined data processor |
US5067069A (en) * | 1989-02-03 | 1991-11-19 | Digital Equipment Corporation | Control of multiple functional units with parallel operation in a microcoded execution unit |
KR0163179B1 (ko) * | 1989-03-31 | 1999-01-15 | 미다 가쓰시게 | 데이타 프로세서 |
GB2230116B (en) * | 1989-04-07 | 1993-02-17 | Intel Corp | An improvement for pipelined decoding of instructions in a pipelined processor |
JP2505887B2 (ja) * | 1989-07-14 | 1996-06-12 | 富士通株式会社 | 命令処理システム |
DE69032897T2 (de) * | 1989-08-28 | 1999-08-26 | Nec Corp | Mikroprozessor zum verbesserten Startvorgang der Befehlsausführung nach der Ausführung eines bedingten Verzweigungsbefehls |
JPH0395629A (ja) * | 1989-09-08 | 1991-04-22 | Fujitsu Ltd | データ処理装置 |
CA2037708C (en) * | 1990-05-04 | 1998-01-20 | Richard J. Eickemeyer | General purpose compound apparatus for instruction-level parallel processors |
JP2847974B2 (ja) * | 1991-01-21 | 1999-01-20 | 三菱電機株式会社 | データ処理装置 |
JP2646855B2 (ja) * | 1991-01-21 | 1997-08-27 | 三菱電機株式会社 | データ処理装置 |
JPH04260929A (ja) * | 1991-01-21 | 1992-09-16 | Mitsubishi Electric Corp | データ処理装置 |
JP2668456B2 (ja) * | 1991-01-22 | 1997-10-27 | 三菱電機株式会社 | ビット検索回路及びそれを備えたデータ処理装置 |
JP2669158B2 (ja) * | 1991-01-22 | 1997-10-27 | 三菱電機株式会社 | データ処理装置 |
JP2970821B2 (ja) * | 1991-08-21 | 1999-11-02 | 松下電器産業株式会社 | データ処理装置 |
JP3547740B2 (ja) * | 1992-03-25 | 2004-07-28 | ザイログ,インコーポレイテッド | 命令高速解読パイプラインプロセッサ |
US5438668A (en) * | 1992-03-31 | 1995-08-01 | Seiko Epson Corporation | System and method for extraction, alignment and decoding of CISC instructions into a nano-instruction bucket for execution by a RISC computer |
US5371864A (en) * | 1992-04-09 | 1994-12-06 | International Business Machines Corporation | Apparatus for concurrent multiple instruction decode in variable length instruction set computer |
DE69329778T2 (de) * | 1992-09-29 | 2001-04-26 | Seiko Epson Corp | System und verfahren zur handhabung von laden und/oder speichern in einem superskalar mikroprozessor |
US6735685B1 (en) * | 1992-09-29 | 2004-05-11 | Seiko Epson Corporation | System and method for handling load and/or store operations in a superscalar microprocessor |
US5706459A (en) * | 1994-01-06 | 1998-01-06 | Fujitsu Limited | Processor having a variable number of stages in a pipeline |
US5592488A (en) * | 1995-06-07 | 1997-01-07 | Micron Technology, Inc. | Method and apparatus for pipelined multiplexing employing analog delays for a multiport interface |
EP0752645B1 (de) * | 1995-07-07 | 2017-11-22 | Oracle America, Inc. | Abstimmbare Softwaresteuerung von Pufferspeichern einer Harvard-Architektur mittels Vorausladebefehlen |
US5809272A (en) * | 1995-11-29 | 1998-09-15 | Exponential Technology Inc. | Early instruction-length pre-decode of variable-length instructions in a superscalar processor |
US5710914A (en) * | 1995-12-29 | 1998-01-20 | Atmel Corporation | Digital signal processing method and system implementing pipelined read and write operations |
US5761468A (en) * | 1996-05-15 | 1998-06-02 | Sun Microsystems Inc | Hardware mechanism for optimizing instruction and data prefetching by forming augmented prefetch instructions |
US5978871A (en) * | 1997-04-14 | 1999-11-02 | International Business Machines Corporation | Method of layering cache and architectural specific functions for operation splitting |
US6061755A (en) * | 1997-04-14 | 2000-05-09 | International Business Machines Corporation | Method of layering cache and architectural specific functions to promote operation symmetry |
US20140325175A1 (en) * | 2013-04-29 | 2014-10-30 | Pact Xpp Technologies Ag | Pipeline configuration protocol and configuration unit communication |
AU5805300A (en) | 1999-06-10 | 2001-01-02 | Pact Informationstechnologie Gmbh | Sequence partitioning in cell structures |
US7376814B1 (en) * | 1999-09-07 | 2008-05-20 | Nxp B.V. | Method for forming variable length instructions in a processing system |
US6701424B1 (en) * | 2000-04-07 | 2004-03-02 | Nintendo Co., Ltd. | Method and apparatus for efficient loading and storing of vectors |
JP4629198B2 (ja) * | 2000-08-18 | 2011-02-09 | 富士通セミコンダクター株式会社 | 演算装置及び演算方法 |
US8058899B2 (en) | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
US9141390B2 (en) | 2001-03-05 | 2015-09-22 | Pact Xpp Technologies Ag | Method of processing data with an array of data processors according to application ID |
US9436631B2 (en) | 2001-03-05 | 2016-09-06 | Pact Xpp Technologies Ag | Chip including memory element storing higher level memory data on a page by page basis |
US9250908B2 (en) | 2001-03-05 | 2016-02-02 | Pact Xpp Technologies Ag | Multi-processor bus and cache interconnection system |
US9411532B2 (en) | 2001-09-07 | 2016-08-09 | Pact Xpp Technologies Ag | Methods and systems for transferring data between a processing device and external devices |
US9552047B2 (en) | 2001-03-05 | 2017-01-24 | Pact Xpp Technologies Ag | Multiprocessor having runtime adjustable clock and clock dependent power supply |
US10031733B2 (en) | 2001-06-20 | 2018-07-24 | Scientia Sol Mentis Ag | Method for processing data |
US9170812B2 (en) | 2002-03-21 | 2015-10-27 | Pact Xpp Technologies Ag | Data processing system having integrated pipelined array data processor |
AU2003289844A1 (en) | 2002-09-06 | 2004-05-13 | Pact Xpp Technologies Ag | Reconfigurable sequencer structure |
US8406786B2 (en) * | 2010-02-25 | 2013-03-26 | Motorola Mobility Llc | Methods and apparatus for extended generic messaging in a networked geolocation system |
US9448796B2 (en) | 2012-06-15 | 2016-09-20 | International Business Machines Corporation | Restricted instructions in transactional execution |
US9367323B2 (en) | 2012-06-15 | 2016-06-14 | International Business Machines Corporation | Processor assist facility |
US9384004B2 (en) | 2012-06-15 | 2016-07-05 | International Business Machines Corporation | Randomized testing within transactional execution |
US8966324B2 (en) | 2012-06-15 | 2015-02-24 | International Business Machines Corporation | Transactional execution branch indications |
US9740549B2 (en) | 2012-06-15 | 2017-08-22 | International Business Machines Corporation | Facilitating transaction completion subsequent to repeated aborts of the transaction |
US9436477B2 (en) | 2012-06-15 | 2016-09-06 | International Business Machines Corporation | Transaction abort instruction |
US9317460B2 (en) | 2012-06-15 | 2016-04-19 | International Business Machines Corporation | Program event recording within a transactional environment |
US8688661B2 (en) | 2012-06-15 | 2014-04-01 | International Business Machines Corporation | Transactional processing |
US9442737B2 (en) | 2012-06-15 | 2016-09-13 | International Business Machines Corporation | Restricting processing within a processor to facilitate transaction completion |
US9361115B2 (en) | 2012-06-15 | 2016-06-07 | International Business Machines Corporation | Saving/restoring selected registers in transactional processing |
US20130339680A1 (en) * | 2012-06-15 | 2013-12-19 | International Business Machines Corporation | Nontransactional store instruction |
US9336046B2 (en) | 2012-06-15 | 2016-05-10 | International Business Machines Corporation | Transaction abort processing |
US8880959B2 (en) | 2012-06-15 | 2014-11-04 | International Business Machines Corporation | Transaction diagnostic block |
US10437602B2 (en) | 2012-06-15 | 2019-10-08 | International Business Machines Corporation | Program interruption filtering in transactional execution |
US9348642B2 (en) | 2012-06-15 | 2016-05-24 | International Business Machines Corporation | Transaction begin/end instructions |
US8682877B2 (en) | 2012-06-15 | 2014-03-25 | International Business Machines Corporation | Constrained transaction execution |
US9772854B2 (en) | 2012-06-15 | 2017-09-26 | International Business Machines Corporation | Selectively controlling instruction execution in transactional processing |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4236206A (en) * | 1978-10-25 | 1980-11-25 | Digital Equipment Corporation | Central processor unit for executing instructions of variable length |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3331056A (en) * | 1964-07-15 | 1967-07-11 | Honeywell Inc | Variable width addressing arrangement |
US3739352A (en) * | 1971-06-28 | 1973-06-12 | Burroughs Corp | Variable word width processor control |
US4109310A (en) * | 1973-08-06 | 1978-08-22 | Xerox Corporation | Variable field length addressing system having data byte interchange |
US4025771A (en) * | 1974-03-25 | 1977-05-24 | Hughes Aircraft Company | Pipe line high speed signal processor |
JPS6055849B2 (ja) * | 1975-12-04 | 1985-12-06 | 株式会社東芝 | 命令制御方式 |
GB2007889B (en) * | 1977-10-25 | 1982-04-21 | Digital Equipment Corp | Central processor unit for executing instructions with a special operand specifier |
US4135242A (en) * | 1977-11-07 | 1979-01-16 | Ncr Corporation | Method and processor having bit-addressable scratch pad memory |
US4200927A (en) * | 1978-01-03 | 1980-04-29 | International Business Machines Corporation | Multi-instruction stream branch processing mechanism |
US4305124A (en) * | 1978-06-09 | 1981-12-08 | Ncr Corporation | Pipelined computer |
JPS6024985B2 (ja) * | 1978-08-31 | 1985-06-15 | 富士通株式会社 | デ−タ処理方式 |
US4298927A (en) * | 1978-10-23 | 1981-11-03 | International Business Machines Corporation | Computer instruction prefetch circuit |
US4241399A (en) * | 1978-10-25 | 1980-12-23 | Digital Equipment Corporation | Calling instructions for a data processing system |
-
1981
- 1981-05-13 CA CA000377496A patent/CA1174370A/en not_active Expired
- 1981-05-14 GB GB8114857A patent/GB2077965B/en not_active Expired
- 1981-05-15 KR KR1019810001672A patent/KR850001015B1/ko active
- 1981-05-18 DE DE3119741A patent/DE3119741C2/de not_active Expired
- 1981-05-19 US US06/265,168 patent/US4454578A/en not_active Ceased
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4236206A (en) * | 1978-10-25 | 1980-11-25 | Digital Equipment Corporation | Central processor unit for executing instructions of variable length |
Non-Patent Citations (2)
Title |
---|
US-IBM Journal of Research and Development, 11, 1967, S. 8-24 * |
US-IBM Journal of Research and Development, 8, 1964, S. 87-97 * |
Also Published As
Publication number | Publication date |
---|---|
US4454578A (en) | 1984-06-12 |
KR830006741A (ko) | 1983-10-06 |
DE3119741C2 (de) | 1986-10-16 |
KR850001015B1 (ko) | 1985-07-18 |
CA1174370A (en) | 1984-09-11 |
GB2077965A (en) | 1981-12-23 |
GB2077965B (en) | 1985-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3119741A1 (de) | Datenverarbeitungseinheit | |
DE69916962T2 (de) | Datenverarbeitungssystem mit bedingter Ausführung von erweiterten Verbundbefehlen | |
DE2903349C2 (de) | Prozessor und Verfahren zur Datenverarbeitung | |
DE69534113T2 (de) | Kompression der Befehlswörter eines Rechners | |
DE68929483T2 (de) | Datenprozessor mit einer Befehlseinheit, die einen Cachespeicher und einen ROM aufweist. | |
DE4301417C2 (de) | Computersystem mit Einrichtung zur parallelen Befehlsausführung | |
DE1549476C3 (de) | Anordnung zur Ausführung von Divisionen | |
DE60032794T2 (de) | Bit-dekompression-verarbeitung mit einem vielseitigen ausrichtungswerkzeug | |
DE2846495A1 (de) | Digitales datenverarbeitungssystem | |
DE2161886A1 (de) | Befehlsausführungssystem in einer elektronischen Datenverarbeitungsanlage | |
DE1549480A1 (de) | Datenverarbeitungsanlage | |
DE1549477B1 (de) | Einrichtung zur schnellen akkumulation einer anzahl mehr stelliger binaerer operanden | |
DE2725522A1 (de) | Datenverarbeitungsvorrichtung | |
DE2230188C2 (de) | Arithmetisch-logische Einheit für einen Digitalprozessor für variable Wortlängen | |
DE3900246A1 (de) | Informationsverarbeitungsvorrichtung | |
DE2336676A1 (de) | Einrichtung zur modifizierung von mikroprogrammbefehlen | |
DE2725614C2 (de) | ||
DE19929051C2 (de) | Registerumbenennungsverfahren für 32- und 64-Bit-Befehle in einem Programm | |
DE2349253C3 (de) | Rechnersystem | |
DE2425574A1 (de) | Adressierung von zeichen in einem wortorientierten system eines rechenautomaten | |
DE2747304B2 (de) | Einrichtung zur Mikrobefehlssteuerung | |
DE1499224A1 (de) | Verfahren und Anordnung zur Datenverarbeitung | |
DE2220329C3 (de) | Schaltungsanordnung zum Umsetzen einer in Gleitkomma-Darstellung ausgedrückten Zahl in eine Festkomma-Darstellung bei elektronischen Rechnern | |
DE2440390A1 (de) | Elektronischer rechner | |
DE2846520C2 (de) |
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 |
|
8128 | New person/name/address of the agent |
Representative=s name: VON FUENER, A., DIPL.-CHEM. DR.RER.NAT. EBBINGHAUS |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |