DE19729618C2 - Mikroprozessor und Mehrprozessorsystem - Google Patents

Mikroprozessor und Mehrprozessorsystem

Info

Publication number
DE19729618C2
DE19729618C2 DE19729618A DE19729618A DE19729618C2 DE 19729618 C2 DE19729618 C2 DE 19729618C2 DE 19729618 A DE19729618 A DE 19729618A DE 19729618 A DE19729618 A DE 19729618A DE 19729618 C2 DE19729618 C2 DE 19729618C2
Authority
DE
Germany
Prior art keywords
microprocessor
reset
process program
external
address
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.)
Expired - Fee Related
Application number
DE19729618A
Other languages
English (en)
Other versions
DE19729618A1 (de
Inventor
Hiroyuki Kondo
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE19729618A1 publication Critical patent/DE19729618A1/de
Application granted granted Critical
Publication of DE19729618C2 publication Critical patent/DE19729618C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4405Initialisation of multiprocessor systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Multi Processors (AREA)
  • Microcomputers (AREA)
  • Advance Control (AREA)

Description

Die vorliegende Erfindung betrifft einen Mikroprozessor mit einer Rücksetzfunktion, und insbesondere einen Mikroprozessor mit einer einfachen Einrichtung, die zur Initialisierung ei­ nes Systems besonders dann erforderlich ist, wenn es sich um ein Mehrprozessorsystem handelt.
Die Erfindung bezieht sich auch auf ein Mehrprozessorsystem mit einer einfachen Einrichtung zur Initialisierung des Ge­ samtsystems.
Ein Mikroprozessor führt beispielsweise einen Rücksetzvorgang zur Initialisierung des Inneren des Prozessors im Ansprechen auf das Geltendmachen eines Rücksetzsignals von außen auf das Einschalten einer Energieversorgung hin zur Ausführung eines Benutzerprogramms durch. Der Rücksetzvorgang umfasst einen Geräte­ rücksetzvorgang bzw. Hardwarerücksetzvorgang, wobei das von außerhalb des Mikroprozessors geltend gemachte Rücksetzsignal an Speicherelemente in dem Prozessor angelegt wird, uni die in den Speicherelementen gespeicherten Inhalte rückzusetzen, und einen Softwarerücksetzvorgang, bei dem ein Pro­ gramm zum Rücksetzen, das von einem externen Speicher abgeru­ fen wird, in dem Prozessor ausgeführt wird, um zu ermögli­ chen, daß das Benutzerprogramm zur Verarbeitung bereit ist. Insbesondere bei dem Softwarerücksetzvorgang, wenn das Rück­ setzsignal geltend gemacht wird, wird ein Rücksetzvektorein­ trag bzw. Rücksetzvektoreingang bzw. eine Rücksetzvektorein­ sprungadresse aus dem externen Speicher abgerufen, und es wird auf die an der Einsprungadresse enthaltenen Informatio­ nen bezug genommen, wodurch das Programm zum Rücksetzen abge­ rufen wird.
Bei einem Mehrprozessorsystem, in dem eine Vielzahl von Pro­ zessoren zur Durchführung des vorstehend beschriebenen Rück­ setzvorgangs derart, daß einer der Prozessoren als Masterpro­ zessor fungiert, während die anderen als Slaveprozessoren fungieren, enthalten ist, müssen alle Prozessoren zum Rück­ setzen des Gesamtsystems initialisiert werden. Zu diesem Zweck wird das Rücksetzsignal anfangs in allen Prozessoren geltend gemacht. Ein Programm zum Rücksetzen wird zuvor in einem Nur-Lese-Speicher (der nachstehend auch als ROM be­ zeichnet wird) in dem System gespeichert. Nach dem Geltendma­ chen des Rücksetzsignals greift jeder Prozessor auf den Nur- Lese-Speicher zur Ausführung des Programms zum Rücksetzen zu, wodurch jeder Prozessor initialisiert wird. Da die Prozesso­ ren nicht gleichzeitig auf den Nur-Lese-Speicher zugreifen dürfen, ist das Mehrprozessorsystem derart angepaßt, daß die Prozessoren auf den Nur-Lese-Speicher in einer aufeinander­ folgenden Reihenfolge zugreifen.
Bei dem wie vorstehend beschrieben aufgebauten Mehrprozessor­ system dürfen die Prozessoren, wenn das Rücksetzsignal gleichzeitig bei den Prozessoren geltend gemacht wird, nicht gleichzeitig auf den Nur-Lese-Speicher zugreifen, der den Rücksetzvektoreingang bzw. die Rücksetzvektoreinsprungadresse speichert, um auf die Rücksetzvektoreinsprungadresse bezugzu­ nehmen. Somit ist eine neue komplizierte Einrichtung wie eine Busanpassungsschaltung erforderlich, die veranlaßt, daß die Vielzahl der Prozessoren nacheinander auf den Nur-Lese- Speicher zugreift. Desweiteren ist es in der Praxis üblich, daß die jeweiligen Prozessoren unterschiedliche Programmrou­ tinen in dem Programm zum Rücksetzen aufgrund eines Unter­ schieds in Rücksetzinhalten zwischen den Master- und Slave­ prozessoren ausführen. Dann wird eine Einrichtung zur Identi­ fizierung erforderlich, welcher Prozessor die jeweiligen Pro­ grammroutinen auszuführen hat.
Alternativ dazu kann eine Vielzahl von lokalen Nur-Lese- Speichern (ROMs) in einer ensprechenden Beziehung zu den je­ weiligen Prozessoren in dem Mehrprozessorsystem vorgesehen werden, wobei jeder Prozessor den Befehl zum Rücksetzen aus­ führt, der in dem entsprechenden Nur-Lese-Speicher gespei­ chert ist, um den Rücksetzvorgang durchzuführen. Jedoch wird es dadurch erforderlich, für jeden Prozessor Adresseninforma­ tionen bereitzustellen, um zu bestimmen, auf welchen der Nur- Lese-Speicher der jeweilige Prozessor nach dem Geltendmachen des Rücksetzsignals zugreift. Um diesem Erfordernis zu genü­ gen, wird die Einstellung von Rücksetzvektoreinsprungadressen für die jeweiligen Prozessoren angenommen. Jedoch erfordert die Verwendung identischer Prozessoren als Master- und Slave­ prozessoren die Einstellung von Adresseninformationen, die die Nur-Lese-Speicher anzeigen, auf die durch die jeweiligen Prozessoren für die Rücksetzvektoreinsprungadressen von außen zuzugreifen ist. Bei beiden Alternativen ist eine Einrichtung zur Einstellung der Adresseninformationen von außerhalb zu­ sätzlich vorzusehen. Desweiteren erhöht die Bereitstellung der Vielzahl von Nur-Lese-Speichern entsprechend den jeweili­ gen Prozessoren der Umfang der Hardware.
Das Mehrprozessorsystem erfordert eine komplizierte Einrich­ tung zur Steuerung der Verarbeitung zwischen Einheiten, wie dem Masterprozessor und den Slaveprozessoren. Die Bereitstel­ lung der vorstehend beschriebenen neuen Einrichtung verur­ sacht eine kompliziertere Systemstruktur, und es ist eine Vielzahl von Speichern für die Funktion des Mehrprozessorsy­ stems erforderlich. Somit ist die unnötige Erhöhung der An­ zahl an Speichern nicht wünschenswert.
Die US 5 448 716 betrifft die Initialisierung eines Mehrpro­ zessorsystems mit einem lokalen Prozessorspeicher und einem gemeinsam genutzten globalen Speicher. Zur Synchronisierung eines allgemeinen Startsignals und von prozessoreigenen Neu­ startsequenzen werden Rücksetzschaltungen verwendet, die so­ wohl den lokalen als auch den globalen Speicher rücksetzen.
Die Druckschrift "IBM Technical Disclosure Bulletin", Januar 1991, Seiten 94 und 95, beschäftigt sich mit der Initialisie­ rung von Mehrprozessorsystemen und Speicherräumen.
Die Aufgabe der Erfindung liegt darin, eine einfache Initia­ lisierung in einem Master-Slave-System auszugestalten.
Diese Aufgabe wird erfindungsgemäß durch ein Mehrprozessor­ system nach Patentanspruch 1 gelöst.
Die vorstehend angeführte Aufgabe wird auch durch einen Mik­ roprozessor gemäß Patentanspruch 11 gelöst.
In den Unteransprüchen sind vorteilhafte Ausgestaltungen der Erfindung definiert.
Erfindungsgemäß werden die Speicherelemente in dem Mikropro­ zessor im Ansprechen auf das externe Rücksetzsignal rückge­ setzt. In dem ersten Modus werden die das erste Interruptpro­ zeßprogramm bildenden Befehle an die Befehlsdecodiereinrich­ tung im Ansprechen auf die Eingabe des Interruptsignals ange­ legt, und der Verarbeitungsabschnitt führt den in dem Inter­ ruptprozeßprogramm enthaltenen Befehl für den Rücksetzprozeß aus, wodurch eine Initialisierung bewirkt wird. Falls somit der Mikroprozessor ein Mehrprozessorsystem mit einem anderen Prozessor bildet, der durch Ausführung des Befehls im Anspre­ chen auf das Rücksetzsignal initialisiert wird, kann die ur­ sprünglich für den Interruptprozeß vorgesehene herkömmliche Einrichtung zur Ausführung des Befehls zur Initialisierung verwendet werden. Es ist nicht erforderlich, zu den jeweili­ gen Prozessoren eine Hardwareeinrichtung zur Identifizierung hinzuzufügen, auf welchen Speicherbereich zuzugreifen ist, der die durch die jeweiligen Prozessoren auszuführende Pro­ grammroutine speichert. Dadurch wird der Systementwurf des Mehrprozessorsystems verglichen mit dem System erleichtert, bei dem die Programme im Ansprechen auf ein gemeinsames Rück­ setzsignal ausgeführt werden.
Erfindungsgemäß werden in dem zweiten Modus die das Rück­ setzprozeßprogramm bildenden Befehle an die Befehlsdecodier­ einrichtung des Verarbeitungsabschnitts im Ansprechen auf das an den Verarbeitungsabschnitt angelegte Rücksetzsignal ange­ legt, und der Verarbeitungsabschnitt führt die Befehle des Rücksetzprozeßprogramms aus, wodurch der Mikroprozessor ini­ tialisiert wird. Wenn ein in den ersten Modus versetzter Pro­ zessor und ein in den zweiten Modus versetzter Prozessor vor­ gesehen sind, um ein Mehrprozessorsystem zu bilden, kann das Gesamtsystem initialisiert werden, ohne in den jeweiligen Prozessoren die Hardwareeinrichtung zur Identifikation vorzu­ sehen, auf welchen Speicherbereich zuzugreifen ist, der die durch die jeweiligen Prozessoren auszuführende Programmrouti­ ne speichert, verglichen mit dem System, bei dem die Prozes­ soren Programme im Ansprechen auf das gemeinsame Rücksetzsig­ nal ausführen. In diesem Fall sollten abgesehen von der Ver­ änderung der Modi identische Prozessoren vorgesehen werden.
Erfindungsgemäß werden bei dem ersten Mikroprozessor des Mikroprozessorsystems die das Rücksetzprozeßprogramm bildenden Befehle an die Befehlsdeco­ diereinrichtung des ersten Mikroprozessors im Ansprechen auf die Eingabe des Rücksetzsignals angelegt, und die Befehle des Rücksetzprozeßprogramms werden ausgeführt, wodurch der erste Mikroprozessor initialisiert und das Interruptsignal erzeugt wird. In dem zweiten Mikroprozessor werden die das Inter­ ruptprozeßprogramm bildenden Befehle an die Befehlsdecodier­ einrichtung des zweiten Mikroprozessors im Ansprechen auf die Eingabe des Interruptsignals angelegt, und der in dem Inter­ ruptprozeßprogramm enthaltene Befehl zum Rücksetzen wird aus­ geführt, wodurch der zweite Mikroprozessor initialisiert wird. Dadurch kann der zweite Mikroprozessor dem Befehl zur Initialisierung durch Verwendung der ursprünglich für den In­ terruptprozeß vorgesehenen herkömmlichen Einrichtung ausfüh­ ren. Es ist nicht erforderlich, jeweils zu dem ersten und dem zweiten Mikroprozessor eine Hardwareeinrichtung zur Identifi­ zierung hinzuzufügen, auf welchen Speicherbereich zuzugreifen ist, der die durch die jeweiligen Prozessoren auszuführende Programmroutine speichert. Dadurch wird der Systementwurf des Mehrprozessorsystems verglichen mit dem System erleichtert, bei dem der erste und der zweite Mikroprozessor Programme im Ansprechen auf ein gemeinsames Rücksetzsignal ausführen.
Die Erfindung wird nachstehend anhand von Ausführungsbeispie­ len unter Bezugnahme auf die Zeichnung näher beschrieben. Es zeigen:
Fig. 1 eine Darstellung eines Mikroprozessors gemäß einem ersten Ausführungsbeispiel der Erfindung;
Fig. 2 einen Adressenraum für den Mikroprozessor gemäß Fig. 1;
Fig. 3 Einzelheiten eines Bereichs des Mikroprozessors gemäß Fig. 1, dem ein externer Nur-Lese-Speicher gesehen von dem Mikroprozessor aus zugeordnet ist, wenn ein Mastermodus ein­ gestellt ist;
Fig. 4 Einzelheiten eines Bereichs des Mikroprozessors gemäß Fig. 1, dem ein interner dynamischer Schreib-Lese-Speicher gesehen von dem Mikroprozessor aus zugeordnet ist, wenn der Mastermodus eingestellt ist;
Fig. 5 Einzelheiten eines Bereichs des Mikroprozessors gemäß Fig. 1, dem der interne dynamische Schreib-Lese-Speicher ge­ sehen von dem Mikroprozessor aus zugeordnet ist, wenn ein Slavemodus eingestellt ist;
Fig. 6 eine Darstellung eines Eingabe-/Ausgabepuffers, der mit einem Datenbusanschluß D und einem Adressenanschluß A in dem Mikroprozessor gemäß Fig. 1 ver­ bunden ist;
Fig. 7 eine Darstellung eines Mehrprozessorsystems, das den Mikroprozessor gemäß Fig. 1 verwendet;
Fig. 8 ein Zeitablaufdiagramm der Verarbeitung eines Master­ prozessors MP und eines Slaveprozessors SP in dem Mehrprozes­ sorsystem gemäß Fig. 7;
Fig. 9 eine Darstellung des Mehrprozessorsystems gemäß einem zweiten Ausführungsbeispiel der Erfindung;
Fig. 10 einen Adressenraum für einen in Fig. 9 gezeigten Mikroprozessor 200;
Fig. 11 Einzelheiten eines Bereichs, dem der externe Nur- Lese-Speicher gesehen von dem Mikroprozessor 200 in Fig. 9 aus zugeordnet ist;
Fig. 12 Einzelheiten eines Bereichs, dem der interne dynami­ sche Schreib-Lese-Speicher gesehen von dem Mikroprozessor 200 in Fig. 9 aus zugeordnet ist, und
Fig. 13 ein Ablaufdiagramm des Verarbeitungsablaufs zur In­ itialisierung des Mehrprozessorsystems in Fig. 9.
Erstes bevorzugtes Ausführungsbeispiel
Fig. 1 zeigt eine Darstellung eines Mikroprozessors gemäß dem ersten Ausführungsbeispiel. Der Mikroprozessor 10 weist Datenbusanschlüsse D, die mit einem 16 Bits breiten externen Datenbus 25 verbunden sind, und einen 128 Bits breiten inter­ nen Datenbus 20 zur Übertragung von 128-Bit-Daten auf.
Der Prozessorhauptteil 10 umfaßt eine (nachstehend auch als CPU bezeichnete) Zentraleinheit 11, eine Befehlswarteschlange 12 zum Anlegen eines Befehlscodes (eines Befehls) an die CPU 11, der von dem internen Datenbus 20 empfangen wird, einen externen Busschnittstellenabschnitt (externen Bus-I/F- Abschnitt) 13 zur Eingabe und Ausgabe von 128-Bit-Daten in und aus dem internen Datenbus 20 und zur Eingabe und Ausgabe von 16-Bit-Daten in und aus der äußeren Umgebung, einen Cache-Speicher 14 zur Eingabe und Ausgabe von Daten in und aus dem internen Datenbus 20, einen internen dynamischen Schreib-Lese-Speicher (DRAM) 15 zur Eingabe und Ausgabe von Daten in und aus dem internen Datenbus 20, einen Univer­ saleingabe-/ausgabeanschluß 16 zur Eingabe und Ausgabe von Daten in und aus dem internen Datenbus 20, eine Datenauswah­ leinrichtung 17 zur Eingabe und Ausgabe von Daten in und aus dem internen Datenbus 20 und eine Bussteuereinrichtung 18 zur Steuerung eines Zugriffs auf einen Speicher und zur Bussteue­ rung des externen Datenbusses 25. Der Prozessor 10 enthält eine integrierte Ein-Chip-Halbleiterschaltung.
Die Zentraleinheit 11 umfaßt einen Steuerabschnitt 30 und ei­ nen Ausführungsabschnitt 40.
Der Steuerabschnitt 30 enthält eine Befehlsdecodiereinrich­ tung 31 zum aufeinanderfolgenden Empfang einer Vielzahl von Befehlen von der Befehlswarteschlange 12 über eine 32 Bits breite Signalleitung zur Decodierung der Befehle. Der Steuer­ abschnitt 30 gibt verschiedene Steuersignale entsprechend den decodierten Inhalten der Befehle aus. Die zu decodierenden Befehle enthalten 32-Bit-Befehle und 16-Bit-Befehle.
Der Ausführungsabschnitt 40 enthält eine Registergruppe 41 aus einer Vielzahl von Registern, die jeweils 32-Bit-Daten halten, eine Arithmetik- und Logikeinheit (ALU) 42 zur Durch­ führung einer arithmetischen Operation und dergleichen bei zwei empfangenen Werten, einen Programmzähler (PC) 43 zum Halten einer Adresse, an der ein Befehl gespeichert ist, und Datenbusse 44a, 44b und 44c, die jeweils 32 Bits breit sind.
Die Registergruppe 41 enthält 16 Universalregister zum tempo­ rären Halten von Daten und Adressen und fünf Steuerregister, die als Prozessorstatus-Wortregister (PSW), Stapelzeiger und Reserveregister (Backup-Register) für den Programmzähler 43 verwendet werden. Jedes dieser Register hält 32 Bits.
Die ALU 42 weist einen ersten Eingang zum Empfang der Inhalte eines aus der Registergruppe 41 ausgewählten Registers über den Datenbus 44a oder der aus dem Steuerabschnitt 30 ausgege­ benen Daten (beispielsweise Zwischendaten in einem Operanden­ teil eines Befehls) und einen zweiten Eingang zum Empfang der Inhalte eines aus der Registergruppe 41 ausgewählten Regi­ sters über den Datenbus 44b. Die ALU 42 gibt das Ergebnis der arithmetischen Operation an ein aus der Registergruppe 41 ausgewähltes Register oder den Programmzähler 43 über den Da­ tenbus 44c aus.
Der Programmzähler 43 zählt aufeinanderfolgend den darin ge­ haltenen Wert, um die Adresse eines an die Befehlswarte­ schlange 12 anzulegenden Befehls an die Bussteuereinrichtung 18 auszugeben. Wenn ein Sprungbefehl abgerufen wird, stellt der Programmzähler 43 einen durch die ALU 42 berechneten Adressenwert oder eine direkte Adresse in dem durch die Be­ fehlsdecodiereinrichtung 31 decodierten Befehl ein, um einen Adressenwert eines an die Befehlswarteschlange 12 anzulegen­ den Sprungzielbefehls an die Bussteuereinrichtung 18 auszuge­ ben.
Der Ausführungsabschnitt 40 empfängt ein Steuersignal von dem Steuerabschnitt 30 zur Ausführung des durch die Befehlsdeco­ diereinrichtung 31 decodierten Befehls. Für einen arithmeti­ schen Operationsbefehl beispielsweise führt die ALU 42 eine Operation bei einem von der Registergruppe 41 gegebenen Wert durch, um das Operationsergebnis zu der Registergruppe 41 zu übertragen. Falls ein Datenübertragungsbefehl zur Übertragung von in der Registergruppe 41 gehaltenen Daten gegeben ist, werden zu übertragende Daten aus der Registergruppe 41 über die ALU 42 und die Datenauswahleinrichtung 17 zu dem internen Da­ tenbus 20 ausgegeben und dann zu dem internen dynamischen Schreib-Lese-Speicher (DRAM) 15, einer externen Speicherein­ richtung und dergleichen übertragen. Ist ein Sprungbefehl ge­ geben, wird die Sprungzieladresse, wie vorstehend beschrie­ ben, in dem Programmzähler 43 eingestellt.
Die Bussteuereinrichtung 18 empfängt die Adresse und andere in der Zentraleinheit 11 erzeugte Steuersignale, um die Adresse zu dem internen DRAM 15, dem Cache-Speicher 14 oder der externen Speichereinrichtung auszugeben, die als durch die empfangene Adresse bestimmter Speicherbereich dient, so daß auf den Speicherbereich zugegriffen wird. Die Bussteuer­ einrichtung 18 steuert den externen Busschnittstellenab­ schnitt 13, um den Zugriff auf die externe Speichereinrich­ tung zu ermöglichen.
Die Befehlswarteschlange 12 empfängt und hält von dem inter­ nen Datenbus 20 zugeführte Daten und bildende Befehle in Ein­ heiten von 128 Bits, um in Einheiten von 32 Bits auszuführen­ de Befehle zu der Befehlsdecodiereinrichtung 31 entsprechend der Steuerung des Steuerabschnitts 30 auszugeben. Falls der durch die Befehlsdecodiereinrichtung 31 decodierte Befehl der Sprungbe­ fehl ist, wird der in der Befehlswarteschlange 12 gehaltene Befehl gelöscht.
Der interne DRAM 15 weist eine Speicherkapazität von 1 Megabyte auf und gibt Daten in den internen Datenbus 20 in Einheiten von 128 Bits ein und aus. Der interne DRAM 15 emp­ fängt eine aus der Bussteuereinrichtung 18 ausgegebene Adres­ se und andere Steuersignale, um Befehle oder Daten aus bzw. in einen durch die Adresse bestimmten Bereich zu lesen bzw. zu schreiben.
Der Cache-Speicher 14 enthält einen 4-Kilobyte großen stati­ schen Schreib-Lese-Speicher und gibt Daten in den internen Datenbus 20 in Einheiten von 128 Bits ein und aus. Insbeson­ dere weist der Cache-Speicher 14 einen Modus zur Funktion als Cache sowohl für den Befehl aus auch für Daten des internen DRAMs 15 oder einen Modus zur Funktion als Befehls-Cache für einen externen Speicherbereich auf. Die Bussteuereinrichtung 18 steuert das Schalten zwischen den Modi des Cache-Speichers 14.
Der Universaleingabe-/ausgabeabschnitt 16 weist ein mit dem internen Datenbus 20 verbundenes Datenregister auf. Von dem Inneren des Prozessors über den internen Datenbus 20 zuge­ führte Daten werden in dem Datenregister eingestellt und an einem 1-Bit-Anschluß P nach außen ausgegeben. An dem Anschluß P empfangene Daten werden temporär in dem Datenregister ein­ gestellt und in das Innere des Prozessors über den internen Datenbus 20 übertragen. Auf das Datenregister des Univer­ saleingabe-/ausgabeanschlusses 16 wird durch die aus der Bussteuereinrichtung 18 ausgegebene Adresse und andere Steu­ ersignale zugegriffen.
Die Datenauswahleinrichtung 17 gibt Daten, die in Einheiten von 32 Bits unter den 128-Bit-Daten ausgewählt werden, die von dem internen Datenbus 20 empfangen werden, an den Daten­ bus 44c in der Zentraleinheit 11 aus, um die Ausgabedaten zu der Registergruppe 41 und dem Programmzähler 43 zu übertra­ gen. Vier aufeinanderfolgend aus der ALU 42 zu dem Datenbus 44c ausgegebene 32-Bit-Daten können durch die Datenauswah­ leinrichtung 17 zusammengesetzt und als 128-Bit-Daten zu dem internen Datenbus 20 ausgegeben werden. Der Steuerabschnitt 30 steuert den Betrieb der Datenauswahleinrichtung 17.
Der externe Busschnittstellenabschnitt 13 ist mit den 16 Da­ tenbusanschlüssen D zur Eingabe und Ausgabe von externen 16- Bit-Daten nach bzw. von außen und 24 Adressenanschlüssen A zur Eingabe und Ausgabe einer 24-Bit-Adresse verbunden. Der externe Busschnittstellenabschnitt 13 greift auf eine externe Speichereinrichtung (beispielsweise einen Nur-Lese-Speicher (ROM) und einen Schreib-Lese-Speicher (RAM)) oder eine Einga­ be-/Ausgabeeinrichtung (I/O-Einrichtung) zu. Wenn der Prozes­ sor 10 beispielsweise auf eine externe Speichereinrichtung zugreift, empfängt der externe Busschnittstellenabschnitt 13 eine Adresse eines Platzes, auf den zuzugreifen ist, von der Bussteuereinrichtung 18, um die Adresse über die Adressenan­ schlüsse A an die externe Speichereinrichtung auszugeben. Die externe Speichereinrichtung schreibt die von dem Mikroprozes­ sor 10 übertragenen Daten an einen durch die empfangene Adresse angezeigten Speicherplatz oder liest die an dem Spei­ cherplatz gespeicherten Daten, um die Daten zu dem Mikropro­ zessor 10 zu übertragen.
Wenn der Mikroprozessor 10 das Busrecht auf externe Busse (den externen Datenbus 25 und mit den Adressenanschlüssen A verbundene Busse) freigibt (oder wenn der Mikroprozessor 10 selbst nicht auf die externe Speichereinrichtung zugreifen darf), kann ein externer Busmaster auf den internen DRAM 15 des Mikroprozessors 10 durch das Anlegen eines Chipauswahlsi­ ganls CS an den externen Busschnittstellenabschnitt 13 zu­ greifen, wie es in Fig. 1 dargestellt ist. In diesem Fall empfängt der externe Busschnittstellenabschnitt 13 die Adres­ se eines Platzes, auf den zuzugreifen ist, von dem externen Busmaster über die Adressenanschlüsse A. Die Bussteuerein­ richtung 18 empfängt die Adresse von dem externen Busschnitt­ stellenabschnitt 13, um die Adresse zu dem internen DRAM 15 auszugeben, wodurch auf den internen DRAM 15 zugegriffen wer­ den kann. Dadurch können die von dem externen Datenbus 25 übertragenen Daten in den internen DRAM 15 über den externen Busschnittstellenabschnitt 13 und den internen Datenbus 20 geschrieben werden, oder es können die in dem internen DRAM 15 gespeicherten Daten gelesen und zu dem externen Datenbus 25 über den interen Datenbus 20 und den externen Busschnitt­ stellenabschnitt 13 übertragen werden.
Der Mikroprozessor 10 empfängt ein Rücksetzsignal RST von au­ ßen. Das Geltendmachen des Rücksetzsignals RST bewirkt, daß Elemente in dem Mikroprozessor 10 rückgesetzt werden. D. h., das Rücksetzsignal RST wird an ein gewünschtes Speicherele­ ment in dem Prozessor 10, der die Zentraleinheit 11 enthält, über eine nicht gezeigte Signalleitung angelegt. Alle in dem Speicherelement gespeicherten Inhalte werden im Ansprechen auf das Geltendmachen des Rücksetzsignals RST rückgesetzt (Hardwarerücksetzung). Insbesondere im Ansprechen auf die Eingabe und die Zurücknahme des Geltendmachens des Rücksetz­ signals RST steuert der Steuerabschnitt 30 den Ausführungsab­ schnitt 40 derart, daß ein in einem externen Nur-Lese- Speicher (ROM) gespeicherter Rücksetzvektoreingang bzw. Rück­ setzvektoreinsprungadresse in die Zentraleinheit 11 abgerufen wird. Ein Rücksetzprozeßprogramm wird durch Bezugnahme auf die an der abgerufenen Rücksetzvektoreinsprungadresse ange­ zeigten Informationen gestartet und wird zum Rücksetzen des gesamten Prozessors 10 ausgeführt (Softwarerücksetzung), was nachstehend beschrieben wird.
Der Mikroprozessor 10 empfängt auch ein Interruptsignal INT von außen. Auf den Empfang des Interruptsignals INT hin steu­ ert der Steuerabschnitt 30 den Ausführungsabschnitt 40 der­ art, daß ein in dem internen dynamischen Schreib-Lese- Speicher (DRAM) 15 gespeicherter externer Interruptvektorein­ gang bzw. Interruptvektoreinsprungadresse in die Zentralein­ heit 11 abgerufen wird. Ein Befehl an der externen Interrupt­ vektoreinsprungadresse wird zum Starten eines Interruptpro­ zesses in dem Prozessor 10 ausgeführt, was nachstehend be­ schrieben wird.
Der Mikroprozessor 10 weist einen physikalischen Adressenraum auf, der in Fig. 2 gezeigt ist. Ein Bereich von der Adresse H'00 0000 zu der Adresse H'0F FFFF ist ein interner DRAM- Bereich, der dem internen DRAM 15 zugeordnet ist. Ein Bereich von der Adresse H'10 0000 zu der Adresse H'FF FFFF ist ein externer Bereich, der einer externen Speichereinrichtung, wie einem Nur-Lese-Speicher (ROM) zugeordnet ist.
In dem internen DRAM-Bereich ist ein Bereich zur Speicherung der externen Interruptvektoreinsprungadresse speziellen Adressen H'00 0080 bis H'00 008F zugeordnet.
In dem externen Bereich ist ein Bereich zur Speicherung der Rücksetzvektoreinsprungadresse speziell den Adressen H'FF FFF0 bis H'FF FFFF zugeordnet.
Der Mikroprozessor 10 kann als Masterprozessor und als Slave­ prozessor zur Bildung eines Mehrprozessorsystems verwendet werden. Der Steuerabschnitt 30 empfängt ein Modusumschaltsi­ gnal M/S. Ein Mastermodus, bei dem der Mikroprozessor 10 als Masterprozessor verwendet wird, ist ausgebildet, wenn das Si­ gnal M/S auf hohem Pegel ist, und ein Slavemodus ist ausge­ bildet, bei dem der Mikroprozessor 10 als Slaveprozessor ver­ wendet wird, falls das Signal M/S auf niedrigem Pegel ist. Der Prozessor 10 greift auf ein den jeweiligen Bereichen zu­ geordnetes Objekt entsprechend dem in Fig. 2 gezeigten phy­ sikalischen Adressenraum entweder in dem Mastermodus oder in dem Slavemodus zu.
Ein Rücksetzvorgang in dem Mikroprozessor 10 in dem Mastermo­ dus wird nachstehend beschrieben.
Das Rücksetzsignal RST wird auf niedrigem Pegel geltend ge­ macht und die Elemente in dem Prozessor 10 werden zur Durch­ führung der Hardwarerücksetzung rückgesetzt. Die Startadresse H'FF FFFO der Rücksetzvektoreinsprungadresse wird in dem Pro­ grammzähler 43 im Ansprechen auf das Geltendmachen des Rück­ setzsignals RST eingestellt.
Dann steuert der Steuerabschnitt 30 den Ausführungsabschnitt 40, so daß die Rücksetzvektoreinsprungadresse von außen im Ansprechen auf das Rücksetzsignal RST auf negiertem hohem Pe­ gel abgerufen wird. Für diese Verarbeitung gibt der Programm­ zähler 43 anfangs die Startadresse H'FF FFF0 der Rücksetzvek­ toreinsprungadresse, die in dem Programmzähler 43 gehalten wird, zu der Bussteuereinrichtung 18 aus. Die Bussteuerein­ richtung 18 erkennt, daß der Befehl an der Adresse H'FF FFF0 ein Zugriff auf den externen Bereich ist, um den externen Busschnittstellenabschnitt 13 zum Abrufen der Daten an der Adresse H'FF FFF0, d. h., der Rücksetzvektoreinsprungadresse von außerhalb, anzuweisen. Der externe Busschnittstellenab­ schnitt 13 gibt die Adresse H'FF FFF0 zu dem externen Adres­ senbus aus. Fig. 3 zeigt Einzelheiten eines Bereichs, dem der externe Nur-Lese-Speicher (ROM) von dem Mikroprozessor 10 aus gesehen zugeordnet ist, wenn der Mastermodus eingestellt ist. Fig. 4 zeigt Einzelheiten eines Bereichs, dem der in­ terne dynamische Schreib-Lese-Speicher (DRAM) 15 von dem Mi­ kroprozessor 10 aus gesehen zugeordnet ist, wenn der Master­ modus eingestellt ist.
Ein Teil des externen Bereichs ist dem externen ROM zugeord­ net, in dem die Rücksetzvektoreinsprungadresse gespeichert ist. Im Ansprechen auf die Eingabe der Adresse H'FF FFF0 über den externen Adressbus gibt der externe ROM Informationen an dieser Adresse über den externen Datenbus 25 zu dem externen Busschnittstellenabschnitt 13 aus.
Die Rücksetzvektoreinsprungadresse enthält Informationen zum Starten des Rücksetzprozeßprogramms 50. Bei diesem Ausfüh­ rungsbeispiel ist ein Sprungbefehl an der Adresse H'FF FFF0 in der Rücksetzvektoreinsprungadresse bzw. dem Rücksetzvek­ toreingang gespeichert, wie es in Fig. 3 dargestellt ist, und der Mikroprozessor 10 ruft den Sprungbefehl als Rücksetz­ vektoreinsprungadresse von außerhalb ab. Der abgerufene Sprungbefehl wird über den internen Datenbus 20 der Befehls­ warteschlange 12 zugeführt, und die Zentraleinheit 11 deco­ diert und führt den Sprungbefehl aus. Es wird angenommen, daß keine Informationen an den Adressen H'FF FFF4 bis H'FF FFFF gespeichert sind. Es sind 4 Bytes für einen Operationscode von JMP und die Sprungzieladresseninformationen erforderlich.
Der Sprungbefehl umfaßt einen Operationscode JMP und Sprung­ zieladresseninformationen. Die Sprungzieladresseninformatio­ nen zeigen die Startadresse H'FF 0000 des Bereichs an, an dem das eine Vielzahl von Befehlen enthaltende Rücksetzprozeßpro­ gramm 50 gespeichert ist. In dem Mikroprozessor 10 wird durch die Ausführung des Sprungbefehls die Adresse H'FF 0000 in dem Programmzähler 43 eingestellt, und ein erster Befehl des Rücksetzprozeßprogramms 50, der an der Adresse H'FF 0000 ge­ speichert ist, wird über den externen Datenbus 25 von außen abgerufen. Der erste Befehl wird durch die Befehlsdeco­ diereinrichtung 31 decodiert und durch den Ausführungsab­ schnitt 40 ausgeführt. Danach wird in dem Mikroprozessor 10 die in dem Programmzähler 43 gehaltene Adresse in aufeinan­ derfolgender Reihenfolge gezählt, und es wird die Vielzahl der Befehle in dem Rücksetzprozeßprogramm 50 aufeinanderfol­ gend abgerufen und ausgeführt. Schließlich erfolgt eine Rück­ kehr zu einem Hauptprogramm und die Ausführung des Hauptpro­ gramms beendet die Softwarerücksetzung des Mikroprozessors 10 in dem Mastermodus.
Bei diesem Ausführungsbeispiel ist das Rücksetzprozeßpro­ gramm, wie in Fig. 3 gezeigt, in dem externen Nur-Lese- Speicher (ROM) gespeichert, was jedoch nicht einschränkend ist. Beispielsweise kann das Rücksetzprozeßprogramm auch in einem externen Schreib-Lese-Speicher (RAM) gespeichert sein.
Ferner speichert bei diesem Ausführungsbeispiel die Rücksetz­ vektoreinsprungadresse bzw. der Rücksetzvektoreingang nur den Sprungbefehl zum Sprung zu dem ersten Befehl des Rücksetzpro­ zeßprogramms. Alternativ dazu kann die Rücksetzvektorein­ sprungadresse bzw. der Rücksetzvektoreingang die Startadresse des Rücksetzprozeßprogramms speichern, welche Adresse dann wieder durch die Zentraleinheit 11 in dem Programmzähler 43 eingestellt wird.
Dieses Rücksetzprozeßprogramm führt eine für den Mikroprozes­ sor 10 erforderliche Rücksetzverarbeitung durch, der als Ma­ sterprozessor zu verwenden ist. Insbesondere bewirkt die Aus­ führung des Rücksetzprozeßprogramms, daß die in Fig. 4 ge­ zeigte externe Interruptvektoreinsprungadresse und ein exter­ nes Interruptprozeßprogramm von dem externen ROM oder exter­ nen RAM in den internen DRAM 15 heruntergeladen werden.
In dem Mastermodus beginnt ein Interruptprozeß auf eine nach­ stehend beschriebene Art und Weise, wenn das externe Inter­ ruptsignal INT von außen bzw. der Außenseite beispielsweise während der Ausführung eines Hauptprogramms durch den Mikro­ prozessor 10 geltend gemacht wird.
Das externe Interruptsignal INT wird auf niedrigem Pegel gel­ tend gemacht, wodurch der Steuerabschnitt 30 die Startadresse H'00 0080 der externen Interruptvektoreinsprungadresse in dem Programmzähler 43 einstellt. Der Steuerabschnitt 30 steuert den Ausführungsabschnitt 40 derart, daß die externe Inter­ ruptvektoreinsprungadresse, die während des Rücksetzprozesses heruntergeladen wird, von dem internen DRAM 15 zu der Zen­ traleinheit (CPU) 11 übertragen wird. Der Programmzähler 43 gibt die Adresse H'00 0080 zu der Bussteuereinrichtung 18 aus. Die Bussteuereinrichtung 18 erkennt, daß der Befehl an der Adresse H'00 0080 ein Zugriff auf den internen DRAM- Bereich zur Ausgabe der Adresse H'00 0080 zu dem internen DRAM 15 ist. Der interne DRAM 15 gibt Dateninformationen an der Adresse H'00 0080 über den internen Datenbus 20 zu der Zentraleinheit 11 aus.
Die externe Interruptvektoreinsprungadresse bzw. der externe Interruptvektoreingang beeinhaltet Informationen zum Starten des externen Interruptprozeßprogramms 51, das in dem internen DRAM 15 gespeichert ist. Bei diesem Ausführungsbeispiel sind, wie es in Fig. 4 gezeigt ist, 4 Bytes des Sprungbefehls, der den Operationscode JMP und die Sprungzieladressinformationen enthält, an der Startadresse H'00 0080 der externen Interruptvektoreinsprungadresse bzw. des externen Interruptvektoreingangs gespeichert, und keine Informationen sind an den Adressen H'00 0084 bis H'00 008F gespeichert.
Die Sprungzieladresseninformationen des Sprungbefehls zeigen die Startadresse H'00 1000 des externen Interruptprozeßpro­ gramms an, das eine Vielzahl von Befehlen enthält. Somit führt der Mikroprozessor 10 den Sprungbefehl zur Einstellung der Adresse H'00 1000 in dem Programmzähler 43 aus, um der Zentraleinheit 11 einen ersten Befehl des externen Interrupt­ prozeßprogramms, der an der Adresse H'00 1000 in dem internen DRAM 15 gespeichert ist, über den internen Datenbus 20 zuzuführen. Der erste Befehl wird durch die Befehlsdecodiereinrichtung 31 decodiert und durch den Ausführungsabschnitt 40 ausgeführt. Danach wird in dem Mikro­ prozessor 10 die in dem Programmzähler 43 gehaltene Adresse aufeinanderfolgend gezählt, und die Vielzahl der Befehle in dem externen Interruptprozeßprogramm wird aufeinanderfolgend abgerufen und ausgeführt.
Das externe Interruptprozeßprogramm beeinhaltet üblicherweise ein Faktoranalyseprogramm zur Analyse, welcher einer Vielzahl von Interruptfaktoren das externe Interruptsignal INT zum Geltendgemachtwerden veranlaßt hat, und ein Faktorprozeßpro­ gramm zur Durchführung eines Interruptprozesses entsprechend dem Interruptfaktor, der das externe Interruptsignal INT ver­ ursacht hat. In dem Mikroprozessor 10 wird eine Verarbeitung entsprechend den Faktoren des externen Interrupts durch die Ausführung des externen Interruptprozeßprogramms durchge­ führt.
Nachstehend wird der Rücksetzvorgang in dem Mikroprozessor 10 beschrieben, wenn es sich um den Slavemodues handelt.
Das Rücksetzsignal RST wird auf niedrigem Pegel geltend ge­ macht, und die Hardwarerücksetzung wird in dem Prozessor 10 auf ähnliche Weise wie der Rücksetzvorgang in dem Mastermodus durchgeführt. Die Startadresse H'FF FFF0 des Rücksetzvek­ toreingangs wird in dem Programmzähler 43 im Ansprechen auf das Geltendmachen des Rücksetzsignals RST eingestellt. Der Steuerabschnitt 30 steuert den Ausführungsabschnitt 40 der­ art, daß, wenn das Rücksetzsignal RST danach auf negiert ho­ hem Pegel ist, der Programmzähler 43 die Startadresse H'FF FFF0 nicht zu der Bussteuereinrichtung 18 überträgt und der Rücksetzvektoreingang nicht von außen abgerufen wird.
Fig. 5 zeigt Einzelheiten eines Bereichs, dem der interne DRAM von dem Mikroprozessor 10 aus gesehen zugeordnet ist, wenn der Slavemodus eingestellt ist.
In dem Slavemodus beginnt die Softwarerücksetzung durch das Geltendmachen des externen Interruptsignals INT von außen.
Der externe Busmaster wie ein Masterprozessor schreibt den in Fig. 5 gezeigten externen Interruptvektoreingang und das ex­ terne Interruptprozeßprogramm in den internen DRAM 15 vor dem Geltendmachen des externen Interruptsignals INT.
Das externe Interruptsignal INT wird auf niedrigem Pegel gel­ tend gemacht, wodurch der Steuerabschnitt 30 die Startadresse H'00 0080 des externen Interruptvektoreingangs in dem Pro­ grammzähler (PC) 43 einstellt. Der Steuerabschnitt 30 steuert den Ausführungsabschnitt 40 derart, daß der externe Inter­ ruptvektoreingang von dem internen DRAM 15 in die Zentralein­ heit 11 übertragen wird. Der Programmzähler 43 gibt die Adresse H'00 0080 zu der Bussteuereinrichtung 18 aus. Die Bussteuereinrichtung 18 erkennt, daß der Befehl an der Adres­ se H'00 0080 ein Zugriff auf den internen DRAM-Bereich zur Ausgabe der Adresse H'00 0080 zu dem internen DRAM 15 ist. Der interne DRAM 15 gibt Dateninformationen an der Adresse H'00 0080 über den internen Datenbus 20 zu der Zentraleinheit 11 aus.
In dem Slavemodus werden wie in dem Mastermodus 4 Bytes des Sprungbefehls, der den Operationscode JMP und die Sprungzie­ ladresseninformationen enthält, an der Startadresse H'00 0080 des externen Interruptvektoreingangs gespeichert, und es sind keine Informationen an den Adressen H'00 0084 bis H'00 008F gespeichert. Die Sprungzieladresseninformationen des Sprung­ befehls zeigen die Startadresse H'00 1000 des exernen Inter­ ruptprozeßprogramms, das eine Vielzahl von Befehlen enthält, an. Somit führt der Mikroprozessor 10 den Sprungbefehl zum Einstellen der Adresse H'00 1000 in dem Programmzähler 43 aus, um der Zentraleinheit 11 einen ersten Befehl des exter­ nen Interruptprozeßprogramms 52, der an der Adresse H'00 1000 in dem internen DRAM 15 gespeichert ist, über den internen Datenbus 20 zuzuführen. Der erste Befehl wird durch die Be­ fehlsdecodiereinrichtung 31 decodiert und durch den Ausfüh­ rungsabschnitt 40 ausgeführt. Danach wird im Mikroprozessor 10 die in dem Programmzähler 43 gehaltene Adresse aufeinan­ derfolgend gezählt, und die Vielzahl von Befehlen in dem ex­ ternen Interruptprozeßprogramm wird aufeinanderfolgend abge­ rufen und ausgeführt.
Das externe Interruptprozeßprogramm 52 enthält Informationen für den Rücksetzprozeß. Die Ausführung der Informationen für die Rücksetzung in der Zentraleinheit 11 bewirkt den für den Mikroprozessor 10 erforderlichen Rücksetzprozeß, der als Sla­ veprozessor zu verwenden ist.
Das externe Interruptprozeßprogramm im Slavemodues kann durch einen Benutzer in Abhängigkeit der Verwendungsmuster des Sla­ veprozessors in dem Mehrprozessorsystem frei eingestellt wer­ den. Da bei diesem Ausführungsbeispiel ein Slaveprozessor an­ genommen wird, bei dem das externe Interruptsignal INT nicht für Faktoren außer dem Rücksetzprozeß des Slaveprozessors verwendet wird, besteht das externe Interruptprozeßprogramm 52 nur aus dem Befehl für den Rücksetzprozeß.
Wenn jedoch das externe Interruptsignal INT für Interrupts verwendet wird, die durch andere Faktoren als der Initiali­ sierung des Slaveprozessors verursacht werden, kann das ex­ terne Interruptprozeßprogramm ein Faktorprozeßprogramm zur Durchführung einer Verarbeitung entsprechend den Faktoren und ein Faktoranalyseprogramm zur Analyse des Faktors zusätzlich zu dem Befehl für den Rücksetzprozeß enthalten.
Zumindest während der Rücksetzprozeß durchgeführt wird, wobei sich der Mikroprozessor 10 in dem Slavemodus befindet, nimmt der Mikroprozessor 10 das Busrecht auf die externen Busse zu­ rück, und speziell die 16 Datenbusanschlüsse D und die 24 Adressenanschlüsse A befinden sich in einem hochohmigen Zu­ stand.
Der externe Busschnittstellenabschnitt 13 weist Eingabe-/Ausgabepuffer auf, die jeweils mit 40 Anschlüssen verbunden sind, die aus 16 externen Datenbusanschlüssen D und den 24 Adressenanschlüssen A bestehen. Fig. 6 zeigt ein Schaltbild jedes Eingabe-/Ausgabepuffers. Der Eingabe-/Ausgabepuffer in Fig. 6 enthält einen Eingabepuffer 60, dessen Eingang mit einem externen Anschluß verbunden ist, und einen Ausgabepuffer 61, dessen Ausgang mit dem externen Anschluß verbunden ist. Signale R und W werden jeweils an den Eingabepuffer 60 und den Ausgabepuffer 61 angelegt.
Zum Empfang von Daten oder einer Adresse von dem externen An­ schluß befinden sich die Signale R und W beide auf hohem Pe­ gel, um den Eingabepuffer 60 zu betreiben, um ein Signal an dem externen Anschluß über die Ausgabeleitung des Eingabepuf­ fers 60 dem Inneren des Prozessors zuzuführen. Andererseits ist der Ausgabepuffer 61 an dem externen Anschluß weder mit einer Energieversorgungsspannung VCC noch einer Erdspannung GND elektrisch verbunden, wodurch sich der externe Anschluß in einem hochohmigen Zustand befindet.
Zur Ausgabe von Daten oder einer Adresse zu dem externen An­ schluß befinden sich die Signale R und W beide auf niedrigem Pegel, um den Ausgabepuffer 61 zum Senden eines von der In­ nenseite des Prozessors über die Eingabeleitung des Ausgabe­ puffers 61 ausgegebenen Signals zu dem externen Anschluß be­ treibbar zu machen. Andererseits ist der Eingabepuffer 60 an seinem Ausgang weder mit der Energieversorgungsspannung VCC noch der Erdspannung GND elektrisch verbunden, wodurch eine Eingabeleitung in das Innere in den hochohmigen Zustand ver­ setzt wird.
Insbesondere in dem Slavemodus wird das Signal W auf hohem Pegel an alle Ausgabepuffer 61, die mit den Datenbusanschlüs­ sen D und den Adressenanschlüssen A verbunden sind, angelegt, um die jeweiligen Anschlüsse in den hochohmigen Zustand zu versetzen. Somit ist der Mikroprozessor 10 ausgebildet, Si­ gnale nach außen über die Datenbusanschlüsse D und die Adres­ senanschlüsse A nicht unbeabsichtigt zu erzeugen.
Wenn sich die Adressenanschlüsse A in dem hochohmigen Zustand befinden, können Adressen über die Adressenanschlüsse A an den Prozessor 10 angelegt werden, und der externe Busmaster kann Daten in bzw. aus dem internen DRAM 15 des Prozessors 10 schreiben bzw. lesen. Der externe Busschnittstellenabschnitt 13 ist derart ausgebildet, den hochohmigen Zustand der Daten­ busanschlüsse D im Ansprechen auf das angelegte Chipauswahl­ signal CS aufzuheben, falls sich die Datenbusanschlüsse D in dem hochohmigen Zustand befinden.
Während der Mikroprozessor 10 dieses Ausführungsbeispiels das Busrecht auf den externen Datenbus zurücknimmt, wenn sich die Adressenanschlüsse A in dem hochohmigen Zustand befinden, fordert die Zentraleinheit 11 einen Zugriff auf externe Ein­ richtungen, wie eine Speichereinrichtung und eine Eingabe- /Ausgabeeinrichtung an. Wenn die Bussteuereinrichtung 18 das Anforderungssignal oder die Adresse zur Bestimmung der exter­ nen Einrichtung empfängt, gibt die Bussteuereinrichtung 18 ein Ausnahmeauftrittsinformationssignal zur Bereitstellung von Informationen über das Verbot eines Zugriffs nach außen zu der Zentraleinheit 11 und zur Bereitstellung von Informa­ tionen über die Ausführung eines Ausnahmeprozesses zu der CPU 11 aus. Auf den Empfang des Ausnahmeauftrittsinformations­ signals, startet die Zentraleinheit 11 den Ausnahmeprozeß zur Aktivierung einer Ausnahmeprozeßabwicklungseinrichtung (Ausnahmeprozeßhandlers).
Fig. 7 zeigt eine Darstellung eines Mehrprozessorsystems, bei dem der Mikroprozessor 10 verwendet wird.
Das Mehrprozessorsystem in Fig. 7 umfaßt einen Masterprozes­ sor MP, der den Mikroprozessor 10 in Fig. 1 in dem Mastermo­ dus verwendet, und einen Slaveprozessor SP, der den Mikropro­ zessor 10 in Fig. 1 in dem Slavemodus verwendet, wobei die jeweiligen Datenbusanschlüsse D des Masterprozessors MP und des Slaveprozessors SP mit einem 16 Bits breiten gemeinsamen Systembus 100 verbunden sind.
Das Mehrprozessorsystem umfaßt ferner einen externen Nur- Lese-Speicher (ROM) 105 zur Speicherung verschiedener Befehle und eine Interruptsteuereinrichtung 110 zur Ausgabe des ex­ ternen Interruptsignals zu dem Slaveprozessor SP. Der externe ROM 105 und die Interruptsteuereinrichtung 110 sind mit dem Systembus 100 verbunden.
Nachstehend wird der Vorgang der Systeminitialisierung für das Mehrprozessorsystem in Fig. 7 unter Bezugnahme auf das Zeitablaufdiagramm in Fig. 8 beschrieben. Fig. 8 zeigt Si­ gnalverläufe des Rücksetzsignals RST und des externen Inter­ ruptsignals INT, Prozesse in den Master- und Slaveprozessoren MP und SP und die Zustände der Datenbusanschlüsse D und Adressenanschlüsse A des Slaveprozessors SP.
Nachstehend werden die jeweiligen Prozesse (1) bis (6) in Fig. 8 beschrieben.
(1) Hardwarerücksetzung
In dem Mehrprozessorsystem wird das Rücksetzsignal RST ge­ meinsam an den Masterprozessor MP und den Slaveprozessor SP angelegt. Wenn das Rücksetzsignal RST auf niedrigem Pegel geltend gemacht wird, werden alle Speicherelemente sowohl des Masterprozessors MP als auch des Slaveprozessors SP rückge­ setzt.
Im Ansprechen auf die Negation des Rücksetzsignals RST nach dessen Geltendmachen wird der in dem externen ROM 105 gespei­ cherte Rücksetzvektoreingang über den Systembus 100 in dem Masterprozessor MP abgerufen. Dann führt die Zentraleinheit 11 den Sprungbefehl in dem Rücksetzvektoreintrag zum Sprung zu dem ersten Befehl des Rücksetzprozeßprogramms 50 aus. Der Masterprozessor MP ruft aufeinanderfolgend die Vielzahl von Befehlen des Rücksetzprozeßprogramms 50 ab und führt diese aus. In dem Slaveprozessor SP wird andererseits der Rücksetz­ vektoreingang nicht von außerhalb abgerufen, wenn das Rück­ setzsignal RST geltend gemacht wird und danach negiert wird. Dann wird das die Befehle für den Rücksetzprozeß enthaltende Rücksetzprozeßprogramm 50 der Befehlsdecodiereinrichtung 31 nicht zugeführt und nicht ausgeführt.
(2) Herunterladen eines Befehls in den internen DRAM 15 des Masterprozessors MP
Durch die Ausführung des Rücksetzprozeßprogramms 50 empfängt die CPU 11 des Masterprozessors MP verschiedene Programme von dem externen ROM 105 (oder anderen nicht gezeigten externen Speichereinrichtungen) über den Systembus 100 und den inter­ nen Datenbus 20 zur Übertragung der verschiedenen Programme zu einem vorbestimmten Speicherplatz in dem internen DRAM 15.
Die zu dem internen DRAM 15 zu übertragenden Programme ent­ halten die externe Interruptvektoreinsprungadresse bzw. den externen Interruptvektoreingang und das externe Interruptpro­ zeßprogramm 51 in Fig. 4.
(3) Herunterladen eines Befehls in den internen DRAM 15 des Slaveprozessors SP
Durch die Ausführung des Rücksetzprozeßprogramms 50 empfängt der Masterprozessor MP verschiende Programme von dem externen ROM 105 (oder anderen nicht gezeigten externen Speicherein­ richtungen) über den Systembus 100 und den internen Datenbus 20. Zur Übertragung der verschiedenen Programme zu einem vor­ bestimmten Speicherplatz in dem internen DRAM 15 des Slave­ prozessors SP führt der Masterprozessor MP dem Slaveprozessor SP eine Zieladresse mit dem Chipauswahlsignal CS zu. Somit empfängt der Slaveprozessor SP die über den Systembus 100 übertragenen Programme von dem Masterprozessor MP zur Spei­ cherung der Programme in dem internen DRAM des Slaveprozes­ sors SP. Die zu dem internen DRAM 15 des Slaveprozessors SP zu übertragenden Programme enthalten den externen Interrupt­ vektoreingang und das externe Interruptprozeßprogramm 52 in Fig. 5.
(4) Erzeugung eines externen Interruptsignals INT, das an den Slaveprozessor SP anzulegen ist
Nach dem Herunterladen des Befehls in den internen DRAM 15 des Slaveprozessors SP führt der Masterprozessor MP das Rück­ setzprozeßprogramm 50 zur Übertragung von Interruptdaten zu der Interruptsteuereinrichtung 110 über den Systembus 100 aus. Die Interruptsteuereinrichtung 110 enthält ein Inter­ ruptregister 111 zur Speicherung von 16-Bit-Daten und stellt die Interruptdaten von dem Systembus 100 in dem Interruptre­ gister 111 ein.
Ein Steuerabschnitt 112 der Interruptsteuereinrichtung 110 weist eine Flip-Flop-Schaltung auf und stellt die Flip-Flop- Schaltung auf "0" ein, wenn ein vorbestimmtes Bit 111a des Interruptregisters 111 "1" ist, um das externe Interruptsi­ gnal INT auf niedrigen Pegel zu setzen. Das externe Inter­ ruptsignal INT wird an den Slaveprozessor SP angelegt. Die Beendigung der Ausführung des Rücksetzprozeßprogramms 50, das die Prozesse (2) bis (4) enthält, vervollständigt die In­ itialisierung des Masterprozessors MP.
(5) Ausführung des Initialisierungsprozeßprogramms 52 in dem Slaveprozessor SP
Im Ansprechen auf das Geltendmachen des externen Interruptsi­ gnals INT empfängt die CPU 11 des Slaveprozessors SP den ex­ ternen Interruptvektoreingang von Fig. 6, der in den inter­ nen DRAM 15 des Slaveprozessors SP in dem Prozeß (3) herun­ tergeladen und darin gespeichert wird, um den Sprungbefehl des externen Interruptvektoreingangs auszuführen. Die Ausfüh­ rung des Sprungbefehls bewirkt einen Sprung zu dem ersten Be­ fehl des externen Interruptprozeßprogramms 52 zur Ausführung des ersten Befehls. Die Zentraleinheit 11 des Slaveprozessors SP empfängt aufeinanderfolgend die Vielzahl von Befehlen des externen Interruptprozeßprogramms 52 von dem internen DRAM 15 zur Ausführung der Vielzahl der Befehle.
Wie es in Fig. 5 gezeigt ist, enthält das externe Interrupt­ prozeßprogramm 52 den Befehl für den Rücksetzprozeß, der dann wieder durch die Zentraleinheit 11 des Slaveprozessors SP ausgeführt wird. Die Beendigung der Ausführung des Befehls für den Rücksetzprozeß vervollständigt die Initialisierung des Slaveprozessors SP.
(6) Negation des externen Interruptsignals INT
Die Zentraleinheit 11 des Slaveprozessors SP führt das exter­ ne Interruptprozeßprogramm 52 aus, um zu bewirken, daß Daten in dem Datenregister des Universaleingabe-/ausgabeanschlusses 16 des Slaveprozessors SP eingestellt werden. Die Daten wer­ den in dem Datenregister eingestellt und ein Signal PP0 wird aus dem Anschluß P ausgegeben. Der Steuerabschnitt 112 der Interruptsteuereinrichtung 110 ist derart ausgebildet, daß die Flip-Flop-Schaltung des Steuerabschnitts 112 auf "1" rückgesetzt wird, wenn der Steuerabschnitt 112 das Signal PP0 empfängt. Demzufolge negiert die Interruptsteuereinrichtung 110 das externe Interruptsignal INT.
Die Beendigung der Ausführung des externen Interruptprozeß­ programms 52, das die Prozesse (5) und (6) enthält, vervoll­ ständigt die Initialisierung des Mehrprozessorsystems.
Die Datenbusanschlüsse D und Adressenanschlüsse A des Slave­ prozessors SP werden konstant in dem hochohmigen Zustand wäh­ rend der Zeit zwischen dem Hardwarerücksetzprozeß (1) und der Beendigung der Systemverarbeitung bei dem Vorgang der Initia­ lisierung des Mehrprozessorsystems in dem hochohmigen Zustand gehalten. Dadurch wird bewirkt, daß der Slaveprozessor SP das Busrecht auf den Systembus 100 zurücknimmt. D. h., der Slave­ prozessor SP greift nicht auf den externen ROM 105, den in­ ternen DRAM 15 des Masterprozessors MP, die nicht gezeigten externen Speichereinrichtungen und die nicht gezeigte externe Eingabe-/Ausgabeeinrichtung während der Systeminitialisierung zu.
Der Mikroprozessor 10 dieses Ausführungsbeispiels weist die nachstehend beschriebenen Merkmale auf.
  • a) Der Mikroprozessor 10 ist nicht zum Abrufen der Rücksetz­ vektoreinsprungadresse bzw. des Rücksetzvektoreingangs auf den Empfang des Rücksetzsignals RST von außen hin ausgebil­ det, obwohl die darin befindlichen Speicherelemente rückge­ setzt werden, und führt dementsprechend das in der externen Speichereinrichtung gespeicherte Rücksetzprozeßprogramm nicht aus. Auf den externen Interruptvektoreingang wird im Anspre­ chen auf das empfangene Interruptsignal INT bezuggenommen, und der in dem externen Interruptprozeßprogramm 52 enthaltene Befehl für den Rücksetzprozeß wird in der Zentraleinheit 11 des Mikroprozessors 10 zur Beendigung der Initialisierung des Mikroprozessors 10 ausgeführt. Somit kann der Mikroprozessor unter Verwendung der Eingabeeinrichtung für das externe In­ terruptsignal, die normalerweise in dem Mikroprozessor ent­ halten ist, und deren Interruptprozeßeinrichtung initiali­ siert werden.
    Zur Ausbildung des Mehrprozessorsystems mit einem Masterpro­ zessor, der durch die Ausführung der Programmroutine für den Rücksetzprozeß im Ansprechen auf das Rücksetzsignal initiali­ siert wird, kann der Mikroprozessor 10 die vorhandene Hardwa­ reeinrichtung unverändert außer der Einstellung des Befehls für den Rücksetzprozeß in dem externen Interruptprozeßpro­ gramm verwenden, um dadurch eine Programmroutine zur Initia­ lisierung auszuführen, die von der durch den Masterprozessor ausgeführten verschieden ist.
    Es sind keine verschiedenen Einrichtungen zur Indentifizie­ rung erforderlich, welcher Prozessor auf jeweilige Programm­ routinen zugreift und ausführt, obwohl diese Einrichtungen entworfen wurden und erforderlich sind, wenn alle Prozessoren zur Verwendung bei dem Mehrprozessorsystem getrennte Pro­ grammroutinen für den Rücksetzprozeß im Ansprechen auf das Rücksetzsignal ausführen.
  • b) In dem Slavemodus ist der Mikroprozessor 10 derart ange­ paßt, daß sich zumindest die Adressenanschlüsse A in dem hochohmigen Zustand (d. h., der Ausgang des Ausgabepuffers 61 in Fig. 6 befindet sich in dem hochohmigen Zustand) in der Zeit zwischen der Eingabe des Rücksetzsignals und der Beendi­ gung der Initialisierung des Mikroprozessors 10 befinden, wo­ durch verhindert wird, daß unbeabsichtigt ein Signal auf ho­ hem oder auf niedrigem Pegel aus den Adressenanschlüssen A des Prozessors 10 ausgegeben wird. Insbesondere, wenn andere externe Busmaster den externen Datenbus zur Initialisierung in der Zeit zwischen der Eingabe des Rücksetzsignals RST in den Prozessor 10 und der Beendigung der Initialisierung des Prozessors 10 (beispielsweise der Initialisierung des Master­ prozessors MP in Fig. 7 bei diesem Ausführungsbeispiel) ver­ wenden, wird die auf dem Systembus 100 fortschreitende Adres­ se nicht beeinflußt. Dies stellt den Zugriff des externen Busmasters nach außen sicher.
    Desweiteren können zur Ermöglichung eines Zugriffs auf den externen Speicher während der Ausführung des Interruptprozeß­ programms die Adressenanschlüsse A in dem hochohmigen Zustand bis zum Geltendmachen des Interruptsignals INT gehalten wer­ den und nach dem Geltendmachen von dem hochohmigen Zustand zurückgenommen werden.
    Wenn der Masterprozessor MP initialisiert wird, befinden sich bei diesem Ausführungsbeispiel die Datenbusanschlüsse D auch in dem hochohmigen Zustand, da keine Daten aus dem internen DRAM 15 des Masterprozessors MP gelesen werden.
  • c) Wenn sich die Adressenanschlüsse A in dem hochohmigen Zu­ stand befinden, gibt in dem Mikroprozessor 10 der externe Busschnittstellenabschnitt 13 das Ausnahmeauftrittsinformati­ onssignal zu der Zentraleinheit 11 aus, wenn er eine Anforde­ rung für einen Zugriff nach außen von der Zentraleinheit 11 empfängt. Somit erlaubt das Ausnahmeauftrittsinformations­ signal der Zentraleinheit 11, den Ausnahmeprozeß für den Zu­ griff nach Außen ohne das externe Busrecht durchzuführen.
  • d) In dem Mikroprozessor 10 empfängt die Zentraleinheit 11 das in dem internen DRAM 15 gespeicherte externe Interrupt­ prozeßprogramm über den internen Datenbus 20, und die Ausfüh­ rung des in dem externen Interruptprozeßprogramm 52 enthalte­ nen Befehls für den Rücksetzprozeß bewirkt die Initialisie­ rung des Prozessors, wobei die Initialisierung des Prozessors unabhängig von der Initialsierung anderer Prozessoren in dem Mehrprozessorsystem erlaubt wird. Wie aus Fig. 8 ersichtlich ist, überlappt der Zeitabschnitt, in dem das Rücksetzprozeß­ programm des Masterprozessors MP ausgeführt wird, teilweise den Zeitabschnitt, in dem das externe Interruptprozeßprogramm des Mikroprozessors 10, der als Slaveprozessor dient, ausge­ führt wird, und somit kann der Mikroprozessor 10 beispiels­ weise parallel mit anderen Mikroprozessoren rückgesetzt wer­ den, wodurch eine schnelle Beendigung der Initialisierung des Gesamtsystems ermöglicht wird.
    Die Zentraleinheit 11 empfängt und führt den Befehl für den Rücksetzprozeß ohne Verwendung des externen Datenbusses 25 aus. Dadurch wird das Erfordernis zur Bereitstellung einer Busanpassungsschaltung zur Anpassung der Verwendung des ex­ ternen Datenbusses 25 zwischen Mikroprozessoren zum Empfang und zur Ausführung des Rücksetzprozeßprogramms von der exter­ nen Speichereinrichtung über den externen Datenbus 25 besei­ tigt, wenn das Mehrprozessorsystem initialisiert wird.
    Das externe Interruptprozeßprogramm 52, das den Befehl für die Rücksetzung enthält, wird bei diesem Ausführungsbeispiel von außen in den internen DRAM 15 des Mikroprozessors 10 zur Ausführung des Rücksetzprozeßprogramms 50 des Masterprozes­ sors geschrieben. Jedoch kann der gleiche Effekt erzielt wer­ den, wenn ein interner ROM, der mit dem internen Datenbus 20 verbunden ist und in dem Mikroprozessor 10 vorgesehen ist, zuvor die externe Interruptvektoreinsprungadresse und das ex­ terne Interruptprozeßprogramm 52, das den Befehl für die Rücksetzung enthält, speichert, und die Zentraleinheit 11 ei­ nen Befehl von dem internen ROM empfängt und ausführt. Außer­ dem ist ein Schreiben des Programms in den internen DRAM 15 des Slaveprozessors SP für die Ausführung des Rücksetzprozeß­ programms 50 in dem Masterprozessor MP nicht erforderlich, wodurch eine schnelle Beendigung der Initialisierung des Ge­ samtsystems ermöglicht wird.
    Die Verwendung des internen Nur-Lese-Speichers (ROM) zur Speicherung des Programms erfordert die Veränderung der Sprungzieladressinformationen, so daß die Zentraleinheit 11 auf den internen ROM im Ansprechen auf den Sprungbefehl der externen Interruptvektoreinsprungadresse bzw. des Interrupt­ vektoreingangs in Fig. 5 zugreift.
  • e) Der Mikroprozessor 10 ist derart entworfen, daß der Ma­ stermodus und der Slavemodus ausgebildet werden. In dem Ma­ stermodus führt der Mikroprozessor 10 das Rücksetzprozeßpro­ gramm 50 im Ansprechen auf das Rücksetzsignal RST von außen zur Bewirkung der Initialisierung aus. In dem Slavemodus wird das Rücksetzprozeßprogramm nicht aus dem externen ROM oder dergleichen abgerufen, wenn das Rücksetzsignal RST von außen angelegt wird, sondern der das externe Interruptprozeßpro­ gramm bildende Befehl in der Zentraleinheit 11 auf das einge­ gebene Interruptsignal INT hin decodiert, und die Ausführung des Befehls zur Rücksetzung, der in dem externen Interrupt­ prozeßprogramm 52 enthalten ist, bewirkt die Initialisierung. Der in Fig. 2 gezeigte gleiche Adressenraum kann ausgebildet werden, wenn der Mikroprozessor 10 entweder als Master- oder als Slaveprozessor verwendet wird. In keinem Modus des Mikro­ prozessors 10 ist es erforderlich, die Inhalte der Rücksetz­ vektoreinsprungadresse bzw. des Rücksetzvektoreingangs und die Inhalte der externen Interruptvektoreinsprungadresse bzw. des externen Interruptvektoreingangs zu verändern. Somit kann die Bereitstellung von mehreren Slaveprozessoren in dem Mehr­ prozessorsystem einfach durch Hinzufügen identischer Prozes­ soren und durch Einstellung des Modus erzielt werden, und die jeweiligen Prozessoren können glatt initialisiert werden.
    Das Mehrprozessorsystem dieses Ausführungsbeispiels weist folgende Merkmale auf:
  • f) Das Rücksetzsignal RST wird sowohl an den Masterprozessor MP als auch den Slaveprozessor SP angelegt. Der Masterprozes­ sor MP nimmt auf die Rücksetzvektoreinsprungadresse im An­ sprechen auf das Rücksetzsignal RST bezug und die Ausführung des Rücksetzprozeßprogramms 50 bewirkt die Initialisierung des Masterprozessors MP. Der Slaveprozessor SP nimmt nicht auf die in den externen ROM 105 geschriebene Rücksetzvek­ toreinsprungadresse bezug, falls das Rücksetzsignal RST ange­ legt wird, und führt dementsprechend nicht das Rücksetzpro­ zeßprogramm 50 aus. Der Slaveprozessor SP nimmt jedoch auf die externe Interruptvektoreinsprungadresse im Ansprechen auf das externe Interruptsignal INT bezug, das über die Inter­ ruptsteuereinrichtung 110 an den Masterprozessor MP angelegt wird, und die Zentraleinheit 11 des Slaveprozessors SP emp­ fängt das externe Interruptprozeßprogramm 52. Die Ausführung des Befehls für die Rücksetzung in dem externen Interruptpro­ zeßprogramm 52 bewirkt die Initialisierung des Slaveprozes­ sors SP.
Demzufolge greifen die Prozessoren nicht gleichzeitig auf die Rücksetzvektoreinsprungadresse in dem externen ROM 105 zu. Zur Initialisierung des Systems sind zwei Mikroprozessoren zur Bezugnahme auf verschiedene Vektoreinsprungadressen zur Ausführung der Programmroutine ausgebildet. Dadurch wird das Erfordernis für eine Prozessoridentifikationseinrichtung be­ seitigt, die erforderlich war, wenn eine Struktur verwendet wird, bei der zwei Mikroprozessoren auf die gleiche Rücksetz­ vektoreinsprungadresse zur Ausführung der Programmroutine be­ zugnehmen.
Es ist auch das Erfordernis zur Bereitstellung von Spei­ chereinrichtungen entsprechend den jeweiligen Prozessoren und zur Speicherung des Rücksetzprozeßprogramms zur Initialisie­ rung der jeweiligen Prozessoren und das Erfordernis für die Prozessoren zum Abrufen des Programms aus den entsprechenden Speichereinrichtungen zur Ausführung des Programms beseitigt. Daher ist keine Einrichtung zur Einstellung erforderlich, auf welche Speichereinrichtung durch den jeweiligen Prozessor zu­ zugreifen ist. Desweiteren kann die Erhöhung der Anzahl an Speichereinrichtungen verhindert werden.
Zweites Ausführungsbeispiel
Das Mehrprozessorsystem in Fig. 7 kann einen Mikroprozessor mit einer Ein-Chip-Mehrprozessorfunktion aufweisen, der den Masterprozessor MP, den Slaveprozessor SP, die Interruptsteu­ ereinrichtung 110 und den internen Datenbus zur gemeinsamen Verbindung des Masterprozessors MP, des Slaveprozessors SP und der Interruptsteuereinrichtung 110 enthält. Ein derarti­ ger Mikroprozessor mit der Mehrprozessorfunktion kann mit ei­ nem externen Nur-Lese-Speicher (ROM), der mit dem externen ROM in Fig. 7 identisch ist, über einen Systembus zur Aus­ bildung eines Mehrprozessorsystems verbunden sein.
Fig. 9 zeigt eine Darstellung eines Mikroprozessors in ei­ nem Mehrprozessorsystem gemäß einem zweiten Ausführungsbei­ spiel. Das Mehrprozessorsystem in Fig. 9 umfaßt einen Mikro­ prozessor 200, einen Nur-Lese-Speicher (ROM) 201 und einen Systembus 202 zur Übertragung von Daten zwischen dem Mikro­ prozessor 200, dem ROM 201 und nicht gezeigten Einheiten.
Der Mikroprozessor 200 enthält einen 128 Bits breiten inter­ nen Datenbus 210, Zentraleinheiten (CPUs) 211a und 211b, die mit dem internen Datenbus 210 verbunden sind, einen internen dynamischen Schreib-Lese-Speicher (DRAM) 212, einen externen Busschnittstellenabschnitt (Bus-I/F-Abschnitt) 213, eine In­ terruptsteuereinrichtung 214 und eine Bussteuereinrichtung 215, die durch die Zentraleinheiten 211a und 211b gesteuert wird, zur Steuerung des internen DRAMs 212 und des externen Busschnittstellenabschnitts 213. Diese Bauelemente sind in der Form einer integrierten Ein-Chip-Halbleiterschaltung vor­ gesehen.
Jede Zentraleinheit 211a und 211b ist im wesentlichen im Auf­ bau der in Fig. 1 gezeigten Zentraleinheit 11 ähnlich und umfaßt einen Steuerabschnitt und einen Ausführungsabschnitt. Der Steuerabschitt beeinhaltet eine Befehlsdecodiereinrich­ tung zum Empfang eines Befehls von dem internen Datenbus 210 zur Decodierung des Befehls und gibt ein Steuersignal ent­ sprechend den Decodierinhalten der Befehlsdecodiereinrichtung aus. Der Ausführungsabschnitt verarbeitet Daten in Einheiten von 32 Bits, führt den decodierten Befehl entsprechend dem Steuersignal aus und gibt Daten in den internen Datenbus 210 ein bzw. aus dem internen Datenbus 210 aus. Interruptsignale INTa und INTb werden den jeweiligen Steuerabschnitten der Zentraleinheiten 211a und 211b zugeführt, und das Rücksetzsi­ gnal RST wird gemeinsam an die Steuerabschnitte angelegt. Je­ de Zentraleinheit 211a und 211b enthält Elemente mit den gleichen Funktionen wie die Befehlswarteschlange 12 und die Datenauswahleinrichtung 17 in Fig. 1.
Die Bussteuereinrichtung 215 wird durch die Zentraleinheiten 211a und 211b gesteuert, empfängt eine Adresse und andere je­ weils in den Zentraleinheiten 211a und 211b erzeugte Steuer­ signale und gibt die Adresse zu dem internen DRAM 214 oder der externen Speichereinrichtung aus, die als durch die emp­ fangene Adresse bestimmter Speicherbereich dient, so daß auf den Speicherbereich zugegriffen wird. Die Bussteuereinrich­ tung 215 steuert den externen Busschnittstellenabschnitt 213, um den Zugriff auf die externe Speichereinrichtung zu ermög­ lichen. Jede Zentraleinheit 211a und 211b empfängt einen Be­ fehl oder Daten von dem Speicherbereich, der durch die aus der Bussteuereinrichtung 215 ausgegebene Adresse bestimmt wird, über den internen Datenbus 210.
Der interne DRAM 212 gibt 128-Bit-Daten auf den internen Da­ tenbus 210 bzw. entnimmt 128-Bit-Daten aus dem internen Da­ tenbus 210 und empfängt die Adresse und andere Steuersignale von der Bussteuereinrichtung 215. Ein Befehl oder Daten wer­ den aus dem durch die Adresse bestimmten Bereich gelesen oder in den Bereich geschrieben. Beide Zentraleinheiten 211a und 211b können die Bussteuereinrichtung 215 steuern, um dadurch den Befehl oder Daten dem internen DRAM 212 zuzuführen oder von diesem zu empfangen.
Der externe Busschnittstellenabschnitt 213 ist mit 16 Daten­ busanschlüssen D verbunden, die sowohl als Eingänge als auch als Ausgänge dienen, und gibt 16-Bit-Daten in den ROM 201 oder eine nicht gezeigte Einrichtung über den Systembus 202 ein bzw. aus dem ROM 201 aus. Wenn der Mikroprozessor 200 auf die externe Speichereinrichtung zugreift, empfängt der exter­ ne Busschnittstellenabschnitt 213 eine Adresse eines Platzes, auf den zuzugreifen ist, von der Bussteuereinrichtung 215, um die Adresse zu der externen Speichereinrichtung auszugeben. Die externe Speichereinrichtung schreibt die von dem Mikro­ prozessor 200 übertragenen Daten an einen durch die empfange­ ne Adresse angezeigten Speicherplatz oder liest die an dem Speicherplatz gespeicherten Daten, um die Daten zu dem Mikro­ prozessor 200 zu übertragen.
Der Mikroprozessor 200 empfängt ein externes Interruptsignal EINT von außen. Das externe Interruptsignal EINT wird an die Interruptsteuereinrichtung 214 angelegt, die dann wieder die Interruptsignale INTa und INTb jeweils an die Zentraleinhei­ ten 211a und 211b anlegt. Insbesondere beurteilt die Inter­ ruptsteuereinrichtung 214, ob das externe Interruptsignal EINT einen Interrupt für die Zentraleinheit 211a oder die Zentraleinheit 211b anzeigt, um eines der Interruptsignale INTa und INTb auszugeben. Die Zentraleinheiten 211a und 211b starten und führen ein Interruptprozeßprogramm im Ansprechen jeweils auf die Interruptsignale INTa und INTb aus, um einen Interruptprozeß entsprechend einem Interruptfaktor durchzu­ führen. Die Interruptsteuereinrichtung 214 empfängt von der Zentraleinheit 211a übertragene Daten über den internen Da­ tenbus 210 und dient zur Ausgabe des Interruptsignals INTb zu der Zentraleinheit 211b auf der Grundlage der übertragenen Daten unabhängig von dem externen Interruptsignal EINT.
Der Mikroprozessor 200 empfängt das Rücksetzsignal RST von außen, um das Rücksetzsignal RST an die jeweiligen Speichere­ lemente des Prozessors 200 anzulegen, der die Zentraleinhei­ ten 211a und 211b enthält. Der Mikroprozessor 200 führt die Hardwarerücksetzung durch, d. h. setzt die Inhalte der jewei­ ligen Speicherelemente im Ansprechen auf das Geltendmachen des Rücksetzsignals RST zurück. Ferner ist der Mikroprozessor 200 derart ausgebildet, daß das in dem ROM 201 gespeicherte Rücksetzprozeßprogramm in der Zentraleinheit 211a im Anspre­ chen auf die Negation des Rücksetzsignals RST gestartet und ausgeführt wird, wie nachstehend beschrieben wird.
Der Mikroprozessor 200 bildet einen Mehrprozessor, der unter Verwendung einer der Zentraleinheiten 211a und 211b als Ma­ sterprozessor und der anderen als Slaveprozessor arbeitet. Die Zentraleinheit 211a wird bei dem zweiten Ausführungsbei­ spiel als Masterprozessor und die Zentraleinheit 211b als Slaveprozessor verwendet.
Fig. 10 zeigt einen physikalischen Adressenraum des Mikro­ prozessors 200. Wie bei dem Prozessor 10 des ersten Ausfüh­ rungsbeispiels ist ein Bereich von der Adresse H'00 0000 zur Adresse H'0F FFFF ein interner dynamischer Schreib-Lese-Speicher-Bereich (DRAM-Bereich), der dem inter­ nen DRAM 212 zugeordnet ist, und ein Bereich von einer Adres­ se H'10 0000 zu einer Adresse H'FF FFFF ist ein externer Be­ reich, der dem ROM 201 und anderen externen Speichereinrich­ tungen zugeordnet ist. In dem internen DRAM-Bereich ist ein Bereich zur Speicherung einer Interruptvektoreinsprungadresse bzw. eines Interruptvektoreingangs 241, auf den durch die Zentraleinheit 211a bezug genommen wird, Adressen H'00 0080 bis H'00 008F zugeordnet, und ein Bereich zur Speicherung ei­ ner Interruptvektoreinsprungadresse bzw. eines Interruptvek­ toreingangs 242, auf den durch die Zentraleinheit 211b bezug genommen wird, Adressen H'00 0090 bis H'00 009F zugeordnet. In dem externen Bereich ist ein Bereich zur Speicherung einer Rücksetzvektoreinsprungadresse bzw. eines Rücksetzvektorein­ gangs 240 Adressen H'FF FFF0 bis H'FF FFFF zugeordnet.
Der Adressenraum von den Zentraleinheiten 211a und 211b aus gesehen ist durch Fig. 10 dargestellt.
Fig. 11 zeigt Einzelheiten des externen Bereichs des Adres­ senraums.
Der externe Bereich weist einen dem ROM 201 in Fig. 9 zuge­ ordneten Bereich auf. Der dem ROM 201 zugeordnete Bereich enthält jeweilige Bereiche, die dem Rücksetzvektoreingang 240 und einem Rücksetzprozeßprogramm 250 mit einem ersten Befehl zugeordnet sind, der an einer Adresse H'FF 0000 gespeichert ist. In dem Rücksetzvektoreingang ist ein Sprungbefehl B0 zum Sprung zu dem ersten Befehl des Rücksetzprozeßprogramms 250 an einer Adresse H'FF 0000 gespeichert, und an den anderen Adressen sind keine Informationen gespeichert. Der Sprungbe­ fehl B0 enthält Informationen, die die Adresse H'FF 0000 an­ zeigen.
Fig. 12 zeigt Einzelheiten des internen DRAM-Bereichs des Adressenraums.
Der interne DRAM-Bereich weist einen Bereich auf, der einem Interruptprozeßprogramm 251 mit einem ersten Befehl, der an einer Adresse H'00 1000 gespeichert ist, und einem Interrupt­ prozeßprogramm 252 mit einem ersten Befehl zugeordnet ist, der an einer Adresse H'00 2000 gespeichert ist. In dem Inter­ ruptvektoreingang 241 ist ein Sprungbefehl B1 zum Sprung zu dem ersten Befehl des Interruptprozeßprogramms 251 an einer Adresse H'00 0080 gespeichert, und an den anderen Adressen sind keine Informationen gespeichert. Der Sprungbefehl B1 enthält Informationen, die die Adresse H'00 1000 anzeigen. In dem Interruptvektoreingang 242 ist ein Sprungbefehl B2 zum Sprung zu dem ersten Befehl des Interruptprozeßprogramms 252 an einer Adresse H'00 0090 gespeichert, und an den anderen Adressen sind keine Informationen gespeichert. Der Sprungbe­ fehl B2 enthält Informationen, die die Adresse H'00 2000 anzeigen.
Nachstehend wird die Initialisierung des Mikroprozessors 200 in Fig. 9 unter Bezugnahme auf das Ablaufdiagramm in Fig. 13 beschrieben.
Wenn das Rücksetzsignal RST auf niedrigem Pegel geltend ge­ macht wird, empfangen in Schritt ST1 die Speicherelemente in dem Mikroprozessor 200, der die Zentraleinheiten 211a und 211b enthält, das Rücksetzsignal RST auf niedrigem Pegel, und die in den Speicherelementen gespeicherten Inhalte werden rückgesetzt (Hardwarerücksetzung des Mikroprozessors 200).
In Schritt ST2 führt die Zentraleinheit 211a das Rücksetzpro­ zeßprogramm 250 im Ansprechen auf das Rücksetzsignal RST auf negiert hohem Pegel aus.
Wenn das Rücksetzsignal RST negiert wird, wird zuerst die Rücksetzvektoreinsprungadresse bzw. der Rücksetzvektoreingang 240 aus dem ROM 201 über den Systembus 202 in den Prozessor 200 abgerufen und durch die Zentraleinheit 211a über den in­ ternen Datenbus 210 empfangen, so daß die Zentraleinheit 211a auf die Inhalte des Rücksetzvektoreingangs 240 bezug nimmt. Die Zentraleinheit 211a führt den Sprungbefehl B0 in dem Rücksetzvektoreingang 240 zum Sprung zu der Ausführung des Rücksetzprozessprogramms 250 aus, das in dem ROM 201 gespei­ chert ist. Eine Vielzahl von das Rücksetzprozeßprogramm 250 bildenden Befehlen werden in aufeinanderfolgender Reihenfolge von dem ersten Befehl an einer Adresse H'FF 0000 abgerufen und durch die Zentraleinheit 211a ausgeführt. Das Ende der Ausführung des Rücksetzprozeßprogramms 250 beendet die In­ itialisierung der Zentraleinheit 211a.
Andererseits ist die Zentraleinheit 211b nicht zum Empfang der Rücksetzvektoreinsprungadresse bzw. des Rücksetzvek­ toreingangs 240 von dem ROM 201 ausgebildet, wenn das Rück­ setzsignal RST negiert ist. Somit führt die Zentraleinheit 211b nicht das Rücksetzprozeßprogramm 250 aus.
In Schritt ST2 empfängt die Zentraleinheit 211a die Inter­ ruptvektoreinsprungadressen bzw. Interruptvektoreingänge 241, 242 und die in dem ROM 201 gespeicherten Interruptprozeßpro­ gramme 251, 252 von dem ROM 201, um die Interruptvektorein­ gänge 241, 242 und die Interruptprozeßprogramme 251, 252 in den internen DRAM 212 herunterzuladen (Schritt ST2a). Die In­ terruptvektoreingänge 241, 242 und die Interruptprozeßpro­ gramme 251, 252 sind in jeweiligen vorbestimmten Bereichen des internen DRAM 212 gespeichert, wie es in dem Adressenraum in Fig. 12 bestimmt ist.
Die Zentraleinheit 211a erzeugt das Interruptsignal INTb für die Zentraleinheit 211b unter Verwendung der Interruptsteuer­ einrichtung 214 als letzten Prozeß nach der Beendigung der Initialisierung der Zentraleinheit 211a bei der Ausführung des Rücksetzprozeßprogramms 250 in Schritt ST2 (Schritt ST2b).
In Schritt ST2b überträgt die Zentraleinheit 211a Daten über den internen Datenbus 210 zu der Interruptsteuereinrichtung 214. Die Interruptsteuereinrichtung 214 gibt das Interruptsi­ gnal INTb zu der Zentraleinheit 211b auf der Grundlage der übertragenen Daten aus.
In Schritt ST3 führt die Zentraleinheit 211b das Interrupt­ prozeßprogramm 252 im Ansprechen auf das Geltendmachen des Interruptsignals INTb aus.
Die Zentraleinheit 211a gibt das Busrecht auf den internen Datenbus 210 nach der Datenübertragung zu der Interruptsteu­ ereinrichtung 214 zurück und das Busrecht auf den internen Datenbus 210 wird der Zentraleinheit 211b zugesprochen.
Das Interruptsignal INTb wird geltend gemacht, und die Zen­ traleinheit 211b empfängt über den internen Datenbus 210 den Interruptvektoreingang 242, der in dem internen DRAM 212 in dem Prozeß in Schritt ST2a gespeichert wurde.
Die Zentraleinheit 211b nimmt auf den Interruptvektoreingang 242 bezug und führt den Sprungbefehl B2 in dem Interruptvek­ toreingang 242 zum Sprung zu der Ausführung des Interruptpro­ zeßprogramms 252 durch, das in dem internen DRAM 212 in dem Prozeß in Schritt ST2a gespeichert wurde. Eine Vielzahl von das Interruptprozeßprogramm 242 bildenden Befehlen werden in aufeinanderfolgender Reihenfolge von dem ersten Befehl an ei­ ner Adresse H'00 2000 abgerufen und durch die Zentraleinheit 211b ausgeführt.
Das Interruptprozeßprogramm 252 enthält einen Befehl zum Rücksetzen der Zentraleinheit 211b. Durch die Ausführung des Interruptprozeßprogramms 252 führt die Zentraleinheit 211b ein Faktoranalyseprogramm in dem Interruptprozeßprogramm 252 zur Analyse dahingehend aus, daß das Geltendmachen des einge­ gebenen Interruptsignals INTb durch den Faktor des Rücksetz­ prozesses verursacht wurde. Demzufolge führt die Zentralein­ heit 211b den Befehl für den Rücksetzprozeß aus, der in dem Interruptprozeßprogramm 252 enthalten ist. Das Ende der Aus­ führung des Interruptprozeßprogramms 252 beendet die Initia­ lisierung der Zentraleinheit 211b.
Der Befehl für den Rücksetzprozeß in dem Interruptprozeßpro­ gramm 252 enthält einen Befehl zur Übertragung von Daten von der Zentraleinheit 211b über den internen Datenbus 210 zu der Interruptsteuereinrichtung 214. Die Interruptsteuereinrich­ tung 214 empfängt die übertragenen Daten, um dadurch das In­ terruptsignal INTb zu negieren.
Das der Zentraleinheit 211b zugeführte Interruptsignal INTb muß nicht notwendigerweise durch die Ausführung des Rücksetz­ prozeßprogramms 250 durch die Zentraleinheit 211a erzeugt werden, sondern kann im Ansprechen auf das externe Interrupt­ signal EINT nach der Beendigung der Initialisierung der Zen­ traleinheit 211a erzeugt werden.
Der Mikroprozessor 200 des zweiten Ausführungsbeispiels weist folgende Merkmale auf.
Der interne DRAM 212, der als gemeinsam genutzter Speicher für die Zentraleinheiten 211a und 211b dient, überträgt Daten über den internen 128-Bit-Datenbus 210. Somit wird die Zu­ griffsleistung auf den gemeinsam genutzten Speicher merklich verbessert.
Bei einem Softwarerücksetzprozeß bei einem derartigen Mikro­ prozessor 200 führt nur die Zentraleinheit 211a das Rücksetz­ prozeßprogramm aus und wird initialisiert, wenn das Rücksetz­ signal RST eingegeben wird. Die CPU 211b wird durch Ausfüh­ rung des externen Interruptprozeßprogramms, das den Befehl für den Rücksetzprozeß enthält, im Ansprechen auf das Inter­ ruptsignal INTb initialisiert. Somit nimmt nur die Zen­ traleinheit 211a auf den Rücksetzvektoreingang 240 bezug, und die Busanpassungsschaltung, die bewirkt, daß die Zentralein­ heiten 211a und 211b aufeinanderfolgend auf den den Rücksetz­ vektoreingang 240 speichernden ROM 211 zugreifen, muß nicht auf dem Chip vorgesehen werden.
Insbesondere empfängt die Zentraleinheit 211b den Interrupt­ vektoreingang bzw. die Interruptvektoreinsprungadresse und den Befehl für den Rücksetzprozeß von dem internen DRAM 212 und nicht von der externen Speichereinrichtung und führt die­ sen aus. Dadurch kann die Zentraleinheit 211b den Befehl schnell empfangen. Außerdem wird ein schnellerer Empfang des Befehls erwartet, da der interne Datenbus breiter als der ex­ terne Datenbus ist.
Nicht nur der externe Nur-Lese-Speicher (ROM) 201 sondern auch eine Speichereinrichtung, die mit dem Datenbus 202 ver­ bunden ist, wie ein Schreib-Lese-Speicher (RAM) und eine Ma­ gnetplatte, kann zur Speicherung des Rücksetzprozeßprogramms verwendet werden.

Claims (15)

1. Mehrprozessorsystem mit einem ersten und einem zweiten Mikroprozessor, wobei der erste und der zweite Mikroprozessor jeweils gekennzeichnet ist durch:
einen Verarbeitungsabschnitt (11) mit einer Befehlsdecodiereinrichtung (31) zur Decodierung eines Befehls, wobei der Verarbeitungsabschnitt verschiedene Prozesse entsprechend einem Ergebnis der Decodierung von der Befehlsdecodiereinrichtung zur Ausführung des Befehls durchführt,
einen durch den Verarbeitungsabschnitt gesteuerten Zugriffssteuerabschnitt (18) zur Ausgabe einer einen Speicherbereich bestimmenden Adresse, um den in dem Speicherbereich gespeicherten Befehl an die Befehlsdecodiereinrichtung anzulegen, und
Speicherelemente, die im Ansprechen auf ein daran angelegtes Rücksetzsignal rückgesetzt werden,
wobei der Verarbeitungsabschnitt des ersten Mikroprozessors den Zugriffssteuerabschnitt des ersten Mikroprozessors derart steuert, dass ein Rücksetzprozessprogramm (50) bildende Befehle an die Befehlsdecodiereinrichtung des ersten Mikroprozessors im Ansprechen auf das an den ersten Mikroprozessor angelegte Rücksetzsignal angelegt werden,
wobei der Verarbeitungsabschnitt des ersten Mikroprozessors die an die Befehlsdecodiereinrichtung angelegten Befehle des Rücksetzprozessprogramms ausführt, wodurch der erste Mikroprozessor initialisiert wird,
wobei ein an den zweiten Mikroprozessor anzulegendes Interruptsignal durch den ersten Mikroprozessor erzeugt wird,
wobei der Verarbeitungsabschnitt des zweiten Mikroprozessors den Zugriffssteuerabschnitt des zweiten Mikroprozessors derart steuert, dass ein erstes Interruptprozessprogramm (52) bildende Befehle an die Befehlsdecodiereinrichtung des zweiten Mikroprozessors im Ansprechen auf das an den zweiten Mikroprozessor angelegte Interruptsignal angelegt werden, und
wobei der Verarbeitungsabschnitt des zweiten Mikroprozessors einen Befehl zum Rücksetzen ausführt, der in dem an die zugehörige Befehlsdecodiereinrichtung angelegten ersten Interruptprozessprogramm enthalten ist, wodurch der zweite Mikroprozessor initialisiert wird.
2. Mehrprozessorsystem nach Anspruch 1, gekennzeichnet durch:
eine Speichereinrichtung (105) zur Speicherung des Rücksetzprozessprogramms,
wobei der Zugriffssteuerabschnitt des ersten Mikroprozessors Adressen zu der Speichereinrichtung ausgibt, so dass der erste Mikroprozessor das Rücksetzprozessprogramm aus der Speichereinrichtung zur Ausführung des Rücksetzprozessprogramms abruft, und
wobei der zweite Mikroprozessor einen internen Speicher (15) zur Speicherung des ersten Interruptprozessprogramms aufweist.
3. Mehrprozessorsystem nach Anspruch 2, dadurch gekennzeichnet, dass der Zugriffssteuerabschnitt des zweiten Mikroprozessors Adressen zu dem internen Speicher des zweiten Mikroprozessors ausgibt, so dass das erste Interruptprozessprogramm von dem internen Speicher des zweiten Mikroprozessors an die Befehlsdecodiereinrichtung des zweiten Mikroprozessors angelegt wird.
4. Mehrprozessorsystem nach Anspruch 2, dadurch gekennzeichnet dass
die Speichereinrichtung das erste Interruptprozessprogramm speichert, und
der erste Mikroprozessor das Rücksetzprozessprogramm zur Übertragung des ersten Interruptprozessprogramms von der Speichereinrichtung zu dem internen Speicher des zweiten Mikroprozessors ausführt.
5. Mehrprozessorsystem nach Anspruch 3, dadurch gekennzeichnet dass der zweite Mikroprozessor ferner einen internen Datenbus aufweist, über den das in dem internen Speicher des zweiten Mikroprozessors gespeicherte erste Interruptprozessprogramm an die Befehlsdecodiereinrichtung des zweiten Mikroprozessors angelegt wird.
6. Mehrprozessorsystem nach Anspruch 1, dadurch gekennzeichnet, dass
der zweite Mikroprozessor ferner einen Adressenanschluss zur Ausgabe der Adresse aufweist,
wobei sich der Adressenanschluss in der Zeit zwischen der Eingabe des Rücksetzsignals und der Eingabe zumindest des Interruptsignals in einem hochohmigen Zustand befindet.
7. Mehrprozessorsystem nach Anspruch 6, dadurch gekennzeichnet, dass der Zugriffssteuerabschnitt des zweiten Mikroprozessors ein Informationssignal zu dem Verarbeitungsabschnitt des zweiten Mikroprozessors im Ansprechen auf eine Anforderung von dem Verarbeitungsabschnitt, dass der Zugriffssteuerabschnitt einen Zugriff außerhalb des Mikroprozessors durchführen soll, ausgibt, wenn sich der Adressenanschluss in dem hochohmigen Zustand befindet, wobei das Informationssignal Informationen über ein Verbot des Zugriffs bereitstellt.
8. Mehrprozessorsystem nach Anspruch 1, dadurch gekennzeichnet, dass
der erste und zweite Mikroprozessor jeweils einen internen Speicher aufweisen, und
das Rücksetzprozessprogramm Befehle zur Speicherung des ersten Interruptprozessprogramms und eines zweiten Interruptprozessprogramms (51) für einen Interruptprozess des Verarbeitungsabschnitts des ersten Mikroprozessors jeweils in den internen Speichern des zweiten und des ersten Mikroprozessors enthält.
9. Mehrprozessorsystem nach Anspruch 1, dadurch gekennzeichnet, dass das erste Interruptprozessprogramm einen Prozess entsprechend einem Interruptfaktor enthält.
10. Mehrprozessorsystem nach Anspruch 1, dadurch gekennzeichnet, dass der erste und der zweite Mikroprozessor als Mikroprozessor auf einem Chip aufgebaut sind, der den ersten und den zweiten Mikroprozessor aufweist.
11. Mikroprozessor, gekennzeichnet durch:
einen Verarbeitungsabschnitt (11) mit einer Befehlsdecodiereinrichtung (31) zur Decodierung eines Befehls, wobei der Verarbeitungsabschnitt (11) verschiedene Prozesse entsprechend einem Ergebnis der Decodierung von der Befehlsdecodiereinrichtung zur Ausführung des Befehls durchführt, und
einen Zugriffssteuerabschnitt (18), der durch den Verarbeitungsabschnitt zur Ausgabe einer Adresse gesteuert wird, die einen Speicherbereich bestimmt, um den in dem Speicherbereich gespeicherten Befehl an die Befehlsdecodiereinrichtung (31) anzulegen,
wobei Speicherelemente in dem Mikroprozessor im Ansprechen auf ein externes Rücksetzsignal rückgesetzt werden, und
wobei der Mikroprozessor ferner
eine Moduseinstelleinrichtung zum Versetzen des Mikroprozessors in einen ersten Modus oder einen zweiten Modus aufweist,
wobei in dem ersten Modus
  • a) der Verarbeitungsabschnitt (11) den Zugriffssteuerabschnitt (18) derart steuert, dass ein erstes Interruptprozessprogramm (52) bildende Befehle an die Befehlsdecodiereinrichtung (31) im Ansprechen auf ein an den Verarbeitungsabschnitt angelegtes Interruptsignal (INT) angelegt werden, und
  • b) der Verarbeitungsabschnitt einen Befehl zum Rücksetzen unter den das erste Interruptprozessprogramm bildenden Befehlen ausführt, die an die Befehlsdecodiereinrichtung angelegt werden, wodurch der Mikroprozessor initialisiert wird,
wobei in dem zweiten Modus
  • a) der Verarbeitungsabschnitt den Zugriffssteuerabschnitt derart steuert, dass ein Rücksetzprozessprogramm (50) bildende Befehle an die Befehlsdecodiereinrichtung im Ansprechen auf das an den Verarbeitungsabschnitt angelegte Rücksetzsignal angelegt werden, und
  • b) der Verarbeitungsabschnitt die an die Befehlsdecodiereinrichtung angelegten Befehle des Rücksetzprozessprogramms ausführt, wodurch der Mikroprozessor initialisiert wird.
12. Mikroprozessor nach Anspruch 11, gekennzeichnet durch:
einen internen Speicher (15), wobei
in dem ersten Modus (v) das erste Interruptprozessprogramm in dem internen Speicher nach der Beendigung des Geltendmachens des externen Rücksetzsignals gespeichert wird, und
in dem zweiten Modus (vi) ein zweites Interruptprozessprogramm (51) in dem internen Speicher nach der Beendigung des Geltendmachens des externen Rücksetzsignals durch Ausführung des Rücksetzprozessprogramms gespeichert wird.
13. Mikroprozessor nach Anspruch 11, gekennzeichnet durch:
einen internen Speicher (15) zur Speicherung des ersten Interruptprozessprogramms,
wobei der Verarbeitungsabschnitt den Zugriffssteuerabschnitt zur Ausgabe von Adressen zu dem internen Speicher steuert.
14. Mikroprozessor nach Anspruch 13, dadurch gekennzeichnet, dass in dem ersten Modus das erste Interruptprozessprogramm zu dem internen Speicher von einem externen Speicher nach Beendigung des Geltendmachens des externen Rücksetzsignals übertragen wird.
15. Mikroprozessor nach Anspruch 11, gekennzeichnet durch:
einen Adressanschluss zur Ausgabe von Adressen zu einem externen Speicher,
wobei in dem ersten Modus der Adressanschluss sich im hochohmigen Zustand während der Zeit zwischen der Eingabe des externen Rücksetzsignals und zumindest der Eingabe des Interruptsignals befindet.
DE19729618A 1996-10-31 1997-07-10 Mikroprozessor und Mehrprozessorsystem Expired - Fee Related DE19729618C2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP28998496 1996-10-31
JP02276297A JP4226085B2 (ja) 1996-10-31 1997-02-05 マイクロプロセッサ及びマルチプロセッサシステム

Publications (2)

Publication Number Publication Date
DE19729618A1 DE19729618A1 (de) 1998-05-07
DE19729618C2 true DE19729618C2 (de) 2000-11-23

Family

ID=26360026

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19729618A Expired - Fee Related DE19729618C2 (de) 1996-10-31 1997-07-10 Mikroprozessor und Mehrprozessorsystem

Country Status (5)

Country Link
US (1) US6401197B1 (de)
JP (1) JP4226085B2 (de)
KR (1) KR100272937B1 (de)
CN (1) CN1117315C (de)
DE (1) DE19729618C2 (de)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000339177A (ja) * 1999-05-31 2000-12-08 Mitsubishi Electric Corp Eit処理機能を備えるマイクロプロセッサ及びeit処理方法
US6708231B1 (en) * 1999-08-12 2004-03-16 Mitsumi Electric Co., Ltd. Method and system for performing a peripheral firmware update
JP4144990B2 (ja) * 2000-01-14 2008-09-03 富士通株式会社 データ処理システム及び初期化方法
US6601122B1 (en) * 2000-04-17 2003-07-29 International Business Machines Corporation Exceptions and interrupts with dynamic priority and vector routing
US6789187B2 (en) * 2000-12-15 2004-09-07 Intel Corporation Processor reset and instruction fetches
JP2003196253A (ja) * 2001-12-27 2003-07-11 Denso Corp シングルチップマイクロコンピュータ
US6990537B2 (en) * 2002-08-03 2006-01-24 Ess Technology, Inc. System and method for controlling multi-component communications via a bus by causing components to enter and exit a high-impedance state
KR100453821B1 (ko) * 2002-10-09 2004-10-20 한국전자통신연구원 마이크로 컨트롤러를 위한 데이터 버스 시스템
KR100506366B1 (ko) * 2003-11-20 2005-08-10 현대모비스 주식회사 복합마이컴형 제품 및 슬레이브 리셋 방법
CN100336033C (zh) * 2005-02-25 2007-09-05 清华大学 单芯片多处理器结构模拟***
JP4569368B2 (ja) * 2005-04-26 2010-10-27 日本電気株式会社 計算機システム、メモリ初期化方法、および計算機システムのプログラム
US7734903B2 (en) * 2005-12-08 2010-06-08 Electronics And Telecommunications Research Institute Multi-processor system and method for controlling reset and processor ID thereof
JP4605053B2 (ja) * 2006-03-06 2011-01-05 富士ゼロックス株式会社 データ処理装置
US20120059961A1 (en) * 2009-05-15 2012-03-08 Thomson Licensing A Corporation System and method for sharing memory
US10394730B2 (en) * 2014-11-14 2019-08-27 Cavium, Llc Distributed interrupt scheme in a multi-processor system
JP6838234B2 (ja) * 2017-03-24 2021-03-03 日立Astemo株式会社 車両制御装置
CA3094713A1 (en) 2018-03-22 2019-09-26 Bedford Systems Llc Reconstitution of independent beverage flows
USD982382S1 (en) 2020-03-20 2023-04-04 Bedford Systems Llc Nozzle for a beverage machine
CN111478708B (zh) * 2020-03-31 2023-08-11 Oppo广东移动通信有限公司 电子设备、芯片、***总线、译码模块、译码器及方法
CN113608602A (zh) * 2021-06-20 2021-11-05 山东云海国创云计算装备产业创新中心有限公司 一种片上***的复位方法和装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5448716A (en) * 1992-10-30 1995-09-05 International Business Machines Corporation Apparatus and method for booting a multiple processor system having a global/local memory architecture

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4034349A (en) 1976-01-29 1977-07-05 Sperry Rand Corporation Apparatus for processing interrupts in microprocessing systems
JPS61180352A (ja) 1984-12-30 1986-08-13 Fujitsu Ltd プログラムダウンロ−ド方式
JPS62267853A (ja) 1986-05-15 1987-11-20 Pfu Ltd サブプロセツサの初期起動方式
JPS6375869A (ja) 1986-09-18 1988-04-06 Fujitsu Ltd プロセツサの初期起動方式
GB2263565B (en) * 1992-01-23 1995-08-30 Intel Corp Microprocessor with apparatus for parallel execution of instructions
US5564060A (en) * 1994-05-31 1996-10-08 Advanced Micro Devices Interrupt handling mechanism to prevent spurious interrupts in a symmetrical multiprocessing system
GB2290891B (en) * 1994-06-29 1999-02-17 Mitsubishi Electric Corp Multiprocessor system
US5642506A (en) * 1994-12-14 1997-06-24 International Business Machines Corporation Method and apparatus for initializing a multiprocessor system
US5724527A (en) * 1995-12-28 1998-03-03 Intel Corporation Fault-tolerant boot strap mechanism for a multiprocessor system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5448716A (en) * 1992-10-30 1995-09-05 International Business Machines Corporation Apparatus and method for booting a multiple processor system having a global/local memory architecture

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IBM Technical Disclosure Bulletin, Vol.33, No.8, Jan. 1991, S. 94 u. 95 *

Also Published As

Publication number Publication date
KR19980069757A (ko) 1998-10-26
JPH10187642A (ja) 1998-07-21
KR100272937B1 (ko) 2000-11-15
DE19729618A1 (de) 1998-05-07
CN1181550A (zh) 1998-05-13
US6401197B1 (en) 2002-06-04
CN1117315C (zh) 2003-08-06
JP4226085B2 (ja) 2009-02-18

Similar Documents

Publication Publication Date Title
DE19729618C2 (de) Mikroprozessor und Mehrprozessorsystem
DE69227664T2 (de) Hardwarekonfiguriertes Betriebssystemkern für einen Multitaskprozessor
DE3685876T2 (de) Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher.
DE69129565T2 (de) Hochleistungsfähiger Emulator mit Pipelining
DE3751426T2 (de) Busschnittstellenschaltung für digitalen Datenprozessor.
DE69032481T2 (de) Buszugriff für Digitalrechnersystem
DE3689394T2 (de) Informationsverarbeitungsanlage mit einem Allzweckprozessor und einem Sonderzweckprozessor.
DE69228582T2 (de) Vorrichtung zur Vermeidung von Prozessorblockierungen in einem Multiprozessorsystem
DE3876780T2 (de) Mikrorechner mit eingebauter chipauswahl und programmierbarer busdehnung.
DE69128565T2 (de) Mikrorechner ausgestattet mit einer DMA-Steuerung
DE69317149T2 (de) Mikrocomputer mit Befehlsspeicher für Befehle zum Auslesen interner Bedingungen
DE3685863T2 (de) Rechnersystem zur steuerung virtueller maschinen.
DE3889366T2 (de) Interface für ein Rechnersystem mit reduziertem Befehlssatz.
DE69132652T2 (de) Rechnerdatenleitweglenkungssystem
DE69906156T2 (de) Mikroprozessorvorrichtung mit programmierbaren wartezuständen
DE19847642C2 (de) PCI-PCI-Brücke
DE69033131T2 (de) Logikvorrichtung und Verfahren zur Verwaltung einer Befehlseinheit in einer Pipeline-Verarbeitungseinheit
DE112007000812T5 (de) Transaktionalspeicher in Out-of-Order-Prozessoren
DE69231174T2 (de) Verfahren und Vorrichtung für Register zum atomaren Zugriff mit Einzelbit-Setzen und -Rücksetzen ohne programmierte gegenseitige Verriegelung
DE3854369T2 (de) Zentralprozessoreinheit für digitale datenverarbeitungsanordnung mit cache-speicherverwaltungsvorrichtung.
DE19723065A1 (de) Halbleitereinrichtung und Computersystem
DE69414592T2 (de) Ausführung von datenverarbeitungsbefehlen
DE69229851T2 (de) Sequentielles Urladesystem
DE69427512T2 (de) Direktspeicherzugriffssteuerung
DE69130233T2 (de) Verfahren und gerät um ein sperrungscache einzusetzen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee