DE3855065T2 - Folgemikrobefehlserzeuger in einer Mikroprogrammsteuereinheit - Google Patents
Folgemikrobefehlserzeuger in einer MikroprogrammsteuereinheitInfo
- Publication number
- DE3855065T2 DE3855065T2 DE19883855065 DE3855065T DE3855065T2 DE 3855065 T2 DE3855065 T2 DE 3855065T2 DE 19883855065 DE19883855065 DE 19883855065 DE 3855065 T DE3855065 T DE 3855065T DE 3855065 T2 DE3855065 T2 DE 3855065T2
- Authority
- DE
- Germany
- Prior art keywords
- address
- microinstruction
- branch
- microprogram
- memory
- 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 - Fee Related
Links
- 230000004913 activation Effects 0.000 claims description 19
- 238000000034 method Methods 0.000 claims description 6
- 230000001419 dependent effect Effects 0.000 claims description 2
- 230000004044 response Effects 0.000 claims description 2
- 230000001360 synchronised effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 4
- 230000000630 rising effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 230000003068 static 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Description
- Die vorliegende Erfindung betrifft eine Mikroprogramm- Steuereinheit mit
- - Speichermitteln zur Speicherung einer Anzahl von Mikrobefehlen;
- - an die Adresseingänge der Speichermittel angekoppelten Einrichtungen zur Lieferung, während des gegenwärtigen Mikrobefehlszyklus, sowohl einer Verzweigungsadresse von einem gegenwärtigen Mikrobe fehl, der durchgeführt wird, als auch einer Nicht- Verzweigungsadresse an die Adresseingänge für den Zugriff auf die Speichermittel in Folge abhängig von der Adresse des gegenwärtigen Mikrobefehls;
- - Einrichtungen, welche an die adressuefernden Einrichtungen angekoppelt sind, um die an die Adresseneingänge der Speichermittel gelieferte Adresse zu inkrementieren; und
- - an die Ausgänge der Speichermittel angekoppelten Einrichtungen zur Auswahl eines Verzweigungs-Mikrobefehls oder eines Nicht-Verzweigungs-Mikrobefehls, zu denen durch die genannte Verzweigungsadresse bzw. Nicht-Verzweigungsadresse Zugriff genommen wird.
- Es ist in der Computerindustrie allgemein üblich geworden, Datenverarbeitungseinrichtungen zu entwickeln, welche Steuerspeicher mit einer Anzahl von Mikrobefehlen enthalten, um den Betrieb solcher Datenverarbeitungseinrichtungen zu steuern. Diese Steuerspeicher werden auf der Basis des Inhalts derartiger Mikrobefehle so wie anderer Eingaben abhängig von den in einer Datenverarbeitungseinrichtung durchzuführenden Operationen adressiert. Der Zugriff auf
- Seite - 1 -den nächsten Mikrobefehl, wobei dessen Adresse bedingungsmäßig auf der Zustandsinformation aufgrund der Ausführung des gegenwärtigen Mikrobefehls beruht, ist in der Datenverarbeitungseinrichtung von Wichtigkeit. Würde man nicht so verfahren, wäre ein zusätzlicher Mikrobefehl erforderlich, da eine Adressierung unter einer Bedingung auf der Zustandsinformation beruhen muß, die durch die Durchführung des vorausgehenden Mikrobefehls erzeugt wird. Eine Mikroprogrammsteuerung und ein Mikrobefehlskonzept nach dem Stande der Technik sind in vielen Veröffentlichungen beschrieben, von denen eine die Veröffentlichung "Digital System Design with LSI Bitslice Logic" von Glenford J. Myers, John Wiley & Sons, Inc., 1980, ist.
- Zusätzlich ist bedeutsam, daß der Zugriff auf den nächsten Mikrobefehl gleichlaufend mit der Durchführung des gegenwärtigen Mikrobefehls durch die Datenverarbeitungseinrichtung erfolgt. Geschieht es ist nicht in dieser Weise, so wäre die Mikrobefehls-Ausführungszeit die Summe der Datenverarbeitungs-Durchführungszeit und der Steuerspeicher- Zugriffszeit, und demgemäß wäre die gesamte Durchführungszeit wesentlich verlängert. Aus diesem Grunde ist es wünschenswert, den nächsten Mikrobefehl mit seiner auf der Zustandsinformation aufgrund der Durchführung des gegenwärtigen Mikrobefehls bedingungsmäßig basierenden Adresse durch die Datenverarbeitungseinrichtung gleichlaufend mit der Durchführung des gegenwärtigen Mikrobefehls durch die Datenverarbeitungseinrichtung verfügbar zu machen. Dadurch, daß man diese Möglichkeit vorsieht, wird die Leistungsfähigkeit der Datenverarbeitungseinrichtung verbessert, indem weder zusätzliche Mikrobefehle erforderlich werden, noch die Mikrobefehl-Taktzeit verlangsamt wird. Ein entsprechender Mikroprogramm-Steuerspeicher.ist in dem US-Patent 4 587 611 gezeigt und beschrieben, welches Gene M. Amdahl und Hsiao-Peng S. Lee erteilt und an Amdahl Corporation of Sunnyvale, Kalifornien übertragen ist. In dem Patent von Amdahl u.a. ist eine Mikroprogrammfolgeeinrichtung beschrieben, die zwei oder mehr Steuerschalter aufweist, welche eine Nichtverzweigungsadresse veranlaßt, einen ersten Mikrobefehl aus einem ersten Steuerspeicher zu nehmen und eine Verzweigungsadresse für den Zugriff zu einem zweiten Mikrobefehl von einem zweiten Steuerspeicher zu nehmen.
- Da die Mikrobefehle von der Verzweigungsadresse und der Nichtverzweigungsadresse gleichzeitig verfügbar sind, ergibt sich keine Verzögerung nach Feststellung des Zustandes der Verzweigungsbedingungen. Es ist jedoch zusätzliche Hardware für jeden Steuerspeicher erforderlich, um eine solche Mikroprogrammfolgeeinrichtung zu verwirklichen.
- Die EP-A-0 190 484 beschreibt eine Mikroprogramm-Steuereinheit der zuvor eingangs definierten Art, bei welcher ein Vorentnahmeregister von dem Speicher (dem Steuerspeicher) mit dem Nichtverzweigungs-Mikrobefehl in der ersten Takthälfte geladen wird, und ein Vorentnahme-Puffer gibt in der zweiten Takthälfte den Verzweigungs-Mikrobefehl von dem Speicher weiter. Durch eine arithmethische und logische Einheit in Abhängigkeit von dem gegenwärtig durchgeführten Mikrobefehl erzeugte Steuersignale übertragen den einen oder anderen dieser Nichtverzweigungs- und Verzweigungs-Mikrobefehle zu einem Mikro-Wortregister für die Durchführung in den nächsten Takt. Eine Verzweigungsadresse in dem Mikrobefehl im Mikrowortregister wird von diesem Register über eine verzweigungsadressenweitergebende Schaltung an einen Adressenmultiplexer übertragen. Der Multiplexer nimmt auch die Adresse des nächsten Mikrobefehls in der Folge zu dem gegenwärtig durchgeführten Mikrobefehl auf. Der Adressenmultiplexer ist so gesteuert, daß er in der ersten Hälfte eines Taktes die nächstfolgende Adresse und in der zweiten Takthälfte die Verzweigungsadresse zu dem Speicher gibt. Zur Erzeugung der nächstfolgenden Adresse enthält die Einheit einen Programmrechner mit innerhalb einer Schleife vorgesehenem Addierer zur Erzeugung einer Folge von Adressen, sowie einen Verzweigungshaltekreis mit einem Addierer zur Erzeugung der nächsten Adresse in der Folge nach der gegenwärtig zugeführten Verzweigungsadresse, wenn der entsprechende Verzweigungs-Mikrobefehl für die Durchführung ausgewählt ist. Die jeweiligen inkrementierten Adressen, die von dem Programmzähler und dem Verzweigungs-Haltekreis abgeführt werden, werden zu gesonderten Eingängen eines weiteren Multiplexes geführt, der den Adressenmultiplexer speist.
- Gemäß einem Aspekt der vorliegenden Erfindung ist eine Mikroprogramm-Steuereinheit der zuvor Eingangs definierten Art dadurch gekennzeichnet,
- - daß Einrichtungen zur selektiven Erzeugung oder Nichterzeugung eines ersten Wirksamschaltungssignales und eines zweiten Wirksamschaltungssignales in Abhängigkeit von dem gerade ausgeführten gegenwärtigen Mikrobefehl vorgesehen sind;
- - daß die Inkrementierungseinrichtungen so ausgebildet sind, daß sie auf die Adresse für jeden Mikrobefehl, auf den durch die adressliefernden Einrichtungen Zugriff genommen wird, folgend eine nächstfolgende Adresse erzeugen;
- - daß zwischen einem Ausgang der adressinkrementierenden Einrichtungen und einem Eingang der adressliefernden Einrichtungen Mittel zur selektiven Speicherung einer nächstfolgenden Mikrobefehlsadresse am Ende des gegenwärtigen Mikrobefehlszyklus in Abhängigkeit von der selektiven Erzeugung oder Nichterzeugung des genannten oder zweiten Wirksamschaltungssignales durch die wirksamschaltungssignalerzeugenden Einrichtungen geschaltet sind; und
- - daß die mikrobefehlauswählenden Einrichtungen so ausgebildet sind, daß sie in Abhängigkeit von dem genannten ersten oder zweiten Wirksamschaltungssignal, welches selektiv durch die die Wirksamschaltungssignale erzeugenden Einrichtungen während des gegenwärtigen Mikrobefehlszyklus erzeugt werden oder nicht, in Tätigkeit treten.
- Gemäß einem anderen Aspekt der Erfindung umfaßt ein Verfahren zur Entnahme von Mikrobefehlen, welche in einem adressierbaren Speicher gespeichert sind, folgende Schritte:
- Adressieren des Speichers eines gegenwärtigen Mikrobefehlszyklus mit sowohl einer Verzweigungsadresse von einem gegenwärtigen Mikrobefehl, welcher gerade ausgeführt wird, als auch einer Nichtverzweigungsadresse, welche relativ zur Adresse des gegenwärtigen Mikrobefehls in Folge liegt;
- Erzeugen einer inkrementierten Adresse aus einer Adresse, mit welcher der Speicher adressiert wird; und
- Auswahl entweder eines Verzweigungs-Mikrobefehls oder eines Nichtverzweigungsbefehls, auf den durch eine Verzweigungadresse bzw. eine Nichtverzweigungsadresse Zugriff genommen wird,
- wobei das Verfahren dadurch gekennzeichnet ist, daß der Schritt des Erzeugens einer inkrementierten Adresse das Inkrementieren der Adresse jedes in dem Speicher gerade angewählten Mikrobefehls und damit die Schaffung einer nächstfolgenden Adresse, sowie das Speichern einer gewählten nächstfolgenden Adresse an dem Ende des gegenwärtigen Mikrobefehlszyklus umfaßt; und
- daß ein erstes Wirksamschaltungssignal und ein zweites Wirksamschaltungssignal von dem gegenwärtigen ausgeführten Mikrobefehl jeweils erzeugt werden oder nicht, wobei die Auswahl des Verzweigungs-Mikrobefehls oder des Nichtverzweigungs-Mikrobefehls und der nächstfolgenden Adresse von der Erzeugung oder Nichterzeugung des ersten und zweiten Wirksamschaltungssignals abhängig ist.
- Gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung entnimmt eine Mikroprogramm-Steuereinheit eines Datenverarbeitungssystems von einem einzigen Mikroprogrammspeicher sowohl einen Verzweigungs-Mikrobefehl als auch einen Nichtverzweigungs-Mikrobefehl während eines gegenwärtigen Mikrobefehlszyklus und wählt einen der Mikrobe fehle, auf die Zugriff genommen ist, als den nächsten Mikrobefehl aus, der, basierend auf dem Zustand mindestens eines Bedingungssignals während des gegenwärtigen Mikrobefehlszyklus abzuarbeiten ist. Ein Mikrobefehlswort, das in dem Mikroprogrammspeicher gespeichert ist, hat ein Wortfeld, das als Verzweigungsadresse verwendet werden kann. Ein Inkrementierer liefert, wie erforderlich, während des nächsten Mikrobefehlszyklus eine in der Reihe nächstfolgende Adresse.
- Die bevorzugte Mikroprogramm-Steuereinheit enthält Einrichtungen zur Auswahl und zum Festhalten von Mikrobefehlen, die an den Ausgang des Speichers angeschlossen sind, um entweder einen gegenwärtigen Ausgang des Speichers oder einen zuvor festgehaltenen Ausgang des Speichers entsprechend dem Zustand mindestens eines Bedingungssignales zu liefern, das während eines gegenwärtigen Mikrobefehlszyklus erzeugt worden ist, ferner ein Mikrobefehlsregister zur Speicherung eines gegenwärtigen Mikrobefehls, der an den Ausgang der Einrichtungen zur Auswahl und zum Festhalten von Mikrobefehlen angekoppelt ist, weiter Inkrementierungseinrichtungen, um eine nächstfolgende Adresse zu errechnen, fernerhin Einrichtungen zur Auswahl und zum Festhalten von Adressen, die an den Ausgang der Inkrementierungseinrichtungen angeschlossen sind, um entweder den gegenwärtigen Ausgang der Inkrementierungseinrichtungen entsprechend dem Zustand des Bedingungssignales zu liefern, das während des gegenwärtigen Mikrobefehlszyklus erzeugt worden ist, weiterhin ein Adressregister zur Speicherung der nächstfolgenden Adresse nach dem gegenwärtigen Mikrobefehl, das an den Ausgang der Einrichtung zur Auswahl und zum Festhalten von Adressen angeschlossen ist, weiter Eingangssteuermittel zur aufeinanderfolgenden Ankopplung eines Ausgangs des Adressenregisters und des Verzweigungsadressenfeldes des gegenwärtigen Mikrobefehls an die Eingänge des Speichers und die Inkrementierungseinrichtung während jedes Mikrobefehlszyklus, und schließlich Ausgangssteuermittel zur Erzeugung eines Ausgangssignales zur Steuerung der Einrichtungen zur Auswahl und Festhaltung von Mikrobefehlen und der Einrichtung zur Auswahl und Festhaltung von Adressen entsprechend dem Bedingungssignal, das während des gegenwärtigen Mikrobefehls erzeugt worden ist.
- Der Betrieb der bevorzugten Ausführungsform umfaßt folgende Schritte:
- Speichern einer Mehrzahl von Mikrobefehlen in einem einzigen Speicher, wobei jeder der Mikrobefehle ein Feld aufweist, das als Verzweigungsadresse zur Adressierung des Speichers verwendet werden kann;
- Erzeugen einer in der Reihe nächstfolgenden Adresse;
- Liefern der in der Reihe nächstfolgenden Adresse und des Verzweigungs-Adressenfeldes eines gegenwärtigen Mikrobefehls der Reihe nach an den Speicher während jedes Mikrobefehlszyklus; und
- Auswählen eines der Ausgänge des Speichers für einen nächsten Mikrobefehl entsprechend dem Zustand mindestens eines Bedienungssignales, das während des gegenwärtigen Mikrobefehlszyklus erzeugt worden ist.
- Andere und weitere Merkmale und Vorteile der Erfindung werden in Verbindung mit den begleitenden Zeichnungen of fenbar, in denen Fig. 1 ein Blockschaltbild einer Datenverarbeitungseinrichtung ist, welches eine Mikroprogramm steuereinheit zu Gewinnung von Mikrobefehlen entsprechend der Erfindung zeigt; und
- Fig. 2 ein Zeitdiagramm darstellt, das den Inhalt der Register und Haltekreise der Mikroprogramm-Steuereinheit für sechs charakteristische Mikrobefehlszyklen zeigt.
- Es sei nun auf Fig. 1 Bezug genommen. Hier ist ein Funktions-Blockschaltbild einer Datenverarbeitungseinrichtung 11 gezeigt, die eine Mikroprogramm-Steuereinheit 10 mit der Möglichkeit der Entnahme des nächsten Mikrobefehls auf der Basis einer Verzweigungs-Bedingung besitzt, die durch Behandlung des gegenwärtigen Mikrobefehls und entsprechend dieser Behandlung bestimmt wird. Ein Mikroprogrammspeicher 12 enthält eine Mehrzahl gespeicherter Mikrobefehle zur Verwirklichung eines Betriebes, der innerhalb eines digitalen Systems gewünscht wird. Wenn der Mikroprogrammspeicher 12 ein beschreibbarer Speicher wahlfreien Zugriffs ist, dann liefert ein Mikroprogramm-Adressenpuffer 14, welcher mit den Adressenleitungen des Mikroprogrammspeichers 12 verbunden ist, Adressen für Speicherplätze, die mit Mikrobefehlen oder anderen Informationen geladen werden sollen. Ein Mikroprogramm-Adressenregister 22 ist auch mit den Adressenleitungen des Mikroprogrammspeichers 12 verbunden und liefert die Adressen zum Herauslesen von Mikrobefehlen aus dem Mikroprogrammspeicher 12 für die Durchführung durch die Verarbeitungs- und Verzweigungs-Steuereinheit 26. Jedes Wort, das aus dem Mikroprogrammspeicher 12 herausgelesen worden ist, wird an einen Mikrobefehlshaltekreis 17 angekoppelt, der, wie nachfolgend unter Bezugnahme auf Fig. 2 beschrieben, arbeitet; die Ausgänge von dem Mikrobefehls- Haltekreis 17 sind an ein Mikrobefehlsregister 24 angeschlossen. Das Mikrobefehlsregister 24 speichert ein Mikrobefehlswort während seiner Ausführung, welche den Betrieb einer Verarbeitungs- und Verzweigungs-Steuereinheit 26 steuert. Die Verarbeitungs- und Verzweigungs-Steuereinheit 26 führt arithmethische und logische Operationen an Daten unter einer Makroprogrammsteuerung durch, die darin gespeichert ist.
- Es sei weiterhin auf Fig. 1 Bezug genommen. Ein Mikroprogramm-Adresseninkrementierer 16 ist mit den Ausgängen des Mikroprogrammadressenregisters 22 und des Mikroprogramm-Adressenpuffers 14 verbunden. Wenn eine Adresse zu dem Mikroprogramm-Adresseninkrementierer 16 übertragen wird, wird die Adresse um eins inkrementiert und der Ausgang von dem Mikroprogramm-Adresseninkrementierer 16 wird an dem Mikroprogramm-Haltekreis 19 zum Festhalten der nächsten Adresse gegeben. Der Mikroprogramm-Adresseninkremen tierer 16 wirkt nur auf 5 Bit der ihm zugeführten 10 Bit- Adresse ein und die anderen 5 Adressenbits werden direkt durch ihn hindurch übertragen, da die Adressierung auf einer 32-Wort-Seite erfolgt, wobei die verwendete Verzweigung von Seite zu Seite fortschreitet. Die Ausgänge des Mikroprogrammhaltekreises 19 für die nächste Adresse sind mit einem Mikroprogrammregister 20 für die nächste Adresse verbunden. Die Eingänge des Mikroprogramm-Adressenregisters 22 sind mit den Ausgängen des Mikroprogrammregisters 20 für die nächste Adresse und außerdem mit den Ausgängen des Mikrobefehls-Verzweigungsadressenhaltekreises 18 dessen Eingänge mit einem Feld der Ausgänge des Mikroprogrammspeichers 12 verbunden sind, der für einige Mikrobefehle eine Verzweigungs adresse enthält. Der Haltekreis-Einschaltgenerator 34 enthält eine und-oder-Invertierungslogik, die dem Fachmann bekannt ist, um ein Haltekreiswirksamschaltungssignal (LEN) entsprechend der Feststellung von Halte- und Verzweigungs- Signalen zu erzeugen.
- Die Halte- und Verzweigungs-Signale werden durch die Verarbeitungs- und Verzweigungssteuereinheit 26 erzeugt und diese Signale bringen in Verbindung mit den Signalen "CLOCK 1" und "CLOCK 2" das LEN-Signal hervor, um den Mikroprogramm-Verzweigungsadressen-Haltekreis 18 und den Mikroprogramm-Haltekreis 19 für die nächste Adresse mit dem Mikrobefehls-Haltekreis 17 zu koppeln. Die logischen Zustände der HALTE-und VERZWEIGUNGS-Signale bestimmen, ob ein Nicht- Verzweigungsbetrieb oder ein Verzweigungsbetrieb oder ein Haltebetrieb (Wiederholung des gegenwärtigen Mikrobefehls) stattfindet.
- Unter Bezugnahme auf die Figuren 1 und 2 sei nun der Betrieb der Mikroprogramm-Steuereinheit 10 beschrieben. Fig. 2 ist ein Zeitdiagramm, das die Vorgänge zeigt, die innerhalb der Mikroprogramm-Steuereinheit 10 während 6 Mikrobefehlszyklen oder -perioden P1 bis P6 ablaufen, wobei jeder Mikrobefehlszyklus vier Zeitabschnitte T1, T2, T3 und T4 umfaßt. Die gezeigten Mikrobefehle enthalten Nichtverzweigungs-, Verzweigungs- und Halte-Operationen (letztere Wiederholung eines Mikrobefehls bedeutend). In der bevorzugten Ausführungsform hat der Takt CLOCK 1 einen Arbeitszyklus von 50% und eine Periode von 89,6 ns. Der Takt CLOCK 2 hat einen Arbeitszyklus von 50% und eine Periode von 44,8 ns. Der Beginn eines Mikrobefehls wird durch die gleichzeitig auftretende Anstiegsflanke von CLOCK 1 und CLOCK 2 definiert. Die vier Zeitabschnitte T1, T2, T3 und T4 haben jeweils eine Dauer von 22,4 ns und sind durch die Anstiegsflanken und den Abfall von CLOCK 2 begrenzt. Der Betrieb der Mikroprogramm-Steuereinheit 10 wird durch zwei Signale, närtilich BRANCH und HOLD von der Verarbeitungs- und Verzweigungs-Steuereinheit 26 gesteuert, während der gegenwärtige Mikrobefehl im Mikrobefehlsregister 24 ausgeführt wird. Das Signal BRANCH wird während des Zeitabschnittes T4 von der Verarbeitungs- und Verzweigungs-Steuereinheit 26 abgegeben, um, falls zutreffend, anzuzeigen, daß der nächste Mikrobefehl von der Adresse im Verzweigungs-Adressenfeld des Mikrobefehls entnommen werden soll, und, falls unzutreffend, daß der nächste Mikrobefehl von der nächstfolgenden Adresse nach dem gegenwärtigen Mikrobefehl genommen werden soll. Das Signal HOLD wird während der Zeitabschnitte T2, T3 und T4 von der Verarbeitungs- und Verzweigungs-Steuereinheit 26 abgegeben, um, falls zutreffend, anzuzeigen, daß der nächste Mikrobefehl derselbe Mikrobefehl sein soll, wie derjenige, der gegenwärtig ausgeführt wird, und, falls unzutreffend, daß die normale, oben beschriebene Durchführung stattfinden soll.
- Wie man aus der folgenden Beschreibung ersieht, enthält der Mikrobefehls-Haltekreis 17 bei Vollendung eines Mikrobefehlszyklus den nächsten Mikrobefehl; der Mikroprogramm Verzweigungsadressen-Haltekreis 18 enthält das mögliche Verzweigungsadressenfeld jenes nächsten Mikrobefehls; und der Mikroprogrammhaltekreis 19 für die nächste Adresse enthält die nächste folgende Adresse nach jenem nächsten Mikrobefehl. Beim Start eines Mikrobefehlszyklus wird der nächste Mikrobefehl von dem Mikrobefehls-Haltekreis 17 zu dem Mikrobefehlsregister 24 übertragen und wird zum gegenwärtigen Mikrobefehl. Auch wird die nächstfolgende Mikroprogrammadresse von dem Mikroprogramm-Haltekreis 19 für die nächste Adresse zu dem Mikroprogrammregister 20 für die nächste Adresse übertragen und die Mikroprogramm-Verzweigungsadresse wird von dem Mikroprogramm-Verzweigungsadressenhaltekreis 18 zu dem Mikroprogramm-Adressenregister 22 übertragen. Das Mikroprogramm-Adressenregister 22 bietet dann die Mikroprogramm-Verzweigungsadresse dem Mikroprogrammspeicher 12 und dem Mikroprogramm-Adresseinkrementierer 16 an. Während der Zeitabschnitte T1 und T2 nimmt der Mikroprogrammspeicher 12 Zugriff auf die Verzweigungsadresse und vor dem Ende des Zeitabschnittes T2 zeigt er an seinen Ausgängen den adressierten Mikrobefehl. Außerdem inkrementiert während der Zeitabschnitte T1 und T2 der Mikroprogramm-Adresseninkrementierer 16 die Verzweigungsadresse und zeigt vor Ende des Zeitabschnittes T2 an seinen Ausgängen die Verzweigungsadresse plus eins. Während T2 wird dann, wenn das Signal HOLD unzutreffend ist, das Signal LEN festgestellt, was eine Einschaltung der Eingänge des Mikrobefehls-Haltekreises 17, des Mikroprogramm-Zweigadressen-Hal- tekreises 18 und des Mikroprogramm-Haltekreises 19 für die nächste Adresse bewirkt, so daß der Mikrobefehlshaltekreis 17 mit dem möglichen durch Zweigadresse adressierten Mikrobefehl von dem Mikrobefehlsspeicer 12 geladen wird, der Mikroprogramm-Zweigadressenhaltekreis 18 mit dem Verzweigungsadressenfeld dieses Mikrobefehls von dem Mikroprogrammspeicher 12 geladen wird, und der Mikroprogramm-Haltekreis 19 für die nächste Adresse mit der nächstfolgenden Adresse nach jenem Mikrobefehl von dem Mikroprogramm-Adresseninkrementierer 16 geladen wird.
- Beim Start von T3 wird die nächstfolgende Mikroprogrammadresse von dem Mikroprogrammregister 20 für die nächste Adresse zu dem Mikroprogramm-Adressenregister 22 übertragen. Das Mikroprogramm-Adressenregister 22 liefert dann die nächste Mikroprogrammadresse an den Mikroprogrammspeicher 12 und den Mikroprogramm-Adresseninkrementierer 16. Während der Zeitabschnitte T3 und T4 nimmt der Mikroprogrammspeicher 12 Zugriff auf die nächste Adresse und vor dem Ende von T4 zeigt sich an seinen Ausgängen der adressierte Mikrobefehl. Außerdem inkrementiert während der Zeitabschnitte T3 und T4 der Mikroprogramm-Adresseninkrementierer 16 die nächste Adresse und liefert vor dem Ende von T4 an seinen Ausgängen die nächste Adresse plus eins (gegenwärtige Adresse plus zwei). Während T4 wird wieder, wenn das Signal HOLD unzutreffend ist und das Signal BRANCH unzutreffend ist, das Signal LEN festgestellt, so daß der Mikrobefehls- Haltekreis 17 mit dem nächstfolgenden Mikrobefehl von dem Mikroprogrammspeicher 12 geladen wird, der Mikroprogramm- Verzweigungsadressen-Haltekreis 18 mit dem Verzweigungsadressenfeld jenes Mikrobefehls von dem Mikroprogrammspeicher 12 geladen wird und der Mikroprogramm-Haltekreis für die nächste Adresse mit der gegenwärtigen Adresse plus zwei von dem Mikroprogramm-Adresseninkrementierer 16 geladen wird.
- Der Inhalt des Mikrobefehls-Haltekreises 17, des Mikroprogrammverzweigungsadressen-Haltekreises 18 und des Mikroprogrammhaltekreises 19 für die nächste Adresse enthält nun die Daten, welche zur Durchführung des nächsten Mikrobefehls erforderlich sind. Wenn während der Zeitabschnitte T2, T3 und T4 das Signal HOLD zutrifft, enthalten diese Haltekreise dieselben Daten, wie sie sie am Ende des letzten Mikrobefehls enthielten, da während dieses Mikrobefehlszyklus das Signal LEN nicht festgestellt wurde. Wenn während des Zeitabschnittes T4 das Signal BRANCH zutreffend war, enthalten die Haltekreise 17, 18 und 19 die Daten, die erforderlich sind, um den Mikrobefehl durchzuführen, der durch das Verzweigungsfeld des gegenwärtigen Mikrobefehls adressiert ist. Anderenfalls enthalten die genannten Haltekreise diejenigen Daten, welche zur Durchführung des nächstfolgenden Mikrobefehls erforderlich sind.
- Die Tabelle 1 beinhaltet eine Liste von Mikrobefehlsadressen entsprechend den in Fig. 2 verwendeten Adressennummern und definiert eine bedingte Zweigadresse für ein Verzweigungsadressenfeld eines Mikrobefehls, der an der jeweiligen Mikrobefehlsadresse gespeichert ist. Für die sechs in Fig. 2 dargestellten Mikrobefehlszyklen, die Nichtverzweigungs- und Haltevorgänge umfassen, ist daher der Inhalt jedes Registers und Haltekreises für jeden der Zeitabschnitte T1 bis T4 innerhalb jedes Mikrobefehlszyklus oder jeder Periode P1 bis P6) definiert. Tabelle 1 Mikrobefehlsadresse Bedingte Verzweigungsadresse
- Beispielsweise wird zu Beginn des Mikrobefehlszyklus P1 der nächste Mikrobefehl von der Adresse 000, welcher sich zeitweise in dem Mikrobefehls-Haltekreis 17 befindet, in das Mikrobefehlsregister 24 geladen. Außerdem wird die nächste Mikroprogrammadresse 001 von dem Mikroprogrammhaltekreis 19 für die nächste Adresse zu dem Register 20 für die nächste Adresse übertragen und die Mikroprogramm-Verzweigungsadresse 013 wird von dem Mikroprogramm-Verzweigungsadressen-Haltekreis-18 auf das Mikroprogramm-Adressenregister 22 übertragen. Das Mikroprogramm-Adressenregister 22 adressiert dann den Mikroprogrammspeicher 12 mit der Verzweigungsadresse 013 und überträgt außerdem die Verzweigungsadresse 013 auf den Mikroprogramm-Adresseninkrementierer 16 zur Inkrementierung um eins. Während der Zeitabschnitte T1 und T2 wird auf die Verzweigungsadresse 013 im Mikroprogrammspeicher 12 Zugriff genommen und der Mikrobefehl ist an den Ausgängen des Speichers 12 verfügbar. Während des Zeitabschnittes T2 wird dann, wenn das Signal HOLD unzutreffend ist, das Signal LEN festgestellt, was bewirkt, daß der Mikrobefehl von der Mikroprogrammspeicheradresse 13 (INST 013) in den Mikrobefehlshaltekreis 17 geladen wird, daß die Adresse 014 von dem Mikroprogramm-Adresseninkrementierer 16 in dem Mikroprogramm-Haltekreis 19 für die nächste Adresse geladen wird, und die Verzweigungsadresse 042 in den Mikroprogramm-Verzweigungsadressen-Haltekreis 18 geladen wird. Wie in der Tabelle 1 gezeigt ist die bedingte Verzweigungsadresse des Mikrobefehls, der an der Mikroprogramm-Speicheradresse 013 gespeichert ist, 042.
- Zu Beginn des Zeitabschnittes T3 in der Periode P1 wird die Adresse 001 in dem Mikroprogramm-Register 20 für die nächste Adresse an das Mikroprogramm-Adressenregister 22 übertragen, welches die Adresse 001 dem Mikroprogrammspeicher darbietet, und während der Zeitabschnitte T3 und T4 wird der Mikrobefehl, der an der Adresse 001 gespeichert ist (INST 001) an den Ausgängen des Migroprogrammspeichers verfügbar. Außerdem wird während der Zeitabschnitte T3 und T4 die Adresse 001 zu dem Mikroprogramm-Adresseninkrementierer 16 gegeben, wo sie um eins auf 002 (gegenwärtige Adresse 000 plus zwei) inkrementiert wird. Während des Zeitabschnittes T4 wird, da das Signal HOLD unzutreffend ist und das Signal BRANCH unzutreffend ist, das Signal LEN wieder festgestellt, was bewirkt, daß der Mikroprogramm- Verzweigungsadressen-Haltekreis 18 mit der Adresse 25 (, welches die Verzweigungsadresse in dem Mikrobefehl ist, der gerade von der Mikroprogrammspeicherandresse 001 gemäß Tabelle 1 abgelesen wird) geladen wird, der Mikrobefehls-Haltekreis 17 mit dem nächstfolgenden Mikrobefehl von der Speicheradresse 001 geladen wird und der Mikroprogramm-Haltekreis 19 für die nächste Adresse mit 002 von dem Mikroprogramm-Adresseninkrementierer 16 geladen wird.
- Zu Beginn des Zyklus P2 wird der nächste Mikrobefehl von der Adresse 001 aus dem Mikrobefehls-Haltekreis 17 in das Mikrobefehlsregister 24 geladen, da während des Zyklus P1 kein Signal BRANCH aufgetreten ist. Außerdem wird die nächste Mikroprogramm-Adresse 002 von den Mikroprogramm- Haltekreis 19 für die nächste Adresse in das Register 20 für die nächste Adresse übertragen und die Verzweigungsadresse 025 wird von dem Mikroprogramm-Verzweigungsadressen-Haltekreis 18 in das Mikroprogramm-Adressenregister 22 geladen. Das Mikroprogramm-Adressenregister 22 adressiert dann den Mikroprogrammspeicher 12 mit der Verzweigungsadresse 025 und überträgt außerdem die Verzweigungsadresse 025 auf den Mikroprogramm-Adresseninkrementierer 16 um dort ihre Inkrementierung um eins vorzunehmen. Während der Zeit abschnitte T1 und T2 wird im Mikroprogrammspeicher 12 Zugriff auf die Verzweigungsadresse 025 genommen und der Mikrobefehl von der Adresse 025 ist an den Ausgängen des Speichers 12 verfügbar. Während des Zeitabschnittes T2 wird, da das Signal HOLD unzutreffend ist, das Signal LEN festgestellt, was bewirkt, daß der Mikrobefehl von der Mikroprogrammadresse 025 in den Mikrobefehls-Haltekreis 17 geladen wird, daß die Adresse 026 von dem Mikroprogramm- Adresseninkrementierer 16 in den Mikroprogramm-Haltekreis 19 für die nächste Adresse geladen wird, und daß die Verzweigungsadresse 142 in den Mikroprogramm-Verzweigungsadressen-Haltekreis 18 geladen wird. Wie in Tabelle 1 gezeigt, ist die bedingte Verweigungsadresse des Mikrobefehls, der am Mikroprogrammspeicher-Adressenplatz 025 gespeichert ist, 142. Zu Beginn des Zeitabschnittes T3 während des Zyklus P2 wird die Adresse 002 in dem Mikroprogrammregister 20 für die nächste Adresse zu dem Mikroprogramm-Adressenregister 22 übertragen, welches die Adresse 002 dem Mikroprogrammspeicher darbietet, und während der Zeitabschnitte T3 und T4 ist der Mikrobefehl, der an der Adresse 002 gespeichert ist, an den Ausgängen des Mikroprogrammspeichers verfügbar. Da aber während des Zeitabschnittes T4 das Signal HOLD nicht zutrifft, das Signal BRANCH aber zutrifft, tritt kein LEN-Signal auf, weshalb die Inhalte des Mikrobefehls-Haltekrieses 17, des Verzweigungsadressen-Haltekreises 18 und des Haltekreises 19 für die nächste Adresse sich nicht ändern und ihre Inhalte am Ende des Zeitabschnittes T4 des Zyklus P2 dieselben sind, so daß zu Beginn des Zyklus P3 ein Betrieb entsprechend der Verzweigungsadresse 25 bewirkt wird. Fig. 2 zeigt in gleicher Weise für die Mikrobefehlszyklen P3 bis P6 die Inhalte der verschiedenen Teile der Mikroprogramm-Steuereinheit 10 während der Zeitabschnitte T1 bis T4 jedes Zyklus und basierend auf der in Tabelle 1 definierten Verzweigungsadresse.
- Es sei nun wieder auf Fig. 1 Bezug genommen. In dem hier betrachteten Ausführungsbeispiel ist der Mikroprogrammspeicher 12 durch einen statischen RAM-Speicher mit Lese- und Schreibfunktion von 1024 Wörtern x 52 Bits apparativ verwirklicht. Wenn er mit Mikrobefehlen oder anderen Informationen geladen wird, so steht an den Datenleitungen des Speichers ein 48 Bit-Wort an. An den Bit-Stellen 48 bis 51 werden jedoch zu vier zusätzliche Bits über die 48 Bit des Mikrobefehls hinaus in dem Mikroprogrammspeicher 12 gespeichert. Diese vier zusätzlichen Bits über die 48 Bit des Mikrobefehls hinaus sind Dekodierungen bestimmter Felder des Mikrobefehls, welche während der Mikrobefehlsdurchführung aufgrund von beschränkter Zeit nicht dekodiert werden können. Daher werden die Dekodierungen an den Eingängen des Mikroprogrammspeichers 12 bei seiner Ladung durchgeführt.
- Der Mikroprogrammspeicher 12 enthält 13 Geräte (jeweils im Umfange von 1024 x 4 Bit in Gestalt von Teilen mit der Nummer AM 9150, hergestellt von der Fa. Advanced Micro Devices Sunnyvale, Californien 94088. Integrierte Schaltkreise der Type 54/74F können zu apparativen Verwirklichung des Aufbaus der mikroprogrammierten Steuereinheit 10 verwendet werden und diese Teile sind dem Fachmann ohne weiteres bekannt. Der Mikroprogramm-Adressenpuffer 14 enthält zwei octale Pufferschaltkreise F244. Der Mikroprogramm- Adresseninkrementierer 16 enthält einen vierstelligen binären Volladdierer F 283 mit raschem Übertrag und ein zwei Eingänge aufweisendes EXKLUSIV-ODER-GATTER (ein Viertel von einem F86) zur Verwirklichung eines 5-Bit Inkrementierers, der eine Seitengröße von 32 Mikrobefehlen bewirkt. Der Mikrobefehls-Haltekreis 17, der Mikroprogramm-Verzweigungsadressen-Haltekreis 18 und der Mikroprogramm-Haltekreis 19 für die nächste Adresse enthalten neun octale transparente Haltekreise 5 373 mit Ausgängen für 3 Zustände. Das Mikroprogramm-Register 20 für die nächste Adresse enthält ein Paar octaler Flipflops F 374 der D-Type mit drei Zustandsausgängen. Das Programmadressenregister 22 enthält ebenfalls ein Paar von octalen Flipflops F 374 der D-Type mit drei Zustandsausgängen. Das Mikrobefehlsregister 24 enthält 4 Flipflops F 374 der D-Type mit drei Zustandsausgängen und ein Paar von Sechser-Flipflops F174 der D-Type mit Hauptrückstellung und ein Teil von Vierer-Flipflops F175 der B--
- Type mit komplimentären Ausgängen und mit Hauptrückstellung. Der Haltekreis-Einschaltgenerator 34 enthält ein UND/ODER-Inversionsgatter F64. Sämtliche dieser TTL-Bauteile werden von Fa. Fairchild, Mt.View, CA 94042, hergestellt.
Claims (8)
1. Mikroprogramm-Steuereinheit mit:
- Speichermitteln (12) zur Speicherung einer Anzahl
von Mikrobefehlen;
- an die Adresseingänge der Speichermittel (12)
angekoppelten Einrichtungen (22) zur Lieferung während
des gegenwärtigen Mikrobefehlszyklus sowohl einer
verzweigungsadresse von einem gegenwärtigen
Mikrobefehl, der durchgeführt wird, als auch einer
Nicht-Verzweigungsadresse an die Adresseingänge für
den Zugriff auf die Speichermittel (12) in Folge
abhängig von der Adresse des gegenwärtigen
Mikrobefehls;
- Einrichtungen (16), welche an die adressliefernden
Einrichtungen (22) angekoppelt sind, um die an die
Adresseneingänge der Speichermittel (12) gelieferte
Adresse zu inkrementieren; und
- an die Ausgänge der Speichermittel (12) angekoppel
ten Einrichtungen (17) zur Auswahl eines
Verzweigungs-Mikrobefehls oder eines Nicht-Verzweigungs-
Mikrobefehls, zu denen durch die genannte
Verzweigungsadresse bzw. Nicht-Verzweigungsadresse Zugriff
genommen wird,
wobei die Mikroprogramm-Steuereinheit dadurch
gekennzeichnet ist,
- daß Einrichtungen (26, 34) zur selektiven Erzeugung
oder Nichterzeugung eines ersten
Wirksamschaltungssignales und eines zweiten
Wirksamschaltungssignales
in Abhängigkeit von dem gerade ausgeführten
gegenwärtigen Mikrobefehl vorgesehen sind;
- daß die Inkrementierungseinrichtungen (16) so
ausgebildet sind, daß sie auf die Adresse für jeden
Mikrobefehl, auf den durch die adressliefernden
Einrichtungen (22) Zugriff genommen wird, folgend
eine nächstfolgende Adresse erzeugen;
- daß zwischen einem Ausgang der
adressinkrementierenden Einrichtungen (16) und einen Eingang der
adressliefernden Einrichtungen (22) Mittel (19, 20)
zur selektiven Speicherung einer nächstfolgenden
Mikrobefehlsadresse am Ende des gegenwärtigen
Mikrobefehlszyklus in Abhängigkeit von der
selektiven Erzeugung oder Nichterzeugung des
genannten ersten oder zweiten
Wirksamschaltungssignales durch die
wirksamschaltungssignalerzeugenden Einrichtungen
(26, 34) geschaltet sind; und
- daß die mikrobefehlsauswählenden Einrichtungen (17)
so ausgebildet sind, daß sie in Abhängigkeit von
dem genannten ersten oder zweiten
Wirksamschaltungssignal, welches selektiv durch die die
Wirksamschaltungssignale erzeugenden Einrichtungen (26,
34) während des gegenwärtigen Mikrobefehlszyklus
erzeugt werden oder nicht, in Tätigkeit treten.
2. Mikroprogramm-Steuereinheit nach Anspruch 1, dadurch
gekennzeichnet, daß die adressliefernden Einrichtungen
ein Adressregister (22) enthalten, das so ausgebildet
ist, daß es an die Adresseingänge der Speichermittel
(12) in getakteter Folge während eines gegenwärtigen
Mikrobefehlszyklus sowohl die genannte
Verzweigungsadresse als auch die genannte Nicht-Verzweigungsadresse
liefert;
-
daß die speichernden Einrichtungen, die zwischen
die adressinkrementierenden Einrichtungen (16) und
die adressliefernden Einrichtungen (22) geschaltet
sind, Einrichtungen (19) für die Wahl und das
Festhalten der nächsten Adresse enthalten, die an den
Ausgang der adressinkrementierenden Einrichtungen
(16) angekoppelt sind, um zeitweise entweder die
gegenwärtig ausgegebene inkrementierte Adresse von
den inkrementierenden Einrichtung (16) oder eine
zuvor festgehaltene ausgegebene inkrementierte
Adresse von den inkrementierenden Einrichtungen in
Abhängigkeit von Wirksamschaltungssignalen zu
speichern, die den Einrichtungen (19) zur Auswahl und
zum Festhalten der nächsten Adresse zugeführt
werden, und ein Register (20) für die nächste Adresse
enthalten, das so ausgebildet ist, daß es die
nächstfolgende Adresse relativ zur Adresse des
gegenwärtig ausgeführten Mikrobefehls speichert,
wobei das Register (20) für die nächste Adresse
Eingänge, welche an Ausgänge der Einrichtungen (19)
zur Auswahl und zum Festhalten für die Aufnahme
einer festgehaltenen inkrementierten Adresse
angekoppelt sind, und Ausgänge aufweist, die an
Eingänge des Adressregisters (22) angekoppelt sind, um
die gespeicherte nächste Adresse zu liefern;
- daß die mikrobefehlsauswählenden Einrichtungen
Einrichtungen (17) enthalten, welche so ausgebildet
30 sind, daß sie selektiv in Abhängigkeit von den
ersten und zweiten Wirksarnschaltungssignalen
jeweilige Mikrobefehle, auf die durch die von den
Speichermitteln (12) gelieferten Verzweigungs- oder
Nichtverzweigungsadressen Zugriff genommen wird,
festhalten, und
- daß ein Mikrobefehlsregister (24) an die
Einrichtungen (17) für die Auswahl und das Festhalten von
Mikrobefehlen angekoppelt ist, um einen
festgehaltenen Mikrobefehl als den gegenwärtigen Mikrobefehl
für die Durchführung zu speichern.
3. Mikroprogramm-Steuereinheit nach Anspruch 1 oder 2,
dadurch gekennzeichnet, daß die Speichermittel (12)
Ausgänge für ein Verzweigungsadressenfeld eines
angewählten Mikrobefehls aufweisen und daß Einrichtungen (18)
zur Auswahl und zum Festhalten von Verzweigungsadressen
Eingänge aufweisen, die an die
Verzweigungs-Adressenfeldausgänge der Speichermittel (12) angekoppelt sind
und zum zeitweisen Speichern einer gewählten
Verzweigungsadresse vorgesehen sind, wobei die Einrichtungen
(18) zur Auswahl und zum Festhalten der
Verzweigungsadresse so ausgebildet sind, daß sie eine
Verzweigungsadresse in Abhängigkeit von einem ersten oder zweiten
Wirksamschaltungssignal festhalten, das ihnen durch die
wirksamschaltungssignalerzeugenden Einrichtungen (26,
34) zugeführt wird, und wobei sie Ausgänge aufweisen,
die an die adressliefernden Einrichtungen (22)
angekoppelt sind, so daß eine festgehaltene
Verzweigungsadresse an die adressliefernden Einrichtungen (22) abgegeben
werden kann.
4. Mikroprogramm-Steuereinheit nach einem der
vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die
wirksamschaltungssignalerzeugenden Einrichtungen Mittel (26)
enthalten, die auf den gegenwärtig ausführten
Mikrobefehl ansprechen, um Befehlssignale zu erzeugen, die die
Art der Adresse für den nächstens durchzuführenden
Mikrobefehl anzeigen, wobei die genannte Art aus
"Verzweigung", "Nichtverzweigung" oder "Wiederholung"
ausgewählt wird, und weiter Mittel (34) enthalten,
welche auf die Befehlssignale ansprechen, um in dem
gegenwärtigen Mikrobefehlszyklus nur ein erstes
Wirksamschaltungssignal,
ein erstes und ein zweites
Wirksamschaltungssignal, oder kein Wirksamschaltungssignal zu
erzeugen.
5. Mikroprogramm-Steuereinheit nach irgendeinem der
vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die
Speichermittel einen Eingabe-Ausgabespeicher (12)
wahlfreien Zugriffs enthalten, der mit einer Anzahl von
Mikrobefehlen geladen werden kann.
6. Verfahren zur Entnahme von Mikrobefehlen, welche in
einem adressierbaren Speicher gespeichert sind, mit
folgenden Schritten:
Adressierung des Speichers (12) während eines
gegenwärtigen Mikrobefehlszyklus mit sowohl einer
Verzweigungsadresse von einem gegenwärtigen Mikrobefehl, welcher
gerade ausgeführt wird, als auch einer
Nichtverzweigungsadresse, welche relativ zur Adresse des
gegenwärtigen Mikrobefehls in Folge liegt;
Erzeugen einer inkrementierten Adresse von einer
Adresse, mit welcher der Speicher (12) adressiert wird;
und Auswahl entweder eines Verzweigungs-Mikrobefehls
oder eines Nichtverzweigungs-Mikrobefehls, auf den
durch eine Verzweigungsadresse bzw. eine
Nicht-Verzweigungsadresse Zugriff genommen wird,
wobei das Verfahren dadurch gekennzeichnet ist, daß der
Schritt des Erzeugens einer inkrementierten Adresse das
Inkrementieren der Adresse jedes in dem Speicher gerade
angewählten Mikrobefehls und damit die Schaffung einer
nächst folgenden Adresse, sowie das Speichern einer
gewählten nächstfolgenden Adresse an dem Ende des
gegenwärtigen Mikrobefehlszyklus umfaßt;
und daß ein erstes Wirksamschaltungssignal und ein
zweites Wirksamschaltungssignal in Abhängigkeit von dem
gegenwärtigen, gerade ausgeführten Mikrobefehl jeweils
erzeugt werden oder nicht, wobei die Auswahl des
Verzweigungs-Mikrobefehls oder des Nicht-Verzweigungs-
Mikrobefehls und der nächstfolgenden Adresse von der
Erzeugung oder Nichterzeugung des ersten und zweiten
Wirksamschaltungssignals abhängig ist.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß
jede Verzweigungsadresse für die Zugriffnahme auf den
Speicher (12) aus Verzweigungsadressen ausgewählt wird,
die durch die Mikrobefehle geliefert werden, auf welche
in dem Speicher (12) Zugriff genommen wird, wobei die
Auswahl in Abhängigkeit von der Erzeugung oder
Nichterzeugung des ersten und zweiten Wirksamschaltungssignals
in einem Mikrobefehlszyklus getroffen wird.
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß
die Auswahl der nächstfolgenden Adresse, des von dem
Speicher (12) herausgegriffenen Mikrobefehls und der
Verzweigungsadresse mit den Wirksamschaltungssignalen
synchronisiert ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11710887A | 1987-11-05 | 1987-11-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3855065D1 DE3855065D1 (de) | 1996-04-11 |
DE3855065T2 true DE3855065T2 (de) | 1996-10-02 |
Family
ID=22371021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19883855065 Expired - Fee Related DE3855065T2 (de) | 1987-11-05 | 1988-11-01 | Folgemikrobefehlserzeuger in einer Mikroprogrammsteuereinheit |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP0317119B1 (de) |
JP (1) | JPH01166131A (de) |
DE (1) | DE3855065T2 (de) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS4929544A (de) * | 1972-07-14 | 1974-03-16 | ||
JPS52134342A (en) * | 1976-05-06 | 1977-11-10 | Oki Electric Ind Co Ltd | Micro program address control system |
JPS5387136A (en) * | 1977-01-11 | 1978-08-01 | Nippon Telegr & Teleph Corp <Ntt> | Sequence control unit |
JPS5549748A (en) * | 1978-10-03 | 1980-04-10 | Nec Corp | Microprogram control unit |
JPS6053334B2 (ja) * | 1978-12-29 | 1985-11-25 | 富士通株式会社 | マイクロプログラム制御方式 |
JPS55134450A (en) * | 1979-04-04 | 1980-10-20 | Nec Corp | Microprogram control unit |
EP0190484A3 (de) * | 1985-01-28 | 1988-09-21 | Data General Corporation | Digitalrechner mit erhöhter Geschwindigkeit und Verfahren zur Geschwindigkeitserhöhung |
-
1988
- 1988-11-01 DE DE19883855065 patent/DE3855065T2/de not_active Expired - Fee Related
- 1988-11-01 EP EP19880310266 patent/EP0317119B1/de not_active Expired - Lifetime
- 1988-11-04 JP JP27918988A patent/JPH01166131A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
DE3855065D1 (de) | 1996-04-11 |
EP0317119B1 (de) | 1996-03-06 |
EP0317119A3 (de) | 1991-09-11 |
JPH01166131A (ja) | 1989-06-30 |
EP0317119A2 (de) | 1989-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE1915818C3 (de) | Steuerschaltung für ein elektronisches Datenverarbeitungssystem | |
DE4305442C2 (de) | Verfahren und Vorrichtung zum Erzeugen eines Testvektors | |
DE3914265C2 (de) | ||
DE1178623C2 (de) | Programmgesteuerte datenverarbeitende Maschine | |
DE2813128A1 (de) | Mikroprogrammspeicher | |
DE1774296B2 (de) | Restruktuierbare Steuereinheit für elektronische Digitalrechner | |
DE2322674A1 (de) | Mikroprogramm-steuereinrichtung | |
DE2847934A1 (de) | Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher | |
DE2113890A1 (de) | Datenverarbeitungssystem | |
DE2635592A1 (de) | Multiprozessor-abrufsystem | |
DE2248296A1 (de) | Programmsteuereinrichtung | |
DE3781794T2 (de) | Vorrichtung und verfahren zum versehen eines cachespeichers mit einer schreiboperation mit zwei systemtaktzyklen. | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE2854782C2 (de) | Datenverarbeitungssystem und Verfahren zum Ersetzen eines Datenblocks in einem Schnellspeicher | |
DE2440628A1 (de) | Datenverarbeitungsanlage mit mikroprogrammierung | |
DE69109703T2 (de) | Sequentielle Endlichautomatenschaltung sowie integrierte Schaltung mit einer derartigen Schaltung. | |
DE1953364A1 (de) | Wahlausfuehrungsschaltung fuer programmgesteuerte Datenverarbeiter | |
DE1499191B2 (de) | Elektronische einrichtung fuer eine datenverarbeitungsanlage | |
DE3650508T2 (de) | Speicheranordnung zur Simulation eines Schieberegisters | |
DE2136270A1 (de) | Verfahren und Vergleicher zum Vergleich zweier Binärzahlen | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE2830334A1 (de) | Multipliziereinrichtung | |
DE2609698C2 (de) | Elektronischer Rechner | |
DE69025782T2 (de) | Registerbankschaltung | |
DE1180171B (de) | Zahlenrechner |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |