DE2316296A1 - Durch mikroprogramme steuerbare verarbeitungseinrichtung - Google Patents

Durch mikroprogramme steuerbare verarbeitungseinrichtung

Info

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
Application number
DE2316296A
Other languages
English (en)
Other versions
DE2316296C2 (de
Inventor
Richard Thomas Flynn
Marion Gene Porter
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bull HN Information Systems Inc
Original Assignee
Honeywell Information Systems Italia SpA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honeywell Information Systems Italia SpA filed Critical Honeywell Information Systems Italia SpA
Publication of DE2316296A1 publication Critical patent/DE2316296A1/de
Application granted granted Critical
Publication of DE2316296C2 publication Critical patent/DE2316296C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/226Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/264Microinstruction selection based on results of processing
    • G06F9/265Microinstruction 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.
Durch Mikroprogramme steuerbare Verarbeitungseinrichtung
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
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
AÜ1 = DABR-ROR25
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
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:
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:
Hb = (ANC + a/s + owe + Lwc) . (ROR6- {ror2·r75!L+r7^-RT)S8] )
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 ·■»' 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
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)

  1. Patentansprüche
    Durch 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, und
    e) daß Übertragungseinriehtungen vorgesehen sind, die selektiv eine Übertragung des zweiten Wortes in die erste Wortposition des Mikrobefehlsregisters ermöglichen.
  2. 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. 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/1095
    c) daß Registereinrichtungen vorgesehen sind, welche Operanden an das erste Rechen/Logik-Modul und das zweite Rechen/Logik-Modul abgeben, und
    d) 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. 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. 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. 6. Verarbeitungseinrichtung, die mikroprogrammierbar ist, insbesondere nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, . . ·
    a) daß ein Mikrobefehlsregister vorgesehen ist, welches
    30 9841/109 5
    einen 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 Mikrobefehls
    309841/1095
    zu 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/1095
    Leerserte
DE2316296A 1972-03-31 1973-03-31 Mikroprogrammierbarer Prozessor Expired DE2316296C2 (de)

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)

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

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3629853A (en) * 1959-06-30 1971-12-21 Ibm Data-processing element

Family Cites Families (14)

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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3629853A (en) * 1959-06-30 1971-12-21 Ibm Data-processing element

Non-Patent Citations (1)

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