DE2316296A1 - Durch mikroprogramme steuerbare verarbeitungseinrichtung - Google Patents
Durch mikroprogramme steuerbare verarbeitungseinrichtungInfo
- Publication number
- DE2316296A1 DE2316296A1 DE2316296A DE2316296A DE2316296A1 DE 2316296 A1 DE2316296 A1 DE 2316296A1 DE 2316296 A DE2316296 A DE 2316296A DE 2316296 A DE2316296 A DE 2316296A DE 2316296 A1 DE2316296 A1 DE 2316296A1
- Authority
- DE
- Germany
- Prior art keywords
- register
- microinstruction
- branch
- bit
- ror
- 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.)
- Granted
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
Dipl.-Ing. Heinz B&rdehie
Patentanwalt λ*«.
8000 München 22, Herrnstr.15 2316296
München, den 31. März 1973
Mein Zeichen: P 1640
Anmelder: Honeywell Information Systems Inc. 200 Smith Street
Waltham, Massachusetts V. St. A.
Waltham, Massachusetts V. St. A.
Die Erfindung bezieht sich auf Allzweck-Steuereinrichtungen für die Verbindung von peripheren Einrichtungen und Teilen
eines zentralen Verarbeitungswerkes eines digitalen Rechnersystems. Derartige Steuereinrichtungen bzw. Steuerwerke
stellen die in Frage kommenden Trennstellen für Daten- und Steuersignale dar, die mit den peripheren Einrichtungen,
wie Bandbedienungsgeräten oder Magnetplatteneinheiten, kompatibel sind und die als Eingabe/Ausgabe-Aufnahmestellen
bezüglich der zentralen Verarbeitungsteile eines Rechnersystems dienen. Die Steuereinrichtung bzw. das Steuerwerk
ist von der Art, daß es eine nennenswerte Puffer- und Datenverarbeitungsfähigkeit
besitzt.
3098Λ1/1Ö3S
Ein Hauptproblem beim Entwurf von Rechner sy steinen 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
Teilprogranimen bzw. Routinen für Eingabe/Ausgabe-Operationen
aufgewandt wird. Im allgemeinen sind Eingabe/Aus-' gabe-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 die zentralen Verarbeitungsteile von Allzweck-Rechensystemen,
im allgemeinen wortorientiert, wobei eine Informationsverarbeitung auf der Basis von ¥orten 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 die 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 Suchbefehlen, etc. sind sehr verschiedene Steuerfolgen
verbunden. Darüber hinaus ist es erforderlich, einen so hoch wie möglich liegenden 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/Ausgabe-Operationen
nach erfolgter Auslösung häufig Echtzeit-Verarbeitungsforderungen für eine 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önn, 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 Maße 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übertragungsfrequenzen in der
Größenordnung von einer Million Bytes pro Sekunde zu ermöglichen.
309841/1095
Der Erfindung liegt demgemäß die Aufgabe zu Grunde, ein
Steuerwerk zu schaffen, das eine sehr hohe Datenverarbeitungsfrequenz ermöglicht, das ferner eine ausreichende Verknüpfungsfunktionsfähigkeit
besitzt, um nahezu sämtliche Arten-von peripheren Einrichtungen zu steuern, und das sich außerdem durch
eine ausgezeichnete Zuverlässigkeit auszeichnet, während der Aufbau auf ein wirtschaftliches Minimum zu begrenzen ist.
Gelöst wird die vorstehend aufgezeigte Aufgabe erfindungsgemäß
durch eine mikroprogrammierbare, d.h. durch Mikroprogramme steuerbare Verarbeitungseinrichtung, die dadurch gekennzeichnet
ist,
a) daß eine Verarbeitungseinrichtung mit einer Registereinrichtung
vorgesehen ist, die einen Vorrat an Rechen- und Ver-
" knüpfungsoperationen auszuführen gestattet,
b) daß ein Mikrobefehlsregister vorgesehen ist, welches zwei
Mikrobefehlsworte festzuhalten imstande ist,
c) daß ein Allzweck-Mikrobefehlsdecoder vorgesehen ist, der auf das erste Wort in dem Mikrobefehlsregister hin die
Verarbeitungseinrichtung anzusteuern gestattet,
d) daß ein Verzweigungs-Mikrobefehlsdecoder vorgesehen ist, der auf das zweite Wort in dem Mikrobefehlsregister hin
Selektiv eine Verzweigungsfunktion auszuführen gestattet,1
und zwar gleichzeitig mit der Ausführung des ersten Mikrobefehlswortes
in dem Mikrobefehlsregister, und
e) daß ÜbertragungseinriGhtungen vorgesehen sind, die selektiv
,das zweite Wort in die erste· Wortposition des Mikrobefehlsregisters zu übertragen gestatten. ·
Bei der bevorzugten Ausführungsform des makroprogrammierbaren
peripheren Steuerwerks werden somit die in dem Steuerspeieher
enthaltenen Steuerworte paarweise in ein Ausgaberegister geladen,
3Ö984.1/10ÖS
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. ¥ird 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 liefern. Die Rechen- und Verknüpfungsoperationen werden überprüft, indem ein Vergleich der
309841/109Ö
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 Blockdiagramm ein charakteristisches
peripheres Untersystem, welches ein peripheres Steuerwerk gemäß
der Erfindung umfaßt. · Fig. 2 zeigt in einem Blockdiagramm das periphere Steuerwerk
in näheren Einzelheiten.
Fig. 3a und 3b veranschaulichen in Diagrammen Mikrobefehlsvorratsformate der Steuerwerk-Verarbeitungseinrichtung.
Fig. 4 zeigt die Realisierung eines Steuerspeicher-Ausgaberegisters
und eines Verzweigungs-Mikrobefehlsdecoders, der Signale für/Fig. 5 bis 7 dargestellte Schaltungen abgibt.
Fig. 5 zeigt einen zur Adressenbildung dienenden Schaltungsteil. Fig. 6 zeigt einen Haupt-Mikrobefehlsdecoder sowie einen Schaltungsteil,
der charakterisitsehe 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. 1 zeigt ein Blockdiagramm eines charakteristischen
peripheren Untersystems, in welchem eine Reihe von peripheren Einrichtungen 115, 125 und 126 an zwei zentralenVerarbeitungseinrichtungen
bzw. Verarbeitungseinrichtungsaufnahmeeinrichtungen 135 u11^ 145 angeschlossen sind. Die Verbindungen erfolgen
über ein^jaikroprogrammierbares, d.h. durch Mikroprogramme steuerbares
Steuerwerk, welches ein Verarbeitungsnetzwerk 100 zur
98 4 1 /1 Ö9i
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
erfolgt eine Verbindung zwischen der gemeinsamen Anpassungs- ■ trennstelle 80 und den peripheren Einrichtungen 115, 125 und 126,
In entsprechender Weise verbinden Verbindungsleitungsadaptoren 130 und 140 die gemeinsame Anpassungstrennstelle 80 mit den
zentralen Verarbeitungseinrio_Jb.tungen 135 und 145. Das Steuerwerk
enthält ferner 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 10 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 Operanden-Singangssignale für das Verarbeitungsnetzwerk 100
werden über für eine langsame und eine schnelle Datenübertragung vorgesehene Dateneingabeleitungen von der Adaptor-Trennstelle
und dem Lese/Schreib-Speicher 10 geliefert.
309841/1095
Das in Fig. 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 gebrä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äß Fig. 1 sind in Fig. 2 näher dargestellt. Um die Kosten
auf einen minimalen Vert zu senken, werden vorzugsweise Standard-Logikmodule verwendet. Sofern nichts anderes angegeben ist, sind
die Register durch«FK-Flipflops gebildet, und die Schalter sind
1-aus-n-Auswahlschalter, wobei η = 2, 4 oder 8 entsprechend der
Zahl von Schaltereingangssignalen gewählt ist. In Fig. 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 0PQ- und OP^-Schalter 103 und 104
ausgewählt. Zwischen den OP-Schaltern und den Rechen/Logik-Einheiten
sind Hq- und H^-Schalter 101 bzw. 103 eingefügt, um
die Abgabe richtiger Eingangssignale an Addierer/Logik-Sinheiten sicherzustellen, wenn die Ausgangssignale in einem der Operandenregister
gespeichert werden; dabei wird ein Byte in einer Registerreihenanordnung
111 gespeichert. Nebenden Addierer/Logik-Funktionen
werden um ein Bit erfolgende Links- bzw*. Rechtsverschiebungen durch Sn- und S1-Schalter 92.und 93 ausgeführt. Die
. 309841/1
- und PL -Ergebnis-Schalter 94 und 95 liefern Eingangssignale
für ein Verzweigungs-Prüfregister 106, für die Registerreihenanordnung
111 und einen AB-Akkumulator. Die RQ- und R^-Schalter
wählen das Addierer/Logik-Ausgangssignal oder die S-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 DQ- und D^-Schalte'r 107 und 108 bewirken
selektiv eine Verbindung des AB-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 BQ- und B^-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 Verfügung.
In Fig. 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 Verzweigungsmikrobefehlen. Die resultierende
Adresse oder die andere Adresse wird durch die A0-A1-Schalter
134 und 135 ausgewählt und an den Steuerspeicher 50 sowie
309841/1095
■ - ίο - .
an das Steuerspeicheradressenregister 136 abgegeben. .Jeweils.;-.
ein Befehlspaar bildende Paare von Mikrobefehlen werden über
RO0- und RO1-Schalter 142 und 143 den R0Q- und RO1-Steuer-, .
Speicherausgaberegistern 144 und 145 zugeführt. Im Unterschied
dazu vermag der ROQ-Schalter den Mikrobefehl von dem RO1-Register
zu dem ROg-Register zu übertragen. Das RO1-Register kann
selektiv das Ausgangssignal des Rechen/Verknüpfungs-Ausgabeteiles
DESQ-16 über den RO1-Schalter aufnehmen. Andere Befehle
■als Verzweigungsbefehle werden durch den I-Allzweckdecoder
decodiert, und Verzweigungsbefehle werden durch den B-Verzweigungsdecoder
147 decodiert. Diese Decoder sprechen auf die Inhalte der RO0- und RO1-Register an. Die Steuerwerkregister
AUXAR 128, INTAR 129 und ROSAR 136 stehen zusammen mit den
Eingangssignalen von dem Steuerwerkadaptormodul und den Lese/ Schreibspeicherdaten für die Verarbeitungsanordnung zur Verfügung,
und zwar über die für eine schnelle Datenübertragung vorgesehene Dateneingabeleitung FDBI und über die CÄQ- und
-Schalter 138-und 139.
Eine AI-Adaptortrennstelle für den Steuerwerkadaptor 110 besteht
aus einer gemeinsamen Reihe von Leitungen für eine Dateneingabe, Datenausgabe, Adressen/Steuerung, Zustandssteuerung
und für sonstige Steuerungen. Neben diesen Leitungen enthält
die AI-Adaptortrennstelle Je Adaptor noch Leitungen für eine
Unterbrechung, Adaptorauswahl, Ereignismitteilung und einen
Orginaltakt. 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/. 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 Zustands-
309841/1095
-Αλ -
leitungen leiten eine Information bezüglich des Zustande 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.
zm/vom Adaptor
zum vom zum vom zum vom vom
zum
vom
zum
zum
zum
vom
zum
aus Mikrobefehlen, die 16 Bits lang sind und die von dem Steuerspeicher
50 paarweise/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
BAI-Verbindungen | Leitungsanzahl |
Datenausgabe | 16 |
Dateneingabe | 16 |
Adresse/Steuerung | 8 |
Zustand | 4 |
Originaltakt | 1 |
Unterbrechung | 1/Adaptor |
lireignismeldung | 1/Adaptor |
Auswahl | 1/Adaptor |
Ansprechen (RPI) | 1/Adaptor |
Auslösen | 1/Adaptor |
Steuerungsrückstellung | 1/Adaptor |
Operationsausgabe | 1/Adaptor |
Operationseingabe | 1/Adaptor |
Ausführungstakt | 1/Adaptor |
Der in Fig. 3a und 5b ε | ezeigte Verarbe |
309841/1095
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 (HSB),
Überlauf ( OFL), Null-Ergebnis (Z) und Ausführung (C). Im Hinblick
auf Verknüpfungsoperationen sind die Anzeigen folgende: Höchstwertiges Bit (HSB), 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 Fig. 3& und 3b 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üpfungsund
Register-Register-Operationen umfassen, werden durch Mikrobefehle festgelegt, die die Bitfolge 0010 in'den ersten vier
Bitpositionen aufweisen und die bezüglich der übrigön Bits das
folgende Format besitzen. ·
-43-
Bits 4 bis 7ί Allgemeine Register-Nummer (Operand)
Bit 8: Akkumulator/Rn nimmt Funktionsnetzwerk-Ausgangs
signal auf
Bit 9: B/A für Operand
Bit 10: In BT-Register gespeichertes Ergebnis
Bit 11: Oberes/unteres Anzeigeregister ist gesetzt
Bits 12 bis 15: Operationstyp
Bei dem obigen Format und den unten angegebenen Formaten sind folgende Übereinkünfte ausgenutzt. In 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 Bit 9 eine Null, so befindet sich in dem B-Register ein
Operand, und ist das Bit 9 eine Eins, so befindet sich in dem Α-Register ein Operand. Eine einzelne Eingabe im Hinblick
auf ein Einzel-Bit-Längenfeld zeigt das Ergebnis an, wenn der ¥ert eine Eins ist, und bedeutet, daß keine weitere sonstige
¥irkung vorhanden ist. Das Funktionsnetzwerk-Ausgangssignal
wird z.B. in dem Verzweigungsprüfregister dann und nur dann gespeichert, wenn das Bit 10 eine. Eins ist. Die Bits 12 bis
bezeichnen die bestimmte Operation in der nachfolgend angegebenen ¥eise:
0000 : Lade/speichere Akkumulatorregister von/zu einem
Mehrzweckregister (Verknüpfungs-Anzeigeregister)
0011
0100
0101
0111
1000
1001
1010
0100
0101
0111
1000
1001
1010
Subtraktion
Exklusiv-ODER
UIiD
Addieren
Additionsübertrag
Subtraktionsübertrag
Komplementiere (1) Mehrzweckregister (Verknüpfungs-
Anzeigeregister)
309841/1095
2316236
1011 : Negiere Mehrzweckregister .
1101 : Speicher] Anzeigen vom Mehrzweckregister (unberücksichtigt
lasseh)
1100 : Lade!Aizeigen vom Mehrzweckregister (unberücksichtigt lassen)
1110 : Lade Verzweigungs-Prüfregister 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 fü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 Subtraktions-Ü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 festlegt.
Das Bit.8 legt fest, welcher Operand-Speicherplatz das Ausgangssignal
des Funktionsnetzwerks aufnimmt. Sine Null bezeichnet
dabei den Akkumulator.
Das Bit 10 legt in dem Fall, daß es eine Eins ist, fest, daß
das Ausgangssignal des Funktionsnetzwerks außerdem 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.
309841/109
Spezielle Grundoperationen sind in den ersten vier Bits des Mikrobefehls durch 0011 bezeichnet. Diese Operationen sind
dieselben wie die allgemeinen Grundoperationen. iJine Ausnahme
hiervon bildet jedoch der Umstand, daß in dem Fall, daß das Bit 11 eine Bins ist, die Speieherfunktion' unterbunden ist.
Ist das Bit 11 eine Null, so wird die Operation in einem Fortlaufbetrieb ausgeführt. Ist die Speicherfunktion unterbunden,
so wird lediglich das Anzeigeregister verändert. Eine Ausnahme hiervon bildet jedoch der Umstand, daß das Ausgangs-·
signal des Funktionsnetzwerks in dem Verzweigungsprüfregister gespeichert wird, wenn das Bit 10 eine üüns ist. Beim Fortschreitbetr*ieb
stellt der obere Übertragsanzeiger ein zusätzliches Eingangssignal für das Funktionsnetzwerk im Hinblick
auf eine Addition, Subtraktion und Kegierung dar, und der neue
Null-Anzeiger wird undmäß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 linsen 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).
Dine 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
309841/1096
' 2318296
fakultativ ein Akkumulatorregister, wenn der zweite Operand ein Übertrag ist), und der zweite Operand ist eines der Akkumulatorregister
oder der Übertraganzeiger. Das Register, in das das Ausgangssignal des Funktionsnetzwerks eingespeichert wird,
ist eines der ausgewählten Operandenregister (mit Ausnahme von Additions- und Subtraktionsübertrags-Mikrobefehlen),
Die sogenannten schnellen Mikrobefehle oder Direktmikrobefehle
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 Hauptspeieherzyklus und einen Adaptortrennstellenbetrieb
beginnen lassen. Die zuletzt genannten Mikrobefehle unterscheiden sich durch die Bitfolgen 000 oder 11X in
den Bits 1 bis 3.
Der Lade-Direktmikrobefehl ist dadurch bezeichnet, 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. ¥enn das Bit 3 eine Bins ist, wird ein
RBA-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 B-Akkumulator und den Α-Akkumulator in
der angegebenen Reihenfolge f
Die übrigen Direktmikrobefehle sind durch die Bits 0 bis 3
wie folgt festgelegt:
1100·: Additions/Subtraktions-Literal
1101 : ODBR-Literal .
1001 : UND-Literal
30984171096
Der Literal-Operand ist in den Bits 12 bis 15 enthalten. Das Bit 11 legt fest, welche Hälfte des Anzeigeregisters die Anzeigen
aufnimmt, und das Bit 10 bestimmt, ob das Verzweigungsprüfregister
das Ergebnis des Funktionsnetzwerks aufnimmt oder nicht. Demgemäß erfüllen die Bits 10 und 11 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-Eirektmikrobefehls. Sine 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 RBA-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
fest, in welcher Hälfte des bezeichneten Registers gearbeitet wird, wobei der Wert 1 die Hälfte der oberen Wertigkeit bezeichnet.
Die Datenübertragungs-Mikrobefehle umfassen im allgemeinen
für zwei Bytes ¥ortübertragungsoperationen, zu denen Übertragungen zu und von dem Hauptspeicher-Datenregister, Wortübertragungen
zwischen den Mehrzweckregistern und dem Akkumulator und Verschiebungen von einem und acht Bits gehören, wie
dies durch die Bits 12 bis 15 festgelegt wird. Die Datenübertragungs-Mikrobefehle
besitzen in den Bits 0 bis 3 eine Bitfolge 0001. Die Operationscodes, das sind die Bits 12 bis 15,
sind (mit jeweils einer Definition) wie folgt festgelegt:
0000 ; Lies Hauptspeicher-Datenregister (MDR)
0001 : Schreib Hauptspeicher-Datenregister (MDR)
0010 : Lade Akkumulator (AB) von dem Mehrzweckregister Rn
309841/1095
0011 : Speicher Akkumulator (AB) in das Mehrzweckregister Rn
0100 : Speicher ROASR in AB oder Rn, Rn + 1
0101 : Speicher AUXAR in AB oder Rn, Rn + 1
0110 : Speicher INTAR Unterbreehungsadressenregister,
in AB oder Rn, Rn + 1
1000 : Verschiebe um 1, Verknüpfung (Null-Auffüllung)
1001 : Verschiebe um 1, Drehung, .
1010 : Verschiebe um 1, Rechnung -
1011 : Verschiebe um 1, Verknüpfung (Anzeiger auffüllen)
1100 : Verschiebe um 8
111X : Unterbrechungsmechanismus
1101 : Unterbrechungsmechanismus
Der Lesespeicher-Datenregister-Mikrobefehl und ein Schreibspeicher-Datenregister-Mikrobefehl
dienen in 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 Bits 4 bis 7 ein Mehrzweckregister. Bezüglich der Lesespeicherdatenregisteroperationen
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 :
Binzel-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 lingered—
zahliges bzw. das A- oder B-Register ist. ¥enn die Mehrzweckregister
mit Daten geladen werden, bewirkt eine 1 im Bit 8 und eine 1 im Bit 9, daß auch der Akkumulator geladen wird.
309841/1095
Wenn ein Mehrzweckregister nicht geladen wird, wählt eine
Null im Bit 8 und eine 1 im Bit 9 das Α-Register für eine Byte-Übertragung aus (ansonsten wird das B-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 entsprechender Weise bewirkt bei der Schreibspeicher-Datenregisteroperation
das Vorliegen einer Null im Bit 8, daß der Inhalt des Akkumulators in das Speicherdatenregister einge- ■
speichert 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 0 im Bit 9
eine Akkumulatorverschiebung an; im übrigen erfolgt eine Verschiebung bezüglich des in den Bits 4 bis 7 bezeichneten
Mehrzweckregisters. Eine 1 im Bit 11 zeigt eine Sinzel-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 unduias B-Register bei einer
Null 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.
309841/1095
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 Mehrzweck- . registerpaar der um 8 Bits verschobene Operand. Eine-0 im Bit
bezeichnet die Drehrichtung; im übrigen wird eine Verknüpfungsverschiebung mit einer 0-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 1 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 Vorliegen einer 1 und das niederwertigste Byte bei Vorliegen
-einer 0 aus.
Wort-Lade-Operationen und -Speicheroperationen werden durch
die BitkomMnationen 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äsbit 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 bewirkt ferner,' 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.
309841-/1ÖI5 "■ '
Die Unterbrechungsmechanismusoperationen, die die Bitfolge 11XX in den Bits 12 bis 15 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 15 bezeichnet
einen Schreibzyklus, und 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.
Der Anpassungsstellen-Betriebsmikrobefehl besitzt in den Bitpositionen 0 bis 2 die Bitkombination 111.
Eine 1 im Bit 3 legt 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 DAI-Zustand in die niederwertige
Hälfte des Verzweigungsprüfregisters eingetastet bzw. eingeführt
309841/1095
wird. Ist das Bit 7 eine 1, so wird das höherwertige Byte
der Dateneingabeleitungen in das A-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 DAI-Adressen/Steuerleitungen.
Der bedingte Verzweigungsmikrobefehl besitzt die Bitfolge 01
in den Bits 16 und 17. Sine 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
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 : Anzeigeregister
01 : Verzweigungsprüfregister
10 : A-Register
11 : B-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 Bit 20 eine Null, so erfolgt
eine unbedingte Verzweigung zu· der durch den -Rest des Mikrobefehls
bezeichneten Adresse. Das letzte Bit wird jedoch für Adressenvorbereitungszwecke unberücksichtigt gelassen. Ist das
09841/1095
betreffende Bit eine 1, so wird der Inhalt des ROSAR-Registers
sicher in dem AUXAR-Re gi ster gespeichert. Die Bits 21 bis werden als eine Zweierkomplementzahl behandelt, die das gewünschte
relative 256-Vortsegment 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 Teiles des Verzweigungsprüfregisters (BTR) angehängt wird. (BTR1 zeigt an, daß das nicht
benutzte Verzweigungsprüfregister benutzt wird.)
00 00 01 01 10 10 11
0 1 0 1 0 1 0
BTR
BTR1
BTR BTR'
BTR,
0-1 0-1 2-3 2-3
v6-7 BTR0-3
BTR;,
-7
Enthalten die Bits 20 bis 23 die Bitfolge 10X0 in dem Verzweigungsmikrobefehl,
so erfolgt eine Verzweigung zu der in dem AOXAR-Re gi ster oder dem Akkumulator befindlichen Adresse,
und zwar in Übereinstimmung damit, daß das erste Bit des Bits eine 1 oder eine 0 ist. Ist das Bit 22 eine 1, so wird der
gegenwärtige Unterbrechungspegel zurückgestellt. Ist das Bit eine 1, so wird der Inhalt des ROSAR-Re gi ster s in das AUXAR-Register
gespeichert.
309841/1095
Enthalten die Bitfolge 20 bis 23 die Bitfqlge 10X1, so erfolgt
eine Verzweigung zu der gebildeten Adresse in folgender Weise. Der niederwertige Teil wird von den Bits 24 bis 50 aufgenommen..
Die höherwertigen Bits 2 bis 7 werden aus dem Α-Register oder
aus dem ROSAR-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 Inhalt des ROSAR-Registers in dem
AUXAR-Register gespeichert.
Ein NOP-Mikrobefehl in einem geradzahligen Speicherplatz
weist an sämtlichen Bitstellen eine O auf. In einem ungeradzahligen Speicherplatz enthalten die Bits 24 bis 30 die niederwertige
Hälfte der Adresse des nächsten Speicherplatzes.
Bei der bevorzugten Ausführungsform werden normale integrierte
Schaltungen vom TTL-Typ für die Realisierung der Erfindung verwendet,
da diese Schaltungen derzeit die besten Kosten-Leistungs-Sigenschaften
mit sich bringen. Der Steuerspeicher ist ein
Standardsatz von einen sogenannten RAM-Speicher bildenden integrierten Schaltungen mit Decodern und Treibern. Der betreffende
Speicher stellt einen solchen mit direktem Zugriff dar. Der Steuer speicher- ist 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 64K Worte umfaßt, also wesentlich mehr als notwendig
sind, und da lediglich geradzahlige. 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 gelöscht bzw. weggelassen wird. Demgemäß sind die Register 128, 129
309841/1095
■und 136 auf 13 Bits beschränkt, was eine Adressierung von
8K geradzahligen Worten oder I6K Worten insgesamt ermöglicht.
Fig. 4 zeigt in einer Teilansicht, wie die Mikrobefehle decodiert
werden. In dem Steuerspeieher 50 sind die Stapelausgänge DRQ0
bis DFU.* J-n geeigneter Weise mit offenen Kollektoren abge-
■> * ,en
schlossen, die über eirf 1,5-kOhm-Widerstand geerdet sind und
die über einen 470-Ohm-Wiederstand 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 DRQ bis DR,* liefern Eingangssignale für
Schalter 142 und 143, die durch Vierer-i-aus-2-Auswahlschalter,
wie den Auswahlschalter bzw. Wähler 148, realisiert sind. So wird z.B. auf das am Schalterausgang ROp-i auftretende Ausgangssignal
entweder der Steuerspeicherausgang DR^1 oder die
Funktionsnetzwerkleitung DERS5 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 Funktionsnetzwerksausgang DERS0-1,- oder den Steuerspeicherausgang
aus, der durch Dg ausgewählt ist. In entsprechender
Weise wählen die geradzahligen Mikrobefehls-Schalter 142 entweder
das ungeradzahlige Mikrobefehls-Ausgaberegister oder den Steuerspeicherausgang RORQ_,j,- aus, wie er durch D-^ ausgewählt
ist. Sämtliche ungeradzahligen Wählerausgänge sind mit
einem Satz von J-K-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 J-Eingang zugeführte Eingangssignal komplementiert dem K-Eingang zugeführt; ein Ry-Signal
309841/1
tastet die betreffenden Flipflops. Die Ausgaberegistersignale
ROIL·,,, 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: .."■-.
DCBR = ROR16 · ROR17 · FINT'
Alle übrigen Verzweigungs-Mikrobefehle werden durch ein Verknüpfungsglied 214 in folgender Weise decodiert: " ■-..
DDIAV = ROR16 · ROR17 · ROR18 · ROR19 -· FINT ■
Eine Vektorsegmentverzweigung wird durch ein Verknüpfungsglied 213 entsprechend folgender Gleichung decodiert:
DVSB = ROR20 · ROR21 · DDIAV /
Eine absolute Verzweigung wird durch ein Verknüpfungsglied 212
entsprechend folgender Gleichung decodiert: .
DABR = ROR20 · ROR21 · ROR23 · DDIAV
Eine indirekte Segmentverzweigung wird durch ein Verknüpfungsglied
211 entsprechend folgendem Ausdruck decodiert:
DISB = ROR20 · ROR21 · ROR25 · DDIAV
Wird ein Verzweigungsbefehl decodiert, so wird eine Verzweigungsadresse vorbereitet und an den Steuerspeicher 50 abgegeben,
um den Befehl abzuholen, Und außerdem wird die Adresse
in dem Steueradressenregister 136 gespeichert. Fig.5 zeigt wie
diese Adressenvorbereitung ausgeführt wird. Der eine von acht
309841/1095
Zählern 134C-H und 135A-G liefert die betreffenden Bits für
die Adresse. ¥ird z.B. eine absolute Verzweigung ausgeführt und ist der Inhalt der Bits 22 bis 25 durch die Bitfolge 0X11
z.B. gegeben, so wird der Inhalt des Hilfsregisters ausgewählt,
um das nächste Mikrobefehlspaar abzuholen, während der voran- " gehende 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 ROR24^0 von dem Steuerspeicher.„ausgaberegister
145 her modifiziert. Die höherwertigen Bits werden von dem Steuerspeicheradressenregister 136 über den Adressenaddierer
und die AQ-Schalterwähler 134C-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. Bine Ausnahme bildet jedoch der
Umstand, daß der zweite Operand für den Adressenaddierer 132 durch die Bits ROR21-2-, gegeben ist, wobei das Vorzeichen
nach links zu übertragen ist. Die Wähler- bzw. Selektorleitungen
für einen von acht Wählern bzw. Selektoren 134C-H werden wie folgt gewonnen:
AUO = DISB-ROR22
AUO = DISB-ROR22
AÜ1 = DABR-ROR25
AU2 = ¥MD-DL
AU2 = ¥MD-DL
Die Wähl^er- bzw. Selektorleitungen für einen der acht Wähler
bzw. Selektoren 135A-G werden wie folgt gewonnen:.
ALO = FINT-DABR* (ROR24 + ROR25) + DVSB
AL1 = DABR-ROR25
AL2 = DVSB + DDISB
AL2 = DVSB + DDISB
309841/1095
- 28 - ■"■'■,■ '
Die Adresse in dem Steuerspeieher wird durch das GL-Signal
taktgesteuert:
Der Allzweck-Mikrobefehlsdecoder -146 ist in Fig. 6 gezeigt.
Ein NAND-Glied 221 decodiert eine Datenübertragung wie folgt:
DFX =
Ein Verknüpfungsglied 222 decodiert eine Grundoperation wie
folgt:
BQP = ROR0-ROR1 -ROR2
Ein Verknüpfungsglied 223 decodiert einen Speicherzyklus wie
folgt:
* SMEM =
Ein Verknüpfungsglied 224 decodiert eine UND-Literal-Operation
wie folgt: .
ANC = ROR0-ROR1-ROR2-ROr.
Ein Verknüpfungsglied 225 decodiert eine Additions- oder
Subtraktions-Literal-Operation wie folgt:
Subtraktions-Literal-Operation wie folgt:
Ein Verknüpfungsglied 226 decodiert eine ODER-Operation mit
der Literal-Operation wie folgt:
0¥C = ROR0-ROr1-ROR2-ROR3
Ein Verknüpfungsglied 227 decodiert eine Lade-Literal-Operation
wie folgt: '
LWC = ROR0-ROR1-ROR2
309841/1Q95
Sin Verknüpfungsglied 228 decodiert eine Anpassungstrennstellen-Bedienungsoperation
wie folgt:
D"Ä"l -
Der Grundoperationstyp wird durch eine Binär/1-aus-16-Leitungsauswahleinheit
251 decodiert. In entsprechender Weise wird der Datenübertragungsoperationstyp durch einen Binär/1-aus-16-Leitungswähler
250 decodiert. Die Ableitung des Taktsteuersignals KB für die Auswahl des B-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
odermäßige Verknüpfung der Signale LKB und LOAB von dem Binär/1-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:
Zusätzliche Eingangssignale für das KB-Verknüpfungsglied 243
sind die Signale LKU1, IKB2, IKS,, 1305^ und !!ÖL:
LKB1 = BOP-ROR3·ROR11 ·BOP- (RORg+RORg )-( ROR12-RO^13) + ST
+ ACY + SCY + SUB
LKB2 = (AHC + A/C + OWC)-ROR6 <ROR2'ROR^ROR2*RORg)
LKB3 = ROTR9-ROR12-RO^13
IiS4 = (ROr0-ROR1-ROR2-RTSH6) sim + roRq + saux-sros-siar
LEB5 = RDMD. (ROR8-ROR9 +ROR7.RC)R8-ROR9) + SH8. (ROIg + RORg
.ROR9-ROR10)
309841/1095
4 rί ·■»' I
In entsprechender Weise wird ein Taktsteuersignal KBR für das Verzweigungsprüfregister durch die Verknüpfungsglieder
bis 232 und 244 erzeugt:
KBR = DAI-ROR5 + (BOP + ANC + A/S + 0¥C + STAB + RDIiD) .ROR1Q
+ LBT + (ANC'+ 'A/S + OWC + LWC) 'ROR4. ^ROR2«ROR^+SORg-ROR8)
In entsprechender Weise werden Taktsteuersignale für die Mehrzweckregister
(geradzahlige und ungeradzahlige)., die A- und B-Register des Akkumulators und das Anzeigeregister erzeugt,
und zwar in Übereinstimmung mit den eine herkömmliche Logik, wie sie in Fig. 6 gezeigt ist, verwendenden Repertoire-Zwangsbedingungen.
Ferner werden die Steuersignale für die Rechen-
und Logikeinheiten in entsprechender Weise gewonnen. Pur den
X-Addierer wird ein erstes genieinsames Signal ADDAl gewonnen:
SXA = IÖEq· ROR9'WRMD + ROR8 · ROR9 · SMSM + STAB ■■'-.'■
ADDA1 = LOAB + SBT + STI + SH8 + LDI +STA + SXA "
Zweite und dritte, zum Teil gemeinsame Signale ADDC0 und
ADDC1 . sind:
ADDC0 = MC + AND + ADD + A/S· ROR9 +-ACY + ROR8-ROR9-SMSM
!«.. = EOR + OWC + OR + SUB + RORn -A/ S + NEG + SCY
Ein viertes, zum Teil gemeinsames Signal ist SXB1:
= LWC + LBT + RÖRg.ST + ROR8 -ROR9»ST
Die betreffenden Addierereingangssignale sind: SXADD0 = ADDA1 + ADDCQ+ COM
SCADD1 = ADDA1 + SXB1 + ANC + AIiD + ADDC0
309841/1095
SYADD2 = ADDA1 + COM + 1
SXADD3 = ADDA1 + SXB1 + OR + O¥C
SXADD3 = ADDA1 + SXB1 + OR + O¥C
Die Y-Addierer-Steuer signale werden in entsprechender Weise
gewonnen:
DA = ROR8·RORq'ST + STA + LDI + STI + SBT
SYADD0 = DA + COH + 0
DB = LOAB + SHB + SXA + SXB1
SYADD1 = DB + DA + ADDC^ + ANC + ADD
SYADD2 = DA + ADDC1 + COM1
SYADD3 = DA + DB + ADDCQ + OR + OWC
Ein erstes Steuersignal für denXDP-Schalter ist:
DXOP0 = (ANC + A/S + OWC)[ROR4+ ROR6)(ROR2-ROR3 + ROR2
+ ROH8] + SMEM-ROR8 · RORg + (SH8 .[ROR9-ROR11 +
+ SHI-ROR8 + LOAB)- SXF + (NEG + SBT + [ACY +
-[ROR8-ROR9 + ROR7-ROR8]
+ [AND + OR + EOR + ADD + SÜß] -RÖRq + LDI-ROR7) BOP
Dieses Signal wird durch den Aufbau und das Befehlsrepertoire
festgelegt. Die übrigen Operanden-Auswahlsteuer signale sind von derselben Form und werden von dein 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 von VierrBit-Rechen- und
Logikeinheiten gebildet, von denen jeweils eine Einheit dargestellt ist. Die Einheiten erzeugen Ausgangsfunktionen
30 9841/109 5
und YAq_7 in Übereinstimmung mit den Signalen auf den betreffenden
Funktionsauswahlleitungen SXM)D und SYADD. Beide Einheiten nehmen Operanden XFQ_y· und XFq-7 von den. Schaltern
101 und 102 her auf. Während des BXSC-Impulses leitet das Verknüpfungsglied
281 das Operandenbit YOPq an die Rechen- und
Logikeinheiten, und zwar über das Verknüpfungsglied 283, welches
das Operandenbit invertiert. Das Verknüpfungsglied 282 hat
während des EXBC-Impulses keine Auswirkung, da es den EXSC-Impuls
als eines seiner Eingangsgrößen erhält. Am Ende des EXEC-Impulses hält der gewissermaßen- einen Verzögerungsschalter
bildender Schalter 102 den Operandenbitwert auf Grund des Vorhandenseins des Rückkopplungs-Inverters 284 und der Verknüpfungsglieder
282 und 283 festi Sämtliche Operandenbits werden in dieser Weise festgehalten, so daß dasselbe Register
sowohl einen Operanden bereitstellen als auch das Ausgangssignal des Funktionsnetzwerks aufzunehmen vermag, d.h. das
Ausgangssignal von den RQ- und R^-Schaltern 94 und 95. Die
Gatter bzw. Verknüpfungsglieder für den Schalter 101 arbeiten
in derselben Weise wie die Verknüpf ungsglieder 281 bis 284,
jedoch auf die XOP-Operandenbits.
Die· X- und Y-Operanden werden durch die XOP- und YOP-Auswahlschalter
103 und 104 abgegeben. Je Operand wählen die Steuersignale DXOP0-3 und DYOPQ_3 ein Bit von acht Eingangsbits
aus. Beide Schalter nehmen Eingangssignale von den A- und B-Teilen des Akkumulators und den geradzahligen und ungeradzahligen
Byteteilen 111A bzw. 111B der Mehrzweckregister auf. Die betreffenden geradzahligen und ungeradzahligen Byteteile
des Mehrzweckakkumulators sind jeweils durch eine Reihe von
4x16—Zwischenspeicherelemente gebildet, wobei zwei Elemente
für eine Information und ein drittes für eine Parität dient.
30984T/1G95
Die Auswahl von 4-Bit-Teilen der Speicherelemente erfolgt
durch Signale ROR^g, FPTR und CLKUP oder CLKLtf. Die Signale
ROR._g werden durch die Decodierung des Mikrobefehls gewonnen,
und das Signal ROR7 bestimmt die geradzahligen oder ungeradzahligen
Byte-Hehrzweckregister, d.h. CLKUP und CLKLW. Das Signal FP(ER wird durch das Flipflop 289 erzeugt; es legt fest,
welcher Satz von Arbeitsregistern benutzt wird.
Die Eingangssignale für die Register sind die Signale 0-7
und 0RSq_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
über Rechen- und Logikeinheit 88, dem SQ-Schalter 92,/die für eine
langsame Datenübertragung vorgesehene Dateneingabeleitung SDBI und die für eine schnelle Datenübertragung vorgesehene Dateneingabeleitung
FDBI aufgenommen. Die Ausgangssignale der Auswahlelemente
94 werden an verschiedene Elemente abgegeben, einschließlich des A-Akkumulatorregisters 105A und des geradzahligen
Mehrzweckregisters 111A. Das A-Akkumulatorregister 1Q5A
weist einen Satz von Großsignal-Flipflops, deren erstes mit
bezeichnet ist,und einen Satz von Kleinsignal-Flipflops, deren erstes mit 292 bezeichnet ist, auf. Der Satz von Großsignaloder
Kleinsignal-Flipflops gibt die A-Akkumulatorregisterjüingangssignale
ARq-7 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 Y-Operandenauswahlelemente 103 und 104
und das Speicherelement 111B in derselben Weise. Für die Direktmikrobefehle ist das Steuerspeicherausgaberegister 114 mit
309841/1095
den Ausv/ahlelementen 104 verbunden. In entsprechender
Weise sind das Verzweigungsprüfregister, das aus J-K-Flipflops 106 besteht, und das Anzeigeregister 99 an Auswahlelementen
103 in derselben Weise angeschlossen wie das A-Aldcumulatorregister 105A. -
Die zeitlichen Beziehungen sind in Fig. 8 gezeigt. Der •Grundtakt
wird von einem Taktsignal RAW-X abgeleitet, welches· eine
charakteristische Frequenz von 10MIz besitzt. Von dieser Taktimpulsquelle v/erden das Ausführungsbegrenzungssignal- EXEC, das
Ausführungstaktsignal GEXEC und ein erstes phasenverschobenes
Taktsignal FOPC abgeleitet bzw. gesteuert. Im allgemeinen erfolgt eine wirksame Taktsteuerung der Register durch die
Rückflanke des Ausführungsimpulses.
Wie in Fig. 7 bezüglich des Α-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-Nummernregist'er 121 und das Verzweigungsprüfregister
106. Durch Verwendung von verdoppelten Arbeitsregistern kann ein Unterbrechungsbetrieb schnell und wirkungsvoll
ausgelöst werden. Tritt ein Unterbrechungssignal auf den AI-Adaptortrennstellenleitungen auf, so wird die benötigte
Antwort hauptsächlich dadurch gegeben, daß das Signal FINT erzeugt 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.
309841 / 1095
Claims (6)
- PatentansprücheDurch Mikroprogramme steuerbare Verarbeitungseinrichtung, dadurch gekennzeichnet,a) daß eine Verarbeitungsanordnung (100) mit Registereinrichtungen vorgesehen ist, die einen Vorrat an Rechen- und ' Verknüpfungsoperationen auszuführen imstande sind,b) daß ein Mikrobefehlsregister vorgesehen ist, welches zwei Mikrobefehlsworte festzuhalten imstande ist,c) daß ein Allzweck-Mikrobefehlsdecoder vorgesehen ist, der auf das erste Wort in dem Mikrobefehlsregister hin die Verarbeitungsanordnung (100) steuert,d) daß ein Verzweigungsmikrobefehlsdecoder vorgesehen ist, der auf das zweite Wort in dem Mikrobefehlsregister hin selektiv eine Verzweigungsfunktion ausführt, und zwar gleichzeitig mit der Ausführung des ersten Mikrobefehlswortes in dem Hikrobefehlsregister, unde) daß Übertragungseinriehtungen vorgesehen sind, die selektiv eine Übertragung des zweiten Wortes in die erste Wortposition des Mikrobefehlsregisters ermöglichen.
- 2. Verarbeitungseinrichtung nach Anspruch 1, dadurch gekennzeichnet, daß der Allzweck-Mikrobefehlsdecoder so ausgelegt ist, daß er auf sämtliche Verzweigungs-Mikrobefehle wie auf NOP-Mikrobefehle anspricht.
- 3. Verarbeitungseinrichtung, die mehrfach programmierbar ist, insbesondere nach Anspruch 1 oder 2, dadurch gekennzeichnet,a) daß ein erstes Rechen/Logik-Modul vorgesehen ist, welches eine erste ausgewählte Funktion von zwei Byte-Operanden liefert,b) daß ein zweites Rechen/Logikmodul vorgesehen ist, welches eine zweite ausgewählte Funktion zweier Byte-Operanden ausführt,309841/1095c) daß Registereinrichtungen vorgesehen sind, welche Operanden an das erste Rechen/Logik-Modul und das zweite Rechen/Logik-Modul abgeben, undd) daß Logiksteuereinrichtungen vorgesehen sind, die dieselbe Funktion zweier Operanden für die beiden Rechen/. Logik-Module oder unterschiedliche Funktionen der Operanden für ¥ortübertragungsoperationen auswählen.
- 4. Verarbeitungseinrichtung nach Anspruch 3, dadurch gekennzeichnet, daß ein Vergleicher vorgesehen ist, der an die beiden Rechen-Module angeschlossen ist uiid der eine Differenz in den Byte-Ausgangssignalen der Module festzustellen gestattet, und daß Paritätsprüfer vorgesehen sind, die auf die betreffenden Byte-Operanden von den Registereinrichtungen hin Wortübertragungsfehler zu erkennen gestatten.
- 5. Verarbeitungseinrichtung nach Anspruch 3> dadurch gekennzeichnet, daß ein Mikrobefehlsregister vorgesehen'ist, welches zwei Mikrobefehlsworte festzuhalten imstande ist., daß ein Allzweck-Mikrobefehlsdecoder vorgesehen ist, der auf das erste Mikrobefehlswort in dem Mikrobefehlsregister hin eine Verarbeitungsfunktion auswählt, und daß ein Verzweigungs-Mikrobefehlsdecoder vorgesehen ist, der auf das zweite Mikrobefehlswort in deta Mikrobefehlsregister hin eine Verzweigung gleichzeitig mit der Ausführung des ersten Mikrobefehlswortes freigibt.
- 6. Verarbeitungseinrichtung, die mikroprogrammierbar ist, insbesondere nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, . . ·a) daß ein Mikrobefehlsregister vorgesehen ist, welches30 9841/109 5einen ersten geradzahligen Teil für die Speicherung von Mikrobefehlen von geradzahligen Speicherplätzen eines Steuerspeichers und einen zweiten, ungeradzahligen Teil für die Speicherung von Mikrobefehlen aus ungeradzahligen Speicherplätzen enthält,b) dai3 ein Steuer speicher mit dem Mikrobefehlsregister verbunden ist und geradzahlige/ungeradzahlige Mikrobefehlspaare parallel an die geradzahligen bzw. ungeradzahligen Registerteile abgibt,c) daß ein Allzweck-Mikrobefehlsdecoder mit dem geradzahligen Teil des Mikrobefehlsregisters verbunden ist und die durch den Mikrobefehl bezeichnete Operation festzulegen gestattet,d) daß ein Verzweigungsmikrobefehlsdecoder mit dem ungeradzahligen Teil des Mikrobefehlsregisters verbunden ist und eine durch den ungeradzahligen Mikrobefehl bezeichnete. Verzweigungsoperation zu erkennen gestattet,e) daß ein Steuerspeicheradressenregister mit dem Steuerspeicher verbunden ist und zwei Mikrobefehle auszuwählen gestattet,f) daß mit dem Steuerspeicheradressenregister und dem Mikrobefehlsregister eine Adressenänderungseinrichtung verbunden ist, welche den Inhalt des SteuerSpeicheradressenregisters in Übereinstimmung mit der Codierung in dem ungeradzahligen Teil des Mikrobefehlsregisters zu modifizieren gestattet,g) daß mit dem Steuerspeicheradressenregister eine Verzweigiingssteuereinrichtung verbunden ist, die selektiv den Inhalt des betreffenden Steuerspeicheradressenregisters zu modifizieren und das adressierte Mikrobefehlspaar aus dem Steuerspeicher in das Mikrobefehlsregister während der Ausführung eines geradzahligen Mikrobefehls309841/1095zu führen gestattet, und zwar auf die Ermittelung eines Verzweigungszustands in der Codierung eines, ungeradzahligen Befehls durch den Verzweigungsde.coder, h) daß mit dem Allzweck-Mikrobefehlsdecoder eine Verarbeitungsanordnung verbunden ist, die ein Akkumulatorregister enthält, welches einen Vorrat an Datenverarbeitungsfunktionen in Übereinstimmung mit dem Inhalt des geradzahligen Teiles des Mikrobefehlsregisters bereitstellt, und i) daß Übertragungseinrichtungen vorgesehen sind, die die. geradzahligen und ungeradzahligen Teile des Mikrobefehlsregisters verbinden und die durch den Verzweigungs-Mikrobefehlsdecoder gesteuert selektiv den Inhalt des ungeradzahligen Teiles in den geradzahligen Teil des Mikrobefehlsregisters während der Ausführung eines geradzahligen , Mikrobefehls in dem Fall übertragen, daß der Decoder eine Verzweigungsoperation nicht auswählt.Verarbeitungseinrichtung nach Anspruch 6, dadurch gekennzeichnet, daß ein Anzeigeregister vorgesehen ist, das durch die Verarbeitungsanordnung derart gesteuert ist, daß der Inhalt des Anzeigeregisters eine Information speichert, die kennzeichnend ist für Bedingungen, die bei der Ausführung einer Datenverarbeitungsfunktion, einschließlich einer Null-Ergebnis-Anzeige, hervorgerufen werden,und daß mit dem Anzeigeregister und der Verzweigungssteuereinrichtung eine bedingt ansprechende Verzweigungssteuereinrichtung verbunden ist, die selektiv die Weiterleitung des adressierten Mikrobefehlspaares an das Mikrobefehlsregister sperrt.309841/1095Leerserte
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 true DE2316296A1 (de) | 1973-10-11 |
DE2316296C2 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 |
US3909799A (en) * | 1973-12-18 | 1975-09-30 | Honeywell Inf Systems | Microprogrammable peripheral processing system |
US3913074A (en) * | 1973-12-18 | 1975-10-14 | Honeywell Inf Systems | Search processing apparatus |
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 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3629853A (en) * | 1959-06-30 | 1971-12-21 | Ibm | Data-processing element |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 FR FR7311606A patent/FR2179418A5/fr not_active Expired
- 1973-03-30 GB GB1558573A patent/GB1410837A/en 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
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3629853A (en) * | 1959-06-30 | 1971-12-21 | Ibm | Data-processing element |
Non-Patent Citations (1)
Title |
---|
S.S. Husson, Microprogramming Principles and Practices, Prentice-Hall Inc., 1970, S. 219 bis 242 und 274 bis 279 * |
Also Published As
Publication number | Publication date |
---|---|
AU470700B2 (en) | 1976-03-25 |
CA984515A (en) | 1976-02-24 |
JPS598846B2 (ja) | 1984-02-28 |
JPS4917146A (de) | 1974-02-15 |
AU5268573A (en) | 1974-08-29 |
DE2316296C2 (de) | 1986-04-30 |
GB1410837A (en) | 1975-10-22 |
JPS578489B2 (de) | 1982-02-17 |
US3753236A (en) | 1973-08-14 |
JPS5762434A (en) | 1982-04-15 |
FR2179418A5 (de) | 1973-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2316296A1 (de) | Durch mikroprogramme steuerbare verarbeitungseinrichtung | |
DE1901228C3 (de) | Datenverarbeitungsanlage mit Einrichtungen zur Wiederholung von Operationen bei Auftreten eines Fehlers | |
DE2846495C2 (de) | Zentraleinheit | |
DE2357003C2 (de) | Prozessor für eine Mehrprogramm-Datenverarbeitungsanlage | |
DE69730276T2 (de) | Vorrichtung und Verfahren zur Erleichterung der Vermeidung von exzeptionellen bestimmten Zuständen während des Ablaufs eines Programmes | |
DE2722099C2 (de) | ||
DE2416609C2 (de) | Datenverarbeitungsanlage mit einer zentralen Verarbeitungseinheit und Multiprogrammierung mit mehreren Programmunterbrechungs-Prioritätsstufen | |
DE3424962C2 (de) | ||
EP0097725B1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
DE2714805A1 (de) | Datenverarbeitungssystem | |
DE1934220A1 (de) | Vorrichtung zur Wartung und Pruefung von elektronischen Datenverarbeitungsanlagen | |
DE2030812A1 (de) | Modulare Datenrechnersysteme | |
DE2837872A1 (de) | Digitalrechner mit ueberlappender betriebsweise unter verwendung einer bedingten steuerung zur minimierung von zeitverlusten | |
DE2542740A1 (de) | Mikroprogramm-datenverarbeitungsverfahren und geraet zur ausfuehrung des verfahrens | |
DE1900141A1 (de) | Datenverarbeitungsvorrichtung | |
DE2657848A1 (de) | Steuereinheit fuer ein datenverarbeitungssystem | |
DE1279980B (de) | Aus mehreren miteinander gekoppelten Datenverarbeitungseinheiten bestehendes Datenverarbeitungssystem | |
DE2400064A1 (de) | Speicherpruefanordnung und diese verwendendes endgeraetsystem in einem datenverarbeitungssystem | |
DE2339636A1 (de) | Programmsteuereinrichtung | |
DE2248296A1 (de) | Programmsteuereinrichtung | |
DE2452214A1 (de) | Mikroprozessor mit unmittelbarer und indirekter adressierung | |
DE2611892A1 (de) | Mikroprogramm-steuersystem | |
DE2440628A1 (de) | Datenverarbeitungsanlage mit mikroprogrammierung | |
DE2744359C2 (de) | ||
DE1909090C3 (de) | Schutzeinrichtung für den Arbeitsspeicher einer Rechenanlage |
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 |