-
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.