DE602005005035T2 - Verfahren zur ausführung von operationen, die durch ein bauteil mit einem thermischen schwellwert auszuführen sind, sowie verarbeitungssystem mit einem proszessor - Google Patents

Verfahren zur ausführung von operationen, die durch ein bauteil mit einem thermischen schwellwert auszuführen sind, sowie verarbeitungssystem mit einem proszessor Download PDF

Info

Publication number
DE602005005035T2
DE602005005035T2 DE602005005035T DE602005005035T DE602005005035T2 DE 602005005035 T2 DE602005005035 T2 DE 602005005035T2 DE 602005005035 T DE602005005035 T DE 602005005035T DE 602005005035 T DE602005005035 T DE 602005005035T DE 602005005035 T2 DE602005005035 T2 DE 602005005035T2
Authority
DE
Germany
Prior art keywords
thermal
component
processor
feature
operations
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
DE602005005035T
Other languages
English (en)
Other versions
DE602005005035D1 (de
Inventor
Keisuke SONY COMPUTER ENTERTAINMENT INOUE
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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment 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 Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Publication of DE602005005035D1 publication Critical patent/DE602005005035D1/de
Application granted granted Critical
Publication of DE602005005035T2 publication Critical patent/DE602005005035T2/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4893Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • 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
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/1221Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to power consumption
    • 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, look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3814Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
    • 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, 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
    • 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, look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • 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/4405Initialisation of multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/483Multiproc
    • 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

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung bezieht sich auf Verfahren und Vorrichtungen zur Ausführung eines thermischen Managements in einer Verarbeitungsumgebung und insbesondere auf die Verringerung von thermischen Spitzenlastpunkten durch effektives Zuweisen von Befehlen und Aufgaben.
  • Verwandte Technik
  • Rechensysteme werden zunehmend komplexer, erreichen höhere Verarbeitungsgeschwindigkeiten, während zugleich die Bauteilgröße und dichte Packungsvorrichtungen auf einem Computerchip schrumpfen. Derartige Vorteile sind für den Erfolg von vielen Anwendungen, wie von Echtzeit-, Multimedia-Spiel- und anderen computerintensiven Anwendungen kritisch. Häufig sind in Rechensysteme mehrere Prozessoren einbezogen, die parallel (oder zumindest zusammen) arbeiten, um den Verarbeitungswirkungsgrad zu erhöhen.
  • Wärme wird häufig erzeugt, wenn Bauteile und Vorrichtungen Operationen, wie Befehle und Aufgaben ausführen. Übermäßige Wärme kann die Verarbeitungsfähigkeit eines elektronischen Bauteiles, wie eines Computerchips, nachteilig beeinflussen. Wenn beispielsweise eine Fläche des Chips rechenintensive Aufgaben ausführt, kann sich der Bereich signifikant erwärmen und in Bezug auf den Rest des Chips einen heißen Punkt bilden. Falls der heiße Punkt einen thermischen Schwellwert überschreitet, kann die Leistung der Bauteile oder Vorrichtungen in dem betreffenden Bereich des Chips verschlechtert werden, oder der Chip wird sogar beschädigt oder zerstört.
  • In der Vergangenheit ist eine Vielzahl von Lösungen angewandt worden, um das Überhitzungsproblem zu lösen. Eine mechanische Lösung besteht darin, eine Wärmesenke an dem Computerchip anzubringen. Wärmesenken sind jedoch voluminös und können lediglich dazu dienen, Wärme von dem Chip wegzuleiten und in den den Chip umgebenden Raum abzuführen. Wenn der Chip in einem Gehäuse untergebracht ist, wie in einem Personalcomputergehäuse, muss diese Wärme abgeführt werden, wie durch den Einsatz von Gebläsen, die selbst Platz beanspruchen und ein unerwünschtes Geräusch erzeugen.
  • Es existieren auch andere, komplexere Wärme-Managementsysteme. So können beispielsweise bei einer Lösung Temperatursensoren an bzw. auf kritischen Schaltungselementen platziert sein, wie an bzw. auf dem Prozessor, und Gebläse können in einem zugehörigen Systemgehäuse angebracht sein. Wenn die Temperatursensoren anzeigen, dass eine bestimmte Temperatur erreicht worden ist, werden die Gebläse eingeschaltet, wodurch der Luftstrom durch das Systemgehäuse zum Abkühlen des Prozessors gesteigert wird. Alternativ könnte ein Alarm ausgelöst werden, der das Verarbeitungsumfeld veranlasst, mit einem Abschalten zu beginnen, wenn die Temperatursensoren anzeigen, dass ein zuvor festgelegter Temperaturpegel überschritten worden ist. Die Sensoren sind häufig in einer Entfernung von einem heißen Fleck angeordnet. Bedauerlicherweise kann diese Rückkopplungslösung zu langsam oder unzuverlässig funktionieren, um eine Überhitzung zu verhindern.
  • Weitere Versuche zur Durchführung eines Wärmemanagements wenden den Einsatz von Software an. So fährt ein Verfahren beispielsweise den Takt eines Bauelementes herunter, so dass mehr Zeit zur Abkühlung zwischen Operationen zur Verfügung steht. Ein konventionelles System steuert die Befehls-Abholrate aus dem Befehls-Cachespeicher zum Befehlspuffer unter Verwendung eines Drosselungsmechanismus. Eine Verringerung der Abholrate senkt die Erzeugung von Wärme. Eine noch drastischere Lösung besteht darin, den Prozessor abzuschalten und ihm zu erlauben, sich abzukühlen. Bedauerlicherweise haben alle diese Verfahren eine direkte Auswirkung auf die Geschwindigkeit, mit der das Bauteil bzw. Bauelement arbeitet, und die betreffenden Verfahren können für Echtzeit-Verarbeitungsforderungen nachteilig sein. Der relevante Stand der Technik wird in der US-A-2002/0065049 gesehen, in der ein System und ein Verfahren für ein dynamisches Energiemanagement bezüglich der Temperatur von verschiedenen Bereichen einer Vorrichtung angegeben sind.
  • Offenbarung der Erfindung
  • Daher besteht in der Technik ein Bedarf an neuen Verfahren und Vorrichtungen zur Erzielung eines thermischen Managements, während zusätzliche Hardware- oder ineffiziente Software-Routinen vermieden werden.
  • Gemäß Aspekten der vorliegenden Erfindung werden thermische Ablaufverfahren bereitgestellt. Bei einer bevorzugten Ausführungsform weist eine Komponente bzw. ein Bauteil einen thermischen Schwellwert auf, und das Verfahren umfasst die Bereitstellung einer Vielzahl von Operationen, die durch die Komponente bzw. das Bauteil auszuführen sind. Ferner wird eine thermische Information in Zuordnung zu den Operationen mit einem thermischen Merkmal bereitgestellt. Das thermische Merkmal repräsentiert einen Wert in Bezug auf die Wärmemenge, deren Erzeugung erwartet wird oder durch die Komponente bzw. das Bauteil während der Ausführung der Operation auftritt. Die Reihenfolge, in der die Operationen auszuführen sind, wird auf der Grundlage des thermischen Merkmals aufgelistet, so dass der thermische Schwellwert nicht überschritten wird.
  • Bei einem Beispiel umfasst das Verfahren ferner eine Messung des thermischen Merkmals mittels einer Temperatur-Feststelleinrichtung. Bei einem anderen Beispiel umfasst das Verfahren ferner eine Abschätzung des thermischen Attributs bzw. Merkmals auf der Grundlage des Leistungsverbrauchs des Bauteils. Das thermische Merkmal kann in verschiedener Weise geschätzt werden. In einem Fall umfasst die Schätzung die Ausführung einer Schaltungssimulation des Bauteils. In einem anderen Fall umfasst die Schätzung die Bestimmung einer Leistungsdichte des Bauteils.
  • Bei einem noch weiteren Beispiel umfasst das Verfahren ferner die Ausführung von Operationen durch das Bauteil in der Reihenfolge der Leistung. Vorzugsweise enthält das Bauteil eine Vielzahl von Verarbeitungsvorrichtungen, und das thermische Merkmal ist ein thermisches Gesamtmerkmal von ausgewählten Verarbeitungsvorrichtungen, welche die Operationen ausführen.
  • Bei einem weiteren Beispiel enthält das Bauteil eine Vielzahl von Verarbeitungsvorrichtungen, wobei jede der Verarbeitungsvorrichtungen einen individuellen Schwellwert besitzt. Das thermische Merkmal umfasst eine Vielzahl von individuellen thermischen Merkmalen, die jeweils einer der Verarbeitungsvorrichtungen zugehörig sind. In diesem Fall weist das Verfahren vorzugsweise eine Auswahl von zumindest einigen der Verarbeitungsvorrichtungen auf, um die Operationen auszuführen. Die ausgewählten Vorrichtungen werden überwacht, und die Operationen werden zu den ausgewählten Vorrichtungen hingeleitet, so dass die individuellen thermischen Schwellwerte nicht überschritten werden. Bei einem alternativen Beispiel enthält das Bauteil eine Vielzahl von Verarbeitungsvorrichtungen, und das thermische Merkmal ist der Vielzahl von Verarbeitungsvorrichtungen zugeordnet.
  • Bei einem noch weiteren Beispiel kann der Schritt zum Bestimmen des thermischen Merkmals umfassen: (i) Bestimmen des Leistungsverbrauchs des Bauteiles, (ii) Bestimmen einer Anschluss- bzw. Grundfläche (Größe) des Bauteils, (iii) das Teilen des Leistungsverbrauchs des Bauteils durch die Anschluss- bzw. Grundfläche des Bauteils zur Erzielung eines Leistungsverbrauchs pro Fläche bzw. Flächeneinheit, und (iv) das Multiplizieren des Leistungsverbrauchs pro Fläche bzw. Flächeneinheit mit einer thermischen Schätzungskonstanten. Bei einem weiteren Beispiel kann das Verfahren ferner die Bestimmung eines Kühlmerkmals umfassen, so dass das Kühlmerkmal in die Ablaufplanung der Operationen zusammen mit dem thermischen Merkmal einbezogen ist.
  • Bei einer weiteren bevorzugten Ausführungsform erhält das Verfahren einen Programmcode mit einer Reihe von Operationen und bestimmt thermische Merkmale in Zuordnung zu einem oder mehreren der Operationen. Der thermische Schwellwert eines Bauteils wird ebenfalls bestimmt. Die Operationen werden zur Ausführung durch das Bauteil entsprechend den thermischen Merkmalen aufgelistet, so dass der thermische Schwellwert nicht überschritten wird.
  • Bei einem Beispiel stehen die thermischen Merkmale für eine Wärmemenge der Wärme, die zu erzeugen erwartet wird, wenn das Bauteil eine ausgewählte Operation ausführt. Bei einem anderen Beispiel stehen die thermischen Merkmale für eine Wärmemenge der Wärme, die über eine Zeitspanne hinweg erzeugt wird. Bei einem weiteren Beispiel stehen die thermischen Merkmale für zumindest einen der Faktoren aus (a) dem Leistungsverbrauch des Bauteils und (b) der Leistungsdichte des Bauteils.
  • Bei einem noch weiteren Beispiel umfasst das Verfahren ferner die Ausführung der Operationen durch das Bauteil. Die Temperatur des Bauteils wird während der Ausführung überwacht. Die Operationen werden aufgelistet, falls der thermische Schwellwert überschritten wird.
  • Bei einem weiteren Beispiel umfasst das Verfahren ferner die Abschätzung der thermischen Merkmale durch Zählen der Anzahl der bei jeder der Operationen auszuführenden Aufgaben.
  • Bei einem weiteren Beispiel enthält das Bauteil eine Mehrzahl von Verarbeitungsvorrichtungen. In diesem Fall umfasst das Verfahren vorzugsweise eine Überwachung einer dynamischen Ausführung von ausgewählten Operationen durch ausgewählte Verarbeitungsvorrichtungen. Die Arbeitsfrequenz der ausgewählten Vorrichtungen wird bestimmt bzw. festgelegt. Die Arbeitsfrequenz wird einem Compiler gemeldet.
  • Bei einem noch weiteren Beispiel umfasst das Verfahren ferner die Bestimmung eines Kühlmerkmals für eine Rechenvorrichtung. Die Rechenvorrichtung enthält das Bauteil. Der Schritt der Auflistung der Operationen wird entsprechend dem Kühlmerkmal und dem thermischen Merkmal ausgeführt. Das Kühlmerkmal kann auf der Art der Packung der Computervorrichtung basieren. Es kann auch auf einer Kühleinrichtung der Rechenvorrichtung basieren. Wenn in diesem Fall die Kühleinrichtung einen Zustand besitzt, ist das Kühlmerkmal festgelegt. Falls die Kühleinrichtung eine Mehrzahl von Zuständen besitzt, ist das Kühlmerkmal dynamisch.
  • Gemäß anderen Aspekten der vorliegenden Erfindung werden Verarbeitungssysteme und -verfahren zur Verarbeitung von Operationen in einem Rechenumfeld bereitgestellt. Bei einer Ausführungsform eines Verarbeitungssystems werden Operationen durch ein Bauteil ausgeführt, welches Teil einer Rechenvorrichtung ist. Dabei wird zumindest ein thermisches Merkmal bereitgestellt. Das Merkmal wird bzw. ist dem Bauteil und einer ausgewählten Operation zugeordnet. Es ist kennzeichnend für die Änderung in der Temperatur des Bauteils nach Ausführen der Operation.
  • Bei einem Beispiel enthält das Verarbeitungssystem eine Ablaufsteuerung. Die Ablaufsteuerung ist imstande, auf das thermische Merkmal hin zumindest eine der Operationen dem Bauteil zuzuweisen. In einem Fall ist die Ablaufsteuerung bzw. das Steuerprogramm imstande, in Abhängigkeit von dem thermischen Merkmal eine ausgewählte Operation aus einem Speicherplatz abzurufen. In einem anderen Fall enthält das Bauteil Sub-Bauteile, und die Ablaufsteuerung ist eine einfache Ablaufsteuerung. Das thermische Merkmal ist ein thermisches Gesamtmerkmal, welches dem Bauteil zugeordnet ist und nicht den Sub-Bauteilen. In einem noch anderen Fall enthält das Bauteil Sub-Bauteile, und die Ablaufsteuerung ist eine fortgeschrittene Ablaufsteuerung. Das thermische Merkmal ist ferner zumindest einigen der Sub-Bauteile zugeordnet.
  • Bei einem weiteren Beispiel ist das Bauteil eine Verarbeitungsvorrichtung, und die Ablaufsteuerung ist in der Verarbeitungsvorrichtung integriert. Bei einem weiteren Beispiel umfasst die ausgewählte Operation eine Aufgabe, und das thermische Merkmal ist ein thermisches Aufgabenmerkmal. In diesem Fall basiert das thermische Aufgabenmerkmal vorzugsweise auf zumindest einer Größe aus (a) einer Arbeits- bzw. Betriebsfrequenz des Bauteils, (b) einem thermischen Merkmal des Bauteils und (c) einem Kühlmerkmal.
  • Bei einem noch weiteren Beispiel besitzen zumindest einige der Operationen eine Priorität. In diesem Fall umfasst das System ferner eine Vielzahl von Prioritätsschlangen, wobei jede Prioritätsschlange eine erste (beispielsweise heiße) Schlange zur Speicherung einer ersten Reihe von Operationen und eine zweite (z. B. kühle) Schlange zur Speicherung einer zweiten Reihe von Operationen aufweist. Vorzugsweise enthält das System ferner eine Ablaufsteuerung bzw. ein Steuerprogramm. Die Ablaufsteuerung ist derart betreibbar, dass zumindest einige der Operationen entweder der heißen oder der kühlen Schlange in einer ausgewählten Prioritätsschlange auf der Grundlage der Prioritäten der Operationen und auf der Grundlage des thermischen Merkmals zugewiesen werden. Vorzugsweise ist die Ablaufsteuerung ferner derart betreibbar, dass eine ausgewählte Operation der Operationen aus der heißen Schlange und der kühlen Schlange der ausgewählten Prioritätsschlange in Abhängigkeit von dem thermischen Merkmal und der Priorität der ausgewählten Operation abgerufen wird.
  • Bei einer weiteren Ausführungsform eines Verarbeitungssystems entsprechend Aspekten der vorliegenden Erfindung sind eine Ablaufsteuerung, erste und zweite Operationen und eine Vielzahl von Prozessoren vorgesehen. Die Ablaufsteuerung leitet die Operationen, welche die ersten und zweiten Operationen umfassen. Die ersten Operationen weisen ein thermisches Merkmal auf, welches einen Betriebsschwellwert überschreitet. Die zweite Operation weist ein thermisches Merkmal auf, welches den Betriebsschwellwert nicht überschreitet. Die Prozessoren sind imstande, die Operationen auszuführen. Jeder Prozessor besitzt einen thermischen Schwellwert.
  • Wenn bei einem Beispiel der thermische Schwellwert eines ausgewählten Prozessors nicht überschritten wird, kann der betreffende Prozessor zumindest eine der ersten oder zweiten Operationen erhalten und ausführen. Wenn in einem anderen Fall der thermische Schwellwert des ausgewählten Prozessors nicht überschritten wird, erhält der Prozessor die erste Operation. Wenn bei einem weiteren Beispiel der thermische Schwellwert des ausgewählten Prozessors überschritten wird, ist der Prozessor derart betreibbar, dass die zweite Operation erhalten und ausgeführt wird.
  • Bei einem noch weiteren Beispiel enthalten die Prozessoren Temperatur-Feststelleinrichtungen zur Überwachung oder Abschätzung der Temperaturen der Prozessoren. Vorzugsweise enthalten die Prozessoren ferner einen Analog-Digital- Wandler, der derart betreibbar ist, dass er einen Temperaturwert von den Temperatur-Feststelleinrichtungen empfängt und einen digitalen Temperaturwert bereitstellt.
  • Bei einem weiteren Beispiel enthält ein ausgewählter Prozessor eine Mehrzahl von Sub-Prozessoren. In wünschenswerter Weise besitzt der ausgewählte Prozessor ein thermisches Gesamtmerkmal, welches dem ausgewählten Prozessor zugeordnet ist und nicht den Sub-Prozessoren. Alternativ besitzt jeder Sub-Prozessor in wünschenswerter Weise ein thermisches Komponentenmerkmal, welches von den thermischen Komponentenmerkmalen der anderen Sub-Prozessoren verschieden ist.
  • Gemäß Aspekten der vorliegenden Erfindung wird ein bevorzugtes Verfahren zur Ausführung von Operationen in einer Rechenumgebung bereitgestellt. Das Verfahren umfasst die Speicherung einer ersten Operation und die Speicherung einer zweiten Operation. Die Operationen werden auf der Grundlage der thermischen Merkmale der Operationen gespeichert. Das Verfahren umfasst ferner das Abrufen zumindest einer der Operationen in Abhängigkeit von einem thermischen Schwellwert eines Prozessors.
  • Vorzugsweise kann dann, wenn der thermische Schwellwert des Prozessors nicht überschritten wird, zumindest eine der Operationen abgerufen werden. Vorzugsweise wird lediglich die erste Operation abgerufen. Falls der thermische Schwellwert des Prozessors überschritten wird, wird vorzugsweise die zweite Operation abgerufen.
  • Das Verfahren umfasst vorzugsweise die Zusatzschritte des Bestimmens von Prioritäten der ersten und zweiten Operationen und des Bereitstellens einer Vielzahl von Prioritätsschlangen. In diesem Fall werden Prioritätsschlangen bereitgestellt, in denen erste und zweite Schlangen vorgesehen sind. Die erste Operation wird in einer der ersten Schlangen auf der Grundlage der Priorität der ersten Operation gespeichert, und die zweite Operation wird in einer der zweiten Schlangen auf der Grundlage der Priorität der zweiten Operation gespeichert.
  • Bei einem weiteren Beispiel umfasst das Verfahren ferner die Zuordnung eines thermischen Bauteilmerkmals zu dem Prozessor. In diesem Fall umfasst das Abrufen der Operation eine Bewertung eines aktuellen Zustands des thermischen Bauteilmerkmals und einer Auswahl der Operation auf der Grundlage des thermischen Bauteilmerkmals.
  • Gemäß Aspekten der vorliegenden Erfindung umfasst ein weiteres bevorzugtes Verfahren zur Ausführung von Operationen eine Bestimmung, falls die Temperatur eines Prozessors einen thermischen Schwellwert überschreitet. Falls der Schwellwert nicht überschritten wird, bestimmt das Verfahren, ob die erste Operation verfügbar ist. Die erste Operation ist wahrscheinlich dafür, dass die Temperatur des Prozessors auf die Ausführung hin beibehalten oder erhöht wird. Falls die erste Operation verfügbar ist, wird sie ausgeführt. Falls der thermische Schwellwert überschritten wird, bestimmt das Verfahren, ob eine zweite Operation verfügbar ist. Die zweite Operation ist wahrscheinlich dafür, dass die Temperatur des Prozessors auf die Ausführung hin absinkt. Falls die zweite Operation verfügbar ist, wird sie ausgeführt.
  • Wenn gemäß einem Beispiel die Operation einer kühlen Schlange nicht verfügbar ist, führt das Verfahren vorzugsweise „keine Operation" oder eine „Nop-Operation" aus. Bei einem anderen Beispiel umfasst das Verfahren ferner die Bestimmung einer Prioritätsebene, die Bestimmung, ob die erste Operation von einer Prioritätsschlange der Prioritätsebene verfügbar ist, und in dem Fall, dass die erste Operation aus der Prioritätsschlange nicht verfügbar ist, die Bestimmung, ob die zweite Operation aus der Prioritätsschlange verfügbar ist.
  • Bei einer weiteren Ausführungsform ist gemäß weiteren Aspekten der vorliegenden Erfindung eine Verarbeitungsvorrichtung vorgesehen. Die Verarbeitungsvorrichtung ist imstande, thermischen Merkmalen zugehörige Operationen zu verarbeiten. Die Verarbeitungsvorrichtung umfasst einen Speicher und eine Mehrzahl von Verarbeitungsvorrichtungen. Der Speicher dient zur Speicherung von ersten und zweiten Operationen. Die erste Operation weist ein thermisches Merkmal auf, welches einen Betriebsschwellwert überschreitet. Die zweite Operation weist ein thermisches Merkmal auf, welches den Betriebsschwellwert nicht überschreitet. Die Verarbeitungsvorrichtungen können die Operationen ausführen. Zumindest einige der Verarbeitungsvorrichtungen besitzen einen thermischen Schwellwert und verfügen über einen Zugriff auf den Speicher. Zumindest eine ausgewählte Verarbeitungsvorrichtung umfasst ein Verarbeitungselement, eine Verarbeitungseinheit oder eine Sub-Verarbeitungseinheit. Falls der thermische Schwellwert der ausgewählten Verarbeitungsvorrichtung nicht überschritten wird, kann die ausgewählte Verarbeitungsvorrichtung die erste Operation aus dem Speicher für eine Verarbeitung erhalten. Falls der thermische Schwellwert der ausgewählten Verarbeitungsvorrichtung überschritten wird, kann die ausgewählte Verarbeitungsvorrichtung die zweite Operation aus dem Speicher für eine Verarbeitung erhalten.
  • Bei einem Beispiel sind zumindest einige der Verarbeitungsvorrichtungen Verarbeitungselemente. Vorzugsweise weisen ferner zumindest einige der Verarbeitungselemente zumindest eine Sub-Verarbeitungseinheit auf. In diesem Fall können die Sub-Verarbeitungseinheiten eine Gleitkommaeinheit, eine Ganzzahleneinheit und ein Register enthalten, dem die Gleitkomma- und Ganzzahleneinheiten zugehörig sind. Vorzugsweise enthalten die Sub-Verarbeitungseinheiten ferner einen lokalen Speicher.
  • Bei einem weiteren Beispiel enthalten zumindest einige der Verarbeitungselemente ferner eine Verarbeitungseinheit sowie eine Vielzahl von Sub-Verarbeitungseinheiten, die der Verarbeitungseinheit zugeordnet bzw. zugehörig sind. In diesem Fall enthalten die Sub-Verarbeitungseinheiten jeweils vorzugsweise einen lokalen Speicher.
  • Bei einem weiteren Beispiel ist eine erste Verarbeitungsvorrichtung der Verarbeitungsvorrichtungen derart betreibbar, dass Operationen mit einer zweiten Verarbeitungsvorrichtung der Verarbeitungsvorrichtungen in Abhängigkeit von dem thermischen Schwellwert der ersten Verarbeitungsvorrichtung ausgetauscht werden.
  • Bei einem weiteren Beispiel enthält die ausgewählte Verarbeitungsvorrichtung eine Sub-Verarbeitungseinheit und einen Speicher, der einen lokalen Speicher in der Sub-Verarbeitungseinheit umfasst. In diesem Fall kann der lokale Speicher eine erste Schlange zur Verwaltung bzw. Leitung der ersten Operation und eine zweite Schlange zur Verwaltung bzw. Leitung der zweiten Operation enthalten. Die ersten und zweiten Operationen können in dem Speicher in einer Zeitteilanordnung bzw. in einer Zeitmultiplexanordnung behalten werden.
  • Bei einer anderen Alternative gemäß Aspekten der vorliegenden Erfindung kann ein Paar von Speichern vorgesehen sein. Bei einem Beispiel enthält ein erster Speicher der betreffenden Speicher eine erste Schlange zur Verwaltung einer ersten Reihe von Operationen mit thermischen Merkmalen, die einen Betriebsschwellwert überschreiten, und ein zweiter Speicher der betreffenden Speicher enthält eine zweite Schlange zur Verwaltung einer zweiten Reihe von Operationen mit thermischen Merkmalen, die den Betriebsschwellwert nicht überschreiten. Falls der thermische Schwellwert der ausgewählten Verarbeitungsvorrichtung nicht überschritten wird, kann die betreffende Verarbeitungsvorrichtung zumindest eine Operation aus der ersten Reihe von Operationen für eine Verarbeitung erhalten. Falls der thermische Schwellwert überschritten wird, kann die Verarbeitungsvorrichtung zumindest eine Operation aus der zweiten Reihe von Operationen für eine Verarbeitung erhalten. Bei einem anderen Beispiel gibt es ein Paar von Speichern zur Speicherung von ersten und zweiten Operationen, wobei die erste Operation ein thermisches Merkmal aufweist, welches einen Betriebsschwellwert überschreitet, und wobei die zweite Operation ein thermisches Merkmal aufweist, welches den Betriebsschwellwert nicht überschreitet. Falls der thermische Schwellwert einer ausgewählten Verarbeitungsvorrichtung nicht überschritten wird, kann die betreffende Verarbeitungsvorrichtung die erste Operation entweder aus dem ersten Speicher oder aus dem zweiten Speicher für eine Verarbeitung erhalten. Falls der thermische Schwellwert überschritten wird, kann die Verarbeitungsvorrichtung die zweite Operation entweder aus dem ersten Speicher oder aus dem zweiten Speicher für eine Verarbeitung erhalten.
  • Gemäß Aspekten der vorliegenden Erfindung wird ein Verfahren zur Verarbeitung von Aufgaben bereitgestellt. Das Verfahren umfasst eine ausgewählte Aufgabe aus einer Vielzahl von Aufgaben zur Ausführung durch ein Bauteil auf der Grundlage eines Merkmals. Das Merkmal für die jeweilige Aufgabe steht in Beziehung zur Temperatur des Bauteils nach Ausführung der zugehörigen Aufgabe. Die ausgewählte Aufgabe wird dann ausgeführt.
  • Vorzugsweise steht das Merkmal mit dem erwarteten Anstieg oder Abfall der Temperatur des Bauelements nach Ausführung der zugehörigen Aufgabe in Verbindung. Der erwartete Anstieg oder Abfall basiert auf der Leistungsdichte des Bauteils. Die Aufgaben können in zumindest einer Schlange in dem Speicher gespeichert werden. Alternativ können die Aufgaben in zumindest zwei Schlangen in dem Speicher gespeichert werden. Eine Schlange speichert Aufgaben, deren Merkmale eine Bedingung erfüllen. Eine andere Schlange speichert Aufgaben, deren Merkmale die Bedingung nicht erfüllen. Die Bedingung kann darin bestehen, dass das Merkmal einen Schwellwert überschreitet. Die Aufgabe kann außerdem auf der Grundlage der aktuellen Temperatur des Bauteiles ausgewählt werden bzw. sein. Die Aufgaben können unter unterschiedlichen Adressen in dem Speicher vor der Ausführung gespeichert sein. Die Aufgaben können außerdem unter derselben Adresse zu verschiedenen Zeiten in dem Speicher vor einer Ausführung gespeichert sein. Vorzugsweise ist das Bauteil ein Prozessor.
  • Gemäß anderen Aspekten der vorliegenden Erfindung wird ein System zur Verarbeitung von Aufgaben bereitgestellt, umfassend einen Speicher zur Speicherung von zu verarbeitenden Aufgaben und ein Bauteil, welches die in dem Speicher gespeicherten Aufgaben verarbeitet. Den Aufgaben sind Merkmale zugeordnet. Das Merkmal für die jeweilige Aufgabe steht mit der Temperatur des Bauteils nach der Verarbeitung der zugehörigen Aufgabe in Beziehung. Eine der Aufgaben wird zur Verarbeitung durch das Bauteil auf der Grundlage des Merkmals ausgewählt.
  • Das Merkmal steht vorzugsweise mit einer erwarteten Zunahme oder Abnahme der Temperatur des Bauelements nach der Verarbeitung der gewählten Aufgabe in Beziehung. Die erwartete Zunahme oder Abnahme kann auf der Leistungsdichte des Bauteiles bzw. Bauelements basieren. Die Aufgaben können in zumindest einer Schlange in dem Speicher gespeichert sein. Die Aufgaben können auch in zumindest zwei Schlangen in dem Speicher gespeichert sein. In diesem Falle speichert eine Schlange Aufgaben, deren Merkmale eine Bedingung erfüllen, und die andere Schlange speichert Aufgaben, deren Merkmale die Bedingung nicht erfüllen. Die Bedingung kann die sein, dass das Merkmal einen Schwellwert überschreitet.
  • Der Speicher umfasst vorzugsweise zwei gesonderte Speichersammlungen. Eine Speichersammlung speichert Aufgaben, deren Merkmale eine Bedingung erfüllen, und die andere Speichersammlung speichert Aufgaben, deren Merkmale die Bedingung nicht erfüllen. Die beiden gesonderten Speichersammlungen können unter derselben Speicheradresse zu unterschiedlichen Zeitspannen gespeichert werden bzw. sein. Die beiden gesonderten Speichersammlungen können unter unterschiedlichen Speicheradressen vorgesehen sein. In diesem Fall können die beiden gesonderten Speichersammlungen in derselben Halbleitervorrichtung enthalten sein, oder sie können in unterschiedlichen Halbleitervorrichtungen enthalten sein.
  • Vorzugsweise enthält das Bauteil einen Temperatursensor. In diesem Fall kann die Aufgabe auf der Grundlage eines Ausgangssignals des Temperatursensors ausgewählt werden. Das System kann außerdem ein zweites Bauteil aufweisen, welches imstande ist, die Aufgaben zu verarbeiten. Eine oder mehrere der Aufgaben können für jedes Bauteil auf der Grundlage einer erwarteten Temperatur des jeweiligen Bauteils nach Verarbeitung der Aufgabe ausgewählt werden. Das System kann außerdem eine Ablaufsteuerung enthalten, die eine oder mehrere der Aufgaben für das Bauteil auswählt.
  • Kurze Beschreibung der Zeichnungen
  • 1 veranschaulicht Bauteile, die in verschiedenen Kombinationen entsprechend Aspekten der vorliegenden Erfindung gruppiert sind.
  • 2A2B veranschaulichen grafische Darstellungen der Temperatur in Abhängigkeit von der Zeit für Rechenvorrichtungen.
  • 3A veranschaulicht in einem Diagramm einen beispielhaften Aufbau eines Verarbeitungselements (PE) gemäß Aspekten der vorliegenden Erfindung.
  • 3B veranschaulicht in einem Diagramm einen beispielhaften Aufbau eines Multi-Verarbeitungssystems von Verarbeitungselementen (PEs) gemäß Aspekten der vorliegenden Erfindung.
  • 4 veranschaulicht in einem Diagramm einen beispielhaften Aufbau einer Sub-Verarbeitungseinheit (SPU) gemäß Aspekten der vorliegenden Erfindung.
  • 5 veranschaulicht in einem Diagramm eine Multi-Schlangen-Ablaufsteuerung gemäß Aspekten der vorliegenden Erfindung.
  • 6 veranschaulicht in einem Ablaufdiagramm einen beispielhaften dynamischen Ablaufsteuerungsprozess gemäß Aspekten der vorliegenden Erfindung.
  • 7 veranschaulicht in einem Diagramm eine Multi-Schlangen-Ablaufsteuerung gemäß Aspekten der vorliegenden Erfindung.
  • 8 veranschaulicht in einem Ablaufdiagramm einen beispielhaften dynamischen Ablaufsteuerungsprozess gemäß Aspekten der vorliegenden Erfindung.
  • 9A9C veranschaulichen in Diagrammen eine Aufgabenmigration gemäß Aspekten der vorliegenden Erfindung.
  • 10A10B veranschaulichen Bauteile und den Bauteilen zugehörige thermische Werte gemäß Aspekten der vorliegenden Erfindung.
  • 11 veranschaulicht eine Compiler-Funktionalität gemäß Aspekten der vorliegenden Erfindung.
  • Beste Ausführungsform zur Ausführung der Erfindung
  • Bei der Beschreibung der bevorzugten Ausführungsform der Erfindung, wie sie in den Zeichnungen veranschaulicht sind, wird der Klarheit halber eine spezifische Terminologie benutzt. Es ist indessen nicht beabsichtigt, die Erfindung auf die so gewählten spezifischen Begriffe zu beschränken, und es dürfte einzusehen sein, dass der jeweilige spezifische Begriff sämtliche technischen Äquivalente umfasst, die in einer entsprechenden Weise wirken, um einen entsprechenden bzw. ähnlichen Zweck zu erreichen.
  • Nunmehr wird auf 3A Bezug genommen, in der ein Blockdiagramm eines Grund- bzw. Basis-Verarbeitungsmoduls oder -Prozessormoduls (PE) 300 dargestellt ist, welches entsprechend Aspekten der vorliegenden Erfindung angewandt werden kann. Wie in dieser Zeichnungsfigur veranschaulicht, weist das Prozessorelement 300 vorzugsweise ein Eingangs-/Ausgangs-(UO)-Interface 302, eine Verarbeitungseinheit (PU) 304, eine Steuereinrichtung für einen direkten Speicherzugriff (DMAC) 306 und eine Mehrzahl von Sub-Verarbeitungseinheiten (SPUs) 308 auf, nämlich die Sub- Verarbeitungseinheiten 308a bis 308d. Obwohl vier Sub-Verarbeitungseinheiten 308a bis 308d dargestellt sind, kann das Prozessorelement 300 irgendeine Anzahl derartiger Vorrichtungen enthalten. Ein lokaler (oder interner) PE-Bus 320 überträgt Daten und Anwendungen zwischen der Verarbeitungseinheit 304, den Sub-Verarbeitungseinheiten 308, dem I/O-Interface 302, der DNA-Steuereinrichtung (DMAC) 306 und dem Speicher-Interface 310. Der lokale PE-Bus 320 kann beispielsweise eine konventionelle Architektur aufweisen, oder er kann als Paketvermittlungsnetz realisiert sein. Die Realisierung als Paketvermittlungsnetz erhöht die verfügbare Bandbreite, obwohl sie mehr Hardware erfordert.
  • Das Prozessorelement (PE) 300 kann unter Heranziehung von verschiedenen Verfahren für die Realisierung der digitalen Logik aufgebaut sein. Das Prozessorelement 300 ist jedoch vorzugsweise als einzelne integrierte Schaltung aufgebaut, die eine CMOS-Schaltung auf einem Siliziumsubstrat verwendet. Das Prozessorelement 300 steht in enger Verbindung mit einem Speicher 330 durch eine Speicherverbindung 322 hoher Bandbreite. Der Speicher 330 wirkt vorzugsweise als Hauptspeicher für das Prozessorelement 300. Obwohl der Speicher 330 vorzugsweise ein dynamischer Speicher mit wahlfreiem Zugriff (DRAN) ist, könnte der Speicher 330 unter Verwendung von anderen Einrichtungen realisiert sein, beispielsweise als statischer Speicher mit wahlfreiem Zugriff (SRAM), als magnetischer Speicher mit wahlfreiem Zugriff (MRAM), als optischer Speicher, als holografischer Speicher, etc. Die DNA-Steuereinrichtung 306 und das Speicher-Interface 310 erleichtern die Datenübertragung zwischen dem Speicher 330 und den Sub-Verarbeitungseinheiten 308 sowie der Verarbeitungseinheit 304 des Prozessorelements 300.
  • Die Verarbeitungseinheit 304 kann beispielsweise ein Standard-Prozessor sein, der selbständig zu einer Verarbeitung von Daten und Anwendungen imstande ist. Im Betrieb nimmt die Verarbeitungseinheit 304 eine Ablaufsteuerung und Manipulation der Verarbeitung von Daten und Anwendungen durch die Sub-Verarbeitungseinheiten 308 vor. Die Sub-Verarbeitungseinheiten 308 sind vorzugsweise Einzelbefehls-Multidaten-(SIND)-Prozessoren. Unter der Steuerung der Verarbeitungseinheit 304 können die Sub-Verarbeitungseinheiten 308 die Verarbeitung der Daten und Anwendungen in einer parallelen und unabhängigen Weise ausführen. Die DMA-Steuereinrichtung 306 steuert Zugriffe durch die Verarbeitungseinheit 304 und die Sub-Verarbeitungseinheiten 308 auf die in dem Speicher 330 in einer Zeitmultiplexweise gespeicherten Daten und Anwendungen. Vorzugsweise kann eine Anzahl von Prozessorelementen entsprechend dem Prozessorelement 300 miteinander verbunden oder zusammengepackt werden oder sonst wie verknüpfungsmäßig einander zugeordnet werden, um eine gesteigerte Verarbeitungsleistung bereitzustellen.
  • 3B veranschaulicht eine Verarbeitungsarchitektur, die aus einer Mehrzahl von Prozessorelementen 350 (PE 1, PE 2, PE 3 und PE 4) besteht, welche gemäß Aspekten der vorliegenden Erfindung betrieben werden können. Vorzugsweise befinden sich die Prozessorelemente 350 auf einem einzigen Chip. Die Prozessorelemente 350 können die Subsysteme, wie die Verarbeitungseinheit und/oder die Sub-Verarbeitungseinheiten enthalten oder nicht enthalten, wie sie oben unter Bezugnahme auf das Prozessorelement 300 gemäß 3A erörtert worden sind. Die Prozessorelemente 350 können von derselben Art oder von unterschiedlichen Arten sein, und zwar in Abhängigkeit von den Arten der benötigten Verarbeitung. Die Prozessorelemente 350 können beispielsweise gattungsmäßige Mikroprozessoren, Digital-Signalprozessoren, Grafik-Prozessoren, etc. sein.
  • Die Prozessorelemente 350 sind vorzugsweise mit einem im Zeitmultiplexbetrieb arbeitenden Bus 352 verbunden. Eine Speicher-Steuereinrichtung oder eine DMA-Steuereinrichtung (DMAC) 356 können mit dem im Zeitmultiplex betriebenen Bus 352 durch einen Speicher-Bus 354 verbunden sein. Die DMA-Steuereinrichtung 356 ist mit einem Speicher 358 verbunden, der ein Speicher einer der Arten sein kann, wie sie oben im Zusammenhang mit dem Speicher 330 erörtert worden sind. Eine Eingangs-/Ausgangs-(I/O)-Steuereinrichtung 362 kann ebenfalls durch einen I/O-Bus 360 mit dem im Zeitmultiplexbetrieb genutzten Bus 352 verbunden sein. Die I/O-Steuereinrichtung 362 kann mit einer oder mehreren I/O-Vorrichtungen 364, wie mit Vollbild-Puffern, Disk-Laufwerken, etc. verbunden sein. Es dürfte einzusehen sein, dass die obigen Verarbeitungsmodule und Architekturen lediglich beispielhaft sind und dass verschiedene Aspekte der vorliegenden Erfindung mit anderen Strukturen angewandt werden können, einschließlich, jedoch nicht auf Multiprozessorsysteme der Arten beschränkt, wie sie angegeben sind im US-Patent 6.526.491 mit dem Titel „Speicherschutzsystem und Verfahren für eine Computer-Architektur für Breitband- Netzwerke", ausgegeben am 25. Februar 2003, und in der US-Anmeldung Nr. 09/816.004 mit dem Titel „Computer-Architektur und Software-Zellen für Breitband-Netzwerke,", eingereicht am 22. März 2001. Diese Dokumente werden hier ausdrücklich durch Bezugnahme einbezogen.
  • 4 veranschaulicht den Aufbau und die Funktionsweise einer Sub-Verarbeitungseinheit 400, die gemäß Aspekten der vorliegenden Erfindung angewandt werden kann. Die Sub-Verarbeitungseinheit 400 enthält vorzugsweise einen lokalen Speicher 402, Register 404, eine oder mehrere Gleitkommaeinheiten 406 und eine oder mehrere Ganzzahleneinheiten 408. Die Komponenten der Sub-Verarbeitungseinheit 400 bestehen ihrerseits aus Subkomponenten, wie dies nachstehend beschrieben wird. In Abhängigkeit von der erforderlichen Verarbeitungsleistung kann eine größere oder kleinere Anzahl von Gleitkommaeinheiten (FPUs) 406 und Ganzzahleneinheiten (IUs) 408 angewandt werden. Bei einer bevorzugten Ausführungsform enthält der lokale Speicher 402 eine Speicherkapazität von zumindest 128 Kilobyte auf, und die Kapazität der Register 404 beträgt 128 × 128 Bits. Die Gleitkommaeinheiten 406 arbeiten vorzugsweise mit einer Geschwindigkeit von zumindest 32 Milliarden Gleitkommaoperationen pro Sekunde (32 GFLOPS), und die Ganzzahleneinheiten 408 arbeiten vorzugsweise mit einer Geschwindigkeit von zumindest 32 Milliarden Operationen pro Sekunde (32 GOPS).
  • Der lokale Speicher 402 ist vorzugsweise kein Cachespeicher. Eine Cache-Zusammenhangsunterstützung für die Sub-Verarbeitungseinheit 400 ist unnötig. Stattdessen ist der lokale Speicher 402 vorzugsweise als SRAM-Speicher aufgebaut. Eine Verarbeitungseinheit 204 kann eine Cache-Zusammenhangsunterstützung für einen direkten Speicherzugriff erfordern, der durch die Verarbeitungseinheit 204 initiiert wird. Die Cache-Zusammenhangsunterstützung ist indessen für den durch die Sub-Verarbeitungseinheit 400 initiierten direkten Speicherzugriff oder für Zugriffe auf oder von externen Vorrichtungen nicht erforderlich.
  • Die Sub-Verarbeitungseinheit 400 enthält ferner einen Bus 410 für die Übertragung von Anwendungen und Daten zu und von der Sub-Verarbeitungseinheit 400 über ein Bus-Interface (Bus-I/F) 412. Bei einer bevorzugten Ausführungsform weist der Bus 410 eine Breite von 1024 Bits auf. Die Sub-Verarbeitungseinheit 400 enthält ferner interne Busleitungsanordnungen 414, 416 und 418. Bei einer bevorzugten Ausführungsform weist der Bus 414 eine Breite von 256 Bits auf und sorgt für eine Übertragung zwischen dem lokalen Speicher 402 und den Registern 404. Die Busleitungsanordnungen 416 und 418 sorgen für Übertragungen zwischen den Registern 404 und den Gleitkommaeinheiten 406 bzw. zwischen den Registern 404 und den Ganzzahleneinheiten 408. Bei einer bevorzugten Ausführungsform beträgt die Breite der Busleitungsanordnungen 416 und 418 von den Registern 404 zu den Gleitkomma- oder Ganzzahleneinheiten 384 Bits, und die Breite der Busleitungsanordnungen 416 und 418 von den Gleitkomma- oder Ganzzahleneinheiten zu den Registern 404 beträgt 128 Bits. Die größere Breite der Busleitungsanordnungen von den Registern 404 zu den Gleitkommaeinheiten 406 und den Ganzzahleneinheiten 408 nimmt den größeren Datenfluss von den Registern 404 während der Verarbeitung auf. Bei einem Beispiel werden maximal drei Wörter für jede Berechnung benötigt. Das Ergebnis der jeweiligen Berechnung ist normalerweise jedoch lediglich ein Wort.
  • Nunmehr wird auf 1 Bezug genommen, in der Bauteile 102 veranschaulicht sind, die auf oder in einem Substrat 100 gebildet sind. Das Substrat 100 und die Bauteile 102 können Teil oder die Gesamtheit eines Computerchips darstellen. Die Bauteile 102 können Verknüpfungsvorrichtungen oder eine andere Schaltung sein. Eines oder mehrere der Bauteile 102 in einem Bereich des Substrats 100 können gemeinsam als eine Einheit 104 zugehörig sein. Die Einheiten 104 und Gruppen 106 von Einheiten 104 können außerdem einander zugeordnet sein, um beispielsweise Prozessorelemente 300, Verarbeitungseinheiten 304, Sub-Verarbeitungseinheiten 308, Prozessorelemente 350 oder Subkomponenten davon zu bilden. So kann beispielsweise eine Gruppe von Einheiten 106 eine Sub-Verarbeitungseinheit 400 umfassen, und Einheiten 104 innerhalb der Gruppe 106 können den lokalen Speicher 402, die Register 404, die Gleitkommaeinheit 406, die Ganzzahleneinheit 408 und das Bus-Interface 412 umfassen. Jede Einheit 104 kann wiederum andere Einheiten 104 sowie Bauteile bzw. Bauelemente 102, wie DRAM-Speicherzellen, Verknüpfungsglieder, Puffer, etc. aufweisen. Obwohl Bauteile bzw. Bauelemente 102, Einheiten 104 und Gruppen 106 verwendet worden sind, um verschiedene Ebenen der Komplexität zu veranschaulichen, wird der Begriff „Bauteil" bzw. „Bauelement" auch allgemeiner genutzt, um einen Bezug zu Vorrichtungen in sämtlichen Ebenen herzustellen, von den grundsätzlichen Baublöcken (z. B. Transistor und Kondensatoren) bis zu dem Prozessorelement 300 oder dem Prozessorelement 350 und dem gesamten Computerchip selbst. In typischer Weise sind die Bauteile als integrierte Schaltungen aufgebaut, die auf dem Substrat 100 einen komplementären Metalloxid-Halbleiter (CMOS) verwenden. Das Substrat 100 ist vorzugsweise ein Siliziumsubstrat. Alternative Materialien für das Substrat 100 enthalten, ohne darauf beschränkt zu sein, Galliumarsenid, Gallium-Aluminium-Arsenid und andere sog. III-B-Verbindungen, die eine weite Vielfalt von Dotiersubstanzen verwenden. Die Bauteile bzw. Bauelemente 102 könnten auch unter Verwendung eines supraleitenden Materials realisiert sein, beispielsweise als schnelle RSFQ-(rapid-single-flux-quantum)-Logikschaltung.
  • Wenn die Bauteile Operationen ausführen, wie eine Verarbeitung von Befehlen oder Aufgaben (beispielsweise eine Reihe von Befehlen), erzeugen sie häufig Wärme. Der Begriff „Operation" oder „Aufgaben", wie er hier benutzt wird, bezieht sich auf auszuführende Aktivitäten und umfasst, ohne darauf beschränkt zu sein, Befehle, Aufgaben und Programme eines einzelnen Schrittes oder einer Mehrzahl von Schritten.
  • Gemäß einem Aspekt der Erfindung kann durch ein Bauteil bzw. Bauelement auszuführenden Operationen ein thermisches Merkmal zugehörig bzw. zugeordnet sein, so dass der thermische Merkmalswert zu der Wärmemenge in Beziehung steht, deren Erzeugung durch das betreffende Bauteil erwartet wird, wenn es die betreffende Operation ausführt. Vorzugsweise basiert das thermische Merkmal auch auf der Zeit. So kann der Wert des Merkmals beispielsweise die Wärmemenge darstellen, die über eine festliegende Zeitspanne hinweg erzeugt wird.
  • Das thermische Merkmal kann entweder gemessen oder geschätzt sein. So kann beispielsweise ein Thermometer oder eine andere Temperatur-Feststellvorrichtung verwendet werden, um tatsächlich die Temperatur der Einheit zu messen, wenn diese eine bestimmte Operation ausführt.
  • Das thermische Merkmal wird vorzugsweise auf der Grundlage des Leistungsverbrauchs der Bauteile geschätzt. Dabei können beispielsweise einige Bauteile mehr Leistung benötigen, um zu arbeiten, und sie besitzen ein höheres thermisches Merkmal. Andere Bauteile können denselben Leistungsverbrauch haben, sind jedoch dichter zusammengepackt, was dazu führen würde, dass mehr Wärme erzeugt wird als durch Bauteile, die gut beabstandet sind. In dieser Hinsicht kann das thermische Merkmal auf der Grundlage beider Faktoren geschätzt werden; in diesem Fall basiert das thermische Merkmal auf der Leistungsdichte des Bauteiles oder der Gruppen von Bauteilen bzw. Bauelementen. Somit kann in einigen Fällen das thermische Merkmal diejenige Wärme, deren Erzeugung erwartet wird, wenn das Bauteil bzw. Bauelement eine Operation ausführt, diejenige Wärmemenge, die über eine Zeitspanne hinweg erzeugt wird, den allgemeinen bzw. normalen Leistungsverbrauch eines Bauteiles bzw. eines Bauelements, die Leistungsdichte eines Bauteiles bzw. Bauelements und die Leistungsdichte von verwandten (z. B. physikalisch oder verknüpfungsmäßig verwandten) Gruppen von Bauteilen bzw. Bauelementen widerspiegeln. Um ein effektives thermisches Management des Chips zu erzielen, kann es erwünscht sein, den Leistungsverbrauch für jedes Bauteil bzw. Bauelement aufzulisten. Der Bauteil-Leistungsverbrauch kann während der Chipentwicklung geschätzt werden. So kann beispielsweise eine Schaltungssimulation des Chips, der Subsysteme und/oder der einzelnen Bauteile bzw. Bauelemente vorgenommen werden.
  • Ferner werden bzw. sind die thermischen Merkmale bestimmten Bauteilen bzw. Bauelementen zugeordnet. Falls beispielsweise in eine Operation – wie in eine Ganzzahlen-Addieroperation – lediglich die Ganzzahleneinheit 408 einbezogen ist, dann kann das thermische Merkmal speziell der Ganzzahleneinheit 408 zugeordnet werden. In entsprechender Weise kann das thermische Merkmal einer Gleitkommaoperation speziell der Gleitkommaeinheit 406 zugeordnet werden. Andere Operationen können eine Reihe von Bauteilen bzw. Bauelementen einschließen, wie bei der Verschiebung von Daten von dem lokalen Speicher 402 zum Register 404. Noch weitere Operationen können sämtliche Bauteile bzw. Bauelemente einschließen, oder es kann schwierig sein, eine Zuordnung zu irgendeiner bestimmten Reihe von Bauteilen bzw. Bauelementen vorzunehmen. So kann beispielsweise die Abgabe einer 3-D-Figur sämtliche Bauteile in der Sub-Verarbeitungseinheit 400 einschließen; in diesem Fall wird das thermische Merkmal auf sämtliche Bauteile in der Sub-Verarbeitungseinheit 400 angewandt. Alternativ kann es schwierig sein vorherzusagen, wie viel Wärme durch die einzelnen Bauteile erzeugt wird, wenn eine Operation ausgeführt wird; in diesem Fall kann ein thermisches Merkmal für die Operation generell einer Gruppe von Bauteilen zugewiesen werden. Die nachstehende Tabelle veranschaulicht einen Probesatz von Operationen, Bauteilen und thermischen Merkmalen.
    Operation thermisches Merkmal Bauteil(e)
    3-D-Abgabe 12 SPU 400
    Ganzzahlen-Addition 3 IU 408
    Gleitkomma-Addition 7 FPU 406
    Speicher-Verschiebung 2 Speicher 402, Register 404
  • Bei einem bevorzugten Beispiel kann das thermische Merkmal für ein bestimmtes Bauteil (oder eine Reihe von Bauteilen) wie folgt berechnet werden: TA = k·(P/S).
  • TA, das thermische Merkmal, ist gleich der Leistungsdichte oder dem Leistungsverbrauch (P) eines Bauteiles dividiert durch die Größe der Anschluss- bzw. Grundfläche (S) des Bauteiles, multipliziert mit einem Faktor oder einer Konstanten (k), die für eine thermische Schätzung herangezogen wird.
  • Gemäß einem Aspekt der Erfindung verwendet ein Programmcompiler die thermischen Merkmale, um zu helfen, eine Überhitzung eines Bauteiles zu verhindern.
  • Der Compiler kann durch Software, Firmware, Hardware oder durch eine Kombination davon realisiert sein. Ihm kann ein Verarbeitungselement, wie eine Prozessoreinheit 300 (oder eine Prozessoreinheit 350) oder eine Subkomponente davon zugeordnet sein (z. B. einbezogen sein). 11 veranschaulicht die Compilerfunktionalität gemäß Aspekten der Erfindung. Wie im Stand der Technik bekannt, erhalten Compiler einen Quellcode zugeführt und erzeugen einen Objektcode, der auf einem Rechensystem laufen kann. Gemäß Aspekten der vorliegenden Erfindung erhält der Compiler einen Sourcecode sowie thermische Merkmale, die sich auf Operationen und/oder Bauteile beziehen. Der Compiler erzeugt vorzugsweise auf der Grundlage der thermischen Merkmale einen Objektcode. Da der Compiler die Kompilation durch Zählen der Anzahl von Befehlen managt, wird das thermische Merkmal bzw. werden die thermischen Merkmale des durch den Compiler kompilierten Objektcodes statisch geschätzt. Vorzugsweise wird eine erweiterte thermische Merkmalsbestimmung unter Heranziehung einer „Profilkorrektureinrichtung" vorgenommen, bei der es sich um eine Leistungsüberwachungsvorrichtung handelt, welche die dynamische Ausführung der Befehle zählen und über die Arbeits- bzw. Betriebsfrequenz des jeweiligen Bauteiles berichten kann. Die Profilkorrekturvorrichtung kann genauere thermische Schätzungen für den Compiler liefern, was seinerseits zu einer thermisch optimierten Objektcodeerzeugung führen wird.
  • 2A2B veranschaulichen, wie ein Compiler oder eine andere Ablaufsteuerung bzw. Steuerungsvorrichtung Operationen so leiten kann, dass eine Verschlechterung der Verarbeitung oder eine Beschädigung bezüglich der Bauteile vermieden wird. Zum Zwecke der Veranschaulichung sei angenommen, dass der thermische Schwellwert (Tmax) eine Temperatur darstellt, die zu überschreiten unerwünscht ist. Die dreieckigen Segmente A, B und C stellen Befehle dar, die durch ein Bauteil ausgeführt werden. So stellen die Segment A und B beispielsweise rechenintensive Befehle oder Aufgaben dar, die eine signifikante Wärmemenge erzeugen, während das Segment C beispielsweise nicht rechenintensiv ist und nicht so viel Wärme erzeugt wie entweder A oder B. Genauer gesagt sei angenommen, dass Aufgaben A, B und C Teile der Gesamtrechnung (2·3) + (4·5) + (6 + 7) sind, wobei durch die Aufgabe A die Rechnung (2·3), durch die Aufgabe B die Rechnung (4·5) und durch die Aufgabe C die Rechnung (6 + 7) repräsentiert werden. Wie in 2A veranschaulicht, kann in dem Fall, dass die Aufgaben in der Reihenfolge A, B und C ausgeführt werden, die Temperatur den Wert Tmax überschreiten. Da A und B aufeinanderfolgend ausgeführt werden, wird hier der thermische Schwellwert Tmax durchbrochen.
  • Es ist im Stand der Technik bekannt, dass ein Compiler häufig im Hinblick darauf mit Vorsicht zu betreiben ist, wie er gewisse Befehle ordnet. Gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung kann der Compiler die Auflistung auf der Grundlage der thermischen Merkmale der Operationen selektiv neu ordnen. Vorzugsweise bestimmt der Compiler zunächst, ob irgendeiner der Operationen A, B oder C ein thermisches Merkmal zugeordnet ist. Falls dies der Fall ist, kann der Compiler selektiv die Operationen in einen Objektcode unter Heranziehung einer Reihenfolge kompilieren, durch die ein Überschreiten von Tmax verhindert wird. Beim obigen Beispiel kann der Compiler die Reihenfolge ändern, in der die Gleichung berechnet wird, ohne das Endergebnis zu ändern. So kann er beispielsweise die Operationen in der Reihenfolge A, C und B auflisten. Wenn die Reihenfolge der Befehle geändert ist, dann überschreitet, wie dies somit aus 2B zu ersehen ist, die Temperatur nicht den Wert Tmax.
  • Es sei darauf hingewiesen, dass der thermische Schwellwert Tmax nicht notwendigerweise eine Ausfalltemperatur ist. Vielmehr kann Tmax ein Aufbaukriterium sein, welches beispielsweise auf der Grundlage von bewerteten Arbeits- bzw. Betriebsparametern ausgewählt ist.
  • Wenn eine Neuordnung von Operationen erfolgt, beobachtet der Compiler überdies vorzugsweise die Bauteile, die die Rechnungen ausführen. So kann beispielsweise eine Reihe von Operationen dazu führen, dass ein Teil der Sub-Verarbeitungseinheit 400 sich überhitzt (wie die Gleitkommaeinheit 406), während die anderen Teile der Sub-Verarbeitungseinheit kühl bleiben (wie die Gleitkommaeinheit 408). Der Compiler widmet sich vorzugsweise dieses Problems durch den Versuch, Operationen so aufzulisten, dass sie auf die verschiedenen Bauteile der Sub-Verarbeitungseinheit gleichmäßig verteilt sind. Eine Art und Weise, in der der Compiler dies vornehmen kann, besteht darin, die Temperatur der Bauteile zu verfolgen oder zu simulieren, wenn sie die Programmoperationen ausführen, indem die thermischen Merkmale herangezogen werden. So kann beispielsweise bezüglich des Bauteils X angenommen werden, dass es sich mit einer Rate von 2 thermischen Merkmalspunkten pro Taktzyklus abkühlt und einen Schwellwert von 8 thermischen Merkmalspunkten besitzt, bevor es sich überhitzt. Falls eine Operation, die dem betreffenden Bauteil zughörig ist, ein thermisches Merkmal von 5 Punkten pro Zyklus aufweist, dann würde bezüglich des Bauteiles angenommen werden, dass es sich überhitzt, falls die betreffende Operation drei Mal in einer Reihe ausgeführt würde (5-2 Punkte nach dem ersten Zyklus führen zu einem gegenwärtigen thermischen Index von 3; 5-2 Punkte nach dem zweiten Zyklus fügen weitere 3 Punkte hinzu, was zu einem aktuellen thermischen Gesamtindex von 6 führt; 5-2 Punkte nach dem zweiten Zyklus fügen weitere 3 Punkte hinzu, was zu einem aktuellen thermischen Gesamtindex von 9 führt). Nachdem ermittelt ist, dass das Bauteil X sich bei einer derartigen Auflistung überhitzen kann, würde der Compiler versuchen, eine Operation aufzulisten, die durch ein anderes Bauteil auszuführen ist, während das Bauteil X inaktiv bleibt und sich abkühlt.
  • Alternativ kann der Compiler versuchen, eine andere Operation auszuwählen, deren thermisches Merkmal niedriger ist als die Rate, die bezüglich der Abkühlung des Bauteiles erwartet wird. Falls der Compiler beispielsweise bestimmt, dass das Bauteil X sich bei der gegenwärtigen Auflistung von Operationen überhitzen kann, kann er versuchen, eine Operation mit einem thermischen Merkmal von 1 (welches dem Bauteil ermöglichen würde, sich etwas abzukühlen, und welches so gegeben ist, dass die Abkühlung mit einer Rate von 2 thermischen Merkmalen pro Zyklus erfolgt) zwischen die Operationen mit einem thermischen Merkmal von 5 einzufügen.
  • In dem Ausmaß, in dem Bauteile in anderen Bauteilen enthalten sind, kann der Compiler ferner das thermische Merkmal eines größeren Bauteils dessen Sub-Bauteilen zuordnen oder von einem Sub-Bauteil zu dessen Hauptbauteil. Wenn beispielsweise, wie dies in 10A veranschaulicht ist, die einzelnen Bauteile gleichzeitig Operationen ausführen und thermische Merkmale von 2, 3, 2 bzw. 7 aufweisen, kann das thermische Merkmal für die Sub-Verarbeitungseinheiten bei all jenen Operationen mit 14 berücksichtigt werden. Demgegenüber kann ein thermisches Merkmal, welches einer gesamten Sub-Verarbeitungseinheit 400 beifügbar ist, den einzelnen Bauteilen zugeordnet werden. Wie in 10B veranschaulicht, kann in dem Fall, dass das thermische Merkmal einer 3-D-Darstellung gegeben ist mit 12 und dass es der gesamten Sub-Verarbeitungseinheit beifügbar ist, der Wert gleichmäßig den Komponenten innerhalb der Sub-Verarbeitungseinheit 400 zugeordnet werden. Andere Variationen in der Zuordnung sind möglich, einschließlich von Zuordnungen zwischen und unter Bauteilen, die durch eine Gehäusebeziehung, durch logische Funktionen und durch physikalische Nähe miteinander in Beziehung stehen.
  • Es kann ersehen werden, dass die Wärmewerte von verschiedenen Bauteilen nicht nur die momentanen Operationen der einzelnen Bauteile widerspiegeln, sondern auch über die Zeit hinweg kumulativ und für Sätze von Bauteilen gehäuft sein können. Unter Berücksichtigung dieser Faktoren kann der Compiler effektiv Operationen auflisten, um den thermischen Schwellwert Tmax zu meiden.
  • Vorzugsweise ist dem Computerchip, welches die verschiedenen Bauteile bzw. Bauelemente enthält, ein Kühlmerkmal zugeordnet. Das Kühlmerkmal hängt von den spezifischen Eigenschaften bzw. Merkmalen des Kühlsystems des Computerchips ab.
  • So hängt das Kühlmerkmal vorzugsweise beispielsweise von der Chippackung und gegebenenfalls von einer Kühlvorrichtung (wie einer Wärmesenke oder einem Gebläse) ab. Falls das Kühlsystem lediglich einen Zustand für die Kühleinrichtung aufweist (z. B. dass das Gebläse stets bei einer festgelegten Drehzahl arbeitet), wird das Kühlmerkmal festliegen. Falls der Zustand des Kühlsystems geändert werden kann, wie durch Ändern der Drehzahl des Gebläses, ist das Kühlmerkmal vorzugsweise dynamisch, und es kann festgelegt oder aktualisiert werden, wenn das Kühlsystem den Arbeitszustand der Kühlvorrichtung ändert. Bei einer Ausführungsform nutzt der Compiler ein festliegendes Kühlmerkmal, welches auf der Grundlage eines typischen Arbeitszustands der Kühlvorrichtung berechnet ist. Der Compiler benutzt das Kühlmerkmal, wenn die Dichte von Operationen berechnet wird, die zu bestimmten Bauteilen gehören. Vorzugsweise nimmt der Compiler auch eine Berücksichtigung hinsichtlich der Wärmeableitungseigenschaften der Chippackung vor. Bei einer weiteren Ausführungsform wendet der Compiler oder die Profilkorrekturvorrichtung ein dynamisches Kühlmerkmal an, um dem Compiler zu helfen, eine Objektcodeerzeugung auszuführen. Die nachstehende Tabelle veranschaulicht eine beispielhafte Auflistung für eine Ganzzahlenoperation, die durch eine bestimmte Ganzzahleneinheit (IU) 408 und einen bestimmten lokalen Speicher (LS) 402 auf der Grundlage von thermischen Merkmalen und Kühlmerkmalen verarbeitet wird.
    Befehls-# Befehl, verarbeitet durch IU LS
    1 LS 0 2
    2 IU 3 1
    3 LS 2 3
    4 IU 5 2
    5 Nop 4 1
    6 IU 7 0
    7 IU 10 0
    8 anderes 9 0
    9 Nop 8 0
    10 Nop 7 0
    - - - -
  • Bezüglich der obigen Reihe von Befehlen wird angenommen, dass das thermische Merkmal der Ganzzahleneinheit (IU) 408 gegeben ist mit 3, dass das Kühlmerkmal des Chips gegeben ist mit 1 und dass der thermische Schwellwert der Ganzzahleneinheit (IU) 408 gegeben ist mit 10. In der am weitesten links stehenden Spalte ist die Befehlsnummer angegeben; in der zweiten Spalte ist das Bauteil bzw. Bauelement angegeben, welches den betreffenden Befehl verarbeitet, und die beiden Spalten auf der rechten Seite der Tabelle veranschaulichen die erzeugte Wärme oder die Temperatur des Bauteils nach Verarbeiten des Befehls. So wird beispielsweise der Befehl 1 durch den lokalen Speicher LS erfasst, was zu einem Wärmewert von 2 führt, während die Ganzzahleneinheit IU bei Null verbleibt. Der Befehl 2 wird von der Ganzzahleneinheit IU verarbeitet, wonach die Ganzzahleneinheit IU einen Wärmewert von 3 aufweist, und der lokale Speicher LS hat sich auf einen Wärmewert von 1 abgekühlt. Die Verarbeitung setzt sich bis zum Befehl 5 fort, der „keine Operation" ist (ein Nop-Befehl). Dies ermöglicht der Ganzzahleneinheit IU und dem lokalen Speicher LS, sich um bzw. auf einige Grad abzukühlen. Die Ganzzahleneinheit verarbeitet die Befehle 6 und 7, womit ihr Wärmewert auf den Schwellwert ansteigt. Um ein Überschreiten des Schwellwertes zu verhindern, verarbeitet vorzugsweise ein anderes Bauteil („anderes") den nächsten Befehl. Die Profilkorrekturvorrichtung kann beispielsweise die Ausführung der Befehle durch die Ganzzahleneinheit IU und den lokalen Speicher LS überwachen und die Information an den Compiler melden. Der Compiler kann diese Information in Verbindung mit den thermischen Merkmalen und dem Kühlmerkmal heranziehen, um den Befehl 8 durch eine andere Ganzzahleneinheit IU verarbeiten zu lassen.
  • Nunmehr wird auf 5 Bezug genommen, in der eine Multischlangen-Auflistungsmethodik 500 gemäß Aspekten der vorliegenden Erfindung veranschaulicht ist. Wie aus 5 zu ersehen ist, sind einer Ablaufsteuerung 502 vorzugsweise zwei Schlangen zugehörig. Der Einfachheit halber wird die erste Schlange hier als „heiße Schlange" 504 bezeichnet, und die zweite Schlange wird hier als „kühle Schlange” 506 bezeichnet. Die Schlangen 504, 506 können in vielen unterschiedlichen Weisen realisiert sein, beispielsweise als Datenstrukturen oder als eine kontinuierliche oder diskontinuierliche Sammlung in einem Speicher. Bei einem Beispiel, bei dem die Sub-Verarbeitungseinheiten 400 verwendet werden, sind die Schlangen 504, 506 außerhalb der Sub-Verarbeitungseinheiten 400 realisiert. Die Schlangen 504, 506 können auch außerhalb der Verarbeitungseinheit 304 oder des Prozessorelements 300 (oder des Prozessorelements 350) realisiert sein, beispielsweise in Zuordnung zu dem Speicher 330 (oder zu dem Speicher 358). Bei einem weiteren Beispiel sind die Schlangen 504, 506 außerhalb der Sub-Verarbeitungseinheiten 400 realisiert. In wünschenswerter Weise können die Schlangen 504, 506 in Zuordnung zu dem lokalen Speicher 402 oder den Registern 404 realisiert sein. So kann beispielsweise die heiße Schlange 504 in Verbindung mit dem lokalen Speicher 402 einer ersten Sub-Verarbeitungseinheit 400 realisiert sein, und die kühle Schlange 506 kann in Verbindung mit dem lokalen Speicher 402 einer zweiten Sub-Verarbeitungseinheit 400 realisiert sein. In dem Fall, dass eine Sub-Verarbeitungseinheit 400 eine Mehrzahl von lokalen Speichern 402 aufweist, kann die heiße Schlange 504 in einem ersten Speicher der lokalen Speicher 402 gespeichert werden bzw. sein, während die kühle Schlange 506 in einem zweiten Speicher der lokalen Speicher 402 in derselben Sub-Verarbeitungseinheit 400 gespeichert sein kann. Alternativ können sowohl die heiße Schlange 504 als auch die kühle Schlange 506 in demselben lokalen Speicher 402 oder in demselben außerhalb der Sub-Verarbeitungseinheit 400 oder außerhalb der Prozessoreinheit 300 befindlichen Speicher realisiert sein. Falls die Schlangen 504, 506 mittels der Register 404 realisiert sind, sind verschiedene Alternativen möglich. In einem Fall kann die heiße Schlange 504 mittels des Registers 404 einer ersten Sub-Verarbeitungseinheit 400 realisiert sein, und die kühle Schlange 506 kann mittels des Registers 404 einer zweiten Sub-Verarbeitungseinheit 400 realisiert sein. Die Schlangen 504, 506 können auch in einer Zeitmultiplexanordnung realisiert sein, beispielsweise in dem Fall, dass eine der Schlangen 504, 506 in einem Speicher während einer ersten Zeitspanne gespeichert wird und dass dann die andere Schlange der Schlangen 504, 506 in dem Speicher während einer zweiten Zeitspanne gespeichert wird.
  • Die Ablaufsteuerung 502 kann die heiße Schlagen 504 und die kühle Schlange 506 mit Befehlen, Aufgaben und anderen Operationen in Abhängigkeit von thermischen Merkmalen versehen. Vorzugsweise besitzt die Ablaufsteuerung 502 Zugriff auf eine thermische Merkmale enthaltende Nachschlagtabelle. Die Ablaufsteuerung 502 kann vor und/oder während einer Ablaufoperation arbeiten. Die Ablaufsteuerung 502 kann eine Aufgabe aus der heißen Schlange 504 oder aus der kühlen Schlange 506 in Abhängigkeit von der aktuellen (oder vorhergesagten) Temperatur eines Bauteiles auswählen. Bei einem bevorzugten Beispiel kann die Ablaufsteuerung 502 irgendeine Aufgabe entweder aus den heißen oder kühlen Schlangen 504, 506 auswählen, solange die gegenwärtige Temperatur der Vorrichtung nicht einen Betriebsschwellwert überschreitet. Bei einem anderen bevorzugten Beispiel wählt die Ablaufsteuerung 502 Aufgaben aus der heißen Schlange 504 vor der Auswahl von Aufgaben aus der kühlen Schlange 506 aus, falls der Betriebsschwellwert nicht überschritten ist und falls sowohl heiße wie auch kühle Aufgaben verfügbar sind. Lediglich beispielhaft sei angemerkt, dass Gleitkommabefehlen oder -aufgaben, die eine Mehrzahl von Operationen erfordern, ein relativ hoher oder positiver thermischer Merkmalswert zugeordnet werden kann. Diese Operationen würden in die heiße Schlange 504 platziert werden, beispielsweise wie durch die Aufgaben H1 ... HN zu sehen ist. Anderen Operationen, wie Ganzzahlen-Operationen und einzelnen Operationsaufgaben kann ein relativ niedriges oder negatives thermisches Merkmal zugeordnet werden. Derartige Operationen würden in der kühlen Schlange 506 untergebracht werden, wie dies beispielsweise durch die Aufgaben C1 ... CN veranschaulicht ist. Das thermische Merkmal einer Aufgabe wird vorzugsweise unter Heranziehung einer Information von dem Compiler und/oder der Profilkorrekturvorrichtung festgelegt, von denen eine die Arbeitsfrequenz des jeweiligen Bauteils melden kann, welches die Aufgabe ausführt. Vorzugsweise sind in das thermische Merkmal der Aufgabe die Arbeitsfrequenz (z. B. die Nutzungsfrequenz) des Bauteiles bzw. der Bauteile, das thermische Merkmal des Bauteiles bzw. der Bauteile und das Kühlmerkmal eingeschlossen. Gemäß einer Ausführungsform nutzt eine einfache Ablaufsteuerung lediglich das thermische Gesamtmerkmal eines Bauteils, welches über Sub-Bauteile verfügt, wie die Sub-Verarbeitungseinheit SPU 400. Gemäß einer anderen Ausführungsform verwaltet eine fortschrittlichere Ablaufsteuerung die thermischen Merkmale von Sub-Bauteilen der Sub-Verarbeitungseinheit, wie des lokalen Speichers LS 402, der Gleitkommaeinheit FPU 406 und der Ganzzahleneinheit 408. Die nachstehende Tabelle veranschaulicht thermische Merkmale für eine Ganzzahleneinheit IU, eine Gleitkommaeinheit FPU und einen lokalen Speicher LS in einer bestimmten Sub-Verarbeitungseinheit SPU für eine 3-D-Aufgabe und eine MPEG-2-Aufgabe.
    Aufgabe Ganzzahleneinheit IU Gleitkommaeinheit FPU lokaler Speicher LS Gesamt (SPU)
    3-D 3 7 2 12
    MPEG-2 2 0 0 2
  • Eine einfache Ablaufsteuerung, die lediglich das thermische Gesamtmerkmal für die Sub-Verarbeitungseinheit heranzieht, wird feststellen, dass sie über einen Wert von 12 verfügt, der den thermischen Schwellwert der Sub-Verarbeitungseinheit SPU überschreiten kann. Somit kann die einfache Ablaufsteuerung lediglich die Aufgabe MPEG-2 für eine Ausführung durch die Sub-Verarbeitungseinheit SPU auswählen. Im Gegensatz dazu überwacht eine erweiterte Ablaufsteuerung vorzugsweise die Sub-Bauteile der Sub-Verarbeitungseinheit. In diesem Fall kann die erweiterte Ablaufsteuerung erkennen, dass kein Sub-Bauteil seinen thermischen Schwellwert überschreitet, so dass die 3-D-Aufgabe ausgewählt werden kann. Bei einer Alternative kann die Ablaufsteuerung die Aufgaben oder die Operationen innerhalb der Aufgaben neu ordnen, so dass die Aufgabe MPEG-2 in einer gewissen Stufe ausgeführt wird, was der Gleitkommaeinheit FPU Zeit zur Abkühlung gibt. Diese Flexibilität stellt ein leistungsstarkes Werkzeug dar, welches Sub-Bauteilen, Bauteilen und/oder dem gesamten Multi-Verarbeitungssystem ermöglicht, ohne Überhitzung zu arbeiten.
  • Wie für einen Durchschnittsfachmann ersichtlich sein dürfte, kann die Ablaufsteuerung 502 durch Hardware, Firmware oder Software realisiert sein. Vorzugsweise ist die Ablaufsteuerung 502 Hardware-basiert und in der Verarbeitungseinheit (PU) 204 realisiert. Bei einer anderen bevorzugten Alternative ist die Ablaufsteuerung 502 Software-basiert als Teil des Betriebssystems der Gesamt-Rechenvorrichtung. Auf die heiße Schlange 504 und die kühle Schlange 506 ist vorzugsweise für eines oder mehrere Prozessorelemente (PE1 ... PEN), Verarbeitungseinheiten (PU1 ... PUN) und/oder Sub-Verarbeitungseinheiten (SPU1 ... SPUN) während einer Programmausführung über einen Bus 508 zugreifbar. Gemäß einer Ausführungsform enthält jedes Prozessorelement PE, jede Verarbeitungseinheit PU und/oder jede Sub-Verarbeitungseinheit SPU vorzugsweise thermische Sensoren (Temperatur-Feststelleinrichtungen) zur Überwachung ihrer Temperatur, oder alternativ erfolgt eine Schätzung der aktuellen Temperatur. Gemäß einer weiteren Ausführungsform enthält jedes Prozessorelement vorzugsweise einen thermischen Sensor und einen Analog-Digital-(A/D)-Wandler, um für eine digitale Schätzung der Temperatur zu sorgen. Jeder Kern in dem Prozessorelement kann vorzugsweise seine eigene digitalisierte Temperatur zu irgendeiner Zeit lesen. Die Prozessorelemente, die Verarbeitungseinheiten und die Sub-Verarbeitungseinheiten weisen vorzugsweise jeweils einen thermischen Schwellwert Tmax auf, der von Bauteil zu Bauteil differieren kann. Falls thermische Sensoren nicht verfügbar sind, kann die gegenwärtige bzw. aktuelle Temperatur durch das thermische Merkmal der Aufgabe und das gegenwärtige bzw. aktuelle Kühlmerkmal berechnet werden.
  • Die Ablaufsteuerung 502 kann außerdem Operationen ohne Heranziehung von Schlangen leiten. Die Operationen können im Speicher gespeichert sein, und die Ablaufsteuerung 502 kann einige der Operationen in Abhängigkeit von den thermischen Merkmalen den Prozessoren zuweisen. Wenn beispielsweise zwei Operationen vorliegen, kann die Ablaufsteuerung die beiden Operationen den beiden gesonderten Verarbeitungselementen 300 (oder anderen Verarbeitungsvorrichtungen) auf der Grundlage der thermischen Merkmale zuweisen. Die Operationen können in gesonderten Speichern (oder in gesonderten Bereichen eines einzigen Speichers) gespeichert sein. Die erste Operation kann in einem ersten Speicher (oder in einem ersten Bereich eines einzigen Speichers) gespeichert sein, und die zweite Operation kann in einem zweiten Speicher (oder in einem zweiten Bereich des einzigen Speichers) gespeichert sein. Es ist nicht notwendig, die beiden Operationen gleichzeitig zu speichern; vielmehr können sie im selben Speicher oder in unterschiedlichen Speichern während unterschiedlicher Zeitspannen (und alternativ während festliegender oder variabler kontinuierlicher oder diskontinuierlicher Zeitspannen) gespeichert sein. Überdies dürfte einzusehen sein, dass die beiden Speicher (oder die beiden Bereiche eines einzigen Speichers) nicht notwendigerweise bestimmte Speicher sind, die auf bestimmte Operationen oder auf bestimmten thermischen Merkmalen zugehörige Operationen beschränkt sind. Somit kann der erste Speicher (oder der erste Bereich des einzigen Speichers) die zweite Operation speichern, und der zweite Speicher (oder der zweite Bereich des einzigen Speichers) kann die erste Operation speichern. In entsprechender Weise dürfte einzusehen sein, dass die ersten und zweiten Schlangen 504, 506 in einer entsprechenden Weise arbeiten können.
  • 6 veranschaulicht in einem Ablaufdiagramm 600 ein bevorzugtes Verfahren, um Operationen zu erhalten und zu verarbeiten. Beim Schritt 602 bestimmen das Prozessorelement PE, die Verarbeitungseinheit PU oder Sub-Verarbeitungseinheit SPU, ob ihre gegenwärtige Temperatur oberhalb des thermischen Schwellwert Tmax liegt. Falls nicht überschritten wird, geht der Prozess anschließend weiter zum Schritt 604, ansonsten geht er weiter zum Schritt 608. Beim Schritt 604 wird bestimmt, ob von der heißen Schlange 504 eine Operation verfügbar ist. Falls eine Operation verfügbar ist, geht der Prozess weiter zum Schritt 606, ansonsten geht er weiter zum Schritt 608. Beim Schritt 606 erhalten die Programmeinheit PE, die Verarbeitungseinheit PU oder die Sub-Verarbeitungseinheit SPU eine „heiße" Operation und führen sie aus. Auf die Beendigung der Operation hin kehrt der Prozess zum Schritt 602 zurück. Beim Schritt 608 wird bestimmt, ob eine Operation von der kühlen Schlange 506 verfügbar ist. Falls eine Operation verfügbar ist, geht der Prozess weiter zum Schritt 610, ansonsten geht er weiter zum Schritt 612. Beim Schritt 610 erhalten das Prozessorelement PE, die Verarbeitungseinheit PU oder die Sub-Verarbeitungseinheit SPU eine „kühle" Operation und führen sie aus. Auf die Beendigung der Operation hin kehrt der Prozess zum Schritt 602 zurück. Falls keine Aufgaben zur Verarbeitung verfügbar sind, kann der Prozess stillstehen oder einen „Nop"-Befehl beim Schritt 612 während einer Zeitspanne (beispielsweise während einer bestimmten Anzahl von Zyklen) ausführen, bevor er zum Schritt 602 zurückkehrt. Optional kann, wie oben unter Bezugnahme auf 5 erörtert, in dem Fall, dass sowohl heiße als auch kühle Aufgaben verfügbar sind und dass T nicht überschritten wird, entweder eine heiße oder eine kühle Aufgabe ausgewählt werden. Somit sind, wie aus dem Ablaufdiagramm 600 zu ersehen ist, Verarbeitungsvorrichtungen imstande, heiße Flecken und eine Überhitzung durch Auswählen von Aufgaben aus den heißen und kühlen Schlangen 504, 506 zu vermeiden. Dieser Prozess kann gleichzeitig durch eine oder mehrere Verarbeitungsvorrichtungen ausgeführt werden, wodurch eine Ausführung von Befehlen und Aufgaben ohne Ändern einer Taktrate oder Abschalten der Verarbeitungsvorrichtungen ermöglicht ist.
  • Es ist möglich, die Anwendung von heißen und kühlen Schlangen mit Prioritätsschlangen zu kombinieren, wie dies aus 7 zu ersehen ist. In dieser Figur ist eine Multischlangen-Ablaufsteuerungsmethodik vorgesehen. Eine Ablaufsteuerung 542 ist mit drei Prioritätsschlangen, einer Schlange 544 hoher Priorität, einer Schlange 546 mittlerer Priorität und einer Schlange 548 niedriger Priorität, verbunden, obwohl unterschiedliche Prioritätsebenen und Zahlen von Schlangen angewandt sein können. Die Ablaufsteuerung 542 arbeitet so, wie dies oben unter Bezugnahme auf die Ablaufsteuerung 502 beschrieben worden ist. Jede der Prioritätsschlangen 544, 546 und 548 enthält vorzugsweise eine heiße Schlange und eine kühle Schlange, die in derselben Weise erzeugt werden und arbeiten, wie dies oben unter Bezugnahme auf 5 beschrieben worden ist. So weist beispielsweise die Schlange 544 hoher Priorität eine heiße Schlange für die Verarbeitung von Aufgaben H1H ... HNH sowie eine kühle Schlange für die Verarbeitung von Aufgaben C1M ... CNM auf. Die Schlange niedriger Priorität weist eine heiße Schlange für die Verarbeitung von Aufgaben H1L ... HNL und eine kühle Schlange für die Verarbeitung von Aufgaben C1L ... CNL auf.
  • 8 veranschaulicht in einem Ablaufdiagramm 800 ein bevorzugtes Verfahren, um Operationen zu erhalten und zu verarbeiten, wenn Prioritätsschlangen angewandt werden. Zunächst bestimmen das Prozessorelement PE, die Verarbeitungseinheit PU oder die Sub-Verarbeitungseinheit SPU beim Schritt 801, welche Prioritätsschlange anzuwenden ist, beispielsweise die Schlange 544 hoher Priorität, die Schlange 546 mittlerer Priorität oder die Schlange 548 niedriger Priorität. Beim Schritt 802 bestimmen das Prozessorelement PE, die Verarbeitungseinheit PU oder die Sub-Verarbeitungseinheit SPU, ob ihre gegenwärtige Temperatur oberhalb des thermischen Schwellwertes Tmax liegt. Falls Tmax nicht überschritten ist, geht der Prozess anschließend weiter zum Schritt 804, ansonsten geht er weiter zum Schritt 808. Beim Schritt 804 wird bestimmt, ob eine Operation aus der heißen Schlange 504 der ausgewählten Prioritätsschlange verfügbar ist. Falls eine Operation verfügbar ist, geht der Prozess weiter zum Schritt 806, ansonsten geht er weiter zum Schritt 808. Beim Schritt 806 erhalten das Prozessorelement PE, die Verarbeitungseinheit PU oder die Sub-Verarbeitungseinheit SPU eine „heiße" Operation und führen sie aus. Auf die Beendigung der Operation hin kehrt der Prozess zum Schritt 801 zurück. Beim Schritt 808 wird bestimmt, ob eine Operation aus der kühlen Schlange 506 der ausgewählten Prioritätsschlange verfügbar ist. Falls eine Operation verfügbar ist, geht der Prozess weiter zum Schritt 810, ansonsten geht er weiter zum Schritt 812. Beim Schritt 810 erhalten das Prozessorelement PE, die Verarbeitungseinheit PU oder die Sub-Verarbeitungseinheit SPU eine „kühle" Operation und führen sie aus. Auf die Beendigung der Operation hin kehrt der Prozess zum Schritt 801 zurück. Falls keine Aufgaben für die Verarbeitung verfügbar sind, steht der Prozess beim Schritt 812 still, bevor er zum Schritt 801 zurückkehrt. Optional kann in dem Fall, dass sowohl heiße als auch kühle Aufgaben für eine bestimmte Prioritätsebene verfügbar sind und Tmax nicht überschritten ist, entweder eine heiße oder eine kühle Aufgabe für die betreffende Prioritätsebene ausgewählt werden. Somit sind, wie aus dem Ablaufdiagramm 800 zu ersehen ist, Verarbeitungselemente imstande, heiße Flecken und eine Überhitzung durch Auswählen von Aufgaben während der Laufzeit aus den heißen und kühlen Schlangen der verschiedenen Prioritätsschlangen 544, 546 und 548 zu vermeiden. Der Prozess kann gleichzeitig durch ein Verarbeitungs-Bauteil oder mehrere Verarbeitungs-Bauteile ausgeführt werden, wodurch eine Ausführung von Befehlen und Aufgaben ohne Ändern einer Taktrate oder Abschalten der Verarbeitungs-Bauteile ermöglicht ist. Alternativ können in dem Fall, dass die Verarbeitungsvorrichtung zu heiß wird und sich dem Wert Tmax nähert oder diesen überschreitet, Operationen aus einer Schlange niedriger Priorität (beispielsweise aus einer Schlange 546 mittlerer Priorität oder der Schlange 548 niedriger Priorität) ausgewählt werden, und/oder Operationen können bei einem verringerten Taktzyklus ungeachtet der thermischen Merkmale der Operationen ausgeführt werden. Derartige Aufgaben niedriger Priorität können bei einem herabgesetzten Taktzyklus ausgeführt werden.
  • In einigen Situationen kann sich das Bauteil unterhalb des thermischen Schwellwerts befinden, bevor eine Operation (beispielsweise eine Aufgabe) ausgeführt wird, wobei es während der Ausführung der Aufgabe sodann den Wert Tmax überschreiten kann. In der Vergangenheit würde ein solches Auftreten wahrscheinlich ein Abschalten des Bauteiles erforderlich machen und diesem ermöglichen, sich abzukühlen. Es ist jedoch ein Verfahren entwickelt worden, welches diesem Problem gewidmet ist und welches besonders geeignet ist für Multiprozessor-Umgebungen.
  • 9A veranschaulicht eine Mehrzahl von Prozessorelementen, auf denen eine Gruppe von Aufgaben abläuft. Bei diesem Beispiel ist angenommen, dass sich das Prozessorelement PE 2 während seiner Verarbeitung der Aufgabe 1 überhitzt. Es ist möglich, die Aufgabe 1 von dem Prozessorelement PE 2 zu einem der anderen Prozessoren zu verschieben, die andere Aufgaben bearbeiten können, beispielsweise die Aufgaben 2 und 3. Die anderen Aufgaben sind vorzugsweise Aufgaben niedrigerer Priorität als die eine Aufgabe, die gerade durch das Prozessorelement PE 2 ausgeführt wird.
  • Wie aus 9B zu ersehen ist, kann die Aufgabe in dem anderen Prozessor, beispielsweise die Aufgabe 3 „ausgelagert" und beispielsweise zu der geeigneten Schlange (oder einem anderen Prozessor) übertragen werden. Somit würde das Prozessorelement PE 2 nicht eine Aufgabe ausführen, während das Prozessorelement PE 3 die Aufgabe 1 beendet. Alternativ können die beiden Prozessoren Aufgaben so auslagern, dass das Prozessorelement PE 2 die Aufgabe niedrigerer Priorität ausführt, wie dies in 9C veranschaulicht ist. Wie aus 9C zu ersehen ist, können (1) zunächst das Prozessorelement PE 2 und das Prozessorelement PE 3 mit einer Standard-Taktrate von beispielsweise 500 MHz arbeiten. Wenn sodann (2) das Prozessorelement PE 2 heiß wird, während es eine Aufgabe 1 hoher Priorität bearbeitet, kann sodann seine Aufgabe mit der Aufgabe 3 niedrigerer Priorität des Prozessorelements PE 3 getauscht werden. Schließlich kann (3) die Aufgabe 3 niedrigerer Priorität bei einer langsameren oder herabgesetzten Taktrate (von beispielsweise 250 MHz) ausgeführt werden, was dem Prozessorelement PE 2 ermöglicht, sich abzukühlen, während das Prozessorelement PE 3 die Ausführung der Aufgabe 1 mit der Standard-Taktrate von 500 MHz fortsetzt. Es ist auch möglich, die Taktrate zu erhöhen (beispielsweise auf 650 MHz), um eine Aufgabe höherer Priorität auszuführen. Es dürfte einzusehen sein, dass die Standard-Taktrate sowie die erhöhten und herabgesetzten Taktraten lediglich beispielhaft sind und dass die Taktraten sich in Abhängigkeit von der spezifischen Architektur des Prozessors, Sub-Prozessors und/oder der maximalen Taktrate des Multi-Verarbeitungssystems ändern können. Im ungünstigsten Fall kann der sich überhitzende Prozessor die Operationen solange anhalten, bis die Temperatur einen zufriedenstellenden Pegel erreicht. Die anderen Prozessoren in dem Multiprozessorsystem werden jedoch die Verarbeitung fortsetzen, so dass Echtzeit-Operationen und andere kritische Operationen unverzüglich ausgeführt werden. Während in 9A9C Prozessorelemente PE dargestellt sind, ist es möglich, dieselben Operationen mit Verarbeitungseinheiten PU und Sub-Verarbeitungseinheiten SPU oder durch Kombinationen von verschiedenen Verarbeitungsvorrichtungen auszuführen. So kann beispielsweise eine sich überhitzende Sub-Verarbeitungseinheit SPU 308 ihre Aufgabe hoher Priorität an die Verarbeitungseinheit PU 304 übertragen, die dann die Aufgabe wieder einer zweiten Sub-Verarbeitungseinheit 308 zuweisen kann. In entsprechender Weise kann die Verarbeitungseinheit PU 304 die Aufgabe niedrigerer Priorität der zweiten Sub-Verarbeitungseinheit 308 übernehmen und diese der ersten Sub-Verarbeitungseinheit 308 zuweisen. Nachdem die erste Sub-Verarbeitungseinheit 308 sich abkühlt bzw. abgekühlt ist, kann sie die Verarbeitung von Aufgaben hoher Priorität und/oder von „heißen" Aufgaben mit der normalen Taktrate wieder aufnehmen.
  • Obwohl die Erfindung hier unter Bezugnahme auf bestimmte Ausführungsformen beschrieben worden ist, dürfte einzusehen sein, dass diese Ausführungsformen lediglich zur Veranschaulichung der Prinzipien und Anwendungen der vorliegenden Erfindung vorgesehen sind. Es dürfte daher einzusehen sein, dass eine Vielzahl von Modifikationen bezüglich der veranschaulichten Ausführungsformen vorgenommen werden können und dass andere Anordnungen festgelegt werden können.
  • Industrielle Anwendbarkeit
  • Die vorliegende Erfindung ist bei einer Technologie zur Verringerung von thermischen heißen Flecken anwendbar, indem Befehle und Aufgaben in einer Verarbeitungsumgebung effektiv zugewiesen werden.

Claims (40)

  1. Verfahren zur Ausführung von Operationen, die durch ein einen thermischen Schwellwert aufweisendes Bauteil (300) auszuführen sind, umfassend die Bereitstellung einer Vielzahl von Operationen, die durch das Bauteil (300) auszuführen sind, und die Zuordnung eines thermischen Merkmals zu den Operationen, das einen auf eine Wärmemenge bezogenen Wert repräsentiert, bezüglich der erwartet wird, dass sie durch das Bauteil (300) während der Ausführung der Operationen zu erzeugen ist oder dass das Bauteil dieser auszusetzen ist, gekennzeichnet durch Bestimmen, ob eine Temperatur eines Bauteils (300) einen thermischen Schwellwert überschreitet, (i) Ausführen einer ersten Operation, falls der thermische Schwellwert nicht überschritten wird, wobei die dem thermischen Merkmal zugehörige erste Operation wahrscheinlich dafür ist, dass die Temperatur des Bauteils nach der Ausführung aufrecht erhalten oder gesteigert wird, und (ii) Ausführen einer zweiten Operation, falls der thermische Schwellwert überschritten wird, wobei die dem thermischen Merkmal zugehörige zweite Operation wahrscheinlich dafür ist, dass die Temperatur des Bauteils nach der Ausführung absinkt.
  2. Verfahren nach Anspruch 1, ferner umfassend ein Messen des thermischen Merkmals mit einer Temperatur-Messeinrichtung.
  3. Verfahren nach Anspruch 1, ferner umfassend ein Abschätzen des thermischen Merkmals auf der Grundlage des Leistungsverbrauchs des Bauteils.
  4. Verfahren nach Anspruch 3, wobei das Abschätzen des thermischen Merkmals ferner das Ausführen einer Schaltungssimulation des Bauteils umfasst.
  5. Verfahren nach Anspruch 3, wobei das Abschätzen des thermischen Merkmals ferner ein Bestimmen der Leistungsdichte des Bauteils umfasst.
  6. Verfahren nach einem der Ansprüche 1 bis 5, ferner umfassend das Ausführen der Operationen in einer Ausführungsreihenfolge.
  7. Verfahren nach einem der Ansprüche 1 bis 6, wobei das Bauteil eine Vielzahl von Verarbeitungsvorrichtungen umfasst und wobei das thermische Merkmal ein thermisches Gesamt-Merkmal von ausgewählten Vorrichtungen der Verarbeitungsvorrichtungen ist, die die Operationen ausführen.
  8. Verfahren nach einem der Ansprüche 1 bis 6, wobei das Bauteil eine Vielzahl von Verarbeitungsvorrichtungen umfasst, deren jede einen individuellen thermischen Schwellwert aufweist, und wobei das thermische Merkmal eine Vielzahl von individuellen thermischen Merkmalen umfasst, deren jedes einer der Verarbeitungsvorrichtungen zugehörig ist.
  9. Verfahren nach Anspruch 8, ferner umfassend eine Auswahl zumindest einiger der Verarbeitungsvorrichtungen zur Ausführung der Operationen, eine Überwachung der ausgewählten Verarbeitungsvorrichtungen und eine Weiterleitung der Operationen zu den ausgewählten Verarbeitungsvorrichtungen, so dass die individuellen thermischen Schwellwerte nicht überschritten werden.
  10. Verfahren nach einem der Ansprüche 1 bis 9, wobei das Bauteil eine Vielzahl von Verarbeitungsvorrichtungen umfasst und wobei das thermische Merkmal der Vielzahl der Verarbeitungsvorrichtungen zugeordnet wird.
  11. Verfahren nach Anspruch 1, ferner umfassend das Bestimmen des thermischen Merkmals durch (i) Bestimmen des Leistungsverbrauchs des Bauteils, (ii) Bestimmen einer Anschluss- bzw. Grundfläche des Bauteils, (iii) Teilen des Leistungsverbrauchs des Bauteils durch die Anschluss- bzw. Grundfläche des Bauteils zur Erzielung eines Leistungsverbrauchs pro Fläche bzw. Flächeneinheit und (iv) Multiplizieren des Leistungsverbrauchs pro Fläche bzw. Flächeneinheit mit einer thermischen Schätzungskonstanten.
  12. Verfahren nach einem der Ansprüche 1 bis 11, ferner umfassend das Bestimmen eines Merkmals, wobei die Ablaufplanung der Operationen das Merkmal zusammen mit dem thermischen Merkmal einschließt.
  13. Verfahren nach einem der Ansprüche 1 bis 12, ferner umfassend das Ausführen eines keine Operation betreffenden Befehls, falls die zweite Operation nicht verfügbar ist.
  14. Verfahren nach einem der Ansprüche 1 bis 13, ferner umfassend: Bestimmen einer Prioritätsebene, Bestimmen, ob die erste Operation aus einer Prioritätsschlange der Prioritätsebenen verfügbar ist, und Bestimmen, ob die zweite Operation aus der Prioritätsschlange verfügbar ist, falls die erste Operation aus der Prioritätsschlange nicht verfügbar ist.
  15. Verfahren nach einem der Ansprüche 1 bis 14, umfassend: Auswählen einer Aufgabe aus einer Vielzahl von Aufgaben zum Ausführen durch ein Bauteil auf der Grundlage eines Merkmals, wobei das Merkmal für die jeweilige Aufgabe auf die Temperatur des Bauteils nach Ausführen der zugehörigen Aufgabe bezogen ist, und Ausführen der ausgewählten Aufgabe.
  16. Verfahren nach Anspruch 15, wobei das Merkmal auf eine erwartete Erhöhung oder Absenkung der Temperatur des Bauteils nach Ausführen der zugehörigen Aufgabe bezogen wird.
  17. Verfahren nach Anspruch 16, wobei die erwartete Erhöhung oder Absenkung auf die Leistungsdichte des Bauteils bezogen wird.
  18. Verfahren nach einem der Ansprüche 15 bis 17, wobei die Aufgaben in zumindest einer Schlange in einem Speicher gespeichert werden.
  19. Verfahren nach einem der Ansprüche 15 bis 17, wobei die Aufgaben in zumindest zwei Schlangen in einem Speicher gespeichert werden, wobei in einer Schlange Aufgaben gespeichert werden, deren Merkmale eine Bedingung erfüllen, und wobei in einer anderen Schlange Aufgaben gespeichert werden, deren Merkmale die Bedingung nicht erfüllen.
  20. Verfahren nach einem der Ansprüche 15 bis 19, wobei die Bedingung darin besteht, dass das Merkmal einen Schwellwert überschreitet.
  21. Verfahren nach einem der Ansprüche 15 bis 20, wobei die Aufgabe außerdem auf der Grundlage der gegenwärtigen Temperatur des Bauteils ausgewählt wird.
  22. Verfahren nach einem der Ansprüche 15 bis 17, wobei die Aufgaben vor Ausführung unter unterschiedlichen Adressen in einem Speicher gespeichert werden.
  23. Verfahren nach einem der Ansprüche 15 bis 17, wobei die Aufgaben vor Ausführung unter derselben Adresse zu unterschiedlichen Zeitpunkten in einem Speicher gespeichert werden.
  24. Verfahren nach einem der Ansprüche 15 bis 23, wobei das Bauteil ein Prozessor ist.
  25. Verarbeitungssystem mit einem Prozessor (300), der einen thermischen Schwellwert besitzt und eine Vielzahl von Operationen ausführt, deren jeder ein thermisches Merkmal zugeordnet ist, welches einen auf eine Wärmemenge bezogenen Wert repräsentiert, bezüglich der erwartet wird, dass sie durch den Prozessor (300) während der Ausführung der Operationen zu erzeugen ist oder dass der Prozessor dieser auszusetzen ist, dadurch gekennzeichnet, (i) dass der Prozessor (300) in dem Fall, dass eine Temperatur des Prozessors (300) einen thermischen Schwellwert nicht überschreitet, eine erste Operation ausführt, der ein thermisches. Merkmal zugehörig ist, welches wahrscheinlich dafür ist, dass die Temperatur des Prozessors (300) nach der Ausführung beibehalten oder erhöht wird, und (ii) dass der Prozessor (300) in dem Fall, dass eine Temperatur des Prozessors (300) einen thermischen Schwellwert überschreitet, eine zweite Operation ausführt, der ein thermisches Merkmal zugehörig ist, welches dafür wahrscheinlich ist, dass die Temperatur des Prozessors (300) nach der Ausführung absinkt.
  26. Verarbeitungssystem nach Anspruch 25, umfassend eine Ablaufsteuerung zum Verwalten bzw. Steuern einer Vielzahl von Operationen, die die ersten und zweiten Operationen auf der Grundlage von thermischen Merkmalen umfassen, und eine Vielzahl von Prozessoren zum Ausführen der Vielzahl von Operationen, wobei jeder der Vielzahl von Prozessoren einen thermischen Schwellwert besitzt.
  27. Verarbeitungssystem nach Anspruch 26, wobei in dem Fall, dass der thermische Schwellwert eines ausgewählten Prozessors aus der Vielzahl der Prozessoren nicht überschritten wird, der ausgewählte Prozessor betreibbar ist, um zumindest eine Operation aus der ersten Operation und der zweiten Operation zu erhalten und auszuführen.
  28. Verarbeitungssystem nach Anspruch 27, wobei in dem Fall, dass der thermische Schwellwert des ausgewählten Prozessors nicht überschritten wird, der ausgewählte Prozessor die erste Operation erhält.
  29. Verarbeitungssystem nach Anspruch 26, wobei in dem Fall, dass der thermische Schwellwert eines ausgewählten Prozessors aus der Vielzahl von Prozessoren überschritten wird, der ausgewählte Prozessor betreibbar ist, um die zweite Operation zu erhalten und auszuführen.
  30. Verarbeitungssystem nach einem der Ansprüche 26 bis 29, wobei die Prozessoren Temperaturmesseinrichtungen zum Überwachen oder Abschätzen von Temperaturen der Prozessoren enthalten.
  31. Verarbeitungssystem nach Anspruch 30, wobei jeder Prozessor ferner einen Analog-Digital-Wandler enthält, der derart betreibbar ist, dass er einen Temperaturwert von den Temperaturmesseinrichtungen erhält und einen digitalen Temperaturwert bereitstellt.
  32. Verarbeitungssystem nach einem der Ansprüche 26 bis 31, wobei ein ausgewählter Prozessor von den Prozessoren eine Vielzahl von Sub-Prozessoren enthält.
  33. Verarbeitungssystem nach Anspruch 32, wobei der ausgewählte Prozessor ein ihm zugehöriges thermisches Gesamt-Merkmal aufweist, welches nicht den Sub-Prozessoren zugehörig ist.
  34. Verarbeitungssystem nach Anspruch 32, wobei jeder Sub-Prozessor ein thermisches Bauteil-Merkmal besitzt, welches von den thermischen Bauteil-Merkmalen der anderen Sub-Prozessoren verschieden ist.
  35. Verarbeitungssystem nach Anspruch 25, ferner umfassend einen Speicher zum Speichern von zu verarbeitenden Aufgaben, wobei der Prozessor betreibbar ist, um die in dem Speicher gespeicherten Aufgaben zu verarbeiten, wobei den Aufgaben Merkmale zugehörig sind, wobei das Merkmal für jede Aufgabe auf die Temperatur des Prozessors nach Ausführen der zugehörigen Aufgabe bezogen ist und wobei eine der Aufgaben zur Verarbeitung durch den Prozessor auf der Grundlage des Merkmals ausgewählt ist.
  36. System nach Anspruch 35, wobei das Merkmal auf eine erwartete Erhöhung oder Absenkung der Temperatur des Prozessors nach Abwickeln der ausgewählten Aufgabe bezogen ist und wobei die erwartete Erhöhung oder Absenkung auf der Grundlage der Leistungsdichte des Prozessors basiert.
  37. System nach Anspruch 35, wobei die Aufgaben in zumindest zwei Schlangen in dem Speicher gespeichert sind, wobei in einer Schlange Aufgaben gespeichert sind, deren Merkmale einen Schwellwert überschreiten, und wobei in einer anderen Schlange Aufgaben gespeichert sind, deren Merkmale den Schwellwert nicht überschreiten.
  38. System nach Anspruch 35, wobei der Speicher zwei gesonderte Speichersammlungen umfasst, wobei die eine Speichersammlung Aufgaben speichert, deren Merkmale eine Bedingung erfüllen, und wobei eine weitere Speichersammlung Aufgaben speichert, deren Merkmale die Bedingung nicht erfüllen.
  39. System nach Anspruch 38, wobei die beiden gesonderten Speichersammlungen unter derselben Speicheradresse, jedoch zu unterschiedlichen Zeitspannen gespeichert sind.
  40. System nach einem der Ansprüche 35 bis 39, wobei der Prozessor einen Temperatursensor enthält und wobei die Aufgabe auf der Grundlage eines Ausgangssignals des Temperatursensors ausgewählt ist.
DE602005005035T 2004-03-29 2005-03-28 Verfahren zur ausführung von operationen, die durch ein bauteil mit einem thermischen schwellwert auszuführen sind, sowie verarbeitungssystem mit einem proszessor Active DE602005005035T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US812177 1991-12-20
US10/812,177 US8224639B2 (en) 2004-03-29 2004-03-29 Methods and apparatus for achieving thermal management using processing task scheduling
PCT/JP2005/006523 WO2005096150A1 (en) 2004-03-29 2005-03-28 Methods and apparatus for achieving thermal management using processing task scheduling

Publications (2)

Publication Number Publication Date
DE602005005035D1 DE602005005035D1 (de) 2008-04-10
DE602005005035T2 true DE602005005035T2 (de) 2009-03-19

Family

ID=34962549

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602005005035T Active DE602005005035T2 (de) 2004-03-29 2005-03-28 Verfahren zur ausführung von operationen, die durch ein bauteil mit einem thermischen schwellwert auszuführen sind, sowie verarbeitungssystem mit einem proszessor

Country Status (9)

Country Link
US (3) US8224639B2 (de)
EP (1) EP1730635B1 (de)
JP (1) JP4053547B2 (de)
KR (1) KR101120215B1 (de)
CN (1) CN100504790C (de)
AT (1) ATE387663T1 (de)
DE (1) DE602005005035T2 (de)
TW (1) TW200602885A (de)
WO (1) WO2005096150A1 (de)

Families Citing this family (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7174194B2 (en) * 2000-10-24 2007-02-06 Texas Instruments Incorporated Temperature field controlled scheduling for processing systems
JP4152348B2 (ja) * 2004-06-03 2008-09-17 株式会社ソニー・コンピュータエンタテインメント 電子デバイス冷却装置、電子デバイスシステムおよび電子デバイス冷却方法
JP3781758B2 (ja) * 2004-06-04 2006-05-31 株式会社ソニー・コンピュータエンタテインメント プロセッサ、プロセッサシステム、温度推定装置、情報処理装置および温度推定方法
US7347621B2 (en) * 2004-07-16 2008-03-25 International Business Machines Corporation Method and system for real-time estimation and prediction of the thermal state of a microprocessor unit
JP3914230B2 (ja) * 2004-11-04 2007-05-16 株式会社東芝 プロセッサシステム及びその制御方法
US7454631B1 (en) * 2005-03-11 2008-11-18 Sun Microsystems, Inc. Method and apparatus for controlling power consumption in multiprocessor chip
US7603576B2 (en) * 2005-11-29 2009-10-13 International Business Machines Corporation Hysteresis in thermal throttling
US7848901B2 (en) * 2005-11-29 2010-12-07 International Business Machines Corporation Tracing thermal data via performance monitoring
US7395174B2 (en) * 2005-11-29 2008-07-01 International Business Machines Corporation Generation of software thermal profiles executed on a set of processors using thermal sampling
US7681053B2 (en) * 2005-11-29 2010-03-16 International Business Machines Corporation Thermal throttle control with minimal impact to interrupt latency
US7480586B2 (en) * 2005-11-29 2009-01-20 International Business Machines Corporation Thermal interrupt generation
US7512513B2 (en) * 2005-11-29 2009-03-31 International Business Machines Corporation Thermal throttling control for testing of real-time software
US20070124618A1 (en) * 2005-11-29 2007-05-31 Aguilar Maximino Jr Optimizing power and performance using software and hardware thermal profiles
US7698089B2 (en) * 2005-11-29 2010-04-13 International Business Machines Corporation Generation of software thermal profiles executed on a set of processors using processor activity
US7490017B2 (en) * 2005-11-29 2009-02-10 International Business Machines Corporation Analytical generation of software thermal profiles
US7721128B2 (en) * 2005-11-29 2010-05-18 International Business Machines Corporation Implementation of thermal throttling logic
US7376532B2 (en) * 2005-11-29 2008-05-20 International Business Machines Corporation Maximal temperature logging
US7512530B2 (en) * 2005-11-29 2009-03-31 International Business Machines Corporation Generation of software thermal profiles for applications in a simulated environment
US7460932B2 (en) * 2005-11-29 2008-12-02 International Business Machines Corporation Support of deep power savings mode and partial good in a thermal management system
US7386414B2 (en) * 2005-11-29 2008-06-10 International Business Machines Corporation Generation of hardware thermal profiles for a set of processors
WO2007083973A1 (en) * 2006-01-23 2007-07-26 Lg Electronics Inc. Terminal and method for performing device management scheduled based on threshold
KR20070108432A (ko) * 2006-01-23 2007-11-12 엘지전자 주식회사 장치관리 스케줄링 방법
US8104037B2 (en) 2006-01-23 2012-01-24 Lg Electronics Inc. Terminal and method for performing device management scheduled based on threshold
KR101342370B1 (ko) * 2006-01-23 2013-12-16 엘지전자 주식회사 단말 및 그 단말에서의 임계-값 기반으로 장치관리를수행하는 방법
KR101349805B1 (ko) * 2006-01-25 2014-01-10 엘지전자 주식회사 트랩 메커니즘을 이용한 장치관리 스케줄링 방법 및 그단말
US7421601B2 (en) * 2006-02-17 2008-09-02 International Business Machines Corporation Method and system for controlling power in a chip through a power-performance monitor and control unit
US7552346B2 (en) * 2006-05-03 2009-06-23 International Business Machines Corporation Dynamically adapting software for reducing a thermal state of a processor core based on its thermal index
US7596430B2 (en) * 2006-05-03 2009-09-29 International Business Machines Corporation Selection of processor cores for optimal thermal performance
US8037893B2 (en) * 2006-05-03 2011-10-18 International Business Machines Corporation Optimizing thermal performance using thermal flow analysis
JP5151203B2 (ja) * 2007-03-26 2013-02-27 日本電気株式会社 ジョブスケジューリング装置及びジョブスケジューリング方法
US7886172B2 (en) * 2007-08-27 2011-02-08 International Business Machines Corporation Method of virtualization and OS-level thermal management and multithreaded processor with virtualization and OS-level thermal management
US8445913B2 (en) 2007-10-30 2013-05-21 Spansion Llc Metal-insulator-metal (MIM) device and method of formation thereof
US8027798B2 (en) * 2007-11-08 2011-09-27 International Business Machines Corporation Digital thermal sensor test implementation without using main core voltage supply
US7870370B2 (en) * 2007-12-19 2011-01-11 International Business Machines Corporation Determining thermal characteristics of instruction sets
JP4804490B2 (ja) * 2008-02-18 2011-11-02 富士通株式会社 情報処理装置、情報処理方法、情報処理プログラム
US8296773B2 (en) * 2008-06-30 2012-10-23 International Business Machines Corporation Systems and methods for thread assignment and core turn-off for integrated circuit energy efficiency and high-performance
US7757233B2 (en) * 2008-07-10 2010-07-13 International Business Machines Corporation Controlling a computer system having a processor including a plurality of cores
JP5309815B2 (ja) 2008-09-09 2013-10-09 富士通株式会社 電力供給管理装置および電力供給管理方法
US8566539B2 (en) * 2009-01-14 2013-10-22 International Business Machines Corporation Managing thermal condition of a memory
US8321057B2 (en) * 2009-03-12 2012-11-27 Red Hat, Inc. Infrastructure for adaptive environmental control for equipment in a bounded area
US8311683B2 (en) * 2009-04-29 2012-11-13 International Business Machines Corporation Processor cooling management
JP2011022940A (ja) * 2009-07-17 2011-02-03 Nec Corp 情報処理装置および情報処理方法並びにプログラム
US8397088B1 (en) 2009-07-21 2013-03-12 The Research Foundation Of State University Of New York Apparatus and method for efficient estimation of the energy dissipation of processor based systems
TWI430077B (zh) 2009-09-30 2014-03-11 Ibm 用於電腦系統的風扇控制系統與方法
TWI394033B (zh) * 2009-10-30 2013-04-21 Ibm 用於不同高度之電腦系統的風扇控制系統與方法
US8887171B2 (en) * 2009-12-28 2014-11-11 Intel Corporation Mechanisms to avoid inefficient core hopping and provide hardware assisted low-power state selection
US8495604B2 (en) * 2009-12-30 2013-07-23 International Business Machines Corporation Dynamically distribute a multi-dimensional work set across a multi-core system
JP5531679B2 (ja) 2010-03-04 2014-06-25 日本電気株式会社 Smt対応cpuを有する情報処理装置の消費電力低減方法、消費電力低減装置及び消費電力低減プログラム
US8484495B2 (en) * 2010-03-25 2013-07-09 International Business Machines Corporation Power management in a multi-processor computer system
US8776069B2 (en) * 2010-12-07 2014-07-08 International Business Machines Corporation Energy and performance optimizing job scheduling
US9207730B2 (en) * 2011-06-02 2015-12-08 Apple Inc. Multi-level thermal management in an electronic device
US8688289B2 (en) * 2011-07-07 2014-04-01 Qualcomm Incorporated Method and system for preempting thermal load by proactive load steering
US8516460B2 (en) * 2011-08-02 2013-08-20 International Business Machines Corporation Real-time temperature sensitive machine level code compilation and execution
US8688883B2 (en) 2011-09-08 2014-04-01 Intel Corporation Increasing turbo mode residency of a processor
WO2014003785A1 (en) * 2012-06-29 2014-01-03 Hewlett-Packard Development Company, L.P. Thermal prioritized computing application scheduling
US9618988B2 (en) * 2012-07-03 2017-04-11 Nxp Usa, Inc. Method and apparatus for managing a thermal budget of at least a part of a processing system
US9329648B2 (en) * 2012-07-17 2016-05-03 International Business Machines Corporation Performance management of subsystems in a server by effective usage of resources
TWI463833B (zh) * 2012-10-31 2014-12-01 Delta Electronics Inc 感測器資料的快取裝置及其快取方法
US9152471B2 (en) * 2012-12-12 2015-10-06 International Business Machines Corporation System performance using cooling configuration information
US9313162B2 (en) 2012-12-13 2016-04-12 Microsoft Technology Licensing, Llc Task completion in email using third party app
US10528385B2 (en) 2012-12-13 2020-01-07 Microsoft Technology Licensing, Llc Task completion through inter-application communication
US20140173602A1 (en) * 2012-12-14 2014-06-19 Microsoft Corporation Matching Opportunity to Context
US9535708B2 (en) * 2012-12-21 2017-01-03 Cisco Technology Inc. Rate-controlling of heat generating data processing operations
TWI617988B (zh) 2013-01-31 2018-03-11 聯想企業解決方案(新加坡)有限公司 根據處理器位置之熱條件進行排程的電腦系統與方法
US9342443B2 (en) 2013-03-15 2016-05-17 Micron Technology, Inc. Systems and methods for memory system management based on thermal information of a memory system
US9557792B1 (en) 2013-05-31 2017-01-31 Amazon Technologies, Inc. Datacenter power management optimizations
US9292293B2 (en) * 2013-08-08 2016-03-22 Qualcomm Incorporated Intelligent multicore control for optimal performance per watt
US9588555B2 (en) * 2013-08-22 2017-03-07 Globalfoundries Inc. Managing cooling operations in a parallel computer comprising a plurality of compute nodes
JP6201530B2 (ja) 2013-08-30 2017-09-27 富士通株式会社 情報処理システム、ジョブ管理装置、ジョブ管理装置の制御プログラム、及び、情報処理システムの制御方法
KR20150050135A (ko) 2013-10-31 2015-05-08 삼성전자주식회사 복수의 이종 코어들을 포함하는 전자 시스템 및 이의 동작 방법
CN104699218B (zh) 2013-12-10 2019-04-19 华为终端(东莞)有限公司 一种任务管理方法及设备
US9244747B2 (en) * 2014-03-13 2016-01-26 Qualcomm Incorporated System and method for providing dynamic clock and voltage scaling (DCVS) aware interprocessor communication
US9436628B2 (en) 2014-05-30 2016-09-06 Apple Inc. Thermal mitigation using selective I/O throttling
US9530174B2 (en) * 2014-05-30 2016-12-27 Apple Inc. Selective GPU throttling
ES2874506T3 (es) * 2014-12-31 2021-11-05 Sz Dji Technology Co Ltd Procesamiento selectivo de datos de sensor
US10054994B2 (en) 2015-04-04 2018-08-21 Indian Institute Of Technology Bombay Non-uniform intensity mapping using high performance enterprise computing system
KR102285481B1 (ko) * 2015-04-09 2021-08-02 에스케이하이닉스 주식회사 NoC 반도체 장치의 태스크 매핑 방법
US9760402B2 (en) * 2015-07-23 2017-09-12 Dell Products L.P. Systems and methods for input/output traffic shaping for optimal performance under thermal constraints
US9465664B1 (en) * 2015-09-09 2016-10-11 Honeywell International Inc. Systems and methods for allocation of environmentally regulated slack
CN106873545A (zh) * 2015-12-14 2017-06-20 重庆森坦科技有限公司 一种基于fpga的实时多任务调度系统
WO2017131667A1 (en) * 2016-01-27 2017-08-03 Hewlett Packard Enterprise Development Lp Core characterization for processor cores
US10452437B2 (en) * 2016-06-24 2019-10-22 Advanced Micro Devices, Inc. Temperature-aware task scheduling and proactive power management
US9753773B1 (en) 2016-10-19 2017-09-05 International Business Machines Corporation Performance-based multi-mode task dispatching in a multi-processor core system for extreme temperature avoidance
US9747139B1 (en) 2016-10-19 2017-08-29 International Business Machines Corporation Performance-based multi-mode task dispatching in a multi-processor core system for high temperature avoidance
US20180129994A1 (en) 2016-11-06 2018-05-10 Microsoft Technology Licensing, Llc Efficiency enhancements in task management applications
CN106656796B (zh) * 2016-11-11 2020-04-24 中国人民解放军国防科学技术大学 一种基于温度等级的超前阶梯式缓冲区调节方法
KR102643797B1 (ko) * 2017-01-10 2024-03-05 삼성전자주식회사 동적 발열 관리 방법
US11551990B2 (en) * 2017-08-11 2023-01-10 Advanced Micro Devices, Inc. Method and apparatus for providing thermal wear leveling
US11742038B2 (en) 2017-08-11 2023-08-29 Advanced Micro Devices, Inc. Method and apparatus for providing wear leveling
KR102603299B1 (ko) * 2017-12-08 2023-11-17 한국전자통신연구원 그래픽 처리 장치 및 이의 동작 방법
KR102164716B1 (ko) * 2018-07-19 2020-10-14 주식회사 다이얼로그 세미컨덕터 코리아 전원을 효율적으로 관리하기 위한 소프트웨어 운영 방법 및 이를 이용한 장치
US11435813B2 (en) 2018-08-29 2022-09-06 Advanced Micro Devices, Inc. Neural network power management in a multi-GPU system
US11175952B2 (en) 2020-02-21 2021-11-16 International Business Machines Corporation Leveraging thermal profiles of processing tasks to dynamically schedule execution of the processing tasks
CN113687980B (zh) * 2020-05-19 2024-03-01 北京京东乾石科技有限公司 异常数据自恢复方法、系统、电子设备和可读存储介质
US11740953B2 (en) 2021-01-22 2023-08-29 Google Llc Solder joint damage-prevention mode for a computing device

Family Cites Families (197)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3576544A (en) 1968-10-18 1971-04-27 Ibm Storage protection system
JPS5412643Y2 (de) 1971-08-12 1979-06-02
US4037214A (en) 1976-04-30 1977-07-19 International Business Machines Corporation Key register controlled accessing system
JPS54146555U (de) 1978-04-03 1979-10-12
JPS576952Y2 (de) 1978-12-01 1982-02-09
US4314349A (en) 1979-12-31 1982-02-02 Goodyear Aerospace Corporation Processing element for parallel array processors
JPS6319058Y2 (de) 1980-01-17 1988-05-27
US4332009A (en) 1980-01-21 1982-05-25 Mostek Corporation Memory protection system
JPS56111962U (de) 1980-01-30 1981-08-29
JPS56123051U (de) 1980-02-15 1981-09-18
US4430705A (en) 1980-05-23 1984-02-07 International Business Machines Corp. Authorization mechanism for establishing addressability to information in another address space
US4414624A (en) 1980-11-19 1983-11-08 The United States Of America As Represented By The Secretary Of The Navy Multiple-microcomputer processing
JPS57176456A (en) 1981-04-22 1982-10-29 Fanuc Ltd Data processing system
EP0063626B1 (de) 1981-04-28 1985-07-17 International Business Machines Corporation Bus-Anordnung zum Verbinden von Schaltungschips
JPS63758Y2 (de) 1981-04-30 1988-01-09
AU542447B2 (en) 1982-02-27 1985-02-21 Fujitsu Limited System for controlling key storage unit
JPS5920074U (ja) 1982-07-28 1984-02-07 住友電気工業株式会社 圧電効果を利用した開閉弁
JPS5958700A (ja) 1982-09-29 1984-04-04 Fujitsu Ltd 記憶保護判定方式
US4545016A (en) 1983-01-07 1985-10-01 Tandy Corporation Memory management system
US4622631B1 (en) 1983-12-30 1996-04-09 Recognition Int Inc Data processing system having a data coherence solution
US5159700A (en) 1984-01-16 1992-10-27 Texas Instruments Incorporated Substrate with optical communication systems between chips mounted thereon and monolithic integration of optical I/O on silicon substrates
JPS61180352U (de) 1985-04-25 1986-11-11
US4732446A (en) 1985-10-02 1988-03-22 Lamar Gipson Electrical circuit and optical data buss
CA1280829C (en) 1985-11-13 1991-02-26 Toshio Matsumoto Main storage access control system for virtual computing function system
US5274797A (en) * 1986-05-30 1993-12-28 Bull Hn Information Systems Inc. Multiprocessor system with centralized initialization, testing and monitoring of the system and providing centralized timing
JPS6241986A (ja) 1986-08-29 1987-02-23 Hitachi Ltd オイルフリースクリユー圧縮機結合体
JPS6365222A (ja) 1986-09-03 1988-03-23 Tokyo Tatsuno Co Ltd 触媒燃焼装置
US4805107A (en) 1987-04-15 1989-02-14 Allied-Signal Inc. Task scheduler for a fault tolerant multiple node processing system
JP2960415B2 (ja) 1987-05-22 1999-10-06 株式会社日立製作所 記憶保護方法および装置
JPS6412364U (de) 1987-07-11 1989-01-23
JPH0719704Y2 (ja) 1987-07-31 1995-05-10 シャープ株式会社 生産ラインの生産管理装置
JPH0612333Y2 (ja) 1987-12-28 1994-03-30 株式会社ゼクセル 車両用熱焼式ヒータの燃焼器
JP2677589B2 (ja) 1988-02-26 1997-11-17 株式会社東芝 携帯可能電子装置およびicチップ
US5056000A (en) 1988-06-21 1991-10-08 International Parallel Machines, Inc. Synchronized parallel processing with shared memory
US4939682A (en) 1988-07-15 1990-07-03 The Boeing Company Integrated electro-optic arithmetic/logic unit and method for making the same
EP0369052A1 (de) 1988-11-17 1990-05-23 International Business Machines Corporation Datenbasiszugriffssystem
JPH02210542A (ja) 1989-02-10 1990-08-21 Fujitsu Ltd 仮想計算機システムにおける実行制御方式
US5222239A (en) * 1989-07-28 1993-06-22 Prof. Michael H. Davis Process and apparatus for reducing power usage microprocessor devices operating from stored energy sources
EP0424618A3 (en) 1989-10-24 1992-11-19 International Business Machines Corporation Input/output system
US5037173A (en) 1989-11-22 1991-08-06 Texas Instruments Incorporated Optical interconnection network
EP0509055A4 (en) 1990-01-05 1994-07-27 Maspar Computer Corp Parallel processor memory system
US5357632A (en) * 1990-01-09 1994-10-18 Hughes Aircraft Company Dynamic task allocation in a multi-processor system employing distributed control processors and distributed arithmetic processors
US5396635A (en) * 1990-06-01 1995-03-07 Vadem Corporation Power conservation apparatus having multiple power reduction levels dependent upon the activity of the computer system
EP0461926B1 (de) 1990-06-15 1998-09-02 Compaq Computer Corporation Mehrstufeneinschluss in mehrstufigen Cache-Speicherhierarchien
US5093879A (en) 1990-06-22 1992-03-03 International Business Machines Corporation Electro-optical connectors
US5144691A (en) 1990-07-20 1992-09-01 Cray Research, Inc. Computer signal interconnect apparatus
US5303369A (en) 1990-08-31 1994-04-12 Texas Instruments Incorporated Scheduling system for multiprocessor operating system
EP0481735A3 (en) 1990-10-19 1993-01-13 Array Technology Corporation Address protection circuit
US5590345A (en) * 1990-11-13 1996-12-31 International Business Machines Corporation Advanced parallel array processor(APAP)
US5630162A (en) 1990-11-13 1997-05-13 International Business Machines Corporation Array processor dotted communication network based on H-DOTs
KR940004404B1 (ko) 1990-11-30 1994-05-25 삼성전자 주식회사 불휘발성 반도체 메모리장치
US5131054A (en) 1991-01-09 1992-07-14 Thinking Machines Corporation Character recognition system using massively parallel computer that identifies a query character using degree of similarity with plurality of training characters of known identity
JPH04284754A (ja) 1991-03-14 1992-10-09 Fujitsu Ltd Atm交換装置
JPH04288643A (ja) 1991-03-18 1992-10-13 Nec Corp マルチプロセッサシステムのメモリマッピング方式
US5519875A (en) 1991-08-08 1996-05-21 Hitachi, Ltd. Distributed processing system for modules, each having modularized objects
US5404563A (en) 1991-08-28 1995-04-04 International Business Machines Corporation Scheduling normally interchangeable facilities in multiprocessor computer systems
US5361370A (en) 1991-10-24 1994-11-01 Intel Corporation Single-instruction multiple-data processor having dual-ported local memory architecture for simultaneous data transmission on local memory ports and global port
JP3364937B2 (ja) 1991-11-29 2003-01-08 株式会社日立製作所 並列演算装置
US5268973A (en) 1992-01-21 1993-12-07 The University Of Texas System Wafer-scale optical bus
JPH05242057A (ja) 1992-02-27 1993-09-21 Sanyo Electric Co Ltd マルチプロセッサシステムの起動方式
JPH05257907A (ja) 1992-03-11 1993-10-08 Hitachi Ltd オンチップマルチプロセッサシステム
JPH05324589A (ja) 1992-03-25 1993-12-07 Nippon Sheet Glass Co Ltd 並列コンピュータ装置および光結合装置
US5452401A (en) * 1992-03-31 1995-09-19 Seiko Epson Corporation Selective power-down for high performance CPU/system
US5394524A (en) 1992-08-07 1995-02-28 International Business Machines Corporation Method and apparatus for processing two graphics data streams in parallel
EP0610583A1 (de) 1993-02-08 1994-08-17 International Business Machines Corporation Rechnerspeichersystem mit Mehrzonen-Umspeicherung
US5619671A (en) 1993-04-19 1997-04-08 International Business Machines Corporation Method and apparatus for providing token controlled access to protected pages of memory
JPH07168726A (ja) * 1993-12-16 1995-07-04 Matsushita Electric Ind Co Ltd 電子計算機及びマルチプロセスオペレーティングシステムのスケジューリング方法
US5745778A (en) * 1994-01-26 1998-04-28 Data General Corporation Apparatus and method for improved CPU affinity in a multiprocessor system
GB2287555A (en) 1994-02-25 1995-09-20 Motorola Gmbh An adjustable clock generator system.
US5487146A (en) 1994-03-08 1996-01-23 Texas Instruments Incorporated Plural memory access address generation employing guide table entries forming linked list
US5815403A (en) * 1994-04-19 1998-09-29 Lsi Logic Corporation Fail-safe distributive processing method for producing a highest fitness cell placement for an integrated circuit chip
JPH07287064A (ja) 1994-04-20 1995-10-31 Mitsubishi Electric Corp レーダ信号処理装置
EP0683451B1 (de) 1994-05-09 2004-02-25 Canon Kabushiki Kaisha Verfahren zur Steuerung der Stromversorgung in einer Mehrprozessbetriebsumgebung
US5513337A (en) 1994-05-25 1996-04-30 Intel Corporation System for protecting unauthorized memory accesses by comparing base memory address with mask bits and having attribute bits for identifying access operational mode and type
JPH0816531A (ja) 1994-06-28 1996-01-19 Hitachi Ltd プロセススケジュール方式
JPH0883257A (ja) 1994-09-13 1996-03-26 Hitachi Ltd 並列コンピュータシステムのプロセス実行最適化方法
JPH08161283A (ja) 1994-12-07 1996-06-21 Sony Corp 複数プロセツサシステム
US5754436A (en) * 1994-12-22 1998-05-19 Texas Instruments Incorporated Adaptive power management processes, circuits and systems
JPH08180018A (ja) 1994-12-26 1996-07-12 Toshiba Corp 分散処理システム及び分散処理方法
US6192479B1 (en) * 1995-01-19 2001-02-20 Texas Instruments Incorporated Data processing with progressive, adaptive, CPU-driven power management
US5715184A (en) * 1995-01-23 1998-02-03 Motorola, Inc. Method of parallel simulation of standard cells on a distributed computer system
JPH08212178A (ja) 1995-02-08 1996-08-20 Hitachi Ltd 並列計算機
CA2170468A1 (en) 1995-02-28 1996-08-29 Noriyuki Ando Multi-processor system with virtually addressable communication registers and controlling method thereof
JP2731742B2 (ja) 1995-02-28 1998-03-25 甲府日本電気株式会社 クラスタ構成の並列計算機
JPH08249261A (ja) 1995-03-08 1996-09-27 Mitsubishi Electric Corp メッセージ管理システム
DE19508723A1 (de) 1995-03-10 1996-09-12 Siemens Ag Mehrbenutzerdatenverarbeitungsanlage mit Speicherschutz
US5850534A (en) 1995-06-05 1998-12-15 Advanced Micro Devices, Inc. Method and apparatus for reducing cache snooping overhead in a multilevel cache system
JPH09138716A (ja) 1995-11-14 1997-05-27 Toshiba Corp 電子計算機
US6331856B1 (en) 1995-11-22 2001-12-18 Nintendo Co., Ltd. Video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing
JP3786993B2 (ja) 1995-12-14 2006-06-21 株式会社日立製作所 データ記憶ユニット及び該ユニットを用いたデータ記憶装置
US6886167B1 (en) 1995-12-27 2005-04-26 International Business Machines Corporation Method and system for migrating an object between a split status and a merged status
JPH09198361A (ja) 1996-01-23 1997-07-31 Kofu Nippon Denki Kk マルチプロセッサシステム
US5729712A (en) 1996-01-26 1998-03-17 Unisys Corporation Smart fill system for multiple cache network
US5761516A (en) * 1996-05-03 1998-06-02 Lsi Logic Corporation Single chip multiprocessor architecture with internal task switching synchronization bus
US5940870A (en) 1996-05-21 1999-08-17 Industrial Technology Research Institute Address translation for shared-memory multiprocessor clustering
JPH09311839A (ja) 1996-05-21 1997-12-02 Hitachi Ltd データ共用方式
US5787309A (en) 1996-05-23 1998-07-28 International Business Machines Corporation Apparatus for protecting storage blocks from being accessed by unwanted I/O programs using I/O program keys and I/O storage keys having M number of bits
US5900019A (en) 1996-05-23 1999-05-04 International Business Machines Corporation Apparatus for protecting memory storage blocks from I/O accesses
US5724551A (en) 1996-05-23 1998-03-03 International Business Machines Corporation Method for managing I/O buffers in shared storage by structuring buffer table having entries include storage keys for controlling accesses to the buffers
US5740409A (en) * 1996-07-01 1998-04-14 Sun Microsystems, Inc. Command processor for a three-dimensional graphics accelerator which includes geometry decompression capabilities
AT1751U1 (de) 1996-09-30 1997-10-27 Kuehn Eva Koordinations-system
JPH10126771A (ja) 1996-10-15 1998-05-15 Toshiba Corp 画像データ転送システムにおける画像データ送出レート制御方法および画像データ転送方法
JP3567354B2 (ja) 1996-12-26 2004-09-22 株式会社リコー マルチプロセッサシステムおよび命令作成装置
JP3421526B2 (ja) 1997-02-14 2003-06-30 モトローラ株式会社 デ−タ処理装置
US6192514B1 (en) 1997-02-19 2001-02-20 Unisys Corporation Multicomputer system
US6424988B2 (en) 1997-02-19 2002-07-23 Unisys Corporation Multicomputer system
US6289434B1 (en) 1997-02-28 2001-09-11 Cognigine Corporation Apparatus and method of implementing systems on silicon using dynamic-adaptive run-time reconfigurable circuits for processing multiple, independent data and control streams of varying rates
JP3739888B2 (ja) 1997-03-27 2006-01-25 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および方法
JP3681026B2 (ja) 1997-03-27 2005-08-10 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および方法
US6212605B1 (en) 1997-03-31 2001-04-03 International Business Machines Corporation Eviction override for larx-reserved addresses
JPH1139215A (ja) 1997-05-22 1999-02-12 Matsushita Electric Ind Co Ltd キャッシュメモリおよびキャッシュメモリを制御する方法
JPH10334055A (ja) 1997-06-03 1998-12-18 Sony Corp マルチプロセッサ・システム
JPH10340165A (ja) 1997-06-09 1998-12-22 Canon Inc 情報処理装置及びその方法並びにメモリ媒体
JP3490256B2 (ja) 1997-06-12 2004-01-26 三菱電機株式会社 エージェント方式
US5892966A (en) 1997-06-27 1999-04-06 Sun Microsystems, Inc. Processor complex for executing multimedia functions
US6360303B1 (en) 1997-09-30 2002-03-19 Compaq Computer Corporation Partitioning memory shared by multiple processors of a distributed processing system
US6567839B1 (en) 1997-10-23 2003-05-20 International Business Machines Corporation Thread switch control in a multithreaded processor system
US6209065B1 (en) 1997-10-24 2001-03-27 Compaq Computer Corporation Mechanism for optimizing generation of commit-signals in a distributed shared-memory system
US6002409A (en) * 1997-10-29 1999-12-14 Cirrus Logic, Inc. Arbitration for shared graphics processing resources
US6542926B2 (en) 1998-06-10 2003-04-01 Compaq Information Technologies Group, L.P. Software partitioned multi-processor system with flexible resource sharing levels
US6965974B1 (en) 1997-11-14 2005-11-15 Agere Systems Inc. Dynamic partitioning of memory banks among multiple agents
US6173389B1 (en) 1997-12-04 2001-01-09 Billions Of Operations Per Second, Inc. Methods and apparatus for dynamic very long instruction word sub-instruction selection for execution time parallelism in an indirect very long instruction word processor
JPH11202988A (ja) 1998-01-13 1999-07-30 Hitachi Ltd システム消費電力制御方法
JPH11232247A (ja) 1998-02-10 1999-08-27 Hitachi Ltd データフロー計算機およびデータフロー制御方法
US6008685A (en) * 1998-03-25 1999-12-28 Mosaic Design Labs, Inc. Solid state temperature measurement
US6167430A (en) 1998-05-12 2000-12-26 Unisys Corporation Multicomputer with distributed directory and operating system
JPH11338833A (ja) 1998-05-22 1999-12-10 Hitachi Ltd マルチプロセッサ型コントローラ及びスケーラブルコントローラシステム
US6947987B2 (en) 1998-05-29 2005-09-20 Ncr Corporation Method and apparatus for allocating network resources and changing the allocation based on dynamic workload changes
US6336187B1 (en) 1998-06-12 2002-01-01 International Business Machines Corp. Storage system with data-dependent security
US6209066B1 (en) 1998-06-30 2001-03-27 Sun Microsystems, Inc. Method and apparatus for memory allocation in a multi-threaded virtual machine
JP3224782B2 (ja) 1998-08-03 2001-11-05 インターナショナル・ビジネス・マシーンズ・コーポレーション 処理分担動的変更方法及びコンピュータ
US6141762A (en) 1998-08-03 2000-10-31 Nicol; Christopher J. Power reduction in a multiprocessor digital signal processor based on processor load
JP2000132529A (ja) * 1998-10-23 2000-05-12 Sony Corp 並列処理装置、並列処理方法および記録媒体
US6643708B1 (en) 1998-10-29 2003-11-04 International Business Machines Corporation Systems, methods and computer program products for chaining Java servlets across networks
US6633563B1 (en) * 1999-03-02 2003-10-14 Nortel Networks Limited Assigning cell data to one of several processors provided in a data switch
JP3790060B2 (ja) 1999-01-29 2006-06-28 株式会社山武 演算処理装置
US6341338B1 (en) 1999-02-04 2002-01-22 Sun Microsystems, Inc. Protocol for coordinating the distribution of shared memory
JP4123621B2 (ja) 1999-02-16 2008-07-23 株式会社日立製作所 主記憶共有型マルチプロセッサシステム及びその共有領域設定方法
US6480941B1 (en) 1999-02-23 2002-11-12 International Business Machines Corporation Secure partitioning of shared memory based multiprocessor system
US6753878B1 (en) * 1999-03-08 2004-06-22 Hewlett-Packard Development Company, L.P. Parallel pipelined merge engines
US6647208B1 (en) 1999-03-18 2003-11-11 Massachusetts Institute Of Technology Hybrid electronic/optical switch system
US6345362B1 (en) 1999-04-06 2002-02-05 International Business Machines Corporation Managing Vt for reduced power using a status table
US6477170B1 (en) 1999-05-21 2002-11-05 Advanced Micro Devices, Inc. Method and apparatus for interfacing between systems operating under different clock regimes with interlocking to prevent overwriting of data
DE60039554D1 (de) 1999-06-25 2008-09-04 Canon Res Ct France S A Verteilte Verwaltung von Datenobjekten in einem Kommunikations-Netzwerk
US6467012B1 (en) 1999-07-08 2002-10-15 International Business Machines Corporation Method and apparatus using a distributed system structure to support bus-based cache-coherence protocols for symmetric multiprocessors
US6668317B1 (en) 1999-08-31 2003-12-23 Intel Corporation Microengine for parallel processor architecture
US6198245B1 (en) * 1999-09-20 2001-03-06 O2 Micro International Ltd. Look-ahead closed-loop thermal management
ATE277378T1 (de) 1999-10-25 2004-10-15 Texas Instruments Inc Intelligente leistungssteuerung in verteilten verarbeitungssystemen
JP4049957B2 (ja) 1999-10-29 2008-02-20 富士ゼロックス株式会社 マルチプロセッサシステム
US6577311B1 (en) 1999-12-16 2003-06-10 Picture Iq Corporation Techniques for automatically providing a high-resolution rendering of a low resolution digital image in a distributed network
US6564328B1 (en) * 1999-12-23 2003-05-13 Intel Corporation Microprocessor with digital power throttle
US6694380B1 (en) 1999-12-27 2004-02-17 Intel Corporation Mapping requests from a processing unit that uses memory-mapped input-output space
JP2001195230A (ja) 2000-01-14 2001-07-19 Mitsubishi Electric Corp 描画処理システム、及び描画演算を行う半導体集積回路
US6694336B1 (en) 2000-01-25 2004-02-17 Fusionone, Inc. Data transfer and synchronization system
KR100319708B1 (ko) 2000-02-11 2002-01-09 전주식 방향 분리 이중 링 구조의 분산된 공유 메모리 다중프로세서 시스템
US6807620B1 (en) 2000-02-11 2004-10-19 Sony Computer Entertainment Inc. Game system with graphics processor
US6799207B1 (en) 2000-04-10 2004-09-28 International Business Machines Corporation Method and system for downloading software managed trees in a network processing system
JP2002064145A (ja) 2000-06-09 2002-02-28 Fujitsu Ltd 冗長素子を備える集積回路チップ、マルチプロセッサおよびその製法
JP4640880B2 (ja) 2000-07-14 2011-03-02 国立大学法人東京工業大学 マイクロプロセッサシステム
US6269043B1 (en) * 2000-07-31 2001-07-31 Cisco Technology, Inc. Power conservation system employing a snooze mode
EP1182556B1 (de) * 2000-08-21 2009-08-19 Texas Instruments France Auf Aufgaben basierte adaptive Profilerstellung und Fehlerbeseitigung
EP1182552A3 (de) 2000-08-21 2003-10-01 Texas Instruments France Dynamische Hardware-Konfiguration für Energieverwaltungsysteme mit Aufgabenattributen
US7681018B2 (en) 2000-08-31 2010-03-16 Intel Corporation Method and apparatus for providing large register address space while maximizing cycletime performance for a multi-threaded register file set
US6625737B1 (en) * 2000-09-20 2003-09-23 Mips Technologies Inc. System for prediction and control of power consumption in digital system
JP2002098594A (ja) * 2000-09-25 2002-04-05 Toshiba Corp 温度センサ装置
US20030069985A1 (en) * 2000-10-02 2003-04-10 Eduardo Perez Computer readable media for storing video data
US7174194B2 (en) * 2000-10-24 2007-02-06 Texas Instruments Incorporated Temperature field controlled scheduling for processing systems
ATE492840T1 (de) 2000-10-31 2011-01-15 Millennial Net Inc Vernetztes verarbeitungssystem mit optimiertem leistungswirkungsgrad
US6631440B2 (en) * 2000-11-30 2003-10-07 Hewlett-Packard Development Company Method and apparatus for scheduling memory calibrations based on transactions
US6865631B2 (en) 2000-12-14 2005-03-08 International Business Machines Corporation Reduction of interrupts in remote procedure calls
US6779049B2 (en) 2000-12-14 2004-08-17 International Business Machines Corporation Symmetric multi-processing system with attached processing units being able to access a shared memory without being structurally configured with an address translation mechanism
US7020871B2 (en) 2000-12-21 2006-03-28 Intel Corporation Breakpoint method for parallel hardware threads in multithreaded processor
US6748501B2 (en) 2000-12-30 2004-06-08 International Business Machines Corporation Microprocessor reservation mechanism for a hashed address system
US6779045B2 (en) * 2001-03-21 2004-08-17 Intel Corporation System and apparatus for increasing the number of operations per transmission for a media management system
US7233998B2 (en) 2001-03-22 2007-06-19 Sony Computer Entertainment Inc. Computer architecture and software cells for broadband networks
US6526491B2 (en) 2001-03-22 2003-02-25 Sony Corporation Entertainment Inc. Memory protection system and method for computer architecture for broadband networks
US6922726B2 (en) * 2001-03-23 2005-07-26 International Business Machines Corporation Web accessibility service apparatus and method
JP2003167751A (ja) 2001-04-24 2003-06-13 Ricoh Co Ltd プロセッサ処理方法およびプロセッサシステム
US6901522B2 (en) * 2001-06-07 2005-05-31 Intel Corporation System and method for reducing power consumption in multiprocessor system
JP3610930B2 (ja) 2001-07-12 2005-01-19 株式会社デンソー オペレーティングシステム、プログラム、車両用電子制御装置
US20030055969A1 (en) 2001-09-17 2003-03-20 International Business Machines Corporation System and method for performing power management on a distributed system
JP4050027B2 (ja) * 2001-09-28 2008-02-20 株式会社日立製作所 情報処理装置及び情報処理装置の制御方法
US20030079151A1 (en) * 2001-10-18 2003-04-24 International Business Machines Corporation Energy-aware workload distribution
US7203943B2 (en) 2001-10-31 2007-04-10 Avaya Technology Corp. Dynamic allocation of processing tasks using variable performance hardware platforms
US6804632B2 (en) * 2001-12-06 2004-10-12 Intel Corporation Distribution of processing activity across processing hardware based on power consumption considerations
US7318164B2 (en) * 2001-12-13 2008-01-08 International Business Machines Corporation Conserving energy in a data processing system by selectively powering down processors
US7096145B2 (en) * 2002-01-02 2006-08-22 Intel Corporation Deterministic power-estimation for thermal control
US6775787B2 (en) 2002-01-02 2004-08-10 Intel Corporation Instruction scheduling based on power estimation
JP2003256067A (ja) 2002-03-01 2003-09-10 Mitsubishi Electric Corp 省電力制御方式及び省電力制御方法及びプログラム及び記録媒体
WO2003083693A1 (fr) 2002-04-03 2003-10-09 Fujitsu Limited Planificateur de taches dans un systeme de traitement distribue
US6948082B2 (en) * 2002-05-17 2005-09-20 International Business Machines Corporation Method and apparatus for software-assisted thermal management for electronic systems
US7254812B1 (en) * 2002-05-31 2007-08-07 Advanced Micro Devices, Inc. Multi-processor task scheduling
US7086058B2 (en) * 2002-06-06 2006-08-01 International Business Machines Corporation Method and apparatus to eliminate processor core hot spots
US7100060B2 (en) * 2002-06-26 2006-08-29 Intel Corporation Techniques for utilization of asymmetric secondary processing resources
JP3673245B2 (ja) * 2002-06-28 2005-07-20 株式会社東芝 情報処理装置および同装置における電源制御方法
JP2004103347A (ja) 2002-09-09 2004-04-02 Sumitomo Wiring Syst Ltd コネクタ
JP4934954B2 (ja) * 2003-10-15 2012-05-23 日亜化学工業株式会社 ヒートシンク及びヒートシンクを備えた半導体装置

Also Published As

Publication number Publication date
CN1938687A (zh) 2007-03-28
US20050216222A1 (en) 2005-09-29
WO2005096150A1 (en) 2005-10-13
EP1730635B1 (de) 2008-02-27
WO2005096150B1 (en) 2006-01-26
KR20060134185A (ko) 2006-12-27
JP4053547B2 (ja) 2008-02-27
ATE387663T1 (de) 2008-03-15
TWI345155B (de) 2011-07-11
KR101120215B1 (ko) 2012-03-16
JP2005285123A (ja) 2005-10-13
EP1730635A2 (de) 2006-12-13
US8224639B2 (en) 2012-07-17
US9183051B2 (en) 2015-11-10
CN100504790C (zh) 2009-06-24
DE602005005035D1 (de) 2008-04-10
TW200602885A (en) 2006-01-16
US20120266174A1 (en) 2012-10-18
US8751212B2 (en) 2014-06-10
US20140245314A1 (en) 2014-08-28

Similar Documents

Publication Publication Date Title
DE602005005035T2 (de) Verfahren zur ausführung von operationen, die durch ein bauteil mit einem thermischen schwellwert auszuführen sind, sowie verarbeitungssystem mit einem proszessor
DE112005003136B4 (de) Verfahren, Vorrichtung und System zum dynamischen Einstellen von Arbeitsparametern von mehreren Porzessorkernen
DE112006000569B4 (de) Thermisches Steuerungsverfahren, thermische Steuerungsvorrichtung und thermisches Steuerungssystem
DE112005002672B4 (de) Dynamische Neukonfiguration eines Cache-Speichers
US9063785B2 (en) Temperature-based thread scheduling
DE10297598B4 (de) Vorrichtung und System zum Abschätzen und Steuern von di/dt-induzierten Spannungsänderungen bei Energieversorgungen
DE102006048153A1 (de) Steuerungs- bzw. Regelungsverfahren für Lüftergeschwindigkeit
DE112011103216T5 (de) Scheduling von Anwendungen in heterogenen Multiprozessorcomputerplattformen
EP2199915B1 (de) Überwachung des Speicherverbrauchs
DE102009051387A1 (de) Power Management für Mehrprozessorkerne
DE112006000545T5 (de) System und Verfahren zum kohärenten Datentransfer während Leerlaufzuständen von Prozessoren
JP2005285124A (ja) プロセッサ操作を使用する熱管理を達成する方法および装置
DE102007059784A1 (de) Vorladen aus einem dynamischen wahlfreien Zugriffsspeicher in einen statischen wahlfreien Zugriffsspeicher
DE10317890A1 (de) Verfahren und Vorrichtung zum Sparen von Mikroprozessorleistung beim sequentiellen Zugreifen auf den Befehlscache des Mikroprozessors
DE112007001433B4 (de) Verfahren, Vorrichtung und System zum Wärmemanagement unter Verwendung einer Leistungdichte-Rückmeldung
TWI558132B (zh) 自動增減資料消費者的方法以及使用該方法的裝置
DE102009051288A1 (de) Befehl und Logik zur Ausführung von Bereichserkennung
CN102439577A (zh) 一种构建内存访问模型的方法及装置
DE102019109357A1 (de) Selektive ausführung von cache-linien-ausräumoperationen
KR102123178B1 (ko) 기계학습 알고리즘 기반 cpu 온도 예측 방법 및 장치
EP3885911B1 (de) Verfahren und system zur abstimmung der parameter eines grafikprozessors (gpu) eines gpu-kerns
DE102009016471A1 (de) Partitionsfreie Speichersystemarchitektur mit Mehrfachsockel
CN104281532A (zh) 一种基于numa架构的虚拟机内存访问监测方法
DE112006001637B4 (de) Auf tabellarischem Regelwerk basierende Prozessor-Side-Bus-Signalisierung
US11520731B1 (en) Arbitrating throttling recommendations for a systolic array

Legal Events

Date Code Title Description
8364 No opposition during term of opposition