DE112006002056T5 - Erhöhung der Arbeitsleistung eines oder mehrerer Kerne in Multikernprozessoren - Google Patents

Erhöhung der Arbeitsleistung eines oder mehrerer Kerne in Multikernprozessoren Download PDF

Info

Publication number
DE112006002056T5
DE112006002056T5 DE112006002056T DE112006002056T DE112006002056T5 DE 112006002056 T5 DE112006002056 T5 DE 112006002056T5 DE 112006002056 T DE112006002056 T DE 112006002056T DE 112006002056 T DE112006002056 T DE 112006002056T DE 112006002056 T5 DE112006002056 T5 DE 112006002056T5
Authority
DE
Germany
Prior art keywords
processor core
level
maximum
core
work
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.)
Ceased
Application number
DE112006002056T
Other languages
English (en)
Inventor
Michael T. Austin Clark
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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of DE112006002056T5 publication Critical patent/DE112006002056T5/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • 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/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3889Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
    • G06F9/3891Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute organised in groups of units sharing resources, e.g. clusters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Power Sources (AREA)
  • Microcomputers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Verarbeitungsknoten (12), der in einem einzelnen integrierten Schaltungschip umfasst:
einen ersten Prozessorkern (18A);
einen zweiten Prozessorkern (18B);
ein Betriebssystem (13A, 13B), das auf dem ersten Prozessorkern und/oder dem zweiten Prozessorkern ausgeführt wird und ausgebildet ist, unabhängig ein Arbeitsleistungsniveau des ersten Prozessorkerns und des zweiten Prozessorkerns und in Abhängigkeit von einem Auslastungspegel des ersten Prozessorkerns und/oder des zweiten Prozessorkerns zu steuern.

Description

  • HINTERGRUND DER ERFINDUNG
  • Technisches Gebiet
  • Diese Erfindung betrifft Multikernprozessoren und betrifft insbesondere die Arbeitsleistung in einer Prozessorumgebung mit mehreren Kernen.
  • Hintergrund der Erfindung
  • Chipmultiprozessoren (CMPs) werden zunehmend populär. Ein CMP besitzt zwei oder mehrere Prozessorkerne, die in der gleichen integrierten Schaltung eingerichtet sind. CMPs können die Millionen an Transistoren effizienter ausnutzen, die in einer integrierten Schaltung enthalten sind im Vergleich zu beispielsweise einem modernen einzelnen Prozessor.
  • In vielen Fällen werden CMPs verwendet, um die Rechenfähigkeit eines Systems zu erhöhen, in dem mehr als ein Prozessor die zentralen Verarbeitungsaufgaben ausführen. Durch die Aufteilung der Arbeitsleistung in einem CMP kann ferner die Verarbeitungseffizienz erhöht werden, wobei dennoch insgesamt das thermische Budget und das Leistungsbudget im Vergleich zu einem Einzelkernprozessor, der bei seiner maximalen Frequenz arbeitet, verringert werden können.
  • Jedoch wird ein gewisser Anteil der verfügbaren Verarbeitungsbandbreite in einigen CMPs aufgrund der thermischen Rahmenbedingungen und der Leistungsbeschränkungen, die dem CMP auferlegt werden, verschwendet. Beispielsweise sind in einer Doppelkernausführungsform beide Kerne individuell in der Lage, bei drei Gigahertz (GHz) zu arbeiten. Aufgrund der thermischen Beschränkung im Hinblick auf das Gehäuse oder im Hinblick auf das Leistungsbudget für das System sind jedoch gegebenenfalls beide Prozessorkerne auf eine Arbeitsfrequenz von 2,7 GHz begrenzt.
  • ÜBERBLICK ÜBER DIE ERFINDUNG
  • Hierin werden diverse Ausführungsformen für einen Multikernverarbeitungsknoten offenbart. Allgemein gesagt, wird hierin ein Verarbeitungsknoten betrachtet, in welchem ein Betriebssystem, das auf einem von mehreren Prozessorkernen, die in den Verarbeitungsknoten integriert sind, ausgeführt wird, die Auslastung jedes der Prozessorkerne überwacht. In Reaktion auf das Erkennen, dass einer oder mehrere der Prozessorkerne unterhalb einer Auslastungsschwelle arbeiten, veranlasst das Betriebssystem den einen oder die mehreren Prozessorkerne in einem Zustand mit geringerer Leistungsfähigkeit zu arbeiten oder nach Bedarf in einen Zustand minimaler Leistung überzugehen. Des Weiteren kann das Betriebssystem ferner die gerade verwendeten Prozessorkerne veranlassen, in einem Arbeitsleistungszustand zu arbeiten, der über einem maximalen Arbeitsleistungszustand des Systems liegt.
  • In einer Ausführungsform umfasst ein Verarbeitungsknoten, der in einem einzelnen integrierten Schaltungschip integriert ist, einen ersten Prozessorkern in einen zweiten Prozessorkern. Der Verarbeitungsknoten umfasst ein Betriebssystem, das ähnlich dem ersten Prozessorkern und/oder dem zweiten Prozessorkern ausgeführt wird. Das Betriebssystem ist ausgebildet, eine aktuelle Auslastung des ersten Prozessorkerns und des zweiten Prozessorkerns zu überwachen. Das Betriebssystem ist ferner ausgebildet, den ersten Prozessorkern zu veranlassen, auf einem Arbeitsleistungsniveau zu arbeiten, das geringer ist als ein maximales Arbeitsleistungsniveau des Systems, und um den zweiten Prozessorkern zu veranlassen, bei einem Arbeitsleistungsniveau zu arbeiten, das höher ist als das maximale Arbeitsleistungsniveau des Systems, wenn erkannt wird, dass der erste Prozessorkern unterhalb einer Auslastungsschwelle arbeitet.
  • In einer speziellen Ausführungsform besetzt das Betriebssystem, wenn erkannt wird, dass eine Reduzierung des Auslastungspegels des ersten Prozessorkerns bis unterhalb eines minimalen Auslastungsschwellwerts auftritt, den ersten Prozessorkern in einen Zustand minimaler Versorgungsleistung und steigert das Arbeitsleistungsniveau des zweiten Prozessorkerns auf ein maximales Arbeitsleistungsniveau. Zu beachten ist, dass das maximale Systemarbeitsleistungsniveau einer maximalen Frequenz und einem Spannungspegel entsprechen kann, wenn der erste Prozessorkern und der zweite Prozessorkern zusammen betrieben werden und das maximale Arbeitsleistungsniveau des Kerns kann einer maximalen Frequenz und einen maximalen Spannungspegel entsprechen, bei denen der erste Prozessorkern und der zweite Prozessorkern arbeiten können, wenn diese alleine betrieben werden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist eine Blockansicht einer Ausführungsform eines Computersystems mit einem Chipmultiprozessor.
  • 2 ist ein Flussdiagramm, das die Funktionsweise einer Ausführungsform des in 1 gezeigten Verarbeitungsknotens darstellt.
  • Obwohl die Erfindung diversen Modifizierungen und Alternativen unterliegen kann, sind dennoch spezielle Ausführungsformen in den Zeichnungen dargestellt und werden nachfolgend detailliert beschrieben. Es sollte jedoch beachtet werden, dass die Zeichnungen und die detaillierte Beschreibung nicht beabsichtigen, die Erfindung auf die speziell offenbarte Form einzuschränken, sondern die Erfindung soll vielmehr alle Modifizierungen, Äquivalente und Alternativen abdecken, die innerhalb des Grundgedankens und des Schutzpreis der vorliegenden Erfindung liegen, wie sie durch die angefügten Patentansprüche definiert ist. Zu beachten ist, dass die Überschriften nur zur Einteilung dienen und nicht als Begrenzung oder Interpretation der Beschreibung oder der Patentansprüche dienen sollen. Des Weiteren zu beachten ist, dass der Begriff „kann" durchwegs in dieser Anmeldung in einem möglichen Sinne (d. h. hat die Möglichkeit zu, fähig sein zu) verwendet wird, und nicht im Sinne von "ist erforderlich" (d. h. muss) benutzt wird. Der Begriff "enthalten" und Ableitungen davon bedeuten „mit bzw. enthaltend, aber nicht darauf eingeschränkt". Der Begriff "verbunden" bedeutet "direkt oder indirekt verbunden", und der Begriff "gekoppelt" bedeutet "direkt oder indirekt gekoppelt".
  • ART BZW: ARTEN ZUM AUSFÜHREN DER ERFINDUNG
  • 1 zeigt eine Blockansicht einer Ausführungsform eines Computersystems 10. In der dargestellten Ausführungsform umfasst das Computersystem 10 einen Verarbeitungsknoten 12, einen Speicher 14, einen peripheren Knoten 16, ein peripheres Gerät 17, einen Sensor 35, Spannungsregler 45A und 45B und ein Eingabe/Ausgabebasissystem (BIOS) 30. Der Verarbeitungsknoten 12 umfasst Prozessorkerne 18A bis 18B, die mit einer Knotensteuerung 20 verbunden sind, die ferner mit einer Speichersteuerung 22 und mehreren Hypertransport-(HAT)Schnittstellenschaltungen 24A bis 24C (in dieser Ausführungsform über eine HT-Schnittstelle) verbunden sind. Die HT-Schaltung 24B ist mit dem peripheren Netzknoten 16 verbunden, der mit dem peripheren Gerät 17 in einer Prioritätskettenkonfiguration (in dieser Ausführungsform unter Anwendung von HT-Schnittstellen) verbunden ist. Der periphere Netzknoten 16 ist mit dem BIOS 30 verbunden. Die Speichersteuerung 22 ist mit dem Speicher 14 verbunden. In einer Ausführungsform enthält jeder Prozessorkern 18A bis 18B einen entsprechenden Cache-Speicher bzw. mehrere Cache-Speicher (nicht gezeigt). In einer Ausführungsform ist der Verarbeitungsknoten 12 ein einzelner integrierter Schaltungschip mit der Schaltung, die in 1 gezeigt ist. Das heißt, der Verarbeitungsknoten 12 ist ein Chipmultiprozessor (CMP). In anderen Ausführungsformen ist der Verarbeitungsknoten 12 als zwei oder mehrere separate integrierte Schaltungen nach Bedarf vorgesehen. Es kann ein beliebiges Niveau an Integration angewendet oder es können diskrete Komponenten verwendet werden. Zu beachten ist, dass in anderen Ausführungsformen eine beliebige Anzahl an Prozessorkernen in dem Knoten 12 verwendet werden kann. Des Weiteren ist zu beachten, dass Komponenten mit einem Bezugszeichen, das sowohl eine Zahl als auch einen Buchstaben aufweist, nur durch die Zahl benannt werden können, wenn dies der Einfachheit halber geeignet ist.
  • Im Allgemeinen weisen die Prozessorkerne 18A und 18B Schaltungen auf, die gesteuert sind, um Befehle auszuführen, die in einer gegebenen Befehlssatzarchitektur vorgesehen sind. Das heißt die Prozessorkernschaltung ist ausgebildet, Befehle, die in der Befehlssatzarchitektur definiert sind, abzuholen, zu dekodieren, auszuführen und deren Ergebnisse zu speichern. Die Prozessorkerne 18 weisen beliebige gewünschte Konfigurationen auf, wozu eine Super-Pipelinearchitektur, eine superskalare Konfiguration oder Kombinationen davon gehören. Zu anderen Konfigurationen gehören die skalare Konfiguration, die Pipelinekonfiguration bzw. Vektorverarbeitung, keine Vektorverarbeitung, etc. In diversen Ausführungsformen wird die spekulative Ausführung außerhalb der Reihenfolge oder in der Reihenfolge eingesetzt. Der Prozessorkern kann eine Mikrokodierung für einen oder mehrere Befehle oder andere Funktionen in Verbindung mit den oben genannten Funktionen aufweisen. In diversen Ausführungsformen werden eine Vielzahl anderer Gestaltungsmerkmale, etwa Cache-Speicher, "nebenschauende" Übersetzungspuffer (TLB), etc. eingesetzt.
  • In einer Ausführungsform wird in den Verarbeitungsknoten eine Betriebssystemsversion abgearbeitet, die beide Prozessorkerne 18A, 18B steuert. Der OS-(bzw. Betriebssystems-)Kernel, der als OS 13A und OS 13B bezeichnet ist, kann auf einem der Prozessorkerne 18A bis 18B abgearbeitet werden. In einer Ausführungsform ist einer der Prozessorkerne 18A bis 18B als ein anlauffähiger Kern während der Systeminitialisierung vorgesehen und ein Prozessorkern (möglicherweise der selbe Kern) kann vorgesehen sein, um den OS-Kernel 13 für den Knoten 12 abzuarbeiten.
  • In einer Ausführungsform enthält jeder Prozessorkern 18 und das OS 13 die Steuerungsmerkmale und Funktionen, die es dem OS 13 ermöglichen, das Arbeitsleistungsniveau und den Versorgungsleistungspegel jedes Prozessorkerns zu steuern. Beispielsweise kann durch die Verwendung gewisser Register (beispielsweise Register 19A bis 19B) das OS 13 jeden Prozessorkern 18 veranlassen, bei einer oder mehreren Kombinationen aus Frequenzen und/oder Spannungspegel zu arbeiten. Insbesondere definiert die fortschrittliche Konfigurations- und Leistungsschnittstellen-(ACPI)Spezifikation Versorgungsleistungspegel und Arbeitsleistungsniveaus für Systeme und Systemkomponenten einschließlich von Prozessoren. Somit kann die Prozessorkernfrequenz und Spannung dynamisch während des Betriebs eingestellt werden, um einen effizienten Kompromiss zwischen Versorgungsleistung und Arbeitsleistungsniveau zu erreichen. Beispielsweise sind einige Softwareanwendungen nicht so anspruchsvoll wie andere. Somit kann das OS 13 die Frequenz und/oder die Spannung absenken, um eine längere Batteriestandzeit zu erreichen, wobei dennoch eine adäquate Arbeitsleistung bereitgestellt wird. Um ferner die Leistungsaufnahme während der Nichtverwendung zu reduzieren, können diverse Versorgungsleistungszustände definiert werden, die es möglich machen, dass ein Prozessorkern effektiv in einen Zustand minimaler Leistung versetzt wird (beispielsweise Schlafzustand). Des Weiteren ist das OS 13 ausgebildet, den Versorgungsleistungszustand und Arbeitsleistungszustand jedes Prozessorkerns 18 unabhängig dynamisch einzustellen, wobei dies in Abhängigkeit von Parametern, etwa der Auslastung jedes Prozessorkerns 18, um nur ein Beispiel zu nennen, bewerkstelligt werden kann.
  • Die Knotensteuerung 20 ist im Wesentlichen ausgebildet, Kommunikationsereignisse von den Prozessorkernen 18A bis 18B, der Speichersteuerung 22 und den HT-Schaltungen 24A bis 24C zu empfangen und diese Kommunikationsereignisse an die Prozessorkerne 18A bis 18B, die HT-Schaltungen 24A bis 24C und die Speichersteuerung 22 in Abhängigkeit von der Kommunikationsart, der Adresse des Kommunikationsereignisses, etc. weiterzuleiten. In einer Ausführungsform umfasst die Knotensteuerung 20 eine Systemverwaltungseinheit 21, die ausgebildet ist, Systemverwaltungsinformation, etwa die Prozessorknotentemperatur oder andere Systemumgebungsinformationen zu empfangen. Die Systemverwaltungseinheit 21 kann eine Schaltung aufweisen, um eine der ACPI entsprechende Funktion bereitzustellen. Wie nachfolgend detailliert erläutert ist, ist die Systemverwaltungseinheit 21 in der Knotensteuerung 20 ausgebildet, den OS-Kernel 13 über gewisse Systemverwaltungsereignisse in Kenntnis zu setzten. In einer Ausführungsform ist eine Systemverwaltungsnachricht eine Anforderung, die die Prozessorkerne 18A bis 18B veranlasst, in einen speziellen Zustand überzugehen. Beispielsweise kann der Zustand ein Versorgungsleistungsverwaltungszustand oder ein Arbeitsleistungsverwaltungszustand (wie dies oben beschrieben ist) sein. In anderen Ausführungsformen sind andere Systemverwaltungsnachrichten definiert, wie dies nachfolgend beschrieben ist.
  • In der dargestellten Ausführungsform ist der Sensor 35 eine beliebige Art eines Bauelements, das zum Bewachen von Umgebungsbedingungen verwendet wird. Beispielsweise ist in einer Ausführungsform der Sensor 35 ein temperaturempfindliches Bauelement, das ausgebildet ist, die Temperatur am pn-Übergang einer Referenzdiode innerhalb des Verarbeitungsknotens 12 zu bestimmen. Der Sensor 35 kann ferner ausgebildet sein, eine Angabe über die Temperatur für die Systemverwaltungseinheit 21 bereit zu stellen.
  • In der dargestellten Ausführungsform sind die Spannungsregler 45A und 45B ausgebildet, in programmierbarer Weise die Betriebsversorgungsspannung, die den Prozessorkernen 18A bzw. 18B zugeleitet wird, zu regeln und zu steuern. Beispielsweise sendet in einer Ausführungsform der OS-Kernel 13 eine Anforderung für eine Änderung der Betriebsspannung für einen oder beide Kerne an die Knotensteuerung 20. Die Knotensteuerung 20 sendet entsprechende Signale zu den Spannungsreglern 45A und 45B, die eine Spannungsänderung bewirken. In einer derartigen Ausführungsform enthält der Verarbeitungsknoten 12 separate Versorgungsspannungsanschlüsse (beispielsweise VDD und Gnd) für jeden der Prozessorkerne 18A und 18B, um eine unabhängige Spannungssteuerung der Prozessorkerne 18A und 18B zu ermöglichen.
  • Im Allgemeinen können in den Prozessorkernen 18A und 18B die Schnittstelle (N) zur Verbindung mit der Knotensteuerung 20 verwendet werden, um mit anderen Komponenten des Computersystems 10 in Verbindung zu treten (beispielsweise dem peripheren Netzknoten 16 und dem Gerät 17, mit anderen Prozessorkernen, der Speichersteuerung 22, etc.). Die Schnittstelle kann in einer beliebigen gewünschten Weise aufgebaut sein. Es kann eine mit dem Cache-Speicherkohärenten Kommunikation für die Schnittstelle definiert sein. In einer Ausführungsform findet die Kommunikation an den Schnittstellen zwischen der Knotensteuerung 20 und den Prozessorkernen 18A bis 18B in Form von Paketen, ähnlich, wie sie in den HT-Schnittstellen verwendet werden, statt. In anderen Ausführungsformen wird eine beliebige andere gewünschte Kommunikation eingesetzt (beispielsweise Transaktionen auf einer Busschnittstelle, Pakete in unterschiedlicher Form, etc.). In anderen Ausführungsformen teilen sich die Prozessorkerne 18A bis 18B eine Schnittstelle zu der Knotensteuerung 20 (beispielsweise eine gemeinsam benutzte Busschnittstelle).
  • Der Speicher 14 umfasst beliebige geeignete Speichereinrichtungen. Beispielsweise umfasst ein Speicher 14, einen oder mehrere RAMBUS DRAMs (RDRAMs), synchrone DRAMs (SDRAMs), Doppeldatenraten-(DDR)SDRAM, statische RAM, etc. Der Adressenraum des Computersystems 10 wird unter dem Speicher 14 und einem ähnlichen Speicher anderer Verarbeitungsknoten (nicht gezeigt) aufgeteilt. In derartigen Fällen enthält jeder Knoten 12 eine Speicherzuordnung (beispielsweise in der Knotensteuerung 20), um zu bestimmen, welche Adresse welchem Speicher 14 zugeordnet ist, und somit welchem Knoten 12 eine Speicheranforderung für eine spezielle Adresse zuzuleiten ist. Die Speichersteuerung 22 umfasst eine Steuerschaltung zur Kommunikation mit den Speichern 14. Des Weiteren kann die Speichersteuerung 22 Anforderungswarteschlangen zum Aufreihen von Speicheranforderungen, etc. enthalten.
  • Die HT-Schaltungen 24A bis 24C umfassen eine Vielzahl von Puffern und Steuerschaltungen, um Pakete von einer HT-Verbindung zu empfangen und Pakete über eine HT-Verbindung zu senden. Die HT-Schnittstelle umfasst unidirektionale Leitungen zum Übermitteln von Paketen. Jede HT-Schaltung 24A bis 24C kann mit zwei derartigen Verbindungen (eine zum Senden und eine zum Empfangen) verbunden sein. Eine gegebene HT-Schnittstelle kann in einer mit dem Cache-Speicherkohärenten Weise (beispielsweise zwischen zwei Knoten 12) oder in einer nicht-kohärenten Weise (beispielsweise zu/von peripheren Netzknoten/Geräten 16 und 17) betrieben werden. In der dargestellten Ausführungsform ist die HT-Schaltung 24C über kohärente HT-Verbindungen mit einer ähnlichen HT-Schnittstelle oder einem anderen Knoten (nicht gezeigt) zur Kommunikation zwischen den Knoten verbunden. Die HT-Schaltungen 24A ist nicht in Verwendung, und die HT-Schaltung 24D ist über nicht-kohärente Verbindungen mit dem peripheren Netzknoten/Geräten verbunden.
  • Der periphere Netzknoten 16 und das periphere Gerät 17 können eine beliebige Art von peripheren Einrichtungen sein. Beispielsweise gehören zu den peripheren Netzknoten/Geräten 16 und 17 Einrichtungen zur Kommunikation mit einem weitere Computersystem, mit dem die Einrichtungen verbunden sind (beispielsweise Netzwerkschnittstellenkarten, Schaltungen zum Einrichten einer Netzwerkschnittstellenfunktion, die auf der Hauptplatine eines Computersystems integriert ist, oder Modems). Ferner können die peripheren Netzknoten/das periphere Gerät 16 bzw. 17 Videobeschleuniger, Audiokarten, Festplatten oder Diskettenlaufwerke oder Laufswerkssteuerungen, SCSI-(Kleincomputersystemschnittstellen-)Adapter und Telefonkarten, Klangkarten und eine Vielzahl von Datennahmekarten, etwa GPIB- oder Feldbusschnittstellenkarten enthalten. Zu beachten ist, dass der Begriff „peripheres Gerät" Eingabe/Ausgabe-(I/O)Einrichtungen umfassen soll.
  • Zu beachten ist, dass obwohl in der vorliegenden Ausführungsform die HT-Schnittstelle für die Kommunikation zwischen den Knoten und zwischen einem Knoten und peripheren Geräten verwendet wird, in anderen Ausführungsformen beliebige andere gewünschte Schnittstellen für jede Art von Kommunikation verwendet werden können. Beispielsweise können andere paketbasierte Schnittstellen, Busschnittstellen, diverse periphere Standardschnittstellen und dergleichen eingesetzt werden (beispielsweise periphere Komponentenverbindung (PCI), PCI-Express, etc.)
  • Wie zuvor beschrieben ist, wird der OS-Kernel 13 in einem der Prozessorkerne 18A bis 18B ausgeführt. Der OS-Kernel 13 überwacht und steuert Systemfunktionen, bestimmt und weist an, welcher Prozessorkern 18 einen speziellen Ausführungspfad ausführen soll, und so weiter. Insbesondere überwacht der OS-Kernel 13 die Auslastung jedes Prozessorkerns 18A bis 18B. Des Weiteren kann abhängig von der Auslastung jedes Prozessorkerns 18A bis 18B oder in Abhängigkeit anderer Systemparameter der OS-Kernel 13 unabhängig sowohl den Versorgungsleistungszustand als auch den Arbeitsleistungszustand jedes Prozessorkerns 18A bis 18B steuern.
  • 2A zeigt ein Flussdiagramm, das die Funktion einer Ausführungsform des Verarbeitungsknotens 12 aus 1 zeigt. Es sei gemeinsam auf 1 und 2 verwiesen; während einer Systeminitialisierung werden ein Anfangsleistungsniveau und ein Anfangsversorgungsleistungspegel verwendet, um die Verarbeitungsboten 18A bis 18B zu betreiben (Block 205). Die anfänglichen Einstellungen können vorgewählte Einstellungen sein, die beispielsweise in die Register 19A bis 19B geschrieben sind. In einer Ausführungsform sind die Register 19A bis 19B modellspezifische Register (MSR), obwohl auch beliebige andere Register verwendet werden können. Die Voreinstellungen können fest verdrahtet mittels Sicherungen eingespeist sein oder können über das BIOS während des Hochlaufens oder während einer Selbsttestroutine beim Einschalten (POST) beispielsweise festgelegt werden. In jedem Falle kann das OS 13 die in den Registern 19A und 19B gespeicherten Werte verwenden, um die Betriebsfrequenz, die Spannung und den Versorgungsspannungszustand für jeden Prozessorkern 18A bis 18B festzulegen. Die anfänglichen Werte oder Voreinstellungswerte können vorbestimmte Werte auf der Grundlage einer Systemanalyse sein. Beispielsweise können die Frequenz und die Spannungswerte für ein maximales Arbeitsleistungsniveau des Systems festgelegt sein. Das maximale Systemarbeitsleistungsniveau entspricht einer Frequenz und einem Spannungspegel, bei denen beide Prozessorkerne 18A bis 18B zusammen arbeiten, ohne dass das thermische Budget für den Verarbeitungsknoten 12 überschritten wird. Das maximale Systemarbeitsleistungsniveau ist typischerweise unterschiedlich von einem maximalen Kernarbeitsleistungsniveau, das einer Frequenz und einem Spannungspegel entspricht, bei der ein bestimmter Prozessorkern 18 noch arbeiten kann. Das Kernmaximum kann durch Testen und Qualifizierung während der Herstellung bestimmt werden.
  • In einer Ausführungsform überwacht während des Betriebs des Verarbeitungsknotens 12 das OS 13 eine aktuelle Auslastung jedes Prozessorkerns 18 unter Anwendung verfügbarer Hilfsmittel. Des Weiteren kann das OS 13 Systemverwaltungsparameter, etwa beispielsweise, ob interne oder externe Systemverwaltungsinterrupte oder Anforderungsnachrichten empfangen wurden, überwachen (Block 210).
  • Wenn das OS 13 bestimmt, dass die Auslastung eines Prozessorkerns 18A oder 18B unter einen vorbestimmten Schwellwert abgesunken ist (Block 215), bestimmt das OS 13 dann, ob dieser Kern unter einen minimalen Schwellwert abgesunken ist (220), und das OS 13 veranlasst, dass Prozessorkern mit der geringen Auslastung, abgeschaltet wird oder in einem Zustand minimaler Leistung betrieben wird (Block 230). Des Weiteren kann das OS 13 veranlassen, dass der Prozessorkern 18, der gerade benutzt wird, bei dem maximalen Leistungsniveaus des Kerns betrieben wird (Block 235).
  • Als Beispiel sei angenommen, dass jeder der Prozessorkerne 18A bis 18B in der Lage ist, mit 3 GHz unabhängig von Erfordernissen auf Systemebene oder thermischen Beschränkungen zu arbeiten. Somit beträgt das maximale Kernarbeitsleistungsniveau jedes Prozessorkerns 18 3 GHz. Wenn beide Prozessorkerne 18 in dem gleichen Gehäuse sind, könnte das thermische Budget überschritten werden, wenn beide zusammen bei 3 GHz arbeiten. Somit kann das maximale Arbeitsleistungsniveau so festgelegt werden, dass die Prozessorkerne 18, wenn sie zusammen betrieben werden, nicht 2,6 GHz überschreiten.
  • In dieser Situation kann nunmehr eine Anwendung auf dem Prozessorkern 18A alleine abgearbeitet werden, und der Prozessorkern 18B kann gegebenenfalls untätig sein, wie dies der Fall ist, wenn eine Anwendung eines einzelnen Verarbeitungspfades abgearbeitet wird. Somit kann das OS 13 den Prozessorkern 18B abschalten und den Prozessorkern 18A veranlassen, bei seinem maximalen Kernarbeitsleistungsniveau zu arbeiten. Auf diese Weise wird das thermische Budget nicht überschritten und die Anwendung kann mit maximaler Arbeitsleistung abgearbeitet werden.
  • Ferner kann es Fälle geben, in denen die Auslastung nicht so deutlich von dem Minimum und dem Maximum abbegrenzt ist. Folglich kann das OS 13 ausgebildet sein, die aktuelle Auslastung mit diversen Schwellwerten zu vergleichen. Folglich kann das OS 13 das Arbeitsleistungsniveau eines Prozessorkerns dynamisch herunterregeln, während das Arbeitsleistungsniveau des anderen Prozessorkerns in unterschiedlichen Stufen erhöht werden kann, ohne dass das thermische Budget überschritten wird. Wenn folglich unter Bezugnahme auf Block 220 das OS 13 bestimmt, dass der Prozessorkern nicht unterhalb der minimalen Auslastungsquelle ist, sondern unter einem anderen oder mehreren anderen Schwellwerten liegt, kann das OS 13 schrittweise das Arbeitsleistungsniveau des Prozessorkerns, der die geringere Auslastung besitzt, senken und das Arbeitsleistungsniveau des Prozessorkerns, der die höhere Auslastung aufweist, erhöhen (Block 225). Die Funktionsweise geht dann so weiter, wie im Block 210 beschrieben ist, wobei das OS 13 die aktuelle Auslastung jedes Prozessorkerns 18 überwacht.
  • Es sei wieder auf Block 215 verwiesen; wenn das OS 13 bestimmt, dass keiner der Prozessorkerne 18 unter einem Auslastungsschwellwert liegt, kann das OS 13 bestimmen, ob die Systemtemperatur unterhalb eines minimalen Schwellwerts liegt (Block 240). Beispielsweise kann eine typische Chipbetriebstemperatur für die Prozessorkerne 18 bei 90 Grad Celsius liegen. Diese Temperatur kann von dem Sensor 35 überwacht werden. In einer Ausführungsform erfasst der Sensor 35 die Temperatur einer Referenzdiode in dem Prozessorkern 18A und/oder 18B. Der Sensor 35 kann Signale für die Systemverwaltungseinheit 21 bereitstellen, die die Temperatur angeben. In einer Ausführungsform kann ein minimaler Schwellwert bei 75 Grad Celsius liegen, während eine maximale Schwelle bei 88 Grad Celsius liegt, um ein Beispiel zu nennen. Wenn folglich die Temperatur unter dem minimalen Schwellwert liegt, kann das OS 13 das Arbeitsleistungsniveau eines oder beider Prozessorkerne erhöhen (Block 245), bis die Temperatur zwischen dem minimalen Block 240) und dem maximalen Schwellwert (Block 250) liegt. Dies kann in den Blöcken 240 und 245 iterativ mehrere Male ausgeführt werden, um das gewünschte Arbeitsleistungsniveau und die Temperatur zu erreichen. Der Ablauf geht dann so weiter, wie dies im Block 210 beschrieben ist, in welchem das OS 13 die aktuelle Auslastung jedes Prozessorkerns 18 überwacht.
  • Wenn gemäß Block 250 die Temperatur über dem maximalen Schwellwert liegt (Block 250), kann das OS 13 ein oder beide Arbeitsleistungsniveaus der Prozessorkerne absenken (Block 245), bis die Temperatur innerhalb der minimalen und der maximalen Schwelle liegt. Jedoch kann in diesem oberen Grenzfall das OS 13 die Schrittweite für das Arbeitsleistungsniveau erhöhen, um damit die Temperatur möglichst schnell zu reduzieren. Der Ablauf geht dann so weiter, wie in Block 210 beschrieben ist, wobei das OS 13 die aktuelle Auslastung jedes Prozessorkerns 18 überwacht.
  • Zu beachten ist, dass die Betriebsspannung in der gleichen Weise wie die Frequenz schrittweise erhöht und abgesenkt werden kann. In einer Ausführungsform wird die Spannung zusammen mit der Frequenz eingestellt, während in einer weiteren Ausführungsform die Spannung unabhängig von der Frequenz eingestellt wird. Beispielsweise kann, wie zuvor erläutert ist, das OS 13 die Betriebspannung erhöhen oder absenken, indem eine Anforderung an die Knotensteuerung 20 gesendet wird. Die Knotensteuerung 20 liefert Signale an die Spannungsregler 45A und/oder 45B, wie dies notwendig ist, um die Spannung zu erhöhen oder abzusenken.
  • Obwohl die Ausführungsformen detailliert beschrieben sind, können zahlreiche Varianten und Modifizierungen für den Fachmann im Lichte der obigen Offenbarungen ersichtlich sein. Es ist beabsichtigt, dass die folgenden Patentansprüche so interpretiert werden, dass sie alle derartigen Variationen und Modifizierungen umfassen.
  • Industrielle Anwendbarkeit
  • Diese Erfindung ist im Allgemeinen auf Multikernprozessoren anwendbar.
  • Zusammenfassung
  • ERHÖHUNG DER ARBEITSLEISTUNG EINES ODER MEHRERER KERNE IN MULTIKERNPROZESSOREN
  • Ein Verarbeitungsknoten (12), der in einen einzelnen integrierten Schaltungschip integriert ist, umfasst einen ersten Prozessorkern (18A) und einen zweiten Prozessorkern (18B). Der Verarbeitungsknoten umfasst ferner ein Betriebssystem (13A, 13B), das in dem ersten Prozessorkern und/oder dem zweiten Prozessorkern abgearbeitet wird. Das Betriebssystem überwacht eine aktuelle Auslastung des ersten Prozessorkerns und des zweiten Prozessorkerns. Das Betriebssystem veranlasst den ersten Prozessorkern, bei einem Arbeitsleistungsniveau zu arbeiten, das geringer ist als ein maximales Systemarbeitsleistungsniveau und veranlasst den zweiten Prozessorkern, bei einem Arbeitsleistungsniveau zu arbeiten, das höher ist als das maximale Systemarbeitsleistungsniveau, wenn erkannt wird, dass der erste Prozessorkern unter einem Auslastungsschwellwert arbeitet.

Claims (10)

  1. Verarbeitungsknoten (12), der in einem einzelnen integrierten Schaltungschip umfasst: einen ersten Prozessorkern (18A); einen zweiten Prozessorkern (18B); ein Betriebssystem (13A, 13B), das auf dem ersten Prozessorkern und/oder dem zweiten Prozessorkern ausgeführt wird und ausgebildet ist, unabhängig ein Arbeitsleistungsniveau des ersten Prozessorkerns und des zweiten Prozessorkerns und in Abhängigkeit von einem Auslastungspegel des ersten Prozessorkerns und/oder des zweiten Prozessorkerns zu steuern.
  2. Verarbeitungsknoten nach Anspruch 1, wobei in Reaktion auf das Erkennen eines Absinkens des aktuellen Auslastungspegels des ersten Prozessorkerns das Betriebssystem ausgebildet ist, das Arbeitsleistungsniveau des ersten Prozessorkerns zu reduzieren und das Arbeitsleistungsniveau des zweiten Prozessorkerns um einen entsprechenden Betrag über ein maximales Systemarbeitsleistungsniveau hinaus zu erhöhen.
  3. Verarbeitungsknoten nach Anspruch 1, wobei in Reaktion auf das Erkennen einer Verringerung des aktuellen Auslastungspegels des zweiten Prozessorkerns das Betriebssystem ausgebildet ist, das Arbeitsleistungsniveau des zweiten Prozessorkerns zu reduzieren und das Arbeitsleistungsniveau des ersten Prozessorkerns um einen entsprechenden Betrag über ein maximales Systemarbeitsleistungsniveau hinaus zu erhöhen.
  4. Verarbeitungsknoten nach Anspruch 1, wobei in Reaktion auf das Erkennen einer Reduzierung des aktuellen Auslastungspegels des ersten Prozessorkerns bis unter einen minimalen Auslastungspegel das Betriebssystem ausgebildet ist, den ersten Prozessorkern in einen Zustand minimaler Leistung zu versetzen und das Arbeitsleistungsniveau des zweiten Prozessorkerns auf ein maximales Kernarbeitsleistungsniveau anzuheben.
  5. Verarbeitungsknoten nach Anspruch 1, wobei das maximale Systemarbeitsleistungsniveau einer maximalen Frequenz und einem maximalen Spannungspegel entspricht, wenn sowohl der erste Prozessorkern als auch der zweite Prozessorkern betrieben werden, wobei das maximale Kernarbeitsleistungsniveau einer maximalen Frequenz und einem maximalen Spannungspegel entspricht, bei welcher der erste Prozessorkern und der zweite Prozessorkern arbeiten können.
  6. Verfahren mit: Ausführen von Befehlen in einem ersten Prozessorkern (18A); Ausführen von Befehlen in einem zweiten Prozessorkern (18B); Ausführen eines Betriebssystems (13A, 13B) in dem ersten Prozessorkern und/oder dem zweiten Prozessorkern, wobei das Betriebssystem unabhängig ein Arbeitsleistungsniveau des ersten Prozessorkerns und des zweiten Prozessorkerns in Abhängigkeit eines aktuellen Auslastungspegels des ersten Prozessorkerns und/oder des zweiten Prozessorkerns steuert.
  7. Verfahren nach Anspruch 6, wobei in Reaktion auf das Erkennen einer Verringerung des aktuellen Auslastungspegels des zweiten Prozessorkerns das Betriebssystem das Arbeitsleistungsniveau des ersten Prozessorkerns absenkt und das Arbeitsleistungsniveau des zweiten Prozessorkerns um einen entsprechenden Betrag über ein maximales Systemarbeitsleistungsniveau hinaus anhebt.
  8. Verfahren nach Anspruch 6, wobei in Reaktion auf das Erkennen einer Verringerung des aktuellen Auslastungspegels des zweiten Prozessorkerns das Betriebssystem das Arbeitsleistungsniveau des zweiten Prozessorkerns absenkt und das Arbeitsleistungsniveau des ersten Prozessorkerns um einen entsprechenden Betrag über ein maximales Systemarbeitsleistungsniveau hinaus anhebt.
  9. Verfahren nach Anspruch 6, wobei in Reaktion auf das Erkennen einer Verringerung des aktuellen Auslastungspegels des ersten Prozessorkerns bis unter einen minimalen Auslastungspegel das Betriebssystem den ersten Prozessorkern in einen Zustand minimaler Leistung versetzt und das Arbeitsleistungsniveau des zweien Prozessorkerns auf ein maximales Kernarbeitsleistungsniveau anhebt.
  10. Verfahren nach Anspruch 6, wobei das maximale Systemarbeitsleistungsniveau einer maximalen Frequenz und einem maximalen Spannungspegel entspricht, bei der der erste Prozessorkern und der zweite Prozessorkern arbeiten, und wobei das maximale Kernarbeitsleistungsniveau einer maximalen Frequenz und einem maximalen Spannungspegel entspricht, bei welchem der erste Prozessorkern und der zweite Prozessorkern arbeiten können.
DE112006002056T 2005-08-02 2006-07-20 Erhöhung der Arbeitsleistung eines oder mehrerer Kerne in Multikernprozessoren Ceased DE112006002056T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/195,305 US7490254B2 (en) 2005-08-02 2005-08-02 Increasing workload performance of one or more cores on multiple core processors
US11/195,305 2005-08-02
PCT/US2006/028199 WO2007019003A2 (en) 2005-08-02 2006-07-20 Increasing workload performance of one or more cores on multiple core processors

Publications (1)

Publication Number Publication Date
DE112006002056T5 true DE112006002056T5 (de) 2008-07-10

Family

ID=37718910

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112006002056T Ceased DE112006002056T5 (de) 2005-08-02 2006-07-20 Erhöhung der Arbeitsleistung eines oder mehrerer Kerne in Multikernprozessoren

Country Status (8)

Country Link
US (2) US7490254B2 (de)
JP (1) JP4937260B2 (de)
KR (1) KR101310044B1 (de)
CN (1) CN101233475B (de)
DE (1) DE112006002056T5 (de)
GB (1) GB2442919B (de)
TW (1) TWI412993B (de)
WO (1) WO2007019003A2 (de)

Families Citing this family (121)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7434073B2 (en) 2004-11-29 2008-10-07 Intel Corporation Frequency and voltage scaling architecture
US20070094436A1 (en) * 2005-10-20 2007-04-26 Keown William F Jr System and method for thermal management in PCI express system
US7263457B2 (en) * 2006-01-03 2007-08-28 Advanced Micro Devices, Inc. System and method for operating components of an integrated circuit at independent frequencies and/or voltages
US7774590B2 (en) * 2006-03-23 2010-08-10 Intel Corporation Resiliently retaining state information of a many-core processor
US7636864B2 (en) * 2006-05-03 2009-12-22 Intel Corporation Mechanism for adaptively adjusting a direct current loadline in a multi-core processor
US7650518B2 (en) * 2006-06-28 2010-01-19 Intel Corporation Method, apparatus, and system for increasing single core performance in a multi-core microprocessor
US8051276B2 (en) * 2006-07-07 2011-11-01 International Business Machines Corporation Operating system thread scheduling for optimal heat dissipation
US7949887B2 (en) * 2006-11-01 2011-05-24 Intel Corporation Independent power control of processing cores
US8117478B2 (en) * 2006-12-29 2012-02-14 Intel Corporation Optimizing power usage by processor cores based on architectural events
US8429663B2 (en) * 2007-03-02 2013-04-23 Nec Corporation Allocating task groups to processor cores based on number of task allocated per core, tolerable execution time, distance between cores, core coordinates, performance and disposition pattern
US8185215B2 (en) * 2007-03-28 2012-05-22 Nytell Software LLC Electronic device and method determining a workload of an electronic device
US7900069B2 (en) * 2007-03-29 2011-03-01 Intel Corporation Dynamic power reduction
US8490103B1 (en) * 2007-04-30 2013-07-16 Hewlett-Packard Development Company, L.P. Allocating computer processes to processor cores as a function of process utilizations
US7908493B2 (en) * 2007-06-06 2011-03-15 International Business Machines Corporation Unified management of power, performance, and thermals in computer systems
US8166326B2 (en) * 2007-11-08 2012-04-24 International Business Machines Corporation Managing power consumption in a computer
US8032772B2 (en) 2007-11-15 2011-10-04 Intel Corporation Method, apparatus, and system for optimizing frequency and performance in a multi-die microprocessor
US20090132842A1 (en) * 2007-11-15 2009-05-21 International Business Machines Corporation Managing Computer Power Consumption In A Computer Equipment Rack
US8041521B2 (en) * 2007-11-28 2011-10-18 International Business Machines Corporation Estimating power consumption of computing components configured in a computing system
US8024590B2 (en) * 2007-12-10 2011-09-20 Intel Corporation Predicting future power level states for processor cores
US20090182657A1 (en) * 2008-01-15 2009-07-16 Omx Technology Ab Distributed ranking and matching of messages
US20090235108A1 (en) * 2008-03-11 2009-09-17 Gold Spencer M Automatic processor overclocking
US20090288092A1 (en) * 2008-05-15 2009-11-19 Hiroaki Yamaoka Systems and Methods for Improving the Reliability of a Multi-Core Processor
US8103884B2 (en) * 2008-06-25 2012-01-24 International Business Machines Corporation Managing power consumption of a computer
US8200999B2 (en) * 2008-08-11 2012-06-12 International Business Machines Corporation Selective power reduction of memory hardware
US20100057404A1 (en) * 2008-08-29 2010-03-04 International Business Machines Corporation Optimal Performance and Power Management With Two Dependent Actuators
US8041976B2 (en) * 2008-10-01 2011-10-18 International Business Machines Corporation Power management for clusters of computers
US8707060B2 (en) * 2008-10-31 2014-04-22 Intel Corporation Deterministic management of dynamic thermal response of processors
US8514215B2 (en) * 2008-11-12 2013-08-20 International Business Machines Corporation Dynamically managing power consumption of a computer with graphics adapter configurations
US8055477B2 (en) * 2008-11-20 2011-11-08 International Business Machines Corporation Identifying deterministic performance boost capability of a computer system
US8689017B2 (en) * 2009-03-12 2014-04-01 Cisco Technology, Inc. Server power manager and method for dynamically managing server power consumption
WO2010138031A1 (en) 2009-05-26 2010-12-02 Telefonaktiebolaget Lm Ericsson (Publ) Method and scheduler in an operating system
JP5223804B2 (ja) * 2009-07-22 2013-06-26 東京エレクトロン株式会社 成膜方法及び成膜装置
JP5564564B2 (ja) * 2009-07-24 2014-07-30 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 計算ユニットの性能を性能感度に従い不均等に変化させる方法及び装置
US20110022356A1 (en) * 2009-07-24 2011-01-27 Sebastien Nussbaum Determining performance sensitivities of computational units
US8452991B2 (en) * 2009-08-20 2013-05-28 International Business Machines Corporation Partition level power management using fully asynchronous cores with software that has limited asynchronous support
KR101620103B1 (ko) * 2009-10-21 2016-05-13 삼성전자주식회사 멀티 코어 시스템에서 중앙 처리 장치의 전력 제어 장치 및 방법
US9098274B2 (en) 2009-12-03 2015-08-04 Intel Corporation Methods and apparatuses to improve turbo performance for events handling
US8775830B2 (en) * 2009-12-16 2014-07-08 Qualcomm Incorporated System and method for dynamically controlling a plurality of cores in a multicore central processing unit based on temperature
US8689037B2 (en) * 2009-12-16 2014-04-01 Qualcomm Incorporated System and method for asynchronously and independently controlling core clocks in a multicore central processing unit
US8909962B2 (en) * 2009-12-16 2014-12-09 Qualcomm Incorporated System and method for controlling central processing unit power with guaranteed transient deadlines
US20110145559A1 (en) * 2009-12-16 2011-06-16 Thomson Steven S System and method for controlling central processing unit power with guaranteed steady state deadlines
US8650426B2 (en) * 2009-12-16 2014-02-11 Qualcomm Incorporated System and method for controlling central processing unit power in a virtualized system
US9563250B2 (en) 2009-12-16 2017-02-07 Qualcomm Incorporated System and method for controlling central processing unit power based on inferred workload parallelism
US9176572B2 (en) 2009-12-16 2015-11-03 Qualcomm Incorporated System and method for controlling central processing unit power with guaranteed transient deadlines
US9104411B2 (en) 2009-12-16 2015-08-11 Qualcomm Incorporated System and method for controlling central processing unit power with guaranteed transient deadlines
US9128705B2 (en) * 2009-12-16 2015-09-08 Qualcomm Incorporated System and method for controlling central processing unit power with reduced frequency oscillations
US8352759B2 (en) * 2010-01-11 2013-01-08 Qualcomm Incorporated System and method of monitoring a central processing unit in real time
US8549339B2 (en) * 2010-02-26 2013-10-01 Empire Technology Development Llc Processor core communication in multi-core processor
US8935549B2 (en) 2010-06-30 2015-01-13 Via Technologies, Inc. Microprocessor with multicore processor power credit management feature
US9600059B2 (en) * 2010-09-20 2017-03-21 Apple Inc. Facilitating power management in a multi-core processor
US8943334B2 (en) 2010-09-23 2015-01-27 Intel Corporation Providing per core voltage and frequency control
US8612781B2 (en) * 2010-12-14 2013-12-17 Advanced Micro Devices, Inc. Method and apparatus for application of power density multipliers optimally in a multicore system
US9063730B2 (en) 2010-12-20 2015-06-23 Intel Corporation Performing variation-aware profiling and dynamic core allocation for a many-core processor
US8984305B2 (en) 2010-12-21 2015-03-17 Intel Corporation Method and apparatus to configure thermal design power in a microprocessor
US9201707B2 (en) * 2011-02-02 2015-12-01 Nec Corporation Distributed system, device, method, and program
US8949637B2 (en) * 2011-03-24 2015-02-03 Intel Corporation Obtaining power profile information with low overhead
US8924752B1 (en) 2011-04-20 2014-12-30 Apple Inc. Power management for a graphics processing unit or other circuit
US8793515B2 (en) 2011-06-27 2014-07-29 Intel Corporation Increasing power efficiency of turbo mode operation in a processor
US20130000871A1 (en) * 2011-06-30 2013-01-03 Ian Olson Systems and Methods for Extending Operating Temperatures of Electronic Components
US9098561B2 (en) 2011-08-30 2015-08-04 Intel Corporation Determining an effective stress level on a processor
US8769316B2 (en) 2011-09-06 2014-07-01 Intel Corporation Dynamically allocating a power budget over multiple domains of a processor
US8688883B2 (en) * 2011-09-08 2014-04-01 Intel Corporation Increasing turbo mode residency of a processor
CN102999150B (zh) * 2011-09-14 2016-02-03 宏碁股份有限公司 电子系统与效能控制方法
US8862917B2 (en) * 2011-09-19 2014-10-14 Qualcomm Incorporated Dynamic sleep for multicore computing devices
US9074947B2 (en) 2011-09-28 2015-07-07 Intel Corporation Estimating temperature of a processor core in a low power state without thermal sensor information
KR20130040485A (ko) * 2011-10-14 2013-04-24 삼성전자주식회사 휴대 단말기에서 중앙처리장치를 제어하는 장치 및 방법
US9026815B2 (en) 2011-10-27 2015-05-05 Intel Corporation Controlling operating frequency of a core domain via a non-core domain of a multi-domain processor
US8924758B2 (en) * 2011-12-13 2014-12-30 Advanced Micro Devices, Inc. Method for SOC performance and power optimization
US8856566B1 (en) 2011-12-15 2014-10-07 Apple Inc. Power management scheme that accumulates additional off time for device when no work is available and permits additional power consumption by device when awakened
US9977482B2 (en) * 2011-12-21 2018-05-22 Intel Corporation Method and apparatus for setting an I/O bandwidth-based processor frequency floor
US9569278B2 (en) * 2011-12-22 2017-02-14 Intel Corporation Asymmetric performance multicore architecture with same instruction set architecture
US9354689B2 (en) * 2012-03-13 2016-05-31 Intel Corporation Providing energy efficient turbo operation of a processor
WO2013137860A1 (en) 2012-03-13 2013-09-19 Intel Corporation Dynamically computing an electrical design point (edp) for a multicore processor
US9323316B2 (en) * 2012-03-13 2016-04-26 Intel Corporation Dynamically controlling interconnect frequency in a processor
KR101677115B1 (ko) * 2012-03-31 2016-11-18 인텔 코포레이션 멀티-코어 환경들에서의 전력 소비 제어
US9390461B1 (en) 2012-05-08 2016-07-12 Apple Inc. Graphics hardware mode controls
ES2531450B2 (es) 2012-05-30 2015-08-11 Schweitzer Engineering Laboratories, Inc. Gestión térmica de un transceptor de comunicaciones en un dispositivo eléctrico de comunicaciones
US9250665B2 (en) * 2012-06-07 2016-02-02 Apple Inc. GPU with dynamic performance adjustment
US9229524B2 (en) 2012-06-27 2016-01-05 Intel Corporation Performing local power gating in a processor
US8862824B2 (en) * 2012-09-26 2014-10-14 Intel Corporation Techniques for managing power and performance of multi-socket processors
CN103810141A (zh) * 2012-11-09 2014-05-21 辉达公司 处理器和包括其的电路板
US9323300B2 (en) * 2012-11-27 2016-04-26 International Business Machines Corporation Computing system voltage control
US9218044B2 (en) * 2012-11-27 2015-12-22 International Business Machines Corporation Computing system frequency target monitor
KR102005765B1 (ko) 2012-12-17 2019-07-31 삼성전자주식회사 시스템-온 칩과, 이의 동작 방법
US9052885B2 (en) * 2012-12-21 2015-06-09 Advanced Micro Devices, Inc. Using temperature margin to balance performance with power allocation
US9639372B2 (en) 2012-12-28 2017-05-02 Intel Corporation Apparatus and method for heterogeneous processors mapping to virtual cores
US9672046B2 (en) * 2012-12-28 2017-06-06 Intel Corporation Apparatus and method for intelligently powering heterogeneous processor components
US9766678B2 (en) 2013-02-04 2017-09-19 Intel Corporation Multiple voltage identification (VID) power architecture, a digital synthesizable low dropout regulator, and apparatus for improving reliability of power gates
US9727345B2 (en) 2013-03-15 2017-08-08 Intel Corporation Method for booting a heterogeneous system and presenting a symmetric core view
US9430346B2 (en) * 2013-03-26 2016-08-30 Texas Instruments Incorporated Processor power measurement
US9317389B2 (en) 2013-06-28 2016-04-19 Intel Corporation Apparatus and method for controlling the reliability stress rate on a processor
JP6142709B2 (ja) * 2013-07-23 2017-06-07 富士通株式会社 計測方法、計測プログラム、携帯情報端末、及びその制御方法
CN104424156A (zh) * 2013-09-09 2015-03-18 中兴通讯股份有限公司 处理器的核处理方法、装置及终端
WO2015039320A1 (en) * 2013-09-19 2015-03-26 Intel Corporation Techniques for distributed processing task portion assignment
US9395788B2 (en) 2014-03-28 2016-07-19 Intel Corporation Power state transition analysis
JP5986138B2 (ja) * 2014-05-09 2016-09-06 レノボ・シンガポール・プライベート・リミテッド 複数のプロセッサに電力を供給する電源装置の出力を制御する方法、電源システムおよび情報処理装置
US10025361B2 (en) * 2014-06-05 2018-07-17 Advanced Micro Devices, Inc. Power management across heterogeneous processing units
US9600058B2 (en) * 2014-06-24 2017-03-21 Intel Corporation Enhancing power-performance efficiency in a computer system when bursts of activity occurs when operating in low power
US9904339B2 (en) 2014-09-10 2018-02-27 Intel Corporation Providing lifetime statistical information for a processor
US9906497B2 (en) 2014-10-06 2018-02-27 Cryptzone North America, Inc. Multi-tunneling virtual network adapter
US9898071B2 (en) * 2014-11-20 2018-02-20 Apple Inc. Processor including multiple dissimilar processor cores
US9704598B2 (en) 2014-12-27 2017-07-11 Intel Corporation Use of in-field programmable fuses in the PCH dye
US9779058B2 (en) * 2015-07-13 2017-10-03 Google Inc. Modulating processsor core operations
US20170147053A1 (en) * 2015-11-23 2017-05-25 Mediatek Inc. Application driven dynamic voltage and frequency scaling method and associated machine readable medium
US10013392B2 (en) 2016-01-26 2018-07-03 Intel Corporation Providing access from outside a multicore processor SoC to individually configure voltages
US10412048B2 (en) 2016-02-08 2019-09-10 Cryptzone North America, Inc. Protecting network devices by a firewall
US10296067B2 (en) * 2016-04-08 2019-05-21 Qualcomm Incorporated Enhanced dynamic clock and voltage scaling (DCVS) scheme
US9560015B1 (en) 2016-04-12 2017-01-31 Cryptzone North America, Inc. Systems and methods for protecting network devices by a firewall
WO2018032334A1 (zh) * 2016-08-16 2018-02-22 陈银芳 手机多核多线程调度方法及系统
US10659168B2 (en) 2016-08-23 2020-05-19 Schweitzer Engineering Laboratories, Inc. Low-power fiber optic transceiver
US10528118B2 (en) * 2017-04-21 2020-01-07 Intel Corporation Dynamically power on/off register files during execution
CN111435267A (zh) * 2019-01-15 2020-07-21 海信集团有限公司 功耗自动调整的方法、装置、设备及计算机可读存储介质
US11086081B2 (en) 2019-03-21 2021-08-10 Schweitzer Engineering Laboratories, Inc. Conductive cooling for small form-factor pluggable (SFP) fiber optic transceivers
US11073888B2 (en) * 2019-05-31 2021-07-27 Advanced Micro Devices, Inc. Platform power manager for rack level power and thermal constraints
US11487339B2 (en) * 2019-08-29 2022-11-01 Micron Technology, Inc. Operating mode register
CN114816033A (zh) * 2019-10-17 2022-07-29 华为技术有限公司 处理器的调频方法及装置、计算设备
US11392418B2 (en) 2020-02-21 2022-07-19 International Business Machines Corporation Adaptive pacing setting for workload execution
US20230205606A1 (en) * 2020-05-29 2023-06-29 Intel Corporation Systems, apparatus, and methods to workload optimize hardware
TWI777320B (zh) 2020-12-04 2022-09-11 神雲科技股份有限公司 功耗校調方法與伺服器
US20230205306A1 (en) * 2021-12-24 2023-06-29 Advanced Micro Devices, Inc Default Boost Mode State for Devices
CN115622592B (zh) * 2022-12-20 2023-03-10 翱捷科技(深圳)有限公司 音频数据获取方法、系统及存储介质

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04215168A (ja) * 1990-12-13 1992-08-05 Nec Corp コンピュータシステム
ATE200357T1 (de) 1991-07-08 2001-04-15 Seiko Epson Corp Risc-prozessor mit dehnbarer architektur
CN1121003C (zh) * 1999-03-24 2003-09-10 新巨企业股份有限公司 具有多处理器控制装置的电源供应器
US6823516B1 (en) * 1999-08-10 2004-11-23 Intel Corporation System and method for dynamically adjusting to CPU performance changes
JP2001109729A (ja) * 1999-10-12 2001-04-20 Nec Corp マルチプロセッサシステムにおける消費電力制御装置および方法
JP2002189540A (ja) * 2000-12-20 2002-07-05 Pfu Ltd 装置電源の節電制御装置および節電制御方法並びに記録媒体
US6704687B2 (en) * 2001-01-31 2004-03-09 Hewlett-Packard Development Company, L.P. Historical results based method for automatically improving computer system performance
US6895520B1 (en) * 2001-03-02 2005-05-17 Advanced Micro Devices, Inc. Performance and power optimization via block oriented performance measurement and control
US7017060B2 (en) * 2001-03-19 2006-03-21 Intel Corporation Power management system that changes processor level if processor utilization crosses threshold over a period that is different for switching up or down
US7111178B2 (en) 2001-09-28 2006-09-19 Intel Corporation Method and apparatus for adjusting the voltage and frequency to minimize power dissipation in a multiprocessor system
US8645954B2 (en) * 2001-12-13 2014-02-04 Intel Corporation Computing system capable of reducing power consumption by distributing execution of instruction across multiple processors and method therefore
US7100056B2 (en) 2002-08-12 2006-08-29 Hewlett-Packard Development Company, L.P. System and method for managing processor voltage in a multi-processor computer system for optimized performance
US6908227B2 (en) 2002-08-23 2005-06-21 Intel Corporation Apparatus for thermal management of multiple core microprocessors
US7272732B2 (en) * 2003-06-30 2007-09-18 Hewlett-Packard Development Company, L.P. Controlling power consumption of at least one computer system
JP4549652B2 (ja) * 2003-10-27 2010-09-22 パナソニック株式会社 プロセッサシステム
EP1555595A3 (de) * 2004-01-13 2011-11-23 LG Electronics, Inc. Vorrichtung zur Stromversorgungssteuerung eines eine Mehrzahl von Kernen aufweisenden Prozessors und entsprechendes Steuerungsverfahren
US8190863B2 (en) * 2004-07-02 2012-05-29 Intel Corporation Apparatus and method for heterogeneous chip multiprocessors via resource allocation and restriction
US7788670B2 (en) * 2004-10-26 2010-08-31 Intel Corporation Performance-based workload scheduling in multi-core architectures
US20060091061A1 (en) 2004-11-02 2006-05-04 Baldwin Filters, Inc. Filter assembly with sealing system
US7536567B2 (en) * 2004-12-10 2009-05-19 Hewlett-Packard Development Company, L.P. BIOS-based systems and methods of processor power management
KR101108397B1 (ko) 2005-06-10 2012-01-30 엘지전자 주식회사 멀티-코어 프로세서의 전원 제어 장치 및 방법

Also Published As

Publication number Publication date
GB2442919B (en) 2010-03-10
JP4937260B2 (ja) 2012-05-23
KR20080038389A (ko) 2008-05-06
KR101310044B1 (ko) 2013-09-17
CN101233475A (zh) 2008-07-30
JP2009503728A (ja) 2009-01-29
WO2007019003A2 (en) 2007-02-15
CN101233475B (zh) 2011-05-18
TWI412993B (zh) 2013-10-21
US20090187777A1 (en) 2009-07-23
WO2007019003A3 (en) 2007-05-18
GB2442919A (en) 2008-04-16
TW200719217A (en) 2007-05-16
US7490254B2 (en) 2009-02-10
GB0802801D0 (en) 2008-03-26
US20070033425A1 (en) 2007-02-08

Similar Documents

Publication Publication Date Title
DE112006002056T5 (de) Erhöhung der Arbeitsleistung eines oder mehrerer Kerne in Multikernprozessoren
DE112005002672B4 (de) Dynamische Neukonfiguration eines Cache-Speichers
DE112011103193B4 (de) Bereitstellung einer Pro-Kern-Spannungs-und Frequenzsteuerung
DE112004001320B3 (de) Verfahren, System und Vorrichtung zur Verbesserung der Leistung von Mehrkernprozessoren
DE112007001987B4 (de) Überführen einer Rechenplattform in einen Systemzustand niedriger Leistung
DE112008000758B4 (de) Dynamische Stromreduzierung
DE112006003444B4 (de) Verfahren und Vorrichtung zum Erfassen von Prozessorzustands-Übergängen
DE112006003575B4 (de) Verfahren und Vorrichtung für einen Nullspannungs-Prozessorschlafzustand
DE102013104328B4 (de) Aufgabenzuteilung in großen und kleinen Kernen
DE112012006377B4 (de) Energieverbrauch und Leistung von Computersystemen steuern
DE102010045743B4 (de) Verfahren und Vorrichtung, um Turboleistung für das Event-Handling zu verbessern
DE112007003113B4 (de) Reduzieren von Leerlauf-Verlustleistung in einem integrierten Schaltkreis
DE69907512T2 (de) Gerät und verfahren zur automatischen frequenzregelung einer zentralen verarbeitungseinheit
DE112007001215B4 (de) Vorhersage der Leistungsnutzung von Rechenplattformspeicher
DE102014101633B4 (de) Unterbrechung von Aufgaben zur Verwatlung von Chip-Komponenten
DE69517712T2 (de) Verfahren und Vorrichtung zur Reduzierung der Leistungsaufnahme in einem Rechnersystem
DE112008001223B4 (de) Datenverarbeitung mit einem Cache-Zugriffsmodus mit geringer Leistung
DE112015002522B4 (de) System-on-a-chip mit always-on-prozessor, der das SOC rekonfiguriert und Nur-Speicher-Kommunikationsmodus unterstützt
DE112013007279T5 (de) Ereignisausgelöstes speichern von Daten in einem nicht flüchtigen Speicher
DE112013005278T5 (de) Dynamisches Abgleichen von Leistung über eine Mehrzahl von Prozessordomänen gemäß Leistungsabgleichsteuerungs-BIAS
DE112006000545T5 (de) System und Verfahren zum kohärenten Datentransfer während Leerlaufzuständen von Prozessoren
DE112010002425B4 (de) Delegieren einer Anfrageoperation an eine ander Einrichtung
DE102010034555A1 (de) Bereitstellen von Zustandsspeicher in einem Prozessor für Systemmanagement-Modus
DE102009015495A1 (de) Energieverwaltung bei einer Plattform basierend auf der Lenkung über die Wartezeit
DE112006002154T5 (de) Dynamische Speichergrösseneinteilung zur Leistungsreduktion

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final

Effective date: 20120612