DE112008001876B4 - Taktverschiebungs- und Priorisierungsverfahren und elektronisches Gerät - Google Patents

Taktverschiebungs- und Priorisierungsverfahren und elektronisches Gerät Download PDF

Info

Publication number
DE112008001876B4
DE112008001876B4 DE112008001876T DE112008001876T DE112008001876B4 DE 112008001876 B4 DE112008001876 B4 DE 112008001876B4 DE 112008001876 T DE112008001876 T DE 112008001876T DE 112008001876 T DE112008001876 T DE 112008001876T DE 112008001876 B4 DE112008001876 B4 DE 112008001876B4
Authority
DE
Germany
Prior art keywords
clock
frequency
electronic device
user
clocks
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
DE112008001876T
Other languages
English (en)
Other versions
DE112008001876T5 (de
Inventor
Isaac Tex. Lagnado
Ming Tex. He
Henry F. Tex. Lada
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of DE112008001876T5 publication Critical patent/DE112008001876T5/de
Application granted granted Critical
Publication of DE112008001876B4 publication Critical patent/DE112008001876B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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
    • 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)
  • Power Sources (AREA)
  • Electric Clocks (AREA)

Abstract

Taktverschiebungs- und Priorisierungsverfahren, das folgende Schritte aufweist: Anpassen einer Frequenz für eine Mehrzahl von Taktgebern (122, 152, 182), die einer Mehrzahl jeweiliger Komponenten (120, 150, 180) eines elektronischen Geräts (100) entsprechen, basierend auf einem Benutzerpriorisierungsschema zum Betreiben des elektronischen Geräts (100), wobei das Benutzerpriorisierungsschema eine oder mehrere Benutzerkonfigurationseinstellungen (134) und die Reihenfolge einer Priorität für die Benutzerkonfigurationseinstellungen (134) aufweist, wobei die Benutzerkonfigurationseinstellungen ein Leistungsschema (138) spezifizieren, und wobei ansprechend auf einen Frequenzkonflikt die Frequenz für zumindest einen Taktgeber in der Mehrzahl von Taktgebern (122, 152, 182) auf eine Frequenz angepasst wird, die einer höchsten Priorität in dem durch den Benutzer spezifizierten Leistungsschema (138) entspricht.

Description

  • Die vorliegende Erfindung betrifft ein Taktverschiebungs- und Priorisierungsverfahren und ein elektronisches Gerät.
  • Komponenten in elektronischen Geräten umfassen üblicherweise einen Taktgeber, der verwendet wird, um Verarbeitungs- oder Kommunikationsaktivitäten zu synchronisieren und/oder zu verwalten. Die Frequenzen jedoch, bei denen die Taktgeber arbeiten, beeinflussen manchmal die Gesamtleistung anderer Komponenten innerhalb des elektronischen Geräts nachteilig. Taktgeber z. B., die die Leistung oder Geschwindigkeit einer Verarbeitung von Daten maximieren, könnten den Batterieverbrauch des elektronischen Geräts erhöhen. Bei einem weiteren Beispiel könnten Komponententaktgeber, die bei bestimmten Frequenzen arbeiten, Rauschen erzeugen, wodurch die Leistung des elektronischen Geräts nachteilig beeinflusst wird.
  • Die US 7 127 626 B2 beschreibt eine Datenverarbeitungsanlage, die eine CPU umfasst, die mit einer einstellbaren (variablen) Taktfrequenz arbeitet. Die Taktfrequenz wird in Übereinstimmung mit einem Taktänderungssignal eingestellt. Eine Mehrzahl von Taktänderungssignalen haben jeweilige Prioritätsreihenfolgen. Wenn zwei oder mehr Taktänderungssignale eingegeben werden, wird eines aufgrund der Prioritätsreihenfolge ausgewählt. Das Taktsignal für die CPU wird in Übereinstimmung mit dem gewählten Taktänderungssignal geändert.
  • Die KR 10 2000 0027589 A beschreibt ein Computer-System, dessen Leistung verbessert wird, indem eine Frequenz eines Bustaktsignals verändert wird. Das Computer-System umfasst einen Taktgeber, eine Mehrzahl der Frequenzauswahltasten, eine Eingangsschaltung und eine Schnittstellenschaltung. Der Taktgeber erzeugt ein Bustaktsignal einer vorbestimmten Frequenz entsprechend einer Einstellungsinformation. Über die Frequenzauswahltasten wird eine Frequenz ausgewählt, und die Frequenz des Bustaktsignals von dem Taktgeber wird entsprechend der Einstellungsinformation variiert.
  • Es ist die Aufgabe der vorliegenden Erfindung, ein Taktverschiebungs- und Priorisierungsverfahren für ein elektronisches Gerät und ein elektronische Gerät, das entsprechend dem Verfahren arbeitet, zu schaffen, wobei Taktfrequenzen verschiedener Komponenten in dem elektronischen Gerät gemäß einer durch einen Benutzer spezifizierten Konfiguration automatisch und dynamisch anpassbar sind, um Störungen durch Frequenzkonflikte der einzelnen Komponenten zu vermeiden.
  • Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1 und durch ein elektronisches Gerät gemäß Anspruch 5 gelöst.
  • 1 stellt ein Blockdiagramm eines elektronischen Geräts dar, bei dem ein Ausführungsbeispiel eines Taktverschiebungs- und Priorisierungssystems vorteilhaft eingesetzt wird;
  • 2 ist ein Ausführungsbeispiel einer Taktfrequenzdatenbank, die durch das Takt verschiebungs- und Priorisierungssystem aus 1 verwendet wird;
  • 3 ist ein Ausführungsbeispiel einer Priorisierungsdatenbank, die durch das Taktverschiebungs- und Priorisierungssystem aus 1 verwendet wird; und
  • 4 ist ein Flussdiagramm, das ein Ausführungsbeispiel eines dynamischen Taktverschiebungs- und Priorisierungsverfahrens darstellt.
  • 1 ist ein Blockdiagramm eines elektronischen Geräts 100, bei dem ein Ausführungsbeispiel eines Taktverschiebungs- und Priorisierungssystems 102 vorteilhaft eingesetzt wird. Das Taktverschiebungs- und Priorisierungssystem 102 ist konfiguriert, um die Taktfrequenzen der Komponenten in dem elektronischen Gerät 100 automatisch und dynamisch anzupassen, um es zu ermöglichen, dass das elektronische Gerät 100 gemäß einer durch einen Benutzer spezifizierten Konfiguration arbeiten und/oder sich verhalten kann und mögliche Frequenzkonflikte, die aus den Anpassungen resultieren, lösen kann. Bei dem veranschaulichenden Ausführungsbeispiel weist das System 102 das elektronische Gerät 100 und eine Leistungsversorgung 110 auf. Bei dem veranschaulichenden Ausführungsbeispiel ist die Leistungsversorgung 110 extern mit dem elektronischen Gerät 100 gekoppelt und kann ein beliebiger Typ von Leistungsquelle (z. B. eine Batterie, ein Leistungsversorgungsbaustein, eine Steckdose usw.), die konfiguriert ist, um einen Strom und/oder Leistung an das elektronische Gerät 100 zu liefern, sein. Es wird jedoch darauf hingewiesen, dass die Leistungsversorgung 110 intern mit dem elektronischen Gerät 100 gekoppelt sein kann.
  • Das elektronische Gerät 100 kann ein beliebiger Typ eines elektronischen Geräts sein, wie z. B., jedoch nicht ausschließlich, ein Tischcomputer, ein Laptop-Computer, ein Tablett-Computer, ein Personaldigitalassistent (PDA), ein Mobiltelefon, eine Spielvorrichtung oder ein beliebiger Typ eines tragbaren oder nicht tragbaren elektronischen Geräts. Bei dem in 1 dargestellten Ausführungsbeispiel weist das elektronische Gerät 100 eine Prozessoreinheit 120, einen Speicher 130, ein Drahtlosmodul 140, ein Festplattenlaufwerk 150, eine Eingabe/Ausgabe-Einheit (I/O-Einheit; I/O = input/output) 160 und eine Benutzerschnittstelle 170 auf. Es wird darauf hingewiesen, dass Komponenten in dem elektronischen Gerät 100 ein Ausführungsbeispiel mit lediglich Hardware, ein Ausführungsbeispiel mit lediglich Software oder eine beliebige Kombination derselben sein können. Der Prozessor 120 wird verwendet, um die Befehle und/oder Prozesse, die einem Anpassen der Taktfrequenzen der Komponenten in dem elektronischen Gerät 100 zugeordnet sind, zu verwalten und/oder steuern. Bei dem dargestellten Ausführungsbeispiel weist der Prozessor 120 einen Taktgeber 122 auf, der konfiguriert ist, um die Geschwindigkeit, mit der der Prozessor 120 Informationen, Anforderungen und/oder Daten verarbeitet, zu verwalten und/oder steuern.
  • Bei dem dargestellten Ausführungsbeispiel weist der Speicher 130 eine Firmware 132, Benutzerkonfigurationseinstellungen 134, eine Taktfrequenzdatenbank 136 und eine Priorisierungsdatenbank 138 auf. Bei einigen Ausführungsbeispielen ist die Firmware 132 ein Satz von Nur-Lese-Befehlen, die konfiguriert sind, um die Initialisierungsprozesse (z. B. über ein Basis-Eingabe/Ausgabe-System (BIOS; BIOS = basic input/output system)) und/oder Kommunikationen mit einem Betriebssystem für das elektronische Gerät 100 zu verwalten. Bei dem dargestellten Ausführungsbeispiel weist die Firmware 132 ein Taktfrequenzmodul 124 auf, das konfiguriert ist, um die Taktfrequenzen für Komponenten in dem elektronischen Gerät 100 basierend auf einer erwünschten Benutzerkonfiguration zu verwalten und/oder anzupassen und mögliche Frequenzkonflikte, die aus den Anpassungen resultieren, zu lösen. Ein Frequenzkonflikt, wie er hierin verwendet wird, bezieht sich auf eine beliebige Frequenz, bei der ein Komponententaktgeber arbeitet, die den Betrieb und/oder die Leistung des elektronischen Geräts 100 derart stört, dass das elektronische Gerät 100 nicht mit der erwünschten Benutzerkonfiguration konform arbeiten und/oder sich verhalten kann, und/oder zu der Herabsetzung dieser Leistung führt. Die Benutzerkonfigurationseinstellungen 134 identifizieren die durch den Benutzer spezifizierten Einstellungen und/oder Betriebskonfigurationen, für die der Benutzer das elektronische Gerät betreiben möchte. Beispielhafte Benutzerkonfigurationseinstellungen 134 sind jedoch nicht eingeschränkt auf ein Maximieren einer Leistung des Prozessors 120, sondern umfassen und ein Optimieren von Drahtloskommunikationen und/oder ein Maximieren von Leistungserhaltung und/oder Batterielebensdauer für die Leistungsversorgung 100. Bei dem dargestellten Ausführungsbeispiel ist die Taktfrequenzdatenbank 136 eine Liste eines oder mehrerer der Taktgeber für eine oder mehrere Komponenten in dem elektronischen Gerät 100 und der zugeordneten Frequenzanpassungskonfigurationen (z. B. Minimieren der Betriebsfrequenz, Maximieren der Betriebsfrequenz, Anpassungsstufen usw.) für den entsprechenden. Taktgeber. Es wird darauf hingewiesen, dass die Taktfrequenzdatenbank 136 ein beliebiger Typ eines Datenspeichersystems (z. B. eine Tabelle, ein Diagramm, eine Datei usw.) sein kann. Bei dem dargestellten Ausführungsbeispiel listet die Priorisierungsdatenbank 138 die Priorität der erwünschten Benutzerkonfigurationseinstellung 134 in dem Fall, dass ein Frequenzkonflikt in dem elektronischen Gerät 100 entsteht, auf. Ein Benutzer kann ein Benutzerpriorisierungsschema spezifizieren, das eine oder mehrere Benutzerkonfigurationseinstellungen 134 und die Reihenfolge einer Priorität für die Benutzerkonfigurationseinstellungen 134 aufweist. Ein Benutzer kann z. B. die maximale Leistung des Prozessors 120 als eine erste Priorität spezifizieren, und als zweite Priorität die Optimierung von Drahtloskommunikationen.
  • Bei dem dargestellten Ausführungsbeispiel verwaltet und/oder steuert das Drahtlosmodul 140 Drahtloskommunikationen für das elektronische Gerät 100 über einen beliebigen Typ von Netz (z. B. Internet, World Wide Web usw.) hinweg. Bei dem dargestellten Ausführungsbeispiel weist das Drahtlosmodul 140 einen Identifizierer angeschlossener Kanäle 142 und ein Sende-/Empfangsgerät 144 auf. Der Identifizierer angeschlossener Kanäle 142 zeigt die Empfangsfrequenz an, mit der das Drahtlosmodul 140 mit dem Netz verbunden ist. Das Sende-/Empfangsgerät 144 ist konfiguriert, um sowohl Kommunikationen an das elektronische Gerät 100 zu senden als auch Kommunikationen von demselben zu empfangen. Das Festplattenlaufwerk 150 ist ein Speicherelement, das Daten und/oder Informationen für das elektronische Gerät 100 speichert. Bei dem dargestellten Ausführungsbeispiel weist das Festplattenlaufwerk 150 einen Taktgeber 152 auf, der konfiguriert ist, um die Rate und/oder Geschwindigkeit der Lese- und Schreiboperationen für das Festplattenlaufwerk 150 zu verwalten und/oder zu steuern. Die Eingabe/Ausgabe-Einheit 160 ist ein Satz einer oder mehrerer Schnittstellen und/oder Tore, die konfiguriert sind, um es zu ermöglichen, dass eines oder mehrere Peripheriegeräte schnittstellenmäßig mit dem elektronischen Gerät 100 verbunden sein können. Bei dem dargestellten Ausführungsbeispiel koppelt die Eingabe/Ausgabe-Einheit 160 die Leistungsversorgung 110 mit dem elektronischen Gerät 100. Die Benutzerschnittstelle 170 ist eine Benutzereingabevorrichtung und/oder -komponente (z. B. eine graphische Benutzerschnittstelle (GUI; GUI = graphical user interface), eine Anzeigevorrichtung, eine Tastatur, eine Maus usw.), die es einem Benutzer ermöglicht, die gewünschte Benutzerkonfigurationseinstellung 134 zum Betreiben des elektronischen Geräts 100 auszuwählen und/oder zu identifizieren. Bei einigen Ausführungsbeispielen ist ein Videobus 180 eine Kommunikationskomponente, die es ermöglicht, dass Videodaten, Videoinformationen und Leistung zwischen dem Prozessor 120 und der Benutzerschnittstelle 170 übertragen werden können. Bei dem dargestellten Ausführungsbeispiel ist der Videobus 180 mit einem Taktgeber 182 gekoppelt, der konfiguriert ist, um die Rate von und/oder die Geschwindigkeit, mit der der Videobus 180 Daten und/oder Informationen überträgt, zu verwalten und/oder steuern.
  • In Betrieb führt die Firmware 132 das Taktfrequenzmodul 124 aus, wenn das elektronische Gerät 100 initialisiert wird und/oder wenn eine unterschiedliche Benutzerkonfigurationseinstellung ausgewählt wird. Das Taktfrequenzmodul 124 wird ausgeführt, um die Komponententaktgeber (z. B. Taktgeber 126, 152, 182 usw.) in dem elektronischen Gerät 100 derart zu sichern und/oder anzupassen, dass das elektronische Gerät 100 gemäß einer erwünschten Benutzerkonfigurationseinstellung arbeitet. Bei diesem Ausführungsbeispiel identifiziert das Taktfrequenzmodul 124 die erwünschte Benutzerkonfigurationseinstellung aus der Benutzerkonfigurationseinstellungsdatenbank 134. Das Taktfrequenzmodul 124 identifiziert dann die entsprechenden Komponententakteinstellungen aus der Taktfrequenzdatenbank 136. Das Taktfrequenzmodul 124 identifiziert dann die momentanen Taktfrequenzen für die entsprechenden Komponenten, die in der Taktfrequenzdatenbank 136 aufgelistet sind, und bestimmt, ob die momentanen Taktfrequenzen mit den entsprechenden Taktfrequenzen, die in der Taktfrequenzdatenbank 136 aufgelistet sind, übereinstimmen. Wenn die Taktfrequenzen nicht übereinstimmen, sendet das Taktfrequenzmodul 124 eine Anforderung an die entsprechende Komponente, die die nichtkonforme Taktfrequenz aufweist, die Taktfrequenz an die passende Taktfrequenz anzupassen. Das Taktfrequenzmodul 124 führt dann eine Verifizierung und/oder Prüfung durch, um sicherzustellen, dass keine der angepassten Taktfrequenzen mit der Leistung einer anderen Komponente in Konflikt steht, was die Leistung des elektronischen Geräts 100 nachteilig beeinflussen könnte (z. B. dass das elektronische Gerät 100 sich nicht gemäß der erwünschten Benutzerkonfigurationseinstellung verhält). Wenn z. B. die erwünschte Benutzerkonfigurationseinstellung darin besteht, Drahtloskommunikationen zu optimieren, stellt das Taktfrequenzmodul 124 sicher, dass keine der momentanen Taktfrequenzen angepasst und/oder verschoben wird, um in der gleichen Frequenz und/oder Harmonischen wie der Taktgeber 142 des Drahtlosmoduls 140 zu arbeiten, wodurch Rauschen bewirkt und/oder die Effizienz von Drahtloskommunikationen gestört wird.
  • Ausführungsbeispiele des Taktverschiebungs- und Priorisierungssystems 102 ermöglichen es dem Taktfrequenzmodul 124, automatisch Taktfrequenzen zu verschieben und/oder eine Konfliktprüfung durchzuführen, um sicherzustellen, dass das elektronische Gerät 100 gemäß der erwünschten Benutzerkonfigurationseinstellung arbeitet. Bei einigen Ausführungsbeispielen kann die Frequenz der Konfliktprüfung durch einen Benutzer und/oder Administrator des elektronischen Geräts 100 eingerichtet werden und/oder eine Vorgabeeinstellung sein, die durch den Hersteller des elektronischen Geräts 100 eingestellt ist. Bei diesem Ausführungsbeispiel kann das System 102 das Taktfrequenzmodul 124 ansprechend auf die Periodenkonfliktprüfung automatisch ausführen. Alternativ kann der Prozessor 120 das Taktfrequenzmodul 124 ansprechend auf eine Veränderung an der Konfiguration des elektronischen Geräts 100, die die Fähigkeit des elektronischen Geräts 100, gemäß der gewünschten Benutzerkonfigurationseinstellung zu arbeiten, möglicherweise beeinflussen könnte, ausführen. Beispiele derartiger Konfigurationsveränderungen umfassen die Installation und/oder Entfernung von Komponenten in dem elektronischen Gerät 100, eine Veränderung an Frequenzanpassungskonfigurationen, die in der Taktfrequenzdatenbank 136 aufgelistet sind, eine Aktualisierung an Treiberkomponenten usw., sind jedoch nicht darauf eingeschränkt.
  • Ausführungsbeispiele des Taktverschiebungs- und Priorisierungssystems 102 ermöglichen es außerdem, dass die Taktfrequenzsteuerung 124 die Taktfrequenz und/oder Frequenz, auf die die entsprechenden Komponententaktgeber (Taktgeber 126, 152, 182 usw.) anzupassen und/oder zu verschieben sind, berechnen kann. Die Taktfrequenzdatenbank 136 z. B. kann eine Frequenzstufenanpassung aufweisen (z. B. beliebiges Anpassen einer Taktfrequenz in Stufen von 200 KHz zwischen 65 MHz und 75 MHz). Die Frequenzstufenanpassung identifiziert den erlaubten Bereich und/oder die Inkremente zur Anpassung (z. B. Erhöhung und/oder Senkung) jedes entsprechenden Taktgebers (z. B. Taktgeber 126, 152, 182 usw.). Alternativ könnten Ausführungsbeispiele des Taktverschiebungs- und Priorisierungssystems 102 es außerdem ermöglichen, dass Taktfrequenzen basierend auf einer Harmonischen berechnet werden, anstelle von Taktfrequenzen. Taktfrequenzen könnten die Leistung einer Komponente in dem elektronischen Gerät selbst dann in Konflikt bringen, wenn die Komponente bei einer unterschiedlichen Frequenz, jedoch in der gleichen Harmonischen arbeitet. Eine Harmonische ist ein ganzzahliges Vielfaches einer Frequenz. Deshalb würde bei diesem Ausführungsbeispiel die Taktfrequenzsteuerung 124 zwei Berechnungen anstelle von einer Berechnung durchführen: (1) Berechnen einer repräsentativen Frequenz, die der Harmonischen entspricht; und (2) Berechnen der Frequenzanpassung für den entsprechenden Taktgeber. Alternativ könnten Ausführungsbeispiele des Taktverschiebungs- und Priorisierungssystems 102 außerdem die Bandbreite einer Taktfrequenz basierend auf den berechneten Harmonischen berechnen lassen. Die Bandbreite der Taktfrequenz ist der Bereich von Frequenzen, mit denen eine andere Komponente in Konflikt stehen könnte. Die Identifizierung von in Konflikt stehenden Bandbreiten basiert darauf, ob die Taktfrequenzen in der gleichen Frequenz arbeiten. So würde bei diesem Ausführungsbeispiel die Taktfrequenzsteuerung 124 die entsprechenden Harmonischen für die unterschiedlichen Taktfrequenzen der Komponenten identifizieren. Die Taktfrequenzsteuerung 124 würde dann diese Informationen verwenden, um die Bandbreiten zu identifizieren, die möglicherweise einen Frequenzkonflikt bewirken. Bei diesem Ausführungsbeispiel könnte die Taktfrequenzsteuerung 124 außerdem die Taktfrequenzen und/oder Harmonischen für jede Komponente, die gemieden werden sollen, identifizieren, so dass kein Frequenzkonflikt entsteht.
  • Ausführungsbeispiele des Taktverschiebungs- und Priorisierungssystems 102 ermöglichen es dem Taktfrequenzmodul 124, basierend auf einem durch einen Benutzer spezifizierten Priorisierungsschema zu identifizieren, welche Takte verschoben werden sollen, und zwar in dem Fall, dass ein Frequenzkonflikt entsteht. Bei diesem Ausführungsbeispiel identifiziert das Taktfrequenzmodul 124, wenn das Taktfrequenzmodul 124 einen Frequenzkonflikt identifiziert, den Kanal, mit dem das Drahtlosmodul 140 verbunden ist, durch Lesen des Frequenzwertes, der durch die Identifizierer angeschlossener Kanäle 142 spezifiziert ist. Das Taktfrequenzmodul 124 liest dann das durch den Benutzer spezifizierte Priorisierungsschema, das in der Priorisierungsdatenbank 138 gespeichert ist, um die passende Taktfrequenz für die in Konflikt stehende Komponente zu identifizieren. Beispielsweise sei eine Konfiguration betrachtet, bei der der Benutzer die maximale Leistung des Prozessors 120 als eine erste Priorität und die Maximierung des Drahtlosmoduls 140 als eine zweite Priorität ausgewählt hat. Bei diesem Beispiel identifiziert das Taktfrequenzmodul 124, dass der Videobustaktgeber 182 nicht mit einer Taktfrequenz arbeiten kann, die es dem elektronischen Gerät 100 ermöglicht, gemäß allen gewünschten Benutzerkonfigurationseinstellungen 134 zu arbeiten. Bei diesem Ausführungsbeispiel würde das Taktfrequenzmodul 124 dann eine Taktfrequenz für den Videobustaktgeber 182 auswählen, die die erste Priorität erfüllt und außerdem nicht in Konflikt mit der Frequenz steht, mit der das Drahtlosmodul 140 arbeitet, wenn gerade ein Drahtlosmodul 140 arbeitet.
  • 2 ist ein Ausführungsbeispiel einer Taktfrequenzdatenbank 136 für das Taktverschiebungs- und Priorisierungssystem 102. Bei dem dargestellten Ausführungsbeispiel ist die Taktfrequenzdatenbank 136 eine Tabelle, die die entsprechenden Frequenzkonfigurationen für einen bestimmten Taktgeber für eine bestimmte Komponente in dem elektronischen Gerät 100 (1) identifiziert. Bei dem dargestellten Ausführungsbeispiel listet die Taktfrequenzdatenbank 136 eine maximale Frequenz 220, eine minimale Frequenz 230 und eine Frequenzstufenanpassung 240 für sowohl den Prozessortaktgeber 126 als auch den Festplattenlaufwerkstaktgeber 152 und den Videobustaktgeber 182 für jede Benutzerkonfigurationseinstellung (z. B. Maximieren einer Verwendung der Leistungsversorgung 110, Maximieren einer Leistung des Prozessors 120, Maximieren des Drahtlosmoduls 140 usw.) auf. Bei dem dargestellten Ausführungsbeispiel richten die maximale Frequenz 220 und die minimale Frequenz 230 einen annehmbaren Bereich von Frequenzen ein, für den jeder entsprechende Taktgeber (z. B. Taktgeber 122, 152 und 182) in Bezug auf eine bestimmte Benutzerkonfigurationseinstellung arbeiten kann. Bei dem dargestellten Ausführungsbeispiel identifiziert die Frequenzstufenanpassung 140 die Inkremente, in denen das Taktfrequenzmodul 124 (1) jeden entsprechenden Taktgeber anpassen kann, ansprechend auf eine Frequenz, die in Konflikt mit der Fähigkeit des elektronischen Geräts steht, gemäß einer spezifizierten Benutzerkonfiguration zu arbeiten. Das Taktfrequenzmodul 124 z. B. kann die Taktfrequenz des Videobustaktgebers 182 in Inkrementen von 0,2 MHz zwischen dem Frequenzbereich von 65 MHz und 75 MHz anpassen, damit das elektronische Gerät 100 gemäß der spezifizierten Benutzerkonfigurationseinstellung eines Maximierens der Leistung des Prozessors 120 arbeiten kann. Es wird darauf hingewiesen, dass die Taktfrequenzdatenbank 136 mehr, weniger und/oder unterschiedliche Komponenten, Frequenzen usw. aufweisen könnte und in einer Vielzahl von Formaten (z. B. Diagrammen usw.) dargestellt sein könnte.
  • 3 stellt ein Ausführungsbeispiel einer Priorisierungsdatenbank 138 dar, die durch das Taktverschiebungs- und Priorisierungssystem verwendet wird. Bei dem dargestellten Ausführungsbeispiel ist die Priorisierungsdatenbank 138 eine Tabelle, die mögliche Priorisierungskonfigurationen und/oder -schemata für verschiedene Benutzerkonfigurationseinstellungen identifiziert. Bei dem dargestellten Ausführungsbeispiel kann der Benutzer die beiden Benutzerkonfigurationseinstellungen als obere Priorität und die Reihenfolge der Benutzerkonfigurationseinstellungen benennen. Es wird jedoch darauf hingewiesen, dass mehr oder weniger Prioritäten und/oder Konfigurationen vorlegen könnten. In Betrieb identifiziert das Taktfrequenzmodul 124 die Konfiguration (z. B. Konfiguration 1, Konfiguration 2, Konfiguration 3, Konfiguration 4 usw.), die der Benutzer als das Priorisierungsschema für das elektronische Gerät 100 benannt und/oder spezifiziert hat. Basierend auf den Informationen in der Taktfrequenzdatenbank 136 identifiziert das Taktfrequenzmodul 124 die Taktfrequenzen für alle Taktgeber, die in der spezifizierten Benutzerkonfigurationseinstellung identifiziert sind. Wenn keine der Taktfrequenzen einen Frequenzkonflikt erzeugt, passt das Taktfrequenzmodul 124 alle Taktgeber gemäß der spezifizierten Benutzerkonfigurationseinstellung an. Wenn jedoch eine oder mehrere der Taktfrequenzen in Konflikt stehen, greift das Taktfrequenzmodul 124 auf die Priorisierungsdatenbank 134 zurück, um die Benutzerkonfigurationseinstellung mit der höchsten Priorität zu identifizieren. Das Taktfrequenzmodul 124 passt dann die entsprechende Taktfrequenz des Taktgebers auf die benannte Taktfrequenz für die Benutzerkonfigurationseinstellung mit der höchsten Priorität an.
  • 4 ist ein Flussdiagramm, das ein Ausführungsbeispiel eines dynamischen Taktverschiebungs- und Priorisierungsverfahrens darstellt. Das Verfahren beginnt bei Block 400, bei dem das Taktfrequenzmodul 124 ein gewünschtes Benutzerkonfigurationseinstellungs- und Priorisierungsschema für das elektronische Gerät 100 identifiziert. Das Taktfrequenzmodul 124 identifiziert dann eine entsprechende Taktfrequenz für eine Mehrzahl von Taktgebern (z. B. Taktgeber 122, 152, 182 usw.) in dem elektronischen Gerät 100, die dem erwünschten Benutzerkonfigurationseinstellungs- und Priorisierungsschema zugeordnet ist (Block 410). Das Taktfrequenzmodul 124 bestimmt dann, ob ein Drahtlosmodul angeschlossen ist (Entscheidungsblock 420). Wenn ein Drahtlosmodul angeschlossen ist („Ja”-Ausgabe an dem Entscheidungsblock 420), identifiziert das Taktfrequenzmodul 124 den angeschlossenen Kanal (z. B. Identifizierer angeschlossener Kanäle 142), mit dem das Drahtlosmodul 140 verbunden ist (Block 430), wobei das Verfahren danach mit Block 440 fortfährt. Wenn kein Drahtlosmodul angeschlossen ist („Nein”-Ausgabe an dem Entscheidungsblock 430), fährt das Verfahren danach mit Block 440 fort. Das Taktfrequenzmodul 124 wählt dann zumindest einen Taktgeber aus, der dem erwünschten Benutzerkonfigurations- und Priorisierungsschema zugeordnet ist (Block 440). Das Taktfrequenzmodul 124 bestimmt dann, ob der zumindest eine Taktgeber dem Priorisierungsschema genügt (Entscheidungsblock 450). Wenn der zumindest eine Taktgeber dem Priorisierungsschema nicht genügt („Nein”-Ausgabe an dem Entscheidungsblock 450), wählt das Taktfrequenzmodul 124 die Taktfrequenz für die Benutzerkonfigurationseinstellung mit der höchsten Priorität aus und/oder berechnet wahlweise eine alternative Frequenz, auf die der zumindest eine Taktgeber anzupassen ist (Block 460). Das Taktfrequenzmodul 124 bestimmt dann, ob dieser Taktgeber der letzte Taktgeber ist, der dem gewünschten Benutzerkonfigurations- und Priorisierungsschema zugeordnet ist (Entscheidungsblock 470). Wenn dies der letzte Taktgeber ist („Ja”-Ausgabe an dem Entscheidungsblock 470), passt das Taktfrequenzmodul die Mehrzahl von Taktgebern auf die entsprechenden Taktfrequenzen an (Block 480), wobei das Verfahren danach endet. Zurück an dem Entscheidungsblock 470 kehrt, wenn dies nicht der letzte Taktgeber ist („Nein”-Ausgabe an dem Entscheidungsblock 470), das Verfahren danach zurück zu Block 440. Zurück an dem Entscheidungsblock 450 fährt, wenn der Taktgeber dem Priorisierungsschema genügt („Ja”-Ausgabe an dem Entscheidungsblock 450), das Verfahren danach mit dem Entscheidungsblock 470 fort.
  • Die veranschaulichenden Ausführungsbeispiele könnten in Software implementiert sein und können angepasst sein, um auf unterschiedlichen Plattformen und Betriebssystemen zu laufen. Insbesondere könnten Funktionen, die durch das Taktverschiebungs- und Priorisierungssystem 102 implementiert sind, beispielsweise durch eine geordnete Auflistung ausführbarer Befehle bereitgestellt sein, die in einem beliebigen computerlesbaren Medium zur Verwendung durch oder in Verbindung mit einem Befehlsausführungssystem, einer -vorrichtung oder einem -gerät, wie z. B. einem System auf Computerbasis, einem prozessorhaltigen System oder einem anderen System, das die Befehle von dem Befehlsausführungssystem, der -vorrichtung oder dem -gerät abholen und die Befehle ausführen kann, ausgeführt sein kann. In dem Zusammenhang dieses Dokuments kann ein „computerlesbares Medium” eine beliebige Einrichtung sein, die das Programm zur Verwendung durch oder in Verbindung mit dem Befehlsausführungssystem, der -vorrichtung oder dem -gerät beinhalten, speichern, kommunizieren, weiterleiten oder transportieren kann. Das computerlesbare Medium kann z. B. ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, eine derartige Vorrichtung, ein derartiges Gerät oder ein Ausbreitungsmedium sein, ist jedoch nicht darauf eingeschränkt.
  • Ausführungsbeispiele des Taktverschiebungs- und Priorisierungssystems 102 ermöglichen es dem elektronischen Gerät 100, auf einer spezifizierten Leistungsebene basierend auf einer spezifizierten Benutzerkonfigurationspriorität 134 zu arbeiten. Das Taktverschiebungs- und Priorisierungssystem 102 ermöglicht es einem Benutzer, eine erwünschte Benutzerkonfigurationseinstellung, bei der das elektronische Gerät 100 arbeiten soll, zu identifizieren und auszuwählen. Das Taktverschiebungs- und Priorisierungssystem 102 kann automatisch die unterschiedlichen Taktfrequenzen anpassen und fortwährend überwachen, um sicherzustellen, dass jede Komponente innerhalb der gewünschten Benutzerkonfigurationseinstellung arbeitet.

Claims (8)

  1. Taktverschiebungs- und Priorisierungsverfahren, das folgende Schritte aufweist: Anpassen einer Frequenz für eine Mehrzahl von Taktgebern (122, 152, 182), die einer Mehrzahl jeweiliger Komponenten (120, 150, 180) eines elektronischen Geräts (100) entsprechen, basierend auf einem Benutzerpriorisierungsschema zum Betreiben des elektronischen Geräts (100), wobei das Benutzerpriorisierungsschema eine oder mehrere Benutzerkonfigurationseinstellungen (134) und die Reihenfolge einer Priorität für die Benutzerkonfigurationseinstellungen (134) aufweist, wobei die Benutzerkonfigurationseinstellungen ein Leistungsschema (138) spezifizieren, und wobei ansprechend auf einen Frequenzkonflikt die Frequenz für zumindest einen Taktgeber in der Mehrzahl von Taktgebern (122, 152, 182) auf eine Frequenz angepasst wird, die einer höchsten Priorität in dem durch den Benutzer spezifizierten Leistungsschema (138) entspricht.
  2. Verfahren gemäß Anspruch 1, das ferner ein Berechnen einer Frequenz, auf die die Mehrzahl von Taktgebern (122, 152, 182) angepasst werden soll, basierend auf entsprechenden Taktfrequenzen, die in einer Taktfrequenzdatenbank (136) aufgelistet sind, aufweist.
  3. Verfahren gemäß Anspruch 1, das ferner ein Verifizieren, dass eine Frequenz, auf die die Mehrzahl von Taktgebern (122, 152, 182) angepasst ist, eine Leistung des elektronischen Geräts (100) nicht nachteilig beeinflusst, basierend auf der gewünschten Benutzerkonfigurationseinstellung (134) aufweist.
  4. Verfahren gemäß Anspruch 1, das ferner ein automatisches Ausführen eines Taktfrequenzmoduls (124) zur Anpassung der Frequenz der, Mehrzahl von Taktgebern (122, 152, 182) aufweist.
  5. Elektronisches Gerät (100), das folgende Merkmale aufweist: ein Taktfrequenzmodul (124), das konfiguriert ist, um eine Frequenz für eine Mehrzahl von Taktgebern (122, 152, 182), die einer Mehrzahl jeweiliger Komponenten (120, 150, 180) des elektronischen Geräts (100) entsprechen, basierend auf einem Benutzerpriorisierungsschema zum Betreiben des elektronischen Geräts (100) anzupassen, wobei das Benutzerpriorisierungsschema eine oder mehrere Benutzerkonfigurationseinstellungen (134) und die Reihenfolge einer Priorität für die Benutzerkonfigurationseinstellungen (134) aufweist, wobei die Benutzerkonfigurationseinstellungen ein Leistungsschema (138) spezifizieren, und wobei das Taktfrequenzmodul (124) konfiguriert ist, um ansprechend auf einen Frequenzkonflikt die Frequenz für zumindest einen Taktgeber in der Mehrzahl von Taktgebern (122, 152, 182) auf eine Frequenz anzupassen, die einer höchsten Priorität in dem durch den Benutzer spezifizierten Leistungsschema (138) entspricht.
  6. Elektronisches Gerät (100) gemäß Anspruch 5, das ferner das Taktfrequenzmodul (124) aufweist, das konfiguriert ist, um zumindest einen Taktgeber (122, 152, 182) in der Mehrzahl von Taktgebern (122, 152, 182) anzupassen, um einen Konflikt mit einer Frequenz einer weiteren Komponente (120, 150, 180) des elektronischen Geräts (100) zu lösen.
  7. Elektronisches Gerät (100) gemäß Anspruch 5, das ferner das Taktfrequenzmodul (124) aufweist, das konfiguriert ist, um eine Frequenz, auf die die Mehrzahl von Taktgebern (122, 152, 182) angepasst werden soll, basierend auf entsprechenden Taktfrequenzen, die in einer Taktfrequenzdatenbank (136) aufgelistet sind, zu berechnen.
  8. Elektronisches Gerät (100) gemäß Anspruch 5, das ferner das Taktfrequenzmodul (124) aufweist, das konfiguriert ist, um basierend auf der gewünschten Benutzerkonfigurationseinstellung (134) zu verifizieren, dass eine Frequenz, auf die die Mehrzahl von Taktgebern (122, 152, 182) angepasst ist, eine Leistung des elektronischen Geräts (100) nicht nachteilig beeinflusst.
DE112008001876T 2007-07-31 2008-06-26 Taktverschiebungs- und Priorisierungsverfahren und elektronisches Gerät Expired - Fee Related DE112008001876B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/888,368 2007-07-31
US11/888,368 US7895461B2 (en) 2007-07-31 2007-07-31 Clock shifting and prioritization system and method
PCT/US2008/008123 WO2009017560A1 (en) 2007-07-31 2008-06-26 Clock shifting and prioritization system and method

Publications (2)

Publication Number Publication Date
DE112008001876T5 DE112008001876T5 (de) 2010-07-15
DE112008001876B4 true DE112008001876B4 (de) 2011-07-21

Family

ID=40304618

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112008001876T Expired - Fee Related DE112008001876B4 (de) 2007-07-31 2008-06-26 Taktverschiebungs- und Priorisierungsverfahren und elektronisches Gerät

Country Status (5)

Country Link
US (1) US7895461B2 (de)
CN (1) CN101772747B (de)
DE (1) DE112008001876B4 (de)
GB (1) GB2464041B (de)
WO (1) WO2009017560A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8417502B1 (en) * 2006-12-28 2013-04-09 Scientific Components Corporation Mixer harmonics calculator
KR101394432B1 (ko) * 2007-09-12 2014-05-15 삼성디스플레이 주식회사 무선 통신 장치를 포함하는 표시 장치 및 이의 구동 방법
US8516293B2 (en) * 2009-11-05 2013-08-20 Novell, Inc. System and method for implementing a cloud computer
US8074065B2 (en) * 2009-03-13 2011-12-06 Hewlett-Packard Development Company, L.P. Method and system for displaying information on installed units
US20120054752A1 (en) * 2010-08-27 2012-03-01 Htc Corporation Electronic device having operation mode dynamic adjusting mechanism and method of the same
US9510213B2 (en) * 2013-04-04 2016-11-29 St-Ericsson Sa Methods and systems for interference immunity using frequency allocation lists in devices having embedded systems
JP2015154818A (ja) * 2014-02-20 2015-08-27 任天堂株式会社 据置型のゲーム装置、ゲーム装置、ゲームシステム、コンピュータプログラム及び速度制御方法
TWM528451U (zh) * 2016-03-14 2016-09-11 Evga Corp 電腦效能控制裝置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000027589A (ko) * 1998-10-28 2000-05-15 윤종용 동작 상태에서 버스 클락 신호의 주파수 변환기능을 구비한 컴퓨터 시스템 및 그의 제어 방법
US7127626B2 (en) * 2002-07-23 2006-10-24 Oki Electric Industry Co., Ltd. Data processing apparatus configured to operate with one of more clock frequencies determined by a priority order derived from one or more interrupt signals from a CPU

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5319772A (en) 1991-11-14 1994-06-07 Acer Incorporated Method and apparatus for changing the operating clock speed of a computer system
US5546568A (en) 1993-12-29 1996-08-13 Intel Corporation CPU clock control unit
JPH11112442A (ja) 1997-10-08 1999-04-23 Nec Corp 無線通信端末
JPH11205168A (ja) * 1998-01-07 1999-07-30 Nec Corp 無線通信機能を有する情報処理装置及び動作クロック制御方法
US6560240B1 (en) * 1998-09-04 2003-05-06 Advanced Micro Devices, Inc. System-on-a-chip with variable clock rate
US6118306A (en) 1998-12-03 2000-09-12 Intel Corporation Changing clock frequency
JP2001217743A (ja) * 2000-01-31 2001-08-10 Matsushita Electric Ind Co Ltd データ通信装置
JP3906015B2 (ja) * 2000-07-12 2007-04-18 株式会社東芝 クロック周波数切り替え機能を有するlsi、計算機システム及びクロック周波数切り替え方法
US7111179B1 (en) 2001-10-11 2006-09-19 In-Hand Electronics, Inc. Method and apparatus for optimizing performance and battery life of electronic devices based on system and application parameters
US6999723B2 (en) 2001-11-29 2006-02-14 Kyocera Wireless Corp. System and method for reducing the effects of clock harmonic frequencies
US7180322B1 (en) * 2002-04-16 2007-02-20 Transmeta Corporation Closed loop feedback control of integrated circuits
US7516350B2 (en) 2004-09-09 2009-04-07 International Business Machines Corporation Dynamic frequency scaling sequence for multi-gigahertz microprocessors
US7228446B2 (en) 2004-12-21 2007-06-05 Packet Digital Method and apparatus for on-demand power management
TWI351818B (en) * 2005-01-11 2011-11-01 Altera Corp Power management of components having clock proces

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000027589A (ko) * 1998-10-28 2000-05-15 윤종용 동작 상태에서 버스 클락 신호의 주파수 변환기능을 구비한 컴퓨터 시스템 및 그의 제어 방법
US7127626B2 (en) * 2002-07-23 2006-10-24 Oki Electric Industry Co., Ltd. Data processing apparatus configured to operate with one of more clock frequencies determined by a priority order derived from one or more interrupt signals from a CPU

Also Published As

Publication number Publication date
CN101772747A (zh) 2010-07-07
GB201001247D0 (en) 2010-03-10
GB2464041A (en) 2010-04-07
GB2464041B (en) 2012-05-02
WO2009017560A1 (en) 2009-02-05
DE112008001876T5 (de) 2010-07-15
CN101772747B (zh) 2013-02-27
US7895461B2 (en) 2011-02-22
US20090037759A1 (en) 2009-02-05

Similar Documents

Publication Publication Date Title
DE112008001876B4 (de) Taktverschiebungs- und Priorisierungsverfahren und elektronisches Gerät
DE102020119621A1 (de) Verfahren und vorrichtungen zum verwalten der leistungsversorgung von deep-learning-beschleunigersystemen
DE102009058426B4 (de) Verfahren und Vorrichtung zum Power-Management eines Prozessors
DE102009030544B4 (de) Verfahren für ein koordiniertes Link-Power-Management auf einer Computerplattform, Computer und Rechensystem
DE112019003405T5 (de) Automatische feinabstimmungsvorrichtung für einbettungen von cloud-mikrodiensten
DE102010054067A1 (de) Power-Management-System und Verfahren
DE112006003821B4 (de) Optimierung von Netzwerkprotokolloptionen durch verstärkendes Lernen und Propagation
DE102018202497A1 (de) Technologien für optimiertes Maschinenlerntraining
DE112012006377B4 (de) Energieverbrauch und Leistung von Computersystemen steuern
DE102013114069A1 (de) Rekonfigurierbare Speichervorrichtung
DE112010003498T5 (de) Verwaltung des Stromverbrauchs eines Prozessors
DE112010003144T5 (de) Erweiterbare Grundstruktur zur Unterstützung verschiedener Einsatzarchitekturen
DE102012109959A1 (de) Automatische Vergrößerungs- und Auswahlbestätigung
DE102011014681A1 (de) Power-Management basierend auf automatischer Arbeitslasterkennung
DE112020004116T5 (de) Dynamisches abändern der parallelität einer aufgabe in einer pipeline
DE112020002875T5 (de) USB-Hub mit integriertem Leistungs- und Wärmemanagement
DE102020118005A1 (de) Verfahren und einrichtung zum dynamischen drosseln von rechenengines
DE102012224362A1 (de) Anpassung einer Testhäufigkeit für die Ressourcenauslastung
DE112012005572B4 (de) Ausgleichen der Bandbreite von Anforderern, die ein gemeinsam genutztes Speichersystem verwenden
DE102017123496A1 (de) Spannungs- und Frequenz-Skalierung mit geschlossenem Regelkreis auf dem Chip
DE112021005927T5 (de) Patchen von arbeitsabläufen
DE112017003299T5 (de) OLED-sensitive Inhaltserstellung und Inhaltszusammenstellung
DE112007003007T5 (de) Verfahren und Vorrichtung für die Energieverwaltung bei einem Prozessor
CN114138597B (zh) 一种操作系统性能调优装置、方法、设备及存储介质
CN115756135A (zh) 一种处理器管理方法以及计算设备

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R018 Grant decision by examination section/examining division
R020 Patent grant now final

Effective date: 20111022

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee