DE3249022T1 - Mikroprozessor - Google Patents

Mikroprozessor

Info

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
Application number
DE19823249022
Other languages
English (en)
Inventor
Philip Frederick 33155 Miami Fla. Kromer III
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.)
Racal Data Communications Inc
Original Assignee
Racal Data Communications 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
Priority claimed from US06/304,017 external-priority patent/US4541045A/en
Application filed by Racal Data Communications Inc filed Critical Racal Data Communications Inc
Publication of DE3249022T1 publication Critical patent/DE3249022T1/de
Withdrawn legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Description

Beschre ibung
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)

  1. RACAL DATA COMMUNICATIONS, INC., 8600 N. W. 41st Street, Miami, Florida 33166, USA
    Mikroprozessor mit einem Speicher, der verzahnte Adresseneingaben und verzahnte Befehls- und Datenausgaben verarbeitet
    Ansprüche
    G)
    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 Speicher
    WWR/em
    MartinisirafW 24 I) 2 800 Kiemen I Mi lon (0421) 3 2 80 3 7 TiIe. -opicn-r Telex 02 44 020 f'opai d
    so daß keine verschwendeten Zeitspalte oder -Intervalle auftreten und die Befehle und korrespondierenden Daten beim Ausführungszeitpunkt an der Arithmetikeinheit ankommen.
  2. 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. 3. Mikroprozessor gekennzeichnet durch
    Einrichtungen 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. 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.
DE19823249022 1981-09-21 1982-09-17 Mikroprozessor Withdrawn DE3249022T1 (de)

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)

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