DE4238099C2 - Mikroprozessor mit mehreren Betriebsmoden - Google Patents
Mikroprozessor mit mehreren BetriebsmodenInfo
- Publication number
- DE4238099C2 DE4238099C2 DE4238099A DE4238099A DE4238099C2 DE 4238099 C2 DE4238099 C2 DE 4238099C2 DE 4238099 A DE4238099 A DE 4238099A DE 4238099 A DE4238099 A DE 4238099A DE 4238099 C2 DE4238099 C2 DE 4238099C2
- Authority
- DE
- Germany
- Prior art keywords
- microprocessor
- registers
- register
- mode
- cache
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/24—Resetting means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Debugging And Monitoring (AREA)
Description
Die Erfindung betrifft einen Mikroprozessor nach dem
Oberbegriff des Anspruchs 1 bzw. ein Verfahren zum Konvertieren
des Betriebs eines Mikroprozessors nach dem Oberbegriff des
Anspruchs 6.
Die Mikroprozessor-Technologie hat sich während des letzten
Jahrzehnts rapide entwickelt. Mikroprozessoren, die vor zehn
Jahren als fortschrittlich angesehen wurden, wurden schritt
weise durch verschiedene neue Generationen von Mikroprozessoren
verdrängt. Die neuen Mikroprozessor-Generationen sind viel lei
stungsfähiger als die älteren Generationen und haben beträcht
lich erweiterte Funktionen und Fähigkeiten und viel höhere Be
triebsgeschwindigkeiten. Für die neuen Mikroprozessoren ge
schriebene Software kann die Vorzüge vieler dieser neuen Funk
tionen nutzen; die für vorangegangene Mikroprozessor-Generatio
nen geschriebene ältere und weniger komplexe Software ist je
doch noch allgemein in Benutzung und kommerziell verfügbar. Die
meisten Computernutzer möchten nicht jedesmal, wenn die Her
steller ein neues Modell entwickeln, ihre alte Software verwer
fen; und tatsächlich kann es vorteilhaft sein, die alte Be
triebsweise für einige spezielle Zwecke zu verwenden. Folglich
entwerfen Mikroprozessor-Konstrukteure üblicherweise ihre neuen
Mikroprozessoren so, daß sie kompatibel zu der älteren Software
sind.
Um sicherzustellen, daß ältere Software auf neuen Mikropro
zessoren abgearbeitet werden kann, konstruieren einige Herstel
ler die Mikroprozessoren mit verschiedenen verfügbaren Moden,
wobei zumindest einer der Moden die Betriebscharakteristiken
des früheren Mikroprozessors aufweist. Beispielsweise produ
zierte die Intel Corporation vor einer Anzahl von Jahren den
ursprünglichen Mikroprozessor 8086. Seitdem wurde dieser Mikro
prozessor progressiv zum 80286, 80386 und dann zum 80486 ent
wickelt. Die späteren Mikroprozessorgenerationen haben ver
schiedene verfügbare Betriebsmoden. Um Kompatibilität mit den
für den 8086 geschriebenen Programmen zu gewährleisten, können
die späteren Generationen in einem "Real-Adreß"-Modus arbeiten,
der üblicherweise Realmodus genannt wird und der die Betriebs
charakteristiken und die Datenstrukturen des Mikroprozessors
8086 aufweist. Andererseits können die späteren Generationen in
anderen Moden, wie beispielsweise einem "geschützten" Modus ar
beiten, in welchen die neueren Mikroprozessorfähigkeiten mit
größeren Einsatzmöglichkeiten und verschiedenen Datenstrukturen
vollständiger ausgenutzt werden können.
Bei einigen Softwarearten ist es nützlich, während der Pro
grammausführung zwischen den Betriebsmoden umzuschalten. Ein
Beispiel für ein Programm, das zwischen dem geschützten Modus
und dem Realmodus umschalten kann, ist ein Speichermanager. Der
Speichermanager kann den Betrieb im Realmodus beginnen, an ei
nigen Punkten seines Betriebs in den geschützten Modus umschal
ten, um auf Daten mit einer Adresse oberhalb 1 Megabyte zugrei
fen zu können, Datenblöcke kopieren und dann in den Realmodus
für die weitere Verarbeitung zurückkehren.
Bei Inbetriebnahme werden die Register des 8086 und seiner
Nachfolger durch ein Mikroprogramm in die Realmodus-Konfigura
tion initialisiert. Nach der Initialisierung wird Software aus
geführt, welche Datenstrukturen einrichtet, die für den Re
almodus geeignet sind. Wenn jedoch die Anwendungssoftware an
stelle des Realmodus den geschützten Modus verwendet, dann
setzt diese Software ein Flag, das die Möglichkeiten des ge
schützten Modus freigibt. Danach errichtet das Programm die für
den geschützten Modus geeigneten Datenstrukturen und schaltet
den Mikroprozessor in den geschützten Betriebsmodus um. Die
Entwickler des 80286 konnten sich nicht vorstellen, daß irgend
jemand ein Umschalten aus dem geschützten Modus in den Re
almodus wünschen könnte; und folglich wurde keine Vorkehrung
für diese Art der Umschaltung getroffen. Mit anderen Worten,
die Architektur des 80286 unterstützt das Umschalten aus dem
geschützten Modus in den Realmodus nicht.
Jedoch wünschten einige den 80286 verwendende Computerher
steller, wie beispielsweise IBM, die Möglichkeit zum Umschalten
aus dem geschützten Modus in den Realmodus und entwickelten ein
Verfahren zum Ausführen der Umschaltung durch Einschluß eines
anderen Bauelements, das das Rücksetzpin ansteuert, um den Mi
kroprozessor zurückzusetzen und zu reinitialisieren, so als
würde er in Betrieb genommen werden. Jedoch gibt es einige mit
dem einfachen Ansteuern des Rücksetzpins verbundene Probleme.
In späteren Mikroprozessoren, die zusätzliche Merkmale, wie
einen internen Cache-Speicher und eine interne Fließkommaein
heit enthalten, wie beispielsweise der 80486, führt das Ansteu
ern des Rücksetzpins außerdem zu einer Reinitialisierung des
Cache, wodurch die Inhalte des Cache-Speichers zerstört werden.
Darüber hinaus werden die Inhalte der Register der Fließkomma
einheit (welche im 8086, 80286 und 80386 physisch getrennt war)
durch ein Rücksetzen mit Selbsttest ebenfalls reinitialisiert
(und folglich zerstört), obwohl die Inhalte der Fließkommaregi
ster durch ein Rücksetzen ohne Selbsttest aufrechterhalten wür
den.
Der interne Cache-Speicher, welcher zuerst beim 80486 ein
geführt wurde, wird in allen Betriebsmoden des Mikroprozessors
benutzt; u. a. im Realmodus, im virtuellen 8086-Modus und im ge
schützten Modus. Der Cache enthält einen Speicher im Inneren
des Mikroprozessors, der die Verarbeitung der Daten und Befehle
durch Speicherung bestimmter, jüngst aus dem Hauptspeicher ge
wonnener Daten und Befehle beschleunigt. Ein Zweck des Cache
ist es, die Zeiten zum Wiedergewinnen und Schreiben für häufig
benutzte Daten und Befehle zu minimieren. Die Cache-Speicherung
kann in zwei Arten eingeteilt werden: Durchschreiben und Zu
rückschreiben. Die Zurückschreib-Cache-Speicherung hat im all
gemeinen eine größere Leistungsfähigkeit in einem Mikroprozes
sor. Beide Arten funktionieren ähnlich beim Lesen der Daten aus
dem Cache; wenn die Daten jedoch in den Cache geschrieben wer
den, aktualisiert die Durchschreib-Cache-Speicherung sowohl den
Cache als auch den Hauptspeicher, während bei der Rückschreib-
Cache-Speicherung die Inhalte des Cache ohne ein Schreiben zum
Hauptspeicher aktualisiert werden. Bei der Rückschreib-Cache-
Speicherung tritt ein Schreiben der aktualisierten Ergebnisse
in den Hauptspeicher nur dann auf, wenn spezielle Operationen
ausgeführt werden, z. B. wenn neue Cache-Zeilen zugewiesen wer
den, nachdem der Cache bereits voll ist. Folglich würden, wenn
die Inhalte eines Rückschreib-Cache reinitialisiert werden
sollten, die aktualisierten Daten verlorengehen, sofern sie
nicht in den Speicher zurückgeschrieben oder irgendwo gesichert
würden. Obwohl sie schwieriger zu implementieren ist, ist die
Rückschreib-Cache-Speicherung zweckmäßig, da sie Mikroprozes
sorzeit einspart, die durch unnötiges Schreiben in den Haupt
speicher bei jeder Aktualisierung des Cache verloren würde.
Darüberhinaus minimiert die Rückschreib-Cache-Speicherung den
Verkehr auf dem Bus, wodurch der Bus für andere Kommunikationen
frei wird.
Ein Problem tritt auf, wenn das Rücksetzpin zum Erreichen
des realen Betriebsmodus angesteuert wird, und zwar insbeson
dere dann, wenn wegen seiner im Vergleich zu einem Durch
schreib-Cache größeren Schnelligkeit ein Rückschreib-Cache im
Mikroprozessor implementiert wurde. Bei einem vollständigen
Rücksetzen wird der Cache reinitialisiert und sein Gesamtin
halt, einschließlich irgendwelcher vorgenommener Änderungen,
geht verloren. Wenn der Cache vom Rückschreib-Typ ist, würden
diese Änderungen nicht in den Hauptspeicher geschrieben werden,
und der Hauptspeicher würde folglich unrichtige Daten enthalten
- ein Ergebnis, das unakzeptabel ist. Wenn der Cache-Inhalt in
den Speicher geschrieben würde, um den Speicher mit den korrek
ten Daten zu aktualisieren, würde ein großer Verlust an Lei
stungsfähigkeit auftreten. Eine beträchtliche Zeit würde beim
Schreiben des Inhalts des gesamten Cache verlorengehen. Dar
überhinaus kann der Verlust der Cache-Inhalte bei der Reinitia
lisierung eine Verringerung der Betriebsgeschwindigkeit bewir
ken, weil der Cache häufig benutzte Daten und Befehle enthielt.
Obwohl nicht sämtliche Cache-Informationen verwendet würden,
wäre es möglich, daß ein wesentlicher Teil des Cache erneut be
nutzt wird. Dieser Cache-Speicher müßte während des normalen
Betriebs des Mikroprozessors erneut gefüllt werden - eine Auf
gabe, die einen wesentlichen Teil der Zeit des Mikroprozessors
unnötig verbraucht. Aus diesen und anderen Gründen ist es wün
schenswert, während des Umschaltens zwischen den Moden den In
halt des Cache beizubehalten.
Aufgabe der Erfindung ist es daher, einen Mikroprozessor
zur Verfügung zu stellen, der schnell und direkt zwischen dem
Realmodus und dem geschützten Modus umschalten kann, während
der Inhalt eines Rückschreib-Cache erhalten bleibt, ohne dessen
Inhalt in den Speicher schreiben zu müssen.
Diese Aufgabe wird erfindungsgemäß durch einen
Mikroprozessor mit den Merkmalen des Anspruchs 1 bzw. durch ein
Verfahren mit den Merkmalen des Anspruchs 6 gelöst.
Die vorliegende Erfindung ist auf Mikroprozessoren anwend
bar, die zwei oder mehr Betriebsmoden haben, einschließlich ei
nes anfänglichen Modus, in welchen der Mikroprozessor bei Inbe
triebnahme versetzt wird, und eines zweiten Betriebsmodus, der
nach der Inbetriebnahme ausgewählt werden kann. Der zweite Be
triebsmodus kann Verbesserungen gegenüber dem anfänglichen Mo
dus enthalten, wie beispielsweise Verbesserungen der Geschwin
digkeit, der Effizienz und der Betriebsmöglichkeiten. Ein er
findungsgemäßer Mikroprozessor ist mit früheren, weniger kom
plizierten Versionen des Mikroprozessors kompatibel und die für
den einen geschriebene Software ist sofort auf dem anderen
lauffähig.
Die Erfindung schafft einen Mehrfach-Modus-Mikroprozessor
mit einem schnellen, effizienten Umschaltvermögen zwischen den
Moden, während selektiv die Inhalte ausgewählter Speicherele
mente im Inneren des Mikroprozessors aufrechterhalten werden.
Die aufrechterhaltenen Speicherelemente können einen internen
Cache und Fließkommaregister enthalten. Der hier beschriebene
Mikroprozessor enthält ein INIT-Pin, das extern an dem eine
Steuereinheit enthaltenden Mikroprozessor-Chipgehäuse zur Ver
fügung gestellt wird. Die Steuereinheit ist außerdem mit mehre
ren Registern im Inneren des Mikroprozessors verbunden. Es ist
ein für den Mikroprozessor zugreifbares Mikroprogramm vorgese
hen, das Befehle zum Reinitialisieren einiger dieser Register
innerhalb des Mikroprozessors zur Verfügung stellt, so daß der
Mikroprozessor in seinen anfänglichen Betriebsmodus, beispiels
weise den Realmodus, versetzt wird, während selektiv die In
halte interner Speicherelemente einschließlich des Cache und
der Fließkommaregister aufrechterhalten werden.
Im Betrieb wird das INIT-Pin durch ein elektrisches Signal
angesteuert, das von irgendeiner beliebigen konventionellen
Quelle, wie beispielsweise einem I/O-Port zur Verfügung ge
stellt wird. Ein Ansteuern des INIT-Pins wiederum steuert die
Steuereinheit an, welche auf das Mikroprogramm zugreift. Unter
Verwendung des Mikroprogramms reinitialisiert die Steuereinheit
selektiv viele der Mikroprozessor-Register, während speziell
die Inhalte des Cache und der Fließkommaregister aufrechterhal
ten werden.
Wie bereits gesagt, schafft die Erfindung einen Mikropro
zessor und ein Verfahren zum Wechseln zwischen einem anfängli
chen Modus und einem sekundären Betriebsmodus, der ein höheres
Funktionalitätsniveau aufweisen kann. Der anfängliche Modus
kann ein Real-Adreß-Modus (Realmodus), wie beispielweise im In
tel-Mikroprozessor 8086 zum Abarbeiten älterer, für den 8086
geschriebener Software-Pakete sein. Der zweite Modus kann ein
Modus höheren Niveaus, wie beispielsweise der geschützte Modus
des Mikroprozessors 80486 sein, der eine ausgeklügeltere Archi
tektur und größere Fähigkeiten als der Realmodus hat. Im Kon
text des Intel-Mikroprozessors bietet die Erfindung Vorteile
für Computerhersteller und -nutzer, die Kompatibilität mit frü
heren Software- und Hardware-Systemen, die den Intel 8086 und
seine Nachfolger verwenden, wünschen. Speziell der Realmodus
ist nützlich für jene, die ein Abarbeiten älterer, weniger kom
plizierter Software mit einer dem ursprünglichen 8086 ähnlichen
Architektur wünschen. Das INIT-Pin ist insbesondere nützlich
zur Erzielung der Kompatibilität mit dem IBM PC/AT. Für einen
Benutzer ist die Wirkung des Anlegens eines Signals an das
INIT-Pin ein Rücksetzen, das den Mikroprozessor veranlaßt, im
Realmodus erneut zu starten; jedoch werden, im Gegensatz zu ei
nem normalen Rücksetzen, die Inhalte des Cache nicht reinitia
lisiert oder in irgendeiner Weise geändert.
Die vorliegende Erfindung bietet einen Vorteil, wenn sie in
Verbindung mit einem "Rückschreib"-Cache verwendet wird. Wenn
der Cache ein Rückschreib-Cache ist, der noch nicht in den
Hauptspeicher gesicherte aktualisierte Daten enthält, vermeidet
die Erfindung den Verlust der für das Schreiben der Inhalte zum
Hauptspeicher erforderlichen Zeit. Das Ergebnis ist ein Mikro
prozessor mit höherer Leistungsfähigkeit.
Im beschriebenen Ausführungsbeispiel können die ausgewähl
ten reinitialisierten Register ein Steuerregister, Flag-Regi
ster, ein Befehlszähler-Register, Segment-Register, Interrupt-
Deskriptortabellen-Register und ein Debug-Steuerregister ent
halten. In einem anderen Schritt wird eine Datenstruktur in ei
ner Form errichtet, die für den anfänglichen Modus geeignet
ist. Während der Modus-Umschaltoperationen bleiben die Inhalte
des Cache ungeändert und intakt. Der Mikroprozessor kann außer
dem eine Fließkommaeinheit mit Fließkommaregistern enthalten,
welche bei den Modus-Umschaltoperationen ungeändert bleiben.
Dieses Merkmal hält die Kompatibilität mit Mikroprozessoren
aufrecht, die eine getrennte Fließkommaeinheit verwenden, wel
che normalerweise nicht durch ein vollständiges Rücksetzen des
Mikroprozessors beeinflußt wird.
Ein weiterer Vorteil besteht darin, daß das INIT-Pin bei
Mikroprozessoren, die ein Initialisierungs-Mikroprogramm ent
halten, bei geringen Kosten leicht implementiert werden kann.
Das Initialisierungs-Mikroprogramm kann entweder teilweise oder
insgesamt im wesentlichen ohne Änderungen verwendet werden;
d. h. es ist nicht erforderlich, ein komplett neues Programm zu
schreiben. Nur eine relativ geringe Menge zusätzlichen Pro
gramms wird benötigt, um die Initialisierungsroutinen aufzuru
fen, und der Bedarf an zusätzlichem Raum im Mikroprogramm ist
minimal. Folglich kann die INIT-Reinitialisierung durch geringe
Zusätze leicht in Mikroprozessoren implementiert werden, die
bereits eine Rücksetz-Firmware enthalten. Anders ausgedrückt,
kann die INIT-Reinitialisierung als ein Interrupt hoher Priori
tät verstanden werden, das bestimmte Register im Mikroprozessor
stark beeinflußt.
Insgesamt schafft die Erfindung ein billiges, effizientes
Verfahren zum Umschalten in den anfänglichen Betriebsmodus. Es
ist insbesondere zweckmäßig für die Abarbeitung existierender
Software-Programme, die den anfänglichen Betriebsmodus zur Aus
führung ihrer Befehle verwenden.
Im folgenden wird die Erfindung anhand eines in der Zeich
nung dargestellten Ausführungsbeispiels näher beschrieben. In
der Zeichnung zeigen:
Fig. 1 ein Mikroprozessor-Chipgehäuse mit einer Anzahl ex
tern angebrachter elektrischer Pins;
Fig. 2 ein Blockschaltbild eines erfindungsgemäßen ein
INIT-Pin aufweisenden Mikroprozessors, das den Un
terschied zwischen den Verbindungen des INIT-Pins
und des Rücksetz-Pins veranschaulicht;
Fig. 3 ein Ablaufdiagramm des erfindungsgemäßen Verfahrens;
und
Fig. 4 eine Tabelle, die die Inhalte ausgewählter Register
und des Cache-Speichers nach einer INIT-Reinitiali
sierung und außerdem den Cache-Inhalt nach einer In
betriebnahme- bzw. Rücksetz-Initialisierung zeigt.
Die Erfindung wird erläutert durch Bezugnahme auf die Figu
ren, wobei gleiche Teile durchgehend mit gleichen Bezugszeichen
bezeichnet sind.
Fig. 1 zeigt ein konventionelles Mikroprozessor-Chipgehäuse
10 mit einer Mehrzahl externer elektrischer Pins 12. Jedes der
elektrischen Pins 12 hat eine sich auf die Mikroprozessoropera
tion beziehende spezielle Funktion. Die erfindungsgemäße Ein
richtung enthält zumindest eines dieser elektrischen Pins.
Der Mikroprozessor 10 des bevorzugten Ausführungsbeispiels
arbeitet in einem von verschiedenen Moden, die einen Real-
Adreß-Modus (Realmodus) und einen geschützten Modus enthalten.
Diese Moden entsprechen den Moden des Mikroprozessors i486 der
Intel Corporation. Beschreibungen des Mikroprozessors i486 sind
in zahlreichen Veröffentlichungen verfügbar, wie beispielsweise
in "i486 Microprocessor Programmer's Reference Manual" von In
tel Literature Sales, P. O. Box 58130, Santa Clara, Kalifornien
95052-8130. Im beschriebenen Ausführungsbeispiel ist der Re
almodus der anfängliche Modus, in welchen der Mikroprozessor
bei Inbetriebnahme bzw. in äquivalenter Weise bei einem voll
ständigen Rücksetzen, wenn das Rücksetz-Pin angesteuert ist,
initialisiert wird. Der geschützte Modus enthält zahlreiche
Verbesserungen hinsichtlich der Geschwindigkeit und der Funkti
onsfähigkeiten gegenüber dem Realmodus.
Fig. 2 ist ein Blockschaltbild des beschriebenen Ausfüh
rungsbeispiels, das ein INIT-Pin 14 und seine Verbindungen mit
einer Steuereinheit 16 und einer Registerdatei 18 zeigt. Fig. 2
zeigt außerdem ein Rücksetz-Pin 20 und seine Verbindungen mit
der Steuereinheit 16, einem ein Gültig/Ungültig-Bit 23 für jede
Cache-Zeile enthaltenden Cache-Block 22 und einer Fließkomma
einheit 24 mit Fließkommaregistern 25. Die Steuereinheit 16
kann entsprechend ihren Betriebserfordernissen auf ein
Mikroprogramm 26 zugreifen. Üblicherweise enthält das
Mikroprogramm 26 sowohl für zu beschreibende
Inbetriebnahmeoperationen als auch für andere Operationen
erforderliche Programme. Das Mikroprogramm 26 kann in
herkömmlicher Weise in einem internen ROM (Nur-Lese-Speicher)
im Mikroprozessor 10 oder in einem externen ROM zur Verfügung
gestellt werden.
Die Steuereinheit 16 ist mit der Registerdatei 18 verbun
den, welche Mehrzweckregister 29, Steuerregister 30, ein Be
fehlszähler-Register 32, Segmentregister 34, Interrupt-Deskrip
tortabellen-Register 36 und ein Debug-Steuerregister 38 ent
hält. Diese Register und ihre Funktionen sind ähnlich denen der
Register im Mikroprozessor i486 der Intel Corporation.
Im bevorzugten Ausführungsbeispiel ist das Rücksetz-Pin 20
hardware-orientiert; es ist direkt mit den geeigneten Zustands
elementen verbunden, so daß bei Anstehen eines Rücksetz-Si
gnals, jedes geeignete Register nahezu sofort gelöscht wird. Im
Vergleich dazu ist das INIT-Pin 14 direkt mit der Steuereinheit
16 verbunden, welche die Operationen innerhalb des Mikroprozes
sors 10 steuert. Bei Anstehen und Erkennen eines Signals führt
das INIT-Pin 14 ein Interrupt hoher Priorität innerhalb der
Steuereinheit 16 aus.
Fig. 3 ist ein Ablaufplan, der den Ablauf der dem erfin
dungsgemäßen Verfahren entsprechenden Operationen zeigt, wobei
der Betriebsmodus des Mikroprozessors 10 in einen anfänglichen
Modus (den "realen" Modus im bevorzugten Ausführungsbeispiel)
umgeschaltet wird. Beginnend bei einem Kasten 40 wird ein elek
trisches Signal angelegt, um das INIT-Pin 14 anzusteuern. Das
elektrische Signal kann durch irgendeines einer Reihe von her
kömmlichen Bauelementen, wie beispielsweise einem I/O-Port in
einem IBM-PC/AT zur Verfügung gestellt werden, und das Signal
kann entweder einen hohen oder einen niedrigen digitalen Pegel
aufweisen. Als nächstes wird bei einem Kasten 42 ein elektri
sches Signal an die Steuerschaltung 16 angelegt. Eine durch die
Steuerschaltung 16 gesteuerte Operationsfolge wird mit Hilfe
eines Programms des Mikroprogramms 26 gestartet, wobei die Re
gister der Registerdatei 18 in ihre anfänglichen Zustände ver
setzt werden (Kasten 44). In Fig. 4 sind Anfangszustände der
ausgewählten Register der Registerdatei 18 für das bevorzugte
Ausführungsbeispiel gezeigt. In einer Tabelle sind die speziel
len Register und ihre Anfangszustände sowohl für INIT als auch
für Rücksetzen in hexadezimaler Schreibweise dargestellt.
Aus der Tabelle gemäß Fig. 4 stellt man fest, daß für die
Register 30, 32, 34, 36, 38 der durch INIT reinitialisierte Zu
stand identisch mit dem durch Rücksetzen initialisierten Zu
stand übereinstimmt. Im Betrieb greift der INIT-Reinitialisie
rungsprozeß auf einen Teil des Mikroprogramms 26 zu, das für
die Rücksetz-Initialisierung programmiert ist. In den Fließkom
maregistern 25 wird ein Wert aufrechterhalten, der identisch
mit dem Wert vor dem Anlegen des elektrischen Signals an das
INIT-Pin 14 übereinstimmt. Dies steht im Gegensatz zum Rück
setz-Initialisierungszustand mit Selbsttest, bei dem die Fließ
kommaregister 25 in den spezifizierten Zustand eingestellt wer
den. Darüber hinaus werden bei dem Cache 22 in der INIT-Re
initialisierung die Cache-Zeilen als gültig aufrechterhalten,
und die Inhalte des Cache 22 verbleiben ungestört; im Gegensatz
dazu versetzt die Rücksetz-Initialisierung die Inhalte in den
Zustand ungültig. Als Hinweis sei angemerkt, daß der Anfangszu
stand beim Rücksetzen identisch mit dem des Mikroprozessors
i486 übereinstimmt.
Im folgenden wird wieder auf Fig. 3, dem Ablaufplan des
INIT-Reinitialisierungsprozesses Bezug genommen. Ein Kasten 46
zeigt, daß die Inhalte des Cache 22 als gültig aufrechterhalten
werden, und ein Kasten 48 zeigt, daß die Werte in den Fließkom
maregistern 25 ebenfalls als gültig aufrechterhalten werden.
Anschließend werden bei einem Kasten 50 Datenstrukturen errich
tet, die an den Realmodus angepaßt sind. Der Mikroprozessor 10
wird dann in den Realmodus versetzt.
Wie im bevorzugten Ausführungsbeispiel implementiert, kann
die INIT-Reinitialisierung als ein Interrupt hoher Priorität
verstanden werden, das bestimmte Register im Mikroprozessor 10
stark beeinflußt. Speziell greift die Sequenz auf einen Teil,
aber nicht auf das gesamte Mikroprogramm zu, das normalerweise
für eine Rücksetz-Initialisierung verwendet wird. Folglich kann
die INIT-Reinitialisierung unter Verwendung des bereits vorge
sehenen Rücksetz-Mikroprogramms mit einiger zusätzlicher
Steuer-Mikrocode-Programmierung implementiert werden. Es sei
angemerkt, daß im bevorzugten Ausführungsbeispiel aufgrund des
sen, daß die INIT-Reinitialisierung als ein Interrupt hoher
Priorität dient, es möglich ist, daß der Prozessor es nicht so
fort erkennt, d. h., daß einige Zeit zwischen der Ansteuerung
des INIT-Pins 14 und deren Erkennung durch die Steuereinheit 16
vergeht.
Im bevorzugten Ausführungsbeispiel ist der Cache 22 vom
"Rückschreib"-Typ im Gegensatz zu einem "Durchschreib"-Cache.
Wie einleitend erörtert wurde, funktionieren beide Cache-Typen
beim Lesen von Daten ähnlich; jedoch beim Schreiben aktuali
siert ein Durchschreib-Cache sowohl den Cache als auch den
Hauptspeicher. Bei einem Rückschreib-Cache werden die Cache-In
halte ohne ein Schreiben in den Hauptspeicher aktualisiert. Bei
der Rückschreib-Cache-Speicherung tritt ein Schreiben der ak
tualisierten Ergebnisse in den Hauptspeicher nur dann auf, wenn
spezielle Operationen ausgeführt werden, beispielsweise wenn
neue Cache-Zeilen zugewiesen werden, nachdem der Cache bereits
voll ist.
Der Cache 22 im bevorzugten Ausführungsbeispiel enthält
einen Daten-Cache, der häufig verwendete Daten speichert, und
einen davon getrennten Befehls-Cache, der häufig benutzte Be
fehle speichert. Im bevorzugten Ausführungsbeispiel werden die
Inhalte beider Cache-Speicher als gültig aufrechterhalten. Für
einige Anwendungen kann es ausreichend sein, nur den Inhalt des
Daten-Cache aufrechtzuerhalten, und in anderen Anwendungen kann
es ausreichend sein, nur den Inhalt des Befehls-Cache aufrecht
zuerhalten. In anderen Ausführungsbeispielen kann der Cache 22
nur einen Cache-Speicher für Befehle und Daten enthalten, oder
in wiederum anderen Ausführungsbeispielen kann der Cache 22
zwei oder mehr Cache-Speicher aufweisen.
Claims (8)
1. Mikroprozessor mit zumindest zwei Betriebsmodi, einem
anfänglichen Modus und einem zweiten Modus, wobei der anfängli
che Modus der Modus ist, in welchen der Mikroprozessor (10) bei
Inbetriebnahme initialisiert wird, wobei der Mikroprozessor ei
nen Mikroprogrammspeicher (26), eine mit dem Mikroprogrammspei
cher (26) gekoppelte Steuereinheit (16) zum Empfangen und
Ausführen von Mikroprogrammen und zum Empfangen von Interrupt-
Signalen, eine mit der Steuereinheit (16) gekoppelte Mehrzahl
von Registern (18) zum Speichern von Registerdaten, einen mit
der Steuereinheit gekoppelten internen Rückschreib-Cache-
Speicher (22) zum Speichern von Daten und ein Rücksetz-Pin (20)
aufweist,
dadurch gekennzeichnet,
daß in dem Mikroprogrammspeicher (26) ein Mikroprogramm zum unbedingten Übergehen vom zweiten Modus in den anfänglichen Modus bei gleichzeitigem Aufrechterhalten der Gültigkeit des Inhalts des internen Rückschreib-Cache-Speicher (22) und zum Re-Initialisieren von jenen Registern, die den Mikroprozessor in seinen anfänglichen Betriebsmodus versetzen, gespeichert ist,
daß das Rücksetz-Pin (20) mit dem internen Rückschreib- Cache-Speicher (22) und der Mehrzahl von Registern (18) gekop pelt ist, um bei Anlegen eines Signals an das Rücksetz-Pin (20) den Mikroprozessor durch Rücksetzen der Inhalte der Mehrzahl von Registern (18) und durch Ungültig-Machen des Inhalts des internen Rückschreib-Cache-Speichers (22) zurückzusetzen, und
daß ein weiteres externes elektrisches Pin (14) vorgesehen ist, das mit der Steuereinheit (16), aber nicht mit dem inter nen Rückschreib-Cache-Speicher (22) und der Mehrzahl von Registern (18) gekoppelt ist, so daß bei Anlegen eines Signals an das weitere externe Pin (14) ein Interrupt hoher Priorität an die Steuereinheit (16) angelegt wird, wobei die Steuereinheit eine Einrichtung zum Anhalten des Mikroprozessors und zum unbedingten Ausführen des Übergangsmikroprogramms aktiviert, wenn das Interrupt erkannt wird.
daß in dem Mikroprogrammspeicher (26) ein Mikroprogramm zum unbedingten Übergehen vom zweiten Modus in den anfänglichen Modus bei gleichzeitigem Aufrechterhalten der Gültigkeit des Inhalts des internen Rückschreib-Cache-Speicher (22) und zum Re-Initialisieren von jenen Registern, die den Mikroprozessor in seinen anfänglichen Betriebsmodus versetzen, gespeichert ist,
daß das Rücksetz-Pin (20) mit dem internen Rückschreib- Cache-Speicher (22) und der Mehrzahl von Registern (18) gekop pelt ist, um bei Anlegen eines Signals an das Rücksetz-Pin (20) den Mikroprozessor durch Rücksetzen der Inhalte der Mehrzahl von Registern (18) und durch Ungültig-Machen des Inhalts des internen Rückschreib-Cache-Speichers (22) zurückzusetzen, und
daß ein weiteres externes elektrisches Pin (14) vorgesehen ist, das mit der Steuereinheit (16), aber nicht mit dem inter nen Rückschreib-Cache-Speicher (22) und der Mehrzahl von Registern (18) gekoppelt ist, so daß bei Anlegen eines Signals an das weitere externe Pin (14) ein Interrupt hoher Priorität an die Steuereinheit (16) angelegt wird, wobei die Steuereinheit eine Einrichtung zum Anhalten des Mikroprozessors und zum unbedingten Ausführen des Übergangsmikroprogramms aktiviert, wenn das Interrupt erkannt wird.
2. Mikroprozessor nach Anspruch 1, dadurch gekennzeichnet,
daß der Mikroprozessor Gleitkommaregister (25) aufweist, und
das beim Abarbeiten des Übergangsmikroprogramms die Inhalte der
Gleitkommaregister (25) aufrechterhalten bleiben.
3. Mikroprozessor nach Anspruch 1 oder 2, dadurch gekenn
zeichnet, daß das Übergangsmikroprogramm Register, einschließ
lich eines CRO-Registers (in 30), eines EFLAGS-Registers (in
30), eines Befehlszeigerregisters (32), eines Segmentregisters
(34), eines Interrupt-Deskriptortabellen-Registers (36) und ei
nes Debug-Steuerregisters (38), selektiv re-initialisiert.
4. Mikroprozessor nach einem der Ansprüche 1 bis 3, dadurch
gekennzeichnet, daß ein zweiter interner Rückschreib-Cache-
Speicher vorgesehen ist, wobei beim Abarbeiten des
Übergangsmikroprogramms die Inhalte des zweiten internen
Rückschreib-Cache-Speichers nicht ungültig gemacht werden.
5. Mikroprozessor nach einem der Ansprüche 1 bis 4, dadurch
gekennzeichnet, daß der Mikroprogrammspeicher ein Initialisie
rungsmikroprogramm zum Initialisieren des Mikroprozessors in
den anfänglichen Modus nach Anlegen eines Signals an das Rück
setz-Pin (20) aufweist.
6. Verfahren zum Konvertieren des Betriebs eines Mikropro
zessors aus einem zweiten Betriebsmodus in einen anfänglichen
Betriebsmodus, wobei der Mikroprozessor (10) einen internen
Rückschreib-Cache-Speicher (22), Register (18) und eine
Steuereinheit (16) aufweist,
dadurch gekennzeichnet,
- a) daß in dem zweiten Betriebsmodus ein elektrisches Signal an ein mit der Steuereinheit (16), aber nicht mit dem internen Rückschreib-Cache-Speicher (22) und den Registern (18) gekoppeltes Pin (14) angelegt wird, um ein Interrupt einer hohen Priorität anzulegen, und
- b) daß nach Erkennen des Interrupts und Anhalten des Be triebs des Mikroprozessors (10) die Inhalte ausgewählter Register auf ihren anfänglichen Zustand re-initialisiert werden, wobei als ausgewählte Register jene Register ausgewählt werden, die den Mikroprozessor in seinen anfänglichen Betriebs modus versetzen, während die Inhalte des internen Rückschreib- Cache-Speichers (22) aufrechterhalten werden.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß
beim Re-Initialisieren der ausgewählten Register ein Steuerre
gister, ein Flag-Register, ein Befehlszeiger-Register, Seg
mentregister, Interrupt-Deskriptortabellen-Register und ein De
bug-Steuerregister zurückgesetzt werden.
8. Verfahren nach Anspruch 6 oder 7, dadurch gekennzeich
net, daß der Mikroprozessor eine Gleitkommaeinheit mit Gleit
kommaregistern aufweist, wobei im Schritt b) die Inhalte der
Gleitkommaregister aufrechterhalten werden.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US79458491A | 1991-11-19 | 1991-11-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE4238099A1 DE4238099A1 (de) | 1993-05-27 |
DE4238099C2 true DE4238099C2 (de) | 1998-06-10 |
Family
ID=25163066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4238099A Expired - Fee Related DE4238099C2 (de) | 1991-11-19 | 1992-11-11 | Mikroprozessor mit mehreren Betriebsmoden |
Country Status (7)
Country | Link |
---|---|
US (1) | US5555423A (de) |
JP (1) | JPH05257808A (de) |
KR (1) | KR100261527B1 (de) |
CN (1) | CN1040156C (de) |
DE (1) | DE4238099C2 (de) |
GB (1) | GB2261753B (de) |
HK (1) | HK1006754A1 (de) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2102883A1 (en) * | 1993-02-26 | 1994-08-27 | James W. Arendt | System and method for lazy loading of shared libraries |
US6282645B1 (en) | 1994-02-28 | 2001-08-28 | Kabushiki Kaisha Toshiba | Computer system for reading/writing system configuration using I/O instruction |
US5860125A (en) * | 1995-11-08 | 1999-01-12 | Advanced Micro Devices, Inc. | Integrated circuit including a real time clock, configuration RAM, and memory controller in a core section which receives an asynchronous partial reset and an asynchronous master reset |
US5898232A (en) * | 1995-11-08 | 1999-04-27 | Advanced Micro Devices, Inc. | Input/output section of an integrated circuit having separate power down capability |
WO1997022922A1 (en) * | 1995-12-15 | 1997-06-26 | Intel Corporation | Instruction encoding techniques for microcontroller architecture |
US5784625A (en) * | 1996-03-19 | 1998-07-21 | Vlsi Technology, Inc. | Method and apparatus for effecting a soft reset in a processor device without requiring a dedicated external pin |
KR100465636B1 (ko) * | 1997-09-30 | 2005-04-06 | 주식회사 하이닉스반도체 | 디램의 리프레쉬 제어회로 |
CN100354820C (zh) * | 1999-12-31 | 2007-12-12 | 英特尔公司 | 外部微代码 |
US6857065B2 (en) * | 2001-07-05 | 2005-02-15 | International Business Machines Corporation | System and method for system initializating a data processing system by selecting parameters from one of a user-defined input, a serial non-volatile memory and a parallel non-volatile memory |
US20050076277A1 (en) * | 2003-10-02 | 2005-04-07 | Erwin Thalmann | Test apparatus with static storage device and test method |
US7389455B2 (en) * | 2005-05-16 | 2008-06-17 | Texas Instruments Incorporated | Register file initialization to prevent unknown outputs during test |
GB2550903B (en) * | 2016-05-27 | 2019-06-12 | Arm Ip Ltd | Context data control |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4628448A (en) * | 1981-04-21 | 1986-12-09 | Tokyo Shibaura Denki Kabushiki Kaisha | Operation mode setting apparatus on a single chip microprocessor |
US4677548A (en) * | 1984-09-26 | 1987-06-30 | Honeywell Information Systems Inc. | LSI microprocessor chip with backward pin compatibility and forward expandable functionality |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4435068A (en) * | 1981-05-29 | 1984-03-06 | Savin Corporation | Apparatus for electrophotography |
US4458310A (en) * | 1981-10-02 | 1984-07-03 | At&T Bell Laboratories | Cache memory using a lowest priority replacement circuit |
US4779187A (en) * | 1985-04-10 | 1988-10-18 | Microsoft Corporation | Method and operating system for executing programs in a multi-mode microprocessor |
US4829472A (en) * | 1986-10-20 | 1989-05-09 | Microlytics, Inc. | Spelling check module |
US4958302A (en) * | 1987-08-18 | 1990-09-18 | Hewlett-Packard Company | Graphics frame buffer with pixel serializing group rotator |
GB8801472D0 (en) * | 1988-01-22 | 1988-02-24 | Int Computers Ltd | Dynamic random-access memory |
JP2533612B2 (ja) * | 1988-05-16 | 1996-09-11 | 富士通株式会社 | メモリのデ―タ保護方式 |
US5088026A (en) * | 1990-02-09 | 1992-02-11 | International Business Machines Corporation | Method for managing a data cache using virtual external storage addresses as arguments |
-
1992
- 1992-08-24 GB GB9217947A patent/GB2261753B/en not_active Expired - Lifetime
- 1992-09-30 CN CN92111283A patent/CN1040156C/zh not_active Expired - Lifetime
- 1992-10-07 KR KR1019920018331A patent/KR100261527B1/ko not_active IP Right Cessation
- 1992-11-11 DE DE4238099A patent/DE4238099C2/de not_active Expired - Fee Related
- 1992-11-17 JP JP4329917A patent/JPH05257808A/ja active Pending
-
1995
- 1995-07-26 US US08/507,715 patent/US5555423A/en not_active Expired - Lifetime
-
1998
- 1998-06-22 HK HK98105911A patent/HK1006754A1/xx not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4628448A (en) * | 1981-04-21 | 1986-12-09 | Tokyo Shibaura Denki Kabushiki Kaisha | Operation mode setting apparatus on a single chip microprocessor |
US4677548A (en) * | 1984-09-26 | 1987-06-30 | Honeywell Information Systems Inc. | LSI microprocessor chip with backward pin compatibility and forward expandable functionality |
Non-Patent Citations (1)
Title |
---|
US-Z: "Electronic Design" 26. September 1991, S. 53-61 * |
Also Published As
Publication number | Publication date |
---|---|
JPH05257808A (ja) | 1993-10-08 |
CN1072521A (zh) | 1993-05-26 |
HK1006754A1 (en) | 1999-03-12 |
GB2261753A (en) | 1993-05-26 |
US5555423A (en) | 1996-09-10 |
KR930010732A (ko) | 1993-06-23 |
DE4238099A1 (de) | 1993-05-27 |
GB9217947D0 (en) | 1992-10-07 |
KR100261527B1 (ko) | 2000-07-15 |
GB2261753B (en) | 1995-07-12 |
CN1040156C (zh) | 1998-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69723286T2 (de) | Echtzeitprogramm-sprachbeschleuniger | |
DE4215063C2 (de) | Einrichtung und Verfahren zum Seitenwechsel bei einem nicht-flüchtigen Speicher | |
DE60005563T2 (de) | Rechnersysteminitialisierung durch in einem speicher mit sequentiellem zugriff gespeicherten urlade-code | |
DE10393920B4 (de) | Verfahren und Systeme zur Steuerung virtueller Maschinen | |
DE69737423T2 (de) | Verfahren und gerät zum replizieren von datenspeicherung in einem fortgeschrittenen mikroprozessor | |
DE60103414T2 (de) | Cpu, die auf ein erweitertes registerset in einem erweiterten registermodus zugreift und entsprechendes verfahren | |
DE112004001605B4 (de) | Computersystem, in welchem eine abgesicherte Ausführungsumgebung angewendet wird und in dem eine Speichersteuerung enthalten ist, die zum Löschen des Speichers ausgebildet ist | |
DE69811474T2 (de) | Rechnerarchitektur zur aufschiebung von exceptions statischer spekulativer befehle | |
DE102007025397B4 (de) | System mit mehreren Prozessoren und Verfahren zu seinem Betrieb | |
DE4238099C2 (de) | Mikroprozessor mit mehreren Betriebsmoden | |
DE102004057756B4 (de) | USB-Steuerungseinrichtung mit OTG-Steuerungseinheit | |
DE69817170T2 (de) | Emulation von unterbrechungsmechanismus in einem multiprozessorsystem | |
DE4329336A1 (de) | Einrichtung und Verfahren zur Identifizierung eines Computer-Mikroprozessors | |
DE2517276A1 (de) | Datenverarbeitungssystem | |
DE69727177T2 (de) | Emulation von asynchronen Signalen mit Verzweigungsmechanismus | |
EP0500973A1 (de) | Initialisierungsroutine im EEPROM | |
DE3911721C2 (de) | ||
DE69831985T2 (de) | Mikrocomputer mit Flash-EEPROM | |
WO2005003960A2 (de) | Prozessorarchitektur für exakte zeigeridentifizierung | |
DE69839113T2 (de) | Direkte Vectoremulation eines geerbten Befehlssatzes | |
DE19882617B4 (de) | Speicherattributpalette | |
DE3700800C2 (de) | Einrichtung zur Erzeugung eines Unterbrechungspunktes in einem Mikroprozessor | |
EP1407348B1 (de) | Verfahren zum ansteuern einer zentralen verarbeitungseinheit für eine adressierung bezüglich eines speichers und controller | |
DE102007015507B4 (de) | Prozessor mit einem ersten und einem zweiten Betriebsmodus und Verfahren zu seinem Betrieb | |
DE19946959B4 (de) | Verfahren zum Laden von Daten für grundlegende Systemroutinen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |
Effective date: 20110601 Effective date: 20110531 |