DE112021000317B4 - Teilweise computerprozessorkern-abschaltung - Google Patents

Teilweise computerprozessorkern-abschaltung Download PDF

Info

Publication number
DE112021000317B4
DE112021000317B4 DE112021000317.8T DE112021000317T DE112021000317B4 DE 112021000317 B4 DE112021000317 B4 DE 112021000317B4 DE 112021000317 T DE112021000317 T DE 112021000317T DE 112021000317 B4 DE112021000317 B4 DE 112021000317B4
Authority
DE
Germany
Prior art keywords
execution unit
unit
processor core
instructions
duty ratio
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE112021000317.8T
Other languages
English (en)
Other versions
DE112021000317T5 (de
Inventor
Thilo Maurer
Markus Buehler
Arni Ingimundarson
Burkhard Steinmacher-Burow
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112021000317T5 publication Critical patent/DE112021000317T5/de
Application granted granted Critical
Publication of DE112021000317B4 publication Critical patent/DE112021000317B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/442Shutdown
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • 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/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)
  • Advance Control (AREA)
  • Power Sources (AREA)
  • Multi Processors (AREA)
  • Executing Machine-Instructions (AREA)
  • Hardware Redundancy (AREA)

Abstract

Prozessorkern (100; 200; 300; 400; 500), aufweisend:eine Ausführungseinheit (120; 220; 320; 420; 520) zum Ausführen eines oder mehrerer Befehle einer Anwendung, die an die Ausführungseinheit weitergeleitet werden; undeine Auslastungsverhältnis-Steuereinheiteneinheit (130; 230; 330; 430; 530), die betriebsmäßig mit der Ausführungseinheit verbunden ist, wobei die Auslastungsverhältnis-Steuereinheiteneinheit ein Auslastungsverhältnis der Ausführungseinheit steuert, wobei das Auslastungsverhältnis einem Anteil einer Gesamtbeobachtungszeitperiode entspricht, während derer die Ausführungseinheit den einen oder die mehreren Befehle der Anwendung ausführt,wobei die Auslastungsverhältnis-Steuereinheiteneinheit ein modifiziertes Bereitschaftssignal von einem durch die Ausführungseinheit an die Auslastungsverhältnis-Steuereinheiteneinheit übertragenen Bereitschaftssignal erzeugt,das angibt, dass die Ausführungseinheit zum Empfangen des einen oder der mehreren Befehle bereit ist.

Description

  • HINTERGRUND
  • Die vorliegende Anmeldung betrifft allgemein Computersysteme und genauer Prozessorkerne.
  • Anwendungsleistungsverbesserungen waren in hohem Maße das Ergebnis erhöhter Hardwareleistung. Da Strukturgrößen nicht nur technologische und ökonomische, sondern auch grundlegende physikalische Grenzen erreichen, sind vergleichbare Leistungszugewinne, die einer Hardwareentwicklung zuzuschreiben sind, nicht länger zu erwarten.
  • Es verbleibt jedoch Potenzial zum Optimieren von Software. Zum Beispiel könne die Softwarealgorithmen selbst verbessert werden. Vielleicht vielversprechender ist ein hardwarebewusstes Abstimmen der Software. Bisher kann es wünschenswert sein, Kenntnis der Hardwareeinheiten zu haben, die derzeit die Anwendungsleistung begrenzen, d. h. welche Hardwareeinheit den Engpass einer gegebenen Anwendung darstellt. Zum Beispiel kann die Arbeitsspeichereinheit einen Engpass der Anwendung darstellen, während die Berechnungseinheiten unterausgelastet sind. Dann kann es möglich sein, die Software anzupassen, dass sie weniger der Arbeitsspeichereinheit verwendet, aber mehr der Berechnungseinheit verwendet. Alternativ oder zusätzlich kann die Kenntnis des Engpasses ein Entwickeln zukünftiger Hardware erlauben, die mehr an Anwendungsbedürfnisse angepasst ist. Daher können Verfahren und Systeme für verbesserte Prozessorkerne wünschenswert sein.
  • Die Druckschrift US 7 536 229 B2 betrifft ein Informationsverarbeitungsgerät, das einen ersten Informationsprozessor, eine Vielzahl von zweiten Informationsprozessoren und eine Vielzahl von Temperaturerfassungseinheiten umfasst, die die Temperatur in der Nähe von jedem der Vielzahl von zweiten Informationsprozessoren erfassen. Der erste Informationsprozessor umfasst eine Steuereinheit für die Ausführung von Anwendungsprogrammen, die die Ausführung eines Anwendungsprogramms steuert, eine Steuereinheit für die verteilte Verarbeitung, die die verteilte Verarbeitung steuert, eine Aufzeichnungseinheit, die erste Informationen bezüglich der von der Temperaturerfassungseinheit erfassten Temperatur und zweite Informationen bezüglich der Ausführung des Prozesses des zweiten Informationsprozessors aufzeichnet, eine Anomalie-Erfassungseinheit, die eine Anomalie in der von der Temperaturerfassungseinheit erfassten Temperatur erfasst, und eine Anomalie-Zeit-Steuereinheit, die die verteilte Verarbeitung der Steuereinheit für die verteilte Verarbeitung in Reaktion auf die von der Anomalie-Erfassungseinheit erfasste Temperaturanomalie steuert.
  • Die Druckschrift US 7 549 075 B2 betrifft ein Verfahren zum Einstellen der Ausführungsfrequenz einer zentralen Verarbeitungseinheit (CPU) in einem elektronischen Gerät. Das Verfahren umfasst die folgenden Schritte: (a) Erhalten eines Zustands einer CPU-Arbeitslast in Echtzeit; (b) Prüfen einer Eigenschaftsfrequenz und einer Ausführungsfrequenz der CPU; (c) Bestimmen, ob der Zustand der CPU-Arbeitslast in einem höheren Zustand oder einem normalen Zustand ist; (d) Bestimmen, ob die Ausführungsfrequenz der CPU entsprechend dem Zustand der CPU-Arbeitslast geändert werden muss; (e) Berechnen eines Frequenzwertes gemäß der Eigenschaftsfrequenz und der Ausführungsfrequenz, wenn die Ausführungsfrequenz der CPU geändert werden muss; (f) Erzeugen einer geeigneten Frequenz gemäß dem Frequenzwert; und (g) Anpassen der Ausführungsfrequenz der CPU gemäß der geeigneten Frequenz.
  • Die Druckschrift US 9 086 876 B2 betrifft Verfahren zum Betreiben einer Prozessorvorrichtung, welche mindestens einen Prozessorkern aufweist. Das Verfahren umfasst: Ausführen mehrerer Aufgaben auf dem mindestens einen Prozessorkern, wobei die mehreren Aufgaben in mindestens zwei Gruppen derart gruppiert sind, dass Aufgaben von mindestens zwei verschiedenen Gruppen auf dem mindestens einen Prozessorkern ablaufen, wobei Aufgaben von den mindestens zwei Gruppen, welche auf dem mindestens einen Prozessorkern ablaufen, relativ zueinander abweichende Anforderungen an die Kernleistung aufweisen und jeder der mindestens zwei Gruppen eine oder mehrere Gruppeneinstellungen zugeordnet sind, welche die abweichenden Anforderungen an die Kernleistung widerspiegeln; Überwachen der Nutzung des mindestens einen Prozessorkerns durch Aufgaben in den mindestens zwei verschiedenen Gruppen und Kompilieren der überwachten Nutzungen auf einer Gruppenbasis; Aggregieren der kompilierten Nutzungen des mindestens einen Prozessorkerns über die mindestens zwei verschiedenen Gruppen gemäß der einen oder den mehreren Gruppeneinstellungen, um eine Nutzung des mindestens einen Prozessorkerns durch die mindestens zwei verschiedenen Gruppen zu bestimmen, wobei die eine oder die mehreren Gruppeneinstellungen den jeweiligen Beitrag von jeder der einzelnen Gruppen zur Aggregation steuern; Ableiten eines Lastparameters für den mindestens einen Prozessorkern basierend auf der bestimmten Nutzung des Prozessorkerns durch die mindestens zwei verschiedenen Gruppen, wobei der Lastparameter auf die aggregierte Nutzung des mindestens einen Prozessorkerns durch die Aufgaben in den Gruppen, wie durch die eine oder die mehreren Gruppeneinstellungen gesteuert, über die mindestens zwei verschiedenen Gruppen schließen lässt; Auswählen einer Betriebsfrequenz für den mindestens einen Prozessorkern basierend auf dem Lastparameter; Ändern der Betriebsfrequenz des mindestens einen Prozessorkerns auf die ausgewählte Betriebsfrequenz.
  • Die Druckschrift WO 2017/ 016 074 A1 betrifft ein Verfahren zur Ermittlung der CPU-Belegungsrate. Das Verfahren umfasst: Erfassen einer ersten Ausführungsdauer und einer ersten Unterbrechungsdauer einer voreingestellten Aufgabe bei einer CPU innerhalb einer aktuellen Erfassungsperiode; wenn die erste Ausführungsdauer und die erste Unterbrechungsdauer erfasst sind, Verwenden einer Differenz zwischen der ersten Ausführungsdauer und der ersten Unterbrechungsdauer als eine erste tatsächliche Ausführungsdauer der voreingestellten Aufgabe bei der CPU innerhalb der aktuellen Erfassungsperiode; und Erfassen einer zweiten tatsächlichen Ausführungsdauer der voreingestellten Aufgabe in der CPU innerhalb einer vorherigen Erfassungsperiode und Berechnen einer Ausführungsbelegungsrate der voreingestellten Aufgabe in der CPU auf der Grundlage der ersten tatsächlichen Ausführungsdauer, der zweiten tatsächlichen Ausführungsdauer und der Erfassungsperiode.
  • KURZDARSTELLUNG
  • Die Erfindung betrifft einen Prozessorkern, ein computerumgesetztes Verfahren sowie ein Computersystem zum Erkennen eines Engpasses in einem Prozessorkern, deren Merkmalen in den entsprechenden Patentansprüchen angegeben sind. Ausführungsformen sind in den abhängigen Patentansprüchen angegeben.
  • Aspekte der Offenbarung betreffen einen Prozessorkern, der mindestens eine Ausführungseinheit und eine Auslastungsverhältnis-Steuereinheit enthält. Die Ausführungseinheit ist zum Ausführen eines an die Ausführungseinheit weitergeleiteten Befehls betreibbar. Die Auslastungsverhältnis-Steuereinheit ist betriebsmäßig mit der Ausführungseinheit verbunden. Die Auslastungsverhältnis-Steuereinheit ist zum Steuern des Auslastungsverhältnisses der Ausführungseinheit betreibbar. Dies entspricht dem Anteil der Gesamtausführungszeit, während derer die Ausführungseinheit Befehle ausführt.
  • Andere Aspekte der Offenbarung betreffen ein Verfahren zum Erkennen oder Analysieren eines Engpasses in einem Prozessorkern für eine gegebene Anwendung. Die Ausführung einer gegebenen Anwendung entspricht einem gegebenen Satz von Befehlen, die durch die Ausführungseinheiten eines Prozessorkerns auszuführen sind. Das Verfahren enthält ein Steuern des Auslastungsverhältnisses von mindestens einer Ausführungseinheit des Prozessorkerns und ein Messen der sich ergebenden Anwendungsleistung.
  • Die vorstehende Kurzdarstellung soll nicht jede veranschaulichte Ausführungsform oder jede Umsetzung der vorliegenden Offenbarung beschreiben.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die folgende detaillierte Beschreibung, die beispielhaft gegeben ist und nicht die Erfindung allein darauf beschränken soll, wird am besten in Verbindung mit den begleitenden Zeichnungen ersehen, in denen:
    • 1 ein beispielhaftes Computersystem gemäß einer Ausführungsform der vorliegenden Offenbarung ist;
    • 2 einen ersten beispielhaften Prozessorkern gemäß einer Ausführungsform der vorliegenden Offenbarung darstellt;
    • 3 einen zweiten beispielhaften Prozessorkern gemäß einer Ausführungsform der vorliegenden Offenbarung darstellt;
    • 4 einen dritten beispielhaften Prozessorkern gemäß einer Ausführungsform der vorliegenden Offenbarung darstellt;
    • 5 einen vierten beispielhaften Prozessorkern gemäß einer Ausführungsform der vorliegenden Offenbarung darstellt;
    • 6 einen fünften beispielhaften Prozessorkern gemäß einer Ausführungsform der vorliegenden Offenbarung darstellt; und
    • 7 ein Ablaufplan ist, der ein beispielhaftes Verfahren zum Erkennen eines Engpasses in einem Prozessorkern für eine gegebene Anwendung gemäß einer Ausführungsform der vorliegenden Offenbarung darstellt.
  • Die Zeichnungen sind nicht notwendigerweise maßstäblich. Die Zeichnungen sind lediglich schematische Darstellungen und nicht als spezifische Parameter der Erfindung wiedergebend gedacht. Die Zeichnungen sollen nur übliche Ausführungsformen der Erfindung darstellen. In den Zeichnungen steht eine gleiche Nummerierung für gleiche Elemente.
  • DETAILLIERTE BESCHREIBUNG
  • Detaillierte Ausführungsformen der beanspruchten Strukturen und Verfahren werden hierin offenbart; es versteht sich jedoch, dass die offenbarten Ausführungsformen lediglich veranschaulichend für die beanspruchten Strukturen und Verfahren sind, die in vielfältigen Formen ausgeführt sein können. Diese Erfindung kann jedoch in vielen unterschiedlichen Formen ausgeführt sein und sollte nicht als auf die hierin dargelegten beispielhaften Ausführungsformen beschränkt angesehen werden. In der Beschreibung können Details allgemein bekannter Merkmale und Techniken weggelassen sein, um ein unnötiges Verschleiern der vorgelegten Ausführungsformen zu vermeiden.
  • Ausführungsformen der vorliegenden Erfindung betreffen allgemein das Gebiet von Computersystemen und genauer von Prozessorkernen. Die folgenden beschriebenen beispielhaften Ausführungsformen stellen ein System, Verfahren und Computerprogrammprodukt zum, neben anderen Dingen, Verwenden einer Arbeitszyklus-Steuereinheit zum Messen einer Leistung und von Leistungsbegrenzungen in einem Prozessorkern bereit. Daher besitzen die vorliegenden Ausführungsformen die Fähigkeit, das technische Gebiet von Computersystemen durch Bereitstellen einer Art eines Identifizierens eines Engpasses einer gegebenen Anwendung auf Grundlage eines Bestimmens von kritischen Komponenten des Systems, des Bedürfnisses nach mehreren Einheiten in dem System und der Identifizierung unterausgelasteter Einheiten in dem System, neben anderen Parametern, zu verbessern. Insbesondere können Ausführungsformen der vorliegenden Offenbarung die Auslastungsverhältnisse einer Mehrzahl von Ausführungseinheiten steuern und eine Anwendungsleistungsabhängigkeit zu den jeweiligen Auslastungsverhältnissen bestimmen, welche die Identifizierung eines Engpasses des Prozessorkerns erlauben können, der die Leistung einer Anwendung begrenzt.
  • Nun Bezug nehmend auf 1 wird ein beispielhaftes Computersystem/ein beispielhafter Server 12, das oder der anwendbar ist, um die Ausführungsformen der vorliegenden Offenbarung umzusetzen, gezeigt. Das Computersystem/der Server 12 ist nur veranschaulichend und soll nicht auf irgendeine Einschränkung im Hinblick auf den Umfang der Verwendung oder die Funktionalität von Ausführungsformen der hierin beschriebenen Erfindung hindeuten.
  • Wie in 1 gezeigt, ist das Computersystem/der Server 12 in der Form einer universellen Datenverarbeitungseinheit gezeigt. Die Komponenten des Computersystems/des Servers 12 können, ohne auf diese beschränkt zu sein, einen oder mehrere Prozessoren oder eine oder mehrere Verarbeitungseinheiten 16, einen Systemspeicher 28 und ein Bus 18 enthalten, der vielfältige Systemkomponenten einschließlich des Systemspeichers 28 mit dem Prozessor 16 verbindet.
  • Der Bus 18 steht für eine oder mehrere jeder beliebigen von verschiedenen Arten von Busstrukturen, die einen Speicherbus oder eine Speichersteuereinheit, einen Peripherieeinheiten-Bus, einen beschleunigten Grafikanschluss und einen Prozessor- oder lokalen Bus unter Verwendung jeder beliebigen einer Vielfalt von Busarchitekturen enthalten. In beispielhafter Weise und ohne Einschränkung enthalten solche Architekturen einen ISA-Bus (Industry Standard Architecture (ISA) bus), einen MCA-Bus (Micro Channel Architecture (MCA) bus), einen erweiterten ISA-Bus (Enhanced ISA (EISA) bus), einen lokalen VESA-Bus (Video Electronics Standards Association (VESA) local bus) und einen PCI-Bus (Peripheral Component Interconnect (PCI) bus).
  • Das Computersystem/der Server 12 enthält üblicherweise eine Vielfalt von durch Computersysteme lesbaren Medien. Bei solchen Medien kann es sich um jedes beliebige verfügbare Medium handeln, auf welches durch das Computersystem/den Server 12 zugegriffen werden kann, und es enthält sowohl flüchtige als auch nichtflüchtige Medien, Wechsel- und Nicht-Wechsel-Medien.
  • Der Systemspeicher 28 kann durch ein Computersystem lesbare Medien in der Form von flüchtigem Arbeitsspeicher, wie beispielsweise einen Direktzugriffsspeicher (random access memory (RAM)) 30, und/oder einen Cachespeicher 32 enthalten. Das Computersystem/der Server 12 kann ferner weitere Wechsel-/Nicht-Wechsel-, flüchtige/nichtflüchtige Computersystem-Datenspeicherungsmedien enthalten. In lediglich beispielhafter Weise kann ein Datenspeicherungssystem 34 für ein Lesen von und Schreiben auf ein nichtflüchtiges magnetisches Nicht-Wechsel-Medium bereitgestellt werden (nicht gezeigt und üblicherweise als „Festplattenlaufwerk“ bezeichnet). Obwohl nicht gezeigt, kann auch ein magnetisches Plattenlaufwerk zum Lesen von und Schreiben auf eine nichtflüchtige magnetische Wechselplatte (z.B. eine „Floppydiskette“) und ein optisches Plattenlaufwerk zum Lesen von oder Schreiben auf eine nichtflüchtige optische Wechselplatte, wie beispielsweise ein CD-ROM, DVD-ROM oder ein anderes optisches Medium, bereitgestellt werden. In solchen Beispielen kann jedes durch eine oder mehrere Datenmedienschnittstellen mit dem Bus 18 verbunden sein. Wie nachstehend weiter dargestellt und beschrieben wird, kann der Speicher 28 mindestens ein Programmprodukt enthalten, das einen Satz (z.B. mindestens eines) von Programmmodulen besitzt, die konfiguriert sind, die Funktionen von Ausführungsformen der Erfindung auszuführen.
  • Ein Programm/Dienstprogramm (utility) 40 mit einem Satz (mindestens einem) von Programmmodulen 42 kann in dem Speicher 28 in beispielhafter Weise und ohne Einschränkung auch als Betriebssystem, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten gespeichert sein. Jedes von dem Betriebssystem, dem einen oder den mehreren Anwendungsprogrammen, den anderen Programmmodulen und den Programmdaten oder irgendeine Kombination davon kann eine Umsetzung einer Netzwerkumgebung enthalten. Die Programmmodule 42 führen allgemein die Funktionen und/oder Verfahrensweisen von Ausführungsformen der hierin beschriebenen Erfindung aus.
  • Das Computersystem/der Server 12 kann auch mit einer oder mehreren externen Einheiten 14 Daten austauschen, wie beispielsweise einer Tastatur, einer Zeigeeinheit, einer Anzeige 24 usw.; einer oder mehreren Einheiten, die es einem Benutzer ermöglichen, mit dem Computersystem/dem Server 12 zu interagieren; und/oder beliebigen Einheiten (z.B. Netzwerkkarte, Modem usw.), die das Computersystem/den Server 12 befähigen, mit einer oder mehreren anderen Datenverarbeitungseinheiten Daten auszutauschen. Ein derartiger Datenaustausch kann über Eingabe/Ausgabe(E/A)-Schnittstellen 22 erfolgen. Des Weiteren kann das Computersystem/der Server 12 mit einem oder mehreren Netzwerken, wie beispielsweise einem lokalen Netzwerk (local area network (LAN)), einem allgemeinen Weitverkehrsnetzwerk (wide area network (WAN)) und/oder einem öffentlichen Netzwerk (z.B. dem Internet), über einen Netzwerkadapter 20 Daten austauschen. Wie dargestellt, tauscht der Netzwerkadapter 20 mit den anderen Komponenten des Computersystems/Servers 12 über den Bus 18 Daten aus. Es sollte verstanden werden, dass andere Hardware- und/oder Softwarekomponenten in Verbindung mit dem Computersystem/Server 12 verwendet werden können, auch wenn sie nicht gezeigt sind. Beispiele enthalten, ohne auf diese beschränkt zu sein: Mikrocode, Einheitentreiber, redundante Verarbeitungseinheiten, externe Plattenlaufwerk-Arrays, RAID-Systeme, Bandlaufwerke und Datenarchivierungs-Speicherungssysteme usw.
  • Es sollte festgehalten werden, dass Ausführungsformen der vorliegenden Offenbarung als das Programm/Dienstprogramm 40 oder die Programmmodule 42 von 1 umgesetzt werden können.
  • Nun Bezug nehmend auf 2 wird ein erster beispielhafter Prozessorkern 100 gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. Der erste beispielhafte Prozessorkern 100 enthält eine Ausführungseinheit 120, die zum Ausführen eines Befehls betreibbar ist. In dem Beispiel von 2 wird die Ausführungseinheit 120 auch als Einheit A bezeichnet. Der erste beispielhafte Prozessorkern 100 kann auch mehr als eine Ausführungseinheit 120 enthalten. Zum Beispiel kann der erste beispielhafte Prozessorkern 100 zusätzliche eine Einheit B, eine Einheit C usw. enthalten (in der Figur nicht gezeigt). Zusätzlich zu einem Eingang zum Empfangen eines Befehls C, der auch Ausgabebefehl genannt werden kann, enthält die Ausführungseinheit zum Starten der Datenverarbeitung auch weitere Eingänge 121. Zum Beispiel können die weiteren Eingänge 121 verwendet werden, um Daten zu empfangen, die durch die Ausführungseinheit 120 zu manipulieren sind. Es sollte festgehalten werden, dass die Ausführung einer gegebenen Anwendung einem gegebenen Satz von Befehlen entspricht, die durch die Ausführungseinheiten eines Prozessorkerns auszuführen sind.
  • Des Weiteren enthält der erste beispielhafte Prozessor 100 eine oder mehrere Auslastungsverhältnis-Steuereinheiten 130. Die Auslastungsverhältnis-Steuereinheit 130 kann auch „Bereitschaftsblocker“ genannt werden. Jede Auslastungsverhältnis-Steuereinheit 130 ist betriebsmäßig mit einer oder mehreren Ausführungseinheiten 120 verbunden. Jede Auslastungsverhältnis-Steuereinheit 130 kann zum Steuern des Auslastungsverhältnisses ihrer verbundenen Ausführungseinheiten 130 betreibbar sein. Wie dem Fachmann bekannt ist, kann eine Ausführungseinheit eines Prozessorkerns nur für eine Zeit tA einer Beobachtungszeitperiode T aktiv sein. Das Verhältnis tA / T wird Auslastungsverhältnis genannt.
  • Die Ausführungseinheit 120 kann ein Bereitschaftssignal R übertragen, das angibt, dass die vorhergehende Berechnung durchgeführt wurde und dass die Ausführungseinheit 120 zum Ausführen der nächsten Berechnung bereit ist. Die Auslastungsverhältnis-Steuereinheit 130 ist zum Erzeugen eines modifizierten Bereitschaftssignals R* aus dem Bereitschaftssignal R betreibbar, wie in der Figur gezeigt.
  • Der erste beispielhafte Prozessorkern 100 kann ferner eine Ausgabeeinheit 110 enthalten, die zum Weiterleiten des nächsten Befehls C betreibbar ist, der die Ausführungseinheit veranlasst, eine Berechnung auf Grundlage des modifizierten Bereitschaftssignals R* zu starten. Die Ausgabeeinheit 110 kann weitere Eingänge 111 enthalten, durch die weitere Signale empfangen werden müssen, bevor die Ausgabeeinheit 110 den Befehl C ausgibt.
  • Die Auslastungsverhältnis-Steuereinheit 130 kann das Bereitschaftssignal Reinen bestimmten Prozentsatz der Zeit maskieren. Dementsprechend kann das modifizierte Bereitschaftssignal R* an die Ausgabeeinheit 110 nicht jedes Mal übertragen werden, wenn die Auslastungsverhältnis-Steuereinheit 130 das Bereitschaftssignal R von der Ausführungseinheit 120 empfängt. Somit kann das Auslastungsverhältnis der Ausführungseinheit 120 modifiziert, insbesondere verringert, werden. Das Bereitschaftssignal R und/oder das modifizierte Bereitschaftssignal R* können einer statischen Spannung (d.h. hoch oder niedrig) auf einer statischen elektrischen Verbindung zwischen den entsprechenden Einheiten entsprechen. Es kann jedoch auch möglich sein, das Bereitschaftssignal R und das modifizierte Bereitschaftssignal R* als Nachrichten auf einem Bus zu übertragen.
  • Die individuelle Modifizierung des Auslastungsverhältnisses der einzelnen Ausführungseinheit kann eine detaillierte Analyse eines Engpasses ermöglichen, der die Leistung der gegebenen Anwendung begrenzt, verglichen mit einem Verringern der Betriebsfrequenz des Prozessorkerns. Von bekannten Verfahren zum Analysieren des Hardwareeinflusses auf die Anwendungsleistung bekannte Nebenwirkungen können vermieden werden. Zum Beispiel kann eine Verringerung einer Betriebsfrequenz des Prozessorkerns nicht nur das Auslastungsverhältnis der Ausführungseinheiten verringern, sondern kann auch das elektrische Verhalten des Prozessorkerns, z.B. Spannungen, Ströme, Kapazitäten, beeinflussen. Darüber hinaus können die in dieser Anmeldung vorgeschlagenen Techniken verglichen mit traditionellen Verfahren zum Beeinflussen der Hardwareleistung eine feinere Granularität bereitstellen. Zum Beispiel können das vorgeschlagene Verfahren und zugeordnete System eine feinere Granularität bereitstellen als ein einfaches Verwenden von mehr oder weniger Prozessoren pro Sockel. Des Weiteren können die vorgeschlagenen Auslastungsverhältnis-Steuereinheiten den zusätzlichen Vorteil besitzen, dass sie für unterschiedliche Ausführungseinheiten verwendet werden können. Zum Beispiel kann derselbe Typ von Auslastungsverhältnis-Steuereinheit für eine Ausführungseinheit, die arithmetische Berechnungen durchführt und eine Ausführungseinheit, die einen Speicherzugriff steuert, verwendet werden.
  • Unabhängig können ein Steuern der Auslastungsverhältnisse einer Mehrzahl von Ausführungseinheiten und ein Bestimmen einer Anwendungsleistungsabhängigkeit von den jeweiligen Auslastungsverhältnissen ein Identifizieren eines Engpasses des Prozessorkerns erlauben, der eine gegebene Leistung einer Anwendung begrenzt.
  • Die Auslastungsverhältnis-Steuereinheit 130 kann ein Rückkopplungsschieberegister 132 und ein UND-Gatter 131 zum Bereitstellen des modifizierten Bereitschaftssignals R* enthalten. Das UND-Gatter 131 empfängt an einem ersten Eingang das Bereitschaftssignal R und ein durch das Rückkopplungsschieberegister 132 übertragenes Gattersteuerungssignal G an einem zweiten Eingang. Das Rückkopplungsschieberegister 132 kann mit jedem Taktzyklus des ersten beispielhaften Prozessorkerns 100 verschieben. Man kann sehr leicht Rückkopplungsschieberegister und UND-Gatter in integrierten Schaltungen umsetzen. Insbesondere können Rückkopplungsschieberegister und UND-Gatter sehr wenig Raum auf einem Halbleiterchip erfordern. Das Rückkopplungsschieberegister 132 kann ein n-Bit-Rückkopplungsschieberegister sein. Das Rückkopplungsschieberegister 132 kann bei der Initialisierungszeit mit einer Anzahl von j Nullen („0“) und einer Anzahl von k Einsen („1“) vorgeladen sein, wobei die Summe von j und k gleich n ist. Das Verhältnis zwischen j (oder k) und n kann den Anteil von Taktzyklen bestimmen, für welchen die Auslastungsverhältnis-Steuereinheit 130 das Bereitschaftssignal R maskieren wird. Die Anzahl n von Bits des Rückkopplungsschieberegisters 132 kann bestimmen, wie fein dieser Anteil ausgewählt werden kann. Zum Beispiel kann die Länge des Rückkopplungsschieberegisters 132 kürzer als 100 Bit, insbesondere kürzer als 50 Bit, und länger als 5 Bit, insbesondere 10 Bit, sein.
  • Nun Bezug nehmend auf 3 ist ein zweiter beispielhafter Prozessorkern 200 einschließlich einer Ausgabeeinheit 210 mit Eingängen 211, einer Ausführungseinheit 220 mit Eingängen 221 und einer Auslastungsverhältnis-Steuereinheiteneinheit (usage ratio controller unit) 230 gemäß einer Ausführungsform der vorliegenden Offenbarung gezeigt. Betreffend die Interaktion der Ausgabeeinheit 211, der Ausführungseinheit 221, der Eingänge 211 und der Auslastungsverhältnis-Steuereinheiteneinheit 230 miteinander, wird Bezug auf die vorstehenden Erklärungen für den ersten beispielhaften Prozessorkern 100 von 2 und seine entsprechenden Elemente genommen: die Ausgabeeinheit 110, die weiteren Eingänge 111, die Ausführungseinheit 120, die weiteren Eingänge 121 und die Auslastungsverhältnis-Steuereinheit 130.
  • Der zweite beispielhafte Prozessorkern 200 unterscheidet sich von dem ersten beispielhaften Prozessorkern 100 in der inneren Struktur der Auslastungsverhältnis-Steuereinheiteneinheit 230. Die Auslastungsverhältnis-Steuereinheiteneinheit 230 enthält ein UND-Gatter 231 wie die Auslastungsverhältnis-Steuereinheit 130 das UND-Gatter 131 enthält, und beide UND-Gatter 131, 231 empfangen an einem ersten Eingang das Bereitschaftssignal R von der jeweiligen Ausführungseinheit 120, 130 und übertragen ein modifiziertes Bereitschaftssignal R* an die jeweilige Ausgabeeinheit 110, 210. Ein Vergleicher 233 vergleicht eine Zufallszahl B, die von einem Zufallszahlengenerator 235, z.B. einem Pseudozufallszahlengenerator, kommend empfangen wird, mit einer in einem Grenzregister 234 gespeicherten Grenze A.
  • Der Zufallszahlengenerator 235 kann eine Zufallszahl B zwischen Null und n-1 erzeugen. Entsprechend kann das Grenzregister 234 eine Grenze A zwischen Null und n-1 speichern. Nur wenn die Zufallszahl B kleiner als die Grenze A ist, wird der Vergleicher 233 ein Gattersteuerungssignal G an das UND-Gatter 231 übertragen. Das Erzeugen des Gattersteuerungssignals auf Grundlage einer Zufallszahl kann ein Erzeugen von regelmäßigen Schritten innerhalb der elektrischen Schaltungen des Prozessorkerns vermeiden, was unerwartete Nebenwirkungen besitzen kann.
  • Nun Bezug nehmend auf 4 ist ein dritter beispielhafter Prozessorkern 300 einschließlich einer Ausgabeeinheit 310 mit Eingängen 311, einer Ausführungseinheit 320 mit Eingängen 321 und einer Auslastungsverhältnis-Steuereinheiteneinheit 330 gemäß einer Ausführungsform der vorliegenden Offenbarung gezeigt. Betreffend die Interaktion der Ausgabeeinheit 310, der Eingänge 311, der Ausführungseinheit 320, der Eingänge 321 und der Auslastungsverhältnis-Steuereinheiteneinheit 330 miteinander, wird Bezug auf die vorstehenden Erklärungen für den ersten beispielhaften Prozessorkern 100 von 2 und seine entsprechenden Elemente genommen: die Ausgabeeinheit 110, die weiteren Eingänge 111, die Ausführungseinheit 120, die weiteren Eingänge 121 und die Auslastungsverhältnis-Steuereinheit 130.
  • Der dritte beispielhafte Prozessorkern 300 unterscheidet sich von dem ersten beispielhaften Prozessorkern 100 und dem zweiten beispielhaften Prozessorkern 200 in der inneren Struktur der Auslastungsverhältnis-Steuereinheiteneinheit 330. Die Auslastungsverhältnis-Steuereinheiteneinheit 330 enthält einen Vergleicher 333, ein Grenzregister 334 und einen Zufallsgenerator 335 wie die Auslastungsverhältnis-Steuereinheiteneinheit 230 den Vergleicher 233, das Grenzregister 234 und den Zufallsgenerator 235 enthält. Der Vergleicher 333 überträgt jedoch das Gattersteuerungssignal G an eine finite Zustandsmaschine (finite state machine (FSM)) anstatt des UND-Gatters 231.
  • Die finite Zustandsmaschine 336 empfängt das Bereitschaftssignal R als erste Eingabe und das Gattersteuerungssignal G als zweite Eingabe und überträgt ihren aktuellen Zustand, d.h. Eins oder Null, als modifiziertes Bereitschaftssignal R*. Falls sowohl das Bereitschaftssignal R als auch das Gattersteuerungssignal G Eins betragen, d.h. R/G = 1/1, gibt die finite Zustandsmaschine 336 den Zustand Eins, d.h. „1“, ein. Solange das Bereitschaftssignal R 1 beträgt, d.h. R/G = 1/-, hält die finite Zustandsmaschine 336 den Zustand Eins, d.h. „1“, aufrecht. Nur wenn das Bereitschaftssignal R Null wird, d.h. R/G = 0/-, gibt die finite Zustandsmaschine 336 den Zustand Null, d.h. „0“, ein. Solange entweder das Bereitschaftssignal R Null bleibt, d.h. R/G = 0/- oder das Gattersteuerungssignal G Null bleibt, d.h. R/G = -/0, bleibt die finite Zustandsmaschine 336 in dem Zustand Null, d.h. „0“, der an die Ausgabeeinheit 310 überragen wird.
  • Die vorgeschlagene Auslastungsverhältnis-Steuereinheiteneinheit 330, welche die finite Zustandsmaschine 336 verwendet, kann nur ein Erhöhen des Auslastungsverhältnisses der Ausführungseinheit 320 erlauben, sie wird keine zusätzlichen Belegtzyklen einstreuen, sobald die FSM in Zustand 1 ist und die Ausführungseinheit 320 auf neue Befehle wartet.
  • Dies wird das Problem verbessern, aber nicht zu 100 % beseitigen, dass die vorherigen zwei Umsetzungen Belegtzyklen einstreuen werden, egal wie lange die Ausführungseinheit bereits auf neue Befehle gewartet hat. Darüber hinaus kann der Zufallsgenerator 335 dabei helfen, die Bildung von Schritten zu vermeiden.
  • In einer alternativen Ausführungsform der Auslastungsverhältnis-Steuereinheiteneinheit 330 könnte der Schaltkreis, der den Vergleicher 333, das Grenzregister 334 und den Zufallsgenerator 335 enthält, durch ein Rückkopplungsschieberegister ähnlich dem Rückkopplungsschieberegister 132 ersetzt werden.
  • Nun Bezug nehmend auf 5 ist ein vierter beispielhafter Prozessorkern 400 einschließlich einer Ausgabeeinheit 410 mit Eingängen 411, einer Ausführungseinheit 420 mit Eingängen 421 und einer Auslastungsverhältnis-Steuereinheiteneinheit 430 gemäß einer Ausführungsform der vorliegenden Offenbarung gezeigt. Betreffend die Interaktion dieser Elemente: der Ausgabeeinheit 410, der Eingänge 411, der Ausführungseinheit 420, der Eingänge 421 und der Auslastungsverhältnis-Steuereinheiteneinheit 430 miteinander, wird Bezug auf die vorstehenden Erklärungen für den ersten beispielhaften Prozessorkern 100 von 2 und seine entsprechenden Elemente genommen: die Ausgabeeinheit 110, die weiteren Eingänge 111, die Ausführungseinheit 120, die weiteren Eingänge 121 und die Auslastungsverhältnis-Steuereinheit 130.
  • Der vierte beispielhafte Prozessorkern 400 unterscheidet sich von den vorgenannten beispielhaften Prozessorkernen 100, 200, 300 in der inneren Struktur der Auslastungsverhältnis-Steuereinheiteneinheit 430. Die Auslastungsverhältnis-Steuereinheit 430 enthält ein UND-Gatter 431 wie die Auslastungsverhältnis-Steuereinheiteneinheiten 130 und 230 die UND-Gatter 131 bzw. 231 enthalten. Ähnlich den UND-Gattern 131 und 231 empfängt das UND-Gatter 431 an einem ersten Eingang das Bereitschaftssignal R von der entsprechenden Ausführungseinheit 420. Zusätzlich empfängt das UND-Gatter 431 an einem zweiten Eingang ein Gattersteuerungssignal G von einem Auslastungsverhältnisbegrenzer 436.
  • Der Auslastungsverhältnisbegrenzer 436 enthält eine Auslastungsverhältnisschaltung 440, die das letzte Auslastungsverhältnis der Ausführungseinheit 420 misst. Die Auslastungsverhältnisschaltung 440 enthält ein Schieberegister 441, welches das Bereitschaftssignal von der Ausführungseinheit 420 und einen Zähler 442 empfängt. Der Zähler empfängt an einem ersten Eingang ein Signal von dem Schieberegister 441, das den in dem Zähler 442 gespeicherten Wert dekrementiert, und an einem zweiten Eingang das Bereitschaftssignal R von der Ausführungseinheit 420, das den in dem Zähler 442 gespeicherten Wert inkrementiert. Der Zähler 442 kann die Anzahl von „Einsen“ in dem Schieberegister 441 zählen. In einer alternativen Ausführungsform kann eine Auslastungsverhältnisschaltung für eine Mehrzahl von N Ausführungseinheiten verwendet werden. Die N Ausführungseinheiten können mehreren Instanzen derselben Ausführungseinheit entsprechen. In diesem Fall kann die Auslastungsverhältnisschaltung eine Anzahl von N Bereitschaftssignalen R von den N Ausführungseinheiten empfangen. Anstatt des Einschiebens/Hinzufügens von „0“ und „1“, wie hierin vorstehend beschrieben, würde die Anzahl von Bereitschaftssignalen R, die „1“ betragen, eingeschoben/hinzugefügt.
  • Der in dem Zähler 442 gespeicherte Wert kann das Auslastungsverhältnis der Ausführungseinheit 420 angeben. Ein Vergleicher 443 vergleicht den durch den Zähler 442 übermittelten Wert mit einer in dem Grenzregister 434 gespeicherten Grenze. Wenn das Auslastungsverhältnis größer als das gewünschte Auslastungsverhältnis ist, überträgt der Vergleicher 433 das Gattersteuerungssignal G an das UND-Gatter 431.
  • Die in dem Grenzregister 434 gespeicherte Grenze und die Anzahl von Bits des Schieberegisters 441 kann eine maximales gewünschtes Auslastungsverhältnis der Ausführungseinheit bestimmen. Je größer die Anzahl von Bits in dem Schieberegister, desto feiner ist die Granularität des Auslastungsverhältnisbegrenzers 436 und desto länger ist das Messfenster. Zum Beispiel kann die Anzahl von Bits des Schieberegisters 5 bis 100 Bit, insbesondere 10 bis 50 Bit, betragen.
  • Ein Messen eines jüngsten tatsächlichen Auslastungsverhältnisses der Ausführungseinheit kann ein Erweitern des scheinbaren Auslastungsverhältnisses nur erlauben, wenn das jüngste tatsächliche Auslastungsverhältnis bereits relativ hoch ist. Ein Erhöhen des Auslastungsverhältnisses einer bereits stark verwendeten Ausführungseinheit kann eine bessere Erkennung erlauben, ob eine stark verwendete Ausführungseinheit wirklich einen Engpass für die Leistung der gegebenen Anwendung darstellt.
  • Nun Bezug nehmend auf 6 ist ein fünfter beispielhafter Prozessorkern 500 einschließlich einer Ausgabeeinheit 510 mit Eingängen 511, einer Ausführungseinheit 520 mit Eingängen 521 und einer Auslastungsverhältnis-Steuereinheiteneinheit 530 gemäß einer Ausführungsform der vorliegenden Offenbarung gezeigt. Betreffend die Interaktion dieser Elemente: der Ausgabeeinheit 510, der Eingänge 511, der Ausführungseinheit 520, der Eingänge 521 und der Auslastungsverhältnis-Steuereinheiteneinheit 530 miteinander, wird Bezug auf die vorstehenden Erklärungen für den ersten beispielhaften Prozessorkern 100 von 1 und seine entsprechenden Elemente genommen: die Ausgabeeinheit 110, die weiteren Eingänge 111, die Ausführungseinheit 120, die weiteren Eingänge 121 und die Auslastungsverhältnis-Steuereinheit 130.
  • Die Auslastungsverhältnisschaltung 540 entspricht der Auslastungsverhältnisschaltung 440 und enthält auch ein Schieberegister 541 und einen Zähler 542. Insbesondere kann die Auslastungsverhältnisschaltung 540 auch so modifiziert werden, dass sie für eine Mehrzahl von Ausführungseinheiten verwendet werden kann, wie vorstehend beschrieben.
  • Ein Multiplexer 550 empfängt das Signal von dem Auslastungsverhältnisbegrenzer 536 und überträgt abhängig von seinen Werten entweder die in einem höheren Grenzregister 538 gespeicherte höhere Grenze oder die in einem niedrigeren Grenzregister 539 gespeicherte niedrigere Grenze an den Vergleicher 533. Der Vergleicher 533 vergleicht den empfangenen Wert mit einer von einem Zufallszahlengenerator 535 empfangenen Zufallszahl und überträgt das Gattersteuerungssignal G abhängig von dem Ergebnis des Vergleichs an das UND-Gatter 531.
  • Die vorgeschlagene Auslastungsverhältnis-Steuereinheiteneinheit 530 kann ein Steuern des Auslastungsverhältnisses auf Grundlage eines Vergleichs des gemessenen Auslastungsverhältnisses und eines gewünschten Auslastungsverhältnisses erlauben. Wenn das gemessene Auslastungsverhältnis größer als das gewünschte Auslastungsverhältnis ist, kann eine hohe Wahrscheinlichkeit für ein Übertragen eines Gattersteuerungssignals ausgewählt werden. Wenn umgekehrt das gemessene Auslastungsverhältnis kleiner als das gewünschte Auslastungsverhältnis ist, kann eine niedrigere Wahrscheinlichkeit für das Übertragen eines Gattersteuerungssignals ausgewählt werden.
  • Nun Bezug nehmend auf 7 ist ein Ablaufplan, der die Schritte eines Verfahrens zum Erkennen eines Engpasses in einem Prozessorkern für eine gegebene Anwendung gemäß einer Ausführungsform der vorliegenden Offenbarung beschreibt, gezeigt. Bei Schritt 702 wird ein Auslastungsverhältnis einer Ausführungseinheit des Prozessorkerns gesteuert, wobei die Ausführungseinheit einen an die Ausführungseinheit weitergeleiteten Befehl ausführt. Bei Schritt 704 kann eine Anwendungsleistung auf Grundlage des Auslastungsverhältnisses gemessen werden. Das Auslastungsverhältnis entspricht einem Anteil einer Gesamtbeobachtungszeitperiode, während derer die Ausführungseinheit den Befehl ausführt.
  • In manchen Ausführungsformen kann eine Ausgabeeinheit zum Weiterleiten des Befehls an die Ausführungseinheit auf Grundlage des modifizierten Bereitschaftssignals verwendet werden. Ferner kann eine Periode, während derer das Bereitschaftssignal angibt, dass die Ausführungseinheit das Ausführen des Befehls starten kann, in manchen Instanzen begrenzt sein.
  • In anderen Ausführungsformen kann das modifizierte Bereitschaftssignal auf Grundlage eines Zufallssignals erzeugt werden und das Auslastungsverhältnis auf Grundlage eines gewünschten Auslastungsverhältnisses gesteuert werden.
  • Daher betreffen Ausführungsformen der vorliegenden Offenbarung einen Prozessorkern einschließlich einer Ausführungseinheit, wobei die Ausführungseinheit zum Ausführen eines an die Ausführungseinheit weitergeleiteten Befehls betreibbar ist; und eine Auslastungsverhältnis-Steuereinheit, die betriebsmäßig mit der Ausführungseinheit verbunden ist, wobei die Auslastungsverhältnis-Steuereinheit zum Steuern eines Auslastungsverhältnisses der Ausführungseinheit betreibbar ist und das Auslastungsverhältnis dem Anteil der Gesamtbeobachtungszeitperiode entspricht, während derer die Ausführungseinheit Befehle ausführt.
  • Gemäß einer Ausführungsform ist die Auslastungsverhältnis-Steuereinheit zum Erzeugen eines modifizierten Bereitschaftssignals von einem durch die Ausführungseinheit übertragenen Bereitschaftssignal betreibbar, und das Bereitschaftssignal gibt an, dass die Ausführungseinheit zum Empfangen des Befehls bereit ist.
  • Gemäß einer weiteren Ausführungsform enthält der Prozessorkern eine Ausgabeeinheit, die zum Weiterleiten des Befehls an die Ausführungseinheit auf Grundlage des modifizierten Bereitschaftssignals betreibbar ist.
  • In einer weiteren Ausführungsform enthält die Auslastungsverhältnis-Steuereinheit einen Auslastungsverhältnisbegrenzer, und der Auslastungsverhältnisbegrenzer ist zum Begrenzen einer Periode betreibbar, während derer das Bereitschaftssignal angibt, dass die Ausführungseinheit das Ausführen des Befehls starten kann.
  • Einer zusätzlichen Ausführungsform folgend enthält die Auslastungsverhältnis-Steuereinheit ein Schieberegister zum Abtasten des durch die Ausführungseinheit erzeugten Bereitschaftssignals und einen Schaltkreis zum Erzeugen des modifizierten Bereitschaftssignals auf Grundlage von Inhalt des Schieberegisters.
  • Gemäß einer weiteren Ausführungsform enthält die Auslastungsverhältnis-Steuereinheit einen Zufallsgenerator zum Erzeugen eines Zufallssignals und einen Schaltkreis zum Erzeugen des modifizierten Bereitschaftssignals auf Grundlage des Zufallssignals.
  • In einer Ausführungsform ist die Ausführungseinheit eine Lade-Speicher-Einheit oder ein Teil davon. Die Ausführungseinheit kann auch eine Vektoreinheit und/oder eine binärcodierte Dezimaleinheit (binary-coded decimal unit (BCD unit)) sein.
  • Einer weiteren Ausführungsform folgend, ist die Ausführungseinheit eine arithmetische Einheit.
  • Darüber hinaus betrifft die Offenbarung ein Verfahren zum Erkennen oder Analysieren eines Engpasses in einem Prozessorkern für eine gegebene Anwendung einschließlich Steuern eines Auslastungsverhältnisses von mindestens einer Ausführungseinheit des Prozessorkerns; und Messen einer Anwendungsleistung.
  • In einer Ausführungsform enthält das Verfahren ein Erzeugen eines modifizierten Bereitschaftssignals von einem durch die Ausführungseinheit übertragenen Bereitschaftssignal, das Bereitschaftssignal gibt an, dass die Ausführungseinheit zum Empfangen des Befehls bereit ist.
  • Gemäß einer weiteren Ausführungsform enthält das Verfahren ein Verwenden einer Ausgabeeinheit zum Weiterleiten des Befehls an die Ausführungseinheit auf Grundlage des modifizierten Bereitschaftssignals.
  • Einer zusätzlichen Ausführungseinheit folgend, enthält das Verfahren ein Begrenzen einer Periode, während derer das Bereitschaftssignal angibt, dass die Ausführungseinheit das Ausführen des Befehls starten kann.
  • In einer weiteren Ausführungsform enthält das Verfahren ferner ein Erzeugen des modifizierten Bereitschaftssignals auf Grundlage des Zufallssignals.
  • Gemäß einer weiteren Ausführungsform enthält das Verfahren ein Steuern des Auslastungsverhältnisses auf Grundlage eines gewünschten Auslastungsverhältnisses.
  • Einer weiteren Ausführungsform folgend enthält das Verfahren ferner ein Steuern eines zweiten Auslastungsverhältnisses einer zweiten Ausführungseinheit, ein Bestimmen einer Anwendungsleistungsabhängigkeit von dem Auslastungsverhältnis der einen Ausführungseinheit und dem zweiten Auslastungsverhältnis der zweiten Ausführungseinheit.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt handeln. Das Computerprogrammprodukt kann ein durch einen Computer lesbares Speicherungsmedium (oder -medien) mit durch einen Computer lesbaren Programmanweisungen darauf umfassen, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem durch einen Computer lesbaren Speicherungsmedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch ein System zur Ausführung von Anweisungen behalten und speichern kann. Bei dem durch einen Computer lesbaren Speicherungsmedium kann es sich zum Beispiel um eine elektronische Speicherungseinheit, eine magnetische Speicherungseinheit, eine optische Speicherungseinheit, eine elektromagnetische Speicherungseinheit, eine Halbleiterspeicherungseinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speicherungsmediums gehören die Folgenden: eine auswechselbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein auswechselbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch kodierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speicherungsmedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. Lichtwellenleiterkabel durchlaufende Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speicherungsmedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speicherungseinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server enthalten. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speicherungsmedium innerhalb der entsprechenden Datenverarbeitungs-/ Verarbeitungseinheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder vollständig auf dem fernen Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, vor Ort programmierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder bzw. Schaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern mittels durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speicherungsmedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass das durch einen Computer lesbare Speicherungsmedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt enthält, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaltbilder bzw. Schaubilder angegebenen Funktion/Schritts umsetzen.
  • Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, so dass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und die Blockschaltbilder bzw. Schaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) enthalten. In einigen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw. Schaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Während Schritte des offenbarten Verfahrens und Komponenten des offenbarten Systems und der offenbarten Umgebungen sequentiell oder seriell unter Verwendung von Zahlen und Buchstaben identifiziert wurden, ist ein solches Versehen mit Zahlen und Buchstaben keine Angabe, dass solche Schritte in der angegebenen Reihenfolge durchgeführt werden müssen, und wird lediglich bereitgestellt, um eine klare Bezugnahme der Schritte des Verfahrens zu ermöglichen. Des Weiteren können Schritte des Verfahrens parallel durchgeführt werden, um ihre beschriebene Funktionalität durchzuführen.
  • Die Beschreibungen der vielfältigen Ausführungsformen der vorliegenden Erfindung wurden zu Zwecken der Veranschaulichung vorgelegt, sind jedoch nicht als erschöpfend oder auf die offenbarten Ausführungsformen beschränkt beabsichtigt. Viele Modifikationen und Variationen sind für den Fachmann ersichtlich, ohne vom Umfang der beschriebenen Ausführungsformen abzuweichen. Die hierin verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsformen, die praktische Anwendung oder technische Verbesserung gegenüber auf dem Markt anzutreffenden Technologien am besten zu erklären oder um es anderen Fachleuten zu ermöglichen, die hierin offenbarten Ausführungsformen zu verstehen.

Claims (15)

  1. Prozessorkern (100; 200; 300; 400; 500), aufweisend: eine Ausführungseinheit (120; 220; 320; 420; 520) zum Ausführen eines oder mehrerer Befehle einer Anwendung, die an die Ausführungseinheit weitergeleitet werden; und eine Auslastungsverhältnis-Steuereinheiteneinheit (130; 230; 330; 430; 530), die betriebsmäßig mit der Ausführungseinheit verbunden ist, wobei die Auslastungsverhältnis-Steuereinheiteneinheit ein Auslastungsverhältnis der Ausführungseinheit steuert, wobei das Auslastungsverhältnis einem Anteil einer Gesamtbeobachtungszeitperiode entspricht, während derer die Ausführungseinheit den einen oder die mehreren Befehle der Anwendung ausführt, wobei die Auslastungsverhältnis-Steuereinheiteneinheit ein modifiziertes Bereitschaftssignal von einem durch die Ausführungseinheit an die Auslastungsverhältnis-Steuereinheiteneinheit übertragenen Bereitschaftssignal erzeugt, das angibt, dass die Ausführungseinheit zum Empfangen des einen oder der mehreren Befehle bereit ist.
  2. Prozessorkern nach Anspruch 1, wobei der Prozessorkern eine Ausgabeeinheit zum Weiterleiten des einen oder der mehreren Befehle an die Ausführungseinheit auf Grundlage des modifizierten Bereitschaftssignals aufweist.
  3. Prozessorkern nach Anspruch 1, wobei die Auslastungsverhältnis-Steuereinheiteneinheit ferner aufweist: Einen Auslastungsverhältnisbegrenzer (436; 536).
  4. Prozessorkern nach Anspruch 3, wobei der Auslastungsverhältnisbegrenzer eine Periode begrenzt, während derer das Bereitschaftssignal angibt, dass die Ausführungseinheit das Ausführen des einen oder der mehreren Befehle starten kann.
  5. Prozessorkern nach Anspruch 1, wobei die Auslastungsverhältnis-Steuereinheiteneinheit ferner aufweist: ein Schieberegister (441; 541) zum Abtasten des durch die Ausführungseinheit erzeugten Bereitschaftssignals: und einen ersten Schaltkreis (431, 433, 434, 442; 531, 535, 533, 550, 538, 539, 537, 534, 542) zum Erzeugen des modifizierten Bereitschaftssignals auf Grundlage von Inhalt des Schieberegisters.
  6. Prozessorkern nach Anspruch 1, wobei die Auslastungsverhältnis-Steuereinheiteneinheit ferner aufweist: einen Zufallsgenerator (235; 335; 535) zum Erzeugen eines Zufallssignals; und einen zweiten Schaltkreis (231, 232, 234; 336, 333, 334; 531, 533, 550, 538, 539, 537, 534, 541, 542) zum Erzeugen des modifizierten Bereitschaftssignals auf Grundlage des Zufallssignals.
  7. Prozessorkern nach Anspruch 1, wobei die Auslastungsverhältnis-Steuereinheiteneinheit eine arithmetische Einheit ist.
  8. Prozessorkern nach Anspruch 1, wobei die Ausführungseinheit ein Teil einer Lade-Speicher-Einheit, einer Vektoreinheit oder einer binärcodierten Dezimaleinheit ist.
  9. Computerumgesetztes Verfahren zum Erkennen eines Engpasses in einem Prozessorkern (100; 200; 300; 400; 500), aufweisend: Steuern (702), durch einen Computer, eines Auslastungsverhältnisses einer Ausführungseinheit (120; 220; 320; 420; 520) des Prozessorkerns, wobei die Ausführungseinheit einen oder mehrere Befehle einer Anwendung ausführt, die an die Ausführungseinheit weitergeleitet werden; Bestimmen (704), durch den Computer, einer Anwendungsleistungsabhängigkeit von dem Auslastungsverhältnis, wobei das Auslastungsverhältnis einem Anteil einer Gesamtbeobachtungszeitperiode entspricht, während derer die Ausführungseinheit den einen oder die mehreren Befehle der Anwendung ausführt; und Erzeugen eines modifizierten Bereitschaftssignals von einem durch die Ausführungseinheit übertragenen Bereitschaftssignal, wobei das Bereitschaftssignal angibt, dass die Ausführungseinheit zum Empfangen des Befehls bereit ist.
  10. Verfahren nach Anspruch 9, ferner aufweisend: Verwenden einer Ausgabeeinheit (111, 211, 311, 411, 511) zum Weiterleiten des einen oder der mehreren Befehle an die Ausführungseinheit auf Grundlage des modifizierten Bereitschaftssignals.
  11. Verfahren nach Anspruch 9, ferner aufweisend: Begrenzen einer Periode, während derer das Bereitschaftssignal angibt, dass die Ausführungseinheit das Ausführen des einen oder der mehreren Befehle starten kann.
  12. Verfahren nach Anspruch 9, ferner aufweisend: Erzeugen des modifizierten Bereitschaftssignals auf Grundlage eines Zufallssignals.
  13. Verfahren nach Anspruch 9, ferner aufweisend: Steuern des Auslastungsverhältnisses auf Grundlage eines gewünschten Auslastungsverhältnisses.
  14. Verfahren nach Anspruch 9, ferner aufweisend: Steuern eines zweiten Auslastungsverhältnisses einer zweiten Ausführungseinheit; und Bestimmen einer Anwendungsleistungsabhängigkeit von dem Auslastungsverhältnis der Ausführungseinheit und dem zweiten Auslastungsverhältnis der zweiten Ausführungseinheit.
  15. Computersystem (12) zum Erkennen eines Engpasses in einem Prozessorkern (100; 200; 300; 400; 500), aufweisend: einen oder mehrere Prozessoren (16), einen oder mehrere computerlesbare Speicher (28), ein oder mehrere computerlesbare gegenständliche Speicherungsmedien (34) sowie Programmanweisungen (40, 42), die in mindestens einem des einen oder der mehreren Speicherungsmedien zur Ausführung durch mindestens einen des einen oder der mehreren Prozessoren über mindestens einen des einen oder der mehreren Speicher gespeichert sind, wobei das Computersystem fähig ist, ein Verfahren durchzuführen, aufweisend: Steuern, durch einen Computer, eines Auslastungsverhältnisses einer Ausführungseinheit (120; 220; 320; 420; 520) des Prozessorkerns, wobei die Ausführungseinheit einen oder mehrere Befehle einer Anwendung ausführt, die an die Ausführungseinheit weitergeleitet werden; Bestimmen, durch den Computer, einer Anwendungsleistungsabhängigkeit von dem Auslastungsverhältnis, wobei das Auslastungsverhältnis einem Anteil einer Gesamtbeobachtungszeitperiode entspricht, während derer die Ausführungseinheit den einen oder die mehreren Befehle der Anwendung ausführt; und Erzeugen eines modifizierten Bereitschaftssignals von einem durch die Ausführungseinheit übertragenen Bereitschaftssignal, wobei das Bereitschaftssignal angibt, dass die Ausführungseinheit zum Empfangen des einen oder der mehreren Befehle bereit ist.
DE112021000317.8T 2020-03-31 2021-02-23 Teilweise computerprozessorkern-abschaltung Active DE112021000317B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/836,070 US11281474B2 (en) 2020-03-31 2020-03-31 Partial computer processor core shutoff
US16/836,070 2020-03-31
PCT/IB2021/051503 WO2021198804A1 (en) 2020-03-31 2021-02-23 Partial computer processor core shutoff

Publications (2)

Publication Number Publication Date
DE112021000317T5 DE112021000317T5 (de) 2022-10-06
DE112021000317B4 true DE112021000317B4 (de) 2024-03-14

Family

ID=77856118

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021000317.8T Active DE112021000317B4 (de) 2020-03-31 2021-02-23 Teilweise computerprozessorkern-abschaltung

Country Status (6)

Country Link
US (1) US11281474B2 (de)
JP (1) JP2023519522A (de)
CN (1) CN115280290B (de)
DE (1) DE112021000317B4 (de)
GB (1) GB2609790A (de)
WO (1) WO2021198804A1 (de)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7536229B2 (en) 2004-07-05 2009-05-19 Sony Corporation Information processing apparatus, information processing method, and computer program
US7549075B2 (en) 2005-04-12 2009-06-16 Hong Fu Jin Precision Industry (Shen Zhen) Co., Ltd. System and method for adjusting execution frequency of a central processing unit
US9086876B2 (en) 2010-02-25 2015-07-21 Telefonaktiebolaget L M Ericsson (Publ) Technique for selecting a frequency of operation in a processor system
WO2017016074A1 (zh) 2015-07-30 2017-02-02 中兴通讯股份有限公司 Cpu占用率检测方法及装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5590341A (en) * 1994-09-30 1996-12-31 Intel Corporation Method and apparatus for reducing power consumption in a computer system using ready delay
CN101458555B (zh) 2007-12-12 2011-12-21 成都市华为赛门铁克科技有限公司 一种调节时钟周期的方法和计算系统
US20130339677A1 (en) * 2011-02-28 2013-12-19 St. Jude Medical Ab Multiply-and-accumulate operation in an implantable microcontroller
US8407506B2 (en) * 2011-03-30 2013-03-26 Symbol Technologies, Inc. Dynamic allocation of processor cores running an operating system
US8924756B2 (en) 2011-06-27 2014-12-30 Intel Corporation Processor core with higher performance burst operation with lower power dissipation sustained workload mode
US9483324B2 (en) * 2012-06-26 2016-11-01 Nec Corporation Program conversion device and method, process switching method, method of determining execution scheme and program storage medium therefor, processor system, and parallel execution scheme
CN102968352B (zh) 2012-12-14 2015-07-22 杨晓松 进程监控及多级恢复系统和方法
US9766685B2 (en) 2013-05-15 2017-09-19 Intel Corporation Controlling power consumption of a processor using interrupt-mediated on-off keying
US9495001B2 (en) 2013-08-21 2016-11-15 Intel Corporation Forcing core low power states in a processor
US9760158B2 (en) 2014-06-06 2017-09-12 Intel Corporation Forcing a processor into a low power state
CN107526646A (zh) 2016-06-20 2017-12-29 中兴通讯股份有限公司 监控方法、装置及看门狗系统
US10606338B2 (en) * 2017-12-29 2020-03-31 Intel Corporation Energy-aware power sharing control

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7536229B2 (en) 2004-07-05 2009-05-19 Sony Corporation Information processing apparatus, information processing method, and computer program
US7549075B2 (en) 2005-04-12 2009-06-16 Hong Fu Jin Precision Industry (Shen Zhen) Co., Ltd. System and method for adjusting execution frequency of a central processing unit
US9086876B2 (en) 2010-02-25 2015-07-21 Telefonaktiebolaget L M Ericsson (Publ) Technique for selecting a frequency of operation in a processor system
WO2017016074A1 (zh) 2015-07-30 2017-02-02 中兴通讯股份有限公司 Cpu占用率检测方法及装置

Also Published As

Publication number Publication date
CN115280290A (zh) 2022-11-01
GB2609790A (en) 2023-02-15
US11281474B2 (en) 2022-03-22
CN115280290B (zh) 2023-03-24
GB202215369D0 (en) 2022-11-30
DE112021000317T5 (de) 2022-10-06
WO2021198804A1 (en) 2021-10-07
US20210303313A1 (en) 2021-09-30
JP2023519522A (ja) 2023-05-11

Similar Documents

Publication Publication Date Title
DE112019002948T5 (de) Feststellen einer optimalen speicherumgebung für datensätze und für das migrieren von datensätzen
DE112021006232T5 (de) Proaktive anomalieerkennung
DE112020004661B4 (de) Ermitteln einer optimalen Anzahl von Threads pro Kern in einem Mehrkern-Prozessorkomplex
DE112018005227T5 (de) Merkmalsextraktion mithilfe von multi-task-lernen
DE102022119386A1 (de) Verfahren und einrichtung zum durchführen einer dichten vorhersage unter verwendung von transformatorblöcken
DE102019103310A1 (de) Schätzer for einen optimalen betriebspunkt für hardware, die unter einer beschränkung der gemeinsam genutzten leistung/wärme arbeitet
DE112018004142T5 (de) Proaktive verringerung und/oder minderung eines spannungseinbruchs in einem prozessorkern
DE112012000212T5 (de) Technik für live Analyse-basierte Rematerialisation zur Reduktion von Registerdruck und zur Verbesserung von Parallelität
DE102020101814A1 (de) Effiziente ausführung anhand von aufgabengraphen festgelegter arbeitslasten
DE112017007656T5 (de) Verschobene aktualisierung von datenbank-hashcode in einer blockchain
DE102011056563A1 (de) Datenkompressionsvorrichtungen, Betriebsverfahren dafür und Datenverarbeitungsgeräte einschließlich derselben
DE102016125131A1 (de) Effiziente Erzeugung stochastischer Spike-Muster in kernbasierten neuromorphen Systemen
DE102014000372A1 (de) Verbesserte steuerung des prefetch-traffics
DE112018003087T5 (de) On-chip-rauschunterdrückung oder -minderung der versorgungsspannung unter verwendung von lokalen detektionsschleifen in einem prozessorkern
DE102020112826A1 (de) Verfahren zur effizienten durchführung von datenreduktionen in parallelverarbeitungseinheiten
DE112020004031T5 (de) Systembezogene selektive quantisierung für in der leistungsfähigkeit optimiertes verteiltes deep learning
DE112017001376T5 (de) Erkennen und Vorhersagen von Engpässen in komplexen Systemen
DE102022103358A1 (de) Training für maschinelles lernen im logarithmischen zahlensystem
DE112018001952T5 (de) Verbessertes visuelles dialogsystem für intelligente tutoren
DE112017005371B4 (de) Energiesparen eines Prozessors während Warteereignissen
DE102012224362A1 (de) Anpassung einer Testhäufigkeit für die Ressourcenauslastung
DE102023103798A1 (de) Automatische fehlervorhersage in rechenzentren
DE112022001059T5 (de) Verringerte bandbreiten-inanspruchnahme über generative adversarial networks
DE10255142B4 (de) Diagnose von Datenpaketübertragungs-Fehlern unter Verwendung von Einschränkungen
DE112018006331B4 (de) Testfallgenerierungsvorrichtung, Testfallgenerierungsverfahren und Testfallgenerierungsprogramm

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence