DE3015876A1 - Anordnung und verfahren zur einen digitalprozessor zur vorauslesung eines operationscodeteils und eines operandenteils eines befehlswortes - Google Patents
Anordnung und verfahren zur einen digitalprozessor zur vorauslesung eines operationscodeteils und eines operandenteils eines befehlswortesInfo
- Publication number
- DE3015876A1 DE3015876A1 DE19803015876 DE3015876A DE3015876A1 DE 3015876 A1 DE3015876 A1 DE 3015876A1 DE 19803015876 DE19803015876 DE 19803015876 DE 3015876 A DE3015876 A DE 3015876A DE 3015876 A1 DE3015876 A1 DE 3015876A1
- Authority
- DE
- Germany
- Prior art keywords
- operand
- memory
- processor
- operation code
- command word
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3824—Operand accessing
- G06F9/383—Operand prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3824—Operand accessing
Description
Beschreibung
Die vorliegende Erfindung betrifft eine Anordnung und ein Verfahren für einen Digitalprozessor zur Vorauslesung
eines Operationscode-Teils und eines Operandenteils eines Befehlswortes unabhängig von der Prozessoroperatxon.
In an sich bekannter Weise enthält ein konventionelles, mit einem Prozessor arbeitendes Computersystem neben einem
Prozessorteil einen Speicherteil zur Speicherung von zu verarbeitender Information sowie einen Eingangs/Ausgangs-Teil
zur Transferierung von Information in das und aus dem System. In einem derartigen konventionellen System wird
Information in Form von Befehlen und Operanden aus dem Speicher bedarfsweise in sequentieller Form unter Steuerung
einesjLm Prozessor vorgesehenen Programmzählers ausgelesen. Ist ein neuer Befehl oder ein Operand erforderlich, so
werden diese aus dem Speicher ausgelesen und für den Prozessor zur Abarbeitung oder einer anderen anstehenden Aktion
verfügbar gemacht. In bestimmten bekannten Systemen sind auch Möglichkeiten vorgesehen, einen nächsten Befehl während
der Abarbeitung eines laufenden Befehls auszulesen.
Dabei ergibt sich ein Problem, wenn es der abzuarbeitende
Befehl erforderlich macht, daß eine zusätzliche Information vor dem Beginn -eines Abarbeitungsschrittes zur Verfügung
stehen muß. Es ist beispielsweise der Fall, wenn während einer arithmetischen Operation ein Wert mit einem ersten
Wert kombiniert werden muß. In derartigen Fällen muß der Prozessor warten, während ein zusätzlicher Speicherzugriff
durchgeführt wird und die Information bereitgestellt wird. Ein derartiges Warten des Prozessors beeinflußt die gesamte
Geschwindigkeit und die Effizienz des Systems wesentlich.
03C044/0892
Der vorliegenden Erfindung liegt die Aufgabe zugrunde, eine Anordnung und ein Verfahren für ein mit einem Prozessor
arbeitendes Computersystem anzugeben, wodurch die gesamte Effizienz des Systems dadurch verbessert werden
kann, daß die Zeit verringert wird, um die der Prozessor für einen nächsten Befehl oder einen nächsten Operanden
warten muß.
Diese Aufgabe wird bei einer Anordnung der eingangs genannten Art erfindungsgemäß durch folgende Merkmale gelöst:
Einen auf den Empfang des Befehlswortes ansprechenden Prozessor zur Ausführung der durch dieses definierten logischen
Operation,
eine dem Speicher zugeordnete Schaltung zur Auslesung eines Operationscode-Teils des Befehlswortes,
eine von der Operation des Prozessors unabhängige und auf den Operationscode ansprechende Schaltung zur Auslesung
eines Operandenteils des Befehlswortes,- und eine Einrichtung zur übertragung des Operationscode-Teils
und des Operandenteils des Befehlswortes zum Prozessor zwecks Verarbeitung.
In Weiterbildung der Erfindung ist bei einem Verfahren zur Vorauslesung eines Operationscode-Teils und eines Operandenteils
eines digitalen Befehlswortes zur nachfolgenden Abarbeitung durch einen digitalen Prozessor vorgesehen,
daß in einem Speicher eine Vielzahl von digitalen Befehlswörtern gespeichert wird, die jeweils eine auszuführende logische
Operation definieren,
daß ein Prozessor auf den Empfang eines digitalen Befehlswortes zur Ausführung einer durch dieses definierten logischen
Operation anspricht,
daß aus dem Speicher ein Operationscode-Teil eines ersten Befehlswortes ausgelesen wird.
030044/0892
daß unabhängig von der Operation des Prozessors und als Funktion des Operationscodes ein Operandenteil des
ersten Befehlswortes ausgelesen wird, und daß der Operationscode-Teil und der Operandenteil
des ersten Befehlswortes zur Abarbeitung auf den Prozessor transferiert wird.
Gemäß der erfindungsgemäßen Anordnung und dem erfindungsgemäßen
Verfahren erfolgt zusammen mit der Abarbeitung eines laufenden Befehls eine Vorauslesung sowohl des nächsten
Befehls und falls zweckmäßig des nächsten Operanden für eine nachfolgende Abarbeitung oder eine andere Aktion
durch den Prozessor.
In Weiterbildung der Erfindung ist ein normalerweise vorgesehener Programmzähler zur Lieferung der Speicheradresse
des nächsten Befehls nicht im Prozessor sondern in einer Speichersteuereinheit angeordnet und von dieser gesteuert,
so daß ein nächster Befehl ohne Mitwirkung des Prozessors ausgelesen werden kann.
Die erfindungsgemäße Anordnung und das erfindungsgemäße
Verfahren dienen dabei zur Vorauslesung sowohl von Befehlen als auch von Operanden zur nachfolgenden Abarbeitung
oder„einer anderen durch einen Digitalprozessor ausgeführten
Aktion. Die erfindungsgemäße Anordnung enthält dabei speziell eine Speichersteuereinheit zur Auslegung des nächsten Befehls
sowie zugehörige Operanden, während der Prozessor einen laufenden Befehl abarbeitet, wobei die Ausleseoperation
unabhängig von der laufenden Abarbeitungsoperation und gleichzeitig mit dieser erfolgt.
Während der Abarbeitung eines laufenden Befehls durch den
Prozessor liest die Speichersteuereinheit automatisch das nächste Befehlswort aus, decodiert den Befehlsteil bzw. den
Q3CQU/0892
Operationscode-Teil des Worts in bestimmte vorgegebene Steuersignale und nutzt die Steuersignale entsprechend aus,
um ein zweites Byte bzw. Wort, das notwendige Operanden enthält, für die Abarbeitung des Befehls. In vielen Fällen
sind sowohl die Ausleseoperation des nächsten Befehls und die Auslegeoperation des Operanden abgeschlossen, bevor
der Prozessor die Abarbeitung des laufenden Befehls abgeschlossen hat. In fast allen Fällen verringert die Vorausleseoperation
die Zeitdauer, für die der Prozessor zu warten hat, bevor der nächste Befehl und der nächste Operand
für die Abarbeitung oder eine andere Aktion verfügbar sind. Es sind weiterhin Maßnahmen zur Einsparung bestimmter Teile
eines vorausgelesenen Befehlswortes vorgesehen, um die Notwendigkeit für einen nachfolgenden Speicherzugriff
auszuschließen, wodurch die Prozessor-Wartezeit weiter reduziert wird.
Die Erfindung wird im folgenden anhand eines in der einzigen Figur der Zeichnung dargestellten Ausführungsbeispiels
näher erläutert.
Die Figur der Zeichnung zeigt ein Blockschaltbild einer erfindungsgemäßen Steuerspeichereinheit, die in einem
Computersystem auf Prozessorbasis inkorporiert ist.
Die Figur zeigt in vereinfachter Blockdarstellung eine
erfindungsgemäße Speichersteuereinheit 20, welche in einem Computersystem auf Prozessorbasis inkorporiert ist. Das
Computersystem enthält einen Prozessorteil 22, einen Hauptspeicherteil 24 sowie einen Eingangs/Ausgangs-Teil 26,
welche in der Figur durch in ausgezogenen Linien dargestellte Datenleitungen und in gestrichelten Linien dargestellten
Steuerleitungen miteinander verbunden sind.
Der Prozessorteil 22 enthält im vorliegenden Ausführungs-
03C044/0892
beispiel folgende Komponenten: einen Festwertspeicher (ROM) 30 zur Speicherung eines oder mehrerer vorcodierter
Mikroprogramme; eine ausreichend ausgelegte Arithmetikschaltung 32 zur Aufnahme von Datenwörtern aus der Speichersteuereinheit
20, zur Durchführung bestimmter vorgewählter logischer Operationen sowie zur Rückübertragung von Datenwörtern
in die Speichersteuereinheit, wobei diese Operationen als Funktion von bestimmten, durch den Festwertspeicher
30 erzeugten Steuersignalen erfolgen; und eine Prozessorsteuerschaltung 34 zur Steuerung der Arbeitsweise des
Festwertspeichers 3 0 und der Arithmetikschaltung 32 in der Weise, daß eine gewünschte logische Operation erzeugt
wird. Die im Festwertspeicher 30 gespeicherte Information umfaßt eine Folge von Mikro-Befehlswörtern, von denen unterschiedliche
sequentielle Gruppen Mikroprogramme bilden, welche einen oder mehrere Makrobefehle des Systembefehlsatzes
implementieren. Als Funktion eines empfangenen MakroBefehlswortes erfolgt ein Zugriff der Prozessorsteuerschaltung
34 sequentiell zu jedem Befehlswort des zugehörigen Mikroprogramms, um eine Folge von Steuersignalen zu erzeugen,
welche die Ausführung einer gewünschten Operation durch die Arithmetikschaltung 32 bewirken. Derartige Prozessorteile
sind ihrer Natur nach konventionell und an sich bekannt.
Der Hauptspeicherteil 24 enthält bei der vorliegenden Ausführungsform
einen Festwertspeicher (ROM) 40, einen Schreib-Lesespeicher (RAM) 42, eine zugehörige Adressierschaltung
44 und eine zugehörige Datenschaltung 46 sowie eine zugehörige Steuerschaltung 48, zu denen ein Zugriff entweder
über die Speichersteuerschaltung 20 oder den Eingangs/Ausgangsteil 26 besteht. Im dargestellten Ausführungsbeispiel
enthält jeder Speichermodul 40 und 42 65.536 (65K) Wörter mit jeweils 8 Bit, wobei jedes Wort durch ein spezielles
16 Bit-Adressenwort und ein entsprechendes Speicherauswahl-
03Ü04A/0892
signal eindeutig identifizierbar ist. Es ist darauf hinzuweisen, daß die Erfindung nicht durch die Kapazität der
Speichermoduln oder die Länge der Speicherwörter begrenzt ist. Der Eingangs/Ausgangsteil 26 kann durch an sich bekannte
Komponenten, wie beispielsweise Kathodenstrahlröhren-Anzeigegeräte, Tastaturschreiber oder Magnetbandgeräte
gebildet werden. Eine Eingabe in das System erfolgt durch Eingabe von Datensignalen in die Datenschaltung 46
und eines entsprechenden Steuersignals in die Speichersteuerschaltung 48, während die Ausgabe durch Übertragung von
Datensignalen von den Speichern 40 und 42 zum Eingangs/-Ausgangs-Teil
mit wiederum einem entsprechenden Steuersignal erfolgt. Sowohldfer Hauptspeicherteil 24 als auch der Eingangs/Ausgangsteil
26 sind konventioneller Natur. Es ist jedoch vorteilhaft, wenn der Speicherteil Information
mit Byte-Überlappung empfangen, speichern und übertragen
kann. Das bedeutet, daß ein tieferes Byte eines ersten 2-Byte-Wortes auch das obere Byte eines nächstfolgenden
2-Byte-Wortes bildet. Ein derartiges Speichersystem ist in einer schwebenden Anmeldung der Anmelderin beschrieben.
Hinsichtlich der Speichersteuereinheit 20, welche die Grundlage vorliegender Erfindung bildet, zeigt die Figur
ein Befehlsregister 60 zur Speicherung und Eingabe eines 8 Bit-Befehlswortes in den Prozessorteil 22, einen Abrufsteuer-Festwertspeicher
(ROM) 62 zur automatischen Transformierung jedes zum Befehlsregister 60 gelieferten Befehlswortes
in 256 mögliche 8 Bit-Steuersignale sowie eine Speichersteuereinheit-Steuerschaltung 64 zur Durchführung
bestimmter vordefinierter Steuerfunktionen als Funktion der durch den Festwertspeicher 62 erzeugten Steuersignale.
Weiterhin ist ein 16 Bit Programmzähler 66 zur Speicherung der Hauptspeicheradresse des nächsten Makro-Befehlswortes,
ein 16 Bit-Eingangsdatenpuffer 68 und ein 16 Bit-Ausgangs-
03Ü044/0892
datenpuffer 7 0 zur Speicherung und Übertragung von Datenwörtern
in den oder aus dem Prozessorteil 22, ein Speicher-Byte-Puffer bzw. ein Register 72 zur Speicherung
der unteren 8 Bits eines 16 Bit-Befehlswortes sowie eine
Null/Vorzeichen-Erstreckungsschaltung 74 vorgesehen. Diese
letztgenannte Schaltung 7 4 dient zur Erzeugung von 8 Bits mit jeweils nur Nullen oder nur Einsen zur selektiven
Kombination mit den im Speicher-Byte-Puffer gespeicherten 8 Bits. Im Rahmen vorliegender Erfindung umfaßt der Begriff
"Befehlswort" ein Speicherwort, das einen Operationscode, einen Operanden oder beides umfaßt.
Der Zugriff zum Hauptspeicherteil 24 erfolgt in zwei voneinander unabhängigen Betriebsarten, und zwar explicit und implicit.
Im explicit-Betrieb erfolgt der Zugriff zum Speicher in konventioneller Weise durch den Prozessorteil 22
in der Art, daß während eines ersten Zeittaktzyklus ein Adressensignal über den Ausgangspuffer 70 und ein entsprechendes
Steuersignal über die Speichersteuereinheit-Steuerschaltung 64 zum Hauptspeicher gesendet wird und während
eines zweiten folgenden Zeittaktzyklus ein Datensignal über den Ausgangspuffer 70 oder den Eingangspuffer 68 gesendet
oder empfangen wird.
Im implicit-Betrieb erfolgt der Speicherzugriff allein unabhängig
und ohne Mitwirkung des Prozessors 22 über die Speichersteuereinheit 20. Zur Vereinfachung der Darstellung
erfolgt die Erläuterung des implicit-Zugriffs-Betriebs zusammen
mit der Erläuterung der Wirkungsweise der Speichersteuereinheit 20. Es ist darauf hinzuweisen, daß die Erfindung
in der Funktions- und Operationscharakteristik der Speichersteuereinheit 20 in Verbindung mit dem Prozessor
und dem Speicher 24 zu sehen .ist, und daß die Ausgestaltung der einzelnen Komponenten der Steuereinheit durch konventionelle
Mittel erfolgen kann. Die primären Funktionen der Spei-
03C044/0892
chersteuereinheit 22 sind die Vorauslesung von Befehlswörtern
für eine nachfolgende Ausführung durch den Prozessor 22 und die Vorauslesung von für die Befehlsausführung
notwendigen Operanden. Es ist an sich bekannt, daß ein konventionelles Befehlswort generell wenigstens ein
einen Operationscode definierendes Byte und ein oder mehrere zusätzliche Bytes umfaßt, welche diejenigen Operanden
definieren, welche zur Ausführung der identifizierten Operation notwendig sind. Eine Ausnahme der generellen
Regel besteht darin, daß der Einzel-Byte-Befehl zu seiner Durchführung keinen Operanden erfordert. In allen Fällen
enthält der Operationscode-Teil des Befehls eine die Quelle der notwendigen Operanden definierende Information,
falls eine solche Quelle vorhanden ist. Für Befehlswörter von drei .Byte oder weniger kann die Speichersteuereinheit
20 sowohl die Operationscodes und die notwendigen Operanden vorauslesen. Für Befehlswörter mit mehr als drei Byte werden
die Operanden durch den Prozessor 22 mittels eines explicit-Zugriffs vorausgelesen.
Während der Ausführung eines laufenden Befehls, welcher keinen weiteren Zugriff zum Hauptspeicher erfordert, sendet
der Prozessorteil 22 ein Steuersignal über eine Signalleitung 80 zur Speichersteuereinheit-Steuerschaltung 64 der
SpeicherSteuereinheit 20 um das nächstfolgende Befehlswort
vorauszulesen. Bei Empfang des vorausgelesenen Signals sendet die Steuerschaltung 64 ein Signal über eine Steuerleitung
82 zur Speichersteuerschaltung 48, um das 16 Bit-Speicherwort, das durch das laufend im Programmzähler 66
gespeicherte 16 Bit-Speicheradressensignal identifiziert ist, auszulesen (es ist darauf hinzuweisen, daß der Programmzähler
in der Speichersteuereinheit 20 und nicht im Prozessorteil 22 angeordnet ist, wie dies konventionellerweise ■
der Fall ist. Diese Anordnung des Programmzählers in der Speichersteuereinheit ermöglicht dessen inkrementelle
Fortschaltung unter der Steuerung der Steuerschaltung 64
030Q4A/0892
ohne Mitwirkung des Prozessors. Der Programmzähler 16 enthält in üblicher Weise immer die Adresse des nächsten
auszulesenden Befehlswortes). Die oberen 8 Bits (8-15) des ausgelesenen Speicherwortes (der Operationscode) werden
über eine Datenleitung 84 zum Befehlsregister 60 gesendet, während die unteren 8 Bits (0 bis 7, ein
potentieller Operand) über die gleiche Leitung zum Byte-Puffer 72 gesendet werden. Beim Empfang durch das Befehlsregister
60 wird der 8 Bit-Operationscode für eine spätere Übertragung zum Prozessorteil 22 gehalten und gleichzeitig
zum Puffersteuer-Festwertspeicher 62 gesendet, um eine
automatische Transformation in ein Steuersignal durchzuführen, das anzeigt, ob eine Operation für die Operationscode-Ausführung
erforderlich ist. Ist dies der Fall, so zeigt das Steuersignal die Quelle der Operandenadresse an.
Die üblichste Quelle einer Operandenadresse ist der Programmzähler 6 6 (welcher nun inkrementiert wird, um die Adresse
des nächsten Befehlswortes anzugeben). Eine weitere gebräuchliche Quelle sind das zweite Byte oder das zweite und
dritte Byte des vorausgelesenen Befehlswortes. Der Vorauslese-Steuer-Festwertspeicher
62 ist im dargestellten Ausführungsbeispiel ein Festwertspeicher mit 256 Wörtern zu
8 Bit, welcher vorgeladen ist, um als Funktion eines empfangenen 8 Bit-Operationscodes ein vorgegebenes 8 Bit-Steuersignal
zu erzeugen. Äquivalente Anordnungen mit anderen Kapazitäten können im Rahmen der Erfindung ebenso verwendet
werden.
Wenn ein vorausgelesenes Befehl lediglich einen Operationscode enthält, so bewirkt das durch den Festwertspeicher 62
erzeugte Steuersignal, daß die im Byte-Puffer 72 gespeicherten 8 Bits ausgegeben werden, wenn der im Befehlsregister 60
gespeicherte Operationscode für eine übertragung zum Prozessor 22 bereit ist, wobei keine weitere Operation erforderlich
ist. Ist das zweite Byte des vorausgelesenen Befehls ein
0300U/0892
Literal, d.h. eine Datenkonstante oder eine Verschiebungsgröße, so bewirkt das durch den Festwertspeicher 62 erzeugte
Steuersignal, daß die im Byte-Puffer 72 gespeicherten 8 Bits zusammen mit 8 Bits aller Nullen oder aller Einsen
von der Schaltung 74 auf den Eingangspuffer 68 übertragen werden, um danach zusammen mit dem Operationscode vom
Befehlsregister 60 zum Prozessor 22 übertragen zu werden. Die den Speicher-Byte-Puffer 72 und die Schaltung 74 mit
dem Eingangspuffer 68 verbindenden Datenleitungen sind so ausgelegt, daß die 8 Bits vom Byte-Puffer in die unteren
8 Bit-Positionen des Eingangspuffers und die 8 Bits von der Schaltung 74 in die oberen 8 Bit-Positionen übertragen
werden. Ist das zweite Byte des vorausgelesenen Befehls eine kurze Adresse, d.h., von 00 bis FF im Hexadezimalsystem,
so bewirkt das durch den Steuer-Festwertspeicher 62 erzeugte Steuersignal, daß die im Byte-Puffer 72 gespeicherten
8 Bits zusammen mit einem entsprechenden Steuersignal von der Speichersteuereinheit-Steuerschaltung 64 zur Speichersteuerschaltung
48 zum Hauptspeicherteil 24 zurückübertragen werden, um eine Speicherleseoperation an der
durch das 8 Bitsignal definierten Stelle durchzuführen.
Das ausgelesene 16 Bit-Operandsignal wird dann wiederum zum Eingangspuffer 68 gesendet, um nachfolgend zusammen mit
dem im Befehlsregister 60 gespeicherten Operationscode zum Prozessorteil 22 übertragen zu werden.
Wenn der vorausgelesene Operationscode anzeigt, daß die für seine Ausführung erforderlichen Operanden oder die
Adressen der Operanden in einem dritten sowie in einem zweiten Byte des zugehörigen Befehlsworts enthalten sind, so
bewirkt das resultierende, durch den Vorauslesesteuer-Festwertspeicher
62 erzeugte Steuersignal über die Wirkung der Speiehersteuereinheit-Steuerschaltung 64, daß die
im Byte-Puffer 72 enthaltenen 8 Bits ausgegeben werden und
ein neuer Speicherzugriff mit der Adresse ausgelöst wird,
0300A4/0892
welche durch den laufenden Inhalt des Programmzählers 66 definiert ist, wobei das ausgelesene 16 Bit-Speicherwort
im Falle eines Literais zum Eingangspuffer 68 übertragen
oder im Falle einer Adresse für einen nachfolgenden Speicherzugriff durch die Adressenschaltung 44 zurückgeführt wird.
Im letzteren Falle wird das während des zweiten Zugriffs ausgelesene 16 Bit-Speicherwort für eine nachfolgende
Verarbeitung durch den Prozessor 22 ebenfalls zum Eingangspuffer 68 übertragen. Lediglich dann, wenn das Befehlswort
vier oder mehr Bytes umfaßt, ist es für den Prozessor 22 erforderlich, die Operanden über einen explicit-Speicherzugriff
auszulesen. Anderenfalls ist die Vorausleseoperation vollständig unabhängig won der Prozessoroperation,
mit Ausnahme natürlich der Erzeugung des anfänglichen Vorauslesesignals.
Obwohl der Datentransfer vom Hauptspeicherteil 24 über die Speichersteuereinheit 20 zum Prozessorteil 22 in Form von
16 Bit-Speicherwörtern erfolgt, ist die Ausführung der Vorausleseoperation am wirksamsten, wenn der Speicherzugriff
in Inkrementen von 8 Bits erfolgt, d.h., wenn ein Zugriff mit einer Adresse N zu Bytes N und N + 1 und ein Zugriff
mit einer Adresse N + 1 zu Bytes N * 1 und N + 2 führt. Wie oben bereits ausgeführt, ergibt sich diese Möglichkeit
durch ein in der schwebenden Anmeldung der Anmelderin beschriebenes Speichersystem.
Sind die Vorauslegeoperationen abgeschlossen, so sind der im Befehlsregister 6 0 gespeicherte Operationscode und
die im Eingangspuffer 68 gespeicherten Operanden auf Befehl
für die übertragung zum Prozessorteil 22 verfügbar. In den meisten Fällen ist die Vorausleseoperation abgeschlossen,
bevor der Prozessorteil den laufenden Befehl abgearbeitet hat. In Fällen, in denen der Prozessor seine Operation
abschließt, bevor die Auslegeoperation abgeschlossen ist,
030044/0892
wird ein wesentlicher Zeitvorteil durch die frühere Auslesung
der Vorausleseoperation erzielt.
030QU/0892
Claims (10)
- Patentanwälte Dipl.-Ing. H. Ψειοκμαην, Dipi.-Phys. Dr. K. FinckeDipl.-Ing. R A."WiiιCKxViANW, Dipl.-Chem. B. Huber8000 MÜNCHEN 86, DEN ' -- ■'■'./■, ,POSTFACH 860820MÖHLSTRASSE 22, RUFNUMMER 98 39 21/22Tektronix, Inc., 14150 S.W. Karl Braun Drive, Beaverton,Oregon 97077, V.St.A.Anordnung und Verfahren zur einen Digitalprozessor zur Vorauslesung eines Operationscodeteils und eines Operandenteils eines BefehlswortesPatentansprücher1) Anordnung für einen Digitalprozessor zur Vorauslesung eines Operationscodeteils und eines Operandenteils eines Befehlswortes unabhängig von der Prozessoroperation, gekennzeichnet durch einen Speicher (24) zur Speicherung eines eine auszuführende Operation definierenden Befehlswortes,durch einen auf den Empfang des Befehlswortes ansprechenden -Prozessor (22) zur Ausführung der durch dieses definierten logischen Operation,durch eine dem Speicher (24) zugeordnete Schaltung (60, 62, 66, 84) zur Auslesung eines Operationscode-Teils des Befehlswortes,durch eine von der Operation des Prozessors (22) unabhängige und auf den Operationscode ansprechende Schaltung (66, 72, 84) zur Auslesung eines Operandenteils des Befehlswortes ,030044/0892und durch eine Schaltung (62, 64, 68, 82) zur übertragung des Operationscode-Teils und des Operandenteils des Befehlswortes zum Prozessor (22) zwecks Verarbeitung.
- 2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daßdie Operanden-Ausleseschaltung (60, 62, 66, 84) einen Schaltungsteil (62) zur Transformierung des Operationscodes in ein für eine Stelle des Operanden repräsentierendes Steuersignal und einen auf das Steuersignal ansprechenden Schaltungsteil (64) zur Auslesung des Operanden aus der Stelle aufweist.
- 3. Anordnung nach Anspruch 1 und/oder 2, dadurch gekennzeichnet, daß der Speicher (24) eine Vielzahl von Speicherstellen zur Speicherung einer entsprechenden Anzahl von Befehlswörtern aufweist, die jeweils durch eine eindeutige Adresse identifizierbar sind, und daß die Operationscode-Ausleseschaltung (60, 62, 66, 84) einen Programmzähler (66) zum Halten eines Adressensignals aufweist, das die Adresse im Speicher (24) für das nächste auszulesende Befehlswort repräsentiert.
- 4. Anordnung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die Operanden-Ausleseschaltung (64, 66, 72, 84) einen Schaltungsteil zur Auslesung eines nächsten Befehlswortes aus einer Speicherstelle im Speicher aufweist, wobei diese Speicherstelle durch das im Programmzähler (66) laufend gehaltende Adressensignal spezifiziert ist.
- 5. Anordnung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß die Operationscode-Ausleseschaltung (60, 62, 66, 84) eine Schaltung zur Auslesung sowohl eines Operations— codeteils als auch eines Operandenteils des Befehlswortes, ein erstes Register (60) zum Halten des ausgelesenen Operationscodes und ein zweites Register (72) zum Halten des030044/0892ausgelesenen Operanden aufweist, daß die Operanden-Ausleseschaltung (64, 66, 72, 84) einen auf den Operationscode ansprechenden Schaltungsteil (62) zur Erzeugung eines Steuersignals aufweist, welches das Vorhandensein des Operanden im zweiten Register (72) anzeigt, und daß die Befehlswort-Übertragungsschaltung (62, 64, 68, 82) einen auf das Steuersignal ansprechenden Schaltungsteil(68) zur übertragung des Operationscodes aus dem ersten Register (60) und des Operanden aus dem zweiten Register(72) zum Prozessor (22) aufweist.
- 6. Verfahren zur Vorauslesung eines Operationscode-Teils und eines Operandenteils eines digitalen Befehlsworts zur nachfolgenden Verarbeitung durch einen digitalen Prozessor, dadurch gekennzeichnet, daß in einem Speicher (24) eine Vielzahl von digitalen Befehlswörtern gespeichert wird, von denen jedes Wort eine auszuführende logische Operation definiert,daß in einem Prozessor (22) als Funktion des Empfangs eines digitalen Befehlsworts eine durch dieses definierte logische Operation ausgeführt wird,daß aus dem Speicher (24) ein Operationscode-Teil eines ersten Befehlsworts ausgelesen wird, daß unabhängig von der Operation des Prozessors (22) und als Funktion des Operationscodes ein Operandenteil des ersten Befehlsworts ausgelesen wird, und daß der Operationscode-Teil und der Operandenteil des ersten Befehlsworts zur Abarbeitung zum Prozessor (22) übertragen wird.
- 7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß bei der von der Operation des Prozessors (22) und als Funktion des Operationscodes erfolgenden Auslesung eines Operandenteils des ersten Befehlswortes der ausgelesene Operationscode in ein Steuersignal transformiert wird.030044/0892das eine Stelle des Operanden repräsentiert, und daß der Operand aus der durch dieses Signal repräsentierten Stelle ausgelesen wird.
- 8. Verfahren nach Anspruch 6 und/oder 7, dadurch gekennzeichnet, daß zur Auslesung eines Operationscode-Teils des ersten Befehlswortes aus dem Speicher (24) in einem Programmzähler (66) die Adresse des nächsten auszulesenden Befehlswortes gehalten wird.
- 9. Verfahren nach einem der Ansprüche 6 bis 8, dadurch gekennzeichnet, daß der Schritt der von der Operation des Prozessors (22) unabhängigen und als Punktion des Operationscodes erfolgenden Auslesung eines Operandenteils des ersten Befehlswortes eine Auslesung eines nächsten Befehlswortes aus' dem Speicher (24) in einer Speicherstelle erfolgt, welche durch die laufend im Programmzähler (66) gehaltene Adresse spezifiziert ist.
- 10. Verfahren nach einem der Ansprüche 6 bis 9, dadurch gekennzeichnet, daß sowohl der Operationscode-Teil und der Operandenteil des Befehlswortes aus dem Speicher .(24) ausgelesen wird, daß der Operationscode-Teil in einem ersten Register (60) und der Operandenteil in einem zweiten Register (72) gespeichert wird, daß ein Steuersignal erzeugt wird, welches das Vorhandensein des Operanden im zweiten Register (72) anzeigt , und daß der Operationscode aus dem ersten Register (60) und der Operand aus dem zweiten Register (72) zum Digitalprozessor (22) transferiert wird.030044/0892
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US3284279A | 1979-04-24 | 1979-04-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE3015876A1 true DE3015876A1 (de) | 1980-10-30 |
Family
ID=21867110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19803015876 Pending DE3015876A1 (de) | 1979-04-24 | 1980-04-24 | Anordnung und verfahren zur einen digitalprozessor zur vorauslesung eines operationscodeteils und eines operandenteils eines befehlswortes |
Country Status (6)
Country | Link |
---|---|
JP (1) | JPS5815810B2 (de) |
CA (1) | CA1134952A (de) |
DE (1) | DE3015876A1 (de) |
FR (1) | FR2455316A1 (de) |
GB (1) | GB2047928A (de) |
NL (1) | NL8001189A (de) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4541045A (en) * | 1981-09-21 | 1985-09-10 | Racal-Milgo, Inc. | Microprocessor architecture employing efficient operand and instruction addressing |
JPS5858653A (ja) * | 1981-10-02 | 1983-04-07 | Hitachi Ltd | デ−タ処理装置 |
JPH0776917B2 (ja) * | 1984-12-29 | 1995-08-16 | ソニー株式会社 | マイクロコンピユ−タ |
US4722047A (en) * | 1985-08-29 | 1988-01-26 | Ncr Corporation | Prefetch circuit and associated method for operation with a virtual command emulator |
US5053941A (en) * | 1986-08-29 | 1991-10-01 | Sun Microsystems, Inc. | Asynchronous micro-machine/interface |
US5919256A (en) * | 1996-03-26 | 1999-07-06 | Advanced Micro Devices, Inc. | Operand cache addressed by the instruction address for reducing latency of read instruction |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3840861A (en) * | 1972-10-30 | 1974-10-08 | Amdahl Corp | Data processing system having an instruction pipeline for concurrently processing a plurality of instructions |
JPS50128948A (de) * | 1974-03-29 | 1975-10-11 | ||
FR2298138A1 (fr) * | 1975-01-16 | 1976-08-13 | Int Computers Ltd | Processeur de donnees en mode pipeline |
JPS51111026A (en) * | 1975-03-26 | 1976-10-01 | Hitachi Ltd | Information management equipment |
-
1980
- 1980-01-31 CA CA000344774A patent/CA1134952A/en not_active Expired
- 1980-02-27 NL NL8001189A patent/NL8001189A/nl not_active Application Discontinuation
- 1980-04-18 GB GB8012813A patent/GB2047928A/en not_active Withdrawn
- 1980-04-22 FR FR8009468A patent/FR2455316A1/fr not_active Withdrawn
- 1980-04-22 JP JP55053469A patent/JPS5815810B2/ja not_active Expired
- 1980-04-24 DE DE19803015876 patent/DE3015876A1/de active Pending
Also Published As
Publication number | Publication date |
---|---|
FR2455316A1 (fr) | 1980-11-21 |
CA1134952A (en) | 1982-11-02 |
JPS5815810B2 (ja) | 1983-03-28 |
NL8001189A (nl) | 1980-10-28 |
GB2047928A (en) | 1980-12-03 |
JPS55143654A (en) | 1980-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69534113T2 (de) | Kompression der Befehlswörter eines Rechners | |
DE3909896C2 (de) | ||
DE1499722C2 (de) | Einrichtung zur Modifizierung von Informationswörtern | |
DE69738188T2 (de) | Verfahren und apparat für eine erhöhte genauigkeit bei der verzweigungsvorhersage in einem superskalaren mirkroprozessor | |
DE2715073C3 (de) | Mikroprogrammierte Rechner-Steuervorrichtung | |
DE2944419C2 (de) | ||
DE2630323B2 (de) | Datenspeichereinrichtung mit einem Hauptspeicher, einem Hilfsspeicher und einer Vorausschaulogik | |
DE2847934A1 (de) | Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher | |
DE2719635A1 (de) | Anordnung fuer eine erweiterung einer mikroprogrammsteuerung einer datenverarbeitungsanlage | |
DE2813128A1 (de) | Mikroprogrammspeicher | |
DE3303488A1 (de) | Digitales signalverarbeitungssystem | |
DE2746505C2 (de) | ||
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
EP0010185A1 (de) | Virtuell-Adressiervorrichtung für einen Computer | |
DE2332971C2 (de) | Mikroprogrammsteuereinrichtung | |
DE3043653A1 (de) | Datenverarbeitungsanlage | |
DE2426874A1 (de) | Verfahren und schaltungsanordnung zur bestimmung der adressenart eines befehls | |
DE19526008A1 (de) | Vertikal partitionierter, primärer Befehls-Cache-Speicher | |
DE2744359C2 (de) | ||
DE2926351A1 (de) | Look-ahead-speicheradressen- steuereinrichtung | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE3015876A1 (de) | Anordnung und verfahren zur einen digitalprozessor zur vorauslesung eines operationscodeteils und eines operandenteils eines befehlswortes | |
DE2609698C2 (de) | Elektronischer Rechner | |
DE2349253C3 (de) | Rechnersystem | |
DE1499224C3 (de) | Datenverarbeitungsanlage mit Kellerspeichereinrichtungen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OAP | Request for examination filed | ||
OD | Request for examination |