DE19882858C2 - Ein Verfahren und Einrichtungen zum Steuern der Kernlogiktemperatur - Google Patents

Ein Verfahren und Einrichtungen zum Steuern der Kernlogiktemperatur

Info

Publication number
DE19882858C2
DE19882858C2 DE19882858T DE19882858T DE19882858C2 DE 19882858 C2 DE19882858 C2 DE 19882858C2 DE 19882858 T DE19882858 T DE 19882858T DE 19882858 T DE19882858 T DE 19882858T DE 19882858 C2 DE19882858 C2 DE 19882858C2
Authority
DE
Germany
Prior art keywords
throttling
memory controller
write
quadword
data
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 - Fee Related
Application number
DE19882858T
Other languages
English (en)
Other versions
DE19882858T1 (de
Inventor
Zohar Bogin
Vincent E Vonbokern
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE19882858T1 publication Critical patent/DE19882858T1/de
Application granted granted Critical
Publication of DE19882858C2 publication Critical patent/DE19882858C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/06Arrangements for interconnecting storage elements electrically, e.g. by wiring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/143Detection of memory cassette insertion or removal; Continuity checks of supply or ground lines; Detection of supply variations, interruptions or levels ; Switching between alternative supplies
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/20Address safety or protection circuits, i.e. arrangements for preventing unauthorized or accidental access

Description

Die Erfindung bezieht sich auf ein Verfahren zum Regeln der Temperatur einer Kernlogik, die eine Speichersteuer­ einrichtung aufweist, sowie auf eine Speichersteuereinrich­ tung zur Ausführung eines solchen Verfahrens.
Jedes Computersystem-Bauelement weist üblicherweise eine zugehörige thermische Spezifikation auf, welche die Maximaltemperatur definiert, bei welcher ein Bauelement wahrscheinlich zusammenbricht oder langsamer wird und dabei Systemausfälle bewirkt.
Bei der bekannten Lösung wird die Bauelemente-Chiptem­ peratur anhand von Spannungsänderungen gemessen, die Tempe­ raturänderungen reflektieren. Die Spannungspegel werden in ein Digitalsignal konvertiert, das mit einem vorgegebenen Schwellwert verglichen wird. Wenn der Schwellwert über­ schritten wird, wird ein Interrupt-Signal an die zentrale Verarbeitungseinheit (CPU) erzeugt, welche den Zustand ho­ her Temperatur mit Software behandelt. Der bekannten Lösung haften viele Nachteile an. Beispielsweise ist die bekannte Lösung teuer, da sie eine analoge Schaltung erfordert, welche ein hohes Maß an Abgleich erfordert, um genaue und zuverlässige Temperatursignale bereitzustellen. Darüber hinaus erfordert die Behandlung der Komplexität analoger Schaltungen eine lange Produktentwicklungsdauer.
Schließlich verwendet die bekannte Lösung eine Hardware, um den thermischen Zustand direkt zu erfassen, aber verläßt sich auf Software, um thermische Überbeanspruchungen tatsächlich zu vermeiden. Die bekannte Lösung ist somit Sicherheitsverletzungen, beispielsweise durch Viren­ programme, ausgesetzt.
Es ist eine Aufgabe der Erfindung, einen Mechanismus bereitzustellen, der die oben genannten Nachteile der be­ kannten Lösung überwindet und eine weniger aufwendige, leichter zu kalibrierende Alternative für die Regelung der Temperatur von Kernlogikbauelementen bereitstellt.
Die japanische Patentanmeldung Nr. 08-335143 offenbart ein System zum Kontrollieren der Temperatur für DASD-Ar­ rays. Daten, auf die häufig zugegriffen wird, werden einem DASD zugewiesen, welches eine relative geringe Betriebstem­ peratur aufweist. Daten, auf die selten zugegriffen wird, werden einem DASD zugewiesen, welches eine relativ hohe Be­ triebstemperatur aufweist. So kann die Betriebstemperatur der mehreren DASDs des Arrays gemittelt werden, um das Risiko eines Ausfalls infolge einer Überhitzung des DASD- Arrays zu minimieren. Das US-Patent Nr. 5,590,061 offenbart ein Verfahren und eine Einrichtung zum Bereitstellen eines Temperaturmanagments in einem Computersystem, bei dem die interne Temperatur gemessen wird. Auf der Grundlage der Temperaturmessung wird die erzeugte Wärme reduziert, indem ein Teil des Systems abgeschaltet wird. Die interne Systemtemperatur wird periodisch gemessen. Wenn sie einen Schwellwert überschreitet, werden integrierte Schaltungen des Systems ab- oder heruntergeschaltet.
Diese o. g. Aufgabe wird erfindungsgemäß durch ein Verfahren mit den Merkmalen des Anspruchs 1 bzw. eine Speichersteuereinrichtung mit den Merkmalen des Anspruchs 13 gelöst. Die Kernlogik, deren Temperatur geregelt wird, umfaßt eine mit einem Systemspeicher gekoppelte Speichersteuereinrichtung. Das Verfahren bestimmt die Zugriffsrate der Kernlogik auf den Systemspeicher und regelt die Temperatur der Kernlogik, indem sie die Zugriffsrate einstellt.
Vorteilhafte und bevorzugte Weiterbildung der Erfindung sind in den Unteransprüchen gekennzeichnet.
Im folgenden wird die Erfindung anhand bevorzugter, in den Zeichnungen veranschaulichter Ausführungsbeispiele be­ schrieben.
Fig. 1 veranschaulicht eine beispielhafte Blockdar­ stellung eines Computersystems mit einer einer möglichen thermischen Überbeanspruchung unterworfenen Kernlogik.
Fig. 2a ist ein Blockschaltbild, das ein Ausführungs­ beispiel eines Abschnitts der inneren Komponenten veran­ schaulicht, die die in Fig. 1 veranschaulichte Speicher­ steuereinrichtung umfaßt.
Fig. 2b ist ein Blockschaltbild eines Ausführungsbei­ spiels einer Drosselungsentscheidungslogik, die mit einem DRAM-Arbiter (Zuteilungsentscheider) der Speichersteuerein­ richtung gekoppelt ist.
Fig. 3a veranschaulicht die zwei Zustände eines Aus­ führungsbeispiels der Drosselungsentscheidungslogik.
Fig. 3b veranschaulicht ein Blockschaltbild eines Aus­ führungsbeispiels der Drosselungsentscheidungslogik.
Fig. 3c veranschaulicht die Maskierung von Lese- und Schreibanforderungen.
Fig. 4a und 4b sind Ablaufdiagramme, die die grund­ sätzlichen Schritte veranschaulichen, denen ein Ausfüh­ rungsbeispiel der vorliegenden Erfindung bei der Steuerung der Kernlogiktemperatur folgt.
Die vorliegende Erfindung schafft ein Verfahren zum Steuern der Kernlogiktemperatur. Die vorliegende Erfindung überwacht und steuert die Speicherzugriffsrate zwischen einer Kernlogik und Speicherbauelementen (z. B. SDRAM) derart, daß die maximale Verlustleistung nicht überschritten und folglich die thermische Spezifikation der Kernlogik eingehalten wird. Der Begriff der thermischen Spezifikation, wie er hier verwendet wird, bezeichnet eine Toleranz eines bestimmten Bauelements für dessen Erwärmung. Beispielsweise beschreibt die thermische Spezifikation für ein gegebenes Bauelement näherungsweise die Temperatur, bei welcher das Bauelement sich wahrscheinlich verlangsamt und/oder Systemausfälle bewirkt oder zusammenbricht.
Wenn die Zugriffsrate überhöhte Temperaturen bewirkt, wird die Drosselungsfunktion gemäß der vorliegenden Erfin­ dung aktiviert. Die Drosselungsfunktion verlangsamt die Zugriffsrate für eine vorgegebene Zeitdauer, die ausreicht, um zu garantieren, daß die thermische Spezifikation des Bauelements nicht überschritten wird.
Die vorliegende Erfindung ist einfach zu validieren und hat einen vernachlässigbaren Einfluß auf die Gatteranzahl des Bauelements.
Fig. 1 veranschaulicht ein Beispielblockschaltbild ei­ nes Abschnitts eines Systems mit Kernlogikbauelementen, die potentiellen thermischen Überbeanspruchungen ausgesetzt sind. Insbesondere weist bei einem Ausführungsbeispiel eine Kernlogik 100 eine Speichersteuereinrichtung 106 auf und ist mit DRAMs 104 gekoppelt, die synchrone DRAMs (SDRAMs) umfassen, sowie mit einem Systemspeicher 102 über den Bus 101. Die Speichersteuereinrichtung 106 koppelt den System­ speicher 102 und die SDRAMs 104 mit verschiedenen Einrich­ tungen, einschließlich einer zentralen Verarbeitungseinheit (CPU) 108, wie beispielsweise einem Intel Pentium® II-Pro­ zessor, die durch einen Bus 105 angekoppelt ist, einer durch einen Bus 107 angekoppelten fortgeschrittenen Grafik­ port-Einrichtung (AGP-Einrichtung) 110 und einer Mehrzahl von über einen Bus 114 angekoppelten Peripheriekomponenten­ verbindungs(PCI)-Einrichtungen 112 1 bis 112 N. Obwohl diese nicht gezeigt sind, ist es einem Fachmann klar, daß das Sy­ stem darüber hinaus zahlreiche andere Bauelemente und Kom­ ponenten enthalten kann, die sich typischerweise in einem Computersystem finden.
Die PCI-Einrichtungen 112 1 bis 112 N sind Eingabe/Ausgabe (I/O)-Hardware-Einrichtungen, die mit dem System über einen (nicht gezeigten) PCI-Erweiterungssteckverbinder gekoppelt oder auf der (nicht gezeigten) Personalcomputer(PC)-Mutter­ platine montiert sind. Beispiele von PCI- oder anderen I/O- Einrichtungen umfassen eine Grafiksteuereinrichtung/karte, eine Plattensteuereinrichtung/karte, eine Steuereinrich­ tung/karte für ein lokales Netz (LAN) und eine Videosteuer­ einrichtung/karte, sind aber nicht darauf beschränkt. Die AGP-Einrichtung 110 ist mit dem Systemspeicher 102 über die Speichersteuereinrichtung 106 gekoppelt und ist so ausge­ bildet, daß sie dazu beiträgt, die Grafikdatenübertragungs­ operationen bei Hochgeschwindigkeitspersonalcomputern (PCs) zu optimieren.
Die Speichersteuereinrichtung 106 ermöglicht der CPU 108, der AGP-Einrichtung 110 und den PCI-Einrichtungen 112 1 bis 112 N einen Zugriff auf den Systemspeicher 102. Bei­ spielsweise werden bei einer Datenschreibtransaktion eine Schreibanforderung ebenso wie die in den Systemspeicher zu schreibenden Daten zu der Speichersteuereinrichtung 106 weitergeleitet und von dieser verarbeitet. Bei einer Lese­ transaktion wird eine Leseanforderung an die Speichersteu­ ereinrichtung 106 weitergeleitet, und die angeforderten Da­ ten werden aus dem Systemspeicher 102 zurück zu der anfor­ dernden Komponente, wie beispielsweise der CPU 108, der AGP-Einrichtung 110 und/oder den PCI-Einrichtungen 112 1 bis 112 N, zurückgesendet.
Aufgrund des hohen Verkehrs und des hohen Datenvolumens bei Lese- und Schreibanforderungen, die von der Speicher­ steuereinrichtung 106 verarbeitet und zu dem Systemspeicher 102 getrieben werden, erhöht sich der Energieverbrauch der Speichersteuereinrichtung 106, was eine direkte Erhöhung der Temperatur der Speichersteuereinrichtung 106 bewirkt. Wenn die Temperatur eine bestimmte Grenze überschreitet, wie sie von der Temperaturspezifikation der Speichersteuer­ einrichtung 106 definiert ist, kann die Speichersteuerein­ richtung 106 zusammenbrechen, langsamer werden und/oder ei­ nen Systemausfall bewirken. In ähnlicher Weise kann die Temperaturspezifikation der SDRAMs 104 infolge der erhöhten Temperatur bei der Verarbeitung eines hohen Volumens von Leseanforderungen verletzt werden. Das digitale Verfahren und die Einrichtung gemäß der vorliegenden Erfindung steu­ ert die Temperatur der Kernlogik 100, indem sie die Daten­ zugriffsrate über die Speichersteuereinrichtung 106 überwacht, um zu sichern, daß ein derartiger Zusammenbruch vermieden wird.
Obwohl die Kernlogik 100 so dargestellt ist, daß sie eine Speichersteuereinrichtung 106 umfaßt, kann die Kernlo­ gik 100 bei einem anderen Ausführungsbeispiel auch eine Host-Brücke umfassen, die den Systemspeicher 102 mit verschie­ denen Komponenten verbindet, wie beispielsweise der CPU 108, Peripherieverbindungs(PCI)-Einrichtungen 112 1 . . . 113 N und AGP-Einrich­ tungen 110. Bei einem weiteren Ausführungsbeispiel kann die Kernlogik 100 ein oder mehrere Bussteuereinrichtungen (z. B. PCI-Bus-Steuereinrichtungen), eine Grafiksteuereinrichtung (z. B. AGP-Steuereinrichtung) und eine CPU-Steuereinrichtung zusätzlich zu der Speichersteuereinrichtung zum Steuern des Datenzugriffs zwischen verschiedenen Komponenten, wie bei­ spielsweise Bus- und Grafikeinrichtungen, dem Systemspei­ cher und der CPU, umfassen.
Fig. 2a ist ein Funktionsblockschaltbild eines Ausfüh­ rungsbeispiels einer Speichersteuereinrichtung. Eine Dros­ selungsentscheidungslogik 200 ist mit mehreren Daten-Lese- und -Schreib-Anforderungs/Daten-Warteschlangen 202, 204 und 206 gekoppelt. Die Drosselungsentscheidungslogik 200 über­ wacht die Zugriffsrate der Datenübertragungsanforderungen an den Systemspeicher und erzeugt Signale, die die Anzahl von verarbeiteten Datenübertragungsanforderungen beschrän­ ken, wenn die Zugriffsrate größer oder gleich einem vorge­ gebenen Schwellwert ist.
Eine Leseanforderungswarteschlange 202 enthält eine Mehrzahl von durch verschiedene Systemkomponenten ausgege­ benen Leseanforderungen. Eine Schreibpufferanforderungs­ warteschlange 204 enthält eine Mehrzahl von Schreibanforde­ rungen, die von verschiedenen Komponenten der Kernlogik 100 ausgegeben wurden. Eine Außer-der-Reihe-AGP-Anforderungs­ warteschlange 206 enthält AGP-Anforderungen, die von der AGP-Einrichtung 110 herrühren.
Die Drosselungsentscheidungslogik 200 ist mit einem DRAM-Arbiter 207 gekoppelt, welcher die Lese/Schreib-Anfor­ derungen an eine DRAM-Steuereinrichtung 208 weiterleitet. Die DRAM-Steuereinrichtung 208 führt DRAM-Operationen, bei­ spielsweise Lese- und Schreibanforderungen, an den System­ speicher durch. Der DRAM-Arbiter 207 empfängt Steuersignale aus der Drosselungsentscheidungslogik 200, welche die Zeit­ gabe und die Dauer spezifizieren, in der der DRAM-Arbiter 207 mit der Verarbeitung von Leseanforderungen einhalten soll, um thermische Überbeanspruchungen in den SDRAMs zu vermeiden, und mit der Verarbeitung von sowohl Lese- als auch Schreibanforderungen einhalten soll, um thermische Überbeanspruchungen in der Speichersteuereinrichtung zu vermeiden.
Fig. 2b ist ein detaillierteres Blockschaltbild eine Ausführungsbeispiels der Drosselungsentscheidungslogik 200, die mit dem DRAM-Arbiter 207 gekoppelt ist. Die Drosselungsent­ scheidungslogik 200 umfaßt eine Schreibdrosselungsentschei­ dungslogik 210 und eine Lesedrosselungsentscheidungslogik 212.
Es werden ein oder mehrere Konfigurationsbits 214 von der Schreibdrosselungsentscheidungslogik 210 verwendet, um Schreibanforderungen an den Systemspeicher zu überwachen und Signale an den DRAM-Arbiter 207 zu erzeugen, um zu verar­ beitende Schreibanforderungen einzuschränken, wenn die Schreibzugriffsrate einen vorgegebenen Schwellwert erreicht hat. Konfigurationsbits 214 sind vorgegebene Werte, die verwendet werden, um zu bestimmen, ob die Schreibdrossel aktiviert werden sollte. Verschiedene Register, welche die Quelle der Konfigurationsbits sind, sind in dem Block­ schaltbild gemäß Fig. 3b veranschaulicht.
Ein DRAM-Steuersignal 216 aus der DRAM-Steuereinrich­ tung versorgt die Schreibdrosselungsentscheidungslogik 210 mit der Anzahl von Quadworten (QW), die in den System­ speicher geschrieben werden. Schreibanforderungen 218 aus der CPU, der AGP-Einrichtung und/oder den PCI-Einrichtungen werden der Schreibdrosselungsentscheidungslogik 210 zur Verfügung gestellt, damit diese maskiert und zu dem DRAM- Arbiter 207 durch die Schreibanforderungsleitung 224 wei­ tergeleitet werden, wenn die Schreibdrosselung aktiviert werden soll. Anderenfalls werden Schreibanforderungen 218 ohne Änderung zu dem DRAM-Arbiter 207 über die Schreib­ anforderungsleitung 224 weitergeleitet.
Ein DRAM-Steuersignal 227 aus der DRAM-Steuereinrich­ tung stellt die Anzahl von durch den Systemspeicher ausge­ führten QW-Leseoperationen an die Lesedrosselungsentschei­ dungslogik 212 zur Verfügung. Leseanforderungen 228 aus der CPU, der AGP-Einrichtung und/oder den PCI-Einrichtungen werden an die Lesedrosselungsentscheidungslogik 212 zur Verfügung gestellt, damit diese maskiert werden, wenn die Lesedrossel aktiviert werden soll. Anderenfalls werden die Leseanforderungen 218 an den DRAM-Arbiter 207 in unverän­ derter Form über die Leseanforderungsleitung 230 weiterge­ leitet.
Fig. 3a veranschaulicht die zwei Regimes eines Ausfüh­ rungsbeispiels der Drosselungsentscheidungslogik. Ein Regime ist ein Überwachungsregime 301 und das andere ist ein Drosselungsregime 302.
Bei dem Überwachungsregime 301 überwacht die Drosse­ lungsentscheidungslogik die Benutzung der Datenzugriffsrate zum und aus dem Systemspeicher über die Speichersteuer­ einrichtung 106. Sofern die Zugriffsrate bestimmte Schwell­ werte überschreitet, tritt die Drosselungsentscheidungs­ logik in ein Drosselungsregime 302 für eine vorgegebene Zeitdauer ein. Andernfalls verbleibt die Drosselungs­ entscheidungslogik in dem Überwachungsregime 301.
Während sie sich in dem Überwachungsregime 301 befin­ det, wird ein Abtastfenster definiert, in welchem die Zugriffsrate auf den Systemspeicher überwacht wird. Während des Abtastfensters werden die Zugriffe auf den System­ speicher gezählt. Am Ende des Abtastfensters wird die Gesamtzahl der gezählten Zugriffe mit einem vorgegebenen Schwellwert verglichen. Wenn man beispielsweise eine maxi­ male Bandbreite von 800 Megabyte pro Sekunde (MB/s) annimmt, bei welcher die thermische Spezifikation eines Speicherbauelements überschritten wird, so kann dann der Schwellwert als irgendeine geringere Bandbreite, wie bei­ spielsweise 500 MB/s definiert werden. Wenn die gezählten Zugriffe den Schwellwert überschreiten (Zustandsübergang 303), tritt die Funktion in das Drosselungsregime 302 ein. Andernfalls wird eine neue Abtastung verwendet, um das Überwachungsregime 301 neu zu starten.
In dem Drosselungsregime 302 begrenzt die Drosselungs­ entscheidungslogik aktiv die Zugriffsrate auf einen defi­ nierten Grenzwert, der garantiert, daß eine thermische Spe­ zifikation für die Speichersteuereinrichtung nicht über­ schritten wird (d. h., die festgesetzte Maximaltemperatur nicht überschritten wird). Insbesondere bestimmt in dem Drosselungsregime 302 die Drosselungsentscheidungslogik, daß die Datenzugriffsrate gedrosselt werden muß, und sendet dem DRAM-Arbiter eine Maskiere-Schreiben- oder Maskiere- Lesen-Anforderung, um die Zugriffsrate für eine definierte Zeitdauer zu begrenzen.
Das Drosselungsregime 302 spezifiziert die Drosselungs­ zeit. Die Drosselungszeit kann ein ganzzahliges Vielfaches eines gegebenen Abtastfensters sein. Bei einem Ausführungs­ beispiel ist jede Drosselungszeit in der Größenordnung von Sekunden und ist ferner in Drosselungsfenster unterteilt, welche in der Größenordnung von Mikrosekunden (beispielsweise 10 Mikrosekunden) liegen. Für jedes Drosse­ lungsfenster wird ein maximaler Quadwort(QW)-Wert bereit­ gestellt, welcher die Anzahl von Zugriffen bezeichnet, die durchgeführt werden können. Weitere Zugriffsanforderungen auf den Systemspeicher werden von dem DRAM-Arbiter für die verbleibende Dauer des Drosselungsfensters blockiert. Das Verhältnis des Zugriffsbudgets zu den Drosselungsfenstern steuert im Endeffekt die Zugriffsrate, um zu garantieren, daß die Chiptemperatur der Kernlogikbauelemente kontrol­ liert bleibt.
Fig. 3b veranschaulicht ein Ausführungsbeispiel der Drosselungsentscheidungslogik der Speichersteuereinrich­ tung, welche Signale erzeugt, die dem DRAM-Arbiter eingege­ ben werden, um die Anzahl der Datenanforderungen zu begren­ zen, die unterstützt werden sollen, und um die Dauer der Unterstützung zu begrenzen, um eine thermische Überbean­ spruchung der Kernlogikkomponenten zu vermeiden. Obwohl das in Fig. 3b veranschaulichte Blockschaltbild nur für Schreibdatenanforderungen veranschaulicht ist, ist es einem Fachmann aus der hier angegebenen detaillierten Beschrei­ bung klar, daß Lesedatenanforderungen ebenfalls im wesent­ lichen in der gleichen Weise, wie es in dem Blockschaltbild veranschaulicht ist, verarbeitet werden können.
Die Drosselungsentscheidungslogik verbleibt in dem Überwachungsregime, bis die Drosselungsfunktion aktiviert wird. Während sie in dem Überwachungsregime ist, wird die Schreibabtastzeit, die in dem Schreibabtastfensterzeitgene­ rator und -register 300 gespeichert wird, einem Schreib­ übertragungszähler 303, einem Schreibquadwort(QW)-Schwell­ wertkomparator 304 und einer Schreibdrosselungszustands­ steuereinrichtung 306 eingegeben.
Dem Schreibabtastfensterzeitgenerator und -register 300 ist eine vorgegebene Zeitdauer, wie beispielsweise eine Sekunde, vorprogrammiert in dem Register 300 eingegeben. Die Dauer kann fest verdrahtet sein. Die vorgegebene Dauer ist eine Zeitdauer, innerhalb welcher ein Abtastfenster die Anzahl von Datenanforderungen abtastet, die durch die Spei­ chersteuereinrichtung 106 an den Systemspeicher ausgeführt worden sind. Allgemeiner ausgedrückt, überwacht die Drosse­ lungsentscheidungslogik den Umfang des Lese/Schreib­ verkehrs, der an den Systemspeicher erzeugt wird.
Der Schreibübertragungszähler 303 überwacht DRAM- Steuersignal 308, welches die Anzahl von Dateneinheiten anzeigt, die zu dem Systemspeicher übertragen werden. Bei einem Ausführungsbeispiel sind diese Dateneinheiten Quad­ worte (QW). Ein Schreib-QW-Schwellwertregister 310 wird beim Einschalten des Computersystems durch das (nicht gezeigte) Anfangsladeprogramm des Computersystems mit einem QW-Schwellwert der Speichersteuereinrichtung vorprogram­ miert. Somit wird jedesmal dann, wenn der Computer gestar­ tet oder unter Verwendung eines Boot-Programms anfangsgela­ den wird, ein vorgegebener QW-Schwellwert in das Schreib- QW-Schwellwertregister 310 von dem Boot-Programm geladen. Das Vorprogrammieren von Registern unter Verwendung eines Boot-Programms ist im Stand der Technik gut bekannt.
Der Schreib-QW-Schwellwert wird auf der Grundlage des Bandbreitenschwellwerts des Computersystems ausgewählt, welcher garantiert, daß die Temperatur der Speichersteuer­ einrichtung unter dem spezifizierten Wert bleibt. Wenn bei­ spielsweise das Abtastfenster eine Sekunde und die maximal unterstützte Bandbreite 500 Megabyte pro Sekunde sind, dann ist der gewünschte Schwellwert 500 geteilt durch 8, was einem Maximalwert von 62,5 Quadworte pro Sekunde ent­ spricht.
Die Größe des Abtastfensters wird auf der Grundlage des sich aus der Änderung der Bandbreite von irgendeinem sta­ tionären Zustand zu einer maximalen Bandbreite ergebenden Temperaturgradienten bestimmt. Wenn beispielsweise der Tem­ peraturgradient 10°C/Sekunde, die Temperatur des stationä­ ren Zustands 105°C und die maximal spezifizierte Temperatur 115°C ist, dann wird das Abtastfenster auf eine Sekunde gesetzt.
Am Ende des Schreibabtastfensters vergleicht der Schreib-QW-Schwellwertkomparator 304 die Anzahl der ausge­ führten Schreibdatenübertragungen, wie sie von dem Schreib­ übertragungszähler 303 gezählt worden sind, mit der thermi­ schen Schwellwertdatenrate, wie sie in dem Schreib-QW- Schwellwertregister 310 gespeichert ist. Wenn die Anzahl der Schreibdatenübertragungen, die von dem Schreibübertra­ gungszähler 303 innerhalb einer Schreibabtastzeit (wie sie von dem Schreibabtastfensterzeitgenerator und -register 300 gekennzeichnet wird) gezählt worden ist, größer oder gleich dem von dem Schreib-QW-Schwellwertregister 310 vorgegebenen QW-Schwellwertdatenrate ist, dann signalisiert der Schreib- QW-Schwellwertkomparator 304 der Schreibdrosselungs­ zustandssteuereinrichtung 306, mit einem neuen Schreibdros­ selungsregime zu beginnen. Anderenfalls überwacht die Schreibdrosselungslogik neue Schreibübertragungen in einem Überwachungsregime.
Dann initiiert die Schreibdrosselungszustandssteuer­ einrichtung 306 ein neues Schreibdrosselungsregime und benachrichtigt den Schreibdrosselungszeitgeber 311, auf eine Schreibdrosselungszeitperiode zuzugreifen, die in einem Schreibdrosselungszeitregister 309 gespeichert ist. Die Schreibdrosselungszeitdauer wird beim Einschalten des Computersystems vorprogrammiert. Darüber hinaus wird bei einem Ausführungsbeispiel die Schreibdrosselungszeit auf eine Weise ausgewählt, die die Beziehung zwischen dem Dros­ selungsfaktor und der Drosselungsdauer optimiert.
Im allgemeinen gilt, je länger die Drosselungszeit ist, desto geringer ist die Drosselung, die verwendet werden muß. Es ist wünschenswert, daß das Drosselungsverhältnis so gering wie möglich ist, um seinen Einfluß auf den System­ betrieb und die Systemleistung zu reduzieren oder sogar zu minimieren. Darüber hinaus ist es erwünscht, die geringst­ mögliche Drosselungszeit zu wählen, um es dem System zu ermöglichen, in das Überwachungsregime zurückzukehren und die Notwendigkeit einer Drosselung erneut zu überprüfen. Somit gibt es einen Punkt, bei welchem der Einfluß auf den Systembetrieb minimal ist, aber die Drosselungszeit noch ausreichend gering ist, um eine ausreichende Granularität zum Überwachen des Verkehrs zu dem Systemspeicher zur Ver­ fügung zu stellen.
Beispielsweise sei K das Verhältnis zwischen dem Abtastfenster und der Drosselungszeit und T.BW die während des Drosselungsregimes gestattete Bandbreite. Es sei ferner angenommen, daß die erforderliche unterstützte Bandbreite 500 Megabyte pro Sekunde (MB/S) ist, und es sei eine Maxi­ malbandbreite von 800 MB/S angenommen, wenn der Drosse­ lungsschwellwert überschritten wird. Mit den gegebenen Grö­ ßen wird die folgende Gleichung eingehalten:
wobei
K = 1 T.BW = 200 MB/S
K = 2 T.BW = 350 MB/S
K = 3 T.BW = 400 MB/S
AL=L<.
AL=L CB=3<.@ AL=L CB=3<.@ AL=L CB=3<.@ K = 63 (Maximum) T.BW = 500 MB/S
Um eine gegebene Durchschnittsbandbreite zu erreichen, die die gewünschte Bauelementetemperatur garantiert, kann eine tiefere Drosselung für eine kurze Zeit und eine gerin­ gere Drosselung für eine längere Zeit durchgeführt werden. Wie oben veranschaulicht wurde, sei angenommen, daß die Maximalbandbreite 800 MB/S ist und die gewünschte aufrecht­ zuerhaltende Bandbreite 500 MB/S ist. Wenn die Abtastdauer auf eine Sekunde gesetzt wird, kann die gewünschte auf­ rechtzuerhaltende Bandbreite erreicht werden, indem für eine Dauer von 1 Sekunde auf 200 MB/S heruntergedrosselt wird oder für 2 Sekunden (K = 2) bei 350 MB/Sekunde (T.BW = 350 MB/S) gedrosselt wird.
Sobald die Schreibdrosselungszustandssteuereinrichtung 306 ein neues Schreibdrosselungsregime initiiert, wird einem Schreibdrosselungsüberwachungszeitgeber 314 von der Schreibdrosselungszustandssteuereinrichtung 306 und dem Schreibdrosselungszeitgeber 311 signalisiert, daß er eine neue Schreibdrosselungsüberwachungszeit beginnen soll. Der Schreibdrosselungsüberwachungszeitgeber 314 beginnt das Zählen der Zeitdauer, die durch ein Schreibdrosselungsüber­ wachungsfensterregister 312 bezeichnet wird.
Somit beginnen sowohl der Schreibdrosselungszeitgeber 311 als auch der Schreibdrosselungsüberwachungszeitgeber 314 das Zählen einer vorgegebenen Zeitdauer. Somit gibt es bei einem Ausführungsbeispiel für jeweils eine Einheit des Schreibdrosselungszeitgebers 314 mehrere Schreibdrosse­ lungsüberwachungsfenster. Beispielsweise können für jeweils eine Sekunde einer Schreibdrosselungsüberwachungszeit meh­ rere Schreibdrosselungsüberwachungsfenster mit einer Dauer von jeweils 10 Mikrosekunden vorhanden sein.
Die Drosselung gemäß der vorliegenden Erfindung basiert auf der Begrenzung der Menge der Datenübertragungen, die während einer gegebenen Zeitdauer ausgeführt werden dürfen. Wenn ein Budget von Übertragungen einer Drosselungszeit von typischerweise einer oder mehreren Sekunden zugewiesen wird, kann es sein, daß die Übertragungen für eine Zeit­ dauer von Abschnitten einer Sekunde oder länger maskiert werden sollen. Lange Verzögerungen (oder Latenzen) bei der Ausführung von Zyklen verursachen bestimmte Systembetriebs­ ausfälle. Beispielsweise sind Betriebssysteme gegenüber derartigen langen Verzögerungen empfindlich, wenn sie ver­ suchen, die Zeit in Einheiten von weniger als 1 Sekunde zu messen. Bei einem Ausführungsbeispiel mißt das Betriebs­ system typischerweise die Zeit 18 mal in einer Sekunde oder jeweils alle 55 Mikrosekunden. Die vorliegende Erfindung weist kleinere Budgets einer kleineren Zeiteinheit in einer solchen Größenordnung (beispielsweise in der Größenordnung von Mikrosekunden) zu, so daß der grundlegende System­ betrieb nicht gestört wird.
Ein Schreib-Maximum-QW-Zähler 316 empfängt das DRAM- Steuersignal 313, das die Anzahl von Schreibdatenübertra­ gungen kennzeichnet, die während jedes Schreibdrosselungs­ überwachungsfensters auftreten. Ein Schreib-Maximum-QW- Register 318 enthält eine Maximaleinheit von Schreibdaten­ übertragungen (Quadworten), welche mit den angesammelten Schreibdatenübertragungen, wie sie von dem Schreib-Maximum­ zähler 316 gezählt worden sind, verglichen wird. Wenn die akkumulierten Maximum-QW, wie sie von dem Schreib-Maximum- QW-Zähler 316 gezahlt worden sind, größer oder gleich dem Schreib-Maximum-QW, wie es in dem Schreib-Maximum-QW-Regi­ ster 318 gespeichert ist, sind, so gibt ein Schreib-Maxi­ mum-QW-Komparator 320 ein Schreibmaskensteuersignal an den DRAM-Arbiter aus.
Bei einem Ausführungsbeispiel wird es für jedes Schreibdrosselungsüberwachungsfenster gestattet, daß ein Budget eines Schreib-Maximum-QW ausgeführt wird. Wenn mehr Schreibanforderungen in dem gleichen Schreibdrosselungs­ überwachungsfenster eingeführt werden, werden die Schreib­ anforderungen von dem DRAM-Arbiter blockiert und bis zum Ende des aktuellen Schreibdrosselungsüberwachungsfensters nicht ausgeführt.
Das Schreib-Maximum-QW wird in Übereinstimmung mit dem Drosselungsüberwachungsfenster und auf der Grundlage der während der Drosselung gewünschten Bandbreite ausgewählt. Wenn beispielsweise ein Drosselungsfenster von 10 Mikro­ sekunden ausgewählt ist und die gewünschte Drosselungsband­ breite 350 MB/Sekunde ist, dann ist das ausgewählte Schreib-Maximum-QW etwa 437 Quadworte (QW).
Wie zuvor erwähnt, werden die Lesedatenübertragungen auf die gleiche Weise wie die Schreibdatenübertragungen verarbeitet. Insbesondere ist ein Leseabtastfenster eine Zeitdauer, während welcher ein Leseübertragungszähler den Umfang des Leseverkehrs überwacht, der zu dem System­ speicher erzeugt wird. Das Leseabtastfenster ist dem Über­ wachungsregime zugeordnet. Am Ende des Leseabtastfensters wird die akkumulierte Anzahl von QW-Leseoperationen aus dem Systemspeicher mit einem vorgegebenen Lese-QW-Schwellwert verglichen.
Sofern die akkumulierte Anzahl von QW größer als der Lese-QW-Schwellwert ist, so gibt es ein Erfordernis, die Leseanforderungen zu drosseln, und es wird in das Drosse­ lungsregime eingetreten. Anderenfalls überwacht die vorlie­ gende Erfindung erneut die Leseanforderungen.
Sobald es die Notwendigkeit gibt, Leseanforderungen zu drosseln, tritt die DRAM-Steuereinrichtung in das Drosse­ lungsregime ein. Die DRAM-Steuereinrichtung bleibt in dem Drosselungsregime für eine Dauer einer vorgegebenen Lese­ drosselungszeit, die in einem Lesedrosselungszeitregister gespeichert ist. Bei einem Ausführungsbeispiel ist das Drosselungsregime ferner in eine Mehrzahl von Lesedrosse­ lungsüberwachungsfenstern unterteilt. Wenn beispielsweise eine Lesedrosselungszeit einige wenige Sekunden beträgt, kann das Lesedrosselungsüberwachungsfenster auf 10 Mikro­ sekunden gesetzt werden.
Schließlich weist die vorliegende Erfindung jedem Lese­ drosselungsüberwachungsfenster ein Budget von Lese-Maximum- QW zu, die durchgeführt werden können. Wenn mehr Leseanfor­ derungen in dem gleichen Lesedrosselungsüberwachungsfenster eingeführt werden, werden die Anforderungen von dem DRAM- Arbiter blockiert und bis zum Ende des aktuellen Lesedros­ selungsüberwachungsfensters nicht ausgeführt.
Fig. 3c veranschaulicht die Maskierung von Lese- und Schreibanforderungen, die in der Drosselungsentscheidungs­ logik durchgeführt wird, bevor die maskierten Anforderungen dem DRAM-Arbiter eingegeben werden. Schreibpufferanforde­ rungen 330 werden in zwei UND-Gattern zusammen mit einer Maske Eins (1) zum Maskieren anhängiger Schreibpufferanfor­ derungen und einer Maske Null (0) zum Maskieren aktueller Schreibpufferanforderungen eingegeben. Eine Eingabe von Eins wird für die jeweiligen Masken durchgeführt, wenn eine Drosselung gesperrt ist, und eine Eingabe von Null wird für die jeweiligen Masken ausgeführt, wenn eine Drosselung freigegeben ist. Die jeweiligen Schreibanforderungen werden dann zu dem DRAM-Arbiter weitergeleitet. In ähnlicher Weise werden bei einer gegebenen AGP-Kommandowarteschlange 340 die Eingaben den UND-Gattern zur Verfügung gestellt, welche außerdem eine Maske Eins (1) für anhängige AGP-Kommando­ warteschlangenanforderungen und eine Maske Null (0) für aktuelle AGP-Kommandowarteschlangenanforderungen aufnehmen. Die jeweiligen AGP-Anforderungen werden dann an den DRAM- Arbiter weitergeleitet. Andere Maskierschemata können benutzt werden und sind für den Fachmann klar.
Fig. 4a und 4b sind Ablaufdiagramme, die die grund­ sätzlichen Schritte veranschaulichen, denen ein Ausfüh­ rungsbeispiel der vorliegenden Erfindung folgt. Die in den Fig. 4a und 4b veranschaulichten Ablaufdiagramme sind für Schreibdatenanforderungen veranschaulicht; jedoch kön­ nen Lesedatenanforderungen ebenfalls auf die gleiche Weise, wie sie in den Ablaufdiagrammen veranschaulicht ist, verar­ beitet werden.
Im Schritt 401 wird eine Schreibabtastzeit, die in dem Schreibabtastfensterzeitgenerator und -register 300 gespei­ chert ist, in einen Schreibübertragungszähler 302, einen Schreibquadwort(QW)-Schwellwertkomparator 304 und eine Schreibdrosselungszustandssteuereinrichtung 306 eingegeben. Der Schreibübertragungszähler 302 zählt die Anzahl von Schreibanforderungen, die von der Speichersteuereinrichtung während des Schreibabtastfensters unterstützt werden.
Im Schritt 402, am Ende des Schreibabtastfensters, ver­ gleicht der Schreib-QW-Schwellwertkomparator 304 die Anzahl der Schreibdatenübertragungen, die von dem Schreibübertra­ gungszähler 302 gezählt worden sind, mit der thermischen Schwellwertdatenrate, wie sie in einem Schreib-QW-Schwell­ wertregister 310 gespeichert ist. Im Schritt 403, wenn die Anzahl der von dem Schreibübertragungszähler 302 während des Schreibabtastfensters gezählten Schreibdatenübertragun­ gen größer als oder gleich dem von dem Schreib-QW-Schwell­ wert-Register 310 vorgegebenen QW-Schwellwert ist, signali­ siert dann im Schritt 404 der Schreib-QW-Schwellwertkom­ parator 304 der Schreibdrosselungszustandssteuereinrichtung 306, daß sie ein neues Schreibdrosselungsregime initiieren soll. Anderenfalls, im Schritt 405, überwacht die Schreib­ drosselungsentscheidungslogik wiederum Schreibübertragun­ gen.
Im Schritt 406 tritt die Schreibdrosselungszustands­ steuereinrichtung 306 in ein neues Schreibdrosselungsregime ein und benachrichtigt den Schreibdrosselungszeitgeber 311, auf eine in einem Schreibdrosselungszeitregister 309 gespeicherte Schreibdrosselungsschreibdauer zuzugreifen. Im Schritt 407 wird dem Schreibdrosselungsüberwachungs­ zeitgeber 314 durch die Schreibdrosselungszustandssteuer­ einrichtung 306 und den Schreibdrosselungszeitgeber 311 signalisiert, daß er auf eine Schreibdrosselungsüberwa­ chungszeit aus einem Schreibdrosselungsüberwachungs­ fensterregister 312 zugreifen soll. Im Schritt 408 beginnt der Schreibdrosselungsüberwachungszeitgeber 314, die von dem Schreibdrosselungsüberwachungsfensterregister 312 gekennzeichnete Zeitdauer zu zählen.
Im Schritt 409 empfängt der Schreib-Maximum-QW-Zähler 316 das DRAM-Steuersignal 313, das die Anzahl von Schreib­ datenübertragungen kennzeichnet, die während jedes Schreib­ drosselungsüberwachungsfensters auftreten. Im Schritt 410 wird die Maximaleinheit von Datenschreibübertragungen in einem Schreib-Maximum-QW-Register 318 mit den akkumulierten Schreibdatenübertragungen, wie sie von einem Schreib-Maxi­ mum-QW-Zähler 316 gezählt worden sind, verglichen. Im Schritt 411, wenn das akkumulierte Maximum-QW, wie es durch den Schreib-Maximum-QW-Zähler 316 gezählt worden ist, grö­ ßer als oder gleich dem in dem Schreib-Maximum-QW-Register 318 gespeicherten Schreib-Maximum-QW ist, dann gibt im Schritt 412 ein Schreib-Maximum-QW-Komparator 320 ein Schreibmaskensteuersignal aus, um die Schreibanforderungen zu dem DRAM-Arbiter zu maskieren. Anderenfalls wird im Schritt 413 die Drosselungsentscheidungslogik die Schreib­ übertragungen erneut überwachen.
Es wurden ein Verfahren und Einrichtungen beschrieben zum Steuern der Kernlogiktemperatur, um thermische Über­ beanspruchungen der Kernlogik zu verhindern. Die Schreib­ zugriffsrate stellt eine Steuerung der thermischen Bedin­ gungen der Speichersteuereinrichtung zur Verfügung, während die Lesezugriffsrate eine Steuerung der DRAM-Bauelemente bereitstellt. Somit stellt die vorliegende Erfindung eine unabhängige Überwachung und Steuerung der Lese- und Schreibzugriffsraten zur Verfügung. Wenn beispielsweise die Schreibdrosselungsbedingungen erfüllt sind, wie es durch die Schreibdrosselungsentscheidungslogik festgestellt wird, blockiert die vorliegende Erfindung Schreiboperationen, aber versucht, Leseanforderungen solange zu bedienen, bis die Lesedrosselungsfunktion freigegeben wird.
Während bestimmte Ausführungsbeispiele im Detail beschrieben und in den begleitenden Zeichnungen gezeigt worden sind, ist es klar, daß derartige Ausführungsbei­ spiele bloß in einem veranschaulichenden und nicht in einem einschränkenden Sinne für die breite Erfindung zu verstehen sind, und daß diese Erfindung nicht auf die gezeigten und beschriebenen speziellen Ausführungsbeispiele und Konstruk­ tionen beschränkt ist, da zahlreiche andere Modifikationen Fachleuten in den Sinn kommen werden.

Claims (31)

1. Verfahren zum Regeln der Temperatur einer Kernlogik, wobei die Kernlogik eine Speichersteuereinrichtung aufweist, die mit einem Systemspeicher gekoppelt ist, wobei:
die Zugriffsrate bestimmt wird (401-403), mit der die Kernlogik auf den Systemspeicher zugreift; und
die Temperatur der Kernlogik durch Einstellen der Zugriffsrate (404-412) geregelt wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Anzahl von an den Systemspeicher gerichteten Daten­ übertragungsanforderungen gezählt wird.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß zuvor ein Abtastfenster programmiert wird (402), wobei die Anzahl von an den Systemspeicher gerichteten Datenüber­ tragungsanforderungen während des Abtastfensters gezählt wird.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß zuvor ein Datenschwellwert programmiert wird, welcher eine maximale Datenmenge angibt, welche im Abtastfenster übertragen werden kann, ohne daß eine thermische Überbela­ stung der Kernlogik auftritt.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß die Anzahl von Datenübertragungsanforderungen mit dem Datenschwellwert verglichen wird (403).
6. Verfahren nach Anspruch 4, dadurch gekennzeich­ net, daß eine Drosselung von Datenübertragungsanforderungen initiiert wird (404), sofern die Anzahl von Datenübertra­ gungsanforderungen größer als der Datenschwellwert ist.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß zuvor eine Drosselungszeitdauer programmiert wird (401-403), während welcher die Anzahl von Datenübertragungsanfor­ derungen während des Drosselns überwacht wird.
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß zuvor ein Drosselungsüberwachungsfenster programmiert wird, welches eine Untereinheit der Drosselungszeitdauer ist und in welchem die Anzahl der Datenübertragungsanforderungen überwacht wird.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß die Anzahl von Datenübertragungen, die während des Dros­ selungsüberwachungsfensters ausgeführt werden, überwacht wird (409).
10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, daß zuvor ein Wert programmiert wird, welcher die maximale Anzahl von Datenübertragungen im Drosselungsüberwachungsfen­ ster, deren Verarbeitung ermöglicht wird, ohne daß eine thermische Überbelastung der Kernlogik auftritt, kennzeich­ net.
11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, daß die Anzahl der während des Drosselungsüberwachungsfen­ sters ausgeführten Datenübertragungen mit dem Wert vergli­ chen wird (410, 411).
12. Verfahren nach Anspruch 11, dadurch gekennzeichnet, daß ein Maskensteuersignal zum Maskieren der nächsten Daten­ übertragungsanforderung erzeugt wird (412).
13. Speichersteuereinrichtung zur Ausführung eines Verfahrens nach Anspruch 1, aufweisend:
eine Drosselungsentscheidungslogik (200), die so ausge­ bildet ist, daß sie ein Maskensteuersignal zum Maskieren von Datenübertragungsanforderungen an einen Systemspeicher (102) erzeugt, bevor die Temperatur der Spei­ chersteuereinrichtung (106) über eine vorgegebene Maximal­ temperatur ansteigt; und
eine mit der Drosselungsentscheidungslogik (200) gekop­ pelte DRAM-Steuereinrichtung (208), wobei die DRAM-Steuer­ einrichtung (208) so ausgebildet ist, daß sie DRAM-Steuersi­ gnale (216; 308; 313) an die Drosselungsentscheidungslogik (200) er­ zeugt, die verarbeitete Datenübertragungsanforderungen kenn­ zeichnen.
14. Speichersteuereinrichtung nach Anspruch 13, gekenn­ zeichnet durch mehrere Datenübertragungsanforderungswarte­ schlangen (202-206), die mit der Drosselungsentscheidungs­ logik (200) gekoppelt sind, wobei die mehreren Datenübertra­ gungswarteschlangen (202-206) so ausgebildet sind, daß sie die Datenübertragungsanforderungen halten, die von Einrich­ tungen (108, 110, 112) erzeugt worden sind.
15. Speichersteuereinrichtung nach Anspruch 14, dadurch gekennzeichnet, daß die Einrichtungen (108, 110, 112) eine zentrale Verar­ beitungseinheit (108) umfassen.
16. Speichersteuereinrichtung nach Anspruch 14, dadurch gekennzeichnet, daß die Einrichtungen (108, 110, 112) einen AGP-Port (110) umfassen.
17. Speichersteuereinrichtung nach Anspruch 14, dadurch gekennzeichnet, daß die Einrichtungen (108, 110, 112) eine PCI-Einrichtung (112) umfassen.
18. Speichersteuereinrichtung nach Anspruch 13, dadurch gekennzeichnet, daß die Drosselungsentscheidungslogik (200) eine Lesedrosselungsentscheidungslogik (212) aufweist, die so ausgebildet ist, daß sie ein Maskensteuersignal erzeugt, um Lesedatenübertragungsanforderungen an den Systemspeicher zu maskieren, bevor die Temperatur der Speichersteuerein­ richtung über eine vorgegebene Maximaltemperatur ansteigt.
19. Speichersteuereinrichtung nach Anspruch 13, dadurch gekennzeichnet, daß die Drosselungsentscheidungslogik (200) eine Schreibdrosselungsentscheidungslogik (210) aufweist, die so ausgebildet ist, daß sie ein Maskensteuersignal zum Maskieren von Schreibdatenübertragungsanforderungen an den Systemspeicher erzeugt, bevor die Temperatur der Speicher­ steuereinrichtung über eine vorgegebene Maximaltemperatur ansteigt.
20. Speichersteuereinrichtung nach Anspruch 13, gekenn­ zeichnet durch einen Abtastfensterzeitgenerator (300), der so ausgebildet ist, daß er ein Abtastfenster erzeugt, wel­ ches eine Zeitdauer kennzeichnet, während welcher die Anzahl von verarbeiteten Datenübertragungsanforderungen durch Über­ wachen der DRAM-Steuersignale (216; 308), die die verarbei­ teten Datenübertragungsanforderungen kennzeichnen, gezählt wird.
21. Speichersteuereinrichtung nach Anspruch 20, gekenn­ zeichnet durch einen mit dem Abtastfensterzeitgenerator (300) gekoppelten Übertragungszähler (303), wobei der Über­ tragungszähler (303) so ausgebildet ist, daß er das DRAM- Steuersignal (216; 308) überwacht, um die Anzahl von während des Abtastfensters verarbeiteten Datenübertragungsanforde­ rungen zu bestimmen.
22. Speichersteuereinrichtung nach Anspruch 21, gekenn­ zeichnet durch einen Quadwort-Schwellwertkomparator (304), der mit dem Abtastfensterzeitgenerator (300) und dem Über­ tragungszähler (303) gekoppelt ist, wobei der Quadwort- Schwellwertkomparator (304) so ausgebildet ist, daß er die Anzahl von während des Abtastfensters verarbeiteten Datenan­ forderungen mit einem Quadwortschwellwert vergleicht.
23. Speichersteuereinrichtung nach Anspruch 22, gekenn­ zeichnet durch ein Quadwortschwellwertregister (310), das mit dem Quadwortschwellwertkomparator (304) gekoppelt ist, wobei das Quadwortschwellwertregister (310) so ausgebildet ist, daß es den Quadwortschwellwert hält.
24. Speichersteuereinrichtung nach Anspruch 23, gekenn­ zeichnet durch eine Drosselungszustandssteuereinrichtung (306), die mit dem Abtastfensterzeitgenerator (300) und dem Quadwortschwellwertkomparator (304) gekoppelt ist, wobei die Drosselungszustandssteuereinrichtung (306) so ausgebildet ist, daß sie ein Drosselungsregime (302) initiiert, sofern der Quadwortschwellwertkomparator (304) feststellt, daß die Anzahl von während des Abtastfensters verarbeiteten Datenan­ forderungen größer als oder gleich dem Quadwortschwellwert ist.
25. Speichersteuereinrichtung nach Anspruch 24, gekenn­ zeichnet durch einen Drosselungszeitgeber (311), der mit der Drosselungszustandssteuereinrichtung (306) gekoppelt ist, wobei der Drosselungszeitgeber (311) so ausgebildet ist, daß er eine Drosselungszeitdauer zählt, während welcher es einer vorgegebenen Maximalanzahl von Datenübertragungsanforderun­ gen in Quadworten gestattet wird, durch die Speichersteuer­ einrichtung (106) verarbeitet zu werden.
26. Speichersteuereinrichtung nach Anspruch 25, gekenn­ zeichnet durch ein Drosselungszeitregister (309), das mit dem Drosselungszeitgeber (311) gekoppelt ist, wobei das Drosselungszeitregister (309) so ausgebildet ist, daß es ei­ nen Wert hält, der die Maximalanzahl von Datenübertragungs­ anforderungen in Quadworten kennzeichnet, deren Verarbeitung durch die Speichersteuereinrichtung (106) während der Drosselungs­ zeitdauer gestattet wird.
27. Speichersteuereinrichtung nach Anspruch 26, gekenn­ zeichnet durch einen Drosselungsüberwachungszeitgeber (314), der mit dem Drosselungszeitgeber (311) gekoppelt ist, wobei der Drosselungsüberwachungszeitgeber (314) so ausgebildet ist, daß er eine Drosselungsüberwachungsfensterzeitdauer zählt, welche eine Untereinheit der Drosselungszeitdauer ist.
28. Speichersteuereinrichtung nach Anspruch 27, gekenn­ zeichnet durch ein Drosselungsüberwachungsfensterregister (312), das mit dem Drosselungsüberwachungszeitgeber (314) gekoppelt ist, wobei das Drosselungsüberwachungsfensterregi­ ster (312) so ausgebildet ist, daß es die Drosselungsüberwa­ chungsfensterzeitdauer hält.
29. Speichersteuereinrichtung nach Anspruch 28, gekenn­ zeichnet durch einen Maximumquadwortzähler (316), der mit dem Drosselungsüberwachungszeitgeber (314) gekoppelt ist, wobei der Maximumquadwortzähler (316) so ausgebildet ist, daß er das DRAM-Steuersignal (313) empfängt, das die verar­ beiteten Datenübertragungsanforderungen kennzeichnet, und die Anzahl der während jedes Drosselungsüberwachungsfensters der Drosselungszeit verarbeiteten Datenübertragungsanforde­ rungen zählt.
30. Speichersteuereinrichtung nach Anspruch 29, gekenn­ zeichnet durch einen Quadwortkomparator (320), der mit dem Maximumquadwortzähler (316) gekoppelt ist, wobei der Quad­ wortkomparator (320) so ausgebildet ist, daß er die Anzahl von Datenübertragungsanforderungen, die während jedes der Drosselungsüberwachungsfenster der Drosselungszeit verarbei­ tet werden, mit einem Maximumquadwortwert vergleicht, wobei der Quadwortkomparator ein Maskensteuersignal erzeugt, wenn die Anzahl von verarbeiteten Daten­ übertragungsanforderungen größer als oder gleich dem Maxi­ mumquadwortwert ist.
31. Speichersteuereinrichtung nach Anspruch 30, gekenn­ zeichnet durch ein Maximumquadwortregister (318), das mit dem Quadwortkomparator (320) gekoppelt ist, wobei das Maxi­ mumquadwortregister (318) so ausgebildet ist, daß es den Ma­ ximumquadwortwert hält.
DE19882858T 1997-11-26 1998-09-08 Ein Verfahren und Einrichtungen zum Steuern der Kernlogiktemperatur Expired - Fee Related DE19882858C2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/979,835 US5953685A (en) 1997-11-26 1997-11-26 Method and apparatus to control core logic temperature
PCT/US1998/018644 WO1999027429A1 (en) 1997-11-26 1998-09-08 A method and apparatus to control core logic temperature

Publications (2)

Publication Number Publication Date
DE19882858T1 DE19882858T1 (de) 2001-07-12
DE19882858C2 true DE19882858C2 (de) 2003-08-21

Family

ID=25527182

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19882858T Expired - Fee Related DE19882858C2 (de) 1997-11-26 1998-09-08 Ein Verfahren und Einrichtungen zum Steuern der Kernlogiktemperatur

Country Status (5)

Country Link
US (2) US5953685A (de)
AU (1) AU9224998A (de)
DE (1) DE19882858C2 (de)
TW (1) TW405066B (de)
WO (1) WO1999027429A1 (de)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5953685A (en) * 1997-11-26 1999-09-14 Intel Corporation Method and apparatus to control core logic temperature
US6784890B1 (en) * 1998-03-02 2004-08-31 Intel Corporation Accelerated graphics port expedite cycle throttling control mechanism
US6535798B1 (en) * 1998-12-03 2003-03-18 Intel Corporation Thermal management in a system
US6304946B1 (en) * 1999-07-01 2001-10-16 Emc Corporation System and method for optimizing cache write backs to disks
US7050959B1 (en) 1999-12-23 2006-05-23 Intel Corporation Dynamic thermal management for integrated circuits
JP2001290697A (ja) * 2000-04-06 2001-10-19 Hitachi Ltd 情報処理システム
US6907421B1 (en) * 2000-05-16 2005-06-14 Ensim Corporation Regulating file access rates according to file type
US6662278B1 (en) * 2000-09-22 2003-12-09 Intel Corporation Adaptive throttling of memory acceses, such as throttling RDRAM accesses in a real-time system
US6701272B2 (en) * 2001-03-30 2004-03-02 Intel Corporation Method and apparatus for optimizing thermal solutions
US20030025698A1 (en) * 2001-08-01 2003-02-06 Riemens Abraham Karel Programmed stall cycles slow-down video processor
KR20030043299A (ko) * 2001-11-27 2003-06-02 주식회사 엘지이아이 오디오 데이터와 부가 데이터간의 동기 기록 관리 및재생방법
US6804632B2 (en) * 2001-12-06 2004-10-12 Intel Corporation Distribution of processing activity across processing hardware based on power consumption considerations
JP4323745B2 (ja) * 2002-01-15 2009-09-02 三洋電機株式会社 記憶装置
US6859868B2 (en) 2002-02-07 2005-02-22 Sun Microsystems, Inc. Object addressed memory hierarchy
JP3971941B2 (ja) 2002-03-05 2007-09-05 三洋電機株式会社 データ記憶装置
JP4387087B2 (ja) * 2002-07-25 2009-12-16 三洋電機株式会社 データ記憶装置
US7076672B2 (en) * 2002-10-14 2006-07-11 Intel Corporation Method and apparatus for performance effective power throttling
US7013406B2 (en) 2002-10-14 2006-03-14 Intel Corporation Method and apparatus to dynamically change an operating frequency and operating voltage of an electronic device
US20040117677A1 (en) * 2002-12-13 2004-06-17 Sanjeev Jahagirdar Throttle of an integrated device
US7080217B2 (en) * 2003-03-31 2006-07-18 Intel Corporation Cycle type based throttling
US6871119B2 (en) * 2003-04-22 2005-03-22 Intel Corporation Filter based throttling
US20040215912A1 (en) * 2003-04-24 2004-10-28 George Vergis Method and apparatus to establish, report and adjust system memory usage
US7269481B2 (en) * 2003-06-25 2007-09-11 Intel Corporation Method and apparatus for memory bandwidth thermal budgetting
EP1646950B1 (de) * 2003-07-07 2008-01-16 Koninklijke Philips Electronics N.V. Datenverarbeitungssystem und verfahren zur datenverarbeitung
US7054968B2 (en) * 2003-09-16 2006-05-30 Denali Software, Inc. Method and apparatus for multi-port memory controller
US20050068831A1 (en) * 2003-09-30 2005-03-31 Johnson Brian P. Method and apparatus to employ a memory module information file
US7318130B2 (en) * 2004-06-29 2008-01-08 Intel Corporation System and method for thermal throttling of memory modules
US7664970B2 (en) * 2005-12-30 2010-02-16 Intel Corporation Method and apparatus for a zero voltage processor sleep state
US7451333B2 (en) * 2004-09-03 2008-11-11 Intel Corporation Coordinating idle state transitions in multi-core processors
US7966511B2 (en) * 2004-07-27 2011-06-21 Intel Corporation Power management coordination in multi-core processors
US20060137377A1 (en) * 2004-12-29 2006-06-29 Samson Eric C Method and apparatus for external processor thermal control
US7596707B1 (en) * 2005-05-06 2009-09-29 Sun Microsystems, Inc. System and method for efficient power throttling in multiprocessor chip
US7441949B2 (en) * 2005-12-16 2008-10-28 Micron Technology, Inc. System and method for providing temperature data from a memory device having a temperature sensor
US8118483B2 (en) 2006-06-21 2012-02-21 Intel Corporation Thermal sensor having toggle control
US20080059658A1 (en) * 2006-06-29 2008-03-06 Nokia Corporation Controlling the feeding of data from a feed buffer
US7698578B2 (en) * 2006-06-29 2010-04-13 Nokia Corporation Temperature-dependent power adjustment of transmitter
JP4841358B2 (ja) * 2006-08-18 2011-12-21 富士通株式会社 リクエスト送信制御装置およびリクエスト送信制御方法
US8050177B2 (en) * 2008-03-31 2011-11-01 Intel Corporation Interconnect bandwidth throttler
WO2010037117A1 (en) 2008-09-29 2010-04-01 Nirvanix, Inc. Client application program interface for network-attached storage system
US9354690B1 (en) 2011-03-31 2016-05-31 Adtran, Inc. Systems and methods for adjusting core voltage to optimize power savings
US8903994B2 (en) * 2012-03-20 2014-12-02 Drw Technologies Llc Read-throttled input/output scheduler
US9448941B1 (en) 2012-12-31 2016-09-20 Emc Corporation System and method for cache management
US9760136B2 (en) * 2014-08-15 2017-09-12 Intel Corporation Controlling temperature of a system memory
US10088880B2 (en) 2015-08-27 2018-10-02 Intel Corporation Thermal monitoring of memory resources
US10048874B1 (en) * 2016-06-29 2018-08-14 EMC IP Holding Company LLC Flow control with a dynamic window in a storage system with latency guarantees

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08335143A (ja) * 1995-06-07 1996-12-17 Internatl Business Mach Corp <Ibm> 直接アクセス記憶装置(dasd)アレイのための温度制御システム及び温度制御方法
US5590061A (en) * 1994-05-12 1996-12-31 Apple Computer, Inc. Method and apparatus for thermal management in a computer system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5265099A (en) * 1991-02-28 1993-11-23 Feinstein David Y Method for heating dynamic memory units whereby
US5721837A (en) * 1993-10-28 1998-02-24 Elonex I.P. Holdings, Ltd. Micro-personal digital assistant including a temperature managed CPU
US5798918A (en) * 1996-04-29 1998-08-25 International Business Machines Corporation Performance-temperature optimization by modulating the switching factor of a circuit
US5784328A (en) * 1996-12-23 1998-07-21 Lsi Logic Corporation Memory system including an on-chip temperature sensor for regulating the refresh rate of a DRAM array
US5835885A (en) * 1997-06-05 1998-11-10 Giga-Byte Technology Co., Ltd. Over temperature protection method and device for a central processing unit
US5953685A (en) * 1997-11-26 1999-09-14 Intel Corporation Method and apparatus to control core logic temperature

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5590061A (en) * 1994-05-12 1996-12-31 Apple Computer, Inc. Method and apparatus for thermal management in a computer system
JPH08335143A (ja) * 1995-06-07 1996-12-17 Internatl Business Mach Corp <Ibm> 直接アクセス記憶装置(dasd)アレイのための温度制御システム及び温度制御方法

Also Published As

Publication number Publication date
TW405066B (en) 2000-09-11
AU9224998A (en) 1999-06-15
US5953685A (en) 1999-09-14
US6173217B1 (en) 2001-01-09
WO1999027429A1 (en) 1999-06-03
DE19882858T1 (de) 2001-07-12

Similar Documents

Publication Publication Date Title
DE19882858C2 (de) Ein Verfahren und Einrichtungen zum Steuern der Kernlogiktemperatur
DE69936060T2 (de) Verfahren und Vorrichtung für eine verbesserte Schnittstelle zwischen Computerkomponenten
DE69233655T2 (de) Mikroprozessorarchitektur mit der Möglichkeit zur Unterstützung mehrerer verschiedenartiger Prozessoren
US6470238B1 (en) Method and apparatus to control device temperature
DE60215417T2 (de) Netzwerkschaltung
DE19983026B4 (de) Brücke zwischen zwei Bussen mit einem Puffer mit einer einstellbaren Mindestspeicherraummenge für ein Akzeptieren einer Schreibanforderung und Verfahren hierzu
DE69924039T2 (de) Verfahren und vorrichtung zur arbitrierung in einer einheitlichen speicherarchitektur
DE60013470T2 (de) Gerät zur initialisierung einer rechnerschnittstelle
DE19580707C2 (de) PCI-ZU-ISA-Interrupt-Protokoll-Konverter und -Auswahlmechanismus
DE102009041723B4 (de) Prozessor-Leistungsverbrauchsteuerung und Spannungsabsenkung über eine Mikroarchitektur-Bandbreitenbegrenzung
DE69736872T2 (de) Datenverarbeitungssystem
DE102019116002A1 (de) Verfahren und vorrichtungen zum abschwächen von temperaturerhöhungen in einem solid-state-gerät (ssd)
DE112005003324B4 (de) Verfahren und Vorrichtung zur externen, thermischen Steuerung eines Prozessors
DE60125112T2 (de) PCI-Arbiter mit unter Spannung stellbarer Steuerungsunterstützung
DE602004012310T2 (de) Speicherschnittstelle für systeme mit mehreren prozessoren und einem speichersystem
CH619309A5 (de)
DE10243694B4 (de) Vorrichtung und Verfahren zur Regelung der Leistung und Taktgeschwindigkeit eines elektronischen Systems
DE4018481C2 (de)
DE102009049078A1 (de) Verwendung von Ausführer-Wissen über Speicherregion-Ordnungsanforderungen zum Modifizieren von Transaktionsattributen
DE60026068T2 (de) System für externe transaktionen mit dynamischen prioritäten
DE112012004456B4 (de) Verfahren und Vorrichtung zum Planen von Arbeitsspeicher-Auffrischungsoperationen unter Einbeziehung von Engergiezuständen
DE60132424T2 (de) Taktschutz für gemeinsame Komponenten einer Multiprozessor-DSP Vorrichtung
DE602005006338T2 (de) Vorrichtung und Verfahren zur Datenübertragungsverarbeitung
DE10219623A1 (de) System und Verfahren zur Speicherentscheidung unter Verwendung von mehreren Warteschlangen
DE102007010584A1 (de) Handhabung von unzulässigen Befehlen auf der Befehlsdecoderstufe

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8607 Notification of search results after publication
8304 Grant after examination procedure
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee