DE1299146B - Befehlssteuereinheit - Google Patents
BefehlssteuereinheitInfo
- Publication number
- DE1299146B DE1299146B DEJ34247A DEJ0034247A DE1299146B DE 1299146 B DE1299146 B DE 1299146B DE J34247 A DEJ34247 A DE J34247A DE J0034247 A DEJ0034247 A DE J0034247A DE 1299146 B DE1299146 B DE 1299146B
- Authority
- DE
- Germany
- Prior art keywords
- instruction
- branch
- address
- register
- buffer
- 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.)
- Withdrawn
Links
- 239000000872 buffer Substances 0.000 claims description 99
- 238000012545 processing Methods 0.000 claims description 14
- 230000005540 biological transmission Effects 0.000 claims description 10
- 238000012546 transfer Methods 0.000 claims description 7
- 230000004913 activation Effects 0.000 claims 3
- 108700012364 REG1 Proteins 0.000 claims 1
- 210000002784 stomach Anatomy 0.000 claims 1
- 239000013589 supplement Substances 0.000 claims 1
- 238000000034 method Methods 0.000 description 7
- 230000003139 buffering effect Effects 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/325—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop counter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
- G06F11/104—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error using arithmetic codes, i.e. codes which are preserved during operation, e.g. modulo 9 or 11 check
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
-
- 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3804—Instruction prefetching for branches, e.g. hedging, branch folding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3808—Instruction prefetching for instruction reuse, e.g. trace cache, branch target cache
- G06F9/381—Loop buffering
-
- 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/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Advance Control (AREA)
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Description
1 2
Die Erfindung betrifft eine Befehlssteuereinheit zur Maschinenzeit verloren, wenn bedingte Verzwei-
Behandlung bedingter Verzweigungsbefehle. gungsinstruktionen ausgeführt werden sollen, da der
Eines der vielen Probleme, das bei dem Entwurf genaue Zeitpunkt des Auftretens der Bedingung, von
von Datenverarbeitungssystemen großer Leistung be- der die Verzweigung abhängig ist, im voraus nicht
rücksichtigt werden muß, ist das Problem des Ge- 5 bekannt ist.
schwindigkeits-Unterschiedes zwischen der Zentral- Die Aufgabe der Erfindung besteht nun darin,
einheit und den Speichereinheiten. Zur Verbesserung diese Nachteile durch die Angabe einer vorteilhaften
dieser Situation wird allgemein eine Technik des Einrichtung zur Behandlung von Programmverzwei-
»Vorausschauens« verwendet, wobei Instruktionen gungenineinemDatenverarbeitungssystemanzugeben.
vorabgerufen und in Puffern oder Warteschlangen io Für eine Befehlssteuereinheit zur Behandlung be-gespeichert
werden, während frühere Instruktionen dingter Verzweigungsbefehle besteht die Erfindung
decodiert und/oder ausgeführt werden. Die Existenz darin, daß die Verzweigungsziel-Befehle in Puffereiner
Warteschlange von Instruktionen in einer Zen- registern zwischengespeichert sind, bevor feststeht,
traleinheit kann in vielen Fällen auch dazu benutzt ob auf Grund des Vorliegens der Verzweigungswerden, um Instruktionswort-Abrufe aus dem Spei- 15 bedingung verzweigt werden kann o3er nicht, und
eher in solchen Situationen zu umgehen, wo die In- daß ferner parallel zu den Pufferspeichern ein Nebenstruktionen,
die decodiert werden sollen, sofort im übertragungsweg vorgesehen ist, über welchen die
Puffer verfügbar sind. Eine solche Situation liegt Verzweigungsziel-Befehle vom Speicher unter Umdann
vor, wenn beispielsweise eine Rückverzwei- gehung der Puffer direkt zu dem Operationsregister
gungs-Instruktion in einer Instruktionsfolge erscheint. 20 übertragen werden, wenn die Verzweigung durch-Dadurch
entsteht eine Folge von Instruktionen, geführt werden soll, bevor ein Speicherzugriff vollweiche
im allgemeinen mehrmals wiederholt werden ständig durchgeführt ist.
muß und die im folgenden als Schleife bezeichnet Günstige Resultate lassen sich weiterhin dadurch
wird. In den meisten Rechnerprogrammen erscheinen erzielen, daß bei der Decodierung einer bedingten
solche Schleifen recht häufig, und viele von ihnen 25 Verzweigungsinstruktion, deren Bedingung noch
sind so kurz, daß die gesamte Instruktionsschleife in nicht erfüllt ist, eine Steuerung eingestellt wird,
einer Gruppe von Puflerregistern ohne übermäßigen welche die ersten Befehle der Verzweigung in Sonder-
Aufwand an Speicher- und Steuereinrichtungen ge- puffern speichert, die übrigen vom Vorabruf in den
speichert werden kann. Puffern befindlichen Befehle decodiert und mit Be-
Während die Verzweigungsinstruktion manchmal 30 dingungskennzeichen versieht, welche die Ausfüh-
speziell die Adresse der Instruktion enthält, zu wel- rung der Befehle verhindern.
eher verzweigt werden soll, wenn die Bedingung er- Die weitere Arbeitsweise kann dann so durchfüllt
ist, wird diese Instruktionsadresse häufig erzeugt, geführt werden, daß die Befehlssteuereinheit das Beindem
ein fester Wert, welcher in der Instruktion ent- dingungskennzeichen entfernt, wenn die Verzweigung
halten ist, hinzugefügt wird oder durch die Instruk- 35 nicht ausgeführt wird.
tion als ein Wert angegeben wird, welcher sich in Schließlich ist auch von besonderem Vorteil, daß
einem gegebenen Indexregister befindet. Deshalb die Befehlssteuereinheit bei Feststellung der Bedin-
wird, wenn sich die Instruktionsschleife in den gung die konditioneil ausgegebenen Befehle löscht
Pufferregistern befindet, keine Zeit damit verloren, und den im ersten Sonderpuffer befindlichen Befehl
daß Instruktionen während der Ausführung der 40 zum Decoder für die Ausführung und in einen der
Schleife abgerufen werden. Jedoch können mehrere Puffer überträgt, den nächsten Befehl aus dem Son-
Zyklen bei einer Verzweigungsinstruktion verloren derpuffer in den Befehlspuffer einspeichert und den
werden, die eine Instruktionsschleife beendet, und Befehlsvorablauf über den Verzweigungspfad wieder
zwar jedesmal dann, wenn die Schleife vervollständigt aufnimmt.
ist, da es notwendig ist, die Adresse, zu der hin ver- 45 Der mit der Erfindung erzielbare Vorteil besteht in
zweigt werden soll, bei jeder Verzweigungsinstruk- einer beträchtlichen Zeitersparnis bei großen Daten-
tion zu bestimmen. Diese Zyklen können jedoch ver- Verarbeitungssystemen, die mit einem Vorabruf von
mieden werden, indem die Adresse der Verzweigungs- Instruktionen und mit Überlappung von InstruktionS1
instruktion, die eine Instruktionsschleife einleitet, ge- und Ausführungszyklen arbeiten, besonders aber
speichert wird. Ferner muß auch die Adresse, zu 50 dann, wenn mit diesen Systemen Problemprogramme
welcher verzweigt wird, gespeichert und außerdem bearbeitet werden müssen, die viele kurze Schleifen
direkt zu der gespeicherten Adresse übergegangen enthalten.
werden, zu welcher verzweigt werden soll, wenn die Eine besondere Zeitersparnis wird vor allem da-
Adresse einer Verzweigungsinstruktion, welche de- durch erreicht, daß, sobald die Verzweigungsbedin-
codiert wird, der gespeicherten Adresse der Ver- 55 gung bestimmt ist, die Instruktionen für die sofortige
zweigungsinstruktion entspricht. Dieses Verfahren Ausführung in etwa 50 °/o aller Verzweigungsbefehlen
kann jedoch zu einem Fehler führen, wenn die gültig gemacht werden können. Wenn der Verzwei-
Adresse, zu welcher verzweigt werden soll, sich wäh- gungspfad durchlaufen werden soll, liegen bereits
rend der Ausführung der Schleife ändert und somit alle notwendigen Daten durch den Vorabruf vor, so
nicht mit der Adresse übereinstimmt, zu der verzweigt 60 daß insbesondere das Warten auf den Abruf des Ver-
werden soll. Daher muß die Verzweigungsinstruktion zweigungsziels nach der Verzweigungsentscheidung
genügend lange zurückgehalten werden, um festzu- vermieden wird.
stellen, ob nicht die Instruktionsausführung nach Im folgenden wird die Erfindung an Hand eines
einer Verzweigungsinstruktion irgendeinen Teil der durch Zeichnungen erläuterten Ausführungsbeispiels
Adresse, zu welcher verzweigt werden soll, verändert. 65 näher beschrieben. Es zeigt
Bei großen Datenverarbeitungsanlagen, deren Fig. 1 das Blockschaltbild eines Datenverarbei-
Verarbeitungszyklus wesentlich schneller ist als tungssystems, in welchem die Instruktionseinheit ge-
deren Speicherzyklus, geht im allgemeinen sehr viel maß der Erfindung eingebaut ist, /
3 4
Fig. 2A und 2 B sowie 3A bis 3B schematische die obere Adressengrenze die Adresse der nächsten
Darstellungen der Instruktionseinheit gemäß der Er- Instruktion an, die abgerufen werden soll. Dieses
findung. Signal wird sowohl als eine Abrufanordnung als
Die in F i g. 1 dargestellte Zentraleinheit ist im auch als Signal für die Erhöhung des Inhalts des
wesentlichen aus fünf Einheiten aufgebaut, welche 5 Registers 147 um den Wert 1 verwendet. Der Inhalt
durch Daten- und Steuerleitungen miteinander ver- des Registers 147 kann weder den Inhalt des Rebunden
sind. Da die E-Einheit 133 (Ausführungsein- gisters 148 noch denjenigen des Registers 150 über
heit) einen Teil besitzt, welcher für das Rechnen mit treffen, da Register 150 für die untere Adressen-Gleitkommazahlen,
und einen weiteren Teil besitzt, grenze von der ihm zugeordneten Inkrementierwelcher
für arithmetische Operationen mit Fest- io schaltung 153 gleichzeitig mit dem Register 147 für
kommazahlen und logische oder arithmetische Ope- die obere Adressengrenze erhöht wird, wenn die Gerationen
mit alphanumerischen Operanden variabler fahr besteht, daß der Inhalt dieses Registers größer
Länge vorgesehen ist, ist sie mit einer Gleitkomma- wird.
einheit 142 und mit einer Festkommaeinheit 143 dar- Bei der Anordnung nach den Fig. 2A und 2B
gestellt. Die hauptsächlichen Verbindungen zwischen 15 sind drei Arten von Programmschleifen möglich:
den Einheiten sind ebenfalls in dieser Figur gezeigt,
wobei die Zahl der Steuerleitungen (CL), der 1. eine Schleife, bei welcher das Verzweigungsziel
Adressenleitungen (A, B, jeweils 24 Adern) und der acht oder mehr Doppelwörter (entsprechend der
Datenleitungen (DB, je 72 Bit) und außerdem die Kapazität der Pufferspeicher 156) zurückliegt,
Kommunikationsrichtungen zwischen den logischen ao 2. eine Schleife zu einer Adresse, die weniger als
Einheiten angegeben sind. acht Doppelwörter zurückliegt, die aber noch
Die F i g. 1 zeigt auch das für die Bedienungs- und vor der Adresse liegt, die in dem Register 150
Wartungszwecke vorgesehene Bedienungspult mit den für die untere Adressengrenze gespeichert ist
Verbindungen zu allen Teilen des Systems. Die Ein- und daher nicht in den Puffern 156 enthalten ist,
gänge zu dem Bedienungspult 102 bestehen meistens as 3 eme Schleife zu einer Adresse, die gleich oder
aus individuellen Datenbitleitungen von der Zentral- größer als die im Register 150 angegebene ist
einheit, wobei 926 Bits von der Einheit 142, 629 Bits un(j die sich daher schon innerhalb der Puffer
von der Einheit 143, 1024 Bits von der I-Einheit 134, χζβ befindet.
681 Bits von der Hauptspeicher-Steuereinheit 136
und 191 Bits von der Peripher-Speicher-Steuereinheit 30 Die Schleife der erstgenannten Art wird wie jede
137 hergeführt sind. Ferner halten eine Gruppe von andere Verzweigung mit bedingter Instruktionsaus-53
Leitungen 144 und eine Gruppe von 100 Leitun- gäbe behandelt, bis der Bedingungscode gültig ist,
gen 166 die Verbindung des Steuerpultes 102 mit der mit Vorabruf der Instruktionswörter längs des Ver-Kanaleinheit
122, die nicht dargestellt ist, aufrecht. zweigungspfades und, wenn die Schleife durchlaufen
Wie die F i g. 1 weiter zeigt, besitzt das System auch 35 werden muß, mit der Übertragung der Zieladresse in
einen Hauptspeicher 104 und eine Erweiterung des das Register 147 für die obere Adressengrenze, in
Hauptspeichers 105, die jeweils mit Speicherschutz- das I-Register 148 und in das Register 150 für die
einrichtungen 138 versehen sind. untere Adressengrenze, damit der neue Programm
pfad gestartet werden kann.
Allgemeine Beschreibung der Instruktionseinheit 40 Für die Schleife nach der zweiten Art finden die
gleichen Operationen statt, um die Schleife zu star-
Wie bereits erwähnt, ist es in schnellen und großen ten. Jedoch wird nun ein Schleifenart-Trigger (nicht
Datenverarbeitungssystemen mit vergleichsweise lan- dargestellt) eingestellt, damit die Erhöhung des Regen
Speicherzyklen für den Abruf der Instruktionen gisters 150 verhindert wird. Ferner wird die im
vorteilhaft, wenn Verarbeitungszeit dadurch gespart 45 I-Register 148 gespeicherte Verzweigungsadresse in
werden kann, daß eine ganze Instruktionsschleife in das Register 179 gebracht. Wenn nun der Operations-Pufferregistern
mit schnellem Zugriff gespeichert decoder 166 eine Verzweigungsinstruktion auffindet,
werden kann. Hierdurch wird ein wiederholtes Ab- wird der Inhalt des Registers 179 mit demjenigen des
rufen der Schleifeninstruktionen vermieden. I-Registers 148 verglichen, um so festzustellen, ob
Gemäß der Erfindung werden die Instruktions- 50 diese Instruktion das Ende der Schleife ist. Ist dieses
Wörter vorabgerufen und in der Instruktionseinheit der Fall, dann wird die Zieladresse in dem Register
134, wie Fig. 2A zeigt, in einem Satz von acht In- 180 (in Fig. 2B) zu dem I-Register 148 übertragen,
struktionspuffern 156 gespeichert. Als Kennzeichen um einen erneuten Durchlauf der Schleife zu starten,
oder Adresse der acht Pufferspeicher dient jeweils Die Instruktionen für einen solchen erneuten Durcheine
dreistellige Binärzahl, die in den drei niedrigsten 55 lauf werden konditionell ausgegeben, wenn der Be-Binärstellen
der Adresse des Doppelwertes enthalten dingungscode gültig ist. Hierdurch wird auch angeist.
Zur Speicherung der oberen Adressengrenze ist zeigt, daß eine erneute Verzweigung notwendigt ist.
ein Register 147 vorgesehen, welches die Adresse des Die zweite Schleifenart wird automatisch bei dem
letzten Instruktionswortes, für welche eine Abruf- zweiten Umlauf zur dritten Art, da die Zielinstrukanforderung
von der Maschine gegeben wurde, ent- 60 tion nun innerhalb der Puffer 156 ist. Wenn diese
hält. Ein weiteres Register 148, das sogenannte I-Re- Bedingung erkannt wird, weil die Zieladresse gleich
gister, enthält die Adresse desjenigen Pufferspeichers oder größer ist als die im Register 150 für die untere
Nummer 0 bis 7, welcher die zu decodierende In- Adressengrenze gespeicherte, wird kein Vorabruf von
struktion enthält. Für die untere Adressengrenze ist Instruktionen in die beiden Temporärpuffer 157
das Register 150 vorgesehen, welches die Adresse der 65 mehr benötigt. In jedem Fall wird der normale Prozuerst
in einen Puffer 156 eingespeicherten Instruk- grammablauf wiederaufgenommen und der Schleifention
enthält. Normalerweise gibt der Ausgang der Betriebsart-Trigger zurückgestellt, wenn der Bedin-Inkrementierschaltung
151 für das Register 147 für gungscode gültig wird, wodurch angezeigt wird, daß
der Schleifenpfad nicht durchlaufen wird. Mit Aus- dann sofort unter Verwendung der Adresse im Renahme
einer maximal langen Schleife wird minde- gister 147 eingeleitet. Beim nächsten Maschinenstens
einer dieser direkten Pfadinstruktionen in einem zyklus wird ein zweiter Abruf eingeleitet, indem die
der Puffer 156 gespeichert sein, denn der normale Adresse aus der Inkrementierschaltung 151, die
Abruf wird nicht gesperrt, sondern wird fortgesetzt, 5 ebenfalls in 147 gespeichert ist, verwendet wird. Ein
damit diejenigen Puffer 156 gefüllt werden, welche dritter und vierter Abruf wird zu den nächsten zwei
nicht für die Programmschleifen-Instruktionen be- Maschinenzyklen mit einer Erhöhung von 147 bei
nötigt werden. jedem Abruf aufgerufen, nachdem die Erhöhung das
Register 147 auf eine Adresse einstellt, die um 3 Instruktionseinheit 10 höher ist ^8 die Startadresse im Register 148. Dieses
Die Instruktionseinheit (I-Einheit) 134 wird durch ist dann die Adresse des letzten abgerufenen Wortes,
die Instruktionswörter des Programms gesteuert und Die Bestimmung eines abgerufenen Wortes wird, be-
hat folgende Aufgaben: vor dieses Wort selbst übertragen wird, zur Maschi-
„ , nenzykluszeit ausgesendet. In diesem Fall werden
1. Abruf und Pufferung der Instruktionsfolgen; 15 die Eingangstore zu dem Instruktionspuffer 156 aus-
2. teilweise Decodierung der Instruktionen und gewählt, welcher die Adresse besitzt, die den niedihre
Verteilung zu den entsprechenden Ausfüh- rigsten drei Ziffern der Speicheradresse entspricht,
rungseinheiten; um so das zurückgekehrte Wort in den zugehörigen
3. Abruf von Operanden für die Ausführungsein- Instruktionspuffer 156 zu bringen. Da dieses der erste
heiten; 20 Abruf ist, ist das Operationsregister 159 zu dieser
4. vollständige Ausführung von Verzweigungs-, Zeit nocn leer>
und das abgerufene Wort wird auch
Eingabe-Ausgabe- und Zustands- und Schalt- in dieses Register übertragen. Das Operationsregister
Instruktionen und teilweise Ausführung von In- 1S9 wird so gesteuert, daß es Instruktionswörter von
struktionen, die Vielfach-Operationen erfordern; Jedem der Instruktionspuffer 156, den Temporär-
5. Behandlung von Unterbrechungen. -3 Puffern J57 odir von der Sammelleitung 155 emp-
6 6 fangen kann. Ferner speichert es das laufende In-
Die erste Aufgabe, der Instruktionsabruf, wird von struktionswort für die Decodierung und Steuerung
drei Registern gesteuert, dem Register 147 für die und enthält auch einen genügend großen Anteil des
obere Adressengrenze (Fig. 4A), dem Instruktions- nächsten Instruktionswortes (oder der nächsten Inregisterl48
(I-Register) und dem Register 150 für 30 struktionswörter), damit es seine Doppelwortkapadie
untere Adressengrenze. Jedes dieser drei Register zität voll ausfüllt. Aufeinanderfolgende Instruktionsist mit einer eigenen Inkrementierschaltung 151, 152 Wörter werden in aufeinanderfolgenden Instruktionsund
153 verbunden, welche immer ein Ausgangs- puffern 156 in der Reihenfolge gespeichert, wie sie
signal besitzt, das einen um den Wert 1 höheren Wert empfangen werden.
repräsentiert, als das zugeordnete Register enthält. 35 Im vorliegenden Beispiel können die Instruktionen
Wenn der inkrementierte Ausgangswert in das Re- drei verschiedene Längen aufweisen, nämlich 16, 32
gister zurückgebracht wird, dann nimmt das Register oder 48Bits. In Fig. 2A ist ferner nur angedeutet,
den inkrementierten Wert an, welcher dann zu der daß das Operationsregister 159 eine umfangreiche
Inkrementierschaltung 151, 152 oder 153 gelangt, Anordnung von Toren besitzt, die den Verkehr von
welche diesen Wert dann auf den nächsthöheren 40 und zu diesem Register steuert. Auf der Eingangs-Wert
erhöht. Daher wird der Inhalt des Registers seite sind vier Gruppen von 16 Bittoren, so daß eine
jedesmal, wenn der Ausgang der Inkrementierschal- oder mehrere beliebige von den 16 Bitpositionen des
tung auf das zugehörige Register geschaltet wird, um Registers 159 unabhängig voneinander geladen wereine
Einheit erhöht. den können. Zuerst werden, wie bereits erwähnt, alle
Die Instruktionswörter vom Speicher, jeweils 45 64 Bits des ersten Instruktionswortes auf der Leitung
Doppelwörter von 72 Bits, werden von der I-Einheit 155 in das Operationsregister 159 übertragen. Da die
134 auf einer Gruppe von 72 Leitungen, welche die Instruktionen an jeder beliebigen der vier Positionen
Speicherausgangsleitung 155 bilden, empfangen und innerhalb dieser Instruktion starten können, ist es
zu einer Gruppe von acht Instruktionspuffern 156, verständlich, daß die laufende Adresse in dem I-Redie
mit 0 bis 7 numeriert sind, oder unter bestimmten 50 gister 148 zwei niedrigstellige Bits zusätzlich zur AbBedingungen
zu den temporären Puffern 157, die mit rufadresse benötigt, damit der richtige Teil des In-1
und 2 numeriert sind, übertragen. Zunächst kann struktionswortes im Register 159 für die Decodierung
angenommen werden, daß das erste abgerufene In- ausgewählt werden kann. Eine oder mehrere der
struktionswort in dem Instruktionspuffer 156 ge- 16-Bitgruppen in der linken Position können zu
speicher wird, welcher als Kennzeichen (oder Adresse) 55 einem früheren Programm gehören und werden nicht
die drei niedrigsten Bits der Doppelwortadresse des verwendet. Daher werden, gesteuert durch das I-Reabgerufenen
Wortes besitzt. Das zweite Wort wird gister 148, beliebige der für das Auffüllen dieser linnormalerweise
eine Folgeadresse besitzen und daher ken Positionen mit kennzeichnenden Instruktionen
in dem Puffer mit der nächsthöheren Nummer ge- benötigten Bits zu dem Operationsregister 159 überspeichert,
bis schließlich der Instruktionspuffer Num- 60 tragen, wenn das zweite Instruktionswort über die
mer 7 gefüllt ist. Das nächste Instruktionswort möge Sammelleitung 155 abgerufen worden ist. Danach,
eine Größe haben, welche mit 000 endigt, so daß das da Instruktionen von dem Register 159 verwendet
abgerufene Wort demzufolge in dem Instruktions- werden, wird dieses wieder vom Instruktionspuffer
puffer 156 mit der Nummer 0 gespeichert wird. 156 aufgefüllt, um das Register 159 mit nicht ver-
Es wird ferner angenommen, daß alle Instruktions- 65 wendeten Instruktionen gefüllt zu halten,
puffer 156 ebenso wie die Register 147, 148 und 150 Unter den Ausgangstoren des Registers 159 befin-
anfänglich leer sind. Die Startadresse des Programms det sich eine Toranordnung für den Operationscode,
wird in 147,148 und 150 gespeichert. Ein Abruf wird welche aus vier Gruppen von acht Toren besteht und
eine 8adrige Sammelleitung 160 bedient. Da der Ope- gewählt wird, wird zu dem dritten Eingang 172 der
rationscode stets von den acht links angeordneten Addierschaltung 168 übertragen.
Bits einer Instruktion gebildet wird und die Instruk- Die Allzweckregister befinden sich nicht in der
Bits einer Instruktion gebildet wird und die Instruk- Die Allzweckregister befinden sich nicht in der
tion bei jeder der vier Positionen innerhalb des Re- Instruktionseinheit 134, sondern in der Festkommagisters
159 beginnen kann, werden die Leitungen 160 5 einheit 143 (Fig. 1). Da die erforderliche Zeit zur
den acht links angeordneten Bits in jeder Gruppe von Übertragung eines Tor-Steuersignals zu den AIl-16
Bits zugeordnet. zweckregistern und zum Empfang ihrer gespeicher-
Die Speicheradressen innerhalb der Instruktions- ten Werte wesentlich ist und mindestens einen Verwörter
können in zwei verschiedenen Formaten dar- lust von einem Maschinenzyklus in der für die Ergestellt
werden. Das erste Format betrifft Instruk- io zeugung der effektiven Adresse erforderlichen Zeit
tionen für solche Operationen, welche nur die Ver- bewirken, werden die in den Allzweckregistern gewendung
einiger der Allzweckregister (GPR) erfor- speicherten Zahlen sofort für die I-Einheit 137 zudem.
Diese Instruktionen bezeichnen ein oder zwei gänglich gemacht, indem sogenannte »heiße Leitun-Allzweckregister
innerhalb der zweiten 8 Bits von gen« 173 und 174 für die Verbindung der Allzweckden
ersten 16 Bits der Instruktion. Diese Adressen 15 register mit der I-Einheit bereitgestellt werden. Wenn
werden über die zugeordneten Positionen einer 8adri- daher ein Wert aus einem Allzweckregister benötigt
gen Sammelleitung 161 übertragen. Beim zweiten wird, dann wird dieser augenblicklich in die Addier-Format
wird eine Speicheradresse in der zweiten schaltung 168 übertragen, obwohl zwischen den bei-
oder dritten 16-Bitgruppe einer längeren Instruktion den Einheiten ein bestimmter Abstand vorhanden
angegeben, da 4 Bits ein Allzweckregister angeben, ao ist. Die einzige Ausnahme, die eine augenblickliche
welches eine Basisadresse und 12 Bits enthält, welche Verfügbarkeit eines Wertes in einem Allzweckdie
Verlagerung der gewünschten Adresse von dieser register verhindert, kann dann auftreten, wenn ein
Basisadresse kennzeichnen. Die 4 Bits für die Aus- Wert, welcher in einem Allzweckregister gespeichert
wahl des Allzweckregisters werden bei diesem For- werden soll, in der Addierschaltung 168 erzeugt und
mat zu den ausgewählten Positionen einer vieradri- 35 beim nächsten Maschinenzyklus benötigt wird. Nur
gen Sammelleitung 142 übertragen. Die begleitenden dann reicht die Zeit für die Speicherung des Wertes
zwölf, die Verlagerung angebenden Bits der Adresse in dem Allzweckregister und die Rückübertragung
werden über eine 12adrige Sammelleitung 164 in auf die Leitungen 173 und 174 nicht aus. Diese Auseinen
Pufferspeicher 165 (s. Fig. 2B) übertragen. nähme wird in der Instruktionseinheit 134 überprüft
Der Operationscode einer Instruktion in dem Re- 30 und durch den Einbau eines temporären Registers
gister 159 wird über die Sammelleitung 160 zu dem 176 kompensiert, welches vom Ausgang des Regi-Operationsdecoder
166 übertragen. Die Steuerung sters 168 geladen wird.
übernehmen hierbei die beiden niedrigstelligen Bits Wann immer die Instruktionseinheit 134 feststellt,
der im I-Register 148, welches, wie bereits erwähnt, daß die Adresse eines gewünschten Allzweckregiden
Ort der laufenden Instruktion innerhalb des Re- 35 sters die gleiche ist, wie diejenige eines Registers,
gisters 159 angibt. Die zwei höchsten Bits des Opera- welches soeben von der Addierschaltung 168 getionscodes
geben das Instruktionsformat an und laden wurde, dann wird der im temporären Register
steuern das Auslesen des Adressenteils der Instruk- 176 gespeicherte Wert zu der Addierschaltung 168
tion auf den Sammelleitungen 161, 162 und 164. Für übertragen. Die Verbindungen über die Leitungen
eine 16 Bits umfassende Instruktion gibt die Adresse 40 173 oder 174 bleiben hierbei außer Betracht. Ein
oder geben die Adressen auf der Sammelleitung 151 anderes Register 177, das W-Register, empfängt
normalerweise ein Allzweckregister an, welches Ope- ebenfalls die Ausgangssignale der Addierschaltung
randen für eine Operation in der E-Einheit 133 ent- 168. Der Inhalt dieses Registers kann entweder über
hält. Diese werden deshalb zusammen mit den Ope- die Leitung 200 zu den Allzweckregistern oder über
rations-Steuersignalen vom Decoder 166 übertragen. 45 die Leitung 201 zu dem Hauptspeicher 104 über-Für
eine Instruktion mittlerer Länge, bestehend tragen werden.
aus 32 Bits, kann die zweite Hälfte der ersten 16 Bits In großen Datenverarbeitungssystemen werden
noch ein Allzweckregister angeben, welches beispiels- also Programmverzweigungen decodiert und in der
weise als Adresse im Hauptspeicher 104 oder im er- Instruktionseinheit 134 verarbeitet. Die Datenverweiterten
Hauptspeicher 105 verwendet wird. Eine 50 arbeitungsinstruktionen werden innerhalb der Insolche
Adresse erfordert allerdings die Verwendung struktionseinheit vorverarbeitet und zu der Auseiner
Addierschaltung 168 (Fig. 2A). Die Addier- führungseinheit zur Pufferung und späteren Ausfühschaltung
168 besitzt drei Eingänge, deren Signale rung übertragen. Die Instruktionen, die in der Inaddiert
werden, um auf diese Weise zusammen die struktionseinheit decodiert werden sollen, werden
effektive Addresse des abzurufenden Operanden zu 55 gepuffert und im Anschluß daran im Operationsbilden.
Der Eingang 169 ist 12stellig und mit dem decoder entschlüsselt. Die Instruktionen für die AusPuffer 165 verbunden, welcher mit dem Verlage- führungseinheit werden in der Operationsstufe 167
rungsteil der direkten Adresse (relative Adresse) zunächst gespeichert und dann, nachdem die erforvom
Operationsregister 159 geladen wird. Der Basis- derlichen Operanden vom Speicher abgerufen worteil
der Adresse kann bis zu 24 Bits umfassen. Er 60 den sind, übertragen. Wenn vom Operationsdecoder
wird in einem Allzweckregister gespeichert, welches 166 eine Verzweigungsinstruktion decodiert wurde,
auf den zweiten Eingang 170 der Addierschaltung dann setzt eine unbedingte Verzweigung oder eine
168 geschaltet wird. Die Steuerung übernimmt hier- bedingte Verzweigung, deren Bedingungscode gültig
bei die Adresse auf der Sammelleitung 162. Ein gesetzt wurde, die Verarbeitung der Instruktion auf
weiterer Faktor der effektiven Adresse befindet sich 65 dem normalen Pfad fort, wenn die bedingte Verzweiin
einem Indexregister, welches auch ein Allzweck- gung nicht durchgeführt wird, oder sie stoppt die
register ist. Der Wert des Indexregisters, welches Verarbeitung abgerufener späterer Instruktionen und
durch die Signale auf der Sammelleitung 161 aus- beginnt mit der Wiederauffüllung der Puffer 156 mit
ίο
Instruktionen längs des Verzweigungspfades, wenn der Verzweigungspfad durchlaufen werden soll.
Wenn jedoch die Bedingungen, auf denen die Verzweigung beruht, noch nicht bestimmt sind, dann
stoppt die Instruktionseinheit 134 für mehrere Zyklen und bewirkt einen Abruf der ersten beiden Instruktionen
der Verzweigung. Diese werden von dem Speicher auf einer Sammelleitung 155 zu einem Paar
von Temporärpuffern 157 übertragen. Während diese
codeteil der nächsten Instruktion verfügbar. Der Rest der Instruktion kann dann in das Register 159 geladen
werden, wenn der Operationscode decodiert wird.
Jedesmal, wenn das I-Register 148 so erhöht worden ist, daß ein Übertrag von den beiden niedrigstelligen
Bitpositionen in eine höherstellige Bitposition erfolgt, dann ist dieses ein Kennzeichen dafür, daß
sowohl eine andere Doppelwortinstruktion vollstän-
Abrufe durchgeführt werden, fährt die Instruktions- io dig verwendet wurde, jedenfalls soweit es die I-Eineinheit
mit der Decodierung und Ausgabe der In- heit betrifft, als auch dafür, daß die Decodierung
struktionen aus den Pufferspeichern 156 fort. Diese eines neuen Wortes begonnen wurde. Da der Inhalt
Instruktionen haben jedoch ein Bedingungskenn- des Registers 147 für die obere Adressengrenze nun
zeichen erhalten, welches die Ausführung der In- nicht drei Doppelwortadressen bezüglich des Inhalts
struktion verhindert. Wenn die Bedingungen, auf 15 des I-Registers 148 voraus ist, wird der Abruf einer
denen eine Verzweigung beruht, bestimmt sind, dann nächsten Instruktion aufgerufen und das Register 147
entfernt die Instruktionseinheit 134 das Bedingungs- wieder erhöht, so daß sein Inhalt nun wieder um 3
kennzeichen, wenn keine Verzweigung vorliegt, oder demjenigen des I-Registers 148 voraus ist. Das Resie
löscht die konditionell ausgegebene Instruktion, gister 150 für die untere Adressengrenze ist jedoch
wenn eine Verzweigung vorliegt. Im letzteren Fall 20 bei der Adresse des ersten Instruktionswortes, welwird
das Instruktionswort, welches sich in dem Tem- ches in die Pufferspeicher 156 eingegeben wurde, steporärpuffer
Nummer 1 befindet, sofort für die Aus- hengeblieben. Wenn das Register 147 von Fall zu
führung decodiert und ferner in einen der Puffer- Fall erhöht wird, so daß es einen Abruf in das gleiche
speicher 156 übertragen. Als nächstes wird dann die Pufferregister 156 anfordert, in welchem das erste InInstruktion
im Temporärpuffer Nummer 2 in den 25 struktionswort gespeichert wurde, dann wird die
Puffer 156 gebracht, so daß der Instruktionsabruf Adresse im Register 150 erhöht und so die nächstüber
den Verzweigungspfad von diesem Punkt an höhere Adresse bestimmt. Daher enthält das Register
wiederaufgenommen wird, indem das Instruktions- 147 insgesamt die Adresse des letzten Instruktionsregister 148, das Register 147 für die obere Adres- wortes, welches für einen Abruf bezeichnet wurde,
sengrenze und das Register 150 für die untere Adres- 30 Das I-Register 148 enthält die Adresse desjenigen Insengrenze
zurückgestellt wird. struktionswortes, welches decodiert wird. Das Re-
„. . , . . , T . , A. . , .. gister 150 schließlich enthält die Adresse des ältesten
Die Arbeitsweise der Instruktionseinheit Instruktionswortes, welches in dem Puffer 156 geblie-
Beim Betrieb der Instruktionseinheit wurde davon ben ist. Diese Operationen werden in dieser Reihenausgegangen,
daß anfänglich die Register 147 für die 35 folge fortgesetzt, bis ein Verzweigungspunkt erreicht
obere Adressengrenze 148 und 150 für die untere wird. Für eine Verzweigung, die eine ausreichend
Adressengrenze und auch alle Instruktionspuffer 156 kurze Schleife bildet, die in den bereits in den Puf-
und die temporären Register 157 frei von kennzeich- fern 156 gespeicherten Instruktionswörtern enthalten
nenden Werten sind. Die Adresse der Start-Instruk- ist, wie ein Vergleich der Adresse in 150 mit der
tion wird in die Register 147, 148 und 150 geladen. 40 Verzweigungsadresse, die in der laufenden Instruk-Der
Instruktionsabruf wird durch Anforderungen für tion angegeben ist, zeigt, wird die I-Einheit 134 in
Doppelwörter von den Adressen in dem Register 147 die Betriebsart »Schleifenbetrieb« umgeschaltet,
gestartet. Das Register 147 wird bei jedem Abruf Beim »Schleifenbetrieb« wird die Adresse im Reerhöht,
so daß es immer die Adresse des letzten an- gister 150 auf die Zieladresse der Verzweigung eingeforderten
Instruktionsabrufes enthält. Es fordert so 45 gestellt. Das Register 150 wird darm so lange stilllange Abrufe von Instruktionswörtern an, bis es den gesetzt, wie der »Schleifenbetrieb« in der I-Einheit
Adressen in dem I-Register 148 für insgesamt vier durchgeführt wird. Es ist aber auch möglich, diesen
Anfangswörter um drei Wortadressen voraus ist. »Schleifenbetriebszustand« der I-Einheit herzustellen,
Wenn das erste Wort zurückkommt, wird es in einen wenn das Ziel der Verzweigungsinstruktion nicht in
der Instruktionspuffer 156 und in das Operations- 50 den Instruktionspuffern 156 enthalten ist. Dieses ist
register 159 übertragen, wo die zwei niedrigstelligen aber nur möglich, wenn die Adresse weniger als 8
Bits des Registers 148, die beim Abruf keine Adres- volle Doppelwörter vor der Adresse der gegenwärtisenfunktion
besitzen, das Auslesen der Anfangs- gen Instruktion liegt. Nur in einer solchen Situation
Halbwortinstruktion von 16 Bits und deren Übertra- kann die gesamte Schleife in den Puffern 156 gespeigung
zu dem Operationsdecoder 166 und den All- 55 chert werden. Beim Erkennen einer solchen Schleife,
zweckregistern steuern. Sobald die erste Instruktion d. h., wenn die Verzweigungsadresse innerhalb von
entweder durch Ausführung in die I-Einheit oder 8 Doppelwörtern, bezogen auf die Adresse im Rexlurch
Übertragung zu einer anderen Einheit verarbei- gister 148, liegt, die jedoch zu dieser Zeit noch nicht
tet ist, wird die Adresse im I-Register 148 um die in den Puffern 156 enthalten ist, wird eine Initialisie-Länge
der letzten Instruktion erhöht. Diese Länge 60 rung der Instruktionseinheit gestartet. Hierbei wird,
wird in den ersten beiden Bits dieser Instruktion an- wie bereits beschrieben, die Verzweigungsadresse der
gezeigt, die nun auf den ersten Teil der nächsten In- Instruktion in die Register 147, 148 und 150 gespeistruktion
hinweist. Zu dieser Zeit werden die Halb- chert, um somit den Instruktionsabruf zu starten. Im
Wörter der Instruktion in dem Operationsregister »Schleifenbetriebszustand« bleibt das Register 150
159, welches verwendet wurde, ersetzt durch die ent- 65 unverändert bei der Startadresse. Im Register 147
sprechenden Halbwörter des nächsten Instruktions- wird eine Erhöhung ermöglicht, um somit die Puffer
wortes aus einem Instruktionspuffer 156. Daher ist in 156 mit den zukünftigen Instruktionen aufzufüllen,
dem Register 159 stets mindestens der Operations- sobald die notwendigen Maschinenzyklen entbehrt
11 12
werden können, nachdem die vier Zyklen, die für werden die im temporären Puffer 157 gespeicherten
den anfänglichen Instruktionsabruf benötigt werden, Instruktionen gelöscht oder, wenn sie vom Speicher
und nachdem derartige Operandenabrufe und andere noch nicht zurückgekehrt sind, in den Eingangstoren
Speicheroperationen, soweit sie Vorrang haben, be- der Puffer 197 blockiert. Wenn aber eine Verzweiachtet
wurden. 5 gungsbedingung auftritt, dann wird das im Tempo-
Bei jeder Art von »Schleifenbetrieb« ist die In- rärpuffer 157 mit der Nummer 1 gespeicherte Wort
struktionsschleife in den Instruktionen, die im Puffer in einen der Instruktionspuffer 156 und in das Ope-156
gespeichert sind, enthalten. Die Instruktions- rationsregister 159 für die Decodierung als neue Inschleife
wird decodiert und zur Ausführungseinheit struktionen übertragen. Die Speicheradresse dieses
133 übertragen, ohne daß die Notwendigkeit besteht, io Instruktionswortes wird in den Registern 147, 148
fortwährend Schleifeninstruktionen vom Speicher ab- und 150 untergebracht. Diese Adresse bestimmt, welzurufen.
Jede Verzweigungsinstruktion, die zu einer eher der Puffer 156 zur Speicherung des Instruktions-Instruktionsschleife
führt, ist eine Instruktion vom wortes ausgewählt wird. Das Instruktionswort in dem
Typ der bedingten Verzweigung, weil anderenfalls Temporärpuffer 157 Nummer 2 wird nun in das
die Maschine in einer endlosen Programmschleife 15 nächste angrenzende Pufferregister 156 übertragen
weiterarbeiten müßte. Der Betrieb der Instruktions- und der Inhalt des Registers 147 für die obere Adreseinheit
134 ist für alle bedingten Verzweigungs- sengrenze um 1 erhöht. Das Steuersignal wird dann
Instruktionen im wesentlichen der gleiche, wenn nicht zu der Inkrementierschaltung 151 zurückübertragen,
die Instruktion zu dem ersten Typ von »Schleifen- Dadurch wird die um 2 erhöhte Verzweigungsadresse
betrieb« führt, wo die Zielinstruktion sich bereits in 20 angegeben. Weitere Instruktionsabrufe erfolgen in
den Puffern 156 befindet. Die Instruktionseinheit 134 der zuerst beschriebenen Weise. (Ausgenommen ist
hat weder Schwierigkeiten mit einer unbedingten Ver- hierbei jedoch der Verzweigungspfad.)
zweigungsinstruktion noch mit einer bedingten Ver- Wenn aber die bedingte Verzweigung in eine In-
zweigungsinstruktion, in welcher die Bedingung für struktionsschleife einmündet, welche in den Instrukdie
Verzweigung vor der Decodierung der Instruk- 25 tionspuffern 156 enthalten sein kann, dann arbeitet
tion nach ihrer Übertragung in das Operationsregister die Instruktionseinheit 134 für die erste Iteration so,
159 eingetreten ist. Bei diesen unbedingten oder vor- wie bereits oben erläutert wurde. Zusätzlich wird sie
herbestimmten Verzweigungen wird die Adresse der in die »Schleifenbetriebsart« eingestellt, um damit so
Instruktion in die Register 147,148 und 150 gegeben, lange zu verhindern, daß das Register 150 einen Wert
sobald sie von der Addierschaltung 168 bestimmt 30 annimmt, welcher über der Zieladresse liegt, bis die
worden ist, und die Bedingung wird, wenn es sich Verzweigungsbedingung festgestellt wurde. Wenn der
um eine solche handelt, geprüft. Die Operation der Inhalt des Registers 150 schon über der Zieladresse
Instruktionseinheit 134 wird dann in der zuerst be- liegt und daher die erste Schleifeninstruktion aus den
schriebenen Weise fortgesetzt. Puffern 156 entnommen wurde, dann wird die InWenn
jedoch die Verzweigung von einer Bedin- 35 struktionseinheit ebenfalls in die »Schleifenbetriebsgung
abhängig ist, die zum Zeitpunkt der Instruk- art« eingestellt. Sie arbeitet dann wie bei jeder andetionsdecodierung
noch nicht bestimmt ist, dann muß ren Verzweigung, d. h., die Zielinstruktion wird in
die I-Einheit in einer Weise weiterarbeiten, welche den Temporärpuffer 157 mit der Nummer 1 gebracht,
die größte Chance hat, Zeitverlust zu vermeiden. Die Der weitere Ablauf ist dann der gleiche, wie er bereits
I-Einheit nimmt demzufolge an, daß die Bedingung 40 oben beschrieben wurde.
nicht eintritt, und fährt damit fort, die folgenden In- Solange die Instruktionseinheit 134 in der »Schlei-
struktionen zu decodieren und für die Ausführung zu fenbetriebsart« eingestellt bleibt, erfolgt kein zusätzübertragen.
Sie bereitet jedoch eine Bedingungs-Prüf- licher Instruktionsabruf vom Hauptspeicher 104,
schaltung zur Operation vor und aktiviert diese, wenn nachdem die Instruktionspuffer 156 mit 8 Wörtern
die Bedingung erfüllt ist. Danach pausiert sie genü- 45 gefüllt wurden, beginnend bei der Zieladresse der
gend lange, um zwei Speicherabrufe anzufordern, Verzweigung. Ein Abruf erfolgt erst wieder, nachdem
wobei sie bei der Zieladresse der Verzweigung be- die Verzweigungsbedingung am Verzweigungspunkt
ginnt. Diese zwei Instruktionswörter werden, wenn nicht mehr erfüllt wird oder sich die Zieladresse
sie zurückkehren, in den Temporärpuffern 157 mit ändert. Es wurde oben erwähnt, daß normalerweise
den Nummern 1 und 2 jeweils gespeichert, damit sie 50 angenommen wird, daß eine Verzweigung nicht
dann zur Verfügung stehen, wenn die Programmver- durchgeführt wird und daß die Instruktionseinheit
zweigung durchgeführt werden soll. Darüber hinaus nach der Verzweigungsinstruktion längs des Hauptwerden
die Instruktionen, die zu der Instruktionsein- pfades ausgibt. Ferner wurde angegeben, daß solche
heit 134 oder zu der Ausführungseinheit 133 übertra- Instruktionen mit Bedingungskennzeichen versehen
gen werden, nachdem eine bedingte Verzweigungs- 55 und so lange nicht ausgeführt werden sollen, bis die
Instruktion decodiert wurde, von einem Bedingungs- Verzweigungsbedingung festgestellt wurde. Im »Schleikennzeichen
begleitet, welches die Ausführung der fenbetrieb« jedoch wird die alternative Annahme geInstruktion
so lange verhindert, als es vorhanden ist, macht, daß z. B. die Verzweigung doch durchgeführt
weil die Instruktionseinheit sonst nicht erfährt, ob die wird und daß sich die konditionell ausgegebenen InVerzweigung
ausgeführt werden soll oder nicht. Wenn 60 struktionen in der Rückverzweigung zu der Schleife
die Bedingung, auf welcher die Verzweigung be- befinden. Sie bleiben jedoch noch mit den Bedinruht,
bestimmt ist, werden die mit dem Bedingungs- gungskennzeichen versehen und werden nicht eher
kennzeichen versehenen Instruktionen von diesem ausgeführt, bis die vorhergehende Bedingung bebefreit,
wenn die Bedingung nicht eingetreten ist. stimmt wurde. Wenn die Verzweigungsbedingung
Wenn dagegen die Bedingung eingetreten ist, werden 65 verschwindet, werden auch die zugehörigen bedingdie
mit dem Bedingungskennzeichen versehenen In- ten Instruktionen gelöscht. Die »Schleifenbetriebsart«
struktionen gelöscht und deshalb nicht ausgeführt. wird dann verlassen und neue Instruktionen längs
Wenn eine Verzweigungsbedingung nicht auftritt, des Hauptpfades ausgegeben. Das Register 150 für
13 14
die untere Adressengrenze beginnt wieder zu arbei- der Erzeugung der Adresse in der ersten Schleifenten,
und auch das Register 147 für die obere Adres- iteration dargelegt und erläutert wurde,
sengrenze beginnt sofort mit dem Abruf neuer In- Die Behandlung dieser Unstetigkeiten im Instruk-
struktionswörter, bis die normale Beziehung zwischen tionsstrom durch die Instruktionseinheit ist im weden
in den Registern 147,148 und ISO gespeicherten S sentlichen die Aufgabe der Erfindung. Beim norma-Werten
wiederhergestellt ist. len Betrieb fährt die Instruktionseinheit damit fort,
Es ist ferner auch möglich, die »Schleifenbetriebs- Instruktionswörter abzurufen und zu codieren, indem
art« zu verlassen oder zu einer anderen Schleife über- das Register 147, wie bereits ausführlich beschrieben,
zugehen, wenn einige Operationen durchgeführt wer- versucht, jeweils eine Adresse zu beinhalten, die
den, die sich aus einer Instruktion innerhalb der io bezüglich des Registers 148 drei Instruktionswörter
Schleife ergeben. Es wird daran erinnert, daß, wenn voraus ist, wobei sich dann etwa vier verwendete
die Maschine in den »Schleifenbetrieb« übergangen Wörter in den Pufferregistern 156 befinden. Dieser
ist, die Adresse des Verzweigungszieles in der Ad- normale Betrieb hält so lange an, bis eine Unstetigdierschaltung
168 dadurch erzeugt wird, daß die keit im Instruktionsstrom festgestellt wird. Eine solche
Werte aus mindestens einem Allzweckregister und 15 Unstetigkeit ist beispielsweise eine Verzweigungsder
Wert der Adressenverschiebung, der in der In- operation. Diese Verzweigungsoperationen können in
struktion spezifiziert und im Puffer 165 gespeichert vier Kategorien unterteilt werden, von denen jede
ist, aufsummiert werden. Wenn während der Bearbei- von der Instruktionseinheit unterschiedlich behandelt
tang einer Schleife eine Instruktion denjenigen Wert wird. Die Verzweigungen können folgendermaßen
verändert, welcher zur Erzeugung der Verzweigungs- ao gruppiert werden:
adresse wl einemder Allzweckregister gespeichert ist, χ unbedingte Verzweigungen (einschließlich bedann
ist die alte Adresse nicht langer guttig. In die- ^ γ^^^^ |ie zum Zeitpunkt der
sem Fall muß die Verzweigungsinstruktion wieder Decodierung bestimmt sind) zu einer Wortaufgefrischt
werden, damit die neue Verzweigungs- ad die s mehr ^ acht Wo'rtadressen zurück.
adresse bestimmt werden kann. Eine solche Wieder- 25 « ^
auffrischung der Verzweigungsadresse könnte bei 2>
eme'bedingte Verzweigung, die noch nicht bejeder
Iteration der Schleife geschehen. Es ist hierfür gtimmt. e zu einer wie 5 vo°stehend angegebenen
aber ein voller Maschinenzyklus notwendig, so daß Adresse
es vorgezogen wird zusätzliche Schaltungen in das 3_ &{m bedi verzweigung, welche zur Deco-System
einzufügen damit diese zusatzlichen Maschi- 30 dieruilgSZei? entweder schon bestimmt ist oder
nenzyklen vermieden werden können. Diese Schal- noch ^ zu einer Adr die weni ak
tungen umfassen das Register179, in welches die im acht Wortadressen zurückliegt, aber jenseits der
I-Register 148 gespeicherte Adresse übertragen wird, Adresse in dem Re^ster 150%6§ΐ und
wenn eine >>Schleifenbetnebsart«-Verzweigung ent- 4_ eine bedin Verzweigung, welche zur Decodeckt
wird. Ferner ist das Register 180 notwendig, 35 dierungszeit entweder bestimmt ist oder noch
welches die Zieladresse der Verzweigung empfangt ^ ^ einer Adre die z^sdbea der ^ Re_
wemdiesevonderA^ddierschaltungl68bereitgestellt gisterl50 und der im Register 148 gespeicherwird.
Daher enthalt das Register 179 die Adresse der £en Adresse iiegt
Instruktion, welche die Verzweigung einstellt. Das
Register 180 enthält die Zieladresse für die Verzwei- 40 Für eine bedingte oder eine unbedingte Verzweigung.
Wann immer in der »Schleifenbetriebsart« eine gung, für welche der Bedingungscode bereits einge-Verzweigungsinstruktion
entdeckt wird, dann wird stellt wurde (z.B. bestimmte Bits des Programmdie Einstellung des I-Registers 148 in der Vergleichs- Steuerwortes, welchesimPufferregister 1006 [F i g. 3 A]
schaltung 181 mit der Einstellung des Registers 179 gespeichert ist), wird durchgeführt zu einer Adresse
verglichen. Wenn sie gleichen Inhalt haben, dann 45 in einem Allzweckregister, in einer Ausführungseinwird
der Wert des Registers 180 in das Register 148 heit oder zu einer Adresse, welche durch die Addiübertragen,
wobei dann ein Maschinenzyklus gespart tion der in zwei Allzweckregistern gespeicherten
wird. Es wird ferner noch einmal erwähnt, daß die Adressen und eines 12 Bits umfassenden Verlage-Schleifeninstruktionen
nach der Verzweigung so lange rungswertes, welcher in der Verzweigungsinstruknicht
ausgeführt werden, bis die Verzweigungsbedin- 50 tion angegeben wird, bestimmt ist. In jedem Fall wird
gung auftritt. die Verzweigungsadresse in der Addierschaltung 168
Die Zieladresse in dem Register 180 kann bei der erzeugt. Die Daten in den Allzweckregistern werden
Vervollständigung der Iteration einer Schleife falsch über ständig angeschlossene Leitungen 334 (Fig. 3B)
sein, wenn eines der Allzweckregister seinen gespei- zu zwei Gruppen von Toren 1030 und 1032 in die
cherten Wert verändert hat, während es für die Er- 55 Instruktionseinheit übertragen. Wenn sie für eine Inzeugung
der Adresse im Register 180 verwendet struktion angefordert werden, erfolgt die Durchschalwurde.
Um diese Bedingung zu erkennen, speichert tung entweder über die Tore 1030 zur Sammelleitung
die I-Einheit 134 während der Schleifenbetriebsart 173 oder über die Tore 1032 zur Sammelleitung 174
auch die Nummern (oder Adressen) der Allzweck- oder über beide. Wenn die Instruktion auch noch
register, welche zur Erzeugung der Adresse im Re- 60 einen Verlagerungsfaktor, d. h. eine relative Adresse,
gister 180 verwendet wurden, und überwacht ferner enthält, dann wird dieser vorübergehend in einem
die Aktivität dieser Allzweckregister. Wenn eine Ver- Pufferspeicher 165 gespeichert und dann zusammen
änderung in einem dieser überwachten Allzweck- mit den Daten der Allzweckregister auf den Sammelregister
festgestellt wird, dann muß der im Register leitungen 173 und 174 übertragen, um somit die neue
gespeicherte Wert als ungünstig betrachtet wer- 65 Adresse am Ausgang der Addierschaltung 168 anzuden.
Daher wird die »Schleifenbetriebsart« abgeschal- geben.
tet und eine neue Verzweigungsadresse in der glei- Diese Adresse wird dann in das Arbeitsregister
chen Weise erzeugt, wie sie im Zusammenhang mit 177 und in das Temporärregister 176 übertragen. Die
Claims (4)
15 16
weitere Übertragung erfolgt dann auf der Sammel- tionell ausgegebenen Instruktionen löscht. Wenn die
leitung 1033, die auf die Sammelleitung 1008 geschal- Verzweigungsbedingung auftritt, wird die Verzweitet
wird. Damit erfolgt die Übertragung in die Regi- gungszieladresse, welche in den Temporärpuffern
ster 148,147,150 und 1002. Die nun vorliegende Be- 156 gespeichert ist, über die Addierschaltung 168
dingung ist dann die gleiche, wie sie anfänglich für 5 und die Sammelleitungen 1033 und 1008 zu den Reden
Start eines neuen Programms beschrieben wurde. gistern 1002, 150, 147 und 148 übertragen. Gleich-Die
weitere Operation der I-Einheit wird dann, wie zeitig mit der Übertragung der Instruktionswörter, die
oben beschrieben, von der Verzweigungsadresse aus sich in dem Temporärpuffer Nummer 1 befinden, auf
weitergeführt. die Sammelleitung 1001 erfolgt auch ihre Ubertra-
Wenn die Verzweigung auf eine Bedingung gefor- io gung sowohl zu dem Pufferspeicher 156 für ihre Spei-
dert wird, die noch nicht aufgetreten ist, was durch cheradresse als auch in das Operationsregister 159 zur
das Einstellen der CC-Bits im Puffer 1006 (F i g. 3 A) sofortigen Decodierung und zur Einleitung einer
für das Programmsteuerwort angezeigt wird, dann neuen Instruktionsfolge. Beim nächsten Zyklus wird
macht die Instruktionseinheit die anfängliche An- das nächste Instruktionswort, welches in dem Tempo-
nahme, daß die Verzweigung nicht durchgeführt wird. 15 rärpuffer Nummer 2 gespeichert ist, in den Pufferspei-
Sie fährt fort mit der Decodierung der übrigen Ope- eher 156 mit der nächsthöheren Nummer übertragen,
randen, die sich ebenfalls in den Pufferregistern 156 Für die zweite Übertragung des Instruktionswortes
befinden oder die mit Hilfe eines Abrufes angefordert wird das Register 147 für die untere Adressengrenze
wurden. auf die Adresse des zweiten abgerufenen Wortes in-
Dann werden keine neuen Instruktionen mehr be- ao krementiert. Danach wird es freigegeben, damit es
nötigt, um mit den Abrufen für diese Verzweigung weitere Instruktionswortabrufe entlang des Verzweivorzufahren.
Statt dessen jedoch ruft die Instruktions- gungspfades, wie bereits für den normalen Instrukeinheit
die ersten zwei Doppelinstruktionswörter auf tionswortabruf beschrieben wurde, einleiten kann,
dem Verzweigungspfad ab, damit sie zur Verfügung Dieses ist so zu verstehen, daß wenn die Bedingungsstehen, wenn festgestellt wird, daß diese Verzweigung 95 code-Bits des im Puffer 1066 gespeicherten Proder
richtige Weg der Weiterverarbeitung ist. Die grammsteuerwortes so eingestellt worden sind, daß
Adresse des Verzweigungszielregisters wird in der sie gültig sind, dann fährt die Instruktionseinheit 134
Addierschaltung 168 in der oben beschriebenen unverzüglich mit der Instruktionsdecodierung fort.
Weise erzeugt. Sie wird dann über die Sammelleitung Wenn die Verzweigungsbedingung noch nicht aufge-
1034 zu der Speicheradressensammelleitung 240 über- 30 treten ist, dann wird das Aktivierungssignal sofort
tragen und wird nun die Adresse der Abrufanforde- ausgesendet, irgendwelche Abrufe aus den Temporärrung,
die zu dieser Zeit von der Instruktionseinheit puffern 157 werden nicht ausgegeben und irgend-
134 ausgesendet wird. Die Abnehmeradresse für die- welche bereits ausgegebenen Abrufe ignoriert. Alle
sen Abruf wird durch den Inhalt des Temporärpuf- übrigen Steuerungen werden auf normale Bedingunfers
157 Nummer 1 angegeben. Beim nächsten Ma- 35 gen eingestellt. Wenn die Verzweigungsbedingung
schinenzyklus wird ein anderer Abruf mit der Adresse eintritt, dann wird das Löschsignal zu den Ausfühdes
nächstfolgenden Doppelwortes angefordert, wel- rungseinheiten übertragen und der Abruf im Tempoches
dadurch erzeugt wird, daß die über die Sammel- rärspeicher Nummer 1 direkt in die Pufferregister 156
leitung 1036 in das Register 177 zurückkehrende und das Operationsregister 159 übertragen, wenn er
Adresse zu einem Eingang der Addierschaltung 168 40 zurückkehrt. Die Abrufrückkehr für den Temporärübertragen
wird. Gleichzeitig wird ein + 1-Signal puffer Nummer 2 wird ebenfalls von der Speicherausüber
die Leitung 1037 in eine bestimmte Bitposition gangssammelleitung 155 in die Pufferregister 156
des Eingangs 169 der Addierschaltung übertragen. übertragen. Ferner werden die Register 148,147,150
Die neue Adresse wird daraufhin über die Sammel- und 1002 auf die Verzweigungszieladresse zurückgeleitung
1034 zu der Speichersteuerung 136 übertra- 45 stellt. Im bedingten Verzweigungsbetrieb werden also
gen und so gekennzeichnet, als käme sie aus dem die Verzweigungsbedingungs-Bits, sobald sie gültig
Temporärspeicher 157 Nummer 2 für die Speiche- gesetzt wurden, getestet, und die Instruktionseinheit
rung zurück. Die Instruktionseinheit 134 beginnt nun 134 fährt sogleich mit dem korrekten Verzweigungsmit
der Decodierung und Ausgabe der übrigen In- pfad fort, sobald dieses möglich ist.
struktionen, die bereits für das Pufferregister 156 ab- 50 Die genauen Steuervorgänge und erforderlichen gerufen sind und abgerufen werden. Wie bereits frü- Torschaltungen, Register, Vergleicher und Verbinher angegeben, enthält jede dieser Instruktionen ein dungswege sind schließlich in den Fig. 3A bis 3D Bedingungskennzeichen. Sie wird so lange nicht aus- dargestellt. Sie stellen im wesentlichen nur Ergänzungeführt, bis dieses Bedingungskennzeichen, ein beson- gen der F i g. 1 bis 2B dar und werden im vorstehenderes Bit, beseitigt wird. Wenn die Bits des Bedin- 55 den Teil der Beschreibung, soweit erforderlich, ergungscodes des im Puffer 1006 gespeicherten Pro- läutert,
grammsteuerwortes gültig gesetzt sind, nämlich dann,
wenn die Bedingung der Verzweigungsinstruktion
struktionen, die bereits für das Pufferregister 156 ab- 50 Die genauen Steuervorgänge und erforderlichen gerufen sind und abgerufen werden. Wie bereits frü- Torschaltungen, Register, Vergleicher und Verbinher angegeben, enthält jede dieser Instruktionen ein dungswege sind schließlich in den Fig. 3A bis 3D Bedingungskennzeichen. Sie wird so lange nicht aus- dargestellt. Sie stellen im wesentlichen nur Ergänzungeführt, bis dieses Bedingungskennzeichen, ein beson- gen der F i g. 1 bis 2B dar und werden im vorstehenderes Bit, beseitigt wird. Wenn die Bits des Bedin- 55 den Teil der Beschreibung, soweit erforderlich, ergungscodes des im Puffer 1006 gespeicherten Pro- läutert,
grammsteuerwortes gültig gesetzt sind, nämlich dann,
wenn die Bedingung der Verzweigungsinstruktion
noch nicht vorliegt, dann werden die konditioneil aus- Patentansprüche:
gegebenen Instruktionen ausgeführt, und die Instruk- 60
tionseinheit 134 sendet weiter ein Aktivierungssignal, 1. Befehlssteuereinheit zur Behandlung bedingweiches
alle Bits des Bedingungskennzeichens auf ter Verzweigungsbefehle, dadurch gekenn-NuIl
setzt und dadurch die Ausführung der bereits zeichnet, daß die Verzweigungsziel-Befehle
decodierten Instruktionen ermöglicht. Wenn anderer- in Pufferregistern (156, 157 in Fig. 2A) zwiseits
die Verzweigungsbedingung durch den gültigen 65 schengespeichert sind, bevor feststeht, ob auf
Verzweigungscode vorliegt, dann sendet die Instruk- Grund des Vorliegens der Verzweigungsbedintionseinheit
134 an alle Ausführungseinheiten ein gung verzweigt werden kann oder nicht, und daß
Löschsignal, welches das volle Signal für die kondi- ferner parallel zu den Pufferspeichern ein Neben-
übertragungsweg (2000) vorgesehen ist, über welchen die Verzweigungsziel-Befehle vom Speicher
unter Umgehung der Puffer direkt zu dem Operationsregister
(159) übertragen werden, wenn die Verzweigung durchgeführt werden soll, bevor ein
Speicherzugriff vollständig durchgeführt ist.
2. Befehlssteuereinheit nach Anspruch 1, dadurch gekennzeichnet, daß bei der Decodierung
einer bedingten Verzweigungsinstruktion, deren Bedingung noch nicht erfüllt ist, eine Steuerung
eingestellt wird, welche die ersten Befehle der Verzweigung in Sonderpuffern (157 in Fig. 2A)
speichert, die übrigen vom Vorabruf in den Puffern (156) befindlichen Befehle decodiert und mit
Bedingungskennzeichen (Gültigmachen der CC-Bits im Puffer 1006 in Fig. 3 A) versieht, welche
die Ausführung der Befehle verhindern.
3. Befehlssteuereinheit nach Anspruch 2, dadurch gekennzeichnet, daß die Befehlssteuereinheit
mittels eines Aktivierungssignals (bei gültigen CC-Bits) das Bedingungskennzeichen entfernt,
wenn die Verzweigung nicht ausgeführt wird.
4. Befehlssteuereinheit nach Anspruch 2, dadurch gekennzeichnet, daß die Befehlssteuereinheit
bei Feststellen der Bedingung die konditioneil ausgegebenen Befehle löscht und den im ersten
Sonderpuffer (Nr. 1, 157 in Fig. 2A) befindlichen Wert zum Decoder (166) für die Ausführung
und in einen der Puffer (156) überträgt, den nächsten Befehl aus dem Sonderpuffer (Nr. 2,
157) in den Puffer (156) einspeichert und den Befehlsvorabruf über den Verzweigungspfad wiederaufnimmt.
Hierzu 3 Blatt Zeichnungen
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US58105266A | 1966-09-21 | 1966-09-21 | |
US580910A US3418638A (en) | 1966-09-21 | 1966-09-21 | Instruction processing unit for program branches |
Publications (1)
Publication Number | Publication Date |
---|---|
DE1299146B true DE1299146B (de) | 1969-07-10 |
Family
ID=27078163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DEJ34247A Withdrawn DE1299146B (de) | 1966-09-21 | 1967-07-26 | Befehlssteuereinheit |
Country Status (4)
Country | Link |
---|---|
US (2) | US3490005A (de) |
DE (1) | DE1299146B (de) |
FR (1) | FR1536616A (de) |
GB (1) | GB1130270A (de) |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3626427A (en) * | 1967-01-13 | 1971-12-07 | Ibm | Large-scale data processing system |
US3526878A (en) * | 1967-03-27 | 1970-09-01 | Burroughs Corp | Digital computer system |
US3512133A (en) * | 1967-03-27 | 1970-05-12 | Burroughs Corp | Digital data transmission system having means for automatically switching the status of input-output control units |
SE303056B (de) * | 1967-08-31 | 1968-08-12 | Ericsson Telefon Ab L M | |
US3577190A (en) * | 1968-06-26 | 1971-05-04 | Ibm | Apparatus in a digital computer for allowing the skipping of predetermined instructions in a sequence of instructions, in response to the occurrence of certain conditions |
US3568163A (en) * | 1968-10-07 | 1971-03-02 | Hewlett Packard Co | Incremental display circuit |
JPS5021821B1 (de) * | 1968-10-31 | 1975-07-25 | ||
US3577189A (en) * | 1969-01-15 | 1971-05-04 | Ibm | Apparatus and method in a digital computer for allowing improved program branching with branch anticipation reduction of the number of branches, and reduction of branch delays |
US3959777A (en) * | 1972-07-17 | 1976-05-25 | International Business Machines Corporation | Data processor for pattern recognition and the like |
JPS545942B2 (de) * | 1972-10-07 | 1979-03-23 | ||
JPS5413949B2 (de) * | 1973-05-14 | 1979-06-04 | ||
US3974479A (en) * | 1973-05-01 | 1976-08-10 | Digital Equipment Corporation | Memory for use in a computer system in which memories have diverse retrieval characteristics |
US3810110A (en) * | 1973-05-01 | 1974-05-07 | Digital Equipment Corp | Computer system overlap of memory operation |
US3881173A (en) * | 1973-05-14 | 1975-04-29 | Amdahl Corp | Condition code determination and data processing |
JPS50114944A (de) * | 1974-02-18 | 1975-09-09 | ||
USRE31790E (en) * | 1974-03-13 | 1985-01-01 | Sperry Corporation | Shared processor data entry system |
DE2617485C3 (de) * | 1976-04-22 | 1980-09-18 | Nixdorf Computer Ag, 4790 Paderborn | Schaltungsanordnung für Datenverarbeitungsanlagen zur Abarbeitung von Mikrobefehlsfolgen |
SE403322B (sv) * | 1977-02-28 | 1978-08-07 | Ellemtel Utvecklings Ab | Anordning i en styrdator for forkortning av exekveringstiden for instruktioner vid indirekt adressering av ett dataminne |
US4179737A (en) * | 1977-12-23 | 1979-12-18 | Burroughs Corporation | Means and methods for providing greater speed and flexibility of microinstruction sequencing |
US4200927A (en) * | 1978-01-03 | 1980-04-29 | International Business Machines Corporation | Multi-instruction stream branch processing mechanism |
US4287561A (en) * | 1978-03-16 | 1981-09-01 | International Business Machines Corporation | Address formulation interlock mechanism |
US4181942A (en) * | 1978-03-31 | 1980-01-01 | International Business Machines Corporation | Program branching method and apparatus |
JPS5927935B2 (ja) * | 1980-02-29 | 1984-07-09 | 株式会社日立製作所 | 情報処理装置 |
US4325118A (en) | 1980-03-03 | 1982-04-13 | Western Digital Corporation | Instruction fetch circuitry for computers |
JPS56149646A (en) * | 1980-04-21 | 1981-11-19 | Toshiba Corp | Operation controller |
US4373180A (en) * | 1980-07-09 | 1983-02-08 | Sperry Corporation | Microprogrammed control system capable of pipelining even when executing a conditional branch instruction |
US4471432A (en) * | 1982-10-13 | 1984-09-11 | Wilhite John E | Method and apparatus for initiating the execution of instructions using a central pipeline execution unit |
DE3626500A1 (de) * | 1986-08-05 | 1988-02-18 | Siemens Ag | Verfahren und anordnung zur steuerung des vorauslesens von neuen befehlen einer befehlsfolge in den befehlspuffer einer datenverarbeitungsanlage |
US4933837A (en) * | 1986-12-01 | 1990-06-12 | Advanced Micro Devices, Inc. | Methods and apparatus for optimizing instruction processing in computer systems employing a combination of instruction cache and high speed consecutive transfer memories |
US5197136A (en) * | 1987-11-12 | 1993-03-23 | Matsushita Electric Industrial Co., Ltd. | Processing system for branch instruction |
EP0315995B1 (de) * | 1987-11-12 | 1999-01-27 | Matsushita Electric Industrial Co., Ltd. | Verarbeitungssystem für Verzweigungsbefehle |
US4914579A (en) * | 1988-02-17 | 1990-04-03 | International Business Machines Corporation | Apparatus for branch prediction for computer instructions |
JPH02306341A (ja) * | 1989-02-03 | 1990-12-19 | Nec Corp | マイクロプロセッサ |
JP3804941B2 (ja) * | 2002-06-28 | 2006-08-02 | 富士通株式会社 | 命令フェッチ制御装置 |
US7539853B2 (en) | 2002-11-18 | 2009-05-26 | Arm Limited | Handling interrupts in data processing of data in which only a portion of a function has been processed |
US9158574B2 (en) | 2002-11-18 | 2015-10-13 | Arm Limited | Handling interrupts in data processing |
DE10254653B4 (de) * | 2002-11-22 | 2009-05-28 | Infineon Technologies Ag | Vorrichtung zur Steuerung der Verarbeitung von Datenwörtern eines Datenstroms |
US8650470B2 (en) * | 2003-03-20 | 2014-02-11 | Arm Limited | Error recovery within integrated circuit |
US7636810B2 (en) * | 2003-11-26 | 2009-12-22 | Intel Corporation | Method, system, and apparatus for memory compression with flexible in-memory cache |
JP2006243865A (ja) * | 2005-03-01 | 2006-09-14 | Seiko Epson Corp | プロセッサおよび情報処理方法 |
US8190830B2 (en) * | 2005-12-23 | 2012-05-29 | Intel Corporation | Method, apparatus, and systems to support execution pipelining in a memory controller |
US9940129B2 (en) * | 2015-04-24 | 2018-04-10 | Optimum Semiconductor Technologies, Inc. | Computer processor with register direct branches and employing an instruction preload structure |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2202969A (en) * | 1938-08-13 | 1940-06-04 | Sklarek Clifford | Convertible light |
GB888732A (de) * | 1959-12-30 | |||
US3201760A (en) * | 1960-02-17 | 1965-08-17 | Honeywell Inc | Information handling apparatus |
NL262931A (de) * | 1960-03-29 | |||
US3156897A (en) * | 1960-12-01 | 1964-11-10 | Ibm | Data processing system with look ahead feature |
NL298451A (de) * | 1962-10-01 | |||
US3307150A (en) * | 1962-11-16 | 1967-02-28 | Stromberg Carlson Corp | Queue store |
US3290648A (en) * | 1963-01-02 | 1966-12-06 | Bunker Ramo | Comparator |
US3292155A (en) * | 1963-03-15 | 1966-12-13 | Burroughs Corp | Computer branch command |
US3325788A (en) * | 1964-12-21 | 1967-06-13 | Ibm | Extrinsically variable microprogram controls |
DE1269392B (de) * | 1965-04-05 | 1968-05-30 | Ibm | Einrichtung zur Division von Dezimalziffern |
-
0
- FR FR1536616D patent/FR1536616A/fr active Active
-
1966
- 1966-09-21 US US581052A patent/US3490005A/en not_active Expired - Lifetime
- 1966-09-21 US US580910A patent/US3418638A/en not_active Expired - Lifetime
-
1967
- 1967-07-26 DE DEJ34247A patent/DE1299146B/de not_active Withdrawn
- 1967-08-17 GB GB37922/67A patent/GB1130270A/en not_active Expired
Non-Patent Citations (1)
Title |
---|
None * |
Also Published As
Publication number | Publication date |
---|---|
US3418638A (en) | 1968-12-24 |
FR1536616A (fr) | |
GB1130270A (en) | 1968-10-16 |
US3490005A (en) | 1970-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE1299146B (de) | Befehlssteuereinheit | |
DE3424962C2 (de) | ||
DE69534113T2 (de) | Kompression der Befehlswörter eines Rechners | |
DE69929936T2 (de) | Verfahren und Vorrichtung zum Abrufen von nicht-angrenzenden Befehlen in einem Datenverarbeitungssystem | |
DE3750935T2 (de) | Verfahren und System zum Erleichtern der Befehlsausführung in einem digitalen Rechner. | |
DE69622663T2 (de) | Zweistufige vorausholungspufferstruktur und verfahren mit bypass | |
DE2855106C2 (de) | Einrichtung zur Durchführung von bedingten Verzweigungen | |
DE3638572C2 (de) | ||
DE69738188T2 (de) | Verfahren und apparat für eine erhöhte genauigkeit bei der verzweigungsvorhersage in einem superskalaren mirkroprozessor | |
DE2130299C3 (de) | Eingabe-/Ausgabekanal für eine Datenverarbeitungsanlage | |
DE3685913T2 (de) | Vektorenverarbeitung. | |
DE2234867C2 (de) | Anordnung in einer Datenverarbeitungsanlage zum Steuern der Verarbeitung zweier voneinander unabhängiger Befehlsfolgen | |
DE69702350T2 (de) | Verzweigungsvorhersageschema für cachespeicherzeile, das von sätzen eines set-assoziativen cachespeichers gemeinsam verwendet wird | |
DE1285220C2 (de) | Datenverarbeitungssystem mit mehreren selbstaendigen Recheneinheiten | |
DE3789490T2 (de) | Steuerungssystem für ein Vektorprozessor. | |
DE3131341A1 (de) | "pufferspeicherorganisation" | |
DE1499200B2 (de) | Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung | |
DE2829668A1 (de) | Kanaldatenpufferspeicher | |
DE2719295A1 (de) | Programmsteuerung | |
DE2339636A1 (de) | Programmsteuereinrichtung | |
DE2935906A1 (de) | Mikrokomputer | |
DE1499206C3 (de) | Rechenanlage | |
DE69616718T4 (de) | Vorrichtung und verfahren zur bestimmung von adressen fehlausgerichteter daten | |
DE3043653A1 (de) | Datenverarbeitungsanlage | |
DE2454613C2 (de) | Kanaleinheit für die Steuerung der Datenübertragung auf einer Vielzahl von Kanälen zwischen den peripheren Einrichtungen und dem Hauptspeicher einer digitalen Datenverarbeitungsanlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EHJ | Ceased/non-payment of the annual fee |