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 befehlswortes

Info

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
Application number
DE19803015876
Other languages
English (en)
Inventor
Thomas Edward Kloos
Richard Allen Springer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tektronix Inc
Original Assignee
Tektronix Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tektronix Inc filed Critical Tektronix Inc
Publication of DE3015876A1 publication Critical patent/DE3015876A1/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3824Operand accessing
    • G06F9/383Operand prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3824Operand 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)

  1. Patentanwälte Dipl.-Ing. H. Ψειοκμαην, Dipi.-Phys. Dr. K. Fincke
    Dipl.-Ing. R A."WiiιCKxViANW, Dipl.-Chem. B. Huber
    8000 MÜNCHEN 86, DEN ' -- ■'■'./■, ,
    POSTFACH 860820
    MÖHLSTRASSE 22, RUFNUMMER 98 39 21/22
    Tektronix, 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 Befehlswortes
    Patentansprüche
    r1) 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/0892
    und durch eine Schaltung (62, 64, 68, 82) zur übertragung des Operationscode-Teils und des Operandenteils des Befehlswortes zum Prozessor (22) zwecks Verarbeitung.
  2. 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. 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. 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. 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 des
    030044/0892
    ausgelesenen 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. 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. 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/0892
    das eine Stelle des Operanden repräsentiert, und daß der Operand aus der durch dieses Signal repräsentierten Stelle ausgelesen wird.
  8. 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. 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. 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
DE19803015876 1979-04-24 1980-04-24 Anordnung und verfahren zur einen digitalprozessor zur vorauslesung eines operationscodeteils und eines operandenteils eines befehlswortes Pending DE3015876A1 (de)

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)

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

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

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