DE112008001655B4 - Verfahren, System und Vorrichtung für einen Kernaktivitätsdetektor zum Erleichtern von Dynamischer Stromverwaltung in einem verteilten System - Google Patents

Verfahren, System und Vorrichtung für einen Kernaktivitätsdetektor zum Erleichtern von Dynamischer Stromverwaltung in einem verteilten System Download PDF

Info

Publication number
DE112008001655B4
DE112008001655B4 DE112008001655.0T DE112008001655T DE112008001655B4 DE 112008001655 B4 DE112008001655 B4 DE 112008001655B4 DE 112008001655 T DE112008001655 T DE 112008001655T DE 112008001655 B4 DE112008001655 B4 DE 112008001655B4
Authority
DE
Germany
Prior art keywords
processor core
processor
processor cores
credit
entries
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
DE112008001655.0T
Other languages
English (en)
Other versions
DE112008001655T5 (de
Inventor
Yen-Cheng Liu
Steven R. Hutsell
Krishnakanth Sistla
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 DE112008001655T5 publication Critical patent/DE112008001655T5/de
Application granted granted Critical
Publication of DE112008001655B4 publication Critical patent/DE112008001655B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/725Cordless telephones
    • H04M1/73Battery saving arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0261Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
    • H04W52/0274Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level by switching on or off the equipment or parts thereof
    • H04W52/028Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level by switching on or off the equipment or parts thereof switching on or off only a part of the equipment circuit blocks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Remote Monitoring And Control Of Power-Distribution Networks (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

Eine Vorrichtung, umfassend:
eine Vielzahl erster Prozessorkerne, wobei jeder der ersten Prozessorkerne einen jeweiligen Guthabenzähler aufweist; und
einen zweiten Prozessorkern, umfassend einen oder mehrere Nachverfolger, wobei jeder Nachverfolger mit einem der ersten Prozessorkerne assoziiert ist und eine vorbestimmte Anzahl von Nachverfolgereinträgen enthält, wobei jeder Nachverfolgereintrag einer Transaktion entspricht, die von dem jeweiligen Prozessorkern der ersten Prozessorkerne an den zweiten Prozessorkern ausgegeben wird, wobei die vorbestimmte Anzahl an Nachverfolgereinträgen der Größe nach auf die Anzahl von Transaktionen beschränkt ist, die von dem jeweiligen Prozessorkern der ersten Prozessorkerne an den zweiten Prozessorkern ausgegeben werden können;
wobei jeder der Guthabenzähler der ersten Prozessorkerne zum Unterhalten eines Guthabenzählerwerts konfiguriert ist, der die Anzahl nicht benutzter Nachverfolgereinträge in dem jeweiligen Nachverfolger darstellt;
wobei der zweite Prozessorkern zum Bestimmen einer aktiven Stufe jedes der ersten Prozessorkerne anhand des jeweiligen Guthabenzählerwerts konfiguriert ist

Description

  • Ausführungsformen der Erfindung beziehen sich auf Leistungsverwaltung. Insbesondere beziehen sich Ausführungsformen auf quellengesteuerte dynamische Leistungsverwaltung.
  • In US 2003/0056126 A1 sind eine Vielzahl von Prozessoren sowie „capacity tables” und „dynamic tables” offenbart. Die „capacity tables” enthalten Daten zu Prozessorlaufzeiten und Stromkapazitäten, ebenso wie Leistungsstatistiken für die Prozessoren. Die „dynamic tables” speichern frühere Daten mit dem Zweck einer Vorhersage zukünftiger Anforderungen oder Belastungen an den Server, in dem die Prozessoren enthalten sind. Einzelne Prozessoren können ein- oder abgeschaltet werden oder auf eine bestimmte Leistungsstufe gestellt werden.
  • Der Erfindung liegt die Aufgabe zu Grunde, die Regelung von Leistungsstufen einzelner Prozessoren weiter zu optimieren.
  • Hintergrund
  • Mikroprozessoren benutzen im allgemeinen dynamische Leistungsverwaltungstechniken, um Leistungsverbrauch zu verwalten. Normalerweise wird dynamische Stromverwaltung für Mikroprozessoren durch einen Aktivitätsdetektorschaltkreis ermöglicht, der sich in dem Mikroprozessor befindet und an einen zentralisierten Front-Side-Bus (FSB) angeschlossen ist. Der Aktivitätsdetektorschaltkreis ist gestaltet, um Bedingungen zu detektieren, unter denen bestimmte Einheiten ein- oder abgeschaltet sein sollten, und um die Leistungspegel dieser Einheiten entsprechend anzupassen.
  • Herkömmlicherweise sorgt der Aktivitätsdetektorschaltkreis für akzeptable Leistung, weil ein solcher Schaltkreis von den leistungsgesteuerten Einheiten lediglich durch eine kurze Distanz physikalisch getrennt war. Jedoch entfernen sich Busarchitekturen von FSB-Architekturen und beginnen, Punkt-zu-Punkt (pTp)-Architekturen zu verwenden. Jedoch werden pTp-Architekturen wahrscheinlich Schwierigkeiten bei der Leistungsverwaltung erfahren.
  • Ein Grund für solche Schwierigkeiten ist, dass pTp-Architekturen verteilte Systeme sind, die Implementationen unterstützen, bei denen der Leistungsverwaltungsschaltkreis und die leistungsgesteuerten Einheiten auf unterschiedlichen integrierten Schaltkreisen angeordnet sind, jedoch durch pTp-Verbindungen verbunden sind. Im Ergebnis kann ein konventioneller Aktivitätsdetektorschaltkreis die Latenz zum Ein-/Ausschalten der Einheiten nicht effektiv vor den Leistungsaspekten des Systems verbergen, da er den Schaltkreisen dieser Einheiten zum Ein- und Ausschalten von Strom keine angemessene Führungszeit liefern kann.
  • Kurze Beschreibung der Zeichnungen
  • Die Erfindung wird anhand von Beispielen und nicht im Wege einer Beschränkung in den Figuren der beigefügten Zeichnungen gezeigt, in denen gleiche Bezugsziffern auf ähnliche Elemente hinweisen. Es sollte zur Kenntnis genommen werden, dass Bezugnahmen auf „eine” oder „eine (eins)” Ausführungsform in dieser Offenbarung nicht notwendigerweise auf die gleiche Ausführungsform bezogen sind, und solche Bezugnahmen wenigstens eine bedeuten.
  • 1 ist ein Blockdiagramm eines Zweiprozessorsystems einer Ausführungsform der Erfindung.
  • 2 ist ein Blockdiagramm eines Mehrprozessorsystems einer Ausführungsform der Erfindung.
  • 3 ist eine beispielhafte Ausführungsform von Architekturen für Heim- und Cache-Agenten der Systeme der 1 und 2 gemäß einer Ausführungsform der Erfindung.
  • 4 ist ein Blockdiagramm eines Kernaktivitätsdetektors, der in einem Zweiprozessor- oder Mehrprozessorsystem einer Ausführungsform der Erfindung verwendet wird.
  • 5 ist ein Verfahren für ein Flussdiagramm zur Quellenlogik für eine Ausführungsform der Erfindung.
  • 6 ist ein Verfahren für ein Flussdiagramm für einen Entscheidungsbaum des Kernaktivitätsdetektors für eine Ausführungsform der Erfindung.
  • Ausführliche Beschreibung
  • 1 ist ein Blockdiagramm eines Zweiprozessorsystems einer Ausführungsform der Erfindung. Eine solche Zweiprozessor(Dual Prozessor (DP))-Ausführungsform kann in einer Vielzahl möglicher Plattformen auftreten. Beispielsweise kann diese Ausführungsform als ein Desktop- oder mobiler Computer, ein Server, eine Set-Top-Box, ein persönlicher digitaler Assistent (PDA), ein alphanumerischer Pager, Mobiltelefon oder jeder andere Typ drahtloser Kommunikationsvorrichtung implementiert sein.
  • In dieser Ausführungsform sind zwei Ziele (Prozessor 102 und Prozessor 104) mit einer Quelle kommunikativ verbunden. In diesem Beispiel [mit] Eingabe-/Ausgabe-Hub (Input/Output Hub (IOH)) 100 durch Punkt-zu-Punkt-Verbindungen 124, 128. Eine „Verbindung (link)” ist gewöhnlich als ein informationsübertragendes Medium definiert, das einen Kommunikationspfad für Nachrichten aufbaut, nämlich Information, die in einem vorbestimmten Format angeordnet ist. Die Verbindung kann ein drahtgebundenes physikalisches Medium (beispielsweise ein Bus, ein oder mehrere elektrische Drahtverbindungen, Spur, Kabel etc.) oder ein drahtloses Medium (beispielsweise Luft in Kombination mit drahtloser Signaltechnologie) sein.
  • In einigen Ausführungsformen können Punkt-zu-Punkt-Verbindungen verwendet werden, wie etwa, ohne darauf beschränkt zu sein, PCI, PCIX, PCIe, etc.. Prozessor 102 und Prozessor 104 können im wesentlichen identisch sein und Speichercontroller 110, 112 aufweisen, die jeweils mit Speicher 106 bzw. 108 kommunizieren. Dementsprechend wird die verbleibende Diskussion dieser Ausführungsform im Kontext von Prozessor 102 geführt. Jedoch ist diese Diskussion gleichermaßen auf andere Ziele im System gerichtet, wie etwa Prozessor 104. Darüber hinaus wird angestrebt, dass einige Systeme mehr oder weniger Ziel haben, die von einer Quelle benutzt werden.
  • Zusätzlich zu Speichercontroller 110 weist Prozessor 102 bestimmte Betriebsmittel 116 und 118 auf, die einer bestimmten Quelle, wie etwa IOH 100, zugeordnet sein können. Im Rahmen dieser Diskussion wird angenommen, dass Betriebsmittel 116 und 118 nicht gemeinsam verwendet werden, sondern ausschließlich dem IOH 100 zugeordnet werden. In einigen Ausführungsformen kann beispielsweise Betriebsmittel 116 den Abschnitt eines Schichtenbetriebsmittels repräsentieren, das ausschließlich der Quelle zugeordnet ist. Betriebsmittel 116 und 118 können beispielsweise Puffer sein, die zum Speicherzugriff benötigt werden, oder sie können von einer bestimmten Art von Ausführungskomponente in dem Ziel sein. Betriebsmittel 116 und 118 können ferner in Segmente (alternativ als Stücke bezeichnet) 172-1 bis 172-4 bzw. 174-1 bis 174-4 unterteilt werden. Jedes Segment ist definiert, individuell leistungsverwaltbar zu sein, so dass der Strom dieses Segments ein- oder ausgeschaltet sein kann und die Leistung, die von dem Betriebsmittel verbraucht wird, mit größerer Granularität variiert werden kann.
  • Die Granularität, mit der Leistung verwaltet werden kann, kann die Effizienz und Energie- bzw. Leistungseinsparung eines quellengesteuerten dynamischen Leistungs(source controlled dynamic power (SCDPM))-Schemas bedeutend beeinflussen. In vielen Fällen wird es, falls die einzige Option darin liegt, dass das Betriebsmittel komplett ein- oder komplett ausgeschaltet ist, den möglichen Vorteil des Schemas negativ beeinflussen. Beispielsweise werden, falls ein Betriebsmittel zu einem geringen Grad fast kontinuierlich mit großen periodischen Aktivitätsstößen verwendet wird, geringere oder gar keine Leistungseinsparungen möglich sein, falls die einzigen Optionen komplett ein- oder komplett abgeschaltet sind. In einigen Ausführungsformen ist es nicht notwendigerweise der Fall, dass alle Segmente von der gleichen Größe sind oder den gleichen Leistungsverbrauch aufweisen.
  • In dem Kontext eines Ausführungskomponentenbetriebsmittels kann der Begriff einer Segmentierung eher logisch als physikalisch sein. Beispielsweise kann die Ausführungskomponente eine Anzahl diskreter Leistungsstufen aufweisen, auf denen sie betrieben werden kann, was zu einer Änderung beispielsweise der Dienstqualität, Ausführungsgeschwindigkeit etc. führt. In diesem Zusammenhang sind die Segmente Repräsentationen der unterschiedlichen möglichen Leistungsstufen bzw. -pegel.
  • Eine dominierende Voraussetzung von SCDPM ist, dass die Quelle der Betriebsmittelverwendung besser angeordnet ist, um zu wissen, inwieweit die Resource wahrscheinlich im Vergleich mit dem Ziel, das das Betriebsmittel enthält, benötigt werden wird. Der IOH 100 wird wegen der relativ hohen Latenzcharakteristiken von IOH-Vorrichtungen, was mehr Zeit ab der Ausgabe von Anforderung bis zu dem Zeitpunkt, wenn Daten tatsächlich erscheinen, der großen Menge gleichzeitiger Datenströme (wie etwa DMA) und eines Mangels an einem Allzweckcache in dem IOH zur Verwendung in SCDPM besonders bevorzugt.
  • Der Aktivitätsdetektor 150 wird weiter in Verbindung mit 3 diskutiert.
  • Beispielsweise überwacht Detektor 150 Anforderungen oder Ereignisse, die von Peripheral-Component-Interconnect(PCI)-Express-Anschluß 132-0 bis 132-N (gemeinsam 132) stammen. Anforderungen und Ereignisse, die von PCI-Express-Anschlüssen 132 stammen, zeigen dem Aktivitätsdetektor wahrscheinliche zukünftige Verwendung anhand des Typs von Anforderung oder Ereignis und des Destinationsbezeichners, der mit der Anforderung oder dem Ereignis assoziiert wird. PCI-Express-Anschlüsse 132 sind mit PCI-Express-Einrichtungen 130-0 bis 130-N (gemeinsam 130) verbunden. PCI-Express-Einrichtungen können Festplatten oder jede andere PCI-Einrichtung aufweisen. Wie hierin verwendet, bezieht sich „Einrichtung” auf jede elektrische Komponente, die mit einer Verbindung gekoppelt ist. Ein Controller 170 für direkten Speicherzugriff (direct memory access (DMA)) ist mit dem IOH 100 verbunden, um DMA-Transaktionen zu ermöglichen, und unterstützt hergebrachte (legacy) Bridges und andere periphere Einrichtungen. Die DMA-Steuerung 170 sendet Interrupts an den IOH 100, der Aktivitätsdetektor kann diese Interrupts überwachen und, ähnlich wie eine PCI-Anforderung, Kenntnisse zukünftig erwarteter Betriebsmittelnutzung an dem Ziel, das mit der Quelle gekoppelt ist, erhalten.
  • Der für ausgehende Anforderungen vorgesehene Puffer 152 in IOH 100 ist eine interne Logik, die alle Transaktionen verfolgt, die auf den CSI-Bus ausgegeben werden. Durch Überwachen des für ausgehende Anforderungen vorgesehenen Puffers 152 kann der Aktivitätsdetektor 150 frühzeitiges Wissen eines zukünftigen Datenstromes erhalten, bei dem beispielsweise ein Ziel im Begriff ist, auf IOH 100 zum Lesen oder Schreiben einer großen Datenmenge zuzugreifen. Schreibcache 154 enthält Daten, die von den verschiedenen I/O-Einrichtungen geschrieben werden, die darauf warten, zum Hauptspeicher eines Ziels zu gelangen. Während des Zurückschreibens (write back (WB)) werden die Anforderungen aufgereiht (queued), um die Daten an die Ziele zu senden. Durch Überwachen der Schlange kann der Aktivitätsdetektor 150 den Verkehr abschätzen, der in jedem Ziel durch die anstehenden Zurückschreibungen verursacht wird. Die Größe der Rückschreibschlange und die Rate der Rückschreibungen beeinflussen das Zeitfenster, in dem der Aktivitätsdetektor 150 in der Lage ist, die Verwendung aus dem Überwachen der Rückschreibschlange vorherzusagen.
  • Schließlich kann der Aktivitätsdetektor den Guthabenpool 156 überwachen. Der Guthabenpool 156 bietet in erster Linie eine Anzeige der gegenwärtigen Verwendung durch die Ziele. Gegenwärtige Verwendung ist nicht notwendigerweise ein guter Vorhersager zukünftiger Verwendung, jedoch kann die gegenwärtige Verwendung für die verwendeten Betriebsmittel unangemessene Leistung and einem Ziel anzeigen. In dem Fall kann der Aktivitätsdetektor eine Notfall-Einschalt-Botschaft an dieses Ziel senden. Während zahlreiche Komponenten des IOH 100 als passend zum Überwachen und Bereitstellen von Hinweisen an den Aktivitätsdetektor über zukünftigen Verbrauch beschrieben wurden, liegt es innerhalb des Bereichs und des Verständnisses von Ausführungsformen der Erfindung, dass andere Komponenten ebenfalls brauchbare Informationen des Aktivitätsdetektors bereitstellen können, um zukünftige Betriebsmittelverwendung vorherzusagen.
  • Sogar im Lichte der großen Informationsmenge, die dem Aktivitätsdetektor zur Verfügung steht, sollte der Aktivitätsdetektor so entworfen werden, dass die Verwendungsvorhersage zeitlich genügend akkurat ist, um Betriebsmittelauseinandersetzungen zu minimieren. Beispielsweise muss der Aktivitätsdetektor 150, falls der IOH 100 sich darauf vorbereitet, einen Datenstrom an ein Ziel (beispielsweise Prozessor 102) zu schreiben, die Anforderung detektieren, eine Entscheidung treffen und einen Einschaltbefehl an das Ziel so rechtzeitig schicken, dass das Ziel die Betriebsmittelstromversorgung vor dem Eintreffen des geschriebenen Datenstroms anpassen kann. Zusätzlich sollte der Aktivitätsdetektor es vermeiden, das Ziel mit Leistungsverwaltungsbotschaften zu überfluten, da diese auf der Punkt-zu-Punkt-Verbindung Bandbreite verbrauchen und ein Steigern von Latenz in der Ziellogik verursachen können, während er die Leistungsanpassungen vornimmt.
  • Unter Bezugnahme auf 2 ist ein beispielhaftes Blockdiagramm eines Mehrprozessor(MP)-Systems 200 gemäß einer Ausführungsform der Erfindung gezeigt. In ähnlicher Weise kann das MP-System 200 ein Desktop- oder mobiler Computer, ein Server, eine Set-Top-Box, ein Personal-Digital-Assistant (PDA), ein alphanumerischer Pager, ein Mobiltelefon oder jeder andere Typ von drahtgebundenen oder drahtlosen Kommunikationseinrichtungen sein.
  • Hierin umfasst gemäß einer Ausführungsform der Erfindung MP-System 200 eine Vielzahl von Prozessoren 210A210D. Einer oder mehrere Prozessoren, wie etwa Prozessoren 210A210D, können einen Speichercontroller (memory controller (MC)) 220A220D aufweisen. Diese Speichercontroller 220A220D ermöglichen zwischen verbundenen Speichern 230A230D über Verbindungen 240A240D jeweils direkte Kommunikationen. Insbesondere ist, wie in 2 gezeigt, Prozessor 210 mit Speicher 230A über eine Verbindung (Link) 240A gekoppelt, während Prozessoren 210B210D mit entsprechenden Speichern 230B230D jeweils über Verbindungen 240B240E gekoppelt sind. In einer Ausführungsform sind die Prozessoren und IOHs im wesentlichen identisch mit denjenigen, die oben unter Bezugnahme auf 1 beschrieben wurden.
  • Zusätzlich ist Prozessor 210A mit jedem der anderen Prozessoren 210B210D über Punkt-zu-Punkt-Verbindungen 250, 252 und 254 gekoppelt. In ähnlicher Weise ist Prozessor 210B mit Prozessoren 210A, 210C und 210D über pTp-Verbindungen 250, 256 und 258 gekoppelt. Prozessor 210C ist mit Prozessoren 210A, 210B und 210D über pTp-Verbindungen 252, 256 und 260 gekoppelt. Prozessor 210 ist mit Prozessoren 210A, 210B und 210C über pTp-Verbindungen 254, 258 und 260 gekoppelt. Prozessoren 210A und 210B sind über Punkt-zu-Punkt-Verbindungen 270 und 272 an einen ersten Eingabe-/Ausgabe-Hub (IOH) 280 gekoppelt, während Prozessoren 210C und 210D über Punkt-zu-Punkt-Verbindungen 274 und 276 an einen zweiten IOH 285 gekoppelt sind. In Fällen, in denen keine direkte Punkt-zu-Punkt-Verbindung vorliegt, wird die dazwischen liegende Einrichtung, beispielsweise ein Prozessor, mit Durchreichlogik (pass through logic) versehen, um Befehle durchzureichen; beispielsweise IOH 280 an Prozessoren 210C und 210D. Dies ermöglicht es IOH 280, die Leistung eines Betriebsmittels in denjenigen Prozessoren 210C und 210D zu verwalten, die IOH 280 zugeordnet sind.
  • Unter Bezugnahme auf 3 ist eine beispielhafte Ausführungsform von Architekturen für Ziel- und Quelleinrichtungen der Systeme der 1 bis 2 gemäß einer Ausführungsform der Erfindung gezeigt. Zu illustrativen Zwecken ist Prozessor 210D (oder Prozessor 150) als eine Zeileinrichtung 300 konfiguriert, wie beispielsweise ein Heimagent. Prozessoren 210A bis 210C (oder Prozessor 110) könnten als Quellen 310A310C konfiguriert sein, wie beispielsweise Cacheagenten. IOH 280 oder 285 (oder IOH 180 in 1) können als E/A-Einrichtung 310D konfiguriert werden, die einen Schreibcache 320 implementiert, der ebenfalls als Cacheagent arbeitet.
  • Wie unten beschrieben, ist jede Quelle 310A, ..., oder 310D mit einem Nachverfolger verbunden, der an Zieleinrichtung 300 unterhalten wird und eine vorbestimmte Anzahl von Nachverfolgungseinträgen aufweist. Die Anzahl von Nachverfolgungseinträgen ist der Größe nach auf die Anzahl von Anforderungen beschränkt, die durch irgendeine Quelle 310A, ..., oder 310D übertragen werden können, die die Bandbreite eines CSI-Netzes 315 ausfüllt, das Punkt-zu-Punkt-Kommunikationen zwischen Ziel 300 und der Vielzahl von Quellen (beispielsweise Quellen 310A bis 310D) unterstützt.
  • Wie in 3 gezeigt, ist gemäß dieser Ausführungsform der Erfindung, Ziel 300 ein Heimagent, der Heimlogik 325 und eine Vielzahl von Nachverfolgern 3301 ... 330M, umfasst, wobei M ≥ 1. In Kombination mit Nachverfolgern 3301 ... 330M ist Heimlogik 325 eingerichtet, um als ein Scheduler zu arbeiten, um bei der Datenübertragung eintreffender Informationen von Speicher 230A der 2 und ausgehender Informationen an CSI-Netz 315 zu assistieren. Darüber hinaus arbeitet Heimlogik 325, um Konflikte zwischen diesen Datentransfers aufzulösen.
  • Hierin werden für diese Ausführungsform der Erfindung, da vier (4) Cacheagenten 310A310D innerhalb des Systems 100/200 implementiert sind, vier (M = 4) Nachverfolger illustriert und als „HT-0” 330A, „HT-1” 330B, „HT-2” 330C und „HT-3” 330D gekennzeichnet. Diese Nachverfolger 330A330D enthalten jeweils N0, N1, N2 und N3 Nachverfolgungseinträge, wobei Ni ≥ 1 (i = 1, 2 , 3 oder 4) ist. Die Anzahl der Einträge (N0–N3) kann sich von einem Nachverfolger zum anderen unterscheiden. Mit jedem Eintrag von Nachverfolgern 330A330D ist ein korrespondierender Datenpuffer verbunden, der durch Datenpuffer 340A340D dargestellt ist. Datenpuffer 340A340D stellen vorübergehenden Speicher für Daten, die von Speichercontroller 220 zurückgeliefert werden, zur Verfügung und werden irgendwann auf CSI-Netz 315 zur Übertragung an eine angestrebtes Ziel festgelegt. Die Aktivierung und Deaktivierung der Einträge für Nachverfolger 330A330D wird durch Heimlogik 325, die unten beschrieben ist, gesteuert.
  • Cacheagenten 310A, 310B und 310C weisen eine Fehladressenschlange 350A, 350B bzw. 350C auf. Beispielsweise ist hinsichtlich Cacheagent 310A Fehladressenschlange 350A konfiguriert, um alle Fehltransaktionen zu speichern, die durch Heimagent 300 gehandhabt werden.
  • Zusätzlich weisen gemäß dieser Ausführungsform der Erfindung Cacheagenten 310A, 310B und 310C ferner einen Guthabenzähler 360A, 360B bzw. 360C auf. Jeder Guthabenzähler 360A, 360B und 360C unterhält einen Zählerwert, der die Anzahl der nicht benutzten Nachverfolgungseinträge in Nachverfolgern 330A, 330B und 330C darstellt. Beispielsweise wird, wenn eine neue Transaktion von Cacheagent 310A an Heimagent 300 ausgegeben wird, Guthabenzähler 360A dekrementiert. Falls eine Transaktion abgeschlossen wird, wird Guthabenzähler 360A inkrementiert. Zur Rücksetzungszeit wird Guthabenzähler 360A auf die Poolgröße initialisiert, die der Anzahl von Nachverfolgungseinträgen (N0) gleicht, die mit Nachverfolger 330A assoziiert sind. Die gleiche Konfiguration ist auf Guthabenzähler 360B360C anwendbar.
  • Außerdem ist in 3 ein Beispiel eines Cacheagenten 310D gezeigt, der als ein E/A-Agent arbeitet, der Informationen aus einem Speicher liest und Informationen an eine E/A-Schnittstelle schreibt. Alternativ kann Cacheagent 310D Leserückgaben des E/A-Agenten als Schreibvorgänge in den Hauptspeicher einreihen (stream). Cacheagent 310D implementiert Schreibcache 320, der verwendet wird, um eine hohe Bandbreite aufrechtzuerhalten, während er Daten, die mit E/A-Operationen assoziiert sind, speichert.
  • Ähnlich wie die Cacheagenten 310A310C weist Cacheagent 310D einen Guthabenzähler 360D auf, der einen Zählerwert unterhält, der die Anzahl nicht benutzter Nachverfolgungseinträge innerhalb des Nachverfolgers 330D darstellt. Bei der Rücksetzung wird Guthabenzähler 360D auf eine Poolgröße initialisiert, die der Anzahl von Nachverfolgungseinträgen (N3) gleicht, die mit Nachverfolger 330D assoziiert sind.
  • Die Anzahl von Nachverfolgungseinträgen (N0, N1, etc.) wurde entworfen, um stoß- bzw. paketartige Verkehrsszenarien zu handhaben, und wurde also bemessen, um die Spitzenbandbreite aufrechtzuerhalten. Anders ausgedrückt, verursachen potentielle Stoß- oder Paketartigkeit und lange Latenzen, dass Heimagent 300 eine pessimistische Menge von Betriebsmitteln für Cacheagenten 310A310D (anfordernde Agenten) zuweisen muss. Als ein Beispiel von Heimagent 300 zu Cacheagent 310A ist in dem Fall, dass die Spitzendatenbandbreite XA Gigabyte pro Sekunde (GBps) und die Latenz einer Transaktion ab dem Zeitpunkt, an dem sie von Cacheagent 310A an Heimagent 300 ausgegeben wird, bis zu dem Zeitpunkt, an dem der Abschluss an Cacheagent 310A zurückkehrt, LA Nanosekunden (ns) ist, ist die Größe (N0) von Nachverfolgern durch (XA·LA)/64 gegeben unter der Annahme, dass jeder Nachverfolgungseintrag eine Größe von 64 Bytes aufweist.
  • Typischerweise ist die Latenz von (I/O)-Cacheagent 310D fast 1,5 mal so groß wie diejenige der Prozessorcacheagenten 310A310C. Dies beruht darauf, dass die Pipeline für Cacheagent 310D näher an der E/A-Schnittstellenlogik beginnt, und typischerweise sind E/A-Einrichtungstaktgeschwindigkeiten 5 mal langsamer als diejenigen von Prozessoren. Tabelle 1 zeigt potentielle Latenz, Spitzendatenbandbreite und die Anzahl von Nachverfolgungseinträgen für ein DP-System.
    Cacheagent Latenz (ns) Spitzen-BW (Gbps) Nachverfolgungseinträge
    lokaler Cacheagent 100 12.8 20
    entfernter Cacheagent 135 12.8 27
    IOH-Cacheagent 175 12.8 35
    Tabelle 1
  • Typischerweise wird die Anzahl von Nachverfolgungseinträgen (Ni) als ein Vielfaches von 2, 4 oder 8 gewählt, und daher wären die Größen, die für die Nachverfolger gewählt werden, 20, 28 bzw. 36. Eine große Anzahl von Nachverfolgungseinträgen und Puffer können eine signifikante Höhe von Leistungsverbrauch benötigen, so dass eine solche Architektur nicht optimal ist.
  • Zweitens ist unter den meisten Betriebsbedingungen der Verkehrsdurchsatz eines Systems ziemlich stoß- bzw. paketartig und bleibt nicht für längere Zeiträume bei einer Spitzenbandbreite. Selten wird die volle Anzahl von zugeordneten Nachverfolgungseinträgen verwendet.
  • Daher kann Leistungsverbrauch dadurch optimiert werden, dass die Anzahl aktiver Nachverfolgungseinträge anhand von Aktivität moduliert wird, wobei Cacheagenten (Quellen) befähigt sind, benötigte Betriebsmittel an einem Heimagenten (Ziel) durch Verwendung eines Nachrichtenschemas dynamisch zu verwalten. Dieses Nachrichtenschema wird wie unten beschrieben, als quellengesteuerte dynamische Leistungsverwaltung (source controlled dynamic power management (SCDPM)) bezeichnet.
  • 4 ist ein Blockdiagramm eines Kernaktivitätsdetektors, der in einem dualen Prozessor eines Mehrprozessorsystems einer Ausführungsform der Erfindung verwendet wird. In einer Ausführungsform befinden sich die Kernaktivitätsdetektorschaltkreise in einem Cacheagenten. In dieser Ausführungsform ist der Cacheagent mit verschiedenen Kernen und einem gemeinsam benutzten Cache verbunden. Beispielsweise besteht jeder Prozessor aus mehreren Kernen und einem großen gemeinsam benutzten Cache mit assoziierter Cacheagentlogik, die Systemkohärenz und -anforderung an ein Speichersubsystem handhabt. In 4 ist die Prozessoraktivitätsdetektoreinheit (processor activity detector unit (PADA)) mit verschiedenen funktionellen Einheiten in dem Prozessor verbunden, um verwendbare Informationen zu erhalten. In diesem Beispiel ist der PADA-Block mit einem Ereignisbus einer jeweiligen Kernarchitektur verbunden (Nachverfolgung von jedem Kern zum PADA; eine Verwendungsanzeige der Fehladressenschlange (die ein Heimagentenbetriebsmittel verbrauchen kann), eine Prozessorleistungssteuereinheit (Processor Power Control Unit (PCU)), die den Leistungszustand des gesamten Prozessors steuert, und ein Guthabenverwendungsindikator von Heimstandort und Kern(en)). Anhand dieser Eingaben generiert der PADA ausdrückliche Nachrichten unter Verwendung der SCDPM-Schnittstelle, die mit einem Heim(Ziel)-Agenten zur richtigen Leistungseinstellung kommuniziert. In einer Ausführungsform wird die SCDPM-Schnittstelle in den verwandten Anwendungen diskutiert.
  • Die folgende Tabelle stellt eine Vielzahl von Architekturereigniszählern dar. In einer Ausführungsform ist das Verhalten einer oder mehrerer der Prozessorkerne anwendungsspezifisch. In dieser Ausführungsform werden einige oder alle der folgenden Architekturereigniszähler durch den Aktivitätsdetektor verwendet, der effektiv den gegenwärtigen Kernstatus repräsentiert und Leistungszustände festsetzt und definiert.
    Architekturereignisse Zählerschwellenwert Zählerschwellenwert Zählerschwellenwert Zählerschwellenwert Zählerschwellenwert Zählerschwellenwert
    Befehl zurückgezogen X X X X X hoch
    Vorabrufzähler niedrig hoch X X X X
    LLC-Fehler niedrig niedrig hoch X X X
    TLB-Fehler X X X X hoch X
    Verzweigungsfehler niedrig X X hoch X X
    endgültige Entscheidung an Heimstandort Strom abschalten Strom einschalten Strom einschalten Strom einschalten Strom einschalten Strom einschalten
  • In einer Ausführungsform werden die Architekturereigniszähler verwendet, um das Vorhersagen stoß- oder paketartigen Verhaltens zu konservieren. Beispielsweise kann ein Kern eine große Erfahrung darin haben, dass viele Verzweigungsfehlvorhersagen oder viele Seitenfehler eine gute Indikation bevorstehender Ströme von Speicheranfragen sein kann. Es gibt außerdem andere Architekturereignisse, die dafür bekannt sind, beim Verstehen von Anwendungsverhalten zu helfen, das aufgenommen werden kann und einem Aktivitätsdetektor Einblicke im Anwendungsverhalten geben kann. Beispielsweise würde eine hohe Anzahl von LLC-Fehlern nahelegen, dass wir mehr Betriebsmittel im Heimagenten benötigen. In Tabelle 1 schlagen wir vor, dass das Heimagentenbetriebsmittelniveau wenigstens teilweise auf verschiedenen Architekturereigniszählern basieren sollte. Jedoch ist der beanspruchte Gegenstand nicht auf die Ausführungsform der Verwendung der gleichen Anzahl von Zählern beschränkt. Beispielsweise sind einige dieser Zähler kernbasiert, und eine paketweise Entscheidung kann getroffen werden, indem auf akkumulative Ergebnisse gesehen wird. Dem Fachmann ist das Verwenden einer anderen Teilmenge von Zählern, die auf Pakettyp, Anzahl von Kernen etc. basieren, bekannt.
  • Eine weitere Eingabe des PADA ist die Verwendung einer Kernguthaben/Anforderungsschlange. Beispielsweise kann der Verbrauch von Kernguthaben und seiner Anforderungsschlangenverwendung zum Verstehen gegenwärtigen Kernverhaltens verwendet werden. Ein Beispiel ist eine Situation, in der der Kern lediglich wenige Anforderungen an den Cacheagenten ausgibt. Daher zeigt dies eine effiziente Ausführung an. Anderenfalls zeigt ein Kern, der die meisten von allen jeweiligen Kernguthaben verbraucht, Erzeugen von Speicheranforderungen an. Als Konsequenz muss der Heimagent hochgefahren werden, um den Kernanforderungen standzuhalten.
  • Eine weitere Eingabe für den PADA ist der Heimguthabenpool. Beispielsweise zeigt ein Heimguthaben die Anzahl von Einträgen an, die gegenwärtig von dem jeweiligen Cacheagenten verbraucht werden. Daher könnte dies eine gute Anzeige sein, um Zielnachverfolgungseinträge herunterzufahren, falls freie Guthabenzähler für einen vorbestimmten Zeitraum gleichmäßig hoch sind.
  • Eine weitere Eingabe für den PADA ist die Verwendung der Fehladressenschlange. Beispielsweise ist die Fehladressenschlangenverwendung ein weiterer Hinweis darauf, ob der Kern einer Fülle von Cachefehlern begegnet und Speicheranforderung an den Heimagenten anfordert. In einer Ausführungsform können sowohl der Heimguthabenpool als auch die Fehladressenschlangenverwendung für einen Schwellenwertmechanismus verwendet werden, um den richtigen Leistungszustand der Heimagenten zu bestimmen.
  • Ein weitere Eingabe für den PADA ist der Leistungszustand der Kerne. In einer Ausführungsform sendet die PCU den Leistungszustand der Kerne an den PADA. Der Leistungszustand des jeweiligen Kerns kann für den Aktivitätsdetektor eine sehr nützliche Information darstellen. Beispielsweise erzeugt/erzeugen Kern(e) in höherem P-Zustand oder in C-Zustand geringe oder gar keine Anzahlen von Anforderungen an den Cacheagenten. Als Konsequenz kann man die Verwendungsfähigkeit von Heimnachverfolgungseinträgen bestimmen oder sogar vorhersagen. Beispielsweise ist ein Kern, der im Turbomodus ausgewählt wurde, ein guter Hinweis dafür, dass weitere Anforderungen von genau diesem Kern kommen werden. Während ein Kern, der gerade in den C-Zustand eingetreten ist, darauf hinweist, dass der Kern keine demnächst eintreffenden Anforderungen mehr erzeugt. Darüber hinaus ist klar, dass, falls alle Kerne in den C-Zustand eingetreten sind, eine Nachricht gesendet werden kann, um den Heimnachverfolger, der mit diesem Cacheagenten assoziiert ist, abzuschalten.
  • 5 ist ein Verfahren für ein Flussdiagramm für Quellenlogik einer Ausführungsform der Erfindung. In diesem Flussdiagramm wird die PADA-Logikimplementation beschrieben, eine Stufe höher oder niedriger von Nt-Stufen je Zeitebene erleichtern bzw. zu ermöglichen. In einer Ausführungsform ist die Anzahl von Nt-Stufen benutzerdefiniert. Beispielsweise stellt N0 den Zustand dar, dass alle Betriebsmittel am Zielstandort komplett abgeschaltet werden. Demgegenüber legte Nmax nahe, dass alle Ziel-Heimbetriebsmittel hochgefahren werden. Daher legte die PADA-Logik in jedem Zeitintervall ein Hoch- oder Herabstufen um Nt-Stufen nahe. SCDPM wird anschließend solche Informationen verwenden, um die Heimagentenbetriebsmittel hoch-/herunterzufahren, wobei der vorgeschlagene Fluss, der in 5 abgebildet ist, verwendet wird. In dieser Ausführungsform bezeichnet das At die gegenwärtige aktive Nachverfolgungsstufe an dem Ziel, und Ct bezeichnet die gegenwärtige Nachverfolgungerverwendung an dem Ziel.
  • 6 ist ein Verfahren für ein Flussdiagramm für einen Entscheidungsbaum für den Kernaktivitätsdetektor in einer Ausführungsform der Erfindung. In einer Ausführungsform stellt das Verfahren einen Entscheidungsbaum für eine PADA-Architektur dar. Beispielsweise stellt das Flussdiagramm ein Prioritätsschema für alle Informationen, die von dem Prozessoraktivitätsdetektor empfangen werden, dar. Als Konsequenz bestimmt es die richtige aktive Stufe des Heimagenten (Nt). Beispielsweise hat Leistungszustandsinformation des Prozessors in einer Ausführungsform Vorrang vor allen anderen Informationen. Daher wird, falls ein Prozessorpaket im C-Zustand ist, kein Verkehr zum Heimagenten gehen. Falls das Paket aktiv ist, vergleicht die PADA, um festzustellen, ob mehr oder weniger Kerne in den Leistungssparmodus eingetreten sind. Mehrere Kerne im C-Zustand legen nahe, dass die Heimbetriebsmittelverwendung fallen kann. Schließlich werden Schlangen-/Guthabenverwendung und Architekturereignisse verwendet, um die Aktivitätsstufe des Ziels einzustellen.
  • Es ist einzusehen, dass Bezugnahmen in dieser Spezifikation auf „eine (1) Ausführungsform” oder „eine Ausführungsform” bedeuten, dass ein bestimmtes Merkmal, eine Struktur oder eine Eigenschaft, das/die in Verbindung mit der Ausführungsform beschrieben wird, in wenigstens einer Ausführungsform der vorliegenden Erfindung enthalten ist. Daher wird betont und sollte eingesehen werden, dass zwei oder mehrere Bezugnahmen auf „eine Ausführungsform” oder „eine (1) Ausführungsform” oder „eine alternative Ausführungsform” in verschiedenen Teilen dieser Spezifikation nicht notwendigerweise alle auf die gleiche Ausführungsform bezogen sind. Darüber hinaus können die genauen Merkmale, Strukturen oder Charakteristiken kombiniert werden, wie es für eine oder mehrere Ausführungsformen der Erfindung passend ist.

Claims (11)

  1. Eine Vorrichtung, umfassend: eine Vielzahl erster Prozessorkerne, wobei jeder der ersten Prozessorkerne einen jeweiligen Guthabenzähler aufweist; und einen zweiten Prozessorkern, umfassend einen oder mehrere Nachverfolger, wobei jeder Nachverfolger mit einem der ersten Prozessorkerne assoziiert ist und eine vorbestimmte Anzahl von Nachverfolgereinträgen enthält, wobei jeder Nachverfolgereintrag einer Transaktion entspricht, die von dem jeweiligen Prozessorkern der ersten Prozessorkerne an den zweiten Prozessorkern ausgegeben wird, wobei die vorbestimmte Anzahl an Nachverfolgereinträgen der Größe nach auf die Anzahl von Transaktionen beschränkt ist, die von dem jeweiligen Prozessorkern der ersten Prozessorkerne an den zweiten Prozessorkern ausgegeben werden können; wobei jeder der Guthabenzähler der ersten Prozessorkerne zum Unterhalten eines Guthabenzählerwerts konfiguriert ist, der die Anzahl nicht benutzter Nachverfolgereinträge in dem jeweiligen Nachverfolger darstellt; wobei der zweite Prozessorkern zum Bestimmen einer aktiven Stufe jedes der ersten Prozessorkerne anhand des jeweiligen Guthabenzählerwerts konfiguriert ist
  2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass der zweite Prozessorkern bestimmt, ob ein jeweiliger Prozessorkern der ersten Prozessorkerne hochgefahren werden muss, weil der jeweilige Prozessorkern Speicheranforderungen generiert, wobei ein jeweiliger Guthabenzählerwert verwendet wird, der einen bestimmten Schwellenwert übersteigt.
  3. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass die Guthabenzählerwerte verwendet werden, um eine Vorhersage von explosiv auftretenden Operationen zu erleichtern bzw. ermöglichen, so dass ein jeweiliger Prozessorkern der ersten Prozessorkerne mit einer großen Zahl von Verzweigungsfehlvorhersagen oder Seitenfehlern auf die Wahrscheinlichkeit einer Fülle von bevorstehenden Speicheranforderungen hinweist.
  4. Ein Prozessorkern, der mit einer Vielzahl von ersten Prozessorkernen gekoppelt ist, umfassend: einen oder mehrere Nachverfolger, wobei jeder Nachverfolger mit einem der ersten Prozessorkerne assoziiert ist und eine vorbestimmte Anzahl von Nachverfolgereinträgen enthält, wobei jeder Nachverfolgereintrag einer Transaktion entspricht, die von dem jeweiligen Prozessorkern der ersten Prozessorkerne an den Prozessorkern ausgegeben wird, wobei die vorbestimmte Anzahl an Nachverfolgereinträgen der Größe nach auf die Anzahl von Transaktionen beschränkt ist, die von dem jeweiligen Prozessorkern der ersten Prozessorkerne an den zweiten Prozessorkern ausgegeben werden können; wobei jeder der Guthabenzähler der ersten Prozessorkerne zum Unterhalten eines Guthabenzählerwerts konfiguriert ist, der die Anzahl nicht benutzter Nachverfolgereinträge in dem jeweiligen Nachverfolger darstellt, wobei jeder der Prozessorkerne einen jeweiligen Guthabenzähler zum Unterhalten eines Guthabenzählerwerts enthält, der die Anzahl nicht benutzter Nachverfolgereinträge in dem jeweiligen Nachverfolger darstellt, wobei der Prozessorkern zum Bestimmen einer Stufe jedes der ersten Prozessorkerne anhand der jeweiligen Guthabenzählerwerte dient.
  5. Prozessorkern nach Anspruch 4, wobei der Prozessorkern ferner konfiguriert ist, zu bestimmen, ob einer der ersten Prozessorkerne hochgefahren werden muss, weil der jeweilige Prozessorkern Speicheranforderungen erzeugt, wobei er einen jeweiligen Guthabenzählerwert verwendet, der einen vorbestimmten Schwellenwert übersteigt.
  6. Prozessorkern nach Anspruch 4, dadurch gekennzeichnet, dass die Guthabenzähler verwendet werden, um eine Vorhersage von stoßartig auftretenden Operationen zu erleichtern bzw. ermöglichen, so dass ein Prozessorkern mit einer großen Anzahl von Verzweigungsfehlvorhersagen oder Seitenfehlern die Wahrscheinlichkeit einer Fülle bevorstehender Speicheranforderungen anzeigt.
  7. Verfahren zum Bestimmen einer aktiven Leistungsstufe für einen ersten Prozessorkern, der mit einer Vielzahl von Prozessorkernen in einem integrierten Einrichtungspaket gekoppelt ist, umfassend: Unterhalten eines jeweiligen Guthabenzählerwerts an einem oder mehreren Guthabenzählern in einem jeweiligen Prozessorkern einer Vielzahl erster Prozessorkerne, wobei jeder der Guthabenzählerwerte die Anzahl nicht benutzter Nachverfolgereinträge in einem jeweiligen Nachverfolger der ersten Prozessorkerne darstellt, wobei jeder der Nachverfolger eine Anzahl von Nachverfolgereinträgen enthält, wobei jeder Nachverfolgereintrag einer Transaktion entspricht, die von dem jeweiligen Prozessorkern der ersten Prozessorkerne an einen zweiten Prozessorkern ausgegeben wird, wobei die vorbestimmte Anzahl von Nachverfolgereinträgen der Größe nach auf die Anzahl von Transaktionen beschränkt ist, die von dem jeweiligen Prozessorkern der ersten Prozessorkerne an den zweiten Prozessorkernen ausgegeben werden können; und Bestimmen einer aktiven Stufe jedes der ersten Prozessorkerne anhand des jeweiligen Guthabenzählerwerts.
  8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass die aktive Leistungsstufe des zweiten Prozessorkerns erhöht wird, wenn die Anzahl von ersten Prozessorkernen, die in einen Leistungssparzustand eingetreten sind, gegenüber dem früheren Zeitintervall abgenommen hat.
  9. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass die aktive Leistungsstufe des zweiten Prozessorkerns abgesenkt wird, wenn sich die Anzahl von zweiten Prozessorkernen, die in einen Leistungssparzustand eingetreten ist, seit dem vorherigen Zeitintervall erhöht hat.
  10. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass die aktive Leistungsstufe des eines ersten Prozessorkerns erhöht wird, wenn der jeweilige Guthabenzählwert und eine Fehladressenschlangenverwendung einen Schwellenwert übersteigt.
  11. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass die Vielzahl von Architekturereigniszählern mit einem zweiten Schwellenwert verglichen wird, falls der jeweilige Guthabenzählwert und die Fehladressenschlangenverwendung einen ersten Schwellenwert nicht übersteigt.
DE112008001655.0T 2007-06-28 2008-06-17 Verfahren, System und Vorrichtung für einen Kernaktivitätsdetektor zum Erleichtern von Dynamischer Stromverwaltung in einem verteilten System Expired - Fee Related DE112008001655B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/770,618 2007-06-28
US11/770,618 US7971074B2 (en) 2007-06-28 2007-06-28 Method, system, and apparatus for a core activity detector to facilitate dynamic power management in a distributed system
PCT/US2008/067201 WO2009006014A1 (en) 2007-06-28 2008-06-17 Method, system, and apparatus for a core activity detector to facilitate dynamic power management in a distributed system

Publications (2)

Publication Number Publication Date
DE112008001655T5 DE112008001655T5 (de) 2010-07-22
DE112008001655B4 true DE112008001655B4 (de) 2015-03-26

Family

ID=40162206

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112008001655.0T Expired - Fee Related DE112008001655B4 (de) 2007-06-28 2008-06-17 Verfahren, System und Vorrichtung für einen Kernaktivitätsdetektor zum Erleichtern von Dynamischer Stromverwaltung in einem verteilten System

Country Status (8)

Country Link
US (1) US7971074B2 (de)
JP (1) JP2009009577A (de)
CN (1) CN101334688B (de)
BR (1) BRPI0812968A2 (de)
DE (1) DE112008001655B4 (de)
GB (1) GB2463193B (de)
RU (1) RU2465631C2 (de)
WO (1) WO2009006014A1 (de)

Families Citing this family (121)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8799687B2 (en) 2005-12-30 2014-08-05 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including optimizing C-state selection under variable wakeup rates
US9146892B2 (en) * 2007-10-11 2015-09-29 Broadcom Corporation Method and system for improving PCI-E L1 ASPM exit latency
US8024590B2 (en) * 2007-12-10 2011-09-20 Intel Corporation Predicting future power level states for processor cores
US8819305B2 (en) * 2009-11-16 2014-08-26 Intel Corporation Directly providing data messages to a protocol layer
US8943334B2 (en) 2010-09-23 2015-01-27 Intel Corporation Providing per core voltage and frequency control
US9069555B2 (en) 2011-03-21 2015-06-30 Intel Corporation Managing power consumption in a multi-core processor
US8793515B2 (en) 2011-06-27 2014-07-29 Intel Corporation Increasing power efficiency of turbo mode operation in a processor
US8769316B2 (en) 2011-09-06 2014-07-01 Intel Corporation Dynamically allocating a power budget over multiple domains of a processor
US8688883B2 (en) 2011-09-08 2014-04-01 Intel Corporation Increasing turbo mode residency of a processor
US9074947B2 (en) 2011-09-28 2015-07-07 Intel Corporation Estimating temperature of a processor core in a low power state without thermal sensor information
US8954770B2 (en) 2011-09-28 2015-02-10 Intel Corporation Controlling temperature of multiple domains of a multi-domain processor using a cross domain margin
US8914650B2 (en) 2011-09-28 2014-12-16 Intel Corporation Dynamically adjusting power of non-core processor circuitry including buffer circuitry
US9026815B2 (en) 2011-10-27 2015-05-05 Intel Corporation Controlling operating frequency of a core domain via a non-core domain of a multi-domain processor
US8832478B2 (en) 2011-10-27 2014-09-09 Intel Corporation Enabling a non-core domain to control memory bandwidth in a processor
US8943340B2 (en) 2011-10-31 2015-01-27 Intel Corporation Controlling a turbo mode frequency of a processor
US9158693B2 (en) 2011-10-31 2015-10-13 Intel Corporation Dynamically controlling cache size to maximize energy efficiency
US8972763B2 (en) 2011-12-05 2015-03-03 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including determining an optimal power state of the apparatus based on residency time of non-core domains in a power saving state
US9239611B2 (en) 2011-12-05 2016-01-19 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including balancing power among multi-frequency domains of a processor based on efficiency rating scheme
US9052901B2 (en) 2011-12-14 2015-06-09 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including configurable maximum processor current
US9372524B2 (en) 2011-12-15 2016-06-21 Intel Corporation Dynamically modifying a power/performance tradeoff based on processor utilization
US9098261B2 (en) 2011-12-15 2015-08-04 Intel Corporation User level control of power management policies
US8635406B2 (en) * 2012-03-08 2014-01-21 Arm Limited Data processing apparatus and method for providing target address information for branch instructions
US9323316B2 (en) 2012-03-13 2016-04-26 Intel Corporation Dynamically controlling interconnect frequency in a processor
US9436245B2 (en) 2012-03-13 2016-09-06 Intel Corporation Dynamically computing an electrical design point (EDP) for a multicore processor
CN104169832B (zh) * 2012-03-13 2017-04-19 英特尔公司 提供处理器的能源高效的超频操作
WO2013147849A1 (en) * 2012-03-30 2013-10-03 Intel Corporation Dynamically measuring power consumption in a processor
US10185566B2 (en) 2012-04-27 2019-01-22 Intel Corporation Migrating tasks between asymmetric computing elements of a multi-core processor
US20140006599A1 (en) * 2012-06-29 2014-01-02 Dirk Hohndel Probabilities of potential actions based on system observations
US9063727B2 (en) 2012-08-31 2015-06-23 Intel Corporation Performing cross-domain thermal control in a processor
US8984313B2 (en) 2012-08-31 2015-03-17 Intel Corporation Configuring power management functionality in a processor including a plurality of cores by utilizing a register to store a power domain indicator
US9342122B2 (en) 2012-09-17 2016-05-17 Intel Corporation Distributing power to heterogeneous compute elements of a processor
US9423858B2 (en) 2012-09-27 2016-08-23 Intel Corporation Sharing power between domains in a processor package using encoded power consumption information from a second domain to calculate an available power budget for a first domain
US9804656B2 (en) * 2012-09-29 2017-10-31 Intel Corporation Micro-architectural energy monitor event-assisted temperature sensing
US9575543B2 (en) 2012-11-27 2017-02-21 Intel Corporation Providing an inter-arrival access timer in a processor
US9183144B2 (en) 2012-12-14 2015-11-10 Intel Corporation Power gating a portion of a cache memory
US9405351B2 (en) 2012-12-17 2016-08-02 Intel Corporation Performing frequency coordination in a multiprocessor system
US9292468B2 (en) 2012-12-17 2016-03-22 Intel Corporation Performing frequency coordination in a multiprocessor system based on response timing optimization
US9235252B2 (en) 2012-12-21 2016-01-12 Intel Corporation Dynamic balancing of power across a plurality of processor domains according to power policy control bias
US9075556B2 (en) 2012-12-21 2015-07-07 Intel Corporation Controlling configurable peak performance limits of a processor
US9081577B2 (en) 2012-12-28 2015-07-14 Intel Corporation Independent control of processor core retention states
US9164565B2 (en) 2012-12-28 2015-10-20 Intel Corporation Apparatus and method to manage energy usage of a processor
US9335803B2 (en) 2013-02-15 2016-05-10 Intel Corporation Calculating a dynamically changeable maximum operating voltage value for a processor based on a different polynomial equation using a set of coefficient values and a number of current active cores
US9367114B2 (en) 2013-03-11 2016-06-14 Intel Corporation Controlling operating voltage of a processor
US9494996B2 (en) 2013-03-15 2016-11-15 Intel Corporation Processor having frequency of operation information for guaranteed operation under high temperature events
US9513688B2 (en) 2013-03-16 2016-12-06 Intel Corporation Measurement of performance scalability in a microprocessor
US9395784B2 (en) 2013-04-25 2016-07-19 Intel Corporation Independently controlling frequency of plurality of power domains in a processor system
US9377841B2 (en) 2013-05-08 2016-06-28 Intel Corporation Adaptively limiting a maximum operating frequency in a multicore processor
US9823719B2 (en) 2013-05-31 2017-11-21 Intel Corporation Controlling power delivery to a processor via a bypass
US9348401B2 (en) 2013-06-25 2016-05-24 Intel Corporation Mapping a performance request to an operating frequency in a processor
US9471088B2 (en) 2013-06-25 2016-10-18 Intel Corporation Restricting clock signal delivery in a processor
US9348407B2 (en) 2013-06-27 2016-05-24 Intel Corporation Method and apparatus for atomic frequency and voltage changes
US9377836B2 (en) 2013-07-26 2016-06-28 Intel Corporation Restricting clock signal delivery based on activity in a processor
US9495001B2 (en) 2013-08-21 2016-11-15 Intel Corporation Forcing core low power states in a processor
US10386900B2 (en) 2013-09-24 2019-08-20 Intel Corporation Thread aware power management
US9594560B2 (en) 2013-09-27 2017-03-14 Intel Corporation Estimating scalability value for a specific domain of a multicore processor based on active state residency of the domain, stall duration of the domain, memory bandwidth of the domain, and a plurality of coefficients based on a workload to execute on the domain
US9405345B2 (en) 2013-09-27 2016-08-02 Intel Corporation Constraining processor operation based on power envelope information
US9494998B2 (en) 2013-12-17 2016-11-15 Intel Corporation Rescheduling workloads to enforce and maintain a duty cycle
US9459689B2 (en) 2013-12-23 2016-10-04 Intel Corporation Dyanamically adapting a voltage of a clock generation circuit
US9348380B2 (en) * 2013-12-28 2016-05-24 Samsung Electronics Co., Ltd. Dynamic thermal budget allocation for memory array
US9323525B2 (en) 2014-02-26 2016-04-26 Intel Corporation Monitoring vector lane duty cycle for dynamic optimization
US10108454B2 (en) 2014-03-21 2018-10-23 Intel Corporation Managing dynamic capacitance using code scheduling
US9665153B2 (en) 2014-03-21 2017-05-30 Intel Corporation Selecting a low power state based on cache flush latency determination
US9760158B2 (en) 2014-06-06 2017-09-12 Intel Corporation Forcing a processor into a low power state
US10417149B2 (en) 2014-06-06 2019-09-17 Intel Corporation Self-aligning a processor duty cycle with interrupts
US9513689B2 (en) 2014-06-30 2016-12-06 Intel Corporation Controlling processor performance scaling based on context
US9606602B2 (en) 2014-06-30 2017-03-28 Intel Corporation Method and apparatus to prevent voltage droop in a computer
US9575537B2 (en) 2014-07-25 2017-02-21 Intel Corporation Adaptive algorithm for thermal throttling of multi-core processors with non-homogeneous performance states
US9760136B2 (en) 2014-08-15 2017-09-12 Intel Corporation Controlling temperature of a system memory
US9671853B2 (en) 2014-09-12 2017-06-06 Intel Corporation Processor operating by selecting smaller of requested frequency and an energy performance gain (EPG) frequency
US10339023B2 (en) 2014-09-25 2019-07-02 Intel Corporation Cache-aware adaptive thread scheduling and migration
US9977477B2 (en) 2014-09-26 2018-05-22 Intel Corporation Adapting operating parameters of an input/output (IO) interface circuit of a processor
US9684360B2 (en) 2014-10-30 2017-06-20 Intel Corporation Dynamically controlling power management of an on-die memory of a processor
US9417961B2 (en) 2014-11-18 2016-08-16 HGST Netherlands B.V. Resource allocation and deallocation for power management in devices
US9703358B2 (en) 2014-11-24 2017-07-11 Intel Corporation Controlling turbo mode frequency operation in a processor
US20160147280A1 (en) 2014-11-26 2016-05-26 Tessil Thomas Controlling average power limits of a processor
US10048744B2 (en) 2014-11-26 2018-08-14 Intel Corporation Apparatus and method for thermal management in a multi-chip package
US9710043B2 (en) 2014-11-26 2017-07-18 Intel Corporation Controlling a guaranteed frequency of a processor
US10877530B2 (en) 2014-12-23 2020-12-29 Intel Corporation Apparatus and method to provide a thermal parameter report for a multi-chip package
US20160224098A1 (en) 2015-01-30 2016-08-04 Alexander Gendler Communicating via a mailbox interface of a processor
US9639134B2 (en) 2015-02-05 2017-05-02 Intel Corporation Method and apparatus to provide telemetry data to a power controller of a processor
US10234930B2 (en) 2015-02-13 2019-03-19 Intel Corporation Performing power management in a multicore processor
US9910481B2 (en) 2015-02-13 2018-03-06 Intel Corporation Performing power management in a multicore processor
US9874922B2 (en) 2015-02-17 2018-01-23 Intel Corporation Performing dynamic power control of platform devices
US9842082B2 (en) 2015-02-27 2017-12-12 Intel Corporation Dynamically updating logical identifiers of cores of a processor
US9710054B2 (en) 2015-02-28 2017-07-18 Intel Corporation Programmable power management agent
US9760160B2 (en) 2015-05-27 2017-09-12 Intel Corporation Controlling performance states of processing engines of a processor
US9710041B2 (en) 2015-07-29 2017-07-18 Intel Corporation Masking a power state of a core of a processor
US10001822B2 (en) 2015-09-22 2018-06-19 Intel Corporation Integrating a power arbiter in a processor
US9983644B2 (en) 2015-11-10 2018-05-29 Intel Corporation Dynamically updating at least one power management operational parameter pertaining to a turbo mode of a processor for increased performance
US9910470B2 (en) 2015-12-16 2018-03-06 Intel Corporation Controlling telemetry data communication in a processor
US10146286B2 (en) 2016-01-14 2018-12-04 Intel Corporation Dynamically updating a power management policy of a processor
US10289188B2 (en) 2016-06-21 2019-05-14 Intel Corporation Processor having concurrent core and fabric exit from a low power state
US10324519B2 (en) 2016-06-23 2019-06-18 Intel Corporation Controlling forced idle state operation in a processor
US10281975B2 (en) 2016-06-23 2019-05-07 Intel Corporation Processor having accelerated user responsiveness in constrained environment
US10379596B2 (en) 2016-08-03 2019-08-13 Intel Corporation Providing an interface for demotion control information in a processor
US10379904B2 (en) 2016-08-31 2019-08-13 Intel Corporation Controlling a performance state of a processor using a combination of package and thread hint information
US10423206B2 (en) 2016-08-31 2019-09-24 Intel Corporation Processor to pre-empt voltage ramps for exit latency reductions
US10234920B2 (en) 2016-08-31 2019-03-19 Intel Corporation Controlling current consumption of a processor based at least in part on platform capacitance
US10168758B2 (en) 2016-09-29 2019-01-01 Intel Corporation Techniques to enable communication between a processor and voltage regulator
CN107547296B (zh) * 2017-05-10 2020-09-25 新华三信息安全技术有限公司 一种信息处理方法及装置
US10429919B2 (en) 2017-06-28 2019-10-01 Intel Corporation System, apparatus and method for loose lock-step redundancy power management
EP3673344A4 (de) 2017-08-23 2021-04-21 INTEL Corporation System, vorrichtung und verfahren für adaptive betriebsspannung in einem feldprogrammierbaren gate-array (fpga)
US10565079B2 (en) 2017-09-28 2020-02-18 Intel Corporation Determination of idle power state
US10620266B2 (en) 2017-11-29 2020-04-14 Intel Corporation System, apparatus and method for in-field self testing in a diagnostic sleep state
US10620682B2 (en) 2017-12-21 2020-04-14 Intel Corporation System, apparatus and method for processor-external override of hardware performance state control of a processor
US11054887B2 (en) * 2017-12-28 2021-07-06 Advanced Micro Devices, Inc. System-wide low power management
US10620969B2 (en) 2018-03-27 2020-04-14 Intel Corporation System, apparatus and method for providing hardware feedback information in a processor
US10739844B2 (en) 2018-05-02 2020-08-11 Intel Corporation System, apparatus and method for optimized throttling of a processor
CN112041782B (zh) 2018-06-11 2024-04-26 惠普发展公司,有限责任合伙企业 电源控制器
US10955899B2 (en) 2018-06-20 2021-03-23 Intel Corporation System, apparatus and method for responsive autonomous hardware performance state control of a processor
US10976801B2 (en) 2018-09-20 2021-04-13 Intel Corporation System, apparatus and method for power budget distribution for a plurality of virtual machines to execute on a processor
US10860083B2 (en) 2018-09-26 2020-12-08 Intel Corporation System, apparatus and method for collective power control of multiple intellectual property agents and a shared power rail
US11656676B2 (en) 2018-12-12 2023-05-23 Intel Corporation System, apparatus and method for dynamic thermal distribution of a system on chip
US11256657B2 (en) 2019-03-26 2022-02-22 Intel Corporation System, apparatus and method for adaptive interconnect routing
US11442529B2 (en) 2019-05-15 2022-09-13 Intel Corporation System, apparatus and method for dynamically controlling current consumption of processing circuits of a processor
US11698812B2 (en) 2019-08-29 2023-07-11 Intel Corporation System, apparatus and method for providing hardware state feedback to an operating system in a heterogeneous processor
US11366506B2 (en) 2019-11-22 2022-06-21 Intel Corporation System, apparatus and method for globally aware reactive local power control in a processor
TWI708957B (zh) * 2019-12-12 2020-11-01 聚眾聯合科技股份有限公司 動態功率定位方法及其動態功率定位系統
US11132201B2 (en) 2019-12-23 2021-09-28 Intel Corporation System, apparatus and method for dynamic pipeline stage control of data path dominant circuitry of an integrated circuit
US20220413591A1 (en) * 2021-06-25 2022-12-29 Intel Corporation Hardware-assisted core frequency and voltage scaling in a poll mode idle loop
US11921564B2 (en) 2022-02-28 2024-03-05 Intel Corporation Saving and restoring configuration and status information with reduced latency

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030056126A1 (en) * 2001-09-19 2003-03-20 Dell Products L.P. System and method for strategic power reduction in a computer system

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5727221A (en) * 1994-12-22 1998-03-10 Texas Instruments Incorporated Computer system power management interconnection circuitry and systems
US6785826B1 (en) * 1996-07-17 2004-08-31 International Business Machines Corporation Self power audit and control circuitry for microprocessor functional units
US6009488A (en) * 1997-11-07 1999-12-28 Microlinc, Llc Computer having packet-based interconnect channel
US6865697B2 (en) * 2002-01-18 2005-03-08 International Business Machines Corporation Method and apparatus for reduced error checking of data received by a server from a client
US7337334B2 (en) * 2003-02-14 2008-02-26 International Business Machines Corporation Network processor power management
US7644153B2 (en) * 2003-07-31 2010-01-05 Hewlett-Packard Development Company, L.P. Resource allocation management in interactive grid computing systems
US7966511B2 (en) * 2004-07-27 2011-06-21 Intel Corporation Power management coordination in multi-core processors
US7721292B2 (en) * 2004-12-16 2010-05-18 International Business Machines Corporation System for adjusting resource allocation to a logical partition based on rate of page swaps and utilization by changing a boot configuration file
RU2298218C2 (ru) * 2005-04-25 2007-04-27 Самсунг Электроникс Ко., Лтд. Система и способ диагностики периферийных устройств
GB0516447D0 (en) * 2005-08-10 2005-09-14 Symbian Software Ltd Controlling multilevel shared resources in a computing device
US7568115B2 (en) * 2005-09-28 2009-07-28 Intel Corporation Power delivery and power management of many-core processors

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030056126A1 (en) * 2001-09-19 2003-03-20 Dell Products L.P. System and method for strategic power reduction in a computer system

Also Published As

Publication number Publication date
US20090006871A1 (en) 2009-01-01
WO2009006014A1 (en) 2009-01-08
GB2463193A (en) 2010-03-10
RU2010100908A (ru) 2011-07-20
DE112008001655T5 (de) 2010-07-22
CN101334688B (zh) 2013-08-28
CN101334688A (zh) 2008-12-31
RU2465631C2 (ru) 2012-10-27
US7971074B2 (en) 2011-06-28
GB0921943D0 (en) 2010-02-03
JP2009009577A (ja) 2009-01-15
BRPI0812968A2 (pt) 2014-12-16
GB2463193B (en) 2012-04-25

Similar Documents

Publication Publication Date Title
DE112008001655B4 (de) Verfahren, System und Vorrichtung für einen Kernaktivitätsdetektor zum Erleichtern von Dynamischer Stromverwaltung in einem verteilten System
DE102009043411B4 (de) Bereitstellen eines Zurückstellungsmechanismus für "gepostete" Interrupt-Transaktionen
DE112011103193B4 (de) Bereitstellung einer Pro-Kern-Spannungs-und Frequenzsteuerung
DE112012002664B4 (de) Erhöhen der Energieeffizienz des Turbo-Modus-Betriebs in einem Prozessor
DE112012005210B4 (de) Bereitstellen eines gemeinsamen Caching-Agenten für ein Kern- und integriertes Ein-/Ausgabe-(IO)-Modul
DE102010045743B4 (de) Verfahren und Vorrichtung, um Turboleistung für das Event-Handling zu verbessern
DE112012000749B4 (de) Techniken zum Verwalten des Stromverbrauchszustands eines Prozessors
DE112007001215B4 (de) Vorhersage der Leistungsnutzung von Rechenplattformspeicher
DE102009021245B4 (de) Verfahren, System und Vorrichtung für die Energieverwaltung einer Verbindungs-Koppelstruktur
DE102010054337B4 (de) Mechanismen, um ineffizientes Core-Hopping zu vermeiden und Hardware-unterstützte Auswahl eines Niedrigleitungszustands bereitzustellen
DE112012003701B4 (de) Dynamisches Zuordnen eines Leistungsbudgets über mehrere Domänen eines Prozessors
DE112011105867B4 (de) Kollaboratives Prozessor- und Systemleistungs- und Energiemanagement
DE112005002672B4 (de) Dynamische Neukonfiguration eines Cache-Speichers
DE102015014851A1 (de) Ressourcenzuteilung und -freigabe für die Energieverwaltung in Vorrichtungen
DE112013003733T5 (de) Adaptive Paketumlenkung, um angemessene, kostengünstige und/oder Energie-effiziente Dienstgüte im Netzwerk auf Chipvorrichtungen zu erreichen
DE102009049078B4 (de) Verwendung von Ausführer-Wissen über Speicherregion-Ordnungsanforderungen zum Modifizieren von Transaktionsattributen
DE112006001290T5 (de) Dynamisches Busparken
DE112019000662T5 (de) System, Vorrichtung und Verfahren für ein Handschlag-Protokoll für Niedrigleistungszustandsübergänge
DE102008016181A1 (de) Prioritätsbasiertes Drosseln für Leistungsaufnahme-Verarbeitungsleistung-Dienstgüte
DE112013006184T5 (de) Verwalten eines Leistungszustandes eines Prozessors
DE112013003290B4 (de) Verwendung der Geräteleerlaufzeit-Information zur Optimierung der Energieeffizienz
DE112007002201T5 (de) Quality-of-Service-Implementierung für Plattformressourcen
DE112010004006T5 (de) Zuverlässige kommunikationen in chipintegrierten netzwerken
DE102014019531A1 (de) Verfahren zum Betrieb einer Steuerungskomponente für ein Luftfahrzeug sowie Steuerungskomponente
DE112013004808T5 (de) Verfahren und Vorrichtung zur Optimierung von Leistung und Latenz auf einer Verbindungsstrecke

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04B0001400000

Ipc: G06F0001320000

Effective date: 20121109

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee