DE2612054A1 - Verfahren zur adressentwicklung und prozessor zur durchfuehrung des verfahrens - Google Patents
Verfahren zur adressentwicklung und prozessor zur durchfuehrung des verfahrensInfo
- Publication number
- DE2612054A1 DE2612054A1 DE19762612054 DE2612054A DE2612054A1 DE 2612054 A1 DE2612054 A1 DE 2612054A1 DE 19762612054 DE19762612054 DE 19762612054 DE 2612054 A DE2612054 A DE 2612054A DE 2612054 A1 DE2612054 A1 DE 2612054A1
- Authority
- DE
- Germany
- Prior art keywords
- address
- register
- memory
- bits
- page
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
5202529 Ge 22. März 1976
HONEYWELL INFORMATION SYSTEMS INC.
200 Smith Street
Waltharn, Mass,, USA
Waltharn, Mass,, USA
Verfahren zur Adressentwickluiig und
Prozessor zur Durchführung des Verfahren:
Die Erfindung betrifft ein Verfahren zur Entwicklung von Speicheradressen für einen in Seiten unterteilten Speicher
eines Ein/Ausgang-Datenverarbeitungssystems, wobei das DV-Systein
mehrere Prozesse auf mehreren Vorrangstufen bearbeitet.
Die Technik der Seitenaufteilung des Speichers für eine Datenspeicherung ist in der Datenverarbeitung bekannt und gelangt
insbesondere bei Großrechnersystemen wie beispielsweise dem Honeywell 6800-Mehrfachzugriff-System zur Anwendung, wobei
dieses System mehrere Prozessoren benutzt, die eine Mehrprogrammverarbeitung und eine simultane Systembenutzung gestatten. Die
Seitentechnik gestattet die Speicherung von Daten und Programmen in Großraumspeichern, wie beispielsweise Platten- und Bandspeichern,
wobei die angeforderten Daten- und Programmteile in den Hauptspeicher abgerufen werden können, wenn dies für
die Programiuausführung erforderlich ist. Der sich für den
609842/0886
2 6 1 2 O 5 ^
Systembenutzer ergebende "virtuelle Speicher" umfasst somit mit
Vorteil auf Grund der Seitentecbnik den Großraumspeicher und
den Hauptspeicher, wodurch die erforderliche Größe und die damit zusammenhängenden Kosten für den Hauptspeicher auf ein
Minimum begrenzt v/erden können.
Aufgabe der vorliegenden Erfindung ist es, ein geeignetes Verfahren zur Erzeugung von Adressen für einen seitenunterteilten
Speicher anzugeben. Die Lösung dieser Aufgabe gelingt gelingt gemäß der im Anspruch 1 gekennzeichneten Erfindung.
Weitere vorteilhafte Ausgestaltungen des erfindungsgemäßen Verfahrens sowie ein Prozessor zur Durchführung des Verfahrens
sind den Unteransprüchen entnehmbar.
Gemäß der vorliegenden Erfindung werden Befehle und Daten eines Programmes in einem seitenunterteilten Speicher gespeichert,
wobei eine Seitentabelle für jeden Prozeß vorgesehen ist. Die Seitentabelle umfasst für jede Seitennummer ein Seitentabellenwort
PTW, welches eine Seitenbasisadresse im Speicher beinhaltet. Mit Vorteil wird durch einen Seitentabellenwort-Zwischenspeicher
die Verwendung der Seitentabellen bei der Entwicklung einer absoluten Speicheradresse auf ein Minimum
beschränkt. Die absolute Adresse wird durch Verkettung der Seitenbasisadresse und einer relativen Seitenadresse bzw.
eines Offsets von der Seitenbasisadresse gebildet. Insbesondere weisen die Programmbefehle eine Adressilbe auf, die als einen
Index einen Bezug auf ein Prozessorregister und einen Verschiebewert umfasst. Eine effektive Adresse wird gebildet, indem
der Wert des bezogenen Registerinhaltes und der Verschiebewert miteinander verkettet werden, wodurch eine Seitennummer
und eine relative Seitenadresse erzeugt werden. Die niedrigrangigsten Bit der Seitennummer werden zum Zugriff auf einen
Seitentabellenwort-Zwischenspeicher auf einem Rang entsprechend
dem Prioritätsrang des ausgeführten Prozesses benutzt. Das
ß (19 8 4 2/0886
Seitentabellenwort an dem definierten Speicherplatz wird getestet,
um sicherzustellen, daß das korrekte Seitentabellenwort vorliegt. Andernfalls wird in eine Prozeß-Scitentabelle
eingetreten, um das Seitentabellenwort entsprechend der Seitennummer
festzustellen, aus dem die Speicheridentifizierung hergeleitet wird.
Anhand eines in den Figuren der beiliegenden Zeichnung dargestellten
Ausführungsbeispieles wird die Erfindung im folgenden näher erläutert. Es zeigen:
Figur 1 ein Blockdiagramm eines Eingang/Ausgang-Systemes
mit einem Prozessor, durch den die vorliegende Erfindung ausgeführt werden kann,
Figur 2 ein Blockdiagramm des Prozessors gemäß Figur 1, Figur 3 ein Blockdiagramm und ein Taktdiagrainm für die
internen und externen Speicherregister des Prozessors gemäß Figur 2,
Figur 4 ein Blockdiagramm der Addier/Verschiebeeinheit des Prozessors gemäß Figur 2,
Figur 5 die schematische Darstellung der Adressentwicklung unter Verwendung einer Seitentabelle, wie sie von dem
Prozessor gemäß Figur 2 verwendet wird, Figur 6 eine schematische Darstellung der Adressentwicklung
unter Verwendung eines Seitentabellenwort-Zwischenspeichers in Übereinstimmung mit der vorliegenden Erfindung.
B η 9 H 4 ? I f j 8 8 6
261205H
Eingang/Ausgang-System
Das Eingang/Ausgang-System und der Prozessor, bei welchen die
vorliegende Erfindung Verwendung findet, arbeitet mit dem Hauptprozessor und dem Speicher eines Großrechnersystemes
zusammen, um die Multiplexübertragungen und Steuerungen von
Daten zwischen peripheren Geräten zu erzielen. Im allgemeinen
umfassen die Funktionen des Systems die Adressierung und die Steuerung der Datenübertragung zwischen den peripheren Geräten
und dem Hauptspeicher.
Figur 1 stellt ein Blockdiagramm des Eingang/Ausgang-Systernes dar, in welchem der Prozessor gemäß der vorliegenden Erfindung
verwendet wird. Die zentrale Komponente des Eingang/Ausgang-Systernes
ist die System-Schnittstelleneinheit SIU, die die Verbindungen zwischen den verschiedenen Komponenten des Systems
herstellt. Zusätzlich zur Erzeugung des Zugriffes auf interne oder externe Speicher durch die aktiven Module des Systems
erzeugt die Schnittstelleneinheit SIU eine direkte Adressierung der Multiplexer und Steueradapter durch den Systemprozessor.
Die Schnittstelleneinheit SIU steuert ferner die Unterbrechungshierarchie des Systems und vermittelt die Zuteilung des Prozessors
bei entsprechender Anforderung.
Systemfunktionen, die mit der Hochgeschwindigkeits-Datenübertragung
nicht direkt im Zusammenhang stehen, werden durch den Systemprozessor ausgeführt. Diese Funktionen umfassen die Auslösung
und Beendigung von Eingang/Ausgang-Befehlsfolgen, das
Abrufen, überprüfen und die übersetzung von Kanalprogrammen und
die direkte Steuerung peripherer Geräte mit niedriger Geschwindigkeit,
wie beispielsweise Basisperipheriegeräte und Datenübertragungsgeräte. Wie später noch zu beschreiben sein wird, ist
der Prozessor vom allgemeinen Typ und er ist in der Lage Register-Register-,
Register-Speicher-, Sofort-, Verzweigungs-, Bitfeld- und Verschiebe-Befehle auszuführen.
Ii(JiMJ O/ÜÖ 86
2612 0 5t»
Der Nachrichtenverbindungs-Eingang/Ausgang CMIO steuert direkt die Datenübertragung zwischen Nachrichten-Leitungsadaptern und
dem internen Speicher des Prozessors I0P. Die Zusammenarbeit mit dem Prozessor I0P ist für die Datensteuerung erforderlich.
Der interne Speicher des Prozessors IOP ist als Doppelkanal Lese/Schreib-Speicher mit zwei Anschlüssen und v/ahlfreier Pufferung
organisiert. Der externe Speicheradapter REMA stellt eine
Einrichtung dar, die den Austausch der Steuerung und Datenübertragungen zwischen dem Prozessor IOP und den zentralen System-Schnittstelleneinheiten
gestattet.
Der Hochgeschwindigkeitsmultiplexer HSMX dient der direkten
Steuerung der Datenübertragung zwischen peripheren Geräten hoher Geschwindigkeit (Platte oder Band) und dem zentralen bzw. internen
Speicher. Der Niedriggeschwindigkeitsmultiplexer LSMX gestattet
die direkte Steuerung von Geräten mit niedriger Geschwindigkeit, wie Einheitsblöcken, Konsolen und Datenübertragungsadaptern durch
den Prozessor IOP. Platten- und Bandgeräte sind an die Hochge- ■ schwindigkeitsmultiplexer über Steueradapter angeschlossen.
Die Leistung und Datenübertragungsgeschwindigkeit des Eingang/ Ausgang-Systemes ist durch eine interne Speicherzykluszeit von
140 ns mit Pufferung gekennzeichnet. Der Kochgeschwindigkeits-Multiplexerkanal
weist eine übertragungsgeschwindigkeit von 5 Megabits pro Sekunde mit einem Gesamtdurchgang von 10 Mega-Bytes
pro Sekunde durch einen einzigen Hochgeschwindigkeits-Multiplexer HSMX auf. Der Durchgang durch den Niedriggeschwindigkeitsmultiplexer
LSMX wird durch die Anschlüsse an seine Geräteadapter bestimmt, wobei die maximale übertragungsgeschwindigkeit
einer geschlossenen Datonkette ungefähr 70.000 Bytes pro Sekunde beträgt. Die maximale Gesamt-Eingang/Ausgangübertragungsgeschwindigkeit beträgt 30 Mega-Bytes pro Sekunde
für jeden mit der Schnittstelleneinheit SIU verbundenen Adapter REMA.
6 0 9 8 4 2/0886
26 I?η SM
Jeder aktive Anschluß der Schnittstellencinheit SIU kann eine
Datenschnittstelle DI und eine programmierbare Schnittstolle PI für das angeschlossene Gerät auf v/eisen. Beispielsweise kann der
Hochgeschwindigkeitsmultiplexer HSMX eine Datenschnittstelle für die Datenübertragung mit hoher Geschwindigkeit und eine
programmierbare Schnittstelle für den Nachrichtenaustausch mit dem Prozessor IOP auf v/eisen. Der Niedriggeschwindigkeitsmultiplexer
LSHX weist andererseits nur eine programmierbare Schnittstelle PI für die Datenübertragung und die Steuerung durch den
Prozessor auf. Der Systemspeicheranschluß besitzt eine gemeinsam benutzte Datenschnittstelle und eine programmierbare Schnittstelle.
Der Speicher des Eingang/Ausgangsystemes ist seitenunterteilt.
Die Speicheradressen können daher virtuelle, seitenunterteilte oder absolute Speicheradressen sein. Die einen Speicherplatz
bestimmende seitenunterteilte Adresse muß durch den Prozessor IOP in eine absolute Adresse umgewandelt werden, bevor auf die
gespeicherte Information Zugriff genommen wird.
Gemäß Figur 2 ist ein funktionelles Blockdiagramm eines Prozessors
gemäß der vorliegenden Erfindung dargestellt. Daten und Befehle von der System-Schnittstelleneinheit SIU werden in das Register
10 eingegeben und die bearbeiteten Daten werden über das Register 12 an die Schnittstelleneinheit SIU abgegeben. Beim Eintakten
der Daten und Befehle in das Register 10 wird eine Paritätsprüfung durchgeführt und es werden Paritätsfehler angezeigt.
Befehle sind in einem doppelt auslesbaren Vorgriffregister 14 abgelegt, welches 4 Pufferworte für Befehle erzeugt. Ein Steuerspeicher-Adressenschalter
16 mit 8 Pegeln erzeugt eine Adresse für den Steuerspeicher 18» Ein Pegel des CSA-Schalters 16 wird
von dem Befehlsregister 14 über die Wegsucheeinheit 92 erzeugt. Der Steuerspeicher 18 enthält die Microbefehle, die die Datenverarbeitung
steuern und ein adressierter Microbefehl ist im Steuerspeicherregister 19 gespeichert.
Ει 0 9 8 4 2/0886
7 6 ! 7CKSH
Die Daten des Eingangsregister 10 werden in einen Pegel eines
B-Schalters 20 geladen, der 8 Pegel aufweist und der zusammen mit.einem 2 Pegel aufweisenden A-Schalter 22 Operanden für
ein Addier/Verschiebenetzwerk 24 erzeugt. Der B-Schalter 20 wird von einem Steuerfeld im Steuerspeicherregister 19 gesteuert.
Der A-Schalter 22 erzeugt Eingangssignale für das Netzwerk 24, die den zweifach auslesbaren Arbeitsregistern
oder dem Allgemeinregister-Zwischenspeicher 28 über ein Zwischenspeicher-Puff
erregister 30 entnommen werden. Das Register 26 enthält 3 Arbeitsregister und ein Abbild des Zählstandes des
Befehlszählers IC, der in dem Allgemeinregister-Zwischenspeicher enthalten ist. Der Ausgang WRR des Arbeitsregisters 26 ist auf
den A-Schalter 22, den B-Schalter 20 und die Register 42 und geführt. Der Ausgang WRP des Arbeitsregisters 26 ist an den
Allgemeinregister-Zwischenspeicher 28 angeschlossen. Eine 7-Bitadresse
für den Allgemeinregister-Zwischenspeicher wird durch einen 1 aus 8-Schalter 32 erzeugt.
Das Addier/Verschiebenetzwerk 24, dem Operanden von dem B-Schalter
20 und dem A-Schalter 22 zugeführt werden, führt alle arithmetischen, logischen und Verschiebeoperationen aus, die
für eine Adressenentwicklung und eine Befehlsausführung erforderlich sind.
Ein Seitentabellenwort-Zwischenspeicher 34 dient der Speicherung
von 16 Seitentabellenwörtern PTW für jeden der 8 Pegel. Der Pegel aufweisende Adressenschalter 36 verkettet die Adressen
von programmierbaren Schnittstellenbefehlen oder Lese/Schreib-Speicher
zyklen.
Der Ausgang des Addier/Verschiebenetzwerkes 24 kann über den
Doppelkanalschalter 38 auf den Ausgang des Ergebnis-Doppelkanales R-XBAR-40 und somit an das Daten-Ausgangsregister 12 geschaltet
werden. Der Doppelkanal R-XBAR gestattet die gleichzeitige übertragung
seiner Eingangssignale sowohl zu dem Daten-Ausgangsregister 12 als auch zu den Arbeitnrogistern 26. Dem Doppelkanal-
•609842/088 6
-8-7
261? Π 5 M
schalter 38 werden ferner Eingangssignale von einem Prozeßzustandsregister
PSR-4 2 und einem Prozeßsteuerregister PCR-44 über einen Schalter 46 sowie aus dem Allgemeinregister-Zwischenspeicher
28 zugeführt.
Im folgenden werden nunmehr die Komponenten des Prozessors im einzelnen näher beschrieben. Bei vielen dieser Komponenten
handelt es sich um im Handel verfügbare Schaltkreise, so daß diesbezüglich auf die entsprechende Literatur der Hersteller
verwiesen werden kann.
Allgemeiregister-Zwischenspeicher
Der Allgemeinregister-Zwischenspeicher 28 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- 32
erzeugt. Die Steuereingänge des Schalters sind direkt an den Ausgang
des Steurspeicherregister CSR- 19 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/0886
ην "9 -
261205Η
0} Sieben Bits des Konstanten-Feldes (2-8) des Steuerspeicherregisters
CSK, 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 Εχ-zeugung der
Adresse entweder für eine Initialisierung oder eine Software-Adressierung;
3) Die AIL-Leitungen und Bits 19t22 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.Diese
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 Allgemein
register durch die Software auf dem vorliegenden Rang er-
■ zeugt. Diese Adressenerzeugung umfaßt das Laden der Allgemein
register 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
5^- geführt und geht zu dem SPB-Register 30, welches ebenfalls
ein Eingangssignal für den Ergebnis-Doppelkanal 40 über das Addier/Verschiebenetzwerk 24 bildet. Der Schalter in dem
SPB-Register gestattet die Arbeit auf ein Allgemeinregister GR und ein Arbeitsregister oder auf zwei Arbeitsregister durch
609842/08 8 6
Laden einer "1" in das SPB-Register. Der Schalter 51 * in dem
SPB-Register 30 wird durch das SP-Steuerfeld in dem Steuerspeicherregister
CSR- 19 gesteuert.
Das Schreib/Adressregister 48 kann entweder von den Bits 9-12 oder den Bits 14-17 des laufenden Befehls geladen werden. Hierdurch
wii~d 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- 4
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.
"-as SPB-Register 30 ist ein 40-Bit-Register. Es erzeugt eine
iafferung für Worte, die aus dem Zwischenspeicher ausgelesen
werden und spart somit die Zwischenspeicher-Zugriffszeit ein,
iie sonst bei einer Addier/Verschiebeoperation erforderlich ist.
line Paritätsprüfung wird hinsichtlich der Daten in dem SEB-Segister
30 durchgeführt. Der SPß-Ladetakc wird durch das SP-Steuerfeld
des Steuerspeicherregisters 19 gesteuert.
L·" und B-Operandenschalter
3ia L- und B-Operandenschalter erzeugen die beiden Operanden für
-,las Addier/Verschiebenetzwerk 24. Der A-Schalter 22 wählt entweder
den Ausgang des SPB-Registers 30 oder den WRR-Ausgang des Arboitsregisteis 26 aus. Die Auswahl wird durch ein Bit im
Steuerspeicherregister 19 gesteuert. Die Steuerung wird jedoch
609842/0886
2 6 1 ? C
zur Auswahl des WRR-Ausgangs gezwungen, wenn das Schreib-Flip-Flop
W gesetzt ist und die Adresse im Schreib-Mressregister 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 20 die
DL-Position ausgewählt wird und keine Indizierung aufgerufen ist (XRI=O). Die Stellung des B-Schalter 20 wird durch ein
Feld mit 3 Bit im Steuerspeicherregister 19 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
20 sind wie folgtformatiert:
0) Die Bits 0-19 entsprechen dem Bit 19 des Befehlsregisterschalters
IRSW- 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
Zweitrangindizierung;
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 26 aus;
5) die Bits 0-31 weisen den Wert "0" auf. Das Bit 32 entspricht dem hochstrangigsten 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ß 19 den Wert Null aufweisen. 609842/0886 . '
Die Bit-Kombination 10 verweist hierbei auf eine Ganzwortlänge
und die Bit-Kombination 01 auf eine Halbwortlänge. Das Bit 35 entspricht dom Übertrags-Bit in dem Prozeßzustandsregister
PSR, wenn das auf das höchstrangigste Bit folgende Bit des Konstantenfeldes im Steuerspeicher-•
regiser CSR den Wert 1 aufweist;
6) die Bits 0-26 v/eisen den Wert Null auf. Die Bits 27-35
sind an das Konstantaifcld des Steuer/Speicherregisters CSR
angeschlossen.
7) durch diese Position wird das Daten-Eingangsregister Dl-■-10
der Schnittstelleneinheit angewählt;
Addier/Verschiebeschaltkreis
Ein detailliertes Blockdiagramm des Addier/Verschiebeschciltkreises
ist in Figur 4 dargestellt. Das Rechenwerk ALU-60 führt arithmetische und logische Operationen mit Operanden
von 36 Bit durch. Das Rechenwerk 60 bildet ferner einen übertragungsweg
entweder für den A- oder B-Operanden nach dem Doppelkanal 62. Die Operationen des Rechenwerks werden durch
das SteuerSpeicherregister CSR gesteuert. Die Betriebsweise
des Rechenwerkes wird von dem niedrigrangigsten Bit der PSR/
PCR-Steuerbits in dem Steuerspeicherregister CSR gesteuert.
Die Verschiebeeinheit. 64 führt Rechtsverschiebungen von 0 bis
Bits durch. Die beiden Eingangsschalter 66 und 68 liefern die Daten, um eine Rechts- oder Linksverschiebung durchzuführen,
mit der Maßgabe, entweder Nullstellen oder das Vorzeichenbit bei einer Rechtsverschiebung einzufügen. Linksverschiebungen
werden durch Sperren des rechten Schalters und Auswahl des Operanden Λ in dem linken Schalter durchgeführt. Es wird sodann
ein Verschiebezählstand erzeugt, der 36 minus dem nach links zu verschiebenden Betrag beträgt. Rechtsverschiebungen
werden durch Auswahl des Operanden A in dem rechten Schalter
»·- D il Wh i ! (J HBB
/t) i /M
ausgeführt, wobei durch den linken Schalter entweder Nullstellen
oder das Vorzeichen hinzugefügt wird. Die Nullstellen können hierbei
durch Sperren des Schalterausganges erzeugt werden.
Die Verschiebung wird in zwei Pegeln ausgeführt. Der erste Pegel führt modulo 4-Verschiebungen und der zweite Pegel führt Verschiebungen
um 0, 1, 2 oder 3 durch. Eine Verschiebung beispielsweise um 9 Bit,wird ausgeführt, indem auf dem ersten Pegel um 2 und in
dem zweiten Pegel um 1 verschoben wird. Die Bits 0 bis 3 des Verschiebezählstands
sind an die Verschiebe-Steuereingänge des ersten Pegels und die Bits 4 bis 5 sind an die niedrigrangigsten beiden
Bits des zweiten Pegels angeschlossen und die beiden höchstrangigsten Bits des zweiten Pegels sind an "0" angeschlossen.
Der Verschiebezählstandsschalter 70 wird durch die drei höchstrangigsten
Bits des Konstantenfelds des Steuerspeicherregisters CSR gesteuert. Die Positionen sind folgende:
0) Diese Position wählt die Differenz zwischen 36 und den niedrigrangigsten 6 Bits des Ausgangs WRP des Arbeitsregisters 26 aus. Diese Position wird für Linksverschiebungen
benutzt.
1) Diese Position wählt die niedrigrangigsten 6 Bits des Ausganges
WRP des Arbeitsregisters aus. Diese Position wird für Rechtsverschiebungen benutzt.
2) Diese Position ist an die niedrigrangigsten 6 Bits des Konstantenfeldes des Steuerspeicherregisters CSR angeschlossen.
Sie wird für Verschiebungen benutzt, wenn der Verschiebezählstand durch den Steuerspeicher definiert ist.
3f 4 und 5) Diese drei Bitpositionen sind an die Bits 18 bis 23,
24 bis 29 und 30 bis 35 des laufenden Befehls angeschlossen. Sie werden ausgewählt, um eine Auswahl, Einfügung und ein
bedingtes Setzen bzw. Rückstellen vorzunehmen.
6) Diese Position erzeugt die Nummer 27, 18, 9 oder 0, wenn die Bits 34 bis 35 des Ausgangs WRP 00, 01, 10 oder 11 entsprechen.
Sie wird benutzt, um ein Byte aus einem Wort in Funktion der Byteadresse auszuwählen.
ORIGINAL INSPECTED B 0 9 B 4 2 / 0 8 8 6
7) Diese Position erzeugt die Nummer 9, 18, 27 oder 0, wenn die
Bits 34 bis 35 des Ausganges WRP OOf 01, 10 oder 11 entsprochen.
Sie wird zum Ablegen eines Byte in der geeigneten Zone in Funktion der Byteadresse benutzt.
Der Ausgangschalter 32 wählt den Rechen-, Verschiebe- oder 32-Bit-Speicher/Ladeausgang
wie folgt aus:
0) Diese Position wählt den Verschiebeausgang aus.
1) Diese Position wählt den Rechenwerkausgang aus.
2) Diese Position wandelt ein 36-Bit-Wört von einem Allgemeinregister
GR in ein 32-Bit-Format für die Speicher-32-Operation
aus.
3) Diese Position wandelt ein 32-Bit-Format in ein 36-Bit-Wort
vor dem Laden in ein Allgemeinregister für die Lade-32-Operation aus.
Dieser Schalter wird durch die Rechen/Verschiebe-Ausgangsschalter-Bits
des Steuerspeicherregxsters CSR 19 gesteuert. Durch den Schalter 62 wird einer der Ausgänge für den Doppelkanalschalter
R-XBAR erzeugt. Der Zustandscode CC wird von dem Schalterausgang erzeugt.
Seitentabellenwor,t (PTW) -Zwischenspeicher
Der PTW-Zwischenspeicher 34 besorgt die Speicherung von 16 SeitentabeUenwörtern für jeden der acht Prioritätsränge, was zu
128 Seitentabellenwörtern führt. Der Ausgang des B-Operandenschalters
20 erzeugt die Schreibdaten für den Zwischenspeicher und der Schreibtakt wird hierbei durch ein Bit in dem Steuerspeicherregister
19 gesteuert. Die PTW-Zwischenspeicheradresse wird entweder durch die niedrigrangigsten 7 Bits des Ausgangs WRP
des Arbeitsregisters 26 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öxtem, wenn entsprechende
Adressen in den Seitentabellenwörtern fehlen. Die Adressenauswahl wird durch ein Bit im Steuerspeicherregister CSR- 19 gesteuert.
609842/0886
Jedes Byte des PTW-Zwischenspeichers wird am Ausgang einer
Paritätsprüfung unterzogen. Der Ausgang des Zwischenspeichers
34 versorgt zwei der vier Adressenschc'ilterpositionen 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 dos Seitentabellenwortes werden mit einem
Kennschlüsselregister 72 verglichen. Das Kennschlüsselregister bestimmt hierbei den Prozeß y ..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 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 3 6
erzeugt. Der Schalter 36 wird durch die Adressenschalter-Steuer-Bits
In dem Steuerspeicherregister 19 gesteuert. Wenn die
809842/0 8BG
■ - 16 -
. " 261205M-
"Seiten"-Position ausgewählt wird und das Prozeßzustandsregister
PSR die absolute Adresslerweise 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 be~
e s
stimmt eine Lese/Schreibiidresse. Die Bits 1-3 werden durch die ZoiiP-nadress- und Steuer-Bits (ZAC-Bits) im Steuerspeichcrregister erzeugt. Das Bit 4 weist den Wert 0 auf. Die Bits 5-8 stellen die Zonen-Bits dar und werden als eine Funktion der Lese/Schreibspeicheropera.tion erzeugt. Leseoperationen veranlassen die Erzeugung von Nullstellen, während Schreiboperationen hinsichtlich eines Wortes oder Doppelwortes die Erzeugung von Einerstellen bewirken. 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/Schreibiidresse. Die Bits 1-3 werden durch die ZoiiP-nadress- und Steuer-Bits (ZAC-Bits) im Steuerspeichcrregister erzeugt. Das Bit 4 weist den Wert 0 auf. Die Bits 5-8 stellen die Zonen-Bits dar und werden als eine Funktion der Lese/Schreibspeicheropera.tion erzeugt. Leseoperationen veranlassen die Erzeugung von Nullstellen, während Schreiboperationen hinsichtlich eines Wortes oder Doppelwortes die Erzeugung von Einerstellen bewirken. 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 Adronsiervcrfahren
verlangt. Die Bits o~8 entsprechen denjenigen
Bit« der Position Null. Die Bits 9-34 entsprochen der.! ,Vasgang
ViKP f'-35f der der absoluten Speicheradresse entsprechen
muß, v.'t-nn d.i esr Position ausgewählt wird.
2) Diene IOni-Mon <-.ν ::c'*.·■·] \. ein programmierbares V' hniti .cf..- ilen-(PI)~Gteuor-or*
- Γ;ΐ-Uq rieht das Pit O dew Keil "1% se bestimmt
f.r i--i.ii P.W:t.<
uo)U-,rL Par; Bit i wird durch Ά et ti '.^C-PeId
des Stauerspeicherrogisters erzeugt. Das Bit 2 entspricht
dem Bit 9 des ProzeßzustandsregistersPSR und
i-■ n \: ■■ V i i (i '* B 6
■ "■ 2 6 1 ? O b *f
bestimmt, ob das liiufcndo Programm gewisse ο:·;torno Register
vorändern kann. Dae Bit 3 entspricht (U ;r Prozcf;sornummer,
die durch die Schnittstelleneinheit SIU erzeugt wird. Das Bit 4 weist den Viert Null auf. Die Hits 5--8 entsprechen
den Bits 4-7 des Prozeßzustcindsregisters PGR und
sie bestimmen den Anschluß innerhalb des Multiplexer«. 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-3 des Adressenschalters 36 werden modifiziert,um die
Lese/Schreib-Speichersteuerung während des Ladens der absoluten Adressen in das Allgemeinregistcr GR wiederzugeben. Die Bits 0-2
des PTVi-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 Steuerspeicherregisteis 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 an-■
feingliche 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
B 0 9 8 A 2 / 0 B 8 6
261 2 0 5*1
Wert, wenn das Bit 1 einen externen Speicher bestimmt. Wenn
das Mt 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ßkcnnzeichnungsleitung von der Schnittstelle
SIU. Das Bit 3 entspricht der Exklusiv-Oder-Verknüpfung
des PCR-Festwertspeicher-Bits, falls der anfäng- : ; liehe Viert 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.
.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) 40 erzeugt eine gleichzeitige übertragung seiner Eingänge sowohl zu dem Daten-Ausgangsregister
12 als auch zu dem Arbeitsregister 26. 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
B0 9842/0886
~ 19 - ο r· λ ') η ü Κ
gesteuert und kann axif irgendeinen von vier Eingängen geschaltet
werden. Der Ausgang zu dem Daten-Ausgangsregister 12 wird durch
das Datcnausgangs-Schreibadrcsscn-Bit in dem Steuerspeicherregister
CSR gesteuert und kann entweder den Addier/Verschiebe-Ausgangsschalter
38 oder den Adressenschaltcr 36 auswählen. Wenn die nicht dargestellte DPCR-Leitung von der Schnittstcllcneinheit
SIU aktiviert wird, muß diese Position jedoch den PSR/ PCR-Eingang auswählen.
0) ALU/Vejrschj ebe-Ausgangsschalter
1) Adressenschalter
2) PSR/PCR-Schalter
3) SPB-Eingangsschalter
Arbeitsregister
Die vier Arbeitsregister sind in der zweifach auslesbarcn Registerreihe
26 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ührtmg. Sie sind mit R1, R2 und R3
bezeichnet. Die beiden Ausgänge der Arbeitsregister sind mit VJRP 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 28 und zu dem SPB-Register 30 geführt. Die durch den Ausgang WRP freigegebenen
Register werden durch die WRP-Bits in dem Steuerspeicherregister 19 gesteuert. Der Ausgang WRR wird benutzt, um Operanden an die
Schalter 22 und 20 sowie an die Eingänge der beiden Register PSR und PCR zu legen. Die durch das Ausgangssignal WRR freigegebenen
Register werden durch die VvRR-Bits in dein Steuerspeicherregister
19 gesteuert. Die Arboitr.rogister können durch irgendeinen der Doppalkanal-Eingänge geladen werden. Das zu ladende
Register und der Schreibtakt wird durch die Schreibadresse und
die Schreib-Hits in dem Steuerspeicin-rroginter CSR- 19 gesteuert.
Hinsichtlich für Lese™ bzw. iJchreiboperationcn aur.a -ahltcn Registerngibt
es keine Unterschi ede. Es können drei verschiedene Register vorhanden sein oder es Können alle Register gleich sein
" 20"~ . 2612.ObM
PSR/PCR
Das Prozeßzustandsregister PSR- 42 befindet sich außerhalb des Allgcmeinregictcr — Zwischenspeichers, da es fortlaufend überwacht
und ergänzt wird. Es wird von dem Ausgang WRR der Arbeitsregister 26 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 -i.m 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 Unterbrechungs-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-Cods 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, v/elcher 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- 44 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 t wenn
die PSR/PCR-Steucr-Bits in dem Stcuerspeicherregister CSR eine
PCP.-Schreibopcration definieren. Die Bits 18-19 und 28-34 sind
609842/0886
2 B i 7 O 6 *#
ladbar. Die Bits 0-16 werden gesetzt, wenn der definierte Zustand
auftritt und sie werden durch eine Setz/Rückstell-Bit-Steucrnng
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 /uiswahl von PCR gezwungen,
wenn die DPCR-Leitung von der Schnittstellenheit SIU aktiviert wird.
Die zweifach auslesbare Registeranordnung 14 erzeugt vier Worte für eine Befehlspufferung. Der Leseausgang für den laufenden Befehl
CIR- und der Leseausgang für den nächsten Befehl NIR erzeugt einen Zugriff zu dem gesamten Befehl, unabhängig von der
Befehlslänge und der Adresse. Dies wird durch den Befehlsregisterschalter
IRSW-80 verwirklicht. Die CIR-Adresse entspricht den Bits 32 und 33 des laufenden Befehlszählers IC, Vielehe Bits
auf eines der vier Worte verweisen. Die NIR-Adresse wird erzeugt,
um auf das folgende Wort zu verweisen. Der Schalter IRSW-80 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-80
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 dajier vor einer
Ergänzung des Befehlszählers IC benutzt werden.
Das Befehlsregister IR- 14 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 Bofehlslänge ergänzt wird.
60 9842/08 8 6
261205M
Die BefohlD-Zugriffsstcucrung 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 Adressierverfahren 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 auf v/eist 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ählers IC+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/0 8 86
-23- ? 61 ? O 5 H
2) Die Ausführung eines jeden Befehls umfaßt die Ergänzung des Befehlszählern 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 IR,der gerade beendet wurde, (alter IC 32 Viert)
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, v/erden sie in den Zweiwortbereich, wie zuvor beschrieben, eingeschrieben.
Steuerspeicher-Adressierung und Fortschaltung Die Steuerspeicheradresse wird in dem CSA-Schalter 16 er-
en
zeugt. Die ersten vier Position des CSA-Schalters werden durch das CSA-Schalter-Stevierfeld in dem Steuerspeicherregister CSR- 19 gesteuert. Der CSA-Schalter 16 kann das Nächstadressregister NA 82, das Rückkehradressregister RA- 84, das /uisführadressregister XA- 86 oder den Ausgang des Standardfolge-Decodiernetzwerkes SS- 38 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 Seitentabellen-Wortes 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 werden durch das CSA-Schalter-Stevierfeld in dem Steuerspeicherregister CSR- 19 gesteuert. Der CSA-Schalter 16 kann das Nächstadressregister NA 82, das Rückkehradressregister RA- 84, das /uisführadressregister XA- 86 oder den Ausgang des Standardfolge-Decodiernetzwerkes SS- 38 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 Seitentabellen-Wortes 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- 82 wird bei jedem Ausführungstakt mit
der Summe des Ausgangs des CSA-Schalters 16 plus 1 plus eine Zustands-Sprungkonstnnte
90 geladen. Wenn durch das CSR-Sprungsteuer- feld keine Sprung gefordert wird, so wird das Nächstadressregister
NA- 82 mit der Adresse des Mikrobefehls geladen, der unmittelbar auf den Mikrobefehl folgt, auf den Zugriff genommen wurde. Das
809842/Ö886
heißt, daß dar Takt, der don Mikrobefehl an der Adresse M in das
Stcucrspcichcrregistcr CSR lädt, die Adresse M+1 in das Nächst"
adressregistcr ΝΛ lädt. Wenn eine Zahl von Mikrobefehlen bed.ingungsgemüß
übersprungen werden muß, so kann das CSR-Sprungfeld festlegen, daß ein Sprung ausgeführt wird, wobei das CSR-Konstantenfcld
die zu testende Bedingung und die Anzahl der zu überspringenden Mikrobefehle festlegt. Die Schrittfolge ):>ei einem
Sprung ergibt sich wie folgt: Der Mikrobefehl an der Adresse M ruft einen bedingten Sprung hervori Durch die Ausführung dieses
Mikrobefehls wird M-I-1 in das Steuerspeicher register CSR geladen
und es wird die Adresse von M+1 + 1+SKP in.das Nächstadressregister
NA geladen. M ist ein Speicherplatz irn Steuerspeicher 18. 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 0, 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 35sK2 wenn K1 = 1
WRR 0=K2 wenn K 1=0
WRR 0=K2 wenn K 1=0
1) Ubertrags-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=^-2
6) IRSW V=WRRO wenn K1=0
IRSW 7=K2 wenn K1=1
IRSW 7=K2 wenn K1=1
^ /0886
261205If
7) Höherer Unterbrechungsrang oder Rang Null auf Leitung
von Schnittatelleneinhe.it SIU vorliegend, wenn K2--O.
Rang Null-Unterbrechung auf Leitung von Schnittstelleneinheit
SIU vorliegend ,wenn K2=1 .
Das Rückkehr-Adressregister RA-- 84 wird von dem Nächstadresaregister
NA- 82 geladen, wenn immer das Lade-Bit für das Register
RA in der SteuerSpeichereinheit CSR vorliegt.
Das Ausführungs-Adressregister XA- 86 wird mit dem Ausgang des
Wegsuchers 92 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
16 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 gerneinsame 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 erzeugt die Wegsuchadresse
und ein Eingangssignal für das Standardfolgen-Decodiernetzwerk 88. Das Standardfolgcn-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 Kegsucher der durch den Operations-Code adressiert wird,
609842/088 6
2612051*
enthält die Adresse im Steuerspeicher, an der die Folge für dienen
Befehl beginnt. Der Befohl wird sodann ausgeführt durch Verzweigung
zu der St:andardfolgeadrense( durch Ausführung der gemeinsamen
Schritte, Verzweigung zu der Folgeadresse im XA-Register 86 ,
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 16 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 S teuer logik 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 Steuer logik des CSA-SChalters \6
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 decodiert wird. Dias veranlaßt eine erneute Bearbeitung des zuvor
bearbeiteten Befehls. Das Mikroprogromm bewirkt daher vor der Feststellung eines fehlenden Seitentabellcnwortes PTW nichts was.
nicht erneut getan werden könnte. Ein nicht dargestelltes Flip-Flop wird gesetzt, wenn das fehlende Seitentabellenwort PTW
6 0 9 8 4 2/0886
2 61 2 O 5 H
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 16 solange nicht, bis die nächste Befehlsstandard- ^
•folge bearbeitet wird. Beide Typen rufen die Auswahl der Position
Ausnahme/Unterbrechung in dem CSA-Schalter 16 hervor und sie setzen das entsprechende Bit in dem Prozeßsteuerregister PCR- 44.
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-Aus
lauf , überlauf, Verriegelungsfehler und Adressenfehlausrichtung.
Eine Divisionsprüfung wird bei einem Test durchgeführt und eine Verzweigung findet statt, wenn der Divisor den V7ert Null aufweist.
Alle diese Ausnahmen zeigen Fehler an,aber sie müssen nicht sofort
behandelt werden und können warten bis zum Beginn des nächsten Befehles. . ■
Steuerspeicher-Ausgangsregister
Das Steuerspeicher-Ausgangsregister CSR- 19 enthält den auszuführenden
Mikrobefehl.Ein externes Steuerspeicherregister kann
vorgesehen sein, wie dies angedeutet ist. Ein Schalter 9 4 kann eine von vier Lagen jeweils einnahmen und bildet den Eingang für
das Steuerspeicherregister CSR. Die vier Positionen des Eingangsschalters 94 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 Steuxspeichcrregister CSR wieder· Diese Position wird benutzt, um die Bits des
' 609842/0886 . .
? 6 1 2 O 5 H
externen Steuerspeichorregisters CSR erneut zu laden,
wenn dir; Schalter der Bedienungskonsole für die Anzeige
von Daten benutzt werden.
Daten v/erden in das Ein/Ausgangssystem durch Simulation des Steuerpseicherregister CSR über die Schalter ··der Wartungskonsole
eingegeben. V7onn die Schalter durch den CSR-Eingangsschaltor 9
freigegeben werden, so wird ein Signal erzeugt, das das Laden der externen CSE-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 Ziuswahl 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 SteuerspeicherregistersCSR ist folgendesS
Bit 0 Takt HA in RA
Eit'1 Führe Sprung aus (Ki-2=Test, K3-5=Zustand, K6-8= Sprungzählstand
Eit'1 Führe Sprung aus (Ki-2=Test, K3-5=Zustand, K6-8= Sprungzählstand
Bit 2 Verzweigung nach Ko-8 .
Bits 3-4 WR-Schreibadresse
Gutschreibe IC (Lade WA wenn Schreiben WR)
einschreibe R1 (Setze W wenn Schreiben WR und CSA=SS) 1Geschreibe R2
11-schreibe R3
Bit 5 Warten auf die Annahme von Lesedaten (JiRDA)1 von der
Bit 5 Warten auf die Annahme von Lesedaten (JiRDA)1 von der
Sehnittstelleneiheit SIU
Bits; 6-Ί X-BAR-Ztdresse für WRW-Ausgang "■■ · O9=Addier/verschiebe-Ausgangsschalter 01 -Aclresseiichalter
' 10=PSF:/PCR-Schalter ·"
Bits; 6-Ί X-BAR-Ztdresse für WRW-Ausgang "■■ · O9=Addier/verschiebe-Ausgangsschalter 01 -Aclresseiichalter
' 10=PSF:/PCR-Schalter ·"
1I=SP-hus gangs s chalter
Bits S--9 Zitsl-cinds-Coda (CC) »Steuerung " - -
Bits S--9 Zitsl-cinds-Coda (CC) »Steuerung " - -
i / ! j h H h
26171) .S H
Bit 10 Schreibe PTW-Zwischenspcichor
Bits 11-13 ZAC für Lcse/Schreib-Speicherzyklus (Bits 1-3 der
Lese/Schrcib-Adresscn-Schalterpositionen O und 1)
OXX=LeSen
iXX-Schreiben
XOX=Einfachpräzision XiX=Doppelpi~äzision
Bit 14 Setz/Rückstell-Bits definiert durch CSR41-44
Bits 15-17 SIU-Anforderungstyp
00O=NOP
001-Unterbrechungsdaten
0i0=Freigabe und Unterbrechungsdaten 011=Speicher oder picgrammierbare Schnittstellendaten
(PI wenn 19-20=10) i00=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 PTVJ-Operanden-Fehlfolge,
wenn ein Seitenfehler festgestellt wird
Bit 18 PTVi-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 PSR1O=1) Oi=absolute Adresse
iO=PI-Adresse
11=PTW-Zwischonspeicher O~35
Bit 21 Schreibe WR
η U Β B 4 2 7 (J H 8 6
-3O-
2 6 1 ? O 5 M
Bits 22-23 CSA-Schaltersteuerung (erste vier Positionen)
OO-Nächst-Adressregister (NA)
. Oi=Rückkehr-Adressregistor (RA) 10=Ausführungr.adressjregister .(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
I=WRR Bits 29-30 PSR/PCR-Steuerung und ALU-Betriebsweise
00= Lese PSR 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 OO1=DS 01O=IS O11=IL
10O=WRR
101=3, Wortlänge oder übertrag - iio=Konstantc KO-8
11I=DI Bits 36-44 Konstante KO-8 Dieses Feld wird ebenfalls für eine gegenseitige
exklusive Steuerung benutzt.
6.0984 2/0886
Bits 36-37-8/WL/CY-Steuerung
00, 8/WL/CY--IRSW Befehlswortlänge
01 , 8/fL/CY=PSR Übertrags-Bit
10, 8/WL/CY=8
Bits 36-38 Verschiebe-Zählstand-Schaltersteuerung
Bits 36-38 Verschiebe-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=CSR38 wenn CSR37=1 . WRRO=CSR38 wenn CSR37==O
001 PSR13 (Übertrag)=CSR38
010 WRR33=CSR38
011 IRSW 14-35 enthält Adressilbe 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-Feld=CSR37=38 '
110 " IRSW7=WRR0 wenn CSR37=O
IRSW7=CSR38 wenn CSR37=1
x .111 SIU-IILIP-Leitung aktiv und nicht gesperrt oder
• .''5UKP; aktiv
Bits 42-44 Spring-Zählstand
Bits 38-44 GR-Zwipchenspoi;7hc.-..-^-.i?:viratatirosse
Bits 41-44 GR-55vii."':;henspo:«-;.-':\ ::'"rossu pro Priorität r.rang
Bits 41-44 Setze/Rückstelle Bit-Adresse '
0000 Rückstelle Halte-Betriebsweise
0001 Setze Halte-Betriebsweise
0010 Rückstellc Sperr-Unterbrcchungs-Betricbc-weise
0011 Setze Sperr-Unterbrechungs-Betriebsweise 0100/0101 Rückstelle PCR-Ausnahme-Speicherung
0110/0111 nichtdefiniert
1OOO/1OO1 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-Eingangsschaltei
10 Nullstellen
11 Einerstellen
Bits 47-48 Rechtsverschiebung-Eingangsschalter
OX Nullstellen
10 B-Operandenschalter
11 A-Operandenschalter
Bits 49-50 GR-Zwischenspeichersteuerung
0O=NOP
Ö1=Schreiben GR-Zwischenspeicher
10=Laden SPB von GR Zwischenspeicher
11= ' ^L.aden SPB von WRP
Bits 51-53 GR-Zwischenspeicheradresse
OOO=CSR-Zwischenspeicher-Gesamtadresse
(CSR 38-44}
0 90^2/0888
261205H
Bits 51-53 OO1=CSR Zwischenspeicher-Adresse pro Prioritätsrang (AIL, CSR41-44)
010= erweiterte Lese/Schreibadresse von WRR 011-laufender Prioritätsrang XR2
iOO=laufender Prioritätsrcing XR1
iO2=laufender Prioritätsrang GR1
1iO=ungerades Register des durch WA ira laufenden
Prioritätsrang adressierten Paares 111=WA--Adresse im laufenden Prioritätsrang
Bit 54 A Operandenschalter
- . O=SPB
I=WRR
- . O=SPB
I=WRR
6098 4.2/0886
2 612
Datenformate
Formelt der Information im Speicher - Eine Adresse bestimmt
den Speicherplatz eines Bytes von 9 Bit, das das Basiselement der Information im Speicher darstellt. Aufeinanderfolgende
Bytes werden durch aufeinanderfolgende wachsende Adressen definiert. Ein Wort besteht aus einer Gruppe von 4 aufeinanderfolgenden
Bytes. Der Speicherplatz einer Gruppe von Bytes wird durch die Adresse des am weitesten links stehenden Bytes bestimmt.
Eine Gruppe von Bytes weist eine Kalbwort-, Wort-, Doppelwort- oder Vierwort-Ausrichtung auf, wenn seine Adresse
durch ein ganzzahliges Vielfaches von 2, 4, 8 oder 16 gegeben ist. Die Befehle im Speicher müssen eine Halbwort-Ausrichtung
aufxveisen. Operanden für die Wortlänge müssen eine Wortausrichtung
und Operanden von Doppelwörtern müssen eine Doppelwortausrichtung aufweisen.
Numerische Daten - Die numerischen Daten besitzen nur eine Form, nämlich die ¥ollworteinheit. Das Dezimalkomma wird rechts
von dem niedrigrangigsten Bit angenommen. Negative Zahlen v/erden
in der Form des Zweier-Komplementes dargestellt. Der Speicherplatz wird durch die Adresse des am weitesten links stehenden
Bytes definiert, welches eine Wortausrichtung aufweisen muß.
32-Bit-Operationen - Schnittstellen e die den Prozessor IOP mit
Einheiten mit einer 32-Bit-Wortlänge verbinden, packen die 32-Bit=
Daten wie dargestellt, wobei innerhalb eines jeden Bytes von 9 Bit die 8 rechten Bits benutzt werden:
7 8
15 16
. 27.
23 24
O | O | O | öl |
31
609842/0886
? 6 1 ? O 5 %
Dieses Packen gestattet die Adressierung von Bytes unter
Verwendung der normalen lOP-Eyteadressierung. Spezielle
Befehle (LD32, ST32) werden benutzt, um numerische Daten
von 32 Bit in eine 36 Bitfrechts angeordnete vorzeichenerweiterte Form und zurück umzuwandeln.
Verwendung der normalen lOP-Eyteadressierung. Spezielle
Befehle (LD32, ST32) werden benutzt, um numerische Daten
von 32 Bit in eine 36 Bitfrechts angeordnete vorzeichenerweiterte Form und zurück umzuwandeln.
Registerformate
Allgemeines - Zugängliche Register bilden jene Prozessorregister, auf die über die Software—Befehle des Prozessors
Zugriff genommen werden kann. Der Prozessor weist folgende
zugängliche Register auf:
Zugriff genommen werden kann. Der Prozessor weist folgende
zugängliche Register auf:
Prozeßzustandsregister PSR
Befehlszähler IC
Befehlszähler IC
Seitentabellenbasisregister PTBR
Allgemeinregister Steuerblockbasisregister
f. Prozeßsteuerregister
GR
CBBR PCR
Die Register PSR, IC, PTBR und mehrere Register GR befinden
sich im Zwischenspeicher 26, der 16 Register mit 36 Bit
auf v/eist, die folgendermaßen angeordnet sind:
sich im Zwischenspeicher 26, der 16 Register mit 36 Bit
auf v/eist, die folgendermaßen angeordnet sind:
PSR | Steuerung j P | /r | S | L | S | R A CC C Prozeß-Zeitgeber | • • * GR • • |
IC | Adresse | Prog.Nr.j Seitentabellenbasis Kenn- | |||||
PTBP |
609b42/088ü
2612051«
Prozeßzustanderegister PCR ~ Das Prozeßzustandsregister speichert
Information, die für die Steuerung des gerade ablaufenden Prozesses
von Bedeutung ist. Es besitzt das folgende Format:
PSR
(GR0)
(GR0)
9 10 11 12 13 14
Steuerung | P | R | A | CC | C | Prozeß-Zeitgeber |
Steuerung [θ: 8] - Die eingefügte Steuerung bestimmt
die unterbrechende Quelle.
P [8: R [9:
A [lO : CC[ll:
cJjL3:
Fvr--t
;;:: '■■ ti
1] - Vorrang. Haupt (O)- oder Neben (I)- Betriebsweise
C
3-1 - Externes Register. Gewisse nicht zum Prozessor
IOP gehörende Register können nicht geändert werden, wenn dieses Bit gesetzt ist.
1J - Adressierweise. AbsoJ.ute (0) oder seitenunterteilte
(1) Adressierung.
2] - Zustandscode. Die Bedeutung des Zustandscodes
ist für jeden Prozessorbefehl vorgegeben. Im allgemeinen entspricht:
Ergebnis = 0 CC -*- 0 Ergebnis <T0 1
Ergebnis > 0 2
Überlauf 3
l] - Übertragsbit vom Addierer, übertrag (1) oder
kein übertrag (0), der sich bei der Ausführung
von Befehlen unter Verwendung der arithmetischen Funktionen des Addierers ergibt.
(Addieren, subtrahierenf multiplizieren f
dividieren, vergleichen und negieren»)
ß-Ecitgeber [jL4:22J - Ein Zeitgeber f der periodisch
vrUhrcnd des Prozeßablaufs herabgezählt wird*
Eine Sei fgeber-Auslauf ausnähme tritt aiii: e
wenn der Zeitgeber den Wert Null erreicht=
261205k
Der Zeitgeber wird einmal pro 512 Taktzyklen des Prozessors herabgezählt. Bei einer Zykluszeit
von 80 ns führt dies zu einem minimalen Wert von ungefähr 40 Aas und einem Maximalwert
von 2,67 min.
Entsprechend der Zugriffsfrequenz zu dem Prozeßzustandsregister
PSR sei es zum Zwecke der Modifikation oder der Bezugnahme wird der tatsächliche Wert des laufenden Prozesses in einem Spezialregister
außerhalb des Allgemeinregister-Zwischenspeichers abgelegt. Aus Gründen der Leistung v/erden Veränderungen in dem
Register nicht in dem Allgemeinregister GR_ wiedergegeben. Dieser
Speicherplatz des Zwischenspeichers, der dem Prozeßzustandregister PSR zugeordnet ist, wird nur benutzt, um den laufenden Wert des
Registers PSR für den Fall einer Unterbrechung sicher zu speichern.
Befehlszähler IC - Der Befehlszähler speichert die Adresse des
laufenden Befehls. Da die Befehle eine Halbwortausrichtung aufweisen müssen, besitzt das niedrigrangigste Bit immer den Wert
Der Befehlszähler IC ist im Allgemeinregister GR, abgelegt und besitzt das folgende Format:
IC
(GR1)
(GR1)
8 9
35
l/r | S | RFU | IC |
L/R [0:lJ
S [1:3]
S [1:3]
RFU [4:5*]
IC [9:27}
IC [9:27}
- Intern/Extern. Bestimmt internen (0) oder externen (1) Speicher.
- Steuerung. Bestimmt, welcher externe Speicher bei einer externen Speicherbezugnahme benutzt
wird.
- Reserviert für zukünftigen Gebrauch.
- Die (Byte)-Adresse des laufenden Befehls.
6 0 9 B A 27 Ü 8 8 6
L/ 'R |
S | Prog.Nr. | Seitentabellenbasis Kennschlüssel I |
261 205«f
- 38 -
Seitentabellenbasisrcgister PTBR - Das Scitentnbellonbanisjregister
weist auf die Seitentabelle, die benutzt wird, um die seitenunterteilte /vdressverschiebung für den laufenden
Prozeß zu erzeugen. Dieses Register kann nur in der Hauptbetriebsweise geladen v/erden. Das Register PTBR ist im Allgemeinregister
GRl5 gespeichert und besitzt das folgende Format:
13 4 8 9 29.30
PTBR
(GR15)
(GR15)
L/R JO:l] - Intern/Extern.
S [l:3] - Steuerung.
Prog.Nr. (4:53 ~ Programmnummer. Ein Feld, welches von
der Software benutzt werden kann, um eine zusätzliche ProgrammbeStimmung
zu bewirken. Dieses Feld wird von der Prozessor-Hardware nicht beachtet.
Seitentabellenbasis J9:2lJ - Dies ist die absolute
Adresse der Basis der Seite des Seitentabellenwortes für diesen Prozeß. Da
die Adresse mit 27 Bits gefüllt ist, indem 6 Nullen an der rechten Seite addiert
werden, müssen die Seitentabellenadressen kongruent zu 0 modulo 64 (Bytes) sein.
Kennschlüssel l3O:6j - Der Kennschlüssel dient der
Bestimmung eines Prozesses und wird benutzt, um Seitentabellenworte den
Prozessen zuzuordnen.
Allgemeinregister GR - Die verbleibenden 13 Register
GR^ - GE, f sind 7illgoE;einregister. Die Allgemeinregister
en von einigen Befehle.! in geraden-ungeraclea Paaren
tzt. Diese Befehle schliefen die Befehle PD^Ii, WRRR1.
.-, M2GM, DSL und BSR einc Ja Bezug auf die';e Befehle
261205t»
muß das Allgemeinregister GR gerade sein und das ungerade Register
des Paares bildet das nächst höher numerierte Register. Wenn somit beispielsweise das gerade Register GR mit 4 bestimmt
ist, so ergibt sich das ungerade Register mit 5.
Steucrblockbasisregister CBBR - Die Steuerblockbasis CBB ist
eine absolute Adresse, welche auf die Basis im Speicher verweist, in der sich die Ausnahmesteuerblock ECB- und Unterbrechungssteuerblock
ICB-Tabellen befinden. Diese Tabellen werden weiter
unten definiert.
D.as Steuerblockbasisregister wird an dem Speicherplatz des Zwischenspeichers abgelegt, der dem Allgemeinregister GRQ für
den Prozeß mit dem höchsten Prioritätsrang zugeordnet ist. Das Register weist einen primären und einen sekundären Steuerblockbasiswert auf und besitzt das folgende Format:
13 4
10 11 12 14 15 19 20
CBB2 | L/R | S | RFU | CBBl | |
S |
Sekundäre CBB
Primäre CBB
Die primäre Steuerblockbasis wird für alle Ausnahmen benutzt und für alle Unterbrechungen mit Ausnahme jener, die internen
Speicherfehlern zugeordnet sind. Bei ihrer Benutzung weist die
primäre Steuerblockbasis die nachstehende Ausrichtung auf:
Primäre Steuerblockbasis
0 | /r | 1 | S | 3 | 4 | RFU | 8 | 9 | CBBl | 24 | . 25 | 000 | 35 | 00000000 |
L | ||||||||||||||
Diese Ausrichtung gestattet die Speicherung von Basen der
Ausnahmesteuerblock- und Unterbrechungssteuerblock-Tabellen an irgendeiner 512-Wortgrenzo in irgendeinem Speicher.
" fin 9842/0886
~ 40
261205H
Die zweite Steuerblockbasis wird bei Unterbrechungen auf Grund von internen Speicherfehlem aufgerufen. Die zweite Steuerblockbasis
ist bei ihrer Benutzung wie folgt ausgerichtet:
Zweite Steuerblockbasis
0 | i | S | 3 | 4 | RFU | 8 | 9 | 0000 | 00 | 17 | 18 | CBB2 | 24 | 25 | 35 |
L/ /r |
000 | 0000000 | 0000 | ||||||||||||
Diese Ausrichtung gestattet die Speicherung der Basen der Ausnahme
st euer block- und Unterbrechungssteuerblock-Tabellen an einer
512-Wortgrenze innerhalb der ersten 64Pi irgendeines Speichers.
Die Ausnahmesteuerblocks und die Unterbrechungssteuerblocks sind in der nachstehend dargestellten Weise in Bezug auf die Steuerblockbasis
gespeichert.
CBB
ECB15
ECBl
ECBO ICBO ICBl
ICB255
Prozeßsteuerregister PCR - Für alle Prioritätsränge ist ein gemeinsames
Prozeßsteuerregister vorgesehen. Dieses weist das nach stehende Format auf:
8 9
15 16 17 18 19 20 22 23 26 27 28
Ausnahmen | Paritäts fehler |
LS | R F U |
T & D |
R 0 M |
RFU |
Proz.
Nr. Rang |
I
N II |
ünterbr.
Anf. |
609842/0886
26120BH
Ausnahmen [_0:9] - Jedes Bit kennzeichnet eine nicht-MME-
Ausnahme eines besonderen Types
Paritätsfehler C9:71" Hierdurch wird der Punkt in dem Prozessor
bestimmt, an welchem ein Paritätsfehler festgestellt wurde.
LZ [ΐ6:ΐ[ - Es liegt keine Reaktion auf eine Unterbrechung
mit dem Rang 0 vor.
RFU [l7:l| - Reserviert für zukünftigen Gebrauch
T&D [18:1] - T&D-Betriebswcise. Ein Ilaltebefehl stoppt den
Prozessor. Alle Unterbrechungen werden nicht beachtet.
ROM [l9:i] - ROM-Bit. Dies steuert den Zugriff zu dem
Festwertspeicher.
RFU [2O:3j - Reserviert für zukünftigen Gebrauch.
Proz.-Nr. & Rang ^23:4J - Prozessornummer und Rang.
INH [27:l] - Unterbrechungs-Sperrbit.
Unt. Anf. [23:8J - Unterbrechungsanforderungsbits. Jedes gesetzte
Bit bestimmt eine Software-Satzunterbrechung auf einem der Bitposition entsprechenden
Rang. Anforderungsrang 7 (Bit 35) ist immer gesetzt. Prozessor-Satzunterbrechun-:
gen mit den Pegeln 0 bis 7 benutzen in entsprechender Weise die Unterbrechungssteuerblöcke
8 bis 15.
Ausnahmen
Ausnahmen sind vom Prozessor festgestellte Zustände, die den
automatischen Eintritt in eine Ausnahme-Verarbeitungsroutine verursachen. Die Ausnahmebedingungen werden vorsätzlich geschaffen
oder sie können das Ergebnis eines Programmierfehlers oder eines Hardwarefehlers außerhalt des Prozessors sein. Die
Ausnahmebedingungen sind untenstehend definiert. Für Nicht-MME-Ausnahmen
wird der Zusammenhang zwischen der Art der Ausnahme und der Bitposition des Registers PCR dargestellt.
0 9 8 4 2/0886
261 2 0 5*1
PCR-Bit ■ Art der Ausnahme
0 Operation nicht vollständig (ONC). Keine Reaktion der Schnittstelleneinheit SIU auf
ARA oder ARDA.
1 Seitenadresse-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ßzeitgeberauslauf.
6 überlauf, wenn PSR CC = 11; Divisionsprüfung,
wenn PSR CC = 00.
7 Verriegelungsfehler (Sperrunterbrechung für mehr als 40 /as) .
8 Adressen-Fehlausrichtung.
Ausnahmebedingungen werden durch eine Ausnahmenummer, bestehend aus 4 Bit identifiziert. Hinsichtlich MME-Ausnahmen wird diese
Nummer den Bits [lO:43 des Befehls entnommen. In allen anderen
Fällen weist die Ausnahmenummer den Wert 0 auf. Die Ausnahmenummer wird als Ausnahmesteuerblocknummer ECBN zur Identifizierung
eines 4-Wort-Ausnahmesteuerblockes ECB benutzt, der auf die Ausnahme-Verarbeitungsroutine
verweist. Die Byteadresse des Ausnahmesteuerblockes ECB ist gegeben durch
ECB-Adresse = Steuerblockbasis - 16 (ECB-Nr. + 1).
Das Format des Ausnahmesteuerblockes ergibt sich wie folgt: CBB-16 (ECB-Nr. +1)
PSR
IC
Sicherungsbereich- Ilinwei sadr es se*
PTBR
609842/0886
2612051*
Eine Sichcrungsbereich-Hinweisadressc SAP für das Prozessorpaar
O ist in dem dritten Wort des Ausnahmesteuerblockes ECD abgelegt und eine Sicherungsbereich-Hinweisadresse S/üP für
das Prozessorpaar 1 ist in dem dritten Wort des Ausnahmesteuerblockes ECB 1 abgelegt. Das dritte Wort der Steuerblöcke
ECB 2 bis 15 wird nicht benutzt.
Bevor in die Verarbeitung einer Ausnahmeroutine eingetreten wird, muß wichtige Information über den laufenden Prozeß
sicher gespeichert werden. Dies geschieht durch eine Teilreaktion des Prozessors auf eine Ausnahme. Da die Auftritte
von Ausnahmen verschachtelt sein können, z. B. kann eine zweite Ausnahme auftreten bevor die Bearbeitung einer ersten
Ausnahme vervollständigt ist, wird ein Stapel benutzt, um Speicherraum für die sichere Speicherung des Prozesses vorzusehen.
Die Stapel-Hinweisadresse wird als Sicherungsbereichs-Hinweisadresse
SAP bezeichnet und im dritten Wort des Ausnahmesteuerblockes ECB O gespeichert. Mehrprozessorsysteme erfordern
einen zweiten Stapel, wobei die Hinweisadresse SAP für den
zweiten Prozessor in dem dritten Wort des Ausnahmesteuerblockes ECB 1 gespeichert wird.
Wenn eine Ausnahme festgestellt wird, so wird die zugeordnete Sicherungsbereich-Hinweisadresse wieder aufgesucht und die
Information über den laufenden Prozeß in dem Stapel nach dem folgenden Ordnungsschema sicher gespeichert:
Anfängliche SAP.
Endgültige SAP'
ADRESSE PCR GR2 GR3 GR4 PTBR PSR
IC
Stapel-Eintrittsstelle für laufenden Prozeß
'609842/0886
Die SichcrungsbereichG-Hinweisadresse wird entsprechend ergänzt.
Der in dem Stapel gespeicherte Zählstand des Befehlszählers IC
verweist auf den Befehl, der auf denjenigen Befehl im Prozeß zu dem Zeitpunkt folgt, wo die Ausnahme festgestellt wurde.
Die an dem letzten Speicherplatz des Stapels gespeicherte Adresse ist die letzte Adresse von Interesse, die erzeugt
wurde, bevor die Ausnahme festgestellt wurde. Diese ist in erster Linie für Ausnahmen enthaltende Adressen vorgesehen,
die Ausnahmen betreffend eine nicht vollständige Operation, die Grenzen, den Zugriff oder eine fehlende Seite umfassen.
Nachdem diese Information über den laufenden Prozeß in dem Stapel sicher gespeichert ist, werden die Inhalte von PSR,
IC und PTBR von dem zugeordneten Ausnahmesteuerblock ECB und die von diesem Prozessor benutzte Adresse der Sicherungsbereichs-Hinweisadresse
in das Allgemeinregister GR0 geladen. Hierdurch wird der Eintritt in der Verarbeitungsroutine für
die Ausnahme vervollständigt. Nach der Vervollständigung muß die Ausnahme-Verarbeitungsroutine einen speziellen Befehl Ri-Ii-I
ausgeben, um zu dem Prozeß zurückzukehren, in dem die Ausnahme festgestellt wurde. Durch diesen Befehl werden PSR, IC, GR2,
GR3, GR4, PCR und PTBR aus dem Stapel geladen,und es wird die
Sicherungsbereichts-Hinweisadresse um. 1 erniedrigt. Falls die Ausnahmen und RMM-Befehle nicht in Paaren auftreten, muß die
Ausnahme-Verarbeitungssoftware sicherstellen, daß der Stapel in geeigneter Weise erhalten bleibt. Es gibt keine Fehlerprüfungen
bei der Softwarehandhabung der Stapel-IIinweisadresse
und für den Stapel-Überlauf oder Unterlauf.
Unterbrechungen sind außerhalb des Prozessors festgestellte Ereignisse, die eine Reaktion des Prozessors erfordern. Den
Unterbrechungen des Prozessors IOP kann einervon 8 Prioritätsrängen zugeordnet sein. Der Rang 0 weist den höchsten Prioritätsrang auf und der Rang 7 den niedrigsten. Um die für das Ansprechen
6 0 9 8 4 2 / 0 8 8 β
261/Ob«!
auf eine Unterbrechungsemforderung erforderliche Zeit zu
.minimalisieren, ist im Prozessor 1OP ein vollständiger Satz von Registern für jeden der 8 Prioritätsränge vorgesehen.
Wenn eine Unterbrechung die Auslösung eines neuen Prozesses veranlasst, so wird der gerade laufende Px~ozeß unversehrt in
den Registern gespeichert, die dem laufenden Prioritätsrang
zugeordnet sind. Die Steuerung kann auf den unterbrochenen Prozeß durch einfache Reaktivierung dieses Prozeßranges zurückkehren.
Die Notwendigkeit der sicheren Speicherung und der erneuten Speicherung unterbrochener Prozesse sowie der damit in
Zusammenhang stehende Aufwand wird eliminiert.
Die 16 Register für jeden Prioritätsrang werden in aufeinanderfolgenden
16-Registerblöcken in dem 128-Wort-IOP-Zwischenspeicher
abgelegt. Die Register für den Prioritätsrang 0 v/erden an den Speicherplätzen 0 bis 15 des Zwischenspeichers abgelegt. Da
das Prozeßzustandsregister PSR für den Rang 0 niemals in den Zwischenspeicher übertragen wird, da der Rang 0 nicht unterbrochen
v/erden kann, wird der Speicherplatz 0 des Zwischenspeichers für die Speicherung der Steuerblockbasis CBB benutzt.
Die Datenübertragung zwischen Registern auf unterschiedlichen Rängen ist nur über Kopierbefehle in der Ilauptbetriebsweise
möglich, wodurch der Zwischenspeicher adressiert wird.
Die IOP-System-Schnittstelleneinheit SIU überwacht konstant
den laufenden Prozeßrang des Prozessors und die Unterbrechungsanforderungen von den Eingang/Ausgang-Systemmodulen. Jede Unterbrechungsanforderung
bestimmt die Nummer des zu unterbrechenden Prozessors, die Priorität der Anforderung und die Steuerung zur
Identifizierung des Anforderers der Unterbrechung. Diese Information
wird in jedem Modul gespeichert, der Unterbrechungen anfordern kann und hinsichtlich der meisten Module kann diese
Information durch die Benutzung programmierbarer Schnittstellenbefehle abgelegt werden.
609842/0886
12-05«·
Immer, wenn eine Unterbrechungsanforderung mit einem höheren
Rang als der Rang des laufenden Prozessors vorhanden ist,
wählt die Schnittstelle SIU eine der vorliegenden Unterbrechung mit höherem Rang zugeordnete Leitung zu dem Prozessor aus. Wenn
verschiedene Unterbrechungsanforderungen mit dem gleichen Prioritätsrang
vorliegen, so bestimmt die Schnittstelleneinheit SIU, welche Anforderung an den Prozessor auf der Basis von durch die
Anschlußnummer festgelegten Prioritäten weiterzuleiten ist. Wenn der laufende Prozeß hinsichtlich einer Unterbrechung nicht
gesperrt ist, veranlasst eine Unterbrechungsanforderung den Prozessor IOP zur Aufgabe des laufenden Prozesses und zur Annahme
eines Unterbrechungswortes von der Schnittstelleneinheit SIU. Das Unterbrechungswort weist das folgende Format auf:
Unterbrechungswort
O | 1 | RFU | 171819 | 262728 | O | 3132 35 |
N | ICB-Mr. | Steuerung I |
||||
O | ||||||
ICB-Nr. [l8:9]
STEUERUNG [27:9]
STEUERUNG [27:9]
- Neu." Dieses Bit zeigt, wenn es gesetzt ist, an, daß die Unterbrechung eine neue Unterbrechung
darstellt. Wenn dieses Bit nicht
gesetzt ist, so stellt das Unterbrechungswort dasjenige einer vorangegangenen unterbrochenen
Anforderung dar, die wieder aufgenommen wird.
- Reserviert für zukünftigen Gebrauch. Dieses Feld muß 0 sein; wird jedoch nicht überprüft,
um sicherzustellen, daß das Feld auch den Wert 0 aufweist.
- Unterbrechungssteuerblocknummer.
- Steuerung. Dieses Feld bestimmt den Anforderer der Unterbrechung.
Die Bits 28 bis 31 werden von der Schnittstelleneinheit SIU erzeugt
und bestimmen den Quellenmodul (SIU-Anschlußnummcr) der
Unterbrechung.
RU9842/0886
2 6 1 7 Π 5 Η
Um die Unterbrechungn-Verarbcitungsroutine auszulösen, werden
4 Register aus dem Unterbrechungssteuerblock geladen. Wenn das Prozeßzustandsregister PSR geladen ist, so wird das Steuerfeld
des Unterbrechungswortes in das Steuerfeld des Registers PSR eingesetzt. Die anderen Register IC, GR14 und PTDR werden direkt
aus aufeinanderfolgenden Worten in den Unterbrechungssteuerblock ICB geladen. Der Freigabe-Befehl REL wird zum Ausstieg aus Prozessen
benutzt, in die infolge einer Unterbrechung eingetreten worden ist. Nach einem Befehl REL wählt die Schnittstelleneinheit
SIU den wartenden Prozeß mit der höchsten Priorität zur Bearbeitung durch den Prozessor aus. Dieser Prozeß kann einen
bereits zuvor unterbrochenen Prozeß darstellen oder auch einen neuen Prozeß, der als Folge der Unterbrechungsanforderung ausgelöst
wird. Bei gleichem Prioritätsrang besitzen zuvor unterbrochene Prozesse Priorität gegenüber neuen Unterbrechungsanforderungen.
Durch Laden des Prozeßsteuerregisters PCR mit entsprechender Software kann ein Prozessor der Schnittstelleneinheit
SIU eine Unterbrechung mit irgendeinem Rang 0 bis 7 anbieten. Um jedoch auf einen mit irgendeinem Rang durchgeführten Befehl REL
eine wohl definierte Antwort zu erzeugen, ist das Bit des Registers PCR, das eine Unterbrechung mit dem Rang 7 anfordert,
immer gesetzt.
Wenn infolge eines Freigabebefehls REL in einen neuen Prozeß eingetreten werden soll, so ist die Reaktion des Prozessors
ähnlich derjenigen, die durch eine normale Unterbrechung aus gelöst wird und die Aufnahme eines Unterbrechungswortes von
der Schnittstelle SIU und den Zugriff auf einen Unterbrechungssteuerblock ICB umfasst. Wenn in einen zuvor unterbrochenen
Prozeß wieder eingestiegen werden soll, so liefert die Schnittstelleneinheit SIU nur die Rangnummer und die Tatsache, daß
ein alter Prozeß wieder bearbeitet werden soll. Da der Prozeßzustand 'zu dem Zeitpunkt seiner Unterbrechung in dem Register
des Zwischenspeichers unversehrt erhalten ist, stellt dies die einzig erforderliche Information zur Wiederaufnahme des Prozesses
dar.
■' 609842/0886
261 205«f
Adressenentwicklung
In dem Prozessor IOP erzeugte Adressen können auf den internen
Speicher des Prozessors IOP, auf den zentralen Systemspeicher, auf IOP-Registcr außerhalb des Prozessors (externe Register) r
auf Register in dem zentralen System (externe Register) oder auf Speicherplätze in einem der lOP-Zwischenspeicher verweisen.
Unabhängig von der Art der Speicherung beginnt die Adressenentwicklung mit der Berechnung einer effektiven Adresse.
Effektive Adressenentwicklung - Für die meisten IOP-Befehle
beginnt die Berechnung der effektiven Adresse mit einer Adresssilbe AS. Wenn ein Befehl eine Adressilbe enthält, so besetzt
diese das Feld £l4:22j und besitzt das folgende Format:
AS:
XR1 | O | ; S ■ D « l |
S i D |
XR1 | 1 | XR2 |
el4 17 18
19 22 23
Innerhalb der Adressilbe sind die Felder wie folgt zu interpretieren:
XR^ [l4:4j - Dieses Feld bestimmt das Allgemeinregister,
das für den ersten Rangindex benutzt wird. Ein Wert von 0 zeigt an, daß keine erste Rangindizierung vorliegt.
keine zweite Rangindizierung ausgeführt,und es
wird die lange Verschiebung benutzt. Weist das Bit den Wert 1 auf/ so wird eine zweite Rangindizierung ausgeführt,und es wird die kurze
Verschiebung benutzt.
609842/0886
--49 -
2 617 Π BH
XR_ [JL 9: 4J - Wenn dieses Index-Bit gesetzt ist, so legt
dieses Feld das Allgemeinregister fest, das als zweiter Rangindex benutzt wird.
D Il9:17| - Wenn das Index-Bit nicht gesetzt ist, stellt
D einen 17-Bit-Verschiebewert dar, der auf 36
Bits vorzeichenerweitert ist.
D £22:13] - Wenn das Index-Bit gesetzt ist, so ist der
13-Bit-Verschiebewcrt D auf 36 Bits Vorzeichenerweitert.
Befehle mit dem Format BRB beziehen sich ebenfalls auf eine Speicherung, schließen jedoch keine Adressilbe ein. Bei diesem
Format ist die Verschiebung in dem Befehls-Wortfeld £19:17J
in sich auf den laufenden Viert des Befehlszählers IC bezogen.
Insgesamt stellt die effektive Adresse eine 36-Bit-Summe dar, die aus 36-Bit-Summanden in einer der folgenden Weisen errechnet
wird:
Befehle mit einer Adressilbe:
Kein Index EA = D [l9:17J vorzeichenerweitert
1 Index EA = (XR,) + D £l9:17] vorzeichenerweitert
2 Indizes EA = (XR,)+ (XR3) + D [[23:133 vorzeichener
weitert
Befehle mit dem Format BRB
(Implizierter Index) EA = (IC) + D [l9:17] vorzeichenerweitert.
Speicherbezugsoperationen - Alle durch lOP-Speicher-Bezugsbefehle
erzeugten Adressen sind Byteadressen. Die Interpretation der effektiven Adresse .hängt von dem Setzen des Adressierverfahrensbits
in dem Prozeßzustandsregister PSR ab.
Absolute Adressen - Bei dem absoluten Adressierverfahren ist die effektive Adresse ebenfalls die absolute Adresse. Sie wird folgendermaßen
interpretiert:
609842/0886
-. ςη -
2612051*
Absolute
Adresse
Adresse
3 4
8 9
L/ /R |
S | RFU | A |
L/R [θ:ΐ] - Intern/Extern. Dieses Bit legt fest, ob die
Speicheranforderung zu dem (internen) IOP-Speicher
(O) oder zu dem (externen) zentralen Systemspeicher (1) geleitet werden soll.
Steuerung.
Interne Speicherbezugnahme:
Für Bezugnahmen auf interne Speicher wird das
Steuerfeld wie folgt interpretiert:
Bit 1 - Interner Speicheranschluß
Die Auswahl des durch ein IOP-Prozessorpaar
benutzten internen Speicheranschlusses wird normalerweise durch ein Bit in einem
SIü-Komfigurationsregister gesteuert. Es wird jedoch der andere interne Speicheranschluß
ausgewählt, wenn das Bit 1 (das am
weitesten links befindliche Steuerbit) gesetzt ist.
Bit 2 - ROM
Die Steuerung der internen Speicheranforderungen zu dem Festwertspeicher ROM wird
durch die Exklusiv-ODER-Verknüpfung des Bit 2 und des ROM-Bit (Bit 19) des Registers
PCR gesteuert. Durch ein Ergebnis von 1 wird die Speicheranforderung nach dem Festwertspeicher
ROM geleitet. Das Ergebnis O beinhaltet eine normale interne Speicheranforderung.
Bit 3 - Reserviert für zukünftigen Gebrauch.
Das Bit 3 wird gegenwärtig für interne Speicherbezugnahmen nicht benutzt.
609842/0886
- -51 -
26170F
Externe Speicherbezugnahmen:
Für Bezugnahmen auf externe Speicher wird das Steuerfeld wie folgt interpretiert:
Bit 1 - REMA ausgewählt
Die Auswahl eines der beiden externen Speicheradapter REMA wird durch das Bit
gesteuert.
Bits 2-3 - REMA-Anschlußauswahl
Der Anschluß des externen Speicheradapters REMA wird durch die Bits 2-3 ausgewählt.
RFU l4:8j - Reserviert für zukünftigen Gebrauch. Dieses Feld
wird gegenwärtig von der Hardware nicht beachtet.
- Adresse. Eine Byteadresse von 27 Bit bestimmt den Speicherplatz eines Bytes im Speicher, der
durch das Feld Intern/Extern und die Steuerbits festgelegt wird.
Seitenunterteilte Adressen - Bei einer Betriebsweise mit Seitenunterteilung
wird eine Adressenübersetzung hinsichtlich der effektiven Adresse angewendet, um eine absolute Adresse zu erzeugen.
Die effektive Adresse wird wie folgt interpretiert:
0 | RFU | 17 | 18 | PN | 24. | 25 | PRA | 35. |
- Reserviert für zukünftigen Gebrauch. Dieses Feld wird gegenwärtig von der Hardware nicht beachtet.
- Seitennummer. Für jeden Prozeß sind bis zu Seiten verfügbar. Die Seitennummer wird benutzt,
um ein Seitentabellenwort (PTW) in der Seitentabelle für diesen Prozeß zu bestimmen.
609842/0886
261205«!
PRA [25:llj- Relative Seitenadresse. Die Adresse PRA bestimmt
eine Byteadresse innerhalb einer 2K-Byte-Seite (512 Worte).
Gemäß Figur 4 wird die absolute Adresse durch Verkettung der relativen Seitenadresse und der Seitenbasisadresse aus dem Seiten
tabellenwort PTW, auf das durch die Seitennumrner hingewiesen wird,
gebildet. Die Felder intern/extern und Steuerung in der "absoluten
Adresse werden ebenfalls dem Seitentabellenwort PTW entnommen.
Absolute Adresse [O:3] -*— PTW [o:3]
Absolute Adresse [9:16] <— PTW [9:16]
Absolute Adresse [25: llj -»—Effektive Adresse [25: I
Die Operation ist weiter unten dargestellt.
Die Adresse PTW wird errechnet, indem die Seitennummer zu der in dem Sextentabellenbasisregister PTBR abgelegten Seitentabellenbasis
hinzuaddiert wird. Eine Beschreibung des Formates PTBR würde v/eiter vorne gegeben.
Das PTW-Format stellt sich folgendermaßen dar:
0.1 34567 89
24 25 26 27 29 30
Vr | S | A | R | RFÜ | Seitenbasisadresse | RFU | P N | Kenn schlüssel |
L/R [0:l]
A £4:2]
Intern/Extern.
Steuerung.
Zugriff. Dieses Feld bestimmt die Zugriffsrechte
für diese Seite:
00 01 10 11
Zugriffsrecht
Lesen
Lesen, Schreiben
Lesen, Ausführen
Lesen, Schreiben, Ausführen
609 84 2/0886
7 6 i 'LO S
R {β:Ij - Residenz. Dienes Bit wird gesetzt, um anzuzeigen,
daß diese Seite im Speicher vorhanden ist.
RFU jj: 2^j - Reserviert für zukünftigen Gebrauch.
Seitenbasisadresse {^9:16[ - Dieses Feld bestimmt die absolute
Adresse des ersten Wortes der Seite. Seitenunterteilte
Adressen werden durch Verkettung der 16-. Bit-Seitenbasisadresse und der relativen ll-Bit-Seitenadresse
gebildet.
RFU |j25:2j - Reserviert für zukünftigen Gebrauch.
PN |27:3j - Dieses Feld wird zur Bestimmung der in dem
Zwischenspeicher abgelegten Seitentabellenwörter PTW benutzt. Es muß den drei höchstrangigsten
Bits der Seitennummer entsprechen.
Kennschlüssel j_3O:6j - Der Kennschlüssel bestimmt den Prozeß,
dem dieses Seitentabellenwort PTW zugeordnet ist.
fi 0 9842/0686
26
Da verschiedene Prozesse simultan bearbeitet werden können, ist ein wirksames Seiten-Adressierverfahren erwünscht, das
ohne die Notwendigkeit der Verwendung der Seitentabellen-Absuche gemäß Figur 5 auskommt. Zu diesem Zweck wird in
Übereinstimmung mit der Erfindung gemäß Figur 6 der Seitentabellenwort-Zwischenspeicher
als ein Assoziativspeicher für jeden der 8 Prioritätsränge benutzt. Jeder Prioritätsrang beansprucht 16 Seitentabellenworte entsprechend ungefähr
8K des Speichers, wodurch für die meisten -Prozesse ausreichend Speicherraum vorhanden ist. Mit Vorteil können die
Seitentabellenworte eines Prioritätsranges beibehalten werden, während ein Prozeß mit einem anderen Prioritätsrang sich in
Ausführung befindet, so daß auf den ersten Prioritätsrang bei einer späteren Prozeßbearbeitung zurückgekehrt werden
kann, ohne daß die Seitentabellenworte dieses Prioritätsranges erneut geladen werden müssen.
Gemäß einem Merkmal der Erfindung kann auf die 16 Seitentabellenwort-Speicherplätze
pro Prioritätsrang auf Grund der 4 niedrigrangigsten Bits der Seitennummer einer effektiven
Adresse direkt Zugriff genommen werden, wodurch die Notwendigkeit für die Abtastung des gesamten Assoziativspeichers entfällt.
Bei der Feststellung des Seitentabellenwortes, an der durch die niedrigrangigsten Bits der Seitennummer bestimmten Speicherstelle,
wird der Kennschlüssel des Seitentabellenwortes mit dem Kennschlüssel des ausgeführten Prozesses verglichen,
der in dem Seitentabellenbasisregister gespeichert ist, um zu überprüfen, ob das Seitentabellenwort zu dem ausgeführten
Prozeß gehört. Zusätzlich werden die drei höchstrangigsten
Bits der effektiven Adressen-Seitennummer mit den höchstrangigsten Bits der Seitennummer des Seitentabellenwortes
verglichen, um sicherzustellen, daß auch die richtige Seite ermittelt wurde. In vorteilhafter Weise kann durch den Kennschlüssel
das Erfordernis einer Grenzüberprüfung der Speicher-
ßΠ 9842/0886
2612051*
Adressen und somit ein entsprechendes Grenzfeld in dem Seitentabellenbasisregister
PTBR sowie die dazugehörige Prüfeinrichtung entfallen. Wenn irgendeinerder Überprüfungstests einen Fehler
ergibt, so muß das Seitentabellenwort PTW über die Seitentabellen-Operation aus dem Speicher entnommen werden, wie dies
näher in Figur 5 dargestellt ist.
Da der Seitentabellenwort-Zwischenspeicher für 8 getrennte
Prozesse vorgesehen istr können bis zu 8 Prozesse simultan
ablaufen. Da ferner nur ein einziges Seitentabellenwort durch Verwendung des Assoziativspeichers des Seitentabellenwort-Zwischenspeichers
überprüft werden muß, ist die Seiten-Adressentwicklung gemäß der Erfindung schneller und wirtschaftlicher,
als die herkömmliche Abtastung des Assoziativspeichers.
609842/0886
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 Rccid Data - gelesene Daten angenommen
BRAC CF-- Branch on. Condition - Condition Field - Bedingungsverzweigü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-Schnittsteile
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 - . Allgcmcinregister
HLIP - Higher Level Interrupt Present - Unterbrechung mit höherem Rang vorhanden
HSMX - High Speed Multiplexer - Hochgeschwindigkeits-
Multiplexer 609842/0886
IOM IOP IRSW L2MG
LMPS LSMX
MME MPC
Interrupt Control Block - Unterbrechungn-Steuerblock
Long Intermediate Value - Langer Zwischenwert Short Intermediate Value - Kurzer Zwischenwert
Input/Output Multiplexer - Eingang/Ausgang-Multiplexer Input/Output Processor - Eingang/Ausgang-Prozessor
Instruction Register Switch - Befehlsregisterschalter Load 2 Words of Memory to General Register Lade
2 Worte des Speichers in das Allgemeinregister
Local Memory Port Specifier - Interner Speicheranschluß Kennzeichner
Low Speed Multiplexer - Niedriggeschwindigkeits-Multiplexer
Level Zero Interrupt Present - Unterbrechung mit Rang Null vorhanden
Master Mode Entry - Entritt in Hauptbetriebsweise
Micro Program Peripheral Controllers - Mikroprogrammierte
periphere Steuerung
Next Address (Register ) - Nächstadressen (Register) Next Instruction Read - Nächster Befehl gelesen
No Operating Instruction - Kein Operationsbefehl Operation not Complete - Operation nicht vollständig
Process Control Register - Prozeß-Steuerregister Programmable Interface - Programmierbare Schnittstelle
Page Relative Address - Relative Seitenadresse Process State Register - Prozeß-Zustandsregister
Page Table Base Register - Seitentabellen-Basisregistcr Page Table Word - Seitentabellenwort ['
Page Number - Seitennummer
Peripheral Subsystem Interface - Periphere Untersystem-Schnitts teile
609842/0
2612U5U
RA - Return Address-(Register) - Rückkehradrcss- (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
BPA - Scratch Pad Address - Zwischenspeicher-Adresse
SPB - Scratch Pad Buffer - Zwischenspeicher-Puffer
SS - Standard Sequence - Standardfolge.
S2MG - Store 2 General Register Words in Memory-Speicher e 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 - Zonenadresso und Befehl
H 0 9 8 4 2 / 0 B 8 6
- 59 -
261205M
Patentansprüche
1. Verfahren zur Entwicklung von Speicheradressen für einen in Seiten unterteilten Speicher eines Ein/Ausgang-Datenverarbeitungssystems,
wobei das DV-System mehrere Prozesse auf mehreren Vorrangstufen bearbeitet, ge kennzeichnet durch folgende Schritte:
a. Erzeugung von Seiten-Tabellenworten in einem Zwischenspeicher mit Vorrangstufen entsprechend den Vorrangstufen
der Prozesse,
b. Speicherung der Seiten-Tabellenworte auf einer Vorrangstufe des Zwischenspeichers an einer Position, die
durch die niedrigrangigsten Bits der Seitennummer des Seiten-Tabellenwortes bestimmt wird und
c. Zugriff zu dem Zwischenspeicher hinsichtlich eines gespeicherten
Seiten-Tabellenwortes entsprechend einer Seitennummer einer effektiven Adresse durch Prüfung des
durch die niedrigrangigsten Bits der Seitennummer bestimmten Speicherplatzes auf der Vorrangstufe, die der
Vorrangstufe des ausgeführten Prozesses entspricht.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet , daß die Seiten-Tabellenwörter jeweils
einen Bezug auf interne und externe Speicher, eine Steuerung zu spezifischen internen und externen Speichern, Zugriffsrechte, eine Seitenbasisadresse für den ausgewählten Speicher,
eine SeitennummernbeStimmung und einen Kennschlüssel zur
Bestimmung des Prozesses, zu dem das Seiten-Tabellenwort gehört, aufweisen.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet , daß ein aus dem Zwischenspeicher geholtes
Seitentabellenwort geprüft wird, indem die höchstrangigsten Bits der effektiven Adressen-Seitennummer und die höchstrangigsten
Bits der Seitennummer des abgerufenen Seiten-Tabellenwortes miteinander verglichen werden.
■609842/0886
Claims (1)
- 2612051*4. Verfahren nach Anspruch 3, dadurch gekennzei chnet , daß die Prüfung des abgerufenen Seiten-Tabellenwortes ferner den Vergleich einer Kennschlüssel-Bestimmungszahl in dem abgerufenen Seiten-Tabellenwort mit einer Kennschlüssel-Bestimmungszahl des auszuführenden Prozesses umfasst.5. Verfahren nach Anspruch 4, dadurch gekennzeichnet , daß bei fehlender Bestätigung durch den Vergleich und somit vorliegender Nicht-Verfügbarkeit des angeforderten Seiten-Tabellenwortes im Zwischenspeicher das angeforderte Seiten-Tabellenwort mittels einer Speicher-Seitentabelle abgerufen wird.6. Verfahren nach Anspruch 1, dadurch gekennzeichnet , daß die effektive Adresse aus einem Prozeßbefehl erzeugt wird, der eine Adressilbe umfasst, die auf ein Prozeßregister als ein Index Bezug nimmt und einen Verschiebewert spezifiziert, und daß der Wert des Prozeßregisters zwecks Bildung der effektiven Adresse zu dem Verschiebewert hinzuaddiert wird.7. Verfahren nach Anspruch 1 zur gleichzeitigen Durchführung von Informationsaustausch- und Steuerfunktionen hinsichtlich mehrerer Prozesse mit zugeordneten Vorrangstufen mit einer Adressentwicklung für einen in Seiten unterteilten Speicher, gekennzeichnet durch einea. Speicherung mehrerer Seitentabellenworte in einem Prozessor-Zwischenspeicher auf Stufen entsprechend den Vorrangstufen ausgeführter Prozesse, wobei jedes der Seiten-Tabellenworte einen Bezug auf einen internen und externen Speicher, auf eine Steuerung nach einem spezifischen internen und externen Speicher, auf eine Seitenbasisadresse im ausgewählten Speicher, auf eine Seitennummer-Bestimmung und auf einen Kennschlüssel zur Kennzeichnung des Prozesses, zu dem das Seiten-Tabellenwort gehört, aufweist,609842/0886261205tb. Erzeugung einer effektiven Adresse aus einem Prozeßbefehl f der eine Seitennummer und eine relative Seitenadresse umfasst,c. Äbspeicherung eines Seiten-Tabellenwortes im Prozessor-Zwischenspeicher auf Grund der Seitennurcmer undd. Verkettung der Seitenbasisadresse des Seiten-Tabellenwortes und der relativen Seitenadresse der effektiven Adresse zur Bestimmung einer absoluten Speicheradresse.8. Verfahren nach Anspruch 7, dadurch gekennzeichnet , daß bei der Abspeicherung eines Seiten-Tabellenwortes im Prozessor-Zwischenspeicher ein Seiten-Tabellenwort auf einer Vorrangstufe des Zwischenspeichers entsprechend der Vorrangstufe des auszuführenden Prozesses an einem durch die niedrigrangigsten Bits der Seitennummer bestimmten Speicherplatz abgerufen wird./ 9J Prozessor zur Durchführung des Verfahrens nach Anspruch 1 in einem Eingang/Ausgang-DV-System, das Adressen zum Zugriff auf einen seitenunterteilten Speicher durch die Verwendung von Seiten-Tabellenworten entwickelt, wobei die Seiten-Tabellenworte einen Hinweis auf interne und externe Speicher, sowie auf eine Seitenbasisadresse in einem dieser Speicher enthalten, dadurch gekennzeich net, daß für die Seiten-Tabellenworte ein Zwischenspeicher angeordnet ist, daß der Zwischenspeicher mehrere Speicherbereiche mit Prioritätsrängen entsprechend den Prioritätsrängen der auszuführenden Prozesse aufweist, und daß jeder Speicherbereich mehrere Seiten-Tabellenwort-Speicherplätze aufweist, wobei auf jeden Speicherplatz getrennt Zugriff genommen werden kann.h U b tf 4 Ί I U B 8 6
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/562,330 US3976978A (en) | 1975-03-26 | 1975-03-26 | Method of generating addresses to a paged memory |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2612054A1 true DE2612054A1 (de) | 1976-10-14 |
Family
ID=24245840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19762612054 Withdrawn DE2612054A1 (de) | 1975-03-26 | 1976-03-22 | Verfahren zur adressentwicklung und prozessor zur durchfuehrung des verfahrens |
Country Status (8)
Country | Link |
---|---|
US (1) | US3976978A (de) |
JP (1) | JPS51120633A (de) |
BE (1) | BE840020A (de) |
CA (1) | CA1066813A (de) |
DE (1) | DE2612054A1 (de) |
FR (1) | FR2305793A1 (de) |
GB (1) | GB1547382A (de) |
HK (1) | HK37580A (de) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4092715A (en) * | 1976-09-22 | 1978-05-30 | Honeywell Information Systems Inc. | Input-output unit having extended addressing capability |
JPS5448449A (en) * | 1977-09-26 | 1979-04-17 | Hitachi Ltd | Virtual addressing sustem |
US4161026A (en) * | 1977-11-22 | 1979-07-10 | Honeywell Information Systems Inc. | Hardware controlled transfers to microprogram control apparatus and return via microinstruction restart codes |
US4218741A (en) * | 1978-06-23 | 1980-08-19 | International Business Machines Corporation | Paging mechanism |
US4170039A (en) * | 1978-07-17 | 1979-10-02 | International Business Machines Corporation | Virtual address translation speed up technique |
FR2445988A1 (fr) * | 1979-01-02 | 1980-08-01 | Honeywell Inf Systems | Dispositif d'adressage perfectionne d'un systeme de traitement de donnees |
JPS5734251A (en) * | 1980-08-07 | 1982-02-24 | Toshiba Corp | Address conversion and generating system |
US4410941A (en) * | 1980-12-29 | 1983-10-18 | Wang Laboratories, Inc. | Computer having an indexed local ram to store previously translated virtual addresses |
US4374417A (en) * | 1981-02-05 | 1983-02-15 | International Business Machines Corp. | Method for using page addressing mechanism |
US4455604A (en) * | 1981-05-22 | 1984-06-19 | Data General Corporation | Digital data processing system having addressing means for translating operands into descriptors identifying data, plural multilevel microcode control means, and ability to execute a plurality of internal language dialects |
US4428045A (en) | 1981-09-11 | 1984-01-24 | Data General Corporation | Apparatus for specifying and resolving addresses of operands in a digital data processing system |
US4550368A (en) * | 1982-07-02 | 1985-10-29 | Sun Microsystems, Inc. | High-speed memory and memory management system |
US4538223A (en) * | 1982-09-29 | 1985-08-27 | Microdata Corporation | Computer operand address computation |
US4926316A (en) * | 1982-09-29 | 1990-05-15 | Apple Computer, Inc. | Memory management unit with overlapping control for accessing main memory of a digital computer |
US4524415A (en) * | 1982-12-07 | 1985-06-18 | Motorola, Inc. | Virtual machine data processor |
US4779191A (en) * | 1985-04-12 | 1988-10-18 | Gigamos Systems, Inc. | Method and apparatus for expanding the address space of computers |
US4821171A (en) * | 1985-05-07 | 1989-04-11 | Prime Computer, Inc. | System of selective purging of address translation in computer memories |
US5317717A (en) * | 1987-07-01 | 1994-05-31 | Digital Equipment Corp. | Apparatus and method for main memory unit protection using access and fault logic signals |
JPH0289132A (ja) * | 1988-09-26 | 1990-03-29 | Nec Corp | 論理アドレス生成方式 |
JP2778623B2 (ja) * | 1995-07-21 | 1998-07-23 | 日本電気株式会社 | プリフェッチ制御装置 |
US5813027A (en) * | 1996-03-08 | 1998-09-22 | Vlsi Technology, Inc. | Method for storing and transferring wave table audio samples using a DSP cache, a link list structure, and compression |
JP4226816B2 (ja) * | 2001-09-28 | 2009-02-18 | 株式会社東芝 | マイクロプロセッサ |
US7299460B2 (en) * | 2003-05-29 | 2007-11-20 | Nec Corporation | Method and computer program for converting an assembly language program for one processor to another |
US7590819B2 (en) * | 2005-05-09 | 2009-09-15 | Lsi Logic Corporation | Compact memory management unit |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BE822410A (fr) * | 1973-11-21 | 1975-03-14 | Ensemble de traitement de donnees assurant une traduction dynamique d'adresses |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3270324A (en) * | 1963-01-07 | 1966-08-30 | Ibm | Means of address distribution |
US3510847A (en) * | 1967-09-25 | 1970-05-05 | Burroughs Corp | Address manipulation circuitry for a digital computer |
NL6815506A (de) * | 1968-10-31 | 1970-05-04 | ||
US3854126A (en) * | 1972-10-10 | 1974-12-10 | Digital Equipment Corp | Circuit for converting virtual addresses into physical addresses |
US3781808A (en) * | 1972-10-17 | 1973-12-25 | Ibm | Virtual memory system |
-
1975
- 1975-03-26 US US05/562,330 patent/US3976978A/en not_active Expired - Lifetime
-
1976
- 1976-02-17 CA CA245,917A patent/CA1066813A/en not_active Expired
- 1976-03-22 DE DE19762612054 patent/DE2612054A1/de not_active Withdrawn
- 1976-03-25 BE BE165550A patent/BE840020A/xx not_active IP Right Cessation
- 1976-03-25 GB GB12048/76A patent/GB1547382A/en not_active Expired
- 1976-03-26 JP JP51032694A patent/JPS51120633A/ja active Granted
- 1976-03-26 FR FR7608927A patent/FR2305793A1/fr active Granted
-
1980
- 1980-07-10 HK HK375/80A patent/HK37580A/xx unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BE822410A (fr) * | 1973-11-21 | 1975-03-14 | Ensemble de traitement de donnees assurant une traduction dynamique d'adresses |
Also Published As
Publication number | Publication date |
---|---|
JPS5757783B2 (de) | 1982-12-06 |
US3976978A (en) | 1976-08-24 |
JPS51120633A (en) | 1976-10-22 |
FR2305793B1 (de) | 1980-11-07 |
GB1547382A (en) | 1979-06-20 |
HK37580A (en) | 1980-07-18 |
BE840020A (fr) | 1976-07-16 |
FR2305793A1 (fr) | 1976-10-22 |
CA1066813A (en) | 1979-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2612054A1 (de) | Verfahren zur adressentwicklung und prozessor zur durchfuehrung des verfahrens | |
DE2612037A1 (de) | Prozessor | |
DE68926385T2 (de) | Methode und Hardware-Ausführung von komplexen Datentransferbefehlen | |
DE3587039T2 (de) | Computer mit virtuellem maschinenmodus und mehrfachen schutzringen. | |
DE2612059A1 (de) | Verfahren und vorrichtung zum befehlsabruf und zur befehlsausfuehrung in einem universalrechner | |
DE69233412T2 (de) | Vorrichtung und Rechnerprogrammprodukt zur Ausführung von Verzweigungsbefehlen | |
DE2846495C2 (de) | Zentraleinheit | |
DE3789345T2 (de) | Erweiterte Gleitkommaoperationen zur Unterstützung der Emulation von Quellbefehlsausführungen. | |
DE69833008T2 (de) | Prozessor mit instruktionskodierung mittels eines schablonenfeldes | |
DE3851746T2 (de) | Sprungvorhersage. | |
DE60131864T2 (de) | Speichern von stapeloperanden in registern | |
DE60006270T2 (de) | Parallele prozessorarchitektur | |
DE2517276A1 (de) | Datenverarbeitungssystem | |
DE60217157T2 (de) | Verfahren und vorrichtung zum binden von shadow-registern an vektorisierte interrupts | |
DE68928519T2 (de) | Verfahren und Vorrichtung zur Vorhersage der richtigen Durchführung der Übersetzungen von virtuellen in physikalische Adressen | |
DE2612034A1 (de) | Ausfallsicherung in einem universalrechner | |
DE19735348A1 (de) | Einzelbefehl-Mehrdaten-Verarbeitung unter Verwendung von mehreren Bänken von Vektorregistern | |
DE3650602T2 (de) | Datenverarbeitungssystem | |
DE2411963A1 (de) | Datenverarbeitungsanlage | |
DE19735350A1 (de) | Einzelbefehl-Mehrdaten-Verarbeitung bei einem Multimedia-Signalprozessor | |
DE2657848A1 (de) | Steuereinheit fuer ein datenverarbeitungssystem | |
DE2725522A1 (de) | Datenverarbeitungsvorrichtung | |
DE69732793T2 (de) | Acht-bit-mikrokontroller mit risc-architektur | |
DE2626703A1 (de) | Intern programmierbares datenverarbeitungssystem | |
DE2617127A1 (de) | Mehrfachprogramm-datenverarbeitungssystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8125 | Change of the main classification |
Ipc: G06F 13/00 |
|
8130 | Withdrawal |