DE2847575C2 - Einrichtung zur Abgabe von Mikrobefehlsschablonen an die Stufen einer Pipeline-Datenverarbeitungseinrichtung - Google Patents

Einrichtung zur Abgabe von Mikrobefehlsschablonen an die Stufen einer Pipeline-Datenverarbeitungseinrichtung

Info

Publication number
DE2847575C2
DE2847575C2 DE2847575A DE2847575A DE2847575C2 DE 2847575 C2 DE2847575 C2 DE 2847575C2 DE 2847575 A DE2847575 A DE 2847575A DE 2847575 A DE2847575 A DE 2847575A DE 2847575 C2 DE2847575 C2 DE 2847575C2
Authority
DE
Germany
Prior art keywords
micro
microinstruction
data processing
template
tmma
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.)
Expired
Application number
DE2847575A
Other languages
English (en)
Other versions
DE2847575A1 (de
Inventor
geb. Kumar Ram Dowingtown Pa. Gupta
Chandrakant R. Norristown Pa. Vora
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.)
Unisys Corp
Original Assignee
Burroughs Corp
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 Burroughs Corp filed Critical Burroughs Corp
Publication of DE2847575A1 publication Critical patent/DE2847575A1/de
Application granted granted Critical
Publication of DE2847575C2 publication Critical patent/DE2847575C2/de
Expired 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/22Microcontrol or microprogram arrangements
    • G06F9/28Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
    • 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/3867Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines

Description

Die Erfindung bezieht sich auf eine Einrichtung zur Abgabe von Mikrobefehlen an mehrere Stufen einer mikroprogrammierbaren Pipeline-Datenverarbcitungseinrichtung, welche mehrere adressierbarc Mikrobcfehlsschablonen-Speichereinheiten (TMM 1 ... 7"MM 5) zum Speichern von Mikrobefehlsschablonen aufweist, die den einzelnen Stufen der Pipeline-Datenverarbeitungseinrichtung zugeordnete Mikrobefehle enthalten.
Es sind mikroprogrammierbare Pipeline-Datenverarbeitungseinrichtungen bekannt, die in mehrere Stufen unterteilt sind, die unabhängig voneinander Daten bearbeiten, die von einer Pipeline-Stufe zur anderen weitergeleitet werden. Zur Erhöhung des Datendurchsatzes
werden jeweils neue Daten den ersten Stufen zugeführt, während die alten, von den ersten Stufen bereits bearbeiteten Daten in den letzten Stufen weiterbearbeitet werden. Bei der bekannten mikroprogrammierbaren Datenverarbeitungseinrichtung spricht jede Stufe auf
ίο Mikrobefehle an, so daß beispielsweise eine arithmetisch-logische Stufe auf Mikrobefehle anspricht und arithmetische und logische Operationen durchführt, während eine Speicherstufe beispielsweise von einem Steuer-Mikrobefehl aufgefordert wird, Daten oder Befehle aus einer angegebenen Adresse auszulesen und an eine Sammelleitung, ein Register oder eine Stufe abzugeben oder Daten unter einer angegebenen Adresse zu speichern. Um einen maximalen Durchsatz der mikroprogrammierbaren Datenverarbeitungseinrichtung zu erreichen, ist bei den bekannten mikroprogrammierbaren Pipeline-Datenverarbeitungseinrichtungen die Steuereinrichtung zur Zufuhr der richtigen Steuer-Mikrobefehle zu den einzelnen Stufen aufwendig und kompliziert. Diese Steuerprobleme erhöhen sich bei der BiI-dung von Schleifen innerhalb einzelner Stufen und unter Einbeziehung mehrerer Stufen der Pipeline-Datenverarbeitungseinrichtung, wodurch die Anordnung doppelter Stufen gleicher Funktion in der Pipeline-Datenverarbeitungseinrichtung vermieden wird.
Die durch die mikroprogrammierbare Pipeline-Datenverarbeitungseinrichtung fließenden Daten werden mittels Mikrobefehlsschablonen gesteuert, die den einzelnen Stufen der Pipeline-Datenverarbeitungseinrichtung zugeordnete Mikrobefehle enthalten. Unter der Bezeichnung »Mikrobefehlsschablone« ist eine Folge oder Gruppe einzelner Mikrobefehle zu verstehen, die nacheinander bzw. zeitlich versetzt an die einzelnen Funktionsstufen der mikroprogrammierbaren Pipeline-Datenverarbeitungseinrichtung abgegeben werden.
Aufgrund der Eigenart einer Pipeline-Datenverarbeitungseinrichlung, die einzelnen Daten stufenweise zu erarbeiten sowie aufgrund der Notwendigkeit, einen möglichst hohen Datendurchsatz zu erzielen, können bei der Bearbeitung der einzelnen Daten in den Funktionsstufen der Pipeline-Datenverarbeitungseinrichlung Überschneidungen bei der Bereitstellung bzw. Abgabe von Mikrobefehlen zur Bearbeitung von Makrobefehlen bzw. Daten auftreten. Aus diesem Grunde werden die erforderlichen Mikrobefehle zu einer Miso krobefehlsschablone zusammengefaßt, die nacheinander bzw. in einem bestimmten, zeitlichen Versatz die einzelnen Funktionsstufen der Pipeline-Datenverarbeilungseinrichtung ansteuern. Ein besonderes Problem tritt jedoch dann auf, wenn innerhalb der Pipeline-Datenverarbeitungseinrichtung Schleifen gebildet werden, die sowohl bezüglich einer einzelnen Stufe als auch hinsichtlich mehrerer Stufen der Pipeline-Datenverarbeitungseinrichtung vorgesehen werden können.
Aus der US-PS 37 60 369 ist eine Mikroprogramm-Steuereinrichtung bekannt, bei der die Steuerfunktion der Mikroprogrammsteuerung über mehrere voneinander unabhängige Steuerspeichereinheiten verteilt wird. Während eine erste Steuerspeichereinheit den Befehlsabruf sowie Unterbrechungen steuert, sind mehrere zweite Steuerspeichereinheiten zur Adressenerzeugung und zum Abrufen von Operanden vorgesehen. Eine weitere Steuerspeichereinheit dient zur Steuerung der Befchlsausführungsoperation der die Mikroprogramm-
Steuereinrichtung enthaltenden Datenverarbeitungseinrichtung. Die Betätigung der einzelnen Steuerspeichereinheiten wird von einem Befehlsfolgegenerator gesteuert, der eine bestimmte Steuersignalfolge zum Abarbeiten eines von der Datenverarbeitungseinrichtung auszuführenden Befehlsteils abgibt, wobei der Befehlsfolgegenerator die Befehlsfolge Uv der Weise steuert, daß er der Reihe nach bzw. unter Steuerung eines Prioritäts-Netzwerkes die einzelnen Steuerspeichereinheiten ansteuert, die daraufhin die ihnen jeweils zugeordnete Funktion durchführen. Dadurch werden die einzelnen Mikroprogramm-Steuerspeichereinheiten nur dann angesteuert, wenn ein spezieller, auszuführender Befehl den Zugriff auf einen in einem dieser Steuerspeichereinheiten gespeicherten Mikrobefehl erforderlich macht.
Aufgabe der vorliegenden Erfindung ist es, eine Steuereinrichtung der eingangs genannten Art für eine Pipeline-Datenverarbeitungseinrichtung zu schaffen, die ein optimales Zusammenwirken der einzelnen Stufen der Pipeline-Datenverarbeitungseinrichtung auch bei Schleifenbildungen gewährleistet.
Diese Aufgabe wird erfindungsgemäß gelöst durch eine Mikrospeicher-Adressiereinrichtung zur gleichzeitigen Adressierung sämtlicher Mikrobefehlsschablonen-Speichereinheiten.
Die gleichzeitige Adressierung sämtlicher Speichereinheiten durch eine gemeinsame Mikrospeicher-Adressiereinrichtung gewährleistet eine gleichlaufende Funktion sämtlicher Stufen in der Pipeline-Datenverarbeitungseinrichtung, so daß zum einen der mikropsogrammierbaren Datenverarbeitungseinrichtung die einzelnen Steuer-Mikrobefehle in der richtigen Folge zugeführt und zum anderen eine mikroprogrammierbare Pipeline-Datenverarbeitungseinrichtung mit einer Schleifenbildung der einzelnen Stufen der mikroprogrammierbaren Pipeline-Datenverarbeitungseinrichtung verwendet werden kann. Dabei werden nicht einzelne Mikrobefehlsschablonen zum Abarbeiten eines auszuführenden Befehlsteils an die einzelnen Speichereinheiten abgegeben, sondern eine gleichzeitige Adressierung sämtlicher Speichereinheiten vorgenommen.
Anhand eines in der Zeichnung dargestellten Ausführungsbeispieles soll der der Erfindung zugrundeliegende Gedanke näher erläutert werden. Es zeigt
Fig. 1 ein Blockschaltbild einer mikroprogrammierbaren Pipeline-Datenverarbeitungseinrichtung mit einer gemeinsamen Mikrospeicher-Adressiereinrichtung;
F i g. 2 ein Blockschaltbild der Mikrospeicher-Adressiereinrichtunggemäß Fig. 1;
Fig.3 eine alternative Ausführungsform der Mikrospeicher-Adressiereinrichtunggemäß Fig. 1;
Fig.4 eine Darstellung des zeitlichen Ablaufs der Abgabe einzelner Mikrobefehlsschablonen zur Steuerung der Pipeline-Datenverarbeitungseinrichtung gemäß F i g. 1;
F i g. 5 ein Blockschaltbild einer Pipeline-Datenverarbeitungseinrichtung mit einer Schleifenbildung innerhalb einer und mit mehreren Stufen;
Fig.6 ein Blockschaltbild einer Mikrospeicher-Adressiereinrichtung für eine Pipeline-Datcnverarbeitungseinrichtung gemäß F i g. 5; und
Fig. 7 eine Darstellung des zeitlichen Ablaufs der Abgabe von Mikrobefehlsschablonen für eine Pipeline-Datenverarbeitungseinrichtung gemäß F i g. 5.
Die in Fig. 1 dargestellte Pipeline-Datenverarbeitungseinrichtung verarbeitet einen durch mehrere niikroprogrammierbare Stufen geleiteten Datenfluß und wird von der Einrichtung zur Abgabe von Mikrobefehlen gesteuert. Die Daten werden der Stufe 1 über einen Dateneingabekanal 11 zugeleitet und nacheinander durch die Stufen 2, 3, 4 und 5 zum Datenausgabekanal 13 geführt. Jede der Stufen 1 bis 5 weist ein zugehöriges Ausgnbe-Ablageregister 15 zur Zwischenspeicherung der Daten vor der Abgabe an die nachfolgende Stufe oder zum Datenausgabekanal 13 auf. Darüber hinaus ist jede Stufe 1 bis 5 über eine Steuerleitung 17 mit einer gemeinsamen Mikrospeicher-Adressiereinrichtung 19 verbunden, die Mikrobefehle /Ji bis /?5 an die einzelnen Stufen der Pipeline-Datenverarbeitungseinrichtung abgibt.
Die einzelnen Stufen 1 bis 5 der Pipeline-Datenverarbeitungseinrichtung sind beispielsweise als Speicher, Ausrichtnetzwerk oder Verarbeitungsstufe eines Parallelprozessors ausgebildet, wobei sowoh! parallel arbeitende als auch serielle Prozessoren verwendet werden können, vorausgesetzt, daß jede der Stufe mikropro-
grammierbar ist und alle Stufen zusammen als Pipeline hinsichtlich des Datendurchflusses und der Datenverarbeitung wirken.
Jede Stufe 1 bis 5 der Pipeline-Datenverarbeitungseinrichtung spricht auf Mikrobefehle an, die ihr über die Steuerleitung 17 zugeführt werden. Beispielsweise kann ein Mikrobefehl n, die Stufe 1 dazu veranlassen, Daten vom Dateneingabekanal 11 zu speichern oder Daten zur Stufe 2 zu übertragen. Die Adresse der zu speichernden oder zu übertragenden Daten muß in dem Mikrobefehl /?i nicht mitgeteilt werden, da die betreffende Adresse auch von einer anderen, nicht dargestellten Quelle geliefert werden kann.
Die Mikrospeicher-Adressiereinrichtung 19 gibt während jedes Datenverarbeitungszyklus Mikrobefehle /Ji bis /I2 ab, die für eine gleichlaufende Funktion der einzelnen Stufen 1 bis 5 der Pipeline-Datenverarbeitungseinrichtung sorgen. Die Mikrobefehle n, bis ns sind jeweils in mehreren Mikrobefehlsschablonen-Speichereinheitcn TMM1 bis TMM 5 gespeichert, die im einzelnen in F i g. 2 dargestellt sind. Dabei wird jede Mikrobefehlsschablonen-Speichereinheit TMM1 bis TMM5 durch ein ihr jeweils zugeordnetes Mikrospeicher-Adressenregister TMMA 1 bis TMMA 5 adressiert.
Eine Mikrobefehlsschablonen-Speicheradresse wird dem Mikrospeicher-Adressenregister TMMA 1 über einen Mikrospeicher-Adressenbus 21 jedesmal dann zugeführt, wenn eine neue Mikrobefehlsschablone ausgelöst werden soll, was in F i g. 4 anhand der Zeitperiode 1 für die Mikrobefehlsschablone Ti dargestellt ist. Mit
so der nächsten Taktperiode wird die in dem ersten Mikrospeicher-Adressenregister TMMA 1 enthaltene Adresse zum zweiten Mikrospeicher-Adressenregister TMMA 2 übertragen, während in das Mikrospeicher-Adressenregister TMMA 1 eine neue Adresse zuge-
5r> führt wird. Mit jeder Taktperiode des Systemtakts wird die in dem vorstehenden Mikrospeicher-Adressenregister gespeicherte Adresse an das nachfolgende Mikrospeicher-Adressenregister übertragen, d. h. die in dem ersten Mikrospeicher-Adressenregister TMMA 1 ge-
w) speicherte Adresse wird an das zweite Mikrospeicher-Adressenregister TMMA 2 übertragen, während die Adresse des zweiten Mikrospeicher-Adressenregisters TMMA 2 an das dritte Mikrospeicher-Adressenregister TMMA 3 übertragen wird usw.
b5 Dabei wird das erste Mikrospeicher-Adressenregister TMMA 1 für eine vorgegebene Mikrobefehlsschablone durch eine Taktperiode inkrementiert, d. h. für die TaktDeriodcn 2 und 3 für eine
ΓΙ. Nach Beendigung des Abrufs eines Mikrobefehls nt für eine vorgegebene Mikrobefehlsschablone (Zeitperiode 3 für Mikrobefehlsschablone Tl) für das erste M ikrospeicher- Adressenregister TMMA 1 entweder zurückgesetzt, d. h. auf eine Adresse gesetzt, die die Erzeugung von Mikrobefehlen n\ bis ns die in den Stufen t bis 5 keine Funktion auslösen, oder auf den Beginn einer neuen Mikrobefehlsschablone gesetzt. Das vorstehend erläuterte Verfahren zum Adressieren der Mikrobefehlsschablonen-Speichereinheiten TMMX bis TMMS legt deren Speicherstruktur fest. Beispielsweise sind die Anfangs-Mikrobefehle n\ bis /15 für eine gegebene Mikrobefehlsschablone bei der gleichen Adresse in den jeweiligen Mikrobefehlsschablonen-Speichereinheitcn TMMi bis TAiAfS gespeichert. Das gleiche Speichermuster gilt für die nachfolgenden Mikrobefehle ni bis n% für jede Mikrobefehlsschablone.
Gemäß Fig.3 adressiert in einer alternativen Ausführungsform ein Mikrospeicher-Adressenregister TMMA 1 eine einzige Mikrobefehlsschablonen-Speichereinheit TMM1,2,3, 4,5, die so aufgebaut ist, daß sie sämtliche Pipeline-Mikrobefehle ri\ bis n5 abgibt. Wenn sie adressiert wird, liefert sie einen ersten Mikrobefehl Πι und speichert alle anderen Mikrobefehle in einem ersten Register R 2,3,4,5. Mit Abgabe des Systemtakts liefert das erste Register R 2, 3, 4, 5 einen Mikrobefehl m und die restlichen Mikrobefehle werden in einem zweiten Register R 3,4,5 gespeichert. Dieses Verfahren wird solange fortgesetzt, bis der Mikrobefehl n5 vom vierten Register R 5 abgegeben wurde.
Die in den F i g. 2 und 3 dargestellten Ausführungen können in beliebiger Weise miteinander kombiniert werden. Beispielsweise kann die Anordnung gemäß F i g. 2 dazu verwendet werden, alle bis auf die letzten beiden Mikrobefehle /74 und /75 abzugeben, die beispielsweise von der Anordnung gemäß Fig.3 abgegeben werden.
Gemäß Fig.4 treten die einzelnen Mikrobcfehlsschablonen nacheinander auf. Wie in F i g. 4 dargestellt ist, besetzt eine Mikrobefehlsschablone einen diagonal geschnittenen Bereich aus einer Stufe der Pipeline-Datenverarbeitungseinrichtung, so daß beispielsweise eine erste Mikrobefehlsschablone Tl die Zeitspanne 1 bis 3 für die Stufe 1 besetzt, bei der die Stufe 1 auf einen gelieferten Mikrobefehl r>\ anspricht. Die von der ersten Mikrobefehlsschablone Tl eingefaßte Fläche setzt sich diagonal in dem dargestellten Diagramm zur Zeitspanne 5 bis 7 fort Die von der ersten Mikrobefehlsschablone T1 umfaßte Fläche wird von einer vorderen Diagonalen und einer rückwärtigen Diagonalen 25 begrenzt. Die rückwärtige Diagonale 25 dient auch als vordere Diagonale der nächsten Mikrobefehlsschablone TZ Alternativ könnte die zweite Mikrobefehlsschablone T2 um eine oder mehrere Zeitperioden verzögert werden. Die Mikrobefehlsschablone T2 weist eine rückwärtige Diagonale 27 auf. Aus der Darstellung wird deutlich, daß die Mikrobefehlsschablone 2 die Stufe 1 der Pipeline-Datenverarbeitungseinrichtung steuert während die vorhergehende Mikrobefehlsschablone Tl die Stufe 5 ansteuert Auf diese überlappende Weise werden sämtliche Pipeline-Datenverarbeitungsstufen beschäftigt gehalten. Wie dargestellt überstreicht die zweite Mikrobefehlsschablone T2 vier Zeitperioden, so daß sie wenigstens vier Zeitperioden braucht um ihre Aufgabe in wenigstens einer der Stufen 1 bis 5 abzuschließen. Die nachfolgenden Schablonen T3, T4 folgen daran anschließend.
Zur Steuerung der Abgabe der einzelnen Mikrobe
fehlsschablonen folgend wird die Adresse für die Mikrobefehlsschablone Tl dem ersten Mikrospeicher-Adressenregister TMMA 1 zugeführt und löst damit die Mikrobefehlsschablone aus. Drei Zeitperioden wird die Adresse für die zweite Mikrobefehlsschablone T2 dem ersten Mikrospeicher-Adressenregister TMMA 1 zugeführt. Vier Zeitperioden später wird die Adresse für die dritte Mikrobefehlsschablone T3 dem ersten Mikrospeicher-Adressenregister TMMA 1 zugesandt. Die Er- zeugung der Mikrobefehle ni bis n5 wird somit automalisch sequentiell in der oben erläuterten richtigen Ordnung ausgeführt.
In Fig.5 ist eine Pipeline-Datcnverarbeitungseinrichlung mit Rückkopplung bzw. Schleifenbildung darts gestellt. Das Ausgangsregister 15 für die dritte Stufe 3 der Pipeline-Datenverarbciiungseinrichtung besteht aus zwei Teilen, nämlich dem Ausgaberegistcr 15a zur Versorgung der vierten Pipeline-Stufe 4 sowie einem Ausgaberegister 156 zur Abgabe von Daten an den Da tcnausgabekanal 13. In gleicher Weise besteht das Aus gaberegister 15 der vierten Pipeline-Stufe 4 aus zwei Teilen, einem Ausgaberegister 15c, das mit dem Eingang der fünften Pipeline-Stufe 5 verbunden ist und einem Ausgaberegister 15d. das Daten zurück zum Eingang der vierten Pipeline-Stufe 4 führt.
Gemäß F i g. 6 werden die Mikrobefehle n\ bis n$ für die in F i g. 5 dargestellte Pipeline-Datenverarbeitungseinrichtung von Mikrobefehlsschablonen-Speichereinheiten TMAf 1 bis TAfM 8, die von dem Mikrospeicher- Adressenregister TMMA 1 bis TMMA 8 adressiert werden sowie über ODER-Gatter 27 bis 33 abgegeben. Dabei wird der erste Mikrobefehl ti\ von der ersten Mikrobefehlsschablonen-Speichereinheit TAiAf 1 abgegeben, die vom Ausgang des ersten M ikrospeicher-Adressen registers TMMA 1 adressiert wird. Der zweite Mikro befehl /72 wird vom Ausgang eines ersten ODER-Gatters 27 abgegeben, dessen Eingänge an die Ausgänge der zweiten und siebenten Mikrobefehlsschablonen-Speichereinheit TAfAfI und TMM 7 angeschlossen sind. Der dritte Mikrobefehl rtj wird vom Ausgang eines zweiten ODER-Gatters 29 abgegeben, dessen Eingänge mit den Ausgängen der dritten und achten Mikrobefehlsschablonen-Speichereinheit TAfAf 3 und TAfAf 8 verbunden sind. Der vierte Mikrobefehl n« steht am Ausgang eines dritten ODER-Gatters 31 an und entspricht entweder dem Ausgang der vierten Mikrobefehlsschablonen-Speichereinheit TMM 4 oder der fünften Mikrobefehlsschablonen-Speichereinheit TMM5, während der fünfte Mikrobefehl /75 von einem vierten ODER-Gatter 33 abgegeben wird, so daß er entweder·, dem Ausgang der fünften Mikrobefehlsschablonen-Speichereinheit TAfAf 5 und der sechsten Mikrobefeh'.sschablonen-Speichereinheit TAfAf 6 entspricht. In F i g. 7 ist als typische Steuer-Mikrobefehlsschablo ne für die Rückkopplungs-Pipelinestufen gemäß Fig.5 eine Mikrobefehlsschablone T5 dargestellt Vier Stufen-Zeitbereiche in der Mikrobefehlsschablone T6 wer-t den von der Mikrobefehlsschablone T5 benutzt, was durch die Punkte 37,39,41 und 43 in der Mikrobefehls^
schablone angegeben ist Um einen Überlauf der Mikrobefehlsschablonen zu verhindern, wie durch die Punkte 37,39,41 und 43 dargestellt ist könnten die Mikrobefehlsschablonen für acht virtuelle Stufen statt für fünf reale Stufen, wie dargestellt ausgelegt werden. Der Punkt 37 ist in der Mikrobefehlsschablonen-Speichereinheit TAfAf 5 kodiert während der Punkt 39 in dei Mikrobefehlsschablonen-Speichereinheit TAfAf 6, dw; Punkt 41 in der Mikrobefehlsschablonen-Speichereirfc
heit TMM 7 und der Punkt 43 in der Mikrobefehlsschablonen-Speichereinheit TMMB kodiert ist. Das Ausführen aller acht Stufen als reale Stufen würde jedoch nicht wirksam sein und würde dazu führen, daß nicht alle Stufen bei Ausführung von Rückkopplungsoperationen aktiv sind, wobei die Rückkopplungsoperationen nur bei wenigen Mikrobefehlsschablonen verlangt werden.
Die Mikrobefehlsschablone Γ5 weist auch eine Vierstufen-Zeitfläche auf, die zur Steuerung nicht benutzt wird, wie durch die schraffierten Flächen 45,47,49 und 51 dargestellt ist. Somit könnte die Mikrobefehlsschablone 6 eine solche Mikrobefehlsschablone sein, die die gleiche Form wie die Mikrobefehlsschablone 5 hat und zwar in der Weise, daß die unbenutzten Flächen 45, 47 und 5! ein Überlaufen der Mikrobcfchlsschablone 5 wie bei den Punkten 41,43,45 und 47 angedeutet, erlauben. Bei einer Überlauf-Mikrobefehlsschablone, wie elwa der Mikrobefehlsschablone 5, müssen die Mikrospeicher-Adressenregister entweder keine neue Mikrobe-. fehlsschablone adressieren, bis alles gelöscht ist (d. h. tue nichts während der Zeitperiode der Mikrobefehlsschablone T6 und löse die Mikrobefehlsschablone Tl als nächste Mikrobefehlsschablone aus), oder nur eine nicht überschneidende Mikrobefehlsschablone als Mikrobefehlsschablone T6 aussenden, wie etwa eine Mikrobefehlsschablone in der Form der Mikrobefehlsschablone 7-5.
In Abwandlung der vorstehend beschriebenen Ausführungsbeispiele kann beispielsweise zwischen der j<> Einrichtung zur Abgabe von Mikrobefehlsschabloncn und den einzelnen Stufen der Pipeline-Datenverarbcitungseinrichtung ein Dekodierer eingeschaltet sein, der die in den Mikrobcfehlsschablonen-Speichereinheiten gespeicherten Daten dekodiert oder modifiziert, ehe J5 diese Daten als Mikrobefehle in die Stufen der Pipcline-Datenverarbeitungseinrichtung gelangen.
Hierzu 3 Blatt Zeichnungen
40
45
iO
65

Claims (5)

Patentansprüche:
1. Einrichtung zur Abgabe von Mikrobefehlen an mehrere Stufen einer mikroprogrammierbaren Pipeline-Datenverarbeitungseinrichtung. welche mehrere adressierbare Mikrobefehlsschablonen-Speichereinheiten (TMMi ... TMAi5) zum Speichern von Mikrobefehlsschablonen aufweist, die den einzelnen Stufen der Pipeline-Datenverarbeitungseinrichtung zugeordnete Mikrobefehle enthalten, gekennzeichnet durch eine Mikrospeicher-Adressiereinrichtung (19) zur gleichzeitigen Adressierung sämtlicher Mikrobefehlsschablonen-Speichereinheiten (TMM 1... TMMn).
2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Mikrospeicher-AdressierewichtUDg (19) mehrere Mikrospeichsr-Adressenregister (TMMA 1 ... TMMAn) aufweist, von denen jedes eine Mikrobefehlsschablonen-Speichereinheit (TMM 1... TMMn) adressiert
3. Einrichtung nach Anspruch 2, dadurch gekennzeichnet, daß zur Auslösung einer neuen Mikrobefehlsschablone dem ersten Mikrospeicher-Adressenregister (TMMA 1) über einen Mikrospeicher-Adressenbus (21) eine MikroSpeicheradresse zuführbar ist, die mit jedem Takt in das nachfolgende Mikrospeicher-Adressenregister (TMMA 2
TMMAn) übertragen wird.
4. Einrichtung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Mikrospeicher-Adressiereinrichtung (19) aus einem Mikrospeicher-Adressenregister (TMMA 1) besteht, das eine Mikrobefehlsschablonen-Speichereinheit (TMM 1, 2, 3, 4, 5) adressiert, die einen ersten Steuerbefehl (n\) abgibt und die weiteren Mikrobefehlsschablonen fa... n$ in ein erstes Register (R 2, 3, 4, 5) einspeichert und daß dem ersten Register (R 2,3,4,5) nachgeschaltete weitere Register (R 3,4,5; R 4,5; R 5) jeweils die verbleibenden Mikrobefehlsschabloner. des vorstehenden Registers empfangen und eine Mikrobefehlsschablone (η}... π;) abgeben.
5. Einrichtung nach Anspruch 2, für eine Pipeline-Datenverarbeitungseinrichtung mit Rückkopplung, dadurch gekennzeichnet, daß die Mikrospeicher-Adressenregister (TMMA 1... TMMA 8) jeweils eine Mikrobefehlsschablonen-Speichereinheit (TMMi ... TMM8) adressieren, daß die erste Mikrobefehlsschablonen-Speichereinheit (TMMi) eine erste Mikrobefehlsschablone (n\) abgibt und daß die Ausgänge von jeweils zwei Mikrobefehlsschablonen-Speichereinheiten (TMM2 ... TMME) an die Eingänge jeweils eines ODER-Gatters (27, 29, 31, 33) gelegt sind, an deren Ausgänge die weiteren Mikrobefehlsschablonen (ni, /jj. η*, n$) anstehen.
DE2847575A 1977-11-17 1978-11-02 Einrichtung zur Abgabe von Mikrobefehlsschablonen an die Stufen einer Pipeline-Datenverarbeitungseinrichtung Expired DE2847575C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/838,070 US4228497A (en) 1977-11-17 1977-11-17 Template micromemory structure for a pipelined microprogrammable data processing system

Publications (2)

Publication Number Publication Date
DE2847575A1 DE2847575A1 (de) 1979-05-23
DE2847575C2 true DE2847575C2 (de) 1984-12-13

Family

ID=25276177

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2847575A Expired DE2847575C2 (de) 1977-11-17 1978-11-02 Einrichtung zur Abgabe von Mikrobefehlsschablonen an die Stufen einer Pipeline-Datenverarbeitungseinrichtung

Country Status (5)

Country Link
US (1) US4228497A (de)
JP (1) JPS5475935A (de)
DE (1) DE2847575C2 (de)
FR (1) FR2408174B1 (de)
GB (1) GB2008819B (de)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0576749B1 (de) * 1992-06-30 1999-06-02 Discovision Associates Datenpipelinesystem
JPS5619152A (en) * 1979-07-24 1981-02-23 Fujitsu Ltd Pipe-line processing system
JPS5621242A (en) * 1979-07-28 1981-02-27 Fujitsu Ltd Pipeline control method for computer operation
US4394729A (en) * 1980-10-16 1983-07-19 Ncr Corporation Jump return stack
JPS5785147A (en) * 1980-11-18 1982-05-27 Fujitsu Ltd Microprogram control device
CA1180457A (en) * 1981-04-17 1985-01-02 Peter N. Crockett Pipelined control apparatus with multi-process address storage
JPS58106636A (ja) * 1981-12-18 1983-06-25 Hitachi Ltd パイプライン演算装置
JPS58129651A (ja) * 1982-01-29 1983-08-02 Toshiba Corp パイプライン演算装置
US4471432A (en) * 1982-10-13 1984-09-11 Wilhite John E Method and apparatus for initiating the execution of instructions using a central pipeline execution unit
US4646075A (en) * 1983-11-03 1987-02-24 Robert Bosch Corporation System and method for a data processing pipeline
US5093775A (en) * 1983-11-07 1992-03-03 Digital Equipment Corporation Microcode control system for digital data processing system
WO1985002278A1 (en) * 1983-11-10 1985-05-23 Fujitsu Limited Microprogram control method
US4899275A (en) * 1985-02-22 1990-02-06 Intergraph Corporation Cache-MMU system
US4860192A (en) * 1985-02-22 1989-08-22 Intergraph Corporation Quadword boundary cache system
US4933835A (en) * 1985-02-22 1990-06-12 Intergraph Corporation Apparatus for maintaining consistency of a cache memory with a primary memory
US4884197A (en) * 1985-02-22 1989-11-28 Intergraph Corporation Method and apparatus for addressing a cache memory
JPH0743648B2 (ja) * 1985-11-15 1995-05-15 株式会社日立製作所 情報処理装置
US4811214A (en) * 1986-11-14 1989-03-07 Princeton University Multinode reconfigurable pipeline computer
US4899307A (en) * 1987-04-10 1990-02-06 Tandem Computers Incorporated Stack with unary encoded stack pointer
US5150469A (en) * 1988-12-12 1992-09-22 Digital Equipment Corporation System and method for processor pipeline control by selective signal deassertion
GB9017537D0 (en) * 1990-08-10 1990-09-26 Albright & Wilson Cure unit
US5471626A (en) * 1992-05-06 1995-11-28 International Business Machines Corporation Variable stage entry/exit instruction pipeline
US5809270A (en) * 1992-06-30 1998-09-15 Discovision Associates Inverse quantizer
US6263422B1 (en) 1992-06-30 2001-07-17 Discovision Associates Pipeline processing machine with interactive stages operable in response to tokens and system and methods relating thereto
US6330665B1 (en) 1992-06-30 2001-12-11 Discovision Associates Video parser
US5842033A (en) * 1992-06-30 1998-11-24 Discovision Associates Padding apparatus for passing an arbitrary number of bits through a buffer in a pipeline system
US5768561A (en) * 1992-06-30 1998-06-16 Discovision Associates Tokens-based adaptive video processing arrangement
US7095783B1 (en) 1992-06-30 2006-08-22 Discovision Associates Multistandard video decoder and decompression system for processing encoded bit streams including start codes and methods relating thereto
US6112017A (en) * 1992-06-30 2000-08-29 Discovision Associates Pipeline processing machine having a plurality of reconfigurable processing stages interconnected by a two-wire interface bus
US6079009A (en) * 1992-06-30 2000-06-20 Discovision Associates Coding standard token in a system compromising a plurality of pipeline stages
US6047112A (en) * 1992-06-30 2000-04-04 Discovision Associates Technique for initiating processing of a data stream of encoded video information
US6067417A (en) * 1992-06-30 2000-05-23 Discovision Associates Picture start token
US5835792A (en) * 1993-06-24 1998-11-10 Discovision Associates Token-based adaptive video processing arrangement
US5805914A (en) * 1993-06-24 1998-09-08 Discovision Associates Data pipeline system and data encoding method
US5861894A (en) * 1993-06-24 1999-01-19 Discovision Associates Buffer manager
US6128721A (en) * 1993-11-17 2000-10-03 Sun Microsystems, Inc. Temporary pipeline register file for a superpipelined superscalar processor
FR2731095B1 (fr) * 1995-02-23 1997-04-30 Dufal Frederic Procede et dispositif de commande simultanee des etats de controle des unites d'execution d'un processeur programmable a architecture du type pipeline, notamment un processeur de traitement d'images
WO2000008555A1 (en) * 1998-08-06 2000-02-17 Koninklijke Philips Electronics N.V. Data processing device
US6615338B1 (en) * 1998-12-03 2003-09-02 Sun Microsystems, Inc. Clustered architecture in a VLIW processor
US7117342B2 (en) * 1998-12-03 2006-10-03 Sun Microsystems, Inc. Implicitly derived register specifiers in a processor
US7114056B2 (en) 1998-12-03 2006-09-26 Sun Microsystems, Inc. Local and global register partitioning in a VLIW processor
US6862677B1 (en) * 2000-02-16 2005-03-01 Koninklijke Philips Electronics N.V. System and method for eliminating write back to register using dead field indicator
US6851044B1 (en) * 2000-02-16 2005-02-01 Koninklijke Philips Electronics N.V. System and method for eliminating write backs with buffer for exception processing
EP1199629A1 (de) * 2000-10-17 2002-04-24 STMicroelectronics S.r.l. Prozessorarchitektur mit veränderlichen Pipelinestufen
WO2004010286A2 (en) * 2002-07-23 2004-01-29 Gatechange Technologies, Inc. Self-configuring processing element
US20040019765A1 (en) * 2002-07-23 2004-01-29 Klein Robert C. Pipelined reconfigurable dynamic instruction set processor
US7091982B2 (en) * 2004-05-14 2006-08-15 Nvidia Corporation Low power programmable processor
US7389006B2 (en) * 2004-05-14 2008-06-17 Nvidia Corporation Auto software configurable register address space for low power programmable processor
US7250953B2 (en) * 2004-05-14 2007-07-31 Nvidia Corporation Statistics instrumentation for low power programmable processor

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3629853A (en) * 1959-06-30 1971-12-21 Ibm Data-processing element
US3544973A (en) * 1968-03-13 1970-12-01 Westinghouse Electric Corp Variable structure computer
US3566364A (en) * 1968-07-19 1971-02-23 Burroughs Corp Data processor having operator family controllers
US3745532A (en) * 1970-05-27 1973-07-10 Hughes Aircraft Co Modular digital processing equipment
US3634828A (en) * 1970-08-26 1972-01-11 United Aircraft Corp Graphical data processing apparatus
US3787673A (en) * 1972-04-28 1974-01-22 Texas Instruments Inc Pipelined high speed arithmetic unit
US3760369A (en) * 1972-06-02 1973-09-18 Ibm Distributed microprogram control in an information handling system
US3815095A (en) * 1972-08-29 1974-06-04 Texas Instruments Inc General-purpose array processor
GB1448866A (en) * 1973-04-13 1976-09-08 Int Computers Ltd Microprogrammed data processing systems
US3875391A (en) * 1973-11-02 1975-04-01 Raytheon Co Pipeline signal processor
US3900836A (en) * 1973-11-30 1975-08-19 Ibm Interleaved memory control signal handling apparatus using pipelining techniques
US4025771A (en) * 1974-03-25 1977-05-24 Hughes Aircraft Company Pipe line high speed signal processor
US4040029A (en) * 1976-05-21 1977-08-02 Rca Corporation Memory system with reduced block decoding

Also Published As

Publication number Publication date
GB2008819A (en) 1979-06-06
US4228497A (en) 1980-10-14
FR2408174A1 (de) 1979-06-01
DE2847575A1 (de) 1979-05-23
JPS6120013B2 (de) 1986-05-20
GB2008819B (en) 1982-04-07
JPS5475935A (en) 1979-06-18
FR2408174B1 (de) 1986-06-27

Similar Documents

Publication Publication Date Title
DE2847575C2 (de) Einrichtung zur Abgabe von Mikrobefehlsschablonen an die Stufen einer Pipeline-Datenverarbeitungseinrichtung
DE2353258C2 (de) Datenverarbeitungsanlage
DE1915818C3 (de) Steuerschaltung für ein elektronisches Datenverarbeitungssystem
DE1934365B2 (de) Umschaltanordnung fuer eine multiprogramm-datenverarbeitungsanlage
DE1774296B2 (de) Restruktuierbare Steuereinheit für elektronische Digitalrechner
DE2758830A1 (de) Rechenvorrichtung
DE2539211A1 (de) Zugriffssteuereinheit
DE2750344A1 (de) Verfahren und vorrichtung zum gleichzeitigen betaetigen irgendeiner anzahl einer mehrzahl von vorrichtungen
DE4134392C2 (de) Verfahren und Vorrichtung zum Ungültigmachen von Befehlen in Geräten mit Parallelverarbeitung
DE2944757A1 (de) Prozessrechner
DE2720842C3 (de) Datenübertragungssystem
DE1180171B (de) Zahlenrechner
DE2847479C2 (de) Einrichtung zur sequentiellen Abgabe von Mikrobefehlen an eine mikroprogrammierbare Pipeline-Datenverarbeitungseinrichtung
DE1499224C3 (de) Datenverarbeitungsanlage mit Kellerspeichereinrichtungen
DE2710436C2 (de) Datenverarbeitungseinrichtung
DE1449561C3 (de) Rechenmaschine mit mechanischen Eingabe- und Ausgabevorrichtungen sowie elektronischem Rechen- und Speicherwerk
DE60302103T2 (de) Steuerungsvorrichtung für eine Maschine
DE1194605B (de) Verbesserung an Geraeten zur Verarbeitung von Angaben, Informationen od. dgl.
DE2622140C3 (de) Einrichtung zur Steuerung manueller Operationen
DE2815623C2 (de) Anordnung zur Aufzweigung eines Befehlsinformationsflusses
DE3603240C2 (de)
DE1087834B (de) Rechenmaschine
DE2345098C3 (de) Steuerwerk für einen Prozessor eines Rechners
DE1774422A1 (de) Datenverarbeitungssystem
DE1499191C3 (de) Elektronische Einrichtung für eine Datenverarbeitungsanlage

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.

8110 Request for examination paragraph 44
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee