DE102014219905B4 - Konfiguration von Leistungsdomänen eines Mikrocontroller-Systems - Google Patents

Konfiguration von Leistungsdomänen eines Mikrocontroller-Systems Download PDF

Info

Publication number
DE102014219905B4
DE102014219905B4 DE102014219905.0A DE102014219905A DE102014219905B4 DE 102014219905 B4 DE102014219905 B4 DE 102014219905B4 DE 102014219905 A DE102014219905 A DE 102014219905A DE 102014219905 B4 DE102014219905 B4 DE 102014219905B4
Authority
DE
Germany
Prior art keywords
power
domain
trigger
modules
active
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.)
Active
Application number
DE102014219905.0A
Other languages
English (en)
Other versions
DE102014219905A1 (de
Inventor
Sebastien Jouin
Patrice Menard
Thierry Gourbilleau
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.)
Atmel Corp
Original Assignee
Atmel 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 Atmel Corp filed Critical Atmel Corp
Publication of DE102014219905A1 publication Critical patent/DE102014219905A1/de
Application granted granted Critical
Publication of DE102014219905B4 publication Critical patent/DE102014219905B4/de
Active 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/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/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • 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/3243Power saving in microcontroller unit
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • 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
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • 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

Mikrocontroller-System, umfassend:einen Prozessor (230);eine Vielzahl von Modulen (220, 222, 224, 226), die in eine Vielzahl von Leistungsdomänen (PDO, PD1) organisiert sind; undeine Leistungsverwaltungseinheit (210), die mit jeder der Leistungsdomänen (PDO, PD1) gekoppelt ist, wobei die Leistungsverwaltungseinheit (210) dazu eingerichtet ist, während der Prozessor (230) inaktiv ist, die Leistungsmoden einer jeden Leistungsdomäne (PDO, PD1) zu verwalten, indem:die Leistungsdomäne (204; 206) in einen ersten Leistungsmodus versetzt wird, wenn das Mikrocontroller-System einen Leistungstrigger (116; 122) für eines der Module (220; 222; 224; 226) in der Leistungsdomäne (204; 206) in den aktiven Zustand versetzt hat, oder wenn eines der Module (220; 222; 224; 226) in der Leistungsdomäne (PD0; PD1) ein Leistungsbeibehaltungssignal (118; 124) in den aktiven Zustand versetzt hat, wobei ein Leistungstrigger (116; 122) ein Trigger für ein Modul (220; 222; 224; 226) in der Leistungsdomäne (204; 206) zur Ausführung einer Aufgabe ist, und wobei ein Leistungsbeibehaltungssignal (118; 124) eine Angabe darüber ist, die Leistungsdomäne (204; 206) in dem ersten Leistungsmodus zu halten; unddie Leistungsdomäne (204; 206) in einen zweiten Leistungsmodus versetzt wird, der weniger Energie verwendet als der erste Leistungsmodus, wenn das Mikrocontroller-System nicht einen Leistungstrigger (116; 122) für eines der Module (220; 222; 224; 226) in der Leistungsdomäne (204; 206) in den aktiven Zustand versetzt, und wenn kein Modul (220; 222; 224; 226) in der Leistungsdomäne (204; 206) ein Leistungsbeibehaltungssignal (118; 124) in den aktiven Zustand versetzt hat,wobei ein erstes Modul der Vielzahl der Module (220, 222, 224, 226) eingerichtet ist, den Leistungstrigger (116; 122) für ein zweites Modul der Mehrzahl der Module (220, 222, 224, 226) unter Verwendung eines Ereigniskoordinatormoduls in den aktiven Zustand zu versetzen, das mit dem ersten und zweiten Modul und der Leistungsverwaltungseinheit (210) gekoppelt ist, wobei das Ereigniskoordinatormodul eingerichtet ist, Leistungstrigger (116; 122) zwischen den Modulen weiterzuleiten.

Description

  • Diese Offenbarung bezieht sich allgemein auf Elektronik und insbesondere auf Mikrocontroller-Systeme.
  • Eine geringe Leistungsaufnahme ist ein zunehmend wichtiger Aspekt für Mikrocontroller-Systeme. Die aktive Leistungsaufnahme in einem Mikrocontroller-System wird normalerweise durch die Schaltaktivität in der Schaltung dominiert und ist proportional zu der an die digitale Logik angelegten Taktfrequenz. Analoge Module tragen ebenfalls zu einer im Wesentlichen festen Stromaufnahme bei, die bei niedrigen Frequenzen oder in einem Modus mit geringer Leistungsaufnahme dominieren kann. Getaktete periphere Module in dem Mikrocontroller-System stehen typischerweise in einem ungetakteten Schlafmodus mit ultraniedriger Leistungsaufnahme nicht zur Verfügung, wodurch Anwendungen gezwungen werden, auf getaktete Moden mit höherer Leistungsaufnahme zurückzugreifen.
  • Herkömmliche Lösungen zur Reduktion der Leistungsaufnahme zur Energieeinsparung in einem Mikrocontroller erfordern eine Abschaltung des Takts der Zentralverarbeitungseinheit (CPU) oder der Peripheriemodule, welche typischerweise durch einen oder mehrere Schlafmoden in dem Mikrocontroller implementiert wird. Dies Lösung kann ausgebaut werden, bis alle Takte und Analogmodule ausgeschaltet sind und nur Leckströme übrigbleiben, die typischerweise mehrere Größenordnungen kleiner sind als aktive Ströme. Der Nachteil dieses herkömmlichen Ansatzes besteht darin, dass die Funktionalität des Gerätes reduziert wird, da manche Peripheriegeräte darauf ausgelegt sind, mit laufendem Takt betrieben zu werden.
  • In US 2009 / 0 204 835 A1 ist die effiziente Nutzung der zur Verfügung stenden Batterieleistung bei einem programmierbaren SoC (system-on-a-chip) beschrieben. Dabei werden in Abhängigkeit von der spezifischen Gerätefunktionalität ein oder mehrere Leistungsbereiche einer Mehrzahl von Leistungsbereichen in dem intergrieten Schaltkreis eingeschaltet.
  • Ein patentgemäßes Mikrocontroller-System und ein entsprechendes Verfahren sind in den Patentansprüchen angegeben.
  • Ein Mikrocontroller-System ist in Leistungsdomänen organisiert. Eine Leistungsverwaltungseinheit (power manager) des Mikrocontroller-Systems kann die Leistungskonfiguration einer Leistungsdomäne abhängig davon, ob das Mikrocontroller-System einen Leistungstrigger für eines der Module in der Leistungsdomäne in den aktiven Zustand bringt, oder wenn eines der Module in der Leistungsdomäne eine Leistungsbeibehaltung geltend macht, ändern.
  • Bestimmte Implementierungen des Mikrocontroller-Systems können einen oder mehrere der folgenden Vorteile verwirklichen: 1) Ein Mikrocontroller-System kann die Leistungskonfiguration der Leistungsdomäne des Mikrocontroller-Systems dynamisch und flexibel in eine relevante Leistungskonfiguration abhängig von Anforderungen an und von den Modulen des Systems ändern; 2) Das Mikrocontroller-System kann eine Leistungskonfiguration ohne Intervention von einer Zentralverarbeitungseinheit ändern, wodurch die Leistungsaufnahme und die Latenzen reduziert werden; und 3) Das Mikrocontroller-System kann überlappende Trigger und Taktanforderungen verwenden, um die Hardware-Komplexität zu reduzieren.
  • Die Details von einer oder von mehreren der offenbarten Implementierungen werden hier in den beigefügten Zeichnungen und der untenstehenden Beschreibung erläutert. Andere Merkmale, Aspekte und Vorteile ergeben sich aus der Beschreibung, den Zeichnungen und den Ansprüchen.
  • Figurenliste
    • 1 ist ein schematisches Diagramm eines beispielhaften Mikrocontroller-Systems, das in Leistungsdomänen organisiert ist.
    • 2 ist ein Blockdiagramm eines beispielhaften Mikrocontroller-Systems.
    • 3 ist ein Diagramm, das ein Beispielszenario illustriert, in dem Module des Beispiel-Mikrocontrollers aus 2 miteinander längs einer Zeitachse interagieren.
    • 4 ist ein Diagramm, das ein Beispielszenario illustriert, in dem Module des Beispiel-Mikrocontrollers aus 2 miteinander längs einer Zeitachse interagieren.
    • 5 ist ein Flussdiagramm eines Beispielprozesses, der durch eine Leistungsverwaltungseinheit eines Mikrocontroller-Systems ausgeführt wird.
  • Detaillierte Beschreibung
  • Systemüberblick
  • 1 ist ein schematisches Diagramm eines beispielhaften Mikrocontroller-Systems 100, das in Leistungsdomänen 104, 106 und 108 organisiert ist. Das Mikrocontroller-System enthält eine Leistungsverwaltungseinheit 102, die mit jeder der Leistungsdomänen gekoppelt ist.
  • Eine Leistungsdomäne kann z.B. aus einem oder aus mehreren Modulen bestehen, die Leistung aus einer gemeinsamen Stromversorgung beziehen, z.B. mit der gleichen Spannung. Der Mikrocontroller kann eine Leistungskonfiguration für jede der Leistungsdomänen unterhalten. Eine Leistungskonfiguration beinhaltet einen oder mehrere Parameter für eine Leistungsdomänenspezifikation, z.B. eine höhere oder geringere Spannung für die Leistungsdomäne, abhängig davon, ob ein Takt für die Leistungsdomäne eingefroren ist oder nicht, ob bestimmte Module freigeschaltet oder gesperrt sind oder in einem reduzierten Zustand für eine reduzierte Spannung arbeiten, usw. Eine Änderung der Leistungskonfiguration für eine Leistungsdomäne kann die Leistungsaufnahme einer Leistungsdomäne anpassen.
  • Im Betrieb kann die Leistungsverwaltungseinheit die Leistungskonfiguration einer Leistungsdomäne als Reaktion auf Ereignistrigger von den Modulen innerhalb oder außerhalb des Mikrocontroller-Systems ändern. Die Leistungsverwaltungseinheit kann z.B. dafür sorgen, dass eine Leistungsdomäne einen Energiesparmodus verlässt, so dass ein oder mehrere Module der Leistungsdomäne Operationen ausführen können. Die Module können dann aufhören, Ereignisse zu erzeugen, um die Leistungsdomäne in ihre vorherige Leistungskonfiguration zurückzuführen, oder die Module können ein neues Ereignis erzeugen, um die Leistungskonfiguration einer anderen Domäne zu ändern.
  • Die Leistungsverwaltungseinheit kann die Leistungskonfiguration einer Leistungsdomäne ohne Intervention von einem Prozessor, z.B. einer Zentralverarbeitungseinheit (CPU) ändern. Anstelle die Leistungsdomäne des Prozessors zu aktivieren, um den Prozessor darin zu unterstützen, die Leistungskonfiguration zu ändern, kann die Leistungsverwaltungseinheit die Leistungskonfigurationen auf Basis von Ereignissen von Ereignis-erzeugenden Modulen ändern. Dies kann die Leistungsaufnahme der Leistungsdomäne des Prozessors reduzieren und es kann die Latenz bei der Änderung der Leistungskonfiguration einer angeforderten Leistungsdomäne reduzieren.
  • Betrachtet sei nun ein Beispielszenario, in dem ein Modul einen Trigger empfängt, um mit der Ausführung einer Aufgabe zu beginnen. Während des Betriebs verwendet das Modul einen laufenden Takt, um die Aufgabe zu beenden. Nach der Beendigung der Aufgabe kann das Modul einen neuen Trigger setzen, um ein anderes Modul dazu zu bringen, eine neue Aufgabe auszuführen, wodurch eine Kaskade von Modulen veranlasst werden kann, eine Reihe von Aufgaben auszuführen. Um die Leistungsaufnahme des Mikrocontroller-Systems zu reduzieren, kann der laufende Takt für das Modul eingefroren werden, wenn die Aufgabe des Moduls beendet ist.
  • Da in manchen Fällen der Trigger zum Starten der Ausführung der Aufgabe mit gleichmäßigen langen Intervallen empfangen wird, kann das Umschalten der Leistungskonfiguration der Leistungsdomäne des Moduls auf Basis des Triggers und der Beendigung der Aufgabe die Leistungsaufnahme reduzieren. Die Leistungsverwaltungseinheit kann Leistungskonfigurationen unter Verwendung von Leistungstriggern (power triggers) umschalten, die angeben, dass eine Leistungsdomäne aktiviert werden soll, und auf Basis von Leistungsbeibehaltungssignalen (power keepers), die angeben, dass eine Leistungsdomäne aktiv gehalten werden soll.
  • Solange der Prozessor inaktiv ist, kann die Leistungsverwaltungseinheit den Leistungsmodus einer jeden Leistungsdomäne durch Platzieren der Leistungsdomäne in einem ersten Leistungsmodus verwalten, wenn das Mikrocontroller-System einen Leistungstrigger für eines der Module in der Leistungsdomäne in den aktiven Zustand versetzt hat, oder wenn eines der Module in der Leistungsdomäne ein Leistungsbeibehaltungssignal in den aktiven Zustand versetzt hat. Die Leistungsverwaltungseinheit platziert die Leistungsdomäne in einem zweiten Leistungsmodus, der weniger Energie als der erste Leistungsmodus verwendet, wenn das Mikrocontroller-System keinen Leistungstrigger für die Module in der Leistungsdomäne in den aktiven Zustand versetzt hat und keines der Module in der Leistungsdomäne ein Leistungsbeibehaltungssignal in den aktiven Zustand versetzt hat.
  • In manchen Implementierungen ist der erste Leistungsmodus ein aktiver Modus, in dem die Module einer Leistungsdomäne bestimmte Aufgaben ausführen können, und der zweite Leistungsmodus ist ein Aufrechterhaltungsmodus, in dem die Module einer Leistungsdomäne zumindest manche dieser Aufgaben nicht ausführen können und die Module Statusinformationen aufrechterhalten können. In manchen Implementierungen kann ein Modul ein Leistungsbeibehaltungssignal in den aktiven Zustand versetzen, indem eine Taktanforderung zur Zurverfügungstellung eines Taktsignals zur Ausführung einer Aufgabe in den aktiven Zustand versetzt wird. In manchen Implementierungen kann ein Modul einen Leistungstrigger in den aktiven Zustand versetzen, indem ein anderes Modul zur Ausführung einer Aufgabe aufgefordert wird.
  • Ein Leistungstrigger kann z.B. für Triggerbasisquellen oder Trigger, die z.B. über eine Ereignissteuereinheit geleitet werden, oder für Direktspeicherzugriffsanforderungen (DMA-Anforderungen) direkt mit der Leistungsverwaltungseinheit verbunden sein. Ein Leistungsbeibehaltungssignal kann z.B. eine Taktanforderung eines Moduls sein, um einen Takt zur Ausführung einer Aufgabe zur Verfügung zu stellen; ein Trigger an ein anderes Modul sein, der aufrechterhalten werden kann, bis er durch das andere Modul bestätigt wurde; ein Unterbrechungssignal, das aufrechterhalten werden kann, bis es der Prozessor behandelt hat; oder eine DMA-Anforderung, die aufrechterhalten werden kann, bis die DMA es behandelt hat.
  • In dem in 1 dargestellten beispielhaften Mikrocontroller-System enthält die Leistungsverwaltungseinheit ein OR-Gatter für jede Leistungsdomäne; die Funktionalität der Leistungsverwaltungseinheit kann jedoch auch unter Verwendung anderer geeigneter digitaler Schaltungen implementiert werden. Die erste Leistungsdomäne 104, PD0, liefert Leistungstrigger 116 und Leistungsbeibehaltungssignale 118 an das erste OR-Gatter 110. Der Ausgang 120 des ersten OR-Gatters schaltet die erste Leistungsdomäne zwischen dem ersten Leistungsmodus und dem zweiten Leistungsmodus um. Die zweite Leistungsdomäne 106, PD1, liefert Leistungstrigger 122 und Leistungsbeibehaltungssignale 124 an das zweite OR-Gatter 112. Der Ausgang 126 des zweiten OR-Gatters schaltet die zweite Leistungsdomäne zwischen dem ersten Leistungsmodus und dem zweiten Leistungsmodus um. Die dritte Leistungsdomäne 108, PD2, liefert Leistungstrigger 128 und Leistungsbeibehaltungssignale 130 an das dritte OR-Gatter 114. Der Ausgang 132 des dritten OR-Gatters schaltet die dritte Leistungsdomäne zwischen dem ersten Leistungsmodus und dem zweiten Leistungsmodus um.
  • Beispielhaftes Mikrocontroller-System
  • 2 ist ein Blockdiagramm eines beispielhaften Mikrocontroller-Systems 200. Das Beispielsystem beinhaltet drei Leistungsdomänen, inklusive einer aktiven Domäne 202, einer Leistungsdomäne PD0 204, eine Leistungsdomäne PD1 206 und eine Leistungsdomäne PD2 208.
  • Die aktive Domäne beinhaltet eine Leistungsverwaltungseinheit 210, einen Echtzeitzähler (RTC) 212, und ein OR-Gatter 214. In machen Implementierungen ist die aktive Domäne immer in einem aktiven Modus. Die aktive Domäne kann eine vergleichsweise geringe Zahl von Logikschaltungen haben, um den Einfluss auf die Gesamtleistungsaufnahme gering zu halten, dadurch, dass sie stets im aktiven Modus ist. Die Leistungsverwaltungseinheit steuert die Leistungskonfigurationen der Leistungsdomänen PD0, PD1 und PD2.
  • Die PD0-Domäne enthält eine Taktsteuereinheit 216, eine Ereignissteuereinheit 218 und zwei Module 220 und 222, die eine oder mehrere verschiedene Aufgaben ausführen können. Zum Beispiel kann eines der Module ein Analog-Digital-Wandler (ADC) sein. Die Taktsteuereinheit ist dazu eingerichtet, Anforderungen von den Modulen für Taktsignale zu empfangen und dann die angeforderten Takte an das anfordernde Modul zu liefern. Um ein Taktsignal zu erhalten fordert ein Modul das Taktsignal an; ansonsten kann der Takt eingefroren werden, um die Leistungsaufnahme zu reduzieren, die verschwendet werden könnte. Die Ereignissteuereinheit leitet Trigger, die Ereignisse oder Anforderungen oder dergleichen sein können, von einem triggernden Modul an ein geeignetes Modul, abhängig von dem Trigger weiter.
  • Die PD1-Domäne enthält zwei verschiedene Module 224 und 226, die eine oder mehrere verschiedene Aufgaben ausführen können, und ein Direktspeicherzugriffsmodul 228 (DMA-Modul). Die PD2-Domäne enthält einen Prozessor 230, z.B. eine Zentralverarbeitungseinheit (CPU) für das Mikrocontroller-System.
  • Beispielszenario
  • 3 ist ein Diagramm, das ein Beispielszenario 300 zeigt, in dem Module des Beispiel-Mikrocontrollers 200 aus 2 miteinander längs einer Zeitachse interagieren. In dem Beispielszenario wird ein periodischer Trigger von dem RTC an den ADC gesendet, welcher dann eine Analog-Digital-Wandlungsaufgabe ausführt. Der DMA schreibt das Ergebnis der Wandlung in einen Speicher.
  • Eine erste Zeile 302 illustriert Taktanforderungen. Eine zweite Zeile 304 illustriert Trigger. Eine dritte Zeile 306 illustriert DMA-Anforderungen. Eine vierte Zeile 308 zeigt, ob die Leistungsdomänen PD0, PD1 und PD2 jeweils in einem aktiven Modus oder in einem Aufrechterhaltungsmodus sind.
  • Vor dem Zeitpunkt t1 sind alle Leistungsdomänen PD0, PD1 und PD2 in dem Aufrechterhaltungsmodus. Der RTC erzeugt ein Ereignis, welches ein Trigger für die Ereignissteuereinheit ist. Zum Zeitpunkt t1 schaltet die Leistungsverwaltungseinheit die PD0-Leistungsdomäne in den aktiven Modus, so dass die Ereignissteuereinheit mit Strom versorgt wird und die Anforderung weiterleiten kann. Zum Zeitpunkt t2 fordert die Ereignissteuereinheit dann einen Takt von der Taktsteuereinheit an. Zum Zeitpunkt t3, wenn der Takt der Ereignissteuereinheit läuft, leitet die Ereignissteuereinheit das RTC-Ereignis an den ADC weiter.
  • Zum Zeitpunkt t4 fordert der ADC einen Takt an, so dass er seine Wandlungsaufgabe ausführen kann. Zum Zeitpunkt t5 bestätigt der ADC das Ereignis von der Ereignissteuereinheit. Der ADC hält ein Leistungsbeibehaltungssignal aufrecht, da er seine Taktanforderung aufrechterhält. Die Ereignissteuereinheit kann ihre Taktanforderung nach dem Empfang der Bestätigung zurücknehmen. Zum Zeitpunkt t6 beendet der ADC seine Aufgabe durch Aktivieren einer DMA-Anforderung. Die DMA-Anforderung ist ein Leistungstrigger an PD1, da PD1 im Aufrechterhaltungsmodus ist. Die Leistungsverwaltungseinheit schaltet PD1 in den aktiven Modus um.
  • Zum Zeitpunkt t7 ist PD1 aktiv und zum Zeitpunkt t8 fordert die DMA ihren Takt an, wodurch ein Leistungsbeibehaltungssignal in den aktiven Zustand versetzt wird, um PD1 aktiv zu halten. Zum Zeitpunkt t9 führt die DMA die Übertragung von dem ADC an den Speicher aus. Zum Zeitpunkt t10 bestätigt die DMA die DMA-Anforderung des ADC. Zum Zeitpunkt t10, wenn die PD1-Leistungstrigger zurückgenommen wurden, schaltet die Leistungsverwaltungseinheit die PD1-Leistungsdomäne in den Aufrechterhaltungsmodus um. In diesem Beispielszenario ist die Leistungsdomäne PD0 dazu konfiguriert, nur dann in den Aufrechterhaltungsmodus zu gehen, wenn PD1 im Aufrechterhaltungsmodus ist, so dass die Leistungsverwaltungseinheit die Leistungsdomäne PD0 nach PD1 in den Aufrechterhaltungsmodus umschaltet.
  • In diesem Beispielszenario wird die Leistungsdomäne PD2 in dem Aufrechterhaltungsmodus gehalten. Die Leistungsdomäne PD2 enthält den Prozessor und kann einen substantiellen Leistungsbetrag ziehen, so dass das Halten der PD2 im Aufrechterhaltungsmodus nützlich zur Reduzierung der Gesamtleistungsaufnahme ist. Die anderen Leistungsdomänen PD0 und PD1 werden dynamisch umgeschaltet, abhängig von Leistungsbeibehaltungssignalen und Leistungstriggern. Die Sequenz kann für jedes Ereignis, z.B. für jedes periodische Ereignis von dem RTC erneut starten.
  • Beispielszenario mit Unterbrechungssignal
  • 4 ist ein Diagramm, das ein Beispielszenario 400 zeigt, in dem Module des Beispiel-Mikrocontrollers aus 2 miteinander längs einer Zeitachse interagieren. In dem Beispielszenario wird ein periodischer Trigger von dem RTC an den ADC gesendet, welcher dann eine Analog-Digital-Wandlungsaufgabe ausführt. Die DMA schreibt das Ergebnis der Wandlung in einen Speicher.
  • Das Szenario folgt der Sequenz von Ereignissen, die in 3 dargestellt sind, und illustriert eine Situation, in der zum Zeitpunkt t10 der DMA-Puffer voll ist und die DMA ein Unterbrechungssignal (Interrupt) erzeugt. Die Leistungsverwaltungseinheit schaltet die PD2-Leistungsdomäne in den aktiven Modus um, so dass der Prozessor seinen Takt anfordern kann und die Unterbrechung behandeln kann.
  • Beispielhaftes Flussdiagramm - Änderung der Leistungskonfigurationen
  • 5 ist ein Flussdiagramm eines Beispielprozesses 500, der durch ein Leistungsverwaltungsmodul eines Mikrocontroller-Systems ausgeführt wird. Das Mikrocontroller-System kann das Mikrocontroller-System 100 aus 1 oder das Mikrocontroller-System aus 2 sein.
  • Die Leistungsverwaltungseinheit versetzt eine Leistungsdomäne inklusive eines Prozessors des Mikrocontroller-Systems in einen Modus mit geringer Leistungsaufnahme, so dass der Prozessor inaktiv ist (502). Dies kann die Leistungsaufnahme des Systems signifikant reduzieren, und da das System die Leistungsverwaltung zum selektiven Umschalten anderer Leistungsdomänen zwischen den Leistungsmoden enthält, kann das System dennoch bestimmte Aufgaben ausführen.
  • Während der Prozessor inaktiv ist, versetzt die Leistungsverwaltungseinheit jede der anderen Leistungsdomänen in einen ersten Leistungsmodus, wenn das Mikrocontroller-System einen Leistungstrigger für eines der Module in der Leistungsdomäne in den aktiven Zustand versetzt hat, oder wenn eines der Module in der Leistungsdomäne ein Leistungsbeibehaltungssignal in den aktiven Zustand versetzt hat (504). Die Leistungsverwaltungseinheit versetzt jede der Leistungsdomänen in einen zweiten Leistungsmodus, der weniger Leistung verwendet als der erste Leistungsmodus, wenn das Mikrocontroller-System nicht einen Leistungstrigger für eines der Module in der Leistungsdomäne in den aktiven Zustand versetzt und wenn keines der Module in der Leistungsdomäne ein Leistungsbeibehaltungssignal in den aktiven Zustand versetzt hat (506).

Claims (15)

  1. Mikrocontroller-System, umfassend: einen Prozessor (230); eine Vielzahl von Modulen (220, 222, 224, 226), die in eine Vielzahl von Leistungsdomänen (PDO, PD1) organisiert sind; und eine Leistungsverwaltungseinheit (210), die mit jeder der Leistungsdomänen (PDO, PD1) gekoppelt ist, wobei die Leistungsverwaltungseinheit (210) dazu eingerichtet ist, während der Prozessor (230) inaktiv ist, die Leistungsmoden einer jeden Leistungsdomäne (PDO, PD1) zu verwalten, indem: die Leistungsdomäne (204; 206) in einen ersten Leistungsmodus versetzt wird, wenn das Mikrocontroller-System einen Leistungstrigger (116; 122) für eines der Module (220; 222; 224; 226) in der Leistungsdomäne (204; 206) in den aktiven Zustand versetzt hat, oder wenn eines der Module (220; 222; 224; 226) in der Leistungsdomäne (PD0; PD1) ein Leistungsbeibehaltungssignal (118; 124) in den aktiven Zustand versetzt hat, wobei ein Leistungstrigger (116; 122) ein Trigger für ein Modul (220; 222; 224; 226) in der Leistungsdomäne (204; 206) zur Ausführung einer Aufgabe ist, und wobei ein Leistungsbeibehaltungssignal (118; 124) eine Angabe darüber ist, die Leistungsdomäne (204; 206) in dem ersten Leistungsmodus zu halten; und die Leistungsdomäne (204; 206) in einen zweiten Leistungsmodus versetzt wird, der weniger Energie verwendet als der erste Leistungsmodus, wenn das Mikrocontroller-System nicht einen Leistungstrigger (116; 122) für eines der Module (220; 222; 224; 226) in der Leistungsdomäne (204; 206) in den aktiven Zustand versetzt, und wenn kein Modul (220; 222; 224; 226) in der Leistungsdomäne (204; 206) ein Leistungsbeibehaltungssignal (118; 124) in den aktiven Zustand versetzt hat, wobei ein erstes Modul der Vielzahl der Module (220, 222, 224, 226) eingerichtet ist, den Leistungstrigger (116; 122) für ein zweites Modul der Mehrzahl der Module (220, 222, 224, 226) unter Verwendung eines Ereigniskoordinatormoduls in den aktiven Zustand zu versetzen, das mit dem ersten und zweiten Modul und der Leistungsverwaltungseinheit (210) gekoppelt ist, wobei das Ereigniskoordinatormodul eingerichtet ist, Leistungstrigger (116; 122) zwischen den Modulen weiterzuleiten.
  2. Mikrocontroller-System nach Anspruch 1, wobei ein drittes Modul der Vielzahl der Module (220, 222, 224, 226) dazu eingerichtet ist, ein Leistungsbeibehaltungssignal (118; 124) dadurch in den aktiven Zustand zu versetzen, dass eine Taktanforderung zur Zurverfügungstellung eines Taktsignals zur Ausführung einer ersten Aufgabe in den aktiven Zustand versetzt wird.
  3. Mikrocontroller-System nach Anspruch 1, wobei ein drittes Modul der Vielzahl der Module (220, 222, 224, 226) in einer ersten Leistungsdomäne (204, 206) dazu konfiguriert ist: einen ersten Trigger zur Ausführung einer ersten Aufgabe zu empfangen, während die erste Leistungsdomäne in dem zweiten Leistungsmodus ist; eine Taktanforderung in den aktiven Zustand zu versetzen, wodurch ein Leistungsbeibehaltungssignal (118; 124) für die Leistungsverwaltungseinheit (210) für die erste Domäne in den aktiven Zustand versetzt wird, nachdem die Leistungsverwaltungseinheit (210) die erste Leistungsdomäne in den ersten Leistungsmodus versetzt hat; den ersten Trigger zu bestätigen; die erste Aufgabe auszuführen; und nach Ausführung der ersten Aufgabe die Taktanforderung aufzugeben, so dass die Leistungsverwaltungseinheit (210) die erste Leistungsdomäne in den zweiten Leistungsmodus zurückversetzen kann.
  4. Mikrocontroller-System nach Anspruch 1, wobei ein drittes Modul der Vielzahl der Module in der ersten Leistungsdomäne dazu eingerichtet ist: einen ersten Trigger zur Ausführung einer ersten Aufgabe zu empfangen, während die erste Leistungsdomäne in dem zweiten Leistungsmodus ist; eine Taktanforderung in den aktiven Zustand zu versetzen, wodurch ein Leistungsbeibehaltungssignal für die Leistungsverwaltungseinheit für die erste Leistungsdomäne in den aktiven Zustand versetzt wird, nachdem die Leistungsverwaltungseinheit die erste Leistungsdomäne in den ersten Leistungsmodus versetzt hat; den ersten Trigger zu bestätigen; die erste Aufgabe auszuführen und einen zweiten Trigger für das zweite Modul in einer zweiten Leistungsdomäne in den aktiven Zustand zu versetzen, wodurch ein Leistungstrigger für die Leistungsverwaltungseinheit für die zweite Domäne in den aktiven Zustand versetzt wird; und die Taktanforderung aufzugeben, so dass die Leistungsverwaltungseinheit die erste Leistungsdomäne zurück in den zweiten Leistungsmodus versetzen kann, nachdem die erste Aufgabe ausgeführt wurde und eine Bestätigung für den zweiten Trigger empfangen wurde.
  5. Mikrocontroller-System nach Anspruch 1, wobei der erste Leistungsmodus ein aktiver Modus ist, in dem die Module einer Leistungsdomäne (204; 206) eine erste Vielzahl von Aufgaben ausführen können, und wobei der zweite Leistungsmodus ein Aufrechterhaltungsmodus ist, in dem die Module einer Leistungsdomäne (204; 206) eine zweite Vielzahl von Aufgaben nicht ausführen können und die Module Statusinformationen aufrechterhalten können.
  6. Mikrocontroller-System, das in eine Vielzahl von Leistungsdomänen (204; 206) organisiert ist, umfassend: einen Prozessor (230); eine Taktsteuereinheit (216), die dazu konfiguriert ist, ein Taktsignal an eine Vielzahl von Module (220, 222, 224, 226) zu liefern; eine Ereignissteuereinheit (218), die dazu eingerichtet ist, Triggerereignisse zwischen den Modulen (220, 222, 224, 226) weiterzuleiten; und eine Leistungsverwaltungseinheit (210), die dazu eingerichtet ist, während der Prozessor (230) inaktiv ist, eine erste Leistungsdomäne (204; 206) zwischen einem aktiven Leistungsmodus und einem Aufrechterhaltungsleistungsmodus umzuschalten, basierend darauf, ob die Taktsteuereinheit (216) eine Taktanforderung von der ersten Leistungsdomäne (204; 206) anzeigt, und ob die Ereignissteuereinheit Triggerereignisse für die erste Leistungsdomäne (204; 206) anzeigt, wobei die Ereignissteuereinheit (218) mit dem ersten und zweiten Modul der Vielzahl der Module (220, 222, 224, 226) und der Leistungsverwaltungseinheit (210) gekoppelt ist und eingerichtet ist, ein Triggerereignis weiterzuleiten, das von dem ersten Modul in den aktiven Zustand versetzt wurde.
  7. Mikrocontroller-System nach Anspruch 6, wobei die Leistungsverwaltungseinheit (210) dazu eingerichtet ist, die erste Leistungsdomäne von dem Aufrechterhaltungsleistungsmodus in den aktiven Leistungsmodus als Reaktion auf den Empfang einer ersten Ereignisangabe von der Ereignissteuereinheit (218) umzuschalten, dass ein Triggerereignis für die erste Leistungsdomäne in den aktiven Zustand versetzt wurde.
  8. Mikrocontroller-System nach Anspruch 7, wobei die Leistungsverwaltungseinheit (210) dazu konfiguriert ist, die erste Leistungsdomäne von dem aktiven Leistungsmodus in den Aufrechterhaltungsleistungsmodus als Reaktion darauf zu versetzen, dass eine zweite Ereignisangabe von der Ereignissteuereinheit (218) empfangen wurde, dass die Triggerereignisse bestätigt wurden, und als Reaktion auf den Empfang einer Taktangabe von der Taktsteuereinheit, dass die erste Leistungsdomäne eine aktivierte Taktanforderung aufgegeben hat.
  9. Mikrocontroller-System nach Anspruch 6, des Weiteren umfassend einen Echtzeitzähler (RTC), einen Analog-Digital-Wandler (ADC), und ein Direktspeicherzugriffsmodul (DMA); wobei der ADC und die Ereignissteuereinheit (218) in einer ersten Leistungsdomäne sind und der DMA in einer zweiten Leistungsdomäne ist; und wobei die Leistungsverwaltungseinheit (210) dazu eingerichtet ist: die erste Leistungsdomäne von dem Aufrechterhaltungsleistungsmodus in den aktiven Leistungsmodus, als Reaktion auf einen RTC-Ereignistrigger von der RTC zu versetzen, so dass die Ereignisverwaltungseinheit (218) eine Ereignistaktanforderung für die Taktsteuereinheit (216) in den aktiven Zustand versetzt und den RTC-Ereignistrigger an den ADC weiterleitet, und der ADC dann eine ADC-Taktanforderung für die Taktsteuereinheit (216) in den aktiven Zustand versetzt und eine Aufgabe ausführt und einen ADC-Ereignistrigger für die DMA in den aktiven Zustand versetzt; die zweite Leistungsdomäne von dem Aufrechterhaltungsleistungsmodus in den aktiven Leistungsmodus als Reaktion auf den ADC-Ereignistrigger umschaltet, so dass die DMA eine DMA-Taktanforderung für die Taktsteuereinheit (216) in den aktiven Zustand versetzt und eine Übertragung von dem ADC in einen Speicher ausführt, und die DMA dann den ADC-Ereignistrigger bestätigt; und die erste und die zweite Leistungsdomäne von dem aktiven Leistungsmodus in den Aufrechterhaltungsleistungsmodus als Reaktion auf die Bestätigung des RTC-Ereignistriggers durch die ADC, die Bestätigung des ADC-Ereignistriggers durch die DMA, und die Aufgabe der Ereignistaktanforderung durch die Ereignisverwaltungseinheit (218), die Aufgabe der ADC-Taktanforderung durch den ADC, und die Aufgabe der DMA-Taktanforderung durch die DMA umschaltet.
  10. Mikrocontroller-System nach Anspruch 6, des Weiteren umfassend einen Echtzeitzähler (RTC), einen Analog-Digital-Wandler (ADC), und ein Direktspeicherzugriffsmodul (DMA); wobei der ADC und die Ereignissteuereinheit (218) in einer ersten Leistungsdomäne (204) sind und der DMA in einer zweiten Leistungsdomäne (206) ist; und der Prozessor (230) in einer dritten Leistungsdomäne (208) ist; wobei die Leistungsverwaltungseinheit (210) dazu eingerichtet ist: die erste Leistungsdomäne (204) von dem Aufrechterhaltungsmodus in den aktiven Leistungsmodus umzuschalten, als Reaktion auf einen RTC-Ereignistrigger von der RTC, so dass die Ereignisverwaltungseinheit (218) eine Ereignistaktanforderung für die Taktsteuereinheit (216) in den aktiven Zustand versetzt und den RTC-Ereignistrigger an den ADC weiterleitet, und der ADC dann eine ADC-Taktanforderung für die Taktsteuereinheit (216) in den aktiven Zustand versetzt und eine Aufgabe ausführt und einen ADC-Ereignistrigger für die DMA in den aktiven Zustand versetzt; die zweite Leistungsdomäne (206) von dem Aufrechterhaltungsleistungsmodus in den aktiven Leistungsmodus umschaltet, als Reaktion auf den ADC-Ereignistrigger, so dass die DMA eine DMA-Taktanforderung für die Taktsteuereinheit (216) in den aktiven Zustand versetzt und eine Übertragung von dem ADC in einen Speicher ausführt, und die DMA dann ein Unterbrechungssignal in den aktiven Zustand versetzt; und die dritte Leistungsdomäne (208) von dem Aufrechterhaltungsmodus in den aktiven Leistungsmodus umschaltet, so dass der Prozessor (230) die Unterbrechung behandeln kann.
  11. Verfahren durchgeführt von einer Leistungsverwaltungseinheit (210) eines Mikrocontroller-Systems, das einen Prozessor (230) und eine Vielzahl von Modulen (220, 222, 224, 226) umfasst, die in eine Vielzahl von Leistungsdomänen (204, 206, 208) organisiert sind, wobei das Verfahren die folgenden Schritte für jede der Leistungsdomänen (204, 206, 208) umfasst: während der Prozessor (230) inaktiv ist, Versetzen der Leistungsdomäne in einen ersten Leistungsmodus, wenn das Mikrocontroller-System einen Leistungstrigger für eines der Module in der Leistungsdomäne in den aktiven Zustand versetzt hat oder wenn eines der Module in der Leistungsdomäne ein Leistungsbeibehaltungssignal in den aktiven Zustand versetzt hat, wobei ein Leistungstrigger ein Trigger für ein Modul in der Leistungsdomäne ist, eine Aufgabe auszuführen, und wobei ein Leistungsbeibehaltungssignal eine Angabe darüber ist, die Leistungsdomäne in dem ersten Leistungsmodus zu halten; und die Leistungsdomäne in einen zweiten Leistungsmodus zu versetzen, der weniger Leistung als der erste Leistungsmodus verwendet, wenn das Mikrocontroller-System nicht einen Leistungstrigger für eines der Module in der Leistungsdomäne in den aktiven Zustand versetzt hat und keines der Module in der Leistungsdomäne ein Leistungsbeibehaltungssignal in den aktiven Zustand versetzt hat, wobei ein erstes Modul der Vielzahl von Module (220, 222, 224, 226) eingerichtet ist, einen Leistungstrigger für ein zweites Modul der Vielzahl der Module unter Verwendung eines Ereigniskoordinatormoduls in den aktiven Zustand zu versetzen, das mit dem ersten und zweiten Modul und der Leistungsverwaltungseinheit (210) ist, wobei das Ereigniskoordinatormodul eingerichtet ist, Leistungstrigger zwischen den Modulen weiterzuleiten.
  12. Verfahren nach Anspruch 11, wobei ein drittes Modul der Vielzahl der Module dazu eingerichtet ist, ein Leistungsbeibehaltungssignal in den aktiven Zustand zu versetzen, indem eine Taktanforderung zur Zurverfügungstellung eines Taktsignals in den aktiven Zustand versetzt wird, um eine erste Aufgabe auszuführen.
  13. Verfahren nach Anspruch 11, wobei ein drittes Modul der Vielzahl der Module in einer ersten Leistungsdomäne dazu eingerichtet ist: einen ersten Trigger zur Ausführung einer ersten Aufgabe zu empfangen, während die erste Leistungsdomäne in dem zweiten Leistungsmodus ist; eine Taktanforderung in den aktiven Zustand zu versetzen, wodurch ein Leistungsbeibehaltungssignal für die Leistungsverwaltungseinheit der ersten Domäne in den aktiven Zustand versetzt wird, nachdem die Leistungsverwaltungseinheit (210) die zweite Leistungsdomäne in den ersten Leistungsmodus versetzt hat; den ersten Trigger zu bestätigen; die erste Aufgabe auszuführen; und nach Ausführung der ersten Aufgabe die Taktanforderung aufzugeben, so dass die Leistungsverwaltungseinheit (210) die erste Leistungsdomäne in den zweiten Leistungsmodus zurückversetzen kann.
  14. Verfahren nach Anspruch 11, wobei das erste Modul der Vielzahl der Module in einer ersten Leistungsdomäne dazu eingerichtet ist: einen ersten Trigger zur Ausführung einer ersten Aufgabe zu empfangen, während die erste Leistungsdomäne in dem zweiten Leistungsmodus ist; eine Taktanforderung in den aktiven Zustand zu versetzen, wodurch ein Leistungsbeibehaltungssignal für die Leistungsverwaltungseinheit (210) für die erste Leistungsdomäne in den aktiven Zustand versetzt wird, nachdem die Leistungsverwaltungseinheit (210) die erste Leistungsdomäne in den ersten Leistungsmodus versetzt hat; den ersten Trigger zu bestätigen; die erste Aufgabe auszuführen und einen zweiten Trigger für das zweite Modul in einer zweiten Leistungsdomäne in den aktiven Zustand zu versetzen, wodurch ein Leistungstrigger für die Leistungsverwaltungseinheit (210) für die zweite Domäne in den aktiven Zustand versetzt wird; und nach Ausführung der ersten Aufgabe und Empfangen einer Bestätigung für den zweiten Trigger, Aufgeben der Taktanforderung, so dass die Leistungsverwaltungseinheit (210) die erste Leistungsdomäne in den zweiten Leistungsmodus zurückversetzen kann.
  15. Verfahren nach Anspruch 11, wobei der erste Leistungsmodus ein aktiver Modus ist, in dem die Module einer Leistungsdomäne eine erste Vielzahl von Aufgaben ausführen können, und wobei der zweite Leistungsmodus ein Aufrechterhaltungsmodus ist, in dem die Module einer Leistungsdomäne eine zweite Vielzahl von Aufgaben nicht ausführen können und die Module Statusinformationen aufrechterhalten können.
DE102014219905.0A 2013-10-01 2014-10-01 Konfiguration von Leistungsdomänen eines Mikrocontroller-Systems Active DE102014219905B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/043,445 2013-10-01
US14/043,445 US9383807B2 (en) 2013-10-01 2013-10-01 Configuring power domains of a microcontroller system

Publications (2)

Publication Number Publication Date
DE102014219905A1 DE102014219905A1 (de) 2015-04-02
DE102014219905B4 true DE102014219905B4 (de) 2022-03-10

Family

ID=52673415

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014219905.0A Active DE102014219905B4 (de) 2013-10-01 2014-10-01 Konfiguration von Leistungsdomänen eines Mikrocontroller-Systems

Country Status (2)

Country Link
US (2) US9383807B2 (de)
DE (1) DE102014219905B4 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9213388B2 (en) 2012-09-21 2015-12-15 Atmel Corporation Delaying reset signals in a microcontroller system
US9323312B2 (en) 2012-09-21 2016-04-26 Atmel Corporation System and methods for delaying interrupts in a microcontroller system
US9213397B2 (en) 2012-09-21 2015-12-15 Atmel Corporation Changing power modes of a microcontroller system
US9507406B2 (en) 2012-09-21 2016-11-29 Atmel Corporation Configuring power domains of a microcontroller system
US9383807B2 (en) 2013-10-01 2016-07-05 Atmel Corporation Configuring power domains of a microcontroller system
US20150234449A1 (en) * 2014-02-14 2015-08-20 Qualcomm Incorporated Fast power gating of vector processors
US9684367B2 (en) 2014-06-26 2017-06-20 Atmel Corporation Power trace port for tracing states of power domains
US9395797B2 (en) * 2014-07-02 2016-07-19 Freescale Semiconductor, Inc. Microcontroller with multiple power modes
GB2551748B (en) 2016-06-29 2020-09-09 Advanced Risc Mach Ltd Power control circuitry for controlling power domains
US10725520B2 (en) 2017-06-23 2020-07-28 Hewlett Packard Enterprise Development Lp Determining a power capping signal using direct memory access
US10948970B2 (en) * 2018-03-30 2021-03-16 Dialog Semiconductor B.V. Low power microcontroller
GB201810663D0 (en) 2018-06-28 2018-08-15 Nordic Semiconductor Asa Peripheral Power Domains
US11567527B2 (en) * 2019-07-23 2023-01-31 Texas Instruments Incorporated Preemptive wakeup circuit for wakeup from low power modes
US20230031388A1 (en) * 2021-07-30 2023-02-02 Advanced Micro Devices, Inc. On-demand ip initialization within power states

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090204835A1 (en) 2008-02-11 2009-08-13 Nvidia Corporation Use methods for power optimization using an integrated circuit having power domains and partitions

Family Cites Families (117)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4475134A (en) 1982-01-08 1984-10-02 Mobil Oil Corporation Predetermined starting point initiation system
US4677566A (en) * 1984-10-18 1987-06-30 Burroughs Corporation Power control network for multiple digital modules
US4703486A (en) 1984-12-18 1987-10-27 Advanced Micro Devices, Inc. Communication data encoder/decoder component system architecture
JP2748822B2 (ja) 1993-07-05 1998-05-13 日本電気株式会社 情報処理装置
JP3466762B2 (ja) 1995-03-31 2003-11-17 キヤノン株式会社 画像処理装置、画像形成システム、並びに、画像形成装置およびその方法
DE69606769T2 (de) 1995-06-07 2000-11-16 Seiko Epson Corp Rechnersystem mit einem videoanzeigesteuergerät mit leistungssparbetriebsarten
US5623234A (en) 1996-03-04 1997-04-22 Motorola Clock system
US6175891B1 (en) 1997-04-23 2001-01-16 Micron Technology, Inc. System and method for assigning addresses to memory devices
JPH11143571A (ja) 1997-11-05 1999-05-28 Mitsubishi Electric Corp データ処理装置
EP0935195A2 (de) * 1998-02-06 1999-08-11 Analog Devices, Inc. Integrierte Schaltung mit hochauflösendem Analog-Digital-Wandler, einem Mikrokontroller und hochdichtem Speicher und einem Emulator dafür
JP3435335B2 (ja) 1998-03-18 2003-08-11 株式会社東芝 クロック同期遅延制御回路及び外部クロックに同期した内部クロックを用いるデバイスを含む装置
US6255878B1 (en) 1998-09-18 2001-07-03 Lsi Logic Corporation Dual path asynchronous delay circuit
US6320717B1 (en) 1998-10-30 2001-11-20 Iomega Corporation Velocity limited loading of read heads onto disk drive media
US6848055B1 (en) 2000-03-23 2005-01-25 Intel Corporation Integrated circuit having various operational modes and a method therefor
JP2001350739A (ja) 2000-06-07 2001-12-21 Mitsubishi Electric Corp マイクロコンピュータ
JP2004504986A (ja) 2000-07-28 2004-02-19 コンティネンタル・テーベス・アクチエンゲゼルシヤフト・ウント・コンパニー・オッフェネ・ハンデルスゲゼルシヤフト 操作要素の位置を確実に伝送するシステム、位置トランスミッタおよび受信装置並びにシステムの使用
US6772241B1 (en) * 2000-09-29 2004-08-03 Intel Corporation Selective interrupt delivery to multiple processors having independent operating systems
US6802014B1 (en) * 2000-10-26 2004-10-05 Apple Computer, Inc. Method and apparatus for managing power in computer systems
DE10106132A1 (de) 2001-02-10 2002-08-14 Philips Corp Intellectual Pty Aufwachschaltung für ein elektrisches Gerät
JP4686065B2 (ja) 2001-07-05 2011-05-18 富士通セミコンダクター株式会社 クロック制御装置およびクロック制御方法
US20030177404A1 (en) 2002-03-14 2003-09-18 Jorgenson Joel A. Power distribution control system and method for limiting transient current conditions in computer architectures
DE10215583B4 (de) 2002-04-10 2008-09-11 Qimonda Ag Spannungsgeneratorvorrichtung und Steuerverfahren
US6895530B2 (en) 2003-01-24 2005-05-17 Freescale Semiconductor, Inc. Method and apparatus for controlling a data processing system during debug
KR100506450B1 (ko) 2003-01-24 2005-08-05 주식회사 하이닉스반도체 불휘발성 강유전체 메모리를 이용한 테스트 모드 제어 장치
US6946869B2 (en) 2003-10-15 2005-09-20 International Business Machines Corporation Method and structure for short range leakage control in pipelined circuits
CN100470656C (zh) 2003-10-31 2009-03-18 宇田控股有限公司 摆动时钟信号的产生方法和产生装置
DE102004050393B4 (de) 2004-10-15 2010-09-16 Infineon Technologies Ag Kommunikations-Einrichtung, Steuer-Einrichtung und Kommunikations-System
US7659746B2 (en) * 2005-02-14 2010-02-09 Qualcomm, Incorporated Distributed supply current switch circuits for enabling individual power domains
US7571332B2 (en) * 2005-06-13 2009-08-04 Lenovo (Singapore) Pte. Ltd. Reducing power consumed by a computer system during a hibernation or an off state by remotely waking up the computer system
US7071859B1 (en) * 2005-06-30 2006-07-04 Sigmatel, Inc. System and method for scheduling access to an analog-to-digital converter and a microprocessor
JP4341594B2 (ja) * 2005-06-30 2009-10-07 セイコーエプソン株式会社 情報処理装置及び電力制御方法をコンピュータに実行させるためのプログラム
US7574683B2 (en) 2005-08-05 2009-08-11 John Wilson Automating power domains in electronic design automation
US7725750B2 (en) 2006-05-01 2010-05-25 Freescale Semiconductor, Inc. Method of transitioning between active mode and power-down mode in processor based system
JP4758311B2 (ja) 2006-09-14 2011-08-24 Okiセミコンダクタ株式会社 非同期データ保持回路
US7770142B1 (en) 2006-10-30 2010-08-03 Cadence Design Systems, Inc. Modeling power management for an integrated circuit
JP4232908B2 (ja) 2006-12-08 2009-03-04 シャープ株式会社 データ保持回路および信号処理回路
US7797561B1 (en) * 2006-12-21 2010-09-14 Nvidia Corporation Automatic functional block level clock-gating
KR100866604B1 (ko) * 2007-01-23 2008-11-03 삼성전자주식회사 전원제어 장치 및 전원제어 방법
US7773689B2 (en) 2007-02-02 2010-08-10 International Business Machines Corporation Multimodal memory controllers
US8448003B1 (en) * 2007-05-03 2013-05-21 Marvell Israel (M.I.S.L) Ltd. Method and apparatus for activating sleep mode
US7954078B1 (en) 2007-06-29 2011-05-31 Cadence Design Systems, Inc. High level IC design with power specification and power source hierarchy
US7391250B1 (en) 2007-09-02 2008-06-24 United Microelectronics Corp. Data retention cell and data retention method based on clock-gating and feedback mechanism
US7958475B2 (en) 2007-09-28 2011-06-07 Cadence Design Systems, Inc. Synthesis of assertions from statements of power intent
US7908496B2 (en) 2007-09-29 2011-03-15 Intel Corporation Systems and methods for communicating voltage regulation information between a voltage regulator and an integrated circuit
US7514958B1 (en) 2007-10-16 2009-04-07 Broadcom Corporation Integrated circuit having a configurable logic gate
US8352235B1 (en) 2007-10-31 2013-01-08 Cadence Design Systems, Inc. Emulation of power shutoff behavior for integrated circuits
US8068433B2 (en) 2007-11-26 2011-11-29 Microsoft Corporation Low power operation of networked devices
JP5104254B2 (ja) 2007-11-30 2012-12-19 富士通セミコンダクター株式会社 集積回路装置
US7839016B2 (en) * 2007-12-13 2010-11-23 Arm Limited Maintaining output I/O signals within an integrated circuit with multiple power domains
GB2455744B (en) * 2007-12-19 2012-03-14 Advanced Risc Mach Ltd Hardware driven processor state storage prior to entering a low power mode
US9411390B2 (en) * 2008-02-11 2016-08-09 Nvidia Corporation Integrated circuit device having power domains and partitions based on use case power optimization
US7984317B2 (en) 2008-03-24 2011-07-19 Apple Inc. Hardware-based power management of functional blocks
US8607177B2 (en) 2008-04-10 2013-12-10 Nvidia Corporation Netlist cell identification and classification to reduce power consumption
US8762759B2 (en) 2008-04-10 2014-06-24 Nvidia Corporation Responding to interrupts while in a reduced power state
US9423846B2 (en) * 2008-04-10 2016-08-23 Nvidia Corporation Powered ring to maintain IO state independent of the core of an integrated circuit device
CN102089730A (zh) 2008-07-08 2011-06-08 Nec显示器解决方案株式会社 终端设备和功率节省控制方法
US9189048B2 (en) 2008-09-10 2015-11-17 Apple Inc. Circuit having a low power mode
US8040151B2 (en) 2008-12-19 2011-10-18 Actel Corporation Programmable logic device with programmable wakeup pins
US8001433B1 (en) 2008-12-30 2011-08-16 Cadence Design Systems, Inc. Scan testing architectures for power-shutoff aware systems
US8176453B2 (en) 2009-01-23 2012-05-08 Springsoft Usa, Inc. Power-aware debugging
US8255722B2 (en) 2009-03-09 2012-08-28 Atmel Corporation Microcontroller with clock generator for supplying activated clock signal to requesting module to conserve power
US8190931B2 (en) * 2009-04-30 2012-05-29 Texas Instruments Incorporated Power management events profiling
JP4998519B2 (ja) 2009-05-29 2012-08-15 富士通株式会社 非同期インタフェース回路及び非同期データ転送方法
CN101944527B (zh) 2009-07-08 2012-11-21 炬才微电子(深圳)有限公司 一种集成电路及其待机控制方法
GB2472051B (en) 2009-07-22 2012-10-10 Wolfson Microelectronics Plc Power management apparatus and methods
US8275560B2 (en) 2009-09-10 2012-09-25 Intel Corporation Power measurement techniques of a system-on-chip (SOC)
US20110103391A1 (en) 2009-10-30 2011-05-05 Smooth-Stone, Inc. C/O Barry Evans System and method for high-performance, low-power data center interconnect fabric
US9465771B2 (en) 2009-09-24 2016-10-11 Iii Holdings 2, Llc Server on a chip and node cards comprising one or more of same
US20110131427A1 (en) * 2009-12-02 2011-06-02 Jorgenson Joel A Power management states
WO2011093901A1 (en) 2010-02-01 2011-08-04 Hewlett-Packard Development Company, L.P. Deep sleep mode management for a network switch
US8219843B2 (en) * 2010-02-17 2012-07-10 Taiwan Semiconductor Manufacturing Company, Ltd. Power management mechanism
WO2011102126A1 (ja) 2010-02-22 2011-08-25 パナソニック株式会社 不揮発性半導体記憶装置及び電子機器
KR20110097447A (ko) 2010-02-25 2011-08-31 삼성전자주식회사 인터럽트 프록시 기능을 구비한 시스템 온 칩 및 그에 따른 인터럽트 프록시 처리방법
US8271812B2 (en) 2010-04-07 2012-09-18 Apple Inc. Hardware automatic performance state transitions in system on processor sleep and wake events
US8452997B2 (en) 2010-04-22 2013-05-28 Broadcom Corporation Method and system for suspending video processor and saving processor state in SDRAM utilizing a core processor
CN102270030B (zh) * 2010-05-07 2015-09-09 三星电子株式会社 片上系统、具有其的设备以及该片上系统的电力控制方法
US8738937B2 (en) 2010-07-13 2014-05-27 Intel Corporation Method and apparatus to limit memory power
US8719630B2 (en) 2010-08-23 2014-05-06 Qualcomm Incorporated Method and apparatus for monitoring interrupts during a power down event at a processor
US8601288B2 (en) * 2010-08-31 2013-12-03 Sonics, Inc. Intelligent power controller
KR101689556B1 (ko) * 2010-09-20 2016-12-26 삼성전자주식회사 계층적 전력 제어 회로, 이를 이용한 전력 제어 방법, 및 이를 포함하는 SoC 장치
US8615277B2 (en) * 2010-11-12 2013-12-24 Mediatek Inc. Electronic device having functional blocks individually controlled to selectively enter power-saving mode and related power control method thereof
DE102010055470B4 (de) 2010-12-22 2017-10-19 Texas Instruments Deutschland Gmbh RFID-Transponder und schlüsselloses Fahrzeugzugangssystem
US8661290B2 (en) * 2011-01-14 2014-02-25 International Business Machines Corporation Saving power in computing systems with redundant service processors
US9098970B2 (en) * 2011-06-17 2015-08-04 Wms Gaming Inc. Wagering game machine hibernation
US8494477B2 (en) * 2011-06-24 2013-07-23 Intel Corporation Power management for an electronic device
TWI443495B (zh) 2011-09-08 2014-07-01 Asustek Comp Inc 電腦裝置及中央處理器的頻率調整方法
US8638080B2 (en) 2011-09-14 2014-01-28 Texas Instruments Incorporated Circuits and methods for controlling PWM input of driver circuit
US8868941B2 (en) * 2011-09-19 2014-10-21 Sonics, Inc. Apparatus and methods for an interconnect power manager
US8713340B2 (en) 2011-10-12 2014-04-29 Lsi Corporation Method and apparatus for power management control of an embedded memory having sleep and shutdown features
US9026815B2 (en) * 2011-10-27 2015-05-05 Intel Corporation Controlling operating frequency of a core domain via a non-core domain of a multi-domain processor
US9471121B2 (en) * 2011-11-14 2016-10-18 Texas Instruments Incorporated Microprocessor based power management system architecture
US8826079B2 (en) 2011-12-16 2014-09-02 Arm Limited Data processing apparatus and method for identifying debug events
US9367080B2 (en) * 2011-12-22 2016-06-14 Intel Corporation Apparatus, system, and method for providing clock signal on demand
US9195589B2 (en) 2011-12-27 2015-11-24 Intel Corporation Adaptive configuration of non-volatile memory
US20130170413A1 (en) 2011-12-28 2013-07-04 Hong Kong Applied Science and Technology Research Institute Company Limited Methods and systems for power saving controls in mobile broadcast receiver
US9396784B2 (en) 2012-03-27 2016-07-19 Intel Corporation Reduction of power consumption in memory devices during refresh modes
US8639851B2 (en) * 2012-05-02 2014-01-28 Atmel Corporation Serial bit processor
GB201211340D0 (en) * 2012-06-26 2012-08-08 Nordic Semiconductor Asa Control of semiconductor devices
US8629796B1 (en) * 2012-07-27 2014-01-14 Atmel Corporation Preventing interference between microcontroller components
US9323312B2 (en) 2012-09-21 2016-04-26 Atmel Corporation System and methods for delaying interrupts in a microcontroller system
US9507406B2 (en) 2012-09-21 2016-11-29 Atmel Corporation Configuring power domains of a microcontroller system
US9213397B2 (en) 2012-09-21 2015-12-15 Atmel Corporation Changing power modes of a microcontroller system
US9213388B2 (en) 2012-09-21 2015-12-15 Atmel Corporation Delaying reset signals in a microcontroller system
US8958186B2 (en) * 2012-10-02 2015-02-17 Synopsys, Inc. Mitigating cross-domain transmission of electrostatic discharge (ESD) events
US8683419B1 (en) 2012-11-30 2014-03-25 Cadence Design Systems, Inc. Power domain crossing interface analysis
US9310783B2 (en) * 2012-12-19 2016-04-12 Apple Inc. Dynamic clock and power gating with decentralized wake-ups
US9182811B2 (en) * 2012-12-19 2015-11-10 Apple Inc. Interfacing dynamic hardware power managed blocks and software power managed blocks
US9152210B2 (en) * 2013-02-15 2015-10-06 Apple Inc. Method and apparatus for determining tunable parameters to use in power and performance management
US8791743B1 (en) 2013-02-18 2014-07-29 Apple Inc. Balanced level shifter with wide operation range
US9207981B2 (en) * 2013-03-15 2015-12-08 Google Inc. Systems and methods for power awareness in mobile applications
CN105492994A (zh) * 2013-06-25 2016-04-13 惠普发展公司,有限责任合伙企业 给节点供电
US9329963B2 (en) 2013-09-16 2016-05-03 Advanced Micro Devices, Inc. Debug apparatus and methods for dynamically switching power domains
US9262293B2 (en) 2013-09-16 2016-02-16 Advanced Micro Devices, Inc. Debug apparatus and methods for dynamically switching power domains
US9383807B2 (en) 2013-10-01 2016-07-05 Atmel Corporation Configuring power domains of a microcontroller system
IN2014CH00438A (de) 2014-01-31 2015-08-07 Mentor Graphics Corp
US9774949B2 (en) * 2014-02-28 2017-09-26 Texas Instruments Incorporated Power control for multichannel signal processing circuit
US9684367B2 (en) 2014-06-26 2017-06-20 Atmel Corporation Power trace port for tracing states of power domains

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090204835A1 (en) 2008-02-11 2009-08-13 Nvidia Corporation Use methods for power optimization using an integrated circuit having power domains and partitions

Also Published As

Publication number Publication date
US9383807B2 (en) 2016-07-05
DE102014219905A1 (de) 2015-04-02
US20160274655A1 (en) 2016-09-22
US10296077B2 (en) 2019-05-21
US20150095681A1 (en) 2015-04-02

Similar Documents

Publication Publication Date Title
DE102014219905B4 (de) Konfiguration von Leistungsdomänen eines Mikrocontroller-Systems
DE102010002636B4 (de) Reduktion des Stromverbrauchs in einem Mikrocontroller
DE112007001987B4 (de) Überführen einer Rechenplattform in einen Systemzustand niedriger Leistung
DE102012213635B4 (de) Ereignistriggerungsverfahren während Ruhemodus und verwandte Mobilgeräte
DE102012212441B4 (de) Verfahren zum Eintreten in und Verlassen eines Schlafmodus in einer Graphikverarbeitungseinheit
DE112008001223B4 (de) Datenverarbeitung mit einem Cache-Zugriffsmodus mit geringer Leistung
DE69907512T2 (de) Gerät und verfahren zur automatischen frequenzregelung einer zentralen verarbeitungseinheit
DE69532596T2 (de) Verfahren zur Steuerung der Stromversorgung in einer Mehrprozessbetriebsumgebung
DE19681716B4 (de) Computersystem und Verfahren für ein Stromversorgungsmanagement
DE112005001779B4 (de) Energiemanagement-Koordination in mehrkernigen Prozessoren
DE112008004030B4 (de) Leistungsverwaltung in einem System mit einem Prozessor und einem Spannungswandler, der eine Leistungsspannung zu dem Prozessor liefert
DE112004001320B3 (de) Verfahren, System und Vorrichtung zur Verbesserung der Leistung von Mehrkernprozessoren
DE102009041723B4 (de) Prozessor-Leistungsverbrauchsteuerung und Spannungsabsenkung über eine Mikroarchitektur-Bandbreitenbegrenzung
DE112007001713T5 (de) System und Verfahren zum Steuern von Zuständen niedriger Energie bei Prozessoren
DE4028175A1 (de) Energiemanagementanordnung fuer einen tragbaren computer
DE102008064866B3 (de) Elektronische Steuerungsvorrichtung und Verfahren zur elektronischen Steuerung und zur Betätigung einer elektronischen Steuerungsvorrichtung
DE10296549T5 (de) Ein Verfahren zum Bestimmen von Überführungspunkten bei Mikroprozessoren mit mehreren Leistungszuständen
DE112005001801T5 (de) Verfahren und Vorrichtung zum dynamischen DLL-Herunterfahren und Speicher-Selbstauffrischen
DE102008005852A1 (de) Leistungssteuervorrichtung, tragbares Endgerät und Verfahren zum Steuern einer Leistungssteuervorrichtung
DE10393969T5 (de) Mechanismus zur Verteilung von Unterbrechungen niedrigster Priorität unter Berücksichtigung des Prozessorleistungszustands
DE112011102822T5 (de) Leistungsoptimierte Interrupt-Abgabe
DE202008018394U1 (de) Wenigstens teilweise auf einem Leistungszustand eines integrierten Schaltkreises basierende Versorgungsspannungssteuerung
DE102014114681A1 (de) Energieverwaltung für eine Bitübertragungsschicht-Schnittstelle Anschliessen eines Bildschirms an ein Anzeige-Übertragungssystem
DE102015202513A1 (de) Vorrichtung und Verfahren zur Datenspeicherung sowie Datenverarbeitungssystem damit
DE112006000386B4 (de) Vorrichtung und Verfahren zur Steuerung der Sequenz der Taktverteilung an Taktverteilungsbereiche

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: GRUENECKER PATENT- UND RECHTSANWAELTE PARTG MB, DE

R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final