DE2013259B2 - Datenverarbeitungsanlage - Google Patents
DatenverarbeitungsanlageInfo
- Publication number
- DE2013259B2 DE2013259B2 DE19702013259 DE2013259A DE2013259B2 DE 2013259 B2 DE2013259 B2 DE 2013259B2 DE 19702013259 DE19702013259 DE 19702013259 DE 2013259 A DE2013259 A DE 2013259A DE 2013259 B2 DE2013259 B2 DE 2013259B2
- Authority
- DE
- Germany
- Prior art keywords
- instructions
- instruction
- condition
- conditional
- address
- 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
- 238000012217 deletion Methods 0.000 claims 2
- 230000037430 deletion Effects 0.000 claims 2
- 238000007781 pre-processing Methods 0.000 claims 2
- 230000006835 compression Effects 0.000 claims 1
- 238000007906 compression Methods 0.000 claims 1
- 238000000034 method Methods 0.000 claims 1
- 239000000872 buffer Substances 0.000 description 10
- 230000006870 function Effects 0.000 description 2
- 229920002494 Zein Polymers 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000005019 zein Substances 0.000 description 1
- 229940093612 zein Drugs 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/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30069—Instruction skipping instructions, e.g. SKIP
-
- 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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
- G06F9/3846—Speculative instruction execution using static prediction, e.g. branch taken strategy
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
3 4
dingten Verzweigungsinstruktipnen besitzen, die nicht tionssteuerschakung 16. werden die Instruktionen einsehr weit von der Yerzweigungsinstruktion "entiEernt zein aus dem Instraictionspufferspeicher 19. in den
sind. " ' "" ...- -λ, ... decodierer 20 abgegeben,'welcher seinerseits Qpe-
Gegenstand der Erfindung ist eine Datenverarbei- rations-Codes an (len Festkpmma-Operatipns-Stapel
tungsaiilage der eingangs genannten Art, die gekenn- 5 21 oder an "den Gleitkornrna-Qperations-Stapel 22 abzeichnet
ist durch eine Anordnung, die nach Auf- gibt.
treten einer instruktipn, deren Ausführung an eine Das Festkomma-Rechenwerk 14 enthält die Puffer-Bedingung
gebenden ist (z.^ B. bedingte" Yerzwei- speicher 23, welche die Operanden aus dem Speicher
gdngsinstruktion), die durch diese bestininite Adresse erhalten, welche später ϊη der Yerarbeitungsschaltung
d,er Zieiinstriiktion in,einem Zieiadres§enspeicher io 25 verarbeitetwerden!. Eine Reihe Allzweckregister
speichert und in eiijem Vergleichermit den in einem 26 (AtL-RlEG) sind mit der Yerarb.eitungseinheit 25,
Speicher gespeicherten Adressen der zwischengespH- yerbunden und geipen z. B. a# die I-Einheit 12 Basischerten
Instruktionen vergleicht, weiter durch eine und I^dexwerte ab. Das Gj[eit^oflimä-Rechenwerk:15,
Anordnung, die bei' der; Vpry.erärbeitung (Decodie!- enthält die Pufferspeicher 24, welche Operanden aus
rung) die Instruktipnen mit einem Bedingt-Kenn- 15 dem Hauptspeicher 10 erhalten, die Ver^rb.eiturigs-
^ächen'versiegt,'wenn'die Adressen c^er■ nachfolgen- eintieit2$ yQd eine"Reihe. Gleitkomma-Register^
den Instrüktibflpri mc^t mh der ^dr^se der Zie^- (==GK-^EG). Oje ^ejart.eitungsemheiten 25 und
instruktipn übereinstimmen vind d^durcn streichbär 2^ körnen yp.rübergerte.nde Ergebnisse entweder in
sind, und' schlieBhcti durch eine Einrichtung, die die Allzweckregister^ oder iii'die öleitkomma-Redas
Bedingt-ELerinzeichen unwirksa^ii macht,! wenn 20 gister2$ spei'c^ejnj oder sie kpnnen die Ergebnisse
eine 'Adresse der nachfolgenden 'Instruktionen mit in Forin von Daten abgeben, die über die Speicherder
Adresse der Zielinstruk^iph übereinstimmt, so daß eingangs-Leitung 27 in den fiauptspeicher eingegeben
die genannten Instruktiprieji nicht mehr stfeichb.ar werdeii.
sind. ' -■'■■·■■-■■' Wenn eine instmktipn einen Hauptspeicherzugriff
sind. ' -■'■■·■■-■■' Wenn eine instmktipn einen Hauptspeicherzugriff
Es ergeben sich hierbei besonders dann Yorteile, ?5 bedingt,, geiien Signale a^s cjem. Deppdierej 2Ö an "den
wenn häufig kurz^^ Pj'pgrammstücke^^ übjersp^ru.rigeii Adressenerze.uger '31, welcher dig erforderliche
werden soilen, wenn alsp die ^ahrscHeinlichkeit groß Adresse a^i ^ie Speiicheradressen-Leitung 1? abgibt
ist,' daß ypr der endgültigen Entscheidung, pb 'ήμη Je nach der Art dei Instruktion kann die Adresse ganz
ein Sprung (eine Verzweigurig) durchgefiffirt werfen aus einem der Allzweckregister 26 entnpmrnen wer-
spll pder nichti die Zieiinstriiktion sch^pn zur Vpr- 30 den, oder sie kann durch Hmzufügung des aus der
bearbeitung;(?. B. E>eco,dier.ung gelangt' ist. Instruktion erhaitenen relativen ÄdreSsenwertes zu
Im folgenden wird ein Ärisfulirungsbeispiel der Er- den ßasis- und Indexwerten aus einem Ailzweck-
finäüng'an Jland'Ypn^^ Zeichnungen beschrieben. Die register 2$. gebildet werden.
Zeichnungen stellen dar ' ''" ' \γεηη ej'iie bedingte Yerzweigungsinstruktipn im
Fig.l ejne BlpckdarsteUung der Datenverarbei- 35 Decodierer20 deppdiert wird, die Bedingung aber
tungsanlage, die a,|s Äusführungsbeispiei der Erfin- noch nicht feststeht, leitet die^T-Einheit 12 in eine be-
dung beschrieben wird, dingte Betriebsart über, per Instruktipnspufferspei-
Fig. 2 eine Tab.elle zur Ye.rdeutlichung, wie In- eher 19 enthält acht Doppelw.prt-Purlerregister, und
struktionen von einer erfindungsgeiriäßen Datenver- die Instruktionsste^ierschaltung 16 versucht vpr der
arbeitungsanlage in^^nterschie.d'zu bereits bekannten 40 Ä-Einheit 13^ zu bleitien, indem sie jeweils drei vpr-
AnlageP behandelt werden, ' " ausHegende/instruktip.ns-Dpppelwörter abnift. Da die
Fig. 3 genauere Einzelheiteil des AWiM^T1111S?" Instruktionen' die t-^nge eines Halbwoites, eines
heisp^els derErrindi|nggem|ßFi'g.4· ' Wp.rtes oder ypn drei KfalbwÖTtern haben, können
In dex folgenden Bescireibiing wird Ypn bereits diese drei irii^^ yprau?^^abgerufenen Ppppelwprter vier
bekannten Datenverarfeeitungssystemen ausgegangen, 45 bis ?w.ölf Instrnktip.nen enthalten. Wenn sich die
wie sie z. B. in der' oben' zitierten Patentschrift bzw· i-Einheit 12 in bedingter Betriebsart befindet, gibt sie
Äiislegeschrift besehrietjet^ wurden. Einzelheiten diese Instruktionen ηώ einer »Bedingt«^Kennzeich-
splciier gekannter Systeme sjnd deshalb nufknrz be- rrung effl?^n pder nacheinancier so lange ab, bis ent-
sciiirieben, soweit sie zum Verständnis der Erfindung weder ajle im YOraus abgerufenen Instruktipiien ab-
erforderiicli sind. 59 gegeben sind, bis^ μφτ Festkprnma- oder der Gleit-
Das als AuHführung§beisp;el gewälilte Datenver- kpnima-p'pe.ratipns-Stapel^ vpnstandig gefüllt ist, oder
arbeitungssystem'ist lnTig 1 ^argesteilt. Es^^ enthält ^is die Bedingung; feststeht.
einen tifaÜptspeiclier 10, d^er niit eier Hauptspeicher- \Yenn die' I-feinheit l| in die bedingte Betriebs-
Steuereinheit 11 yerbunden igt, die mit Hilfe der wej.se tritt, wird me Zieladresse (Sprungadresse) im
^nstruktipiiseinheit'%% (im folgenden ^Is 1-Einhe'it 55 ^.dre!ssene,rzeuger 31 erzeugt und in das Zieladressenr
abgekürzt)'und der Ausführungseinheit 13. (im |pl- " register 32 gesetzt^ und ae Yergleicherschaitung314
genden als A.-EinheU abgekürzt), den Zugriff zum wird aktiyiert. In dieser Ve'rgleicherschaltung 34
Hauptspeicher steueri. ^ie Ä-Einheit pnthält z\vei wird, die ZMadresse vom' Zielidressenregjster 32 mit
separate ^Rechenwerke., nämlich ein, Hestkornnia- der Adresse'der laufet
Rechenwerk 14 (='F%RW) und ein^ Gleitkpnimä- 6p struktionssteuerschaitung 16 yerglichen. Nach Auf-Rechenwerk:1s,
(== GK-RW). ■>■■.■■■ treten ejner Yf?^1^^8^^^?^ gibt also der
Die I-Einheit 12 steiueft den Abruf der Instruk- Decodierer!20 weitere^ instruktipnen'abr Solange die
tipnen und Operanden ^Us dem |jäuptspeiciie.r Ij).. Yergieicherschaltung 34 angibt, daß keine ÜberT
Sie enthält die instrnktipnssteuerscn.^itnng 16, die an Einstimmung zwischen der Zieiinstrüktipn un^ der
die Speicheradressen-Leitung 17 instruktiphs-Adres- 65 laufenden iüstruktipn vorliegt, werden die Instruk-
sen abgibt. Die Instruktipnen werden ||ber die t^Pfien. auf bedingter Basis yöm Decodierer 20 abge-
Speicherausgangs-Leitung l8 in den !Instruktions- geben, indem leder OP-Cpde, der an einen der G)P-
püfferspeicher1% eingegeb,en. !Mit Hilfe der Instruk- Stapel abgegeben wird, mit einem Kennzeichen yeir-
5 6
sehen wird. Dieses Kennzeichen erlaubt, daß der die Arbeitsleistung des Systems erhöht. Wenn der
OP-Code in den OP-Stapel gesetzt werden kann und Sprung unternommen wird, werden die Instruktionsdaß
außerdem die zugehörigen Operanden schon ab- Wörter in den abwechselnd benutzten Puffern 33 ungeruf
en werden können. Wenn aber der Zeiger, der gültig gemacht, da sie nicht mehr benötigt werden,
die Entnahme der OP-Codes aus dem OP-Stapel 5 In der F i g. 3 wird gezeigt, wie die I-Einheit eines steuert, auf dieses bestimmte Kennzeichen stößt, ver- bekannten Systems so ergänzt werden kann, daß festhindert das Kennzeichen eine weitere Verarbeitung, gestellt werden kann, ob eine in bedingter Betriebsbis die Bedingung bekannt ist., Wenn die Bedingung art abgegebene Instruktion die Zielinstruktion ist. bekannt wird, geschieht folgendes: Falls kein Sprung Die Instruktionssteuerschaltung der I-Einheit 12 entstattfinden soll (wenn also der eventuell zu über- io hält im bekannten System drei Register: Das UG-springende Programmteil, der die bedingt ausgegebe- Register 36 für die Untergrenze, das Instruktionsnen Instruktionen enthält, doch ausgeführt werden adressenregister 38 und das OG-Register 40 für die soll), wird das Kennzeichen wirkungslos, so daß die Obergrenze. Das UG-Register 36 enthält die Adresse Instruktionen ausgeführt werden können. Wenn aber des ältesten Instruktionswortes im Instruktionspuffer, ein Sprung stattfinden soll, werden jene Instruk- 15 das Instruktionsadressenregister 38 enthält die tionen im OP-Stapel, die das Kennzeichen haben, Adresse der Instruktion, die gerade decodiert wird, gestrichen. Die Vergleicherschaltung 34 wird jedoch und das OG-Register 40 enthält die Adresse des ein FREI-Signal abgeben, wenn die im Decodierer letzten Instruktionswortes, das zum Abruf bereit-20 decodierte, laufende Instruktion die Zielinstruk- gestellt wurde.
die Entnahme der OP-Codes aus dem OP-Stapel 5 In der F i g. 3 wird gezeigt, wie die I-Einheit eines steuert, auf dieses bestimmte Kennzeichen stößt, ver- bekannten Systems so ergänzt werden kann, daß festhindert das Kennzeichen eine weitere Verarbeitung, gestellt werden kann, ob eine in bedingter Betriebsbis die Bedingung bekannt ist., Wenn die Bedingung art abgegebene Instruktion die Zielinstruktion ist. bekannt wird, geschieht folgendes: Falls kein Sprung Die Instruktionssteuerschaltung der I-Einheit 12 entstattfinden soll (wenn also der eventuell zu über- io hält im bekannten System drei Register: Das UG-springende Programmteil, der die bedingt ausgegebe- Register 36 für die Untergrenze, das Instruktionsnen Instruktionen enthält, doch ausgeführt werden adressenregister 38 und das OG-Register 40 für die soll), wird das Kennzeichen wirkungslos, so daß die Obergrenze. Das UG-Register 36 enthält die Adresse Instruktionen ausgeführt werden können. Wenn aber des ältesten Instruktionswortes im Instruktionspuffer, ein Sprung stattfinden soll, werden jene Instruk- 15 das Instruktionsadressenregister 38 enthält die tionen im OP-Stapel, die das Kennzeichen haben, Adresse der Instruktion, die gerade decodiert wird, gestrichen. Die Vergleicherschaltung 34 wird jedoch und das OG-Register 40 enthält die Adresse des ein FREI-Signal abgeben, wenn die im Decodierer letzten Instruktionswortes, das zum Abruf bereit-20 decodierte, laufende Instruktion die Zielinstruk- gestellt wurde.
tion ist. Daraufhin werden die Zielinstruktion und 20 Diese Register sind nun durch Torschaltungen 37,
alle folgenden Instruktionen an den zuständigen OP- 39 und 41 ergänzt. Die Torschaltung 37 schaltet die
Stapel ohne das Bedingt-Kennzeichen abgegeben oder Bitstellen 8 bis 25 des UG-Registers 36 durch. Die
allenfalls mit einer Kennzeichnung, die nicht ihre Torschaltung 39 schaltet die Bitstellen 26 bis 30 des
Ausführbarkeit verhindert und auch nicht die Strei- Instruktionsadressenregisters 38 durch. Die Torchung
dieser Instruktionen bewirken kann, versehen. 25 schaltung 41 schaltet die Bitstellen 8 bis 25 des OG-Denn
wenn die Bedingung bekannt wird, muß die Registers 40 durch. Die I-Einheit 12 enthält außer-Zielinstruktion
und alle folgenden in jedem Fall dem das Zwischen-Register 42, das mit dem Addierer
— ob nun ein Sprung vorliegt oder nicht — ausge- verbunden ist, der die Adresse der Zielinstruktion erführt
werden. zeugt. Wenn auf eine bedingte Verzweigungsinstruk-Die F i g. 2 verdeutlicht den Unterschied zwischen 30 tion gestoßen wird, wird die Adresse der Zielinstrukdem
hier beschriebenen Ausführungsbeispiel der Er- tion erzeugt und in das Zwischen-Register 42 eingefindung
und den älteren, bereits bekannten Systemen. geben. Dieses Register ist nun durch die Torschal-Im
gezeigten Beispiel enthält das Programm eine tungen 43 und 44 ergänzt, die jeweils die Bitstellen 8
Folge von sechs Instruktionen 1 bis 6, von denen die bis 25 bzw. 26 bis 30 durchschalten. Die Bitstellen
zweite die bedingte Verzweigungsinstruktion und die 35 26 bis 30 des Instruktionsadressenregisters 38 bilden
fünfte die Zielinstruktion ist. In dem älteren System zur Darstellung einer vollständigen Adresse die Fortwerden,
wenn die Bedingung zum Zeitpunkt, zu dem Setzung der Bitstellen 8 bis 25 der beiden Register 36
die Verzweigungsinstruktion 2 decodiert wird, noch und 40. Die Bitstellen 8 bis 25 der Register 36 und
nicht feststeht, die darauffolgenden Instruktionen drei 40 sind entweder gleich oder infolge der zyklischen
bis sechs mit einem Kennzeichen C abgegeben, das 40 Charakteristik des Instruktionspuffers 19 um eine
angibt, daß jene Instruktionen zu streichen sind, falls Einheit verschieden. Um zur Feststellung, ob eine
ein Sprung stattfindet. Wenn in dem hier beschriebe- gerade decodierte Instruktion die Zielinstruktion ist,
nen Ausführungsbeispiel der Erfindung die Verzwei- den notwendigen Vergleich anstellen zu können,
gungsinstruktion auftritt und das System in eine be- müssen die drei Vergleichsschaltungen 45, 46 und 47
dingte Betriebsart übergeht, werden die Instruk- 45 vorgesehen werden. Die Vergleichsschaltung 45 vertionen
3 und 4, die der Zielinstruktion 5 vorangehen, gleicht den Inhalt der Bitstellen 8 bis 25 des UG-Remit
dem Kennzeichen C abgegeben. Wenn jedoch die gisters 36 mit den Bitstellen 8 bis 25 des Zwischen-Zielinstruktion
5 erreicht wird, wird sie ohne Kenn- Registers 42. Die Vergleichsschaltung 46 vergleicht
zeichen abgegeben (C), so daß sie nicht streichbar ist. den Inhalt der Bitstellen 26 bis 30 des Instruktions-Ebenso
wird die Instruktion 6 ohne Kennzeichen ab- 50 adressenregisters 38 mit dem Inhalt der Bitstellen 26
gegeben. Wenn die I-Einheit 12 eine bedingte Be- bis 30 des Zwischenregisters 42. Die Vergleichsschaltriebsweise
einnimmt, ruft in beiden Systemen die In- tung 47 vergleicht den Inhalt der Bitstellen 8 bis 25
struktionssteuerschaltung 16 das Doppelwort, das die des OG-Registers 40 und des Zwischen-Registers 42.
Zielinstruktion enthält, und das darauffolgende Wenn die gerade decodierte Instruktion die Ziel-Doppelwort
ab. Beide Doppelwörter werden in ein 55 Instruktion ist, deren Adresse im Zwischen-Register
Paar von abwechselnd benutzten Pufferspeichern 33 steht, liefert die Vergleichsschaltung 46 ein Ausgangseingegeben,
um den Abruf zu beschleunigen, wenn signal, das diese Übereinstimmung anzeigt, und eine
der Sprung wirklich stattfindet. Wenn in dem älteren der Vergleichsschaltungen 45 und 47 — oder beide —
System die Zielinstruktion bedingt abgegeben und liefern ebenfalls solch ein Ausgangssignal. Die Ausdann
der Sprung tatsächlich unternommen wurde, 60 gangssignale der Vergleichsschaltungen gehen als
wurde die Zielinstruktion in den OP-Stapeln ge- Eingangssignale an die UND-Schaltungen 48 und 49,
strichen und die Bearbeitung mit der Zielinstruktion die durch ein Signal auf der Leitung 50 durchgeschalaus
den abwechselnd benutzten Pufferspeichern 33 tet werden, wenn die I-Einheit 12 sich in bedingter
neu begonnen. Dabei wurde die Zielinstruktion zwei- Betriebsweise befindet. Die Ausgangssignale der
mal decodiert und zweimal an die A-Einheit 13 ab- 65 UND-Schaltungen 48 und 49 gehen als Eingangsgegeben.
In dem erfindungsgemäßen System wird eine signale an die ODER-Schaltung 51, deren Ausgang
an die A-Einheit 13 bedingt abgegebene Zielinstruk- mit dem Einstelleingang des Merkers (bistabile Kipption
nicht gestrichen. Durch diese Zeitersparnis wird schaltung FF) 52 verbunden ist. Die Rückstelleitung
des Merkers 52 ist mit der ODER-Schaltung 53 so verbunden, daß dieser Merker 52 zurückgestellt wird,
wenn auf bedingter Basis abgegebene Instruktionen entweder gestrichen oder ausgeführt werden. (Die
Signale STREICHEN bzw. AUSFÜHREN werden abgegeben, sobald die Bedingung festliegt.) Der Merker
52 wird einmal in jedem Maschinenzyklus so taktgesteuert, daß er ein FREI-Signal abgibt, das an
die Ausführungs-Einheit gesendet wird, damit diese die Zierinstruktion und weitere, nachfolgende Instruktionen
als nicht streichbar einträgt. Dieses FREI-Signal kann ebenfalls an bestimmte Steuereinheiten
geleitet werden, um die Abgabe eines Bedingt-Kennzeichens oder sonstige Funktionen zu verhindern.
Das FREI-Signal wird also abgegeben, wenn nach
Auftreten einer bedingten Verzweigungsinstruktion die Bedingung noch nicht feststeht, die Zielinstruktion
(auf die eventuell gesprungen werden soll) aber schon decodiert ist.
Auf diese Weise werden schließlich, sobald die Bedingung endgültig festliegt, entweder —■ wenn kein
Sprung erfolgen darf — die Bedingt-Kennzeichen eliminiert, so daß alle im OP-Stapel befindlichen Instruktionen
ausgeführt werden, oder — wenn ein Sprung erfolgen muß — werden die zu überspringenden,
mit Bedingt-Kennzeichen versehenen Instruktionen selektiv gestrichen, während die Zielinstruktiön,
auf die gesprungen wird, sowie alle folgenden Instruktionen im OP-Stapel erhalten bleiben und dadurch
sofort anschließend ausgeführt werden können.
Hierzu 1 Blatt Zeichnungen
209552/421
Claims (1)
1. Datenverarbeitungsanlage mit Einrichtungen, und die auch schon die Bereitstellung der erforderum
zu verarbeitenden Instruktionen im voraus 5 liehen Operanden veranlaßt. Die vorbereiteten Daten
abzurufen, vorzubehandeln und dann bis zur werden dann der eigentlichen Verarbeitungseinheit
eigentlichen Verarbeitung zwischenzuspeichern, zur Verfügung gestellt, die dadurch mit maximaler
und mit Vorrichtungen, durch welche nach Auf- Geschwindigkeit, also ohne Warten auf Speicherzutrggtgii^eiaer^bi^ngta^
griffe, arbeiten kann.
für welche die" Bedingung noch nicht festliegt, die io Bei einer solchen Arbeitsweise tritt nun folgendes
anschließend vorbehandelten und zwischenzuspei- Problem auf: Wenn eine Instruktion vorbereitet (dechernden
^Instruktionen rnjt einer_BedmgirKenn- codiert) wird, die eine bedingte Verzweigung verzeicnnung
verseh^n~w^^Jlonr^e_n",j^d5^hT3ie. fangt, kann es sein, daß die Bedingung noch' nicht
eigeOffi^gySS^toigJüe^Jnstny^.Qr^n.^Qr- festliegt. Die schon vorbereiteten, aber noch nicht
läufig verhindert wigd, gekennzeichnet 15 ausgeführten Instruktionen können möglicherweise
d u r c h eine ÄJaordnuiig (12 in F i g. 3,), die nach noch Einfluß auf diese Bedingung haben, so daß
Auftreten einer Instruktion, deren Ausführung an vorläufig nicht klar ist, ob das nächstfolgende Proeine
Bedingung gebunden ist (z. B. bedingte Ver- grammstück übersprungen oder durchgeführt werden
zweigungsinstruktipn), die durch diese bestimmte soll.
Adresse der Zielinstfuktiön meinem Zieladressen- 20 Die nächstliegende Lösung in dieser Situation wäre,
speicher (32 in F i g. 1) speichert und in einem Ver- vorläufig keine weiteren Instruktionen zu decodieren,
gleicher (12) mit den in einem Speicher (16) ge- sondern abzuwarten, bis endgültig festliegt, ob die
speicherten Adressen der zwischengespeicherten Sprungbedingung vorliegt oder nicht. Erst danach
Instruktionen vergleicht, weiter durch eine An- würden wieder Instruktionen abgerufen und decoordnung
(in 20), die bei der Vorverarbeitung (De- 25 diert, und zwar entweder die nächstfolgenden (kein
codierung) die Instruktionen mit einem Bedingt- Sprung) oder aber die bei der Zieladresse beginnen-Kennzeichen
versieht, wenn die Adressen der nach- den Instruktionen (Spjung). Die Zieladresse ist diefolgenden
Instruktionen nicht mit der Adresse jenige, welche den Befehl angibt, auf den gegebenender
Zielinstruktionen übereinstimmen und da- falls gesprungen werden soll.
durch streichbar sind, und schließlich durch eine 30 Diese nächstliegende Lösung des Abwartens ist
Einrichtung (52, 53 in F i g. 3), dje_das_JBedingta. ab^er unrentabel, da sich d.ie Bearbeitungszeit der
^^rm^elcTie^junwirksamjiacht, wejmj^e Adresse Programme verlängert, weil· die Verarbeitungseinheit
der rSchfolgenden fnstruktionen mit der Adresse nun' doch Öfter, nämlich bei bedingten Verzweigun-(Ter^idinsjbr.vK^riil^^^ffiffiHj^pc^gff^e'
gen, auf Speicherzugriffe w.arten muß. genannten .Instraktipnen nicht _me&_'_jtreicßDaf 35 Eine wesentlich bessere Lösung ist durch die USA.-sind.
Patentschrift 3 418 638 bekanntgeworden. Dabei wer-
2. Datenverarbeitungsanlage nach Anspruch 1, den nach Auftreten einer bedingten Verzweigungsdadurch
gekennzeichnet, daß die Einrichtung (52, instruktion, für welche die Bedingung noch nicht
53 in Fig. 3) nach Auftreten der erwarteten Be- festliegt, alle folgenden Befehle bei der Vorverarbeidingung
einer an eine Bedingung geknüpften In- 40 tung (Decodierung) mit einem Bedingt-Kennzeichen
struktion daraufhin nur eine Streichung der zu versehen. Dieses Kennzeichen verhindert vorläufig die
überspringenden, mit einem Bedingt-Kennzeichen Ausführung der betreffenden Instruktionen; trotzdem
versehenen zwischengespeicherten Instruktionen können sie schon bereitgestellt und die zugehörigen
bewirkt, nicht aber eine Streichung der eventuell Operanden abgerufen werden. Sobald endgültig festschon
vorbehandelten und zwischengespeicherten 45 liegt, ob die Sprungbedingung vorliegt oder nicht,
Zielinstruktion sowie der. nachfolgenden Instruk- werden entweder die Bedingüngs-Kennzeichen untionen.
wirksam gemacht, so daß nun die Instruktionen aus
geführt werden können (kein Sprung), oder die be-
dingt ausgegebenen Instruktionen werden gelöscht
50 (Sprung).
1 Im letzteren Falle kann es aber gut möglich sein,
Die vorliegende Erfindung betrifft eine Datenverar- daß auch die Zielinstruktion (sowie einige ihr f olbeitungsanlage
mit Einrichtungen, um zu verarbei- gende Instruktionen) schon vorbereitet und mit einem
tende Instruktionen im voraus abzurufen, vorzube- Bedingt-Kennzeichen bereitgestellt war. Diese Zielhandeln
und dann bis zur eigentlichen Verarbeitung 55 instruktion (und( die folgenden) wurden nun bei Vorzwischenzuspeichern,
und nut Vorrichtungen, durch '" liegen der Sprungbedingung uhnutzerweise gelöscht,
welche nach Auftreten einer bedingten Verzweigungs- obwohl sie doch alsbald ausgeführt werden sollen,
instruktion, für welche die Bedingung noch nicht Das System wird nun erst wieder initialisiert, d. h., es
festliegt, die anschließend vorbehandelten und zwi- muß die Bearbeitung mit Decodierung der Zielschenzuspeichernden
Instruktionen mit einer Bedingt- 60 instruktion neu begonnen werden. Das ist ein unKennzeichnung
versehen werden können, wodurch nötiger Zeitverlust.
die eigentliche Verarbeitung dieser Instruktionen vor- Der Erfindung liegt nun die Aufgabe zugrunde,
läufig verhindert wird. eine Anordnung anzugeben, bei der die vorstehend
Es ist bereits bekannt, die Leistung von Daten- genannte Initialisierung vermieden werden kann,
Verarbeitungsanlagen dadurch zu erhöhen, daß man 65 wenn die Zielinstruktion in der Instruktionsfolge sehr
simultan mit der eigentlichen Ausführung von Be- dicht an der Verzweigungsinstruktion liegt, um so
fehlen schon gewisse Vorbereitungsarbeiten für spä- die Verarbeitungsgeschwindigkeit für solche Proter
auszuführende Befehle durchführt. So kann man gramme zu verbessern, die eine große Anzahl von be-
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US81146769A | 1969-03-28 | 1969-03-28 | |
US81146769 | 1969-03-28 |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2013259A1 DE2013259A1 (de) | 1970-10-08 |
DE2013259B2 true DE2013259B2 (de) | 1972-12-21 |
DE2013259C DE2013259C (de) | 1973-07-26 |
Family
ID=
Also Published As
Publication number | Publication date |
---|---|
SE353613B (de) | 1973-02-05 |
JPS505540B1 (de) | 1975-03-05 |
NL7004334A (de) | 1970-09-30 |
FR2040066A5 (de) | 1971-01-15 |
GB1239536A (de) | 1971-07-14 |
US3553655A (en) | 1971-01-05 |
ES377102A1 (es) | 1972-06-01 |
CH503324A (de) | 1971-02-15 |
DE2013259A1 (de) | 1970-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2555963C2 (de) | Einrichtung zur Funktionsmodifizierung | |
DE2234867C2 (de) | Anordnung in einer Datenverarbeitungsanlage zum Steuern der Verarbeitung zweier voneinander unabhängiger Befehlsfolgen | |
DE2515696C2 (de) | Datenverarbeitungssystem | |
DE1499722C2 (de) | Einrichtung zur Modifizierung von Informationswörtern | |
DE69738188T2 (de) | Verfahren und apparat für eine erhöhte genauigkeit bei der verzweigungsvorhersage in einem superskalaren mirkroprozessor | |
DE2001664A1 (de) | Anordnung und Verfahren zur Programmverzweigung in einem elektronischen Digitalrechner | |
DE1901228B2 (de) | Datenverarbeitungsanlage mit einrichtungen zur wiederholung von operationen beim auftreten eines fehlers | |
DE1524239A1 (de) | Verfahren zur Lokalisierung eines Fehlers in einer Anlage mit mindestens zwei parallel arbeitenden Rechengeraeten | |
DE2714805A1 (de) | Datenverarbeitungssystem | |
DE2322674A1 (de) | Mikroprogramm-steuereinrichtung | |
DE2339636A1 (de) | Programmsteuereinrichtung | |
DE2318069A1 (de) | Rechnersteuersystem unter verwendung von mikroprogrammierung und statisch/dynamischer erweiterung von steuerfunktionen mittels festverdrahteter logischer matrix | |
DE2556617C2 (de) | Schiebe- und Rotierschaltung | |
DE3043653A1 (de) | Datenverarbeitungsanlage | |
DE2854400C2 (de) | Anordnung zum Wechsel zwischen verzahnt zu verarbeitenden Programmen | |
DE1200578B (de) | Datenverarbeitungssystem | |
DE1949916B2 (de) | Verfahren zum betrieb einer programmgesteuerten datenverarbeitungsanlage und anordnung zur durchfuehrung des verfahrens | |
DE1179027B (de) | Speicherprogrammierte digitale Rechenanlage | |
DE2702722C2 (de) | Einrichtung zur Verarbeitung nicht direkt ausführbarer Instruktionen | |
DE4222275C2 (de) | Parallelprozessor und Betriebsverfahren für diesen | |
DE2013259B2 (de) | Datenverarbeitungsanlage | |
DE1194605B (de) | Verbesserung an Geraeten zur Verarbeitung von Angaben, Informationen od. dgl. | |
DE69815656T2 (de) | Rechnersystem mit einem mehrfach Sprungbefehlzeiger und -Verfahren | |
DE2622140A1 (de) | Verfahren zur durchfuehrung manueller operationen | |
DE1424756A1 (de) | Rechenanlagen-Speicherschaltung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
E77 | Valid patent as to the heymanns-index 1977 | ||
8339 | Ceased/non-payment of the annual fee |