DE2452214A1 - Mikroprozessor mit unmittelbarer und indirekter adressierung - Google Patents

Mikroprozessor mit unmittelbarer und indirekter adressierung

Info

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
Application number
DE19742452214
Other languages
English (en)
Inventor
Richard A Garlic
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xerox Corp
Original Assignee
Xerox Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xerox Corp filed Critical Xerox Corp
Publication of DE2452214A1 publication Critical patent/DE2452214A1/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/261Microinstruction address formation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements 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.
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-
Schiene,
Fig. 20 ein Zeitsteuerdiagramm einer typischen gemultiplexten
IO-Unterbrechung,
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
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-
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«
B-
Schiene Steuerg«
G—
Schiene/ Register Steuerg·
Verzweig. Steuerg.
MuIt uOP Feld 1
Mult
uOP
^ Feld 1
/ υ 4 4 7
MuIt
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)
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
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
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
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
A-Schienen-Steuerung:
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)
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)
2: CO^—O1 0(1-7) t— ALU(0-6), 08 ^— 0,
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.
GRn(O-15) <— B(O-15) plus 1
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.
GRn(O-I5) £-— B(O-I5) plus 1
(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) .
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')
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)
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
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)
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.
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.
Sequentielle Adressierung: Das Mikro-Adressenregister 20 erhöht auf die nächste Mikroadresse, und zwar in Abwesenheit
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
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
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
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
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
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 .
-•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.
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.
ΙΟ-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.
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.
ΙΟ-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)

  1. - 107 Pat ent ans prüche
    M/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. 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. 3. Mikroprozessor nach Anspruch 2, dadurch g e k e η η -
    ζ e ichnet , daß die Kombination eine Addition ist.
  4. 4·. Mikroprozessor nach Anspruch 2, dadurch gekennzeichnet, daß die Kombination eine Subtraktion ist.
    509828/0447
  5. 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. 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. 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. 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. 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/0447
    hin 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/0447
    24522U
  10. 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. 11. Mikroprozessor nach Anspruch 9, dadurch gekennzeichnet , daß die Einrichtung zur übertragung der Adressen ein Multiplexer (wie 28) ist.
  12. 12. Mikroprozessor nach Anspruch 9» dadurch gekennzeichnet, daß die Erhöhungseinrichtung eine allgemeine arithmetische Einheit (wie 44) ist.
  13. 13· Mikroprozessor nach Anspruch 10, dadurch gekennzeichnet, daß die Einrichtung zur Übertragung von Adressen ein Multiplexer (wie 28). ist.
  14. 14. Mikroprozessor nach Anspruch 10, dadurch gekennzeichnet, daß die Erhöhungseinrichtung eine allgemeine arithmetische Einheit (wie 44). ist. ·
  15. 15· Mikroprozessor nach Anspruch 14, dadurch gekennzeichnet, daß die zweite Erhöhungseinrichtung ein Mikroadressenregister (wie 20) ist.
  16. 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 MikroSteuerregister
    509 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, und
    e) Ü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
DE19742452214 1973-12-26 1974-11-04 Mikroprozessor mit unmittelbarer und indirekter adressierung Pending DE2452214A1 (de)

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)

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

* Cited by examiner, † Cited by third party
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
EP2519006B1 (de) * 2011-04-26 2013-11-27 BlackBerry Limited Schnellbeurteilung der Binärdatenlänge unter Verwendung der Speicherkorruption

Family Cites Families (4)

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

Cited By (1)

* Cited by examiner, † Cited by third party
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
GB1493817A (en) 1977-11-30
JPS5097248A (de) 1975-08-02
US3943495A (en) 1976-03-09
CA1028777A (en) 1978-03-28

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
DE1449532C3 (de)
DE2817183C2 (de) Datenverarbeitungsanlage mit einer durch Mikroprogramm gesteuerten Zentraleinheit
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE2540824C2 (de) Auf verschiedene Ausbaustufen veränderbare Abrechnungsmaschine
DE1815078C3 (de) Elektronisches Datenverarbeitungssystem
DE1915818C3 (de) Steuerschaltung für ein elektronisches Datenverarbeitungssystem
DE1549523B2 (de) Datenverarbeitungsanlage
EP0952520B1 (de) Vorrichtung zur fehlertoleranten Ausführung von Programmen
DE2540975A1 (de) Multi-mikro-prozessor-einheit
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
DE2339636A1 (de) Programmsteuereinrichtung
DE3013070C2 (de) Schaltungsanordnung zur Bearbeitung von aus mehreren peripheren Geräten herangeführten Anforderungssignalen innerhalb einer datenverarbeitenden Einrichtung
DE2926322A1 (de) Speicher-subsystem
DE1499190C3 (de) Elektronische Datenverarbeitungsanlage
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

Legal Events

Date Code Title Description
OHJ Non-payment of the annual fee