DE102009010627A1 - Technik zum Fördern des Determinismus bei mehreren Taktdomänen - Google Patents
Technik zum Fördern des Determinismus bei mehreren Taktdomänen Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/06—Clock generators producing several clock signals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock 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 die1 einen Mikroprozessor100 mit einem oder mehreren Prozessorkernen105 und110 , von denen jeder wenigstens eine von einer CPU verschiedene funktionale Einheit107 bzw.113 hat. In der1 ist außerdem wenigstens eine weitere von einer CPU verschiedene funktionale Einheit115 ver anschaulicht, die weitere Arbeitsschritte ausführen kann, die von den funktionalen Einheiten107 und113 nicht ausgeführt werden. Bei einer Ausführungsform können die funktionalen Einheiten107 ,113 und115 Funktionen, so wie Grafikverarbeitung, Speichersteuerung und Peripheriesteuerung, beispielsweise Audio-, Video-, Plattensteuerung, Digitalsignalverarbeitung usw. umfassen. Bei manchen Ausführungsformen kann der Mikroprozessor100 auch weitere Logik umfassen, die in der1 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 Logik119 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 Logik119 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 Prozessor201 ,205 ,210 oder215 kann auf Information von irgendeinem lokalen Cache-Speicher220 ,225 ,230 ,235 ,240 ,245 ,250 ,255 der Ebene Eins (L1 – Level one) zugreifen, der sich innerhalb eines der Prozessorkerne223 ,237 ,233 ,237 ,243 ,247 ,253 ,257 befindet oder in anderer Weise mit einem von ihnen verknüpft ist. Darüber hinaus kann jedweder Prozessor201 ,205 ,210 oder215 auf Information von irgendeinem der Caches203 ,207 ,213 ,217 der Ebene Zwei (L2 – Level two) oder von einem Systemspeicher260 über einen Chipsatz265 zugreifen. Einer oder mehrere der Prozessoren in2 kann Logik219 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 der3 kann zum Beispiel mehrere Prozesso ren umfassen, von denen nur zwei, die Prozessoren370 ,380 , beispielhaft gezeigt sind. Die Prozessoren370 ,380 können jeder einen lokalen Speicher-Contollerhub (MCH – Memory Controller Hub)372 ,382 für die Verbindung mit einem Speicher32 ,34 umfassen. Die Prozessoren370 ,380 können Daten über eine Punkt-zu-Punkt(PtP)-Schnittstelle350 austauschen, wobei PtP-Schnittstellenschaltungen378 ,380 verwendet werden. Die Prozessoren370 ,380 können jeder Daten mit einem Chipsatz390 über individuelle PtP-Schnittstellen352 ,354 austauschen, wobei Punkt-zu-Punkt-Schnittstellenschaltungen376 ,394 ,396 ,398 verwendet werden. Der Chipsatz390 kann außerdem Daten einer Schaltung338 für Hochleistungsgrafik über eine Schnittstelle339 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 der3 . 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 in3 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 Logik419 einen UCPG401 , um eine Anzahl unterschiedlicher Taktpulse403 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 Logik419 umfasst bei einer Ausführungsform außerdem einen Zähler405 , um von einem Anfangswert auf einen Schwellenwert bei einer Frequenz, die dem Ausgangssignal407 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ähler405 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 Logik419 , 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 Arbeitsschritt501 wird ein Zähler auf einen Anfangszustand initialisiert. Bei einer Ausführungsform stellt der Anfangszustand einen Wert größer als Null dar. Im Arbeitsschritt505 hält eine entsprechende Ausführungseinheit oder -einheiten an. Im Arbeitsschritt510 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 Arbeitsschritt515 , 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 Arbeitsschritt520 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)
- 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.
- Vorrichtung nach Anspruch 1, bei der die wenigstens eine Ausführungseinheit dazu dient, den Zähler auf den Anfangszustand rückzusetzen.
- Vorrichtung nach Anspruch 1, bei der der Anfangswert ein von Null verschiedener Wert ist und bei der der Schwellenwert ein Wert Null ist.
- Vorrichtung nach Anspruch 1, bei der die Frequenz des Taktpulses des UCPG gleich der Frequenz der Änderung beim Zählwert des Zählers ist.
- Vorrichtung nach Anspruch 1, weiter mit einem Befehlsdecodierer, einem Befehlsplaner und einer Befehlsrückzieheinheit.
- 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.
- 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.
- System nach Anspruch 7, bei dem der Prozessor eine CPU, eine Grafikmaschine, eine Speichersteuereinheit und wenigstens eine Peripheriesteuereinheit umfasst.
- System nach Anspruch 8, weiter mit einer Vielzahl von Prozessoren.
- System nach Anspruch 9, bei dem wenigstens zwei aus der Vielzahl der Prozessoren eine Vielzahl von Taktdomänen haben.
- 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.
- Verfahren nach Anspruch 11, bei dem die Ausführungseinheit bewirkt, dass der Zähler auf einen Anfangswert gebracht wird.
- Verfahren nach Anspruch 11, bei dem das Signal des UCPG eine Vielzahl von Taktsignalen aus einer Vielzahl von Taktdomänen darstellt.
- 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.
- Verfahren nach Anspruch 11, bei dem der Anfangswert des Zählers ein von Null verschiedener Wert ist und der Schwellenwert ein Wert Null ist.
- 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.
- Maschinenlesbares Medium nach Anspruch 16, bei dem der Anfangswert ein Wert größer als Null ist und der Schwellenwert Null ist.
- Maschinenlesbares Medium nach Anspruch 16, bei dem der Anfangswert Null ist und der Schwellenwert größer als Null ist.
- 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.
- Maschinenlesbares Medium nach Anspruch 19, bei dem der SoC-Prozessor wenigstens eine CPU, eine Grafikmaschine, einen Speichercontroller und wenigstens einen Peripheriecontroller umfasst.
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)
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)
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 |
-
2008
- 2008-03-05 US US12/042,985 patent/US8312309B2/en not_active Expired - Fee Related
-
2009
- 2009-02-26 DE DE102009010627A patent/DE102009010627A1/de not_active Withdrawn
- 2009-02-27 TW TW098106383A patent/TWI395089B/zh not_active IP Right Cessation
- 2009-02-27 JP JP2009045539A patent/JP5336228B2/ja not_active Expired - Fee Related
- 2009-03-04 KR KR1020090018398A patent/KR101196494B1/ko not_active IP Right Cessation
- 2009-03-04 RU RU2009107795/08A patent/RU2432601C2/ru not_active IP Right Cessation
- 2009-03-05 CN CN2009101269226A patent/CN101526831B/zh not_active Expired - Fee Related
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 |