-
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 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 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 Th
OP, welcher in
7 veranschaulicht ist, kann unter Verwendung der Gleichungen 1–3 erhalten werden:
-
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. a
iu
i[n] jedes IP-Cores, wobei „i” ein Index jedes IP-Cores ist, n die Anzahl von IP-Cores ist, x[] eine Leistungsaufnahme ist, und a
iu
i[n] eine Leistungsaufnahme ist, welcher dem Betriebszustand jedes IP-Cores entspricht. Jeder IP-Core arbeitet gemäß einem digitalen Takt und a
i[n] bedeutet ein Verbrauchen von Leistung des i-ten IP-Cores in dem n-ten Zyklus des digitalen Takts. u
i[n] ist die Steuereingabe in den i-ten IP-Core. Wenn beispielsweise der i-ten IP-Core in dem Betriebszustand arbeitet, kann u
i[n] 1 sein. Wenn der i-te IP-Core in dem Stand-by-Zustand oder -Modus arbeitet, kann u
i[n] 2 sein. Wenn der i-te IP-Core in dem Schlafzustand oder -Modus arbeitet, kann u
i[n] 3 sein. Wenn der i-te IP-Core in dem Aufwachzustand oder -Modus arbeitet, kann u
i[n] 4 sein. u
i[n] ist jedoch nicht darauf beschränkt und kann unterschiedlich ausgewählt werden. Der Leistungsverbrauch, welcher dem Betriebszustand entspricht, a
iu
i[n], ist definiert als Gleichung 2:
wobei a
i,m0, a
i,m1, a
i,m2 und a
i,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:
-
a
i[n] und u
i[n] können eine Funktion des Grenzwerts Tth sein. In anderen Worten gesagt können a
i,m0, a
i,m1, a
i,m2 und a
i,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, T
lim hat:
wobei C
1 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 L
k 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:
-
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]