DE4026871A1 - Mikroprogrammierbares steuerwerk fuer eine mikroprogrammierbare informationsverarbeitungsvorrichtung und verfahren zu ihrem betrieb - Google Patents
Mikroprogrammierbares steuerwerk fuer eine mikroprogrammierbare informationsverarbeitungsvorrichtung und verfahren zu ihrem betriebInfo
- Publication number
- DE4026871A1 DE4026871A1 DE4026871A DE4026871A DE4026871A1 DE 4026871 A1 DE4026871 A1 DE 4026871A1 DE 4026871 A DE4026871 A DE 4026871A DE 4026871 A DE4026871 A DE 4026871A DE 4026871 A1 DE4026871 A1 DE 4026871A1
- Authority
- DE
- Germany
- Prior art keywords
- control unit
- unit according
- micro
- memory area
- instruction sets
- 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.)
- Withdrawn
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
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
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 ein mikroprogrammierbares Steuerwerk für eine
mikroprogrammierbare Informationsverarbeitungsvorrichtung.
Es ist bekannt, Steuerwerke für Informationsverarbeitungsvorrichtungen
mittels festverdrahteter Logik zu realisieren. Solche Steuerwerke weisen
jedoch den Nachteil auf, daß ihre Funktion nicht mehr verändert werden
kann.
Es sind deshalb mikroprogrammierbare Steuerwerke bekannt, deren
Funktion allein durch den Inhalt eines Speichers bestimmt wird, so daß
die Funktion dieses Steuerwerkes in einfacher Weise durch eine
Änderung des Speicherinhaltes verändert werden kann.
Abhängig von der Form der Speicherung der Steuerinformation unter
scheidet man hierbei zwischen horizontalem und vertikalem Mikrocode.
Bei dem horizontalen Mikrocode werden die einzelnen Steuerinforma
tionen uncodiert in dem Speicher abgelegt. Da für die uncodierte
Speicherung ein Speicher einer sehr großen Wortbreite benötigt wird,
hat diese Form der Codierung jedoch keine große praktische Bedeutung
erlangt.
Um die Größe der Wortbreite des Speichers zu reduzieren ist es deshalb
der vertikale Mikrocode bekannt, wobei die Steuerinformation codiert
im Speicher abgelegt und die Steuerinformation nach dem Auslesen des
Speichers mittels eines Decoders decodiert wird.
Der vertikale Mikrocode weist jedoch den Nachteil auf, daß im
allgemeinen für die Ausführung einer Makroinstruktion mehr Mikro
instruktionen benötigt werden als beim horizontalen Mikrocode.
Es ist deshalb weiter bekannt, die Vorzüge beider Codierungen im
sogenannten Zwei-Stufen-Mikrocode zu vereinigen. Hierbei bestehen
die beiden Stufen aus dem vertikalen Mikrocode und dem horizontalen
Nanocode.
Um eine mikroprogrammierbare Informationsverarbeitungsvorrichtung
universell einsetzen zu können, wird das Steuerwerk einer solchen
Informationsverarbeitungsvorrichtung im allgemeinen mit einem
unspezialisierten Befehlssatz ausgestattet. Hierdurch können alle
Informationsverarbeitungsvorrichtungen mit den gleichen Programmen,
insbesondere dem gleichen Betriebssystem, betrieben werden, wodurch
der Aufwand bei der Erstellung dieser Programme reduziert wird.
Durch die unspezialisierte Auslegung des Befehlssatzes kann jedoch die
Leistungsfähigkeit einer solchen Informationsverarbeitungsvorrichtung
nicht vollständig ausgenutzt werden. Wird Befehlssatz dennoch an
seine spezifische Anwendung angepaßt, so können die bereits vorhandenen
Programme, wie beispielsweise das Betriebssystem, nicht mehr verwendet
werden.
Der vorliegenden Erfindung liegt deshalb die Aufgabe zugrunde, ein
mikroprogrammierbares Steuerwerk für eine mikroprogrammierbare
Informationsverarbeitungsvorrichtung anzugeben, welches ein gleich
zeitiges Arbeiten mit einer Vielzahl von Befehlssätzen ermöglicht und
dadurch dem Anwender die Benutzung eines anwendungsspezifischen
Befehlssatzes und der gleichzeitigen Verwendung eines Standard-
Betriebssystemes zu ermöglichen.
Diese Aufgabe wird erfindungsgemäß durch ein mikroprogrammierbares
Steuerwerk gelöst, welches die kennzeichnenden Merkmale des
Patentanspruchs 1 aufweist.
Ausgestaltungen und Vorteile der Erfindung sind in den Unteransprüchen,
in der Beschreibung und in der Zeichnung dargestellt.
Ausführungsbeispiele sind in der Zeichnung dargestellt und werden im
folgenden näher beschrieben. In
Fig. 1 ist ein erfindungsgemäßes mikroprogrammierbares Steuerwerk und in
Fig. 2 ist eine bevorzugte Ausbildung des erfindungsgemäßen Steuer
werkes dargestellt.
In Fig. 1 ist ein Blockschaltbild für ein Ausführungsbeispiel mit
horizontalem Mikrocode dargestellt. Der Mikroprogrammspeicher weist
hierbei eine Größe auf, welche eine Speicherung einer Vielzahl von
unterschiedlichen Befehlssätzen ermöglicht.
Der in diesem Speicher abgelegte Mikrocode teilt sich hierbei in drei
Felder auf.
Ein Bedingungsfeld (SEL1) wird verwendet, um im Falle einer bedingten
Verzweigung in der Mikroinstruktion die externe Bedingung EB1 mittels
eines Multiplexers (MUX1) auszuwählen. Ein weiteres Feld ist
vorgesehen, um die uncodierte Steuerinformation abzulegen. Das letzte
Feld dient dazu, im Falle einer Verzweigung die Folgeadresse (FA1) zu
bilden. Hierzu wird im Falle einer bedingten Verzweigung der Mikro
programmzähler µPC mittels des Signales L1 mit der Folgeadresse FA1
geladen.
Wird der Mikroprogrammzähler weder mit einer Folgeadresse noch mit
einer externen Adresse (EA) geladen, so wird zur Adressierung des
nächsten Steuervektors des Mikroprogrammspeichers der
Mikroprogrammzähler inkrementiert.
Die Adresse des Mikroprogrammspeichers setzt sich hierbei aus dem
Inhalt des Mikroprogrammzählers und dem Inhalt des Registers REG10
zusammen. Hierdurch kann mittels des Registers REG10 ein Speicher
bereich ausgewählt werden, wodurch dieses Register ein Umschalten
zwischen mehreren Befehlssätzen ermöglicht.
Gemäß einer bevorzugten Ausbildung wird der Mikroprogrammspeicher
in einem nichtflüchtigen (ROM) und einen beschreibbaren Speicherbereich
(RAM) unterteilt.
Hierzu kann ein Mikroprogrammspeicher für eine Vielzahl von Befehls
sätzen auch als eine Vielzahl von Speichern für jeweils einen Befehlssatz
realisiert werden.
Das in Fig. 2 dargestellte Blockschaltbild zeigt ein Ausführungsbeispiel
mit zwei Speichern, wobei gemäß einer bevorzugten Weiterbildung einer
dieser Speicher als nichtflüchtiger Speicher (ROM) und und der andere
Speicher als beschreibbarer Speicher (RAM) ausgebildet ist.
Hierbei werden beide Speicher gleichzeitig mit dem Inhalt des Mikro
programmzählers adressiert. Die Auswahl eines der beiden aus den
Speichern ausgelesenen Steuervektoren erfolgt mittels des Multiplexers
MUX3, wobei das Auswahlsignal AS2 zur Bestimmung, welcher der
beiden Befehlssätze ausgwählt wird, in dem Register REG20 abgelegt
wird.
Der Multiplexer MUX3 kann hierbei in bekannter Weise realisiert werden,
indem Speicher mit Open-Collector- oder Three-State-Ausgängen
verwendet werden, wobei nur die Ausgangstreiber eines dieser Speicher
freigegeben werden.
Für den Betrieb eines erfindungsgemäßen mikroprogrammierbaren
Steuerwerkes ist vorgesehen, in dem nichtflüchtigen Speicherbereich
einen speziellen Befehlssatz für Betriebssystem-Anwendungen abzulegen
und in dem beschreibbaren Speicherbereich einen speziellen Befehlssatz
für die jeweilige Anwendung der Informationsverarbeitungsvorrichtung
zu laden.
Bei der Aktivierung des Reset-Signales der Informationsverarbeitungs
vorrichtung wird hierbei das Register zur Aufnahme der Information,
welcher der Befehlssätze ausgewählt wird, mit einem definierten Wert
vorbelegt, wodurch der in dem nichtflüchtigen Speicherbereich abgelegte
Befehlssatz ausgewählt wird.
Gemäß einer bevorzugten Ausbildung des Steuerwerkes wird als Register
zur Speicherung der Information, welcher der Befehlssätze ausgewählt
wird, ein oder mehrere Bits des Statusregisters der Informations
verarbeitungsvorrichtung verwendet.
Hierdurch ist der Vorteil erreichbar, daß bei einem Interrupt die
Information, welcher der Befehlssätze verwendet wurde, automatisch
mit dem Inhalt des Statusregisters gerettet wird. Des weiteren kann
ohne Zeitverlust mit dem Setzen der Interrupt-Sperre auf einen
definierten Befehlssatz geschaltet werden, wodurch der Vorteil
erreichbar ist, daß die Interrupt-Service-Routine einen definierten
Befehlssatz erhält.
Soll hierbei auf einen anderen Befehlssatz umgeschaltet werden, so
braucht hierzu lediglich der Inhalt des Registers, welches die
Information enthält, welcher der Befehlssätze verwendet wird, geändert
zu werden.
Hierbei ist jedoch darauf zu achten, daß während der Ausführung des
Befehles zum Verändern dieses Registers im Umschaltmoment keine
undefinierten Zustände im Steuerwerk auftreten.
Hierfür sind zwei Maßnahmen möglich:
Eine Möglichkeit besteht darin, den Registerinhalt bis zur Beendigung
der Befehlsausführung in einem zusätzlichen Register zwischenzu
speichern.
Die andere Möglichkeit besteht darin, die Befehle zum Verändern des
Registerinhaltes bei allen Befehlssätzen gleich zu codieren, so daß das
Steuerwerk während der Befehlsausführung umgeschaltet werden kann.
In einem Multi-Tasking-System können die Befehlssätze auch dynamisch
nachgeladen werden, falls die Anzahl der benötigten Befehlssätze die
Anzahl der verfügbaren Speicherbereiche überschreitet. Es ist hierbei
zweckmäßig, die Zuteilung der Informationsverarbeitungsvorrichtung
an die einzelnen Prozesse in Abhängigkeit des verwendeten Befehlssatzes
durchzuführen.
Claims (10)
1. Mikroprogrammierbares Steuerwerk für eine mikroprogrammierbare
Informationsverarbeitungsvorrichtung, dadurch gekennzeichnet, daß
der Mikroprogrammspeicher zur Aufnahme einer Vielzahl verschiedener
Befehlssätze ausgebildet ist und daß ein Register (REG10) zur
Speicherung der Information, welcher der Befehlssätze verwendet wird,
vorgesehen ist.
2. Steuerwerk nach Anspruch 1, dadurch gekennzeichnet, daß der
Mikroprogrammspeicher als voneinander unabhängige Speicher
ausgebildet ist, wobei alle diese Speicher gleichzeitig mit derselben
Adresse beaufschlagt werden und daß ein zusätzlicher Multiplexer
(MUX3) zur Auswahl des Inhaltes eines dieser Speicher vorgesehen ist.
3. Steuerwerk nach Anspruch 2, dadurch gekennzeichnet, daß der
Multiplexer als Parallelschaltung von Speichern mit Open-Collector
oder Three-State-Ausgängen ausgebildet ist.
4. Steuerwerk nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet,
daß die Speicherung der Information, welcher der Befehlssätze
verwendet wird, im Statusregister der Informationsverarbeitungsvor
richtung erfolgt.
5. Steuerwerk nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet,
daß mindestens einer der Befehlssätze in einem nichtflüchtigen
Speicherbereich (ROM) steht.
6. Steuerwerk nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet,
daß bei einer Aktivierung des Reset-Signales das Steuerwerk auf den
nichtflüchtigen Speicherbereich (ROM) geschaltet wird.
7. Steuerwerk nach einem der Ansprüche 1 bis 6, gekennzeichnet durch
ein zusätzliches Register zur Verzögerung des Auswahlsignales zum
Umschalten des Steuerwerkes (z. B. AS1) bis zum Ende einer
Befehlsausführung.
8. Verfahren zum Betrieb eines mikroprogrammierbaren Steuerwerk
nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß mit
dem Setzen der Interruptsperre gleichzeitig auf einen definierten
Befehlssatz geschaltet wird.
9. Verfahren zum Betrieb eines mikroprogrammierbaren Steuerwerks
nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß die
Befehle zum Verändern des Registers, welches die Information enthält,
welcher der Befehlssätze verwendet wird, bei allen Befehlssätzen
gleich codiert werden.
10. Verfahren zum Betrieb eines mikroprogrammierbaren Steuerwerks
nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß die
Zuteilung der Informationsverarbeitungsvorrichtung zu den einzelnen
Prozessen in Abhängigkeit des momentan verwendeten Befehlssatzes
und des durch die Prozesse verwendeten Befehlssatzes erfolgt.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE4026871A DE4026871A1 (de) | 1990-08-25 | 1990-08-25 | Mikroprogrammierbares steuerwerk fuer eine mikroprogrammierbare informationsverarbeitungsvorrichtung und verfahren zu ihrem betrieb |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE4026871A DE4026871A1 (de) | 1990-08-25 | 1990-08-25 | Mikroprogrammierbares steuerwerk fuer eine mikroprogrammierbare informationsverarbeitungsvorrichtung und verfahren zu ihrem betrieb |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| DE4026871A1 true DE4026871A1 (de) | 1991-03-28 |
Family
ID=6412878
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE4026871A Withdrawn DE4026871A1 (de) | 1990-08-25 | 1990-08-25 | Mikroprogrammierbares steuerwerk fuer eine mikroprogrammierbare informationsverarbeitungsvorrichtung und verfahren zu ihrem betrieb |
Country Status (1)
| Country | Link |
|---|---|
| DE (1) | DE4026871A1 (de) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2112272C1 (ru) * | 1997-03-20 | 1998-05-27 | Курский государственный технический университет | Модуль микроконтроллерной сети |
| RU2120135C1 (ru) * | 1997-03-25 | 1998-10-10 | Курский государственный технический университет | Мультимикроконтроллерная система |
| EP0820006A3 (de) * | 1996-07-19 | 1999-04-28 | Philips Patentverwaltung GmbH | Signalprozessor |
-
1990
- 1990-08-25 DE DE4026871A patent/DE4026871A1/de not_active Withdrawn
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0820006A3 (de) * | 1996-07-19 | 1999-04-28 | Philips Patentverwaltung GmbH | Signalprozessor |
| RU2112272C1 (ru) * | 1997-03-20 | 1998-05-27 | Курский государственный технический университет | Модуль микроконтроллерной сети |
| RU2120135C1 (ru) * | 1997-03-25 | 1998-10-10 | Курский государственный технический университет | Мультимикроконтроллерная система |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE2515696C2 (de) | Datenverarbeitungssystem | |
| DE1499193C3 (de) | Speicher-Adressierschaltung | |
| DE2417795C2 (de) | Datenverarbeitungsanlage | |
| DE2339636C2 (de) | Einrichtung zur Adressierung eines schreibbaren Mikroprogrammspeichers | |
| DE2719635A1 (de) | Anordnung fuer eine erweiterung einer mikroprogrammsteuerung einer datenverarbeitungsanlage | |
| DE2746505C2 (de) | ||
| DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
| DE69130414T2 (de) | Prozessor und Verfahren zur parallelen Verarbeitung | |
| DE2426874A1 (de) | Verfahren und schaltungsanordnung zur bestimmung der adressenart eines befehls | |
| DE19526008A1 (de) | Vertikal partitionierter, primärer Befehls-Cache-Speicher | |
| DE2359920A1 (de) | Adressiereinheit fuer einen gemeinschaftsspeicher | |
| DE2134816A1 (de) | Einrichtung zur adressenuebersetzung | |
| DE2551741A1 (de) | Datenverarbeitungseinrichtung | |
| DE2433436A1 (de) | Verfahren und anordnung zum mehrfachverzweigen des programms in einem digitalen computer | |
| DE3501903A1 (de) | Im pipelinebetrieb arbeitende datenverarbeitungseinrichtung | |
| DE68926597T2 (de) | Mikrorechner | |
| DE4026871A1 (de) | Mikroprogrammierbares steuerwerk fuer eine mikroprogrammierbare informationsverarbeitungsvorrichtung und verfahren zu ihrem betrieb | |
| DE3121046A1 (de) | Arithmetik-logikeinheit mit bit-manipulation | |
| DE2403039A1 (de) | Verfahren zur adressenerweiterung einer elektronischen digitalrechenanlage | |
| DE2710436A1 (de) | Datenverarbeitungseinrichtung | |
| DE3101270A1 (de) | Rechnersystem zur kombinierten wortverarbeitung und bitverarbeitung | |
| DE2343501B2 (de) | Steuerschaltung für zumindest eine Rechenanlage mit mehreren für die Durchführung von EuWAusgabe-Programmen bestimmten Registern | |
| DE69815656T2 (de) | Rechnersystem mit einem mehrfach Sprungbefehlzeiger und -Verfahren | |
| EP0561457A2 (de) | Mikroprozessor zur Verarbeitung von Eingabe/Ausgabedaten | |
| DE2219070C3 (de) | Anordnung zur Steuerung von Programmverschiebungen und zur Wiedereingabe von Unterprogrammen bei einer mit Multiprogrammierung arbeitenden digitalen Datenverarbeitungsanlage |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| OAV | Applicant agreed to the publication of the unexamined application as to paragraph 31 lit. 2 z1 | ||
| 8122 | Nonbinding interest in granting licences declared | ||
| 8127 | New person/name/address of the applicant |
Owner name: GRENZENDORF, DANIEL, 7530 PFORZHEIM, DE |
|
| 8139 | Disposal/non-payment of the annual fee |