DE2612054A1 - Verfahren zur adressentwicklung und prozessor zur durchfuehrung des verfahrens - Google Patents

Verfahren zur adressentwicklung und prozessor zur durchfuehrung des verfahrens

Info

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
Application number
DE19762612054
Other languages
English (en)
Inventor
Garvin Wesley Patterson
Marion G Porter
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bull HN Information Systems Italia SpA
Original Assignee
Honeywell Information Systems Italia SpA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honeywell Information Systems Italia SpA filed Critical Honeywell Information Systems Italia SpA
Publication of DE2612054A1 publication Critical patent/DE2612054A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User 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
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
ORIGINAL INSPECTED
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.
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.
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.
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
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
^ /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
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
Sehnittstelleneiheit SIU
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 " - -
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
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
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
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.
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:
Prozeßzustandsregister PSR
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:
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)
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)
8 9
35
l/r S RFU IC
L/R [0:lJ
S [1:3]
RFU [4:5*]
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)
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
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]
- 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.
Index Bit [i8:l|~ Wenn dieses Bit den Wert 0 aufweist, so wird
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
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)

  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 eine
    a. 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/0886
    261205t
    b. 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 und
    d. 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
DE19762612054 1975-03-26 1976-03-22 Verfahren zur adressentwicklung und prozessor zur durchfuehrung des verfahrens Withdrawn DE2612054A1 (de)

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)

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

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

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

Patent Citations (1)

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