DE2612037A1 - Prozessor - Google Patents

Prozessor

Info

Publication number
DE2612037A1
DE2612037A1 DE19762612037 DE2612037A DE2612037A1 DE 2612037 A1 DE2612037 A1 DE 2612037A1 DE 19762612037 DE19762612037 DE 19762612037 DE 2612037 A DE2612037 A DE 2612037A DE 2612037 A1 DE2612037 A1 DE 2612037A1
Authority
DE
Germany
Prior art keywords
register
address
bit
control
bits
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE19762612037
Other languages
English (en)
Inventor
Nicholas S Lemak
Garvin W Patterson
Marion G Porter
William A Shelly
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 DE2612037A1 publication Critical patent/DE2612037A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Executing Machine-Instructions (AREA)

Description

5202527 Ge 22. März 1976
HONEYWELL INFORMATION SYSTEMS INC.
200 Smith Street
Waltham, Mass., USA
Prozessor
Die Erfindung bezieht sich auf einen Prozessor für ein Informationsaustausch- und Steuerfunktionen in einem größeren DV-System ausführendes Ein/Ausgang-Datenverarbeitungssystem.
Bekannte Großrechensysteme mit mehreren Prozessoren benutzen Eingang/Ausgang-Verarbeitungssysteme als Schnittstelle zwischen peripheren Geräten und der Hauptrecheneinheit. Solche Eingang/ Ausgangsysteme sind erforderlich, um eine Anpassung hinsichtlich der Daten-Übertragungsgeschwindigkeit zu erzielen, sowie zur Adressierung und zur Steuerung des allgemeinen Datenaustausches. In dem Großrechnersystem Honeywell 6000 sind beispielsweise die peripheren Geräte an microprogrammierte periphere Steuerungen (MPC) angeschlossen und werden von diesen gesteuert, wobei diese Steuerungen MPC an das Hauptrechnersystem über Eingang/Ausgang-Multiplexer IOM angeschlossen sind. Der Eingang/Ausgang-Multiplexer IOM stellt den Koordinator aller Eingang/Ausgangoperationen zwischen den peripheren Subsystemen und der Steuerung der Hauptrecheneinheit dar. Der Multiplexer IOM arbeitet im wesentlichen
603841/0893
als fest verdrahtete Progranuneinheit, die von einem Hauptprozessor gesteuert wird und mit diesem zusammen einen Speicher benutzt. Datenübertragungen zwischen einem peripheren Gerät und dem Hauptspeicher werden durch den Multiplexer IOM bewerkstelligt, während der Prozessor die Jobs bearbeitet. Der Multiplexer IOM weist mehrere Datenkanäle zum Informationsaustausch zwischen peripheren Geräten und einem zentralen Datenkanal auf, der den Zugriff zu dem Hauptspeicher für jeden der einzelnen Datenkanäle steuert. Die Datenkanäle weisen gemeinsame periphere Schnittstellen-Kanäle (CPI-Kanäle) auf, die eine höchste übertragungsgeschwindigkeit von 650.000 Zeichen pro Sekunde besitzen und die viele periphere Geräte mit niedriger Geschwindigkeit anschließen. Zusätzlich sind periphere Subsystem-Schnittstellen-Kanäle (PSI-Kanäle) mit einer Übertragungsgeschwindigkeit von bis zu 1,3 Millionen Zeichen pro Sekunde vorgesehen, die für periphere Geräte mit höherer Geschwindigkeit, wie beispielsweise Platteneinheiten benutzt werden. Ferner ist ein direkter Kanal für Prozessoren mit vorgeschalteter Verarbeitung vorgesehen, der eine Datenübertragung von bis zu 1 Million Bytes pro Sekunde gestattet.
Aufgabe der vorliegenden Erfindung ist es, ein Eingang/Ausgang-Verarbeitungssystem hinsichtlich seiner den Prozessor betreffenden Teile so auszubilden, daß die Informationsaustausch- und Steuerfunktionen von dem Hauptprozessor weggenommen werden können. Die Lösung dieser Aufgabe gelingt gemäß der im Anspruch gekennzeichneten Erfindung. Weitere vorteilhafte Ausgestaltungen der Erfindung sind den Unteransprüchen entnehmbar.
Anhand eines in den Figuren der beiliegenden Zeichnung dargestellten Ausführungsbeispieles sei die Erfindung im folgenden näher beschrieben. Es zeigen:
Figur 1 ein 31ockdiagramm eines Eingang/Ausgang-Verarbeitungssystemes mit einem Prozessor gemäß der Erfindung, Figur 2 ein Blockdiagramm des Prozessors gemäß der Erfindung,
609841/0893
Figur 3 ein Blockdiagramm und ein Impulsdiagramm für die internen und externen Steuerregister des Prozessors gemäß Figur 2,
Figur 4 ein Blockdiagramm der Addier/Verschiebeeinheit des Prozessors gemäß Figur 2,
Figur 5 eine schematische Darstellung der Adressenentwicklung wie sie bei dem Prozessor gemäß Figur 2 Verwendung findet und Figuren 6 bis 20 Impulsdiagramme.
0 0 8 4 1/0893
Eingang/Ausgang-System
Das Eingang/Ausgang-Systemj bei dem der Prozessor gemäß der vorliegenden 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-Systemes dar, in welchem der Prozessor gemäß der vorliegenden Erfindung verwendet wird. Die zentrale Komponente des Eingang/Ausgang-Systemes 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 Regis ter-Register-> Register-Speicher-, Sofort-, Verzweigungs-, Bitfeld- und Verschiebe-Befehle auszuführen.
609 8 41/0893
— κ
Der Nachrichtenverbindungs-Eingang/Ausgang CMIO steuert direkt die Datenübertragung zwischen Nachrichten-Leitungsadaptern und dem internen Speicher des Prozessors IOP. Die Zusammenarbeit mit dem Prozessor IOP ist für die Datensteuerung erforderlich. Der interne Speicher des Prozessors IOP ist als Doppelkanal Lese/Schreib-Speicher mit zwei Anschlüssen und wahlfreier 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 Hochgeschwindigkeits-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 Datenkette 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.
609841/0893
— ο —
Jeder aktive Anschluß der Schnittstelleneinheit SIU kann eine Datenschnittstelle DI und eine programmierbare Schnittstelle PI für das angeschlossene Gerät aufweisen. 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 aufweisen. Der Niedriggeschwindigkeitsmultiplexer LSMX 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 v/erden Paritätsfehler angezeigt.
Befehle sind in einem doppelt auslesbaren Vorgriffregister 14 abgelegt, welches 4 Pufferworte für Befehle erzeugt. Ein Steuerspeichef-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.
609841/0893
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-Pufferregister 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-Speicherzyklen.
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 Arbeitsregistern 26. Dem Doppelkanal-
609841/0893
schalter 38 werden ferner Eingangssignale von einem Prozeßzustandsregister PSR-42 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 ICf 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:
609 8 U/0893
« 9 —
0) Sieben Bits des Konstanten-feldes (2-8) des Steuerspeicherregisters CSR, welch." die Adressierung irgendeines Registers in irgendeinem Rang gestatten;
1) die AIL-Leitungen und vier Bits des Konstantenfeldes (5-8) des Steuerspeicherregisters CSR, welche die Adressierung irgendeines Registers in dem vorliegenden Rang gestatten;
2) der Ausgang WER der Arbeitsregister mit den Bits 29-35. Mit diesen Bits bewirkt ein Arbeitsregister die Erzeugung der Adresse entweder für eine Initialisierung oder eine Software-Adressierung;
3) Die AIL-Leitungen und Bits 19-r22 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 Allgemeinregister durch die Software auf dem vorliegenden Rang erzeugt. Diese Adressenerzeugung umfaßt das Laden der Allgemeinregister und das Zurückführen der sich bei der Ausführung ergebenden Resultate in das Ausgangs-Allgemeinregister.
Der Ausgang des Zwischenspeichers ist auf einen der beiden Schalter 51 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
609841/0893
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 wird die Adresse zum Laden eines Allgemeinregisteiä 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-abgespeichert und für die Schreiboperation benutzt, indem ein Schreib-Flip-Flop,das mit dem Schreib/Adressregister verbunden ist, gesetzt wird. Das Schreib-Flip-Flop W wird, nachdem es gesetzt ist, mit dem ersten Takt danach zurückgesetzt, bis das Steuerfeld des Schreib/Adressregisters WA in dem Steuerspeicherregister CSR es erneut setzt. Ein Allgemeinregister-Zwischenspeicher-Schreibtaktimpuls wird bei allen Takten erzeugt, die auftreten, während das Schreib-Flip-Flop W gesetzt ist und sofern nicht die Schreibadresse bei irgendeiner Betriebsweise den Wert Null oder bei der Nebenbetriebsweise den Wert 15 aufweist.
Das SPB-Register 30 ist ein 40-Bit-Register. Es erzeugt eine Pufferung für Worte, die aus dem Zwischenspeicher ausgelesen werden und spart somit die Zwischenspeicher-Zugriffszeit ein, die sonst bei einer Addier/Verschiebeoperation erforderlich ist. Eine Paritätsprüfung wird hinsichtlich der Daten in dem SPB-Register 30 durchgeführt. Der SPß-Ladetakt wird durch das SP-Steuerfeld des Steuerspeicherregisteis 19 gesteuert.
A- und B-Operandenschalter
Die A- und B-Operandenschalter erzeugen die beiden Operanden für das Addier /Verschiebenetzwerk 24. Der A-Schalter 22 wählt entweder den Ausgang des SPB-Registers 30 oder den WRR-Ausgang des Arbeitsregisters 26 aus. Die Auswahl wird durch ein Bit im Steuerspeicherregister 19 gesteuert. Die Steuerung wird jedoch
609841/0893
zur Auswahl des WRR-Ausgangs gezwungen, wenn das Schreib-Flip-Flop W gesetzt ist und die Adresse im SchreityAdressregister 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 folgt formatiert.:
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 höchstrangigsten Bit des.Konstantenfeldes des Steuerspeicherregisters CSR. Hierdurch wird die Zahl 8 zur Erhöhung des Zählstandes des Befehlszählers IC vorgegeben, um auf das nächste gerade/ungerade Befehlspaar (8 Bytes) im Speicher zu verweisen. Die Bits 33 und 34. verweisen auf die Wortlänge in Bytes des laufenden Befehls, wenn die beiden höchstrangigsten Bits des Konstantenfeldes des Steuerspeicherregisters 19 den Wert Null aufweisen.
60Π« L1/0893 '
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 Steuerspeicherregiser CSR den Wert 1 aufweist;
6) die Bits 0-26 weisen den Wert Null auf. Die Bits 27-35 sind an das Konstantexfeld des Steuer/Speicherregisters CSR angeschlossen.
7) durch diese Position wird das Daten-Eingangsregister DI-
10 der Schnittstelleneinheit angewählt;
Addier/Verschiebeschaltkreis
Ein detailliertes Blockdiagramm des Addier/Verschiebeschaltkreises 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 A 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
1/0893
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 O, 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 O 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 "O" 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.
3,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.
'609841/0893
7) Diese Position erzeugt die Nummer 9, 18, 27 oder 0, wenn die Bits 34 bis 35 des Ausganges WRP 00, 01, 10 oder 11 entsprechen. 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-Wort 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 SteuerSpeicherregisters 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.
Seitentabellenwoxt(PTW)-Zwischenspeicher Der PTW-Zwischenspeicher 34 besorgt die Speicherung von 16 SeitentabeTLenwö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ö.rtern, wenn entsprechende Adressen in den Seitentabellenwörtern fehlen. Die Adressenauswahl wird durch ein Bit im Steuerspeicherregister CSR- 19 gesteuert.
609841/0893
Jedes Byte des PTW-Zwischenspeichers wird am Ausgang einer Paritätsprüfung unterzogen. Der Ausgang des Zwischenspeichers
34 versorgt zwei der vier Adressenschalterpositionen mit Eingangsdaten. Wenn der Ausgang des PTW-Zwischenspeichers durch die 11 Seiten"-Stellung des Adressenschalters ausgewählt wird, so werden die folgenden Überprüfungen durchgeführt, um festzustellen, ob das Seitentabellenwort gültig ist:
1) die Bits 30-35 des Seitentabellenwortes werden mit einem Kennschlüsselregister 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 36 erzeugt. Der Schalter 36 wird durch die Adressenschalter-Steuer-Bits in dem Steuerspeicherregister 19 gesteuert. Wenn die
6098Λ1/0893
"Seiten"-Position ausgewählt wird und das Prozeßzustandsregister PSR die absolute Adressierweise anzeigt,so wird die "Absolut"-Stellung des Schalters eingenommen, so daß die Seitentechnik unterdrückt wird. Die vier Schalterstellungen sind folgende :
0) Diese Position erzeugt die Seitenadressierung des Lese/-Schreibspeichers. Nimmt das Bit 0 den Wert O ein, so bestimmt eine Lese/Schreibadresse. Die Bits 1-3 werden durch die Zonenadress- und Steuer-Bits (ZAC-Bits) im Steuerspeicherregister erzeugt. Das Bit 4 weist den Wert 0 auf. Die Bits 5-8 stellen die Zonen-Bits dar und werden als eine Funktion der Lese/Schreibspeicheroperation erzeugt. Leseoperationen veranlassen die Erzeugung von Nullstellen, während Schreiboperationen hinsichtlich eines Wortes oder Doppelwortes die Erzeugung von Einerstellenbewirken. Das Schreiben eines Bytes verusacht eine 1 in der zu schreibenden Byte-Position. Die Bits 9-24 entsprechen dem PTW-Zwischenspeicher 9-24, welcher die Seitenbasisadresse darstellt. Die Bits 25-35 entsprechen den Bits 25-35 am Ausgang WRP, welche die seitenbezogene Adresse darstellen. Wenn diese Position ausgewählt wird, muß der Ausgang WRP der Arbeitsregister die nicht-seitenunterteilte Adresse angeben.
1) Diese Position erzeugt die Lese/Schreibspeicheradresse, wenn keine Seitenunterteilung gefordert ist. Sie kann durch das Steuerspeicherregister CSR ausgewählt werden oder wird zwangsweise angewählt, wenn die Position 0 angewählt ist und das Steuerspeicherregister PSR das absolute Adressierverfahren verlangt. Die Bits o-8 entsprechen denjenigen Bits der Position Null. Die Bits 9-34 entsprechen dem Ausgang WRP 9-35, der der absoluten Speicheradresse entsprechen muß, wenn diese Position ausgewählt wird.
2) Diese Position erzeugt ein programmierbares Schnittstellen-(PI)-Steuerwort. Entspricht das Bit 0 dem Wert "1", so bestimmt es ein PI-Steuerwort. Das Bit 1 wird durch das ZAC-FeId des Steuerspeicherregisters erzeugt. Das Bit 2 entspricht dem Bit 9 des Prozeßzustandsregisters PSR und
609 8 41/0893
bestimmt, ob das laufende Programm gewisse externe Register verändern kann. Das Bit 3 entspricht der Prozessornummer, die durch die Schnittstelleneinheit SIU erzeugt wird. Das Bit 4 weist den Wert Null auf. Die Bits 5-8 entsprechen den Bits 4-7 des Prozeßzustandsregisters PSR und sie bestimmen den Anschluß innerhalb des Multiplexers. Die Bits 9-35 entsprechen dem Ausgang WRP 9-35 und sie müssen der absoluten Adresse entsprechen, die entweder für einen externen Lesebefehl RDEX oder einen externen Schreibbefehl WREX erzeugt wird.
3) Diese Position erzeugt den Datenübertragungsweg zum Lesen eines Seitentabellenwortes PTW aus dem Zwischenspeicher«
Die Bits 0-3 des Adressenschalters 36 werden modifiziert,um die Lese/Schreib-Speichersteuerung während des Ladens der absoluten Adressen in das Allgemeinregister GR wiederzugeben. Die Bits 0-2 des PTW-Zwischenspeichers geben somit eine Seitenadressierung und die Bits 0-2 am Ausgang WRP eine absolute Adrresierung an. Dies wird durch die Auswahl der Stellung Null für den Adressenschalter ermöglicht, falls kein. Lese/Schreib-Speicherzyklus durch die Steuer-Bits des Steuerspeicherregistexs 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-• fängliche Wert entspricht den PTW-Bits 1-3 bei einer Seitenadressierung oder den WRP-Bits 1-3 bei einer absoluten Adressierung. Diese Werte bilden ebenfalls den endgültigen
'609841/0893 -
Wert, wenn das Bit 1 einen externen Speicher bestimmt. Wenn das Bit 1 einen internen Speicher bestimmt, so bestimmen die Bits 2 und 3 den Anschluß des internen Speichers und die Steueradressen für den Festwertspeicher in dem Steuerwerk des internen Speichers. Das Bit 2 entspricht der Exklusiv-Oder-Verknüpfung des anfänglichen Wertes und der internen Speicher-Anschlußkennzeichnungsleitung von der Schnittstelle SIU. Das Bit 3 entspricht der Exklusiv-Oder-Verknüpfung des PCR-Festwertspeicher-Bits, falls der anfängliche Wert Null ist.
Bit 5 Dieses Bit definiert einen Ein- oder Doppelwort-Speicherzyklus. Es entspricht dem Bit 1 des ZAC-Feldes des Steuerspeicherregisters CSR.
Bit 6 Dieses Bit definiert einen Lese- oder Schreibzyklus. Es entspricht dem Bit O des ZAC-Feldes des Steuerspeicherregisters CSR.
Die Steuerung für einen programmierbaren Unterbrechungsbefehl (PI-Befehl) wird wie folgt erzeugt:
Bit O Dieses Bit entspricht dem Wert 1 für einen PI-Befehl.
Bits 1-4 Diese Bits bestimmen den Anschluß der Schnittstelleneinheit SIU,an den der PI-Befehl gerichtet ist und sie entsprechen den Bits 0-3 des Prozeßzustandsregisters PSR.
Bits 5-6 Diese Bits sind die gleichen wie bei einem Lese/Schreibspeicherzyklus und werden in der gleichen Weise erzeugt.
Die Ausgänge des Steuerschalters werden in das Steuerregister in der Schnittstelleneinheit SIU zu jedem Zeitpunkt taktweise eingegeben, zu dem ein Speicherzyklus oder ein PI-Befehl ausgelöst wird.
Ergebnis-Doppelkanal
Der Ergebnis-Doppelkanal (R-XBAR) 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
609841/0893
gesteuert und kann auf irgendeinen von vier Eingängen geschaltet werden. Der Ausgang zu dem Daten-Ausgangsregister 12 wird durch das Datenausgangs-Schreibadressen-Bit in dem Steuerspeicherregister CSR gesteuert und kann entweder den Addier/Verschiebe-Ausgangsschalter 38 oder den Adressenschalter 36 auswählen. Wenn die nicht dargestellte DPCR-Leitung von der Schnittstelleneinheit SIU aktiviert wird, muß diese Position jedoch den PSR/ PCR-Eingang auswählen.
0) ALU/Verschiebe-Ausgangsschalter
1) Adressenschalter
2) PSR/PCR-Schalter
3) SPB-Eingangsschalter
Arbeitsregister
Die vier Arbeitsregister sind in der zweifach auslesbaren Registerreihe 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ührung. Sie sind mit R1 , R2 und R3 bezeichnet. Die beiden Ausgänge der Arbeitsregister sind mit WRP und WRR 'bezeichnet. Der Ausgang WRP wird benutzt, um auf Seitentabellenworte des PTW-Zwischenspeichers Zugriff zu nehmen sowie für die Lese/Schreibspeicher-Adressenerzeugung· und er ist zu dem Allgemeinregister-Zwischenspeicher 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 WRR-Bits in dem Steuerspeicherregister I9 gesteuert. Die Arbeitsregister können durch irgendeinen der Doppelkanal-Eingänge geladen werden. Das zu ladende Register und der Schreibtakt wird durch die Schreibadresse und die Schreib-Bits in dem Steuerspeicherregister CSR- 19 gesteuert. Hinsichtlich für Lese- bzw. Schreiboperationen ausgewählten Registerngibt es keine Unterschiede. Es können drei verschiedene Register vorhanden sein oder es können alle Register gleich sein.
60 U841/0893
PSR/PCR
Das Prozeßzustandsregister PSR- 42 befindet sich außerhalb des Allgemeinregister — Zwischenspeichers, da es fortlaufend überv/acht 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ßzustandsregisteis PSR eingefügt.
Ein Zustands-Code CC, ein Übertrag C und ein Prozeßzeitgeber werden fortlaufend ergänzt. Der Zustands-Coce CC wird jedesmal geladen, wenn ein Befehl ausgeführt wird, der eine Ergänzung des Zustands-Codes erfordert. Der übertrag c wird jedesmal dem Übertragsausgang der arithmetischen Recheneinheit ALU entnommen, wenn der Zustands-Code CC geladen wird und die ALU im arithmetischen Betrieb arbeitet. Der Prozeßzeitgeber wird jeweils um 1 herabgezählt, wenn das nicht dargestellte Zeitnormal überläuft. Das Zeitnormal wird durch einen 8-Bit-Zähler repräsentiert, welcher alle Systemtakte zählt. Das Zeitnormal wird ferner benutzt, um eine nicht vollständige Operation festzustellen oder um eine Ausnahme zu verriegeln, wie sie unter dem Abschnitt "Ausnahmen" beschrieben wurde.
Das Prozeßsteuerregister PCR- 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, wenn die PSR/PCR-Steuer-Bits in dem Steuerspeicherregister CSR eine PCR-Schrciboperation definieren. Die Bits 18-19 und 28-34 sind
609841/0893
ladbar. Die Bits 0-16 werden gesetzt, wenn der definierte Zustand auftritt und sie werden durch eine Setz/Rückstell-Bit-Steuorung in dem Steuerspeicherregister CSR zurückgestellt. Die Bits 23-26 sind zum Lesen durch die Software vorgesehen.
Der PSR/PCR-Schalter in dem Doppelkanal R-XBAR wählt das entsprechende Register zum Laden in die Arbeitsregister aus. Dieser Schalter wird durch die PSR/PCR-Steuer-Bits in dem Steuerspeicherregister CSR gesteuert und wird zur Auswahl von PCR gezwungen, wenn die DPCR-Leitung von der Schnittstellenheit SIU aktiviert wird.
Die zweifach auslesbare 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-8O verwirklicht. Die CIR-Adresse entspricht den Bits 32 und 33 des laufenden Befehlszählers IC, welche Bits auf eines der vier Worte verweisen. Die NIR-Adresse wird erzeugt, um auf das folgende Wort zu verweisen. Der Schalter IRSW-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 dajker 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 Befehlslänge ergänzt wird.
60 9841/0893 .
Die Befehls-Zugriffssteuerung ist nachstehend für zwei Zustände beschrieben, wobei der Zustand 1 dem Eintritt in eine neue Prozedur und der Zustand 2 der Erhöhung durch die laufende Prozedur entspricht. In beiden Fällen stellen sich die Befehlsabrufe als Speicherzyklen mit doppelter Präzision dar und die Adressierung erfolgt seitenunterteilt, sofern nicht das Prozeßzustandsregister PSR ein absolutes 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 OO geladen, wenn das Bit 32 des Befehlszählers den Wert 0 aufweist oder sie wird mit 10 geladen, wenn das Bit 32 des Befehlszählers IG 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 wirdmit 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.
6 09841/0893
cTic Ergänz;
2) Die Ausführung eines jeden Befehls umfaßt cTie Ergänzung des Befehlszählers IC durch die Länge des jeweiligen Befehles. Wenn diese Ergänzung den Befehlszähler IC zur Überschreitung einer Zweiwortgrenze (alter IC 32 = neuer IC 32) veranlaßt, so kann der Zweiwortbereich des Befehlsregisters IR,der gerade beendet wurde, (alter IC 32 Wert) mit neuen Befehlen geladen werden. Der neue IC-Wert plus acht (Bytes) wird sodann benutzt, um eine Speicherlese--Operation mit doppelter Präzision unter Verwendung der seitenunterteilten Adressierung auszulösen. Die Befehlsregister-Schreibadresse wird ergänzt, um auf den verfügbaren Befehlsregisterbereich hinzuweisen. Wenn die beiden Worte empfangen werden/ werden sie in den Zweiwortbereich, wie zuvor beschrieben, eingeschrieben.
Steuerspeicher-Adressierung und Fortschaltung Die Steuerspeicheradresse wird in dem CSA-Schalter 16 er-
en
zeugt. Die ersten vier Position des CSA-Schalters werden durch das CSA-Schalter-Steuerfeld in dem Steuerspeicherregister CSR- 19 gesteuert. Der CSA-Schalter 16 kann das Nächstadressregister NA 82, das Rückkehradressregister RA- 84, das Ausführadressregister XA- 86 oder den Ausgang des Standardfolge-Decodiernetzwerkes SS- 88 auswählen. Die Ausnahme-Unterbrechungsposition wird zwangsweise eingenommen, wenn irgendeiner dieser beiden Zustände vorliegt. Die^Ausnahmeadresse wird wiedergegeben, sofern nicht eine Unterbrechung ausgeführt wird. Die beiden PTW-Fehlpositionen liegen zwangsweise vor, wenn' das Fehlen eines Seitentabellenwortes PTW festgestellt wird. Die Konstantenposition wird gewählt, wenn das Verzweigungs-Steuerfeld in dem Steuerspeicherregister CSR eine Verzweigung nach der Konstantenadresse anfordert.
Das Nächstadressregister NA- 82 wird bei jedem Ausführungstakt mit der Summe des Ausgangs des CSA-Schalters 16 plus 1 plus eine Zustands-Sprungkonstante 90 geladen. Wenn durch das CSR-Sprungsteuerfeld 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
609 8 41/0893
heißt, daß der Takt, der den Mikrobefehl an der Adresse M in das Steuerspeicherregister CvSR lädt, die Adresse M+1 in das Nächstadressregister NA lädt. Wenn eine Zahl von Mikrobefehlen bedingungsgemäß übersprungen werden muß, so kann das CSR-Sprungfeld festlegen, daß ein Sprung ausgeführt wird, wobei das CSR-Konstantenfeld die zu testende Bedingung und die Anzahl der zu überspringenden Mikrobefehle festlegt. Die Schrittfolge bei einem Sprung ergibt sich wie folgt: Der Mikrobefehl an der Adresse M ruft einen bedingten Sprung hervor! Durch die Ausführung dieses Mikrobefehls wird M+1 in das Steuerspeicherregister CSR geladen und es wird die Adresse von M+1+1+SKP jn.das Nächstadressregister NA geladen. M ist ein Speicherplatz im 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 niedrig-
ten
rangigsten drei Bits des CSA-Konstanfeldes bestimmt sind, wenn der Sprung den Bedingungen genügt. Der Sprung wird gesperrt, wenn irgendeine der letzten vier Positionen in dem CSA-Schalter ausgewählt wird.
Die Bedingungen, die hinsichtlich der Sprungausführung überprüft werden können, sind durch die Bits 3-5 des CSR-Konstantenfeldes definiert. WRR 35, WRR O, WRR 33 und das Übertrags-Bit im Prozeßzustandsregister PSR müssen auf den Wert Null oder 1 überprüft werden. Das PSR-Zustands-Code-Feld wird auf Null, eins, zwei oder drei überprüft. Die Bits 1-2 des Konstantenfeldes werden herangezogen, um den Test festzulegen. Die zu testenden Zustände sind folgende:
0) WRR 35=K2 wenn K1=1
WRR 0=K2 wenn K 1=0
1) Übertrags-Bit in PSR=K2
2) WRR 33-34=Ki-2
3) Adresssilbe (AS) mitIRSW 18=0
4) PSR Zustands-Code-Feld weist entsprechendes Bit im IRSW CF Feld auf
5) PSR Zustands-Code-Feld=Ki-2
6) IRSW 7=WRR0 wenn K1=O
IRSW 7=K2 wenn K1=1
609841/0893
7) Höherer Unterbreclnmgsrang oder Rang Null auf Leitung von Schnittstellcneinheit 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ächstadressregister 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 gemeinsame Phase eingetreten, wobei in einigen Fällen die zweite Phase über das RA-Register für einige zusätzliche gemeinsame Schritte zu der ersten Phase zurückkehren kann, bevor in die den nächsten Befehlen gemeinsame Phase eingetreten wird.
Der Operations-Code des Schalters IRSW erzeugt die Wegsuchadresse und ein Eingangssignal für das Standardfolgen-Decodiernetzwerk 88. Das Standardfolgen-Decodiernetzwerk erzeugt die Steuerspeicheradresse für den Start der Mikrobefehlsfolge, die der Gruppe von Befehlen zugeordnet ist, die diese Folge enthalten. Diese Folge sei als Standardfolge bezeichnet. Der Speicherplatz in dem Wegsuchor der durch den Operations-Code adressiert wird,
'609841/0893
_ 26 -
enthält die Adresse im Steuerspeicher, an der die Folge für diesen Befehl beginnt. Der Befehl wird sodann ausgeführt durch Verzweigung zu der Standardfolgeadresse, durch Ausführung der gemeinscimen 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 Steuerlogik des CSA-Schalters zur Auswahl der Position Ausnahme/Unterbrechung gezwungen. Dies veranlaßt den Eintritt auf die Unterbrechungs-Beantwortungsfolge anstelle einer Bearbeitung,der nächsten Befehls-Standardfolge. Die Position Ausnahme/ Unterbrechung gibt die Adresse der Unterbrechungs-Beantwortungsfolge zu diesem Zeitpunkt wieder.
Fehlende Seitentabellenworte veranlassen den sofortigen Eintritt in eine PTW-Fehlfolge. Durch die Steuerlogik des CSA-SChalters wird während der Taktperiode,die unmittelbar auf den Schritt der Seitenbildung folgt, der Operand oder der Befehl zur Einnahme der Fehlposition gezwungen. Die Rückkehr von irgendeiner dieser Folgen erfolgt zu der Standardfolge, die von dem Schalter IRSW decodiert wird. Dies veranlaßt eine erneute Bearbeitung des zuvor bearbeiteten Befehls. Das Mikroprogramm bewirkt daher vor der Feststellung eines fehlenden Seitentabellenwortes PTW nichts was nicht erneut getan werden könnte. Ein nicht dargestelltes Flip-Flop wird gesetzt, wenn das fehlende Seitentabellenwort PTW
609841/0893
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 Befehlsstandardfolge 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ßzeitgcber-Auslauf, überlauf, Verriegelungsfehler und Adressenfehlausrichtung. Eine Divisionsprüfung wird bei einem Test durchgeführt und eine Verzweigung findet statt, wenn der Divisor den Wert Null aufweist. Alle diese Ausnahmen zeigen Fehler 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 Steurspeichcrregister CSR wieder· Diese Position wird benutzt, um die Bits des
609841/0893
externen Steuerspeicherregisters CSR erneut zu laden, wenn, die Schalter der Bedienungskonsole für die Anzeige von Daten benutzt werden.
Daten werden in das Ein/Ausgangssystem durch Simulation des Steuerpseicherregister CSR über die Schalter der Wartungskonsole eingegeben. Wenn die Schalter durch den CSR-Eingangsschalter 9 freigegeben werden, so wird ein Signal erzeugt, das das Laden der externen CSR-Bits mit dem durch die Schalter simulierten Mikrobefehl verursacht. Der alte Inhalt muß erneut geladen werden, wenn die Anzeige der Register vervollständigt wird. Dies geschieht durch Auswahl der Position 3 für einen Takt vor dem Rückschalten auf die Position Null und durch erneutes Laden der externen CSR-Bits während der einen Taktperiode. Das Format des SteuerspeicherregistersCSR ist folgendes\ Bit O Takt NA in RA
Bit'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
OO=schreibe IC (Lade WA wenn Schreiben WR) Oi=schreibe R1 (Setze W wenn Schreiben WR und CSA=SS) iO=schreibe R2
11=schreibe R3
Bit 5 Warten auf die Annahme von Lesedaten (ARDA)1 von der
Schnittstelleneiheit SIU
Bits 6-7 X-BAR-Adresse für WRW-Ausgang OO=Addier/Verschiebe-Ausgangsschalter Oi=Adressenchalter
1O=PSR/PCR-Schalter
11=SP-Ausgangsschalter
Bits 8-9 Zustands-Code (CC)-Steuerung 0O=NOP
01=Ladearithmetik
10=Ladelogik
11=Ladeparität von niedrigrangigstem SPB-Byte
609 3 41/0893
Bit 10 Schreibe PTW-Zwischenspeicher Bits 11-13 ZAC für Lese/Schroib-Speicherzyklus (Bits 1-3 dor Lese/Schreib-Adresscn-Schalterpositionen O und 1) OXX=Lesen
iXX=Schreiben
XOX-Einfachprüzision XiX=Doppelpräzision
Bit 14 Setz/Rückstell-Bits definiert durch CSR41-44 Bits 15-17 SIU-Anforderungstyp 00O=NOP
001=Unterbrechungsdaten 01O=Freigabe und Unterbrechungsdaten 0i1=Speicher oder programmierbare Schnittstellendaten (PI wenn 19-20=TO) i00=Gelesenes Byte zum Schreiben (Byte-Adresse, Lese/
Schreib-Zone,wenn schreiben) + 10i=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 PTW-Operanden-Fehlfolge, wenn ein Seitenfehler festgestellt wird
Bit 18 PTW-Zwischenspeicheradresse 0=erweiterte Lese/Schreiboperation von WRP 1=laufender Rang der PTW-Lese/Schreiboperation von der
effektiven Adresse Bits 19-2OAdresse-Schaltersteuerung OO=seitenunterteilte Adresse (Steuerlogik erzwingt den Wert 01, wenn PSRiO=D Oi=absolute Adresse 10=PI-Adresse
11=PTW-Zwischenspeicher 0-35 Bit 21 Schreibe WR
'609841/0893
Bits 22-23 CSA-Schaltersteuerung (erste vier Positionen)
OO=Nächst~Adressregister (NA) - Oi=Rückkehr-Adressregister (RA) 10=Ausführungsadressregister .(XA)
11=Standard-Folgeadresse Bits24-25 WRR-Leseadresse Bits 26-27 WRP-Leseadresse 0O=IC O1=R1 1O=R2
11=R3 Bit 28 Operandenschalter O=SPB I=WRR
Bits 29-30 PSR/PCR-Steuerung und ALU-Betriebsweise
5.
00= Lese PBR oder logische Betriebsweise 01=Lese PCR oder arithmetische Betriebsweise iO=Schreibe PSR
11=Schreibe PCR Bits 31-32 Addierer/Verschieber-Ausgangsschalter 00=Verschieber O1=ALU iO=Speichern
11=Laden Bits 33-35 B Operandenschalter 00O=DL 001=DS 01O=IS 011=IL 10O=WRR 101=8, Wortlänge oder übertrag 110=Konstante KO-8
Bits 36-44 Konstante KO-8 Dieses Feld wird ebenfalls für eine gegenseitige exklusive Steuerung benutzt.
609841/0893
Bits 36-37~8/WL/CY-Steuerung
00, 8/WL/CY=IRSW Bofehlswortlängc
01, 8/<viL/CY=PSR ubcrtrags-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-PeId
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
111 SIÜ-HLIP-Leitung aktiv und nicht gesperrt oder -' LZP/ aktiv
Bits 42-44 Spring-Zählstand Bits 38-44 GR-Zwischenspeicher-Gesamtadresse Bits 41-44 GR-Zwischenspoicher-AdressG pro Prioritätsrang
609841 /0893
Bits 41-44 Setze/Rückstelle Bit-Adresse
0000 RückstellG Halte-Betriebsweise
0001 Setze Halte-Betriebsweise
0010 Rückstelle Sperr-Uηterbrechungs-Betriebsweise
0011 Setze Sperr-Unterbrcchungs-Betriebsweise 0100/0101 Rückstelle PCR-Ausnahmo-Speicherung 0110/0111 nicht definiert
1000/1001 Invertierung DO, Steuerung und Unterbrechung der Datenparität
1010/1011 Invertierung von PR-Paritat und bedingte Sperrung von GR SP-Schreibtakt
1100/1101 Bedingte Sperrung von DR SP-Schreibtakt 1110/1111 Setze Maßnahme-Flip-Flop F/F
Bits 45-48 ALU-Steuerung/Verschiebeeingang-Schaltersteuerung Bits 45-48 ALU-Operation (CSR30=Betriebsweise)
Bits 45-46 Linksverschiebung-Eingangsschalter 0O=A Operandenschalter 01 Vorzeichen des Rechtsverschiebung-Eingangsschalteis
10 Nullstellen
11 Einerstellen
Bits 47-48 Rechtsverschiebung-Eingangsschalter OX Nullstellen
10 B-Operandenschalter
11 A-Operandenschalter
Bits 49-50 GR-Zwischenspeichersteuerung
0O=NOP
Oi=Schreiben GR-Zwischenspeicher
iO=Laden SPB von GR Zwischenspeicher
11= · Laden SPB von WRP Bits 51-53 GR-Zwischenspeicheradresse
OOO=CSR-Zwischenspeicher .-Gesamtadresse (CSR 38-44)
0 9 8 4 1/0893
Bits 51-53 OO1=CSR Zwischenspeicher-Adresse pro Prioritätsrang (AlL, CSR41-44) 010= erweiterte Lese/Sehreibadrcsse von V7RR 011=laufender Prioritätsrang XR2 i00=laufender Prioritätsrang XR1 1O2=laufender Prioritätsrang GR1 1iO=ungerades Register des durch WA im laufenden Prioritätsrang adressierten Paares 111=WA-Adresse im laufenden Prioritätsrang
Bit 54 A Operandenschalter
O=SPB
1 =WRR
'609841 /0893
Datenformate
Format 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 v/eist eine Halbwort-, 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 aufweisen. Operanden für die Wortlänge müssen eine Wortausrichtung und Operanden von Doppelwörtern müssen eine Doppelwortausrichtung auf v/eisen.
Numerische Daten - Die numerischen Daten besitzen nur eine Form, nämlich die ¥ollworteinheit. Das Dezimalkomma wird rechts von dem niedrxgrangigstenBit angenommen. Negative Zahlen werden 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, 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 O
31
609841/0893
Dieses Packen gestattet die Adressierung von Bytes unter Verwendung der normalen IOP-Byteadrcssierung. Spezielle Befehle (LD32r ST32) v/erden benutzt, um numerische Daten von 32 Bit in eine 36 Bit rechts 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:
a. Prozeßzustandsregister PSR
b. Befehlszähler IC
c. Seitentabellenbasisregister PTBR
d. Allgemeinregister GR
e. Steuerblockbasisregister CBBR
f. Prozeßsteuerregister PCR
Die Register PSR, IC, PTBR und mehrere Register GR befinden sich im Zwischenspeicher 26, der 16 Register mit 36 Bit aufweist, die folgendermaßen angeordnet sind:
PSR Steuerung IP L/
7R
S R A CC C Prozeß-Zeitgeber


GR
L/R S Prog.Nr. Seitentabellenbasis Kenn-
Schlüssel
IC Adresse
PTBR
10 11 12 13 14
15
6098 A 1 /0893
Prozeßzustandsregister PSR - Das Prozeßzustandsregister speichert Information, die für die Steuerung des gerade ablaufenden Prozesses von Bedeutung ist. Es besitzt das folgende Format:
7 8 9 10 11 12 13 14
PSR
(GR0)
Steuerung P R A CC C Prozeß-Zeitgeber
Steuerung [O:8] - Die eingefügte Steuerung bestimmt die unterbrechende Quelle.
P Γδ:ΐ] - Vorrang. Haupt (O)- oder Neben (I)- Betriebsweise.
R (.9:Ij - Externes Register. Gewisse nicht zum Prozessor IOP gehörende Register können nicht geändert werden, wenn dieses Bit gesetzt ist.
a[10:1j - Adressierweise. Absolute (0) oder seitenunterteilte (1) Adressierung.
Cc[il:2] - Zustandscode. Die Bedeutung des Zustandscodes ist für jeden Prozessorbefehl vorgegeben. Im allgemeinen entspricht: Ergebnis = 0 CC ·*— O Ergebnis <0 1
Ergebnis > 0 2
Überlauf 3
c[l3: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, subtrahieren, multiplizieren, dividieren, vergleichen und negieren.)
Prozeß-Zeitgeber £l4:22J - Ein Zeitgeber, der periodisch während des Prozeßablaufs herabgezählt wird. Eine Zeitgeber-Auslaufausnähme tritt auf, wenn der Zeitgeber den Wert Null erreicht.
6098^1 /0893
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 2767 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 werden 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:
8 9
35
IC
(GR1)
l/r S RFÜ IC
L/R £o:lj
S
RFU L4:51
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.
609841/0893
Seitentabellenbasisregister PTBR - Das Seitentabellenbasisregister weist auf die Seitentabelle, die benutzt wird, um die seitenunterteilte Adressverschiebung für den laufenden Prozeß zu erzeugen. Dieses Register kann nur in der Hauptbetriebsweise geladen werden. Das Register PTBR ist im Allgemeinregister GR15 gespeichert und besitzt das folgende Format:
PTBR
(GR15)
O 7R 1 S 3 4 .Nr. 8 9 29.30 35
Prog Seitentabellenbasis
I
Kennschlüssel
L/R fO:l3 - Intern/Extern.
S £l:3j - Steuerung.
Prog.Nr. (4:53 ~ Programmnummer. Ein FeId7 welches von
der Software benutzt werden kann, um eine zusätzliche Programmbestimmung zu bewirken. Dieses Feld wird von der Prozessor-Hardware nicht beachtet.
Seitentabellenbasis [9:2l] - 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 O modulo 64 (Bytes) sein.
Kennschlüssel [_3O:6j - Der Kennschlüssel dient der
Bestimmung eines Prozesses und wird benutzt, um Seitentabellenworte den Prozessen zuzuordnen.
Allgemeinregister GR - Die verbleibenden 13 Register GR2 - GRi4 sind Allgemeinregister. Die Allgemeinregister werden von einigen Befehlen in geraden-ungeraden Paaren benutzt. Diese Befehle schließen die Befehle RDRR, WRRR, L2MG, S2GM, DSL und DSR ein. In Bezug auf diese Befehle
609841 /0893
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.
Steuerblockbasisregister 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.
Das Steuerblockbasisregister wird an dem Speicherplatz des Zwischenspeichers abgelegt, der dem Allgemeinregister GR 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:
O L/r 1 S 3 4 CBB2 10 11 12 14 S 15 RFU 19. 20 CBBl 35
L/R
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 L/
/R
1 S 3 4 RFU 8 9 CBBl 24 25 000 35 00000000
Diese Ausrichtung ge'stattet die Speicherung von Basen der Ausnahmesteuerblock- und Unterbrechungssteuerblock-Tabellen an irgendeiner 512-Wortgrenze in irgendeinem Speicher.
6 η η R /, ι / ο 8 9 3
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 1 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 Ausnahmesteuerblock- und Unterbrechungssteuerblock-Tabellen an einer 512-Wortgrenze innerhalb der ersten 64K irgendeines Speichers.
Die Ausnahmesteuerblocks und die Unterbrechungssteuerblocks sind in der nachstehend dargestellten Weise in Bezug auf die Steuerblockbasis gespeichert.
CBB
ECBl 5
ECBl
ECEO ICBO ICBl
ICB255
Prozeßsteuerregister PCR - Für alle Prioritätsränge ist ein gemeinsames Prozeßsteuerregister vorgesehen. Dieses weist das nachstehende Format auf:
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
Unterbr.
Anf.
6098 4 1/0893
Ausnahmen [Ö:9] - Jedes Bit kennzeichnet eine nicht-MME-
Ausnahme eines besonderen Types
Paritätsfehler Jj) :7l- Hierdurch wird der Punkt in dem Prozessor
bestimmt, an welchem ein Paritätsfehler festgestellt wurde.
LZ jjL6:l[ - Es liegt keine Reaktion auf eine Unterbrechung
mit dem Rang O vor.
RFU [l7:i] - Reserviert für zukünftigen Gebrauch T&D [18 :l] - T&D-Betriebsweise. Ein Haltebefehl 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 jj23:4j - Prozessornummer und Rang.
INH [27:l[ - Unterbrechungs-Sperrbit.
Unt. Anf. [23:8] - Unterbrechungsanforderungsbits. Jedes gesetzte Bit bestimmt eine Software-Satzunterbrechung auf einem der Bitposition entsprechenden Rang. Anforderungsrang 7 (Bit 35) ist immer gesetzt. Prozessor-Satzunterbrechun-t gen mit den Pegeln O 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.
609841 /0893
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 =
7 Verriegelungsfehler (Sperrunterbrechung für mehr als 40 /us)
8 Adressen-Fehlausrichtung.
Ausnahmebedingungen werden durch eine Ausnahmenummer, bestehend aus 4 Bit identifiziert. Hinsichtlich MI-IE-Ausnahmen wird diese Nummer den Bits [l0:4r] 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-Hinweisadresse*
PTBR
603841/0893
* Eine Sicherungsbereich-Hinweisadresse SAP für dar» Prozessorpaar 0 ist in dem dritten Wort des Ausnahmesteuerblockes ECB abgelegt und eine Sicherungsbereich-Hinweisadresse SAP 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
Endgültige SAP"
ADRESSE PCR GR2 GR3 GR4 PTBR PSR IC
Stapel-Eintrittsstelle für laufenden Prozeß
609841/0893
26121)37
Die Sicherungsbereichs-IJinweisadresse 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-ITinweisadresse in das Allgemeinregister GR„ 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 RMM 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-Hinweisadresse 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 'j.: :.L 1 / 0 8 9 3
auf eine Unterbrechungsemforderung erforderliche Zeit zu minimalisieren, ist im Prozessor IOP 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 Prozeß 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 v/erden in aufeinanderfolgenden 16-Registerblöcken in dem 128-Wort-IOP-Zwischenspeicher abgelegt. Die Register für den Prioritätsrang O werden an den Speicherplätzen O bis 15 des Zwischenspeichers abgelegt. Da das Prozeßzustandsregister PSR für den Rang O niemals in den Zwischenspeicher übertragen wird, da der Rang O nicht unterbrochen werden kann, wird der Speicherplatz O 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 Hauptbetriebsweise 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.
609841/0893
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
171819
262728
3132
N RFU O ICB-Nr. O Steuerung
I
= 17]
ICB-Nr. [l8:9J
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 O 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ßnummer) der Unterbrechung.
609841/0893
7 612 0 3 7
Um die Unterbrechungs-Verarbeitungsroutine auszulösen, werden 4 Register aus dem Unterbrechungssteuerblock geladen. Wenn das Prozeßzustandsregister PSR geladen ist, so wird das Steuerfeld des Uriterbrechungswortes in das Steuerfeld des Registers PSR eingesetzt. Die anderen Register IC, GR14 und PTER v/erden direkt aus aufeinanderfolgenden Worten in den Unterbrcchungssteucrblock 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 O 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 ausgelö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.
6Ü&6A 1 /0893
Adressenentwicklung
In dem Prozessor IOP erzeugte Adressen können auf den internen Speicher des Prozessors IOP, auf den zentralen Systemspeicher, auf IOP-Register außerhalb des Prozessors (externe Register), auf Register in dem zentralen System (externe Register) oder auf Speicherplätze in einem der IOP-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
XR1 1 XR? S i D
14 17 18
19 22 23
Innerhalb der Adressilbe sind die Felder wie folgt zu interpretieren:
- Dieses Feld bestimmt das Allgemeinregister, das für den ersten Rangindex benutzt wird. Ein Wert von O zeigt an, daß keine erste Rangindizierung vorliegt.
Index Bit Ll8: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.
6 0 9 8 /} 1 / 0 8 9-3
XR_ [l9:4J - Wenn dieses Index-Bit gesetzt ist, so legt
dieses Feld das Allgemeinregister fest, das als zweiter Rangindex benutzt wird.
D jjL9: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-Verschiebewert D auf 36 Bits Vorzeichen erweitert.
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:17] in sich auf den laufenden Wert 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:17J vorzeichenerweitert
2 Indizes EA = (XR1H(XR2) + D [23:13] vorzeichener
weitert
Befehle mit dem Format BRB
(Implizierter Index) EA = (IC) + D [l9:17] vorzeichenerweitert.
Speicherbezugsoperationen - Alle durch IOP-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:
' 609841/0893
- .50
8 9
Absolute
Adresse
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.
S [l:3j - 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 SIU-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 0 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.
609841/0893
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 [^4:8J - Reserviert für zukünftigen Gebrauch. Dieses Feld wird gegenwärtig von der Hardware nicht beachtet.
A J9:27| - 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:
O 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 128 Seiten verfügbar. Die Seitennummer wird benutzt, um ein Seitentabellenwort (PTW) in der Seitentabelle für diesen Prozeß zu bestimmen.
6 0 SJ β Λ 1 / 0 8 9 3
PRA [25:11]- 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 Seitentabellenwort PTW, auf das durch die Seitennummer 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] «t^- PTW [9:16]
Absolute Adresse {25: llj -*—Effektive Adresse [[25: llj
Die Operation ist weiter unten dargestellt.
Die Adresse PTW wird errechnet, indem die Seitennummer zu der in dem Seitentabellenbasisregister PTBR abgelegten Seitentabellenbasis hinzuaddiert wird. Eine Beschreibung des Formates PTBR wurde weiter vorne gegeben.
Das PTW-Format stellt sich folgendermaßen dar:
Ol 34567 89
24 25 26 27 29. 30
35
Vr S A R RFU 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
6098 4 1/0893
R J6:lJ - Residenz. Dieses Bit wird gesetzt, um anzuzeigen,
daß diese Seite im Speicher vorhanden ist.
RFU J7:2^ - Reserviert für zukünftigen Gebrauch.
Seitenbasisadresse £9:16J - Dieses Feld bestimmt die absolute
Adresse des ersten Wortes der Seite. Seitenunterteilte Adressen werden durch Verkettung der 16-Bit-Seitenbasisadresse und der relativen 11-Bit-Seitenadresse gebildet.
RFU [25: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 [3016J - Der Kennschlüssel bestimmt den Prozeß,
dem dieses Seitentabellenwort PTW zugeordnet ist.
609841 /0893
Bei dieser Ausführung der seitenunterteilten Adressierung wird ein Zwischenspeicher im Prozessor IOP als pseudoassoziativer Speicher benutzt, um bis zu 16 Sextentabellenwörter PTW für den laufenden Prozeß zu speichern. Der Zugriff auf diese Register läßt sich durch folgenden Algorithmus beschreiben:
Das Seitentabellenwort PTW, in dem durch die niedrigrangigsten 4 Bits der Seitennummer adressierten Speicherplatz wird aus dem Zwischenspeicher herausgelesen und der Kennschlüssel wird mit dem Kennschlüssel in dem Register PTBR verglichen. Wenn die Kennschlüssel nicht übereinstimmen, so ist das Seitentabellenwort PTW dem laufenden Prozeß nicht zugeordnet und es muß das korrekte Seitentabellenwort PTW aus dem Speicher abgerufen werden.
Wenn die Kennschlüssel übereinstimmen, so werden die höchstrangigsten 3 Bits der Seitennummer mit dem PN-FeId in dem Seitentabellenwort PTW verglichen. Stimmen diese Nummern nicht überein, so ist das korrekte Seitentabellenwort PTW nicht im Zwischenspeicher enthalten und muß aus dem Hauptspeicher abgerufen werden. Im andern Fall werden die Zugriffsrechte überprüft. Ist die Anforderung gültig, so wird das Seitentabellenwort PTW zur Bildung der absoluten Adresse benutzt und es wird eine Speicheroperation ausgelöst. Andernfalls wird eine Ausnahme erzeugt.
Wenn ein neues Seitentabellenwort PTW aus dem Speicher abgerufen werden muß, so wird es unter der Adresse ausgelesen, die durch Addition der Seitennummer zu der Seitentabellenbasisadresse des Registers PTBR errechnet wird. Wenn der Kennschlüssel in dem neuen Seitentabellenwort PTW mit dem Kennschlüssel in dem Register PTBR übereinstimmt, so wird das neue Seitentabellenwort PTW in dem gerade ausgewählten Speicherplatz des Zwischenspeichers gesichert und zur Vervollständigung der absoluten Adresse benutzt. Stimmen die Kennschlüssel nicht überein, so hat der Prozeß seinen Adressbereich überschritten und es wird eine Adressen-Ausnahme erzeugt.
609841 /0893
Programmierbare Schnittstellenoperationen - Die programmierbare Schnittstelle PI wird von dem Prozessor IOP zum übertragen von Daten und des Inhalts von Steuerregistern in andere IOP-Module verwendet. Die Adresse für externe Lese- und externe Schreibbefehle wird aus dem vorzeichenerweiterten Sofortwert abgeleitet, wobei der Sofortwert durch den Befehl plus den Inhalt eines wahlfreien Indexregisters GR3., das durch den Befehl bestimmt ist, gegeben ist. Das signifikanteste Byte [b:9] der Adresse wird unterdrückt und die niedrigrangigsten 3 Bytes []9:27] werden der programmierbaren Schnittstelle eingegeben. Die Seitenverschiebung ist niemals auf Adressen der programmierbaren Schnittstelle bezogen. Die Interpretation des Adressteiles eines PI-Befehles wird dem adressierten Gerät überlassen.
Befehlsübersicht
Der folgende Abschnitt vermittelt einige Information betreffend die Befehlslänge, den Speicherort von Befehlen und die Befehlsformate .
Befehlslänge und Speicherort - Die Befehle des Prozessors IOP weisen eine Länge von 2 oder 4 Bytes auf. Die Bytes eines Befehls sind in aufeinanderfolgenden Speicherplätzen gespeichert. Die Speicheradresse eines Befehls wird durch die Adresse des am weitesten links stehenden Bytes bestimmt und muß ein Mehrfaches von 2- sein. Die Eingangsstelle für jeden Befehl umfasst einen mnemonischen Code, den Befehlsnamen und das Format. Alle Befehle mit einem mnemonischen Code aus 3 Buchstaben sind Halbwort-Befehle und alle Vollwort-Befehle besitzen einen mnemonischen Code aus 4 Buchstaben.
Allgemeinregister - Allgemeinregisterbefehle - 13 Befehle führen arithmetische oder logische Operationen mit Operanden aus der Reihe von Allgemeinregistern durch. Diese Befehle haben folgendes Format:
609841/0893
0P GR1 GR2
89
121314
17
0P
GR,
Operationscode
Ein 4-Bit-Feld, welches eines der Allgemeinregister GR als einen Operanden bestimmt. Dieses Register wird benutzt, um das Ergebnis jener Operationen zu speichern, welche ein Ergebnisregister erfordern. Ein 4-Bit-Feld, welches eines der Allgemeinregister GR als zweiten Operanden bestimmt. Der Inhalt dieses Registers wird nicht verändert, mit der Ausnahme, wenn dies ausdrücklich festgestellt wird.
MNEMONISCH BEFEHL
CRR
ADR
SBR
MPR
DVR
CMR
ANR
0RR
X0R
CAR
TPR
ACR
NGR
Übertrage Registerinhalt nach Register
Addiere Registerinhalt zu Registerinhalt
Subtrahiere Registerinhalt von Registerin
halt
Multipliziere Registerinhalt mit Register
inhalt
Dividiere Registerinhalt durch Register
inhalt
Vergleiche Registerinhalt mit Registerin
halt
UND-Verknüpfung zweier Registerinhalte
0DER-Verknüpfung zweier Registerinhalte
Exklusiv-ODER-Verknüpfung zweier Register
inhalte
Vergleichende UND-Verknüpfung zweier Re
gisterinhalte
Teste Parität des Registerinhalts
Addiere übertrag zu Registerinhalt
Negiere Registerinhalt.
Allgemeinregister-Zwischenspeicherregisterbefehle - 4 Befehle bewirken die übertragung von Information zwischen Prozessor-Zwischenspeichern und Allgemeinregistern. Diese Befehle haben folgendes Format:
603841 /0893
OP GR AS
89
121314
2829
35
OP - Operationscode
GR - Ein 4-Bit-Feld, welches eines der Allgemeinregister bestimmt.
AS - Adressilbe, die zur Berechnung der effektiven Adresse Y benutzt wird. Die niedrigrangigsten 7 Bits von Y bestimmen das Zwischenspeicherregister. Andere Bits in der effektiven Adresse werden unterdrückt.
MNEMONISCH BEFEHL
CRSG
CPSG
CGRS
CGPS
übertrage Inhalt des Zwischenspeicher
registers nach GR
Übertrage Zwischenspeicher-PTW nach GR
Übertrage GR nach Zwischenspeicher-Re
gister
Übertrage GR nach Zwischenspeicher-PTW
Allgemeinregister - Nicht-Prozessor-Registerbefehle - 4 Befehle verursachen die übertragung von Information zwischen den Allgemeinregistern und Nicht-Prozessorregistern. Diese Befehle haben das folgende Format;
OP S GR1 GR2 I
7 8 9 12131417 18
35
OP GR1 AS
8 9 121314
'609841/0893
35
Operationscode
Ein 4-Bit-Feld, welches eines der Allgemeinregister GR bestimmt.
Ein v/ahlfreies Indexregister. GR„ = O beinhaltet keinen Index.
Eine 18-Bit-SofortverSchiebung, welche mit dem Vorzeichenbit S zu der Wortlänge vorzeichenerweitert ist. Nach Ausführung der wahlfreien Indizierung wird die resultierende Adresse als die Adresse eines Registers außerhalb des Prozessors IOP interpretiert.
Adressilbe, die zur Berechnung einer effektiven Adresse Y benutzt wird. Diese Adresse wird als die Adresse eines Registers außerhalb des Prozessors IOP interpretiert.
MNEMONISCH BEFEHL
RDEX
WREX
RDRR
WRRR
Übertrage externen Registerinhalt
nach GR
übertrage externen Registerinhalt
aus GR
Übertrage Inhalt der Außenregister
nach GR
übertrage Inhalt der Außenregister
aus GR
Allgemeinregister - Spezielle Registerbefehle - 4 Befehle führen logische Operationen mit dem Inhalt des Prozeßzustandsregisters PSR und dem Prozeßsteuerregister PCR durch. Diese Befehle besitzen das folgende Format:
609841/0893
GR
8 9
12 13 14 17
- Operationscode
GR - Ein 4-Bit-Feld,welches eines der Allgemeinregister GR auswählt.
MNEMONISCH BEFEHL
CPC
APC
0PC
CPS
Übertrage Inhalt von PCR nach GR
UND-Verknüpfung der Inhalte von GR
und PCR
0DER-Verknüpfung der Inhalte von GR
und PCR
Übertrage den Inhalt von PSR nach GR
Register-Speicher-Ladungen - 8 Befehle laden die Allgemeinregister aus dem Speicher. Diese Befehle haben folgendes Format!
OP GR I AS
121314
OP - Operationscode
GR - Ein 4-Bit-Feld, welches ein zu ladendes Register GR auswählt.
AS - Adressilbe, die zur Berechnung der absoluten Adresse X benutzt wird.
6 Π 9 S /, 1 / 0 8 9 3
MNEMONISCH BEFEHL
LDMG Lade Speicher nach GR
LDBG Lade Byte nach GR
LCMG Lade Speicher nach GR und lösche
Speicher
L 2MG Lade 2 Worte aus Speicher nach GR
LAMG Lade absoluten Speicher nach GR
LD32 Lade aus 32-Bit-Format
LCAG Lade absoluten Speicher nach GR
und lösche Speicher
L2AG Lade 2 Worte aus absoluten Speicher
nach GR
Register-Speicher-Übertragung - 6 Befehle dienen der Speicherung der Allgemeinregister im Speicher. Diese Befehle besitzen das folgende Format:
OP GR I AS
8 9
121314
OP - Operationscode
GR - Ein 4-Bit-Feld, welches eines der Allgemeinregister bestimmt.
AS - Adressilbe, die zur Berechnung der absoluten Adresse benutzt wird.
6098^1/0893
MNEMONISCH BEFEHL
STGM Speichere Inhalt von GR im Speicher
STGB Speichere Inhalt von GR in Byte
S 2GM Speichere den Inhalt von 2 Registern
GR im Speicher
SAGM Speichere den absoluten Inhalt von
GR im Speicher
ST32 Speichere im 32-Bit-Format
S 2 AM Speichere den absoluten Inhalt von
2 Registern GR im Speicher
Register-Speicher - arithmetische und logische Operationen 13 Befehle führen arithmetische und logische Operationen mit dem Inhalt der Allgemeinregister und den Speicheroperanden durch. Diese Befehle besitzen das folgende Format:
OP GR AS
89
121314
OP - Operationscode
GR - Ein 4-Bit-Feld, welches eines der Allgemeinregister GR bestimmt.
AS - Adressilbe zur Berechnung der absoluten Adresse X.
60 9 841/0893
MNEMONISCH BEFEHL
ADMG Addiere Speicherinhalt zum Inhalt von GR
SBMG Subtrahiere Speicherinhalt vom Inhalt GR
CMGM Vergleiche Inhalt von GR mit Speicher
inhalt
CMBM Vergleiche Byte mit Speicherinhalt
ANMG ÜND-Verknüpfung von Speicherinhalt und
Inhalt von GR
ANGM UND-Verknüpfung von Inhalt von GR mit
Speicherinhalt
0RMG 0DER-Verknüpfung von Speicherinhalt
mit Inhalt von GR
0RGM 0DER-Verknüpfung von Inhalt von GR
mit Speicherinhalt
X0MG Exklusive ODER-Verknüpfung von Speicher
inhalt mit Inhalt von GR
XOGM Exklusive ODER-Verknüpfung von Inhalt
von GR mit Speicherinhalt
CAGM Vergleichende UND-Verknüpfung von Inhalt
von GR mit Speicherinhalt
ALMG Logische Addition von Speicherinhalt
und Inhalt von GR
SLMG Logische Subtraktion des Speicherinhalts
vom Inhalt von GR
Operanden-Sofortbefehle
Kurze Sofortbefehle mit Allgemeinregistern - 3 Befehle führen Operationen mit dem Inhalt eines Allgemeinregisters und einem kurzen Sofortoperanden durch. Diese Befehle besitzen das folgende Format:
609841/0893
OP
- 63 -
is:
789
1314
GR
17
OP
GR
Operationscode
Ein vorzeichenbehafteter Sofortwert von 6 Bit, der auf die Wortlänge vorzeichenerweitert ist.
Ein 4-Bit-Feld, welches eines der Allgemeinregister GR bestimmt. Dieses Register wird zur Speicherung des Ergebnisses der Operation benutzt.
MNEMONISCH BEFEHL
LSI
ASI
ALI
Lade kurzen Sofortwert ins
Register GR
Addiere kurzen Sofortwert zum
Inhalt von GR
Addiere logischen Sofortwert
zum Inhalt von GR
Kurze Sofortbefehle bezüglich des Speichers - 2 Befehle führen Operationen mit einem kurzen Sofortwert und einem Operanden aus dem Speicher durch. Diese Befehle besitzen das folgende Format:
η
op {s; ι
ι 1
AS
1314
35
609841/0893
OP - Operationscode
- Ein vorzeichenbehafteter Sofortwert von 6 Bit, der vor seinem Gebrauch auf die Wortlänge vorzeichenerweitert ist.
AS - Adressilbe zur Berechnung der effektiven Adresse X.
MNEMONISCH BEFEHL
SMSI
AMSI
Speichere den kurzen Sofortwert
im Speicher
Addiere den kurzen Sofortwert zum
Speicherinhalt.
Arithmetische Befehle hinsichtlich langer Sofortwerte Befehle führen arithmetische Operationen mit dem Inhalt eines Allgemeinregisters und einem langen Sofortwert durch, Diese Befehle besitzen das folgende Format:
OP S GR1 I GR2 I
789
121314
1718
GR2 -
Operationscode
Vorzeichenbit für Sofortoperanden
Ein 4-Bit-Feld, welches das Allgemeinregister zur Zuführung des Ergebnisses bestimmt.
Ein 4-Bit-Feld, welches das als Operanden zu benutzende Allgemeinregister bestimmt.
Ein 18-Bit-Sofortoperand, der mit dem Vorzeichenbit S auf die Wortlänge vorzeichenerweitert ist.
OfHGlNAL INSPECTED
609 8 41/Q893
MNEMONISCH BEFEHL
LDLI
ADLI
Lade den niedrigen Sofortwert
ins Register GR
Addiere den niedrigen Sofortwert
zum Inhalt von GR
Logische Befehle hinsichtlich langer Sofortwerte - 9 Befehle führen logische Operationen mit dem Inhalt eines Allgemeinregisters und einem Halbwort-Sofortwert durch. Die Sofortwerte sind in untere Sofortwerte und obere Sofortwerte klassifiziert. Die Ausdrücke "unter" und "ober" beziehen sich auf die Hälfte des Operandenwortes, das durch den Sofortwert ausgewählt wird. Die andere Hälfte des Operandenwortes wird mit einem Füllbit aufgefüllt. Diese Befehle besitzen das folgende Format:
OP F GR1 GR2 I
789
121314
1718
OP
GR,
Operationscode Füllbit
Ein 4-Bit-Feld, welches das Allgemeinregister zur Aufnahme des Ergebnisses auswählt.
Ein 4-Bit-Feld, welches den Inhalt des als Operanden zu benutzenden Allgemeinregisters auswählt.
Ein 18-Bit-Sofortoperand, der durch das Füllbit F auf die Wortlänge aufgefüllt ist. Niedrige Sofortwerte werden auf der linken Seite und obere Sofortwerte werden auf der rechten
93
(F,D =
F I
1718
(I,F) =
I
j
F
1718
MNEMONISCH BEFEHL
CMLI Vergleiche Inhalt von GR mit niedrigem
Sofortwert
ANLI UND-Verknüpfung von Inhalt von GR mit
niedrigem Sofortwert
ANUI UND-Verknüpfung von Inhalt von GR mit
oberem Sofortwert
0RLI 0DER-Verknüpfung von Inhalt von GR mit
unterem Sofortwert
0RUI 0DER-Verknüpfung von Inhalt von GR mit
oberem Sofortwert
X0LI Exklusiv 0DER-Verknüpfung von Inhalt von
GR mit unterem Sofortwert
X0UI Exklusiv-0DER-Verknüpfung von Inhalt von GR
mit oberem Sofortwert
CALI Vergleichende UND-Verknüpfung von Inhalt
von GR mit unterem Sofortwert
CAUI Vergleichende UND-Verknüpfung von Inhalt
von GR mit oberem Sofortwert
609841 /0893
-.67 ~
Befehl hinsichtlich eines Sofort-Bytes - Ein Befehl bezieht sich auf den Inhalt eines Allgemeinregisters und ein Sofort-Byte. Er weist das folgende Format auf:
OP 0 GR1 GR2 0 I
89
121314 1718 .
2627
OP GR]
Operationscode
Ein 4-Bit-Feld, welches das Allgemeinregister GR bestimmt, das den einen Operanden enthält.
Ein 4-Bit-Feld, das nicht beachtet wird. Das 9-Bit-Sofort-Byte
MNEMONISCH BEFEHL von GR mit Sofort-Byte
CMBI Vergleiche Inhalt
Verschiebebefehle
6 Befehle führen Verschiebeoperationen mit dem Inhalt der Allgemeinregister durch. Bei allen Befehlen kann der Verschiebezählstand J entweder durch ein Register oder einen Sofortwert gegeben sein. Wenn J in einem Register enthalten ist, so sieht das Format wie folgt aus:
OP GR1 GR2
89
1213 14
17
6098 4 1/0893
Wenn J als Sofortwert vorliegt, so sieht das Format wie folgt aus:
OP I GR
78
1314
GR2/GR
Operation scode
Ein 4-Bit-Feld, welches den zu verschiebenden Inhalt des Allgemeinregisters bestimmt.
Ein 4-Bit-Feld, welches das Allgemeinregister GR bestimmt, daß den Verschiebezählstand J von 6 Bit aufweist. Die links stehenden 30 Bits des Registers GR, werden nicht beachtet.
Das 6-Bit-Feld, welches den Verschiebezählstand J festlegt.
MNEMONISCH BEFEHL
GRI GRGR
LSL LRL Logische Verschiebung nach links
LSR LRR Logische Verschiebung nach rechts
ASR ARR Arithmetische Verschiebung nach
rechts
RSR RRR Rotationsverschiebung nach rechts
DSL DRL Doppelverschiebung nach links
DSR DRR DoppelverSchiebung nach rechts
60S 841/0893
Bitfeld-Befehle
Bitfeld-Auswahlbefehle - Zwei Befehle werden benutzt, um Bitfelder aus einem Allgemeinregister GR auszuwählen, und um das Bitfeld in ein anderes Register GR zu laden. Diese Befehle besitzen das folgende Format:
OP GR % GR2 Fl P2 F
89
121314
1718 2324
2930
OP - Operationscode
GR^ - Ein 4-Bit-Feld, welches das Bestimmungsregister kennzeichnet.
GR2 - Ein 4-Bit-Feld, welches das Quellenregister kenn zeichnet.
F^F2, F3 - 3 6-Bit-Felder, welche die Quellen- und Bestimmungs-Bitfelder kennzeichnen. Es wird keine Hardwareüberprüfung hinsichtlich des Bestandes dieser 3 Felder durchgeführt.
MNEMONISCH BEFEHL
EBFZ
EBFS
Auswahl des Bitfeldes, Auffüllen
mit Nullstellen
Auswahl des Bitfeldes, Vorzeichener
weiterung
Auswahl und Vergleich mit Registerbefehlen - Zwei Befehle werden für die Auswahl eines Bitfeldes aus einem Allgemeinregister GR und für den Vergleich mit einem anderen Allgemeinregister GR benutzt. Diese Befehle besitzen das folgende Format:
'S 09841/0893
89
121314 1718 2324 2930
OP I GRi I GR2 Fl F2 F3
OP GR,
F0, F
Operationscode
Ein 4-Bit-Feld, welches das Register GR bestimmt, dessen Inhalt zu vergleichen ist.
Ein 4-Bit-Feld, welches das Allgemeinregister GR bestimmt, dessen Bitfeld ausgewählt wird.
3 - Drei 6-Bit-Felder, welche das Bitfeld definieren. Es wird keine Hardwareprüfung hinsichtlich des Bestandes dieser drei Felder durchgefuhr t.
MNEMONISCH BEFEHL
ECRZ
ECRS
Wähle aus und vergleiche mit
Registerinhalt, fülle mit Null
stellen auf.
Wähle aus und vergleiche mit
Registerinhalt, Vorzeichenerwei
terung .
Auswahl und Vergleich mit Literal-Befehl - Ein Befehl ist zur Ausführung dieser Funktion vorgesehen. Dieser Befehl besitzt das folgende Format:
OP 0 L GR Fl F2 F3
789 1314 1718 2324 2930 35
609841/0893
OP - Operationscode
L - Ein Literal von 5 Bit ohne Vorzeichen
GR - Ein 4-Eit-Feld zur Bestimmung des Registers GR. dem das Bitfeld entnommen wird.
F,,F ,F - Drei 6-Bitfeider, die das Bitfeld bestimmen. Es wird keine Hardwareprüfung hinsichtlich des Bestandes dieser Felder durchgeführt.
MNEMONISCH BEFEHL
ECLZ Wähle aus und vergleiche mit Literal,
fülle auf mit Nullstellen
Einsetzen aus dem Registerbefehl - Diese Funktion wird durch einen Befehl ausgeführt, der folgendes Format besitzt:
OP GR1 % GR2 Fl F2 F3
121314 1718 2324 2930
Operationscode
Ein 4-Bit-Feld, welches das Register GR bestimmt, das das einzufügende Bitfeld aufweist.
Ein 4-Bit-Feld, welches das Register GR bestimmt, in welches das Bitfeld einzusetzen ist.
,F- - Drei 6-Bit-Felder, welche das Bitfeld definieren. Es wird -keine Hardwareprüfung hinsichtlich des Bestandes oder der Logik dieser 3 Felder durchgeführt.
60S841/0833
MNEMONISCH BEFEHL
IBFR Füge Bitfeld aus Register ein
Einfügung aus Literal-Befehl - Diese Funktion wird durch einen Befehl ausgeführt, der folgendes Format aufweist:
OP 0 L GR Fl F2 F3
789
1314 1718
2324
2930
Operationscode
Ein Literal von 5 Bit ohne Vorzeichen
GR - Ein 4-Bit-Feld, welches das Register bestimmt, in welches das" Bitfeld einzufügen ist.
F1 ,F0 ,F. - Drei 6-Bit-Felder, welche das Bitfeld festlegen,
X dC ο
Es wird keine Hardwareüberprüfung hinsichtlich des Bestandes oder der Logik der drei Felder durchgeführt.
MNEMONISCH BEFEHL
IBFL Füge aus Literal in das Bitfeld ein
Bedingungs-Bitbefehle - 2 Befehle bewirken das Setzen oder Rückstellen eines Bits eines Registers in Abhängigkeit von dem Bedingungscode. Diese Befehle besitzen das folgende Format:
609841/0893
OP
CF
GR
F.
89
121314 1718 2324 2930
35
Operationscode
Bedingungsfeld. Ein 4-Bit-Feld definiert die Bedingungen. Jedes Bit des Bedingungsfeldes CF entspricht in folgender Weise einem Wert des Bedingungscodes:
CF-Bit
O 1 2 3
Bedingungscode-Wert
CC = 0 CC = 1 CC = 2 CC = 3
I - 1 für CDSB, O für CDRB.
GR - Ein 4-Bit-Feld, welches das Register GR bestimmt, das das zu setzende oder rückzustellende Bit enthält.
F1,F2,F3 - Drei 6-Bit-Felder, welche das Bitfeld bestimmen. Es wird keine Hardwareüberprüfung hinsichtlich des Bestandes oder der Logik dieser 3 Felder durchgeführt.
MNEMONISCH BEFEHL
CDSB
CDRB
Bedingung-Setz-Bit
Bedingung-Rückstell-Bit
Verzweigungsbefehle
Verzweigungsbefehl bedingt durch den Bedingungscode - Diese Kategorie enthält ein Befehl, dessen Format wie folgt aussieht:
OP CF AS
89 121314
'S09841/Ö893
Operationscode
Eedingungsfeld. Ein 4-Bit-Feld, welches die Verzweigungsbedingungen bestimmt. Jedes Bit des Bedingungsfeldes CF entspricht auf folgende Weise dem Wert des Bedingungscodes:
CF-Bit
O 1 2 3
Bed ingung s code-Wer t
CC
CC
CC
CC
O 1 2 3
Adressilbe zur Berechnung der effektiven Verzweigungsadresse Y.
MNEMONISCH BEFEHL
BRAC Verzweigung auf Grund einer Bedingung
Sicherung von IC und Verzwexgungsbefehl - In diese Kategorie fällt ein Befehl mit folgendem Format:
OP GR AS
89
121314
35
- Operationscode.
Ein 4-Bit-Feld, welches eines der Allgemeinregister GR bestimmt, das zur Speicherung der Rückkehradresse verwendet wird.
- Adressilbe zur Berechnung der effektiven Verzweigungsadresse Y.
6G9841/Ö893
MNEMONISCH BEFEHL
BSIC Verzweige und sichere Inhalt von IC
Verzweigungsbefehle in Abhängigkeit von einem Registerbit In diese Kategorie fallen 2 Befehle mit folgendem Format:
OP B GR I S D
78
1314
17181920
Operationscode
Ein 6-Bit-Feld, welches innerhalb der Bitpositionen von 0 bis 35 diejenige Bitposition bestimmt, deren Bit zu testen ist.
Ein 4-Bit-Feld, welches das Register GR bestimmt, das das zu testende Bit enthält.
Verschiebung - Hiermit wird ein vorzeichenbehafteter Wert bezeichnet, der vorzeichenerweitert ist und zu dem Inhalt des Befehlszählers hinzuaddiert wird, um die effektive Verzweigungsadresse Y zu erhalten.
MNEMONISCH BEFEHL
BRBS
BRBR
Verzweige, wenn Bit gesetzt
Verzweige, wenn Bit zurückgestellt
B0984.1/Ö833
- 7b -
Taktdiagramme
In den Figuren 6-20 sind Taktdiagramme für Verfahrensroutinen dargestellt, die auf dem Prozessor IOP durchgeführt werden. Alle Diagramme sind bezogen auf einen Zwischenspeichertakt, der eine Periodendauer von 200 ns aufweist und einen synchronisierten Registertakt darstellt. Die sonstigen Bezugnahmen betreffen die Register, Schalter, den Steuerspeicher und andere Komponenten, die in Figur 2 dargestellt sind. In einigen Fällen wird auch Bezug auf andere Komponenten des Eingang/Ausgangsystemes genommen.
Figur 6 zeigt die Ereignisfolge beim Zugriff auf eine Standardfolge, bei der Ausführung der Standardfolge unter der Annahme, daß keine zweite Rangadressierung in dem Allgemeinregister vorliegt, beim Errichten der nächsten Adresse NA aus der Standardfolge plus einem Inkrement von 3, beim Adressieren der Ausführungsadresse XA und bei der Rückkehr zu der Standardfolge RA, wenn die Befehlsausführung beendigt ist.
Figur 7 veranschaulicht eine Sprungtest-Ausführung, wobei der Microbefehl für den Sprungtest im Steuerspeicher CS unter dem Speicherplatz M abgelegt ist. Figur 8 veranschaulicht eine Verzweigung zu einer konstanten Operation, wobei der Microbefehl im Speicherplatz M des Steuerspeichers CS die Operation ausführt.
Die Figuren 9 und 10 veranschaulichen das Schreiben und Lesen eines Einfach- oder Doppelwortes in oder aus dem internen Lese/Schreibspeicher. Die aktive Ausgangs-Anschluß-Anforderung AOPR und die aktive angenommene Anforderung ARA bestimmen den aktiven Anschluß der Schnittstelleneinheit SIU des internen Speichers.
9841/0 893
Figur 11 veranschaulicht eine Lese/Schreiboperation hinsichtlich einer programmierbaren Schnittstelle PI, wobei die das Schreiben und Lesen betreffenden Teile, die beide auf die Anforderung der Schnittstellenexnheit SIU bezogen sind, in der oberen Hälfte des Diagramms dargestellt sind.
Figur 12 veranschaulicht die Anforderung für eine Datenunterbrechung während Figur 13 die Anforderung für eine Datenunterbrechung darstellt, die von einer Freigabe des Prozessors für die Schnittstellenexnheit SIU begleitet wird.
In Figur 14 ist die Ergänzung der Leseadresse eines Befehlsregisters dargestellt. Das Schreibbit 34 WRW des Arbeitsregisters steuert den Schalter IRSW. Nachdem der Inhalt von IRSW verändert ist, sind die DL/DS-Eingänge nach dem B-Schalter verfügbar.
In Figur 15 ist die Ergänzung der Schreibadresse eines Befehlsregisters und der Befehlsabruf dargestellt unter Bezugnahme auf die Schnittstellenexnheit SIU. Figur 16 veranschaulicht den Befehlsabruf und die darauf folgende Anforderung des Daten-Lese/Schreib-Zyklus. In Figur 17 ist eine Befehlsanforderung im Prozeß IRIP dargestellt, die von einem anderen Befehls-Lesezyklus gefolgt wird.
Figur 18 veranschaulicht einen unbedingten Befehlsabruf für eine erste Bedingung, wobei die Adresse nicht seitenunterteilt ist (PSR-Bit 10 = 0) und der Vergleich der Kennschlüssel-; Zugriffs- und Speicherresidenzbits einen positiven Wert ergibt, sowie für eine zweite Bedingung, bei der die Adresse seitenunterteilt ist (PSR-Bit 10 = 1) und wobei die Kennschlüssel-, Zugriffs- oder Speicherresidenzbits nicht alle positiv sind, wodurch eine Unterbrechung, Ausnahme oder PTW-Folge hervorgerufen wird.
609841/08^3
Figur 19 veranschaulicht den erzwungenen Eintritt in eine PTW-Fehlfolge, entweder für einen fehlenden Operanden O oder einen fehlenden Befehl I. In Figur 20 ist der Eintritt in eine Ausnahmeroutxne dargestellt, nachdem die PTW-Fehlfolge-Routine gemäß Figur 19 nicht in der Lage war, das Seitentabellenwort PTW im Speicher festzustellen.
609841/0893
Liste der verwendeten Abkürzungen
ALU ARA ARDA BRAC CF-
CBBR -
CEMIO -
DISP -
DPCR -
HLIP -
HSMX -
Active-Interrupt Level - Aktiver Unterbrechungsrang
Adder Logical Unit - Rechenwerk
Active Request Accepted - Aktive Anforderung angenommen Accept Read Data - gelesene Daten angenommen
• Branch on. Condition - Condition Field - Bedingungsverzweigüng - Bedingungsfeld
Branch on Bit - Verzweigungs-Bit
Control Block Basis - Steuerblockbasis Control Block Basis Register - Steuerblockbasisregister
Condition Code - Zustands-Code
Current Instruction Read - Laufender Befehl Lesen Communication Input/Output - Nachrichteneingang/ausgang
Common Peripheral Interface Schnittstelle
Gemeinsame periphere
Control Store Address - Steuerspeicheradresse Control Store Register - Steuerspeicherregister Device Adapter Interface - Geräte Adapter-Schnittstelle
Data Interface - Datenschnittstelle
Dispatch Instruction - Verteilbefehl
Long Displacement - Lange Verschiebung
Data Out (Register) - Datenausgangs(Register)
Display Process Control Register - Prozeß-Steuerregister-Anzeige ' ■
Short Displacement - Kurze Verschiebung Double Shift Left - Doppelverschiebung nach links Double Shift Right - Doppe!verschiebung nach rechts Exception Control Block - Ausnahmesteuerblock General Register - . Allgemeinregister
Higher Level Interrupt Present - Unterbrechung mit höherem Rang vorhanden
High Speed' Multiplexer - Hochgeschwindigkeits-Multiplexer
609841/0893
ICB - Interrupt Control Block - Unterbrechungs-Steuerblock
IL - Long Intermediate Value - Langer Zwischenwert
IS - Short Intermediate Value - Kurzer Zwischenwert
IOM - Input/Output Multiplexer - Eingang/Ausgang-Multiplexer
IOP - Input/Output Processor - Eingang/Ausgang-Prozessor
IRSW - Instruction Register Switch - Befehlsregisterschalter
L2MG - Load 2 Words of Memory to General Register -
Lade 2 Worte des Speichers in das Allgemeinregister
LMPS - Local Memory Port Specifier - Interner Speicheranschluß Kennzeichner
LSMX - Low Speed Multiplexer - Niedriggeschwindigkeits-Multiplexer
LZP - Level Zero Interrupt Present - Unterbrechung mit Rang Null vorhanden
MME - Master Mode Entry - Entritt in Hauptbetriebsweise
MPC - Micro Program Peripheral Controllers - Mikroprogrammierte periphere Steuerung
NA - Next Address (Register ) - Nächstadressen (Register)
NIR - Next Instruction Read - Nächster Befehl gelesen
NOP - No Operating Instruction - Kein Operationsbefehl
ONC - Operation not Complete - Operation nicht vollständig
PCR - Process Control Register - Prozeß-Steuerregister
PI - Programmable Interface - Programmierbare Schnittstelle
PRA - Page Relative Address - Relative Seitenadresse
PSR - Process State Register - Prozeß-Zustandsregister
PTBR - Page Table Base Register - Seitentabellen-Basisregister
PTW - Page Table Word - Seitentabellenwort
PN · - Page Number - Seitennummer
PSI - Peripheral Subsystem Interface - Periphere Untersystem-Schnittstelle
609841/0893
RA - Return Address-(Register) - Rückkehradress-(Register)
RDEX - Read External - Externes Lesen
RDRR - Read Remote Register - Lese externes Register
REL - Release - Freigabe
RFU - Reserved for Future Use - Reserviert für zukünftigen Gebrauch
REMA - Remote Memory Adapter - Externer Speicher-Adapter
RMM - Return from Master Mode - Rückkehr aus Hauptbetriebsweise
SAP - Saving Aera Pointer - Sicherungsbereich-Hinweisadresse
SIU - System Interface Unit - System-Schnittstelleneinheit
SKP - Skip .- Sprung
SPA - Scratch Pad Address - Zwischenspeicher-Adresse
SPB - Scratch Pad Buffer - Zwischenspeicher-Puffer
SS - Standard Sequence - Standardfolge.
S2MG - Store 2 General Register Words in Memory-
Speichere 2 Allgemeinregisterworte im Speicher
WA .- Write Address - Schreibadresse
WRR - Working Register Output for supplying Operands Arbeitsregisterausgang für die Operandenlieferung
WRRR - Write Remote Register - Schreibe externes Register WREX - Write External - Schreibe extern
WRW - Working Register Write Input - Arbeitsregister-Schreibeingang
WL/CY - Word Lenght or Carry - Wortlänge oder, übertrag
WRP - Working Register Output for Paging - Arbeitsregistereingang für Seitenadressierung
XR - Index Register - Indexregister
XA - Execution Address (Register ) - Ausführungsadress-(Register)
ZAC - Zone Address and Command - Zonenadresse und Befehl
609841/0893

Claims (8)

Patentansprüche I.] Prozessor für ein Informationsaustausch- und Steuer funktionen in einem größeren DV-System ausführendes Ein/Ausgang-Datenverarbeitungssystem, gekennzeichnet durch a. Daten-Eingangsregister, b. Daten-Ausgangsregister, c. Befehlsregister zur Aufnahme und Speicherung mehrerer auszuführender Befehle, d. einen Steuerspeicher zur Speicherung adressierbarer Mikrobefehle, die Standardfolgen von spezifischen Befehlen zugeordneten Mikrobefehlen enthalten, e. Schalteinrichtungen zur Adressierung des SteuerSpeichers zum Aufrufen von Mikrobefehlen in Abhängigkeit eines in dem Befehlsregister stehenden Befehls, einer Rückkehr-Adressenanforderung, einer Nächst-Adressenanforderung, einer Ausnahme-/Unterbrechungsroutinen-Anforderung und einer Seitentabellenwort-Fehlanzeige, f. eine Addier/Verschiebeeinrichtung zur Ausführung der Adressbildung, arithmetischer Operationen und für die Befehlsausführung erforderlicher Datenmanipulationen, g. Arbeitsregister zum Speichern eines Befehls-Zählstandes, von zu verarbeitenden Daten und Speicheradressen und zum Erzeugen eines Adressenausgangssignales und eines Datenausgangssignales, h. einen Seitentabellenwort-Zwischenspeicher zur Aufnahme relativer Adressenausgangssignale vom Arbeitsregister und zur Entwicklung von absoluten Adressen in Zusammenarbeit mit der Addier/Verschiebeeinrichtung, i. einen vom Steuerspeicher abhängigen Allgemeinregister-Zwischenspeicher, der relative Adressenausgangssignale vom Arbeitsregister erhält und ein Prozeß-Zustandsregister, einen Befehlszähler, ein Seitentabellenwort-Register und mehrere hXlsemeinregister enthält, j-, einen ersten Operanden-Schalter zur Zuführung von Operanden zu der Addier/Verschiebeeinrichtung, der Daten des Arbeitsregisters und des Allgemeinregisterszwischenspeichers aufweist, k. einen zweiten Operanden-Schalter zur Zuführung von Operanden zu der Addier/Verschiebeeinrichtung, der Verschiebungen und Werte des Befehlsregisters, der Befehlszähler-Zählstandserhöhung und Konstanten des Steuerspeichers sowie Daten von dem Daten-Eingangsregister aufweist,
1. Prozeßzustands- und Prozeßsteuer-Register, die auf die Eingangssignale des Arbeitsregisters ansprechen und der überwachung und Steuerung der Operation des Prozessors dienen,
m. einen Ergebnis-Doppelkanal zur Erzeugung von Ausgarigssignalen für das Daten-Ausgangsregister, das Arbeitsregister und eine Bedienungs-Anzeigekonsole und
n. eine Schalteinrichtung zur Vorgabe von Eingangssignalen für den Ergebnis-Doppelkanal aus der Addier/Verschiebeeinrichtung, dem Allgemeinregister-Zwischenspeicher, dem Prozeßzustands- und Prozeßsteuerregister sowie zur Vorgabe von Adressen.
2. Prozessor nach Anspruch 1, gekennzeichnet durch ein Steuerspeicher-Ausgangsregister zur Speicherung eines während der Befehlsausführung von dem Steuerspeicher empfangenen Mikrobefehls.
3. Prozessor nach Anspruch 1, gekennzeichnet durch eine dem Steuerspeicher zugeordnete Einrichtung zur Adressierung desselben in Abhängigkeit von einer Standardfolgedarstellung und einer Befehlsfolge in einem auszuführenden Befehl.
609841/0893
4. Prozessor nach Anspruch 1, dadurch gekennzeichnet , daß der Schalteinrichtung zur Adressierung des Steuerspeichers ein Befehls-Adressregister für einmalige Mikrobefehlsfolgen/ ein Nächst-Adressregister und ein Rückkehr-Adressregister zugeordnet ist.
5. Prozessor nach Anspruch 4, gekennzeichnet durch einen Addierer zur Aufnahme der laufenden Steuerspeicheradresse und zur Erhöhung dieser Adresse zur Erzeugung der nächsten Adresse für das Nächst-Adressregister.
6. Prozessor nach Anspruch 5, gekennzeichnet durch einen Sprungzähler, der zusammen mit dem Addierer der Erhöhung der laufenden Adresse durch verschiedene Zählstände dient.
7. Prozessor nach Anspruch 1, gekennzeichnet durch ein mit dem Seitentabellenwort-Zwischenspeicher zusammenarbeitendes Kennschlüsselregister zur Bestimmung des einem Seitentabellenwort zugeordneten Prozesses.
8. Prozessor nach Anspruch 1, gekennzeichnet durch einen Adressenschalter, der von dem Mikrobefehl bei der Adressierung des Allgemeinregister-Zwischenspeichers gesteuert ist.
609841/0893
DE19762612037 1975-03-26 1976-03-22 Prozessor Withdrawn DE2612037A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/562,317 US3976977A (en) 1975-03-26 1975-03-26 Processor for input-output processing system

Publications (1)

Publication Number Publication Date
DE2612037A1 true DE2612037A1 (de) 1976-10-07

Family

ID=24245790

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19762612037 Withdrawn DE2612037A1 (de) 1975-03-26 1976-03-22 Prozessor

Country Status (12)

Country Link
US (1) US3976977A (de)
JP (1) JPS51120636A (de)
AU (1) AU499093B2 (de)
BE (1) BE840017A (de)
BR (1) BR7601647A (de)
CA (1) CA1059641A (de)
CH (1) CH582390A5 (de)
DE (1) DE2612037A1 (de)
FR (1) FR2305795A1 (de)
GB (1) GB1547381A (de)
HK (1) HK37480A (de)
NL (1) NL7603115A (de)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4010450A (en) * 1975-03-26 1977-03-01 Honeywell Information Systems, Inc. Fail soft memory
US4042914A (en) * 1976-05-17 1977-08-16 Honeywell Information Systems Inc. Microprogrammed control of foreign processor control functions
JPS52146300A (en) * 1976-05-29 1977-12-05 Nippon Koinko Kk Method of and apparatus for distinguishing correct paper money from false one
JPS533029A (en) * 1976-06-30 1978-01-12 Toshiba Corp Electronic computer
US4096568A (en) * 1976-09-24 1978-06-20 Sperry Rand Corporation Virtual address translator
US4074352A (en) * 1976-09-30 1978-02-14 Burroughs Corporation Modular block unit for input-output subsystem
GB1574469A (en) * 1976-09-30 1980-09-10 Borroughs Corp Interface system providing interfaces to central processing unit and modular processor-controllers for an input-out-put subsystem
US4080649A (en) * 1976-12-16 1978-03-21 Honeywell Information Systems Inc. Balancing the utilization of I/O system processors
US4261033A (en) * 1977-01-19 1981-04-07 Honeywell Information Systems Inc. Communications processor employing line-dedicated memory tables for supervising data transfers
US4325119A (en) * 1977-01-19 1982-04-13 Honeywell Information Systems Inc. Process and apparatus employing microprogrammed control commands for transferring information between a control processor and communications channels
DK157954C (da) * 1978-01-23 1990-08-13 Data General Corp Databehandlingsanlaeg med direkte lageradgang
US4231088A (en) * 1978-10-23 1980-10-28 International Business Machines Corporation Allocating and resolving next virtual pages for input/output
JPS5557951A (en) * 1978-10-24 1980-04-30 Toshiba Corp Read control system of control memory unit
NL8004884A (nl) * 1979-10-18 1981-04-22 Storage Technology Corp Virtueel stelsel en werkwijze voor het opslaan van gegevens.
USRE36989E (en) * 1979-10-18 2000-12-12 Storage Technology Corporation Virtual storage system and method
DE3276916D1 (en) * 1981-09-18 1987-09-10 Rovsing As Christian Multiprocessor computer system
US4503501A (en) * 1981-11-27 1985-03-05 Storage Technology Corporation Adaptive domain partitioning of cache memory space
JPS58146941A (ja) * 1982-02-26 1983-09-01 Hitachi Ltd マイクロプログラム制御デ−タ処理装置
JPH0644251B2 (ja) * 1986-08-28 1994-06-08 日本電気株式会社 デ−タ処理装置
US5347637A (en) * 1989-08-08 1994-09-13 Cray Research, Inc. Modular input/output system for supercomputers
US5247447A (en) * 1990-10-31 1993-09-21 The Boeing Company Exception processor system
US5960212A (en) * 1996-04-03 1999-09-28 Telefonaktiebolaget Lm Ericsson (Publ) Universal input/output controller having a unique coprocessor architecture
US6658526B2 (en) 1997-03-12 2003-12-02 Storage Technology Corporation Network attached virtual data storage subsystem
EP1008051A4 (de) 1997-03-12 2007-04-25 Storage Technology Corp Netzwerkangehängtes virtuelles banddaten-speicheruntersystem
US6094605A (en) * 1998-07-06 2000-07-25 Storage Technology Corporation Virtual automated cartridge system
US6330621B1 (en) 1999-01-15 2001-12-11 Storage Technology Corporation Intelligent data storage manager
US6834324B1 (en) 2000-04-10 2004-12-21 Storage Technology Corporation System and method for virtual tape volumes
US20030126132A1 (en) * 2001-12-27 2003-07-03 Kavuri Ravi K. Virtual volume management system and method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3810105A (en) * 1967-10-26 1974-05-07 Xerox Corp Computer input-output system
US3909799A (en) * 1973-12-18 1975-09-30 Honeywell Inf Systems Microprogrammable peripheral processing system

Also Published As

Publication number Publication date
AU499093B2 (en) 1979-04-05
CA1059641A (en) 1979-07-31
HK37480A (en) 1980-07-18
GB1547381A (en) 1979-06-20
FR2305795B1 (de) 1980-02-15
AU1145876A (en) 1977-09-01
CH582390A5 (de) 1976-11-30
BR7601647A (pt) 1976-09-28
NL7603115A (nl) 1976-09-28
JPS5718609B2 (de) 1982-04-17
FR2305795A1 (fr) 1976-10-22
JPS51120636A (en) 1976-10-22
BE840017A (fr) 1976-07-16
US3976977A (en) 1976-08-24

Similar Documents

Publication Publication Date Title
DE2612037A1 (de) Prozessor
DE2612054A1 (de) Verfahren zur adressentwicklung und prozessor zur durchfuehrung des verfahrens
DE2846495C2 (de) Zentraleinheit
DE69032635T2 (de) Verfahren und Vorrichtung zur Erkennung von Betriebsmittelkonflikten in einer Pipeline-Verarbeitungseinheit
DE69128565T2 (de) Mikrorechner ausgestattet mit einer DMA-Steuerung
DE3789345T2 (de) Erweiterte Gleitkommaoperationen zur Unterstützung der Emulation von Quellbefehlsausführungen.
DE2612034A1 (de) Ausfallsicherung in einem universalrechner
DE68926385T2 (de) Methode und Hardware-Ausführung von komplexen Datentransferbefehlen
DE69031433T2 (de) Speicherzugriffsausnahmebehandlung bei vorausgelesenen Befehlswörtern in dem Befehlsfliessband eines Rechners mit virtuellem Speicher
DE68928519T2 (de) Verfahren und Vorrichtung zur Vorhersage der richtigen Durchführung der Übersetzungen von virtuellen in physikalische Adressen
DE2251876C3 (de) Elektronische Datenverarbeitungsanlage
DE69627807T2 (de) Datenprozessor zum gleichzeitigen Dataladen und Durchführung einer multiplizier-addier Operation
DE69033398T2 (de) Rechnerarchitektur mit Mehrfachbefehlsausgabe
DE69033443T2 (de) Mechanismus zur Verzweigungsrücksetzung in einem Prozessor mit gepaarten Befehlen
US4374409A (en) Method of and system using P and V instructions on semaphores for transferring data among processes in a multiprocessing system
DE69031183T2 (de) Verfahren und Anordnung zur Kontrolle der Umwandlung virtueller Adressen in physikalische Adressen in einem Computersystem
DE3851746T2 (de) Sprungvorhersage.
DE69233412T2 (de) Vorrichtung und Rechnerprogrammprodukt zur Ausführung von Verzweigungsbefehlen
DE69233313T2 (de) Hochleistungsarchitektur für RISC-Mikroprozessor
DE60217157T2 (de) Verfahren und vorrichtung zum binden von shadow-registern an vektorisierte interrupts
DE69232045T2 (de) Vorrichtung und verfahren zur ausführung von instruktionen in nicht sequentieller reihenfolge
DE69033131T2 (de) Logikvorrichtung und Verfahren zur Verwaltung einer Befehlseinheit in einer Pipeline-Verarbeitungseinheit
DE2517276A1 (de) Datenverarbeitungssystem
DE69030931T2 (de) Mehrfachsequenzprozessorsystem
DE2611907A1 (de) Dv-system mit einer prioritaets- unterbrechungs-anordnung

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8130 Withdrawal