TECHNISCHES GEBIET
-
Die vorliegende Erfindung betrifft einen Mikroprozessor, der
eine Datenbreite gemäß einer Datenbreite von externen
Speichern ändern oder einstellen kann, auf die während eines
Speicherzugriffsbetriebs zuzugreifen ist.
STAND DER TECHNIK
-
Es ist erforderlich, eine Datenbreitendifferenz zwischen
einem Mikroprozessor und externen Speichern einzustellen,
wenn ein Mikrocomputersystem entwickelt wird.
-
Wir werden unten eine herkömmliche Datenbreiten-
Einstellungstechnik erklären, die bei einem herkömmlichen
Mikroprozessorsystem gemeinhin verwendet wird, und ein bei
dieser herkömmlichen Technik enthaltenes Problem.
-
Beispielsweise besteht ein herkömmliches Mikroprozessorsystem
aus einem Mikroprozessor mit einer 32-Bit-Busbreite, einem
ROM mit einer 8-Bit-Busbreite zum Speichern eines Programms
mit Befehlen, und 4 RAMs, die jeweils eine 8-Bit-Busbreite
haben, zum temporären Speichern von Daten.
-
Wenn der Mikroprozessor keine Funktion zum Einstellen der
Datenbreite hat, wie es in Fig. 1 gezeigt ist, gibt es zum
Überwinden eines solchen Nachteils ein herkömmliches
Verfahren zum Einstellen einer Datenbreitendifferenz wobei
der 32-Bit-Datenbus 102 einer MPU 101 durch eine Busbreiten-
Umwandlungsschaltung 104 mit einem 8-Bit-ROM 103 verbunden
ist. Wir werden unten diese Verfahren und diese Technik und
ein bei diesem herkömmlichen Verfahren enthaltenes Problem
erklären.
-
Wie es in Fig. 2 gezeigt ist, gibt es dann, wenn ein
Mikroprozessorsystem die in Fig. 1 gezeigte Busbreiten-
Umwandlungsschaltung 104 nicht enthält, ein Verfahren zum
Einstellen der Busbreitendifferenz wobei die Gesamtanzahl
einer Bitbreite von ROMs 103 32 Bits ist, weil die Gesamtzahl
der ROMs 103 vier (8 Bits · 4 = 32 Bits) ist. Somit kann der
32-Bit-Datenbus 102 direkt mit den ROMs 102 im
Mikroprozessorsystem verbunden sein.
-
Bei dem in Fig. 1 gezeigten herkömmlichen Verfahren ist es
dringend erforderlich, die Busbreiten-Umwandlungsschaltung
104 im Mikroprozessorsystem hinzuzufügen, da sonst bei dem in
Fig. 2 gezeigten herkömmlichen Verfahren die zusätzlichen
drei ROMs zusätzlich zu dem ROM 103 bei dem in Fig. 1
gezeigten herkömmlichen Verfahren für das
Mikroprozessorsystem weiter erforderlich sind. Daher wird die
Konfiguration des Mikroprozessorsystems größer und die Kosten
des Mikroprozessorsystems erhöhen sich.
-
Andererseits gibt es einen herkömmlichen Mikroprozessor, der
die Datenbreite eines Datenbusses, basierend auf externen
Signalen fest ändern kann. Bei einem Mikroprozessorsystem mit
einem solchen Mikroprozessor, wie es in Fig. 3 gezeigt ist,
wird gemäß dem externen Signal, wie beispielsweise einem 8-
Bit-Busbreiten-Anzeigesignal, die Busbreite des Datenbusses
105 in 8 Bits eingestellt, und dann sind vier RAMs 106 zum
Datenbus 105 parallelgeschaltet.
-
Jedoch wird, obwohl das Mikrocomputersystem diese vier RAMs
106 verwendet, die Datenbreite der ROMs 106 beim oben
beschriebenen herkömmlichen Verfahren 8 Bits. In diesem Fall
wird im Vergleich zu den Konfigurationen der in den Fig. 1
und 2 gezeigten Mikroprozessorsystemen die Bitbreite von
Daten erniedrigt, so daß die Betriebsleistung des
Mikroprozessorsystems erniedrigt wird, weil seine
Verarbeitungsfunktion erniedrigt ist.
-
Es gibt einen Mikroprozessor mit einer Konfiguration zum
Überwinden der oben beschriebenen Probleme. Diese Funktion
des Mikroprozessors wird "dynamische Bus-
Größeneinstellungsfunktion" genannt. Bei der dynamischen Bus-
Größeneinstellungsfunktion gibt der Mikroprozessor
Busbreiten-Anzeigesignale pro Buszyklus ein, um eine
Buszyklusoperation zur Anforderung wiederholt durchzuführen.
Diese Funktion wird bei vielen Arten von herkömmlichen
Mikroprozessoren eingeführt, wie beispielsweise dem MC68020,
der von MOTOROLA Corporation hergestellt wird.
-
Bei dieser dynamischen Bus-Größeneinstellungsfunktion wird
die Bitbreite externer Speicher, auf die in jedem Buszyklus
zuzugreifen ist, erkannt, weil sie erforderlich sein muß, um
die Busbreiten-Anzeigesignale pro Buszyklus einzugeben. Aus
diesem Grund muß, wie es in Fig. 4 gezeigt ist, ein
Mikroprozessorsystem mit einer MPU 107 mit der dynamischen
Bus-Größeneinstellungsfunktion eine Schaltung 109 haben, die
ein Busbreiten-Anzeigesignal entsprechend einer Datenbreite
eines externen Speichers erzeugt, die zum Zugreifen nach
einem Decodieren eines zu einem Adressenbus 108 in der MPU
107 übertragenen Adressensignals erkannt wird.
-
Im Mikroprozessorsystem werden die Busbreiten-Anzeigesignale,
die von dieser Schaltung 109 erzeugt werden, zur MPU 107 pro
Buszyklus übertragen.
-
Jedoch werden im Mikroprozessorsystem mit dem Mikroprozessor
107 mit der dynamischen Bus-Größeneinstellungsfunktion, wie
es in Fig. 5 gezeigt ist, die Busbreiten-Anzeigesignale durch
einen Adressentreiber 112 zum Übertragen von Adressensignalen
erzeugt, die von der MPU 110 zu einem Speicher 111 ausgegeben
werden, und einen Adressendecodierer 113 zum Decodieren der
Ausgabe vom Adressentreiber 112, der dann ein Auswahlsignal
CS zum Auswähle n des Speichers 111 erzeugt, auf den
zuzugreifen ist, und einen Busbreiten-Anzeigesignalgenerator
114 zum Erzeugen von Busbreiten-Anzeigesignalen entsprechend
der Busbreite des Speichers, der durch das Auswahlsignal vom
Adressendecodierer 112 auszuwählen ist.
-
Wie es in einem Zeitdiagramm in Fig. 6 gezeigt ist, ist eine
Einschwingzeit bzw. Einstellzeit durch die folgende Gleichung
definiert:
-
tcyc - (ta + tb + tc + td) > te
-
wobei "tcyc" eine zulässige Bus-Zykluszeit zum Zugreifen auf
den Speicher 111 ist, "ta" eine Verzögerungszeit eines von
der MPU 110 synchron zu einem Taktsignal ausgegebenen
Adressensignals ist, "tb" eine Verzögerungszeit eines
Adressensignals durch den Adressentreiber 112 ist, "tc" eine
Verzögerungszeit des Adressendecodierers 113 ist, "td" eine
Zeit ist, die zum Erzeugen von Signalen durch den Generator
114 erforderlich ist, und "te" eine Einschwingzeit des
Busbreiten-Anzeigesignals ist.
-
Demgemäß wird, wie es in der obigen Gleichung deutlich
gezeigt ist, die Einschwingzeit für das Busbreiten-
Anzeigesignal präzise bzw. genau, und eine Zugriffszeit für
den Speicher wird ebenso stabil, wenn die Betriebsfrequenz,
wie beispielsweise das Taktsignal, hoch wird, um die
Buszykluszeit zu reduzieren. Sie führt zu einem Fehlerbetrieb
im Mikroprozessorsystem. Zusätzlich kann in einem Fall, in
welchem es erforderlich ist, die Buszykluszeit weiter zu
reduzieren, ein Hochgeschwindigkeitsbetrieb des
Mikroprozessorsystems nicht erreicht werden, weil der
Ausgabezustand der Busbreiten-Anzeigesignale nicht erfüllt
ist.
-
Zusätzlich ist der oben beschriebene Mikroprozessor mit einer
Funktion ähnlich der dynamischen Bus-
Größeneinstellungsfunktion in dem offengelegten japanischen
Patent mit der NR. 3-98145 offenbart.
-
Dieser Mikroprozessor kann eine Busbreite entsprechend der
Adresse eines Bereichs, auf den zuzugreifen ist, dynamisch
ändern. Bei diesem Mikroprozessor werden eine Busbreite
anzeigende Signale basierend auf einem
Adressendecodierungsergebnis erzeugt, wie beim Mikroprozessor
mit der dynamischen Bus-Größeneinstellungsfunktion, weil ein
Busbreiten-Anzeigesignal nach einem Vergleichen des
Decodierungsergebnisses eines Adressensignals mit einer
spezifizierten Adresse erzeugt wird.
-
Demgemäß wird dasselbe Problem auch beim Mikroprozessorsystem
verursacht, bei welchem die Decodierungsoperation und die
Vergleichsoperation ausgeführt werden, weil es viel Zeit
benötigt, Busbreiten-Anzeigesignale zu erzeugen.
-
Wie es oben beschrieben ist, gibt es Nachteile beim Verwenden
des herkömmlichen Verfahrens zum Einstellen einer Datenbreite
in einem Mikroprozessorsystem, das aus einem Mikroprozessor
und externen Speichern besteht, die unterschiedliche
Datenbreiten haben.
-
Demgemäß führt dies dazu, einen Speicher zu verwenden, der
die Effizienz verringert und zur spezifischen Konfiguration
hinzuzufügen ist, so daß die Konfiguration und die Kosten des
Mikroprozessorsystems größer werden.
-
Wenn ein Mikroprozessorsystem durch Verwenden eines
Mikroprozessors aufgebaut wird, der eine Busbreite gemäß
einem externen Signal temporär und fest ändern kann, wird
eine Verarbeitungsfunktion des Mikroprozessorsystems
erniedrigt, weil externe Speicher im System nicht effizient
verwendet werden. Auch dies ist ein Problem.
-
Andererseits wird dann, wenn ein Mikroprozessorsystem unter
Verwendung eines Mikroprozessors mit der dynamischen Bus-
Größeneinstellungsfunktion oder einer Funktion ähnlich der
dynamischen Bus-Größeneinstellungsfunktion aufgebaut wird,
eine Betriebszeit des Systems starr, so daß ein
Hochgeschwindigkeitsbetrieb schwierig wird. Auch dies ist ein
Problem.
-
Es wird Bezug genommen auf EP-A-0 417 707, welche
Druckschrift einen Mikrocomputer offenbart, der einen Zugriff
auf sowohl eine 16-Bit-Schnittstelle als auch eine 8-Bit-
Schnittstelle ermöglicht. Ein Umschalten zwischen dem 16-Bit-
Zugriff und dem 8-Bit-Zugriff wird durch die Verwendung
erster und zweiter Register erreicht. Die Register werden zum
Halten der Adressengrenzen zum Bestimmen des Bereichs des
Speicherraums für den 16-Bit-Zugriff und den 8-Bit-Zugriff
verwendet.
-
EP-A-0 036 185 offenbart eine Verarbeitungseinheit, die ein
Busbreiten-Einstellsignal verwendet. Das Busbreiten-
Einstellsignal wird eher von einer I/O-Vorrichtung zur
Verarbeitungseinheit geliefert, als daß es durch die
Verarbeitungseinheit bestimmt wird.
-
Electronic Design, vol. 33, no. 12, Mai 1985, Hasbouck
Heights, NJ, NY, Zoch et al., "68020 Dynmically Adjusts its
Data to Match Peripheral Ports" betrifft den auf dem Markt
erhältlichen Mikroprozessor MC 68020.
ZUSAMMENFASSUNG DER ERFINDUNG
-
Die vorliegende Erfindung versucht, einen Mikroprozessor zu
schaffen, der bei einer Hochgeschwindigkeitsrate arbeiten und
eine Datenbreite einstellen kann, ohne eine
Verarbeitungsfähigkeit zu verringern und seine Systemkosten
zu erhöhen, und ein Verringern des Überschusses von
Operationen zu vermeiden, die durch Erhöhen sein er
Betriebsfrequenz verursacht werden.
-
Gemäß der vorliegenden Erfindung ist ein Mikroprozessor mit
einer Datenbusbreiten-Änderungsfunktion zum Zugreifen auf
Befehle und Daten, die zu/von einer externen
Vorrichtungseinrichtung durch eine externe Buseinrichtung
übertragen werden, die aus einer Vielzahl von Bussen besteht,
die mit dem Mikroprozessor verbunden sind, geschaffen, wobei
der Mikroprozessor folgendes aufweist: eine Prozessor-
Kerneinrichtung, die eine Befehlsholeinheit zum Holen eines
Befehls und eine Ausführungseinheit zum Ausführen eines
Befehls aufweist, wobei die Befehlsholeinheit angeordnet ist,
um ein erstes Steuersignal zu erzeugen, um einen Befehl zu
holen und das erste Steuersignal zur externen
Vorrichtungseinrichtung während einer Befehlshol-
Buszyklusoperation zu senden, und wobei die
Ausführungseinheit angeordnet ist, um ein zweites
Steuersignal zu erzeugen und das zweite Steuersignal zu der
externen Vorrichtungseinrichtung während einer Datenzugriffs-
Buszyklusoperation zu übertragen, eine interne Buseinrichtung
mit einer Vielzahl von Bussen, die mit der Prozessor-
Kerneinrichtung und der externen Buseinrichtung verbunden
sind, und die so angeordnet sind, daß bei einer Verwendung
Befehle und Daten zu/von der Prozessor-Kerneinrichtung durch
die interne Buseinrichtung übertragen werden, eine
Busbreiten-Speichereinrichtung zum Speichern erster
Busbreiten-Anzeigedaten, die eine Busbreite spezifizierter
Busse anzeigen, die in der externen Buseinrichtung während
der Befehlshol-Buszyklusoperation zum Holen eines Befehls
verwendet werden, während einer Initialisierung, und zum
Speichern zweiter Busbreiten-Anzeigedaten, die eine Busbreite
spezifizierter Busse anzeigen, die in der externen
Buseinrichtung verwendet werden, während der Datenzugriffs-
Buszyklusoperation, eine Busbreiten-Änderungseinrichtung, die
zwischen der internen Buseinrichtung und der externen
Buseinrichtung angeschlossen ist, zum Ändern spezifizierter
Busse in der externen Buseinrichtung, um spezifizierte Busse
in der internen Buseinrichtung anzuschließen, die während der
Befehlshol-Buszyklusoperation und der Datenzugriffs-
Buszyklusoperation verwendet werden, und eine Busbreiten-
Änderungssteuereinrichtung, die mit der Prozessor-
Kerneinrichtung verbunden ist und zwischen der Busbreiten-
Änderungseinrichtung und der Busbreiten-Speichereinrichtung
angeschlossen ist, zum Empfangen des ersten Steuersignals,
des von der Prozessor-Kerneinrichtung übertragenen zweiten
Steuersignals, der ersten Busbreiten-Anzeigedaten und der
zweiten Busbreiten-Anzeigedaten, die in der Busbreiten-
Speichereinrichtung gespeichert sind, und zum Erzeugen eines
Signals zum Ändern einer Busbreite der externen
Buseinrichtung basierend auf dem ersten Steuersignal, dem
zweiten Steuersignal, den ersten Busbreiten-Anzeigedaten und
den zweiten Busbreiten-Anzeigedaten, um Daten mit einer
spezifizierten Busbreite der externen Buseinrichtung zu
übertragen.
-
Bei diesem Mikroprozessor kann der Inhalt det Busbreiten-
Speichereinrichtung durch die Prozessor-Kerneinrichtung
basierend auf einem Programm rückgesetzt werden.
-
Alternativ dazu wird der Inhalt der Busbreiten-
Speichereinrichtung auf feste Daten eingestellt, wenn der
Mikroprozessor initialisiert wird.
-
Für den Inhalt der Busbreiten-Speichereinrichtung ist es
weiterhin möglich, daß er nach einer Initialisierung für den
Mikroprozessor rückgesetzt wird.
-
Bei einer Form des Mikroprozessors weist der Mikroprozessor
weiterhin eine Auswahleinrichtung zum Auswählen der ersten
und zweiten Busbreiten-Anzeigedaten auf, die von der externen
Vorrichtung des Mikroprozessors geliefert werden, wenn ein
Rücksetzsignal effektiv ist, und zum Auswählen der ersten und
zweiten Busbreiten-Anzeigedaten, die von der Prozessor-
Kerneinrichtung übertragen werden, wobei der Mikroprozessor
dann die durch die Auswahleinrichtung ausgewählten ersten und
zweiten Busbreiten-Anzeigedaten zu der Speichereinrichtung
als Anfangswert speichert.
KURZE BESCHREIBUNG DER ZEICHNUNG
-
Diese und andere Aufgaben, Merkmale und Vorteile der
Erfindung werden aus der folgenden detaillierten Beschreibung
eines bevorzugten Ausführungsbeispiels der vorliegenden
Erfindung klar werden, die anhand eines Beispiels angegeben
ist und in den beigefügten Zeichnungen dargestellt ist,
wobei:
-
Fig. 1 eine Konfiguration eines herkömmlichen
Mikroprozessorsystems ist, wobei Datenbreiten des
Mikroprozessorsystems und eines externen
Nurlesespeichers (ROM) unterschiedlich sind.
-
Fig. 2 eine andere Konfiguration eines herkömmlichen
Mikroprozessorsystems ist, wobei Datenbreiten des
Mikroprozessorsystems und eines externen ROM
unterschiedlich sind.
-
Fig. 3 eine weitere Konfiguration eines herkömmlichen
Mikroprozessorsystems ist, wobei Datenbreiten des
Mikroprozessorsystems und externer Speicher
unterschiedlich sind.
-
Fig. 4 eine weitere Konfiguration eines herkömmlichen
Mikroprozessorsystems ist, wobei Datenbreiten des
Mikroprozessorsystems und externer Speicher
unterschiedlich sind.
-
Fig. 5 eine Konfiguration eines herkömmlichen
Mikroprozessorsystems ist, das eine herkömmlichen
dynamische Bus-Größeneinstellungsfunktion zeigt.
-
Fig. 6 ein Zeitdiagramm des in Fig. 5 gezeigten
Mikroprozessorsystems ist.
-
Fig. 7 eine Konfiguration eines Mikroprozessors als ein
erstes Ausführungsbeispiel gemäß der vorliegenden
Erfindung ist.
-
Fig. 8 eine Konfiguration eines Mikroprozessorsystems
ist, das den in Fig. 7 gezeigten Mikroprozessor
enthält.
-
Fig. 9 eine Konfiguration eines Prozessor-Kernabschnitts
des in Fig. 7 gezeigten Mikroprozessors ist.
-
Fig. 10 eine Konfiguration eines Steuerregisters im in
Fig. 7 gezeigten Mikroprozessor ist.
-
Fig. 11 eine Konfiguration einer Buszustands-
Steuerschaltung im in Fig. 7 gezeigten
Mikroprozessor ist.
-
Fig. 12 eine Konfiguration eines Busbreiten-
Anzeigesignalgenerators in der in Fig. 11
gezeigten Buszustands-Steuerschaltung ist.
-
Fig. 13 ein Zustands-Übergangsdiagramm der in Fig. 11
gezeigten Buszustands-Steuerschaltung ist.
-
Fig. 14 ein Teil der Konfiguration des Buszustands-
Steuersignalgenerators in det in Fig. 11
gezeigten Buszustands-Steuerschaltung ist.
-
Fig. 15 eine Konfiguration einer Busänderungsschaltung im
in Fig. 7 gezeigten Mikroprozessor ist.
-
Fig. 16 eine Konfiguration des Selektors 13 in der in
Fig. 15 gezeigten Busänderungsschaltung ist.
-
Fig. 17 eine Konfiguration des Selektors 14 in der in
Fig. 15 gezeigten Busänderungsschaltung ist.
-
Fig. 18 eine Konfiguration des Selektors 15 in der in
Fig. 15 gezeigten Busänderungsschaltung ist.
-
Fig. 19 eine Konfiguration des Selektors 16 in der in
Fig. 15 gezeigten Busänderungsschaltung ist.
-
Fig. 20 eine Konfiguration eines Selektor-
Änderungssignalgenerators in der in Fig. 15
gezeigten Busänderungsschaltung ist.
-
Fig. 21 ein Zeitdiagramm ist, das eine Zeitgabe einer
Lesebusoperation im in Fig. 7 gezeigten
Mikroprozessor zeigt.
DETAILLIERTE BESCHREIBUNG EINIGER BEVORZUGTER
AUSFÜHRUNGSBEISPIELE
-
Wir werden unten einen Mikroprozessor mit einer Busbreiten-
Einstellfunktion als bevorzugte Ausführungsbeispiele der
vorliegenden Erfindung beschreiben.
-
Fig. 7 ist ein Blockdiagramm eines Mikroprozessors als erstes
Ausführungsbeispiel der vorliegenden Erfindung.
-
Der Mikroprozessor kann eine Busbreite bei einer
Befehlsholoperation und einer Operandenzugriffsoperation
auswählen, und zwar jeweils gemäß einer spezifizierten
Busbreite, die bereits in einem internen Register gespeichert
ist.
-
In Fig. 7 weist ein 32-Bit-Mikroprozessor oder eine MPU 1
einen MPU-Kernabschnitt 2 auf, der eine Hauptfunktion der MPU
1 hat, ein Steuerregister 3 zum Speichern von Information,
die eine Busbreite bestimmt, eine Buszustands-Steuerschaltung
4, einen externen Datenbus (D0 bis D31), einen internen
Datenbus (IB0 bis IB31) und eine Busbreiten-
Änderungsschaltung 5 zum Arbeiten unter der Steuerung der
Buszustands-Steuerschaltung 4.
-
Wie es in Fig. 8 beispielsweise gezeigt ist, ist ein
Mikroprozessorsystem durch Verwenden des obigen
Mikroprozessors 1, einen ROM einer 8-Bit-Busbreite zum
Speichern eines Programms und vier RAMs zum temporären
Speichern von Daten ausgebildet.
-
Der MPU-Kernabschnitt 2 kann Adressen und Daten mit einer
Breite von 32 Bits behandeln. Der MPU-Kernabschnitt 2 besteht
aus einer Befehlsholeinheit 201, einer Befehlsdecodiereinheit
202 und einer Ausführungseinheit 203.
-
Die Befehlsholeinheit 201 gibt ein Buszugriffstypensignal BAT
von 1 (BAT = 1) aus, das eine Befehlsholoperation zum
externen ROM anzeigt. Gleichermaßen gibt die
Ausführungseinheit 203 das Buszugriffstypensignal BAT von 0
(BAT = 0) aus, um eine Operandenzugriffsoperation zu den
externen RAMs bei einer Befehlsausführungsoperation
anzuzeigen.
-
Das Steuerregister 3 speichert Daten, die eine Busbreite des
externen Datenbusses 6 für eine tatsächliche Verwendung für
eine Datenübertragungsoperation anzeigen. Beispielsweise ist
die Konfiguration des Steuerregisters 3 aus 4-Bit-Feldern
aufgebaut, wie es in Fig. 10 gezeigt ist. Die Felder R0 und
R1 werden zum Anzeigen einer Busbreite des externen
Datenbusses 6 während der Operandenzugriffsoperation
verwendet. Eine der 8-Bit-Busbreite, der 16-Bit-Busbreite und
der 32-Bit-Busbreite wird basierend auf den Inhalten der
Felder R0 und R1 ausgewählt.
-
Andererseits werden die Felder R2 und R3 zum Anzeigen einer
Busbreite des externen Datenbusses 6 während der
Befehlholoperation verwendet. Eine der 8-Bit-Busbreite, der
16-Bit-Busbreite und der 32-Bit-Busbreite wird auch basierend
auf den Inhalten der Felder R2 und R3 ausgewählt.
-
Busbreiten-Anzeigedaten werden zum Steuerregister 3 vom
externen Busbreiten-Anzeigesignal eingegeben, wenn ein
Rücksetzsignal zum Initialisieren des Mikroprozessors 1
aktiviert wird. Andererseits werden durch einen Selektor 7
während einer normalen Operation des Mikroprozessors 1 die
Busbreiten-Anzeigedaten vom MPU-Kernabschnitt 2 durch den
Selektor 7 zum Steuerregister 3 eingegeben.
-
Somit wird eine aktuelle Busbreite des externen Datenbusses
6, auf den zuzugreifen ist, als Anfangswert vom Busbreiten-
Anzeigesignal eingestellt, wenn der Mikroprozessor 1
initialisiert wird, und dann kann während einer normalen
Operation der Inhalt des Steuerregisters 3 durch ein
Softwareprogramm geändert werden, wie es erforderlich ist.
-
Die Buszustands-Steuerschaltung 4 besteht aus einem
Busbreiten-Anzeigesignalgenerator 11 und einem Buszustands-
Steuersignalgenerator 12. Der Busbreiten-
Anzeigesignalgenerator 11 erzeugt ein Busbreiten-
Anzeigesignal B8, B16 und B32 basierend auf den Inhalten des
Steuerregisters 3 (R0 bis R3) und dem Buszugriffstypensignal
BAT.
-
Der Buszustands-Steuersignalgenerator 12 erzeugt
Steuersignale S2, S4, S6, S8 und S10 zum Steuern der
Busbreiten-Änderungsschaltung 5, ein internes Buszyklus-
Beendigungssignal IBDC zum Anzeigen der Beendigung des
Buszyklus und ein externes Buszyklus-Startsignal BS zum
Anzeigen des Beginns des Buszyklus.
-
Der Busbreiten-Anzeigesignalgenerator 11, wie er
beispielsweise in Fig. 12 gezeigt ist, besteht aus
Logikgattern, die die folgende in Tabelle 1 gezeigte logische
Beziehung haben.
TABELLE 1
-
"*": Gleichgültig
-
In einem Fall, in welchem das BAT-Signal die
Operandenzugriffsoperation bestimmt (BAT = 0) wird die
Busbreite des externen Datenbusses 6 wie folgt ausgewählt:
-
Wenn die Inhalte von R0 und R1 alle "0" sind, wird die
Busbreite des externen Datenbusses 6 eine 8-Bit-Busbreite,
und das Busbreiten-Änderungssignal B8 wird "1".
-
Wenn die Inhalte von R0 und R1 "0,1" sind, wird die Busbreite
des externen Datenbusses 6 die 16-Bit-Busbreite, und das
Busbreiten-Änderungssignal B16 wird "1".
-
Wenn die Inhalte von R0 und R1 "1,0" sind, wird die Busbreite
des externen Datenbusses die 32-Bit-Busbreite, und das
Busbreiten-Änderungssignal B32 wird "1".
-
Andererseits wird in einem Fall, in welchem das BAT-Signal
die Befehlsholoperation bestimmt (BAT = 1), die Busbreite des
externen Datenbusses 6 wie folgt ausgewählt: Wenn die Inhalte
von R0 und R1 alle "0" sind, wird die Busbreite des externen
Datenbusses 6 die 8-Bit-Busbreite, und das Busbreiten-
Änderungssignal B8 wird "1".
-
Wenn die Inhalte von R0 und R1 "0,1" sind, wird die Busbreite
des externen Datenbusses 6 die 16-Bit-Busbreite, und das
Busbreiten-Änderungssignal B16 wird "1".
-
Wenn die Inhalte von R0 und R1 "1,0" sind, wird die Busbreite
des externen Datenbusses die 32-Bit-Busbreite, und das
Busbreiten-Änderungssignal B32 wird "1".
-
Der Buszustands-Steuersignalgenerator 12 erzeugt
Steuersignale S2, S4, S6, S8 und S10, um die Busbreiten-
Änderungsoperation für die Busbreiten-Änderungsschaltung 5 zu
steuern, wie es in einem Zustandsübergangsdiagramm in Fig. 13
gezeigt ist.
-
In dem Zustandsübergangsdiagramm, das in Fig. 13 gezeigt ist,
geht jeder Zustand synchron zu einer Anstiegsflanke des
Taktsignals in einen anderen Zustand über. Ein Zustand St1
bedeutet einen Zustand, in welchem kein Buszyklus
durchgeführt wird. Die Zustände St2, St4, St6, St8 und StlO
zeigen einen Wartezustand an, in welchem der aktuelle Zustand
solange beibehalten wird, wie das externe Datenübertragungs-
Beendigungssignal (DC) aktiviert ist.
-
Im Zustandsübergangsdiagramm der Fig. 13 geht dann, wenn die
Busbreite des externen Datenbusses 6 als die 32-Bit-Busbreite
eingestellt wird, wenn der Buszyklus beim Zustand St1
beginnt, der Zustand St1 beim ersten Takt zum Zustand St2
über, und der Zustand St2 geht beim zweiten Takt zum Stand
St1 über, wenn das Datenübertragungs-Beendigungssignal DC als
der niedrige Pegel aktiviert ist. Wenn das Signal DC nicht
aktiviert ist, dann geht der Zustand St2 wiederholt zu sich
selbst über, bis das Signal DC bei dem Zustand aktiviert
wird. In diesem Fall werden 32-Bit-Daten zu der Zeit des
Zustandsübergangs von St2 zu St1 übertragen.
-
In einem Fall, in welchem die Busbreite des externen
Datenbusses als 16-Bit-Datenbreite eingestellt ist, wenn die
Buszyklusoperation beim Zustand St1 beginnt, dann geht der
Zustand St1 beim ersten Takt zum Zustand St2 über, der
Zustand St2 geht beim zweiten Takt zum Zustand St3 über, wenn
das Signal DC aktiviert ist, der Zustand St3 geht beim
dritten Takt zum Zustand St4 über, und der Zustand St4 geht
beim vierten Takt zum Zustand St1 über, wenn das Signal DC
aktiviert ist. Wenn das Signal DC beim Zustand St2 oder beim
Zustand St4 nicht aktiviert ist, dann geht der Zustand
wiederholt zu sich selbst über, bis das Signal DC bei dem
Zustand aktiviert ist. In diesem Fall werden jeweils 16-Bit-
Daten zu der Zeit eines Zustandsübergangs von St2 zu St3 und
von St4 zu St1 übertragen. Dadurch werden die gesamten 32-
Bit-Daten vollständig durch 16-Bit-Daten jeweils in zwei
externen Buszyklen übertragen.
-
In einem Fall, in welchem die Busbreite des externen
Datenbusses als 8-Bit-Datenbreite eingestellt ist, wenn die
Buszyklusoperation beim Zustand St1 beginnt, dann ist der
Zustandsübergang folgender: St1--> St2--> St5--> St6--> St7-->
St8--> St9--> St10--> St1.
-
Wenn das Signal DC beim Zustand St2, St6, St8 oder St10 nicht
aktiviert ist, dann erfolgt der Zustandsübergang zu sich
selbst wiederholt, bis das Signal DC bei dem Zustand
aktiviert wird. In diesem Fall werden jeweils 8-Bit-Daten zu
der Zeitgabe eines Zustandsübergangs von St2 zu St5, von St6
zu St7, von St8 zu St9 und von St10 zu St1 übertragen.
-
Dadurch werden die gesamten 32-Bit-Daten vollständig durch 8-
Bit-Daten jeweils in vier externen Buszyklen übertragen.
Im Buszustands-Steuersignalgenerator 12 werden das externe
Buszyklus-Startsignal (BS) und das interne Busdaten-
Übertragungsbeendigungssignal (IBDC) durch die Logikgatter
erzeugt, wie es in Fig. 14 gezeigt ist.
-
Wie es in Fig. 15 gezeigt ist, besteht die Busbreiten-
Änderungsschaltung 5 aus Selektoren 13 bis 16 und einem
Selektoränderungs-Steuersignalgenerator 17. Die Busbreiten-
Änderungsschaltung 5 ist mit dem internen Datenbus 8 durch
ein Speicherdatenregister (MDR) 9 verbunden.
-
Durch die Selektoren 13 bis 16 ist der interne Datenbus 8 mit
dem externen Datenbus 6 alle 8 Bits verbunden. Die Selektoren
13 bis 16 haben eine Konfiguration, wie es beispielsweise in
den Fig. 16 bis 19 gezeigt ist.
-
Wie es in Fig. 16 gezeigt ist, verbindet der Selektor 13 den
externen Datenbus 6 mit D0 bis D7 mit dem internen Datenbus 8
von IBDB0 bis IDBD7, selbst wenn eine der 32-Bit-Busbreite,
der 16-Bit-Busbreite und der 8-Bit = Busbreite basierend auf
Selektoränderungssignalen S2R, S2 W ausgewählt wird.
-
Der Selektor 13 überträgt Daten, die von den externen
Speichern gelesen werden, vom externen Datenbus von D0 bis D7
zum internen Datenbus von IBDB0 bis IBDB7, wenn das
Selektoränderungssignal S2R aktiviert ist, und wenn das
Selektoränderungssignal S2 W aktiviert ist, werden vom MPU-
Kernabschnitt 2 ausgelesene Daten vom internen Datenbus von
IBDB0 bis IBDB7 zum externen Datenbus von D0 bis D7
übertragen.
-
Dadurch werden dann, wenn das Selektoränderungssignal mit dem
Zeichen "R", wie beispielsweise S2R, zum Selektor 13 bis 16
aktiviert wird, vom externen Speicher ausgelesene Daten zum
MPU-Kernabschnitt 2 durch vom externen Datenbus 6 zum
internen Datenbus 8 übertragen.
-
Andererseits werden dann, wenn das Selektoränderungssignal
mit dem Zeichen "W", wie beispielsweise S2 W, zum Selektor 13
bis 16 aktiviert wird, vom MPU-Kernabschnitt 2 ausgelesene
Daten vom internen Datenbus 6 zum externen Datenbus 8
übertragen.
-
Der Selektor 14, wie er in Fig. 17 gezeigt ist, verbindet den
externen Datenbus von D8 bis D15 mit dem internen Datenbus
von IBDB8 bis IBDB15, wenn die Busbreite des externen
Datenbusses 6 als die 32-Bit-Busbreite ausgewählt wird.
-
Der Selektor 14 verbindet den externen Datenbus von D0 bis D7
mit dem internen Datenbus von IBDB8 bis IBDB15, wenn die
Busbreite des externen Datenbusses 6 als die 8-Bit-Busbreite
ausgewählt wird.
-
Der Selektor 15, wie er in Fig. 18 gezeigt ist, verbindet den
externen Datenbus von D16 bis D23 mit dem internen Datenbus
von IBDB16 bis IBDB23, wenn die Busbreite des externen
Datenbusses 6 als die 32-Bit-Busbreite ausgewählt wird. Der
Selektor 15 verbindet den externen Datenbus von D0 bis D7 mit
dem internen Datenbus von IBDB16 bis IBDB23, wenn die
Busbreite des externen Datenbusses 6 als die 16-Bit- oder die
8-Bit-Busbreite ausgewählt ist.
-
Der Selektor 16, wie er in Fig. 19 gezeigt ist, verbindet den
externen Datenbus von D24 bis D31 mit dem internen Datenbus
von IBDB24 bis IBDB31 im Pufferübertragungszustand, wenn die
Busbreite des externen Datenbusses 6 als die 32-Bit-Busbreite
ausgewählt ist. Der Selektor 16 verbindet den externen
Datenbus von D8 bis D15 mit dem internen Datenbus von IBDB24
bis IBDB31, wenn die Busbreite des externen Datenbusses 6 als
die 16-Bit-Busbreite ausgewählt ist. Weiterhin verbindet der
Selektor 16 den externen Datenbus von D0 bis D8 mit dem
internen Datenbus von IBDB24 bis IBDB31, wenn die Busbreite
des externen Datenbusses 6 als die Bit-Busbreite ausgewählt
ist.
-
Der Selektoränderungs-Signalgenerator 17 erzeugt
Selektoränderungs-Steuersignale S2R, S2W, S4R, S4W, S6R, S6W,
S8R, S8W, S10R und S10W zum Steuern der
Selektoränderungsoperation für die Selektoren 13 bis 16, die
in den Fig. 16 bis 19 gezeigt sind. Der Selektoränderungs-
Signalgenerator 17 ist aus den in Fig. 20 gezeigten
Logikgattern aufgebaut.
-
Fig. 21 ist ein Zeitdiagramm der Buszyklen des
Mikroprozessorsystems mit der oben beschriebenen
Konfiguration.
-
Zuallererst erfordert beim Starten des Buszyklus die
Befehlsholeinheit 201 oder die Ausführungseinheit 203 im MPU-
Kernabschnitt 2 die Befehlsholoperation oder die
Datenzugriffsoperation, dann wird das Buszugriffstypensignal
BAT vom MPU-Kernabschnitt 2 zum Busbreiten-
Anzeigesteuergenerator 11 in der Buszustands-Steuerschaltung
4 übertragen, die Busbreiten-Anzeigesignale B8, B16 und B32
werden basierend auf den Busbreiten-Bestimmungsdaten erzeugt,
die im Steuerregister 3 gespeichert sind.
-
Beispielsweise wird die Datenbreite des externen Datenbusses
6 als die 32-Bit-Datenbreite eingestellt, um 32-Bit-Daten von
A bis D vom externen Speicher in die MPU 1 zu lesen, wie es
in Fig. 21 gezeigt ist, der interne Buszyklus und der externe
Buszyklus für die Leseoperation der externen Daten wird
begonnen, wenn das IBBS-Signal und das BS-Signal auf dem
niedrigen Pegel sind. Dann, wenn der Zustand St1 zum Zustand
St2 übergeht, werden Daten von A bis D auf dem externen
Datenbus 6, die vom externen Speicher ausgelesen werden, im
Speicherdatenregister 9 zwischengespeichert, ohne die
Busbreite des externen Datenbusses 6 zu ändern. Diese Daten
von A bis D im Speicherdatenregister 9 werden dann durch den
internen Datenbus 8 zum MPU-Kernabschnitt 2 übertragen,
-
Als nächstes wird die Datenbreite des externen Datenbusses 6
als die 16-Bit-Datenbreite eingestellt, um 32-Bit-Daten von E
bis H vom externen Speicher in die MPU 1 zu lesen, wie es in
Fig. 21 gezeigt ist, der interne Buszyklus und der externe
Buszyklus für die Leseoperation der externen Daten wird
begonnen, wenn das IBBS-Signal und das BS-Signal auf dem
niedrigen Pegel sind. Zuerst werden E und F (16-Bit-Daten)
auf der niederwertigeren 16-Bit-Seite des
Speicherdatenregisters 9 durch den externen Datenbus D0 bis
D15 und die Busänderungsschaltung 4 im ersten externen
Buszyklus zwischengespeichert. Dadurch wird der erste externe
Buszyklus beendet, und dann werden im folgenden Buszyklus G
und H (16-Bit-Daten) auf der höherwertigeren 16-Bit-Seite des
Speicherdatenregisters 9 durch den externen Datenbus D0 bis
D15 und die Busänderungsschaltung 4 zwischengespeichert,
wobei der Bus basierend auf dem Selektoränderungssteuersignal
von dem Selektoränderungs-Steuersignalgenerator 17 geändert
wird.
-
Dadurch werden die 32-Bit-Daten von E bis H nach vier Takten
nach dem Beginn des Buszyklus zum MPU-Kernabschnitt 2
geliefert.
-
Andererseits wird die Datenbreite des externen Datenbusses 6
als die 8-Bit-Datenbreite eingestellt, um 32-Bit-Daten vom
externen Speicher in den MPU-Kernabschnitt 2 zu lesen, der
externe Datenbus 6 und der interne Datenbus 8 werden
sequentiell alle 8-Bit-Datenübertragungen für die 32-Bit-
Daten durch die Busänderungsschaltung 5 in vier Zyklen
umgeschaltet. In diesem Fall werden jeweils 8-Bit-Daten in
den 32-Bit-Daten sequentiell übertragen.
-
Somit wird bei der Datenübertragungsoperation zwischen der
MPU 1 und dem externen Speicher bei dem oben beschriebenen
Ausführungsbeispiel gemäß der vorliegenden Erfindung erfaßt,
auf welche Art von Buszyklus zugegriffen werden wird, bevor
ein Buszyklus gemäß einem Buszugriffstypensignal beginnt.
Demgemäß wird die Busbreite des externen Datenbusses
bestimmt, bevor der Buszyklus beginnt.
-
Dadurch hat das beteiligte Verfahren im Vergleich mit dem im
Abschnitt mit dem Stand der Technik beschriebenen
herkömmlichen Verfahren, bei welchem eine Busbreite durch ein
Adressensignal bestimmt wird, mit dem auf einen externen
Speicher zugegriffen wird, eine adäquate bzw. richtige
Einschwingzeit zu dem Busbreiten-Anzeigesignal. Demgemäß kann
ein Buszyklus ohne Operationsfehler selbst in einem Fall
ausgeführt werden, in welchem die Betriebsfrequenz hoch wird.
Daher kann die vorliegende Erfindung einen Mikroprozessor zur
Verfügung stellen, der bei einem Hochgeschwindigkeitsbtrieb
arbeiten kann.
-
Diese Erfindung ist nicht auf das oben beschriebene
Ausführungsbeispiel beschränkt. Mehrere Modifikationen
innerhalb des Schutzumfangs der vorliegenden Erfindung, wie
sie durch die beigefügten Ansprüche definiert ist, können
verfügbar sein.
-
Beispielsweise können die Feldkonfiguration des
Steuerregisters 3 und die Konfiguration der im Mikroprozessor
1 ausgebildeten internen Schaltungen zu anderen
Konfigurationen geändert werden. Bei der Feldkonfiguration,
nämlich den R0- und R1-Registern, die in Fig. 10 gezeigt
sind, für die Operandendatenzugriffsoperation im
Steuerregister 3 kann das Operandendatenfeld weiter in eine
Ausleseoperation und eine Schreiboperation unterteilt werden.
-
Weiterhin gibt es, obwohl der Anfangswert des Steuerregisters
3 durch eine Eingabe eines externen Signals eingestellt wird,
wenn die Rücksetzoperation bei dem oben beschriebenen
Ausführungsbeispiel durchgeführt wird, ein anderes Verfahren,
daß feste Datenwerte verwendet werden, wie beispielsweise 32-
Bit-Daten, für einen Operandenzugriff, und 8-Bit-Daten für
einen Befehlsholzugriff. Weiterhin können diese festen Werte
nach einem Einstellen der festen Datenwerte auch geändert
werden.
-
Andererseits können, ohne das Steuerregister 3 in der MPU 1
einzubauen, jede der Datenübertragungsbreite für eine
Befehlsholoperation und der Datenübertragungsbreite für eine
Operandenzugriffsoperation unabhängig durch Verwenden
externer Signale angezeigt werden. Es kann durch Anzeigen von
ihnen von außerhalb der MPU 1 realisiert werden, anstatt
eines Eingebens von Signalen R0 bis R3 zum Steuerregister 3.
-
Wir werden die Merkmale und Effekte des oben beschriebenen
Mikroprozessors zusammenfassen. Durch Verwenden des hierin
offenbarten Mikroprozessors ist eine Vorrichtung mit einer
speziellen Konfiguration zum Ändern der Busbreite des
externen Busses nicht erforderlich, weil die Busbreite des
externen Busses gemäß der Datenbreite externer Speicher
dynamisch geändert wird.
-
Daher kann die Reduktion einer Verarbeitungsfähigkeit eines
herkömmlichen Mikroprozessors, die durch nicht effizientes
Verwenden eines externen Datenbusses verursacht wird,
verhindert werden.
-
Zusätzlich wird die Busbreite eines externen Datenbusses, auf
den zuzugreifen ist, bestimmt, bevor eine Befehlsholoperation
oder eine Datenzugriffsoperation beginnt, so daß die Zeit zum
Einstellen der Busbreite des externen Datenbusses während
eines Buszyklus nicht erforderlich ist. Es kann veranlaßt
werden, den Buszyklus in einem geeigneten Betriebsleerlauf
auszuführen. Dadurch kann es realisiert werden, die Zeit des
Buszyklus zu reduzieren, um einen Hochgeschwindigkeitsbetrieb
durchzuführen.