DE2536622C2 - Verzweigungssteuerung mit flexibler Auswahl von Steuerworten - Google Patents
Verzweigungssteuerung mit flexibler Auswahl von SteuerwortenInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
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
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)
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.
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ß 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
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)
| 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)
| 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 |
-
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
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 |