DE19729618C2 - Mikroprozessor und Mehrprozessorsystem - Google Patents
Mikroprozessor und MehrprozessorsystemInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/177—Initialisation or configuration control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/24—Resetting means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4405—Initialisation 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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,
- 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.
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.
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.
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.
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)
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)
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)
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 |
-
1997
- 1997-02-05 JP JP02276297A patent/JP4226085B2/ja not_active Expired - Fee Related
- 1997-04-28 KR KR1019970016937A patent/KR100272937B1/ko not_active IP Right Cessation
- 1997-06-03 US US08/867,853 patent/US6401197B1/en not_active Expired - Lifetime
- 1997-06-27 CN CN97113851A patent/CN1117315C/zh not_active Expired - Fee Related
- 1997-07-10 DE DE19729618A patent/DE19729618C2/de not_active Expired - Fee Related
Patent Citations (1)
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)
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 |