DE112005003216T5 - System und Verfahren für Steuerregister, auf die über private Rechenoperationen zugegriffen wird - Google Patents

System und Verfahren für Steuerregister, auf die über private Rechenoperationen zugegriffen wird Download PDF

Info

Publication number
DE112005003216T5
DE112005003216T5 DE112005003216T DE112005003216T DE112005003216T5 DE 112005003216 T5 DE112005003216 T5 DE 112005003216T5 DE 112005003216 T DE112005003216 T DE 112005003216T DE 112005003216 T DE112005003216 T DE 112005003216T DE 112005003216 T5 DE112005003216 T5 DE 112005003216T5
Authority
DE
Germany
Prior art keywords
processor
microcode
address
test
register
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.)
Ceased
Application number
DE112005003216T
Other languages
English (en)
Inventor
Jeffrey Portland Gilbert
Harris Portland Joyce
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
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE112005003216T5 publication Critical patent/DE112005003216T5/de
Ceased legal-status Critical Current

Links

Classifications

    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30101Special purpose registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3656Software debugging using additional hardware using a specific debug interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

Vorrichtung mit:
– Logik, um ausgewählte Chipset-Funktionen durchzuführen,
– einer Bus-Schnittstelle, um mit einem Prozessor in Verbindung zu treten, und
– einem Steuerregister, das durch eine Adresse außerhalb eines I/O-Adressraumes des Prozessors angesprochen wird.

Description

  • Die Erfindung betrifft im wesentlichen Mikroprozessorsysteme, und weiter insbesondere Mikroprozessorsysteme, die Steuerregister nutzen, um Systemparameter zu setzen und Systemstatusinformation zu bieten.
  • Hintergrund
  • Mikroprozessorsysteme können verschiedene Formen von Steuerregistern nutzen, um ihren Betrieb zu unterstützen. Eine Form der Steuerregister kann beschrieben werden, um Systemparameter zu setzen und das System anderweitig zu konfigurieren. Verschiedene Kombinationen von Bits in einem solchen Register können Betriebsgrenzen setzen, wie zum Beispiel die Tiefe der spekulativen Durchführung, oder der Größe eines Cache, oder können optionale Funktionsschaltkreise an- oder abschalten, wie zum Beispiel Verzweigungsvorhersagen und "Prefetch"-Einheiten, oder können Interrupts für bestimmte Ereignisse setzen oder löschen. Andere Formen von Steuerregistern erlauben es, ausgelesen zu werden, um Systemstatusinformation zu erhalten. Solche Steuerregister können auch Statusregister genannt werden. Die Statusregister können Information liefern über die Systemintegrität, den Inhalt von Programmregistern, die für Fehlerzustände vorgesehen sind, die Betriebstemperatur und andere Statusinformationen. Viele Steuerregister können sowohl beschrieben werden und ausgelesen werden. Beispiele von Steuerregistern können die MSRs (model specific registers) sein, die in den Pentium®-Klasse kompatiblen Mikroprozessoren implementiert sind.
  • Steuerregister können im wesentlichen durch spezifische Befehle von Steuerregisterzugriff oder durch spezifische Formen von allgemeinen Nutzerbefehlen, wie zum Beispiel input/output-(I/O-) Nutzerbefehlen bestehen. Die spezifischen Steuerregi sterbefehle, die für die Steuerung genutzt werden können, können innerhalb eines Prozessors angeordnet werden, und können darauf beschränkt sein, unter hohen Levels von Softwareprivilegien ausgeführt werden.
  • Zusätzlich können verschiedene Steuerregister in Abschnitten der Systemverschaltung genutzt werden, die, architekturbedingt, separat von den Prozessorfunktionseinheiten vorgesehen sind. Zum Beispiel können solche Abschnitte verschiedene Chip-Set-Funktionen umfassen oder können verschiedene Intra-System-Bus-Brücken umfassen. Oft sind diese Abschnitte der Systemschaltkreise nicht über zweckeingerichtete Schaltkreise ansprechbar, sondern nur durch vorbestimmte Datenwege, inklusive von Systembussen. Konventionelle Steuerregister, die außerhalb des Prozessors angeordnet sind, können über allgemeine I/O-Nutzerbefehle angesprochen werden, die unter niedrigen Levels der Softwareprivilegien ausgeführt werden.
  • Kurze Beschreibung der Zeichnung:
  • Die vorliegende Erfindung ist beispielsweise durch die Zeichnungen beschrieben, aber nicht durch diese begrenzt, die in den angefügten figürlichen Darstellungen vorhanden sind und in den gleiche Bezugszeichen ähnliche Elemente bezeichnen, und in denen:
  • 1 ein Diagramm des Zugriff auf Steuerregister ist, nach einem Ausführungsbeispiel der vorliegenden Erfindung,
  • 2 ein Diagramm von Speicheradreßraum nach einem Ausführungsbeispiel der vorliegenden Erfindung ist
  • 3 ein Diagramm zum Zugriff auf Steuerregister nach einem anderen Ausführungsbeispiel der vorliegenden Erfindung,
  • 5A ein schematisches System eines Systems mit Prozessoren ist, die dazu in der Lage sind, auf Steuerregister zuzugreifen, nach einem Ausführungsbeispiel der vorliegenden Erfindung.
  • 5B ist ein schematisches Diagramm eines Systems mit Prozessoren, die dazu in der Lage sind, Steuerregister anzusprechen nach einem anderen Ausführungsbeispiel der vorliegenden Erfindung.
  • Detaillierte Beschreibung
  • Die folgende Beschreibung umfaßt Techniken für Steuerregister, die eine erhöhte Zugriffssicherung aufweisen und die in Systemkomponenten durch die Architektur vorgesehen werden, die separat von den Prozessorfunktionsblöcken sind. In der folgenden Beschreibung werden eine Vielzahl von spezifischen Details, wie zum Beispiel Logik-Implementationen, Softwaremodulanordnung, Bus- und andere Interface-Signaltechniken beschrieben, und Details des Betriebs werden dargelegt, um ein besseres Verständnis der vorliegenden Erfindung zu schaffen. Es sollte jedoch klar sein, dass die Erfindung von einem Fachmann auch ohne solche spezifischen Details ausgeführt werden kann. In anderen Beispielen werden Steuerstrukturen, Gatterniveauschaltkreise und volle Softwarebefehlssequenzen nicht dargestellt, um die Erfindung nicht zu verunklaren. Der Durchschnittsfachmann wird die angefügten Beschreibungen dazu nutzen können, die geeignete Funktionalität ohne übermäßiges Ausprobieren zu implementieren. In anderen Ausführungsbespielen ist die Erfindung in der Umgebung eines Pentium® kompatiblen Prozessorsystems (wie zum Beispiel solchen, die durch die Intel® Corporation produziert werden) und den damit zusammenhängenden System und Prozessorfirmware dargestellt. Jedoch kann die Erfindung ohne diese Prozessorsysteme, wie zum Beispiel einem Itanium® Prozessor Familien kompatiblen Prozessor (solchen wie von der Intel® Corporation hergestellt werden), einem X-Scale®-Familien kompatiblen Prozessor oder einer großen Varianz von verschiedenen Vielzweckprozessoren aus irgendeinem der Prozessorarchitekturen anderer Verkäufer oder Designer durchgeführt werden. Zusätzlich können einige Ausführungsbeispiele, auf spezielle Zwecke ausgerichtete Prozessoren, umfassen oder darstellen, wie zum Beispiel Grafik, Netzwerk, Bild, Kommunikation oder andere Bekannte oder auch andere Weise zugängliche Typen von Prozessoren in Zusammenhang mit ihrer Firmware.
  • Bezugnehmend auf 1 wird ein Diagramm zum Zugriff auf Steuerregister dargestellt nach einem Ausführungsbeispiel der vorliegenden Offenbarung. Die 1 umfaßt einen Prozessor 110 und ein Chipset 130, die durch einen Bus 150 verbunden sind. In anderen Ausführungsbeispielen werden zusätzliche Prozessoren und Chipsets an den Bus 150 angeschlossen. Zusätzlich können die Chipset-Funktionen, wie zum Beispiel Schaltkreise zum Zugriff auf Speicher und input/output (I/O) Geräten zwischen andere Module verteilt werden. Der Prozessor 110 und der Chipset 130 können als separate Halbleitermodule inplementiert werden, oder können als einzelnes Modul zusammen integriert werden. In einem Ausführungsbeispiel kann der Prozessor 110 ein Pentium®-Klasse kompatibler Prozessor sein und der Bus 150 kann ein Pentium® Vorderseitenbus (FSB-front side bus) sein.
  • Der Prozessor 110 kann Nutzerbefehle von einem Befehlssatz unter der Steuerung von Mikrocode umfassen. Ein Mikrocode read-only-memory (ROM) 112 kann dazu vorgesehen werden, einen Basismikrocode-Satz zu speichern. Zusätzlich wird ein beschreibares Microcode RAM (random access memory) für Mikrocode 114 vorhanden sein, um einen anderen Mikrocode-Satz zu empfangen- In einem Ausführungsbeispiel ist dieser Mikrocode-Satz von einem Mikrocode-Patch-Bild 144 im Systemspeicher 142 oder von einem Mikrocode-Patch-Bild 148 in einem Basis-Input/Output-System (RIOS) programmierbaren ROM (PROM) 146 geladen. In anderen Ausführungsbeispielen können andere Formen der Systemfirmware als RIOS genutzt werden, wie zum Beispiel EFI (extensible firmware interface) oder andere Formen der Speicherung verschieden von PROM können benutzt werden, wie zum Beispiel Flash-Speicher.
  • Das System der 1 kann verschiedene Steuerregister nutzen. Diese Steuerregister können durch den Prozessor 110 ausgelesen werden, um Systemstatusinformationen zu ergeben, oder sie können an den Prozessor 110 geschrieben werden, um bestimmte Systembetriebsparameter zu setzen. In einigen Situationen werden Steuerregister, die ausgelesen werden können "Statusregister" genannt, aber für den Zwecke der vorliegenden Offenbarung wird der Begriff "Steuerregister" allgemein auf entweder lesbare oder beschreibbare Steuerregister angewandt oder auf lesbare oder beschreibbare Steuerregister oder auf lesbare und beschreibbare Steuerregister.
  • Konventionelle Steuerregister können in einem Ausführungsbeispiel durch den Betrieb von Nutzerbefehlen RDMSR (read machine specific register) und WRMSR (write machine specific register) ausgelesen werden oder beschrieben werden. Diese Nutzerbefehle können auf das Zugreifen auf die Steuerregister, beherbergt im separaten Adressraum begrenzt sein, auf die nicht durch andere Instruktionen zugegriffen werden kann. In einem Ausführungsbeispiel können herkömmliche Nutzer-I/O-Befehle dazu genutzt werden, herkömmliche Steuerregister anzusprechen, die im I/O-Adressraum vorhanden sind. In einem Ausführungsbeispiel kann ein solcher I/O-Adressraum auf 16-bit Adressen begrenzt werden.
  • In einem Ausführungsbeispiel können Steuerregister einer neuen Ausführungsform in der vorliegenden Offenbarung vorhanden sein. Solche neuen Steuerregister können die Steuerregister 1–N (136138) sein, die innerhalb des Chipsets 130 angeordnet sind und Steuerregister A und B (120, 122), die innerhalb des Prozessors 110 angeordnet sind. In jedem Fall können die neuen Steuerregister eine Adresse außerhalb des I/O-Adressraums besetzen. In einem Ausführungsbeispiel haben die Steuerregister 1–N (136138) und die Steuerregister A und B (120, 122) Adressen zwischen dem oberen Ende des Pentium®-Klasse kompatiblen Prozessor's I/O-Adressraums und dem oberen Ende des physikalischen Adressraums. In verschiedenen sich ändernden Ausführungsbeispielen kann das obere Ende des physikalischen Adressraums bei (232–1) oder (264–1) sein. In anderen Ausführungsbeispielen können andere Grenzen existieren, die den I/O-Adressraum von dem totalen physischen Speicherplatz trennen.
  • Da die Adressen des Steuerregisters 1–N (136138) außerhalb des Benutzer I/O-Adressraums des Prozessors 110 sind, können sie nicht über konventionelle Nutzer-I/O-Befehle zugegriffen werden. Statt dessen wird in einem Ausführungsbeispiel ein Nicht-Nutzer zugänglicher Mikrocode-Satz vorhanden sein, der Mikrocode umfaßt, der das Schreiben und Lesen von Steuerregistern 1–N (136138) ermöglicht. In anderen Ausführungsbeispielen können andere Formen privater Operationen, anders als die Mikrocode-Ausführung, dazu genutzt werden, auf die Steuerregister 1–N (136138) zuzugreifen.
  • In einem Ausführungsbeispiel erlaubt der Mikrocode das Schreiben auf und das Lesen von Steuerregistern 1–N (136138) und Steuerregistern A und B (120, 122) die von existierenden Mikrocode modifiziert werden können, der die Nutzerbefehle RDMSR und WRMSR implementiert. Die existierenden Mikrocodes für von RDMSR und WDMSR umfassen einen Mikro-Befehl, der die Daten, die in einem 32-bit physischen Register vorhanden sind, aufnimmt, die ein logisches Allzweckregister ECX bedeuten. Diese 32-Bit Adresse wird dann dazu genutzt, als Adresse der gewünschten MSR in dem separaten Adressraum zu dienen, die die Steuerregister umfassen.
  • Um den Mikrocode zu erzeugen, der auf die neuen Steuerregister zugreift, wie zum Beispiel Steuerregister 1–N (136138) und Steuerregister A und B (120, 122) kann ein existierender Mikrocode für die Nutzerinstruktion RDMSR und WRMSR modifiziert werden, um bestimmte MSR-Adressen in I/O-Adressen umzuwandeln. In einem Ausführungsbeispiel ist die konvertierte Adresse außerhalb des nutzeradressierbaren Adressbereichsgrenze, die für konventionelle Nutzer I/O-Befehle inhärent. Dies resultiert darin, dass modifizierter Mikrocode dann in einen alternativen Mikrocode-Satz gebracht wird. In anderen Ausführungen wird Mikrocode anders als der einer modifizierten RDMSR oder modifizierter WRMSR Mikrocode entwickelt, um den Zugriff auf neue Steuerregister zu unterstützen.
  • Es ist bemerkenswert, dass diese Technik zum Zugriff auf Steuerregister 1–N (134138) über den Bus 150 über die zwei Interface-Module 118, 140 betrieben werden kann. In einem Ausführungsbeispiel kann der Bus 150 Adresse außerhalb des I/O adressierbaren Speicherraums unterstützen, wenn auch für keinen anderen Zweck als den, dass es Speicheradressen über den Bus 150 und das Speicher-Interface 132, 152 unterstützt. Als Chipset-Funktionsschaltkeise des Chipsets 130 werden hier dargestellt als durch auf einem Modul durch die Architektur vom Prozessor 110 separat implementierbare Funktionsschaltkreise und dazu in der Lage, über dem Bus 150 ohne zusätzliche, speziell vorgesehene Signalleitungen zu kontaktieren, wird diese Technik zum Zugriff auf Steuerregister über herkömmlich existierende, konventionelle Busse, wie zum Beispiel den FSB, durchgeführt werden können.
  • Da der resultierende, modifizierende Mikrocode zum Zugriff auf Steuerregister 1–N (136138) und Steuerregister A und B (120, 122) nicht normalerweise dem Nutzer zugänglich ist, können spezifische Triggerbedingungen für seine Ausführung vorgesehen werden. Zum Beispiel kann in einem Ausführungsbeispiel das Laden von Mikrocode-Patch-Bild 144 oder Mikrocode-Patch-Bild 148 in den Mikrocode RAM 114 die Durchführung des modifizierten Mikrocodes triggern. (Das Laden entweder des Mikrocode-Patch-Bild 144 oder Mikrocode-Patch-Bild 148 kann wiederum durch das Entfernen des RESET#-Signals vom Prozessor 110 getriggert werden). Auf diese Weise werden Steuerbits von dem Mikrocode-Patch in Steuerregister 1–N (136138) geschrieben, und Steuerregister A und B (120, 122) als Teil des Ladens des Mikrocode-Patches.
  • In einem anderen Ausführungsbeispiel können zwei verschiedene Sätze von Mikrocode und Mikrocode-ROM 112 vorhanden sein: Ein Satz von Nutzerbefehlsmikrocode und ein anderer, um ihm im DEBUGING-Modus zu benutzen. In anderen Ausführungen können zwei Sätze von Mikrocode aufgeteilt werden zwischen Mikrocode ROM 112 und Mikrocode RAM 114. Ein DEBUGING-Anzeiger 124 kann benutzt werden, um anzuzeigen, ob der Prozessor 110 im Nutzermodus oder im DEBUGING-Modus ist. Der DEBUGING-Anzeiger 124 kann in einigen Ausführungsbeispielen während der Herstellung gesetzt werden (logisches ja) oder kann während einige Teile der Endfertigung gelöscht werden (logisches nein) während des Tests oder bei der Vorbereitung zur Lieferung. In einigen Ausführungen können spezielle, elektronische Verfahren genutzt werden, um den DEBUGING-Anzeiger 124 zu setzen und später wieder zu löschen, nachdem der Prozessor 110 ausgeliefert wurde.
  • Wenn der DEBUGING-Anzeiger 124 gesetzt ist, kann der zweite Satz von Mikrocode zur Durchführung durch einen mit Privilegien versehenen Benutzer freigeschaltet werden. Auf diese Weise ist der Mikrocode zum Zugriff auf ausgewählte, neue Steuerregister, wie zum Beispiel die Steuerregister 1–N (136138) und die Steuerregister A und B (120, 122) darauf beschränkt, nur im DEBUGING-Modus ausgeführt zu werden. Wenn der DEBUGING-Anzeiger vor der Auslieferung des Prozessors 110 gelöscht wurde, kann dieses Löschen Endnutzer vom Zugriff auf Steuerregister ausschließen.
  • Bezugnehmend auf 2 ist ein Diagramm des Speicheradressraumes dargestellt nach einem Ausführungsbeispiel der vorliegenden Erfindung. Ein I/O-adresierbarer-Speicherraum 210 ist separat adressierbar, wenn er mit dem adressierbarem Speicherraum 220 verglichen wird. In einem Ausführungsbeispiel ist dieser I/O-adressierbarer-Speicherraum 210 derjenige, der mit 16-Bit an Adresse (zum Beispiel (216–1) oder 64K Byte) angesprochen werden kann- In anderen Ausführungsbeispielen können einige mehr Adressen hinzugefügt werden, die dem I/O-adressierbaren-Speicherraum 210 von 64Kbyte + N Byte an Raum geben, wobei an einem Ausführungsbeispiel N = 3. In Ausführungsbeispielen, wo der Prozessor 32 Bit-memory-Adressen nutzt, wird der adressierbare Speicherraum 220 232 oder 4G Byte groß sein; In anderen Ausführungsbeispielen, in denen ein Prozessor 64 Bit Speicheradressen nutzt, wird der adressierbare Speicherraum 220 264 Byte sein.
  • In 2 ist der Abschnitt des Speicherraums, der durch Speicheroperationen und anderen Mikrocodeoperationen zugänglich ist, der adressierbare Speicherraum 220 als orthogonal zum I/O-adressierbaren-Speicheraum 2210 dargestellt. In anderen Ausführungsbeispielen kann ein differierender Satz von Grenzen zwischen I/O-adressierbarem-Speicherraum 210 und adressierbarem-Speicherraum 220 bestehen.
  • Bezugnehmend auf 3 wird ein Diagramm zum Zugriff auf Steuerregister dargestellt nach einem Ausführungsbeispiel der vorliegenden Erfindung. Der Prozessor 210 kann dazu in der Lage sein, mit einem IEEE-Standard 1149 Spezifizierungentsprechenden TAP (test access Port) ("IEEE Standard Test Access Port und Boundary-Scan Architecture", IEEE-Standard 1149.1-1990). Hier wird der Prozessor 130 dargestellt mit einem TAP-Interface 370, das es erlaubt, ihn durch einen IEEE-Standard 1149 kompatibles DEBUGING-Anschluß 374 anzusprechen. Der DEBUGING-Anschluß 374 kann den Prozessor 310 direkt über das Interface 376 über die Signalbufferung steuern, die durch den boundary-scan-Multiplexer 372 angeboten wird.
  • Der DEBUGING-Anschluß 374 kann es einem Nutzer erlauben, auf Abschnitte der Logik des Prozessors 310 zuzugreifen, die normalerweise durch den Benutzer nicht zugänglich sind. In einem Ausführungsbeispiel ist der DEBUGING-Anschluß 373 dazu in der Lage, dem Nutzer nicht Nichtnutzerbefehl des Mikrocodes zu erlauben. Dies setzt den Nutzer in die Lage, den Mikrocode durchzuführen, der die Steuerregister anspricht, wie zum Beispiel Steuerregister 1–N (134138) und Steuerregister A 320, die Adressen außerhalb des I/O-adressierbaren-Speicherraums besitzen. Hier wird als 1 Ausführungsbeispiel die Nutzerinstruktion durch einen Satz von Mikrocode implementiert, und der Mikrocode kann diese Steuerregister ansprechen, die zu einem anderen Satz von Mikrocode gehören.
  • In anderen Ausführungsbeispielen kann der DEBUGING-Anschluß 374 dazu genutzt werden, direkt auf die Steuerregister zuzugreifen, wie zum Beispiel auf das Steuerregister 1–N (334338) und Steuerregister A 320.
  • Bezugnehmend auf 4 wird ein Diagramm zum Zugreifen auf Steuerregister dargestellt, nach einem anderen Ausführungsbeispiel der vorliegenden Erfindung. In diesem Ausführungsbeispiel der 4 tauschen die Prozessoren 410 und 480 keine Daten über einen Multi-Drop-Bus aus, sondern über eine Punkt-zu-Punkt Datenverbindung 460. Zusätzlich wird ein separater Chipset nicht benutzt. An Stelle dessen werden selektive Chipset-Funktionen, wie zum Beispiel Speicher-Interface 472 und I/O-Interface 466 genutzt, die in den Prozessor 410 integriert sind.
  • Der Prozessor 410 kann Steuerregister der vorliegenden Erfindung umfassen, wie zum Beispiel Steuerregister 1–N (434438). Prozessor 480 kann auch dazu in der Lage sein, Steuerregister anzusprechen, die dazu in der Lage sind, von dem Prozessor 410 angesprochen zu werden, wie zum Beispiel A und B (484, 486). Es wird darauf hingewiesen, dass diese Technik zum Zugriff auf Steuerregister A und B (484, 486) auch über point-to-point data link 460 (Punkt-zu-Punkt Datenverbindung) über die zwei Punkt-zu-Punkt Interface-Module 462, 464 betrieben werden kann. In einem Ausführungsbeispiel kann die Punkt-zu-Punkt Datenverbindung 460 Adressen außerhalb des I/O-adressierbarem-Speicherraums ansprechen, wenn auch für keinen anderen Zweck als den, den Speicherzugriff von Prozessor B 480 über die Punkt-zu-Punkt Datenverbindung 460 und das Speiche-Interface 472, 452 zu erlauben. Jedes der Steuerregister 1–N (434438) und das Steuerregister A und B (484, 486) haben Adressen außerhalb des I/O-adressierbaren-Speicherraums.
  • Ein Mikrocode ROM 412 kann vorgesehen werden, um Basismikrocodesatz zu speichern und ein Mikrocode RAM 414 kann vorgesehen werden, um ein anderes Mikrocodesatz zu empfangen. In einem Ausführungsbeispiel kann dieser Mikrocodesatz von einem Mikrocode-Patch-Bild 444 geladen werden oder von einem Mikrocode-Patch-Bild 448. In einem Ausführungsbeispiel kann ein Nicht-Nutzer-zugänglicher Mikrocodesatz, Mikrocode umfassen, der das Schreiben und Lesen von Steuerregistern 1–N (434438) erlaubt und von Steuerregistern A und B (484, 486).
  • Da der Mikrocode zum Zugriff auf Steuerregister 1–N (464438) und Steuerregister A und B (484, 486) normalerweise nicht für den Nutzer erhältlich ist, werden spezifische Triggerbedingungen für seine Ausführung wiederum vorgesehen. Zum Beispiel kann in einem Ausführungsbeispiel das Laden von Mikrocode-Patch-Bild 444 oder dem Mikrocode-Patch-Bild 448 in den Mikrocode-RAM 414 die Ausführung von modifiziertem Mikrocode triggern. Auf diese Weise können Steuerbits von den Mi krocode-Patchs in den Steuerregistern 1–N (434438) geladen werden und in die Steuerregister A und B (484, 486) als Teil des Ladens des Mikrocode-Patches geschrieben werden. Alternativ kann ein zweiter Satz von Mikrocode in den Mikrocode ROM 412 vorgesehen sein, und der Mikrocode zum Zugriff auf die Steuerregister 1–N (434438) und die Steuerregister A und B (484, 486) kann während eines DEBUGING-Modus ausgeführt werden, wie oben in Zusammenhang mit der 1 dargestellt, oder durch Durchführen eines Testes über den Zugriffsort, wie oben im Zusammenhang mit 3 beschrieben.
  • Bezugnehmend auf 5A und 5B werden schematische Diagramme des Systems mit einem Prozessor dargestellt, der dazu in der Lage ist, die Steuerregister der vorliegenden Erfindung zuzugreifen, nach zwei Ausführungsbeispielen der vorliegenden Offenbarung. Das System der 5A zeigt im wesentlichen ein System, bei dem Prozessoren, Speicher und Input-/Output-Geräte mit einer Anzahl von Punkt-zu-Punkt-Interface verbunden sind.
  • Die 5A kann ein oder mehr Prozessoren umfassen, von denen zwei, die Prozessoren 40, 60, jeder zum Zwecke der Klarheit dargestellt sind. Prozessoren 40, 60 können Niveau-1-Zwischenspeicher (level one caches) 42, 62 umfassen. Das System der 5A kann verschiedene Funktionen aufweisen, die mit Bus-Schnittstellen 44, 64 12, 8 mit einem Systembus 6 verbunden sind. In einem Ausführungsbeispiel kann der System-Bus 6, der FSB (front side bus) sein, der einen Pentium®-Klasse Mikroprozessor, hergestellt durch die Intel® Corporation nutzt. In anderen Ausführungsbeispielen können andere Busse genutzt werden. In einigen Ausführungsbeispielen werden der Speicherkontroller 34 und die Busbrücke 32 kollektiv als Chipset bezeichnet. In einigen Ausführungsbeispielen werden Funktionen des Chipsets zwischen physikalischen Chips anders, als in der 5A-Ausführung verteilt.
  • Der Speicherkontroller 34 kann es den Prozessoren 40, 60 erlauben, von dem Systemspeicher 10 zu lesen und von einem Firmware-EPROM 36. In einigen Ausführungsbeispielen kann die Firmware ein Mikrocode-Patch-Bild zum Laden eines Mikrocode RAM (nicht dargestellt), der Prozessoren 40, 60 umfassen. Speicherkontroller 34 kann eine Bus-Schnittstelle 8 umfassen, um es Speicher zu erlauben, Daten zu lesen und zu schreiben, die an und von Bus-Agenten auf dem System-Bus 6 bewegt werden. Der Speicherkontroller 34 kann auch mit einer Hoch-Leistungsgrafik-Schaltkreis 38 über eine Hoch-Leistungsgrafik-Schnittstelle 39 in Verbindung treten.
  • In anderen Ausführungen der Hoch-Leistungsgrafik-Schnittstelle 39 kann dies ein fortgeschrittener Grafikanschluß AGP-Schnittstelle sein. Der Speicherkontroller 34 kann Daten von dem Systemspeicher 10 an die Hoch-Leistungsgrafik-Schaltkreise 38 über Hoch-Leistungsgrafik-Schnittstelle 39 richten.
  • Das System der 5B kann einen oder mehrere Prozessoren umfassen, von denen zwei Prozessoren 70, 80 zum Zwecke der Klarheit dargestellt sind. Die Prozessoren 70, 80 können einen lokalen Speicherkontroller-Hub (MCH) 72, 82 umfassen, um mit den Speichern 2, 4 und der Firmware 3, 5 in Verbindung zu treten. In einigen Ausführungen kann die Firmware ein Mikrocode-Patch-Bild zum Laden in ein Mikrocode RAM (nicht dargestellt) von Prozessoren, 70, 80 liefern. Die Prozessoren 70, 80 können Daten über eine Punkt-zu-Punkt-Schnittstelle 50 übertragen unter Benutzung von Punkt-zu-Punkt-Interface-Schaltkreise 78, 88. Die Prozessoren 70, 80 können jeweils Daten über ein Chipset 90 über individuelle Punkt-zu-Punkt-Interfaces 52, 54 übertragen unter der Benutzung von Punkt-zu-Punkt-Schnittstellen-Schaltkreisen 76, 94, 86, 98. Der Chipset 90 kann auch Daten mit einem Hoch-Leistungsgrafik-Schaltkreis 38 über eine Hoch-Leistungsgrafik-Schnittstelle 92 übertragen.
  • In dem System der 5A kann die Bus-Brücke 32 es erlauben, Daten zwischen dem System-Bus 6 und dem Bus 16 zu übertragen, die in einigen Ausführungen ISA-(industry standard architecture) Bus oder einen PCI-(peripaheral component interconnection) Bus umfassen. In dem 5B-System kann das Chipset 90 Daten mit einem Bus 16 über ein Bus-Interface 96 austauschen. In jedem System kann eine Vielzahl von I/O-Geräten 14 auf den Bus 16 zugreifen, inklusive einigen Ausführungsbeispielen Niedrig-Leistungsgrafik-Kontroller, Video-Controller und Netzwerk-Controller. Eine andere Bus-Brücke 18 kann in einigen Ausführungsbeispielen dazu genutzt werden, Datenaustausch zwischen dem Bus 16 und dem Bus 20 zu erlauben. Bus 20 kann in einigen Ausführungsbeispielen ein Klein-Computer-System-Interface-(SCSI) Bus sein, ein IDE-(integrate drive electronics) Bus oder ein USB (universal serial bus). Zusätzliche I/O-Geräte können mit dem Bus 20 verbunden werden. Diese können ein Keyboard und eine Steuereinrichtung für den Cursor 22 umfassen, inklusive eine Maus, eine Audio-I/O 24, Kommunikationsgeräte 26, inklusive Modems oder Netzwerk-Schnittstellen und Datenspeichergeräten 28. Softwarecode 30 kann auf Datenspeichergeräten 28 gespeichert werden, und in einigen Ausführungen kann der Softwarecode 30 ein Mikrocode-Patch-Bild umfassen. In einigen Ausführungen kann das Datenspeichergerät 28 eine feste, magnetische Platte, ein herausnehmbarer Plattenantrieb, ein optisches Plattenlaufwerk, ein magnetooptisches Plattenlaufwerk, ein Magnetband oder ein nichtflüchtiger Speicher inklusive flash memory sein.
  • In der vorangehenden Beschreibung ist die Erfindung bezugnehmend auf spezifische, beispielhafte Ausführungsbeispiele beschrieben. Es wird jedoch offensichtlich sein, dass verschiedene Modifikationen und Veränderungen hierzu gemacht werden können ohne von den breiteren Geist und Schutzbereich der Erfindung, wie sie in den nachfolgenden Ansprüchen beschrieben ist, abzuweichen. Die Beschreibung und die Zeichnungen werden entsprechend nur als beispielhaft, nicht als beschränkend, angesehen werden.
  • Zusammenfassung
  • System und Verfahren zum Zugriff auf Steuerregister in einem Computersystem werden beschrieben. In einem Ausführungsbeispiel ist ein Steuerregister angegeben an einer Adresse, die außerhalb der normalen I/O-Adressbereiches liegt. Zusätzlich kann dieses Steuerregister physisch in System-Schaltkreisen außerhalb der Prozessorfunktionsschaltkreise liegen. Spezieller Mikrocode kann genutzt werden, um diese Steuerregister anzusprechen. Dieser spezielle Mikrocode kann durch spezielle Systemereignisse ausgeführt werden. Diese speziellen Ereignisse können das Laden eines Mikrocode-Patches sein oder das Starten eine speziellen Debugging Modus, oder durch Testzugang unter Nutzung eines TAP.

Claims (51)

  1. Vorrichtung mit: – Logik, um ausgewählte Chipset-Funktionen durchzuführen, – einer Bus-Schnittstelle, um mit einem Prozessor in Verbindung zu treten, und – einem Steuerregister, das durch eine Adresse außerhalb eines I/O-Adressraumes des Prozessors angesprochen wird.
  2. Vorrichtung an Anspruch 1, wobei die Adresse durch die Bus-Schnittstelle unterstützt wird.
  3. Vorrichtung an Anspruch 1, wobei die Adresse durch ein physikalisches Register des Prozessors unterstützt wird.
  4. Prozessor mit – einer erste Logik, um ein Befehls-Set unter Steuerung eines ersten Mikrocode-Sets auszuführen, – einem physikalisches Register, um eine Adresse, die nicht in dem I/O-Adressraum des Befehls-Sets umfaßt ist, zu umfassen, und – einer zweiten Logik, um das Steuerregister unter Benutzung dieser Adresse anzusprechen.
  5. Prozessor nach Anspruch 4, weiter gekennzeichnet durch eine dritte Logik, um einen zweiten Mikrocode-Satz zu empfangen.
  6. Prozessor nach Anspruch 5, wobei der zweite Mikrocode-Satz Mikrocode umfaßt, die Adresse von dem physikalischen Register auszugeben.
  7. Prozessor nach Anspruch 5, wobei die dritte Logik geeignet ist, um den zweiten Mikrocode-Satz von dem externen Speicher zu empfangen.
  8. Prozessor nach Anspruch 5, wobei eine Bus-Schnittstelle das externe Adressregister an den Prozessor überträgt.
  9. Prozessor nach Anspruch 4, weiter umfassend einen zweiten Mikrocode-Satz inklusive Mikrocode, der dazu in der Lage ist, die Adresse an das Steuerregister zu übertragen.
  10. Prozessor nach Anspruch 9, weiter umfassend eine DEBUGING-Anzeige, um anzuzeigen, dass der zweite Mikrocode ausgeführt werden kann.
  11. Prozessor nach Anspruch 10, wobei die DEBUGING-Anzeige während eines Auslieferungstestes des Prozessors gelöscht wird.
  12. Prozessor nach Anspruch 10, wobei die DEBUGING-Anzeige während eines der Auslieferung nachfolgenden Tests gesetzt wird.
  13. Prozessor nach Anspruch 9, weiter umfassend einen Testzugriffsanschluß-Schnittstelle, um ein Testkommando zu empfangen.
  14. Prozessor nach Anspruch 13, wobei der zweite Mikrocode-Satz als Antwort auf das Testkommando ausgeführt werden kann.
  15. Prozessor nach Anspruch 9, weiter umfassend eine Bus-Schnittstelle, um die Adresse extern zum Prozessor zu übertragen.
  16. Ein System mit: – einem Prozessor, inklusive einer ersten Logik, um einen Befehls-Satz unter Steuerung eines ersten Mikrocode-Satzes auszuführen und ein physisches Register um eine Adresse, die nicht in einem I/O-Adressraum des Befehls-Satzes vorhanden ist, und – einem Modul, inklusive einer zweiten Logik, um ausgewählte Chipset-Funktionen auszuführen, einer Schnittstelle, die mit dem Modul mit dem Prozes sor verkoppelt ist und einem Steuerregister, das von der Adresse angesprochen wird.
  17. System nach Anspruch 16, weiter gekennzeichnet durch eine dritte Logik im Prozessor, um einen zweiten Mikrocode-Satz zu empfangen.
  18. System nach Anspruch 17, wobei der zweite Mikrocode-Satz Mikrocode umfaßt, die Adresse von dem physikalischen Register auszugeben, um auf das Steuerregister zuzugreifen.
  19. System nach Anspruch 17, wobei bei die zweite und dritte Logik geeignet sind, um den zweiten Mikrocode-Satz in die dritte Logik zu laden.
  20. System nach Anspruch 19, wobei der zweiten Mikrocode-Satz von einem zweiten Mikrocode-Satz-Bild geladen wird, das extern vom System gespeichert ist.
  21. System nach Anspruch 16, wobei die Schnittstelle ein Bus zwischen Prozessor und dem Modul ist.
  22. System nach Anspruch 16, wobei der Prozessor weiter einen zweiten Mikrocode-Satz inklusive Mikrocode umfasst, um unter Nutzung der Adresse auf das Steuerregisterzu zugreifen.
  23. System nach Anspruch 22, wobei der Prozessor weiter eine DEBUGING-Anzeige umfasst, um anzuzeigen, dass der zweite Mikrocode ausgeführt werden kann.
  24. System nach Anspruch 23, wobei die DEBUGING-Anzeige während eines Auslieferungstestes des Prozessors gelöscht wird.
  25. System nach Anspruch 22, wobei die DEBUGING-Anzeige während eines der Auslieferung nachfolgenden Tests gesetzt wird.
  26. System nach Anspruch 22, wobei der Prozessor einen Testzugriffsanschluß-Schnittstelle umfasst, um ein Testkommando zu empfangen.
  27. System nach Anspruch 26, wobei der zweite Mikrocode-Satz als Antwort auf das Testkommando ausgeführt werden kann.
  28. Verfahren mit System mit: – Einbringen einer Adresse eines Steuerregisters in ein physisches Register eines Prozessors, wobei die Adresse nicht in einem I/O-Adressraum des Befehls-Satzes unter Steuerung eines ersten Mikrocode-Satzes vorhanden ist, und – Ausgabe der Adresse aus dem physischen Register an das Steuerregister, unter Steuerung eines zweiten Mikrocode Satzes.
  29. Verfahren nach Anspruch 28, weiter gekennzeichnet durch Laden des zweiten Mikrocode-Satzes in den Prozessor.
  30. Verfahren nach Anspruch 29, wobei der zweite Mikrocode-Satz als Antwort auf das Laden ausgeführt wird.
  31. Verfahren nach Anspruch 28, wobei bei der Status eines DEBUGGING-Anzeigers geprüft wird, um festzustellen, ob ein Prozessor im DEBUGGING Modus ist.
  32. Verfahren nach Anspruch 31, wobei das Ausgeben die Antwort auf das Prüfen ist.
  33. Verfahren nach Anspruch 33, weiter mit dem Löschen des DEBUGGING-Anzeigers als Antwort auf einen Auslieferungstest.
  34. Verfahren nach Anspruch 31, weiter mit dem Setzen des DEBUGGING-Anzeigers als Antwort auf einen der Auslieferung nachfolgenden Test.
  35. Verfahren nach Anspruch 29, wobei das Ausgeben die Antwort auf ein Test-Kommando ist, das von einer TAP-Schnittstelle empfangen wurde.
  36. Vorrichtung mit: – Mitteln zum Einbringen einer Adresse eines Steuerregisters in ein physisches Register eines Prozessors, wobei die Adresse nicht in einem I/O-Adressraum des Befehls-Satzes unter Steuerung eines ersten Mikrocode-Satzes vorhanden ist, und – Mitteln zur Ausgabe der Adresse aus dem physischen Register an das Steuerregister, unter Steuerung eines zweiten Mikrocode Satzes.
  37. Vorrichtung nach Anspruch 36, weiter gekennzeichnet durch Mittel zum Laden des zweiten Mikrocode-Satzes in den Prozessor.
  38. Vorrichtung nach Anspruch 37, weiter gekennzeichnet durch Mittel zum Ausführen des zweite Mikrocode-Satz als Antwort auf das Laden.
  39. Vorrichtung nach Anspruch 36, weiter gekennzeichnet durch Mittel zum Prüfen des Status einer DEBUGGING-Anzeige, um festzustellen, ob ein Prozessor im DEBUGGING Modus ist.
  40. Vorrichtung nach Anspruch 39, wobei die Mittel zum Ausgeben auf die Prüfung reagierend ausgeführt sind.
  41. Vorrichtung nach Anspruch 39, weiter gekennzeichnet durch Mittel zum Löschen des DEBUGGING-Anzeigers als Antwort auf einen Auslieferungstest.
  42. Vorrichtung nach Anspruch 41, weiter gekennzeichnet durch Mittel zum Setzen des DEBUGGING-Anzeigers als Antwort auf einen der Auslieferung nachfolgenden Test.
  43. Vorrichtung nach Anspruch 36, wobei die Mittel zum Ausgeben antwortend auf ein Test-Kommando, das von einer TAP-Schnittstelle empfangen wurde.
  44. Computerlesbares Medium mit Software, die wenn ein Prozessor sie ausführt das folgende Verfahren ausführt: – Einbringen einer Adresse eines Steuerregisters in ein physisches Register eines Prozessors, wobei die Adresse nicht in einem I/O-Adressraum des Befehls-Satzes unter Steuerung eines ersten Mikrocode-Satzes vorhanden ist, und – Ausgabe der Adresse aus dem physischen Register an das Steuerregister, unter Steuerung eines zweiten Mikrocode Satzes.
  45. Computerlesbares Medium nach Anspruch 44, weiter gekennzeichnet durch ein Bild des zweiten Mikrocode-Satzes um dieses in den Prozessor zu laden.
  46. Computerlesbares Medium nach Anspruch 45, weiter umfassend das Ausführen des zweiten Mikrocode-Satz als Antwort auf das Laden in den Prozessor.
  47. Computerlesbares Medium nach Anspruch 44, weiter umfassend das Prüfen des Status eines DEBUGGING-Anzeigers, um festzustellen, ob ein Prozessor im DEBUGGING Modus ist.
  48. Computerlesbares Medium nach Anspruch 47, wobei das Ausgeben die Antwort auf das Prüfen ist.
  49. Computerlesbares Medium nach Anspruch 48, weiter mit dem Löschen des DEBUGGING-Anzeigers als Antwort auf einen Auslieferungstest.
  50. Computerlesbares Medium nach Anspruch 48, weiter mit dem Setzen des – DEBUGGING-Anzeigers als Antwort auf einen der Auslieferung nachfolgenden Test.
  51. Computerlesbares Medium nach Anspruch 44, wobei das Ausgeben die Antwort auf ein Test-Kommando ist, das von einer TAP-Schnittstelle empfangen wurde.
DE112005003216T 2004-12-22 2005-12-21 System und Verfahren für Steuerregister, auf die über private Rechenoperationen zugegriffen wird Ceased DE112005003216T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/022,595 US20060136608A1 (en) 2004-12-22 2004-12-22 System and method for control registers accessed via private operations
US11/022,595 2004-12-22
PCT/US2005/046989 WO2006069364A2 (en) 2004-12-22 2005-12-21 System and method for control registers accessed via private operations

Publications (1)

Publication Number Publication Date
DE112005003216T5 true DE112005003216T5 (de) 2007-10-31

Family

ID=36597501

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112005003216T Ceased DE112005003216T5 (de) 2004-12-22 2005-12-21 System und Verfahren für Steuerregister, auf die über private Rechenoperationen zugegriffen wird

Country Status (6)

Country Link
US (1) US20060136608A1 (de)
KR (1) KR100928757B1 (de)
CN (1) CN100585554C (de)
DE (1) DE112005003216T5 (de)
TW (1) TWI334082B (de)
WO (1) WO2006069364A2 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7827390B2 (en) * 2007-04-10 2010-11-02 Via Technologies, Inc. Microprocessor with private microcode RAM
US20100180104A1 (en) * 2009-01-15 2010-07-15 Via Technologies, Inc. Apparatus and method for patching microcode in a microprocessor using private ram of the microprocessor
EP3432150B1 (de) 2010-12-13 2021-01-20 Nokia Technologies Oy Verfahren und vorrichtung für 3d aufnahmesynchronisierung
US9250902B2 (en) * 2012-03-16 2016-02-02 International Business Machines Corporation Determining the status of run-time-instrumentation controls
US9323715B2 (en) 2013-11-14 2016-04-26 Cavium, Inc. Method and apparatus to represent a processor context with fewer bits
CN106559339B (zh) 2015-09-30 2019-02-19 华为技术有限公司 一种报文处理方法及装置
US20210026950A1 (en) * 2016-03-07 2021-01-28 Crowdstrike, Inc. Hypervisor-based redirection of system calls and interrupt-based task offloading
US20230004391A1 (en) * 2017-06-28 2023-01-05 Texas Instruments Incorporated Streaming engine with stream metadata saving for context switching

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4947316A (en) * 1983-12-29 1990-08-07 International Business Machines Corporation Internal bus architecture employing a simplified rapidly executable instruction set
GB2200483B (en) * 1987-01-22 1991-10-16 Nat Semiconductor Corp Memory referencing in a high performance microprocessor
US5201039A (en) * 1987-09-30 1993-04-06 Mitsubishi Denki Kabushiki Kaisha Multiple address-space data processor with addressable register and context switching
US5182811A (en) * 1987-10-02 1993-01-26 Mitsubishi Denki Kabushiki Kaisha Exception, interrupt, and trap handling apparatus which fetches addressing and context data using a single instruction following an interrupt
US5185878A (en) * 1988-01-20 1993-02-09 Advanced Micro Device, Inc. Programmable cache memory as well as system incorporating same and method of operating programmable cache memory
US5136691A (en) * 1988-01-20 1992-08-04 Advanced Micro Devices, Inc. Methods and apparatus for caching interlock variables in an integrated cache memory
JP2507638B2 (ja) * 1989-12-01 1996-06-12 三菱電機株式会社 デ―タ処理装置
US5124989A (en) * 1990-01-08 1992-06-23 Microsoft Corporation Method of debugging a computer program
US5495615A (en) * 1990-12-21 1996-02-27 Intel Corp Multiprocessor interrupt controller with remote reading of interrupt control registers
US5497494A (en) * 1993-07-23 1996-03-05 International Business Machines Corporation Method for saving and restoring the state of a CPU executing code in protected mode
US5781750A (en) * 1994-01-11 1998-07-14 Exponential Technology, Inc. Dual-instruction-set architecture CPU with hidden software emulation mode
JP3672634B2 (ja) * 1994-09-09 2005-07-20 株式会社ルネサステクノロジ データ処理装置
JPH08272648A (ja) * 1994-12-29 1996-10-18 Hitachi Ltd デバッグコマンドファイルを自動的に生成する方法、およびデバッグコマンドファイルにおいてブレークポイントを自動的に再生成する装置
US5621886A (en) * 1995-06-19 1997-04-15 Intel Corporation Method and apparatus for providing efficient software debugging
US5544311A (en) * 1995-09-11 1996-08-06 Rockwell International Corporation On-chip debug port
US5729760A (en) * 1996-06-21 1998-03-17 Intel Corporation System for providing first type access to register if processor in first mode and second type access to register if processor not in first mode
US5978902A (en) * 1997-04-08 1999-11-02 Advanced Micro Devices, Inc. Debug interface including operating system access of a serial/parallel debug port
US6314530B1 (en) * 1997-04-08 2001-11-06 Advanced Micro Devices, Inc. Processor having a trace access instruction to access on-chip trace memory
US6041406A (en) * 1997-04-08 2000-03-21 Advanced Micro Devices, Inc. Parallel and serial debug port on a processor
US6009488A (en) * 1997-11-07 1999-12-28 Microlinc, Llc Computer having packet-based interconnect channel
KR100496856B1 (ko) * 1999-05-20 2005-06-22 삼성전자주식회사 어드레스 확장이 가능한 데이터 처리 시스템
US6438664B1 (en) * 1999-10-27 2002-08-20 Advanced Micro Devices, Inc. Microcode patch device and method for patching microcode using match registers and patch routines
US7073173B1 (en) * 2000-12-04 2006-07-04 Microsoft Corporation Code and thread differential addressing via multiplex page maps
US20030126454A1 (en) * 2001-12-28 2003-07-03 Glew Andrew F. Authenticated code method and apparatus

Also Published As

Publication number Publication date
CN101088064A (zh) 2007-12-12
KR100928757B1 (ko) 2009-11-25
TW200632659A (en) 2006-09-16
TWI334082B (en) 2010-12-01
WO2006069364A2 (en) 2006-06-29
US20060136608A1 (en) 2006-06-22
CN100585554C (zh) 2010-01-27
WO2006069364A3 (en) 2006-10-05
KR20070086506A (ko) 2007-08-27

Similar Documents

Publication Publication Date Title
DE69633166T2 (de) Integrierter schaltkreis mit mehreren funktionen und gemeinsamer verwendung mehrerer interner signalbusse zur verteilung der steuerung des buszugriffes und der arbitration
DE4329336C2 (de) Einrichtung und Verfahren zur Identifizierung eines Computer-Mikroprozessors
EP1720100B1 (de) Verfahren und Vorrichtung zur Emulation einer programmierbaren Einheit
DE19882696B4 (de) Speichertransaktionen auf einem Bus geringer Leitungsanzahl
DE112005003216T5 (de) System und Verfahren für Steuerregister, auf die über private Rechenoperationen zugegriffen wird
DE69126756T2 (de) Prüfbare RAM-Architektur in einem Mikroprozessor mit eingebettetem Cache-Speicher
DE3486085T2 (de) Zentrale Verarbeitungseinheit für einen Digitalrechner.
DE69817725T2 (de) Mikroprozessor Testsystem
DE60012132T2 (de) Mikroprozessor mit Prüfinstruktionsspeicher
DE69127992T2 (de) Mikroprozessor zur Buszykluseinfügung zwecks Informationslieferung für eine Emulation
DE19847642C2 (de) PCI-PCI-Brücke
DE69111635T2 (de) Gerät und Verfahren zur Background-Speicherprüfung während des Systemanlaufs.
DE102009049078B4 (de) Verwendung von Ausführer-Wissen über Speicherregion-Ordnungsanforderungen zum Modifizieren von Transaktionsattributen
DE69732181T2 (de) Verfahren und gerät zum zwischenspeichern von systemverwaltungsinformationen mit anderen informationen
DE102018213430A1 (de) Beschleuniger mit geringer Latenzzeit
DE60224774T2 (de) Datenverarbeitungssystem mit Lese-, Änderungs- und Schreibeinheit
DE102004057756B4 (de) USB-Steuerungseinrichtung mit OTG-Steuerungseinheit
DE60100848T2 (de) Virtuelles rom für geräte-aufzählung
DE112013005418T5 (de) Vorrichtung und Verfahren zur schnellen Befehlsfehlerbehandlung
DE102014003705A1 (de) Prozessoren, Verfahren und Systeme zur Befehlsemulation
DE102007006190A1 (de) Techniken zur Verwendung von Speicher-Attributen
DE19729618C2 (de) Mikroprozessor und Mehrprozessorsystem
DE60025788T2 (de) Flexibles Mehrzweck-Ein/Ausgabesystem
DE102009050983A1 (de) Eine Technik, um Interrupts in einem Computersystem zu kommunizieren
DE112006000634T5 (de) Verfahren und Vorrichtung zur unabhängigen und gleichzeitigen Datenübertragung auf Host-Controller

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R003 Refusal decision now final
R010 Appeal proceedings settled by withdrawal of appeal(s) or in some other way