DE2452255A1 - Eingabe/ausgabe-einrichtung fuer einen mikroprozessor - Google Patents

Eingabe/ausgabe-einrichtung fuer einen mikroprozessor

Info

Publication number
DE2452255A1
DE2452255A1 DE19742452255 DE2452255A DE2452255A1 DE 2452255 A1 DE2452255 A1 DE 2452255A1 DE 19742452255 DE19742452255 DE 19742452255 DE 2452255 A DE2452255 A DE 2452255A DE 2452255 A1 DE2452255 A1 DE 2452255A1
Authority
DE
Germany
Prior art keywords
rail
control
busbar
address
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
DE19742452255
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 DE2452255A1 publication Critical patent/DE2452255A1/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/32Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer
    • G06F13/34Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer with priority control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Bus Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

PATENTANWÄLTE A. GRÜNECKER
DI PL.-I,siG.
H KliMl·* EL DEY □R.-if-ira.
W. STOCKMAlR
□R.-1NG. ■ AeE(CALTECH)
K. SCHUMANN
DR. RER. NAT. · OIPC-PHYS.
'_ P. H. JAKOB
DIPL.-INQ.
G. BEZOLD
DR. RER. NAT. · OIPU.-CHEM.
MÜNCHEN
E. K. WEIL
DR. RER. OEC. INQ.
LINDAU
MÜNCHEN 22
. MAXIMILIANSTRASSE 43
P 8421
D/73751
4. Nov. 1974
XEROZ COEP.
Xerox Square, Rochester, ΪΤ.Υ. 14644, USA
Eingabe/Ausgabe~Einrichtung für einen Mikroprozessor
Die Erfindung betrifft Mikroprozessoreinrichtungen und insbesondere eine Eingabe/Ausgabe-Einrichtung für einen Mikroprozessor, welche dazu dient, Daten— und/oder Adressen-Information einer digitalen Datenverarbeitungseinrichtung zuzuführen und Ausgangs-Information von dieser Einrichtung zu erhalten.
ORIGINAL INSPECTED
509828/O448
Eingabe/Ausgabe-Einrichtungen oder Eingangs/Ausgangs-Einrichtungen stehen im allgemeinen mit Datenverarbeitungseinleiten über eine Eingangs/Ausgangs-Schiene in Verbindung, über welche Daten und Steuersignale geführt werden, die zur Anwendung und zum Betrieb der entsprechenden Einheiten dieneru Gewöhnlich werden Daten und Steuerinformation auf getrennten Schienen oder Verbindungsleitungen geführtj und solche Steuer- und Datensignale werden gewöhnlich in einem festen Steuerelement oder einem Datenregister innerhalb der Zentraleinheit festgelegt·
Gemäß einer bevorzugten Ausfuhrungsform der Erfindung ist ein Mikroprozessor vorgesehen, der einen Steuerspeicher zur Abspeicherung von Steuerworten an adressierbaren. Stellen aufweist, der weiterhin eine Einrichtung zur Adressierung des Steuerspeichers hat, der weiterhin eine erste, eine zweite und eine dritte Sammelschiene aufweist, der weiterhin eine Eingangs/Ausgangs-Einrichtung hat, die extern zu dem Mikroprozessor angeordnet ist und mit der ersten, der zweiten und der dritten Sammelschiene verbunden ist, der weiterhin eine Einrichtung aufweist, welche dazu dient, eine Operation des Mikroprozessors zu unterbrechen, der weiterhin eine Einrichtung hat, welche auf die Einrichtung zur Unterbrechung oder zur Modifizierung der Adresse des Steuerspeichers in eine gewünschte Adresse anspricht, der weiterhin eine Einrichtung aufweist, welche dazu dient, Eingangssignale auf die erste Schiene zu bringen, der weiterhin eine Einrichtung hat, um Eingangssignale auf die zweite Schiene zu bringen, und der eine Einrichtung hat, welche auf ein Steuerwort an der gewünschten Adresse anspricht, um die Eingangssignale.auf der ersten und der zweiten Schiene zu verwenden.
5098 28/0448
-■ 3 -
Gemäß einer weiteren bevorzugten Ausführungsform 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 ein adressierbares Element hat, welches mit der ersten und der zweiten Sammelschiene verbunden ist, der weiterhin eine arithmetische und logische Einheit aufweist, welche mit der ersten und der zweiten Sammelschiene verbunden ist, der weiterhin extern zu dem Mikroprozessor eine Eingabeeinrichtung aufweist, um Signale, auf die erste oder die zweite Sammelschiene zu bringen oder auf sowohl die erste als auch die zweite Sammelschiene, der weiterhin eine Einrichtung in der Eingabeeinrichtung aufweist, um ein Unterbrechungssignal zu liefern, um die Operation des Mikroprozessors zu unterbrechen, der weiterhin eine Einrichtung aufweist, um auf das.Unterbrechungssignal, zu antworten, der weiterhin in der Eingabeeinrichtung eine Einrichtung hat, um Daten auf die erste Sammelschiene und eine Adresse des adressierbaren Elementes auf die zweite Sammelschiene zu bringen, und zwar in Reaktion auf die Unterbrechungsantwort, und der eine Einrichtung hat, welche auf das Taktgebersignal-zur Speicherung von Daten an der adressierten Stelle der adressierbaren Einrichtung anspricht.
Gemäß einer weiteren bevorzugten Ausführungsform der Erfindung ist ein Mikroprozessor vorgesehen, der einen Steuerspeicher zur Abspeicherung von Steuerworten aufweist, der eine Taktgebereinrichtung zur Erzeugung eines Taktgebersignals hat, der weiterhin eine Adressenschiene und .eine Bestimraungsschiene aufweist, der weiterhin ein adressierbares Element hat, welches mit der Adressenschiene und der ' Bestimmungsschiene verbunden ist, der weiterhin eine Ein-
509828/04 4 8
gangs/Ausgangs-Einrichtung extern zu dem Mikroprozessor aufweist, welche dazu dient, eine Adresse auf die erste Sammelschiene zu bringen und Daten von"der Bestimmungsschiene aufzunehmen, der weiterhin eine Einrichtung hat,-welche auf das Taktgebersignal anspricht, um die Adresse auf das adressierbare Element zu übertragen, und der weiterhin eine Einrichtung hat, welche auf das Taktgebersignal anspricht, um den Inhalt des adressierbaren Elementes an.der adressierten- Stelle auf die Bestimmungsschiene zu bringen.
Gemäß einer weiteren bevorzugten Ausführungsform der Erfindung ist eine Eingangs/Ausgangs-Einrichtung vorgesehen, die über drei Schienen mit einem Zentralprozessor verbunden ist. Eine Schiene wird hauptsächlich dazu verwendet, Eingangsdaten zum Prozessor zu übertragen, die zweite dient hauptsächlich dazu, eine Adresse eines adressierbaren Elementes innerhalb des Zentralprozessors zu übertragen und die dritte dient dazu, Ausgangsdaten vom Zentralprozessor zu empfangen. Gemäß der Erfindung wird eine Anordnung geschaffen, die deshalb außerordentlich flexibel ist, weil die Schiene, welche normalerweise zur Adressierung eines adressierbaren Elementes innerhalb des Prozessors verwendet wird, zugleich auch zur Übertragung von Daten dient und keine der Eingangsschienen an einer bestimmten Stelle endet· Beispielsweise können Daten über beide Eingangsschienen geführt werden, auf welche in einer arithmetischen und logischen Einheit eingewirkt wird, und sie können dann zu der Eingangs/Ausgangs-Einrichtung auf der dritten Schiene übertragen werden. In einer alternativen Anwendungsform kann die. erste Schiene eine Adresse eines Speichers oder eines Registerelementes übertragen, welches, adressierbar ist, und die zweite Schiene kann Daten über-
-tragen, welche auf das adressierbare Element gebracht werden sollen. Weiterhin kann die Adressenschiene eine Adresse eines adressierbaren Elementes innerhalb des Prozessors liefern, von welchem Information entnommen werden kann und auf die Ausgangsschiene gebracht werden kann.
509828/0448
Die Erfindung wird nachfolgend beispielsweise anhand der Zeichnung beschrieben; in dieser zeigen: ·
Pig. 1 ein Gesaratblockdiagramm eines erfindungsgemäßen Prozessors,
Fig. 2 ein Blockdiagramm des Mikroadressgeneratorteils des Prozessors,
Fig. 3 ein Blockdiagramin 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 ©in. Diagramm eines dritten Informationsflußweges, bei welchem ein ΙΟ-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 ALU-Auswahlfeldes eines Mikrobefehls angibt, ,
Fig. 12 eine Tabelle, welche die Bit-^Pos it ions Zuordnungen der B-Schiene zeigt,
Fig.13 eine Tabelle, welche die Mikroprοgraminierung der Schienen-Quellen erläutert,
Fig.14 eine Tabelle, welche die Wort/Byte-Operation der Einrichtung darstellt,
Fig»15 eine Tabelle, welche die relative Adressierung der Einrichtung darstellt, wie sie in einem Mikrobefehl vorhanden is t »509828/0448
Fig. 16 ein Zeitsteuerdiagramm des einphasigen Basis-Taktgebers
und System-Taktgebers,
Fig. 17 ein logisches Blockdiagramm der Adressen-Dekodierlogik
für das 10- und das Unterbrechungssystem des Prozessors, Fig. 18 ein Zeitsteuerdiagramm für die Zeitsteuerung der A-
Schiene und der B-Schiene, .
Fig. 19 ein Zeitsteuerdiagramm für die Zeitsteuerung der G-
Schiene, .
Fig, 20 ein Zeitsteuerdiagramm einer typischen gemultiplexten
IO-Unt erbre chung,
Fig. 21 ein Blockdiagramm von IO-Moduleinheiten in einer ge-
muitiplexten 10- Unterbrechungs-Prioritätsreihe, Fig. 22 ein logisches Blockdiagramm der IO-Unterbrechungs-
Anforderungslogik der; erfindungsgemäßen Einrichtung, Fig. 23 ein logisches Blockdiagramm der IO-Einrichtungs-
adresse zu einer A-Schienen-Logik, Fig. 24 ein Blockdiagramm einer externen ZustandeIogikschaltung,
Fig. 25 ein Zeitsteuerdiagramm einer externen Zustands-Zeitsteuerung,
Fig. 26 ein Blockdiagramm einer Anforderung für eine schnelle
Unterbrechung und die Antwort zu dem/von dem Prozessor, Fig. 27 ein Zeitsteuerdiagramm einer schnellen Unterbrechung
. für eine einzelneIatenübertragung, Fig.- 28 ein Zeitsteuerdiagramm einer schnellen Unterbrechung
für eine Vielfach-Datenübertragung, Fig.. 29 ein Blockdiagramm, welches wesentliche Elemente von DMA
darstellt, . ·
Fig. 30 ein Blockdiagramm einer Anordnung eines Mehrfach-Ein-
richtungsmodus des erfindungsgemäßen Prozessors, Fig. 31 ein Blockdiagramm der Prioritätssteuerlogik der Einrichtung,
Fig. 32 ein Blockdiagramm der Anforderungssteuerlogik, Fig. 33 ein logisches Blockdiagramm der B-Schienen-Steuerlogik, •Fig. 34- ein Zeitsteuerdiagramm einer Prioritätssteuerung der
Einrichtung für eine schnelle Unterbrechung, 5 098287 ÖjU8
Fig. 35 ein Blockdiagramm der IO-Schiene des erfindungs-
gemäßen Prozessors, Fig. 36 ein Blockdiagramm,, welches die IO-Aktivierungs-
Steuerlogik darstellt, , ·
Fig. 37 ein Zeitsteuerdiagramra des IO-Aktivsignals, Fig. 38 ein Blockdiagramm der Multiplexer-IO-Unterbrechimg
und
Fig. 39 ein Zeitsteuerdiagramm einer gemultiplexten ΙΟ-Unter-■brechung.
In einer bevorzugten Ausführungsform kann eine mikr&programmierte Datenverarbeitungseinrichtung bzw. ein mikroprogrammierter Datenprozessor aus einer Einrichtung bestehen, welche allgemein derart organisiert ist, daß sie einen Aufbau mit drei Sammelschienen aufweist, wobei die betrieblichen Yerarbeitungseinheiten mittels einer Drei-Status-Logik: zwischen den Sammelschienen angeordnet sind.
Die Drei-Status-Logik ermöglicht es jeder Einheit, eine hohe Impedanz entweder zu treiben, von den Sammelschienen zu empfangen oder den Sammelechienen zu bieten, und zwar unter der Steuerung eines MikroSteuerregisters.
Die Fig. 1 stellt eine solche Anordnung dar, in welcher die Sammelschiene A, die Sammelschiene B und die Sammelschiene G 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 0 und mit ihrem Ausgang mit den Sammelschienen A und B verbunden. Gemäß IPig. 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/0448 .
können in gleicher V/eise mit dem vorzugsweise vorgesehenen 8-Bit-Registerblock für die Bits mit höchstem Stellenwert die resultierenden 16-Bit-Worte direkt auf die Sammelschiene A oder die 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, v/ä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 Makrobefehissatz eines Computers entsprechen, der emuliert werden soll.
Ein Hauptspeicher.16 und ein Hilfsspeicher bzw. Arbeitsspeicher 18 sind jeweils in der Weise dargestellt, daß sie Daten von der Sammelschiene A und eine Adresse von der Sammelschiene B empfangen· Das Speicherausgangssignal wird der bei 3 dargestellten Sammelschiene C zugeführt. Der Arbeitsspeicher 18 kann dazu verwendet werden, als Zwischenspeicher jenseits der Grenzen der 8 allgemeinen Register zu dienen oder für andere Zwecke, die nachfolgend erläutert werden. Der Hauptspeicher kann dazu verwendet werden, Daten zu speichern, Ergebnisse zu speichern, Mikrobefehle zu speichern, welche auf die Übertragung zu einem variablen Steuerspeicher warten, oder auch zur Speicherung von Mikrobefehlen, wenn die Einrichtung in einem EiQulationsmodus verwendet wird, um den Makrobefehlssätz einer anderen Datenverarbeitungseinrichtung zu emulieren.
Zu den MikroSteuerelementen der Einrichtung gehört das Mikroadressenregistei 20, der Steuerspeicher 22, der entweder als Speicher ausgebildet sein kann, aus welchem nur ausgelesen
609828/0448 "■
werden kann, und/oder als Speicher mit Direktzugriff., und es gehört weiterhin dazu das MikroSteuerregister 24, welches den laufenden Mikrobefehl enthält, während er gerade ausgeführt wird· Weiterhin gehören zu den Mikrosteuerelementen eine Reihe von Multiplexern 26, 28, 30, 32, 34 und 36. Die. Multiplexer werden in erster Linie dazu verwendet, zwischen verschiedenen Adressen/Daten-Informationsbitbreiten zu übersetzen. Ein Rückstellstapel 38 und einT Stapelzeigerzähler 40 gehören ebenfalls zu den Mikrosteuerelementen, und deren Punktionen 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 Ausgangsmultxplexern 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 Sam-.melschiene 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 Punktion, 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·Befinition der Mikrobefehlsfelder wird unten gegeben.
SQ9828/0448 -
» I lilt
- 12 .-
Aus der Pig. 1 ist ersichtlich, daß die Mikrobefehle1-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 werden 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 AI/U· 44 gekennzeichnet ist, können unverzüglich durch ein Eingangs/Ausgangsregister 4 der Eingangs/Ausgangsschiene 6 zugeführt werden oder können stattdessen in einem allgemeinen Register 10 abgespeichert werden, um für eine zukünftige Verarbeitung in der Maschine bereitzustehen. In ähnlicher Weise kann eine Information von dem Zwischenspeicher/Hauptspeicher (18,16) der Eingangs/Ausgangsschiene 6 oder einem allgemeinen Register 10 zugeführt werden..
Das allgemeine Register 10 kann dazu verwendet werden, Daten zwischen der bei 3 dargestellten Schiene C und der bei 1 dargestellten Schiene A oder der bei 2 dargestellten Schiene B zu puffern, und zwar zu einer weiteren Verarbeitung der Speicherung in der Maschine. In ähnlicher . Weise kann die Einheit 44 (AI/U) 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 G 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 Haschinenausnutzung mit hohem Wirkungsgrad. Ofe~ wohl 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/0448
dem MikroSteuerregister 24 zu jeder der Einrichtungen vorhanden sind, welche Zugriff zu einer oder zu mehreren der Sämraelschienen haben.
Weiterhin ist ersichtlich, daß der"verallgemeinerte Aufbau mit drei'Sammelschienen die Möglichkeit schafft, zusätzliche Funktionen einzuführen, wenn dazu eine Notwendigkeit besteht, beispielsweise eine Hochgeschwindigkeits-Multiplizier/Dividierroutine, eine Quadratwurzelroutine, eine Routine für trigonometrische Punktionen und Kodeumviandlungen. Das Hinzufügen eines Übersetzers 15 gemeinsam mit einem Emulationsprogramm im Steuerspeicher ermöglicht es, .daß die Einrichtung einen Gomputerbefehlssatz emulieren kann.
Drei Typen von Information sind in dem System vorhanden. Das Grundelement der Information ist ein 16-Bit-Wort, in welchem die Bit-Positionen von 0 bis 15 folgendermaßen numeriert sind:
Byte 0
Byte 1
CT123I4567 0 12314567
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" X1SA1. Hexa-. dezimalzahlen werden im allgemeinen dazu verwendet, Adressen und Datenwerte darzustellen. Es gibt jedoch auch Fälle,: in
. 509828/0448
welchen Dezimalzahlen aussagekräftiger oder geläufiger sind. In der vorliegenden Beschreibung werden auch Festkommadaten als Zweierkomplement dargestellt, und zv/ar als ganze Zahl mit 15 Bit und einem Vorzeichenbit in der Ilullposition. Bei logischen Operationen ist angenommen, daß ein logischer? Datenwortformat aus 16 Bit ohne Vorzeichen besteht.
Eine zweite Klasse von Information innerhalb" dös Systems int die Mikroadresse. Die Mikroadresse weist 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, wenn eine Mikroadresse über eine der drei Sammelschienen 1, 2 oder 3 geführt wird, so nimmt sie die 12 Plätze mit dem geringsten Stellenwert der 16-Bit-Plätze jeder Schiene ein.
Die dritte Klasse von Information im System ist der Mikrobefehl, der 32 Bit lang ist. Der Steuerspeicher 22 und das MikroSteuerregister (MOR) 24 arbeiten beide auf einer 32-Bit-Basis. Wenn ein Mikrobefehl über eine der Sammelschienen geführt wird, wird er in 16-Bit-Abschnitten verarbeitet. Der Informationsfluß innerhalb der Einrichtung kann in vier Kategorien beschrieben werden, die als Mikroadresse, Mikrobefehle, Daten und Unterbrechung bezeichnet werden.
Das Grundformat des Mikrobefehls ist ein 32-Bit-Format, welches in 11 Mikrooperationsfelder unterteilt ist, wie es unten gezeigt wird. Dieses Format wird in einem späteren Absatz dieser Beschreibung ausführlich beschrieben·
E/AModus
RA Auswahl
A. L U Modus
RB Auswahl
Schiene Steuerg.
B-
Schiene Steuerg
Schiene/ Register Steuerg»
Verzweig. Steuerg.
MuIt uOP Feld 1
MuIt
uOP
Feld 1
MuIt uOP Feld 3
S09828/044B
Der Mikroadresseninformationsfluß ,ist allgemein in der Fig.2 dargestellt. Es ist jedoch zu bemerken, daß zusätzlich eine Taktgebereinrichtung 50 vorhanden ist, welche gemäß der Darstellung die Einheit MAE 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 Steuerspeicherplatja auszuwählen, in welchem ein Mikrobefehl gespeichert wird· Die Mikroadresse in der Einheit MAR 20 kann auf zwei Arten modifiziert werden:
1. Sie kann auf die nächste Mikroadresse durch den Taktgeber erhöht werden.
2· Es kann auf eine andere Mikroadresse gesprungen werden, die von der Sammelschiene G geliefert wird.
Für die nachfolgende Beschreibung sei darauf hingewiesen, daß. dortj 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 gemultiplexfc werden, nämlich von der Sammelschiene A, von der
509828/0448
Sammelschiene B und von der Unterbrechunglogik* Die Unterbrechungslogik 52 erzeugt eine Mikroadresse, welche jeder Unterbrechung entsprichto
Wenn eine unmittelbare Adresse verwendet wird und-erwünscht ist, nur das Mikroadressenregister 20 zu erhöhen, werden die Bits 20 bis 31 von dem MikroSteuerregister 24 direkt als die nächste Mikroadresse verwendete Gleichzeitig wird diese unmittelbare Adresse über die Sammelschiene A über die arithmetische und logische Einheit (ALU) 44 geführt, und zwar, nachdem eine Eins addiert wurdeο Das Ergebnis wird über die Sammelschiene C dem Eingang der Einheit MAR 20 zugeführt« Der nächste Systemzyklus führt dazu, daß dieser Wert in die Einheit MAR 20 eingegeben wird? wodurch kontinuierliche gleichzeitige Zyklen von Holen und Ausführen durch das System ermöglicht werden* .Eine relative Mikroadressierung wird unten im einzelnen erläutert ο ' .
Die laufende Mikroadresse in der Einheit MAR 20 kann in dem Rückstellstapel 38 gespeichert werden und durch eine Mikroadresse von der bei 3 dargestellten Sammelschiene C 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 gespeicherts wobei 6 Status-Bits in'den Rückstellstapel eingegeben werdeno
Nachfolgend wird der Befehlsfluß erläuterte Die Mikrobefehle werden im Steuerspeicher .gespeicherte 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 Speichere Zusätzlich kann ein getrennter Speicher dazu verwendet werden, solche Punktionen wie eine Diagnose und eine Feldvarifikätion durchzuführen.
Die Mikrobefehlbeh.and.luns ist in der Fig. 3 dargestellt. Wenn eine Adressierung durch, eine Mikroadresse erfolgt, wird der Mikrobefehl vom Steuerspeicher 22 oder 23 über einen 2-zu-1-Multiplexer 32 dem MikroSteuerregister MGR 24 zugeführt. Ein Mikrobefehl kann auch die Einheit MCR 24· von einer -Wartungssteuertafel über die Sammelschiene G bei 3 und den zugehörigen 2-zu-1-Multiplexer 30 in 2 16-Bit-Inkrementen erreichen.
Im Falle des Steuerspeichers 23 mit Direktzugriff kann ein neuer Mikrobefehl an den Speicherplatz geschrieben werden, welcher von der Mikroadresse angesprochen wurde.' Der neue Mikrobefehl wird gemäß Fig. 3' in zwei i6~Bit-Inkrementen von der bei 1 dargestellten Sammelschiene A über die 16-Bit-Leitung erhalten. Ein Mikrobefehl, kann von einem beliebigen Steuerspeicher über einen 2-zu-1-Multiplexer 30 in zwei 16-Bit-Inkrementen der bei 3 dargestellten Sammelschiene C nach dem Auslesen zugeführt werden·
Von der Einheit MCR 24 wird der Mikrobefehl dekodiert, um Steuersignale' zu liefern, welche den Datenfluß durch das System steuern, wie es unten beschrieben wird. Wenn die letzten. 12 Bit des Mikrobefehls als unmittelbare Mikroadresse verwendet werden, so werden sie mittels der in der Fig. 3 dargestellten 12-Bit-Leitung auf die bei 1 dargestellte Sammelschiene A gegeben. In ähnlicher Weise werden dann, wenn die letzten 8 Bit des Mikrobefehls als ein Sendefeld verwendet werden (welches unten erläutert wird) diese Bits auf die bei 2 dargestellte Sammelschiene B gegeben. Die drei Bits, welche die Bit-Umschaltung/Stelle festlegen, werden in der Dekodiereinrichtung 42 dekodiert und auf die Sammelschiene B gegeben·
Hinsichtlich der Zeit wird der erste Mikrobefehl von dem Steuerspeicher 22, 23 gelesen. Wenn dieser Mikrobefehl unter entsprechender zeitlicher Steuerung in die Einheit MGR 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 /0448
Da in der Taktgebereinrichtung keine Phasen vorhanden sind, wird diese neue Adresse dem Steuerspeicher 22 unmittelbar zugeführt, welcher den nächsten Mikrobefehl liest-, der dem Eingang von MGE 24 zugeführt wird» Der nächste Taktgeberimpuls sichert das Datenergebnis-Eingangssignal und führt es der Einheit MCE 22 zu9 und zwar zum neuen Mikrobefehl, der bereits gewartet hat, und die Einheit MAR wird auf MAR+1 erhöht. Dieser Vorgang wird fortgesetzt, bis eine andere Mikroadresse als eine Folgeadresse gebraucht wird«
Nachfolgend wird der Datenfluß erläutert„· Der Datenfluß-geht durch eine Anzahl von Wegen und Register, dazu gehören die arithmetische und logische Einheit ALU 44, die allgemeinen Register 10, die Eingangs/Ausgangs-Moduln . verschiedener Arten 4, der Zwischenspeicher 18, der Hauptspeicher 16 und der Befehlsübersetzer 15» wenn eine solche Einrichtung verwendet wird, um eine Emulation von Computermakrobefehlen zu liefern«
Die Einheit AlU 44 nimmt ein Byte oder ein Wort von der Sammelschiene A und der Sammelschiene B auf, führt arithmetische oder logische Operationen mit den zwei Operanden durch und gibt das Ergebnis über eine'Rotation/Byte-Auswahllogik 48 an die bei 3 dargestellte Sammelschiene C9 wie es in der Fige 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 Mikrooperationsfeider dargestellt ist. Eine der 16 arithmetischen un,d logischen Operationen wird durch die vier Auswahlleitungen ausgewählt (welche als zweites und viertes der MikroOperationsfelder
509828/0448
des Diagramms dargestellt sind.), und ζνπ,ν bei einem Übertrag Cn, wobei eine "Eins" den Ergebnissen addiert wird.
Das ALU-Ergebnis kann um ein Bit nach links oder nach rechts verschoben werden oder direkt auf die Sammelschiene C übertragen v/erden. Weiterhin kann auch das. rechte Byte der Ergebnisse in das linke Byte der Sammelschiene G gebracht v/erden.
Die allgemeinen Register 10 liefern eine Quelle für die bei 1 dargestellte Sammelschiene A und die bei 2 dargestellte Sammelschiene B und die Bestimmung für die bei 3 dargestellte Sammelschiene C, wie es in der Fig'. 4 dargestellt ist. Beispielsweise können die A- und die B-Operanden für die Einheit ALU 44 von den allgemeinen Registern 10 genommen werden, und die ALU-Ergebnisse können in einem allgemeinen Register gespeichert werden.
Weiterhin kann zu dem Wert auf der Sammelschiene B Eins addiert werden, oder es kann davon Eins subtrahiert werden, und das Ergebnis wird in einem der allgemeinen Register gespeichert. Diese Punktion wird durch die 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.
Fachfolgend 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 dem höchsten Stellenwert eines Bytes (Bit 8).
509828/0448
Überlauf: Eine arithmetische Operation auf A- und B^Opsranden führt zu einer Zahl, welche größer ist als die größte Zahl, welche in dem vorgegebenen Raum verarbeitet werden kann .(Wort oder Byte). Beispielsweise tritt zusätzlich ein Überlauf auf, wenn die Summe von zwei positiven Zahlen negativ .ist oder wenn die Summe von zwei negativen Zahlen positiv ist, wobei das Format eines Zweierkomplements verwendet wird. In ähnlicher Weise tritt bei der Subtraktion ein Überlauf auf, vrenn die Subtraktion einer negativen Zahl von einer positiven Zahl eine negative Zahl ergibt oder wenn die Subtraktion einer positiven von einer negativen Zahl eine positive Zahl ergibt. Der Überlauf wird als Statusbit im Register 62 angezeigt.
Die Sammelschiene C ist gleich 0: Alle Bits der Sammelschiene C sind gleich 0. Dieses Statusbit wird im Register 60 geführt.
Vorzeichens 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 ill 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/0448
2. Übertragen auslaufender Daten von der Sammelschiene C zum -Ausgang.
3. Annehmen gemultiplexter allgemeiner Unterbrechungen und Anordnen ihrer Identifikation auf der Sammelschiene A.
Der Eingang/Ausgang wird in einem späteren Teil der Beschreibung ausführlich beschrieben.
Nachfolgend wird der Zv/ischenspeicher/Hauptspeicher erläutert. Gemäß Fig. 1 werden Daten von der Sammelschiene A in den Zwischenspeicher 18, den Hauptspeicher 16 gebracht, und zwar an der Stelle, welche durch die Sammelschiene B adressiert ist. Daten werden von dem Zwischenspeicher 18 auf die bei 5 dargestellte Sammelschiene 0 übertragen, bzw. auch aus dem Hauptspeicher 16, und zwar von einem Speicherplatz, welcher durch die Sammelschiene B adressiert ist.
Nachfolgend wird der Übersetzer beschrieben. Der Übersetzer 15 versetzt die Einrichtung in die I«age, einen Computerbefehlssatz zu emulieren. Dies stellt die Einrichtung dar, welche dazu dient, einen Makrobefehl zu übersetzen, der von der Sammelschiene C genommen wurde, und zwar in einer Mikroadresse 0, welche auf der Sammelschiene A angeordnet ist, wobei ein Zugriff auf den ersten aus einer Reihe von Mikrobefehlen im 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 Wartiingssteuertafel beschrieben. Die (nicht dargestellte) Wartungssteuertafel weist Steuer- und Anzeigeein-
509828/0448
~ 2? —
■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 G gegeben werden oder (1.2 Bits) in dem Mikroadressenregister. Unterbrechmigs- und Statusbits werden kontinuierlich angezeigt. Der Registeroder der Sammelschieneninhalt kann jeweils alternativ angezeigt werden. Die Wartungssteuertafel wird in einem späteren Abschnitt in v/eiteren Einzelheiten erläutert.
Nachfolgend wird der Informationsfluß zusammenfassend erläutert. Der Informationsfluß ist derjenige Weg, welchen Daten von einem allgemeinen Register durch einen Funktionsblock zurück zu einem allgemeinen Register nehmen. Eine vereinfachte Darstellung dieses Flußes ist in der Fig. 5 gegeben.
Der erste Pegel der Verknüpfung (Multiplexer 56) wählt aus, welches Register mit den Quellenschienen A und B verbunden werden soll.
Der zweite Pegel der Verknüpfung (Byte-Auswahlgatter 46a, 46b) wählt aus, welches Byte auf den Sammelschienen A und B der Einheit ALU 44 angeboten werden soll, damit eine Punktion ausgeführt wird.
Der dritte Pegel der Verknüpfung (Shift/Byte-Auswahl 48) wählt aus, ob der Ausgang von der Einheit ALlT 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 Älternativweg ist in der Fig.6 dargestellt.
509828/0448
In der Fig. 6 wählt der erste Verkriüpfungspegel (Multiplexer 56) aus, welches Register als Datenregister verwendet werden soll (Sammelschienen A und 0) und welches Register als das Speicheradressenregister (Sammelschiene B) verwendet werden soll.
Der zweite Verknüpfungspegel und der dritte Verknüpfungspegel werden beide gesperrt (durch die Verwendung der oben bereits diskutierten Drei-Status-Logik getrennt), so daß der Ausgang des Hauptspeichers direkt mit der Sammelschiene C verbunden werden kann (Registerbestimmungsschiene).
Der dritte mögliche Informationsweg ist in der Fig.7 dargestellt. Der erste Verknüpfungspegel für die Sammelschiene A (Multiplexer 56) wählt anstatt eines allgemeinen Registers 10 als Quelle ein Eingang/Ausgang-Register 4, welches mit der Sammeischiehe A verbunden werden soll. Der erste Verknüpfungspegel für die Sammelschiene B fet dazu frei, ein allgemeines Register auszuwählen, welches an die Sammelschiene B geführt v ■ 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 10 oder vom Hauptspeicher 16 zu dem Eingang/Ausgang-Register 4. Der dritte Verknüpfurigspegel 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/0448
45225
Figo 8 dargestellt, und zwar in der Reihenfolge der Priorität von J 0V bis X "A1O Jede Mikroadresse zeigt auf einen Mikrobefehl 9 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 werdeno
Die Unterbrechungen bilden die folgenden Funktionen?
Leistung Anas Ein logisches Signal von der Energieversorgung, welches anzeigt, daß ein Verlust an Eingangsenergie bzwo Eingangs leistung vorliegt^, und zwar in einer kurzen Zeitperiode nach dem Abfall der Eingangsenergieο Die Energieversorgung kann derart ausgebildet sein9 daß eine ausreichende Speicherung in der E&ergieversorgung vorhanden ist derart, daß-die Spannung.nicht axis der Hegelung herausgeht9 bis einige Zeit verstrichen ist, nachdem die Unterbrechung aktiviert wurdeo
leistung Eins Ein logisches Signal von der Energieversorgung, welches anzeigt9 daß die leistung bzw0 Energie eingeschaltet
Schnelle Unterbrechung Eins? Ein logisches Signal von der Eingang/ Ausgang=>Anpass einrichtung 4, direkt zum Unterbrechungsregister nnd in erster Linie dazu verwendet, eine Hochgeschwindigkeits=· Datenübertragung zu/von der Anwendungslogik über die Eingangs/ Ausgang-Anpasseinrichtung 4 durchzuführen, und zwar von/zu dem Zt"7iseh@&spei©her/Hauptspeieher Ί69 18O Das Unterbrechungs register üTbarträgt" ©ine Reaktion der geräteteehnischeii Einrichtung su der lingang/Ausgang-=Anpasseinrichtung
Seiinell® Unterbrechung Zwei» Dieselbe wie schnelle Unterbrechung
lias 5 mit eier Ausnahme einer geringeren Prioritäto Eine der n-Unterbrechungen kann dasu verwendet werden, Baten
einzugeben, während die andere dazu verwendet wird, Daten auszugeben« Die schnellen Unterbrechungen werden in einem späteren Abschnitt beschrieben.
Eingang/Ausgang: Ein logisches Signal, welches anzeigt, daß eine gemultiplexte Eingang/Ausgang-Unterbrechung auf einer oder mehreren der Eingang/Ausgang-Anpasseinheiten ansteht. In Reaktion auf das Signal fordert der Systemprogrammierer den Eingang/Ausgang-Modul 4- mit der höchsten Priorität, wobei eine Unterbrechung an~ steht, 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 Ladungsroutirte 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 zv/ar 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 werden in der Mikrobefehls-Dekodiereinrichtung 4-2 dekodiert (siehe Fig.1), um Steuersignale zu liefern, und zwar für alle Elemente des
509828/0448
452255
Systems, Das Mikroprogramm wird in dem Steuerspeicher 22 gespeichert« Während der Ausführung eines speziellen Mikrobefehls wird dieser Mikrobefehl in dem MikroSteuerregister MGI? 24-gehalten.
Die in der Fig« 9 dargestellte Konfiguration läßt sich in folgenden Feststellungen zusammenfassen?
Sammeis chiene, A(0-15)
ACO-7)
A(8-15)
B(0-15)
B(Ö-7)
B(8-15)
0(0-15)
0(0-7)
0(8-15)
10(0-15)
10(0-7). 10(8-15)
Register,
10Rn (0-15) GRn(O-I5) MAR(O-H) MCR(0-31) IR(0-6) SR(0-6) PSn(0-i7) T(O-I5)
Speicher,
Steuerspeicher
A-Schiene
Linkes Byte, A-Schiene Rechtes Byte, A-Schiene B-Schiene
Linkes Byte, B-Schiene Rechtes Byte, B-Schiene ; C-Schiene
Linkes Byte,■C-Schiene Rechtes Byte, C-Schiene Eingang/Ausgangs-Schiene Linkes Byte, IO-Schiene Rechtes Byte, IO-Schiene
Eingang/Ausgang-Register Allgemeines Register 0-7 Mikroadressenregister MikroSteuerregister Unterbrechungsregister Status regis ter Rückstellstapel 0-15 Übersetzer
CM· CM· CM·
-RAM(MAM) = CM(O-1O24, O-31) -ROM(MAM) = CM(0-4096, O-31) -EAROM(MAM) ■■
509828/0448
Feldverifikation, B1V(MAM) Zwischenspeicher, SP(B) ' Hauptspeicher, M(B)
Taktgeber, Phi oder
Weitere Terme:
ALU ALU-A ALU-B ALUM ARG Cn DA
ΙΟΙ IOM MAM MOP
Vn
CM(X1IOO'-χ 1FPF1, 0-31) SP(O-1O24, 0-15) ~-~- MM(0-65,536, 0-15)
Ein-Phasen-Taktgeber (ein Taktsignal entfällt, für Hauptspeicher-.Zugriffe)
Arithmetische Logikeinheit A-Operandeneingänge nach ALU B-Operandeneingänge nach ALU ALU-Modus
Argument vom Übersetzer Eintragen in ALU Einrichtungs adresse Unterbrechung
Eiiigang/Ausgang-Unterbrechung Eingang/Aus gang-Modus Speicheradres s enmultiplexer Wartungssteuertafel Statusbit
Vektor η vom Übersetzer (eine Mikroadresse)
Nachfolgend werden die Mikrofelder für einen einzelnen Zweck erläutert. Die spezifische Funktion, für sich genommen, jedes Einzelfeld-Mikrooperationskodes wird festgelegt· Wenn es nicht anderweitig festgelegt ist, nimmt die Ausführung jedes Mikrobefehls eine Taktgeberperiode bzw. eine Zykluszeit ein, .und jeder Mikrobefehl bringt das Statusregister auf den neuesten Stand.
Eingang/Ausgang-Modus: Der Eingang/Ausgang-Modus (IOM) wählt die allgemeinen Register 10 oder die Singang/Ausgang-Daten 4.
ΚΑ-Auswahl: Wenn äer Singang/Ausgang-Modus falsch ist, ist HA-
'SO 8-8 2 8.7 0 4 4-8
ζ 7 7 %
Q 4 <C Ό
- 28 - j : i
die Adresse eines allgemeinen Registers 1O5 welches die Datenquelle für die Sammelschiene A sein sollo
Wenn der Eingang/Ausgang-Modus wahr ist, sind RA-Ausxmhl 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 sollo (Wenn keine spezielle Sperrung erfοIgt,. bildet dieses Feld einen allgemeinen Registeroder Eingang/Ausgang-Modul zu der Sammelschiene A)ο. Eine Samme1-Schienensteuerung ist erforderlich, um den Auswahlvorgang zu vervollständigen
ALU-Moduss Der ALU-Modus bringt die arithmetische Logikeinheit 44· dazu, arithmetische Funktionen auszuführen, wenn der Zustand "falsch" vorhanden ist, und bringt sie dazu, logische Funktionen auszuführen,, wenn der Zustand "wahr" vorliegt.= Dieser Modus wird ■unten in ¥erbindung mit der ALU-Auswahl näher diskutierte
RB-Auswahls Die RB-Auswahl ist die Adresse eines allgemeinen Registers 4-, welches die Datenquelle für die Sammelschiene B sein soll« Zusätzlich wird dann9 wenn I0M 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 wird9 der mit BifcSchaltung/Stellung überschrieben ist« Eine Steuerung für die Sammelschiene B ist erforderlich, um den Auswahlvorgang· abzuschließen
A-Steuerschienen-Steuerungs Eine Steuerung für die A-Samme-1-schiene betrifft die Daten9 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 werdeno
08828/044
0 . Inhalt des allgemeinen Registers 10 oder die Eingang/ Ausgang-Daten des Moduls 4, wie sie durch ΙΟ-Modus, durch RA-Auswahl und durch Einrichtungsäuswahl spezifiziert sind, werden der Sammelschiene A zugeführt. Beide Bytes von der Sammelschiene A werden dem Α-Operanden von ALU-44 zugeführt. Beide Bytes der Sammelschiene A können in den Hauptspeicher 16 eingeschrieben oder aus demselben ausgelesen werden.
Wenn IOM = 0, dann A(O~15) ζ— GRn(0-i5), andernfalls A(0-15 <— I0n(0-15) ALU-A(O-15 <— A(O-15)
Wenn Verzweigungssteuerung = x'21, dann 0(0-15) <£— MM(O-15)(B) Wenn Verzweigungssteuerung = x'3', dann MM(0-15)(B) ^— A(0-15)
1 Inhalt des allgemeinen Registers 10 oder die Eingang/Ausgahg-Daten des Moduls 4-, wie sie durch IO-Modüs, RA-Ausiiahl 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(O-15) £—GRN(0-15), andernfalls A(0-15) ^— I0n(0-15) ALU-A(8-15) <:— A(0-7) ; ALU-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 IO-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/0448
452255
Wenn IOM = 0, dann A(O-15) *— GRn(O-15), andernfalls A(O-15) ^~~- I0n(0-15) ALU~A(8-15) <— A(8-15); ALU~A(0-7) *r— 0 Wenn Verzweigungssteuerung = x'2's dann C(8-15) ~— MM(8-15)(B) Wenn Yerzweigungssteuerung = 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 werden dem Α-Operanden von ALU 44 zugeführt«. Übertragung eines Registers 10 zu der Sammelschiene A ist gesperrt» A(4-15) ^-r MAR(O-H); . .
ALU-A(0-15) ■<—- A(0-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 MGR 24 übergangen werden: = χ'3'ί Lesevektor 1 an Sammelschiene A vom Übersetzer 15»
• · ' ' MCR-Steuerung
= x'5't Lesevektor 2 an Sammelschiene A vom Übersetzer 15»
MCR-Steuerung a X1E1, Leseunterbrechungsadresse an Sammelschiene A und C-Sammelschiene/Registersteuerung = x'B', unmittelbare Adressierung für MAR.
B-Sammelschienensteuerungt Die B-Sammelschienensteuerung bezieht sich auf die Quelle der Daten, welche auf die B-Schiene gebracht worden, und auf die Bytes, welche den B-Operandeneingängen von ALU 44 zugeführt werden.
0 Inhalt des allgemeinen Registers 10, welcher durch RB-Auswahl spezifiziert ist, wird auf die Sammelschiene B gebracht; beide Bytes der B-Schiene 90 zu ALU-44.
B(0-15) t— GRn(O-I5)
ALU-B(O-15) <— 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/0448
B(O-15) 4— GBn(O-15) ~' ~"~~
ALU-B(8-15) <r.— B(0-7)
ALU-B(0-7) «J Ο
2 Inhalt des allgemeinen Registers 10, der durch RB-Auswahl spezifiziert ist, wird auf die -Sammelschiene B gebracht; die rechten Bytes der B-Schiene gehen zu ALU 44, und zwar rechtsbündig*
B(0-15) ς— GRn(O-15)
AIrü-B( 8-15) i BC8-15)
ALU-B(0-7) χ— 0
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 lalle wird das rechte Byte der B-Schiene AIfU 44 rechtsbündig zugeführt.
Wenn IOM = 0 dann B(8-15) *?— MOR (24-31), sonst B(8-15) r— 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·
Ö-Schiene/Register-Steuerung: Das Ö-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/Dekreraentieren bzw. Erhöhen/Erniedrigen des Wertes auf der B-Schiene erfolgt und er einem allgemeinen Register
509828/0448
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-Mc-dulh 4·, welche durch den ΙΟ-Modus, durch RA-Auswahl und durch Einrichtung-Auswahl festgelegt sind, werden die übertragenen Bytes durch eine A-Schienen-Steuerung gesteuert. Im Falle von Übertragungen von der C-Schiene zu den allgemeinen Registern 10, welche durch RB-Auswahl ausgewählt wurden, werden die Übertragenen Bytes durch die B-Schienen-Steuerung gesteuert.
Übertragungen von den allgemeinen Registern 10 oder den Eingang/ Ausgang-Moduln 4 zu der Α-Schiene werden dadurch nicht beeinträchtigt, daß die C-Schiene/Registersteuerung = χ 1B1 die Übertragungen zu der Α-Schiene sperrt, weil die Α-Schiene durch die unmittelbare Adresse verwendet wird. Für andere Werte des C-Schiene/Registersteuerfeldes sind Übertragungen von den allgemeinen Registern oder von den Eingang/Ausgang-Moduln zu der Α-Schiene immer aktiviert.
Darüberhinaus werden Übertragungen von den allgemeinen Registern 10 zu der B-Schiene nicht beeinträchtigt durch das C-Schiene/ Registersteuerfeld. Mit anderen Worten, diese Übertragungen sind immer aktiviert, soweit dieses Feld betroffen ist.
C-Schiene/Register-Steuerfunktion:
x'O1 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/Ausgattg-Modul zu der A-Sehiene und von einem allgemeinen Register zu der B-Schiene stattfinden. (Übertragungen von einem allgemeinen Register zu der Ä-Schiene können durch das C-Schiene/Register-Sireuerfeld gesperrt werden, jedoch nicht aktiviert werden.)
50 98 28/044S '
- 33 - ι ·
0(0-15) f— ALU(0-15) -- ~-~-"
χ·' 1 'C-Sehiene zu MAR. Diese überträgt die 12 Bit mit dem geringsten Stellenwert auf der C-Schiene zu dem Mikroadressenregister 20 auf das Taktsignal, welches auf-den Mikrooperationskode folgt.. Das Statusregister wird nicht auf den neuesten Stand gebracht, sein Inhalt wird jedoch aufrechterhalten. Dann wird der Mikrobefehl, welcher der Mikroadresse entspricht, welche in die Einheit MAR 20 übertragen wird, in das MikroSteuerregister 24- übertragen, und zwar auf das zweite Taktsignal hin, welches auf den Mikrooperationskode folgt und für die Ausführung während der dritten Taktsignalperiode verfügbar ist. Somit nimmt die Ausführung dieses MikroOperationskodes zwei Taktperipden ein.
0(0-15) i— ALU(O-15)
MAR(O-H) ^— 0(4-15) .PHIn
NAM(O-H) « MAR(O-H)
. MOR(O-31) ^- 0M(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 Mikrqadresse erfolgt. Dies bedeutet im einzelnen:
509828/0448
a. Das C-Schiene/Register-Steuerfeld des laufendeif -Mikro- . befehls ist gleich xM ' oder x'9'j mit C-Schiene an MAR 20, oder
b. das Verzweigungssteuerfeld des laufenden Mikrobefehls spezifizierte einen Test/Verzweigungs-Mikrooperationskode oder ein Zurückstellen, oder
c. ein schneller Unterbrechungs-Mikrobefehl im Steuerspeicherplatz x'0061 oder x'007' wird gerade ausgeführt.
x'21 verwenden RA-Auswahl-Einrichtungsauswahl, ΙΟ-Modus und A-Schienensteuerung als Wegadresse. Wenn die A-Schienensteuerung = 1, wird das rechte Byte vom 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 C-Schiene übertragen. Pur eine A-Schiehen-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, wird das rechte Byte der C-Schiene zu dem Register 10 übertragen. Für eine A-Schienen-Steuerung = 3 werden 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 IOM = 0 dann GRn(O-15) 4—- 0(0-15) andernfalls
I0n(0-i5) τ— 0(0-15) 1i Wenn IOM = 0 dann Grri(0-7) t—■ 0(0-7) andernfalls • ' IOn(0-7) "^-^ 0(0-7)
2: Wenn IOM =» 0 dann GRn(8-15)'-ζ— 0(8-15) andernfalls
:f'l0n(8-15) V— 0(8-15) ,
|i GRn(O-15)—"0(0-15)
509828/0448
x'31 verwendet RB-Auswahl und B-Schienen-Steuerung\ais Wegadresse· Wenn eine B-Schienen-Steuerung = 1, wird das rechte Byte des ALU Ausgangs MA- zu dem linken Byte der G-Schiene übertragen; für andere Werte der B-Schienen-Steuerung werden beide Bytes des ALU-Ausgangs su dem allgemeinen Register 10 übertragen, welches durch RB-Auswahl adressiert ist; für eine B-Schienen-Steuerung = 1, wird das linke Byte der C-Schiene ■ zu einem allgemeinen Register 10 übertragen. Für eine B-Schienen-Steuerung = 2, wird das rechte Byte der C-Schiene zu einem- allgemeinen Register 10 übertragen.
Wenn die B-Schienen-Steuerung = 1, dann 0(0-7) 4— ALU(8-15),
0(8-15) ^— 0 andernfalls 0(0-15) <— ALU(O-15) '
B-Schienen-Steuerung:
0: GRn(O-15) «— 0(0-15)
1: GRn(O-?) <e— 0(0-7)
2: ' GRn(8-15) i— 0(8-15)
3: . GRn(O-15) £— 0(0-15)
χ'V verschiebt ALU-Ausgang (nach C-Schiene) um ein Bit nach links und verwendet RA-Auswahl, Einrichtimgs auswahl, I0-Modus und A-Schienen-Steuerung als Wegadresse. Wenn eine A-Schienen-St.euerung = 1, wird das rechte. Byte des Ausgangs ALU 114 um ein Bit nach links verschoben, das. Bit mit dem geringsten Stellenwert wird mit ÜFull gelistet und wird zu dem linken Byte der G-Schiene übertragen. Das linke Byte der C-Schiene wird zu dem linken Byte des allgemeinen Registers 10 übertragen oder zu dem Eingang/Ausgang-Modul, der mit 4 adressiert ist, und zwar durch ΙΟ-Modus, RA-Auswahl und Einrichtungsauswahl. Für andere Werte der A-Schienensteuerung werden beide Bytes des ALU-Ausgangs um ein Bit nach links verschoben, wobei das Bit-mit dem geringsten " Stellenwert rait Full gelistet wird und beide Bytes werden zu der C-Schiene übertragen. Für eine A-Schienen-Steuerung - 0- werden beide Bytes der C-Schiene zu einem allgemeinen Register 10 oder
5Q982S/Ö448
einem Eingang/Ausgang-Modul 4 übertragen. Für eine A-Schienen-Steuerung = 3 werden beide Bytes der C-£>diene zu einem allge- v meinen Register übertragen. ......
.Wenn die A-Schienen-Steuerung = 1, dann 0(0-6) -:—- ALU(9-1-5")»
07 t1— 0,
~— ALU(9-15), 0,.
andernfalls 0(0-15) ^— ALU (1-15), 015 «— 0
A-Schienen-Steuerung:
0: Wenn IOM = 0, dann GRn(0-15) 4— 0(0-14),
GRn15 ^— C15(=0)
andernfalls I0n(0-15) v— .0(0-14), I0n15 ^— 015(=0)
• 1: Wenn IOM = 0, dann GRn(0-6) ^— 0(0-6),
GRn7 «— C?(=0)
andernfalls I0n(0-6) ^—■ 0(0-6), I0n7 «— 07 (=0)
2: Wenn IOM = 0, dann GRn(8-14) ^— 0(8-14),
• GRn15 «— 015(=0) andernfalls I0n(8-14) ^— 0(8-14), Iön15<:— 015(=0)
3: GRn(O-15) ^— 0(0-15)
x15' verschiebt den Ausgang ALU (zur C-Schiene) um ein Bit nach links und verwendet* RB-Auswahl und die B-Schienen-Steuerung als Wegadresse. Wenn eine B-Schienen-Steuerung =1, wird das rechte Byte des Ausgangs· ALU um ein Bit nach links verschoben, das Bit .mit dem geringsten Stellenwert wird mit einer Null gefüllt und wird zu dem Byte der-0-Schiene übertragen. Für andere Werte der B-Schienen-Steuerung werden beide Bytes des Ausgangs ALU um ein Bit nach links verschoben, das Bit mit dem geringsten Stellenwert wird mit Null gelistet und beide
509828/0448
Bytes werden zur O-Schiene übertragen. Für eine B-Schienen-Steuerung = O oder 3 werden "beide Bytes der C-Schiene zu dem allgemeinen Register übertragen, welches durch RB-Auswahl adressiert ist; für eine B-Schienensteuerung = 1 wird das linke Byte der C-Schiene zu einem allgemeinen Register übertragen; für eine B-Schienensteuerung = 2 wird das rechte Byte der C-Schiene zu einem allgemeinen Register übertragen.
Wenn die B-Schienen-Steuerung = 1, dann 0(0-6) 4— ALU (9-15)»
07 ·*— 0
0(8-14) κ— ALUC9-15), C15 τ— 0
andernfalls 0(0-14) 4— AOT (1-15), 015 ^—-0
Wenn die B-Schienen-Steuerung = 3, dann GRn(0-14) ~— 0(0-14),
GRn15 ^— C15(=O)
Wenn die B-Schienen-Steuerung = 1, dann GRn(0-6) ~— 0(0-6),
GRn7 ^— 07(=0)
Wenn.die B-Schienen-Steuerung = 2, dann GRn(8-14) ^— 0(8-14)
GRn15 t— 015(=0)
x'61 verschiebt den Ausgang ALTJ (zur C-Schiene) um ein Bit nach rechts und -verwendet RA-Auswahl, Einrichtungs-Auswahl, ΙΟ-Modus und die A-Schienen-Steuerung als Wegadresse. Wenn eine A-Schienensteuerung = 0, werden beide Bytes des Ausgangs ALU um ein Bit nach rechts verschoben, das Bit mit dem höchsten Stellenwert wird mit Null gelistet und beide Bytes werden zur 0-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 O-Schiene wird in ein Register
509828/0448
übertragen. Da bei der Byte-Operation die Eingänge zu dem
-Α-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. Für eine A-Schienensteuerung ='2 wird das rechte Byte des Ausgangs ALU" um ein Bit nach rechts verschoben, das Bit mit dem höchsten Stellenwert wird mit Null gelistet und zu dem rechten Byte der C-Schiene übertragen. Das rechte Byte der C-Schiene wird in . ein Register übertragen. In diesem Falle wird dann, wenn ein Übertrag zum Bit 7 vorhanden ist,' und zwar von dem Ausgang ALTJ, eine Verschiebung um ein Bit nach rechts vorgenommen, wobei das Bit mit dem höchsten Stellenwert mit Null gelistet wird und beide Bytes werden zu der C-Schiene übertragen, und es werden weiterhin beide Bytes der C-Schiene zu einem allgemeinen Register übertragen«.
A-Schienen-Steuerung:
A-Schienen-Steuerung:
O: 0(1-15) 4— ALU(O-IZf-), CO <~- 0 Wenn 10M = O dann GRn(0-15) ς— 0(0-15) andernfalls
I0n(0-15) <—- C(O-15)
1s Wenn B-Schienensteuerung = 0 dann 0(0-7) «~— ALU(7-14),
\ 0(8-15) «r— ALU(7-14) andernfalls 0(0-7) -^r- ALU(7-14), 08 <r— O, 0(9-15) «*— ALU(8-14)
P '
Wenn IQM = 0 dann GRn(O-?) «ir— 0(0-7) andernfalls
I0n(0-7) 4r» 0(0-7)
2: CO <r— 0, 0(1-7) ^r- ALU(O-G) ^- 08 4r~ 0, 0(9-15) ^r- ALU(8-14)
Wenn IOM = 0 dann GRn(O-15) «r— 0(8-15) andernfalls
I0n(8-15) «ίζ-- 0(8-15)
3: CO ^r- 0, 0(1-15) ^- ALU(0-14)
/04*8
χ'7' verschiebt den Ausgang ALTJ (zu der C-Schiene) um ein Bit. -nach rechts und verwendet RB-Auswahl und eine B-Schienensteuerung als Wegadresse- ·
Wenn eine B-Schienensteuerung =■ O, werden beide Bytes des Ausgangs 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.= 1, wird der Ausgang ALU um ein Bit nach rechts verschoben und das rechte Byte des Ausgangs wird zu dem linken Byte der C-Schiene übertragen; das linke Byte der C-Schiene wird in das allgemeine Register übertragen, welches durch RB-Auswahl adressiert ist. Da bei dem Byte-Betrieb die Eingänge zu dem ALU-A-Operanden und dem ALU-B-Operanden auf das rechte Byte begrenzt sind, wird das Ausgangsbit 7 gewöhn- · lieh gleich Null sein, es kann Jedoch gleich Eins sein, wenn die ausgeführte Operation zu einem Übertrag führt.
Wenn eine B-Schienensteuerung = 2, so wird das rechte Byte des Ausgangs ALU um ein Bit nach rechts verschoben, das Bit mit dem größten Stellenwert wird bei Null gelistet und das rechte Byte wird zu der C-Schiene übertragenγ das rechte Byte der C-Schiene wird in das allgemeine Register übertragen, welches durch RB-Auswahl adressiert ist. -
Wenn eine B-Schienensteuerung = 3, wird jedes Byte Tim ein Bit nach rechts verschoben, das Bit mit dem höchsten Stellenwert jedes Bytes wird bei Null gelistet und beide Bytes werden zu der C-Schiene übertragen; beide Bytes von der C-Schiene werden zu dem allgemeinen Register übertragen,'welches, durch RB-Auswahl adressiert ist·
5 0 9 8 2 8/0448
B-Schienensteuerung:
0: 00 i— 0, 0(1-15) ■£— ALU(0-14)
GRn(O-15) ~— 0(0-15)
1: Wenn eine A-Schienensteuerung = 0 oder 3,, dann 0(0-7)
<;— ALU(7-14) und 0(8-15) «r— ALU(7~14) andernfalls
0(0-7) 4— ALTJ(7-14) und 08 «—■ 0 und
0(9-15) <e- AiU(8-14) GRn(0-7) ^r~ 0(0-7)
2: CO T^- 0» C(I-?) t— ALU(0-6), 08 <— 0,
0(9-15) .^r- ALU(8-14) GRn(8-15)- -t~ 0(8-15)
3. co ^- 0, 0(1-7) -^r- ALU(O-S), 08^— 0,
0(9-15) «— ALU(8-14) GRn(O-15) ^— 0(0-15)
χ'8' erhöht die B-Schiene und bringt das Ergebnis in das von RB ausgewählte Register. Dieses Feld addiert eine Eins zu dem Bitwert auf der B-Schieneuund bringt das Ergebnis in das allgemeine Register, welches durch RB-Auswahl adressiert ist. Beide
Bytes des Ausgangs ALU werden direkt zu der C-Schiene übertragen.
GRn(O-15) ^— B(O-15) plus 1
0(0-15) ^- ALU(O-15) .
χ'9' erhöht die B-Schiene und bringt das Ergebnis in das von RB ausgewählte allgemeine Register. Ö-Schiene an MAR. Für eine genauere Beschreibung siehe χ 1V und x'81. Dieser Mikrooperationskode nimmt zwei Taktgeberperioden ein.
X1A1 erhöht die B-Schiene und bringt das Ergebnis in ein allgemeines Register, welches durch RB-Auswahl adressiert ist. Es
werden ΙΟ-Modus, RA-Auswahl, Einrichturgi-Auswahl und A-Schienensteuerung als Wegadresse verwendet.
GRn(O-15) ^- B(O-15) plus 1
(Es verbleiben die Operationen wie bei x'21)
S09828/0 448
,X1B1 unmittelbare Adresse. Die Quelle der unmittelbaren- Adresse^ welche auf die Α-Schiene gebracht wird, kann eine der folgenden vier sein:
1. Wenn ΙΟ-Modus falsch ist, das "unmittelbare; Adressenfeld des Mikrobefehls.
2. Wenn ΙΟ-Modus wahr ist, die Einrichtungs-Adresse ,für die Eingang/Ausgang-Einrichtungs-Steuereinheit mit der höchsten Priorität, bei welcher eine gemultiplexte IO-Unterbrechung ansteht.
3. Wenn ΙΟ-Modus· falsch ist, die Verzweigungssteuerung x'1' ist und die MCR-Steuerung χ'3' ist, die Mikroadresse Vektor 1 von dem (vorzugsweise vorgesehenen) Übersetzer.
4. Wenn ΙΟ-Modus falsch· ist, die Verzweigungssteuerung x'1' ist 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:
67 8 9 10 11 12 13 14 15
RA-Auswahl
Einrich-
tungs-
Auswahl
1
5098 28/0448
Der Eingang/Ausgang-Modul liefert ein Signal, welches Bit 8 nach 1 bringt, d.h. praktisch 128 zu der Einrichtungsadresse addiert. Gleichzeitig wird der Inhalt des ALU-Auswahlfeldes, die Bits 20-23 des Mikrobefehls, oben angefügt,' um in folgender Weise eine Mikroadresse mit 12 Bit zu erzeugen:
0 1 2 3 4 5 6 7 8 9 10 11 12 15 14 15
XXX
ALU Auswahl
Einrichtungsadresse
A-Schiene
Wenn IOM = 0, die Verzweigungssteuerung = x'11 und MCR = x'3' oder x'51, 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 dejm 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 Taktgebers ignal 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/0448
Wenn■ IOM = O dann A(4-15) ~£ — MCR(2O-31) andernfalls^ A(9-15) ς— DA
~"~ . A8 ^- 1
A(4-7) <;— MCR(20-2?)
Wenn IOM = O, BRC » x'1', MCR = x'31 dann A(4-15) ^— Vi(O-TT)
Wenn IOM = O, BRC = x'1', MCR = x'5' dann A (4-15) X— V2(O-11)
Die übrigen Operationen sind für alle Quellen gemeinsam:
MAM(0-11) 4— A(4-15)
ALU (0-15) *— A(4-15) Plus 1
0(0-15) <— ALU(O-15)
MAR(O-H) <^—- 0(4-15) .
Sowohl die verschiedenen als auch die gemeinsamen Operationen werden in einem Taktgeberzyklus ausgeführt. Es wird hierzu auch auf den Abschnitt unmittelbare Adressierung hingewiesen·
X1C erhöht die B-Schiene und bringt das Ergebnis in das allgemeine Register, welches durch RB-Auswahl adressiert ist, verschiebt den ALU-Ausgang (zur C-Schiene) um ein Bit nach links, verwendet RA-Auswahl, Einrichtungs-Auswahl, ΙΟ-Modus und die A-Schienensteuerung als Wegadresse.
GRn(O-I5) £— B(O-I5) plus 1
(Die verbleibenden Operationen sind dieselben wie bei χ'4')
x'D' 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/0 4 48
ι ι ι ι
GRn(O-15) -C- Β(0-15) plus 1
(Die verbleibenden Operationen sind dieselben wie bei x'61)
x'F' erhöht die B-Schiene und bringt das Ergebnis in das allgemeine Register, welches durch RB-Auswahl adressiert ist, verwendet RA-Auswahl, Einrichtungs-Auswahl, IO-Modus und die A-Schienensteuerung als Wegadresse·
GRn(O-I5) 4— B(O-I5) minus 1
(Die verbleibenden Operationen sind dieselben wie bei x'21)
Verzweigungssteuerung: Das Verzweigungssteuerungsfeld bezieht sich in erster Linie auf die Prüf/Verzweigungsmikrooperationskodes· Im allgemeinen prüft ein Prüf/Verzweigungs-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 Verzweigungssteuerraikrooperationskodes 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/0448
Verzweigungssteuerfunktion:
X1O1 Normaler Modus Übertrag falsch. Im arithmetischen Modus (ALU Modus = O) führt ALU die Operationen aus, die unter On =
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'1f oder x'91 ist.
C i— ALU
Cn = O
SR ^— S.PHIn (PHI = Takt)
x'V Normaler Modus Übertrag wahr. Im arithmetischen Modus (ALU-Modus =0) führt ALU die Operationen aus, die unter On =
1, ALU-Auswahl aufgelistet sind. Statusbits werden in das Statusregister bei dem nächsten Taktgebersignal geladen, vorausgesetzt, daß 0-rSchiene/Registersteuerung nicht x'1' oder x'91 ist.
O 4— ALU
. Cn = 1
SR <— S.PHIn
x'21 Lesen Zwischenspeicher oder Hauptspeicher. Die Inhalte von dem Platz SP/MM, welcher durch die B-Schiene adressiert ist, werden ausgelesen und auf die C-Schiene gebracht. Beim nächsten Taktgebersignal werden die Statusbits in das Statusregister geladen, vorausgesetzt, daß die C-Schierie/Registersteuerung nicht x'1' 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 s . '
A-Schienensteuerung , . ·
O: 0(0-15) «:— MM(O-15) (B)
1: C(0-7) «^ MM(0-7) (B) .
2: 0(8-15) <— MM(8-15)(B)
3! C(O-I5) ^
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 Α-Schiene werden 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 C-Schiene abgeleitet werden (obwohl sie in das Statusregister geladen werden) unbestimmt. Im Falle des Hauptspeichers werden die eingeschriebenen Bytes durch die A-Schienensteuerung festgelegt.
SP(O-15)(B) <—- A(O-15)
SR *— S.PHIn .
A-Schienensteuerung - .
0: MM(0-15)(B) 4— A(0-15) ·
1: MM(0-7) (B) ^- A(0-7)
2: MM(8-15)(B) <;— A(8-15)
3; MM(O-15)(B) ^— A(O-I5)
Dieser MikroOperationskode erfordert eine Taktgeberperiode für den Zwischenspeicher und eine Doppellängen-Taktgeberperiode für den Hauptspeicher.
χ 1V 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 Ein- . richtungs-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-
S09828/04 48
befehl, welcher der Mikroadresse entspricht, welche in MAR 20 ü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) ~— C(4-15).PHIn
MOR(O-31) *— O.PHIn MAM(O-H) <:— MAR(O-H) MCR(O-31) *— 0M(0-3i)(MAM0-1i).PHIn+1 andernfeXLs MAR plus Ί 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'B1)» kann das unmittelbare Adressenfeld nicht verwendet werden, um die neue Adresse zu liefern.
x'51 Prüfung/Verzweigung bei externer Bedingung Rückstellen. Es liegen dieselben Verhältnisse vor wie bei x'4·1, 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 O-Schiene werden nach MAR 20 übertragen, um als nächste Mikroadresse zu dienen. Das Statusregister wird nicht modifiziert. Weitere Operationen hängen von dem G-Schiene/Registersteuerung-Feld ab.
509828/0448
Wenn die C-Schiene/Registersteuerung χ'B' istr; 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 χ'B' 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 zur Ausführung während der dritten Taktgeberperiode zur Verfugung. Somit erfordert ein Rückstellen ohne unmittelbare Adresse zwei Taktgeberperioden.
PS(O-H) ^— MAR(O-H)
PS(12-17) 4— SR(0-5)
SR unverändert
Wenn CB/RC = 1B1 dann A(4-15) 4— MCR(20-31) +DA
MAM(O-H) «— A(4-15) 0(0-15) <■— A(4-15) plus 1 MAR(O-H) ^-— 0(4-15).PHIn
. . Wenn CB/RC φ x'B'dann MAR(O-H) ^- 0(4-15).PHIn
MCR(O-31) <k— O.PHIn MAM(O-H) 4r- MAR(O-H) { MOR(O-31) ^- CM(0-3i)(MAM0-1i).PHIn+1
Unterbrechungen: Die Verwendung einer Rückstellfunktion (und auch einer umgekehrten Punktion wie einer Ziehfunktion) bei der Verarbeitung einer Unterbrechung ist in der Pig.10 dargestellt. Es sei angenommen,, daß eine Unterbrechungsanforderung
509828/0448
während derjenigen Taktgeberperiode wahr wird, in welcher beispielsweise der Mikrobefehl χ gerade ausgeführt wird· Das nächste Taktgebersignal setzt das Unterbrechungs-Flip-Plop, wodurch die Unterbrechungsanforderung synchronisiert wird- Das Unterbrechungs-Flip-Flop führt zu einem Sprung an einen Steuerspeiche.rplatz (in diesem Beispiel x'0081), in welchem der IO-Unterbrechungs-Mikrobefehl gespeichert ist. Es \iri.rd angenommen, daß dieser Mikrobefehl Rückstellen und unmittelbare Adressenbefehle enthält, deren Wirkung darin besteht, die Mikroadresse R in den (bei f~i) auf der Fig. 10 nicht dargestellten) Speicheradressenmultiplexer zu bringen. ',
Beim nächsten Taktgebersignal wird die Mikroadresse R in das MikroSteuerregister gebracht und ausgeführt. Gleichzeitig werden die ΙΟ-Unterbrechungen gelöscht· .
Die Unterbrechungsroutine R, R+1, R+2, .. · R+n, R+n+1 wird als nächste ausgeführt. Der Mikrobefehl R+n enthält einen IO-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 ((3))· Zu dieser Zeit wird durch das Aktivierungs-IO-Unterbrechungs-Statusbit vom Rückstellstapel der ursprüngliche IO-Unterbrechungs-Aktivierungs-Status wieder hergestellt.
χ'7' 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
■ 5 0 9828/0448
dritten Taktgeberperiode zur Ausführung zur Verfügung. Das Mikroadressenregister wird beim zweiten Taktgebersignal auf die nächste Mikroadresse in der Folge erhöht. Dieser Mikrooperationskode besetzt zwei Taktgeberperioden.
C(4-15) *— PS(O-H)
SR(0-5) ^— PS(12-17).PHIn
MAR(O-H) τ— 0(4-15).PHIn
MOR(0-31) r 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 Überlauf bits' in dem Statusregister geprüft. Wenn diese Prüfung erfolgreich ist, wird der Wert auf der O-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 G-Schiene/Register-Steuerfunktion ab.
Die C-Schiene/Register-Steuerung ist nicht x'B': Wenn die Prüfung erfolgreich ist, werden die 12 Bits mit dem geringsten Stellenwert der 0-Schiene nach MAR 20 geladen, und zwar bei dem folgenden MikroOperationskodeβ Das Statusregister wird nicht verändert· Derjenige Mikrobefehl, welcher der Mikroadresse entspricht, welche nach MAR ü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 Taktgeberperiode zur Verfügung« Diese Prozedur setzt zwei Taktgeberperioden.
Wenn die Prüfung nicht erfolgreich ist, erhöht das Mikroadressenregister 20 auf die nächste Mikroadresse in der Folge, und zwar beim ersten Taktgebersignal«. Unter diesen
50982870448 . ■ ■ \
Umständen besetzt der Mikroopera^bionskode eine Taktgeberperiode. Wenn OV = 1 und CB/RC / x'B1, dann
MAR(0-11) f C(4-15).PHIn
MCR(O-31) * O.PHIn
MAM(O-H) ^— MAR(O-H)
MCR(O-Ji) ~—~CM(O-31) (MAMO-11), PHIn+1 andernfalls MAR plus 1 bei PHIn
Prüfungs/Verzweigungs-Funktionen χ'9' "bis X1F1 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 .T ist (negativ), ist die Prüfung erfolgreich.
X1C 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 χ'9'» außer daß die Prüfung umgekehrt ist.
X1E' Prüfungs/Verzweigungs-Übertrag / 1. Wie x'A',.außer daß die Prüfung umgekehrt ist.
X1F' Prüfungs/Verzweigungs-CMSB έ 1. Wie χ 1B1, außer daß die Prüfung umgekehrt ist. ' ·
509828/0U8
Nachfolgend v/erden Mehrsweckfelder beschrieben. Die Mikrobefehlsbits 20-31 sind in drei 4-Bit-Felder unterteilt, welche für Mehrfachzwecke verwendet v/erden (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 Mehrzweckfeldes, Bits.24-27» für die Eingangs/Ausgangs-Steuerung oder andere Zwecke.
b. Die B-Schienen-Steuerung unterscheidet zwischen Verwendung des zweiten und des dritten Mehrzweckfeldes, Bits 24-31» für das Sendefeld oder andere Zwecke.
c. Die C-Schienen/Register-Steuerung unterscheidet zwischen der Verwendung aller drei Felder, Bits 20-31, für unmittelbare Adressierung oder andere Zwecke.
d· Verzweigungssteuerfeld unterscheidet die Quelle der unmittelbaren Adresse.
Die spezielle Funktion, für sich allein genommen, jedes MikroOperationskodes für jeden Zweck der Mehrzweckfelder wird unten angegeben.
ALU-Auswahl: Das ALU-Auswahlfeld wird dazu verwendet, die Funktion auszuwählen, die ALU ausführen soll, wie e3 in der Fig. 11 dargestellt ist: Zusätzlich können die Bits 20-23 für andere Funktionen verwendet werden, wie es in dem folgenden Abschnitt unter der Überschrift MCR-Steuerung festgelegt ist.
Der einzige Unterschied zwischen den zwei Sätzen von arithmetischen Funktionen, die in der Fig. 11 aufgelistet sind,
509828/0448
besteht darin, daß ein ankommender Übertrag eine 1 zu dem Ergebnis addiert. Wenn somitbeispielsweise ALU-Auswahl = x'61, s-o wird folgendes erzeugt: A minus B minus 1 (Einer-Komplement Subtraktion) mit Übertrag falsch und A minus B (Zweier-Komplement-Subtraktion) mit Übertrag wahr·
Arithmetische Operationen können Veränderungen in den Statusbits Übertrag, O-Schiene = O, O-Schiene MSB und Überlauf erzeugen. Das Statusregister wird bei dem nächsten Taktgebersignal 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 = O, ALU-Auswahl = x'91) und A minus B (ALU-Modus = 0, ALU-Auswahl = 2'6') zu groß ist, um in einem 16-Bit-Wort untergebracht zu werden (oder einem 8-Bit-Byte). Ein Überlauf kann bedingungslos gesetzt oder zurückgestellt werden.
Die folgenden Bedingungen gelten, um einen Überlauf zu setzen, unter der Annahme, daß A und B Zweier-Komplement-Zahlen sind:
, 1. Wenn A plus B und
A positiv, B positiv und der Ausgang ALU 44 negativ oder A negativ, B negativ und der Ausgang ALU 44 positiv 2. Wenn A minus B und
A positiv, B negativ und der Ausgang ALU 44 negativ oder A negativ, B positiv und der Ausgang ALU 44 positiv
Der obige Algorithmus wird auf das rechte Byte des A 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) er a tion -hin^o-„lesen. . 608828/04*8 . ■
Sobald ein Überlauf gesetzt ist, bleibt er gesetzt",'"bis er durch einen MikroSteuerbefehl abgeschaltet wird (siehe MCR-Steuerfeld).
MGR-Steuerung: Wenn ΪΟ-Modus = 0, dann ist dre B-Schienen-Steuerung nicht 3 (Sendefeld nach B-Schiene) und wenn C-Schienen/Register-Steuerung nicht χ 1B1 ist (unmittelbare Adresse), werden die Bits 24-27 zum MCR-Steuerfeld (siehe Fig.9)· Dieses Feld betrifft die Übersetzeroperation, Aktivierung/Löschung und Auslesen von IO-Unterbrechungen, Schreiben/Lesen des Steuerspeichers und Aktivieren anderer Funktionen.
MCR-Funktion
x'O* Kein© spezielle Funktion.
x'V C-Schiene zum Übersetzer. Ein 16-Bit-Makrobefehl auf der C-Schiene, der normalerweise von dem Zwischenspeicher/Hauptspeicher erhalten wird, wird zum Übersetzer 15 übertragen.
x'21 Rückstellen MAR. Es wird das Mikroadressenregister auf die Mikroadress . O zurückgestellt. Das Mikrosteuerregister 20 wird zurückgestellt, so daß bei PHI überall Nullen sind, und zwar auf diesen MikroOperationskode hin, so daß ein NOP während der folgenden Taktgeberperiode ausgeführt wird. Es wird die Erhöhung des Mikroadressenregisters bei PHI gesperrt, so daß daa Mikroadressenregister fortfährt, während der folgenden Taktgeberperiode die Mikroadresse 0 beizubehalten. Der Mikrobefehl, welcher der Mikroadresse 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 Verfügung. Die Ausführung dieses MikroOperationskodes erfordert zwei Taktgeberperioden. ■
50982 87 0448
245 2 2'B 5
MAR(O-H) -ς— 0 .
MAR unverändert bei PHIn
MOR(O-31) τ— O.PHIn
MCR(O-31) χ— <3M(O-31) (MA=O).PHlii+1
x'31 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·
Weiterhin wird, wenn Ϊ0Μ = 0, C-Schiene/Registersteuerung = x'B1 und Verzweigungssteuerung = x'11, die unmittelbare Adressenprozedur wirksam. Die Mikroadresse Vektor 1, die jetzt auf der A-Sehiene ist, adressiert über den Speicheradressmultiplexer 26 einen Platz im Steuerspeicher 22. Zur selben Zeit werden die 12 Bits den A-Operanden-Eingängen von ALU zugeführt, um Eins erhöht, direkt auf die C-Schiene übertragen und dem Mikroadressenregister 20 beim nächsten Taktgebersignal zugeführt. Durch diese Kombination von Mikrooperationskodes·wird eine Vektor-Mikroadressierung mit einem Taktgeberzyklus erreicht.
χ'4' Aktivieren ΙΟ-Unterbrechungen. Es wird das IO-Unterbrechungsregister aktiviert, wodurch es ermöglicht wird, daß die gemültiplexte Eingangs/Ausgangs-Unterbrechung-angenommen und folglich bearbeitet wird. Auf diesen MikroOperationskode hin bleibt das IO-Unterbrechungsregister aktiviert, bis es durch MCR = 6 abgeschaltet wird oder durch die 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 ^- ΙΟΙ -
x'51 Lesen Vektor 2 nach Α-Schiene vom-Übersetzer. Der Vektor 2 (eine 12-Bit-Mikroadresse) wird gelesen und vom ■
5098 28/0448
Übersetzer 15 auf die Α-Schiene gebracht. Für eine Beschreibung der Mikroadressierung in einem Taktgeberzyklus wird auf x'31 hingewiesen.
x'61 Löschen ΙΟ-Unterbrechungen. Löschen des IO-Unterbrechungsregisters, Sperren der Annahme einer gemultiplexten ΙΟ-Unterbrechung und folglich Verhinderung der Auswirkung auf die Unterbrechung. Auf diesen MikroOperationskode hin bleibt das IO-Unterbrechungsregister gelöscht, bis es durch MOR = 4 aktiviert wird.
IR *r/~ ΙΟΙ
x'71 Lesen Argument nach B-Schiene vom Übersetzer. Das Argumentfeld eines Makrobefehls, wie beispielsweise das Adressenfeld, welches zur Berechnung direkter oder indirekter Speicherplätze verwendet wird, wird gelesen und vom Übersetzer auf die B-Schiene gebracht.
B(O-15) 4:— ARG(0-15)
χ'8' Lesen MCP-Dateneingangsschalter nach.O-Schiene 0(0-15) ^— MCP(O-15)
χ'9' Nicht zugeordnet.
x'A'· Andere Funktionen. Es wird der Ausgang von ALU nach der Ö-Schiene gesperrt, was die Bits 20-23 dazu in die Lage versetzt, daß sie dazu verwendet werden, andere Funktionen wie die folgenden zu kodieren:
Andere Funktionen
Rückstellen Überlauf-Status-Bit. OV = 0 Setzen Überlauf-Status-Bit, OV = 1 Rückstellen Steuer-Modus-Status-Bit. CON = Setzen Steuer-Modus-Status-Bit» CON = 1 Nicht zugeordnet
Einschreiben Mikrosteuerspeicher 16 Bits werden von der Α-Schiene in die linke Hälfte des Steuerspeichers
5098 28/0448
Bits 20 - 23
x1 81
X1 9'
A1
x1 B1
x!
x'C"
übertragen, und zwar an einen Platz, welcher durch die Bits 3-14· der B-Schiene adressiert ist, wenn B15 falsch ist, oder in die rechte Hälfte, wenn B15 wahr ist, wie es unten erläutert wird. Derjenige Mikrobefehl, welcher der Mikroadresse' für die Mikrooperationskodeperiode entspricht, erreicht das MikroSteuerregister bei dem zweiten Taktgebersignal, welches auf den MikroOperationskode folgt, und steht für eine Ausführung während der dritten Taktgebersignalperiode zur Verfügung. Die Ausführung dieses MikroOperationskodes erfordert zwei Takt geberperioden.
Wenn B15 = 0, dann OM-RAM(O-15) (B03-B14) ^- A(O-15)
andernfalls GM-HAM(16-31)(BO3-B14) 4— A(0-15)
MGR(O-31) 4 O.PHIn
MOBCO-31) 4—OM(O-Ji)(MAMO-Ii).PHIn+1 MAR plus 1 bei PHIn+1
xxx
Adresse
0123*56789 10 11 12- 13 1* 15
X1D1 Lesen Mikrosteuerspeicher. Die linke Hälfte der Mikrobefehlsadresse durch BO3 - B14· von B-Schiene wird von dem Steuerspeicher an die C-Schiene übertragen, 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) *— OM(O-15) (BO3-BI4)
andernfalls 0(0-15) -ς— CM(16-31)(BO3-B14) MCR(O-31) <r-— O.PHIn '
M0R(O-31) 4r— CM(0-3i)(MAM0-1i).PHIn+1 :
MAß plus 1 bei PHIn+1
X1E1 Lesen ΙΟ-Unterbrechungen nach Α-Schiene. Die Einrichtungsadresse der ΙΟ-Steuereinheit mit der höchsten Priorität und mit einer anstehenden gemultiplexten IO-Unterbrechmig wird auf die Α-Schiene übertragen.
509828/0448
A f— DA ■ — ----- ■ -
x'F1 Nicht zugeordnet.
ΙΟ-Steuerung: Wenn ΙΟ-Modus wahr ist (siehe Fig.9)» werden die Bits 24-27 zum ΙΟ-Steuerfeld. Dieses Feld wird dazu verwendet, die ΙΟ-Moduln zu betätigen, wie es in einem späteren Abschnitt beschrieben wird.
Einrichtungsauswahl: Wenn die B-Schienen-Steuerung nicht 3 ist und die C-Schienen/Register-Steuerung nicht χ 1B' ist, werden die Bits 28-31 zum Einrichtungsauswahlfeld· Dieses Feld in Verbindung mit, RA-Auswahl wirkt als eine IO-Einrichtungsadresse mit 7 Bit.
Sendefeld: Wenn ΙΟ-Modus falsch ist, B-Schienen-Steuerung 3 ist und C-Schienen/Register-Steuerung nicht χ 1B' ist, werden 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(O-7) ^- O .
Unmittelbare Adresse: Wenn ΙΟ-Modus falsch ist und G-Schienen/Register-Steuerung χ'B1 ist, so werden die letzten zwölf Bits des Mikrobefehls, welche als unmittelbare Adresse bezeichnet werden, als Mikroadresse für den Steuerspeicher verwendet, wie es unter dem Abschnitt C-Schiene/Register-Steuerung = χ 1B1 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-Steilung-Zuordnungsfeld wird«. Dieses Feld ordnet einen Einer-Status einem beliebigen der Bitplätze 8 bis 15 auf der B-Schiene zuj wie es in der Fig«, 12 aufgelistet ist»
609828/0448
Schienenausnutzung: Einige Kombinationen von Eelderit.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 lig. 13 sind alle Stariferdquellen aufgelistet und weiterhin fünf zusätzliche Quellen, die vorzugsweise vorgesehen sein können, von welchen Daten auf die drei Schienen gegeben werden. Die fünf eventuell vorhandenen Quellen sind die Eingang/Ausgang-Einrichtung, Steuereinheit/Moduln, Befehlsübersetzer, Hilfsspeicher, Hauptspeicher und Wartungssteuertafel. Für jede Quelle sind die Mikroprogrammierungsvoraussetzungen tabuliert. Für einige Schienenquellen
vermeiden die Programmierungsvoraussetzungen die gleichzeitige Programmierung anderer Quellen.
Nachfolgend wird die Wort/Byte-Operation beschrieben. Eine Byte- oder Wort-Operation ist mittels der Mikrooperationskodes in dem A-Schienensteuerfeld und dem B-Schienensteuerfeld festgelegt, wie es oben bereits definiert wurde und zur laufenden Bezugnahme in der Fig. 14 zusammengefaßt ist.
Es gibt zwei Aspekte für die Byte- oder Wort-Operation: erstens, die Anwendung eines Bytes oder eines Wortes von der Α-Schiene zu dem Α-Operanden von ALU 44 und von der B-Schiene zu dem B-Operanden von ALU 44, und zweitens, die Übertragung eines Bytes oder eines Wortes von der C-Schiene zu einem allgemeinen Register 10 oder einer Eingangs/Ausgangs-Schiene oder dem Register 4. Der zweite Aspekt ist nur für die in der Fig. 14 aufgelisteten C-Schienen/Register-Mikrooperationskodes wirksam, während der erste Aspekt nur von-der A-Schienensteuerung oder von der B-Schienensteuerung abhängt.
509828/0448
lkbllbb
Im arithmetischen Modus werden die Statusbits~ausfülfren, 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 Byt.e-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'B.1, 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,- Einrichtungs-Auswahl„ ΙΟ-Modus und A-Schienensteuerung als Wegadresse festlegt oder wenn die B-Schienensteuerung 2 ist und die C-Schienen/Register-Steuerung die Verwendung von RB-Auswahl und B-Schienen-Steuerung als Wegadresse festlegt5 wie es durch die Unterstreichung in der Pig.14 dargestellt ist»
Insbesondere,
• CMSB = C08(Verzweigungs-Steuerung / 7) /CA-Schienensteuerung =2
(C-Schienen/Registcpsteuerung = 2,4,6,A,C,
E,P) +
(B-Schienensteuerung *=2 (C-Schienen/Register-509828/0448 steuerung = ?*5.7).7
+ COO (Verzweigungssteucrung έ 7)· N /Ceine Schienensteuerung = 2j (C-Schienen/Register
Steuerung => 2,4,6,A,C,E,I1)+ (B-Schienensteuerung = 2)
(C-Schienen/Register)
Steuerung = 3i5r7)_7+ (Rückstellstapel) (Verzweigungssteuerung = 7)
Überlauf: Ein Überlauf wird auf einer Byte-Basis erzeugt, wenn sowohl der Α-Operand als auch der B-Operand von ALU 44 auf einer Byte-Basis sind. Hingegen wird ein Überlauf auf einer Wortbasis erzeugt, wenn entweder der Α-Operand oder der B-Operand auf einer Wortbasis ist. Der Überlauf wird unten unter dem Abschnitt ALTJ-Auswahl diskutiert.
Nachfolgend wird Setzen/Rückstellen/Prüfen eines Bits erläutert. Das Bit-Schalt/ und das Positionsfeld können dazu verwendet werden, ein Bit einer Datenfunktion zu setzen, rückzustellen oder zu prüfen. Diese Zwecke werden dadurch erreicht,, daß die Daten auf der Α-Schiene mit einem bekannten Bit auf der B-Schiene verglichen werden. Diese Vergleiche werden von ALU 44 in einer geeigneten Auswahlfunktion durchgeführt. Das bekannte Bit auf der B-Schiene wird durch das Bit-Positionsf el'd gelie7 fert. Die Prozedur ist folgende:
1. Eingeben 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 is;t.
2. Einsetzen der gewünschten Bitpositionsmaske auf die Schiene B, Verwendung des Bit-Positionsfeldes.
3. Bei ALU-Modus wahr (logische Operation) wird ALU-Auswahl verwendet: . . ■
509828/0448
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.NB)
A-Schiene » 0100 1001 B-Schiene = 0000 1000 C A.NB = 0100 0001
Zum Prüfen eines Bits; ALU-Auswahl = x'B (A.B)
A-Schiene = 0000 0001
• B-Schiene » 0000 1000
C A.B = 0000 0000
In diesem 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 niärfc gleich 0 ist, das geprüfte Bit gleich 1.
Nachfolgend werden die Adressierung und die Verzweigung beschriebene Es gibt drei Formen der Adressierung: sequentielle (Erhöhen Mikro-Adressenregister), unmittelbare und relative Adressierung und swei Typen der Verzweigung: unbedingte und bedingte Verzweigung«,
Sequentielle Adressierung? Das Mikro-Adressenregister 20 erhöht auf die nächste Mikroadresse, und zwar in Abwesenheit von folgendem?
a„ C-Schienen/Register-Steuerung = x°1° oder x'9° (C-Schienen-Daten nach MAR) oder X1B" (unmittelbare oder Einrichtungsadressierung) und
b« Verzweigungssteuerung = χ "4° oder χ"5" oder x'81 über χ 1F' (Prüfungs/Verzweigungs-Funktionen) oder x'6! (Rückstellen) oder χ'7' (Ziehen) und
·" S 09828/0448
c. Bestimmte Funktionsschsltungen sind auf die Wartungssteuertafel 66 geschaltet.
Unmittelbare Adressierung: Wenn IOM «■ Ό 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 = X1B1, so liefert die Einrichtungsadresse plus 128 von der Steuereinheit mit der höchsten Priorität bei einer gemultiplexten anstehenden IO-ühterbrechung die nächste Mikroadresse. Wenn IOM = , C-Schienen/Register-Steuerung = x'B1, Verzweigungssteuerung = x'11 und MCR-Steuerung = x'31 oder x'5'i 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'B' aufgelistet sind.
Eine bedingte unmittelbare Adressierung oder eine Einrichtungsadressierung wird durchgeführt durch C-Schienen/Register-Steuerung = x'B1 und Verzweigungs steuerung = x'81 über x'i11, 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/0448
register erhöht für die nächste Taktgeberperiode.
Wenn IOM = O, dann MAM(O-H) r— A(4-15)
C(O-15) -— A(4-15) plus 1
MAR(O-H) 0(4-15).-PHIn
andernfalls MAM90-11) MAE(O-H)
MAR plus 1 bei PHIn
Unmittelbare oder Einrichtungs-Adressmikrooperationskodes erfordern eine Taktgeberperiode.
Relative Adressierung: Eine relative Adressierung führt eine arithmetische Operation auf der laufenden Mikroadresse aus, die von dem Mikroadressenregister 20 genommen wird, und vom Wert auf der B-Schiene. Der Wert auf der B-Schiene kann durch das Sendefeld des Mikrobefehls geliefert werden, und zwar durch ein allgemeines Register 10 oder eine beliebige andere B-Schienenquelle.
Die relative Adressierung kann unbedingt oder bedingt sein.
Eine unbedingte relative Adressierung kann unter Verwendung der Felder durchgeführt werden, die in der ersten Zeile der Fig.15 dargestellt sind (wobei angenommen ist, daß der B-Schienenwert von dem Sendefeld erhalten wurde). Eine A-Schienensteuerung = 5 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 G-Schieneo C-Schienen/Register-Steuerung = x"19 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/0448
der dritten Taktgeberperiode verfügbar. Eine unbedingte relative Adressierung erfordert zwei Taktgeberperioden.
AC4-15) t— MAE(O-H)
ALU-AC4-15) ti— A(4-15)
B(8-15) -— A(4-15)
ALU-B(8-15) -— B(8-15)
Wenn ALU Sei » x'91 dann C(4-15) ^ ALU-AC4-15) plus
ALU-BC8-15) Wenn ALU Sei = x'61 dann C(4-15) ^— ALU-A(4-15) minus
ALU-BC8-15) MAR(O-H) -—C(4-15).PHIn
MCHC0-31) τ O.PHIn
MAM(O-H ) r MAE(O-H) ' ·
MCE(0-31) τ— CMC0-31)(MAMO-H).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 besteht darin, einen Datenwert mit der unteren und der oberen Grenze zu vergleichen. ·
509828/0443
1. 1872 0A03
2. 18B2 0AE8
3. 1433 0942
4. 2902 2F00
5. .1032 0942
6. 3902 2F00
7. 2300 1600
8. 000B FODO
9. 1032 0942
10. 39OA 2F00
11. 3200 1600
12. 000B F0D4
13. 1032 1684
14. 1400 1600
15. 000B 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 Tabellen·- grenze
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 Nigers auf Datentabelle Ist Schleife vollständig?
Abtastung vollständig ('Programm würde fortgesetzt)
Die Auswirkungen jedes Feldes des ersten Mikrobefehls sind unten im einzelnen angegeben«
Feldwert ΐ 8·
Wirkung
I0M - 0| RA-Auswahl - GR1 ALUM - 11 BB-Auswahl- GRO A-Schienen=Steuerung - 1
I t~ GR1/ ALU-A(8~15) ^- 1(0-7) B-Schienen-Steuerung = 3
B(8-15) ^- MCR( 24-31) ALU-B(8-15) ς— B(8-15) C-Schienen/Register-Steuerüng =
0(0-7) «r— ALU(8-15)$ 0(8-15) t~ 0-7)'t— C(0-7).PHIn.
09828/0448
245Z255
O Verzweigungs-Steuerung = O
C r— ALU1 cn - O
SR S.PHIn
A ALUSEL = x'A1
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 03E8 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/0448
Der vierte Mikrobefehl, 2902 2FOO, bringt den Inhalt des allgemeinen Registers 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 2F00, bringt den Inhalt des allgemeinen Registers 1, die Hexadezimalzahl 042A, auf die B-Schiene und verwendet diese Zahl zur Adressierung des Hauptspeichers. Dieser Platz enthält die erste untere Grenze. Diese untere Grenze wird auf die C-Schiene gebracht und in das allgemeine Register 3 übertragen.
Der sübte Mikrobefehl, 2300 1600, bringt den Inhalt des allgemeinen Registers 2 (die ersten Daten) auf die A-Schiene und den Inhalt des allgemeinen Registers 3 (die erste untere Grenze) auf die B-Schiene» ALU wird derart eingestellt, daß die untere Grenze von den Daten subtrahiert wird und das Ergebnis auf die C-Schiene gebracht wird. Die C-Schienendaten sind nicht an irgendeine Bestimmung gebundene Bei demselben Befehl wird das Bit mit dem höchsten Stellenwert der C-Schiene im Statusregister abgespeichert»
09820/044
-C-
Der achte Mikrobefehl, 00OB FODO, prüft das Bit mit. dem höchsten Stellenwert der C-Schiene von dem vorhergehenden Mikrobefehl, welches jetzt im Statusregister gespeichert ist. Wenn das Bit 0 ist (positiv), wodurch angezeigt wird, daß der erste Datenwert größer ist.als die untere Grenze, wird die nächste Mikroadresse, die Hexadezimalzahl ODO, aus dem unmittelbaren Adressenfeld des Mikrobefehls über die Α-Schiene geholt und weiter über den Speicheradressmultiplexer. Zur selben Zeit wird der Inhalt des unmittelbaren Adressfeldes ALU zugeführt, um Eins erhöht und über die C-Schiene dem Mikroadressenregister bei dem nächsten Taktgebersignal zugeführt. Diese erhöhte Mikroadresse dient dann als Steuerspeiche^Ldresse während der nächsten Taktgeberperiode. Wenn andererseits das Bit mit dem höchsten Stellenwert der C-Schiene 1 ist (negativ), so wird die Mikroadresse im Mikroadressenregister' erhöht. Diese nächste Mikroadresse 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 Funktionen aus.
Nachfolgend wird der System-Eingang/Ausgang erläutert. Im allgemeinen sprechen die Eingangs/Ausgangs-Moduln 4 in der Fig. 1 die bei 3 dargestellte C-Schiene direkt an und sprechen die jeweils bei 1 und 2 dargestellte A-Schiene und B-Schiene über die 3-Zu-I-Multiplexer 8 an.
Unter der Führung der Steuersignale, welche vpn dem Steuerspeicher 22 oder dem MikroSteuerregister 24 abgeleitet werden, laiin ein Eingangs/Ausgangs-Modul .folgendes ausführen:
509828/0448
a. Daten-, Status- und Unterbrechungsinforination yon einer externen Anpasseinrichtung 6 auf die A-Schiene übertragen;
b. Daten-,und Steuerinformation von der C-Schiene auf die externe Anpasseinrichtung 6 übertragen;
c. Daten von der externen Anpasseinrichtung 6 auf die B-Schiene übertragen, um eine direkte Speicheradresse zu liefern, wenn eine rasche Unterbrechung verwendet wird;
d. Abfühlen des Status von einer oder mehreren externen Bedingungen.
Das Eingangs/Ausgangs-System ermöglicht es dem Benutzer, die Eingangs/Ausgangs-Punktionen direkt mit dem Sammelschienenaufbau der Datenyerarbeitungseinrichtung bzw. des Datenprozessors zu verbinden.= Jeder einer großen Anzahl von I0-Moüuln bzw» Eingangs/Ausgangs-Moduln und insbesondere deren Anschluß-: stellen sind identisch verdrahtet, außer zur Prioriläsbestimmungo 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 IQ-Einrichtungen eine gemeinsame ΙΟ-Unterbrechung=
.Datenwege5 Eine typische 10-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-
>. S09828/0448
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 jeäe 10-Anpasseinheit (Steuereinheit) zur Verfügung, und kann zu beliebiger Zeit von einem Modul angefordert werden. Als Antwort auf diese Unterbrechung spricht der Prozessor eine feste Stelle im Steuerspeicher an, welche ihn mit einer Unterbrechungs-Verarbeitungsroutine verbindet. Die Unterbrechungs-Verarbeitungseinrichtung fordert dann die Adresse der Einrichtung mit der höchsten Priorität an, bei welcher eine Unterbrechung ansteht. Diese Adresse wird durch die Einrichtung mit der höchsten Priorität der bei 1 dargestellten Α-Schiene zugeführt. Die Unterbrechungs-Verarbeitungseinrichtung kann dann die Einrichtungsadresse als indirekte Adresse verwenden, und zwar für die Verarbeitungseinrichtung für die spezielle IO-Steuereinheit.
Die schnelle Unterbrechung spricht einen festen Platz im Steuerspeicher 22 an, der eineja 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/0U8
Mikrobefehl: Die Verwendung der Mikrobefehlsfelder ist 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/Au'sgangs-Funktionen verwendet werden*
Wenn IO-Modus 1 ist, bilden RA-Auswahl- und Einrichtungs-Auswahl-Felder ein 7-Bit-Adressenfeld, welches dazu in der Lage ist, bis zu 128 IO-Einrichtungs-Steuereinheiten auszuwählen. 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 Zustandes. Diese Prüfung ist unabhängig von IO-Modus.
A-Schienen-Steuerung = 0+1+2 bewirkt, daß Daten von der 10-Einrichtungssteuerung, welche durch IO-Modus," RA-Auswahl und Einrichtungs-Auswahl adressiert ist, auf die Α-Schiene gebracht werden (außer, wenn C-Schiene/Register-Steuerung ist X1B1 oder MCR-Steuerung ist x'3' oder X1V).
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. ■ ■ N
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
28/0448
Die C-Schienen/Register-Steuerung legt die Bestimmung der Daten auf der C-Schiene ebenso fest wie die Steuerung über das Daten-Byte, welches zwischen ALTJ 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 Bestimmungsspezifikation. Die unten angegebene Tabelle legt die Bestimmung für jeden dekodierten Wert des C-Schienen/Register-Steuerfeldes fest: .
C-Schienen/Register-Steuerung Bestimmung
0,8 Keine
1,9.B · . MAR 20 2,4,6,A,C,E,F, IO-Modus, RA-Auswahl und
Einrichtungs-Auswahl-Festlegung 3,5*7 ■ RB-Auswahl-Festlegung
D ' Rieht zugeordnet
Weiterhin enthält C-Schienen/Register-Steuerung = x'B' einige andere Ergebnisse, die für Eingangs/Ausgangs-Operationen von Bedeutung sind. Einmal wird die A-Schienen-Steuerung übergangen. Zweitens wird dann, wenn IO-Modus » 0, der Inhalt des unmittelbaren Adressenfeldes jeweils der Α-Schiene zugeführt. Wenn jedoch IO-Modus => 1, wird die Einrichtungsadresse (die aus RA-Auswahl und aus Einrichtungs-Auswahlwerten besteht) für die Eingangs/Ausgangs-Einrichtungssteuerung mit hoher Priorität, bei welcher eine gemultiplexte IO-Unterbrechung ansteht, auf das rechte Byte der Α-Schiene übertragen, während der Inhalt des ALU-Auswahlfeldes in die Eits 4-7 gebracht' wird, was zu folgendem Format führt:
0 1 2 3 4 5 6 7 8 9 10 11. 12 13 14 15 xxxx ALU Sei 1 RA Sei DS A-Schiene
MCR-Steuerung » x'E1 ist für Eingangs/Ausgangs-Operationen be- ' deutsam. Dieser Mikrobefehl bewirkt, daß die Steuereinheit mit
.609828/0448
der höchsten Priorität, bei welcher eine gemultipiexte 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 j
AOO - AI5: Α-Schieneβ Verwendet durch IO-Anpassmoduln, zur Übertragung von Daten9 von Status« und von Unterbrechungsiäentifikation zvm Prozessor.
509828/ 0-448
BOO - BI5: B-Schiene. Verwendet durch IO-Anpassmoduln, welche die raschen Unterbrechungen verwenden, um eine Häuptspeicheradresse nach SCU zu liefern.
GOO - C15: C-Schiener^Verwendet durch" den Prozessor, zur Übertragung von Daten- und Steuerinformation zu d.en IO-Anpassmoduln. 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.
BYTESEL-L, BYTESEL-R: Byte-Auswahl, links oder rechts. Verwendet zur Steuerung der Übertragung des linken Bytes oder des rechten Bytes von der C-Schiene zu dem Ausgangspufferregister auf einem ΙΟ-Modul. Wenn der Mikrobefehl eine Wort-Operation festlegt, werden beide BYTESEL-Signale wahr.
BCA08, 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/Register-Steuerung nicht χ 1B1 ist, wird EMIT24 - EMI.T27 zum Eingangs/ Ausgangs-Steuerfeld. Diese vier Signale sind verfügbar, um spezielle Mikrobefehle für die Anpassmoduln zu erzeugen.
509828/0448
• -76 —
AXDASTROBE; Abtasten für die Einrichtungs-Adressenübertragimg 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 Mg. 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. Die Zeittakt-Charakteristiken sind in der Fig. 16 dargestellt. Die Periode ist 35° ns, außer, wenn ein Hauptspeicherzugriff im Gange ist, wobei, die Periode dann 7OO ns beträgt.
NIMHERE: Muß durch den ΙΟ-Modul tief gelegt werden, wenn 10-Modus = 1 und RSAOI-RSAO3 und EMIT28-31 die Modul-Einrichtungsadresse enthalten.
NFIRQ1, NFIRQ2: Schnelle Unterbrechungsanforderung 1 und 2. Tief gelegt, um anzufordern, daß eine schnelle Unterbrechung erzeugt wird.
FI-1f FI-2: Schnelle Unterbrechungsantwort. Erzeugt durch, den Prozessor in Reaktion auf die Anforderung der entsprechenden schnellen Unterbrechung. Die Einrichtung mit der höchsten Priorität, bei welcher eine schnelle Unterbrechung ansteht, kann dieses Signal verwenden, um das Anforderungssignal zu entfernen.
509828/0448
'- 77 -
IHPRIn, 112PRIn,' FH PRIn+1, FI2PRIn+1:' Prioritäts-reihen für schnelle Unterbrechung. Diese Funktionen werden später erläutert ·
NIOINT: Gemultiplexte allgemeine Eingangs/Ausgangs-Unterbrechungsanforderungsleitung. Tief gelegt, um eine Unterbrechung anzufordern.
NINTLOCK: Unterbrechungsverriegelung. Das Signal wird durch den Prozessor erzeugt, um Unterbrechungsanforderungen einzufrieren. Es kann keine neue Anforderung ausgelöst werden, während NINTLOOK 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: Unterbrechungsprioritätsreihe 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 ΕΜΙΤ28-3Ί» so sollte er ohne Rücksicht auf den Status von IOM seine externe Zustandsleitung oder seine externen Zustandsieitüngen, 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/0448
J 2452255 ι 02 08 01
- 78 - 1 03 09 02
SIGNAL FUNKTION : 10 03
AOO I Schiene Bit 00 ι 04 ; 1T 04
A01 ! 01 05 ! 12 05
A02 i
. 13
06
Ä03 I : 06 , V .v 14 07
A04 1 ' 07 Λ
A Schiene Bit 15
08
AO5 : B Schiene Bit 00 09
A06 10
AO7 11
A08 12
AO9 13
A10 . / \i i' 14
A11 . I Schiene Bit 15
A12
AI3
A14
AI5
BOO
B01
B02
BO3 \
B04 I
BO5
B06
BO7
B08
BO9
B10
B11
B12
BI3 '*
B14
BI5
509828/0448
2A52255 01 ; tat sr eihen-Auserahfi rerermiltiOlöxtG
02 Priori
SIGNAL" ' - 79 - 03
000 FUNKTION • 04
001 O Schiene Bit 00 05
- \J^J CL, ! .06 · · -
C03 07
C04 ι 08
005 09
C06 . 10
C07 11
C08 12
C09 13
C10 V '/ '*' 14
C11 O Schiene Bit 15 ■
012 I/O-Modus
013 A-Register.-Auswahl-Feld Bit 01, invertiert
C14 Il Il Il Il Il QO It
015 Il It ' Il It ti Q-Z It
-I0M Einrichtungs-Auswahl-j?eJxL Bit 28, "
NRSA01 Il Il It Il 29 "
NRSA02 Il II Il If XQ It
NRSA03 It ti Il Il -7Λ Il
NEMIT28 I/O-Steuerfeld-Einstellung 24
NEMIT29 IT It Il 25
NEMIT30 • Il It Il 26
NEMIT31 ti Ii H pn
EMIT24 Byte-Auswahl (rechts)
EMIT25 " " (links)
EMIT26 «· B-Schi enen-Übergehen-Steuersignal
EMIT27 A-Schienen-Steuerfeld (MSB)
BYTESEL-R(A) A-Schienen-Steuerfeld (LSB)
BITESEL-L(A) Gemultiplexte I/O-Unterbrechungs-
NINHB anforderung
B0A08 Prioritätsreihen-Eingabe (gemultiplexte ·
BCA09 I/O-Unterbrechung)
NIOINT
PRIn
PRIn+1
g(gp I/O-Unterbrechung)
509828/0448
2 4 52 2 S'5
NINTLOCK NAXDASTROBE
NFIRQ1 NFIRQ2 FI-1 FI-2 NEXT NRESET PHI CLOCK RTCC ZP15 Volts ZN15 Volts FHPRIn
FI2PRIn FI1PRIn+1 FI2PRIn+1 Bits 24-27
0 1 2 5
4-5
6 7
Sperrsignal für gemultiplexte I/O-Unterbrechung
Einrichtungsadresse für A-Schienen-Ab tastsignal
Schnelle Unterbrechung ■-¥ 1 Anforderung
11
ti
1 Antwort
Äußere Zustandsleitung
Leistung Ein und MCP-Anforderung System-Taktgeber
Freilaufender Taktgeber, 35° ns 60-Hz-Taktgeber
■+15 Volt
-15 Volt
Prioritätseingang für schnelle Unterbrechung
Prioritätseingang für schnelle Unterbrechung
Prioritätsausgang für schnelle Unterbrechung
Prioritätsausgang für schnelle Unterbrechung
MCR-Steuerung
(IOM = Of B-Schienen-Steuerung £ 3.; C-Schienen/Register-Steueruiig £ χ' B' )
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/044B
9 Nicht zugeordnet
.A Andere Funktionen
B Nicht zugeordnet
0 , Schreiben Mikrosteuerspeicher
D Lesen Mikrosteuerspeicher
E Lesen IO-Unterbrechungen nach A-Schiene
F Nicht zugeordnet
Adressierung: Jeder IO-Modulmuß auf eine oder mehrere Einrichtungsadressen antworten. Die Einrichtungsadresse ist aus dem RA-Auswahlfeld (RSA01 - RSAO3) und dem Einrichtungsauswahlfeld (EMIT28 - EMIT31) gebildet, wobei RSA01 das. Bit mit dem höchsten Stellenwert und EMIT31 das Bit mit dem geringsten Stellenwert ist. Die spezielle Adresse oder die speziellen Adressen, auf welchen der· Modul antwortet, müssen zu der Zeit zuzuordnen sein, zu welcher der Modul mittels Rückstellrücken, 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üpf ungs glieder sind Schottky-Gatter.
Das Signal IOMME (IOM-Mpdul^Aktivierung), welches gemäß der Darstellung in der Fig.17 erzeugt wird, wird dazu verwendet, den·· ■ Modul IO zu aktivieren, um auf. eine beliebige Anforderung von ΙΟ-Steuerfeld zu antworten-, einschließlich der Übertragung von Daten zu der Α-Schiene und der Aktivierung der 0-Schienen-Eingangspuffer. ME (Modul-Aktivierung) wird hauptsächlich dazu verwendet, die Leitung oder die Leitungen für die externe Bedingung auf der Leitung NEXT zu aktivieren. NIMHERE wird dazu verwendet, den C-Schienenpuffer in einer erweiterten IO-Anordnung zu steuern.
. 509828/0448 .
A-Schienenanschluß: Die Α-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 44 einzugeben, mit diesen Daten eine Funktion auszuführen und das Ergebnis dem Benutzer auf der C-Schiene zurückzuübertragen, und zwar laufen alle diese Vorgänge innerhalb einer Zykluszeit des Prozessors ab.
Die Logik für die Übertragung von Eingangsdaten zu der A-Schiene kann folgendermaßen aufgebaut sein;
Aktivieren Daten nach A-Schiene - IOMME.· INPUT·NAXIOCONT, wobei IOMME => ΙΟ-Modul durch Mikrobefehl ausgewählt, wie es in der Fig. 17 dargestellt ist.
INPUO? = Konfiguration des IO-Steuerfeldes, EMIT24- - 2? 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 Zeüfcaktsteuerung für die Verbindung mit der B-Schiene sind mit derjenigen zum Anschluß an die A-Schiene identisch, mit der Ausnahme, daß die Steuergleichung folgendermaßen modifiziert ist:
Aktivieren Daten nach B-Schiene = IOMME°DMAINPUT
wobei DMAINPUT =» Zugeordnete Konfiguration des IO-Steuerfeldes,: welches den Direktspeicherzugriff festlegt«
Die.Zeittaktsteuerung der A-Schiene und der B-Schiene ist in der Fig„ 18 dargestellt«
• ' . 509828/0448
C-Schienenanschluß: Die· bei 3 dargestellte C-Schiene ist der Weg für die Übertragung von Daten und von Steuerinformation vom Prozessor zu einem ΙΟ-Modul. Daten auf der C-Schiene stehen für die Anforderung von einem beliebigen ΙΟ-Modul zur Verfügung.
Die Logik für die Übertragung von Ausgangsdaten von der C-Schiene ist folgendermaßen aufgebaut:
Aktivieren C-Schiene zu dem ΙΟ-Modul - IOMME
wobei IOMME =* ΙΟ-Modul, ausgewählt durch den Mikrobefehl, wie es in der Pig. 17 dargestellt ist.
Die Zeittaktsteuerung der C-Schiene ist in der Fig.19 dargestellt. . . -
Nachfolgend wird die ΙΟ-Unterbrechung erläutert. Der Prozessor verwendet zwei Typen von Unterbrechungssystemen: schnelle Unterbrechungen für Hochgeschwindigkeits-Datenübertragungen nach innen und nach außen und gemultiplexte Eingangs/ Ausgangs-Unterbrechungen. Das schnelle' Unterbrechungssystem gibt eine Antwort der Gerätetechnik zurück, sobald die Unterbrechung angenommen wurde, während das IO-Unterbrechungssystem kein Bestätigungssignal der Gerätetechnik'liefert. Das IO-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/0448
Der Prozessor nimmt bis zu 128 Eingängen für die gemultiplexte Eingangs/Ausgangs-Unterbrechung an, was 128 Einrichtungsaaressen entspricht. Diese Unterbrechung kann durch Mikrooperationskodes in dem MCR-Steuerfeld aktiviert, oder abgeschaltet v/erden. Anforderungen können asynchron in bezug auf die System-Taktgeber seih. 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 ΙΟ-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 χ'8' erzeugt. Sobald diese Adresse zur Verfügung steht, wird sie dazu verwendet, das Flip-Flop zurückzustellen. Somit bleibt das ΙΟ-Unterbrechungs-Flip-Flop hoch, bis die nächste ΙΟ-Unterbrechung in der Reihenfolge der Priorität erreicht wird.
Die nächste PHI-Einheit, die nach der Steuerspeicheradresso χ 1S' verfügbar ist, lädt den Mikrobefehl an diese Stelle in das Mikrosteuerregister 24 zur Ausführung« Wenn somit keine Unterbrechung
509828/0448
-T-
mit höherer Priorität dazwischen kommt, wird der Mikrobefehl_ in.das MikroSteuerregister 24 geladen, und zwar durch die zweite PHI, nachdem NIOINO? tief geht. Dieser Mikrobefehl sollte den Rückstell-Mikrooperationskode im 'Verzweigungs-Steuerfeld und den Mikröoperationskdde 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: '
O -1- 2 3 4- 5 6 7 8 9 10 11 12 13 14 15
χ χ χ χ χ χ x' X-- 1 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 Einrichtungsädresse, um eine Adresse zu erzeugen, wie sie unten dargestellt ist:
0 .1 234-56-789 10 11 12 13 14 15 xxxx ALU Sei 1 Einrichtungsadresse A-Schiene
Diese 12-Bit-Adresse, die jetzt auf der A-Schiene vorhanden ist, wird durch den Prozessor in derselben Weise wie eine unmittelbare Adresse verwendet, welcce von dem MikroSteuerregister zu der A-Schiene übertragen wird. In jedem Falle springt der Steuerspeicher 22 zu der 12-Bit-Adresse. Daher verzweigt der Rückstell-Mikrobefehl auf eine Tabelle im Steuerspeicher 22 zwischen x'0801 und x'OFF1, mit der Annahme ALU-Auswahl = 0.
509828/0448
2 A 52 255
-Die Große dieser Tabelle hängt von der Anzahl der Einrichtung.^- adressen ab, die im System verwendet werden«
Der Inhalt dieserTabplle ist eine Reihe von unbedingten Verzweigungsbefehlen, und zwar mit unmittelbaren Adressen, die den Prozessor dazu bringen, auf den ersten Mikrobefehl in der Exnrichtungsverarbeitungsr-Unterbrechungsroutine zu springen. Somit beträgt die Gesamtzeit von dem Zeitpunkt an, zu welchem NIOINT tief geht, und zwar unter der Annahme, daß keine Unterbrechung mit höherer Priorität dazwischen kommt, bis zu dem Beginn der Ausführung des ersten Mikrobefehls der Unterbrechungsverarbeitung 1,05 Mikrosekunden minimal bis 1,40 Mikrosekunden maximale Die erforderliche Prozessor-Ausführungszeit ist 0,70 Mikrosekundeno
Wenn in alternativer Weise ΙΟ-Modus in dem ursprünglichen Rückstell-Mikrobefehl falsch ist, werden die Bits der unmittelbaren Adresse vom Mikrobefehl als Versweigungsbestim-=- mung verwendet. In diesem Fall kann die Einrichtungsadresse der Unterbrechungs-IO-Steuereinheit später wieder aufgefunden werden, indem ein Mikrobefehl mit MCR = χ 1E8 ausgeführt wird· Dieser MikroOperationskode bringt die lO-Einrichtungs-Steuereinheit dazu, ihre Einrichtungsadresse in dem oben dargestellten Format auf die A«Sehiene zu führen»
Unterbrechungs-Abschaltungι Die gemultiplexte 10-Unterbrechung wird automatisch durch den Prozessor abgeschaltet, wenn irgendeine Unterbrechung angefordert wird, mit der Ausnahme von schnellen Unterbrechungen«, Die Abschaltung tritt zu der Zeit der Ausführung des Mikrobefehls auf s welche an der Unterbrechungsstelle im Steuerspeicher 22 vorhanden ist«, Wenn der Mikrobefehl einen Riickstell-Mikrooperationskode enthält, wird der laufende Status des gemultiplexten lÖ-Aktivierungs-Flip-Flops im Rückstellstapel gespeichert, bevor das Flip-Flop zurückgestellt wird. Am End® der Unterbrechungs-Verarbeitungs-Unterroutine stellt eine'Zieh-Mikrooperationskode' im endgültigen Mikrobefehl das
'S 0-9 82 87 OA 48 '■ ' ;
Aktivierungs-Flip-Flop wieder in seinen ursprünglichen Status__ zurück, ·
Weiterhin wird dann, .wenn eine Unterbrechung angefordert wird, das Signal NINTLOCK tief gelegt. Dieses Signal muß auf den 10-Modul dazu verwendet werden, die Auslösung einer I0-Unterbrechungsanforderung zu verhindern, bis es wahr wird. Ein ΙΟ-Modul, der bereits eine ΙΟ-Unterbrechung anfordert, muß diese Anforderung fortsetzen. Der Zweck von NINTIDCK 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 Unterbrechungsanforderung 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. :
10-Unterbrechungslogik: Diejenigen-logischen Funktionen, welche erforderlich sind, um eine ΙΟ-Unterbrechung auszuführen, sind die Prioritätskette, die Unterbrechungsanforderungund die logische Übertragung der Einrichtungsadresse an die A-Schiene.
Die Prioritätskette oder -reihe besteht in einem Eingangssignal an jeden ΙΟ-Modul, PRIn, und in einem Ausgangssignal'von jedem Modul, PRIn+1, wie es in der Fig. 21 dargestellt ist. Die Gleichung ist: · ·
PRIn+1 a PRIn-NREQ
wobei NREQ = es steht keine Unterbrechungsanforderung an
509828/0448
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 gemultiplexten Unterbrechungsprioritätsreihe.
Die Unterbrephungsanforderung, NIOINT, kann gemäß dem Diagramm in der Fig. 22 ausgeführt werden.
Die Fig. 21 zeigt weiterhin die Beziehung zwischen zwei 10-Moduln in einer IO-Unterbrechungsprioritätskette. Die Prioritätsverbindungen sind in der Weise vorverdrahtet, daß die Ranganordnung eines ΙΟ-Moduls in der Prioritätsreihe durch die gerätetechnische Anordnung festgelegt wird, in 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: χ'4' Prüfung/Verzweigung bei gesetztem externen Zustand
x'51 Prüfung/Verzweigung bei einem rückgestellten externen Zustand.
Jeder ΙΟ-Modul kann einen oder mehrere externe Statuszustände zu einem gemeinsamen Signal liefern, nämlich NEXT, wenn RA-Auswahl und die EinrichtungsausWahlfelder eine IO-Adresse enthalten, welche diesem Modul zugeordnet ist. Darüberhinaus kann mehr als ein externer Zustand pro ΙΟ-Adresse ausgewählt und nach NEXT gemultiplext werden, wenn die zusätzlichen Signale verwendet werden wie A-Schienen-Steuerfeld, BCA08 und B0A09. Andererseits kann die Möglichkeit der Prüfung des äußeren Zustandes bzv/. des externen Zustandes ignoriert werden, wenn eine solche Prüfung in .einer bestimmten Anwendung nicht erforderlich ist«
S09828/Ö448
. - 89 -
Die Operationen im Prozessor, welche von diesen 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 init dem geringsten Stellenwert der C-Schiene als nächste Mikroadresse in.einer Prozedur, welche z\ie± Taktgeberperioden erfordert. Wenn die Prüfung nicht eifblgreich ist, erhöht die Mikroadresse in der Folge, was eine Taktgeberperiode erfordert. Weil 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 Hilfsspeichere/Hauptspeicher-Adresse (16, 18).kann von einem allgemeinen Register 10 kommen (welches durch denselben Mikrobefehl erhöht wird) oder von dem ΙΟ-Modul (Einriehtungs-Steuereinheit).
509828/0448
Das zwischenzeitliche Abzweigen einer Zykluszeit bezieht sich auf das Einsetzen eines Mikrobefehls außerhalb der Folge in die normale Ablauffolge der Prozessoroperationen, ohne daß die Statusbits oder die nächste Mikroadresse beeinflußt werden. Der Status des Prozessors w-ird nicht im Rückstellstapel gespeichert, und braucht somit nicht aus dem Rückstellstapel durch einen späteren Mikrobefehl entfernt zu werden, um die Unterbrechungsfolge wieder aufzunehmen· Stattdessen kann, nach dem Taktzyklus, in welchem der außerordentliche Mikrobefehl ausgeführt wurde, SCU die Operation direkt beim nächsten Mikrobefehl wieder aufnehmen. Dies führt dazu, daß die Möglichkeit der raschen Unterbrechung dazu verwendet werden kann, einen direkten Zugriff zum Hilfsspeicher/Hauptspeicher 16,18 oder zu DMA zu erreichen.
Jede rasche Unterbrechung ist darauf beschränkt, jeweils nur jede zweite Zykluszeit außerhalb der normalen Ablauffolge ab- ' zuzweigen· 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/vojn 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 'zwei Zyklen benötigt, was einer maximalen Durchsatzrate von 714 Kiloworten pro Sekunde entspricht» Wenn beide schnellen Unterbrechungen gleichzeitig mit maximaler Durchsatzrate laufens wird jede beliebige andere Prozessor-Mikrobefehls-Ausführung unterbrochen j, doho, 100 % der Prozessor-Bandbreite werden dirch die sehneilen Unterbrechungen belegt»
Es gibt zwei verschiedene ¥ege9 die Möglichkeit der schnellen Unterbrechung zu verwenden«,.: Bei dem ersten .Weg ist der geräte-
technische Aufwand geringer, es wird jedoch die Verwendung _ der schnellen Unterbrechungen auf eine einzelne lO-Einrichtung begrenzt. Bei dem zweiten Weg ist der gerätetechnische Aufwand etwas höher, es werden jedoch die Möglichkeiten der schnellen Unterbrechung unter vielen ΙΟ-Einrichtungen aufgeteilt.
Logik und Zeittaktsteuerung: Der Empfang einer Anforderung für eine schnelle Unterbrechung 1 oder 2 von einem IO-Modul führt dazu, daß das Flip-Flop 1 oder 2 für die schnelle Unterbrechung in der SOU-Unterbrechungslogik auf die nächste PHI-Einheit gesetzt wird und eine Antwort 1 oder 2 auf die schnelle Unterbrechung an den ΙΟ-Modul zurückgegeben wird. Eine mögliche Logikanordnung ist in der Fig. 26 und im Zeit-Taktdiagramm der Fig. 27 schematisch dargestellt.
Der wahre Ausgang des Flip-Flops'für die schnelle Unterbrechung wird der Unterbrechungsprioritätslogik im Prozessor zugeführt und dann derjenigen Logik, welche die Steuerspeicheradresse χ'6' für die schnelle Unterbrechung Λ oder x'7r 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. x
•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/0448
2A5225S
hoch gelegt werden, nachdem die abfallende Flanke des. Antwortimpulses, FIn9 für das letzte zu übertragende Wort vorliegt. Das Hochlegen von NFIRQn innerhalb dieser Grenze gewährleistet, daß keine zusätzliche Unterbrechung,ausgelöst wird.
Einzelne Hochgeschwindigkeitseinrichtung: Bei dieser Vorgehensweise sind beide schnellen Unterbrechungen in einer einzelnen Hochgeschwindigkeitseinrichtungs-Steuereinheit zusammengefaßt (oder ΙΟ-Modul), wobei eine für EingangsÜbertragungen und die andere für Ausgangsübertragungen verwendet werden kann. Zusätzlich ist oft die Möglichkeit einer Multiplexer-IO-Unterbrechung erforderlich, um den ΙΟ-Modul zu aktivieren, damit eine Reihe von Übertragungen ausgelöst und beendet werden können.
Bevor Datenübertragungen bei einer raschen Unterbrechung beginnen können, ist es erforderlich, die Adresse des ersten Speicherplatzes im Hilfsspeicher/Hauptspeicher zu haben, die in einem allgemeinen Register 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 x'61 oder χ'7' der schnellen Unterbrechung festgelegt ist. Dieses allgemeine Register, welches jetzt als Adressenregister des Hilfsspeichers/ Hauptspeichers dient, wird durch den Unterbrechungs-Mikrobefehl 'bei jeder Übertragung erhöht (oder erniedrigt), um die neue Adresse des Hilfsspeichers/Hauptspeichers zu liefern·
Jedesmal dann, wenn der Benutzer es verlangt, erzeugt der 10-Modul NFIRQn, SOU gibt automatisch Antwort und der Mikrobefehl an der Stelle x'61 oder x1?1 wird ausgeführt. Typischerweise überträgt dieser einzelne Mikrobefehl Daten zum/vom IQ-Modul in/aus dem Hilfsspeicher/Hauptspeicher, und zwar an der Stelle, welche durch das kdressenregister des Hilfsspeichers/ Hauptspeichers festgelegt ist, und erhöht oder erniedrigt dieses Register·
509828/0 4 48
Eine Reihe von Übertragungen bei einer schnellen Unterbrechung wird normalerweise durch eine gemultiplexte IO-Unterbrechung. beendet. Beispielsweise kann vor dem Beginn der Datenübertragung die gerätetechnische Einrichtung eine Wortzählung über die C-Schiene zu einem"Wort-Zählregister im IQ-Modul übertragen. Wenn 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 10-Einrichtung 11, und zwar mit einer minimalen Störung der gerade ablaufenden Prozessoroperationen. Wenn die Technik der raschen Unterbrechung verwendet wird, wird eine ras.che Unterbrechung als Anforderung zum Schreiben im Hilfsspeicher/Hauptspeicher aufgefaßt und die andere als Speicherleseanforderung. Soweit unterscheidet sich die Verwendung der raschen Unterbrechungen nicht von der Technik für eine einzelne Hochgeschwindigkeitseinrichtung.
Bei der Technik der Vielfacheinrichtungen hat jedoch jede 10-Einrichtungs-Steuereinheit ein Hilfsspeicher/Hauptspeicher-Adressenregister, und eine Methode, den Registerinhalt auf die B-Schiene zu bekommen, wenn der Unterbrechungs-Mikrobefehl ausgeführt wird. Darüberhinaus sind alle Einrichtungs-Steuerein- · hexten einer gemeinsamen ΙΟ-Adresse zugeordnet, welche als DMA-Kanaladresse bezeichnet wird. Die Priorität unter den Einrichtungs-Steuereinheiten auf dem DMA-Kanal wird durch
.-50982.8/0448
_ 94 -
eine Prioritätskette geregelt. Jedoch antwortet jede-Einrichtungs-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 Hi.lfsspeicher/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 Aus gangs üb ertragung durch«. .
Die 10-Einriehtungs-Steuereinheit in der nächst höheren Prioritätsstelle, wenn eine solche bereit ists kann in der übernächsten Mikrobefehlsperiode eine Übertragung durchführen« Auf diese Art kann bei einer Anzahl von ΙΟ-Einrichtungen eine Datenübertragung ineinandergeschachtelt werden, und zwar unter Ausnutzung der Möglichkeit, der raschen Unterbrechung,, Eine beliebige Anzahl von lO-Einriahtungen können diese DMA-Anpasseinrichtung verwenden, welche hauptsächloch durch die Notwendigkeit begrenzt ist, die kombinierte Bandbreite der Einrichtungen innerhalb der DMA-Kanalbandbreite zu haltens 1*4-28 Megaworte pro Sekunde, und zwar beim Zwischenspeicher, oder ?14 Kiloworte pro Sekunde beim 'Hauptspeicher, und zwar in diesem Falle«
S 0 9 8 2 8 / 0 4 4 8" .'
• -95.-
Die erforderlichen Elemente für einen ΙΟ-Modul für die DMA-Anpasseinrichtung, wie es in Pig.4-18 schematisch dargestellt ist, sind ein Datenspeicherregister 80, ein Wortzählregister 82, ein·Speicheradressenregister 84 und ein Multiplexer 86 zur bei 1 dargestellten Α-Schiene. Die gemeinsame DMA-Kanaladresse wird für Datenübertragungszwecke verwendet, was durch (1) auf dem Diagramm bezeichnet ist. Die zweite Adresse, welche jeweils speziell für eine 10-Einrichtungs-Steuereinheit dient, wird dazu verwendet, der Einrichtungs-Steuereinheit Steuerinformation zuzu- leiten, 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 A-Schiehe 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 Ein-richtungsadresse 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 χ'7') ist der Datenausgabe aus dem HiSsspeicher/Hauptspeicher 18,16 zugeordnet.
509828/0-448
-T
25 ΙΟ-Steuerung 0
24 O 26 27. Hexadezimalkode 1
O O 0 0
O O 1
- 96· -
Die Programmierung von DMA nutzt die folgenden Anweisungszuordnungen im IO-Steuerfeld aus: _~ . ~
Punktion ;
Keine Wirkung·
Einlesen von Daten vom Benutzer zur Α-Schiene; Übertragung der Speicheradresse zur B-Schiene".
0 0 10 2 Schreiben der Ausgangsdaten von
der C-Schiene an den Benutzer; Übertragen der Speicheradresse auf die B-Schiene..
10 0 1 9 Lesen des Datenpufferregisters
nach A-Schiene.
1 .0 . 1 O A Schreiben der Daten von der C-
Schiene zum Datenpufferregister.
χ 1 O O 4 oder O Beide schnellen Unterbrechungen
abschalten.
Diese Anweisungen werden unten erläutert.
IO-Steuerung = x'11, zusammen mit 1OM= 1 und Verzweigungssteuerung = x'31 erfolgt eine Dekodierung durph 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 gebradt, und die Speicheradresse wird auf die B-Schiene gebracht. Der Mikrobefehl für diesen Zweck wird an. dem Steuerspeicherplatz x'61 abgespeichert und erscheint folgendermaßen:
Lesen der Daten und der Speicheradresse vom Benutzer: '
Platz χ'6': x'nOOO 301m1
Einrichtungs-Auswahl-Teil der DMA-Adresse
Lesen d.er Daten und der Speieheradresse vom ΙΟ-Modul
Schreiben im Hilfsspeicher/Hauptspeicher
HA-Auswahl-feil der DMA-Adresse
plus IOM = Λ ■
509S28/Q448
ΙΟ-Steuerung = x'21, zusammen mit IOM = 1 und VefzWigungs- ~ Steuerung - x'21 erfolgt eine Dekodierung durch alle 10-Moduln, welche den DMA-Kanal teilen. Der ΙΟ-Modul (mit der höchsten Priorität) liefert die Speicheradresse des Hilfsspeichers/Hauptspeichefs 18, 16, und zwar desjenigen Platzes, in welchem die Daten für den Benutzer zu finden sind. Diese Speicheradresse wird auf die B-Schiene gebracht. Daten vom Hilfsspeicher/Hauptspeicher werden von der G-Schiene durch den IO-Modul 4 zur Übertragung zu der ΙΟ-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 a1?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 = χ'V oder x'C, gemeinsam mit IOM = 1 erfolgt eine Dekodierung durch alle ΙΟ-Moduln, welche den DMA-Kanal teilen.Diese Kodes trennen die Leitungen der Anforderung einer raschen Unterbrechung von dem DMA-Kanal zu dem Prozessor und löschen folglich die Möglichkeit des Benutzers, aus dem Hilfsspeicher/Hauptspeicher zu lesen oder in diese Speicher einzuschreiben. Diese Kodes wurden 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.
5098 28/0 448
IO-Steuerang = x'A1, gemeinsam mit 1OM= 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 Datenpuffe rregi st er wird zur Prüfung ausgewählt, indem alle ΙΟ-Moduln auf dem DMA-Kanal mittels der 10-Steuerung - x'V oder x'C1 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.
ΙΟ-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 Sinrichtungssteuereinheiten gemeinsam von einer Verwendung durch schnelle Unterbrechungen abzuschalten. 50 9.828/0 448
-■99 -
Prioritätskette: Die in der Pig. 31 dargestellte Pripritätskette bestimmt, welche Einrichtungssteuereinheit auf die DMA-Adresse ansprechen kann. Jede Einrichtungs-Steuereinheit muß diese Logik für jede schnelle Unterbrechung liefern, die angewandt wird ("bei einigen Steuereinheiten mag eine Datenübertragung in zwei Richtungen nicht erforderlich sein). Die Pig.32 zeigt ein typisches Unterbrechungs-Anforderungs-Plip-Plop.
Die Gleichungen für die Prioritätskette sind folgende:
FInPRIn*1 = PInPEIn-P5EICONT -
Setzen PRICONT = PInPRIn-Ni1In-SET-PHI Rückstellen PRICONT = FInPRIn-IOMME(DMA)-READ-PHM1IDISABLE-
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-Anf.orderungs-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'2', .dekodiert von dem
IO-Steuerfeld. Verwendung der Schreibanweisung für die schnelle Unterbrechung A und der Leseanweisung für die schnelle Unterbrechung 2. FIDISABLE = Abschalten des Flip-Flops für die schnelle Unterbrechung, welches durch IO-Steuerung β x'4-· 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 ent- · sprechende logische Operation des Adressenregisters des Hilfsspeiehers/HauptSpeichers 18,16 an die bei 2 dargestellte B-Schiene, wenn IO-Steuerung = x'11 oder !2'. Die Speicher-
5Q9828/0448
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:
BlMA = FHPRIn0IOMME(DMA) »WEITE +
EI2PRIn°IOMME(DMA)-READ
JJIMHB sperrt den Prozessor, so daß keine anderen Daten auf die B-Schiene gebracht werden können» Die Fig, 3>4 stellt ein Zeittaktdiagramm dar, welches die verschiedenen Anpass-Signale zeigt, die verwendet werden, wenn zwei Einrichtungs-Steuerein-Jieiten vom DMA-Typ gleichzeitig Unterbrechungen anfordern» Dabei ist angenommen, daß die Unterbrechungsanforderung.(REQREAD) in der Weise erhöht wird, wie es in der Figo 52 dargestellt ist«
Standard-IQ-Steuerungι Sieben Felder des Mikrobefehls nehmen ©a der Steuerung der Funktionen auf SIOM teile Sechs dieser !"elder sind gekennzeichnet, für Eingangs/Ausgangs-Zwecke, und swar in vorangegangenen Abschnitten, und sie sind dort vollständig definierte Das siebte Feld, die ΙΟ-Steuerung, wird unten definiert, und zwar bei einer Verwendung auf SIOM,
¥exra I0-Modus 1 ist und C-Schienen/Register-Steuerung nicht ^9B* ist, werden die Bits 24-2? sum Eingangs/Ausgangs-Steuer-
IQ=Steuerung ' Funktion
0 0 Lesen des IQ-*Registers? welches durch RA-Auswahl adressiert ist, und der Einrichtungs-Auswahlfelder su der A-Schiene.
0 1 Lesen des IQ-Registers, welches durch die RA-Auswanl- und die Einrichtungs-Auswahlfeider adressiert ist, zn der Α-Schiene und Einschreiben der Daten von der.C-Schiene in das IQ-Register, welches durch die SÄ~Auswahl- und die Einrichtungs-Auswahlfelder adressiert ist»
0A&8
--1OT -
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 C-Schiene in das ΙΟ-Register, welches durch die RA-Auswahl- und die Einrichtungs-Auswahlfelder 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 Pig. 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 Pafferregister 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
50982.8/0448' .
können entweder zu der "bei 1 dargestellten A-S_chiene_ von dem 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 2s1~Multiplexer 96 wählt die Quelle für die A-Schiene.
lO-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,
Venn NDISABLE falsch ist, wird der Ausgang zu der IO-Schiene von dem ΙΟ-Register des ausgewählten Bytes abgeschaltet, und einlaufende Daten können auf diesen Teil der IO-Schiene gebracht werden. Wenn NDISABLE hoch liegt, wird der Ausgang des ausgewählten Bytes von der IO-Schiene aktiviert, und dieser Abschnitt der Schiene sollte nicht für eine Eingabe verwendet werden.
ΙΟ-Aktiv: Abtastimpulse, welche für eine IO-Anpasseinrichtung benötigt werden, werden normalerweise durch das Mikroprogramm erzeugt, indem ein Vorzuordnungs-IO-Schienenbit als Abtastsignal verwendet wird. Diese Art der Verwendung bringt die spezielle Gerätetechnik bei dem ΙΟ-Modul auf ein Minimum, indem stattdessen der MikroOperationskode verwendet wird.
Es gibt jedoch bestimmte Fälle, in welchen diese Technik entweder unbequem oder langsam ist. Für diese Fälle ist ein einzelnes lO-Aktiv-Signal auf jedem IO-Mödul vorgesehen. Dieses Signal wird einem der vier ΙΟ-Bytes auf dem Modul aufgetastet
509828/0448
(dem Byte mit dem geringsten Stellenwert des ungeraden Registers).
ΙΟ-Aktiv wird unbedingt durch zwei Werte des IO-Steuerfeldes erzeugt:
10 Lesen ΙΟ-Schiene nach 'A-Schiene
11 Lesen ΙΟ-Schiene nach Α-Schiene und Schreiben 10-Eegister von C-Schiene
IO Aktiv kann bedingt durch folgenden Wert des IO-Steuerfeldes erzeugt werden.
01 Lesen IO-Eegister nach Α-Schiene und Schreiben 10-
Register von C-Schiene. Die Bedingung besteht darin, daß das Byte für den Ausgang am Ende der Ausführung des Mikrobefehls aktiviert ist, d.h., entweder durch den laufenden Mikrobefehl oder durch einen vorangegangenen Mikrobefehl aktiviert ist und durch den laufenden Mikrobefehl nicht abgeschaltet ist.
Die Fig. 57 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 Verfugung stehen. Der Impuls weist eine Nennbreite von 150 ns auf.
(remultiplexte ΙΟ-Unterbrechungen: Der Prozessor hat einen einzelnen Unterbrechungspegel, welcher dem allgemeinen Eingang/ Ausgang zugeordnet ist. Dieser TJnterbrechungspegel ist zwischen den ΙΟ-Plätzen gemultiplext und ist bei den I0-Moduln zwischen zwei Unterbrechereingängen gemultiplext, wie es in der S1Ig. 38 dargestellt ist.
Der Empfang einer Unterbrechung aktiv-tief, NINT(E) oder NINT(O), vom,Benutzer setzt das Anforderungs-Hip-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/0448
1. KIOINT 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 A-Sehiene beim Empfang von AXDASTROBE vom Prozessor wird aktiviert.
Wenn die Unterbrechungs-Bearbeitungsroutine beginnt, so wird durch die gerätetechnische Einrichtung des Prozessors automatisch jegliche gemultiplexte ΙΟ-Unterbrechung abgeschaltet, um eine Störung von anderen ΙΟ-Unterbrechungen zu verhindern. Die ΙΟ-Unterbrechungen werden erneut aktiviert, wenn:die Bearbeitungsroutine beendet ist.'
IO-Unterbrechungssignale werden auf einer Anforderung^/ Antwort-Basis erzeugt, wie es in der Fig. 39 dargestellt ist. Dies bedeutet, ein unterbrechungssignal sollte auf aktiv-tief gebracht werden und in diesem Zustand bleiben, bis das Mikroprogramm antwortet. Diese Antwort kann die Form eines Impulses .auf einer Leitung der IO-Schiene 6 haben, welche für diesen Zweck zugeordnet ist. Das Mikroprogramm sollte diese Antwort nicht erzeugen, bis es festgelegt hat, welche Benutzereinrichtung die Unterbrechung erzeugte·
Prüfung des externen Zustandes: Jeder ΙΟ-Modul nimmt vier externe Zustandsleitungen 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,
5 Of823/Q UB
Die RA-Auswahl-, Einrichtungs-Auswahl- und A-Schienen-Steuerfelder adressieren die Leitungen des externen Zustandes folgendermaßen:
1. Die sechs Bits mit dem höchsten Stellenwert.von RA-Auswahl und Einrichtungsauswahl adressieren den ΙΟ-Modul, welcher seinen externen Status auf die Leitung NEXT bringen soll.
2. Das Bit mit dem geringsten Stellenwert von RA-Auswahl und Einrichtungs-Auswahl adressiert das gerade oder ungerade Paar von externen Zustandsleitungen auf dem ausgewählten IO-Modul. ·
3. A-Schienen-8teuerung wählt die linke oder die rechte externe Zustandsleitung des geraden oder des ungeraden Paares folgendermaßen:
00 Rechts
01 Links
10 Rechts
11 Rechts
Es ist zu bemerken, daß dann, wenn die A-Schienen-Steuerung die Arbeitsschiene A festlegt (00) oder MAR zur A-Schiene (11) die rechte Abtastleitung gewählt ist.
Aus der obigen Beschreibung dürfte ersichtlich sein, daß eine Vielzahl von verschiedenen Eingangs/Ausgangs-Einrichtungen ' ■ wie ein Fernschreiber^ ein Papierstreifenleser, ein Papierstreifenstanzer, eine Magnetbandeinrichtung, eine Magnetplatt eneinrichtung, ein Drucker oder ähnliche Einrichtungen innerhalb der Bandbreitengrenzen an den Prozessor über Standardoder Spezial-Eingangs/Ausgangs-Moduleinheiten angeschlossen werden können. Spezielle Einzelheiten besonderer Einrichtungs-
509828/0448
.- 106 -
Anpasseinrichtungen werden hier nicht im eirräelnen~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/0448

Claims (1)

  1. Patentansprüche
    1. Mikroprozessor, dadurch g e k e η η zeichnet, daß ein Steuerspeicher (22, 23) zur Abspeicherung von " Steuerworten an adressierbaren Stellen vorhanden ist, daß weiterhin eine Einrichtung vorgesehen ist, welche dazu dient, den Steuerspeicher (22, 23) zu adressieren, daß weiterhin eine erste Sammelschiene (A), eine zweite Sammelschiene (B) und eine dritte Sammelschiene (C) vorhanden sind, daß weiterhin eine Eingangs/Ausgangs-Einrichtung extern zu dem Mikroprozessor angeordnet und mit der ersten, der zv/eiten und der dritten Sammelschiene (A, B, C) verbunden ist, daß weiterhin eine ■ Einrichtung vorhanden ist, welche dazu dient, die Operation des Mikroprozessors zu unterbrechen, daß weiterhin eine Einrichtung vorgesehen ist, welche auf die Einrichtung zur unterbrechung anspricht, um die Adresse des Steuerspeichers (22, 23) in eine gewünschte Adresse umzuwandeln, daß weiterhin eine Einrichtung vorhanden ist, um Eingangssignale auf die erste Sammel- . schiene (A) zu bringen, daß weiterhin eine Einrichtung vorhanden ist, um Eingangssignale auf die zweite Sammelschiene (B) zu bringen, und daß eine Einrichtung vorgesehen ist, welche auf ein Steuerwort an der gewünschten Adresse anspricht, um die. Eingangssignale auf der ersten Sammelschiene (A) und der zweiten Sammelschiene (B) zu verwenden»
    2- Mikroprozessor nach Anspruch 1, dadurch gekennzeichnet, daß die Eingangssignale auf der ersten Sammelschiene (A) Datensignale und die Eingangssignale auf der zweiten Sammelschiene (B) Datensignale sind>
    509828/0448
    3- Mikroprozessor nach Anspruch 1 oder 2, dadurch g e k e; η η zeichnet, daß eine arithmetische Einheit (wie 44) vorhanden ist, welche zwischen der ersten und der zweiten· Sammelschiene (A,B) und der dritten Sammelschiene (C) angeordnet ist, und daß die arithmetische Einheit (wie 44) mit den Daten der Sammelschienen (A, B, C) eine arithmetische Operation ausführt und das Ergebnis auf die dritte Sammelschiene. (C) bringt.
    4. Mikroprozessor nach Anspruch 3, dadurch g e k e η η ζ e i c h net, daß die Daten von der dritten Sammelschiene (C) durch die Eingangs/Ausgangseinrichtung aufgenommen werden.
    5- Mikroprozessor nach Anspruch Λ oder 2, dadurch g e k e η η zeich η. e t , daß eine logische Einheit (wie 44) zwischen der ersten und der zweiten Sammelschiene (A, b) und der dritten Sammelschiene (C) angeordnet ist, und daß die logische Einheit (wie 44) mit den Daten auf den Sammelschienen (A,B,C) eine logische Operation ausführt und das Ergebnis auf die dritte Sammelschiene (C) bringt,
    6. Mikroprozessor nach einem der Ansprüche 3 oder 5» dadurch gekennzeichnet , daß die Daten von der dritten Sammelschiene. (G) durch die Eingangs/Ausgangs-Einrichtung aufgenommen werden.
    7. Mikroprozessor, dadurch gekennzeichnet , daß ein Steuerspeicher (22s, 25) zur Abspeicherung von Steuerworten vorgesehen ist, daß weiterhin eine Taktgebereinrichtung (50) zur Erzeugung eines Taktgebersignals vorhanden ist, daß weiterhin eine erste Sammelschiene (A) und eine zweite Sammelschiene (B) vorgesehen sind, daß weiterhin ein adressierbares Element vorhanden ist, welches an die erste und die zweite Sammelschiene (A,B) angeschlossen ist, daß xireiterhin eine
    509828/0 4 48
    .24522SS
    arithmetische und logische Einheit (.MA-) an die erste und die zweite Sammelschiene (A,B) angeschlossen ist, daß • weiterhin eine Eingabeeinrichtung extern zu dem Mikroprozessor vorhanden ist, um Signale an die. erste Sammelschiene (A) oder an die zweite.Sammelschiene (B) oder an sowohl die erste als auch die zweite Sammelschiene (A1B) zu liefern, daß weiterhin eine Einrichtung in der Eingabeeinrichtung vorhanden ist, um ein Unterbrechungssignal zu liefern, welches dazu dient, die Operation des Mikroprozessors zu unterbrechen, daß weiterhin eine Einrichtung in dem Mikroprozessor vorhanden ist, um auf das Unterbrechungssignal zu antworten, daß weiterhin in der Eingabeeinrichtung eine Einrichtung vorgesehen ist, welche in Reaktion auf die Unterbrechungsantwort Daten auf die erste Sammelschiene (A) bringt und eine Adresse des adressierbaren Elementes auf die zweite Sammelschiene (B) bringt, und daß eine Einrichtung vorhanden ist, welche auf das Taktgebersignal anspricht, um Daten an der adressierten Stelle der adressierbaren Einrichtung abzuspeichern.
    8. Mikroprozessor nach Anspruch 7, dadurch gekennzeichnet, daß die adressierbare Einrichtung ein Registerblock (10) ist.
    9. Mikroprozessor nach Anspruch 7» dadurch gekennzeichnet , daß das adressierbare Element ein Direktzugriffsspeicher ist.
    10. Mikroprozessor nach Anspruch 7, dadurch g e k e η η -. ζ e i c h η e t , daß eine dritte Sammelschiene (C) und eine extern zu dem Mikroprozessor angeordnete Ausgabeeinrichtung vorgesehen sind, um eine Bestimmung für die Signale auf der dritten Sammelschiene (C) zu liefern. .
    509828/0448
    .11. Mikroprozessor nach Anspruch 10, dadurch g e k en η zeichnet, daß eine Einrichtung vorgesehen ist, welche auf ein Taktgebersignal anspricht, um eine Adresse des adressierbaren Elementes, auf die zweite Sammelschiene (B) zu bringen, und daß weiterhin eine Einrichtung vorgesehen ist, welche auf das Taktgebersignal anspricht, um den Inhalt des adressierbaren Elementes an der Adresse auf die dritte Sammelschiene (G) zu bringen.
    12. Mikroprozessor, dadurch gekennzeichnet , daß ein Steuerspeicher (22, 23) zur Abspeicherung von Steuerworten vorhanden ist, daß weiterhin eine Taktgebereinrichtung (50) vorgesehen ist, welche dazu dient, ein Taktgebersignal zu erzeugen, daß weiterhin.eine Adressenschiene und eine Bestimmungsschiene vorhanden sind, daß weiterhin ein adressierbares Element mit der Adressenschiene und der Bestimmungsschiene verbunden ist, daß weiterhin eine Eingabe/Ausgabe-Einrichtung .extern zu dem Mikroprozessor vorgesehen ist, welche dazu dient, eine Adresse an die erste Schiene zu liefern und Daten von der Bestimmungsschiene aufzunehmen, daß weiterhin eine Einrichtung vorhanden ist, welche auf das Taktgebersignal anspricht, um die Adresse dem adressierbaren Element zuzuführen, und daß weiterhin eine Einrichtung vorhanden ist, welche auf das Taktgebersignal anspricht, um den Inhalt des adressierbaren Elementes an der adressierten Stelle auf die Bestimmungsschiene zu bringen.
    13. Mikroprozessor nach Anspruch 12, dadurch gekennzeichnet, daß das adressierbare Element ein Registerblock (wie 10) ist«
    14. Mikroprozessor nach Anspruch 12, dadurch g e k e η η ' zeichnet, daß das adressierbare Element ein . Direktzugriffsspeicher ist. 1 .
    50 98 28/0448
    L'eerseite
DE19742452255 1973-12-26 1974-11-04 Eingabe/ausgabe-einrichtung fuer einen mikroprozessor Pending DE2452255A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/428,597 US3938098A (en) 1973-12-26 1973-12-26 Input/output connection arrangement for microprogrammable computer

Publications (1)

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

Family

ID=23699598

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19742452255 Pending DE2452255A1 (de) 1973-12-26 1974-11-04 Eingabe/ausgabe-einrichtung fuer einen mikroprozessor

Country Status (5)

Country Link
US (1) US3938098A (de)
JP (1) JPS5097245A (de)
CA (1) CA1017069A (de)
DE (1) DE2452255A1 (de)
GB (1) GB1493818A (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2554425A1 (de) * 1975-12-03 1977-06-16 Siemens Ag Anordnung zum gegenseitigen anpassen von steuersignale austauschenden geraeten

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2364253A1 (de) * 1973-12-22 1975-06-26 Olympia Werke Ag Schaltungsanordnung fuer mikroprogrammierte geraete der datenverarbeitung
US4050058A (en) * 1973-12-26 1977-09-20 Xerox Corporation Microprocessor with parallel operation
GB1507178A (en) * 1974-10-30 1978-04-12 Motorola Inc Microprocessor integrated circuit and chip
US4263650B1 (en) * 1974-10-30 1994-11-29 Motorola Inc Digital data processing system with interface adaptor having programmable monitorable control register therein
US4032896A (en) * 1974-10-30 1977-06-28 Motorola, Inc. Microprocessor having index register coupled to serial-coupled address bus sections and to data bus
GB1505535A (en) * 1974-10-30 1978-03-30 Motorola Inc Microprocessor system
US4030079A (en) * 1974-10-30 1977-06-14 Motorola, Inc. Processor including incrementor and program register structure
DE2638125A1 (de) * 1975-09-04 1977-03-17 Tokyo Shibaura Electric Co Datenverarbeitungssystem
US4071887A (en) * 1975-10-30 1978-01-31 Motorola, Inc. Synchronous serial data adaptor
US4225917A (en) * 1976-02-05 1980-09-30 Motorola, Inc. Error driven interrupt for polled MPU systems
US4045782A (en) * 1976-03-29 1977-08-30 The Warner & Swasey Company Microprogrammed processor system having external memory
US4042914A (en) * 1976-05-17 1977-08-16 Honeywell Information Systems Inc. Microprogrammed control of foreign processor control functions
JPS5352029A (en) * 1976-10-22 1978-05-12 Fujitsu Ltd Arithmetic circuit unit
US4213176A (en) * 1976-12-22 1980-07-15 Ncr Corporation System and method for increasing the output data throughput of a computer
US4217638A (en) * 1977-05-19 1980-08-12 Tokyo Shibaura Electric Co., Ltd. Data-processing apparatus and method
US4144562A (en) * 1977-06-23 1979-03-13 Ncr Corporation System and method for increasing microprocessor output data rate
US4228498A (en) * 1977-10-12 1980-10-14 Dialog Systems, Inc. Multibus processor for increasing execution speed using a pipeline effect
JPS5474651A (en) * 1977-11-28 1979-06-14 Toshiba Corp Stack control system
JPS54104251A (en) * 1978-02-02 1979-08-16 Toshiba Corp Data processor
JPS54107643A (en) * 1978-02-13 1979-08-23 Toshiba Corp Operation control method and unit executing structured program
US4314353A (en) * 1978-03-09 1982-02-02 Motorola Inc. On chip ram interconnect to MPU bus
US4213177A (en) * 1978-04-24 1980-07-15 Texas Instruments Incorporated Eight bit standard connector bus for sixteen bit microcomputer using mirrored memory boards
US4214302A (en) * 1978-04-24 1980-07-22 Texas Instruments Incorporated Eight bit standard connector bus for sixteen bit microcomputer
US4375665A (en) * 1978-04-24 1983-03-01 Texas Instruments Incorporated Eight bit standard connector bus for sixteen bit microcomputer using mirrored memory boards
US4446533A (en) * 1978-09-07 1984-05-01 National Research Development Corporation Stored program digital data processor
US4648063A (en) * 1978-10-30 1987-03-03 Phillips Petroleum Company Programming a peripheral computer
US4263649A (en) * 1979-01-05 1981-04-21 Mohawk Data Sciences Corp. Computer system with two busses
US4365293A (en) * 1980-03-28 1982-12-21 Pitney Bowes Inc. Serial communications bus for remote terminals
IT1149809B (it) * 1980-06-12 1986-12-10 Honeywell Inf Systems Sequenziatore per unita' di controllo microprogrammata
JPS5757345A (en) * 1980-09-24 1982-04-06 Toshiba Corp Data controller
US4939640A (en) * 1981-05-22 1990-07-03 Data General Corporation Data processing system having unique microinstruction control and stack means
US4551835A (en) * 1983-06-27 1985-11-05 International Business Machines Corporation X.21 Switching system
JPS62126440A (ja) * 1985-11-27 1987-06-08 Nec Corp 情報処理装置
US4851990A (en) * 1987-02-09 1989-07-25 Advanced Micro Devices, Inc. High performance processor interface between a single chip processor and off chip memory means having a dedicated and shared bus structure
US4855899A (en) * 1987-04-13 1989-08-08 Prime Computer, Inc. Multiple I/O bus virtual broadcast of programmed I/O instructions
US5018098A (en) * 1987-05-07 1991-05-21 Fujitsu Limited Data transfer controlling apparatus for direct memory access
JPH0648461B2 (ja) * 1987-07-09 1994-06-22 日本電気株式会社 マイクロプログラムの転送レジスタ指定方式
US5230067A (en) * 1988-05-11 1993-07-20 Digital Equipment Corporation Bus control circuit for latching and maintaining data independently of timing event on the bus until new data is driven onto
US5121487A (en) * 1989-02-21 1992-06-09 Sun Microsystems, Inc. High speed bus with virtual memory data transfer capability using virtual address/data lines
AU6642290A (en) * 1989-10-17 1991-05-31 Maurice E. Mitchell A microcomputer with disconnected, open, independent, bimemory architecture

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3462744A (en) * 1966-09-28 1969-08-19 Ibm Execution unit with a common operand and resulting bussing system
US3517171A (en) * 1967-10-30 1970-06-23 Nasa Self-testing and repairing computer
US3646522A (en) * 1969-08-15 1972-02-29 Interdata Inc General purpose optimized microprogrammed miniprocessor
JPS514381B1 (de) * 1969-11-24 1976-02-10
US3737861A (en) * 1970-04-01 1973-06-05 Honeywell Inc Input/output bus
US3815099A (en) * 1970-04-01 1974-06-04 Digital Equipment Corp Data processing system
US3745532A (en) * 1970-05-27 1973-07-10 Hughes Aircraft Co Modular digital processing equipment
US3761893A (en) * 1970-07-02 1973-09-25 Modicon Corp Digital computer
US3702988A (en) * 1970-09-14 1972-11-14 Ncr Co Digital processor
US3698007A (en) * 1970-11-30 1972-10-10 Honeywell Inc Central processor unit having simulative interpretation capability
US3757306A (en) * 1971-08-31 1973-09-04 Texas Instruments Inc Computing systems cpu
US3813651A (en) * 1971-12-29 1974-05-28 Tokyo Shibaura Electric Co Data processing system
US3748649A (en) * 1972-02-29 1973-07-24 Bell Telephone Labor Inc Translator memory decoding arrangement for a microprogram controlled processor
US3753236A (en) * 1972-03-31 1973-08-14 Honeywell Inf Systems Microprogrammable peripheral controller
US3815104A (en) * 1973-01-18 1974-06-04 Lexitron Corp Information processing system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2554425A1 (de) * 1975-12-03 1977-06-16 Siemens Ag Anordnung zum gegenseitigen anpassen von steuersignale austauschenden geraeten

Also Published As

Publication number Publication date
US3938098A (en) 1976-02-10
GB1493818A (en) 1977-11-30
JPS5097245A (de) 1975-08-02
CA1017069A (en) 1977-09-06

Similar Documents

Publication Publication Date Title
DE2452255A1 (de) Eingabe/ausgabe-einrichtung fuer einen mikroprozessor
DE2452214A1 (de) Mikroprozessor mit unmittelbarer und indirekter adressierung
DE2716369C2 (de)
DE2117936C3 (de) Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems
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
DE2907181C2 (de) Prozessor mit einem Befehlssatz-Modifizierregister
DE3687666T2 (de) Verzweigungssteuerung in einem dreiphasen-pipeline-signalprozessor.
DE1815078C3 (de) Elektronisches Datenverarbeitungssystem
EP0952520B1 (de) Vorrichtung zur fehlertoleranten Ausführung von Programmen
DE1449532B2 (de) Datenverarbeitungsanlage
DE2459675A1 (de) Datenverarbeitungssystem
DE2322674B2 (de) Mikroprogramm-Steuereinrichtung
DE2702090B2 (de) Datenverarbeitungssystem mit einem zentralen Prozessor
DE2357003A1 (de) Programmierbarer prozessor
DE2219918A1 (de) Programmierbares Steuergerät
DE2316296A1 (de) Durch mikroprogramme steuerbare verarbeitungseinrichtung
DE2747146A1 (de) Datenverarbeitungsanlage
DE2908691A1 (de) Digitalrechner
DE2536622A1 (de) Mikroprogrammsteuerung mit flexibler auswahl von steuerworten
DE1922304A1 (de) Datenspeichersteuergeraet
DE2245284A1 (de) Datenverarbeitungsanlage
DE2835110A1 (de) Schneller echtzeit-rechneremulator
DE2745204A1 (de) Mikroprogramm-leitwerk fuer eine datenverarbeitungsanlage

Legal Events

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