DE102009010627A1 - Technik zum Fördern des Determinismus bei mehreren Taktdomänen - Google Patents

Technik zum Fördern des Determinismus bei mehreren Taktdomänen Download PDF

Info

Publication number
DE102009010627A1
DE102009010627A1 DE102009010627A DE102009010627A DE102009010627A1 DE 102009010627 A1 DE102009010627 A1 DE 102009010627A1 DE 102009010627 A DE102009010627 A DE 102009010627A DE 102009010627 A DE102009010627 A DE 102009010627A DE 102009010627 A1 DE102009010627 A1 DE 102009010627A1
Authority
DE
Germany
Prior art keywords
counter
threshold
execution unit
value
logic
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.)
Withdrawn
Application number
DE102009010627A
Other languages
English (en)
Inventor
Eric L. Fountain Valley Hendrickson
Sanjoy Austin Mondal
Larry Austin Thatcher
William Austin Hodges
Lance Austin Hacking
Sankaran Austin Menon
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 DE102009010627A1 publication Critical patent/DE102009010627A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/06Clock generators producing several clock signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Microcomputers (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

Eine Technik, um den Determinismus unter verschiedenen Taktdomänen innerhalb eines Computersystems oder einer integrierten Schaltung zu fördern. Bei einer Ausführungsform werden eine oder mehrere Ausführungseinheiten in einen deterministischen Zustand in Bezug auf mehrere Takte innerhalb eines Prozessorsystems, das eine Anzahl unterschiedlicher Taktdomänen hat, gebracht.

Description

  • Gebiet der Erfindung
  • Ausführungsformen der Erfindung betreffen im Allgemeinen das Gebiet der Informationsverarbeitung und genauer das Gebiet des Taktens in Rechensystemen und Mikroprozessoren.
  • Hintergrund
  • Da in moderne Mikroprozessoren mehr Funktionalität integriert wird, kann es sein, dass funktionale Einheiten innerhalb des Prozessors bei unterschiedlichen Taktfrequenzen, Phasen usw. betrieben (”getaktet”) werden müssen. Ein Zuwachs an Taktdomänen innerhalb desselben Prozessors geht einher mit einer Zunahme in der Komplexität beim Fördern von Determinismus zu bestimmten Zwecken, beispielsweise Überprüfungen. Einige Prüftechniken, die eingesetzt werden, können periodische Systemverwaltungsunterbrechungen (PSMI – Periodic System Management Interrupts) verwenden, um durch Programme zu schreiten, die auf einem Prozessor laufen, und um Ergebnisse der Verarbeitung an verschiedenen Punkten in dem Programm zurückzugeben.
  • PSMI ist eine Fehlersuch- und -beseitigungsmethode, bei der eine logische Analyseeinheit die externe Busaktivität in einem Ringpuffer verfolgt, während periodisch Systemverwaltungsunterbrechungen oder SMIs erzeugt werden, oft genug, um immer sicherzustellen, dass sich zwei aufeinander folgende in dem Puffer der logischen Analyseeinheit befinden. Die PSMI-Handhabungseinheit sichert den internen Prozessorzustand in einen Speicher, was es erlaubt, dass ein Großteil des internen Zustands des Prozessors später auf einem Emulator oder mit einem Softwaremodell des Prozessors rekonstruiert werden kann, und die Verfolgungsinformation wird verwendet, um den Fehler zu reproduzieren.
  • Typischerweise vertraut PSMI auf Verarbeitungsressourcen, so wie Ausführungsressourcen, die mit anderen Ereignissen in dem Prozessor synchronisiert werden, damit deterministische Ergebnisse von dem Prozessor zurückgegeben werden können. Die Verwendung von PSMI-Techniken wird schwieriger, wenn die Anzahl der Taktdomänen zunimmt, beispielsweise aufgrund von mehr Funktionalität, die in denselben Prozessor integriert wird.
  • Kurzbeschreibung der Zeichnungen
  • Ausführungsformen der Erfindung werden beispielhaft und nicht beschränkend in den Figuren der beigefügten Zeichnungen veranschaulicht, wobei sich in diesen gleiche Bezugsziffern auf ähnliche Elemente beziehen, und wobei:
  • 1 ein Blockschaubild eines Mikroprozessors veranschaulicht, bei dem wenigstens eine Ausführungsform der Erfindung verwendet werden kann;
  • 2 ein Blockschaubild eines Computersystems mit gemeinsam genutzten Bus veranschaulicht, bei dem wenigstens eine Ausführungsform der Erfindung verwendet werden kann;
  • 3 ein Blockdiagramm des Computersystems mit Punkt-zu-Punkt-Verbindungen veranschaulicht, bei dem wenigstens eine Ausführungsform der Erfindung verwendet werden kann;
  • 4 ein Blockschaubild von Logik veranschaulicht, bei der wenigstens eine Ausführungsform der Erfindung implementiert werden kann;
  • 5 ein Ablaufdiagramm von Arbeitsschritten ist, die zum Durchführen wenigstens einer Ausführungsform der Erfindung verwendet werden können.
  • Genaue Beschreibung
  • 1 veranschaulicht einen Mikroprozessor, bei dem wenigstens eine Ausführungsform der Erfindung verwendet werden kann. Insbesondere veranschaulicht die 1 einen Mikroprozessor 100 mit einem oder mehreren Prozessorkernen 105 und 110, von denen jeder wenigstens eine von einer CPU verschiedene funktionale Einheit 107 bzw. 113 hat. In der 1 ist außerdem wenigstens eine weitere von einer CPU verschiedene funktionale Einheit 115 ver anschaulicht, die weitere Arbeitsschritte ausführen kann, die von den funktionalen Einheiten 107 und 113 nicht ausgeführt werden. Bei einer Ausführungsform können die funktionalen Einheiten 107, 113 und 115 Funktionen, so wie Grafikverarbeitung, Speichersteuerung und Peripheriesteuerung, beispielsweise Audio-, Video-, Plattensteuerung, Digitalsignalverarbeitung usw. umfassen. Bei manchen Ausführungsformen kann der Mikroprozessor 100 auch weitere Logik umfassen, die in der 1 nicht gezeigt ist, so wie eine I/O-Steuerung. Bei einer Ausführungsform kann jeder Mikroprozessor in einem Mehrprozessorsystem oder jeder Prozessorkern in einem Mehrkernprozessor Logik 119 umfassen oder auf andere Weise mit dieser verknüpft sein, um Techniken zu ermöglichen, die den Determinismus in einem Prozessor, der mehrere Taktdomänen hat, gemäß wenigstens einer Ausführungsform zu fördern. Die Logik kann Hardwareschaltungen umfassen, um eine oder mehrere Ausführungsressourcen mit einer oder mehreren Uhren oder Ereignissen innerhalb eines Prozessors gemäß einer Ausführungsform zu synchronisieren. Bei weiteren Ausführungsformen kann die Logik 119 Software umfassen, um dabei zu helfen, den Determinismus bei Ausführungsressourcen in Prozessoren mit einer Anzahl von Taktdomänen zu fördern. Bei weiteren Ausführungsformen kann eine Kombination aus Hardware und Software verwendet werden, um die hierin beschriebenen Determinismus fördernden Techniken auszuführen.
  • Bei einer Ausführungsform kann Logik innerhalb oder außerhalb einer integrierten Schaltung verwendet werden, um Ausführungsressourcen innerhalb eines Prozessors in einen deterministischen Zustand zu bringen, der aufgrund unterschiedlicher Funktionalität innerhalb des Prozessors mehrere Taktdomänen hat, um bei der Verbesserung, der Fehlersuche und -beseitigung oder der Optimierung von Softwareprogrammen, so wie Anwendungen, Betriebssystemen, BIOS, Firmware usw. zu unterstützen. Zum Beispiel umfasst bei einer Ausführungsform die Logik 119 einen Generator für universelle Taktpulse (UCPG – Universal Clock Pulse Generator), um einen gemeinsamen Taktpuls zu erzeugen, basierend auf gemeinsamen Taktkanten oder Ereignissen aus einer Anzahl unterschiedlicher Takte mit einer Anzahl unterschiedlicher Frequenzen oder Phasen. Bei einer Ausführungsform wird eine Ausgabe des UCPG verwendet, um den Status eines Zählers zu ändern, der, wenn er bei einem oder über einen bestimmten Schwellenzählwert hinaus steht, bewirkt, dass die Ausführungsressourcen damit beginnen, Befehle zu verarbeiten, die mit einem Programm verknüpft sind, aus dem Fehler beseitigt werden sollen oder das optimiert werden soll, um zu fördern, dass die Ausführungsressourcen in einem deterministischen Zustand in Bezug auf die verschiedenen Takte innerhalb des Prozessors sind, wie sie durch das UCPG-Signal dargestellt sind.
  • Zum Beispiel wird bei einer Ausführungsform ein Zähler auf einen Anfangswert und eine Ausführungseinheit auf synchronisierte Pausen initialisiert. Da Signalkanten von einem UCPG bewirken, dass der Zähler dekrementiert (oder bei einer Ausführungsform inkrementiert), erreicht der Zähler einen bestimmten Schwellenwert so wie einen Wert ”0”, was bewirkt, dass eine Unterbrechung bei der Ausführungseinheit auftritt. Die Ausführungseinheit beginnt dann, Befehle an einem deterministischen Punkt in Bezug auf die verschiedenen Takte in dem Prozessor auszuführen, die zu der Erzeugung des UCPG-Signals beitragen. Durch die Ausführung in einem deterministischen Zustand in Bezug auf die verschiedenen Taktdomänen innerhalb des Prozessors kann der Verarbeitungscode in einer zuverlässigeren Weise von Fehlern befreit oder optimiert werden, indem Techniken, so wie PSMI, verwendet werden. Bei einer Ausführungsform können die hierin beschriebenen Techniken in einem Prozessor verwendet werden, der mehrere Prozessorkerne hat, mehrere unterschiedliche Funktionen, so wie Grafik, Speichersteuerung, verschiedene Peripheriesteuerung (so wie in Prozessoren bei einem ”System auf einem Chip”). Die hierin offenbarten Techniken können auch in Computersystemen verwendet werden, bei denen mehrere Funktionen auf getrennte integrierte Schaltungen verteilt sind.
  • 2 veranschaulicht beispielsweise ein Front-Side-Bus(FSB)-Computersystem, bei dem eine Ausführungsform der Erfindung verwendet werden kann. Jedweder Prozessor 201, 205, 210 oder 215 kann auf Information von irgendeinem lokalen Cache-Speicher 220, 225, 230, 235, 240, 245, 250, 255 der Ebene Eins (L1 – Level one) zugreifen, der sich innerhalb eines der Prozessorkerne 223, 237, 233, 237, 243, 247, 253, 257 befindet oder in anderer Weise mit einem von ihnen verknüpft ist. Darüber hinaus kann jedweder Prozessor 201, 205, 210 oder 215 auf Information von irgendeinem der Caches 203, 207, 213, 217 der Ebene Zwei (L2 – Level two) oder von einem Systemspeicher 260 über einen Chipsatz 265 zugreifen. Einer oder mehrere der Prozessoren in 2 kann Logik 219 umfassen oder auf andere Weise damit verknüpft sein, um die Verarbeitung des Determinismus unter mehreren Taktdomänen zu fördern.
  • Zusätzlich zu dem FSB-Computersystem, das in der 2 veranschaulicht ist, können andere Systemgestaltungen im Zusammenwirken mit verschiedenen Ausführungsformen der Erfindung verwendet werden, einschließlich Punkt-zu-Punkt(P2P)-Verbindungssysteme und Ringverbindungssysteme. Das P2P-System der 3 kann zum Beispiel mehrere Prozesso ren umfassen, von denen nur zwei, die Prozessoren 370, 380, beispielhaft gezeigt sind. Die Prozessoren 370, 380 können jeder einen lokalen Speicher-Contollerhub (MCH – Memory Controller Hub) 372, 382 für die Verbindung mit einem Speicher 32, 34 umfassen. Die Prozessoren 370, 380 können Daten über eine Punkt-zu-Punkt(PtP)-Schnittstelle 350 austauschen, wobei PtP-Schnittstellenschaltungen 378, 380 verwendet werden. Die Prozessoren 370, 380 können jeder Daten mit einem Chipsatz 390 über individuelle PtP-Schnittstellen 352, 354 austauschen, wobei Punkt-zu-Punkt-Schnittstellenschaltungen 376, 394, 396, 398 verwendet werden. Der Chipsatz 390 kann außerdem Daten einer Schaltung 338 für Hochleistungsgrafik über eine Schnittstelle 339 für Hochleistungsgrafik austauschen. Ausführungsformen der Erfindung können sich innerhalb jedes Prozessors mit irgendeiner Anzahl von Prozessorkernen befinden oder innerhalb jedes der PtP-Busagenten der 3. Bei einer Ausführungsform kann jedweder Prozessorkern einen lokalen Cache-Speicher (nicht gezeigt) umfassen oder auf andere Weise mit ihm verknüpft sein. Weiter kann ein gemeinsam genutzer Cache (nicht gezeigt) in einem Prozessor außerhalb beider Prozessoren, jedoch weiter mit den Prozessoren über eine p2p-Verbindung verknüpft, enthalten sein, so dass Information im lokalen Cache bei einem oder beiden Prozessoren in dem gemeinsam genutzten Cache gespeichert werden kann, wenn ein Prozessor in einen Modus mit niedriger Leistung gebracht wird. Einer oder mehrere der Prozessoren oder Kerne in 3 können Logik umfassen oder auf andere Weise mit ihr verknüpft sein, um die Ausführung von Determinismus innerhalb eines Prozessors oder einer anderen integrierten Schaltung innerhalb des Systems zu fördern. Die Logik kann Speicher umfassen oder damit verknüpft sein, so wie einen oder mehrere Zähler, und einen UCPG, um die Ausführungsressourcen in einen deterministischen Zustand zu bringen, wie hierin beschrieben, um dabei zu helfen, Programme von Fehlern zu befreien oder zu optimieren, wobei Techniken, so wie PSMI, verwendet werden.
  • 4 veranschaulicht Logik, um wenigstens eine Ausführungsform der Erfindung auszuführen. Bei einer Ausführungsform umfasst Logik 419 einen UCPG 401, um eine Anzahl unterschiedlicher Taktpulse 403 mit einer Anzahl unterschiedlicher (oder gleicher) Frequenzen und/oder Phasen zu empfangen und um einen gemeinsamen Taktpuls zu erzeugen, dessen Frequenz und Phase einem gemeinsamen Zustand der unterschiedlichen Taktpulse entspricht. Zum Beispiel zählt bei einer Ausführungsform der Zähler von einem von Null verschiedenen Wert hinunter auf Null. Der UCPG kann irgendeine Anzahl unterschiedlicher Techniken implementieren, um sicherzustellen, dass ein Signal erzeugt wird, das in Bezug auf eine Anzahl von Taktsignalen deterministisch ist, von denen jedes phasenverschoben sein kann oder unter schiedliche Frequenzen haben kann. Die Logik 419 umfasst bei einer Ausführungsform außerdem einen Zähler 405, um von einem Anfangswert auf einen Schwellenwert bei einer Frequenz, die dem Ausgangssignal 407 von dem UCPG entspricht, zu zählen. Zum Beispiel wird der Zähler bei einer Ausführungsform auf einen von Null verschiedenen Wert gesetzt und zählt zu einem Schwellenwert, so wie einem Wert ”0”, hinab, während bei einer weiteren Ausführungsform der Zähler auf einen Wert, so wie ”0”, initialisiert wird und zu einem Schwellenwert hinauf zählt. Bei einer Ausführungsform kann der Zähler 405 eine Anzahl von Zählern sein, wobei jeder im Zusammenwirken oder getrennt arbeitet, um eine oder mehrere Ausführungsressourcen in einen deterministischen Zustand in Bezug auf wenigstens zwei unterschiedliche Taktdomänen zu bringen.
  • Wenn der Zähler den Schwellenwert erreicht, kann dies bewirken, dass wenigstens eine Ausführungseinheit 410 aus einem Pausenzustand unterbrochen wird und die wenigstens eine Ausführungseinheit in einen deterministischen Zustand in Bezug auf den Taktpuls des UCPG gebracht wird, so dass die Ausführungseinheit in einen deterministischen Zustand relativ zu den Takten, die von dem Taktpuls des UCPG dargestellt werden, gebracht werden. Der Einsatz der Logik 419, von Fehlerbeseitigungs- oder Optimierungstechniken so wie PSMI, kann verwendet werden, um dabei zu helfen, Programme zu entwickeln oder von Fehlern zu befreien, die in Prozessoren laufen, welche mehrere Taktdomänen haben.
  • 5 veranschaulicht ein Ablaufdiagramm von Arbeitsschritten, die im Zusammenwirken mit wenigstens einer Ausführungsform der Erfindung verwendet werden können, ungeachtet der Ausgestaltung des Prozessors oder des Systems, in dem die Ausführungsform verwendet wird. Im Arbeitsschritt 501 wird ein Zähler auf einen Anfangszustand initialisiert. Bei einer Ausführungsform stellt der Anfangszustand einen Wert größer als Null dar. Im Arbeitsschritt 505 hält eine entsprechende Ausführungseinheit oder -einheiten an. Im Arbeitsschritt 510 bewirkt ein Generator für universelle Taktpulse (UCPG), dass der Zähler in Synchronisation mit Kanten des Taktpulses des UCPG herab zählt. Bei weiteren Ausführungsformen bewirkt der Puls des UCPG, dass der Zähler den Wert inkrementiert. Im Arbeitsschritt 515, wenn der Zähler einen Schwellenwert erreicht, wird/werden die entsprechende(n) Ausführungseinheiten) aktiviert, um Befehle in einer deterministischen Weise mit Bezug auf die Takte auszuführen, die im Arbeitsschritt 520 von dem Taktpuls des UCPG dargestellt werden. Wenn die Ausführungseinheit(en) in einem deterministischen Zustand ist/sind, wobei die verschiedenen Takte innerhalb des Prozessors mit dem Taktpuls des UCPG synchronisiert sind, kön nen Fehlerbeseitungs- oder Optimierungstechniken, so wie PSMI, verwendet werden, um dabei zu helfen, Softwareprogramme von Fehlern zu befreien oder zu entwickeln, für die geplant ist, dass sie auf einem Prozessor oder in einem System laufen, der/das mehrere Taktdomänen hat.
  • Ein oder mehrere Aspekte wenigstens einer Ausführungsform können durch repräsentative Daten implementiert werden, die auf einem maschinenlesbaren Medium gespeichert sind, welche verschiedene Logik innerhalb des Prozessors darstellen, die, wenn sie von einer Maschine gelesen werden, bewirkt, dass die Maschine Logik erzeugt, um die hierin beschriebenen Techniken auszuführen. Solche Darstellungen, als ”IP-Kerne” bekannt, können auf einem körperlichen, maschinenlesbaren Medium (”Band”) gespeichert und an verschiedene Kunden oder Herstellungsbetriebe geliefert werden, damit sie in die Herstellungsmaschinen geladen werden, die tatsächlich die Logik oder den Prozessor herstellen.
  • Somit ist ein Verfahren und eine Vorrichtung zum Leiten von Zugriffen auf mikroarchitektonische Speicherbereiche beschrieben worden. Es soll verstanden werden, dass die obige Beschreibung als veranschaulichend und nicht als beschränkend gedacht ist. Viele weitere Ausführungsformen werden den Fachleuten beim Lesen und Verstehen der obigen Beschreibung deutlich. Der Umfang der Erfindung sollte daher mit Bezug auf die angefügten Ansprüche bestimmt sein, zusammen mit dem vollen Umfang von Äquivalenten, für die diese Ansprüche eine Berechtigung haben.

Claims (20)

  1. Vorrichtung, die aufweist: einen Generator für universelle Taktpulse (UCPG – Universal Clock Pulse Generator), um einen Taktpuls zu erzeugen, der einer Vielzahl unterschiedlicher Taktsignale mit einer Vielzahl unterschiedlicher Frequenzen und Phasen gemeinsam ist; einen Zähler, um von einem Anfangswert auf einen Schwellenwert zu zählen, mit einer Frequenz, die zu dem Taktpuls des UCPG proportional ist; wenigstens eine Ausführungseinheit, die aus einem Pausenzustand zu aktivieren ist, als ein Ergebnis dessen, dass der Zähler den Schwellenwert erreicht.
  2. Vorrichtung nach Anspruch 1, bei der die wenigstens eine Ausführungseinheit dazu dient, den Zähler auf den Anfangszustand rückzusetzen.
  3. Vorrichtung nach Anspruch 1, bei der der Anfangswert ein von Null verschiedener Wert ist und bei der der Schwellenwert ein Wert Null ist.
  4. Vorrichtung nach Anspruch 1, bei der die Frequenz des Taktpulses des UCPG gleich der Frequenz der Änderung beim Zählwert des Zählers ist.
  5. Vorrichtung nach Anspruch 1, weiter mit einem Befehlsdecodierer, einem Befehlsplaner und einer Befehlsrückzieheinheit.
  6. System, das aufweist: einen Speicher, der ein Softwareprogramm umfasst; einen Prozessor, um das Softwareprogramm auszuführen, wobei der Prozessor wenigstens eine Ausführungseinheit und eine Vielzahl von Taktdomänen, die einer Vielzahl an Funktionalitäten entsprechen, hat; Logik, um Determinismus in der wenigstens einen Ausführungseinheit in Bezug auf die Vielzahl der Taktdomänen zu fördern, wobei die Logik einen Zähler umfasst, um von einem Anfangswert auf einen Schwellenwert zu zählen, mit einer Geschwindigkeit, die einem universellen Taktpuls entspricht, wobei der universelle Taktpuls mit einer Vielzahl von Takten aus der Vielzahl der Taktdomänen synchronisiert ist.
  7. System nach Anspruch 6, das weiterhin eine periodische Systemverwaltungsunterbrechungs(PSMI – Periodic System Management Interrupt)-Logik umfasst, um bei der Fehlererkennung und -beseitigung in dem Softwareprogramm zu unterstützen, wobei die PSMI-Logik mit der Vielzahl der Taktdomänen entsprechend der Logik zum Fördern des Determinismus zu synchronisieren ist.
  8. System nach Anspruch 7, bei dem der Prozessor eine CPU, eine Grafikmaschine, eine Speichersteuereinheit und wenigstens eine Peripheriesteuereinheit umfasst.
  9. System nach Anspruch 8, weiter mit einer Vielzahl von Prozessoren.
  10. System nach Anspruch 9, bei dem wenigstens zwei aus der Vielzahl der Prozessoren eine Vielzahl von Taktdomänen haben.
  11. Verfahren, das aufweist: ein Initialisieren eines Zählers auf einen Anfangswert; Anhalten einer Ausführungseinheit, die mit dem Zähler gekoppelt ist; Ändern des Wertes des Zählers mit einer Geschwindigkeit proportional zu einer Signalfrequenz eines Generators für universelle Taktpulse (UCPG); Aktivieren der Ausführungseinheit, nachdem der Zähler einen Schwellenwert erreicht.
  12. Verfahren nach Anspruch 11, bei dem die Ausführungseinheit bewirkt, dass der Zähler auf einen Anfangswert gebracht wird.
  13. Verfahren nach Anspruch 11, bei dem das Signal des UCPG eine Vielzahl von Taktsignalen aus einer Vielzahl von Taktdomänen darstellt.
  14. Verfahren nach Anspruch 11, bei dem die Ausführungseinheit aktiviert wird, indem ein Unterbrechungssignal erzeugt wird, nachdem der Wert des Zählers den Schwellenwert erreicht.
  15. Verfahren nach Anspruch 11, bei dem der Anfangswert des Zählers ein von Null verschiedener Wert ist und der Schwellenwert ein Wert Null ist.
  16. Maschinenlesbares Medium, auf dem ein Satz Befehle gespeichert ist, die, wenn sie von einer Maschine ausgeführt werden, bewirken, dass die Maschine ein Verfahren durchführt, welches aufweist: Ausführen einer Vielzahl von Befehlen innerhalb einer Ausführungseinheit; Erzeugen eines periodischen Systemverwaltungsunterbrechungs(PSMI)-Signals an einem deterministischen Punkt mit einer Vielzahl von Befehlen, wobei der deterministische Punkt ein Ergebnis einer Determinismuslogik ist, die die Ausführungseinheit in einen bekannten Zustand in Bezug auf eine Vielzahl von Takten aus einer Vielzahl von Taktdomänen bringt, wobei die Determinismuslogik einen Zähler umfasst, um zu bewirken, dass die Ausführung aus einem Pausenzustand aktiviert wird, wenn der Zähler einen Schwellenwert erreicht, wobei der Zähler dazu dient, zu dem Schwellenwert mit einer Geschwindigkeit proportional zu einem universellen Taktpuls zu zählen, der die Vielzahl der Takte aus der Vielzahl der Taktdomänen darstellt.
  17. Maschinenlesbares Medium nach Anspruch 16, bei dem der Anfangswert ein Wert größer als Null ist und der Schwellenwert Null ist.
  18. Maschinenlesbares Medium nach Anspruch 16, bei dem der Anfangswert Null ist und der Schwellenwert größer als Null ist.
  19. Maschinenlesbares Medium nach Anspruch 16, bei dem die Ausführungseinheit mit einem Prozessor in einem System auf einem Chip (SoC – System-on-a-chip) verknüpft ist.
  20. Maschinenlesbares Medium nach Anspruch 19, bei dem der SoC-Prozessor wenigstens eine CPU, eine Grafikmaschine, einen Speichercontroller und wenigstens einen Peripheriecontroller umfasst.
DE102009010627A 2008-03-05 2009-02-26 Technik zum Fördern des Determinismus bei mehreren Taktdomänen Withdrawn DE102009010627A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/042,985 US8312309B2 (en) 2008-03-05 2008-03-05 Technique for promoting determinism among multiple clock domains
US12/042,985 2008-03-05

Publications (1)

Publication Number Publication Date
DE102009010627A1 true DE102009010627A1 (de) 2009-09-17

Family

ID=40953295

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102009010627A Withdrawn DE102009010627A1 (de) 2008-03-05 2009-02-26 Technik zum Fördern des Determinismus bei mehreren Taktdomänen

Country Status (7)

Country Link
US (1) US8312309B2 (de)
JP (1) JP5336228B2 (de)
KR (1) KR101196494B1 (de)
CN (1) CN101526831B (de)
DE (1) DE102009010627A1 (de)
RU (1) RU2432601C2 (de)
TW (1) TWI395089B (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8103816B2 (en) * 2008-10-28 2012-01-24 Intel Corporation Technique for communicating interrupts in a computer system
GB2507049A (en) 2012-10-16 2014-04-23 Ibm Synchronizing Trace Data
US9043521B2 (en) 2012-11-13 2015-05-26 Intel Corporation Technique for communicating interrupts in a computer system
US11200184B1 (en) * 2020-12-22 2021-12-14 Industrial Technology Research Institute Interrupt control device and interrupt control method between clock domains
US11764834B2 (en) 2022-02-15 2023-09-19 Raytheon Company Device for and method of synchronizing multiple beamforming devices

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3999169A (en) * 1975-01-06 1976-12-21 The United States Of America As Represented By The Secretary Of The Navy Real time control for digital computer utilizing real time clock resident in the central processor
US4099255A (en) * 1976-12-10 1978-07-04 Honeywell Information Systems Inc. Interrupt apparatus for enabling interrupt service in response to time out conditions
US5167024A (en) * 1989-09-08 1992-11-24 Apple Computer, Inc. Power management for a laptop computer with slow and sleep modes
DE69131454T2 (de) * 1990-03-28 2000-03-23 Nec Corp Datenprozessor zur Impulssignalerzeugung als Antwort auf externes Taktsignal
JPH0776931B2 (ja) * 1990-11-27 1995-08-16 工業技術院長 情報処理システム
US5295257A (en) * 1991-05-24 1994-03-15 Alliedsignal Inc. Distributed multiple clock system and a method for the synchronization of a distributed multiple system
US5586332A (en) * 1993-03-24 1996-12-17 Intel Corporation Power management for low power processors through the use of auto clock-throttling
EP0715258B1 (de) * 1994-07-22 1998-10-07 Advanced Micro Devices, Inc. Computersystem
JPH0898284A (ja) * 1994-07-25 1996-04-12 Nippondenso Co Ltd データ受信装置,送信装置および通信装置
JPH1165898A (ja) * 1997-08-21 1999-03-09 Hitachi Ltd 電子計算機の保守方式
DE69837594T2 (de) * 1998-02-27 2007-12-20 Lucent Technologies Inc. Taktimpulsgenerator
US6128745A (en) * 1998-05-28 2000-10-03 Phoenix Technologies Ltd. Power management inactivity monitoring using software threads
US6118306A (en) * 1998-12-03 2000-09-12 Intel Corporation Changing clock frequency
JP2001013179A (ja) * 1999-06-29 2001-01-19 Mitsubishi Electric Corp リングオシレータクロック周波数測定方法、リングオシレータクロック周波数測定回路、およびマイクロコンピュータ
US6724850B1 (en) * 2000-08-31 2004-04-20 Hewlett-Packard Development Company, L.P. Deterministic hardware behavior between multiple asynchronous clock domains through the novel use of a PLL
US6948098B2 (en) * 2001-03-30 2005-09-20 Cirrus Logic, Inc. Circuits and methods for debugging an embedded processor and systems using the same
DE10229129C1 (de) * 2002-06-28 2003-12-11 Advanced Micro Devices Inc Debug-Schnittstelle für einen Ereigniszeitgeber
US20040040013A1 (en) * 2002-08-26 2004-02-26 Mohit Kalra Time-based breakpoints in debuggers
US6987404B2 (en) * 2003-10-10 2006-01-17 Via Technologies, Inc. Synchronizer apparatus for synchronizing data from one clock domain to another clock domain
US7269768B2 (en) * 2004-03-18 2007-09-11 Intel Corporation Method and system to provide debugging of a computer system from firmware
CN1780488B (zh) * 2004-11-23 2010-05-05 中兴通讯股份有限公司 一种程控交换机系统时钟校准装置
JP4847734B2 (ja) * 2005-10-31 2011-12-28 ルネサスエレクトロニクス株式会社 半導体集積回路装置、それのデバッグシステム及びデバッグ方法。
WO2008020513A1 (fr) * 2006-08-14 2008-02-21 Nec Corporation débogueur et procédé de débogage

Also Published As

Publication number Publication date
KR101196494B1 (ko) 2012-11-01
JP5336228B2 (ja) 2013-11-06
CN101526831A (zh) 2009-09-09
TWI395089B (zh) 2013-05-01
RU2432601C2 (ru) 2011-10-27
TW200944997A (en) 2009-11-01
CN101526831B (zh) 2013-05-08
KR20090095500A (ko) 2009-09-09
JP2010020752A (ja) 2010-01-28
US20090228736A1 (en) 2009-09-10
RU2009107795A (ru) 2010-09-10
US8312309B2 (en) 2012-11-13

Similar Documents

Publication Publication Date Title
DE112004001320B3 (de) Verfahren, System und Vorrichtung zur Verbesserung der Leistung von Mehrkernprozessoren
DE10229129C1 (de) Debug-Schnittstelle für einen Ereigniszeitgeber
DE102011015555B4 (de) Verfahren und vorrichtung für interrupt-power-management
DE19834191C2 (de) Integrierte Schaltungsvorrichtung und ihr Steuerverfahren
DE202017106613U1 (de) Verfolgung verteilter Hardware
DE112013000369T5 (de) Verwaltung von Threads innerhalb einer Datenverarbeitungsumgebung
DE10333817A1 (de) Emulationsschnittstellensystem
DE112011103194B4 (de) Koordinieren von Gerät- und Anwendungsunterbrechungsereignissen zum Plattformenergiesparen
DE112004001133T5 (de) Warteschlangen-Sperren mit Monitor-Memory-Wait
DE112013003290B4 (de) Verwendung der Geräteleerlaufzeit-Information zur Optimierung der Energieeffizienz
DE102009010627A1 (de) Technik zum Fördern des Determinismus bei mehreren Taktdomänen
DE69219848T2 (de) Verfahren zur Behandlung von Datenübertragungen in einen Computersystem mit einem Zweibusbau
DE112013005368T5 (de) Prozessoren, verfahren und systeme für echtzeit-befehlsverfolgung
DE102006041444B4 (de) Schaltungsanordnung und Verfahren zum Erfassen einer Ausführungszeit eines Befehls in einem Rechnersystem
DE68920929T2 (de) Zeitgeberkanal mit mehreren Zeitgeberreferenzmerkmalen.
DE602004007754T2 (de) Verfahren und Vorrichtung zur Feststellung einer Prozessorenbelastung
DE112013003766T5 (de) Schnelles Entzerren beim Verlassen eines Niedrigenergie-Teilbreite-Hochgeschwindigkeitsverbindungszustands
DE112017004837T5 (de) Systeme und Verfahren zum Differenzieren von Funktionsleistung nach Eingabeparametern
DE112012006163T5 (de) Steuerung des Energieverbrauchs in Mehrkernumgebungen
DE102013022258A1 (de) Kontextumschaltung für Granulatität eines kooperativen Strang-Arrays während einer Haftstellenbehandlung
DE112011100168T5 (de) Erfassen von Diagnosedaten in einer Datenverarbeitungsumgebung
DE112013003712T5 (de) Impulsbreitenmodulations-Empfängerschaltungsanordnung
DE4429764C2 (de) Zeitgebereinrichtung für einen Mikrocomputer
DE112007003132B4 (de) Effiziente Energieverwaltungstechniken für Computersysteme
DE10361364B4 (de) Vorrichtung zum Behandeln von Interruptereignissen, mit der pegel-sensitive bzw. level-sensitive Interruptanforderungen in flankengetriggerten Interruptnachrichten umgesetzt werden

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee