DE102011050218B4 - Ein-Chip-System, Vorrichtungen mit demselben und Verfahren zur Leistungssteuerung des Ein-Chip-Systems - Google Patents

Ein-Chip-System, Vorrichtungen mit demselben und Verfahren zur Leistungssteuerung des Ein-Chip-Systems Download PDF

Info

Publication number
DE102011050218B4
DE102011050218B4 DE102011050218.1A DE102011050218A DE102011050218B4 DE 102011050218 B4 DE102011050218 B4 DE 102011050218B4 DE 102011050218 A DE102011050218 A DE 102011050218A DE 102011050218 B4 DE102011050218 B4 DE 102011050218B4
Authority
DE
Germany
Prior art keywords
power
state
control
performance
cluster
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
DE102011050218.1A
Other languages
English (en)
Other versions
DE102011050218A1 (de
DE102011050218B8 (de
Inventor
Jae Gon Lee
Jang Ho Cho
Bong Il Park
Kwang Ho Kim
Taek Kyun Shin
Dong Keun Kim
Jae Young Lee
Yung Hei Lee
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102011050218A1 publication Critical patent/DE102011050218A1/de
Publication of DE102011050218B4 publication Critical patent/DE102011050218B4/de
Application granted granted Critical
Publication of DE102011050218B8 publication Critical patent/DE102011050218B8/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
    • 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/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • 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/10Distribution of clock signals, e.g. skew
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • 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

Integrierte Schaltungsvorrichtung mit:
einer Mehrzahl von Leistungsdomänenblöcken (131 bis 13n; 231 bis 23n) mit einem Kernleistungsdomänenblock (131; 231) und
einer Leistungssteuerschaltung (140; 240), die eingerichtet ist zum unabhängig Steuern von Leistung, welche an jeden einer Mehrzahl von Leistungsdomänenblöcken (131 bis 13n; 231 bis 23n) geliefert wird, als Antwort auf Steuerkommunikation von dem Kernleistungsdomänenblock (131; 231), wobei die Leistungssteuerschaltung (140; 240) eine Mehrzahl von Leistungsclustern (141 bis 14n; 241 bis 24n) aufweist, die jeweils einer Mehrzahl von Leistungsdomänenblöcken (131 bis 13n; 231 bis 23n) entsprechen;
wobei die Mehrzahl von Leistungsclustern (141 bis 14n; 241 bis 24n) Leistung, die jeweils an die Mehrzahl von Leistungsdomänenblöcken (131 bis 13n; 231 bis 23n) geliefert wird, unabhängig steuern als Antwort auf die Steuerkommunikation von dem Kernleistungsdomänenblock (131; 231); und
wobei die Leistungssteuerschaltung (140; 240) weiter einen zentralen Cluster (150; 250) aufweist, der eingerichtet ist zum Steuern einer Betriebsreihenfolge der Mehrzahl von Leistungsclustern (141 bis 14n; 241 bis 24n) als Antwort auf die Steuerkommunikation von dem Kernleistungsdomänenblock (131; 231).

Description

  • HINTERGRUND
  • Gebiet
  • Beispielhafte Ausführungsformen der vorliegenden Erfindung beziehen sich auf ein Leistungsmanagementsystem und insbesondere auf ein Ein-Chip-System (SoC), das einen Leistungszustand und einen Betriebszustand jeder Leistungsdomäne unabhängig steuern kann gemäß in Zustandsmaschinen gesetzten Konfigurationsregisterwerten, auf Vorrichtungen mit demselben sowie auf ein Verfahren für die Leistungssteuerung des SoC.
  • Beschreibung der verwandten Technik
  • Mit den Fortschritten in Halbleiterherstellungstechnologien hat die Anzahl der Elemente zugenommen, die innerhalb einer integrierten Schaltung vorgesehen werden können. Da die Anzahl von innerhalb einer integrierten Schaltung vorgesehenen Elementen zunimmt, wurden Elemente wie z.B. ein Speicher, ein Prozessor, eine Spannungssteuerungsschaltung usw. innerhalb einer integrierten Schaltung integriert. Einige Systeme können Elemente wie z.B. einen Speicher, einen Prozessor, eine Spannungssteuerungsschaltung usw. enthalten. Diese Systeme können ein Ein-Chip-System (SoC) genannt werden. Als ein einzelner Chip nimmt das SoC weniger Fläche ein und verbraucht weniger Leistung verglichen mit herkömmlichen Systemen.
  • US 7369 815 B2 offenbart eine integrierte Schaltung für einen Modemprozessor mit Verarbeitungseinheiten, die in „Always-On“ - und „Collapsible“ -Leistungsbereiche unterteilt sind. Eine Always-On-Power-Domain ist immer eingeschaltet. Eine zusammenlegbare Energiedomäne kann ausgeschaltet werden, wenn die Verarbeitungseinheiten in der Energiedomäne nicht benötigt werden. Eine Leistungssteuerungseinheit in einer ständig aktiven Leistungsdomäne schaltet die zusammenlegbaren Leistungsdomänen nach dem Ruhezustand aus und nach dem Aufwachen aus dem Ruhezustand wieder ein. Aufgaben zum Ausschalten der zusammenlegbaren Stromversorgungsdomänen können umfassen: (1) Speichern von relevanten Hardwareregistern für diese Stromversorgungsdomänen, (2) Einfrieren der Ausgangspins des IC, um externe Einheiten minimal zu stören, (3) Klemmen der Eingangspins der zusammenlegbaren Stromversorgungsdomänen, (4) Ausschalten eines Hauptoszillators und Deaktivieren des Oszillatortakts und so weiter.
  • Zusammen mit der Entwicklung der Halbleiterherstellungstechnologie nimmt die Anzahl von integrierten Schaltungsvorrichtungen zu, die auf einer integrierten Schaltung, z.B. einem Ein-Chip-System SoC, integriert werden können.
  • Dementsprechend wurde ein Verfahren für das Steuern der Leistung untersucht, die bei einer elektronischen Vorrichtung verbraucht wird, welche eine Batterie für die Leistung verwendet und einen SoC beinhaltet.
  • Es ist daher eine Aufgabe der vorliegenden Erfindung eine integrierte Schaltungsvorrichtung, ein Ein-Chip-System (SoC), eine elektronische Vorrichtung, eine mobile Kommunikationsvorrichtung und ein Verfahren mit, durch einen zentralen Cluster verbesserter Leistungssteuerung anzugeben.
  • KURZFASSUNG
  • Ein Gesichtspunkt von Ausführungsformen der Erfindung ist auf das Vorsehen einer integrierten Schaltungsvorrichtung gerichtet, die eine Mehrzahl von Leistungsdomänenblöcken aufweist, welche einen Kernleistungsdomänenblock enthalten. Eine Leistungssteuerschaltung ist ausgebildet zum Steuern von Leistung, die an jeden einer Mehrzahl von Leistungsdomänenblöcken unabhängig geliefert wird, als Antwort auf Steuerungskommunikation von dem Kernleistungsdomänenblock. Die Leistungssteuerschaltung weist eine Mehrzahl von Leistungsclustern auf, die jeweilig der Mehrzahl von Leistungsdomänenblöcken entsprechen. Die Mehrzahl von Powerclustern steuern unabhängig jeweils an die Mehrzahl von Leistungsdomänenblöcken gelieferte Leistung als Antwort auf Steuerkommunikation von dem Kernleistungsdomänenblock.
  • Figurenliste
  • Die obige und weitere Aufgaben und Merkmale werden anschaulich anhand der folgenden Beschreibung mit Bezug auf die folgenden Figuren, wobei sich gleiche Bezugsziffern in den verschiedenen Figuren durchgehend auf gleiche Teile beziehen außer es ist anders angegeben, und wobei:
    • 1 ein Blockdiagramm ist, das eine integrierte Schaltungsvorrichtung aus einem Ausführungsbeispiel der Erfindung zeigt;
    • 2 ein Flussdiagramm ist, das ein Betriebsverfahren einer integrierten Schaltungsvorrichtung in 1 gemäß einigen Ausführungsformen der Erfindung darstellt;
    • 3 ein Flussdiagramm ist, das ein Verfahren darstellt, bei dem Powerdomänenblöcke durch eine Leistungsdomänenblockeinheit gemäß einigen Ausführungsformen der Erfindung in einen Schlafmodus oder in einen normalen Modus gehen;
    • 4 ein Blockdiagramm ist, das einen von dem ersten bis n-ten Leistungsdomänenblock in 1 gemäß einigen Ausführungsformen der Erfindung darstellt;
    • 5 ein Zustandsübergangsdiagramm ist, das ein Betriebsverfahren eines Leistungsclusters darstellt, der einen Leistungsdomänenblock in 4 gemäß einigen Ausführungsformen der Erfindung steuert;
    • 6 ein Flussdiagramm ist, das ein Verfahren darstellt, bei dem Leistungsdomänenblöcke durch eine Leistungsdomänenblockeinheit gemäß weiteren Ausführungsformen der Erfindung in einen Schlafmodus oder in einen normalen Modus gehen;
    • 7 ein Ablaufdiagramm ist, das ein Verfahren darstellt, bei dem die Leistungsversorgung an Leistungsdomänenblöcke gesteuert wird durch Steuern eines zentralen Clusters in 2 gemäß einigen Ausführungsformen der Erfindung;
    • 8 ein Zustandsübergangsdiagramm ist, das ein Betriebsverfahren eines zentralen Clusters in 1 gemäß einigen Ausführungsformen der Erfindung darstellt;
    • 9 ein Flussdiagramm ist, das ein Verfahren darstellt, bei dem Leistungsversorgung an die Leistungsdomänenblöcke gesteuert wird durch Steuern eines zentralen Clusters in 2 gemäß einigen Ausführungsformen der Erfindung;
    • 10 ein Blockdiagramm ist, das eine integrierte Schaltungsvorrichtung gemäß weiteren Ausführungsformen der Erfindung darstellt;
    • 11 ein Zustandsübergangsdiagramm ist, das ein Betriebsverfahren einer Leistungssteuerschaltung in 10 gemäß einigen Ausführungsformen der Erfindung zeigt;
    • 12 ein Blockdiagramm eines SoC gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung ist;
    • 13 ein Blockdiagramm einer ersten Leistungsdomäne und einer ersten Zustandsmaschine ist, die in 12 darstellt sind;
    • 14 ein Blockdiagramm einer in 12 dargestellten zweiten Leistungsdomäne ist,
    • 15 ein Blockdiagramm einer in 14 dargestellten Datenspeichervorrichtung ist;
    • 16 ein Blockdiagramm einer in 12 dargestellten Trennschaltung ist;
    • 17 ein Blockdiagramm einer in 12 dargestellten zweiten Zustandsmaschine ist;
    • 18 ein generisches Zustandsdiagramm einer Zustandsmaschine gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung ist;
    • 19 eine Teilmenge eines in 18 dargestellten Zustandsdiagramms gemäß einer beispielhaften Ausführungsform dargestellt;
    • 20 eine Teilmenge gemäß einer weiteren beispielhaften Ausführungsform des in 18 dargestellten Zustandsdiagramms dargestellt;
    • 21 eine Teilmenge gemäß noch einer weiteren beispielhaften Ausführungsform des in 18 dargestellten Zustandsdiagramms darstellt;
    • 22 eine Teilmenge gemäß noch einer weiteren beispielhaften Ausführungsform gemäß dem in 18 dargestellten Zustandsdiagramm darstellt;
    • 23 eine Teilmenge gemäß noch einer weiteren beispielhaften Ausführungsform des in 18 dargestellten Zustandsdiagramm darstellt;
    • 24 ein Zustandsdiagramm einer Zustandsmaschine ist, die ein Rücksetz-Verfahren gemäß einem Ausführungsbeispiel der vorliegenden Erfindung durchführt;
    • 25 ein Flussdiagramm zum Erklären eines Betriebs des in 12 dargestellten SoC ist;
    • 26 eine beispielhafte Ausführungsform einer Mehrzahl von Zustandsmaschinen konzeptionell darstellt, die hierarchisch ausgebildet sind;
    • 27 eine weitere beispielhafte Ausführungsform einer Mehrzahl von Zustandsmaschinen konzeptionell darstellt, die hierarchisch ausgebildet sind; und
    • 28 ein Blockdiagramm einer elektronischen Vorrichtung mit dem in 12 dargestellten SoC ist.
  • DETAILLIERTE BESCHREIBUNG
  • Die vorliegende Erfindung wird im Folgenden genauer beschrieben mit Bezug auf die begleitenden Zeichnungen, in denen Ausführungsformen der Erfindung gezeigt sind. In den Zeichnungen sind die Größe und die relative Größen von Schichten und Bereichen zum Zwecke der Klarheit übertrieben dargestellt. Gleiche Nummern beziehen sich in der Beschreibung durchgehend auf gleiche Elemente.
  • Es ist selbstverständlich, dass obwohl hier die Begriffe erster/erste/erstes, zweiter/zweite/zweites, dritter/dritte/drittes usw. zum Beschreiben verschiedener Elemente, Komponenten, Bereiche, Schichten und/oder Abschnitte verwendet werden können, diese Elemente, Komponenten, Bereiche, Schichten und/oder Abschnitte nicht durch diese Begriffe beschränkt sein sollen. Diese Begriffe sind nur vorgesehen zum Unterscheiden eines Elementes, einer Komponente, eines Bereiches, einer Schicht oder eines Abschnittes von einem anderen Bereich, einer anderen Schicht oder einem anderen Abschnitt. Somit könnte ein erstes Element, eine erste Komponente, ein erster Bereich, eine erste Schicht oder ein erster Abschnitt, die weiter unten diskutiert sind, auch als zweites Element, zweite Komponente, zweiter Bereich, zweite Schicht oder zweiter Abschnitt bezeichnet sein, ohne von der Lehre der Erfindung abzuweichen.
  • Räumlich relative Begriffe wie z.B. „unterhalb“, „unter“, „unteres“, „darunter“, „oberhalb“, „oberes“ und dergleichen können hier der Einfachheit der Beschreibung halber verwendet werden zum Beschreiben des Verhältnisses eines Elementes oder Merkmals zu einem anderen Element (zu anderen Elementen) oder zu einem anderen Merkmal (zu anderen Merkmalen) wie sie in den Figuren dargestellt sind. Es wird verstanden werden, dass die räumlich relativen Begriffe so gedacht sind, dass sie verschiedene Orientierungen der Vorrichtungen beim Gebrauch oder im Betrieb zusätzlich zu der in den Figuren dargestellten Orientierung mit umfassen. Wenn zum Beispiel die Vorrichtung in den Figuren umgedreht wird, dann können als „unter“ oder „unterhalb“ oder „unterhalb von“ anderen Elementen beschriebene Elemente oder Merkmale „über“ den anderen Elementen oder Merkmalen orientiert sein. Somit können die beispielhaften Begriffe „unterhalb“ und „unter“ beide Orientierungen sowohl von oberhalb als auch von unterhalb umfassen. Die Vorrichtung kann anders orientiert sein (um 90° gedreht oder mit anderen Orientierungen) und die hier verwendeten räumlich relativen Beschreibungen sind dementsprechend auszulegen. Zusätzlich wird auch selbstverständlich sein, dass wenn eine Schicht als „zwischen“ zwei Schichten bezeichnet wird, sie die einzige Schicht zwischen den zwei Schichten sein kann oder auch eine oder mehrere dazwischen liegende Schichten vorhanden sein können.
  • Die hier verwendete Terminologie ist nur zum Zwecke der Beschreibung bestimmter Ausführungsformen gedacht und nicht dazu, die Erfindung zu beschränken. Wie sie hier verwendet werden, sind die Singularformen „einer/eine/eines“ und „der/die/das“ so gedacht, dass sie auch die Pluralformen enthalten, außer der Kontext ergibt eindeutig anderes. Es wird weiter selbstverständlich sein, dass die Begriffe „umfasst“ und/oder „umfassend“, wenn sie in dieser Beschreibung verwendet werden, das Vorhandensein der angegebenen Merkmale, Zahlen, Schritte, Operationen, Elemente und/oder Komponenten angeben, aber nicht das Vorhandensein oder das Hinzufügen von einem oder mehreren anderen Merkmalen, Zahlen, Schritten, Operationen, Elementen, Komponenten und/oder Gruppen davon ausschließen. Wie hier verwendet enthält der Begriff „und/oder“ jede und alle Kombinationen von einem oder mehreren der zusammen aufgelisteten Gegenstände.
  • Es ist selbstverständlich, dass wenn ein Element oder eine Schicht als „auf“, „verbunden mit“, „gekoppelt an“ oder „benachbart zu“ einem/ein Element oder einer/eine Schicht bezeichnet wird, dieses/diese direkt auf, verbunden mit, gekoppelt an oder benachbart zu dem anderen Element oder der anderen Schicht sein kann oder dazwischen liegende Elemente oder Schichten vorhanden sein können. Wenn im Gegensatz dazu ein Element als „direkt auf“, „direkt verbunden mit“, „direkt gekoppelt an“ oder „unmittelbar benachbart zu“ einem anderen Element oder einer Schicht bezeichnet wird, sind keine dazwischen liegenden Elemente oder Schichten vorhanden.
  • Außer es ist anders definiert, besitzen alle Begriffe (einschließlich der technischen und wissenschaftlichen Begriffe), die hier verwendet werden, die gleiche Bedeutung wie sie allgemein verstanden werden von einem gewöhnlichen Fachmann für das Gebiet, zu dem die Erfindung gehört. Es ist weiter selbstverständlich, dass Begriffe wie die in herkömmlich verwendeten Wörterbücher definierten so interpretiert werden sollten, dass sie eine Bedeutung besitzen, die konsistent ist mit ihrer Bedeutung in dem Kontext des relevanten Gebiets und/oder der vorliegenden Beschreibung, und nicht interpretiert werden sollen in einer idealisierten oder überformalen Art und Weise außer es ist hier ausdrücklich so definiert.
  • Die Erfindung ist in den unabhängigen Patentansprüchen definiert. Ausführungsformen davon sind durch die abhängigen Patentansprüche beschrieben.
  • 1 ist ein Blockdiagramm, das eine integrierte Schaltungsvorrichtung gemäß einer Ausführungsform der Erfindung zeigt. Bezug nehmend auf 1 enthält eine integrierte Schaltungsvorrichtung 100 einen Systembus 110, eine Leistungssteuerschaltung 120, erste bis n-te Leistungsdomänenblöcke 131 bis 13n sowie eine Leistungssteuerschaltung 140.
  • Der Systembus 110 stellt einen Kanal zwischen Elementen der integrierten Schaltungsvorrichtung 100 bereit.
  • Die Leistungsversorgungsschaltung 120 empfängt externe Leistung. Die Leistungsversorgungsschaltung 120 wandelt die externe Leistung in interne Leistung um, um Leistung an Elemente der integrierten Schaltungsvorrichtung 100 bereitzustellen.
  • Die Leistungsdomänenblöcke 131 bis 13n sind mit dem Systembus 110 verbunden. Die Leistungsdomänenblöcke 131 bis 13n sind derart konfiguriert, dass sie jeweils bestimmt Operationen durchführen. Jeder der Leistungsdomänenblöcke 131 bis 13n kann zumindest eines von Elementen, wie z.B. einen Kern, eine Eingabe/Ausgabe(I/O)-Schnittstelle, einen Speicher, einen Taktgenerator, eine interne Schnittstelle, einen Timer, eine Einschalt-Rücksetz-Schaltung usw., enthalten.
  • Die Leistungsdomänenblöcke 131 bis 13n werden unabhängig mit Strom versorgt. Zum Beispiel wird der k-te Leistungsdomänenblock 13k (wobei k eine ganze Zahl kleiner oder gleich n ist) über eine andere Stromleitung mit Strom versorgt als die anderen Leistungsdomänenblöcke. Dementsprechend wird an den k-ten Leistungsdomänenblock 13k gelieferte Leistung unabhängig von der an andere Leistungsdomänenblöcke gelieferten Leistung gesteuert. Das bedeutet, dass jeder der Leistungsdomänenblöcke 131 bis 13n unabhängig derart gesteuert werden kann, dass er entweder in einen Schlafmodus oder in einen normalen Modus geht.
  • Bei einer beispielhaften Ausführungsform kann der i-te Leistungsdomänenblock (wobei i eine ganze Zahl kleiner als n ist) der Leistungsdomänenblöcke 131 bis 13n ein Leistungsdomänenblock sein, der abhängig von einem j-ten Leistungsdomänenblock ist (wobei j eine ganze Zahl kleiner als n ist). Zum Beispiel ist der i-te Leistungsdomänenblock ein Leistungsdomänenblock, der abhängig ist von dem j-ten Leistungsdomänenblock. Wenn Leistung an den j-ten Leistungsdomänenblock geliefert wird, wird die an den i-ten Leistungsdomänenblock gelieferte Leistung derart gesteuert, dass sie unabhängig von anderen Leistungsdomänenblöcken ist. Wenn Leistung an den j-ten Leistungsdomänenblock unterbrochen wird, wird das Liefern von Leistung an den i-ten Leistungsdomänenblock gleichzeitig unterbrochen.
  • Bei einer beispielhaften Ausführungsform kann zumindest einer der Leistungsdomänenblöcke 131 bis 13n ein Leistungsdomänenblock sein, bei dem verhindert wird, dass dessen Leistungszufuhr unterbrochen wird. Zumindest einer der Leistungsdomänenblöcke 131 bis 13n kann ein Leistungsdomänenblock sein, der keinen Schlafmodus besitzt.
  • Bei einer beispielhaften Ausführungsform wird angenommen, dass der erste Leistungsdomänenblock 131 ein Kern ist. Der Kern 131 ist ausgebildet zum Steuern eines Gesamtbetriebs der integrierten Schaltungsvorrichtung 100. Zum Beispiel kann der Kern 131 ein ARM-Prozessor sein. Zum Beispiel können zumindest zwei der Leistungsdomänenblöcke 131 bis 13n ein Kern sein. Weiter unten kann ein Bezugszeichen 131 verwendet werden zum Bezeichnen des ersten Leistungsdomänenblocks oder eines Kerns.
  • Bei einer Ausführungsform wird angenommen, dass der zweite Leistungsdomänenblock 132 eine Eingabe/Ausgabe(I/O)-Schnittstelle ist. Die I/O-Schnittstelle 132 ist mit dem Systembus 110 verbunden. Die I/O-Schnittstelle 132 kann zumindest ein Protokoll für die Kommunikation mit einer externen Quelle enthalten. Zum Beispiel ist die I/O-Schnittstelle 132 zum Verbinden mit einer externen Quelle gemäß zumindest einem von Schnittstellenprotokollen, wie z.B. dem Universial Serial Bus (USB) Protokoll, dem Multimediacard(MMC)-Protokoll, dem Peripheral Component Interconnection (PCI) Protokoll, dem PCI-Express(PCI-E)-Protokoll, dem Advanced Technology Attachment (ATA) Protokoll, dem Serial-ATA-Protokoll, dem Parallel-ATA-Protokoll, dem Small Computer Small Interface (SCSI) Protokoll, dem Enhanced Small Disc Interface (ESDI) Protokoll, dem Integrated Drive Electronics (IDE) Protokoll, dem Firewire-Protokoll, dem Ethernet-Protokoll usw. ausgebildet. Weiter unten kann ein Bezugszeichen 132 verwendet werden zum Bezeichnen des zweiten Leistungsdomänenblocks oder einer Eingabe/Ausgabe(I/O)-Schnittstelle.
  • Die Leistungssteuerschaltung 140 ist ausgebildet zum Steuern von an die integrierte Schaltungsvorrichtung 100 gelieferter Leistung. Zum Beispiel ist die Leistungssteuerschaltung 140 ausgebildet zum unabhängigen Steuern von an die jeweiligen Leistungsdomänenblöcke 131 bis 13n gelieferter Leistung als Antwort auf die Steuerung des Kerns 131. Zum Beispiel ist die Leistungssteuerschaltung 140 ausgebildet zum unabhängigen Steuern der an die jeweiligen Leistungsdomänenblöcke 131 bis 13n gelieferten Leistung durch Steuern eines Steuersignals CS.
  • Die Leistungssteuerschaltung 140 der integrierten Schaltungsvorrichtung gemäß der vorliegenden Erfindung enthält mehrere Leistungscluster 141 bis 14n und einen zentralen Cluster 150. Die Leistungscluster 141 bis 14n können jeweils den Leistungsdomänenblöcken entsprechen. Die Leistungscluster 141 bis 14n sind ausgebildet zum unabhängigen Steuern von an die jeweiligen Leistungsdomänenblöcke 131 bis 13n gelieferter Leistung als Antwort auf die Steuerung des Kerns 131 oder des zentralen Clusters 150. Bei einer beispielhaften Ausführungsform sind die Leistungscluster 141 bis 14n ausgebildet zum unabhängigen Steuern von an die jeweiligen Leistungsdomänenblöcke 131 bis 13n gelieferter Leistung durch Steuern eines Steuersignals CS.
  • Bei einer beispielhaften Ausführungsform kann zumindest einer der Leistungscluster 141 bis 14n dem Systembus 110 entsprechen, wenn der Systembus 110 einen Leistungsdomänenblock bildet. Genauso ist es möglich, einen Leistungscluster bereitzustellen, der der Leistungsversorgungsschaltung 120 oder einer Takterzeugungsschaltung (nicht dargestellt) entspricht.
  • Bei einer beispielhaften Ausführungsform steuert der k-te Leistungscluster 14k (wobei k eine ganze Zahl gleich oder kleiner als n ist) an den k-ten Leistungsdomänenblock 13k gelieferte Leistung unabhängig. Der k-te Leistungscluster 14k unterbricht das Liefern von Leistung an den k-ten Leistungsdomänenblock 13k oder nimmt es wieder auf.
  • Der zentrale Cluster 150 der integrierten Schaltungsvorrichtung gemäß der vorliegenden Erfindung ist ausgebildet zum Steuern einer Betriebsreihenfolge der Leistungscluster 141 bis 14n als Antwort auf die Steuerung des Kerns 131. Zum Beispiel ist der zentrale Cluster 150 ausgebildet zum Steuern der Leistungscluster 141 bis 14n nacheinander gemäß einer bestimmten Reihenfolge als Antwort auf die Steuerung des Kerns 131. Zum Beispiel steuert der zentrale Cluster 150 zumindest zwei Leistungscluster gleichzeitig als Antwort auf die Steuerung des Kerns 131.
  • In 1 ist ein Beispiel gezeigt, bei dem die Anzahl der Leistungsdomänenblöcke identisch zu der der Leistungscluster ist. Aber die Anzahl der Leistungsdomänenblöcke kann verschieden von der der Leistungscluster festgelegt sein.
  • 2 ist ein Ablaufdiagramm, das ein Betriebsverfahren einer integrierten Schaltungsvorrichtung in 1 gemäß einigen Ausführungsformen der Erfindung zeigt.
  • Bezug nehmend auf die 1 und 2 wird in Block S110 das Liefern einer Leistung an zumindest einen Leistungsdomänenblock gesteuert durch Steuern von zumindest einem Leistungscluster. Zum Beispiel kann von einem Kern 131 gesteuert zumindest ein Leistungscluster die Leistung steuern, die an zumindest einem entsprechenden Leistungsdomänenblock geliefert wird. Zum Beispiel wird das Liefern von Leistung an zumindest einen Leistungsdomänenblock von zumindest einem Leistungscluster gesteuert unterbrochen oder wiederaufgenommen.
  • In Block S120 wird das Liefern von Leistung an Leistungsdomänenblöcke gesteuert durch Steuern eines zentralen Clusters 150. Zum Beispiel kann der zentrale Cluster 150 Leistungscluster 141 bis 14n sequentiell steuern als Antwort auf die Steuerung des Kerns 131. An die Leistungsdomänenblöcke 131 bis 13n gelieferte Leistung kann sequentiell gesteuert werden durch sequentielles Steuern der Leistungscluster 141 bis 14n. Zum Beispiel kann das Liefern von Leistung an die Leistungsdomänenblöcke 131 bis 13n unterbrochen oder wiederaufgenommen werden.
  • Die Verfahrensschritte des Blocks S110 können durchgeführt werden von einer Leistungsdomänenblockeinheit, wenn eine integrierte Schaltungsvorrichtung 110 in einen Schlafmodus oder einen normalen Modus geht. Die Verfahrensschritte des Blocks S120 können durchgeführt werden durch eine Leistungsdomänenblockeinheit auf einem Systemlevel, wenn eine integrierte Schaltungsvorrichtung 100 in einen Schlafmodus oder einen normalen Modus geht.
  • 3 ist ein Ablaufdiagramm, das ein Verfahren von einer Leistungsdomänenblockeinheit gemäß einigen Ausführungsformen der Erfindung zeigt, bei dem Leistungsdomänenblöcke in einen Schlafmodus oder einen normalen Modus gehen.
  • Bezug nehmend auf die 1 und 3 sendet ein Kern 131 im Verfahrensschritt S210 eine Schlafanforderung an den zweiten Leistungscluster 142. Als Antwort auf die empfangene Schlafanforderung steuert der zweite Leistungscluster 142 in Verfahrensschritt S215 den zweiten Leistungsdomänenblock 132 derart, dass er in einen Schlafmodus geht. Zum Beispiel unterbricht der zweite Leistungscluster 142 eine an den zweiten Leistungsdomänenblock 132 gelieferte Leistung. Danach sendet der zweite Leistungscluster 142 in Verfahrensschritt 220 eine Schlaf-Antwort an den Kern 131.
  • Die Verfahrensschritte S210 bis S220 können Verfahrensschritte zum Steuern eines bestimmten Leistungsdomänenblocks (z.B. des zweiten Leistungsdomänenblocks 132) der Leistungsdomänenblöcke 131 bis 13n aufweisen, sodass dieser in einen Schlafmodus geht.
  • In Verfahrensschritt S225 sendet der Kern 131 eine Schlafanforderung an den dritten Leistungscluster 143. Als Antwort auf die empfangene Schlafanforderung steuert der dritte Leistungscluster 143 im Verfahrensschritt S230 den dritten Leistungsdomänenblock 133 derart, dass er in einen Schlafmodus geht. Danach sendet der dritte Leistungscluster 143 in Verfahrensschritt S235 eine Schlafrückmeldung an den Kern 131. Die Verfahrensschritte S225 bis S235 können Verfahrensschritte zum Steuern eines anderen Leistungsdomänenblocks (z.B. des dritten Leistungsdomänenblocks 132) der Leistungsdomänenblöcke 131 bis 13n aufweisen, sodass dieser in einen Schlafmodus geht.
  • Verfahrensschritte S210 bis S220 und Verfahrensschritte S225 bis S235 können unabhängig gemäß der Steuerung des Kerns 131 durchgeführt werden. Zum Beispiel, ob die Verfahrensschritte S210 bis S220 durchgeführt wurden, durchgeführt werden oder noch durchzuführen sind, beeinflusst nicht, ob die Verfahrensschritte S225 bis S235 durchgeführt wurden, durchgeführt werden oder noch durchzuführen sind. Genauso, ob die Verfahrensschritte S225 bis S235 durchgeführt wurden, durchgeführt werden oder noch durchzuführen sind, beeinflusst nicht, ob die Verfahrensschritte S210 bis S220 durchgeführt wurden, durchgeführt werden oder noch durchzuführen sind.
  • In Verfahrensschritt S240 sendet der Kern 131 eine Normalanforderung an den zweiten Leistungscluster 142. Als Antwort auf die empfangene Normalanforderung steuert der zweite Leistungscluster 142 in Verfahrensschritt S245 den zweiten Leistungsdomänenblock 132 derart, dass er in einen normalen Modus geht. Zum Beispiel wird das Liefern von Leistung an den zweiten Leistungsdomänenblock 132 von dem zweiten Leistungscluster 142 gesteuert wieder aufgenommen. Danach sendet der zweite Leistungscluster 142 in Verfahrensschritt S250 eine Normalrückmeldung an den Kern 131.
  • In Verfahrensschritt S255 sendet der Kern eine Normalanforderung an den dritten Leistungscluster 143. Als Antwort auf die empfangene Normalanforderung steuert der dritte Leistungscluster 143 in Verfahrensschritt S260 den dritten Leistungsdomänenblock 133 derart, dass er in einen normalen Modus geht. Danach sendet der dritte Leistungscluster 143 in Verfahrensschritt S265 eine Normalrückmeldung an den Kern 131.
  • Die Verfahrensschritte S225 bis S235 können einen Verfahrensschritt des Steuerns eines anderen Leistungsdomänenblocks (z.B. des dritten Leistungsdomänenblocks 132) der Leistungsdomänenblöcke 131 bis 13n aufweisen, sodass dieser in einen Schlafmodus geht.
  • Die Verfahrensschritte S240 bis S250 können einen Verfahrensschritt des Steuerns eines bestimmten Leistungsdomänenblocks (z.B. des zweiten Leistungsdomänenblocks 132) der Leistungsdomänenblöcke 131 bis 13n aufweisen, sodass dieser in einen normalen Modus geht. Die Verfahrensschritte S245 bis S265 können einen Verfahrensschritt des Steuerns eines anderen Leistungsdomänenblocks (z.B. des dritten Leistungsdomänenblocks 133) der Leistungsdomänenblöcke 131 bis 13n aufweisen, sodass dieser in einen normalen Modus geht.
  • Verfahrensschritte S240 bis S250 und die Verfahrensschritte S255 bis S265 können unabhängig durchgeführt. Zum Beispiel, ob die Verfahrensschritte S240 bis S250 durchgeführt wurden, durchgeführt werden oder noch durchzuführen sind, beeinflusst nicht, ob die Verfahrensschritte S255 bis S265 durchgeführt wurden, durchgeführt werden oder noch durchzuführen sind. Genauso, ob die Verfahrensschritte S255 bis S265 durchgeführt wurden, durchgeführt werden oder noch durchzuführen sind, beeinflusst nicht, ob die Verfahrensschritte S240 bis S250 durchgeführt wurden, durchgeführt werden oder noch durchzuführen sind.
  • In 3 ist ein Betriebsverfahren gemäß einigen Ausführungsformen der Erfindung dargestellt, bei dem der zweite und der dritte Leistungsdomänenblock 132 und 133 in einen Schlafmodus und in einen normalen Modus gehen. Wie der zweite und der dritte Leistungsdomänenblock 132 und 133 kann jeder der verbleibenden Leistungsdomänenblöcke von dem Kern 131 oder eine entsprechenden Leistungscluster gesteuert in einen Schlafmodus und in einen normalen Modus gehen.
  • 4 ist ein Blockdiagramm, das einen von dem ersten bis n-ten Leistungsdomänenblock in 1 gemäß einigen Ausführungsformen der Erfindung darstellt. Bezug nehmend auf 4 enthält ein Leistungsdomänenblock 13k mehrere Schalter SW1 bis SWm, einen internen Block IB, die erste Trennschaltung IC1 und die zweite Trennschaltung IC2.
  • Der interne Block IB ist mit Stromversorgungsleitungen PL1 bis PLm verbunden, die mit einem Systembus 110 über entsprechende Schalter SW1 bis SWm verbunden sind. Die Schalter SW1 bis SWm werden gesteuert als Antwort auf ein durch den Systembus 110 empfangenes Steuersignal. Bei einer beispielhaften Ausführungsform werden die Schalter SW1 bis SWm gesteuert als Antwort auf ein von dem k-ten Leistungscluster 14k, der dem k-ten Leistungsdomänenblock 13k entspricht, empfangenes Steuersignal.
  • Der interne Block IB wird mit Leistung über die Stromversorgungsleitungen PL1 bis PLm versorgt. Das bedeutet, dass wenn die Schalter SW1 bis SWm von dem k-ten Powercluster 14k gesteuert werden, an den k-ten Leistungsdomänenblock 13k gelieferte Leistung gesteuert werden kann.
  • Der interne Block IB ist mit dem Systembus 110 über eine Signalleitung SL verbunden. Der interne Block IB kommuniziert mit dem Sytembus 110 über die Signalleitung SL. Bei einer beispielhaften Ausführungsform kann die Signalleitung SL durch eine Mehrzahl von Signalleitungen ersetzt werden.
  • Der interne Block IB kommuniziert mit anderen Leistungsdomänenblöcken über die erste Trennschaltung IC1. Bei einer Ausführungsform in 4 ist ein Beispiel gezeigt, bei dem der interne Block IB mit dem (k-1)-ten Leistungsdomänenblock 13(k-1) über die erste Trennschaltung IC1 kommuniziert.
  • Die erste Trennschaltung IC1 ist mit dem Systembus 110 über die erste Steuerleitung CL1 verbunden. Die erste Trennschaltung IC1 wird aktiviert oder deaktiviert als Antwort auf ein über die erste Steuerleitung CL1 empfangenes Steuersignal. Bei einer beispielhaften Ausführungsform kann die erste Trennschaltung IC1 als Antwort auf ein über die erste Signalleitung CL1 von dem k-ten Leistungscluster 14k empfangenes Steuersignal arbeiten.
  • Die erste Trennschaltung IC1, die aktiviert ist, trennt den internen Block IB von dem (k-1)-ten Leistungsdomänenblock 13(k-1), wenn eine Leistung des k-ten Leistungsdomänenblocks 13k unterbrochen wird.
  • Bei einer beispielhaften Ausführungsform können Spannungspegel von internen Knoten des k-ten Leistungsdomänenblocks 13k jeweils auf einen Massepegel eingestellt werden, wenn die Lieferung von Leistung an den k-ten Leistungsdomänenblock 13k unterbrochen wird. In einem Fall, bei dem ein geerdeter Knoten ein mit dem (k-1)-ten Leistungsdomänenblock 13(k-1) verbundener Knoten ist, fließt Strom in den k-ten Leistungsdomänenblock 13k von dem (k-1)-ten Leistungsdomänenblock 13(k-1). Das bedeutet, dass ein Leckstrom erzeugt wird, der in den k-ten Leistungsdomänenblock 13k von dem (k-1)-ten Leistungsdomänenblock 13(k-1) fließt. Die erste Trennschaltung IC1 verringert und/oder verhindert Leckstrom durch Trennen des k-ten Leistungsdomänenblocks 13k von dem (k-1)-ten Leistungsdomänenblock 13(k-1).
  • Der interne Block IB kommuniziert mit einem externen Leistungsdomänenblock über die zweite Trennschaltung IC2. Bei einer Ausführungsform in 4 ist ein Beispiel gezeigt, bei dem der interne Block IB mit dem (k+1)-ten Leistungsdomänenblock 13(k+1) über die zweite Trennschaltung IC2 kommuniziert. Die zweite Trennschaltung IC2 wird aktiviert oder inaktiviert als Antwort auf ein über die zweite Steuerleitung CL2 von dem k-ten Leistungscluster 14k empfangenes Steuersignal.
  • Wie die erste Trennschaltung IC1 trennt die aktivierte zweite Trennschaltung IC2 den k-ten Leistungsdomänenblock 13k von dem (k+1)-ten Leistungsdomänenblock 13(k+1).
  • In 4 ist ein Beispiel gezeigt, bei dem der k-te Leistungsdomänenblock 13k m Schalter SW1 bis SWm enthält. Aber der k-te Leistungsdomänenblock 13k kann ausgebildet sein zum Empfangen von Leistung über eine Stromversorgungsleitung und einen Schalter.
  • In 4 ist der k-te Leistungsdomänenblock 13k gezeigt, der mit zwei Leistungsdomänenblöcken kommunizieren kann. Aber der k-te Leistungsdomänenblock 13k kann derart ausgebildet sein, dass er mit zumindest einem Leistungsdomänenblock kommuniziert aber nicht mit anderen Leistungsdomänenblöcken kommuniziert. Bei einer beispielhaften Ausführungsform kann der k-te Leistungsdomänenblock 13k Trennschaltungen enthalten, wobei jede Leistungsdomänenblöcken entspricht, die mit dem k-ten Leistungsdomänenblock kommunizieren.
  • Bei einer beispielhaften Ausführungsform kann der k-te Leistungsdomänenblock 13k derart ausgebildet sein, dass er eine Trennschaltung enthält, die zwischen dem internen Block IB und mit einer externen Quelle verbundenen Signalleitungen angeordnet ist. Das bedeutet, dass Signalleitungen, welche der interne Block IB zum Kommunizieren mit einer externen Quelle verwendet, gemeinsam mit einer Trennschaltung verbunden sind.
  • 5 ist ein Zustandsübergangsdiagramm gemäß einigen Ausführungsformen der Erfindung, das ein Betriebsverfahren eines Leistungsclusters zeigt, der einen Leistungsdomänenblock in 4 steuert. Bezug nehmend auf die 4 und 5 arbeitet ein Leistungsdomänenblock 13k gesteuert von einem Leistungscluster 14k in einem Schlafmodus S11 und in einem normalen Modus S12.
  • Wenn der Leistungsdomänenblock 13k derart gesteuert wird, dass er von dem Schlafmodus S11 in den normalen Modus S12 geht, schaltet der Leistungscluster 14k Schalter SW1 bis SWn in den Leistungsdomänenblöcken 13k sequentiell ein. Das bedeutet, dass der k-te Leistungsdomänenblock mit Spannung versorgt wird. Danach deaktiviert der Leistungscluster 14k die erste und zweite Trennschaltung IC1 und IC2. Das bedeutet, dass der k-te Leistungsdomänenblock 13k in einen Zustand gesteuert wird, in dem er mit einer externen Quelle kommuniziert. Zu dieser Zeit geht der k-te Leistungsdomänenblock 13k in den normalen Modus S12.
  • Wenn der Leistungsdomänenblock 13k derart gesteuert wird, dass er in den Schlafmodus S11 von dem normalen Modus S12 geht, aktiviert der Leistungscluster 14k die erste und die zweite Trennschaltung IC1 und IC2. Das bedeutet, dass der k-te Leistungsdomänenblock 13k von einer externen Quelle getrennt wird. Danach schaltet der Leistungscluster 14k Schalter SW1 bis SWn in dem Leistungsdomänenblock 13k sequentiell aus. Das bedeutet, dass das Liefern von Leistung an den k-ten Leistungsdomänenblock unterbrochen wird. Zu dieser Zeit geht der k-te Leistungsdomänenblock 13k in den Schlafmodus S11.
  • Ein Betrieb des Leistungsclusters 14k kann geändert werden gemäß der Anzahl von Schaltern SW1 bis SWn und der Anzahl von Trennschaltungen IC1 und IC2. Zum Beispiel wenn die Anzahl von Schaltern SW1 bis SWn zunimmt oder abnimmt, nimmt die Anzahl an notwendigen Verfahrensschritten für den Leistungscluster 14k zum Steuern der Schalter SW1 bis SWn zu oder ab. Genauso, wenn die Anzahl der Trennschaltungen IC1 und IC2 zunimmt oder abnimmt, nimmt die Anzahl der für den Leistungscluster 14k notwendigen Verfahrensschritte zum Steuern der Trennschaltungen IC1 und IC2 zu oder ab.
  • Bei einer beispielhaften Ausführungsform kann der Leistungscluster 14k eine Zustandsmaschine sein, die Verfahrensschritte zur Zustandssteuerung durchführt, die in 5 dargestellt sind. Bei einer Ausführungsform kann der Leistungscluster 14k ein Prozessor sein, der in 5 dargestellte Verfahrensschritte zur Zustandssteuerung durchführt.
  • In den 4 und 5 sind der k-te Leistungsdomänenblock 13k und der k-te Leistungscluster 14k beschrieben. Die verbleibenden Leistungsdomänenblöcke und Leistungscluster können genauso wie in den 4 und 5 beschrieben ausgebildet sein.
  • 6 ist ein Ablaufdiagramm, das eine weitere Ausführungsform eines Verfahrens darstellt, bei dem Leistungsdomänenblöcke durch eine Leistungsdomänenblockeinheit in einen Schlafmodus oder einen normalen Modus gehen.
  • In 6 ist eine detaillierte Beschreibung für Verfahrensschritte ausgelassen, die gleich den in 3 beschriebenen sind. Bezug nehmend auf die 1 und 6 sendet ein Kern 131 in Verfahrensschritt S310 eine Schlafanforderung an den zweiten Leistungscluster 142. In Verfahrensschritt S315 sendet der Kern 131 eine Schlafanforderung an den dritten Leistungscluster 143.
  • In Verfahrensschritt S320 steuert der zweite Leistungscluster 142 den zweiten Leistungsdomänenblock 132 derart, dass er in einen Schlafmodus geht. In Verfahrensschritt S325 steuert der dritte Leistungscluster 143 den dritten Leistungsdomänenblock 133 derart, dass er in einen Schlafmodus geht. In Verfahrensschritt S330 sendet der zweite Leistungscluster 142 eine Schlafrückmeldung an den Kern 131. In Verfahrensschritt S335 sendet der dritte Leistungscluster 143 eine Schlafrückmeldung an den Kern 131.
  • Das bedeutet, dass nachdem der Kern 131 eine Schlafanforderung an einen bestimmten Leistungscluster (zum Beispiel den zweiten Leistungscluster 142) sendet und bevor eine Schlafrückmeldung von dem zweiten Leistungscluster 142 empfangen wird, der Kern 131 eine Schlafanforderung an einen anderen Leistungscluster (zum Beispiel den dritten Leistungscluster 143) senden kann.
  • In Verfahrensschritt S340 sendet der Kern 131 eine Normalanforderung an den zweiten Leistungscluster 142. In Verfahrensschritt S345 sendet der Kern 131 eine Normalanforderung an den dritten Leistungscluster 143.
  • In Verfahrensschritt S350 steuert der zweite Leistungscluster 142 den zweiten Leistungsdomänenblock 132 derart, dass er in einen normalen Modus geht. In Verfahrensschritt S355 steuert der dritte Leistungscluster 143 den dritten Leistungsdomänenblock 133 derart, dass er in einen normalen Modus geht. In Verfahrensschritt 360 sendet der zweite Leistungscluster 142 eine Normalrückmeldung an den Kern 131. In Verfahrensschritt S365 sendet der dritte Leistungscluster 143 eine Normalrückmeldung an den Kern 131.
  • Das bedeutet, dass nachdem der Kern 131 eine Normalanforderung an einen bestimmten Leistungscluster (zum Beispiel den zweiten Leistungscluster 142) sendet und bevor eine Normalrückmeldung von dem zweiten Leistungscluster 142 empfangen wird, der Kern 131 eine Normalanforderung an einen anderen Leistungscluster (zum Beispiel den dritten Leistungscluster 143) senden kann.
  • Wie oben beschrieben kann der Kern 131 die Leistungscluster 141 bis 14n parallel steuern.
  • Bei einer beispielhaften Ausführungsform ist der zentrale Cluster 150 derart ausgebildet, dass er zumindest zwei Leistungscluster einer Mehrzahl von Leistungsclustern zur gleichen Zeit und die verbleibenden Leistungscluster sequentiell steuern kann.
  • 7 ist ein Ablaufdiagramm, das ein Verfahren darstellt, bei dem die Leistungsversorgung an die Leistungsdomänenblöcke gesteuert wird durch Steuern eines zentralen Clusters in 2 gemäß einigen Ausführungsformen der Erfindung. In den 1 und 7 sendet ein Kern 131 in Verfahrensschritt S410 eine Schlafanforderung an den zentralen Cluster 150.
  • In Verfahrensschritt S415 sendet der zentrale Cluster 150 eine Schlafanforderung an den ersten Leistungscluster 141. In Verfahrensschritt S420 steuert der erste Leistungscluster 141 den ersten Leistungsdomänenblock 131 derart, dass dieser in einen Schlafmodus geht. Danach sendet der erste Leistungscluster 141 in Verfahrensschritt S425 eine Schlafanforderung an den zentralen Cluster 150. Die Verfahrensschritte S415 bis S425 können Verfahrensschritte aufweisen zum Steuern des ersten Leistungsdomänenblocks 131 über den ersten Leistungscluster 141 derart, dass dieser in einen Schlafmodus geht.
  • In Verfahrensschritt S430 sendet der zentrale Cluster 150 eine Schlafanforderung an den zweiten Leistungscluster 142. In Verfahrensschritt S435 steuert der zweite Leistungscluster 142 den zweiten Leistungsdomänenblock 132 derart, dass er in einen Schlafmodus geht. Danach sendet der zweite Leistungscluster 142 in Verfahrensschritt S440 eine Schlafanforderung an den zentralen Cluster 150.
  • Der Einfachheit der Beschreibung halber wird ein Beispiel beschrieben, bei dem der zentrale Cluster 150 eine Schlafanforderung an den ersten und zweiten Leistungscluster 141 und 142 sendet. Aber der zentrale Cluster 150 kann gemäß Ausführungsformen der Erfindung sequentiell eine Schlafanforderung an die Leistungscluster 141 bis 14n senden als Antwort auf eine Schlafanforderung von dem Kern 131.
  • Bei einer beispielhaften Ausführungsform, wie sie mit Bezug auf 6 beschrieben ist, sendet der zentrale Cluster 150 eine Schlafanforderung an einen bestimmten Leistungscluster und bevor eine Schlafanforderung von dem bestimmten Leistungscluster empfangen wird, kann der zentrale Cluster 150 eine Schlafanforderung an einen anderen Leistungscluster senden.
  • Bei einer beispielhaften Ausführungsform kann der zentrale Cluster 150 nach Empfangen einer Schlafanforderung von dem Kern 130 unabhängig von dem Kern 131 arbeiten. Der zentrale Cluster 150 und die Leistungscluster 141 bis 14n steuern die Leistungsdomänenblöcke 131 bis 13n einschließlich dem Kern 131, sodass diese in einen Schlafmodus gehen. Zu dieser Zeit halten der zentrale Cluster 150 und die Leistungscluster 141 bis 14n einen normalen Modus aufrecht. Der zentrale Cluster 150 bestimmt, ob ein Normalereignis erfasst wird.
  • In Schritt S445 wird ein Normalereignis erfasst. Zum Beispiel kann der zentrale Cluster 150 das Normalereignis erfassen. Zum Beispiel kann das Normalereignis einen Zugriff auf einen PIN von Eingabe/Ausgabe-PINs (nicht dargestellt) der integrierten Schaltungsvorrichtung 100 enthalten, der einem normalen Modus entspricht. Das bedeutet, dass ein Zugriff auf einen PIN erzeugt wird, der einem normalen Modus entspricht. Dieser Fall wird durch den zentralen Cluster 150 als ein Normalereignis festgelegt. Zum Beispiel kann ein Steuersignal von einer externen Quelle empfangen werden. Dieser Fall wird durch den zentralen Cluster 150 als ein Normalereignis festgelegt.
  • Zum Beispiel wird das Normalereignis erfasst entsprechend einer Zeit, die abgelaufen ist nachdem die Leistungsdomänenblöcke 131 bis 13n in einen Schlafmodus gegangen sind. Zum Beispiel, wenn die Leistungsdomänenblöcke 131 bis 13n in einen Schlafmodus gehen und eine Zeit vergeht, legt der zentrale Cluster 150 fest, dass ein Normalereignis erfasst wird. Zum Beispiel kann der zentrale Cluster 150 einen Zähler (nicht dargestellt) zum Messen einer Zeit enthalten.
  • In Verfahrensschritt S450 sendet der zentrale Cluster 150 eine Normalanforderung an den ersten Leistungscluster 141. In Verfahrensschritt S455 steuert der erste Leistungscluster 141 den ersten Leistungsdomänenblock 131 derart, dass er in einen normalen Modus geht. Danach sendet der erste Leistungscluster 141 in Verfahrensschritt S460 eine Normalanforderung an den zentralen Cluster 150.
  • In Verfahrensschritt S465 sendet der zentrale Cluster 150 eine Normalanforderung an den zweiten Leistungscluster 142. In Verfahrensschritt S470 steuert der zweite Leistungscluster 142 den zweiten Leistungsdomänenblock 132 derart, dass er in einen normalen Modus geht. Danach sendet der zweite Leistungscluster 142 in Verfahrensschritt S475 eine Normalrückmeldung an den zentralen Cluster 150.
  • Der Einfachheit der Beschreibung halber wird ein Beispiel beschrieben, bei dem der zentrale Cluster 150 eine Normalanforderung an den ersten und den zweiten Leistungscluster 141 und 142 als Antwort auf das Erfassen eines normalen Ereignisses sendet. Aber der zentrale Cluster 150 sendet gemäß Ausführungsformen der Erfindung eine Normalanforderung an die Leistungscluster 141 bis 14n als Antwort auf das Erfassen eines normalen Ereignisses.
  • In Schritt S480 sendet der zentrale Cluster eine Normalrückmeldung an den Kern 131.
  • Wie oben beschrieben, wenn der Kern 131 eine Schlafanforderung an den zentralen Cluster 150 sendet, gehen die Leistungsdomänenblöcke 131 bis 13n einschließlich dem Kern 131 jeweils in einen Schlafmodus gesteuert von dem zentralen Cluster 150. Das bedeutet, dass die integrierte Schaltungsvorrichtung 100 von dem zentralen Cluster 150 gesteuert in einen Schlafmodus geht.
  • Weiter, wenn ein Normalereignis erfasst wird von dem zentralen Cluster 150, gehen die Leistungsdomänenblöcke 131 bis 13n einschließlich dem Kern 131 jeweils von dem zentralen Cluster 150 gesteuert in einen normalen Modus. Das bedeutet, dass die integrierte Schaltungsvorrichtung 100 von dem zentralen Cluster 150 gesteuert in einen normalen Modus geht.
  • 8 ist ein Zustandsübergangsdiagramm, das ein Betriebsverfahren eines zentralen Clusters in 1 gemäß einigen Ausführungsformen der Erfindung zeigt.
  • Bezug nehmend auf die 1, 7 und 8 steuert ein zentraler Cluster 150 eine integrierte Schaltungsvorrichtung 100 derart, dass sie in einen Schlafmodus S21 und in einen normalen Modus S22 geht. Als ein Beispiel steuert der zentrale Cluster 150 eine integrierte Schaltungsvorrichtung 100, sodass diese in einen Schlafmodus S21 und einen normalen Modus S22 geht, als Antwort auf eine Schlafanforderung von einem Kern 131. Wenn ein Normalereignis erfasst wird, steuert der zentrale Cluster 150 eine integrierte Schaltungsvorrichtung 100 derart, dass sie in den normalen Modus S22 geht.
  • Wenn die integrierte Schaltungsvorrichtung 100 derart gesteuert wird, dass sie in einen Schlafmodus S21 geht, steuert der zentrale Cluster 150 sequentiell Leistungscluster 141 bis 14n, so dass die Leistungsdomänenblöcke 131 bis 13n sequentiell in einen normalen Modus gehen.
  • Bei einer beispielhaften Ausführungsform steuert der zentrale Cluster 150 sequentiell die Leistungscluster 141 bis 14n gemäß einer bestimmten Reihenfolge. Zum Beispiel ist der Kern 131 ein Element, das eine Zugriffsanforderung an einen Systembus 110 und andere Leistungsdomänenblöcke 132 bis 13n erzeugt. Wenn eine Zugriffsanforderung von dem Kern 131 ausgegeben wird, wird ein entsprechendes Element in einen normalen Modus gesteuert, obwohl es in einem Schlafmodus ist. Wenn dementsprechend die Vorrichtung 100 in einen Schlafmodus gesteuert wird, steuert der zentrale Cluster 150 den ersten Leistungscluster 141 entsprechend dem Kern 131 vor dem Steuern anderer Leistungscluster 142 bis 14n.
  • Zum Beispiel ist ein Busmaster, wie zum Beispiel eine Eingabe/Ausgabe-Schnittstelle 131 oder eine Speichersteuerung (nicht dargestellt) ein Element, das eine Zugriffsanforderung an den Systembus 110 erzeugt. Wenn eine Zugriffsanforderung von dem Busmaster ausgegeben wird, wird der Systembus 110 in einen normalen Modus gesteuert, selbst wenn er in einem Schlafmodus ist. Dementsprechend, wenn die Vorrichtung 100 in einen Schlafmodus gesteuert ist, steuert der zentrale Cluster 150 den zweiten Leistungscluster 142 entsprechend dem Busmaster (zum Beispiel die Eingabe/Ausgabe-Schnittstelle 132) dem ersten Leistungscluster 141, der dem Kern 131 entspricht, nachfolgend.
  • Zum Beispiel steuert der zentrale Cluster 150 einen Leistungsdomänenblock, der die höhere Zugriffspriorität unter den Leistungsdomänenblöcken besitzt, vor den anderen Leistungsclustern.
  • Wenn die Vorrichtung 100 von einem Schlafmodus S21 in einen normalen Modus S22 gesteuert wird, steuert der zentrale Cluster 150 die Leistungscluster 141 bis 14n sequentiell gemäß einer bestimmten Reihenfolge. Bei einer beispielhaften Ausführungsform ist die Betriebsreihenfolge der Leistungscluster 141 bis 14n, nachdem die Vorrichtung 100 in den normalen Modus S22 gegangen ist, umgekehrt zu einer Betriebsreihenfolge der Leistungscluster 141 bis 14n, nachdem die Vorrichtung 100 in den Schlafmodus S21 gegangen ist.
  • Wie mit Bezug auf 8 beschrieben arbeiten der zentrale Cluster 150 und die Leistungscluster 141 bis 14n selbst in dem Fall, in dem der Kern 131 in einem inaktiven Zustand ist. Dementsprechend sind der zentrale Cluster 150 und die Leistungscluster 141 bis 14n mit von dem Kern 131 unabhängiger Hardware konfiguriert. Zum Beispiel können der zentrale Cluster 150 und die Leistungscluster 141 bis 14n durch eine Zustandsmaschine oder einen Prozessor implementiert sein.
  • 9 ist ein Ablaufdiagramm, das eine weitere Ausführungsform eines Verfahrens darstellt, bei dem an die Leistungsdomänenblöcke gelieferte Leistung gesteuert wird durch Steuern eines zentralen Clusters in 2. Bezug nehmend auf die 1 und 9 sendet ein Kern 131 in Verfahrensschritt S510 eine Aufrechterhaltungsanforderung an den zweiten Leistungscluster 142.
  • In Verfahrensschritt S515 sendet der Kern 131 eine Schlafanforderung an einen zentralen Cluster 150. In Verfahrensschritt S520 sendet der zentrale Cluster 150 eine Schlafanforderung an den ersten Leistungscluster 141. In Verfahrensschritt S525 antwortet der erste Leistungscluster 141 auf die empfangene Schlafanforderung derart, dass er den ersten Leistungsdomänenblock 131 so steuert, dass er in einen Schlafmodus geht. In Verfahrensschritt S530 sendet der erste Leistungscluster 141 eine Schlafanforderung an den zentralen Cluster 150. In Verfahrensschritten S520 bis S530 wird der erste Leistungsdomänenblock 131 derart gesteuert durch den zentralen Cluster 150 und den ersten Leistungscluster 141, dass er in einen Schlafmodus geht.
  • In Verfahrensschritt S535 sendet der zentrale Cluster 150 eine Schlafanforderung an den zweiten Leistungscluster 142. Der zweite Leistungscluster 142 arbeitet ansprechend auf die von dem Kern 131 in Verfahrensschritt S510 empfangene Aufrechterhaltungsanfrage und auf eine von dem zentralen Cluster 150 empfangene Schlafanforderung. Der zweite Leistungscluster 142 ignoriert eine von dem zentralen Cluster 150 empfangene Schlafanforderung als Antwort auf die von dem Kern 131 empfangene Aufrechterhaltungsanforderung. Zum Beispiel sendet der zweite Leistungscluster in Verfahrensschritt S540 eine Schlafanforderung an den zentralen Cluster 150, wobei der normale Modus des zweiten Leistungsdomänenblocks 132 aufrechterhalten wird. Das bedeutet, dass wenn die Vorrichtung 100 derart gesteuert wird, dass sie in einen Schlafmodus geht, zumindest einer der Leistungsdomänenblöcke 131 bis 13n einen normalen Modus aufrechterhält als Antwort auf die Steuerung des Kerns 131.
  • In Verfahrensschritt S545 erfasst der zentrale Cluster 150 ein Normalereignis. In Verfahrensschritt S550 sendet der zentrale Cluster 150 eine Normalanforderung an den ersten Leistungscluster 141. In Verfahrensschritt S555 steuert der erste Leistungscluster 141 den ersten Leistungsdomänenblock 141 als Antwort auf eine Normalanforderung von dem zentralen Cluster 150 so, dass dieser in einen normalen Modus geht. In Verfahrensschritt S560 sendet der erste Leistungscluster 141 eine Normalrückmeldung an den zentralen Cluster 150. In Verfahrensschritten S550 bis S560 wird der erste Leistungsdomänenblock 131 derart durch den zentralen Cluster 150 und den ersten Leistungscluster 141 gesteuert, dass er in einen normalen Modus geht.
  • In Verfahrensschritt S565 sendet der zentrale Cluster 150 eine Normalanforderung an den zweiten Leistungscluster 142. Wie mit Bezug auf den Verfahrensschritt S510 beschrieben, hält der zweite Leistungsdomänenblock 132 weiterhin einen normalen Modus aufrecht gemäß einer Aufrechterhaltungsanforderung. Dementsprechend ignoriert der zweite Leistungscluster 142 eine von dem zentralen Cluster 150 bereitgestellte Normalanforderung. Zum Beispiel führt der zweite Leistungscluster 142 keinen Betrieb gemäß einer von dem zentralen Cluster 150 bereitgestellten Normalanforderung durch und sendet eine Normalrückmeldung an den zentralen Cluster 150.
  • Wie oben beschrieben können die Leistungsdomänenblöcke 131 bis 13n durch die Leistungscluster 141 bis 14n unabhängig gesteuert werden. Jeder Leistungscluster ist derart konfiguriert, dass er eine Steuerfunktion eines entsprechenden Leistungsdomänenblocks besitzt. Aus diesem Grund ist es möglich, die Komplexität und Fläche der Leistungssteuerschaltung 140 zu verringern.
  • Wenn die integrierte Schaltungsvorrichtung 100 derart gesteuert wird, dass sie in einen Schlafmodus oder in einen normalen Modus geht, wird eine Betriebsreihenfolge der Leistungscluster 141 bis 14n gesteuert durch den zentralen Cluster 150. Dementsprechend, wenn ein Leistungsdomänenblock zu der Vorrichtung 100 hinzugefügt wird, ist es unnötig, eine Gesamtkonfiguration der Leistungssteuerschaltung 140 zu korrigieren. In diesem Fall, wenn ein Leistungscluster, der einem zu der Vorrichtung 100 hinzugefügten Leistungsdomänenblock entspricht, zu der Leistungssteuerschaltung 140 hinzugefügt wird, wird der hinzugefügte Leistungsdomänenblock derart gesteuert, dass er in einen Schlaf- oder in einen normalen Modus geht.
  • Weiter, wenn der zentrale Cluster 150 derart aktualisiert wird, dass er eine Betriebsreihenfolge des hinzugefügten Leistungsclusters enthält, wird die Vorrichtung 100 mit dem hinzugefügten Leistungsdomänenblock derart gesteuert, dass er in einen Schlafmodus oder in einen normalen Modus geht. Das bedeutet, dass es möglich ist, die Anpassungsfähigkeit der Leistungssteuerschaltung 140 in der integrierten Schaltungsvorrichtung 100 zu verbessern und die durch die Umgestaltung der Leistungssteuerschaltung 140 verursachte Zeit und Kosten zu verringern.
  • 10 ist ein Blockdiagramm, das eine integrierte Schaltungsvorrichtung gemäß einer weiteren Ausführungsform der Erfindung darstellt.
  • Mit Bezug auf 10 enthält eine integrierte Schaltungsvorrichtung 200 einen Systembus 210, eine Leistungsversorgungsschaltung 220, mehrere Leistungsdomänenblöcke 231 bis 23n, eine Leistungssteuerschaltung 240 und eine Takterzeugungsschaltung 270.
  • Der Systembus 210, die Leistungsversorgungsschaltung 220 und die Leistungsdomänenblöcke 231 bis 23n sind derart konfiguriert, dass sie identisch sind zu Elementen 110, 120 und 131 bis 13n, welche in 1 dargestellt sind, und eine Beschreibung davon wird daher ausgelassen.
  • Die Takterzeugungsschaltung 270 ist derart konfiguriert, dass sie ein Taktsignal erzeugt. Ein durch die Takterzeugungsschaltung 270 erzeugtes Taktsignal wird an jeweilige Elemente der integrierten Schaltungsvorrichtung 200 über den Systembus 210 übertragen. In dem Fall, dass die Takterzeugungsschaltung 270 ein Leistungsdomänenblock ist, kann zumindest einer der Leistungscluster 241 bis 24n der Takterzeugungsschaltung 270 entsprechen.
  • Die Leistungssteuerschaltung 240 enthält mehrere Leistungscluster 241 bis 24n, mehrere Taktcluster 241 bis 24n und einen zentralen Cluster 250.
  • Die Leistungscluster 241 bis 24n entsprechen jeweilig den Leistungsdomänenblöcken 231 bis 23n. Wie mit Bezug auf die 1 bis 9 beschrieben sind die Leistungscluster 241 bis 24n derart konfiguriert, dass sie an die Leistungsdomänenblöcke 231 bis 23n gelieferte Leistung steuern.
  • Die Taktcluster 261 bis 26n entsprechen Taktdomänenblöcken. Bei einer beispielhaften Ausführungsform, in dem Fall, dass die Leistungsdomänenblöcke jeweils Taktdomänenblöcken entsprechen, können die Leistungsdomänenblöcke 231 bis 23n die Taktdomänenblöcke sein. Dabei können die Taktcluster 261 bis 26p jeweils den Taktdomänenblöcken 231 bis 23n entsprechen. Bei einer beispielhaften Ausführungsform ist die Schaltungsvorrichtung 200 unter der Annahme gezeigt, dass Leistungsdomänenblöcke den Taktdomänenblöcken entsprechen. Weiter wird angenommen, dass eine Variable p identisch zu einer Variable n ist.
  • Jeder Taktcluster ist ausgebildet zum unabhängigen Steuern eines an einen entsprechenden Taktdomänenblock gelieferten Taktsignals. Zum Beispiel ist jeder Taktcluster konfiguriert zum Steuern des Lieferns eines Taktsignals als Antwort auf die Steuerung des zentralen Cluster 250 oder eines Kerns 231.
  • Der zentrale Cluster 250 ist konfiguriert zum Steuern der Betriebsreihenfolge der Leistungscluster 241 bis 24n und der Taktcluster 261 bis 26p. Wie mit Bezug auf die 1 bis 9 beschrieben ist der zentrale Cluster 250 konfiguriert zum Steuern einer bestimmten Betriebsreihenfolge der Taktcluster 261 bis 26n und einer bestimmten Betriebsreihenfolge der Leistungscluster 241 bis 24n.
  • 11 ist ein Zustandsübergangsdiagramm, das ein Betriebsverfahren einer Leistungssteuerschaltung aus 10 gemäß einigen Ausführungsformen des Erfindungsgegenstandes darstellt. Bezug nehmend auf die 10 und 11 ist eine Leistungssteuerschaltung 240 konfiguriert zum Steuern einer integrierten Schaltungsvorrichtung 200 derart, dass sie in einen normalen Modus S31, einen ersten Schlafmodus S32 und einen zweiten Schlafmodus S33 geht.
  • Bei einer beispielhaften Ausführungsform wird angenommen, dass das Liefern einer Leistung an den k-ten Leistungsdomänenblock 23k gesteuert wird durch den k-ten Leistungscluster 24k, und dass das Liefern eines Taktsignals an den k-ten Leistungsdomänenblock 26k gesteuert wird durch den k-ten Taktcluster 26k. Der k-te Leistungscluster 24k und der k-te Taktcluster 26k steuern den k-ten Leistungsdomänenblock 23k derart, dass er entweder in den ersten Schlafmodus S32 oder in den zweiten Schlafmodus S33 geht.
  • Wenn der k-te Leistungsdomänenblock 23k in einem normalen Modus S31 ist, steuert der k-te Taktcluster 26k den k-ten Leistungsdomänenblock 23k als Antwort auf die Steuerung eines Kerns 231 derart, dass dieser in den ersten Schlafmodus geht. Zum Beispiel unterbricht der k-te Taktcluster 26k ein durch den k-ten Leistungsdomänenblock 23k geliefertes Taktsignal als Antwort auf die Steuerung des Kerns 231. Nach der Taktsignalunterbrechung geht der k-te Leistungsdomänenblock 23k in den ersten Schlafmodus S32. Zum Beispiel kann der erste Schlafmodus S32 ein Betriebsstoppmodus zum Beenden eines Betriebs gemäß einem Taktsignal sein. Das bedeutet dass in dem ersten Schlafmodus S32 statische Leistungsaufnahme des k-ten Leistungsdomänenblocks 23k erzeugt wird, während dynamische Leistungsaufnahme davon verringert oder verhindert wird.
  • Wenn der k-te Leistungsdomänenblock 23k in dem ersten Schlafmodus S32 ist, steuert der k-te Taktcluster 26k oder der k-te Leistungscluster 24k den k-ten Leistungsdomänenblock 23k derart, dass er in einen normalen Modus S31 geht oder in einen zweiten Schlafmodus S33 geht als Antwort auf die Steuerung des Kerns 231.
  • Zum Beispiel wird das Liefern eines Taktsignals an den k-ten Leistungsdomänenblock 23k von dem k-ten Taktcluster 26k gesteuert wieder aufgenommen. Dies bedeutet, dass der k-te Leistungsdomänenblock 23k in den normalen Modus S31 geht. Ein Betrieb des Lieferns und Unterbrechens eines Taktsignals an den k-ten Leistungsdomänenblock 23k wird identisch zu dem in den 3 bis 6 beschriebenen ausgeführt, mit der Ausnahme, dass das Bereitstellen und Unterbrechen der Leistung ersetzt ist durch Bereitstellen und Unterbrechen des Taktsignals, und eine Beschreibung davon wird deshalb ausgelassen.
  • Liefern von Leistung an den k-ten Leistungsdomänenblock 23k wird, von dem k-ten-Leistungscluster gesteuert, unterbrochen. Dies bedeutet, dass der k-te Leistungsdomänenblock 23k in den zweiten Schlafmodus S33 geht. Während dem zweiten Schlafmodus S33 kann die dynamische Leistungsaufnahme und die statische Leistungsaufnahme des k-ten Leistungsdomänenblocks 23k verringert oder vermieden werden.
  • Wenn der k-te Leistungsdomänenblock 23k in dem zweiten Schlafmodus S33 ist, steuert der k-te Taktcluster 26k den k-ten Leistungsdomänenblock 23k, sodass dieser in den ersten Schlafmodus geht, als Antwort auf die Steuerung des Kerns 231. Z.B. wird das Liefern von Leistung an den k-ten Leistungsdomänenblock 23k, von dem k-ten Leistungscluster 24k gesteuert, wiederaufgenommen. Dies bedeutet, dass der k-te Leistungsdomänenblock 23k in den ersten Schlafmodus S32 geht.
  • Leistungslieferung und -unterbrechung an den k-ten Leistungsdomänenblock 23k kann genauso durchgeführt werden wie in den 3 bis 6 beschrieben, und die Beschreibung davon wird daher ausgelassen.
  • Bei einer beispielhaften Ausführungsform wird angenommen, dass die integrierte Schaltungsvorrichtung 200 durch den zentralen Cluster 250 gesteuert wird. Der zentrale Cluster 250 steuert die integrierte Schaltungsvorrichtung 200 so, dass sie entweder in den normalen Modus S31 oder den ersten Schlafmodus S32 oder den zweiten Schlafmodus S33 geht.
  • Wenn die integrierte Schaltungsvorrichtung 200 in dem normalen Modus S31 ist, steuert der zentrale Cluster 250 die integrierte Schaltungsvorrichtung 200 als Antwort auf die Steuerung des Kerns 231 so, dass diese in den ersten Schlafmodus S32 geht. Zum Beispiel steuert der zentrale Cluster 250 Taktcluster 261 bis 26p gemäß einer bestimmten Reihenfolge. Als Antwort auf die Steuerung des zentralen Clusters 250 können die Taktcluster 261 bis 26p an die Leistungsdomänenblöcke 231 bis 23n gelieferte Taktsignale gemäß einer bestimmten Reihenfolge unterbrechen.
  • Wenn die integrierte Schaltungsvorrichtung 200 in dem ersten Schlafmodus ist, steuert der zentrale Cluster 250 die integrierte Schaltungsvorrichtung 200 so, dass sie in einen normalen Modus S31 oder in den zweiten Schlafmodus S33 geht. Zum Beispiel, steuert der zentrale Cluster 250 die integrierte Schaltungsvorrichtung 200 so, dass sie in den normalen Modus S31 geht, wenn ein Normalereignis erfasst wird. Zum Beispiel steuert der zentrale Cluster 250 die Taktcluster 261 bis 26p gemäß einer bestimmten Reihenfolge. Als Antwort auf die Steuerung des zentralen Clusters 250 nehmen die Taktcluster 261 bis 26p das Liefern des Taktsignals an die Leistungsdomänenblöcke 231 bis 23k wieder auf. Ein Betrieb des Lieferns und Unterbrechens eines Taktsignals an die Leistungsdomänenblöcke 231 bis 23n wird identisch durchgeführt wie in den 7 bis 9 beschrieben, mit der Ausnahme, dass das Liefern und Unterbrechen von Leistung ersetzt wird durch das Liefern und Unterbrechen des Taktsignals, und eine Beschreibung davon wird deshalb ausgelassen.
  • Bei einer beispielhaften Ausführungsform steuert der zentrale Cluster 250 die integrierte Schaltungsvorrichtung 200 so, dass sie in den zweiten Schlafmodus S33 geht, wenn ein Schlafereignis erfasst wird. Zum Beispiel steuert der zentrale Cluster 250 die integrierte Schaltungsvorrichtung 200 so, dass sie in den zweiten Schlafmodus S32 geht, wenn die integrierte Schaltungsvorrichtung 200 in den ersten Schlafmodus S32 geht und eine Zeit verstreicht,. Zum Beispiel steuert der zentrale Cluster 250 die integrierte Schaltungsvorrichtung 200 so, dass sie in den zweiten Schlafmodus S33 geht, als Antwort auf ein externes Steuersignal.
  • Der zentrale Cluster 250 steuert die Leistungscluster 241 bis 24n gemäß einer bestimmten Reihenfolge. Die Leistungscluster 241 bis 24n unterbrechen eine an die jeweiligen Leistungsdomänenblöcke 231 bis 23n gelieferte Leistung gemäß einer bestimmten Reihenfolge.
  • Wenn die integrierte Schaltungsvorrichtung 200 in dem zweiten Schlafmodus S33 ist, steuert der zentrale Cluster 250 die integrierte Schaltungsvorrichtung 200 so, dass diese in den ersten Schlafmodus S32 geht. Zum Beispiel wenn ein Steuersignal von einer externen Quelle empfangen wird oder wenn die integrierte Schaltungsvorrichtung 200 in den zweiten Schlafmodus S33 geht und eine Zeit vergeht, steuert der zentrale Cluster 250 die integrierte Schaltungsvorrichtung 200 so, dass diese in den ersten Schlafmodus S32 geht.
  • Zum Beispiel steuert der zentrale Cluster 250 die Leistungscluster 241 bis 24n gemäß einer bestimmten Reihenfolge. Die Leistungscluster 241 bis 24n nehmen das Liefern von Leistung an die Leistungsdomänenblöcke 231 bis 23n gemäß einer bestimmten Reihenfolge wieder auf. Ein Betrieb des Bereitstellens und Unterbrechens einer Leistung an die Leistungsdomänenblöcke 231 bis 23n wird genauso wie in den 7 bis 9 beschrieben ausgeführt.
  • Wenn bei einer beispielhaften Ausführungsform die integrierte Schaltungsvorrichtung 200 in einem normalen Modus S31 ist, steuert der zentrale Cluster 250 die integrierte Schaltungsvorrichtung 200 als Antwort auf die Steuerung durch den Kern 231 derart, dass diese in den zweiten Schlafmodus S33 geht. Wenn zum Beispiel eine Schlafanforderung von dem Kern 231 empfangen wird, steuert der zentrale Cluster 250 die Taktcluster 261 bis 26n gemäß einer bestimmten Reihenfolge und die Leistungscluster 241 bis 24n gemäß einer bestimmten Reihenfolge.
  • Wenn bei einer beispielhaften Ausführungsform ein Normalereignis erfasst wird, steuert der zentrale Cluster die integrierte Schaltungsvorrichtung 200 derart, dass sie von dem zweiten Schlafmodus S33 in einen normalen Modus S31 geht. Zum Beispiel steuert der zentrale Cluster 250 die Leistungscluster 241 bis 24n gemäß einer bestimmten Reihenfolge. Danach steuert der zentrale Cluster 250 die Taktcluster 261 bis 26n gemäß einer bestimmten Reihenfolge.
  • Das bedeutet, wenn die integrierte Schaltungsvorrichtung 200 derart gesteuert wird, dass sie in einen Schlafmodus geht, dass der erste Schlafmodus S32 ausgelassen werden kann. Wenn die integrierte Schaltungsvorrichtung 200 derart gesteuert wird, dass sie in einen normalen Modus geht, kann der erste Schlafmodus S32 ausgelassen werden. Weiter, wenn die integrierte Schaltungsvorrichtung 200 derart gesteuert wird, dass sie in einen Schlafmodus und in einen normalen Modus geht, kann der erste Schlafmodus S32 ausgelassen werden.
  • Bei einem beispielhaften Ausführungsbeispiel wurde die integrierte Schaltungsvorrichtung 200 unter der Annahme beschrieben, dass die Leistungsdomänenblöcke Taktdomänenblöcke sind. Aber es ist selbstverständlich, dass Leistungsdomänenblöcke getrennt von Taktdomänenblöcken ausgebildet sein können.
  • 12 zeigt ein Blockdiagramm eines SoC gemäß einer beispielhaften Ausführungs der vorliegenden Erfindung. Bezug nehmend auf 12 kann das Ein-Chip-System (SoC) 1010 ein elektronisches Gerät, eine tragbare Kommunikationsvorrichtung und/oder eine Informationstechnologie(IT)-Vorrichtung sein. Das SoC 1010 enthält eine Mehrzahl von Leistungsdomänen 1011 - bis 1011n, wobei n eine natürliche Zahl ist, eine Leistungsversorgungsschaltung 1013 und eine Leistungsverwaltungseinheit PMU 1017.
  • Die Leistungsdomänen 1011-1 bis 1011n, die Leistungsversorgungsschaltung 1013 und die PMU 1017 können alle miteinander durch einen Bus 1015 kommunizieren.
  • Das SoC 1010 kann weiter eine Mehrzahl von Trennschaltungen 1012-1, 1012-2, ... enthalten, die jeweils zwischen der Mehrzahl von Leistungsdomänen 1011-1 bis 1011-n geschaltet sind. Gemäß einer Ausführungsform kann jede von der Mehrzahl von Trennschaltungen 1012-1, 1012-2, ... angeschlossen oder getrennt werden gemäß Registerwerten, die in jeder einer Mehrzahl von Zustandsmaschinen 1019-1 bis 1019-n gespeichert sind. Gemäß einer anderen Ausführungsform kann jede der Mehrzahl von Trennschaltungen 1012-1, 1012-2, ... angeschlossen oder getrennt werden gemäß Registerwerten, die in einer von der Mehrzahl von Zustandsmaschinen 1019-1 bis 1019-n gespeichert sind.
  • Jede der Mehrzahl von Trennschaltungen 1012-1, 1012-2, ... kann innerhalb oder außerhalb jeder der Mehrzahl von Leistungsdomänen 1011-1 bis 1011-n ausgebildet sein. Zum Beispiel kann jede der Mehrzahl von Trennschaltungen 1012-1, 1012-2, ... einen Leckstrompfad unterbrechen oder blockieren, der unter der Mehrzahl von Leistungsdomänen 1011-1 bis 1011-n auftreten kann.
  • Jede der Mehrzahl von Leistungsdomänen 1011-1 bis 1011-n enthält eine Mehrzahl von geistigen Eigentümern (IPs). Hierbei bedeutet IP eine integrierte Schaltungsvorrichtung 1010, z.B. eine Schaltung, eine Logik oder eine Kombination von diesen, die auf dem SoC 1010 integriert sein können. Zusätzlich kann ein Code in der Schaltung oder der Logik gespeichert sein.
  • Zum Beispiel kann IP eine Zentraleinheit (CPU), jeden einer Mehrzahl von in der CPU enthaltenen Kerne, einen Multi-Format-Codec (MFC), ein Videomodul (z.B. eine Kameraschnittstelle, einen Joint-Photographic-Experts-Group(JPEG)-Prozessor, einen Videoprozessor oder einen Mischer usw.), einen 3D-Grafikkern, ein Audiosystem, einen Treiber, einen Displaytreiber, eine flüchtige Speichervorrichtung, einen nichtflüchtigen Speicher, einen Speichercontroller und/oder einen Cache-Speicher enthalten, aber es ist nicht darauf beschränkt.
  • Zum Beispiel kann jede der Mehrzahl von Leistungsdomänen 1011-1 bis 1011-n ein Satz einer Mehrzahl von Anwendungen oder ein Satz einer Mehrzahl von Modulen sein, die eine ähnliche Funktion ausführen können. Die Anwendung oder das Modul können als Hardware und/oder als Software ausgebildet sein.
  • Die Leistungsversorgungsschaltung 1013 empfängt externe Leistung EXPWR, die von außerhalb, z.B. von einer Batterie, geliefert wird, und erzeugt eine Mehrzahl von Leistungssignalen PWR1 bis PWRn.
  • Gemäß einer beispielhaften Ausführungsform kann jedes der Mehrzahl von Leistungssignalen PWR1 bis PWRn an jede der Mehrzahl von Leistungsdomänen 1011-1 bis 1011-n geliefert werden. Gemäß einer anderen beispielhaften Ausführungsform kann jedes der Mehrzahl von Leistungssignalen PWR1 bis PWRn an jedes einer Mehrzahl von IPs geliefert werden, das in jeder der Mehrzahl von Leistungsdomänen 1011-1 bis 1011-n enthalten ist. Dementsprechend kann zumindest ein Leistungssignal an eine Leistungsdomäne geliefert werden.
  • Eine PMU 1017 enthält eine Mehrzahl von Zustandsmaschinen (FSMs) 1019-1 bis 1019-n. Jede der Mehrzahl von Zustandsmaschinen 1019-1 bis 1019-n kann jede von der Mehrzahl an Leistungsdomänen 1011-1 bis 1011-n unabhängig steuern gemäß einer Steuerung einer CPU, z.B. der in einer ersten Leistungsdomäne 1011-1 ausgebildeten CPU, insbesondere gemäß von der CPU ausgegebenen Konfigurationsregisterwerten.
  • Jede der Mehrzahl von Zustandsmaschinen 1019-1 bis 1019-n kann jeden Leistungszustand und/oder jeden Betriebszustand der Mehrzahl von Leistungsdomänen 1011-1 bis 1011-n unabhängig steuern gemäß Konfigurationsregisterwerten, die in einem darin enthaltenen Konfigurationsregister festgelegt sind. Das Konfigurationsregister ist ein Beispiel eines Speichers, der Konfigurationsregisterwerte mit einem oder mehr Bit speichern kann.
  • Zum Beispiel enthalten die Konfigurationsregisterwerte eine Mehrzahl von Bits, und einige von der Mehrzahl von Bits können verwendet werden als Identifikationsbits zum Identifizieren jeder von der Mehrzahl von Zustandsmaschinen 1019-1 bis 1019-n.
  • Hierbei bedeutet ein Leistungszustand einen Einschaltzustand (oder einen Anschaltzustand), einen Abschaltzustand (oder einen Ausschaltzustand), eine Einschaltsequenz (oder eine Anschaltsequenz) oder eine Abschaltsequenz (oder Ausschaltsequenz).
  • Der Einschaltzustand bedeutet einen Zustand, bei dem eine Leistung oder eine Spannung einer Leistungsdomäne derart gesteuert wird, dass z.B. eine Zielleistungsdomäne vollständig eingeschaltet ist. Der Abschaltzustand bedeutet einen Zustand, bei dem eine Leistung einer Zielleistungsdomäne aus ist.
  • Die Einschaltsequenz bedeutet, dass eine Zielleistungsdomäne einen Übergang von dem Abschaltzustand zu dem Einschaltzustand direkt oder durch zumindest einen Zustand macht. Die Abschaltsequenz bedeutet, dass ein Zielleistungsbereich einen Übergang von dem Anschaltzustand zu dem Abschaltzustand direkt oder durch zumindest einen Zustand macht.
  • Wenn zum Beispiel eine erste Leistungsdomäne 1011-1 in einem Einschaltzustand gemäß einer Steuerung einer ersten Zustandsmaschine 1019-1 ist, kann eine zweite Leistungsdomäne 1011-2 eine Abschaltsequenz gemäß einer Steuerung einer zweiten Zustandsmaschine 1019-2 durchführen und eine dritte Leistungsdomäne 1011-3 kann eine Einschaltsequenz gemäß einer Steuerung einer dritten Zustandsmaschine 1019-3 durchführen.
  • Der Betriebszustand kann bestimmt sein in Abhängigkeit davon, ob ein Taktsignal an jedes IP geliefert werden soll, ob Daten zurückgehalten werden sollen, die in einer in jedem IP ausgebildeten Datenspeichervorrichtung gespeichert werden, ob ein Bus von jedem IP verwendet werden soll, ob eine in jedem IP ausgebildete Kontaktstelle isoliert (getrennt) oder verbunden ist, oder ob eine in jedem IP ausgebildete Schnittstelle aktiviert ist und dergleichen.
  • Gemäß einem Ausführungsbeispiel kann der Leistungszustand und der Betriebszustand gesteuert werden durch eine Leistungsdomäne oder durch ein IP, jedoch werden hierbei zum Zwecke der besseren Verständlichkeit der Erklärung beispielhafte Ausführungsformen der Erfindung beschrieben werden, bei denen der Leistungszustand durch eine Leistungsdomäne gesteuert wird und der Betriebszustand durch ein IP gesteuert wird.
  • Wenn jedoch eine in einer Leistungsdomäne enthaltene CPU eine Mehrzahl von Kernen enthält, kann jeder Leistungszustand (z.B. ob eine Leistung geliefert wird oder nicht) und jeder Betriebszustand (z.B. ob zurückgesetzt wird oder nicht) unabhängig durch den Kern gesteuert werden.
  • Zum Beispiel kann eine CPU jeden Betrieb einer Mehrzahl von IPs, die in jeder der Mehrzahl von Leistungsdomänen 1011-1 bis 1011-n enthalten sind, überwachen, z.B. dahingehend, wie viel Leistung jedes IP verbraucht, ob jedes IP einen bestimmten Betrieb durchführt oder ob jedes IP in einem Leerlaufzustand ist, kann Konfigurationsregisterwerte erzeugen, die anzeigen, dass eine Leistungsdomäne, z.B. eine Zielleistungsdomäne, von der Mehrzahl von Leistungsdomänen 1011-1 bis 1011-n gemäß einem Überwachungsergebnis gesteuert werden soll, und kann erzeugte Konfigurationsregisterwerte an die PMU 1017 durch einen Bus 1015 abgeben.
  • Eine Zustandsmaschine, die einen Leistungszustand der Zielleistungsdomäne steuert, kann die von der CPU abgegebenen Konfigurationsregisterwerte interpretieren und einen Leistungszustand der Zielleistungsdomäne durch eine Leistungsdomäne gemäß einem Interpretationsergebnis steuern.
  • Zusätzlich kann die Zustandsmaschine jeden Betriebszustand einer Mehrzahl von IPs, die in der Zielleistungsdomäne enthalten sind, gemäß den Konfigurationsregisterwerten steuern.
  • Gemäß einem Ausführungsbeispiel kann die PMU 1017 weiter eine zentrale Ablaufsteuerung 1021 enthalten, die eine Aktivierungssequenz (oder -reihenfolge) einer Mehrzahl von Zustandsmaschinen 19-1 bis 19-n bestimmt, oder bestimmt, ob die Mehrzahl von Zustandsmaschinen 1019-1 bis 1019-n gemäß zumindest einem zentralen Konfigurationsregisterwert aktiviert werden, der in dem zentralen Konfigurationsregister 2021-1 darin festgelegt ist.
  • Zum Beispiel kann die PMU 1017 gemäß zumindest einem zentralen Konfigurationsregisterwert einen SoC-Ebenen-Leistungssteuerbetrieb durchführen, der einen Leistungszustand jeder Leistungsdomäne 1011-1 bis 1011-n einheitlich steuert, oder einen Domänen-Ebenen-Leistungssteuerbetrieb durchführen, der einen Leistungszustand jeder Leistungsdomäne 1011-1 bis 1011-n unabhängig steuert.
  • Wenn Aktivierung ohne eine bestimmte beispielhafte Ausführungsform bei der vorliegenden Erfindung erwähnt wird, bedeutet die Aktivierung ein bestimmtes Ziel, zum Beispiel einen Zustand oder eine Zustandsmaschine führt eine bestimmte Aktion oder Arbeit durch zum Durchführen eines bestimmten Betriebs, z.B., ob eine Spannung bereitgestellt wird, ob ein Taktsignal bereitgestellt wird, ob Daten zurückgehalten werden, ob getrennt wird oder ob zurückgesetzt wird.
  • Die zentrale Ablaufsteuerung 1021 kann ausgebildet sein in einer Zustandsmaschine mit einer Mehrzahl von Zuständen. Zum Beispiel kann ein Zustand ausgebildet sein in einer Schaltung, einer Logik, einem Code oder einer Kombination von diesen.
  • Eine Aktivierungssequenz oder, ob jeder der Mehrzahl von Zuständen aktiviert wird, kann bestimmt werden in Abhängigkeit von dem zumindest einen zentralen Konfigurationsregisterwert, und eine Aktivierungssequenz oder, ob jede einer Mehrzahl von Zustandsmaschinen, z.B. 1019-1 bis 1019-n, aktiviert wird, kann bestimmt werden in Abhängigkeit von einer Aktivierungssequenz oder davon, ob jeder der Mehrzahl von Zuständen aktiviert wird.
  • Die zentrale Ablaufsteuerung 1021 bestimmt nicht jeden Verfahrensschritt oder das Ergebnis eines Verfahrensschrittes einer Mehrzahl von Zustandsmaschinen 1019-1 bis 1019-n, sondern bestimmt nur eine Aktivierungssequenz oder, ob jede der Mehrzahl von Zustandsmaschinen 1019-1 bis 1019-n aktiviert wird. Dementsprechend kann eine aktivierte Zustandsmaschine nicht irgendeine Aktion oder irgendeinen Arbeitsschritt durchführen.
  • Die zentrale Ablaufsteuerung 1021 kann mit jeder der Mehrzahl von Zustandsmaschinen 1019-1 bis 1019-n durch Handshaking kommunizieren. Die zentrale Ablaufsteuerung 1021 ist verantwortlich für die SoC-Ebenen-Leistungssteuerung, so dass jeder endgültige Zustand der Mehrzahl von Leistungsdomänen 1011-1 bis 1011-n, die unabhängig durch jede der Mehrzahl von Zustandsmaschinen 1019-1 bis 1019-n gesteuert werden, welche gemäß in der zentralen Ablaufsteuerung 1021 gespeicherten zentralen Konfigurationsregisterwerten aktiviert sind, der gleiche ist.
  • Wenn der endgültige Zustand einen endgültigen Zustand einer Zustandsmaschine bedeutet, kann eine dem endgültigen Zustand entsprechende Unterzustandsmaschine eine bestimmte Aktion oder einen bestimmten Arbeitsschritt durchführen oder nicht.
  • Beispielsweise kann der endgültige Zustand ein normaler Betriebszustand, ein Schlafzustand oder ein Tiefstoppzustand sein. Alle der Mehrzahl von Leistungsdomänen 1011-1 bis 1011-n gehen in einem Anschaltzustand in den normalen Betriebszustand. Alle der Mehrzahl von Leistungsdomänen 1011-1 bis 1011-n außer der PMU 1017 gehen in dem Schlafzustand in einen Abschaltzustand. In dem Tiefstoppzustand ist die Lieferung eines Taktsignals an jedes der Mehrzahl von IPs, die in jeder der Mehrzahl von Leistungsdomänen 1011-1 bis 1011-n ausgebildet sind, unterbrochen und an eine CPU gelieferte Leistung geht auch in einen Abschaltzustand.
  • Gemäß einem anderen Ausführungsbeispiel kann die PMU 1017 weiter eine Rücksetz-Ablaufsteuerung 1023 enthalten, die jede Rücksetz-Operation einer Mehrzahl von Zustandsmaschinen steuern kann, die eine Rücksetz-Funktion unter der Mehrzahl von Zustandsmaschinen 1019-1 bis 1019-n und 1021 gemäß einem Rücksetz-Ereignis, z.B. einem Hardware-Reset, einem Software-Reset, einem warmen Reset oder einem Wake-up-Reset.
  • Eine Rücksetz-Ablaufsteuerung 1023 kann ausgebildet sein in einer Zustandsmaschine mit einer Mehrzahl von Zuständen. Wie in 12 dargestellt kann die Rücksetz-Ablaufsteuerung 1023 einen Rücksetzbetrieb jeder Zustandsmaschine 1019-1, 1019-2 und 1021 steuern.
  • Wie in 13 dargestellt enthält eine erste Zustandsmaschine 1019-1 eine Mehrzahl von Unter-Zustandsmaschinen 1019-1 und 1019-2. Wie in 17 dargestellt enthält eine zweite Zustandsmaschine 1019-2 eine Mehrzahl von Unterzustandsmaschinen 1210-1 bis 1210-s und eine Hauptzustandsmaschine 1200, die eine Aktivierungssequenz bestimmt oder bestimmt, ob jede der Mehrzahl von Unterzustandsmaschinen 1210-1 bis 1210-s aktiviert wird, wobei s eine natürliche Zahl ist.
  • Bei einigen Ausführungsformen enthält jede in den vorliegenden Unterlagen beschriebene Zustandsmaschine ein Konfigurationsregister zum Speichern von Konfigurationsregisterwerten, die von der CPU 1111 ausgegeben werden.
  • 13 zeigt ein Blockdiagramm einer ersten Leistungsdomäne und einer ersten Zustandsmaschine, die in 12 dargestellt sind. Bezug nehmend auf die 12 und 13 enthält eine beispielhaft dargestellte erste Leistungsdomäne 1011-1 eine CPU 1111, eine Leistungsleitung 1101 und eine Mehrzahl von Schaltern 1110-1 und 1110-2.
  • Die CPU 1111 enthält eine Mehrzahl von Kernen 1111-1 und 1111-2, und ein Leistungssignal PWR1, das an jeden Kern 1111-1 und 1111-2 geliefert wird, kann unabhängig gesteuert werden gemäß einer Steuerung jeder Unterzustandsmaschine 1119-1 und 1119-2. Zusätzlich kann unabhängig gemäß einer Steuerung jeder Unterzustandsmaschine 1119-1 oder 1119-2 gesteuert werden, ob jeder Kern 1111-1 oder 1111-2 zurückgesetzt wird.
  • Zum Beispiel kann die erste Unterzustandsmaschine 1119-1 ein erstes Schaltsignal SW11 oder ein erstes Rücksetzsignal RLST1 gemäß einem Konfigurationsregisterwert erzeugen, der in einem darin enthaltenen Konfigurationsregister 1120-1 festgelegt ist. Dementsprechend kann der erste Schalter 1110-1 gemäß dem ersten Schaltsignal SW11 Leistung PWR1 an den ersten Kern 1111-1 liefern oder an den ersten Kern 1111-1 gelieferte Leistung PWR1 unterbrechen.
  • Die zweite Unterzustandsmaschine 1119-2 kann ein zweites Schaltsignal SW12 oder ein zweites Rücksetzsignal RST2 gemäß einem Konfigurationsregisterwert erzeugen, der in einem darin enthaltenen Konfigurationsregister 1120-2 festgelegt ist. Dementsprechend kann der zweite Schalter 1110-2 gemäß dem zweiten Schaltsignal SW12 Leistung PWR1 an einen zweiten Kern 1111-2 liefern oder an den zweiten Kern 1111-2 gelieferte Leistung PWR1 unterbrechen.
  • Wenn zum Beispiel ein in einem Konfigurationsregister 1120-1 gespeicherter Konfigurationsregisterwert durch die CPU 1111 auf 0x0 festgelegt wird, wenn ein Leistungszustand sowohl von dem IP 1111-1 als auch von dem IP 1111-2 in einem Einschaltzustand ist, d.h. ein Leistungssignal PWR1 sowohl an das IP 1111-1 als auch an das IP 1111-2 geliefert wird, gibt die erste Unterzustandsmaschine 1119-1 ein Schaltsignal SW11 mit einem hohen Pegel ab. Anschließend wird ein Schalter 1110-1, der als ein PMOS-Transistor ausgebildet ist, ausgeschaltet, so dass ein an einen ersten Kern 1111-1 geliefertes Leistungssignal PWR1 unterbrochen wird.
  • Wenn andererseits ein in einem Konfigurationsregister 1120-1 gespeicherter Konfigurationsregisterwert durch die CPU 1111 auf 0x3 festgelegt wird, wenn ein Leistungszustand von sowohl dem IP 1111-1 als auch dem IP 1111-2 in einem Abschaltzustand ist, d.h. ein Leistungssignal PWR1 nicht an sowohl das IP 1111-1 als auch an das 1111-2 geliefert wird, gibt die erste Unterzustandsmaschine 1119-1 ein Schaltsignal SW11 mit einem geringen Pegel ab. Dementsprechend wird ein als PMOS-Transistor ausgebildeter Schalter 1110-1 eingeschaltet, so dass ein Leistungssignal PWR1 an den ersten Kern 1111-1 geliefert wird.
  • Gemäß einem in einem Konfigurationsregister 1120-2 festgelegten Konfigurationsregisterwert kann eine zweite Unterzustandsmaschine 1119-2 ein Leistungssignal PWR1 an einen zweiten Kern 1111-2 liefern oder das an den zweiten Kern 1111-2 gelieferte Leistungssignal PWR1 unterbrechen.
  • 14 zeigt ein Blockdiagramm der in 12 dargestellten zweiten Leistungsdomäne, 15 zeigt ein Blockdiagramm einer in 14 dargestellten Datenspeichervorrichtung, 16 zeigt ein Blockdiagramm einer in 12 dargestellten Trennschaltung, und 17 zeigt ein Blockdiagramm einer in 12 dargestellten zweiten Zustandsmaschine.
  • Bezug nehmend auf die 14 bis 17 enthält eine beispielhaft dargestellte zweite Leistungsdomäne 1111-2 eine Mehrzahl von ersten Schaltern 1130-1 bis 1130-k, wobei k eine natürliche Zahl ist, eine Mehrzahl von IPs 1140-1 bis 1140-m, wobei m eine natürliche Zahl ist, eine Mehrzahl von zweiten Schaltern 1149-1 bis 1149-m, eine Taktverwaltungseinheit (CMU) 1150 und eine Phasenregelschleife (PLL) 1151.
  • Jeder der Mehrzahl von ersten Schaltern 1130-1 bis 1130-k ist zwischen eine Leistungsleitung 1131-1 und eine gemeinsame Leistungsleitung 1131-2 geschaltet.
  • Wenn zum Beispiel jeder der Mehrzahl von ersten Schaltern 1130-1 bis 1130-k als ein PMOS-Transistor ausgebildet ist, kann jeder der Mehrzahl von ersten Schaltern 1130-1 bis 1130-k ausgeschaltet werden gemäß jedem der Mehrzahl von Schaltsignalen SW31 bis SWk, die in einer Abschaltsequenz von einer ersten Unterzustandsmaschine 1210-1 abgegeben wurden.
  • Das bedeutet, dass jeder Pegel einer Mehrzahl von Schaltsignalen SW31 bis SW3k festgelegt werden kann gemäß Konfigurationsregisterwerten, die in einem in einer ersten Unterzustandsmaschine 1210-1 ausgebildeten Konfigurationsregister festgelegt sind.
  • Bei einer Anschaltsequenz kann jeder der Mehrzahl von ersten Schaltern 1130-1 bis 1130-k eingeschaltet werden gemäß jedem der Mehrzahl von Schaltsignalen SW31 bis SW3k, die von der ersten Unterzustandsmaschine 1210-1 ausgegeben wurden.
  • In anderen Worten kann jeder Pegel der Mehrzahl von Schaltsignalen SW31 bis SW3k bestimmt werden gemäß Konfigurationsregisterwerten, die in einem in der ersten Unterzustandsmaschine 1210-1 ausgebildeten Konfigurationsregister 1211-1 festgelegt sind. Die CPU 1111 kann Konfigurationsregisterwerte, die in dem Konfigurationsregister 1211-1 gespeichert werden sollen, festlegen.
  • Jedes IP 1140-1 bis 1140-m enthält jede interne logische Schaltung 1141-1 bis 1141-m und jede Schnittstelle 1145-1 bis 1145-m. Jede interne logische Schaltung 1141-1 bis 1141-m kann jede Datenspeichervorrichtung 1143-1 bis 1143-m als einen Kern jedes IPs 1140-1 bis 1140-m enthalten.
  • Jede Struktur der Datenspeichervorrichtungen 1143-1 bis 1143-m ist genauso wie in 15 dargestellt. Jede Struktur der Datenspeichervorrichtungen 1143-1 bis 1143-m ist im Wesentlichen untereinander gleich, so dass zur Erleichterung der Erklärung eine Datenspeichervorrichtung 1143-1 dargestellt wird.
  • Jede der Datenspeichervorrichtungen 1143-1 bis 1143-m ist ein Beispiel einer Datenspeichervorrichtung, die eine Funktion des Zurückhaltens von Daten in einer Abschaltsequenz oder einem Abschaltzustand durchführt.
  • Die Datenspeichervorrichtung 1143-1 enthält eine erste Datenspeichervorrichtung 1144-1 und eine zweite Datenspeichervorrichtung 1144-2. Die erste Datenspeichervorrichtung 1144-1 überträgt darin gespeicherte Daten an die zweite Datenspeichervorrichtung 1144-2 gemäß einem von einer dritten Unterzustandsmaschine 1210-3 ausgegebenen Rückhaltsteuersignal RC1. Dementsprechend kann die zweite Datenspeichervorrichtung 1144-2 Daten selbst in einer Abschaltsequenz oder in einem Abschaltzustand halten. Zum Beispiel kann jede Datenspeichervorrichtung 1144-1 oder 1144-2 als ein Auffangregister ausgebildet sein.
  • Ob Daten jeder Datenspeichervorrichtung 1143-1 bis 1143-m zurückgehalten werden, wird bestimmt gemäß einer Aktivierungssequenz oder hängt davon ab, ob jedes einer Mehrzahl der von der dritten Unterzustandsmaschine 1210-3 abgegebenen Steuersignale RC1 bis RCm aktiviert wird. Eine Aktivierungssequenz oder, ob jedes der Mehrzahl von Steuersignalen RC1 bis RCm aktiviert wird, wird entsprechend jedem in einem Konfigurationsregister 1211-3 der dritten Unterzustandsmaschine 1210-3 gespeicherten Konfigurationsregisterwert bestimmt. Die CPU 1111 kann Konfigurationsregisterwerte festlegen, die in einem Konfigurationsregister 1211-3 gespeichert werden sollen.
  • Eine Aktivierungssequenz oder, ob jeder einer Mehrzahl von zweiten Schaltern 1149-1 bis 1149-m aktiviert wird, wird gemäß einer Aktivierungssequenz oder davon abhängig festgelegt, ob jedes einer Mehrzahl der von einer CMU 1150 abgegebenen Steuersignale CT1 bis CTm aktiviert wird. Die CMU 1150 bestimmt eine Aktivierungssequenz oder ob jedes der Mehrzahl von Steuersignalen CT1 bis CTm aktiviert wird gemäß einem von einer zweiten Unterzustandsmaschine 1210-2 abgegebenen Steuersignal CMUC.
  • Gemäß einer beispielhaften Ausführungsform kann eine Aktivierungssequenz oder, ob jeder der Mehrzahl von zweiten Schaltern 1149-1 bis 1149-m aktiviert wird, direkt gemäß der Steuerung der zweiten Unterzustandsmaschinen 1210-2 bestimmt werden.
  • Jeder der Mehrzahl von zweiten Schaltern 1149-1 bis 1149-m kann als ein UND-Gatter ausgebildet sein. Dementsprechend kann jedes UND-Gatter 1149-1 bis 1149-m jedes Taktsignal CLK1 bis CLKm an jedes IP 1140-1 bis 1140-m gemäß einem Pegel jedes Steuersignals CT1 bis CTm liefern oder unterbrechen.
  • Die CMU 1150 kann eine Mehrzahl von Taktsignalen CLK1 bis CLKm gemäß einem von einer PLL 1151 abgegebenen Taktsignal CLK erzeugen. Jedes der Mehrzahl von Taktsignalen CLK1 bis CLKm kann verwendet werden als jedes Betriebstaktsignal der Mehrzahl von IPs 1140-1 bis 1140-m.
  • Jede Schnittstelle 1145-1 bis 1145-m, die in einer Schaltung oder einer Logik ausgebildet sein kann, kann aktiviert oder deaktiviert werden gemäß jedem Steuersignal PC1 bis PCm, die von einer in einer PMU 1117 ausgebildeten Unterzustandsmaschine (nicht dargestellt) ausgegeben werden und einen Betrieb jeder der Schnittstellen 1145-1 bis 1145-m steuern. Eine Aktivierungssequenz oder, ob jedes Steuersignal PC1 bis PCm aktiviert wird, wird bestimmt gemäß jedem Konfigurationsregisterwert, der in einem in der Unterzustandsmaschine ausgebildeten Konfigurationsregister festgelegt ist.
  • Jede der Schnittstellen 1145-1 bis 1145-m kann eine Kontaktstelle sein. Jede Kontaktstelle kann trennen, verbinden oder zurückhalten gemäß jedem der Steuersignale PC1 bis PCm. Darüber hinaus kann jede der Schnittstellen 1145-1 bis 1145-m eine Oszillator-Kontaktstelle sein. Jede Oszillator-Kontaktstelle kann gemäß jedem Steuersignal PC1 bis PCm ein- oder ausgeschaltet werden.
  • Wie in 17 dargestellt enthält die zweite Zustandsmaschine 1019-2 eine Hauptzustandsmaschine 1200 zum Bestimmen einer Aktivierungssequenz oder ob jede einer Mehrzahl von Unterzustandsmaschinen 1210-1 bis 1210-s aktiviert wird. Die Aktivierungssequenz oder ob jede der Mehrzahl von Unterzustandsmaschinen 1210-1 bis 1210-s aktiviert wird, wird bestimmt gemäß in einem Konfigurationsregister 1201 der Hauptzustandsmaschine 1200 festgelegten Konfigurationsregisterwerte. Die CPU 1111 kann Konfigurationsregisterwerte festlegen, die in dem Konfigurationsregister 1201 gespeichert werden sollen.
  • Wie oben beschrieben kommunizieren die Hauptzustandsmaschine 1200 und jede der Mehrzahl von Unterzustandsmaschinen 1210-1 bis 1210-s miteinander durch Handshaking.
  • Die CPU 1111 kann einen Zustand jedes IPs überwachen, das in jeder Leistungsdomäne 1011-1 bis 1011-n enthalten ist, und kann gemäß einem Überwachungsergebnis Konfigurationsregisterwerte erzeugen, die in jedem Konfigurationsregister 1201 und 1211-1 bis 1211-s festgelegt werden sollen.
  • 18 zeigt ein generisches Zustandsdiagramm einer Zustandsmaschine gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung. Bezug nehmend auf 18 enthält das generische Zustandsdiagramm eine Mehrzahl von Zuständen S1001 bis S1023.
  • Bei einigen Ausführungsformen enthält jede in den vorliegenden Unterlagen beschriebene Zustandsmaschine zumindest zwei Zustände unter der Mehrzahl von Zuständen S1001 bis S1023.
  • Jeder Zustand S1001 bis S1023, der in einer Schaltung, einer Logik, einem Code oder einer Kombination von diesen ausgebildet sein kann, steuert einen Betrieb einer unteren Zustandsmaschine, die jedem Zustand S1001 bis S1023 entspricht. Darüber hinaus kann jeder Zustand S1001 bis S1023 ein Anforderungssignal und ein Bestätigungssignal zu/von einer unteren Zustandsmaschine, die jedem Zustand S1001 bis S1023 entsprechen, durch Handshaking senden oder empfangen.
  • Jeder Zustand, z.B. ein Anforderungssignal C1 bis C9, ist ein von einer oberen Zustandsmaschine abgegebenes Signal, und jeder Zustand, z.B. ein Anforderungssignal C11 bis C13, ist ein innerhalb einer Zustandsmaschine erzeugtes Signal.
  • Bezug nehmend auf 18 wird jeder Zustand S1005, S1008, S1011, S1013, S1023, S1020, S1017, S1015 durchgeführt gemäß jedem Anforderungssignal C1 bis C9, das von einer entsprechenden oberen Zustandsmaschine ausgegeben wurde.
  • Eine Rücksetz-Sequenz enthält einen Zustand S1001 bis zu einem Zustand S1003.
  • Wenn zum Beispiel ein Rücksetz-Ereignis C9 in einem Zustand S1001 eingegeben wird, führt eine Rücksetz-Abfolgesteuerung 1023 einen Zustand S1002 und einen Zustand S1003 nacheinander durch. Jeder Zustand S1002 oder S1003 kommuniziert mit jeder unteren Zustandsmaschine durch Handshaking. Dementsprechend geht eine Zielleistungsdomäne durch den Zustand S1002 und den Zustand S1003 in einem Anschaltzustand S1004 über.
  • Die Abschaltsequenz enthält Zustände S 1005 bis S1013. Die Aktivierungssequenz (oder -reihenfolge) oder, ob eine Mehrzahl von Zuständen S1005 bis S1013 aktiviert werden, wird gemäß von einer CPU abgegebenen Konfigurationsregisterwerten bestimmt.
  • Wenn eine Bedingung C1, z.B. ein Abschaltanforderungssignal, von einer oberen Zustandsmaschine an eine Zustandsmaschine mit einem Anschaltzustand S1004 eingegeben wird, geht ein Zustand S1004 in einen Zustand S1005 über. Der Zustand S1005 kommuniziert mit seiner unteren Zustandsmaschine durch Handshaking, und der Zustand S1005 geht in einen Zustand S1006 über gemäß einem Bestätigungssignal, das von der unteren Zustandsmaschine abgegeben wurde. Der Zustand S1006 kommuniziert mit seiner unteren Zustandsmaschine durch Handshaking, und der Zustand S1006 geht in einen Zustand S1007 gemäß einem von der unteren Zustandsmaschine ausgegebenen Bestätigungssignal über.
  • Wenn eine Bedingung C11 auftritt bevor eine Bedingung C2 von einer oberen Zustandsmaschine eingegeben wird, geht der Zustand S1007 nicht in einen Zustand S1008 über, sondern geht in einen Zustand S1021 über. Wenn jedoch eine Bedingung C2 von einer oberen Zustandsmaschine eingegeben wird bevor die Bedingung C11 auftritt, geht der Zustand S1007 in den Zustand S1008 über. Der Anschaltzustand S1004 geht in einen Abschaltzustand S1014 durch eine Mehrzahl von Zuständen S1005 bis S1013.
  • Die Anschaltsequenz enthält Zustände S1015 bis S1023. Eine Aktivierungssequenz oder, ob jeder einer Mehrzahl von Zuständen S1015 bis S1023 aktiviert wird, wird gemäß von einer CPU ausgegebenen Konfigurationsregisterwerten bestimmt.
  • Wenn eine Bedingung C8 von einer oberen Zustandsmaschine eingegeben wird, geht ein Abschaltzustand S1014 in einen Zustand S1015 über, und der Zustand S1015 kommuniziert mit seiner unteren Zustandsmaschine durch Handshaking, und wenn ein Bestätigungssignal von der unteren Zustandsmaschine eingegeben wird, geht der Zustand S1015 in einen Zustand S1016 über. Der Zustand S1016 kommuniziert mit seiner unteren Zustandsmaschine durch Handshaking. Wenn eine Bedingung C7 von einer oberen Zustandsmaschine eingegeben wird, geht der Zustand S1016 in einen Zustand S1017 über, und der Zustand S1017 kommuniziert mit seiner unteren Zustandsmaschine durch Handshaking. Der Zustand S1014 geht durch eine Mehrzahl von Zuständen S1015 bis S1023 in einen Anschaltzustand S1004.
  • Zum Beispiel kann eine einem aktivierten Zustand entsprechende untere Zustandsmaschine eine Aktion oder einen Arbeitsschritt gemäß einem von dem Zustand ausgegebenen Anforderungssignal durchführen oder nicht. Zum Beispiel, obwohl alle Zustände S1005 bis S1013 gemäß Konfigurationsregisterwerten in einer Abschaltsequenz aktiviert werden, könnte eine einem Zustand S1007 entsprechende untere Zustandsmaschine keine Aktion oder keinen Arbeitsschritt durchführen. In diesem Fall geht der Zustand S1007 unmittelbar gemäß einem von der unteren Zustandsmaschine abgegebenen Bestätigungssignal in einen Zustand S1008 über. Das heißt, dass der Zustand S1007 umgangen werden kann. Ein umgangener Zustand oder eine dem umgangenen Zustand entsprechende Zustandsmaschine kann als deaktiviert definiert werden.
  • Zum Beispiel führt eine untere Zustandsmaschine in einem einem Konfigurationsregisterwert „1“ entsprechenden Zustand eine bestimmte Aktion oder einen bestimmten Arbeitsschritt durch, und eine untere Zustandsmaschine in einem Konfigurationsregisterwert „0“ entsprechenden Zustand führt keine Aktion oder keinen Arbeitsschritt durch, eine Aktivierungssequenz oder, ob jeder der Mehrzahl von jedem der Konfigurationsregisterwerte entsprechenden Zustände aktiviert wird, kann bestimmt werden.
  • Wenn zum Beispiel Konfigurationsregisterwerte auf „111111111“ in einer Abschaltsequenz festgelegt werden, wird eine Mehrzahl von Zuständen S1005 bis S1013 nacheinander aktiviert, und dementsprechend kann eine jedem der Mehrzahl von Zuständen S1005 bis S1013 entsprechende untere Zustandsmaschine eine bestimmte Aktion oder einen festen Arbeitsschritt durchführen. Wenn jedoch Konfigurationsregisterwerte auf „101010101“ festgelegt werden, wird jeder Zustand S1006, S1008, S10010 und S10012 umgangen. Das heißt, jeder Zustand S1006, S1008, S10010 und S10012 kann als deaktiviert definiert werden.
  • Wenn gemäß einer beispielhaften Ausführungsform Konfigurationsregisterwerte auf „101010101“ festgelegt sind und eine Aktion oder ein Arbeitsschritt, die/der einem Zustand S1005 entspricht, beendet ist, geht oder springt der Zustand S1005 in einen Zustand S1007, und wenn eine Aktion oder ein Arbeitsschritt, die/der dem Zustand S1007 entspricht, beendet ist, geht der Zustand S1007 in einen Zustand S1009 über. Genauso geht der Zustand S1009 in einen Zustand S1011 und geht der Zustand S1011 in einen Zustand S1013 über. Dementsprechend können Konfigurationsregisterwerte eine Aktivierungssequenz oder, ob jeder der Mehrzahl von Zuständen aktiviert wird, festlegen. Gemäß einer Aktivierungssequenz oder in Abhängigkeit davon, ob jeder der Mehrzahl von Zuständen aktiviert wird, wird eine Aktivierungssequenz oder, ob jede der Mehrzahl von Zustandsmaschinen aktiviert wird, festgelegt.
  • Wie oben beschrieben kann ein einem Konfigurationsregisterwert „1“ entsprechender Zustand oder eine dem Zustand entsprechende Zustandsmaschine als aktiviert definiert werden, und kann ein einem Konfigurationsregisterwert „0“ entsprechender Zustand oder eine dem Zustand entsprechende Zustandsmaschine als deaktiviert definiert werden.
  • 19 zeigt eine Teilmenge gemäß einer beispielhaften Ausführungsform des in 18 dargestellten Zustandsdiagramms. Eine in 19 dargestellte Teilmenge ist ein Zustandsdiagramm einer Zustandsmaschine mit nur zwei Zuständen S1004 und S1014 von einer Mehrzahl von Zuständen S1001 bis S1023, die in dem Zustandsdiagramm aus 18 enthalten sind.
  • Bezug nehmend auf die 12, 13, 17, 18 und 19 enthält jede Unterzustandsmaschine 1119-1 und 1210-1 zwei Zustände 1004 und 1014. Eine Zielleistungsdomäne arbeitet normal in einem Anschaltzustand S1004, und die Zielleistungsdomäne in einem Abschaltzustand S1014 ist in einem Abschaltzustand. Jeder Zustand S1004 oder S1014 geht gemäß jedem Anforderungssignal down_req und up_req über. Eine Quelle jedes Anforderungssignals down req und up req ist jedes Konfigurationsregister 1120-1 und 1211-1.
  • Die zentrale Ablaufsteuerung 1021 ist verantwortlich für die SoC-Ebenen-Leistungssteuerung, und jedes Konfigurationsregister 1120-1 und 1211-1 ist verantwortlich für die Domänen-Ebenen-Leistungssteuerung.
  • 20 zeigt eine Teilmenge gemäß einer anderen beispielhaften Ausführungsform des Zustandsdiagramms aus 18. Eine in 20 dargestellte Teilmenge ist ein Zustandsdiagramm einer Zustandsmaschine mit einer Mehrzahl von Zuständen S1004 bis S1007, S1009, S1014, S 1019 und S 1021 bis S1023 von einer Mehrzahl von Zuständen S1001 bis S1023, die in dem Zustandsdiagramm aus 18 enthalten sind.
  • Bezug nehmend auf 20 gibt es eine Mehrzahl von Zuständen S1005, S1006, S1007 und S1009 zwischen einem Anschaltzustand S1004 und einem Abschaltzustand S1014. Gemäß einem von einer oberen Zustandsmaschine ausgegebenen Anforderungssignal down_req kann der Anschaltzustand S1004 durch eine Mehrzahl von Zuständen S1005, S1006, S1007 und S1009 übergehen in den Abschaltzustand S10014. Das heißt, dass eine Leistungsdomäne oder ein IP mit einem Anschaltzustand S1004 in den Abschaltzustand S1014 durch eine Abschaltsequenz mit der Mehrzahl von Zuständen S1005, S1006, S1007 und S1009 übergehen kann.
  • Gemäß einem von einer oberen Zustandsmaschine ausgegebenen Anforderungssignal up_rep, kann der Abschaltzustand S1004 in den Anschaltzustand S1004 durch eine Mehrzahl von Zuständen S1019, S1021, S1022 und S1023 übergehen. Das heißt, dass eine Leistungsdomäne oder ein IP mit dem Abschaltzustand S1014 in den Anschaltzustand S1004 übergehen kann durch eine Anschaltsequenz mit der Mehrzahl von Zuständen S1019, S1021, S1022 und S1023.
  • 21 zeigt eine Teilmenge gemäß einer weiteren beispielhaften Ausführungsform des Zustandsdiagramms aus 18.
  • Bezug nehmend auf 21 gibt es eine Mehrzahl von Zuständen S1005, S1006, S1007 und S1009 zwischen dem Anschaltzustand S1004 und dem Abschaltzustand S1014. Gemäß einer Mehrzahl von Anforderungssignalen down_req[0] und down_req[1], kann der Anschaltzustand S1004 durch die Mehrzahl der Zustände S1005, S1006, S1007 und S1009 in den Abschaltzustand S1014 übergehen. Das heißt, dass eine Leistungsdomäne oder ein IP mit einem Anschaltzustand S1004 in den Abschaltzustand S1014 übergehen kann durch eine Abschaltsequenz mit der Mehrzahl von Zuständen S1005, S1006, S1007 und S1009. Jedes der Mehrzahl von Anforderungssignalen down req[0] und down_req[1] kann ausgegeben werden von einer identischen oberen Zustandsmaschine oder einer verschiedenen oberen Zustandsmaschine.
  • Zum Beispiel können alle einer Zielleistungsdomäne entsprechende Busmaster deaktiviert werden gemäß einem ersten Anforderungssignal down_req[0], und eine an die Zielleistungsdomäne gelieferte Leistung kann unterbrochen werden gemäß einem zweiten Anforderungssignal down_req[1].
  • Gemäß einer Mehrzahl von Anforderungssignalen up_req[0] und up_req[1], kann der Ausschaltzustand S1014 in den Anschaltzustand S1004 durch eine Mehrzahl von Zuständen S1019, S1021, S1022 und S1023 übergehen. Das heißt, dass eine Leistungsdomäne oder ein IP mit dem Anschaltzustand S1004 übergehen kann in den Abschaltzustand S1014 durch eine Abschaltsequenz mit einer Mehrzahl von Zuständen S1005, S1006, S1007 und S1009. Jedes der Mehrzahl von Anforderungssignalen up_req[0] und up_rep[1] kann ausgegeben werden von einer identischen oberen Zustandsmaschine oder einer verschiedenen oberen Zustandsmaschine.
  • 22 zeigt eine Teilmenge gemäß einem weiteren Ausführungsbeispiel des Zustandsdiagramms aus 18. Bezug nehmend auf die 21 und 22 kann ein in einer Abschaltsequenz enthaltener Zustand S1007 in einem in einer Anschaltsequenz enthaltenen Zustand S1121 übergehen gemäß einer Bedingung C11 bevor ein Abschaltzustand S1014 durch einen Zustand S1009 erreicht wird. In diesem Fall kann eine Leistungsdomäne oder ein IP mit dem Anschaltzustand S1004 in den Anschaltzustand 1004 zurückkehren durch jeden der Zustände S1021, S1022 oder S1023 bevor der Abschaltzustand 1014 erreicht wird.
  • Wie in 22 dargestellt wird die Datenrückhaltung in einer Zielleistungsdomäne, z.B. dem L2-Cache-Speicher einer CPU, durchgeführt gemäß einem ersten Abwärts-Anforderungssignal down_rep[0] und kann eine an die Zielleistungsdomäne, z.B. den L2-Cache-Speicher, gelieferte Leistung unterbrochen werden gemäß einem zweiten Abwärts-Anforderungssignal down_rep[1].
  • 23 zeigt eine Teilmenge gemäß einer weiteren beispielhaften Ausführungsform des Zustandsdiagramms aus 18.
  • Bezug nehmend auf die 22 und 23 führt eine eine Rücksetz-Funktion durchführende Zustandsmaschine eine Rücksetz-Sequenz mit einer Mehrzahl von Zuständen S1002 und S1003 gemäß einem Rücksetz-Anforderungssignal reset_req durch, das von einer oberen Zustandsmaschine ausgegeben wird. Dementsprechend geht eine entsprechende Leistungsdomäne von einem Zustand S1001 in einen Anschaltzustand S1004 gemäß einer Steuerung der oberen Zustandsmaschine.
  • 24 zeigt ein Zustandsdiagramm einer Zustandsmaschine, die ein Rücksetz-Verfahren gemäß einem Ausführungsbeispiel der vorliegenden Erfindung durchführt.
  • Wenn Bezug nehmend auf die 12 und 24 ein Rücksetz-Ereignis auftritt (S1100), steuert eine Rücksetz-Abfolgesteuerung 1023 jedes Rücksetz-Verfahren einer Mehrzahl von Zustandsmaschinen, die eine Rücksetz-Funktion durchführen können unter einer Mehrzahl von Zustandsmaschinen 1011-1 bis 1011-n, gemäß dem Rücksetz-Ereignis.
  • Zum Beispiel kann die Rücksetz-Abfolgesteuerung 1023 als eine Zustandsmaschine ohne Sprung ausgebildet sein. Wie in 24 dargestellt enthält eine ein Rücksetz-Verfahren an einer Zielleistungsdomäne oder einem Ziel-IP durchführende Zustandsmaschine eine Mehrzahl von Zuständen S1110 bis S1150 gemäß einer Steuerung der Rücksetz-Ablaufsteuerung 1023.
  • Während eines Rücksetz-Verfahrens bewirkt die Rücksetz-Abfolgesteuerung 1023 oder eine Rücksetz-Unterzustandsmaschine einer Zustandsmaschine den Bereitschaftszustand einer an einen Oszillator (nicht dargestellt) gelieferten Leistung, wird eine CMU 1150 zurückgesetzt (S1120), wird eine interne logische Schaltung (nicht dargestellt) zurückgesetzt (S1130), wird jeder in einem Speicher enthaltene Unterblock zurückgesetzt (S1141, S1143 und S1145) und wird eine CPU zurückgesetzt (S1150). Dementsprechend geht eine Leistungsdomäne oder ein IP in einen Einschaltzustand (S1160).
  • 25 ist ein Ablaufdiagramm zum Erklären eines Verfahrens des in 12 dargestellten SoC gemäß einigen Ausführungsformen der Erfindung.
  • Bezug nehmend auf die 12 und 25 überwacht eine CPU jeden Betrieb eines IPs, das in jedem einer Mehrzahl von Leistungsdomänen 1011-1 bis 1011-n enthalten ist, und erzeugt Konfigurationsregisterwerte gemäß einem Überwachungsergebnis (S1200).
  • Eine von einer Mehrzahl von Zustandsmaschinen 1019-1 bis 1019-n, die unabhängig jede von der Mehrzahl von Leistungsdomänen 1011-1 bis 1011-n steuern, die jede eine Mehrzahl von IPs enthält, empfängt die von der CPU ausgegebenen Konfigurationsregisterwerte (S1210).
  • Die eine von der Mehrzahl von Zustandsmaschinen steuert einen Leistungszustand und einen Betriebszustand der einen von der Mehrzahl von Leistungsdomänen 1011-1 bis 1011-n gemäß den Konfigurationsregisterwerten (S1220).
  • 26 zeigt konzeptionell eine beispielhafte Ausführungsform einer Mehrzahl von Zustandsmaschinen, die hierarchisch ausgebildet sind. Bezug nehmend auf die 12 und 26 enthält ein SoC 1010 eine Mehrzahl von Leistungsdomänen 1011-1 bis 1011-n, die jede eine Mehrzahl von IPs und eine PMU 1017 enthalten.
  • Die PMU 1017 enthält eine Mehrzahl von Zustandsmaschinen (FSMs) 1021, 1019-1 bis 1019-n, GC1 bis GCp, die hierarchisch ausgebildet sind. 26 stellt eine Mehrzahl von FSMs 1021, 1019-1 bis 1019-n, GC1 bis GCp dar, die der Einfachheit der Beschreibung halber in drei Schichten ausgebildet sind, jedoch sind sie nicht darauf beschränkt.
  • Eine Aktivierungssequenz oder, ob jede der Kind-FSMs 1019-1 bis 1019-n von der Mehrzahl von FSMs 1021, 1019-1 bis 1019-n aktiviert wird, wird bestimmt gemäß ersten Registerwerten, die in einer Eltern-FSM 1021 festgelegt sind, wobei jede der Kind-FSMs 1019-1 bis 1019-n z.B. zu einer zentralen Ablaufsteuerung gehört.
  • Eine Aktivierungssequenz oder, ob jede von Enkelkind-FSM-Gruppen GC1 bis GCp, die zu jedem der Kind-FSMs 1019-1 bis 1019-n gehören, aktiviert wird, wird bestimmt gemäß in jedem der Kind-FSMs 1019-1 bis 1019-n festgelegten zweiten Registerwerten. Jede der Enkelkind-FSM-Gruppen GC1 bis GCp enthält eine Mehrzahl von Enkelkind-FSMs.
  • Jede der Kind-FSMs 1019-1 bis 1019-n steuert jede der Mehrzahl von Leistungsdomänen 1011-1 bis 1011-n unabhängig, und jede der Enkelkind-FSMs, die in jeder der Enkelkind-FSM-Gruppen GC1 bis GCp enthalten ist, steuert einen Leistungszustand und einen Betriebszustand jeder der Mehrzahl von in jedem der Mehrzahl von Leistungsdomänen 1011-1 bis 1011-n enthaltenen IPs.
  • 27 zeigt konzeptionell eine weitere beispielhafte Ausführungsform einer Mehrzahl von Zustandsmaschinen, die hierarchisch angeordnet sind. Bezug nehmend auf die 12, 26 und 27 enthält die PMU 1017 weiter eine Rücksetz-Abfolgesteuerung 1023, die jedes Rücksetz-Verfahren einer Mehrzahl von Zustandsmaschinen 1019-1 und 1019-2 steuert, die eine Rücksetz-Funktion durchführen können unter einer Mehrzahl von Zustandsmaschinen 1019-1 bis 1019-n.
  • Gemäß einem Ausführungsbeispiel kann die Rücksetz-Abfolgesteuerung 1023 ein Rücksetz-Verfahren der zentralen Abfolgesteuerung 1021 steuern.
  • 28 zeigt ein Blockdiagramm oder eine elektronische Vorrichtung mit dem in 12 dargestellten SoC.
  • Bezug nehmend auf die 12 und 28 kann eine elektronische Vorrichtung 1300 in einem Personal Computer (PC), einem Laptopcomputer, einem Mobiltelefon, einem Smartphone, einem Tablet-PC, einem persönlichen digitalen Assistenten (PDA) und/oder einem tragbaren Multimedia-Player (PMP) ausgebildet sein.
  • Die elektronische Vorrichtung 1300 enthält ein SoC 1010 und eine Mehrzahl von Schnittstellen 1311 bis 1323. Eine CPU des SoC 1010 steuert einen allgemeinen Betrieb des SoC 1010.
  • Das SoC 1010 kann durch jede einer Mehrzahl von Schnittstellen 1311 bis 1323 mit jeder einer Mehrzahl von Peripherievorrichtungen kommunizieren. Zum Beispiel kann jede von der Mehrzahl von Schnittstellen 1311 bis 1323 zumindest ein Steuersignal, das von einem entsprechenden IP unter einer Mehrzahl von in jedem der Leistungsdomänen 1011-1 bis 1011-n ausgebildeten IPs abgegeben wird, an jede der Mehrzahl von Peripherievorrichtungen übertragen.
  • Zum Beispiel kann das SoC 1010 durch jede Bildschirmschnittstelle 1311 und 1312 einen Leistungszustand und einen Betriebszustand von jeder Flachbildschirmvorrichtung steuern. Die Flachbildschirmvorrichtung enthält eine Flüssigkristallvorrichtungs(LCD)-Anzeige, eine Leuchtdioden(LED)-Anzeige, eine Organische-Leuchtdioden(OLED)-Anzeige oder eine Aktivmatrix-Organische-Leuchtdioden(AMOLED)-Anzeige.
  • Das SoC 1010 kann einen Leistungszustand und einen Betriebszustand eines Kamerarecorders durch eine Kamerarecorder-Schnittstelle 1013 steuern, kann einen Leistungszustand und einen Betriebszustand eines TV-Moduls durch eine TV-Schnittstelle 1314 steuern und kann einen Leistungszustand und einen Betriebszustand eines Kameramoduls oder eines Bildsensormoduls durch eine Bildsensorschnittstelle 1315 steuern.
  • Das SoC 1010 kann einen Leistungszustand und einen Betriebszustand eines GPS-Moduls durch eine GPS-Schnittstelle 1316 steuern, kann einen Leistungszustand und einen Betriebszustand eines Ultrabreitband(OWB)-Moduls durch eine OWB-Schnittstelle 1317 steuern und kann einem Leistungszustand und einen Betriebszustand eines USB-Laufwerks durch eine USB-Laufwerksschnittstelle 1318 steuern.
  • Das SoC 1010 kann einen Leistungszustand und einen Betriebszustand eines dynamischen Direktzugriffsspeichers (DRAM) durch eine DRAM-Schnittstelle 1319 steuern, kann einen Leistungszustand und einen Betriebszustand einer nicht-flüchtigen Speichervorrichtung, z.B. einen Flash-Speicher, durch eine nicht-flüchtige Speicher-Schnittstelle 1320, z.B. eine Flash-Speicher-Schnittstelle steuern, kann einen Leistungszustand und einen Betriebszustand eines Audio-Moduls durch eine Audio-Schnittstelle 1321 steuern, kann einen Leistungszustand eines MFC durch eine MFC-Schnittstelle 1322 steuern und kann einen Leistungszustand eines MP3-Players durch eine MP3-Player-Schnittstelle 1323 steuern. Hierbei kann ein Modul oder eine Schnittstelle als Hardware oder als Software ausgebildet sein.
  • Das SoC mit einer Mehrzahl von Leistungsdomänen gemäß einem Ausführungsbeispiel der vorliegenden Erfindung kann einen Leistungszustand und einen Betriebszustand jeder der Mehrzahl von Leistungsdomänen unabhängig gemäß Konfigurationsregisterwerten steuern, die in jeder einer Mehrzahl von Zustandsmaschinen festgelegt sind. Deshalb kann das SoC mit geringer Komplexität ausgebildet sein.

Claims (24)

  1. Integrierte Schaltungsvorrichtung mit: einer Mehrzahl von Leistungsdomänenblöcken (131 bis 13n; 231 bis 23n) mit einem Kernleistungsdomänenblock (131; 231) und einer Leistungssteuerschaltung (140; 240), die eingerichtet ist zum unabhängig Steuern von Leistung, welche an jeden einer Mehrzahl von Leistungsdomänenblöcken (131 bis 13n; 231 bis 23n) geliefert wird, als Antwort auf Steuerkommunikation von dem Kernleistungsdomänenblock (131; 231), wobei die Leistungssteuerschaltung (140; 240) eine Mehrzahl von Leistungsclustern (141 bis 14n; 241 bis 24n) aufweist, die jeweils einer Mehrzahl von Leistungsdomänenblöcken (131 bis 13n; 231 bis 23n) entsprechen; wobei die Mehrzahl von Leistungsclustern (141 bis 14n; 241 bis 24n) Leistung, die jeweils an die Mehrzahl von Leistungsdomänenblöcken (131 bis 13n; 231 bis 23n) geliefert wird, unabhängig steuern als Antwort auf die Steuerkommunikation von dem Kernleistungsdomänenblock (131; 231); und wobei die Leistungssteuerschaltung (140; 240) weiter einen zentralen Cluster (150; 250) aufweist, der eingerichtet ist zum Steuern einer Betriebsreihenfolge der Mehrzahl von Leistungsclustern (141 bis 14n; 241 bis 24n) als Antwort auf die Steuerkommunikation von dem Kernleistungsdomänenblock (131; 231).
  2. Integrierte Schaltungsvorrichtung nach Anspruch 1, wobei die Mehrzahl der Leistungscluster (141 bis 14n; 241 bis 24n) dafür eingerichtet sind, jeweils an die Mehrzahl von Leistungsdomänenblöcken (131 bis 13n; 231 bis 23n) gelieferte Leistung zu unterbrechen und die an die Mehrzahl von Leistungsdomänenblöcken (131 bis 13n; 231 bis 23n) gelieferte Leistung fortzusetzen als Antwort auf die Steuerkommunikation von dem Kernleistungsdomänenblock (131; 141)
  3. Integrierte Schaltungsvorrichtung nach Anspruch 1, wobei jeder der Mehrzahl von Leistungsdomänenblöcken (131 bis 13n; 231 bis 23n) eine Trennschaltung (IC1, IC2) aufweist, die dazu eingerichtet ist, den jeweiligen Leistungsdomänenblock (131 bis 13n; 231 bis 23n) elektrisch zu trennen.
  4. Integrierte Schaltungsvorrichtung nach Anspruch 1, wobei der zentrale Cluster (150; 250) dazu eingerichtet ist, zumindest zwei der Mehrzahl von Leistungsclustern (141 bis 14n; 241 bis 24n) gleichzeitig und die verbleibenden der Mehrzahl von Leistungsclustern (141 bis 14n; 241 bis 24n) sequentiell zu steuern.
  5. Integrierte Schaltungsvorrichtung nach Anspruch 1, wobei einer der Mehrzahl von Leistungsclustern (141 bis 14n; 241 bis 24n) dazu eingerichtet ist, ein erstes Steuersignal von dem Kernleistungsdomänenblock (131; 231) und ein zweites Steuersignal von dem zentralen Cluster (150; 250) zu empfangen, und weiter dazu eingerichtet ist, ein Antwortsignal an den zentralen Cluster (150; 250) zu senden als Antwort auf das Empfangen des zweiten Steuersignals, und ansonsten das zweite Steuersignal zu ignorieren.
  6. Integrierte Schaltungsvorrichtung nach Anspruch 1, wobei der zentrale Cluster (150; 250) dazu eingerichtet ist ein erstes Steuersignal an einem ersten der Mehrzahl von Leistungsclustern (141 bis 14n; 241 bis 24n) und ein zweites Steuersignal an einem zweiten der Mehrzahl von Leistungsclustern (141 bis 14n; 241 bis 24n) zu senden bevor eine Antwort von dem ersten der Mehrzahl von Leistungsclustern (141 bis 14n; 241 bis 24n) empfangen wird.
  7. Integrierte Schaltungsvorrichtung nach Anspruch 1, wobei zumindest einer der Mehrzahl von Leistungsdomänenblöcken (131 bis 13n; 231 bis 23n) einer Eingabe/Ausgabe-Schnittstelle entspricht, die für externe Kommunikation eingerichtet ist.
  8. Integrierte Schaltungsvorrichtung nach Anspruch 1, weiter mit einem Systembus (110; 210), der dazu eingerichtet ist, einen Kommunikationskanal zwischen der Mehrzahl von Leistungsdomänenblöcken (131 bis 13n; 231 bis 23n) und der Leistungssteuerschaltung (140; 240) bereitzustellen; wobei einer der Mehrzahl von Leistungsclustern (141 bis 14n; 241 bis 24n) dazu eingerichtet ist, an den Systembus (110; 210) gelieferte Leistung zu steuern.
  9. Integrierte Schaltungsvorrichtung nach Anspruch 1, wobei die Mehrzahl von Leistungsdomänenblöcken (231 bis 23n) jeweils eine Mehrzahl von Taktclustern (261 bis 26p) aufweist, wobei die Mehrzahl von Leistungsclustern (241 bis 24n) dazu eingerichtet ist, jeweils unabhängig eine Mehrzahl von an die Mehrzahl von jeweiligen Taktclustern (261 bis 26p) gelieferte Taktsignale zu steuern als Antwort auf die Steuerkommunikation von dem Kernleistungsdomänenblock (231); wobei die Leistungssteuerschaltung (240) weiter einen zentralen Cluster (250) aufweist, der dazu eingerichtet ist, eine Betriebsreihenfolge der Mehrzahl von Leistungsclustern (241 bis 24n) zu steuern als Antwort auf die Steuerkommunikation von dem Kernleistungsdomänenblock (231).
  10. Ein-Chip-System (SoC) mit: einer Mehrzahl von Leistungsdomänen (1011-1 bis 1011-n), die jeweils eine Mehrzahl von integrierten Schaltungsvorrichtungen (IPs) (1140-1 bis 1140-m) aufweisen; einer Leistungssteuereinheit (1017) mit einer Mehrzahl von Zustandsmaschinen (1019-1 bis 1019-n), die jede einen Leistungszustand und einen Betriebszustand jeder der Mehrzahl von Leistungsdomänen (1011-1 bis 1011-n) unabhängig steuein gemäß Registerwerten, die in einem darin ausgebildeten Register (1020-1, 1020-2) festgelegt sind; und einer zentralen Ablaufsteuerung (1021), die eine Aktivierungssequenz bestimmt oder bestimmt, ob jede der Mehrzahl von Zustandsmaschinen (1019-1 bis 1019-n) aktiviert wird, gemäß zumindest einem zentralen Konfigurationsregisterwert, der in einem darin enthaltenen zentralen Konfigurationsregister (1021-1) festgelegt ist.
  11. Ein-Chip-System (SoC) nach Anspruch 10, wobei jede der Mehrzahl von Zustandsmaschinen (1019-1 bis 1019-n) eine Mehrzahl von Zuständen aufweist, wobei eine Aktivierungssequenz oder, ob jeder der Mehrzahl von Zuständen aktiviert wird, gemäß den Registerwerten bestimmt ist.
  12. Ein-Chip-System (SoC) nach Anspruch 10, wobei jede der Mehrzahl von Zustandsmaschinen (1019-1 bis 1019-n) aufweist: eine Mehrzahl von Unterzustandsmaschinen (1210-1 bis 1210-s), die alle den Leistungszustand und den Betriebszustand unabhängig steuern; und eine Hauptzustandsmaschine (1200), die eine Aktivierungssequenz oder, ob jede der Mehrzahl von Unterzustandsmaschinen (1210-1 bis 1210-s) aktiviert wird, gemäß den darin festgelegten Registerwerten bestimmt.
  13. Ein-Chip-System (SoC) nach Anspruch 10, weiter mit einer Zentraleinheit (CPU), die jeden Betrieb der in jeder der Mehrzahl von Leistungsdomänen (1011-1 bis 1011-n) enthaltenen IPs (1140-1 bis 1140-m) überwacht und die die Registerwerte für eine unter der Mehrzahl von Leistungsdomänen (1011-1 bis 1011-n) zu steuernde Leistungsdomäne gemäß einem Überwachungsergebnis erzeugt.
  14. Ein-Chip-System (SoC) nach Anspruch 10, wobei jeder Endzustand der Mehrzahl von unabhängig von der zentralen Ablaufsteuerung (1201) gesteuerten Leistungsdomänen (1011-1 bis 1011-n) der gleiche ist.
  15. Ein-Chip-System (SoC) nach Anspruch 10, wobei jede der Mehrzahl von Zustandsmaschinen (1019-1 bis 1019-n) den als einen Einschaltzustand, einen Abschaltzustand, eine Einschaltsequenz oder eine Abschaltsequenz definierten Leistungszustand einer Leistungsdomäne (1011-1 bis 1011-n) steuert und den Betriebszustand eines IPs (1140-1 bis 1140-m) steuert.
  16. Ein-Chip-System (SoC) nach Anspruch 10, weiter mit einer Mehrzahl von Trennschaltungen (1012-1, 1012-2), die jede zwischen die Mehrzahl von Leistungsdomänen (1011-1 bis 1011-n) geschaltet sind, wobei jede der Mehrzahl von Trennschaltungen (1012-1, 1012-2) verbunden oder getrennt wird gemäß den in jeder der Mehrzahl von Zustandsmaschinen (1019-1 bis 1019-n) gespeicherten Registerwerten.
  17. Ein-Chip-System (SoC) nach Anspruch 10, wobei jede der Mehrzahl von Zustandsmaschinen (1019-1 bis 1019-n) aufweist: eine erste Unterzustandsmaschine (1211-1) zum Bestimmen des Leistungszustands; und eine zweite Unterzustandsmaschine (1211-2) zum Bestimmen des Betriebszustandes, wobei jede der Mehrzahl von Leistungsdomänen (1011-1 bis 1011-n) aufweist: eine Stromversorgungsleitung (1131-1), die ein entsprechendes Leistungssignal (PWR2) unter einer Mehrzahl von Leistungssignalen (PWR1 bis PWRn) liefert, die von einer Leistungsversorgungsschaltung (1013) abgegeben werden; eine gemeinsame Stromversorgungsleitung (1130-2), mit der eine Mehrzahl von darin enthaltenen IPs (1140-1 bis 1140-m) verbunden sind; eine Mehrzahl von ersten Schaltern (1130-1 bis 1130-k), die jeder zwischen die Stromversorgungsleitung (1131-1) und die gemeinsame Stromversorgungsleitung (1131-2) geschaltet sind und gemäß einer Steuerung der ersten Unterzustandsmaschine (1210-1) geschaltet werden; und eine Mehrzahl von zweiten Schaltern (1149-1 bis 1149-m) zum Liefern jedes einer Mehrzahl von Taktsignalen (CLK1 bis CLKm), die von einer Taktsteuereinheit (1150) abgegeben werden, an jede der Mehrzahl von darin enthaltenen IPs (1140-1 bis 1140-m), wobei gemäß in der ersten Unterzustandsmaschine (1210-1) gespeicherten ersten Schaltregisterwerten (1211-1) bestimmt wird, ob jeder der Mehrzahl von ersten Schaltern (1130-1 bis 1130-k) geschaltet wird. wobei gemäß in der zweiten Unterzustandsmaschine (1210-2) gespeicherten zweiten Schaltregisterwerten (1211-2) bestimmt wird, ob jeder der Mehrzahl von zweiten Schaltern (1149-1 bis 1149-m) geschaltet wird.
  18. Ein-Chip-System (SoC) nach Anspruch 10, wobei eine (1011-1) der Mehrzahl von Leistungsdomänen (1011-1 bis 1011-n) aufweist: eine CPU (1111) mit einem ersten Kern (1111-1) und einem zweiten Kern (1111 - 2), wobei eine Zustandsmaschine (1019-1), die eine der Mehrzahl von Leistungsdomänen (1011-1) steuert, von der Mehrzahl der Zustandsmaschinen (1019-1 bis 1019-n) aufweist: eine erste Unterzustandsmaschine (1119-1), die den Leistungszustand des ersten Kerns (1111-1) und, ob der erste Kern (1111-1) zurückgesetzt wird steuert; und eine zweite Unterzustandsmaschine (1119-2), die den Leistungszustand des zweiten Kerns (1111-2) und, ob der zweite Kern (1111-2) zurückgesetzt wird, steuert.
  19. Ein-Chip-System (SoC) mit: einer Mehrzahl von Leistungsdomänen (1011-1 bis 1011-n), die jede eine Mehrzahl von integrierten Schaltungsvorrichtungen (IPs) (1140-1 bis 1140-m) enthalten, einer Leistungssteuereinheit (1017), die eine Mehrzahl von Zustandsmaschinen (1019-1 bis 1019-n) enthält, die einen Leistungszustand und einen Betriebszustand jeder einer Mehrzahl von Leistungsdomänen (1011-1 bis 1011-n) unabhängig steuern gemäß in einem darin ausgebildeten Register festgelegten Registerwerten; einer zentralen Ablaufsteuerung (1021), die eine Aktivierungssequenz oder, ob jede der Mehrzahl von Zustandsmaschinen (1019-1 bis 1019-n) aktiviert wird, gemäß zumindest einem in einem darin enthaltenen zentralen Konfigurationsregister (1021-1) festgelegten zentralen Konfigurationsregisterwert bestimmt; und einer Reset-Ablaufsteuerung (1023), die jede Reset-Operation einer Mehrzahl von Zustandsmaschinen, die eine Reset-Funktion durchführen, von der Mehrzahl von Zustandsmaschinen (1019-1 bis 1019-n) steuert.
  20. Ein-Chip-System (SoC) mit: einer Mehrzahl von Leistungsdomänen (1011-1 bis 1011-n), die jede eine Mehrzahl von integrierten Schaltungsvorrichtungen (IPs) (1140-1 bis 1140-m) enthalten; und einer Leistungssteuereinheit (1017) mit einer Mehrzahl von Zustandsmaschinen (FSMs) (1021, 1019-1 bis 1019-n, GC1 bis GCp), die hierarchisch ausgebildet sind, wobei eine Aktivierungssequenz oder, ob jede der Kind-FSMs (1019-1 bis 1019-n) von der Mehrzahl von FSMs (1021, 1019-1 bis 1019-n, GC1 bis GCp) aktiviert werden soll, bestimmt wird gemäß ersten Registerwerten, die in einer Eltern-FSM (1021) festgelegt sind, zu der die Kind-FSMs (1019-1 bis 1019-n) gehören; wobei eine Aktivierungssequenz oder, ob jede der zu jeder der Kind-FSMs (1019-1 bis 1019-n) gehörenden Enkel-FSMs (GC1 bis GCp) aktiviert werden soll, bestimmt wird gemäß zweiten Registerwerten, die in jeder der Kind-FSMs (1019-1 bis 1019-n) festgelegt sind, wobei jede der Enkel-FSMs (GC1 bis GCp) unabhängig einen Leistungszustand und einen Betriebszustand jeder der Mehrzahl von IPs (1140-1 bis 1140-m) steuert, die in jeder der Mehrzahl von Leistungsdomänen (1011-1 bis 1011-n) enthalten sind.
  21. Elektronische Vorrichtung mit: einem Ein-Chip-System (SoC) (1010) mit einer Mehrzahl von Leistungsdomänen (1011-1 bis 1011-n), die jede eine Mehrzahl von integrierten Schaltungsvorrichtungen (IPs) (1140-1 bis 1140-m) enthalten; und einer Mehrzahl von Peripherievorrichtungen, die jede gemäß einer jeweiligen Steuerung der Mehrzahl von IPs arbeiten, wobei das SoC (1010) aufweist: eine Leistungssteuereinheit (1017) mit einer Mehrzahl von Zustandsmaschinen (1019-1 bis 1019-n), die jede einen Leistungszustand und einen Betriebszustand jeder der Mehrzahl von Leistungsdomänen (1011-1 bis 1011-n) unabhängig steuern gemäß Registerwerten, die in einem darin ausgebildeten Register festgelegt sind; und eine zentrale Ablaufsteuerung (1021), die eine Aktivierungssequenz oder, ob jede der Mehrzahl von Zustandsmaschinen (1019-1 bis 1019-n) aktiviert werden soll, bestimmt gemäß zumindest einem zentralen Konfigurationsregisterwert, der in einem darin enthaltenen zentralen Konfigurationsregister (1021-1) festgelegt ist.
  22. Mobile Kommunikationsvorrichtung mit: einem Ein-Chip-System (SoC) (1010) mit einer Mehrzahl von Leistungsdomänen (1011-1 bis 1011-n), die jede eine Mehrzahl von integrierten Schaltungsvorrichtungen (IPs) (1140-1 bis 1140-m) enthalten; eine Anzeigevorrichtung, die gemäß einer Steuerung eines einer Mehrzahl von IPs arbeitet, die in einer der Mehrzahl von Leistungsdomänen (1011-1 bis 1011-n) enthalten sind; und einer Speichervorrichtung, die gemäß einer Steuerung eines einer Mehrzahl von IPs arbeitet, die in einer anderen von der Mehrzahl von Leistungsdomänen (1011-1 bis 1011-n) enthalten sind, wobei das SoC (1010) aufweist: eine Leistungssteuereinheit (1017) mit einer Mehrzahl von Zustandsmaschinen (1019-1 bis 1019-n), die jede einen Leistungszustand und einen Betriebszustand jeder der Mehrzahl von Leistungsdomänen (1011-1 bis 1011-n) unabhängig steuern gemäß Registerwerten, die in einem darin ausgebildeten Register festgelegt sind; und eine zentrale Ablaufsteuerung (1021), die eine Aktivierungssequenz oder, ob jede der Mehrzahl von Zustandsmaschinen (1019-1 bis 1019-n) aktiviert werden soll, bestimmt gemäß zumindest einem zentralen Konfigurationsregisterwert, der in einem darin enthaltenen zentralen Konfigurationsregister (1021-1) festgelegt ist.
  23. Verfahren zur Leistungssteuerung eines Ein-Chip-Systems (SoC), aufweisend: Empfangen (S1200) von durch eine CPU erzeugten Konfigurationsregisterwerten durch eine von einer Mehrzahl von Zustandsmaschinen (1019-1 bis 1019-n), die unabhängig jede einer Mehrzahl von Leistungsdomänen (1011-1 bis 1011-n) mit einer Mehrzahl von integrierten Schaltungsvorrichtungen (IPs) steuern; und Steuern (S1220) eines Leistungszustandes einer der Mehrzahl von Leistungsdomänen (1011-1 bis 1011-n) und steuern jedes Betriebszustandes von zumindest zwei in der einen von der Mehrzahl von Leistungsdomänen (1011-1 bis 1011-n) enthaltenen IPs unabhängig gemäß den Konfigurationsregisterwerten durch die eine der Mehrzahl von Zustandsmaschinen (1019-1 bis 1019-n).
  24. Verfahren zur Leistungssteuerung eines Ein-Chip-Systems (SoC) nach Anspruch 23, weiter aufweisend: Bestimmen einer Aktivierungssequenz oder, ob jede der Mehrzahl von Zustandsmaschinen (1019-1 bis 1019-n) aktiviert werden soll, gemäß zumindest einem zentralen Konfigurationsregisterwert, der in einem zentralen Konfigurationsregister (1021-1) einer zentralen Ablaufsteuerung (1021) festgelegt ist.
DE102011050218.1A 2010-05-07 2011-05-09 Ein-Chip-System, Vorrichtungen mit demselben und Verfahren zur Leistungssteuerung des Ein-Chip-Systems Active DE102011050218B8 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20100043070 2010-05-07
KR10-2010-0043070 2010-05-07
KR10-2011-0043094 2011-05-06
KR1020110043094A KR101835615B1 (ko) 2010-05-07 2011-05-06 시스템 온 칩, 이를 포함하는 장치들, 및 상기 시스템 온 칩의 전력 제어 방법

Publications (3)

Publication Number Publication Date
DE102011050218A1 DE102011050218A1 (de) 2012-02-16
DE102011050218B4 true DE102011050218B4 (de) 2020-04-09
DE102011050218B8 DE102011050218B8 (de) 2020-06-10

Family

ID=45393800

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102011050218.1A Active DE102011050218B8 (de) 2010-05-07 2011-05-09 Ein-Chip-System, Vorrichtungen mit demselben und Verfahren zur Leistungssteuerung des Ein-Chip-Systems

Country Status (2)

Country Link
KR (1) KR101835615B1 (de)
DE (1) DE102011050218B8 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102057504B1 (ko) * 2013-07-24 2020-01-22 삼성전자주식회사 어플리케이션 프로세서, 이를 구비하는 모바일 디바이스 및 전력 관리 방법
KR102154080B1 (ko) * 2014-07-25 2020-09-09 삼성전자주식회사 전력 관리 시스템, 이를 포함하는 시스템 온 칩 및 모바일 기기
KR102252643B1 (ko) 2014-10-20 2021-05-17 삼성전자주식회사 시스템 온 칩의 전원 경로 제어기
KR101544466B1 (ko) * 2015-01-29 2015-08-13 (주)에어포인트 휴대용 단말기의 전원회로 제어장치 및 방법
KR102280433B1 (ko) * 2015-09-23 2021-07-22 삼성전자주식회사 전력 공급 회로 및 이를 포함하는 저장 장치
US10642338B2 (en) 2017-09-28 2020-05-05 Intel Corporation Hierarchical power management unit for low power and low duty cycle devices
KR102154245B1 (ko) * 2018-12-07 2020-09-09 한국항공우주연구원 인공위성 내 소프트웨어 기반 재설정 유닛
KR102643031B1 (ko) 2023-09-07 2024-03-04 주식회사 잇다반도체 프로그램 가능 시퀀서와 이를 이용한 시스템 온 칩 장치
KR102643032B1 (ko) 2023-09-19 2024-03-04 주식회사 잇다반도체 전력 제어 시스템 및 이를 포함한 시스템 온 칩 장치
KR102643030B1 (ko) 2023-10-10 2024-03-04 주식회사 잇다반도체 시스템 온 칩 및 멀티 칩 전력 관리 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7369815B2 (en) * 2003-09-19 2008-05-06 Qualcomm Incorporated Power collapse for a wireless terminal

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4181317B2 (ja) * 2000-10-26 2008-11-12 松下電器産業株式会社 集積回路の電力管理システム
JP4713901B2 (ja) * 2005-02-24 2011-06-29 ルネサスエレクトロニクス株式会社 半導体集積回路装置
JP4882303B2 (ja) 2005-07-28 2012-02-22 ソニー株式会社 信号処理回路
JP4581933B2 (ja) * 2005-09-14 2010-11-17 日本電気株式会社 電源供給システム、携帯機器及びそれらに用いる電源投入順序制御方法
JP5104254B2 (ja) * 2007-11-30 2012-12-19 富士通セミコンダクター株式会社 集積回路装置
JP2009237712A (ja) 2008-03-26 2009-10-15 Fujitsu Ltd 回路システムおよびプログラム
KR101044499B1 (ko) 2009-10-21 2011-06-27 한양대학교 산학협력단 도로용 접착 조성물 및 그것을 이용한 접착 시공방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7369815B2 (en) * 2003-09-19 2008-05-06 Qualcomm Incorporated Power collapse for a wireless terminal

Also Published As

Publication number Publication date
DE102011050218A1 (de) 2012-02-16
KR101835615B1 (ko) 2018-03-09
DE102011050218B8 (de) 2020-06-10
KR20110123698A (ko) 2011-11-15

Similar Documents

Publication Publication Date Title
DE102011050218B4 (de) Ein-Chip-System, Vorrichtungen mit demselben und Verfahren zur Leistungssteuerung des Ein-Chip-Systems
JP5875782B2 (ja) システムオンチップ並びにこれを含む電子装置及び携帯用通信装置
DE112007003113B4 (de) Reduzieren von Leerlauf-Verlustleistung in einem integrierten Schaltkreis
DE112008000758B4 (de) Dynamische Stromreduzierung
DE112015006117B4 (de) Halbleiterlaufwerk mit selbstaktualisierungsenergiesparmodus
DE112006003575T5 (de) Verfahren und Vorrichtung für einen Nullspannungs-Prozessorschlafzustand
DE112005003279T5 (de) Energieverwaltungs-Punkt-zu-Punkt Wechselstrom-gekoppeltes Peripheriegerät
DE112019001910T5 (de) Überstromschutz für universal-serial-bus-typ-c(usb-c)-steckverbindersysteme
DE112019002151T5 (de) Stromsteuerung und -schutz für universal-serial-bus-typ-c(usb-c)-verbindersysteme
DE112017004663T5 (de) Mehrfachverbinder-unterstützung für usb-c
DE112007001987T5 (de) Überführen einer Rechenplattform in einen Systemzustand niedriger Leistung
DE202011000745U1 (de) Computer-Hauptplatine zur Reduzierung des Energieverbrauchs im Bereitschaftszustand
DE102014003704A1 (de) Plattform-agnostisches Powermanagement
DE102015202513A1 (de) Vorrichtung und Verfahren zur Datenspeicherung sowie Datenverarbeitungssystem damit
DE112017002457T5 (de) Konfigurierbarer und leistungsoptimierter integrierter Gäte-Treiber für USB-Stromlieferung und SoCs vom Typ C
DE102020116316A1 (de) Prioritätsbasierte batterie-zuordnung für ressourcen während leistungsausfall
DE102011079910A1 (de) Verwalteter Hybridspeicher mit anpassungsfähiger Stromversorgung
DE102015223187A1 (de) Ein-Chip-Systeme zum Steuern von Leistung mittels Auslastungen, Verfahren zum Betreiben dieser, und Computervorrichtungen, die diese umfassen
DE102022104187A1 (de) Verfahren und vorrichtung zum sparen von leistung in usb-repeatern/retimern
DE112019001912T5 (de) Schutz vor umgekehrtem überstrom für universal-serial-bus-typ-c(usb-c)-verbindersysteme
DE102021117226A1 (de) Konfigurierbarer reduzierter speicherstart
DE112020000976T5 (de) Detektion bekannter arbeitslastmuster
DE112017005371B4 (de) Energiesparen eines Prozessors während Warteereignissen
CN103135723A (zh) 计算机系统的电源供应设备及其电源启动顺序控制方法
DE102020128219A1 (de) System, Einrichtung und Verfahren zur Latenzüberwachung und Reaktion

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R083 Amendment of/additions to inventor(s)
R083 Amendment of/additions to inventor(s)
R020 Patent grant now final