DE3852708T2 - Verfahren und Apparat zum Überspringen mittels Abbildung einer Einsprungstelle. - Google Patents
Verfahren und Apparat zum Überspringen mittels Abbildung einer Einsprungstelle.Info
- Publication number
- DE3852708T2 DE3852708T2 DE19883852708 DE3852708T DE3852708T2 DE 3852708 T2 DE3852708 T2 DE 3852708T2 DE 19883852708 DE19883852708 DE 19883852708 DE 3852708 T DE3852708 T DE 3852708T DE 3852708 T2 DE3852708 T2 DE 3852708T2
- Authority
- DE
- Germany
- Prior art keywords
- address
- incrementing
- microcode
- memory
- macroinstruction
- 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
- 238000000034 method Methods 0.000 title claims description 14
- 230000008878 coupling Effects 0.000 claims 4
- 238000010168 coupling process Methods 0.000 claims 4
- 238000005859 coupling reaction Methods 0.000 claims 4
- 238000013507 mapping Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 7
- 238000010420 art technique Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000005457 optimization Methods 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/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/261—Microinstruction address formation
-
- 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/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
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)
Description
- Die vorliegende Erfindung betrifft Verfahren und eine Vorrichtung zum Abbilden eines Makrobefehls in einen Mikrobefehlsspeicher.
- Viele Computer führen heute Befehle durch Speichern einer Anzahl von Mikrokodebefehlen für jeden Makrobefehl in einem Mikrokodespeicher aus. Die Mikrokodebefehle werden dann für den speziellen Makrobefehl ausgeführt, um den Makrobefehl durchzuführen. Ein typisches Verfahren ist in Fig. 1 gezeigt, wobei ein Makrobefehl in ein Operationskode-Befehlsregister 10 gesetzt ist. Der Befehl im Register 10 wird dann durch eine Abbildungsschaltung 12 dekodiert, um eine Adresse zu erzeugen, die einem Mikrokodespeicher 14 bereitgestellt wird. Diese Adresse wird die Adresse des ersten Mikrobefehls in einer Reihe von Mikrobefehlen sein, um den speziellen Makrobefehl durchzuführen. Die verbleibenden Mikrobefehle werden durch Inkrementieren der ersten Mikrobefehlsadresse 16 um eins erhalten, nachdem der Mikrobefehl ausgeführt ist, um nachfolgende Mikrobefehle 18, 20 und 22 für den Makrobefehl zu erzeugen. Ein Beispiel dieses typischen bekannten Verfahrens ist auf den Seiten 61 bis 62 des Artikels in Microprocessors and Microsystems, Vol. 4, Nr. 2, März 1980, Seiten 57-62, angegeben.
- Bei einer Ausführung ist jedem Makrobefehl eine feste Anzahl von Mikrobefehlen zugeordnet. Wenn diese feste Anzahl zum Beispiel vier ist, dann muß jeder Makrobefehl, der mehr als vier Mikrobefehle erfordert, einen Sprung zu einem separaten Bereich des Mikrokodespeichers 14 im letzten Mikrobefehl enthalten. Ein Sprung ist unerwünscht, da er zusätzliche Anforderungen an den Mikrokode hinsichtlich Zeit oder Platz stellt. Um einen Sprung auszuführen, muß eine Sprungadresse spezifiziert werden, und dies erfordert Platz. Zusätzlich kann ein anderer Taktzyklus für einen Sprung erforderlich sein. Um das Erfordernis eines Sprungs zu vermeiden, kann genügend Platz zugewiesen sein, um den größten Makrobefehl unterzubringen, jedoch führt dies zu einer großen Anzahl von verschwendeten Speicherplätzen für Makrobefehle, die weniger als die maximale Anzahl von Mikrobefehlen erfordern. Alternativ könnte der Mikrokodespeicher in Gruppen unterschiedlicher fester Größen unterteilt sein, wobei die Größen um ein Vielfaches von zwei variieren (d.h., Gruppen von vier, acht, sechzehn, etc.). Somit könnte ein kurzer Makrobefehl den Mikrokodeadressen 16 bis 22 zugeordnet sein, während einem längerer Makrobefehl acht Mikrokodespeicheradressen zugeordnet sein können, beginnend an der Stelle 23, wie in Fig. 1 gezeigt ist. Anzahlen von Mikrokodeadressen, die kein Vielfaches von zwei sind, können nicht ohne das Erfordernis einer zusätzlichen Schaltung für die Abbildungsschaltung 12 untergebracht werden. Eine Ausführung eines Vielfachen von zwei kann einfach durch Auslöschen unerwünschter Bits vorgenommen werden, um eine höhere Anzahl zu erhalten.
- Die Abbildungsschaltung 12 könnte implementiert sein, um einen speziellen Befehlssatz unterzubringen, so daß die Anzahl von Mikrobefehlsadressen variiert, die einem speziellen Makrobefehl zugeordnet sind. Dies würde erfordern, daß entweder der Befehlssatz zu der Zeit festgelegt ist, zu der die Abbildung festgelegt wird, oder daß die Abbildungsschaltung selbst programmierbar ist.
- Die vorliegende Erfindung verwendet eine feste Einsprungstellenabbildung, um eine Einsprungstellenadresse eines ersten Mikrobefehls für einen speziellen Makrobefehl zu erzeugen. Diese Adresse wird dann um eine feste Zahl, wie 512, inkrementiert, um die zweiten, dritten, etc. Mikrobefehle für diesen Makrobefehl zu erzeugen. Nach einer festen Anzahl dieser 512-Adressen- Sprünge, wie z.B. 6, werden die Adressen um 1 inkrementiert, so daß nachfolgende Mikrobefehle an benachbarten Adressenstellen sind.
- Die Bestimmung, ob die Adresse um 512 oder um 1 zu inkrementieren ist, wird durch eine Dekodierschaltung ausgeführt, die einfach die gegebene Adresse betrachtet, um zu bestimmen, ob sie im Sprungbereich des Mikrokodespeichers oder dem nachfolgenden Inkrementierungsbereich ist. Die vorliegende Erfindung schafft somit eine Flexibilität der Mikrobefehlsadressierung mit minimalen zusätzlichen Schaltungen. Zusätzlich gestattet es das Verfahren der vorliegenden Erfindung, daß der Einsprungadressenbelegungsplan fest ist und es somit für ihn keine Notwendigkeit gibt, daß er programmierbar ist.
- Die Makrobefehle sind so angeordnet, daß jeder Makrobefehl, der mehr als sechs Mikrobefehle erfordert, von einem oder mehreren Makrobefehlen gefolgt wird, der bzw. die sechs oder weniger Mikrobefehle erfordert/-n. Wenn der erste Makrobefehl das Ausführen von Mikrobefehlen in dem Speicherbereich mit der Inkrementierung um eins beginnt, werden diese Speicheradressen somit verfügbar sein, da die nächsten folgenden Makrobefehle sich nicht so weit erstrecken.
- Wechselweise kann ein variabler Sprungbereich verwendet werden, um mehr Flexibilität zu erzeugen. Diese Flexibilität ermöglicht es den Sprungbereichen, bestimmt zu werden, wenn der Kode geschrieben wird, war somit die Optimierung des Speicherplatzes ermöglicht. Eine variable Sprungbereichsimplementierung erfordert ein geringfügig komplexeres Verfahren zum Bestimmen, ob die Adresse ein Inkrement von eins oder ein Sprunginkrement nach dem Rückkehren von Unterroutineaufrufen sein soll, da es nicht einfach von der festen Adresse abhängt.
- Für ein vollständigeres Verständnis der Eigenart und der Vorteile der Erfindung soll auf die nachfolgende genaue Beschreibung Bezug genommen werden, die zusammen mit den begleitenden Zeichnungen herangezogen wird.
- Fig. 1 ist ein Diagramm eines Mikrokode-Speicherbelegungsplanschemas nach dem Stand der Technik,
- Fig. 2 ist ein Blockdiagramm einer bekannten Mikrokodeadressierschaltung,
- Fig. 3 ist ein Diagramm eines Mikrokode-Belegungsplanschemas gemäß der vorliegenden Erfindung, und
- Fig. 4 ist ein Blockdiagramm eines Mikrokodeaddressierungsschemas gemäß der vorliegenden Erfindung.
- Fig. 2 zeigt eine Art einer Implementierung einer Mikrokodeadressenerzeugung nach dem Stand der Technik, die das Verständnis der vorliegenden Erfindung unterstützt. Ein Operationskoderegister 24 speichert einen Makrobefehl, der durch eine Abbildungsschaltung 26 dekodiert wird, um dem Zielregister 28 eine Mikrokodespeicheradresse bereitzustellen. Die Abbildungsschaltung 26 wird als ein programmierbarer Lesespeicher (PROM) gezeigt, kann jedoch andere Formen annehmen. Das Zielregister 28 empfängt die Anfangsadresse von der Abbildungsschaltung 26 durch einen Multiplexer 27 und stellt sie durch einen Multiplexer 30 dem Mikrokodespeicher 32 bereit. Der Mikrobefehl an dieser Adresse wird dem Mikrokoderegister 38 zugeführt. Die Adresse wird dann durch eine a+1-Inkrementiereinrichtung 34 inkrementiert, welche dann einem Mikroprogramm-Zählerregister 36 zugeführt wird. Diese inkrementierte Adresse wird durch den Multiplexer 30 zum Speicher 32 zurückgeführt, um dem Mikroregister 38 den nächsten Mikrobefehl zuzuführen. Diese Art der Inkrementierung geht weiter, bis ein Sprung oder ein anderer Befehl kommt, der durch die Dekodierungslogikeinrichtung 40 detektiert wird. Typischerweise wird ein Sprung durch Bereitstellen einer Sprungadresse vom Mikrokoderegister 38 zum Multiplexer 27 ausgeführt. Ein Auswahlsignal 37 wird vom Mikrokoderegister 38 bereitgestellt, um vom Mikrokoderegister 38 die Mikrokodesprungadresse auszuwählen, die dann dem Zielregister 28 zugeführt wird. In den Steuerregistern 39 wird/werden ein Steuerbit oder -bits gespeichert, das bzw. die dann durch die Dekodierlogikeinrichtung 40 dekodiert wird/werden. Die Dekodierlogikeinrichtung 40 liefert dann ein Auswahlsignal an den Multiplexer 30, um gegenüberstellend der Inkrementierungsadresse vom M ikroprogramm-Zählerregister 36 eine Sprungadresse im Zielregister 28 auszuwählen. Am Ende eines Mikrobefehls wird ein Befehlsverteilungssprung ausgeführt, in dem das Auswahlsignal 37 vom Multiplexer 27 die nächste Befehlsadresse von der Abbildungsschaltung 26 auswählt und dann ein neuer Befehl ausgeführt wird.
- Fig. 3 ist ein Diagramm eines Mikrokode-Speicherbelegungsplanschemas gemäß der vorliegenden Erfindung. Ein Operationskoderegister 42 ist vorgesehen, um einen Makrobefehl zu halten. Ein fester Belegungsplan 44 dekodiert den Makrobefehl, um für einen Mikrokodespeicher 46 eine Adresse zu erzeugen. Die erste bereitgestellte Adresse ist eine Einsprungstellenadresse 48 in einem Eingangsblock 50. Der nächste Mikrobefehl wird durch Inkrementieren der Adresse 48 um eine feste Zahl gefunden, um eine zweite Adresse 52 zu erzeugen. Diese Adresse wird dann um dieselbe Zahl inkrementiert, um eine dritte Adresse 54 zu erzeugen. Diese Adressen sind in einem Sprungbereich 56 angeordnet, der bei einer Ausführungsform sechs Sprünge für jeden Makrobefehl enthält (nur drei sind in Fig. 3 gezeigt). Nach den sechs Sprüngen wird eine Adresse 58 um eins erhöht, um nacheinander Adressen 60 und 62 in einem Überlaufbereich 64 zu erzeugen.
- Dieses Abbildungsschema schafft Flexibilität für die Abbildung von Makrobefehlen mit unterschiedlichen Anzahlen von Mikrobefehlen. Wenn zum Beispiel die Einsprungstellenadresse 48 die Adresse 212 ist und die Makrobefehle mit Einsprungstellenadressen 213 und 214 weniger als sechs Mikrobefehle lang sind, werden die Adressenstellen 60 und 62 leer sein, was es dem an der Adresse 48 startenden Makrobefehl gestattet, acht Mikrobefehle zu haben. Durch geeignete Anordnung der Startadresse jedes Makrobefehls können die Befehle durch geeignetes Programmieren des Mikrokodes so abgebildet oder belegt werden, um optimalen Gebrauch vom Speicher zu machen, während gleichzeitig ein einfacher fester Belegungsplan 44 zugelassen ist, und zwar wegen der festen Einsprungstellenadresse für jeden Makrobefehl. Die Verwendung einer festen Einsprungstelle erlaubt die Verwendung einer kleineren, schnelleren Logikeinrichtung. Die Logikeinrichtung ist schnell, da eine geringere Logikeinrichtung als ein RAM oder PROM erforderlich ist. Da die Logikeinrichtung einem speziellen Zweck dient, nimmt sie zusätzlich weniger Platz als ein RAM oder PROM ein, was insbesondere wichtig ist, wenn die Schaltung in einer integrierten Schaltung eingesetzt ist.
- Ein Blockdiagramm einer Schaltung zum Durchführen des Abbildungsschemas von Fig. 3 ist in Fig. 4 gezeigt. Das Blockdiagramm von Fig. 4 folgt dem grundsätzlichen Aufbau von dem von Fig. 2. Jedoch wird anstelle der Verwendung einer a+1-Inkrementiereinrichtung 34, wie in Fig. 2, eine variable Inkrementiereinrichtung 66 mit einer Speicherbereich-Dekodierschaltung 68 verwendet. Die variable Inkrementiereinrichtung 66 enthält eine a+ 1-Inkrementiereinrichtung 70 und eine a+512-Inkrementiereinrichtung 72 sowie einen Multiplexer 74. Im Betrieb wird die dem Mikrokode-RAM 32 zugeführte Adresse von der Inkrementiereinrichtung 72 um 512 erhöht, wobei die neue Adresse durch den Multiplexer 74 zum Mikrokode-Programmzählerregister 36 geführt wird. Dieser Prozeß geht weiter, bis die Speicherbereich-Dekodierschaltung 68 detektiert, daß die Adresse dem Überlaufbereich 64 von Fig. 3 entspricht. An dieser Stelle liefert die Dekodierschaltung 68 ein Auswahlsignal an den Multiplexer 74, um die Ausgabe der +1-Inkrementiereinrichtung 70 auszuwählen. Entsprechend wird anschließend die Adresse zum Mikrokode-RAM 32 um eins erhöht, wie in Fig. 3 gezeigt ist.
- Obwohl zum Zwecke des Verständnisses die variable Inkrementiereinrichtung 66 als ein Paar von Inkrementiereinrichtungen und ein Multiplexer gezeigt ist, kann sie durch einen einzelnen Zähler realisiert sein, der Mehrfach-Trägerbiteingaben zuläßt. Die Bereichsdekodierschaltung 68 kann einfach eine Stelle des Trägerbits auswählen, um das Inkrement zu variieren. Die Dekodierschaltung 68 braucht nur die oberen Bits der Adresse zu betrachten, um zu bestimmten, ob sie im Überlaufbereich 64 ist.
- Obwohl ein 512-Inkrement, das sechsmal wiederholt wird, gezeigt ist, kann jegliche andere Anzahl verwendet werden. Fig. 3 zeigt tatsächlich drei Sprünge im Sprungbereich, obwohl jegliche andere Anzahl verwendet werden könnte.
- Bei einer wechselweisen Ausführungsform kann der Sprungbereich von Fig. 3 von variabler Länge sein. Dies schafft eine zusätzliche Flexibilität, wenn der Mikrokode programmiert wird. Wenn eine Anzahl von Befehlen, von denen jeder nur wenig Adressenstellen benötigt, wie jeweils drei, miteinander gruppiert werden, dann ist zum Beispiel ein Speicherblock in dem Abschnitt, der normalerweise der vierten Adressenstelle für jeden Befehl entsprechen würde, für andere Verwendungen freigestellt.
- Bei einer Ausführung eines variablen Sprungbereichs wird das Springen ausgeführt, bis ein Sprung oder eine Verzweigung in dem Programm auftritt. In diesem Fall wird nach einer Rückkehr vom Sprung oder von der Verzweigung die Sprung-lnkrementiereinrichtung nicht länger verwendet, und die + 1-Inkrementiereinrichtung wird verwendet. Wie in Fig. 4 gezeigt ist, kann ein Extrabit an einer gestrichelt am Mikro-PC-Register 36 angebrachten Position gespeichert werden. Eine Steuerleitung von der Bit-Position 41 zum Multiplexer 74 ist vorgesehen. Diese Steuerleitung ersetzt die Auswahlleitung von der Bereichsdekodierschaltung 68, die bei dieser Ausführung nicht verwendet werden würde. Nach einer Verzweigung wird ein Bit in Position 41 gespeichert, und nach der Rückkehr von der Verzweigung wählt dieses Bit die Inkrementiereinrichtung 70 durch das geeignete Steuersignal an den Multiplexer 74 aus. Typischerweise wird die Verzweigungsadresse in einem Rückkehrstapel (nicht gezeigt) gespeichert. Das Extrabit ist in dem Rückkehradressenstapel so positioniert, daß, wenn die Adresse dem Mikro-PC-Register 36 zugeführt wird, dieses Bit in Position 41 ist. Die Eingabe zur Bit-Position 41 wird durch eine Steuersignalleitung 37 geschaffen, die gestrichelt gezeigt ist. Das Läden dieses Bits in den Mikro-PC-Register 36 wird durch ein Ladesteuersignal vom Steuerregister 39 (gestrichelt gezeigt) erledigt.
- Die variable Sprung-Ausführungsform gestattet somit eine Variation in der Anzahl von Adressenstellen pro Befehl, während weiterhin das feste Einsprungstellen-Beleg ungsplansystem aufrechterhalten wird. Diese Flexibilität erlaubt die Durchführung von Änderungen am Mikrokode, so, wie es durch Einstellen des Sprungbereichs komplizierter oder einfacher wird. Zusätzlich können Bereiche, die untereinander kein Vielfaches von zwei sind, verwendet werden, da die Bestimmung der Bereichslänge durch das Positionieren des Sprungbefehls ausgeführt wird, und nicht durch das Hinzufügen von Schaltungen zur Abbildungsschaltung.
- Wie vom Fachmann verstanden wird, kann die vorliegende Erfindung in anderen spezifischen Formen ausgeführt werden, ohne ihren Umfang oder ihre wesentlichen Kennzeichen zu verlassen. Zum Beispiel könnte anstelle der Verwendung einer Dekodierschaltung zum Bestimmen, ob die Adresse in dem Sprung bereich oder dem Überlaufbereich ist, ein Zähler verwendet werden, um die Anzahl von Sprunginkrementen durch die Inkrementiereinrichtung 72 zu zählen. Der variable Sprungbereich könnte ebenfalls auf unterschiedliche Weisen implementiert werden, wie durch Verwendung eines Bits im Mikrokodebefehl, so daß der Sprungbereich nicht von Sprüngen abhängt. Entsprechend ist die Offenbarung der bevorzugten Ausführungsformen der Erfindung als Erläuterung und nicht als Begrenzung des Umfangs der Erfindung gedacht, die in den folgenden Ansprüchen angegeben ist.
Claims (19)
1. Verfahren zum Implementieren eines Makrobefehls durch Adressieren einer
Reihe von Mikrocodebefehlen in einem Speicher, enthaltend die Schritte:
a) Bereitstellen einer Einsprungstellenadresse des Speichers in Abhängigkeit
von dem Makrobefehl,
b) Inkrementieren der Einsprungstellenadresse um eine erste vorgegebene
Zahl, um eine Adresse eines nächsten Mikrocodebefehls in dem Speicher
bereitzustellen,
c) Wiederholen des Schrittes b) eine zweite Anzahl mal, um nachfolgende
Mikrocodebefehle zu erzeugen,
d) Inkrementieren der Mikrocodebefehlsadresse um eins nach dem
Inkrementieren der Adresse eine zweite Anzahl mal,
e) Wiederholen des Schritte d) für eine verbleibende Zahl von
Mikrocodebefehlen für den Makrobefehl.
2. Verfahren nach Anspruch 1, wobei die zweite Anzahl fest ist.
3. Verfahren nach Anspruch 2, ferner enthaltend die Schritte des
Inkrementierens der Mikrocodebefehlsadresse um eins während Sprüngen,
wobei das Inkrementieren während Sprüngen von der zweiten Anzahl
ausgenommen ist.
4. Verfahren nach Anspruch 2, wobei die erste vorgegebene Zahl 512 ist.
5. Verfahren nach Anspruch 2, wobei die zweite vorgegebene Anzahl fünf ist.
6. Verfahren nach Anspruch 2, ferner enthaltend den Schritt des Einrichtens
der Einsprungstellenadresse für eine Mehrzahl von Makrobefehlen, derart,
daß einem Makrobefehl mit einer dritten Anzahl von Mikrocodebefehlen, die
größer als die zweite Anzahl plus eins ist, die dritte Zahl von Makrobefehlen
mit einer Anzahl von Mikrocodebefehlen folgt, die kleiner oder gleich der
zweiten Anzahl plus eins ist.
7. Verfahren nach Anspruch 1, wobei die zweite Anzahl variabel ist.
8. Verfahren nach Anspruch 7, wobei die zweite Anzahl eine Anzahl von
Mikrocodebefehlen bis zu einem ersten Sprung ist.
9. Vorrichtung zum lmplementieren einer Makrobefehl durch Adressieren einer
Reihe von Mikrocodebefehlen in einem Speicher, enthaltend:
einen Befehlsregister zum Halten des Makrobefehls,
auf den Makrobefehl ansprechende Einrichtungen zum Bereitstellen einer
Einsprungstellenadresse des Speichers,
erste Einrichtungen zum Inkrementieren der Adresse um eine erste
vorgegebene Zahl,
zweite Einrichtungen zum Inkrementieren der Adresse um eins, und
Einrichtungen zum Koppeln eines Ausgangs der ersten
Inkrementiereinrichtungen an den Speicher eine zweite Anzahl von
Inkrementen der Adresse mal und zum anschließenden Koppeln der zweiten
Inkrementiereinrichtungen an den Speicher.
10.Vorrichtung nach Anspruch 9. wobei die zweite Anzahl fest ist.
11. Vorrichtung nach Anspruch 10, wobei die Einrichtungen zum Bereitstellen
einer Einsprungstellenadresse permanent fixiert sind.
12. Vorrichtung nach Anspruch 10, wobei die erste Zahl 512 ist.
13. Vorrichtung nach Anspruch 10, wobei die zweite Anzahl sechs ist.
14. Vorrichtung nach Anspruch 10, wobei die ersten und zweiten
Inkrementiereinrichtungen einen einzelnen Zähler mit
Mehrfachübertragungseingängen enthalten.
15. Vorrichtung nach Anspruch 10, wobei die Koppeleinrichtungen eine auf
einen Teil einer gegenwärtigen Mikrocodespeicheradresse ansprechende
Dekodierschaltung enthalten, um ein Signal zu erzeugen, um die ersten
Inkrementiereinrichtungen für einen ersten Adressenblock und die zweiten
Inkrementiereinrichtungen für einen zweiten Adressenblock auszuwählen.
16. Vorrichtung nach Anspruch 9 wobei die zweite Anzahl variabel ist.
17. Vorrichtung nach Anspruch 16, wobei die Koppeleinrichtungen einen
Bit-Ausgang eines Mikroprogrammzählerregisters enthalten, wobei der
Bit-Ausgang einem Bit-Eingang entspricht, und ferner einen
Mikrocodebefehlsregister enthält, der einen an den Bit-Eingang gekoppelten
Ausgang hat.
18. Vorrichtung nach Anspruch 17, wobei der Bit-Ausgang eine getrennte
Ladefreigabe hat, und ferner ein Steuerregister enthalten ist, der einen an
den Mikrocodebefehlsregister gekoppelten Eingang und einen an die
Ladefreigabe gekoppelten Ausgang hat.
19. Vorrichtung zum Implementieren einer Makrobefehl durch Adressieren einer
Reihe von Mikrocodebefehlen in einem Speicher, enthaltend:
einen Befehlsregister zum Halten des Makrobefehls,
auf den Makrobefehl ansprechende Einrichtungen zum Bereitstellen einer
Einsprungstellenadresse des Speichers,
erste Einrichtungen zum Inkrementieren der Adresse um eine erste
vorgegebene Zahl,
zweite Einrichtungen zum Inkrementieren der Adresse um eins, und
eine auf einen Teil einer gegenwärtigen Mikrocodespeicheradresse
ansprechende Dekodierschaltung, um ein Signal zu erzeugen, um die ersten
Inkrementiereinrichtungen für einen ersten Adressenblock und die zweiten
Inkrementiereinrichtungen für einen zweiten Adressenblock auszuwählen.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US3660687A | 1987-04-10 | 1987-04-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3852708D1 DE3852708D1 (de) | 1995-02-23 |
DE3852708T2 true DE3852708T2 (de) | 1995-06-01 |
Family
ID=21889561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19883852708 Expired - Fee Related DE3852708T2 (de) | 1987-04-10 | 1988-04-05 | Verfahren und Apparat zum Überspringen mittels Abbildung einer Einsprungstelle. |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP0286352B1 (de) |
JP (1) | JP2804266B2 (de) |
AU (1) | AU607481B2 (de) |
DE (1) | DE3852708T2 (de) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0574980B1 (de) * | 1992-06-15 | 1999-06-09 | Koninklijke Philips Electronics N.V. | Prozessor zur Verarbeitung zeitdiskreter Signale |
US8214754B2 (en) * | 2005-04-15 | 2012-07-03 | Microsoft Corporation | Registration of applications and complimentary features for interactive user interfaces |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59183433A (ja) * | 1982-12-06 | 1984-10-18 | Sanyo Electric Co Ltd | マイクロプログラム制御方式の中央処理装置 |
-
1988
- 1988-04-05 EP EP19880303012 patent/EP0286352B1/de not_active Expired - Lifetime
- 1988-04-05 DE DE19883852708 patent/DE3852708T2/de not_active Expired - Fee Related
- 1988-04-08 AU AU14437/88A patent/AU607481B2/en not_active Ceased
- 1988-04-11 JP JP63088895A patent/JP2804266B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0286352A2 (de) | 1988-10-12 |
JPS644833A (en) | 1989-01-10 |
AU1443788A (en) | 1988-10-13 |
DE3852708D1 (de) | 1995-02-23 |
EP0286352A3 (en) | 1990-08-29 |
EP0286352B1 (de) | 1995-01-11 |
JP2804266B2 (ja) | 1998-09-24 |
AU607481B2 (en) | 1991-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2755273C2 (de) | ||
DE4035405C2 (de) | ||
DE3854701T2 (de) | Methode und Vorrichtung zum Verändern von Mikrobefehlen mit einer Makrobefehlspipeline. | |
DE68927371T2 (de) | Verfahren und Vorrichtung zur Verarbeitung von mehreren Zustandscodes wie für einen Parallel-Pipeline-Rechner | |
DE1931966C3 (de) | Datenverarbeitungsanlage mit Assoziativspeichern | |
DE69738188T2 (de) | Verfahren und apparat für eine erhöhte genauigkeit bei der verzweigungsvorhersage in einem superskalaren mirkroprozessor | |
EP0097725B1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
DE69027932T2 (de) | Cpu-pipeline mit registerfile-bypass durch adressvergleich bei aktualisierungen/zugriffen | |
DE2524046C2 (de) | Elektronische Datenverarbeitungsanlage | |
DE2145120B2 (de) | Digitales datenverarbeitungsgeraet | |
DE2540975A1 (de) | Multi-mikro-prozessor-einheit | |
DE2555963A1 (de) | Einrichtung zur funktionsmodifizierung | |
DE2230102A1 (de) | Rechenwerk fuer variable wortlaengen | |
DE1499193A1 (de) | Datenverarbeitungsanlage | |
DE2813128A1 (de) | Mikroprogrammspeicher | |
DE2318069A1 (de) | Rechnersteuersystem unter verwendung von mikroprogrammierung und statisch/dynamischer erweiterung von steuerfunktionen mittels festverdrahteter logischer matrix | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE2457612A1 (de) | Mikroprogrammier-steuersystem | |
DE2717658A1 (de) | Anordnung zur ansteuerung eines mikroprogrammspeichers | |
DE2556617C2 (de) | Schiebe- und Rotierschaltung | |
DE3043653A1 (de) | Datenverarbeitungsanlage | |
DE2426874A1 (de) | Verfahren und schaltungsanordnung zur bestimmung der adressenart eines befehls | |
DE68927313T2 (de) | Operandenspezifiererverarbeitung | |
DE602004008818T2 (de) | Verfahren zur Bezugnahme auf die Adresse von Vektordaten und Vektorprozessor | |
DE2433436A1 (de) | Verfahren und anordnung zum mehrfachverzweigen des programms in einem digitalen computer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |