DE3116100A1 - Sprungabschaetz-zentraleinheit - Google Patents
Sprungabschaetz-zentraleinheitInfo
- Publication number
- DE3116100A1 DE3116100A1 DE19813116100 DE3116100A DE3116100A1 DE 3116100 A1 DE3116100 A1 DE 3116100A1 DE 19813116100 DE19813116100 DE 19813116100 DE 3116100 A DE3116100 A DE 3116100A DE 3116100 A1 DE3116100 A1 DE 3116100A1
- Authority
- DE
- Germany
- Prior art keywords
- register
- command
- instruction
- address
- 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.)
- Granted
Links
- 238000003860 storage Methods 0.000 claims description 27
- 238000012545 processing Methods 0.000 claims description 20
- 238000011156 evaluation Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 5
- 238000001514 detection method Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 14
- 238000012360 testing method Methods 0.000 description 14
- 238000000034 method Methods 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 5
- 241000607479 Yersinia pestis Species 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 238000012432 intermediate storage Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 206010035148 Plague Diseases 0.000 description 1
- 241001233037 catfish Species 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 229910000679 solder Inorganic materials 0.000 description 1
- 238000001356 surgical procedure 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3804—Instruction prefetching for branches, e.g. hedging, branch folding
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)
- Executing Machine-Instructions (AREA)
Description
Die Erfindung betrifft eine Zentral(Prozessor)einheit für
einen elektronischen Rechner und insbesondere ein Verfahren
sum Abrufen τοη für die Operationen der Zentraleinheit erforderlichen
Befehlen oder Daten aas einem Makrobefehlsspeicher für diese Befehle oder Daten.
Die Verarbeitungsgeschwindigkeit einer Zentraleinheit ist
im allgemeinen größer als die Abrufgeschwindigkeit. Wenn
somit die Quantität b«w. umfang einer Verarbeitungeoperation der Zentraleinheit (Zahl der bei einer Ausführungsoperation
der Zentraleinheit (CPIT) verarbeiteten Bit β) dem umfang einer
Abrufoperation entspricht (Zahl der Bits» die in einem Abrufvorgang
rom Hakrobefehlsspeicher sur Zentraleinheit bewegt
werden können)» wird die gesamte Rechengeschwindigkeit durch die Abrufgeschwindigkeit verringert, auch wenn die
Zentraleinheit mit höherer Geschwindigkeit arbeitet. Zur Ausschaltung dieses Problems sind bereits zwei Verfahren
vorgesehlagen worden. Beim ersten Verfahren wird vorgeschlagen» die Größe (quantity) einer Abrufoperation der
Zentraleinheit genauso groß oder größer xu wählen als die Grüße einer Verarbeitungeoperation. Hierbei kann s.B. eine
Vergrößerung der Speichersammelschienenbreite vorgesehen
werden. Sine solche Vergrößerung ist jedoch nachteilig» weil
dabei die Steuerung oder Regelung koalisiert wird und die Kosten ansteigen.
Beim sweiten Verfahren wird vorgeschlagen» einen Speicher
oder ein Register kleiner Kapazität Bit einer der Verarbeitungsgeschwindigkeit
der Zentraleinheit entsprechenden Abruf geschwindigkeit hinsusufügen und im voraus ("Vorabrufn)
im suetttslichen Speicher bsw. Cache-Speicher oder Register
die Makrobefehle oder Daten abzurufen» die durch die Zentraleinheit
verarbeitet werden sollen.
Dieses «weitgenannte Verfahren läßt sich weiterhin in das Cache-Speichersystem und das "£ipelineR-Regi8tersyetem unterteilen.
Da der Cache-Speicher aufwendig ist» wirft die Verwendung des betreffenden Systems-bei kleinen Rechnersystemen
Probleme auf. Die Brfindung besieht sich nun auf das Pipeline-Registersystem
im Vorabruf syst em.
VorabrufSystem
\
\
I 1
— Zweig - berücksichtigendes
System
— Zweig - nicht-beriicksichti-
gendes System
Da die Vorabrufoperation τοη Daten im Cache-Speicher- und im
Pipeline-Registersystem keinen unmittelbaren Besug zur Erfindung
hat» wird auf die entsprechende Beschreibung verzichtet. Die Erfindung besieht sich somit auf das Zweig-Berticksiehtigungssyetea
zur Durchführung der Vorabrufoperation von Befehlen im Pipeline-Registersystem. Wenn in der Befehlssequens
ein Bewertuags- oder Prüfbefehl enthalten ist» wird die zu verfolgende Befehlssequenz in eine Ansah! von Teile
aufgezweigt, die als Zweige (branch tree) bezeichnet werden.
Wenn der Prüfbefehl (judge instruction) ausgeführt wird» wird ein Zweig entsprechend der Prüfung oder Entscheidung
(judgement) ausgewählt» während die anderen Zweige überflüssig
werden. Beim Zweig-Berüeksiohtigungssystea werden alle
Zweige nach dem Prüfbefehl vorabgerufen. Beim Zweig-Hichtberücksichtigungssystea
wird nur ein Zweig vorabgerufen.
Wenn beim letzteren Verfahren der vorabgerufene Zweig nicht
der vorgesehene Zweig ist» muß ein anderer Zweig abgerufen werden» wodurch die Wirksamkeit des Torabrufs beeinträchtigt
wird. Während das Zveig-Berüeksichtigungesyetem bei großen
Rechnern angewandt wird» wird das Hichtberücksichtigungssystem
üblicherweise im Hinblick auf Kostenbeschränkungen bei mittleren oder kleineren Rechnern angewandt.
Im folgenden ist das allgemeine Vorgehen bei der Durchführung der Pipelinesteuerung oder -regelung beschrieben. Der Ausdruck
"Pipeline" besieht sich auf eine lotrechte Reihe von logischen Einheiten Id (mit i - 1» 2» ...» n) der Verarbeitungszeit t. Die Pipelinesteuerung ist ein Verarbeitungssystem,
bei dem Daten (einschließlich Befehle) sequentiell von der Eingangsklemme geliefert und in jedem Intervall t von der
Ausgangsklemme abgenommen werden» nachdem sie in η Stufen durch die Einheiten Li verarbeitet worden sind. Pur den Betrieb
mit hoher Geschwindigkeit 1st es nStig, auf die in
Pig. 1 gezeigte Weise eine Parallelverarbeitung von Befehlen unter Überlappung der Terarbeitungeechritte durchzuführen.
Dies wird als Pipeline-Steuersystem bezeichnet. In Pig. 1
sind ait L1, 12, 15» 14 und 15 ein Befehls-leseschritt, ein
Befehls-Dekodierschritt, ein Adressen-Rechenschritt, ein
Operanden-Ieseschritt bzw. ein Befehls-Aueführungsschritt
bezeichnet.
Die arithmetische Logikeinheit für die Pipelinesteuerung läßt sich allgemein auf die in Fig. 2 gezeigte Weise darstellen.
Sie funktioneilen Beziehungen dieser Einheiten sind in fig. 3 dargestellt. Die Operationsrorglnge gemäß Fig. 3
sind folgende:
1. Sine Befehlsauslese-Anforderung wird von einer Einheit P
zu einer Einheit B. atisgegeben.
2. Wenn der angeforderte Befehl in einem Puffer- oder Zwischenspeicher
(BH) vorhanden ist» sendet die Einheit B diesen zur Einheit P. falls er nicht vorhanden ist, gibt
die Einheit B eine Anforderung an eine Einheit F ab und sendet den angeforderten Befehl zur Einheit P.
3. Die Einheit P dekodiert den Befehl und gibt eine Anforderung für die Adressenberechnung des Operanden zu einer
Einheit A ab.
4. Die Adresse wird von der Einheit A zum Auslesen des Operanden zur Einheit B übermittelt.
5. Die Einheit P gibt einen Operationsbefehl zur Einheit S ab.
6. Das Operationsergebnis wird entsprechend dem Befehl von
der Einheit S über die Einheit B oder F in einem Hauptspeicher
(ab)gespeichert.
Der Ablauf der beschriebenen Yorgänge läßt sich durch das
Blockschaltbild gemäß Jig. 4 darstellen. Die Operationen gemäß Fig. 4 sind folgende:
1. Auslesen von Befehlen
Der Inhalt eines Programmeähler« 10 wird in einem Adreasenregister
12 gesetit, und auf der Grundlage dieser Adresse erfolgt ein Zugriff su einem Hauptspeicher
(Zwischenspeicher) 14 (Bahnen 2, 4-). Der aus dem Hauptspeicher (Zwischenspeicher) 14 abgegebene Befehl wird
über ein Speicherregister (XE) 16 in ein Befehlsregister 18 eingegeben (gesetst) (Bahnen 6, 8).
2. Adressenberechnung des «weiten Operanden
Der Inhalt eines Mehrsweckregisters (GE) 20 wird in einem
Adressenregister 22 (AR1) geladen und der Inhalt des Befehlsregisters
18 wird in ein anderes Adressenregister 24 (AE2) geladen. Die Inhalte der Register 22 (AR1) und 24
(AR2) werden «ur Adressenberechnung einer Adressenrecheneinheit 26 eingegeben und das Bechenergebnis wird zu
einem Adressenregister 28 (AR3) ausgegeben (Bahnen 30,
32, 34).
3. Auslesen des «weiten Operanden aus dem Speicher
Der Inhalt des Adressenregisters 28 (AH3) wird in das
Adressenregister 12 geladen. Das Auegangesignal des Adressenregisters 12 wird dem Hauptspeicher (Zwischenspeicher)
14 eingegeben» welcher dieses Signal sodann über das Speicherregister 16 *u einem «weiten Operandenregister
36 (0E2) ausgibt (Bahnen 38, 40, 42, 44).
4. Steuerung der Befehlsausführung
»ens fc * ν
dekodierer 46 eingegeben» um verschiedene Steuersignale
für die Durchführung des Befehle au liefern (Bahn 48).
5. Auslesen des ersten Operanden
Der erste Operand tob Mehrsweckregister 20 wird in ein erstes Operandenregister 50 (0E1) geladen (Bahn 52).
6. Operation
Sie Inhalte von erstes und zweitem Operandenregister 50
(0R1) und 36 (0B2) werden einer Bechen-Logikeinheit
(ALU) 54 zur Operation eingegeben und das Operationsergebnis wird su eines dritten Operandenregister 56
(0R3) ausgegeben (Bahnen 58» 60» 62).
7. Speicherung des Operationsergebnisses
Der Inhalt des dritten Operandenregisters 56 (0E3) wird über das Speieherregister 16 im Hehrsweckregister 20
oder im Hauptspeicher (Zwischenspeicher) 14 abgespeichert (Bahnen 64r 66» 68).
Bin einsiger Befehl wird somit durch mehrere Einheiten ausgeführt.
Beim Pipeline-Steuersystem werden jedoch Befehle sequentiell einer Einheit eingegeben. Wenn die Verarbeitungszeit jeder Einheit jeweils gleich ist» läßt sich eine ideale
"Pipeline" aufstellen. Da jedoch bei der tatsächlichen Verarbeitung
verschiedene komplexe Verarbeitungevorgänge im Spiel sind» tritt ein sogen. "Leerlauf-Verarbeitungssegment"
auf. Dies 1st beispielsweise dann der lall» wenn ein bedingter Sprungbefehl vorliegt. Aus diesem Grund wurde vorgeschlagen»
Puffer- bsw. Zwischenregister in verschiedenen Einheiten
vorzusehen. Dies soll dasu dienen» die Ausgabe der Informationen durch Zwischenspeicherung derselben in der "Pipeline"
auch dann zu regulieren» wenn die Eingabedaten bzw. die Da-
teneingabe nicht regelmäßig sind bzw. iet. Bezüglich der Verwendung
der Zwisehenreglster sind gemäß Fig. 5 in der Einheit E
(Ausführungssteuerung) ein Optrationeetapelregieter (OSR) 68
für die Speicherung τοη Tier Operationen sowie ein Operanden-Zwiechenregieter
(OBE) 72 zur Speicherung von Tier Dateneinheiten angeordnet. Diese .Anordnung vird zum Zweck der
Ausschaltung τοη Leerlauf- bzw. lotzeit im Pipelinesystem
angewandtt wenn zeitraubende Operationen erforderlich sind
oder aufeinanderfolgende Daten (Einheiten) aus dem Speicher ausgegeben werden.
In der Einheit P (Programmsteuerung) gemäß Fig. 6 sind fünf Befehlspuffer- bzw. -Zwischenregister Torgesehen. Diese Register
umfassen Zwischenregister zum Auslesen des weitestmögliehen
Befehls im Befehlefluß, der augenblicklich ausgeführt wird (lormalsequenz), sowie Puffer- bzw. Zwischenregister
zum Auslesen des Befehls an der Sprungadresse (Zweigadressensequenz)» wenn ein Sprungbefehl eingegeben wird. Unter
den fünf Zwischenregistern (74» 76» 78» 80» 82) sind zwei
Register (76» 78) für Hormalsequens» zwei Register (80» 82)
für Zweigadressensequenz und das letzte Register (74) für die vorübergehende bzw. Zwischenspeicherung des Abrufbefehls vorgesehen»
wenn dieser aus dem Zwischenspeicher ausgegeben wird und sich das erforderliche (betreffende) Zwischenregister in
Gebrauch befindet. Sin Großrechner, der eine Pipelinesteuerung durchführt» erfüllt Üblicherwelse eine komplexe Steuerung unter
Verwendung einer Vielzahl an Hardware.
Aufgabe der Erfindung 1st damit insbesondere die Schaffung
einer Zentral(verarbeitungs)einheit» die mit einem vereinfachten
Vorabrufsystem arbeitet» so daß das Zweig-Berücksichtigungssystem
auf Kleinrechner oder Mikrorechner übertragbar ist.
Diese Aufgabe wird bei einer Sprungabschätz-Zentraleinheit»
welche die Bedingungen oder Zustände vorgegebener Daten für die Wahl eines als nächstes auszuführenden Befehls bewertet
und einen zu einer Yersweigungsadresse führenden Sprungbefehl
ausfuhrt» erfindungsgemäfi gelöst durch
(A) eine Einrichtung sur Speicherung der Yerzweigungsadresse»
(B) eine Einrichtung sur Speicherung eines Befehls für die Yersweigungsadresse»
(C) eine Einrichtung sur Erfassung eines Befehls zum Setzen einer Anzahl von den Bewertungebedingungen entsprechenden Adressen in der Adressenspeichereinrichtung und
(D) eine Steuereinrichtung sum Setsen der verschiedenen
Adressen in der Adressenspeichereinrichtung vor der Ausführung des Sprungbefehls nach Maßgabe eines Steuersignals
von der Erfassungeeinrichtung sowie zum Setzen
eines Befehle, der in durch die verschiedenen Adressen bezeichneten Speicherplätzen gespeichert ist» in der
Befehlsspeichereinrichtung vor der Durchführung des Sprungbefehls.
Sine Zweig- bzw. Sprungabschätz-Zentraleinheit gemäß der Erfindung
besitzt einen Aufbau» bei des ein Befehl der Verzwelgungsadresse
zu einem Segister vorabgerufen wird» bevor ein Befehl zum Setzen der Yerzweigungsadresse entsprechend
den Verzweigungebedingungen dekodiert und der Yerzweigungsbefehl ausgeführt wird. Aufgrund dieses Aufbaue kann eine
Zentraleinheit des Pipeline-Eegistersystems realisiert werden»
mit welcher die Steuerung oder Regelung einfach durchführbar
ist. Aufgrund der einfachen Steuerung kann außerdem die Zahl der logisches Elemente und Schaltkreise verringert
werden» und die Herstellungskosten kennen herabgesetzt werden.
Im folgenden sind bevorzugte Ausführungsformen der Erfindung
in Vergleich, sum Stand der Technik: anhand der beigefügten
Zeichnung näher erläutert. Ss seigen:
Fig. 1 eine sehematische Darstellung einer idealen Pipelinesteuerung
gemäß dem Stand der Technik,
Pig. 3 eine Sarstellung sur Erläuterung der Operationen bzw.
Arbeitevorgänge in jeder Einheit gemäß Yig. 2,
Fig. 4 ein Blockschaltbild sur Erläuterung des Aueführungsflusses eines Befehle bei einer Zentraleinheit mit
bisheriger Pipelinesteuerung»
Fig. 5 eine schematische Darstellung des Puffer- bzw. Zwischenspeicheraufbaus bei der Einheit E gemäß Fig.4»
Fig. 7 ein Hardware-Blockschaltbild einer Zentraleinheit auf einem verwandten Anwendungsgebiet zur Erläuterung
der erfindungsgemäß verwendeten Befehle»
Fig. 8A und 8B gemeinsam ein Blockschaltbild einer Zentraleinheit gemäß einer Ausführungsform der Erfindung»
Fig. 9 einen Speicherplan für in den Hakrobefehlsspeicher
gemäß Fig. 8A und SB eingeschriebene Makrobefehle»
Fig. 1OA biB 1OG Zeitdiagramme für die sequentielle Ausführung
der Makrobefehle gemäß Fig. 9»
Hg. 11 einen Speicherplan für den in den Makrobefehlsspeicher
eingeschriebenen KL-Befehle»
gang für die Größen des ersten» zweiten und dritten Operanden bei Ausführung dee ML-Befehls gemäß
Fig. 11 sowie die Zeitsteuerung der auf den ML-Makrobefehl, der parallel zu dieser Vorabrufoperation
ausgeführt wird» folgenden Makrobefehlsgruppe veranschaulichen»
Fig. 13 ein detailliertes Blockschaltbild der Adressensteuerung gea&ß Fig. 8,
Fig. 14 einen Speicherplan für den in den Makrobefehlsspeicher eingeschriebenen BTC-Befehl,
Fig. 15A bis 15K Zeitdiagraaae der Zeitpunkte» zu denen der
BTC-Befehl gemäß Fig. 14 ausgeführt wird,
Fig. 16 einen Speicherplan des in den Makrobefehlspeicher eingeschriebenen BID-Befehls und
Fig. 17A bis 171 Zeitdiagraaae der Zeitpunkte» zu denen der
BHD-Befehl gemäß Fig. 16 ausgeführt wird.
Vor der Erläuterung des Aufbaus einer Ausführungsform der
Erfindung wird zunächst eine Hakrobefehlsgruppe beschrieben»
die bei einem Rechensystea ait diesem Aufbau benutzt wird.
Obgleich die Makrobefehlsgruppe in der US-PS 4 240 137 im
einzelnen erläutert ist» soll sie ia folgenden anhand von
Fig. 7 kurz beschrieben werden. Der Zweck besteht darin» eine
Zentraleinheit zu schaffen, die in der Lage ist, strukturierte
bzw. Strukturprogramme auf der Ebene der Maschinensprache «irklich wirksam auszuführen» indem zur bisherigen Zentraleinheit
gemäß Fig. 7 ein Stapelspeicher 88 sowie zwei Arten von Registern zur Speicherung der Verzweigungsadresse» ein
A-Register 84 und ein B-Register 86 hinzugefügt werden» und
weiterhin eine Schaltung -vorgesehen wird» mit welcher die
Steuerung dieser Elemente einfach ist. Zu diesem Zweck besitzt die Einheit Einrichtungen zur Lieferung von vier Befehlen:
1. Sine Einrichtung sur Beseichnung einer vorbestimmten
Adresse vom ProgrammzÄhler sum Auslesen von Daten (A,
B, C)» welche die Anfangsadressen des ersten» zweiten und dritten Blocks des im Hauptspeicher gespeicherten
Programms ausführen sowie zur Lieferung eines Befehls (ML-Sefehl) zur Speicherung dieser Daten im ersten
Register (A-Register)» im zweiten Register (B-Register) und im Stapelspeicher;
2. eine Einrichtung zur Lieferung eines Scht/falsch-Prüfbefehls
(BIO-oder BK-Befehl) zur selektiven Speicherung
des Inhalts des ersten Registers oder des zweiten Registers im ProgrammsMhler entsprechend dem Operationsergebnis ;
3. eine Einrichtung für einen Vierzehnzeilensprung des
Stapelspeichers zur Lieferung eines Befehls (END-Befehl)
zur Speicherung seines Inhalte im Programmzähler; und
4« eine Einrichtung für einen Vierzehnzeilensprung des
Stapelspeichers sur Lieferung eines Befehls (LOOP OUT-Befehl) zum Verwerfen des Speicherinhalts.
Diese Befehle werden durch Mikroprogramme und die erwähnte Schaltung durchgeführt.
Die folgende Beschreibung besieht sieh auf eine Gruppe von
vier Makrobefehlen:
(D ML A, Β* C
(2) BIO M(O), H(D, H(2), M(3) BIC M(O), M(D* M(2), M(3)
(3) EHD
U) LOOP OUT
(D ML A, Β* C
Der Inhalt der Adresse C wird dem fast in, last out-Stapelepeicher
C hinsuaddiert.
(2) BTC M(O), M(D. H(2), M(3)
Wenn die Groß der Bedingung F gleich 1 ist, wird eine Verzweigung
su der Adresse der im Register A gespeicherten Größe hergestellt.
Wenn die Größe der Bedingung I nicht 1 ist, wird eine Verzweigung
su der Adresse der in Register B gespeicherten Größe hergestellt.
P « ((M(O)AC)V (M(DAV) V (M(2)A H)V (M(3) A Z),
wobei die Größen von C, V, I und Z für die Operationsergebnisse
in der arithmetischen Logikeinheit unmittelbar vor dem BTC- oder BFG-Befehl erhalten werden; das Symbol A
bedeutet UHDf das Symbol V bedeutet ODSR; C ist ein Über-
tragkennzeichen, 7 ist ein Überlaufkennzeichen, N ist ein negatives
Kennzeichen und Z ist ein Hull-Kennseichen.
BPC M(O), M(1), M(2), M(3)
Wenn die Groß· der Bedingung f gleich O ist, wird eine Verzweigung
zu der Adresse der im Register A gespeicherten Größe hergestellt.
(3) EKD
Sin fast in, last out-Stapelspeicher C wird einem Vierzehnzeilensprung
unterworfen.
Sie erhaltene Größe wird vom Programmzähler (Aus) übertragen
und das Programm wird auf die Adresse dieser Größe verzweigt .
(4) LOOP OUI
Ein fast in, last out-Stapelspeicher ö wird einem Vierzehnzeilensprung
unterworfen, doch wird die erhaltene Größe nicht benutzt. Der Programaz&hler wird hochgeschaltet, und das
Programm wird sequentiell ausgeführt.
Verschiedene Sätze von Befehlen zur Lieferung von Entscheidungs-
oder Prüfbedingungen sind notwendigerweise vor den BSC- und BPC-Befehlen eingeschaltet. Der ML-Befehl muß vor
diese Befehle eingefügt werden. Durch Ausführung des ML-Befehl s sowie verschiedener Befehle vor dem Prüfbefehl, etwa
dem BTC- oder BJC-Befehl, ist es somit möglich, der Zentraleinheit
vor der Ausführung des BTC- oder BFC-Befehls zwei
Adressen (A und B) zur Verzweigung der Ausführungen des Prüf befehle und eine Rücklaufadresee (C) zur Rückführung
auf die ursprüngliche Befehlssequenz einzugeben.
Der Befehl für die Vorhersignalisierung braucht nicht» wie
beschrieben» ML A» B» G su entsprechen. Verschiedene andere» modifizierte Arten von Vorsignalisierungsbefehlen sind möglich.
Die Befehle Ml A» B, 0 werden hei dieser Ausführungsform als typische Befehle τοη verschiedenen VorSignaliBierbefehlen
benutzt. Wenn die Befehle MLA, B» C durch das Mikroprogramm ausgeführt werden» sind die folgenden Prüfbefehle,
wie im fall der BIC- oder BFC-Befehle, vereinfacht.
Sa die S&tscheidungs- oder Prüfbefehle bisher die Verzweigungsadressen»
wie A und B enthalten mußten» erforderten diese Befehle lange Bitmueter. Sie Verwendung des Befehle
ML A» B» C bei der erfindungsgemäßen Anordnung hat keine unmittelbare Vergrößerung des Makrobefehlespeichers zur
Folge. Ib folgenden sei ein einfaches Programm betrachtet» um die Funktionen des ML·-» des BIC-» des BFC- und des EHB-Befehls
zu verdeutlichen. In diesem Zusammenhang wird ein Programm betrachtet» welches zwei Zahlen vergleicht und
die kleinere ableitet. Es sei angenommen» daß die beiden Zahlen in Speicherplätzen mit den Adressen P und Q gespeichert
sind und die kleinere Zahl in einem Speicherplatz mit der Adresse MIH gespeichert ist.
Sas nachstehend beschriebene Programm gilt für herkömmliche Befehle:
Programm 1
SE 3» Q Sie andere Zahl wird von obiger Zahl subtrahiert.
BM A Wenn das Ergebnis negativ ist» erfolgt ein Sprung auf Adresse A
B LH 3» Q Sie kleinere Zahl wird in das Register 3 geladen.
A LH 3» P Die kleinere Zahl wird im Register 3 geladen.
gespeichert.
Das obige Program» kann unter Heranziehung der Mir-» BTC-BTC-
und END-Befehle wie folgt ungeschrieben werden:
Programm 2
fehl.
LE 3» P Eine Zahl wird in das Register 3 geladen.
subtrahiert.
Kennseichen gültig ist» und auf Adresse B, wenn das negative Kennzeichen falsch bzw.
ungültig ist.
ungültig ist.
gespeichert.
Wie sich aus obigem Beispiel ergibt» beträgt die Speicherkapazität
für Program 1» d.h. wenn die Programmierung mit
herkömmlichen Makrobefehlen erfolgt» 32 Bytes. Sie Speicherkapazität
bei Durchführung der Programmierung mit den ML-, BXG-, BfC- und EHD-Bβfehl en beträgt (dagegen) 34 Bytes. Obgleich
die erfindungsgemäß verwendeten Hakrobefehle somit zwei zusätzliche Bytes benötigen, kann eine derartige Vergrößerung
praktisch vernaehläßigt werden, wenn man die durch die jüngsten Verbesserungen in der Integrationsdichte
erzielten Kostenverringerungen für den IC-Speicher berücksichtigt .
Fig. 8 veranschaulicht eine Ausführungsform der Erfindung. Die vom Benutzer benutzten Befehle werden zur Unterscheidung
von Mikrobefehlen als Makrobefehle bezeichnet.
Die Makrobefehle und die zugehörigen Säten werden in einem
Makrobefehlsspeicher 90 gespeichert. Ein in der durch ein Adressenregister 92 gesetzten bzw. bestimmten Adresse gespeicherter
Makrobefehl wird über eine Speicherdatensammelleitung 94 zu einem Abrufregister 96 abgerufen und danach
über einen Wähler 98 zu eine» Ausführregister 100 abgerufen. Sie Operation des Abrufens des Makrobefehls zum Abrufregister
96 erfolgt parallel zur Abrufoperation für den Makrobefehl zum Ausführregister tOO zur Betätigung der
arithmetischen Logikeinheit (das Abrufregister 96 und das Ausführregister 100 können gemeinsam als Pipelineregister
bezeichnet werden). Ser aus dem Makrobefehlsspeicher 90 zum Abrufregister 96 auegelesene Befehl wird einem ersten
Dekodierer 102 zugeführt, welcher prüft, ob der zugelieferte
Hakrobefehl ein ML-Befehl ist. Ist dies nicht der fall» so
wird der Inhalt des Abrufregisters 96 festgehalten» hie die
Ausführung durch das AusffUxrregister 100 abgeschlossen ist.
Hachdem der Inhalt des Aueführregisters 100 durch die arithmetische
Logikeinheit verarbeitet worden ist» wird der Inhalt des Abruf registers 96 sum Ausführregister 100 übertragen
und durch einen «weiten Dekodierer 104 dekodiert. Auf der Grundlage des dekotierten Ergebnisses des zweiten Dekodierers
104 steuert ein Mikroprogramm-Sortierer bzw. -Programmregler 106 die Ausführung des in einem Mikroprogrammfestwertspeicher
108 gespeicherten Mikroprogramms. Der Mikrobefehlausgang vom Mikroprogramm-Festwertspeicher 108 wird
in ein Mikrobefehlsregister 110 geladen und verteilt das Steuersignal auf die arithmetische Logikeinheit oder die
betreffenden feile der Logikschaltung entsprechend dem Befehl vom Mikroprogramm-Sortierer bsw.-frogrammregler 106.
Die Speicherplatzadresse im Makrobefehlspeicher 90 für
den zum Abrufregister 96 abgerufenen Befehl wird durch das Adressenregister 92 bezeichnet. Die in einem Programmzähler
112 gesetzte Adressengröße wird somit über eine Adressensteuerung
114 auf einer Speicheradressen-Sammelschiene 116
ausgegeben. Sine Sammelschienensteuerung 118 liefert die
ausgegebene Adressengröße auf der Sammelschiene 116 zum Adressenregister 92. Der Programmxähler 112 wird in Einzelschritten
jeweils hochgeschaltet» so oft der Inhalt des Abruf registers 96 zum Ausftthrregister 100 geliefert wird» es
sei denn» daß ein Verzweigungsbefehl geliefert wird. Venn der Verzweigungsbefehl durch die Zentraleinheit ausgeführt
wird» wird die Verzweigungsadresse von der arithmetischen Logikeinheit über einen Wähler 120 zum Programmzähler 112
geliefert.
Wenn der erste Dekodierer 102 entscheidet» daß der Befehl ein ML-Befehl ist» schaltet ein Inkrementierer 122 den In-
• · It * «VW t» K
halt des Programmzählers 112 entsprechend einem Befehl vom
ersten Dekodierer 102 um 3 hoch. Der Hakrobefehlspeicher 90
weist 1-Byte-(8-Bit)-Speichereinheiten auf, in denen die Befehle oder Daten gespeichert werden bzw. sind. Wenn angenommen
wird, daß die Adressengröße aus acht Bits besteht
und der Operationskode des Befehls ebenfalls acht Bits umfaßt, besteht der HL A, B, C-Befehl aus 4 Bytes. Im vorstehend
angenommenen fall wird der Operationskode des genannten ML-Befehlß nicht sum Aueführregister 100 geliefert.
Sine Adressen/Befehl-Torabrufsteuerschaltung 124 weist die
Sammelschienensteuerung 118 an, die Operanden des HL-Befehls
mittels des Befehls vom ersten Dekodierer 102 auszulesen. Die Sammelschienensteuerung 118 liest die Operanden A, B
und C des HL-Befehls aus dem Hakrobefehlspeicher 90 aus
und lädt sie über ein Datenregister 126 in einem A-Register 128, einem B-Eegister 130 bzw. einem C-Stapelregister
132. Letzteres ist ein fast in, last out-Stapelregister.
Die Adressen/Befehl-Vorabrufsteuerschaltung 124 liest die
Inhalte des Speicherplatzes des Hakrobefehlspeichers 90 aus, welche durch die im A-Begister 128, im B-Hegister 130 und
im Registerstapel 132 gespeicherte Adresse bezeichnet werden, um sie über das Datenregister 126 in ein Befehlsregister
134» ein Befehlsregister 136 sowie ein Befehlstapelregister 138 au laden. Letzteres ist, ebenso wie das C-Stapelregister
132, ein fast in, last out-System.
Venn nach der Ausführung des HL-Befehls auf vorstehend beschriebene
Weise der Sntscheidungs- bzw. Prüft) β fehl (BTC-Befehl,
BFC-Befehl) stets vorhanden ist, wird der Befehl
der Terzweigungsadresse in den Befehlsregistern 134 und 136
vorbereitet, während der Befehl für die Rücklaufadresse im
Befehlstapelregister 138 vorbereitet wird. Diese Vorabrufoperation
wird durchgeführt, während die beiden Befehle, d.h. HL- und BSC-Befehl, beim Beispiel von Programm 2 ausgeführt
werden. Im Pail des Programme 2 werden LH in die
31161OO
Befehlsregister 134 und 136 geladen, während STH in das Befehlstapelregister
138 geladen wird. Die Größen der Operanden A» B* C werden in das A-Begister 128* das B-Register
bzw. das C-Stapelregister 132 geladen. Wenn der Entscheidungs-
bzw. Prüfbefehl (BSC-Befehl, BTC-Befehl) ausgeführt wird, wird eines der Befehlsregister 134 und 136 durch den
Wähler 98 gewählt und der Prüfbefehl wird in das Ausfuhrregister 100 geladen. Wenn beispielsweise das Befehlsregister
134 gewählt let, wird sein Inhalt in das Ausführregister 100 geladen. Gleichzeitig damit wird der Inhalt
des A-Hegisters 128 über die Adressen/Befehl-Vorabrufsteuerschaltung
124 und den WShIer 120 in den Programmzähler
112 geladen, der um 1 hochgeschaltet wird. Diese Größe wird zur nächsten Adresse für den Abruf aus dem Makrobefehlsspeicher
90. Wenn der EBD-Befehl durch die Zentraleinheit
ausgeführt wird, wird der Inhalt des Abrufregisters 96 nicht in das Ausführregister 100 geladen, vielmehr wird
das Befehlsstapelregister 138 einem Vierzehnzeilensprung unterworfen und der erreichte Inhalt wird in das Ausführregister
100 geladen. Zu diesem Zeitpunkt bleibt der Inhalt des Abrufregisters 96 unberücksichtigt. Der durch den Vierzehnzeilensprung
des C-Stapelregisters 132 erreichte Inhalt
wird in den Programmzähler 112 geladen, um diesen um 1 hochzählen zu lassen.
Im folgenden ist die Ausführung des Kakrobefehle in der erfindungsgemäßen
Zentraleinheit erläutert.
Wie im Speicherplan gemäß Tig. 9 dargestellt, wird angenommen, daß ein 1-Byte-Befehl OPO in die Adresse P des Makrobefehlsspeichers
90, ein 2-Byte-Befehl 0P1 in Adressen P + und P + 2 sowie 1-Byte-Befehle 0P2 und 0P3 in Adressen
P + 3 und P + 4 eingeschrieben werden. Die Ausführung des Makrobefehls erfolgt hierbei wie folgt:
1. Sine Anforderung sum Auslesen des Makrobefehls OPO wird
während der Ausführung des Makrobefehls, welcher dem Makrobefehl OPO um einen Schritt vorhergehtt ausgegeben.
Dies bedeutetf daß der Inhalt des Programmzählers 112
über die Speicheradreesen-Saamelschiene 116 zum Adressenregister
92 gesandt wird, um eine Speicherausleseanforderung auszugeben.
2. Der Inhalt des Programmzählers 112 wird durch den Inkrementierer
122 um 1 (P + 1) hochgezählt und durch den Programmzähler 112 über den Wähler 120 festgehalten.
3. Der Makrobefehl OPO,tLe*&en Auslesung im Schritt 1 angefordert
wurde» wird aus dem Makrobefehlsspeicher 90 ausgelesen und über die Speicherdaten-Sammelschiene 94
im Abrufregister 96 festgehalten. Der im Abrufregister
96 gehaltene Makrobefehl wird durch den Dekodierer 102 dekodiert bzw. entschlüsselt und geprüft» ob es sich
um einen ML-Befehl handelt.
4. Der Inhalt (P + 1) des Progranmzählers 112 wird zum
Adressenregister 92 übertragen» und es wird eine Ausleseanforderung
für den nächsten Befehl ausgegeben.
5. Wenn der Befehl im Schritt 3 als ein anderer Befehl als der ML-Befehl festgestellt wird» wird der Inhalt
des Abrufregisters 96 über den Wähler 98 zum Ausführregister 100 übertragen. Der Inhalt des Ausführregisters
100 wird durch den Dekodierer 104 dekodiert»
wobei eine Anfangsadresse des für den Makrobefehl OPO speziellen Mikroprogramms erzeugt wird. Diese Anfangsadresse
wird dem Mikroprogramm-Sortierer 106 zugeführt.
6. Schritt 2 wird für (P + 2) wiederholt.
7. Die Daten» deren Auslegung in Schritt 4 angefordert
wurde» d.h. der Makrobefehl OP1» wird im Abrufregister
festgehalten.
8. Schritt 4 wird wiederholt.
9. Die Ausführung des Makrobefehls OPO wird beendet. Der
nächste Makrobefehl 0P1 wird zur Ausführung zum Ausführregister 100 übertragen.
10. Die Daten» deren Auelesung im Schritt 8 angefordert wurde» d.h. der Operand des Makrobefehls 0P1» werden im
Abrufregister 96 festgehalten. Diese Größe wird zur
arithmetischen Logikeinheit gesandt» um für die Operation des Makrobefehls 0P1 benutzt zu werden.
Wie durch den Speicherplan gemäß Fig. 11 -veranschaulicht»
sei angenommen» daß der ML-Befehl aus der Adresse P des
Makrobefehlespeichers 90 eingeschrieben wird und die Makrobefehle OPl» OPm und OPn in Adressen a» b bzw. c eingeschrieben
werden» welche durch ersten» zweiten bzw. dritten Operanden des ML-Befehls daxgestellt sind. Weiter sei angenommen»
daß die Makrobefehle 0P2» 0P3» 0P4» ...» die auf den ML-Befehl folgen» nach der P + 4-Adresse sequentiell
ausgeführt werden. Der vorstehende Ausführungsvorgang wird im einzelnen anhand der Zeitdiagramme gemäß fig. 12A bis
12M erläutert» gemäß denen die Makrobefehle auf oben genannte Weise eingeschrieben werden.
1. Sine Ausleseanforderung für den ML-Befehl wird während
der Ausführung des vor dem ML-Befehl ausgeführten Makrobefehls ausgegeben. Dies bedeutet» daß der Inhalt (P)
des Programmsählers 112 sum Adressenregister 92 übertragen
und die Aueleseanforderung $es Speichers ausgegeben
wird.
2. Der Inhalt (P) des Prograamxählers 112 wird durch den
Inkrementierer 122 um 1 (P + 1) hoehgezählt und über den
Wähler 120 im Prograamsähler 112 festgehalten.
3. Die in Schritt 1 angeforderte Dateneinheit wird aus dem Makrobefehlsspeicher 90 ausgelesen und über die Speicherdaten-Sammelschiene
94 in Abrufregister 96 festgehalten. Die im Abrufregister 96 gehaltene Dateneinheit
wird durch den Dekodierer 102 dekodiert und daraufhin geprüft» ob sie ein ML-Befehl ist oder nicht. Im positiven
fall wird eine Startanforderung zur Adressen/Befehl-Torabrufsteuerschaltung
124 ausgegeben. (Die Arbeitsweise dieser Steuerschaltung nach der Startanforderung
wird später noch näher erläutert werden).
4· Der Inhalt (P+ 1) des Programmzählers 112 wird zum
Adressenregister 92 übertragen und eine Ausleseanforderung für die nächste Dateneinheit wird ausgeführt.
Die Größe a (der erste Operand des ML-Befehls), die
aus dem Hakrobefehlsspeicher 90 ausgelesen wurde» wird
durch die Funktion der genannten Steuerschaltung 124 im Datenregister 126 festgehalten.
5. Wenn die Dateneinheit im Schritt 3 als ML-Befehl festgestellt
worden ist» wird der Inhalt des Programmzählers 112 durch den Inkrementierer 122 um 3 auf (P + 4) hoehgezählt.
woraufhin die durch den Programmzähler 112 bezeichnete Adresse sua nächsten Kakrobefehl 0P2 des ML-Bef
ehls wird.
6. Zum Auslesen des Makrobefehle 0P2 wird der Inhalt dee
Programmzählers 112 sum Adreseenregister 92 übertragen»
und die Speicheraueleseanforderung wird ausgeführt. Da das Auslesen des zweiten und des dritten Operanden des
ML-Befehle durch die genannte Steuerschaltung 124 erfolgt»
erfolgt diese Verarbeitung an dieser Stelle nicht.
7. Schritt 2 wird wiederholt.
8. Die von Hakrobefehlsspeicher 90 im Schritt 6 angeforderte
Dateneinheit wird über die Speicherdaten-Sanmelschiene 94 im Abrufregister 96 gehalten. Der neue» in Abrufregister
96 gehaltene Hakrobefehl OP2 wird, ähnlich wie in Schritt 3» durch den ersten Dekodierer 102 dekodiert« um festzustellen,
ob es sich um einen ML-Befehl handelt.
9. Der im Abrufregister 96 gehaltene Makrobefehl 0P2 wird im
AuBftihrregister 100 gehalten. Der Inhalt des Ausführregisters
100 ändert sich von der vorhergehenden Anforderung oder Ausführung des ML-Befehle sum Makrobefehl 0P2,
und der Befehl selbst wird nicht im Ausführregister 100 festgehalten.
Xm folgenden ist die Adressen/Befehl-Yorabrufsteuerschaltung
124 zur Ausführung des ML-Befehls erläutert.
Venn der erste Dekodierer 102 die Dateneinheit als ML-Befehl
feststellt, wird ein Treigabesignal GIiR zu einem Zähler 140
der Adressen/Befehl-Torabrufsteuerschaltung gemäß Fig. 13
zugeliefert. Die Arbeitsweise des Zählers 140 wird durch das Ausgangssignal eines UID-fflLieds 142 gesteuert. Der Zähler
bestimmt oder bezeichnet eine spezielle Adresse eines Pestwertspeichers
144. Dem Zähler 140 werden über das UMD-Glied
142 Taktsignale zugeführt, durch welche er in Einzelschritten
hochgeschaltet wird bzw. hochzählt. Der Pestwertspeicher
9 *t » * * i
144 dient zur Speicherung eines Programms zur Erzeugung
verschiedener Steuersignale für die Ausführung des ML-Befehls.
Sie aus dem Festwertspeicher 144 ausgelesene Größe wird
durch eine Pestwertspeicher-Ausgangsverriegelungsschaltung
146 festgehalten* die verschiedene Steuersignale verteilt. Das im festwertspeicher 144 gespeicherte Programm wird von
der Adresse O durch die Punktion des Zählers 140 ausgeführt. Diese Prograamausführung wird unterbrochen, wenn
das Auslesen aller Operanden des HL-Befehls abgeschlossen
ist. Die PrograjBsausführung erfolgt in Synchronismus mit
des Taktsignal CLOCK. Sin Speicheradressenregister 148 dient zur Bezeichnung der Adressen des ersten» zweiten
und dritten Operanden des ML-Befehls unter Benutzung des
Programmzählers 112 als Quelle. Sin Wähler 150 schaltet zwischen den Quellen zur Bezeichnung der aus dem Makrobefehlsspeicher
90 auszulesenden Adresse um» wobei diese Quellen das Speicheradressenregister 148» das A-Segister
128» das B-Register 130 und das C-Stapelregister 152 sind.
Diese Auswahl erfolgt nach Maßgabe eines Signals SE. Zur Ausgabe der Ausleeeanforderung zum Makrobefehlsspeicher
wird die Größe der durch den Wähler 150 gewählten Quelle»
d.h. die Adresse» über einen Ausgangs-Zwischenspeicher zur Speicheradressen-Saaaelschiene 116 geleitet. Gleichzeitig
damit wird ein Speicherauslese-Anforderungssignal BDRQ ausgegeben. Die zur Sammelschiene 116 übertragene
Größe wird zum Adressenregister 92 übermittelt» und der Inhalt der entsprechenden Adresse des Makrobefehlsspeichers
90 wird ausgelesen. Die auegelesene Größe wird der Sammelschiene 94 zugeführt und vom Datenregister 126 gehalten.
Sodann wird zur Aktivierung des Zählers 140 ein Bereitschaftesignal BDT zum UHD-Glied 142 geliefert. Das
Bereitschaftssignal BDT wird für Steuerzwecke benutzt» so
daß die Ausführung des im !Festwertspeicher 144 gespeicherten
Programms erst dann eingeleitet wird» wenn das Auslesen
des im Makrobefehlsspeicher 90 gespeicherten Programms abgeschlossen ist. Wenn der Zähler 140 durch das Bereitschaftesignal
BDT aktiviert b«w. in Gang gesetzt wird» wird sein Inhalt durch die Taktsignale CLOCK in Einzelschritten
hochgeschaltet.
Sie aus dem Makrobefehlsspeicher 90 ausgelesene und an Datenregister
126 gehaltene Größe wird im A-Eegister 128» im
B-Register 130 oder im C-Stapelregister 152 durch ein Freigabesignal
SITA gespeichert» das τοη der Pestwertspeicherausgang-Yerriegelungsschaltung
146 ausgegeben wird. Die Grüßen der drei Operanden des HL-Befehls werden somit in
den betreffenden legietern gespeichert. Die in den Registern
128» 130 und 132 gespeicherten Größen sind die Adresseninforaationen für den Makrobefehlsspeicher 90.
Die Hakrobefehle dieser Adressen werden ebenfalls über die
Adreseen/Befehl-Vorabrufsteuerschaltung 124 aus dem Makrobefehlsspeicher
90 ausgelesen. Das Auslesen der durch den Inhalt des A-Registers 128 bezeichneten Information aus dem
Makrobefehlsspeicher 90 erfolgt auf ähnliche Veise wie das
Auslesen der Grüße a des ersten Operanden. Aufgrund des Signals SE wählt die Yerriegelungsschaltung 146 das A-Register
128 als Quelle des Wählers 150» und sie aktiviert den Ausgangsawischenpuffer 152 mittels eines Ausgangs-Freigabesignals
OE. Die Schaltung 146 gibt gleichseitig auf ein Speicherauslese-Aaforderungseignal BDEQ hin eine Speicherausleseanforderung
gum Makrobefehlespeicher 90 aus. Infolgedessen wird der Inhalt des A-Eegisters 128 über die Sammelschiene
116 sum Adressenregister 92 geliefert. Die aus
dem Makrobefehlsspeicher 90 ausgelesene Größe wird auf
ähnliche Weise» wie vorstehend für das Auslesen beschrieben» im Datenregister 126 gespeichert bzw. festgehalten.
Obgleich in fig. 13 nicht dargestellt» wird die im Daten-
register 126 festgehaltene GrUBe mittels des Freigabesignals
ENA von der Verriegeluageschaltung 146 in einem der Befehlsregister
134» 136 und 138 gespeichert. Wenn alle oben beschriebenen
Operationen abgeschlossen sind» wird ein Ausgangssignal SIS eines Hip-ϊΐορβ 156 zu einer "1"» wodurch
angezeigt wird» daß das Auslesen der Operanden des ML-Befehls
abgeschlossen ist.
Das Auslesen der Operanden des ML-Befehls in Abhängigkeit
von der Startanforderung vom ersten Dekodierer 102 erfolgt auf die nachstehend beschriebene Weise. Sie Zeitsteuerung
dieser Operation beruht auf dem Zeitdiagramm gemäß Fig.
Ser Inhalt des ProgrammzäMers 112 wird in das Speicheradressenregister
148 geladen.
Sie aus dem Hakrobefehlsspeicher 90 in Schritt 4
auegelesene Sateneinheit wird entsprechend dem vorher beschriebenen Ausführungsvorgang für den ML-Befehl
im Satenregister 126 gehalten.
Sie im Satenregister 126 gehaltene Größe wird in das
A-Eegister 128 geladen,
Ser Inhalt des A-Begisters 128 wird über den Ausgangszwischenspeicher
152 zur Speicheradressen-Sammelschiene 116 geleitet» und es wird eine Ausleseanforderung
zum Hakrobefehlsspeicher 90 ausgegeben.
Ser Inhalt des Speicheradressenregisters 148 wird um
1 erhöht.
Sie aus dem Makrobefehlsspeicher 90 ausgelesene und in Schritt (?) i» Satenregister 126 gehaltene Größe
(Makrobefehl OPl) wird im Befehlsregister 134 gespeichert
.
Der Inhalt des Speicheradressenregisters 148 wird über
den Auegangeswischenepeicher 152 zur Speicheradressen-Sammelechiene
116 geleitet» und es wird eine Ausleseanforderung zum Makrobefehlsspeieher 90 ausgegeben.
Die aus den Makrobefehlsepeioher 90 ausgelesene und im
Datenregister 126 gehaltene Größe b wird im B-Register 130 gespeichert.
Das AuBgangesignal des B-Registers 130 wird zur Sammelschiene
116 geliefert» und es wird eine Ausleseanforderung zua Makrobefehlsspeicher 90 ausgegeben.
Der Inhalt des Speicheradreasenregisters 148 wird um 1
erhöht.
Die au« dem Makrobefehlsspeicher 90 ausgelesene und im Schritt (?) i» Datenregister 126 gehaltene Größe
(Hakrobefehl OTm) wird im Befehlsregister 136 gespeichert
.
Der Inhalt des Speicheradressenregisters 148 wird über den Ausgangezwischenspeicher 152 der Sammelschiene 116
zugeführt und es wird eine Ausleseanforderung zum Hakrobefehlsspeicher 90 ausgegeben.
Die aus dem Hakrobefehlsspeicher 90 ausgelesene und
im Datenregister 126 gehaltene Größe c wird im C-Stapelregister 132 gespeichert.
Die im C-Stapelregister 132 gespeicherte Größe wird
über den Ausgangszwischenspeicher 152 der Speicheradressen-Saemelschiene
116 zugeführt» und es wird eine Ausleseanforderung zum Makrobefehlsepeicher 90
ausgegeben.
15 Die aus dem Hakrobefehlsspeieher 90 ausgelesene und im
Datenregister 126 gehaltene Größe (Makrobefehl OPn) wird im Befehlsstapelregieter 138 gespeichert.
Die BTC- und BFC-Befehle sind im folgenden im einzelnen erläutert. Bei diesen Befehlen handelt es sich jeweils um
Sprung- bzw. Verzweigungebefehle. Die Verzweigungsadresse ist der erste Operand des ML-Befehls oder die durch den
zweiten Operanden dargestellte Adresse. Der Unterschied zwischen ihnen besteht in den Verfahren zur Bewertung oder
Prüfung des Kennzeichens» das durch die Bedingungen des in diesen Hakrobefehlen enthaltenen Haskenbits dargestellt wird»
und dem Operationsergebnis der arithmetischen Logikeinheit. Vorliegend ist der BSC-Befehl beschrieben.
Im folgenden ist die Operation oder Arbeitsweise für den
Fall beschrieben» daß der BJKJ-Befehl gemäß Fig. U in die
Adresse P des HakrobefehlsBpeichers 90 eingeschrieben wird» wobei auf die Zeitdiagramme gemäß Fig. 15A bis 15K verwiesen
wird.
1. Sine Ausleeeanforderung für den BTC-Befehl wird während der Ausführung des Hakrobefehls» der um einen Schritt
vor dem BTC-Befehl liegt» durchgeführt. Dies bedeutet» daß der Inhalt des Programmzählers 112 dem Adressenregister
92 über die Speicheradressen-Sammelschiene 116
zugeführt und eine Speicherausleseanforderung ausgegeben wird.
2. Der Inhalt des Programmzählers 112 wird durch den Inkrementierer
122 um 1 erhöht und im Programmzähler 112 gehalten.
τ 33 -
3. Die in Schritt 1 angeforderte Dateneinheit wird aus dem Makrobefehlsspeicher 90 ausgelesen und über die
Speicherdaten-Sammelsehiene 94 in das Äbrufregister 96
geladen. Der im Abrufregister 96 gehaltene BSC-Befehl wird durch den Dekodierer 102 dekodiert und geprüft» ob
es sich um einen HL-Befehl handelt.
4. Der Inhalt des Programazählers 112 wird zum Adressenregister
92 übertragen» und es wird eine Ausleseanforderung
für einen nächsten Befehl zum Makrobefehlsspeicher 90 ausgegeben.
5. Der Inhalt des Abrufregisters 96 wird sum Ausführregister
100 übertragen. Der Inhalt des Ausführregisters 100« d.h. die Anfangsadresse des für den BSC-Befehl
speziellen Mikroprogramms wird dem Mikroprogramm-Sortierer 106 zugeliefert.
6. Das Maskenbit des rom Ausführregister 100 gehaltene
BTC-Befehls wird zur arithmetischen Logikeinheit gesandt.
Ss erfolgt eine Prüfung bzw. Entscheidung bezüglich der Zustände des Kennzeichens» die durch das
Ausführergebnis des dam BSC-Befehl vorhergehenden
Makrobefehls bestimmt werden. Weiterhin wird geprüft» ob die Größen oder Werte des ersten» zweiten und dritten
Operanden des ML-Befehls in den Registern 128» 130
bzw. 132 sowie in den Befehlsregistern 134» 136 und 138 durch den ausgeführten ML-Befehl vor dem augenblicklichen
BSC-Befehl gespeichert sind. Wenn sie infolge von Belegtzuständen der Sammelschiene 116 oder der Sammelschiene
94 nicht in diesen Registern gespeichert sind» wird die Operation an diesem Punkt unterbrochen» bis
diese Größen gespeichert worden sind. Diese Operationen erfolgen durch Prüfung des von der Steuerschaltung 124
ausgesandten Signale SIE. Die folgende Operation wird
durchgeführtt wenn die Dateneinheiten vollständig abgespeichert worden sind.
Wenn das Prüfergebnis ? ■ 1 ist, wird der Inhalt (Größe a)
des A-Registers 128 Über die Steuerschaltung 124» eine
interne Sammelschiene 158 und den Wähler 120 im Programmzähler 112 gehalten.
7. Der Inhalt des Programmzählers 112 wird um 1 erhöht und
die dem Makrobefehl der Verzweigungsadresse am nächsten
liegende Adresse wird bezeichnet.
8. Der Inhalt des Programmsählers 112 wird sum Adressenregister
92 übertragen und es wird eine Ausleseanforderung des Makrobefehls 0P1 sum Makrobefehlsspeicher 90
ausgegeben.
9. Da das Zustands-Prüfergebnis im Schritt 61=1 ist»
wird der Inhalt (Makrobefehl OPl) des Befehlsregisters 134 über den Wähler 98 sum Ausführregister 100 übertragen.
Der Inhalt des Ausführregisters 100« d.h. die Anfangsadresse des für den Makrobefehl OPl speziellen
Mikroprogramms» wird dem Mikroprogramm-Sortierer 106 zugeführt. Die Ausführung des BüJC-Befehls ist somit
abgeschlossen» und die Ausführung des Makrobefehls OPl wird eingeleitet.
Die obige Beschreibung bezieht sich auf den fall» dass das Entscheidungs- bzw. Prüfergebnis für den BSC-Befehl 3? = 1
darstellt. Im Falle von TeO ist die Operation dieselbe»
mit der Ausnahme» daß der Inhalt des B-Begistere (Größe b)
in Schritt 6 zum Programmzähler 112 übertragen und der Inhalt
(Makrobefehl OPm) des Befehlsregisters 136 im Schritt zum Ausführregister 100 Übertragen wird.
• · ft * tf. *. -5
* · · it
- 35 -
Im folgenden ist die Funktion des EHD-Befehle beschrieben
worden. Der END-Befehl ist einer der Verzweigungsbefehle,
und die Versweigungsadresee ist die durch den dritten Operanden
des ML-Befehls dargestellte Adresse. Nachstehend ist anhand
des Zeitdiagramms gemäß Pig. 17 die Arbeitsweise für den Pail beschrieben» daß der SHB-Befehl in die Adresse P des
Makrobefehlsspeichers 90 auf die in Yig. 16 dargestellte Weise eingeschrieben wird.
•■5,
1. Während der Ausführung des Makrobefehls, der vor dem
EHD-Befehl ausgeführt wird» wird eine Ausleseanforderung
für den EKD-Befehl ausgegeben. Der Inhalt des
Programmssählers 112 wird sun Adressenregister 92 übertragen»
um eine Speicheraueleseanforderung einzuführen.
2. Der Inhalt des Prograamzählers 112 wird um 1 erhöht»
und dieser Inhalt wird über den Wähler 120 im Programmzähler 112 festgehalten.
3. !Die in Schritt 1 angeforderte Dateneinheit wird aus dem Makrobefehlsspeicher ausgelesen und über die Speicherdaten-Saamelschiene
94 in das Abrufregister 96 geladen. Der im Abrufregieter 96 gehaltene EHD-Befehl wird durch
den ersten Dekodierer 102 dekodiert und geprüft» ob es sich um einen KL-Befehl handelt.
4. Der Inhalt des Prograauusählers 112 wird sum Adressenregister
92 übertragen und es wird eine Ausleseanweisung für den nächsten Befehl ausgegeben.
Obgleich die ausgelesene Größe» wie im Zusammenhang mit der Operation für den BTC-Befehl beschrieben» im Abrufregister
96 gehalten oder gespeichert wird» wird diese Größe nicht benutzt.
«J 1 IUIUU
« J
I ·
- 36 -
5. Der Inhalt des Abruf registers 96 wird zum Ausführregister
100 übertragen» dessen Inhalt» d.h. die Anfangeadresse des für den BHD-Befehl speziellen Mikroprogramme,
dem Mikroprogramm-Sortierer 106 zugeführt wird.
6. Sie durch den YierEehnzeilensprung des C-Stapelregisters
132 aufgrund der Ausführung des IHD-Befehls erhaltene
Größe wird über die Steuerschaltung 124, die interne
Sammelschiene 158 und den Wähler 120 im Programmzähler 112 gehalten.
7. Der Inhalt des Programmsählers 112 wird um 1 erhöht,
um die nächste Adresse C + 1 des Hakrobefehls OPm der Yerzweigungsadresse zu bezeichnen.
8. Der Inhalt des Programmzählers 112 wird zum Adressenregister
92 übertragen» um eine Speicherausleseanforderung zum Makrobefehlsspeicher 90 auszugeben.
9· Die durch den Yierzehnzeilensprung des Befehlsstapelregisters 138 erhaltene Größe wird über den Wähler 98
im Aueführregister 100 gehalten. Der Inhalt des Ausführregisters 100»d.h. die Anfangeadresse des für den
Makrobefehl OPm speziellen Mikroprogramms, wird dem Mikroprogramm-Sortierer 106 zugeführt.
Eierauf ist die Ausführung des EBD-Befehls abgeschlossen
und die Ausführung des Makrobefehls OPn wird eingeleitet.
Claims (5)
- Sprungabschätz-Zentraleinheit, welche die Bedingungen oder Zustände vorgegebener Baten für die Wahl eines als nächstes auszuführenden Befehl· bewertet und einen zu einer Yerzweigungsadresse führenden Sprungbefehl ausführt, gekennzeichnet durch(A) eine Einrichtung (128, 130, 132) zur Speicherung der Verzweigungsadresee,(B) eine Einrichtung (134, 136, 138) zur Speicherung eines Befehls für die Yerzweigungeadresse»(C) eine Einrichtung (102) zur Erfassung eines Befehls zum Setzen einer Anzahl von den Bewertungsbedingungen entsprechenden Adressen in der Adressenspeichereinrichtung und(D) eine Steuereinrichtung (124) «um Setzen der verschiedenen Adressen in der Adressenspeichereinrichtung vor der Ausführung des Sprungbefehls nach Maßgabe eines Steuersignale von der Srfassungaeinrichtung sowie zumSetzen eines Befehls, der in durch die verschiedenen Adressen bezeichneten Speicherplätzen gespeichert ist» in der Befehlsspeichereinrichtung vor der Durchführung des Sprungbefehls.
- 2. Sprungabechät«-Zentraleinheit, welche die Bedingungen oder Zustande vorgegebener Daten für die Wahl eines als nächstes auszuführenden Befehls bewertet und die Sprungbefehle ausführt» einschließlich eines Sprungbefehle für Folge- oder Sequenzsteuerung sum Wählen der Adresse, an welcher der Befehl gespeichert ist» mit einen Speicher but Speicherung eines Makrobefehls, einem Programmzähler sur Bezeichnung einer Adresse des Makrobefehlsspeichers, einem Abrufregister zum Abrufen eines Befehls oder einer Operaadenausgabe aus dem Makrobefehlsspeicher, einem Dekodierer zum Dekodieren bzw. Entschlüsseln eines aus dem Abrufregister ausgegebenen Befehls, einem einen Mikrobefehl speichernden Mikrobefehlsspeicher, einem Mikroprogramm-Sortierer (sequencer) zur Steuerung des Auslesens von im Mikrobefehlsspeicher enthaltenen Informationen in Abhängigkeit von einem Ausgangssignal des Dekodierers, einem Befehlsregister zum Balten eines aus dem Mikrobefehlsspeicher ausgelesenen Befehls und einer arithmetischen Logikeinheit sur Durchführung von Operationen auf der Grundlage eines im Befehlsregister gehaltenen Befehlst gekennzeichnet durch eine Einrichtung (128, 130» 132) zur Speicherung der Yerzweigungsadresse, durch eine Einrichtung (134t 136» 133) zur Speicherung eines Befehls für die Yerzweigungsadresse» durch eine Einrichtung (102) zur Erfassung eines Befehls zum Setzen einer Anzahl von den Bewertungsbedingungen entsprechenden Adressen in der Adressenspeichereinrichtung und durch eine Steuereinrichtung (124) zum Setzen der verschiedenen Adressen im der AdressenspeichereinrlchtungTor der Ausführung de« Sprungbefehls nach Maßgabe eines Steuersignals τοη der Irfassungseinrichtung sowie zum Setzen eines Befehlet der in durch die verschiedenen Adressen bezeichneten Speicherpläteen gespeichert ist» in der Befehlespeichereinrichtung Tor der Durchführung des Sprungbefehls.
- 3. Zentraleinheit nach Anspruch 1 oder 2» dadurch gekennzeichnet, daß die Steuereinrichtung einen Speicher (144) but Speicherung eines Program* für die Erzeugung eines Steuersignals» um die Ausführung eines Befehls sum Setzen einer Ansahl von Adressen entsprechend den Bewertungsbedingungen in einer ersten Gruppe τοη Registern (128» 130» 132) z» ermöglichen, einen Zahler (140) zur Bezeichnung der (jeweiligen) Adresse des Speichers (144), eine Yerriegelungsschaltung (146) zum Halten des Ausgangssignals des Speichers (144)» ein Register (148) zur Bezeichnung τοη Peranden eines Befehls zum Setzen der verschiedenen Adressen in der ersten Registergruppe (128, 130, 132), einen Wähler (150)» dem ein Auegangssignal des Registers (148) für die Bezeichnung τοη Operanden und ein Ausgangssignal τοη der ersten Registergruppe (128, 130» 132) zur Speicherung der Verzweigungsadresse eingebbar sind und der in Abhängigkeit τοη einem Ausgangesignal der Terriegelungsschaltung selektiT ein Ausgangssignal abgibt» und ein ELip-Hop (156) umfaßt, das anzeigt» dad das Abrufen eines Befehls zum Setzen der Tersohiedenen Adressen in der ersten Registergruppe (128» 130» 132) abgeschlossen ist.
- 4. Zentraleinheit nach Anspruch 1 oder 2» dadurch gekennzeichnet, dad die Einrichtung (128» 130» 132) zur Speicherung der Terzweigungsadresse Register und ein Stapelregister (pushdown stack) aufweist.ft · * β · 1
- 5. Zentraleinheit nach Anspruch. 1 oder 2, dadurch gekennzeichnet, daß die Einrichtung (134» 136» 136) sur Speicherung eines Befehls an der Yersweigungsadresse Register und ein Stapelregister (pushdown stack) aufweist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5256880A JPS56149646A (en) | 1980-04-21 | 1980-04-21 | Operation controller |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3116100A1 true DE3116100A1 (de) | 1982-04-08 |
DE3116100C2 DE3116100C2 (de) | 1985-08-08 |
Family
ID=12918402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3116100A Expired DE3116100C2 (de) | 1980-04-21 | 1981-04-21 | Datenverarbeitungseinheit |
Country Status (3)
Country | Link |
---|---|
US (1) | US4471433A (de) |
JP (1) | JPS56149646A (de) |
DE (1) | DE3116100C2 (de) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0109655B1 (de) * | 1982-11-17 | 1991-07-24 | Nec Corporation | Anordnung zum Vorabholen von Befehlen mit Vorhersage einer Verzweigungszieladresse |
EP0150177A1 (de) * | 1983-07-11 | 1985-08-07 | Prime Computer, Inc. | Datenverarbeitungsvorrichtung |
US4764861A (en) * | 1984-02-08 | 1988-08-16 | Nec Corporation | Instruction fpefetching device with prediction of a branch destination for each branch count instruction |
US4742451A (en) * | 1984-05-21 | 1988-05-03 | Digital Equipment Corporation | Instruction prefetch system for conditional branch instruction for central processor unit |
US4825363A (en) * | 1984-12-05 | 1989-04-25 | Honeywell Inc. | Apparatus for modifying microinstructions of a microprogrammed processor |
JPH0769818B2 (ja) * | 1984-10-31 | 1995-07-31 | 株式会社日立製作所 | デ−タ処理装置 |
US4775927A (en) * | 1984-10-31 | 1988-10-04 | International Business Machines Corporation | Processor including fetch operation for branch instruction with control tag |
JPH0789319B2 (ja) * | 1985-04-22 | 1995-09-27 | 株式会社日立製作所 | デ−タ処理装置における先行制御装置 |
JPH0752390B2 (ja) * | 1985-05-07 | 1995-06-05 | 株式会社日立製作所 | 命令処理装置 |
JPS6341932A (ja) * | 1985-08-22 | 1988-02-23 | Nec Corp | 分岐命令処理装置 |
JPH0827716B2 (ja) * | 1985-10-25 | 1996-03-21 | 株式会社日立製作所 | データ処理装置及びデータ処理方法 |
JPH0743648B2 (ja) * | 1985-11-15 | 1995-05-15 | 株式会社日立製作所 | 情報処理装置 |
JPH0740225B2 (ja) * | 1985-12-25 | 1995-05-01 | 日本電気株式会社 | プログラムスキツプ動作制御方式 |
US4991080A (en) * | 1986-03-13 | 1991-02-05 | International Business Machines Corporation | Pipeline processing apparatus for executing instructions in three streams, including branch stream pre-execution processor for pre-executing conditional branch instructions |
JP2565495B2 (ja) * | 1986-08-27 | 1996-12-18 | 株式会社日立製作所 | デ−タ処理システム |
JPS6393038A (ja) * | 1986-10-07 | 1988-04-23 | Mitsubishi Electric Corp | 計算機 |
JP2603626B2 (ja) * | 1987-01-16 | 1997-04-23 | 三菱電機株式会社 | データ処理装置 |
US4991090A (en) * | 1987-05-18 | 1991-02-05 | International Business Machines Corporation | Posting out-of-sequence fetches |
US5134561A (en) * | 1987-07-20 | 1992-07-28 | International Business Machines Corporation | Computer system with logic for writing instruction identifying data into array control lists for precise post-branch recoveries |
US4894772A (en) * | 1987-07-31 | 1990-01-16 | Prime Computer, Inc. | Method and apparatus for qualifying branch cache entries |
JPH0646382B2 (ja) * | 1987-10-05 | 1994-06-15 | 日本電気株式会社 | プリフェッチキュー制御方式 |
US5197136A (en) * | 1987-11-12 | 1993-03-23 | Matsushita Electric Industrial Co., Ltd. | Processing system for branch instruction |
US5247628A (en) * | 1987-11-30 | 1993-09-21 | International Business Machines Corporation | Parallel processor instruction dispatch apparatus with interrupt handler |
US4974155A (en) * | 1988-08-15 | 1990-11-27 | Evans & Sutherland Computer Corp. | Variable delay branch system |
WO1990002995A1 (en) * | 1988-09-01 | 1990-03-22 | Yin Ronald L | An improved modular processor, a computer incorporating same, and a method of operating same |
US5333287A (en) * | 1988-12-21 | 1994-07-26 | International Business Machines Corporation | System for executing microinstruction routines by using hardware to calculate initialization parameters required therefore based upon processor status and control parameters |
US5276824A (en) * | 1990-01-08 | 1994-01-04 | Motorola, Inc. | Data processor having a multi-stage instruction pipe and selection logic responsive to an instruction decoder for selecting one stage of the instruction pipe |
JPH03288228A (ja) * | 1990-04-04 | 1991-12-18 | Koufu Nippon Denki Kk | 情報処理装置 |
US5276825A (en) * | 1991-03-12 | 1994-01-04 | Chips & Technologies, Inc. | Apparatus for quickly determining actual jump addresses by assuming each instruction of a plurality of fetched instructions is a jump instruction |
JPH05173779A (ja) * | 1991-12-25 | 1993-07-13 | Toshiba Corp | デジタル演算集積回路 |
JP2761688B2 (ja) * | 1992-02-07 | 1998-06-04 | 三菱電機株式会社 | データ処理装置 |
JP2786574B2 (ja) * | 1992-05-06 | 1998-08-13 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピュータ・システムにおける順不同ロード動作の性能を改善する方法と装置 |
JPH0756892A (ja) * | 1993-08-10 | 1995-03-03 | Fujitsu Ltd | マスク付きベクトル演算器を持つ計算機 |
EP2104930A2 (de) | 2006-12-12 | 2009-09-30 | Evans & Sutherland Computer Corporation | System und methode zum ausgleichen des rgb-licht in einem monomodulator projektor |
US8358317B2 (en) | 2008-05-23 | 2013-01-22 | Evans & Sutherland Computer Corporation | System and method for displaying a planar image on a curved surface |
US8702248B1 (en) | 2008-06-11 | 2014-04-22 | Evans & Sutherland Computer Corporation | Projection method for reducing interpixel gaps on a viewing surface |
US8077378B1 (en) | 2008-11-12 | 2011-12-13 | Evans & Sutherland Computer Corporation | Calibration system and method for light modulation device |
US9641826B1 (en) | 2011-10-06 | 2017-05-02 | Evans & Sutherland Computer Corporation | System and method for displaying distant 3-D stereo on a dome surface |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3551895A (en) * | 1968-01-15 | 1970-12-29 | Ibm | Look-ahead branch detection system |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3401376A (en) * | 1965-11-26 | 1968-09-10 | Burroughs Corp | Central processor |
FR1536616A (fr) * | 1966-09-21 | Ibm | Système de traitement d'instructions avec des perfectionnements pour le branchementet les boucles du programme | |
US3644900A (en) * | 1968-11-30 | 1972-02-22 | Tokyo Shibaura Electric Co | Data-processing device |
US3696340A (en) * | 1970-11-09 | 1972-10-03 | Tokyo Shibaura Electric Co | Microprogram execution control for fault diagnosis |
US3793631A (en) * | 1972-09-22 | 1974-02-19 | Westinghouse Electric Corp | Digital computer apparatus operative with jump instructions |
JPS513750A (ja) * | 1974-06-28 | 1976-01-13 | Hitachi Ltd | Deetashorisochi |
JPS52120640A (en) * | 1976-04-02 | 1977-10-11 | Toshiba Corp | Micro program control system |
JPS6029126B2 (ja) * | 1977-01-14 | 1985-07-09 | 株式会社日立製作所 | デ−タ処理装置 |
US4210960A (en) * | 1977-09-02 | 1980-07-01 | Sperry Corporation | Digital computer with overlapped operation utilizing conditional control to minimize time losses |
US4200927A (en) * | 1978-01-03 | 1980-04-29 | International Business Machines Corporation | Multi-instruction stream branch processing mechanism |
JPS54107643A (en) * | 1978-02-13 | 1979-08-23 | Toshiba Corp | Operation control method and unit executing structured program |
US4338661A (en) * | 1979-05-21 | 1982-07-06 | Motorola, Inc. | Conditional branch unit for microprogrammed data processor |
-
1980
- 1980-04-21 JP JP5256880A patent/JPS56149646A/ja active Granted
-
1981
- 1981-04-21 DE DE3116100A patent/DE3116100C2/de not_active Expired
-
1983
- 1983-11-25 US US06/554,760 patent/US4471433A/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3551895A (en) * | 1968-01-15 | 1970-12-29 | Ibm | Look-ahead branch detection system |
Also Published As
Publication number | Publication date |
---|---|
US4471433A (en) | 1984-09-11 |
DE3116100C2 (de) | 1985-08-08 |
JPS6217252B2 (de) | 1987-04-16 |
JPS56149646A (en) | 1981-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3116100A1 (de) | Sprungabschaetz-zentraleinheit | |
DE3210816C2 (de) | ||
DE2714805C2 (de) | ||
DE69534148T2 (de) | Rechnersystem zur Ausführung von Verzweigungsbefehlen | |
DE69133302T2 (de) | Registerabbildung in einem einzigen Taktzyklus | |
DE2355993C3 (de) | Programmierbare Datenverarbeitungsanlage | |
DE69738188T2 (de) | Verfahren und apparat für eine erhöhte genauigkeit bei der verzweigungsvorhersage in einem superskalaren mirkroprozessor | |
DE2023354C2 (de) | Datenverarbeitungsanlage mit einem Mikrobefehlsspeicher | |
DE3638572C2 (de) | ||
DE1901228A1 (de) | Datenverarbeitungsanlage mit Einrichtungen zur Wiederholung von Operationen bei Auftreten eines Fehlers | |
DE2715073A1 (de) | Mikroprogrammierte rechner-steuervorrichtung | |
CH654943A5 (de) | Pruefeinrichtung fuer mikroprogramme. | |
DE1928202B2 (de) | Einrichtung zur Erstellung statistischer Daten über den Operationsablauf programmgesteuerter Datenverarbeitungsanlagen | |
DE2758830A1 (de) | Rechenvorrichtung | |
DE60006021T2 (de) | VLIW-Prozessor und Programmkomprimierungsgerät and -verfahren | |
DE1151397B (de) | Programmgesteuerte Datenverarbeitungs-anlage mit gespeicherten Unterprogrammen | |
DE19527031A1 (de) | Verbesserte Vorrichtung zum Reduzieren von Verzögerungen aufgrund von Verzweigungen | |
DE1285220B (de) | Datenverarbeitungssystem mit mehreren selbstaendigen Recheneinheiten | |
DE19983098B4 (de) | Mehrfach-Bitanzeige zur Behandlung von Schreib-nach-Schreib-Fehlern und zur Eliminierung von Bypass-Komparatoren | |
DE2458096C2 (de) | Einrichtung zum Laden von Mikroprogrammen in einer mikroprogrammierbaren Datenverarbeitungsanlage | |
DE1285219B (de) | Steuerwerk zur Ausfuehrung von Unterprogrammen | |
DE69632655T2 (de) | Pipeline-Datenverarbeitungsanordnung zur Durchführung einer Mehrzahl von untereinander datenabhängigen Datenprozessen | |
DE4134392C2 (de) | Verfahren und Vorrichtung zum Ungültigmachen von Befehlen in Geräten mit Parallelverarbeitung | |
DE2912073A1 (de) | Stapelspeicheranordnung zur kurzzeitigen speicherung von informationen bei nichtabsetzbarkeit dieser informationen in einem datenverarbeitungssystem | |
DE1935944B2 (de) | Steuereinrichtung in einer elektronischen Datenverarbeitungsanlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8128 | New person/name/address of the agent |
Representative=s name: HENKEL, G., DR.PHIL. FEILER, L., DR.RER.NAT. HAENZ |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: KABUSHIKI KAISHA TOSHIBA, KAWASAKI, KANAGAWA, JP |
|
8339 | Ceased/non-payment of the annual fee |