DE3116100A1 - Sprungabschaetz-zentraleinheit - Google Patents

Sprungabschaetz-zentraleinheit

Info

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
Application number
DE19813116100
Other languages
English (en)
Other versions
DE3116100C2 (de
Inventor
Hajime Wako Saitama Kurii
Yoshihiro Tokyo Matsumoto
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Tokyo Shibaura Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tokyo Shibaura Electric Co Ltd filed Critical Tokyo Shibaura Electric Co Ltd
Publication of DE3116100A1 publication Critical patent/DE3116100A1/de
Application granted granted Critical
Publication of DE3116100C2 publication Critical patent/DE3116100C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3804Instruction 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

Sprungabsohäts-Zentraleinheit
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.
Das bisherige Vorabrufsystem läßt sich wie folgt darstellen:
VorabrufSystem
\
I 1
Cache-Speichersystem Pipeline-Registersystem VorabrufOperation der Befehle
— Zweig - berücksichtigendes
System
— Zweig - nicht-beriicksichti-
gendes System
L- VorabrufOperation an Daten
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
Der Ausgang des Befehlsregisters 18 wird einem Befehls-
»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. 2 ein Blockschaltbild der bisherigen Pipelinesteuerung,
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. 6 eine Sarstellung des Aufbaus der Einheit P in 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»
Fig. 12A bis 12H Zeitdiagraaae» welche den Vorabrufvor-
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.
Sie Fig. 1 bis 6 sind eingangs bereits erläutert worden.
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 A wird im Α-Register gespeichert. Der Inhalt der Adresse B wird im B-Register gespeichert.
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.
Die Bedingung I ist so, daß
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
LH 3» P Eine Zahl ist im Register 3 geladen.
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.
B C Sprung auf Adresse C.
A LH 3» P Die kleinere Zahl wird im Register 3 geladen.
C SfH 3» MIN Sie kleinere Zahl wird in der Adresse HIN
gespeichert.
Das obige Program» kann unter Heranziehung der Mir-» BTC-BTC- und END-Befehle wie folgt ungeschrieben werden:
Programm 2
ML A, B, C Verzweigungsadreseen-Yorsignalisierbe-
fehl.
LE 3» P Eine Zahl wird in das Register 3 geladen.
SH 3» P Ton obiger Zahl wird die andere Zahl
subtrahiert.
BXC 0» 0» 1» 0 Sprung auf Adresse A» wenn das negative
Kennseichen gültig ist» und auf Adresse B, wenn das negative Kennzeichen falsch bzw. ungültig ist.
A LH 3» P Sprung auf Yerzweigungsadresse, wenn Kennzeichen gültig ist. END Sprung auf Adresse C. B LH 3» Q Sprung auf Adresse C, wenn Kennzeichen
ungültig ist.
C SSH 3» MIN Die kleinere Zahl wird in der Adresse MIN
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.
Im folgenden ist die Ausführung des ML-Befehls erläutert.
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)

  1. 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 zum
    Setzen eines Befehls, der in durch die verschiedenen Adressen bezeichneten Speicherplätzen gespeichert ist» in der Befehlsspeichereinrichtung vor der Durchführung des Sprungbefehls.
  2. 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 Adressenspeichereinrlchtung
    Tor 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. 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. 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. 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.
DE3116100A 1980-04-21 1981-04-21 Datenverarbeitungseinheit Expired DE3116100C2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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