DE3249022T1 - Mikroprozessor - Google Patents
MikroprozessorInfo
- Publication number
- DE3249022T1 DE3249022T1 DE19823249022 DE3249022T DE3249022T1 DE 3249022 T1 DE3249022 T1 DE 3249022T1 DE 19823249022 DE19823249022 DE 19823249022 DE 3249022 T DE3249022 T DE 3249022T DE 3249022 T1 DE3249022 T1 DE 3249022T1
- Authority
- DE
- Germany
- Prior art keywords
- data
- memory
- command
- address
- commands
- 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.)
- Withdrawn
Links
Landscapes
- Complex Calculations (AREA)
Description
Die Erfindung betrifft Mikroprozessoren, sie bezieht sich insbesondere auf Mikroprozessoren, die Befehle
bearbeiten, welche keinen Abruf von einem äußeren Speicher benötigen, und die andere Befehle verarbeiten,
welche einen Abruf von einem äußeren Speicher verlangen. Diejenigen Befehle, welche keinen Abruf von
einem äußeren Speicher erfordern, werden als Befehle vom Typ I bezeichnet, während diejenigen Befehle, die
einen Datenabruf aus einem äußeren Speicher benötigen, als Befehle vom Typ II bezeichnet werden, üblicherweise
bestehen Befehle vom Typ II aus zwei Teilen: ein Teil stellt die Operand-Abruf-Regel, der andere Teil die
Operations-Regel dar. Die Verbalisierung eines Befehls vom Typ. I kann z. B. lauten "Komplementiere den Akkumulator"
während die Benennung eines Befehls vom Typ II lauten kann "Hole den vom Indexregister R3 bezeichneten
Inhalt des Speichers und addiere diese Zahl zum Akkumulator" .
Ein wesentliches Merkmal beim Betrieb von Mikroprozessoren, insbesondere bei der Signalverarbeitung,
stellt die Zahl der pro Sekunde durchführbaren Operationen dar. Es ist wünschenswert, die maximale
Ausbeute pro Taktzyklus zu verwirklichen. Eine bekannte Technik, um diese Ausbeute zu erhalten, besteht im sogenannten
"Pipelining", bei dem ein oder mehrere folgende Befehle abgerufen werden bevor die Ausführung des
ersten beendet ist.
■_ 3-
Es ist ferner wünschenswert, in der Mikroprozessor-Architektur nur einige wenige Busse zu benutzen, um die
Anzahl der Eingang/Ausgang-Pins und den externen Speicher zu vereinfachen, und um eine "Von Neumann"-Architektur
zu ermöglichen, bei welcher Befehls- und Datenspeicher dieselben Einrichtungen sich teilen.
Die vorliegende Erfindung findet insbesondere Anwendung bei einem Mikroprozessor, der Befehle vom Typ I und vom
Typ II verarbeitet, vom Pipelining Gebrauch macht und zwei Busse - einen Adressbus und einen Befehls-Datenbus
- besitzt. In einer derartigen Maschine führen die verschiedenen Befehlstypen und die entstehenden Verzögerungen zu Schwierigkeiten bei der Organisation der Verarbeitungsoperationen,
und damit zu einer Verschwendung von wertvoller Rechenzeit, welche die mögliche Anzahl
an Operationen pro Sekunde beeinträchtigt.
Aufgabe der Erfindung ist es daher, die Rechnerleistung eines Mikroprozessors zu erhöhen.
Aufgabe ist es ferner, eine Synchronisation des Operationsflußes
in einer Maschine zu verwirklichen, welche mehrere verschiedene Befehlstypen verarbeitet, um die
Mikroprozessorzyklen optimal zu nutzen.
Aufgabe der Erfindung ist es ferner, die Effizienz eines Mikroprozessors zu erhöhen, der vom Pipelining
Gebrauch macht, zwei Befehlstypen verarbeitet und zwei
Busse besitzt.
Diese Aufgabe wird erfindungsgemäß dadurch gelöst, daß
Einrichtungen zum Puffern der Datenadressen, eine Ver-
zögerungseinrichtung für Befehle, und eine Steuereinrichtung zum Steuern dieser Einrichtungen vorgesehen
werden, um eine optimale Datenverarbeitung zu verwirklichen.
Durch die Erfindung werden mehrere Vorteile verwirklicht. Erstens können Befehle und Daten auf demselben
Bus verzahnt werden. Während jedes Zyklus wird ein nützlicher Befehlsabruf durchgeführt. Es ist die maximale
Flexibilität bei der Befehlskodierung erlaubt. Die Geschwindigkeit, mit der Befehle ausgeführt werden, ist
so gleichförmig wie möglich.
Im folgenden wird ein Ausführungsbeispiel der Erfindung anhand der Zeichnung näher erläutert. Es zeigen:
Fig. 1 ein Blockschaltbild einer bevorzugten Ausführungsform der Erfindung;
Fig. 2A die Verzahnung von Befehlen und Daten, ihrer Adressen und das relative
Timing ihres Auftretens auf dem Adressbus und den Befehls-Datenbus der bevorzugten Ausführungsform;
Fig. 2B einen Betrieb des IRS-I.5-Signals,
das als Bus-Auswahleinrichtung dient;
Fig. 2C das Timing der Dekodereingänge relativ zu anderen Operationen der Fig.
2;
Fig. 2D das Timing der Dekoderausgänge und
das Timing, mit dem der DAB-Puffer beladen wird, in Relationen zu anderen Operationen der Fig. 2;
Fig. 2E das Timing und die Positionierung des Befehlsregisters, Ausführungsregisters und X-Registerinhalts und
IRSO-Steuersignals;
Fig. 3 ein typisches Programms eg ine nt der bevorzugten
Ausführungsform;
Fig. 4 ein Zustandsdiagramm und eine Wahrheitstabelle,
welche den Betrieb der Zustands-Folgesteuerung darstellt;
Fig. 5 ein logisches Diagramm der
Zustands-Folgesteuerung; und
Fig. 6 beispielshalber angegebene Befehlsformate.
Die Struktur des Mikroprozessors der bevorzugten Ausführungsform
der Erfindung ist in Figur 1 dargestellt.
Dieser Mikroprozessor enthält zwei Busse, einen Adressbus 11 und einen Befehls/Datenbus 13. Die mit dem Dekoder
verbundenen praktisch auftretenden Verzögerungen, und die zugehörige Kombinationslogik des Mikroprozessors
verlangen 1,5 Zyklen zur Interpretation der Operand-Abruf-Regel und zur Erzeugung der Adresse des
Operanten. 1,5 Zyklen werden auch vom Speicher benötigt, um die Daten zurückzugeben, wenn die Adresse
gegeben ist. Die Gesamtzeit, drei Zyklen, ist konsistent mit der bevorzugten Logikfamilie NMOS LSI, und
stellt die "Pipeline-Verzögerung" der bevorzugten Ausführungsform dar. Diese Logik diktiert auch die maximale
Frequenz des Systems-Betriebstaktes.
Figur 1 zeigt einen Programmzähler und Stapel 15, der
Programmadressen über einen Programm-Adressbus (PAB) über einen Selektor 14 an ein Adressenregister 17
liefert, welches die Speichereinrichtungen 19 adressiert.
In Abhängigkeit von einer Adresse aus dem Programmzähler
15 gibt die Speichereinrichtung einen Befehl vom Typ I oder Typ II an ein Speicher-Ausgaberegister 23
über den Befehls/Daten-Bus 13 an ein Eingaberegister 25. Das Adressenregister ist eines von fünf Rahmen-Registern
17, 23, 36 j 39, 35, vergl. Figur 1. Diese "Re-
: V-
gister" speichern nicht, sie liefern vielmehr eine geeignete
Verzögerung und eine Formverbesserung und treffen die durch diese Register hindurchgeführten
Signale.
Der Befehl wird einem Adressen-Befehlsdekoder 29 zugeführt und in ein Befehlsregister 27 eingegeben. Die
Steuerleitung 30, die zum Programmzähler führt, steuert Sprung, Subroutinen-Aufrufe und -Rückkehrvorgänge.
Der Adressen-Befehlsdekoder 29 dekodiert den Operand-AbrufTeil des Befehls und gibt den dekodierten Ausgang über
die Daten-Adressensteuerleitüng 31 an einen Datenadressen-Generator.
Der Daten-Adressen-Generator 33 gibt eine Datenadresse über den Datenadress-Bus (DAB) Il an
einen elastischen Puffer 35, der eine Datenadresse zur späteren Abgabe an die Speichereinrichtung 19 über
Selektor 14 und das Adressenregister 17 speichern kann. Der Datenadressen-Generator verwendet bevorzugt eine indirekte
Adressier-Technik, die an sich bekannt ist. In der bevorzugten Ausführungsform werden vier Indexregister
verwendet, von denen jedes eine Adresse erzeugen kann. Der Dekoder 29 wählt das geeignete Indexregister aus. Während des Betriebs kann car betrachtete
Befehl einen Befehl enthalten, ein Indexregister und ein Relativ-Adressen-Feld auszulesen. Die Adresse, die
sich in angegebenem Indexregister befindet, wird dann auf den Adressenbus gegeben und gleichzeitig wird
dessen Inhalt inkrementiert oder dekrementiert, je nach
dem Inhalt des Relativ- Adressen-Felds (Displacement Field).
Einige Operanten-Abruf-Regeln fordern, daß eine Einschreiboperation
in einen schnellen Speicher ausgeführt
32A9022
wird. In diesem Fall kondizioniert das WRITE-Signal 60
über das Adressenregister 17 den Speicher, damit die in dem/den ACC-Registern 43 enthaltenen Daten über das Register
62 eingeschrieben werden können. Dieselben Daten erscheinen auf dem Befehlsdatenbus in der Weise, in der
das Ergebnis eines Lesezyklus erscheint.
Es sind andere Verfahren zur Adressen-Erzeugung bekannt und verwendbar, und die Erfindung ist nicht auf ein
spezielles Verfahren beschränkt.
Der Befehl wird auch in das Befehlsregister 27 zur schiießlichen Ausführung durch den Mikroprozessor eingelesen.
.
Die Ausführung wird durch herkömmliche Schaltungstechnik verwirklicht, die ein Ausführungsregister 36,
einen Operationsdekoder 37, ein Register 39, eine arithmetische Logikeinheit (ALU) 41 einen Akkumulator
43 und ein Datenregister 45 enthält. Der Operationsdekoder dekodiert den Befehl und liefert den dekodierten
Ausgang an das Befehlsregister. Das Datenregister 45 speichert ein Datenwort, welches im Ausführungsregister
36 enthalten ist und zur Ausführung des Befehls benötigt wird. Das Füllen des Datenregisters
45 wird durch das IRSO-Signal 53 gesteuert. Der andere Dateneingang auf der Leitung 47 in die ALU 41
ist der Ausgang des Akkumulators 43.
Der Arithmetikte.il kann mehr als einen Akkumulator, bevorzugt zwei, enthalten. Der Α-Eingang des ALU 41 kann
daher vom ersten oder vom zweiten Akkumulator herkommen. Bevorzugt wird ein Befehl geliefert, der es er-
möglicht, daß der Ausgang beider Akkumulatoren in den
Speicher 19 zurückgegeben wird. Die ALU 41 beinhaltet typischerweise mehrere Einheiten mit Pipeline-Verzögerungen.
Wie noch erläutert wird, werden die Daten in der bevorzugten Ausführungsform der Erfindung zeitlich
so gesteuert, daß sie am B-Eingang der ALU 41 . gleichzeitig mit der Ankunft eines geeigneten Befehls
in Registern 39 erscheinen.
Gemäß der Erfindung wird die optimale Verzahnung von
Befehlsadressen und Datenadressen auf dem Adressenbus 11, und der Befehle und der Daten auf dem Befehls/Daten-Bus
mittels eines DOB (Daten auf den Bus)-Generators durchgeführt. Der DOB-Generator 45 empfängt einen Eingang
vom Adressenbefehlsdekoder 29. Es handelt sich dabei um das. Datenadressen-Anforderungssignal, DAR-Signal,
welches gleichzeitig mit der Erzeugung einer Datenadresse durch den Datenadressen-Generätor auftritt.
Das DAR-Signal gibt an,.ob der dekodierte Befehl einen
Datenabruf benötigt oder nicht. · .· .
Der DOB-Generator 45 gibt Steuersignale an fünf Leitungen
49, 51, 52, 53 ab. Wenn das Steuersignal IRSO auf der Leitung 53 wahr ist, wird das Befehlsregister
stellenverschoben (shifted). Wenn das Steuersignal IRSO
falsch ist, wird das X-Regi.ster beladen. Das Steuersignal DAB BUF LOAD 49 stimmt, wenn der DAB-Puffer 38 mit
DAB 11 beladen werden soll. Das Steuersignal PAB SELECT auf der Leitung 52 bestimmt, wenn eine Programmadresse
von den Programmadressen-Bus (PAB) 15 in das Adressenregister eingetaktet wird. Das Steuersignal PAB SELECT
auf Leitung 50 bestimmt, wenn der Ausgang des Daten-
adressen-GeneratorS an das Adressenregister 17 abgegeben wird. Das Steuersignal DAB BUF SEL auf Leitung
51, bestimmt, ob der Ausgang des DAB-Puffers 38 direkt an das Adressenregister 17 abgegeben wird. Die
Steuersignale 50 und 51 liefern also die "Elastizität" des Puffers. Außerdem inhibieren sie den Programmzähler
15, wenn der DOB-Generator eine Adressenabgabe veranlasst.
Die Funktionen des DOB-Generators bestehen darin, die Mikro-Zeitsteuerschlitze, IRS-Signal, zu erzeugen, als
Bus-Entscheidungseinrichtung für die DAB, DAB-Puffer und PABBusse zu dienen und den Programmzähler zu
inkrementieren. '
Figur 4 zeigt die Verwirklichung des DOB-Generators in
der bevorzugten Ausführungsform. Figur 5 zeigt eine Zustands-Liste
für alle möglichen Zustände und die erforderlichen Bedingungen zur Änderung von einem Zustand zu
einem anderen Zustand.
Der DOB-Generator erzeugt die Befehls- und Daten-Zeitsteuerschlitze
(Micro-timing) für den Mikroprozessor und für die ALU-Schaltkreise.
Wie schon erwähnt, lassen sich die Befehle in zwei Typen einteilen:
A Befehle, welche einen Operanden abrufen, i. e. welche einen Datenschlitz erzeugen (Typ II).
B Befehle, die keinen Operanden abrufen, i. e. die keinen Datenschlitz erzeugen (Typ I).
Die Regeln zur Verzahnung der Datenschlitze oder -spalte und der Befehls-Abrufe lauten:
1. Der Datenschlitz für den Befehl N wird, sofern er benötigt wird, unmittelbar nach dem Abruf
des Befehls N+2 erzeugt;
2. Jedem Datenschlitz folgt unmittelbar ein
Befehls-Abruf.
Der DOB-Generator wählt entweder eine Datenadresse oder eine Befehlsadresse. Das Ergebnis des Abrufes ist als
Eingangssignal für den DOB-Generator vom Hauptdekoder drei Bus-Zyklen später verfügbar. Dies resultiert aus
der Pipeline-Struktur (Hardware-Verzögerung) zu dem System.
Der Adressen-Befehlsdekoder erzeugt ein Signal, welches
Datenadressen-Aufruf oder DAR, bezeichnet wird. In Abhängigkeit von einem Befehl des Typs II wird dieses Signal
wahr, und in Abhängigkeit von einem Befehl des Typs I Wird dieses Signal falsch.
In der bevorzugten Ausführungsform läßt sich ein Rücksetzvorgang von Außenträgern (z. B. in Abhängigkeit von
"Leistung ein").
Der Rücksetzzyklus beläßt den DOB-Generator in Zustand 14. Er verbleibt in Zustand 14 solange, wie keine Befehle
vom Typ II dekodiert werden (DAR = O).
Während dieses Zustands wird der P.C.-Zähler inkrementiert,
sein Inhalt wird auf den Adressenbus gegeben
und das IRS-I,5-Signal wird wahr, wodurch angezeigt
wird, daß ein Befehl auf dem Datenbus ist. Das IRS-Signal
ist äußerste wichtig, da es die Befehls- und Datenschlitze für die anderen Mikroprozessor-Schaltkreise
schafft. Wenn im Zustand 14 DAR = 1 ist, so wird der DAB-Bus ausgelöst, und sein Inhalt wird direkt auf
den Adress-Bus übertragen. Der P.C.-Zähler wird am Inkrementieren gehindert. Dieses IRS-Signal geht auf
einen tiefen Wert über, und der Generator geht auf den Zustand 6.
Im Zustand 6 wird der P.C.-Zähler inkrementiert. Sofern
DAR = 0, wird der Inhalt des P.C.-Zählers auf den Adressenbus
gegeben. Das IRS-Signal hat einen hohen Wert, und der Generator geht in den Zustand 10 über. Sofern
DAR = 1 wird der Inhalt des P.C.-Zählers auf den Adressenbus gegeben, IRS ist hoch, der DAB-Puffer 38 wird
mit dem Inhalt des DAB-Busses geladen, und der Generator geht auf den Zustand 11.
Im Zustand 10 wird der P.C.-Zähler inkrementiert.
Sofern D=O, wird der Inhalt des P.C.-Zählers auf den
Adressenbus gegeben, IRS ist hoch, der Generator geht auf den Zustand 12. Sofern DAR = 1, wird der Inhalt des
P.C.-Zählers auf den Adressenbus gegeben, IRS ist hoch, der DAB-Puffer 38 wird mit dem.Inhalt des DAB-Busses
geladen, der Generator geht auf den Zustand 13.
Im Zustand 11 wird der P.C.-Zähler am Zählen gehindert.
Wenn D=O, wird der Inhalt des DAB-Puffers 38 auf den Adressenbus gegeben, IRS bleibt hoch, und der DOB-Generator
geht auf den Zustand 4. Wenn DAR = 1, wird der Inhalt des DAB-Puffers 38 auf den Adressenbus gegeben, es
-42.
folgt das Beladen des Registers mit neuer auf dem DAB-Bus vorhandener Information. Das IRS-Signal ist
hoch, der DOB-Generator geht in Zustand 5.
Für die Zustände 4, 5, 12, 13 ist der Dekoder 29 inaktiv,
da Daten auf dem I/D-Bus 13 waren, wie durch den niederen Wert des IRSO-Signals bekannt ist.
Im Zustand 4 wird der P.C.-Zähler inkrementiert, und sein Inhalt wird auf den Adressenbus gegeben. IRS ist
niedrig, wodurch angezeigt wird, daß Daten auf dem Datenbus vorhanden sind. Der DOB-Generator geht in den
Zustand 10.
Im Zustand 5 wird der P.C.-Zähler inkrementiert und sein Inhalt auf den Adressenbus gegeben. Der DAB-Puffer
38 wird mit dem Inhalt des DAB-Busses beladen. IRS ist niedrig, und der DOB-Generator geht in den Zustand 11.
Im Zustand 13 wird der P.C.-Zähler am Zählen gehindert. Der Inhalt des DAB-Puffers 38 wird auf den Adressenbus
gegeben. IRS ist niedrig, der DOB-Generator geht in den Zustand 6.
Im Zustand 12 wird der P.C.-Zähler inkrementiert, und sein Inhalt wird auf den Adressenbus gegeben. IRS ist
niedrig, und der DOB-Generator geht in den Zustand 14.
Die Funktionen des DOB-Generators bestehen also darin, die Mikro-Zeitsteuer-Schlitze (IRS-Signal) zu erzeugen,
als Bus-Wähleinrichtung für die DAB, DAB-Puffer und DAB-Busse zu dienen, und den Programmzähler zu inkrementieren.
Eine logische Verwirklichung des DOB-Generators ist in Figur 5 gezeigt. Der Generator enthält eine Anzahl von
Invertern 55, 56, 57, 58; eine Anzahl von UND-Toren 60,
61, 62, 63 und 64; eine Anzahl von NOR-Toren 67, 68, 69, 70; und vier D-Flip-Flops 73, 74, 75, 76, die wie
dargestellt miteinander verbunden sind. Der Eingang zum Generator wird durch DAR gegeben, die Ausgänge des
Generators enthalten das IRS-I,5-Signal, die Steuersignale
DAB BUF LOAD; DAB BUF SELECT, PAB SELECT/PC INCREMENT; und DAB SELECT, die Funktion dieser Schaltung
wird durch die DOB-Generator-Wahrheitstabelle
gemäß Figur 4 und das Zustands-Folgediagramm erläutert.
Unter Bezugnahme auf die Figuren 2 und 3 wird nachstehend der Betrieb des Mikroprozessors beispielshalber
erläutert. Als bisherige Geschichte der Maschine wird angenommen, daß aus dem Speicher 3 Befehle in
einer Reihe abgerufen werden, wobei jeder Befehl einen Datenabruf erfordert. Figur 3 zeigt ein Segment einer
Routine, die eine derartige Serie von Befehlen besitzt.
In Figur 2 benötigen Iq, I^, I2 jeweils einen Datenschlitz.
Iq wird so schnell wie möglich dekodiert, und die Adresse ADq für den von Iq geförderten Datenschlitz
wird in DAB, und anschließend so schnell auf den Adressenbus 11 gegeben. Die Kombination aus Speicher-Verzögerung
und minimaler Dekoder-Verzögerung verlangt drei Taktzyklen zwischen der Zeit 0, wenn nämlich die
Adresse für Iq auf dem Adressenbus ist, bis zu der Zeit, wenn ADq auf dem Adressenbus ist. I^ erreicht den
I/O-Bus Iq benachbart, gemäß der DOB-Betriebsregel
wurde jedoch die Adresse "3" für I3 auf den Adressenbus
gegeben bevor die Adresse ADI für die Daten für
Ιη auf den Adressenbus kommen. Dies hat 4 Verzögerungseinheiten zur Folge zwischen dem Zeitpunkt, wenn I^ auf
dem I/D-Bus ist, und dem Zeitpunkt, wenn die Daten für H' Di auf dem I/D-Bus sind. In ähnlicher Weise gehen
die Daten aus D2 des I2 erst auf den I/D-Bus nachdem T*
abgerufen wurde, und dies resultiert in fünf Verzögerungseinheiten zwischen dem Zeitpunkt, wenn I2 auf den
I/D-Bus ist und dem Zeitpunkt, wenn D2 auf dem I/D-Bus
sind.
In der Zwischenzeit gehen die Befehle Iq, I^ f I2 i-n
Befehlsregister unter der Steuerung des IRS-Signals
(vergl. Fig. 2E). Wenn ein Datenschlitz erzeugt ist,
geht IRSO auf einen niedrigen Wert, so daß keine Stellenverschiebung erfolgt, wenn ein Datenschlitz auf dem
I/D-Bus erscheint. Der Befehl Iq erreicht daher über das Befehlsregister das Ausführungsregister 0,5 Taktzyklen
bevor die Daten Dq in dem X-Register aufgelistet werden. Dies läßt sich in Figur 2E auf den Linien EXEC
REG und X REG erkennen. Anschließend wird der Ausgang C (Iq) des Dekoders über das Rahmen-Register 39 zur
gleichen Zeit wie Dq der ALU zugeführt.
Die Figuren 2D und 2A zeigen die Wirkung des elastischen
Puffers in Verbindung mit dem DOB-Generator. Diese Wirkung läßt sich insbesondere durch Vergleich
des DAB-Bus-^Ausgahgs mit dem I/O-Bus erkennen. ADq erscheint
auf dem DAB einen Zyklus nachdem IQ auf dem
I/D-Bus erscheint. ADi erscheint auf dem DAB-Bus einen
Taktzyklus nachdem I^ auf dem I/D-Bus erscheint und wird vom elastischen Puffer 35 in seinen Datenadressen-Puffer
38 gepuffert. Gleichzeitig mit diesem Puffervorgang wird die Adresse des Befehls 3 auf den Adressenbus
-45-
gegeben. Es läßt sich die Wirkung des Puffers erkennen,
da erst nach der "3" auf dem Adressenbus ADi auf dem Adressenbus erscheint. AD-^ wurde auf diese Weise vom
DAB zum DAB-Puffer und zum Adressenbus abgegeben.
AD2 wird im DAB 38 (Figur 2D) langer verzögert, um ermöglichen,
daß sowohl AD-^ und "4" auf dem Adressenbus
erscheinen. AD2 kann aufgrund der Ankunft Dq während zweier Zyklen verbleiben. D.h. die Ankunft von Dq
sperrt (Disable) den Dekoder durch Wirkung des IRSO-Signals. Es kann daher keine neue Datenadresse erzeugt
werden.
Figur 3 zeigt eine Serie von Befehlen, die aus der Darstellung gemäß Figur 2 resultieren. Der erste Befehl Iq
ist ein "Lese-Register 1" RRl Befehl, der einen Datenabruf erfordert, kombiniert mit einer MVP ("Bewege
Positiv zu Aq" )-Operationen. 1-^ ist ein RRl-Befehl und
addiere zu Aq. (Es sei bemerkt, daß Iq a + 1 enthält,
ein Inkrement für das Indexregister so daß der nächste Abruf bei diesem Register von dem nächsten benachbarten
Speicherplatz aus folgt). I2 ist ein "Lese-Register 3",
RR3-Befehl, und ein "Bewege Positiv nach A-^ "-Be fehl, i-j
ist ein Sprungbefehl, I4 gibt das Ziel des Sprunges an.
I5 ist ein "Schreibe in Register 1"-Befehl. Da 1-^ ein
Dekrement enthielt, würde das Register 1, Rl, zurück zum ersten Platz zeigen..
Aufgrund der Verzögerungen durch die Maschine ist der P.C. (P.C.-Zähler) von dem Sprung solange nicht berührt,
bis I4 das Ziel des Sprunges., auf dem I/D-Bus
erscheint, so daß I^ noch vom alten Wert des P.C.Zählers
abgerufen wird. Wenn I4 auf dem I/D-Bus er-
scheint, wird der.P.C.-Zähler so modifiziert, daß der
nächste Abruf für Igg vom Platz 80 erfolgt. Der
"Sprung" in den "PC-gleich"-Befehlen bei den Adressen und 4 erfordert keinen Datenschlitz. Durch Wirkung des
DOB-Generators tritt nach Adresse AD2 ein Strom von 3 Befehlen in.einer Reihe ohne jeden dazwischentretenden
Datenschlitz auf. Der "Beschreibe Register !"-Befehl,
Ic, hat zur Folge, daß ADc drei Schlitze nach "5" auf den Adressenbus gesetzt wird, vergl. Figur 2. Aufgrund
des Betriebs des DOB-Generators 45, werden die Befehle so gleichförmig wie möglich bearbeitet, und die Daten
D2 sind während mehrerer Schlitze verfügbar.
Die ALU kann Operationen ausführen, die langer als ein
einziger Zyklus sind. Das IRSO-Signal und die Art des
Befehls lassen sich verwenden, um eine zweite Ausführung von IR3 zu verhindern. Elastizität kann dadurch
erzeugt werden, daß die Verzögerung des I-Registers verwendet wird. .
Figur 6 zeigt Beispiele von Befehlsformaten. Figur 6A ist ein Befehl vom Typ II. Der speziell dargestellte Befehl
ist ein "Indirekt Lesen"-Befehl. Das erste Segment dieses Befehls gibt die Art des DatenabruTes an. Das
zweite Segment gibt die relative Änderung an, die zu den Ausgängen des Indexregisters .hinzuaddiert werden.
Das dritte Segment gibt die Registerbezeichnung an. Diese drei Segmente stellen die Operand-Abruf-Regel
dar. Das vierte Segment gibt die Operation an, welche ausgeführt werden soll.
Figur 6B zeigt einen Befehl vom Typ I. Das erste Bit-Segment zeigt an, ob der Inhalt eines speziellen
32A9022 -11-.
Registers als Operand verwendet werden soll. Es sei bemerkt, daß ein Register-Abruf keinen Bus-Zyklus benötigt.
Das zweite Segment zeigt die Identität des Registers an, und das dritte Segment gibt eine Operation
an, welche ausgeführt werden soll. Dieser Befehl kann z. B. beinhalten "Nehme den Inhalt eines Registers und
addiere diesen zum Inhalt des Akkumulators". Ein Vorteil der speziellen erfindungsgemäßen Architektur besteht
darin, daß eine Flexibilität in der Verwendung der Bit-Positionen der Befehle gegeben ist, d. h. es
bestehen keine starren Forderungen hinsichtlich der Befehlsformate i
Claims (4)
- RACAL DATA COMMUNICATIONS, INC., 8600 N. W. 41st Street, Miami, Florida 33166, USAMikroprozessor mit einem Speicher, der verzahnte Adresseneingaben und verzahnte Befehls- und Datenausgaben verarbeitetAnsprücheG)IJ Mikroprozessor, bei dem ein Speicher von einem Programmzähler oder einer Datenadresse adressierbar ist, um einen Befehl oder ein Datenwort zu erzeugen, wobei der Befehl eine Information enthält, welche eine von einer Arithmetikeinheit auszuführende Operation kennzeichnet, wobei die Operation von der Arithmetikeinheit auf die Daten angewendet wird, gekennzeichnet durch Mittel zum Verzahnen von Befehlsadressen und Datenadressen, die dem Speicher zugeführt werden, und zum Verzahnen von Befehlen und Daten aus dem SpeicherWWR/emMartinisirafW 24 I) 2 800 Kiemen I Mi lon (0421) 3 2 80 3 7 TiIe. -opicn-r Telex 02 44 020 f'opai dso daß keine verschwendeten Zeitspalte oder -Intervalle auftreten und die Befehle und korrespondierenden Daten beim Ausführungszeitpunkt an der Arithmetikeinheit ankommen.
- 2. Verfahren zum Verzahnen des Speicherzugriffs in einen Mikroprozessor, dadurch gekennzeichnet, daß ein Datenschlitz oder -spalt für den Befehl N, sofern erforderlich, unmittelbar nach dem Abruf des Befehls N + K erzeugt wird, wobei K durch die "Pipeline"-VerzÖgerung bestimmt ist und daß ein Befehl unverzüglich nach jedem Datenspalt abgerufen wird.
- 3. Mikroprozessor gekennzeichnet durchEinrichtungen zum Puffern von Datenadressen, die zum Speicher geschickt werden,Mittel zum Speichern mehrerer Befehle, die aus dem Speicher kommen,und Mittel zum Steuern der Puffermittel und der Speichermittel und Abgabe von Befehlsadressen und Datenadressen zum Speicher.
- 4. Mikroprozessor, mit einem Speicher zum Speichern von Daten und Befehlen,einem Programmzähler zum Erzeugen von Befehlsadressen für den Speicher,Mittel zur Abgabe von Speicheradressen an den Speicher;Mittel, welche auf Befehle ansprechen und in Abhängigkeit von einem Befehl arithmetische Operationen mit Daten ausführen, gekennzeichnet durch Mittel zum Speichern mehrerer Befehle, die der Einrichtung zur Durchführung der arithmetischen Operationen zugeführt werden, und durch Steuereinrichtungen zur Steuerung, ob eine Datenadresse oder eine Befehlsadresse dem Speicher zugeführt wird, und zur Steuerung der Befehlsspeichereinrichtung, um die Ankunft der Befehle mit der Ankunft der richtigen Daten an den Mitteln zur Durchführung arithmetischer Operationen zu synchronisieren.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/304,017 US4541045A (en) | 1981-09-21 | 1981-09-21 | Microprocessor architecture employing efficient operand and instruction addressing |
PCT/US1982/001264 WO1983001133A1 (en) | 1981-09-21 | 1982-09-17 | Microprocessor with memory having interleaved address inputs and interleaved instruction and data outputs |
Publications (1)
Publication Number | Publication Date |
---|---|
DE3249022T1 true DE3249022T1 (de) | 1983-11-17 |
Family
ID=26766748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19823249022 Withdrawn DE3249022T1 (de) | 1981-09-21 | 1982-09-17 | Mikroprozessor |
Country Status (2)
Country | Link |
---|---|
AU (1) | AU8994282A (de) |
DE (1) | DE3249022T1 (de) |
-
1982
- 1982-09-17 DE DE19823249022 patent/DE3249022T1/de not_active Withdrawn
- 1982-09-17 AU AU89942/82A patent/AU8994282A/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
AU8994282A (en) | 1983-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69130630T2 (de) | Synchrones Verfahren und Gerät für Prozessoren | |
DE2755273C2 (de) | ||
DE4305442C2 (de) | Verfahren und Vorrichtung zum Erzeugen eines Testvektors | |
DE2714805C2 (de) | ||
DE69127101T2 (de) | System für verteilte mehrfachrechnerkommunikation | |
DE1774296C2 (de) | Restruktuierbare Steuereinheit für elektronische Digitalrechner | |
DE3851488T2 (de) | Registerverwaltungssystem mit Ausführung von Befehlen in Unordnung in einem Computerprozessor. | |
EP0097725B1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
DE2555963C2 (de) | Einrichtung zur Funktionsmodifizierung | |
DE68927218T2 (de) | Verfahren und Vorrichtung für Zustandskode in einem Zentralprozessor | |
DE69030931T2 (de) | Mehrfachsequenzprozessorsystem | |
DE3752017T2 (de) | Mikrorechner mit Zugriffsfähigkeit auf einen internen Speicher mit gewünschter variabler Zugriffszeit | |
DE2117936A1 (de) | Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems | |
DE3750028T2 (de) | Pipelineprozessor mit schwacher Kopplung. | |
DE2953861C2 (de) | ||
DE69418146T2 (de) | Temporärer Registersatz für einen superpipeline-superskalaren Prozessor | |
DE68924719T2 (de) | Vorrichtung und Verfahren zur Ausführung eines Unterprogramms in einem Datenverarbeitungssystem mit Blockumschaltung. | |
DE2847934A1 (de) | Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher | |
DE4301417A1 (de) | ||
DE2234867A1 (de) | Anordnung in datenverarbeitungsanlagen zum steuern der verarbeitung zweier voneinander unabhaengiger programme | |
DE3400723C2 (de) | ||
DE1803767A1 (de) | Elektronisches Datenverarbeitungssystem | |
DE2248296A1 (de) | Programmsteuereinrichtung | |
DE2746505A1 (de) | Dv-system mit einer einrichtung zum adressieren in einem festwertspeicher abgelegter mikroprogramme | |
EP0134831A1 (de) | Einrichtung im Befehlswerk eines Fliessbandprozessors zur Befehlsunterbrechung und -wiederholung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8128 | New person/name/address of the agent |
Representative=s name: EISENFUEHR, G., DIPL.-ING. SPEISER, D., DIPL.-ING. |
|
8141 | Disposal/no request for examination |