DEVICE FOR THE PREPARATION OF A CONTINUAL ADDRESS FOR A MICRO-PROGAMME-CONTROLLED SEQUENCER, AND METHOD FOR ITS OPERATION

Abstract: 1. A device for the prepartion of a continue-address (CA) for a micro-programme-controlled sequencer (SQ) which has the following features : - a micro-command store (ROM) contains micro-command (MB) which can be addressed by applying micro-command addresses (ROMA) to the micro-command store (ROM) ; - each micro-command (MB) is either of the organisation micro-command type or the non-organisation micro-command type ; - the type of each micro-command (MB) is determined by the contents of a special storage location (ORG-Bit) of the respective micro-command (MB) ; - a current micro-command (MB) which is to be executed is contained in a micro-instruction register (MPIRi, i = 0, 1, 2, 3) which is connected at its input to the output of the micro-command store (ROM) ; - the micro-command address (ROMA), under which the current micro-command (MB), contained in the micro-instruction register (MPIRi), can be addressed in the micro-command store (ROM) ist stored in a micro-command address register (MPA-Ri ; i = 0, 1, 2, 3) ; - the micro-command address register (MPA-Ri) is connected at its input both to the address input of the micro-command store (ROM) and to an output of the sequencer (SQ) ; - the micro-command address register (MPA-Ri) is connected at its ouput to an incrementer (INCR) to the output of which a micro-command address is applied which is incremented by the numerical value "1" in relation to the micro-address (ROMA) stored in the micro-command address register (MPA-Ri) ; - a multiplexer (MUX) is connected via a first input (1) to the output of the incrementer (INCR), is connected via a second input (DIAM) to the output of the micro-command address register (MPA-Ri) and is also connected via a control input to an output of the micro-instruction register (MPIRi) at which the content of the special storage location (ORG-Bit) occurs as output signal ; - the continue-address (CA) occurs at the output of the multiplexer (MUX) ; - the output of the multiplexer (MUX) is connected to an input of the sequencer (SQ) which is provided for the continue-adress (CA).

Description: Vorrichtung zur Bereitstellung einer tContinue'-Adresse für einen mikroprogramm-gesteuerten Sequenzer und Verfahren zu ihrem Betrieb. Die Erfindung betrifft eine Vorrichtung zur Bereitstellung einer 'Continue'-Adresse für einen mikroprograinin- gesteuerten Sequenzer nach dem Oberbegriff des Anspruchs 1 und ein Verfahren zu ihrem Betrieb. Beispielsweise besitzt ein integrierter Hochleistungs DMA-Kontroller ADMA (advanced direct memory access) vier voneinander unabhängige Kanäle, die den Datentransfer zwischen Medien (Speicher, Peripherie-Geräte) oder allgemein gesprochen zwischen Datenquelle und Datensenke bewerkstelligen. Die Haupt Steuerung der anale überneh- men Mieroprogramme. Die Folge der Mikrobefehle wird von einem Sequenzer gesteuert. Der Sequenzer stellt bei erfüllter Testbedingung eine Verzweigungsadresse bereit, die aus dem gerade aktuellen Mikrobefehl selber oder aus anderen Einheiten (t.B. Mapper) stammen; anderenfalls liefert der Sequenzer eine 'Continue'-Adresse die üblicherweise die um 1 inkrementierte Mikroadresse des laufenden Mikrobefehls ist. Diese Vorgehensweise wird gewählt bei Ausführung von sogenannten Organisations-Mikrobefehlen (ORG-Befe'nle) des ADMA. Diese Organisations-Mikrobefehle lesen Steuerparameter für den Datentransfer aus einem Organisations speicher, schreiben nach Beendigung des Datentransfers Parameter (z.B. Status) wieder in diesen Organisationsspeicher zurück und führen interne Verwaltungsaufgaben durch. Bei nichterfüllten Testbedingungen wird also stets der Folge-Mikrobefehl ausgeführt, welcher an einer Mikroadresse +1 bezogen#auf den aktuellen Mikrobefehl in einem Mikrobefehlsspeicher ROM steht. Beim ADMA besteht nun das Problem, dass unter bestimmten Umständen bei der eigentlichen Datenübertragung derselbe #-Befehl, der ein Nicht-Organisations-Mikrobefehl ist, zweimal hintereinander ausgeführt werden muss, um dann erst zu einem anderen Mikrobefehl zu verzweigen. Dies passiert beispielsweise, wenn zwecks Minimierung der Belegung des externen Busses zwei Bytes hintereinander von einer Datenquelle gelesen werden sollen, um dann ein Wort bestehend aus diesen zwei Bytes auf einmal zu einer Datensenke zu transferieren. Es ist nun wünschenswert, diese mehrfach hintereinander auszuführenden Mikrobefehle nicht zweimal hintereinander mit unterschiedlichen Sprungbedingungen und Sprungadressen in den Mikrobefehlsspeicher ROM schreiben zu müssen. Ebenso wenig möchte man in einem Mikrobefehl zwei Sprungadressen mitführen, die je nach Testergebnis, nämlich ob die Testbedingungen erfüllt sind oder nicht, ausgewählt werden. Der vorliegenden Erfindung liegt die Aufgabe zugrunde, eine Vorrichtung der eingangs genannten Art und ein Verfahren zu ihrem Betrieb anzugeben, die die Verwendung eines möglichst kleinen Mikrobefehlspeichers ROM und zudem eine möglichst kurze Lesezeit ermöglichen. Diese Aufgabe wird erfindungsgemäss durch eine Vorrichtung nach dem Anspruch 1 gelöst. Ausgestaltungen und Vorteile der Erfindung sind in den Unteranspruchen, der Beschreibung und der Zeichnung dargestellt. Die Erfindung ermöglicht die Verwendung eines möglichst kleinen Mikrobefehlspeichers ROM und damit eine möglichst kurze Lesezeit dadurch, dass die Bildung der 'Continue' Adresse abhängig gemacht wird vom Typ des Mikrobefehls, der in einem Bit (ORO-Bit) im Mikrobefehl mitgeführt wird und auch für andere Zwecke benötigt wird. Ein Ausführungsbeispiel der Erfindung ist in der Zeichnung dargestellt und wird im folgenden näher beschrieben. Die Figur zeigt ein Blockschaltbild für ein Ausf¯hrungs- beispiel der Erfindung. Die Bildung der 'Continue'-Adresse CA ist abhängig vom Typ des Mikrobefehls MB, der in einem Bit ORG mitgeführt wird. Bei 0rganisations#Mikrobefehlen (ORG-3it gesetzt) ist die 'Continue'-Adresse CA die relativ zur Mikrobefehlsadresse ROMA des aktuellen Mikrobefehls MB um 1 inkrementierte Mikroadresse, welche von einem Inkrementer INCR geliefert wird. Bei DMA-Nikrobefehlen oder allgemeiner gesprochen bei Nicht-Organisations-Mikrobefehlen (ORC-Bit nicht gesetzt im zugehörigen Mikrobefehl) ist die 'Continue'-Adresse CA die unverändefte aktuelle Mikrobefehlsadresse ROMA, die in einem Mikrobefehls-Adressregister MPARi, i = 0,1,2,3), enthalten ist. Jede Mikrobefehlsadresse ROMA, die zu einem aktuellen Mikrobefehl MB zugehörig ist, ist in einem Mikrobefehls-Adressregister MPARi enthalten, welches zu einem Mikroinstruktionsregister MPIRi, i = 0,1,2,3, zugehörig ist. In diesem Mikroinstruktionsregister MPIRi ist der aktuelle Mikrobefehl MB enthalten. Die Bereitstellung der 'Continue'-Adresse CA wird in dem in der Figur dargestellten Ausführungsbeispiel der Erfindung mittels eines Multiplexers MMK gesteuert. Dieser Multiplexer MUI legt entweder die von einer in der Figur nicht dargestellten zentralen Steuereinheit selektierte Mikroprogrammadresse ROMA aus einem selektierten Mikropro gramm-Adressregister MPARi oder den Ausgang des Inkrementers INCE an den ¯Continue'-Adresseingang des Sequenzers SQ. Im Prinzip kann die Bildung der 'Continue'-Adresse CA auch über eirein der Figur gestrichelt gezeichnete Leitung mit dem Signal TNE ('Test nicht erfüllt') gesteuert werden. Dieses Signal TNE unterdrückt die Takte für das aktuelle Mikroprogramm-Adressregister MPARI und für das aktuelle Mikroinstruktionsregister MPIRi, falls die unveränderte aktuelle Mikrobefehlsadresse ROMA, die in dem selektierten Mikrobefehls-Adressregister MPARi enthalten ist, als 'Continue'-Adresse CA benötigt wird. Dieses Signal TNE wird ebenfalls über das ORG-Bit, das im Mikrobefehl MB enthalten ist, gesteuert. In diesem Fall wird zwar der Inkrementer INCR für den Fall benötigt, dass das ORG-Bit gesetzt ist und die 'Continue'-Adresse CA die relativ zur aktuellen Mikrobefehlsadresse ROMA um 1 inkrementierte Mikrobefehlsadresse ist. Bei Vorhandensein einer Leitung mit dem Signal TNE wird jedoch ein Multiolexer MUI nicht benötigt. Bei Verwendung eines Signals TNE müssen die Takte für das aktuelle Miiroprogramm-Adressregister MPARi und für das aktuelle Mikroinstruutionsregister MPIRi zusätzlich gesteuert werden und zugleich Testinformatio- nen TI an den Sequenzer SQ abgegeben werden. Daher ist dieser zeitkritische Pfad zusätzlich verlangsamt gegen über dem Ausfüurungsbeispiel mit dem Multiplexer MUX. Weiter ist bei Verwendung eines Signals TNE die Steuerung des Sequenzers SQ unnötig verteilt und inhomogen im Vergleich mit dem Ausführungsbeispiel, bei dem der Multi peter MUX verwendet wird. Bei Mikrobefehlen, bei denen das ORG-Bit nicht gesetzt ist, ist die 'Continue'-Adresse CA die unveränderte aktuelle Mikrobefehlsadresse ROMA. Bei Organisations Mikrobefehlen,#bei denen das ORG-Bit gesetzt ist, ist dann, wenn die Testbedingungen nicht erfüllt sind, die 'Continue'-Adresse CA die um 1 inkrementiefte aktuelle Mikrobefehlsadresse ROMA. Bei erfüllten Testbedingungen stellt der Sequenzer SQ eine Verzweigungsadresse JA bereit, die aus dem Mikrobefehl MB selber oder aus anderen Einheiten (z.3. Mapper) stammen. Der Sequenzer SQ erhält zusätzlich zu den Testinformationen TI noch Steuerinformationen SI über eine zentrale Steuereinheit, die ihrerseits von der Zentraleinheit (CPU) gesteuert wird, oder von einer Ausführungssteuerung innerhalb eines elektronischen Bausteines, zu dem die in der Figur dargestellte Vorrichtung gehört. Die von dem Sequenzer SQ bereitgestellte aktuelle Mikrobefehlsadresse ROMA wird in einem Zwischenspeicher SLATCE zwischengespei chert und trägt sodann dazu bei, dass aus dem Mikrobefehl- speicher ROMA der zu dieser aktuellen Mikrobefehlsadresse ROMA gehörige Mikrobefehl MB ausgelesen wird.

Claims: Patentans#rUche: 1. Vorrichtung zur Bereitstellung einer 'Continue' Adresse (CA) für einen mikroprogramm-gesteuerten Sequenzer (SQ), g e k e n n z e i c h n e t durch Mittel (TNE, MAUL, INCR) zur Bildung der 'Continue'-Adresse (CA) in Abhängigkeit vom Typ (ORG, DMA) des gerade in einem Mikroinstruktionsregister (MPXRi, i = 0,1,2,3) enthaltenen Mikrobefehls (NB). 2. Verfahren zum Betrieb einer Vorrichtung nach Ansprach 1, dadurch g e k e n n s e i c h n e t , dass die Bildung der 'Continue'-Adresse (CA) mittels eines Multiplexers (MUX) gesteuert wird, der entweder die zu dem im Mikroinstruktionsregister (MPIRi) enthaltenen Mikrobefehl (MB) gehörige Mikrobefehlsadresse (ROMA) oder diese in einer Vorrichtung (INCR) modifizierte Mikrobe- fehlsadresse (ROMA) an den 'Continue '-Adresseingang des Sequenzers (SQ) legt. 3. Verfahren zum Betrieb einer Vorrichtung nach Anspruch 1, dadurch g e k e n n ze i c h n e t , dass die Bildung der 'Continue'-Adresse (CA) durch Mittel (TNE) gesteuert wird, die bei Bedarf eine Unterdrückung der Takte für das Mikroinstruutionsregister (MPIRi) und #ur ein zugehöriges Mikroprogramm-Adressregister (MPARi) veranlassen.

Inventors: STADLMEIER, HANS, DIPL.-ING.
Applicants: SIEMENS AKTIENGESELLSCHAFT BERLIN UND MUNCHEN
Application year: 1983
Main classification: G06F9
IPC codes: G06F9, G06F13