DE2452214A1 - Mikroprozessor mit unmittelbarer und indirekter adressierung - Google Patents
Mikroprozessor mit unmittelbarer und indirekter adressierungInfo
- Publication number
- DE2452214A1 DE2452214A1 DE19742452214 DE2452214A DE2452214A1 DE 2452214 A1 DE2452214 A1 DE 2452214A1 DE 19742452214 DE19742452214 DE 19742452214 DE 2452214 A DE2452214 A DE 2452214A DE 2452214 A1 DE2452214 A1 DE 2452214A1
- Authority
- DE
- Germany
- Prior art keywords
- rail
- address
- control
- register
- busbar
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/261—Microinstruction address formation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Description
Xerox Square, Rochester, N.Y. 14644, 4# Wov*
Mikroprozessor mit unmittelbarer und indirekter Adressierung
Die Erfindung betrifft Mikroprozessoreinrichtungen und bezieht
sich insbesondere auf die Adressierungstechnik zur Adressierung eines Hauptspeichers oder eines Mikrosteuerspeichers
bei einem Prozessor.
In einer digitalen Datenverarbextungseinrichtung, welche
eine Gruppe von Befehlen'sequentiell ausführt, die in der
Form eines Programmes niedergelegt sind, ist es häufig erforderlich,
und zwar wegen einer externen Unterbrechung oder der Notwendigkeit einer wiederholten Ausführung einer
Untergruppe von Befehlen oder einer Unterxxmtine, die sequentielle
Ausführung des Hauptprogramiaes in eine solche Unterroutine zu verzweigen. Wenn eine solche Verzweigung
auftritt, ist es häufig notwendig, daß ein vollständiger
609828/0447
24522U
Maschinenzyklus verlorengeht, da eine neue Adresse der Programmspeichereinrichtung
zugeführt werden muß und zur gleichen Zeit um Eins erhöht werden-muß, um den nachfolgenden
Befehl aus der Unterroutine aufzurufen.
Weiterhin ist es bei der Ausführung eines Programms ■. wegen
der Adressfeldbegrenzungen eines Prozessors häufig erforderlich, eine indirekte Adressierung vorzusehen, wobei eine
Erhöhungszahl zu der Befehlsadresse oder zu einer Operandenadresse
addiert wird, um den erforderlichen Befehl oder Operanden aus einem Teil der Befehls- oder Datenspeichereinrichtung
zu holen. Diese Erhöhungszahl des Indexwertes
wird meistens in einem Indexregister abgespeichert, welches jedesmal auf den neuesten Stand gebracht werden muß, wenn der
Index zur Ausführung eines anderen Teils des Programms verändert wird.
Gemäß einer bevorzugten Ausführungsform der Erfindung ist
ein Mikroprozessor vorgesehen, der eine erste, eine zweite
und eine dritte Sammelschiene aufweist, der weiterhin einen Steuerspeicher mit einer Vielzahl von darin abgespeicherten
Steuerworten hat, wobei wenigstens eine der Steuerworte ein Feld aufweisen, welches einen Indexwert enthält, durch
welchen eine Befehlsadresse zu erhöhen ist, der weiterhin
eine Einrichtung aufweist, um eine Adresse eines Steüerwortes auf die erste Sammelschiene zu bringen, der weiterhin
eine Einrichtung hat, um den Indexwert auf die zweite Sammelschiene
zu bringen, der weiterhin eine Einrichtung aufweist, um die erste. Adresse und den Indexwert miteinander zu kombinieren,
um eine relative Adresse zu bilden, und der eine Einrichtung aufweist, um den Steuerspeicher an einer Stelle zu
adressieren, welche durch die relative Adresse angegeben ist.
Gemäß einer weiteren bevorzugten Ausführungsform der Erfindung
ist eine elektronische digitale Einrichtung vorgesehen, welche eine erste, eine zweite und eine dritte Sammelschiene
aufweist, die weiterhin ein adressierbares Element hat, die weiterhin eine Einrichtung aufweist, um eine digitale Infor-
50982870447
-3- 2A522U
mation auf die erste und die zweite Sammeischiene zu bringen,
und die eine Einrichtung aufweist, um die kombinierte !iformation
auf der dritten Sammelschiene als Adresse den adressierbaren Elementen zuzuführen.
Gemäß einer weiteren bevorzugten Ausführungsform der Erfindung
ist ein Mikroprozessor vorgesehen, der eine erste', eine zweite und eine dritte Sammelschiene aufweist, der weiterhin eine Erhöhungseinrichtung
hat, welche zwischen der ersten und der dritten Sammelschiene angeordnet ist, der weiterhin eine Speichereinrichtung
zur Abspeicherung von Mikrobefehlen aufweist, die zur Steuerung der Operation des Mikroprozessors während aufeinanderfolgender
Taktgeberperioden auszuführen sind, der weiterhin eine Adressierungseinrichtung hat, welche eine zweite
Erhöhungseinrichtung aufweist, welche zur Bildung von Adressen
ausgewählter Mikrobefehle dient, die in Verbindung mit der dritten. Sammelschiene auszuführen sind, und der weiterhin eine
Einrichtung hat, welche dazu dient, Adressen der Adresseneinrichtung und andere Adressen der Speichereinrichtung zuzuführen,
wobei der Mikroprozessor dazu in der lage ist, die folgende Operation auszuführen:
a) Ausführen eines Mikrobefehls als Adresse X in einer Taktgeberperiode
η und gleichzeitiges Erhöhen der Adresse, welche von der Adressierungseinrichtung geliefert wirdT
um Eins und Holen der erhöhten Adresse X+1 zur Ausführung,
ihres Mikrobefehls während der Taktgeberperiode n+1,
b) Ausführen des Mikrobefehls der erhöhten Adresse in der
Taktgeberperiode n+1, wobei der Mikrobefehl eine■Verzweigungsadresse
Y enthält,
c) Adressieren des Speichers bei der Adresse T über die
Einrichtung zur Zuführung von Adressen während der Taktgeberperiode
n+1 zur Ausführung des Mikrobefehls in der Adresse Y während der Taktgeberperiode n+2,
509828/044 7
d) Übertragen der Adresse Y auf die erste Sammelschiene
für ihre Anwendung in der Erhöhungseinrichtung während
der Taktgeberperiode n+1,
e) Erhöhen der Adresse I auf Y+1 während der Taktgeber-'
periode n+1 und Übertragen der Adresse Y+1 über die dritte Sammelschiene zu der Einrichtung, welche zur
Bereitstellung von Adressen zur Adressierung des Speichers während der Taktgeberperiode n+2 dient.
Gemäß einer weiteren bevorzugten Ausführungsform der Erfindung
ist ein Mikroprozessor vorgesehen, der eine erste, eine zweite und eine dritte Sammelschiene aufweist, der
weiterhin eine arithmetische Einheit hat, welche zwischen der ersten und der dritten Sammelschiene angeordnet ist,
der weiterhin eine Speichereinrichtung zur Abspeicherung von Steuersignalen aufweist, die in ein MikroSteuerregister ·
zur Steuerung der„Operation des Mikroprozessors zu bringen
sind, um die Steuersignale in aufeinanderfolgenden Taktgeberintervallen
abzuarbeiten, der weiterhin eine Adressierungseinrichtung
für die Speichereinrichtung aufweist, welche mit
der dritten Sammelschiene verbunden ist, und der eine Einrichtung
hat, welche die Übertragung von Steuersignalen von dem MikroSteuerregister zu der Speichereinrichtung ermöglicht,
wobei der Mikroprozessor dazu in der Lage ist, die folgende Operation auszuführen:
a) Dekodieren von Steuersignalen in einem'Taktgeberintervall n,
wobei diese Steuersignale eine Speicheradresse X aufweisen,
b) Adressieren des Speichers an der Adresse X im Taktgeberintervall n, um die Abarbeitung der Steuersignale in der
Adresse X während des Taktgeberintervalls n+1 zu ermöglichen,
c) Übertragen der Adresse X auf die erste Sammelschiene zur Verwendung derselben in der arithmetischen Einheit während
des Taktgeberintervalls n, .
'509828 7 0-4 47
~7~ 24522H
d) Addieren von "1" zu der Adresse X während des Taktgeberintervalls
n+1 und Übertragen des Ergebnisses auf die dritte Sammelschiene, wodurch die Adresse X+1 der Speicheradresseinrichtung
während desselben Taktgeberintervalls zugeführt wird, und
e) Übertragen der Adresse X-M zu der Speichereinrichtung,
um die Abarbeitung der Steuersignale in der Speicheradresse X+1 im Taktgeberintervall n+2 zu ermöglichen.
Somit weist der erfindungsgemäße Mikroprozessor eine Sammelschienenanordnung
auf, welche dazu geeignet ist, sowohl Adressen als auchlaten aufzunehmen, wobei eine solche Mikrosteuerwortanordnung
gewählt ist, daß ein Indexwert als ein Feld eines Steuerwortes aufgefaßt werden kann, der zu einer entnommenen
Adresse addiert oder von derselben subtrahiert werden soll,
was von der Art des Steuerwortes abhängt. Weiterhin wird gemäß der Erfindung eine unmittelbare Adressierung auf Verzweigungsbefehle
oder Unterbrechungsbefehle ermöglicht, indem zwei getrennte Wege zur Erhöhung vorgesehen sind, wobei die-'
jenige Adresse, auf die verzweigt werden soll, unmittelbar in das Befehlsadressenregister geladen werden kann und ihre
erhöhte Adresse während desselben Zyklus gebildet werden kann, und wobei noch während desselben Zyklus die Übertragung in. das
Befehlsadressenregister vorgenommen werden kann, um die erhöhte Adresse für den nächsten Maschinenzyklus bereitzustellen.
509 828/0447
2A522U
Die Erfindung wird nachfolgend beispielsweise anhand der Zeichnung beschrieben; in dieser zeigen:
Fig. 1 ein Gesamtblockdiagramm eines erfindungsgemäßen
Prozessors,
Fig. 2 ein Blockdiagramm des Mikroadressgeneratorteils
des Prozessors,
Fig. 3 ein Blockdiagramm des Mikrobefehls-Verarbeitungsteils.
des Prozessors gemäß der Erfindung,
Fig. 4 ein Blockdiagramra der arithmetischen und logischen
Einheit und des allgemeinen Registerteils des Prozessors ,
Fig. 5 ein Diagramm, welches den Informationsfluß des Prozessors
von einem al^meinen Register über einen Funktionsblock und zurück zu einem allgemeinen Register
. zeigt,
Fig. 6 ein Diagramm eines alternativen Informationsflußweges,
Fig. 7 ein Diagramm eines dritten Informationsflußv/eges, bei
welchem ein ΙΟ-Register eine Quelle und entweder ein IO-oder ein allgemeines Register die Bestimmung darstellt,
Fig. 8 ein Blockdiagraram des Unterbrechungsflusses des Prozessors,
Fig. 9 ein Diagramm, welches die Plätze der Mikrofeider in
einem Mikrobefehl darstellt, welche durch die erfindungsgemäße Einrichtung verwendet werden,
Fig.10 ein Zeitsteuerdiagramm, welches die Unterbrechungs-Zeittaktsteuerung
des Prozessors zeigt,
Fig.11 eine Tabelle, welche die Funktionen des ALU-Auswahlfeldes
eines Mikrobefehls angibt,
Fig.12 eine Tabelle, welche die Bit-PositionsZuordnungen
der B-Schiene zeigt, . .
Fig.13 eine Tabelle, welche die Mikroprogrammierung der Schienen-Quellen
erläutert,
Fig.14 eine Tabelle, welche die Wort/Byte-Operation der Einrichtung
darstellt, - .
Fig.-15 eine Tabelle, welche die relative Adressierung der
Einrichtung darstellt, wie sie in einem Mikrobefehl vorhanden ist, 5 ο 9 g 2-3 / 0 4 A 7
_· 24522 U
Fig. 16 ein Ze its teuer diagramm des einphasigen Basis-Taktgebers
und System-Taktgebers,
Fig. 17 ein logisches Blockdiagramm der Adressen-Dekodierlogik.
Fig. 17 ein logisches Blockdiagramm der Adressen-Dekodierlogik.
für das 10- und das Unterbrechungssysteni des Prozessors,
Fig. 18 ein Zeitsteuerdiagramm für die Zeitsteuerung der A-
Schiene und der B-Schiene,
Fig. 19 ein Zeitsteuerdiagramm für die Zeitsteuerung der C-
Fig. 19 ein Zeitsteuerdiagramm für die Zeitsteuerung der C-
Schiene,
Fig. 20 ein Zeitsteuerdiagramm einer typischen gemultiplexten
Fig. 20 ein Zeitsteuerdiagramm einer typischen gemultiplexten
IO-Unterbrechung,
Fig. 21 ein Blockdiagramm von IO-Moduleinheiten in einer ge-
Fig. 21 ein Blockdiagramm von IO-Moduleinheiten in einer ge-
multiplexten 10- Unterbrechungs-Prioritätsreihe,
Fig. 22 ein logisches Blockdiagramm der IO-Unterbrechungs-
Anforderungslogik der erfindungsgemäßen Einrichtung,
Fig. 23 ein logisches Blockdiagramm der IO-Einrichtungs-
adresse zu einer A-Schienen-Logik, Fig. 24 ein Blockdiagramm einer externen Zustandslogikschaltung,
Fig. 25 ein Zeitsteuerdiagramm einer externen Zustands-Zeitsteuerung,
Fig. 26 ein Blockdiagramm einer Anforderung für eine schnelle
Fig. 26 ein Blockdiagramm einer Anforderung für eine schnelle
Unterbrechung und die Antwort zu dem/von dem Prozessor, Fig. 27 ein Zeitsteuerdiagramm einer schnellen Unterbrechung
. für eine einzelne Datenübertragung, Fig. 28 ein Zeitsteuerdiagramm einer schnellen Unterbrechung
für eine Vielfach-Datenübertragung, Fig. 29 ein Blockdiagramm, welches wesentliche Elemente von DMA
darstellt,
Fig. 30 ein Blockdiagramm einer Anordnung eines Mehrfach-Ein-
Fig. 30 ein Blockdiagramm einer Anordnung eines Mehrfach-Ein-
richtungsmodus des erfindungsgemäßen Prozessors,
Fig. 31 ein Blockdiagramm der Prioritätssteuerlogik der Einrichtung,
Fig. 32 ein Blockdiagramm der Anforderungssteuerlogik,
Fig. 33 ein logisches Blockdiagramm der B-Schienen-Steuerlogik,
Fig. 34· ein Zeitsteuerdiagramm einer Prioritätssteuerung der
Einrichtung für eine schnelle Unterbrechung, 509828/0 447
Fig. 35 ein Blockdiagramm der ΙΟ-Schiene des erfindungsgemäßen
Prozessors,
Fig. 36 ein Blockdiagramm, welches die IO-Aktivierungs-Steuerlogik
darstellt,
Fig. 37 ein Zeitsteuerdiagramm des IO-Aktivsignals,
3Tig. 38 ein Blockdiagramm der Multiplexer-IO-Unterbrechung
und
Fig. 39 ein Zeitsteuerdiagramm einer gemultiplexten IO-Unterbrechung.
509828/0447
In einer bevorzugten Ausführungsform kann eine mikroprogrammierte
Datenverarbeitungseinrichtung bzw. ein mikroprogrammierter
Datenprozessor aus einer Einrichtung bestehen, welche allgemein derart organisiert ist, daß sie
einen Aufbau mit drei Sammelschienen aufweist, wobei die betrieblichen Verarbeitungseinheiten mittels einer Drei-Status-Logik
zwischen den Sammelschienen angeordnet sind.
Die Drei-Status-Logik ermöglicht es jeder Einheit, eine
hohe Impedanz entweder zu treiben, von den Sammelschienen zu empfangen oder den Sammelschienen zu bieten, und
zwar unter der Steuerung eines MikroSteuerregisters.
Die Fig. 1 stellt eine solche Anordnung dar, in welcher die Sammelschiene A, die Sammelschiene B und die Sammelschiene
C jeweils bei 1,2 und 3 dargestellt sind. Die bei 1 dargestellte Sammelschiene A und die bei 3 dargestellte
Sammelschiene C sind durch einen Satz von Eingangs/Ausgangs-Registern
4 miteinander verbunden, die weiterhin mit einer Eingangs/Ausgangs-Sammelschiene 6 verbunden sind, und zwar
über einen Register-Sammelschienen-Auswahlmultiplexer 8.
Ein Satz von allgemeinen Registern 10 ist mit ihrem Eingang mit der Sammelschiene C und mit ihrem Ausgang mit den Sammelschienen
A und B verbunden· Gemäß Fig. 1 können die allgemeinen Register 16 Bit breit sein, wobei die 8 Bit mit dem
höchsten Stellenwert auf der linken Seite des Diagramms erscheinen und die 8 Bit mit dem geringsten Stellenwert
auf der rechten Seite dargestellt sind. Es ist möglich, einen Block von 8-Bit-Registern zu verwenden (indem nur
die 8 Bit mit dem geringsten Stellenwert verwendet werden), indem ein Zwei-zu-Eins-Multiplexer 12 verwendet wird, welcher
die 16 Bit der Sammelschiene G in zwei Gruppen zu je
8 Bit unterteilen würde. Obwohl aus der Darstellung nur hervorgeht,
daß die 8 Bit mit dem geringsten Stellenwert mit der Sammelschiene A und mit der Sammelschiene B verbunden sind,
509828/0447
24522U
können in gleicher Weise mit dem vorzugsweise vorgesehenen 8-Bit-Registerblock für die Bits mit höchstem Stellenwert
die resultierenden 16-Bit-Worte direkt auf die Sammelschiene
A oder die Samme3.schiene B gegeben werden. Weiterhin ist
gemäß der Darstellung dem allgemeinen Registerblock eine
Addiereinrichtung 14 zugeordnet, welche zwischen der Sammelschiene
B und dem Zwei~zu-Eins-Multiplexer 12 angeordnet ist.
Die Addiereinrichtung 14 ermöglicht, es, daß mit Daten eine
arithmetische Operation ausgeführt wird» während sie durch
den allgemeinen Registerblock hindurchgeführt werden, und zwar beispielsweise von der Sammelschiene B zu,der Sammelschiene
A. Eine Übersetzungseinrichtung 15 ermöglicht die
Speicherung der Sätze von Mikrobefehlen, welche dem Makrobefehlssatz eines Computers entsprechen, der emuliert werden soll.
Ein Hauptspeicher 16 und ein Hilfsspeicher, bzw. Arbeitsspeicher
18 sind jeweils in der Weise dargestellt, daß sie
Daten von der Sammelschiene A und eine Adresse von der Sammelschiene
B empfangen. Das Speicherausgangssignal wird der
bei 3 dargestellten Sammelschiene C zugeführt. Der Arbeitsspeicher
18 kann dazu verwendet werden, als Zwischenspeicher jenseits der Grenzen der 8 allgemeinen Register zu dienen
oder für andere Zwecke, die nachfolgend erläutert werden. Der Hauptspeicher kann dazu verwendet werden» Daten zu
speichern, Ergebnisse zu speichern, ,Mikrobefehle zu speichern,
welche auf die übertragung zu einem variablen Steuerspeicher warten, oder auch zur Speicherung von Mikrobefehlen,-.-wenn die
Einrichtung in einem Emulationsmodus verwendet wird, um den
Makrobefehlssatz einer anderen Datenverarbeitungseinrichtung
zu emulieren.
Zu den MikroSteuerelementen der Einrichtung gehört das Mikroadressenregister
20, der Steuerspeicher 22, der entweder als
Speicher ausgebildet sein kann, aus welche.m nur ausgelesen
509828/QU7
werden kann, und/oder als Speicher mit Direktzugriff, und
es gehört weiterhin dazu das MikroSteuerregister 24, welches den laufenden Mikrobefehl enthält, während er gerade
ausgeführt wird· Weiterhin gehören zu den Mikrosteuerelementen eine Reihe von Multiplexern 26, 28, 30, 32, 34 und
36. Die Multiplexer werden in erster Linie dazu verwendet, zwischen verschiedenen Adressen/Daten-Informationsbitbreiten
zu übersetzen. Ein Rückstellstapel 38 und ein" Stapelzeigerzähler
40 gehören ebenfalls zu den Mikrosteuerelementen, und deren Punktionen werden unten beschrieben. V/eiterhin
wird die Dekodiereinrichtung 4-2 in Verbindung mit der
Beschreibung der Mikrosteuerregisterinhalte erläutert.
Eine arithmetische und logische Einheit 44 mit ihren jeweiligen zugehörigen Eingangs- und Ausgangsmultiplexern 46 und
48 ist dazu in der Lage, in einer bevorzugten Ausführungsform 32 arithmetische oder 16 logische Operationen auszuführen,
wobei sie ihre zwei Operanden von der Sammelschiene A und der Sammelschiene B nimmt und das Ergebnis auf die Sammelschiene
G bringt.
Allgemein gesagt, die Arbeitsweise der Maschine ist derart, daß ein 32-Bit-Mikrobefehl' in eine Anzahl von Feldern aufgeteilt
wird, welche alle Operationen der Maschine steuern. Beispielsweise bestimmt der Mikrobefehl die Datenquelle für
die Sammelschiene A und die Sammelschiene B, und zwar in Abhängigkeit
davon, ob eine Eingangs/Ausgangs-Anpasseinheit oder
ein allgemeines Register vorhanden ist. Sie bestimmt weiterhin die Funktion, welche in der arithmetischen und in der
logischen Einheit mit den Daten von der Sammelschiene A und der Sammelschiene B ausgeführt wird, und sie bestimmt weiterhin,
daß Daten von der Sammelschiene A im Zwischenspeicher/ Hauptspeicher bei einer Adresse abgespeichert werden, die auf
der Sammelschiene B vorhanden ist. Eine vollständige Definition der Mikrobefehlsfelder wird unten gegeben.
80 9 82 8/Q44-7
. . 2A522H
Aus der Fig. 1 ist ersichtlich, daß die MikrobefehleF-den
Datenfluß durch eine Vielzahl von Wegen steuern können.
Beispielsweise können von der Eingangs/Ausgangsschiene
kommende Daten direkt dem Zwischenspeicher/Hauptspeicher zugeführt v/erden oder sie können zuerst in der arithmetischen
und logischen Einheit 44 verarbeitet werden. Ergebnisse aus der arithmetischen und logischen Einheit 44,
die in der Zeichnung kurz mit ALU 44 gekennzeichnet ist, können unverzüglich durch ein Eingangs/Ausgangsregister
der Eingangs/Ausgangsschiene 6 zugeführt werden oder können stattdessen in einem allgemeinen Register 10 abgespeichert
werden, um für eine zukünftige Verarbeitung in der Maschine bereitzustehen. In ähnlicher Weise kann eine Information
von dem Zwischenspeicher/Hauptspeicher (18,16) der Eingangs/Ausgangsschiene 6 oder einem allgemeinen
Register 10 zugeführt werden.
Das allgemeine Register 10 kann dazu verwendet werden, Daten zwischen der bei 3 dargestellten Schiene C und der
bei 1 dargestellten Schiene A oder der bei 2 dargestellten Schiene B zu puffern, und zwar zu einer weiteren Verarbeitung
der Speicherung in der Maschine. In ähnlicher Weise kann die Einheit 44 (ALU) dazu verwendet werden,
als Weg für Daten zu dienen, die unverändert von der bei 1 dargestellten Sammelschiene A oder der bei 2 dargestellten
Sammelschiene B der bei 3 dargestellten Sammelschiene O zugeführt werden sollen.
Somit setzen Vielfachfelder den Mikrobefehl in die Lage, eine Anzahl von Operationen zu steuern und verschiedene
Stellen gleichzeitig zu adressieren. Ein dicht gepackter Mikrobefehl liefert eine parallele Verarbeitung und führt
zu einer Maschinenausnutzung mit hohem Wirkungsgrad· Obwohl es in der Pig. 1 nicht speziell dargestellt ist, und
zwar im Hinblick auf die Klarheit der Beschreibung, ist
offensichtlich, daß eine Vielzahl von Steuerwegen zwischen
509828/0447
dem MikroSteuerregister 24 zu jeder der Einrichtungen vorhanden
sind, v/elche Zugriff zu einer oder zu mehreren der Sammelschienen haben.
Weiterhin ist ersichtlich, daß der verallgemeinerte Aufbau mit drei Sammelschienen die Möglichkeit schafft, zusätzliche
Funktionen einzuführen, wenn dazu eine Notwendigkeit besteht>
beispielsweise eine Hochgeschwindigkeits-Multiplizier/Dividierroutine,
eine Quadratwurzelroutine, eine Routine für trigonometrische Funktionen und Kodeumwandlungen. Das Hinzufügen eines
Übersetzers 15 gemeinsam mit einem Emulationsprogramm im Steuerspeicher ermöglicht es, daß die Einrichtung einen Computerbefehlssatz
emulieren kann. . ■
Drei Typen von Information sind in dem System vorhanden. Das Grundelement der Information ist ein 16-Bit-Wort, in
welchem die Bit-Positionen von 0 bis 15 folgendermaßen numeriert sind:
Byte 0
Byte 1
3 12 3 14 5 6 7 0 12 3 14 5 6 7
In dem System ist die Binärinformation allgemein hexadezimal
dargestellt, weil vier Binärziffern der Information als eine einzige Hexadezimalziffer dargestellt werden können. Somit
•läßt sich ein Byte mit einer Reihe von zwei hexadezimalen Ziffern darstellen, ein Wort mit einer Reihe von vier hexadezimalen
Ziffern und ein Doppelwort mit einer Reihe von acht Hexadezimalziffern.
In der vorliegenden Beschreibung wird eine Hexadezimalzahl als Reihe von Hexadezimalziffern dargestellt,
welche von einzelnen Apostrophen eingerahmt sind und welchen der Buchstabe 1X1 vorangestellt ist. Beispielsweise wird die
Binärsahl OIOIIO1O hexadezimal dargestellt als X'5A'. Hexadezimalzahlen
werden im allgemeinen dazu verwendet, Adressen und Datenwerte darzustellen. Es gibt jedoch auch Fälle, in
SQ9828/QU7
~ ί4522U
.auficcer sind.
welchen Dezimalzahlen aussagekräftiger oder geläufiger In der vorliegenden Beschreibung werden auch Festkommadaten
als Zweierkomplement dargestellt, und zwar als ganze Zahl mit 15 Bit und einem Vorzeichenbit in der Nullposition.
Bei logischen Operationen ist angenommen, daß ein logisches Datenwoxtformat aus 16 Bit ohne Vorzeichen besteht.
Eine zweite Klasse von Information innerhalb' de's Systems ist
die Mikroadresse. Die Mikroadresse v/eist 12 Bit auf, und sie
ist dazu in der Lage, bis zu, 4-096 Steuerspeicherplätze zu
adressieren. Das Mikroadressenregister (MAß) 20, der Rückstellstapel 38 und zugehörige logische Verknüpfungsoperationen
sind auf einer 12~Bit-Basis aufgebaut, wenn eine Mikroadresse
über eine der drei Sammelschienen 1, 2 oder 3 geführt wird, so nimmt sie die 12 Plätze mit dem geringsten Stellenwert
der 16-Bit-Plätze jeder Schiene ein.
Die dritte Klasse von Information im System ist der Mikrobefehl, der 32 Bit lang ist. Der Steuerspeicher 22 und das
MikroSteuerregister (MCR) 24 arbeiten beide auf einer 32-Bit-Basis.
Wenn ein Mikrobefehl über eine der Sammelschienen geführt wird, wird er in 16-Bit-Abschnitten verarbeitet. Der
Informationsfluß innerhalb der Einrichtung kann in vier
Kategorien beschrieben werden, die als Mikroadresse, Mikrobefehle, Daten und Unterbrechung bezeichnet werden.
Das Grundformat des Mikrobefehls ist ein 32~Bit-Format,
welches in 11 Mikrooperationsfelder unterteilt ist, wie es unten gezeigt wird. Dieses Format wird in einem späteren
Absatz dieser Beschreibung ausführlich beschrieben..
E/AModus
RA Auswahl
A L U
Modus
RB Auswahl
A-
Schiene
Steuerg«
Steuerg«
B-
Schiene Steuerg«
G—
Schiene/ Register Steuerg·
Verzweig. Steuerg.
MuIt uOP Feld 1
Mult
uOP
^ Feld 1
uOP
^ Feld 1
/ υ 4 4 7
MuIt
uOP
Feld 3
uOP
Feld 3
_15- 24522U
Der Mikroadresseninformationsfluß ist allgemein in der Fig.2
dargestellt. Es ist jedoch zu "bemerken, daß zusätzlich eine
Taktgebereinrichtung 50 vorhanden ist, welche gemäß der Darstellung
die Einheit MAR 20 treibt. Obwohl die Taktgebersteuerung nur für das eine Element 20 dargestellt ist, sei
angenommen, daß die entsprechende Taktgeberfunktion in funk-tionaler
Beziehung allen Blöcken zugeführt wird, in welchen das Symbol 0 erscheint·
Die Mikroadressen werden normalerweise in der Einheit MAR 20
gehalten. Von hier werden sie bei 0 dem 4:1-Speicheradressen-Multiplexer
28 zugeführt, um den Steuerspeicherplatz auszuwählen, in welchem ein Mikrobefehl gespeichert wird. Die Mikroadresse
in der Einheit MAR 20 kann auf zwei Arten modifiziert werden:
1. Sie kann auf die nächste Mikroadresse durch den Taktgeber
erhöht werden.
2. Es kann auf eine andere Mikroadresse gesprungen werden, die von der Sammelschiene 0 geliefert wird.
Für die nachfolgende Beschreibung sei darauf hingewiesen, daß dort, wo eine schräge Linie mit einer unmittelbar darunter
stehenden Zahl einer Leitung in einer der Figuren zugeordnet ist, die Zahl die Anzahl der Drahte angibt, welche die zugehörigen
Elemente anschließen. Beispielsweise ist zwischen der Sammelschiene 0 und dem Mikroadressenregister 20 ein 12-adriges
Kabel als Verbindungselement vorgesehen.
Die Mikroadresse, welche dem Steuerspeicher 22 zugeführt wird, kann zusätzlich zu dem Mikroadressenregister von 3 Quellen gemultiplext
werden, nämlich von der Sammelschiene A, von der
509828/0447
2A522U
Sammelschiene B und von der Unterbrechungslogik. Die Unterbrechungslogik
52 erzeugt eine Mikroadresse, welche jeder
Unterbrechung entspricht·
Wenn eine unmittelbare Adresse verwendet wird und'erwünscht
ist, nur das Mikroadressenregister 20 zu erhöhen, werden die Bits 20 bis 31 von dem MikroSteuerregister 24- direkt als die
nächste Mikroadresse verwendet. Gleichzeitig wird diese unmittelbare Adresse über die Sammelschiene A über die arithmetische
und logische Einheit (ALU) 44 geführt, und zwar, nachdem
eine Eins addiert wurde. Das Ergebnis wird über die Sammelschiene 0 dem Eingang der Einheit MAR 20 zugeführt. Der nächste
Systemzyklus führt dazu, daß dieser Wert in die Einheit MAR 20 eingegeben wird, wodurch kontinuierliche gleichzeitige Zyklen
von Holen und Ausführen durch das System ermöglicht werden. Eine relative Mikroadressierung wird unten im einzelnen erläutert.
Die laufende Mikroadresse in der Einheit MAR 20 kann in dem
Rückstellstapel 38 gespeichert werden und durch eine Mikroadres'se
von der bei 3 dargestellten Sammelschiene G ersetzt werden. Weiterhin kann die Mikroadresse vom Rückstellstapel
38 durch die bei 3 dargestellte Sammelschiene 0 dem Mikroadressenregister 20 zugeführt werden. Zur gleichen Zeit wird die Mikroadresse
in dem Rückstellstapel gespeichert, wobei 6 Status-Bits in den Rückstellstapel eingegeben werden.
Nachfolgend wird der Befehlsfluß erläutert. Die Mikrobefehle
werden im Steuerspeicher gespeichert. Bei der betrachteten Ausführungsform
werden zwei Typen von Steuerspeichern dargestellt, und zwar ein Speicher 22, aus welchem nur gelesen werden kann,
und ein Direktzugriffsspeicher 23· Es liegt auch im Rahmen der Erfindung, zusätzliche Typen von Steuerspeichern zu verwenden,
beispielsweise einen elektrisch veränderbaren Speicher. Zusätzlich kann ein getrennter Speicher dazu verwendet werden, solche
Funktionen wie eine Diagnose und eine Feldvarifikation durchzu-
führen· 50 9 82 87 0447
Die Mikrobefehlbehandlung ist in der Fig. 3 dargestellt";' Worm,
eine Adressierung durch eine Mikroadresse erfolgt, wird der Mikrobefehl vom Steuerspeicher 22 oder 23 über einen 2-zu-1~'
Multiplexer 32 dem MikroSteuerregister MCR 24 zugeführt» Sin
Mikrobefehl kann auch die Einheit MCR 24 von einer -Wartung"
steuertafel über die Sammelschiene C bei 3 und den zugehörigen
2-zu-1-Multiplexer 30 in 2 16-Bit-Inkrementen erreichen.
Im Falle des Steuerspeichers 23 mit Direktzugriff kann ein
neuer Mikrobefehl an den Speicherplatz geschrieben werden, welcher von der Mikroadresse angesprochen wurde· Der neue
Mikrobefehl wird gemäß Fig. 3 in zwei 16-Bit-Inkrementen von der bei 1 dargestellten Sammelschiene A über die 16-Bit-Leitung
erhalten. Ein Mikrobefehl kann von einem beliebigen Steuerspeicher über einen 2-zu~1-Multiplexer 30 in zwei 16-Bit-Inkrementen
der bei 3 dargestellten Sammelschiene C nach dem Auslesen zugeführt werden.
Von der Einheit MCR 24· wird der Mikrobefehl dekodiert, um
Steuersignale zu liefern, welche den Datenfluß durch das System steuern, wie es unten beschrieben wird· Wenn die
letzten 12 Bit des Mikrobefehls als unmittelbare Mikroadresse verwendet werden, so v/erden sie mittels der in der
Fig* J dargestellten 12-Bit-Iieitung auf die bei 1 dargestellte Sammelschiene A gegeben. In ähnlicher Weise wer*-
den dann» wenn die letzten 8 Bit des Mikrobefehls als ein
Sendefeld verwendet werden (welches unten erläutert wird) diese Bits auf die bei 2 dargestellte Sammelschiene B gegeben. Die drei Bits, welche die Bit-Umschaltung/Stelle
festlegen, werden in der Dekodiereinrichtung 42 dekodiert und auf die Sammelschiene B gegeben·
Hinsichtlich der Zeit wird der erste Mikrobefehl von dem Steuerspeicher 22, 23 gelesen. Wenn dieser Mikrobefehl unter
entsprechender zeitlicher Steuerung in die Einheit MCR 24 eingegeben ist, wird die Inkrementiereinrichtung (ALU 44)
aktiviert, was dazu führt, daß die Einheit MAR 24 auf MAR+1 erhöht wird. 5 09 82 8 /0447
Da in dor Taktgebereinrichtung keine Phasen vorhanden sind,
wird diese neue Adresse dem Steuerspeicher 22 unmittelbar zugeführt, v/elcher den nächsten Mikrobefehl liest, der dem
Eingang von MCR 24 zugeführt wird. Der nächste Taktgeberimpuls
sichert das Datenergebnis-Eingangssignal und führt es der Einheit MCR 22 zu, und zwar zum neuen Mikrobefehl, der
bereits gewartet hat, und die Einheit MAR wird auf MAR+1 erhöht. Dieser Vorgang wird fortgesetzt, bis eine andere Mikroadresse
als eine Folgeadresse gebraucht wird.
Nachfolgend wird der Datenfluß erläutert. Der Datenfluß geht
durch eine Anzahl von Wegen und Register, dazu gehören die
arithmetische und logische Einheit ALU 44, die allgemeinen Register 10, die Eingangs/Ausgangs"Moduln . verschiedener Arten 4,
der Zwischenspeicher 18, der Hauptspeicher 16 und der Befehlsübersetzer
15» wenn eine solche Einrichtung verwendet wird, um eine Emulation von Computermakrobefehlen zu liefern.
Die Einheit ALU 44 nimmt ein Byte oder ein Wort von der Sammelschiene
A und der Sammelschiene B auf, führt arithmetische oder logische Operationen mit den zwei Operanden durch und gibt das:
Ergebnis über eine Rotation/Byte-Auswahllogik 48 an die bei 3
dargestellte Sammelschiene C, wie es in der Fig. 4 dargestellt ist. Eine Operandenwort- oder Byteauswahl, eine Operationsauswahl
und eine Ausgangsverschiebe- oder Byteauswahl werden durch entsprechende Steuersignale festgelegt, die von dem nachfolgend
zu beschreibenden Mikrobefehl abgeleitet werden.
Das Eingangs-Byte-Auswahlgatter 46a, 46b führt beide Bytes, nämlich
das linke Byte oder das rechte Byte von der Sammelschiene A
dem Operanden A oder von der Sammelschiene B dem Operanden B zu.
Die arithmetischen oder logischen Operationen v/erden durch das Modussignal M festgelegt, welches oben als das erste der 11 Mikro-"
Operationsfelder dargestellt ist. Eine der 16 arithmetischen und logischen Operationen wird durch die vier Auswahlleitungen ausgewählt
(welche als zweites und viertes der Mikrooperationsfelder
5098287Q447
•24522U
des Diagramms dargestellt sind.), und zwar bei einem übertrag
Cn, wobei eine "Eins" den Ergebnissen addiert wird.
Das ALU-Ergebnis kann um ein Bit nach links oder nach" rechts
verschoben werden oder direkt auf die Sammelschiene G übertragen werden. Weiterhin kann auch das rechte Byte der Ergebnisse
in das linke Byte der Sammelschiene G gebracht werden.
Die allgemeinen Register 10 liefern eine Quelle für die bei 1
dargestellte Sammelschiene A und die bei 2 dargestellte Sammelschiene B und die Bestimmung für die bei 3 dargestellte
Sammelschiene C, wie es in der Fig. 4- dargestellt ist. Beispielsweise
können die A- und die B-Operanden für die Einheit ALU 44 von den allgemeinen Registern 10 genommen werden,
und die ALU-Ergebnisse können in einem allgemeinen Register gespeichert werden.
Weiterhin kann zu dem Wert auf der Sammelschiene B Eins
addiert werden, oder es kann davon Eins subtrahiert werden, und das Ergebnis wird in einem der allgemeinen Register
gespeichert. Diese Punktion wird durch die Punktion 14 zum
Addieren/Subtrahieren von Eins ausgeführt, welche von der Sammelschiene B über den 2-zu-1-Multiplexer 12, über einen
1-zu-8-Demultiplexer und schließlich dem allgemeinen Register
10 zugeführt ist.
Nachfolgend wird der Status beschrieben. Vier der sechs Status-Bits zum ALU 44 werden von den arithmetischen
Operationen abgeleitet, wie es unten festgelegt ist·
Übertrag: Bei einer Wortoperation bedeutet dies das Austragen von dem Bit mit dem höchsten Stellenwert der Ein-'heit
ALU (Bit O) oder bei der Byte-Operation das Austragen von dem Bit mit dem höchsten Stellenwert eines Bytes (Bit 8).
509828/0447
24522U
Überlauf: Eine arithmetische Operation auf A- und B-Operanden
führt zu einer Zahl, welche größer ist als die größte Zahl, welche in dem vorgegebenen Raum verarbeitet v/erden kann (Wort
oder Byte). Beispielsweise tritt zusätzlich ein Überlauf auf, wenn die Summe von zwei positiven Zahlen negativ .ist oder wenn
die Summe von zwei negativen Zahlen positiv ist, wobei das Format eines Zweierkomplements verwendet wird. In ähnlicher Weise
tritt bei der Subtraktion ein Überlauf auf, wenn die Subtraktion einer negativen Zahl von einer positiven Zahl eine negative
Zahl ergibt oder wenn die Subtraktion einer positiven von einer negativen Zahl eine positive Zahl ergibt· Der Überlauf,
wird als Statusbit im Register 62 angezeigt.
Die Sammelschiene C ist gleich 0: Alle Bits der Sammelschiene C
sind gleich 0. Dieses Statusbit wird im Register 60 geführt.
Vorzeichen: Bei Wortoperation das Bit des Wortes mit dem höchsten
.Stellenwert (Bit 0) oder bei Byteoperation das Bit mit dem höchsten
Stellenwert des Bytes (Bit 8). Dieser Status wird im Register geführt.
Steuermodus: Ein von den Mikrobefehlen dekodierter Befehl setzt dieses Bit und stellt es zurück. Es wird für eine zusätzliche
Steuerung einer vorzugsweise vorgesehenen Funktion verwendet, beispielsweise als Makrobefehlsübersetzer. Dieses Register ist
in der Fig. 4 nicht dargestellt.
Nachfolgend wird Eingang/Ausgang beschrieben. Eingang/Ausgang-Moduln
4 können verschiedene Arten sein, um verschiedene Einrichtungen zu steuern, beispielsweise einen Fernschreiber oder
einen Papierstreifen. Im allgemeinen führen die Moduln Funktionen der folgenden Arten aus:
1. Annehmen einlaufender Daten und Überführen auf die A-Sammelschienen-Periode.
5 09828/0447
-21 - ■ 24522 U
2. Übertragen auslaufender Daten von der Sammelschiene C zum Ausgang.
3. Annehmen gemultiplexter allgemeiner Unterbrechungen und
Anordnen ihrer Identifikation auf der Sammelschiene A.
Der Eingang/Ausgang wird in einem späteren Teil der Beschreibung
ausführlich beschrieben.
Nachfolgend wird der Zwischenspeicher/Hauptspeicher erläutert.
Gemäß Fig. 1 werden Daten.von der Sammelschiene A in den Zwischenspeicher
18, den Hauptspeicher 16 gebracht, und zwar an der Stelle, welche durch die Sammelschiene B adressiert ist.
Datßn werden von dem Zwischenspeicher 18 auf die bei 3 dargestellte
Sammelschiene G übertragen, bzw. auch aus dem Hauptspeicher 16, und zwar von einem Speicherplatz, welcher durch
die Sammelschiene B adressiert ist.
Nachfolgend wird der Übersetzer beschrieben. Der Übersetzer 15
versetzt die Einrichtung in die Lage, einen'Computerbefehlssatz
zu emulieren. Dies stellt die Einrichtung dar, welche dazu dient, einen Makrobefehl zu übersetzen, der von der Sammelschiene
C genommen wurde, und zwar in einer Mikroadresse 0, welche auf der Sammelschiene A angeordnet ist, wobei ein Zugriff
auf den ersten aus einer Reihe von Mikrobefehlen im
St'euerspeicher 22 erfolgt ist, um den Makrobefehl auszuführen.
Weiterhin wird in dem Fallt in welchem ein Makrobefehl ein Argumentfeld
enthält, beispielsweise ein Adressenfeld, welches zur Berechnung, von direkten oder von indirekten Speicherplätzen verwendet
wird, der Übersetzer das Argumentfeld auf die Sammelschiene B übertragen.
Nachfolgend wird die Wartungssteuertafel beschrieben. Die (nicht
dargestellte) Wartungssteuertafel weist Steuer- und Anzeinjeein-
5 0 9 8 2 8/0 4 A 7
-22- 24522U
richtungen auf, welche den laufenden Status der Maschine anzeigen
und Veränderungen in diesem Status durchführen. Die Steuereinrichtungen ermöglichen es, daß 16-Bit-Daten in dem
MikroSteuerregister auf die Sammelschiene 0 gegeben werden
oder (12 Bits) in dem Mxkroadressenregister. Unterbrechung^- · und Statusbits werden kontinuierlich angezeigt. Der Registeroder
der Sammelschieneninhalt kann jeweils alternativ angezeigt werden. Die Wartungssteuertafel wird in einem späteren
Abschnitt in v/eiteren Einzelheiten erläutert.
Nachfolgend wird der Informationsfluß zusammenfassend erläutert. Der Informationsfluß ist derjenige Weg, welchen Daten
von einem allgemeinen Register durch einen Funktionsblock
zurück zu einem allgemeinen Register nehmen· Eine vereinfachte Darstellung dieses Flußes ist in der Fig. 5 gegeben.
Der erste Pegel der Verknüpfung (Multiplexer 56) wählt aus, welches Register mit den Quellenschienen A und B verbunden
werden soll.
Der zweite Pegel der Verknüpfung (Byte-Auswahlgatter 46a, 46b) wählt aus, welches Byte auf den Sammelschienen A und B der Ein-,
hext ALU 44 angeboten werden., soll, damit eine Funktion ausgeführt
wird.
Der dritte Pegel der Verknüpfung (Shift/Byte-Auswahl 48) wählt ·
aus, ob der Ausgang von der Einheit ALU 44 logisch, nach links·....
oder nach rechts um einen Bitplatz bzw. eine Bitzelle geshiftet werden soll und/oder ob das rechte Byte zum linken Byte der Sammelschiene
C■bewegt werden sollte (Bestimmungsschiene).- , ■
Zu diesem Informationsfluß wird ein Alternativweg hinzugefügt, welchen Daten nehmen können, anstatt durch die ALU-Funktionslogik
hindurchzugehen. Dieser Alternativweg ist in der. Fig.6
dargestellt. . ......
B09828/OAAT '-
- 23 - 24522U
In der Pig. 6 wählt der erste Verknüpfungspegel (Multiplexer 56)
aus, welches Register als Datenregister verwendet v/erden soll (Sammelschienen A und C) und welches Register als das Speichoradressenregister
(Sammelschiene B) verwendet werden soll.
Der zweite Verknüpfungspegel und der dritte Verknüpfungspegel werden beide gesperrt (durch die Verwendung der oben bereits
diskutierten Drei-Status-Logik getrennt), so daß der Ausgang des Hauptspeichers direkt mit der Sammelschiene C verbunden
werden kann (Registerbestimmungsschiene).
Der dritte mögliche Informationsweg ist in der Pig.7 dargestellt.
Der erste Verknüpfungspegel für die Sammelschiene A (Multiplexer 56) wählt anstatt eines allgemeinen Registers
als Quelle ein Eingang/Ausgang-Register 4·, welches mit der Sammelschiene A verbunden werden soll. Der erste Verknüpfungspegel
für die Sammelschiene B feb dazu frei, ein allgemeines
Register auszuwählen, welches an die Sammelschiene B geführt werden soll.
Der Datenfluß kann dann dem Hauptspeicher 16 zugeführt werden, und zwar über die Einheit ALU 4-4, dann zurück zu entweder dem
Eingang/Ausgang-Register 4- oder zu dem allgemeinen Register oder vom Hauptspeicher 16 zu dem Eingang/Ausgang-Register 4·.
Der dritte Verknüpfungspegel 4-8 wird nur verwendet, wenn die
ALU-Funktion aktiv ist.
Nachfolgend wird die Flußunterbrechung beschrieben. Sieben Unterbrechungsleitungen
haben, in verschiedenen Teilen des Systems ihren Ursprung, wie es in der Fig. 8 dargestellt ist, von denen -jede an
einem Unterbrechungsregister 70 endet, wenn eines oder mehrere der
Unterbrechungs-Flip-Flops gesetzt sind, diejenige Mikroadresse der Unterbrechung, welche die höchste Priorität hat, wird über
die Unterbrechungs-Mikroadresse und die Kodiereinrichtung 52 dem Speicheradressenmultiplexer 28 zugeführt, welcher dann den
Steuerspeicher 22 adressiert. Die Unterbrechungen sind in der
5098-2870447
-■ 24- -
■24522U
Fig. 8 dargestellt, und zwar in der Reihenfolge der Priorität von
X '4·' bis X 1A1 . Jede Mikroadresse zeigt auf einen Mikrobefehl,
welcher durch den Systemprogrammierer festgelegt ist, der eine Prozedur auslöst, welche auf die Unterbrechung anspricht.
· ·
Der Inhalt des Unterbrechungsregisters kann auf der Wartungssteuertafel
66 angezeigt werden.
Die Unterbrechungen bilden die folgenden Punktionen:
Leistung Aus: Ein logisches Signal von der Energieversorgung, welches anzeigt, daß ein Verlust an Eingangsenergie bzw. Eingangsleistung
vorliegt, und zwar in einer kurzen Zeitperiode nach dem Abfall der Eingangsenergie. Die Energieversorgung kann
derart ausgebildet sein, daß eine ausreichende Speicherung in der Energieversorgung vorhanden ist derart, daß die Spannung nicht
aus der Regelung herausgeht, bis einige Zeit verstrichen ist, nachdem die Unterbrechung aktiviert wurde.
Leistung Ein: Ein logisches Signal von der Energieversorgung,
welches anzeigt, daß die Leistung bzw. Energie eingeschaltet ist.
Schnelle Unterbrechung Eins: Ein logisches Signal von der Eingang/
Ausgang-Anpasseinrichtung 4-, direkt zum Unterbrechungsregister
und in erster Linie dazu verwendet, eine Hochgeschwindigkeits-Datenübertragung
zu/von der Anwendungslogik über die Eingangs/ Ausgang-Anpasseinrichtung 4- durchzuführen, und zwar von/zu dem
Zwischenspeicher/Hauptspeicher 16, 18. Das Unterbrechungsregister überträgt eine Reaktion der gerätetechnischen Einrichtung zu der
Eingang/Ausgang-Anpasseinrichtung zurück.
Schnelle Unterbrechung Zwei: Dieselbe wie schnelle Unterbrechung Eins, mit der Ausnahme einer geringeren Priorität. Eine der
schnellen Unterbrechungen kann dazu verwendet werden, Daten
509828/0447
24522U
einzugeben, während die andere dazu verwendet wird, Daten auszugeben.
Die schnellen Unterbrechungen werden in einem späteren Abschnitt beschrieben.
Eingang/Ausgang: Ein logisches Signal, welches anzeigt, daß eine gemultiplexte Eingang/Ausgang-Unterbrechung auf einer oder mehreren
der Eingang/Ausgang-Anpasseinheiten ansteht. In Reaktion auf
das Signal fordert der Systemprogrammierer den Eingang/Ausgang-Modul
4 mit der höchsten Priorität, wobei eine Unterbrechung ansteht, um die Adresse auf die Sammelschiene A zu bringen.
Fehler: Ein lqejlsches Signal, welches anzeigt, daß in dem Steuerspeicher,
in dem Zwischenspeicher oder in dem Hauptspeicher ein Paritätsfehler aufgetreten ist.
Autoladen:- Ein Schaltsignal von der Wartungssteuertafel, welches
dazu verwendet wird anzuzeigen, daß eine automatische Ladungsroutine ansteht. Dieses Signal bietet eine Möglichkeit, den
Speicherplatz als Funktion davon zu steuern, ob das System eingeschaltet oder ausgeschaltet ist. Dies kann auch als Konsolenunterbrechung
verwendet werden.
Nachfolgend wird der Mikrobefehlsvorrat beschrieben. In diesem Abschnitt werden die Auswirkungen erläutert, welche sich aus
dem jeweiligen Mikr'obefehlskode ergeben, und zwar bei jedem Feld des Mikrobefehles.
Wie ohen bereits diskutiert wurde, hesteht der Mikrobefehl aus
32 Bit, und er ist in einer Anzahl von Einzweck- und von Mehrzweckfeldern
unterteilt." Die Fig. 9 zeigt die möglichen Kombinationen der Felder in einem einzelnen 32-Bit-Mikrobefehl. Wie
aus der Figur hervorgeht, können bis zu 11 Feldern in einem einzelnen Mikrobefehl definiert sein. Diese Felder werden in
der Mikrobefehls-Dekodiereinrichtung 42 dekodiert (siehe Fig.i),
um Steuersignale zu liefern, und zwar für alle Elemente des
509828/0447
Systems. Das Mikroprogramm v/ird in dem S1;euersr>eicher_ 22 gespeichert.
Während der Ausführung eines speziellen Mikrobefehls wird dieser Mikrobefehl in dem MikroSteuerregister MCR ?A
gehalten.
Die in der Fig. 9 dargestellte Konfiguration läßt sich in
folgenden Peststellungen zusammenfassen:
Sammelschiene,
A(0-15) A(O-7) A(8-15) B(O-15)
B(0-7) B(8-15) 0(0-15) 0(0-7) 0(8-15) 10(0-15)
io(o-7)
10(8-15)
Register,
10Rn (0-15) GRn(O-I5)
MAR(O-H) M0R(0-31) IR(0-6) SR(0-6) PSn(O-I7)
T(O-I5)
Speicher,
Steuerspeicher A-Schiene
Linkes Byte, A-Schiene Rechtes Byte, A-Schiene B-Schiene
Linkes Byte, B-Schiene Rechtes Byte, B-Schiene C-Schiene
Linkes Byte, C-Schiene Rechtes Byte, C-Schiene Eingang/Ausgangs-Schiene
Linkes Byte, IO-Schiene Rechtes Byte, IO-Schiene
Eingang/Ausgang-Register Allgemeines Register 0-7 Mikroadressenregister
MikroSteuerregister Unterbrechungsregister Statusregister ' ·
Rückstellstapel O - 15
Übersetzer
~
CM· CM· CM·
-RAM(MAM) = CM(O-1O24, 0-31>
-ROM(MAM) = CM(0-4096, 0-31) -EAROM(MAM)=CM(0-4096, O-3I)
509828/0447
24522U
Feiaverifikation, W(MAM) Zwischenspeicher, SP(B)
Hauptspeicher, MM(B)
Taktgeber, Phi oder
Weitere Terme:
ALÜ ALU-A ALU-B
ALUM ARG Gn DA
ΙΟΙ IOM MAM MCP
Vn
CM(x'K)O·-χ'FFF', 0-31)
SP(O-1O24-, 0-15) MM(0-65,536, 0-15)
Ein-Phasen-Taktgeber (ein Taktsignal entfällt für Hauptspeicherzugriffe)
Arithmetische Logikeinheit A-Operandeneingänge nach ALU
B-Operandeneingänge nach ALU ALU-Modus Argument vom Übersetzer
Eintragen in ALU 'Einrichtungsadresse Unterbrechung
Eingang/Ausgang-Unterbrechung Eingang/Aus gang-Modus Speicheradress enmultiplexer
Wartungs s teuertafel
Statusbit Vektor η vom Übersetzer (eine Mikroadresse)
Nachfolgend werden die Mikrofelder für einen einzelnen Zweck erläutert.
Die spezifische Funktion, für sich genommen, jedes Einzelfeld-Mikrooperationskodes
wird festgelegt· Wenn es nicht anderweitig festgelegt ist, nimmt die Ausführung jedes Mikrobefehls
eine Taktgeberperiode bzw. eine Zykluszeit ein, und jeder Mikrobefehl
bringt das Statusregister auf den neuesten Stand.
Eingang/Ausgang-Modus: Der Eingang/Ausgang-Modus (IOM) wählt die allgemeinen Register 10 oder die Eingang/Ausgang-Daten 4.
RA-Auswahl: Wenn der Eingang/Ausgang-Modus falsch ist, ist RA-
509828/0447
Auswahl die Adresse eines allgemeinen Registers 10, welches die
Datenquelle für die Sammelschiene A sein soll.
Wenn der Eingang/Ausgang-Modus wahr ist, sind RA-Auswahl und
die Einrichtung zum Auswählen (Bits 28-31 des Mikrobefehls) die Adresse eines Eingang/Ausgang -Moduls 4, welcher die Datenquelle
für die Sammelschiene A sein soll. (Wenn keine spezielle Sperrung erfolgt, bildet dieses Feld einen allgemeinen Registeroder
Eingang/Ausgang-Modul zu der Sammelschiene A). Eine Sammelschi
enens teuer ung ist erforderlich, um den Auswahlvorgang zu
vervollständigen.
ALU-Modus: Der ALU-Modus bringt die arithmetische Logikeinheit 44 dazu, arithmetische Funktionen auszuführen, wenn der Zustand
"falsch" vorhanden ist, und bringt sie dazu, logische Funktionen auszuführen, wenn der Zustand "wahr" vorliegt. Dieser Modus wird
unten in Verbindung mit der ALU-Auswahl näher diskutiert.
RB-Auswahl: Die RB-Auswahl ist die Adresse eines allgemeinen
Registers 4, welches die Datenquelle für die Sammelschiene B
sein soll. Zusätzlich wird dann, wenn IOM wahr ist und die
Sammelschiene B gleich 3 ist, von dem RB-Auswahlfeld ein Bit.
einer der acht Bitstellen mit geringstem Stellenwert auf der Sammelschiene B zugeführt, wie es weiter in dem Abschnitt erläutert
wird, der mit Bib-Schaltung/Stellung überschrieben ist. Eine Steuerung für die Sammelschiene B ist erforderlich, um den
Auswahlvorgang abzuschließen.
A-Steuerschienen-Steuerung: Eine Steuerung für die A-Sammelschiene
betrifft die Daten, welche auf der Sammelschiene A vorhanden sind, die Bytes, welche den A-Operandeneingängen
von ALU 44 zugeführt sind, und diejenigen Bytes, welche aus dem Hauptspeicher 16 ausgelesen werden oder in denselben eingeschrieben
werden.
509828/0447
•_29_ 24522K
0 Inhalt des allgemeinen Registers 10 oder die Eingang/
Ausgang-Daten des Moduls 4-, wie sie durch ΙΟ-Modus, durch
RA-Auswahl und durch Einrichtungsauswahl spezifiziert sind,
werden der Sammelschiene A zugeführt. Beide Bytes von der Sammelschiene A werden dem A-Operanden von ALU-44 zugeführt.
Beide Bytes der Sammelschiene A können in den Hauptspeicher 16 eingeschrieben oder aus demselben ausgelesen werden.
Wenn IOM = O, dann A(O-15) ^—.GEn(O-15), andernfalls A(0-15
<— I0n(0-15) ALU-A(O-15 ^— A(O-15)
Wenn Verzweigungssteuerung = x'21, dann 0(0-15) χ— MM(0-15)(B)
Wenn Verzweigungssteuerung = x'31» dann MM(O-15)(B) ^— A(O-15)
1 Inhalt des allgemeinen Registers 10 oder die Eingang/Ausgang-Daten
des Moduls 4-, wie sie durch ΙΟ-Modus, RA-Auswahl und durch
die Einrichtungsadresse spezifiziert sind, werden auf die Sammelschiene
A gebracht. Das linke Byte der Sammelschiene A wird dem Α-Operanden von ALTJ. rechtsbündig zugeführt. Das linke Byte der
Sammelschiene A kann in das linke Byte des Hauptspeichers 16 eingeschrieben
oder aus demselben ausgelesen werden.
Wenn IQM=O, dann A(O-15) £—GR1T(O-15), andernfalls A(0-15) ^—
I0n(0-15) ALU-A(8-15) *£— A(O-?); ALU~A(0-7) r£— O
Wenn die· Verzweigungssteuerung * x'2' , dann C(O-?) ^— MM(O-?)(B)
Wenn die Verzweigungssteuerung = V;5', dann MM(0-7)(B) ~- A(O-?)
2 Inhalt des allgemeinen Registers 10 oder die Eingang/Ausgang-Daten
des Moduls 4, welche durch ΙΟ-Modus, RA-Äuswahl und Einrichtung/Auswahl
spezifiziert sind, werden auf die Sammelschiene A gebracht. Das rechte Byte der Sammelschiene A wird dem A-Operanden
von ALU rechtsbündig zugeführt. Das rechte Byte der Sammelschiene A kann in das rechte Byte des Hauptspeichers 16
eingeschrieben oder aus demselben ausgelesen werden.
50 9828/0447
-30- 24522U
Wenn IQM = 0, dann A(0-15) -e— GRn(O-15), andeMifalls-=A(0-15) -r~
I0n(0-i5) ALU-A(8-15) <— A(8-15); ALU-A(O-?) ^— 0
Wenn Verzweigungssteuerung = x'21, dann 0(8-15) -t— MM(8-15)(B)
Wenn Verzweigungssteuerung = x'3'» dann MM(8-15)(B) -fr— A(8-15)
3 Inhalt des Mikroadressenregisters 20 wird rechtsbündig auf die Sammelschiene A gebracht. Beide Bytes von der Sammelschiene A werden
dem Α-Operanden von ALU 44 zugeführt. Übertragung eines Registers 10 zu der Sammelschiene A ist gesperrt.
A(A-15) *
MAR(O-H);
ALU-A(O-15) ti— A(O-15)
Ein Mikroperationskode in einem der C-Sammelschienen/Register-Steuerungs-MikroOperationskodes
ist erforderlich, um die Steuerung der A-Sammelschiene abzuschließen. Die Steuerung der Sammelschiene
A kann durch die Steuerung MCR 24 übergängen werden:
= x'3', Lesevektor 1 an Sammelschiene A vom Übersetzer 15*
MOR-Steuerung = χ'5'ί Lesevektor 2 an Sammelschiene A vom Übersetzer 15, . ,
MCR-Steuerung = x'E1, Leseunterbrechungsadresse an Sammelschiene A und C-Sammelschiene/Registersteuerung
= X1B1, unmittelbare Adressierung für MAR.
B-Sammelschienensteuerung: Die B-Sammelschienensteuerung bezieht
sich auf die Quelle der Daten, welche auf die B-Schiene gebracht v/erden, und auf die Bytes, welche den B-Operandeneingängen von
ALU 44 zugeführt werden.
0 Inhalt des allgemeinen Registers 10, welcher durch RB-Auswahl
spezifiziert ist, wird auf die Sammelschiene.B gebracht;, beide
Bytes der B-Schiene 90 zu ALU-44.
B(0-15) t— GRn(0-15)
ALU-B(0-15) <r— B(0-15)
ALU-B(0-15) <r— B(0-15)
1 Inhalt des allgemeinen Registers 10, der durch RB-Auswahl spezifiziert ist, wird auf die Sammelschiene B gebracht; das ·
linke Byte der B-Schiene geht zu ALU 44, und zwar rechtsbün-
dis- 50 9828/0447
B(O-15) ^T-' GRn(O-15)
ALU-B(8-15) <r.— B(0-7)
ALU-B(0-7) ^ 0
ALU-B(8-15) <r.— B(0-7)
ALU-B(0-7) ^ 0
2 Inhalt des allgemeinen Registers 10, der durch. RB-Auswahl
spezifiziert ist, wird auf die Sammelschiene B gebracht; die rechten Bytes der B-Schiene gehen zu ALU 44, und zwar rechtsbündig.
B(0-15) ^— GRn(O-15)
ALU-B(8-15) i— B(8-15)
ALU-B(0-7) <£— 0
ALU-B(8-15) i— B(8-15)
ALU-B(0-7) <£— 0
3 Wenn IOM falsch ist» wird das Sendefeld auf die B-Sehiene
rechtsbündig übertragen. Wenn IOM wahr ist, wird eine Eins an die Stelle in dem rechten Byte der B-Schiene gebracht,
welche durch RB-Auswahl festgelegt ist, wie es weiter in dem Abschnitt diskutiert wird, der mit Bit-Schaltung/Stellung überschrieben
ist. In jedem Falle wird das rechte Byte der B-Schiene ALU 44 rechtsbündig zugeführt.
Wenn IOM = 0 dann B(8-15) ^— MOR (24-31), sonst
BC8-15) i— 1(RB Sei)
In jedem Falle: ALU-B(8-15) ^— B(8-15)
ALU-B(0-7) «— 0
Die B-Schienen-Steuerung kann durch MOR Steuerung = χ'7' übergängen
werden, Leseargument zur B-Schiene vom Übersetzer 15·
C-Schiene/Register-Steuerung: Das O-Schiene/Register-Steuerfeld
betrifft in erster-Linie den Datenweg von der C-Schiene
zu den allgemeinen Registern 10 oder zu den Eingang/Ausgang-.Moduln
4. Dieses Feld betrifft weiterhin das Shiften nach links
oder nach rechts um einen Platz, und zv/ar des ALü-44-Ausgangs an die C-Schiene, wobei der Wert auf der C-Schiene dem Mikroadressenregister
20 zugeführt wird, wobei weiterhin ein Inkrementieren/Dekrementieren
bzw. Erhöhen/Erniedrigen des Wertes auf der B-Schiene erfolgt und er einem allgemeinen Register
509828/0447
-52- 24522 H
zugeführt wird, und wobei die letzten zwölf Bits des Mikrobefehls als unmittelbare Befehlsadresse verwendet werden.
Im Falle der Übertragungen von der C-Schiene auf die allgemeinen Register 10 oder die Eingang/Ausgang-Mo-duln 4·, welche
durch den ΙΟ-Modus, durch RA-Auswahl und durch Einrichtung-Auswahl
festgelegt sind, werden die übertragenen Bytes durch eine A-Schienen-Steuerung gesteuert. Im Falle von Übertragungen
von der C-Schiene zu den allgemeinen Registern 10, welche durch RB-Auswahl ausgewählt wurden, werden die Übertragenen
Bytes durch die B-Schienen-Steuerung gesteuert.
Übertragungen von den allgemeinen Registern 10 oder den Eingang/ Ausgang-Moduln 4 zu der Α-Schiene werden dadurch nicht beeinträchtigt,
daß die C-Schiene/Registersteuerung = x'B' die Übertragungen
zu der A-Schiene sperrt, weil die A-Schiene durch die
unmittelbare Adresse verwendet wird. Für andere Werte des C-Schiene/Registersteuerfeldes
sind Übertragungen von den allgemeinen Registern oder von den Eingang/Ausgang-Moduln zu der
Α-Schiene immer aktiviert.
Darüberhinaus werden Übertragungen von den allgemeinen Registern 10 zu der B-Schiene nicht beeinträchtigt durch das C-Schiene/
Registersteuerfeld. Mit anderen Worten, diese Übertragungen sind immer aktiviert, soweit dieses Feld betroffen ist.
C-Schiene/Register-Steuerfunktion:
X1O1 Keine Abtastung an irgendein Register. Daten von der C-Schiene
werden nicht in *ein allgemeines Register, einen Eingang/ Ausgang-Modul 4 oder irgendein anderes Register übertragen. Jedoch
können Übertragungen von einem allgemeinen Register oder einem Eingang/Ausgang-Modul zu der Α-Schiene und von einem allgemeinen
Register zu der B-Schiene stattfinden. (Übertragungen
von einem allgemeinen Register zu der Α-Schien© können durch das C-Schiene/Register-Steuerfeld gesperrt werden, Jedoch nicht
aktiviert werden.) .
509828/0447
0(0-15) r— ALU(O-15) '
χ'1'C-Schiene zu MAR. Diese überträgt die 12 Bit mit dem
geringsten Stellenwert auf der C-Schiene zu dem Mikroadressenregister
20 auf das Taktsignal, welches auf·den Mikrooperationskode
folgt. Das Statusregister wird nicht auf den neuesten Stand gebracht, sein Inhalt wird jedoch aufrechterhalten.
Dann wird der Mikrobefehl, welcher der Mikroadresse entspricht, welche in die Einheit MAR 20 übertragen
wird, in das MikroSteuerregister 24- übertragen, und zwar auf das zweite Taktsignal hin, welches auf den Mikrooperationskode
folgt und für die Ausführung während der dritten Taktsignalperiode verfügbar ist. Somit nimmt die Ausführung dieses MikroOperationskodes zwei Taktperioden ein.
0(0-15) i— ALU(O-15)
MAR(O-H) ις— 0(4-15).PHIn
MAR(O-H) ις— 0(4-15).PHIn
NAM(O-H) ^ MAR(O-H)
MCR(O-31) ^— CM(0-3i)(MAM0-11).PHIn+1
Statusregister: Der vorangegangene MikroOperationskode ist der erste, der ermittelt wurde, in welchem das Statusregister (ein
Teil der Wartungssteuertafel 66) nicht auf den neuesten Stand
gebracht wurde. Als allgemeine Regel läßt sich aufstellen^ daß das Statusregister durch das Taktsignal auf den neuen Stand gebrächt
wird* welches jede Mikrobefehlsperiode beendet. Unter den unten aufgezählten Umständen jedoch wird das Statusregister
nicht auf den neuesten Stand gebracht und der bestehende inhalt wird aufrechterhalten. Kurz gesagt, es laßt sich feststellen,
daß die Inhalte des Statusregisters unverändert bleiben, wenn eine Verzweigung oder ein Sprung zu einer neuen Mikroadresse
erfolgt* Dies bedeutet im einzelnen:
509828/0447
24522U
a. Das C-Schiene/Register-Steuerfeld des laufenden Mikrobefehls
ist gleich x'1 ' oder χ'9'» mit C-Schiene an
MAR 20, oder
b. das Verzweigungssteuerfeld des laufenden Mikrobefehls spezifizierte einen Test/Verzweigungs-Mikrooperationskode
oder ein Zurückstellen, oder
c. ein schneller Unterbrechungs-Mikrobefehl im Steuerspeicherplatz
x'006' oder x'0071 wird gerade ausgeführt.
x'21 verwenden RA-Auswahl-Einrichtungsauswahl, ΙΟ-Modus und
A-Schienensteuerung als Wegadresse. Wenn die A-Schienensteuerung = 1, wird das rechte Byte vom ALÜ-Ausgang zu dem
Zinken Byte der C-Schiene übertragen; für andere Werte der A-Schienen-Steuerung werden beide Bytes des ALU-Ausgangs zu
der G-Schiene übertragen. Für eine A-Schienen-Steuerung = 0
werden beide Bytes der G-Schiene zu einem allgemeinen Register oder einem Eingang/Ausgang-Modul übertragen, der durch IO-Modus,
RA-Auswahl und Einrichtung/Auswahl ausgewählt wurde; für eine A-Schienen-Steuerung = 1 wird das linke Byte der C-Schiene zu
dem Register 10 übertragen. Für eine A-Schienen-Steuerung = 2,
wird das rechte Byte der C-Schiene zu dem Register 10 übertragen. Für eine A-Schienen-Steüerüng = 3 werden beide Bytes der
C-Schiene zu dem allgemeinen Register 10 übertragen, und 0(8-15)
Wenn eine A-Schienensteuerung = 1t däriii C(Ö-7) φ— ALÜ(8-15),
andernfalls 0(0-15) ^- ALU(O-15)
A-Schienen-Steuerüng
0: Wenn iOM * 0 dann GRn(O-15) 4— C(Q-15) andiriif alls
IÖn(Ö-i5) T^- G(O-I5)
1: Wenn IöM = 0 dann GrJa(O-^) ^- C(O-?) andiriifalls
IÖn(0-7) ^e^ C(Ö-7) .
2: Wenn Ϊ0Μ = 0 dann GRn(8-15) ^- 0(8-15) äfidernfalls
IÖn(8-15) ^—^
3: GRn(O-15) ■—- C(O-H 5)
509828/0447
χ'3' verwendet RB-Auswahl und B-Schienen-Steuerung als Wegadresse.
Wenn eine B-Schienen-Steuerung =1, wird das rechte Byte des ALU Ausgangs 44 zu dem linken Byte der C-Schiene
übertragen; für andere Werte der B-Schienen-Steuerung werden beide Bytes des ALU-Ausgangs zu dem allgemeinen Register 10
übertragen, welches durch RB-Auswahl adressiert ist; für eine B-Schienen-Steuerung = 1, wird das linke Byte der C-Schiene
zu einem allgemeinen Register 10 übertragen. Für eine B-Schienen-Steuerung = 2, wird das rechte Byte der C-Schiene zu einem all-
gemeinen Register 10 übertragen.
Wenn die B-Schienen-Steuerung = 1, | B-Schienen-Steuerung: | GRn(O-15) «r | dann C(O-?) 4- | - ALU(8-15), |
0: | GRn(0-7) <~ | C(8-15) -k | — 0 andernfalls | |
1: | GRn(8-15) t | 0(0-15) ± | — ALU(O-I5) ' | |
2: | GRn(0-15) 4- | |||
* | 3: | — 0(0-15) | ||
- 0(0-7) | ||||
— 0(8-15) | ||||
— C(O-I5) |
χ'4·' verschiebt ALU-Ausgang (nach C-Schiene) um ein Bit nach
'links und verwendet RA-Auswahl, Einrichtungsauswahl, 10-Modus
und A-Schienen-Steuerung als Wegadresse. Wenn eine A-Schienen-St.euerung
= 1, wird das rechte Byte des Ausgangs ALU 114· um ein Bit nach links verschoben, dass Bit mit dem geringsten Stellenwert
wird mit Null gelistet und wird zu dem linken Byte der C-Schiene übertragen. Das linke Byte der C-Schiene wird zu dem
linken Byte des allgemeinen Registers 10 übertragen oder zu dem
Eingang/Ausgang-Modul, der mit 4- adressiert ist, und zwar durch ■ΙΟ-Modus, RA-Auswahl und Einrichtungsauswahl. Für andere Werte
der A-Schienensteuerung werden beide Bytes des ALU-Ausgangs um
ein Bit nach links verschoben, wobei das Bit mit dem geringsten Stellenwert mit Null gelistet wird und beide Bytes werden zu der
C-Schiene übertragen. Für eine A-Schienen-Steuerung - 0 werden
-beide Bytes der C-Schiene zu einem allgemeinen Register 10 oder
509828/0447
24522U
einem Eingang/Ausgang-Modul 4 übertragen. Für eine A-Schienen-Steuerung
= 3 v/erden beide Bytes der O-Sdiene zu einem allgemeinen
Register übertragen»
Wenn die A-Schienen-Steuerung = 1, dann 0(0-6) ■:— ALU(9-15)»
07 ^- 0,
0(8-14) 4— ALU(9-15)i
015 *— 0,
andernfalls 0(0-15) *— ALU (1-15),
015 *— 0
0: Wenn IOM = 0, dann GRn(O-15) <— 0(0-14),
GRn15 i— C15(=0)
andernfalls I0n(0-15) χ— 0(0-14),
I0n15 <e— C15(=0)
1: Wenn IOM » 0, dann GRn(0-6) «— 0(0-6),
GRn7 <— 07(=0)
andernfalls I0n(0-6) «ς— 0(0-6),
I0n7 «— 07 (=0)
2: Wenn IOM = 0, dann GRn(8-14) ^— 0(8-14),
GRn15 <— 015(=0)
andernfalls I0n(8-14) <;— 0(8-14),
I0n15<— 015(=0)
3: GRn(O-15) ^- 0(0-15)
x'51 verschiebt den Ausgang ALU (zur C-Schiene) um ein Bit
nach links und verwendet" RB-Auswahl und die B-Schienen-Steuerung als Wegadresse. Wenn eine B-Schienen-Steuerung = 1, wird
das rechte Byte des Ausgangs ALU um ein Bit nach links verschoben, das Bit mit dem geringsten Stellenwert wird mit einer
Null gefüllt und wird zu dem Byte der C-Schiene übertragen.
Pur andere Werte der B-Schienen-Steuerung werden beide Bytes
des Ausgangs ALU um ein Bit nach links verschoben, das Bit mit dem geringsten Stellenwert wird mit Null gelistet und beide
60-9 8 2 8/04-47
-37 - 24522U
Bytes v/erden zur C-Schiene übertragen. Für eine B-Schienen-Steuerung
= O oder 3 werden beide Bytes der C-Schiene zu dem allgemeinen Register übertragen, welches durch RB-Auswahl
adressiert ist; für eine B-Schienensteuerung = 1 wird das linke Byte der C-Schiene zu einem allgemeinen Register übertragen;
für eine B-Schienensteuerung = 2 wird das rechte Byte der C-Schiene zu einem allgemeinen Register übertragen. ,
Wenn die B-Schienen-Steuerung = 1, dann 0(0-6) £— ALU (9-15),
07 ·*— 0
0(8-14) *— ALU(9-15),
015 -r— 0
andernfalls 0(0-14·) *— ALU (1-15),
015 r— 0
Wenn die B-Schienen-Steuerung = 3, dann GRn(0-14) ^— 0(0-14-),
GRn15 «ε— 015C=O)'
Wenn die B-Schienen-Steuerung = 1, dann GRn(O-G) -— C(0-6),
GRn7 χ— 07 (=0)
Wenn die B-Schienen-Steuerung = 2, dann GRn(8-14-) ~— C(8-14·)
GRn15 ^— C15(=0)
χ'6' verschiebt den Ausgang ALU (zur C-Schiene) um ein Bit
nach rechts und verwendet RA-Auswahl, Einrichtungs-Auswahl,
ΙΟ-Modus und die A-Schienen-Steuerung als Wegadresse. Wenn eine A-Schienensteuerung = 0, werden beide Bytes des Ausgangs
ALU um ein Bit nach rechts verschoben, das Bit mit dem höchsten Stellenwert wird mit Null gelistet und beide Bytes werden zur C-Schiene
übertragen. Beide Bytes der C-Schiene werden zu einem allgemeinen Register oder einem Eingang/Ausgang-Modul übertragen,,
der durch ΙΟ-Modus, RA-Auswahl und Einrichtungs-Auswahl adressiert ist. Wenn eine A-Schienen-Steuerung = 1, wird der
Ausgang ALU um ein Bit nach rechts verschoben und das rechte Byte des Ausgangs wird zu dem linken Byte der C-Schiene gebracht.
Das linke Byte der C-Schiene wird in ein Register
509828/0447
24522U
übertragen. Da bei der Byte-Operation die Eingänge zu dem
-Α-Operanden und dein ALU-B-Operanden auf das rechte Byte
begrenzt sind, wird das Ausgangsbit 7 gewöhnlich gleich Null sein, es kann jedoch gleich Eins sein, wenn die ausgeführte
Operation zu einem Übertrag führt. Für eine A-Schienensteuerung = 2 wird das rechte Byte des Ausgangs ALU' um ein Bit
nach rechts verschoben, das Bit mit dem höchsten Stellenwert wird mit Null gelistet und zu dem rechten Byte der C-Schiene
übertragen. Das rechte Byte der C-Schiene wird in ein Register übertragen. In diesem Falle wird dann, wenn
ein Übertrag zum Bit 7 vorhanden ist, und zwar von dem Ausgang ALU, eine Verschiebung um ein Bit nach rechts vorgenommen,
wobei das Bit mit dem höchsten Stellenwert mit Null gelistet wird und beide Bytes v/erden zu der C-Schiene übertragen,
und es werden weiterhin beide Bytes der C-Schiene zu einem allgemeinen Register übertragen.
A-Schienen-^Steuerung:
Ä-Schienen-Steuerung:
0: 0(1-15) χ— ALU(O-IZi-), CO^— 0
Wenn IOM = 0 dann GRn(O-15) -ς— C(0-15>
andernfalls
I0n(0-15) <r— 0(0-15)
1: Wenn B-Schienensteuerung = 0 dann 0(0-7) *— ALU(7~14),
\ 0(8-15) ^r- ALU(7-14)
andernfalls 0(0-7) ^r- ALU(7-14·),
08 *r- 0, 0(9-15) -^- ALU(8-14)
Wenn IOM = 0 dann GRn(0-7) -^- 0(0-7) andernfalls
I0n(0-7) ^- 0(0-7)
2: 00 ~— O, 0(1-7) rr- ALU(0-6) ~— 08 ^- O5
0(9-15) *r—
Wenn IOM = 0 dann GRn(O-I5) ^— 0(8-15) andernfalls
I0n(8-i5) 4^Cr- 0(8-15)
3: CO ^r- 0, 0(1-15) ^r- ALU(0-14)
GRn(O-15) ^- 0(0-15)5 0 9 8 2 8 / 0 4 4 7
~r ■
-39- . 24522U
χ'7' verschiebt den Ausgang ALU (zu der C-Schiene) um ein Bit
nach rechts und verwendet RB-Auswahl und eine B-Schienensteuerung
als Wegadresse.
Wenn eine B-Schienensteuerung = O, werden beide Bytes des Ausgangs
ALTJ um ein Bit nach rechts versetzt, wobei das Bit mit dem höchsten Stellenwert mit Null gelistet wird und beide Bytes
zu der C-Schiene übertragen werden; beide Bytes der C-Schiene werden zu dem allgemeinen Register übertragen, welches durch RB-Auswahl
adressiert ist.
Wenn eine B-Schienensteuerung = 1, wird der Ausgang ALU um ein Bit nach rechts verschoben und das rechte Byte des Ausgangs wird
zu dem linken Byte der C-Schiene übertragen; das linke Byte der C-Schiene wird in das allgemeine Register übertragen, welches
durch RB-Auswahl adressiert ist. Da· bei dem Byte-Betrieb die Eingänge zu dem ALU-A-Operanden und dem ALU-B-Operanden auf
das rechte Byte begrenzt sind, wird das Aüsgangsbit 7 gewöhnlich gleich Null sein, es kann jedoch gleich Eins sein, wenn
die ausgeführte Operation zu einem Übertrag führt.
Wenn eine B-Schienensteuerung = 2, so wird das rechte Byte des Ausgangs ALU um ein Bit nach rechts verschoben, das Bit mit dem
größten Stellenwert wird bei Null gelistet und das rechte Byte wird zu der C-Schiene übertragen; das rechte Byte der C-Schiene
wird in das allgemeine Register übertragen, welches durch RB-Auswahl adressiert ist. _.
Wenn eine B-Schienensteuerung = 3, wird jedes Byte um ein Bit nach rechts verschoben, das Bit mit dem höchsten Stellenwert
jedes Bytes wird bei Null gelistet und beide Bytes werden zu der C-Schiene übertragen; beide Bytes von der C-Schiene werden
zu dem allgemeinen Register übertragen, welches durch RB-Auswahl adressiert ist.
509828/0447
-«-ο- 24522U
B-Schienensteuerung:
0: CO^— 0, 0(1-15) 4—ALU(O-1
GRn(0-15) ~— 0(0-15)
GRn(0-15) ~— 0(0-15)
1: Wenn eine A-Schienensteuerung =0 oder 3.» dann 0(0-7)
<;— ALU(7-14) und 0(8-15) t— ALU(7-14) andernfalls
0(0-7) ^— ALU(7-140 und 08 «r- 0 und
0(9-15) r— ALU(8-14) GRn(.O-7) 4r~ 0(0-7)
<;— ALU(7-14) und 0(8-15) t— ALU(7-14) andernfalls
0(0-7) ^— ALU(7-140 und 08 «r- 0 und
0(9-15) r— ALU(8-14) GRn(.O-7) 4r~ 0(0-7)
2: CO^—O1 0(1-7) t— ALU(0-6), 08 ^— 0,
0(9-15) «ξ— ALU(8-14) GRn(8-15) <— 0(8-15)
0(9-15) «ξ— ALU(8-14) GRn(8-15) <— 0(8-15)
3: CO ^-i. 0, 0(1-7) -<r- ALU(0-6), 08-^- O1
0(9-15) ^— ALU(8-14) GRn(O-15) ^— 0(0-15)
χ'8' erhöht die B-Schiene und bringt das Ergebnis in das von RB
ausgewählte Register. Dieses Feld addiert eine Eins zu dem Bitwert auf der B-Schieneuund bringt das Ergebnis in das allgemeine
Register» welches durch RB-Auswahl adressiert ist. Beide
Bytes des Ausgangs ALU werden direkt zu der C-Schiene übertragen.
Bytes des Ausgangs ALU werden direkt zu der C-Schiene übertragen.
GRn(O-15) <— B(O-15) plus 1
0(0-15) ^- ALU(O-15)
0(0-15) ^- ALU(O-15)
x'9' erhöht die B-Schiene und bringt das Ergebnis in das von RB
aμsgewählte allgemeine Register. C-Schiene an MAR. Für eine genauere
Beschreibung siehe x'11 und x'8'. Dieser Mikrooperationskode
nimmt zwei Taktgeberperioden ein. .
x'A1 erhöht die B-Schiene und bringt das Ergebnis in ein allgemeines Register, welches durch RB-Auswahl adressiert ist. Es
werden ΙΟ-Modus, RA-Auswahl, Einrichtui^-Auswahl und A-Schienensteuerung als Wegadresse verwendet.
werden ΙΟ-Modus, RA-Auswahl, Einrichtui^-Auswahl und A-Schienensteuerung als Wegadresse verwendet.
GRn(O-I5) £-— B(O-I5) plus 1
(Es verbleiben die Operationen wie bei x'21)
(Es verbleiben die Operationen wie bei x'21)
BQ9828/0U?
2A522U
x'B1 unmittelbare Adresse. Die Quelle der unmittelbaren Adresse,
welche auf die Α-Schiene gebracht wird, kann eine der folgenden vier sein:
1. Wenn ΙΟ-Modus falsch ist, das unmittelbare Adressenfeld
des Mikrobefehls.
2. Wenn ΙΟ-Modus wahr ist, die Einrichtungs-Adresse für die
Eingang/Ausgang-Einrichtungs-Steuereinheit mit der höchsten Priorität, bei welcher eine gemultiplexte IO-Unterbrechung
ansteht.
3. Wenn ΙΟ-Modus falsch ist, die Verzweigungssteuerung x'11 ist
und die MCR-Steuerung χ'3' ist, die Mikroadresse Vektor 1
von dem (vorzugsweise vorgesehenen) Übersetzer.
Λ. Wenn ΙΟ-Modus falsch ist, die Verzweigungssteuerung x'1' ist
und die MCR-Steuerung x'51 ist, die Mikroadresse Vektor 2
von dem (vorzugsweise vorgesehenen) Übersetzer.
Die verbleibenden Operationen sind die üblichen. Die Operationen
werden unten im einzelnen beschrieben.
Wenn IOM = 0, werden die Bits 20-31 des Mikrobefehls, welche die
unmittelbare Adresse genannt werden, von dem MikroSteuerregister zur Α-Schiene übertragen.
Wenn IOM = 1, so bringt der Eingang/Ausgang-Modul mit einer anstehenden
gemultiplexten ΙΟ-Unterbrechung, welcher den Platz
höchster Priorität hat, seine Einrichtungsadresse (welche aus
RA-Auswahl und Einrichtungsauswahlwerten besteht) auf die A-Sehiene,
und zwar in folgender Weise:
0 1 2 3 4
5
6 7 8 9 10 11 12 13 14 13
RA-Auswahl, Einrichtungs-Auswahl
509828/0U7
Der Eingang/Ausgang-Modul liefert ein Signal, welches Bit
8 nach 1 bringt, d.h. praktisch 128 zu der Einrichtungsadresse
addiert. Gleichzeitig wird der Inhalt des ALU-Auswahlfeldes, die Bits 20-23 des Mikrobefehls, oben angefügt,
um in folgender V/eise eine Mikroadresse mit 12 BiI zu erzeugen:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14· 15
χ χ χ χ j ALU Jbswahi j 1
Einrichtungsadresse
A-Schiene
Wenn IOM = 0, die Verzweigungssteuerung = x'1 ' und MOR = χ'3'
oder x'51, bringt der Übersetzer die Mikroadressen Vektor
oder Vektor 2 auf die A-Schiene.
In jedem Falle ist jetzt eine Mikroadresse mit 12. Bit auf der
A-Schiene vorhanden. Diese Mikroadresse adressiert über den Speicheradressmultiplexer 28 einen Platz in dem Steuerspeicher,
und zwar während der Taktgeberperiode des MikroOperationskodes. Gleichzeitig werden die 12 Bits den A-Operandeneingängeri von
ALU 44 zugeführt, um Eins erhöht, direkt auf die C-Schiene
übertragen und dem Mikroadressenregxster 20 bei dem Taktgebersignal zugeführt, welches auf den MikroOperationskode
folgt. Somit dient die erhöhte Mikroadresse als Steuerspeicheradresse während des folgenden Taktgeberzyklus.
Bei der Ausführung dieses MikroOperationskodes wird ALU 44 dazu gezwungen, die Funktion A plus 1 auszuführen,· und zwar
durch die gerätetechnische Einrichtung, obwohl das ALU-Auswahlfeld
einen Teil der unmittelbaren Adresse oder der expandierten Einrichtungsadresse darstellt.
Die A-Schienenquellen lassen sich folgendermaßen zusammenfassen:
509828/0447
-43- | - MGR(20-31) | 2452214 | |
Wenn IOM = O dann | A(4-15) ~ | - DA | |
andernfalls | A(9-15) T- | ||
A8 "^-- 1 | MGR(20-23) | ||
A(4-7) «— | |||
Wenn IOM = 0, BRG = x'11, MCR = x'3f dann
A(4-15) <k— VI-(O-H)
Wenn IOM = 0, BRG = x'11, MGR = x'5' dann
A(4-15) t— V2(O-11)
Die übrigen Operationen sind für alle Quellen gemeinsam:
MAM(O-H) 4— A(4-15)
ALU (0-15) *— A(4-15.) Plus 1
0(0-15) <— ALU(O-I5)
MAR(O-H) <ς— 0(4-15) .
ALU (0-15) *— A(4-15.) Plus 1
0(0-15) <— ALU(O-I5)
MAR(O-H) <ς— 0(4-15) .
Sowohl die verschiedenen als auch die gemeinsamen Operationen werden in einem Taktgeberzyklus ausgeführt. Es wird hierzu auch
auf den Abschnitt unmittelbare Adressierung hingewiesen.
x'G1 erhöht die B-Schiene und bringt das Ergebnis in das allgemeine
Register, welches durch RB-Auswahl adressiert ist, verschiebt den ALU-Ausgang (zur C-Schiene) um ein Bit nach links,
verwendet RA-Auswahl, Einrichtungs-Auswahl, ΙΟ-Modus und die A-Schienensteuerung
als Wegadresse.
GRn(O-15) t— B(O-15) plus 1 ·
(Die verbleibenden Operationen sind dieselben wie bei χ'4')
(Die verbleibenden Operationen sind dieselben wie bei χ'4')
X1D1 nicht übertragen.
X1E1 erhöht die B-Schiene und bringt das Ergebnis in das allgemeine
Register, welches durch RB-Auswahl adressiert ist, verschiebt den Ausgang ALU (zur G-Schiene) um ein Bit nach rechts,
verwendet RA-Auswahl, Einrichtungs-Auswahl, ΙΟ-Modus und die A-Schienensteuerung
als Wegadresse.
S09828/0447
24522U
GRn(O-15) 4— B(0-15) plus 1 -· - —-'
(Die verbleibenden Operationen sind dieselben wie bei x'61)
χ'F' erhöht die B-Schiene und bringt das Ergebnis in das
allgemeine Register, welches durch RB-Auswahl adressiert ist, verwendet RA-Auswahl, Einrichtungs-Auswahl, IO-Modus
und die A-Schienensteuerung als Wegadresse·
GRn(0-15) 4— B(O-I5) minus 1
(Die verbleibenden Operationen sind dieselben wie bei x'21)
(Die verbleibenden Operationen sind dieselben wie bei x'21)
Verzweigungssteuerung: Das Verzweigungssteuerungsfeld bezieht
sich in erster Linie auf die Prüf/Verzweigungsmikrooperationskodes·
Im allgemeinen prüft ein Prüf/Verzweigungs-Mikrooperations· kode eine Bedingung, die extern oder intern sein kann, und führt
zu einer Verzweigung auf eine unmittelbare Adresse oder eine relative Adresse, wenn der nächste Steuerspeicherplatz gefunden
ist. Andernfalls wird die nächste Mikroadresse in der Folge als Steuerspeicherplatz genommen. Die Adressierung und die
Verzweigung werden unten diskutiert.
Weiterhin betrifft das VerzweigungsSteuerfeld arithmetische
Operationen, Lesen oder Schreiben in Verbindung mit dem Zwischenspeicher/Hauptspeicher,
Rückstellstapeloperationen und Statusbits.
Wie allgemein in dem vorangegangenen Abschnitt Statusregister diskutiert wurde, verursachen bestimmte Verzweigungssteuer-Mikrooperationskodes,
daß die Statusbits in das Statusregister geladen werden. Im Falle von anderen Verzweigungssteuermikrooperationskodes
werden die Statusbits nicht geladen, sondern es werden diejenigen im Statusregister aufrechterhalten· Die
Auswirkung jedes Verzweigungssteuermikrooperationskodes auf das Statusregister ist in der unten gegebenen Beschreibung
der Funktion enthalten. -
509828/04 47
Verzweigungssteuerfunktion:
X1O1 Normaler Modus Übertrag falsch. Im arithmetischen Modus
(ALU Modus = 0) führt ALU die Operationen aus, die unter Cn =
0, ALU-Auswahl aufgelistet sind. Die Statusbits werden bei
dem nächsten Taktgebersignal in das Statusregister geladen,
vorausgesetzt, daß die C-Schiene/Registersteuerung nicht
x'11 oder x'91 ist.
σ 4— Alu
Cn = O
SR f— S.PHIn (PHI = Takt)
x'11 Normaler Modus Übertrag wahr. Im arithmetischen Modus
(ALU-Modus =0) führt ALU die Operationen aus, die unter Cn =
1, ALU-Auswahl aufgelistet sind. Statusbits werden in das Statusregister bei dem nächsten Taktgebersignal geladen, vorausgesetzt,
daß C-Schiene/Registersteuerung nicht x'11 oder x'9' ist. '
C <£— ALU
Cn = 1
SR <— S.PHIn
x'21 Lesen Zwischenspeicher oder Hauptspeicher. Die Inhalte
von dem Platz SP/MM, welcher durch die B-Schiene adressiert ist, werden ausgelesen und auf die C-Schiene gebracht. Beim
nächsten Taktgebersignal werden die Statusbits in das Statusregister geladen, vorausgesetzt, daß die C-Schiene/Registersteuerung
nicht x'11 oder χ'9' ist. Im Falle des Hauptspeichers
werden die ausgelesenen Bytes durch die A-Schienensteuerung spezifiziert. *
0(0-15) ^— SP(O-15) (B) | ^— S.PHIn | 0(0-15) ^ |
SR | 0(0-7) «— | |
A-Schienensteuerung | 0(8-15) 4- | |
0: | 0(0-15) <r | |
1: | ||
2: | — MM(O-15) (B) | |
3: | — MM(0-7) (B) | |
— MM(8-15)(B) | ||
— MM(O-I5)(B) | ||
509828/0447 |
Dieser MikroOperationskode erfordert eine Taktgeberperiode für den Zwischenspeicher und eine Doppellängen-Taktgeberperiode
für den Hauptspeicher.
x'3' Schreiben Zwischenspeicher oder Hauptspeieher. Die Bits
auf der Α-Schiene werden in den Platz des Zwischenspeichers/ Hauptspeichers eingegeben, welcher durch die B-Schiene
adressiert ist. Da die G-Schiene nicht verwendet wird, sind die Werte der Statusbits, welche von der C-Schiene
abgeleitet werden (obwohl sie in das Statusregister geladen werden) unbestimmt. Im Falle des Hauptspeichers werden die
eingeschriebenen Bytes durch die A-Schienensteuerung festgelegt.
SP(O-15)(B) 4— A(O-15)
SR *— S.PHIn
A-Schienensteuerung
SR *— S.PHIn
A-Schienensteuerung
0: MM(O-15)(B) 4
A(O-15)
1: MM(O-?) (B) i
A(0-7)
2: MM(8-15)(B) ^— A(B-15)
3: MM(0-15)(B) <~— A(O-15)
3: MM(0-15)(B) <~— A(O-15)
Dieser Mikrooperatxonskode erfordert eine Taktgeberperiode für den Zwischenspeicher und eine Doppellängen-Taktgeberperiode
für den Hauptspeicher.
χ'4' Prüfung/Verzweigung auf externe Bedingungseinstellung.
Es wird die externe Leitung (oder die externen Leitungen) auf dem IO-Modul 4- adressiert, welche durch RA-Auswahl und Einrichtungs-Auswahl
festgelegt ist.
Wenn die Prüfung erfolgreich ist, werden die 12 Bits mit dem
geringsten Stellenwert der C-Schiene in MAR 20 geladen, und zwar bei dem Taktgebersignal, welches auf den Mikrooperationskode
folgt. Das Statusregister wird nicht verändert. Der Mikro-
509828/0447
2A522H
befehl, welcher der Mikroadresse entspricht, welche .in MAR 20 _
übertragen wurde, wird bei dem zweiten Taktgebersignal, vielches
auf den MikroOperationskode folgt, in das Mikrosteuerregister 24- übertragen und steht für die Ausführung während
der dritten Taktgeberperiode zur Verfügung. Die Ausführungszeit ist zwei Taktgeberzyklen.
Wenn die Prüfung nicht erfolgreich ist,· erhöht das Mikroadressenregister
20 auf die nächste Mikroadresse in der Folge, und zwar beim ersten Taktgebersignal. Unter diesen
Umständen beträgt die Ausführungszeit einen Taktgeberzyklus.
Wenn EXT = 1, dann MAH(O-H) *— 0(4-15) .
MOE(O-31) r— O.PHIn
MAM(O-H) « MAR(O-H)
MOR(O-31) *— CM(0-3i)(MAM0-H).PHIn+1
andernfalls MAR plus 1 bei PHIn
Weil das Einrichtungs-Auswahlfeld bei der Adressierung verwendet
wird, können dieexternen Leitungen (da erforderlich ist, daß die C-Schiene/Registersteuerüng eine andere ist
als x'B1), kann das unmittelbare Adressenfeld nicht verwendet
werden, um die neue Adresse zu liefern.
x'51 Prüfung/Verzweigung bei externer Bedingung Rückstellen.
Es liegen dieselben Verhältnisse vor wie bei χ 1V, mit der Ausnahme,
daß der Prüfungsstatus umgekehrt wird.
x'61 Rückstellen. Es werden die Mikroadresse mit 12 Bit von
dem Mikroadressenregister 20 und die sechs Statusbits von dem Statusregister in dem Rückstellstapel 38 mit 18 Bit abgespeichert.
Die Inhalte der C-Schiene werden nach MAR 20 übertragen, um als nächste Mikroadresse zu dienen. Das
Statusregister wird nicht modifiziert. Weitere Operationen hängen von dem C-Schiene/Registersteuerung-Peld ab.
509828/0447
Wenn die C-Schiene/Registersteuerung χ 1B' ist, liefert die'
unmittelbare Adresse, welche von den letzten 12 Bits des MikrqSteuerregisters 24 oder von der Einrichtungsadresse
erhalten wurde, die von einem Eingang/Ausgang-Modul 4 geliefert wurde, welcher eine Ansteuerung forderte, diejenige
Mikroadresse, welche den Steuerspeicher 22 adressiert. Somit erfordert das Rückstellen mit unmittelbarer Adresse
eine Taktgeberperiode.
Wenn die C-Schiene/Registersteuerung nicht X1B1 ist, stellt
das Mikrosteuerregis.ter 24 beim ersten Taktgebersignal rück, so daß während der folgenden Taktgeberperiode keine Operationen
ausgeführt werden. Diejenige Mikroadresse, welche von der C-Schiene nach MAR 20 übertragen wurde* adressiert den Mikrobefehl,
welcher bei dem zweiten Taktgebersignal in das Mikrosteuerregister
24 übertragen wurde. Dieser Mikrobefehl steht zur Ausführung während der dritten Taktgeberperiode zur Verfügung.
Somit erfordert ein Rückstellen ohne unmittelbare Adresse zwei Taktgeberperioden.
PS(O-H) i— MAR(O-H)
PS(12-17) 4— SR(0-5)
SR unverändert
Wenn OB/RÖ = 1B' dann A(4-15) 4— MOR(2O-31) +DA
MAM(O-H) *— A(4-15)
0(0-15) <z— A(4-15) plus 1
. MAR(O-H) ·—- 0(4-15).PHIn
Wenn CB/RC φ χ1 B1 dann MAR(O-H) <^~- 0(4-15).PHIn
MOR(O-31) <t— 0..PHIn
MAM(O-H) 4— MAR(O-H) MCR(O-31) ^- CM(0-3i)(MAM0-1i).PHIn+1
Unterbrechungen: Die Verwendung einer Rückstellfunktion (und
auch einer umgekehrten Funktion wie einer Ziehfunktion) bei der Verarbeitung einer Unterbrechung ist in der Fig.10 dargestellt.
Es sei angenommen, daß eine Unterbrechungsanforderung
509828/0447
während derjenigen Taktgeberperiode wahr wird,- in welcher
beispielsweise der Mikrobefehl χ gerade ausgeführt wird. Das nächste Taktgebersignal setzt das Unterbrechungs-Flip-Flop,
wodurch die Unterbrechungsanforderung synchronisiert wird. Das Unterbrechungs-Flip-Flop führt zu einem Sprung
an einen Steuerspeiche.rplatz (in diesem Beispiel x'008'),
in welchem der IO-Unterbrechungs-Mikrobefehl gespeichert
ist. Es wird angenommen, daß dieser Mikrobefehl Rückstellen und unmittelbare Adressenbefehle enthält, deren Wirkung
darin besteht, die Mikroadresse R in den (bei<
I^ auf der Fig. 10 nicht dargestellten) Speicheradressenmultiplexer
zu bringen. , ·
Beim nächsten Taktgebersignal wird die Mikroadresse R in das MikroSteuerregister gebracht und ausgeführt. Gleichzeitig
werden die ΙΟ-Unterbrechungen gelöscht.
Die Unterbrechungsroutine R, R+1, R+2, ... R+n, R+n+1 wird
als nächste ausgeführt. Der Mikrobefehl R+n enthält einen IO-Steuermikroopei'ationskode, welcher den ΙΟ-Modul ansteuert,
um die Unterbrechungsanforderung ((2^) fallenzulassen. Der
Mikrobefehl R+n+1 enthält einen Ziehbefehl, der im nächsten Abschnitt diskutiert wird (3')· Zu dieser Zeit wird durch
das Aktivierungs-10-Unterbrechungs-Statusbit vom Rückstellstapel
der ursprüngliche IO-Unterbrechungs-Aktivierungs-Status wieder hergestellt.
x'71 Ziehen. Die Mikroadresse von dem zuletzt benutzten
Rückstellstapelplatz wird über die C-Schiene beim ersten Taktgebersignal in das Mikroadressenregister 20 gebracht.
Gleichzeitig v/erden die Statusbits von dem zuletzt benutzten Rückstellstapelplatz in das Statusregister gebracht. Derjenige
Mikrobefehl, welcher der Mikroadresse entspricht, die nach MAR übertragen wurde, wird bei dem zweiten Taktgebersignal
in das MikroSteuerregister übertragen und steht während der
509828/0447
50- 24522 H
dritten Taktgeberperiode zur Ausführung zur Vörfügung". I).us
Mikroadressenregister wird beim zweiten Taktgebersignal auf
die nächste Mikroadresse in der Folge erhöht,. Dieser Mikrooperationskode besetzt zwei Taktgeberperioden.
15) *-.
PS(O-H)
SR(0-5) P3(i2-17).PHIn
MAR(O-II) ^— 0(4-15).PHIn
MGR(O-31) O.PHIn .
MAM(O-H) MAR(O-H)
MOR(O-31) -— CM(0-3i)(MAM0-1i).PHIn+1
MAR plus 1 bei PHIn+1
x'81 Prüfung/Verzweigung Überlauf = 1. Es wird der Zustand
bzw. Status des Überlaufbits in dem Statusregister geprüft. Wenn diese Prüfung erfolgreich ist, wird der Wert auf der
C-Schiene in die Einheit MAR 20 gebracht, um als Mikroadresse zu dienen. Wenn die Prüfung nicht erfolgreich ist, erhöht MAR
auf die nächste Mikroadresse in der Folge. Der Wert auf der C-Schiene·hängt
von der C-Schiene/Register-Steuerfunktion ab.
Die C-Schiene/Register-Steuerung ist nicht χ 1B1: Wenn die
Prüfung erfolgreich ist, werden die 12 Bits mit dem geringsten Stellenwert der C-Schiene nach MAR 20 geladen, und av ar bei
dem folgenden MikroOperationskode. Das Statusregister wird nicht verändert. Derjenige Mikrobefehl, welcher der Mikroadresse
entspricht, welche nach MAR übertragen wurde, v/ird bei dem zweiten Taktgebersignal, welches auf den Mikrooperationskode
folgt, in das. MikroSteuerregister 24 übertragen und
steht zur Ausführung während der dritten Taktgeberperiode zur Verfügung. Diese Prozedur setzt zwei Taktgeberperioden.
Wenn die Prüfung nicht erfolgreich ist, erhöht das Mikroadressenregister
20 auf die nächste Mikro adr es se in der
Folge, und zwar beim ersten Taktgebersignal. Unter diesen
5 0 9828/0447
24522U
Umständen besetzt dor Hikrooperationskode eino-Taktgcibecperioär
Wenn OV = 1 und CB/RC / χ'B', dann
MAR(O-H) £ 0(4-15).
MOR(O-31) ^— O.PHIn
MAM(O-11) k
MAR(O-H)
MCR(O-Ji) ±— OM(O-31) (MAMO-11), PiIIn+1
andernfalls MAR plus 1 bei PHIn
Prüfungs/Verzweigungs-Funktionen χ'9' bis χ'P' folgen dem Muster,
welches unter x'8' oben erläutert wurde. Nur die überprüfte Bedingung
ist verschieden.
x'91 Prüfungs/Verzweigungs-C-Schiene = 0. Es wird der Status
der O-Schiene = 0 im Statusregister geprüft.
x'A1 Prüfungs/Verzweigungs-übertrag =1. Es wird der Status
des Übertragbits im Statusregister geprüft.
X1B1 Prüfungs/Verzweigungs-CMSB = 1· Es wird der Status des
Bits mit dem höchsten Stellenwert auf der C-Schiene geprüft, welches bei arithmetischen Operationen das Vorzeichenbit ist.
Wenn das Vorzeichenbit .1' ist (negativ), ist die Prüfung erfolgreich.
X1C Prüfungs/Verzweigungs-Überlauf / 1. Wie x'81, außer
daß die Prüfung umgekehrt ist.
X1D1 Prüfungs/Verzweigungs-C-Schiene / 0. Wie x'9'} außer
daß die Prüfung umgekehrt ist.
X1E1 Prüfungs/Verzweigungs-Übertrag / 1. Wie x'A1, außer
da3 die Prüfung umgekehrt ist.
X1I" Prüfungs/Verzweigungs-CMSB / 1. Wie χ 1B1, außer
daß die Prüfung umgekehrt ist.
509828/0447
— S? —
Nachfolgend worden Mehrzweckfelder beschrieben.. Die Mikrobefehlsbits 2O-3I sind in drei 4-Bit-Felder unterteilt,
welche für Mehrfachzwecke verwendet werden (siehe Fig.9)· Die spezielle Verwendung jedes Feldes wird durch
die MikroOperationskodes bestimmt, welche dem IQ-Modus, der B-Schienensteuerung, der G-Schienen/Eegister-Steuerung
und der Verzweigungssteuerung zugeordnet sind. Kurz gesagt, es gibt vier Unterscheidungen:
a. Der ΙΟ-Modus unterscheidet zwischen der Verwendung des zweiten Mehrzweckfeldes, Bits 24—27, für die
Eingangs/Ausgangs-Steuerung oder andere Zwecke.
b. Die B-Schienen-Steuerung unterscheidet zwischen Verwendung des zweiten und des dritten Mehrzweckfeldes,
Bits 24-31, für das Sendefeld oder andere Zwecke.
c. Die C-Schienen/Register-Steuerung unterscheidet zwischen der Verwendung aller drei Felder, Bits 20-31,
für unmittelbare Adressierung oder andere Zwecke.
d. Verzweigungssteuerfeld unterscheidet die Quelle der unmittelbaren Adresse.
Die spezielle Funktion, für sich allein genommen, jedes
MikroOperationskodes für jeden Zweck der Mehrzweckfelder wird unten angegeben.
ALU-Auswahl: Das ALU-Auswahlfeld wird dazu verwendet, die Funktion auszuwählen, die ALU ausführen soll, wie es in der
Fig. 11 dargestellt ist: Zusätzlich können die Bits 20-23 für andere Funktionen verwendet v/erden, wie es in dem folgenden
Abschnitt unter der Überschrift MCR-Steuerung festgelegt
ist.
- I
Der einzige Unterschied zwischen den zwei Sätzen von arithmetischen
Funktionen, die in der Fig. 11 aufgelistet sind,
509828/0447
besteht darin, daß ein ankommender Übertrag eine 1 zu dem
Ergebnis addiert. Wenn somitbeispielsv/eise ALU-Auswahl = χ 1G',
so wird folgendes erzeugt: A minus B minus 1 (Einer-Koraplorient-Subtraktion)
mit Übertrag falsch und A minus B (Zweier-Komplement -Subtraktion) mit Übertrag wahr.
Arithmetische Operationen können Veränderungen in den Statusbits
Übertrag, C-Schiene = 0, C-Schiene MSB und Überlauf erzeugen.
Das Statusregister wird bei dem nächsten Taktgebersignal auf den neusten Stand gebracht, welches jeder arithmetischen
Operation folgt (ebenso wie zu anderen Zeiten), um diese Veränderungen v/iederzugeben. Die Statusbits wurden in
einem Abschnitt oben bereits erläutert, der Überlauf wird jedoch im einzelnen unten weiter erläutert.
Das Überlauf-Statusbit wird immer dann gesetzt, wenn das Er- '
gebnis der arithmetischen Funktionen A plus B (ALU-Modus = 0, ALU-Auswahl = x'91) und A minus B (ALU-Modus = 0, ALU-Auswahl
= 2'6') zu groß ist, um in einem 16-Bit-Wort untergebracht zu
werden (oder einem 8-Bit-Byte). Ein Überlauf kann bedingungslos gesetzt oder zurückgestellt werden.
Die folgenden Bedingungen gelten, um einen Überlauf zu setzen, unter der Annahme, daß A und B Zweier-Komplement-Zahlen sind:
1. Wenn A plus B und
A positiv, B positiv und der Ausgang ALU 44 negativ oder A negativ, B negativ und der Ausgang ALU 44 positiv
2. Wenn A minus B und
A positiv, B negativ und der Ausgang ALU 44 negativ oder
A negativ, B positiv und der Ausgang ALU 44 positiv
Der obige Algorithmus wird auf das rechte Byte des A-O-Torrir/lcn...
des B-Operanden und des Ausgangs ALU angewandt, wenn sowohl die A-Schienen-Steuerung als auch die B-Schienen-Steuerung beide
eine Byte Operation festlegen. Andernfalls wird der Algorithmus auf das gesamte 16-Bit-Wort angewandt. E3 wird auch auf
den Abschnitt mit der Überschrift Wort/Bvte-Onoration l-p-η-··«-
509828/04 47
ORIGINAL
Sobald ein Überlauf gesetzt ist, bleibt er gesetzt, bis er
durch einen MikroSteuerbefehl abgeschaltet wird (siehe MCR-Steuerfeld). . . ■
MCR-St euerung:' Wenn IO-Modus = 0, dann, ist dre B-Schienen-Steuerung
nicht 3 (Sendefeld nach B-Schiene) und wenn C-Schienen/Register-Steuerung
nicht χ 1B1 ist (unmittelbare
Adresse), werden die Bits 24-27 zum MCR-Steuerfeld (siehe Fig.9). Dieses Feld betrifft die Übersetzeroperation, Aktivierung/Löschung
und Auslesen von IO-Unterbrechungen, Schreiben/Lesen des Steuerspeichers und Aktivieren anderer
Funktionen. .
MCR-Funktion
X1O1 Keine spezielle Funktion.
x'1r C-Schiene zum Übersetzer. Ein 16-Bit-Makrobefehl
auf der C-Schiene, der normalerweise von dem Zwischenspeicher/Hauptspeicher erhalten wird, wird zum Übersetzer 15
übertragen.
T <— C
x'21 Rückstellen MAR. Es wird das Mikroadressenregister
auf die Mikroadress . 0 zurückgestellt. Das Mikrosteuerregister 20 wird zurückgestellt, so daß bei PHI überall Nullen
sind, und zwar auf diesen MikroOperationskode hin, so daß ein NOP während der folgenden Taktgeberperiode ausgeführt wird.
Es wird die Erhöhung des Mikroadressenregisters bei PHI gesperrt,
so daß das Mikroadressenregister fortfährt, während der folgenden Taktgeberperiode die Mikroadresse 0 beizubehalten.
Der Mikrobefehl, v/elcher der Ilikroadresse 0 entspricht,
erreicht das MikroSteuerregister 20 bei dem zweiten PHI, welcher auf den MikroOperationskode folgt, und steht zur
Ausführung während der dritten Taktgeberperiode zur -Verfugung. Die Ausführung dieses MikroOperationskodes erfordert zwei Taktgeberperioden·
509828/0447
MAR(O-H) ^r- 0
MAR unverändert bei PHIn
MCR(O-31) ^— O.PHIn
-ς— CM(O-31) (MA=O) .PIIIn+1
24522H
x'3' Lesen Vektor 1 zur Α-Schiene vom Übersetzer (vorzugs
weise). Der Vektor 1 (eine 12-Bit-Mikroadresse) wird gelesen
und vom Übersetzer 15 zu der Α-Schiene gebracht.
A(4-15) ^--VI(O-H)
Weiterhin wird, wenn IOM = O, C-Schiene/Registersteuerung
= x'B1 und Verzweigungssteuerung = x'i', die unmittelbare
Adressenprozedur wirksam. Die Mikroadresse Vektor 1, die
jetzt auf der Α-Schiene ist, adressiert über den Speicheradressmultiplexer 26 einen Platz im Steuerspeicher 22. Zur
selben Zeit werden die 12 Bits den A-Operanden-Eingängen von ALU zugeführt, um Eins erhöht, direkt auf die C-Schiene
übertragen und dem Mikroadressenregister 20 beim nächsten Taktgebersignal zugeführt. Durch diese Kombination von Mikro
operationskodes wird eine Vektor-Mikroadressierung mit einem Taktgeberzyklus erreicht.
χ'4' Aktivieren ΙΟ-Unterbrechungen. Es wird das IO-Unterbrechungsregister
aktiviert, wodurch es ermöglicht wird, daß die gemültiplexte EingangsYAusgangs-Unterbrechung angenommen
und folglich bearbeitet wird. Auf diesen MikroOperationskode hin bleibt das IO-Unterbrechungsregister aktiviert, bis es
durch MCR = 6 abgeschaltet wird oder durch die SOU-Einrichtung,
wenn eine Unterbrechung auftritt, wie es in dem folgen den Abschnitt unter der Überschrift System Eingang/Ausgang
diskutiert wird. Es wird auch auf Fig.10 hingewiesen.
IR *— ΙΟΙ
x'51 Lesen Vektor 2 nach Α-Schiene vom Übersetzer* Der
Vektor 2 (eine 12-Bit-Mikroadresse) wird geles-en und vom
509828/0447
-56- 24522U
Übersetzer 15 auf die Α-Schiene gebracht. Für eine Beschreibung
der Mikroadressierung in einem Taktgeberzyklus wird auf x'3' hingewiesen.
χ'6' Löschen ΙΟ-Unterbrechungen. Löschen des IO-Unterbrechungsregisters,
Sperren der Annahme einer gemultiplexten ΙΟ-Unterbrechung und folglich Verhinderung der Auswirkung
auf die Unterbrechung. Auf diesen MikroOperationskode hin bleibt das IO-Unterbrechungsregister gelöscht, bis es durch
MOR = 4- aktiviert wird.
IR <r/~ ΙΟΙ
x'71 Lesen Argument nach B-Schiene vom Übersetzer. Das
Argumentfeld eines Makrobefehls, wie beispielsweise das
Adressenfeld, welches zur Berechnung direkter oder indirekter Speicherplätze verwendet wird, wird gelesen und vom Übersetzer
auf die B-Schiene gebracht.
B(O-15) <— ARG(0-15)
χ'8' Lesen MCP-Dateneingangsschalter nach C-Schiene
0(0-15) «ς— MOP(O-15)
χ'9' Nicht zugeordnet.
x'A'· Andere Punktionen. Es wird der Ausgang von ALU nach
der 0-Schiene gesperrt, was die Bits 20-23 dazu in die Lage
versetzt, daß sie dazu verwendet werden, andere Funktionen wie die folgenden zu kodieren:
- Andere Funktionen
Rückstellen Überlauf-Status-Bit. OV = 0
Setzen Überlauf-Status-Bit. OV = 1
Rückstellen Steuer-Modus-Status-Bit. CON = Setzen Steuer-Modus-Status-Bit. 0OF = 1
Nicht zugeordnet
Einschreiben Mikrosteuerspeicher 16 Bits werden von der Α-Schiene in die linke Hälfte des. Steuerspeichers
509828/0447
Bits | 20 | - 23 |
x1 | 81 | |
X1 | 91 | |
X1 | A1 | |
X1 | B1 | |
X1B | ||
x'O |
-57- 24522U
übertragen, und zwar an einen Platz, welcher durch die Bits 3-14 der B-Schiene adressiert ist, wenn B15 falsch ist, oder
in die rechte Hälfte, wenn B15 wahr ist, wie es unten erläutert
wird· Derjenige Mikrobefehl, welcher der Mikroadresse
für die Mikrooperationskodeperiode entspricht, erreicht das MikroSteuerregister bei dem zweiten Taktgebersignal, welches
auf den MikroOperationskode folgt, und.steht für eine Ausführung während der dritten Taktgebersignalperiode zur Verfugung.
Die Ausführung dieses MikroOperationskodes erfordert zwei Taktgeberperioden.
Wenn B15 = 0, dann OM-RAM(O-I5)(BO3-BI4) 4— A(O-I5)
andernfalls CM-RAM(16-31)(BO3-B14) <r~ A(0-15)
MGR(0-31). «— OiPHIn
MOR(O-31) <— CM(0-3i)(MAM0-1i).PHIn+1
MAR plus 1 bei PHIn+1
xxx
Adresse :4R
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
X1D1 Lesen Mikrosteuerspeicher· Die linke Hälfte der Mikrobefehlsadresse
durch BO3 - B14 von B-Schiene wird von dem Steuerspeicher an die C-Schiene übertragen, v/enn BI5 falsch
ist, oder in die rechte Hälfte, wenn BI5 wahr ist. Dieser
Mikrooperationskode erfordert zwei Taktgeberperioden.
Wenn BI5 = 0, dann 0(0-15) «— GM(O-15) (BO3-BI4)
andernfalls 0(0-15) ^— OM(16-31)(BO3-B14)
MCR(O-31) k
O.PHIn
MCR(O-31) 4ζ— CM(0r3i)(MAM0-1i).PHIn+1
MAR plus 1 bei PHIn+1
X1E1 lesen ΙΟ-Unterbrechungen nach Α-Schiene. Die Einrichtungsadresse
der ΙΟ-Steuereinheit mit der höchsten Priorität und mit einer anstehenden gemultiplexten ΙΟ-Unterbrechung wird auf die
Α-Schiene übertragen.
509828/0447
A f— DA - ■ . >- .--^--
x'F1 Ficht zugeordnet.
ΙΟ-Steuerung:. Wenn-IQ-Modus wahr ist (siehe Fig·9),"'werden
die Bits 24—27 zum ΙΟ-Steuerfeld. Dieses Feld wird dazu verwendet, die ΙΟ-Moduln zu betätigen, wie es in einem späteren
Abschnitt beschrieben wird.
Einrichtungsauswahl: Wenn die B-Schienen-Steuerung nicht
3 ist und die C-Schienen/Register-Steuerung nicht x'B1 ist,
werden die Bits 28-31 zum EinrichtungsauswahlfeId. Dieses
Feld in Verbindung mit RA-Auswahl wirkt als eine IO-Einrichtungsadresse
mit V7 Bit.
Sendefeld: Wenn ΙΟ-Modus falsch ist, B-Schienen-Steuerung 3 ist und G-Schienen/Register-Steuerung nicht x'B1 ist, werden
die letzten acht Bit des Mikrobefehls vom MikroSteuerregister 24 zu den Bits 8-15 der B-Schiene übertragen.
B(8-15) <:
MGR(24-31)
B(0-7) <z— O "
Unmittelbare Adresse: Wenn ΙΟ-Modus falsch ist und C-Schienen/Register-Steuerung
x'B' ist, so werden die letzten zwölf Bits des Mikrobefehls, welche als unmittelbare Adresse
bezeichnet werden, als Mikroadresse für den Steuerspeicher verwendet, wie es unter dem Abschnitt C-Schiene/Register-Steuerung
= x'B' beschrieben ist.
Bit-Schaltung/Stellung: Wenn ΙΟ-Modus wahr ist und die B-Schienen-Steuerung
3 ist, so ist davon auszugehen, daß die Bit-Schaltung eingeschaltet ist und RB-Auswahl zu dem Bit-Stellung-Zuordnungsfeld
wird. Dieses Feld ordnet einen Einer-Status einem beliebigen der Bitplätze 8 bis 15 auf der B~Schiene
zu, wie es in der Fig. 12 aufgelistet ist.
50 9-8 28/0447
- 59 - 24522U
Schienenausnutzung: Einige Kombinationen von Feldern versuchen,
Daten von mehr als einer Quelle auf eine Schiene zu bringen, aber die Sammelschienen A, B oder C können
durch verschiedene Felder irgendeines Mikrobefehls nur
für einen Zweck verwendet werden. Dies bedeutet, nur eine Quelle sollte jeweils einer Schiene zugeordnet sein. Wenn
mehr als eine Quelle zugeordnet ist, wird von der Geräte-
technik her eine willkürliche Priorität gesetzt. In der Fig. 13 sind alle Stanardquellen aufgelistet und weiterhin
fünf zusätzliche Quellen, die vorzugsweise vorgesehen sein können, von welchen Daten auf die drei Schienen gegeben
werden. Die fünf eventuell vorhandenen Quellen sind die Eingang/Ausgang-Einrichtung, Steuereinheit/Moduln,
Befehlsübersetzer, Hilfsspeicher, Hauptspeicher und Wartungssteuertafel.
Für jede Quelle sind die MikroprogrammierungsvorausSetzungen
tabuliert. Für einige Schienenquellen vermeiden die Programmierungsvoraussetzungen die gleichzeitige
Programmierung anderer Quellen.
Nachfolgend wird die Wort/Byte-Operation beschrieben. Eine Byte- oder Wort-Operation ist mittels der Mikrooperationskodes
in dem A-Schienensteuerfeld und dem B-Schienensteuerfeld festgelegt, wie es oben bereits definiert wurde und zur laufenden
Bezugnahme in der Fig. 14 zusammengefaßt ist.
Es gibt zwei Aspekte für die Byte- oder Wort-Operation:
erstens, die Anwendung eines Bytes oder eines Wortes von der Α-Schiene zu dem Α-Operanden von ALU 44 und von der B-Schiene
zu dem B-Operanden von ALU 44, und zweitens, die Übertragung eines Bytes oder eines Wortes von der C-Schiene zu einem allgemeinen
Register 10 oder einer Eingangs/Ausgangs-Schiene oder dem Register 4. Der zweite Aspekt ist nur für die in der Fig.
14 aufgelisteten C-Schienen/Register-Mikrooperationskodes wirksam, während der erste Aspekt nur von der A-Schienensteuerung
oder von der B-Schienensteuerung abhängt.
509828/04 4 7
- 6° - 2A522U
Im arithmetischen Modus werden die Statusbits ausführen,
Bit mit dem höchsten Stellenwert der C-Schiene und Überlauf so modifiziert, daß sie eine Byte- oder Wort-Operation
reflektieren.
Übertrag; ALU erzeugt übertrag (Byte) von ALU08 und Übertrag
(Wort) von ALUOO. Übertrag (Byte) wird zu Übertrag, wenn sowohl die Α-Schiene als auch die B-Schiene im Byte-Modus
sind, d.h. beide Schienen entweder ein linkes Byte oder ein rechtes Byte liefern, beide rechtsbündig, und
zwar zu den ALU-Operanden, vorausgesetzt, die C-Schienen/ Register-Steuerung ist nicht x'B1, unmittelbare Adressierung.
Andernfalls wird Übertrag (Wort) zu Übertrag.
Insbesondere,
Übertrag = Übertrag (Byte) (A-Schienen-Steuerung =1+2)
(B-Schienen-Steuerung = 1 + 2)
(C-Schienen/Register-Steuerung /B) (Verzweigungssteuerung /7)
+ Übertrag (Wort) (Verzweigungssteuerung / 7) +
(Rückstellstapel) (Verzweigungs-Steuerung = 7)
CMSB; Das Bit mit dem höchsten Stellenwert der C-Schiene (Vorzeichen-Bit)
wird von 008 abgeleitet, wenn die A-Schienensteuerung 2 ist und die C-Schienen/Register-Steuerung die Verwendung
von RA-Auswahl, Einrichtungs-Auswahl, ΙΟ-Modus und A-Schienensteuerung
als Wegadresse festlegt oder wenn die B-Schienensteuerung
2 ist und die C-Schienen/Register-Steuerung die Verwendung von RB-Auswahl und B-Schienen-Steuerung als Wegadresse
festlegt, wie es durch die Unterstreichung in der Fig.14 dargestellt ist»
Insbesondere,
CMSB = C08(Verzweigungs-Steuerung /7) /CA-Schienensteuerung »2
(C-Schienen/Registersteuerung <= 2,4,6,A,C,
EF)
B-Schienensteuerung «2
(C-Schienen/Register-09828/0447 steuerung = 5,5,7).
~61~ 24522 U
+ COO (Verzweigungssteuerunp; £ 7). N /Ceine Schienensteuerung
= 27 (C-Schienen/Eegist.er
Steuerung= 2,4,6,A,C,E,ί1)+ (B-Schienensteuerung = 2)
(C-Schienen/Register)
Steuerung = 3?5»7)_7+ (Eückstellstapel) (Verzweigungs-
" steuerung = 7)
Überlauf: Ein tiberlauf wird auf einer Byte-Basis erzeugt, wenn
sowohl der Α-Operand als auch der B-Operand von ALU 44 auf einer
Byte-Basis sind. Hingegen wird ein Überlauf auf einer Wortbasis erzeugt, wenn entweder der Α-Operand oder der B-Operand
auf einer Wortbasis ist. Der Überlauf wird unten unter dem Abschnitt
ALU-Auswahl diskutiert.
Nachfolgend wird Set zen/Eückst eilen/Prüf en eines Bits erläutert.
Das Bit-Schalt/ und das Positionsfeld können dazu verwendet werden, ein Bit einer Datenfunktion zu setzen, rückzustellen
oder zu prüfen. Diese Zwecke werden dadurch erreicht, daß die Daten auf der Α-Schiene mit einem bekannten Bit auf der B-Schiene
verglichen werden. Diese Vergleiche werden von ALU 44
in einer geeigneten Auswahlfunktion durchgeführt. Das bekannte Bit auf der B-Schiene wird durch das Bit-Positionsfeld geliefert.
Die Prozedur ist folgende:
1. Eingeben der Datenfunktion auf die Α-Schiene. Da das Bit-Positionsfeld Bits nur den Positionen B08 - BI5 zuordnet,
muß derjenige Teil der A-Schienenfunktion, welcher verglichen werden soll, den Positionen A08-A15 beim A-Operanden
von ALU zugeführt werden. Dies geschieht durch die Verwendung einer A-Schienensteuerung, wie es in der Fig. 14 dargestellt
ist..
2. Einsetzen der gewünschten Bitpositionsmaske auf die Schiene B, Verwendung des Bit-Positionsfeldes.
3. Bei ALU-Modus wahr (logische Operation) wird ALU-Auswahl
verwendet:
6109028/0447
-Γ-
-62- 24522 U
Um ein Bit zu setzen: ALU Auswahl = x'E1 (A + B)
Beispielsweise: A-Schiene = 0100 0001
B-Schiene » 0000 1000 C A + B - 0100 1001
Zum Rückstellen eines Bits: ALU Auswahl =. x!7' (A.NB)
A-Schiene » 0100 1001 B-Schiene = 0000 1000
C A.NB = 0100 0001
Zum Prüfen eines Bits: ALU-Auswahl = x'B (A.B)
A-Schiene ■ 0000 0001 B-Schiene = 0000 1000 C A.B = 0000 0000
In diesem Pail wird dann, wenn C-Schiene = 0, Prüfen/Verzweigen
als nächster Mikrobefehl verwendet. Wenn C-Schiene = 0,
dann ist das Bit auf der A-Schiene, welches geprüft wird,
gleich 0. Andererseits ist dann, wenn C-Schiene niht gleich 0 ist, das geprüfte Bit gleich 1.
dann ist das Bit auf der A-Schiene, welches geprüft wird,
gleich 0. Andererseits ist dann, wenn C-Schiene niht gleich 0 ist, das geprüfte Bit gleich 1.
Nachfolgend werden die Adressierung und die Verzweigung beschrieben.
Es gibt drei Formen der Adressierung: sequentielle (Erhöhen Mikro-Adressenregister), unmittelbare und relative
Adressierung und zwei Typen der Verzweigung: unbedingte und
bedingte Verzweigung.
Adressierung und zwei Typen der Verzweigung: unbedingte und
bedingte Verzweigung.
Sequentielle Adressierung: Das Mikro-Adressenregister 20 erhöht
auf die nächste Mikroadresse, und zwar in Abwesenheit
von folgendem:
von folgendem:
a. C-Schienen/Register-Steuerung = x'11 oder x'9' (C-Schienen-Daten
nach MAR) oder x'B1 (unmittelbare oder Einrichtungsadressierung) und
b. Verzweigungssteuerung = x'4-' oder x'51 öder x'8" über X1F'
(Prüfungs/Verzweigungs-lunktionen) oder x'61 (Rückstellen)
oder x17' (Ziehen) und
609828/0447
"63■" , 24522U
c. Bestimmte Funktionsschaltungen sind auf die Wartungssteuertafel
66 geschaltet.
Unmittelbare Adressierung: Wenn IOM = O und die C-Schienen/
Register-Steuerung = x'B1, liefert das unmittelbare Adressenfeld
von den letzten 12 Bits des Mikrobefehls die nächste
Mikroadresse. Wenn IOM = 1 und die C-Schienen/Register-Steuerung » x'B1, so liefert die Einrichtungsadresse plus
128 von der Steuereinheit mit der höchsten Priorität bei einer gemultiplexten anstehenden IO-Unterbrechung die nächste
Mikroadresse. Wenn IOM = , C-Schienen/Register-Steuerung = x'B1, Verzweigungssteuerung = χ'1· und MCR-Steuerung = x'3V
oder x'5', so gibt der Übersetzer 15 den Vektor 1 oder 2
als Mikroadresse auf die A-Schiene.
Die unbedingte unmittelbare Adressierung wird durchgeführt
durch die vorangehenden Felder plus; im Falle der unbedingten oder der Einrichtungsadressierung, Verzweigungssteuerung
« X1O1, normaler Modus Übertrag falsch. Unter diesen Umständen
werden die Aktionen ausgeführt, die im einzelnen unter C-Schienen/Register-Steuerung = x'B1 aufgelistet sind.
Eine bedingte unmittelbare Adressierung oder eine Einrichtungsadressierung wird durchgeführt durch C-Schienen/Register-Steuerung
= x'B' und Verzweigungssteuerung = x'81 über x'F1, die
Status-Bit-Prüf/Verzweigungs-Mikrooperationskodes. Wenn das Ergebnis der durch das Verzweigungs-Steuerfeld festgelegten
Prüfung wahr ist, werden die unmittelbare Adresse oder die Einrichtungsadresse durch den Speicheradressmultiplexer 26
derart zugeführt, daß ein Platz im Steuefspeicher 22 adressiert wird, und um Eins erhöht, erfolgt eine Eingabe über die C-Schiene
in das Mikroadressenregister 20, um als Mikroadresse für die nächste Taktgeberperiode zur Verfügung zu stehen. Wenn
das Prüfungsergebnis falsch ist, liefert der Speicheradressmultiplexer
eine Mikroadresse von dem Mikroadressenregister während der laufenden Taktgeberperiode und das Mikroadressen-
509828/0447
2A522U
register erhöht für die nächste Taktgeberperiode.
Wenn IOM = 0, dann MAM(O-H) ^- A(4-15)
0(0-15) ^— A(4-15) plus 1
MAR(O-H) 0(4-15) .-PHIn
andernfalls MAM90-11) — MAE(O-H) MAR plus 1 bei PHIn
Unmittelbare oder Einrichtungs-AdressmikroOperationskodes
erfordern eine Taktgeberperiode.
Relative Adressierung: Eine relative Adressierung führt eine arithmetische Operation auf der laufenden Mikroadresse
aus, die von dem Mikroadressenregister 20 genommen wird, und vom Wert auf der B-Schiene. Der Wert auf der B-Schiene
kann durch das Sendefeld des Mikrobefehls geliefert werden,
und zwar durch ein allgemeines Register 10 oder eine beliebige andere B-Schienenquelle.
Die relative Adressierung kann unbedingt oder bedingt sein.
Eine unbedingte relative Adressierung kann unter Verwendung der Felder durchgeführt werden, die in der ersten Zeile der
Fig.15 dargestellt sind (wobei angenommen ist, daß der.B-Schienenwert
von dem Sendefeld erhalten wurde). Eine A-Schienensteuerung = 3 gibt den Inhalt des Mikroadressenregisters
20 auf die Α-Schiene. Eine B-Schienensteuerung = gibt das Sendefeld auf die B-Schiene. (Das 8-Bit-Sendefeld
kann einen beliebigen Wert bis zu 255 haben.) ALU-Modus =
und ALU-Auswahl = x'9' "oder x'61 addiert oder subtrahiert
die Α-Schiene und die B-Schiene und gibt das Ergebnis auf die C-Schiene. C-Schienen/Register-Steuerung « χ'ί1 gibt
das Ergebnis in das Mikroadressenregister 20 beim ersten Taktgebersignal ein« Derjenige Mikrobefehl, welcher der
Mikroadresse. entspricht, welche nach MAR übertragen wurde, wird in das Mikro-Steuerregister 24 übertragen, und zwar
beim zweiten Taktgebersignal, und ist zur Ausführung während
609828/04 47
der dritten Taktgeberperiode verfügbar. Eine unbedingte
relative Adressierung erfordert zwei Taktgeberperioden.
-15) t— MAR(O-H)
ALU-A(4-15) i 'AC4-15)
BC8-15) ^- AC4-15)
ALTJ-B(8-15) -— BC 8-15)
Wenn ALU Sei = x'9! dann C(4-15)
ALU-AC4-15) plus
ALU-BC8-15)
Wenn ALU Sei'= x'61 dann C(4-15) ^— ALU-AC4-15) minus
ALU-BC8-15) MAR(O-H) -— C(4-15).PHIn
MCR(O-JD τ
O.PHIn
MAM(O-H) MAR(O-H ) ·
MOEC0-31) τ— CM(0-3D(MAMO-H ).PHIn+1
Eine bedingte relative Adressierung kann durchgeführt werden, wie es in der zweiten Zeile der 3T4-S· 15 dargestellt ist. Cn
wird durch die gerätetechnische Einrichtung auf 0 gebracht; folglich ist nur die Spalte Cn «= 0 von ALU-Auswahl verwendbar.
Wenn die Prüfung erfolgreich ist, sind die Operationen dieselben wie für eine unbedingte relative Adressierung. Wenn
die Prüfung nicht erfolgreich ist, erhöht das Mikroadressenregister
bei dem ersten Taktgebersignal. Wenn somit die Prüfung erfolgreich ist, nimmt die bedingte relative Adressierung
zwei Taktgeberperioden ein; wenn sie nicht erfolgreich ist, nimmt sie eine Taktgeberperiode ein.
Nachfolgend wird das Abtasten des Mikroprogramms erläutert. Das unten aufgelistete Mikroprogramm hat eine dreiteilige
Tabelle im Hauptspeicher, die an dem Platz (dezimal) 1000 beginnt. Der erste Teil der Tabelle enthält 66 Datenwerte.
Der zweite Teil enthält die unteren Grenzen und der dritte Teil enthält die oberen Grenzen. Der Zweck des Mikroprogramms
besteht darin, einen Datenwert mit der unteren und der oberen Grenze zu vergleichen.
509828/0447
24522U
1. | 1872 | 0A03 |
2. | 18B2 | 0AE8 |
3. | 1433 | 0942 |
4. | 2902 | 2F00 |
5. | 1032 | 0942 |
6. | 3902 | 2P00 |
7. | 2300 | 1600 |
8. | OOOB | IODO |
9. | 1032 | 0942 |
10. 39OA 2F00
11. | 3200 | 1600 |
12. | OOOB | F0D4 |
13. | 1032 | 1684 |
14. | 1400 | 1600 |
15. | OOOB | BOCB |
Laden GR1 mit dem Platz der Daten
Vervollständigen des Ladens GR1 mit dem Platz der Daten
Setzen der Grenze für Schleifenprüfung
Daten aus der Tabelle
Setzen des Zeigers auf die' untere Tabellengrenze
Untere Grenze von der Tabelle
Sind Daten größer als untere Grenze?
Ja
Setzen eines Zeigers auf die obere Tabellengrenze
Obere Grenze von der Tabelle und Erhöhen des Zeigers
Sind die Daten geringer als obere Grenze?
Ja
Rückstellen des zeigers auf Datentabelle
Ist Schleife vollständig?
Abtastung vollständig (Programm würde fortgesetzt)
Die Auswirkungen jedes Feldes des ersten Mikrobefehls sind unten im einzelnen angegeben.
Feldwert
1
8
7
1
8
7
Wirkung
IOM « 0; RA-Auswahl - GR1
ALUM « 1; BB-Auswahl- GRO A-Schienen-Steuerung «= 1
A «— GR1/ ALU-A(8-15) ^— A(0-7)
B-Schienen-Steuerung =3
B(8-15) « MCR(24-31)
ALU-B(8-15) t
B(8-15)
C-Schienen/Register-Steuerung = 2
0(0-7) <— ALU(8-15), 0(8-15) <f—
GR1(0-7) t C(0-7).PHIn
828/0447
~67~ 24522 U
O Verzweigungs-Steuerung = O
C r— ALU1 cn = O
SR * S.PHIn
. A ALUSEL = X1A1
C r— B
O Senden
3 Senden
Insgesamt wird durch diesen Mikrobefehl folgendes ausgeführt:
a. Übertragung eines 8-Bit-Sendefeldes auf die B-Schiene
(rechtsbündig). (Das Sendefeld zu dem B-Schienen-Mikrooperationskode übergeht das allgemeine Register zu dem B-Schienen-Mikrooperationskode.)
b. Es wird der Inhalt der B-Schiene über ALU zur C-Schiene
übertragen (linksbündig).
c. Es wird der 8-Bit-C-Schienenwert (linksbündig) in die linke Hälfte des allgemeinen Registers 1 eingeschrieben.
Der zweite Mikrobefehl, 18B2 0AE8, ist ähnlich, mit der Ausnahme, daß er den Inhalt des Sendefeldes in die rechte Hälfte
des allgemeinen Registers 1 einschreibt. Nach dem Ausführen dieses Mikrobefehls wird die Hexadezimalzahl O3E8 in das allgemeine
Register 1 eingeschrieben, welche der Dezimalzahl 1000 entspricht, wobei festgelegt ist, daß diese Zahl den ersten
Platz der Tabelle im Hauptspeicher angibt.
Der dritte Mikrobefehl„ 1433 0942, überträgt die Hexadezimalzahl
03E8 zur Α-Schiene und die Hexadezimalzahl 42 von dem Senäefeld zur B-Schiene, addiert sie in ALU und bringt das
Ergebnis, die Hexadezimalzahl 042A, in das allgemeine Register 4, und zwar über die C-Schiene.
50 9828/0 447
Der vierte Mikrobefehl, 2902 2P00, bringt den~Inha-lt~d.es
allgemeinen Registers 1, die Hexadezimalzahl OJES1 auf die
B-Schiene und verwendet diese Zahl zur Adresse des Hauptspeichers. Die Inhalte dieses Speicherplatzes werden auf
die C-Schiene gebracht und in das allgemeine Kegister 2
übertragen. (Wenn der Hauptspeicher aktiviert wird, wird der Ausgang von ALU zur C-Schiene gesperrt.)
Der fünfte Mikrobefehl, 1032 0942, überträgt das 8-Bit-Sendefeld,
die Hexadezimalzahl 42, von dem MikroSteuerregister über die B-Schiene zu dem B-Operandeneingang von ALU. Er führt die
Hexadezimalzahl 03E8 von dem allgemeinen Register 1 über die Α-Schiene zu dem Α-Operanden. ALU addiert diese zwei Zahlen
und gibt die Summe, die Hexadezimalzahl 042A, auf die C-Schiene.
Von der C-Schiene wird diese Zahl im allgemeinen Register 1 abgespeichert.
Der sechse Mikrobefehl, 3902 2Γ00, bringt den Inhalt des allgemeinen
Registers 1, die Hexadezimalzahl 042A, auf die B-Schiene und verwendet diese Zahl zur Adressierung des Hauptspeichers.
Dieser Platz enthält die erste untere Grenze. Diese untere Grenze wird auf die C-Schiene gebracht und in das allgemeine
Register 3 übertragen.
Der sübte Mikrobefehl, 2300 1600, bringt den Inhalt des allgemeinen
Registers 2 (die ersten Daten) auf die A-Schiene und den Inhalt des allgemeinen Registers 3 (die erste untere
Grenze) auf die B-Schiene. ALU wird derart eingestellt, daß die untere Grenze von den Daten subtrahiert wird und das Ergebnis
auf die C-Schiene gebracht wird. Die C-Schienendaten
sind nicht an irgendeine Bestimmung gebunden. Bei demselben Befehl wird das Bit mit. dem höchsten Stellenwert der C-Schiene
im Statusregister abgespeichert.
5098 287 04 47
Der achte Mikrobefehl, 00OB FODO, prüft das Bit mit dem
höchsten Stellenwert der C-Schiene von dem vorhergehenden
Mikrobefehl, welches jetzt im Statusregister gespeichert ist. Wenn das Bit 0 ist (positiv), wodurch angezeigt wird,
daß der erste Datenwert größer ist als die untere Grenze,
wird die nächste Mikroadresse, die Hexadezimalzahl ODO, aus dem unmittelbaren Adressenfeld des Mikrobefehls über
die Α-Schiene geholt und weiter über den Speicheradressmultiplexer. Zur selben Zeit wird der Inhalt des unmittelbaren
Adressfeldes ALU zugeführt, um Eins erhöht und über die C-Schiene dem Mikroadressenregister bei dem nächsten
Taktgebersignal zugeführt. Diese erhöhte Mikroadresse dient dann als Steuerspeiche^dresse während der nächsten Taktgeberperiode.
Wenn andererseits das Bit mit dem höchsten Stellenwert der C-Schiene 1 ist (negativ), so wird die Mikroadresse
im Mikroadressenregister erhöht. Diese nächste Mikroadresse ißt diejenige, welche sich mit dem Datenwert befaßt, der
geringer ist als die untere Grenze. Dieser Mikrooperationskode liefert ein Beispiel einer bedingten immittelbaren
Adressierung.
Die übrigen Mikrobefehle dieses Mikroprogramms führen ähnliche Funktionen aus.
Nachfolgend wird der System-Eingang/Ausgang erläutert. Im allgemeinen sprechen die Eingangs/Ausgangs-Moduln 4
in der Fig. 1 die bei J dargestellte C-Schiene direkt an und sprechen die jeweils bei 1 und 2 dargestellte A-Schiene
und B-Schiene über die 3-zu-1-Multiplexer 8 an.
Unter der Führung der Steuersignale, welche von dem Steuerspeicher
22 oder dem MikroSteuerregister 24 abgeleitet werden, tenn ein Eingangs/Ausgangs-Modul folgendes ausführen:
509828/0 4 47
2A522U
a. Eaten-, Status- und Unterbrechungsinformation
einer externen Anpasseinrichtung 6 auf die A-Schiene
übertragen; ■"'■"■:
b. Daten- und Steuerinformation von der C-Schiene auf die
externe Anpasseinrichtung 6 übertragen;
c. Daten von der externen Anpasseinrichtung 6 auf die B-Schiene übertragen, um eine direkte Speicheradresse zu
liefern, wenn eine rasche Unterbrechung verwendet wird;
d. Abfühlen des Status von einer oder mehreren externen Bedingungen.
Das Eingangs/Ausgangs-System ermöglicht es dem Benutzer, die
Eingangs/Ausgangs-IHinktionen direkt mit dem Sammelschienenaufbau
der Datenverarbeitungseinrichtung bzw. des Datenprozessors zu verbinden. Jeder einer großen Anzahl von IO-Mouuln
bzw. Eingangs/Ausgangs-Moduln und insbesondere deren Anschlußstellen sind identisch verdrahtet, außer zur Prioritsbsbestimmung.
Jede Stelle kann zu einer Datenübertragung verwendet werden, bei welcher entweder ein Multiplexbetrieb vorliegt
oder bei welcher ein rascherer Direktzugriff zum Speicher vorhanden ist. Bei einer Multiplexer-Anordnung teilen mehrere
ΙΟ-Einrichtungen eine gemeinsame IO-Unterbrechung.
Datenwege: Eine typische IO-Anpasseinrichtung (Steuereinheit)
ist die Anpasseinrichtung des Moduls 4 zur bei 1 dargestellten
Α-Schiene, welche dazu dient, Daten, den Status und eine Unterbrechungsidentifikation
zum Prozessor zu übertragen. Es wird somit eine Anpasseinrichtung zu der bei 3 dargestellten G-Schiene
geschaffen, um Dateninformation und Steuerinformation von dem Prozessor zu übertragen, und es wird eine solche Anpasseinrichtung
geschaffen, daß die Steuerlogik im Prozessor unterbrochen werden kann. Weiterhin wird eine Anpasseinrichtung
zu der bei 2 dargestellten B-Schiene geschaffen, um eine direkte Speicheradressierung zu ermöglichen, wenn die Anpass-
509828/0447
einrichtung (Steuereinheit) die rasche Unterbrechung ausnutzt.
Der Grundprozessor ist dazu in der Lage, Daten auf der A-, der B- und der C-Schiene entweder in 16-Bit-Worten oder in
8-Bit-Bytes zu übertragen. Diese Möglichkeit gestattet eine Anpassung an I/O-Einrichtungen, die auf Byte-Basis orientiert
sind. Sie ermöglicht weiterhin, daß 16-Bit-Anpasseinrichtungen
zwischen Daten- und Status-Information oder zwischen Daten- und Steuer-Information unterteilt werden können.
Unterbrechungen: Zwei Typen von ΙΟ-Unterbrechungen sind im
Prozessor möglich: gemultiplext und schnell.
Die gemultiplexte ΙΟ-Unterbrechung steht für jede IO-Anpasseinheit
(Steuereinheit) zur Verfügung, und kann zu beliebiger Zeit von einem Modul angefordert werden. Als Antwort auf diese
Unterbrechung spricht der Prozessor eine feste Stelle im
Steuerspeicher an, welche ihn mit einer Unterbrechungs-Verarbeitungsroutine verbindet. Die Unterbrechungs-Verarbeitungseinrichtung
fordert dann die Adresse der Einrichtung mit der höchsten Priorität an, bei welcher eine Unterbrechung ansteht.
Diese Adresse wird durch die Einrichtung mit der höchsten Priorität der bei 1 dargestellten Α-Schiene zugeführt. Die Unterbrechungs-Verarbeitungseinrichtung
kann dann die Einrichtungsadresse als indirekte Adresse verwenden, und zwar für die Verarbeitungseinrichtung
für die spezielle IO-Steuereinheit.
Die schnelle Unterbrechung spricht einen festen Platz im Steuerspeicher
22 an, der einen einzelnen Befehl enthält. Dieser Befehl bewegt typischerweise Daten zwischen der IO-Steuereinheit
und dem Massenspeicher wie 16, 18. Der Prozessor hat zwei schnelle Unterbrechungen. Eine kann beispielsweise dazu verwendet
werden, Daten in den Prozessor zu holen, und die andere kann dazu verwendet werden, Daten auszugeben.
509828/0447
Mikrobefehl: Die Verwendung der Mikrobefehlsfelder ..lsi. in eine.»
früheren Abschnitt bereits erläutert worden, und zwar anhand der Fig. 9» es ist jedoch zweckmäßig, an dieser Stelle nochmals auf
diese Felder einzugehen, welche für Steuer-Eingangs/Ausgangs-Funktionen verwendet werden. .
Wenn IO-Modus 1 ist, bilden RA-Auswahl- und Einrichtungs-Auswahl-Felder
ein 7-Bit-Adressenfeld, welches dazu in der Lage ist, bis
zu 128 IO-Einrichtungs-Steuereinheiten auszuwählen. RA-Auswahl
und Einrichtungs-Auswahl wählen auch eines von 128 externen Zustandssignalen, die zu prüfen sind, wenn eine der Verzweigungs-Steuerfunktionen
verwendet wird, beispielsweise Prüfung/ Verzweigung beim Setzen oder Rückstellen eines externen Zustandes.
Diese Prüfung ist unabhängig von IO-Modus.
A-Schienen-Steuerung = 0+1+2 bewirkt, daß Daten von der 10-Einrichtungssteuerung,
welche durch IO-Modus," RA-Auswahl und Einrichtungs-Auswahl adressiert ist, auf die A-Schiene gebracht
werden (außer, wenn C-Schiene/Register-Steuerung ist x'B1
oder MCR-Steuerung ist x'31 oder x'5').
A-Schienen-Steuerung liefert auch eine Byte-Auswahlsteuerung
für Daten, die in eine IO-Einrichtungssteuerung eingeschrieben
wurden, und zwar von der C-Schiene, vorausgesetzt, daß C-Schiene/Register-Steuerung
eine Funktion bestimmt hat, welche die Verwendung von IO-Modus, RA-Auswahl und Einrichtungs-Auswahl
umfaßt, um die Bestimmung festzulegen, wie es unten diskutiert wird.
A-Schienen-Steuerung Definition
0 Volles 16-Bit-Wort zur Bestimmung
1 Zum linken Byte der Bestimmung
2 Zum rechten Byte der BestiEintmn;
3 Keine übertragung
509828/0447
Die C-Schienen/Register-Steuerung legt die Bestimmung, der Daten
auf der C-Schiene ebenso fest wie die Steuerung über das Daten-Byte,
welches zwischen ALU 44 und der C-Schiene übertragen wird,
sowie auch das Shiften der Daten nach rechts und nach links,
die von ALU 44 zur C-Sehdme übertragen werden. Dieser Abschnitt
betrifft nur die Bestimmungsspezifikation. Die unten angegebene Tabelle legt die Bestimmung für jeden dekodierten Wert des C-Sebienen/Register-Steuerfeldes
fest:
C-Schienen/Register-Steuerung Bestimmung
0,8 Keine
1,9,B MAR 20
2,4,6,A,C,E,P, IO-Modus, RA-Auswahl und
Einrichtungs-Auswahl-Festlegung 3,5»7 EB-Auswahl-Festlegung
D Nicht zugeordnet
Weiterhin enthält C-Schienen/Register-Steuerung = X1B' einige
andere Ergebnisse, die für Eingangs/Ausgangs-Operationen von Bedeutung sind. Einmal wird die A-Schienen-Steuerung übergangen.
Zweitens wird dann, wenn IO-Modus = 0, der Inhalt des unmittelbaren Adressenfeldes jeweils der Α-Schiene zugeführt.
Wenn jedoch IO-Modus = 1, wird die Einrichtungsadresse (die
aus RA-Auswahl und aus Einrichtungs-Auswahlwerten besteht)
für die Eingangs/Ausgangs-Einrichtungssteuerung mit hoher Priorität, bei welcher eine gemultiplexte ΙΟ-Unterbrechung
ansteht, auf das rechte Byte der Α-Schiene übertragen, während der Inhalt des ALU-Auswahlfeldes in die Bits 4-7 gebracht
wird, was zu folgendem Format führt:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
xxxx ALU Sei 1 RA Sei DS A-Schiene
MCR-Steuerung = x'E1 ist für Eingangs/Ausgangs-Operationen bedeutsam.
Dieser Mikrobefehl bewirkt, daß die Steuereinheit mit
509828/0 447
der höchsten Priorität, "bei welcher eine gemultiplextjL IÖ~
Unterbrechung ansteht, daß sie ihre Einrichtungsadresse gemäß den Erläuterungen im obigen Abschnitt auf die A-Schiene
bringt.
Wenn IO-Modus 1 ist und C-Schienen/Register-Steuerung nicht
x'B1 ist, werden die Bits 24-27 zum Eingangs/Ausgangs-Steuerfeld.
Dieses Feld ist durch den Prozessor nicht festgelegt. Es kann von jeder Einrichtungs-Steuereinheit ausschließlich
als eine EinrichtungsSteuerfeld verwendet werden. Es sollte
von einer bestimmten Einrichtungs-Steuereinheit nur dann beachtet werden, wenn ΙΟ-Modus Eins ist und EA-Auswahl und Einrichtungs-Auswahl
die Adresse der Steuereinheit enthalten. Somit kann jede Einrichtungs-Steuereinheit dieses Feld in
beliebiger Weise interpretieren, die beim Entwurf der Eingangs/ Ausgangs-Moduleinheit ausgewählt wurde.
Anpass-Signale und -Erfordernisse: Die Einheit SCU arbeitet
synchron mit einer einphasigen Taktgebung, mit Ausnahme der
Zugriffe des Hauptspeichers 16, 18, welche eine Doppellangen-Taktgeberperiode
erfordern. Somit laufen sämtliche Vorgänge innerhalb der Einheit in entweder einer oder in zwei Taktgeberzeiten
ab, wodurch die Zeittaktsteuerung der Anpasseinrichtung vereinfacht wird.
Die folgende Tabelle enthält die Signalnamen und -funktionen
der Anpass-Signale. Eine kurze Beschreibung der Funktion jedes Signals folgt:
AOO - A15*. Α-Schiene. Verwendet durch IO-Anpassmoduln, zur
Übertragung von Daten, von Status- und von Unterbrechungsidentifikation zum Prozessor*
509828/0447
-Tj-
. 24522U
BOO - BI5: B-Schiene. Verwendet durch IO-Anpassmoduln, welche
die raschen Unterbrechungen verwenden, um eine Hauptspeicher-..
adresse nach SGU zu liefern.
GOO - G15: C-Schiene. Verwendet durch den Prozessor, zur Übertragung
von Daten- und Steuerinformation zu den IO-AnOassmoduln.
Diese Schiene wird nie durch IO-Anpassmoduln getrieben.
IOM: Eingangs/Ausgangs-Modus. Verwendet durch alle IO-Moduln
bei der Bewertung von Daten, der Steuerung und der Statusübertragung
zu/von dem Prozessor. Die Ausnahme von dieser Regel liegt in der Erzeugung des Signals NEXT, welches während Prüfung/
Verzweigung auf MikroOperationskodes mit externer Bedingung verwendet wird. Die Bedeutung von NEXT wird in einem folgenden Abschnitt
erläutert.
RSAOI-RSAO3: A-Register-Auswahl; EMIT28 - EMIT31: Einrichtungs-Auswahl.
Verwendet zur Adressierung des Eingangs/Ausgangs-Moduls,
der vom Prozessor aktiviert werden soll. Diese sieben Signale werden jedem IO-Modulplatz zugeführt; Es sei darauf hingewiesen,
daß IOM zusammen mit der Einrichtungsadresse vergleichen
verwendet werden muß, um einen ΙΟ-Modul auszuwählen.
BITESEL-L, BYTESEL-R: Byte-Auswahl, links oder rechts. Verwendet
zur Steuerung der Übertragung des linken Bytes oder des rechten Bytes von der C-Schiene zu dem Ausgangspufferregister auf einem
ΙΟ-Modul. Wenn der Mikrobefehl eine Wort-Operation festlegt,
werden beide BYTESEL-Signale wahr.
BCA08, BCAO9: A-Schienen-Steuerung. Kann bei der Einrichtungsadressen-Dekodierung
verwendet v/erden, um ein einzelnes Byte von.Daten zu adressieren.
EMIT24- - EHIT27: Venn IO-Modus 1 ist und C-ächienen/Regiater-Steuerung
nicht χ 1B' ist, wird EMIT24- - EMIT27 zum Eingangs/
Ausgangs-Steuerfeld. Diese vier Signale sind verfügbar, um spezielle Mikrobefehle für die Anpassmoduln zu erzeugen.
50 9 828/04 47
AXDASTROBu]: Abtasten für die Einrichtungs-Adressenübertrafjtm.^
zur Α-Schiene. Gatter-Einrichtungsadresse der Eingangs/Ausgangs-Anpasseinrichtung
der höchsten Priorität, bei welcher eine ge~ multiplexte Eingangs/Ausgangs-Unterbrechung zur A-Schiene ansteht.
. · ·
NAXIOCONT: A-Schienen-Übertragung von der ΙΟ-Steuerung. Wenn sie
tief ist, sperrt sie den Eingangs/Ausgangs-Modul gegen das Einfügen
irgendwelcher Daten in die A-Schiene.
TAKTGEBER: Dieses Signal läuft kontinuierlich, wie es aus dem
Diagramm der Pig. 16 ersichtlich ist, und zwar mit einer Periode
von 35O Nanosekunden und einer Impulsbreite (tief) zwischen
und 80 Nanosekunden.
PHI: PHI ist der System-Taktgeber. Die gesamte Taktsteuerung innerhalb des Prozessors erfolgt mit der ansteigenden Flanke
von PHI. Die Zeittakt-Charakteristiken sind in der Fig. 16 dargestellt. Die Periode ist 350 hs, außer, wenn ein Hauptspeicherzugriff
im Gange ist, wobei die Periode dann 700 ns beträgt. ■ -
NIMHERE: Muß durch den ΙΟ-Modul tief gelegt werden, wenn 10-Modus
= 1 und RSAOI-RSAO3 und EMIT28-31 die Modul-Einrichtungsadresse
enthalten.
NFIR9I, NFIRQ2: Schnelle Unterbrechungsanforderung 1 und 2.
Tief gelegt, um anzufordern, daß eine schnelle Unterbrechung
erzeugt wird.
FI-1, FI-2: Schnelle Unterbrechungsantwort. Erzeugt durch den
Prozessor in Reaktion auf die Anforderung der entsprechenden schnellen Unterbrechung. Die Einrichtung mit der höchsten
Priorität, bei welcher eine schnelle Unterbrechung ansteht, kann dieses Signal verwenden, um das Anforderungssignal zu
entfernen.
509828/0447
FI-IPRIn, FI2?RIn,- FIrI-PRIn+1, FI2PRInt-1: Prioritätsreihon für
schnelle Unterbrechung* Diese Funktionen werden später erläutert.
NIOINT: Gemultit>le>:te allgemeine Eingangs/Ausnranirs-UnterbrechungsanfOrderungsleitung.
Tief gelegt, um eine Unterbrechung anzufordern.
NINTLOGK: Unterbrechungsverriegelung. Das Signal wird durch
den Prozessor erzeugt, um Unterbrechungsanforderungen einzufrieren.
Es kann keine neue Anforderung ausgelöst werden, während NINTLOGK tief liegt. V/eiterhin wird ermöglicht, daß
die gemultiplexte 10-Unterbrechungsprioritätsreihe aufgestellt wird, bevor eine Einrichtungsadresse durch den Prozessor
zu der Α-Schiene gebracht wurde.
PRIn, PRIn+1: Unterbrechungsprioritätsreihe für den Hauptmultiplexer
10. PRIn ist die Prioritätseingangsleitung;
PRIn+1 ist die Pri'oritätsausgangsleitung.
NEXT: Allgemeine externe Zustandeleitung. Wenn der IO-Mo du 1 seine
Einrichtungsadresse auf RSA01 - RSAO3 erkennt und auf
EMIT28-31, so sollte er ohne Rücksicht auf den Status von
IOM seine externe Zustandsleitung oder seine externen Zustandsie
itung en, falls es solche gibt, auf NEXT führen.
NINHB: Sperren B. INHB sperrt das allgemeine Register, welches
durch RB-Auswahl ausgewählt wurde, so daß es 'nicht mit der B-Schiene
verbunden werden kann.
Nachfolgend werden Anpass-Signale erläutert.
509828/0447
A | FOTlKTlON. | Bit | OO | 24522U | • | |
SIG]ML | Schiene | 01 | ||||
AOO | ', | 02 | ||||
ΑΟΐ | j | 03 | ||||
Α02 | 04 | |||||
Α03 | 05 | |||||
Α04 | 06 | |||||
Α05 | 07 | |||||
Α06 | 08 | |||||
Α07 | 09 | |||||
Α08 | 10 | |||||
Α09 | 11 | |||||
Α10 | 12 | |||||
Α11 | 13 | |||||
Α12 | 14 | |||||
Α13 | A | Bit | 15 | |||
Α14 | B | Schiene | Bit | OO | ||
Α15 | Schiene | 01 | ||||
BOO | I | 02 | ||||
Β01 | i | 03 | ||||
Β02 | ι | 04 | ||||
ΒΟ3 | 05 | |||||
Β04 | ; | ! | 06 | |||
ΒΟ5 | j | 07 | ||||
Β06 | f j |
08 | ||||
ΒΟ7 | I | 09 | ||||
Β08 | 10 | |||||
ΒΟ9 | ■ | 11 | ||||
Β10 | i | 1 | 12 | |||
Β11 | i | 13 | ||||
Β12 | V | ■ | 14 | |||
ΒΙ3 | B | t | 15 | |||
Β14 | ||||||
BIS | V | |||||
Bit | ||||||
Schiene |
5 0 98 28/0447
SIGNAL GOO 001 CO 2 CO3
C04 GO5 G06 CO7
G08 CO9 C1O 011 012
013 C14 015
IOM NRSA01 NRSAO2
NRSAO3 NEMIT28 NEMIT29 ■NEMIT3O NEMIT31
EMIT24 EMIT25 EMIT26 EMIT27 BITESEL-R(A)
BYTESEL-L(A) NIIiHB B0A08 B0A09 NIOINT
PRIn PRIn+1
FUNICTION
24522U
C Schiene Bit
: ι
.' 02 03 ■ 04 05 06 · ·
07 08
09 10
11 12 "
13
14
O Schiene Bit 15 I/0-Modus
A-Register-Ausv/ahl-Feld Bit 01, invertien
A-Register-Ausv/ahl-Feld Bit 01, invertien
Il Il
It II
02, "
Einrichtungs-AuswäüL-Eeia Bit 28, "
Il
11
11
Il
It
Il
,1 29 ^ ..
11 30, "
Il
31, " ■
I/O-Steuerfeld-Einsteilung 24
ir ii it 25
Il Il Il 26
ti ii ti 27
Byte-Auswahl (rechts) 11 " (links)
<■ B-Schienen-Üb er gehen-S teuer s ignal
A-Schienen-Steuerfeld (MSB) A-Schienen-Steuerfeld (LSB)
Gemultiplexte I/O-Unterbrechuncrs-
anforderung
Prioritätsreihen-Eingabe (genraltiolexte
I/0-Unterbrechung)
Prioritätsreihen-Ausgabe (gemultinloxte
I/O-Unterbrechung)
509 8 28/ 0 44
NINTIOCK NAXDA'STROBE
NFIRQ2 PI-I PI-2
NEXT NRESET PHI CLOCK RTCC ZP15 Volts ZNI5 Volts
PHPRIn
F12PRIn lHPRIn-5-1
PI2PRXn-s-1.
Bits 24=27
O 1 2 3
Sperrsignal für gejault iolexte 1/0-Unterbreohung
Einrichtungsadresse für A-Schienen-Abtastsignal
Schnelle Unterbrechung ·■¥ 1 Anforderung
Il (I 2 "
1. Antwort
Äußere Zustandsleitung
Leistung Ein und MCP-Anforderung
System-Taktgeber
Freilaufender Taktgeber, 35° ns
60-Hz-Taktgeber
+15 Volt
»15 Volt
Prioritätseingang für schnelle Unterbrechung
Prioritätseingang für schnelle Unterbrechung
Prioritätsausgang für schnelle Unterbrechung
Prioritätsausgang für schnelle Unterbrechung
MCR-Steuerung
(I0M = Oj B-Schienen-Steuerung / 3;
O-Schienen/Register-Steuerung / χ"B1)
Keine speziellen Funktionen G-Schiene zum Übersetzer
Rückstellen MAR
Lesen Vektor 1 nach Anschiene vom Übersetzer
Aktivieren IO-Unterbrechungen
Lesen Vektor 2 nach Α-Schiene vom Über·=
setzer
löschen IO-Unterbrechungen
Lesen Argument nach B-Schiene vom Übersetzer
Lesen MCP-Baten=Eingangsschalter nach
C~Schiene
/0447
9 Nicht zugeordnet
A Andere Funktionen
B Nicht zugeordnet
O Schreiben Mikrosteuerspeicher
D Lesen Mikrosteuerspeicher
E Lesen ΙΟ-Unterbrechungen nach A-Schiene
F Nicht zugeordnet
Adressierung: Jeder IO-Modulmuß auf eine oder mehrere
Einrichtungsadressen antworten. Die Einrichtungsadresse ist aus
dem RA-Auswahlfeld (RSAO1 - RSAO3) und dem Einrichtungsauswahlfeld
(EMIT28 - EMIT31) gebildet, wobei RSAO1 das Bit mit dem
höchsten Stellenwert und EMIT31 das Bit mit dem geringsten
Stellenwert ist. Die spezielle Adresse oder die speziellen ■ Adressen, auf welchen der Modul antwortet, müssen zu der Zeit
zuzuordnen sein, zu welcher der Modul mittels Rückstellrücken, Schalter-η oder nach einer anderen Methode installiert wird, die
rasch durchführbar ist. Daraus folgt zunächst, daß es wünschenswert ist, daß alle ΙΟ-Moduln dieselbe Methode für die Adressenauswahl
verwenden.
Die Logik für die Adressen-Dekodierung ist in.der Fig.17 schematisch
dargestellt. Die mit S bezeichneten Gatter bzw. Verknüpfungsglieder sind Schottky-Gatter.
Das Signal IOMME (IOM-Modul-Aktivierung), welches gemäß der Darstellung
in der Fig.17 erzeugt wird, wird dazu verwendet, den Modul IO zu aktivieren, um auf eine beliebige Anforderung von
ΙΟ-Steuerfeld zu antworten, einschließlich der Übertragung τον.
Daten zu der Α-Schiene und der Aktivierung der O-Schienen-Eingangspuffer.
ME (Modul-Aktivierung) wird hauptsächlich dazu verwendet, die Leitung oder die Leitungen für die externe "Bedingung
auf der Leitung NEXT zu aktivieren. NIMHERE wird dazu verwendet, den G-Schienenpuffer in einer erweiterten IO-Anordnung
zu steuern.
, ft , , - BAD ORiQSNAL
509828/0447
24522U
A-Schienenanschluß: Die Α-Schiene bildet den ¥eg,-welchen
Benutzer nehmen müssen, wenn sie Daten in den Prozessor eingeben wollen. Dieser Weg ermöglicht es dem Benutzer,
Daten auf der einen Seite der Logikeinheit 44 einzugeben,
mit diesen Daten eine Funktion auszuführen und das Ergebnis dem Benutzer auf der O-Schiene zurückzuübertragen, und
zwar laufen alle diese Vorgänge innerhalb einer Zykluszeit des Prozessors ab«
Die Logik für die Übertragung von Eingangsdaten zu der A-Schiene kann folgendermaßen aufgebaut sein;
Aktivieren Daten nach Ä-Schiene - IOMME·INPUT»NAXIOCONT,
wobei IOMME = IÖ-Modul durch Mikrobefehl ausgewählt, wie es
in der Fig. 17 dargestellt ist.
INPUT = Konfiguration des IO-Steuerfeldes, EMIT24 - 27
legt entweder Daten oder eine Statusinformation als Eingang
zum Prozessor fest.
B-Schienenanschluß: Die B-Schiene bildet den Weg für Benutzer, den sie nehmen müssen, wenn eine direkte Speicheradresse an den
Prozessor geführt werden soll, falls die schnellen Unterbrechungen verwendet werden, wie es im folgenden Abschnitt erläutert
wird. Die Logik und die Zeittaktsteuerung für die Verbindung mit der B-Schiene sind mit derjenigen zum Anschluß an die A-Schiene
identisch, mit der Ausnahme, daß die Steuergleichung folgendermaßen modifiziert ist:
Aktivieren Daten nach B-Schiene = IOMME*DMAINPUT
wobei DMAINPUT = Zugeordnete Konfiguration des IO-Steuerfeldes,
welches den Direktspeicherzugriff festlegt«.
Die Zeittaktsteuerung der Α-Schiene und der B-Schiene ist in der Fig„ 18 dargestellt.
509828/0447
C-SchienenanschluB: Die bei 3 dargestellte C-Schiene ist der
Weg für die Übertragung von Daten und von Steuerinformation vom Prozessor zu einem ΙΟ-Modul. Daten auf der C-Schiene stehen
für die Anforderung von einem beliebigen ΙΟ-Modul zur Verfugung.
Die Logik für die Übertragung von Ausgangsdaten von der C-Schiene
ist folgendermaßen aufgebaut:
Aktivieren C-Schiene zu dem IO-Modul - IOMME
wobei IOMME = ΙΟ-Modul, ausgewählt durch den Mikrobefehl, wie
es in der Fig. 17 dargestellt ist.
Die Zeittaktsteuerung der C-Schiene ist in der Fig.19 dargestellt.
Nachfolgend wird die ΙΟ-Unterbrechung erläutert. Der Prozessor verwendet zwei Typen von Unterbrechungssystemen:
schnelle Unterbrechungen für Hochgeschwindigkeits-Datenübertragungen
nach innen und nach außen und gemultiplexte Eingangs/ Ausgangs-Unterbrechungen. Das schnelle Unterbrechungssystem
gibt eine Antwort der Gerätetechnik, zurück, sobald die Unterbrechung
angenommen wurde, während das lO-Unterbrechungssystem kein Bestätigungssignal der Gerätetechnik liefert. Das 10-Unterbrechungssystem
wird in diesem Abschnitt diskutiert, und das schnelle Unterbrechungssystem wird im folgenden Abschnitt
diskutiert.
Der Prozessor nimmt bis zu 128 Eingängen für eine gemultiplexte Eingangs/Ausgang-Unterbrechung an, was 128 Einrichtungsadressen
entspricht. Diese Unterbrechung kann aktiviert oder abgeschaltet werden, und zwar bei MikroOperationskodes
im MCR-Steuerfeld. Anforderungen können asynchron in bezug
auf den System-Taktgeber sein, weil sie die Ausführung eines Mikrobefehls während seiner laufenden Taktgeberperiode
nicht unterbrechen. Die Unterbrechungssteuerung spricht am Ende des Zyklus an, falls er nicht abgeschaltet ist.
509828/0447
24522K
Der Prozessor nimmt bis zu 128 Eingängen für die gemu-ltiplexte
Eingangs/Ausgangs-Unterbrechung an, was 128 Einrichtungsadressen
entspricht. Diese Unterbrechung kann durch Mikrooperationskodes in dem MOR-Steuerfeld aktiviert oder abgeschaltet werden.
Anforderungen können asynchron in bezug auf die System-Taktgeber
sein. Sie unterbrechen die Ausführung eines Mikrobefehls während seiner Taktgeberperiode nicht. Die Unterbrechungssteuerung spricht
am Ende des Zyklus an, vorausgesetzt, daß er nicht abgeschaltet
ist.
Die Anforderung für eine IO-Unterbrechung wird mittels des Signals
NIOINT zum Prozessor übertragen. Dann übertrag der Prozessor die Einrichtungsadresse des ΙΟ-Moduls mit der höchsten
Priorität, bei welcher eine ΙΟ-Unterbrechung ansteht, auf die Α-Schiene und antwortet entsprechend. Die IO-Unterbrechungsverarbeitung
wird unten im einzelnen beschrieben·
Unterbrechungsoperation: Der Prozessor weist eine einzelne Eingangsleitung
auf, nämlich NIOINT, die von irgendeinem ΙΟ-Modul tief gelegt werden kann, um anzugeben, daß von dem Modul eine
ΙΟ-Unterbrechung ansteht. Die Fig. 2D ist ein Diagramm der gemultiplexten
Unterbrechungs-Zeittaktsteuerung. Wenn im Prozessor
NIOINT tief gelegt ist, wird bei dem nächsten Taktgebersignal ein Unterbrechungs-Flip-Flop gesetzt. Der Ausgang des
Flip-Flops wird an eine Unterbrechungsprioritätlogik geführt und dann zu einer solchen Logik, welche eine Steuerspeicheradresse
x'81 erzeugt. Sobald diese Adresse zur Verfügung steht,
wird sie dazu verwendet, das Flip-Flop zurückzustellen. Somit
bleibt das IO-Unterbrechungs-Flip-Flop hoch9 bis die nächste
ΙΟ-Unterbrechung in der Reihenfolge der Priorität erreicht wird. '
Die nächste PHI-Einheit, die nach der Steuerspeicheradresse χ'8'
verfügbar ist, lädt den Mikrobefehl an diese Stelle in das Mikrosteuerregister
24 zur Ausführung. Wenn somit keine Unterbrechung
509828/0447
mit höherer Priorität dazwischen kommt, wird der Mikrobefehl"
in das MikroSteuerregister 24 geladen, und zwar durch die zweite PHI, nachdem NIOINT tief geht. Dieser Mikrobefehl
sollte den Ruckstell-Mikrooperationskode im Verzweigungs-Steuerfeld
und den MikroOperationskode der unmittelbaren Adresse im C-Schienen/Register-Steuerfeld enthalten. Fs sei
in Erinnerung gebracht, daß der MikroOperationskode der unmittelbaren Adresse durch den Prozessor in zwei verschiedenen
Arten interpretiert wird, was davon abhängt, ob IO-Modus wahr oder falsch ist.
Wenn ΙΟ-Modus wahr ist, wird die Einrichtungsadresse des
ΙΟ-Moduls mit der höchsten Priorität, bei welchem eine Unterbrechungsanforderung
ansteht, im folgenden Format auf die A-Schiene gebracht:
01 2 5 4 5 6 7 8 9 10 11 12 15 14 15
χ χ χ χ χ χ χ χ 1 Einrichtungsadresse A-Schiene
Die Bits 0-7 sollten durch den ΙΟ-Modul nicht getrieben v/erden,
und das Bit 8 muß durch den ΙΟ-Modul auf 1 gesetzt werden.
Dann führt der Prozessor den Inhalt des ALU-Auswahlfeldes vom
Mikrobefehl zu der obigen Einrichtungsadresse, um eine Adresse zu erzeugen, wie sie unten dargestellt ist:
0-1 2 5 4 5 6 7 8 9 10 11 12 13 14 15
xxxx ALU Sei 1 Einrichtungsadresse A-Schiene
Diese 12-Bit-Adresse, die jetzt auf der A-Schiene vorhanden ist,
wird durch den Prozessor in derselben Weise wie eine unmittelbare Adresse verwendet, welcce von dem MikroSteuerregister
zu der A-Schiene übertragen wird. In jedem Falle springt der Steuerspeicher 22 zu der 12-Bit-Adresse. Daher verzweigt der
Rückstell-Mikrobefehl auf eine Tabelle im Steuerspeicher 22 zwischen x'0801 und χ 1OFi", mit der Annahme ALU-Auswahl = 0.
509828/0447
Die Größe dieser Tabelle hängt von der Anzahl der"Eiririchtungs™
adressen ab, die im System verwendet werden.
Der Inhalt dieser Tabelle ist eine Reihe von unbedingten Verzweigungsbefehlen,
und zwar mit unmittelbaren Adressen, die den Prozessor dazu bringen, auf den ersten Mikrobefehl in
der Einrichtungsverarbeitungs-Unterbrechungsroutine zu springen. Somit beträgt die Gesamtzeit von dem Zeitpunkt an, zu ;
welchem NIOINT tief geht, und zwar unter der Annahme, daß keine Unterbrechung mit höherer Priorität dazwischen kommt,
bis zu dem Beginn der Ausführung des ersten Mikrobefehls der Unterbrechungsverarbeitung 1,05 Mikrosekunden minimal bis
1,40 Mikrosekunden maximal. Die erforderliche Prozessor-Aus führungszeit ist 0,70 Mikrosekunden.
Wenn in alternativer Weise ΙΟ-Modus in dem ursprünglichen
Rückstell-Mikrobefehl falsch ist, werden die Bits der unmittelbaren
Adresse vom Mikrobefehl als Verzweigungsbestimmung verwendet. In diesem Fall kann die Einrichtungsadresse
der Unterbrechungs-IO-Steuereinheit später wieder aufgefun-.
den werden, indem ein Mikrobefehl mit MCR = χ 1E1 ausgeführt
wird. Dieser MikroOperationskode bringt die IO-Einrichtungs-Steuereinheit
dazu, ihre Einrichtungsadresse in dem oben dargestellten
Format auf die Α-Schiene zu führen.
Unterbrechungs-Abschaltung: Die gemultiplexte IO-Unterbrechung
wird automatisch durch den Prozessor abgeschaltet, wenn irgendeine Unterbrechung angefordert wird, mit der Ausnahme von schnellen
Unterbrechungen. Die Abschaltung tritt zu der Zeit der Ausführung des Mikrobefehls auf, welche an der Unterbrechungsstelle
im Steuerspeicher 22 vorhanden ist. Wenn der Mikrobefehl einen Ruckstell-Mikrooperationskode enthält, v/ird der laufende Status
des gemultiplexten IO-Aktivierungs-Flip-Flops im Rückstellstapel
gespeichert, bevor das Flip-Flop zurückgestellt wird. Am Ende der Unterbrechungs-Verarbeitungs-Unterroutine stellt
eine Zieh-Mikrooperationskode im endgültigen Mikrobefehl das
509828/0447
-.87 -
2A522U
Aktivierungs-Flip-Flop wieder in seinen ursprünglichen Status zurück.
Weiterhin wird dann, wenn eine Unterbrechung angefordert wird,
das Signal NINTIOOK tief gelegt. Dieses Signal muß auf den 10-Modul
dazu verwendet werden, die Auslösung einer IO-ünterbrechungsanforderung
zu verhindern, bis es wahr wird. Ein ΙΟ-Modul, der bereits eine IO-Unterbrechung anfordert, muS
diese Anforderung fortsetzen. Der Zweck von NINTLOOK besteht
darin, die Prioritätskette in der V/eise einzufrieren, daß die
IO-Einrichtungs-Steuereinheit, welche zur Zeit der Verriegelung die höchste Priorität hatte, diese höchste Priorität
auch dann noch hat, wenn die Zeit kommt, die entsprechende Einrichtungsadresse auf die Α-Schiene zu bringen.
Die IO-Einrichtungs-Steuereinheit hält ihre Unterbrechungsanf orderung aufrecht, bis eine ΙΟ-Anweisung von der Steuereinheit
empfangen wird, die Anforderung zu streichen. Die 10-Anweisung
kann entweder unter Verwendung des IO-Steuerfeldes
oder mittels eines Anweisungswortes über eine C-Schienen-Übertragung
erfolgen.
IO-Unterbrechungslogik: Diejenigen -logischen Funktionen, welche
erforderlich sind, um eine ΙΟ-Unterbrechung auszuführen, sind die Prioritätskette, die Unterbrechungsanforderung und die
logische Übertragung der Einrichtungsadresse an die A-Schiene.
Die Prioritätskette oder -reihe besteht in einem Eingangssignal
an jeden ΙΟ-Modul, PRIn, und in einem Ausgangssignal von jedem
Modul, PRIn+1, wie es in der Fig. 21 dargestellt ist. Die
Gleichung ist:
PRIn+1 = PRIn-NREQ
wobei NREQ = es steht keine Unterbrechungsanforderung an
wobei NREQ = es steht keine Unterbrechungsanforderung an
509828/0447
~ö8~ 24522U
Diese Gleichung muß von Jedem ΙΟ-Modul implementiert.worden,_
der die gemultiplexte . ΙΟ-Unterbrechung verwendet. Die Fig.21
zeigt die entsprechende Logik für die ΙΟ-Moduln in einer gemultiplexten
Unterbrechungsprioritätsreihe.
Die Unterbrechungsanforderung, NIOIRT, kann gemäß dem Diagramm
in der Fig. 22 ausgeführt werden.
Die Fig. 21 zeigt weiterhin die Beziehung zwischen zwei 10-Moduln
in einer IO-Unterbrechungsprioritätskette. Die Prioritätsverbindungen
sind in der Weise vorverdrahtet, daß die Ranganordnung eines ΙΟ-Moduls in der Prioritätsreihe durch
die gerätetechnische Anordnung festgelegt wird, in v/elcher
der Modul angeordnet ist» Der niedrigste Stellenwert oder die höchste Prioritätseinrichtung liegt am dichtesten beim
Prozessor.
Prüfung des externen Zustandest Das Verzweigungs-Steuerfeld
des Mikrobefehls enthält zwei MikroOperationskodes, welche dazu verwendet werden9 zu überprüfen, ob eine externe Bedingung
bzw. ein externer Zustand auf einem ΙΟ-Modul vorhanden istJ x°V'Prüfung/Verzweigung bei gesetztem externen Zustand
x858 Prüfung/Verzweigung bei einem rückgestellten externen
Zustand«
Jeder ΙΟ-Modul kann einen oder mehrere externe Statuszustände
zu einem gemeinsamen Signal liefern, nämlich NEXT5 wenn RA-Auswahl
und die Einrichtungsauswahlfeider eine IO-Adresse
enthalten3 welche diesem Modul zugeordnet isto Darüberhinaus
kann mehr als ein externer Zustand pro ΙΟ-Adresse ausgewählt und nach NEXT gemultiplext werden, wenn die zusätzlichen
Signale verwendet werden wie AHSchienen-Steuerfeld,
BCA08 und BCA09o Andererseits kann, die Möglichkeit der Prüfung
des äußeren Zustandes bzwo des externen Zuatandes ignoriert
werden, wenn eine solche Prüfung in einer bestimmten Anwendung nicht erforderlich isto
509828/0447
Die Operationen im Prozessor, welche von dies-en zwei-Prüfung/
Verzweigung-Mikrooperationskodes herrühren, sind oben bereits erläutert worden. Kurz zusammengefaßt, wenn eine Prüfung erfolgreich
ist, dienen die 12 Bits mit dem geringsten Stellenwert der C-Schiene als nächste Mikroadresse in einer Prozedur,
welche zwei Taktgeberperioden erfordert. Wenn die Prüfung nicht erfolgreich ist, erhöht die Mikroadresse in der Folge, was eine
Taktgeberperiode erfordert. V/eil das Einrichtungs-Auswahlfeld
bei der Adressierung der externen Zustände verwendet wird, kann außerdem das unmittelbare Adressenfeld nicht dazu verwendet
werden, die neue Mikroadresse zu liefern.
Die Logik für eine Anpasseinrichtung mit einem einzelnen externen
Zustand ist in der Fig. 24- dargestellt. Ein Zeittakt-Diagramm für eine externe Zustands-Zeitsteuerung ist in der Fig. 25 dargestellt.
Beide Figuren bedürfen keiner weiteren Erläuterung.
Schnelle Unterbrechungen: Der Prozessor ist dazu in der Lage, zv/ei Anforderungen für schnelle Unterbrechungen von jeder 10-Modulstelle
zu erhalten. Die schnellen Unterbrechungen werden hauptsächlich dazu verwendet, Datenübertragungen mit hoher
Geschwindigkeit zwischen ΙΟ-Einrichtungen und dem Hilfsspeicher/Hauptspeicher
16,18 auszuführen. Die schnellen Unterbrechungen unterscheiden sich von den gemultiplexten IO-Unterbrechungen
in doppelter Hinsicht. Zunächst geben sie automatisch ein Antwortsignal zurück und außerdem nehmen sie
zwischendurch einzelne Zykluszeiten während der Prozessoroperationen in Anspruch.
Während dieses Zyklus führt der Prozessor einen einzelnen Mikrobefehl
aus, der typischerweise ein Wort oder ein Byte von einer ΙΟ-Schiene zum Hilfsspeicher/Hauptspeicher 16, 18 und vom Hilfsspeicher/Hauptspeicher
zu einer ΙΟ-Schiene überträgt. Die Hilfsspeicher/Hauptspeicher-Adresse
(16, 18) kann von einem allgemeinen Register 10 kommen (welches durch denselben Mikrobefehl
erhöht wird) oder von dem ΙΟ-Modul (Einrichtungs-Steuereinheit)
.
509828/0447
-90- 2A522U
Das zwischenzeitliche Abzweigen einer Zykluszeit bezieht sich auf das Einsetzen eines Mikrobefehls außerhalb der
Folge in die normale Ablauffolge der Prozessoroperationen, ohne daß die Statusbits oder die nächste Mikroadresse beeinflußt
werden. Der Status des Prozessors wird nicht im Rückstellstapel gespeichert, und braucht somit nicht aus
dem Rückstellstapel durch einen späteren Mikrobefehl entfernt zu v/erden, um die Unterbrechungsfolge wieder aufzunehmen.
Stattdessen kann, nach dem Taktzyklus, in welchem der außerordentliche Mikrobefehl ausgeführt wurde, SCU die
Operation direkt beim nächsten Mikrobefehl wieder aufnehmen. Dies führt dazu, daß die Möglichkeit der raschen Unterbrechung
dazu verwendet werden kann, einen direkten Zu- λ griff zum Hilfsspeicher/Hauptspeicher 16,18 oder zu DMA zu
erreichen.
Jede rasche Unterbrechung ist darauf beschränkt, jeweils nur jede zweite Zykluszeit außerhalb der normalen Ablauffolge.abzuzweigen.
Wenn somit Übertragungen zum/vom Hilfsspeicher bei einer Zeittaktperiode von 350 ns durchgeführt werden, benötigt
jede Übertragung 700 ns, welches einer maximalen Durchsatzrate von 1528 Mega-Worten pro Sekunde entspricht. Eine Übertragung
zum/vom Hauptspeicher 16 kann alle 1,05 bis 1,4 Mikrosekunden
auftreten, was davon abhängt, ob der zwischen zwei Unterbrechungs-Mikrobefehlen
ausgeführte Mikrobefehl einen oder 'zv/ei Zyklen benötigt, was einer maximalen Durclis atzrate von
714 Kiloworten pro Sekunde entspricht. Wenn beide schnellen
Unterbrechungen gleichzeitig mit maximaler Durchsatzrate laufen, wird jede beliebige andere Prozessor-Mikrobefehls-Ausführung
unterbrochen, d.h., 100 % der Prozessor-Bandbreite v/erden
darch die schnellen Unterbrechungen belegt.
Es gibt zwei verschiedene Wege, die Möglichkeit der schnellen Unterbrechung zu verwenden. Bei dem ersten Weg ist der geräte-
509828/0447
technische Aufwand geringer, es wird jedoch die. Verwendung ...
der schnellen Unterbrechungen auf eine einzelne IO-Einrichtung begrenzt. Bei dem zweiten Weg ist der gerätetechnische
Aufwand etwas höher, es werden jedoch die Möglichkeiten der schnellen Unterbrechung unter vielen ΙΟ-Einrichtungen aufgeteilt.
Logik und Zeittaktsteuerung: Der Empfang einer Anforderung
für eine schnelle Unterbrechung 1 oder 2 von einem IO-Modul
führt dazu, daß das Flip-Flop 1 oder 2 für die schnelle Unterbrechung
in der SCU-Unterbrechungslogik auf die nächste PHI-Einheit gesetzt wird und eine Antwort 1 oder 2 auf die
schnelle Unterbrechung an den ΙΟ-Modul zurückgegeben wird. Eine mögliche Logikanordnung ist in der Fig. 26 und im Zeit-Taktdiagramm
der Fig. 27 schematisch dargestellt.
Der wahre Ausgang des Flip-Flops'für die schnelle Unterbrechung
wird der Unterbrechungsprioritätslogik im Prozessor zugeführt
und dann derjenigen Logik, welche die Steuerspeicheradresse χ'6' für die schnelle Unterbrechung 1 oder χ'7' für die schnelle
Unterbrechung 2 erzeugt. Sobald diese Adresse zur Verfügung steht, was bedeutet, daß die schnellen Unterbrechungen von SOU angenommen
worden sind, so wird sie dazu verwendet, das Flip-Flop für die schnelle Unterbrechung zurückzustellen.
■Die Fig. 27 zeigt die Zeittaktsteuerung der Anpasseinrichtung
für die schnelle Unterbrechung, und zwar für eine einzelne Datenübertragung oder für eine Vielfachübertragung bei relativ
geringen Durchsatzraten. Die Fig. 28 zeigt die Zeittaktsteuerung bei maximalen Durchgangsraten bzw. Durchsatzraten. Die
in den Fig. angegebenen Zeiten dienen lediglich als Beispiel.
Bei maximalem Durchsatz kann die Unterbrechungsanforderung,
welche von dem ΙΟ-Modul NFIRQn ausging, während der gesamten
Dauer der Blockübertragung tief gehalten werden. Am Ende der Übertragung muß NFIRQn innerhalb von 180 ns in diesem Beispiel
509828/0447
24522H
hoch gelegt werden, nachdem die abfallende Flanke" des Antwortimpulses,
FIn, für das letzte zu übertragende Wort vorliegt. Das Hochlegen von Ni1IRQn innerhalb dieser Grenze gewährleistet,
daß keine zusätzliche Unterbrechung ausgelöst wird.
Einzelne Hochgeschwindigkeitseinrichtung: Bei dieser Vorgehensweise
sind beide schnellen Unterbrechungen in einer einzelnen Hochgeschwindigkeitseinrichtungs-Steuereinheit zusammengefaßt
(oder ΙΟ-Modul), wobei eine für Eingangsübertragungen und die andere für Ausgangsübertragungen verwendet werden kann. Zusätzlich
ist oft die Möglichkeit einer Multiplexer-IO-Unterbrechung
erforderlich, um den ΙΟ-Modul zu aktivieren, damit eine Reihe von Übertragungen ausgelöst und beendet werden können.
Bevor Datenübertragungen bei einer raschen Unterbrechung beginnen können, ist es erforderlich, die Adresse des ersten
Speicherplatzes im Hilfsspeicher/Hauptspeicher zu haben, die in einem allgemeinen Register verv/endet wird, wo sie für die
B-Schiene zur Verfügung steht. Das für diese Adresse verwendete allgemeine Register 10 ist dasjenige, welches durch das
RB-Auswahlfeld des Mikrobefehls an der Stelle χ'6' oder χ'7'
der schnellen Unterbrechung festgelegt ist. Dieses allgemeine Register, welches jetzt als Adressenregister des Hilfsspeichers/
Hauptspeichers dient, wird durch den Unterbrechungs-Mikrobefehl bei jeder Übertragung erhöht (oder erniedrigt), um die neue
Adresse des Hilfsspeichers/Hauptspeichers zu liefern.
Jedesmal dann, wenn der Benutzer es verlangt, erzeugt der 10-Modul
NFIRQn, SOU gibt automatisch Antwort und der Mikrobefehl
an der Stelle x'6' oder χ'7' wird ausgeführt. Typischerweise
überträgt dieser einzelne Mikrobefehl Daten zum/vom IÖ-Modul
in/aus dem Hilfsspeicher/Hauptspeicher, und zwar an der Stelle, welche durch das A.dressenregister des Hilfsspeichers/
Hauptspeichers festgelegt ist, und erhöht oder erniedrigt dieses Register.
509828/0447.
24522U
Eine Reihe von Übertragungen bei einer schnellen Unterbrechung
wird normalerweise durch eine gemultiplexte IO-Unterbrechung beendet. Beispielsweise kann vor dem Beginn der Datenübertragung
die gerätetechnische Einrichtung eine Wortzählung über die C-Schiene zu einem Wort-Zählregister im ΙΟ-Modul übertragen.
Wenn diese Zählung erreicht ist, kann der ΙΟ-Modul eine gemultiplexte ΙΟ-Unterbrechung auslösen, um die Übertragung
zu beenden.
Vielfacheinrichtungen: Bei dieser Vorgehensweise werden beide schnellen Unterbrechungen mit zwei oder mehreren IO-Modulen
verbunden (Einrichtungs-Steuereinheiten), die Priorität wird durch eine Prioritätskette zwischen den ΙΟ-Modulen bestimmt,
und ein Hilfsspeicher/Hauptspeicher-Adressenregister, welches
bei jedem ΙΟ-Modul vorgesehen ist, liefert den Speicherplatz.
Direktspeicherzugriff: Direktspeicherzugriff betrifft die Möglichkeit,
Daten von einer IO-Einrichtung 4 in einen Hauptspeicher
16 zu übertragen oder vom Hauptspeicher 16 zu einer IO-Einrichtung
11, und zwar mit einer minimalen Störung der gerade ablaufenden Prozessoroperationen. Wenn die Technik der raschen
Unterbrechung verwendet wird, wird eine rasche Unterbrechung als Anforderung zum Schreiben im Hilfsspeicher/Hauptspeicher
aufgefaßt und die andere als Speicherleseanforderung. Soweit unterscheidet sich die Verwendung der raschen Unterbrechungen
nicht von der Technik für eine einzelne Hochgeschwindigkeitseinrichtung.
Bei der Technik der Vielfacheinrichtungen hat jedoch jede 10-Einrichtungs-Steuereinheit
ein Hilfsspeicher/Hauptspeicher-Adressenregister,
und eine Methode, den Registerinhalt auf die B-Schiene zu bekommen, wenn der Unterbrechungs-Mikrobefehl ausgeführt
wird. Darüberhinaus sind alle Einrichtungs-Steuereinheiten einer gemeinsamen ΙΟ-Adresse zugeordnet, welche als
DMA-Kanaladresse bezeichnet wird. Die Priorität unter den
Einrichtungs-Steuereinheiten auf dem DMA-Kanal wird durch
509828/0447
eine Prioritätskette geregelt. Jedoch, antwortet' jede Einrichtungs-Steuer
einheit auf eine verschiedene einzige IO-Adresse
für andere Zwecke-, beispielsweise für die Auslösung und Beendigung einer Übertragungsoperation.'
Im Betrieb adressieren dann die Mikrobefehle an den Steuerspeicherplätzen
bei einer schnellen Unterbrechung den gemeinsamen DMA-Kanal, es antwortet jedoch nur die Einrichtungs-Steuereinheit
mit der höchsten Prioritätszuordnung von denjenigen, die zur Übertragung; oder zum Empfang von Daten bereit
sind. Die Antwort besteht darin, daß die laufende Adresse von ihrem Hilfsspeicher/Hauptspeicher-Adressenregister auf die B-Schiene.
gebracht wird und im Falle der Eingangsübertragung weiterhin darin, daß Eingangsdaten auf die A-Schiene gebracht werden,
oder im Falle der Ausgangsübertragung, daß Daten von der
C-Schiene empfangen werden. Wahrend derselbenMikrobefehlsperiode
verwendet der Prozessor die Speicheradresse auf der bei 2 dargestellten B-Schiene dazu, Daten von der bei 1 dargestellten
Α-Schiene in den Hilfsspeieher/Hauptspeicher 18 bzw. 16 zu
übertragen oder Daten aus dem Hilfsspeicher/Hauptspeicher
auszulesen und auf die bei 3 dargestellte C-Schiene zu bringen. Somit führt bei einer DMA-Operation ein einzelner Mikrobefehl
eine Eingangs- oder eine Ausgangsübertragung durch.
Die IO-Einrichtungs-Steuereinheit in der nächst höheren Prioritätsstelle,
wenn eine solche bereit ist, kann in der übernächsten Mikrobefehlsperiode eine Übertragung durchführen. Auf diese Art
kann bei einer Anzahl von ΙΟ-Einrichtungen eine Datenübertragung
ineinandergeschachtelt werden, und zwar unter Ausnutzung der Möglichkeit der raschen Unterbrechung. Eine beliebige Anzahl von
ΙΟ-Einrichtungen können diese DMA-Anpasseinrichtung verwenden,
welche hauptsächloch durch die Notwendigkeit begrenzt ist, die kombinierte Bandbreite der Einrichtungen innerhalb der DMA-Kanalbandbreite
zu halten: 1.428 Megaworte pro Sekunde, und zwar beim Zwischenspeicher, oder 714· Kiloworte pro Sekunde
beim Hauptspeicher, und zwar' in diesem Falle.
S09828/0447
Die erforderlichen Elemente für einen ΙΟ-Modul für die DMA-Anpasseinrichtung,
wie es in Fig.4-18 schematisch dargestellt
ist, sind ein Datenspeicherregister 80, ein Wortzählregister 82, ein Speicheradresseriregister 84 und ein
Multiplexer 86 zur bei 1 dargestellten A-Schiene. Die gemeinsame DMA-Kanaladresse wird für Datenübertragungszwecke
verwendet, was durch (1) auf dem Diagramm bezeichnet ist. Die zweite Adresse, welche· jeweils speziell für eine 10-Einrichtungs-Steuereinheit
dient, wird dazu verwendet, der Einrichtungs-Steuereinheit Steuerinformation zuzuleiten,
beispielsweise bezüglich der Auslösung der Einrichtung, bezüglich der Einstellung des Wortzählregisters,
bezüglich der Einstellung des Speicheradressenregisters und bezüglich der Übertragung von Statusinformation zum Prozessor.
Diese Zwecke sind durch (2) auf dem Diagramm bezeichnet. Weiterhin
können die Inhalte des Datenpufferregisters und des
Wortzählregisters zu der Α-Schiene für Prüfzwecke gemultiplext
werden.
Die Fig. 30 ist ein Blockdiagramm, welches eine Reihe von
ΙΟ-Einrichtungen und Einrichtungs-Steuereinheiten darstellt, die an die Drei-Schienen-Struktur des Prozessors angeschlossen
sind. Für dieses Beispiel ist die Einrichtungsadresse 0
willkürlich dem gemeinsamen Kanal DMA zugeordnet wordn.
Programmierung von DMA: Die zwei raschen Unterbrechungen sind
jeweils der Datenübertragung in einer Richtung gewidraent. Die Unterbrechung mit der höheren Priorität (Steuerspeicherplatz
χ'6') wird der Dateneingabe in den Hilfsspeicher/Hauptspeicher
18, 16 zugeordnet, und die Unterbrechung mit der geringeren Priorität (Speicherplatz χ'7') ist der Datenausgabe aus dem
Hilsspeicher/Hauptspeicher 18,16 zugeordnet·
509828/0447
2A522U
25 | 26 | ΙΟ-Steuerung | 0 | |
24 | O | O | 2? Hexadezimalkode | 1 |
O | O | O | 0 | |
O | 1 | |||
Die Programmierung von DMA nutzt die folgenden Anweisungszuordnungen
im IO-Steuerfeld aus:
Funktion
Keine Wirkung·
Einlesen von Daten vom Benutzer zur Α-Schiene; Übertragung der
Speicheradresse zur B-Schiene.
0 0 10 2 Schreiben der Ausgangsdaten von
der C-Schiene an den Benutzer; Übertragen der Speicheradresse
auf die B-Schiene.
10 0 1 9 Lesen des Datenpufferregisters
nach A-Schiene.
10.10 A Schreiben der Daten von der C-
Schiene zum Datenpufferregister.
χ 1 O O 4 oder C Beide schnellen Unterbrechungen
abschalten.
Diese Anweisungen werden unten erläutert.
IO-Steuerung = x'11, zusammen mit IOM = 1 und Verzweigungssteuerung
= x'31 erfolgt eine Dekodierung durch alle I0-Moduln,
welche den DMA-Kanal teilen. Der ΙΟ-Modul (mit derhöchsten Priorität, bei welcher eine Unterbrechung ansteht) liefert
sowohl die zu speichernden Daten als auch die Speicheradresse, wo die Daten gespeichert werden sollen. Die Daten werden auf
die Α-Schiene gebradt, und die Speicheradresse wird auf die B-Schiene gebracht. Der Mikrobefehl für diesen Zweck wird
an dem Steuerspeicherplatz χ'6' abgespeichert und erscheint
folgendermaßen:
Lesen der Daten und der Speicheradresse vom Benutzer:
Platz xf6': x'nOOO 301m1
Einrichtungs-Auswahl-Teil der DMA-Adresse
Lesen der Daten und der Süeicheradresse
vom IO-Modul
Schreiben im Hilfsspeicher/Hauptspeicher
RA-Auswahl-Teil der DMA-Adresse
plus IOM =1
509828/04 4 7
ΙΟ-Steuerung = x'21, zusammen mit IOM = 1 und Verzweigungs-Steuerung
- x'21 erfolgt eine Dekodierung durch alle 10-Moduln,
welche den DMA-Kanal teilen. Der IO-Modul (mit der höchsten Priorität) liefert die Speicheradresse des Hilfsspeichers/Hauptspeichers
18, 16, und zwar desjenigen Platzes, in welchem die Daten für den Benutzer zu finden sind. Diese
Speicheradresse wird auf die B-Schiene gebracht. Daten vom Hilfsspeicher/Hauptspeicher werden von der C-Schiene durch
den ΙΟτ-Modul 4- zur Übertragung zu der ΙΟ-Einrichtung genommen.
Der Mikrobefehl für diese Funktion ist am Steuerspeicherplatz χ'7' abgespeichert und erscheint folgendermaßen:
Lesen der Hilfsspeicher/Hauptspeicher-Adresse, Schreiben der
Daten an den Benutzer:
Platz 2'7'ί x'nOOO 202m1
Platz 2'7'ί x'nOOO 202m1
Einrichtungs-Auswahl-Teil der DMA-Adresse
Schreiben der Ausgangsdaten an den Benutzer, Lesen der Speicheradresse
nach B-Schiene
Lesen des Hilfsspeichers/Hauptspeichers
RA-Auswahl-Teil der DMA-Adresse
plus I0M = 1
IO-Steuerung = x'V oder x'C, gemeinsam mit IOM = 1 erfolgt
eine Dekodierung durch alle ΙΟ-Moduln, welche den DMA-Kanal
teilen.Diese Kodes trennen die Leitungen der Anforderung
einer raschen Unterbrechung von dem DMA-Kanal zu dem Prozessor und löschen folglich die Möglichkeit des Benutzers, aus dem
Hilfsspeicher/Hauptspeicher zu lesen oder in diese Speicher einzuschreiben. Diese Kodes würden in einer Ausführungsroutine
oder als Prioritätstreiber oder in einer Energieabschaltfolge
verwendet. Die schnellen Unterbrechungen auf jedem IO-Modul
müßten getrennt wieder aktiviert werden, indem die Anweisungs/ Status-Einrichtungsadresse verwendet wird.
509828/0447
ΙΟ-Steuerung = χ1A1, gemeinsam mit 1OH= 1 erfolgt eine
Dekodierung durch alle ΙΟ-Moduln, welche den DMA-Kanal
teilen. Dieser'Kode nimmt Daten von der O-Schiene und
speichert sie in dem Datenpufferregister at». Ein bestimmtes Datenpufferregister wird zur Prüfung ausgewählt,
indem alle IÖ-Moduln auf dem DMA-Kanal mittels der 10-Steuerung
- x'41 oder x'C abgeschaltet werden und ein
ΙΟ-Modul mittels der Anweisung/Status-Einrichtungsadresse erneut aktiviert wird. Diese Operation prüft das Funktionieren
des DMA-Kanals, der DMA-Adressendekodierung und . des Datenpufferregisters bei dem ausgewählten IQ-Modul.
Diese Prüfung ist ähnlich wie bei dem Einschreiben von Daten in einen ΙΟ-Modul. Dieser Kode wird als Mikrobefehl
in der Befehlsfolge abgehandelt, nicht als ein Befehl, welcher von dem Steuerspeicherplatz für eine rasche
Unterbrechung ausgeführt wird, und somit besteht keine Abhängigkeit
davon, ob eine Unterbrechung ansteht.
IO-Steuerung = 2'9'", gemeinsam mit IOM = 1 erfolgt eine
Dekodierung durch alle ΙΟ-Moduln, welche den DMA-Kanal teilen. Dieser Kode überträgt Daten von dem Datenpufferregister
zur Α-Schiene. Sie bleibt dann für den Rest des Mikrobefehls hoch, um zu bestimmen, was mit den Daten auf
der Α-Schiene geschehen soll. Dieser Kode wird in Verbindung mit X1A' verwendet, um das Datenpufferregister und
die DMA-Adressen-Dekodierung zu überprüfen.
Die Programmierung für die Anweisungs/Status-Anpasseinrichtung'
(welche diejenige ist,· die durch die zweite, ausschließliche Adresse auf jedem ΙΟ-Modul vom DMA-Typ
adressiert ist) ist mit einer Ausnahme nicht beschränkt. Es müssen Vorkehrungen in der Anweisungsstruktur getroffen
sein, um jede Einrichtungs-Steuereinheit einzeln zu aktivieren, damit die schnellen Unterbrechungen verwendet
werden, und alle Einrichtungssteuereinheiten gemeinsam
von einer Verwendung durch schnelle Unterbrechungen abzuschalten.
509828/0447
-T-
-99 - 2A522U
Prioritätskette: Die in der Fig. 31 dargestellte Pripritätskette
bestimmt, welche Einrichtungssteuereinheit auf die DMA-Adresse
ansprechen kann. Jede Einrichtungs-Steuereinheit muß diese Logik für jede schnelle Unterbrechung liefern, die angewandt
wird (bei einigen Steuereinheiten mag eine Datenübertragung in zwei Richtungen nicht erforderlich sein). Die Fig.J2
zeigt ein typisches Unterbrechungs-Anforderungs-Flip-Flop.
Die Gleichungen für die Prioritätskette sind folgende:
J1InPEInJ-I = FInPRIn-NPRICOlTT
Setzen PRICONT = FInPRIn-NFIn-SET-PHI
Rückstellen PRICONT = FIiiPRIn-IOMffi(DM)-READ-PHI+FIDISABLE
wobei SET = Ausgang des Unterbrechungs-Anforderungs-Flip-Flops,
wenn dieses Flip-Flop nicht durch PHI zeitlich angesteuert ist oder das Eingangssignal J für das
Unterbrechungs-Anforderungs-Flip-Flop, wenn dieses Flip-Flop durch PHI angesteuert ist.
FInPRIn+1 = das Prioritätsreihen-Ausgangssignal
FInPRIn = das Prioritätsreihen-Eingangssignal 10MME(DMA)= die dekodierte DMA-Kanaladresse, addiert zu
IOM
READ = Lesen der Anweisung, x'21, dekodiert von dem
READ = Lesen der Anweisung, x'21, dekodiert von dem
IO-Steuerfeld. Verwendung der Schreibanweisung
für die schnelle Unterbrechung 1 und der Leseanweisung für die schnelle Unterbrechung 2.
FIDISABLE ■ Abschalten des Flip-Flops für die schnelle Unterbrechung, welches durch IO-Steuerung
β x'4·1 oder x'C gesetzt ist, Abschalten
der schnellen Unterbrechungen.
Speicheradresse an B-Schiene: Die B-Schienen-Steuerlogik, wie sie in der Fig. 23 dargestellt ist, führt durch eine entsprechende
logische Operation des Adressenregisters des Hilfsspeichers/HauptSpeichers
18,16 an die bei 2 daTgestellte B-Schiene, wenn IÖ-Steuerung = x'11 oder '2'. Die Speicher-
509828/0447
-,co- 2A522U
adresse wird von dem Prozessor benötigt, sobald eine Eingangsübertragung oder eine Ausgangsübertragung durchgeführt wird.
Die Gleichung für den Speicheradressen-Übertragungsterm ist
folgende:
BXMA = FIIPRIn-IOMME(DMA)-WRITE +
FKPRIn · I0MME( DMA ) · READ
NINHB sperrt den Prozessor, so daß keine anderen Daten auf
die B-Schiene gebracht werden können. Die Fig. 34 stellt ein
Zeittaktdiagramm dar, welches die verschiedenen Anpass-Signale
zeigt, die verwendet werden, wenn zwei Einrichtungs-Steuereinheiten
vom DMA-Typ gleichzeitig Unterbrechungen anfordern. Dabei ist angenommen, daß die Unterbrechungsanforderung (REQREAD)
in der Weise erhöht wird, wie es in der Fig. 32 dargestellt ist.
Standard-IO-Steuerung: Sieben Felder des Mikrobefehls nehmen
an der Steuerung der Funktionen auf SIOM teil. Sechs dieser Felder sind gekennzeichnet, für Eingangs/Ausgangs-Zwecke, und
zwar in vorangegangenen Abschnitten, und sie sind dort vollständig definiert. Das siebte Feld, die ΙΟ-Steuerung, wird
unten definiert, und zwar bei einer Verwendung auf SIOM.
Wenn IO-Modus 1' ist und C-Schienen/Register-Steuerung nicht
5C1B1 ist, werden die Bits 24-27 zum Eingangs/Ausgangs-Steuer—
Bit 10-Steuerung
24 25 Funktion
0 0 Lesen des 10-"Re gist er s, welches durch RA-Auswahl
adressiert ist, und der Einrichtungs-Auswahlfelder
zu der A-Schiene.
0 1 Lesen des ΙΟ-Registers, welches durch die RA-Auswahl- und die Einrichtungs-Auswahlfelder adressiert ist, zu der Α-Schiene und Einschreiben der Daten von der C-Schiene in das ΙΟ-Register, welches durch die RA-Auswahl- und die Einrichtungs-Auswahlfelder adressiert 1^982870447 .
0 1 Lesen des ΙΟ-Registers, welches durch die RA-Auswahl- und die Einrichtungs-Auswahlfelder adressiert ist, zu der Α-Schiene und Einschreiben der Daten von der C-Schiene in das ΙΟ-Register, welches durch die RA-Auswahl- und die Einrichtungs-Auswahlfelder adressiert 1^982870447 .
-•101 -
24522U
0 Lesen der ΙΟ-Schiene 16, welche durch die RA-Auswahl-
und die Einrichtungs-Auswahlfeider adressiert ist, zu der A-Schiene.
1 Lesen der IO-Schiene 6, welche durch die RA-Auswahl-
und die Einrichtungs-Auswahlfeider .adressiert ist,
zu der Α-Schiene und Einschreiben der Daten von der C-Schiene in das ΙΟ-Register, welches durch die RA-Auswahl-
und die Einrichtungs-Auswahlfelder adressiert ist.
Bit Speziaisteuerung
2? Funktion
O O Keine Veränderung.
1 Abschalten des Ausgangs zu der ΙΟ-Schiene 6.( Sperrt den Ausgang vom ΙΟ-Register Byte, welches durch RA-Auswahl,
Einrichtungs-Auswahl und die A-Schienen-Steuerfeider
adressiert ist, zu dem entsprechenden Abschnitt der ΙΟ-Schiene. Dieser Ausgang bleibt gesperrt,
bis eine Aktivierung ΙΟ-Schiene auftritt.) O Aktivieren des Ausgangs zur IO-Schiene 6. (Ermöglicht,
daß der Inhalt des IO-Register-Bytes, welches durch
RA-Auswahl, Einrichtungs-Auswahl und A-Schienen-Steuerfeider
adressiert ist, zu dem entsprechenden Abschnitt der IO-Schiene übertragen wird. Dieser
Ausgang bleibt aktiviert, bis eine Sperrung der IO-Schiene auftritt.)
Ί 1 Nicht zugeordnet.
Ί 1 Nicht zugeordnet.
IO-rSchiene: Die IO-Schiene 6 ist eine Doppelrichtungsschiene,
die in der Fig. 35 durch eine einzige Linie dargestellt ist.
Daten, die von SCU auf die Schiene 6 ausgegeben werden sollen', werden von der C-Schiene in ein Pufferregister 90 übertragen,
indem entweder der Mikrooperatiönskode "Lesen Register/ Schreiben Register" oder "Lesen Schiene/Schreiben Schiene" verwendet
wird. Wenn das entsprechende ΙΟ-Byte für die Ausgabe aktiviert ist, werden die Daten durch eine entsprechende
logische Operation auf die IO-Schiene 6 übertragen. Daten
509828/0447
-r
-.102 -
24522H
können entweder zu der bei 1 dargestellten Α-Schiene von dem Ausgangsregister über die Leitung 92 oder von der IO-Schiene
über die Leitung 94- übertragen werden, wobei bei dem letzten
Vorgang die Möglichkeit besteht, daß SCU eine Rundumprüfung
des Moduls durchführt. Der 2:1-Multiplexer 9& wählt die Quelle für die A-Schiene.
des Moduls durchführt. Der 2:1-Multiplexer 9& wählt die Quelle für die A-Schiene.
ΙΟ-Schienen-Abschaltung: Jedes Byte der zwei IO-Schienen 6 .
(Fig.1) kann einzeln für eine Datenausgabe zu der Schiene
unter der Mikroprogrammsteuerung aktiviert werden, wie es
in der Fig. 36 dargestellt ist. Das Byte, welches aktiviert
werden soll, wird durch KA-Auswahl, Einrichtungs-Auswahl und A-Schienen-Steuerurig adressiert. Der Q-Ausgang 98 des Aktivierungs-Flip-Flops 100 verbindet das Ausgangsregister mit
der ΙΟ-Schiene-. Weiterhin wird von einem offenen Kollektortreiber ein.Schienenrichtungs-Steuersignal geliefert, NDISABLE.
unter der Mikroprogrammsteuerung aktiviert werden, wie es
in der Fig. 36 dargestellt ist. Das Byte, welches aktiviert
werden soll, wird durch KA-Auswahl, Einrichtungs-Auswahl und A-Schienen-Steuerurig adressiert. Der Q-Ausgang 98 des Aktivierungs-Flip-Flops 100 verbindet das Ausgangsregister mit
der ΙΟ-Schiene-. Weiterhin wird von einem offenen Kollektortreiber ein.Schienenrichtungs-Steuersignal geliefert, NDISABLE.
Venn NDISABLE falsch ist, wird der Ausgang zu der IO-Schiene von dem ΙΟ-Register des ausgewählten Bytes abgeschaltet, und
einlaufende Daten können auf diesen Teil der IO-Schiene gebracht werden. Wenn NDISABLE hoch liegt, wird der Ausgang
des ausgewählten Bytes von der IO-Schiene aktiviert, und
dieser Abschnitt der Schiene sollte nicht für eine Eingabe
verwendet werden.
des ausgewählten Bytes von der IO-Schiene aktiviert, und
dieser Abschnitt der Schiene sollte nicht für eine Eingabe
verwendet werden.
ΙΟ-Aktiv: Abtastimpulse, welche für eine IO-Anpasseinrichtung
benötigt werden, werden normalerweise durch das Mikroprogramm erzeugt, indem ein Vorzuordnungs-IO-Schienenbit als Abtastsignal
verwendet wird. Diese Art der Verwendung bringt die spezielle Gerätetechnik bei dem ΙΟ-Modul auf ein Minimum, indem
stattdessen der MikroOperationskode verwendet wird.
Es gibt jedoch bestimmte Fälle, in welchen diese Technik entweder
unbequem oder langsam ist. Für diese Fälle ist ein einzelnes IO-Aktiv-Signal auf jedem ΙΟ-Modul vorgesehen. Dieses
Signal wird einem der vier ΙΟ-Bytes auf dem Modul aufgetastet
509828/0447
"103~ 24522 U
(dem Byte mit dem geringsten Stellenwert des ungeraden
Registers).
ΙΟ-Aktiv wird unbedingt durch zwei Werte des IO-Steuerfeldes erzeugt:
10 Lesen ΙΟ-Schiene nach A-Schiene
11 Lesen ΙΟ-Schiene nach Α-Schiene und Schreiben 10-Register
von C-Schiene
IO Aktiv kann "bedingt durch folgenden Wert des 10-Steuerfeldes
erzeugt werden.
01 Lesen ΙΟ-Register nach Α-Schiene und Schreiben 10-
Register von C-Schiene. Die Bedingung besteht darin,
daß das Byte für den Ausgang am Ende der Ausführung des Mikrobefehls aktiviert ist, d.h., entweder durch den laufenden Mikrobefehl
oder durch einen vorangegangenen Mikrobefehl aktiviert ist und durch den laufenden Mikrobefehl nicht abgeschaltet ist.
Die Fig. 37 zeigt die zeitliche Beziehung zwischen der Befehlsausführungszeit,
der Ausgabe von Daten und der ΙΟ-Aktiv-Abtastung.
Die IO-Aktiv-Abtastung tritt nominell 100 ns nach der Befehls-. ausführungs-Taktgeberzeit auf, so daß 60 ns von Daten stabil
bis zur Vorderflanke des Abtastimpulses zur Verfügung stehen. Der Impuls weist eine Nennbreite von 150 ns auf.
Gemultiplexte ΙΟ-Unterbrechungen: Der Prozessor hat einen" einzelnen
Unterbrechungspegel, welcher dem allgemeinen Eingang/ Ausgang zugeordnet ist. Dieser Unterbrechungspegel ist zwischen
den ΙΟ-Plätzen gemultiplext und ist bei den IO-Moduln
zwischen zwei Unterbrechereingängen gemultiplext, wie es in der. Fig. $8 dargestellt ist.
Der Empfang einer Unterbrechung aktiv-tief, NINT(E) oder
NINT(O), vom Benutzer setzt das Anforderungs-Flip-Flop 102 auf das nächste System-Taktgebersignal, vorausgesetzt, das
Prozessorsignal, NINTLOCK, liegt hoch. Wenn die Anforderung hoch liegt, so sind drei Wirkungen möglich:
S09828/0U7
24522U
1. NIOINT wird auf aktiv-tief gebracht, wenn der spezielle
ΙΟ-Modul Priorität hat (PRIn - 1), wird die gemultiplexte IO-Unterbrechungsroutine im Prozessor ausgelöst.
2. PRIn+1 wird gesperrt, das Prioritätssignal für den nächsten
ΙΟ-Modul in der Prioritätsfolge.
J. Die Übertragung der Adresse der lO-Modul-Einrichtung zu
der Α-Schiene beim Empfang von AXDASTROBE vom Prozessor
wird aktiviert.
Wenn die Unterbrechungs-Bearbeitungsroutine beginnt, so wird
durch die gerätetechnische Einrichtung des Prozessors automatisch jegliche gemultiplexte ΙΟ-Unterbrechung abgeschaltet,
um eine Störung von anderen ΙΟ-Unterbrechungen zu verhindern. Die ΙΟ-Unterbrechungen werden erneut aktiviert, wenn die Bearbeitungsroutine
beendet ist.
IO-Unterbrechungssignale werden auf einer Anforderung©/
Antwort-Basis erzeugt, wie es in der Fig. 39 dargestellt ist. Dies bedeutet, ein Unterbrechungssignal sollte auf
aktiv-tief gebracht werden und in diesem Zustand bleiben, bis das Mikroprogramm antwortet. Diese Antwort kann die
Form eines Impulses auf einer Leitung der IO-Schiene 6 ' haben, welche für diesen Zweck zugeordnet ist. Das Mikroprogramm
sollte diese Antwort nicht erzeugen, bis es festgelegt hat, welche Benutzereinrichtung die Unterbrechung
erzeugte.
Prüfung des externen Zustandes: Jeder ΙΟ-Modul nimmt vier
externe Zustandeleitungen auf (nicht dargestellt), lädt
den Zustand bzw. den Status der Leitungen in ein Parallelregister, und zwar bei jedem System-Taktgebersignal, und
multiplext die eine ausgewählte durch MikroOperationskodes zu einer einzigen Leitung, nämlich NEXT. Dieses Signal aktiv=-
tief wird dem Prozessor zugeführt, wie es oben beschrieben ist.
509828/0U7
2A522U
Die RA-Auswahl-, Einrichtungs-Auswahl- und A-Schienen-Steuerfelder
adressieren die Leitungen des externen Zustandes folgendermaßen:
1. Die sechs Bits mit dem höchsten Stellenwert von RA-Auswahl
und Einrichtungsauswahl adressieren den ΙΟ-Modul, welcher
seinen externen Status auf die Leitung NEXT bringen soll.
2. Das Bit mit dem geringsten Stellenwert von RA-Auswahl und
Einrichtungs-Auswahl adressiert das gerade oder ungerade Paar von externen Zustandsleitungen auf dem ausgewählten
IO-Modul.
3. A-Schienen-Steuerung wählt die linke oder die rechte externe Zustandsleitung des geraden oder des ungeraden Paares folgendermaßen:
00 | Rechts |
01 | Links |
10. | Rechts |
11 | Rechts |
Es ist zu bemerken, daß dann, wenn die A-Schienen-Steuerung die Arbeitsschiene A festlegt (00) oder MAR zur A-Schiene (11)
die rechte Abtastleitung gewählt ist.
Aus der obigen Beschreibung dürfte ersichtlich sein, daß eine Vielzahl von verschiedenen Eingangs/Ausgangs-Einrichtungen
wie ein Fernschreiber, ein Papierstreifenleser, ein Papierstreifenstanzer, eine Magnetbandeinrichtung, eine Magnetplatt eneinrichtung, ein Drucker oder ähnliche Einrichtungen
innerhalb der Bindbreitengrenzen an den Prozessor über Standardoder Spezial-Eingangs/Ausgangs-Moduleinheiten angeschlossen
werden können. Spezielle Einzelheiten besonderer Einrichtungs-
509828/0447
Anpass einrichtungen werden hier nicht im einzelnen^ erörtert;
da die angewandte Technik bei der Anpassung dieser Eingangs-/ Ausgangs-Moduleinheiten innerhalb des fachlichen Könnens eines
Fachmannes in der Datenverarbeitung liegt.
- Patentansprüche -
509828/0447
Claims (16)
- - 107 Pat ent ans prücheM/Mikroprozessor, dadurch gekennzeichnet, daß eine erste, eine zweite und eine dritte Sammelschiene (A, B, G) vorgesehen sind, daß weiterhin ein Steuerspeicher (22, 23) vorhanden ist, in welchem eine Vielzahl von Steuerworten speicherbar sind, von denen wenigstens einige ein Feld aufweisen, welches einen Indesrwert enthält, durch welchen eine Befehlsadresse erhöht werden kann, daß weiterhin eine Einrichtung vorgesehen ist, welche dazu dient, eine Adresse eines Steuerwortes auf die erste Sammelschiene (A) zu bringen, daß weiterhin eine Einrichtung vorhanden ist, welche dazu dient, den Indexwert auf die zweite Sammelschiene (B) zu bringen, daß weiterhin eine Einrichtung vorhanden ist, welche dazu'dient, die erste Adresse und den Indexwert derart miteinander zu kombinieren, daß eine relative Adresse gebildet wird, und daß eine Einrichtung vorhanden ist, welche dazu dient, den Steuerspeicher (22, 23) an der.Stelle zu adressieren, welche durch die relative Adresse festgelegt ist.
- 2. Mikroprozessor nach Anspruch 1, dadurch g e k e .η η zeichnet, daß die zum Kombinieren dienende Einrichtung eine arithmetische und logische Einheit (4-4) ist.
- 3. Mikroprozessor nach Anspruch 2, dadurch g e k e η η -ζ e ichnet , daß die Kombination eine Addition ist.
- 4·. Mikroprozessor nach Anspruch 2, dadurch gekennzeichnet, daß die Kombination eine Subtraktion ist.509828/0447
- 5- Mikroprozessor nach einem der vorhergehenden Ansprüche, datirch g e k e η η ze ic h η e t , daß wenigstens ein Register vorhanden ist, welches' mit der ersten und der zweiten Sammelschiene (A, B) ; verbunden ist,· wobei ein zweiter Indexwert in diesem Register enthalten ist.
- 6. Mikroprozessor nach Anspruch 5j dadurch g e k e η η ze ich net , " daß das Steuerwort ein zusätzliches Feld aufweist, welches dazu dient zu bestimmen, durch welchen Indexwert eine Befehlsadresse erhöht werden soll,
- 7. Mikroprozessor nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Steuerworte eine Vielzahl von Feldern aufweisen, von denen wenigstens einige mehr als eine Funktion.haben.
- 8. Digitale elektronische Datenverarbeitungseinrichtung, dadurch g e k e η η ζ e ic h η et, daß eine erste Sammelschiene (A) vorgesehen ist, daß eine zweite Sammelschiene (B) vorhanden ist, daß eine dritte Sammelschiene (0) vorgesehen ist, daß ein adressierbares Element vorhanden ist, daß eine Einrichtung vorgesehen ist, welche dazu dient, eine digitale Information auf die erste und die zweite Sammelschiene (A, B) zu bringen, daß weiterhin eine Einrichtung vorhanden Ist, um die Information auf der ersten und der zweiten Sammelschiene (A, B) miteinander zu kombinieren,Vund daß .eine Einrichtung vorhanden ist, welche dazu dient, die kombinierte Information auf der dritten Sammelschiene (C) als Adresse auf die adressierbaren Elemente zu übertragen.
- 9. Mikroprozessor, dadurch gek e η η ζ e i c hne t, daß eine erste, eine zweite und eine dritte Sammelschiene (A, B, 0) vorgesehen sind, daß weiterhin eine Erhöhungseinrichtung vorhanden ist, welche zwischen der ersten und der dritten Sammelschiene (A,C) angeordnet ist, daß weite.r-509828/0447hin eine Speichereinrichtung (wie 22, 23) vorhanden ist, welche dazu dient, Mikrobefehle zu speichern, die auszuführen sind, um die Operation des Mikroprozessors während aufeinanderfolgender Taktgeberperioden zu steuern, daß weiterhin-eine Adressierungseinrichtung vorgesehen ist, welche eine zweite Erhöhungseinrichtung aufweist, um Adressen von ausgewählten Mikrobefehlen zu liefern, welche mit der dritten Sammelschiene (0) verbunden ist und daß eine Einrichtung vorhanden ist, welche dazu dient, Adressen der Adresseinrichtung und andere Adressen der Speichereinrichtung zuzuführen, wobei der Mikroprozessor in der lage ist, die folgende Operation auszuführen: ·a) Ausführen eines Mikrobefehls als Adresse X in einer Taktgeberperiode η und gleichzeitiges Erhöhen der Adresse, welche von der Adressierungseinrichtung geliefert wird, um Eins und Holen der erhöhten Adresse X+1 zur Ausführung ihres Mikrobefehls während der Taktgeberperiode n+1,b) Ausführen des Mikrobefehls der erhöhten Adresse in der Taktgeberperiode n+1, wobei der Mikrobefehl eine ■Verzweigungsadresse Y enthält,c) Adressieren des Speichers bei der Adresse Y über die Einrichtung zur Zuführung von Adressen während der Taktgeberperiode n+1 zur Ausführung des Mikrobefehls in der Adresse Y während der Taktgeberperiode n+2,d) Übertragen der Adresse Y auf die erste Sammelschiene für ihre Anwendung in der Erhöhungseinrichtung während der Taktgeberperiode n+1,e) Erhöhen der Adresse Y auf Y+1 während der Taktgeberperiode n+1 und Übertragen der Adresse Y+1 über die dritte Sammelschiene zu der Einrichtung, welche zur Bereitstellung von Adressen zur Adressierung des Speichers während der Taktgeberperiode n+2 dient·509828/044724522U
- 10. Mikroprozessor nach Anspruch 9, dadurch gekennzeichnet, daß die Operation weiterhin die Ausführung des Mikrobefehls in der Adresse Y+1 während der Taktgeberperiode n+3 und die gleichzeitige Erhöhung der Adresse Y+1 durch die zweite Erhöhungseinrichtung auf Γ+2 um fast, und zwar für eine Ausführung während der Taktgeberperiode n+4. ..'■■■;■
- 11. Mikroprozessor nach Anspruch 9, dadurch gekennzeichnet , daß die Einrichtung zur übertragung der Adressen ein Multiplexer (wie 28) ist.
- 12. Mikroprozessor nach Anspruch 9» dadurch gekennzeichnet, daß die Erhöhungseinrichtung eine allgemeine arithmetische Einheit (wie 44) ist.
- 13· Mikroprozessor nach Anspruch 10, dadurch gekennzeichnet, daß die Einrichtung zur Übertragung von Adressen ein Multiplexer (wie 28). ist.
- 14. Mikroprozessor nach Anspruch 10, dadurch gekennzeichnet, daß die Erhöhungseinrichtung eine allgemeine arithmetische Einheit (wie 44). ist. ·
- 15· Mikroprozessor nach Anspruch 14, dadurch gekennzeichnet, daß die zweite Erhöhungseinrichtung ein Mikroadressenregister (wie 20) ist.
- 16. Mikroprozessor, dadurch g e k e η η ζ e i c h η e t , daß eine erste, eine zweite und eine dritte Sammelschiene (A,B,G) vorgesehen sind, daß weiterhin eine arithmetische Einheit (44) zwischen der ersten und der dritten Sammelschiene (A,0) angeordnet ist, daß weiterhin eine Speicher-. einrichtung (wie 22, 23) vorhanden ist, welche dazu dient, Steuersignale zu speichern, die in ein MikroSteuerregister509 8 28/0 44 7- ΛΛΛ -(wie 2Pr) einzuschreiben sind, um die Operation des Mikroprozessors zu steuern, damit Steuersignale in aufeinanderfolgenden Taktgeberintervallen abgearbeitet werden, daß weiterhin eine Adressierungseinrichtung für die Speichereinrichtung (22, 23) vorhanden ist, welche mit der dritten Sammelschiene (0) verbunden ist, und daß eine Einrichtung vorhanden ist, welche eine Übertragung von Steuersignalen von dem MikroSteuerregister zu der Speichereinrichtung (22, 23) ermöglicht, wobei der Mikroprozessor in der 3Jage ist, folgende Operation auszuführen:a) Dekodieren von Steuersignalen in einem Taktgeberintervall n, wobei diese Steuersignale eine Speicheradresse X aufweisen,b) Adressieren des Speichers an der Adresse X im Taktgeberintervall η, um die Abarbeitung der Steuersignale in der Adresse X während des Taktgeberintervalls n+1 zu ermög-; " liehen,c) Übertragen der Adresse X auf die erste Sammelschiene zur Verwendung derselben in der arithmetischen Einheit während des Taktgeberintervalls η,d) Addieren von "1" zu der Adresse X während des Taktgeberintervalls n+1 und Übertragen des Ergebnisses auf die dritte Sammelschiene, wodurch die Adresse X+1 der Speicheradresseinrichtung während desselben Taktgeberintervalls zugeführt wird, unde) Übertragen der Adresse X+1 zu der Speichereinrichtung, um die Abarbeitung der Steuersignale in der Speicheradresse X+1 im Taktgeberintervall n+2 zu ermöglichen.609-828/0447
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/428,632 US3943495A (en) | 1973-12-26 | 1973-12-26 | Microprocessor with immediate and indirect addressing |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2452214A1 true DE2452214A1 (de) | 1975-07-10 |
Family
ID=23699729
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19742452214 Pending DE2452214A1 (de) | 1973-12-26 | 1974-11-04 | Mikroprozessor mit unmittelbarer und indirekter adressierung |
Country Status (5)
Country | Link |
---|---|
US (1) | US3943495A (de) |
JP (1) | JPS5097248A (de) |
CA (1) | CA1028777A (de) |
DE (1) | DE2452214A1 (de) |
GB (1) | GB1493817A (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2638125A1 (de) * | 1975-09-04 | 1977-03-17 | Tokyo Shibaura Electric Co | Datenverarbeitungssystem |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4032896A (en) * | 1974-10-30 | 1977-06-28 | Motorola, Inc. | Microprocessor having index register coupled to serial-coupled address bus sections and to data bus |
US4095265A (en) * | 1976-06-07 | 1978-06-13 | International Business Machines Corporation | Memory control structure for a pipelined mini-processor system |
JPS6052447B2 (ja) * | 1976-07-10 | 1985-11-19 | 株式会社東芝 | マイクロプログラム順序制御方式 |
US4090238A (en) * | 1976-10-04 | 1978-05-16 | Rca Corporation | Priority vectored interrupt using direct memory access |
US4112490A (en) * | 1976-11-24 | 1978-09-05 | Intel Corporation | Data transfer control apparatus and method |
US4339793A (en) * | 1976-12-27 | 1982-07-13 | International Business Machines Corporation | Function integrated, shared ALU processor apparatus and method |
JPS5448449A (en) * | 1977-09-26 | 1979-04-17 | Hitachi Ltd | Virtual addressing sustem |
US4202035A (en) * | 1977-11-25 | 1980-05-06 | Mcdonnell Douglas Corporation | Modulo addressing apparatus for use in a microprocessor |
US4272829A (en) * | 1977-12-29 | 1981-06-09 | Ncr Corporation | Reconfigurable register and logic circuitry device for selective connection to external buses |
JPS54127653A (en) * | 1978-03-28 | 1979-10-03 | Toshiba Corp | Data processor |
US4291388A (en) * | 1978-12-20 | 1981-09-22 | Allen-Bradley Company | Programmable controller with data archive |
US4323963A (en) * | 1979-07-13 | 1982-04-06 | Rca Corporation | Hardware interpretive mode microprocessor |
HU180118B (en) * | 1980-01-17 | 1983-02-28 | Telefongyar | Microprocessor system |
US4360891A (en) * | 1980-04-14 | 1982-11-23 | Sperry Corporation | Address and data interface unit |
US4398244A (en) * | 1980-05-07 | 1983-08-09 | Fairchild Camera & Instrument Corporation | Interruptible microprogram sequencing unit and microprogrammed apparatus utilizing same |
US4751631A (en) * | 1983-02-04 | 1988-06-14 | Signal Processing Systems, Inc. | Apparatus for fast generation of signal sequences |
US4573118A (en) * | 1983-03-31 | 1986-02-25 | Fairchild Camera & Instrument Corporation | Microprocessor with branch control |
US4935867A (en) * | 1986-03-04 | 1990-06-19 | Advanced Micro Devices, Inc. | Signal processor memory management unit with indirect addressing using selectable offsets and modulo values for indexed address calculations |
US4766531A (en) * | 1986-04-14 | 1988-08-23 | Motorola, Inc. | Method and apparatus for generating the next microaddress for a micromachine |
FR2599871B1 (fr) * | 1986-06-10 | 1988-10-07 | Denis Georges | Processeur microprogramme de resolution de programmes logiques |
JP2902402B2 (ja) * | 1987-09-30 | 1999-06-07 | 三菱電機株式会社 | データ処理装置 |
US4878174A (en) * | 1987-11-03 | 1989-10-31 | Lsi Logic Corporation | Flexible ASIC microcomputer permitting the modular modification of dedicated functions and macroinstructions |
JPH0766324B2 (ja) * | 1988-03-18 | 1995-07-19 | 三菱電機株式会社 | データ処理装置 |
US6754755B1 (en) * | 2000-08-10 | 2004-06-22 | Hewlett-Packard Development Company, L.P. | Service request system using an activity indicator to reduce processing overhead |
US9137443B2 (en) | 2011-04-26 | 2015-09-15 | Blackberry Limited | Fast estimation of binary data length using memory corruption |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3061192A (en) * | 1958-08-18 | 1962-10-30 | Sylvania Electric Prod | Data processing system |
US3315235A (en) * | 1964-08-04 | 1967-04-18 | Ibm | Data processing system |
US3374466A (en) * | 1965-05-10 | 1968-03-19 | Ibm | Data processing system |
JPS514381B1 (de) * | 1969-11-24 | 1976-02-10 |
-
1973
- 1973-12-26 US US05/428,632 patent/US3943495A/en not_active Expired - Lifetime
-
1974
- 1974-09-11 CA CA208,922A patent/CA1028777A/en not_active Expired
- 1974-10-31 JP JP49126484A patent/JPS5097248A/ja active Pending
- 1974-11-04 DE DE19742452214 patent/DE2452214A1/de active Pending
- 1974-11-18 GB GB49798/74A patent/GB1493817A/en not_active Expired
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2638125A1 (de) * | 1975-09-04 | 1977-03-17 | Tokyo Shibaura Electric Co | Datenverarbeitungssystem |
Also Published As
Publication number | Publication date |
---|---|
CA1028777A (en) | 1978-03-28 |
GB1493817A (en) | 1977-11-30 |
JPS5097248A (de) | 1975-08-02 |
US3943495A (en) | 1976-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2452214A1 (de) | Mikroprozessor mit unmittelbarer und indirekter adressierung | |
DE2452255A1 (de) | Eingabe/ausgabe-einrichtung fuer einen mikroprozessor | |
DE2322674C3 (de) | Mikroprogramm-Steuereinrichtung | |
DE68914172T2 (de) | Datenverarbeitungssystem und Videoverarbeitungssystem mit einem derartigen Datenverarbeitungssystem. | |
DE1449532C3 (de) | ||
DE2817183C2 (de) | Datenverarbeitungsanlage mit einer durch Mikroprogramm gesteuerten Zentraleinheit | |
DE2540824C2 (de) | Auf verschiedene Ausbaustufen veränderbare Abrechnungsmaschine | |
DE1815078C3 (de) | Elektronisches Datenverarbeitungssystem | |
DE1915818C3 (de) | Steuerschaltung für ein elektronisches Datenverarbeitungssystem | |
DE1549523B2 (de) | Datenverarbeitungsanlage | |
DE2540975A1 (de) | Multi-mikro-prozessor-einheit | |
DE19815263C2 (de) | Vorrichtung zur fehlertoleranten Ausführung von Programmen | |
DE2944419C2 (de) | ||
DE2829668B2 (de) | Kanaldatenpufferspeicher | |
DE2542740A1 (de) | Mikroprogramm-datenverarbeitungsverfahren und geraet zur ausfuehrung des verfahrens | |
DE2847934A1 (de) | Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher | |
DE2400161A1 (de) | Datenverarbeitungssystem und in diesem enthaltenes speichersystem | |
DE3013070C2 (de) | Schaltungsanordnung zur Bearbeitung von aus mehreren peripheren Geräten herangeführten Anforderungssignalen innerhalb einer datenverarbeitenden Einrichtung | |
DE2739525C2 (de) | Rechner | |
DE2753650C2 (de) | Zeithaltende Einrichtung mit einem Register zum Speichern von Zeitzähldaten | |
DE2218630B2 (de) | Schaltungsanordnung zur Steuerung von Unterbrechungssignalen in Datenverarbeitungsanlagen | |
DE1922304A1 (de) | Datenspeichersteuergeraet | |
DE69032511T2 (de) | Multiprozessor-Steuereinrichtung mit gemeinsamem Steuerungsspeicher | |
DE2835110A1 (de) | Schneller echtzeit-rechneremulator | |
DE2245284A1 (de) | Datenverarbeitungsanlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OHJ | Non-payment of the annual fee |