DE69320180T2 - Selektiver abschaltbetrieb für ein hochleistungs-cpu-system. - Google Patents
Selektiver abschaltbetrieb für ein hochleistungs-cpu-system.Info
- Publication number
- DE69320180T2 DE69320180T2 DE69320180T DE69320180T DE69320180T2 DE 69320180 T2 DE69320180 T2 DE 69320180T2 DE 69320180 T DE69320180 T DE 69320180T DE 69320180 T DE69320180 T DE 69320180T DE 69320180 T2 DE69320180 T2 DE 69320180T2
- Authority
- DE
- Germany
- Prior art keywords
- machine code
- functional unit
- instruction
- power
- functional
- 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.)
- Expired - Lifetime
Links
- 238000004377 microelectronic Methods 0.000 claims description 49
- 238000000034 method Methods 0.000 claims description 30
- 230000009467 reduction Effects 0.000 claims description 25
- 230000017525 heat dissipation Effects 0.000 claims description 13
- 238000005265 energy consumption Methods 0.000 claims description 3
- 238000007667 floating Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 13
- 238000004590 computer program Methods 0.000 description 11
- 230000008859 change Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000005457 optimization Methods 0.000 description 7
- 239000004065 semiconductor Substances 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000004806 packaging method and process Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000021715 photosynthesis, light harvesting Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000002779 inactivation Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 229910044991 metal oxide Inorganic materials 0.000 description 2
- 150000004706 metal oxides Chemical class 0.000 description 2
- 239000013585 weight reducing agent Substances 0.000 description 2
- 229910001218 Gallium arsenide Inorganic materials 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 239000000919 ceramic Substances 0.000 description 1
- 239000002826 coolant Substances 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 239000000314 lubricant Substances 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000008646 thermal stress Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3237—Power saving characterised by the action undertaken by disabling clock generation or distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3856—Reordering of instructions, e.g. using queues or age tags
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Microcomputers (AREA)
- Power Sources (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Devices For Executing Special Programs (AREA)
Description
- Die vorliegende Erfindung betrifft allgemein Systeme und Verfahren, um die Energierabführungsanforderungen und die von einzelnen, mikroelektronischen Einrichtungen verbrauchte Energie zu verringern, und insbesondere dynamisch den Energieverbrauch solcher mikroelektronischer Einrichtungen und die sich ergebende, verlangte Energieabführung zu steuern.
- Energieabführungsanforderungen von mikroelektronischen Einrichtungen (auch Halbleitereinrichtungen oder Halbleiterchips oder integrierte Schaltungen genannt) sind bei ihrer Konstruktion, Herstellung, Verwendung kritisch geworden. Dies gilt insbesondere für größtintegrierte Einrichtungen und ultragroß integrierte Einrichtungen, die typischerweise heutzutage über 1.000.000 Transistoren (aktiv, passiv) auf einem einzelnen Halbleiterchip aufweisen. Die aktiven Einrichtungen werden typischerweise bei sehr hoher Geschwindigkeit betrieben (getaktet) (wobei Geschwindigkeiten von 25 MHz und 33 MHz heute typisch sind, wobei viel höhere Taktraten überlegt werden, z.B. 250 MHz), um die erwünschte Funktion und Leistung des Systems zu erreichen.
- Wie es gut bekannt ist, erzeugen die große Taktrate und die große Anzahl aktiver Einrichtungen, unabhängig von der Herstellungstechnologie, die verwendet wird, bedeutende Energieabführungsanforderungen, verglichen mit der tatsachlichen physikalischen Größe des Chips der mikroelektronischen Einrichtung. Für Erlauterungszwecke, ein typischer Chip wird mit 1.000.000 aktiven Einrichtungen auf einem Chip von 15 mm mal 15 mm hergestellt und verlangt mehr als 132 Ausführungsstifte. Eine solche mikroelektronische Einrichtung kann mit einer Systemtaktgeschwindigkeit von 30 MHz bei einer CMOS Technologie (komplementare Metalloxidhalbleitertechnologie) von 1 Mikrometer (um) arbeiten.
- Der Chip muß dauerhaft in einem geeigneten Gehäuse oder Umhüllung untergebracht sein, die unter anderen Dingen (Herausführungsstifte, umgebungsmäßiger, physikalischer Schutz usw.) eine angemessene Wärmeableitung bereitstellen muß, um ein Versagen der Einrichtung zu verhindern.
- Für eine einzelnen, mikroelektronische Einrichtung, wie das obige Beispiel, ist es nicht unüblich, im Bereich von 5-10 Watt an Wärme zu erzeugen, die wahrend des normalen Betriebs abgeführt werden muß. Als ein Ergebnis kann die Verbindungstemperatur des Chips einer solchen mikroelektronischen Einrichtung 100ºC bei einem keramischen Gehäuse ohne Wärmesenke an dem oberen Ende des handelsüblichen Temperaturbereiches von 70º Umgebung erreichen. Die Zahl 5-10 Watt erscheint klein verglichen mit der Ableitungsanforderung aufeinanderfolgender Generationen leistungsstärkerer, mikroelektronischer Einrichtungen, die für das Jahr 2000 vorgesehen sind und 100 Millionen aktive Einrichtungen auf einem einzigen Chip besitzen. Die überlegten Chipgrößen sind 25 mm mal 25 mm.
- Verschiedene Strategien für die Umhüllung sind entwickelt worden, um mit der großen Wärmeabeitung zurechtzukommen. Alle schließen irgendeine Art Wärmesenke oder Wärmeschmiermittelanordnung ein, um schnell unerwünschte Wärme abzuziehen, damit die mikroelektronische Einrichtung (Chip und Verbindungsdrähte) gegenüber physikalischem Versagen und Leistungsverschlechterung geschützt werden. Gas, wie Luft, und sogar Flüssigkeit, wie Wasser, Freon und wirksamere Kühlmittel werden typischerweise zusätzlich zu einer herkömmlichen Wärmesenke verwendet. Die Wärmesenkemaßnahmen jedoch wirken, die physikalische Größe, die Kosten, die mechanische Komplexität und das Gewicht der umhüllten, mikroelektronischen Einrichtung zu erhöhen. Des weiteren wirken die Anforderungen an die Wärmeabeitung (d.h., Wärmespannung), die physikalische Größe eines Chips zu begrenzen, der in einem einzelnen Gehäuse aufgenommen werden kann.
- Beispielhaft für Wärmeableitungsanforderungen sind herkömmliche Mikroprozessorchips, die bei Taktgeschwindigkeiten von bis zu 50 MHz lauten und typischerweise 5 Watt abgeleitete Energie beim normalen Betrieb erzeugen können. Um die Wärmeableitungsanforderung zu erfüllen, sind besondere Anordnungen von Wärmesenken vorgesehen.
- Das konstante Bestreben bei der Elektronik ist, die Größe mikroelektronischer Einrichtungen zu verringern, so daß kleinere und leichtere, elektronische Erzeugnisse und Computer hergestellt werden können. Diese Miniaturisierungsbestrebung fährt unbegrenzt fort und erzeugt historisch von Jahr zu Jahr dramatische Verringerung der physikalischen Größe.
- Die Wärmeableitungsanforderung jedoch wirkt als Hindernis bei diesem Miniaturisierungsvorgang der elektronischen und Computereinrichtungen. Mit anderen Worten begrenzt die Physik, Wärme von der mikroelektronischen Einrichtung ableiten zu müssen, die physikalische Größe und die Gewichtsverringerung der elektronischen oder Computereinrichtung, die erreicht werden kann. Dies beeinträchtigt auch die Lebensdauer mikroelektronischer Einrichtungen. Beispielsweise ist der Grund, warum ein Festkörperlaser eine kürzere Lebensdauer als eine Leuchtdiode aufweist, wegen der Wärmekonzentration auf einen kleinen Bereich.
- Eine sich merklich fortsetzende Bestrebung in der Elektronik ist die Zunahme von Eigenschaften und Funktionen und die Abnahme der Reaktionszeit, die von einer elektronischen oder Computereinrichtung geliefert werden können. Dies wird durch kompliziertere und leistungsstarkere, mikroelektronische Einrichtungen erzielt. Dies ist das Ergebnis zunehmender Integration aktiver Einrichtungen auf einem einzigen Chip. Jedoch ergeben zusätzliche, aktive Einrichtungen auf dem Chip erhöhte Wärmeableitungsanforderungen, die wirken, die Größenverringerung bei der Größe des Gehäuses der mikroelektronischen Einrichtung zu begrenzen, die erreicht werden kann. Selbst wenn die Versorgungsspannung verringert wird, gibt ein DEC's Alpha CMOS Chip beispielsweise 30 Watt bei 200 MHz ab, wie berichtet wird.
- Die dramatische Abnahme der physikalischen Größe von mikroelektronischen Einrichtungen verglichen mit ihrer Rechenfähigkeit und Merkmalen und Funktionen, die sie erzeugen können, hat die Erzeugung sehr kleiner Personalcomputer ergeben, die typischerweise Laptop-, Notebook- und Palmtop-Computer genannt werden. Dies ist der letzte Festpunkt bei einer weitergehenden Tendenz, Computer mit leistungsstarken Merkmalen und Funktionen in der Größe zu verringern.
- Ein typischer, tragbarer, heutiger Computer mit einem Mikroprozessor vom Typ 3865X besitzt physikalische Abmessungen von 30 cm (12 Inch) mal 40 cm (16 Inch) und ein Gewicht von 7 Kg (15 Pfund), von dem 0,5 Kg (1 Pfund) die aufladbare Batterie ist. Ein typischer, heutiger Laptop-Computer mit einem Mikroprozessor vom Typ 386SXL besitzt physikalische Abmessungen von 20 cm (8 Inch) mal 28 cm (11 Inch) mal 5 cm (2 Inch) und ein Gewicht von 2-3 Kg (5-7 Pfund), von denen 0,2 Kg (0,5 Pfund) die wiederaufladbare Batterie ist.
- Einer der kritischten Begrenzungsfaktoren bei solchen Notebook- (auch Laptop- und Palmtop-) Computern ist jedoch die Batterie, die benötigt wird, damit die Maschine läuft. Die Batterie muß eine ausreichende, elektrische Leistung liefern, so daß der Computer während einer ausreichend langen Zeitdauer arbeiten kann, um den Anforderungen eines Benutzers zu genügen. Eine typische Betriebszeit für Notebook-Computer ist heutzutage im Bereich von 3 bis 4 Stunden für eine einzige Batterieaufladung.
- Die Batterie umfaßt einen der größten Bauteile des Computersystems im Hinblick auf das Gewicht und die physikalische Größe. Jedoch ist es für den Benutzer kritisch, daß eine ausreichende, elektrische Leistung durch die Batterie bereitgestellt wird, damit daß der erwünschte Computerbetrieb während einer ausreichenden Zeitdauer vorliegen kann. Jedoch bewirkt diese Betriebsanforderung, daß die Gesamtgröße des Computersystems zunimmt, da die physikalische Größe der Batterie erhöht werden muß, um diese Anforderungen zu erfüllen.
- Infolgedessen wird eine beträchtliche Forschung und Entwicklung darauf gerichtet, wirksamere Batterien bei gegebener Größe und Gewicht zu erzeugen. Das Ziel ist hier, die Batterietechnologie bezüglich der Ladungskapazität zu erhöhen, so daß die sich ergebende Batterie bei gegebener Größe und Raum mehr Leistung und eine längere Dauer liefert. Dies wiederum wirkt, die Größe des Computersystems zu verringern, das sie verwendet.
- Zusatzlich dazu, die Batteriegröße zu verringern, ist betrachtlicher Aufwand darauf ausgedehnt worden, zu versuchen, die Leistung des Computersystems in Größen des Energieverbrauchs zu erhöhen. Eine herkömmliche Methode, wie sie von Intel verwendet wird, ist, die nichtverwendeten Peripheriechips auszuschalten. Dies tritt bei der Intel 80836 Chipeinheit auf. Indem nichtbenutzte Peripheriechips ausgeschaltet werden, kann eine bedeutende Batterielebensdauer erreicht werden, weil die Peripheriechips betrachtliche Mengen an Energie verbrauchten.
- Eine weitere Methode, die in dem AM386DXL Mikroprozessorchip von AMD ausgeführt ist, ist, die Taktgeschwindigkeit (z.B. von 40-0 MHz) zu verlangsamen, um Energie zu sparen.
- Im Hinblick auf das Obige besteht ein großes Bedürfnis zur Verbesserung der Warmeableitung und des Energieverbrauchs durch mikroelektronische Einrichtungen, insbesondere bei den mit Computersystemen verwendeten, um die Komplexitat und Größe bei der Unterbringung in Baugruppen zu verringern und die Funktionsfahigkeitszeit von Systemen zu erhöhen, wo Batterien verwendet werden, elektronisch die mikroelektronischen Einrichtungen zu versorgen.
- JP-A-63026716 offenbart eine Einrichtung, um den Stromverbrauch einer CPU zu verringern, indem wahlweise Takte an die Funktionseinheiten der CPU ausgegeben werden. Eine Taktverteilungsschaltung erhalt ein Steuersignal von einer Befehlsdecodierschaltung und führt Takte den Funktionseinheiten zu, die für den Befehl benötigt werden.
- Aus der DE-A40 40 382 ist eine integrierte Halbleitereinrichtung, die wenigstens einen Funktionsblock aufweist, bekannt. Der Block wird im voraus einer Operation aktiviert und nach Abschluß einer Operation inaktiviert, um dadurch den Stromverbrauch zu verringern. Ein Steuersignal zur Steuerung der Aktivierung und Inaktivierung des Blocks wird nach Maßgabe eines decodierten Befehls erzeugt.
- Die Zielsetzung der vorliegenden Erfindung ist, ein System und ein Verfahren für eine mikroelektronische Einrichtung zu schaffen, die den Stromverbrauch in hohem Maß verringern können.
- Diese Zielsetzung wird durch ein System gelöst, das die Merkmale des Anspruchs 1 aufweist, und durch ein Verfahren, das die Schritte umfaßt, wie sie im Anspruch 5 genannt sind. Bevorzugte Ausführungsformen sind Gegenstand verschiedener abhangiger Ansprüche.
- Eine mikroelektronische Einrichtung gemaß der vorliegenden Erfindung ist aus zwei oder mehr Funktionseinheiten aufgebaut, die alle auf einem einzigen Chip oder Wafer angeordnet sind. Die vorliegende Erfindung arbeitet nach der Strategie, daß alle Funktionseinheiten auf dem Chip zu einer gegebenen Zeit bei der Ausführung eines Computerprogramms nicht betriebsbereit sind oder es sein müssen, das die mikroelektronische Einrichtung steuert. Die vorliegende Erfindung schaltet deshalb auf einer sehr schnellen Grundlage (typischerweise ein halber Taktzyklus) die Funktionseinheiten der mikroelektronischen Einrichtung gemaß den Anforderungen des Programms ein und aus, das ausgeführt wird. Die Arbeitsweise der vorliegenden Erfindung ergibt eine sehr bedeutende Verringerung des Stromverbrauchs und der entsprechenden Wärmeabstrahlung durch die mikroelektronische Einrichtung verglichen mit der herkömmlichen Methode, alle Funktionseinheiten die gesamte Zeit betriebsbereit zu halten.
- Ein reprasentatives Beispiel der vorliegenden Erfindung, das hier beschrieben ist, hat eine Verringerung der Energieabstrahlung und des Stromverbrauchs von 30% verglichen mit der normalen, herkömmlichen Methode erreicht, alle funktionalen Betriebseinheiten wahrend der gesamten Zeit wahrend der Ausführung des Computerprogramms aktiv zu halten. In Abhangigkeit von der Architektur der mikroelektronischen Einrichtung und des Computerprogramms, das ausgeführt wird, können Verringerungen von 0% bis 50% erreicht werden. Bei einem einzelnen Skalarprozessor ware eine CPU auf der niedrigeren Seite im Vergleich zu einer CPU mit Superskalararchitektur, weil mehr Blökke haufiger unbenutzt bleiben.
- Wenn die Funktionseinheiten in noch kleinere Blöcke unterteilt werden, dann kann ein größerer Prozentsatz an Einheiten/Blöcken ausgeschaltet werden, vorausgesetzt, daß die notwendige Steuerlogik, die notwendig ist, das Schalten auszuführen, nicht zuviel Verwaltung hinzufügt.
- Die von der vorliegenden Erfindung zur Bestimmung verwendete Methode, wann Funktionseinheiten ein- und ausgeschaltet werden sollen, ist diejenige, die unter Verwendung einer Logikeinheit auf dem Chip ausgeführt wird, der die Ausführung und den Betrieb der Funktionseinheiten bestimmt (überwacht). Diese Überwachungsfunktion erzeugt Angaben über eine sich nahernde Operation (einschließlich Ausführung und Wartezeit, den erzeugten Befehl abzuschließen), die verwendet werden können, den Einschalt/Ausschalt-Betrieb der vorliegenden Erfindung zu steuern. Bei einer kompakten, preisgünstigen FPU auf einem Chip können z.B. nicht alle Einheiten gleichzeitig verwendet werden, oder eine Kollision kann sich ergeben. Wenn eine FALU Operation ausgeführt wird, mag der Multiplikations- oder die Divisionseinrichtung nicht gestattet sein, zu laufen. Der Strom zu diesen Einheiten kann deshalb abgeschaltet werden.
- Irgendeine geeignete, vorbestimmte Zeitdauer kann von der vorliegenden Erfindung verwendet werden, um die Funktionseinheiten gemaß den Anforderungen des Computerprogramms ein- und auszuschalten, das ausgeführt wird. Das Einschalten/Ausschalten kann so schnell wie ein halber Taktzyklus sein, wenn es erwünscht ist, damit eine maximale Energieabstrahlungseinsparung und Stromverbrauchsverringerung erzeugt werden. Andere Taktzyklusperioden zum Einschalten und Ausschalten können verwendet werden.
- Die vorliegende Erfindung sieht jede geeignete, elektronische Methode vor, um eine Funktionseinheit ein- und auszuschalten. Bei komplementaren Metalloxidhalbleiterschaltungen (CMOS) ist die bevorzugte Methode, das Taktsignal zu der Funktionseinheit anzuhalten, die ausgeschaltet wird. Die Funktionseinheit kann nachfolgend durch die entgegengesetzte Methode eingeschaltet werden, die zum Ausschalten verwendet wird.
- Die vorliegende Erfindung weist eine besondere Anwendbarkeit bei einer CMOS Schaltungsanordnung auf, weil sie den Vorteil der CMOS Eigenschaft vollstandig nutzt, daß von einer Schaltung kein Strom verbraucht wird, es sei denn, es liegt eine Zustandsanderung vor. Indem Zustandsanderungen in der Funktionseinheit(en) verhindert werden, die an dieser Stelle der Ausführung des Computerprogramms nicht verwendet werden, kann die vorliegende Erfindung die erwünschte Verringerung der Energieabstrahlungsanforderung und der Stromverbrauchsverringerung erzeugen. Die Strombusse ein/auszuschalten, ist nicht notwendig, und eine minimale Chipfläche wird zur Steuerung verlangt.
- Die vorliegende Erfindung wird besser unter Bezugnahme auf die folgenden Zeichnungen verstanden, wenn sie in Verbindung mit dem beigefügten Text betrachtet werden.
- Fig. 1 ist ein Blockdiagramm eines Grundplans auf einer hohen Ebene, das die Funktionseinheiten einer mikroelektronischen Einrichtung 100, die auf einem einzigen Chip 102 hergestellt ist, gemäß der vorliegenden Erfindung zeigt.
- Fig. 2 ist ein Ablaufdiagramm auf einer hohen Ebene, das die Arbeitsschritte auf einer hohen Ebene der vorliegenden Erfindung zeigt.
- Fig. 3 ist eine Darstellung von vier Spuren, die eine repräsentative Arbeitsweise einer Funktionseinheit gemäß der vorliegenden Erfindung zeigt;
- Fig. 4 ist ein Blockdiagramm einer Ausführungsform der vorliegenden Erfindung, um die Funktionseinheiten ein- und auszuschalten, wobei das Systemtaktsignal mit einem gesteuerten Steuersignal verwendet wird.
- Fig. 5 ist ein Blockdiagramm, um die Funktionseinheiten ein- und auszuschalten, indem der Zustand der Eingänge zu den Funktionseinheiten gesteuert wird.
- Fig. 6 ist ein Blockdiagramm einer Ausführungsform der vorliegenden Erfindung, wo die Überwachungsinformation 402 von einem Compilierer in Verbindung mit dem Compilieren von jedem Maschinencodebefehl erzeugt wird.
- Fig. 7 ist ein Blockdiagramm, wo die Überwachungsinformation 402 durch die Befehlsdecodiereinheit und die Befehlsausführeinheit, die mit den Maschinencodebefehlen arbeiten, erzeugt wird.
- Fig. 8 ist ein Blockdiagramm der Ausführungsform der vorliegenden Erfindung eines optimierenden Compilierers, der zur Umordnung der Maschinencodebefehle verwendet wird, damit eine maximale Energieeinsparung gemaß der vorliegenden Erfindung erzielt wird.
- Fig. 9 ist ein Blockdiagramm auf hoher Ebene eines Grundplans, das eine beispielhafte mikroelektronische Einrichtung 100 zeigt, die bei dem Beispiel der vorliegenden Erfindung verwendet wird.
- Fig. 10 zeigt ein Blockdiagramm eines Energieoptimierungsschemas, wie es bei einem Laptop- oder Palmtop-Computer gemaß der vorliegenden Erfindung angewendet wird.
- Die vorliegende Erfindung ist ein System und ein Verfahren zur wahlweisen Steuerung der jeder der Funktionseinheiten der mikroelektronischen Einrichtung gelieferten Energie, so daß die Funktionseinheiten ein- und ausgeschaltet werden können, wie sie bei der Ausführung des Computemrogramms benötigt werden, das die mikroelektronische Einrichtung steuert. Das dynamische Einschalten und Ausschalten der Funktionseinheiten gemaß den Anforderungen des Programmschritts/Programmschritte, die ausgeführt werden, bewirkt eine betrachtliche Verringerung der Energie (z.B. 10-30%), die von den Funktionseinheiten verbraucht wird, was eine merkliche Verringerung der Warmeabstrahlungsanforderungen und eine merkliche Verringerung der Energieanforderungen der mikroelektronischen Einrichtung ergibt. Die vorliegende Erfindung ergibt eine bedeutende Verringerung bei den Warmeabstrahlungsanforderungen und bei den Energieanforderungen für die mikroelektronische Einrichtung, was bedeutet, daß die Anforderungen an Warmesenken verringert werden und die Batterieentladungszykluslange ausgedehnt wird, was beides ein sehr erwünschtes Ergebnis ist. Des weiteren können die Strombusleitungsweiten verringert werden. Dies führt zu einer wesentlichen Flacheneinsparung für Chips mit Größtintegration.
- Fig. 1 zeigt den Grundriß einer beispielhaften, mikroelektronischen Einrichtung gemaß der vorliegenden Erfindung. Wie es gezeigt ist, weist die mikroelektronische Einrichtung, die allgemein mit dem Bezugszeichen 100 angegeben ist, einen Chip 102 auf, der z.B. aus Silicium hergestellt ist und auf dem verschiedene Funktionseinheiten ausgeführt sind, die die Architektur der elektronischen Schaltung bilden, die auf dem Chip 102 hergestellt ist. Wie es gezeigt ist, schließen diese Funktionseinheiten des repräsentativen Beispiels ein: eine Systemtakteinheit 104, eine zentrale Verarbeitungseinheit (CPU) 106, eine Cache-Steuereinheit (CCU) 108, eine Gleitkomma-Einheit (FPU) 110, eine ganzzahlige Einheit (INT) 112 und eine Speichersteuereinheit (MCU) 114. Es versteht sich, daß die Funktionseinheiten, die in Fig. 1 gezeigt sind, lediglich dem Zweck der Darstellung dienen. Die vorliegende Erfindung zieht irgendeine Anordnung von Funktionseinheiten auf dem Chip 102 der mikroelektronischen Einrichtung 100 in Betracht. Beispielsweise könnte die mikroelektronische Einrichtung 100 einen Speicher sowie logische Funktionseinheiten einschließen. Die vorliegende Erfindung zieht gegenwartige und zukünftige Computerarchitekturen in Betracht, wie sie auf einem einzigen Halbleiterchip oder Substrat ausgeführt werden.
- Wie es in Fig. 1 gezeigt ist, ist eine Logikeinheit 116 Teil der mikroelektronischen Einrichtung 100. Die Logikeinheit 116 arbeitet, wie es mehr im einzelnen unten erörtert ist, mit dem Systemtakt 104, um zu bestimmen, wann ein- und auszuschalten ist, und tatsachlich die Versorgung der Taktsignale zu den Funktionseinheiten gemaß einer Ausführungsform der vorliegenden Erfindung ein- und auszuschalten.
- Fig. 2 zeigt ein Ablaufdiagramm auf hoher Ebene, das die Arbeitsweise auf hoher Ebene des Systems und des Verfahrens de vorliegenden Erfindung darstellt. Nun auf Fig. 2 bezugnehmend verwendet die vorliegende Erfindung vier grundsatzliche Arbeitsschritte.
- Erstens, die vorliegende Erfindung decodiert (oder bestimmt sonstwie) die Maschinencodebefehle (von dem Quellencode compilierte) des Computerprogramms, das auf der mikroelektronischen Einrichtung 100 lauft (sie steuert). Bei dem ersten Schritt überwacht die vorliegende Erfindung den Maschinencode, um zu bestimmen, welche bestimmte Funktionseinheit(en) als nachstes benötigt wird, den nachsten Befehl auszuführen, der zur Ausführung ausgegeben wird. Eine vorbestimmte Taktzyklusgröße (der Einfachheit halber CCA genannt), bevor eine Funktionseinheit(en) benötigt wird, den nachsten Maschinenbefehl auszuführen, der ausgegeben wird, wird als Zeitrahmen verwendet, den die vorliegende Erfindung verwendet, um nach den nachsten Maschinencodebefehlen zu sehen, bevor sie ausgegeben werden, ausgeführt zu werden. Diese Taktzyklusgröße CCA erlaubt der vorliegenden Erfindung, die geeigneten, logischen Schritte auszuführen, damit die Funktionseinheit(en) rechtzeitig eingeschaltet wird, so daß der ausgegebene Maschinencodebefehl der Reihe nach ausgefiehrt werden kann. Dieser erste Schritt oder Block ist mit einem Bezugszeichen 202 angegeben.
- Bei einem Schritt oder Block 204 entfernt die vorliegende Erfindung die Schalt-Sperrsteuerungssignale von der Funktionseinheit eine vorbestimmten Taktzyklusperiode (nur der Einfachheit halber Takteinschaltung CKPWRUP genannt) bevor die Funktionseinheit bereit sein muß, um den ausgegebenen Maschinencodebefehl auszuführen. Die Schalffähigkeit wird wahrend der Taktfreischaltung CKPWRUP bereitgestellt, so daß die Funktionseinheit voll betriebsbereit ist, wenn der betreffende Maschinencodebefehl an die Funktionseinheit ausgegeben wird. Somit kann man bei diesem zweiten Schritt sehen, daß die vorliegende Erfindung die betreffende Funktionseinheit(en) ausreichend früher aktiviert, als dann, wenn sie benötigt wird, den Maschinencodebefehl auszuführen, so daß die Funktionseinheit(en) voll betriebsbereit ist, wenn die Ausführung stattfinden muß.
- Irgendeine Größe an Taktzyklen kann für die Taktfreischaltung CKPWRUP ausgewahlt werden. Bei einer bevorzugten Ausführungsform der vorliegenden Erfindung wird ein einzelner, halber Taktzyklus verwendet. Mit anderen Worten, die Funktionseinheit wird innerhalb eines einzigen, halben Taktzyklus aktiviert, bevor sie zur Ausführung eines ausgegebenen Maschinencodebefehls benötigt wird. Man kann somit erkennen, daß die Funktionseinheit aus oder in einem "Bereitschafts"-Modus bleibt (der den Zustand ohne Eingang beschreibt, der keinen Stromverbrauch bewirkt) bis zu dem allerletzten Moment bleibt, bevor sie zur Ausführung des Maschinencodebefehls benötigt wird.
- Bei einem dritten Schritt oder Block 206 fahrt die vorliegende Erfindung fort, der Funktionseinheit wahrend einer vorbestimmten Taktzyklusperiode (der Einfachheit halber Takteinschaltung CKPWRON genannt) eine Schatmöglichkeit bereitzustellen. CKPWRON ist die Zeitdauer (Anzahl der Taktzyklen), die von der Funktionseinheit verlangt wird, den ausgegebenen Maschinencodebefehl auszuführen. Als solche schließt sie die Taktzyklen ein, die benötigt werden, den ausgegebenen Befehl zu erhalten, und die Taktzyklen, die gleich der Warteperiode der Funktionseinheit sind, die Ausführung des Befehls abzuschließen.
- Der vierte und letzte Schritt oder Block der vorliegenden Erfindung ist durch ein Bezugszeichen 208 wiedergegeben. Bei diesem vierten Schritt wird die Schatmöglichkeit der Funktionseinheit nicht länger nach einer vorbestimmten Taktzyklusperiode (Taktausschaltung CKPWRDN) bereitgestellt, nachdem die Funktionseinheit die verlangte Aufgabe abgeschlossen hat, den Maschinencodebefehl des Computerprogramms auszuführen. Mit anderen Worten wird die Funktionseinheit abgeschaltet (inaktiviert) nachdem sie die verlangte Aufgabe ausgeführt hat. Auf diese Weise wird die Funktionseinheit nicht eingeschaltet oder aktiv beibehalten&sub3; nachdem sie nicht länger benötigt wird. Ein typischer Wert für CKPWRDN ist ein einzelner halber Taktzyklus. Diese Ausführungsform mit Aktivierung/Inaktivierung ist für Funktionseinheiten geeignet, die Speicher, Zustandsbewahrung oder Ähnliches verlangen. Andere Techniken liegen auch innerhalb des Bereiches der vorliegenden Erfindung.
- Das Verbinden/Trennen eines Stromversorgungsbusses ist auch in Betracht gezogen. Das Hinzufügen eines Leistungsschalters/ von Leistungsschaltern, die zwischen VDD und jeder Funktionseinheit verbunden sind, kann verwendet werden, die Stromzuführung zu den Funktionseinheiten ein- und auszuschalten, indem der Leistungsschalter (z.B., ein FET (Feldeffekttransistor)) unter Verwendung des obigen CKPWRON Steuersignals oder Ähnlichem gesteuert wird. In diesem Fall der Stromabschaltung wird ein gewisser Gleichstrom durch den Leistungsschalter verbraucht, wobei sich aber mit den unterbrochenen Funktionseinheit(en) eine Gesamteinsparung ergibt.
- Das Nettoergebnis dieser vier Schritte der vorliegenden Erfindung ist eine beträchtliche Verringerung der von der mikroelektronischen Einrichtung 100 verbrauchten Energie. Diese Verringerung ergibt sich aufgrund der Tatsache, daß die Funktionseinheiten nicht eingeschaltet bleiben, wenn sie nicht benötigt werden. Wie im einzelnen unten erläutert ist, wird, da eine CMOS Technologie verwendet wird, Strom nur verbraucht, wenn eine Funktionseinheit ihren Zustand ändert (d.h., schaltet). Da eine Funktionseinheit "aus" ist, wenn sie an einer Zustandsänderung gehindert wird, wird ein vernachlässigbarer Strom von dieser Funktionseinheit verbraucht. Dies bedeutet, daß eine Funktionseinheit, die ausgeschaltet ist, keine Energie verbraucht, was die Verringerung des Energieverbrauchs ergibt.
- Da der Energieverbrauch verringert wird, werden die Wärmeableitungsanforderungen des Chips 102 und die damit verbundene Unterbringung der mikroelektronischen Einrichtung 100 als Baugruppe (nicht gezeigt) verringert. Des weiteren kann, wenn eine Batteriequelle verwendet wird, diese für eine gegebene Betriebszeitdauer kleiner gemacht werden. Des weiteren kann die Leitungsweite der Stromzuführungsbusse ebenfalls verringert werden, weil der Stromverbrauch verringert ist.
- Ein repräsentatives Beispiel der Arbeitsweise der vorliegenden Erfindung gemäß dem Ablaufdiagramm der Fig. 2 ist nun unter Bezugnahme auf Fig. 3 beschrieben. Fig. 3 zeigt vier Spuren, von denen jede denselben Zeitrahmen auf der horizontalen Achse aufweist. Die vertikale Achse jeder Spur gibt die Amplitude eines Signals oder den Zustand einer Funktionseinheit oder den Arbeitszustand gemäß der vorliegenden Erfindung an, wie es unten beschrieben ist. Die obere Spur 301 zeigt die Wellenform 302, die der Ausgang des Systemtaktgebers 104 (Fig. 1) ist, d.h., der Takt für alle Funktionseinheiten, die die mikroelektronische Einrichtung 100 bilden. Die zwei Systemtakte sind um 180º phasenverschoben.
- Die repräsentative Funktionseinheit der Fig. 3, die für diese Erläuterung gewählt ist, ist eine Gleitkommaeinheit (FPU) 110. Wie es in dem Beispiel des Abschnitt unten erörtert ist, zeigt es sich, daß die FPU 110 in vielen Computersystemen ungefähr 10% der Zeit benutzt wird. infolgedessen erzeugt die vorliegende Erfindung eine beträchtliche Verringerung der Energieableitungsanforderungen und des Stromverbrauchs, soweit er sich auf die FPU 110 bezieht, wie es offensichtliche wird.
- Die dritte Spur 305 zeigt die Ausführung zweiter Gleitkomma-Operationen. Die erste Gleitkomma-Operation, die mit A bezeichnet ist, ist durch einen Kasten 306 angegeben. Der Kasten 306 gibt die Anzahl Taktzyklen wieder, die verlangt wird, die Gleitkomma- Operation A auszuführen. Ähnlich ist eine Gleitkomma-Operation B, wie sie durch einen Kasten 318 angegeben ist, auch dargestellt und zeigt die Anzahl Taktzyklen, die verlangt wird, sie auszuführen. Insbesondere werden 5 Taktzyklen benötigt, um die Gleitkomma-Operation A auszuführen, und zwei Taktzyklen werden benötigt, die Gleitkomma-Operation 5 auszuführen. Es versteht sich, daß diese Zeitrahmen nur zum Zweck der Darstellung sind. Tatsächlich kann es bei der wirklichen Praxis sein, daß die Gleitkomma-Operation eine Anzahl Zyklen benötigt, die auszuführen sind. Des weiteren kann es Tausende von Zyklen zwischen jeder Gleitkomma-Operation geben. Jedoch ist Fig. 3 nicht groß genug, dies graphisch darzustellen. Somit sind der Abstand zwischen den Gleitkomma-Operationen A und B und die Länge einer jeden zum Zweck der Darstellung beliebig klein gemacht worden.
- Die vierte Spur 307 der Fig. 3 stellt die vier Schritte dar, die in bezug auf jede der Gleitkomma-Operationen A und B stattfinden. In bezug auf die Gleitkomma-Operation A ist die CCA Periode dargestellt, daß sie drei halbe Zyklen verlangt. Diese CCA Periode ist durch das Bezugszeichen 308 angegeben. Eine CKPWRUP Periode für die Gleitkomma-Operation A ist ein einziger, halber Taktzyklus und ist durch einen Zeitblock 310 angegeben. Die Zeitdauer, die die Gleitkomma-Operation A benötigt, entspricht der CKPWRON Periode, die durch einen Zeitblock 312 dargestellt ist. Schließlich ist eine CKPWRDN Periode ein halber Taktzyklus und ist durch einen Zeitblock 314 dargestellt.
- Die tatsächliche Arbeitsweise der FPU 110, die Gleitkomma-Operation A auszuführen, wird gemaß der vorliegenden Erfindung gesteuert, indem der Systemtakt 302 dem Takteingang der FPU 110 während der Zeitdauer der Taktzyklen geliefert wird, die durch das Bezugszeichen 304 der Spur 303 angegeben sind. Man sieht in der Spur 303, daß der Systemtakt, der dem Takteingang der FPU geliefert wird, einen halben Taktzyklus vor dem Beginn der Ausführung der Gleitkomma-Operation A bereitgestellt wird und während eines halben Taktzyklus nach Beendigung der Gleitkomma-Operation A beibehaltenwird.
- Ein ähnliches Beispiel ist für die Gleitkomma-Operation B gezeigt. Erneut auf die Spur 307 bezugnehmend ist die CCA Periode durch einen Zeitblock 320 angegeben, der zum Zweck der Darstellung gezeigt ist, als daß er drei halbe Zyklen benötigt. Ein CKPWRUP Zeitblock 322 ist ein halber Taktzyklus. Ein CKPWRON Zeitblock 324 ist zwei Taktzyklen, die dem Zeitrahmen entsprechen, der von der FPU 110 verlangt wird, die Gleitoperation B zu beenden. Schließlich ist ein CKPWRDN Zeitblock 326 ein halber Taktzyklus.
- Fig. 3 stellt die Energieeinsparung dar, die sich bei der Arbeitsweise gemäß der vorliegenden Erfindung ergibt. Insbesondere kann man unter Bezugnahme auf die Spur 303 sehen, daß sich der Zustand der FPU 110 nur ändern darf, wenn es ein Taktsignal gibt, das an den Takteingang der FPU angelegt ist. Mit anderen Worten ist die FPU 110 bei dem dargestellten Beispiel nur während der Periode 304 und während der Periode 316 betreibbar und ist während der dazwischenliegenden Zeitperioden nicht betreibbar Somit kann man sehen, wo die Energieeinsparungen gemäß der vorliegenden Erfindung auftreten.
- Man sollte erkennen, daß alle Funktionseinheiten in der mikroelektronischen Einrichtung 100 ähnlich durch die vorliegende Erfindung gesteuert werden, so daß nur die Funktionseinheit(en), die benötigt wird, den letzten Maschinencodebefehl auszuführen, der ausgegeben worden ist, eingeschaltet ist. Alle anderen unbenötigten Funktionseinheiten sind ausgeschaltet. Somit ergeben sich beträchtliche Energieeinsparungen gemäß der vorliegenden Erfindung.
- Die vorliegende Erfindung weist eine besondere Anwendbarkeit auf integriete CMOS Schaltungen auf. Der Grund hierfür ist, daß CMOS Schaltungen nur Strom verbrauchen, wenn sie ihren Zustand ändern. Mit anderen Worten wird Strom nur verbraucht, wenn ein Schalten auftritt. Unter dem Gesichtspunkt des Übergangs- oder Wechselstroms ist die verbrauchte Energiemenge, einen Knoten zu schalten, proportional zu CV², wo C = Kapazitätswert in Farad für den geschalteten Knoten und V die Spannung von der Bahn VSS zu der Bahn VDD ist. Unter dem Gesichtspunkt des kontinuierlichen Zustands oder des Gleichstroms ist die Größe der verbrauchten Energie gleich 5-15% in Abhängigkeit von den Variablen des Herstellungsverfahrens und der Eingangsanstiegsgeschwindigkeit.
- Ein CMOS sollte mit BiCMOS verglichen werden, wo der Stromverbrauch der bipolaren Schaltung wegen eines zu "geringen" Eingangswiderstands durch die Basis der Einrichtung und des verwendeten Stromsteuermechanismus nicht ausgeschaltet werden kann. Im Gegensatz haben CMOS (und MOS Einrichtungen im allgemeinen) eine hohe Eingangsimpedanz an der Gateelektrode wegen der elektrischen Isoliereigenschaften des Gateoxids.
- Ein CMOS sollte ebenfalls mit einer bipolaren Transistorschaltungsanordnung verglichen werden. Bipolare Transistoren verbrauchen elektrische Energie unabhängig davon, ob irgendein Schalten auftritt oder nicht. Mit anderen Worten fließt Strom in der Schaltung, selbst wenn kein Schalten stattfindet. Dies ist der Grund, warum die CMOS Technologie die Technologie der Wahl bei integrierten Schaltungen geworden ist, wobei aufgrund ihres niedrigen Energieverbrauches eine Verkleinerung der Stromversorgungen (z.B. Batterien für tragbare Computer) machbar ist.
- Die vorliegende Erfindung ist besonders auf einer CMOS Schatungsanordnung anwendbar. Sie ist auch auf einem BiCMOS, NMOS, MESFET, einer I²L und einer GaAs Schaltungsanordnung ebenfalls anwendbar.
- Die vorliegende Erfindung zieht jegliche geeignete Methode in Betracht, um zu steuern, ob sich der Zustand einer Funktionseinheit ändern darf. Diese Steuerung von Zustandsänderungen schaltet die Funktionseinheit ein und aus und erzeugt die erwünschte Energieverringerung gemäß der vorliegenden Erfindung.
- Es wird nun auf Fig. 4 Bezug genommen, in der eine repräsentative Methode zur Steuerung des Zustands einer Funktionseinheit gemäß der vorliegenden Erfindung gezeigt ist. Diese Methode steuert die Bereitstellung des Systemtaktsignals 302 für die betreffende Funktionseinheit. Die Funktionseinheit verbraucht nur Energie, wenn die vorliegende Erfindung das Systemtaktsignal 302 bereitstellt. Es wird nun auf Fig. 4 Bezug genommen, wobei die logische Einheit 116 der vorliegenden Erfindung die Ausgabe von Maschinencodebefehlen über einen Weg 402 gemäß irgendeiner geeigneten Methode bestimmt (z.B. durch Decodierung), die unten erörtert ist. Die durch den Weg 402 bereitgestellte Intelligenz erlaubt der Logikeinheit 116, zu wissen, wann verschiedene Funktionseinheiten gemäß der vorliegenden Erfindung ein- bzw. und auszuschalten sind.
- Der Systemtaktgenerator 104 liefert das Systemtaktsignal 302 an die Logikeinheit 116. Zum Zweck der Darstellung sind vier Funktionseinheiten gezeigt, die mit #1, #2, #3 und #4 bezeichnet sind. Das Bezugszeichen 406 entspricht der Funktionseinheit 1, das Bezugszeichen 410 entspricht der Funktionseinheit 2, das Bezugszeichen 414 entspricht der Funktionseinheit 3 und das Bezugszeichen 418 entspricht der Funktionseinheit 4. Jede Funktionseinheit 406, 410, 414 und 418 besitzt eine entsprechende Takteingangsleitung 404, 408, 412 bzw. 416.
- Beim Betrieb liefert die Logikeinheit 116 ein Systemtaktsignal 302 an die geeignete Takteingangsleitung für die Funktionseinheitkomma-die eingeschaltet wird. Wenn diese Funktionseinheit ausgeschaltet werden soll, liefert die Logikeinheit 116 nicht länger den Systemtakt 302. Da die Funktionseinheit ohne Bereitstellung des Taktsignals den Zustand nicht ändern kann, wird durch die Funktionseinheiten, die kein Taktsignal 302 erhalten, keine Energie verbraucht. Auf diese Weise wird eine Funktionseinheit ein- oder ausgeschaltet, indem das Taktsignal 302 ein- oder ausgeschaltet wird.
- Eine alternative Methode, die Funktionseinheiten ein- und auszuschalten, ist in Fig. 5 gezeigt. Es wird nun auf Fig. 5 Bezug genommen, wobei die Funktionseinheiten 406, 410, 414 bzw. 418 ein- und ausgeschaltet werden, indem die Zustandsänderung der Eingänge zu diesen Funktionseinheiten gesteuert wird. Indem nicht gestattet wird, daß die Eingänge der Funktionseingänge die aus sind, den Zustand ändern, schaltet dieses Methode wirksam solche Funktionseinheiten aus. Nur die Eingänge von Funktionseinheiten, die ein sind, dürfen den Zustand ändern.
- Fig. 5 zeigt eine Möglichkeit, diese Strategie auszuführen. Eine Technik, die Eingänge vom Schalten abzuhalten, ist den vorhergehenden Eingang (bei 502 gezeigt) zwischenzuspeichern und zu halten, wobei eine bekannte gesteuerte Zwischenspeichereinrichtung verwendet wird (siehe z.B. die Zwischenspeicher 504, 510, 516 und 522). Die Zwischenspeicher 504, 510, 516 und 522 werden gesteuert, die zwischengespeicherten Eingänge über Steuerleitungen 508, 514, 520 und 526 hindurchzulassen, die von der Logikeinheit 116 auf der Grundlage des Signals 402 erzeugt werden können, wie es für den Durchschnittsfachmann auf dem Gebiet offensichtlich ist. Alternativ können die Eingänge auf einen hohen lmpedanzwert gezwungen werden, indem der Eingang mit einem Steuersignal einer logischen UND-Verknüpfung unterzogen wird. Viele andere funktional äquivalente Techniken werden für den Durchschnittsfachmann auf dem Gebiet ohne weiteres offensichtlich.
- Eine ähnliche Struktur und Arbeitsweise wird auf die Funktionseinheit 410, die Funktionseinheit 414 und die Funktionseinheit 418 angewendet. Deshalb wird eine getrennte Erörterung von ihnen nicht benötigt.
- Die vorliegende Erfindung verwendet die folgende Methode, um die Überwachungsinformationen auf der Leitung 402 zu erhalten, die von der Logikeinheit 116 verwendet wird, um zu bestimmen, wann jede Funktionseinheit während der Ausführung der Maschinencodebefehle ein- und ausgeschaltet werden soll.
- Wie es in Fig. 6 gezeigt ist, wird ein Computerprogramm in Quellencodeform, das mit einem Bezugszeichen 602 bezeichnet ist, einem Compilierer 604 zugeführt, um den Quellencode 602 in Maschinencode zu compilieren. Der Compilierer 604 erzeugt Maschinencodebefehle nach dem Compilieren des Quellencodes. Zum Zweck der Darstellung sind sechs Maschinencodebefehle 606, 610, 614, 618, 622 und 626 gezeigt. Jeder Maschinencodebefehl hat einen entsprechenden Funktionseinheitsdatenblock, der die Überwachungsinformation enthält, die über den Weg 402 der Logikeinheit 116 zugeführt wird. Die Funktionseinheitsdaten (FUD), die einen gegebenen Maschinencodebefehl begleiten, könnten somit der Logikeinheit 116 erlauben, die mikroelektronische Einrichtung 100 gemäß der vorliegenden Erfindung zu betreiben.
- Eine alternative Möglichkeit, Überwachungsinformationen auf der Leitung 402 zu liefern, ist in Fig. 7 gezeigt. Hier liefert der tatsächliche Betrieb eines Superskalarmikroprozessors eines Computers (RISC) mit verringertem Befehlssatz, was eine typische Anwendung der vorliegenden Erfindung ist, die Überwachungsinformation auf der Leitung 402 wie folgt. Das Quellencodecomputerprogramm 602 wird einem Compilierer 702 zugeführt, der Maschinencodebefehle 704 erzeugt. Die Maschinencodebefehle werden zuerst einer Befehlsdecodiereinheit (IDU) 706 zugeführt. Die decodierten Befehle von IDU 706 werden einer Befehlsausführungseinheit (IEU) 708 zugeführt.
- Die IDU 706 und die IEU 708 liefern, indem sie eine umgeordnete Ausführung durchführen, die decodierten Informationen 402, wie es angegeben ist. Diese decodierte Information kann die Form einer Datenabhängigkeitsinformation, einer Befehlsausgabeinformation oder Ähnlichem annehmen. Die Information ist von der Befehlsablaufsteuerungslogik verfügbar. Ein Beispiel einer Befehlsablaufsteuerlogik ist in der mitanhängigen Anmeldung mit dem Titel "Superscalar RISC Instruction Scheduling" US-A-5 497 499 auffindbar, die gemeinsames Eigentum ist.
- Fig. 8 zeigt eine Ausführungsform der vorliegenden Erfindung, wobei ein Optimierungscompilierer 802 verwendet wird, die Maschinencodebefehle in einer Weise zu ordnen, die die Energieeinsparung maximiert, die durch die vorliegende Erfindung erzeugt wird.
- Diese Energieeinsparung wird erreicht, indem die Maschinencodebefehle aus der Reihenfolge umgeordnet werden, wie sie von dem Quellencode abgeleitet wird. Die Umordnung wird gemacht, um die Verringerung des Energieverbrauchs durch die mikroelektronische Einrichtung 100 in Verbindung mit dem laufenden Computerprogramm 602 zu optimieren.
- Ein repräsentatives Blockdiagramm, das eine solche Optimierung zeigt, ist in Fig. 8. Wie es gezeigt ist, erzeugt der Optimierungscompilierer 802 einen Ausgang in der Form umgeordneter Maschinencodebefehle. Zum Zweck der Darstellung werden die gleichen Maschinencodebefehle mit den begleitenden Daten der Funktionseinheit, die in Fig. 6 angetroffen werden, verwendet, um das Umordnungskonzept zu zeigen. Man sieht, daß die Maschinencodebefehle mit ihren zugeordneten FUD umgeordnet sind. Dieses Beispiel dient dazu, darzustellen, daß die Umordnung eine Optimierung in Größen einer Energieverbrauchsverringerung erzeugen kann.
- Die umgeordneten Maschinencodebefehle werden dann an die Funktionseinheiten ausgegeben, die durch die Logikeinheit 116 gemäß der in Verbindung mit Fig. 6 beschriebenen Arbeitsweise gesteuert werden. Wenn der Compilierer 802 bestimmt, daß ein oder mehrere Funktionsblöcke nach dem Befehl 1 für irgendeine Anzahl Zyklen nicht verwendet werden, kann sie Sperr- oder Stromabschaltsignale an diesen einen oder an mehrere Funktionsblöcke schicken, um das Takten anzuhalten, Eingänge zu sperren oder die Stromversorgung auszuschalten, wie es auch sein mag, bis der eine oder mehrere Blöcke in der Zukunft benötigt werden.
- Um die Energieeinsparung aufzuzeigen, die von der vorliegenden Erfindung erwartet werden kann, ist unten ein Beispiel einer mikroelektronischen Einrichtung 100 beschrieben. Man beachte, daß dies nur beispielhaft ist. Jedoch stellt es weiter dar, wie die vorliegenden Erfindung die beträchtliche Energieverringerung erreicht, die auftritt.
- Um einen repräsentativen Wertebereich für eine Energieverringerung zu zeigen, die durch die vorliegende Erfindung erreicht werden kann, wurde die mikroelektronische Einrichtung 100 verwendet, die die in dem Grundriß der Fig. 9 gezeigten Funktionseinheiten aufweist. Bei diesem Beispiel zeigt Tabelle 1 für einen 5W Chip den repräsentativen Prozentsatz der Benutzung und der Energieeinsparung. Man beachte, daß die gesamte Stromabschalteinsparung 46% (2,3/5) darstellt. Tabelle 1
- Die "selektiven Abschalt"-Techniken der vorliegenden Erfindung können ohne weiteres bei stark strukturierten, funktionalen Einheiten/Modulen angewendet werden, die in einer mitanhängigen Anmeldung mit dem Titel "Hardware Emulation Accelerator and Method" WO 93/16433, die Gemeinschaftseigentum ist, geoffenbart sind.
- Wie es oben erörtert worden ist, erzeugt die vorliegende Erfindung beträchtliche Einsparungen bei dem Energieverbrauch. Dies hat eine sehr direkte Wirkung auf Laptop- und Palmtop-Computer, wo das Gewicht sehr kritisch ist, wenn es nicht der kritischste Faktor im Hinblick auf die Benutzerakzeptanz ist. Selbst eine Verringerung von 0,25 kg kann für einen Benutzer ausreichend sein, diesen bestimmten Computer gegenüber einer schwereren Version auszuwählen. Obgleich merkliche Schritte im Hinblick auf die Batterietechnologie gemacht worden sind, die eine beträchtliche Gewichtsverringerung ergeben, wäre irgendeine Verringerung des Energieverbrauchs äußerst bedeutend, da sie eine viel längere Betriebsdauer für eine gegebene Batterie und Batterieladung erzeugen würde.
- Fig. 10 zeigt ein Blockdiagramm einer Strategie, die gemäß der vorliegenden Erfindung verwendet werden kann. Wie es gezeigt ist, kann der Benutzer eine längere Batteriedaueroption auswählen, wenn der Laptop- und der Palmtop-Computer betrieben werden. Dies ist durch 1002 angegeben. Sobald diese Option ausgewählt ist, verwendet die vorliegende Erfindung ein Optimierungsschema, wie es durch das Bezugszeichen 1004 angegeben ist und das wirkt, den Energieverbrauch der mikroelektronischen Einrichtung zu verringern. Dies könnte viele unterschiedliche Formen annehmen, wie eine Umordnung der Maschinencodebefehle oder einen Betrieb bestimmter Funktionseinheiten getrennt und unabhängig voneinander.
- Diese Methode besitzt eine besondere Anwendbarkeit bei Situationen, wo der Laptop- oder Palmtop-Computer während einer ausgedehnten Zeitdauer von einer üblichen Spannungsquelle entfernt verwendet wird. Mit anderen Worten, die Einheit läuft ausschließlich mit der Batterie. Der Benutzer wünscht, die Betriebszeit des Laptop- oder Palmtop-Computers in einer solchen Situation zu maximieren. Diese Optimierungsmethode gestattet, daß dies erreicht wird.
Claims (7)
1. Ein System für eine mikroelektronische Einrichtung zur Verringerung des
Energieverbrauchs und der Wärmeableitungsanforderungen, wobei das genannte
System umfaßt:
(a) eine Takteinrichtung (104) zur Erzeugung eines Systemtaktsignals;
(b) eine Compilierereinrichtung (604, 7092, 802) zur Compilierung von
Quellencode in Maschinencodebefehle (602);
(c) eine erste Funktionseinheit (406, 410, 4141 418) zur Ausführung einer ersten
Gruppe der genannten Maschinencodebefehle;
(d) eine zweite Funktionseinheit (406, 410, 414, 418) zur Ausführung einer
zweiten Gruppe der genannten Maschinencodebefehle; und
(e) eine Logikeinrichtung (116), damit das genannte Systemtaktsignal (302) der
genannten ersten Funktionseinheit nur während einer Periode zugeführt wird, die
damit zusammenfällt, wenn die genannte erste Funktionseinheit die genannte
erste Gruppe der genannten Maschinencodebefehle ausführt, und damit das
genannte Systemtaktsignal (302) der genannten zweiten Funktionseinheit nur
während einer zweiten Periode zugeführt wird, die damit zusammenfällt, wenn die
genannte zweite Funktionseinheit die genannte zweite Gruppe der genannten
Maschinencodebefehle ausführt,
dadurch gekennzeichnet, daß
die genannte Compiliereinrichtung (604, 702, 802) die genannten
Maschinencodebefehle (602) umordnet, um die Energieverbrauchsverringerung zu
optimieren, und daß jeder Maschinencodebefehl einen zugeordneten Datenblock (608,
612... 628) aufweist, der angibt, ob die genannte erste Funktionseinheit oder die
genannte zweite Funktionseinheit benötigt wird, den Maschinencodebefehl
auszuführen, und daß die genannte Logikeinrichtung (116) konfiguriert ist, den
genannten Datenblock eine vorbestimmte Anzahl von Systemtaktzyklen vor der
Ausführung der Maschinencodeinstruktion auszuwerten, um zu bestimmen,
welche der genannten Funktionseinheiten (112, 114) den Befehl ausführen wird.
2. Das System des Anspruchs 1, das des weiteren wenigstens einen
Leistungsschalter umfaßt, der mit der genannten Logikeinrichtung (116) und der
genannten ersten und zweiten Funktionseinheit (402, 420, 414, 418) gekoppelt ist, um
die Funktionseinheiten mit einer Stromversorgung zu verbinden.
3. Das System wenigstens eines der Ansprüche 1 bis 2, das des weiteren eine
Befehldecodiereinheit (706) umfaßt, um Befehle zu decodieren und decodierte
Informationen der genannten Logikeinrichtung (116) zuzuführen.
4. Das System wenigstens eines der Ansprüche 1 bis 3, das des weiteren eine
Zwischenspeichereinrichtung (504, 510, 516, 522) umfaßt, um die Taktsignale von
der Logikeinheit (116) zwischenzuspeichern, die den Funktionseinheiten (406,
410, 414, 418) zugeführt werden.
5. Ein Verfahren zur Verringerung des Energieverbrauchs einer
mikroelektronischen Einrichtung, die eine Mehrzahl Funktionseinheiten (406, 410, 414, 418)
aufweist, indem gestattet wird, daß ein Strom zu jeder Funktionseinheit der
mikroelektronischen Einrichtung nur fließt, wenn die Funktionseinheit notwendig ist,
eine Operation in Verbindung mit der Ausführung eines Maschinencodebefehls
(704) aus einem Strom von Maschinencodebefehlen auszuführen, wobei das
Verfahren die Schritte umfaßt:
(1) Auswerten eines Stroms von Maschinencodebefehlen, um bei einem
Maschinenbefehl auf Maschinenbefehlsgrundlage zu bestimmen, welche
Funktionseinheit
notwendig sein wird, um eine Operation durchzuführen, um jeden
Maschinenbefehl auszuführen;
(2) Umordnen der genannten Maschinencodebefehle, um dadurch die
Energieverbrauchsverringerung zu optimieren;
(3) Zuführen elektrischer Energie zu den genannten notwendigen
Funktionseinheiten, um die Operation(en) auszuführen, zu einer vorbestimmten
Zykuszeitgröße vor der Ausführung;
(4) Fortfahren, elektrische Energie gemaß Schritt (3) nur solange zuzuführen, wie
es die Ausführung des genannten Maschinencodebefehls verlangt; und
(5) Wiederholen der Schritte (1) bis (4) für jeden Maschinencodebefehl, wodurch
die Energieableitung und der Energieverbrauch durch die mikroelektronische
Einrichtung verringert werden.
6. Das Verfahren des Anspruchs 5, wobei der Schritt, elektrische Energie den
Schritten (3) und (4) zuzuführen, einen Schritt umfaßt, eine
Stromversorgungsspannung an die Funktionseinheit(en) (406, 410, 414, 418) zu liefern.
7. Das Verfahren des Anspruchs 5, wobei der Schritt, Energie den Schritten (3) und
(4) zuzuführen, einen Schritt umfaßt, eine Systemtaktsignal der
Funktionseinheit(en) (406, 410, 414, 418) zu liefern.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/860,717 US5452401A (en) | 1992-03-31 | 1992-03-31 | Selective power-down for high performance CPU/system |
PCT/JP1993/000418 WO1993020498A1 (en) | 1992-03-31 | 1993-03-30 | Selective power-down for high performance cpu/system |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69320180D1 DE69320180D1 (de) | 1998-09-10 |
DE69320180T2 true DE69320180T2 (de) | 1998-12-10 |
Family
ID=25333862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69320180T Expired - Lifetime DE69320180T2 (de) | 1992-03-31 | 1993-03-30 | Selektiver abschaltbetrieb für ein hochleistungs-cpu-system. |
Country Status (7)
Country | Link |
---|---|
US (10) | US5452401A (de) |
EP (1) | EP0634030B1 (de) |
JP (10) | JP3510884B2 (de) |
KR (1) | KR950701098A (de) |
DE (1) | DE69320180T2 (de) |
HK (1) | HK1014785A1 (de) |
WO (1) | WO1993020498A1 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6910139B2 (en) | 2000-10-02 | 2005-06-21 | Fujitsu Limited | Software processing apparatus with a switching processing unit for displaying animation images in an environment operating base on type of power supply |
Families Citing this family (220)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0429780B1 (de) * | 1989-11-29 | 1997-11-12 | Kabushiki Kaisha Toshiba | Zum Anschluss einer Erweiterungseinheit geeignetes Rechnersystem |
US6343363B1 (en) * | 1994-09-22 | 2002-01-29 | National Semiconductor Corporation | Method of invoking a low power mode in a computer system using a halt instruction |
US5452401A (en) * | 1992-03-31 | 1995-09-19 | Seiko Epson Corporation | Selective power-down for high performance CPU/system |
US5603036A (en) * | 1993-02-19 | 1997-02-11 | Intel Corporation | Power management system for components used in battery powered applications |
EP0651314A1 (de) * | 1993-10-27 | 1995-05-03 | International Business Machines Corporation | Vorrichtung und Verfahren zum thermischen Schutz eines Verarbeitungsgerätes |
US5677849A (en) * | 1993-11-08 | 1997-10-14 | Cirrus Logic, Inc. | Selective low power clocking apparatus and method |
US5546037A (en) * | 1993-11-15 | 1996-08-13 | Cirrus Logic, Inc. | NAPNOP circuit for conserving power in computer systems |
US5754798A (en) * | 1994-02-18 | 1998-05-19 | Kabushiki Kaisha Toshiba | Computer system with function for controlling system configuration and power supply status data |
GB9405855D0 (en) * | 1994-03-24 | 1994-05-11 | Int Computers Ltd | Computer system |
US5666537A (en) * | 1994-08-12 | 1997-09-09 | Intel Corporation | Power down scheme for idle processor components |
US6311287B1 (en) * | 1994-10-11 | 2001-10-30 | Compaq Computer Corporation | Variable frequency clock control for microprocessor-based computer systems |
US6272465B1 (en) | 1994-11-02 | 2001-08-07 | Legerity, Inc. | Monolithic PC audio circuit |
US5675808A (en) * | 1994-11-02 | 1997-10-07 | Advanced Micro Devices, Inc. | Power control of circuit modules within an integrated circuit |
DE69635409T2 (de) * | 1995-03-06 | 2006-07-27 | Intel Corp., Santa Clara | Ein rechnersystem mit unbewachter auf-anfrage-verfügbarkeit |
US5710933A (en) * | 1995-03-31 | 1998-01-20 | International Business Machines Corporation | System resource enable apparatus |
US5901322A (en) * | 1995-06-22 | 1999-05-04 | National Semiconductor Corporation | Method and apparatus for dynamic control of clocks in a multiple clock processor, particularly for a data cache |
US7500952B1 (en) * | 1995-06-29 | 2009-03-10 | Teratech Corporation | Portable ultrasound imaging system |
US5752045A (en) * | 1995-07-14 | 1998-05-12 | United Microelectronics Corporation | Power conservation in synchronous SRAM cache memory blocks of a computer system |
US5943242A (en) * | 1995-11-17 | 1999-08-24 | Pact Gmbh | Dynamically reconfigurable data processing system |
GB2308469A (en) * | 1995-12-22 | 1997-06-25 | Motorola Inc | Power conserving clocking system |
US7266725B2 (en) | 2001-09-03 | 2007-09-04 | Pact Xpp Technologies Ag | Method for debugging reconfigurable architectures |
US5724611A (en) * | 1996-04-25 | 1998-03-03 | Vlsi Technology, Inc. | Automatic cache controller system and method therefor |
US6785826B1 (en) * | 1996-07-17 | 2004-08-31 | International Business Machines Corporation | Self power audit and control circuitry for microprocessor functional units |
US6000036A (en) * | 1996-07-17 | 1999-12-07 | International Business Machines Corp. | Logical steering to avoid hot spots on integrated circuits |
KR100225057B1 (ko) * | 1996-07-23 | 1999-10-15 | 윤종용 | 오디오시스템이 있는 모니터의 전원공급 제어장치 및 그 제어방법 |
US5805907A (en) * | 1996-10-04 | 1998-09-08 | International Business Machines Corporation | System and method for reducing power consumption in an electronic circuit |
GB2317975B (en) * | 1996-10-04 | 2001-09-12 | Ibm | System and method for reducing power consumption in an electronic circuit |
US5870616A (en) * | 1996-10-04 | 1999-02-09 | International Business Machines Corporation | System and method for reducing power consumption in an electronic circuit |
US6476627B1 (en) * | 1996-10-21 | 2002-11-05 | Delta Design, Inc. | Method and apparatus for temperature control of a device during testing |
US6489793B2 (en) * | 1996-10-21 | 2002-12-03 | Delta Design, Inc. | Temperature control of electronic devices using power following feedback |
JP3344544B2 (ja) * | 1996-10-22 | 2002-11-11 | 株式会社東芝 | コンピュータシステム |
US5926640A (en) * | 1996-11-01 | 1999-07-20 | Digital Equipment Corporation | Skipping clock interrupts during system inactivity to reduce power consumption |
US5953237A (en) * | 1996-11-25 | 1999-09-14 | Hewlett-Packard Company | Power balancing to reduce step load |
DE19651075A1 (de) * | 1996-12-09 | 1998-06-10 | Pact Inf Tech Gmbh | Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen |
US6085325A (en) * | 1996-12-16 | 2000-07-04 | Intel Corporation | Method and apparatus for supporting power conservation operation modes |
DE19654595A1 (de) | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen |
US6338106B1 (en) | 1996-12-20 | 2002-01-08 | Pact Gmbh | I/O and memory bus system for DFPS and units with two or multi-dimensional programmable cell architectures |
US5832284A (en) * | 1996-12-23 | 1998-11-03 | International Business Machines Corporation | Self regulating temperature/performance/voltage scheme for micros (X86) |
US5834961A (en) * | 1996-12-27 | 1998-11-10 | Pacific Communication Sciences, Inc. | Gated-clock registers for low-power circuitry |
DE19654846A1 (de) | 1996-12-27 | 1998-07-09 | Pact Inf Tech Gmbh | Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.) |
DE59710317D1 (de) | 1996-12-27 | 2003-07-24 | Pact Inf Tech Gmbh | VERFAHREN ZUM SELBSTÄNDIGEN DYNAMISCHEN UMLADEN VON DATENFLUSSPROZESSOREN (DFPs) SOWIE BAUSTEINEN MIT ZWEI- ODER MEHRDIMENSIONALEN PROGRAMMIERBAREN ZELLSTRUKTUREN (FPGAs, DPGAs, o.dgl.) |
US5951689A (en) * | 1996-12-31 | 1999-09-14 | Vlsi Technology, Inc. | Microprocessor power control system |
US5887131A (en) * | 1996-12-31 | 1999-03-23 | Compaq Computer Corporation | Method for controlling access to a computer system by utilizing an external device containing a hash value representation of a user password |
US6282663B1 (en) * | 1997-01-22 | 2001-08-28 | Intel Corporation | Method and apparatus for performing power management by suppressing the speculative execution of instructions within a pipelined microprocessor |
DE19704728A1 (de) | 1997-02-08 | 1998-08-13 | Pact Inf Tech Gmbh | Verfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines |
US6542998B1 (en) | 1997-02-08 | 2003-04-01 | Pact Gmbh | Method of self-synchronization of configurable elements of a programmable module |
DE19704742A1 (de) | 1997-02-11 | 1998-09-24 | Pact Inf Tech Gmbh | Internes Bussystem für DFPs, sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen, zur Bewältigung großer Datenmengen mit hohem Vernetzungsaufwand |
KR100215849B1 (ko) * | 1997-02-28 | 1999-08-16 | 구본준 | 파워 서스팬드 처리장치 |
GB2323188B (en) * | 1997-03-14 | 2002-02-06 | Nokia Mobile Phones Ltd | Enabling and disabling clocking signals to elements |
JP3961619B2 (ja) * | 1997-06-03 | 2007-08-22 | 株式会社東芝 | コンピュータシステムおよびその処理速度制御方法 |
CN1157641C (zh) * | 1997-09-03 | 2004-07-14 | 松下电器产业株式会社 | 处理器 |
US8686549B2 (en) | 2001-09-03 | 2014-04-01 | Martin Vorbach | Reconfigurable elements |
AU9604698A (en) | 1997-10-10 | 1999-05-03 | Rambus Incorporated | Method and apparatus for two step memory write operations |
AU9798798A (en) * | 1997-10-10 | 1999-05-03 | Rambus Incorporated | Power control system for synchronous memory device |
US6401167B1 (en) | 1997-10-10 | 2002-06-04 | Rambus Incorporated | High performance cost optimized memory |
US6216187B1 (en) | 1997-12-01 | 2001-04-10 | Toshiba America Information Systems, Inc. | System for powering down a portable computer in a docking station |
DE19861088A1 (de) | 1997-12-22 | 2000-02-10 | Pact Inf Tech Gmbh | Verfahren zur Reparatur von integrierten Schaltkreisen |
US6049882A (en) * | 1997-12-23 | 2000-04-11 | Lg Semicon Co., Ltd. | Apparatus and method for reducing power consumption in a self-timed system |
US6219796B1 (en) * | 1997-12-23 | 2001-04-17 | Texas Instruments Incorporated | Power reduction for processors by software control of functional units |
DE19807872A1 (de) | 1998-02-25 | 1999-08-26 | Pact Inf Tech Gmbh | Verfahren zur Verwaltung von Konfigurationsdaten in Datenflußprozessoren sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstruktur (FPGAs, DPGAs, o. dgl. |
US6308279B1 (en) * | 1998-05-22 | 2001-10-23 | Intel Corporation | Method and apparatus for power mode transition in a multi-thread processor |
JP2000020187A (ja) * | 1998-07-07 | 2000-01-21 | Fujitsu Ltd | 情報処理装置及び電力制御方法並びに記録媒体 |
US6357011B2 (en) | 1998-07-15 | 2002-03-12 | Gateway, Inc. | Bus-powered computer peripheral with supplement battery power to overcome bus-power limit |
US6237101B1 (en) * | 1998-08-03 | 2001-05-22 | International Business Machines Corporation | Microprocessor including controller for reduced power consumption and method therefor |
US6233690B1 (en) * | 1998-09-17 | 2001-05-15 | Intel Corporation | Mechanism for saving power on long latency stalls |
EP0992916A1 (de) | 1998-10-06 | 2000-04-12 | Texas Instruments Inc. | Digitaler Signalprozessor |
US6990570B2 (en) | 1998-10-06 | 2006-01-24 | Texas Instruments Incorporated | Processor with a computer repeat instruction |
US6345362B1 (en) | 1999-04-06 | 2002-02-05 | International Business Machines Corporation | Managing Vt for reduced power using a status table |
US6477654B1 (en) | 1999-04-06 | 2002-11-05 | International Business Machines Corporation | Managing VT for reduced power using power setting commands in the instruction stream |
US6535905B1 (en) | 1999-04-29 | 2003-03-18 | Intel Corporation | Method and apparatus for thread switching within a multithreaded processor |
US6438700B1 (en) * | 1999-05-18 | 2002-08-20 | Koninklijke Philips Electronics N.V. | System and method to reduce power consumption in advanced RISC machine (ARM) based systems |
US6848058B1 (en) * | 1999-06-04 | 2005-01-25 | Ati International Srl | Power reduction circuit and method with multi clock branch control |
DE10081643D2 (de) | 1999-06-10 | 2002-05-29 | Pact Inf Tech Gmbh | Sequenz-Partitionierung auf Zellstrukturen |
JP3420120B2 (ja) | 1999-06-29 | 2003-06-23 | 日本電気株式会社 | 同期型半導体メモリシステム |
DE19948099A1 (de) * | 1999-10-06 | 2001-04-19 | Infineon Technologies Ag | Prozessorsystem, insbesondere ein Prozessorsystem für Kommunikationseinrichtungen |
US6357016B1 (en) * | 1999-12-09 | 2002-03-12 | Intel Corporation | Method and apparatus for disabling a clock signal within a multithreaded processor |
US6496925B1 (en) | 1999-12-09 | 2002-12-17 | Intel Corporation | Method and apparatus for processing an event occurrence within a multithreaded processor |
US6889319B1 (en) | 1999-12-09 | 2005-05-03 | Intel Corporation | Method and apparatus for entering and exiting multiple threads within a multithreaded processor |
US7058833B1 (en) * | 2000-01-18 | 2006-06-06 | Paradyne Corp. | System and method for minimized power consumption for frame and cell data transmission systems |
US7856633B1 (en) | 2000-03-24 | 2010-12-21 | Intel Corporation | LRU cache replacement for a partitioned set associative cache |
JP2004506261A (ja) | 2000-06-13 | 2004-02-26 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | パイプラインctプロトコルおよびct通信 |
EP1182548A3 (de) * | 2000-08-21 | 2003-10-15 | Texas Instruments France | Dynamische Hardware-Steuerung für Energieverwaltungsysteme mit Aufgabenattributen |
EP1182552A3 (de) * | 2000-08-21 | 2003-10-01 | Texas Instruments France | Dynamische Hardware-Konfiguration für Energieverwaltungsysteme mit Aufgabenattributen |
US6766460B1 (en) * | 2000-08-23 | 2004-07-20 | Koninklijke Philips Electronics N.V. | System and method for power management in a Java accelerator environment |
US7620832B2 (en) * | 2000-09-20 | 2009-11-17 | Mips Technologies, Inc. | Method and apparatus for masking a microprocessor execution signature |
US6625737B1 (en) * | 2000-09-20 | 2003-09-23 | Mips Technologies Inc. | System for prediction and control of power consumption in digital system |
US8058899B2 (en) | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
US7174194B2 (en) * | 2000-10-24 | 2007-02-06 | Texas Instruments Incorporated | Temperature field controlled scheduling for processing systems |
TW482954B (en) * | 2000-11-10 | 2002-04-11 | Via Tech Inc | Internal operation method of chip set to reduce the power consumption |
US6988211B2 (en) * | 2000-12-29 | 2006-01-17 | Intel Corporation | System and method for selecting a frequency and voltage combination from a table using a selection field and a read-only limit field |
US20020108009A1 (en) * | 2000-12-29 | 2002-08-08 | Michele Borgatti | Electronic system having modular expansion function facilities |
US6990555B2 (en) * | 2001-01-09 | 2006-01-24 | Pact Xpp Technologies Ag | Method of hierarchical caching of configuration data having dataflow processors and modules having two- or multidimensional programmable cell structure (FPGAs, DPGAs, etc.) |
US20020112193A1 (en) * | 2001-02-09 | 2002-08-15 | International Business Machines Corporation | Power control of a processor using hardware structures controlled by a compiler with an accumulated instruction profile |
US6895520B1 (en) | 2001-03-02 | 2005-05-17 | Advanced Micro Devices, Inc. | Performance and power optimization via block oriented performance measurement and control |
US7844796B2 (en) | 2001-03-05 | 2010-11-30 | Martin Vorbach | Data processing device and method |
US9037807B2 (en) | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
US7444531B2 (en) | 2001-03-05 | 2008-10-28 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
US7107471B2 (en) * | 2001-03-21 | 2006-09-12 | Apple Computer, Inc. | Method and apparatus for saving power in pipelined processors |
US7058834B2 (en) * | 2001-04-26 | 2006-06-06 | Paul Richard Woods | Scan-based state save and restore method and system for inactive state power reduction |
US20020166075A1 (en) * | 2001-05-04 | 2002-11-07 | Sanjay Agarwal | Low power interface between a control processor and a digital signal processing coprocessor |
US7318145B1 (en) | 2001-06-01 | 2008-01-08 | Mips Technologies, Inc. | Random slip generator |
US7657877B2 (en) | 2001-06-20 | 2010-02-02 | Pact Xpp Technologies Ag | Method for processing data |
JP4733877B2 (ja) * | 2001-08-15 | 2011-07-27 | 富士通セミコンダクター株式会社 | 半導体装置 |
US7996827B2 (en) | 2001-08-16 | 2011-08-09 | Martin Vorbach | Method for the translation of programs for reconfigurable architectures |
US7434191B2 (en) | 2001-09-03 | 2008-10-07 | Pact Xpp Technologies Ag | Router |
DE10144904C2 (de) * | 2001-09-12 | 2003-08-21 | Infineon Technologies Ag | SIMD-Prozessor mit Unterprogramm-Steuereinheit |
US8686475B2 (en) | 2001-09-19 | 2014-04-01 | Pact Xpp Technologies Ag | Reconfigurable elements |
US7539878B2 (en) | 2001-09-19 | 2009-05-26 | Freescale Semiconductor, Inc. | CPU powerdown method and apparatus therefor |
FI20011947A (fi) * | 2001-10-05 | 2003-04-06 | Nokia Corp | Menetelmä suorittimen toiminnan ohjaamiseksi ja suoritin |
US6775787B2 (en) * | 2002-01-02 | 2004-08-10 | Intel Corporation | Instruction scheduling based on power estimation |
US7114086B2 (en) * | 2002-01-04 | 2006-09-26 | Ati Technologies, Inc. | System for reduced power consumption by monitoring instruction buffer and method thereof |
WO2003060747A2 (de) | 2002-01-19 | 2003-07-24 | Pact Xpp Technologies Ag | Reconfigurierbarer prozessor |
US6971038B2 (en) * | 2002-02-01 | 2005-11-29 | Broadcom Corporation | Clock gating of sub-circuits within a processor execution unit responsive to instruction latency counter within processor issue circuit |
EP2043000B1 (de) | 2002-02-18 | 2011-12-21 | Richter, Thomas | Bussysteme und Rekonfigurationsverfahren |
US8914590B2 (en) | 2002-08-07 | 2014-12-16 | Pact Xpp Technologies Ag | Data processing method and device |
KR20040111532A (ko) * | 2002-04-18 | 2004-12-31 | 코닌클리즈케 필립스 일렉트로닉스 엔.브이. | 다중 이슈 프로세서 |
KR20040101344A (ko) * | 2002-04-19 | 2004-12-02 | 인터내셔널 비지네스 머신즈 코포레이션 | 마이크로프로세서, 인스트럭션 시퀀스 발생 방법 및 이를구현한 프로그램 디바이스 |
JP3685150B2 (ja) * | 2002-04-26 | 2005-08-17 | セイコーエプソン株式会社 | クロック制御回路、データ転送制御装置及び電子機器 |
JP3685151B2 (ja) * | 2002-04-26 | 2005-08-17 | セイコーエプソン株式会社 | クロック制御回路、データ転送制御装置及び電子機器 |
JP3776058B2 (ja) * | 2002-05-30 | 2006-05-17 | Necエレクトロニクス株式会社 | システムlsi、システムlsiの設計方法、及び、記録媒体 |
US6795781B2 (en) * | 2002-06-27 | 2004-09-21 | Intel Corporation | Method and apparatus for compiler assisted power management |
US6934865B2 (en) * | 2002-07-09 | 2005-08-23 | University Of Massachusetts | Controlling a processor resource based on a compile-time prediction of number of instructions-per-cycle that will be executed across plural cycles by the processor |
US7493607B2 (en) * | 2002-07-09 | 2009-02-17 | Bluerisc Inc. | Statically speculative compilation and execution |
US7278136B2 (en) * | 2002-07-09 | 2007-10-02 | University Of Massachusetts | Reducing processor energy consumption using compile-time information |
JP2004064209A (ja) * | 2002-07-25 | 2004-02-26 | Toshiba Corp | 録画再生装置及び電源制御方法 |
US7657861B2 (en) | 2002-08-07 | 2010-02-02 | Pact Xpp Technologies Ag | Method and device for processing data |
AU2003286131A1 (en) | 2002-08-07 | 2004-03-19 | Pact Xpp Technologies Ag | Method and device for processing data |
US7394284B2 (en) | 2002-09-06 | 2008-07-01 | Pact Xpp Technologies Ag | Reconfigurable sequencer structure |
US7152169B2 (en) * | 2002-11-29 | 2006-12-19 | Intel Corporation | Method for providing power management on multi-threaded processor by using SMM mode to place a physical processor into lower power state |
EP1570334A2 (de) * | 2002-12-04 | 2005-09-07 | Koninklijke Philips Electronics N.V. | Registerspeichertorschaltung zur reduzierung des energieverbrauchs eines mikroprozessors |
EP1573490A2 (de) * | 2002-12-04 | 2005-09-14 | Koninklijke Philips Electronics N.V. | Softwaregestützte steuerung der mikroprozessorverlustleistung |
US7290152B2 (en) * | 2002-12-30 | 2007-10-30 | International Business Machines Corporation | Method and system for managing power within a compute component of a multiprocessor system |
US6992675B2 (en) * | 2003-02-04 | 2006-01-31 | Ati Technologies, Inc. | System for displaying video on a portable device and method thereof |
JP2004318502A (ja) * | 2003-04-16 | 2004-11-11 | Matsushita Electric Ind Co Ltd | 電力制御機能を備えたマイクロプロセッサ及び命令変換装置 |
US7134028B2 (en) * | 2003-05-01 | 2006-11-07 | International Business Machines Corporation | Processor with low overhead predictive supply voltage gating for leakage power reduction |
JP3919740B2 (ja) * | 2003-07-30 | 2007-05-30 | 株式会社ソニー・コンピュータエンタテインメント | 回路動作制御装置および情報処理装置 |
EP1676208A2 (de) | 2003-08-28 | 2006-07-05 | PACT XPP Technologies AG | Datenverarbeitungseinrichtung und verfahren |
JP4549652B2 (ja) * | 2003-10-27 | 2010-09-22 | パナソニック株式会社 | プロセッサシステム |
US20050114850A1 (en) | 2003-10-29 | 2005-05-26 | Saurabh Chheda | Energy-focused re-compilation of executables and hardware mechanisms based on compiler-architecture interaction and compiler-inserted control |
US7996671B2 (en) | 2003-11-17 | 2011-08-09 | Bluerisc Inc. | Security of program executables and microprocessors based on compiler-architecture interaction |
US7287173B2 (en) * | 2003-12-19 | 2007-10-23 | Intel Corporation | Method for computing power consumption levels of instruction and recompiling the program to reduce the excess power consumption |
US7428645B2 (en) * | 2003-12-29 | 2008-09-23 | Marvell International, Ltd. | Methods and apparatus to selectively power functional units |
US8607209B2 (en) | 2004-02-04 | 2013-12-10 | Bluerisc Inc. | Energy-focused compiler-assisted branch prediction |
US7275168B2 (en) * | 2004-02-23 | 2007-09-25 | Avago Technologies Wireless Ip (Singapore) Pte. Ltd. | System and method for providing clock signals based on control signals from functional units and on a hibernate signal |
JP3830491B2 (ja) * | 2004-03-29 | 2006-10-04 | 株式会社ソニー・コンピュータエンタテインメント | プロセッサ、マルチプロセッサシステム、プロセッサシステム、情報処理装置および温度制御方法 |
US8224639B2 (en) * | 2004-03-29 | 2012-07-17 | Sony Computer Entertainment Inc. | Methods and apparatus for achieving thermal management using processing task scheduling |
US8019194B2 (en) * | 2004-04-05 | 2011-09-13 | S. two Corp. | Digital audio and video recording and storage system and method |
US7395419B1 (en) * | 2004-04-23 | 2008-07-01 | Apple Inc. | Macroscalar processor architecture |
US7617496B2 (en) | 2004-04-23 | 2009-11-10 | Apple Inc. | Macroscalar processor architecture |
US7401240B2 (en) * | 2004-06-03 | 2008-07-15 | International Business Machines Corporation | Method for dynamically managing power in microprocessor chips according to present processing demands |
US7206950B2 (en) * | 2004-06-16 | 2007-04-17 | Matsushita Electric Industrial Co., Ltd. | Processor system, instruction sequence optimization device, and instruction sequence optimization program |
US7500123B2 (en) * | 2004-06-28 | 2009-03-03 | Ati Technologies Ulc | Apparatus and method for reducing power consumption in a graphics processing device |
US7284137B2 (en) * | 2004-06-29 | 2007-10-16 | Intel Corporation | System and method for managing power consumption within an integrated circuit |
US7302596B2 (en) * | 2004-07-21 | 2007-11-27 | Giga-Byte Technology Co., Ltd. | Circuit capable of updating power supply specification of microprocessor and method thereof |
JP2006048190A (ja) * | 2004-08-02 | 2006-02-16 | Seiko Epson Corp | 情報処理装置および電力制御方法 |
JP2006059068A (ja) * | 2004-08-19 | 2006-03-02 | Matsushita Electric Ind Co Ltd | プロセッサ装置 |
US7313713B2 (en) * | 2004-08-20 | 2007-12-25 | Agere Systems Inc. | Sequential/combinational logic transistor segregation for standby power and performance optimization |
US20060064606A1 (en) * | 2004-09-21 | 2006-03-23 | International Business Machines Corporation | A method and apparatus for controlling power consumption in an integrated circuit |
US7386661B2 (en) | 2004-10-13 | 2008-06-10 | Marvell International Ltd. | Power save module for storage controllers |
KR100636596B1 (ko) * | 2004-11-25 | 2006-10-23 | 한국전자통신연구원 | 고에너지 효율 병렬 처리 데이터 패스 구조 |
JP4341542B2 (ja) * | 2004-12-15 | 2009-10-07 | セイコーエプソン株式会社 | 情報処理装置および情報処理方法 |
JP4617879B2 (ja) * | 2004-12-28 | 2011-01-26 | セイコーエプソン株式会社 | 情報処理装置および情報処理方法 |
US7386747B2 (en) * | 2005-05-10 | 2008-06-10 | Qualcomm Incorporated | Method and system for reducing power consumption of a programmable processor |
JP4341594B2 (ja) * | 2005-06-30 | 2009-10-07 | セイコーエプソン株式会社 | 情報処理装置及び電力制御方法をコンピュータに実行させるためのプログラム |
US7644294B2 (en) * | 2006-01-06 | 2010-01-05 | Advanced Micro Devices, Inc. | Dynamically self-decaying device architecture |
US8250503B2 (en) | 2006-01-18 | 2012-08-21 | Martin Vorbach | Hardware definition method including determining whether to implement a function as hardware or software |
US7882380B2 (en) * | 2006-04-20 | 2011-02-01 | Nvidia Corporation | Work based clock management for display sub-system |
US7536569B2 (en) * | 2006-04-24 | 2009-05-19 | Dell Products L.P. | System and method for managing power provided to a portable information handling system |
US7937606B1 (en) | 2006-05-18 | 2011-05-03 | Nvidia Corporation | Shadow unit for shadowing circuit status |
CN100483305C (zh) * | 2006-06-12 | 2009-04-29 | 中芯国际集成电路制造(上海)有限公司 | 用于asic器件功率控制的系统和方法 |
US7996689B2 (en) * | 2006-06-12 | 2011-08-09 | Semiconductor Manufacturing International (Shanghai) Corporation | System and method for power control for ASIC device |
TW200801925A (en) * | 2006-06-23 | 2008-01-01 | Nat Univ Chung Cheng | Method for energy-efficient scheduling optimization for compiler |
JP4531020B2 (ja) * | 2006-08-01 | 2010-08-25 | ルネサスエレクトロニクス株式会社 | 半導体集積回路 |
US20080040590A1 (en) * | 2006-08-11 | 2008-02-14 | Lea Hwang Lee | Selective branch target buffer (btb) allocaiton |
US20080040591A1 (en) * | 2006-08-11 | 2008-02-14 | Moyer William C | Method for determining branch target buffer (btb) allocation for branch instructions |
US8001407B2 (en) | 2006-10-31 | 2011-08-16 | Hewlett-Packard Development Company, L.P. | Server configured for managing power and performance |
US20080126766A1 (en) | 2006-11-03 | 2008-05-29 | Saurabh Chheda | Securing microprocessors against information leakage and physical tampering |
US7917784B2 (en) | 2007-01-07 | 2011-03-29 | Apple Inc. | Methods and systems for power management in a data processing system |
US8667198B2 (en) * | 2007-01-07 | 2014-03-04 | Apple Inc. | Methods and systems for time keeping in a data processing system |
US20080172398A1 (en) * | 2007-01-12 | 2008-07-17 | Borkenhagen John M | Selection of Processors for Job Scheduling Using Measured Power Consumption Ratings |
JP4856562B2 (ja) * | 2007-02-02 | 2012-01-18 | 株式会社リコー | 画像処理装置 |
US8645740B2 (en) * | 2007-06-08 | 2014-02-04 | Apple Inc. | Methods and systems to dynamically manage performance states in a data processing system |
US7711864B2 (en) | 2007-08-31 | 2010-05-04 | Apple Inc. | Methods and systems to dynamically manage performance states in a data processing system |
US8037331B2 (en) | 2008-04-28 | 2011-10-11 | Dell Products L.P. | Energy efficient method to wake host system for charging battery powered portable devices via bus powered external i/o ports |
US8316252B2 (en) * | 2008-05-30 | 2012-11-20 | Advanced Micro Devices, Inc. | Distributed clock gating with centralized state machine control |
US8255726B2 (en) * | 2008-07-18 | 2012-08-28 | International Business Machines Corporation | Zero indication forwarding for floating point unit power reduction |
US8245065B2 (en) * | 2009-03-04 | 2012-08-14 | International Business Machines Corporation | Power gating processor execution units when number of instructions issued per cycle falls below threshold and are independent until instruction queue is full |
JP2010231306A (ja) * | 2009-03-26 | 2010-10-14 | Nec Corp | コンピュータシステム、ハードウェアリソース制御方法及びそのプログラム |
US7906996B1 (en) * | 2009-08-18 | 2011-03-15 | Nxp B.V. | System and method for controlling an integrated circuit in different operational modes |
US9348355B2 (en) | 2009-08-24 | 2016-05-24 | Ati Technologies Ulc | Display link clocking method and apparatus |
US9760333B2 (en) * | 2009-08-24 | 2017-09-12 | Ati Technologies Ulc | Pixel clocking method and apparatus |
US8269525B2 (en) * | 2009-11-17 | 2012-09-18 | Ati Technologies Ulc | Logic cell having reduced spurious toggling |
US8736619B2 (en) | 2010-07-20 | 2014-05-27 | Advanced Micro Devices, Inc. | Method and system for load optimization for power |
EP2593860B1 (de) * | 2010-07-13 | 2020-08-19 | Advanced Micro Devices, Inc. | Dynamische aktivierung und deaktivierung von simd-einheiten bei einem grafischen prozessor |
US9311102B2 (en) | 2010-07-13 | 2016-04-12 | Advanced Micro Devices, Inc. | Dynamic control of SIMDs |
CN103003769B (zh) | 2010-07-20 | 2016-02-24 | 飞思卡尔半导体公司 | 时钟电路、电子设备以及提供时钟信号的方法 |
US8918446B2 (en) * | 2010-12-14 | 2014-12-23 | Intel Corporation | Reducing power consumption in multi-precision floating point multipliers |
KR101754203B1 (ko) * | 2011-01-19 | 2017-07-07 | 삼성전자주식회사 | 파워 게이팅 기반의 재구성가능 프로세서, 이를 위한 컴파일 장치 및 방법 |
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 |
US8799693B2 (en) * | 2011-09-20 | 2014-08-05 | Qualcomm Incorporated | Dynamic power optimization for computing devices |
US9098309B2 (en) | 2011-09-23 | 2015-08-04 | Qualcomm Incorporated | Power consumption optimized translation of object code partitioned for hardware component based on identified operations |
US8909961B2 (en) | 2011-11-29 | 2014-12-09 | Ati Technologies Ulc | Method and apparatus for adjusting power consumption level of an integrated circuit |
CN102520632A (zh) * | 2011-12-16 | 2012-06-27 | Tcl通力电子(惠州)有限公司 | 检测音频信号的方法、电路和音频产品 |
US9367080B2 (en) * | 2011-12-22 | 2016-06-14 | Intel Corporation | Apparatus, system, and method for providing clock signal on demand |
US9218048B2 (en) * | 2012-02-02 | 2015-12-22 | Jeffrey R. Eastlack | Individually activating or deactivating functional units in a processor system based on decoded instruction to achieve power saving |
US9229524B2 (en) | 2012-06-27 | 2016-01-05 | Intel Corporation | Performing local power gating in a processor |
JP5971713B2 (ja) | 2012-09-20 | 2016-08-17 | 株式会社東芝 | Icカード |
US9274591B2 (en) * | 2013-07-22 | 2016-03-01 | Globalfoundries Inc. | General purpose processing unit with low power digital signal processing (DSP) mode |
US9459676B2 (en) | 2013-10-28 | 2016-10-04 | International Business Machines Corporation | Data storage device control with power hazard mode |
US9703910B2 (en) * | 2015-07-09 | 2017-07-11 | International Business Machines Corporation | Control path power adjustment for chip design |
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 |
US10338670B2 (en) | 2016-06-10 | 2019-07-02 | Microsoft Technology Licensing, Llc | Input voltage reduction for processing devices |
US10209726B2 (en) | 2016-06-10 | 2019-02-19 | Microsoft Technology Licensing, Llc | Secure input voltage adjustment in processing devices |
US10248186B2 (en) | 2016-06-10 | 2019-04-02 | Microsoft Technology Licensing, Llc | Processor device voltage characterization |
US10310572B2 (en) | 2016-06-10 | 2019-06-04 | Microsoft Technology Licensing, Llc | Voltage based thermal control of processing device |
US10255462B2 (en) | 2016-06-17 | 2019-04-09 | Arm Limited | Apparatus and method for obfuscating power consumption of a processor |
US9977680B2 (en) * | 2016-09-30 | 2018-05-22 | International Business Machines Corporation | Clock-gating for multicycle instructions |
US11661215B2 (en) | 2019-07-22 | 2023-05-30 | NovaWurks, Inc. | Method of providing thermal balance of satlet electronics |
US20210357227A1 (en) * | 2020-05-12 | 2021-11-18 | Asa Microsystems, Inc. | Risc-v isa based micro-controller unit for low power iot and edge computing applications |
Family Cites Families (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4954951A (en) * | 1970-12-28 | 1990-09-04 | Hyatt Gilbert P | System and method for increasing memory performance |
US3922526A (en) * | 1973-02-02 | 1975-11-25 | Texas Instruments Inc | Driver means for lsi calculator to reduce power consumption |
US4115601A (en) | 1977-07-01 | 1978-09-19 | Bell Telephone Laboratories, Incorporated | Flexible circuit reflow soldering process and machine |
JPS5414624A (en) | 1977-07-06 | 1979-02-03 | Toshiba Corp | Integrated circuit device |
US4748559A (en) * | 1979-08-09 | 1988-05-31 | Motorola, Inc. | Apparatus for reducing power consumed by a static microprocessor |
US4317180A (en) * | 1979-12-26 | 1982-02-23 | Texas Instruments Incorporated | Clocked logic low power standby mode |
JPS5775335A (en) * | 1980-10-27 | 1982-05-11 | Hitachi Ltd | Data processor |
US4468748A (en) * | 1981-06-11 | 1984-08-28 | Data General Corporation | Floating point computation unit having means for rounding the floating point computation result |
JPS5862720A (ja) | 1981-10-12 | 1983-04-14 | Hitachi Ltd | デ−タ処理装置におけるクロツク信号供給制御方法 |
JPS58182760A (ja) | 1982-04-20 | 1983-10-25 | Fujitsu Ltd | 連続型シミユレ−シヨン言語における初期値設定方式 |
US4747041A (en) * | 1983-06-27 | 1988-05-24 | Unisys Corporation | Automatic power control system which automatically activates and deactivates power to selected peripheral devices based upon system requirement |
US4698748A (en) * | 1983-10-07 | 1987-10-06 | Essex Group, Inc. | Power-conserving control system for turning-off the power and the clocking for data transactions upon certain system inactivity |
US4893271A (en) * | 1983-11-07 | 1990-01-09 | Motorola, Inc. | Synthesized clock microcomputer with power saving |
US4670837A (en) * | 1984-06-25 | 1987-06-02 | American Telephone And Telegraph Company | Electrical system having variable-frequency clock |
US4695946A (en) * | 1984-10-25 | 1987-09-22 | Unisys Corporation | Maintenance subsystem for computer network including power control and remote diagnostic center |
US4894728A (en) * | 1985-02-27 | 1990-01-16 | Goodman Robert M | Data acquisition and recording system |
US5113523A (en) * | 1985-05-06 | 1992-05-12 | Ncube Corporation | High performance computer system |
JPS6326716A (ja) * | 1986-07-18 | 1988-02-04 | Nec Ic Microcomput Syst Ltd | 中央処理装置 |
US4766566A (en) * | 1986-08-18 | 1988-08-23 | International Business Machines Corp. | Performance enhancement scheme for a RISC type VLSI processor using dual execution units for parallel instruction processing |
JPS63175910A (ja) | 1987-01-16 | 1988-07-20 | Mitsubishi Electric Corp | デ−タ処理装置 |
IL85749A0 (en) | 1987-03-16 | 1988-08-31 | Stern Donald S | Selective power gating device |
JP3137117B2 (ja) * | 1987-03-27 | 2001-02-19 | 将容 曽和 | 高速処理計算機 |
JPH01155459A (ja) | 1987-12-14 | 1989-06-19 | Hitachi Ltd | プロセツサおよび並列計算機 |
JPH0665764B2 (ja) * | 1988-06-14 | 1994-08-24 | 三井造船株式会社 | 炭素繊維の製造方法 |
JPH0266616A (ja) * | 1988-08-31 | 1990-03-06 | Nec Corp | 分散処理ユニット |
US5150469A (en) * | 1988-12-12 | 1992-09-22 | Digital Equipment Corporation | System and method for processor pipeline control by selective signal deassertion |
US4963769A (en) * | 1989-05-08 | 1990-10-16 | Cypress Semiconductor | Circuit for selective power-down of unused circuitry |
JPH0310306A (ja) | 1989-06-07 | 1991-01-17 | Mitsubishi Electric Corp | マイクロプロセッサ |
US5153535A (en) * | 1989-06-30 | 1992-10-06 | Poget Computer Corporation | Power supply and oscillator for a computer system providing automatic selection of supply voltage and frequency |
US5167024A (en) * | 1989-09-08 | 1992-11-24 | Apple Computer, Inc. | Power management for a laptop computer with slow and sleep modes |
US5218704A (en) * | 1989-10-30 | 1993-06-08 | Texas Instruments | Real-time power conservation for portable computers |
DE4040382C2 (de) * | 1989-12-15 | 1999-03-11 | Hitachi Ltd | Integrierte Halbleiterschaltungsanordnung mit niederer Leistungsaufnahme und Verfahren zu ihrem Betrieb |
JPH04143819A (ja) * | 1989-12-15 | 1992-05-18 | Hitachi Ltd | 消費電力制御方法、半導体集積回路装置およびマイクロプロセツサ |
US5241637A (en) * | 1990-01-05 | 1993-08-31 | Motorola, Inc. | Data processor microsequencer having multiple microaddress sources and next microaddress source selection |
US5276824A (en) * | 1990-01-08 | 1994-01-04 | Motorola, Inc. | Data processor having a multi-stage instruction pipe and selection logic responsive to an instruction decoder for selecting one stage of the instruction pipe |
JPH03235126A (ja) * | 1990-01-25 | 1991-10-21 | Internatl Business Mach Corp <Ibm> | 自然言語を使用してウィンドウシステムをプログラムする方法 |
US5239652A (en) * | 1991-02-04 | 1993-08-24 | Apple Computer, Inc. | Arrangement for reducing computer power consumption by turning off the microprocessor when inactive |
US5265256A (en) * | 1991-07-01 | 1993-11-23 | Motorola, Inc. | Data processing system having a programmable mode for selecting operation at one of a plurality of power supply potentials |
KR100299691B1 (ko) * | 1991-07-08 | 2001-11-22 | 구사마 사부로 | 확장가능알아이에스씨마이크로프로세서구조 |
US5826055A (en) * | 1991-07-08 | 1998-10-20 | Seiko Epson Corporation | System and method for retiring instructions in a superscalar microprocessor |
JP3500633B2 (ja) | 1992-02-07 | 2004-02-23 | セイコーエプソン株式会社 | マイクロエレクトロニクス・デバイスのエミュレーション方法及びエミュレーション装置並びにシミュレーション装置 |
US5274828A (en) * | 1992-02-24 | 1993-12-28 | Texas Instruments Incorporated | Computer including an integrated circuit having an on-chip high voltage source |
US5630143A (en) * | 1992-03-27 | 1997-05-13 | Cyrix Corporation | Microprocessor with externally controllable power management |
DE69311330T2 (de) | 1992-03-31 | 1997-09-25 | Seiko Epson Corp., Tokio/Tokyo | Befehlsablauffolgeplanung von einem risc-superskalarprozessor |
US5452401A (en) | 1992-03-31 | 1995-09-19 | Seiko Epson Corporation | Selective power-down for high performance CPU/system |
US5361272A (en) * | 1992-09-18 | 1994-11-01 | Stephen Krissman | Semiconductor architecture and application thereof |
US5266256A (en) * | 1993-02-16 | 1993-11-30 | Rohm And Haas Company | Extruder and process modifying residence time distribution |
JP2570588B2 (ja) * | 1993-07-29 | 1997-01-08 | 日本電気株式会社 | 送受信装置 |
US5481733A (en) * | 1994-06-15 | 1996-01-02 | Panasonic Technologies, Inc. | Method for managing the power distributed to a disk drive in a laptop computer |
US5940785A (en) * | 1996-04-29 | 1999-08-17 | International Business Machines Corporation | Performance-temperature optimization by cooperatively varying the voltage and frequency of a circuit |
DE69838374T2 (de) * | 1997-12-23 | 2008-05-29 | Texas Instruments Inc., Dallas | Prozessor und Verfahren zum Verringern von dessen Energieverbrauch |
US6301671B1 (en) * | 1998-03-23 | 2001-10-09 | International Business Machines Corporation | Apparatus and method for power reduction control in a video encoder device |
US6105139A (en) * | 1998-06-03 | 2000-08-15 | Nec Usa, Inc. | Controller-based power management for low-power sequential circuits |
US6247134B1 (en) * | 1999-03-31 | 2001-06-12 | Synopsys, Inc. | Method and system for pipe stage gating within an operating pipelined circuit for power savings |
-
1992
- 1992-03-31 US US07/860,717 patent/US5452401A/en not_active Expired - Lifetime
-
1993
- 1993-03-30 EP EP93906871A patent/EP0634030B1/de not_active Expired - Lifetime
- 1993-03-30 DE DE69320180T patent/DE69320180T2/de not_active Expired - Lifetime
- 1993-03-30 WO PCT/JP1993/000418 patent/WO1993020498A1/en active IP Right Grant
- 1993-03-30 JP JP51730793A patent/JP3510884B2/ja not_active Expired - Fee Related
-
1994
- 1994-09-28 KR KR1019940703381A patent/KR950701098A/ko not_active IP Right Cessation
-
1995
- 1995-06-07 US US08/487,976 patent/US5655124A/en not_active Expired - Lifetime
-
1997
- 1997-03-03 US US08/811,238 patent/US5787297A/en not_active Expired - Lifetime
-
1998
- 1998-04-29 US US09/069,335 patent/US6256743B1/en not_active Expired - Fee Related
- 1998-12-28 HK HK98116068A patent/HK1014785A1/xx unknown
-
2001
- 2001-05-10 US US09/852,294 patent/US6430693B2/en not_active Expired - Fee Related
-
2002
- 2002-06-24 US US10/176,544 patent/US6587952B2/en not_active Expired - Fee Related
- 2002-07-15 JP JP2002205596A patent/JP3487349B2/ja not_active Expired - Fee Related
- 2002-07-15 JP JP2002205594A patent/JP2003122582A/ja not_active Withdrawn
- 2002-07-15 JP JP2002205595A patent/JP2003141099A/ja not_active Withdrawn
- 2002-07-15 JP JP2002205593A patent/JP2003141098A/ja not_active Withdrawn
- 2002-07-15 JP JP2002205597A patent/JP3520922B2/ja not_active Expired - Fee Related
- 2002-10-24 JP JP2002309913A patent/JP2003208237A/ja active Pending
-
2003
- 2003-04-30 US US10/425,737 patent/US7082543B2/en not_active Expired - Fee Related
- 2003-05-19 US US10/440,312 patent/US6785761B2/en not_active Expired - Fee Related
- 2003-07-31 JP JP2003204462A patent/JP2004054944A/ja not_active Withdrawn
- 2003-07-31 JP JP2003204463A patent/JP2004054945A/ja not_active Withdrawn
- 2003-07-31 JP JP2003204461A patent/JP3963874B2/ja not_active Expired - Lifetime
-
2006
- 2006-06-06 US US11/447,076 patent/US7506185B2/en not_active Expired - Fee Related
-
2009
- 2009-02-19 US US12/389,006 patent/US8117468B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6910139B2 (en) | 2000-10-02 | 2005-06-21 | Fujitsu Limited | Software processing apparatus with a switching processing unit for displaying animation images in an environment operating base on type of power supply |
DE10114894B4 (de) * | 2000-10-02 | 2007-09-13 | Fujitsu Ltd., Kawasaki | Softwareverarbeitungsvorrichtung, Softwareverarbeitungsverfahren und Aufzeichnungsmedium, auf dem ein Programm aufgezeichnet ist |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69320180T2 (de) | Selektiver abschaltbetrieb für ein hochleistungs-cpu-system. | |
DE102011102152B4 (de) | Schema für verteilte Leistungsabgabe zur On-Die-Spannungsskalierung | |
DE69522633T2 (de) | Integrierte Prozessorsysteme für tragbare Informationsgeräte | |
DE69317758T2 (de) | Mikroprozessorschaltung mit zwei Taktsignalen | |
DE602004004182T2 (de) | Halbleiterspeichervorrichtung mit Schieberegister als Auffrischadressgenerator | |
DE60129969T2 (de) | Abwärtsregler mit doppelantrieb | |
DE102009041723B4 (de) | Prozessor-Leistungsverbrauchsteuerung und Spannungsabsenkung über eine Mikroarchitektur-Bandbreitenbegrenzung | |
DE102005044533A1 (de) | Aufgabenplanungsverfahren für geringe Leistungsableitung in einem Systemchip | |
DE602004004597T2 (de) | Spannungs-Abwärts-Wandler mit reduzierter Welligkeit | |
DE69307684T2 (de) | Mikroprozessor mit verteilten Taktgebern | |
DE19615413A1 (de) | Integrierte Halbleiterschaltung | |
DE102012106866A1 (de) | Schaltregler mit erhöhter Schwachlasteffizienz | |
DE10300697A1 (de) | Dynamisch einstellbare Cachegröße basierend auf dem Anwendungsverhalten, um Leistung zu sparen | |
EP0895394A2 (de) | Mobilfunkgerät | |
DE19747755C2 (de) | Halbleiteranordnung | |
DE69727880T2 (de) | Zwei-Moden Oszillatorschaltung | |
DE69619481T2 (de) | Datenübertragung-Bus mit niedrigem Leistungsverbrauch | |
DE69909924T2 (de) | Verfahren und Vorrichtung zur Reduzierung der Verlustleistung in einer Schaltung | |
DE102021107201A1 (de) | Energiesparende stromversorgungsarchitektur für integrierte schaltungen wie z.b. mikrocontroller | |
DE102021119048A1 (de) | Einrichtung und verfahren für eine einheitliche halte- und reaktivierungsklemme | |
EP1612936A2 (de) | Taktsteuerzelle | |
DE69726233T2 (de) | Taktschema | |
DE102008011789A1 (de) | MuGFET-Stromversorgungsschalter | |
DE102021116323A1 (de) | Vereinfachung von leistungssequenzierung für integrierte schaltungen | |
EP1627470B1 (de) | Integrierte schaltung mit stromsparmodus und verfahren zum betreiben der integrierten schaltung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
R082 | Change of representative |
Ref document number: 634030 Country of ref document: EP Representative=s name: PATENTANWAELTE RUFF, WILHELM, BEIER, DAUSTER & PAR |