DE4026871A1 - Microprogrammable processor e.g. for data processing system - has microprogram store subdivided into read-only memory area and random access memory area - Google Patents
Microprogrammable processor e.g. for data processing system - has microprogram store subdivided into read-only memory area and random access memory areaInfo
- 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; CALCULATING OR 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; CALCULATING OR 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)
Abstract
Description
Die Erfindung betrifft ein mikroprogrammierbares Steuerwerk für eine mikroprogrammierbare Informationsverarbeitungsvorrichtung.The invention relates to a microprogrammable control unit for a micro-programmable information processing device.
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.It is known to control units for information processing devices using hard-wired logic. Such control units point however, the disadvantage that their function can no longer be changed can.
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.Micro-programmable control units are therefore known Function is determined solely by the content of a memory, so that the function of this control unit in a simple manner Changing the memory content can be changed.
Abhängig von der Form der Speicherung der Steuerinformation unter scheidet man hierbei zwischen horizontalem und vertikalem Mikrocode.Depending on the form of storage of the tax information under one differentiates between horizontal and vertical microcode.
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.With the horizontal microcode, the individual tax information ions stored uncoded in the memory. As for the uncoded Storage a memory of a very large word width is needed however, this form of coding is not of great practical importance acquired.
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.It is therefore to reduce the size of the word width of the memory the vertical microcode is known, the control information encoding stored in the memory and the control information after reading the Memory is decoded using a decoder.
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.However, the vertical microcode has the disadvantage that in general for the execution of a macro instruction more micro instructions are required than for horizontal microcode.
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. It is therefore known that the advantages of both codes in the to combine so-called two-stage microcode. Here exist the two levels of the vertical microcode and the horizontal 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.To a micro-programmable information processing device Being able to use it universally becomes the control unit of such a system Information processing device generally with a unspecialized instruction set. This allows everyone Information processing devices with the same programs, in particular the same operating system, operated, whereby the effort involved in creating these programs is reduced.
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.Due to the unspecialized interpretation of the instruction set, however Performance of such an information processing device cannot be fully exploited. Command set is still on adapted to its specific application, the existing ones can Programs such as the operating system are no longer used will.
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.The present invention is therefore based on the object micro-programmable control unit for a micro-programmable Information processing device to specify which one is the same enables timely work with a large number of instruction sets and thereby giving the user the use of an application-specific Instruction set and the simultaneous use of a standard Operating system.
Diese Aufgabe wird erfindungsgemäß durch ein mikroprogrammierbares Steuerwerk gelöst, welches die kennzeichnenden Merkmale des Patentanspruchs 1 aufweist.According to the invention, this object is achieved by a micro-programmable Control unit solved, which the characteristic features of the Claim 1 has.
Ausgestaltungen und Vorteile der Erfindung sind in den Unteransprüchen, in der Beschreibung und in der Zeichnung dargestellt.Embodiments and advantages of the invention are in the subclaims, shown in the description and in the drawing.
Ausführungsbeispiele sind in der Zeichnung dargestellt und werden im folgenden näher beschrieben. InExemplary embodiments are shown in the drawing and are shown in following described in more detail. In
Fig. 1 ist ein erfindungsgemäßes mikroprogrammierbares Steuerwerk und in Fig. 1 is an inventive micro-programmable control unit and in
Fig. 2 ist eine bevorzugte Ausbildung des erfindungsgemäßen Steuer werkes dargestellt. Fig. 2 shows a preferred embodiment of the control unit according to the invention.
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. In Fig. 1 a block diagram for one embodiment is shown with horizontal microcode. The microprogram memory has a size that enables a large number of different instruction sets to be stored.
Der in diesem Speicher abgelegte Mikrocode teilt sich hierbei in drei Felder auf.The microcode stored in this memory is divided into three Fields on.
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.A condition field (SEL 1 ) is used to select the external condition EB 1 by means of a multiplexer (MUX 1 ) in the event of a conditional branch in the microinstruction. Another field is provided to store the uncoded control information. The last field is used to form the next address (FA 1 ) in the event of a branch. For this purpose, in the event of a conditional branching, the micro program counter µPC is loaded by means of the signal L 1 with the following address FA 1 .
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.If the microprogram counter is neither with a subsequent address nor with an external address (EA) is loaded, the addressing of the next control vector of the microprogram memory Micro program counter incremented.
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.The address of the microprogram memory is composed of the content of the microprogram counter and the content of register REG 10 . As a result, a memory area can be selected using the register REG 10, as a result of which this register enables switching between a plurality of command sets.
Gemäß einer bevorzugten Ausbildung wird der Mikroprogrammspeicher in einem nichtflüchtigen (ROM) und einen beschreibbaren Speicherbereich (RAM) unterteilt.According to a preferred embodiment, the microprogram memory in a non-volatile (ROM) and a writable memory area (RAM) divided.
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.For this purpose, a micro program memory for a variety of instructions sets also as a plurality of memories for one instruction set each will be realized.
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.The block diagram shown in FIG. 2 shows an exemplary embodiment with two memories, with one of these memories being designed as a non-volatile memory (ROM) and the other memory being a writable memory (RAM).
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. Here, both memories are addressed simultaneously with the content of the micro program counter. One of the two control vectors read from the memories is selected by means of the multiplexer MUX 3 , the selection signal AS 2 for determining which of the two command sets is selected is stored in the register REG 20 .
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.The multiplexer MUX 3 can be implemented in a known manner by using memories with open collector or three-state outputs, only the output drivers of one of these memories being released.
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.For the operation of a micro-programmable according to the invention Control unit is provided in the non-volatile memory area to store a special instruction set for operating system applications and a special instruction set in the writable memory area for the respective application of the information processing device to load.
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.When the reset signal of the information processing is activated the register for recording the information, which of the command sets is selected with a defined value pre-assigned, whereby the one stored in the non-volatile memory area Command set is selected.
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.According to a preferred embodiment of the control unit is used as a register for storing the information of which of the command sets is selected one or more bits of the status register of the information processing device used.
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.This has the advantage that the Information about which of the command sets was used automatically is saved with the content of the status register. Furthermore, without losing time by setting the interrupt lock to one defined command set are switched, which is the advantage can be achieved that the interrupt service routine a defined Command set received.
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.If you want to switch to a different command set, do so all that is required is the content of the register, which the Information contains which of the instruction sets is used changed to become.
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. However, it should be ensured that during the execution of the No commands to change this register at the moment of switching undefined states occur in the control unit.
Hierfür sind zwei Maßnahmen möglich:Two measures are possible for this:
Eine Möglichkeit besteht darin, den Registerinhalt bis zur Beendigung der Befehlsausführung in einem zusätzlichen Register zwischenzu speichern.One way is to keep the register content until completion the command execution in an additional register to save.
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.The other option is to use the commands to change the To code the contents of the register in the same way for all instruction sets, so that the Control unit can be switched during the execution of the command.
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.In a multi-tasking system, the instruction sets can also be dynamic can be reloaded if the number of required command sets is Number of available memory areas exceeds. It is here expedient, the allocation of the information processing device to the individual processes depending on the instruction set used perform.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4026871A DE4026871A1 (en) | 1990-08-25 | 1990-08-25 | Microprogrammable processor e.g. for data processing system - has microprogram store subdivided into read-only memory area and random access memory area |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4026871A DE4026871A1 (en) | 1990-08-25 | 1990-08-25 | Microprogrammable processor e.g. for data processing system - has microprogram store subdivided into read-only memory area and random access memory area |
Publications (1)
Publication Number | Publication Date |
---|---|
DE4026871A1 true DE4026871A1 (en) | 1991-03-28 |
Family
ID=6412878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4026871A Withdrawn DE4026871A1 (en) | 1990-08-25 | 1990-08-25 | Microprogrammable processor e.g. for data processing system - has microprogram store subdivided into read-only memory area and random access memory area |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE4026871A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0820006A2 (en) * | 1996-07-19 | 1998-01-21 | Philips Patentverwaltung GmbH | Signal processor |
-
1990
- 1990-08-25 DE DE4026871A patent/DE4026871A1/en not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0820006A2 (en) * | 1996-07-19 | 1998-01-21 | Philips Patentverwaltung GmbH | Signal processor |
EP0820006A3 (en) * | 1996-07-19 | 1999-04-28 | Philips Patentverwaltung GmbH | Signal processor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2515696C2 (en) | Data processing system | |
DE1499193C3 (en) | Memory addressing circuit | |
DE2417795C2 (en) | Data processing system | |
DE2339636C2 (en) | Device for addressing a writable microprogram memory | |
DE2719635A1 (en) | ARRANGEMENT FOR AN EXTENSION OF A MICROPROGRAM CONTROL OF A DATA PROCESSING SYSTEM | |
DE2746505C2 (en) | ||
DE1275800B (en) | Control unit for data processing machines | |
DE69130414T2 (en) | Processor and method for parallel processing | |
DE2426874A1 (en) | PROCEDURE AND CIRCUIT ARRANGEMENT FOR DETERMINING THE TYPE OF ADDRESS OF AN COMMAND | |
DE19526008A1 (en) | Vertically partitioned primary instruction cache | |
DE2359920A1 (en) | ADDRESSING UNIT FOR A COMMON MEMORY | |
DE2551741A1 (en) | DATA PROCESSING DEVICE | |
DE2134816A1 (en) | FACILITY FOR ADDRESS TRANSLATION | |
DE3501903A1 (en) | DATA PROCESSING DEVICE WORKING IN PIPELINE OPERATION | |
DE68926597T2 (en) | MICROCALCULATOR | |
DE3121046C2 (en) | ||
DE2403039A1 (en) | PROCEDURE FOR ADDRESS EXPANSION OF AN ELECTRONIC DIGITAL COMPUTER SYSTEM | |
DE4026871A1 (en) | Microprogrammable processor e.g. for data processing system - has microprogram store subdivided into read-only memory area and random access memory area | |
DE2710436A1 (en) | DATA PROCESSING DEVICE | |
DE3101270A1 (en) | Computer system for combined word processing and bit processing | |
DE2343501B2 (en) | Control circuit for at least one computer system with several registers intended for the implementation of EuWAusgabe programs | |
DE2744252C2 (en) | ||
DE69815656T2 (en) | Computer system with a multiple jump instruction pointer and procedure | |
DE1806464A1 (en) | Address generator for a digital computer | |
EP0561457A2 (en) | Microprocessor for processing input/output data |
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 |