DE2536622A1 - Mikroprogrammsteuerung mit flexibler auswahl von steuerworten - Google Patents
Mikroprogrammsteuerung mit flexibler auswahl von steuerwortenInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/264—Microinstruction selection based on results of processing
- G06F9/267—Microinstruction 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)
- 2536522PATENTANSPRÜ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 unddaß 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 04C609815/0832Anordnung nach Anspruch 2, dadurch gekennzeichnet/ daß die Anzahl der in dem ümsetzregister (11) gespeichertenUntergruppen 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 AnzahlN
der Untergruppen gleich N2 ist.Anordnung nach Anspruch 2, dadurch gekennzeichnet, daß die Anzahl der in dem Umsetzregister (11) gespeichertenUntergruppen 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 04060981 8/Ü832mentä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, unddaß je nach der durch das weitere Feld (12A) gesteuerten Schaltsteilung des Schaltkreises (14) dieses Bitmusterj 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, unddaß 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 040609815/08329. 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 040609 815/0832OPJGiMAL INSPECTED
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)
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 |
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 |
US6986025B2 (en) * | 2001-06-11 | 2006-01-10 | Broadcom Corporation | Conditional execution per lane |
Citations (1)
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)
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 |
-
1974
- 1974-09-24 US US05/508,797 patent/US3958227A/en not_active Expired - Lifetime
-
1975
- 1975-08-01 GB GB32181/75A patent/GB1512222A/en not_active Expired
- 1975-08-07 FR FR7525146A patent/FR2286438A1/fr active Granted
- 1975-08-16 DE DE2536622A patent/DE2536622C2/de not_active Expired
- 1975-08-19 JP JP50099851A patent/JPS581466B2/ja not_active Expired
Patent Citations (1)
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)
Title |
---|
US-Buch "Proceedings of the Eastern Computer Conference, Dez. 1957, S.128-132 * |
Also Published As
Publication number | Publication date |
---|---|
JPS5148240A (de) | 1976-04-24 |
FR2286438A1 (fr) | 1976-04-23 |
US3958227A (en) | 1976-05-18 |
JPS581466B2 (ja) | 1983-01-11 |
GB1512222A (en) | 1978-05-24 |
FR2286438B1 (de) | 1977-12-16 |
DE2536622C2 (de) | 1983-11-03 |
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 | |
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 | |
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 | |
DE2235883C3 (de) | Datenverarbeitungseinrichtung | |
DE2938929C2 (de) | Datenverarbeitungsgerät | |
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 | |
DE2234982A1 (de) | Expanderschaltung fuer ein programmierbares steuergeraet | |
DE2936801C2 (de) | Steuereinrichtung zur Ausführung von Instruktionen |
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 |