DE2452286A1 - Mikroprozessor mit parallelbetrieb - Google Patents

Mikroprozessor mit parallelbetrieb

Info

Publication number
DE2452286A1
DE2452286A1 DE19742452286 DE2452286A DE2452286A1 DE 2452286 A1 DE2452286 A1 DE 2452286A1 DE 19742452286 DE19742452286 DE 19742452286 DE 2452286 A DE2452286 A DE 2452286A DE 2452286 A1 DE2452286 A1 DE 2452286A1
Authority
DE
Germany
Prior art keywords
rail
busbar
data
control
register
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
DE19742452286
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 DE2452286A1 publication Critical patent/DE2452286A1/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/226Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
    • 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/28Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microcomputers (AREA)
  • Advance Control (AREA)

Description

PATENTAN v/V Λ. LT E Λ.
HIP!- -INO.
:-:. KlNKELOEY
DH.-ING.
W. STOCKMAlR
DR.-INO. · AeE(CAUTECH)
K. SCHUMANN
DR RER. NAT. · DIPL.-PHYS.
P. H. JAKOB DlPU.-INQ.
G. BEZOLD
DR. RER. NAT. · DIPU-CHEM.
MÜNCHEN
E. K. WEIL
DR. RER. OEC. INQ.
LINDAU
MÜNCHEN 22
MAXIMILIANSTRASSE 43
4. November 1974 P 8431
XEROX CORPORATION
Xerox Square, Rochester, N.Y. 14644, USA
Mikroprozessor mit Parallelbetrieb
Die Erfindung betrifft eine digitale Datenverarbeitungseinrichtung und bezieht sich insbesondere auf eine mikroprogrammierte Einrichtung zur direkten Verarbeitung oder Emulation eines Satzes von Befehlen mittels der Verwendung einer Reihe von Worten, die in einem Steuerspeicher gespeichert sind.
509828/0449
Bisher sind zwei getrennte Typen von raikroprogramraierbaren Prozessoreinrichtungen verwendet worden, nämlich Direktprozessor- und Emulationsprozessor-Einrichtungen.
Beim Emulations-Prozessor wird ein Sprachkode als Eingangskode verwendet, um Makro-Unterroutinen anzusprechen, welche aus Mikrobefehlen bestehen, die den Zweck des Eingangskodes simulieren. Diese Art eines nach der Mikroprogrammiertechnik arbeitenden Prozessors läßt sich in zwei Teile unterteilen: einmal in einen externen Prozessor, der ein typischer Vertreter der klassischen Vielfalt von Prozessoren ist, und zum anderen in einen internen Prozessor, der für einen Direktprozessortypisch ist.
Der direkt programmierbare Prozessor ist im wesentlichen ein einfacher Prozessor, dessen gerätetechnische Ausführung eine Einrichtung darstellt, welche durch ein Steuerspeicher-Untersystem mit Mikrobefehlskodes steuerbar ist, v/elche derart miteinander verknüpft sind, daß Mikrobefehle gebildet werden, die allgemeiner Natur sind.
Die meisten Prozessoreinrichtungen ebenso wie Mikroprozessoreinrichtungen verwenden eine mehrphasige Taktgebereinrichtung, und es besteht dabei die Tendenz, daß der Betrieb in gewisser Weise seriell abläuft. Dies bedeutet, um einen Befehl auszuführen, muß die Einrichtung einen Befehl aus einem Direktzugriffsspeicher oder einem Mikrosteuerspeicher holen, diesen Befehl dekodieren und diejenige Adresse erzeugen, welche bei der Ausführung des Befehls welche verwendet wird, weiterhin den Inhalt derjenigen Adresse entnehmen, auf v/elche im Befehl Bezug genommen wird, und schließlich diesen Befehl ausführen.
Bei einer mikroprogrammierten Ausführung laufen einige der Operationen in stärkerem Maß parallel, d.h., derjenige Teil der Ausführung des Befehls, der sich auf das Holen und das Ausführen besieht, laufen vollständig parallel, und zwar deshalb, weil dann, wenn ein Mikrobefehl geholt wird, er gleichseitig dekodiert wird und die Oparationaoperanden ge-
509828/0449
bildet werden, so daß der Befehl bereits im nächsten Zyklus der Taktgebereinrichtung ausgeführt werden kann.
Gemäß einer bevorzugten Ausführungsform der Erfindung ist vorgesehen, daß ein Mikroprozessor vorhanden ist, der einen Steuerspeicher zur Abspeicherung von Steuerworten aufweist, der weiterhin eine Taktgebereinrichtung hat, welche zur Erzeugung eines Taktgebersignals dient, der weiterhin eine erste Sammelschiene, eine zweite Sammelschiene und eine Einrichtung aufwest, welche die erste Sammelschiene mit der zweiten Sammelschiene verbindet, der weiterhin eine Vielzahl von Datenquellen hat, der weiterhin eine Vielzahl von Be ■-Stimmungen für die Datenspeicherung aufweist und der eine Einrichtung hat, welche auf eines der Steuerworte und ein Taktgebersignal anspricht, um aus der Vielzahl der Datenquellen eine Datenquelle auszuwählen, Daten aus dieser ausgewählten Datenquelle auf die erste Sammelschiene zu bringen, die Daten von der ersten Sammelschiene auf die zweite Sammelschiene zu übertragen, eine der Bestimmungen für die Daten auszuwählen und die Daten dieser Bestimmung zuzuführen.
Gemäß einer weiteren bevorzugten Ausführungsform der Erfindung ist vorgesehen, daß ein Mikroprozessor vorhanden ist, der einen Steuerspeicher zur Abspeicherung von Steuerworten aufweist, der weiterhin eine Taktgebereinrichtung zur Erzeugung eines Taktgebersignals hat, der eine erste, eine zweite und eine dritte Sammelschiene aufweist, der weiterhin eine Datenquelle hat, welche an die erste Sammelschiene angeschlossen ist, der weiterhin eine Datenquelle hat, welche an die dritte Sammelschiene angeschlossen ist, der weiterhin eine Bestimmung für die Datenspeicherung hat, welche mit der zweiten Sammelschiene verbunden ist, der weiterhin eine arithmetische und logische Einrichtung aufweist, welche zwischen der ersten und der dritten und der zweiten Sammelschiene angeordnet ist, der weiterhin einen Funktionsgenerator hat, der zwischen der ersten und der dritten und der zweiten Sammelschiene angeordnet ist, und der eine Einrichtung aufweist, welche auf eines der Steuerworte und ein Taktgebersignal anspricht,
509828/0449
um eine Datenquelle für die erste Sammelschiene auszuwählen, I'm weiterhin eine !Datenquelle für die dritte Sammelschiene auszuwählen, um Daten auf die erste Sammelschiene und die dritte Sammelschiene von ihren entsprechenden'Quellen zu bringen, um weiterhin in selektiver Weise die arithmetische und logische Einheit von der ersten, zweiten und dritten Sammelschiene elektrisch zu trennen, um weiterhin in selektiver Weise den Funktionsgenerator mit der ersten, zweiten und dritten Sammelschiene elektrisch zu verbinden, wobei der Funktionsgenerator auf die Daten auf der ersten und dritten Sammelschiene einwirkt und das Ergebnis der Operation auf die zweite Sammelschiene bringt und das Ergebnis der ausgewählten Bestimmung zuführt.
Gemäß einer weiteren bevorzugten Ausführungsform der Erfindung ist vorgesehen, daß ein Mikroprozessor vorhanden ist, der einen Steuerspeicher zur Abspeicherung von Steuerworten aufweist, der eine Taktgebereinrichtung zur Erzeugung eines Taktgebersignals hat, der weiterhin eine erste und eine zweite Sammelschiene aufweist, der weiterhin eine Quelle von ersten Daten hat, die mit der ersten Sammelschiene verbunden ist, bei welchem weiterhin eine Bestimmung zur Abspeicherung der zweiten Daten vorgesehen ist, welche an die zweite Sammelschiene angeschlossen ist, der weiterhin eine arithmetische und logische Einrich·^ tung aufweist, welche zwischen der ersten Sammelschiene und der zweiten Sammelschiene angeordnet ist, und der eine Einrichtung aufweist, welche auf eines der Steuerworte und ein Taktgebersignal anspricht, um die ersten Daten auf die erste Sammelschiene zu bringen, die Eingangsdaten der arithmetischen und logischen Einrichtung zuzuführen, eine Operation mit diesen ersten Daten über die arithmetische und logische Einrichtung auszuführen, um zweite Daten zu erzeugen und diese zweiten Daten auf die zweite Sammelschiene zu bringen.
Gemäß einer v/eiteren bevorzugten Ausführungsform der Erfindung ist ein Mikroprozessor vorgesehen, der einen Steuerspeicher zur Abspeicherung von Steuerworten hat, der einen Taktgeber zur Erzeugung eines Taktgebersignals aufweist, der weiterhin eine erste und eine zweite Sammelschiene hat, der !Weiterhin eine Quelle von
509828/0449
ersten Signalen aufweist, die mit der ersten Sammelschiene verbunden ist, bei welchem weiterhin eine Bestimmung zur Abspeicherung eines zweiten Signals vorgesehen ist, welche mit der zweiten Sammelschiene verbunden ist, daß weiterhin ein Direktzugriffsspeicher zwischen der ersten Sammelschiene und der zweiten Sammelschiene angeordnet ist und daß weiterhin eine Einrichtung vorhanden ist, welche auf eines der Steuerworte und ein Taktgebersignal anspricht, um das erste Signal auf die erste Sammelschiene zu bringen und um das erste Signal auf der ersten Sammelschiene in dem Direktzugriffsspeicher abzuspeichern.
Gemäß einer weiteren bevorzugten Ausfuhrungsform der Erfindung ist ein Mikroprozessor vorgesehen, der einen Steuerspeicher zur Abspeicherung von Steuerworten aufweist, der weiterhin eine Taktgebereinrichtung zur Erzeugung eines Taktgebersignals hat, der weiterhin eine erste und eine zweite Sammelschiene aufweist, der weiterhin eine Quelle von ersten Daten hat, die an die erste Sammelschiene angeschlossen ist, bei dem weiterhin eine Bestimmung zur Abspeicherung zweiter.Daten vorhanden ist, welche an die zweite Sammelschiene angeschlossen sind, der weiterhin ein adressierbares Element hat, welches zwischen der ersten und der zweiten Sammelschiene angeordnet ist, und der eine Einrichtung aufweist, welche auf eines der Steuerworte und ein Taktgebersignal anspricht, um die zweiten Daten aus dem adressierbaren Element zu entnehmen, die zweiten Daten auf die zweite Sammelschiene zu bringen und die zweiten Daten auf der zweiten Sammelschiene der Bestimmung zuzuführen.
Somit ist der ßrfindungsgemäße Mikroprozessor in starkem Maß parallel zu betreiben, und zwar durch die Verwendung eines äußerst leistungsfähigen Satzes an Mikrobefehlen in der Form von Mikrosteuerwoirfcen, von denen jedes eine Vielzahl von Feldern aufweist, von denen einige eine mehrfache Verwendungsmöglichkeit besitzen. Eine logische Verknüpfungsschaltung mit drei Pegeln wird in der Weise verwendet, daß während eines einzigen Täktgeberzyklus Elemente des Mikroprozessors elektrisch mit einer Drei-Schienen-Struktur verbunden oder von derselben getrennt sein können, so daß auf diese Weise die Ausführung eines Mikrobefehls während desselben Taktgeberzyklus ermöglicht wird, in welchem der nächste Mikrobefehl bereits geholt wird.
509828/0449
Die Erfindung wird nachfolgend beispielsweise onhand der Zeichnung beschrieben; in diener «eigen:
Fig. 1 ein Gesaiatblockdiagrainm eines erfindungsgemäßen Prozessors,
Fig, 2 ein Blockdiograrrim des Mikroadressgeneratorteils des Prozessors,
Fig. 7J ein Blockdiagramm des Mikrobefehls-Verarbeitungsteils des Prozessors gemäß der Erfindung,
Fig. 4- ein Blockdiagramm der arithmetischen und logischen Einheit und des allgemeinen Registerteils des Prozessors,
Fig. 5 ein Diagramm, welches den Informationsfluß des Prozessors von einem al^pmeinen 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 Inforraationsflußv/eges, bei welchem ein 10-Register eine Quelle und entweder ein IO-oder ein allgemeines Register die Bestimmung darstellt,
Fig. 8 ein Blockdiagramm des Unterbrechungsflusses des Prozessors,
Fig. 9 ein Diagramm, welches die Plätze der Mikrofelder 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 AHJ-Auswahlfeldes eines Mikrobefehls angibt,
Fig.12 eine Tabelle, welche die Bit-PositionsZuordnungen der B~Schiene zeigt,
Fig.13 eine Tabelle, welche die Mikroprogramm!erung der Schienen-Quellen erläutert,
Fig. 14 eine Tabelle, welche die Wort/'ßyte-Operation der Einrichtung darstellt,
Fig.15 eine Tabelle, welche die relative Adressierung der Einrichtung darstellt, wie sie in einem Mikrobefehl vorhanden ist,
509828/0U9
Fig. 16 ein Zeitsteuerdiagraram des einphasigen Busxa
und System-Taktgebers,
Fig. 17 ein logisches Blockdiagramm der Adressen-Dekodierlogik
für das 10- und das Unterbrechungsoystera des Prozessor;-:;, Fig. 18 ein Zeitsteuerdiagramm j?ür die Zeitsteuerung der \-
Schiene und der B-Schiene,
Fig. 19 ein Zeitsteuerdiagramm für die Zeitsteuerung der C-
Schiene,
Fig. 20 ein Zeitsteuerdiagramm einer typischen gemultiOlexteri
IO-Unt e rbre chung,
Fig. 21 ein Blockdiagramm von IO-Moduleinbeiten in einer ge-
multiplexten 10- Unterbrechungs-Prioritätsroihe, Fig. 22 ein logisches Blockdiagramm der lO-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 Zustandelogikschaltung,
Fig. 25 ein Zeitsteuerdiagramm einer externen Zustande-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 Prioritatssteuerlogik der Einrichtung ,
Fig. 32 ein Blockdiagramm der Anforderungssteuerlogik, Fig. 33 ein logisches Blockdiagramm der B-Schienen-Steuerlogik, Fig. 3^ ein Zeitsteuerdiagramm einer Prioritätssteuerung der Einrichtung für eine schnelle Unterbrechung,
509828/0449
Fin;. 35 ein Blockdiagramm der IO-Schiene des erfindungs-
gemäßen Prozessors, Pig. 36 ein Blockdiagramm, v/elches die lO-Aktivierungs-Steuerlogik darstellt, ' .
Fig. 37 ein Zeitsteuerdiagramm des IO-Aktivsignals, Fig. 38 ein Blockdiagramm der Multiplexer-IO-Unterbrechun^
und
Fig. 39 ein Zeitsteuerdiagramn einer gemultiplexten I0-Unterbrechung.
509828/0449
In einer bevorzugten Aus führung form kann eine rnikroprogrammierte Datenverarbeitung einrichtung bzw. ein raikroprogrammierter Datenprozessor aus einer Einrichtung bestehen, welche allgemein derart organisiert ist, daß sie einen Aufbau mit drei Sammelschienen aufweist, wobei d:ie betrieblichen Verarbeitungseinheiten mibfcels einer Droi-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 Mikrosteuerregisterc.
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 C 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/0449
können in gleicher Weise mit de-a Vorzugs v/eise vorgesehenen 8-Bit~Registerblock für die Bits mit höchstem Stellenwert die resultierenden 16-Bit-V/orte direkt auf die Sammelschiene A oder die Sammelschiene 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 V/eise 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 Emulationsrnodus verwendet wird, um den Makrobefehlssatz einer anderen Datenverarbeitungseinrichtung zu emulieren*
Zu den MikroSteuerelementen der Einrichtung gehört das Mikroadressenregister 20s der Steuerspeicher 22, der entvreder als Speicher ausgebildet sein kann, aus welchem nur ausgelesen
509828/0449
werden kann, und/oder als Speicher mit Diroktzugriff, 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 Hikrosteuerelement en 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 33 und ein Stapelzeigerzähler 40 gehören ebenfalls zu den Ilikrosteuereleraenten, und deren Funktionen werden unten beschrieben. Weiterhin wird die Dekodiereinrichtung 42 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 C 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·
509828/0449
2452288
Aus der Fig. 1 ist ersichtlich, daß die Mikrobefehle 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 worden 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 v/erden, 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 G 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 C 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 Fig. 1 nicht speziell dargestellt ist, und zwar im Hinblick auf die Klarheit der Beschreibung, ist offensichtlich, daß eine Vielzahl von Steuerwegen zwischen
509828/0449
dem Mikrosteuerregi3ter 24- zu jeder der Einrichtungen vorhanden sind, welche Zugriff zu einer oder zu mehreren der Sammelschienen haben.
Weiterhin ist ersichtlich, daß der verallgemeinerte Aufbau mit drei Sannnalsohienon die Möglichkeit schafft, zusätzliche Funktionen einzuführen, wenn dazu eine Notwendigkeit besteht, beispielsweise eine Hochgeschwindigkeits-Multiplizier/Dividiorroutine, eine Quadratwurzelroutine, eine Routine für trigonometrische Funktionen und Kodeumwandlungen. Das Einzufügen eines Übersetzers 15 gemeinsam mit einem Emulationsprogramm im Steuer-Speicher 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 O bis 15 folgendermaßen numeriert sind:
Byte O
Byte 1 J
(51 23 14 567 012314-567
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ärzahl 01011010 hexadezimal dargestellt als X'5A1. Hexadezimalzahlen werden im allgemeinen dazu verwendet, Adressen und Datenwerte darzustellen, E3 gibt jedoch auch Fälle, in
509828/0449
Vielehen Dezimalzahlen aussagekräftiger oder geläufiger sind. In der vorliegenden Beschreibung v/erden auch Feotkommadaten als Zweierkomplement dargestellt, und zwar als ganze Zahl mit 15 Bit und einem Vorzeichenbit in der Ilullposition· Bei logischen Operationen ist angenommen, daß ein logisches Datenwortformat aus 16 Bit ohne Vorzeichen besteht.
Eine zweite Klacsoe von Information innerhalb" döa Systems int die Mikroadrcase. Die Mikroadresse v/eist 12 Bit auf, und sie ist dazu in der Lage, bis zu 4096 Steuerspeicherplätze zu adressieren. Das Mikroadressenregister (MAR) 20, der Rückstellstapel 38 und zugehörige logische Verknüpfungsoperationen sind auf einer 12-Bit-Basis aufgebaut, wann 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 Mikrooperationsfeider 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
Schiene/ Register Steuerg.
Verzweig. Steuerg.
MuIt uOP Feld 1
MuIt
uOP
Feld 1
MuIt uOP Feld 3
509828/0449
Dor Mikroadresseninformationsfluß ist allgemein in der Pig.2 dargestellt. Es ist jedoch zu bemerken, daß zusätzlich eine Talctgebereinrichtung 5° vorhanden ist, welche gemäß der Darstellung die Einheit MAT? 20 treibt. Obwohl die Taktgebersteuerung nur für das eine Element 20 dargestellt ist, sei angenommen, daß die entsprechende Taktgeberfunktion in funktionaler 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 weichein ein Mikrobefehl gespeichert wird. Die Mikroadress e 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 G 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 Drähte angibt, welche die zugehörigen Elemente anschließen. Beispielsweise ist zwischen der Sammelschiene C 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 v/erden, nämlich von der Sammelschiene A, von der
509828/0449
Sammelschiene ·■?■ und von dor Untcrbrechungslogik. Die ifritorbrechungslogik 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 bin 31 von dem MikroSteuerregister 24- direkt als dio nächste Mikroadresse verwendet. Gleichzeitig wird diese unmittelbare Adresse über die Sammelschiene A über die arithmetische und logische Einheit (ALU) 4Λ geführt, und zwar, nachdem eine Eins addiert wurde. Das Ergebnis wird über die Sammelschiene G 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 ν.- .■ 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 Mikroadresse von der bei 3 dargestellten Sammelschiene 0 ersetzt werden. Weiterhin kann die Mikroadresse vom Rückstellstapel 38 durch die bei 3 dargestellte Sammelschiene C 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 durchzuführen.
509828/0449
Die Milcrobef ohlbehandlunr* iut in der Fig. 3 dargestellt, l/o^'i eine Adressierung durch cine Mikroadresse erfolgt, wird dor Mikrobefehl vom Steuerspeicher 22 oder 2;> über einen 2-su-i-· Multiplexer 32 dem Kikrosteuerregister HGR 24 zu;?;erührt. Hin Mikrobefehl kann auch die Einheit KCR 24 von einer -T7;irtmr;n-steuertafel über die Sammelschiene C bei 3 und den zugehörigen 2-zu-1-Multiplexer 3° in 2 16-Bit-Inkrementen erreichen.
Im Falle des Steuerspeichers 23 mit Direktzugriff kann ein neuer Mikrobefehl an den Speicherplatz geschrieben v/erden, welcher von der Mikroadresse angesprochen wurde. Der noue Mikrobefehl v/ird gemäß Pig. 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.
Yon der Einheit MCR 24 wird der Mikrobefehl dekodiert, um Steuersignale zu liefern, welche den Datonfluß durch das System steuern, wie es unten beschrieben wird. Wenn die letzten 12 Bit des Mikrobefehls als unmittelbare Ilikroadresse verwendet werden, so werden sie mittels der in der Fig. 3 dargestellten 12-Bit-Leitung auf die bei 1 dargestellte Sammelschiene A gegeben. In ähnlicher Weise worden dann, wenn die letzten 8 Bit des Mikrobefehls als ein Sendefeld verwendet werden (welches unten erläutert v/ird) diese Bits auf die bei 2 dargestellte Sammelschiene B gegeben. Die drei Bits, welche die Bit-Uraschaltung/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 509828/0449
ernonc wird. BAD Of>K3!NAL
Da in der Tnktgeberoxnrichtung keine Phacon vorhanden sind, wird diese neue Adresse dem Steuerspeicher 22 unmittelbar zugeführt, welcher den nächsten Mikx»obe.fehl liest, der dem Eingang von MCR 24 zugeführt wird. Der nächste Taktgeberimpuls sichert das Datenergebnis-Eingangssignal und führt es der Einheit MCH 22 au, 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 Computermokrobefehlen 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 werden durch das Modussignal M festgelegt, welches oben als das erste der 11 Mikrooparationsfeider dargestellt ist. Eine der 16 arithmetischen und logischen Operationen wird durch die vier Auswahlleitungen ausgewählt (welche als zweites und viertes der Mikrooperationsfelder
509828/0449
des Diagramms dargestellt sind.), und zwar bei einen Übertrag Cn, wobei eine "Eins" den Ergebnissen addiert wird.
Das ALU-Ergebnis kann um ein Bit nach links oder nach"" rechte verschoben v/erden oder direkt auf die Sammelschiene C übertragen werden. Weiterhin kann auch das rechte Byte der Ergebnisse in das linke Byte der Sammelschiene C gebracht worden·
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 v/erden, und die ALU-Ergebnisse können in einem allgemeinen Register gespeichert werden.
Weiterhin kann zu dem Wert auf der Sammelschiene B Eins addiert v/erden, oder es kann davon Eins subtrahiert werden, und das Ergebnis wird in einem der allgemeinen Register gespeichert. Diese Funktion wird durch die Funktion 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 Einheit ALU (Bit 0) oder bei der Byte-Operation das Austragen von dem Bit mit dom höchsten Stellenwert eines Bytes (Bit 8).
509828/0449
Überlauf: Eine arithmetische Operation auf A- und B-OperaiKJen führt zu einor Zahl, welche größer ist als die größte Zahl, welche in dem vorgegebenen Raum verarbeitet werden kann (Wort odor 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 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 Punktion 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.
509828/0449
_ Q-I —
2. Übertragen auslaufender1 Baton von der Sammelschiene C :rma Ausgang.
3· Annehmen gemultiplexter allgemeiner Unterbrechungen und Anordnenv ihrer Identifikation auf der S am::] eic chi en ο Α.
Der Eingang/Ausgang wird in einem späteren Teil der Beschreibung ausführlich beschrieben.
Nachfolgend wird der Zv/ischenspeicher/Hauptspeicher erlöxitert. 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. Daten v/erden von dem Zwischenspeicher 18 auf die bei 3 dargestellte Sammelschiene C übertragen, bzw. auch aus dem Hauptspeicher 16, und zwar von einem Speicherplatz, v/elcher 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 0 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 Steuerspeicher 22 erfolgt ist, um den Makrobefehl auszuführen· Weiterhin wird in dem Fall, 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 V/artungs st euer tafel beschrieben. Die (nicht; dargestellte) Wartungssteuertafel weist Steuer- und Anzci^eein-
609828/0449 bad
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 C gegeben werden oder (12 Bits) in dem Hikroadressenrogi.oter. Unterbrechung- und Statusbits v/erden kontinuierlich angezeigt. Der Registeroder der Sammelechieneninha.lt kann jeweils alternativ angezeigt werden. Die Wartungssteuertafel wird in einem späteren Abschnitt in weiteren 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 Einheit 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 ALlJ 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 Flg.6 dargestellt.
509 8 2 8/0449
2A52286
In der Fig. 6 wählt der era te Verknüpfungspegel (Multiplexer '3G) aus, welches Register als Datenregister verwendet werden soll (Sammelschienen A und 0) und welches Register als das Speicheradressenregister (Sammelschiene B) verwendet v/erden 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 Fig.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 Eb 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 44, 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üpfungspegei 48 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
509828/0449
- 2A- -
Pig. δ dargestellt, und zwar in dor Reihenfolge der Priorität von X 1V 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 Funktionen:
Leistung Aus: Ein logisches Signal von der Energieversorgung, welchen anzeigt, daß ein Verlust an Eingangs energie bav;.. 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 M- 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/0449
einzugeben, während die andere dazu verwendet wird, Daten ?.nnzugeben. Die'schnellen Unterbrechungen werden in einen srvac-ron Abschnitt beschrieben.
Eingang/Ausgang: Ein logisches Signal, welches anzeigt, da:i cirto gemultiplexbe Eingang/Ausgan^-Unterbrechung auf einer oder ..'.c/.wjren der Eingang/Ausgang-Anpasseinheiten ansteht. In Reaktion ο.vif das Signal fordert der Systemprogrammiercr den Eingang/Aue?;:~n:s~ Modul 4 mit der höchsten Priorität, wobei eine Unterbrechung ansteht, um die Adresse auf die Sammelschiene A zu bringen.
Fehler: Ein lcglsches 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 Mikrobefehlskode ergeben, und zwar bei jedem Feld des Mikrobefehles.
Wie oben bereits diskutiert wurde, besteht 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 v/erden in der Mikrobefehls-Dekodiereinrichtung 42 dekodiert (siehe Fig.1), um Steuersignale zu liefern, und zwar für alle Elemente des
509828/0449
Systems. Das Mikroprogramm wird in den Steuerspeicher. 22 gespeichert. Während dor Ausführung; einen speziellen Mikrobefehls wird dieser Mikrobefehl in dem Mikrosteuerregister MGR 2J\- gehalten.
■Ό-
Die in der Fig. 9 dargestellte Konfiguration läßt sich in folgenden Feststellungen zusammenfassen:
Sammelschiene, A-Schiene
A(0-15) Linkes Byte, A-Schiene
A(O-?) Rechtes Byte, A-Schiene
A(8-15) B-Schiene
B(0-15) Linkes Byte, B-Schiene
B(0-7) Rechtes Byte, B-Schiene
B(8-15) O-Schiene
0(0-15) Linkes Byte, C-Schiene
C(0-7) Rechtes Byte, C-Schiene
0(8-15) Eingang/Ausgangs-Schiene
10(0-15) Linkes Byte, IO-Schiene
10(0-7) Rechtes Byte, IO-Schiene
10(8-15)
Register, Eingang/Ausgaiig-Register O
10Rn (0-15) Allgemeines Register 0-7
GRn(O-I5) Mikroadressenregister
MAR(O-H) MikroSteuerregister
MOR(O-31) Unterbrechungsregister
IR(0-6) Statusregister
SR(0-6) Rückstellstapel 0-15
PSn(0-17) Übersetzer
T(0-15)
Speicher, =: GM(O-1O24, 0-31)
Steuerspeicher, OM-RAM(MAM) = CM(0-4-096, 0-31)
GM-ROM(MAM) I)=GI-!(0-4096. 0-31)
GM-EAROM(MAK
- 7
509828/0449
Feldverifikation, PV(MAM) Zvrisclienspeicher, SP(B) Hauptspeicher, MM(B)
Taktgeber, Phi oder
Weitere Terme:
ALU ALU-A ALU-B ALUM ARG Cn DA
ΙΟΙ IOM MAM MCP
Vn
CM(χ'FOO''FPF', 0-31) SP(O-1O24, 0-15) MM(0-65,536, 0-15)
Ein-Phasen-Taktgeber (ein Taktsignal entfällt für Hauptnpciohe Zugriffe)
Arithmetische Logikeinheit A-Operandeneingänge nach ALU B-Operandeneingänge nach ALU ALU-Modus Argument vom Übersetzer Eintragen in ALU Einrichtungs adress e Unterbrechung Eingang/Ausgang-Unterbrechung Eingang/Aus gang-Modus Speicheradressenrnultiplexer V/artungs s t euertaf el 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 jede3 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/0449
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. (V/enn keine spezielle Sperrung erfolgt, bildet dieses Feld einen allgemeinen Registeroder Eingang/Ausgang-Modul zu der Sammelschiene A). Eine Sammelschienensteuerung 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, v/enn 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 BiirSchaltung/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/0449
0 Inhalt des allgemeinen Registers 10 oder die Eingang/ Ausgang-Daten des Moduls 4, wie sie durch IO-Hodus, durch RA-Ausv/ahl und durch Einrichtungsaus wahl spezifiziert sind, werden der Sammelschiene A zugeführt. Beide Bytes von der Sammelschiene Λ werden dem Α-Operanden von ALIM14 zugeführt. Beide Bytes der Sammelschiene A können in den Hauptspeicher 16 eingeschrieben oder aus demselben ausgelesen v/erden.
Wenn IOM = 0, dann A(0-15) ~— GRn(0-15), andernfalls A(O-15 «~— Ιθη(θ-15) ALU-A(O-15 ^— A(0-15)
Wenn Verzweigungssteuerung = χ'2', dann 0(0-15) ~— MH(O-15)(B) Wenn Verzweigungssteuerung = x'3'j dann MM(0-15)(B) r— A(0-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 ALU. 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 10M=O, dann A(0-15) «?—GHN(O-15), andernfalls A(O-15) T— I0n(0-15) ALU-A(S-15) ^— A(0-7) ; AIÜ-A(0-7) —- 0 Wenn die Verzweigungssteuerung = x'21, dann 0(0-7) ~— MM(0-7)(B) Wenn die Verzweigungssteuerung = x'31» dann MM(0~7)(B) -— A(0-7)
2 Inhalt des allgemeinen Registers 10 oder die Eingang/Ausgang-Daten des Moduls 4, welche durch ΙΟ-Modus, RA-Auswahl 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.
509828/0449
Wenn IOM - O, dann A(O-I5) — GRn(O-I5), andernfalls A(O-I5) —
I0n(0-15) ALU-AO-15) <— A(8-15); ALU-A(O-7) 0.
V/enn Verzweigungssteucrung = x'2', dann 0(8-15) --— MM(8-15)(B) Wenn Verzweicungssteuerung = x'3', dann MM(8-15)(B) ---— A(8-15)
3 Inhalt des Mikroadressenregisters 20 wird rechtsbündig auf die Sammelschiene A gebracht. Beide Bytes von der Sammelschiene A weiden dem A~Operanden von ALU 44 zugeführt. Übertragung eines Registers 10 zu der Sammelschiene A ist gesperrt.
A(4-15) s MAR(O-H);
ALU-A(O-15) -— 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 MOR 24 übergangen werden: = x'31» Lesevektor 1 an Sammelschiene A vom Übersetzer 15»
MOR-Steuerung = χ'5'ί Lesevektor 2 an Sammelschiene A vom Übersetzer 15»
MGR-Steuerung = x'E', Leseunterbrechungsadresse an Sammelschiene A und C-Sammelschiene/Registersteuerung = χ 1B1, unmittelbare Adressierung für MAR.
B-Saminelschienensteuerung: Die B-Sammelschienensteuerung bezieht sich auf die Quelle der Daten, welche auf die B-Schiene gebracht werden, 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(O-15) <?— GRn(O-15)
ALU-B(O-15) *r— B(O-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ündig.
509828/0449
B(0-15) ^— GRn(0-15)
ALU-B(8-15) ±— B(0-7)
ALU-B(O-?) * 0
2 Inhalt des allgemeinen Registers 10, der durch BB-Auswahl spezifiziert ist, wird auf die Sammelschiene B gebracht; die rechten Bytes der B-Schiene gehen zu ALU 44, und zwar rechtsbündig·
B(O-15) ς— GRn(O-15)
ALU-B(8-15) \ B(8-15)
ALU-B(0-7) -^— O
3 Wenn IOM falsch ist, wird das Sendefeld auf die B-Schiene 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 = O dann B(8-15) ~t— MOR (24-31), sonst B(8-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 MCR Steuerung = χ'7' übergangen v/erden, Leseargument zur B-Schiene vom Übersetzer 15·
C-Schiene/Register-Steuerung: Das C-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 zwar des ALU-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
S09828/0449
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-Moduln 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 G-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 = X1B1 die Übertragungen zu der Α-Schiene sperrt, weil die Α-Schiene durch die unmittelbare Adresse verwendet v/ird. 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 v/erden Ü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 Α-Schiene können durch das G~Schiene/Register-Steuerfeld gesperrt werden, jedoch nicht aktiviert werden.)
509828/0449
0(0-15) -— ALU(O-15)
x'1 Ό-Schiene zu MAR. Diese überträgt die 12 Bit mit dem geringsten Stellenwert auf der C-Schiene au dem MiUrroadressenregister 20 auf das Taktsignal, welches auf-don Kikrooperationskode 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 Mikrooporationskode folgt und für die Ausführung während der dritten Taktsignalperiode verfügbar ist. Somit nimmt die Ausführung dieses Mikrooüerationskodes zwei Taktperioden ein.
0(0-15) -— ALU(O-15)
MAR(O-11) ^— 0(4-15).HIIn
NAM(O-H) ^— MAR(O-H)
MOR(O-31) ~— CM(0-3i)(MAM0-1i).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 gebracht 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 läß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/0449
a. Das C-Schiene/Register-Steuerfeld den laufenden Mikrobefehls ist gleich x'1' oder x'91» mit C-Schiene an MAR 20, oder
b. das Verzweigmigssteuerfeld des laufenden Mikrobefehls spezifizierte einen Test/Verzweigungs-Mikrooperationskode oder ein Zurückstellen, oder
c. ein schneller Unterbrechungs-Mikrobefehl im Steuerspeicherplatz x'0061 oder x'0071 v/ird gerade ausgeführt.
x'21 verwenden RA-Ausv/ahl-Einrichtungsauswahl, IO-Modus und A-Schienensteuerung als Wegadresse. Wenn die A-Schienensteuerung =» 1, v/ird das rechte Byte vom ALU-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 C-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, v/ird das rechte Byte der C-Schiene zu dein Register 10 übertragen. Für eine A-Schienen-Steuerung = 3 v/erden beide Bytes der C-Schiene zu dem allgemeinen Register 10 übertragen, und 0(8-15)
Wenn eine A-Schienensteuerung = 1, dann C(0-7) 4— ALU(8-15), andernfalls 0(0-15) ^— ALU(O-15)
A-Schienen-Steuerung
0: Wenn I0M = 0 dann GRn(O-15) A C(O-15) andernfalls
I0n(0-15) -— 0(0-15) 1: Wenn I0M = 0 dann Grn(0-7) ^- 0(0-7) andernfalls
I0n(0-7) -r.— 0(0-7) 2: V/enn I0M = 0 dann GRn(8-15) ^— C(8-15) andernfalls
I0n(8-15) \— 0(8-15) 3: GRn(O-I5) C(O-I5) .
509828/0449
2452288
χ '3' verwendet RB-Auswahl und B-Schienen-Steuerung air, Mcgadresse. Wenn eine B-Schienen-Steuerung =· 1, wird das rechte Byte des ALU Ausgangs 44 zu dem linken Byte der C-Scbiene übertragen; für andere Werte der B-Schiencn-Steuerung werden beide Bytes des ALU-Ausgangs zu dem allgemeinen Register 10 übertragen, welches durch RB-Auswahl adressiert ist; für eine B-Schionen-Steuerung = 1, wird das linke Byte der C-Schiene zu einem allgemeinen Register 10 übertragen. I1Ur eine B-Schienen-Steuerung = 2, wird das rechte Byte der O-Schiene zu einem allgemeinen Register 10 übertragen.
Wenn die B-Schienen-Steuerung = 1, dann 0(0-7) -— ALU(8-15),
0(8-15) -— 0 andernfalls 0(0-15) -r ALU(O-15)
B-Schienen-Steuerung:
0: GRn(O-15) «■ 0(0-15)
1: GRn(0-7) 0(0-7)
2: GRn(8-15) \— 0(8-15) 3: GRn(O-15) 0(0-15)
x'4-1 verschiebt ALU-Ausgang (nach O-Schiene) um ein Bit nach links und verwendet RA-Auswahl, Einrichtung.^ auswahl, IO-Modus und A-Schienen-Steuerung als Wegadresse. Wenn eine A-3chienen-Steuerung = 1, wird das rechte Byte des Ausgangs ALU 114- um ein Bit nach links verschoben, das Bit mit dem geringsten Stellenwert wird mit IJull gelistet und wird zu dem linken Byte der O-Schiene übertragen. Das linke Byte der O-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-Aur.^anr-c in ein,Bit nach links verschoben, wobei das Bit mit dem geringsten. Stellenwert mit KuIl gelistet wird und beide Bytes worden zu der C-Schicsne übertragen. Für eine A-Schienen-Steuerim?; - 0 werde1.: beide Bytes der O-Schiene zu einem allgemeinen Register 10 oder
509828/0449
einem Eingang/Ausgang-Modul 4 übertragen. Für eine A-Schienen-Steuerung = 3 werden beide Bytes der C-Sdiene zu einem allgemeinen Register übertragen.
Wenn die A-Schienen-Steuerung = 1, dann 0(0-6) ·-.— ALU(9-15)S
07 -f— o,
0(8-14) ~— ALU(9-15), 015 *— 0,
andernfalls 0(0-15) -— ALU (1-15), 015 *—
A-Schienen-Steuerung:
0: Wenn IOM = O1 dann GRn(O-15) ■?— 0(0-14),
GRn15 t C15(=0)
andernfalls I0n(0-i5) ^— 0(0-14), I0n15 *— 015(=0)
1: Wenn IOM *, 0, dann GRn(0-6) -i— 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 r— 015(=0) andernfalls I0n(8-14) ^— 0(8-14), IOn15 <;— C15(=0)
. 3: GRn(O-15) ^— 0(0-15)
x15' verschiebt den Ausgang ALU (zur G-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 Stellem^ert wird mit einer Null gefüllt und wird zu dem Byte der C-Schiene übertragen. Für andere Werte der B-Schienen-Steuerung v/erden beide Bytes des Ausgangs ALU um ein Bit nach links verschoben, das Bit mit dem geringsten Steilenwert wird mit Null gelistet und beide
509828/0449
Bytes werden zur C-Scliieiie übertragen. Für eine B-Schienoi;·- Steuerung - 0 oder 3 v/erden beide Bytes der C-Schiene zu der-i allgemeinen Register übertragen, welches durch RB-Auswahl adressiert ist; für eine B-Schienensteuermig = 1 wird das linke Byte der C-Schiene zu einem allgemeinen Reginter übertragen; für eine B-Schienenoteuerung = 2 v/ird 'dar', rechte /!,'.; der C-Schiene zu einem allgemeinen Register übertragen.
Wenn die B-Schienen-Steuerung = 1, dann G(O-G) ζ— ALU (9-15)»
C7t-0 0(8-14) ALUC9-15),
015 — ο
andernfalls 0(0-14) -— ALU (1-15)» G15 ^ ο
Wenn die B-Schienen-Steuerung = 3, dann GRn(0-14) -— 0(0-14),
GRn15 015(=0)
Wenn die B-Schienen-Steuerung = 1, dann GRn(O-B) ~— C(0~6),
GRn7 τ— 07 (=0)
Wenn die B-Schienen-Steuerung = 2, dann GRn(8-14) ~.— 0(8-14)
GRn15 -— 015(=0)
χ'6' verschiebt den Ausgang ALU (zur G-Schiene) um ein Bit nach rechts und verwendet RA-Auswahl, Einrichtungs-Auswahl, IÖ-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/0449
übertragen. Da bei der Byte-Operation die Eingänge zu dem i J '-Α-Operanden und dem ALU-B-Operanden auf das. rechte Byte begrenzt sind, wird das Avisgangsbit 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-Schienensteueru.P-ü ~ 2 v/ird das rechte Byte dos Ausgangs ALU ura ein Bit nach rechts verschoben, das Bit mit dem höchsten Stellenwert v/ird mit Null gelistet und zu dem rechten Byte der C-Schiene übertragen. Das rechte Byte der C-Schiene v/ird 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 v/ird und beide Bytes werden zu der O-Schiene übertragen, und es v/erden weiterhin beide Bytes der Ö-Schiene zu einem allgemeinen Register übertragen.
A-Schienen-Steuerung:
A-Schienen-Steuerung:
O: 0(1-15) ~ ALU(O-14), CO ~ O
Wenn IOM = O dann GRn(O-15) -— 0(0-15) andernfalls
I0n(0-15) ^— 0(0-15)
1: Wenn B-Schienensteuerung = O dann 0(0-7) ^- ALU(7-14),
0(8-15) ^— ALU(7-1;+) andernfalls 0(0-7) -r— ALU(7-1ZO,
0(9-15) -τ— ALU(8-14)
Wenn IOM = O dann GRn(0-7) -r— 0(0-7) andernfalls
I0n(0-7) -τ— 0(0-7)
2: co ^- O, 0(1-7) -^r- ALU(0-6) ·*■— 08 ~— O, 0(9-15) "~- ALU(8-14)
Wenn IOM = O dann GRn(O-I5) ^— 0(8-15) andernfalls
I0n(8-15) -^- 0(8-15)
3: OO ^r- O, 0(1-15) <r- ALU(O-14·) ßAD
GRn(o-i5) <-— c(o-i5) 509828/0A49
- ;39 -
x'71 verschiebt den Ausgang ALU (zu der C-Schiene) um ein Bit nach rechts und verwendet RB-Auswahl und eine B-Gchienensteuerung als Wegadresse.
Wenn eine B-Schienensteuerung = O, werden beide Bytes des Ausgangs ALU 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 = Λ, 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 Ausgangsbit 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 = 3i 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 v/erden -zu dem allgemeinen Register übertragen, welches durch RB-Auswahl adressiert ist.
509828/0U9
B-Schienensteuerung:
0: CO ~ O, 0(1-15) -^— ALU(0-14)
GRn(0-15) *— 0(0-15)
1: Wenn eine A-Schienensteuerung = 0 oder 3.» dann C(O-'/)
~— ALU(V-I'!-) und 0(8-15) %— ALU(7-14) andernfalls
0(0-7) r— ALUC7-14) und 08 -^- 0 und
0(9-15) -^— ALU(8-14) GRn(0-7) -^r- 0(0-7)
2: CO r— 0, 0(1-7) ^— ALU(O-G), C8 -— 0,
0(9-15) -— ALU(8-14) GBn(8-15) ~— 0(8-15)
3: CO -— 0, 0(1-7) -^- ALU(0-6), 08 ·-— 0,
0(9-15) ~— ALU(8-14) GRn(O-15) χ— C(O-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-8chieneuund bringt das Ergebnis in das allgemeine Register, welches durch RB-Auswahl adressiert ist. Beide
Bytes des Ausgangs ALU v/erden direkt zu der C-Schiene übertragen.
GRn(O-15) ^— B(O-15) plus 1
0(0-15) v— ALU(O-15)
χ'9' erhöht die B-Schiene und bringt das Ergebnis in das von RB ausgewählte allgemeine Register. C-Schiene an MAR. Für eine genauere Beschreibung siehe x'1' und x'81. 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-15) ^ B(O-15) plus 1
(Es verbleiben die Operationen wie bei χ'2')
509828/0449
X1B1 unmittelbare Adresse. Die Quelle der unmittelbaren Adresiiv, welche auf die Α-Schiene gebracht wird, kann eine der folgende > 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 v/elcher eine gemultiplexte IO-Unterbrechung ansteht.
3. Wenn ΙΟ-Modus falsch ist, die Verzweigungssteuerung x'11 ist und die MCR-Steuerung x'31 ist, die Mikroadresse Vektor 1 von dem (vorzugsv/eise vorgesehenen) Übersetzer.
4. Wenn ΙΟ-Modus falsch ist, die Verzweigungssteuerung X1V i und die MCR-Steuerung x'5' 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 A-Sc.hiene ü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-Schiene, und zwar in folgender Weise:
0 1 2 5 4 5 6 7 8 9 10 H 12 13 14- 15
! RA-Auswahl Einrichtungs-Auswahl
509828/0449
Der Eingang/Ausgang-Modul liefert ein Signal, welches Bit 8 nach 1 bringt, d.h. praktisch 128 zu dor Einrichtung^-- adrersse addiert. Gleichzeitig wird der Inhalt des ALU-Auswahlfelcies, die Bits 20-23 des Mikrobefehls, oben angefügt, um in folgender V/eise eine Mikroadresse mit 12 Bit zu erzeugen:
_ 0 1 2 3 4 5 6 7 8 9 10 1112 15 14 15
' χ χ χ χ , ALU Auswahl i 1 ; Einrichtung adr es se j A-Schiene
! Ij -" j
Wenn IOM = 0, die Verzweigungssteuerung = x'1' und MGR = χ'3' oder x'5'» bringt der Übersetzer die Mikroadressen Vektor 1 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ängen von ALU 44 zugeführt, um Eins erhöht, direkt auf die C-Schiene übertragen und dem Mikroadressenregister 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/0449
Wenn IOM = 0 dann A(4-15) MOR(2O-31) · --
andernfalls A(9-15) r— DA
A8 ^— 1
A(4-7) *— MOR(20-23)
Wenn IOM = 0, BRG = x'11, MGR = x'^1 dann A(4~15) ^— Vi(O-Ii)
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 Λ
0(0-15) τ:— ALU(O-15)
MAR(O-H) r^— 0(4-15) .
Sowohl die verschiedenen als auch die gemeinsamen Operationen werden in einem TaktgeberzyWus ausgeführt. Es wird hierzu auch auf den Abschnitt unmittelbare Adressierung hingewiesen.
x'G' erhöht die B-Schiene und bringt das Ergebnis in das allgemeine Register, welches durch RB-Auswahl adressiert ist, verschiebt den ALU-Ausgang (zur G-Schiene) um ein Bit nach links, verwendet RA-Auswahl, Einrichtungs-Auswahl, ΙΟ-Modus und die A-Schienensteuerung als Wegadresse.
GRn(O-15) ^— B(O-15) plus 1
(Die verbleibenden Operationen sind dieselben wie bei χ 1V)
x'D1 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 C-Schiene) um ein Bit nach rechts, verwendet RA-Auswahl, Einrichtungs-Auswahl, ΙΟ-Modus und die A-Schienensteuerung als Wegadresse.
509828/0449
GRn(O-I5) — B(0-15) plus 1 ~ - ~-
(Die verbleibenden Operationen sind dieselben wie bei x'61)
χ 1F1 erhöht die B-Schione und bringt das Ergebnis in das allgemeine Register, welches durch RB-Aus wahl eidr'essiert ist, verwendet RA-Auswahl, Einrichtungs-Auswahl, IO-Modus und die A-Schienensteuerung als Wegadresse.
GRn(O-I5) 4— B(O-I5) minus 1 (Die verbleibenden Operationen sind dieselben wie bei x'2')
Verzweigungssteuerung: Das Verzweigungssteuerungsfeld bezieht sich in erster Linie auf die Prüf/Verzweigungsmikrooperationskodes. Im allgemeinen prüft ein Prüf/Verzweigungs-Mikrooperationskode 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/0449
Verzweigungssteuerfunktion:
x'O1 Normaler Modus Übertrag falsch. Im arithmetischen Modus (ALU Modus = O) 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'V oder χ'9' ist.
O L— ALU
Cn = O
SR t— S.PHIn (ΡΙΠ = Takt)
x'V Normaler Modus Übertrag wahr. Im arithmetischen Modus (ALU-Modus = O) 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'1 ' oder x'91 ist.
C t— ALU
Cn = 1
SR <— S.PHIn
χ'2' 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)
SR *— S.PHIn
A-Schienensteuerung
O: C(O-I5) ~— MM(O-I5)(B)
1: C(0-7) ^ MM(0-7) (B)
2: 0(8-15) -?— MM(8-15)(B)
3: 0(0-15) -ξ— MM(0-15)(B)
509828/0449
Dieser MikroOperationskode erfordert eine Taktgeberperiode für den Zwischenspeicher und eine Doppellängen-Taktgeberperiode für den Hauptspeicher.
x'31 Schreiben Zwischenspeicher oder Hauptspeicher. Die Bits auf der A-Schiene v/erden in den Platz des Zwischenspeichers/ Hauptspeichers eingegeben, welcher durch die B-Schiene adressiert ist. Da die C-Schiene nicht verwendet wird, sind die Werte der Statusbits, welche von der G-Schiene abgeleitet werden (obwohl sie in das Statusregister geladen v/erden) unbestimmt. Im Falle des Hauptspeichers v/erden 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(0-7) (B) i A(0-7)
2s MM(8-15)(B) ζ— A(8-15)
3: MM(O-15) (B) «ς— A(O-15)
Dieser MikroOperationskode erfordert eine Taktgeberperiode für den Zwischenspeicher und eine Doppellängen-Taktgeberperiode für den Hauptspeicher.
x'41 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-
5098 2 8/0449
-M-
befehl, welcher der Mikroadresse entspricht, welche in MAR übertragen wurde, wird bei dem zweiten Taktgebersignal, welches 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 MAR(O-H) ·=— 0(4-15) .
MOR(O-31) -— O.PHIn
MAM(O-H) * MAR(O-H)
MOR(O-31) ~— CM(0-3i)(MAM0-1i).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/Registersteuerung eine andere ist als x'B')j 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 x'V, 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/Regi3tersteuerung-3?eld ab.
509828/0U9
- ns -
Wenn die C-Schiene/Registersteuerung X1B1 ist, liefert die unmittelbare Adresse, welche von den letzten 12 Bits des MikroSteuerregisters 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 χ 1B' ist, stellt das MikroSteuerregister 24 beim ersten Taktgebersignal rück, so daß während der folgenden Talctgeberperiode 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 2ur Ausführung während der dritten Taktgeberperiode zur Verfügung. Somit erfordert ein Rückstellen ohne unmittelbare Adresse zwei Taktgeberperioden.
PS(O-H) t— MAR(O-H)
PS(12-17) 4— SR(0-5)
SR unverändert
Wenn CB/RO * 'B' dann A(4-15) ^r- MOR(20-31) + DA
MAM(O-H)
0(0-15) ^
MAR(O-H)
MOR(20-31) + · A(4-15) A(4-15) Plus 1 - 0(4-15).
Wenn OB/RO
χ 1B1 dann MAR(O-H) MOR(O-31) MAM(O-H) M0R(0-31)
0(4-15).PHIn O.PHXn MAR(O-H) CM(0-3i)(MAM0-1i)#PHIn+1
Unterbrechungen: Die Verwendung einer Rückstellfunktion (und auch einer umgekehrten Funktion i^ie einer Ziehfunktion) bei der Verarbeitung einer Unterbrechung ist in der Fig.10 dargestellt. Es sei angenommen, daß eine Unterbrechungsanforderung
509828/0449
während derjenigen Taktgeberperiode wahr wird,, in welcher beispielsweise der Mikrobefehl χ gerade ausgeführt wird. Das nächste Taktgebersignal setzt das Unterbrechung.?,-Flip-Flop, wodurch die Unterbrechungsanforderung synchronisiert wird. Das Unterbrechungs-Flip-Flop führt zu einem S'orung an einen Steuerspeichqrplatz (in diesem Beispiel x'0081), in welchem der ΙΟ-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 ( Λ)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-Steuermikrooperationskode, 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 Q 3')· Zu dieser Zeit wird durch das Aktivierungs-IO-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 G-Schiene beim ersten Taktgebersignal in das Mikroadressenregister 20 gebracht. Gleichzeitig werden 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/0U9
dritten Taktgeberperiode zur Ausführung zur Verfügung* Das Mikroadressenregister wird beim zv/eiten Taktgebersignal auf die nächste Mikroadresse in der Fol-;e erhöht. Dieser Mikrooperationskode besetzt zwei Taktgeberperioden.
0(4.-15) *— PS(O-H)
SR(0-5) ~— PS(12-17).PHIn
MAR(O-H) -— 0(4-15).PHIn
MOR(O-JI) O.PHIn
MAM(O-H) MAR(O-H)
MCR(O-31) CM(0-3i)(MAM0-1i).PHIn+1
MAR plus 1 bei PHIn+1
■χ'8' 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 2war bei dem folgenden MikroOperationskode. Das Statusregister wird nicht verändert. Derjenige Mikrobefehl, welcher der Mikroadresoe entspricht, welche nach IiAR übertragen wurde, wird bei dem zweiten Taktgebersignal, welches auf den Mikrooperationskode folgt, in das. MikroSteuerregister 24 übertragen und steht zur Ausführung während der dritten Takbgeberperiode zur Verfügung. Diese Prozedur setzt zwei Taktgeberperioden.
Wenn die Prüfung nicht erfolgreich ist, erhöht das Mikroadrecsenregister 20 auf die nächste Mikroadresse in der Folge, und zwar beim ersten Taktgebersignal« Unter diesen
5098 2-8/04 49
Umständen besetzt der Mikrooperationsko-Jo eine Taktgeber"*·.'::o.i ? Wenn OV = 1 und CB/RC 4 χ'B1, dann
MAR(O-H) CO-15)
MCR(O-Ji) O.PHIn
MAM(O-H) - MR(O-H)
MCR(O-31) -— 011(0-31) (MAMO-11), ΡΠΙη+1 andernfalls MAR plus 1 bei PHIn
Prüfungs/Verzweigungs-Funktionen χ'9' bis χ 1F' folgen dem Muster, welches unter χ'8' oben erläutert wurde. Nur die überprüfte Bedingung ist verschieden.
χ'9' Prüfungs/Verzweigungs-C-Schiene = 0. Es wird der Status der C-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.
x'C Prüfungs/Verzweigungs-Überlauf / 1. Wie x'81, außer daß die Prüfung umgekehrt ist.
x'D1 Prüfungs/Verzweigungs-C-Schiene / 0. Wie x'9'j außer daß die Prüfung umgekehrt ist.
X1E1 Prüfungs/Verzweigungs-Übertrag / 1. Wie x'A1, außer daß die Prüfung umgekehrt ist.
x'F1 Prüfungs/Verzweigungs-CMSB / 1. V/ie χ'B1, außer daß die Prüfung umgekehrt ist.
509828/0449
--jLclifol^eijd worden Hohrzweckfelder beschrieben. Die Mikrobefehlsbits 2O-31 sind in drei 4-Bit-Felder unterteilt, welche für Kehrfachzwecke verwendet werden (siehe Fig.9). Die spezielle Verwendung jedes Feldes wird durch die Mikrooperationskodes bestimmt, welche dem IQ-Modus, der B-Schienensteuerung, der C-Schienen/Register-Steuerung und der Verzweigungssteuerung zugeordnet sind. Kurz gesagt, es gibt vier Unterscheidungen:
a. Der ΙΟ-Modus unterscheidet zwischen der Verwendung des zweiten Mehrzweckfeides, 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 Z\\recke.
c. Die C-Schienen/Register-Steuerung unterscheidet zwischen der Veritfendung 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 Punktionen verwendet werden, wie es in dem folgenden Abschnitt unter der Überschrift MOR-Steuerung festgelegt ist.
Der einzige Unterschied zwischen den zwei Sätzen von arithmetischen Funktionen, die in der Fig. 11 aufgelistet sind,
509828/0449
besteht darin, daß ein ankommender Übertrag eine 1 zu don Ergebnis addiert. Wenn somit beispielsweise ALU-Auswahl - x'61, so wird folgendes erzeugt: A minus B ninus 1 (Einer-Konolor.on;;-Subtraktion) mit Übertrag falsch und A minus B (Zweier-Komplement-3ubtraktion) mit Übertrag wahr.
Arithmetische Operationen können Veränderungen in den Statusbita Übertrag, C-Schiene = 0, Ö-Schiene MSB und Überlauf erzeugen. Das Statusregister wird bei dem nächsten Taktgobersignal auf den neijföten Stand gebracht, welches <jeder arithmetischen Operation folgt (ebenso wie zu anderen Zeiten), um diese Veränderungen wiederzugeben. 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 Ausn^r.r; ALU 44 re^iiiv o<r:ov A negativ, B positiv und der Ausgang ALU 44 positiv
Der obi ^e Algorithmus wird auf das rechte Fyto des A-Ovv?-"-.'-:''-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. Es wird auch auf den Abschnitt mit der Überschrift Wort/Byte-Or>oration >n-~^-
609828/8 449 bad
Sobald ein Überlauf gesetzt ist, bleibt er gesetzt, bis er durch einen MikroSteuerbefehl abgeschaltet v/ird (siehe MCR-Steuerfeld)·
M0Ii-3teueriUK$: Wenn I0~Kodu3 = 0, dann ist dre B~3chiene::— Steuerung nicht 3 (Sendefeld nach B-Schiene) und wenn C-Schienen/Register-Steuerung nicht χ 1B' 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'V C-Schiene zum Übersetzer. Ein 16-Bit-Makrobefehl auf der C-Schiene, der normalerweise von dein Zwischenspeicher/Hauptspeicher erhalten wird, v/ird zum Übersetzer 15 übertragen.
T <i— 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 v/ird die Erhöhung des Mikroadressenregisters bei ?HI gesperrt, so daß das Mikroadressenregister fortfährt,,während der folgenden Taktgeberperiode die Mikroadresse 0 beizubehalten. Dor Mikrobefehl, v/elcher der I-Iikroadresoe 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 Verl'ü^u;^. Die Ausführung dieses MikroOperationskodes erfordert zwei Taktgeberperioden.
8&D ORiGSNAL 50982 87 0449
χ:— 0
MAR unverändert bei PHIn
MOR(O-31) χ— O.FHIn
χ OM(O-31) (MA=O).PHIn+1
χ'3' Lesen Vektor 1 zur Α-Schiene vom Übersetzer (vorzugsweise) · Der Vektor 1 (eine 12-Bit-Mikroadresse) wird gelesen und vom Übersetzer 15 zu der Α-Schiene gebracht.
A(4-15) ^r- VI(O-H)
Weiterhin wird, wenn IOM = 0, C-Schiene/Registersteuerung
a X1B1 und Verzweigungssteuerung = x'1', 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 Mikroadreosenregister 20 beim nächsten
Taktgebersignal zugeführt. Durch diese Kombination von Mikrooperationskodes wird eine Vektor-Mikroadressierung mit einem Taktgeberzyklus erreicht.
χ'4' Aktivieren ΙΟ-Unterbrechungen. Es wird das I0-Unterbrechungsregister aktiviert, wodurch es ermöglicht wird, daß die geraültiplexte Eingangs/Ausgangs-Unterbrechung angenommen und folglich bearbeitet wird. Auf diesen MikroOperationskode hin bleibt das IO-Unterbrechungsregister aktiviert, bis ca
durch MCR = 6 abgeschaltet wird oder durch die SCU-Einrichtung, wenn eine Unterbrechung auftritt, wie es in dem folgenden Abschnitt unter der Überschrift System Eingang/Ausgang diskutiert wird. Es wird auch auf Fig.10 hingewiesen.
IR *— ΙΟΙ
χ15* Lesen Vektor 2 nach Α-Schiene vom Übersetzer. Der
Vektor 2 (eine 12-Bit-Mikroadresse) wird gelesen und von
509828/0449
Übersetzer 15 auf die A-Schiene gebracht. Für eine Beschreibung der Mikroadressierung in einem Taktgeberzyklus wird auf x'3' hingewiesen.
x'6' Löschen 10-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 10-Unterbrechungsregister gelöscht, bis es durch MGR = 4 aktiviert wird.
IR ~/- ΙΟΙ
x'7* 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) <k— ARG(O-15)
x'81 Lesen MCP-Dateneingangsschalter nach C-Schiene 0(0-15) ^— MCP(O-15)
χ'9' Nicht zugeordnet.
x'A1- Andere Funktionen. Es wird der Ausgang von ALU nach der C-Schiene gesperrt, was die Bits 20-23 dazu in die Lage versetzt, daß sie dazu verwendet v/erden, 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. CO?T Setzen Steuer-Modus-Status-Bit. CON = 1 Nicht zugeordnet
Einschreiben Mikrosteuerspeicher 16 Bits werden von der Α-Schiene in die linke Hälfte des Steuerspeichers
509828/0449
Bits 20 - 23
x1 8'
xf 91
x1 A1
x1 B1
X1B1
x'C
übertragen, und zwar an einen Platz, v/elcher -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 Mikroadrer.se für die Mikrooperationskodeperiode entspricht, erreicht das MikroSteuerregister bei dem zweiten Taktgebersignai, welches auf den MikroOperationskode folgt, und steht für eine Ausführung während der dritten Taktgebersignalperiode zur Verfügung. Die Ausführung dieses MikroOperationskodes erfordert zwei Taktgeberperioden.
Wenn B15 = O, dann CM-RAM(O-15) (BO3-B14-) r.— A(O-15)
andernfalls CM-RAM(I6-31) (BO3-B14-) ^- A(0-15) MCR(O-31) 4— O.PHIn
MOK(O-31) <;— GM(0-3i)(MAM0-1i).PHIn+1 MAH plus 1 bei PHIn+1
xxx
Adresse .'4-R
0 1 2 3 4- 5 6 7 8 9 10 11 12 13 14 15
3C1J)1 Lesen Mikrosteuerspeicher. Die linke Hälfte der Mikrobefehlsadresse durch BO3 - B14· von B-Schiene wird von dem Steuerspeicher an die C-Schiene übertragen, wenn 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) 4— CM(O-15) (BO3-BI4-)
andernfalls 0(0-15) -— CM(16-31) (B03-314-)
MCR(O-31) k O.PHIn
MCR(O-31) χ— CM(0-3i)(MAM0-1i).PHIn+1 MAR plus 1 bei PHIn+1
X1E1 Lesen IO-Unterbrechungen nach Α-Schiene. Die Einrichtungsadresse der ΙΟ-Steuereinheit mit der höchsten Priorität im 3 ~:V'; einer anstehenden gemultiplexten ΙΟ-Unterbrechung wird auf die Α-Schiene übertragen.
509828/04 49
A < DA
x'F1 Nicht zugeordnet.
ΙΟ-Steuerung: Wenn ΙΟ-Modus wahr "ist (siehe Fig.9), v/erden die Bits 24-27 zum IO-Steuerfeld. Dieses Feld wird dazu verwendet, die IO-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 Einrichtungsauswahlfeld. Dieses Feld in Verbindung mit RA-Auswahl wirkt als eine I0-Einrichtungsadresse mit 7 Bit.
Sendefeld: Wenn IO-Modus falsch ist, B-Schienen-Steuerung 3 ist und C-Schienen/Regis ter-St euerung nicht x'B1 ist, v/erden die letzten acht Bit des Mikrobefehls vom MikroSteuerregister 24 zu den Bits 8-15 der B-Schiene übertragen.
B(8-15) τ MCR(24-31)
B(0-7) ~— 0
unmittelbare Adresse: V/enn ΙΟ-Modus falsch ist und C-Schienen/Register-Steuerung x'B1 ist, so v/erden die letzten zwölf Bits des Mikrobefehls, welche als unmittelbare Adresse bezeichnet v/erden, als Mikroadresse für den Steuerspeicher verwendet, wie es unter dem Abschnitt C-Schiene/Register-Steuerung = x'B1 beschrieben ist.
Bit-Schaltung/Stellung: Wenn IO-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.
509828/0U9
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ätetechnik her eine willkürliche Priorität gesetzt. In der Fig. 13 sind alle Starrfcrdquellen 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. I1Ur jede Quelle sind die Mikroprogramm!erungsvoraussetzungen 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/0449
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 C08 abgeleitet, wenn die A-Schienensteuerung 2 ist und die C-Schienen/Register-Steuerung die Verwendung von RA-Auswahl, Einricntungs-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,
CI1ISB = C08(Verzweigungs-Steuerung /7) /CA-Schienensteuerung =2
(C-Schienen/Reginterßteuerung = 2,4,6,A,C, E)
,B-Schienensteuerung »2 vC-Schienen/Register-
609828/04(9 titmmm' "^9'
+ COO (Veri5weigur>p;ssteueruTi:~ ε 7). N /Ceine Schienenateusrung = 2T (C-Schienen/Register
Steuerung « 2,A-,6,A,C,E,I1')+ (B-Schienensteuerur.g = 2)
(C-Schienen/Register)
Steuerung » 3,5,7)_7+ (Rücksteilstapel) (Verzweigungssteuerung = '()
Überlauf: Ein Überlauf wird auf einer Byte-Basis erzeugt, wenn sowohl der Α-Operand als auch der B-Operand von ALU 44 auf ei-Byt©-Basis sind. Hingegen wird ein überlauf auf einer V/ort-
erzeugt, wenn entweder der Α-Operand oder der B-Operand mxt einer Wortbasis ist. Der Überlauf wird unten unter dem Absebnitt AIiU-Auswahl disliutiert.
Sachfolgejid wird Setzen/Rückstellen/Prüfen eines Bits erläutert. Bas 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 gelie- iewt. Die Prozedur ist folgende:
1. Singeben der Datenfunktion auf die Α-Schiene. Da das Bit-Positionsfeld Bits nur den Positionen B08 - B15 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 Bitpositionsmsske auf die Schiene B, Verwendung des Bit-Positionsfeldes.
3. Bei ALU-Modus wahr (logische Operation) wird ALU-Auswahl verwendet;
50 9828/0449
2452288
Um ein Bit zu setzen: ALU Auswahl = x'E (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.ITB)
A-Schiene » 0100 1001 B-Schiene = 0000 1000 C A.NB - 0100 0001
Zum Prüfen eines Bits: ALU-Auswahl = X1B (A.B)
A-Schiene « 0000 0001 B-Schiene * 0000 1000 C A.B = 0000 0000
In diesem Fall 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/Regist ex-Steuerung = x'1f oder x'91 (C-Schieren-Daten nach MAH) oder x'B' (unmittelbare oder Einrichtungsadressierung) und
b. Verzweigungssteuerung = x'41 oder x'51 oder x'8' über χ'J?" (Prüfungs/Verzweigungs-Funktionen) oder χ'6' (Rückstellen) oder x'7' (Ziehen) und
509828/0449
c. Bestimmte Funktionsschaltungen sind auf die Vartungssteuertafel 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/RegisterSteuerung = x'B1, so liefert die Einrichtungsadresse plus 128 von der Steuereinheit mit der höchsten Priorität bei einer gemultiplexten anstehenden ΙΟ-Unterbrechung die nächste Mikroadresse. Wenn IOM = , C-Schienen/Register-Steuerung = X1B', Verzweigungssteuerung = x'11 und MCR-Steuerung = x'$' 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 = x'O1, 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'8' über χ'ϊ", 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 Steuerspeicher 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/0449
2452285
register erhöht Tür die nächste Taktgeberperiöde. ~-
Wenn IOM = O, dann MM(O-H) r— A(4-15)
C(0-15) A(4-15) plus 1
MAE(O-H) C(4-15).-PHIn
andernfalls MAM90-11) MAR(O-H)
MAE 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 I1Xg. 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'91 "oder x'6' addiert oder subtrahiert die Α-Schiene und die B-Schiene und gibt das Ergebnis auf die C-Schiene. C-Schienen/Register-Steuerung = x'11 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
509828/0449
- 65 -
der dritten Taktgeberperiode verfügbar. Eine unbedingte relative Adressierung erfordert zwei Taktgeberperioden.
A(4-15) - MAR(O-11)
ALU-A(4-15) - A(4-15)
BC8-15) — AC4-15)
ALU-B(8-15) BC8-15)
Wenn ALU Sei - x'91 dann C(4-15) ALU-A(4-15) plus
ALIJ-BC 8-15) Wenn ALU Sei » x'61 dann C(4-15) -— ALU-A(4-15) minus
ALU-BC8-15) MARC0-11) -— CC4-15).PHIn
MGR(O-JI) O.PHIn
MAMC 0-11) MAR(O-H)
MCR(O-JI) CM(0-31)(MAM0-11).PHIn+1
Eine bedingte relative Adressierung kann durchgeführt werden, wie es in der zweiten Zeile der Fig. 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 bestellt darin, einen Datenwert mit der unteren und der oberen Grenze zu vergleichen.
509828/0449
- 6S -
1. 1872 OAO3
2. 18B2 0AE8
3. 1433 0942
4. 2902 2F00
5. 1032 0942
6. 3902 2F00
7. 2300 1600
8. OOOB FODO
9. IO32 0942
10. 39OA 2K>0
11. 3200 1600
12. OOOB F0D4
13. IO32 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 ^eigers auf Datentabelle
Ist Schleife vollständig?
Abtastung vollständig (Programm wür'de 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 t GR1/ ALU-A(8-15) ^— A(0-7)
B-Schienen-Steuerung = 3
Β(8-Ϊ5) -— MCR(24-31)
ALU-B(8-15) *— B(8-15) C-Schienen/Register-Steuerung = 2
C(0-7) «_ ALU(8-15), C(8-15) c
GRi(0-7) t C(0-7).PHIn
509828/0449
O . Verzweigungs-Steuerung - 0_ .... . ^.
C r— ALU, cn « O
SR <■ S.PHIn
A ALUSEL = x'A'
C -c 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 O3E8 zur Α-Schiene und die Hexadezimalzahl 42 von dem Sendefeld 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.
509828/0449
Der vierte Mikrobefehl, 2902 2P1OO, bringt den-Inhalt--des allgemeinen Eegisters 1, die Hexadezimalzahl O3E8, 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 Register 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 O3E8 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 2FOO, 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 sEbte 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.
509828/0449
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 Steuerspeicheiidresse während der nächsten Taktgeberperiode. Wenn andererseits das Bit mit dem höchsten Stellenwert der C-Schiene Λ ist (negativ), so wird die Mikroadresse im Mikroadressenregister erhöht. Diese nächste Mikroadresse ist diejenige, welche sich mit dem Datenwert befaßt, der geringer ist als die untere Grenze. Dieser Mikrooperationskode liefert ein Beispiel einer bedingten unmittelbaren Adressierung.
Die übrigen Mikrobefehle dieses Mikroprogramms führen ähnliche Punktionen aus.
Nachfolgend wird der System-Eingang/Ausgang erläutert. Ia allgemeinen sprechen die Eingangs/Ausgangs-Moduln 4 in der 51Ig. 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, tetnn ein Eingangs/Ausgangs-Modul folgendes ausführen:
509828/0449
a. Daten-, Status- und Unterbrechungsinformation Λ& einer externen Anpasseinrichtung 6 auf die A-Schiene übertragen;
b. Daten- und Steuerinformation von der G-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-Punktionen direkt mit dem Sammelschienenaufbau der Datenverarbeitungseinrichtung bzw. des Datenprozessors zu verbinden. Jeder einer großen Anzahl von I0-Moduln bzw. Eingangs/Ausgangs-Moduln und insbesondere deren Anschlußstellen sind identisch verdrahtet, außer zur PrioritEbsbestimmung. 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 C-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/0449
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 10-Anpasseinheit (Steuereinheit) zur Verfugung, 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 Priori tat 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 Steuerepeicher 22 an, der einejL 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/0449
_ op _
Mikrobefehl: Die Verwendung der Mikrobefehlsf elder .isi. in einem 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 EA-Auswahl- und Einrichtungs-Auswahl-Felder ein 7-Bit-Adressenfeld, welches dazu in der Lage ist, bis zu 128 IO-Einrichtungs-Steuereinheiten auszuwählen. EA-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 Zustande s. 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 Α-Schiene gebracht werden (außer, wenn C-Schiene/Register-Steuerung ist X1B1 oder MCR-Steuerung ist x'3' oder x'51
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 Bestimmung
3 Keine Übertragung
50982870449
2L522V5
Die C-Schienen/Register-Steuerung legt die Bestimmung^ der Daten auf der C-Schiene ebenso fest wie die Steuerung über das D&ten-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-Schdme übertragen werden. Dieser Abschnitt betrifft nur die Bestiiomungsspezifikation. Die unten angegebene !tabelle legt die Bestimmung für jeden dekodierten Wert des C-Scfaienen/Register-Steuerfeldes fest:
C-ßchienen/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 3t5»7 RB-Auswahl-Festlegung
D Nicht zugeordnet
Weiterhin enthält C-Schienen/Register-Steuerung = X1B1 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 = O, 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 IO-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
MCK-Steuerung = X1E1 ist für Eingangs/Ausgangs-Operationen bedeutsam. Dieser Mikrobefehl bewirkt, daß die Steuereinheit mit
509828/0U9
der höchsten Priorität, bei v/elcher eine geinultiplexte. 10-Unterbrechung ansteht, daß sie ihre Einrichtungsadresse gemäß den Erläuterungen im obigen Abschnitt auf die A-Schiene bringt.
Wenn I0-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 RA-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 Doppellängen-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 - AI5: Α-Schiene. Verwendet durch IO-Anpassraoduln, zur Übertragung von Daten, von Status- und von Unterbrechungsidentifikation zum Prozessor.
24522S6
_ "75 ~
BOO - B-15: B-Schiene. Verwendet durch IO-Anpassmoduln, welche die raschen Unterbrechungen verwenden, um eine Hauptspeicher-.. adresse nach SCU zu liefern.
COO - CI5: C-Schiene. Verwendet durch den Prozessor, zur übertragung von Daten- und Steuerinformation zu den IO-Anoassmodulrt. 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.
BXTESEL-L, BITESEL-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, BCA09: A-Schienen-Steuerung. Kann bei der Einrichtungsadressen-Dekodierung verwendet werden, um ein einzelnes Byte von.Daten zu adressieren.
EMIT24- - EMIT27: Wenn IO-Modus 1 ist und C-Schienen/RegieterSteuerung nicht X1B1 ist, wird EMIT24- - EMIT27 zum Eingangs/ Ausgangs-Steuerfeld. Diese vier Signale sind verfügbar, um spezielle Mikrobefehle für die Anpassmoduln zu erzeugen.
509828/0449
AXDA3TR0EE: Abtasten für die Einrichtungs-AdressenübertragunT zur Α-Schiene. Gatter-Einrichtungsadresse der Eingangs/Ausgangs-Anpasseinrichtung der höchsten Priorität, bei welcher eine gemultiplexte Eingangs/Ausgangs-Unterbrechung zur Α-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 350 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. Sie Zeittakt-Oharakteristiken sind in der Fig. 16 dargestellt. Die Periode ist 350 ns9 außer,, wenn ein Hauptspeicherzugriff im Gange ist, wobei die Periode dann 700 ns beträgt.
NXMHERE; Muß durch den 10-ModuI tief gelegt werdens wenn XO-Modus = 1 und HSAOI-RSAO3 und EMIT28-31 die Modul-Einrichtungsaäresse enthaltene»
3 NFIRQ2! Schnelle Unterbreehungsanforderung 1 und 2»
■Tief gelegt, um anzufordern daß '©ine sehnello unterbrechung
?I=-19 ^1-2S Schnell® Untsrbrseliungsantworto Erzeugt durela den Jx-osessor- in Hsaktioa auf di© A&for&eruzig der entsprechenden schnellen Unterbrechungo Die Einrichtung mit der höchsten Priorität, bsi welcher eine sehnelie Unterbreehung ansteht, lainn dieses Signal verwenden, um das Anforderungsignal au entfernen»
2A52286
FHPRIn, PKPxRIn, FH PR In+1, FI2PRIn+1: Prioritätsrecht! für schnelle Unterbrechung. Diese Funktionen werden später erläutert.
NIOIITT: Geraultrolexte allgemeine Eingangs/Ausgangs-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 v/erden, während NINTLOCK tief liegt. Weiterhin wird ermöglicht, daß die gemultiplexte IO-Unterbrechungsprioritätsreihe aufgestellt wird, bevor eine Einrichtungsadresse durch den Prozessor zu der Α-Schiene gebracht wurde.
PRIn, PRIn+1: Unterbrechungsprioritatsreihe für den Hauptmultiplexer 10. PRIn ist die Prioritätseingangsleitung; PRIn+1 ist die Prioritätsausgangsleitung.
NEXT: Allgemeine externe Zustandsleitung. Wenn der IO-Modul 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 Zustandsle itungen, 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/0449
IC'AL A FtJrIF i Bit OO
AOO [TION 01
A01 Schiene i,
H
02
AO 2 Schiene 03
AO3 04
A04 05
AO 5 06
A06 07
AO7 08
A08 09
AO9 10
A1O 11
A11 12
A12 13
AI3 14
A14 A Bit 15
AI5 B * Bit OO
BOO Schiene 01
B01 i Schiene 02
B02 i j 03
BO3 04
B04 05
BO5 06
B06 07
BO7 t 1 08
B08 I 09
BO9 10
B10 11
B11 12
B12 13
313 14
B14- B 15
BI5
Bit
509828/0449
SIGNAL GOO C01 CO 2 C03 GOM-CO5 C06 CO7 C08 CO9 C10 011 C12 013 014 C15 IOM NRSA01 NESA02 NRSAO3 NEMIT28 NEMIT29 NEMIT3O NEMIT31 EMIT24-EMIT25 EMIT26 EMIT27 BYTESEL-R(A) BYTESEIr-L(A) NINHB B0A08 BCA09 NIOINT
PRIn PRIn+1
FUNKTION
G Schiene Bit OO ! : ι 01 02
!
I 06 '■
I i : : ! i t ! i
, J ■:
V *■' AIX-
G Schiene Bit
I/O-Modus
A-Register-Auswahl-Feld Bit 01, invertiert
rt Ii
« it Ii 02, "
i! it tt 03, "
Einrichtungs-Auswahl-Feld Bit 28, "
It ti
tt
It
tt
Il
11 29, "
11 30, "
ti
I/O-Steuerfeld-Einstellung 24-it ,. 25
.· .1 26
tr ti Byte-Auswahl (rechts) 11 " (links) * B-Schienen-Übergehen-Steuers ignal A-Schienen-Steuerfeld (MSB) A-Schienen-Steuerfeld (LSB) Gemultiplexte I/O-Unterbrechuncrs-
anforderung
Prioritätsreihen-Eingabe (gemultit)le>:te
I/O-Unterbrechung)
Prioritätsreihen-Ausgabe (gemultinlexte
ϊ/0-Unterbrechung)
509828/0449
NINTTX)CK NAXDASTROBE
NFIR Q1 NFIRO2 FI-1 FI-2 NEXT NRESET PHI
CLOCK RTCC ZP15 Volts ZN15 Volts FH PRIn
FI2PRIn FHPRIn+1 FI2PRIn+1 Bits 24-27
0 1 2 3
6 7
Sperr signal für ge-rnultiplexte I/0--Unterbrechung
Einrichtungsadresse für Α-Schienen··· Abtastsignal
Schnelle Unterbrechung -i- 1 Anforderung
Il Il Ο Ί
11 " 1 Antwort
Il Il p Il
Äußere Zustandsleitung
Leistung Ein und HCP-Anforderung
Sys t em-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
(IOM = 0; B-Schienen-Steuerung / 3; C-Schienen/Register-Steuerung 4 X1B')
Keine speziellen Funktionen C-Schiene zum Übersetzer Rückstellen MAR
Lesen Vektor 1 nach Α-Schiene vom Übersetzer
Aktivieren IO-Unterbrechungen
Lesen Vektor 2 nach Α-Schiene vom Übersetzer
Löschen IO-Unterbrechungen
Lesen Argument nach B-Schiene vom Übersetzer
Lesen MCP-Daten-EingangsSchalter nach C-Schiene
509828/0449
9 Nicht zugeordnet
A Andere Funktionen
B Nicht zugeordnet
C Schreiben MikrosteuersOeicher
D Lesen Iixkrosteuerspeiciiex'
E Lesen ΙΟ-Unterbrechungen nach A-Schiene
F Nicht zugeordnet
Adressierung: Jeder IO-Modulmuß auf eine oder mehrere Einrichtungsadressen antworten. Die Einrxchtungsadresse ist aus dem RA-Auswahlfeld (RSAO1 - RSAO3) und dem Einrichtungsauswahlfeld (EMIT28 - EMIT31) gebildet, wobei R3A01 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 v/elcher der Modul mittels Rückstellrücken, Schaltern 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 Adreseen-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 Barstellung 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 ve-Daten zu der Α-Schiene und der Aktivierung der C-Schienen-Eingangspuffer. ME (Modul-Aktivierung) wird hauptsächlich dazu verwendet, die Leitung oder die Leitungen für die erterno ^2-dingung auf der Leitung NEXT zu aktivieren. NIMHERI? wird dazu verwendet, den C-3chienenpuffer in einer erweiterten IO-Anordnung zu steuern.
509828/0449 ,^
A--Schienenanschluß: Die A-Schiene bildet den-Weg,-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 MA- einzugeben, mit diesen Daten eine Funktion auszuführen und das Ergebnis dem Benutzer auf der G-Schiene zuruckzuubertragen, 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 A-Schiene - IOMME'IHPtJT-NAXIOCONa?, wobei IOMME = IO-Modul durch Mikrobefehl ausgewählt, wie es in der Pig. 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 Zeiltaktsteuerung 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'DHAINPUT
wobei DMAINPUT = Zugeordnete Konfiguration des IO-Steuerfeldes, welches den Direktspeicherzugriff festlegt.
Die Zeittaktsteuerung der A-Schiene und der B-Schiene ist in der Fig. 18 dargestellt.
509828/0449
- SJ -
C-Schienenanschluß: Die bei 3 dargestellte C-Schiene ist der Weg für die Übertragung von Daten und von Steuerinformation vom Prozessor zu einem IO-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. 1? 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, v/ährend das IO-Unterbrechungssystera 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/0449
Der Prozessor nimmt bis zu 128 Eingängen für die gemultiplexte. Eingangs/Ausgangs-Unterbrechung an, was 128 Einrichtungsadressen entspricht. Diese Unterbrechung kann durch Mikrooperationskodes in dem MCR-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 ΙΟ-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 IO-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 IO-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'8' erzeugt. Sobald diese Adresse zur Verfugung steht, wird sie dazu verwendet, das Flip-Flop zurückzustellen. Somit bleibt das IO-Unterbrechungs-Flip-Flop hoch, bis die nächste IO-Unterbrechung in der Reihenfolge der Priorität erreicht wird.
Die nächste PHI-Einheit, die nach der Steuerspeicheradresse χ 1O' verfügbar ist, lädt den Mikrobefehl an diese Stelle in das Mikrosteuerregister 24 zur Ausführung. Wenn somit keine Unterbrechung
509828/0449
mit höherer Priorität dazwischen kommt, wird der Mikrobefehl in das MikroSteuerregister 24· geladen, und zwar durch die zweite PHI, nachdem KIOJNT tief geht. Dieser Mikrobefehl sollte den Rückstell-Mikrooperationskode im VerzweigunGS-Steuerfeld und den MikroOperationskode der unmittelbaren Adresse im C-Schienen/Register-Steuerfeld enthalten. Es 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:
0 1 2 5 4 5 6 7 8 9 10 11 12 15 14· 15
χ.χχχ,χχχχΐ Einrichtungsadresse A -Schiene
Die Bits 0-7 sollten durch den ΙΟ-Modul nicht getrieben werden, 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 3 4 5 6 7 8 9 10 11 12 15 14- 15 xxxx ALU Sei 1 Einrichtungsadresse A-Schiene
Diese 12-Bit-Adresse, die jetzt auf der Α-Schiene vorhanden ist, wird durch den Prozessor in derselben Weise wie eine unmittelbare Adresse verwendet, welcce von dem MikroSteuerregister zu der Α-Schiene übertragen wird. In jedem Falle springt der Steuerspeicher 22 zu der 12-Bit-AdresBe. Daher verzweigt der Rückstell-Mikrobefehl auf eine Tabelle im Steuerspeicher 22 zwischen x'0801 und χ'OFl?1, mit der Annahme ALU-Auswahl = 0.
509828/0449
Die Größe dieser Tabelle hängt von der Anzahl" der Einrichtungsadressen ab, die im System verwendet v/erden.
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 Einrichbungsverarbeitungs-Unterbrechimgsroutine 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-Ausfuhr ungs ze it ist 0,70 Mikrosekunden.
Wenn in alternativer V/eise ΙΟ-Modus in dem ursprünglichen Rückstell-Mikrobefehl falsch ist, v/erden die Bits der unmittelbaren Adresse vom Mikrobefehl als Verzweigungsbestimmung verv/endet. In diesem Fall kann die Einrichtungsadresse der Unterbrechungs-IO-Steuereinheit später wieder aufgefunden werden, indem ein Mikrobefehl mit MGR = χ 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-Unterbreclmng 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 Ruckste11-Mikrooperationskode enthält, wird der laufende Status des gemultiplexten IO-Aktivierungs-Flip-Flops im Rückstellstapel gesOeichert, bevor das Flip-Flop zurückgestellt wird· Am Ende der Unterbrechung-Verarbeitungs-Unterroutine stellt eine Zieh-Mikrooperationskode im endgültigen Mikrobefehl das
509828/0449
2452285
Aktivierungs-Flip-Plop wieder in seinen ursprünglichen Statir; zurück.
Weiterhin wird dann, wenn eine Unterbrechung angefordert wird, das Signal NINTLOGK tief gelegt. Dieses Signal muß auf den 10-Hodul dazu verwendet v/erden, die Auslösung einer I0-ünterbrechungsanforderung zu verhindern, bis es wahr wird. Ein ΙΟ-Modul, der bereits eine IO-Unterbrechung anfordert, muß diese Anforderung fortsetzen. Der Zweck von NINTIOCK besteht darin, die Prioritätskette in der Weise 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 Ünterbrechungsanforderung 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 IO-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, PEIn, 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 Ünterbrechungsanforderung an
509828/0449
Diese Gleichung muß von jedem ΙΟ-Modul implementiert werden, der die gemultiplexte ΙΟ-Unterbrechung verwendet. Die Fig.21 zeigt die entsprechende Logik für die ΙΟ-Moduln in einer gernultiplexten Unterbrechungsprioritätsreihe.
Die Unterbrechungsanforderung, NIOINT, kann gemäß dem Diagramm in der Fig. 22 ausgeführt v/erden.
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 welcher der Modul angeordnet ist. Der niedrigste Stellenwert oder die höchste Prioritätseinrichtung liegt am dichtesten beim Prozessor.
Prüfung des externen Zustandes: Das Verzweigungs-Steuerfeld des Mikrobefehls enthält zwei MikroOperationskodes, welche dazu verwendet werden* zu überprüfen, ob eine externe Bedingung bzw. ein externer Zustand auf einem ΙΟ-Modul vorhanden ist: x'V Prüfung/Yerznreigung bei gesetztem externen Zustand
3t95s Prüfung/Verzweigung "bei einem r-ückgestellten externen Zustand.
•Jeder IQ-Modul kann einen oder mehrere externe Statuszustände au einem gemeinsamen Signal liefern, nämlich NEZT, wenn RA-Auswahl und die Einriehtungsauswahlfel&er eine IO-Adresse enthalten, welche diesem Modul zugeordnet ist« Darüberhinaus kann mehr als ein externer Zustand pro ΙΟ-Adresse ausgewählt und nach HEXT gemultiplext werden, wenn die zusätzlichen Signale verwendet werden wie A-Sehienen-Steuerfeld, BGA08 und B0AO9. Andererseits kann die Möglichkeit der Prüfung des äußeren Zustandes bzw« des externen Zustandes ignoriert werden, wenn eine solche Prüfung in einer bestimmten Anwendung nicht erforderlich ist.
509828/0449
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 eifblgreich 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, zwei 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/0449
Das zwischenzeitliche Abzweigen einer Zykluszeit bezieht sich auf das Einsetzen eines Mikrobefehls außerhalb der Folge in dio normale Ablauffolge der Prozessoroperationen, ohne daß die Statusbits oder die nächste Mikroadresse beeinflußt werden. Der Status des Prozessors w-ird 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, SGU 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 Zugriff ziuii 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 Durchsatzrate 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 werden dirch 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-
5 09828/0449
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 IO-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 Λ 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 x'61 für die schnelle Unterbrechung 1 Oder x'71 für die schnelle Unterbrechung 2 erzeugt. Sobald diese Adresse zur Verfügung steht, was bedeutet, daß die schnellen Unterbrechungen von SCU 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/0A49
-.92 -
hoch gelegt werden, nachdem die abfallende Flanke· d«s ilntwortimpulses, PIn1 für das letzte zu übertragende Wort vorliegt. Das Hochlegen von ITFIRQn 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 v/erden 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 verwendet 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 χ'δ1 oder x'71 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 xJ6' oder x'7' wird ausgeführt. Typischerweise überträgt dieser einzelne Mikrobefehl Daten sum/vom ΙΟ-Modul in/aus dem Hilfsspeicher/Hauptspeioher, und zwar an der Stelle, welche durch das k&ressenregister des Hilfsspeichers/ Hauptspeichers festgelegt ist, und erhöht oder erniedrigt dieses Register.
509828/0449
Eine Reihe von Übertragungen bei einer schnellen Unterbrechung wird normalerweise durch eine gemultiplexte IO-Unterbrechun.i; beendet. Beispielsweise kann vor dem Beginn der Datenübertragung die gerätetechnische Einrichtung eine Wortzählung über die C-Schiene zu einem Wort-Zähiregister im lO-Modulvbertragen. V/enn diese Zählung erreicht ist, kann der ΙΟ-Modul eine gemultiplexte IO-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. V/enn die Technik der raschen Unterbrechung verwendet wird, wird eine rasche Unterbrechung als Anforderung zum Schreiben im Hilf3speicher/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/0449
eine Prioritätskette geregelt. Jedoch antwortet jede Einrichtimgs-Steuereinheit 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 Α-Schiene gebracht werden, oder im Falle der Ausgangsübertragung, daß Daten von der C-Schiene empfangen werden. Während derselbenMikrobefehlsperiode verwendet der Prozessor die Speicheradresse auf der bei 2 dargestellten B-Schiene dazu, Daten von der bei 1 dargestellten Α-Schiene in den Hilfsspeicher/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 Arb 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 dieae DMA-Anpasseinrichtung verwenden, welche hauptsächloch durch die Notwendigkeit begrenzt ist, die kombinierte Bandbreite der Einrichtungen innerhalb der DMA-Kanalbandbreite zu halten: 1.4-28 Megaworte pro Sekunde, und zwar beim Zwischenspeicher, oder 714- Kiloworte pro Sekunde beim Hauptspeicher, und zwar in diesem Falle.
509828/0449
Die erforderlichen Elenente für einen ΙΟ-Modul für die DIAX-Anpasseinrichtung, wie es in Fig.4—18 schematisch dargestellt ist, sind ein Datenspeicherregister 80, ein Wortzählregister 82, ein Speicheradressenregister 84 und ein Multiplexer 86 zur bei 1 dargestellten A-Schiene. Die gemeinsame DMA-Kanaladresse wird für Datenübertragungzwecke 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 gewidment. Die Unterbrechung mit der höheren Priorität (Steuerspeicherplatz x'6') wird der Dateneingabe in den HilfsSpeicher/Hauptspeicher 18, 16 zugeordnet, und die Unterbrechung mit der geringeren Priorität (Speicherplatz x'71) ist der Datenausgabe aus dem Hilsspeicher/Hauptspeicher 18,16 zugeordnet.
509828/0449
25 26 ΙΟ-Steuerung
24 O O 27 Hexadezimalkode
O O O 0 0
O 1 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 G-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 G Beide schnellen Unterbrechungen
abschalten.
Diese Anweisungen werden unten erläutert.
IO-Steuerung = x'1't zusammen mit IOM = 1 und Verzweigungssteuerung = x'31 erfolgt eine Dekodierung durch alle IO-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 gebracht, 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 x'61: x'nÖOO JOIm'
Einrichtungs-Auswahl-Teil der DMA-Adresse
Lesen der Daten und der Speicheradresse vom IO-Modul
Schreiben im Hilfsspeicher/Hauptspeicher
RA-Auswahl-Teil der DMA-Adresse plus IOM = 1
509823/0449
ΙΟ-Steuerung = x'21, zusammen mit IOM = 1 und Verzv/eigungo-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 v/erden von der G-Schiene durch den IO-Modul 4 zur Übertragung zu der IO-Einrichtung genommen. Der Mikrobefehl für diese Funktion ist am Steuerspeicherplatz x'71 abgespeichert und erscheint folgendermaßen:
Lesen der Hilfsspeicher/Hauptspeicher-Adresse, Schreiben der Daten an den Benutzer:
Platz 21?1: 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 IOM = 1
IO-Steuerung = x'V oder X1C, gemeinsam mit IOM = 1 erfolgt eine Dekodierung durch alle ΙΟ-Moduln, welche den DM-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.
509328/0449
ΙΟ-Steuerung = x'A1, gemeinsam mit IOM = 1 erfolgt eine Dekodierung durch alle ΙΟ-Moduln, welche den DMA-Kanal teilen. Dieser Kode nimmt Daten von der C-Schiene und speichert sie in dem Datenpufferregister ab. Ein bestimmtes Datenpufierregister wird zur Prüfung ausgewählt, indem alle ΙΟ-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 IO-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 x'A1 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/0449
Prioritätskette: Die in der Fig. 31 dargestellte Prioritä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.32 zeigt ein typisches Unterbrechungs-Anforderungs-Flip-Flop.
Die Gleichungen für die Prioritätskette sind folgende:
FInPRIn+1 = FInPRIn.· NPRICONT
Setzen PRICONT = FInPRIn·NFIn-SET-PHI
Rückstellen PRICONT = FInPRIn*10MME(DMA)-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 » χ'4· oder x'C gesetzt ist, Abschalten der schnellen Unterbrechungen.
Speicheradresse an B-Schiene: Die B-Schienen-Steuerlogik, wie sie in der Fig. 33 dargestellt ist, führt .durch eine entsprechende logische Operation des Adressenregisters des Hilfs-,speichers/Hauptspeichers 18,16 an die bei 2 dargestellte B-Schiene, wenn IO-Steuerung = x'11 oder '2'. Die Speicher-
509828/0449
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 = FIIPEIn-IOMME(DMA)-VRITE +
FI2PRIn· 10MME(DI1IA) · READ
NINHB sperrt den Prozessor, so daß keine anderen Daten auf die B-Schiene gebracht werden können. Die Fig. J4 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 X1B' ist, werden die Bits 24-2? zum Eingangs/Ausgangs-Steuerfeld.
Bit ΙΟ-Steuerung
24 25 Funktion
0 0 Lesen des 10-Tiegisters, 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 Sinrichtungs-Auswaiilfelder adressiert ist, zu der Α-Schiene und Einschreiben der Daten von der C-Schiene in das ΙΟ-Register, welches durch die RA-Auswahl- und die Einrichtungs-Auswahlfeider adressiert ist.
509828/0U9
0 Lesen der IO-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 G-Schiene in das ΙΟ-Register, welches durch die RA-Auswahl- und die Einrichtungs-Auswahlfeider adressiert ist.
Bit Speziaisteuerung
27 Funktion
O O Keine Veränderung.
1 Abschalten des Ausgangs zu der IO-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 IO-Schiene. Dieser Ausgang bleibt gesperrt, bis eine Aktivierung IO-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 1 Nicht zugeordnet.
IO-rSchiene: Die IO-Schiene 6 ist eine Doppelrichtungsschiene, die in der Fig. 35 durqh 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 MikroOperationskode "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
509323/0449
245228S
können entweder zu der bei 1 dargestellten Α-Schiene von den Ausgangsregister über die Leitung 92 oder von der IO-Schiene über die Leitung 9^ übertragen werden, wobei bei dem letzten Vorgang die Möglichkeit besteht, daß SCU eine Rundumprüfung des Moduls durchführt. Der 2:1-MuItixjlexer 96 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 RA-Auswahl, Einrichtungs-Auswahl und A-Schienen-Steuerung 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.
Wenn 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/0449
2452288
(dem Byte mit dem geringsten Stellenwert des imgeraden 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 V/ert 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.
Me Fig. 37 zeigt die zeitliche Beziehung zwischen der Befehlsausführungszeit, der Ausgabe von Daten und der IO-Aktiv-Abtastung. Die IO-Aktiv-Abtastung tritt nominell 100 ns nach der Befehlsausfü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.
G-emul tipi exte ΙΟ-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. 38 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:
509828/0449
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.
3. Die Übertragung der Adresse der IO-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 IO-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 Anforderungs-/ Antwort-Basis erzeugt, wie es in der Fig. 39 dargestellt ist. Dies bedeutet, ein Unterbrechungssignal sollte auf aktiv-tief gebracht werdjen 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 Beiratzereinrichtung 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 aktivtief wird dem Prozessor zugeführt, wie es oben beschrieben ist.
509828/0U9
Die RA-Auswahl-, Einrichtungs-Auswahl- und A-Schionen-Sbouoefelder adressieren die Leitungen des externen Zustandes folgendermaßen:
1. Sie sechs Bits mit dem höchsten Stellenwert .von RA-Ausv.^hl und Einrichtungsauswahl adressieren den ΙΟ-Modul, welcher seinen externen Status auf die Leitung NEXT bringen soll.
2d 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-Modül.
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 HAR zur A-3chiene (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 Bandbreitengrenzen an den Prozessor über Standardoder Spezial-Eingangs/Ausgangs-Moduleinheiten angeschlossen werden können. Spezielle Einzelheiten besonderer Einrichtungs-
509828/0449
.- 106 -
Anpasseinrichtungen 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/0449

Claims (14)

  1. Patentansprüche
    Qy Mikroprozessor, dadurch gekennzeichnet , daß ein Steuerspeicher (22, 23) vorgesehen ist, welcher zur Speicherung von Steuerworten dient, daß weiterhin ein Taktgeber (50) vorhanden ist, um ein Taktgebersignal zu erzeugen, daß weiterhin eine erste Sammelschiene (A), eine zweite Sammelschiene (B) und eine Einrichtung vorgesehen sind, welche die erste Sammelschiene (A) und die zweite Sammelschiene (B) miteinander verbindet, daß weiterhin eine Vielzahl von Datenquellen vorhanden sind, daß weiterhin eine Vielzahl von Bestimmungen für die Speicherung von Daten vorhanden ist und daß eine Einrichtung vorgesehen ist, welche auf eines der Steuerworte anspricht sowie auf eines der Zeitgebersignale, und zwar um eine aus der Vielzahl von Datenquellen auszuwählen, um Daten von der ausgewählten Datenquelle auf die erste Sammelschiene (A) zu bringen, um die Daten von der ersten Sammelschiene (A) auf die zweite Sammelschiene (B) zu übertragen, um eine der Bestimmungen für die Daten auszuwählen und um die Daten zu der ausgewählten Bestimmung zu bringen.
  2. 2. Mikroprozessor nach Anspruch 1, dadurch gekennzeichnet , daß die Einrichtung, welche auf eines der Worte anspricht, eine Dekodxereinrichtung (42) ist·
  3. 3. Mikroprozessor nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Einrichtung, welche zur Verbindung der ersten Sammelschiene (A) und der zweiten Sammelschiene (B) dient, eine arithmetische und logische Einheit (44·) ist.
    509828/0449
  4. 4·. Mikroprozessor nach Anspruch 3» dadurch g e k e η η - zeichnet , daß die arithmetische und logische Einheit (44) auf die Daten einwirkt* wenn die Daten von der ersten Sammelschiene (A) auf die zweite Sammelschiene (B) übertragen werden.
  5. 5· Mikroprozessor nach Anspruch 4, dadurch gekennzeichnet, daß die arithmetische und logische Einheit (4-4) eine arithmetische Operation mit den Daten ausführt.
  6. 6. Mikroprozessor nach Anspruch^, dadurch gekennzeichnet , daß die arithmetische und logische Einheit (44) eine logische Operation, mit den Daten ausführt.
  7. 7- Mikroprozessor nach einem der vorhergehenden Ansprüche, dadurch gekennz eichnet , daß weiterhin eine dritte Sammelschiene (C) vorgesehen ist, daß weiterhin eine Einrichtung vorhanden ist, welche auf eines der Steuerworte anspricht, um eine zweite aus der Vielzahl der Datenquellen auszuwählen, um Daten von der zweiten Quelle auf die dritte Sammelschiene (C) zu bringen und um die Daten von der ersten Sammelschiene (A) und der dritten Sammelschiene (C) auf die zweite Sammelschiene (B) zu bringen.
  8. 8. Mikroprozessor nach Anspruch 7» dadurch gekennzeichnet , daß die arithmetische und logische Einheit (44) eine arithmetische Operation mit den Daten ausführt.
  9. 9· Mikroprozessor nach Anspruch 7» dadurch gekennzeichnet , daß die arithmetische und logische Einheit (44) eine logische Operation mit den Daten ausführt .
    509828/0449
  10. 10. Mikroprozessor, dadurch gekennzeichnet, daß ein Steuerspeicher (22, 23) vorgesehen ist, welcher dazu dient, Steuerworte zu speichern, daß weiterhin eine Taktgebereinrichtung (50) zur Erzeugung eines Taktsignals vorhanden ist, daß weiterhin eine erste Sammelschiene (A), eine zweite Sammelschiene (B) und eine dritte Sammelschiene (0) vorgesehen sind, daß weiterhin eine Datenquelle vorhanden ist, welche mit der ersten Sammelschiene (A) verbunden ist, daß weiterhin eine Datenquelle vorgesehen ist, welche mit der dritten Sammelschiene (G) verbunden ist, daß weiterhin eine Bestimmung zur Datenspeicherung vorhanden ist, welche mit der zweiten Sammelschiene (B) verbunden ist, daß weiterhin eine arithmetische und logische Einrichtung (44·) vorhanden ist, welche zwischen der ersten und der dritten Sammelschiene (A und C) sowie der zweiten Sammelschiene (B) angeordnet ist, daß weiterhin ein Funktionsgenerator vorgesehen ist, welcher zwischen der ersten und der dritten Sammelschiene (A und C) sowie der zweiten Sammelschiene (B) angeordnet ist und daß eine Einrichtung vorhanden ist, welche auf eines der Steuerworte und ein Taktgebersignal anspricht, und zwar dazu, eine Datenquelle für die erste Sammelschiene (A) auszuwählen, eine Datenquelle für die dritte Sammelschiene (C) auszuwählen, Daten von ihren jeweiligen Quellen auf die er3te Sammelschiene (A) und die dritte Sammelschiene (C) zu bringen, in selektiver Weise elektrisch die arithmetische und logische Einheit (44) von der ersten, zweiten und dritten Sammelschiene (A, B und C) zu trennen, in selektiver Weise elektrisch den Funktionsgenerator mit der ersten, zweiten und dritten Sammelschiene (A, B und C) zu verbinden, wobei der Funktionsgenerator auf die Daten auf der ersten und der dritten Sammelschiene (A und C) einwirkt und das Ergebnis der Operation auf die zweite Sammelschiene (B) bringt, und um das Ergebnis einer ausgewählten Bestimmung zuzuführen.
    509828/0449
  11. 11. Mikroprozessor nach Anspruch 10, dadurch gekennzeichnet , daß eine Einrichtung vorgesehen ist, um v/eitere Taktgebersignale zu sperren, bis die Operation des Funktionsgenerators abgeschlossen ist.
  12. 12. Mikroprozessor nach Anspruch 11, dadurch gekennzeichnet, daß die Einrichtung zur Sperrung ein Steuerwort aufweist.
  13. 13. Mikroprozessor nach Anspruch 12, dadurch gekennzeichnet , daß die Einrichtung zur Sperrung ein Feld des Steuerwortes aufweist, und daß sie weiterhin eine Dekodiereinrichtung (42) hat, welche darauf anspricht, sowie ein logisches Gatter, welches auf die Dekodiereinrichtung (42) anspricht.
  14. 14. Mikroprozessor, dadurch gekennzeichnet , daß ein Steuerspeicher (22, 23) zur Speicherung von Kontrollworten vorgesehen ist, daß weiterhin eine Taktgebereinrichtung (50) zur Erzeugung eines Taktsignals vorhanden ist, daß weiterhin eine erste Sammelschiene (A) sowie eine zweite Sammelschiene (B) vorgesehen sind, daß weiterhin eine Quelle für erste Daten vorhanden ist, welche mit der Sammelschiene (A) verbunden ist, daß weiterhin eine Bestimmung zur Speicherung der zweiten Daten vorhanden ist, welche mit der zweiten Sammelschiene (B) verbunden ist, daß weiterhin eine arithmetische und logische Einrichtung (44) vorgesehen ist, welche zwischen der ersten Sammelschiene-(A) und der zweiten Sammelschiene (B) angeordnet ist, und daß eine Einrichtung vorhanden ist, welche auf eines der Steuerworte und ein Taktgebersignal anspricht, und zwar dazu, erste Daten auf die erste Sammelschiene (A) zu bringen, die ersten Eingangsdaten der arithmetischen und logischen Einrichtung (44) zuzuführen, eine logische Operation mit den ersten Daten über die arithmetische und logische Einrichtung (44) auszuführen, um die zweiten Daten zu erzeugen, und um die zweiten Daten auf die zweite Sammelschiene (B) zu bringen.
    5098 2 8/0449
    15· Mikroprozessor nach Anspruch 14, dadurch gekennzeichnet, daß die Einrichtung, welche auf eines der Steuerworte anspricht, die zweiten Daten von der zweiten Sammelschiene (B) ihrer Bestimmung zuführt.
    16- Mikroprozessor nach Anspruch 14, dadurch ,gekennzeichnet , daß die Bestimmung ein Eingangs-Ausgangs-Register ist.
    17· Mikroprozessor nach Anspruch 14, dadurch gekennzeichnet , daß die Quelle ein Eingangs-Ausgangs-Register ist.
    509828/0449
DE19742452286 1973-12-26 1974-11-04 Mikroprozessor mit parallelbetrieb Pending DE2452286A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US42865173A 1973-12-26 1973-12-26

Publications (1)

Publication Number Publication Date
DE2452286A1 true DE2452286A1 (de) 1975-07-10

Family

ID=23699804

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19742452286 Pending DE2452286A1 (de) 1973-12-26 1974-11-04 Mikroprozessor mit parallelbetrieb

Country Status (5)

Country Link
JP (1) JPS5097249A (de)
CA (1) CA1027249A (de)
CH (1) CH607136A5 (de)
DE (1) DE2452286A1 (de)
GB (1) GB1493819A (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2353100A1 (fr) * 1976-05-25 1977-12-23 Honeywell Inc Dispositif calculateur microprogramme

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58149541A (ja) * 1982-03-01 1983-09-05 Hitachi Ltd デ−タ処理装置
JPS6074034A (ja) * 1983-09-30 1985-04-26 Toshiba Corp パイプライン制御方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2353100A1 (fr) * 1976-05-25 1977-12-23 Honeywell Inc Dispositif calculateur microprogramme

Also Published As

Publication number Publication date
JPS5097249A (de) 1975-08-02
CA1027249A (en) 1978-02-28
CH607136A5 (de) 1978-11-30
GB1493819A (en) 1977-11-30

Similar Documents

Publication Publication Date Title
DE2322674C3 (de) Mikroprogramm-Steuereinrichtung
DE2452255A1 (de) Eingabe/ausgabe-einrichtung fuer einen mikroprozessor
DE2452214A1 (de) Mikroprozessor mit unmittelbarer und indirekter adressierung
DE68914172T2 (de) Datenverarbeitungssystem und Videoverarbeitungssystem mit einem derartigen Datenverarbeitungssystem.
DE2716369C2 (de)
DE3586603T2 (de) Datenprozessor fuer interpretierende und kompilierte sprache.
DE1915818C3 (de) Steuerschaltung für ein elektronisches Datenverarbeitungssystem
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE1549523B2 (de) Datenverarbeitungsanlage
DE1449532B2 (de) Datenverarbeitungsanlage
DE2540975A1 (de) Multi-mikro-prozessor-einheit
DE1803767A1 (de) Elektronisches Datenverarbeitungssystem
DE1524209B2 (de) Programmgesteuerte datenverarbeitungsanlage
DE2357003A1 (de) Programmierbarer prozessor
DE1815078A1 (de) Mikro-programmierte Datenverarbeitungseinrichtung
DE2339636A1 (de) Programmsteuereinrichtung
DE1474062B2 (de) Datenverarbeitungsanlage mit einer anzahl von pufferspeichern
DE2019444A1 (de) Datenverarbeitungsanlage
DE2202952C2 (de) Datenverarbeitungsanlage
DE2440628A1 (de) Datenverarbeitungsanlage mit mikroprogrammierung
DE2218630B2 (de) Schaltungsanordnung zur Steuerung von Unterbrechungssignalen in Datenverarbeitungsanlagen
DE2835110A1 (de) Schneller echtzeit-rechneremulator
DE2245284A1 (de) Datenverarbeitungsanlage
DE2745204A1 (de) Mikroprogramm-leitwerk fuer eine datenverarbeitungsanlage
DE2948442A1 (de) Digitalrechnersystem

Legal Events

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