DE2847575C2 - Einrichtung zur Abgabe von Mikrobefehlsschablonen an die Stufen einer Pipeline-Datenverarbeitungseinrichtung - Google Patents
Einrichtung zur Abgabe von Mikrobefehlsschablonen an die Stufen einer Pipeline-DatenverarbeitungseinrichtungInfo
- 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
Links
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000000034 method Methods 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- AQHIZIBWHMOFTL-UHFFFAOYSA-N 1-[3,5-bis(2-pyridin-2-ylbenzimidazol-1-yl)phenyl]-2-pyridin-2-ylbenzimidazole Chemical compound N1=CC=CC=C1C1=NC2=CC=CC=C2N1C1=CC(N2C3=CC=CC=C3N=C2C=2N=CC=CC=2)=CC(N2C3=CC=CC=C3N=C2C=2N=CC=CC=2)=C1 AQHIZIBWHMOFTL-UHFFFAOYSA-N 0.000 description 1
- 235000015429 Mirabilis expansa Nutrition 0.000 description 1
- 244000294411 Mirabilis expansa Species 0.000 description 1
- 108010076504 Protein Sorting Signals Proteins 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000813 microbial effect Effects 0.000 description 1
- 235000013536 miso Nutrition 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/28—Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Debugging And Monitoring (AREA)
- Electrophonic Musical Instruments (AREA)
- Complex Calculations (AREA)
- Memory System Of A Hierarchy Structure (AREA)
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-
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
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.
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)
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.
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.
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)
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 |
US4812970A (en) * | 1983-11-10 | 1989-03-14 | Fujitsu Limited | Microprogram control system |
US4884197A (en) * | 1985-02-22 | 1989-11-28 | Intergraph Corporation | Method and apparatus for addressing a cache memory |
US4860192A (en) * | 1985-02-22 | 1989-08-22 | Intergraph Corporation | Quadword boundary cache system |
US4899275A (en) * | 1985-02-22 | 1990-02-06 | Intergraph Corporation | Cache-MMU system |
US4933835A (en) * | 1985-02-22 | 1990-06-12 | Intergraph Corporation | Apparatus for maintaining consistency of a cache memory with a primary 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 |
US5603012A (en) | 1992-06-30 | 1997-02-11 | Discovision Associates | Start code detector |
US6047112A (en) * | 1992-06-30 | 2000-04-04 | Discovision Associates | Technique for initiating processing of a data stream of encoded video information |
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 |
US6079009A (en) * | 1992-06-30 | 2000-06-20 | Discovision Associates | Coding standard token in a system compromising a plurality of pipeline stages |
US6330665B1 (en) | 1992-06-30 | 2001-12-11 | Discovision Associates | Video parser |
US6067417A (en) * | 1992-06-30 | 2000-05-23 | Discovision Associates | Picture start token |
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 |
US5768561A (en) * | 1992-06-30 | 1998-06-16 | Discovision Associates | Tokens-based adaptive video processing arrangement |
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 |
US5829007A (en) * | 1993-06-24 | 1998-10-27 | Discovision Associates | Technique for implementing a swing buffer in a memory array |
US5861894A (en) * | 1993-06-24 | 1999-01-19 | Discovision Associates | Buffer manager |
US5805914A (en) * | 1993-06-24 | 1998-09-08 | Discovision Associates | Data pipeline system and data encoding method |
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 |
US7114056B2 (en) | 1998-12-03 | 2006-09-26 | Sun Microsystems, Inc. | Local and global register partitioning in a VLIW processor |
US7117342B2 (en) * | 1998-12-03 | 2006-10-03 | Sun Microsystems, Inc. | Implicitly derived register specifiers in a processor |
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 |
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 |
EP1199629A1 (de) * | 2000-10-17 | 2002-04-24 | STMicroelectronics S.r.l. | Prozessorarchitektur mit veränderlichen Pipelinestufen |
AU2003256699A1 (en) * | 2002-07-23 | 2004-02-09 | Gatechange Technologies, Inc. | Self-configuring processing element |
WO2004010320A2 (en) * | 2002-07-23 | 2004-01-29 | Gatechance Technologies, Inc. | Pipelined reconfigurable dynamic instruciton set processor |
US7250953B2 (en) * | 2004-05-14 | 2007-07-31 | Nvidia Corporation | Statistics instrumentation for low power programmable 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 |
Family Cites Families (13)
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 |
-
1977
- 1977-11-17 US US05/838,070 patent/US4228497A/en not_active Expired - Lifetime
-
1978
- 1978-10-24 GB GB7841697A patent/GB2008819B/en not_active Expired
- 1978-11-02 DE DE2847575A patent/DE2847575C2/de not_active Expired
- 1978-11-02 JP JP13568678A patent/JPS5475935A/ja active Granted
- 1978-11-03 FR FR7831215A patent/FR2408174B1/fr not_active Expired
Also Published As
Publication number | Publication date |
---|---|
FR2408174A1 (de) | 1979-06-01 |
GB2008819B (en) | 1982-04-07 |
JPS5475935A (en) | 1979-06-18 |
US4228497A (en) | 1980-10-14 |
DE2847575A1 (de) | 1979-05-23 |
GB2008819A (en) | 1979-06-06 |
JPS6120013B2 (de) | 1986-05-20 |
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 | |
DE69130630T2 (de) | Synchrones Verfahren und Gerät für Prozessoren | |
DE1934365B2 (de) | Umschaltanordnung fuer eine multiprogramm-datenverarbeitungsanlage | |
DE1774296B2 (de) | Restruktuierbare Steuereinheit für elektronische Digitalrechner | |
DE2539211A1 (de) | Zugriffssteuereinheit | |
DE4134392C2 (de) | Verfahren und Vorrichtung zum Ungültigmachen von Befehlen in Geräten mit Parallelverarbeitung | |
DE2750344A1 (de) | Verfahren und vorrichtung zum gleichzeitigen betaetigen irgendeiner anzahl einer mehrzahl von vorrichtungen | |
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 | |
EP0033451B1 (de) | Schaltungsanordnung für Fernmeldevermittlungsanlagen, insbesondere Fernsprechvermittlungsanlagen, mit Speichereinrichtungen für Steueraufträge | |
DE2345098C3 (de) | Steuerwerk für einen Prozessor eines Rechners | |
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 |