DE2316296C2 - Mikroprogrammierbarer Prozessor - Google Patents

Mikroprogrammierbarer Prozessor

Info

Publication number
DE2316296C2
DE2316296C2 DE2316296A DE2316296A DE2316296C2 DE 2316296 C2 DE2316296 C2 DE 2316296C2 DE 2316296 A DE2316296 A DE 2316296A DE 2316296 A DE2316296 A DE 2316296A DE 2316296 C2 DE2316296 C2 DE 2316296C2
Authority
DE
Germany
Prior art keywords
register
microinstruction
numbered
area
odd
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE2316296A
Other languages
English (en)
Other versions
DE2316296A1 (de
Inventor
Richard Thomas Flynn
Marion Gene Phoenix Ariz. 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 Inc
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 Inc filed Critical Honeywell Information Systems Inc
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

Die Erfindung bezieht sich auf einen mikroprogrammierbaren Prozessor für die Verbindung ·πι peripheren Einrichtungen und Teilen einer zentralen Verarbeitungseinheit eines digitalen Rechnersysteme Ein solcher mikroprogramm ierbarer Prozessor stellt in e; \em digitalen Rechnersystem bzw. EDV-Anlage eine Schnittstelle für Daten- und Steuersignale dar, die zwischen den peripheren Einrichtungen, wie Eingabe-/Ausgabegeräten, Bandbedienungsgeräten oder Magnetplatteneinheiten usw., und der zentralen Verarbeitungseinheit übertragen werden. Wegen der unterschiedlichen, durch die technische Struktur bedingten Eigenschaften der zu verbindenden Einrichtungen, d. h. periphere Geräte einerseits und zentrale Verarbeitungseinheit andererseits, wie z. B. stark unterschiedliche Arbeitsgeschwindigkeiten für die Signalverarbeitung, bewirkt ein mikroprogrammierbarer Prozessor nach der Erfindung eine kompatible Anpassung im Ablauf der Verarbeitungsvorgänge in den zu verbindenden Einheiten im wesentlichen dadurch, daß er die Fähigkeit einer Pufferung und einer Verarbeitung von Daten- und Steuersignalen aufweist.
Ein Hauptproblem beim Entwurf von Rechnersystemen stellt die Bereitstellung einer wirkungsvollen Eingabe/Ausgabe-Verarbeitung dar. Es ist im Hinblick auf zentrale Verarbeitungswerke üblich, einen erheblichen Teil ihrer Arbeitszeit nutzlos verstreichen zu lassen, und zwar in der Erwartung des Abschlusses von Eingabe/ Ausgabe-Operationen, oder dadurch, daß eine nicht festliegende Zeitspanne für die Bereitstellung von organisatorischen Teilprogrammen bzw. Routinen für Eingabe/Ausgabe-Operationen aufgewandt wird. Im allgemeinen sind Eingabe/Ausgabe-Einrichtungen zeichenorientiert, wobei die Zeichen gewöhnlich durch sechs bis neun Bits umfassende Binärsignale dargestellt sind und wobei die Zeichen gewöhnlich in Aufzeichnungen zusammengefaßt bzw. gruppiert sind, welche z. B. einer auszudruckenden Ausgabezeile oder einem Satz von Dateninformationen, wie einer Lohnabrechnungsinformation für einen einzelnen, entspricht. Normalerweise ist eine Anzahl von Aufzeichnungen für eine gegebene Eingabe/Ausgabe-Operation zu einer Gruppe zusammengefaßt, die generell eine Datei bildet. Auf der anderen Seite sind c!<e zentralen Verarbeitungsteile von Allzweck-Rechensystemen im allgemeinen wortorientiert, wobei eine Informationsverarbeitung auf der Basis von Worten erfolgt, die eine charakteristische Länge von 36 Bits besitzen, wobei keine von Natur aus gegebene Aufzeichnung oder Dateistruktur vorliegt. Faktoren dieser Art führen zur Forderung nach einer wirkungsvollen Eingabe/ Ausgabe-Verarbeitung und zu Schwierigkeiten.
Weitere Probleme werden durch uie starken Unterschiede in den Steuerungsanforderungen für die verschiedenen Arten von peripheren Einrichtungen hervorgerufen. Mit der Erzeugung von gedruckten Ausgabezeilen für eine Listenerstellung und für die Erzielung einer Aufzeichnung von einer Platteneinheit mit geeigneten Suchbefchlen, etc. sind sehr verschiedene Steuerfolgen verbunden. Darüber hinaus ist es erforderlich, einen so hoch wie möglich liegend η Pegel bezüglich einer Fehlererkennung, Hardwareprüfung und Fehlerdiagnosen zu halten, um nämlich einen fehlerfreien Betrieb zu gewährleisten und die Störungszeit auf einen minimalen Wert herabzusetzen, welche die gesamte Datenverarbeitungsanlage aufhält. Für Einrichtungen mit einer hohen % Übertragungsgeschwindigkeit stellt eine derartige Möglichkeit ein schwieriges Problem dar. Außerdem rufen Eingabe/Ausgabc-Operationen nach erfolgter Auslösung häufig Echtzeit-Verarbeitungsforderungen für eine J1 erfolgreiche Beendigung hervor. Zentrale Verarbeitungseinrichtungen bzw. -Werke sind jedoch sequentiell arbeitende Maschinen, die nicht auf einer Echtzeitbasis orientiert sind. Obwohl Unterbrechungsmechanismen und eine Mehrfachprogrammierung einen Allzweckrechner in den Stand versetzen können, die meisten Echtzeitforderungen zu erfüllen, ist jedoch die Verarbeitungswirksamkeit häufig erheblich reduziert.
Aus Gründen, wie den vorstehend angegebenen, ist es daher in höchstem MaZe erwünscht, soviel wie möglich von den System-Eingabe/Ausgabe-Steuerfunktionen in dem peripheren Einrichtungssteuerwerk unterzubringen, sofern dies wirtschaftlich vorgenommen werden kann. Besitzt darüber hinaus das Steuerwerk eine ausreichende Flexibilität, um verschiedene Arten von peripheren Steuereinrichtungen zu steuern, so dürfte einzusehen sein, daß das betreffende Steuerwerk eine erhebliche Fähigkeit hinsichtlich Verknüpfungsfunktionen und einer rechnerischen Verarbeitung besitzen muß. Darüber hinaus muß das betreffende Steuerwerk eine hinreichende Übertragungsgeschwindigkeit besitzen, um Datenübertragungsfreqüenzen in der Größenordnung von einer Million Bytes pro Sekunde zu ermöglichen.
Der Einsatz mikropro^rummierbarer Prozessoren in digitalen Rechnersystemen und EDV-Anlagen ist bereits bekannt (/.. B. US-P 36 29 853; oder die Mikroprogrammierung beim IBM System/360, Modell 40, wie beschrieben in dem Buch »Microprogramming - Principles and Practices«, von S. S. Husson, Verlag Prentice-Hall, Englewood Cliffs, N.J. .V0. S. 219-242 und S. 274-279).
Bei der in der LJS-P 36 29 853 beschriebenen Steuerungseinrichtung Tür eine EDV-Anlage wird versucht, eine flexiblere und schnelle Operationsweise zu erzielen durch gleichzeitige Verarbeitung von mehr als jeweils nur einem Befehl. Dabei ist diese bekannte EDV-Anlage so organisiert, daß sie die Einleitung von zwei wahrscheinlicheren Maßnahmen beginnt, bevor die Ergebnisse eines Vergleiches abgeschlossen sind. Wenn das jeweilige tatsächliche Vergleichsergebnis indessen bestimmt ist, dann wird die weitere Durchführung des jeweiligen Befehls entweder gestattet ode aber gesperrt. Diese Maßnahme ermöglicht durchaus eine Steigerung der Datenverarbeitungsgeschwindigkeit, vor allem in Verbindung mit Tabellensuchvorgängen, aber es erfolgt die Verarbeitung von Befehlen lediglich in einer Überlappungsweise und auch nicht mit dem speziellen Ziel, eine kompatible Anpassung im Ablauf der Verarbeitungsvorgänge zwischen peripheren und zentralen Einheiten der ίο EDV-Anlage herbeizuführen. Durch die in dergenannten US-Patentschrift offenbarten Maßnahmen kann die in der betreffenden bekannten Rechenanlage verwendete zentrale Verarbeitungseinheit in bezug auf die angeschlossenen peripheren Einheiten jedoch auch nur relativ langsam betrieben werden.
Bei dem bekannten IBM System/360, Modell 40, wird die Eingabe/Ausgabe-Information über sogenannte Kanäle übertragen, die man als unabhängige kleine Prozessoren ansehen kann, um die Eingabe/Ausgabeis Operationen gleichzeitig mit Verarbeitungsoperationen der Zentraleinheit (CPU) durchführen zu können. Die über diese Kanäle übertragenen Informationen laufen nicht direkt zum bzw. vom Hauptspeicher, sondern durch einen gemeinsamen Datenbus in der Zentraleinheit und anschließend über die einzige Zugriffsleitung zum Hauptspeicher. Diese Daicnfiußstrukiui !cgi ucf Flexibilität bei den Möglichkeiten der Mikroprogrammsteuerung und Verarbeitungsleistung des Gesamtsystems unerwünschte Beschränkungen auf, so daß auch hier die kompatible Anpassung im Ablauf der Verarbeitungsvorgänge zwischen den peripheren und zentralen Einheiten der EDV-Anlage nicht erreicht wird.
Der Erfindung liegt demgemäß die Aufgabe zu Grunde, einen mikroprogrammierbaren Prozessor für die Verbindung von peripheren Einrichtungen und Teilen einer zentralen Verarbeitungseinheit eines digitalen Rechnersystems zu schaffen, ihn mit hoher Arbeitsgeschwindigkeit betreibbar auszubilden zum Zwecke der Erreichung einer kompatiblen Anpassung im Ablauf der Verarbeitungsvorgänge zwischen peripheren und zentralen Einheiten des Flechnersystems, was insgesamt dazu führen soll, die Verarbeitungsleistung des Gesamtsystems zu erhöhen.
Gelöst wird die vorstehend aufgezeigte Aufgabe bei einem mikroprogrammierbaren Prozessor mit einem Steuerspeicher, in welchem eine Vielzahl von Mikrobefehlswörtern gespeichert ist, deren jedes in einem bestimmten Format einen einem Mikrobefehlskommando zugehörigen Operationscode aufweist, wobei die Operationscodes ausgelesener Mikrobefehlswörter zur Erzeugung von Steuersignalen jeweils einem Decoder zugeführt und von diesem decodiert werden, mit einer Registereinrichtung sowie mit einer Rechen- und Verknüpfungseinrichtung für die Durchführung einer Vielzahl von einem bestimmten Vorrat an Mikrobefehlskommandos zugehörigen Funktionen, erfindungsgemäß durch die im Patentanspruch 1 aufgeführten kennzeichnenden Merkmale (a) bis (e).
Bei einer bevorzugten Aijsführungsform des mikroprogramtnierbaren Prozessors werden die in dem Steuerspeicher enthaltenen Steuerworte paarweise in ein Ausgaberegister geladen, wobei das erste Steuerwort des Steuerwortpaares in einen geradzahligen Speicherplatz und das zweite Steuerwort in den folgenden benachbarten, ungeradzahligen Speicherplatz geladen wird. Ein Verzweigungs-Mikrobefehlsdecoder dient zur Decodierung eines Verzweigungs-Mikrobefehls in dem Teil niederer Ordnung des Ausgaberegisters, und ein Hauptdecoder dient zur Decodierung des im höherwertigen Teil des Ausgaberegisters befindlichen Inhalts. Der zuletzt genannte Schaltungsteil enthält keinerlei Logik, die auf Verzweigungs-Mikrobefehle anspricht. Wird ein Verzweigungs-Mikrobefehl in den niederwertigen Teil des Ausgaberegisters geladen, so werden die Adressenvorbereitung und Abholung des nächsten auszuführenden Mikrobefehlspaares parallel mit der Ausführung des Mikrobefehls in dem höherwertigen Teil des Registers ausgeführt. Wird ein anderer Mikrobefehl als ein Verzweigungs-Mikrobefehl in den niederwertigen Teil des Steuerspeicher-Ausgaberegisters geladen, so wird dieser Befehl in den höherwertigen Teil des Registers übertragen, nachdem der geradzahlige Mikrobefehl ausgeführt ist. Bei dieser Organisation wird die für die Ausführung von Verzweigungsoperationen dienende Zeitspanne gewissermaßen ausgeblendet bzw. maskiert, und die Wirksamkeit des Steuerwerks ist entsprechend gesteigert.
Eine weitere Nutzleistung, Zuverlässigkeit und Datenverarbeitungsleistung wird dadurch erzielt, daß ein Mikrobefehlsvorrat bereitgehalten wird, der einen umfangreichen Satz von Mikrobefehlen für Byte-Operanden und hexadezimale Operanden und für eine Wortübertragung enthält. Dies ist dadurch ermöglicht worden, daß doppelte Standard-Rechen- und Verknüpfungseinheiten verwendet worden sind, welche selektiv redundante Ausgangssignale im Hinblick auf Rechen- und Verknüpfungsoperationen oder im Hinblick auf einen Wortübertragungsweg Hefern. Die Rechen- und Verknüpfungsoperationen werden überprüft, indem ein Vergleich der redundanten Einheiten vorgenommen wird und indem Wortübertragungen auf Parität geprüft werden.
An Hand von Zeichnungen wird die Erfindung nachstehend beispielsweise näher erläutert.
Fig. 1 zeigt in einem Biockdiagramm ein charakteristisches peripheres Untersystem, welches einen mikroprogrammierbaren Prozessor gemäß der Erfindung umfaßt.
Fig. 2 zeigt in einem Blockdiagramm den mikroprogrammierbaren Prozessor in näheren Einzelheiten.
Fig. 3a und 3 b veranschaulichen in Diagrammen Mikrobefehlsvorratsformate der Steuerwerk-Verarbeitungseinrichtung.
Fig. 4 zeigt die Realisierung eines Steuerspeicher-Ausgaberegisters und eines Verzweigungs-Mikrobefehlsdecoders, der Signale für in Fig. 5 bis 7 dargestellte Schaltungen abgibt.
Fig. 5 zeigt einen zur Adressenbildung dienenden Schaltungsteii.
Fig. 6 zeigt einen Haupt-Mikrobefehlsdecoder sowie einen Schaltungsteil, der charakteristische Steuersignale auf das Auftreten einer Information hoher Wertigkeit in dem Steuerspeicher-Ausgaberegister abzuleiten gestattet.
Fig. 7 zeigt die Ausführung des Rechen- und Logikteiles des Steuerwerkes.
Fig. 8 veranschaulicht in einem Zeitdiagramm die Arbeitsweise des Steuerwerks.
Fig. I zeigt ein Blockdiagramm eines charakteristischen peripheren Untersystems, in welchem eine Reihe von peripheren Einrichtungen 115,125 und 126 an zwei zentralen Verarbeitungseinrichtungen bzw. Verarbeitungscinrichtungsaufnahmeeinrichturigen 135 und 145 angeschlossen sind. Die Verbindungen erfolgen über ein S mii^jprogrammierbares, d. h. durch Mikroprogramme steuerbares Steuerwerk, welches ein Verarbeitungsnetzwerk 100 zur Ausführung von Verknüpfungsoperationen, Rechenoperationen und Datenübertragungsoperationen umfaßt, ferner einen Steuerspeicher 50, der eine Reihe von Mikrobefehlen enthält, die Programme für Datenübertragungen und eine periphere Einrichtungssteuerung liefern, ferner ein Steuerspeicher-Ausgaberegister (ROR) und einen Decoder 70, der Mikrobefehle aufnimmt. Außerdem ist eine gemeinsame Anpassungstrennstelle bzw. Adaptortrennstelle 80 vorgesehen. Durch Steuerwerkadaptoren 110 und 120 erfolgt eine Verbindung zwischen der gemeinsamen Anpassungstrennstelle 80 und den peripheren Einrichtungen 115,125 und 126. In entsprechender Weise verbinden Verbindungsleitungsadaptoren 130 und 140 die gemeinsame Anpassungstrennstelle 80 mit den zentralen Verarbeitungseinrichtungen 135 und 145. Das Steuerwerk enthält femer eine Steuerspeicher-Adressentrennstelle 60, welche ein Steuerspeicher-Adressenregister (ROSAR) enthält und welches an einer von dem Verarbeitungsnetzwerk 100 herkommenden Datenausgabeleitung bzw. -Sammelleitung angeschlossen ist. Darüber hinaus ist ein Lese/Schreib-Speicher !Q vorgesehen, der im allgemeinen für eine wirksame Steuerungsoperation erforderlich ist. Dieser Speicher wird durch die Lese/Schreib-Speichertrennstelle 20 bedient, die außerdem an der Verarbeitungsnetzwerk-Datenausgabeleitung angeschlossen ist. Vorzugsweise weist der Steuerspeicher 50 einen ausschreibbaren Teil von zumindest 512 Mikrobefehlen auf, der außerdem von der Speichertrennstelle 20 bedient wird. Ein Unterbrechungsmechanismus 90 spricht auf Signale von den Adaptoren an, und zwar unter der Steuerung von Datenausgabeleitungs-Signalen. Die Operandcn-Eingangssignale für das Verarbeitungsnetzwerk 100 werden über für eine langsame und eine f
schnelle Datenübertragung vorgesehene Dateneingabeleitungen von der Adaptor-Trennstelle 80 und dem Lese-Schreib-Speicher 10 geliefert.
Das in F i g. 1 dargestellte periphere Untersystem ist insofern charakteristisch für ein Untersystem, als die verschiedenen Kombinationen von Steuerwerkadaptoren und Verbindungsleitungs-Adaptoren möglich sind und als eine alleinstehende Konfiguration mit einem oder mehreren Steuerwerkadaptoren vorteilhaft sein kann. Die gel /äuchlichste Konfiguration dürfte jedoch jene Konfiguration sein, die einen einzelnen Verbindungsleitungsadaptor und einen einzelnen Steuerwerkadaptor für eine Reihe von Platteneinheiten oder eine Reihe von Bandeinheiten aufweist. Eine Zweikanaloperation wird durch einen zweiten Verbindungsleitungsadaptor ermöglicht.
Die Hauptdatenwege für den mikroprogrammierbaren Steuerwerkteil gemäß F i g. 1 sind in F i g. 2 näher dargestellt. Um die Kosten aufeinen minimalen Wert zu senken, werden vorzugsweise Standard-Logikmodule verwendet. Sofern nichts anderes angegeben ist. sind die Register durch ./-Af-Flipflops gebildet, und die Schalter sind l-aus-n-Auswahlschalter, wobei η = 2, 4 oder 8 entsprechend der Zahl von Schaltereingangssignalen gewählt ist. In F i g. 2 sind zwei redundante Rechen/Logik-Einheiten 88 und 89 vorgesehen, die entweder eine Fehlererkennung durch einen Vergleicher 97 im Hinblick auf Funktionen zweier Byte-Operanden freigeben oder einen Datenübertragungsweg für eine Wortübertragungsoperation. Die Operanden werden durch OP0- und O/VSchalter 103 und 104 ausgewählt. Zwischen den OP-Schaltern und den Rechen/Logik-Einheiten sind H0- und //i-Schalter 101 bzw. 103 eingefügt, um die Abgabe richtiger Eingangssignale an Addierer/Logik-Einheiten sicherzustellen, wenn die Ausgangssignale in einem der Operandenregister gespeichert werden; dabei wird ein Byte in einer Registerreihenanordnung 111 gespeichert. Neben den Addierer/Logik-Funktionen werden um ein Bit erfolgende Links- bzw. Rechtsverschiebungen durch 5b- und SpSchalter 92 und 93 ausgeführt. Die A0- und Äi-Ergebnis-Schalter 94 und 95 liefern Eingangssignale für ein Verzweigungs-Prüfregister 106, für die Registerreihenanordnung 111 und einen /ifi-Akkumulator. Die A0- und ÄpSchalter wählen das Addierer/Logik-Ausgangssignal oder die 5-Schalter oder eine der Datenübertragungsleitungen aus, d. h. eine für eine schnelle Datenübertragung vorgesehene Dateneingabeleitung FDBI oder für eine langsame Datenübertragung vorgesehene Dateneingabeleitung SDBI. Die D0- und Di-Schalter 107 und 108 bewirken selektiv eine Verbindung des /4Ä-Akkumulators oder der Registerreihenanordnung mit der Datenausgabeleitung DBO. Ein Funktionsprüfgenerator 91 erzeugt vier Anzeigebits, wie Übertrag-Bits und Null-Bits, die selektiv an die obere Hälfte oder die untere Hälfte eines Anzeigeregisters 99 über einen Schalter 98 abgegeben werden.
Gemäß Fig. 2 ist die Datenausgabeleitung DBO für das Steuerwerkadaptormodul 110, das Steuerwerknummernregister 121, die Zeitsteuereinrichtung 122 und das Steuerregister 123 verfügbar. Mit Ausnahme des Moduls 110 sind sämtliche gerade genannten Elemente über B0- und Α,-Schalter 124 und 125 an der für eine langsame Datenübertragung vorgesehenen Dateneingabeleitung SDBI angeschlossen. Die betreffenden Elemente stehen damit für den Verarbeitungsteil gemäß Fig. 2 zur Verfugung.
In F i g. 2 sind ferner die Hauptdatenwege für die Mikrobefehlsverarbeitung gezeigt. Durch Adressenaddierer 132 und 133 erfolgt entweder eine schrittweise Vergrößerung der jeweils vorliegenden Mikrobefehlsadresse um zwei für den Steuerspeicher 50, oder es erfolgt eine Adressenänderung in Übereinstimmung mit gewissen Ver-Zweigungsmikrobefehlen. Die resultierende Adresse oder die andere Adresse wird durch die AQ-Al-Schalter 134 und 135 ausgewählt und an den Steuerspeicher 50 sowie an das Steuerspeicheradressenregister 136 abgegeben. Jeweils ein Befehlspaar bildende Paare von Mikrobefehlen werden über AOn- und ÄOrSchalter 142 und 143 den RO0- und ÄörSteuerspeicherausgaberegistem 144 und 145 zugeführt. Im Unterschied dazu vermag der ΛΟο-SchaIter den Mikrobefehl von dem ÄOpRegister zu dem ÄO0-Register zu übertragen. Das ÄO|-Register kann selektiv das Ausgangssignal des Rechen/Verknüpfungs-Ausgabeteiles DES0-Ii über den ÄOrSchalter aufnehmen. Andere Befehle als Verzweigungsbefehle werden durch den /-Allzweckdecoder 146 decodiert, und Verzweigungsbefehle werden durch den ß-Verzweigungsdecoder 147 decodiert. Diese Decoder sprechen auf die
10
IS
20
25
30
35
40
45
50
55
60
65
Inhalte der AO0- und ΛΟ,-Registeran. Die Steuerwerkregister A UXAR 128, INTAR 129 und ROSAR 136 stehen zusammen mit den Eingangssignalen von dem Steuerwerkadaptormodul und den Lese/Schreibspckhcrdaten tür die Verarbeitungsanordnung zur Verfugung, und zwar über die für eine schnelle Datenübertragung vorgesehene Dateneingabeleitung FDBI und über die CA0- und CA ,-Schalter 138 und 139.
Eine ^/-Aduptortrennstelle für den Steuerwerkadaptor 110 besteht aus einer gemeinsamen Reihe von Leitungen für eine Dateneingabe, Datenausgabe, Adressen/Steuerung, Zustandssteuerung und Tür sonstige Steuerungen. Neben diesen Leitungen enthält die ^/-Adaptortrennstelle je Adaptor noch Leitungen für eine Unterbrechung, Adaptorauswahl, Ereignismitteilung und einen Originaltakt. Die Dateneingabe- und Datenausgabeleitungssätze besitzen eine Übertragungsbreite von 16 Bits, und zwar hauptsächlich dazu, eine zwei Byte breite Datenübertragung vorzunehmen, so daß eine Verdoppelung der Datenübertragungsfrequenz gegenüber einer Einzel-Byte-Übertragung ermöglicht ist. Die Adressen/Steuerleitungen geben einen Befehl an den Adaptor ab, um den Zustand des Adaptors zu ändern oder um den Charakter einer gerade laufenden Datenübertragung festzulegen. Die Zustandsleitungen leiten eine Information bezüglich des Zustands des Adaptors zu dem Verarbeitungswerk hin. Die sonstigen Steuerleitungen führen Funktionen aus, wie eine Datenabtastung, ein Ansprechen (RPI) und eine Betriebseinleitung. Diese Verbindungen ohne Berücksichtigung der Parität sind nachstehend aufgeführt.
D Al-Verbindungen Leitungsanzahl zum/vom Adaptor
Datenausgabe 16 zum
Dateneingabe ' 16 vom
Adresse/Steuerung 8 zum
Zustand 4 vom
Originaltakt 1 zum
Unterbrechung 1 /Adaptor vom
Ereignismeldung 1/Adaptor vom
Auswahl I/Adaptor zum
Ansprechen (RPI) 1/Adaptor vom
Auslösen 1/Adaptor zum
Steuerungsrückstellung I/Adaptor zum
Operatiorssausgabe 1/Adaptor zum
Operationseingabe 1/Adaptor vom
Ausfuhrungstakt 1/Adaptor zum
Der in Fig. 3 a und J 6 gezeigte Verarbeitungsdatenvorrat besteht aus Mikrobefehlen, die 16 Bits lang sind und die von dem Steuerspeicher 50 paarweise oder aus dem Hauptspeicher 10 durch ein in dem Steuerspeicher befindliches Programm bzw. eine sogenannte Routine abgeholt werden. Verzweigungsmikrobefehle werden lediglich in ungeradzahligen Speicherplätzen untergebracht; jeder Verzweigungsmikrobefehl wird normalerweise parallel mit dem geradzahligen Mikrobefehl ausgeführt, der zusammen mit ihm ein Befehlspaar bildet. Bei den meisten Rechen-, Verknüpfungs- und Verschiebemikrobefehlen sind die vier Anzeigebits entweder in den oberen oder in den unteren Anzeigeregisterhälften selektiv gesetzt, und zwar in Übereinstimmung mit dem Ergebnis, daß von dem Funktionsgenerator während der Mikrobefehlsausführung erzeugt worden ist. Im Hinblick auf Rechenoperationen, bei denen mit dem höchstwertigen Anzeigebit begonnen wird, sind die Anzeigen folgende: Höchstwertiges Bit des Ergebnisses (MSB), Überlauf (OFL), Null-Ergebnis (Z) und Ausführung (C). Im Hinblick auf Verknüpfungsoperationen sind die Anzeigen folgende: Höchstwertiges Bit (MSB), alles Einsen (FF), Null (Z), und niederwertigstes Bit (ODD). Im Hinblick auf Verschiebemikrobefehle sind die Anzeigen folgende: Der Wert des herausgeschobenen Bits (X), neue Parität des geradzahligen Registers (P-E), neue Parität des ungeradzahligen Registers (P-O) und aktiver RBA-Zeiger (RBA). Damit gelangt man zu:
Bit-Nummer Rechnung Verknüpfung Verschiebung
0 MSB MSB X
1 OFL FF RBA
2 Z Z P-E
3 C ODD P-O
Die Formate des Mikrobefehls ändern sich ganz erheblich, wie dies in F i g. 3 a und 3 b veranschaulicht ist. Die ersten vier Bits stellen zumindest den bezeichneten allgemeinen Operationstyp dar, und damit sind die übrigen Feldformatdefinitionen festgelegt
■;.! Die allgemeinen Grundoperationen, die Rechen-, Verknüpfungs- und Register-Register-Operationen umfas-
I sen, werden durch Mikrobefehle festgelegt, die die Bitfolge 0010 in den ersten vier Bitpositionen aufweisen und
I die bezüglich der übrigen Bits das folgende Format besitzen.
%
% Bits 4 bis 7: Allgemeine Register-Nummer (Operand)
\\ Bit 8: Akkumulator//?» nimmt Funktionsnetzwerk-Ausgangssignal auf
jj Bit 9: B/A für Operand
% Bit 10: In 57"-Register gespeichertes Ergebnis
■j Bit 11: Oberes/unteres Anzeigeregister ist gesetzt
« Bits 12 bis 15: Operationsstyp
■■: Bei dem obigen Format und den unten angegebenen Formaten sind folgende Übereinkünfte ausgenutzt. In
I dem Fall, daß ein einzelnes Bit eine von zwei Ergebnissen bzw. Wirkungen auswählt, sind die beiden Ergebnisse
'·: durch einen Schrägstrich voneinander getrennt. Das erste Ergebnis wird durch eine Null ausgewählt. Ist z. B. das
J Bit 9 eine Null, so befindet sich in dem fi-Register ein Operand, und ist das Bit 9 eine Eins, so befindet sich in
I dem /(-Register ein Operand. Eine einzelne Eingabe im Hinblick auf ein Einzel-Bit-Längenfeld zeigt das Ergeb-
k nis an. wenn der Wert eine Eins ist. und bedeutet, daß keine weitere sonstige Wirkung vorhanden ist. Das Funk-
\{ tionsnetzwer!;-Ausgangssignal wird z. B. in dem Verzweigungsprüfregister dann und nur dann gespeichert,
I wenn das Bi' 10 eine Eins ist. Die Bits 12 bis 15 bezeichnen die bestimmte Operation in der nachfolgend ange-
I gebenen Weise:
i| 0000: Lade/speichere Akkumulatorregister von/zu einem Mehrzweckregister (Verknüpfungs-Anzeige-
Ά register)
k 0011: Subtraktion
% 0100: Exklusiv-ODER
J, 0101: UND
■l Olli: Addieren
j 1000: Additionsübertrag
■:; iOOl: Subtraktionsübertrag
% 1010: Komplementiere (1) Mehrzweckregister (Verknüpfungs-Anzeigeregister)
■$ 1011: Negiere Mehrzweckregister
<■; 1101: Speicher Anzeigen vom Mehrzweckregister (unberücksichtigt lassen)
'/! 1100: Lade Anzeigen vom Mehrzweckregister (unberücksichtigt lassen)
ι 1110: Lade Verzweigungs-Priifregister vom Mehrzweckregister (Verknüpfungs-Anzeigeregister)
;'; 1111: Speichere Verzweigungs-Prüfregister in Mehrzweckregister (Verknüpfungs-Anzeigeregister)
■": (Sofern nichts anderes angegeben ist, stellen die durch das Funktionsnetzwerk erzeugten Anzeigen Tür die
Speicherung in den Anzeigeregistern Rechenanzeigen MSB, OFL, Z, C dar.) Für diese allgemeinen Operationen ν bezeichnen die Bits 4 bis 7 ein Mehrzweckregister durch eine Zahl, wie einen Operanden und/oder den
% Speicherplatz, der das Funktionsnetzwerk-Ausgangssignal aufnimmt (mit Ausnahme einer Additions- und Sub-
j|: traktions-Übertragsoperation, wenn der Akkumulator als Operand festgelegt ist).
;■; Das Bit 9 legt fest, welche Hälfte des Akkumulators ein weiterer Operand ist, wobei eine Eins das ^-Register
A festlegt. Das Bit 8 legt fest, welcher Operand-Speicherplatz das Ausgangssignal des Funktionsnetzwerks auf-
' nimmt. Eine Null bezeichnet dabei den Akkumulator.
g Das Bit 10 legt in dem Fall, daß es eine Eins ist, fest, daß das Ausgangssignal des Funktionsnetzwerks außer-
'$. dem in dem Verzweigungsprüfregister gespeichert wird.
:; Das Bit 11 legt fest, welcher Teil des Anzeigeregisters die Anzeigen von dem Funktionsgenerator aufnimmt;
'?■ eine Eins bezeichnet dabei die niederwertige Hälfte.
I Spezielle Grundoperationen sind in den ersten vier Bits des Mikrobefehls durch 0011 bezeichnet. Diese Ope-
P rationen sind dieselben wie die allgemeinen Grundoperationen. Eine Ausnahme hiervon bildet jedoch der
;| Umstand, daß in dem Fall, daß das Bit 11 eine Eins ist, die Speicherfunktion unterbunden ist Ist das Bit 11 eine so
I Null, so wird die Operation in einem Fortlaufbetrieb ausgeführt. Ist die Speicherfunktion unterbunden, so wird
I lediglich das Anzeigeregister verändert. Eine Ausnahme hiervon bildet jedoch der Umstand, daß das Ausgangs-
I signal des Funktionsnetzwerks in dem Verzweigungsprüfregister gespeichert wird, wenn das Bit 10 eine Eins ist.
U Beim Fortschreitbetrieb stellt der obere Übertragsanzeiger ein zusätzliches Eingangssignal für das Funktions-
I netzwerk im Hinblick auf eine Addition, Subtraktion und Negierung dar, und der neue Null-Anzeiger wird und-
mäßig mit dem vorhergehenden Null-Anzeiger verknüpft.
Die Hauptwirkung eines Grundprogramms besteht darin, in einem bezeichneten Register das Ausgangssignal des Funktionsnetzwerks zu speichern. Dieses Ausgangssignal ist eine Funktion der ausgewählten Operanden. Die Art der Funktion wird durch die letzten vier Bits ausgewählt (Das Einspeichern des Ausgangssignals des Funktionsnetzwerks in dem bezeichneten Register kann durch Einsen in den Bits 3 und 11 unterbunden werden.) Die zweite Wirkung besteht darin, die durch den Funktionsgenerator erzeugten Anzeigen in dem ausgewählten Anzeigeregister zu speichern (ausgenommen sind Mikrobefehle, die eine Ladung oder Speicherung der Anzeigeregister bewirken). Eine dritte, fakultative Wirkung besteht darin, das Ausgangssignal des Funktionsnetzwerks in das Verzweigungsprüfregister einzuspeichern. Für binäre Funktionen stellt der erste Operand ein Mehrzweckregister bzw. allgemeines Register dar (oder fakultativ ein Akkumulatorregister2 wenn der zweite Operand ein Übertrag ist), und der zweite Operand ist eines der Akkumulatorregister oder der Übertraganzeiger. Das Register, in daß das Ausgangssignal des Funktion?netzwerks eingespeichert wird, ist eines der ausgewählten Operandenregister (mit Ausnahme von Additions- und Subtraktionsübertrags-Mikrobefehlen).
Die sogenannten schnellen Mikrobefehle oder Diiektmikrobefehle sind dadurch gekennzeichnet, daß als erstes Bit eine 1 vorhanden ist Die einzigen Mikrobefehle, die eine Anfangs-Eins besitzen und die nicht Mikrobefehle sind, sind diejenigen Mikrobefehle, die einen Hauptspeicherzyklus und einen Adaptortrennstcllenbetrieb beginnen lassen. Die zuletzt genannten Mikrobefehle unterscheiden sich durch die Bitfolgen 000 oder HATin den Bits 1 bis 3.
Der Lade-Direktmikrobefehl ist dadurch gekennzeichnet, daß die Bits 0 bis 2 die Bitfolge 101 enthalten. Die Bits 8 bis 15 enthalten eine Literal-Operandenkonstante, die geladen wird, und die Bits 3 bis 7 bezeichnen das Register, welches den Operanden aufnimmt. Wenn das Bit 3 eine Eins ist, wird ein ÄR4-Register bezeichnet, und das ausgewählte bezeichnete Register wird durch den Binärwert der Bits 4 bis 7 festgelegt. Ist das Bit 3 eine Null, dann bezeichnet eine 1 in den entsprechenden Bits 4 bis 7 das Verzweigungsprüfregister, das Anzeigeregister, den ^-Akkumulator und den /4-Akkumulator in der angegebenen Reihenfolge.
Die übrigen Direktmikrobefehle sind durch die Bits 0 bis 3 wie folgt festgelegt:
1100: Additions/Subtraktions-Literal 1101: ODER-Literal 1001: UND-Literal
Der Literal-Operand ist in den Bits 12 bis IS enthalten. Das Bit 11 legt fest, weiche Hälfte des Anzeigeregisters die Anzeigen aufnimmt, und das Bit 10 bestimmt, ob das Verzweigungsprüfregister das Ergebnis des Funktions netzwerke aufnimmt oder nicht Demgemäß erfüllen die Bits i0 und Ii dieselben Funktionen wie bei den Grundoperationen. Die Bits 4 bis 8 bezeichnen ein Register für einen zweiten Operand in einer ähnlichen Weise wie die Registerauswahl des Lade-Direktmikrobefehls. Eine Ausnahme hiervon bildet jedoch der Fall, daß das Bit 8 eine 1 ist, was dazu führt, daß in den Bits 4 bis 7 ein Ä&4-Register bezeichnet wird. Für den Additions/Subtraktions-Direktmikrobefehl gibt das Bit 9 eine Addition an, wenn es eine Null ist, und ι
eine Subtraktion, wenn es eine 1 ist Diese Rechenoperationen werden in der Hälfte niedriger Wertigkeit des ί
bezeichneten Registers ausgeführt Bei Verknüpfungs-Direktmikrobefehlen legt das Bit 9 fest, in welcher Hälfte \
des bezeichneten Registers gearbeitet wird, wobei der Wert 1 die Hälfte der oberen Wertigkeit bezeichnet jj
Die Datenübertragungs-Mikrobefehle umfassen im allgemeinen für zwei Bytes Woitübertragungsoperatio- ; '
nen, 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 jj
durch die Bits 12 bis 1S festgelegt wird. Die Datenübertragungs-Mikrobefeble besitzen in den Bits 0 bis 3 eine *
Bitfolge 0001. Die Operationscodes, das sind die Bits 12 bis IS, sind (mit jeweils einer Definition) wie folgt fest- \
gelegt: ν
0000: Lies Hauptspeicher-Datenregister (MDR) i
" OGOt: Schreib Hauptspeicher-Datenregister (MDR) \
0010: Lade Akkumulator (AB) von dem Mehrzweckregister Rn ;
0011: Speicher Akkumulator (AB) in das Mehrzweckregister Rn \
0100: Speicher ROSAR in AB oder An, Rn + \ j
0101: Speicher AUXAR in AB oder Rn, Rn + 1 \
0110: Speicher INTAR Unterbrechungsadressenregister, in AB oder Rn, Rn + 1 j
1000: Verschiebe um 1, Verknüpfung (Null-Auffüllung) I
1001: Verschiebe um 1, Drehung
1010: Verschiebe um 1, Rechnung \
1011: Verschiebe um 1. Verknüpfung (Anzeiger aufTüllen)
1100: Verschiebe um 8 *
lllA": Unterbrechungsmechanismus '
1101: Unterbrechungsmechanismus
Der Lesepeicher-Datenregister-Mikrobefehl und ein Schreibspeicher-Datenregister-Mikrobefehl dienen in
so Verbindung mit den Start-Lese- oder Schreibspeicherzyklus-Mikrobefehlen dazu, Daten von/in dem bzw. den Hauptspeicher zu laden/zu speichern. Bei dem Lesespeicher-Datenregister-Mikrobefehl zeigt eine Null im Bit 8 an, daß der Inhalt der Bits 4 bis 7 ein anderes Register als die Mehrzweckregister auswählt, in das die Daten geladen werden. Im übrigen bezeichnen bei beiden Mikrobefehlen die Bits4 bis 7 ein Mehrzweckregister. Bezüglich i der Lesespeichw'-datenregisteroperationen bewirkt eine 1 in dem Bit 10, daß das höchstwertige Datenbyte in
das Verzweigungsprüfregister geladen wird, und eine 1 in dem Bit 11 beschränkt die Übertragung auf ein einzelnes Byte. Im Hinblick auf eine Einzel-Byte-Übertragung wird die höhere oder bedeutsame Hälfte des Datenwortes geladen, und zwar in Abhängigkeit davon, ob das bezeichnete Register ein geradzahliges oder ein ungeradzahliges bzw. das A- oder ß-Register ist. Wenn die Mehrzweckregister mit Daten geladen werden, bewirkt eine 1 im Bit 8 und eine I im Bit 9, daß auch der Akkumulator geladen wird.
Wenn ein Mehrzweckregister nicht geladen wird, wählt eine Null im Bit 8 und eine 1 im Bit 9 das /1-Register für eine Byte-Übertragung aus (ansonsten wird das ß-Register geladen). Bei Vorliegen einer Bitfolge 00010 in den Bits 4 bis 8 werden die Daten in das niederwertigste Wort des Steuerspeicherausgaberegisters geladen, und die Bits 9 bis 11 sind Null. In entsprechenderweise bewirkt bei derSchreibspeicher-Datenregisteroperation das Vorliegen einer Null im Bit 8, daß der Inhalt des Akkumulators in das Speicherdatenregister eingespeichert wird (ansonsten wird eine Speicherung bezüglich eines Mehrzweckregisterpaares vorgenommen). Bei Vorliegen einer 1 im Bit 9 wird der Inhalt des bezeichneten Mehrzweckregisters um 1 erhöht, und zwar im Hinblick auf Mehrzweckregister-Speicherungen, und der Inhalt des Akkumulators wird ferner in das durch die Bits 4 bis 7 bezeichnete Mehrzweckregister für Akkumulator-Speicherungen eingespeichert.
Für die vier 1-Verschiebe-Operationen zeigt eine O im Bit 9 eine Akkumulatorverschiebung an; im übrigen erfolgt eine Verschiebung bezüglich des in den Bits 4 bis 7 bezeichneten Mebrzweckregisters. Eine 1 im Bit 11 zeigt eine Einzel-Byte-Verschiebung an, ansonsten wird eine Wortverschiebung ausgeführt. Für eine Byte-Verschiebung des Akkumulators wählt das Bit 9 das Λ-Register bei einer 1 und das B-Register bei einer NuD aus. Das Bit 10 wählt die Richtung der Verschiebung aus, wobei eine Null eine Rechtsverschiebung und eine 1 eine Linksverschiebung festlegt Zur Verschiebung durch 1-Operationen werden lediglich die höchst- oder niederwertigsten Bits des verschobenen Wortes in den Anzeigeeinrichtungen bzw. Anzeigern gespeichert, und im übrigen wird lediglich das niedrigste Anzeigeregister benutzt
Bei einer Verschiebung durch eine 8-Operation zeigt eine Null im Bit 8 an, daß der Akkumulator der zu verschiebende Operand darstellt Ansonsten ist ein bezeichnetes Mehrzweckregisterpaar der um 8 Bits verscho- bene Operand. Eine 0 im Bit 11 bezeichnet die Drehrichtung; im übrigen wird eine Verknüpfungsverschiebung mit einer O-Auffüllung ausgeführt Im Hinblick auf eine Verschiebung wählt das Bit 9 die Richtung aus. wobei eine 0 einer Rechtsverschiebung und eine 1 einer Linksverschiebung zugehörig ist Für Drehungen bezeichnet eine I im Bit 10, daß eines der gedrehten Bytes des Operanden sowohl in dem Akkumulator als auch in dem Mehrzweckregister gespeichert wird. In diesem Fall wählt das Bit 9 das höchstwertige gedrehte Byte bei Vorlie- is gen einer 1 und das niederwertigste Byte bei Vorliegen einer 0 aus.
Wort-Lade-Operationen und -Speicheroperationen werden durch die Bitkombinationen 0010 bis 0110 bezeichnet; die Operanden werden wie folgt ausgewählt:
0010: Mehrzweckregister
0011: Akkumulator
0100: Steuerspeicheradressenregister (ROSAR)
0101: Hilfssteuerspeicheradressenregister (AUXAR)
Bei der Ladeakkumulatoroperation 0010 bewirkt das Vorliegen einer 1 im Bit 10, daß das Paritätsbit zu komplementieren bzw. zu ergänzen ist Im Hinblick auf die Speicherakkumulatoroperation, 0011, wird der Akkumulator in dem durch die Bits 4 bis 7 bezeichneten Mehrzweckregister gespeichert, und eine 1 im Bit 10 bewirkt femer, daß das /!-Register in das Verzweigungsprüfregister gespeichert wird. Bezüglich der übrigen Speicheroperationen legt eine 1 im Bit 8 fest, daß der Operand in dem Akkumulator gespeichert wird, ansonsten wird er in einem durch die Bits 4 bis 7 bezeichneten Mehrzweckregisterpaar gespeichert.
Die Unterbrechungsmechanismusoperationen, die die Bitfolge 1IXX in den Bits 12 bis IS aufweisen, liefern eine Vielzahl von speziellen Steuerfunktionen in Übereinstimmung mit den Bitkombinationen der Bits 4 bis 7 und 11.
Die Start-Speicherzyklusmikrobefehle besitzen die Bitfolge 1000 in den Bits 0 bis 3. Eine 1 in dem letzten Bit 1S bezeichnet einen Schreibzyklus, um eine 1 in dem dem letzten Bit nächstfolgenden Bit bezeichnet einen Lesezyklus. Im Hinblick auf einen Schreibzyklus bezeichnen die Bits 12 bzw. 13 bei Vorliegen einer 1, daß die höher- und niederwertigen Bytes des Datenworts gespeichert werden. Eine 0 im Bit 8 legt fest, daß die Speicheradresse für den Zyklus in dem Akkumulator vorhanden ist, ansonsten wird die Adresse von dem bezeichneten Mehrzweckregisterpaar aufgenommen. Eine 1 im Bit 9 legt fest, daß das bezeichnete Mehrzweckregister um 1 erhöht wird, sofern bezüglich des Registers angegeben ist, daß es die Datenadresse festhält, oder das betreffende Bit legt fest, daß der Akkumulator in dem bezeichneten Mehrzweckregister reserviert wird, sofern bezüglich des Akkumulators das Festhalten der Datenadresse angegeben ist
Der Anpassungsstellen-Betriebsmikrobefehl besitzt in den Bitpositionen 0 bis 2 die Bitkombination 111.
Eine 1 im Bit 3 fegt fest, daß ein Verbindungsleitungsadaptoreingangsglied ausgewählt wird; ansonsten erfolgt die Übertragung über ein Steuerwerkadaptoreingangsglied. Eine 0 im Bit 4 legt fest, daß eine Mikrobefehlsausführung solange verzögert wird, bis ein Signal auf der Antwortleitung aufgenommen wird. Eine 1 im Bit 5 legt fest, daß der £>/!/-Zustand in die niederwertige Hälfte des Verzweigungsprüfregisters eingetastet bzw. eingeführt wird. Ist das Bit 7 eine 1, so wird das höherwertige Byte der Dateneingabeleitungen in das Λ-Akkumulatorregister geladen. Ist das Bit 6 eine 1, so wird das B-Register mit dem niederwertigen Byte geladen. Die Bits 8 bis 15 enthalten ein Byte-Literal zur Einstellung der D/47-Adressen/Sieuerleitungen. so
Der bedingte Verzweigungsmikrobefehl besitzt die Bitfolge 01 in den Bits i6und 17. Eine Verzweigung wird dabei zu der durch ein Literal in den Bits 24 bis 30 festgelegten Segmentadresse ausgeführt, wenn und nur wenn die geprüften Bits gleich dem Wert des Bits 19 sind. Dabei sind lediglich Verzweigungen zu geradzahligen Speicherplätzen möglich, so daß das letzte Bit 31 für Verzweigungsadressenvorbereitungszwecke unberücksichtigt gelassen wird. Dieses letzte Bit wird jedoch dazu herangezogen, die obere oder die untere Hälfte des das zu prüfende Bit enthaltenden Registers auszuwählen. Das zu prüfende Register ist durch die Bits 22 und 23 in folgender Weise festgelegt:
00: Anzeigefegister
01: Verzweigungsprüfregister
10: /!-Register
M: ß-Rcgister
Die Bits 20 und 21 bezeichnen das zu prüfende Bit innerhalb der bezeichneten Registerhälfte durch die dargestellte Binärzahl. Eine 1 im Bit 18 zeigt an, daß der der bedingten Verzweigung vorangehende geradzahlige Mikrobefehl ausgeführt und beendet wird, bevor der Verzweigungsmikrobefehl begonnen wird.
Bei einem Segmentverzweigungsmikrobefehl sind in den Bits 16 bis 19 jeweils O-Zeichen. Ist das Blatt 20 eine Null, so erfolgt eine unbedingte Verzweigung zu der durch Cm Rest des Mikrobefehls bezeichneten Adresse.
Das letzte Bit wird jedoch für Adressenvorbereitungszwecke unberücksichtigt gelassen. Ist das betreuende Bit eine 1, so wird der Inhalt des .RO&tR-Registers sicher in dem A OTTj4Ä-Register gespeichert. Die Bits 21 bis 23 werden als eine Zweierkomplementzahl behandelt, die das gewünschte relative 256-Wbrtsegment bezeichnet, und die Bits 24 bis 30 bezeichnen das gewünschte Wort innerhalb des betreffenden Segments.
Sind die Bits 20 und 21 durch die Bitfolge 11 gegeben, so wird eine Verzweigung zu der vorbereiteten Adresse ausgeführt, indem die Bits 24 bis 30 für die letzte Hälfte der vorliegenden Befehlsadresse ersetzt werden und indem der Inhalt des durch die Bits 22,23 und 31 bezeichneten Teües des Verzweigungsprüfregisters (.RTR) angehängt wird. (BTR' zeigt an, daß das nicht benutzte Verzweigungsprüfregister benutzt wird).
ίο 00... 0: BTR0-I
OO ...0
00 ... 1
01 ...0
01 ... I
10 ...0
10 ...1
57K2-j
10... 1: BTR0S
11 ...0:
Enthalten die Bits 20 bis 23 die Bitfolge lOjftrin dem Verzweigungsmikrobefehl, so erfolgt eine Verzweigung zu der in dem A UXAR-Register oder dem Akkumulator befindlichen Adresse, und zwar in Übereinstimmung
2ö damit, daß das erste Bit des Bits 22 eine 1 oder eine 0 ist Ist das Bit 22 eine 1, so wird der gegenwärtige Unierbrechungspegel zurückgestellt Ist das Bit 31 eine 1, so wird der Inhalt des ROSAR-Registers in das AUXAR-Register gespeichert
Enthalten die Bitfolge 20 bis 23 die Bitfolge 10ΛΓ1, so erfolgt eine Verzweigung zu der gebildeten Adresse in folgender Weise. Der niederwertige Teil wird von den Bits 24 bis 30aufgenommen. Die höherwertigen Bits 2 bis 7 werden aus dem Λ-Register oder aus dem ÄOS^Ä-Register aufgenommen, und zwar in Abhängigkeit davon, ob das Bit 22 eine 0 oder eine 1 ist Ist das letzte Bit 31 eine 1, so wird der Imialt des ÄOS/lÄ-Registers in dem A UXAR-RegisleT gespeichert
Ein NOP-Mikrobefehi in einem geradzahligen Speicherplatz weist an sämtlichen Bitstellen eine 0 auf. In einem ungeradzahligen Speicherplatz enthalten die Bits 24 bis 30 die niederwertige Hälfte der Adresse des nächsten Speichf-platzes.
Bsi der bevorzugten Ausfübmngsform werden normale integrierte Schaltungen vom TTL-Typ für die Realisierung der Erfindung verwendet da diese Schaltungen derzeit die besten Kosten-Leistungs-Eigenschaften mit sich bringen. Der Steuerspeicb-r ist ein Standardsatz von einen sogenannten RAM-Speicher bildenden integrierten Schaltungen mit Decouern und Treibern. Der betreffende Speicher stellt einen solchen mit direktem Zugriff dar. Der Steuerspeicher äst modular ausgebildet, so daß das Untersystem so ausgebildet werden kann, daß es die Forderungen der jeweiligen Anwendung zu erfüllen vermag. Module besitzen zweckmäßigerweise eine Größe von 512 Worten. Da der mögliche Adressierungsbereich des 16-Bit-Wortes der Verarbeitungseinrichtung 64 K Worte umfaßt also wesentlich mehr als notwendig sind, und da lediglich gera^rahlige Adressen verwendet werden, können diejenigen Register, die ausschließlich für die Steuerspeicheradressen vorgesehen
sind, verkürzt werden, und zwar in Übereinstimmung mit der oberen Grenze erwarteter Steuerspeicher und mit Rücksicht darauf, daß das niederwertigste Bit gelocht bzw. weggelassen wird. Demgemäß sind die Register 128, 129 und 136 auf 13 Bits beschränkt, was eine Adressierung von 8 K geradzahligen Worten oder 16 K Worten insgesamt ermöglicht.
Fig. 4 zeigt in einer Teilansicht wie die Mikrobefehle decodiert werden. In dem Steuerspeicher 50 sind die Stapelausgänge DR00 bis DA31 in geeigneter Weise mit offenen Kollektoren abgeschlossen, die über einen 1,5-kOhm-Widerstand geerdet sind und die über einen 470-Ohm-Widerstand an einer 5 Volt führenden Spannungsklemme angeschlossen sind. Drei, zwölf Eingänge aufweisende integrierte Schaltungspackungen, wie die Schaltungspackung 51, nehmen zwei Mikrobefehle zuzüglich vier Paritätsbits auf. Die Ausgänge DR0 bis DRn liefern Eingangssignale für Schalter 142 und 143, die durch Vierer-l-aus-2-Auswahlschalter, wie den Auswahlschalter bzw. Wähler 148, realisiert sind. So wird z. B. auf das am Schalterausgang ROi\ auftretende Ausgangssignal entweder der Steuerspeicherausgang DRn oder die Funktionsnetzwerkleitung DERSs ausgewählt, wobei die zweite Wahl das Laden eines Mikrobefehls in das Mikrobefehlsausgaberegister 145 von dem Hauptspeicher 10 her ermöglicht.
Die ungeradzahligen Mikrobefehls-Schalter 143 wählen entweder den Funktionsnetzwerkausgang DERSn i5 oder den Steuerspeicherausgang aus, der durch D5 ausgewählt ist. In entsprechender Weise wählen die geradzahligen Mikrobefehls-Schalter 142 entweder das ungeradzahlige Mikrobefehls-Ausgaberegister oder den Steuerspeicherausgang ROR0 \< aus, wie er durch D1 ausgewählt ist. Sämtliche ungeradzahligen Wählerausgänge sind mit einem Satz von /-Af-Flipflops verbunden, wie dem Flipflop 204. Diese Flipflops stellen das Ausgaberegister 145 dar. Das Ausgaberegister 144 ist in entsprechender Weise ausgeführt. Bei dem Flipflop 204 wird das dem /-Eingang zugeführte Eingangssignal komplementiert dem ΑΓ-Eingang zugeführt; ein Ä ,,-Signal tastet die betreffenden Flipflops. Die Ausgaberegistersignale AOA0-Ji werden für viele Funktionen herangezogen. Eine derartige Funktion ist die des Verzweigungsdecoders 147. Eine bedingte Verzweigung wird durch ein NAND-Glied 215 entsprechend folgendem Ausdruck decodiert:
(.5 DCBR = AOA16 · ROR„ · FlNT
Alle übrigen Verzweigungs-Mikrobefehle werden durch ein Verknüpfungsglied 214 in folgender Weise decodiert :
DDlAV = RÖRi6 - RORn - RORn · RORi9 · HNT
Eine Vektorsegmentverzweigung wird durch ein Verknüpfungsglied 213 entsprechend folgender Gleichung decodiert:
DVSB = ROR20 · ROR2I ' DDIAV
Eine absolute Verzweigimg wird durch ein Verknüpfungsglied 212 entsprechend folgender Gleichung decodiert:
DÄBR = ROR20 RORn - ROR23 · DDIAV
Eine indirekte Segmentverzweigung wird durch ein Verknüpfungsglied 211 entsprechend folgendem Ausdruck decodiert:
15
DISB = ROR20 · RORn · ROR21 ■ DDIAV
Wird ein Verzweigungsbefehl decodiert, so wird eine Verzweigungsitiiresse vorbereitet und an den Steuerspeicher 50 abgegeben, um den Befebl abzuholen, und außerdem wird die Adresse in dem S*Ji»eradressenregister 136 gespeichert F i g. 5 zeigt wie diese Adressenvorbereitung ausgeführt wird. Der eine von acht Wählern 134C-H und 135A-G liefert die betreffenuen Bits für die Adresse. Wird z.B. eine absolute Verzweigung ausgeführt und ist der Inhalt der Bits 22 bis 25 durch die Bitfolge OJTl 1 z. B. gegeben, so wird der Inhalt des Hilfsregisters ausgewählt, um das nächste Mikrobefehlspaar abzuholen, während der vorangehende geradzahlige Mikrobefehl ausgeführt wird.
Für Verzweigungs-Mikrobefehle, wie einer bedingten Verzweigung, deren Bedingung erfüllt ist, wird die Adresse durch die niederwertigen Bits RORM-3o von dem Steuerspeicherausgaberegister 145 her modifiziert Die höherwertigen Bits werden von dem Steuerspeicheradressenregister 136 über den Adressenaddierer 132 und die Λο-Schalterwähler 134 C-H aufgenommen. Der zweite Operand für den Adressenaddierer 132 ist die konstante Null. Für die direkte Segmentverzweigung ist die Adressenvorbereitung bzw. -herstellung ähnlich. Eine Ausnahme bildet jedoch der Umstand, daß der zweite Operand für den Adressenaddierer 132 durch die Bits RORn-n gegeben ist, wobei das Vorzeichen nach links zu übertragen ist. Die Wähler- bzw. Selektorleitungen für einen von acht Wählern bzw. Selektoren 134 C-H werden wie folgt gewonnen:
AUO = DlSB ■ ROR11 AU 1 = DABR-ROR25 AUl = WMD- DL
Die Wähler- bzw. Selektorleitungen für einen der acht WUhler bzw. Selektoren 135 A-G werden wie folgt gewonnen:
= FINT- DABR ■ (ROR2* + ROR25) + DVSB
AL 1 = DABR ■ ROR15
AL 2 = DVSB + DDISB
Die Adresse in dem Stcuerspeicher wird durch das Q^-Signal taktgesteuert:
50 Q1 = QEXEC ■ DL
Der Allzweck-Mikrobefehlsdecoder 146 ist in F i g. 6 gezeigt. Ein NAND-Glied 221 decodiert eine Datenübertragung wie folgt:
55
DFX = ROR0 ■ ROR, ■ ROR2 · ROR,
Ein Verknüpfungsglied 222 decodiert eine Grundoperation wie folgt:
BOP = ROR0 ■ ROR\ ■ ROR2
Ein Verknüpfungsglied 223 decodiert einen Speicherzyklus wie folgt:
SMEM = HOR0 · ROR1 · ROR2 · ROR3
65 Ein Verknüpfungsglied 224 decodiert eine UND-Literal-Operation wie folgt:
ANC = RORa ■ FOR1 · ROR2 ■ RORx Ein Verknüpfungsglied 225 decodiert eine Additions- oder Substraktions-Literal-Operation wie folgt:
A/S = ROR0 · ROR1 ■ ROR1 · ROR3 Ein Verknüpfungsglied 226 decodiert eine ODER-Operation mit der Literal-Operation wie folgt:
OWC = ROR0 ■ ROR, ■ ROR1 · ROR3 Ein Verknüpfungsglied 227 decodiert eine Lade-Literal-Operation wie folgt:
LWC " ROR0 · R0R\ · ROR2 Ein Verknüpfungsglied 228 decodiert eine Anpassungstrennstellen-Bedienungsoperation wie folgt:
DAl = ROR0 ■ ROR, · ROR2
Der Grundoperationstyp wird durch eine Binär/l-aus-16-Leitungsauswahleinheit 251 decodiert. In entsprechender Weise wird der Datenübertragungsoperaiionstyp durch einen Binär/l-aus-lo-Leiiiirigswähier 2SC deccr diert. Die Ableitung des Taktsteuersignals KB für die Auswahl des ^-Registers zum Zwecke der Aufnahme des Ausgangssignals des Funktionsnetzwerks ist dargestellt. Ein Verknüpfungsglied 243 erzeugt das Signal KB auf das Signal LKB hin, und zwar dadurch, daß eine effektive oder mäßige Verknüpfung der Signale LKE und LOAB von dem Binär/l-aus-16-Wähler 250 erfolgt. Das Signal LKB wird auf sämtliche sofortigen Operationsdecodierungen und zusätzliche Decodierung durch die Verknüpfungsglieder 232 bis 243 gewonnen:
LKB = (ANC +A/S+ OWC + LWC) · (ROR6 ■ [ROR7 · ROR3 + ROR2 · RORd) Zusätzliche Eingangssignale für das /^-Verknüpfungsglied 24i aind die Signale LKBuLKB2, LKB3, LKB4 und LKB1 = BOP ■ ROR3 · ROR1, ■ BOP ■ (RORi + ROR9) · (R0Ri2 · RORn) + ST+ ACY + SCY + SUB LKB2 = (ANC + A/C + OWO + ROR6 ■ (ROR2 · [ROR3 + ROR2 · ROR») LKB3 = ROR9 ■ RORn · RORn
t = (ROR0 ■ ROR1 ■ ROR2 · ROR6) SIM + ÄOÄg + SAUX ■ SROS · SIAR
LKBs = RDMD ■ (ROR1 ■ ROR9 + ROR1 · RORt ■ ROR9) + SHB · (AOA8 + R0Rt ■ ROR9 ■ ROR10)
In entsprechender Weise wird ein Taktsteuersignal KBR fur das Verzweigungsprüfregister durch die Verknüpfungsglieder 229 bis 232 und 244 erzeugt:
KBR = DAI ■ RORs + (BOP + ANC +A/S+ OWC + STAB + RDMD) · AOA10 + LBT + (ANC +A/S+ OWC + LWC) · R0RA ■ (ROR2 ■ ROR3 + ROR2 · RORS)
In entsprechenderweise werden Taktsteuersignale fur die Mehrzweckregister (geradzahlige und ungeradzahlige), die A - und ^-Register des Akkumulators und das Anzeigeregister erzeugt, und zwar in Übereinstimmung mit den eine herkömmliche Logik, wie sie in F i g. 6 gezeigt ist, verwendenden Repertoire-Zwangsbedingungen. Femer werden die Steuersignale für die Rechen- und Logikeinheiten in entsprechender Weise gewonnen Für den jf-Addierer wird ein erstes gemeinsames Signal ADDA I gewonnen:
SXA = RORi ■ ROR9 WRMD + RORS · ROR9 ■ SMEM + STAB ADDA 1 = LOAB + SBT +SJI + SHS+ LDI + STA + SXA Zweite und dritte, zum Teil gemeinsame Signale ADDC0 und ADDCi sind: ADDC0 = ANC + AND + ADD + A/S ■ ROR9 +ACY + R0R% ■ ROR9 ■ SMEM ADDCx = EOR + OWC +OR+ SUB + ROR9 ■ A/S + NEG + SCY Ein viertes, zum Teil gemeinsames Signal ist SXB 1:
SXB 1 = LWC + LBT + ROR» ■ ST + R0Rt ■ ROR9 ■ ST Die betreffenden Addiereingangssignale sind: SXADD0 = ADDA I + ADDC0 + COM SCADD, = ADDA 1 + SXB 1 + ANC + AND + ADDC0
SXADD2 = ADDA 1 + COM + ADDCi SXADD;, = ADDA \ + SXB \ + OR + OWC
Die y-Addierer-Steuersignale werden in entsprechender Weise gewonnen:
DA = RORg ■ ROR9 ■ ST+ STA + LDl + 577 + SBT
SYADD0 = DA + COM + ADDC0
DB = LOAB + SHS + SXA +SXB1 "°
SYADDy = DB + DA+ ADDCx + ANC + ADD SYADD2 = DA+ ADDC, + COMi
SYADDi = DA+ DB + ADDC0 + OR + OWC
Ein erstes Steuersißnal für den ΛΌΡ-Schalter ist:
DXOP0 = (ANC +A/S+ OWC)[RORa + RORf1)(RORi · ROR3 +_RO_Ri ■ RORt) + ROR„]
+ SMEM · RORi · ROR9 + (SH% ■ [ROR9 · RORn + RORS] +SHl- RORt + LOAB)
SXF+ (NEG + SBT+ [ACY + SCY] · [RORl' ror< > + Ä0Ä' ' R0Rd + [AND +OR + EOR + ADD + SUB) ■ ROR9 + LDI · ROR1) BOP
Dieses Signal wird durch den Aufbau und das Befehlsrepertoire festgelegt. Die übrigen Operanden-Auswahlsteuersignale sind von derselben Form und werden von dem Befehlsrepertoire in derselben Weise gewonnen bzw. abgeleitet.
Die Beziehung zwischen den verschiedenen Registern und den Rechen- und Logikeinheiten ist in Fig. 7 näher dargestellt. Die Rechen- und Logikeinheiten 88 und 99 sind jeweils in zweckmäßiger Weise durch ein Paar vn Vier-Bit-Rechen- und Logikeinheiten gebildet, von denen jeweils eine Einheit dargestellt ist. Die Einheiten erzeugen Ausgangsfunktionen XA0--, und YA0-I in Übereinstimmung mit den Signalen auf den betreffenden Funktionsauswahlleitungen SXADD und SYADD. Beide Einheiten nehmen Operanden XF0--, und XF0-I von den Schaltern 101 und 102 her auf. Während des EXEC-lmpu\ses leitet das Verknüpfungsglied 281 das Operandenbit YOPn an die Rechen- und Logikeinheiten, und zwar über das Verknüpfungsglied 283, welches das Operandenbit invertiert. Das Verknüpfungsglied 282 hat während des /argC-Impulses keine Auswirkung, da es den EXEC-Impuls als eines seiner Eingangsgrößen erhält. Am Ende des £*£C-Impulses hält dergewissermaßen einen Verzögerungsschaiter bildender Schauer 102 den Operandcnbitweri auf Grand des Vorhandenseins des Rückkopplungs-Inverters 284 und der Verknüpfungsglieder 282 und 283 fest. Sämtliche Operandenbits werden in dieser Weise restgehalten, so daß dasselbe Register sowohl einen Operanden bereitstellen als auch das Ausgangssignal des Funktionsnetzwerks aufzunehmen vermag, d. h. das Ausgangssignal von den A0- und Λ ,-Schaltern 94 und 95. Die Gatter bzw. Verknüpiungsglieder für den Schalter 101 arbeiten in derselben Weise wie die Verknüpfungsglieder 281 bis 284, jedoch auf die AW-Operandenbits.
Die X- und K-Operanden werden durch die XOP- und JW-Auswahlschalter 103 und 104 abgegeben. Je Operand wählen die Steuersignale DXOP0-3 und DYOP0-3 ein Bit von acht Eingangsbits aus. Beide Schalter nehmen Eingangssignale von den A- und Ä-Teilen des Akkumulators und den geradzahligen und ungeradzahligen Byteteilenlll A bzw. Ill B der Mehrzweckregister auf. Die betreffenden geradzahligen und ungeradzahligen Byteteile des Mehrzweckakkumulators sind jeweils durch eine Reihe von 4 x lo-Zwischenspeicherelemente gebildet, wobei zwei Elemente für eine Information und ein drittes für eine Parität dient. Die Auswahl von 4-Bit-Teilen der Speicherelemente erfolgt durch Signale ROR4-6, FPTR und CLKUPoder CLKLW. Die Signale ÄOÄ4-6 werden durch die Decodierung des Mikrobefehls gewonnen, und das Signal ROR1 bestimmt die geradzahligen oder ungeradzahiigen Byte-Mehrzweckregister, d. h. CLKUPund CLKLW. Das Signal FPTR wird durch das Flipflop 289 erzeugt; es legt fest, welcher Satz von Arbeitsregistern benutzt wird.
Die Eingangssignale für die Register sind die Signale ERS0-I und OÄSb-7 für geradzahlige bzw. ungeradzahlige Teile. Diese Signale werden von Sätzen von einem von vier Auswahlelementen 94 und 95 aufgenommen, deren Ausgangssignale als die Funktionsnetzwerkausgangssignale betrachtet werden. Die Eingangssignale für die Auswahlelemente 94 werden von der Rechen- und Logikeinheit 88, dem S^-Schalter 92, über die für eine langsame Datenübertragung vorgesehene Dateneingabeleitung SDBI und die für eine schnelle Datenübertragung vorgesehene Dateneingabeleitung FDBIaufgenommen. Die Ausgangssignale der Auswahlelemente 94 werden an verschiedene Eelemente abgegeben, einschließlich des A-Akkumulatorregisters 105 A und des geradzahligen Mehrzweckregisters 111 A. Das Λ-Akkumulatorregister 105 A weist einen Satz von Großsignal-Flipflops, deren erstes mit 291 bezeichnet ist, und einen Satz von Kleinsignal-Flipflops, deren erstes mit 292 bezeichnet ist, auf. Der Satz von Großsignal- oder Kleinsignal-Flipflops gibt die ^-Akkumulatorregister-Eingangssignale AR0--! an jeweils ein Element von acht Auswahlelementen 103 und 104 ab, und zwar über ein von zwei Auswahlelementen 290 entsprechend dem Signal FPTR. Das eine von vier Auswahlelementen 95 liefert die Funktionsnetzwerkausgangssignale für die X- und /'-Operandenauswahlelemente 103 und 104 und das Speicherelement 111 B in derselben Weise. Für die Direktmikrobefehle ist das Steuerspeicherausgaberegister 114 mit den Auswahlelementen 104 verbunden. In entsprechenderweise sind das Verzweigungsprüfregister, das aus J-K-Flipflops 106 besteht, und das Anzeige register 99 an Auswahlelementen 103 in derselben Weise angeschlossen wie das A-Akkumulatorregister 105 A.
Die zeitlichen Beziehungen sind in F i g. 8 gezeigt. Der Grundtakt wird von einem Taktsignal RA W-X abgeleitet, welches eine charakteristische Frequenz von 10 MHz besitzt. Von dieser Taktimpulsquelle werden das Ausführungsbegrenzungssignal EXEC, das Ausführungstaktsignal QEXECund ein erstes phasenverschobenes Taktsignal FOPC abgeleitet bzw. gesteuert. Im allgemeinen erfolgt eine wirksame Taktsteuerung der Register durch
5 die Rückflar.ke des Ausführungsimpulses.
Wie in F i g. 7 bezüglich des A -Registers des Akkumulators gezeigt, sind die Arbeitsregister verdoppelt. Diese Arbeitsregister enthalten die Registerreihenanordnung 111, den Akkumulator 105, das Hilfssteuerspeicheradressenregister 128, das Unterbrechungsadressenregister 129, das Anzeigeregister 199, das Steuerwerkadaptor-Nummernregister 121 und das Verzweigungsprüfregister 106. Durch Verwendung von verdoppelten Arbeitsre-
10 gistern kann ein Unterbrechungsbetrieb schnell und wirkungsvoll ausgelöst werden. Tritt ein Unterbrechungssignal auf den /!/-Adaptortrennstellenleitungen auf, so wird die benötigte Antwort hauptsächlich dadurch gegeben, daß das Signal //yVTerzeugt wird. Dadurch ist eine richtige Einstellung des FPTR-Flipflops 289 und eine normale Verzweigung auf die den Schaltern 134 und 135 zugeführten Eingangssignale hin sichergestellt, während die Rückkehradresse in dem Unterbrechungsadressenregister 129 reserviert wird.
15
Hierzu 8 Blatt Zeichnungen

Claims (4)

Patentansprüche:
1. Mikroprogrammierbarer Prozessor mit einem Steuerspeicher (50), in welchem eine Vielzahl von M ikrobefehlswörtem gespeichert ist, deren jedes in einem bestimmten Format einen einem Mikrobefehlskom-
s mando zugehörigen Operationscode aufweist, wobei die Operationscodes ausgelesener Mikrobefehlswörter zur Erzeugung von Steuersignalen jeweils einem Decoder zugeführt und von diesem decodiert werden, mit einer Registereinrichtung (136) sowie mit einer Rechen- und Verknüpfungseinrichtung (88, 89) für die Durchführung einer Vielzahl von einem bestimmten Vorrat an Mikrobefehlskommandos zugehörigen Funktionen, dadurch gekennzeichnet,
(a) daß ein Mikrobefehlsregister (144,145) mit einem geradzahligen Registerbereich (144) und einem ungeradzahligen Registerbereich (145) vorgesehen ist,
(b) daß der mit dem Mikrobefehlsregister (144,145) verbundene Steuerspeicher (50) in einen geradzahligen Bereich und in einen ungeradzahligen Bereich derart organisiert ist, daß in jedem Bereich ein Mikrobefehlswort gespeichert ist,
wobei ein Verzweigungskommando-Mikrobefehlswort lediglich in dem ungeradzahligen Bereich des Steuerspeichers (50) gespeichert ist,
wobei der Steuerspeichers (50) lediglich durch eine Adresse adressiert wird, weiche einem Speicherplatz des geradzahligen Bereiches entspricht,
und wobei auf die Adressierung des betreffenden Steaerspeichers (50) hin das unter dem adressierten geradzahligen Bereich gespeicherte Mikrobefehlswort und das unter dem entsprechenden ungeradzahligen Bereich gespeicherte Mikrobefehlswort gelesen und in den geradzahligen Registerbereich (144) bzw. in den ungeradzahligen Registerbereich (145) des Mikrobefehlsregisters (144, 145) geladen werden,
(c) daß mit dem geradzahi'gen Registerbereich (144) des Mikrobefehlsregisters (144,145) eia erster Decoder (146) verbunden ist, der das in dem geradzahligen Registerbereicn (144) des Mikrobefehlsregisters (144,145) gespeicherte Mikrobefehlswort für die Erzeugung von Steuersignalen decodiert, welche die Ausführung des durch das Mikrobefehlswort bezeichneten Mikrobefehlskommandos bewirken,
(d) daß mit dem ungeradzahligen Registerbereich (145) des Mikrobefehlsregisters (144,145) ein zweiter Decider (147) verbunden ist, der das in dem ungeradzahligen Registerbereich (145) des Mikrobefehlsregisters (144, J45) gespeicherte Mikrobefehlswort decodiert, um zu bestimmen, ob der Operationscode des Mikrobefehlswortes ein Verzweigungskommando ist,
wobei in dem Fall, daß e-"v Verzweigungskommando auszuführen ist, der Prozessor die Ausführung des betreffenden Verzweigungskommandos gleichzeitig mit der Ausführung des Mikrobefehiswortes vornimmt, weiches in dem geradzahligen Registerbereich (144) des Mikrobefehlsregisters (!44, !45} gespeichert ist,
während in dem Fall, daß kein Verzweigungskommando auszuführen ist, der Prozessor die Übertragung des in dem ungeradzahligen Registerbereich (145) des Mikrobefehlsregisters \'144, l-g) gespeicherten Mikrobefehlswortes in den geradzahligen Registerbereich (144) des Mikrobefehlsregisters (144,145) vornimmt,
(e) und daß zwischen dem geradzahligen Regi^erbereich (144) und dem ungeradzahligen Registerbereich (145) des Mikrobefehlsregisters (144,145) eine Übertragungseinrichtung (142) eingefügt ist, welche das Mikrobefehlswort von dem ungeradzahligen Registerbereich (145) zu dem geradzahligen Registerbereich (144) des Mikrobefehlsregisters (144,145) nach Beendigung der Ausführung des Mikrobefehlswortes in dem geradzahligen Registerbereich (144) des Mikrobefehlsregisters (144,145) überträgt, wenn der zweite Decoder (147) bestimmt hat, daß das in dem ungeradzahligen Registerbereich (145) des Mikrobefehlsregisters (144,145) enthaltene Mikrobefehlswort kein Verzweigungskommando enthält.
2. Prozessor nach Anspruch 1, dadurch gekennzeichnet, daß der geradzahlige Registerbereich (144) für die Speicherung von Mikrobefehlen von geradzahligen Speicherplätzen des Steuerspeichers (50) und der ungeradzahlige Registerbereich (145) für die Speicherung νο·ι Mikrobefehlen von ungeradzahligen Speicherplätzen des Steuerspeichers (50) dient, daß der mit dem Mikrobefehlsregister (144,145) verbundene Steuerspeicher (50) geradzahlige/ungeradzahlige Mikrobefehlspaare parallel an die geradzahligen bzw. ungeradzahligen Registerbereiche (144 bzw. 145) abgibt, daß der mit dem geradzahligen Registerbereich (144) verbundene (erste) /-Decoder (146) die durch den Mikrobefehl bezeichnete Operation (Bits 0-15 in Fig. 3a, b) festzulegen gestattet, daß der mit dem ungeradzahligen Registerbereich (145) verbundene (zweite) ß-Decoder(147) die durch den Mikrobefehl bezeichnete Verzweigungsoperation (Bits 16-31 in Fig. 3 b) zu erkennen gestattet, daß ein mit dem Steuerspeicher (50) verbundenes Steuerspeicher-Adreßregister (136) zwei Mikrobefehle auszuwählen gestattet, daß eine mit dem Mikrobefehlsregister (144, 145) verbundene
Adressenänderungseinrichtung (132,133) den Inhalt des Steuerspeicher-Adreßregisters (136) in Übereinstimmung mit der Codierung (Bits 21-23) in dem ungeradzahligen Bereich des Mikrobefehlsregisters (144, 145) zu modifizieren gestattet, daß eine mit dem Steuerspeicher (50) und dem Steuerspeicher-Adreßregister (136) verbundene Verzweigungssteuereinrichtung (134,135) vorgesehen ist, die einmal selektiv den Inhalt des Steuerspeicher-Adreßregisters (136) zu modifizieren und zum anderen das adressierte Mikrobefehlspaar aus dem Steuerspeicher (50) in das Mikrobefehlsregister (144, 145) während der Ausführung eines geradzahligen Mikrobefehls überzuführen gestattet, letzteres dann, wenn der (zweite) 5-Decoder (147) das Vorliegen einer Verzweigungsbedingung in der Codierung eines ungeradzahligen Mikrobefehls ermittelt, daß die vom (ersten) /-Decoder (146) decodierten Signale zur Durchführung von Datenverarbeitungsopera-
tionen der Verarbeitungseinheit (88,89) zugeführt werden, wobei trie einzelnen auszuführenden Operationsschritte durch die Codierung eines geradzahligen Mikrobefehls bestimmt sind, daß die Übertragungseinrichtung (142) den Inhalt aus dem ungeradzahligen Bereich in den geradzahligen Bereich des Mikrobefehlsregisters (144,145) während der Ausführung eines geradzahligen Mikrobefehls in dem Fall überträgt, daß der (zweite) 5-Decoder (147) keine Verzweigungscperation auswählt S
3. Prozessor nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß durch die Verarbeitungseinheit (88, 89) ein Auzeigeregister (99) derart gesteuert ist, daß sein Inhalt Informationen speichert, die kennzeichnend J? sind für Bedingungen zur Ausführung von Datenverarbeitungsoperationen, inklusive einer Null-Ergebnis-Anzeige, und daß in operativer Verbindung mit dem Anzeigeregister (99) die Verzweigungssteuereinrichürag (134, 135) bei Vorliegen entsprechender Bedingungen selektiv die Weiterleitung des adressierten Mikrobefehlspaares an das Mikrobefehlsregister (144,145) sperrt.
4. Prozessor nach Anspruch 1,2 oder 3, dadurch gekennzeichnet, daß der (erste) /-Decoder (146) in seiner Funktionsweise so ausgelegt ist, daß er in Übereinstimmung mit der festgelegten MikrobefebJscodierung (Fig. 3a, b) auf sämtlkhe Verzweigungs-Mikrobefehle wie auf NOP-Mikrobefehle anspricht
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 DE2316296A1 (de) 1973-10-11
DE2316296C2 true DE2316296C2 (de) 1986-04-30

Family

ID=22904972

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2316296A Expired DE2316296C2 (de) 1972-03-31 1973-03-31 Mikroprogrammierbarer Prozessor

Country Status (7)

Country Link
US (1) US3753236A (de)
JP (2) JPS578489B2 (de)
AU (1) AU470700B2 (de)
CA (1) CA984515A (de)
DE (1) DE2316296C2 (de)
FR (1) FR2179418A5 (de)
GB (1) GB1410837A (de)

Families Citing this family (28)

* 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
US3913074A (en) * 1973-12-18 1975-10-14 Honeywell Inf Systems Search processing apparatus
US3909799A (en) * 1973-12-18 1975-09-30 Honeywell Inf Systems Microprogrammable peripheral processing system
US3938098A (en) * 1973-12-26 1976-02-10 Xerox Corporation Input/output connection arrangement for microprogrammable computer
US3958225A (en) * 1974-01-28 1976-05-18 Teletype Corporation Apparatus and method for controlling a communications terminal
IT1012440B (it) * 1974-05-16 1977-03-10 Honeywell Inf Systems Apparato di controllo dei canali di ingresso e uscita delle informa zioni di un calcolatore
US3986170A (en) * 1974-05-30 1976-10-12 Gte Automatic Electric Laboratories Incorporated Modular control system design with microprocessors
US3980993A (en) * 1974-10-17 1976-09-14 Burroughs Corporation High-speed/low-speed interface for data processing systems
US3979730A (en) * 1974-10-30 1976-09-07 Motorola, Inc. Interface adaptor having control register
US3961313A (en) * 1974-12-04 1976-06-01 International Business Machines Corporation Computer control apparatus
FR2307407A1 (fr) * 1975-04-09 1976-11-05 Singer Co Systeme de communication d'information
US4006465A (en) * 1975-05-14 1977-02-01 International Business Machines Corporation Apparatus for control and data transfer between a serial data transmission medium and a plurality of devices
DE2527272B2 (de) * 1975-06-19 1979-10-25 Siemens Ag, 1000 Berlin Und 8000 Muenchen Anordnung zum Decodieren und Abarbeiten eines Mikrobefehlswortes konstanter Länge
US4040032A (en) * 1976-02-27 1977-08-02 Data General Corporation Peripheral device controller for a data processing system
US4292669A (en) * 1978-02-28 1981-09-29 Burroughs Corporation Autonomous data communications subsystem
US4648063A (en) * 1978-10-30 1987-03-03 Phillips Petroleum Company Programming a peripheral computer
US4330823A (en) * 1978-12-06 1982-05-18 Data General Corporation High speed compact digital computer system with segmentally stored microinstructions
US4327408A (en) * 1979-04-17 1982-04-27 Data General Corporation Controller device with diagnostic capability for use in interfacing a central processing unit with a peripheral storage device
US4434461A (en) 1980-09-15 1984-02-28 Motorola, Inc. Microprocessor with duplicate registers for processing interrupts
US4618925A (en) * 1981-05-22 1986-10-21 Data General Corporation Digital data processing system capable of executing a plurality of internal language dialects
JPS63251349A (ja) * 1987-04-08 1988-10-18 Sakae Riken Kogyo Kk 透光性を有する車両用フロントグリル
JP2505246B2 (ja) * 1988-04-18 1996-06-05 矢崎総業株式会社 天井輻射パネル
US5307464A (en) * 1989-12-07 1994-04-26 Hitachi, Ltd. Microprocessor and method for setting up its peripheral functions
US5293894A (en) * 1993-02-11 1994-03-15 Fleischmann Lewis W Automatic prime and flush siphon condensate pump system

Family Cites Families (15)

* 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
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

Also Published As

Publication number Publication date
US3753236A (en) 1973-08-14
JPS578489B2 (de) 1982-02-17
JPS4917146A (de) 1974-02-15
JPS5762434A (en) 1982-04-15
AU470700B2 (en) 1976-03-25
FR2179418A5 (de) 1973-11-16
DE2316296A1 (de) 1973-10-11
AU5268573A (en) 1974-08-29
GB1410837A (en) 1975-10-22
CA984515A (en) 1976-02-24
JPS598846B2 (ja) 1984-02-28

Similar Documents

Publication Publication Date Title
DE2316296C2 (de) Mikroprogrammierbarer Prozessor
DE2459975C2 (de)
DE2357003C2 (de) Prozessor für eine Mehrprogramm-Datenverarbeitungsanlage
DE2456578C2 (de) Datenverarbeitungsanlage
DE2846495C2 (de) Zentraleinheit
DE2714805C2 (de)
DE2555963C2 (de) Einrichtung zur Funktionsmodifizierung
DE2328058C2 (de) Fehlerdiagnoseeinrichtung in einer digitalen Datenverarbeitungsanordnung
DE3886529T2 (de) Einrichtung in einem Datenverarbeitungssystem zur System-Initialisierung und -Rückstellung.
DE69738188T2 (de) Verfahren und apparat für eine erhöhte genauigkeit bei der verzweigungsvorhersage in einem superskalaren mirkroprozessor
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE1934220A1 (de) Vorrichtung zur Wartung und Pruefung von elektronischen Datenverarbeitungsanlagen
DE2657848A1 (de) Steuereinheit fuer ein datenverarbeitungssystem
DE2446224A1 (de) Vorrichtung zum steuern des mikroprogramms im operationssystem einer digitalen datenverarbeitungsanlage
DE2248296A1 (de) Programmsteuereinrichtung
DE2339636A1 (de) Programmsteuereinrichtung
DE2400064A1 (de) Speicherpruefanordnung und diese verwendendes endgeraetsystem in einem datenverarbeitungssystem
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
DE2658864A1 (de) Pruefsystem fuer eine mikroprogrammierte verarbeitungseinheit
DE2611892A1 (de) Mikroprogramm-steuersystem
DE2440628A1 (de) Datenverarbeitungsanlage mit mikroprogrammierung
DE2715029B2 (de) Schaltungsanordnung zur Diagnose oder Prüfung von funktioneilen Hardware-Fehlern in einer digitalen EDV-Anlage
DE1179027B (de) Speicherprogrammierte digitale Rechenanlage
DE2702722A1 (de) Instruktionsinterpretation in elektronischen datenverarbeitungsanlagen
DE2658950A1 (de) Mikroprogrammierte verarbeitungseinheit sowie verfahren zur organisation derselben

Legal Events

Date Code Title Description
OD Request for examination
D2 Grant after examination
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: HONEYWELL BULL INC., MINNEAPOLIS, MINN., US