DE2536622C2 - Verzweigungssteuerung mit flexibler Auswahl von Steuerworten - Google Patents

Verzweigungssteuerung mit flexibler Auswahl von Steuerworten

Info

Publication number
DE2536622C2
DE2536622C2 DE2536622A DE2536622A DE2536622C2 DE 2536622 C2 DE2536622 C2 DE 2536622C2 DE 2536622 A DE2536622 A DE 2536622A DE 2536622 A DE2536622 A DE 2536622A DE 2536622 C2 DE2536622 C2 DE 2536622C2
Authority
DE
Germany
Prior art keywords
control
control word
selection
branch
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.)
Expired
Application number
DE2536622A
Other languages
English (en)
Other versions
DE2536622A1 (de
Inventor
Charles Wesley Poughkeepsie N.Y. 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 OR CALCULATING; 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

Die Erfindung betrifft eine Verzweigungssteuerung mit in einem Steuerspeicher eingespeicherten, aus einer bestimmten Anzahl von Steuerworten bestehenden Verzweigungsgruppen und einem Steuerspeicher-Datenregister, das ein laufendes Steuerwort mit einem die Adresse der nächsten aufzurufenden Verzweigung-
gruppe enthaltenden Feld, das über einen Adreß-Decodierer am Steuerspeicher angeschlossen ist, sowie mit einer Maschinenstatus-Schaltung, die die Maschinenstatussignale (a bis s) für die Auswahl einer Steuerwortposition aus der im Steuerspeicher aufgerufenen Verzweigungsgruppe beliefert sowie mit einem der Steuerwortauswahl dienenden Decodierer, dessen Ausgangssignale Steuerwort-Torschaltungen ansteuern.
Eine Anordnung dieser Art ist z. B. in der DE-OS 22 27 761 offenbart.
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 Systembefehls 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 des gerade laufenden Sjstemsbefehls zur Bildung der Adresse des ersten Mikrobefehl·; des zur Durchführung des Systembefehls erforderlichen Mikroprogramms decodiert. Beispielsweise liefert ein 8-Bk-OP-CODE die Möglichkeit, 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).
Viele moderne Datenverarbeitungssysteme haben im allgemeinen ihre Steuerspeicher in der Weise organisiert, daß eine Gruppe von Steuerwortpositionen, die als Verzweigungsgruppe bezeichnet werden, in einem einzigen Adressen/v klus des Steuerspeichers angesteuert werden. Die den augenblicklichen Betriebszustand der Maschine anzeigenden Signale bestimmen dann die Auswahl einer Steuerwortposition in der angesteuerten und adressierten Verzweigungsgruppe, um damit de. nächste, durch die CPU ist 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 de.' Mikrobefehle zugeführ»en. den Maschinenbetriebszustand anzeigenden Signalen abgeleitet wird. Die dabei möglichen Maschinenzustands-Signale bestimmen die Anzahl der /ur Verfügung stehenden Mikrocodeverzweigungen. bei denen oft weniger Steuerworte zur Auswahl stehen als in einer Verzweigungsgmppe Positionen vorhanden sind. Eine Auswahl zwischen iwei Steuerworten ist dabei eine Zweiwtgvervweigung.
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 Maschinenstalussignals und die Auswahl des Steuerwortes den Zugriff zur nächsten Verzweigungsgruppe von Steuerworten im Steuerspeicher überlappt (die vom Maschinensiatus-Signal durchgefühlte Auswahl eines einzigen Steuerwortes von zur Verfügung stehenden Verzweigungen in einer angesteuerten Verzweigungsgrjppe wird Stei!e:"speicher-Verzveigungsoperation genannt. Jedes Steuerwort enthält eine nächste Adresse, el. h. die Adresse der Ve Zweigungsgruppe, die das nächste auszuwählende Steuerwort enthält).
Genauer gesagt wird die nächste, in dem augenblicklich benutzten Steuerwort enthaltene 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 stehen, wenn dieser Befehl abgearbeitet ist Die von der CPU kommenden Maschinenstatus-Signale 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 Steuerst·.'ichers an verschiedenen SteüerwQrt-Sn£!chern!ätzcn 3b°esne!chert sein. Diese mehrfache Abspeicherung führt naturgemäß zu einer Vergrößerung der erforderlichen Speicherkapazität des Steuerspeichers.
Eine 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
J5 solche Verzweigung muß natürlich alle möglichen Arten der Verzweigungen berücksicntigen. nämlich Zweiwegverzweigungen, Dreiwegverzweigungen, Vierwegverzweigungen usw. Somit kann beispielsweise während eines einzigen, zur Verarbeitung eines einzigen Stfuerwortes benutzter. Maschinenzyklus eine Mikroprogrammverzweigung nach bis zu N Wegen in einer aus N Wortf 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.
>o 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 Zweiwegverzwe-gung 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 dr.ten 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 uom ernten, dritten und vierten Steuerwort oder dem ersten, zweiten und vierten Steuerwort usw.. wobei alle Dreifachkombinationen in
der Verzweigungsgruppe möglich sind. In gleicher Weise muß eine vierfache Auswahl für alle vier Steuerworte in einer Vierwort-Verzweigungsgruppe zur Verfügung stehen. Weiterhin kann in manchen Fällen nur ein vorbestimmtes der Steuerworte ausgewählt werden.
Bei manchen Mikroprogramtnverzweigungen kann somit jede Steuerwortkombination in jeder Verzweigungsgruppe erforderlich sein. Somit ist es also erwünscht, daß bei der Entwicklung der Steuerschaltungen für den Steuerspeicher eine nahezu 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 /weigungssteucrungssigna Ium wer lung«.
In den Deutschen Patentanmeldungen P 23 6J 100.7 und P 14 99 722 werden ganz allgemein die Grundlagen für die Mikroprogrammsteuerung beschrieben. Die Deutsche Patentanmeldung P 12 62 641.4 befaßt sich mit 'lern 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 Wortaus-
pn für Hip vjpr Steuerwort-Snc!chcrnos!- wahl-Decodicrsch^ltun" zur ErZtU0
eine* Steuer-
tionen, wenn man alle bool'schen 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'schen Kombinationen unterstützt (z. B. 255 logische Schaltkreise).
Ist eine derartige Flexibilität der Auswahl nicht möglich, 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 Speicherraum 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 fan-j man. daß mehr als 100 Steuerworte überflüssig waren.
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 Verwort-Auswahlsignals dadurch, daß das eingespeicherte Bitmuster die Umsetzung der Maschincnstatussignale bei der Erzeugung der Steuerwortauswahlsignale steuert. Die Verwendung eines Bitmusterregisters gibt eine verbesserte praktische Lösung, wie man bei der Auswahl von Steuerworten auf wirtschaftliche Weise eine hohe Flexibilität erzielen kann.
Die der Erfindung zugrundeliegende Aufgabe besteht also ds 'τ, eine Verzweigungssteuerung der obengenannten Art derart weiterzubilden, daß in Abhängigkeit von beliebig auswählbaren Kombinationen von Maschinenstatussignalen bei bedingten Verzweigungen eine rasche Auswahl des nächsten Steuerwortes innerhalb einer Verzweigungsgruppe möglich ist und redundante Steuerwörter weitgehend vermieden werden können. Die hohe 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 Steuerwort enthält, unabhängig von der Position der benötigten Steuerworte in der Verzweigungsgruppe.
Diese Aufgabe wird durch die im kennzeichnenden Teil des Patentanspruchs 1 angegebenen Maßnahmen gelöst.
Durch die Steuerschaltung für den Steuerspeicher kann dann jedes Steuerwort willkürlich und beliebig zu jeder Zeit durch unterschiedliche und nicht miteinander in Beziehung stehende Mikroprogramme oder Mikroroutinen in dem System benutzt werden, ohne daß dabei ein solches Steuerwort in einer Verzweigungsg. üppe mehrfach vorhanden sein muß. Somit kann also eine aufrufende Mikrocodefolge völlig unabhängig und beliebig einen für ein anderes Mikroprogramm geschriebenen Mikrocode mitbenutzen und abrufen. Daraus kann man beträchtliche Einsparungen in der für ein System erforderlichen Anzahl von Steuerworten ableiten. Weiterhin ist es damit möglich, 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 eirien Oberlauf jenseits der 32. Bitposition anzeigt. Bei der Steuerung des Steuerspeichers wird ein Verzweigungsadreß-Umsetzregister
(IiAXR) eingesetzt, das jede bool'sche Verzweigungsbe/iehung in den Maschinenstatussignalen dazu benutzen kann, eine Auswahl aus jeder Kombination von Steuerworten in einer einzigen adressierten Gruppe in dem Steuerspeichcr dadurch vorzunehmen, daß das BAXR-Register mit den Bemustern frührer Steuerwortegeladen wird.
Damit erreicht man, daß die Flexibilität in der Auswtiil 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ß.
Dies geht etwa in der Weise vor sich, daß ein Verzweigungs-Adreß-Umsetzregister, das durch ein laufendes oder vorherbenutztes Steuerwortfeld geladen ist, zusammen mit einer Wortselektionsschaltung eingesetzt wird, um das Ausgangssignal dieses Registers mit den Maschinenstatussignalen in der Weise zu kombinieren, daß daraus ein Wortauswahisignai in der w gerade adressierten Verzweigungsgruppe wird. Außerdem ist ein Schalter vorgesehen, so daß jedes gerade benutzte Steuerwort den Ausgang des Registers 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 hohe Flexibilität in der Adressierung.
Die für die Unterstützung einer hohen Flexibilität erforderliche Größe eines solchen Registers beträgt /V2v-Bitpositionen, wobei N die Anzahl der für die JO Verzweigungsauswahloperationen bei der Auswahl des nächsxen Steuerwortes erforderlichen Maschinenstatussignale ist. Zwei Maschinenstatussignale (bis zu einer Vierwegverzweigung) benötigt daher ein Register mit 8 Bitpositionen, womit dann insgesamt 256 bool'sche Unisetzkombinationen für eine solche Verzweigung geschaffen werden. Drei Maschinenstatussignale. durch die bis zu üCRUücfie Verzweigung rrsogücn ist, benoügen 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.
In der Zeichnungen zeigt
Fig. IA+IB eine Anordnung für eine Steuerspeicher-Verzweigungsauswahl gemäß der Erfindung:
Fig. 2 ein Schaltbild eines Wortauswahldecodierers zur Verwendung in der in Fig. IB gezeigten Anordnung;
Fig. 3 eine Darstellung der Arbeitsweise der in F i g. IB dargestellten Ausführungsform bei der Auswahl eines Steuerwortes aus einer Verzweigungsgruppe von in dem Steuerspeicher angesteuerten oder adressierten Steuerwort-Speicherplätzen;
F i g. 4A ein Beispiel einer Steuerwortauswahl gemäß einem früheren Steuerspeicher-Steuersystem:
Fig.4B die verbesserte Arbeitsweise, die sich entweder durch verbesserte Schaltkreise oder mit der Erfindung erzielen läßt,
Fig.4C eine BAXR-Bitmuster zur Darstellung der vereinfachten Auswahl von Steuerworten ohne doppelt vorhandene Steuerworte;
Fig.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
40
45
50
55
60 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ächstes Steuerwort in Verzweigungsgruppen mit je acht Steuerworten dadurch auswählt, daß drei Maschinenstatussignale A. B und C verwendet werden.
Fig. IA 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ß-Umsetzregister (BAXR) 11 und ein BAXR-Sciialtkreis 14 eingeschaltet ist. Der Decodierer 13 weist Ausgangsleitungen XO. Xl, X2 und X 3 auf, über die Eingangssignale an die Steuerwort-Torschaltungen 15 zur Auswahl des nächsten Steuerwortes in einer Verzweigungsgruppe von vier Steuerworten WO, Wl, W2 und W3 abgegeben wird, die garde 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 Maschinenzustandssignalen a bis 5 ausgewählt, die durch logische Schaltkreise decodiert werden, so daß aus den Maschinenzustandssignalen gesonderte Maschinenstatussignale A 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 Stesierwortes erforderliche Verzweigung jedoch oft auf eine Untergruppe von weniger als vier Steuerworten in der Verzweigungsgruppe entsprechend den Verzweigungsmöglichkeiten in dem Mikroprogramm beschränkt. Beispielsweise kann ein gerade benutztes Steuerwort nur zwei Verzweigungsmöglichkeiten geben, die entweder durch den Maschinenstatus A B bzw. A B bestimm t sind.
Nach dem BAXR-Register 11 und dem BAXR-Schaltkreis 14 liegt der Decodierer 13 und hat die Aufgabe, den Speicherinhalt des BAXR-Registers 11 bei der Wortselektionsoperation des Decodierers 13 von und nach dem Register durchzuschalten. Das BAXR-Register 11 wird in die Steuerwort-Auswahloperation dadurch eingeschaltet, daß in einem mit »Benutzten 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 0 auftretende Maschinenstatussignale und durch das Bitmuster 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 Kippschaltungen, in einer Speicheranordnung üblicher Bauart. Wenn am Steuerspeicher-Adressendecodierer 22 vom Feld 125 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 ausgelesen. Am Ort der decodierten Adresse im Steuerspeicher 21 werden also die vier Worte WO, WI. W 2 und W3 gleichzeitig erregt und werden an die entsprechenden Steuerwort-Torschaltungen 15 abgegeben. Die Steuerwort-Torschaltungen 15 nehmen außerdem Signale auf, die vom Decodierer 13 über die Auswahlleitungen ΛΌ bis X 3 ankommen. Der Decodierer 13 betätigt immer nur eine der Leitungen X 0, ΛΊ, X 2 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 »ber 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 Steuerwortzykius wird CSÜR 12 durch einen Taktimpuls geladen.
F i g. 1B zeigt diese Anordnung im einzelnen. Das gleichzeitig mit dem Taktimpuls 2 (CP 2) in den CSDR 12 geladenen nächste Steuerwort wird dem Eingangstor von CSDR12 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 12 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 124. \2B und 12C Das Feld 12C ist ein besonderes Feld, das die Umsetzbitmuster enthalten kann, die in das BAXR 11 übertragen werden können. Das Feld 12S bestimmt, ob der Inhalt des Feldes 12Cin das BAXR 11 geladen wird. Wie bereits erwähnt, kann im Feld 124 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 komplementären Ausgangssignale, wie sie für das Feld 12/4 in Fig. IB dargestellt sind, veranlassen, daß der Inhalt von BAXRIl bei der Auswahl des nächsten Steuerwortes benutzt wird. Das hiebt, daß eine Umsetzung mit eingeschaltet wird. Wird jedoch das in CSDR liegende Bit im Feld 12/4 umgekehrt, dann werden die komplementären Ausgangssignale des Feldes 12/4 ebenfalls umgekehrt, so daß das im BAXR 11 liegende Bitmuster nicht benutzt wird. d.h.. daß keine Umsetzung erfolgt, da das im BAXRIl 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 7"8 bis Ti des Decodierers zuführt, wobei 0 eine niedrige Gleichspannung und 1 eine hohe Gleichspannung auf den »wahren« Ausgängen der entsprechenden UND- und ODER-Güeder in dem Schaltkreis 14 sind.
Das Feld 12ß LADEN BAXR kann ebenfalls ein einziges 3it enthalten, daß zur Taktimpulszeit 1 (CPX) die Überleitunp des in dem besonderen Feld 12C liegenden Bitmusters nach dem BAXR 11 bewirkt. Ist das Feld 125 I.ADEN BAXR in seinem Sperrzustand, dann werden die in dem besonderen Feld 12Cliegenden 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 12ß LADEN BAXR die Übertragung des Bitmusters nach dem BAXR 11 sperrt und das im FrId 12,4 BENUTZEN BAXR liegende Bit, wie in Fig. IB 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.
Es ist allgemein vorzuziehen, das BAXR-Register U durch ein vorhergehendes Steuerwort und nicht durch das laufende Steuerwort zu laden, da sich dies aus mi; der Taktgabe zusammenhängenden Überlegungen bei der Abarbeitung des laufenden Steuerwortes als besser herausgestellt hat.
Die X- und K-Felder 12D und 12f 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. Das heißt, 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
J5 beispielsweise fünf Bitpositionen haben, die. codiert, bis zu 32 verschiedene Maschinenzustände g bis 5 steuern (von denen einige auch in der Gruppe ;/ bis / enthalten sein können) und die die Eingangssignale für die logische Schaltung 17 steuern, die ähnlich aufgebaut ist.
wie die logische Schaltung 16 und die auf den Ausgangsleitungcn A und 4 auftretenden komplementären Signale steuern.
Fig. 2 zeigt im einzelnen die Schaltungsanordnung für den Wortauswahldecodierer 13. Dieser besteht aus vier Gruppen von UND-Gliedern 4M-O. 43A-D. 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 ΛΌ. Xi. X 2 und X3 angeschlossen sind. Die Arbeitsweise der in Fig. 2 dargestellten Schaltung befriedigt die folgenden bool-'schen logischen Gleichungen:
ΛΓΘ = AB TlTl + ABTiTA + AB TS T6 + AB 77 Γ8
Xl =ΊΒηΤ2+~ΑΒΤ3Τ4 + ΑΒ~τΊΤ6 + ΑΒΊΊΤ%
X2 = ~ÄB Tl ΤΪ + ~ÄB 73 T4 + AB TS T6 + AB Tl TE Xl =~ÄB TlTl + ~ÄB TSTi + AB TS T6 + ABTlTi
Die Gruppe der UND-Glieder 414 -D befriedigt den Ausdruck für XO. Die Ausdrücke für X 1, X 2 und X 3 fei werden durch die entsprechenden Gruppen von UND-Gliedern 43.4 -D, 45/4 -D und 474 -D befriedigt.
Die Arbeitsweise des BAX R-Registers 11 bei der
Ii
Auswawi des .Steuerwortes durch die Schaltungsanordnung der Fig. IB soll anhand der F i g. 3 erläutert werden. Die im BAXR Il eingespeicherten Bitpositionen sind i.i Untergruppen unterteilt, wobei jede Untergruppe eine Anzahl von Bitpositionen gleich der Anzahl voneinander unabhängiger Maschinens.atussignale enthält. Die Anzahl der Untergruppen im BAXR 11 (d.h. die Paare T\T2, 7374. T5T6. Γ7Γ8) entspricht der Anzahl der Kombinationen von Maschinenstatussignalen 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 Maschinenstatussignalkombination, die eine der vier Ausgangsleitungen AO, X I, X2 oder X3 auswählt.
Jeder Schalter 51, 52, 53 und 54 in F i g. 3 entspricht einer Untergruppe (z. B. Paar) von Bitpositionen im BAXR 11. d.h. Γ1Γ2. 7374. 7576 bzw. 7778. Die derSchalter51,52,53 und 54 steuern.
Fig.3 stellt außerdem eine Abwandlung der in Fig. IB dargestellten Ausführungsform dar. Die weitere Ausführungsform ergibt für BAXR 11 sechs Bitpositionen, wenn man die Bitposition 71 72 als Untergruppe aus CAXR 11 wegläßt. Diese Auslassung von Tt und T2 wird in F i g. 3 dadurch angedeutet, daß in F i g. 3 der Schalter 51 durch eine fest angeschlossene Leitung 58 ersetzt ist, die vom UND-Glied 56 nach der Leitung AO
ίο führt. Dann können nur die verbleibenden Bitpositionensuntergruppen 7374, 7576 und Γ7Γ8 durch das im BAXRIl geladene Bitmuster gesteuert werden. Man kann also die Größe des BAXR 11 dadurch reduzieren, daß man eine geringere Flexibilität bei der
is zur Verfügung stehenden Umsetzung in Kauf nimmt. Wenn man beispielsweise zwei Bitpositionen im BAXRIl wegläßt (indem man es auf ein sechs Bitpositionen-Register durch Entfernen der Untergruppe T\T2 verkleinert), dann nimmt die Anzahl der zur
Schalter 5i, 52, 53 und 54 werden voneinander 20 Verfugung stehenden UmsetzkcmbinationcM auf 128 ab.
unabhängig zur Darstellung der unabhängigen Stellungen der Untergruppen eingestellt.
leder Schalter hat dabei vier Stellungen, die den vier auswählbaren Ausgangsleitungen A-O, ΑΊ, X2 oder X3 entsprechen. Die Durchschaltung einer der vier eingangsseiug auftretenden Signalkombination, d. h. ÄB~. AB. AB und AB nach einer der Ausgangsleitungen XO. A' I, X 2 oder X3 soll hierbei als Umsetzung der Maschinenstatussignale A und ß bezeichnet werden.
Die vier Stellungen jedes Schalters stellen alle möglichen wählbaren Ausgangssisjnalkombinationen für eine Untergruppe von Bitpositionen im BAXR 11 dar, d.h. 7172 wird durch Schalter 51, 7374 durch Schalter 52, 7576 durch Schalter 53 und Γ7Τ8 durch Schalter 54 dargestellt.
Die Stellung des Schalters 51 stellt dabei diejenigen 7172-Kombinationen dar, die eine der vier Ausgangsleitungen ΛΌ, X 1, X 2 oder X3 auswählen, wenn das Signal A und B gleich 00 ist. Der Schalter 52 stellt diejenigen Kombinationen Γ3Γ4 dar, die eine der Ausgangsleitungen AO, Xl, X2 oder X3 auswählen, wenn A und B gleich 01 ist. Schalter 53 stellt diejenigen 7576-Koiiibinationen dar, die eine der vier Ausgangsleitungen XO. X 1, X2 oder X3 auswählen, wenn A und B gleich 10 ist und Schalter 4 stellt diejenigen 7778-Kombinationen dar, mit deren Hilfe eine der vier Ausgangsleitungen ausgewählt werden kann, wenn A und ß 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 F i g. 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 7172, 7374, 7576JbZW. 7778 dar, welches Beispiels in der Umsetzung AB{d. h. 00) auf A"2, Aß(d. h. 01) auf X3, AB (d.h. 10) auf XO und AB (d.h. U) auf Xl 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, X 2 oder X 3 über die gerade vorhandene Einstellung Das hat aber das wünschenswerte Ergebnis, das zum Laden des BAXRIl in CSDR 12 zur Verfügung stehende Feld zu verkleinern, da die Anzahl der in den Steuerworten zum Laden des BAXR benötigten
2j Bitpositionen in dem besonderem Feld 12C nunmehr 6 Bits beträgt, anstelle von 8 Bits zum Laden eines 8-Bit-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 Verzweigungsgruppe besonders eingeplant wird, damit man die Flexibilität der Auswahl unter den verbleibenden Steuerwortbitpositionen mit Vorteil auszunutzen vermag.
Man kann also demgemäß die Umsetzflexibilität beeinflußbar dadurch herabsetzen, daß man eine oder mehrere Untergruppen von Bitpositionen des Steuerwortes, die in das CSDR 12 geladen werden sollen, wegläßt. Man kann dann natürlich das BAXR11 entsprechend kleiner machen.
Die vorliegende Erfindung läßt sich auf vielfach verschiedene Weise für einen wirkungsvollen Einsatz der Speicherplätze für die Steuerworte im Steuerspeicher benutzen, unabhängig davon, ob diese WortDOsitionen 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 Exdusiv-ODER-Verknüpfung für die Signale A und B, d.h. man erhält (AB+AB) oder
(AB+AB). Das erste Ergebnis dient der Auswahl eines Steuerwortes CWO während das zweite Ergebnis zur Auswahl des Steuerwortes CW1 benutzt wird. F i g. 4A zeigt die Arbeitsweise mit üblichen Steuerspeichern für eine Exchisiv-ODER-Verknüpfung, bei der alle vier Steuerwortpositionen in einer Steuergruppe benutzt werden müssen. Das heißt, das Steuerwort CWO ist in den Positionen 1 und 2 und das Steuerwort CW1 in den Positionen 0 und 3 eingespeichert. Das heißt aber, daß jedes Steuerwort in der Verzweigungsgruppe zweifach vorhanden ist. Damit 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, 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_l durchschalten 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 Ausgängen des Steuerspeichers für die erforderlichen Auswählvorgänge nötig wären. Dadurch würde man aber zu einem sehr aufwendigen Auswahlsystem für den Steuerspeicher kommen, was jedoch durch die Erfindung dadurch vermeiden 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 Steuerwor- *o ten und ohne zusätzliche elektrische Schaltkreise durchführbar. Das BAXR-Register kann bei allen logischen Operationen, die Maschinenstatussignale betreffen, unabhängig von ihrer Komplexität eingesetzt werden. Für diese bestimmte Exclusiv-ODER-Verknüpfung wird ein BAXR-Register lediglich mit dem in F i g. 4C gezeigten Bitmuster geiaden. Der Maschinenstatus AE oder AB (d.h. 01 oder 10) veranlaßt automatisch den Decodierer 13. CWO in der Position I (d.h. XX) auszuwählen und der Maschinenstatus AB so oder AB (d. h. 00 oder 11) veranlaßt automatisch den Decodierer 13 das Steuerwort CW1 in Position 0 (d. h. X 0) auszuwählen. Damit stehen aber die Steuerwortpositionen 2 und 3 für eine Benutzung durch andere Steuerworte zur Verfugung, 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 sie bei früheren Steuerungen für Steuerwörter vorkamen, ist in Fig.5A gezeigt, μ wo zwei voneinander unabhängige Mikroprogramme I und 2 dargestellt sind. Das Steuerwort CW(f) im Mikroprogramm 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 CiVI oder CW2 aus. CW(p) und CW(f) verwenden jedoch für die Durchführung dieser Auswahl unterschiedliche Maschincnstatuswör ter. CW(f) verwendet beispielsweise den Maschinenstatus A (d. h. der Maschinenstatus B interessiert hier nicht) für eine Auswahl von CWl, während CW(p) CWi über den komplementären Maschinenstatus Ä auswählt Das heißt CW(f) und CW(p) treffen eine Auswahl zwischen den beiden Steuerworten CWl 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 X 2 und X 3 nur ansteuerbar durch CW(p)a\s Funktion von Ä oder A, während CW(Q nur eine Auswahl treffen kann zwischen CWl und CW2 in den Positionen X 0 und Xi als Funktion des Maschinenstatus A oder A.
Durch die Erfindung ist es nunmehr in einfacher Weise möglich, die doppelte Abspeicberung der Steuerworte in den Positionen X 2 und X 3 zu beseitigen, 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 F i g. 5B gezeigten Bitmuster lädt und indem man BAXRIl vor der Auswahl eines Steuerwortes CW durch CW(p) im Mikroprogramm 2 mit dem in F i g. 5C gezeigten Bitmuster lädt Das im BAXR 11 geladene Bitmuster gemäC F i g. 5C erzielt damit eine umgekehrte Auswahl von CWl und CW 2 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 X 2 und X 3 weder von CW(Q oder CW(p) benutzt Damit gestatten die in Fig. 5B und Fig. 5C dargestellten Zweibitmuster der verschiedenen Mikroprogramme eine Auswahl zwischen CWl und CW2 in den Positionen XO und X1 auf unterschiedliche Weise.
Zwei Mikrocodefolgen können daher bei Anwendung der Erfindung bei den gleichen Mikrobefehlen zusammenlaufen, obgleich die Mikrobefehle (d. h. die Steuerworte) durch die beiden Mikrocodefolgen über verschiedene Maschinenstatussignale ausgewählt werden. Die Mikroroutine I muß beispielsweise eine Zweifachverzweigung ausführen, wenn die zugehörigen Maschinenstatussignale 00 (d. h. AB; oder 01 (d. h. ÄB)ima. um eine Auswahl zwischen zwei in der nächst adressierten Verzweigungsgruppe liegenden Steuerworten zu treffen. Die Mikroroutine 2 fordert jedoch eine Zweiwegverzweigung, wenn die Maschinenstatussignale 10(d. h. AB) oder 11 (d. h. AB) sind. Ohne die Verwendung des BAXR-Registers steuert die normale Mikrocodesteue· rung die zweifach vorgesehenen Steuerworte in den Positionen XO. Xt für die Mikroroutine 1 und in Positionen X 2 und X 3 für die Mikroroutine 2. Gemäß der Erfindung ist jedoch das BAXR-Register in Ti bis 78 mit dem Bitmuster 00010001 geladen, so daß bei beiden Routinen eine Auswahl zwischen den gleichen beiden Steuerworten in den Positionen XO und Xl durchgeführ· wird, so daß die Positionen X 3 und X 4 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 Steucrwortcn benutzt, so ist doch ohne weiteres verständlich, daß die Erfindung auch auf ein System anwendbar ist. das mit drei oder mehr Maschinenstatussigmilcn für die Auswahl einer Verzweigungsgruppc einsct/bar ist. clic
eine Anzahl von Steuerworten enthält. Beispielsweise könnte man drei Maschinenstatussignale A, δ und Cfür die Auswahl des nächsten Steuerwortes in Verzweigungsgruppen mit fünf mit acht Steuerworten benutzen. F i g. 6 zeigt eine Ausführungsform mit Verzwei(mngsgruppen mit acht Steuerwortpositionen, die durch die Ausgangsleitungen ΛΌ bis X 7 angedeutet sind und benutzt drei Maschinenstatussignale, die durch _die_ Eingangssignale A, Sund Cund ihre Komplemente A, B und C gegeben sind, so daß sich acht Eingangssignalkombinationen ergeben, die durch acht UND-Glieder 71 —78 in F i g. 6 dargestellt sind, die mit acht Schaltern 81 bis 88 mit je acht Positionen verbunden sind, an denen jeweils acht Ausgangsleitungen XO bis X 7
angeschlossen sind. Die in F i g. 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 Umsetzkombina »ionen durchgeführt werden kann. Die verallgemeinerte Beziehung zwischen der Anzahl von Bitpositionen Tim BAXR-Register und der Anzahl von Maschinenstatussignalen N ist T=N2N, um alle Möglichkeiten einer Umsetzung berücksichtigen zu können.
Hierzu 5 Blatt Zeichnungen

Claims (9)

Patentansprüche:
1. Verzweigungssteuerung mit in einem Steuerspeicher eingespeicherten, aus einer bestimmten Anzahl von Steuerworten bestehenden Verzweigungsgruppen und einem Steuerspeicher-Datenregister (12), das ein laufendes Steuerwort mit einem die Adresse der nächsten aufzurufenden Verzweigungsgruppe enthaltenden Feld, das über einen Adreß-Decodierer (22) am Steuerspeicher (21) angeschlossen ist, sowie mit einer Maschinenstatus-Schaltung (16, 17), die die Maschinenstatussignale (a bis s) für die Auswahl einer Steuerwortposition aus der im Steuerspeicher (21) aufgerufenen Verzweigungsgruppe beliefert, sowie mit einem der Steuerwortauswahl dienenden Decodieren (13) dessen Ausgangssignale Steuerwort-Torschaltungen (15) ansteuern, dadurch gekennzeichnet,
daß ein durch das Steuerspeicher-Datenregister (12) einschaltbares und ladbares Umsetzregister (11) für die Verzweigungsadresse über eine Torschaltung mit einem besonderen Feld (12 B) im Steuerspeicher-Datenregister verbunden ist,
daß ferner der der Steuerwortauswahl dienende Decodierer (13) eingangsseittg· mit der Maschinenstatus-Schaltung (16, 17) verbunden ist, und damit über Steuerwortauswahlleiti'.ngen (XO, Xl, X2, X 3) die Steuerworttorschaltungen (15) für die Auswahl eines Steuerwortes (WO bis W3) aus dem Steuerspeicher (21) ansteuert, und
daß das Umsetzregis/er (11, ausgangsseitig über einen Schaltkreis (14) an. andere Eingänge des Decodierers (13) in der Weise nschaltbar ist. daß der Decodierer (13) in Abhängigkeit von einem Maschinenstatussignal (A. Λ. B. B)und einem in dem Umsetzregister (11) eingespeicherten Bitmuster (Fig.5b, Fig. 5c) eine aus einer Anzahl von nach den Steuerwort-Torschaltungen (15) des Steuerspeichers (21) führenden Steuerwortauswahlleitungen (X O.X l.XZXSJzu betätigen vermag.
2. Anordnung nach Anspruch 1. dadurch gekennzeichnet, daß das Umsetzregister (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).
3. Anordnung nach Anspruch 2. dadurch gekennzeichnet, daß die Anzahl der in dem Umsetzregister (11) gespeicherten Untergruppen gleich 2V ist. und daß dann eine vollständige Flexibilität bei der Umsetzung und Auswahl der Ausgangsleitungen (XO. Xl ... ) erzielbar ist. wenn die Anzahl der Untergruppen gleich N 2V ist.
4. Anordnung nach Anspruch 2. dadurch gekennzeichnet, daß die Anzahl der in dem Umsetzregister (11) gespeicherten Untergruppen weniger als 2N 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 (X0,Xl...)erkauft wird.
5. Anordnung nach Anspruch 1. dadurch gekennzeichnet, daß die Eingangstorschaltung des Umsetzregisters (11) über ein besonderes Feld {*.2B) des Steuerspeicher-Datenregisters (12) zum Laden des Speicherinhalts dieses Feldes (12ÖJin das Umsetzre-
gister(ll) entsperrbar ist
6. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß der Schaltkreis (14) dem Durchschalten oder Sperren der vom Umsetzregister (11) kommenden, nach den Steuerv/ort-Torschaitungen (15) übertragenen Auswahlsignale dienu und daß ein zweiter Eingang des Schaltkreises (14) mit einem weiteren Feld (i2A) des Steuerspeicher-D^tenregisters verbunden ist dessen Registerinhalt den Schaltzustand des Schaltkreises (14) steuert
7. 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 komplementäre Ausgänge des weiteren Feldes (12A) mit jeweils einem Eingang der UND- oder ODER-Glieder verbunden sind, während die anderen Eingänge der UND- und ODER-Glieder mit den entsprechenden Bitpositionen (Ti — 7"8) 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 (i2A) gesteuerten Sci-altstellung des Schaltkreises (14) dieses Bitmuster an den Decodierer übertragen oder diese Übertragung gesperrt wird.
8. Anordnung nach Anspruch 1. dadurch gekennzeichnet daß der Decodierer (13) aus mehreren Gruppen von UND-Gliedern (41A-D. 43/1 -B. 45/4 — D, 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-'Suswahlsignale zur Auswahl von Steuerwortpositionen in den aufgerufenen Verzweigungsgruppen lie«orn,
daß an den Eingängen der UND-Glieder die verschiedenen möglichen Varianten entsprechender Untergruppen der Ausgangssignale des Umsetzregisters (T'!. Ti bis 7"8, T8) und verschiedene Kombinationen des Maschinenstatussignals (A. B) anliegen, und
daß dabei die Anzahl der Bitpositionen einer Untergruppe sicn aus der Anzahl der Bitpositionen im Umsetzregister (11). geteilt durch die Anzahl der voneinander unabhängigen Maschinenstatussignale (A. B) ergibt.
9. Anordnung nach Anspruch 8. dadurch gekennzeichnet, daß Steuerwort-Torschaltungen (15) vorgesehen sind, deren Eingänge einerseits mit den Steuerwort-Ausgängen (WO- W3) des Steuerspeichers (21) verbunden sind und deren Steuereingänge mit den Ausgängen CXO-X3) der ODF.R-Glieder (42,44,46,48) des Decodierers verbunden sind
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 DE2536622A1 (de) 1976-04-08
DE2536622C2 true 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
JPS57199050A (en) * 1981-06-01 1982-12-06 Ibm Micro order control memory mechanism
US4531199A (en) * 1981-06-01 1985-07-23 International Business Machines Corporation Binary number substitution mechanism in a control store element
US4422144A (en) * 1981-06-01 1983-12-20 International Business Machines Corp. Microinstruction substitution mechanism in a control store
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
US6986025B2 (en) * 2001-06-11 2006-01-10 Broadcom Corporation Conditional execution per lane
US7127593B2 (en) * 2001-06-11 2006-10-24 Broadcom Corporation Conditional execution with multiple destination stores
US7861071B2 (en) * 2001-06-11 2010-12-28 Broadcom Corporation Conditional branch instruction capable of testing a plurality of indicators in a predicate register

Family Cites Families (8)

* 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
US3728686A (en) * 1971-06-07 1973-04-17 Rca Corp Computer memory with improved next word accessing
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

Also Published As

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

Similar Documents

Publication Publication Date Title
DE2536622C2 (de) Verzweigungssteuerung mit flexibler Auswahl von Steuerworten
DE2457312C3 (de) Anordnung zur Durchführung arithmetischer oder logischer Operationen an ausgewählten Gruppen aufeinanderfolgender Bits in einer Datenverarbeitungsanordnung
DE1774296C2 (de) Restruktuierbare Steuereinheit für elektronische Digitalrechner
DE2846117C2 (de) Datenprozessor
DE1499722C2 (de) Einrichtung zur Modifizierung von Informationswörtern
DE2322674C3 (de) Mikroprogramm-Steuereinrichtung
DE2117936B2 (de) Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems
DE2542751C2 (de) Datenverarbeitungsanlage
DE3689006T2 (de) Mikroprogrammsteuersystem.
DE2928488A1 (de) Speicher-subsystem
DE2905675A1 (de) Schaltungsanordnung zur sperrung des zugangs zu einem speicher
EP0097725A1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE2717658A1 (de) Anordnung zur ansteuerung eines mikroprogrammspeichers
DE1269393B (de) Mikroprogramm-Steuerwerk
DE2926322C2 (de) Speicher-Subsystem
DE3121742A1 (de) Mikroprogrammsteuerverfahren und -einrichtung zu dessen durchfuehrung
DE2935101C2 (de)
DE1499730A1 (de) Einrichtung zur Speicherauswahl
DE2900586A1 (de) Anordnung zum decodieren von codewoertern variabler laenge
DE2403039C2 (de) Einrichtung zur Befehlsausführung in einer adressenerweiterten elektronischen Datenverarbeitungsanlage
DE2403669C3 (de) SpezialComputer
DE2245284A1 (de) Datenverarbeitungsanlage
DE2938929C2 (de) Datenverarbeitungsgerät
DE2235883C3 (de) Datenverarbeitungseinrichtung
DE2309029A1 (de) Elektronische digital-datenverarbeitungs-anlage der gattung mit parallelverarbeitung mehrerer binaerer signale

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