DE10392351T5 - Verfahren zum Verringern der Leistungsaufnahme in einem Computersystem mit Busmaster-Geräten - Google Patents
Verfahren zum Verringern der Leistungsaufnahme in einem Computersystem mit Busmaster-Geräten Download PDFInfo
- Publication number
- DE10392351T5 DE10392351T5 DE10392351T DE10392351T DE10392351T5 DE 10392351 T5 DE10392351 T5 DE 10392351T5 DE 10392351 T DE10392351 T DE 10392351T DE 10392351 T DE10392351 T DE 10392351T DE 10392351 T5 DE10392351 T5 DE 10392351T5
- Authority
- DE
- Germany
- Prior art keywords
- bus master
- memory
- master device
- processor
- energy
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 230000000694 effects Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 239000000872 buffer Substances 0.000 description 4
- 230000001427 coherent effect Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 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
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0837—Cache consistency protocols with software control, e.g. non-cacheable data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
- G06F12/0835—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means for main memory peripheral accesses (e.g. I/O or DMA)
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Verfahren,
welches Folgendes umfasst:
Ein Speicher, der von einem Busmaster-Gerät verwendet wird, wird auf nicht-cachebar gesetzt, wobei sich der Speicher und das Busmaster-Gerät in einem Computersystem befinden;
ein Busmaster-Statusbit (BM_STS) wird bei Busmaster-Speicheroperationen durch das Busmaster-Gerät mit dem Speicher nicht gesetzt; und
der Prozessor in dem Computersystem wird in einen energiesparenden Zustand versetzt.
Ein Speicher, der von einem Busmaster-Gerät verwendet wird, wird auf nicht-cachebar gesetzt, wobei sich der Speicher und das Busmaster-Gerät in einem Computersystem befinden;
ein Busmaster-Statusbit (BM_STS) wird bei Busmaster-Speicheroperationen durch das Busmaster-Gerät mit dem Speicher nicht gesetzt; und
der Prozessor in dem Computersystem wird in einen energiesparenden Zustand versetzt.
Description
- GEBIET DER ERFINDUNG
- Die vorliegende Erfindung betrifft allgemein das Gebiet des Powermanagements. Genauer betrifft die vorliegende Erfindung Verfahren und Systeme, die es ermöglichen, Prozessoren in energiesparende Zustände zu versetzen.
- STAND DER TECHNIK
- Die "Advanced Configuration and Power Interface"-Spezifikation (ACPI) definiert eine Hard- und Softwareumgebung, die der Betriebssystemsoftware (OS) vollständige Sichtbarkeit von und Kontrolle über Systemkonfiguration und Powermanagement gewährt. ACPI vereinigt in sich Powermanagement- und Plug-and-play-Funktionalität für Computersysteme. ACPI beschreibt einen Satz gültiger Prozessor-Betriebszustände sowie die zwischen diesen Zuständen zulässigen Übergänge. Die oberen vier für den Prozessor definierten Zustände sind C0, C1, C2 und C3. Der C0-Zustand ist ein normaler Betriebszustand. Der C1-Zustand ist ein energiesparender Zustand mit niedriger Latenzzeit, der ohne Unterstützung durch die Chipsatz-Logik auskommt und den gesamten im Cache befindlichen Kontext erhält. Der C2-Zustand ist ein energiesparenderer Zustand mit etwas höherer Latenzzeit, der Unterstützung durch die Chipsatz-Logik benötigt, aber weiterhin den gesamten im Cache befindlichen Kontext erhält. Der C3-Zustand ist ein noch energiesparenderer Zustand mit höherer Latenzzeit, der ebenso Unterstützung durch die Chipsatz-Logik benötigt, wobei aber der im Cache befindliche Kontext verloren gehen kann. Auf der IA-32-Architektur basierende Systeme bilden typischerweise den HALT-(HLT)-Befehl auf den C1-Zustand, STOPGRANT/QUICKSTART auf den C2-Zustand und die Deep-Sleep-Operation (Abschalten des Prozessortakt-Eingangssignals) auf den C3-Zustand ab. In den Zuständen C1 und C2 kann der Systemprozessor den Bus snoopen. Im C3-Zustand kann der Systemprozessor den Bus nicht snoopen.
- Im Falle eines OS mit ACPI-Unterstützung muss das OS in Abhängigkeit von Ein-Ausgabe-(I/O)-Aktivität und den verfügbaren Prozessorzuständen sowie deren Attributen eine Richtlinienentscheidung darüber treffen, in welchen energiesparenden Zustand der Prozessor versetzt werden soll. Zur Unterstützung des OS bei dieser Richtlinienentscheidung stellt das ACPI-System ein Busmaster-Statusbit (BM_STS) und ein Arbiter-Sperrbit (ARB_DIS) bereit. Das ACPI-System stellt zudem Kontrollmethoden bereit, welche die verschiedenen verfügbaren Prozessorzustände beschreiben. Die BM_STS- und ARB_DIS-Bits ermöglichen dem OS die Entscheidung, wann der Prozessor in den C3-Zustand versetzt werden soll, und wann in den wesentlich weniger energiesparenden C2-Zustand.
- Die Richtlinie für die Entscheidung zwischen den energiesparenden Zuständen C2 oder C3 beruht auf den Fähigkeiten des Systems im C3-Zustand. Wie zuvor angeführt, ist der Prozessor im C3-Zustand nicht in der Lage, Snooping auszuführen, und darüber hinaus können bei Busmaster-Zugriffen Speicher-/Cachekohärenzprobleme auftreten. Deswegen verfolgt das OS die Busmaster-Zugriffsaktivität über das BM_STS-Bit. Bei geringer Aktivität sperrt es den Busarbiter (was die Ausführung von Busmastern verhindert), indem es das BM_STS-Bit setzt und den Prozessor in den C3-Zustand überführt.
- Außerdem wirkt sich das Intervall, für welches das OS die C2/C3-Richtlinie festlegt, auf die Leistungsaufnahme des Systems auf. Bei ACPI-Betriebssystemen wird die Richtlinienentscheidung zur Festlegung des C-Zustands des Prozessors einmal pro Präemptionsintervall getroffen. Eine Präemption ist als von einem periodischen Zeitgeber erzeug ter Interrupt (auch als Timerinterrupt bekannt) definiert. Typischerweise liegt dieses Intervall in der Größenordnung von 10 ms bis 20 ms (das Intervall ist vom OS abhängig). Der Prozessor teilt seine während dieser Präemptionszeit auszuführende Arbeit ein, und wenn er diese Arbeit beendet hat, wird er in einen energiesparenden Zustand versetzt.
- Wenn das OS den Prozessor in den energiesparenden Zustand versetzt, berücksichtigt es die in der Präemptionszeitspanne verbleibende Zeit sowie die Häufigkeit der Busmaster-Zugriffe. Bei einem Übergang in den C3-Zustand stellt das OS sicher, dass die verbleibende Präemptionszeit größer ist als die Latenzzeit zum Verlassen des C3-Zustands, und es entscheidet über die Wahrscheinlichkeit eines Busmasterzugriffs während der verbleibenden Präemptionszeit (indem es das BM_STS-Bit prüft). Wenn zum Verlassen des C3-Zustands Zeit verbleibt, und wenn keine Busmaster-Aktivität vorliegt, versetzt das OS den Prozessor in den C3-Zustand.
- Ein energiesparendes System im Idle-Zustand möchte somit möglichst in den maximal energiesparenden Prozessorzustand übergehen (desto höher die Nummer Cx des Zustands, desto größer die Energieersparnis, d. h., C3 ist ein wesentlich energiesparenderer Zustand als C1). Außerdem muss das System, um in den C3-Zustand überzugehen, sicherstellen, dass keine Aktivität vorliegt, die die Kohärenz von Speicher und/oder Caches beeinträchtigen würde, da der Prozessor in diesem Zustand kein Snooping durchführen kann. Darüber hinaus, findet die Richtlinienentscheidung über den Cx-Zustand mindestens einmal pro Präemptionsintervall, d. h. in der Größenordnung von einmal jede ca. 10 ms, statt. Diese Bedingungen bestimmen einen C3-Idle-Zustand. Wenn es allerdings irgendwelche Ereignisse gibt, die Cachekohärenzprobleme verursachen und genau so häufig wie das Präemptionsintervall auftreten, geht der Prozessor nie in den C3-Zustand über. Das OS verfolgt alle Cachekohärenzprobleme über das BM_STS-Bit, und das OS entscheidet, dass es nicht in einen C3-Zustand übergehen kann, wenn das BM_STS-Bit gesetzt ist.
- KURZE BESCHREIBUNG DER ZEICHNUNGEN
- Die vorliegende Erfindung wird beispielhaft, und nicht einschränkend, an den Figuren der beigefügten Zeichnungen erläutert, wobei gleiche Bezugszahlen gleichartige Elemente bezeichnen; es zeigen:
-
1 ein Blockdiagramm, das ein Beispiel eines Computersystems mit nicht-cachebarem Speicher gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht, -
2 ein Blockdiagramm, das ein Beispiel eines Computersystems mit write-through-cachebarem Speicher gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht. - DETAILLIERTE BESCHREIBUNG
- In einer Ausführungsform wird ein Verfahren offenbart, welches das Setzen des BM_STS-Bits vermeidet, so dass der Prozessor unter Beibehaltung der Speicherkohärenz in den C3-Zustand übergehen kann. Durch eine geänderte Caching-Richtlinie der Busmaster-Puffer erzeugt ein erheblicher Teil der Busmaster-Aktivität keine Cachekohärenzprobleme und muss daher nicht durch das BM_STS-Bit verfolgt werden, so dass der Prozessor häufiger in den C3-Zustand übergehen kann.
- In der folgenden Beschreibung werden zu Erläuterungszwecken zahlreiche spezifische Details dargestellt, um ein tieferes Verständnis der vorliegenden Erfindung zu ermöglichen. Für den Fachmann ist es jedoch offensichtlich, dass die vorliegende Erfindung ohne diese spezifischen Details umgesetzt werden kann. In anderen Fällen werden bekannte Strukturen, Verfahren und Geräte in Blockdiagrammform gezeigt oder auf summarische Weise erwähnt, um eine Erklärung zu liefern, ohne übermäßig ins Detail zu gehen.
- Typischerweise wird das Busmaster-Statusbit (BM_STS) gesetzt, wenn entweder eine Busmaster-Leseoperation oder eine Busmaster-Schreiboperation ausgeführt wird. Beispielsweise liest in einem System mit USB-Geräten ein USB-Hostcontroller Deskriptoren aus dem Speicher, um festzustellen, ob eine Operation anliegt, die der USB-Hostcontroller ausführen muss. Das Auslesen der Deskriptoren aus dem Speicher geschieht jede Millisekunde. Die meiste Zeit zeigen die Deskriptoren an, dass keine Operation zur Ausführung durch den USB-Hostcontroller anliegt. Nach dem Stand der Technik wird das BM_STS-Bit gesetzt, weil der Treiberpuffer writeback-cachebar ist, und somit bei Ausführung einer Busmaster-Leseoperation aus einem Speicherbereich, dessen tatsächliche Daten sich im Prozessorcache befinden, wobei sich der Prozessor aber in einem C3-Zustand befindet, die Busmaster-Operation nicht fortgesetzt werden kann, bevor der Prozessor aufgewacht ist. Dies ist so, weil der Prozessor nicht in der Lage ist, Snoop-Zyklen zu bedienen, während er sich in einem C3-Zustand befindet. Um diese Situation zu vermeiden, setzt im Falle irgendwelchen vorherigen Verkehrs mit dem Potential zum Auslösen eines Snoop-Zyklus (BM_STS gesetzt) das OS das ARB_DIS-Bit, um jedwede Busmaster-Operation zu verhindern.
- Im Falle einer Busmaster-Schreiboperation in einen write-back-cachebaren Speicherbereich besteht die Möglichkeit, dass sich eine Kopie des Speicherbereichs im Prozessorcache befindet. Um die Kohärenz aufrechtzuerhalten, muss jede Busmaster-Schreiboperation in den write-throughcachebaren Speicherbereich durch den Prozessorcache gesnooped werden. Um diese Situation zu vermeiden, setzt das OS das ARB_DIS-bit, um jedwede Busmaster-Operation zu verhindern.
- Indem Designpraktiken geschaffen werden, die Cache- und Speicherkohärenzprobleme vermeiden, kann der Prozessor in einen energiesparenden Zustand versetzt werden. Wenn der von dem Treiber verwendete Speicherbereich als nicht-cachebar markiert und nicht-cachebar gehalten wird, gibt es keine Speicherkohärenzprobleme. Das Markieren des Speicherbereichs als nicht-cachebar stellt sicher, dass im Prozessorcache keine Kopien dieses Speicherbereichs vorliegen, und dass bei Busmaster-Zugriffen durch das diesen Speicherbereich verwendende Gerät keine Notwendigkeit zum Snoopen des Prozessor-Cache besteht. Wenn das BM_STS-Bit so ausgelegt ist, dass es NICHT gesetzt wird, wenn ein Gerät Busmaster-Operationen auf dem nicht-cachebaren Speicherbereich erzeugt, kann das OS den Prozessor häufiger in den energiesparenden C3-Zustand versetzen.
- Wenn alternativ hierzu der von dem Treiber verwendete Speicherbereich als write-through-cachebar markiert und write-through-cachebar gehalten wird, werden einige der Speicherkohärenzprobleme beseitigt. "Writethrough-cachebarer Speicher" bedeutet, dass mehr als eine Kopie der Daten im Speicher und im Prozessorcache vorhanden sein kann, dass jedoch beide Kopien kohärent gehalten werden; jede Leseoperation liest einfach die jeweils lokale Kopie, während eine Schreiboperation in eine Kopie dieser Daten auch an den jeweils anderen Ort (Speicher oder Cache) kopiert werden muss. In dieser Konstellation erfordern Busmaster-Speicherleseoperationen keine Interaktion mit dem Prozessor, wohingegen Busmaster-Schreiboperationen in den Speicher ein Snooping des Prozessorcache erfordern (um die Kopie der Daten im Prozessorcache zu aktualisieren). Für diese Konfigurationsart, in welcher der Speicher des Busmaster-Geräts als write-through-cachebar markiert ist, kann das BM_STS-Bit so ausgelegt werden, dass es nur ge setzt wird, wenn diese Geräte Busmaster-Schreibzugriffe auf Write-through-Speicherbereiche erzeugen. Busmaster-Lesezugriffe auf write-through-cachebare Speicherbereiche müssen dagegen das BM_STS-Bit nicht setzen, so dass das OS die CPU in den energiesparenden C3-Zustand versetzen kann.
- Die folgende Tabelle erläutert, wie das BM_STS-Bit zur Optimierung des Eintretens in den C3-Zustand in Abhängigkeit der Cachebarkeit des Speicherbereichs, auf den zugegriffen wird, gesetzt werden muss.
- Wie die Tabelle zeigt, führen nicht-cachebare Busmaster-Puffer dazu, dass das BM_STS-Bit gar nicht gesetzt wird, während write-through-cachebare Busmaster-Puffer das Setzen des BM_STS-Bits bei Lesezyklen verhindern. In Abhängigkeit vom Verhalten des Busmasters kann eines dieser Verfahren angewandt werden, so dass der Prozessor häufiger in den C3-Zustand übergehen kann.
-
1 ist ein Blockdiagramm, das ein Beispiel eines Computersystems mit nicht-cachebarem Speicher gemäß einer Ausführungsform der vorliegenden Erfindung ver anschaulicht. Die USB-Geräte135 und140 sind durch einen USB-Hostcontroller120 mit dem Computersystem100 verbunden. Das Computersystem100 umfasst einen Prozessor102 , eine Speichersteuereinheit (MCU)105 und einen Speicher110 . Typischerweise gibt ein OS in dem Computersystem100 zu jeder Zeitperiode (z. B. alle 11 Sekunden) einen periodischen Präemptionsinterrupt aus. Mit jedem Präemptionsinterrupt teilt das OS für den Prozessor102 eine von diesem abzuarbeitende Arbeitsmenge ein. Wenn der Prozessor102 die Arbeit abschließt, wird der Prozessor102 bis zum nächsten Präemptionsinterrupt in den Idle-Zustand versetzt. Dann führt der Prozessor102 weitere vom OS zugeteilte Arbeit aus, und danach ist der Prozessor102 wieder im Idle-Zustand. - Wenn sich der Prozessor
102 im Idle-Zustand befindet, versetzt das OS den Prozessor102 , wie zuvor beschrieben, in einen der energiesparenden Zustände C1, C2 oder C3. Jeder dieser Zustände weist unterschiedliche Attribute auf. Z. B. ist der C1-Zustand ein energiesparender Zustand mit ca. 2 Watt und hat beim Verlassen eine Latenzzeit von ca. 0,5 Mikrosekunden. Der C2-Zustand ist ein energiesparenderer Zustand mit ca. 1,5 Watt und hat beim Verlassen eine Latenzzeit von ca. 100 Mikrosekunden. Der C3-Zustand ist ein äußerst energiesparender Zustand mit ca. 0,2 Watt und hat beim Verlassen eine Latenzzeit von ca. 3 Mikrosekunden. Der C3-Zustand ist ein äußerst energiesparender Prozessorzustand. Die Latenzzeit beim Verlassen ist die Zeit, die der Prozessor102 bei einem Präemptionsinterrupt zur Wiederaufnahme des Betriebs benötigt. - Snooping ist wichtig, um die Kohärenz zwischen dem Prozessor-fache
103 und dem Speicher110 aufrechtzuerhalten. Wenn der Prozessor102 in den C3-Zustand versetzt wird, kann der Prozessor102 den Bus nicht snoopen. Beispielsweise würde ein Speicherkohärenzproblem vorliegen, wenn, während der Prozessor sich im C3-Zustand befindet, der USB-Hostcontroller120 (oder ein Busmaster-Controller) die Kontrolle über den Bus übernähme, Daten in den Speicher110 schriebe, und sich die entsprechenden Daten gerade im Prozessorcache103 befänden. Die Daten im Speicher110 wären aktueller als die Daten im Prozessorcache103 , aber der Prozessor102 würde dies nicht bemerkt haben, weil er den Bus nicht snoopen kann. - Um das Speicherkohärenzproblem zu vermeiden, legt die ACPI-Spezifikation fest, dass der Busmaster-Arbiter
145 gesperrt wird. Der Busmaster-Arbiter145 wird gesperrt, indem das Arbiter-Sperrbit (ARB DIS) gesetzt wird. Dadurch wird verhindert, dass der Busmaster-Arbiter145 den Bus anderen Busmaster-Controllern (einschließlich des USB-Hostcontrollers) oder Geräten zuteilt. Durch Setzen des ARB_DIS-Bits würde allerdings die Fähigkeit des USB-Hostcontrollers120 zum Lesen seiner Framelisten beeinträchtigt. Wie oben beschrieben, erzeugt der USB-Hostcontroller120 häufig Busmaster-Zugriffe auf den Speicher110 (z. B. einmal jede Millisekunde). - In einer Ausführungsform der vorliegenden Erfindung wird der von dem Busmaster-Gerät verwendete Abschnitt des Speichers
110 auf nicht-cachebar gesetzt, und das BM_STS-Bit wird bei von dem Busmaster-Gerät (USB-Hostcontroller120 ) ausgeführten Busmaster-Zugriffen nicht gesetzt. Dies führt dazu, dass das OS jegliche Busmaster-Aktivität seitens dieses nicht-cachebaren Busmaster-Geräts ignoriert, und die OS-Richtlinie zum Versetzen des Prozessors102 in den C3-Zustand wird nicht beeinflusst. Wenn beispielsweise der USB-Hostcontroller120 eine Busmaster-Schreiboperation zum Schreiben in den nicht-cachebaren Speicher110 ausführt, ergibt sich kein Cachekohärenzproblem, um das man sich sorgen müsste. Wenn der USB-Hostcontroller120 eine Busmaster-Leseoperation zum Lesen aus dem nicht-cachebaren Speicher110 ausführt, ergibt sich ebenfalls kein Cachekohärenzproblem. Somit besteht für den Prozessor102 keine Notwendigkeit, während Buszugriffen durch den USB-Hostcontroller120 den Bus zu snoopen, und er kann daher in den energiesparenden C3-Zustand versetzt werden. - Um diese Konfigurationsart zu optimieren, muss die MCU
105 bei Busmaster-Zugriffen von dem "nicht-cachebaren" Busmaster-Gerät (USB-Hostcontroller120 ) keine Snoop-Zyklen an den Prozessor102 ausgeben. Es gibt viele Verfahren zur Durchführung dieser Art von Speichertypisierung. Z. B. können Speicherattributregister in die MCU programmiert werden, die die nicht-cachebaren Abschnitte des Speichers identifizieren, oder ein gesondertes Signal von dem Busmaster-Gerät könnte es als den Urheber der Buszyklus-Operation identifizieren. - Da außerdem das "nicht-cachebare" Busmaster-Gerät (USB-Hostcontroller
120 ) keine Cachekohärenzprobleme mehr erzeugt, und da die MCU105 keine Snoop-Zyklen mehr an den Prozessor102 ausgibt, kann der Betrieb des "nicht-cachebaren" Busmaster-Geräts zugelassen werden, wenn das ARB DIS-Bit (das normalerweise den Betrieb aller Busmaster-Geräte unterbinden würde) gesetzt ist. Es ist zu beachten, dass dies nur "nicht-cachebare" Busmaster-Geräte betrifft, während alle anderen Busmaster-Geräte, die Kohärenzprobleme erzeugen können, gesperrt werden müssen, wenn das ARB DIS-Bit gesetzt ist. -
2 ist ein Blockdiagramm, das ein Beispiel eines Computersystems mit write-through-cachebarem Speicher gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht. Der Speicher210 ist für den von dem Busmaster-Gerät (in diesem Fall der USB-Hostcontroller220 ) verwendeten Speicher auf write-through-cachebar gesetzt, und das BM_STS-Bit wird nur bei von diesem "write-throughcachebaren" Busmaster-Gerät ausgehenden Busmaster-Schreiboperationen gesetzt, während es bei von diesem "writethrough-cachebaren" Busmaster-Gerät ausgehenden Busmaster- Leseoperationen nicht gesetzt wird. Dadurch können der Cache203 und der Speicher210 miteinander kohärent sein, wenn eine Busmaster-Schreiboperation vorliegt. Obwohl der Cache203 als Prozessorcache dargestellt ist, ist dieses Verfahren auch auf andere Cache-Implementationen anwendbar. - Um diese Konfigurationsart zu optimieren, muss die MCU
205 bei Busmaster-Lesezugriffen von diesem speziellen "nicht-cachebaren" Busmaster-Gerät (USB-Hostcontroller220 ) keine Snoop-Zyklen an den Prozessor203 ausgeben. Es gibt viele Verfahren zur Durchführung dieser Art von Speichertypisierung. Z. B. können Speicherattributregister in die MCU programmiert werden, die die write-through-cachebaren Abschnitte des Speichers identifizieren, oder ein gesondertes Signal von dem Busmaster-Gerät könnte es als den Urheber der Buszyklus-Operation identifizieren. - Da außerdem das "write-through-cachebare" Busmaster-Gerät bei Speicherlesezyklen keine Cachekohärenzprobleme mehr erzeugt, und da die MCU
205 bei von diesem "writethrough-cachebaren" Busmaster-Gerät ausgehenden Busmaster-Leseoperationen keine Snoop-Zyklen mehr an den Prozessor203 ausgibt, kann das Ausführen von Busmaster-Leseoperationen durch das "write-through-cachebare" Busmaster-Gerät zugelassen werden, wenn das ARB_DIS-Bit (das normalerweise den Betrieb aller Busmaster-Geräte unterbinden würde) gesetzt ist. Dieses "write-through-cachebare" Busmaster-Gerät muss nach wie vor vom Erzeugen von Busmaster-Schreibzyklen abgehalten werden, wenn das ARB_DIS-Bit gesetzt ist, aber Busmaster-Leseoperationen können fortgesetzt werden. Es ist zu beachten, dass dies nur "write-through-cachebare" Busmaster-Geräte betrifft, während alle anderen Busmaster-Geräte, die Kohärenzprobleme erzeugen können, gesperrt werden müssen, wenn das ARB_DIS-Bit gesetzt ist. - Die Operationen der verschiedenen Verfahren der vorliegenden Erfindung können durch eine Verarbeitungs einheit in einem digitalen Datenverarbeitungssystem implementiert werden, welche Computerprogramm-Befehlsfolgen ausführt. Die Operationen können Hardwareschaltungen mit einem Hilfsprozessor umfassen, der dediziert für die Ausführung von Powermanagement-Funktionen zur Verfügung steht. Die Operationen können unter Verwendung einer Anwendungssoftware ausgeführt werden, die Befehle umfasst, welche in einem Speicher abgelegt sind, der als maschinenlesbares Speichermedium betrachtet werden kann. Bei dem Speicher kann es sich um Speicher mit wahlfreiem Zugriff, Nur-Lese-Speicher, dauerhaften Speicher, wie z. B. ein Massenspeichergerät, oder um eine beliebige Kombination dieser Geräte handeln. Die Ausführung der Befehlsfolgen bewirkt, dass die Verarbeitungseinheit Operationen gemäß der vorliegenden Erfindung ausführt. Die Befehle können von einem Speichergerät oder über eine Netzwerkverbindung von einem oder mehreren weiteren digitalen Datenverarbeitungssystemen (z. B. von einem Server-Computersystem) in den Speicher des Computers geladen werden. Die Befehle können gleichzeitig in verschiedenen Speichergeräten (z. B. DRAM und eine Festplatte, wie z. B. im Falle von virtuellem Speicher) abgelegt sein. Infolgedessen können diese Befehle direkt von der Verarbeitungseinheit ausgeführt werden.
- In anderen Fällen können die Befehle nicht unmittelbar ausgeführt werden, oder sie können nicht direkt durch die Verarbeitungseinheit ausführbar sein. Unter solchen Umständen können die Befehle zur Ausführung kommen, indem der Prozessor zum Ausführen eines Interpreters veranlasst wird, welcher die Befehle interpretiert, oder indem der Prozessor veranlasst wird, Befehle auszuführen, welche die empfangenen Befehle in Befehle umwandeln, die direkt durch den Prozessor ausführbar sind. In anderen Ausführungsformen können zur Implementierung der vorliegenden Erfindung fest verdrahtete Schaltungen anstelle von oder gemeinsam mit Softwarebefehlen zum Einsatz kommen. Somit ist die vorliegende Erfindung weder auf irgendeine spezifische Kombination aus Hardwareschaltungen und Software noch auf irgendeine spezielle Quelle für die von dem Computer bzw. von dem digitalen Datenverarbeitungssystem ausgeführten Befehle beschränkt.
- Obwohl die vorliegende Erfindung anhand spezifischer Ausführungsbeispiele beschrieben worden ist, ist es offenkundig, dass vielfältige Abwandlungen und Änderungen an diesen Ausführungsformen vorgenommen werden können, ohne von dem wesentlichen Gedanken und dem Umfang der Erfindung abzuweichen, wie sie in den Ansprüchen dargelegt ist. Dementsprechend sind die Patentschrift und die Zeichnungen in einem veranschaulichenden und nicht in einem einschränkenden Sinne zu verstehen.
- Zusammenfassung
- Ein Systemspeicher (
110 ,210 ), auf den von einem Busmaster Controller (145 ,245 ) zugegriffen wird, wird auf nicht-cachebar gesetzt. Ein Busmaster-Statusbit wird für alle Transferzyklen des Busmaster Controllers mit dem nicht-cachebaren Speicher (110 ,120 ) nicht gesetzt, während sich der Systemprozessor (102 ,202 ) in einem energiesparenden Zustand befindet.
Claims (33)
- Verfahren, welches Folgendes umfasst: Ein Speicher, der von einem Busmaster-Gerät verwendet wird, wird auf nicht-cachebar gesetzt, wobei sich der Speicher und das Busmaster-Gerät in einem Computersystem befinden; ein Busmaster-Statusbit (BM_STS) wird bei Busmaster-Speicheroperationen durch das Busmaster-Gerät mit dem Speicher nicht gesetzt; und der Prozessor in dem Computersystem wird in einen energiesparenden Zustand versetzt.
- Verfahren nach Anspruch 1, wobei der energiesparende Zustand ein Deep-Sleep-Zustand ist.
- Verfahren nach Anspruch 1, wobei der energiesparende Zustand ein C3-Zustand ist.
- Verfahren nach Anspruch 1, wobei der Speicher an ein Speichersubsystem angekoppelt ist, das während Busmaster-Zugriffen, die von dem Busmaster-Gerät ausgeführt werden, keine Snoop-Zyklen an den Prozessor ausgibt.
- Verfahren nach Anspruch 4, wobei das Busmaster-Gerät Busmaster-Lese- und Schreiboperationen erzeugen darf, wenn das ARB DIS-Bit gesetzt ist.
- Computerlesbares Medium, auf welchem Befehlsfolgen gespeichert sind, die durch ein System ausführbar sind, und die bei Ausführung durch das System das System zum Ausführen eines Verfahrens veranlassen, welches Folgendes umfasst: Ein Speicher, der von einem Busmaster-Gerät verwendet wird, wird auf nicht-cachebar gesetzt, wobei sich der Speicher und das Busmaster-Gerät in einem Computersystem befinden; ein Busmaster-Statusbit (BM_STS) wird bei Busmaster-Speicheroperationen durch das Busmaster-Gerät mit dem Speicher nicht gesetzt; und der Prozessor in dem Computersystem wird in einen energiesparenden Zustand versetzt.
- Computerlesbares Medium nach Anspruch 6, wobei der energiesparende Zustand ein Deep-Sleep-Zustand ist.
- Computerlesbares Medium nach Anspruch 6, wobei der energiesparende Zustand ein C3-Zustand ist.
- Computerlesbares Medium nach Anspruch 6, wobei der Speicher an ein Speichersubsystem angekoppelt ist, das während Busmaster-Zugriffen, die von dem Busmaster-Gerät ausgeführt werden, keine Snoop-Zyklen an den Prozessor ausgibt.
- Computerlesbares Medium nach Anspruch 9, wobei das Busmaster-Gerät Busmaster-Lese- und Schreiboperationen erzeugen darf, wenn das ARB_DIS-Bit gesetzt ist.
- System, umfassend: einen Speicher, der auf nicht-cachebar gesetzt ist; ein Busmaster-Gerät, das an den Speicher angekoppelt ist; und einen Prozessor, der an den Speicher und an das Busmaster-Gerät angekoppelt ist, wobei der Prozessor in einen energiesparenden Zustand versetzt ist, während das Busmaster-Gerät Speicheroperationen mit dem nicht-cachebaren Speicher ausführt, und während ein Busmaster-Statusbit (BM_STS) bei diesen Busoperationen nicht gesetzt ist.
- System nach Anspruch 11, wobei der energiesparende Zustand ein Deep-Sleep-Zustand ist.
- System nach Anspruch 11, wobei der energiesparende Zustand ein C3-Zustand ist.
- System nach Anspruch 11, weiterhin umfassend ein Speichersubsystem, das an den Speicher angeschlossen ist, wobei das Speichersubsystem während Speicheroperationen, die von dem Busmaster-Gerät ausgeführt werden, keine Snoop-Zyklen an den Prozessor ausgibt.
- System nach Anspruch 14, wobei das Busmaster-Gerät Busmaster-Lese- und Schreiboperationen erzeugen darf, wenn ein Arbiter-Sperrbit (ARB_DIS) gesetzt ist.
- Verfahren, das Folgendes umfasst: Ein Speicher, der von einem Busmaster-Gerät verwendet wird, wird auf write-through-cachebar gesetzt, wobei sich der Speicher und das Busmaster-Gerät in einem Computersystem befinden; ein Busmaster-Statusbit (BM_STS) wird nicht gesetzt, während das Busmaster-Gerät Speicherleseoperationen mit dem Speicher ausführt; und der Prozessor in dem Computersystem wird in einen energiesparenden Zustand versetzt.
- Verfahren nach Anspruch 16, das weiterhin Folgendes umfasst: Das BM_STS-Bit wird gesetzt, während das Busmaster-Gerät Speicherschreiboperationen mit dem Speicher ausführt.
- Verfahren nach Anspruch 17, wobei der Prozessor nicht in den energiesparenden Zustand versetzt wird, während das Busmaster-Gerät Speicherschreiboperationen mit dem Speicher ausführt.
- Verfahren nach Anspruch 17, wobei der energiesparende Zustand ein C3-Zustand ist.
- Verfahren nach Anspruch 16, wobei der Speicher an ein Speichersubsystem angekoppelt ist, das während Busmaster-Leseoperationen, die von dem Busmaster-Gerät ausgeführt werden, keine Snoop-Zyklen an den Prozessor ausgibt.
- Verfahren nach Anspruch 20, wobei das Busmaster-Gerät Busmaster-Leseoperationen erzeugen darf, wenn das ARB_DIS-Bit gesetzt ist.
- Computerlesbares Medium, auf welchem Befehlsfolgen gespeichert sind, die durch ein System ausführbar sind, und die bei Ausführung durch das System das System zum Ausführen eines Verfahrens veranlassen, wobei das Verfahren Folgendes umfasst: Ein Speicher, der von einem Busmaster-Gerät verwendet wird, wird auf write-through-cachebar gesetzt, wobei sich der Speicher und das Busmaster-Gerät in einem Computersystem befinden; ein Busmaster-Statusbit (BM_STS) wird nicht gesetzt, während das Busmaster-Gerät Speicherleseoperationen mit dem Speicher ausführt; und der Prozessor in dem Computersystem wird in einen energiesparenden Zustand versetzt.
- Computerlesbares Medium nach Anspruch 22, das weiterhin Folgendes umfasst: Das BM_STS-Bit wird gesetzt, während das Busmaster-Gerät Speicherschreiboperationen mit dem Speicher ausführt.
- Computerlesbares Medium nach Anspruch 22, wobei der Prozessor nicht in den energiesparenden Zustand versetzt ist, während das Busmaster-Gerät Speicherschreiboperationen mit dem Speicher ausführt.
- Computerlesbares Medium nach Anspruch 22, wobei der energiesparende Zustand ein C3-Zustand ist.
- Computerlesbares Medium nach Anspruch 22, wobei der Speicher an ein Speichersubsystem angekoppelt ist, das während Busmaster-Lesezugriffen, die von dem Busmaster-Gerät ausgeführt werden, keine Snoop-Zyklen an den Prozessor ausgibt.
- Computerlesbares Medium nach Anspruch 26, wobei das Busmaster-Gerät Busmaster-Leseoperationen erzeugen darf, wenn das ARB DIS-Bit gesetzt ist.
- System, umfassend: einen Speicher, der auf write-through-cachebar gesetzt ist; ein Busmaster-Gerät, das an den Speicher angekoppelt ist; und einen Prozessor, der an den Speicher und an das Busmaster-Gerät angekoppelt ist, wobei der Busmaster Speicherleseoperationen ausführen darf, während der Prozessor sich in einem energiesparenden Zustand befindet, ohne dass das Busmaster-Statusbit (BM_STS) gesetzt ist.
- System nach Anspruch 28, wobei der Prozessor nicht in den energiesparenden Zustand versetzt ist, während das Busmaster-Gerät Speicherschreiboperationen mit dem Speicher ausführt.
- System nach Anspruch 28, wobei das BM_STS-Bit gesetzt ist, während das Busmaster-Gerät Speicherschreiboperationen mit dem Speicher ausführt.
- System nach Anspruch 28, wobei der energiesparende Zustand ein C3-Zustand ist.
- System nach Anspruch 28, weiterhin umfassend ein Speichersubsystem, das an den Speicher angekoppelt ist, wobei das Speichersubsystem während jeglicher Busmaster-Leseoperationen, die von dem Busmaster-Gerät ausgeführt werden, keine Snoop-Zyklen an den Prozessor ausgibt.
- System nach Anspruch 32, wobei das Busmaster-Gerät Busmaster-Leseoperationen erzeugen darf, wenn das ARB_DIS-Bit gesetzt ist.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/085,307 US20030163745A1 (en) | 2002-02-27 | 2002-02-27 | Method to reduce power in a computer system with bus master devices |
US10/085,307 | 2002-02-27 | ||
PCT/US2003/005835 WO2003073253A2 (en) | 2002-02-27 | 2003-02-25 | Method to reduce power in a computer system with bus master devices |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10392351T5 true DE10392351T5 (de) | 2005-03-10 |
Family
ID=27753600
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10392351T Ceased DE10392351T5 (de) | 2002-02-27 | 2003-02-25 | Verfahren zum Verringern der Leistungsaufnahme in einem Computersystem mit Busmaster-Geräten |
Country Status (8)
Country | Link |
---|---|
US (1) | US20030163745A1 (de) |
KR (2) | KR20060122982A (de) |
CN (1) | CN100351743C (de) |
AU (1) | AU2003217741A1 (de) |
DE (1) | DE10392351T5 (de) |
GB (1) | GB2403570B (de) |
TW (1) | TWI281607B (de) |
WO (1) | WO2003073253A2 (de) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7636815B1 (en) * | 2003-04-09 | 2009-12-22 | Klaiber Alexander C | System and method for handling direct memory accesses |
US8751753B1 (en) | 2003-04-09 | 2014-06-10 | Guillermo J. Rozas | Coherence de-coupling buffer |
US20040250035A1 (en) * | 2003-06-06 | 2004-12-09 | Atkinson Lee W. | Method and apparatus for affecting computer system |
US7930572B2 (en) * | 2003-12-24 | 2011-04-19 | Texas Instruments Incorporated | Method and apparatus for reducing memory current leakage a mobile device |
EP1548547A1 (de) * | 2003-12-24 | 2005-06-29 | Texas Instruments Incorporated | Verfahren und Vorrichtung zur Reduktion des Speicherleckstroms in einem mobilen Gerät |
US7315952B2 (en) * | 2004-06-02 | 2008-01-01 | Intel Corporation | Power state coordination between devices sharing power-managed resources |
US7272741B2 (en) * | 2004-06-02 | 2007-09-18 | Intel Corporation | Hardware coordination of power management activities |
US7971002B1 (en) | 2005-04-07 | 2011-06-28 | Guillermo Rozas | Maintaining instruction coherency in a translation-based computer system architecture |
US7454632B2 (en) * | 2005-06-16 | 2008-11-18 | Intel Corporation | Reducing computing system power through idle synchronization |
US7430673B2 (en) * | 2005-06-30 | 2008-09-30 | Intel Corporation | Power management system for computing platform |
KR100656353B1 (ko) | 2005-07-12 | 2006-12-11 | 한국전자통신연구원 | 메모리 전력 소모를 줄이는 방법 |
US20070050549A1 (en) * | 2005-08-31 | 2007-03-01 | Verdun Gary J | Method and system for managing cacheability of data blocks to improve processor power management |
TWI286705B (en) * | 2005-09-06 | 2007-09-11 | Via Tech Inc | Power management method of central processing unit |
US7750912B2 (en) * | 2005-11-23 | 2010-07-06 | Advanced Micro Devices, Inc. | Integrating display controller into low power processor |
CN100397301C (zh) * | 2006-01-09 | 2008-06-25 | 威盛电子股份有限公司 | 中央处理器的省电方法 |
JP5283128B2 (ja) * | 2009-12-16 | 2013-09-04 | 学校法人早稲田大学 | プロセッサによって実行可能なコードの生成方法、記憶領域の管理方法及びコード生成プログラム |
US10289183B2 (en) | 2014-08-22 | 2019-05-14 | Intel Corporation | Methods and apparatus to manage jobs that can and cannot be suspended when there is a change in power allocation to a distributed computer system |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5414827A (en) * | 1991-12-19 | 1995-05-09 | Opti, Inc. | Automatic cache flush |
US5325503A (en) * | 1992-02-21 | 1994-06-28 | Compaq Computer Corporation | Cache memory system which snoops an operation to a first location in a cache line and does not snoop further operations to locations in the same line |
EP0585117A1 (de) * | 1992-08-26 | 1994-03-02 | Cyrix Corporation | Verfahren und System zur Aufrechterhaltung der Cachespeicherübereinstimmung in einem Multimasterrechnersystem |
US5551006A (en) * | 1993-09-30 | 1996-08-27 | Intel Corporation | Low cost writethrough cache coherency apparatus and method for computer systems without a cache supporting bus |
US6052789A (en) * | 1994-03-02 | 2000-04-18 | Packard Bell Nec, Inc. | Power management architecture for a reconfigurable write-back cache |
US5802305A (en) * | 1996-05-17 | 1998-09-01 | Microsoft Corporation | System for remotely waking a sleeping computer in power down state by comparing incoming packet to the list of packets storing on network interface card |
US6205507B1 (en) * | 1996-06-13 | 2001-03-20 | Compaq Computer Corporation | Memory coherency in a processor-to-bus cycle in a multi-processor system |
AU6140098A (en) * | 1997-03-31 | 1998-10-22 | Intel Corporation | Automatic transitioning between acpi c3 and c2 states |
US6128703A (en) * | 1997-09-05 | 2000-10-03 | Integrated Device Technology, Inc. | Method and apparatus for memory prefetch operation of volatile non-coherent data |
US5983354A (en) * | 1997-12-03 | 1999-11-09 | Intel Corporation | Method and apparatus for indication when a bus master is communicating with memory |
KR100626359B1 (ko) * | 1999-09-10 | 2006-09-20 | 삼성전자주식회사 | 컴퓨터 시스템의 전원 관리 방법 |
US6658532B1 (en) * | 1999-12-15 | 2003-12-02 | Intel Corporation | Cache flushing |
US6633987B2 (en) * | 2000-03-24 | 2003-10-14 | Intel Corporation | Method and apparatus to implement the ACPI(advanced configuration and power interface) C3 state in a RDRAM based system |
-
2002
- 2002-02-27 US US10/085,307 patent/US20030163745A1/en not_active Abandoned
-
2003
- 2003-02-25 DE DE10392351T patent/DE10392351T5/de not_active Ceased
- 2003-02-25 GB GB0420421A patent/GB2403570B/en not_active Expired - Fee Related
- 2003-02-25 CN CNB038044161A patent/CN100351743C/zh not_active Expired - Fee Related
- 2003-02-25 AU AU2003217741A patent/AU2003217741A1/en not_active Abandoned
- 2003-02-25 WO PCT/US2003/005835 patent/WO2003073253A2/en not_active Application Discontinuation
- 2003-02-25 KR KR1020067021404A patent/KR20060122982A/ko not_active Application Discontinuation
- 2003-02-25 KR KR1020047013414A patent/KR100667999B1/ko not_active IP Right Cessation
- 2003-02-26 TW TW092104028A patent/TWI281607B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
US20030163745A1 (en) | 2003-08-28 |
AU2003217741A1 (en) | 2003-09-09 |
KR100667999B1 (ko) | 2007-01-15 |
GB0420421D0 (en) | 2004-10-20 |
KR20060122982A (ko) | 2006-11-30 |
CN1639671A (zh) | 2005-07-13 |
GB2403570A (en) | 2005-01-05 |
KR20040086459A (ko) | 2004-10-08 |
GB2403570B (en) | 2006-11-22 |
CN100351743C (zh) | 2007-11-28 |
WO2003073253A3 (en) | 2004-02-19 |
TWI281607B (en) | 2007-05-21 |
WO2003073253A2 (en) | 2003-09-04 |
TW200402619A (en) | 2004-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10392351T5 (de) | Verfahren zum Verringern der Leistungsaufnahme in einem Computersystem mit Busmaster-Geräten | |
DE60222402T2 (de) | Verfahren und system zur spekulativen ungültigkeitserklärung von zeilen in einem cachespeicher | |
DE69127111T2 (de) | Verfahren zum Nachladen aufgeschobener Datenauslagerungen in einen Copy-back Daten-Cachespeicher | |
DE69028066T2 (de) | Kombinierte synchrone und asynchrone Speichersteuerung | |
DE60031404T2 (de) | Verfahren und vorrichtung zur dynamischen änderung der grössen von pools, die die leistungsaufnahme von speichern steuern | |
DE19782177B4 (de) | Verfahren zur Durchführung von TLB-Shootdown-Operationen in einem Multiprozessorsystem | |
DE112005002298B4 (de) | Leistungssteigerung einer Adreßübersetzung unter Verwendung von Übersetzungstabellen, die große Adreßräume umfassen | |
DE112008001223B4 (de) | Datenverarbeitung mit einem Cache-Zugriffsmodus mit geringer Leistung | |
DE69633166T2 (de) | Integrierter schaltkreis mit mehreren funktionen und gemeinsamer verwendung mehrerer interner signalbusse zur verteilung der steuerung des buszugriffes und der arbitration | |
DE112006000545B4 (de) | System und Verfahren zum kohärenten Datentransfer während Leerlaufzuständen von Prozessoren | |
DE10262164B4 (de) | Computersystem mit einer hierarchischen Cacheanordnung | |
DE69030640T2 (de) | Multiprozessorarbitrierung in für Einzelprozessor bestimmten Arbitrierungsschemas | |
DE102019105879A1 (de) | Verwaltung von kohärenten Verknüpfungen und Mehr-Ebenen-Speicher | |
DE112012005210B4 (de) | Bereitstellen eines gemeinsamen Caching-Agenten für ein Kern- und integriertes Ein-/Ausgabe-(IO)-Modul | |
DE3751645T2 (de) | Anteilige Nutzung von Kopie-beim-Schreiben-Segmenten in einer Datenverarbeitungsanlage mit virtuellen Maschinen und virtuellem Speicher | |
DE112007001171T5 (de) | Verfahren für virtualisierten Transaktionsspeicher bei globalem Überlauf | |
DE102010034555A1 (de) | Bereitstellen von Zustandsspeicher in einem Prozessor für Systemmanagement-Modus | |
DE112011102822T5 (de) | Leistungsoptimierte Interrupt-Abgabe | |
DE112009000373T5 (de) | Technik, um Information zwischen unterschiedlichen Kohärenz-Domains von Caches zu nutzen | |
DE102009031125A1 (de) | Nand-Fehlerbehandlung | |
DE112013000891T5 (de) | Verbessern der Prozessorleistung für Befehlsfolgen, die Sperrbefehle enthalten | |
DE112007001987T5 (de) | Überführen einer Rechenplattform in einen Systemzustand niedriger Leistung | |
DE112005002420T5 (de) | Verfahren und Vorrichtung zum Pushen von Daten in den Cache eines Prozessors | |
DE69219848T2 (de) | Verfahren zur Behandlung von Datenübertragungen in einen Computersystem mit einem Zweibusbau | |
DE4417068A1 (de) | Verfahren und Einrichtung zum Betreiben eines Einzel-Prozessor-Computersystems als Mehr-Prozessor-System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law |
Ref document number: 10392351 Country of ref document: DE Date of ref document: 20050310 Kind code of ref document: P |
|
8131 | Rejection |