DE3233378A1 - Processor unit of a computer - Google Patents

Processor unit of a computer

Info

Publication number
DE3233378A1
DE3233378A1 DE19823233378 DE3233378A DE3233378A1 DE 3233378 A1 DE3233378 A1 DE 3233378A1 DE 19823233378 DE19823233378 DE 19823233378 DE 3233378 A DE3233378 A DE 3233378A DE 3233378 A1 DE3233378 A1 DE 3233378A1
Authority
DE
Germany
Prior art keywords
microcomputer
microcomputers
processor unit
command
steps
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
Application number
DE19823233378
Other languages
German (de)
Inventor
Petro Dipl.-Math. 8026 Ebenhausen Istavrinos
Rudolf Dipl.-Ing. 8024 Oberhaching Kober
Stefan Dipl.-Ing. 8028 Taufkirchen Tomann
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 DE19823233378 priority Critical patent/DE3233378A1/en
Priority to CH353583A priority patent/CH660925A5/en
Publication of DE3233378A1 publication Critical patent/DE3233378A1/en
Withdrawn 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microcomputers (AREA)
  • Multi Processors (AREA)

Abstract

If a computer is intended to execute programs which are programmed by means of instructions which do not belong to its own instruction set, these instructions must be adapted to the characteristics of the processor unit. For this purpose, the processor unit (PE) contains at least one first microcomputer (MC1) in bipolar technology and at least one second microcomputer (MC2) in MOS technology. The steps to be executed on execution of the instruction are allocated to the first microcomputer (MC1) and to the second microcomputers (MC2) in accordance with their characteristics. At least some of these steps are executed in parallel in the microcomputers (MC1, MC2), which considerably increases the speed of instruction execution. The activity of the microcomputers is mutually coordinated via interrupt requests (INT). <IMAGE>

Description

Prozessoreinheit eines RechnersProcessor unit of a computer

Die Erfindung bezieht sich auf eine Prozessoreinheit eines Rechners, die zur Ausführung von nicht zum eigenen Befehlsvorrat gehörenden Befehlen geeignet ist und bei der jeder Befehl in einer Folge von Schritten ausgeführt wird.The invention relates to a processor unit of a computer, which are suitable for executing commands that do not belong to their own command set and where each command is executed in a sequence of steps.

Der technologische Fortschritt in der Großintegrationstechnik kann genutzt werden, um leistungsfähigere- und/oder billigere Rechner zu einer eingeführten Rechnerfamilie hinzuzufügen. Randbedingung dabei ist aber, daß die für die Rechnerfamilie hergestellten Programme auch auf den neu hinzugefügten Rechner laufen können. Da der neu hinzugefügte Rechner einen anderen Befehlsvorrat hat, ist es erforderlich, die für die Rechnerfamilie geeigneten Programme durch Emulation an die Eigenschaften des neu hinzugefügten Rechners anzupassen.The technological progress in large-scale integration technology can be used to introduce more powerful and / or cheaper computers to one Add computer family. However, the boundary condition here is that the one for the computer family programs created can also run on the newly added computer. There the newly added computer has a different set of commands, it is necessary to the programs suitable for the computer family by emulating the properties of the newly added computer.

Bisher wurde diese Aufgabe vorwiegend durch Umsetzen vorhandener, diskret aufgebauter Schaltungen in hochintegrierte, kundenspezifische Bausteine gelöst. Wegen der relativ niederen Stückzahlen, die von diesen Bausteinen gefertigt werden, sind diese teuer. Außerdem müssen die Bausteine für jede neue Technologie neu entwickelt werden.So far, this task has mainly been done by implementing existing, Discretely structured circuits in highly integrated, customer-specific modules solved. Because of the relatively low number of units manufactured from these building blocks they are expensive. They also need the building blocks for every new technology be redeveloped.

Die der Erfindung zugrundeliegende Aufgabe besteht darin, eine aus handelsüblichen Mikroprozessorbausteinen aufgebaute Prozessoreinheit anzugeben, die zur Ausführung von nicht zum eigenen Befehlsvorrat gehörenden Befehlen geeignet ist und bei der die Befehlsausführung trotzdem sehr schnell erfolgt. Diese Aufgabe wird bei einer Prozessoreinheit der eingangs angegebenen Art dadurch gelöst, daß mindestens ein erster Mikrocomputer und mindestens ein zweiter Mikrocomputer mit verschiedenen Eigenschaften vorgesehen sind, die parallel zueinander betreibbar sind und die getrennt voneinander entsprechned ihren Eigenschaften die einem Befehl zugeordneten Schritte ausführen.The object of the invention is to provide a specify a processor unit built up using commercially available microprocessor modules, which are suitable for executing commands that do not belong to their own command set and in which the command is still executed very quickly. This task is achieved in a processor unit of the type specified in that at least one first microcomputer and at least one second microcomputer are provided with different properties that can be operated in parallel and which, separately from one another, correspond to their properties as a command Execute assigned steps.

Die ersten Mikrocomputer und die zweiten Mikrocomputer können verschiedene Verarbeitungsgeschwindigkeit haben.The first microcomputers and the second microcomputers may be different Have processing speed.

So können die ersten Mikrocomputer bipolare Mikrocomputer sein, während die zweiten Mikrocomputer in MOS Technik ausgeführte Mikrocomputer sind. Die bipolaren Mikrocomputer sind dann für die Schritte bei der Befehlsausführung geeignet, bei denen schnelle Bitmanipulationen und Verschiebe- und Vergleichsoperationen ausgeführt werden müssen. Schritte, bei denen komplexere Aufgaben zu erfüllen sind, z.B. Addition binär kodierter Dezimalzahlen können dagegen besser von den zweiten Mikrocomputern ausgeführt werden.So the first microcomputers may be bipolar microcomputers while the second microcomputers are MOS technology microcomputers. The bipolar Microcomputers are then suitable for the steps involved in executing instructions which carried out fast bit manipulations and shift and compare operations Need to become. Steps that involve more complex tasks, e.g. addition In contrast, binary coded decimal numbers can do better with the second microcomputers are executed.

Die Zusammenarbeit der Mikrocomputer wird mit Hilfe von Unterbrechungsanforderungen koordiniert, über die die einzelnen Mikrocomputer den anderen Mikrocomputern mitteilen, wennsie einen ihnen zugeordneten Schritt beendet haben.The cooperation of the microcomputers is made with the help of interrupt requests coordinated, via which the individual microcomputers communicate to the other microcomputers, when you have finished a step assigned to you.

Die den bipolaren Mikrocomputern zugeordneten Schritte bei der Befehlsausführung können als Mikroprogramme in einem Mikroprogrammspeicher jedes Mikrocomputers gespeichert sein. Die den zweiten Mikrocomputern zugeordneten Schritte der Befehlsausführung können dagegen als Programme in Assemblersprache in einem Speicher des einzelnen zweiten Mikrocomputers gespeichert sein. Da die bipolaren Mikrocomputer mikroprogrammiert werden, lassen sich Schritte, die häufig vorkommen oder allen Befehlen gemeinsam sind, wie z.B. die Vorbereitung der Befehlsdurchführung, besonders wirksam ausführen. Komplexere Befehlsabläufe, die von den zweiten#ikrocomputern ausgeführt werden, sind dagegen in Assemblersprache programmiert, wodurch die Programmierung erheblich einfacher wird.The steps involved in executing instructions associated with bipolar microcomputers can be stored as microprograms in a microprogram memory of each microcomputer be. The instruction execution steps associated with the second microcomputers can on the other hand as programs in assembly language in a memory of the individual be stored in the second microcomputer. Because the bipolar microcomputer is microprogrammed steps that occur frequently or common to all commands are to be carried out particularly effectively, e.g. the preparation of the execution of the command. More complex Command sequences executed by the second microcomputers are, however, programmed in assembly language, which makes the programming becomes a lot easier.

An Hand eines Ausführungsbeispiels, das in den Figuren dargestellt ist, wird die Erfindung weiter erläutert. Es zeigen Fig. 1 ein Blockschaltbild des Rechners, Fig. 2 ein Schaltbild eines ersten Mikrocomputers, Fig. 3 die Schnittstelle eines ersten Mikrocomputers mit einem Standardbus, Fig. 4 ein Ablaufdiagramm, das die einzelnen Schritte bei der Ausführung des Befehls' den Wort? darstellt.Using an exemplary embodiment that is shown in the figures is, the invention will be further explained. 1 shows a block diagram of the Computer, FIG. 2 a circuit diagram of a first microcomputer, FIG. 3 the interface of a first microcomputer with a standard bus, Fig. 4 is a flow chart showing the steps involved in executing the command 'say the word? represents.

Aus Fig. 1 ergibt sich der Aufbau des Rechners. Dieser besteht zumindest aus ersten Mikrocomputern MC11, MC12 in bipolarer Technik und aus zweiten Mikrocomputern MC21, MC22 in MOS Technik , aus einem Arbeitsspeicher SP, einem Zwischenspeicher SCP. Die einzelnen Baueinheiten sind über einen Standardbus SB miteinander verbunden. Über den Standardbus SB werden Adressen AD, Datenworte DA', und Steuersignale zwischen den einzelnen Baueinheiten übertragen.1 shows the structure of the computer. This at least exists from first microcomputers MC11, MC12 in bipolar technology and from second microcomputers MC21, MC22 in MOS technology, from a main memory SP, a buffer SCP. The individual units are connected to one another via a standard bus SB. The standard bus SB addresses AD, data words DA ', and control signals between transferred to the individual structural units.

An dem Standardbus SB können noch weitere Baueinheiten, wie z.B. Ein/Ausgabeprozessor usw. angeschlossen sein.Further components, such as an input / output processor, can be connected to the standard bus SB etc. be connected.

Die Prozessoreinheit PE besteht somit aus ersten Mikrocomputern MC1 und zweiten Mikrocomputern MC2. Die ersten Mikrocomputer MC1 haben eine andere Verarbeitungsgeschwindigkeit als die zweiten Mikrocomputer MC2. Dementsprechend werden den einzelnen Mikrocomputern die in Fig. 4 dargestellten Schritte zugewiesen und von diesen ausgeführt.The processor unit PE thus consists of first microcomputers MC1 and second microcomputers MC2. The first microcomputers MC1 have a different processing speed than the second microcomputers MC2. Accordingly, the individual microcomputers the steps shown in FIG. 4 are assigned and carried out by them.

Die Koordination zwischen den Mikrocomputern, die parallel betreibbar sind, erfolgt mit Hilfe von Unterbrechungsan- forderungen INT. Dabei können die ersten Mikrocomputer MC1 Unterbrechungsanforderungen 4 bis 7 über den Standardbus SB an die Mikrocomputer MC2 geben und umgekehrt können die zweiten Mikrocomputer MC2 Unterbrechungsanforderungen INTO bis 3 über den Standardbus SB an die ersten Mikrocomputer MOl geben.The coordination between the microcomputers that can be operated in parallel are done with the help of interruption requirements INT. Included the first microcomputer MC1 can interrupt requests 4 to 7 via the The standard bus SB can be given to the microcomputers MC2 and vice versa, the second microcomputers MC2 interrupt requests INTO to 3 via the standard bus SB to the first Microcomputer MOl give.

Die zweiten Mikrocomputer MC2 sind Standard-Mikrocomputer-Baugruppen, wie z.B. die Mikrocomputer Baugruppe I'SBC 86/ 12A von Intel. Deren Aufbau kann den entsprechenden Datenblättern entnommen werden.The second microcomputers MC2 are standard microcomputer assemblies, such as the I'SBC 86 / 12A microcomputer assembly from Intel. Their structure can can be found in the corresponding data sheets.

Der Aufbau der ersten Mikrocomputer MC1 ergibt sich Fig.2.The structure of the first microcomputer MC1 is shown in FIG.

Der ersten Mikrocomputer besteht im wesentlichen aus einem Mikroprozessor MP, einem Sequencer SE und einem Mikroprogrammspeicher MPS. Im Mikroprogrammspeicher MPS stenen die einzelnen Mikroprogramme für die Schritte, die der erste Mikrocomputer ausführen soll. Diese Programme werden mit Hilfe eines Sequencers SE adressiert. Dem Sequencer SE ist ein Multiplexer MUX zugeordnet, über den einzelne Bedingungen an den Sequencer SE gelegt werden. Der Sequencer SE adressiert die Mikroprogramme im Mikroprogrammspeicher MPS, die dem Operationscode des auszuführenden Befehls zugeordnet sind. Die dem Operationscode entsprechende Information erhält der Sequencer SE über einen Umwandlungsspeicher MAP, der dem Operationscode des Befehls eine Adresse zuordnet. Die Unterbrechungsanforderungen INTO bis INT3, die von dem zweiten Mikrocomputer MC 2 geliefert werden, werden dem Sequencer SE über einen PROMbaustein PR1 zugeführt. Die Unterbrechungsanforderungen INT4 bis INT7, die der erste Mikrocomputer abgibt, werden über einen PROMibaustein PR2 und eine. Treiberschaltung TR an den Standardbus SB abgegeben.Steuersignale, wie z.B. das Lesesignal RD oder das Schreib signal WR an den Arbeitsspeicher ASP oder weitere Steuersignale SR werden von einem PROM- baustein PR3 vom ersten Mikrocomputer abgegeben.The first microcomputer consists essentially of a microprocessor MP, a sequencer SE and a microprogram memory MPS. In microprogram memory MPS stenen the individual microprograms for the steps that the first microcomputer should perform. These programs are addressed with the help of a sequencer SE. A multiplexer MUX is assigned to the sequencer SE, over the individual conditions to the Sequencer SE. The Sequencer SE addresses the microprograms in the microprogram memory MPS, which corresponds to the operation code of the instruction to be executed assigned. The sequencer receives the information corresponding to the operation code SE via a conversion memory MAP, which gives the operation code of the command an address assigns. The interrupt requests INTO to INT3 issued by the second microcomputer MC 2 are supplied to the sequencer SE via a PROM module PR1. The interrupt requests INT4 to INT7 issued by the first microcomputer are via a PROMi module PR2 and a. Driver circuit TR to the standard bus Control signals, such as the read signal RD or the write signal WR to the main memory ASP or other control signals SR are sent by a PROM building block PR3 delivered from the first microcomputer.

Der erste Mikrocomputer kann z.B. bestehen aus einem Mikroprozessor AM 29116, einem Sequencer AM2910, einem Multiplexer AM2922, PROMbausteinen AM27S35 für den Mikroprogrammspeicher MPS und für die PROMbausteine PR2, PR3, PROMbausteine 27LS19 für den PROMbaustein PR1 und PROM-bausteine AM27S29 für den Umwandlungsspeicher MAP von Advanceod Micro Devices bestehen. Die Treiberschaltung TR kann aus einem Baustein 74LS38 bestehen. Die entsprechenden Bausteine ergeben sich aus den Datenblättern, aus denen auch die in Fig. 2 verwendeten Bezeichnungen bei den einzelnen Bausteinen entnommen werden können.The first microcomputer can consist of a microprocessor, for example AM 29116, a sequencer AM2910, a multiplexer AM2922, PROM modules AM27S35 for the microprogram memory MPS and for the PROM blocks PR2, PR3, PROM blocks 27LS19 for the PROM module PR1 and PROM module AM27S29 for the conversion memory MAP from Advanceod Micro Devices exist. The driver circuit TR can consist of a Block 74LS38 exist. The corresponding modules result from the data sheets, from which the designations used in FIG. 2 for the individual modules can be taken.

Zwischen den ersten Mikrocomputern MC1 und dem Standardbus SB ist eine Adaptereinrichtung gemäß Fig. 3 angeordnet. Mit dieser Adaptereinrichtung werden die von dem Mikrocomputer MC1 abgegebenen Signale an die Erfordernisse des Standardbusses SB angepaßt. Die Adaptereinrichtung besteht aus einem Taktimpulsgenerator CK, einem Busarbiter ARB und Treiberschaltungen TR1, TR2, TR3 und TR4.Between the first microcomputers MC1 and the standard bus SB is an adapter device according to FIG. 3 is arranged. With this adapter device the signals given by the microcomputer MC1 to the requirements of the standard bus SB adapted. The adapter device consists of a clock pulse generator CK, a Bus arbiter ARB and driver circuits TR1, TR2, TR3 and TR4.

Durch den Taktimpulsgenerator CK werden die zum Betrieb erforderlichen Taktimpulse CP erzeugt. Mit Hilfe des Busarbiters ARP wird festgestellt, ob dem Mikrocomputer ein Zugriff zum Standardbus SB gegeben werden kann oder nicht.The clock pulse generator CK provides the necessary for operation Clock pulses CP generated. The bus arbiter ARP is used to determine whether the Microcomputer can be given access to the standard bus SB or not.

Die Treiberschaltungen TR2, TR3 und TR4 stellen die Verbindung zwischen dem Mikroprozessor MP und dem Standardbus SB her. Der Mikroprozessor MP ist über einen Bus YB mit den entsprechenden Treiberschaltungen TR2, TR3 und TR4 verbunden. Die Treiberschaltung TR2 überträgt dabei die Adressen AD vom Mikrocomputer zum Standardbus SB, die Treiberschaltungen TR3 und TR4 die Datenworte DA zwischen dem Standardbus SB und dem Bus YB. Dabei können die Worte DA sowohl vom Bus YB zum Standardbus SB als auch umgekehrt übertragen werden. Mit Hilfe der Treiberschaltung TR1 werden dagegen die Steuersignale RD, WR und SR übertragen.The driver circuits TR2, TR3 and TR4 provide the connection between the microprocessor MP and the standard bus SB. The microprocessor MP is over a bus YB is connected to the respective driver circuits TR2, TR3 and TR4. The driver circuit TR2 transfers the addresses AD from the microcomputer to the standard bus SB, the driver circuits TR3 and TR4, the data words DA between the standard bus SB and the bus YB. The words DA can be used from the bus YB to the standard bus SB and vice versa. With the help of the driver circuit TR1 on the other hand, the control signals RD, WR and SR are transmitted.

Die einzelnen Bausteine der Fig. 3 können z.B. sein: Der Taktimpulsgenerator CK ein Baustein I8284A, der Busarbiter ein Baustein I8289 von D teil, die Treiberschaltung TR1 ein Baustein 74LS244 und die übrigen Treiberschaltungen Bausteine 74LS374. Der Aufbau dieser Bausteine kann den entsprechenden Datenblättern entnommen werden, ebenso die in Fig. 3 verwendeten Bezeichnungen.The individual building blocks of Fig. 3 can be, for example: The clock pulse generator CK a component I8284A, the bus arbiter a component I8289 from D part, the driver circuit TR1 a component 74LS244 and the remaining driver circuits components 74LS374. Of the The structure of these modules can be found in the corresponding data sheets, likewise the designations used in FIG. 3.

Das Zusammenwirken der einzelnen Baueinheiten des Rechners nach Fig. 1 wird anhand der Ausführung eines Befehls erläutert. Dazu wird der Befehl'Aden Wort' verwendet. Der Aufbau des Befehls ergibt sich aus Fig. 4. Er besteht aus 32 Bit und enthält als Bestandteile den Operationscode OP, Registernummern R1, X2 und B2 und einen Bestandteil D2.The interaction of the individual components of the computer according to Fig. 1 is explained based on the execution of a command. The command 'Den Word 'used. The structure of the command is shown in Fig. 4. It consists of 32 Bit and contains as components the operation code OP, register numbers R1, X2 and B2 and a component D2.

Die Ausführung eines solchen Befehls kann gemäß dem Ablaufdiagramm der Fig. 4 in folgende Schritte unterteilt werden: Zunächst muß im Schritt S1 festgestellt werden, ob ein Unterbrechungsflag gesetzt ist. Ist dies der Fall, dann liegt eine Unterbrechung vor, die bearbeitet werden muß.The execution of such an instruction can be carried out according to the flowchart 4 are subdivided into the following steps: First, it must be determined in step S1 whether an interrupt flag is set. If this is the case, then there is one Interruption that needs to be processed.

Dies erfolgt dann in einem Schritt S2. Ist dies jedoch nicht der Fall, dann folgt auf SchrittS1 Schritt S3, in dem die Befehlsadresse überprüft wird. Dabei kann festgestellt werden, ob die Befehlsadresse auf Halbwortadresse liegt. Ist die Befehlsadresse nicht fehlerhaft, dann wird in einem Schritt S4 der Befehl vom Arbeitsspeicher geholt.This then takes place in a step S2. However, if this is not the case, then step S1 is followed by step S3 in which the command address is checked. Included it can be determined whether the command address is on half-word address. Is the If the command address is not incorrect, then the command is sent from the main memory in a step S4 fetched.

Dies kann in einem Schritt geschehen, wenn die Breite der Mikrocomputer der Breite des Befehls entspricht. Wenn dagegen die Mikrocomputer eine Breite von lediglich 16 Bit haben, wird dieser Schritt S4 in zwei Teilschritte aufgeteilt. Auf Schritt S4 folgt Schritt S5, in dem der Operationscode decodiert wird. In Abhängigkeit des Operations- codes werden nämlich die zugeordneten Programme in den einzelnen Mikrocomputern ausgewählt. Anschließend wird im Schritt S6 die Adresse des nächst auszuführenden Befehls ausgerechnet, im Schritt S7 wird die Operandenadresse aus den Abschnitten X2, B2 und D2 des Befehls ausgerechnet und im Schritt S8 überprüft, ob die Adresse auf Wortgrenze liegt. Im Schritt S9 wird der Operand aus dem Arbeitsspeicher ASP geholt, im Schritt S10 die Registernummer R1 aus dem Befehl decodiert und dann im Schritt S11 der Operand unter der im Schritt S10 festgestellten Adresse im Zwischenspeicher SCP abgespeichert.This can be done in one step, if the width of the microcomputer corresponds to the width of the command. On the other hand, if the microcomputers have a width of only have 16 bits, this step S4 is divided into two sub-steps. Step S4 is followed by step S5, in which the operation code is decoded. Dependent on of the operational codes become the assigned programs selected in each microcomputer. Then in step S6 the The address of the next command to be executed is calculated, in step S7 the operand address calculated from sections X2, B2 and D2 of the command and checked in step S8, whether the address is on the word boundary. In step S9 the operand is taken from the working memory ASP fetched, the register number R1 decoded from the instruction in step S10 and then in step S11 the operand at the address in the buffer memory determined in step S10 SCP saved.

Die Vorbereitung der Ausführung dieses Befehls erfolgt mit Hilfe des ersten Mikrocomputers MC1, also des bipolaren Mikrocomputers. Die von dem Mikrocomputer MC1 auszuführenden Schritte sind als Mikroprogramme im Mikroprogrammspeicer MPS abgespeichert. Der Mikrocomputer MC1 stellt zunächst fest, ob ein Unterbrechungsflag gesetzt ist. Dazu überprüft er ein im Zwischenspeicher SCP enthaltenes Unterbrechungsregister. Ist ein Unterbrechungsflag gesetzt, dann erzeugt er eine Unterbrechungsanforderung INT4, durch die die übrigen Mikrocomputer informiert werden und führt die Unterbrechungsbehandlung durch. Ist dagegen kein Unterbrechungsflag gesetzt, dann liest er die Befehlsadresse aus seinem Befehlszähler und überprüft sie (Schritt S3).The preparation for the execution of this command is carried out with the help of the first microcomputer MC1, so the bipolar microcomputer. The one from the microcomputer MC1 steps to be carried out are as microprograms in the microprogram memory MPS saved. The microcomputer MC1 first determines whether there is an interruption flag is set. To do this, it checks an interrupt register contained in the intermediate memory SCP. If an interrupt flag is set, then it generates an interrupt request INT4, through which the other microcomputers are informed and carries out the interrupt handling by. If, on the other hand, no interruption flag is set, then it reads the command address from its command counter and checks it (step S3).

Liegt bei der Befehlsadresse ein Fehler vor, dann erzeugt er eine Unterbrechungsanforderung INT5, mit der er die übrigen Mikrocomputer von dem Fehler unterrichtet. Liegt dagegen kein Fehler vor, dann holt er den ersten Teil des Befehls, die Bits 0 bis 15 vom Arbeitsspeicher, führt also den Schritt S4 durch. Damit ist die Befehlsvorbereitung beendet.If there is an error in the command address, it generates an Interrupt request INT5 with which he clears the remaining microcomputers from the error informed. If, on the other hand, there is no error, then it fetches the first part of the command, the bits 0 to 15 from the main memory, so carries out step S4. So is command preparation ended.

über eine Unterbrechungsanforderung INT6 aktiviert der Mikrocomputer MC1 die übrigen Mikrocomputer. Da der erste Teil des Befehls über den Standardbus SB allen Mikrocomputern MC1 und MC2 bekannt ist, können diese aus dem Operationscode OP die entsprechenden Programme für die ihnen zugewiesenen Schritte ansteuern. Der Mikrocomputer MC2 decodiert aus dem ersten Teil des Befehls die Registernummern R1 und X2. Anschließend holt der Mikrocomputer MC1 den Rest des Befehls, die Bits 16 bis 31 aus dem Arbeitsspeicher ASP und gibt diese Information an die anderen Mikrocomputer weiter. Außerdem verwaltet der Mikrocomputer MC1 dem Befenlszähler und errechnet die Adresse des nächst auszu Mhrenden Befehls. Der Schritt S5 wird somit von allen Mikrocomputern durchgeführt, während der Schritt S6 vom Mikrocomputer MC1 ausgeführt wird.The microcomputer activates it via an interrupt request INT6 MC1 the remaining microcomputers. Since the first Part of the command over the standard bus SB is known to all microcomputers MC1 and MC2, these can be made from the operation code OP the corresponding programs for the steps assigned to them drive. The microcomputer MC2 decodes the register numbers from the first part of the instruction R1 and X2. The microcomputer MC1 then fetches the remainder of the command, the bits 16 to 31 from the working memory ASP and gives this information to the others Microcomputer further. The microcomputer MC1 also manages the command counter and calculates the address of the next command to be harvested. The step S5 becomes thus performed by all microcomputers, while step S6 is performed by the microcomputer MC1 is running.

Der Mikrocomputer MC2 berechnet nun die Operandenadresse, in dem er aus dem zweiten Befehlsteil die Registernummer B2 und den Teil D2 decodiert. Die Registernummern B2 und X2 werden nur berücksichtigt, wenn sie jeweils ungleich 0 sind.The microcomputer MC2 now calculates the operand address in which he the register number B2 and the part D2 are decoded from the second instruction part. the Register numbers B2 and X2 are only taken into account if they are not equal to 0 are.

Auf dem Bestandteil D2 werden dann die Inhalte der Register B2 und X2 addiert. Damit ist die Operandenadresse berechnet. Die Inhalte der Register B2 und X2 sind im Zwischenspeicher SCP abgespeichert.The contents of registers B2 and X2 added. The operand address is now calculated. The contents of registers B2 and X2 are stored in the intermediate memory SCP.

Anschließend prüft der Mikrocomputer Mm2 die Operandenadresse (Schritt S8),bei Fehlern unterbricht er den anderen Mikrocomputer MOl über eine Unterbrechungsanforderung INTO und führt die Fehlerbehandlung durch.The microcomputer Mm2 then checks the operand address (step S8); in the event of errors, it interrupts the other microcomputer MO1 via an interrupt request INTO and performs error handling.

Liegt kein Fehler vor, dann gibt er die Adresse des Operanden an den Arbeitsspeicher ASP aus und holt den Operanden. Schließlich speichert der Mikrocomputer MC2 den Operanden in den Zwischenspeicher SCP ab und zwar unter der Adresse, die er aus der decodierten Nummer R1 des Befehls errechnet hat (Schritt S10 und S11).If there is no error, it sends the address of the operand to the RAM ASP and fetches the operand. Finally the microcomputer stores MC2 from the operand in the buffer SCP at the address that it has calculated from the decoded number R1 of the instruction (steps S10 and S11).

Es ist somit zu sehen, daß der Mikrocomputer MC1 die Befehlsvorbereitung ausführt und den Befehl aus dem Arbeitsspeicher ASP holt, während der Mikrocomputer MC2 die Ausführung des Befehls übernimmt, den Operand aus dem Arbeitsspeicher ASP holt und die übertragung zum Zwischenspeicher SCP veranlaßt.It can thus be seen that the microcomputer MC1 is preparing the instruction executes and fetches the command from the ASP memory while the microcomputer MC2 takes over the execution of the command, the operand from the main memory ASP fetches and initiates the transfer to the buffer SCP.

Im Ablaufdiagramm der Fig. 4 ist die Behandlung der Fehlerfälle Schritt S12 und S13 nicht weiter erläutert worden. Für deren Behandlung sind entsprechende Programme in den Mikrocomputern MC1 und MC2 enthalten.In the flowchart in FIG. 4, the handling of the error cases is step S12 and S13 have not been explained further. For their treatment are appropriate Programs contained in microcomputers MC1 and MC2.

Zur Durchführung des i,fehlsttuden Wort' werden im Ausführungsbeispiel nur ein Mikrocomputer MC1 und ein Mikrocomputer MC2 verwendet. Bei komplex aufgebauten Befehlen, wie z.B.'Addiere Dezimal'kann es sinnvoll sein, mehr als zwei parallel arbeitende Mikrocomputer einzusetzen.To implement the i 'missing word' in the exemplary embodiment only one microcomputer MC1 and one microcomputer MC2 are used. With complex structures Commands such as 'Add decimal' can make sense to use more than two in parallel to use working microcomputers.

In Fig. 1 sind zuzätzlich zu den in Fig. 3 beschriebenen Unterbrechungsanforderungen weitere Unterbrechungsanforderungen eingezeichnet. Diese sind für die Ausführung anderer Befehle erforderlich.In FIG. 1 are in addition to the interrupt requests described in FIG. 3 further interrupt requests are shown. These are for execution other commands required.

7 Patentansprüche 4 Figuren7 claims 4 figures

Claims (7)

Patentansprüche Prozessoreinheit eines Rechners, die zur Ausführung von nicht zum eigenen Befehlsvorrat gehörenden Befehlen geeignet ist und bei der jeder Befehl in einer Folge von Schritten ausgeführt wird, dadurch g e k e n n -z e i c h n e t , daß mindestens ein erster Mikrocomputer (MC1) und mindestens ein zweiter Mikrocomputer (MC2) mit verschiedenen Eigenschaften vorgesehen sind, die parallel zueinander betreibbar sind und die getrennt voneinander entsprechend ihren Eigenschaften die einem Befehl zugeordneten Schritte ausführen.Claims processor unit of a computer, which is used for execution is suitable for commands that do not belong to the own command set and for the each instruction is executed in a sequence of steps, thereby g e k e n n -z e i c h n e t that at least one first microcomputer (MC1) and at least one second microcomputer (MC2) are provided with different properties that can be operated in parallel to one another and which are separated from one another according to their Properties execute the steps assigned to a command. 2. Prozessoreinheit nach Anspruch 1, dadurch g e -k e n n z e i c h n e t , daß die ersten Mikrocomputer (MC1) und die zweiten Mikrocomputer (MC2) verschiedene Verarbeitungsgeschwindigkeit haben.2. Processor unit according to claim 1, characterized in that g e -k e n n z e i c Note that the first microcomputers (MC1) and the second microcomputers (MC2) have different processing speed. 3. Prozessoreinheit nach Anspruch 2, dadurch g e -k e n n z e i c h n e t , daß die ersten Mikrocomputer (MC1) bipolare Mikrocomputer und die zweiten Mikrocomputer (MC2) in MOS Technik ausgeführt sind.3. Processor unit according to claim 2, characterized in that g e -k e n n z e i c Note that the first microcomputers (MC1) are bipolar microcomputers and the second Microcomputers (MC2) are implemented in MOS technology. 4. Prozessoreinheit nach Anspruch 3, dadurch g e -k e n n z e i c h n e t , daß jeder bipolare Mikrocomputer (MC1) die ihm zugeordneten Schritte des Befehls als Mikroprogramm in einem Mikroprogrammspeicher (MPS) des Mikrocomputers gespeichert hat.4. Processor unit according to claim 3, characterized in that g e -k e n n z e i c It should be noted that each bipolar microcomputer (MC1) carries out the steps of the associated with it Instruction as a microprogram in a microprogram memory (MPS) of the microcomputer saved. 5. Prozessoreinheit nach Anspruch 4, dadurch g e -k e n n z e i c h n e t , daß die bipolaren Mikrocomputer (MC1) die Schritte zur Vorbereitung der Durchführung des Befehls ausführen.5. Processor unit according to claim 4, characterized in that g e -k e n n z e i c Note that the bipolar microcomputer (MC1) takes the steps to prepare for the Execute execution of the command. 6. Prozessoreinheit nach Anspruch 3, dadurch g e -k e n n z e i c h n e t , daß die jedem zweiten Mikrocomputer (MC2) zugeordneten Schritte des Befehls als Programme in Assemblersprache in einem Speicher des Mikrocomputers gespeichert sind.6. Processor unit according to claim 3, characterized in that g e -k e n n z e i c Note that the steps of the instruction associated with every second microcomputer (MC2) stored as programs in assembly language in a memory of the microcomputer are. 7. Prozessoreinheit nach einem der vorhergehenden Ansprüche, dadurch g e k e n n z e i c h n e t , daß jeder Mikrocomputer den anderen Mikrocomputern durch Unterbrechungsanforderungen (INT) mitteilt, wenn die anderen Mikrocomputer betätigt werden sollen oder wenn diese ihre Tätigkeit einstellen sollen.7. Processor unit according to one of the preceding claims, characterized It is not noted that each microcomputer corresponds to the other microcomputers through interrupt requests (INT) notifies when the other microcomputers should be operated or if they are to cease their activity.
DE19823233378 1982-09-08 1982-09-08 Processor unit of a computer Withdrawn DE3233378A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE19823233378 DE3233378A1 (en) 1982-09-08 1982-09-08 Processor unit of a computer
CH353583A CH660925A5 (en) 1982-09-08 1983-06-28 PROCESSOR UNIT OF A COMPUTER.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19823233378 DE3233378A1 (en) 1982-09-08 1982-09-08 Processor unit of a computer

Publications (1)

Publication Number Publication Date
DE3233378A1 true DE3233378A1 (en) 1984-03-08

Family

ID=6172747

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19823233378 Withdrawn DE3233378A1 (en) 1982-09-08 1982-09-08 Processor unit of a computer

Country Status (2)

Country Link
CH (1) CH660925A5 (en)
DE (1) DE3233378A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3721961A (en) * 1971-08-11 1973-03-20 Ibm Data processing subsystems
DE3101270A1 (en) * 1981-01-16 1982-08-05 Christian Dipl.-Ing. 8000 München Nitschke Computer system for combined word processing and bit processing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3721961A (en) * 1971-08-11 1973-03-20 Ibm Data processing subsystems
DE3101270A1 (en) * 1981-01-16 1982-08-05 Christian Dipl.-Ing. 8000 München Nitschke Computer system for combined word processing and bit processing

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
DE-Buch: Siemens Forschungs- und Entwicklungs- Berichte, Bd.7, 1978, Nr.6, S.363-367 *
DE-Z: Sonderdruck aus Elektronik Nr.19/1981 *
US-Z: Computer Design, February 1980, S.137-144 *
US-Z: Electronic Design 5, 1.März 1980, S.19 *
US-Z: IBM Journal of Research and Development, Vol26, No.4, Juli 1982, S.401-412 *

Also Published As

Publication number Publication date
CH660925A5 (en) 1987-05-29

Similar Documents

Publication Publication Date Title
DE2540975C2 (en) Data processing device for executing several processes running at the same time
EP0010185B1 (en) Virtual-addressing device for a computer
DE1549523B2 (en) DATA PROCESSING SYSTEM
DE2411963B2 (en) DATA PROCESSING SYSTEM
DE2756768A1 (en) MICROPROCESSOR ARCHITECTURE
DE2459956A1 (en) PROCESSOR AND PERIPHERAL PROCESSING SYSTEM USING IT
EP0006164A1 (en) Multiprocessor system with jointly usable storages
DE1774870C3 (en) Device for addressing a memory cell of a memory in a data processing system
DE2533737A1 (en) DATA PROCESSOR
DE3338329C2 (en)
DE3545937A1 (en) MICROPROCESSOR
DE3307194C2 (en)
DE2835110A1 (en) FAST REAL-TIME COMPUTER EMULATOR
DE2747304A1 (en) MICRO COMMAND DEVICE
DE2507405C2 (en) Arrangement for synchronizing tasks to be carried out simultaneously for peripheral devices of a data processing system
DE3233378A1 (en) Processor unit of a computer
DE2237427C3 (en) Control arrangement in a data processing system with microprogram control
DE2846537C2 (en) Micro-programmed data processing equipment
DE2000608A1 (en) Circuit arrangement for a message processing system, in particular for a message switching system
DE2150292C2 (en) Microprogram-controlled data processing system with superimposed execution and extraction of commands
DE1549449A1 (en) Facility for processing floating point numbers
CH660426A5 (en) PROCESSOR UNIT OF A COMPUTER AND METHOD FOR THE OPERATION THEREOF.
DE2413569A1 (en) CONTROL DEVICE FOR AN ELECTRONIC COMPUTER
DE2122659A1 (en)
DE2345098C3 (en) Control unit for a processor of a computer

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
8141 Disposal/no request for examination