DE2316296C2 - Mikroprogrammierbarer Prozessor - Google Patents
Mikroprogrammierbarer ProzessorInfo
- Publication number
- DE2316296C2 DE2316296C2 DE2316296A DE2316296A DE2316296C2 DE 2316296 C2 DE2316296 C2 DE 2316296C2 DE 2316296 A DE2316296 A DE 2316296A DE 2316296 A DE2316296 A DE 2316296A DE 2316296 C2 DE2316296 C2 DE 2316296C2
- Authority
- DE
- Germany
- Prior art keywords
- register
- microinstruction
- numbered
- area
- odd
- 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.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/226—Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/264—Microinstruction selection based on results of processing
- G06F9/265—Microinstruction selection based on results of processing by address selection on input of storage
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Executing Machine-Instructions (AREA)
Description
Die Erfindung bezieht sich auf einen mikroprogrammierbaren Prozessor für die Verbindung ·πι peripheren
Einrichtungen und Teilen einer zentralen Verarbeitungseinheit eines digitalen Rechnersysteme Ein solcher
mikroprogramm ierbarer Prozessor stellt in e; \em digitalen Rechnersystem bzw. EDV-Anlage eine Schnittstelle
für Daten- und Steuersignale dar, die zwischen den peripheren Einrichtungen, wie Eingabe-/Ausgabegeräten,
Bandbedienungsgeräten oder Magnetplatteneinheiten usw., und der zentralen Verarbeitungseinheit übertragen
werden. Wegen der unterschiedlichen, durch die technische Struktur bedingten Eigenschaften der zu verbindenden
Einrichtungen, d. h. periphere Geräte einerseits und zentrale Verarbeitungseinheit andererseits, wie
z. B. stark unterschiedliche Arbeitsgeschwindigkeiten für die Signalverarbeitung, bewirkt ein mikroprogrammierbarer
Prozessor nach der Erfindung eine kompatible Anpassung im Ablauf der Verarbeitungsvorgänge in
den zu verbindenden Einheiten im wesentlichen dadurch, daß er die Fähigkeit einer Pufferung und einer Verarbeitung
von Daten- und Steuersignalen aufweist.
Ein Hauptproblem beim Entwurf von Rechnersystemen stellt die Bereitstellung einer wirkungsvollen Eingabe/Ausgabe-Verarbeitung
dar. Es ist im Hinblick auf zentrale Verarbeitungswerke üblich, einen erheblichen
Teil ihrer Arbeitszeit nutzlos verstreichen zu lassen, und zwar in der Erwartung des Abschlusses von Eingabe/
Ausgabe-Operationen, oder dadurch, daß eine nicht festliegende Zeitspanne für die Bereitstellung von organisatorischen
Teilprogrammen bzw. Routinen für Eingabe/Ausgabe-Operationen aufgewandt wird. Im allgemeinen
sind Eingabe/Ausgabe-Einrichtungen zeichenorientiert, wobei die Zeichen gewöhnlich durch sechs bis neun
Bits umfassende Binärsignale dargestellt sind und wobei die Zeichen gewöhnlich in Aufzeichnungen zusammengefaßt
bzw. gruppiert sind, welche z. B. einer auszudruckenden Ausgabezeile oder einem Satz von Dateninformationen,
wie einer Lohnabrechnungsinformation für einen einzelnen, entspricht. Normalerweise ist eine
Anzahl von Aufzeichnungen für eine gegebene Eingabe/Ausgabe-Operation zu einer Gruppe zusammengefaßt,
die generell eine Datei bildet. Auf der anderen Seite sind c!<e zentralen Verarbeitungsteile von Allzweck-Rechensystemen
im allgemeinen wortorientiert, wobei eine Informationsverarbeitung auf der Basis von Worten
erfolgt, die eine charakteristische Länge von 36 Bits besitzen, wobei keine von Natur aus gegebene Aufzeichnung
oder Dateistruktur vorliegt. Faktoren dieser Art führen zur Forderung nach einer wirkungsvollen Eingabe/
Ausgabe-Verarbeitung und zu Schwierigkeiten.
Weitere Probleme werden durch uie starken Unterschiede in den Steuerungsanforderungen für die verschiedenen
Arten von peripheren Einrichtungen hervorgerufen. Mit der Erzeugung von gedruckten Ausgabezeilen
für eine Listenerstellung und für die Erzielung einer Aufzeichnung von einer Platteneinheit mit geeigneten
Suchbefchlen, etc. sind sehr verschiedene Steuerfolgen verbunden. Darüber hinaus ist es erforderlich, einen so
hoch wie möglich liegend η Pegel bezüglich einer Fehlererkennung, Hardwareprüfung und Fehlerdiagnosen zu
halten, um nämlich einen fehlerfreien Betrieb zu gewährleisten und die Störungszeit auf einen minimalen Wert
herabzusetzen, welche die gesamte Datenverarbeitungsanlage aufhält. Für Einrichtungen mit einer hohen
% Übertragungsgeschwindigkeit stellt eine derartige Möglichkeit ein schwieriges Problem dar. Außerdem rufen
Eingabe/Ausgabc-Operationen nach erfolgter Auslösung häufig Echtzeit-Verarbeitungsforderungen für eine
J1 erfolgreiche Beendigung hervor. Zentrale Verarbeitungseinrichtungen bzw. -Werke sind jedoch sequentiell
arbeitende Maschinen, die nicht auf einer Echtzeitbasis orientiert sind. Obwohl Unterbrechungsmechanismen
und eine Mehrfachprogrammierung einen Allzweckrechner in den Stand versetzen können, die meisten Echtzeitforderungen
zu erfüllen, ist jedoch die Verarbeitungswirksamkeit häufig erheblich reduziert.
Aus Gründen, wie den vorstehend angegebenen, ist es daher in höchstem MaZe erwünscht, soviel wie möglich
von den System-Eingabe/Ausgabe-Steuerfunktionen in dem peripheren Einrichtungssteuerwerk unterzubringen,
sofern dies wirtschaftlich vorgenommen werden kann. Besitzt darüber hinaus das Steuerwerk eine ausreichende
Flexibilität, um verschiedene Arten von peripheren Steuereinrichtungen zu steuern, so dürfte einzusehen
sein, daß das betreffende Steuerwerk eine erhebliche Fähigkeit hinsichtlich Verknüpfungsfunktionen und
einer rechnerischen Verarbeitung besitzen muß. Darüber hinaus muß das betreffende Steuerwerk eine hinreichende
Übertragungsgeschwindigkeit besitzen, um Datenübertragungsfreqüenzen in der Größenordnung
von einer Million Bytes pro Sekunde zu ermöglichen.
Der Einsatz mikropro^rummierbarer Prozessoren in digitalen Rechnersystemen und EDV-Anlagen ist bereits
bekannt (/.. B. US-P 36 29 853; oder die Mikroprogrammierung beim IBM System/360, Modell 40, wie beschrieben
in dem Buch »Microprogramming - Principles and Practices«, von S. S. Husson, Verlag Prentice-Hall,
Englewood Cliffs, N.J. .V0. S. 219-242 und S. 274-279).
Bei der in der LJS-P 36 29 853 beschriebenen Steuerungseinrichtung Tür eine EDV-Anlage wird versucht, eine
flexiblere und schnelle Operationsweise zu erzielen durch gleichzeitige Verarbeitung von mehr als jeweils nur
einem Befehl. Dabei ist diese bekannte EDV-Anlage so organisiert, daß sie die Einleitung von zwei wahrscheinlicheren
Maßnahmen beginnt, bevor die Ergebnisse eines Vergleiches abgeschlossen sind. Wenn das jeweilige
tatsächliche Vergleichsergebnis indessen bestimmt ist, dann wird die weitere Durchführung des jeweiligen
Befehls entweder gestattet ode aber gesperrt. Diese Maßnahme ermöglicht durchaus eine Steigerung der Datenverarbeitungsgeschwindigkeit,
vor allem in Verbindung mit Tabellensuchvorgängen, aber es erfolgt die Verarbeitung
von Befehlen lediglich in einer Überlappungsweise und auch nicht mit dem speziellen Ziel, eine kompatible
Anpassung im Ablauf der Verarbeitungsvorgänge zwischen peripheren und zentralen Einheiten der
ίο EDV-Anlage herbeizuführen. Durch die in dergenannten US-Patentschrift offenbarten Maßnahmen kann die in
der betreffenden bekannten Rechenanlage verwendete zentrale Verarbeitungseinheit in bezug auf die angeschlossenen
peripheren Einheiten jedoch auch nur relativ langsam betrieben werden.
Bei dem bekannten IBM System/360, Modell 40, wird die Eingabe/Ausgabe-Information über sogenannte
Kanäle übertragen, die man als unabhängige kleine Prozessoren ansehen kann, um die Eingabe/Ausgabeis
Operationen gleichzeitig mit Verarbeitungsoperationen der Zentraleinheit (CPU) durchführen zu können. Die
über diese Kanäle übertragenen Informationen laufen nicht direkt zum bzw. vom Hauptspeicher, sondern durch
einen gemeinsamen Datenbus in der Zentraleinheit und anschließend über die einzige Zugriffsleitung zum
Hauptspeicher. Diese Daicnfiußstrukiui !cgi ucf Flexibilität bei den Möglichkeiten der Mikroprogrammsteuerung
und Verarbeitungsleistung des Gesamtsystems unerwünschte Beschränkungen auf, so daß auch hier die
kompatible Anpassung im Ablauf der Verarbeitungsvorgänge zwischen den peripheren und zentralen Einheiten
der EDV-Anlage nicht erreicht wird.
Der Erfindung liegt demgemäß die Aufgabe zu Grunde, einen mikroprogrammierbaren Prozessor für die
Verbindung von peripheren Einrichtungen und Teilen einer zentralen Verarbeitungseinheit eines digitalen
Rechnersystems zu schaffen, ihn mit hoher Arbeitsgeschwindigkeit betreibbar auszubilden zum Zwecke der
Erreichung einer kompatiblen Anpassung im Ablauf der Verarbeitungsvorgänge zwischen peripheren und zentralen
Einheiten des Flechnersystems, was insgesamt dazu führen soll, die Verarbeitungsleistung des Gesamtsystems
zu erhöhen.
Gelöst wird die vorstehend aufgezeigte Aufgabe bei einem mikroprogrammierbaren Prozessor mit einem
Steuerspeicher, in welchem eine Vielzahl von Mikrobefehlswörtern gespeichert ist, deren jedes in einem
bestimmten Format einen einem Mikrobefehlskommando zugehörigen Operationscode aufweist, wobei die
Operationscodes ausgelesener Mikrobefehlswörter zur Erzeugung von Steuersignalen jeweils einem Decoder
zugeführt und von diesem decodiert werden, mit einer Registereinrichtung sowie mit einer Rechen- und Verknüpfungseinrichtung
für die Durchführung einer Vielzahl von einem bestimmten Vorrat an Mikrobefehlskommandos
zugehörigen Funktionen, erfindungsgemäß durch die im Patentanspruch 1 aufgeführten kennzeichnenden
Merkmale (a) bis (e).
Bei einer bevorzugten Aijsführungsform des mikroprogramtnierbaren Prozessors werden die in dem Steuerspeicher
enthaltenen Steuerworte paarweise in ein Ausgaberegister geladen, wobei das erste Steuerwort des
Steuerwortpaares in einen geradzahligen Speicherplatz und das zweite Steuerwort in den folgenden benachbarten,
ungeradzahligen Speicherplatz geladen wird. Ein Verzweigungs-Mikrobefehlsdecoder dient zur Decodierung
eines Verzweigungs-Mikrobefehls in dem Teil niederer Ordnung des Ausgaberegisters, und ein Hauptdecoder
dient zur Decodierung des im höherwertigen Teil des Ausgaberegisters befindlichen Inhalts. Der zuletzt
genannte Schaltungsteil enthält keinerlei Logik, die auf Verzweigungs-Mikrobefehle anspricht. Wird ein Verzweigungs-Mikrobefehl
in den niederwertigen Teil des Ausgaberegisters geladen, so werden die Adressenvorbereitung
und Abholung des nächsten auszuführenden Mikrobefehlspaares parallel mit der Ausführung des
Mikrobefehls in dem höherwertigen Teil des Registers ausgeführt. Wird ein anderer Mikrobefehl als ein Verzweigungs-Mikrobefehl
in den niederwertigen Teil des Steuerspeicher-Ausgaberegisters geladen, so wird dieser
Befehl in den höherwertigen Teil des Registers übertragen, nachdem der geradzahlige Mikrobefehl ausgeführt
ist. Bei dieser Organisation wird die für die Ausführung von Verzweigungsoperationen dienende Zeitspanne
gewissermaßen ausgeblendet bzw. maskiert, und die Wirksamkeit des Steuerwerks ist entsprechend gesteigert.
Eine weitere Nutzleistung, Zuverlässigkeit und Datenverarbeitungsleistung wird dadurch erzielt, daß ein
Mikrobefehlsvorrat bereitgehalten wird, der einen umfangreichen Satz von Mikrobefehlen für Byte-Operanden
und hexadezimale Operanden und für eine Wortübertragung enthält. Dies ist dadurch ermöglicht worden, daß
doppelte Standard-Rechen- und Verknüpfungseinheiten verwendet worden sind, welche selektiv redundante
Ausgangssignale im Hinblick auf Rechen- und Verknüpfungsoperationen oder im Hinblick auf einen Wortübertragungsweg
Hefern. Die Rechen- und Verknüpfungsoperationen werden überprüft, indem ein Vergleich der
redundanten Einheiten vorgenommen wird und indem Wortübertragungen auf Parität geprüft werden.
An Hand von Zeichnungen wird die Erfindung nachstehend beispielsweise näher erläutert.
Fig. 1 zeigt in einem Biockdiagramm ein charakteristisches peripheres Untersystem, welches einen mikroprogrammierbaren Prozessor gemäß der Erfindung umfaßt.
An Hand von Zeichnungen wird die Erfindung nachstehend beispielsweise näher erläutert.
Fig. 1 zeigt in einem Biockdiagramm ein charakteristisches peripheres Untersystem, welches einen mikroprogrammierbaren Prozessor gemäß der Erfindung umfaßt.
Fig. 2 zeigt in einem Blockdiagramm den mikroprogrammierbaren Prozessor in näheren Einzelheiten.
Fig. 3a und 3 b veranschaulichen in Diagrammen Mikrobefehlsvorratsformate der Steuerwerk-Verarbeitungseinrichtung.
Fig. 4 zeigt die Realisierung eines Steuerspeicher-Ausgaberegisters und eines Verzweigungs-Mikrobefehlsdecoders,
der Signale für in Fig. 5 bis 7 dargestellte Schaltungen abgibt.
Fig. 5 zeigt einen zur Adressenbildung dienenden Schaltungsteii.
Fig. 6 zeigt einen Haupt-Mikrobefehlsdecoder sowie einen Schaltungsteil, der charakteristische Steuersignale
auf das Auftreten einer Information hoher Wertigkeit in dem Steuerspeicher-Ausgaberegister abzuleiten
gestattet.
Fig. 7 zeigt die Ausführung des Rechen- und Logikteiles des Steuerwerkes.
Fig. 8 veranschaulicht in einem Zeitdiagramm die Arbeitsweise des Steuerwerks.
Fig. I zeigt ein Blockdiagramm eines charakteristischen peripheren Untersystems, in welchem eine Reihe
von peripheren Einrichtungen 115,125 und 126 an zwei zentralen Verarbeitungseinrichtungen bzw. Verarbeitungscinrichtungsaufnahmeeinrichturigen
135 und 145 angeschlossen sind. Die Verbindungen erfolgen über ein S mii^jprogrammierbares, d. h. durch Mikroprogramme steuerbares Steuerwerk, welches ein Verarbeitungsnetzwerk 100 zur Ausführung von Verknüpfungsoperationen, Rechenoperationen und Datenübertragungsoperationen umfaßt, ferner einen Steuerspeicher 50, der eine Reihe von Mikrobefehlen enthält, die Programme
für Datenübertragungen und eine periphere Einrichtungssteuerung liefern, ferner ein Steuerspeicher-Ausgaberegister
(ROR) und einen Decoder 70, der Mikrobefehle aufnimmt. Außerdem ist eine gemeinsame Anpassungstrennstelle
bzw. Adaptortrennstelle 80 vorgesehen. Durch Steuerwerkadaptoren 110 und 120 erfolgt eine
Verbindung zwischen der gemeinsamen Anpassungstrennstelle 80 und den peripheren Einrichtungen 115,125
und 126. In entsprechender Weise verbinden Verbindungsleitungsadaptoren 130 und 140 die gemeinsame
Anpassungstrennstelle 80 mit den zentralen Verarbeitungseinrichtungen 135 und 145. Das Steuerwerk enthält
femer eine Steuerspeicher-Adressentrennstelle 60, welche ein Steuerspeicher-Adressenregister (ROSAR) enthält
und welches an einer von dem Verarbeitungsnetzwerk 100 herkommenden Datenausgabeleitung bzw.
-Sammelleitung angeschlossen ist. Darüber hinaus ist ein Lese/Schreib-Speicher !Q vorgesehen, der im allgemeinen
für eine wirksame Steuerungsoperation erforderlich ist. Dieser Speicher wird durch die Lese/Schreib-Speichertrennstelle
20 bedient, die außerdem an der Verarbeitungsnetzwerk-Datenausgabeleitung angeschlossen
ist. Vorzugsweise weist der Steuerspeicher 50 einen ausschreibbaren Teil von zumindest 512 Mikrobefehlen
auf, der außerdem von der Speichertrennstelle 20 bedient wird. Ein Unterbrechungsmechanismus 90 spricht auf
Signale von den Adaptoren an, und zwar unter der Steuerung von Datenausgabeleitungs-Signalen. Die
Operandcn-Eingangssignale für das Verarbeitungsnetzwerk 100 werden über für eine langsame und eine f
schnelle Datenübertragung vorgesehene Dateneingabeleitungen von der Adaptor-Trennstelle 80 und dem Lese-Schreib-Speicher
10 geliefert.
Das in F i g. 1 dargestellte periphere Untersystem ist insofern charakteristisch für ein Untersystem, als die verschiedenen
Kombinationen von Steuerwerkadaptoren und Verbindungsleitungs-Adaptoren möglich sind und
als eine alleinstehende Konfiguration mit einem oder mehreren Steuerwerkadaptoren vorteilhaft sein kann. Die
gel /äuchlichste Konfiguration dürfte jedoch jene Konfiguration sein, die einen einzelnen Verbindungsleitungsadaptor
und einen einzelnen Steuerwerkadaptor für eine Reihe von Platteneinheiten oder eine Reihe von
Bandeinheiten aufweist. Eine Zweikanaloperation wird durch einen zweiten Verbindungsleitungsadaptor
ermöglicht.
Die Hauptdatenwege für den mikroprogrammierbaren Steuerwerkteil gemäß F i g. 1 sind in F i g. 2 näher dargestellt.
Um die Kosten aufeinen minimalen Wert zu senken, werden vorzugsweise Standard-Logikmodule verwendet.
Sofern nichts anderes angegeben ist. sind die Register durch ./-Af-Flipflops gebildet, und die Schalter
sind l-aus-n-Auswahlschalter, wobei η = 2, 4 oder 8 entsprechend der Zahl von Schaltereingangssignalen
gewählt ist. In F i g. 2 sind zwei redundante Rechen/Logik-Einheiten 88 und 89 vorgesehen, die entweder eine
Fehlererkennung durch einen Vergleicher 97 im Hinblick auf Funktionen zweier Byte-Operanden freigeben
oder einen Datenübertragungsweg für eine Wortübertragungsoperation. Die Operanden werden durch OP0- und
O/VSchalter 103 und 104 ausgewählt. Zwischen den OP-Schaltern und den Rechen/Logik-Einheiten sind H0-
und //i-Schalter 101 bzw. 103 eingefügt, um die Abgabe richtiger Eingangssignale an Addierer/Logik-Einheiten
sicherzustellen, wenn die Ausgangssignale in einem der Operandenregister gespeichert werden; dabei wird ein
Byte in einer Registerreihenanordnung 111 gespeichert. Neben den Addierer/Logik-Funktionen werden um ein
Bit erfolgende Links- bzw. Rechtsverschiebungen durch 5b- und SpSchalter 92 und 93 ausgeführt. Die A0- und
Äi-Ergebnis-Schalter 94 und 95 liefern Eingangssignale für ein Verzweigungs-Prüfregister 106, für die Registerreihenanordnung
111 und einen /ifi-Akkumulator. Die A0- und ÄpSchalter wählen das Addierer/Logik-Ausgangssignal
oder die 5-Schalter oder eine der Datenübertragungsleitungen aus, d. h. eine für eine schnelle
Datenübertragung vorgesehene Dateneingabeleitung FDBI oder für eine langsame Datenübertragung vorgesehene
Dateneingabeleitung SDBI. Die D0- und Di-Schalter 107 und 108 bewirken selektiv eine Verbindung
des /4Ä-Akkumulators oder der Registerreihenanordnung mit der Datenausgabeleitung DBO. Ein Funktionsprüfgenerator
91 erzeugt vier Anzeigebits, wie Übertrag-Bits und Null-Bits, die selektiv an die obere Hälfte oder
die untere Hälfte eines Anzeigeregisters 99 über einen Schalter 98 abgegeben werden.
Gemäß Fig. 2 ist die Datenausgabeleitung DBO für das Steuerwerkadaptormodul 110, das Steuerwerknummernregister
121, die Zeitsteuereinrichtung 122 und das Steuerregister 123 verfügbar. Mit Ausnahme des
Moduls 110 sind sämtliche gerade genannten Elemente über B0- und Α,-Schalter 124 und 125 an der für eine
langsame Datenübertragung vorgesehenen Dateneingabeleitung SDBI angeschlossen. Die betreffenden
Elemente stehen damit für den Verarbeitungsteil gemäß Fig. 2 zur Verfugung.
In F i g. 2 sind ferner die Hauptdatenwege für die Mikrobefehlsverarbeitung gezeigt. Durch Adressenaddierer
132 und 133 erfolgt entweder eine schrittweise Vergrößerung der jeweils vorliegenden Mikrobefehlsadresse um
zwei für den Steuerspeicher 50, oder es erfolgt eine Adressenänderung in Übereinstimmung mit gewissen Ver-Zweigungsmikrobefehlen.
Die resultierende Adresse oder die andere Adresse wird durch die AQ-Al-Schalter
134 und 135 ausgewählt und an den Steuerspeicher 50 sowie an das Steuerspeicheradressenregister 136 abgegeben.
Jeweils ein Befehlspaar bildende Paare von Mikrobefehlen werden über AOn- und ÄOrSchalter 142 und
143 den RO0- und ÄörSteuerspeicherausgaberegistem 144 und 145 zugeführt. Im Unterschied dazu vermag der
ΛΟο-SchaIter den Mikrobefehl von dem ÄOpRegister zu dem ÄO0-Register zu übertragen. Das ÄO|-Register
kann selektiv das Ausgangssignal des Rechen/Verknüpfungs-Ausgabeteiles DES0-Ii über den ÄOrSchalter aufnehmen.
Andere Befehle als Verzweigungsbefehle werden durch den /-Allzweckdecoder 146 decodiert, und
Verzweigungsbefehle werden durch den ß-Verzweigungsdecoder 147 decodiert. Diese Decoder sprechen auf die
10
IS
20
25
30
35
40
45
50
55
60
65
Inhalte der AO0- und ΛΟ,-Registeran. Die Steuerwerkregister A UXAR 128, INTAR 129 und ROSAR 136 stehen
zusammen mit den Eingangssignalen von dem Steuerwerkadaptormodul und den Lese/Schreibspckhcrdaten
tür die Verarbeitungsanordnung zur Verfugung, und zwar über die für eine schnelle Datenübertragung vorgesehene
Dateneingabeleitung FDBI und über die CA0- und CA ,-Schalter 138 und 139.
Eine ^/-Aduptortrennstelle für den Steuerwerkadaptor 110 besteht aus einer gemeinsamen Reihe von Leitungen
für eine Dateneingabe, Datenausgabe, Adressen/Steuerung, Zustandssteuerung und Tür sonstige Steuerungen.
Neben diesen Leitungen enthält die ^/-Adaptortrennstelle je Adaptor noch Leitungen für eine Unterbrechung,
Adaptorauswahl, Ereignismitteilung und einen Originaltakt. Die Dateneingabe- und Datenausgabeleitungssätze
besitzen eine Übertragungsbreite von 16 Bits, und zwar hauptsächlich dazu, eine zwei Byte breite
Datenübertragung vorzunehmen, so daß eine Verdoppelung der Datenübertragungsfrequenz gegenüber einer
Einzel-Byte-Übertragung ermöglicht ist. Die Adressen/Steuerleitungen geben einen Befehl an den Adaptor ab,
um den Zustand des Adaptors zu ändern oder um den Charakter einer gerade laufenden Datenübertragung festzulegen.
Die Zustandsleitungen leiten eine Information bezüglich des Zustands des Adaptors zu dem Verarbeitungswerk
hin. Die sonstigen Steuerleitungen führen Funktionen aus, wie eine Datenabtastung, ein Ansprechen
(RPI) und eine Betriebseinleitung. Diese Verbindungen ohne Berücksichtigung der Parität sind nachstehend
aufgeführt.
D Al-Verbindungen | Leitungsanzahl | zum/vom Adaptor |
Datenausgabe | 16 | zum |
Dateneingabe | ' 16 | vom |
Adresse/Steuerung | 8 | zum |
Zustand | 4 | vom |
Originaltakt | 1 | zum |
Unterbrechung | 1 /Adaptor | vom |
Ereignismeldung | 1/Adaptor | vom |
Auswahl | I/Adaptor | zum |
Ansprechen (RPI) | 1/Adaptor | vom |
Auslösen | 1/Adaptor | zum |
Steuerungsrückstellung | I/Adaptor | zum |
Operatiorssausgabe | 1/Adaptor | zum |
Operationseingabe | 1/Adaptor | vom |
Ausfuhrungstakt | 1/Adaptor | zum |
Der in Fig. 3 a und J 6 gezeigte Verarbeitungsdatenvorrat besteht aus Mikrobefehlen, die 16 Bits lang sind
und die von dem Steuerspeicher 50 paarweise oder aus dem Hauptspeicher 10 durch ein in dem Steuerspeicher
befindliches Programm bzw. eine sogenannte Routine abgeholt werden. Verzweigungsmikrobefehle werden
lediglich in ungeradzahligen Speicherplätzen untergebracht; jeder Verzweigungsmikrobefehl wird normalerweise
parallel mit dem geradzahligen Mikrobefehl ausgeführt, der zusammen mit ihm ein Befehlspaar bildet.
Bei den meisten Rechen-, Verknüpfungs- und Verschiebemikrobefehlen sind die vier Anzeigebits entweder in
den oberen oder in den unteren Anzeigeregisterhälften selektiv gesetzt, und zwar in Übereinstimmung mit dem
Ergebnis, daß von dem Funktionsgenerator während der Mikrobefehlsausführung erzeugt worden ist. Im Hinblick
auf Rechenoperationen, bei denen mit dem höchstwertigen Anzeigebit begonnen wird, sind die Anzeigen
folgende: Höchstwertiges Bit des Ergebnisses (MSB), Überlauf (OFL), Null-Ergebnis (Z) und Ausführung (C).
Im Hinblick auf Verknüpfungsoperationen sind die Anzeigen folgende: Höchstwertiges Bit (MSB), alles Einsen
(FF), Null (Z), und niederwertigstes Bit (ODD). Im Hinblick auf Verschiebemikrobefehle sind die Anzeigen
folgende: Der Wert des herausgeschobenen Bits (X), neue Parität des geradzahligen Registers (P-E), neue Parität
des ungeradzahligen Registers (P-O) und aktiver RBA-Zeiger (RBA). Damit gelangt man zu:
Bit-Nummer | Rechnung | Verknüpfung | Verschiebung |
0 | MSB | MSB | X |
1 | OFL | FF | RBA |
2 | Z | Z | P-E |
3 | C | ODD | P-O |
Die Formate des Mikrobefehls ändern sich ganz erheblich, wie dies in F i g. 3 a und 3 b veranschaulicht ist. Die
ersten vier Bits stellen zumindest den bezeichneten allgemeinen Operationstyp dar, und damit sind die übrigen
Feldformatdefinitionen festgelegt
■;.! Die allgemeinen Grundoperationen, die Rechen-, Verknüpfungs- und Register-Register-Operationen umfas-
I sen, werden durch Mikrobefehle festgelegt, die die Bitfolge 0010 in den ersten vier Bitpositionen aufweisen und
I die bezüglich der übrigen Bits das folgende Format besitzen.
%
%
% Bits 4 bis 7: Allgemeine Register-Nummer (Operand)
\\ Bit 8: Akkumulator//?» nimmt Funktionsnetzwerk-Ausgangssignal auf
jj Bit 9: B/A für Operand
% Bit 10: In 57"-Register gespeichertes Ergebnis
■j Bit 11: Oberes/unteres Anzeigeregister ist gesetzt
« Bits 12 bis 15: Operationsstyp
■■: Bei dem obigen Format und den unten angegebenen Formaten sind folgende Übereinkünfte ausgenutzt. In
I dem Fall, daß ein einzelnes Bit eine von zwei Ergebnissen bzw. Wirkungen auswählt, sind die beiden Ergebnisse
'·: durch einen Schrägstrich voneinander getrennt. Das erste Ergebnis wird durch eine Null ausgewählt. Ist z. B. das
J Bit 9 eine Null, so befindet sich in dem fi-Register ein Operand, und ist das Bit 9 eine Eins, so befindet sich in
I dem /(-Register ein Operand. Eine einzelne Eingabe im Hinblick auf ein Einzel-Bit-Längenfeld zeigt das Ergeb-
k nis an. wenn der Wert eine Eins ist. und bedeutet, daß keine weitere sonstige Wirkung vorhanden ist. Das Funk-
\{ tionsnetzwer!;-Ausgangssignal wird z. B. in dem Verzweigungsprüfregister dann und nur dann gespeichert,
I wenn das Bi' 10 eine Eins ist. Die Bits 12 bis 15 bezeichnen die bestimmte Operation in der nachfolgend ange-
I gebenen Weise:
i| 0000: Lade/speichere Akkumulatorregister von/zu einem Mehrzweckregister (Verknüpfungs-Anzeige-
Ά register)
k 0011: Subtraktion
% 0100: Exklusiv-ODER
J, 0101: UND
■l Olli: Addieren
j 1000: Additionsübertrag
■:; iOOl: Subtraktionsübertrag
% 1010: Komplementiere (1) Mehrzweckregister (Verknüpfungs-Anzeigeregister)
■$ 1011: Negiere Mehrzweckregister
<■; 1101: Speicher Anzeigen vom Mehrzweckregister (unberücksichtigt lassen)
'/! 1100: Lade Anzeigen vom Mehrzweckregister (unberücksichtigt lassen)
ι 1110: Lade Verzweigungs-Priifregister vom Mehrzweckregister (Verknüpfungs-Anzeigeregister)
;'; 1111: Speichere Verzweigungs-Prüfregister in Mehrzweckregister (Verknüpfungs-Anzeigeregister)
■": (Sofern nichts anderes angegeben ist, stellen die durch das Funktionsnetzwerk erzeugten Anzeigen Tür die
Speicherung in den Anzeigeregistern Rechenanzeigen MSB, OFL, Z, C dar.) Für diese allgemeinen Operationen
ν bezeichnen die Bits 4 bis 7 ein Mehrzweckregister durch eine Zahl, wie einen Operanden und/oder den
% Speicherplatz, der das Funktionsnetzwerk-Ausgangssignal aufnimmt (mit Ausnahme einer Additions- und Sub-
j|: traktions-Übertragsoperation, wenn der Akkumulator als Operand festgelegt ist).
;■; Das Bit 9 legt fest, welche Hälfte des Akkumulators ein weiterer Operand ist, wobei eine Eins das ^-Register
A festlegt. Das Bit 8 legt fest, welcher Operand-Speicherplatz das Ausgangssignal des Funktionsnetzwerks auf-
' nimmt. Eine Null bezeichnet dabei den Akkumulator.
g Das Bit 10 legt in dem Fall, daß es eine Eins ist, fest, daß das Ausgangssignal des Funktionsnetzwerks außer-
'$. dem in dem Verzweigungsprüfregister gespeichert wird.
:; Das Bit 11 legt fest, welcher Teil des Anzeigeregisters die Anzeigen von dem Funktionsgenerator aufnimmt;
'?■ eine Eins bezeichnet dabei die niederwertige Hälfte.
I Spezielle Grundoperationen sind in den ersten vier Bits des Mikrobefehls durch 0011 bezeichnet. Diese Ope-
P rationen sind dieselben wie die allgemeinen Grundoperationen. Eine Ausnahme hiervon bildet jedoch der
;| Umstand, daß in dem Fall, daß das Bit 11 eine Eins ist, die Speicherfunktion unterbunden ist Ist das Bit 11 eine so
I Null, so wird die Operation in einem Fortlaufbetrieb ausgeführt. Ist die Speicherfunktion unterbunden, so wird
I lediglich das Anzeigeregister verändert. Eine Ausnahme hiervon bildet jedoch der Umstand, daß das Ausgangs-
I signal des Funktionsnetzwerks in dem Verzweigungsprüfregister gespeichert wird, wenn das Bit 10 eine Eins ist.
U Beim Fortschreitbetrieb stellt der obere Übertragsanzeiger ein zusätzliches Eingangssignal für das Funktions-
I netzwerk im Hinblick auf eine Addition, Subtraktion und Negierung dar, und der neue Null-Anzeiger wird und-
mäßig mit dem vorhergehenden Null-Anzeiger verknüpft.
Die Hauptwirkung eines Grundprogramms besteht darin, in einem bezeichneten Register das Ausgangssignal
des Funktionsnetzwerks zu speichern. Dieses Ausgangssignal ist eine Funktion der ausgewählten Operanden.
Die Art der Funktion wird durch die letzten vier Bits ausgewählt (Das Einspeichern des Ausgangssignals des
Funktionsnetzwerks in dem bezeichneten Register kann durch Einsen in den Bits 3 und 11 unterbunden werden.)
Die zweite Wirkung besteht darin, die durch den Funktionsgenerator erzeugten Anzeigen in dem ausgewählten
Anzeigeregister zu speichern (ausgenommen sind Mikrobefehle, die eine Ladung oder Speicherung
der Anzeigeregister bewirken). Eine dritte, fakultative Wirkung besteht darin, das Ausgangssignal des Funktionsnetzwerks
in das Verzweigungsprüfregister einzuspeichern. Für binäre Funktionen stellt der erste Operand
ein Mehrzweckregister bzw. allgemeines Register dar (oder fakultativ ein Akkumulatorregister2 wenn der zweite
Operand ein Übertrag ist), und der zweite Operand ist eines der Akkumulatorregister oder der Übertraganzeiger.
Das Register, in daß das Ausgangssignal des Funktion?netzwerks eingespeichert wird, ist eines der ausgewählten
Operandenregister (mit Ausnahme von Additions- und Subtraktionsübertrags-Mikrobefehlen).
Die sogenannten schnellen Mikrobefehle oder Diiektmikrobefehle sind dadurch gekennzeichnet, daß als
erstes Bit eine 1 vorhanden ist Die einzigen Mikrobefehle, die eine Anfangs-Eins besitzen und die nicht Mikrobefehle sind, sind diejenigen Mikrobefehle, die einen Hauptspeicherzyklus und einen Adaptortrennstcllenbetrieb beginnen lassen. Die zuletzt genannten Mikrobefehle unterscheiden sich durch die Bitfolgen 000 oder
HATin den Bits 1 bis 3.
Der Lade-Direktmikrobefehl ist dadurch gekennzeichnet, daß die Bits 0 bis 2 die Bitfolge 101 enthalten. Die
Bits 8 bis 15 enthalten eine Literal-Operandenkonstante, die geladen wird, und die Bits 3 bis 7 bezeichnen das
Register, welches den Operanden aufnimmt. Wenn das Bit 3 eine Eins ist, wird ein ÄR4-Register bezeichnet,
und das ausgewählte bezeichnete Register wird durch den Binärwert der Bits 4 bis 7 festgelegt. Ist das Bit 3 eine
Null, dann bezeichnet eine 1 in den entsprechenden Bits 4 bis 7 das Verzweigungsprüfregister, das Anzeigeregister, den ^-Akkumulator und den /4-Akkumulator in der angegebenen Reihenfolge.
1100: Additions/Subtraktions-Literal
1101: ODER-Literal
1001: UND-Literal
Der Literal-Operand ist in den Bits 12 bis IS enthalten. Das Bit 11 legt fest, weiche Hälfte des Anzeigeregisters
die Anzeigen aufnimmt, und das Bit 10 bestimmt, ob das Verzweigungsprüfregister das Ergebnis des Funktions
netzwerke aufnimmt oder nicht Demgemäß erfüllen die Bits i0 und Ii dieselben Funktionen wie bei den
Grundoperationen. Die Bits 4 bis 8 bezeichnen ein Register für einen zweiten Operand in einer ähnlichen Weise
wie die Registerauswahl des Lade-Direktmikrobefehls. Eine Ausnahme hiervon bildet jedoch der Fall, daß das
Bit 8 eine 1 ist, was dazu führt, daß in den Bits 4 bis 7 ein Ä&4-Register bezeichnet wird.
Für den Additions/Subtraktions-Direktmikrobefehl gibt das Bit 9 eine Addition an, wenn es eine Null ist, und ι
eine Subtraktion, wenn es eine 1 ist Diese Rechenoperationen werden in der Hälfte niedriger Wertigkeit des ί
bezeichneten Registers ausgeführt Bei Verknüpfungs-Direktmikrobefehlen legt das Bit 9 fest, in welcher Hälfte \
des bezeichneten Registers gearbeitet wird, wobei der Wert 1 die Hälfte der oberen Wertigkeit bezeichnet jj
nen, zu denen Übertragungen zu und von dem Hauptspeicher-Datenregister, Wortübertragungen zwischen den ,
durch die Bits 12 bis 1S festgelegt wird. Die Datenübertragungs-Mikrobefeble besitzen in den Bits 0 bis 3 eine *
gelegt: ν
0000: Lies Hauptspeicher-Datenregister (MDR)
i
" OGOt: Schreib Hauptspeicher-Datenregister (MDR)
\
0010: Lade Akkumulator (AB) von dem Mehrzweckregister Rn
;
0011: Speicher Akkumulator (AB) in das Mehrzweckregister Rn
\
0100: Speicher ROSAR in AB oder An, Rn + \
j
0101: Speicher AUXAR in AB oder Rn, Rn + 1 \
0110: Speicher INTAR Unterbrechungsadressenregister, in AB oder Rn, Rn + 1 j
1000: Verschiebe um 1, Verknüpfung (Null-Auffüllung) I
1001: Verschiebe um 1, Drehung
1010: Verschiebe um 1, Rechnung \
1011: Verschiebe um 1. Verknüpfung (Anzeiger aufTüllen)
1100: Verschiebe um 8 *
lllA": Unterbrechungsmechanismus '
1101: Unterbrechungsmechanismus
so Verbindung mit den Start-Lese- oder Schreibspeicherzyklus-Mikrobefehlen dazu, Daten von/in dem bzw. den
Hauptspeicher zu laden/zu speichern. Bei dem Lesespeicher-Datenregister-Mikrobefehl zeigt eine Null im Bit 8
an, daß der Inhalt der Bits 4 bis 7 ein anderes Register als die Mehrzweckregister auswählt, in das die Daten geladen werden. Im übrigen bezeichnen bei beiden Mikrobefehlen die Bits4 bis 7 ein Mehrzweckregister. Bezüglich i
der Lesespeichw'-datenregisteroperationen bewirkt eine 1 in dem Bit 10, daß das höchstwertige Datenbyte in
das Verzweigungsprüfregister geladen wird, und eine 1 in dem Bit 11 beschränkt die Übertragung auf ein einzelnes Byte. Im Hinblick auf eine Einzel-Byte-Übertragung wird die höhere oder bedeutsame Hälfte des Datenwortes geladen, und zwar in Abhängigkeit davon, ob das bezeichnete Register ein geradzahliges oder ein ungeradzahliges bzw. das A- oder ß-Register ist. Wenn die Mehrzweckregister mit Daten geladen werden, bewirkt eine 1
im Bit 8 und eine I im Bit 9, daß auch der Akkumulator geladen wird.
Wenn ein Mehrzweckregister nicht geladen wird, wählt eine Null im Bit 8 und eine 1 im Bit 9 das /1-Register
für eine Byte-Übertragung aus (ansonsten wird das ß-Register geladen). Bei Vorliegen einer Bitfolge 00010 in
den Bits 4 bis 8 werden die Daten in das niederwertigste Wort des Steuerspeicherausgaberegisters geladen, und
die Bits 9 bis 11 sind Null. In entsprechenderweise bewirkt bei derSchreibspeicher-Datenregisteroperation das
Vorliegen einer Null im Bit 8, daß der Inhalt des Akkumulators in das Speicherdatenregister eingespeichert wird
(ansonsten wird eine Speicherung bezüglich eines Mehrzweckregisterpaares vorgenommen). Bei Vorliegen
einer 1 im Bit 9 wird der Inhalt des bezeichneten Mehrzweckregisters um 1 erhöht, und zwar im Hinblick auf
Mehrzweckregister-Speicherungen, und der Inhalt des Akkumulators wird ferner in das durch die Bits 4 bis 7
bezeichnete Mehrzweckregister für Akkumulator-Speicherungen eingespeichert.
Für die vier 1-Verschiebe-Operationen zeigt eine O im Bit 9 eine Akkumulatorverschiebung an; im übrigen
erfolgt eine Verschiebung bezüglich des in den Bits 4 bis 7 bezeichneten Mebrzweckregisters. Eine 1 im Bit 11
zeigt eine Einzel-Byte-Verschiebung an, ansonsten wird eine Wortverschiebung ausgeführt. Für eine Byte-Verschiebung des Akkumulators wählt das Bit 9 das Λ-Register bei einer 1 und das B-Register bei einer NuD aus.
Das Bit 10 wählt die Richtung der Verschiebung aus, wobei eine Null eine Rechtsverschiebung und eine 1 eine
Linksverschiebung festlegt Zur Verschiebung durch 1-Operationen werden lediglich die höchst- oder niederwertigsten Bits des verschobenen Wortes in den Anzeigeeinrichtungen bzw. Anzeigern gespeichert, und im
übrigen wird lediglich das niedrigste Anzeigeregister benutzt
Bei einer Verschiebung durch eine 8-Operation zeigt eine Null im Bit 8 an, daß der Akkumulator der zu verschiebende Operand darstellt Ansonsten ist ein bezeichnetes Mehrzweckregisterpaar der um 8 Bits verscho-
bene Operand. Eine 0 im Bit 11 bezeichnet die Drehrichtung; im übrigen wird eine Verknüpfungsverschiebung
mit einer O-Auffüllung ausgeführt Im Hinblick auf eine Verschiebung wählt das Bit 9 die Richtung aus. wobei
eine 0 einer Rechtsverschiebung und eine 1 einer Linksverschiebung zugehörig ist Für Drehungen bezeichnet
eine I im Bit 10, daß eines der gedrehten Bytes des Operanden sowohl in dem Akkumulator als auch in dem
Mehrzweckregister gespeichert wird. In diesem Fall wählt das Bit 9 das höchstwertige gedrehte Byte bei Vorlie- is
gen einer 1 und das niederwertigste Byte bei Vorliegen einer 0 aus.
Wort-Lade-Operationen und -Speicheroperationen werden durch die Bitkombinationen 0010 bis 0110
bezeichnet; die Operanden werden wie folgt ausgewählt:
0010: Mehrzweckregister
0011: Akkumulator
0100: Steuerspeicheradressenregister (ROSAR)
0101: Hilfssteuerspeicheradressenregister (AUXAR)
Bei der Ladeakkumulatoroperation 0010 bewirkt das Vorliegen einer 1 im Bit 10, daß das Paritätsbit zu
komplementieren bzw. zu ergänzen ist Im Hinblick auf die Speicherakkumulatoroperation, 0011, wird der
Akkumulator in dem durch die Bits 4 bis 7 bezeichneten Mehrzweckregister gespeichert, und eine 1 im Bit 10
bewirkt femer, daß das /!-Register in das Verzweigungsprüfregister gespeichert wird. Bezüglich der übrigen
Speicheroperationen legt eine 1 im Bit 8 fest, daß der Operand in dem Akkumulator gespeichert wird, ansonsten
wird er in einem durch die Bits 4 bis 7 bezeichneten Mehrzweckregisterpaar gespeichert.
Die Unterbrechungsmechanismusoperationen, die die Bitfolge 1IXX in den Bits 12 bis IS aufweisen, liefern
eine Vielzahl von speziellen Steuerfunktionen in Übereinstimmung mit den Bitkombinationen der Bits 4 bis 7
und 11.
Die Start-Speicherzyklusmikrobefehle besitzen die Bitfolge 1000 in den Bits 0 bis 3. Eine 1 in dem letzten
Bit 1S bezeichnet einen Schreibzyklus, um eine 1 in dem dem letzten Bit nächstfolgenden Bit bezeichnet einen
Lesezyklus. Im Hinblick auf einen Schreibzyklus bezeichnen die Bits 12 bzw. 13 bei Vorliegen einer 1, daß die
höher- und niederwertigen Bytes des Datenworts gespeichert werden. Eine 0 im Bit 8 legt fest, daß die Speicheradresse für den Zyklus in dem Akkumulator vorhanden ist, ansonsten wird die Adresse von dem bezeichneten
Mehrzweckregisterpaar aufgenommen. Eine 1 im Bit 9 legt fest, daß das bezeichnete Mehrzweckregister um 1
erhöht wird, sofern bezüglich des Registers angegeben ist, daß es die Datenadresse festhält, oder das betreffende
Bit legt fest, daß der Akkumulator in dem bezeichneten Mehrzweckregister reserviert wird, sofern bezüglich des
Akkumulators das Festhalten der Datenadresse angegeben ist
Eine 1 im Bit 3 fegt fest, daß ein Verbindungsleitungsadaptoreingangsglied ausgewählt wird; ansonsten erfolgt
die Übertragung über ein Steuerwerkadaptoreingangsglied. Eine 0 im Bit 4 legt fest, daß eine Mikrobefehlsausführung solange verzögert wird, bis ein Signal auf der Antwortleitung aufgenommen wird. Eine 1 im Bit 5 legt
fest, daß der £>/!/-Zustand in die niederwertige Hälfte des Verzweigungsprüfregisters eingetastet bzw. eingeführt
wird. Ist das Bit 7 eine 1, so wird das höherwertige Byte der Dateneingabeleitungen in das Λ-Akkumulatorregister geladen. Ist das Bit 6 eine 1, so wird das B-Register mit dem niederwertigen Byte geladen. Die Bits 8 bis 15
enthalten ein Byte-Literal zur Einstellung der D/47-Adressen/Sieuerleitungen. so
Der bedingte Verzweigungsmikrobefehl besitzt die Bitfolge 01 in den Bits i6und 17. Eine Verzweigung wird
dabei zu der durch ein Literal in den Bits 24 bis 30 festgelegten Segmentadresse ausgeführt, wenn und nur wenn
die geprüften Bits gleich dem Wert des Bits 19 sind. Dabei sind lediglich Verzweigungen zu geradzahligen Speicherplätzen möglich, so daß das letzte Bit 31 für Verzweigungsadressenvorbereitungszwecke unberücksichtigt
gelassen wird. Dieses letzte Bit wird jedoch dazu herangezogen, die obere oder die untere Hälfte des das zu prüfende Bit enthaltenden Registers auszuwählen. Das zu prüfende Register ist durch die Bits 22 und 23 in folgender Weise festgelegt:
00: Anzeigefegister
01: Verzweigungsprüfregister
10: /!-Register
Die Bits 20 und 21 bezeichnen das zu prüfende Bit innerhalb der bezeichneten Registerhälfte durch die dargestellte Binärzahl. Eine 1 im Bit 18 zeigt an, daß der der bedingten Verzweigung vorangehende geradzahlige
Mikrobefehl ausgeführt und beendet wird, bevor der Verzweigungsmikrobefehl begonnen wird.
Bei einem Segmentverzweigungsmikrobefehl sind in den Bits 16 bis 19 jeweils O-Zeichen. Ist das Blatt 20 eine
Null, so erfolgt eine unbedingte Verzweigung zu der durch Cm Rest des Mikrobefehls bezeichneten Adresse.
Das letzte Bit wird jedoch für Adressenvorbereitungszwecke unberücksichtigt gelassen. Ist das betreuende Bit
eine 1, so wird der Inhalt des .RO&tR-Registers sicher in dem A OTTj4Ä-Register gespeichert. Die Bits 21 bis 23
werden als eine Zweierkomplementzahl behandelt, die das gewünschte relative 256-Wbrtsegment bezeichnet,
und die Bits 24 bis 30 bezeichnen das gewünschte Wort innerhalb des betreffenden Segments.
Sind die Bits 20 und 21 durch die Bitfolge 11 gegeben, so wird eine Verzweigung zu der vorbereiteten Adresse ausgeführt, indem die Bits 24 bis 30 für die letzte Hälfte der vorliegenden Befehlsadresse ersetzt werden und indem der Inhalt des durch die Bits 22,23 und 31 bezeichneten Teües des Verzweigungsprüfregisters (.RTR) angehängt wird. (BTR' zeigt an, daß das nicht benutzte Verzweigungsprüfregister benutzt wird).
Sind die Bits 20 und 21 durch die Bitfolge 11 gegeben, so wird eine Verzweigung zu der vorbereiteten Adresse ausgeführt, indem die Bits 24 bis 30 für die letzte Hälfte der vorliegenden Befehlsadresse ersetzt werden und indem der Inhalt des durch die Bits 22,23 und 31 bezeichneten Teües des Verzweigungsprüfregisters (.RTR) angehängt wird. (BTR' zeigt an, daß das nicht benutzte Verzweigungsprüfregister benutzt wird).
ίο 00... 0: BTR0-I
OO | ...0 |
00 | ... 1 |
01 | ...0 |
01 | ... I |
10 | ...0 |
10 | ...1 |
57K2-j
10... 1: BTR0S
11 ...0:
11 ...0:
Enthalten die Bits 20 bis 23 die Bitfolge lOjftrin dem Verzweigungsmikrobefehl, so erfolgt eine Verzweigung
zu der in dem A UXAR-Register oder dem Akkumulator befindlichen Adresse, und zwar in Übereinstimmung
2ö damit, daß das erste Bit des Bits 22 eine 1 oder eine 0 ist Ist das Bit 22 eine 1, so wird der gegenwärtige Unierbrechungspegel
zurückgestellt Ist das Bit 31 eine 1, so wird der Inhalt des ROSAR-Registers in das AUXAR-Register
gespeichert
Enthalten die Bitfolge 20 bis 23 die Bitfolge 10ΛΓ1, so erfolgt eine Verzweigung zu der gebildeten Adresse in
folgender Weise. Der niederwertige Teil wird von den Bits 24 bis 30aufgenommen. Die höherwertigen Bits 2 bis
7 werden aus dem Λ-Register oder aus dem ÄOS^Ä-Register aufgenommen, und zwar in Abhängigkeit davon,
ob das Bit 22 eine 0 oder eine 1 ist Ist das letzte Bit 31 eine 1, so wird der Imialt des ÄOS/lÄ-Registers in dem
A UXAR-RegisleT gespeichert
Ein NOP-Mikrobefehi in einem geradzahligen Speicherplatz weist an sämtlichen Bitstellen eine 0 auf. In
einem ungeradzahligen Speicherplatz enthalten die Bits 24 bis 30 die niederwertige Hälfte der Adresse des nächsten
Speichf-platzes.
Bsi der bevorzugten Ausfübmngsform werden normale integrierte Schaltungen vom TTL-Typ für die Realisierung
der Erfindung verwendet da diese Schaltungen derzeit die besten Kosten-Leistungs-Eigenschaften mit
sich bringen. Der Steuerspeicb-r ist ein Standardsatz von einen sogenannten RAM-Speicher bildenden integrierten
Schaltungen mit Decouern und Treibern. Der betreffende Speicher stellt einen solchen mit direktem
Zugriff dar. Der Steuerspeicher äst modular ausgebildet, so daß das Untersystem so ausgebildet werden kann,
daß es die Forderungen der jeweiligen Anwendung zu erfüllen vermag. Module besitzen zweckmäßigerweise
eine Größe von 512 Worten. Da der mögliche Adressierungsbereich des 16-Bit-Wortes der Verarbeitungseinrichtung
64 K Worte umfaßt also wesentlich mehr als notwendig sind, und da lediglich gera^rahlige Adressen
verwendet werden, können diejenigen Register, die ausschließlich für die Steuerspeicheradressen vorgesehen
sind, verkürzt werden, und zwar in Übereinstimmung mit der oberen Grenze erwarteter Steuerspeicher und mit
Rücksicht darauf, daß das niederwertigste Bit gelocht bzw. weggelassen wird. Demgemäß sind die Register 128,
129 und 136 auf 13 Bits beschränkt, was eine Adressierung von 8 K geradzahligen Worten oder 16 K Worten insgesamt
ermöglicht.
Fig. 4 zeigt in einer Teilansicht wie die Mikrobefehle decodiert werden. In dem Steuerspeicher 50 sind die Stapelausgänge DR00 bis DA31 in geeigneter Weise mit offenen Kollektoren abgeschlossen, die über einen 1,5-kOhm-Widerstand geerdet sind und die über einen 470-Ohm-Widerstand an einer 5 Volt führenden Spannungsklemme angeschlossen sind. Drei, zwölf Eingänge aufweisende integrierte Schaltungspackungen, wie die Schaltungspackung 51, nehmen zwei Mikrobefehle zuzüglich vier Paritätsbits auf. Die Ausgänge DR0 bis DRn liefern Eingangssignale für Schalter 142 und 143, die durch Vierer-l-aus-2-Auswahlschalter, wie den Auswahlschalter bzw. Wähler 148, realisiert sind. So wird z. B. auf das am Schalterausgang ROi\ auftretende Ausgangssignal entweder der Steuerspeicherausgang DRn oder die Funktionsnetzwerkleitung DERSs ausgewählt, wobei die zweite Wahl das Laden eines Mikrobefehls in das Mikrobefehlsausgaberegister 145 von dem Hauptspeicher 10 her ermöglicht.
Die ungeradzahligen Mikrobefehls-Schalter 143 wählen entweder den Funktionsnetzwerkausgang DERSn i5 oder den Steuerspeicherausgang aus, der durch D5 ausgewählt ist. In entsprechender Weise wählen die geradzahligen Mikrobefehls-Schalter 142 entweder das ungeradzahlige Mikrobefehls-Ausgaberegister oder den Steuerspeicherausgang ROR0 \< aus, wie er durch D1 ausgewählt ist. Sämtliche ungeradzahligen Wählerausgänge sind mit einem Satz von /-Af-Flipflops verbunden, wie dem Flipflop 204. Diese Flipflops stellen das Ausgaberegister 145 dar. Das Ausgaberegister 144 ist in entsprechender Weise ausgeführt. Bei dem Flipflop 204 wird das dem /-Eingang zugeführte Eingangssignal komplementiert dem ΑΓ-Eingang zugeführt; ein Ä ,,-Signal tastet die betreffenden Flipflops. Die Ausgaberegistersignale AOA0-Ji werden für viele Funktionen herangezogen. Eine derartige Funktion ist die des Verzweigungsdecoders 147. Eine bedingte Verzweigung wird durch ein NAND-Glied 215 entsprechend folgendem Ausdruck decodiert:
Fig. 4 zeigt in einer Teilansicht wie die Mikrobefehle decodiert werden. In dem Steuerspeicher 50 sind die Stapelausgänge DR00 bis DA31 in geeigneter Weise mit offenen Kollektoren abgeschlossen, die über einen 1,5-kOhm-Widerstand geerdet sind und die über einen 470-Ohm-Widerstand an einer 5 Volt führenden Spannungsklemme angeschlossen sind. Drei, zwölf Eingänge aufweisende integrierte Schaltungspackungen, wie die Schaltungspackung 51, nehmen zwei Mikrobefehle zuzüglich vier Paritätsbits auf. Die Ausgänge DR0 bis DRn liefern Eingangssignale für Schalter 142 und 143, die durch Vierer-l-aus-2-Auswahlschalter, wie den Auswahlschalter bzw. Wähler 148, realisiert sind. So wird z. B. auf das am Schalterausgang ROi\ auftretende Ausgangssignal entweder der Steuerspeicherausgang DRn oder die Funktionsnetzwerkleitung DERSs ausgewählt, wobei die zweite Wahl das Laden eines Mikrobefehls in das Mikrobefehlsausgaberegister 145 von dem Hauptspeicher 10 her ermöglicht.
Die ungeradzahligen Mikrobefehls-Schalter 143 wählen entweder den Funktionsnetzwerkausgang DERSn i5 oder den Steuerspeicherausgang aus, der durch D5 ausgewählt ist. In entsprechender Weise wählen die geradzahligen Mikrobefehls-Schalter 142 entweder das ungeradzahlige Mikrobefehls-Ausgaberegister oder den Steuerspeicherausgang ROR0 \< aus, wie er durch D1 ausgewählt ist. Sämtliche ungeradzahligen Wählerausgänge sind mit einem Satz von /-Af-Flipflops verbunden, wie dem Flipflop 204. Diese Flipflops stellen das Ausgaberegister 145 dar. Das Ausgaberegister 144 ist in entsprechender Weise ausgeführt. Bei dem Flipflop 204 wird das dem /-Eingang zugeführte Eingangssignal komplementiert dem ΑΓ-Eingang zugeführt; ein Ä ,,-Signal tastet die betreffenden Flipflops. Die Ausgaberegistersignale AOA0-Ji werden für viele Funktionen herangezogen. Eine derartige Funktion ist die des Verzweigungsdecoders 147. Eine bedingte Verzweigung wird durch ein NAND-Glied 215 entsprechend folgendem Ausdruck decodiert:
(.5 DCBR = AOA16 · ROR„ · FlNT
Alle übrigen Verzweigungs-Mikrobefehle werden durch ein Verknüpfungsglied 214 in folgender Weise decodiert
:
Eine Vektorsegmentverzweigung wird durch ein Verknüpfungsglied 213 entsprechend folgender Gleichung
decodiert:
Eine absolute Verzweigimg wird durch ein Verknüpfungsglied 212 entsprechend folgender Gleichung decodiert:
Eine indirekte Segmentverzweigung wird durch ein Verknüpfungsglied 211 entsprechend folgendem Ausdruck
decodiert:
15
Wird ein Verzweigungsbefehl decodiert, so wird eine Verzweigungsitiiresse vorbereitet und an den Steuerspeicher
50 abgegeben, um den Befebl abzuholen, und außerdem wird die Adresse in dem S*Ji»eradressenregister
136 gespeichert F i g. 5 zeigt wie diese Adressenvorbereitung ausgeführt wird. Der eine von acht Wählern
134C-H und 135A-G liefert die betreffenuen Bits für die Adresse. Wird z.B. eine absolute Verzweigung ausgeführt
und ist der Inhalt der Bits 22 bis 25 durch die Bitfolge OJTl 1 z. B. gegeben, so wird der Inhalt des Hilfsregisters
ausgewählt, um das nächste Mikrobefehlspaar abzuholen, während der vorangehende geradzahlige Mikrobefehl ausgeführt wird.
Für Verzweigungs-Mikrobefehle, wie einer bedingten Verzweigung, deren Bedingung erfüllt ist, wird die
Adresse durch die niederwertigen Bits RORM-3o von dem Steuerspeicherausgaberegister 145 her modifiziert
Die höherwertigen Bits werden von dem Steuerspeicheradressenregister 136 über den Adressenaddierer 132
und die Λο-Schalterwähler 134 C-H aufgenommen. Der zweite Operand für den Adressenaddierer 132 ist die
konstante Null. Für die direkte Segmentverzweigung ist die Adressenvorbereitung bzw. -herstellung ähnlich.
Eine Ausnahme bildet jedoch der Umstand, daß der zweite Operand für den Adressenaddierer 132 durch die
Bits RORn-n gegeben ist, wobei das Vorzeichen nach links zu übertragen ist. Die Wähler- bzw. Selektorleitungen
für einen von acht Wählern bzw. Selektoren 134 C-H werden wie folgt gewonnen:
AUO = DlSB ■ ROR11 AU 1 = DABR-ROR25 AUl = WMD- DL
Die Wähler- bzw. Selektorleitungen für einen der acht WUhler bzw. Selektoren 135 A-G werden wie folgt
gewonnen:
= FINT- DABR ■ (ROR2* + ROR25) + DVSB
AL 1 = DABR ■ ROR15
Die Adresse in dem Stcuerspeicher wird durch das Q^-Signal taktgesteuert:
50 Q1 = QEXEC ■ DL
Der Allzweck-Mikrobefehlsdecoder 146 ist in F i g. 6 gezeigt. Ein NAND-Glied 221 decodiert eine Datenübertragung
wie folgt:
55
Ein Verknüpfungsglied 222 decodiert eine Grundoperation wie folgt:
BOP = ROR0 ■ ROR\ ■ ROR2
Ein Verknüpfungsglied 223 decodiert einen Speicherzyklus wie folgt:
65 Ein Verknüpfungsglied 224 decodiert eine UND-Literal-Operation wie folgt:
A/S = ROR0 · ROR1 ■ ROR1 · ROR3
Ein Verknüpfungsglied 226 decodiert eine ODER-Operation mit der Literal-Operation wie folgt:
OWC = ROR0 ■ ROR, ■ ROR1 · ROR3
Ein Verknüpfungsglied 227 decodiert eine Lade-Literal-Operation wie folgt:
LWC " ROR0 · R0R\ · ROR2
Ein Verknüpfungsglied 228 decodiert eine Anpassungstrennstellen-Bedienungsoperation wie folgt:
Der Grundoperationstyp wird durch eine Binär/l-aus-16-Leitungsauswahleinheit 251 decodiert. In entsprechender Weise wird der Datenübertragungsoperaiionstyp durch einen Binär/l-aus-lo-Leiiiirigswähier 2SC deccr
diert. Die Ableitung des Taktsteuersignals KB für die Auswahl des ^-Registers zum Zwecke der Aufnahme des
Ausgangssignals des Funktionsnetzwerks ist dargestellt. Ein Verknüpfungsglied 243 erzeugt das Signal KB auf
das Signal LKB hin, und zwar dadurch, daß eine effektive oder mäßige Verknüpfung der Signale LKE und LOAB
von dem Binär/l-aus-16-Wähler 250 erfolgt. Das Signal LKB wird auf sämtliche sofortigen Operationsdecodierungen und zusätzliche Decodierung durch die Verknüpfungsglieder 232 bis 243 gewonnen:
t = (ROR0 ■ ROR1 ■ ROR2 · ROR6) SIM + ÄOÄg + SAUX ■ SROS · SIAR
In entsprechender Weise wird ein Taktsteuersignal KBR fur das Verzweigungsprüfregister durch die Verknüpfungsglieder 229 bis 232 und 244 erzeugt:
KBR = DAI ■ RORs + (BOP + ANC +A/S+ OWC + STAB + RDMD) · AOA10 + LBT
+ (ANC +A/S+ OWC + LWC) · R0RA ■ (ROR2 ■ ROR3 + ROR2 · RORS)
In entsprechenderweise werden Taktsteuersignale fur die Mehrzweckregister (geradzahlige und ungeradzahlige), die A - und ^-Register des Akkumulators und das Anzeigeregister erzeugt, und zwar in Übereinstimmung
mit den eine herkömmliche Logik, wie sie in F i g. 6 gezeigt ist, verwendenden Repertoire-Zwangsbedingungen.
Femer werden die Steuersignale für die Rechen- und Logikeinheiten in entsprechender Weise gewonnen Für
den jf-Addierer wird ein erstes gemeinsames Signal ADDA I gewonnen:
SXB 1 = LWC + LBT + ROR» ■ ST + R0Rt ■ ROR9 ■ ST
Die betreffenden Addiereingangssignale sind:
SXADD0 = ADDA I + ADDC0 + COM
SCADD, = ADDA 1 + SXB 1 + ANC + AND + ADDC0
SXADD2 = ADDA 1 + COM + ADDCi SXADD;, = ADDA \ + SXB \ + OR + OWC
Die y-Addierer-Steuersignale werden in entsprechender Weise gewonnen:
DA
= RORg ■ ROR9 ■ ST+ STA + LDl + 577 + SBT
DB
= LOAB + SHS + SXA +SXB1 "°
SYADDi = DA+ DB + ADDC0 + OR + OWC
Ein erstes Steuersißnal für den ΛΌΡ-Schalter ist:
+ SMEM · RORi · ROR9 + (SH% ■ [ROR9 · RORn + RORS] +SHl- RORt + LOAB)
• SXF+ (NEG + SBT+ [ACY + SCY] · [RORl' ror<
> + Ä0Ä' ' R0Rd
+ [AND +OR + EOR + ADD + SUB) ■ ROR9 + LDI · ROR1) BOP
Dieses Signal wird durch den Aufbau und das Befehlsrepertoire festgelegt. Die übrigen Operanden-Auswahlsteuersignale
sind von derselben Form und werden von dem Befehlsrepertoire in derselben Weise gewonnen
bzw. abgeleitet.
Die Beziehung zwischen den verschiedenen Registern und den Rechen- und Logikeinheiten ist in Fig. 7
näher dargestellt. Die Rechen- und Logikeinheiten 88 und 99 sind jeweils in zweckmäßiger Weise durch ein Paar
vn Vier-Bit-Rechen- und Logikeinheiten gebildet, von denen jeweils eine Einheit dargestellt ist. Die Einheiten
erzeugen Ausgangsfunktionen XA0--, und YA0-I in Übereinstimmung mit den Signalen auf den betreffenden
Funktionsauswahlleitungen SXADD und SYADD. Beide Einheiten nehmen Operanden XF0--, und XF0-I von den
Schaltern 101 und 102 her auf. Während des EXEC-lmpu\ses leitet das Verknüpfungsglied 281 das Operandenbit
YOPn an die Rechen- und Logikeinheiten, und zwar über das Verknüpfungsglied 283, welches das Operandenbit
invertiert. Das Verknüpfungsglied 282 hat während des /argC-Impulses keine Auswirkung, da es den EXEC-Impuls
als eines seiner Eingangsgrößen erhält. Am Ende des £*£C-Impulses hält dergewissermaßen einen Verzögerungsschaiter
bildender Schauer 102 den Operandcnbitweri auf Grand des Vorhandenseins des Rückkopplungs-Inverters
284 und der Verknüpfungsglieder 282 und 283 fest. Sämtliche Operandenbits werden in dieser
Weise restgehalten, so daß dasselbe Register sowohl einen Operanden bereitstellen als auch das Ausgangssignal
des Funktionsnetzwerks aufzunehmen vermag, d. h. das Ausgangssignal von den A0- und Λ ,-Schaltern 94 und 95.
Die Gatter bzw. Verknüpiungsglieder für den Schalter 101 arbeiten in derselben Weise wie die Verknüpfungsglieder
281 bis 284, jedoch auf die AW-Operandenbits.
Die X- und K-Operanden werden durch die XOP- und JW-Auswahlschalter 103 und 104 abgegeben. Je Operand
wählen die Steuersignale DXOP0-3 und DYOP0-3 ein Bit von acht Eingangsbits aus. Beide Schalter nehmen
Eingangssignale von den A- und Ä-Teilen des Akkumulators und den geradzahligen und ungeradzahligen Byteteilenlll
A bzw. Ill B der Mehrzweckregister auf. Die betreffenden geradzahligen und ungeradzahligen Byteteile
des Mehrzweckakkumulators sind jeweils durch eine Reihe von 4 x lo-Zwischenspeicherelemente gebildet,
wobei zwei Elemente für eine Information und ein drittes für eine Parität dient. Die Auswahl von 4-Bit-Teilen
der Speicherelemente erfolgt durch Signale ROR4-6, FPTR und CLKUPoder CLKLW. Die Signale ÄOÄ4-6
werden durch die Decodierung des Mikrobefehls gewonnen, und das Signal ROR1 bestimmt die geradzahligen
oder ungeradzahiigen Byte-Mehrzweckregister, d. h. CLKUPund CLKLW. Das Signal FPTR wird durch das Flipflop
289 erzeugt; es legt fest, welcher Satz von Arbeitsregistern benutzt wird.
Die Eingangssignale für die Register sind die Signale ERS0-I und OÄSb-7 für geradzahlige bzw. ungeradzahlige
Teile. Diese Signale werden von Sätzen von einem von vier Auswahlelementen 94 und 95 aufgenommen, deren
Ausgangssignale als die Funktionsnetzwerkausgangssignale betrachtet werden. Die Eingangssignale für die
Auswahlelemente 94 werden von der Rechen- und Logikeinheit 88, dem S^-Schalter 92, über die für eine langsame
Datenübertragung vorgesehene Dateneingabeleitung SDBI und die für eine schnelle Datenübertragung
vorgesehene Dateneingabeleitung FDBIaufgenommen. Die Ausgangssignale der Auswahlelemente 94 werden
an verschiedene Eelemente abgegeben, einschließlich des A-Akkumulatorregisters 105 A und des geradzahligen
Mehrzweckregisters 111 A. Das Λ-Akkumulatorregister 105 A weist einen Satz von Großsignal-Flipflops,
deren erstes mit 291 bezeichnet ist, und einen Satz von Kleinsignal-Flipflops, deren erstes mit 292 bezeichnet ist,
auf. Der Satz von Großsignal- oder Kleinsignal-Flipflops gibt die ^-Akkumulatorregister-Eingangssignale
AR0--! an jeweils ein Element von acht Auswahlelementen 103 und 104 ab, und zwar über ein von zwei Auswahlelementen
290 entsprechend dem Signal FPTR. Das eine von vier Auswahlelementen 95 liefert die Funktionsnetzwerkausgangssignale
für die X- und /'-Operandenauswahlelemente 103 und 104 und das Speicherelement
111 B in derselben Weise. Für die Direktmikrobefehle ist das Steuerspeicherausgaberegister 114 mit den Auswahlelementen
104 verbunden. In entsprechenderweise sind das Verzweigungsprüfregister, das aus J-K-Flipflops
106 besteht, und das Anzeige register 99 an Auswahlelementen 103 in derselben Weise angeschlossen wie
das A-Akkumulatorregister 105 A.
Die zeitlichen Beziehungen sind in F i g. 8 gezeigt. Der Grundtakt wird von einem Taktsignal RA W-X abgeleitet, welches eine charakteristische Frequenz von 10 MHz besitzt. Von dieser Taktimpulsquelle werden das Ausführungsbegrenzungssignal EXEC, das Ausführungstaktsignal QEXECund ein erstes phasenverschobenes Taktsignal FOPC abgeleitet bzw. gesteuert. Im allgemeinen erfolgt eine wirksame Taktsteuerung der Register durch
5 die Rückflar.ke des Ausführungsimpulses.
Wie in F i g. 7 bezüglich des A -Registers des Akkumulators gezeigt, sind die Arbeitsregister verdoppelt. Diese
Arbeitsregister enthalten die Registerreihenanordnung 111, den Akkumulator 105, das Hilfssteuerspeicheradressenregister 128, das Unterbrechungsadressenregister 129, das Anzeigeregister 199, das Steuerwerkadaptor-Nummernregister 121 und das Verzweigungsprüfregister 106. Durch Verwendung von verdoppelten Arbeitsre-
10 gistern kann ein Unterbrechungsbetrieb schnell und wirkungsvoll ausgelöst werden. Tritt ein Unterbrechungssignal auf den /!/-Adaptortrennstellenleitungen auf, so wird die benötigte Antwort hauptsächlich dadurch gegeben, daß das Signal //yVTerzeugt wird. Dadurch ist eine richtige Einstellung des FPTR-Flipflops 289 und eine
normale Verzweigung auf die den Schaltern 134 und 135 zugeführten Eingangssignale hin sichergestellt, während die Rückkehradresse in dem Unterbrechungsadressenregister 129 reserviert wird.
15
Claims (4)
1. Mikroprogrammierbarer Prozessor mit einem Steuerspeicher (50), in welchem eine Vielzahl von M ikrobefehlswörtem
gespeichert ist, deren jedes in einem bestimmten Format einen einem Mikrobefehlskom-
s mando zugehörigen Operationscode aufweist, wobei die Operationscodes ausgelesener Mikrobefehlswörter
zur Erzeugung von Steuersignalen jeweils einem Decoder zugeführt und von diesem decodiert werden, mit
einer Registereinrichtung (136) sowie mit einer Rechen- und Verknüpfungseinrichtung (88, 89) für die
Durchführung einer Vielzahl von einem bestimmten Vorrat an Mikrobefehlskommandos zugehörigen Funktionen,
dadurch gekennzeichnet,
(a) daß ein Mikrobefehlsregister (144,145) mit einem geradzahligen Registerbereich (144) und einem ungeradzahligen
Registerbereich (145) vorgesehen ist,
(b) daß der mit dem Mikrobefehlsregister (144,145) verbundene Steuerspeicher (50) in einen geradzahligen
Bereich und in einen ungeradzahligen Bereich derart organisiert ist, daß in jedem Bereich ein Mikrobefehlswort
gespeichert ist,
wobei ein Verzweigungskommando-Mikrobefehlswort lediglich in dem ungeradzahligen Bereich des
Steuerspeichers (50) gespeichert ist,
wobei der Steuerspeichers (50) lediglich durch eine Adresse adressiert wird, weiche einem Speicherplatz
des geradzahligen Bereiches entspricht,
und wobei auf die Adressierung des betreffenden Steaerspeichers (50) hin das unter dem adressierten
geradzahligen Bereich gespeicherte Mikrobefehlswort und das unter dem entsprechenden ungeradzahligen
Bereich gespeicherte Mikrobefehlswort gelesen und in den geradzahligen Registerbereich (144)
bzw. in den ungeradzahligen Registerbereich (145) des Mikrobefehlsregisters (144, 145) geladen
werden,
(c) daß mit dem geradzahi'gen Registerbereich (144) des Mikrobefehlsregisters (144,145) eia erster Decoder (146) verbunden ist, der das in dem geradzahligen Registerbereicn (144) des Mikrobefehlsregisters
(144,145) gespeicherte Mikrobefehlswort für die Erzeugung von Steuersignalen decodiert, welche die
Ausführung des durch das Mikrobefehlswort bezeichneten Mikrobefehlskommandos bewirken,
(d) daß mit dem ungeradzahligen Registerbereich (145) des Mikrobefehlsregisters (144,145) ein zweiter
Decider (147) verbunden ist, der das in dem ungeradzahligen Registerbereich (145) des Mikrobefehlsregisters (144, J45) gespeicherte Mikrobefehlswort decodiert, um zu bestimmen, ob der Operationscode
des Mikrobefehlswortes ein Verzweigungskommando ist,
wobei in dem Fall, daß e-"v Verzweigungskommando auszuführen ist, der Prozessor die Ausführung des
betreffenden Verzweigungskommandos gleichzeitig mit der Ausführung des Mikrobefehiswortes vornimmt,
weiches in dem geradzahligen Registerbereich (144) des Mikrobefehlsregisters (!44, !45}
gespeichert ist,
während in dem Fall, daß kein Verzweigungskommando auszuführen ist, der Prozessor die Übertragung
des in dem ungeradzahligen Registerbereich (145) des Mikrobefehlsregisters \'144, l-g) gespeicherten
Mikrobefehlswortes in den geradzahligen Registerbereich (144) des Mikrobefehlsregisters (144,145)
vornimmt,
(e) und daß zwischen dem geradzahligen Regi^erbereich (144) und dem ungeradzahligen Registerbereich
(145) des Mikrobefehlsregisters (144,145) eine Übertragungseinrichtung (142) eingefügt ist, welche das
Mikrobefehlswort von dem ungeradzahligen Registerbereich (145) zu dem geradzahligen Registerbereich
(144) des Mikrobefehlsregisters (144,145) nach Beendigung der Ausführung des Mikrobefehlswortes
in dem geradzahligen Registerbereich (144) des Mikrobefehlsregisters (144,145) überträgt, wenn
der zweite Decoder (147) bestimmt hat, daß das in dem ungeradzahligen Registerbereich (145) des
Mikrobefehlsregisters (144,145) enthaltene Mikrobefehlswort kein Verzweigungskommando enthält.
2. Prozessor nach Anspruch 1, dadurch gekennzeichnet, daß der geradzahlige Registerbereich (144) für die
Speicherung von Mikrobefehlen von geradzahligen Speicherplätzen des Steuerspeichers (50) und der ungeradzahlige
Registerbereich (145) für die Speicherung νο·ι Mikrobefehlen von ungeradzahligen Speicherplätzen
des Steuerspeichers (50) dient, daß der mit dem Mikrobefehlsregister (144,145) verbundene Steuerspeicher
(50) geradzahlige/ungeradzahlige Mikrobefehlspaare parallel an die geradzahligen bzw. ungeradzahligen
Registerbereiche (144 bzw. 145) abgibt, daß der mit dem geradzahligen Registerbereich (144) verbundene
(erste) /-Decoder (146) die durch den Mikrobefehl bezeichnete Operation (Bits 0-15 in Fig. 3a, b)
festzulegen gestattet, daß der mit dem ungeradzahligen Registerbereich (145) verbundene (zweite) ß-Decoder(147)
die durch den Mikrobefehl bezeichnete Verzweigungsoperation (Bits 16-31 in Fig. 3 b) zu erkennen
gestattet, daß ein mit dem Steuerspeicher (50) verbundenes Steuerspeicher-Adreßregister (136) zwei
Mikrobefehle auszuwählen gestattet, daß eine mit dem Mikrobefehlsregister (144, 145) verbundene
Adressenänderungseinrichtung (132,133) den Inhalt des Steuerspeicher-Adreßregisters (136) in Übereinstimmung
mit der Codierung (Bits 21-23) in dem ungeradzahligen Bereich des Mikrobefehlsregisters (144,
145) zu modifizieren gestattet, daß eine mit dem Steuerspeicher (50) und dem Steuerspeicher-Adreßregister
(136) verbundene Verzweigungssteuereinrichtung (134,135) vorgesehen ist, die einmal selektiv den Inhalt
des Steuerspeicher-Adreßregisters (136) zu modifizieren und zum anderen das adressierte Mikrobefehlspaar
aus dem Steuerspeicher (50) in das Mikrobefehlsregister (144, 145) während der Ausführung eines geradzahligen
Mikrobefehls überzuführen gestattet, letzteres dann, wenn der (zweite) 5-Decoder (147) das Vorliegen
einer Verzweigungsbedingung in der Codierung eines ungeradzahligen Mikrobefehls ermittelt, daß
die vom (ersten) /-Decoder (146) decodierten Signale zur Durchführung von Datenverarbeitungsopera-
tionen der Verarbeitungseinheit (88,89) zugeführt werden, wobei trie einzelnen auszuführenden Operationsschritte durch die Codierung eines geradzahligen Mikrobefehls bestimmt sind, daß die Übertragungseinrichtung (142) den Inhalt aus dem ungeradzahligen Bereich in den geradzahligen Bereich des Mikrobefehlsregisters (144,145) während der Ausführung eines geradzahligen Mikrobefehls in dem Fall überträgt, daß der
(zweite) 5-Decoder (147) keine Verzweigungscperation auswählt S
3. Prozessor nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß durch die Verarbeitungseinheit (88,
89) ein Auzeigeregister (99) derart gesteuert ist, daß sein Inhalt Informationen speichert, die kennzeichnend
J? sind für Bedingungen zur Ausführung von Datenverarbeitungsoperationen, inklusive einer Null-Ergebnis-Anzeige,
und daß in operativer Verbindung mit dem Anzeigeregister (99) die Verzweigungssteuereinrichürag
(134, 135) bei Vorliegen entsprechender Bedingungen selektiv die Weiterleitung des adressierten
Mikrobefehlspaares an das Mikrobefehlsregister (144,145) sperrt.
4. Prozessor nach Anspruch 1,2 oder 3, dadurch gekennzeichnet, daß der (erste) /-Decoder (146) in seiner
Funktionsweise so ausgelegt ist, daß er in Übereinstimmung mit der festgelegten MikrobefebJscodierung
(Fig. 3a, b) auf sämtlkhe Verzweigungs-Mikrobefehle wie auf NOP-Mikrobefehle anspricht
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US24006472A | 1972-03-31 | 1972-03-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2316296A1 DE2316296A1 (de) | 1973-10-11 |
DE2316296C2 true DE2316296C2 (de) | 1986-04-30 |
Family
ID=22904972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2316296A Expired DE2316296C2 (de) | 1972-03-31 | 1973-03-31 | Mikroprogrammierbarer Prozessor |
Country Status (7)
Country | Link |
---|---|
US (1) | US3753236A (de) |
JP (2) | JPS578489B2 (de) |
AU (1) | AU470700B2 (de) |
CA (1) | CA984515A (de) |
DE (1) | DE2316296C2 (de) |
FR (1) | FR2179418A5 (de) |
GB (1) | GB1410837A (de) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3921146A (en) * | 1973-01-05 | 1975-11-18 | Gen Electric | Programmable data processor and controller system |
JPS538295B2 (de) * | 1973-05-30 | 1978-03-27 | ||
GB1426749A (en) * | 1973-06-05 | 1976-03-03 | Burroughs Corp | Micro programme data processor having parallel instruction flow streams for plural level of subinstruction sets |
US3979725A (en) * | 1973-08-06 | 1976-09-07 | Xerox Corporation | Multi-way program branching circuits |
US3909800A (en) * | 1973-12-18 | 1975-09-30 | Honeywell Inf Systems | Improved microprogrammed peripheral processing system |
US3913074A (en) * | 1973-12-18 | 1975-10-14 | Honeywell Inf Systems | Search processing apparatus |
US3909799A (en) * | 1973-12-18 | 1975-09-30 | Honeywell Inf Systems | Microprogrammable peripheral processing system |
US3938098A (en) * | 1973-12-26 | 1976-02-10 | Xerox Corporation | Input/output connection arrangement for microprogrammable computer |
US3958225A (en) * | 1974-01-28 | 1976-05-18 | Teletype Corporation | Apparatus and method for controlling a communications terminal |
IT1012440B (it) * | 1974-05-16 | 1977-03-10 | Honeywell Inf Systems | Apparato di controllo dei canali di ingresso e uscita delle informa zioni di un calcolatore |
US3986170A (en) * | 1974-05-30 | 1976-10-12 | Gte Automatic Electric Laboratories Incorporated | Modular control system design with microprocessors |
US3980993A (en) * | 1974-10-17 | 1976-09-14 | Burroughs Corporation | High-speed/low-speed interface for data processing systems |
US3979730A (en) * | 1974-10-30 | 1976-09-07 | Motorola, Inc. | Interface adaptor having control register |
US3961313A (en) * | 1974-12-04 | 1976-06-01 | International Business Machines Corporation | Computer control apparatus |
FR2307407A1 (fr) * | 1975-04-09 | 1976-11-05 | Singer Co | Systeme de communication d'information |
US4006465A (en) * | 1975-05-14 | 1977-02-01 | International Business Machines Corporation | Apparatus for control and data transfer between a serial data transmission medium and a plurality of devices |
DE2527272B2 (de) * | 1975-06-19 | 1979-10-25 | Siemens Ag, 1000 Berlin Und 8000 Muenchen | Anordnung zum Decodieren und Abarbeiten eines Mikrobefehlswortes konstanter Länge |
US4040032A (en) * | 1976-02-27 | 1977-08-02 | Data General Corporation | Peripheral device controller for a data processing system |
US4292669A (en) * | 1978-02-28 | 1981-09-29 | Burroughs Corporation | Autonomous data communications subsystem |
US4648063A (en) * | 1978-10-30 | 1987-03-03 | Phillips Petroleum Company | Programming a peripheral computer |
US4330823A (en) * | 1978-12-06 | 1982-05-18 | Data General Corporation | High speed compact digital computer system with segmentally stored microinstructions |
US4327408A (en) * | 1979-04-17 | 1982-04-27 | Data General Corporation | Controller device with diagnostic capability for use in interfacing a central processing unit with a peripheral storage device |
US4434461A (en) | 1980-09-15 | 1984-02-28 | Motorola, Inc. | Microprocessor with duplicate registers for processing interrupts |
US4618925A (en) * | 1981-05-22 | 1986-10-21 | Data General Corporation | Digital data processing system capable of executing a plurality of internal language dialects |
JPS63251349A (ja) * | 1987-04-08 | 1988-10-18 | Sakae Riken Kogyo Kk | 透光性を有する車両用フロントグリル |
JP2505246B2 (ja) * | 1988-04-18 | 1996-06-05 | 矢崎総業株式会社 | 天井輻射パネル |
US5307464A (en) * | 1989-12-07 | 1994-04-26 | Hitachi, Ltd. | Microprocessor and method for setting up its peripheral functions |
US5293894A (en) * | 1993-02-11 | 1994-03-15 | Fleischmann Lewis W | Automatic prime and flush siphon condensate pump system |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3629853A (en) * | 1959-06-30 | 1971-12-21 | Ibm | Data-processing element |
GB1096617A (en) * | 1964-11-16 | 1967-12-29 | Standard Telephones Cables Ltd | Data processing equipment |
US3387278A (en) * | 1965-10-20 | 1968-06-04 | Bell Telephone Labor Inc | Data processor with simultaneous testing and indexing on conditional transfer operations |
US3430197A (en) * | 1965-10-21 | 1969-02-25 | Itt | Error correction circuit for digital recording systems |
US3562713A (en) * | 1967-03-17 | 1971-02-09 | Burroughs Corp | Method and apparatus for establishing a branch communication in a digital computer |
US3570006A (en) * | 1968-01-02 | 1971-03-09 | Honeywell Inc | Multiple branch technique |
US3551895A (en) * | 1968-01-15 | 1970-12-29 | Ibm | Look-ahead branch detection system |
US3533065A (en) * | 1968-01-15 | 1970-10-06 | Ibm | Data processing system execution retry control |
US3559183A (en) * | 1968-02-29 | 1971-01-26 | Ibm | Instruction sequence control |
US3538498A (en) * | 1968-09-10 | 1970-11-03 | United Aircraft Corp | Majority data selecting and fault indicating |
JPS5021821B1 (de) * | 1968-10-31 | 1975-07-25 | ||
US3577189A (en) * | 1969-01-15 | 1971-05-04 | Ibm | Apparatus and method in a digital computer for allowing improved program branching with branch anticipation reduction of the number of branches, and reduction of branch delays |
JPS4911017A (de) * | 1972-05-26 | 1974-01-31 | ||
JPS4939852A (de) * | 1972-08-23 | 1974-04-13 | ||
JPS5119300A (ja) * | 1974-08-08 | 1976-02-16 | Japan Atomic Energy Res Inst | Hoshasenshaheiyofukugozai |
-
1972
- 1972-03-31 US US00240064A patent/US3753236A/en not_active Expired - Lifetime
-
1973
- 1973-01-29 CA CA162,245A patent/CA984515A/en not_active Expired
- 1973-02-28 AU AU52685/73A patent/AU470700B2/en not_active Expired
- 1973-03-30 GB GB1558573A patent/GB1410837A/en not_active Expired
- 1973-03-30 FR FR7311606A patent/FR2179418A5/fr not_active Expired
- 1973-03-31 DE DE2316296A patent/DE2316296C2/de not_active Expired
- 1973-03-31 JP JP3737173A patent/JPS578489B2/ja not_active Expired
-
1981
- 1981-05-27 JP JP56080661A patent/JPS598846B2/ja not_active Expired
Also Published As
Publication number | Publication date |
---|---|
US3753236A (en) | 1973-08-14 |
JPS578489B2 (de) | 1982-02-17 |
JPS4917146A (de) | 1974-02-15 |
JPS5762434A (en) | 1982-04-15 |
AU470700B2 (en) | 1976-03-25 |
FR2179418A5 (de) | 1973-11-16 |
DE2316296A1 (de) | 1973-10-11 |
AU5268573A (en) | 1974-08-29 |
GB1410837A (en) | 1975-10-22 |
CA984515A (en) | 1976-02-24 |
JPS598846B2 (ja) | 1984-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2316296C2 (de) | Mikroprogrammierbarer Prozessor | |
DE2459975C2 (de) | ||
DE2357003C2 (de) | Prozessor für eine Mehrprogramm-Datenverarbeitungsanlage | |
DE2456578C2 (de) | Datenverarbeitungsanlage | |
DE2846495C2 (de) | Zentraleinheit | |
DE2714805C2 (de) | ||
DE2555963C2 (de) | Einrichtung zur Funktionsmodifizierung | |
DE2328058C2 (de) | Fehlerdiagnoseeinrichtung in einer digitalen Datenverarbeitungsanordnung | |
DE3886529T2 (de) | Einrichtung in einem Datenverarbeitungssystem zur System-Initialisierung und -Rückstellung. | |
DE69738188T2 (de) | Verfahren und apparat für eine erhöhte genauigkeit bei der verzweigungsvorhersage in einem superskalaren mirkroprozessor | |
EP0097725B1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
DE1934220A1 (de) | Vorrichtung zur Wartung und Pruefung von elektronischen Datenverarbeitungsanlagen | |
DE2657848A1 (de) | Steuereinheit fuer ein datenverarbeitungssystem | |
DE2446224A1 (de) | Vorrichtung zum steuern des mikroprogramms im operationssystem einer digitalen datenverarbeitungsanlage | |
DE2248296A1 (de) | Programmsteuereinrichtung | |
DE2339636A1 (de) | Programmsteuereinrichtung | |
DE2400064A1 (de) | Speicherpruefanordnung und diese verwendendes endgeraetsystem in einem datenverarbeitungssystem | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE2658864A1 (de) | Pruefsystem fuer eine mikroprogrammierte verarbeitungseinheit | |
DE2611892A1 (de) | Mikroprogramm-steuersystem | |
DE2440628A1 (de) | Datenverarbeitungsanlage mit mikroprogrammierung | |
DE2715029B2 (de) | Schaltungsanordnung zur Diagnose oder Prüfung von funktioneilen Hardware-Fehlern in einer digitalen EDV-Anlage | |
DE1179027B (de) | Speicherprogrammierte digitale Rechenanlage | |
DE2702722A1 (de) | Instruktionsinterpretation in elektronischen datenverarbeitungsanlagen | |
DE2658950A1 (de) | Mikroprogrammierte verarbeitungseinheit sowie verfahren zur organisation derselben |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OD | Request for examination | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: HONEYWELL BULL INC., MINNEAPOLIS, MINN., US |