DE102015223187A1 - Ein-Chip-Systeme zum Steuern von Leistung mittels Auslastungen, Verfahren zum Betreiben dieser, und Computervorrichtungen, die diese umfassen - Google Patents

Ein-Chip-Systeme zum Steuern von Leistung mittels Auslastungen, Verfahren zum Betreiben dieser, und Computervorrichtungen, die diese umfassen Download PDF

Info

Publication number
DE102015223187A1
DE102015223187A1 DE102015223187.9A DE102015223187A DE102015223187A1 DE 102015223187 A1 DE102015223187 A1 DE 102015223187A1 DE 102015223187 A DE102015223187 A DE 102015223187A DE 102015223187 A1 DE102015223187 A1 DE 102015223187A1
Authority
DE
Germany
Prior art keywords
count
events
dvfs
cpu
master
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.)
Withdrawn
Application number
DE102015223187.9A
Other languages
English (en)
Inventor
Eui Cheol Lim
Chang-Hoon Oh
Dong Hee Han
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
Priority claimed from KR1020150144046A external-priority patent/KR20160063974A/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102015223187A1 publication Critical patent/DE102015223187A1/de
Withdrawn 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/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • 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

Abstract

Ein Ein-Chip-System kann umfassen: ein Master-Gerät, das konfiguriert ist zum Ausführen einer dynamischen Spannungs- und Frequenzskalierungs-(DVFS-)Programms; ein Slave-Gerät, das konfiguriert ist zum Kommunizieren mit dem Master-Gerät; und/oder eine Leistungsüberwachungseinheit, die konfiguriert ist zum Empfangen eines ersten Ereignisses, das erzeugt wird, während Befehle von dem Master-Gerät verarbeitet werden, konfiguriert ist zum Erzeugen eines ersten Zählwerts, durch Zählen einer Anzahl von zweiten Ereignissen entsprechend einer Gesamtzahl der Anweisungen, bezogen auf die ersten Ereignisse, und konfiguriert ist zum Erzeugen eines zweiten Zählwerts durch Zählen einer Anzahl von dritten Ereignissen bezogen auf erste Anweisungen, die durch Interaktion zwischen dem Master-Gerät und dem Slave-Gerät verarbeitet werden können unter den ersten Ereignissen. Das DVFS-Programm kann konfiguriert sein zum Erzeugen eines Steuersignals zum Steuern von DVFS von wenigstens dem Master-Gerät und/oder dem Slave-Gerät, basierend auf dem ersten Zählwert und dem zweiten Zählwert.

Description

  • QUERVERWEIS ZU VERWANDTEN ANMELDUNGEN
  • Diese Anmeldung beansprucht nach 35 U.S.C. §119 die koreanische Patentanmeldung Nr. 10-2014-0167104 , eingereicht am 27. November 2014 und 10-2015-0144046 , eingereicht am 15. Oktober 2015 in dem koreanischen Amt für geistiges Eigentum (KIPO), deren gesamter Inhalt hiermit durch Bezugnahme aufgenommen wird.
  • HINTERGRUND
  • 1. Gebiet
  • Einige beispielhafte Ausführungsformen der erfinderischen Konzepte können allgemein ein Ein-Chip-System (system on chip, SoC) betreffen. Einige beispielhafte Ausführungsformen der erfinderischen Konzepte können im Allgemeinen SoCs zur Steuerung dynamischer Spannung- und Frequenzskalierung (DVFS), entsprechend von Typen von Auslastungen von einem Master und Steuerung von DVFS eines Sklaves betreffen, der mit dem Master kommuniziert. Einige beispielhafte Ausführungsformen der erfinderischen Konzepte können im Allgemeinen Verfahren zum Betreiben von SoCs betreffen. Einige beispielhafte Ausführungsformen der erfinderischen Konzepte können im Allgemeinen Computervorrichtungen mit SoCs betreffen.
  • 2. Beschreibung der verwandten Technik
  • Herkömmlicherweise kann DVFS in Rechnersystemen mittels nur Informationen über Zielgeräte der DVFS durchgeführt werden. In DVFS von zentralen Verarbeitungseinheiten (CPUs), können die Frequenzen von Taktsignalen, die an die CPUs angelegt werden, und die Höhe der Betriebsspannung erhöht werden, wenn aktuelle Belastungen, die in den CPUs gemessen werden, höher als obere Schwellenwerte sind, und können verringert werden, wenn die aktuelle Belastungen niedriger als niedrigere Schwellenwerte sind.
  • In Fällen, in denen die Betriebsfrequenzen von CPUs, die mit Speichersystemen kommunizieren hoch sind, während die Betriebsfrequenzen der Speichersysteme niedrig sind, können herkömmliche DVFS-Verfahren die Betriebsfrequenzen und Spannungen der CPUs erhöhen, wenn die Auslastungen der CPUs sich erhöhen. Wenn jedoch die Auslastungen der CPUs speicherorientierte Arbeitslasten sind, kann sich die Leistung der CPUs nicht erhöhen, auch wenn sich die Betriebsfrequenzen und Spannungen der CPUs erhöhen, sondern nur die Leistungsaufnahmen der CPUs können sich erhöhen.
  • ZUSAMMENFASSUNG
  • Einige beispielhafte Ausführungsformen der erfinderischen Konzepte können SoCs zum Steuern von DVFS je nach Art der Auslastungen des Masters zur Verfügung stellen.
  • Einige beispielhafte Ausführungsformen der erfinderischen Konzepte können SoCs zum Steuern von DVFS von Slaves zur Verfügung stellen, die mit Master kommunizieren.
  • Einige beispielhafte Ausführungsformen der erfinderischen Konzepte können Verfahren zum Betreiben von SoCs betreffen.
  • Einige beispielhafte Ausführungsformen der erfinderischen Konzepte können Computervorrichtungen mit den SoCs betreffen.
  • In einigen beispielhaften Ausführungsformen kann ein Ein-Chip-System umfassen: ein Master-Gerät, das konfiguriert ist zum Ausführen einer dynamischen Spannungs- und Frequenzskalierungs-(DVFS-)Programms; ein Slave-Gerät, das konfiguriert ist zum Kommunizieren mit dem Master-Gerät; und/oder eine Leistungsüberwachungseinheit, die konfiguriert ist zum Empfangen eines ersten Ereignisses, das erzeugt wird, während Befehle von dem Master-Gerät verarbeitet werden, konfiguriert ist zum Erzeugen eines ersten Zählwerts, durch Zählen einer Anzahl von zweiten Ereignissen entsprechend einer Gesamtzahl der Anweisungen, bezogen auf die ersten Ereignisse, und konfiguriert ist zum Erzeugen eines zweiten Zählwerts durch Zählen einer Anzahl von dritten Ereignissen bezogen auf erste Anweisungen, die durch Interaktion zwischen dem Master-Gerät und dem Slave-Gerät verarbeitet werden können unter den ersten Ereignissen. Das DVFS-Programm kann konfiguriert sein zum Erzeugen eines Steuersignals zum Steuern von DVFS von wenigstens dem Master-Gerät und/oder dem Slave-Gerät, basierend auf dem ersten Zählwert und dem zweiten Zählwert.
  • In einigen beispielhaften Ausführungsformen kann das Master-Gerät eine zentrale Verarbeitungseinheit (CPU), eine Grafikverarbeitungseinheit (GPU), ein Bildsignalprozessor (ISP), ein digitaler Signalprozessors (DSP) oder ein Multimedia-Prozessor sein. Das Slave-Gerät kann eine Speicherschnittstelle oder eine Eingabe/Ausgabe-Schnittstelle sein.
  • In einigen beispielhaften Ausführungsformen kann das Ein-Chip-System des Weiteren umfassen: eine Taktmanagementeinheit, die konfiguriert ist zum Steuern von wenigstens einer ersten Frequenz von einem ersten Taktsignal, das an das Master-Gerät angelegt ist und/oder einer zweiten Frequenz von einem zweiten Taktsignal, das an das Slave-Gerät angelegt ist, in Reaktion auf das Steuersignal.
  • In einigen beispielhaften Ausführungsformen kann das Ein-Chip-System des Weiteren umfassen: eine Energieverwaltungseinheit, die konfiguriert ist zum Steuern eines integrierten Power-Management-Schaltkreises zum Steuern von wenigstens einem Pegel einer ersten Spannung, die an das Master-Gerät angelegt ist und/oder einem Pegel einer zweiten Spannung, die an das Slave-Gerät angelegt ist, in Reaktion auf das Steuersignal.
  • In einigen beispielhaften Ausführungsformen können die zweiten Ereignisse mit Anweisungen verbunden sein, die von dem Master-Gerät ausgeführt werden und die dritten Ereignisse sind mit L2-Cache-Misses verbunden.
  • In einigen beispielhaften Ausführungsformen kann das DVFS-Programm konfiguriert sein zum Berechnen eines Misses-per-Kilo-Anweisungen-(misses-per-kilo-instructions, MPKI-)Wertes, basierend auf dem ersten Zählwert und dem zweiten Zählwert, und/oder kann konfiguriert sein zum Erzeugen des Steuersignals basierend auf dem MPKI-Wert. Der zweite Zählwert kann ein L2-Cache-Miss-Zählwert sein.
  • In einigen beispielhaften Ausführungsformen kann eine Computervorrichtung umfassen: ein Master-Gerät, das konfiguriert ist zum Ausführen eines dynamischen Spannungs- und Frequenzskalierungs-(DVFS-)Programms; ein Slave-Gerät, das konfiguriert ist zum Kommunizieren mit dem Master-Gerät; eine Leistungsüberwachungseinheit, die konfiguriert ist zum Empfangen eines ersten Ereignisses, das erzeugt wird, während Befehle von dem Master-Gerät verarbeitet werden, konfiguriert ist zum Erzeugen eines ersten Zählwerts, durch Zählen einer Anzahl von zweiten Ereignissen entsprechend einer Gesamtzahl der Anweisungen, bezogen auf die ersten Ereignisse, und konfiguriert ist zum Erzeugen eines zweiten Zählwerts durch Zählen einer Anzahl von dritten Ereignissen bezogen auf erste Anweisungen, die durch Interaktion zwischen dem Master-Gerät und dem Slave-Gerät verarbeitet werden können unter den ersten Ereignissen; und/oder einen integrierten Power-Management-Schaltkreis (PMIC), der konfiguriert ist zum Bereitstellen einer entsprechende Betriebsspannung an das Master-Gerät, das Slave-Gerät und die Leistungsüberwachungseinheit. Das DVFS-Programm kann konfiguriert sein zum Erzeugen eines Steuersignals zum Steuern von DVFS von wenigstens dem Master-Gerät und/oder dem Slave-Gerät, basierend auf dem ersten Zählwert und dem zweiten Zählwert.
  • In einigen beispielhaften Ausführungsformen kann das Master-Gerät eine zentrale Verarbeitungseinheit (CPU), eine Grafikverarbeitungseinheit (GPU), ein Bildsignalprozessor (ISP), ein digitaler Signalprozessors (DSP) oder ein Multimedia-Prozessor sein. Das Slave-Gerät kann eine Speicherschnittstelle oder eine Eingabe/Ausgabe-Schnittstelle sein.
  • In einigen beispielhaften Ausführungsformen kann die Computervorrichtung des Weiteren umfassen: eine Taktmanagementeinheit, die konfiguriert ist zum Steuern von wenigstens einer ersten Frequenz von einem ersten Taktsignal, das an das Master-Gerät angelegt ist und/oder einer zweiten Frequenz von einem zweiten Taktsignal, das an das Slave-Gerät angelegt ist, in Reaktion auf das Steuersignal.
  • In einigen beispielhaften Ausführungsformen kann die Computervorrichtung des Weiteren umfassen: eine Energieverwaltungseinheit, die konfiguriert ist zum Steuern des PMIC zum Steuern von wenigstens einem Pegel einer ersten Spannung, die an das Master-Gerät angelegt ist und/oder einem Pegel einer zweiten Spannung, die an das Slave-Gerät angelegt ist, in Reaktion auf das Steuersignal.
  • In einigen beispielhaften Ausführungsformen können die zweiten Ereignisse mit Anweisungen verbunden sein, die von dem Master-Gerät ausgeführt werden und die dritten Ereignisse sind mit L2-Cache-Misses verbunden.
  • In einigen beispielhaften Ausführungsformen kann das DVFS-Programm konfiguriert sein zum Berechnen eines Misses-per-Kilo-Anweisungen-(misses-per-kilo-instructions, MPKI-)Wertes, basierend auf dem ersten Zählwert und dem zweiten Zählwert, und/oder kann konfiguriert sein zum Erzeugen des Steuersignals basierend auf dem MPKI-Wert. Der zweite Zählwert kann sich aus der Zählung von L2-Cache-Misses ergeben.
  • In einigen beispielhaften Ausführungsformen das die Computervorrichtung des Weiteren umfassen: einen Speicher. Das Master-Gerät kann eine zentrale Verarbeitungseinheit (CPU), eine Grafikverarbeitungseinheit (GPU), ein Bildsignalprozessor (ISP), ein digitaler Signalprozessors (DSP) oder ein Multimedia-Prozessor sein. Das Slave-Gerät kann eine Speicherschnittstelle sein, die konfiguriert ist zum Steuern des Betriebs des Speichers, gemäß Steuerung des Master-Geräts.
  • In einigen beispielhaften Ausführungsformen kann ein Verfahren zum Betreiben eines Ein-Chip-Systems, das ein Master-Gerät umfasst, welches ein dynamisches Spannungs- und Frequenzskalierungs-(DVFS-)Programm ausführt, und ein Slave-Gerät umfasst, das mit dem Master-Gerät kommuniziert, umfassen: Empfangen von ersten Ereignissen, die erzeugt werden, während Anweisungen durch das Master-Gerät verarbeitet werden und Erzeugen eines ersten Zählwertes entsprechend einer Anzahl der Anweisungen unter den ersten Ereignissen; und/oder das DVFS-Programm, das die DVFS des Master-Geräts und der DVFS des Slave-Geräts, basierend auf dem ersten Zählwert steuert.
  • In einigen beispielhaften Ausführungsformen kann das Master-Gerät eine zentrale Verarbeitungseinheit (CPU), eine Grafikverarbeitungseinheit (GPU), ein Bildsignalprozessor (ISP), ein digitaler Signalprozessors (DSP) oder ein Multimedia-Prozessor sein. Das Slave-Gerät kann eine Speicherschnittstelle oder eine Eingabe/Ausgabe-Schnittstelle sein.
  • In einigen beispielhaften Ausführungsformen kann das Verfahren des Weiteren umfassen: Erzeugen eines zweiten Zählwerts durch Zählen einer Anzahl von dritten Ereignissen bezogen auf erste Anweisungen, die durch Interaktion zwischen dem Master-Gerät und dem Slave-Gerät verarbeitet werden können unter den ersten Ereignissen. Das DVFS-Programm kann konfiguriert sein zum Steuern der DVFS des Master-Geräts und der DVFS des Slave-Geräts, basierend auf dem ersten Zählwert und dem zweiten Zählwert.
  • In einigen beispielhaften Ausführungsformen kann der erste Zählwert ein Zyklen-pro-Anweisung (CPI) Wert sein und der zweite Zählwert ist ein L2-L2-Cache-Miss-Zählwert.
  • In einigen beispielhaften Ausführungsformen kann das DVFS-Programm konfiguriert sein zum Steuern der DVFS des Master-Geräts, wenn der CPI-Wert kleiner als ein erster Referenzwert ist. Das DVFS-Programm kann konfiguriert sein zum Steuern der DVFS des Master-Geräts, wenn der CPI-Wert größer als der erste Referenzwert ist und der L2-Cache-Miss-Zählwert kleiner als ein zweiter Referenzwert ist.
  • In einigen beispielhaften Ausführungsformen kann das DVFS-Programm konfiguriert sein zum Berechnen eines Misses-per-Kilo-Anweisungen-(misses-per-kilo-instructions, MPKI-)Wertes, basierend auf dem ersten Zählwert und dem zweiten Zählwert, und/oder kann konfiguriert sein zum Steuern des DVFS des Master-Geräts und des DVFS des Slave-Geräts, basierend auf dem MPKI-Wert, wobei der erste Zählwert eine Gesamtzahl der Anweisungen ist, wobei der zweite Zählwert ein L2-Cache-Miss-Zählwert ist.
  • In einigen beispielhaften Ausführungsformen kann das DVFS-Programm konfiguriert sein zum Steuern des Master-Geräts, wenn der MPKI-Wert kleiner als ein erster Referenzwert ist, kann konfiguriert sein zum Steuern des DVFS des Slave-Geräts, wenn der MPKI größer oder gleich einem zweiten Referenzwert ist, und/oder kann konfiguriert sein zum Steuern von DVFS des Master-Geräts und von DVFS des Slave-Geräts, wenn der MPKI-Wert größer oder gleich dem ersten Referenzwert ist und kleiner als der zweite Referenzwert ist.
  • In einigen beispielhaften Ausführungsformen kann eine Computervorrichtung umfassen: eine erste Vorrichtung, die konfiguriert ist zum Ausführen eines Programms; eine zweite Vorrichtung, die konfiguriert ist zum Kommunizieren mit der ersten Vorrichtung; eine dritte Vorrichtung, die konfiguriert ist zum Empfangen von ersten Ereignissen, die erzeugt werden, während Befehle von der ersten Vorrichtung verarbeitet werden, konfiguriert ist zum Erzeugen eines ersten Zählwerts, durch Zählen einer Anzahl von zweiten Ereignissen entsprechend einer Gesamtzahl der Anweisungen, bezogen auf die ersten Ereignisse, und konfiguriert ist zum Erzeugen eines zweiten Zählwerts durch Zählen einer Anzahl von dritten Ereignissen bezogen auf erste Anweisungen, die durch Interaktion zwischen der ersten Vorrichtung und der zweiten Vorrichtung verarbeitet werden können unter den ersten Ereignissen; und/oder eine vierte Vorrichtung, die konfiguriert ist zum Bereitstellen einer Betriebsspannung an die erste Vorrichtung oder die zweite Vorrichtung. Das Programm kann konfiguriert sein zum Erzeugen eines Steuersignals zum Steuern der ersten Vorrichtung, des Slaves, oder der ersten Vorrichtung basierend auf dem ersten Zählwert und dem zweiten Zählwert.
  • In einigen beispielhaften Ausführungsformen kann das Programm ein dynamisches Spannungs- und Frequenzskalierungs-(DVFS-)Programm umfassen.
  • In einigen beispielhaften Ausführungsformen kann das Programm konfiguriert sein zum Steuern von Betriebsspannungen an die erste Vorrichtung und die zweite Vorrichtung.
  • In einigen beispielhaften Ausführungsformen kann die erste Vorrichtung eine zentrale Verarbeitungseinheit (CPU), eine Grafikverarbeitungseinheit (GPU), ein Bildsignalprozessor (ISP), ein digitaler Signalprozessors (DSP) oder ein Multimedia-Prozessor sein.
  • In einigen beispielhaften Ausführungsformen kann die zweite Vorrichtung eine Speicherschnittstelle oder eine Eingangs-/Ausgangsschnittstelle umfassen.
  • In einigen beispielhaften Ausführungsformen kann die Computervorrichtung des Weiteren umfassen: eine fünfte Vorrichtung, die konfiguriert ist zum Steuern einer Frequenz, die der ersten Vorrichtung oder der zweiten Vorrichtung zur Verfügung gestellt wird.
  • In einigen beispielhaften Ausführungsformen kann die Computervorrichtung des Weiteren umfassen: eine fünfte Vorrichtung, die konfiguriert ist zum Steuern eines Pegels der Betriebsspannung, die der ersten Vorrichtung oder der zweiten Vorrichtung zur Verfügung gestellt wird.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die obigen und/oder andere Aspekte und Vorteile werden deutlicher und leichter aus der folgenden detaillierten Beschreibung von Ausführungsbeispielen in Verbindung mit den beigefügten Zeichnungen ersichtlich, in denen gilt:
  • 1 ist ein schematisches Blockdiagramm einer Computervorrichtung, gemäß verschiedener Ausführungsformen der vorliegenden Erfindung;
  • 2 ist ein Diagramm eines Moduls, das in einem dynamischen Spannungs- und Frequenzskalierung-Programm (DVFS) durch den in 1 gezeigten Master ausgeführt wird;
  • 3 ist ein Konzeptdiagramm der Interaktion zwischen einem Master und einem Slave;
  • 4 ist ein Konzeptdiagramm von DVFS von mindestens einem unter einem Master und einem Slave, gemäß einer Rechen-gebundenen oder Speicher-gebundenen Auslastung;
  • 5 ist ein Flussdiagramm von DVFS von mindestens einem unter einem Master und einem Slave, entsprechend einer Auslastung des Masters;
  • 6 ist ein Konzeptdiagramm eines Systems zur Steuerung von DVFS eines Masters und von DVFS eines Slaves;
  • 7 ist ein Flussdiagramm eines Verfahrens zum Betreiben eines Ein-Chip-Systems (SoC), gemäß einigen beispielhafter Ausführungsformen der erfinderischen Konzepte; und
  • 8 ist ein Flussdiagramm eines Verfahrens zum Betreiben eines SoC, gemäß einigen beispielhaften Ausführungsformen der erfinderischen Konzepte.
  • AUSFÜHRLICHE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
  • Beispielhafte Ausführungsformen werden ausführlich, mit Bezug auf die begleitenden Figuren beschrieben. Ausführungsformen können jedoch durch vielerlei verschiedene Formen verkörpert werden und sollten nicht als beschränkend, auf die Ausführungsformen, die im Folgenden kommen, ausgelegt werden. Vielmehr werden diese Ausführungsbeispiele geliefert, so dass diese Offenbarung sorgfältig und vollständig sein wird, und der Umfang vollständig an den Fachmann vermittelt wird. In den Zeichnungen können die Dicken der Schichten und Bereiche zur Klarheit übertrieben dargestellt werden.
  • Es versteht sich, dass, wenn ein Element als ”auf”, ”verbunden”, ”elektrisch verbunden” oder ”mit einer anderen Komponente gekoppelt” bezeichnet wird, es direkt auf, verbunden, elektrisch verbunden bezeichnet werden kann, oder mit dem anderen Bauteil verbunden ist oder dazwischen liegende Bestandteile vorhanden sein können. Wenn im Gegensatz dazu ein Element als ”direkt auf”, ”direkt verbunden mit” oder ”direkt elektrisch verbunden mit”, oder direkt ”gekoppelt mit” einem anderen Element bezeichnet wird, so sind keine dazwischenliegenden Elemente vorhanden. Der hierin benutzte Begriff ”und/oder” beinhaltet jede Kombination von einem oder mehreren der dazugehörigen, aufgelisteten Gegenstände.
  • Es versteht sich, dass auch wenn die Begriffe erste(r), zweite(r), dritte(r) usw. hierin benutzt werden können, um verschiedene Elements, Komponenten, Bereiche, Schichten und/oder Sektionen zu beschreiben, diese Elemente, Komponenten, Bereiche, Schichten und/oder Sektionen nicht auf diese Begriffe eingeschränkt werden sollten. Diese Begriffe werden nur dazu genutzt, um ein Element, eine Komponente, einen Bereich, eine Schicht und/oder eine Sektion von einem anderen Element, Komponente, Bereich, Schicht und/oder Sektion zu unterscheiden. Beispielsweise kann ein(e) erste(s/r) Element, Bestandteil, Bereich, Schicht oder Abschnitt, wie unten diskutiert, auch als zweite(s/r) Element, Bestandteil, Bereich, Schicht oder Abschnitt bezeichnet werden, ohne von der Lehre der beispielhaften Ausführungsformen abzuweichen.
  • Räumlich relative Begriffe wie zum Beispiel ”unterhalb”, ”darunter”, ”niedriger”, ”darüber”, ”obere(r)”, usw., können hierin für die Einfachheit der Beschreibung dazu benutzt, um die Beziehung von einem Element und/oder Merkmal und/oder Komponente zu einem anderem Element und/oder Merkmal und/oder Komponenten zu beschreiben, wie in den Figuren veranschaulicht. Es versteht sich, dass die räumlich relativen Begriffe dazu dienen, verschiedene Orientierungen der Vorrichtung während der Benutzung oder Operation, zusätzlich zu der in den Figuren dargestellten Orientierung zu umfassen.
  • Das hierin benutzte Fachvokabular hat nur den Zweck bestimmte beispielhafte Ausführungsformen zu beschreiben und es nicht dazu gedacht, die beispielhaften Ausführungsformen einzuschränken. Wie hierin verwendet, sollen die Singularformen ”ein”, ”eine” und ”der” sollen auch die Pluralformen umfassen, sofern der Kontext nicht eindeutig etwas anderes angibt. Es versteht sich weiterhin, dass die Begriffe „umfasst”, „umfassend”, „beinhaltet” und/oder „beinhaltend”, wenn sie hierin benutzt werden, die Anwesenheit von genannten Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen, und/oder Komponenten angeben, jedoch nicht die Anwesenheit oder Ergänzung von weiteren, einem oder mehreren anderen Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen, Komponenten, und/oder daraus bestehenden Gruppen ausschließt.
  • Beispielhafte Ausführungsformen sind hierin mit Bezug auf Querschnittsansichten beschrieben, welche schematische Veranschaulichung von idealisierten Ausführungsformen (und dazwischenliegende Strukturen) von beispielhaften Ausführungsformen sind. Demzufolge sind Variationen in den Formen der Darstellungen, beispielsweise aufgrund von Herstellungstechniken und/oder Toleranzen zu erwarten. Folglich sollten beispielhafte Ausführungsformen der Erfindung nicht als, auf die besonderen Formen von hierin dargestellten Bereichen, beschränkend ausgelegt werden, sondern können Abweichungen in ihren Formen aufweisen, welche zum Beispiel von der Herstellung kommen. Beispielsweise kann ein als Rechtecks eingebetteter Bereich abgerundete oder gebogene Merkmale und/oder einem Gradienten in seiner Einbettungs-Konzentration an seinen Rändern aufweisen, statt eines binären Übergangs vom eingebetteten zum nicht-eingebetteten Bereich aufzuweisen. Ebenso kann ein vergrabener Bereich, der durch Einbettung gebildet wird, zu einigen Einbettungen in den Bereich zwischen dem vergrabenen Bereich und die Fläche, durch welche die Einbettung erfolgt führen. Somit sind die Bereiche in den Figuren schematischer Natur und ihre Formen sind nicht dazu vorgesehen, die tatsächliche Form eines Bereichs einer Vorrichtung zu veranschaulichen und sind nicht zur Begrenzung des Umfangs der beispielhaften Ausführungsformen vorgesehen.
  • Wenn nicht anders festgelegt, haben alle hierin benutzten Begriffe (einschließlich technischer und wissenschaftlicher Begriffe) die selbe Bedeutung, wie sie von einem Fachmann auf dem Gebiet der Technik, zu welchem die beispielhaften Ausführungsformen gehören, verstanden werden. Es versteht sich weiterhin, dass Begriffe, wie zum Beispiel solche, die in allgemein benutzten Wörterbüchern festgelegt werden, so verstanden werden, dass sie eine Bedeutung haben, welche konsistent ist mit ihrer Bedeutung im Zusammenhang der relevanten Technik und/oder der zu Grunde liegenden Beschreibung, und sollte nicht in einer idealisierten oder übermäßig formalen Art interpretiert werden, es sei denn, dies ist hierin ausdrücklich so festgelegt.
  • Es wird nun auf die beispielhafte Ausführungsformen eingegangen, deren Beispiele in den begleitenden Zeichnungen dargestellt sind, wobei gleiche Bezugszeichen sich durchgehend auf gleiche Elemente beziehen.
  • 1 ist ein schematisches Blockdiagramm einer Computervorrichtung 100, gemäß verschiedener Ausführungsformen der vorliegenden Erfindung. Die Computervorrichtung 100 kann eine Steuerung 200, einen integrierten Power-Management-Schaltkreis (power management integrated circuit, PMIC) 300 und einen Speicher 400 umfassen. Die Computervorrichtung 100 kann ein Personalcomputer (PC) oder eine mobile Computervorrichtung sein. Die mobile Computervorrichtung kann ein Laptop-Computer, ein Mobiltelefon, ein Smartphone, einen Tablet-PC, ein persönlicher digitaler Assistenten (PDA), ein Unternehmens-Digital-Assistent (EDA), eine Digitalkamera, eine digitale Videokamera, ein tragbarer Multimedia-Player (PMP), ein persönliches Navigationsgerät oder ein tragbares Navigationsgerät (PND), eine Handheld-Konsole, ein mobiles Internetgerät (MID), ein tragbarer Computer, ein Internet-der-Dinge-(IoT-)Gerät, eine Internet-von-Allem-(IOE-)Vorrichtung oder eine E-Buch sein, jedoch sind die erfinderischen Konzepte nicht auf diese Ausführungsbeispiele beschränkt.
  • Die Steuerung 200 kann den Betrieb des PMICs 300 und den Betrieb des Speichers 400 steuern. Die Steuerung 200 kann als Host, eine integrierte Schaltung (IC), eine Hauptplatine, ein Ein-Chip-System (SoC), ein Anwendungsprozessor (AP), ein Mobil-AP oder ein Chipsatz implementiert werden. Wenn die Steuerung 200 als ein erstes Paket mit einem SoC, einem AP oder einem mobilen AP gebildert wird, und der Speicher 400 als ein zweites Paket gebildet wird, kann das zweite Paket über das erste Packung gestapelt werden. Die Steuerung 200 kann eine Bus-Architektur 201, eine zentrale Verarbeitungseinheit (CPU) 210, eine Speicherschnittstelle 220, eine Taktmanagementeinheit (CMU) 230, eine Energieverwaltungseinheit (PMU) 240, eine Eingabe/Ausgabe(I/O)-Schnittstelle 250 und einen internen Speicher 260 umfassen.
  • In einigen beispielhaften Ausführungsformen der erfinderischen Konzepte kann ein Master oder eine Mastervorrichtung die CPU 210, eine Grafikverarbeitungseinheit (GPU), ein Bildsignalprozessor (ISP), ein digitaler Signalprozessor (DSP), ein Kommunikationsprozessor (CP) oder ein Multimedia-Prozessor sein, aber die erfinderischen Konzepte sind nicht auf diese beispielhaften Ausführungsformen beschränkt. Der CP kann ein Modem-Chip sein. In einigen beispielhaften Ausführungsformen der erfinderischen Konzepte kann ein Slave oder eine Slave-Vorrichtung die Speicherschnittstelle 220 oder die I/O-Schnittstelle 250 sein, aber die erfinderischen Konzepte sind nicht auf diese beispielhaften Ausführungsformen beschränkt.
  • Ein Master kann eigenständig wenigstens einige der Anweisungen verarbeiten, die während einer bestimmten Zeitperiode zu verarbeiten sind und kann den Rest der Anweisungen in Verbindung mit einem Slave verarbeiten. Die Anweisungen können Auslastungen bedeuten. Mindestens ein Master und mindestens ein Slave kommunizieren Signals und/oder Daten untereinander über die Bus-Architektur 201.
  • In einigen beispielhaften Ausführungsformen der erfinderischen Konzepte wird angenommen, dass die CPU 210 ein Master ist und die Speicherschnittstelle 220 oder die I/O-Schnittstelle 250 ein Slave ist, aber die erfinderischen Konzepte sind nicht auf diese beispielhaften Ausführungsformen beschränkt. Ein Bauteil, das als Master arbeitet, kann als Slave arbeiten und umgekehrt in einigen Ausführungsbeispielen.
  • Die Bus-Architektur 201 kann als eine Advanced-Microcontroller-Bus-Architecture (AMBA), ein Advanced-High-Performance-Bus (AHB), ein Advanced-Peripheral-Bus (APB), ein Advanced-Extensible-Interface (AXI), ein Advanced-System-Bus (ASB), AXI-Coherency-Extensions (ACE) oder eine Kombination davon implementiert werden, aber die erfinderischen Konzepte sind nicht auf diese Ausführungsbeispiele beschränkt.
  • Die CPU 210 kann ein dynamisches Spannungs- und Frequenzskalierungs-(DVFS-)Programm ausführen, gemäß einigen beispielhaften Ausführungsformen der erfinderischen Konzepte. A DVFS-Verfahren, wird gemäß des DVFS-Programms von einem Master ausgeführt (z. B. kann die CPU 210 dem Master und/oder Slave entsprechen, die oben beschrieben wurden).
  • Eine Leistungsüberwachungseinheit 211 wird als Hardware implementiert (beispielsweise eine Leistungsüberwachungsschaltung) innerhalb der CPU 210. Die Leistungsüberwachungseinheit 211 kann Leistungsparameter der CPU 210 messen oder zählen. Zum Beispiel kann die Leistungsüberwachungseinheit 211 Parameter wie Befehlszyklen, Cache-Hits, Cache-Misses und Branch-Misses messen oder zählen. Zum Beispiel kann die Leistungsüberwachungseinheit 211 die Anzahl der Ereignisse messen oder zählen, die mit einem entsprechenden Leistungsparameter aus der Gesamtzahl der Ereignisse, die während der vorgegebenen Zeitdauer auftreten.
  • Die Leistungsüberwachungseinheit 211 kann alle Ereignisse (z. B. erste Ereignisse) empfangen, die erzeugt werden, während Anweisungen (z. B. Auslastungen) von der CPU 210 während der gegebenen Zeit verarbeitet werden, einen ersten Zählwert durch Zählen einer Anzahl von Ereignissen (z. B. zweite Ereignisse) erzeugen, entsprechend der Gesamtzahl der (ausgeführten) Anweisungen unter allen Ereignissen (z. B. erste Ereignisse), einen zweiten Zählwert durch Zählen einer Anzahl von Ereignissen (z. B. dritte Ereignisse) erzeugen, die mit Anweisungen im Zusammenhang stehen, die durch die Interaktion zwischen der CPU 210 und der Speicherschnittstelle 220 verarbeitet werden können, und kann den ersten Zählwert und den zweiten Zählwert ausgeben. Zum Beispiel kann die Leistungsüberwachungseinheit 211 einen ersten Zähler 211-1 zum Erzeugen des ersten Zählwerts und einen zweiten Zähler 211-2 zum Erzeugung des zweiten Zählwerts umfassen.
  • Das DVFS-Programm, das durch die CPU 210 ausgeführt wird, kann Misses-pro-Kilo-Befehle (misses-per-kilo-instructions, MPKI) mittels dem ersten Zählwert und dem zweiten Zählwert berechnen und kann Steuersignale zum Steuern von DVFS der CPU 210, der Speicherschnittstelle 220, und der I/O-Schnittstelle 250 gemäß dem MPKI erzeugen. Zu diesem Zeitpunkt kann der zweite Zählwert ein L2-Cache-Miss-Zählwert (L2 cache miss count) sein, der die Anzahl der L2-Cache-Misses angeben kann.
  • Alternativ kann die Leistungsüberwachungseinheit 211 einen ersten Zählwert in Zusammenhang mit CPI (Zyklen pro Befehl, Taktzyklen pro Befehl, oder Takte pro Befehl) und/oder einen zweiten Zählwert entsprechend einem L2-Cache-Miss-Zählwert generieren. Zu diesem Zeitpunkt kann das DVFS-Programm, das durch die CPU 210 ausgeführt wird, Steuersignale zum Steuern von DVFS der CPU 210, der Speicherschnittstelle 220, und der I/O-Schnittstelle 250 mittels dem ersten Zählwert und/oder dem zweiten Zählwert erzeugen.
  • Wie gut bekannt ist, kann die CPI als Gleichung definiert werden: CPI = CCI/IC, wobei CCI die Anzahl von Taktzyklen für einen gegebenen Befehlstyp, oder die Anzahl der Befehle für den gegebenen Typ ist, und IC eine Gesamtbefehlszahl ist.
  • Die Speicherschnittstelle 220, ein Beispiel für ein Slave, kann eine Schreiboperation oder eine Leseoperation auf den Speicher 400 gemäß der Steuerung der CPU 210 steuern. Die Speicherschnittstelle 220 kann die Schreib- oder Leseoperation auf dem Speicher 400 basierend auf einer zweiten Frequenz eines zweiten Taktsignals CLK2 steuern, das von der CMU 230 ausgegeben wird, und auf dem Pegel einer vierten Betriebsspannung PW4, die von der PMIC 300 ausgegeben wird. Jede der zweiten Frequenz des zweiten Taktsignals CLK2 und dem Pegel der vierten Betriebsspannung PW4 können nach DVFS eingestellt werden.
  • Obwohl eine Speicherschnittstelle 220 und ein Speicher 400 in 1 der Einfachheit halber gezeigt sind, kann die Speicherschnittstelle 220 ein Speicherschnittstellen-Satz mit einer Vielzahl von unterschiedlichen Speicherschnittstellen sein, und der Speicher 400 kann ein Satz mit verschiedenen Speichern sein. Wenn zum Beispiel der Speicher 400 ein Satz mit dynamischem Direktzugriffsspeicher (DRAM) und Flash-Speicher (beispielsweise NAND-Flash-Speicher (logisches NOT AND) oder NOR-Typ-Flash-Speicher (logisches NIOT OR)) ist, kann die Speicherschnittstelle 220 ein Satz mit einer DRAM-Steuerung und einer Flash-Speicher-Steuerung sein, aber die erfinderischen Konzepte sind nicht auf diese Ausführungsbeispiele beschränkt.
  • Der Speicher 400 kann mit flüchtigem und/oder nicht-flüchtigem Speicher gebildet werden. Der flüchtige Speicher kann einen Direktzugriffsspeicher (RAM), DRAM, statischer RAM (SRAM), Thyristor-RAM (T-RAM), ein Null-Kondensator-RAM (Z-RAM) oder Doppeltransistor-RAM (TTRAM) sein, aber die erfinderischen Konzepte sind nicht auf diese Ausführungsbeispiele beschränkt. Der nichtflüchtige Speicher kann ein elektrisch löschbarer programmierbarer Nurlesespeicher (EEPROM), Flash-Speicher, magnetischer RAM (MRAM), Spin-Übertragungsdrehmoment-MRAM, ferroelektrischer RAM (FeRAM), Phase-Change-RAM (PRAM), resistiver RAM (RRAM) Nanoröhren-RRAM-Polymer-RAM (PoRAM), Nano-Floating-Gate-Speicher (NFGM), holographischer Speicher, eine Molekularelektronik-Speichervorrichtung oder Isolator-Widerstandsänderungs-Speicher sein, aber die erfinderischen Konzepte sind nicht auf diese Ausführungsbeispiele beschränkt.
  • Der Speicher 400 kann als ein Solid-State-Laufwerk oder Solid-State-Disk (SSD), eine eingebettete SSD (ESSD), eine Multimedia-Karte (MMC), eine Embedded-MMC (eMMC) oder ein universeller Flash-Speicher (UFS) umgesetzt werden, aber die erfinderischen Konzepte sind nicht auf diese Ausführungsbeispiele beschränkt.
  • Die CMU 230 kann eine erste Frequenz eines ersten Taktsignals CLK1, das an die CPU 210 angelegt wird, die zweite Frequenz des zweiten Taktsignals CLK2, das an die Speicherschnittstelle 220 angelegt wird, und/oder eine dritte Frequenz eines dritten Taktsignals CLK3, das an die I/O-Schnittstelle 250 in Reaktion auf ein erstes Steuersignal CTR1 angelegt wird, das von der CPU 210 oder aus dem DVFS-Programm von der CPU 210 ausgeführt wird einstellen. In einigen beispielhaften Ausführungsformen kann ”einstellen” erhöhen, erhalten oder verringern bedeuten.
  • Die PMU 240 kann ein drittes Steuersignal CTR3 zum Steuern einer Operation des PMICs 300 in Reaktion auf ein zweites Steuersignal CTR2 erzeugen, das von der CPU 210 oder aus dem DVFS-Programm, das durch die CPU 210 ausgeführt wird, ausgegeben wird.
  • Der PMIC 300 kann den Pegel jeder der ersten bis siebten Betriebsspannungen PW1 bis PW7 in Reaktion auf das dritte Steuersignal CTR3 einstellen. Zum Beispiel kann der PMIC 300 in Reaktion auf das dritte Steuersignal CTRL3 den Pegel der ersten Betriebsspannung PW1 steuern, die an die CPU 210 angelegt wird, den Pegel der zweiten Betriebsspannung PW2 steuern, die an die CMU 230 angelegt wird, den Pegel der dritten Betriebsspannung PM3 steuern, die an die PMU 240 angelegt wird, den Pegel der vierten Betriebsspannung PM4 steuern, die an die Speicherschnittstelle 220 angelegt wird, den Pegel der fünften Betriebsspannung PM5 steuern, die an den Speicher 400 angelegt wird, den Pegel der sechsten Betriebsspannung PM6 steuern, die an die I/O-Schnittstelle 250 angelegt wird, und den Pegel der siebten Betriebsspannung PM7 steuern, die an den internen Speicher 260 angelegt wird, jedoch sind die erfinderischen Konzepte nicht auf diese beispielhaften Ausführungsformen beschränkt.
  • Jedes des ersten Steuersignals CTR1, des zweiten Steuersignals CTR2 und des dritten Steuersignals CTR3 kann mindestens ein Analogsignal oder zumindest ein digitales Signal umfassen.
  • Die I/O-Schnittstelle 250 wird für die Eingabe und Ausgabe von Daten zur Verfügung gestellt. Die I/O-Schnittstelle 250 kann Daten senden oder empfangen, basierend auf dem dritten Taktsignal CLK3, das von der CMU 230 ausgegeben wird, und der sechsten Betriebsspannung PW6, das von der PMIC 300 ausgegeben wird. Die dritte Frequenz des zweiten Taktsignals CLK3 und der Pegel der sechsten Betriebsspannung PW6 können nach DVFS eingestellt werden.
  • Die I/O-Schnittstelle 250 kann Serial-Advanced-Technology-Attachment (SATA), SATA-Express (SATAE), SAS (Serial Attached SCSI (Small Computer System Interface)), Peripheral-Component-Interconnect-Express (PCIe), nicht-flüchtigen Express-Speicher (NVME) oder Mobilindustrie-Prozessorschnittstelle (MIPI®) unterstützen, aber die erfinderischen Konzepte sind nicht auf diese Ausführungsbeispiele beschränkt.
  • Der interne Speicher 260 kann ein Betriebsspeicher der CPU 210 sein. Zum Beispiel kann der interne Speicher 260 mit Nur-Lesespeicher (ROM) oder SRAM gebildet werden, wobei die erfinderischen Konzepte nicht auf diese Ausführungsbeispiele beschränkt sind. In Fällen, in denen der Speicher 400 mit nicht-flüchtigen Speicher gebildet wird, kann ein DVFS-Programm, das in dem Speicher 400 gespeichert ist, in den internen Speicher 260 geladen werden und von der CPU 210 ausgeführt werden, wenn die Computervorrichtung 100 gestartet wird.
  • 2 ist ein Diagramm eines Moduls, das in einem DVFS-Programm 213 durch den in 1 gezeigten Master ausgeführt wird. In den 1 und 2 kann das DVFS-Programm 213 einen DVFS-Regler 215, einen CMU-Gerätetreiber 217 und einen PMU-Gerätetreiber 218 enthalten.
  • Der DVFS-Regler 215, der CMU-Gerätetreiber 217, und der PMU-Gerätetreiber 218 können Module sein. In einigen beispielhaften Ausführungsformen kann ein Modul ein Computerprogrammcode oder Software sein, welche die Funktion und den Betrieb entsprechend dessen Namen durchführt. Der DVFS-Regler 215 kann das DVFS-Programm 213 oder den gesamten DVFS-Betrieb steuern. Der DVFS-Regler 215 kann ein Auslastung-Erkennungs-Programm (workload awareness program, WAP) 216 umfassen. Die Ausführung des WAPs 216 kann durch den DVFS-Regler 215 gesteuert werden.
  • Das WAP 216 kann den CMU-Gerätetreiber 217 und den PMU-Gerätetreiber 218 in Reaktion auf einen ersten Zählwert NOI und/oder einen zweiten Zählwert NOCM steuern. Der erste Zählwert NOI und der zweite Zählwert NOCM können Werte mit unterschiedlichen Informationen oder Daten sein.
  • Wie oben beschrieben, kann der erste Zählwert NOI der Anzahl an zweiten Ereignissen entsprechen, entsprechend allen ausgeführten (oder gebundenen) Anweisungen unter den ersten Ereignissen, die durch Anweisungen (z. B. Auslastungen) erzeugt werden, die durch die CPU 210 während einer bestimmten Zeit verarbeitet werden, oder kann ein Wert sein, der erforderlich ist, um einen CPI-Wert zu berechnen. Der zweite Zählwert NOCM kann der Anzahl von dritten Ereignissen entsprechen, die mit Anweisungen zusammen hängen, die durch die Interaktion zwischen dem Master (z. B. CPU 210) und dem Slave (z. B. Speicherschnittstelle 220 oder I/O-Schnittstelle 250) verarbeitet werden können, unter den ersten Ereignisse, die erzeugt werden, während alle Anweisungen von der CPU 210 während der gegebenen Zeit verarbeitet werden. Zum Beispiel kann der zweite Zählwert NOCM zu einem L2-Cache-Miss-Zählwert entsprechen, ist jedoch nicht darauf beschränkt.
  • Zum Beispiel werden die ersten Ereignisse, zweiten Ereignisse und die dritten Ereignisse unter Verwendung von PMU-Ereignissen beschrieben, die in ARM®-Cortex®-A-Serie-Prozessoren verwendet werden. TABELLE 1
    Ereignis mnemonic Eine Zähloperation bei der Erzeugung eines Ereignisses (oder Ereignisbeschreibung)
    SW_INCR Zähler bestimmter Ereignisse in Software
    L1I_CACHE_REFILL Zähler (oder Ereignis bezogen auf) Anweisungs-Speicherzugriffe, die die Nachfüllung des Level-1-Anweisungs-Cache oder einheitlichen Cache auslösen
    INST_RETIRED Zähler (oder Ereignis bezogen auf) Anweisungen, die von einer CPU ausgeführt werden
    CPU_CYCLES Zähler (oder Ereignis bezogen auf) Taktzyklen der CPU
    MEM_ACCESS Zähler (oder Ereignis bezogen auf) die Anzahl von Speicher-Lesungen/Schreibungen
    L2D_CACHE_REFILL Zähler (oder Ereignis bezogen auf) Speicher-Schreib/Lese-Zugridde, die die Nachfüllung von Level-2-Daten-Cache oder die Nachfüllung der Level-1-Anweisungen, Daten- oder einheitlicher Cache triggern
    BUS_CYCLES Zähler (oder Ereignis bezogen auf) die Anzahl von Takten, die in externer Speicherschnittstelle verwendet werden
  • Die ersten Ereignisse können Ereignissen entsprechen, die die gleichen Funktionen wie, oder ähnliche Funktionen wie alle Ereignisse haben, wie zum Beispiel SW_INCR, L1I_CACHE_REFILL, INST_RETIRED, CPU_CYCLES, MEM_ACCESS, L2D_CACHE_REFILL, und BUS_CYCLES in der Tabelle TABLE1 beschrieben, die erzeugt werden, während die Anweisungen verarbeitet werden. Die zweiten Ereignisse können Ereignissen entsprechen, die die gleichen Funktionen oder ähnliche Funktionen wie das Ereignis INST_RETIRED unter den ersten Ereignissen haben. Die dritten Ereignisse können Ereignissen entsprechen, die die gleichen Funktionen oder ähnliche Funktionen wie das Ereignis L2D_CAHCE_REFILL unter den ersten Ereignissen haben.
  • Das WAP 216 kann einen MPKI-Wert oder einen CPI-Wert, basierend auf dem ersten Zählwert NOI und/oder dem zweiten Zählwert NOCM berechnen, und kann ein erstes Zwischensteuersignal an den CMU-Gerätetreiber 217, gemäß dem Berechnungsergebnis übertragen. Der CMU-Gerätetreiber 217 kann das erste Steuersignal CTR1 an CMU 230 in Reaktion auf das erste Zwischensteuersignal ausgeben.
  • Das WAP 216 kann einen MPKI-Wert oder einen CPI-Wert, basierend auf dem ersten Zählwert NOI und/oder dem zweiten Zählwert NOCM berechnen, und kann ein zweites Zwischensteuersignal an den PMU-Gerätetreiber 218, gemäß dem Berechnungsergebnis übertragen. Der PMU-Gerätetreiber 218 kann das zweite Steuersignal CTR1 an CMU 230 in Reaktion auf das zweite Zwischensteuersignal ausgeben.
  • Die Leistungsüberwachungseinheit 211 kann einen dritten Zählwert erzeugen, durch Zählen einer Anzahl von vierten Ereignissen, entsprechend der Anzahl der Befehle, die unabhängig von der CPU 210 unter ersten Ereignissen erzeugt werden können, während alle Anweisungen verarbeitet werden durch die CPU 210 während der gegebenen Zeit. Der dritte Zählwert kann dem WAP 216 zur Verfügung gestellt werden. Zu diesem Zeitpunkt kann das WAP 216 einen MPKI-Wert oder einen CPI-Wert basierend auf dem ersten Zählwert NOI, dem zweiten Zählwert NOCM und/oder dem dritten Zählwert berechnen.
  • Wenn die Speicherschnittstelle 220 ein Slave ist, kann der zweite Zählwert NOCM Speicher-gebunden entsprechen und der dritte Zählerwert kann Rechen-gebunden entsprechen. Der Begriff ”Rechen-gebunden” kann sich auf Kern-gebundenen, Rechner-gebunden oder CPU-gebunden beziehen.
  • Der Begriff ”Speicher-gebunden” kann sich auf einen Fall beziehen, in dem die Zeit, um eine Aufgabe durch die CPU 210 auszuführen, durch die Zugriffsgeschwindigkeit auf den Speicher 400 entschieden wird. Jedoch kann sich Rechen-gebunden auf einen Fall beziehen, in dem die Zeit, um eine Aufgabe durch die CPU 210 auszuführen hauptsächlich durch die Geschwindigkeit der CPU 210 entschieden wird.
  • Wenn die I/O-Schnittstelle 250 ein Slave ist, kann der zweite Zählwert NOCM I/O-gebunden entsprechen und der dritte Zählerwert kann Rechen-gebunden entsprechen. I/O-gebunden kann sich auf einen Fall beziehen, in dem die Zeit, um eine Aufgabe durch die CPU 210 auszuführen, durch die Geschwindigkeit der I/O-Schnittstelle 250 entschieden wird. Wenn zum Beispiel der erste Zählwert NOI die Summe aus dem zweiten Zählerwert und dem dritten Zählwert NOCM ist, kann das WAP 216 den dritten Zählwert berechnen, unter Verwendung des ersten Zählwertes NOI und des zweiten Zählwerts NOCM. Der erste Zählwert NOI kann Auslastungen von einem Master entsprechen (z. B. CPU 210).
  • 3 ist ein Konzeptdiagramm der Interaktion zwischen einem Master und einem Slave (z. B. Speicher-gebunden). Der Slave (z. B. Speicherschnittstelle 220) kann Daten speichern, die von dem Master (z. B. CPU 210) in dem Speicher 400 während einer Schreiboperation ausgegeben werden und kann Daten, die aus dem Speicher 400 gelesen werden, an den Master während einer Leseoperation übertragen werden, gemäß der Steuerung des Masters.
  • 4 ist ein Konzeptdiagramm von DVFS von mindestens einem unter einem Master und einem Slave, gemäß einer Rechen-gebundenen (”CB”) oder Speicher-gebundenen (”MB”) Auslastung. 5 ist ein Flussdiagramm von DVFS von mindestens einem unter einem Master und einem Slave, entsprechend einer Auslastung des Masters. Das DVFS-Programm 213, das in dem Master (zum Beispiel CPU 210) ausgeführt wird, kann erkennen, ob die aktuellen Auslastungen der CPU 210 Rechen-gebunden oder Speicher-gebunden (oder I/O-gebunden) sind, basierend auf wenigstens dem ersten Zählwert NOI und/oder dem zweiten Zählwert NOCM, die von der Leistungsüberwachungseinheit 211 ausgegeben werden, und kann DVFS des Masters (z. B. CPU 210) und des Slaves (z. B. Speicherschnittstelle 220 oder I/O-Schnittstelle 250) gemäß dem Detektionsergebnis steuern.
  • Wenn zum Beispiel das DVFS-Programm 213 feststellt, dass die Auslastungen für die CPU 210 Speicher-gebunden oder I/O-gebunden sind, wird das DVFS-Programm 213 keine Operation zum Erhöhen einer Spannung und/oder Frequenz für die CPU 210 ausführen, selbst wenn die Auslastungen der CPU 210 groß sind oder die Belastung (loading) der CPU 210 hoch ist, aber das DVFS-Programm 213 führt einen Vorgang zum Erhöhen einer Spannung und/oder Frequenz für den Slave (z. B. Speicherschnittstelle 220 oder I/O-Schnittstelle 250) aus. Mit anderen Worten, das DVFS-Programm 213 führt einen Vorgang zum Erhöhen der Spannung und/oder Frequenz für den Slave (z. B. Speicherschnittstelle 220 oder I/O-Schnittstelle 250) aus, und deshalb kann es eine Verbesserung in der speicherorientierten Auslastung der CPU 210 geben.
  • Wenn jedoch das DVFS-Programm 213 erkennt, dass die Auslastungen für die CPU 210 Speicher-gebunden oder I/O-gebunden sind und die Auslastungen der CPU 210 groß sind oder die Belastung der CPU 210 hoch ist, führt ein herkömmliches DVFS-Programm nur einen Vorgang zur Erhöhung der Spannung und/oder Frequenz für die CPU 210 aus, aber nicht einen Vorgang zur Erhöhung der Spannung und/oder Frequenz für den Slave (z. B. Speicherschnittstelle 220 oder I/O-Schnittstelle 250). Zu diesem Zeitpunkt, auch wenn die Spannung und/oder Frequenz für die CPU 210 ansteigt, erhöht sich die Leistung der Steuerung 200 einschließlich der CPU 210 und des Slaves (z. B. Speicherschnittstelle 220 oder I/O-Schnittstelle 250) nicht und der Energieverbrauch der CPU 210 nimmt zu. Folglich sinkt der Leistungswirkungsgrad der CPU 210.
  • Die Leistungsüberwachungseinheit 211 kann Auslastungen basierend auf ersten Ereignissen, zweiten Ereignissen und/oder dritten Ereignissen berechnen, die generiert werden, während Befehle von der CPU 210 verarbeitet und ausgeben werden, und kann wenigstens den ersten Zählwert NOI und/oder den zweiten Zählwert NOCM entsprechend den Berechnungsergebnissen an das WAP 216 des DVFS-Programms 213 in Operation S10 ausgeben. Das WAP 216 kann einen CPI-Wert oder einen MPKI-Wert berechnen, unter Verwendung von wenigstens dem ersten Zählwert NOI und/oder dem zweiten Zählwert NOCM. Ein MPKI-Wert kann sich auf den zweiten Zählwert NOCM geteilt durch den ersten Zählwert NOI (z. B. NOCM/NOI) beziehen. Mit anderen Worten kann der zweite Zählwert NOCM sich auf einem L2-Cache-Miss-Zählwert beziehen und der erste Zählwert NOI kann sich auf die gesamte Anzahl von Befehlen beziehen, die von der CPU 210 während einer bestimmten Zeit ausgeführt werden.
  • Wenn der Slave die Speicherschnittstelle 220 ist, kann das WAP 216 erfassen, ob die Auslastungen der CPU 210 Rechen-gebunden sind oder Speicher-gebunden sind, basierend auf wenigstens dem ersten Zählwert NOI und/oder dem zweiten Zählwert NOCM in Operation S20. Wenn festgestellt wird, dass die Auslastungen der CPU 210 Rechen-gebunden sind (im Fall von JA) in Operation S20, kann das WAP 216 ein erstes Zwischensteuersignal und ein zweites Zwischensteuersignal erzeugen, so dass DVFS der CPU 210 durchgeführt wird. Der CMU-Gerätetreiber 217 kann das erste Steuersignal CTR1 in Reaktion auf das erste Zwischensteuersignal erzeugen und der PMU-Gerätetreiber 218 kann das zweite Steuersignal CTR2 in Reaktion auf das zweite Zwischensteuersignal erzeugen. Die PMU 240 kann das dritte Steuersignal CTR3 auf Basis des zweiten Steuersignals CTR2 erzeugen.
  • Die CMU 230, die in Reaktion auf das erste Steuersignal CTR1 operiert, kann die erste Frequenz des ersten Taktsignals CLK1 erhöhen, das an die CPU 210 angelegt wird. Der PMIC 300, der in Reaktion auf das dritte Steuersignal CTR3 operiert, kann den ersten Pegel der ersten Betriebsspannung PW1 erhöhen, die an die CPU 210 angelegt wird. Mit anderen Worten kann DVFS der CPU 210 in Operation S30 durchgeführt werden.
  • Wenn jedoch festgestellt wird, dass die Auslastungen der CPU 210 nicht Rechen-gebunden sind (im Fall von NEIN) in Operation S20, kann das WAP 216 erfassen, ob die Auslastungen für der CPU 210 Speicher-gebunden sind in Operation S40. Wenn festgestellt wird, dass die Auslastungen der CPU 210 Speicher-gebunden sind (im Fall von JA) in Operation S40, kann das WAP 216 ein erstes Zwischensteuersignal und ein zweites Zwischensteuersignal erzeugen, so dass DVFS der Speicherschnittstelle 220 durchgeführt wird. Mit anderen Worten, selbst wenn die Auslastungen der CPU 210 groß sind, kann das WAP 216 das erste und zweite Zwischensteuersignal erzeugen, so dass die DVFS der Speicherschnittstelle 220 anstelle der CPU 210 durchgeführt wird.
  • Der CMU-Gerätetreiber 217 kann das erste Steuersignal CTR1 in Reaktion auf das erste Zwischensteuersignal erzeugen und der PMU-Gerätetreiber 218 kann das zweite Steuersignal CTR2 in Reaktion auf das zweite Zwischensteuersignal erzeugen. Die PMU 240 kann das dritte Steuersignal CTR3 auf Basis des zweiten Steuersignals CTR2 erzeugen.
  • Die CMU 230, die in Reaktion auf das erste Steuersignal CTR1 operiert, kann die zweite Frequenz des zweiten Taktsignals CLK2 erhöhen, das an die Speicherschnittstelle 220 angelegt wird. Der PMIC 300, der in Reaktion auf das dritte Steuersignal CTR3 operiert, kann den Pegel der vierten Betriebsspannung PW4 erhöhen, die an die Speicherschnittstelle 220 angelegt wird. Mit anderen Worten kann DVFS der Speicherschnittstelle 220 in Operation S50 durchgeführt werden.
  • Wenn festgestellt wird, dass die Auslastungen der CPU 210 weder Rechen-gebunden noch Speicher-gebunden sind (z. B. im Fall von NEIN in beiden Operationen S20 und S40), kann das WAP 216 ein erstes Zwischensteuersignal und ein zweites Zwischensteuersignal erzeugen, so dass DVFS der CPU 210 und DVFS der Speicherschnittstelle 220 gleichzeitig oder parallel durchgeführt wird.
  • Der CMU-Gerätetreiber 217 kann das erste Steuersignal CTR1 in Reaktion auf das erste Zwischensteuersignal erzeugen und der PMU-Gerätetreiber 218 kann das zweite Steuersignal CTR2 in Reaktion auf das zweite Zwischensteuersignal erzeugen. Die PMU 240 kann das dritte Steuersignal CTR3 auf Basis des zweiten Steuersignals CTR2 erzeugen.
  • Die CMU 230, die in Reaktion auf das erste Steuersignal CTR1 operiert, kann die erste Frequenz des ersten Taktsignals CLK1 erhöhen, das an die CPU 210 angelegt wird. Der PMIC 300, der in Reaktion auf das dritte Steuersignal CTR3 operiert, kann den ersten Pegel der ersten Betriebsspannung PW1 erhöhen, die an die CPU 210 angelegt wird. Mit anderen Worten kann DVFS der CPU 210 in Operation S60 durchgeführt werden. Gleichzeitig oder parallel kann die CMU 230, die in Reaktion auf das erste Steuersignal CTR1 operiert, die zweite Frequenz des zweiten Taktsignals CLK2 erhöhen, das an die Speicherschnittstelle 220 angelegt wird. Der PMIC 300, der in Reaktion auf das dritte Steuersignal CTR3 operiert, kann den Pegel der vierten Betriebsspannung PW4 erhöhen, die an die Speicherschnittstelle 220 angelegt wird. Mit anderen Worten kann DVFS der Speicherschnittstelle 220 in Operation S60 durchgeführt werden.
  • Wenn der Slave die I/O-Schnittstelle 250 ist, kann das WAP 216 erfassen, ob die Auslastungen der CPU 210 Rechen-gebunden sind oder I/O-gebunden sind, basierend auf wenigstens dem ersten Zählwert NOI und/oder dem zweiten Zählwert NOCM in Operation S20. Wenn festgestellt wird, dass die Auslastungen der CPU 210 Rechen-gebunden sind (im Fall von JA) im Operation S20, kann DVFS der CPU 210 in Operation S30 durchgeführt werden. Wenn jedoch festgestellt wird, dass die Auslastungen der CPU 210 nicht Rechen-gebunden sind (im Fall von NEIN) in Operation S20, kann das WAP 216 erfassen, ob die Auslastungen für der CPU 210 I/O-gebunden sind in Operation S40.
  • Wenn festgestellt wird, dass die Auslastungen der CPU 210 I/O-gebunden sind (im Fall von JA) in Operation S40, kann das WAP 216 ein erstes Zwischensteuersignal und ein zweites Zwischensteuersignal erzeugen, so dass DVFS der I/O-Schnittstelle 250 durchgeführt wird. Mit anderen Worten, selbst wenn die Auslastungen der CPU 210 groß sind, kann das WAP 216 das erste und zweite Zwischensteuersignal erzeugen, so dass die DVFS der I/O-Schnittstelle 250 anstelle der CPU 210 durchgeführt wird.
  • Die CMU 230, die in Reaktion auf das erste Steuersignal CTR1 operiert, kann die dritte Frequenz des dritten Taktsignals CLK3 erhöhen, das an die I/O-Schnittstelle 250 angelegt wird. Der PMIC 300, der in Reaktion auf das dritte Steuersignal CTR3 operiert, kann den Pegel der sechsten Betriebsspannung PW6 erhöhen, die an die I/O-Schnittstelle 250 angelegt wird. Mit anderen Worten kann DVFS der I/O-Schnittstelle 250 in Operation S50 durchgeführt werden.
  • Wenn festgestellt wird, dass die Auslastungen der CPU 210 weder Rechen-gebunden noch I/O-gebunden sind (z. B. im Fall von NEIN in beiden Operationen S20 und S40), kann das WAP 216 ein erstes Zwischensteuersignal und ein zweites Zwischensteuersignal erzeugen, so dass DVFS der CPU 210 und DVFS der I/O-Schnittstelle 250 gleichzeitig oder parallel durchgeführt wird.
  • Die CMU 230, die in Reaktion auf das erste Steuersignal CTR1 operiert, kann die erste Frequenz des ersten Taktsignals CLK1 erhöhen, das an die CPU 210 angelegt wird. Der PMIC 300, der in Reaktion auf das dritte Steuersignal CTR3 operiert, kann den ersten Pegel der ersten Betriebsspannung PW1 erhöhen, die an die CPU 210 angelegt wird. Mit anderen Worten kann DVFS der CPU 210 in Operation S60 durchgeführt werden. Gleichzeitig oder parallel kann die CMU 230, die in Reaktion auf das erste Steuersignal CTR1 operiert, die dritte Frequenz des dritten Taktsignals CLK3 erhöhen, das an die I/O-Schnittstelle 250 angelegt wird. Der PMIC 300, der in Reaktion auf das dritte Steuersignal CTR3 operiert, kann den Pegel der sechsten Betriebsspannung PW6 erhöhen, die an die I/O-Schnittstelle 250 angelegt wird. Mit anderen Worten kann DVFS der I/O-Schnittstelle 250 in Operation S60 durchgeführt werden.
  • Wie in 4 gezeigt, kann das WAP 216 einen CPI-Wert oder einen MPKI-Wert mittels wenigstens dem ersten Zählwert NOI und/oder dem zweiten Zählwert NOCM berechnen. Wenn der CPI-Wert oder der MPKI-Wert kleiner als ein erster Referenzwert REF1 ist, kann das WAP 216 die Auslastungen der CPU 210 als Rechen-gebunden erfassen, und kann das erste Steuersignal CTR1 und das zweite Steuersignal CTR2 zum Steuern von DVFS der CPU 210 erzeugen. Wenn der CPI-Wert oder der MPKI-Wert gleich oder größer als der erste Referenzwert REF1 ist und kleiner als ein zweiter Referenzwert REF2 ist, kann das WAP 216 das erste Steuersignal CTR1 und das zweite Steuersignal CTR2 zum Steuern von DVFS der CPU 210 und der DVFS des Slaves gleichzeitig oder parallel erzeugen (z. B. Speicherschnittstelle 220 oder I/O-Schnittstelle 250). Wenn der CPI-Wert oder der MPKI-Wert gleich oder größer als der zweite Referenzwert REF2 ist, kann das WAP 216 die Auslastungen der CPU 210 als Speicher-gebunden oder I/O-gebunden erkennen, und kann das erste Steuersignal CTR1 und das zweite Steuersignal CTR2 zum Steuern von DVFS des Slaves erzeugen (z. B. Speicherschnittstelle 220 oder I/O-Schnittstelle 250). Der erste Referenzwert REF1 und der zweite Referenzwert REF2 können durch die CPU 210 gemäß Konstruktionsspezifikationen programmiert werden.
  • 6 ist ein Konzeptdiagramm eines Systems zur Steuerung von DVFS eines Masters und von DVFS eines Slaves. Wenn die Auslastungen der CPU 210 Rechen-gebunden (CB) sind, kann die erste Frequenz des ersten Taktsignals CLK1, das an die CPU 210 (beispielsweise CPU-Frequenz) angelegt wird, entlang einer ersten Linie GP1 erhöht werden und der Pegel der ersten Betriebsspannung PW1, die an die CPU 210 angelegt wird, kann auch entlang der ersten Linie GP1 erhöht werden. Jede der Kurven EP1 bis EPn kann sich auf eine äquivalente Spannungsllinie beziehen.
  • Wenn die Auslastungen der CPU 210 Speicher-gebunden (MB) sind, kann die zweite Frequenz des zweiten Taktsignals CLK2, das an die Speicherschnittstelle 220 (Speicherschnittstellenfrequenz (”MIF”)) angelegt wird, entlang einer fünften Linie GP5 erhöht werden und der Pegel der vierten Betriebsspannung PW4, die an die Speicherschnittstelle 220 angelegt wird, kann auch entlang der fünften Linie GP5 erhöht werden.
  • Wenn die DVFS der CPU 210 und die DVFS des Slaves (z. B. Speicherschnittstelle 220 oder I/O-Schnittstelle 250) gleichzeitig oder parallel entsprechend der Auslastungen der CPU 210 durchgeführt werden, können die erste Frequenz des ersten Taktsignals CLK1 und der Pegel der ersten Betriebsspannung PW1, die an die CPU 210 angelegt werden, und die Frequenz des zweiten Taktsignals CLK2 oder des dritten Taktsignals CLK3 und der Pegel der vierten Betriebsspannung PW4 oder der sechsten Betriebsspannung PW6, die an den Slave (z. B. Speicherschnittstelle 220 oder I/O-Schnittstelle 250) angelegt werden, entlang einer der zweiten bis vierten Linien GP2 bis GP4 erhöht werden.
  • Die Linien GP1 bis GP5 und die entsprechenden Spannungslinien EP1 bis EPn sind nur Beispiele. Die erfinderischen Konzepte sind nicht auf die Anzahl und Form der Linien GP1 bis GP5, die Anzahl der äquivalenten Spannungslinien EP1 bis EPn, oder Lücken zwischen den äquivalenten Spannungslinien EP1 bis EPn beschränkt.
  • 7 ist ein Flussdiagramm eines Verfahrens zum Betreiben eines SoC, gemäß einigen beispielhaften Ausführungsformen der erfinderischen Konzepte. In den 1 bis 7 kann die Leistungsüberwachungseinheit 211 die Anzahl der zweiten Ereignisse zählen (z. B. die Gesamtzahl der ausgeführten Anweisungen) unter den ersten Ereignissen, die erzeugt werden während alle Anweisungen (oder alle Auslastungen) von dem Master (e. B. CPU 210) während einer bestimmten Zeit verarbeitet werden und kann den ersten Zählwert NOI in Operation S110 erzeugen. Die Leistungsüberwachungseinheit 211 kann die Anzahl von dritten Ereignissen (z. B. die Anzahl der L2Cache-Misses) zählen, die mit Anweisungen (oder Auslastungen) verbunden sind, die durch die Interaktion zwischen dem Master (z. B. CPU 210) und dem Slave (z. B. Speicherschnittstelle 220 oder I/O-Schnittstelle 250) verarbeitet werden können unter den ersten Ereignissen und kann den zweiten Zählwert NOCM in Operation S120 erzeugen.
  • Das DVFS-Programm 213 und insbesondere das WAP 216 kann eine oder mehrere Zielvorrichtungen von DVFS auswählen, basierend auf dem ersten Zählwert NOI und dem zweiten Zählwert NOCM in Operation S130. Ein Verfahren zum Auswählen von einer oder mehreren Zielvorrichtungen DVFS ist die gleiche wie oder ähnlich zu der oben unter Bezugnahme auf 4 oder 5 beschriebenen Verfahren.
  • Das WAP 216 kann das erste Steuersignal CTR1 und des zweite Steuersignal CTR2 zum Steuern von DVFS von mindestens einer Zielvorrichtung erzeugen. Die CMU 230 kann die Frequenz von wenigstens dem ersten Taktsignal CLK1, dem zweiten Taktsignal CLK2 und/oder dem dritten Taktsignal CLK3 in Reaktion auf das erste Steuersignal CTR1 einstellen (beispielsweise erhöhen oder verringern). Die PMIC 300 kann den Pegel von wenigstens der ersten Betriebsspannung PW1, der vierten Betriebsspannung PW4 und/oder der sechsten Betriebsspannung PW6 in Reaktion auf das dritte Steuersignal CTR3 einstellen (beispielsweise erhöhen oder verringern). Mit anderen Worten kann die Steuerung 200 DVFS von wenigstens einer Zielvorrichtung unter Zuhilfenahme eines MPKI-Werts durchführen, entschieden anhand dem ersten Zählwert NOI und dem zweiten Zählwert NOCM in Operation S140.
  • 8 ist ein Flussdiagramm eines Verfahrens zum Betreiben eines SoC, gemäß einigen beispielhaften Ausführungsformen der erfinderischen Konzepte. In den 1 bis 6 und 8 kann die Leistungsüberwachungseinheit 211 einen CPI-Wert bezogen auf die gesamte Anzahl von Anweisungen (oder Auslastungen) berechnen, die von der CPU 210 während einer gegebenen Zeit verarbeitet werden, und kann den CPI-Wert als den ersten Zählwert NOI in Operation S210 ausgeben. Der CPI-Wert muss kein Zählwert im wahrsten Sinne des Wortes sein, doch wird er als der erste Zählwert NOI für die Kohärenz mit dem ersten Zählwert NOI beschrieben, unter Bezugnahme auf 1 bis 7.
  • In Fällen eines Rechen-gebunden Programmes, gibt es nicht viele Ereignisse, die mit Anweisungen (oder Auslastungen) für den Zugriff auf den Speicher 400 verbunden sind. Diese Ereignisse können meist mit L1-Cache-Hits oder L2-Cache-Hits zusammen hängen. Zu diesem Zeitpunkt kann die Speicherlatenz nahezu 0 Zyklen sein, und daher kann der CPI-Wert weniger als 1 oder nahe bei 1 sein.
  • Das WAP 216 kann den CPI-Wert mit einem Referenzwert REF vergleichen und feststellen, ob die Auslastungen der CPU 210 Rechen-gebunden oder Speicher-gebunden sind in Operation S220. Wenn der CPI-Wert kleiner als der Referenzwert REF ist (z. B. 1) (im Fall von JA) in Operation S220, kann das WAP 216 erkennen, dass die Auslastungen der CPU 210 Rechen-gebunden sind und kann das erste Steuersignal CTR1 und das zweite Steuersignal CTR2 zum Steuern von DVFS der CPU 210 erzeugen, entsprechend dem Erkennungsergebnis in Operation S230. Wenn jedoch eine Operation, die in der CPU 210 durchgeführt wird, kompliziert ist oder ein Gleitkomma umfasst, kann der CPI-Wert größer als der Referenzwert REF (beispielsweise 1) (d. h. es kann NEIN sein) in Operation S220 sein, auch wenn es kein Zugriff auf den Speicher 400 gibt.
  • Die Leistungsüberwachungseinheit 211 kann die Anzahl von dritten Ereignissen zählen, die mit Anweisungen (oder Auslastungen) verbunden sind, die durch die Interaktion zwischen dem Master (z. B. CPU 210) und dem Slave (z. B. Speicherschnittstelle 220 oder I/O-Schnittstelle 250) verarbeitet werden können, unter ersten Ereignissen, die mit allen Anweisungen (oder Auslastungen) verbunden sind, die durch die CPU 210 während der gegebenen Zeit verarbeitet werden können, kann den zweiten Zählwert NOCM erzeugen, und kann den zweiten Zählwert NOCM für das WAP 216 bereitstellen. Wie oben beschrieben, kann der zweite Zählwert ein L2-Cache-Miss-Zählwert sein.
  • Das WAP 216 kann erfassen, ob die Auslastungen der CPU 210 Rechen-gebunden oder Speicher-gebunden sind, basierend auf dem zweiten Zählwert NOCM. Zum Beispiel kann das WAP 216 erfassen, ob der CPI-Wert tatsächlich aufgrund von Ereignissen angestiegen ist, die mit Anweisungen für den Zugriff auf den Speicher 400 zusammen hängen, oder aufgrund einer komplizierten Operation, basierend auf dem zweiten Zählwert NOCM in Operation S240.
  • Wenn der CPI-Wert größer als der Referenzwert REF aufgrund von Ereignissen ist, die im Zusammenhang mit Anweisungen für den Zugriff auf den Speicher 400 stehen, kann das WAP 216 die Auslastungen der CPU 210 als Speicher-gebunden erfassen, und kann das erste Steuersignal CTR1 und das zweite Steuersignal CTR2 zum Steuern von DVFS des Slaves (z. B. Speicherschnittstelle 220 oder I/O-Schnittstelle 250) erzeugen, gemäß dem Erfassungsergebnis in Operation S250.
  • Wenn jedoch der CPI-Wert wegen einer komplizierten Operation größer als der Referenzwert REF ist, kann das WAP 216 erkennen, dass die Auslastungen der CPU 210 Rechen-gebunden sind und kann das erste Steuersignal CTR1 und das zweite Steuersignal CTR2 zum Steuern von DVFS der CPU 210 erzeugen, entsprechend dem Erkennungsergebnis in Operation S230. Mit anderen Worten, wenn der zweite Zählwert NOCM kleiner als ein Referenzwert REF ist, kann die Operation S230 durchgeführt werden. Wenn der zweite Zählwert NOCM gleich oder größer als der Referenzwert REF ist, kann die Operation S250 durchgeführt werden. Der CPI-Wert kann durch den zweiten Zählwert NOCM beeinflusst werden.
  • Wie oben gemäß einigen beispielhaften Ausführungsformen der erfinderischen Konzepte beschrieben, steuert ein SoC DVFS eines Master und DVFS eines Slaves, das mit dem Master nach Typen von Auslastungen des Masters kommuniziert, wodurch die Leistung erhöht wird.
  • Algorithmen zur Durchführung und Steuerung der in dieser Anmeldung erörterten Technologien (z. B. für SoCs, für DVFS, für die Steuerung der Leistung mittels Auslastungen, für Verfahren zum Betrieb, und für zugehörige Computer) können zur Durchführung oder Steuerung von allgemeineren Vorrichtungen verwendet werden und/oder für Verfahren zur Steuerung von Apparaten.
  • Verfahren zur Durchführung oder Steuerung der Technologien in dieser Anmeldung können als Computerprogramme geschrieben sein und können in allgemein verwendeten digitalen Computern verwendet werden, die die Programme unter Verwendung eines computerlesbaren Aufzeichnungsmediums ausführen. Darüber hinaus kann eine Struktur von Daten, die in den Verfahren verwendet werden, in einem computerlesbaren Aufzeichnungsmedium auf verschiedene Weise erfasst werden. Beispiele des computerlesbaren Aufzeichnungsmediums umfassen Speichermedien, wie magnetische Speichermedien (beispielsweise ROM (Read-Only Memory), RAM (Random-Access Memory), USB (Universal Serial Bus), Disketten, Festplatten usw. ) und optische Aufzeichnungsmedien (z. B. CD-ROMs (Compact-Disc-Nur-Lese-Speicher) oder DVDs (Digital Video Discs)).
  • Darüber hinaus können einige beispielhaften Ausführungsformen auch durch computerlesbaren Code/Instruktionen in/auf einem Medium implementiert werden (beispielsweise ein computerlesbares Medium) um mindestens ein Verarbeitungselement zu steuern, um einige beispielhafte Ausführungsformen zu implementieren. Das Medium kann einem beliebigen Medium/Medien die Speicherung und/oder Übermittlung von dem computerlesbaren Code ermöglichen.
  • Der computerlesbare Code kann auf einem Medium in einer Vielzahl von Wegen aufgezeichnet/übertragen werden, wobei Beispiele für das Medium sowie Aufzeichnungsmedien umfassen: magnetische Speichermedien (beispielsweise ROM, Disketten, Festplatten, etc.) und optische Aufzeichnungsmedien (beispielsweise CD-ROMs oder DVDs) und Übertragungsmedien wie beispielsweise Internet-Übertragungsmedien. Somit kann das Medium eine definierte und messbare Struktur sein, oder ein Signal oder Informationen tragen, wie zum Beispiel eine Vorrichtung, die einen Bitstrom gemäß einigen Ausführungsbeispielen trägt. Diese Medien können auch ein verteiltes Netzwerk sein, so dass der computerlesbare Code in einer verteilten Weise gespeichert/transferiert und ausgeführt werden kann. Ferner könnte das Verarbeitungselement einen Prozessor oder einen Computer-Prozessor umfassen und Verarbeitungselemente können verteilt werden und/oder in einem einzigen Gerät enthalten sein.
  • In einigen beispielhaften Ausführungsformen können einige der Elemente als ein ”Modul” implementiert werden. Entsprechend einiger beispielhaften Ausführungsformen kann ”Modul” als Software-basierte Komponenten und Hardware-Komponenten interpretiert werden, wie beispielsweise ein feldprogrammierbares Gate-Array (FPGA) oder eine anwendungsspezifische integrierte Schaltung (ASIC), und das Modul kann bestimmte Funktionen ausführen. Jedoch ist das Modul nicht auf Software oder Hardware begrenzt. Das Modul kann so konfiguriert sein, um in einem Speichermedium platziert zu werden, das Adressierung ausführen kann oder einen oder mehrere Prozesse ausführen kann.
  • Beispielsweise können Module Komponenten umfassen wie zum Beispiel Software-Komponenten, objektorientierte Softwarekomponenten, Klassen-Komponenten und Aufgabenkomponenten, Prozesse, Funktionen, Attribute, Verfahren, Subroutinen, Segmente von Programmcode, Treiber, Firmware, Mikrocode, Schaltungen, Daten, Datenbanken, Datenstrukturen, Tabellen, Arrays und Variablen. Funktionen aus den Komponenten und den Modulen können in einer kleineren Anzahl von Komponenten und Modulen kombiniert werden oder in zusätzliche Komponenten und Modulen getrennt werden. Darüber hinaus können die Komponenten und die Module eine oder mehrere zentrale Verarbeitungseinheiten (CPUs) in einer Vorrichtung ausführen.
  • Einige beispielhafte Ausführungsformen können durch ein Medium implementiert werden, das computerlesbare Codes/Anweisungen zum Steuern von wenigstens einem Verarbeitungselement der oben beschriebenen Ausführungsformen beinhaltet, zum Beispiel ein computerlesbares Medium. Ein solches Medium kann einem Medium/Medien entsprechen, das die computerlesbaren Codes speichern kann und/oder übertragen kann.
  • Die computerlesbaren Codes können in einem Medium aufgezeichnet werden oder über das Internet übertragen werden. Beispielsweise kann das Medium ein ROM, ein RAM, eine CD-ROM, ein Magnetband, eine Diskette, ein optisches Aufzeichnungsmedium oder eine Trägerwelle sein, wie beispielsweise Datenübertragung über das Internet. Ferner kann das Medium ein nicht-transitorischen computerlesbares Medium sein. Da das Medium ein verteiltes Netzwerk sein kann, kann der computerlesbare Code gespeichert, übertragen, und in einer verteilten Weise ausgeführt werden. Ferner kann beispielsweise das Verarbeitungselement einen Prozessor oder einen Computerprozessor umfassen und kann verteilt und/oder in einem Gerät enthalten sein.
  • Während die erfinderischen Ideen gezeigt und geschrieben wurden, mit Bezug auf beispielhafte Ausführungsformen davon, versteht der Fachmann, dass vielerlei Veränderungen in der Form und den Details gemacht werden können, ohne von dem Geiste und dem Umfang der vorliegenden Erfindung abzuweichen, wie sie in den anhängigen Ansprüchen festgelegt ist.
  • Es versteht sich, dass die hier beschriebenen Ausführungsbeispiele nur in einem beschreibenden Sinn und nicht zum Zwecke der Beschränkung angesehen werden sollten. Beschreibungen von Merkmalen oder Aspekten innerhalb beispielhafter Ausführungsformen sollten in der Regel als für andere ähnliche Merkmale oder Aspekte in anderen beispielhaften Ausführungsformen verfügbar angesehen werden.
  • 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-2014-0167104 [0001]
    • KR 10-2015-0144046 [0001]

Claims (20)

  1. Ein-Chip-System, das umfasst: ein Master-Gerät, das konfiguriert ist zum Ausführen eines dynamischen Spannungs- und Frequenzskalierungs-(DVFS-)Programms; ein Slave-Gerät, das konfiguriert ist zum Kommunizieren mit dem Master-Gerät; und eine Leistungsüberwachungseinheit, die konfiguriert ist zum Empfangen eines ersten Ereignisses, das erzeugt wird, während Befehle von dem Master-Gerät verarbeitet werden, konfiguriert ist zum Erzeugen eines ersten Zählwerts, durch Zählen einer Anzahl von zweiten Ereignissen entsprechend einer Gesamtzahl der Anweisungen, bezogen auf die ersten Ereignisse, und konfiguriert ist zum Erzeugen eines zweiten Zählwerts durch Zählen einer Anzahl von dritten Ereignissen bezogen auf erste Anweisungen, die durch Interaktion zwischen dem Master-Gerät und dem Slave-Gerät verarbeitet werden können unter den ersten Ereignissen, wobei das DVFS-Programm konfiguriert ist zum Erzeugen eines Steuersignals zum Steuern von DVFS von wenigstens dem Master-Gerät und/oder dem Slave-Gerät, basierend auf dem ersten Zählwert und dem zweiten Zählwert.
  2. Ein-Chip-System nach Anspruch 1, wobei das Master-Gerät eine zentrale Verarbeitungseinheit (CPU), eine Grafikverarbeitungseinheit (GPU), ein Bildsignalprozessor (ISP), ein digitaler Signalprozessors (DSP) oder ein Multimedia-Prozessor ist, und wobei das Slave-Gerät eine Speicherschnittstelle oder eine Eingabe/Ausgabe-Schnittstelle ist.
  3. Ein-Chip-System nach Anspruch 1, das des Weiteren umfasst: eine Taktmanagementeinheit, die konfiguriert ist zum Steuern von wenigstens einer ersten Frequenz von einem ersten Taktsignal, das an das Master-Gerät angelegt ist und/oder einer zweiten Frequenz von einem zweiten Taktsignal, das an das Slave-Gerät angelegt ist, in Reaktion auf das Steuersignal.
  4. Ein-Chip-System nach Anspruch 1, das des Weiteren umfasst: eine Energieverwaltungseinheit, die konfiguriert ist zum Steuern eines integrierten Power-Management-Schaltkreises zum Steuern von wenigstens einem Pegel einer ersten Spannung, die an das Master-Gerät angelegt ist und/oder einem Pegel einer zweiten Spannung, die an das Slave-Gerät angelegt ist, in Reaktion auf das Steuersignal.
  5. Ein-Chip-System nach Anspruch 1, wobei die zweiten Ereignisse mit Anweisungen verbunden sind, die von dem Master-Gerät ausgeführt werden und die dritten Ereignisse mit L2-Cache-Misses verbunden sind.
  6. Ein-Chip-System nach Anspruch 1, wobei das DVFS-Programm konfiguriert ist zum Berechnen eines Misses-per-Kilo-Anweisungen-(misses-per-kilo-instructions, MPKI-)Wertes, basierend auf dem ersten Zählwert und dem zweiten Zählwert, und ist konfiguriert ist zum Erzeugen des Steuersignals basierend auf dem MPKI-Wert, und wobei der zweite Zählwert ein L2-Cache-Miss-Zählwert ist.
  7. Computervorrichtung, die umfasst: ein Master-Gerät, das konfiguriert ist zum Ausführen eines dynamischen Spannungs- und Frequenzskalierungs-(DVFS-)Programms; ein Slave-Gerät, das konfiguriert ist zum Kommunizieren mit dem Master-Gerät; eine Leistungsüberwachungseinheit, die konfiguriert ist zum Empfangen eines ersten Ereignisses, das erzeugt wird, während Befehle von dem Master-Gerät verarbeitet werden, konfiguriert ist zum Erzeugen eines ersten Zählwerts, durch Zählen einer Anzahl von zweiten Ereignissen entsprechend einer Gesamtzahl der Anweisungen, bezogen auf die ersten Ereignisse, und konfiguriert ist zum Erzeugen eines zweiten Zählwerts durch Zählen einer Anzahl von dritten Ereignissen bezogen auf erste Anweisungen, die durch Interaktion zwischen dem Master-Gerät und dem Slave-Gerät verarbeitet werden können unter den ersten Ereignissen; und einen integrierten Power-Management-Schaltkreis (PMIC), der konfiguriert ist zum Bereitstellen einer entsprechende Betriebsspannung an das Master-Gerät, das Slave-Gerät und die Leistungsüberwachungseinheit; wobei das DVFS-Programm konfiguriert ist zum Erzeugen eines Steuersignals zum Steuern von DVFS von wenigstens dem Master-Gerät und/oder dem Slave-Gerät, basierend auf dem ersten Zählwert und dem zweiten Zählwert.
  8. Computervorrichtung nach Anspruch 7, wobei das Master-Gerät eine zentrale Verarbeitungseinheit (CPU), eine Grafikverarbeitungseinheit (GPU), ein Bildsignalprozessor (ISP), ein digitaler Signalprozessors (DSP) oder ein Multimedia-Prozessor ist, und wobei das Slave-Gerät eine Speicherschnittstelle oder eine Eingabe/Ausgabe-Schnittstelle ist.
  9. Computervorrichtung nach Anspruch 7, die des Weitern umfasst: eine Taktmanagementeinheit, die konfiguriert ist zum Steuern von wenigstens einer ersten Frequenz von einem ersten Taktsignal, das an das Master-Gerät angelegt ist und/oder einer zweiten Frequenz von einem zweiten Taktsignal, das an das Slave-Gerät angelegt ist, in Reaktion auf das Steuersignal.
  10. Computervorrichtung nach Anspruch 7, die des Weitern umfasst: eine Energieverwaltungseinheit, die konfiguriert ist zum Steuern des PMIC zum Steuern von wenigstens einem Pegel einer ersten Spannung, die an das Master-Gerät angelegt ist und/oder einem Pegel einer zweiten Spannung, die an das Slave-Gerät angelegt ist, in Reaktion auf das Steuersignal.
  11. Computervorrichtung nach Anspruch 7, wobei die zweiten Ereignisse mit Anweisungen verbunden sind, die von dem Master-Gerät ausgeführt werden und die dritten Ereignisse mit L2-Cache-Misses verbunden sind.
  12. Computervorrichtung nach Anspruch 7, wobei das DVFS-Programm konfiguriert ist zum Berechnen eines Misses-per-Kilo-Anweisungen-(misses-per-kilo-instructions, MPKI-)Wertes, basierend auf dem ersten Zählwert und dem zweiten Zählwert, und ist konfiguriert ist zum Erzeugen des Steuersignals basierend auf dem MPKI-Wert, und wobei der zweite Zählwert sich aus der Zählung von L2-Cache-Misses ergibt.
  13. Computervorrichtung nach Anspruch 7, die des Weitern umfasst: ein Speicher; wobei das Master-Gerät eine zentrale Verarbeitungseinheit (CPU), eine Grafikverarbeitungseinheit (GPU), ein Bildsignalprozessor (ISP), ein digitaler Signalprozessors (DSP) oder ein Multimedia-Prozessor ist, und wobei das Slave-Gerät eine Speicherschnittstelle ist, die konfiguriert ist zum Steuern des Betriebs des Speichers, gemäß Steuerung des Master-Geräts.
  14. Computervorrichtung, die umfasst: eine erste Vorrichtung, die konfiguriert ist zum Ausführen eines Programms; eine zweite Vorrichtung, die konfiguriert ist zum Kommunizieren mit der ersten Vorrichtung; eine dritte Vorrichtung, die konfiguriert ist zum Empfangen von ersten Ereignissen, die erzeugt werden, während Befehle von der ersten Vorrichtung verarbeitet werden, konfiguriert ist zum Erzeugen eines ersten Zählwerts, durch Zählen einer Anzahl von zweiten Ereignissen entsprechend einer Gesamtzahl der Anweisungen, bezogen auf die ersten Ereignisse, und konfiguriert ist zum Erzeugen eines zweiten Zählwerts durch Zählen einer Anzahl von dritten Ereignissen bezogen auf erste Anweisungen, die durch Interaktion zwischen der ersten Vorrichtung und der zweiten Vorrichtung verarbeitet werden können unter den ersten Ereignissen;; und eine vierte Vorrichtung, die konfiguriert ist zum Bereitstellen einer Betriebsspannung an die erste Vorrichtung oder die zweite Vorrichtung; wobei das Programm konfiguriert ist zum Erzeugen eines Steuersignals zum Steuern der ersten Vorrichtung, des Slaves, oder der ersten Vorrichtung basierend auf dem ersten Zählwert und dem zweiten Zählwert.
  15. Computervorrichtung nach Anspruch 14, wobei das Programm ein dynamisches Spannungs- und Frequenzskalierungs-(DVFS-)Programm umfasst.
  16. Computervorrichtung nach Anspruch 14, wobei das Programm konfiguriert ist zum Steuern von Betriebsspannungen an die erste Vorrichtung und die zweite Vorrichtung.
  17. Computervorrichtung nach Anspruch 14, wobei die erste Vorrichtung eine zentrale Verarbeitungseinheit (CPU), eine Grafikverarbeitungseinheit (GPU), ein Bildsignalprozessor (ISP), ein digitaler Signalprozessors (DSP) oder ein Multimedia-Prozessor ist.
  18. Computervorrichtung nach Anspruch 14, wobei die zweite Vorrichtung eine Speicherschnittstelle oder eine Eingabe-/Ausgabeschnittstelle umfasst.
  19. Computervorrichtung nach Anspruch 14, die des Weitern umfasst: eine fünfte Vorrichtung, die konfiguriert ist zum Steuern einer Frequenz, die der ersten Vorrichtung oder der zweiten Vorrichtung zur Verfügung gestellt wird.
  20. Computervorrichtung nach Anspruch 14, die des Weitern umfasst: eine fünfte Vorrichtung, die konfiguriert ist zum Steuern eines Pegels einer Betriebsspannung, die der ersten Vorrichtung oder der zweiten Vorrichtung zur Verfügung gestellt wird.
DE102015223187.9A 2014-11-27 2015-11-24 Ein-Chip-Systeme zum Steuern von Leistung mittels Auslastungen, Verfahren zum Betreiben dieser, und Computervorrichtungen, die diese umfassen Withdrawn DE102015223187A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20140167104 2014-11-27
KR10-2014-0167104 2014-11-27
KR10-2015-0144046 2015-10-15
KR1020150144046A KR20160063974A (ko) 2014-11-27 2015-10-15 워크로드를 이용하여 전력을 제어할 수 있는 시스템 온 칩, 이의 작동 방법, 및 이를 포함하는 컴퓨팅 장치

Publications (1)

Publication Number Publication Date
DE102015223187A1 true DE102015223187A1 (de) 2016-06-02

Family

ID=55968024

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015223187.9A Withdrawn DE102015223187A1 (de) 2014-11-27 2015-11-24 Ein-Chip-Systeme zum Steuern von Leistung mittels Auslastungen, Verfahren zum Betreiben dieser, und Computervorrichtungen, die diese umfassen

Country Status (2)

Country Link
US (1) US20160154449A1 (de)
DE (1) DE102015223187A1 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI517543B (zh) * 2012-11-14 2016-01-11 中心微電子德累斯頓股份公司 具功率轉換器之晶片上系統
US10180890B2 (en) * 2014-06-19 2019-01-15 Telefonaktiebolaget L M Ericsson (Publ) Systems and methods for monitoring hardware observation points within a system on a Chip (SoC)
KR102251813B1 (ko) * 2015-04-07 2021-05-13 삼성전자주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US20170212581A1 (en) * 2016-01-25 2017-07-27 Qualcomm Incorporated Systems and methods for providing power efficiency via memory latency control
KR102661491B1 (ko) 2016-12-26 2024-04-29 삼성전자주식회사 동적 전압 주파수 스케일링을 사용하는 시스템 온 칩 및 그것의 동작 방법
KR20180076840A (ko) 2016-12-28 2018-07-06 삼성전자주식회사 Dvfs 동작을 수행하는 어플리케이션 프로세서, 이를 포함하는 컴퓨팅 시스템 및 이의 동작 방법
KR20180078558A (ko) 2016-12-30 2018-07-10 삼성전자주식회사 시스템 온 칩의 구동 방법, 이를 수행하는 시스템 온 칩 및 이를 포함하는 전자 시스템
KR102533241B1 (ko) 2018-01-25 2023-05-16 삼성전자주식회사 적응적으로 캐시 일관성을 제어하도록 구성된 이종 컴퓨팅 시스템
US10942657B2 (en) 2018-03-12 2021-03-09 Micron Technology, Inc. Power management integrated circuit (PMIC) master/slave functionality
CN110888520B (zh) 2018-08-21 2021-07-09 慧荣科技股份有限公司 操作频率调整方法及装置
KR20220023464A (ko) * 2020-08-21 2022-03-02 에스케이하이닉스 주식회사 전자 장치 및 전자 장치의 동작 방법
CN114185836A (zh) * 2020-09-15 2022-03-15 阿里巴巴集团控股有限公司 片上系统和调节电压和频率的方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150144046A (ko) 2014-06-16 2015-12-24 주식회사 예티소프트 웹 쉘 탐지 장치와 이를 이용한 함수 실행 제어 방법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7861068B2 (en) * 2006-03-07 2010-12-28 Intel Corporation Method and apparatus for using dynamic workload characteristics to control CPU frequency and voltage scaling
GB201008785D0 (en) * 2009-12-18 2010-07-14 Univ Gent A counter architecture for online dvfs profitability estimation
CN103246340A (zh) * 2012-02-06 2013-08-14 索尼公司 动态调整中央处理单元的频率的装置和方法
KR20130110459A (ko) * 2012-03-29 2013-10-10 삼성전자주식회사 시스템-온 칩, 이를 포함하는 전자 시스템 및 그 제어 방법
US9575542B2 (en) * 2013-01-31 2017-02-21 Hewlett Packard Enterprise Development Lp Computer power management
US9395784B2 (en) * 2013-04-25 2016-07-19 Intel Corporation Independently controlling frequency of plurality of power domains in a processor system
US9377836B2 (en) * 2013-07-26 2016-06-28 Intel Corporation Restricting clock signal delivery based on activity in a processor
US9594560B2 (en) * 2013-09-27 2017-03-14 Intel Corporation Estimating scalability value for a specific domain of a multicore processor based on active state residency of the domain, stall duration of the domain, memory bandwidth of the domain, and a plurality of coefficients based on a workload to execute on the domain
US9600392B2 (en) * 2014-08-11 2017-03-21 International Business Machines Corporation Tracking pipelined activity during off-core memory accesses to evaluate the impact of processor core frequency changes

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150144046A (ko) 2014-06-16 2015-12-24 주식회사 예티소프트 웹 쉘 탐지 장치와 이를 이용한 함수 실행 제어 방법

Also Published As

Publication number Publication date
US20160154449A1 (en) 2016-06-02

Similar Documents

Publication Publication Date Title
DE102015223187A1 (de) Ein-Chip-Systeme zum Steuern von Leistung mittels Auslastungen, Verfahren zum Betreiben dieser, und Computervorrichtungen, die diese umfassen
DE112011106032B4 (de) Energieeinsparung durch Speicherkanal-Abschaltung
DE602005005557T2 (de) Modul zur Verminderung der Leistungsaufnahme eines Festplattenlaufwerks
DE102013110085B4 (de) Nicht-flüchtige speichervorrichtung
DE102020132764A1 (de) Solid-state-drive mit externer softwareausführung zum bewirken von internen operationen des solid-state-drive
DE102013016609A1 (de) Vorrichtung und Verfahren für ein Storage Class Memory mit niedrigem Energieverbrauch, niedriger Latenz und hoher Kapazität
DE102011076895B4 (de) Cachekohärenzprotokoll für persistente Speicher
DE102018113447A1 (de) Speichervorrichtung zum Koppeln mit einem Host und Verfahren zum Betreiben des Hosts und der Speichervorrichtung
DE202012011944U1 (de) Vorrichtung und System zur Energie-Effizienz und Energie-Einsparung mit einem Strom- und Leistungsabgleich zwischen mehreren Verarbeitungselementen
DE112017001020T5 (de) Unterstützung einer vielzahl von speichertypen in einem speichersteckplatz
DE112007001987T5 (de) Überführen einer Rechenplattform in einen Systemzustand niedriger Leistung
DE112015004438T5 (de) Niedrigenergie-Prozessor zum Steuern von Betriebszuständen eines Computersystems
DE102020122182A1 (de) Virtuelle-maschine-replikation und -migration
TWI694379B (zh) 使用工作負載控制電力的系統晶片、其操作方法以及包含上述的計算裝置
DE102020133273A1 (de) Leistungsüberwachung und Ressorcenverwaltung
DE112019000662T5 (de) System, Vorrichtung und Verfahren für ein Handschlag-Protokoll für Niedrigleistungszustandsübergänge
DE102020116316A1 (de) Prioritätsbasierte batterie-zuordnung für ressourcen während leistungsausfall
DE112017001658T5 (de) Behandlung von fehleranfälligen Cache-Zeilen-Slots eines speicherseitigen Caches eines Multilevel-Systemspeichers
DE102019109357A1 (de) Selektive ausführung von cache-linien-ausräumoperationen
DE112020004583T5 (de) Adaptiver digitaler on-chip-leistungsschätzer
DE102021117226A1 (de) Konfigurierbarer reduzierter speicherstart
DE102022106019A1 (de) Verfahren und vorrichtung für ein gegendrucksignal bei einer speicherchip-rowhammer-bedrohung und hostseitige reaktion
DE102022119777A1 (de) VERFAHREN ZUM MINIMIEREN VON MEHRAUFWAND BEI DETEKTION VON HEIßEN/KALTEN SEITEN BEI LAUFENDEN ARBEITSLASTEN
DE102018005453A1 (de) Methoden, um Cache-Kohärenz basierend auf Cache-Typ bereitzustellen
DE102018120964A1 (de) Integrierte Schaltungsspeichervorrichtungen mit verbesserter Pufferspeichernutzung während Lese- und Schreiboperationen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee