DE4238099C2 - Mikroprozessor mit mehreren Betriebsmoden - Google Patents

Mikroprozessor mit mehreren Betriebsmoden

Info

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
Application number
DE4238099A
Other languages
English (en)
Other versions
DE4238099A1 (de
Inventor
Edward T Grochowski
Peter D Macwilliams
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=25163066&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE4238099(C2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE4238099A1 publication Critical patent/DE4238099A1/de
Application granted granted Critical
Publication of DE4238099C2 publication Critical patent/DE4238099C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming 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.
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.
DE4238099A 1991-11-19 1992-11-11 Mikroprozessor mit mehreren Betriebsmoden Expired - Fee Related DE4238099C2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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