DE2622974A1 - Mikroprogrammierbares steuerwerk - Google Patents

Mikroprogrammierbares steuerwerk

Info

Publication number
DE2622974A1
DE2622974A1 DE19762622974 DE2622974A DE2622974A1 DE 2622974 A1 DE2622974 A1 DE 2622974A1 DE 19762622974 DE19762622974 DE 19762622974 DE 2622974 A DE2622974 A DE 2622974A DE 2622974 A1 DE2622974 A1 DE 2622974A1
Authority
DE
Germany
Prior art keywords
command
binary
control unit
command word
flip
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.)
Pending
Application number
DE19762622974
Other languages
English (en)
Inventor
Heinrich Dipl Ing Lange
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE19762622974 priority Critical patent/DE2622974A1/de
Priority to US05/797,341 priority patent/US4131835A/en
Priority to IT23643/77A priority patent/IT1074343B/it
Priority to BE177761A priority patent/BE854861A/xx
Priority to NL7705597A priority patent/NL7705597A/xx
Publication of DE2622974A1 publication Critical patent/DE2622974A1/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/226Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format

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)
  • Read Only Memory (AREA)

Description

SIEMENS AKTIENGESELLSCHAFT L Unser Zeichen Berlin und München VPA TB P 2 0 8 2 BRD
Mikroprogramm!erbares Steuerwerk.
Die Erfindung bezieht sich auf ein mikroprogrammierbares Steuerwerk, bei dem ein aus einer Mehrzahl von Befehlswörtern bestehendes Mikroprogramm in einem Speicher"gespeichert ist, bei dem die Adressen der Befehlswörter in einem mit dem Speicher verbundenen Adreßregister gespeichert sind, bei dem mittels Decodierer Steuersignale für ein zu steuerndes Schaltwerk erzeugt werden und bei dem mittels Multiplexer Bedingungen in dem Schaltwerk abfragbar sind.
Es ist bereits allgemein bekannt, Steueraufgaben in Schaltwerken 10- mit Hilfe von Mikroprozessoren durchzuführen. Derartige Mikroprozessoren stellen verhältnismäßig leistungsfähige Steuerrechner dar, die in einem oder mehreren integrierten Bausteinen untergebracht sind. Bedingt durch die verwendete Technologie, im allgemeinen MOS-Technologie, weisen diese Mikroprozessoren jedoch lange Befehlszeiten auf. Sie eignen sich damit nicht für Steueraufgaben, bei deinen eine geringe Befehlsfolgezeit erforderlich ist.
Eine Analyse der von einem mikroprogrammgesteuerten Schaltwerk zu übernehmenden Aufgaben zeigt, daß es nicht in allen Fällen notwendig ist, daß das Steuerwerk auch arithmetische Funktionen, wie beispielsweise Addition oder Subtraktion ausführt, wie es die gegenwärtig verfügbaren Mikroprozessoren mit Hilfe eines weit gefächerten Befehlssatzes vermögen. In den meisten Fällen kann jedoch nicht auf eine Abfrage von veränderbaren Zuständen in dem zu steuernden Schaltwerk und auf eine Änderung der Zustände des zu steuernden Schaltwerkes in Abhängigkeit von abgefragten Bedingungen verzichtet werden. Darüber hinaus sind gegebenenfalls logische Verknüpfungen der abgefragten Bedingungen erforderlich.
VPA 76 E 2035
Ret 13 Ram / 19.5.1976 709 847/0581
Der Erfindung liegt daher die Aufgabe zugrunde ein mikroprogrammierbares Steuerwerk anzugeben, mit dem diese letztgenannten Funktionen durchführbar sind und das eine im Vergleich zu Mikroprozessoren geringere Zykluszeit aufweist.
5'
Erfindungsgemäß wird die Aufgabe bei dem mikroprogrammierbaren Steuerwerk der eingangs genannten Art dadurch gelöst, daß eine Steuerstufe vorgesehen ist, der die Befehlswörter zugeführt werden und die jeweils eine Mehrzahl von Binärzeichen eines Befehls-Wortes zu den Decodierern durchschaltet, wenn im Befehlswort ein vorgegebenes erstes Binärzeichen einen ersten Binärwert hat, die jeweils eine Mehrzahl von Binärzeichen des Befehlswortes zu Auswahleingängen der Multiplexer durchschaltet, wenn das vorgegebene erste Binärzeichen einen zweiten Binärwert hat und die das Befehlswort als Adresse zum Adreßregister durchschaltet, wenn ein vorgegebenes zweites Binärzeichen im vorhergehenden Befehlswort einen festgelegten Binärwert hat.
Das mikroprogrammierbare Steuerwerk gemäß der Erfindung hat gegenüber den bekannten Mikroprozessoren den Vorteil, daß es eine besonders einfache Struktur aufweist und universelle Anschlußmöglichkeiten an das zu steuernde Schaltwerk hat. Das Steuerwerk kann in Form integrierter Bausteine kostengünstig hergestellt werden. Die Elemente des Mikroprogramms sind Befehle mit sehr einfacher Struktur. Damit wird die Programmierung des Steuerwerkes sehr einfach. Umfangreiche Steuerungsaufgaben können beispielsweise durch mehrere mikroprpgraitimierte Steuerwerke durchgeführt werden, die weitgehend selbständig arbeiten und durch ein weiteres mikroprogrammiertes Steuerwerk oder beispielsweise einen Mikroprozessor, der die übergeordnete Steuerung des gesamten Funktionsablaufs übernimmt, gesteuert werden. Die Steuerwerke arbeiten somit in einer Hierarchie, bei der die schnellen Steuerwerke mit ihrem begrenzten Wirkungsbereich nur dort eingesetzt werden, wo sie unbedingt erforderlich sind. Die übrigen Funktionen und insbesondere die Koordinierung wird von dem langsamen, übergeordneten Steuerwerk durchgeführt. Auf diese Weise werden für das gesamte Steuersystem günstige Kosten erreicht.
WA76E2035 709847/0581
- Λ 2672974-
Falls in dem Schaltwerk nicht einzelne Steuersignale, sondern gleichzeitig eine Mehrzahl von Steuersignalen erzeugt werden soll oder falls einzelne Zähler oder Register in dem Schaltwerk geladen werden sollen ist es vorteilhaft, wenn die Steuerstufe derart ausgebildet ist, daß sie ein Befehlswort als Konstante zum Schaltwerk durchschaltet, wenn im vorhergehenden Befehlswort das vorgegebene erste Binärzeichen den ersten Binärwert und eine Mehrzahl von Binärzeichen festgelegte Binärwerte haben.
Falls eine Mehrzahl von Konstanten zu:? Schaltwerk durch geschaltet werden soll ist es zweckmäßig, wenn die Steuerstufe derart ausgebildet ist, daß sie eine Mehrzahl von die Konstanten darstellenden Befehlswörtern, nach Auslösung durch ein vorhergehendes Befehlswort, zeitlich nacheinander zum Schaltwerk überträgt.
Um mit Hilfe des mikroprogrammierbaren Steuerwerkes auch logische Verknüpfungen von abgefragten Bedingungen durchführen zu können ist es von Vorteil, wenn die Steuerstufe Schaltglieder enthält, mit denen sich aus der zeitlichen Aufeinanderfolge einer Mehrzahl von Befehlswörtern ergebende logische Verknüpfungen durchführbar sind.
Eine ODER-Verknupfur.g der abgefragten Bedingungen wird durchgeführt, wenn die Steuerstufe ein erstes Flipflop enthält, das jeweils gesetzt wird, wenn mindestens eine von mehreren nacheinander abgefragten Bedingungen erfüllt ist und das zurückgesetzt wird, wenn ein Befehlswort folgt, das kein Abfragen von Bedingungen auslöst.
Eine UND-Verknüpfung der abgefragten Bedingungen wird durchgeführt, wenn die Steuerstufe ein zweites Flipflop enthält, das gesetzt wird, wenn mindestens eine von mehreren nacheinander abgefragten Bedingungen nicht erfüllt ist und das zurückgesetzt wird, wenn " ein Befehlswort folgt, das kein Abfragen von Bedingungen auslöst. Zur Ansteuerung des zweiten Flipflops ist es zweckmäßig, wenn dem zweiten Flipflop ein weiteres Flipflop vorgeschaltet ist, das jeweils zu Beginn des Befehls, mit dem Bedingungen abgefragt werden, gesetzt und das immer dann zurückgesetzt wird, wenn die Bedingung
VPA 76 E 2035
709847/0581
-A 2672974
erfüllt war und das zu einem späteren Zeitpunkt des Befehls, falls es zu diesem Zeitpunkt noch nicht.zurückgesetzt war, das zweite Flipflop setzt,
Eine Umschaltung zwischen einer ODER-Verknüpfung und einer UND-Verknüpfung erfolgt zweckmäßigerweise dadurch, daß ein drittes Flipflop vorgesehen ist, das durch an die Decodierer übertragene Befehlswörter gesetzt und zurückgesetzt wird und das eine ODER- bzw. UND-Verknüpfung auslöst, wenn es gesetzt bzw. zurückgesetzt ist.
Da die Befehlswörter in Abhängigkeit von vorangehenden Befehlswörtern ihre Bedeutung verändern ist es zweckmäßig, wenn die Steuerstufe Speicherglieder enthält, denen die ersten und zweiten vorgegebenen Binärzeichen des Befehlswortes zugeführt werden und die jeweils das erste und das zweite vorgegebene Binärzeichen des jeweils vorangehenden Befehlswortes speichern.
Der Aufwand an Decodierern im Schaltwerk wird vermindert, wenn die Steuerstufe in einem Vordecodierer einen Decodierer enthält, dem jeweils vorgegebene Binärzeichen des Befehlswortes zugeführt werden und der an die Decodierer im Schaltwerk Auswahlimpulse abgibt.
In ähnlicher Weise wird der Aufwand an Multiplexern erheblich vermindert, wenn die Steuerstufe in einem Vordecodierer einen Decodierer enthält, dem jeweils vorgegebene Binärzeichen des Befehlswortes zugeführt werden und der an jeweils einen Auswahleingang der Multiplexer im Schaltwerk Auswahlimpulse abgibt.
Im folgenden wird ein Ausführungsbeispiel des mikroprogrammierbaren Steuerwerkes gemäß der Erfindung anhand von Zeichnungen beschrieben.
Es zeigen:
Fig. 1 ein Blockschaltbild des mikroprograiranierbaren Steuerwerkes, Fig. 2 eine schematische Darstellung von Befehlswörtern, Fig. 3 ein Schaltbild einer Steuerstufe des mikroprogrammierbaren Steuerwerkes.
VPA 76 E 2035 ' 709847/0S81
Das in Fig. 1 dargestellte mikroprogrammierbare Steuerwerk enthält einen Taktgeber TG, der Taktimpulse T vorgegebener Folgefrequenz an ein Adreßregister AR, an eine Steuerstufe ST und an ein zu steuernden Schaltwerk SW abgibt. Das Adreßregister AR gibt Adreß-Wörter AD an einen Speicher MPS ab, in dem ein aus einer Mehrzahl von Befehlswörtern gebildetes Mikroprogramm gespeichert ist. Das Mikroprogramm besteht beispielsweise aus 256 Befehlswörtern, die wiederum jeweils beispielsweise aus acht Binärzeichen und gegebenenfalls weiteren Binärzeichen zur Fehlersicherung bestehen. Die in Abhängigkeit von den Adreßwörtern AD aus dem Speicher MPS gelesenen Befehlswörter BW werden der Steuerstufe ST, dem zu steuernden Schaltwerk SW oder dem Adreßregister AR zugeführt.
Das Schaltwerk SW enthält eine Mehrzahl von Multiplexern M1 bis Mn, deren Ausgänge über ein ODER-Glied V3 zusammengefaßt werden. Diese Multiplexer M1 bis Mn dienen der Abfrage von Zuständen in dem Schaltwerk SW, um in Abhängigkeit davon Steuervorgänge im Schaltwerk SW durchzuführen. Zur Durchführung dieser Steuervorgänge enthält das Schaltwerk SW eine Mehrzahl von Decodierern D1 bis Dn und gegebenenfalls Register und/oder Zähler, die in einer tibernahmeeinheit UE vorgesehen sind.
Die Steuerstufe ST enthält eine Schaltstufe SS und einen Vordecodierer VD. Der Schaltstufe SS werden zwei Binärzeichen des Befehls-
°5 wortes BW zugeführt. Diese Binärzeichen geben an, ob es sich bei . dem entsprechenden Befehlswort um einen Setz/Rücksetzbefehl, um einen Abfragebefehl oder bei dem folgenden Befehlswort um eine Adresse oder Konstante handelt. An dem Vordecodierer VD liegen drei Binärzeichen des Befehlswortes BW an. Mit Hilfe dieser Binärzeichen erfolgt eine Vorauswahl der Multiplexer M1 bis Mn und der Decodierer D1 bis Dn in dem Schaltwerk SW. Die restlichen Binärzeichen v/erden den Multiplexern M1 bis Mn und den Decodierern D1 bis Dn im Schaltwerk SW unmittelbar zugeführt.
Die in Fig. 2 dargestellten Befehlswörter werden jeweils aus acht Binärzeichen B1 bis B8 gebildet. In Abhängigkeit von zwei Binärzeichen B1 und B2 werden drei Arten von Befehlswörtern unterschieden.
76 ε 2035 709847/0S81
Ein mit der Bezeichnung S versehenes Befehlswort dient dazu, in dem Schaltwerk SW Setz- oder Rücksetzimpulse zu erzeugen, durch die beispielsweise ein Flipflop gesetzt, zurückgesetzt, ein Zähler um eine Zähleinheit erhöht oder ein Register geladen wird. Das Binärzeichen B1 hat bei einem derartigen S-Befehl jeweils den Binärwert 0. Wenn das Binärzeichen B2 den Binärwert 1 hat, wird das nachfolgende Befehlswort, unabhängig vom Binärwert des Binärzeichens B1 als Adresse für das Adreßregister AR interpretiert. Auf diese Weise kann nach einem S-Befehl ein unbedingter Sprungbefehl durchgeführt werden. Die mit SR bezeichneten Binärzeichen B3 bis B8 enthalten die Codierung für die Auswahl des im Schaltwerk SW zu erzeugenden Steuersignals. Die Binärzeichen B3 bis B5 können dabei, wie in Fig. 1 angegeben, dem Vordecodierer VD zugeführt werden, der beispielsweise jeweils einen von acht Decodierern auswählt und die Binärzeichen B6 bis B8 können den Decodierern D1 bis Dn direkt zugeführt werden und sie geben an, welcher von jeweils acht Ausgängen aktiviert werden soll. Die vom Vordecodierer VD zu den Decodierern führenden Auswahlleitungen können eine Doppelfunktion haben, nämlich die Auswahl des Decodierers und die übertragung eines Impulses, der an dem jeweils ausgewählten Ausgang des Decodierers kurzzeitig abgegeben wird.
Das mit der Bezeichnung C versehene Befehlswort dient zur Abfrage von Zuständen oder Bedingungen im Schaltwerk SW. Das Binärzeichen B1 hat in diesem Fall den Binärwert 1. Das Binärzeichen B2 hat die gleiche Bedeutung wie bei dem S-Befehl. Die mit B bezeichneten Binärzeichen B3 bis B8 enthalten die Codierung für die Auswahl des abzufragenden Signals in dem Schaltwerk SW. In ähnlicher Weise wie beim S-Befehl können die Binärzeichen B3 bis B5 dem Vordecodierer VD zugeführt werden, der beispielsweise einen von acht Multiplexern im Schaltwerk SW auswählt. Die Binärzeichen B6 bis B8 werden dann jeweils den Multiplexern M1 bis Mn unmittelbar zu-' geführt und es wird jeweils ein Eingang eines Multiplexers für die Abfrage eines Signals ausgewählt. Wenn das abgefragte Signal einen vorgegebenen Binärwert, beispielsweise den Binärwert 0 hat, so sei die abgefragte Bedingung als "nicht erfüllt" definiert. Dies hat zur Folge, daß mit dem nächstfolgenden Befehlswort die diesem Befehl zugeordnete Funktion nicht durchgeführt wird. Wenn VPA 76 E 2035 „ .A_Λ ,
709847/0581
die Bedingung "erfüllt" ist, d.h., wenn das ausgewählte Signal den Binärwert 1 hat, so wird die dem nächstfolgenden Befehlswort zugeordnete Funktion wirksam.
Wenn zwei oder mehrere C-Befehle aufeinanderfolgen, v/erden die einzelnen Bedinguagen durch UND- oder ODER-Verknüpfungen verbunden. Die in nachfolgenden Operationen wirksame Bedingung ist dann das Ergebnis der Verknüpfung der Teilbedingungen. Nach einem C-Befehl oder einem S-Befehl wird der Inhalt des Adreßregisters AR um eine Zähleinheit erhöht.·
Das mit der Bezeichnung E versehene Befehlswort stellt in Abhängigkeit vom vorangehenden Befehlswort entweder eine Adresse für das Adreßregister AR oder eine achtstellige Konstante dar. Als Adresse oder Konstante stehen dabei die mit K/ADR bezeichneten Binärzeichen B1 bis B8 des Befehlswortes zur Verfügung.
Wenn mit Hilfe eines vorangegangenen S-Befehls eine übernahmeeinheit UE aktiviert wurde, so wird der Ε-Befehl als Konstante interpretiert. Es ist dabei möglich, mehrere Konstanten zeitlich unmittelbar nacheinander zum Schaltwerk SW zu übertragen. Diese Befehlswörter können beispielsweise zum Voreinstellen eines Zählers verwendet werden oder in ein Register eingespeichert werden.
n5 Wenn in einem vorangehenden S- oder C-Befehl das mit der Bezeichnung A versehene Binärzeichen B2 den Binärwert 1 hat, wird das Befehlswort, das den Ε-Befehl bildet, als Adresse für das Adreßregister AR interpretiert. Damit wird ein Mikroprogrammsprung ausgeführt, wie er beispielsweise in einer Programmverzweigung erforderlieh ist. Das Einspeichern der Adresse in das Adreßregister, d.h. der Programmsprung findet statt, wenn dem Ε-Befehl ein S-Befehl vorangeht. Auf diese Weise wird ein unbedingter Programm-• sprung durchgeführt. Außerdem findet ein bedingter Programmsprung statt, wenn dem Ε-Befehl ein C-Befehl vorangeht und die dort abgefragte Bedingung erfüllt war. Wenn eine dieser Voraussetzungen nicht erfüllt ist, so wird der Inhalt des Adreßregisters um 1 erhöht und es findet kein Programmsprung statt.
VPA 76 E 2035 709847/0S81
7622974
Wenn, wie bereits angegeben, im Mikroprogramm zwei oder mehrere C-Befehle aufeinanderfolgen, werden die Ergebnisse der einzelnen abgefragten Bedingungen logisch miteinander verknüpft. Das Verknüpfungsergebnis nach dem letzten C-Befehl wird in den nachfolgenden Operationen wirksam. Als Verknüpfungsoperationen sind die UND- und die ODER-Verknüpfung vorgesehen. Die Umschaltung zwischen einer UND- und einer ODER-Verknüpfung wird mit- Hilfe eines S-Befehls voreingestellt. Durch derartige Verknüpfungen von aufeinanderfolgenden Bedingungsabfragen werden wesentliche Einsparungen an Befehlsworten erreicht.
Für die mikroprogrammierbare Behandlung von Sonderfunktionen ist vorgesehen, daß das Mikroprogramm unterbrechbar ist. Die Unterbrechung erfolgt auf einfache Weise durch Zurücksetzen des Adreßregisters AR auf eine Anfangsadresse mit Hilfe eines in Fig. 1 dargestellten Signals RA, das beispielsweise mittels einer Taste erzeugt wird.
Weitere Einzelheiten der Figuren 1 und 2 werden im folgenden zusammen mit dem in Fig. 3 dargestellten Schaltbild der Steuerstufe ST beschrieben.
In Fig. 3 ist die in Fig. 1 abgebildete Steuerstufe ST durch Schaltbilder der Schaltstufe SS und des Vordecodierers VD darge-
'5 stellt. Weiterhin sind in Fig. 3 Teile des Schaltwerkes SW dargestellt. Die Schaltstufe SS enthält Flipflops F1 bis F6, UND-Glieder U1 bis U4, ODER-Glieder V1 und V2 sowie Inverter N1 und N2. Der Vordecodierer VD enthält zwei UND-Glieder U5 und U6 sowie zwei Decodierer DM und DD. In dem Schaltwerk SW sind vorgesehen eine Mehrzahl von Decodierern und Multiplexern, von denen jeweils nur ein Decodierer D1 bzw. ein Multiplexer M1 dargestellt ist. Die Ausgänge aller Multiplexer sind mit den Eingängen eines ODER-Glieds V3 verbunden. Weiterhin enthält das Schaltwerk SW eine Übernahmeeinheit UE, in der zwei weitere Flipflops F7 und F8, ein UND-Glied U7 sowie beispielsweise ein Register RG zur Übernahme eines eine Konstante darstellenden Befehlswortes. Die den zu steuernden Teil des Schaltwerkes SW bildenden Bauelemente, Wie Verknüpfungsglieder und/oder Flipflops sind nicht dargestellt.
VPA 76 E 2035 · 709847/0581
Die Arbeitsweise der Steuerstufe ST wird im folgenden im Zusammenhang mit der Durchführung eines S-Befehls, eines C-Befehls und eines Ε-Befehls beschrieben. . <c^
Wenn am Speicher MPS ein einem S-Befehl zugeordnetes Befehlswort BW abgegeben wird, hat das Binärzeichen B1 den Binärwert 0. Es wird angenommen, daß auf den S-Befehl kein Ε-Befehl folgen soll und daß damit das Binärzeichen B2 ebenfalls den Binärwert 0 hat. Den Binärzeichen B1 und B2 zugeordnete·Signale BS1 und BS2 liegen an den Daten«ingängen der Flipflops F1 und F2 an. An den Takteingängen der Flipflops F1 und F2 liegen Taktimpulse T2 an. Diese Taktimpulse T2 gehören zu einer Folge von Taktimpulsen T1 bis T4, die jeweils zueinander um 90 phasenverschoben sind und die die vom Taktgeber TG abgegebenen Taktimpulse T bilden. Mit dem Auftreten des Taktimpulses T2 werden die Binärwerte 0 in die Flipflops F1 und £2 eingespeichert. Mit einem Taktimpuls T1 wurde bereits das Adreßregister AR um eine Zähleinheit erhöht, um das Auslesen des nächstfolgenden Befehlswortes BW vorzubereiten. Es wird angenommen, daß im vorhergehenden Befehlswort das Binärzeichen B2 nicht den Binärwert 1 hatte. Das am Ausgang des Flipflops F2 abgegebene Signal hat damit den Binärwert 0 und das am Ausgang des ODER-Glieds V1 abgegebene Signal S1 hat damit ebenfalls den Binärwert 0. Weiterhin wird angenommen, daß kein C-Befehl voranging und ein am invertierenden Ausgang des Flipflops F1 abgegebenes Signal S2 hat
°5 damit den Binärwert 1. Am Ausgang des ODER-Glieds V2 wird ein Signal S3 mit dem Binärwert 1 abgegeben. Dieses Signal S3 liegt zusammen mit dem invertierten Signal S1, dem Taktimpuls T1 und dem invertierten Signal BS1 am Eingang eines UND-Glieds U6 an. Mit dem Auftreten des Taktimpulses T1 sind alle Bedingungen am Eingang des UND-Glieds U6 erfüllt und der Decodierer DD wird für die Dauer des Taktimpulses T1 freigegeben. An weiteren Eingängen des Decodierers DD liegen den Binärzeichen B3 bis B5 zugeordnete Signale BS3 bis BS5 an. In Abhängigkeit von den Binärwerten dieser Signale wird ein Ausgang des Decodierers DD freigegeben. An jedem Ausgang des Decodierers DD sind in dem Schaltwerk SW die weiteren Decodierer D1 bis Dn angeschlossen. Den Auswahleingängen dieser Decodierer D1 bis Dn werden den Binärzeichen B6 bis B8 zugeordnete
76E2O3S 709847/0581
Signale BS6 bis BS8 zugeführt und an einem mit Hilfe des Decodierers DD ausgewählten Decodierer wird in Abhängigkeit von den Binärwerten der Signale BS6 bis BS8 ein Ausgang aktiviert. An diesem Ausgang v/ird ein Signal aus einer Mehrzahl von Signalen R1 bis R8 abgegeben, das beispielsweise ein Flipflop im Schaltwerk setzt oder zurücksetzt, das einen Zähler oder ein Register für die Übernahme einer Konstanten vorbereitet oder in der Schaltstufe SS das Flipflop F3 so umschaltet, daß eine Mehrzahl von Ergebnissen von Bedingungsabfragen mit Hilfe von nachfolgenden C-Befehlen nach einer UND- oder einer ODER-Verknüpfung verknüpft werden.
Bei der Durchführung eines C-Befehls hat das Signal BS1 den Binärwert 1. Unter der Voraussetzung, daß kein Ε-Befehl folgt, hat das Signal BS2 den Binärwert 0. Mit dem Auftreten des Taktimpulses T2 werden der Binärwert 1 in das Flipflop F1 und der Binärwert 0 in das Flipflop F2 eingespeichert. Mit dem Taktimpuls T1 wurde bereits das Adreßregister AR um eine Zähleinheit erhöht, um das Auslesen des nächsten Befehlswortes vorzubereiten. Das Signal S1 hat den Binärwert 0 und mit dem Auftreten des Taktimpulses T1 gibt das UND-Glied U5 ein Signal an den Decodierer DM im Vordecodierer VD ab. In Abhängigkeit von den Binärwerten der Signale BS3 bis BS5 wird ein Ausgang des Vordecodierers DM aktiviert und damit wird im Schaltwerk SW ein Multiplexer zur Abfrage von Bedingungen in dem Schaltwerk SW ausgewählt. Den Auswahleingängen des Multi-
°5 plexers werden die Signale BS6 bis BS8 zugeführt, die die Adresse eines abzufragenden Signals aus einer Mehrzahl von Signalen A1 bis A8 angeben. Der Ausgang des Multiplexers M1 ist über einen Eingang des ODER-Glieds V3 mit der Schaltstufe SS verbunden. An den übrigen Eingängen des ODER-Glieds V3 sind die Ausgänge der weiteren Multiplexer im Schaltwerk SW angeschlossen.
Falls die abgefragte Bedingung nicht erfüllt ist und das Signal S4 am Ausgang des ODER-Glieds V3 den Binärwert 0 hat, wird das mit einem Taktimpuls T1 gesetzte Flipflop F6 nicht zurückgesetzt und mit dem Taktimpuls T3 wird das Flipflop F5 gesetzt. Das Flipflop F4 wird nicht gesetzt. Mit dem Taktimpuls T4 wird das nächste Befehlswort aus dem Speicher MPS ausgelesen. Dieses Befehlswort
76 E 2035 709847/0581
bleibt jedoch ohne Wirkung für den weiteren Ablauf des Mikroprogramms, da die Signale S3 und SA nicht aktiviert werden.
Falls die Bedingung jedoch erfüllt war, wird das Flipflop F6 zurückgesetzt, das Flipflop F5 wird nicht gesetzt und das Flipflop F4 wird gesetzt. Anschließend wird der durch das nächstfolgende Befehlswort angegebene Befehl durchgeführt, da über die UND-Glieder U2 oder U3 sowie das ODER-Glied V2 das Signal S3 freigegeben wird. Falls im Befehlswort das Binärzeichen B2 den Binärwert 1 hatte, ist auch das Flipflop F2 gesetzt. Damit wird über das UND-Glied U4 auch das Signal SA freigegeben und das nachfolgende Befehlswort wird als Adresse interpretiert.
Falls im Mikroprogramm mehrere C-Befehle aufeinanderfolgen, werden die Ergebnisse der einzelnen abgefragten Bedingungen logisch miteinander verknüpft. Falls eine UND-Verknüpfung der Bedingungen erfolgen soll, wird mit Hilfe eines S-Befehls das Flipflop F3 gesetzt.' Bei einer ODER-Verknüpfung wird das Flipflop F3 zurückgesetzt. Wenn einem C-Befehl ein weiterer C-Befehl folgt, so hat das Flipflop F1 den Binärwert 1. Es wird angenommen, daß den C-Befehlen ein S-Befehl voranging, der das Flipflop F3 gesetzt hat und eine UND-Verknüpfung der abgefragten Bedingungen voreingestellt hat. Mit dem Taktimpuls T1 wird wie bei jedem C-Befehl das Flipflop F6 gesetzt. Falls die abgefragte Bedingung nicht erfüllt ist, bleibt das Flipflop F6 in seiner gesetzten Lage und das Flipflop F5 wird mit dem Taktimpuls T3 gesetzt und bleibt gesetzt bis zum Taktimpuls T3 des nächstfolgenden Befehlswortes, das keinen C-Befehl darstellt. Dieser Befehl bleibt damit ebenfalls ohne Wirkung .
Unter der Annahme, daß eine ODER-Verknüpfung der abgefragten Bedingungen durchgeführt werden soll, hat das Signal am Ausgang des . Flipflops F3 den Binärwert 0. Das Signal am Ausgang des Inverters N2 hat damit den Binärwert 1 und das UND-Glied U3 ist freigegeben.
Sobald eine der abgefragten Bedingungen erfüllt ist und das Signal S4 den Binärwert 1 hat, wird das Flipflop F4 gestzt und bleibt gesetzt bis zum Taktimpuls T3 des nächstfolgenden Befehlswortes,
VPA 76 E 2035 7098A7/0581
das keinen C-Befehl darstellt. Über das UND-Glied U3 und das ODER-Glied V2 wird beispielsweise das Signal S3 an das UND-Glied U6 abgegeben. Damit kann der nächstfolgende S-Befehl ausgeführt werden .
5
Falls in einem Befehlswort, das einen S- oder einen C-Befehl darstellt, das Binärzeichen B2 den Binärwert 1 hat, wird das nächstfolgende Befehlswort als Adresse, d.h. als Ε-Befehl interpretiert. Durch die Binärzeichen dieses Befehlswortes wird eine Adresse für das nächste aus dem Speicher MPS auszulesende Befehlswort dargestellt. Beim Auftreten eines Ε-Befehls hat das Signal am Ausgang des Flipflops F2 den Binärwert 1 und das UND-Glied U4 wird freigegeben. Außerdem setzt das Signal S1 die Flipflops F1 und F2 zurück und sperrt die UND-Glieder U5 und U6. Falls dem Ε-Befehl ein S-Befehl voranging oder ein C-Befehl voranging und die abgefragte Bedingung erfüllt war, gibt das UND-Glied U4 ein Signal SA an das Adreßregister AR. Dieses Signal SA speichert das Befehlswort BW als Adresse für das nächste Befehlswort in das Adreßregister AR ein. Anschließend werden mit einem Taktimpuls T3 die Flipflops F4 und F5 zurückgesetzt.
Falls durch einen Ε-Befehl eine Konstante für das Schaltwerk SW dargestellt werden soll, wird mit Hilfe eines S-Befehls am Ausgang des Decodierers D1 ein Signal R1 erzeugt, das das Flipflop F7 setzt, Der nächstfolgende Taktimpuls T4 setzt das Flipflop F8. Das Flipflop F8 gibt an seinem Ausgang ein Signal S6 an das ODER-Glied V1 ab, das die Flipflops F1 und F2 zurücksetzt, sowie die UND-Glieder U5 und U6 sperrt. Das Signal am Ausgang des Flipflops F2 hat den Binärwert 0 und an das Adreßregister AR wird damit kein Signal SA abgegeben. Das Signal S6 gibt außerdem das UND-Glied U7 frei und mit dem nächstfolgenden Taktimpuls T2, der dem E-Befehl zugeordnet ist, werden die den Binärzeichen B1 bis B8 des Befehlswortes zugeordneten Signale BS1 bis BS8 in das Register RG eingespeichert. Am Ausgang des Registers RG werden damit Signale P1 bis P8 abgegeben, die für weitere Steueraufgabert im Schaltwerk SW zur Verfügung stehen. Anstelle des Registers RG kann auch ein Zähler vorgesehen werden, der durch die Signale BS1 bis
709847/0581
vi ?6?2974
BS8 voreingestellt wird und mit Hilfe von Taktimpulsen bis zu
einem vorgegebenen Zählerstand gezählt wird. Mit Hilfe eines
derartigen Zählers können beispielsweise Zeitverzögerungen im
Schaltwerk SW realisiert'werden. Das Flipflop F7 wird bereits während des S-Befehls mit der Rückflanke des Taktimpulses T4 zurückgesetzt. Mit der Vorderflanke des Taktimpulses T4 während des E-Befehls werden das Flipflop F8 und damit auch das Signal S6 zurückgesetzt. Damit wird das Übernahmesignal für das Register RG gesperrt.
Falls eine Mehrzahl von Konstanten zum Schaltwerk SW übertragsn werden soll, wird beispielsweise mit Hilfe eines Zählers in der Übernahmeeinheit UE das Signal S6 solange aufrechterhalten, bis alle Konstanten übertragen wurden. Mit Hilfe dieses Zählers und eines nachgeschalteten Decodierers wird außerdem eine Mehrzahl
von Übernahmesignalen erzeugt, mit denen die Konstanten an verr schiedene Register und/oder Zähler verteilt werden.
11 Patentansprüche
3 Figuren
20
VPA 76 E 2035 709847/0581
Leerseite

Claims (11)

  1. Patentansprüche
    \\j/ Mikroprogrammierbares Steuerwerk, bei dem ein aus einer Mehrzahl von Befehlswörtern bestehendes Mikroprogramm in einem Speicher gespeichert ist, bei dem die Adressen der Befehlswörter in einem mit dem Speicher verbundenen Adreßregister gespeichert sind, bei dem mittels Decodierer Steuersignale für ein zu steuerndes Schaltwerk erzeugt werden und bei dem mittels Multiplexer Bedingungen in de* Schaltwerk abfragbar sind, dadurch gekennzeichnet, daß eine Steuerstufe (ST) vorgesehen ist, der die Befehlswörter (S, C, E) zugeführt werden und die jeweils eine Mehrzahl von Binärzeichen (B3 bis B8) eines Befehlswortes zu den Decodierern (DD, D1 bis Dn) durchschaltet, wenn im Befehlswort ein vorgegebenes erstes Binärzeichen (B1) einen ersten Binärwert (11O") hat, die jeweils eine Mehrzahl von Binärzeichen (B3 bis B8) des Befehlswortes zu Auswahleingängen der Multiplexer (M1 bis Mn) durchschaltet, wenn das vorgegebene erste Binärzeichen (B1) einen zweiten Binärwert ("1") hat und die das Befehlswort als Adresse zum Adreßregister (AR) durchschaltet, wenn ein vorgegebenes zweites Binärzeichen (B2) im vorhergehenden Befehlswort einen festgelegten Binärwert ("1") hat.
  2. 2. Mikroprogrammierbares Steuerwerk nach Anspruch 1, dadurch gekennzeichnet, daß die Steuerstufe (ST) derart ausgebildet ist, daß sie ein Befehlswort als Konstante (K) zum Schaltwerk (SW) durchschaltet, wenn im vorhergehenden Befehlswort das vorgegebene erste Binärzeichen (B1) den ersten Binärwert ("0") und eine Mehrzahl von Binärzeichen (B3 bis B8) festgelegte Binärwerte haben.
  3. 3. Mikroprogrammierbares Steuerwerk nach Anspruch 2, dadurch gekennzeichnet, daß die Steuerstufe (ST) derart ausgebildet ist, daß sie eine Mehrzahl von die Konstanten darstellenden Befehlswörtern nach Auslösung durch ein vorhergehendes Befehlswort (S) zeitlich nacheinander zum Schaltwerk überträgt.
    709847/0581
    VPA 76 E 2035
    ORIGINAL INSPECTED
  4. 4. Mikroprograimnierbares Steuerwerk nach einem der Ansprüche
    1 bis 3, dadurch gekennzeichnet, daß die Steuerstufe (ST) Schaltglieder (F3 bis F6, U1 bis U3) enthält, mit denen sich aus der zeitlichen Aufeinanderfolge einer Mehrzahl von Befehlswörtern ergebende logische Verknüpfungen durchführbar sind.
  5. 5. Mikroprogrammierbares Steuerwerk nach Anspruch.4, dadurch gekennzeichnet, daß die Steuerstufe (ST) ein erstes Flipflop (F4) enthält, das jeweils gesetzt wird, wenn mindestens eine von mehreren nacheinander abgefragten Bedingungen erfüllt ist und das zurückgesetzt wird, wenn ein Befehlswort (S, E) folgt, das kein Abfragen von Bedingungen auslöst.
  6. 6. Mikroprogrammierbares Steuerwerk nach Anspruch 4 oder Anspruch 5, dadurch gekennzeichnet, daß die Steuerstufe (ST) ein zweites Flipflop (F5) enthält, das gesetzt wird, wenn mindestens eine von mehreren nacheinander abgefragten Bedingungen nicht erfüllt ist und das zurückgesetzt wird, wenn ein Befehlswort (S, E) folgt, das kein Abfragen von Bedingungen auslöst.
  7. 7. Mikroprogrammierbares Steuerwerk nach Anspruch 6, d a durch gekennzeichnet, daß dem zweiten Flipflop (F5) ein weiteres Flipflop (F6) vorgeschaltet ist, das jeweils zu Beginn eines Befehls (C), mit dem Bedingungen abgefragt werden, gesetzt und das immer dann zurückgesetzt wird, wenn die Bedingung erfüllt war und das zu einem späteren Zeitpunkt des Befehls (C), falls es zu diesem Zeitpunkt noch nicht zurückgesetzt war, das zweite Flipflop (F5) setzt.
  8. 8. Mikroprogrammierbares Steuerwerk nach einem der Ansprüche 4 bis 6, dadurch gekennzeichnet, daß ein drittes Flipflop (F3) vorgesehen ist, das durch an die Decodierer (D1 bis Dn) übertragene Befehlswörter gesetzt und zurückgesetzt wird und das eine ODER- bzw. UND-Verknüpfung auslöst, wenn es gesetzt bzw. zurückgesetzt ist.
    76 ε 2035 709847/0581
  9. 9. Mikroprogrammierbares Steuerwerk nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß die Steuerstufe (ST) Speicherglieder (F1, F2) enthält, denen die ersten und zweiten vorgegebenen Binärzeichen (B1, B2) zugeführt werden und die jeweils das erste und zweite vorgegebene Binärzeichen (B1, B2) des vorhergehenden Befehlswortes speichern.
  10. 10. Mikroprogrammierbares Steuerwerk nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß die Steuerstufe (ST) in einem Vordecodierer (VD) einen Decodierer (DD) enthält, dem jeweils vorgegebene Binärzeichen (B3 bis B5) des Befehlswortes (S) zugeführt werden und der an die Decodierer (D1 bis Dn) im Schaltwerk (SW) Auswahlimpulse abgibt.
  11. 11. Mikroprogrammierbares Steuerwerk nach einem der vorangehen-
    den Ansprüche, dadurch gekennzeichnet, daß die Steuerstufe (ST) in einem Vordecodierer (VD) einen Decodierer (DM) enthält, dem jeweils vorgegebene Binärzeichen (B3 bis B5) des Befehlswortes (C) zugeführt werden und der an jeweils einen Auswahleingang der Multiplexer (M1 bis Mn) im Schaltwerk (SW) Auswahlimpulse abgibt.
    VPA 76 E 2035 ' 709847/0581
DE19762622974 1976-05-21 1976-05-21 Mikroprogrammierbares steuerwerk Pending DE2622974A1 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE19762622974 DE2622974A1 (de) 1976-05-21 1976-05-21 Mikroprogrammierbares steuerwerk
US05/797,341 US4131835A (en) 1976-05-21 1977-05-16 Microprogrammable control unit
IT23643/77A IT1074343B (it) 1976-05-21 1977-05-17 Apparato di comando microprogrammabile
BE177761A BE854861A (fr) 1976-05-21 1977-05-20 Dispositif de commande a microprogrammation
NL7705597A NL7705597A (nl) 1976-05-21 1977-05-20 Microgeprogrammeerde stuureenheid.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19762622974 DE2622974A1 (de) 1976-05-21 1976-05-21 Mikroprogrammierbares steuerwerk

Publications (1)

Publication Number Publication Date
DE2622974A1 true DE2622974A1 (de) 1977-11-24

Family

ID=5978738

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19762622974 Pending DE2622974A1 (de) 1976-05-21 1976-05-21 Mikroprogrammierbares steuerwerk

Country Status (5)

Country Link
US (1) US4131835A (de)
BE (1) BE854861A (de)
DE (1) DE2622974A1 (de)
IT (1) IT1074343B (de)
NL (1) NL7705597A (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54102734A (en) * 1978-01-30 1979-08-13 Nissan Motor Co Ltd Device for automatically selecting driving position
DE2805939C2 (de) * 1978-02-13 1980-01-31 Siemens Ag, 1000 Berlin Und 8000 Muenchen Steuerwerk
US4307445A (en) * 1978-11-17 1981-12-22 Motorola, Inc. Microprogrammed control apparatus having a two-level control store for data processor
FR2525832B1 (fr) * 1982-04-23 1986-05-09 Carpano & Pons Dispositif de commande d'un moteur electrique
GB8421066D0 (en) * 1984-08-18 1984-09-19 Int Computers Ltd Microprogram control
DE3650740D1 (de) * 1985-11-08 2000-04-06 Nec Corp Mikroprogrammsteuereinheit
US5350988A (en) * 1990-07-10 1994-09-27 Alliedsignal, Inc. Digital motor controller
US5237250A (en) * 1991-11-01 1993-08-17 Zeile Kim A Multiplexed stepper motor control apparatus

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1433868A (en) * 1972-05-06 1976-04-28 Herbert Ltd A Automatic control systems for and methods of controlling machine tool apparatus
JPS6045442B2 (ja) * 1976-02-25 1985-10-09 豊田工機株式会社 直線補間パルス分配方式

Also Published As

Publication number Publication date
US4131835A (en) 1978-12-26
NL7705597A (nl) 1977-11-23
IT1074343B (it) 1985-04-20
BE854861A (fr) 1977-11-21

Similar Documents

Publication Publication Date Title
DE2714805A1 (de) Datenverarbeitungssystem
DE2117936A1 (de) Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems
DE2611892C2 (de) Mikroprogramm-Steueranordnung
DE1815078B2 (de) Elektronisches Datenverarbeitungssystem
DE2855673C2 (de)
DE2036729A1 (de) Digital Datenverarbeiter
EP0134831B1 (de) Einrichtung im Befehlswerk eines Fliessbandprozessors zur Befehlsunterbrechung und -wiederholung
DE2421130C2 (de)
DE2145709A1 (de) Datenverarbeitungsanlage
EP0218280B1 (de) Datenverarbeitungsanordnung
DE2622974A1 (de) Mikroprogrammierbares steuerwerk
DE1499191B2 (de) Elektronische einrichtung fuer eine datenverarbeitungsanlage
DE2136210A1 (de) Zentraleinheit fur eine EDV-Anlage
DE2245284A1 (de) Datenverarbeitungsanlage
DE1952175C3 (de) Steuerungsanordnung für die Anzeige von Datenzeichen in fabulierter Form
DE2545751C2 (de) Ablaufsteuerung für eine Datenverarbeitungsanlage
DE4340551A1 (de) Programmspeichererweiterung für einen Mikroprozessor
DE2519195A1 (de) Assoziativspeicher
DE2710436A1 (de) Datenverarbeitungseinrichtung
DE2744252C2 (de)
DE2936801C2 (de) Steuereinrichtung zur Ausführung von Instruktionen
DE2024584B2 (de) Steuereinrichtung für eine allgemeine Datenverarbeitungseinrichtung
DE1549446A1 (de) Digitalrechner
DE2911147C2 (de)
EP0243879B1 (de) Verfahren und Anordnung zur Beschleunigung der Bereitstellung eines Befehles im Befehlsregister eines mikroprogrammgesteuerten Prozessors

Legal Events

Date Code Title Description
OD Request for examination
OHW Rejection