DE2612059A1 - Verfahren und vorrichtung zum befehlsabruf und zur befehlsausfuehrung in einem universalrechner - Google Patents
Verfahren und vorrichtung zum befehlsabruf und zur befehlsausfuehrung in einem universalrechnerInfo
- Publication number
- DE2612059A1 DE2612059A1 DE19762612059 DE2612059A DE2612059A1 DE 2612059 A1 DE2612059 A1 DE 2612059A1 DE 19762612059 DE19762612059 DE 19762612059 DE 2612059 A DE2612059 A DE 2612059A DE 2612059 A1 DE2612059 A1 DE 2612059A1
- Authority
- DE
- Germany
- Prior art keywords
- register
- command
- address
- instruction
- bits
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
Description
52O2573 Ge 22. März 1976
HONEYWELL INFORMATION SYSTEMS INC.
200 Smith Street
Waltham, Mass./ USA
Waltham, Mass./ USA
Verfahren und Vorrichtung zum Befehlsabruf und zur Befehlsausführung
in einem Universalrechner.
Die Erfindung betrifft ein Verfahren zum Befehlsabruf und zur Befehlsausführung in einem Universalrechner sowie eine Vorrichtung
zur Durchführung dieses Verfahrens. Die Erfindung befaßt sich insbesondere mit einer Vorgriffseinrichtung bei einem
Befehlsabruf bzw. einer Befehlsausführung.
Im Stand der Technik sind zahlreiche Computersysteme bekannt geworden, die mit einem Befehl-Vorausabruf, einer Befehlr
Überlappung, einer Befehl-Simultanbearbeitung oder einer Befehl-Flißbandbearbeitung
ausgestattet sind. So zeigt beispielsweise die US-PS 3 254 329 eine Einrichtung, die es gestattet, mehrere
- verschiedene Schritte, die mehreren verschiedenen Befehlen zugeordnet
sind, gleichzeitig auszuführen. In diesem speziellen System sind wenigstens zwei voreilende Befehlsregister, mehrere
adressierbare Akkumulatorregister und eine arithmetische Recheneinheit vorgesehen. Das Befehlsformat enthält eine Signaladresse
eines adressierbaren Akkumulatorregisters', welches seinerseits
einen Operanden enthält, der durch die arithmetische Recheneinheit zu verarbeiten ist{und das Befehlsformat enthält ferner die
Adresse des Akkumulatorregisters, welches für die Speicherung
des Rechenergebnisses vorgesehen ist. Zusätzliche Bits des Befehls zeigen die Adresse eines zu verarbeitenden Operanden im
609842/0887
Hauptspeicher an, bzw. kennzeichnen eine Adresse auf die die Steuerung übergehen soll. Weitere zusätzliche Bits stellen die
Adresse eines anderen adressierbaren Registers dar, welches einen Wert speichert/ der zur Modifizierung der Hauptspeicheradresse
des durch den Befehl zu verarbeitenden Operanden benutzt wird. Bei dieser Einrichtung wird während der Entschlüsselung
des dem auszuführenden Befehl zugeordneten Operanden der
Inhalt des Programmzählers der arithmetischen Recheneinheit zwecks Erhöhung seines Zählstandes um 1 zugeführt. Dieser Adressenausgang
wird decodiert und beim nächsten Befehl entnommen und in einem der beiden Register abgelegt. Im gleichen Unter-Taktzyklus-
aber während verschiedener Zeitperioden-addiert die arithmetische Recheneinheit die Operandenadresse des auszuführenden
Befehls zu dem Inhalt des adressierbaren Akkumulatorregisters ,um den Operanden vom Hauptspeicher zu erhalten. Wenn
die vorgenannten Operationen vervollständigt sind, ist der auszuführende modifizierte Befehl' in dem zweiten Befehlsregister
gespeichert, und es wird der folgende Befehl entschlüsselt und
in dem ersten Speicherregister gespeichert. Darauffolgend wird in der gleichen Weise eine neuer Befehl nach der Erhöhung des
Programmzählers entschlüsselt und in dem ersten Befehlsregister gespeichert, wenn der vorangegangene Befehl in das zweite Befehlsspeicherregister
übertragen worden ist und der auszuführende
Befehl nahezu vollständig bearbeitet ist. Auf diese Weise kann die Entschlüsselung von anderen Befehlen und ihre Verarbeitung
während der Ausführung eines vorangegangenen Befehles auftreten. In der zuvor erwähnten Patentschrift sind ferner Einrichtungen
zum Vergleich der Adresse des gespeicherten Ergebnisses mit den Adressen der Operanden der beiden in den Speicherregistern gespeicherten
Befehle beschrieben, die der Feststellung dienen, ob die zuvor erwähnte Überlappungsoperation ohne Unterbrechung
fortgesetzt werden soll oder nicht. Wenn der Vergleich Übereinstimmung hinsichtlich der Adressen des Ergebnisses und irgendeiner
der Operandenadressen in den nächsten beiden Befehlen ergibt, so wird die Überlappungsoperation modifiziert. Wenn das
Ergebnis mit der Adresse des adressierbaren Akkumulatorregisters
übereinstimmt, so wird die Überlappungsoperation nicht modifiziert
609842/0887
~3~ '/612059
und es werden die errechneten Ergebnisse direkt zurück zu der arithmetischen Recheneinheit zwecks weiterer Verarbeitung übertragen.
Der erwähnte Stand der Technik beschreibt eine Überlappungsoperation, wobei ein Befehlabruf eines nachfolgenden Befehles
der vollständigen Ausführung eines zuvor entschlüsselten Befehles vorausgeht. Die Adresse des Befehles, die den Inhalt des
adressierbaren Akkumulatorregisters bestimmt, das seinerseits einen Operanden für die Verarbeitung durch die arithmetische
Recheneinheit speichert, wird bis zu dem Zeitpunkt in dem Register gespeichert, bis zu dem die arithmetische Recheneinheit
ein Ergebnis basierend auf diesem Befehl errechnet hat, wobei dieses Ergebnis mit irgendeiner der Operandenadressen der
nächsten beiden Befehle vergleichen wird. Obwohl die Befehle für den Prozessor nach Beendigung des gerade ausgeführten Befehls
sofort verfügbar sind, kann dennoch ein Zeitverlust bei der Befehlsausführung auftreten, aufgrund der Tatsache, daß eine arithmetische
Recheneinheit eine arithmetische Operation in Übereinstimmung mit einem aus dem Hauptspeicher entnommenen Befehl ausführen
kann, während der nächste verfügbare ebenfalls aus dem Hauptspeicher entnommene Befehl untätig bleibt, obwohl er eine
arithmetische Operation nicht erfordert. Durch die US-PS 3 202 969 wird diesem Problem des Zeitverlustes Rechnung getragen.
Das dort beschriebene System sieht eine Entnahme und Entschlüsselung eines Befehls aus dem Speicfter vor, wobei die Befehlsausführung
bereits ausgelöst wird, während die arithmetische Operation eines gerade bearbeiteten Befehls stattfindet.
In dem Aufsatz "System Design of a Small Fast Digital Computer",
IEEE, Dezember 1963 ist ein weiteres System beschrieben, welches
eine voreilende Steuerung bzw. eine Vorgriff einrichtung zur Verarbeitung
mehr als eines Befehles zu jedem Zeitpunkt beschreibt. Das System umfaßt eine Steuereinheit, die eine Befehlssteuerung
zum Abruf von Befehlen aus einem Speicher vorzeitig vor ihrer Ausführung aufweist; und es umfaßt ferner eine Operandensteuerung,
die die Adressen von Operanden modifiziert und die Operanden abrufend
es umfaßt schließlich eine arithmetische Steuerung, die
60 984 2/0887
26 1 /»U h 9
die Funktion ausführt, die durch die Befehle hinsichtlich der Operanden vorgegeben ist.
Ein weiteres bekanntes System ist in der US-PS 3 162 841 beschrieben.
Bei diesem bekannten System sind Speicherregister zur Speicherung von Befehlsadressen und Operandenpegeln vor ihrer
Verarbeitung vorgesehen und ein voreilender Addierer errechnet die Adresse des nächsten Befehles, so daß für den Fall,daß ein
in einem der Vorgriff-Register enthaltener Befehl zur Ausführung in die arithmetische Einheit übertragen wird, die Befehlsadresse
in einem zugeordneten Vorgriff-Befehlszähler, der die
Adresse des nächsten Befehles repräsentiert, in einen Befehlszählerpuffer übertragen wird, wobei der Puffer die Adresse des
nächsten auszuführenden Befehles während der Ausführung eines gegebenen Befehles enthält.
Ein Computersystem, das von einer Fließbandverarbeitung Gebrauch
macht, ist dem Aufsatz: "The IBM System/360 Model 91: Machine Philosphoy and Instruction Handling" IBM Journal, Januar 1967,
Seiten 8-24 entnehmbar. Dieser Artikel erläutert die grundlegenden Organisationsprinzipien eines Computersystems mit
hoher Leistung, die durch einen Simultanbetrieb und die Überlagerung getrennter Befehlsfunktionen in größtmöglichem Rahmen
erzielt wird. Ein Diagramm auf Seite 9 dieser Veröffentlichung veranschaulicht die gleichzeitige Berücksichtigung aufeinanderfolgender
Befehle. Es ist erkennbar, daß auf einen zweiten Befehl Zugriff genommen werden kann, bevor ein erster Befehl
decodiert ist und die Operandenadresse bestimmt bzw. der Operand abgerufen ist. Durch diese Fließband-Verarbeitungstechnik kann
die interne Rechenleistung eines Computers gegenüber einer konventionellen Verarbeitung um eins bis zwei Größenordnungen gesteigert
werden. Diese Verarbeitungstechnik weist jedoch aufgrund der Tatsache, daß ein einfacher Nachrichtenaustausch
zwischen benachbarten Flißbandstationen nur in unzulänglicher Weise möglich ist, gewisse Nachteile bei einer Listenverarbeitungf
sowie bei Verzweigungen und Unterbrechungen auf. Da es sich herausgestellt hat, daß ungefähr 33% aller ausgeführten Befehle
609842/088 7
Verzweigungsbefehle sind, ist die Leistung dieses bekannten Computersystems nicht in jeder Hinsicht als zufriedenstellend zu
bezeichnen.
Es ist die Aufgabe der vorliegenden Erfindung eine Befehlabruf-
und Befehlausführungseinrichtung einer Zentraleinheit so auszubilden/ daß aufgrund einer verbesserten Vorgriffstechnik der
Informationsaustausch zwischen dem letzten Schritt eines Befehles und dem ersten Schritt eines anderen Befehles verbessert
wird. Die Lösung dieser Aufgabe gelingt gemäß der im Anspruch 1 gekennzeichneten Erfindung. Weitere vorteilhafte Ausgestaltungen
der Erfindung sind den Unteransprüchen entnehmbar.
Der verbesserte Befehl-Vorgriffsmechanismus gemäß der Erfindung erlaubt den Beginn der Bearbeitung des nächsten auszuführenden
Software-Befehles während des letzten Schrittes des gerade bearbeiteten Software-Befehles. Gleichzeitig mit diesem letzten
Schritt beendest der erste Schritt des nächsten auszuführenden Software-Befehles den gerade bearbeiteten Befehl. Der gerade
bearbeitete Software-Befehl erfordert somit keinen zusätzlichen Taktzyklus zu seiner Beendigung, da dieser Zyklus zur Auslösung
der Verarbeitung des nächsten Software-Befehles benutzt wird. Da die Verarbeitung des nächsten auszuführenden Software-Befehles
einen Taktzyklus vor dem Ende des gerade bearbeiteten Software-Befehles beginnt und da während dieses gleichen Taktzyklus
der nächste auszuführende Befehl die Schritte zur Beendigung des gerade bearbeiteten Software-Befehles unternimmt, können
zwei Taktzyklen eingespart werden. Diese Technik ist besonders vorteilhaft bei Verzwexgungsoperatxonen, wo der nächste auszuführende
Befehl noch nicht in dem Befehl-Vorgriffsregister stehen kann.
Anhand eines in den Figuren der beiliegenden Zeichnung dargestellten
Ausführungsbeispieles wird die Erfindung im folgenden näher erläutert. Es zeigen:
609 8 4 2/0887
-6- 26 IX(IbFl
Figur 1 ein schematisches Blockdiagramm eines von der Erfindung
Gebrauch machenden Computersystemes; Figuren 2a bis 2L Datenstrukturdiagramme von verschiedenen
von der Erfindung benutzten Registern; Figuren 2N und 2M das Format eines typischen Von der Erfindung
benutzten Befehles;
Figur 3 ein Blockdiagramm eines Prozessors gemäß der Erfindung ;
Figur 4 ein Taktdiagramm für die herkömmliche Methode eines Befehlsabrufes und
Figur 5 ein Taktdiagramm eines Befehlsabrufes und einer Befehlsausführung
gemäß der Erfindung.
Gemäß Figur 1 ist ein typisches von der Erfindung Gebrauch machendes Comutersystem dargestellt. Dieses System weist eine
Systemschnittstelleneinheit SIU 100 auf, die ihrerseits eine Prioritätsunterbrechungs- und Zuteileranordnung 101 und 102 enthält.
Die Syst^emschnittstelleneinheit 100 erzeugt die Verbindung zwischen den Elementen des Datenverarbeitungssystems. Zwecks Zugriff
zu internen oder externen Speichern 121, 122 bzw. 122a und 123 durch aktive Prozessormodule 103 - 106, ein !Configurations Wartungsfeld
124 usw. sieht die Schnittstelleneinheit 100 eine direkte Adressierung von Hochgeschwindigkeits- und Niedriggeschwindigkeitsmultiplexern
107, 112 und 113 und von Steueradaptern 108, 109, 134 und 135 durch die Prozessoren 1o3-106
vor. Die Unterbrechungsanordnung 101 und die Verteileranordnung
102 steuern die Unterbrechungsprozedur und führen die Prozessorzuteilung in der geforderten Weise aus. Jeder Prozessor IOP/P
103-106 weist typischerweise 16 Register 130-133 für jeden einem Prozess zugeordneten Prioritätsrang auf oder es sind insgesamt
128 Register pro Prozessor vorgesehen, die 128 Worte speichern können. Die Register 130-133 werden in der nachfolgenden Beschreibung
als Zwischenspeicher bezeichnet und weiter unten näher beschrieben. Jeder Prozessor IOP/P stellt einen Mehrzweck-Rechenprozessor
dar mit einer herkömmlichen Ausrüstung von Register-Register-, Register-Speicher-, Sofort-^, Verzweigung^, Bitfeld-
und Verschiebebefehlen. Diese Prozessoren können als Eingang/
fi 0 Si HA 2 / 0 S 8 7
Ausgang-Prozessoren (IOP) benutzt werden, deren Funktionen die
Einleitung und Beendigung von Ein/Ausgang-Befehlsfolgen, das Abrufen, das überprüfen und das Übersetzen von Kanalprogrammen
umfassen und die eine direkte Steuerung von peripheren Geräten mit niedriger Geschwindigkeit, wie beispielsweise von Aufzeichnungseinheiten
und Datenübermittlungseinheiten ermöglichen. Die Prozessoren 103-106 sind über Anschlüsse H, G, F und E mit der
Schnittstelleneinheit 100 verbunden und stehen mit dieser im Nachrichtenaustausch. Der interne Speicher 121, 122 und die Prozessoren
103-106 sind an die Schnittstelleneinheit SIU 100 über Anschlüsse LM und LM.. bzw. H-E angeschlossen. Jeder der internen
Speicher 121- 122 ist als Lese/Schreibspeicher 136, 137 organisiert und enthält zusätzlich eine Festwertspeicher ROM-138,
139 mit einem wahlfreien Pufferspeicher 140, 141. Die Datenbreite der Anschlüsse LMQ bzw. LM.. beträgt 36 Bitplus 4 Bit für eine
Paritätsprüfung. Die Größe des internen Speichers beträgt typischerweise 256K oder 512K Bits, wobei die Größe K 1024 Bytes
entspricht. Die externen Speicheradapter 122a, 123 werden benutzt, wenn die Schnittstelleneinheit SIU 1oo mit ihren Prozes- ·
soren und peripheren Geräten Teil eines größeren Mehrzweck-Computer systems bildet. Die externen Speicheradapter (REMA)
bilden sodann eine Einrichtung zum Auswechseln der Steuerung und der Datenübertragung zwischen den Prozessoren 103-106 und den
externen Speichern 122b und 123b eines anderen Mehrzweck-Computer systerns, das mit Med 6 bezeichnet ist. Bis zu zwei
Anschlüsse 0C1 β und Jf1 <T sind für jeden der externen Speicheradapter
(REMA) 122a, 123 vorgesehen, wobei jeder Anschluß einen
40 Bit-Datenweg als Ein- und Ausgang zwischen dem dargestellten Computersystem und einem großen nicht dargestellten Computersystem
besitzt. Die externen Speicheradapter 122a, 123 sind über Anschlüsse RMQ und RM. an die Schnittstelleneinheit SIU 100 angeschlossen.
Es sei hier drauf verwiesen, daß primäre und sekundäre Steuerblöcke, die weiter unten näher beschrieben werden, in
den externen Speichern 122b, 123b und in den internen Speichern
121, 122 gespeichert sind.
6098A2/0887
" 8 " 261/!!h9
Ein Hochgeschwindigkeitsmultiplexer 107 erzeugt eine direkte Steuerung der Datenübertragung zwischen peripheren Geräten mit
hoher Geschwindigkeit, z.B. der Platteneinheit 110 und der Bandeinheit
111 und dem internen Speicher 121, 122. Der Hochgeschwindigkeitsmultiplexer
107 bildet eine Schnittstelle zwischen dem Anschi J2 A der Schnittstelleneinheit SIU 100 und den peripheren
Geräten. Jeder Niedriggeschwindigkeitsmultiplexer 112, 113 gestattet die direkte Steuerung eines Gerätes mit niedriger Geschwindigkeit
durch einen Prozessor 103-106, wobei solche peripheren Geräte beispielsweise in Form von Kartenstanzern118,
Druckern 119 und einerKonsole 120 gegeben sind, die über Geräteadapter-Schnittstelleneinheiten
DAI 115 und 116 und 117 an die
Multiplexer angeschlossen sind.
Gemäß den Figuren 2a bis 2L sind allgemein zugängliche Register dargestellt, d.h. jene Prozessorregister, auf die durch Prozessor-Software-Befehle
Zugriff genommen werden kann. Folgende Register bilden die zugänglichen Register eines jeden Prozessors IOP/P:
a. Prozeß-Zustandsregister (PSR)
b. Befehlszähler (IC)
c. Seitentabellen-Basisregister (PTBR)
d. Allgemeinregister (GR1s)
e. Steuerblockbasisregister (CBBR)
f. Prozessteuerregister (PCR)
Die Register PSR, IC, PTBR und GR's sind im Zwischenspeicher
von 16 36-Bit-Registern abgelegt und in der in Figur 2A dargestellten
Weise zugeordnet.
Prozeß-Zustandsregister (PSR) Figur 2B - Das Prozeß-Zustandsregister
speichert Information, die für die Steuerung des laufenden Prozesses von bedeutung ist. Das Register besitzt das Format
gemäß Figur 2B:
Steuerung(Böte 0-7) Die Steuerung bestimmt die Unterbrechungsquelle
P (Bit 8) _ Zugriffsrecht. Haupt (O)- oder Neben (1)-Betrieb.
R (Bit 9) _ Externes Register. Bestimmte nicht im Prozessor IOP/P befindliche Register können nicht verändert
werden, wenn dieses Bit gesetzt ist.
ß 0 9842/0887
A (Bit 10) - Adressenmodus. Absolute (O)- oder Seiten (1)-
Adressierweise.
CC (Bits 11-12) Zustandscode. Die Bedeutung des Zustands-
codes ist für jeden lOP/P-Befehl gegeben.
Im allgemeinen entspricht:
Ergebnis = 0 CC-*- 0
Ergebnis < 0 CC-*- 1
Ergebnis > 0 CC <*- 2
Überlauf CC <- 3
C (Bit 13) - Übertrags-Bit des Addierers. Übertrag (1)
oder kein Übertrag (0) ergibt sich aus der Ausführung von Befehlen unter Heranziehung
der arithmetischen Funktionen des Addierers. (Addieren, Subtrahieren, Multiplizieren,
Dividieren, Vergleichen und Negieren)
Prozess-Zeit- Ein Zeitgeber, der periodisch während der geber(Bit 14-35)Bearbeitung des Prozesses herabgezählt wird.
Eine Zeitgeber-Auswurfausnähme tritt auf,
wenn der Zeitgeber den Wert Null erreicht. Der Zeitgeber wird jedesmal beim Ablauf von
512 Taktzyklen des Prozessors um 1 zurückgestellt. Bei einer Zykluszeit von 8o ns
führt dies zu einem Minimalwert von urtge-/" fähr 40 Ais und einem Maximalwert von 2,67
min.
Entsprechend der Zugriffsfrequenz zu dem Prozess-Zustandsregister
PSR wird entweder für eine Modifikation oder eine Bezugnahme der tatsächliche Wert des laufenden Prozesses in einem speziellen
Register außerhalb des nicht dargestellten Allgemeinregister-Zwischenspeichers abgespeichert. Änderungen in dem Register werden
aus Leistungsgründen in dem Allgemeinregister GR_ nicht berücksichtigt.
Dieser dem Prozeßzustandsregister PSR zugeordnete Zwischenspeicher wird nur zur Sicherung des laufenden PSR-Wertes
für den Fall einer Unterbrechung benutzt. Alle Befehle, welche das Allgemeinregister GRQ als einen BestimmungsOperanden
kennzeichnen, veranlassen eine Speicherung des Ergebnisses in dem Spezialregister für den PSR-Wert, wodurch das Allgemeinregister
GRQ keine Veränderung erführt. Ein spezieller Befehl kopiert den Inhalt des Prozeßzustandsregisters PSR in ein
Generalregister GR,.so daß dessen Inhalb als ein Operand benutzt werden kann.
609842/0 887
Befehlszähler (IC) Figur 2C - Der Befehlszähler speichert die Adresse des laufenden Befehls. Wenn Befehle eine Halbwort-Ausrichtung
aufweisen, so weist das niedrigstrangige Bit immer den Wert Null auf. Der Befehlszählerinhalt ist im Generalregister GR1
abgelegt und er besitzt das Format gemäß Figur 2C:
L/R (Bit O) - Intern/Extern (O) bestimmt den internen Speicher
121, 122; (1) bestimmt den externen Speicher 122b, 123b
S (Bits 1-3) - Steuerung. Bestimmt, welcher externe Speicher
für die externe Speicherbezugnahme ausgewählt wird.
RFU (Bits·4-8)- Reserviert für zukünftigen Gebrauch
IC (Bits-9-35)- Die (Byte)-Adresse des laufenden Befehls.
Seitentabellen-Basisregister (PTPR) Figur 2D - Das Seitentabellen-Basisregister
verweist auf die Seitentabelle, die benutzt wird, um eine seitenbezogene Adressenwiederauffindung für den laufenden
Prozeß zu erzeugen. Sie kann nur im Hauptbetrieb geladen werden. Das Register PTPR ist im Generalregister GR15 abgelegt und weist
das Format gemäß Figur 2D auf:
L/R (bit 0) - Intern/Extern
S (Bits 1-3) - Steuerung
L/R (bit 0) - Intern/Extern
S (Bits 1-3) - Steuerung
Programm Nr.(Bits 4-8) - Programmnummer. Ein Feld, welches von der
Software benutzt werden kann, um eine zusätzliche Programmxdentifizierung durchzuführen.
Dieses Feld wird von der Prozessor-Hardware nicht beachtet.
Seitentabellen-Basis - Dies ist die absolute Adresse der Basis (Bxts 9-29)
Tabelle des seitentabellenwortes für
diesen Prozeß. Wenn die Adresse auf 27 Bits durch addieren von sechs Nullstellen
an der rechten Seite aufgefüllt ist, so müssen die Seitentabellen-Adressen kongruent
zu 0 mod 64 (Bytes) sein. Kennschlüssel (Bits 30-35) Dieser Kennschlüssel stellt einen
Prozeßidentifizierer dar, der benutzt wird, um Seitentabellenworte den Prozessen zuzuordnen
.
609842/0887
?B17üR9
Allgemeinregister (GR) - Die verbleibenden 13 Register GR0 - GR14
der zugünglichen Register gemäß Figur 2A sind Allgemeinregister. Diese können als Quellen- oder Bestimmungsoperanden benutzt werden
oder auch als Erst- oder Zweit-Pegeladressenmodifizierer.
Steuerblockbasis-Register (CBBR) Figur 2E - Die Steuerblockbasis (CBB) gemäß den Figuren 2F und 2G ist eine absolute Adresse, welche
auf die Basisadresse im Speicher des Ausnahmesteuerblocks(ECB) gemäß Figur 2J und des Unterbrechungssteuerblocks (ICB) gemäß der
Tabelle in Figur 2J hinweist. Das Steuerblock-Basisregister ist in dem dem Allgemeinregister GRQ zugeordneten Zwischenspeicher für
den Prozeß mit dem höchsten Prioritätsrang abgelegt. Zwei Werte CBB1
ein primärer und ein sekundärer,sind in dem Register abgelegt, welches
das Format gemäß Figur 2E aufweist. Der erste Wert CBB gemäß Figur 2F wird für alle Ausnahmen benutzt, und für alle Unterbrechungen
mit Ausnahme jener, die den internen Speicherfehlern zugeordnet sind. Im Falle der Benutzung ist der primäre CBB-Wert
gemäß Figur 2F aμsgebildet. Diese. Ausbildung gestattet die Speicherung
von Basen der Tabellen des Ausnahmesteuerblockes ECB und des Unterbrechungssteuerblockes ICB an, irgendeiner 512-Wortgrenze
in irgendeinem Speicher. In Figur 2F stellen dar:
L/R (Bit 0) - Interner oder externer Speicher (Siäie Fig. 2C).
S (Bits 1-3) - Siehe Figur 2C
RFU (Bits 4-8) - Siehe Figur 2C
CBB1 (Bits 9-24) Adresse des primären Ausnahme-Steuerblockes
oder des primären Unterbrechungs-Steuerblockes.
Bits 25-35 - Gefüllt mit Nullstellen.
Der zweite CBB-Wert ist in Figur 2G dargestellt und wird aufgerufen
bei Unterbrechungen entsprechend interner Speicherfehler. Bei seinem Gebrauch ist der zweite CBB-Wert gemäß Figur 2G ausgebildet.
Diese Ausbildung gestattet die Ablage der Basen der Tabellen des Ausnahmesteuerblockes ECB und des Unterbrechungssteuerblockes ICB
an einer 512-Wortgrenze innerhalb der ersten 64K irgendeines Speichers.
Gemäß Figur 2G bedeuten:
ORIGINAL INSPECTED •R 0 9 8 k 11 0 8 8 7
L/R (Bit O) - Interner oder externer Speicher (Siehe Fig.2C)
S (Bits 1-3) - Steuerung. Siehe Fig.2C RFU (Bits 4-8) - Reserviert für zukünftigen Gebrauch
Bits 9-17 - Gefüllt mit Nullstellen CBB2 (Bits 28-24)Adresse des zweiten Ausnahme-Steuerblockes oder
des zweiten Unterbrechungs-Steuerblockes. Bits 25-35 - Gefüllt mit Nullstellen.
Die Ausnahme-Steuerblöcke und die Unterbrechungs-Steuerblöcke sind
in Bezug auf die Steuerblockbasis CBB-wie in Figur 2H dargestelltgespeichert.
Es sei an dieser Stelle vermerkt, daß hinsichtlich der Adresse der Unterbrechungs-Steuerblöcke ICB, bezogen auf die Steuerblockbasis
CBB, die relative Adresse der Unterbrechungs-Steuerblöcke zu der Steuerblockbasis hinzuaddiert wird, während hinsichtlich
der Adresse der Ausnahme-Steuerblöcke ECB deren relative Adresse von der Adresse der Steuerblockbasis CBB subtrahiert wird.
Prozeß-Steuerregister (PCR) - Ein Prozeßsteuerregxster (PCR) ist allen Prioritätsrängen gemeinsam. Es weist das Format gemäß Figur21
auf:
. Ausnahmen (Bits 0-8)Jedes Bit bestimmt eine Nicht-Hauptspeicherausnahme
MME eines besonderen Typs
Paritätsfehler - Sie bestimmen den Ablaufpunkt in dem Prozessorf
■ an welchem ein Paritätsfehler festgestellt
wurde.
LZ (Bit 16) - Es liegt keine Antwort auf eine Unterbrechung
LZ (Bit 16) - Es liegt keine Antwort auf eine Unterbrechung
mit dem Rang Null.vor.
RFU (Bit 17) - Reserviert für zukünftigen Hardware-Gebrauch
T&D (Bit 18) - T&D-Betrieb. Ein Haltbefehl stoppt den Prozessor.
Alle Unterbrechungen bleiben unbeachtet. ROM (Bit 19) - ROM-Bit. Steuerzugriff zu dem Festwertspeicher
RFU (Bits 20-22)'- Reserviert für zukünftigen Hardware-Gebrauch
Prozessor Nr.u.Rang-Prozessor Nr. und Prioritätsrang des Prozesses
(Bits 23-26)
Sperr (Bit 27) - Unterbrechungs-Sperrbit
Sperr (Bit 27) - Unterbrechungs-Sperrbit
UNT.ANF.(Bits28-35)-Unterbrechungs-Anforderungs-Bits. Jedes gesetzte
Bit bestimmt eine Software-Satzunterbrechung auf einem Pegelrang entsprechend
6 0 9 8 4 2 / 0 8 8 7
Vb ! /DhM
der Bit-Position. Die Pegelanforderung 7 (Bit 35) ist immer gesetzt. Die Prozessor-Satzunterbrechungen
mit den Pegeln 0-7 benutzen entsprechend die Bits 8-15 des Unterbrechungs-Steuerblocks
ICB.
Ausnahmen
Ausnahmen sind vom Prozessor festgestellte Zustände, die einen automatischen Eintritt in eine Ausnahmeverarbeitungsroutine veranlassen.
Ausnahmezustände können allmählich erzeugt werden oder sie können das Ergebnis eines Programmierfehlers oder eines Hardwarefehlers
außerhalb des Prozessors sein. Die Ausnahmebedingungen sind wie unten dargestellt definiert. Für Nicht-Hauptspeicherausnahmen
ist der Zusammenhang zwischen der Art der Ausnahme und der Bit-Position des Prozeßsteuerregisters PCR in Figur 21 dargestellt.
0 Operation nicht vollständig(ONC). Keine Reaktion der
Schnittstelleneinheit SIU auf ARA oder ARDA.
1 Seitenadressen-Grenzfehler (Kennschlüsselprüfung)
2 Seitenzugriffsfehler
3 · Seite im Speicher nicht vorhanden
4 Illegale Operation (Ungültiger Befehl, illegaler Nebenbefehl oder illegale Nebenoperation)
5 Prozeßzeitger-Ablauf
6 Überlauf, wenn PSR CC = 11, Teilungsprüfung,wenn
PSR CC = 00.
7 Verriegelungsfehler (Sperrunterbrechung für mehr als
40/us) .
8 Adressen-Fehlausrichtung
Ausnahmezustände werden durch eine Vier-Bit-Ausnahmenummer gekennzeichnet.
Für Hauptbetriebs-Eingangsstellenausnahmen wird diese Nummer von den Bits 10-14 eines nicht dargestellten Befehls entnommen.
In allen anderen Fällen weist die Ausnahmenummer den Wert Null auf. Die Ausnahmenummer wird als eine Ausnahme-Steuerblocknummer
(ECB-Nummer) benutzt, um einen Vierwort-Ausnahme-Steuerblock (ECB) zu bestimmen, der auf die Ausnahrae-Verarbeitungsroutine verweist.
Die Byte-Adresse eines Ausnahmesfeuerblockes ECB ist gegeben durch:
6 0 9 8 4 2 / Ü 8 8 7 u™GINal
ϊ 6 ι '?. Π h 9
ECB-Adresse = Steuerblockbasis - 16 (ECB Nr. + 1) Das Format des Ausnahme-Steuerblockes ECB ist in Figur 2J dargestellt.
Gemäß Figur 2J ist ein PSR-Wort entsprechend Figur 2B
an der ersten Wortstelle abgelegt. Ein IC-Wort gemäß Figur 2C ist an der zweiten Wortstelle abgelegt. Weiterhin ist eine Bereichssicherungs-Hinweisadresse
SAP für das Prozessorpar 0 an der dritten Wortstelle des Ausnahme-Steuerblockes ECB 0 und eine
Bereichssicherungs-Hinweisadresse für das Prozessorpaar 1 an
der dritten Wortstelle des Ausnahme-Steuerblockes 1 gemäß Figur 2H abgelegt.
Bevor mit einer Ausnahme-Verarbeitungsroutine begonnen werden kann, muß wichtige Information über den laufenden Prozeß gesichert
werden. Diese Sicherung erfolgt als Teil einer Prozessorantwort auf eine Ausnahme. Da die Ausnahmeauftritte verschachtelt
sein können, z.B. kann eine zweite Ausnahme auftreten, bevor die Verarbeitung der ersten Ausnahme beendigt ist, wird ein Stapel
benutzt, um Platz für die sichere Speicherung des Prozesses zu schaffen. Die /Stapelhinweisadresse wird als Sicherungsbereich-Hinweisadresse
SAP bezeichnet und an der dritten Wortstelle des Ausnahme-Steuerblockes ECBO abgelegt. Mehr-Prozessorsysteme erfordern
einen zweiten Stapel und die Sicherheitsbereich-Hinweisadresse für den zweiten Prozessor wird an der dritten Wortstelle
des Ausnahme-Steuerblockes ECB 1 abgelegt.
Wenn eine Ausnahme festgestellt wird, sovdrd die geeignete Sicherungsbereich-Hinweisadresse
aufgesucht und die Information über den ablaufenden Prozeß in dem Stapel in der Reihenfolge gemäß
Figur 2K abgelegt. Die Sicherheitsbereichs-Hinweisadresse wird entsprechend ergänzt. Der in dem Stapel gemäß Figur 2K gespeicherte
Zählstand des Befehlszählers IC verweist auf den Befehl,
der auf denjenigen innerhalb des Prozesses, folgt, der zu dem Zeitpunkt vorlag, wo die Ausnahme festgestellt wurde. Die in dem
letzten Stapelspeicherplatz gespeicherte Adresse ist die letzte interessierende Adresse, die vor der Feststellung der Ausnahme
erzeugt wurde. Nachdem diese Information über den laufenden Prozeß in dem Stapel 2K sicher abgespeichert ist, werden die Inhalte
609842/0887
? 6 i ? Π R 9
des Prozeßzustandsregister PSR,des Befehlszählers IC und des
Seitentabellen-Basisregisters PTBR aus dem geeigneten Ausnahme-Steuerblock geladen und die durch diesen Prozessor benutzte
Adresse der Sicherheitsbereichs-Hinweisadresse wird in das Allgemeinregister
GR2 geladen. Auf diese Weise wird der Eintritt
in die Ausnahme-Verarbeitungsroutine vervollständigt. Nach der Vervollständigung gibt die Ausnahme-Vaarbeitungsrou.tine einen
nicht dargestellten Spezialbefehl RMM aus, um zu dem Prozeß zurückzukehren, in.welchem die Ausnahme festgestellt worden war.
Dieser Befehl lädt die Inhalte von PSR, IC, GR2, GR3, GR4,und
PCR und PTBR aus dem Stapel heraus und erniedrigt die Sicherheitsbereichs-Hinweisadresse
um 1. Wenn Ausnahmen und RMM-Befehle nicht paarweise auftreten, so muß die Ausnahme-Verarbeitungs-Software
sicherstellen, daß der Stapel aufrechterhalten bleibt. Es gibt keine Fehlerüberprüfung hinsichtlich der Software-Handhabung
der Stapel-Hinweisadresse oder hinsichtlich des Stapel^-Überlaufs oder -Unterlaufs.
Unterbrechungen
Unterbrechungen sind außerhalb des Prozessors festgestellte Ereignisse,*welche eine Reaktion des Prozessors erfordern. Unterbrechungen
des Prozessors IOP/P können einen von acht Prioritätsrängen aufweisen. Der Rang Null ist der höchste Prioritätsrang
und der Rang 7 entspricht dem niedrigsten Prioritätsrang. Um die zum Ansprechen auf eine Unterbrechungsanforderung erforderliche
Zeit zu minimalisieren, sieht der Prozessor IOP/P einen vollständigen
Satz von Rofejistern für jeden der acht Prioritätsränge
vor. Wenn eine Unterbrechung die Auslösung eines neuen Prozesses veranlaßt, so bleibt der gerade laufende Prozeß unversehrt in
den Registern,«die dem laufenden Prioritätsrang zugeordnet sind. Die Steuerung kann auf den unterbrochenen Prozeß zurückkehren,
indem der diesem Prozeß zugeordnete Prioritätsrang einfach reakti viert wird. Die Notwendigkeit der sicheren Speicherung und Neuspeicherung
unterbrochener Prozesse zusammen mit dem damit verbundenen Aufwand kann entfallen.
809842/0 88 7
2 6 1 ? O 5 9
Die 16 Register für jeden Prioritätsrang sind in aufeinanderfolgenden
Blöcken in dem Zwischenspeicher 328 des IOP/P mit 128 Bit-Wortlänge abgelegt. Die Register für den Prioritätsrang 0 befinden sich an den Speicherplätzen 0-15 des Zwischenspeichers.
Da das Prozeßzustandsregister PSR für den Prioritätsrang 0 niemals in den Zwischenspeicher übertragen wird, da ein
Prozeß mit dem Prioritätsrang 0 nicht unterbrochen werden kann, wird der Speicherplatz 0 des Zwischenspeichers zur Speicherung
der Steuerblockbasis benutzt, obgleich andere Register mit dem Prioritätsrang 0 benutzt werden könnten. Ein Nachrichtenaustausch
zwischen Registern auf verschiedenem Prioritätsrang ist nur über nicht dargestellte Hauptbetriebs-Kopierbefehle möglich, die den
Zwischenspeicher adressieren.
Die System-Schnittenstelleneinheit SIU-100 des Prozessors IOP
überwacht konstant den laufenden Prozeßrang des Prozessors und fordert Unterbrechungen von den Eingang/Ausgang-Systemmodulen an.
Jede Unterbrechungsanforderung bestimmt die Nummer des zu unterbrechenden Prozessors, die Priortätsrangnummer der Anforderung
und die Steuerung, um den Unterbrechungsanforderer zu bestimmen.
Diese Information befindet sich in jedem Modul,der Unterbrechungen
anfordern kann und hinsichtlich der meisten Module wird diese Information unter Verwendung programmierbarer Schnittstellenbefehle
gebildet. Immer wenn eine Unterbrechungsanforderung mit einem höheren Prioritätsrang als der gerade laufende Prozessorrang vorliegt,
gibt die Schnittstelleneinheit SIU ein entsprechendes Unterbrechungssignal an die zu dem Prozessor führende Leitung ab.
Wenn verschiedene Unterbrechungsanforderungen mit gleichem Rang
vorliegen, so bestimmt die Schnittstelleneinheit SIU auf der Basis von Prioritäten,die durch die Anschlußnummer gegeben sind,
welche Anforderung an den Prozessor weitergeleitet wird. Wenn die Unterbrechung des laufenden Prozesses nicht gesperrt ist, so
veranlaßt eine Unterbrechungsanforderung den Prozessor IOP/P
zur Aufgabe des gerade laufenden Prozesses und zur Annahme eines Unterbrechungswortes von der Schnittstelleneinheit SIU. Das
Unterbrechungswort besitzt hierbei das Format gemäß Figur 2L.
609842/0887
Der Aufbau des Wortes gemäß Figur 2L ist folgender: N (Bit O) - Neu. Dieses Bit zeigt für den Fall, daß es
gesetzt ist an, daß die Unterbrechung eine neue Unterbrechung darstellt. Wenn das Bit
nicht gesetzt ist, so stellt das Unterbrechungswort eine vorangegangene unterbrochene
Unterbrechungsanforderung dar, die wieder
.aufgenommen wird.
M (Bit 1) - Nicht benutzt
RFU (Bits 2-17) - Reserviert für zukünftigen Gebrauch. Dieses
Feld muß O sein,aber es wird nicht überprüft
zwecks Sicherstellung, daß das Feld auch den Wert O aufweist. Bit 18 - Auf Null gesetzt
ICB Nr.(Bits 19-26)- Unterbrechungs-Steuerblocknummer STEUERUNG (Bits 28-35)-Steuerung. Diese Felds bestimmt den Unter-
brechungs-Anforderer. Die Bits 28 bis 35
werden von der Schnittstelleneinheit SIU erzeugt, und sie bestimmen den Quellenmodul
(SIU-Anschlußnummer) der Unterbrechung.
Zur Auslösung der Unterbrechungs-Verarbeitungsroutine werden vier Register aus dem Unterbrechungs-Steuerblock gemäß Figur 2J herausgeholt.
Wenn das Prozeßzustandsregister PSR geladen wird, wird das Steuerfeld des Unterbrechungswortes in das Steuerfeld des
Registers PSR eingefügt. Die anderen Register IC, GR14 und PTBR
werden durch aufeinanderfolgende Worte des Unterbrechungssteuerblockes ICB direkt geladen. Ein nicht dargestellter Freigabebefehl
REL wird benutzt, um als Folge einer Unterbrechung aus einem Prozeß auszusteigen. Nach einem Freigabebefehl REL wählt
die Schnittstelleneinheit SIU den wartenden Prozeß mit der höchsten Priorität zur Verarbeitung durch den Prozessor aus.
Dieser Prozeß kann ein zuvor unterbrochener Prozeß oder ein neuer Prozeß sein,der als Folge einer Unterbrechungsanforderung
ausgelöst wird. Bei gleichem Prioritätsrang besitzen zuvor unterbrochene Prozesse Priorität gegenüber neuen Unterbrechungs-
BÜ9842/0887
"■18— ο ο -1 'j o er ρ«
Zb IZ U Ti b
anforderungen. Aufgrund von Hardware·.und Software zum Laden des
Prozeßsteuerregisters PCR kann ein Prozessor der Schnittstelleneinheit SIU eine Unterbrechung mit irgendeinem Rang 0-7 anbieten,
Um jedoch eine wohldefinierte Reaktion auf einen Freigabebefehl REL bei jedem Rang zu erzeugen, ist das die Unterbrechung mit
dem Rang 7 anfordernde Bit des Prozeßsteuerregxster PCR immer gesetzt. Die Reaktion des Prozessors entspricht der durch eine
normale Unterbrechung ausgelösten Reaktion, wenn ein neuer Prozeß als Folge eines Freigabebefdüs REL bearbeitet wird und umfaßt
die Annahme eines Unterbrechungswortes von der Schnittstelleneinheit SIU und den Zugriff zu einem Unterbrechungs-Steuerblock
ICB. Wenn ein zuvor unterbrochener Prozeß erneut bearbeitet werden soll, so gibt die Schnittstelleneinheit SIU
lediglich die Rangnummer und die Tatsache aus, daß ein alter Prozeß erneut bearbeitet werden soll. Da der Prozeßzustand zu
dem Zeitpunkt seiner Unterbrechung in dem Zwischenspeicherregister unversehrt vorhanden ist, bildet dies die einzige Information,
die erforderlich ist, um den Prozeß erneut zu starten.
609842/0887
- 3 9. -
2 6 1? Cl 5 9
Gemäß Figur 2N ist das Format eines typischen Zwischenspeicher-Registerbefehls
dargestellt. Dieser Befehl veranlaßt die Informationsübertragung zwischen den Zwischenspeichern 328, 334 und
326 des Prozessors IOP und den Allgemeinregistern. Die ersten
acht Bits des Befehls stellen das Feld für den Operationscode
dar. Mit GR ist ein 4-Bit-Feld an den Bit-Positionen 9-12 bezeichnet,
welches eines der Allgemeinregister in dem Zwischenspeicher 328 bestimmt. Die Bits 14-35 des Befehls stellen eine
Adressilbe AS dar, die benutzt wird, um die effektive Adresse Y zu berechnen. Diese Adresse wird als eine Adresse eines Registers
außerhalb des Prozessors IOP/P interpretiert.
Gemäß Figur 20 sind zwei Formate der Adressilbe AS des Befehls gemäß Figur 2N dargestellt. Das obere Format zeigt eine Adresssilbe
mit einer langen Verschiebung D, während das untere Format eine Adressilbe mit kurzer Verschiebung D darstellt. Die Bits
14-17 des oberen Formats stellen die Adresse eines Indexregisters XR.. dar. Das Bit 18 bestimmt, ob eine lange oder kurze Verschiebung
benutzt wird. Wenn dieses Bit auf,.den Wert Null gesetzt ist, so zeigt es an, daß eine lange Verschiebung D vorliegt,
während für den Wert 1 die kurze Verschiebung D gegeben ist. Das Bit 19 stellt ein Vorzeichen-Bit S dar, während die Bits 20-35
für die lange Verschiebeadresse reserviert sind. In dem unteren Format der Adressilbe AS bilden die Bits 14-17 wiederum die
Adresse eines IndexregistersXR^. Wie zuvor bereits erwähnt,
zeigt das Bit 18 an, ob eine lange oder kurze Verschiebung D
vorliegt. Die Bits 19-22 stellen die Adresse eines zweiten IndexregistersXR2 dar. Das Vorzeichen-Bit S nimmt die Bit-Position
23 innerhalb der Adressilbe AS ein. Schließlich bilden die Bits 24-35 die kurze Verschiebeadresse.
609842/0887
2617059
Allgemeine Beschreibung des Prozessors IOP/P:
Figur 3 zeigt ein Blockdiagramm eines Prozessors gemäß der vorliegenden
Erfindung. Daten und Befehle von der System-Schnittstelleneinheit SIU werden in das Dateneingangsregister 310 eingegeben
und bearbeitete Daten werden an die Schnittstelleneinheit SIU über das Datenausgangsregister 312 abgegeben. Beim
taktweisen Eingeben der Daten und Befehte in das Register 310
wird eine Paritätsprüfung durchgeführt, so daß Paritätsfehler festgestellt werden. Befehle werden in einem zweifach auslesbaren Vorgriff-Register 314 abgelegt, welches vier Pufferworte für Befehle erzeugt. Ein 8-Rang-Steuerspeicher-Adressenschalter 316 (CSA-Schalter), der üblicherweise ein Multiplexer sein kann, erzeugt eine Adresse für den Steuaspeicher 318. Ein Rang des
CSA-Schalters 316 wird durch das Befehlsregister 314 über die Wegsuchereinheit 317 erzeugt. Der Steuerspeicher 318 enthält die Mikrobefehle zur Steuerung der Datenmanipulationen und ein
adressierter Mikrobefehl ist im SteuerSpeicherregister 319 gespeichert.
taktweisen Eingeben der Daten und Befehte in das Register 310
wird eine Paritätsprüfung durchgeführt, so daß Paritätsfehler festgestellt werden. Befehle werden in einem zweifach auslesbaren Vorgriff-Register 314 abgelegt, welches vier Pufferworte für Befehle erzeugt. Ein 8-Rang-Steuerspeicher-Adressenschalter 316 (CSA-Schalter), der üblicherweise ein Multiplexer sein kann, erzeugt eine Adresse für den Steuaspeicher 318. Ein Rang des
CSA-Schalters 316 wird durch das Befehlsregister 314 über die Wegsuchereinheit 317 erzeugt. Der Steuerspeicher 318 enthält die Mikrobefehle zur Steuerung der Datenmanipulationen und ein
adressierter Mikrobefehl ist im SteuerSpeicherregister 319 gespeichert.
Daten aus dem Eingangsregister 310 werden in einen Rang des
8-Rang-B-Schalters 320 geladen, der zusammen mit einem 2-Rang-A-Schalter 322 Operanden für ein Addier/Verschiebe-Netzwerk erzeugt. Der B-Schalter 320 wird durch ein Feld in dem Steuerspeicherregister 319 gesteuert. Der A-Schalter 322 erhält Eingangssignale von den zweifach auslesbaren Arbeitsregistern 326 und von dem Allgemeinregister-Zwischenspeicher 328 über das SPB-Register 330. Das Register 326 enthält drei Arbeitsregister und ein Abbild des Befehlszähler-Zählstandes IC, der in dem Allgemeinregister-Zwischenspeicher 328 enthalten ist. Der Leseausgang des Arbeitsregisters WRR wird dem A-Schalter 322 zugeführt und der Seitenadressierausgang des Arbeitsregisters WRP ist auf den Allgemeinregister-Zwischenspeicher 328 geschaltet. Eine 7-Bit-Adresse für den Allgemeinregister-Zwischenspeicher SPA wird
durch einen 1 aus 8-Schalter 332 erzeugt. Das Addier/Verschiebenetzwerk 324, welchem Operanden von dem B-Schalter 320 und dem A-Schalter 322 zugeführt werden, führt alle arithmetischen,
logischen und Verschiebeoperationen aus, die für eine Adressen-
8-Rang-B-Schalters 320 geladen, der zusammen mit einem 2-Rang-A-Schalter 322 Operanden für ein Addier/Verschiebe-Netzwerk erzeugt. Der B-Schalter 320 wird durch ein Feld in dem Steuerspeicherregister 319 gesteuert. Der A-Schalter 322 erhält Eingangssignale von den zweifach auslesbaren Arbeitsregistern 326 und von dem Allgemeinregister-Zwischenspeicher 328 über das SPB-Register 330. Das Register 326 enthält drei Arbeitsregister und ein Abbild des Befehlszähler-Zählstandes IC, der in dem Allgemeinregister-Zwischenspeicher 328 enthalten ist. Der Leseausgang des Arbeitsregisters WRR wird dem A-Schalter 322 zugeführt und der Seitenadressierausgang des Arbeitsregisters WRP ist auf den Allgemeinregister-Zwischenspeicher 328 geschaltet. Eine 7-Bit-Adresse für den Allgemeinregister-Zwischenspeicher SPA wird
durch einen 1 aus 8-Schalter 332 erzeugt. Das Addier/Verschiebenetzwerk 324, welchem Operanden von dem B-Schalter 320 und dem A-Schalter 322 zugeführt werden, führt alle arithmetischen,
logischen und Verschiebeoperationen aus, die für eine Adressen-
609842/0887
entwicklung und eine Befehlsausführung erforderlich sind.
Ein Seitentabellenwort-Zwischenspeicher 334 speichert 16 Seitentabellenworte
PTW für jeden der acht Ränge des B-Schalteis 320.
Der Vier-Rang-Adressenschalter 336 verkettet Adressen entweder für programmierbare Schnittstellenbefehle oder Lese/Schreib-Speicherzyklenf
die Seiten- oder absolutadressiert sein können. Der Ausgang des Addier/Verschiebenetzwerkes 324 kann über einen
Vier-Rang-Ausgangsschalter 338 auf den Ergebnis-Doppelkanal 340 (R-XBAR) und in das Daten-Ausgangsregister 312 gegeben werden.
Der Doppelkanal erzeugt eine gleichzeitige Übertragung seiner Eingangssignale sowohl zu dem Daten-Ausgangsregister 312 als auch
zu den Arbeitsregistern 326. Dem Schalter 338 werden ebenfalls Eingangssignale von einem Prozeßzustandsregister PSR-342 und
einem Przeßsteuerregister PCR-344 über einen Schalter 346 sowie aus dem Allgemeinregister-Zwischenspeicher 328 zugeführt.
Allgemejiregister- Zwischenspeicher
Der Allgemeinregister-Zwischenspeicher 328 enthält 128 Register mit je 40 Bit. Jedes Register enthält 4 Bytes mit 9 Bit und
1 Paritäts-Bit pro Byte. Die in den Zwischenspeicher eingeschriebenen Daten werden einem der vier Arbeitsregister an dem Ausgang
WRP entnommen. Die in dem Zwischenspeicher enthaltenen Register werden durch ein Prozeßzustandsregister PSR, einen Befehlszähler
IC, ein Seitentabellen-Basisregister PTBR, 13 Allgemeinregister GR
und ein Prozeßsteuerregister PCR gebildet. Die 7-Bit-Adresse für den Zwischenspeicher wird durch den 1 aus 8-Schalter SPA-332
erzeugt. Die Steuereingänge des Schalters sind direkt an den Ausgang des Steurspeicherregister CSR-319 angeschlossen. Die drei
höchstrangigsten Bits der Adresse bestimmen einen der acht Ränge und die vier niedrigrangigsten Bits bestimmen eines von 16 Registern
innerhalb des Ranges. Der Rang wird über nicht dargestellte aktive Unterbrechungsrangleitungen .'AIL von der Schnittstelleneinheit
SIU für sechs der acht Positionen erzeugt. Die acht Adressenquellen sind folgende:
609842/088
0) Sieben Bits des Konstanten-feldes (2-8) des Steuerspeicherregisters
CSR, welche die Adressierung irgendeines Registers in irgendeinem Rang gestatten;
1) die AIL-Leitungen und vier Bits des Konstantenfeldes (5-8)
des Steuerspeicherregisters CSR, welche die Adressierung irgendeines Registers in dem vorliegenden Rang gestatten;
2) der Ausgang WER der Arbeitsregister mit den Bits 29-35. Mit diesen Bits bewirkt ein Arbeitsregister die Erzeugung der
Adresse entweder für eine Initialisierung oder eine Software-Adressierung;
3) Die AIL-Leitungen und Bits 19-1-22 des laufenden Befehls. Diese
erzeugen die Leseadresse XR2 für eine Indizierung des zweiten Ranges;
4) die AIL-Leitungen und Bits 14-17 des laufenden Befehls.Diese
erzeugen die Leseadresse XR1 für die Indizierung des ersten Ranges oder die GR/GR2-Leseadresse für einen Operandenzugriff;
5) die AIL-Leitungen und Bits 9-12 des laufenden Befehls.ßiese
erzeugen die GR1/GR-Leseadresse für einen Operandenzugriff;
6) die AIL-Leitungen und Bits 0-2 des Schreib/Adressregisters,
wobei das niedrigrangigste Bit den Wert "1" aufweist. Hierdurch wird die ungerade Adresse eines geraden/ungeraden
Paares eines Lese- oder Schreibbefehls erzeugt.
7) die AIL-Leitungen und Bits 0-3 des Schreib/Adressregisters.
Hierdurch wird die Adresse beim Einschreiben in ein Allgemeinregister durch die Software auf dem vorliegenden Rang erzeugt.
Diese Adressenerzeugung umfaßt das Laden der Allgemeinregister
und das Zurückführen der sich bei der Ausführung ergebenden Resultate in das Ausgangs-Allgemeinregister.
Der Ausgang des Zwischenspeichers ist auf einen der beiden Schalter
33Oa geführt und geht zu dem SPB-Register 330, welches ebenfalls ein Eingangssignal für den Ergebnis-Doppelkanal 340 über
das Addier/Verschiebenetzwerk 324 bildet. Der Schalter in dem SPB-Register gestattet die Arbeit auf ein Allgemeinregister GR
und ein Arbeitsregister oder auf zwei Arbeitsregister durch
ß 09842/ (j 887
Laden einer "1" in das SPB-Register. Der Schalter 33Oa in dem
SPB-Register 330 wird durch das SP-Steuerfeld in dem Steuerspeicherregister
CSR-319 gesteuert.
Das Schreib/Adressregister 348 kann entweder von den Bits 9-12 oder den Bits 14-17 des laufenden Befehls geladen werden. Hierdurch
wird die Adresse zum Laden eines Allgemeinregisteis GR oder zur Rückführung eines Ergebnisses in ein Allgemeinregister
GR erzeugt. Dies ist erforderlich/ da die Adresse für das Allgemeinregister GR in dem auszuführenden Befehl nicht langer an
dem zweifach auslesbaren Befehlszähler verfügbar ist, wenn dieser auf seinen neuesten Stand gebracht worden ist. Die Allgemeinregisteradresse
wird deshalb in dem Schreib/Adressregister WA-348 abgespeichert und für die Schreiboperation benutzt, indem ein
Schreib-Flip-Flop,das mit dem Schreib/Adressregister verbunden ist, gesetzt wird. Das Schreib-Flip-Flop W wird,nachdem es gesetzt
ist, mit dem ersten Takt danach zurückgesetzt, bis das Steuerfeld des Schreib/Adressregisters WA in dem Steuerspeicherregister
CSR es erneut setzt. Ein Allgemeinregister-Zwischenspeicher-Schreibtaktimpuls
wird bei allen Takten erzeugt, die auftreten, während das Schreib-Flip-Flop W gesetzt ist und sofern
nicht die Schreibadresse bei irgendeiner Betriebsweise den Wert Null oder bei der Nebenbetriebsweise den Wert 15 aufweist.
Das SPB-Register 330 ist ein 40-Bit-Register. Es erzeugt eine
Pufferung für Worte, die aus dem Zwischenspeicher ausgelesen werden und spart somit die Zwischenspeicher-Zugriffszeit ein,
die sonst bei einer Addier/Verschiebeoperation erforderlich ist. Eine Paritätsprüfung wird hinsichtlich der Daten in dem SPB-Register
330 durchgeführt. Der SPß-Ladetakt wird durch das SP-Steuerfeld des Steuerspeicherregisters 219 gesteuert.
A- und B-Operandenschalter
Die A- und B-Operandenschalter erzeugen die beiden Operanden für
das Addier/Verschiebenetzwerk 324. Der A-Schalter 322 wählt entweder
den Ausgang des SPB-Registers 330 oder den WRR-Ausgang des Arbeitsregisters 326 aus. Die Auswahl wird durch ein Bit im
Steuerspeicherregister 319 gesteuert. Die Steuerung wird jedoch
609842/0887
zur Auswahl des WRR-Ausgangs gezwungen, wenn das Schreib-Flip-Flop
W gesetzt ist und die Adresse im Schreifykdressregister WA
XR1 entspricht. Der neue Wert von XR1 oder GR2 wird somit zur Verwendung herangezogen, wenn der vorangegangene Befehl diese
Werte verändert hat. Der Schalterausgang wird zur Abgabe von logischen Nullstellen veranlaßt, wenn in dem B-Schalter 320 die
DL-Position ausgewählt wird und keine Indizierung aufgerufen ist (XRI=O). Die Stellung des B-Schalter 320 wird durch ein
Feld mit 3 Bit im Steuerspeicherregister 219 gesteuert. Das niedrigrangigste Bit wird jedoch auf den Wert "1" gezwungen,
wenn die DL-Position ausgewählt wird und eine Indizierung des zweiten Ranges angefordert wird. Die acht Positionen des B-Schalters
320 sind wie folgt formatiert:
0) Die Bits 0-19 entsprechen dem Bit 19 des Befehlsregisterschalters
IRSW-319a. Die Bits 20-35 sind an die Bits 20-35 des Schalters IRSW angeschlossen. Diese bilden das Verschiebefeld
entweder für eine Erstrang- oder keine Indizierung;
1) die Bits 0-23 entsprechen dem Bit 23 des Schalters IRSW. Die Bits 24-35 sind an die Bits 24-35 des Schalters IRSW
angeschlossen. Diese bilden das Verschiebefeld für eine Zweitrangindiζierung;
2)- die Bits 0-30 entsprechen dem Bit 8 des Schalters IRSW.
Die Bits 31-35 sind an die Bits 9-13 des Schalters IRSW angeschlossen. Diese bilden den kurzen Sofortwert.
3) die Bits 0-17 entsprechen dem Bit 8 des Schalters IRSW. Die Bits 18-35 sind an die Bits 18-35 des Schalters IRSW
angeschlossen. Diese bilden den langen Sofortwert;
4) diese Stelle wählt den Ausgang WRR der zweifach auslesbaren Arbeitsregister 322 aus;
5) die Bits 0-31 weisen den Wert "0" auf. Das Bit 32 entspricht dem höchstrangigsten Bit des. Konstantenfeldes des
Steuerspeicherregisters CSR. Hierdurch wird die Zahl 8 zur Erhöhung des Zählstandes des Befehlszählers IC vorgegeben,
um auf das nächste gerade/ungerade Befehlspaar
(8 Bytes) im Speicher zu verweisen. Die Bits 33 und 34
verweisen auf die Wortlänge in Bytes des laufenden Befehls,
wenn die beiden höchstrangigsten Bits des Konstantenfeldes des Steuerspeicherregisterß319 den Wert Null aufweisen.
609842/088 7
2617059
Die Bit-Kombination 10 verweist hierbei auf eine Ganzwortlänge und die Bit-Kombination 01 auf eine Halbwortlänge.
Das Bit 35 entspricht dem Übertrags-Bit in dem Prozeßzustandsregister
PSR, wenn das auf das höchstrangigste Bit folgende Bit des Konstantenfeldes im Steuerspeicherregiser
CSR den Wert 1 aufweist;
6) die Bits 0-26 weisen den Wert Null auf. Die Bits 27-35 sind an das Konstantaafeld des Steuer/Speicherregisters CSR
angeschlossen.
7) durch diese Position wird das Daten-Eingangsregister DI-310 der Schnittstelleneinheit angewählt;
Addier/Verschiebeschaltkreis
Dieser als logische Addiereinheit ALU. bezeichnete Schaltkreis führt arithmetische und logische Operationen mit jeweils 36 Bit
aus. Diese Einheit erzeugt ferner einen Datenübertragungsweg für die Operanden A oder B zu dem Doppelkanal 340. Die Operationen
der Recheneinheit ALU werden durch ALU/Verschiebe-Eingangs-Bits des Steuerspeicherregisters 319 gesteuert. Die Betriebsweise der
Recheneinheit wird durch das niedrigrangigste Bit innerhalb der Steuer-Bits in dem Steuersp icherregister gesteuert.
Seitentabellenwoct(PTW)-Zwischenspeicher
Der PTW-Zwischenspeicher 334 besorgt die Speicherung von 16 SeitentabeUenwörtern für jeden der acht Prioritätsränge, was zu
128 SeitentabeUenwörtern führt. Der Ausgang des B-Operandenschalters
320 erzeugt die Schreibdaten für den Zwischenspeicher und der Schreibtakt wird hierbei durch ein Bit in dem Steuerspeicherregister
319 gesteuert. Die PTW-Zwischenspeicheradresse wird entweder durch die niedrigrangigsten 7 Bits des Ausgangs WRP
des Arbeitsregisters 326 oder durch den Rang und die Bits 21-24 des Ausgangs WRP erzeugt. Die erste Bit-Position dient der Auslösung
und der übertragung des Seitentabellenwortes vom Allgemeinregister
GR zur Basistabelle. Die zweite Bit-Position dient dem Lesen und Laden von Seitentabellewörtern, wenn entsprechende
Adressen in den SeitentabeUenwörtern fehlen. Die Adressenauswahl wird durch ein Bit im Steuerspeicherregister CSR-319 gesteuert.
B 0 9 8 4 2 / (J 8 8 7
Jedes Byte des PTW-Zwischenspeichers wird am Ausgang einer
Paritätsprüfung unterzogen. Der Ausgang des Zwischenspeichers 334 versorgt zwei der vier Adressenschalterpositionen mit Eingangsdaten.
Wenn der Ausgang des PTW-Zwischenspeichers durch die "Seiten"-Stellung des Adressenschalters ausgewählt wird, so werden
die folgenden Überprüfungen durchgeführt, um festzustellen, ob das Seitentabellenwort gültig ist:
1) die Bits 30-35 des Seitentabellenwortes werden mit einem Kennschlüsselregister 372 verglichen. Das Kennschlüsselregister
bestimmt hierbei den Prozeß >-.-dem das Seitentabellenwort
zugeordnet ist und es wird mit den Bits 30-35 des Ausganges WRP jedesmal dann geladen, wenn GR 15 geladen
wird;
2) die Bits 27-29 des Seitentabellenwortes werden mit den Bits 18-20 am Ausgang WRP verglichen. Dieser Vergleich erfolgt,
um festzustellen, ob das korrekte Seitentabellenwort am Speicherplatz des PTW-Zwischenspeichers vorhanden ist;
3) die nächste Übeprüfung wird durchgeführt, um festzustellen,
ob die Seite im Lese/Schreibspeicher 122b 123b vorhanden ist, Eine Nullstelle an der Bit-Position 6 des Seitentabellenwortes
zeigt an, daß die Seite im Speicher nicht vorhanden ist;
4) wenn die ersten drei Prüfungen erfolgt sind, werden die Bits 4-5 des Seitentabellenwortes mit dem ausgelösten Operationstyp verglichen.. Das Lesen von Daten ist immer legal. Ein
Befehlsabruf fordert das Bit 4 an, während eine Leseoperation das Bit 5 anfordert.
Wenn das Seitentabellenwortin dem Zwischenspeicher bei einer der
vorgenannten Prüfungen einen Fehler ergibt, so wird es aus der Seitentabelle im Lese/Schreibspeicher geholt und erneut überprüft,
bevor eine Ausnahme angezeigt wird..
Das Adressenwort entweder für den Lese/Schreibspeicher oder die
programmierbare Schnittstelle wird in dem Adressenschalter 336 erzeugt. Der Schalter 336 wird durch die Adressenschalter-Steuer-Bits
in dem Steuerspeicherregister 319 gesteuert. Wenn die
609842/ÜB87
"Seiten"-Position ausgewählt wird und das Prozeßzustandsregister PSR die absolute Adressierweise anzeigt,so wird die
"Absolut"-Stellung des Schalters eingenommen, so daß die Seitentechnik
unterdrückt wird. Die vier Schalterstellungen sind folgende :
0) Diese Position erzeugt die Seitenadressierung des Lese/-
Schreibspeichers. Nimmt das Bit 0 den Wert 0 ein, so bees
stimmt eine Lese/Schreibadresse. Die Bits 1-3 werden durch die Zonenadress- und Steuer-Bits (ZAC-Bits) im Steuerspeicherregister erzeugt. Das Bit 4 weist den Wert O auf. Die Bits 5-8 stellen die Zonen-Bits dar und werden als eine Funktion der Lese/Schreibspeicheroperation erzeugt. Leseoperationen veranlassen die Erzeugung von Nullstellen, während Schreiboperationen hinsichtlich eines Wortes oder Doppelwortes die Erzeugung von Eine.rstellenbewirken. Das Schreiben eines Bytes verusacht eine 1 in der zu schreibenden Byte-Position. Die Bits 9-24 entsprechen dem PTW-Zwischenspeicher 9-24, welcher die Seitenbasisadresse darstellt. Die Bits 25-35 entsprechen den Bits 25-35 am Ausgang WRP, welche die seitenbezogene Adresse darstellen. Wenn diese Position ausgewählt wird, muß der Ausgang WRP der Arbeitsregister die nicht-seitenunterteilte Adresse angeben.
stimmt eine Lese/Schreibadresse. Die Bits 1-3 werden durch die Zonenadress- und Steuer-Bits (ZAC-Bits) im Steuerspeicherregister erzeugt. Das Bit 4 weist den Wert O auf. Die Bits 5-8 stellen die Zonen-Bits dar und werden als eine Funktion der Lese/Schreibspeicheroperation erzeugt. Leseoperationen veranlassen die Erzeugung von Nullstellen, während Schreiboperationen hinsichtlich eines Wortes oder Doppelwortes die Erzeugung von Eine.rstellenbewirken. Das Schreiben eines Bytes verusacht eine 1 in der zu schreibenden Byte-Position. Die Bits 9-24 entsprechen dem PTW-Zwischenspeicher 9-24, welcher die Seitenbasisadresse darstellt. Die Bits 25-35 entsprechen den Bits 25-35 am Ausgang WRP, welche die seitenbezogene Adresse darstellen. Wenn diese Position ausgewählt wird, muß der Ausgang WRP der Arbeitsregister die nicht-seitenunterteilte Adresse angeben.
1) Diese Position erzeugt die Lese/Schreibspeicheradresse, wenn keine Seitenunterteilung gefordert ist. Sie kann durch
das Steuerspeicherregister CSR ausgewählt werden oder wird zwangsweise angewählt, wenn die Position 0 angewählt ist
und das Steuerspeicherregister PSR das absolute Adressierverfahren verlangt. Die Bits o-8 entsprechen denjenigen
Bits der Position Null. Die Bits 9-34 entsprechen dem Ausgang WRP 9-35, der der absoluten Speicheradresse entsprechen
muß, wenn diese Position ausgewählt wird.
2) Diese Position erzeugt ein programmierbares Schnittstellen-(PI)-Steuerwort.
Entspricht das Bit 0 dem Wert "1", so bestimmt es ein PI-Steuerwort. Das Bit 1 wird durch das ZAC-FeId
des SteuerSpeicherregisters erzeugt. Das Bit 2 entspricht
dem Bit 9 des Prozeßzustandsregisters PSR und
B 0 9 8 U 2 / 0 8 8 7
bestimmt, ob das laufende Programm gewisse externe Register verändern kann. Das Bit 3 entspricht der Prozessornummer,
die durch die Schnittstelleneinheit SIU erzeugt wird. Das Bit 4 weist den Wert Null auf. Die Bits 5-8 entsprechen
den Bits 4-7 des Prozeßzustandsregisters PSR und sie bestimmen den Anschluß innerhalb des Multiplexers. Die
Bits 9-35 entsprechen dem Ausgang WRP 9-35 und sie müssen der absoluten Adresse entsprechen, die entweder für einen
externen Lesebefehl RDEX oder einen externen Schreibbefehl WREX erzeugt wird.
3) Diese Position erzeugt den Datenübertragungsweg zum Lesen eines Seitentabellenwortes PTW aus dem Zwischenspeicher.
Die Bits 0-2 des Adressen :halters 336 werden modifiziert,um die
Lese/Schreib-Speichersteuerung während des Ladens der absoluten Adressen in das Allgemeinregister GR wiederzugeben. Die Bits 0-2
des PTW~Zwischenspeichers geben somit eine Seitenadressierung und die Bits 0-2 am Ausgang WRP eine absolute Adrresierung an. Dies
wird durch die Auswahl der Stellung Null für den Adressenschalter ermöglicht, falls kein. Lese/Schreib-Speicherzyklus durch die
Steuer-Bits des Steuerspeicherregisters CSR bei einer Anforderung
durch die Schnittstellensteuerung SIU ausgelöst wird. Der Steuerschalter ruft die Steuerung der Schnittstelleneinheit SIU entweder
bei einem Lese/Schreib-Speicherzyklus oder bei einem programmierbaren Schnittstellenbefehl hervor. Die Steuerung erfolgt
durch die Steuer-Bits des Adressenschalters in dem Steuerspeicherregister CSR.
Die Steuerung wird für den Lese/Schreibspeicher wie folgt erzeugt:
Bit 0 Dieses Bit weist den Wert 0 für den Lese/Schreibspeicher auf, Bit 1 Dieses Bit bestimmt den internen oder externen Speicher.
Es entspricht dem PTW-Bit 0 bei einer Seitenadressierung oder dem WRP-Bit 0 bei einer absoluten Adressierung.
Bits 2-4Diese Bits stellen die Speicher-Steuer-Bits dar. Der anfängliche Wert entspricht den PTW-Bits 1-3 bei einer Seitenadressierung
oder den WRP-Bits 1-3 bei einer absoluten Adressierung. Diese Werte bilden ebenfalls den endgültigen
60984 2/0887
Wert, wenn das Bit 1 einen externen Speicher bestimmt. Wenn das Sit 1 einen internen Speicher bestimmt, so bestimmen die
Bits 2 und 3 den Anschluß des internen Speichers und die Steueradressen für den Festwertspeicher in dem Steuerwerk
des internen Speichers. Das Bit 2 entspricht der Exklusiv-Oder-Verknüpfung des anfänglichen Wertes und der internen
Speicher-Anschlußkennzeichnungsleitung von der Schnittstelle SIU. Das Bit 3 entspricht der Exklusiv-Oder-Verknüpfung
des PCR-Festwertspeicher-Bits, falls der anfängliche
Wert Null ist.
Bit 5 Dieses Bit definiert einen Ein- oder Doppelwort-Speicherzyklus.
Es entspricht dem Bit 1 des ZAC-Feldes des Steuerspeicherregisters
CSR .
Bit 6 Dieses Bit definiert einen Lese- oder Schreibzyklus. Es entspricht dem Bit O des ZAC-Feldes des Steuerspeicherregisters
CSR.
Die Steuerung für einen programmierbaren Unterbrechungsbefehl (PI-Befehl) wird wie folgt erzeugt:
Bit O Dieses Bit entspricht dem Wert 1 für einen PI-Befehl.
Bits 1-4 Diese Bits bestimmen den Anschluß der Schnittstelleneinheit
SIU,an den der PI-Befehl gerichtet ist und sie entsprechen
den Bits 0-3 des Prozeßzustandsregisters PSR.
Bits 5-6 Diese Bits sind die gleichen wie bei einem Lese/Schreibspeicherzyklus
und werden in der gleichen Weise erzeugt.
Die Ausgänge des Steuerschalters werden in das Steuerregister in der Schnittstelleneinheit SIU zu jedem Zeitpunkt taktweise eingegeben,
zu dem ein Speicherzyklus oder ein PI-Befehl ausgelöst
wird.
Ergebnis-Doppelkanal
Der Ergebnis-Doppelkanal (R-XBAR) 340 erzeugt eine gleichzeitige übertragung seiner Eingänge sowohl zu dem Daten-Ausgangsregister
312 als auch zu dem Arbeitsregister 326. Ein dritter Ausgang ist
an eine nicht dargestellte Anzeigetafel angeschlossen und bildet den Datenweg für die Anzeige des Inhalts der meisten Register
des Prozessors IOP/P. Der Ausgang zu dem Arbeitsregister wird durch die Schreibadressen-Bits in dem Steuerspeicherregister CSR
6 0 9 8 4 2/0887
- 30 - ?6 li>l)S9
gesteuert und kann auf irgendeinen von vier Eingängen geschaltet werden. Der Ausgang zu dem Daten-Ausgangsregister 312 wird durch
das Datenausgangs-Schreibadressen-Bit in dem Steuerspeicherregister CSR gesteuert und kann entweder den Addier/Verschiebe-Ausgangsschalter
338 oder den Adressenschalter 336 auswählen. Wenn die nicht dargestellte DPCR-Leitung von der Schnittstelleneinheit
SIU aktiviert wird, muß diese Position jedoch den PSR/ PCR-Eingang auswählen.
0) ALU/Verschiebe-Ausgangsschalter
1) Adressenschalter
2) PSR/PCR-Schalter
3) SPB-Eingangsschalter
Arbeitsregister
Die vier Arbeitsregister sind in der zweifach auslesbaren Registerreihe
326 enthalten. Das Register 0 enthält den laufenden Inhalt des Befehlszähler IC. Die Register 1,2 und 3 sind Arbeitsregister für die Befehlsausführung. Sie sind mit R1, R2 und R3
bezeichnet. Die beiden Ausgänge der Arbeitsregister sind mit WRP und WRR 'bezeichnet. Der Ausgang WRP wird benutzt, um auf Seitentabellenworte
des PTW-Zwischenspeichers Zugriff zu nehmen sowie für die Lese/Schreibspeicher-Adressenerzeugung· und er ist zu
dem Allgemeinregister-Zwischenspeicher 328 und zu dem SPB-Register 330 geführt. Die durch den Ausgang WRP freigegebenen
Register werden durch die WRP-Bits in dem Steuerspeicherregister 319 gesteuert. Der Ausgang WRR wird benutzt, um Operanden an die
Schalter 322 und 320 sowie an die Eingänge der beiden Register PSR und PCR zu legen. Die durch das Ausgangssignal WRR freigegebenen
Register werden durch die WRR-Bits in dem Steuerspeicherregister 319 gesteuert. Die Arbeitsregister können durch irgendeinen
der Doppelkanal-Eingänge geladen werden. Das zu ladende Register und der Schreibtakt wird durch die Schreibadresse und
die Schreib-Bits in dem Steuerspeicherregister CSR-319 gesteuert. Hinsichtlich für Lese- bzw. Schreiboperationen ausgewählten Registerngibt
es keine Unterschiede. Es können drei verschiedene Register vorhanden sein oder es können alle Register gleich sein.
ORIGINAL INSPECTED
R0 9 8 4 2/0887
- 31 - ?6 17059
PSR/PCR
Das Prozeßzustandsregister PSR-342 befindet sich außerhalb des
Allgemeinregister — Zwischenspeichers, da es fortlaufend überwacht
und ergänzt wird. Es wird von dem Ausgang WRR der Arbeitsregister 326 geladen. Ein Schreibtakt wird jedesmal für das
Prozeßzustandsregister PSR erzeugt, wenn ein Programm im Hauptbetrieb das Allgemeinregister GRO lädt oder die Steuer-Bits
der Register PSR/PCR in dem Steuerspeicherregister CSR eine Schreiboperation hinsichtlich des Prozeßzustandsregister PSR
bestimmen. Das gesamte Prozeßzustandsregister PSR wird während einer Ladeoperation von GRO im Hauptbetrieb, während der Ausführung
einer Ausnahme des ECB oder der Ausführung eines DISP-, MME-, RMM- oder REL-Befehls geladen. Wenn eine Unterbrechung
ausgeführt wird, so wird vor dem Laden die Steuerung von dem ünterbrechungs-Datenwort aus dem ICB in die Daten des Prozeßzustandsregisters
PSR eingefügt.
Ein Zustands-Code CC, ein übertrag C und ein Prozeßzeitgeber
werden fortlaufend ergänzt. Der Zustands-Coda CC wird jedesmal geladen, wenn ein Befehl ausgeführt wird, der eine Ergänzung des
Zustands-Codes erfordert. Der Übertrag c wird jedesmal dem Übertragsausgang
der arithmetischen Recheneinheit ALU entnommen, wenn der Zustands-Code CC geladen wird und die ALU im arithmetischen
Betrieb arbeitet. Der Prozeßzeitgeber wird jeweils um 1 herabgezählt, wenn das nicht dargestellte Zeitnormal überläuft. Das Zeitnormal
wird durch einen 8-Bit-Zähler repräsentiert, welcher alle Systemtakte zählt. Das Zeitnormal wird ferner benutzt, um eine
nicht vollständige Operation festzustellen oder um eine Ausnahme zu verriegeln, wie sie unter dem Abschnitt "Ausnahmen" beschrieben
wurde.
Das Prozeßsteuerregister PCR-344 ist allen Prioritätsrängen gemeinsam
zugeordnet. Es wird von dem Ausgang WRR der Arbeitsregister geladen. Hierbei sind jedoch nicht alle Bits ladbar. Ein
Schreibtakt wird hinsichtlich der ladbaren Bits erzeugt, wenn die PSR/PCR-Steuer-Bits in dem Steuerspeicherregister CSR eine
PCR-Schreiboperation definieren. Die Bits 18-19 und 28-34 sind
609842/0887
ladbar. Die Bits 0-16 werden gesetzt, wenn der definierte Zustand
auftritt und sie werden durch eine Setz/Rückstell-Bit-Steuerung
in dem Steuerspeicherregister CSR zurückgestellt. Die Bits 23-26 sind zum Lesen durch die Software vorgesehen.
Der PSR/PCR-Schalter in dem Doppelkanal R-XBAR wählt das entsprechende
Register zum Laden in die Arbeitsregister aus. Dieser Schalter wird durch die PSR/PCR-Steuer-Bits in dem Steuerspeicherregister
CSR gesteuert und wird zur Auswahl von PCR gezwungen, wenn die DPCR-Leitung von der Schnittstellenheit SIU
aktiviert wird.
Die zweifach auslesbare Registeranordnüng 314 erzeugt vier Worte
für eine Befehlspufferung. Der Leseausgang für den laufenden Befehl CIR-380 und der Leseausgang für den nächsten Befehl NIR 38Oa
erzeugt einen Zugriff zu dem gesamten Befehl, unabhängig von der Befehlslänge und der Adresse. Dies wird durch den Befehlsregisterschalter
IRSW-319 verwirklicht. Die CIR-Adresse entspricht
den Bits 32 und 33 des laufenden Befehlszählers IC, welche Bits
auf eines der vier Worte verweisen. Die NIR-Adresse wird erzeugt, um auf das folgende Wort zu verweisen. Der Schalter IRSW-319a
wird durch das laufende Bit 34 des Befehlszählers IC gesteuert, wodurch festgelegt wird, ob der Befehl mit einer Wort- oder Halbwortadresse
beginnt. Die beiden Stellungen des Schalters IRSW-319a sind deshalb: (0) CIR-Bits 0-35 und (1) CIR-Bits 18-35,
NIR-Bits 0-17. Die Bits 0-17 des Schalters IRSW geben einen
Halbwort-Befehl und die Bits 0-35 des Schalters IRSW geben einen Ganzwort-Befehl wieder. Die CIR- und NIR-Adressen werden jedesmal
ergänzt, wenn der Befehlszähler IC des Arbeitsregisters ergänzt wird. Alle Felder des Befehlswortes müssen d^Jaer vor einer
Ergänzung des Befehlszählers IC benutzt werden.
Das Befehlsregister IR-314 wird jedesmal geladen, wenn ein neuer
Wert in den Befehlszähler IC aufgrund einer Unterbrechung, einer Ausnahme, einer Verzweigung usw. geladen wird oder jedesmal dann,
wenn die CIR-Adresse eine Zweiwortgrenze überschreitet und der Befehlszähler IC durch die laufende Befehlslänge ergänzt wird.
(i 0 9 8 4 2 / 0 8 B 7
26
Die Befehls-Zugriffssteuerung ist nachstehend für zwei Zustände
beschrieben, wobei der Zustand 1 dem Eintritt in eine neue Prozedur und der Zustand 2 der Erhöhung durch die laufende Prozedur
entspricht. In beiden Fällen stellen sich die Befehlsabrufe als Speicherzyklen mit doppelter Präzision dar und die Adressierung
erfolgt seitenunterteilt, sofern nicht das Prozeßzustandsregister PSR ein absolutes Adx-essierverfahren festlegt.
1) Der Doppelwort-Befehlsabruf wird ausgelöst und die Befehlsregister-Schreibadresse
mit dem Takt geladen, der den neuen Wert des Befehlszählers IC in Seiten unterteilt. Die Befehlsregister-Schreibadresse
wird mit 00 geladen, wenn das Bit 32 des Befehlszählers den Wert 0 aufweist oder sie wird
mit 10 geladen, wenn das Bit 32 des Befehlszählers IC den Wert 1 aufweist. Die CIR- und NIR-Adressen werden geladen,
wenn der neue Wert des Befehlszählers IC geladen ist. Wenn das erste Wort im Speicher verfügbar ist, wird es in das Befehlsregister
IR eingeschrieben und es wird das niedrigrangigste Bit der Schreibadresse gesetzt. Hierdurch wird
das nächste Speicherwort in das zweite Wort des Paares (01 oder 11) geschrieben. Der Wert des BefehlszählersIC+8
(Bytes) wird sodann benutzt, um eine andere Speicherauslesung mit doppelter Präzision unter Heranziehung der seitenunterteilten
Adresse auszulösen. Die Befehlsregister-Schreibadresse wird mit den nächsten zwei Worten ergänzt
(10 wenn IC-Bit 32=0 oder 00 wenn IC-Bit 32=1) und es wird ein Test durchgeführt, um festzustellen, ob die Befehlsausführung
beginnen kann oder warten muß, bis der Speicherzyklus vollendet ist. Der Test wird mit dem Bit 33 des Befehlszählers
IC durchgeführt. Wenn der Test ergibt, daß eine neue Prozedur mit dem letzten Halbwort eines Zweiwortpaares
(33, 34=1, 1) begonnen wurde, so muß die Befehlsausführung verzögert werden, bis die Daten aus dem zweiten >
Zyklus mit doppelter Präzision verfügbar sind, um zu gewährleisten, daß das Befehlsregister IR ein vollständiges
Befehlswort enthält.
609842/Ü887
2 6 1/O B 9
2) Die Ausführung eines jeden Befehls umfaßt die Ergänzung
des Befehlszählers IC durch die Länge des jeweiligen Befehles.
Wenn diese Ergänzung den Befehlszähler IC zur Überschreitung einer Zweiwortgrenze (alter IC 32 = neuer
IC 32) veranlaßt, so kann der Zweiwortbereich des Befehlsregisters IRfder gerade beendet wurde, (alter IC 32 Wert)
mit neuen Befehlen geladen werden. Der neue IC-Wert plus acht (Bytes) wird sodann benutzt, um eine Speicherlese-operation
mit doppelter Präzision unter Verwendung der seitenunterteilten Adressierung auszulösen. Die Befehlsregister-Schreibadresse
wird ergänzt, um auf den verfügbaren Befehlsregisterbereich hinzuweisen. Wenn die beiden
Worte empfangen werden, werden sie in den Zweiwortbereich, wie zuvor beschrieben, eingeschrieben.
Steuerspeicher-Adressierung und Fortschaltung Die Steuerspeicheradresse wird in dem CSA-Schaiter 316 er-
eri
zeugt. Die ersten vier Position des CSA-Schalters v/erden durch das CSA-Schalter-Steuerfeld in dem Steuerspeicherregister CSR-319 gesteuert. Der CSA-Schalter 316 kann das Nächstadressregister NA 382, das Rückkehradressregister RA-384, das Ausführadressregister XA-386 oder den Ausgang des Standardfolge-Decodiernetzwerkes SS-388 auswählen. Die Ausnahme-Unterbrechungsposition wird zwangsweise eingenommen, wenn irgendeiner dieser beiden Zustände vorliegt. Die Ausnahmeadresse wird wiedergegeben, sofern nicht eine Unterbrechung ausgeführt wird. Die beiden PTW-Fehlpositionen liegen zwangsweise vor, wenn das Fehlen eines Seitentabellenwortes PTW festgestellt wird. Die Konstantenposition wird gewählt, wenn das Verzweigungs-Steuerfeld in dem Steuerspeicherregister CSR eine Verzweigung nach der Konstantenadresse anfordert.
zeugt. Die ersten vier Position des CSA-Schalters v/erden durch das CSA-Schalter-Steuerfeld in dem Steuerspeicherregister CSR-319 gesteuert. Der CSA-Schalter 316 kann das Nächstadressregister NA 382, das Rückkehradressregister RA-384, das Ausführadressregister XA-386 oder den Ausgang des Standardfolge-Decodiernetzwerkes SS-388 auswählen. Die Ausnahme-Unterbrechungsposition wird zwangsweise eingenommen, wenn irgendeiner dieser beiden Zustände vorliegt. Die Ausnahmeadresse wird wiedergegeben, sofern nicht eine Unterbrechung ausgeführt wird. Die beiden PTW-Fehlpositionen liegen zwangsweise vor, wenn das Fehlen eines Seitentabellenwortes PTW festgestellt wird. Die Konstantenposition wird gewählt, wenn das Verzweigungs-Steuerfeld in dem Steuerspeicherregister CSR eine Verzweigung nach der Konstantenadresse anfordert.
Das Nächstadressregister NA-382 wird bei jedem Ausführungstakt mit
der Summe des Ausgangs des CSA-Schalters 316 plus 1 plus eine Zustands-Sprungkonstante390
geladen. Wenn durch das CSR-Sprungsteuerfeld keine Sprung gefordert wird, so wird das Nächstadressregister
NA-382 mit der Adresse des Mikrobefehls geladen, der unmittelbar auf den Mikrobefehl folgt, auf den Zugriff genommen wurde. Das
609842/088 7
heißt, daß der Takt, der den Mikrobefehl an der Adresse M in das Steuerspeicherregister CSR lädt, die Adresse M+1 in das Nächstadressregister
NA lädt. Wenn eine Zahl von Mikrobefehlen bedingungsgemäß übersprungen werden muß, so kann das CSR-Sprungfeld
festlegen, daß ein Sprung ausgeführt wird, wobei das CSR-Konstantenfeld die zu testende Bedingung und die Anzahl der zu
überspringenden Mikrobefehle festlegt. Die Schrittfolge bei einem Sprung ergibt sich wie folgt: Der Mikrobefehl an der Adresse M
ruft einen bedingten Sprung hervor. Durch die Ausführung dieses Mikrobefehls wird M+1 in das SteuerSpeicherregister CSR geladen
und es wird die Adresse von M+1+1+SKP indas Nächstadressregister
NA geladen. M ist ein Speicherplatz im Steuerspeicher 318. SKP
nimmt den Wert Null ein, wenn der Sprung nicht zufriedenstellend
wird
ausgeführt und SKP nimmt die Sprungzahl ein, die durch die niedrigrangigsten
drei Bits des CSA-Konstanfeldes bestimmt sind, wenn der Sprung den Bedingungen genügt. Der Sprung wird gesperrt,
wenn irgendeine der letzten vier Positionen in dem CSA-Schalter ausgewählt wird.
Die Bedingungen, die hinsichtlich der Sprungausführung überprüft werden können, sind durch die Bits 3-5 des CSR-Konstantenfeldes
definiert. WRR 35, WRR O, WRR 33 und das Übertrags-Bit im Prozeßzustandsregister
PSR müssen auf den Wert Null oder 1 überprüft werden. Das PSR-Zustands-Code-Feld wird auf Null, eins, zwei oder
drei überprüft. Die Bits 1-2 des Konstantenfeldes werden herangezogen, um den Test festzulegen. Die zu testenden Zustände sind
folgende:
0) WRR 35=K2 wenn K1=1
WRR O=K2 wenn K 1=0
WRR O=K2 wenn K 1=0
1) Übertrags-Bit in PSR=K2
2) WRR 33-34=Ki-2
3) Adresssilbe (AS) mitIRSW 18=0
4) PSR Zustands-Code-Feld weist entsprechendes Bit im IRSW CF
Feld auf
5) PSR Zustands-Code-Feld=I<1-2
6) IRSW 7=WRR0 wenn K1=0
IRSW 7=K2 wenn K1=1
IRSW 7=K2 wenn K1=1
H U 9 B A 2 / 0 H B 7
7) Höherer Unterbrechungsrang oder Rang Null auf Leitung von Schnittstelleneinheit SIU vorliegend, wenn K2=O.
Rang Null-Unterbrechung auf Leitung von Schnittstelleneinheit SIU vorliegend,wenn K2=1.
Das Rückkehr-Adressregister RA-384 wird von dem Nächstadressregister
NA-382 geladen, wenn immer das Lade-Bit für das Register RA in der Steuerspeichereinheit CSR vorliegt.
Das Ausführungs-Adressregister XA-386 wird mit dem Ausgang des Wegsuchers 217 jedesmal geladen, wenn die Standardfolge-Position
durch den CSA-Schalter ausgewählt wird. Die Benutzung des Wegsuchers
wird weiter unten beschrieben. Sein Ausgang weist ein Steuer-Bit und acht Adress-Bits auf. Die Adresse wird benutzt,
um die oberen 256 Worte des Steuerspeichers zu adressieren. Das Adress-Bit Null wird zwangsweise auf 1 gesetzt, wenn der CSA-Schalter
216 die Position XA einnimmt.
Die Ausführung eines Software-Befehles erfolgt in zwei Phasen.
Die erste Phase besteht aus einer Mikrobefehlsfolge, die einer
Gruppe von Befehlen gemeinsam ist. Die zweite Phase ist eine Mikrobefehlsfolge, bestehend aus einem einzigen Mikrobefehl in den
meisten Fällen, die dem spezifischen auszuführenden Software-Befehl zugeordnet ist. Nach Vervollständigung der zweiten Phase
wird in die dem nächsten Befehl gemeinsame Phase eingetreten, wobei in einigen Fällen die zweite Phase über das RA-Register
für einige zusätzliche gemeinsame Schritte zu der ersten Phase zurückkehren kann, bevor in die den nächsten Befehlen gemeinsame
Phase eingetreten wird.
Der Operations-Code des Schalters IRSW-319a erzeugt die Wegsuchadresse
und ein Eingangssignal für das Standardfolgen-Decodiernetzwerk 388. Das Standardfolgen-Decodiernetzwerk erzeugt die
Steuerspeicheradresse für den Start der Mikrobefehlsfolge, die der Gruppe von Befehlen zugeordnet ist, die diese Folge enthalten.
Diese Folge sei als Standardfolge bezeichnet. Der Speicherplatz in dem Wegsucher der durch den Operations-Code adressiert wird,
ß09842/0887
- 37 - '/-B IVOR 9
enthält die Adresse im Steuerspeicher, an der die Folge für diesen
Befehl beginnt. Der Befehl wird sodann ausgeführt durch Verzweigung zu der Standardfolgeadresse, durch Ausführung der gemeinsamen
Schritte, Verzweigung zu der Folgeadresse im XA-Register 386, Ausführung der entsprechenden Schritte, Ergänzung des Inhalts
des Befehlszählers IC, so daß der Operations-Code der nächsten
Befehle aus dem schalter IRSW freigegeben wird und durch Wiederholung
der obengenannte Folge durch Verzweigung zu der neuen Standardfolge.
Die Antwort auf eine Unterbrechung, die Ausnahmeverarbeitung und die auf ein fehlendes Seitentabellenwort hinweisenden Folgen werden
bearbeitet, indem die entsprechende Position in dem CSA-Schalter 316 ausgewählt wird. Die Unterbrechungen werden bei der
Vervollständigung von Software-Befehlen ausgeführt. Wenn der nicht gesperrte höhere Unterbrechungsrang vorliegt oder die
Nullrangleitung von der Schnittstelleneinheit SIU aktiviert ist und wenn die Stellung SS des CSA-Schalters durch die entsprechenden
Steuer-Bits in dem Steuerspeicherregister CSR ausgewählt sind, so wird die Steuerlogik des CSA-Schalters zur Auswahl der Position
Ausnahme/Unterbrechung gezwungen. Dies veranlaßt den Eintritt auf die Unterbrechungs-Beantwortungsfolge anstelle einer Bearbeitung
,.der nächsten Befehls-Standardfolge. Die Position Ausnahme/ Unterbrechung gibt die Adresse der Unterbrechungs-Beantwortungsfolge
zu diesem Zeitpunkt wieder.
Fehlende Seitentabellenworte veranlassen den sofortigen Eintritt in eine PTW-Fehlfolge. Durch die Steuerlogik des CSA-SChalters
wird während der Taktperiode,die unmittelbar auf den Schritt der Seitenbildung folgt, der Operand oder der Befehl zur Einnahme der
Fehlposition gezwungen. Die Rückkehr von irgendeiner dieser Folgen erfolgt zu der Standardfolge, die von dem Schalter IRSW-319a decodiert
wird. Dies veranlaßt eine erneute Bearbeitung des zuvor bearbeiteten Befehls. Das Mikroprogromm bewirkt daher vor der
Feststellung eines fehlenden Seitentabellenwortes PTW nichts was nicht erneut getan werden könnte. Ein nicht dargestelltes Flip-Flop
wird gesetzt, wenn das fehlende Seitentabellenwort PTW
Ci 0 9 8 A 2 / ü 8 8 7 °RiG'NAL
festgestellt wird und bleibt gesetzt, bis die Adresse erneut seitenunterteilt worden ist. Ein Fehlen beim zweiten Mal veranlaßt
eine Ausnahme, die weiter unten definiert ist.
Die Ausnahmen unterteilen sich in zwei Kategorieren. Der erste Typ verursacht einen sofortigen Eintritt in die Ausnahmeverarbeitungsfolge.
Der zweite Typ beeinflußt die Steuerlogik des CSA-Schalters 316 solange nicht, bis die nächste Befehlsstandardfolge
bearbeitet wird. Beide Typen rufen die Auswahl der Position Ausnahme/Unterbrechung in dem CSA-Schalter 316 hervor und sie
setzen das entsprechende Bit in dem Prozeßsteuerregister PCR-344.
Die erste Kategorie von Ausnahmen sind nicht-vollständige Operationen,
Seitenfehler, nicht vorhandene Seiten und illegale Befehle. Sie alle müssen behandelt werden, sobald sie festgestellt
werden, da eine Fortführung der Befehlsausführung unmöglich ist. Die zweite Kategorie von Ausnahmen betrifft einen Prozeßzeitgeber-Auslauf,
Überlauf, Verriegelungsfehler und Adressenfehlausrichtung.
Eine Divisionsprüfung wird bei einem Test durchgeführt und eine Verzweigung findet statt, wenn der Divisor den Wert Null aufweist.
Alle diese Ausnahmen zeigen Fehler anraber sie müssen nicht sofort
behandelt werden und können warten bis zum Beginn des nächsten Befehles.
Steuerspeicher-Ausgangsregister
Das S'teuerspeicher-Ausgangsregister CSR-319 enthält den auszuführenden
Mikrobefehl.Ein externes Steuerspeicherregister kann
vorgesehen sein, wie dies angedeutet ist. Ein Schalter 394 kann eine von vier Lagen jeweils einnahmen und bildet den Eingang für
das Steuerspeicherregister CSR. Die vier Positionen des Eingangsschalters 394 sind folgende:
0) Diese Position bildet den Eingang von den Festwertspeicherchips
zu den Steuerspeichersubstraten;
1) diese Position wird nicht benutzt;
2) Diese Position bildet den Eingang von der Wartungskonsole;
3) diese Position gibt das interne Steuxspeicherregister CSR
wieder· Diese Position wird benutzt, um die Bits des
609842/0887
26 17059
externen Steuerspeicherregisters CSR erneut zu laden, wenn die Schalter der Bedienungskonsole für die Anzeige
von Daten benutzt werden.
Daten werden in das Ein/Ausgangssystem durch Simulation des Steuerpseicherregister CSR über die Schaltung der Wartungskonsole
eingegeben. Wenn die Schalter durch den CSR-Eingangsschalter 39
freigegeben werden, so wird ein Signal erzeugt, das das Laden der externen CSR-Bits mit dem durch die Schalter simulierten Mikrobefehl
verursacht. Der alte Inhalt muß erneut geladen werden, wenn die Anzeige der Register vervollständigt wird. Dies geschieht
durch Auswahl der Position 3 für einen Takt vor dem Rückschalten auf die Position Null und durch erneutes Laden der
externen CSR-Bits während der einen Taktperiode. Das Format des Steuerspeicherregisters CSR ist folgendesί
Bit 0 Takt NA in RA
Bit'1 Führe Sprung aus (K1-2=Test, K3-5=Zustand, K6-8= Sprungzählstand
Bit'1 Führe Sprung aus (K1-2=Test, K3-5=Zustand, K6-8= Sprungzählstand
Bit 2 Verzweigung nach Ko-8
Bits 3-4 WR-Schreibadresse
Bits 3-4 WR-Schreibadresse
OO=schreibe IC (Lade WA wenn Schreiben WR)
Oi=schreibe R1 (Setze W wenn Schreiben WR und CSA=SS) iO=schreibe R2
11=schreibe R3
Bit 5 Warten auf die Annahme von Lesedaten (ARDAJ1 von der
Bit 5 Warten auf die Annahme von Lesedaten (ARDAJ1 von der
Schnittstelleneiheit SIU
Bits 6-7 X-BAR-Adresse für WRW-Ausgang OO=Addier/Verschiebe-Ausgangsschalter Oi=Adressenchalter
Bits 6-7 X-BAR-Adresse für WRW-Ausgang OO=Addier/Verschiebe-Ausgangsschalter Oi=Adressenchalter
1O=PSR/PCR-Schalter
11=SP-Ausgangsschalter
Bits 8-9 Zustands-Code (CC)-Steuerung . 0O=NOP
Bits 8-9 Zustands-Code (CC)-Steuerung . 0O=NOP
01=Ladearithmetik
iO=Ladelogik
1l=Ladeparität von niedrigrangigstem SPB-Byte
609842/0887
- 40 - 26 1/059
Bit 10 Schreibe PTW-Zwischenspeicher Bits 11-13 ZAC für Lese/Schreib-Speicherzyklus (Bits 1-3 der
Lese/Schreib-Adressen-Schalterpositionen 0 und 1) OXX^Lesen
1XX=Schreiben
XOX--Einfachpräzision XiX=Doppelpräzision
Bit 14 Setz/Rückstell-Bits definiert durch CSR41-44
Bits 15-17 SIü-Anforderungstyp
00O=NOP
001=Unterbrechungsdaten 0i0=Freigabe und Unterbrechungsdaten
011=Speicher oder piogrammierbare Schnittstellendaten
(PI wenn 19-20=10) iOO=Gelesenes Byte zum Schreiben (Byte-Adresse, Lese/
Schreib-Zone,wenn schreiben) + 101=Befehlabruf
+ 1iO=Befehlabruf wenn CIRO=IRWO *■+ 111=Befehlabruf wenn Sprungtest erfüllt oder wenn CSRI=O
+ 1iO=Befehlabruf wenn CIRO=IRWO *■+ 111=Befehlabruf wenn Sprungtest erfüllt oder wenn CSRI=O
eine * Diese Codes verursachen'PTW-Fehl-Befehlsfolge, wenn ein
Seitenfehler festgestellt wird
·*■■*■ Dieser Code verursacht eine PTW-Operanden-Fehlfolge,
wenn ein Seitenfehler festgestellt wird
Bit 18 PTW-Zwischenspeicheradresse 0=erweiterte Lese/Schreiboperation von WRP
1=laufender Rang der PTW-Lese/Schreiboperation von der
effektiven Adresse Bits 19-2OAdresse-Schaltersteuerung
OO=seitenunterteilte Adresse (Steuerlogik erzwingt den Wert 01, wenn PSRiO=D
Oi=absolute Adresse 10=PI-Adresse
11=PTW-Zwischenspeicher 0-35 Bit 21 Schreibe WR
6 0 9842/0887
Bits 22-23 CSA-Schaltersteuerung (erste vier Positionen)
OO=Nächst-Adressregintcr (NA) Oi=Rückkehr-Adressregister (RA)
1O=Ausführungsadressregister (XA)
11=Standard-Folgeadresse
Bits24-25 WRR-Leseadresse Bits 26-27 WRP-Leseadresse 0O=IC
O1=R1 1O=R2
11=R3 Bit 28 Operandenschalter
O=SPB
1 =WRR Bits 29-30 PSR/PCR-Steuerung und ALU-Betriebsweise
00= Lese PBR oder logische Betriebsweise Oi=Lese PCR oder arithmetische Betriebsweise
iO=Schreibe PSR
11=Schreibe PCR Bits 31-32 Addierer/Verschieber-Ausgangsschalter
00=Verschieber 0I=ALU iO=Speichern
11=Laden Bits 33-35 B Operandenschalter
00O=DL 001=DS 01O=IS O11=IL
10O=WRR 101=8, Wortlänge oder übertrag 11O=Konstante KO-8
111-DI Bits 36-44 Konstante KO-8
Dieses Feld wird ebenfalls für eine gegenseitige exklusive Steuerung benutzt.
B0 9842/0887
- 42 - 26 ϊ?059
Bits 36-37 8/WL/CY-Steuerung
00, 8/WL/CY=IRSW Befehlswortlänge
01, 8WL/CT=PSR Übertrags-Bit
10, 8/WL/CY=8
Bits 36-38 Verschiefoe-Zählstand-Schaltersteuerung
000 Linksverschiebung
001 Rechtsverschiebung
010 CSR-Verschiebezählstand (39-44)
011 Befehl Fi-FeId
100 Befehl F2-Feld
101 Befehl F3-Feld
110 Byte laden
111 Byte speichern
Bits 39-44 CSR-Verschiebe-Zählstand Bits 36-44 CSA-Schalter-Verzweigungsadresse
Bits 37-38 Sprung-Testwert für getestete Bedingungen mehrerer Werte
Bit- 38 WA-Eingang-Schaltersteuerung (O=GRI, 1=GR2)
Bits 39-41 Sprung-Testbedingung
000 WRR35=CSK38 wenn CSR37=1
WRRO=CSR38 wenn CSR37=O
001 PSR13 (Übertrag)=CSR38
010 WRR33=CSR38
011 IRSW 14-35 enthält Ädressilbe und Bit 18-0
100 BRAC CF-FeId besitzt Bit entsprechend PSR CC
wenn CSR 38=1
BRAC CR-FeId besitzt kein Bit entsprechend PSR CC wenn CSR38=O
101PSR CC-Peld=CSR37=38
110 IRSW7=WRR0 wenn CSR37=O
IRSW7=CSR38 wenn CSR37=1
111 SIÜ-HLIP-Leitung aktiv und nicht gesperrt oder
LZP aktiv
Bits 42-44 Spring-Zählstand Bits 38-44 GR-Zwischenspeicher-Gesamtadresse
Bits 41-44 GR-Zwischenspeicher-Adresse pro Prioritätsrang
R 0 9 8 4 2 / 0 Β 8
- 43 - ?B |?l]UQ
Bits 41-44 Setze/Rückstelle Bit-Adresse
0000 Rückstelle Halte-Betriebsweise
0001 Setze Haltc-Betriebsweise
0010 Rückstelle Sperr-Unterbrechungs-Betriebsweise
0011 Setze Sperr-Unterbrechungs-Betriebsweise
0100/0101 Rückstelle PCR-Ausnahme-Speicherung 0110/0111 nicht definiert
1000/1001 Invertierung DO, Steuerung und Unterbrechung der Datenparität
1010/1011 Invertierung von PR-Parität und bedingte
Sperrung von GR SP-Schreibtakt
1100/1101 Bedingte Sperrung von DR SP-Schreibtakt
1110/1111 Setze Maßnahme-Flip-Flop F/F
Bits 45-48 ALU-Steuerung/Verschiebeeingang-Schaltersteuerung Bits 45-48 ALU-Operation (CSR30=Betriebsweise)
Bits 45-46 Linksverschiebung-Eingangsschalter
0O=A Operandenschalter
01 Vorzeichen des Rechtsverschiebung-Eingangsschalteis
. 10 Nullstellen
11 Einerstellen
Bits 47-48 Rechtsverschiebung-Eingangsschalter
Bits 47-48 Rechtsverschiebung-Eingangsschalter
OX Nullstellen
10 B-Operandenschalter
11 A-Operandenschalter
Bits 49-50 GR-Zwischenspeichersteuerung
0O=NOP
01=Schreiben GR-Zwischenspeicher
iO=Laden SPB von GR Zwischenspeicher
11= ■ Laden SPB von WRP Bits 51-53 GR-Zwischenspeicheradresse
OOO=CSR-Zwischenspeicher-Gesamtadresse (CSR 38-44)
609842/Ü887
- .44 -
2617059
Bits 51-53 001"CSR Zwischenspeicher-Adresse pro Prioritätsrang (AIL, CSR41-44)
010= erweiterte Lese/Schreibadresse von WRR 011=laufender Prioritätsrang XR2
i00=laufender Prioritätsrang XR1 i02=laufender Prioritätsrang GR1
1i0=ungerades Register des durch WA im laufenden Prioritätsrang adressierten Paares
111=WA-Adresse im laufenden Prioritätsrang
Bit 54 , A Operandenschalter
O=SPB
1 =WRR
Der Steuerspeicher 318 besteht aus einem im Stand der Technik bekannten
Festwertspeicher ROM. Das im Steuerspeicher 318 abgelegte
Mikroprogramm steuert die erfindungsgemäßen Operationen. Wenn der Steuer speicher 318 entsprechend mikroprogratnmiert
ist, so bildet er die Firmware gemäß der Erfindung.
Die Firmware unterscheidet sich von einem Software-Programm dadurch, daß eine tatsächliche Operation in dem Festwertspeicher
ROM ausgeführt wird und beispielsweise ein Spannungsversorgungsausfall
dieses Mikroprogramm nicht verändert. Diese Ausbildung ist einem festverdrahteten Computerprogramm verwandt.
Bei einer Software-Porgrammierung ergibt sich jedoch keine physikalische Veränderung des Speichers, sondern nur eine
elektrische Veränderung, so daß beispielsweise ein Spannungsversorgungsausfall
das Programm im Speicher des Rechners zerstört. In Bezug auf eine Hardware-Logik besteht keine Verwandtschaft.
6 09842/0887
2B I 70 5 9
Aus dem vorstehend beschriebenen Aufbau des erfindungsgemäßen
DV-Systems ergibt sich folgende Wirkungsweise:
Die vorliegende Erfindung macht von vielen Vorgriffsmerkmalen
bekannter Computer Gebrauch, wobei ein Befehlsabruf eines nachfolgenden
Befehles der vollständigen Ausführung eines zuvor aufgerufenen Befehles vorausgeht, wie dies in der US-PS 3 254
•e.
beschrieben ist. Die Erfindung macht ferner von Merkmalen Gebrauch,
wie sie in der US-PS 3 202 969 erwähnt sind-nach der der Befehl aus dem Speicher abgerufen und mit seiner Ausführung
begonnen werden soll, während die arithmetische Operation läuft. Ebenso wird bei der vorliegenden Erfindung von der eingangs erwähnten
Fließbandbearbeitung von Befehlen Gebrauch gemacht.
Das Befehlsregister 314 speichert bis zu 4 auszuführende Befehle, die aus dem Hauptspeicher während der Ausführung vorangegangener
Befehle abgerufen worden sind. Insbesondere wird mit der Ausführung des nächsten auf seine Bearbeitung wartenden Befehls
im Befehlsregister 314 während der Ausführung eines laufenden Befehls begonnen, indem die Bits 0-17 (siehe Figuren 2M - 2N)
in den Bitpositionen O - 17 in dem Befehlsregisterschalter 319a abgelegt werden. Die Indexbits 14 - 17 gemäß Figur 2N des nächsten
Befehls werden sodann benutzt, um ein Allgemeinregister im Zwischenspeicher 328 über den Wegsucher 319a und den Multiplexerschalter
332 (LEV, XRl) zu adressieren. Diese Operation wird als ein Teil der DONE-Anweisung ausgeführt, welche den
letzten Microbefehl innerhalb des gerade ausgeführten Softwarebefehls bildet.
Der Inhalt des Zwischenspeichers 328 wird in den Zwischenspeicher-Puffer SPB-330 ausgelesen und die Adresse des
Indexregisters XRl wird über den Schalter 332 und den Datenweg SPA in den Zwischenspeicher 328 geholt. Das Bit 18 der Adresssilbe
des Befehls (Figur 2N) wird auf "1" gesetzt, falls eine
B 09842/0887
zweite Rangindizierung angefordert wird. Der Mikrobefehl DONE ruft einen Sprungtest auf, um festzustellen, ob die zweite
Rangindizierung angefordert wird oder nicht. Schließlich fordert er die Standardfolge SS zur Bildung der Steuerspeicheradresse
CSA an. Die Standardfolge SS stellt die gemeinsame Routine zur Ausführung des nächsten Softwarebefehls
dar.
Sodann wird mit einem Wortlese-Speicherzyklus begonnen.
Die Adresse wird aus R2 in den Arbeitsregistern 326 freigegeben. Der PTW-Zwischenspeicher 334 wird adressiert und
es wird die seitenunterteilte (oder absolute) Adresse in dem Adressenschalter 336 gebildet. Die Adresse wird über den
Doppelkanal X-BAR 338 in das Daten-Ausgangsregister 312 übertragen. Nachfolgend wird das Nächstadressregister im
Rückkehrregister gesichert und nach 136 verzweigt. Das Daten-Eingangsregister 310 überträgt Daten über den B-Schalter
320, die Addier/Verschiebeeinheit 324 und den Doppelkanal X-BAR 338 in das Arbeitsregister R2-326. Die
Verschiebeeinheit 324 führt eine Rechtsverschiebung durch, wobei die Position BL des Verschiebezählstandschalters und
R2 als Byte-Adresse zur Definition des Verschiebezählstandes benutzt werden. Rl stellt alle Positionen von Rl auf 0 mit
Ausnahme der Bits 27-35 und CC wird mit einem logischen Test geladen (kein überlauf). Mit dem Befehlsabruf wird
gestartet, wenn Platz in IR 314 vorhanden.
609842/0887
2 6 1 7 O B 9
Rl wird beim letzten Schritt geladen, wodurch W F/F gesetzt wird und es wird R-I -w* SP beim nächsten Takt
geschrieben.
Mit den auf diese Weise vorbereiteten Registern und Puffern besteht die herkömmliche Methode der Ausführung eines Software-Befehles
für den neuen Software-Befehl darin, die Indexregister aus einem Allgemeinregister XRl im Zwischenspeicher 328 auszulesen
und den Inhalt des Indexregisters im Zwischenspeicherpuffer SPB-330 abzulegen. Der zweite Schritt des Software-Befehls
besteht sodann darin, die'Adresse des Operanden zu bilden, indem
der Inhalt des Indexregisters in SPB-330 zu der Verschiebung DL des im Schalter IRSW-319a enthaltenen Befehls addiert wird-(Figuren
2M-2N). Dementsprechend wird die Verschiebung DL oder DS in der Addier/Verschiebeeinheit 324 über die Position 0 oder
die Position 1 des B-Schalters 320 eingegeben. Der Inhalt des SPB-Registers 330 wird in gleicher Weise über den A-Schalter
der Addier/Verschiebeeinheit 324 zugeführt und zu der Verschiebung DL oder DS hinzuaddiert, je nach dem ob eine lange oder
kurze Verschiebung vorliegt. Der nächste Schritt besteht darin, die modifizierte Adresse in das Register R2 des Arbeitsregisters
326 einzugeben. Diese Adresse wird benutzt, um über den PTW-Zwischenspeicher 334 und den Adressenschalter 336 sowie den
Doppelkanal X-BAR einen Lese/Schreib-Speicherplatz im Daten-Ausgangsregister
312 zu adressieren. Die Speicherposition wird über das Daten-Eingangsregister 310r den B-Schalter 320, die
Addier/Verschiebeeinheit 324 und den Doppelkanal X-BAR-338 in
das Arbeitsregister Rl-326 eingelesen. Schließlich wird der Inhalt
des Arbeitsregisters Rl-326 in ein Allgemeinregister des Zwischenspeichers 328 über den Datenweg WRP eingeschrieben.
Bei Anwendung des Vorgriffsmerkmals gemäß der vorliegenden Erfindung
ist es nicht erforderlich, bei irgendeinem Schritt des neuen Software-Befehls das Auslesen des Zwischenspeichers 328
609842/0887
2617059
in den Zwischenspeicherpuffer 330 zu veranlassen, da wie-zuvor
beschricben-dies über die DONE-Anweisung mit dem letzten Microbefehl
des gerade bearbeiteten Software-Befehls verwirklicht worden ist. Ebenso ist es für den neuen Befehl nicht erforderlich,
den Inhalt des Arbeitsregisters 326 in den Zwischenspeicher zu schreiben, da dies mit dem ersten Schritt des nächsten Befehls
geschieht. Kenn auf den neuen Software-Befehl durch die Standardfolge SS Zugriff genommen wird, so bildet der erste Schritt des
neuen Software-Befehls den zweiten Schritt bei der konventionellen Methode des Abrufs und der Ausführung eines Software-Befehls, d.h.
der erste Schritt des neuen Software-Befehls modifiziert die Adresse durch Addition der Verschiebung DL des Befehls zu dem
Indexregister, das in dem Zwischenspeicherpuffer SPB-330 enthalten
ist, wie dies zuvor im Schritt 2 der herkömmlichen Methode der Ausführung eines Software-Befenles beschrieben wurde. Es sei
weiterhin darauf hingewiesen, daß bei der herkömmlichen Methode der Ausführung eines Software-Befehles die aus dem Lese/Schreibspeicher
in das Arbeitsregister 326 geladenen Daten beim letzten Schritt des Befehls in den Zwischenspeicher 328 übertragen werden
mussten. Mit dem Vorgriffsmerkmal gemäß der Erfindung wird die
Übertragung des Arbeitsregisters 326 in den Zwischenspeicher
beim ersten Schritt des neuen Befehls ausgeführt. Da der alte Software-Befehl und der neue Software-Befehl gleichzeitig ausgeführt
v/erden, werden zwei Taktzyklen eingespart. Da eine Selbstvervollständigung des alten Software-Befehls ebenfalls
nicht erforderlich ist, da diese Operation dem ersten Teil des neuen Software-Befehls überlassen wird, kann der alte Software-Befehl
diese Zeit nicht nur zum Zugriff auf den alten Befehl verwenden, sondern auch zum Zugriff auf Information, die für
den neuen Befehl erforderlich ist, so daß der neue Befehl in seinem ersten Schritt sofort mit der gleichzeitigen Bearbeitung
der Vervollständigung des alten Befehles beginnen kann, was normalerweise durch den zweiten Schritt des neuen Befehls erst
durchgeführt wird. Es ergibt sich somit ein vergrößertes Leistungsvermögen des Systems bei der Abrufung und der Ausführung
von Befehlen, insbesondere bei Verzweigungs- und Unterbrechungsbefehlen, da die Maßnahmen der Vorabrufung, der Überlappung und
609842/0887
der Fließbandbearbeitung von Befehlen bei dem hier vorliegenden Konzept in neuartiger Weise miteinander kombiniert sind.
Ein besseres Verständnis der Erfindung ergibt sich durch eine Bezugnahme auf die Figuren 3, 4 und 5 und durch einen Vergleich
der herkömmlichen Methode des Befehlsabrufs und der Befehlsausführung
mit derjenigen gemäß der Erfindung. Die Figuren 4 und 5 zeigen Nebentaktzyklen, während denen Microoperationen
eines Befehles ausgeführt werden und einen Haupttaktzyklus, der sich aus den Nebentaktzyklen zwecks Ausführung von Macrooperationen
zusammensetzt. Aus Figur 4 ergibt sich:
Herkömmliche Methode
Letzter Schritt minus 1:
Letzter Schritt:
Erster Schritt:
Zweiter Schritt;
Lade Inhalt des Dateneingangsregisters DI in die Position Rl der Arbeitsregister 326 über den Datenweg 310-32Ö-324-328-326.
Alternativ kann die Position Rl geladen werden, indem der Inhalt von SPB-330 zu dem Inhalt von
DI-310 addiert wird.
Schreibe den Inhalt von Rl in den Zwischenspeicher 328 über den WRP-Datenweg
326-328.
Lese den Inhalt von XRI im Zwischenspeicher 328 nach SPB-330. Ein Allgemeinregister
GR im Zwischenspeicher 328 speichert XRI. Es wird über die Adresse von XRI im Befehl adressiert,
wobei der Datenweg wie folgt verläuft: 319a-332 LEVEL-328-33Oa-33O.
Addiere entweder die lange Verschiebung DL (Position 0 von Schalter 320)
oder die kurze Verschiebung DS (Positior 1 von Schalter 320) zu dem Inhalt von SPB-330 und lege das Ergebnis in R2-326
ab.
609842/0887
Unter Bezugnahme auf Figur 3 ergibt sich:
Vorgriffsmethode gemäß der Erfindung
Letzter Schritt: Lade Inhalt von DI-310 nach Rl-326
(W Flip-Flop F/F wird gesetzt, wenn Rl geladen ist) und lese Inhalt von XRl
im Zwischenspeicher 328 nach SPB-330.
Erster Schritt: Addiere DL oder DS zum Inhalt von SPB-330 und lege das Ergebnis in R2 ab und
schreibe den Inhalt von Rl-326 in den Zwischenspeicher 328, wenn W Flip-Flop
(nicht dargestellt) gesetzt ist.
609842/0887
Liste der verwendeten Abkürzungen
AIL - Active-Interrupt Level - Aktiver Unterbrechungsrang
ALU - Adder Logical Unit - Rechenwerk ARA - Active Request Accepted - Aktive Anforderung angenommen
ARDA - Accept Read Data - gelesene Daten angenommen
BRAC CF- Branch on- Condition - Condition Field - Bedingungsverüweigüng
- Bedingungsfeld
BRB - Branch on Bit - Verzweigungs-Bit
CBB - Control Block Basis - Steuerblockbasis
CBBR - Control Block Basis Register - Steuerblockbasisregister
CC - Condition Code - Zustands-Code
CIR - Current Instruction Read - Laufender Befehl Lesen
CEMIO - Communication Input/Output - Nachrichteneingang/ausgang
CPI - Common Peripheral Interface - Gemeinsame periphere
Schnittstelle
CSA - Control Store Address - Steuerspeicheradresse
CSR - Control Store Register - Steuerspeicherregister
DAI - Device Adapter Interface - Geräte Adapter-Schnittstelle
DI - Data Interface - Datenschnittstelle
DISP - Dispatch Instruction - Verteilbefehl
DL - Long Displacement - Lange Verschiebung
DO - Data Out (Register) - Datenausgangs(Register)
DPCR - Display Process Control Register - Prozeß-Steuerregister-Anzeige
DS - Short Displacement - Kurze Verschiebung
DSL - Double Shift Left - Doppelverschiebung nach links
DSR - Double Shift Right - Doppelverschiebung nach rechts
ECB - Exception Control Block - Ausnahmesteuerblock
GR - General Register - . Allgemeinregister
HLIP - Higher Level Interrupt Present - Unterbrechung mit höherem Rang vorhanden
HSMX - High Speed Multiplexer - Hochgeschwindigkeits-Multiplexer
609842/0887
ICB - Interrupt Control Block - Unterbrechungs-Steuerblock
IL - Long Intermediate Value - Langer Zwischenwert
IS - Short Intermediate Value - Kurzer Zwischenwert
IOM - Input/Output Multiplexer - Eingang/Ausgang-Multiplexer
IOP - Input/Output Processor - Eingang/Ausgang-Prozessor
IRSW - Instruction Register Switch,- Befehlsregisterschalter
L2MG - Load 2 Words of Memory to General Register -
Lade 2 Worte des Speichers in das Allgemeinregister
LMPS - Local Memory Port Specifier - Interner Speicheranschluß Kennzeichner
LSMX - Low Speed Multiplexer - Niedriggeschwindigkeits-MuItiplexer
LZP - Level Zero Interrupt Present - Unterbrechung mit Rang Null vorhanden
MME - Master Mode Entry - Entritt in Hauptbetriebsweise
MPC - Micro Program Peripheral Controllers - Mikroprogrammierte periphere Steuerung
NA - Next Address (Register ) - Nächstadressen (Register)
NIR - Next Instruction Read - Nächster Befehl gelesen
NOP - No Operating Instruction - Kein Operationsbefehl
ONC - Operation not Complete - Operation nicht vollständig
PCR - Process Control Register -Prozeß-Steuerregister
PI - Programmable Interface - Programmierbare Schnittstelle
PRA - Page Relative Address - Relative Seitenadresse
PSR - Process State Register - Prozeß-Zustandsregister
PTBR - Page Table Base Register - Seitentabellen-Basisregister
PTW - Page Table Word - Seitentabellenwort
PN - - Page Number - Seitennummer
PSI - Peripheral Subsystem Interface - Periphere Untersystem-Schnittstelle
609842/0887
RA - Return Address-(Register) - Rückkehradress-(Register)
RDEX - Read External - Externes Lesen
RDRR - Read Remote Register - Lese externes Register
REL - Release - Freigabe
RFU - Reserved for Future Use - Reserviert für zukünftigen Gebrauch
REMA - Remote Memory Adapter - Externer Speicher-Adapter
RMM - Return from Master Mode - Rückkehr aus Hauptbetriebsweise
SAP - Saving Aera Pointer - Sicherungsbereich-Hinweisadresse
SIU - System Interface Unit - System-Schnittstelleneinheit
SKP - Skip .- Sprung
SPA - Scratch Pad Address - Zwischenspeicher-Adresse
SPB - Scratch Pad Buffer - Zwischenspeicher-Puffer
SS - Standard Sequence - Standardfolge.
S2MG - Store 2 General Register Words in Memory-
Speichere 2 Allgemeinregisterworte im Speicher
WA - Write Address - Schreibadresse
WRR - Working Register Output for supplying Operands Arbeitsregisterausgang
für die Operandenlieferung
WRRR - Write Remote Register - Schreibe externes Register WREX - Write External - Schreibe extern
WRW - Working Register Write Input - Arbeitsregister-Schreibeingang
WL/CY - Word Lenght or Carry - Wortlänge oder Übertrag
WRP - Working Register Output for Paging - Arbeitsregistereingang für Seitenadressierung
XR - Indexregister - Indexregister
XA - Execution Address (Register ) - Ausführungsadress-(Register)
ZAC - Zone Address and Command - Zonenadresse und Befehl
609842/0887
Claims (1)
- 5202573PatentansprücheM.!verfahren zum Befehlsabruf und zur Befehlsausführung in einem Universalrechner, gekennzeichnet durcha. den Beginn der Ausführung des nächsten auszuführenden Befehls während der Ausführung des letzten Teiles des gerade bearbeiteten Befehls undb. die Beendigung des gerade bearbeiteten Befehls während der Ausführung des ersten Teiles des nächsten Befehles.2. Verfahren nach Anspruch 1, gekennzeichnet durch die Erzeugung von Haupt- und Nebentaktzyklen, wobei die Ausführung eines Befehls während eines Haupttaktzyklus durch schrittweise Ausführung einer vorbestimmten Anzahl von MikroOperationen erfolgt und ein oder mehrere MikroOperationen pro Nebentaktzyklus ausgeführt werden.3. Verfahren nach Anspruch 2,dadurch gekenn-z eichnet, daß der Beginn der Ausführung des nächsten auszuführenden Befehls mit dem letzten Nebentaktzyklus des gerade ausgeführten Befehls beginnt und daß die Beendigung des gerade ausgeführten Befehls durch den ersten Nebentaktzyklus des nächsten Befehls erfolgt.f 4.)Befehlabruf und Befehlsausführungseinrichtung einer Zentraleinheit zur Durchführung des Verfahrens nach Anspruch 1 mit Allgemeinregistern zur Operandenspeicherung und mit einem Haupt- und Zwischenspeicher, wobei MikroOperationen eines Befehlsabrufes oder einer Befehlsausführung während Untertaktzyklen durchgeführt werden und wobei die Gesamtheit einer609842/0887vorbestimmten Anzahl von MikroOperationen die Hauptoperation des während der Haupttaktzyklen ausgeführten Befehls bilden, und mit einer Vorgriffseinrichtung, gekennzeichnet durch:a. eine erste Einrichtung, die auf einen letzten Untertaktzyklus während der Ausführung eines ersten Befehls anspricht und der Ausführung der letzten Mikrooperation des ersten Befehls dient,b. eine zweite Einrichtung, die ebenfalls auf den letzten Untertaktzyklus während der Ausführung des ersten Befehls anspricht und mit der Ausführung eines zweiten Befehls während des letzten Untertaktzyklus beginnt,c. eine dritte Einrichtung, die auf einen ersten Untertaktzyklus während der Ausführung des zweiten Befehls anspricht und der Ausführung der ersten Mikrooperation des zweiten Befehls dient undd. eine vierte Einrichtung, die ebenfalls auf den ersten Untertaktzyklus während der Ausführung des zweiten Befehls anspricht zwecks Beendigung der Ausführung des ersten Befehls.5. Einrichtung nach Anspruch 4,dadurch gekennzeichnet, daß die Zentraleinheit eine fünfte Einrichtung zur Speicherung von dem Hauptspeicher entnommenen Daten und eine sechste Einrichtung zur Speicherung von Operationsergebnissen aufweist, und daß die erste Einrichtung den Inhalt der fünften Einrichtung in die sechste Einrichtung lädt.6. Einrichtung nach Anspruch 5, gekennzeichnet durch Indexregister in dem Zwischenspeicher zur Speicherung indizierter Adressen von Operanden im Hauptspeicher und ferner durch eine siebente Einrichtung zur Auswahl eines der Indexregister sowie durch eine achte an den Zwischenspeicher angeschlossene Einrichtung zur temporären Speicherung von aus dem Zwischenspeicher ausgelesenen Informationen, wobei609842/0887- 56 - 2 6 1'? Π Β 9die zweite Einrichtung das Einlesen des Inhalts eines ausgewählten Indexregisters in dem Zwischenspeicher in die achte Einrichtung bewirkt.7. Einrichtung nach Anspruch 6,gekennzeichnet durch eine neunte Einrichtung zur Speicherung einer Verschiebeadresse eines ausgewählten Operanden, durch eine an die achte und neunte Einrichtung angeschlossene Addiereinrichtung und durch eine an die Addiereinrichtung angeschlossene zehnte Einrichtung zum Speichern des ausgelesenen Wertes, wobei die dritte Einrichtung die Speicherung der addierten Inhalte der:·· achten und neunten Einrichtung in der zehnten Einrichtung bewirkt.8. Einrichtung nach Anspruch 7/dadurch gekennzeichnet, daß die vierte Einrichtung die Übertragung des Inhalts der zehnten Einrichtung in den Zwischenspeicher bewirkt.6 09842/0 8875*Leerseite
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US56227275A | 1975-03-26 | 1975-03-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2612059A1 true DE2612059A1 (de) | 1976-10-14 |
Family
ID=24245558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19762612059 Withdrawn DE2612059A1 (de) | 1975-03-26 | 1976-03-22 | Verfahren und vorrichtung zum befehlsabruf und zur befehlsausfuehrung in einem universalrechner |
Country Status (6)
Country | Link |
---|---|
US (1) | US4110822A (de) |
JP (1) | JPS51132731A (de) |
CA (1) | CA1059639A (de) |
DE (1) | DE2612059A1 (de) |
FR (1) | FR2305786A1 (de) |
GB (1) | GB1547387A (de) |
Families Citing this family (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4313160A (en) * | 1976-08-17 | 1982-01-26 | Computer Automation, Inc. | Distributed input/output controller system |
FR2388344A1 (fr) * | 1977-04-19 | 1978-11-17 | Cii Honeywell Bull | Procede et dispositif de calcul d'adresse d'enchainement des micro-instructions a executer dans une memoire de commande d'un systeme informatique |
JPS5440537A (en) * | 1977-09-07 | 1979-03-30 | Hitachi Ltd | Pipeline control system |
US4255785A (en) * | 1978-09-25 | 1981-03-10 | Motorola, Inc. | Microprocessor having instruction fetch and execution overlap |
US4245304A (en) * | 1978-12-11 | 1981-01-13 | Honeywell Information Systems Inc. | Cache arrangement utilizing a split cycle mode of operation |
US4342078A (en) * | 1979-05-21 | 1982-07-27 | Motorola, Inc. | Instruction register sequence decoder for microprogrammed data processor and method |
US4307447A (en) * | 1979-06-19 | 1981-12-22 | Gould Inc. | Programmable controller |
JPS5927935B2 (ja) * | 1980-02-29 | 1984-07-09 | 株式会社日立製作所 | 情報処理装置 |
US4493019A (en) * | 1980-05-06 | 1985-01-08 | Burroughs Corporation | Pipelined microprogrammed digital data processor employing microinstruction tasking |
US4493020A (en) * | 1980-05-06 | 1985-01-08 | Burroughs Corporation | Microprogrammed digital data processor employing microinstruction tasking and dynamic register allocation |
US4384324A (en) * | 1980-05-06 | 1983-05-17 | Burroughs Corporation | Microprogrammed digital data processing system employing tasking at a microinstruction level |
US4373180A (en) * | 1980-07-09 | 1983-02-08 | Sperry Corporation | Microprogrammed control system capable of pipelining even when executing a conditional branch instruction |
DE3166256D1 (en) * | 1981-03-23 | 1984-10-31 | Ibm Deutschland | Device for shortening the cycle time in a data processing device |
JPS57164340A (en) * | 1981-04-03 | 1982-10-08 | Hitachi Ltd | Information processing method |
US4646236A (en) * | 1981-04-17 | 1987-02-24 | International Business Machines Corp. | Pipelined control apparatus with multi-process address storage |
JPS5835627A (ja) * | 1981-08-26 | 1983-03-02 | Toshiba Corp | メモリデ−タ先取り制御方式 |
JPS5848146A (ja) * | 1981-09-18 | 1983-03-22 | Toshiba Corp | 命令先取り方式 |
US4541045A (en) * | 1981-09-21 | 1985-09-10 | Racal-Milgo, Inc. | Microprocessor architecture employing efficient operand and instruction addressing |
JPS5858653A (ja) * | 1981-10-02 | 1983-04-07 | Hitachi Ltd | デ−タ処理装置 |
US4532589A (en) * | 1981-12-02 | 1985-07-30 | Hitachi, Ltd. | Digital data processor with two operation units |
US4450525A (en) * | 1981-12-07 | 1984-05-22 | Ibm Corporation | Control unit for a functional processor |
US4439827A (en) * | 1981-12-28 | 1984-03-27 | Raytheon Company | Dual fetch microsequencer |
US4477872A (en) * | 1982-01-15 | 1984-10-16 | International Business Machines Corporation | Decode history table for conditional branch instructions |
JPS58146941A (ja) * | 1982-02-26 | 1983-09-01 | Hitachi Ltd | マイクロプログラム制御デ−タ処理装置 |
US4454589A (en) * | 1982-03-12 | 1984-06-12 | The Unite States of America as represented by the Secretary of the Air Force | Programmable arithmetic logic unit |
JPS592143A (ja) * | 1982-06-29 | 1984-01-07 | Hitachi Ltd | 情報処理装置 |
WO1985000453A1 (en) * | 1983-07-11 | 1985-01-31 | Prime Computer, Inc. | Data processing system |
JPH061441B2 (ja) * | 1983-09-12 | 1994-01-05 | モトロ−ラ・インコ−ポレ−テツド | 先取り確認装置 |
JPS60107141A (ja) * | 1983-11-16 | 1985-06-12 | Fujitsu Ltd | プランチ制御方式 |
US4562537A (en) * | 1984-04-13 | 1985-12-31 | Texas Instruments Incorporated | High speed processor |
US4670835A (en) * | 1984-10-19 | 1987-06-02 | Honeywell Information Systems Inc. | Distributed control store word architecture |
JPH0754461B2 (ja) * | 1985-02-08 | 1995-06-07 | 株式会社日立製作所 | 情報処理装置 |
US5062036A (en) * | 1985-06-10 | 1991-10-29 | Wang Laboratories, Inc. | Instruction prefetcher |
US4761731A (en) * | 1985-08-14 | 1988-08-02 | Control Data Corporation | Look-ahead instruction fetch control for a cache memory |
JPS6280743A (ja) * | 1985-10-01 | 1987-04-14 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | アドレス変換例外処理方法 |
JPH0727462B2 (ja) * | 1985-10-11 | 1995-03-29 | 株式会社日立製作所 | データ処理装置におけるページフォールト実行再開方法 |
US4709324A (en) * | 1985-11-27 | 1987-11-24 | Motorola, Inc. | Data processor control unit having an interrupt service using instruction prefetch redirection |
JPS6398737A (ja) * | 1986-10-15 | 1988-04-30 | Mitsubishi Electric Corp | デ−タ処理装置 |
US4888689A (en) * | 1986-10-17 | 1989-12-19 | Amdahl Corporation | Apparatus and method for improving cache access throughput in pipelined processors |
US5086498A (en) * | 1987-01-23 | 1992-02-04 | Hitachi, Ltd. | Parallel computer with asynchronous communication facility |
US5179688A (en) * | 1987-06-30 | 1993-01-12 | Tandem Computers Incorporated | Queue system with uninterrupted transfer of data through intermediate locations to selected queue location |
US4894772A (en) * | 1987-07-31 | 1990-01-16 | Prime Computer, Inc. | Method and apparatus for qualifying branch cache entries |
JP2810043B2 (ja) * | 1987-11-13 | 1998-10-15 | 株式会社日立製作所 | データ処理装置 |
US5247628A (en) * | 1987-11-30 | 1993-09-21 | International Business Machines Corporation | Parallel processor instruction dispatch apparatus with interrupt handler |
US5179674A (en) * | 1988-07-25 | 1993-01-12 | Digital Equipment Corporation | Method and apparatus for predicting valid performance of virtual-address to physical-address translations |
US4914584A (en) * | 1988-10-17 | 1990-04-03 | Gibson Glenn A | Rules and apparatus for an intermediate code memory that buffers code segments |
US5440749A (en) * | 1989-08-03 | 1995-08-08 | Nanotronics Corporation | High performance, low cost microprocessor architecture |
US5333291A (en) * | 1991-06-14 | 1994-07-26 | International Business Machines Corporation | Stride enhancer for high speed memory accesses with line fetching mode and normal mode employing boundary crossing determination |
US5524220A (en) * | 1994-08-31 | 1996-06-04 | Vlsi Technology, Inc. | Memory subsystems having look-ahead instruction prefetch buffers and intelligent posted write buffers for increasing the throughput of digital computer systems |
US5608886A (en) * | 1994-08-31 | 1997-03-04 | Exponential Technology, Inc. | Block-based branch prediction using a target finder array storing target sub-addresses |
US7149878B1 (en) * | 2000-10-30 | 2006-12-12 | Mips Technologies, Inc. | Changing instruction set architecture mode by comparison of current instruction execution address with boundary address register values |
US7711926B2 (en) * | 2001-04-18 | 2010-05-04 | Mips Technologies, Inc. | Mapping system and method for instruction set processing |
US6826681B2 (en) * | 2001-06-18 | 2004-11-30 | Mips Technologies, Inc. | Instruction specified register value saving in allocated caller stack or not yet allocated callee stack |
US7107439B2 (en) * | 2001-08-10 | 2006-09-12 | Mips Technologies, Inc. | System and method of controlling software decompression through exceptions |
US7487339B2 (en) * | 2001-10-12 | 2009-02-03 | Mips Technologies, Inc. | Method and apparatus for binding shadow registers to vectored interrupts |
US7552261B2 (en) * | 2001-10-12 | 2009-06-23 | Mips Technologies, Inc. | Configurable prioritization of core generated interrupts |
US7493607B2 (en) | 2002-07-09 | 2009-02-17 | Bluerisc Inc. | Statically speculative compilation and execution |
US20050114850A1 (en) | 2003-10-29 | 2005-05-26 | Saurabh Chheda | Energy-focused re-compilation of executables and hardware mechanisms based on compiler-architecture interaction and compiler-inserted control |
US7996671B2 (en) | 2003-11-17 | 2011-08-09 | Bluerisc Inc. | Security of program executables and microprocessors based on compiler-architecture interaction |
US8607209B2 (en) | 2004-02-04 | 2013-12-10 | Bluerisc Inc. | Energy-focused compiler-assisted branch prediction |
US20080126766A1 (en) | 2006-11-03 | 2008-05-29 | Saurabh Chheda | Securing microprocessors against information leakage and physical tampering |
US20080154379A1 (en) * | 2006-12-22 | 2008-06-26 | Musculoskeletal Transplant Foundation | Interbody fusion hybrid graft |
EP3383771B1 (de) * | 2015-11-30 | 2023-02-22 | Hubbell Incorporated | Unterbrechungsausnahmefensterprotokoll auf einem datenkommunikationsbus und verfahren und vorrichtungen zur verwendung davon |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3401376A (en) * | 1965-11-26 | 1968-09-10 | Burroughs Corp | Central processor |
GB1226125A (de) * | 1967-07-14 | 1971-03-24 | ||
US3573854A (en) * | 1968-12-04 | 1971-04-06 | Texas Instruments Inc | Look-ahead control for operation of program loops |
US3983541A (en) * | 1969-05-19 | 1976-09-28 | Burroughs Corporation | Polymorphic programmable units employing plural levels of phased sub-instruction sets |
JPS514381B1 (de) * | 1969-11-24 | 1976-02-10 | ||
US3609700A (en) * | 1970-02-24 | 1971-09-28 | Burroughs Corp | Data processing system having an improved fetch overlap feature |
US3764988A (en) * | 1971-03-01 | 1973-10-09 | Hitachi Ltd | Instruction processing device using advanced control system |
BE789583A (fr) * | 1971-10-01 | 1973-02-01 | Sanders Associates Inc | Appareil de controle de programme pour machine de traitement del'information |
US3840861A (en) * | 1972-10-30 | 1974-10-08 | Amdahl Corp | Data processing system having an instruction pipeline for concurrently processing a plurality of instructions |
US3811114A (en) * | 1973-01-11 | 1974-05-14 | Honeywell Inf Systems | Data processing system having an improved overlap instruction fetch and instruction execution feature |
JPS5247976B2 (de) * | 1973-03-16 | 1977-12-06 | ||
GB1426749A (en) * | 1973-06-05 | 1976-03-03 | Burroughs Corp | Micro programme data processor having parallel instruction flow streams for plural level of subinstruction sets |
IT993428B (it) * | 1973-09-26 | 1975-09-30 | Honeywell Inf Systems | Unita di controllo di calcolatore microprogrammato con microprogram mi residenti in memoria e sovrap posizioni delle fasi interpretati ve di una microistruzione con la fase esecutiva della precedente microistruzione |
US3875391A (en) * | 1973-11-02 | 1975-04-01 | Raytheon Co | Pipeline signal processor |
-
1976
- 1976-02-02 CA CA244,789A patent/CA1059639A/en not_active Expired
- 1976-03-22 DE DE19762612059 patent/DE2612059A1/de not_active Withdrawn
- 1976-03-25 FR FR7608765A patent/FR2305786A1/fr active Granted
- 1976-03-25 GB GB12056/76A patent/GB1547387A/en not_active Expired
- 1976-03-26 JP JP51033453A patent/JPS51132731A/ja active Pending
-
1977
- 1977-07-11 US US05/814,599 patent/US4110822A/en not_active Expired - Lifetime
Non-Patent Citations (1)
Title |
---|
IBM-Journal, Januar 1967, S. 8-24 * |
Also Published As
Publication number | Publication date |
---|---|
US4110822A (en) | 1978-08-29 |
FR2305786B1 (de) | 1979-05-18 |
JPS51132731A (en) | 1976-11-18 |
GB1547387A (en) | 1979-06-20 |
CA1059639A (en) | 1979-07-31 |
FR2305786A1 (fr) | 1976-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2612059A1 (de) | Verfahren und vorrichtung zum befehlsabruf und zur befehlsausfuehrung in einem universalrechner | |
DE2612034A1 (de) | Ausfallsicherung in einem universalrechner | |
DE2846495C2 (de) | Zentraleinheit | |
DE2612037A1 (de) | Prozessor | |
DE2612054A1 (de) | Verfahren zur adressentwicklung und prozessor zur durchfuehrung des verfahrens | |
DE2023354C2 (de) | Datenverarbeitungsanlage mit einem Mikrobefehlsspeicher | |
DE1813916C3 (de) | Elektronische Datenverarbeitungsanlage | |
DE2714805A1 (de) | Datenverarbeitungssystem | |
DE2611907A1 (de) | Dv-system mit einer prioritaets- unterbrechungs-anordnung | |
DE2612139A1 (de) | Ein/ausgang-steuerungssystem | |
DE1499200B2 (de) | Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung | |
DE2902465A1 (de) | Datenverarbeitungsanordnung | |
DE2721319A1 (de) | Einrichtung zur selbsttaetigen aenderung der prozessor/speicher-konfiguration | |
DE2847934A1 (de) | Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher | |
DE2542740A1 (de) | Mikroprogramm-datenverarbeitungsverfahren und geraet zur ausfuehrung des verfahrens | |
DE2459675A1 (de) | Datenverarbeitungssystem | |
DE2657848A1 (de) | Steuereinheit fuer ein datenverarbeitungssystem | |
DE1931966B2 (de) | Datenverarbeitungsanlage mit Assoziativspeichern | |
DE2248296A1 (de) | Programmsteuereinrichtung | |
DE2855722A1 (de) | Einrichtung zur berechnung von produktsummen | |
EP0010185A1 (de) | Virtuell-Adressiervorrichtung für einen Computer | |
DE2721623A1 (de) | System zur bearbeitung eines zielsystemprogrammes | |
DE2611975A1 (de) | Dv-system mit einer einrichtung zur zuordnung von prozessen zu einem prozessor auf einer prioritaetsbasis | |
DE2830334C2 (de) | ||
DE2952163C2 (de) | Datenverarbeitungsanlage mit einem ersten und einem zweiten Prozessor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8139 | Disposal/non-payment of the annual fee |