DE2536622A1 - Mikroprogrammsteuerung mit flexibler auswahl von steuerworten - Google Patents

Mikroprogrammsteuerung mit flexibler auswahl von steuerworten

Info

Publication number
DE2536622A1
DE2536622A1 DE19752536622 DE2536622A DE2536622A1 DE 2536622 A1 DE2536622 A1 DE 2536622A1 DE 19752536622 DE19752536622 DE 19752536622 DE 2536622 A DE2536622 A DE 2536622A DE 2536622 A1 DE2536622 A1 DE 2536622A1
Authority
DE
Germany
Prior art keywords
control
control word
register
selection
circuit
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
DE19752536622
Other languages
English (en)
Other versions
DE2536622C2 (de
Inventor
Charles Wesley Evans
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2536622A1 publication Critical patent/DE2536622A1/de
Application granted granted Critical
Publication of DE2536622C2 publication Critical patent/DE2536622C2/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/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/267Microinstruction selection based on results of processing by instruction selection on output of storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Description

Aktenzeichen der Anmelderin: PO 973 040
Mikroprogrammsteuerung mit flexibler Auswahl von Steuerworten x
Die Erfindung betrifft die Wortauswahl in einem Steuerspeicher für die Steuerung des Ablaufs von elementaren Operationen innerhalb der Zentraleinheit einer Datenverarbeitungsanlage (CPU). Insbesondere betrifft die Erfindung eine Verzweigungssteuerung in einem mit Steuerspeicher arbeitenden System, wodurch die Flexibilität, mit der die Steuerworte in einem Steuerspeicher aufgefunden und abgerufen werden können, erhöht wird.
Viele der in den letzten Jahren gebauten Datenverarbeitungsanlagen verwenden in ihren Steuereinheiten Steuerspeicher und steuern damit die in einer CPU während der Verarbeitung jedes Systemsbefehls durchzuführenden elementaren Operationen, Ein Systembefehl wird, gesteuert durch den Steuerspeicher in der Steuereinheit, durch ein Mikroprogramm ausgeführt, das eine Folge von Mikrobefehlen (d,h, Steuerworten) ist, die eine Anzahl elementarer Operationen steuern, wobei einige dieser Operationen gleichzeitig und einige nacheinander ablaufen. In solchen Systemen wird der Operationscode (OP CODE) des gerade
609815/0832
laufenden Systemsbefehls zur Bildung der Adresse des ersten Mikrobefehls des zur Durchführung des Sytembefehls erforderlichen Mikroprogramms decodiert. Beispielsweise liefert ein 8-Bit-OP-CODE die Möglichkeite, eine Verzweigung nach 256 verschiedenen Anfängen von bis zu 256 verschiedenen Mikroprogrammen herzustellen (ein Mikrobefehl wird außerdem auch als Steuerwort (CW) bezeichnet und ein Steuerwort ist die Codierung innerhalb
der Steuerwortposition im Steuerspeicher).
I Viele moderne Datenverarbeitungssysteme haben im allgemeinen j ihre Steuerspeicher in der Weise organisiert, daß eine Gruppe j von Steuerwortpositionen, die als Verzweigungsgruppe bezeichnet | werden, in einem einzigen Adressenzyklus des SteuerSpeichers angesteuert werden. Die den augenblicklichen Betriebszustand der Maschine anzeigende Signale bestimmen dann die Auswahl einer Steuerwortposition in der angesteuerten und adressierten Verzweigungsgruppe, um damit das nächste, durch die CPU zu verarbeitende Steuerwort abzurufen. Der Steuerspeicher ist dabei grundsätzlich so aufgebaut, daß er mit einem Steuerwort-Auswahlsignal ansteuerbar ist, das mindestens zum Teil auf unmittelbar aus den Mikrobefehlen ableitbaren Signalen und zum Teil auf von außerhalb der Mikrobefehle zugeführten, den Maschinenbetriebszustand anzeigenden Signalen abgeleitet wird. Die dabei möglichen Maschinenzustands-Signale bestimmen die Anzahl der zur Verfügung stehenden Mikrocodeverzweigungen, bei denen oft weniger Steuerworte zur Auswahl stehen als in einer Verzweigungsgruppe Positionen vorhanden sind. Eine Auswahl zwischen zwei Steuerworten ist dabei eine Zweiwegverzweigung,
Der Hauptvorteil der Verzweigungsgruppen-Adressierung besteht darin, daß die für den Zugriff zum nächsten Steuerwort erforderliche Zeit dadurch herabgesetzt wird, daß sich einmal die Erzeugung des Maschinenstatussignals und die Auswahl des Steuerwortes den Zugriff zur nächsten Verzweigungsgruppe von Steuerworten im Steuerspeicher überlappt (die vom Maschinenstatus-Signal durchgeführte Auswahl eines einzigen Steuerwortes von zur
PO 973 040
60981 B/0832
Verfügung stehenden Verzweigungen in einer angesteuerten Verzweigungsgruppe wird Steuerspeicher-Verzweigungsoperation genannt. Jedes Steuerwort enthält eine nächste Adresse, d.h. die Adresse der Verzweigungsgruppe, die das nächste auszuwählende Steuerwort enthält).
Genauer gesagt wird die nächste, in dem augenblicklich benutzten Steuerwort enthaltende Adresse dem Steuerspeicher-Adreßdecodierer zum Ansteuern der nächsten Verzweigungsgruppe zugeleitet, während die Ausgangssignale der die Maschinenstatus-Signale abgebenden Schaltkreise einem Verzweigungsadreßdecodierer zur Auswahl der Steuerposition zugeleitet wird, die den als nächstes zu verarbeitenden Mikrobefehl enthält. Die erforderlichen Maschinenstatussignale können dabei einem gerade bearbeiteten Mikrobefehl erst dann zur Verfügung stehenf wenn dieser Befehl abgearbeitet wird. Die von der CPU kommenden Taktimpulse nehmen daher die Auswahl im nächsten Steuerwort etwa am Ende eines Steuerwort-Taktzyklus vor,
Wenn bei bisher bekannten Systemen ein gegebener Mikrobefehl in verschiedenen unterschiedlichen Mikroroutinen benutzt wurde, dann konnte dieser Mikrobefehl wegen unterschiedlicher Maschinenstatus-Auswahlkriterien innerhalb des Steuerspeichers an verschiedenen Steuerwort-Speicherplätzen abgespeichert sein« Diese mehrfache Abspeicherung führt naturgemäß zu einer Vergrößerung der erforderlichen Speicherkapazität des SteuerSpeichers,
Sine bei der Entwicklung von CPU-Steuerungen bestehende Schwierigkeit besteht darin, daß die Steuerschaltungen viel früher und meist durch andere Ingenieure entworfen werden als die Mikroprogramme, die die CPU bei der Durchführung der für diese Maschine vorgegebenen Systembefehle steuern. Die später entwickelten Mikroprogramme, die die CPU steuern sollen, enthalten auf jeden Fall Verzweigungen mit einer Auswahl aus mehreren Steuerworten, Eine solche Verzweigung muß natürlich alle möglichen Arten der Verzweigungen berücksichtigen, nämlich Zweiweg-
PO 973 G4C
609815/0832
Verzweigungen, Dreiwegverzweigungen, Vierwegverzweigungen usw. Somit kann beispielsweise während eines einzigen, zur Verarbeitung eines einzigen Steuerwortes benutzten Maschinenzyklus eine Mikroprogrammverzweigung nach bis zu N Wegen in einer aus N Worten bestehenden Verzweigungsgruppe hergestellt werden. Eine Verzweigung von mehr als N Wegen benötigt mehr als ein Steuerwort. Es wurde festgestellt, daß Verzweigungen mit mehr als vier Wegen selten sind. Somit kann eine Verzweigungsgruppe mit vier Worten wirkungsvoll fast alle Mikroprogrammverzweigungen in einem einzigen Maschinenzyklus unterstützen.
Wie bereits erwähnt, wird die endgültige Auswahl eines Steuerwortes innerhalb einer Verzweigungsgruppe gegen Ende der Verarbeitung des gerade ablaufenden Steuerwortzyklus in Abhängigkeit von den gerade vorhandenen Maschinenstatussignalen und dem Ausgangsfeld in dem laufenden Steuerwort durchgeführt. Eine Zweiwegverzweigung in einem Mikroprogramm kann beispielsweise die Auswahl zwischen einem ersten und einem vierten Steuerwort in einer Vierwortverzweigungsgruppe erfordern oder vielleicht zwischen dem ersten und dem dritten Wort oder zwischen dem zweiten oder vierten oder zwischen dem zweiten oder dritten Steuerwort, In gleicher Weise kann eine Dreiwegverzweigung in einem Mikroprogramm eine Auswahl aus beliebigen drei Steuerworten in einer Vierwort-Verzweigungsgruppe erfordern, beispielsweise eine Auswahl aus dem erstenr dritten und vierten Steuerwort oder dem ersten, zweiten und vierten Steuerwort usw.r wobei alle Dreifachkombinationen in der Verzweigungsgruppe möglich sind. In gleicher Weise muß eine vierfache Auswahl für alle vier Steuerworte in einer Vierwort-Verzweigung sgruppe zur Verfügung stehen. Weiterhin kann in manchen Fällen nur ein vorbestimmtes der Steuerworte ausgewählt werden.
Bei manchen Mikroprogrammverzweigungen kann somit jede Steuerwortkombination in jeder Verzweigungsgruppe erforderlich sein. Somit ist es also erwünscht, daß bei der Entwicklung der Steuer-
PO 973 040
G0981 S/0832
Schaltungen für den Steuerspeicher eine vollständige Flexibilität in der Auswahl der Steuerworte zur Verfügung steht, so daß jedes beliebige Mikroprogramm jede Verzweigungsauswahl in jeder Untergruppe von Worten in einer Verzweigungsgruppe durchführen kann. Hat eine Verzweigungsgruppe vier Steuerworte, dann gibt es bis zu 256 Kombinationen von Verzweigungen für die vier Steuerwort-Speicherpositionen, wenn man alle bool1sehen Beziehungen für das Auswahlverfahren zuläßt.
Es ist dabei möglich, eine große Anzahl von besonderen logischen Schaltkreisen vorzusehen, die in der tatsächlich ausgeführten Schaltung alle diese logischen bool·sehen Kombinationen unterstützt (z.B, 255 logische Schaltkreise).
Ist eine vollständige Flexibilität der Auswahl nicht zulässig, dann besteht die Wahrscheinlichkeit, daß einige Steuerworte mehrfach vorhanden sind. Das hat zur Folge, daß ein wesentlich größerer Steuerspeicher benötigt wird, wodurch nicht nur die Kosten erhöht, sondern auch die Zugriffszeit heraufgesetzt wird. Wenn also der Speicherraum für den Steuerspeicher beispielsweise durch konstruktive Gesichtspunkte, durch Kosten oder durch die Leistung der Maschine begrenzt ist, kann jeder unnötigerweise für ein Mikrobefehlssteuerwort belegte Speicherplatz von Bedeutung sein. Beispielsweise wurde beim Entwurf eines bekannten Systems, bei dem 2816 Mikrobefehle von jeweils 90 Bit Länge erforderlich waren, wobei jedes dieser Steuerworte gemäß dem Zustand von zwei unabhängig sich verändernden Maschinenstatus-Steuersignalen ausgewählt wurde (d.h, zur Unterstützung von bis zu vierfach bedingter Verzweigung), festgestellt, daß fast der gesamte für die Steuerspeichermatrix geplante Speicherraura zur Darstellung der unmittelbar erforderlichen Befehle und der BefehlsunterStützung benötigt wurden, so daß die noch übrigen Speicherplätze die für solche Reservespeicherplätze geforderten Bedingungen nicht mehr erfüllen konnten. Bei einer genaueren Untersuchung fand man, daß mehr als 100 Steuerworte überflüssig waren,
PO 973 040
6098 15/0832
Eine allgemeine Diskussion über das Verfahren zur Darstellung eines Mikroprogramm-Steuerspeichers findet sich in einem Aufsatz von S. G, Tucker mit dem Titel "Microprogramm Control For System/360" in dem IBM Systems Journal, Band 6, Nr. 4, 1967 auf den Seiten 222 bis 241. In diesem Aufsatz sind Verfahren der SteuerSpeicheradressierung, das Mikrobefehlsformat und Verfahren zur Decodierung von Steuerworten und zur Auswahl von Verzweigungen beschrieben.
Weiteren Stand der Technik findet man in der Deutschen Patentanmeldung P 14 99 722 mit dem Titel "Einrichtung zur Modifizierung von Informationswörtern" und in der Deutschen Patentanmeldung P 23 63 100,7 mit dem Titel "Mikroprogrammsteuerung", Ferner findet man einschlägigen Stand der Technik der Deutschen Patentanmeldung P 12 62 641,4 mit dem Titel "Mikroprogrammsteuerwerk mit VerzweigungssteuerungsSignalumwertung",
In den Deutschen Patentanmeldungen P 23 63 100,7 und P 14 99 werden ganz allgemein die Grundlagen für die Mikroprogrammsteuerung beschrieben. Die Deutsche Patentanmeldung P 12 62 641.4 befaßt sich mit dem gleichen Problem wie die vorliegende Erfindung, beschreibt jedoch eine andere Lösung dieses Problems, Die Deutsche Patentanmeldung P 12 62 641,4 beschreibt dabei eine Umsetzerschaltung (einen Verzweigungsbitumsetzer) zwischen dem Maschinenstatussignalgenerator und dem Wortauswahldecodierer, In der vorliegenden Erfindung werden solche besonderen Umsetzerschaltungen nicht benutzt, vielmehr liefert die Erfindung eine allgemeine Lösung derart, daß ein Bitmusterregister vorgesehen wird, das durch ein besonderes Feld im Steuerspeicher-Datenregister geladen werden kann und schafft eine neuartige Wortauswahl-Decodierschaltung zur Erzeugung eines Steuerwort-Auswahlsignals dadurch, daß das eingespeicherte Bitmuster die Umsetzung der Maschinenstatussignale bei der Erzeugung der Steuerwortauswahlsignale steuert. Die Verwendung eines Bitmusterre-
PO 973 040
609815/0832
gisters gibt eine verbesserte praktische Lösung, wie man bei tier Auswahl von Steuerworten auf wirtschaftliche Weise eine hohe Flexibilität erzielen kann.
Durch die Erfindung wird ein neuer Weg aufgezeigt, wie sich eine hohe Flexibilität bei der Auswahl von Steuerworten erzielen läßt, wobei dieser Lösungsweg wirtschaftlicher und technisch überzeugender ist, als besondere ümsetzerschaltungen gemäß dem Stande der Technik, Die vollständige Flexibilität der Auswahl beim Zugriff zum Steuerspeicher macht es beim Entwurf von Mikrocodes möglich, jegliche Wiederholung von Steuerworten dann zu vermeiden, wenn man in dem Steuerspeicher irgendeine Verzweigungsgruppe finden kann, die das durch die Mikroprogrammverzweigung benötigte Steusrworj. antixältf unabhängig von der Position der benötigten Steuerworte in der Verzweigungsgruppe,
Su diesem Zweck soll insbesondere eine Steuerschaltung für den Steuerspeicher geschaffen werden, mit deren Hilfe jedes Steuer-">?ort willkürlich und beliebig zu jeder Zeit durch unterschiedliche und nicht miteinander in Beziehung stehende Mikroprogramme oder Mikroroutinen in dem System benutzt werden kann, ohne daß dabei ein solches Steuerwort in einer Verzweigungsgruppe mehrfach vorhanden sein muß, Somit kann also eine aufrufende Mikrocodefolge völlig unabhängig und beliebig einen für ein anderes Mikroprogramm geschriebenen Mikrocode mit benutzen und abrufen. Daraus kann man beträchliche Einsparungen in der :iTür ein System erforderlichen Anzahl von Steuerworten ableiten. Ferner soll es durch die Erfindung möglich sein, daß der gleiche Mikrocode durch einen Aufruf über verschiedene Mikrocodefolgen in unterschiedlicher Weise eingesetzt werden kann. Beispielsweise kann eine aufgerufene Mikroroutine eine 24 Bit Fest-Komma-Addieroperation durchführen, bei der sie einen überlauf über die 24. Bitposition anzeigt. Andererseits kann die gleiche Mikroroutine mit einer Umsetzung zur Durchführung einer 32 Bit Fest-Komma-Addieroperation eingesetzt werden, die nunmehr einen Oberlauf jenseits der 32, Bitposition
PO 973 Ο4·-
609815/0832
anzeigt. Insbesondere soll bei der Steuerung des SteuerSpeichers ein Verzweigungsadreß-Umsetzregister (BAXR) eingesetzt werden, das jede bool'sche Verzweigungsbeziehung in den Maschinenstatussignalen dazu benutzen kann, eine Auswahl aus jeder Kombination von Steuerworten in einer einzigen adressierten Gruppe in dem SteuerSpeicher dadurch vorzunehmen, daß das BAXR-Register mit den Bitmustern früherer Steuerworte geladen wird.
Vorzugsweise soll erreicht werden, daß die Flexibilität in der Auswahl von Steuerworten in Verzweigungsgruppen in einem Steuerspeicher möglich ist, ohne daß die entsprechenden Schaltkreise eine vorgegebene Funktion aufweisen, die bereits beim Entwurf vorherbestimmt sein muß.
Daher soll durch die Erfindung vor allen Dingen eine vollständige Flexibilität bei der Wortauswahl in irgendeiner Steuerwortgruppe in dem Steuerspeicher erzielbar sein.
Dies soll durch die Erfindung etwa in der Weise vor sich gehen, daß ein Verzweigungs-Adreß-Umsetzregister (BAXR)r das durch ein laufendes oder vorherbenutztes Steuerwortfeld geladen ist, zusammen mit einer Wortselektionsschaltung eingesetzt wird, um das Ausgangssignal des BAXR-Registers mit den Maschinenstatussignalen in der Weise zu kombinieren, daß daraus ein Wortauswahlsignal in der gerade adressierten Verzweigungsgruppe wird. Außerdem wird ein Schalter vorgesehen, so daß jedes gerade benutzte Steuerwort den Ausgang des BAXR sperren und ohne Umsetzung bei der Auswahl des nächsten Steuerwortes arbeiten kann. Auf diese Weise erhält man bei der Auswahl einer Mikrocodeverzweigung eine vollständige Flexibilität in der Adressierung.
Die für die Unterstützung einer vollständigen Flexibilität er-
N forderliche Größe eines BAXR-Registers beträgt N2 Bitpositionen, wobei N die Anzahl der für die Verzweigungsauswahloperationen bei der Auswahl des nächsten Steuerwortes erforderlichen Maschinenstatussignale ist. Zwei Maschinenstatussignale (bis zu
PO 973 O40
609815/0832
einer Vierwegverzweigurig) benötigt daher ein BAXR-Register mit 8 Bitpositionen, womit dann insgesamt 256 bool'sche Umsetzkombinationen für ein© solche Verzweigung für eine vollständige Flexibilität geschaffen werden. Drei Maschinenstatussignale, durch die bis zu einer achtfachen Verzweigung möglich ist, benötigt zur Unterstützung der vollständigen Flexibilität bei Verzweigungen ein BAXR-Register mit 24 Bitpositionen.
Die Erfindung wird nunmehr anhand von Ausführungsbeispielen in Verbindung mit den beigefügten Zeichnungen näher beschrieben. Die unter Schutz zu stellenden Merkmale der Erfindung sind in den ebenfalls beigefügten Patentansprüchen im einzelnen angegeben,
In den Zeichnungen zeigt;
Fig, 1A + 1B eine Anordnung für eine Steuerspeicher~Ver-
zweigungsauswahl gemäß der Erfindung;
Fig, 2 ein Schaltbild eines Wortauswahldecodierers
zur Verwendung in der in Fig, 1B gezeigten Anordnung j
Fig, 3 eine Darstellung der Arbeitsweise der in Fig,
1B dargestellten Ausführungsforra bei der Auswahl eines Steuerwortes aus einer Verzweigungsgruppe von in dem Steuerspeicher angesteuerten oder adressierten Steuerwort-Speicherplätzen;
Fig. 4A ein Beispiel einer Steuerwortauswahl gemäß
einem früheren Steuerspeicher-Steuersystem;
Fig, 4B die verbesserte Arbeitsweise, die sich entwe-
durch verbesserte Schaltkreise oder mit der Erfinndung erzielen läßt,
PO 973 04 0
80981 5/0832
Fig, 4C eine BAXR-Bitmuster zur Darstellung der vereinfachten Auswahl von Steuerworten ohne doppelt vorhandene Steuerworte;
Fign, 5A, B + C ein weiteres Beispiel, wie durch die Erfindung
die mehrfache Abspeicherung einzelner Steuerworte in einem Steuerspeicher dadurch umgangen werden kann, daß zwei voneinander unabhängige Mikroprogramme die gleichen beiden Steuerworte auswählen können, wenn ihre Auswahl voneinander unabhängig auf verschiedenen Maschinenstatussignalkombinationen beruht und
Fig. 6 eine Ausführungsform der Erfindung, bei der
jedes nächste Steuerwort in Verzweigungsgruppen mit je acht Steuerworten dadurch auswählt, daß drei Maschinenstatussignale A, B und C verwendet werden.
Fig, 1A zeigt eine bevorzugte Ausführungsform der Erfindung, in der zwischen dem Ausgang eines Steuerspeicher-Datenregisters (CSDR) 12 und dem Eingang eines der Wortauswahl dienenden Decodierers 13 ein Verzweigungsadreß-ümsetzregister CBAXR) 11 und ein BAXR-Schaltkreis 14 eingeschaltet ist. Der Decodierer 13 weist Ausgangsleitungen XO, Xl, X2 und X3 auf, über die Eingangssignale an die Steuerwort-Torschaltungen 15 zur Auswahl des nächsten Steuerwortes in einer Verzweigungsgruppe von vier Steuerworten WO, W1, W2 und W3 abgegeben wird, die gerade in einem Steuerspeicher 21 angesteuert werden.
Dem Decodierer 13 werden außerdem ausgewählte Maschinenstatussignale A und B zugeleitet, die von den logischen Schaltkreisen 16 und 17 für den Maschinenstatusmikrocode kommen. Die Signale A und B werden aus einer Kombination von Maschinenzustands Signalen a bis s ausgewählt, die durch logische Schaltkreise de-
PO 973 040
609815/0832
— Il ■
codiert werden, so daß aus den MaschinenzζstandsSignalen gesonderte Machinenstatussignale Ä und B gebildet werden, wie dies bereits bekannt ist. Mit zwei Maschinenstatussignalen A und B läßt sich bei der Auswahl eines nächsten Steuerwortes in vier Steuerwortpositionen in einer gerade adressierten Verzweigungsgruppe in einem Steuerspeicher eine Vierfachverzweigung durchführen, da die beiden Signale A und B in vierfacher Weise kombiniert werden können, nämlich AB, AB, AB* und AB, Bei einem bestimmten, gerade benutzten Steuerwort ist die für die Bestimmung des nächsten Steuerwortes erforderliche Verzweigung jedoch oft auf eine Untergruppe von weniger als vier Steuerworten in der Verzweigungsgruppe entsprechend den Verzweigungsmöglichkeiten in äem Mikroprogramm beschränkt. Beispielsweise kann ein gerade benutztes Steuerwort nur zwei Verzweigungsmöglichkeiten geben, die entweder durch den Maschinenstatus AB bzw, AB* bestimmt sind«
Zwischen dem BAXR-Register 11 und dem BAXR-Schaltkreis 14 liegt der Decodierer 13 und hat die Aufgabe, den Speicherinhalt des E'tXR-Registers 11 bei der Wortselektionsoperation des Decodierers 13 von und nach dem Register durchzuschalten. Das BAXR-Register 11 wird in die Steuerwort-Äuswahloperation dadurch eingeschaltet, daß in einem mit "Benutzen BAXR" bezeichneten Feld 12A im CSDR 12 ein 1-Bit eingespeichert ist. Wenn der Inhalt des BAXR-Registers 11 durchgeschaltet wird, dann wird das Ausgangssignal des Decodierers 13 durch auf den beiden Leitungen A und B auftretende Maschinenstatussignale und durch das Bitauster im BAXR 11 ausgewählt.
Ein im Feld 12A enthaltendes Nullbit schaltet das BAXR-Register 11 aus der Steuerspeicheroperation aus, worauf das Ausgangssignal des Decodierers 13 nur als Ergebnis der auf den Maschinenstatusleitungen A, B auftretenden Signale ohne Berücksichtigung des im BAXR 11 eingespeicherten Bitmusters ausgewählt wird.
Der Steuerspeicher besteht aus sehr schnellen, bistabilen Kipp-PO 973 04C
60981 5/0832
Schaltungen in einer Speicheranordnung üblicher Bauart. Wenn am Steuerspeicher-Adressendecodierer 22 vom Feld 12S im CSDR 12 die Signale für die nächste Verzweigungsgruppenadresse (NA) ankommen, dann werden nach Decodierung im Steuerspeicher gleichzeitig vier Worte WO bis W3 angesteuert. Am Ort der decodierten Adresse im Steuerspeicher 21 werden also die vier Worte WO, W1, W2 und W3 gleichzeitig erregt und werden an die entsprechenden Steuerwort-Torschaltungen 15 abgegeben. Die Steuerwort-Tor schaltungen 15 nehmen außerdem Signale auf, die vom Decodierer 13 über die Auswahlleitungen XO bis X3 ankommen. Der Decodierer 13 betätigt immer nur eine und nur eine der Leitungen XO, X1, X2 oder X3, so daß nur eine der Steuerwort-Torschaltungen 15 in Abhängigkeit von dem vom CSDR 12 kommenden Signal für die nächste Verzweigungsgruppenadresse betätigt wird. Damit wird aber nur das eine ausgewählte der Worte WO bis W3 (das ist das Ergebnis der Verzweigungsoperation) auf eine Sammelleitung 26 abgegeben und über diese Leitung in den CSDR 12 geladen. Gegen Ende des Steuerwortzyklus wird CSDR 12 durch einen Taktimpuls geladen.
Fig. 1B zeigt diese Anordnung im einzelnen. Das gleichzeitig mit dem Taktimpuls 2 (CP2) in den CSDR 12 geladenen nächste Steuerwort wird dem Eingangstor von CSDR 12 zugeleitet. Dieses neu zugeführte Steuerwort wird damit zum laufenden Steuerwort für den Beginn eines neuen Steuerwortzyklus. Dessen Feld 12F wird nunmehr an den Steuerspeicher-Adressendecodierer 22 für einen Zugriff zu einer Verzweigungsgruppe im Steuerspeicher 21 übertragen, aus dem das nächste Steuerwort ausgewählt werden soll. Auf diese Weise wird jedes ausgewählte Steuerwort nach CSDR geladen und wird damit zyklisch zu dem laufenden Steuerwort, das die nächste Adresse für die Einleitung eines Zugriffs zur nächsten Verzweigungsgruppe enthält.
Das Steuerspeicher-Datenregister 12 ist von üblicher Bauart, mit Ausnahme der neuen Felder 12A, 12B und 12C, Das Feld 12C ist ein besonderes Feld, das die Umsetzbitmuster enthalten kann,
PO 973 040
609815/0832
die in das BAXR 11 übertragen werden können. Das Feld 12B bestimmt, ob der Inhalt des Feldes 12C in das BAXR 11 geladen wird. Wie bereits erwähnt, kann im Feld 12A ein einziges Bit liegen. Dieses Feld liefert komplementäre Ausgangssignale, die bestimmen, ob der derzeitige Inhalt des BAXR 11 für das derzeitige Steuerwort für die Auswahl des nächsten Steuerwortes benutzt werden soll oder nicht. Die komplenmentären Ausgangssignale, wie sie für das Feld 12A in Fig. IB dargestellt sind, veranlassen, daß der Inhalt von BAXR 11 bei der Auswahl des nächsten Steuerwortes benutzt wird. D.h., daß eine Umsetzung mit eingeschaltet wird. Wird jedoch das in CSDR liegende Bit im Feld 12A umgekehrt, dann werden die komplementären Ausgangssignale des Feldes 12A ebenfalls umgekehrt, so daß das im BAXR 11 liegende Bitmuster nicht benutzt wird, d.h., daß keine Umsetzung erfolgt, da das im BAXR 11 liegende Bitmuster auf die Auswahl des nächsten Steuerwortes keinen Einfluß hat, unabhängig davon, was der Inhalt des BAXR 11 zu dieser Zeit ist. Dieser Abschaltvorgang bewirkt tatsächlich, daß der Schaltkreis 14 ein Bitmuster 01101100 zwangsweise den Eingängen T8 bis T1 des Decodierers zuführt, wobei 0 eine niedrige Gleichspannung und 1 eine hohe Gleichspannung auf den wahren Ausgängen der entsprechenden UND- und ODER-Glieder in dem Schaltkreis 14 sind.
Das Feld 12B LADEN BAXR kann ebenfalls ein einziges Bit enthalten, daß zur Taktimpulszeit 1 (CP1) die Überleitung des in dem besonderen Feld 12C liegenden Bitmusters nach dem BAXR 11 bewirkt. Ist das Feld 12B LADEN BAXR in seinem Sperrzustand, dann werden die in dem besonderen Feld 12C liegenden Bits nicht in das BAXR 11 geladen und stehen damit anderen Steuerworten in jeder beliebigen Weise zur Verfügung, Wenn also das Bit im Feld 12B LADEN BAXR die übertragung des Bitmusters nach dem BAXR 11 sperrt und das im Feld 12A BENUTZEN BAXR liegende Bit, wie in Fig. 1B gezeigt, aktiviert ist, dann wird der zuvor in das BAXR-Register 11 geladene Speicherinhalt nicht zerstört und wird durch das laufende Steuerwort zur Auswahl des nächsten Steuerworts eingesetzt«
PO 973 040
Es ist allgemein vorzuziehen, das BAXR-Register 11 durch ein vorhergehendes Steuerwort und nicht durch das laufende Steuerwort zu laden, da sich dies aus mit der Taktgabe zusammenhängenden Überlegungen bei der Abarbeitung des laufenden Steuerworts als besser herausgestellt hat.
Die X- und Y-Felder 12D und 12E im CSDR sind übliche Maschinenstatus-Maskenfelder, die bestimmen, welche Maschinenbedingungen bei der Auswahloperation für das laufende Steuerwort benutzt werden sollen (z,B, die Bestimmung der gerade erforderlichen Verzweigung). Das X-FeId kann beispielsweise fünf Bits haben, die zur Bestimmung der Maskierung von bis zu 32 Maschinenbedingungen a bis j codiert sein können und deren Eingabe in die logische Schaltung 16 in üblicher Weise steuern. D.h. die so maskierten Maschinenbedingungen werden als Eingangssignale durch die logische Schaltung 16 bei der Erzeugung von komplementären Ausgangssignalen auf den Leitungen B und B benutzt. In gleicher Weise kann das Feld Y beispielsweise fünf Bitpositionen haben, die, codiert, bis zu 32 verschiedene Maschinenzustände g bis s steuern (von denen einige auch in der Gruppe a bis j enthalten sein können) und die die Eingangssignale für die logische Schaltung 17 steuernf die ähnlich aufgebaut ist, wie die logische Schaltung 16 und die auf den Ausgangsleitungen A und A~ auftretenden komplementären Signale steuern,
Fig. 2A zeigt im einzelnen die Schaltungsanordnung für den Wortauswahldecodierer 13, Dieser besteht aus vier Gruppen von UND-Gliedern 41A-D, 43A-Df 45A-D und 47A-D, Die Ausgangsleitungen jeder dieser Gruppe sind mit einem entsprechenden ODER-Glied 42, 44, 46 und 48 verbunden, an denen die entsprechenden Ausgangsleitungen XO, X1, X2 und X3 angeschlossen sind. Die Arbeitsweise der in Fig, 2 dargestellten Schaltung befriedigt die folgenden bool1sehen logischen Gleichungen»
XO = Ά¥ 7EWZ + AB fWT + AB TOTO + AB T7T8
X1 = ÄT5 TTT2 + Xb* Γ3τ4 + AS tFt6 + ab ΐ7τδ
PC 973 040
609815/0832
X2 = AB T1T2 + AB Τ3ΪΪ + AB T5T6 + AB T7Ti3 X3 = AB T1T2 + AB T3T4 + AB T5T6 + AB T7T8
Die Gruppe der UND-Glieder 41A-D befriedigt den Ausdruck für XO. Die Ausdrücke für X1, X2 und X3 werden durch die entsprechenden Gruppen von UND-Gliedern 43A-D, 45A-D und 47A-D befriedigt.
Die Arbeitsweise des BAXR-Registers 11 bei der Auswahl des ! Steuerwortes durch die Schaltungsanordnung der Fig. 1B soll an- I hand der Fig. 3 erläutert werden. Die im BAXR 11 eingespeicherten Bitpositionen sind in Untergruppen unterteilt, wobei jede Untergruppe eine Anzahl von Bitpositionen gleich der Anzahl voneinander unabhängiger Maschinenstatussignale enthält. Die Anzahl der Untergruppen im BAXR 11 Id.h, die Paare TiT2f T3T4f T5T6f T7T8) entspricht der Anzahl der Kombinationen von Maschienenstatus Signalen A und B (d.h, die vier Kombinationen AB, AB, AB und AB) und jede Untergruppe stellt eine andere Kombination dar. Im BAXR 11 kann jede Untergruppe von Bitpositionen eingestellt werden und liefert dann eine bestimmte MaschinenestatusSignalkombination„ die eine der vier Ausgangsleitungen XO, X1, X2 oder X3 auswählt.
Jeder Schalter 51, 52, 53 und 54 in Fig, 3 entspricht einer Untergruppe Iz.B, Paar) von Bitpositionen im BAXR 11, d,h, T1T2, T3T4, T5T6 bzw, T7T8, Die Schalter 51, 52, 53 und 54 werden voneinander unabhängig zur Darstellung der unabhängigen Stellungen der Untergruppen eingestellt.
Jeder Schalter hat dabei vier Stellungen, die den vier auswählbaren Ausgangsleitungen XO, X1, X2 oder X3 entsprechen. Die Durchschaltung einer der vier eingangsseitig auftretenden Signalkombination, d.h, ħ, AB, AB" und AB nach einer der Ausgangsleitungen XO, X1, X2 oder X3 soll hierbei als Umsetzung der Maschinenstatus signale A und B bezeichnet "werden.
PO 973 040
609815/0832
Die vier Stellungen jedes Schalters stellen alle möglichen wählbaren Ausgangssignalkombinationen für eine Untergruppe von Bitpositionen im BAXR 11 dar, d.h. T1T2 wird durch Schalter 51, T3T4 durch Schalter 52, T5T6 durch Schalter 53 und T7T8 durch Schalter 54 dargestellt.
; Die Stellung des Schalters 51 stellt dabei diejenigen T1T2-Kombinationen dar, die eine der vier Ausgangsleitungen XO, X1 X2 oder X3 auswählen, wenn das Signal A und B gleich 00 1st. Der Schalter 52 stellt diejenigen Kombinationen T3T4 dar, die eine der Ausgangsleitungen XO, X1, X2 oder X3 auswählen, wenn A und B gleich 01 1st. Schalter 53 stellt diejenigen T5T6-Kombinationen dar, die eine der vier Ausgangsleitungen XO, X1 f X2 oder X3 auswählen, wenn A und B gleich 10 ist und Schalter 4 stellt diejenigen T7T8-Kombinationen darf mit deren Hilfe eine der vier Ausgangsleitungen ausgewählt werden kann, wenn A und B gleich 11 ist.
Auf diese Weise stellen die vier Schalter alle möglichen Einstellungen in den acht Bitpositionen von BAXR 11 dar zur Darstellung einer von 256 möglichen Kombinationen.
Damit stellt die Stellung der vier Schalter 51, 52, 53 und 54 in Fig. 3 das im BAXR 11 enthaltene Bitmuster dar. (Das Bitmuster war zuvor aus dem besonderen Feld 12C in CSDR 12 im laufenden oder in einem zuvor eingespeicherten Steuerwort geladen worden.) Die in Fig. 3 dargestellten SchalterStellungen stellen das Bitmuster 10, 11, 00 und 01 in den BAXR-Bitpositionen T1T2, T3T4, T5T6 bzw, T7T8 dar, welches Beispiels in der Umsetzung AB (d.h. 00) auf X2, AB (d.h. 01) auf X3, AB (d.h. 10) auf XO und AB (d.h. 11) auf X1 umsetzt. Daher wird nach einer bestimmten Einstellung der vier Schalter die Auswahloperation durch die laufenden Maschinenstatussignale A und B bestimmt, die eines der UND-Glieder 56, 57, 58 oder 59 einschalten und damit die Wortauswahlsignale XO, X1, X2 oder X3 über die gerade vorhandene Einstellung der Schalter 51, 52, 53 und 54 steuern.
PO 973 040
60981B/ü 8 3 2
Fig, 3 stellt äußere!sx eine Abwandlung der in Fig, 1B dargestellten Ausführungsform dar. Die weitere Ausführungsform ergibt für BAXR 11 sechs Bitpositionen, wenn man die Bitposition T1T2 als Untergruppe aus BAXR 11 wegläßt. Diese Auslassung von T1 und T2 wird in Fig. 3 dadurch angedeutet, daß in Fig, 3 der Schalter 51 durch eine fest angeschlossene Leitung 58 ersetzt ist, die vom UND-Glied 56 nach der Leitung XO führt. Dann können nur die verbleibenden Bitpositionsuntergruppen T3T4, T5T6 und T7T8 durch das im BAXR 11 geladene Bitmuster gesteuert werden. Man kann j also die Größe des BAXR 11 dadurch reduzieren, daß man eine ge- ' ringere Flexibilität bei der zur Verfügung stehenden Umsetzung ; in Kauf nimmt. Wenn man beispielsweise zwei Bitpositionen im BAXR 11 wegläßt (indem man es auf ein sechs Bitpositionen-Register durch Entfernen der Untergruppe T1T2 verkleinert), dann nimmt die Anzahl der zur Verfügung stehenden Umsetzkombinationen auf 128 ab. Das hat aber das wünschenswerte Ergebnis, das zum Laden des BAXR 11 in CSDR 12 zur Verfügung stehende Feld zu verkleinern, da die Anzahl der in den Steuerworten zum Laden des BAXR benötigten Bitpositionen in dem besonderem Feld 12C nunmehr 6 Bits beträgt, anstelle von 8 Bits zum Laden eines 8-Bitt BAXR, Bei einigen Maschinen kann wegen einer vorher festgelegten Größe eines Steuerworts dieser Austausch einer verringerten Anzahl von BAXR-Bitpositionen gegen eine verringerte Flexibilität in der Umsetzung erforderlich sein, solange nur eine ausreichende Flexibilität für die Befriedigung aller oder der meisten von der Maschine geforderten Umsetzmöglichkeiten verbleibt. Beim Entwurf eines Mikrocodes können sich aus einer Verringerung der Speicherkapazität des BAXR 11 um zwei Bits nicht notwendigerweise wesentliche Einschränkungen ergeben, wenn dabei die Verwendung der unveränderlichen Steuerwortposition in jeder Verzweigung sgruppe besonders eingeplant wird, damit man die Flexibilität der Auswahl unter den verbleibenden Steuerwortbitpositionen mit Vorteil auszunutzen vermag.
Man kann also demgemä£ die. Umsetzflexibilät beeinflußbar dadurch herabsetzenf daß man ©ine oder mehrere Untergruppen von Bitposi-
PO 973 040
60981b / U 8 3 2
tionen des Steuerworts, die in das CSDR 12 geladen werden sollen, wegläßt. Man kann dann natürlich aus das BAXR 11 entsprechend kleiner machen.
Die vorliegende Erfindung läßt sich auf vielfach verschiedene Weise für einen wirkungsvolleren Einsatz der Speicherplätze für die Steuerworte im Steuerspeicher benutzen, unabhängig davon, ob diese Wortpositionen in jeder Verzweigungsgruppe in der gleichen oder in verschiedenen Mikrocoderoutinen eingesetzt werden. Anschließend sollen einige Beispiele dafür gegeben werden, welch höherer Wirkungsgrad beim Einsatz des Steuerspeichers durch die Erfindung möglich ist, da die sich ergebende Verbesserung in der Flexibilität der Speicherung von Steuerworten bis jetzt nicht ohne weiteres klar geworden sein muß.
Die folgenden einfachen Beispiele mit Zweifachverzweigung sollen darlegen, wie die Erfindung im Zusammenhang mit einem Mikrocode dazu benutzt werden kann, eine mehrfache Abspeicherung von Steuerworten im Steuerspeicher zu vermeiden. In einem Beispiel ergibt die Abarbeitung eines bestimmten Steuerwortes eine Exclusiv-ODER-Verknüpfung für die Signale A und B, d.h. man erhält (AB + SB) oder iJB + AB), Das erste Ergebnis dient der Auswahl eines Steuerwortes CWO während das zweite Ergebnis zur Auswahl des Steuerwortes CW1 benutzt wird. Fig, 4A zeigt die Arbeitsweise mit üblichen Steuerspeichern für eine Exclusiv-ODER-Verknüpfung, bei der alle vier Steuerwortpositionen in einer Steuergruppe benutzt werden müssen, D,h, das Steuerwort CWO ist in den Positionen ί und 2 und das Steuerwort CW1 in den Positionen 0 und 3 eingespeichert. D.h. aber, daß jedes Steuerwort in der Verzweigungsgruppe zweifach vorhanden ist, Da-. mit liefert die erste Exclusiv-ODER-Verknüpfung entweder Position 1 oder Position 2, während die zweite Exclusiv-ODER-Verknüpfung entweder Position 0 oder Position 3 auswählt. Man kann diese Doppelspeicherung eines Steuerwortes für diese bestimmte Exclusiv-ODER-Verknüpfung dadurch umgehen, daß man besondere logische Schaltkreise 81, die in Fig. 4B angedeutet sind, vorsieht,
PO 973 040
809815/0832
*■* τ y —
die das Auftreten dieser Exclusiv-ODER-Verknüpfung erkennt und dann die Leitung AB und die Leitung AB nach der Position 0 zur Auswahl des Steuerwortes 1 durchschaltet, und die Leitung AB und die Leitung AB nach der Position 1 zur Auswahl von CWO durchschaltet. Eine solche spezielle Schaltungseinheit ist auschließlich auf das Erkennen einer bestimmten Exclusiv-ODER-Verknüpfung ; der Signale A und B eingerichtet und wäre genau eine von einer < großen Anzahl von besonderen Schaltkreisen, die zum Erkennen ■ anderer bestimmter logischer Kombinationen der Signale A und B für eine Durchschaltung der Eingangsleitungen nach den Aus- ; gangen des Steuerspeichers für die erforderlichen Auswählvorgänge nötig wären. Dadurch würde man aber zu einem sehr auf- ; wendigen Auswahlsystem für den Steuerspeicher kommen, was jedoch durch die Erfindung dadurch vermieden wird, daß man für dieses Problem eine wesentlich wirtschaftlichere Lösung des Problems liefert, bei der eine Doppelabspeicherung von Steuerworten im Steuerspeicher vermieden werden kann.
Durch die Erfindung ist die gleiche Exclusiv-ODER-Verknüpfung ohne Doppelspeicherung von Steuerworten und ohne zusätzliche elektrische Schaltkreise durchführbar. Das BAXR-Register kann bei allen logischen Operationen, die Maschinenstatussignale' betreffenf unabhängig von ihrer Komplexität eingesetzt werden. Für diese bestimmte Exclusiv-ODER-Verknüpfung wird ein BAXR-Register lediglich mit dem in Fig, 4C gezeigten Bitmuster geladen. Der Maschinenstatus AB oder AB (d.h. 01 oder 10) veranlaßt automatisch den Decodierer 13, CWO in der Position 1 (d.h. X1) auszuwählen und der Maschinenstatus AB oder AB (d.h. 00 oder 11) veranlaßt automatisch den Decodierer 13 das Steuerwort CW1 in Position 0 (d,h. XO) auszuwählen. Damit stehen aber die Steuerwortpositionen 2 und 3 für eine Benutzung durch andere Steuerworte zur Verfügung, die sich in gleichen oder in anderen Mikroprogrammen befinden können.
Ein weiteres einfaches Beispiel, wie durch die Erfindung die Doppelabspeicherung von Steuerworten vermieden werden kann, wie
PO 973 040
609815/0832
sie bei früheren Steuerungen für Steuerwörter vorkamen, ist in Fig. 5A gezeigt, wo zwei voneinander unabhängige Mikropro- ' gramme 1 und 2 dargestellt sind. Das Steuerwort CW(f) im Mi- , kroprogramm 1 und das Steuerwort CW(p) im Mikroprogramm 2 wählen jeweils ein nächstes Steuerwort aus den beiden wahlweise zur Verfügung stehenden Steuerworten CW1 oder CW2 aus. CW(p) und CW(f) verwenden jedoch für die Durchführung dieser Auswahl unterschiedliche Maschinenstatuswörter« CW(f) verwendet beispielsweise den Maschinenstatus A (d.h. der Maschinenstatus B interessiert hier nicht) für eine Auswahl von CW1, während CW(p) CW1 über den komplementären Maschinenstatus A auswählt« D.h. CW(f) und CW(p) treffen eine Auswahl zwischen den beiden Steuerworten CW1 und CW2, wenden dabei jedoch die Maschinenstatussignale A und Ä in verschiedener Weise an. Bei in üblicher Weise aufgebauten Steuerspeichersteuerungen sind doppelt vorhandene Steuerworte CW1 und CW2 in Verzweigungsgruppenpositionen X2 und X3 nur ansteuerbar durch CW(p) als Funktion von A oder A, während CW (f) nur eine Auswahl treffen kann zwischen CW1 und CW2 in den Positionen XO und X1 als Funktion des Maschinenstatus A oder A,
Durch die Erfindung ist es nunmehr in einfacher Weise möglich, die doppelte Abspeicherung der Steuerworte in den Positionen X2 und X3 zu beseitigen f so daß diese Positionen für eine andere Verwendung zur Verfügung stehen. Dies wird dadurch erreicht, daß man das.BAXR 11 vor der Auswahl eines Steuerwortes durch CW(f) im Mikroprogramm 1 mit dem in Fig. 5B gezeigten Bitmuster lädt und indem man BAXR 11 vor der Auswahl eines Steuerwortes CW durch CW(p) im Mikroprogramm 2 mit dem in Fig. 5C gezeigten Bitmuster lädt. Das im BAXR 11 geladene Bitmuster gemäß Fig. 5C erzielt damit eine umgekehrte Auswahl von CW1 und CW2 im Vergleich mit der Auswahl durch das in Fig. 5B dargestellte Bitmuster und in Abhängigkeit von den umgekehrten Bedingungen für den Maschinenstatus A« Daher werden die Positionen X2 und X3 weder von CW(f) oder CW(p) benutzt. Damit gestatten die in Fig. 5B und Fig. 5C dargestellten Zweibitmuster der verschiede-
PO 973 040
60981 5/0 832
denen Mikroprogramme eine Auswahl zwischen CW1 und CW2 in den Positionen XO und X1 auf unterschiedliche Weise,
Zwei Mikrocodefoigen können daher bei Anwendung der Erfindung bei den gleichen Mikrobefehlen zusammenlaufen, obgleich die Mikrobefehle (d.h. die Steuerworte} durch die beiden Mikrocodefoigen über verschiedene Maschinenstatussignale ausgewählt werden« Die Mikroroutine 1 muß beispielsweise eine Zweifachverzweigung ausführen, wenn die zugehörigen Maschinenstatussignale OG (d.h. AB) oder 01 (d.h. AB) sind, um eine Auswahl zwischen zwei in der nächst adressierten Verzweigungsgruppe liegenden Steuerworten zu treffen» Dxe Mikroroutine 2 fordert jedoch eine Sweiwegverzweigung, wenn die Maschinenstatussignale 10 (d.h. AB~) oder 11 (d,h, AB) sind. Ohne die Verwendung des BAXR-Registers steuert die normale Mikrocodesteuerung die zweifach vorgesehenen Steuerworte in den Positionen XO, X1 für die Mikroroutine 1 und in Positionen X2 und X3 für die Mikroroutine 2. Gemäß der Erfindung ist jedoch das BAXR-Register in T1 bis T8 mit dem Bitmuster 00010001 geladen, so daß bei beiden Routinen eine Auswahl zwischen den gleichen beiden Steuerworten in den Positionen XO und X1 durchgeführt wirdf so daß die Positionen X3 und X4 nicht benutzt und für andere Verwendung freigehalten werden.
Obgleich die hier im einzelnen beschriebene Ausführungsform der Erfindung zwei Maschinenstatussignale A und B für die Auswahl jedes nächsten Steuerwortes in einer Verzweigungsgruppe mit vier Steuerworten benutzt, so ist doch ohne weiteres verständlich, daß die Erfindung auch auf ein System anwendbar ist, das mit drei oder mehr Maschinenstatussignalen für die Auswahl einer Verzweigungsgruppe einsetzbar ist, die eine Anzahl von Steuerworten enthält. Beispielsweise könnte man drei Maschinenstatussignale A, B und C für die Auswahl des nächsten Steuerwortes in Verzweigungsgruppen mit fünf bis acht Steuerworten benutzen, Fig. 6 zeigt eine Ausführungsform mit Verzweigungsgruppen mit acht Steuerwortpositionen, die durch die Ausgangsleitungen XO
PO 973 040
8098 15/0832
bis X7 angedeutet sind und benutzt drei Maschinenstatussignale, die durch die Eingangssignale A, B und C und ihre Komplemente Ä", B und C gegeben sind, so daß sich acht Eingangssignalkombinationen ergeben, die durch acht UND-Glieder 71-78 in Fig, 6 dargestellt sind, die mit acht Schaltern 81 bis 88 mit je acht Positionen verbunden sind, an denen jeweils acht Ausgangsleitungen XO bis X7 angeschlossen sind. Die in Fig. 6 gezeigte Anordnung liefert eine Umsetzung aller möglicher Bitmuster für die drei Maschinenstatussignale durch das BAXR. Das BAXR hat dann acht Untergruppen mit jeweils drei Bitpositionen (da es drei voneinander unabhängige Maschinenstatussignale gibt), d.h. also insgesamt 25 Bitpositionen (d.h. 8x3= 24), damit alle möglichen Umsetzkombinationen durchgeführt werden kann. Die verallgemeinerte Beziehung zwischen der Anzahl von Bitpositionen T im BAXR-Register und der Anzahl von Maschinenstatus Signalen
N ist T = N2 , um alle Möglichkeiten einer Umsetzung berücksichtigen zu können.
PO 973 040
B09815/Ü832

Claims (1)

  1. 2536522
    PATENTANSPRÜCHE
    /TI) Steuerspeicherschaltung mit in einem Steuerspeicher eingespeicherten, aus Steuerworten bestehenden Verzweigungsgruppen und einem Steuerspeicher-Datenregister, das ein laufendes Steuerwort mit der Adresse der nächsten aufzurufenden Verzweigungsgruppe enthält sowie mit einer Maschinenstatus-Signalschaltung, die die Maschinenstatussignale für die Auswahl einer Steuerwortposition in der im Steuerspeicher aufgerufenen Verzweigungsgruppe liefert, dadurch gekennzeichnet, daß ein ümsetzregister (11) für axe Verzweigungsadresse über eine Torschaltung mit einem besonderen Feld (12B) im Steuerspeicher-Datenregister
    (12) verbunden ist,
    daß ferner ein der Steuerwort-Auswahl dienender Decodierer
    (13) eingangsseitig mit der Maschinenstatus-Signalschaltung (16, 17) verbunden ist und
    daß das Umsetzregister (11, BAXR) ausgangsseitig über
    einen Schaltkreis (14) an andere Eingänge des Decodierers (13) anschaltbar ist, so daß der Decodierer (13) in Abhängigkeit von einem Maschinenstatussignal (A, B) und
    einem in dem ümsetzregister (11, BAXR) eingespeicherten Bitmuster (Fig, 5B, Fig, 5C) eine aus einer Anzahl von
    Steuerwort-Auswahlleitungen (XO, X1) betätigt.
    2, Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß
    das ümsetzregister (11) eine Anzahl von Untergruppen von Bitpositionen (00, 01) gespeichert hält, wobei jede der Untergruppen aus einer Anzahl (N) von Bitpositionen besteht, die gleich groß ist, wie die Anzahl (N) voneinander unabhängiger Maschinenstatussignale (A, B,,,N),
    PO 973 04C
    609815/0832
    Anordnung nach Anspruch 2, dadurch gekennzeichnet/ daß die Anzahl der in dem ümsetzregister (11) gespeicherten
    Untergruppen gleich 2 ist, und daß dann eine vollständige Flexibilität bei der Umsetzung und Auswahl der Ausgangs leitungen (XO1 X1...) erzielbar ist, wenn die Anzahl
    N
    der Untergruppen gleich N2 ist.
    Anordnung nach Anspruch 2, dadurch gekennzeichnet, daß die Anzahl der in dem Umsetzregister (11) gespeicherten
    Untergruppen weniger als 2 beträgt, so daß weniger Bitpositionen eines Steuerwortes zum Laden des Umsetzregisters benutzt werden, was durch eine nicht vollständige Flexibilität bei der Umsetzung und Auswahl der Ausgangsleitungen (XO f X1,.,) erkauft wird.
    Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Eingangstorschaltung des Umsetzregisters (11) über ein besonderes Feld (12B) des Steuerspeicher-Datenregisters (12) zum Laden des Speicherinhalts dieses Feldes (12B) in das Umsetzregister (11) entsperrbar ist.
    Anordnung nach Anspruch 1f dadurch gekennzeichnet f daß der Schaltkreis (14) dem Durchschalten oder Sperren der vom Umsetzregister (11) kommenden, nach den Steuerwort-Tors chaltungen (15) übertragenen Auswahlsignale dient, und daß ein zweiter Eingang des Schaltkreises (14) mit einem weiteren Feld (12A) des Steuerspeicher-Datenregisters verbunden ist, dessen Registerinhalt den Schaltzustand des Schaltkreises (14) steuert,
    Anordnung nach Anspruch 6, dadurch gekennzeichnet, daß der Schaltkreis (14) aus einer Anzahl UND-Glieder und einer Anzahl ODER-Glieder besteht, deren Ausgänge mit den entsprechenden Eingängen des Decodierers (13) verbunden sind,
    daß am Steuereingang des Schaltkreises (14) zwei komple-
    PO 973 040
    60981 8/Ü832
    mentäre Ausgänge des weiteren Feldes (12A) mit jeweils einem Eingang der UND- und ODER-Glieder verbunden sind, während die anderen Eingänge der UND- und ODER-Glieder mit den entsprechenden Bitpositionen (T1-T8) des Umsetzregisters (11) verbunden sind, wodurch der Schaltkreis (14) ein vorbestimmtes, an den Decodierer zu übertragendes Bitmuster erzeugt, und
    daß je nach der durch das weitere Feld (12A) gesteuerten Schaltsteilung des Schaltkreises (14) dieses Bitmuster
    j an den Decodierer übertragen oder diese übertragung gesperrt wird.
    j 8. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß . der Decodierer (13) aus mehreren Gruppen von UND-Gliedern (41A-Df 43A-B, 45A-Df 47A-D) besteht, wobei die Anzahl dieser Gruppen gleich oder kleiner ist als die Anzahl der Steuerwortpositionen in einer Verzweigungsgruppe, daß ferner mehrere ODER-Glieder (42, 44, 46, 48) vorgesehen sind, die eingangsseitig gruppenweise mit den Ausgängen der UND-Glieder verbunden sind und ausgangsseitig Wort-Auswahlsignale zur Auswahl von Steuerwortpositionen in den aufgerufenen Verzweigungsgruppen liefern, daß ar. den Eingängen der UND-Glieder die verschiedenen möglichen Varianten entsprechender Untergruppen der Ausgangssignale des Umsetzregisters (T1, T1 bis T8, T8) und verschiedene Kombinationen des Maschinenstatussignals (AB) anliegen, und
    daß dabei die Anzahl der Bitpositionen einer Untergruppe sich aus der Anzahl der Bitpositionen im Umsetzregister (11), geteilt durch die Anzahl der voneinander unabhängigen Maschinenstatussignale (A, B) ergibt.
    PO 973 040
    609815/0832
    9. Anordnung nach Anspruch 8, dadurch gekennzeichnet, da< eine Anzahl Steuerwort-Torschaltungen (15) vorgesehen] ist, deren Eingänge einerseits mit den Steuerwort-Aua< gangen (W0-W3) des SteuerSpeichers (21) verbunden sini und deren Steuereingänge mit den Ausgängen (X0-X3) dejf ODER-Glieder (42, 44, 46, 48) des Decodierers verbunden sind.
    PO 973 040
    609 815/0832
    OPJGiMAL INSPECTED
DE2536622A 1974-09-24 1975-08-16 Verzweigungssteuerung mit flexibler Auswahl von Steuerworten Expired DE2536622C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/508,797 US3958227A (en) 1974-09-24 1974-09-24 Control store system with flexible control word selection

Publications (2)

Publication Number Publication Date
DE2536622A1 true DE2536622A1 (de) 1976-04-08
DE2536622C2 DE2536622C2 (de) 1983-11-03

Family

ID=24024114

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2536622A Expired DE2536622C2 (de) 1974-09-24 1975-08-16 Verzweigungssteuerung mit flexibler Auswahl von Steuerworten

Country Status (5)

Country Link
US (1) US3958227A (de)
JP (1) JPS581466B2 (de)
DE (1) DE2536622C2 (de)
FR (1) FR2286438A1 (de)
GB (1) GB1512222A (de)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4042913A (en) * 1976-04-30 1977-08-16 International Business Machines Corporation Address key register load/store instruction system
US4124893A (en) * 1976-10-18 1978-11-07 Honeywell Information Systems Inc. Microword address branching bit arrangement
US4118773A (en) * 1977-04-01 1978-10-03 Honeywell Information Systems Inc. Microprogram memory bank addressing system
DE2747304C3 (de) * 1977-10-21 1981-03-26 IBM Deutschland GmbH, 70569 Stuttgart Einrichtung zur Mikrobefehlssteuerung
US4181942A (en) * 1978-03-31 1980-01-01 International Business Machines Corporation Program branching method and apparatus
JPS5748139A (en) * 1980-09-04 1982-03-19 Nec Corp Microprogram control device
US4434465A (en) 1981-04-13 1984-02-28 Texas Instruments Incorporated Shared microinstruction states in control ROM addressing for a microcoded single chip microcomputer
US4422144A (en) * 1981-06-01 1983-12-20 International Business Machines Corp. Microinstruction substitution mechanism in a control store
US4531199A (en) * 1981-06-01 1985-07-23 International Business Machines Corporation Binary number substitution mechanism in a control store element
JPS57199050A (en) * 1981-06-01 1982-12-06 Ibm Micro order control memory mechanism
JPS5896349A (ja) * 1981-12-02 1983-06-08 Hitachi Ltd マイクロ命令制御のデータ処理装置
JPS58114244A (ja) * 1981-12-28 1983-07-07 Nec Corp マイクロプログラム制御装置
NL8205076A (nl) * 1982-12-31 1984-07-16 Philips Nv Data processor eenheid voorzien van een stuurgedeelte welk een adresgenerator bevat voor het genereren van adressen welke uit karakteristieke adresdelen zijn samengesteld.
DE3810166A1 (de) * 1988-03-25 1989-10-05 Henkel Kgaa Verwendung eines waessrigen konzentrates, enthaltend ein ethylen-acrylsaeure-copolymerisat, sowie verfahren zur koagulation von lacken und anderen organischen beschichtungsmitteln
JPH04328634A (ja) * 1991-04-26 1992-11-17 Nec Corp マイクロプログラム制御装置
US5386549A (en) * 1992-11-19 1995-01-31 Amdahl Corporation Error recovery system for recovering errors that occur in control store in a computer system employing pipeline architecture
US5568622A (en) * 1993-04-15 1996-10-22 Bull Hn Information Systems Inc. Method and apparatus for minimizing the number of control words in a brom control store of a microprogrammed central processor
US5812808A (en) * 1996-06-11 1998-09-22 Driker; Benjamin Totally pipelined computer, interconnected with others
US7127593B2 (en) * 2001-06-11 2006-10-24 Broadcom Corporation Conditional execution with multiple destination stores
US6986025B2 (en) * 2001-06-11 2006-01-10 Broadcom Corporation Conditional execution per lane
US7861071B2 (en) * 2001-06-11 2010-12-28 Broadcom Corporation Conditional branch instruction capable of testing a plurality of indicators in a predicate register

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2227761A1 (de) * 1971-06-07 1972-12-14 Rca Corp Ansteuersystem für einen Mikroprogramm-Speicher

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3325785A (en) * 1964-12-18 1967-06-13 Ibm Efficient utilization of control storage and access controls therefor
US3391394A (en) * 1965-10-22 1968-07-02 Ibm Microprogram control for a data processing system
US3445818A (en) * 1966-08-01 1969-05-20 Rca Corp Memory accessing system
US3573854A (en) * 1968-12-04 1971-04-06 Texas Instruments Inc Look-ahead control for operation of program loops
US3656123A (en) * 1970-04-16 1972-04-11 Ibm Microprogrammed processor with variable basic machine cycle lengths
US3704448A (en) * 1971-08-02 1972-11-28 Hewlett Packard Co Data processing control system
US3800293A (en) * 1972-12-26 1974-03-26 Ibm Microprogram control subsystem

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2227761A1 (de) * 1971-06-07 1972-12-14 Rca Corp Ansteuersystem für einen Mikroprogramm-Speicher

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
US-Buch "Proceedings of the Eastern Computer Conference, Dez. 1957, S.128-132 *

Also Published As

Publication number Publication date
GB1512222A (en) 1978-05-24
FR2286438B1 (de) 1977-12-16
US3958227A (en) 1976-05-18
DE2536622C2 (de) 1983-11-03
FR2286438A1 (fr) 1976-04-23
JPS581466B2 (ja) 1983-01-11
JPS5148240A (de) 1976-04-24

Similar Documents

Publication Publication Date Title
DE2536622A1 (de) Mikroprogrammsteuerung mit flexibler auswahl von steuerworten
DE2322674C3 (de) Mikroprogramm-Steuereinrichtung
DE2457312C3 (de) Anordnung zur Durchführung arithmetischer oder logischer Operationen an ausgewählten Gruppen aufeinanderfolgender Bits in einer Datenverarbeitungsanordnung
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE1499200B2 (de) Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung
DE2117936B2 (de) Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems
DE2928488A1 (de) Speicher-subsystem
DE2907181A1 (de) Befehlssatz-modifizierregister fuer einen datenprozessor
DE1549522B1 (de) Datenverarbeitungsanlage mit simultanverarbeitung mehrerer programme mittels mehrerer rechner
DE3689006T2 (de) Mikroprogrammsteuersystem.
DE1269393B (de) Mikroprogramm-Steuerwerk
DE2421130C2 (de)
DE3121742A1 (de) Mikroprogrammsteuerverfahren und -einrichtung zu dessen durchfuehrung
DE1262641B (de) Mikroprogrammsteuerwerk
DE1524898C3 (de) Datenspeicher mit direktem mehrdimensionalen Zugriff zur gleichzeitigen Entnahme mehrerer Wörter
DE2951040C2 (de)
DE2900586C2 (de) Anordnung zum Decodieren von Codewörtern variabler Länge
DE2935101C2 (de)
DE2403039C2 (de) Einrichtung zur Befehlsausführung in einer adressenerweiterten elektronischen Datenverarbeitungsanlage
DE2245284A1 (de) Datenverarbeitungsanlage
DE19628039B4 (de) Speicheradressen-Steuerschaltung
DE2403669C3 (de) SpezialComputer
DE2235883C3 (de) Datenverarbeitungseinrichtung
DE2309029A1 (de) Elektronische digital-datenverarbeitungs-anlage der gattung mit parallelverarbeitung mehrerer binaerer signale
EP0025855A2 (de) Steuereinrichtung in einer elektronischen Datenverarbeitungsanlage für die Durchführung erzwungener Operationen

Legal Events

Date Code Title Description
OD Request for examination
8125 Change of the main classification

Ipc: G06F 9/26

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee