GEBIET DER ERFINDUNG
Die vorliegende Erfindung bezieht sich auf einen Mikro
prozessor, welcher mit einer Vielzahl von Bussen und einer
Vielzahl von Busmastern ausgestattet ist. Insbesondere be
zieht sich diese Erfindung auf einen Mikroprozessor, der mit
einer Bussteuereinheit zum effizienten Steuern der Busse
ausgestattet ist, wenn Zugriffsanforderungen von den Bus
mastern gestellt werden. In einem Mikroprozessor, der für
eine Steueranordnung oder eine tragbare elektronische Vor
richtung verwendet wird, wurde in den letzten Jahren im all
gemeinen ein System eingesetzt, das eine große Anzahl von an
den Bussen angeschlossenen Modulen zum Steuern dieser Module
durch die Busse aufweist, um komplexe Prozesse zu erzielen,
und um die Expandierbarkeit der Verarbeitung zu erhöhen.
Insbesondere sind auf einem Mikroprozessor, von dem eine
Hochgeschwindigkeitsverarbeitung verlangt wird, ein Cache-
Speicher und ein DMA (Direktspeicherzugriff)-Controller mon
tiert, um die Nutzungseffizienz der Busses zu erhöhen.
HINTERGRUND DER ERFINDUNG
Fig. 1 ist ein Blockbild, das eine schematische Konfigu
ration eines herkömmlichen Mikroprozessors unter Verwendung
einer Harvard-Architektur zeigt. Die Harvard-Architektur ist
eine der Architekturen auf einer Registerebene, die unabhän
gig voneinander vorgesehene Busse für einen Datenzugriff
(Datenbusse) und Busse für einen Instruktionszugriff (In
struktionsbusse) verwendet. Ferner wird bei der Harvard-
Architektur ein mit den Datenbussen verbundener Speicher,
das heißt ein Datenspeicher, ausschließlich zum Speichern
von Daten verwendet, und ein mit den Instruktionsbussen ver
bundener Speicher, das heißt ein Instruktionsspeicher, wird
ausschließlich zum Speichern von Instruktionen verwendet. So
werden der Datenspeicher und der Instruktionsspeicher als
räumlich getrennte Adressen verwendet. Durch die Verwendung
dieser Harvard-Architektur kann der Mikroprozessor Instruk
tionen schützen, und kann einen parallelen Betrieb von Zu
griffen erzielen, um eine Hochgeschwindigkeitsverarbeitung
zu erzielen.
Wie in Fig. 1 gezeigt, enthält der herkömmliche Mikro
prozessor 100 eine CPU (Zentraleinheit) 110 zum Ausführen
von Instruktionen gemäß Programmcodes, eine Bussteuereinheit
120 zum Durchführen einer Buszuteilung durch die Überwachung
des Nutzungszustands einer Vielzahl von Bussen, einen In
struktionsspeicher 131 als Speicher zum ausschließlichen
Speichern von Instruktionen, einen Datenspeicher 132 als
Speicher zum ausschließlichen Speichern von Daten. Ferner
enthält der Mikroprozessor 100 einen Programm-ROM 141 zum
Speichern eines Startinstruktionssatzes und eines Basis
instruktionssatzes, einen Programm-RAM 142 zum Speichern
eines Benutzerprogramms. Außerdem enthält der Mikroprozessor
100 einen DMA-Controller 143 zum direkten Austauschen von
Daten, das heißt, für einen DMA-Transfer, zwischen mit den
Bussen verbundenen Modulen, ohne durch die CPU 110 zu gehen,
und verschiedene Speicher. Darüber hinaus enthält der Mikro
prozessor 110 eine externe Bus-I/F 151 zum Anschließen an
externe Einheiten, um eine funktionelle Expansion oder einen
Dateneingang in die externen Einheiten und -ausgang aus
diesen durchzuführen, eine SDRAM-I/F 152, um die Expansion
eines SDRAM (synchroner dynamischer Speicher mit wahlfreiem
Zugriff) als erweiterter Speicher zu ermöglichen. Schließ
lich enthält der Mikroprozessor 100 eine periphere Bus-I/F
153 zum Ausführen einer Funktion als Schnittstelle mit ein
gebauten peripheren Anordnungen.
Ein Instruktionsbus IB und ein Datenbus DB sind
zwischen der CPU 110 und der Bussteuereinheit 120 vorgese
hen. Der Programm-ROM 141, der Programm-RAM 142, der DMA-
Controller 143, die externe Bus-I/F 151, die SDRAM-I/F 152
und die periphere Bus-I/F 153 sind mit einem gemeinsamen Bus
verbunden, das heißt einem Princeton-Bus PB, der von der
Bussteuereinheit 120 überwacht wird.
Ein Zeitgeber 161, ein UART (universeller asynchroner
Empfänger/Sender) 162 zum Unterstützen einer seriellen Kom
munikation, ein Analog/Digital-Wandler (ADC) 163 und dgl.
sind mit der peripheren Bus-I/F 153 als eingebaute periphere
Anordnungen verbunden.
Der Instruktionsbus IB, der Datenbus DB und der
Princeton-Bus PB enthalten einen Datenbus zum Transferieren
von Daten bzw. einen Adressenbus zum Transferieren einer
Adresse. Jeder mit jedem dieser Busse verbundene Modul (ein
schließlich der CPU 110) ist mit einem nicht dargestellten
Steuerbus zum Transferieren von Steuersignalen versehen, wie
einem Busnutzungsanforderungssignal, das für eine Kommunika
tion mit der Bussteuereinheit 120 notwendig ist, einem
Lese/Schreib-Signal, einem Adressen-Strobe-Signal, einem
Daten-Strobe-Signal, verschiedenen Quittungssignalen, etc.
Im Mikroprozessor 100 unter Verwendung der Harvard-
Architektur, wie in Fig. 1 gezeigt, werden der Instruktions
speicher 131 und der Datenspeicher 132 insbesondere als
Cache-Speicher verwendet, um den Durchsatz zu verbessern.
Der Grundbetrieb des Mikroprozessors 100 wird nachstehend
erläutert.
Wenn der Mikroprozessor 100 gestartet wird, wird eine
im Programm-ROM 141 gespeicherte Startinstruktion in die CPU
110 durch den Princeton-Bus PB und den Instruktionsbus IB
eingelesen, und ein im Programm-RAM 142 gespeichertes Be
nutzerprogramm wird ausgeführt, wenn notwendig.
In diesem Fall prüft die CPU 110, bevor sie einen Zu
griff auf den Programm-ROM 141 und den Programm-RAM 142 vor
nimmt, ob eine entsprechende Instruktion im Instruktions
speicher 131 gespeichert ist oder nicht. Wenn die entspre
chende Instruktion gespeichert ist (Cache-Treffer), ruft die
CPU 110 diese Instruktion aus dem Instruktionsspeicher 131
ab und führt diese Instruktion aus (Instruktionsabruf).
Wenn die entsprechende Instruktion hingegen nicht im
Instruktionsspeicher 131 gespeichert ist, ruft die CPU 110
die Instruktion aus dem Programm-ROM 141 oder dem Programm-
RAM 142 ab, der das ursprüngliche Zugriffsziel ist, und
führt diese Instruktion aus. Gleichzeitig speichert die CPU
110 die abgerufene Instruktion im Instruktionsspeicher 131.
Wenn es erneut notwendig wird, die einmal von der CPU 110
ausgeführte Instruktion auszuführen, ist es mit dieser An
ordnung möglich, diese Instruktion aus dem Instruktionsspei
cher 131 abzurufen.
Wenn, wie oben erläutert, der Cache-Treffer erhalten
wurde, kann der Instruktionsabruf in einem kürzeren Takt
zyklus ausgeführt werden als im Fall des Zugriffs auf den
Programm-ROM 141 oder Programm-RAM 142. Daher kann ein
System erzielt werden, das eine Verarbeitung mit hoher Ge
schwindigkeit vornehmen kann.
Wenn einmal aus der SDRAM-I/F 152 oder anderen abgeru
fene Daten im Datenspeicher 132 gespeichert werden, wird es
auf eine Weise ähnlich den im Instruktionsspeicher 131 ge
speicherten Daten möglich, einen Cache-Treffer aus dem
Datenspeicher 132 zu erhalten, wenn es notwendig ist, einen
Datenzugriff auf die SDRAM-I/F 152 oder andere vorzunehmen.
So kann ein System erzielt werden, das eine Verarbeitung mit
hoher Geschwindigkeit vornehmen kann.
In diesem Mikroprozessor 100 kann nicht nur die CPU
110, sondern auch der DMA-Controller 143 ein Busmaster
werden. Daher muß die CPU 110 eine Genehmigung zur Nutzung
des Instruktionsbusses IB, des Datenbusses DB und des
Princeton-Busses PB von der Bussteuereinheit 120 erhalten,
jedesmal wenn die CPU 110 den oben beschriebenen Instruk
tionsabruf oder Datenzugriff durchführt.
Mit anderen Worten, um einen Zugriff auf den Programm-
ROM 141 oder Programm-RAM 142 vorzunehmen, sendet die CPU
110 ein Busnutzungsanforderungssignal, das eine Anforderung
zur Nutzung des Princeton-Busses PB repräsentiert, durch den
Steuerbus an die Bussteuereinheit 120.
Die Bussteuereinheit 120 prüft, ob der Princeton-Bus PB
von einem anderen Busmaster genutzt wird oder nicht. Wenn
beispielsweise der DMA-Controller 143 den Princeton-Bus PB
zum Durchführen eines DMA-Transfers von der SDRAM-I/F 152
zur externen Bus-I/F 151 benützt, sendet die Bussteuerein
heit 120 ein Busnutzungsanforderungssignal an den DMA-Con
troller 143. Beim Empfang dieses Busnutzungsanforderungs
signals geht der DMA-Controller 143 in einen Haltezustand
unmittelbar nach der Beendigung des aktuell ausgeführten
Buszyklus, und sendet dann ein Busüberlassungssignal an die
Bussteuereinheit 120.
Die Bussteuereinheit 120 sendet ein WAIT-Signal an die
CPU 110, um die CPU 110 während einer Periode ab dem Empfang
des Busnutzungsanforderungssignals durch den DMA-Controller
143 bis zum Senden des Busüberlassungssignals durch den DMA-
Controller 143 warten zu lassen. Beim Empfang des Busüber
lassungssignals vom DMA-Controller 143 sendet die Bussteuer
einheit 120 ein Buserhaltsignal, welches das Erhalten eines
Busrechts repräsentiert, an die CPU 110. Wenn die CPU 110
das Busrecht erhält, kann sie einen Zugriff auf jede mit dem
Princeton-Bus PB verbundene Einheit vornehmen.
Wenn ein anderer Busmaster als die CPU 110, wie der
DMA-Controller 143, den Princeton-Bus PB benützen will, muß
dieser Busmaster ferner auch ein Busrecht erhalten, indem er
ein Busnutzungsanforderungssignal an die Bussteuereinheit
120 auf ähnliche Weise wie oben beschrieben sendet.
So ist im herkömmlichen Mikroprozessor 100, wie in
Fig. 1 gezeigt, die Bussteuereinheit 120 vorgesehen, um es
jedem Busmaster zu ermöglichen, ein Busrecht von einem
anderen Busmaster zu erhalten, wodurch eine Buszuteilung er
zielt wird, indem eine Kollision des Zugriffs auf die Busse
vermieden wird.
Außerdem ist es im herkömmlichen Mikroprozessor 100 er
forderlich, daß der Energieverbrauch niedrig ist, da er
durch Batterien betrieben wird, und aufgrund von Wärmegegen
maßnahmen. Der Betrieb des Mikroprozessors oder der Betrieb
eines Teils der Module des Mikroprozessors kann gestoppt
werden, um einen niedrigen Energieverbrauch während einer
Periode zu erzielen, in der diese Komponenten ungenutzt
sind. Beispielsweise wurde eine Technik zur Reduktion des
Energieverbrauchs vorgeschlagen, indem ein der CPU 110 und
anderen Modulen zugeführtes Taktsignal gehalten wird.
Spezifischer wird ein Standby-Modus genannter Betriebs
modus vorgesehen, um einen nicht dargestellten Takt-Control
ler die Zuführung eines Taktsignals halten zu lassen. Ähn
lich kann eine Schlafinstruktion genannte Instruktion ausge
führt werden, um die Zuführung eines Takts nur zu einem
Zielmodul zu unterbrechen, wobei der Betrieb dieses Moduls
gehalten wird.
Obwohl ein Versuch unternommen wurde, die Belastung der
Busse zu verteilen, indem individuell der Instruktionsbus IB
und der Datenbus DB vorgesehen werden, muß jedoch gemäß dem
Mikroprozessor 100 die CPU 110 ein Busrecht zur Nutzung des
Princeton-Busses PB erhalten, um einen Zugriff auf den Pro
gramm-ROM 141 oder den Programm-RAM 142 vorzunehmen. Daher
wurde nicht unbedingt ein effizienter Buszugriff durchge
führt.
Wenn beispielsweise ein Instruktionscode aus dem Pro
gramm-ROM 141 in den Instruktionsspeicher 131 durch den In
struktionsbus IB und den Princeton-Bus PB abgerufen wird,
ermöglicht es die CPU 110, Daten unter Verwendung des Daten
busses DB abzurufen. Wenn die CPU beispielsweise die von der
externen Bus-I/F 151 eingegebenen Daten abrufen will, ist es
in diesem Zustand jedoch notwendig, ein Busrecht zur Nutzung
des Princeton-Busses PB zu erhalten. Folglich muß die CPU
110 warten, bis der Abruf eines Instruktionscodes aus dem
Programm-ROM 141 zum Instruktionsspeicher 131 beendet ist.
Obwohl der DMA-Controller 143 als repräsentativer
anderer Busmaster als die CPU 110 bei der Verbesserung des
Durchsatzes einer internen arithmetischen Verarbeitung der
CPU 110 effektiv ist, wird der DMA-Controller 143 ferner vom
WAIT-Signal warten gelassen, bis die CPU 110 ein Busüberlas
sungssignal an die Bussteuereinheit 120 sendet, wie oben be
schrieben, wenn ein anderer Busmaster, wie die CPU 110, das
Busrecht zur Nutzung des Princeton-Busses PB hat. So kam es
zu dem Problem, daß es eine Zeit dauert, bis der DMA-Con
troller 143 ein Busrecht erhält.
Im herkömmlichen Mikroprozessor wurde auch ein System
vorgeschlagen, bei dem eine Vielzahl von Princeton-Bussen
PBs als gemeinsame Busse vorgesehen ist, und Module auf ver
schiedene Princeton-Busse PBs verteilt sind. Da dieses
System jedoch nicht unter Berücksichtigung der Harvard-
Architektur ausgebildet ist, war es nicht möglich, die Bus
nutzungseffizienz der CPU 110 wesentlich zu verbessern.
Außerdem wird, wie oben beschrieben, gemäß dem oben be
schriebenen herkömmlichen Mikroprozessor 100 ein niedriger
Energieverbrauch durch den Standby-Betrieb des Takt-Control
lers zum Halten der Zuführung eines Taktsignals erzielt. Um
die Zuführung des Taktsignals zu halten, muß die CPU 110
jedoch ein Steuerregister innerhalb des Takt-Controllers zum
Durchführen einer Speicheroperation betreiben, und es war
notwendig, ein Minimumprogramm für einen Testbetrieb des
Haltens des Taktsignals zu erstellen.
ZUSAMMENFASSUNG DER ERFINDUNG
Im Lichte der oben beschriebenen Probleme ist es eine
Aufgabe der vorliegenden Erfindung, einen Mikroprozessor
vorzusehen, welcher den Durchsatz der CPU verbessern kann,
indem die Effizienz der Nutzung der Busse verbessert wird,
und welcher leichter zu einem Standby-Betrieb wechseln kann.
Gemäß einem der Aspekte der vorliegenden Erfindung
werden die Module wie die Programm-ROMs und dgl., in denen
Instruktionszugriffe von der CPU konzentriert werden, im
ersten Princeton-Bus zusammengesetzt, und die Module der
externen Bus-I/F, der SDRAM-I/F, der peripheren Bus-I/F und
dgl., in denen hauptsächlich Datenzugriffe konzentriert
werden, werden im zweiten Princeton-Bus zusammengesetzt.
Daher ist es möglich, die Vorteile der Konfiguration unter
Verwendung der Harvard-Architektur bestmöglich zu nutzen,
worin der Instruktionszugriff und der Datenzugriff von den
individuellen exklusiven Bussen des Instruktionsbusses und
des Datenbusses durch die Bussteuereinheit durchgeführt
werden.
Andere Aufgaben und Merkmale dieser Erfindung gehen aus
der folgenden Beschreibung mit Bezugnahme auf die beige
schlossenen Zeichnungen hervor.
KURZE BESCHREIBUNG DER ZEICHNUNGEN
Fig. 1 ist ein Blockbild, um eine schematische Konfigu
ration eines bekannten Mikroprozessors unter Verwendung
einer Harvard-Architektur zu zeigen;
Fig. 2 ist eine Darstellung zur Erläuterung des Prinzips
eines Mikroprozessors gemäß der vorliegenden Erfindung;
Fig. 3 ist ein Blockbild, das eine schematische Konfigu
ration eines Mikroprozessors in bezug auf eine erste Ausfüh
rungsform der vorliegenden Erfindung zeigt;
Fig. 4 ist ein Blockbild, das eine schematische Konfigu
ration einer Instruktionsschnittstelle in der ersten Ausfüh
rungsform der vorliegenden Erfindung zeigt;
Fig. 5 ist ein Blockbild, das eine schematische Konfigu
ration einer Buszuteilungsschaltung in der ersten Ausfüh
rungsform zeigt;
Fig. 6 ist ein Zeitdiagramm zur Erläuterung eines Zu
stands eines gleichzeitigen Zugriffs eines ersten Princeton-
Busses und eines zweiten Princeton-Busses durch eine CPU in
der ersten Ausführungsform;
Fig. 7 ist ein Blockbild, das eine schematische Konfigu
ration eines weiteren Beispiels einer Instruktionsschnitt
stelle in der ersten Ausführungsform zeigt;
Fig. 8 ist ein Blockbild, das eine schematische Konfigu
ration eines weiteren Beispiels einer Buszuteilungsschaltung
in der ersten Ausführungsform zeigt;
Fig. 9 ist ein Blockbild, das eine schematische Konfigu
ration eines Mikroprozessors in bezug auf eine zweite Aus
führungsform der vorliegenden Erfindung zeigt;
Fig. 10 ist ein Blockbild, das eine schematische
Konfiguration eines Mikroprozessors in bezug auf eine dritte
Ausführungsform der vorliegenden Erfindung zeigt;
Fig. 11 ist ein Blockbild, das eine schematische Konfi
guration eines weiteren Beispiels einer Bussteuereinheit in
der dritten Ausführungsform zeigt; und
Fig. 12A bis 12O sind Blockbilder, welche die schemati
schen Konfigurationen von Buszugriffsvariationen zeigen.
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
Nun werden detailliert bevorzugte Ausführungsformen
eines Mikroprozessors in bezug auf die vorliegende Erfindung
mit Bezugnahme auf die beigeschlossenen Zeichnungen erläu
tert. Es ist zu beachten, daß die vorliegende Erfindung
nicht auf diese Ausführungsformen beschränkt ist. Zuerst
wird das Prinzip des Mikroprozessors in bezug auf die vor
liegende Erfindung erläutert.
Fig. 2 ist eine Darstellung zur Erläuterung des Prinzips
des Mikroprozessors in bezug auf die vorliegende Erfindung.
Wie in Fig. 2 gezeigt, enthält ein Mikroprozessor 10 eine CPU
(Zentraleinheit) 20 zum Ausführen von Instruktionen gemäß
Programmcodes, eine Bussteuereinheit 30 zum Durchführen
einer Buszuteilung durch die Überwachung des Nutzungszu
stands einer Vielzahl von Bussen, einen Instruktionsspeicher
41 als Speicher zum ausschließlichen Speichern von Instruk
tionen, einen Datenspeicher 42 als Speicher zum ausschließ
lichen Speichern von Daten, einen Programm-ROM 51 zum Spei
chern eines Startinstruktionssatzes und eines Basisinstruk
tionssatzes, einen Programm-RAM 52 zum Speichern eines Be
nutzerprogramms, einen DMA-Controller 53 zum Steuern eines
DMA-Transfers, eine externe Bus-I/F 61 zum Verbinden mit
externen Einheiten, um eine funktionelle Expansion oder
einen Dateneingang in die externen Einheiten und -ausgang
aus diesen durchzuführen, eine SDRAM-I/F 62, um es zu ermög
lichen, einen SDRAM als erweiterter Speicher zu expandieren,
und einen periphere Bus-I/F 63 zum Ausführen einer Funktion
als Schnittstelle mit eingebauten peripheren Anordnungen.
Zwischen der CPU 20 und der Bussteuereinheit 30 sind
ein Instruktionsbus IB und ein Datenbus DB vorgesehen, wobei
sie eine Struktur unter Verwendung der oben beschriebenen
Harvard-Architektur aufweisen. Der Programm-ROM 51 und der
Programm-RAM 52 sind mit einem ersten Princeton-Bus PB1 ver
bunden, der von der Bussteuereinheit 30 verwaltet wird. Die
externe Bus-I/F 61, die SDRAM-I/F 62 und die periphere Bus-
I/F 63 sind mit einem zweiten Princeton-Bus PB2 verbunden,
der auch von der Bussteuereinheit 30 verwaltet wird. Der
DMA-Controller 53 ist direkt mit der Bussteuereinheit 30
verbunden.
Ein Zeitgeber 71, ein UART 72 zum Unterstützen einer
seriellen Kommunikation, ein Analog/Digital-Wandler 73 und
dgl. sind mit der peripheren Bus-I/F 63 als eingebaute peri
phere Anordnungen verbunden. Diese Einheiten sind ähnlich
jenen des in Fig. 1 gezeigten herkömmlichen Mikroprozessors,
und ihre Erläuterung entfällt.
Der Instruktionsbus IB, der Datenbus DB, der erste
Princeton-Bus PB1 und der zweite Princeton-Bus PB2 enthalten
einen Datenbus zum Transferieren von Daten bzw. einen Adres
senbus zum Transferieren einer Adresse. Jeder mit jedem
dieser Busse verbundene Modul, einschließlich der CPU 20,
ist mit einem nicht dargestellten Steuerbus versehen, zum
Transferieren von Steuersignalen, wie einem Busnutzungsan
forderungssignal, das für die Kommunikation mit der Bussteu
ereinheit 30 notwendig ist, einem Lese/Schreib-Signal, einem
Adressen-Strobe-Signal, einem Daten-Strobe-Signal, verschie
denen Quittungssignalen, etc.
Als nächstes wird der Betrieb rund um den Buszugriff
dieses Mikroprozessors 10 erläutert. Wenn die CPU 20 anfäng
lich keinen Cache-Treffer im Instruktionsspeicher 41 erhal
ten kann, und daher die CPU 20 eine Instruktion aus dem
Programm-ROM 51 abrufen will, sendet die CPU 20 ein Bus
nutzungsanforderungssignal an die Bussteuereinheit 30, um
ein Busrecht zur Nutzung des ersten Princeton-Busses PB1 zu
erhalten, mit dem der Programm-ROM 51 verbunden ist.
Der Programm-RAM 52 ist zusätzlich zum Programm-ROM 51
auch mit dem ersten Princeton-Bus verbunden. Da diese jedoch
Speicher sind, die Instruktionscodes speichern, kann der
erste Princeton-Bus ausschließlich als Instruktionszugriffs
bus funktionieren, auf den zur Zeit des Abrufs einer In
struktion zugegriffen wird.
Während eine Instruktion vom Programm-ROM 51 im In
struktionsspeicher 41 gespeichert wird, kann demgemäß die
CPU 20 einen Zugriff auf einen mit dem zweiten Princeton-Bus
PB2 verbunden Modul durch den Datenbus DB vornehmen. So kann
der Mikroprozessor 10 die Vorteile der Harvard-Architektur
bestmöglich nutzen, und kann den Durchsatz der CPU 20
wesentlich verbessern.
Da der DMA-Controller 53 als repräsentativer anderer
Busmaster als die CPU 20 direkt mit der Bussteuereinheit 30
verbunden ist, ohne durch die Busse zu gehen, ist es ferner
möglich, ein Busrecht im Fall der Durchführung eines DMA-
Transfers durch einen anderen Bus als den von der CPU 20 ge
nutzten Bus prompt zu erhalten. So kann sogar eine effi
ziente Bussteuerung auch in der Bussteuereinheit 30 erzielt
werden.
Außerdem kann die Bussteuereinheit 30 ein Betriebs
stopp-Anforderungssignal eingeben. Wenn ein Standby-Betrieb
notwendig ist, führt daher durch den Empfang dieses Be
triebsstopp-Anforderungssignals die Bussteuereinheit 30 den
folgenden Betrieb für die mit der Bussteuereinheit 30 ver
bundenen Busse durch. Die Bussteuereinheit 30 sendet ein
Halteanforderungssignal, das eine Halteanforderung des In
struktionsbusses IB repräsentiert, an die CPU 20 als Bus
master, um ein Busrecht zur Nutzung des Instruktionsbusses
IB zu erhalten. Nach der Beendigung des Buszyklus des ausge
führten Instruktionsabrufs führt die CPU 20 ein Quittungs
signal zurück, das eine Busfreigabe des Instruktionsbusses
IB repräsentiert.
Der Datenbus DB wird auch auf ähnliche Weise behandelt.
Die Bussteuereinheit 30 sendet ein Halteanforderungssignal,
das eine Halteanforderung des Datenbusses DB repräsentiert,
an die CPU 20. Dann empfängt die Bussteuereinheit 30 ein
Quittungssignal, das eine Busfreigabe des Datenbusses DB re
präsentiert, von der CPU 20, wodurch sie ein Busrecht zur
Nutzung des Datenbusses DB erhält.
Heim Empfang der Busrechte zur Nutzung des Instruk
tionsbusses IB und des Datenbusses DB aktiviert die Bussteu
ereinheit 30 ein Betriebsstopp-Anzeigesignal, das für jeden
des Instruktionsbusses IB, des Datenbusses DB, des ersten
Princeton-Busses PB1 und des zweiten Princeton-Busses PB2
vorbereitet wurde.
Wenn das in der Bussteuereinheit 30 vorgesehene Be
triebsstopp-Anzeigesignal aktiviert wird, empfangen die mit
dem Instruktionsbus IB, dem Datenbus DB, dem ersten
Princeton-Bus PB1 und dem zweiten Princeton-Bus PB2 verbun
denen Module ein Betriebsstopp-Anzeigesignal, und unterbre
chen die Eingabe eines diesen Modulen zugeführten Takt
signals, wodurch ihr Betrieb gehalten wird. So wird ein
Standby-Zustand des Mikroprozessors ohne die Speicheropera
tion der CPU 20 erhalten, und der Standby-Betrieb kann zur
Zeit der Bestätigung eines Testbetriebs leicht erhalten
werden.
Zum besseren Verständnis des Mikroprozessors gemäß der
vorliegenden Erfindung, der auf der Basis des oben beschrie
benen Prinzips arbeitet, werden nun detaillierte Ausfüh
rungsformen erläutert.
Fig. 3 ist ein Blockbild, das eine schematische Konfigu
ration eines Mikroprozessors in bezug auf eine erste Ausfüh
rungsform der vorliegenden Erfindung zeigt. Teile, die iden
tisch sind mit jenen in Fig. 2, sind mit denselben Bezugs
zahlen versehen, und ihre Erläuterung entfällt. Wie in Fig. 3
gezeigt, ist eine Bussteuereinheit 31 eine Anordnung zum
Durchführen einer Bussteuerung des Instruktionsbusses IB,
des Datenbusses DB, des ersten Princeton-Busses PB1 und des
zweiten Princeton-Busses PB2, in einer Weise ähnlich der
Bussteuereinheit 30 in Fig. 2.
Der Instruktionsbus IB besteht aus einem Adressenbus
IBA, durch den eine Adresse eines Busmasters, der eine In
struktion abruft, transferiert wird, und einem Datenbus IBD,
durch den einen Instruktionscode repräsentierende Daten
transferiert werden. Ähnlich besteht der Datenbus DB aus
einem Adressenbus DBA, durch den eine Adresse eines Zu
griffsziels zum Lesen/Schreiben von Daten transferiert wird,
und einem Datenbus DBD, durch den zu lesende/schreibende
Daten transferiert werden. Ähnlich besteht der erste
Princeton-Bus PB1 aus einem Adressenbus PBA1 und einem
Datenbus PBD1, und der zweite Princeton-Bus PB2 besteht aus
einem Adressenbus PBA2 und einem Datenbus PBD2.
Die Bussteuereinheit 31 enthält eine Instruktions
schnittstelle 82, die eine Verbindungsschnittstelle des In
struktionsbusses IB wird, eine Datenbusschnittstelle 83, die
eine Verbindungsschnittstelle des Datenbusses DB wird, eine
erste Princeton-Busschnittstelle 84, die eine Verbindungs
schnittstelle des ersten Princeton-Busses PB1 wird, eine
zweite Princeton-Busschnittstelle 85, die eine Verbindungs
schnittstelle des zweiten Princeton-Busses PB2 wird, und
eine Buszuteilungsschaltung 81, die mit diesen Busschnitt
stellen verbunden ist, um eine Buszuteilung durchzuführen.
Als nächstes werden die Konfiguration und der Betrieb
der Instruktionsschnittstelle 82 erläutert. Fig. 4 ist ein
Blockbild, das eine schematische Konfiguration der Instruk
tionsschnittstelle 82 zeigt. Wie in Fig. 4 gezeigt, enthält
die Instruktionsschnittstelle 82 einen Datenpuffer 82a zum
temporären Speichern von Daten auf dem Datenbus IBD, einen
Adressenpuffer 82b zum temporären Speichern einer Adresse
auf dem Adressenbus IBA, einen Adressendecoder 82c zum De
codieren einer im Adressenpuffer 82b gespeicherter Adresse,
um einen Bus und einen Modul zu spezifizieren, auf den zu
zugreifen ist, eine Ablaufsteuereinheit 82d zum Eingeben von
Steuersignalen, wie einem Busnutzungsanforderungssignal,
einem Lese/Schreibsignal, etc., von jedem Modul und zum
Setzen eines Busnutzungszustands, in diesem Fall eines Zu
stands des Instruktionsbusses IB, und eine WAIT-Generator
schaltung 82e zum Ausgeben eines WAIT-Signals an den diesen
Bus benützenden Modul gemäß einem von der Ablaufsteuerein
heit 82d angezeigten Buszustand.
Als nächstes wird die Ablaufsteuereinheit 82d erläu
tert. Wenn eine nicht so kompliziert auszuführende Steuerung
von einem Mikrocomputer durchgeführt wird, oder wenn eine
Hochgeschwindigkeitssteuerung erforderlich ist, wird im all
gemeinen eine Schaltungskonfiguration zum Durchführen ver
schiedener Steuerungen durch die Kombination eines Gatters
und einer Verriegelung verwendet.
Diese Schaltung kann beispielsweise in Kombination mit
dem Mikrocomputer in einer derartigen Weise verwendet
werden, daß die CPU des Mikrocomputers die gesamte Verarbei
tung des Systems durchführt, und dieses Schaltung einen Teil
der Steuerungen durchführt. Andererseits verschiebt sich im
Steuersystem der Zustand sequentiell gemäß dem Fortschreiten
der Steuerung. Auch wenn dasselbe Signal eingegeben wurde,
ist der Inhalt der Steuerung in Abhängigkeit vom Zustand
verschieden. Das System, bei dem sich der Zustand sequen
tiell gemäß dem Fortschreiten der Steuerung ändert, wird
Zustandsverschiebungssystem genannt, welches durch die Kom
bination des Gatters und der Verriegelung strukturiert ist.
Die Steuerschaltung für den sich ändernden Zustand wird Ab
laufsteuereinheit genannt.
Gemäß den oben beschriebenen Steuersignalen und dem
Speicherzustand im Datenpuffer 82a und im Adressenpuffer 82b
generiert die Ablaufsteuereinheit 82d ein Zustandssignal,
das einen Zustand eines Buszugriffs repräsentiert, in dem
sich ein Bus, in diesem Fall der Instruktionsbus IB, aktuell
befindet. Das heißt, der Bus ist in irgendeinem von einem
Nicht-Zugriffszustand, einem Lesezustand, einem kontinuier
lichen Lesezustand, einem Schreibzustand, etc. Dann gibt die
Ablaufsteuereinheit 82d ein Adressen/Datenzustandssignal zum
Ausführen einer Busauswahl auf der Basis des obigen Zu
stands, ein Adressenanforderungssignal, das vom Adressende
coder 82c ausgegeben wird, und ein Steuersignal von dem
Modul, an den eine Zugriffsanforderung gestellt wurde, aus.
Die WAIT-Generatorschaltung 82e ist eine Schaltung zum
Erhalten eines Buszustands, der von der Ablaufsteuereinheit
82d generiert wird, und zum Senden eines WAIT-Signals, um
eine Warteanzeige für den Modul, der ein Busnutzungsanforde
rungssignal zur Nutzung dieses Busses generiert hat,
anzuzeigen, wenn der Bus belegt ist.
Im Datenpuffer 82a gespeicherte Daten, eine vom Adres
sendecoder 82c generierte physische Adresse und ein Buszu
standssignal, das einen von der Ablaufsteuereinheit 82d ge
setzten Buszustand repräsentiert, werden in die Buszutei
lungsschaltung 81 eingegeben.
Die Ablaufsteuereinheit 82d kann sich in zwei exklu
siven Ablaufsteuereinheiten befinden, einer zur ausschließ
lichen Verwendung für Daten und einer zur ausschließlichen
Verwendung für Adressen, und sie können individuell Zustände
setzen. Mit dieser Anordnung kann die Buszuteilungsschaltung
81 eine optimale Buszuteilung in einem Buszyklus durchfüh
ren, wobei sie sich auf einen Nutzungszustand zwischen dem
Datenbus IBD und dem Adressenbus IBA konzentriert.
Beispielsweise wird unmittelbar, nachdem eine Adresse
auf dem Adressenbus im Modul, auf den zugegriffen wird, ver
riegelt wurde, der Adressenbus vor der Freigabe des Daten
busses freigegeben, so daß dieser Adressenbus von einem
anderen Modul verwendet werden kann, um dadurch die
Nutzungseffizienz der Busses insgesamt zu erhöhen.
Andere Busschnittstellen, wie die Datenbusschnittstelle
83, die erste Princeton-Busschnittstelle 84 und die zweite
Princeton-Busschnittstelle 85, haben auch Strukturen, die
einen Datenpuffer, einen Adressenpuffer, einen Adressende
coder, eine Ablaufsteuereinheit bzw. eine WAIT-Generator
schaltung auf eine Weise ähnlich der oben beschriebenen In
struktionsschnittstelle 82 enthalten. Die Erläuterung dieser
Schnittstellen entfällt.
Es wird angenommen, daß die Datenbusschnittstelle 83
durch einen Datenpuffer 83a, einen Adressenpuffer 83b, einen
Adressendecoder 83c, eine Ablaufsteuereinheit 83d und eine
WAIT-Generatorschaltung 83e strukturiert ist. Ähnlich wird
angenommen, daß die erste Princeton-Busschnittstelle 84 und
die zweite Princeton-Busschnittstelle 85 auch durch einen
Datenpuffer 84a, einen Adressenpuffer 84b, einen Adressen
decoder 84c, eine Ablaufsteuereinheit 84d und eine WAIT-
Generatorschaltung 84e bzw. einen Datenpuffer 85a, einen
Adressenpuffer 85b, einen Adressendecoder 85c, eine Ablauf
steuereinheit 85d und eine WAIT-Generatorschaltung 85e
strukturiert sind.
Demgemäß hat die Bussteuereinheit 31 individuelle Da
tenpuffer 82a bis 85a und Adressenpuffer 82b bis 85b für den
Instruktionsbus IB, den Datenbus DB, den ersten Princeton-
Bus PB1 und den zweiten Princeton-Bus PB2, und kann Daten
und Adressen in diesen Puffern halten. Wenn ein Modul, auf
den zugegriffen wird, belegt ist, ist es daher nicht not
wendig, Daten und eine Adresse erneut zu senden. Unmittelbar
nachdem der belegte Zustand des Moduls, auf den zugegriffen
wird, freigegeben wird, ist es möglich, die Daten und die
Adresse von den Datenpuffern 82a bis 85a und den Adressen
puffern 82b bis 85b zu transferieren. Folglich kann der
Durchsatz des Busmasters und des Moduls, auf den zugegriffen
wird, verbessert werden.
Da die Busse jeweils ihre eigenen Adressendecoder 82c
bis 85c aufweisen, und jede Busschnittstellensektion ihr
eigenes Adressenanforderungssignal ausgeben kann, kann
ferner die Bussteuereinheit 31 die Belastung verteilen, die
durch die Decodierverarbeitung zum Spezifizieren eines
Busses, auf den zuzugreifen ist, entsteht. Zusätzlich kann
die Busnutzungseffizienz verbessert werden.
Da die Busse jeweils ihre eigenen Ablaufsteuereinheiten
82d bis 85d aufweisen, ist es außerdem möglich, einen
eigenen Busnutzungszustand für jeden Bus zu setzen, und eine
individuelle Busverbindungsanforderung kann an die nachste
hend zu beschreibende Buszuteilungsschaltung 81 gestellt
werden. Daher kann die Belastung verringert werden, und die
Ausbildung kann vereinfacht werden, verglichen mit dem Fall,
wo eine Ablaufsteuereinheit in der Buszuteilungsschaltung 81
zur Verwaltung aller Busnutzungszustände vorgesehen ist.
Da die Busse ihre eigenen WAIT-Generatorschaltungen
(82e bis 85e) aufweisen, ist es darüber hinaus möglich, ein
eigenes WAIT-Signal für jeden Bus zu generieren, und eine .
individuelle Warteanzeige kann für einen Modul generiert
werden, der eine Anforderung zur Nutzung des Busses gene
riert hat. Daher kann die Belastung verringert werden, und
die Ausbildung kann vereinfacht werden, verglichen mit dem
Fall, wo eine WAIT-Generatorschaltung in der Buszuteilungs
schaltung 81 zum Generieren von WAIT-Signalen gemäß den je
weiligen Nutzungszuständen aller Busse vorgesehen ist.
Als nächstes werden die Konfiguration und der Betrieb
der Buszuteilungsschaltung 81 erläutert, indem ein Fall als
Beispiel herangezogen wird, wo die CPU 20 ein Busrecht zur
Nutzung des Instruktionsbusses IB und des ersten Princeton-
Busses PB1 erhält und einen Instruktionsabruf aus dem Pro
gramm-ROM 51 durchführt. Fig. 5 ist ein Blockbild, das eine
schematische Konfiguration der Buszuteilungsschaltung 81
zeigt.
Wie in Fig. 5 gezeigt, enthält die Buszuteilungsschal
tung 81 einen Adressenbus-Schaltmodul 81a zum Spezifizieren
eines Busses, in diesem Fall des ersten Princeton-Busses
PB1, auf den auf der Basis eines Adressenzustandssignals
zuzugreifen ist, das von einer Busschnittstelle, in diesem
Fall der Instruktionsschnittstelle 82, eingegeben wird, und
zum Senden des Adresseneingangs von der Busschnittstelle zu
einem Adressenbus, in diesem Fall dem Adressenbus PBA1, und
einen Datenbus-Schaltmodul 81b zum Spezifizieren eines
Busses, in diesem Fall des ersten Princeton-Busses PB1, auf
den auf der Basis eines Datenzustandssignals zuzugreifen
ist, das von einer Busschnittstelle, in diesem Fall der In
struktionsschnittstelle 82, eingegeben wird, und zum Senden
des Adresseneingangs von der Busschnittstelle zu einem
Adressenbus, in diesem Fall dem Adressenbus PBD1.
Die aus der Buszuteilungsschaltung 81 ausgegebenen
Adressen und Daten werden zum entsprechenden Adressenbus und
Datenbus tatsächlich durch die Busschnittstelle, in diesem
Fall die erste Princeton-Busschnittstelle 84, transferiert.
Als nächstes wird mit Bezugnahme auf die oben erläuter
ten Fig. 3 bis 5 nachstehend der Betriebsfluß des Mikropro
zessors 11 erläutert, bis die CPU 20 einen Instruktionscode
vom Programm-ROM 51 durch einen Instruktionsabruf erhält. Es
wird angenommen, daß kein Cache-Treffer im Instruktionsspei
cher 41 erhalten wurde.
Zuerst sendet die CPU 20 ein Busnutzungsanforderungs
signal zur Nutzung des Instruktionsbusses IB und des ersten
Princeton-Busses PB1 jeweils an die Bussteuereinheit 31
durch den nicht dargestellten Steuerbus. Da nur der Modul
für einen Instruktionszugriff durch die CPU 20 mit dem
ersten Princeton-Bus PB1 verbunden ist, kann ein Busrecht
des ersten Princeton-Busses PB1 unmittelbar unter der Bedin
gung erhalten werden, daß ein anderer Busmaster als die CPU
20 nicht mit dem ersten Princeton-Bus PB1 verbunden ist.
Beim Erhalten eines Busrechts zur Nutzung des ersten
Princeton-Busses PB1 sendet die CPU 20 eine Adresse, die vom
Programmzähler der CPU 20 angezeigt wird, zum Adressenbus
IBA des Instruktionsbusses IB. Die Instruktionsschnittstelle
82 hält diese Adresse im Adressenpuffer 82b, und sendet
diese Adresse gleichzeitig an den Adressendecoder 82c. Der
Adressendecoder 82c decodiert die durch den Adressenpuffer
82b gesendete Adresse und gibt ein Adressenanforderungs
signal aus.
Dann gibt die Ablaufsteuereinheit 82d ein Lesesignal
aus der CPU 20 als Steuersignal zusammen mit dem vom
Adressendecoder 82c ausgegebenen Adressenanforderungssignal
ein, um anzuzeigen, daß sich der Zustand des Instruktions
busses vom Nicht-Zugriffszustand zum Lesezustand geändert
hat. Gleichzeitig gibt die Ablaufsteuereinheit 82d ein
Adressen/Datenzustandssignal aus, um einen Busidentifika
tionscode des ersten Princeton-Busses PB1 anzuzeigen, auf
den zuzugreifen ist.
Da in diesem Fall der Instruktionsbus IB von der CPU 20
besetzt ist, erhält die WAIT-Generatorschaltung 82e den von
der Ablaufsteuereinheit 82d gesetzten Lesezustand, um
dadurch das WAIT-Signal zu aktivieren. Die anderen Module
werden durch dieses WAIT-Signal im aktiven Zustand auf das
Vornehmen eines Zugriffs auf den Instruktionsbus IB warten
gelassen.
Die Daten, die Adresse und das Adressen/Datenzustands
signal, die aus der Instruktionsschnittstelle 82 ausgegeben
werden, werden in die Buszuteilungsschaltung 81 eingegeben.
In der Buszuteilungsschaltung 81 wird zuerst der Adressen
busschalter für den ersten Princeton-Bus PB1 auf der Basis
des Eingangs des Adressenzustandssignals im Adressenbus-
Schaltmodul 81a ausgewählt, und die Eingangsadresse wird an
den Adressenbus PBA1 des ersten Princeton-Busses PB1 ausge
geben.
Ähnlich wird im Datenbus-Schaltmodul 81b ein Datenbus
schalter für den ersten Princeton-Bus PB1 auf der Basis des
Eingangs des Datenzustandssignals ausgewählt, so daß der
Datenbus IBD des Instruktionsbusses und der Datenbus PBD1
des ersten Princeton-Busses PB1 miteinander verbunden
werden.
In der Realität wird die aus der Buszuteilungsschaltung
81 ausgegebene Adresse an den Adressenbus PBA1 des ersten
Princeton-Busses PB1 durch die erste Princeton-Busschnitt
stelle 84 ausgegeben. Ähnlich werden der Datenbus IBD des
Instruktionsbusses und der Datenbus PBD1 des ersten
Princeton-Busses durch die erste Princeton-Busschnittstelle
84 miteinander verbunden.
Die Ablaufsteuereinheit 84d der ersten Princeton-Bus
schnittstelle 84 läßt den ersten Princeton-Bus PB1 in der
Buszuteilungsschaltung 81 spezifizieren, gibt ein Lesesignal
von der CPU 20 als Steuersignal ein, und zeigt an, daß sich
der Zustand des ersten Princeton-Busses PB1 vom Nicht-Zu
griffszustand zum Lesezustand geändert hat.
Da in diesem Fall der erste Princeton-Bus PB1 von der
CPU 20 besetzt ist, erhält die WAIT-Generatorschaltung 84e
den von der Ablaufsteuereinheit 84d gesetzten Lesezustand,
um dadurch das WAIT-Signal zu aktivieren. Die anderen Module
werden durch dieses WAIT-Signal im aktiven Zustand auf das
Vornehmen eines Zugriffs auf den ersten Princeton-Bus PB1
warten gelassen.
Andererseits empfängt der Programm-ROM 51 ein Adressen-
Strobe-Signal, das repräsentiert, daß eine effektive Adresse
auf dem Adressenbus PBA1 gesendet wird, durch den nicht dar
gestellten Steuerbus von der Bussteuereinheit 31. So ruft
der Programm-ROM 51 die an den Adressenbus PBA1 des ersten
Princeton-Busses PB1 gesendete Adresse ab, nimmt einen ent
sprechenden Instruktionscode aus dem durch diese Adresse an
gezeigten Speicherbereich heraus, und sendet diesen Instruk
tionscode an den Datenbus PBD1 des ersten Princeton-Busses
PB1.
Dann sendet der Programm-ROM 51 ein Datenquittungssi
gnal, das die Vollendung der Datenübertragung repräsentiert,
an die Bussteuereinheit 31 durch den nicht dargestellten
Steuerbus.
Beim Empfang des Datenquittungssignals sendet die Bus
steuereinheit 31, spezifischer die Buszuteilungsschaltung
81, die an den Datenbus PBD1 des ersten Princeton-Busses PB1
gesendeten Daten an den Datenpuffer 82a der Instruktions
schnittstelle 82.
Wenn in diesem Fall die CPU 20 einen BUSY-Zustand
aufgrund einer anderen Verarbeitung anzeigt, und Daten bei
spielsweise nicht sofort empfangen kann, werden die zu emp
fangenden Daten im Datenpuffer 82a gehalten. Daher kann die
CPU 20 diese Daten durch den Datenbus IBD des Instruktions
busses IB empfangen, unmittelbar nachdem der BUSY-Zustand
aufgehoben wurde.
Danach wird ein Busfreigabesignal zum Freigeben des In
struktionsbusses IB und des ersten Princeton-Busses PB1 zur
Bussteuereinheit 31 gesendet. Gleichzeitig wird das WAIT-Si
gnal in der Instruktionsschnittstelle 82 und der ersten
Princeton-Busschnittstelle 84 in den nicht-aktiven Zustand
gesetzt, und der Verschiebungszustand der Ablaufsteuerein
heit wird in den Nicht-Zugriffszustand zurückgeführt.
Als nächstes wird der Betriebsfluß des Mikroprozessors
11 für den Fall erläutert, wo die CPU 20 Daten in die mit
dem zweiten Princeton-Bus PB2 verbundene SDRAM-I/F 62
schreibt, gleichzeitig mit einem Start der Zugriffsverarbei
tung auf den Programm-ROM 51 durch die CPU 20. Es wird ange
nommen, daß kein Cache-Treffer im Datenspeicher 42 erhalten
wurde.
In diesem Fall sendet die CPU 20 ein Busnutzungsanfor
derungssignal zur Nutzung des Datenbusses DB bzw. des
zweiten Princeton-Busses PB2 zur Bussteuereinheit 31 durch
den nicht dargestellten Steuerbus. Da nur der Modul für
einen Instruktionszugriff durch die CPU 20 mit dem ersten
Princeton-Bus PB1 verbunden ist, kann ein Busrecht des
zweiten Princeton-Busses PB2 unter der Bedingung unmittelbar
erhalten werden, daß ein anderer Busmaster als die CPU 20
nicht mit dem ersten Princeton-Bus PB1 verbunden ist.
Beim Erhalten eines Busrechts zur Nutzung des zweiten
Princeton-Busses PB2 sendet die CPU 20 eine Adresse zum
Speichern der im Instruktionsregister der CPU 20 angezeigten
Daten an den Adressenbus DBA des Datenbusses IB. Die Daten
busschnittstelle 83 hält diese Adresse im Adressenpuffer
ähnlich der Instruktionsschnittstelle 82, und sendet diese
Adresse gleichzeitig an den Adressendecoder 83c. Der Adres
sendecoder 83c decodiert die durch den Adressenpuffer 83b
gesendete Adresse, und gibt ein Adressenanforderungssignal
aus.
Ferner sendet die CPU 20 die im Instruktionsregister
der CPU 20 angezeigten Daten an den Datenbus DBD des Daten
busses DB. Die Datenbusschnittstelle 83 hält die Adresse auf
dem Adressenbus DBA im Adressenpuffer auf eine Weise ähnlich
der Instruktionsschnittstelle 82, und sendet diese Adresse
gleichzeitig an den Adressendecoder 83c. Der Adressendecoder
83c decodiert die durch den Adressenpuffer 83b gesendete
Adresse, und gibt ein Adressenanforderungssignal aus. Die
Daten auf dem Datenbus DBD werden auch auf ähnlich Weise im
Datenpuffer 83a gehalten.
Dann gibt die Ablaufsteuereinheit 83d ein Schreibsignal
von der CPU 20 als Steuersignal zusammen mit dem aus dem
Adressendecoder 83c ausgegebenen Adressenanforderungssignal
ein, um anzuzeigen, daß sich der Zustand des Datenbusses DB
vom Nicht-Zugriffszustand zum Schreibzustand geändert hat.
Gleichzeitig gibt die Ablaufsteuereinheit 83d ein Adressen/
Datenzustandssignal zum Anzeigen eines Busidentifikations
codes des zweiten Princeton-Busses PB2, auf den zuzugreifen
ist, aus.
In diesem Fall ist der Datenbus DB von der CPU 20 be
setzt, die WAIT-Generatorschaltung 83e erhält den von der
Ablaufsteuereinheit 83d gesetzten Schreibzustand, um dadurch
das WAIT-Signal zu aktivieren. Die anderen Module werden
durch dieses WAIT-Signal im aktiven Zustand auf das Vorneh
men eines Zugriffs auf den Datenbus DB warten gelassen.
Die Daten, die Adresse und das Adressen/Datenzustands
signal, die aus der Datenbusschnittstelle 83 ausgegeben
werden, werden in die Buszuteilungsschaltung 81 eingegeben.
In der Buszuteilungsschaltung 81 wird zuerst ein Adressen
busschalter für den zweiten Princeton-Bus PB2 durch den Ein
gang des Adressenzustandssignals im Adressenbus-Schaltmodul
81a ausgewählt, und die Eingangsadresse wird an den Adres
senbus PBA2 des zweiten Princeton-Busses PB2 ausgegeben.
Ähnlich wird im Datenbus-Schaltmodul 81b ein Datenbus
schalter für den zweiten Princeton-Bus PB2 durch den Eingang
des Datenzustandssignals ausgewählt, so daß der Datenbus DBD
des Datenbusses und der Datenbus PBD1 des zweiten Princeton-
Busses PB2 miteinander verbunden werden.
In der Realität wird die aus der Buszuteilungsschaltung
81 ausgegebene Adresse an den Adressenbus PBA2 des zweiten
Princeton-Busses PB2 durch die zweite Princeton-Busschnitt
stelle 85 ausgegeben. Ähnlich werden der Datenbus DBD des
Datenbusses und der Datenbus PBD2 des zweiten Princeton-
Busses PB2 durch die zweite Princeton-Busschnittstelle 85
miteinander verbunden.
Die Ablaufsteuereinheit 85d der zweiten Princeton-Bus
schnittstelle 85 läßt den zweiten Princeton-Bus PB2 in der
Buszuteilungsschaltung 81 spezifizieren, gibt ein Schreibsi
gnal von der CPU 20 als Steuersignal ein, und zeigt an, daß
sich der Zustand des zweiten Princeton-Busses PB2 vom Nicht-
Zugriffszustand zum Schreibzustand geändert hat.
Da in diesem Fall der zweite Princeton-Bus PB2 von der
CPU 20 besetzt ist, erhält die WAIT-Generatorschaltung 85e
den von der Ablaufsteuereinheit 85d gesetzten Schreibzu
stand, um dadurch das WAIT-Signal zu aktivieren. Die anderen
Module werden durch dieses WAIT-Signal im aktiven Zustand
auf das Vornehmen eines Zugriffs auf den zweiten Princeton-
Bus PB2 warten gelassen.
Andererseits empfängt die SDRAM-I/F 62 ein Adressen-
Strobe-Signal, um anzuzeigen, daß eine effektive Adresse auf
dem Adressenbus PBA2 gesendet wird, durch den nicht darge
stellten Steuerbus von der Bussteuereinheit 31. So ruft die
SDRAM-I/F 62 die an den Adressenbus PBA2 des zweiten
Princeton-Busses PB2 gesendete Adresse ab, und speichert die
auf dem Datenbus PDB2 übertragenen Daten in dem durch diese
Adresse angezeigten Speicherbereich.
Dann sendet die SDRAM-I/F 62 ein Datenquittungssignal
zum Anzeigen der Vollendung des Speicherns von Daten an die
Bussteuereinheit 31 durch einen Steuerbus (nicht darge
stellt). So beendet die CPU 20 die Zugriffsverarbeitung auf
die SDRAM I/F 62. Danach wird ein Busfreigabesignal zum
Freigeben des zweiten Princeton-Busses PB2 zur Bussteuerein
heit 31 gesendet. Gleichzeitig wird das WAIT-Signal in der
Datenbusschnittstelle 83 und der zweiten Princeton-
Busschnittstelle 85 auf den nicht-aktiven Zustand gesetzt,
und der Verschiebungszustand der Ablaufsteuereinheit wird
zum Nicht-Zugriffszustand zurückgeführt.
Wie oben erläutert, kann die CPU 20 gleichzeitig den
Instruktionszugriff und den Datenzugriff durchführen, so daß
die Busse mit höherer Effizienz genutzt werden können, indem
die Vorteile der Harvard-Architektur bestmöglich genutzt
werden.
Fig. 6 ist ein Zeitdiagramm zur Erläuterung des gleich
zeitigen Zugriffs des ersten Princeton-Busses PB1 und des
zweiten Princeton-Busses PB2 durch die CPU 20. Wie in Fig. 6
gezeigt, kann die CPU 20 gleichzeitig eine Anforderung zur
Nutzung des Instruktionsbusses IB und eine Anforderung zur
Nutzung des Datenbusses DB in zwei Zyklen C1 und C2 eines
Systemtakts CLK stellen. Die CPU 20 kann auch gleichzeitig
eine Anforderung zur Nutzung des ersten Princeton-Busses PB1
und eine Anforderung zur Nutzung des zweiten Princeton-
Busses PB2 in den nachfolgenden zwei Zyklen C2 und C3
stellen.
Ferner kann die Buszuteilungsschaltung 81 eine Priori
tätsreihenfolge der Busse setzen, die den Instruktionsbus
IB, den Datenbus DB, den ersten Princeton-Bus PB1 und den
zweiten Princeton-Bus PB2 enthalten, wenn Busverbindungsan
forderungen gleichzeitig von jeder Busschnittstelle gestellt
wurden.
Wenn beispielsweise Busverbindungsanforderungen an den
Instruktionsbus IB und den Datenbus DB von der CPU 20 ge
stellt wurden, ist es möglich, den Datenbus DB mit hoher
Priorität zu verbinden. Die Prioritätsreihenfolge von Bus
verbindungen kann nach Bedarf geändert werden, indem eine
derartige Strukturierung vorgenommen wird, daß die Buszutei
lungsschaltung 81 von der CPU 20 ein Prioritätsreihenfolge
signal zum Setzen der Prioritätsreihenfolge empfängt.
Wie oben erläutert, werden gemäß dem Mikroprozessor 11
in bezug auf die erste Ausführungsform der vorliegenden Er
findung die Module des Programm-ROM 51, des Programm-RAM 52
und dgl., in denen Instruktionszugriffe von der CPU 20 kon
zentriert werden, im ersten Princeton-Bus PB1 zusammenge
setzt, und die Module der externen Bus-I/F 61, der SDRAM-I/F
62, der peripheren Bus-I/F 63 und dgl., in denen hauptsäch
lich Datenzugriffe konzentriert werden, werden im zweiten
Princeton-Bus zusammengesetzt.
Folglich ist es möglich, die Vorteile der Konfiguration
unter Verwendung der Harvard-Architektur bestmöglich zu
nutzen, worin die Instruktionszugriffe und die Datenzugriffe
von den individuellen exklusiven Bussen des Instruktions
busses und des Datenbusses durch die Bussteuereinheit 31
durchgeführt werden. So können der Instruktionszugriff und
der Datenzugriff parallel durchgeführt werden, wodurch es
möglich wird, die Busse effizient zu nutzen, und den Durch
satz der CPU 20 wesentlich zu verbessern.
Im Mikroprozessor 11 in bezug auf die erste Ausfüh
rungsform sind die Ablaufsteuereinheiten 82d bis 85d und die
WAIT-Generatorschaltungen 82e bis 85e jeweils in jeder der
Busschnittstellensektionen vorgesehen, welche die Instruk
tionsschnittstelle 82, die Datenbusschnittstelle 83, die
erste Princeton-Busschnittstelle 84 und die zweite
Princeton-Busschnittstelle 85 enthalten. Alternativ dazu
können diese Ablaufsteuereinheiten 82e bis 85d und die WAIT-
Generatorschaltungen 82e bis 85e auch innerhalb der Buszu
teilungsschaltung 81 vorgesehen sein, indem sie entsprechend
jeder Busschnittstelle vorgesehen werden.
Fig. 7 ist ein Blockbild, das eine schematische Konfigu
ration einer Instruktionsschnittstelle 82' als weiteres Bei
spiel der Instruktionsschnittstelle zur Erläuterung dieses
alternativen Falls zeigt. Fig. 8 ist ein Blockbild, das eine
schematische Konfiguration einer Buszuteilungsschaltung 81'
als weiteres Beispiel der Buszuteilungsschaltung zur Erläu
terung dieses alternativen Falls zeigt.
Wie in Fig. 7 gezeigt, enthält die Instruktionsschnitt
stelle 82' einen Datenpuffer 82'a, einen Adressenpuffer 82'b
und einen Adressendecoder 82'c. Diese Puffer haben dieselben
Funktionen wie die Funktionen des in Fig. 4 gezeigten Daten
puffers 82a, Adressenpuffers 82b und Adressendecoders 82c,
und daher entfällt eine Erläuterung dieser Puffer. Andere
Busschnittstellen, die eine Datenbusschnittstelle, einen
ersten Princeton-Hus und einen zweiten Princeton-Bus enthal
ten, haben auch dieselben Strukturen wie die Instruktions
schnittstelle 82'.
Andererseits enthält, wie in Fig. 8 gezeigt, die Buszu
teilungsschaltung 81' einen Adressenbus-Schaltmodul 81'a und
einen Datenbus-Schaltmodul 81'b, die dem in Fig. 5 gezeigten
Adressenbus-Schaltmodul 81a bzw. Datenbus-Schaltmodul 81b
entsprechen. Zusätzlich zu obigem enthält die Buszuteilungs
schaltung 81' auch eine Adressen-WAIT-Generatorschaltung
81'c, eine Adressen-Ablaufsteuereinheit 81'd, eine Daten-Ab
laufsteuereinheit 81'e und eine Daten-WAIT-Generatorschal
tung 81'f.
Die Adressen-Ablaufsteuereinheit 81'd und die Daten-Ab
laufsteuereinheit 81'e haben dieselben Funktionen wie die
Funktionen der in Fig. 4 gezeigten Ablaufsteuereinheit 82d.
Die Adressen-WAIT-Generatorschaltung 81'c und die Daten-
WAIT-Generatorschaltung 81'f haben auch dieselben Funktionen
wie die Funktionen der in Fig. 4 gezeigten WAIT-Generator
schaltung 82e. Daher entfällt die Erläuterung dieser Ablauf
steuereinheiten und Schaltungen.
Als nächstes wird ein Mikroprozessor in bezug auf die
zweite Ausführungsform erläutert. Die zweite Ausführungsform
unterscheidet sich von der ersten Ausführungsform dadurch,
daß die Bussteuereinheit 31 eine DMA-Schnittstelle 86 auf
weist, die mit der Buszuteilungsschaltung 81 verbunden ist,
und daß der DMA-Controller 53 direkt mit der Bussteuerein
heit verbunden ist. Fig. 9 ist ein Blockbild, das eine sche
matische Konfiguration des Mikroprozessors in bezug auf die
zweite Ausführungsform zeigt. Teile, die mit jenen in Fig. 2
identisch sind, sind mit identischen Bezugszahlen versehen,
und ihre Erläuterung entfällt.
In Fig. 9 hat ein Mikroprozessor 12 die DMA-Schnitt
stelle 86 in einer Bussteuereinheit 32, so daß ein DMA-Con
troller 53 als repräsentativer anderer Busmaster als die CPU
20 direkt mit der Bussteuereinheit 32 verbunden werden kann,
ohne durch einen Bus zu gehen.
Mit dieser Anordnung entsteht im Gegensatz zum herkömm
lichen Mikroprozessor 100 kein derartiges Problem, daß es
eine längere Zeit dauert, um ein Busrecht zur Nutzung des
eigenen DMA-Controllers zu erhalten, gemäß dem Betrieb eines
anderen Moduls, der mit demselben Bus verbunden ist, mit dem
der DMA-Controller zu verbinden ist. Daher ist es möglich,
einen prompten Zugriff auf die Buszuteilungsschaltung 81
vorzunehmen, um ein Busrecht zur Nutzung eines Busses zu er
halten, mit dem ein Modul, der zugreift, bzw. ein Modul, auf
den zugegriffen wird, in einem DMA-Transfer verbunden sind.
Die DMA-Schnittstelle 86 hat einen Datenpuffer und
einen Adressenpuffer, ähnlich den Busschnittstellen der Bus
steuereinheit 32, welche die Instruktionsschnittstelle 82,
die Datenbusschnittstelle 83, die erste Princeton-Bus
schnittstelle 84 und die zweite Princeton-Busschnittstelle
85 enthalten.
Mit dieser Anordnung können die herkömmlich innerhalb
des DMA-Controllers vorgesehenen Puffer in der Bussteuerein
heit 32 zusammengesetzt werden, und der Betrieb der DMA-
Schnittstelle 86 sowie der Betrieb der oben beschriebenen
Busschnittstelle können von der Buszuteilungsschaltung 81
gesteuert werden. Daher kann die Struktur des DMA-Control
lers 53 einfach ausgebildet werden. Die Ausbildung der Bus
steuereinheit 32 kann auch effektiv genutzt werden.
So ist gemäß dem Mikroprozessor 12 in bezug auf die
zweite Ausführungsform der DMA-Controller 53 als Busmaster
direkt mit der Bussteuereinheit 32 verbunden und wird von
der Buszuteilungsschaltung 81 verwaltet. Daher kann im Ver
gleich zum herkömmlichen Verbindungsverfahren des DMA-Con
trollers die auf die Busse ausgeübte Belastung verringert
werden, und ein Busrecht für einen DMA-Transfer kann auch
prompt erhalten werden. Ferner kann eine effiziente Bus
steuerung in der Bussteuereinheit 32 erzielt werden.
Außerdem wird zusammen mit der Leistung der Verrin
gerung der auf die Busse ausgeübten Belastung die parallele
Verarbeitung des Instruktionszugriffs und des Datenzugriffs
effektiver, die der Vorteil der Struktur der Harvard-Archi
tektur ist. Durch das Einführen des DMA-Controllers wird es
auch möglich, den Durchsatz der CPU 20 wesentlich zu ver
bessern.
Als nächstes wird ein Mikroprozessor in bezug auf eine
dritte Ausführungsform der vorliegenden Erfindung erläutert.
Die dritte Ausführungsform unterscheidet sich von der ersten
und zweiten Ausführungsform dadurch, daß ein externer An
schluß in der Bussteuereinheit 31 vorgesehen ist, um eine
Bussteuereinheit 33 zu erhalten. Wenn ein Standby-Betriebs
anforderungssignal in diesen externen Anschluß eingegeben
wird, erteilt gemäß dieser Bussteuereinheit 33 die Buszutei
lungsschaltung 81 eine Bushalteanforderung an jede Bus
schnittstelle. In einem Zustand, wo ein Busrecht jedes
Busses erhalten wird, kann die Buszuteilungsschaltung 81 ein
Betriebsstopp-Anforderungssignal an mit den Bussen verbun
dene Module senden.
Fig. 10 ist ein Blockbild, das eine schematische Konfi
guration des Mikroprozessors in bezug auf die dritte Ausfüh
rungsform der vorliegenden Erfindung zeigt. Teile, die mit
jenen in Fig. 2 identisch sind, sind mit identischen Bezugs
zahlen versehen, und die Erläuterung dieser Teile entfällt.
Die Beschreibung von mit den Bussen verbundenen Modulen wird
weggelassen, und es ist nur die Bussteuereinheit 33 gezeigt.
Wie in Fig. 10 gezeigt, ist ein externer Anschluß 90 mit
der Buszuteilungsschaltung 81 der Bussteuereinheit 33 ver
bunden. Wenn beispielsweise gewünscht wird, den Standby-
Betrieb des Mikroprozessors zu bestätigen, gibt dieser
externe Anschluß 90 ein Standby-Betriebsanforderungssignal
ein. Wenn ein Standby-Betriebsanforderungssignal vom
externen Anschluß 90 eingegeben wurde, sendet die Buszutei
lungsschaltung 81 ein Bushalteanforderungssignal an die Bus
schnittstellen, welche die Instruktionsschnittstelle 82, die
Datenbusschnittstelle 83, die erste Princeton-Busschnitt
stelle 84 und die zweite Princeton-Busschnittstelle 85 ent
halten.
Spezifischer sendet jede Busschnittstelle ein Bus
nutzungsanforderungssignal an einen Modul, der ein Busrecht
zur Nutzung eines Busses hat. Wenn der Modul, der dieses
Busnutzungsanforderungssignal empfangen hat, einen Buszyklus
beendet hat, sendet der Modul ein Busfreigabesignal an die
Busschnittstelle, so daß die Busschnittstelle, die dieses
Freigabesignal empfangen hat, das Busrecht erhält.
Wenn die Bussteuereinheit 30 Busrechte zur Nutzung des
Instruktionsbusses IB, des Datenbusses DB, des ersten
Princeton-Busses PB1 und des zweiten Princeton-Busses PB2
erhalten hat, aktiviert die Bussteuereinheit 30 ein Be
triebsstopp-Anzeigesignal, das für jeden des Instruktions
busses IB, des Datenbusses DB, des ersten Princeton-Busses
PB1 bzw. des zweiten Princeton-Busses PB2 vorbereitet wurde.
Wenn dieses Betriebsstopp-Anzeigesignal aktiviert wird,
wird das Betriebsstopp-Anforderungssignal zu jedem Modul ge
sendet. Beim Empfang dieses Betriebsstopp-Anforderungssi
gnals unterbricht jeder Modul eine Eingabe eines Takt
signals, das dem Modul zugeführt wird, um die Operation zu
halten. So wird ein Standby-Zustand des Mikroprozessors er
halten, ohne eine Speicheroperation der CPU 20 zu involvie
ren, und ein Standby-Betrieb kann zur Zeit der Bestätigung
eines Testbetriebs leicht gestartet werden.
Ferner ist es auch möglich, anstelle des externen An
schlusses 90 eine Standby-Register 91 vorzusehen, in das
eine Flagge geschrieben wird, die eine Standby-Betriebsan
forderung durch einen Eingang eines einen Testmodus anzei
genden Signals anzeigt. Fig. 11 ist ein Blockbild, das eine
schematische Konfiguration einer Bussteuereinheit eines
weiteren Beispiels zeigt, um diesen alternativen Fall zu
veranschaulichen. Wie in Fig. 11 gezeigt, hat die Bussteuer
einheit denselben Betrieb, außer daß der externe Anschluß 90
in Fig. 10 durch das Standby-Register 91 ersetzt wurde.
So ist es gemäß dem Mikroprozessor in bezug auf die
dritte Ausführungsform möglich, in die Bussteuereinheit 33
ein Standby-Betriebsanforderungssignal einzugeben, um bei
spielsweise einen Standby-Betrieb in einem Testmodus zu
aktivieren, dann ein Busrecht zur Nutzung jedes des Instruk
tionsbusses IB, des Datenbusses DB, des ersten Princeton-
Busses PB1 und des zweiten Princeton-Busses PB2 zu erhalten,
und danach die Zuführung eines Taktsignals zu jedem Modul zu
halten. Daher ist es im Gegensatz zur herkömmlichen Praxis
leicht möglich, den Mikroprozessor in einen Standby-Betrieb
zu versetzen, ohne die Notwendigkeit zu involvieren, daß die
CPU 20 eine Speicheroperation zur Zeit eines Testbetriebs
durchführt.
Die in Fig. 10 und Fig. 11 gezeigte Bussteuereinheit 33
kann so konfiguriert sein, daß der DMA-Controller direkt mit
der Bussteuereinheit verbunden ist, in einer Weise ähnlich
der in der zweiten Ausführungsform erläuterten Bussteuerein
heit 32.
Ferner können in der ersten bis dritten Ausführungsform
als Module, die mit dem Instruktionsbus IB, dem Speicherbus
DB, dem ersten Princeton-Bus PB1 bzw. dem zweiten Princeton-
Bus PB2 verbunden sind, andere Busmaster als der DMA-Con
troller angeschlossen sein, um unabhängig eine Busnutzungs
anforderung an die Bussteuereinheiten 30 bis 33 zu stellen.
Außerdem wird in der ersten bis dritten Ausführungsform
angegeben, daß der Instruktionsspeicher 41 und der Daten
speicher 42 als Cache-Speicher funktionieren, diese Speicher
können jedoch keine Cache-Speicher sein, sondern als gewöhn
liche Speicher wie ein SDRAM verwendet werden, der mit dem
Programm-RAM 52 und der SDRAM-I/F 62 verbunden ist. Bei
spielsweise ist es möglich, den Instruktionsspeicher 41 als
Cache-Speicher zu verwenden, und den Datenspeicher 42 als
gewöhnlichen Speicher zu verwenden.
Ferner kann die vorliegende Erfindung in den in Fig. 12A
bis 12O gezeigten Fällen verwendet werden. Beispielsweise
kann, wie in Fig. 12A gezeigt, der Instruktionsspeicher 131,
der mit dem Instruktionsbus IB verbunden ist, auf den ersten
Princeton-Bus PB1 zugreifen, und der Datenspeicher 132, der
mit dem Datenbus DB verbunden ist, kann auf den zweiten
Princeton-Bus PB2 Seite-an-Seite zugreifen. Ähnlich kann,
wie in Fig. 12B gezeigt, der Instruktionsspeicher 131, der
mit dem Instruktionsbus IB verbunden ist, auf den zweiten
Princeton-Bus PB2 zugreifen, und der Datenspeicher 132, der
mit dem Datenbus DB verbunden ist, kann auf den ersten
Princeton-Bus PB1 zugreifen. Ähnlich kann, wie in Fig. 12C
gezeigt, der Instruktionsspeicher 131, der mit dem Instruk
tionsbus IB verbunden ist, auf den Datenspeicher 132 zu
greifen, der mit dem Datenbus DB verbunden ist, und der
erste Princeton-Bus PB1 kann auf den zweiten Princeton-Bus
PB2 zugreifen. Ähnlich kann, wie in Fig. 12D gezeigt, der In
struktionsspeicher 131, der mit dem Instruktionsbus IB ver
bunden ist, auf den ersten Princeton-Bus PB1 zugreifen, und
der DMA-Controller 53 kann auf den zweiten Princeton-Bus PB2
zugreifen. Ähnlich kann, wie in Fig. 12E gezeigt, der Daten
speicher 132, der mit dem Datenbus DB verbunden ist, auf den
ersten Princeton-Bus PB1 zugreifen, und der DMA-Controller
53 kann auf den zweiten Princeton-Bus PB2 zugreifen. Ähnlich
kann, wie in Fig. 12F gezeigt, der Instruktionsspeicher 131,
der mit dem Instruktionsbus IB verbunden ist, auf den Daten
speicher 132 zugreifen, der mit dem Datenbus DB verbunden
ist, und der DMA-Controller 53 kann auf den zweiten
Princeton-Bus PB2 zugreifen. Ähnlich kann, wie in Fig. 12 G
gezeigt, der Datenspeicher 132, der mit dem Datenbus DB ver
bunden ist, auf den zweiten Princeton-Bus PB2 zugreifen, und
der DMA-Controller 53 kann auf den ersten Princeton-Bus PB1
zugreifen.
Darüber hinaus kann, wie in Fig. 12H gezeigt, der In
struktionsspeicher 131, der mit dem Instruktionsbus IB ver
bunden ist, auf den zweiten Princeton-Bus PB2 zugreifen, und
der DMA-Controller 53 kann auf den ersten Princeton-Bus PB1
zugreifen. Ähnlich kann, wie in Fig. 12I gezeigt, der In
struktionsspeicher 131, der mit dem Instruktionsbus IB ver
bunden ist, auf den Datenspeicher 132 zugreifen, der mit dem
Datenbus DB verbunden ist, und der DMA-Controller 53 kann
auf den ersten Princeton-Bus PB1 zugreifen. Ähnlich kann,
wie in Fig. 12J gezeigt, der Instruktionsspeicher 131, der
mit dem Instruktionsbus IB verbunden ist, auf den ersten
Princeton-Bus PB1 zugreifen, und der DMA-Controller 53 kann
auf den Datenspeicher 132 zugreifen, der mit dem Datenbus DB
verbunden ist. Ähnlich kann, wie in Fig. 12K gezeigt, der In
struktionsspeicher 131, der mit dem Instruktionsbus IB ver
bunden ist, auf den zweiten Princeton-Bus PB2 zugreifen, und
der DMA-Controller 53 kann auf den Datenspeicher 132 zugrei
fen, der mit dem Datenbus DB verbunden ist. Ähnlich kann,
wie in Fig. 12L gezeigt, der erste Princeton-Bus PB1 auf den
zweiten Princeton-Bus PB2 zugreifen, und der DMA-Controller
53 kann auf den Datenspeicher 132 zugreifen, der mit dem
Datenbus DB verbunden ist. Ähnlich kann, wie in Fig. 12M ge
zeigt, der Instruktionsspeicher 131, der mit dem Instruk
tionsbus IB verbunden ist, auf den DMA-Controller 53 zugrei
fen, und der Datenspeicher 132, der mit dem Datenbus DB ver
bunden ist, kann auf den zweiten Princeton-Bus PB2 zugrei
fen. Ähnlich kann, wie in Fig. 12N gezeigt, der Instruktions
speicher 131, der mit dem Instruktionsbus IB verbunden ist,
auf den DMA-Controller 53 zugreifen, und der Datenspeicher
132, der mit dem Datenbus DB verbunden ist, kann auf den
ersten Princeton-Bus PB1 zugreifen. Ähnlich kann, wie in
Fig. 12O gezeigt, der Instruktionsspeicher 131, der mit dem
Instruktionsbus IB verbunden ist, auf den DMA-Controller 53
zugreifen, und der erste Princeton-Bus PB1 kann auf den
zweiten Princeton-Bus PB2 zugreifen.
Durch den Zugriff auf die Busse in dieser Weise ohne
jegliche Art einer Einschränkung können die Busse effizient
genutzt werden, und der Durchsatz der Instruktionsausfüh
rungssektion kann stark verbessert werden.
Wie oben erläutert, im Gegensatz zum herkömmlichen
Mikroprozessor, bei dem die CPU Daten aus der externen Bus-
I/F oder dgl. abrufen muß, die mit demselben Princeton-Bus
verbunden ist, nachdem sie auf die Vollendung eines Instruk
tionsabrufs vom Programm-ROM durch den Instruktionsbus ge
wartet hat, hat der Mikroprozessor der vorliegenden Erfin
dung die folgenden Charakteristiken. Die Module des Pro
gramm-ROM, des Programm-RAM und dgl., in denen Instruktions
zugriffe von der CPU konzentriert werden, werden im ersten
Princeton-Bus zusammengesetzt, und die Module der externen
Bus-I/F, der SDRAM-I/F, der peripheren Bus-I/F und dgl., in
denen hauptsächlich Datenzugriffe konzentriert werden,
werden im zweiten Princeton-Bus zusammengesetzt. Daher
können der Instruktionszugriff und der Datenzugriff parallel
in bezug auf den ersten Princeton-Bus und den zweiten
Princeton-Bus durch die Bussteuereinheit durchgeführt
werden. Ferner können die Busse effizient genutzt werden, so
daß der Durchsatz der CPU wesentlich verbessert werden kann.
Gemäß dem herkömmlichen Mikroprozessor ist der DMA-Con
troller als Busmaster am Bus angeschlossen, und es besteht
die Tendenz dazu, längere Zeit zu dauern, bis der DMA-Con
troller ein Busrecht zur Nutzung dieses Busses erhält.
Im Gegensatz dazu ist gemäß dem Mikroprozessor der
vorliegenden Erfindung der DMA-Controller direkt mit der
Bussteuereinheit 32 verbunden, um dadurch die Notwendigkeit
zu vermeiden, daß der DMA-Controller selbst das Busrecht
erhält. Daher wurde es möglich, ein Busrecht prompt zu er
halten. Zusammen mit der Leistung der Verringerung der auf
die Busse ausgeübten Belastung wurde die parallele Verarbei
tung des Instruktionszugriffs und des Datenzugriffs als
Vorteil der Struktur der Harvard-Architektur effektiver.
Durch das Einführen des DMA-Controllers wurde es möglich,
den Durchsatz der CPU weiter zu verbessern.
Ferner muß gemäß dem herkömmlichen Mikroprozessor die
CPU zur Durchführung eines Standby-Betriebs eine Speicher
operation durchführen, indem das Steuerregister innerhalb
des Takt-Controllers betrieben wird, und folglich wird ein
Halten eines Takts ausgeführt. Es war notwendig, ein Mini
mumprogramm für den Testbetrieb des Haltens des Taktsignal
vorzubereiten.
Im Gegensatz dazu ist es gemäß dem Mikroprozessor der
vorliegenden Erfindung möglich, in die Bussteuereinheit ein
Standby-Betriebsanforderungssignal einzugeben, um einen
Standby-Betrieb in einem Testmodus zu aktivieren, dann ein
Recht zur Nutzung jedes des Instruktionsbusses, des Daten
busses, des ersten Princeton-Busses und des zweiten
Princeton-Busses zu erhalten, und danach eine Zuführung
eines Taktsignals an jeden Modul zu halten. Daher ist es im
Gegensatz zur herkömmlichen Praxis leicht möglich, den
Mikroprozessor in einen Standby-Betrieb zu versetzen, ohne
die Notwendigkeit zu involvieren, daß die CPU 20 eine Spei
cheroperation zur Zeit eines Testbetriebs durchführt.
Obwohl die Erfindung zwecks einer vollständigen und
klaren Offenbarung in bezug auf eine spezifische Ausfüh
rungsform beschrieben wurde, werden die beigeschlossenen
Ansprüche dadurch nicht eingeschränkt, sondern sind so aus
zulegen, daß sie alle Modifikationen und alternativen Kon
struktionen verkörpern, die für Fachleute ersichtlich sind
und weitgehend in die hier ausgeführten grundlegenden Lehren
fallen.