DE102013110340A1 - Ein-Chip-System mit der Fähigkeit zum Steuern einer Leistungsversorgung gemäß einer Datentransaktion und Verfahren zum Betreiben desselben - Google Patents

Ein-Chip-System mit der Fähigkeit zum Steuern einer Leistungsversorgung gemäß einer Datentransaktion und Verfahren zum Betreiben desselben Download PDF

Info

Publication number
DE102013110340A1
DE102013110340A1 DE102013110340.5A DE102013110340A DE102013110340A1 DE 102013110340 A1 DE102013110340 A1 DE 102013110340A1 DE 102013110340 A DE102013110340 A DE 102013110340A DE 102013110340 A1 DE102013110340 A1 DE 102013110340A1
Authority
DE
Germany
Prior art keywords
core
power
mode
cores
soc
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.)
Pending
Application number
DE102013110340.5A
Other languages
English (en)
Inventor
Soo Yong KIM
Ju Hwan Kim
Jun Ho Huh
Kee Moon CHUN
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 DE102013110340A1 publication Critical patent/DE102013110340A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • 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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/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/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • 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
    • 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
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

Ein Ein-Chip-System (SoC) (1, 2, 3, 100, 200), welches eine Mehrzahl von Intellectual Properties (IP-Cores) (10-1 bis 10-n) aufweist, welche Daten mit einer Speichervorrichtung (30, 401, 501, 601, 720) kommunizieren, arbeitet mit einer Überwachung, ob eine Datentransaktion zwischen wenigstens einem IP-Core (10-1 bis 10-n) und der Speichervorrichtung (30, 401, 501, 601, 720) auftritt, einem Bestimmen eines Betriebszustandes des IP-Cores (10-1 bis 10-n) gemäß dem Ergebnis der Überwachung und einem Versorgen des IP-Cores (10-1 bis 10-n) mit einer Leistung entsprechend dem Betriebszustand des IP-Cores (10-1 bis 10-n).

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
  • Diese Anmeldung beansprucht die Priorität der koreanischen Patentanmeldung Nr. 10-2012-0107589 , welche am 27. September 2012 eingereicht wurde, deren Offenbarung hiermit durch Bezugnahme in ihrer Gesamtheit mit eingebunden ist.
  • HINTERGRUND
  • Ausführungsformen des erfinderischen Konzepts beziehen sich auf ein Ein-Chip-System (SoC) und genauer auf ein SoC mit der Fähigkeit zum Steuern einer Leistungsversorgung von Intellectual Property Cores (IP Cores) darin, und ein Verfahren zum Betreiben derselben.
  • Ein SoC ist eine Halbleitertechnologie zum Integrieren von komplizierten Komponenten, welche verschiedene Funktionen haben, in ein einzelnes System. Es weist einen Prozessor, welcher das gesamte System steuert, und verschiedene IP-Cores auf, welche durch den Prozessor gesteuert werden. Hier ist ein IP-Core definiert, so dass er eine wiederverwendbare Einheit einer Schaltung, einer Logik, einer Zelle oder einer Kombination davon ist, welche die geistige Seite einer Einheit oder Gruppe von Einheiten verkörpert und welche in dem SoC integriert sein kann. Softwarecode kann in der Schaltung oder der Logik eines IP-Cores gespeichert sein.
  • Mobile Systeme mit einem SoC, welche verschiedene IP-Cores aufweisen, werden normalerweise durch eine Batterie betrieben und demnach ist ein Niedrigleistungs-Design sehr wichtig. Die IP-Cores können gemäß ihrer Funktion in einem normalen Betrieb oder einem Leerlaufzustand sein. Das SoC stellt Leistung für die IP-Cores in einer dynamischen Antwort auf die Umstände zur Verfügung.
  • Um eine Leistungsversorgung bzw. Leistungsaufnahme jedes IP-Cores zu steuern, führt das SoC herkömmlicherweise eine Operation durch, welche einem Zustand entspricht, in welchen das SoC gemäß einem vorgewählten Programm eintritt. Zu dieser Zeit tritt eine zusätzliche Leistungsaufnahme für eine Anpassung und einen Vorgang für die Operation auf. In diesem Fall gibt es eine Grenze für eine Verringerung der Leistungsaufnahme bei einer Verwendung eines Prozessors wie beispielsweise einer zentralen Verarbeitungseinheit (CPU).
  • KURZFASSUNG
  • Gemäß einigen Ausführungsformen des erfinderischen Konzepts ist ein Ein-Chip-System (SoC) vorgesehen, welches mit einer Speichervorrichtung verbunden ist. Das SoC weist eine Mehrzahl von Intellectual Property Cores (IP-Cores), eine Leistungsmanagement-Schaltung, welche konfiguriert ist, um Leistung für die IP-Cores zur Verfügung zu stellen; und eine Transaktionseinheit, welche konfiguriert ist, um die Leistung, welche durch die Leistungsmanagement-Einheit für jeden der IP-Cores zur Verfügung gestellt wird, gemäß einer Datentransaktion zwischen jedem IP-Core und der Speichervorrichtung zu steuern. Die Leistung, welche jedem IP-Core zur Verfügung gestellt wird, kann weiterhin gesteuert werden, so dass sie von Charakteristiken des IP-Cores abhängt.
  • Die Transaktionseinheit kann bestimmen, dass ein IP-Core in einem normalen Betriebsmodus ist, wenn eine Datenübertragung zwischen dem IP-Core und der Speichervorrichtung auftritt, dass der IP-Core in einem Stand-by-Modus ist während einer Zeitdauer von einem Ende des Datentransfers bis zu einem Power-Gating des IP-Cores, dass der IP-Core in einem Schlafmodus ist während einer Zeitdauer von dem Power-Gating des IP-Cores bis zu einer Zeit, wenn die Leistungsversorgung aufgrund des Auftretens eines Datentransfers zwischen dem IP-Core und der Speichervorrichtung wieder aufgenommen wird, und dass der IP-Core in einem Aufwachmodus ist während einer Zeitdauer von dem Start der Wiederaufnahme der Leistungsversorgung bis zu einer Zeit, wenn der IP-Core eine Betriebsleistung für den normalen Betriebsmodus erreicht.
  • Die Transaktionseinheit kann die Betriebsleistung steuern, so dass sie einem IP-Core in dem normalen Operationsmodus zur Verfügung gestellt wird, sie kann eine Stand-by-Leistung steuern, welche geringer ist als die Betriebsleistung, so dass sie dem IP-Core in dem Stand-by-Modus zur Verfügung gestellt wird, sie unterbricht Leistung, welche dem IP-Core zur Verfügung zu stellen ist, in dem Schlafmodus, und sie steuert die Leistung, welche dem IP-Core in dem Aufwachmodus schrittweise zur Verfügung zu stellen ist von keiner Leistung bis hin zu der Betriebsleistung.
  • Die Transaktionseinheit kann eine Zeitdauer des Stand-by-Modus zählen, die gezählte Zeitdauer mit einem vorbestimmten Grenzwert für den IP-Core vergleichen und die Leistungsversorgung zu dem IP-Core steuern, um den IP-Core von dem Stand-by-Modus in den Schlafmodus zu schalten, wenn die gezählte Zeitdauer wenigstens der Grenzwert ist.
  • Die Grenzwerte für zwei oder mehrere der IP-Cores können voneinander unterschiedlich sein gemäß den unterschiedlichen Charakteristiken der IP-Cores.
  • Der Grenzwert für jeden IP-Core kann gewählt sein, um eine Latenz und Leistungsaufnahme dieses IP-Cores zu minimieren.
  • Gemäß anderen Ausführungsformen des erfinderischen Konzepts ist ein SoC vorgesehen, welches mit einer Speichervorrichtung verbunden ist. Das SoC weist eine Mehrzahl von IP-Cores, einen Transaktions-Monitor bzw. Transaktions-Überwachungsvorrichtung, welche(r) konfiguriert ist, um eine Datentransaktion zwischen jedem der IP-Cores und der Speichervorrichtung zu überwachen, einen Zeitdauer-Detektor, welcher konfiguriert ist, um einen Betriebszustand jedes IP-Cores gemäß einem Überwachungsergebnis zu bestimmen, eine Steuereinheit, welche konfiguriert ist, um ein Leistungssteuersignal zu erzeugen, um dem IP-Core eine Leistung entsprechend dem Betriebszustand des IP-Cores zur Verfügung zu stellen, und eine Leistungsmanagement-Schaltung auf, welche konfiguriert ist, um die Leistung dem IP-Core gemäß dem Leistungssteuersignal zu Verfügung zu stellen. Die Leistung, welche jedem IP-Core zur Verfügung gestellt wird, kann weiterhin gesteuert werden, so dass sie von Charakteristiken des IP-Cores abhängt.
  • Der Zeitdauer-Detektor kann bestimmen, dass ein IP-Core in einem normalen Betriebsmodus ist, wenn wenn eine Datenübertragung zwischen dem IP-Core und der Speichervorrichtung auftritt, dass der IP-Core in einem Stand-by-Modus ist während einer Zeitdauer von einem Ende des Datentransfers bis zu einem Power-Gating des IP-Cores, dass der IP-Core in einem Schlafmodus ist während einer Zeitdauer von dem Power-Gating des IP-Cores bis zu einer Zeit, wenn die Leistungsversorgung aufgrund des Auftretens eines Datentransfers zwischen dem IP-Core und der Speichervorrichtung wieder aufgenommen wird, und dass der IP-Core in einem Aufwachmodus ist während einer Zeitdauer von dem Start der Wiederaufnahme der Leistungsversorgung bis zu einer Zeit, wenn der IP-Core eine Betriebsleistung für den normalen Operationsmodus erreicht.
  • Die Steuereinheit kann das Leistungssteuersignal erzeugen, um einem IP-Core die Betriebsleistung in dem normalen Operationsmodus zur Verfügung zu stellen, um eine Stand-by-Leistung geringer als die Betriebsleistung dem IP-Core in dem Stand-by-Modus zur Verfügung zu stellen, um die Leistung zu dem IP-Core in dem Schlafmodus zu unterbrechen und um schrittweise Leistung dem IP-Core von keiner Leistung bis zu der Betriebsleistung in dem Aufwachmodus zur Verfügung zu stellen.
  • Der Zeitdauer-Detektor kann kann eine Zeitdauer des Stand-by-Modus zählen, die gezählte Zeitdauer mit einem vorbestimmten Grenzwert vergleichen, den IP-Core von dem Stand-by-Modus in den Schlafmodus zu schalten, wenn die gezählte Zeitdauer wenigstens der Grenzwert ist und den IP-Core in dem Stand-by-Modus aufrecht erhalten, wenn die gezählte Zeitdauer geringer ist als der Grenzwert.
  • Die Grenzwerte für zwei oder mehrere IP-Cores können voneinander unterschiedlich sein gemäß den unterschiedlichen Charakteristiken der IP-Cores.
  • Der Grenzwert für jeden IP-Core kann gewählt sein, um eine Latenz und Leistungsaufnahme dieses IP-Cores zu minimieren.
  • Gemäß weiteren Ausführungsformen des erfinderischen Konzepts ist ein SoC vorgesehen, welches eine Mehrzahl von IP-Cores aufweist; eine Speichervorrichtung, welche einen Hauptspeicher, einen Speichercontroller, welcher konfiguriert ist, um den Hauptspeicher zu steuern, und einen Speicherbus, welcher konfiguriert ist, um den Speichercontroller und die IP-Cores zu koppeln, um Daten zwischen dem Hauptspeicher und den IP-Cores zu transferieren bzw. übertragen; ein Service-Qualitätsverbesserer (QoS = Quality-of-Service), welcher konfiguriert ist, um eine Datentransaktion, welche in dem Speicherbus zwischen den IP-Cores und dem Hauptspeicher auftritt, zu überwachen, und um die Daten in einer vorbestimmten Prioritäts-Order zuzuführen und auszugeben; einen Zeitdauer-Detektor, welcher konfiguriert ist, um einen Betriebszustand jedes der IP-Cores gemäß einem Überwachungsergebnis zu bestimmen, welches anzeigt, ob die Datentransaktion hinsichtlich des besagten jeden IP-Cores aufgetreten ist; eine Steuereinheit, welche konfiguriert ist, um ein Leistungssteuersignal zu erzeugen, um jeden IP-Core mit einer Leistung entsprechend dem Betriebszustand des IP-Cores zu versorgen; und eine Leistungsmanagement-Schaltung aufweist, welche konfiguriert ist, um die Leistung dem IP-Core gemäß dem Leistungssteuersignal zur Verfügung zu stellen.
  • Die Leistungsmanagement-Einheit kann weiterhin konfiguriert sein, so dass sie der Speichervorrichtung Leistung zur Verfügung stellt.
  • Gemäß anderen Ausführungsformen des erfinderischen Konzepts ist ein Verfahren zum Betreiben eines SoC vorgesehen, welches zwischen einer Mehrzahl von Intellectual Properties (IPs) und einer Speichervorrichtung verbunden ist. Das Verfahren weist ein Überwachen auf, ob eine Datentransaktion zwischen wenigstens einem der IP-Cores und der Speichervorrichtung auftritt, ein Bestimmen eines Betriebszustandes des IP-Cores gemäß einem Überwachungsergebnis und ein Versorgen des IP-Cores mit einer Leistung entsprechend dem Betriebszustand und den Charakteristiken des IP-Cores.
  • Gemäß noch anderen Ausführungsformen des erfinderischen Konzepts ist ein Verfahren zum Betreiben einer Vorrichtung vorgesehen, welche wenigstens zwei Intellectual Property Cores (IP-Cores) aufweist, welche mit einer Speichervorrichtung kommunizieren können. Das Verfahren weist Folgendes auf: ein Überwachen von Datentransaktionen zwischen jedem der IP-Cores und der Speichervorrichtung; ein Bestimmen eines Zustands jedes der IP-Cores in Antwort auf die überwachten Datentransaktionen; und ein individuelles Steuern von Leistung, welche jedem der IP-Cores zur Verfügung gestellt wird gemäß deren jeweiligen Zuständen.
  • Ein Bestimmen des Zustands jedes der IP-Cores kann für jeden IP-Core ein Bestimmen aufweisen ob er in einem Betriebszustand ist, ob er in einem Stand-by-Zustand ist, ob er in einem Schlafzustand ist und ob er in einem Aufwachzustand ist.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die obigen und andere Merkmale und Vorteile des erfinderischen Konzepts werden deutlicher werden durch ein Beschreiben von beispielhaften Ausführungsformen davon im Detail unter Bezugnahme auf die beigefügten Zeichnungen, in welchen:
  • 1 ein Blockschaltbild eines Ein-Chip-Systems (SoC = System-on-Chip) gemäß einigen Ausführungsformen des erfinderischen Konzepts ist;
  • 2 ein Blockschaltbild eines SoC gemäß anderen Ausführungsformen des erfinderischen Konzepts ist;
  • 3 ein Blockschaltbild eines SoC gemäß weiteren Ausführungsformen des erfinderischen Konzepts ist;
  • 4 ein Diagramm der Betriebszustände jedes von Intellectual Properties (Ips) ist, welche in 1 veranschaulicht sind;
  • 5 ein Zeitdiagramm der Leistungsaufnahme hinsichtlich Zuständen, welche in 4 veranschaulicht sind, ist;
  • 6 ein Flussdiagramm eines Leistungssteuerungs-Verfahrens eines SoC gemäß einigen Ausführungsformen des erfinderischen Konzepts ist;
  • 7 ein Graph ist, welcher eine Leistungsaufnahme und eine Latenz hinsichtlich einer Grenzwertzeit in einem SoC gemäß einigen Ausführungsformen des erfinderischen Konzepts zeigt;
  • 8 ein Flussdiagramm eines Leistungssteuerungs-Verfahrens eines SoC gemäß anderen Ausführungsformen des erfinderischen Konzepts ist;
  • 9 ein Blockschaltbild eines elektronischen Systems ist, welches ein SoC gemäß einigen Ausführungsformen des erfinderischen Konzepts aufweist; und
  • 10 ein Blockschaltbild eines elektronischen Systems ist, welches ein SoC gemäß einigen Ausführungsformen des erfinderischen Konzepts aufweist;
  • 11 ein Blockschaltbild eines Computersystems ist, welches ein SoC gemäß einigen Ausführungsformen des erfinderischen Konzepts aufweist;
  • 12 ein Blockschaltbild eines Computersystems ist, welches ein SoC gemäß einigen Ausführungsformen des erfinderischen Konzepts aufweist;
  • 13 ein Blockschaltbild eines Speichersystems ist, welches ein SoC gemäß einigen Ausführungsformen des erfinderischen Konzepts aufweist;
  • 14 ein Blockschaltbild eines elektronischen Systems ist, welches ein SoC gemäß einigen Ausführungsformen des erfinderischen Konzepts aufweist.
  • DETAILLIERTE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
  • Das erfinderische Konzept wird nun vollständiger hierin nachstehend unter Bezugnahme auf die beigefügten Zeichnungen beschrieben werden, in welchen Ausführungsformen gezeigt sind. Diese Erfindung kann jedoch in vielen unterschiedlichen Formen ausgeführt werden und sollte nicht auf die Ausführungsformen, welche hierin erläutert werden, beschränkt angesehen werden. Vielmehr sind diese Ausführungsformen vorgesehen, sodass diese Offenbarung gewissenhaft und vollständig sein wird und den Umfang der Erfindung Fachleuten vollständig vermitteln wird. In den Zeichnungen können die Dicken von Schichten und Bereichen für die Klarheit überhöht sein. Gleich Bezugszeichen in den Zeichnungen bezeichnen durchwegs gleiche Elemente.
  • Es wird verstanden werden, dass wenn auf ein Element Bezug genommen wird als „verbunden mit” oder „gekoppelt mit” einem anderen Element, es direkt mit dem anderen Element verbunden oder gekoppelt sein kann, oder dass dazwischenliegende Elemente gegenwärtig sein können. Im Gegensatz dazu sind, wenn auf ein Element Bezug genommen wird als „direkt verbunden mit” oder „direkt gekoppelt mit” einem anderen Element, keine dazwischenliegenden Elemente vorhanden. Wenn hierin verwendet, schließt der Begriff „und/oder” eine beliebige und alle Kombinationen eines oder mehrerer der zugeordneten aufgelisteten Gegenstände ein und kann als „/” abgekürzt werden.
  • Es wird verstanden werden, dass, obwohl die Wortlaute „erster/erste/erstes”, „zweiter/zweite/zweites”, etc. hierin verwendet werden können, um verschiedene Elemente zu beschreiben, diese Elemente durch diese Wortlaute nicht beschränkt werden sollten. Diese Wortlaute werden lediglich verwendet, um ein Element von einem anderen zu unterscheiden. Beispielsweise könnte ein erstes Signal als ein zweites Signal bezeichnet werden, und ähnlich könnte ein zweites Signal als ein erstes Signal bezeichnet werden, ohne von den Lehren der Offenbarung abzuweichen.
  • Die Terminologie, welche hierin verwendet wird, ist nur zum Zwecke des Beschreibens bestimmter Ausführungsformen und ist nicht vorgesehen, um für die Erfindung beschränkend zu sein. Wenn hierin verwendet, sind die Singularformen „einer/eine/eines” und „der/die/das” vorgesehen, um ebenso die Pluralformen zu umfassen, sofern der Kontext bzw. Zusammenhang nicht deutlich Anderes anzeigt. Es wird weiterhin verstanden werden, dass die Wortlaute „weist auf”, „aufweisend”, „schließt ein” und/oder „einschließlich”, wenn sie hierin verwendet werden, die Anwesenheit von genannten Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen und/oder Komponenten bzw. Bestandteilen spezifizieren, jedoch die Anwesenheit oder Hinzufügung von einem oder mehreren anderen Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen, Komponenten bzw. Bestandteilen und/oder Gruppen davon nicht ausschließen.
  • Solange nicht anderweitig definiert haben alle Begriffe (einschließlich technischer und wissenschaftlicher Begriffe), welche hierin verwendet werden, dieselbe Bedeutung wie allgemein durch einen Fachmann verstanden wird, zu dessen Fachbereich diese Erfindung gehört. Es wird weiterhin verstanden werden, dass Begriffe wie diejenigen, welche in herkömmlich verwendeten Wörterbüchern definiert sind, als eine Bedeutung habend interpretiert werden sollten, welche konsistent mit ihrer Bedeutung im Zusammenhang des relevanten Standes der Technik und/oder der vorliegenden Anmeldung ist, und nicht in einem idealisierten oder übermäßig formalen Sinne interpretiert werden solange nicht ausdrücklich hierin definiert.
  • 1 ist ein Blockschaltbild eines Ein-Chip-Systems (SOC = System-on-Chip) 1 gemäß einigen Ausführungsformen des erfinderischen Konzepts. Das SoC 1 weist eine Mehrzahl von Intellectual Property Cores (IP-Cores) 10-1 bis 10-n, eine Transaktionseinheit 100 und eine Leistungsmanagement-Einheit 20 auf. In einigen Ausführungsformen ist, wie untenstehend beschrieben ist, die Leistungsmanagement-Einheit 20 als eine integrierte Leistungsmanagement-Schaltung (PMIC = Power Management Integrated Circuit) 20 realisiert, welche dem Durchführen der Leistungsmanagement-Funktion(en) wie hierin beschrieben, gewidmet ist, und zur Konsistenz der Erklärung wird nachstehend hierauf Bezug genommen werden als PMIC 20. Das SoC 1 ist mit einer Speichervorrichtung 30 verbunden und kommuniziert Daten mit der Speichervorrichtung 30 in Antwort auf wenigstens eine Anfrage eines Host oder der IP-Cores 10-1 bis 10-n.
  • Jeder der IP-Cores 10-1 bis 10-n kann ein Prozessor sein, welcher ein gesamtes System steuert oder ein IP-Core 10, welcher durch den Prozessor gesteuert wird. Der IP-Core kann eine zentrale Verarbeitungseinheit (CPU = Central Processing Unit), einer der Cores, welcher in der CPU enthalten ist, eine Graphik-Verarbeitungseinheit (GPU = Graphics Processing Unit), ein Multiformat-Codec (MFC = Multi-Format-Codec), ein Videomodul (beispielsweise eine Kamera-Schnittstelle, ein Joint Photographic Experts Group(JPEG)-Prozessor, ein Videoprozessor oder ein Mischer bzw. Mixer), ein Audiosystem, ein Treiber, ein Anzeigetreiber, eine flüchtige Speichervorrichtung, eine nichtflüchtige Speichervorrichtung, ein Speichercontroller, ein Cache-Speicher, ein serieller Port, ein System-Timer, ein Watchdog-Timer, ein Analog-Digital-Wandler etc. sein. Da jeder IP-Core 10 eine unterschiedliche Leistungsaufnahme gemäß seinen Charakteristiken hat, sieht die PMIC20 verschiedene Leistungen P1 bis Pn für die jeweiligen IP-Cores 10-1 bis 10-n gemäß ihren jeweiligen Charakteristiken vor.
  • Die Transaktionseinheit 100 ist zwischen IP-Cores 10-1 bis 10-n und der Speichervorrichtung 30 positioniert, um zu überwachen, ob eine beliebige Datentransaktion zwischen jedem IP-Core und der Speichervorrichtung 30 auftritt. Die Transaktionseinheit 100 steuert die Leistungen P1 bis Pn, welche den jeweiligen IP-Cores 10-1 bis 10-n gemäß einem Betriebszustand zwischen jedem der IP-Cores 10-1 bis 10-n und der Speichervorrichtung 30 und den Charakteristiken jedes IP-Cores 10 (beispielsweise ob Daten intermittierend übertragen werden und einer Leistungsversorgungs-Charakteristik) basierend auf einem Überwachungsergebnis zur Verfügung gestellt werden.
  • Beispielsweise kann die Transaktionseinheit 100 bestimmen, dass ein IP-Core 10-k in einem normalen Betriebszustand oder -Modus ist, wenn eine Datenübertragung zwischen dem IP-Core 10-k und der Speichervorrichtung 30 auftritt. Zusätzlich kann die Transaktionseinheit 100 bestimmen, dass der IP-Core 10-k in einem Stand-by-Zustand oder -Modus ist während einer Zeitdauer von dem Ende der Datenübertragung bis zu dem Power-Gating des IP-Cores 10-k, dass der IP-Core 10-k in einem Schlafzustand oder -Modus ist während einer Zeitdauer von dem Power-Gating des IP-Cores 10-k bis zu einer Zeit, wenn die Leistungsversorgung aufgrund des Auftretens einer Datenübertragung, d. h. einer neuen Datentransaktion zwischen dem IP-Core 10-k und der Speichervorrichtung 30, wieder aufgenommen wird, und dass der IP-Core 10-k in einem Aufwachzustand oder -Modus ist während einer Zeitdauer von dem Beginn der Leistungsversorgung aufgrund der neuen Datentransaktion bis zu einer Zeit, wenn eine Betriebsleistung für den normalen Betriebsmodus in dem IP-Core 10-k erreicht ist.
  • Die PMIC20 ist mit den anderen Elementen 10-1 bis 10-N, 100 und 30 verbunden und versorgt sie mit Leistung, welche ihrem Betrieb und oder ihren Charakteristiken entspricht. Im Detail stellt die PMIC20 dem IP-Core 10-k eine Leistung Pk, der Transaktionseinheit 100 eine Leistung PT und der Speichervorrichtung 30 eine Leistungs PM zur Verfügung. Insbesondere stellt die PMIC20 den jeweiligen IP-Cores 10-1 bis 10-n die Leistungen P1 bis Pn gemäß der Steuerung der Transaktionseinheit 100 zur Verfügung. Zu dieser Zeit kann die Leistung, welche jedem Element zur Verfügung gestellt wird, unter Verwendung einer Technik wie beispielsweise einem dynamischen Spannungsfrequenz-Skalieren (DVFS = Dynamic Voltage Frequency Scaling), einem Clock-Gating oder einem Power-Gating gesteuertt werden. Für Zwecke der Vereinfachung der Beschreibung wird eine Leistungsversorgungs-Steuerung nur während Zeitdauern anders als der Zeitdauer des normalen Betriebszustandes oder -Modus, in welchem die PMIC20 DVFS verwendet, in den Ausführungsformen des erfinderischen Konzepts untenstehend beschrieben werden.
  • Die PMIC20 kann einem IP-Core 10 einen Betriebsleistungspegel in dem normalen Operationszustand oder -Modus gemäß der Steuerung der Transaktionseinheit 100 zur Verfügung stellen und kann dem IP-Core 10 einen Stand-by-Leistungspegel, welcher geringer ist als die Betriebsleistung, in dem Stand-by-Zustand oder -Modus gemäß der Steuerung der Transaktionseinheit 100 zur Verfügung stellen. Die PMIC20 mag dem IP-Core 10 in dem Schlafzustand oder -Modus gemäß der Steuerung der Transaktionseinheit 100 keine Leistung zur Verfügung stellen, und kann dem IP-Core 10 aus einem Zustand des Schlafmodus schrittweise Leistung zur Verfügung stellen bis der IP-Core 10 die Betriebsleistung in dem Aufwachzustand oder -Modus gemäß der Steuerung der Transaktionseinheit 100 erreicht.
  • Alternativ kann die Transaktionseinheit eine Zeitdauer des Stand-by-Zustands oder -Modus des IP-Cores 10 zählen und die gezählte Zeitdauer mit einem vorbestimmten Grenzwert vergleichen. Wenn die gezählte Zeitdauer größer ist als der Grenzwert, kann die Transaktionseinheit 100 die PMIC20 steuern, so dass der IP-Core 10 von dem Stand-by-Zustand oder -Modus zu dem Schlafzustand oder -Modus schaltet.
  • Die Speichervorrichtung 30 ist eine Speichervorrichtung zum Speichern von Daten und kann ein Betriebssystem (OS = Operating System), verschiedene Programme und verschiedene Typen von Daten speichern. Die Speichervorrichtung 30 kann ein dynamischer Direkt-Zugriffsspeicher (DRAM = Dynamic Random Access Memory) sein, ist jedoch nicht hierauf beschränkt. Beispielsweise kann die Speichervorrichtung 30 eine nichtflüchtige Speichervorrichtung wie beispielsweise ein Flashspeicher, ein Phasenübergangs-RAM (PRAM = Phase-Change RAM), ein Magnetwiderstands-RAM (MRAM = Magneto Resistive RAM), ein Widerstands-RAM (Re-RAM = Resistive RAM) oder ein ferroelektrischer RAM (FRAM = Ferro Electric RAM) sein. In anderen Ausführungsformen kann die Speichervorrichtung 30 in dem SoC 1 eingebettet sein. Die Speichervorrichtung 30 kann von der PMIC20 mit Leistung versorgt werden und kann Daten DTk über die Transaktionseinheit ohne Intervention einer CPU übertragen und empfangen.
  • 2 ist ein Blockschaltbild eines SoC 2 gemäß anderen Ausführungsformen des erfinderischen Konzepts. Zum Zweck der Vereinfachung in der Beschreibung werden hauptsächlich Unterschiede von den Ausführungsformen, welche in 1 veranschaulicht sind, beschrieben werden.
  • Bezug nehmend auf 2 kann das SoC 2 eine Mehrzahl von IP-Cores 10-1 bis 10-n, eine Transaktionseinheit 100' und eine PMIC20 aufweisen. Das SoC 2 kann mit einer Speichervorrichtung 30 verbunden sein.
  • Die Transaktionseinheit 100' weist einen Transaktions-Monitor 110, einen Zeitdauer-Detektor 120 und eine Steuereinheit 130 auf. Der Transaktions-Monitor 110 ist funktional zwischen der Speichervorrichtung 30 und den IP-Cores 10-1 bis 10-n positioniert, um zu überwachen, ob eine Datentransaktion zwischen der Speichervorrichtung 30 und IP-Cores 10-1 bis 10-n gibt. Der Transaktions-Monitor 110 kann wenigstens eine Puffer- oder First-In-First-Out(FIFO)-Schaltung aufweisen. Wenn eine Datentransaktion zwischen einem IP-Core 10-k und der Speichervorrichtung 30 auftritt, werden Daten von der Speichervorrichtung 30 vorübergehend im Transaktions-Monitor 110 gespeichert und dann zu dem IP-Core 10k ausgegeben.
  • Der Zeitdauer-Detektor 120 kann den Betriebszustand jedes IP-Cores 10-1 bis 10-n basierend auf einem Überwachungsergebnis bestimmen. Wann immer eine neue Datenübertragung, d. h. eine neue Datentransaktion auftritt, benachrichtigt der Transaktions-Monitor 110 den Zeitdauer-Detektor 120 vom Auftreten der neuen Datentransaktion. Der Zeitdauer-Detektor 120 kann nur zu jeder Zeit benachrichtigt werden, wenn der Transaktions-Monitor 110 beginnt, neue Daten zu empfangen, oder er kann sowohl zu jeder Zeit, wenn der Transaktions-Monitor 110 beginnt, neue Daten zu empfangen und zu einer Zeit, wenn der Transaktions-Monitor 110 den Empfang der neuen Daten beendet, benachrichtigt werden.
  • Der Zeitdauer-Detektor 120 kann den Betriebszustand jedes IP-Cores basierend auf der Benachrichtigung bestimmen. Beispielsweise kann der Zeitdauer-Detektor 120 bestimmen, dass der IP-Core 10-k in einem normalen Betriebsmodus ist, wenn die Datenübertragung zwischen dem IP-Core 10-k und der Speichervorrichtung 30 auftritt. Zusätzlich kann der Zeitdauer-Detektor 120 bestimmen, dass der IP-Core 10-k in einem Stand-by-Modus ist während einer Zeitdauer von dem Ende des Datentransfers bzw. der Datenübertragung bis zu dem Power-Gating des IP-Cores 10-k, dass der IP-Core 10-k in einem Schlafmodus ist während einer Zeitdauer von dem Power-Gating des IP-Cores 10-k bis zu einer Zeit, wenn die Leistungsversorgung wieder aufgenommen wird aufgrund des Auftretens einer Datenübertragung, d. h. einer neuen Datentransaktion zwischen IP-Core 10-k und der Speichervorrichtung 30, und dass der IP-Core 10-k in einem Aufwachmodus ist während einer Zeitdauer von dem Beginn der Leistungsversorgung aufgrund der neuen Datentransaktion bis zu einer Zeit, wenn eine Betriebsleistung für den normalen Betriebsmodus in dem IP-Core 10-k erreicht ist.
  • Alternativ kann der Zeitdauer-Detektor 120 eine Zeitdauer des Stand-by-Modus des IP-Cores 10-k zählen und die gezählte Zeitdauer („t”) mit einem vorbestimmten Grenzwert (Th) vergleichen. Wenn die gezählte Zeitdauer wenigstens der Grenzwert ist (d. h. t ≥ Th), kann der Zeitdauer-Detektor 120 bestimmen, dass der IP-Core 10-k in dem Schlafmodus ist. Wenn jedoch die gezählte Zeitdauer geringer ist als der Grenzwert (d. h. t < Th), kann der Zeitdauer-Detektor 120 bestimmen, dass der IP-Core 10-k in dem Stand-by-Modus ist. Der Grenzwert wird im Detail unter Bezugnahme auf die 68 später beschrieben werden.
  • Die Steuereinheit 130 kann ein Leistungssteuersignal CON erzeugen, so dass jeder IP-Core mit einer Leistung, welche dem Betriebszustand entspricht, welcher durch den Zeitdauer-Detektor 120 und seine Charakteristiken bestimmt wird, vorgesehen ist. Beispielsweise kann die Steuereinheit 130 das Leistungssteuersignal CON zum Zur-Verfügung-Stellen einer Betriebsleistung für jeden IP-Core in dem normalen Betriebsmodus und das Leistungssteuersignal CON zum Zur-Verfügung-Stellen einer Stand-by-Leistung erzeugen, welche geringer ist als die Betriebsleistung, für den IP-Core in dem Stand-by-Modus. Die Steuereinheit 130 kann auch das Leistungssteuersignal CON zum Unterbrechen der Leistungsversorgung für den IP-Core in dem Schlafmodus und das Leistungssteuersignal CON zum schrittweise Zur-Verfügung-Stellen von Leistung für den IP-Core von einem Zustand des Schlafmodus, bis der IP-Core die Betriebsleistung in dem Aufwachmodus erreicht, erzeugen.
  • Die PMIC20 ist mit den anderen Elementen 10-1 bis 10-n, 100' und 30 verbunden und stellt diesen Leistung zur Verfügung, welche deren Betriebszustand und/oder Charakteristiken entspricht. Im Detail stellt die PMIC20 dem IP-Core 10-k eine Leistung Pc, dem Transaktions-Monitor 110 eine Leistung PT1, dem Zeitdauer-Detektor 120 eine Leistung PT2, der Steuereinheit 130 eine Leistung PT3 und der Speichervorrichtung 30 eine Leistung PM zur Verfügung. Insbesondere stellt die PMIC20 die Leistungen P1 bis Pn den jeweiligen IP-Cores 10-1 bis 10-n gemäß der Steuerung (beispielsweise dem Leistungssteuersignal CON) der Steuereinheit 130 zur Verfügung. Zu dieser Zeit kann Leistung, welche jedem Element zur Verfügung gestellt wird, unter Verwendung einer Technik wie beispielsweise DVFS, Clock-Gating oder Power-Gating, gesteuert werden. Das Leistungssteuersignal CON kann Leistungssteuer-Informationen für alle IP-Cores 10-1 bis 10-n aufweisen oder Leistungssteuer-Informationen für nur einige der IP-Cores 10-1 bis 10-n. Zum Zweck der Vereinfachung der Beschreibung wird eine Leistungsversorgungs-Steuerung nur während Zeitdauern anders als der Zeitdauer des normalen Betriebsmodus, in welchem die PMIC20 DVFS verwendet, in den Ausführungsformen des erfinderischen Konzepts beschrieben werden.
  • Die PMIC20 kann in dem normalen Betriebsmodus jedem IP-Core eine Betriebsleistung gemäß der Steuerung der Steuereinheit 130 zur Verfügung stellen, und sie kann dem IP-Core in dem Stand-by-Modus eine Stand-by-Leistung, welche geringer ist als die Betriebsleistung, gemäß der Steuerung der Steuereinheit 130 zur Verfügung stellen. Die PMIC20 kann dem IP-Core in dem Schlafmodus gemäß der Steuerung der Steuereinheit 130 keine Leistung zur Verfügung stellen, und sie kann dem IP-Core schrittweise Leistung aus einem Zustand des Schlafmodus zur Verfügung stellen, bis der IP-Core die Betriebsleistung in dem Aufwachmodus gemäß der Steuerung der Steuereinheit 130 erreicht.
  • 3 ist ein Blockschaltbild eines SoC 3 gemäß weiteren Ausführungsformen des erfinderischen Konzepts. Das SoC 3 weist eine Mehrzahl von IP-Cores 10-1 bis 10-n, eine Speichervorrichtung 30, einen Vergrößerer (Upsizer) 51, ein Modem 53, eine asynchrone Brücke 111 (Async Bridge), einen Service-Qualitäts bzw. Dienste-Qualitäts-(QoS = Quality of Service)-Verbesserer 112, einen Zeitdauer-Detektor 120 und eine Steuereinheit 130 auf.
  • Jeder IP-Core 10-1 bis 10-n kann ein Prozessor sein, welcher ein gesamtes System steuert, oder ein IP-Core, welcher durch den Prozessor gesteuert wird. Der IP-Core kann eine CPU oder GPU sein.
  • Die Speichervorrichtung 30 kann einen Hauptspeicher 33, welcher Daten speichert, einen Speichercontroller 32, welcher einen Zugriff auf den Hauptspeicher 33 steuert, und einen Speicherbus 31, welcher den Speichercontroller 32 und ein externes Element (beispielsweise den QoS-Verbesserer 112) koppelt, um Daten vom Hauptspeicher 33 zu übertragen, aufweisen.
  • Das Modem 53 kann ein Signal von außerhalb des SoC 3 (extern zu dem SoC3) empfangen und modulieren und kann ein Signal, welches in dem SoC 3 erzeugt wird, de-modulieren und ausgeben. Der Vergrößerer 51 kann die Größe eines modulierten Signals oder ein zu de-modulierendes Signal an einen Ausgang anpassen. Die asynchrone Brücke 111 kann die Synchronisation des modulierten Signals oder des mit einem Taktsignal, welches in dem SoC 3 erzeugt wird, zu de-modulierenden Signals anpassen.
  • Der QoS-Verbesserer 112 kann die Reihenfolge des Verarbeitens von Daten gemäß den Charakteristiken der Daten in dem SoC 3 anpassen, um die Service-Qualität des SoC 3 sicherzustellen. Im Detail kann der QoS-Verbesserer 112 eine Datentransaktion überwachen, welche zwischen jedem der IP-Cores 10-1 bis 10-n und dem Hauptspeicher 33 über einen Speicherbus 31 auftritt und kann Daten, welche durch den Speicherbus 31 zu/von der asynchronen Brücke 111 übertragen werden, in einer vorbestimmten Prioritätsreihenfolge übertragen/empfangen. Der QoS-Verbesserer 112 kann einen Puffer aufweisen, welcher vorübergehend Daten speichert, welche durch den Speicherbus 31 transferiert bzw. übertragen werden. Wenn eine Datentransaktion zwischen dem IP-Core 10-k und der Speichervorrichtung 30 auftritt, kann der QoS-Verbesserer 112 Daten von der Speichervorrichtung 30 empfangen und vorübergehend speichern, wann immer es neue Daten gibt. In anderen Worten gesagt, kann der QoS-Verbesserer 112 das Auftreten einer Datentransaktion basierend darauf überwachen, ob neue Daten vorübergehend in dem Puffer gespeichert worden sind.
  • Der Zeitdauer-Detektor 120 kann den Betriebszustand jedes der IP-Cores 10-1 bis 10-n gemäß einem Überwachungsergebnis bestimmen. Wann immer eine neue Datenübertragung, d. h. eine neue Datentransaktion auftritt, benachrichtigt der Transaktions-Monitor 110 den Zeitdauer-Detektor 120 vom Auftreten der neuen Datenübertragung. Der Zeitdauer-Detektor 120 kann nur zu jeder Zeit benachrichtigt werden, wenn der Transaktions-Monitor 120 beginnt, neue Daten zu empfangen, oder er kann benachrichtigt werden sowohl zu jeder Zeit, wenn der Transaktions-Monitor 110 beginnt, neue Daten zu empfangen, als auch zu jeder Zeit, wenn der Transaktions-Monitor 110 den Empfang der neuen Daten beendet.
  • Der Zeitdauer-Detektor 120 kann den Betriebszustand jedes IP-Cores basierend auf der Benachrichtigung bestimmen. Beispielsweise kann der Zeitdauer-Detektor 120 bestimmen, dass der IP-Core 10-k in einem normalen Betriebsmodus ist, wenn die Datenübertragung zwischen dem IP-Core 10-k und der Speichervorrichtung 30 auftritt. Zusätzlich kann der Zeitdauer-Detektor 120 bestimmen, dass der IP-Core 10-k in einem Stand-by-Modus ist während einer Zeitdauer von dem Ende des Datentransfers bzw. der Datenübertragung bis zu dem Power-Gating des IP-Cores 10-k, dass der IP-Core 10-k in einem Schlafmodus ist während einer Zeitdauer von dem Power-Gating des IP-Cores 10-k bis zu einer Zeit, wenn die Leistungsversorgung wieder aufgenommen wird aufgrund des Auftretens einer Datenübertragung, d. h. einer neuen Datentransaktion zwischen IP-Core 10-k und der Speichervorrichtung 30, und dass der IP-Core 10-k in einem Aufwachmodus ist während einer Zeitdauer von dem Beginn der Leistungsversorgung aufgrund der neuen Datentransaktion bis zu einer Zeit, wenn eine Betriebsleistung für den normalen Betriebsmodus in dem IP-Core 10-k erreicht ist.
  • Alternativ kann der Zeitdauer-Detektor 120 eine Zeit des Stand-by-Modus des IP-Cores 10-k zählen und eine gezählte Zeitdauer („t”) mit einem vorbestimmten Grenzwert (Th) vergleichen. Wenn die gezählte Zeitdauer wenigstens der Grenzwert ist (d. h. t ≥ Th), kann der Zeitdauer-Detektor 120 bestimmen, dass der IP-Core 10-k in dem Schlafmodus ist. Wenn jedoch die gezählte Zeitdauer geringer ist als der Grenzwert (d. h. t < Th), kann der Zeitdauer-Detektor 120 bestimmen, dass der IP-Core 10-k in dem Stand-by-Modus ist. Der Grenzwert wird im Detail unter Bezugnahme auf die 6-8 später beschrieben werden.
  • Die Steuereinheit 130 kann ein Leistungssteuersignal CON erzeugen, so dass jeder IP-Core mit einer Leistung, welche dem Betriebszustand entspricht, welcher durch den Zeitdauer-Detektor 120 bestimmt wird, vorgesehen ist. Beispielsweise kann die Steuereinheit 130 das Leistungssteuersignal CON zum Zur-Verfügung-Stellen einer Betriebsleistung für jeden IP-Core in dem normalen Betriebsmodus und das Leistungssteuersignal CON zum Zur-Verfügung-Stellen einer Stand-by-Leistung, welche geringer ist als die Betriebsleistung, für den IP-Core in dem Stand-by-Modus erzeugen. Die Steuereinheit 130 kann auch das Leistungssteuersignal CON zum Unterbrechen der Leistungsversorgung für den IP-Core in dem Schlafmodus und das Leistungssteuersignal CON zum schrittweise Zur-Verfügung-Stellen von Leistung für den IP-Core von einem Zustand des Schlafmodus, bis der IP-Core die Betriebsleistung in dem Aufwachmodus erreicht, erzeugen.
  • Die PMIC20 ist mit den anderen Elementen 10-1 bis 10-N, 111, 112, 51, 53, 120, 130 und 30 verbunden und versorgt diese mit Leistung gemäß deren Betriebszustand oder Charakteristiken. Insbesondere stellt die PMIC20 die Leistungen P1 bis Pn für jeweilige IP-Cores 10-1 bis 10-n gemäß der Steuerung der Steuereinheit 130 zur Verfügung. Zu dieser Zeit kann Leistung, welche jedem Element zur Verfügung gestellt wird, unter Verwendung einer Technik wie beispielsweise DVFS, Clock-Gating oder Power-Gating zur Verfügung gestellt werden. Zum Zweck der Einfachheit in der Beschreibung wird die Leistungsversorgungs-Steuerung nur während Zeitdauern anders als der Zeitdauer des normalen Betriebsmodus, in welchem die PMIC20 DVFS verwendet, in den Ausführungsformen des erfinderischen Konzepts beschrieben werden.
  • Die PMIC20 kann in dem normalen Betriebsmodus jedem IP-Core eine Betriebsleistung gemäß der Steuerung der Steuereinheit 130 zur Verfügung stellen, und sie kann dem IP-Core in dem Stand-by-Modus eine Stand-by-Leistung geringer als die Betriebsleistung gemäß der Steuerung der Steuereinheit 130 zur Verfügung stellen. Die PMIC20 kann dem IP-Core in dem Schlafmodus gemäß der Steuerung der Steuereinheit 130 keine Leistung zur Verfügung stellen, und sie kann schrittweise dem IP-Core aus einem Zustand des Schlafmodus Leistung zur Verfügung stellen, bis der IP-Core die Betriebsleistung in dem Aufwachmodus gemäß der Steuerung der Steuereinheit 130 erreicht.
  • 4 ist ein Diagramm der Betriebszustände jedes der IP-Cores 10-1 bis 10-n, welche in 1 veranschaulicht sind. 5 ist ein Zeitverlaufs-Diagramm der Leistungsaufnahme hinsichtlich der Zustände, welche in 4 veranschaulicht sind.
  • Die IP-Cores 10-1 bis 10-n können in einem von vier Betriebszuständen sein. Bezug nehmend auf die 4 und 5 ist ein normaler Betriebszustand oder -Modus M0 eine Zeitdauer, in welcher eine Datentransaktion zwischen dem IP-Core 10-k und der Speichervorrichtung 30 auftritt. In dem normalen Betriebszustand oder -Modus M0 kann die Leistungsaufnahme leicht um eine nominale Betriebsleistung abhängig von einem Betrieb bzw. einer Ooperation fluktuieren. Ein Stand-by-Zustand oder -Modus M1 ist eine Zeitdauer von einer Zeit, wenn die Datentransaktion endet, da es keine neue Datenkommunikation zwischen dem IP-Core 10-k und der Speichervorrichtung 30 gibt bis zu einer Zeit, wenn der IP-Core 10-k durch ein Clock-Gating power-gegated wird, d. h. wenn der IP-Core 10-k abgeschaltet wird. Der Zeitdauer-Detektor 120 zählt eine Zeitdauer (t) von dem Start des Stand-by-Modus zu dem Abschalten des IP-Cores 10-k und vergleicht die gezählte Zeitdauer (t) mit einem Grenzwert, um zu bestimmen, ob der IP-Core 10-k in einen Schlafmodus M2 zu schalten ist.
  • Der Schlafzustand oder -Modus M2 ist eine Zeitdauer, während der IP-Core 10-k abgeschaltet ist. In dem Schlafmodus M2 ist die Leistungsversorgung für den IP-Core 10-k unterbrochen.
  • Ein Aufwachzustand oder -Modus M3 ist eine mittlere Zeitdauer von einer Zeit, wenn der IP-Core 10-k angeschaltet wird, da neue Daten zwischen dem IP-Core 10-k und der Speichervorrichtung 30 auftreten, bis zu einer Zeit, wenn der Takt und die Leistung sich ausreichend für einen Normalbetrieb wiederhergestellt haben. Wenn eine Betriebsleistung abrupt einem IP-Core 10-k zur Verfügung gestellt wird, welcher abgeschaltet war, kann eine Stoßspannung auftreten. Um die Stoßspannung zu vermeiden, kann Leistung schrittweise von der Abschaltung bis zu einer Betriebsspannung zur Verfügung gestellt werden. Indes setzt der Zeitdauer-Detektor 120 die Zeitdauer(t)-Informationen des IP-Cores 10-k, welche in einem vorangehenden Zyklus gespeichert worden waren, zurück. Wenn der IP-Core 10-k ausreichend auf die Betriebsleistung seit dem Auftreten der neuen Daten wiederhergestellt ist, startet er seinen Betrieb in dem normalen Betriebsmodus M0.
  • 6 ist ein Flussdiagramm eines Leistungssteuer-Verfahrens eines SoC gemäß einigen Ausführungsformen des erfinderischen Konzepts. Hier wird angenommen, dass ein Grenzwert Th verglichen mit einer Zeitdauer „t” des Stand-by-Zustands oder -Modus M1 adaptiv für jeden IP-Core vorbestimmt wird. Der Grenzwert Th kann durch einen Designer basierend auf den Charakteristiken des IP-Cores und des SoC gewählt werden.
  • Bezug nehmend auf 6 ist der IP-Core 10-k in dem normalen Betriebszustand oder -Modus M0 in Operation S10, in welcher er eine Datenkommunikation mit der Speichervorrichtung 30 fortsetzt. Wenn eine Datentransaktion endet, da die Datenkommunikation während einer vorbestimmten Zeit in Operation S11 nicht auftritt, tritt der IP-Core 10-k in den Stand-by-Zustand oder -Modus M1 in Operation S12 ein. Der SoC zählt eine Zeitdauer „t”, welche dann beginnt, wenn der IP-Core 10-k in den Stand-by-Zustand oder -Modus M2 in Operation S13 eintritt. Wenn die gezählte Zeitdauer „t” in Operation S14 geringer ist als der vorbestimmte Grenzwert, und wenn es kein Auftreten von neuen Daten in Operation S15 gibt, wird bestimmt, dass der IP-Core 10-k in dem Stand-by-Zustand oder -Modus M1 ist. Wenn jedoch neue Daten in dem Stand-by-Zustand oder -Modus M1 in Operation S15 auftreten, wird bestimmt, dass der IP-Core 10-k in dem normalen Operationszustand oder -Modus M0 ist.
  • Wenn die gezählte Zeitdauer „t” wenigstens der vorbestimmte Grenzwert Th in Operation S14 ist, wird bestimmt, dass der IP-Core 10-k in Operation S16 in den Schlafzustand oder -Modus M2 schaltet. Der IP-Core 10-k wird in dem Schlafzustand oder -Modus M2 abgeschaltet. Danach wird, wenn neue Daten in Operation S17 auftreten, der IP-Core 10-k schrittweise mit Leistung versorgt, und die vorangehend gezählte Zeitdauer „t” wird in Operation S18 zurückgesetzt. Zu dieser Zeit wird in Operation S19 bestimmt, dass der IP-Core 10-k in dem Aufwachzustand oder -Modus M3 ist, bis die Leistung des IP-Cores 10-k die Betriebsleistung in Operation S20 erreicht.
  • Demzufolge wird, auch wenn es eine Mehrzahl von IP-Cores gibt, der Betriebszustand jedes IP-Cores gemäß dem Auftreten einer Datentransaktion zwischen dem IP-Core und einer Speichervorrichtung bestimmt, und eine Leistungsversorgung wird gemäß dem Betriebszustand angepasst, so dass die Leistungsaufnahme des SoC minimiert wird. Weiterhin wird eine Leistungsversorgung für jeden IP-Core ohne Intervention eines anderen IP-Cores wie beispielsweise einer CPU oder eines digitalen Signalprozessors (DSP = Digital Signal Processor) gesteuert, wodurch die Last der CPU oder DSP verringert wird, sowie die Leistungsaufnahme des SoC verringert wird.
  • 7 ist ein Graph, welcher eine Leistungsaufnahme und eine Latenz hinsichtlich einer Grenzzeit in einem SoC gemäß einigen Ausführungsformen des erfinderischen Konzepts zeigt. Die Zeitdauer, in welcher das SoC in einem Aufwach-Zustand oder -Modus ist, d. h. eine Aufwach-Zeitdauer kann in einem Bereich von Nanosekunden (ns) bis Mikrosekunden (ms) sein. Die Aufwach-Zeitdauer hängt von einer Anstiegszeit eines analogen Leistungsschalters, welcher einem power-gating unterliegt, ab. Wenn beispielsweise ein Grenzwert auf einen kleinen Wert gesetzt ist, kann die Aufwach-Zeit unnötig zunehmen, was zu einer Zunahme der Leistungsaufnahme führt. Wenn der Grenzwert auf einen großen Wert gesetzt ist, kann die Leistungsaufnahme nicht verringert werden. Demzufolge ist es notwendig, den Grenzwert angemessen anzupassen.
  • Bezug nehmend auf 7 ist der Graph des Leistungsverbrauchs eine konvex nach unten gerichtete Kurve mit einem minimalen Grenzwert. Da die Batterie-Leistungsfähigkeit zunimmt, wenn der Leistungsverbrauch des SoC und jedes IP-Cores abnimmt, ist ein Grenzwert, welcher einen minimalen Leistungsverbrauch gibt, notwendig.
  • Ein minimaler Grenzwert ThOP, welcher in 7 veranschaulicht ist, kann unter Verwendung der Gleichungen 1–3 erhalten werden:
    Figure DE102013110340A1_0002
  • Gleichung 1 drückt die Leistungsaufnahme des SoC aus. In anderen Worten gesagt ist eine gegenwärtige Leistungsaufnahme x[n] eine Leistungsaufnahme x[n-1] in einem vorangehenden Zyklus plus eine gegenwärtige Leistungsaufnahme bzw. aiui[n] jedes IP-Cores, wobei „i” ein Index jedes IP-Cores ist, n die Anzahl von IP-Cores ist, x[] eine Leistungsaufnahme ist, und aiui[n] eine Leistungsaufnahme ist, welcher dem Betriebszustand jedes IP-Cores entspricht. Jeder IP-Core arbeitet gemäß einem digitalen Takt und ai[n] bedeutet ein Verbrauchen von Leistung des i-ten IP-Cores in dem n-ten Zyklus des digitalen Takts. ui[n] ist die Steuereingabe in den i-ten IP-Core. Wenn beispielsweise der i-ten IP-Core in dem Betriebszustand arbeitet, kann ui[n] 1 sein. Wenn der i-te IP-Core in dem Stand-by-Zustand oder -Modus arbeitet, kann ui[n] 2 sein. Wenn der i-te IP-Core in dem Schlafzustand oder -Modus arbeitet, kann ui[n] 3 sein. Wenn der i-te IP-Core in dem Aufwachzustand oder -Modus arbeitet, kann ui[n] 4 sein. ui[n] ist jedoch nicht darauf beschränkt und kann unterschiedlich ausgewählt werden. Der Leistungsverbrauch, welcher dem Betriebszustand entspricht, aiui[n], ist definiert als Gleichung 2:
    Figure DE102013110340A1_0003
    wobei ai,m0, ai,m1, ai,m2 und ai,m3, Leistungsaufnahmen jeweils entsprechend einem normalen Betriebszustand oder -Modus, einem Stand-by-Zustand oder -Modus, einem Schlafzustand oder -Modus und einem Aufwachzustand oder -Modus sind.
  • Das SoC wählt einen der vier Werte ai,m0, ai,m1, ai,m2 und ai,m3 gemäß dem Betriebszustand jedes IP-Cores aus und steuert die Leistung, welche dem IP-Core zur Verfügung gestellt wird, wie in 7 gezeigt ist. Die vier Werte ai,m0, ai,m1, ai,m2 und ai,m3 können gemäß den Charakteristiken jedes IP-Cores unterschiedlich sein. Beispielsweise können die Werte ai,m0, ai,m1, ai,m2 und ai,m3 eines ersten IP-Cores unterschiedlich von den Werten ai,m0, ai,m1, ai,m2 und ai,m3 eines zweiten IP-Cores sein.
  • Eine Optimierung kann durchgeführt werden, wenn eine Kostenfunktion unter bestimmten Bedingungen bzw. Randbedingungen maximiert oder minimiert wird. Um den Grenzwert zu erhalten, welcher die Leistungsaufnahme gemäß den Gleichungen 1 und 2 minimiert, wird eine Kostenfunktion J als Gleichung 3 definiert:
    Figure DE102013110340A1_0004
  • ai[n] und ui[n] können eine Funktion des Grenzwerts Tth sein. In anderen Worten gesagt können ai,m0, ai,m1, ai,m2 und ai,m3 gemäß dem Grenzwert Tth variieren. Eine Optimierung sollte durchgeführt werden, wenn die Kostenfunktion J durch ein Auswählen eines geeigneten Grenzwertes Tth minimiert wird. Indes ist der Graph der Latenz des SoC eine Kurve, welche abnimmt, wenn der Grenzwert zunimmt. Es gibt jedoch eine Beschränkung der Latenz entsprechend den Charakteristiken des SoC oder eines IP-Cores. Demzufolge ist es notwendig, den Grenzwert zu wählen, so dass er eine geringere Latenz als eine Grenze der Latenz, Tlim hat:
    Figure DE102013110340A1_0005
    wobei C1 ein gleitender Durchschnitt der Latenz während einer Zeitdauer ist. Ein IP-Core kann einen Service bzw. einen Dienst von einem anderen IP-Core anfordern. Beispielsweise kann eine CPU einen Befehl zu einem Speicher zum Lesen oder Schreiben senden. P ist die Anzahl von Anfragen bzw. Anforderungen in der Zeitdauer und Lk ist eine Latenz für die Bearbeitung der Anfragen in jedem IP-Core. Wenn Gleichung 4 hinsichtlich einer gegenwärtigen Latenz umgeordnet wird, wird Gleichung 5 erhalten:
    Figure DE102013110340A1_0006
  • In anderen Worten gesagt ist die Latenz Lk eines IP-Cores die Summe einer Normalbetriebsmodus-Zeitdauer TOP,i und eine Aufwachmodus-Zeitdauer TWUi. Da ein Maximalwert der Latenz Lk des IP-Cores als die Latenz eines gesamten Systems einschließlich des SoC verwendet wird, ist die Latenz Lk eine maximale Latenz. Die Latenz Lk kann gemäß dem Grenzwert Tth variieren. Eine Optimierung kann durchgeführt werden, wenn die Kostenfunktion der Gleichung 3 unter den Randbedingungen der Gleichung 4 minimiert wird. Wenn eine Computersimulation basierend auf Gleichungen 3–5 durchgeführt wird, kann gemäß dem Graphen, welcher in 7 veranschaulicht ist, die Beziehung zwischen der Leistungsaufnahme und der Latenz hinsichtlich des Grenzwerts erhalten werden. Der Graph, welcher die Beziehung zwischen der Leistungsaufnahme und der Latenz hinsichtlich des Grenzwerts zeigt, kann abhängig von Datentransaktions-Charakteristiken eines IP-Cores unterschiedlich sein. Beispielsweise kann die Latenz als eine Kurve ausgedrückt werden, welche abnimmt, wenn der Grenzwert zunimmt.
  • Demnach muss ein optimaler Grenzwert gewählt werden, welcher die Latenz Lk und den Leistungsverbrauch des gesamten SoC in Betracht zieht. In anderen Worten gesagt kann der optimale Grenzwert ThOP gewählt werden zu einem Wert der Stand-by-Modus-Zeitdauer „t”, welcher weniger Latenz gibt als die Grenze der Latenz und ebenso einen minimalen Leistungsverbrauch vorsieht. Eine detailliertere Beschreibung über die Gleichungen 1–5 ist in dem Artikel „Time-based Power Control Architecture for Application Processes in Smartphones", Electronics Letters, Vol. 48, no. 25, Dec. 2012, gegeben.
  • 8 ist ein Flussdiagramm eines Leistungssteuer-Verfahrens eines SoC gemäß anderen Ausführungsformen des erfinderischen Konzepts. Bezug nehmend auf 8 arbeitet das SoC basierend auf einem optimalen Grenzwertsatz, welcher die Latenz und den Leistungsverbrauch des gesamten SoC 100 in Betracht zieht.
  • Der IP-Core 10-k ist in dem normalen Betriebsmodus M0 in Operation S110, in welchem er mit einer Datenkommunikation mit dem Speicher 30 fortfährt. Wenn eine Datentransaktion endet, da die Datenkommunikation während einer vorbestimmten Zeit in Operation S111 nicht auftritt, tritt der IP-Core 10-k in dem Stand-by-Modus M1 in Operation 112 ein. Das SoC 100 zählt eine Zeitdauer „t”, startend von wann der IP-Core 10-k in dem Stand-by-Modus M2 in Operation S113 eintritt. Wenn die Latenz des IP-Cores 10-k in Operation S114 größer ist als eine Grenze der Latenz „Const”, wird in Operation S115 ein vorbestimmter Grenzwert Th modifiziert. Wenn die Latenz des IP-Cores 10-k in Operation S114 gleich oder weniger als die Grenze der Latenz „Const” ist, wird der vorbestimmte Grenzwert Th ohne Modifikation verwendet. Wenn die gezählte Zeitdauer „t” in Operation S116 geringer ist als der Grenzwert Th und es kein Auftreten von neuen Daten in Operation S117 gibt, wird bestimmt, dass der IP-Core 10-k in dem Stand-by-Modus M1 ist. Wenn jedoch neue Daten in dem Stand-by-Modus M1 in Operation S117 auftreten, wird bestimmt, dass der IP-Core 10-k in dem normalen Betriebsmodus M0 ist.
  • Wenn die gezählte Zeitdauer „t” wenigstens der Grenzwert Th in Operation S116 ist, wird bestimmt, dass der IP-Core 10-k in Operation S118 in den Schlafmodus schaltet. Der IP-Core 10-k wird in dem Schlafmodus M2 abgeschaltet. Danach wird der IP-Core 10-k schrittweise mit Leistung versorgt, und es wird in Operation S120 festgestellt, dass der IP-Core 10-k in dem Aufwachmodus M3 ist, bis die Leistung des IP-Cores in Operation S121 10-k die Betriebsleistung erreicht. Zu dieser Zeit wird die gezählte Zeitdauer „t”, welche in einem gegenwärtigen Zyklus gespeichert worden ist, zurückgesetzt.
  • Demzufolge wird, auch wenn es eine Mehrzahl von IP-Cores gibt, der Betriebszustand jedes IP-Cores gemäß dem Auftreten einer Datentransaktion zwischen dem IP-Core und einer Speichervorrichtung bestimmt, und eine Leistungsversorgung wird adaptiv gemäß dem Betriebszustand durchgeführt, so dass die Leistungsaufnahme des SoC minimiert wird. Weiterhin wird eine Leistungsversorgung für jeden IP ohne Intervention eines anderen IP-Cores wie beispielsweise einer CPU oder DSP gesteuert, wodurch die Last der CPU oder DSP verringert wird wie auch die Leistungsaufnahme des SoC verringert wird.
  • 9 ist ein Blockschaltbild eines Elektroniksystems 200, welches ein SoC gemäß einigen Ausführungsformen des erfinderischen Konzepts aufweist. Das Elektroniksystem 200 weist eine CPU 210, eine PMIC 220, eine GPU 230, eine Transaktionseinheit 100, ein Modem 240, einen Anzeige-Controller 250, welcher mit einer externen Anzeigevorrichtung 201 koppelt, einen Speicher 260 und einen externen Speichercontroller 270, welcher mit einem externen Speicher 202 koppelt, und einen Speicherbus auf. Das elektronische System 200 kann ein SoC sein.
  • Die CPU 210, welche den Gesamtbetrieb des SoC 200 steuern kann, kann den Betrieb bzw. die Operationen der anderen Elemente 220, 230, 100, 240, 250, 260 und 270 steuern. Die CPU 210 kann einer einer Mehrzahl von IP-Cores sein und mag nicht eingreifen, wenn eine Leistungsversorgung zu anderen IP-Cores (beispielsweise Elemente 220, 230, 240, 250, 260 und 270) gesteuert wird.
  • Das Modem 240 kann ein Signal von außerhalb des SoC 200 empfangen und modulieren und kann ein Signal, welches innerhalb des SoC erzeugt wird, de-modulieren und ausgeben. Eine Datentransaktion kann intermittierend durch das Modem 240 bei einer externen Anfrage auftreten.
  • Der externe Speichercontroller 270 kann einen Speicherzugriff steuern, wenn Daten von oder zu dem externen Speicher 202 empfangen oder übertragen werden, welcher mit den SoC 200 verbunden ist. Programme und/oder Daten, welche in dem externen Speicher 202 gespeichert werden, können in einen Speicher innerhalb der CPU 210 oder der GPU 230 oder dem Speicher 260, wenn notwendig, geladen werden. Ein externer Speicher 202 ist ein Speicher zum Speichern von Daten und kann ein OS, verschiedene Programme und verschiedene Typen von Daten speichern. Der externe Speicher 202 kann ein flüchtiger Speicher wie ein DRAM oder ein nichtflüchtiger Speicher wie beispielsweise ein Flashspeicher, ein PRAM, ein MRAM, ein ReRAM oder ein FeRAM sein. In anderen Ausführungsformen kann der externe Speicher 202 in dem SoC 200 eingebettet sein.
  • Die GPU 230 kann die Last der CPU 210 verringern und kann Programmbefehle, welche mit einer Graphikverarbeitung verbunden sind, lesen und ausführen. Die GPU 230 kann Graphikdaten empfangen, welche aus dem externen Speicher 202 gelesen sind, und zwar durch den externen Speichercontroller 270. Die GPU 230 kann Graphikdaten auch verarbeiten und die verarbeiteten Graphikdaten zu einem externen Speicher 202 durch einen externen Speichercontroller 270 schreiben.
  • Der Speicher 260 kann einen Lesespeicher (ROM = Read-only-Memory) aufweisen, welcher permanente Programme und/oder Daten speichert, und einen Direkt-Zugriffsspeicher (RAM = Random Access Memory), welcher vorübergehend Programme, Daten oder Instruktionen speichert. Der ROM kann ein löschbarer programmierbarer ROM (EPROM = Erasable Programmable ROM) oder ein elektrisch löschbarer programmierbarer ROM (EEPROM = Electrically Erasable Programmable ROM) sein. Der RAM kann ein DRAM oder ein statischer RAM (SRAM) sein. Der Speicher 260 kann Programme und/oder Daten, welche in einem externen Speicher 202 gespeichert sind, gemäß der Steuerung der CPU 210 oder Boot-Code, welcher in dem ROM gespeichert ist, vorübergehend speichern.
  • Die Transaktionseinheit 100 kann eine Datentransaktion jedes IP-Cores 201, 220, 230, 240 und 250 überwachen und steuert die Leistungsversorgung für die IP-Cores 201, 220, 230, 240 und 250 gemäß dem Betriebszustand und den Charakteristiken jedes IP-Cores.
  • Die PMIC 220 stellt Leistung für jeden IP-Core gemäß der Steuerung der Transaktionseinheit 100 zur Verfügung.
  • 10 ist ein Blockschaltbild eines elektronischen Systems 300, welches ein SoC gemäß einigen Ausführungsformen des erfinderischen Konzepts aufweist. Das elektronische System 300 weist ein SoC 200, eine Antenne 301, einen Funkfrequenz(RF = Radio Frequency)-Transceiver 303, eine Eingabevorrichtung 305 und eine Anzeige 307 auf.
  • Der RF-Transceiver 303 überträgt oder empfängt RF-Signale bzw. Funkfrequenz-Signale über die Antenne 301. Der RF-Transceiver 303 kann RF-Signale, welche durch die Antenne 301 empfangen werden, in Signale umwandeln, welche durch das SoC 200 verarbeitet werden können. Demzufolge kann das SoC 200 die Signale, welche von dem RF-Transceiver 303 ausgegeben werden, verarbeiteten, und die verarbeiteten Signale zu der Anzeige 307 übertragen. Der RF-Transceiver 303 kann ebenso Signale, welche von dem SoC 200 ausgegeben werden, in RF-Signale umwandeln und die RF-Signale an eine externe Vorrichtung durch die Antenne 301 ausgeben.
  • Die Eingabevorrichtung 305 ermöglicht es, dass Steuersignale zum Steuern des Betriebs des SoC 200 oder durch das SoC 200 zu verarbeitende Daten dem elektronischen System 300 zugeführt werden. Die Eingabevorrichtung 305 kann durch eine Zeigevorrichtung beispielsweise ein Touchpad oder eine Computermaus, ein Keypad oder eine Tastatur implementiert sein.
  • 11 ist ein Blockschaltbild eines Computersystems 400, welcher ein SoC gemäß einigen Ausführungsformen des erfinderischen Konzepts aufweist. Das Computersystem 400 kann als ein Personal Computer (PC), ein Netzwerk-Server, ein Tablet-PC, ein Netbook, ein e-Reader, ein persönlicher digitaler Assistent (PDA = Personal Digital Assistant), ein tragbarer Multimedia-Player (PMP = Portable Multimedia Player), ein MP3-Player oder ein MP4-Player implementiert sein.
  • Das Computersystem 400 weist eine Speichervorrichtung 401, einen Speichercontroller 402, welcher die Datenverarbeitungsoperationen der Speichervorrichtung 401 steuert, eine Anzeige 403 und eine Eingabevorrichtung 404 auf. Das SoC 200 kann Daten, welche in der Speichervorrichtung 401 gespeichert sind durch eine Anzeige 403 gemäß Daten, welche durch die Eingabevorrichtung 404 zugeführt werden, anzeigen. Die Eingabevorrichtung 404 kann durch eine Zeigevorrichtung wie beispielsweise ein Touchpad oder eine Computermaus, ein Keypad oder eine Tastatur implementiert sein.
  • Das SoC 200 kann den Gesamtbetrieb des Computersystems 400 und die Operationen des Speichercontrollers 402 steuern. Der Speichercontroller 402, welcher die Operationen der Speichervorrichtung 401 steuern kann, kann als Teil des SoC 200 oder als separater Chip implementiert sein.
  • 12 ist ein Blockschaltbild eines Computersystems 500, welches ein SoC gemäß anderen Ausführungsformen des erfinderischen Konzepts aufweist. Das Computersystem 500 kann als ein Abbildungsprozessor wie eine Digitalkamera, ein Mobiltelefon, welches mit einer Digitalkamera ausgestattet ist, ein Smartphone, welches mit einer Digitalkamera ausgestattet ist, oder ein Tablet-PC, welcher mit einer Digitalkamera ausgestattet ist, implementiert sein.
  • Das Computersystem 500 weist das SoC 200, die Speichervorrichtung 501 und einen Speichercontroller 502 auf, welcher die Datenverarbeitungsoperationen, wie beispielsweise eine Schreiboperation und eine Leseoperation der Speichervorrichtung 501 steuert. Das Computersystem 500 weist weiterhin einen Abbildungssensor 503 und eine Anzeige 504 auf.
  • Der Abbildungssensor 503, welcher in dem Computersystem 500 enthalten ist, wandelt optische Abbildungen in digitale Signale um und gibt die digitalen Signale an das SoC 200 oder den Speichercontroller 502 aus. Die digitalen Signale können durch das SoC 200 gesteuert werden, so dass sie durch eine Anzeige 504 angezeigt werden oder in der Speichervorrichtung 501 durch den Speichercontroller 502 gespeichert werden.
  • Daten, welche in der Speichervorrichtung 501 gespeichert werden, können durch die Anzeige 504 gemäß der Steuerung des SoC 200 oder des Speichercontrollers 502 angezeigt werden. Der Speichercontroller 502, welcher die Operationen der Speichervorrichtung 501 steuern kann, kann als Teil des SoC 200 oder als separater Chip implementiert sein.
  • 13 ist ein Blockschaltbild eines Speichersystems 600, welches ein SoC gemäß einigen Ausführungsformen des erfinderischen Konzepts aufweist. Das Speichersystem 600 kann als ein Datenspeichersystem wie ein Festkörperlaufwerk (SSD = Solid State Drive) implementiert sein.
  • Das Speichersystem 600 weist eine Mehrzahl von Speichervorrichtungen 601, einen Speichercontroller 602, welcher die Datenverarbeitungsoperationen der Speichervorrichtungen 601 steuert, eine flüchtige Speichervorrichtung 603 wie beispielsweise einen dynamischen Direkt-Zugriffsspeicher (DRAM = Dynamic Random Access Memory) und ein SoC 200 auf, welches Daten, welche zwischen dem Speichercontroller 602 und einem Host 604 übertragen werden, um in einer flüchtigen Speichervorrichtung 603 gespeichert zu werden, steuert.
  • 14 ist ein Blockschaltbild eines elektronischen Systems 700, welches ein SoC gemäß einigen Ausführungsformen des erfinderischen Konzepts aufweist. Bezug nehmend auf 14 kann das elektronische System 700 als eine tragbare Vorrichtung implementiert sein. Die tragbare Vorrichtung kann ein Mobiltelefon, ein Smartphone, ein Tablet-Personal Computer (PC), ein persönlicher digitaler Assistent (PDA = Personal Digital Assistant), ein Enterprise Digital Assistant (EDA), eine digitale Photokamera, eine digitale Videokamera, ein tragbarer Multimedia-Player (PMP = Portable Multimedia Player), eine tragbare Navigationsvorrichtung (PMN = Portable Navigation Device), eine handgeführte Spielkonsole oder eine E-(Electronic)-Book- bzw- E-Buch-Vorrichtung sein.
  • Das elektronische System 700 weist einen Prozessor 790, eine Leistungsquelle 710, eine Speichervorrichtung 720, einen Speicher 730, I/O-Ports bzw. Eingabe/Ausgabe-Ports 740, eine Erweiterungskarte 750, eine Netzwerkvorrichtung 760 und eine Anzeige 770 auf. Das elektronische System 700 kann weiterhin ein Kamera-Modul 780 aufweisen.
  • Der Prozessor 790 kann dem SoC 1, welches in 1 veranschaulicht ist, entsprechen. Der Prozessor 790 kann ein Multi-Core-Prozessor sein.
  • Der Prozessor 790 kann den Betrieb wenigstens eines der Elemente 710 bis 790 steuern. Die Leistungsquelle 710 kann eine Betriebsspannung für wenigstens eines der Elemente 720 bis 790 zur Verfügung stellen. Die Speichervorrichtung 720 kann beispielsweise durch ein Festplattenlaufwerk (HDD = Hard Disk Drive) oder ein Festkörperlaufwerk (SSD = Solid State Drive) implementiert sein.
  • Der Speicher 730 kann durch einen flüchtigen oder nichtflüchtigen Speicher implementiert sein. Der Speicher 730 kann der Speichervorrichtung 30, welche in 1 veranschaulicht ist, entsprechen. Ein Speichercontroller (nicht gezeigt), welcher eine Datenzugriffsoperation, beispielsweise eine Leseoperation, eine Schreiboperation (oder eine Programmieroperation), oder eine Löschoperation des Speichers 730 steuert, kann in den Prozessor 790 integriert oder eingebettet sein. Alternativ kann der Speichercontroller funktional zwischen dem Prozessor 790 und dem Speicher 730 vorgesehen sein.
  • Die I/O-Ports 740 sind Ports, welche Daten empfangen, welche zu dem elektronischen System 700 übertragen werden und/oder Daten von dem elektronischen System 700 zu einer externen Vorrichtung übertragen. Beispielsweise können I/O-Ports 740 einen Port aufweisen, welcher eine Verbindung mit einer Zeigevorrichtung wie beispielsweise einer Computermaus herstellt, einen Port, welcher eine Verbindung mit einem Drucker herstellt und einen Port, welcher mit einem USB-Laufwerk eine Verbindung herstellt.
  • Die Erweiterungskarte 750 kann beispielsweise als Secure Digital(SD)-Card oder eine Multimedia Card (MMC) implementiert sein. Die Erweiterungskarte 750 kann beispielsweise eine Subscriber Identity Module(SIM)-Karte oder eine Universal-SIM(USIM)-Karte sein.
  • Die Netzwerkvorrichtung 760 ermöglicht es dem elektronischen System 700, mit einem verdrahteten oder drahtlosen Netzwerk verbunden zu sein. Die Anzeige 770 zeigt Daten an, welche von der Speichervorrichtung 720, dem Speicher 730, I/O-Ports 740, der Erweiterungskarte 750 und/oder der Netzwerkvorrichtung 760 ausgegeben werden.
  • Das Kameramodul 780 kann optische Abbildungen in elektrische Abbildungen umwandeln. Demzufolge können die elektrischen Abbildungen, welche von dem Kameramodul 780 ausgegeben werden, im Speichermodul 720, dem Speicher 730 und/oder der Erweiterungskarte 750 gespeichert werden. Ebenso können die elektrischen Abbildungen, welche von dem Kameramodul 780 ausgegeben werden, durch die Anzeige 770 angezeigt werden.
  • Das vorliegende allgemeine erfinderische Konzept kann auch als computerlesbarer Code, welcher auf einem konkreten computerlesbaren Medium gespeichert ist, ausgeführt sein. Das computerlesbare Aufzeichnungsmedium kann eine beliebige konkrete Datenspeichervorrichtung sein, welche Daten als ein Programm speichern kann, welche danach durch ein Computersystem gelesen werden können. Beispiele des computerlesbaren Aufzeichnungsmediums schließen einen Lesespeicher (ROM = Read-only Memory), einen Direkt-Zugriffsspeicher (RAM = Random Access Memory), CD-ROMs, Magnetbänder, Floppy-Disks bzw. Disketten und optische Datenspeichervorrichtungen ein.
  • Das computerlesbare Aufzeichnungsmedium kann auch über Netzwerkgekoppelte Computersysteme verteilt werden, so dass der computerlesbare Code in einer verteilten Art und Weise gespeichert und ausgeführt wird. Ebenso können funktionale Programme, Codes und Code-Segmente zum Erreichen des vorliegenden allgemeinen erfinderischen Konzepts leicht durch Programmierer konstruiert werden.
  • Wie obenstehend beschrieben ist, bestimmt gemäß einigen Ausführungsformen des erfinderischen Konzepts ein SoC einen Betriebszustand jedes einer Mehrzahl von IP-Cores gemäß dem Auftreten einer Datentransaktion zwischen jedem IP-Core und einer Speichervorrichtung und steuert adaptiv die Leistungsversorgung für den IP-Core in Übereinstimmung mit dem Betriebszustand, wodurch die Leistungsaufnahme minimiert wird. Zusätzlich wird die Leistungsversorgung für jeden IP-Core ohne eine Intervention eines Prozessors gesteuert, so dass die Last des Prozessors verringert wird.
  • Während das erfinderische Konzept insbesondere unter Bezugnahme auf beispielhafte Ausführungsformen davon gezeigt und beschrieben worden ist, wird es durch Fachleute verstanden werden, dass verschiedene Änderungen in den Formen und Details darin getätigt werden können, ohne vom Gedanken und Umfang des erfinderischen Konzepts, wie es durch die folgenden Ansprüche definiert ist, abzuweichen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • KR 10-2012-0107589 [0001]
  • Zitierte Nicht-Patentliteratur
    • „Time-based Power Control Architecture for Application Processes in Smartphones”, Electronics Letters, Vol. 48, no. 25, Dec. 2012 [0087]

Claims (30)

  1. Ein-Chip-System (SoC) (1, 2, 3, 100, 200), welches mit einer Speichervorrichtung (30, 401, 501, 601, 720) verbunden ist, wobei das SoC (1, 2, 3, 100, 200) Folgendes aufweist: eine Mehrzahl von Intellectual Property(IP)-Cores (10-1 bis 10-n); eine Leistungsmanagement-Schaltung (20), welche konfiguriert ist, um Leistung für die IP-Cores (10-1 bis 10-n) zur Verfügung zu stellen; und eine Transaktionseinheit (100), welche konfiguriert ist, um die Leistung, welche durch die Leistungsmanagement-Schaltung (20) für jeden der IP-Cores (10-1 bis 10-n) gemäß einer Datentransaktion zwischen jedem IP-Core (10-1 bis 10-n) und der Speichervorrichtung (30, 401, 501, 601, 720) zur Verfügung gestellt wird, zu steuern.
  2. SoC (1, 2, 3, 100, 200) nach Anspruch 1, wobei die Transaktionseinheit (100) bestimmt, dass ein bestimmter der IP-Cores (10-1 bis 10-n) in einem normalen Betriebsmodus ist, wenn eine Datenübertragung zwischen dem bestimmten IP-Core (10-1 bis 10-n) und der Speichervorrichtung (30, 401, 501, 601, 720) auftritt, dass der bestimmte IP-Core (10-1 bis 10-n) in einem Stand-by-Modus ist während einer Zeitdauer von einem Ende der Datenübertragung bis zu einem Power-Gating des IP-Cores (10-1 bis 10-n), dass der bestimmte IP-Core (10-1 bis 10-n) in einem Schlafmodus ist während einer Zeitdauer von dem Power-Gating des bestimmten IP-Cores (10-1 bis 10-n) bis zu einer Zeit, wenn die Leistungsversorgung wieder aufgenommen wird aufgrund des Auftretens der Datenübertragung zwischen dem bestimmten IP-Core (10-1 bis 10-n) und der Speichervorrichtung (30, 401, 501, 601, 720), und dass der bestimmte IP-Core (10-1 bis 10-n) in einem Aufwachmodus ist während einer Zeitdauer von dem Beginn des Wiederaufnehmens der Leistungsversorgung bis zu einer Zeit, wenn der bestimmte IP-Core (10-1 bis 10-n) eine Betriebsleistung für den normalen Betriebsmodus erreicht.
  3. SoC (1, 2, 3, 100, 200) nach Anspruch 2, wobei die Transaktionseinheit (100) die Betriebsleistung steuert, die dem bestimmten IP-Core (10-1 bis 10-n) in dem normalen Betriebsmodus zur Verfügung zu stellen ist, eine Stand-by-Leistung steuert, welche geringer ist als die Betriebsleistung, welche dem bestimmten IP-Core (10-1 bis 10-n) in dem Stand-by-Modus zur Verfügung zu stellen ist, es unterbricht, dass Leistung dem bestimmten IP-Core (10-1 bis 10-n) in dem Schlafmodus zur Verfügung gestellt wird, und steuert, dass die Leistung schrittweise dem bestimmten IP-Core (10-1 bis 10-n) von keiner Leistung bis hin zu der Betriebsleistung in dem Aufwachmodus zur Verfügung gestellt wird.
  4. SoC (1, 2, 3, 100, 200) nach Anspruch 2, wobei die Transaktionseinheit (100) eine Zeitdauer des Stand-by-Modus zählt, die gezählte Zeitdauer mit einem vorbestimmten Grenzwert für den bestimmten IP-Core (10-1 bis 10-n) vergleicht und die Leistungsversorgung für den bestimmten IP-Core (10-1 bis 10-n) steuert, so dass der bestimmte IP-Core (10-1 bis 10-n) von dem Stand-by-Modus in dem Schlafmodus schaltet, wenn die gezählte Zeitdauer wenigstens der Grenzwert ist.
  5. SoC (1, 2, 3, 100, 200) nach Anspruch 4, wobei die Grenzwerte für wenigstens zwei der IP-Cores (10-1 bis 10-n) voneinander unterschiedlich sind.
  6. SoC (1, 2, 3, 100, 200) nach Anspruch 4, wobei der Grenzwert gewählt ist, so dass er die Latenz und den Leistungsverbrauch des bestimmten IP-Cores (10-1 bis 10-n) minimiert.
  7. Ein-Chip-System (SoC) (1, 2, 3, 100, 200), welches mit einer Speichervorrichtung (30, 401, 501, 601, 720) verbunden ist, wobei das SoC (1, 2, 3, 100, 200) Folgendes aufweist: eine Mehrzahl von Intellectual Property Cores (IP-Cores) (10-1 bis 10-n); einen Transaktions-Monitor, welcher konfiguriert ist, um eine Datentransaktion zwischen jedem der IP-Cores (10-1 bis 10-n) und der Speichervorrichtung (30, 401, 501, 601, 720) zu überwachen; einen Zeitdauer-Detektor (120), welcher konfiguriert ist, um einen Betriebszustand jedes IP-Cores (10-1 bis 10-n) gemäß einem Überwachungsergebnis des Transaktions-Monitors zu bestimmen; eine Steuereinheit (130), welche konfiguriert ist, um ein Leistungssteuersignal zu erzeugen, um jedem IP-Core (10-1 bis 10-n) eine Leistung entsprechend dem Betriebszustand des IP-Cores (10-1 bis 10-n) zur Verfügung zu stellen; und eine Leistungsmanagement-Schaltung (20), welche konfiguriert ist, um die Leistung dem IP-Core (10-1 bis 10-n) gemäß dem Leistungssteuersignal zur Verfügung zu stellen.
  8. SoC (1, 2, 3, 100, 200) nach Anspruch 7, wobei der Zeitdauer-Detektor (120) bestimmt, dass ein bestimmter der IP-Cores (10-1 bis 10-n) in einem normalen Betriebsmodus ist, wenn eine Datenübertragung zwischen dem bestimmten IP-Core (10-1 bis 10-n) und der Speichervorrichtung (30, 401, 501, 601, 720) auftritt, dass der bestimmte IP-Core (10-1 bis 10-n) in einem Stand-by-Modus ist während einer Zeitdauer von einem Ende der Datenübertragung bis zu einem Power-Gating des IP-Cores (10-1 bis 10-n), dass der bestimmte IP-Core (10-1 bis 10-n) in einem Schlafmodus ist während einer Zeitdauer von dem Power-Gating des bestimmten IP-Cores (10-1 bis 10-n) bis zu einer Zeit, wenn die Leistungsversorgung wieder aufgenommen wird aufgrund des Auftretens der Datenübertragung zwischen dem bestimmten IP-Core (10-1 bis 10-n) und der Speichervorrichtung (30, 401, 501, 601, 720), und dass der bestimmte IP-Core (10-1 bis 10-n) in einem Aufwachmodus ist während einer Zeitdauer von dem Beginn des Wiederaufnehmens der Leistungsversorgung bis zu einer Zeit, wenn der bestimmte IP-Core (10-1 bis 10-n) eine Betriebsleistung für den normalen Betriebsmodus erreicht.
  9. SoC (1, 2, 3, 100, 200) nach Anspruch 8, wobei die Steuereinheit (130) das Leistungssteuersignal erzeugt, um die Betriebsleistung dem bestimmten IP-Core (10-1 bis 10-n) in dem normalen Betriebsmodus zur Verfügung zu stellen, um eine Stand-by-Leistung niedriger als die Betriebsleistung dem bestimmten IP-Core (10-1 bis 10-n) in dem Stand-by-Modus zur Verfügung zu stellen, um die Leistung zu dem bestimmten IP-Core (10-1 bis 10-n) in dem Schlafmodus zu unterbrechen und um dem bestimmten IP-Core (10-1 bis 10-n) schrittweise Leistung von keiner Leistung bis hin zu der Betriebsleistung in dem Aufwachmodus zur Verfügung zu stellen.
  10. SoC (1, 2, 3, 100, 200) nach Anspruch 8, wobei der Zeitdauer-Detektor (120) eine Zeitdauer des Stand-by-Modus zählt, die gezählte Zeitdauer mit einem vorbestimmten Grenzwert vergleicht, den bestimmten IP-Core (10-1 bis 10-n) von dem Stand-by-Modus in dem Schlafmodus schaltet, wenn die gezählte Zeitdauer wenigstens der Grenzwert ist und den bestimmten IP-Core (10-1 bis 10-n) in dem Stand-by-Modus aufrechterhält, wenn die gezählte Zeitdauer geringer als der Grenzwert ist.
  11. SoC (1, 2, 3, 100, 200) nach Anspruch 10, wobei die Grenzwerte für wenigstens zwei der IP-Cores (10-1 bis 10-n) voneinander unterschiedlich sind.
  12. SoC (1, 2, 3, 100, 200) nach Anspruch 10, wobei der Grenzwert gewählt ist, so dass er die Latenz und den Leistungsverbrauch des bestimmten IP-Cores (10-1 bis 10-n) minimiert.
  13. Ein-Chip-System (SoC) (1, 2, 3, 100, 200), das Folgendes aufweist: eine Mehrzahl von Intellectual Property-Cores (IP-Cores) (10-1 bis 10-n); eine Speichervorrichtung (30, 401, 501, 601, 720), welche einen Hauptspeicher (33), einen Speichercontroller (32), welcher konfiguriert ist, um den Hauptspeicher (33) zu steuern, und einen Speicherbus (31), welcher konfiguriert ist, um den Speichercontroller (32) und die IP-Cores (10-1 bis 10-n) zu koppeln, um Daten zwischen dem Hauptspeicher und den IP-Cores (10-1 bis 10-n) zu übertragen, aufweist; einen Dienstequalitäts(QoS)-Verbesserer, welcher konfiguriert ist, um eine Datentransaktion, welche in dem Speicherbus (31) zwischen den IP-Cores (10-1 bis 10-n) und dem Hauptspeicher (33) auftritt, zu überwachen und um die Daten in einer vorbestimmten Prioritätsreihenfolge einzugeben und auszugeben; einen Zeitdauer-Detektor (120), welcher konfiguriert ist, um einen Betriebszustand jedes der IP-Cores gemäß einem Überwachungsergebnis zu bestimmen, welches anzeigt, ob die Datentransaktion hinsichtlich jedes IP-Cores aufgetreten ist; eine Steuereinheit (130), welche konfiguriert ist, um ein Leistungssteuersignal zu erzeugen, um jedem IP-Core (10-1 bis 10-n) eine Leistung, welche dem Betriebszustand jedes IP-Cores (10-1 bis 10-n) entspricht, zur Verfügung zu stellen; und eine Leistungsmanagement-Schaltung (20), welche konfiguriert ist, um die Leistung jeden IP-Core (10-1 bis 10-n) gemäß dem Leistungssteuersignal zur Verfügung zu stellen.
  14. SoC (1, 2, 3, 100, 200) nach Anspruch 13, wobei der QoS-Verbesserer einen Puffer aufweist, welcher konfiguriert ist, um vorübergehend Daten zu speichern, welche durch den Speicherbus (31) übertragen werden, und die Datentransaktion des Puffers überwacht.
  15. SoC (1, 2, 3, 100, 200) nach Anspruch 14, wobei der Zeitdauer-Detektor (120) bestimmt, dass ein bestimmter der IP-Cores (10-1 bis 10-n) in einem normalen Betriebsmodus ist, wenn eine Datenübertragung in dem Puffer auftritt, dass der bestimmte IP-Core (10-1 bis 10-n) in einem Stand-by-Modus ist während einer Zeitdauer von einem Ende der Datenübertragung in dem Puffer bis zu einem Power-Gating des bestimmten IP-Cores (10-1 bis 10-n), dass der bestimmte IP-Core (10-1 bis 10-n) in einem Schlafmodus ist während einer Zeitdauer von dem Power-Gating des bestimmten IP-Cores (10-1 bis 10-n) bis zu einer Zeit, wenn die Leistungsversorgung wieder aufgenommen wird aufgrund des Auftretens der Datenübertragung zwischen dem bestimmten IP-Core (10-1 bis 10-n) und der Speichervorrichtung (30, 401, 501, 601, 720), und dass der bestimmte IP-Core (10-1 bis 10-n) in einem Aufwachmodus ist während einer Zeitdauer von dem Beginn des Wiederaufnehmens der Leistungsversorgung bis zu einer Zeit, wenn der bestimmte IP-Core (10-1 bis 10-n) eine Betriebsleistung für den normalen Betriebsmodus erreicht.
  16. SoC (1, 2, 3, 100, 200) nach Anspruch 15, wobei der Zeitdauer-Detektor (120) eine Zeitdauer des Stand-by-Modus zählt, die gezählte Zeitdauer mit einem vorbestimmten Grenzwert für den bestimmten IP-Core (10-1 bis 10-n) vergleicht, den bestimmten IP-Core (10-1 bis 10-n) von dem Stand-by-Modus in dem Schlafmodus schaltet, wenn die gezählte Zeitdauer wenigstens der Grenzwert ist und den bestimmten IP-Core (10-1 bis 10-n) in dem Stand-by-Modus aufrechterhält, wenn die gezählte Zeitdauer geringer als der Grenzwert ist.
  17. SoC (1, 2, 3, 100, 200) nach Anspruch 15, wobei die Steuereinheit (130) das Leistungssteuersignal erzeugt, um die Betriebsleistung dem bestimmten IP-Core (10-1 bis 10-n) in dem normalen Betriebsmodus zur Verfügung zu stellen, um eine Stand-by-Leistung niedriger als die Betriebsleistung dem bestimmten IP-Core (10-1 bis 10-n) in dem Stand-by-Modus zur Verfügung zu stellen, um die Leistung zu dem bestimmten IP-Core (10-1 bis 10-n) in dem Schlafmodus zu unterbrechen, und um dem bestimmten IP-Core (10-1 bis 10-n) schrittweise Leistung von keiner Leistung bis hin zu der Betriebsleistung in dem Aufwachmodus zur Verfügung zu stellen.
  18. SoC (1, 2, 3, 100, 200) nach Anspruch 13, wobei die Leistungsmanagement-Schaltung (20) weiterhin konfiguriert ist, um der Speichervorrichtung (30, 401, 501, 601, 720) Leistung zur Verfügung zu stellen.
  19. SoC (1, 2, 3, 100, 200) nach Anspruch 16, wobei der Grenzwert gewählt ist, so dass er die Latenz und den Leistungsverbrauch des bestimmten IP-Cores (10-1 bis 10-n) minimiert.
  20. Verfahren zum Betreiben eines Ein-Chip-Systems (SoC) (1, 2, 3, 100, 200), welches zwischen einer Mehrzahl von Intellectual Property-Cores (IP-Cores) (10-1 bis 10-n) und einer Speichervorrichtung (30, 401, 501, 601, 720) verbunden ist, wobei das Verfahren Folgendes aufweist: ein Überwachen, ob eine Datentransaktion zwischen wenigstens einem der IP-Cores (10-1 bis 10-n) und der Speichervorrichtung (30, 401, 501, 601, 720) auftritt; ein Bestimmen eines Betriebszustands des wenigstens eines IP-Cores (10-1 bis 10-n) gemäß einem Ergebnis der Überwachung; ein Versorgen des IP-Cores (10-1 bis 10-n) mit Leistung entsprechend dem Betriebszustand des IP-Cores (10-1 bis 10-n).
  21. Verfahren nach Anspruch 20, wobei das Bestimmen des Betriebszustands Folgendes aufweist: ein Bestimmen, dass der IP-Core (10-1 bis 10-n) in einem normalen Betriebsmodus ist, wenn eine Datenübertragung zwischen dem IP-Core (10-1 bis 10-n) und der Speichervorrichtung (30, 401, 501, 601, 720) auftritt; ein Bestimmen, dass der IP-Core (10-1 bis 10-n) in einem Stand-by-Modus ist, während einer Zeitdauer von einem Ende der Datenübertragung bis zu einem Power-Gating des IP-Cores (10-1 bis 10-n); ein Bestimmen, dass der IP-Core (10-1 bis 10-n) in einem Schlafmodus ist während einer Zeitdauer von dem Power-Gating des IP-Cores (10-1 bis 10-n) bis zu einer Zeit, wenn die Leistungsversorgung wieder aufgenommen wird aufgrund des Auftretens einer Datenübertragung zwischen dem IP-Core (10-1 bis 10-n) und der Speichervorrichtung (30, 401, 501, 601, 720); ein Bestimmen, dass der IP-Core (10-1 bis 10-n) in einem Aufwachmodus ist während einer Zeitdauer von dem Beginn der Wiederaufnahme der Leistungsversorgung bis zu einer Zeit, wenn der IP-Core (10-1 bis 10-n) eine Betriebsleistung für den normalen Betriebsmodus erreicht.
  22. Verfahren nach Anspruch 21, wobei das Bestimmen, dass der IP-Core (10-1 bis 10-n) in dem Schlafmodus ist, und das Bestimmen, dass der IP-Core (10-1 bis 10-n) in dem Aufwachmodus ist, Folgendes aufweist: ein Zählen einer Zeitdauer des Stand-by-Modus; ein Vergleichen der gezählten Zeitdauer mit einem vorbestimmten Grenzwert; ein Bestimmen, dass der IP-Core (10-1 bis 10-n) in dem Schlafmodus ist, wenn die gezählte Zeitdauer wenigstens der Grenzwert ist; und ein Bestimmen, dass der IP-Core (10-1 bis 10-n) in dem Stand-by-Modus ist, wenn die gezählte Zeitdauer geringer als der Grenzwert ist.
  23. Verfahren nach Anspruch 22, wobei die Grenzwerte für wenigstens zwei der IP-Cores (10-1 bis 10-n) unterschiedlich voneinander sind.
  24. Verfahren nach Anspruch 22, wobei der Grenzwert gewählt ist, so dass er die Latenz und den Leistungsverbrauch des IP-Cores (10-1 bis 10-n) minimiert.
  25. Verfahren nach Anspruch 21, wobei das Versorgen des IP-Cores (10-1 bis 10-n) mit der Leistung Folgendes aufweist: ein Zur-Verfügung-Stellen der Betriebsleistung für den IP-Core (10-1 bis 10-n) in dem normalen Betriebsmodus; ein Zur-Verfügung-Stellen einer Stand-by-Leistung, welche geringer ist als die Betriebsleistung, für den IP-Core (10-1 bis 10-n) in dem Stand-by-Modus; ein Unterbrechen der Leistung zu dem IP-Core (10-1 bis 10-n) in dem Schlafmodus; und ein schrittweises Zur-Verfügung-Stellen von Leistung für den IP-Core (10-1 bis 10-n) von keiner Leistung bis hin zu der Betriebsleistung in dem Aufwachmodus.
  26. Verfahren zum Betreiben einer Vorrichtung, welche wenigstens zwei Intellectual Property-Cores (IP-Cores) (10-1 bis 10-n) aufweist, welche mit einer Speichervorrichtung (30, 401, 501, 601, 720) kommunizieren können, wobei das Verfahren Folgendes aufweist: ein Überwachen von Datentransaktionen zwischen jedem der IP-Cores (10-1 bis 10-n) und der Speichervorrichtung (30, 401, 501, 601, 720); ein Bestimmen eines Zustands jedes IP-Cores (10-1 bis 10-n) in Antwort auf die überwachten Datentransaktionen; und ein individuelles Steuern von Leistung, welche in jedem der IP-Cores (10-1 bis 10-n) gemäß seinem jeweiligen Zustand zur Verfügung gestellt wird.
  27. Verfahren nach Anspruch 26, wobei das Bestimmen des Zustands jedes der IP-Cores (10-1 bis 10-n) ein Bestimmen für jeden IP-Core (10-1 bis 10-n) aufweist, ob er in einem Betriebszustand ist, ob er in einem Stand-by-Zustand ist, ob er in einem Schlafzustand ist und ob er in einem Aufwachzustand ist.
  28. Verfahren nach Anspruch 27, wobei das Bestimmen des Zustands jedes der IP-Cores (10-1 bis 10-n) ein Bestimmen aufweist, dass der Zustand eines der IP-Cores (10-1 bis 10-n) in dem Betriebszustand ist, wenn eine Datentransaktion zwischen dem einen IP-Core (10-1 bis 10-n) und der Speichervorrichtung (30, 401, 501, 601, 720) durchgeführt wird.
  29. Verfahren nach Anspruch 27, wobei das Bestimmen des Zustands jedes der IP-Cores (10-1 bis 10-n) ein Bestimmen aufweist, dass der Zustand von einem der IP-Cores (10-1 bis 10-n) der Stand-by-Zustand ist, wenn keine Datentransaktion zwischen dem einen IP-Core (10-1 bis 10-n) und der Speichervorrichtung (30, 401, 501, 601, 720) durchgeführt wird und eine Zeitdauer, welche seit einer unmittelbar vorausgehenden Datentransaktion zwischen dem einen IP-Core (10-1 bis 10-n) und der Speichervorrichtung (30, 401, 501, 601, 720) vergangen ist, geringer als ein Grenzwert ist.
  30. Verfahren nach Anspruch 27, wobei das Bestimmen des Zustands jedes der IP-Cores (10-1 bis 10-n) ein Bestimmen aufweist, dass der Zustand eines der IP-Cores (10-1 bis 10-n) der Schlafzustand ist, wenn keine Datentransaktion zwischen dem einen IP-Core (10-1 bis 10-n) und der Speichervorrichtung (30, 401, 501, 601, 720) durchgeführt wird und eine Zeitdauer, welche seit einer unmittelbar vorangehenden Datentransaktion zwischen dem einen IP-Core (10-1 bis 10-n) und der Speichervorrichtung (30, 401, 501, 601, 720) verstrichen ist, größer ist als ein Grenzwert.
DE102013110340.5A 2012-09-27 2013-09-19 Ein-Chip-System mit der Fähigkeit zum Steuern einer Leistungsversorgung gemäß einer Datentransaktion und Verfahren zum Betreiben desselben Pending DE102013110340A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020120107589A KR102001414B1 (ko) 2012-09-27 2012-09-27 데이터 트랜잭션에 따라 전력공급을 제어하는 시스템-온-칩 및 그 동작방법
KR10-2012-0107589 2012-09-27

Publications (1)

Publication Number Publication Date
DE102013110340A1 true DE102013110340A1 (de) 2014-03-27

Family

ID=50235492

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013110340.5A Pending DE102013110340A1 (de) 2012-09-27 2013-09-19 Ein-Chip-System mit der Fähigkeit zum Steuern einer Leistungsversorgung gemäß einer Datentransaktion und Verfahren zum Betreiben desselben

Country Status (5)

Country Link
US (1) US9395777B2 (de)
JP (1) JP6215630B2 (de)
KR (1) KR102001414B1 (de)
CN (1) CN103699202B (de)
DE (1) DE102013110340A1 (de)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11296504B2 (en) 2010-11-24 2022-04-05 Corning Optical Communications LLC Power distribution module(s) capable of hot connection and/or disconnection for wireless communication systems, and related power units, components, and methods
WO2012071367A1 (en) 2010-11-24 2012-05-31 Corning Cable Systems Llc Power distribution module(s) capable of hot connection and/or disconnection for distributed antenna systems, and related power units, components, and methods
US10257056B2 (en) 2012-11-28 2019-04-09 Corning Optical Communications LLC Power management for distributed communication systems, and related components, systems, and methods
EP3039814B1 (de) 2013-08-28 2018-02-21 Corning Optical Communications Wireless Ltd. Leistungssteuerung für verteilte kommunikationssysteme sowie entsprechende komponenten, systeme und verfahren
WO2015079435A1 (en) * 2013-11-26 2015-06-04 Corning Optical Communications Wireless Ltd. Selective activation of communications services on power-up of a remote unit(s) in a distributed antenna system (das) based on power consumption
US9851777B2 (en) 2014-01-02 2017-12-26 Advanced Micro Devices, Inc. Power gating based on cache dirtiness
US9720487B2 (en) 2014-01-10 2017-08-01 Advanced Micro Devices, Inc. Predicting power management state duration on a per-process basis and modifying cache size based on the predicted duration
US9625971B2 (en) * 2014-01-10 2017-04-18 Taiwan Semiconductor Manufacturing Company, Ltd. System and method of adaptive voltage frequency scaling
US9244747B2 (en) * 2014-03-13 2016-01-26 Qualcomm Incorporated System and method for providing dynamic clock and voltage scaling (DCVS) aware interprocessor communication
KR20150113569A (ko) * 2014-03-31 2015-10-08 삼성전자주식회사 전자 장치의 저전력 시스템을 위한 전력 제어 방법 및 장치
US9507410B2 (en) * 2014-06-20 2016-11-29 Advanced Micro Devices, Inc. Decoupled selective implementation of entry and exit prediction for power gating processor components
US9549373B2 (en) * 2014-07-28 2017-01-17 Apple Inc. Method for waking a data transceiver through data reception
KR20160018204A (ko) * 2014-08-08 2016-02-17 삼성전자주식회사 전자 장치, 온 칩 메모리 장치 및 온 칩 메모리의 운영 방법
US20160091957A1 (en) * 2014-09-26 2016-03-31 Suketu R. Partiwala Power management for memory accesses in a system-on-chip
KR102325453B1 (ko) * 2014-12-04 2021-11-11 삼성전자주식회사 반도체 장치의 동작 방법
KR102301639B1 (ko) * 2015-01-23 2021-09-14 삼성전자주식회사 SoC(System-on Chip), 그의 전력 관리 방법 및 전자 장치
CN104793723A (zh) * 2015-05-13 2015-07-22 中国电子科技集团公司第四十七研究所 一种基于电平检测的低功耗控制电路
US10078356B2 (en) * 2015-08-20 2018-09-18 Intel Corporation Apparatus and method for saving and restoring data for power saving in a processor
KR102385552B1 (ko) * 2015-12-29 2022-04-12 삼성전자주식회사 시스템-온-칩 및 이를 포함하는 전자 장치
US10248155B2 (en) 2016-01-25 2019-04-02 Samsung Electronics Co., Ltd. Semiconductor device including clock generating circuit and channel management circuit
US10296066B2 (en) 2016-01-25 2019-05-21 Samsung Electronics Co., Ltd. Semiconductor device, semiconductor system, and method of operating the semiconductor device
DE102017110821A1 (de) 2016-01-25 2018-07-26 Samsung Electronics Co., Ltd. Halbleitervorrichtung
US10303203B2 (en) 2016-01-25 2019-05-28 Samsung Electronics Co., Ltd. Semiconductor device, semiconductor system and method for operating semiconductor device
US10209734B2 (en) 2016-01-25 2019-02-19 Samsung Electronics Co., Ltd. Semiconductor device, semiconductor system, and method of operating the semiconductor device
KR102467172B1 (ko) 2016-01-25 2022-11-14 삼성전자주식회사 반도체 장치
KR20170124017A (ko) 2016-04-29 2017-11-09 삼성전자주식회사 동작 전압을 조절하는 메모리 장치, 메모리 장치를 제어하는 어플리케이션 프로세서 및 메모리 장치의 동작방법
FR3052573B1 (fr) 2016-06-10 2018-06-15 Stmicroelectronics Sa Procede et systeme de determination de la consommation dynamique d'un module au sein d'un dispositif electronique, par exemple un systeme sur puce
US10324519B2 (en) * 2016-06-23 2019-06-18 Intel Corporation Controlling forced idle state operation in a processor
CN106844282A (zh) * 2016-10-26 2017-06-13 安徽扬远信息科技有限公司 一种密码芯片中的多ip核集成方法
TWI604326B (zh) * 2016-10-27 2017-11-01 財團法人工業技術研究院 基於fpga之系統功率評估裝置與方法
KR20180085605A (ko) 2017-01-19 2018-07-27 삼성전자주식회사 핸드쉐이크를 이용하여 메모리의 전력을 조절하는 시스템 온 칩 및 이의 동작 방법
WO2020258392A1 (zh) * 2019-06-25 2020-12-30 咸阳彩虹光电科技有限公司 主动式矩阵显示装置和驱动电路板组件
CN112835834B (zh) * 2019-11-25 2024-03-19 瑞昱半导体股份有限公司 数据传输系统
US11640194B2 (en) 2021-06-29 2023-05-02 Red Hat, Inc. Coordinating dynamic power scaling of agents based on power correlations of agent instructions
TWI788894B (zh) * 2021-06-29 2023-01-01 新唐科技股份有限公司 記憶體控制電路及快閃記憶體之抹除操作的控制方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120107589A (ko) 2011-03-22 2012-10-04 건국대학교 산학협력단 온도체 가공을 활용한 계육 가공식품 및 그 제조방법

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH086681A (ja) 1994-04-18 1996-01-12 Hitachi Ltd 省電力制御システム
JPH1069325A (ja) 1996-08-28 1998-03-10 Nec Eng Ltd Cpuクロック切り替え回路
US6079022A (en) 1996-10-11 2000-06-20 Intel Corporation Method and apparatus for dynamically adjusting the clock speed of a bus depending on bus activity
JP3570382B2 (ja) * 2001-01-26 2004-09-29 日本電気株式会社 省電力グラフィック制御回路
US6816977B2 (en) * 2001-12-03 2004-11-09 Hewlett-Packard Development Company, L.P. Power reduction in computing devices using micro-sleep intervals
KR100481873B1 (ko) * 2003-02-04 2005-04-11 삼성전자주식회사 절전모드를 갖는 매체 엑세스 제어기
US7206954B2 (en) 2003-02-10 2007-04-17 Broadcom Corporation Reduced power consumption for embedded processor
US7299370B2 (en) * 2003-06-10 2007-11-20 Intel Corporation Method and apparatus for improved reliability and reduced power in a processor by automatic voltage control during processor idle states
JP2005062955A (ja) * 2003-08-14 2005-03-10 Toshiba Corp 電子機器及び電源制御方法
US7711966B2 (en) 2004-08-31 2010-05-04 Qualcomm Incorporated Dynamic clock frequency adjustment based on processor load
CN1801011A (zh) * 2004-12-31 2006-07-12 乐金电子(昆山)电脑有限公司 电源控制设备及方法
US7562234B2 (en) 2005-08-25 2009-07-14 Apple Inc. Methods and apparatuses for dynamic power control
US7797563B1 (en) * 2006-06-09 2010-09-14 Oracle America System and method for conserving power
US7949887B2 (en) 2006-11-01 2011-05-24 Intel Corporation Independent power control of processing cores
JP4838112B2 (ja) 2006-12-25 2011-12-14 富士通株式会社 消費電力調整プログラム,装置,および処理方法
US8405617B2 (en) 2007-01-03 2013-03-26 Apple Inc. Gated power management over a system bus
US8041968B2 (en) 2007-01-04 2011-10-18 Apple Inc. Power management for driving display with baseband portion when application portion is in low power mode
US7908501B2 (en) 2007-03-23 2011-03-15 Silicon Image, Inc. Progressive power control of a multi-port memory device
US7870407B2 (en) * 2007-05-18 2011-01-11 Advanced Micro Devices, Inc. Dynamic processor power management device and method thereof
US8078891B2 (en) 2008-06-30 2011-12-13 Intel Corporation Method, device, and system for guaranteed minimum processor power state dwell time
JP5169729B2 (ja) 2008-10-23 2013-03-27 日本電気株式会社 ノード装置、冗長システム、電力制御方法およびプログラム
CN101751361B (zh) 2008-12-16 2012-10-10 联想(北京)有限公司 控制移动终端中数据传输接口的切换方法及终端设备
US7915910B2 (en) 2009-01-28 2011-03-29 Apple Inc. Dynamic voltage and frequency management
CN101515196A (zh) 2009-03-18 2009-08-26 华为技术有限公司 嵌入式系统功耗控制的方法、系统及装置
US8219834B2 (en) 2009-08-12 2012-07-10 International Business Machines Corporation Predictive power gating with optional guard mechanism
US8219833B2 (en) 2009-08-12 2012-07-10 International Business Machines Corporation Two-level guarded predictive power gating
JP2011044025A (ja) 2009-08-21 2011-03-03 Toshiba Corp 半導体集積回路およびパワーゲーティング制御方法
JP2011123798A (ja) 2009-12-14 2011-06-23 Nec Computertechno Ltd データ転送装置及び方法
JP2011170647A (ja) 2010-02-19 2011-09-01 Nec Corp 信号処理装置、信号処理方法およびプログラム
JP5407976B2 (ja) 2010-03-25 2014-02-05 三菱電機株式会社 通信装置、子局装置、通信システム及び通信方法
US8339891B2 (en) 2010-05-25 2012-12-25 Lsi Corporation Power savings and/or dynamic power management in a memory
US8850236B2 (en) 2010-06-18 2014-09-30 Samsung Electronics Co., Ltd. Power gating of cores by an SoC
US9268611B2 (en) 2010-09-25 2016-02-23 Intel Corporation Application scheduling in heterogeneous multiprocessor computing platform based on a ratio of predicted performance of processor cores
CN105396635A (zh) * 2015-12-23 2016-03-16 常州大学 一种高温坩埚单一模式静止冷却简易设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120107589A (ko) 2011-03-22 2012-10-04 건국대학교 산학협력단 온도체 가공을 활용한 계육 가공식품 및 그 제조방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Time-based Power Control Architecture for Application Processes in Smartphones", Electronics Letters, Vol. 48, no. 25, Dec. 2012

Also Published As

Publication number Publication date
KR20140040933A (ko) 2014-04-04
CN103699202B (zh) 2019-01-04
US20140089697A1 (en) 2014-03-27
KR102001414B1 (ko) 2019-07-18
JP2014071903A (ja) 2014-04-21
CN103699202A (zh) 2014-04-02
US9395777B2 (en) 2016-07-19
JP6215630B2 (ja) 2017-10-18

Similar Documents

Publication Publication Date Title
DE102013110340A1 (de) Ein-Chip-System mit der Fähigkeit zum Steuern einer Leistungsversorgung gemäß einer Datentransaktion und Verfahren zum Betreiben desselben
DE112012000749B4 (de) Techniken zum Verwalten des Stromverbrauchszustands eines Prozessors
DE112006003575B4 (de) Verfahren und Vorrichtung für einen Nullspannungs-Prozessorschlafzustand
DE112015006117B4 (de) Halbleiterlaufwerk mit selbstaktualisierungsenergiesparmodus
DE60128396T9 (de) Computer-peripheriegerät, das betreibbar bleibt, wenn die operationen des zentralprozessors suspendiert werden
DE112007001987B4 (de) Überführen einer Rechenplattform in einen Systemzustand niedriger Leistung
DE102010019487B4 (de) Speichervorrichtung, Datenverarbeitungsvorrichtung und Verfahren
DE102011054333A1 (de) Verfahren zum Laden von Hilfsspannungsversorgungsleitungen in Datenspeichervorrichtungen und damit in Beziehung stehenden Vorrichtungen
DE102020120019A1 (de) Proaktive di/dt-spannungs-dachabfall-abschwächung
DE112019001522T5 (de) System, vorrichtung und verfahren zur optimierten drosselung eines prozessors
DE112018000487T5 (de) Mechanismus zur Erweiterung der Spitzenleistungsfähigkeit einer mobilen Plattform
DE102009015495A1 (de) Energieverwaltung bei einer Plattform basierend auf der Lenkung über die Wartezeit
DE112015002522T5 (de) System-on-a-chip mit always-on-prozessor, der das SOC rekonfiguriert und Nur-Speicher-Kommunikationsmodus unterstützt
DE112019000662T5 (de) System, Vorrichtung und Verfahren für ein Handschlag-Protokoll für Niedrigleistungszustandsübergänge
DE102014115359A1 (de) Spannungsregler, Speichercontroller und Spannungsversorgungsverfahren dafür
DE112020003722T5 (de) Digital-linearer hybrid-schaltkondensator-spannungsregler
DE112019002299T5 (de) Variabel adaptiver integrierter computational digital low-dropout-regler
EP2159667B1 (de) Computersystem und Verfahren zum Energie sparenden Betrieb eines Computersystems
DE102018132807A1 (de) Anwendungsprozessor, elektronischer Fahrzeugprozessor und Berechnungsvorrichtung mit Anwendungsprozessor
DE112012006070T5 (de) Speichergerät, das auf Gerätebefehle zur Betriebssteuerung reagiert
DE112018005673T5 (de) Konfigurierbares leeren von daten aus einem flüchtigen speicher in einen nicht flüchtigen speicher
DE102021130628A1 (de) Sicherheitsverriegelungseinrichtung und verfahren für geistiges eigentum
DE102021121216A1 (de) Einrichtung und Verfahren zum Steuern eines Prozessorspitzensttroms
DE112018003997T5 (de) Mechanismus zum eintreten in oder austreten aus bewahrungspegelspannung, während ein system-on-a-chip in einem niederleistungsmodus ist
DE102020134338A1 (de) Inferenzbasierte schnellladung

Legal Events

Date Code Title Description
R012 Request for examination validly filed