DE102005009086B4 - Verfahren und System zur schnellen Frequenzumschaltung für eine Leistungsdrossel in einem integrierten Gerät - Google Patents

Verfahren und System zur schnellen Frequenzumschaltung für eine Leistungsdrossel in einem integrierten Gerät Download PDF

Info

Publication number
DE102005009086B4
DE102005009086B4 DE102005009086A DE102005009086A DE102005009086B4 DE 102005009086 B4 DE102005009086 B4 DE 102005009086B4 DE 102005009086 A DE102005009086 A DE 102005009086A DE 102005009086 A DE102005009086 A DE 102005009086A DE 102005009086 B4 DE102005009086 B4 DE 102005009086B4
Authority
DE
Germany
Prior art keywords
bus
ratio
clock
value
bus ratio
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE102005009086A
Other languages
English (en)
Other versions
DE102005009086A1 (de
Inventor
Kiran San Jose Padwekar
Arvind Mandhani
Durgesh Santa Clara Srivastava
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 DE102005009086A1 publication Critical patent/DE102005009086A1/de
Application granted granted Critical
Publication of DE102005009086B4 publication Critical patent/DE102005009086B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3253Power saving in bus
    • 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/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

Verfahren zum Erzeugen eines Bus-Steuersignals beim Umschalten von einem ersten Busverhältnis zu einem zweiten Busverhältnis, welches umfaßt:
das Erzeugen des Bus-Steuersignals x Kerntakte vor einer Bustaktflanke für das erste Busverhältnis;
das Stufen einer Vielzahl von (x + 1) Pipelines, wobei die erste Pipelinestufe x Kerntakte vor der Bustaktflanke für das erste Busverhältnis und die letzte Pipelinestufe null Kerntakte vor der Bustaktflanke für das erste Busverhältnis oder x Kerntakte vor der Bustaktflanke für das erste Busverhältnis und die letzte Pipelinestufe (x + n) Kerntakte nach der Bustaktflanke für das erste Busverhältnis liegt;
das Inkrementieren eines Zählers von null bis eins weniger als das erste Busverhältnis; und
das Vergleichen des Zählers mit einem Wert, der vom ersten Busverhältnis ausgehend berechnet wird.

Description

  • Diese Offenbarung betrifft allgemein die Leistungsminderung mit einer Drossel, insbesondere ein Verfahren und ein System der im Anspruch 1 bzw. im Anspruch 16 jeweils angegebenen Art.
  • Stand der Technik
  • Die Nachfrage nach leistungsfähigeren Computern und Kommunikationsprodukten hat zu schnelleren Prozessoren geführt, die oft höhere Chiptemperaturen aufweisen und zunehmende Mengen an Strom verbrauchen. Von Designingenieuren wird aber die Senkung des Stromverbrauchs und der Chiptemperatur angestrebt.
  • Ein Prozessor oder Mikroprozessor verwendet typischerweise einen Taktmultiplikator. Der Taktmultiplikator ist ein Verhältnis einer Kernfrequenz des Prozessors zu einer Busfrequenz. Eine typische Lösung ist eine Drossel zum Ändern des Taktmultiplikators. Die Betriebsfrequenz wird zum Beispiel herabgesetzt, wenn die Betriebstemperatur des integrierten Geräts steigt. Das integrierte Gerät kühlt dann aufgrund der niedrigeren Betriebsfrequenz ab. Daher kann die Betriebsfrequenz erhöht werden, wenn das integrierte Gerät abgekühlt ist. Doch diese Drossel kann sich auf die Prozessorleistung nachteilig auswirken, da der Prozessor durch die lange Latenzzeit beeinträchtigt wird, die mit dem Umschalten des Taktmultiplikators einhergeht.
  • US 6,636,980 B1 offenbart ein System zum Datentransport auf einem Bus unter Verwendung eines ersten Taktes für ein alternatives Auswählen von Daten von zwei Datenströmen und unter Verwendung eines zweiten Taktes für das Absenden der Daten. Die Periode des Bustaktes kann als ein Vielfaches der Periode des Prozessortaktes ausgewählt werden.
  • US 5,787,294 A offenbart ein System zur Reduzierung des Leistungsverbrauchs eines Computersystems. Der programmierbare Frequenzgenerator und die programmierbare Stromversorgung können sowohl die Betriebsfrequenz als auch die Spannung reduzieren, um dadurch den Leistungsverbrauch zu reduzieren.
  • US 5,485,602 A offenbart ein Datenverarbeitungssystem, das ein CLK-Signal zur Durchführung von Operationen in einem Datenprozessor empfängt. Der Datenprozessor umfasst eine CPU, die Operationen in Reaktion auf das CLK-Signal ausführt. Der Bus kann mit einer Frequenz arbeiten, die geringer oder gleich der Betriebsfrequenz des CLK ist. Der Bustakt ist typischerweise gleich dem Takt gemäß der Frequenz oder liegt bei der Hälfte oder einem Viertel davon.
  • Die Aufgabe der Erfindung besteht darin, ein Verfahren und System bereitzustellen, das die Umschaltung des Taktmultiplikators zur Herabsetzung der Kernfrequenz ermöglicht.
  • Die Aufgabe wird gelöst durch das Verfahren mit den Merkmalen gemäß Hauptanspruch 1 und das System mit den Merkmalen gemäß Anspruch 16.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Der Gegenstand wird im abschließenden Teil der Patentschrift besonders hervorgehoben und separat beansprucht. Der beanspruchte Gegenstand, sowohl was die Organisation als auch die Arbeitsweise anbetrifft, zusammen mit seinen Aufgaben, Merkmalen und Vorteilen, geht aber am besten aus der folgenden ausführlichen Beschreibung in Verbindung mit den beiliegenden Zeichnungen hervor, wobei:
  • 1 ein Zeitablaufdiagramm ist, das eine Ausführungsform der erfindungsgemäßen Erzeugung von Drive Enable-Signalen veranschaulicht.
  • 2 ein Zeitablaufdiagramm ist, das eine Ausführungsform der erfindungsgemäßen Erzeugung von Strobesignal Drive/Sample Enable-Signalen veranschaulicht.
  • 3 ein Blockdiagramm für die Pipeline zum Erzeugen von Busverhältnis- und Steuersignalen ist, wie sie von einer Ausführungsform verwendet wird.
  • 4 ein Systemdiagramm ist, das ein System veranschaulicht, das die Ausführungsform von 1 oder 2 oder 3 verwenden kann, oder jede Kombination davon.
  • 5 eine Simulation ist, wie sie von einer Ausführungsform verwendet wird.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In der folgenden ausführlichen Beschreibung werden zahlreiche spezifische Details dargelegt, um ein gründliches Verständnis des beanspruchten Gegenstands zu ermöglichen. Für den Fachmann geht aber hervor, daß der beanspruchte Gegenstand auch ohne diese spezifischen Details in die Praxis umgesetzt werden kann. In anderen Fällen wurden wohlbekannte Verfahren, Vorgänge und Komponenten nicht im Detail beschrieben, um den beanspruchten Gegenstand nicht unverständlich zu machen.
  • Ein Bereich der aktuellen technologischen Entwicklung betrifft das Erreichen einer längeren Batteriedauer für Kommunikationsprodukte und Computer oder Rechnersysteme durch Herabsetzung des Stromverbrauchs. Wenn der Prozessor bei einer erhöhten Temperatur betrieben wird, kann die Leistung der Transistoren für den Prozessor typischerweise nachlassen und sich verlangsamen. Gegenwärtig wird eine Drossel verwendet, um den Stromverbrauch und die Chiptemperatur durch Herabsetzen der Betriebsfrequenz zu mindern. Doch wie zuvor erwähnt, wirkt eine Drossel sich nachteilig auf die Leistung eines integrierten Geräts wie z. B. eines Prozessors aus, weil der Prozessor die Ausführung aller Instruktionen anhalten kann und die Prozessorwarteschlangen leeren oder unterbrechen kann. Daher kann eine typische Drossel mit dem „Durchtreten des Bremspedals” verglichen werden, um das Fahrzeug (den Prozessor) zum Stillstand zu bringen, wenn der Stromverbrauch durch Ändern des Taktmultiplikators gemindert werden soll. Wie oben erwähnt, wird für den Prozessor oder das integrierte Gerät eine Kernfrequenz abgeleitet, indem eine Busfrequenz mit einem Taktmultiplikator multipliziert wird. In einer Ausfüh rungsform ist die Busfrequenz für einen Front Side Bus und ist feststehend, und der Taktmultiplikator ist benutzerdefiniert.
  • Im Gegensatz zu einer typischen Drossel erleichtert der beanspruchte Gegenstand ein System und ein Verfahren, das die Umschaltung des Taktmultiplikators erleichtert, um die Kernfrequenz herabzusetzen, wobei es die Leerung oder das Anhalten der Prozessorwarteschlangen verhindert, da die Frequenzumschaltung in wenigen Kerntakten auftritt und für den Benutzer transparent ist. Der beanspruchte Gegenstand wird in der nachstehenden ausführlichen Beschreibung beschrieben.
  • In einem Aspekt lehrt der beanspruchte Gegenstand einen Taktzähler-Algorithmus zum Erzeugen von Drive Enable- und Strobesignal Generation-Signalen, wie in Verbindung mit 1 und 2 veranschaulicht. Der Taktzähler-Algorithmus kann softwaremäßig implementiert sein. Die Software kann zum Beispiel in einem elektronisch zugänglichen Medium gespeichert sein, das jeden Mechanismus einschließt, der Inhalte (z. B. vom Computer ausführbare Instruktionen) in einer Form bereitstellt (d. h. speichert und/oder überträgt), die von einem elektronischen Gerät (z. B. Computer, PDA, Mobiltelefon) gelesen werden kann. Zum Beispiel umfaßt ein maschinenzugreifbares Medium Nur-Lese-Speicher (ROM); Direktzugriffsspeicher (RAM); magnetische Diskettenspeichermedien; optische Speichermedien; Flash-Speichergeräte; elektrische, optische, akustische oder andere Formen von verteilten Signalen (z. B. Trägerwellen, Infrarotsignale, Digitalsignale).
  • In einer anderen Ausführungsform erleichtert der beanspruchte Gegenstand die Pipeline-Verarbeitung von Bus-Steuersignalen und Phase Locked Loop(PLL)-Umschaltungen, um die willkürliche Tiefe zur Anpassung und längere Verteilungsverzögerungen zu und von Puffer zu unterstützen und das Steuersignal vor die Umschaltung vorzuziehen, um die Einstellzeit des Schaltsignals in Bezug auf die PLL-Umschaltung anzupassen, wie in Verbindung mit 3 gezeigt.
  • 1 ist ein Zeitablaufdiagramm, das eine Ausführungsform der erfindungsgemäßen Erzeugung von Drive Enable-Signalen veranschaulicht. In einer Ausführungsform unterstützt der beanspruchte Gegenstand die Erzeugung von Drive Enable-Signalen für einen Prozessor oder ein integriertes Gerät, das bei verschiedenen Kernfrequenzen betrieben wird. In einer Ausführungsform wirkt der beanspruchte Gegenstand mit einem Front Side Bus zusammen und wird bei einer Kernfrequenz betrieben und ist funktionell mit einem Bereich von Taktmultiplikatoren äquivalent. Deshalb hält jedes Signal die Latenzzeitanforderungen ein, um ein Signal auf den Bustakt zu treiben, und umfaßt das Treiben von Signalen an vorgegebenen Zeitpunkten vor einer folgenden steigenden Flanke eines Bustakts. Dies ermöglicht es der erfindungsgemäßen Logik, für eine minimale Latenzzeit unabhängig von einem Taktmultiplikator zu sein, die auf der Basis des höchsten unterstützten Taktmultiplikators gewählt wird.
  • Wie zuvor erwähnt, kann ein Prozessor oder ein integriertes Gerät eine Spanne von Taktmultiplikatoren unterstützen. Typischerweise wird als Synchronisationssignal ein Satz von Synchronisationssignalen wie z. B. Drive Enables oder Sample Enables benutzt. Die Drive Enable-Signale werden verwendet, um Signale auf einen Bus zu treiben, wie z. B. einem Front Side Bus, und die Sample Enable-Signale werden verwendet, um ein Signal abzutasten, das von einem Bus wie z. B. einem Front Side Bus eingeht.
  • In einer Ausführungsform können die Sample Enable-Signale von den Drive Enables abgeleitet werden und sind in Bezug auf diese symmetrisch. In einer Ausführungsform werden die Sample Enable-Signale nach dem steigenden Flanke des Bustakts verwendet. Um ein Sample Enable zum Beispiel 1 Zyklus nach dem Bustakt zu erzeugen, wird das Drive Enable-Signal um x + 1 Zyklen verzögert. In einer Ausführungsform wird folgendes wie folgt in Register Transfer Language (RTL) codiert:
    Figure 00050001
  • Das folgende Beispiel veranschaulicht den Zeitablauf, um auf der Basis eines Taktzählers ein Drive Enable-Signal für einen Taktmultiplikator zu erzeugen. Wie oben beschrieben, sind zum Treiben eines Signals auf den Bustakt Latenzzeitanforderungen vorhanden. Angenommen, die Latenzzeitanforderung sei (x – 1) Kerntakte, dann ist (x) die Zahl der Kerntakte vor einer steigenden Flanke des nächsten Bustaktes. Angenommen auch, der Taktmultiplikator sei (N), führt dies dazu, daß das Drive Enable-Signal x Kerntakte vor der steigenden Flanke des nächsten Bustaktes und (N – x) Takte nach der Hinterflanke angelegt wird. Angenommen demgegenüber, der Taktmultiplikator sei (2N), dann ist der relative Abstand in den Kerntakten von einer Vorderflanke des Bustaktes gleich, doch der Abstand von der Hinterflanke ist (2N – x).
  • In einer Ausführungsform wird die feste Positionierung des Drive Enable für einen Bereich von Taktmultiplikatoren mindestens zum Teil auf der Basis eines Taktzählers berechnet. Die Berechnung (Operation) des Taktzählers ist:
  • Für jede steigende Flanke eines Kerntaktes ist
    Figure 00060001
  • Die obige Operation des Taktzählers beschreibt eine verschachtelte Schleife, um den Zählern auf der Basis von Entscheidungen verschiedene Werte zuzuweisen. Zum Beispiel wird der Zähler auf den Wert von init_constant gesetzt, wenn der Wert von reset eine logische eins ist. Andernfalls wird der Zähler auf den Wert von reload_constant gesetzt, wenn der Wert des Zählers eine logische null ist. Wenn der Wert des Zählers nicht gleich einer logischen null ist, dann wird der Zählerwert um eins dekrementiert.
  • Schließlich wird der Wert drive_enable auf eine logische eins gesetzt, wenn der Zählerwert null ist.
  • Um die Variablen näher zu erläutern, definiert in einer Ausführungsform die Variable init_constant einen Anfangszustand für einen spezifischen Taktmultiplikator. Zum Beispiel weist bei einem Taktmultiplikator von 10 ein Drive Enable-Signal, das 2 Kerntaktzyklen vor einem Bustakt wahr (gültig) ist, einen Wert von init_constant von 8 auf; dementsprechend weist bei einem Taktmultiplikator von 14 ein Drive Enable-Signal, das 2 Kerntaktzyklen vor einem Bustakt wahr (gültig) ist, einen Wert von init_constant von 12 auf. In derselben Ausführungsform entspricht der Wert von reload_constant dem von clock_multiplier (Taktmultiplikator).
  • Zur Unterstützung einer Leistungsdrossel ist es notwendig, den Wert des Taktmultiplikators zu ändern. Daher muß das Drive Enable-Signal für einen anderen Taktmultiplikatorwert erzeugt werden. Darüber hinaus müssen init_constant und reload_constant den neuen Taktmultiplikator wert wiedergeben. Daher wird der Wert init_constant und reload_constant für den neuen Taktmultiplikatorwert reinitialisiert, bevor der Zähler neu gestartet wird. In einer Ausführungsform zum Beispiel wird Drive Enable für den neuen Taktmultiplikatorwert initialisiert, wenn der Frequenzumschaltung im nächsten Bustaktzyklus erwartet wird. Daher werden die Variablen init_constant und reload_constant reinitialisiert, indem der Algorithmus für den früheren Zähler wie folgt modifiziert wird:
  • Für jede steigende Flanke eines Kerntaktes ist der
    Figure 00070001
  • Die obige Operation des Taktzählers beschreibt eine verschachtelte Schleife, um den Zählern auf der Basis von Entscheidungen verschiedene Werte zuzuweisen. Zum Beispiel wird der Zähler auf den Wert von init_constant gesetzt, wenn der Wert von reset eine logische eins ist. Andernfalls wird der Zähler auf den Wert von reload_constant_new gesetzt (um den neuen Taktmultiplikatorwert wiederzugeben), wenn der Wert der Booleschen Funktion (&& ist ein Logisches UND) von not counter und switch_freq_next_bus_clock eine logische eins ist. Andernfalls, wenn die Boolesche Funktion eine logische null und der Wert von counter eine logische null ist, dann wird der Zähler auf den Wert des reload_constant-Werts gesetzt. Andernfalls wird der Zählerwert um eins dekrementiert.
  • Schließlich wird der Wert drive_enable auf eine logische eins gesetzt, wenn der Zählerwert gleich null ist.
  • 1 zeigt ein Beispiel einer Leistungsdrossel, da der Taktmultiplikator von 2N auf N verringert wird. Ein Drive Enable (DriveEn1) ist für den Taktmultiplikator 2N, ein Drive Enable (DriveEn2) ist demgegenüber für den Taktmultiplikator N. DriveEn1 ist (x) Kerntakte vom Bustakt Q1 entfernt. Unter der Annahme, daß die Frequenzumschaltung an einer steigenden Flanke des Bustaktes Q1 auftritt, ist DriveEn2 (N – x) Kerntaktzyklen von der steigenden Flanke des Bustaktes Q1 entfernt. Wenn DriveEn1 erzeugt wird, wird der Zähler mit der Zahl von Kerntakten vor der Erzeugung des nächsten Drive Enable (DriveEn2) geladen. In einer Ausführungsform ist die Zahl der Kerntakte 2N. Doch aufgrund der Frequenzumschaltung entspricht die Zahl (x + N – x), was N ist. Deshalb wird der Zähler ungeachtet der Zahl mit einem neuen Multiplikatorwert geladen, wenn im nächsten Bustaktzyklus eine Frequenzumschaltung erfolgt.
  • Der beanspruchte Gegenstand beschränkt sich nicht auf das obige Beispiel einer Leistungsdrossel, die den Taktmultiplikator von 2N auf N reduziert. Im Gegenteil, der beanspruchte Gegenstand unterstützt die Erhöhung des Taktmultiplikators. Desgleichen unterstützt der beanspruchte Gegenstand verschiedene Taktmultiplikatorwerte.
  • 2 ist ein Zeitablaufdiagramm, das eine Ausführungsform der erfindungsgemäßen Erzeugung von Strobesignal Drive/Sample Enable-Signalen veranschaulicht. In einer Ausführungsform wird das Strobesignal-Signal mit der zweifachen Bustaktfrequenz betrieben und wird zum Latchen von Busdatensignalen verwendet. Die Busdatensignale können zum Beispiel Front Side Bus(FSB)-Datensignale sein. In derselben Ausführungsform werden die Strobesignal-Signale bei 25% und 75% des Bustakt-Arbeitszyklus erzeugt (wie an den vertikalen Linien bei 25% und 75% für beide Drive Enable-Signale DriveEn1 und DriveEn2 auf dem Bustakt-Zeitablauf dargestellt). Wie oben in Verbindung mit 1 beschrieben, ist ein Drive Enable (DriveEn1) für den Taktmultiplikator 2N, demgegenüber ist ein Drive Enable (DriveEn2) für den Taktmultiplikator N. DriveEn1 wird x Kerntaktzyklen vor dem 75% Strobesignal erzeugt, während das nächste Strobesignal bei 25% der nächsten Busperiode mit einem Multiplikator N erzeugt wird (wie durch den halbkreisförmigen Bogen 202 dargestellt). Der Abstand zwischen den zwei Strobesignals ist demnach:
    (.25) multipliziert mit (2N)(während der Zeitperiode DriveEn1 mit einem Taktmultiplikator von 2N) + .25N (während der Zeitperiode DriveEn2 mit einem Taktmultiplikator von N).
  • Ferner ist die Reload Constant-Gleichung in einer Ausführungsform:
    reload_constant_new_for_Strobesignals = .25(mal)(current multiplier) + .25 (mal)(next_multiplier)
  • Der beanspruchte Gegenstand beschränkt sich aber nicht auf Strobesignal-Werte bei 25% und 75% eines Arbeitszyklus für einen Bustakt. Der beanspruchte Gegenstand unterstützt jede Kombination von Strobesignal-Werten durch Verändern der Strobesignal-Einstellungen und Verändern der Reload Constant-Gleichung, um die geänderten Strobesignal-Werte wiederzugeben.
  • 3 ist ein Blockdiagramm für die Pipeline zur Busverhältnis- und Steuersignalerzeugung, wie sie von einer Ausführungsform verwendet wird. Das Blockdiagramm vereinfacht die Erzeugung von Steuersignalen auf der Basis, mindestens zum Teil, des Soll-Busverhältnis und der Zähler. Daher unterstützt es einen willkürlichen Busverhältnis-Bereich und schaltet von einem ersten Busverhältnis zu einem anderen um.
  • Das Blockdiagramm umfaßt einen frühen Zähler, eine PLL-Steuerlogik und eine Vielzahl von Pipelinestufen. Die PLL-Steuerlogik empfängt den Zählerstand vom Ausgang des frühen Zählers.
  • Der frühe Zähler empfängt Zähler-Steuersignale von einem Ausgang der Steuerlogik.
  • Der frühe Zähler für das aktuelle Busverhältnis wird weit genug vor dem PLL-Ratio-Zähler gehalten. Der frühe Zähler wird verwendet, um die Kerntakte in der ersten (frühesten) Pipelinestufe zu zählen. Zum Beispiel zählt der frühe Zähler von null bis (1 weniger als das Busverhältnis). Der Zähler wird nach Erreichen von (Busverhältnis –1) im nächsten Takt auf null zurückgesetzt. Daher werden die Steuersignale von der PLL-Steuerlogik erzeugt, indem der Zählerstand vom frühen Zähler mit verschiedenen Zählerständen verglichen wird, die von der Busverhältnis abgeleitet wurden, und die Übereinstimmung entlang der Pipeline zur geeigneten Pipelinestufe gestuft wird.
  • In einer Ausführungsform basiert die Zahl der Stufen in der Pipeline mindestens zum Teil auf dem frühesten Steuersignal, das erzeugt werden muß. Wenn ein Busverhältnis zum Beispiel von 7 auf 28 umgeschaltet werden soll, dann wird das früheste Steuersignal 9 Kerntakte vor der Bustaktflanke erzeugt. Daher wird eine 10-stufige Pipeline benutzt, mit Stufen, die als 9b, 8b, ..., und schließlich 0b dargestellt sind. In dieser Ausführungsform ist die früheste Pipelinestufe als 9b angezeigt. Wie zuvor beschrieben, zählt der frühe Zähler die Kerntakte in der frühesten Pipelinestufe, und in diesem Beispiel ist die frühesten Pipelinestufe 9b. Wenn das Busverhältnis 7 ist, zählt der frühe Zähler daher von 0 bis 6 und zurück auf 0.
  • Die busbezogenen Signale werden abgeleitet, indem der Wert des frühen Zählers mit einem Wert verglichen wird, der vom Busverhältnis ausgehend berechnet wird. Wenn zum Beispiel ein Strobesignal bei 50% Bustakt benötigt wird, wird der frühe Zähler mit 50% des Busverhältnis verglichen, was eine arithmetische Rechtsverschiebungsoperation ist. Dementsprechend handhabt die arithmetische Verschiebung sowohl ungerade als auch gerade Busverhältnis.
  • Der beanspruchte Gegenstand unterstützt daher ungerade und gerade Busverhältnis. Um auf das Beispiel eines Busverhältnis von 7 zurückzukommen, wird der Wert des frühen Zählers in Stufe 9b, die neun Kerntakte vor dem Bustakt liegt, mit 3 verglichen (da dies das Ergebnis der arithmetischen Rechtsverschiebungsoperation 7 >> 1 ist). Folglich wird der Wert des frühen Zählers genau neun Kerntakte vor 50% des Bustaktes drei entsprechen, und das 9b-Signal (ein Signal, das 9 Takte vor dem Bustakt liegt), wird so viele Takte lang gestuft, wird notwendig ist, um ein Signal eine willkürliche Zahl von Takten vor oder nach den 50% des Bustaktes zu erzeugen.
  • Der Wert des frühen Zählers wird auf null zurückgesetzt, wenn eine Anforderung nach einem Wechsel von einem ersten Busverhältnis zu einem zweiten Busverhältnis (einem Frequenzwechsel) empfangen wird. Daher schaltet der Wert des frühen Zählers auf einen neuen Zählerstand um, wenn die Frequenzumschaltung erzeugt wird. Zum Beispiel wird das Umschaltsignal auch in der frühesten Pipelinestufe erzeugt, wenn der Wert des frühen Zählers eins weniger erreicht, als wenn der Zählerstand 1 weniger als das Busverhältnis erreicht, wenn das Clock Tooth Stealing deaktiviert ist, und 2 weniger als das Busverhältnis, wenn das Clock Tooth Stealing aktiviert ist. Wenn das Umschaltsignal erzeugt wird, wird der Wert des frühen Zählers im nächsten Takt auf 0 zurückgesetzt und startet das Zählen beim umgeschalteten Busverhältnis (zweites Busverhältnis). Wenn im obigen Beispiel mit Clock Tooth Stealing von 7 auf 28 umgeschaltet wird, wird das Umschaltsignal erzeugt, wenn der Zähler 5 erreicht hat (1 weniger als die normale Zählung von 0 bis 6). Im nächsten Takt wird der Zähler auf 0 zurückgesetzt und beginnt, für ein Busverhältnis von 28 von 0 bis 27 zu zählen. Beim Wechsel des Busverhältnis wird zwischen 2 PLLs multiplexiert und zwischen ihnen umgeschaltet. Aufgrund der PLL-Umschaltung ist eine leichte Verzögerung im ersten Taktzyklus nach der Umschaltung zwischen den PLLs vorhanden. Zum Beispiel kann der erste Taktzyklus überall mindestens um einige Picosekunden verzögert sein. Demgegenüber ermöglicht das Clock Tooth Stealing die Verlängerung des ersten Takts, um diese Verzögerung auszugleichen. Zum Beispiel kann der erste Taktzyklus länger als ein normaler einzelner Taktzyklus und kürzer als zwei normale Taktzyklen sein. Wie zuvor beschrieben, unterstützt der beanspruchte Gegenstand die Steuersignalerzeugung mit oder ohne Clock Tooth Stealing.
  • In einer Ausführungsform wird das Umschaltsignal zur PLL-Steuerlogik verbreitet, indem es gestuft wird, bis es die Bustaktflanke erreicht hat (9 Takte in unserem Beispiel). An der Bustaktflanke wird der Kerntakt vom aktuellen Busverhältnis auf das angeforderte Busverhältnis umgeschaltet. Der Frühe Zähler ermöglicht es demnach, ein Steuersignal eine willkürliche Zahl von Bustakten vor der Umschaltung zu erzeugen.
  • In einer Ausführungsform kann das Blockdiagramm softwaremäßig implementiert sein. Die Software kann zum Beispiel in einem elektronisch zugänglichen Medium gespeichert sein, das jeden Mechanismus einschließt, der Inhalte (z. B. vom Computer ausführbare Instruktionen) in einer Form bereitstellt (d. h. speichert und/oder überträgt), die von einem elektronischen Gerät (z. B. Computer, PDA, Mobiltelefon) gelesen werden kann. Zum Beispiel umfaßt ein maschinenzugreifbares Medium Nur-Lese-Speicher (ROM); Direktzugriffsspeicher (RAM); magnetische Diskettenspeichermedien; optische Speichermedien; Flash-Speichergeräte; elektrische, optische, akustische oder andere Formen von verteilten Signalen (z. B. Trägerwellen, Infrarotsignale, Digitalsignale).
  • RTL-Code kann ebenfalls verwendet werden, um die oben beschriebene Funktionalität zu implementieren. Der RTL-Code ist ein Baustein, um die Synthese der Hardwarefunktionen zu erleichtern, und ist für das Endprodukt nicht transparent.
  • Zum Beispiel kann die Software wie folgt codiert sein. Bitte beachten Sie, daß Kommentare eingefügt sind, um die Werte der Variablen und die Funktion jedes Codes klar zum Ausdruck zu bringen. Jeder Kommentarzeile ist ein ! vorangestellt.
  • Figure 00110001
  • Figure 00120001
  • Figure 00130001
  • Figure 00140001
  • Figure 00150001
  • Figure 00160001
  • 4 ist ein Systemdiagramm, das ein System veranschaulicht, das die Ausführungsform von 1 oder 2 oder 3 oder jeder Kombination davon verwenden kann. Das Mehrprozessorsystem soll einen Bereich von Systemen darstellen, der mehrfache Prozessoren aufweist, zum Beispiel Computersysteme, Echtzeit-Überwachungssysteme usw. In bestimmten Situationen kann die hierin beschriebene Steuersignalerzeugung sowohl auf Einzelprozessor- als auch auf Mehrprozessorsysteme angewandt werden.
  • Der Systembus ist eine Multiprocessing-Schnittstelle zu Prozessoren, Speicher und E/A. Bis zu vier Prozessoren (Agenten drei bis null) können über den Systembus miteinander verbunden werden. In einer Ausführungsform sind diese Agenten Bus-Master. Die Schnittstelle zum Rest des Systems ist durch die Hochgeschwindigkeits-E/A-Schnittstelle und den Speicherschnittstellenblock dargestellt. Bus-Agenten geben Transaktionen aus, um Daten und Systeminformation zu übertragen. Jede Transaktion weise mehrere Phasen auf, die eine Arbitrationsphase, Anforderungsphase, Snoop-Phase, Antwortphase und Datenphase umfassen können.
  • 5 ist eine Simulation, wie sie von einer Ausführungsform verwendet wird. Einem Fachmann ist die Simulationsausgabe verständlich, die das oben erläuterte Beispiel der Umschaltung des Busverhältnis von 7 auf 28 und zurück auf 7 veranschaulicht, wobei das Clock Tooth Stealing aktiviert ist. Daher stellt die Simulation ein Arbeitsbeispiel des beanspruchten Gegenstands dar.
  • Um die Simulation eingehender zu erläutern, es wurden zwei PLLs modelliert, die clk0 und clk1 auf der Basis von ratio0 und ratio1 erzeugen. Ratio0 und ratio1 können auf 7, 14 oder 28 eingestellt werden, um die Arbeitsweise der Logik zu veranschaulichen. In der Simulation sind ratio0 und clk0 7, und ratio1 und clk1 sind 28. Der aktuelle Kerntakt ist cclk. Der aktuelle Bustakt ist bclk. Bck ist während des gesamten ersten cclk des bclk aktiv. Request ist das Signal, welches das Ratio anfordert, current ist das Signal, welches das aktuelle Ratio angibt. Wenn request von current abweicht, wird eine Frequenzumschaltung durchgeführt. Request kann seinen Schaltzustand jederzeit ändern. Die Signale request und current liegen beide 9 Takte vor dem Bustakt.
  • Current9b, ssdrive9b und switch 9b sind Signale 9 Takte vor bclk. Sie werden gestuft, um 8b, 7b bis hin zu 0b-Signale zu erzeugen. Current ist das aktuelle Busverhältnis, ssdrive ist das Source Synchronous Drive-Signal, switch zeigt die Frequenzumschaltung an. Die Signale können weiter gestuft werden, um Signale n Takte nach bclk zu erzeugen.
  • Auch wenn der beanspruchte Gegenstand in Bezug auf spezifische Ausführungsformen beschrieben wurde, ist diese Beschreibung nicht in einem einschränkenden Sinne zu verstehen. Dem Fachmann werden nach dem Durchlesen der Beschreibung des beanspruchten Gegenstands verschiedene Modifikationen der offenbarten Ausführungsform sowie alternative Ausführungsformen des beanspruchten Gegenstands einfallen. Daher ist in Betracht zu ziehen, daß solche Modifikationen vorgenommen werden können, ohne vom Geist oder Umfang des beanspruchten Gegenstands abzuweichen, wie er in den beigefügten Ansprüchen definiert ist.

Claims (18)

  1. Verfahren zum Erzeugen eines Bus-Steuersignals beim Umschalten von einem ersten Busverhältnis zu einem zweiten Busverhältnis, welches umfaßt: das Erzeugen des Bus-Steuersignals x Kerntakte vor einer Bustaktflanke für das erste Busverhältnis; das Stufen einer Vielzahl von (x + 1) Pipelines, wobei die erste Pipelinestufe x Kerntakte vor der Bustaktflanke für das erste Busverhältnis und die letzte Pipelinestufe null Kerntakte vor der Bustaktflanke für das erste Busverhältnis oder x Kerntakte vor der Bustaktflanke für das erste Busverhältnis und die letzte Pipelinestufe (x + n) Kerntakte nach der Bustaktflanke für das erste Busverhältnis liegt; das Inkrementieren eines Zählers von null bis eins weniger als das erste Busverhältnis; und das Vergleichen des Zählers mit einem Wert, der vom ersten Busverhältnis ausgehend berechnet wird.
  2. Verfahren nach Anspruch 1, welches weiter umfaßt: das Setzen des Zählers auf einen anderen Wert, um beim Empfang einer Anforderung, vom ersten Busverhältnis zum zweiten Busverhältnis zu wechseln, das zweite Busverhältnis wiederzugeben.
  3. Verfahren nach Anspruch 2, wobei die Anforderung, zu wechseln, in der ersten Pipelinestufe erzeugt wird, wenn der Zählerwert einen Wert von eins weniger als das erste Busverhältnis erreicht hat.
  4. Verfahren nach Anspruch 1, welches umfaßt: das Aktivieren des Clock Tooth Stealing.
  5. Verfahren nach einem der Ansprüche 1 bis 4, wobei der Wert ausgehend vom ersten Busverhältnis mindestens zum Teil darauf basierend berechnet wird, wann ein Strobesignal in Bezug auf einen Prozentsatz des Bustakts für das erste Busverhältnis benötigt wird.
  6. Verfahren nach Anspruch 1, welches weiter umfaßt: das Stufen des Signals von der ersten Pipelinestufe so viele Takte lang, wie notwendig ist, um ein Signal eine willkürliche Zahl von Takten vor oder nach einem vorgegebenen Prozentsatz des Bustaktes für das erste Busverhältnis zu erzeugen.
  7. Verfahren nach Anspruch 6, wobei der Wert ausgehend vom ersten Busverhältnis mindestens zum Teil auf der Basis des vorgegebenen Prozentsatzes des Bustaktes für das erste Busverhältnis berechnet wird, der einem Strobesignal entspricht, das in Bezug auf einen Prozentsatz des Bustakts für das erste Busverhältnis benötigt wird.
  8. Verfahren nach Anspruch 7, wobei beim Empfang einer Anforderung, vom ersten Busverhältnis zum zweiten Busverhältnis zu wechseln, der Zähler auf null zurückgesetzt wird.
  9. Verfahren nach einem der Ansprüche 1 bis 8, wobei der Wert berechnet wird, indem eine arithmetische Rechtsverschiebungsoperation am ersten Busverhältnis durchgeführt wird.
  10. Verfahren nach einem der Ansprüche 1 bis 9, welches weiter umfaßt: das Zuweisen eines Werts init_constant (anfängliche Konstante) an einen Zählerwert, wenn das Zurücksetzen aktiviert ist; das Zuweisen eines Werts reload_constant an einen Zählerwert, wenn der vorherige Wert des Zählers eine logische null ist; andernfalls, das Dekrementieren des Zählerwerts um eins; und der Wert init constant basiert mindestens zum Teil auf dem ersten Busverhältnis und der Latenzzeitanforderung des Bus-Steuersignals, und der Wert von reload_constant entspricht dem ersten Busverhältnis.
  11. Verfahren nach einem der Ansprüche 1 bis 10, welches zum Erzeugen eines Taktsignals, verwendet wird und umfaßt: das Erzeugen des Taktsignals in einer ersten Taktdomäne, die eine Soll-Phasenbeziehung mit einem zweiten Taktsignal aufweist; und das Ändern eines aktuellen Frequenzverhältnisses zwischen dem ersten und dem zweiten Takt auf ein anderes Verhältnis.
  12. Industrielles Erzeugnis zur Ausführung des Verfahrens nach einem der Ansprüche 1 bis 11, welches umfaßt: ein maschinenlesbares Medium mit einer Vielzahl von maschinenlesbaren Instruktionen, wobei die Instruktionen, wenn die Instruktionen von einem System ausgeführt werden, beim Umschalten von einem ersten Busverhältnis zu einem zweiten Busverhältnis die Erzeugung eines Bus-Steuersignals bewirken, welches umfaßt: das Erzeugen des Bus-Steuersignals x Kerntakte vor einer Bustaktflanke für das erste Busverhältnis; das Stufen einer Vielzahl von (x + 1) Pipelines, wobei die erste Pipelinestufe x Kerntakte vor der Bustaktflanke für das erste Busverhältnis und die letzte Pipelinestufe null Kerntakte vor der Bustaktflanke für das erste Busverhältnis liegt; das Inkrementieren eines Zählers von null bis eins weniger als das erste Busverhältnis; und das Vergleichen des Zählers mit einem Wert, der vom ersten Busverhältnis ausgehend berechnet wird.
  13. Industrielles Erzeugnis nach Anspruch 12, wobei der Wert ausgehend vom ersten Busverhältnis mindestens zum Teil darauf basierend berechnet wird, wann ein Strobesignal in Bezug auf einen Prozentsatz des Bustakts für das erste Busverhältnis benötigt wird.
  14. Industrielles Erzeugnis nach Anspruch 12, wobei der Wert berechnet wird, indem eine arithmetische Rechtsverschiebungsoperation am ersten Busverhältnis durchgeführt wird.
  15. Industrielles Erzeugnis nach Anspruch 12, wobei die maschinenlesbaren Instruktionen in Register Transfer Language (RTL) codiert sind.
  16. System, welches umfaßt: mindestens einen Prozessor mit einer Vielzahl von Transaktionswarteschlangen, um von einem ersten Busverhältnis zu einem zweiten Busverhältnis zu wechseln, ohne die Vielzahl von Transaktionswarteschlangen zu leeren, indem ein Bus-Steuersignal x Kerntakte vor einer Bustaktflanke für das erste Busverhältnis erzeugt wird und eine Vielzahl von (x + 1) Pipelines gestuft werden, wobei die erste Pipeli nestufe x Kerntakte vor der Bustaktflanke für das erste Busverhältnis und die letzte Pipelinestufe null Kerntakte vor der Bustaktflanke für das erste Busverhältnis liegt; ein Zähler von null bis eins weniger als das erste Busverhältnis inkrementiert wird; und der Zähler mit einem Wert verglichen wird, der ausgehend vom ersten Busverhältnis berechnet wird.
  17. System nach Anspruch 16, wobei der Wert ausgehend vom ersten Busverhältnis mindestens zum Teil darauf basierend berechnet wird, wann ein Strobesignal in Bezug auf einen Prozentsatz des Bustakts für das erste Busverhältnis benötigt wird.
  18. Vorrichtung, welche das Verfahren nach einem der Ansprüche 1 bis 11 verwendet und umfaßt: eine Vielzahl von mehrstufigen Pipelines in einer ersten Taktdomäne; und die Vorrichtung, um ein Frequenzverhältnis und eine Phasenbeziehung mit einem zweiten Takt in einer von einer Vielzahl von mehrstufigen Pipelines zu verfolgen; die Vorrichtung, um ein Signal zum Teil auf der Basis eines ersten und zweiten Frequenzverhältnisses und der Phasenbeziehungen zwischen dem ersten und zweiten Takt zu erzeugen, das in einem oder in mehreren Zyklen des ersten Takts gestuft werden kann.
DE102005009086A 2004-03-03 2005-02-28 Verfahren und System zur schnellen Frequenzumschaltung für eine Leistungsdrossel in einem integrierten Gerät Expired - Fee Related DE102005009086B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/794,735 2004-03-03
US10/794,735 US7272736B2 (en) 2004-03-03 2004-03-03 Method and system for fast frequency switch for a power throttle in an integrated device

Publications (2)

Publication Number Publication Date
DE102005009086A1 DE102005009086A1 (de) 2005-12-22
DE102005009086B4 true DE102005009086B4 (de) 2010-09-09

Family

ID=34912337

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005009086A Expired - Fee Related DE102005009086B4 (de) 2004-03-03 2005-02-28 Verfahren und System zur schnellen Frequenzumschaltung für eine Leistungsdrossel in einem integrierten Gerät

Country Status (4)

Country Link
US (4) US7272736B2 (de)
CN (1) CN100483303C (de)
DE (1) DE102005009086B4 (de)
TW (1) TWI314262B (de)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7272736B2 (en) * 2004-03-03 2007-09-18 Intel Corporation Method and system for fast frequency switch for a power throttle in an integrated device
US7793291B2 (en) * 2004-12-22 2010-09-07 International Business Machines Corporation Thermal management of a multi-processor computer system
KR101150989B1 (ko) * 2007-08-07 2012-05-30 삼성전자주식회사 화상처리장치 및 그 제어방법
US7941687B2 (en) * 2007-12-13 2011-05-10 Digi International Inc. Method and apparatus for digital I/O expander chip with multi-function timer cells
US8688926B2 (en) 2010-10-10 2014-04-01 Liqid Inc. Systems and methods for optimizing data storage among a plurality of solid state memory subsystems
US8914650B2 (en) 2011-09-28 2014-12-16 Intel Corporation Dynamically adjusting power of non-core processor circuitry including buffer circuitry
US8874976B2 (en) 2011-09-29 2014-10-28 Intel Corporation Providing error handling support to legacy devices
US8711875B2 (en) 2011-09-29 2014-04-29 Intel Corporation Aggregating completion messages in a sideband interface
US8929373B2 (en) 2011-09-29 2015-01-06 Intel Corporation Sending packets with expanded headers
CN103064461B (zh) * 2012-12-31 2016-03-09 华为技术有限公司 一种时钟使能信号的产生方法及装置
US10467166B2 (en) 2014-04-25 2019-11-05 Liqid Inc. Stacked-device peripheral storage card
US9678910B2 (en) 2014-04-25 2017-06-13 Liqid Inc. Power handling in a scalable storage system
US9684575B2 (en) 2014-06-23 2017-06-20 Liqid Inc. Failover handling in modular switched fabric for data storage systems
US10362107B2 (en) 2014-09-04 2019-07-23 Liqid Inc. Synchronization of storage transactions in clustered storage systems
US9653124B2 (en) 2014-09-04 2017-05-16 Liqid Inc. Dual-sided rackmount storage assembly
US10198183B2 (en) 2015-02-06 2019-02-05 Liqid Inc. Tunneling of storage operations between storage nodes
US10108422B2 (en) 2015-04-28 2018-10-23 Liqid Inc. Multi-thread network stack buffering of data frames
US10019388B2 (en) 2015-04-28 2018-07-10 Liqid Inc. Enhanced initialization for data storage assemblies
US10191691B2 (en) 2015-04-28 2019-01-29 Liqid Inc. Front-end quality of service differentiation in storage system operations
US10255215B2 (en) 2016-01-29 2019-04-09 Liqid Inc. Enhanced PCIe storage device form factors
TWI721319B (zh) 2016-06-10 2021-03-11 美商利魁得股份有限公司 資料儲存系統中的多埠中介件架構
US11880326B2 (en) 2016-08-12 2024-01-23 Liqid Inc. Emulated telemetry interfaces for computing units
US11294839B2 (en) 2016-08-12 2022-04-05 Liqid Inc. Emulated telemetry interfaces for fabric-coupled computing units
EP3497571B1 (de) 2016-08-12 2021-12-29 Liqid Inc. Disaggregierte gewebevermittelte rechenplattform
WO2018200761A1 (en) 2017-04-27 2018-11-01 Liqid Inc. Pcie fabric connectivity expansion card
US10795842B2 (en) 2017-05-08 2020-10-06 Liqid Inc. Fabric switched graphics modules within storage enclosures
US10660228B2 (en) 2018-08-03 2020-05-19 Liqid Inc. Peripheral storage card with offset slot alignment
US10585827B1 (en) 2019-02-05 2020-03-10 Liqid Inc. PCIe fabric enabled peer-to-peer communications
US11256649B2 (en) 2019-04-25 2022-02-22 Liqid Inc. Machine templates for predetermined compute units
WO2020219807A1 (en) 2019-04-25 2020-10-29 Liqid Inc. Composed computing systems with converged and disaggregated component pool
US11442776B2 (en) 2020-12-11 2022-09-13 Liqid Inc. Execution job compute unit composition in computing clusters

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5485602A (en) * 1993-12-27 1996-01-16 Motorola, Inc. Integrated circuit having a control signal for identifying coinciding active edges of two clock signals
US5787294A (en) * 1995-10-13 1998-07-28 Vlsi Technology, Inc. System for reducing the power consumption of a computer system and method therefor
US6636980B1 (en) * 1999-08-19 2003-10-21 International Business Machines Corporation System for launching data on a bus by using first clock for alternately selecting data from two data streams and using second clock for launching data thereafter

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5553275A (en) * 1993-07-13 1996-09-03 Intel Corporation Method and apparatus for synchronously detecting phase relationships between a high-frequency clock and a low-frequency clock
SG47976A1 (en) * 1994-05-10 1998-04-17 Intel Corp Method and apparatus for providing synchronous data transmission between digital devices operating at frequencies having a p/q integer ratio relationship
US6032211A (en) * 1998-06-17 2000-02-29 Advanced Micro Devices, Inc. Method of mode control in a bus optimized for personal computer data traffic
US6266779B1 (en) * 1998-10-08 2001-07-24 Intel Corporation Clock enable generation, synchronization, and distribution
ES2209096T5 (es) * 1998-11-20 2007-11-01 Mikron Sa Agno Dispositivo para la generacion de un movimiento relativo.
US6367023B2 (en) * 1998-12-23 2002-04-02 Intel Corporation Method and apparatus of measuring current, voltage, or duty cycle of a power supply to manage power consumption in a computer system
JP2000244309A (ja) 1999-02-18 2000-09-08 Mitsubishi Electric Corp クロック生成回路および半導体装置
US6457135B1 (en) * 1999-08-10 2002-09-24 Intel Corporation System and method for managing a plurality of processor performance states
US6715023B1 (en) * 1999-09-23 2004-03-30 Altera Corporation PCI bus switch architecture
US6799280B1 (en) * 2000-01-04 2004-09-28 Advanced Micro Devices, Inc. System and method for synchronizing data transfer from one domain to another by selecting output data from either a first or second storage device
US6813721B1 (en) * 2000-09-20 2004-11-02 Stratus Computer Systems, S.A.R.L. Methods and apparatus for generating high-frequency clocks deterministically from a low-frequency system reference clock
KR100369463B1 (ko) * 2000-12-21 2003-01-24 엘지전자 주식회사 휴대용 컴퓨터에서의 호스트 버스 클럭 가변 제어방법
US7194650B2 (en) * 2003-05-09 2007-03-20 Hewlett-Packard Development Company, L.P. System and method for synchronizing multiple synchronizer controllers
US7272736B2 (en) * 2004-03-03 2007-09-18 Intel Corporation Method and system for fast frequency switch for a power throttle in an integrated device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5485602A (en) * 1993-12-27 1996-01-16 Motorola, Inc. Integrated circuit having a control signal for identifying coinciding active edges of two clock signals
US5787294A (en) * 1995-10-13 1998-07-28 Vlsi Technology, Inc. System for reducing the power consumption of a computer system and method therefor
US6636980B1 (en) * 1999-08-19 2003-10-21 International Business Machines Corporation System for launching data on a bus by using first clock for alternately selecting data from two data streams and using second clock for launching data thereafter

Also Published As

Publication number Publication date
US7571341B2 (en) 2009-08-04
US20080034237A1 (en) 2008-02-07
DE102005009086A1 (de) 2005-12-22
US7272736B2 (en) 2007-09-18
TW200601027A (en) 2006-01-01
CN1664753A (zh) 2005-09-07
US20070016819A1 (en) 2007-01-18
TWI314262B (en) 2009-09-01
US20050198544A1 (en) 2005-09-08
US20070016820A1 (en) 2007-01-18
CN100483303C (zh) 2009-04-29
US7725757B2 (en) 2010-05-25
US7475269B2 (en) 2009-01-06

Similar Documents

Publication Publication Date Title
DE102005009086B4 (de) Verfahren und System zur schnellen Frequenzumschaltung für eine Leistungsdrossel in einem integrierten Gerät
DE19882418B4 (de) System einer quellensynchronen Schnittstelle zwischen Master- und Slave-Einrichtungen und zugehöriges Verfahren
DE102004062911B4 (de) Verfahren zum Betrieb eines Prozessors und zugehöriges Prozessorsystem
DE10041048B4 (de) Nicht-Ganzzahliger Frequenzteiler
DE69733407T2 (de) Schnittstelle zur datenübertragung zwischen zwei taktbereichen
DE102005051478B4 (de) Flashdatenspeichervorrichtung
DE19580707C2 (de) PCI-ZU-ISA-Interrupt-Protokoll-Konverter und -Auswahlmechanismus
DE19882870C2 (de) Verfahren und Einrichtung zum Weiterleiten eines Signals zwischen synchronen Taktdomänen, die bei einem nicht-ganzzahligen Frequenzverhältnis arbeiten
DE102013222669B4 (de) Ein variationstoleranter periodischer Synchronisator
EP1554803B1 (de) Verfahren und vorrichtung zum erzeugen eines taktsignals mit vorbestimmten taktsignaleigenschaften
DE102015115080A1 (de) Konfigurierbare digitale Schnittstelle für Schaltspannungsregler
DE19858650A1 (de) Gerät und Verfahren zum Reduzieren des Energieverbrauchs in einem selbstgetakteten System
DE102017110784A1 (de) Halbleitervorrichtung, Halbleitersystem und Verfahren zum Betreiben der Halbleitervorrichtung
EP1543408B1 (de) Vorrichtung und verfahren zum berechnen einer multiplikation mit einer verschiebung des multiplikanden
DE102016208849A1 (de) Empfangsschaltkreis, Verfahren zum Einstellen eines Zeitpunkts in dem Empfangsschaltkreis und eine Halbleitervorrichtung
DE60121618T2 (de) Vorrichtung und verfahren zur frequenzteilung durch eine ungerade zahl
DE102014201326A1 (de) Verfahren und Vorrichtung zum Erzeugen von Taktsignalen durch Normalisieren von Tastcode zu Zeitintervallcode
EP2386949B1 (de) Verfahren und Vorrichtung zum zuweisen einer Mehrzahl von Teilaufgaben einer Aufgabe zu einer Mehrzahl von Recheneinheiten einer vorgegebenen Prozessorarchitektur
JPS6113601B2 (de)
Santarelli Numerical analysis of the regularized long-wave equation: anelastic collision of solitary waves
DE3842517A1 (de) Pipeline-datenverarbeitungssystem
DE60313637T2 (de) Verfahren und vorrichtung zum verarbeiten von verschlüsselungsoperationen mit beliebiger schlüsselbitlänge mit ähnlichen effizienzen
DE10018988B4 (de) Hochgeschwindigkeits-Pipelinevorrichtung und Verfahren zum Erzeugen von Steuersignalen dafür
DE69433906T2 (de) Vorrichtung und Verfahren zur Steuerung eines Peripheriebustaktsignals
DE112015007097B4 (de) Übertragungssteuervorrichtung, Fahrzeug und Übertragungssteuerverfahren

Legal Events

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