MICROPROGRAMME CONTROL APPARATUS

Abstract: 1. Microprogramme control apparatus having a register control store which during each read access simultaneously makes available a first and a second micro-instruction word for the subsequent processing characterized in that the output of the register control store (CM) for the second micro-instruction word (component (CM1) is connected to an intermediate storage register (CMD), that the output of the register control store (CM) for the first micro-instruction word (component CMO) and the output of the intermediate storage register (CMD) of the second micro-instruction word are respectively connected to the inputs of two multiplexers (MUX1, MUX2) which optinally switch through to the output the one or the other of the two micro-instruction words, which are respectively available at the input, that the output of each mutiplexer (MUX1, MUX2) is connected to an instruction register (CUM and PAM) of an independently operating processing unit (CU) of a group of processing units (PU, AU) as the case may be, and that the transfer into the assigned instruction registers (CUM and PAM) of the micro-instruction words, which are respectively made avalable by the register control store (CM) and/or the intermediate storage register (CMD), is controlled by a load control device (B-ST) in dependence upon instruction identifications (BK), which are carried in the respective micro-instruction word, so that the micro-instruction word, so that the micro-instruction words, which are made available by the register control store (CM) during two consecutive read accesses if necessary, are processed by the individual processing units (CU, PU or AU) either individually one after another or simultaneously in parallel with one another, where in the event that a micro-instruction word, with which a subsequent micro-instruction word has to be carred out in parallel, occupies the first position within a double word, the two instructions which are made available simultaneously, are directly transferred to the micro-instruction register, and where in the event that the micro-instruction word occupies the second position within a double word said micro-instruction word is stored in the intermediate storage register, so that said micro-instruction word is transferred to the micro-instruction register simultaneously with the micro-instruction word of the subsequent double word which occupies the first position.

Description: Mikroprogramm-Steuereinrichtung Die Erfindung betrifft eine Mikroprogramin-Steuereinrich- tung mit einem Registersteuerspeicher, der bei jedem Lesezugriff ein erstes und ein zweites Mikrobefehlswort gleichzeitig für die nachfolgende Auswertung bereitstellt. Bei Mikroprogrammsteuerungen werden allgemein Befehle in Form von Elementaroperationen nacheinander aus einem Steuer- oder Mikrobeiehlsspeicher ausgelesen und nacheinander verarbeitet, wobei - soweit möglich - während des jeweils laufenden Verarbeitungszyklusses bereits die Adresse für den nächsten Mikrobefehl im Steuerspeicher eingestellt und somit das Lesen des Folgebefehls vorbereitet wird. Bekanntlich soll dabei die Dauer des Verarbeitungszyklusses so auf die Zugriffszeit für den Mikrobefehlsspeicher abgestimmt sein, dass weder die Verarbeitungseinrichtung auf den Mikrobeiehlsspeicher noch dieser auf die Verarbeitungseinrichtung warten muss. Um dieser Forderung bei Verwendung langsamer Steuerspeicher gerecht zu werden, sind bereits eine Reihe von Lösungen bekannt. So werden z.B. nach der DE-OS 22 27 761 mit einem einzigen Lesezugriff gleichzeitig mehrere Mikrobe#ehlswör- ter in Pufferspeicher übergeben und von dort nacheinander in das Mikrobefehlsregister übernommen. Auch werden bei einer ausreichend breiten Mikrobefehlsstruktur Bereiche für parallel zur Hauptfunktion ausführbare Nebenfunktionen vorgesehen und so die Zahl der notwendigen Kt 1 Stl / 26.02.80 Mikrobefehle für ein Mikroprogramm verringert, oder es werden gemäss der DE-AS 25 27 272 die Bereiche für jeweils nichtbenutzte Nebenfunktionen durch einen zweiten Mikrobefehl belegt, so dass mit einem einzigen Speicherzugriff wiederum zwei Mikrobefehle gleichzeitig gelesen und nacheinander verarbeitet werden, was durch ein zusätzliches Kennzeichen gesteuert wird. Alle diese bekannten Lösungsmöglichkeiten haben aber Beschränkungen bezüglich der Verteilung der Mikrobefehlswörter im Steuer- oder Mikrobefehlsspeicher zur Folge. Das gilt insbesonderen, wenn wahlweise Befehle innerhalb eines Programmes aufeinanderfolgen, die zum Teil parallel zueinander oder nacheinander verarbeitet werden können. Aufgabe der Erfindung ist es daher, eine Mikroprograinm-Steuereinrichtung der eingangs genannten Art zu schaffen, bei der einzeln nacheinander oder parallel zueinander ausführbare Befehle freizügiger im Steuerspeicher angeordnet sein können. Eine solche Mikroprogramm-Steuereinrichtung gemäss der Erfindung ist dadurch gekennzeichnet, dass der Ausgang des Registersteuerspeichers für das zweite Mikrobefehls- wort mit einem Zwischenspeicherregister verbunden ist, dass der Ausgang des Registersteuerspeichers für das erste Mikrobefehlswort und der Ausgang des Zwischenspeicherregisters für das zweite Mikrobefehlswort jeweils mit einem der Eingänge von zwei Multiplexern verbunden sind, die wahlweise das eine oder das andere der beiden am Eingang jeweils zur Verfügung stehenden Mikrobefehlswörter zum Ausgang durchschalten, dass der Ausgang jedes Multiplexers mit einem Befehlsregister einer selbständig arbeitenden Verarbeitungseinheit bzw. einer Gruppe von Verarbeitungseinheiten verbunden ist und dass die uebergabe der vom Registersteuerspeicher und/oder Zwischenspeicherregister jeweils bereitgestellte Mikrobefehlswörter in die zugehörigen Befehlsregister durch eine Bereitstellungs-Steuereinrichtung abhängig von im jeweiligen Mikrobefehlswort mitgeführten Befehlskennzeichnungen gesteuert wird, wobei die vom Registersteuerspeicher bereitgestellten Mikrobefehlswörter wahlweise einzeln. nacheinander oder gleichzeitig parallel zueinander von den einzelnen Verarbeitungseinheiten verarbeitet werden. Die den Ausgängen für die beiden jeweils gleichzeitig. gelesenen Mikrobefehlswörter nachgeschalteten Multiplexer stellen zunächst sicher, dass jedes Mikrobefehlswort unabhängig von der Lage im Registersteuerspeicher, nämlich an erster oder zweiter Stelle innerhalb eines Doppelwortes, an das zugehörige Mikrobefehlsregister weitergeleitet werden kann. Befindet sich ein Befehl, zu dem ein nachfolgender Befehl parallel ausgeführt werden kann#, an erster Stelle, so können die beiden gleichzeitig bereitgestellten Befehle unmittelbar an die Mikrobefehlsregister weitergeleitet und für die Verarbeitung freigegeben werden. Befindet sich dagegen ein solcher Befehl an zweiter Stelle, so muss#vorher das nachfolgende Mikrobefehlsdoppelwort vom Registersteuerspeicher bereitgestellt werden. Das Zwischenspeicherregister verhindert in diesem Falle den zwischenzeitlichen Verlust des noch nicht verarbeiteten Mikrobefehles aus dem vorangehenden Doppelwort. Den gesamten Ablauf steuert eine Bereitstellungs-Steuereinrichtung anhand von in den Mikrobefehlswörtern mitgeführten Befehlskennzeichnungen in Form von Steuerbits. Mikrobefehlswörter, die zu einem nachfolgenden Mikrobefehlswort parallel verarbeitet werden können, können daher wahlweise an erster oder zweiter Stelle eines in Registersteuerspeicher enthaltenen Doppelwortes gespeichert sein, so dass ein grösserer Freiheitsgrad bei der Belegung des Registersteuerspeichers gegeben ist, d.h. die einzelnen Mikrobefehlswörter können lückenlos aneinander anschliessend ohne Rücksicht auf die Doppelwortstruktur des Registersteuerspeichers angeordnet sein, ohne dass Speicherplatz verschenkt wird. Damit die Bereitstellungs-Steuereinrichtung erkennen kann, ob im Zwischenspeicherregister ein Mikrobefehls- wort zwischengespeichert ist, ist wenigstens dem Zwischenspeicherregister ein Gültigkeitsmerker zugeordnet, der die Zwischenspeicherung eines Mikrobefehlswortes anzeigt,und es werden die Befehlskennzeichnungen-des im Zwischenspeicherregister zwischengespeicherten Mikrobefehlswortes von der Bereitstellungs-Steuereinrichtung nur dann berücksichtigt, wenn der Gültigkeitsmerker gesetzt ist. Zweckmässig ist auch den Mikrobefehlsregistern für-die selbständig arbeitenden Verarbeitungseinrichtungen jeweils ein Gültigkeitsmerker zugeordnet. Auch ist es vorteilhaft, wenn die Gültigkeitsmerker von der Bereitstellungs-Steuereinrichtung verwaltet und jeweils beim Laden eines gültigen Mikrobefehlswortes in das zugehörige Register gesetzt werden. Um sicherzustellen, dass das jeweils zu verarbeitende Mikrobefehlswort eindeutig festgelegt ist, auch wenn für das Vorauslesen des nächsten Doppelwortes im Registersteuerspeicher die Leseadresse auf das erste Wort des Doppelwortes zeigt, und um sicherzustellen, dass die Mikrobefehlswörter im Registersteuerspeicher trotz der Doppelwortanordnung folgerichtig adressiert werden, weist die Bereitstellungs-Steuereinrichtung gemäss einer Weiterbildung der Erfindung eine Einrichtung zur Kennzeichnung des im jeweils nächsten Bereitstellungszyklus zu berücksichtigenden Mikrobefehlswortes, die die Steuer logik der Bereitstellungs-Steuereinrichtung beeinflusst, sowie eine Einrichtung zur Steuerung der Adressenrechnung für den Registersteuerspeicher auf. Die Einrichtung zur Kennzeichnung des im jeweils nächsten Bereitstellungszyklus zu berücksichtigenden Mikrobefehlswortes kann in einfacher Weise aus einem ODER-Glied bestehen, das das niedrigste Adressenbit der im Adressenregister für den Registersteuerspeicher enthaltenen Adresse zur Kennzeichnung der Mikrobefehlswörter an zweiter Stelle mit dem Gültigkeitsmerker für das Zwischenspeicherregister verknüpft. Zur Steuerung der linearen Adressenfolge für den Registersteuerspeicher wird die im Adressenregister jeweils vorhandene Adresse in einfacher Weise abhängig von einem Signal der Einrichtung zur Steuerung der Adressenrechnung in der Bereitstellungs-Steuereinrichtung um den Wert "1" oder 2 erhöht. Zur Bewältigung von nichtlinearen Adressenänderungen und von Wiederholungen im Fehlerfall ist gemäss einer anderen Weiterbildung der Erfindung der Gültigkeitsmerker für das Zwischenspeicherregister zweistufig ausgeführt, wobei der Inhalt der ersten Stufe zeitver- zögert auch in die zweite Stufe übernommen wird, die allein für den Steuerungsablauf durch die Bereitstellungs Steuereinrichtung massgebend ist. Dabei wird die zweite Stufe bei jeder nichtlinearen Adressenänderung, z.B. beim Sprung, für den Registersteuerspeicher zurückgesetzt und bei einem nachfolgenden Fehler im laufenden Bereitstellungszyklas der nächstfolgende Ergebnistakt zur Änderung der Daten in den Registern gesperrt. Weitere Einzelheiten der Erfindung seien nachfolgend an- hand eines in der Zeichnung dargestellten Ausführungsbeispieles näher erläutert .Im einzelnen zeigen: FIG 1 das Blockschaltbild einer Mikroprogramm-Steuer- einrichtung gemäss der Erfindung, FIG 2 die tabellarische Zusammenstellung der Befehls kennzeichnungen und deren Bedeutung, FIG 3 ein Blockschaltbild für die Signalverknüpfung in der Bereitstellungs-Steuereinrichtung von FIG 1 und FIG 4 ein Flussdiagramm für die Signalverknüpfung in der Bereitstellungs-Steuereinrichtung gemäss FIG 1 und FIG 3. Bei dem Blockschaltbild für die Mikroprogramm-Steuereinrichtung gemäss FIG 1 ist der Registersteuerspeicher für die Bereitstellung der einzelnen Mikrobefehiswörter mit CM -bezeichnet. Dieser Speicher gliedert sich in zwei Hälften CMO und CM1 für die Speicherung von Mikrobefehlswörtern mit insgesamt 32 Bit, wobei#die einzelnen Bitstellen mit 0 bis 31 bezeichnet sind. Jedes der Mikrobefehlswörter in der Speicherhälfte CMO bildet mit einem Mikrobefehlswort aus der anderen Speicherhälfte CM1 ein Doppelwort, wobei die einzelnen Doppelwörter über eine Adresse AD, die von einem Adressenrechner AD-R bereitgestellt wird, wahlweise ansteuerbar ist. Der Adressenrechner AD-R ist in herkömmlicher Weise aufgebaut. Bei linearer Adressenfolge wird z.B. ein. Binär-- zähler schrittweise fortgeschaltet, wobei die AnsteueradressenAD für den Registersteuerspeicher CM von den n-1 Bits der höchsten Wertigkeit abgeleitet werden, während das niedrigste Bit anzeigt, welches der beiden Mikrobefehlswörter eines Doppelwortes normalerweise zur Verarbeitung ansteht. Bei nichtlinearen Adressen änderungen wird die Adresse in bekannter Weise von einer von aussen zugeführten Adresse MIAD abgeleitet. Mit dem Ausgang der Speicherhälfte CM1 ist ein Zwischenspeicherregister CMD verbunden, das wahlweise ein komplettes Mikrobefehlswort aus der Speicherhälfte CM1 zwischenspeichern kann. Weiterhin sind zwei Multiplexer MUX1 und MUX2 vorgesehen, wobei jedem Multiplexer ein Mikrobefehlsregister für eine selbständig arbeitende Verarbeitungseinheit nachgeschaltet ist. Gemäss dem gewählten Ausführungsbeispiel wird über dem Multiplexer MLJX1 das Mikrobefehlsregister CUM für die Kontrolleinheit CU eines Prozessors und über den Multiplexer NUx2 das Mikrobefehlsregister PAM erreicht, das wahlweise die logische Verarbeitungseinheit PU oder die Zugriffseinheit AU des Prozessors mit einem Mikrobefehl versorgt. Die Multiplexer MUX1 und MUX2 weisen jeweils zwei Eingänge 0 und 1 auf, wobei über die Eingänge O Mikrobefehlswörter aus der Speicherhälfte CMO und über die Eingänge 1 Mikrobefehlswörter aus der Speicherhälfte CM1 bzw. dem Zwischenspeicherregister CMD zugeführt werden können. Mikrobefehlswörter aus jeder Speicherhälfte CMO bzw. CM1 des Registersteuerspeichers CM können dadurch wahlweise über den einen oder anderen Multiplexer MUX1 oder MUX2 zu den nachgeschalteten Mikrobefehlsregistern CUM oder PAM geleitet werden. Die Entscheidung hierüber, an welches Nikrobefehlsregister die vom Registersteuerspeicher CM bereitgestellten Mikrobefehlswörter weiterzuleiten sind, trifft die Bereitstellungssteuereinrichtung B-ST anhand von im Mikrobefehlswort mitgeführten Befehlskennzeichnungen BK, die von den Bit O bis 2 im Mikrobefehlswort gebildet werden. Innerhalb der Bereitstellungs-Steuereinrichtung B-ST ist ein Gültigkeitsmerker-Register V-REG vorgesehen. Dies Register weist für jedes der beiden Mikrobefehisregister CUM und PAM einen Gültigkeitsmerker CUMV bzw. PAMV auf. Für das Zwischenspeicherregister CMD ist der Gültig- keitsmerker zweistufig ausgeführt, wobei CMDHV die erste Stufe und CMDV die zweite Stufe bezeichnet. Die Verwaltung dieser Gültigkeitsmerker erfolgt-durch die Bereitstellungs-Steuereinrichtung, und zwar werden die Gültigkeitsmerker CUMV, PAMV und CMDHV jeweils mit Speicherung eines gültigen Mikrobefehlswortes in den zugehörigen Registern gesetzt. Innerhalb eines jeden von der Bereitstellungs-Steuereinrichtung 3-ST kontrol lierten Bereitstellungszyklus wird beim Setzen des Gültigkeitsmerkers CMDHV zeitverzögert auch der Gültigkeitsmerker CMDV gesetzt, der neben den Gültigkeitsmerkern CUMV und PAMV allein auf die Verknüpfungslogik der Bereitstellungs-Steuereinrichtung B-ST einwirkt. Der Zweck für diese Zweiteilung des Gültigkeitsmerkers für das Zwischenspeicherregister CMD wird später noch erläutert werden. Analoges gilt für die darüber hinaus noch gezeigten Wechselbeziehungen zwischen der Bereitstellungssteuereinrichtung B-ST und dem Adressenrechner AD-R über die Leitungen CMMD-1 und ADD2. FIG 2 zeigt eine tabellarische Zusammenstellung der durch die Bit O bis 2 eines jeden Mikro,befehlswortes im Registersteuerspeicher CM festgelegten Befehlskennzeichnungen BK. Der linke Teil der Tabelle gibt die möglichen Bitkombinationen der CM-Bit O bis 2 wieder. Der mittlere Teil der Tabelle gibt an,für welche der drei möglichen Verarbeitungseinheiten CU, PU und AU gemäss FIG 1 der jeweilige Befehl vorgesehen ist. Danach beziehen sich die ersten drei Bitkombinationen entsprechend den ersten drei Zeilen auf Einzelbefehle für die Verarbeitungseinheiten PU bzw. AU bzw. CU, pfund die vierte Zeile kennzeichnet einen Befehl für die Verarbeitungseinheit CU, der parallel zu einem Befehl für die Einheiten PU oder AU ausführbar ist. Der rechte Teil von FIG 2 ordnet den einzelnen Befehlen Kurzbezeichnungen zu, die eine Vereinfachung für das später noch zu beschreibende Flussdiagramm mit sich bringen. Die Kurzbezeichnung PAU steht gemeinsam für Befehleder Verarbeitungseinheiten PU und AU, da diese über das gemeinsame Mikrobefehlsregister PAM versorgt werden. Gleichbedeutend damit ist der Befehl CU für die Verarbeitungseinheit CU, wenn diese nicht. parallel zu einer der Verarbeitungseinheiten PU bzw. AU arbeiten kann. Die in den- ersten drei Zeilen aufgeführten Befehle können daher auch unter der gemeinsamen Bezeichnung > CUP zusammengefasst werden. Demgegenüber steht der Befehl von Zeile 4, der mit CUP gekennzeichnet ist und der eine Parallelarbeit der Verarbeitungseinheit CU mit der Verarbeitungseinheit PU oder AU zulässt. FIG 3 zeigt das Blockschaltbild der Verknüpfungslogik innerhalb der Bereitstellungs-Steuereinrichtung B-ST von FIG f. Dieses Blockschaltbild besteht im wesentlichen aus zwei Verknüpfungsschaltungen VS1 und VS2, sowie einem Signalverteiler SV und einem ODER-GliedOR. Der Verknüpfungsschaltung VS1 werden die die Befehlskennzeichnung BK bildenden Bits 0 bis 2 der Mikrobefehlswörter aus den beiden Speicherhälften CMO und CM1 sowie dem Zwischenspeicherregister CMD zugeführt und daraus auf die jeweilige Quelle CMO, CM1 und CMD - u au bezogene Befehlstypensignale analog den in FIG 2 a±lge- gebenen Kurzbezeichnungen abgeleitet, die der zweiten Verknüpfungsschaltung VS2 zugeleitet werden. Auf diese Verknüpfungsschaltung wirken des weiteren der Gültigkeitsmerker CMDV für das Zwischenspeicherregister CMD und das Signal AD-PT ein, das aus dem Gültigkeitsmerker CMDV und dem niedrigsten Bit CMAD-1 der Adres- se für den Registersteuerspeicher CM durch das ODER Glied OR gebildet wird. Das Signal AD-PT kennzeichnet als Adressenpointer dasjenige Mikrobefehlswort eines Doppelwortes aus dem Speicher CM, das unabhängig von der Kennzeichnung durch die Ansteueradresse für den Speicher CM im jeweils nächsten Bereitstellungszyklus zu berücksichtigen ist. Abhängig von den zugeführten Eingangssignalen kennzeichnet die Verknüpfungsschaltung VS2 jeweils eine von neun möglichen Signalfolgen SF1 bis SF9,die dann vom nachgeschalteten Signalverteiler SV ausgelöst wird und die einzelnen in FIG 1 gezeigten Bausteine mit Takt- und Steuersignalen versieht. Die in FIG 3 gezeigten einzelnen Baugruppen können in an sich bekannter Weise mit an sich bekannten Techniken verwirklicht werden. Die von diesen Bausteinen zu verwirklichenden Verknüpfungs- und Schaltfunktionen ergeben sich aus dem Flussdiagramm gemäss FIG 4. Der obere Teil von FIG 4 zeigt eine Reihe von Verzweigungen durch die logische ¯Verknüpfungsschaltung VS2 von FIG 3, wobei ausgehend vom Eingangssignal AD-PT die von der logischen Verknüpfungsschaltung VS1 bereitgestellten Eingangssignale überprüft werden. Diese t)ber- prüfung führt zur Bestimmung einer der Signalfolgen SF1 bis SF9 mit der Folge, dass die in den darunter lie- genden Operationskästen angegebenen Operationen vom w I Signalverteiler SV durchgeführt werden. Ausgehend von der jeweils eingeleiteten Signalfolge SF.... werden ebenfalls direkt oder abhängig von weiteren Entscheidungsprüfungen durch die Verknüpfungsschaltung VS2 die Steuersignale für den Adressenrechner AD-R abgeleitet. Diese Signale beziehen sich lediglich auf die Angaben im jeweils linken Teil der die Zeile AD-R bildenden Kästchen. Der untere Teil von FIG 4 bezieht sich auf die zu Beginn eines jeden Bereitstellungszyklus am Ausgang der beiden Speicherhälften CMO und CM1 zur Verfügung stehenden und gegebenenfalls im Zwischenspeicherregister CMD zwischengespeicherten Befehle, wobei die in FIG 2 an gegebenenKurzbezeichmngen-verwende-t worden sind. Die letzte Zeile von FIG 4 bezieht sich auf die Kennzeichnung des jeweils zu berücksichtigenden Mikrobefehlswortes durch den Adressenpointer AD-PT. Für die aus den Signalfolgen SF1 bis SF3 ableitbaren Steuerungsmöglichkeiten zeigt der Adressenpointer AD-PT jeweils auf das Mikrobefehlswort an erster Stelle im vom Speicher CM zur Verfügung gestellten Doppelwort, also das in der Speicherhälfte CMO enthaltene Mikrobefehlswort. In allen übrigen Fällen, also bei den von den Signalfolgen SF4 bis SF9 abgeleiteten Steuerungsmöglichkeiten,zeigt der Adressenpointer AD-PT dagegen auf das an zweiter Stelle im Doppelwort stehende Mikrobefehlswort. Konform mit der Kennzeichnung des jeweils ersten oder zweiten Mikrobefehlswortes innerhalb eines Doppelwortes erfolgt mit der Uberprüfung des Signals AD-PT die Verzweigung der Auswertung durch die Verknüpfungsschaltung VS2 im oberen Teil von FIG 4. Im ganz links gezeigten Fall 1a werden vom Speicher CM die Befehle PAU und 7CUP zur Verfügung gestellt, wobei zunächst der Befehl PAU auszuführen ist. Die Auswertung der zugehörigen Befehlskennzeichnungen führt zur Signalfolge SF1. Demzufolge wird das Mikrobefehlswort aus der Speicherhälfte CMO in das Befehlsregister PAM übergeben. Der zugehörige Gültigkeitsmerker PAMV wird auf 1 gesetzt. Da es sich bei dem Befehl PAU um einen einzeln auszuführenden Befehl handelt, muss der gleichzeitig von der Speicherhälfte CM1 bereitgestellte Befehl 7CUP im Zwischenspeicherregister CMD zwischengespeichert werden. Entsprechend wird der zugehörige Gültigkeitsmerker CMDHV auf 1 gesetzt. Für die Adressensteuerung wird des weiteren überprüft, ob der von der Speicherhälfte CM1 bereitgestellte Befehl ein Befehl vom Typ CUP ist. Da dies beim Fall 1a voraus setzungsgemäss nicht zutrifft, ¯ wird die im Adressenrechner AD-R vorhandene Adresse für den Speicher CM nur um einen Schritt weitergeschaltet, so dass im nächsten Bereitstellungszyklus der Adressenpointer AD-PT auf das zweite Befehlswort im Doppelwort zeigt. Die Doppel wrtadresse AD für den Speicher CM wird dadurch nicht beeinflusst, da die Änderung der niedrigsten Bitstelle der Adresse die Doppelwortadresse nicht beeinflusst. Liefert dagegen die Speicherhälf-te CM1 gemäss Fall Ib einen Befehl vom Typ CUP, so wird die Adresse für den Speicher CM im Adressenrechner AD-R um zwei Schritte erhöht und folglich das nächste Doppelwort angesteuert, damit zusammen mit dem im Zwischenspeicherregister CMD zwischengespeicheften Befehl CUP im nächsten Bereitstellungszyklus der parallel ausführbare nachfolgende Befehl-vom Speicher CM bereitgestellt werden kann. Un ffi ängig davon zeigt der Adressenpointer AD-PT auf den als nächsten Befehl auszuführenden Befehl CUP, der im Zwischenspeicherregister CMD zwischengespeichert wird, da mit Setzen des Gültigkeitsmerkers CMDHV zeitverzögert im laufenden Bereitstellungszyklus auch der Gültigkeitsmerker CMDV gesetzt wird, der über das ODER Glied OR in FIG 3 unabhängig vom niedrigsten Adressen bit CMAD-1 das entsprechende Signal AD-PT liefert. Analoges gilt für die Fälle 2a und 2b, wenn anstelle des Befehls PAU der Befehl CU von der Speicherhälfte CMO geliefert wird, nur wird das von der Speicherhälfte CMO gelieferte Befehlswort an das Befehlsregister CUM weitergeleitet und demzufolge der Gültigkeitsmerker CUMV gesetzt. Eine weitere Besonderheit ergibt sich daraus, dass mit jedem Befehl CU, der von der Kontrolleinheit ausgeführt wird, eine nichtlineare Adressenärderung verbunden sein kann. In der rechten Hälfte der die Zeile AD-R bildenden Kästchen ist daher ein Eintrag MIAD vorgesehen, der anzeigt, dass wahlweise eine lineare Adressenänderung um ein oder zwei Zählschritte oder aber eine nichtlineare Adressenänderung anhand einer dem Adressenrechner AD-R von aussen zugeführten Adresse MIAD vorzunehmen ist. Die Befehlskombination CUP/PÄU gemäss Fall 3, die die Signalfolge SF3 auslöst, stellt den Idealfall dar, da nämlich zugleich mit dem Befehl CUP an erster Stelle der parallel dazu ausführbare Befehl PAU bereitgestellt wird. Beide Befehle können daher unmittelbar in die zugehörigen Befehlsregister überführt werden, also das Befehlswort aus der Speicherhälfte CMO in das Befehlsregister CUM und das Befehlswort aus der Speicherhälfte CM1 in das Befehlsregister PAM, wobei gleichzeitig die zugehörigen Gültigkeitsmerker CUMV und PAMV gesetzt werden. Folglich wird auch die Adresse im Adressenrechner AD-R um zwei Schritte bei linearer Adressenfolge erhöht und damit das nächste Doppelwort angesteuert oder es wird im Falle einer nichtlinearen Adressenänderung die Adresse MIAD verwendet. In Auswirkung der Signalfolgen SF1 oder SF2 mit Zwischenspeicherung des von der SpeicherhÅalfte CM1 g#e lieferten Befehlswortes im Zwischenspeicherregister CMD und gleichzeitigem Setzen des GültigkeitsmerkersCMDHV wird im jeweils ablaufenden Bereitstellungszyklus auch der Gültigkeitsmerker CMDV gesetzt, so dass im nachfol genden Bereitstellungszyklus die Signalfolgen SF7 bis SF9 entsprechend den Fällen 7 bis 9b zum Tragen kommen. Ist gemäss Fall 7 im Zwischenspeicherregister CMD ein Befehl PAU gespeichert, der als Einzelbefehl allein ver arbeitet wird, so wird dieser Befehl vom Zwischenregister speicher CMD in das zugehörige Befehlsregister PAM über tragen, der zugehörige Gültigkeitsmerker PAMV gesetzt und der Gültigkeitsmerker CMDHV gelöscht. Für die nach folgende Adressenrechnung wird der Adressenzähler normalerweise um einen Schritt weitergeschaltet und damit das nächstfolgende Doppelwort im Speicher CM adressiert. Analoges gilt für den Fall 8 mit dem Unterschied, dass im Zwischenspeicherregister CMD ein Befehl CU gespei chert ist, der gegebenenfalls eine nichtlineare Adressen änderung anhand der von aussen zugeführten Adresse MIAD auslösen kann. Ist dagegen,wie bei-den Fällen 9a und 9b, im Zwischenspeicherregister CMD ein Befehl CUP ge speichert, der parallel zu einem nachfolgenden Befehl PAU auszuführen ist, so muss zunächst das nachfolgende Doppelwort im Speicher CM gelesen werden. In diesem Falle ergibt sich eine Diskrepanz zwischen der Adresse AD und dem internen Adressenpointer AD-PT, der nach wie vor auf das zweite Wort innerhalb eines Doppelwortes zeigt, das allerdings im Zwischenspeicherregister CMD zwischengespeichert ist. Die Fälle 9a und 9b ergeben sich als Folgefälle aus den Fällen 1b und 2b, die eine Erhöhung des Adressenzählers für den Speicher CM um zwei Schritte nach sich ziehen und damit die Bereitstellung des nachfolge#nd - benötigten Doppelwortes aus lösen. Mit der Signalfolge 9 wird daher der im Zwischen speicherregister CMD enthaltene Befehl CUP in das Register CUM überführt und der zugehörige Gültigkeitsmerker CUMV gesetzt. Gleichzeitig wird von dem bereitgestellten nachfolgenden Doppelwort das Befehlswort aus der Speicherhälfte CMO inöas Register PAM überführt und der zugehörige Gültigkeitsmerker PAMV ebenfalls gesetzt, so dass zwei Befehle gleichzeitig in den Befehlsregistern zur Verarbeitung zur Verfügung stehen. Mit einem Folgetakt, was durch einen Querstrich im zugehörigen Operationenfeld angedeutet ist, wird das zweite Wort des vom Speicher CM bereitgestellten Doppelwortes aus der Hälfte CM1 in das Zwischenspeicherregister CMD überführt. Der bis dahin gesetzte zugehörige Gültigkeitsmerker CMDHV bleibt aufgrund der erneuten Zwischenspeicherung im Zwi -. schenspeicherregister CMD -gesetzt. Dieser bis hierher geschilderte Ablauf ist für beide Fälle 9a und 9b gleich. Unterschiede ergeben sich lediglich bezüglich der Adressrechnung. Liegt entsprechend dem Fall 9a an zweiter Stelle des gelesenen Doppelwortes ein Befehl ,CUP, also ein einzeln auszuführender Befehl vor, so wird der Adressenzähler im Adressenrechner AD-R nur um einen Schritt erhöht und damit auf die Signalfolge 7 oder 8 für den nachfolgenden Bereitstellungszyklus übergeleitet. Handelt es sich dagegen um einen parallel ausführbaren BefehlCUP, so muss bereits das nächstfolgende Doppelwort im Speicher CM angesteuert und demzufolge der Adressenzähler um zwei Schritte erhöht werden. Im nächstfolgenden Bereitstellungszyklus ergibt sich daher ausgehend von der Signalfolge 9 entweder der Fall 9a oder wiederum der Fall 9b. Die Signalfolgen SF4 bis SF6 stellen Sonderfälle dar, die nur zum Tragen kommen, wenn einerseits der Adressenpointer AD-PT auf das zweite Befehlswort im Speicher CM zeigt und andererseits im Zwischenspeicherregister CMD kein Befehl gespeichert ist. Diese Voraussetzungen sind normalerweise nur nach einer nichtlinearen Adressen änderung, z.B. nach einem Sprung, erfüllt. Bei den Befehlen PAU und CU analog den Fällen 4 und 5 werden die Befehle zur Befehlsverarbeitung in die zugehörigen Register übernommen und die zugehörigen Gültigkeitsmerker gesetzt. Liegt dagegen entsprechend Fall 6 ein Befehl CUP vor, so kann dieser nicht unmittelbar ausgeführt werden, da erst der parallel dazu zu verarbeitende Befehl bereitgestellt werden muss. Der Befehl CUP wird daher im Zwischenspeicherregister CMD zunächst zwischengespeichert und der zugehörige Gültigkeitsmerker CMDHV gesetzt. In allen drei Fällen 4 bis 6 wird der Adressenzähler im Adressenrechner AD-R um 1 erhöht und damit die Adresse auf das nachfolgende Doppelwort im Speicher CM eingestellt. Die Bereitstellungssteuerung B-ST erfüllt also mehrere Aufgaben. Zunächst steuert sie über die Multiplexer das Laden der einzelnen Befehlsregister anhand der in den Mikrobefehlswörtern mitgeführten Befehlskennzeichnungen EK, des weiteren verwaltet sie das Zwischenspeicherregister CMD, dessen Inhalt entscheidend in den Steuerungsablauf eingreift. Schliesslich ist der Adressenpointer AD-PT zu berücksichtigen, da bei einem Befehl CUP an zweiter Stelle eines Doppelwortes infolge des Vorauslesens des nächsten Doppelwortes die Adresse AD für den Registersteuerspeicher CM nicht mehr auf die als nächste durchzuführende Elementaroperation weist. Die Belegung der einzelnen Register, insbesondere des Zwischenspeicherregisters CMD wird durch zugehörige Gültigkeitsmerker überwacht, wobei der Gültigkeitsmerker für das Zwischenspeicherregister CMD zweistufig ausgeführt ist und aus den Merkern CMDHV und C'MDV besteht. Beim Belegen des Zwischenspeicherregisters CMD wird zunächst der Gültigkeitsmerker CMDHV und zeitverzögert im laufenden Bereitstellungszyklus auch der Gültigkeitsmerker CMDV gesetzt, wobei aber nur der Gültigkeitsmerker CMDV, wie bereits erläutert, in die Ablaufsteuerung eingreift. Diese Zweiteilung ist wegen einer möglichen Fehlerwiederholung nötig. Bei jeder nichtlinearen-Adressenänderung, z.B. Sprung, muss nämlich der Gültigkeitsmerker CMDV zurückgesetzt werden. Passiert nun während des laufenden Bereitstellungszyklusses ein Fehler, so wird bekanntlich der Änderungstakt für die Register im laufenden Zyklus gesperrt, so dass sämtliche Eingangsbedingungen für das gerade anstehende Mikrobefehlswort erhalten bleiben, wenn zusätzlich der Gültigkeitsmerker CMDHV zur Verfügung steht, der dann wieder im Laufe des Bereitstellungszyklus den Gültigkeitsmerker CMDV setzen kann. Letztlich hat die Bereitstellungs-Steuereinrichtung B-ST - wie bereits erläutert - Einfluss, auf die Adressenrechnung für den Registersteuerspeicher CM, damit die jeweils benötigten Befehlswörter zeitgerecht bereitgestellt werden können. 4 Figuren 8 Patentansprüche

Claims: Patentansprüche 1. Mikroprogramm-Steuereinrichtung mit einem Registersteuerspeicher, der bei jedem Lesezugriff ein erstes und ein zweites Mikrobefehlswort gleichzeitig für die nachfolgende Auswertung bereitstellt, d a d u r c h g e k e n n z ei c h n e t , dass der Ausgang des Registersteuerspeichers (CM) für das zweite Mikrobefehlswort (Teil CM1) mit einem Zwischenspeicherregister (CMD) verbunden ist, dass der Ausgang des Registersteuerspei- chers (CM) für das erste-Mikrobefehlswort (Teil CMO) und der Ausgang des Zwischenspeicherregisters (CMD) für das zweite Mikrobefehlswort jeweils mit einem der Eingänge von zwei Multiplexern (MUX1/MUX2) verbunden sind, die wahlweise das eine oder andere der beiden am Eingang jeweils zur Verfügung stehend & Mikrobefehls- wörter zum Ausgang durchschalten, dass der Ausgang jedes Multiplexers (MUX1, MUX2) mit einem Befehlsregister (CUM bzw. PAM) einer selbständig arbeitenden Verarbeitungseinheit (CU) bzw. einer Gruppe von Verarbeitungseinheiten (PU, AU) verbunden ist und das die uebergabe der vom Registersteuerspeicher (CM und/oder Zwischenspeicherregister iCMD) jeweils bereitgestell ten Mikrobefehlswörter in die zugehörigen Befehlsregister (CUM bzw. PAM) durch eine Bereitstellungs-Steuereinrichtung (B-ST) abhängig von im jeweiligen Mikrobe fehlswort mitgeführten Befehlskennzeichnungen (BK) gesteuert wird, wobei die vom Registersteuerspeicher (CM) bereitgestellten Mikrobefehiswörter wahlweise einzeln nacheinander oder gleichzeitig parallel zueinander von den einzelnen Verarbeitungseinheiten (CU, PU oder AU) verarbeitet werden. 2. Mikroprogramm-Steuereinrichtung nach Anspruch 1, d a d u r c h g e k e n n z e i c h n e t , dass wenigstens dem Zwischenspeicherregister (CMD) ein Gültigkeitsmerker (CMDV) zugeordnet ist, der die Zwischenspeicherung eines Mikrobefehlswortes anzeigt, und dass die Befehlskennzeichnungen (BK) des im Zwischenspeicherregister (CMD) zwischengespeicherten Mikrobefehlswortes von der Bereitstellungs-Steuereinrichtung (B-ST) nur dann berücksichtigt werden, wenn der Gültig- keitsmerker (CMDV) gesetzt ist. 3. Mikroprogramm-Steuereinrichtung nach Anspruch 2, d a d u r c h g e k e n n z e i c h n e t , dass auch den Mikrobefehlsregistern (CUM, PAM) für die selbständig arbeitenden Verarbeitungseinheiten (CU, PU, AU) jeweils ein Gültigkeitsmerker (CUMV, PAMV) zugeordnet ist. 4. Mikroprogramm-Steuereinrichtung nach Anspruch 2 oder 3, d a d u r c h g e k e n n z e i c h n e t dass die Gültigkeitsmerker (CMDV, CUMV, PAR5J) von der Bereitstellungs-Steuereinrichtung (B-ST) verwaltet und jeweils beim Laden eines gültigen Mikrobefehlswortes in das zugehörige Register (CMD, CUM, PAM) gesetzt werden. 5. Mikroprogramm-Steuereinrichtung nach einem der-Ansprü- dhe 1¯bis 4,d a-d urch g e k e n n z e i c h n e t #, dass die Bereitstellungs-Steuereinrichtung (B-ST) eine Einrichtung zur Kennzeichnung des im jeweils nächsten Bereitstellungszyklus zu berücksichtigenden Mikrobefehis- wortes, die die Steuerlogik der Bereitstellungs-Steuereinrichtung (B-ST) beeinflusst, sowie eine Einrichtung zur Steuerung der Adressenrechnung für den Registersteuerspeicher (CM) aufweist. 6. Mikroprogramm-Steuereinrichtung nach Anspruch 5, d a d u r c h g e k e n n z e 1 c h n e t , dass die Einrichtung zur Kennzeichnung des im jeweils nächsten Bereitstellungszyklus zu berücksichtigenden Mikrobefehlswortes aus einem ODER-Glied (OR) besteht, das das niedrigste Adressenbit (CMAD-1) der im Adressenrechner (AD-R) für den Registersteuerspeicher (CM) bereitgestellten Adresse zur Kennzeichnung der Mikrobefehlswörter an zweiter Stelle mit dem Gültigkeitsmerker (CMDV) für das Zwischenspeicherregister (CMD) verknüpft. 7. Mikroprogramm-Steuereinrichtung nach Anspruch 5 oder 6, d a d u r c h g e k e nn z e i c h n e t , dass zur Steuerung der linearen Adressenfolge für den Registersteuerspeicher (CM) die im Adressenrechner (AD-R) jeweils vorhandene Adresse abhängig von einem Signal der Einrichtung zur Steuerung der Adressenrechnung in der Bereitstellungssteuereinrichtung (B-ST) um den Wert "1" oder "2" erhöht wird. 8. Mikroprogramm-Steuereinrichtung nach einem der Ansprüche 1 bis 7, d a d u r c h g e k e n n z e i c h n e t , dass der Gültigkeitsmerker (CMDV) für das Zwischenspeicherregister (CMD) zweistufig ausgeführt ist, wobei der Inhalt der ersten Stufe (CMDHV) zeitverzögert innerhalb eines Bereitstellungszyklusses auch in die zweite Stufe (CMDV) übernommen wird, die allein für den Steuerungsablauf durch die Bereitstellungs-Steuereinrichtung (B-ST) massgebend ist, dass die zweite Stufe (CMDV) bei jeder nicht linearen Adressenänderung (z.B. Sprung) für den Registersteuerspeicher (CM) zurückgesetzt wird und dass bei einem nachfolgenden Fehler im laufenden Bereitstellungszyklus der nächstfolgende Ergebnistakt zur Änderung der Daten in den Registern- (CMD, CUM, PAM) gesperrt wird.

Inventors: STADLMEIER, HANS, DIPL.-ING.
Applicants: SIEMENS AKTIENGESELLSCHAFT
Application year: 1981
Main classification: G06F9
IPC codes: G06F9