DE112011103225T5 - Drosseln einer integrierten Verbindung - Google Patents

Drosseln einer integrierten Verbindung Download PDF

Info

Publication number
DE112011103225T5
DE112011103225T5 DE201111103225 DE112011103225T DE112011103225T5 DE 112011103225 T5 DE112011103225 T5 DE 112011103225T5 DE 201111103225 DE201111103225 DE 201111103225 DE 112011103225 T DE112011103225 T DE 112011103225T DE 112011103225 T5 DE112011103225 T5 DE 112011103225T5
Authority
DE
Germany
Prior art keywords
connection
iio
processor
state
logic
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.)
Granted
Application number
DE201111103225
Other languages
English (en)
Other versions
DE112011103225B4 (de
Inventor
Robert A. Mayer
Lily Pao Looi
Ravi Rajwar
Stephan J. Jourdan
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.)
MediaTek Inc
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 DE112011103225T5 publication Critical patent/DE112011103225T5/de
Application granted granted Critical
Publication of DE112011103225B4 publication Critical patent/DE112011103225B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • G06F13/4059Coupling between buses using bus bridges where the bridge performs a synchronising function where the synchronisation uses buffers, e.g. for speed matching between buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3253Power saving in bus
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4286Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a handshaking protocol, e.g. RS232C link
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4295Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

Verfahren und Vorrichtung zum Drosseln einer Schnittstelle, die auf dem gleichen Chip wie ein Prozessor integriert ist, werden beschrieben. In einer Ausführungsform veranlasst ein Signal eines integrierten Eingabe-/Ausgabe-Hubs (der beispielsweise auf dem gleichen Chip wie ein Prozessor integriert ist) Drosseln einer Verbindung, die zwischen dem IIO und einer Eingabe/Ausgabe(input/output(IO))-Einrichtung gekoppelt ist. Andere Ausführungsformen sind ebenfalls offenbart.

Description

  • VERWANDTE ANMELDUNG
  • Die vorliegende Anmeldung bezieht sich auf und beansprucht die Priorität der provisorischen Patentanmeldung Nr. 61/386,505 der Vereinigten Staaten, die am 25. September 2010 eingereicht wurde, mit dem Titel „Drosseln einer integrierten Verbindung”, die hiermit durch Bezugnahme in ihrer Gesamtheit und für alle Zwecke aufgenommen wird.
  • GEBIET
  • Die vorliegende Offenbarung bezieht sich allgemein auf das Gebiet der Elektronik. Insbesondere bezieht sich eine Ausführungsform der Erfindung auf Techniken zum Drosseln einer Schnittstelle, die auf dem gleichen Chip wie ein Prozessor integriert ist.
  • HINTERGRUND
  • In einigen gegenwärtigen Implementationen kann ein Prozessor mit Eingabe/Ausgabe(Input/Output(I/O))-Einrichtungen über einen I/O-Hub (IOH) kommunizieren. Darüber hinaus kann der Prozessor auf einer anderen integrierten Schaltkreis(Integrated Circuit(IC))-Einrichtung als der IOH bereitgestellt sein. Ein Bus kann verwendet werden, um zwischen diesen IC-Einrichtungen zu kommunizieren.
  • Solche Implementationen können jedoch Geschwindigkeit reduzieren, beispielsweise aufgrund einer Verzögerung, die mit dem Kommunizieren von Signalen zwischen den IC-Einrichtungen verbunden ist, und/oder Stromverbrauch erhöhen, beispielsweise aufgrund Vorliegens zusätzlicher Schaltkreise, die benötigt werden, um Kommunikation zwischen den IC-Einrichtungen zu ermöglichen. Außerdem kann zusätzlicher (Leiterplatten-)Platz für die diskreten IOH-Komponenten benötigt werden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die ausführliche Beschreibung wird unter Bezugnahme auf die beigefügten Figuren bereitgestellt. In den Figuren bezeichnen/bezeichnet die am weitesten links stehende(n) Stelle(n) einer Bezugsziffer die Figur, in der die Bezugsziffer als erstes erscheint. Die Verwendung der gleichen Bezugsziffern in unterschiedlichen Figuren weist auf ähnliche oder identische Gegenstände hin.
  • 1 und 5 bis 6 zeigen Blockdiagramme von Ausführungsformen von Rechensystemen, die verwendet werden können, um verschiedene Ausführungsformen zu implementieren, die hier diskutiert werden.
  • 2 bis 3 zeigen Zustandsdiagramme gemäß einigen Ausführungsformen.
  • 4 zeigt ein Zeitdiagramm gemäß einer Ausführungsform.
  • Ausführliche Beschreibung
  • In der folgenden Beschreibung werden zahlreiche spezifische Details dargelegt, um ein tiefgreifendes Verständnis verschiedener Ausführungsformen zu liefern. Jedoch können einige Ausführungsformen ohne die spezifischen Details realisiert werden. In anderen Beispielen wurden wohlbekannte Verfahren, Prozeduren, Komponenten und Schaltkreise nicht ausführlich beschrieben, um die jeweiligen Ausführungsformen nicht zu verschleiern.
  • Einige Ausführungsformen beziehen sich auf Techniken zum Drosseln einer Verbindung (wie etwa einer Peripheral Component Interconnect ExpressTM(PCIe)-Verbindung (gemäß der PCI ExpressTM-Spezifikation, Base Specification version 2.0 (veröffentlicht am 17. Januar 2007)), die auf dem gleichen integrierten Schaltkreis(IC)-Chip wie andere Komponenten integriert ist (beispielsweise auf einem oder mehreren Prozessorkernen). Solche Ausführungsformen können Verzögerung reduzieren, Energieverbrauch reduzieren, Chipgröße reduzieren und/oder Komplexität reduzieren, die mit Energieverwaltung in einer Rechenvorrichtung verbunden ist. Zusätzlich ermöglichen einige Ausführungsformen mehr Kontrolle und/oder Kommunikationsbandbreite zwischen zwei integrierten Komponenten (wie etwa PCIe-Komponente(n) und/oder Prozessorkern(en)), beispielweise um Energiezustandsmanipulation/-kontrolle näher festzulegen.
  • Eine Ausführungsform ermöglicht Integration einer PCIe Gen 2.0-Verbindung in den CPU(Central Processing Unit)-Chip und lässt sie bei Mantelteilen niedriger Energie (low power envelope parts) sicher arbeiten, wo die PCIe-Temperatur genauso hoch wie eine Kerntemperatur werden kann. Sie erlaubt dies, während sie PCIe-Spezifikationsanforderungen genügt. Dies wird unter Verwendung von „Force Toggle Tx L0s” erreicht, um in einer Ausführungsform thermisches Drosseln der Tx(Sende(transmit))-Verbindung von PCIe unter Verwendung einer Ein/Aus-Modulation durchzuführen. Für eine Rx(Empfangs(receive))-Verbindung von PCIe kann ein Nichtsenden von Gutschriften verwendet werden, um in einer Ausführungsform Drosseln zu erzwingen.
  • In einer Ausführungsform kann ein IOH auf der gleichen IC-Einrichtung wie ein Prozessor integriert sein (der einen oder mehrere Prozessorkerne enthalten kann, wie hier ausführlicher unten diskutiert wird). Dies erlaubt Entfernen von Logik, die lediglich für Außer-Chip-Kommunikation benötigt wird. Beispielsweise kann Logik, die mit Übertragen von Signalen außerhalb eines Chips über eine Verbindung (beispielsweise physikalische Verbindung) verbunden ist, entfernt werden. Außerdem kann Logik, die normalerweise Senden, Trainieren, Testen, Energiezustandsverwaltung etc. der physikalischen Verbindung steuern würde, entfernt werden. Obwohl die physikalische Verbindung und zusätzliche Logik entfernt werden, können die gleichen Kommunikationsmechanismen noch in einigen Ausführungsformen erhalten werden, beispielsweise um Kompatibilität mit anderer existierender Logik, Kommunukationsprotokollen, Entwurfsanforderungen etc. zu ermöglichen. Beispielsweise können in einem QPI(Quick Path Interconnect)-basierten Prozessor die physikalische QPI-Schicht und untere Verbindungsschicht entfernt werden. Bei dem begleitenden IOH kann die physikalische Schicht bestehen bleiben.
  • Eines oder mehrere der oben erwähnten Elemente können in verschiedenen Rechenumgebungen bereitgestellt werden. Insbesondere zeigt 1 ein Blockdiagramm mit Teilen eines Rechensystems 100 gemäß einer Ausführungsform.
  • Das System 100 kann eine zentrale Verarbeitungseinheit (Central Processing Unit (CPU)) 101 (oder allgemeiner einen Prozessor) enthalten, der einen Prozessorabschnitt 102 enthält. CPU 101-Komponenten können sich auf einem einzigen IC-Chip befinden. Die CPU 101 kann einen oder mehrere Prozessoren (oder Prozessorkerne), wie sie hier beispielsweise unter Bezugnahme auf 5 diskutiert werden, enthalten,. Der Prozessor 102 kann verschiedene Komponenten enthalten, wie etwa einen oder mehrere Prozessorkerne, private oder gemeinsam verwendete(n) Cache(s), einen oder mehrere Speicher-/Grafiksteuerungsmodule, etc. (nicht gezeigt). Darüber hinaus kann die CPU 101 durch einen Bus 104 mit anderen Komponenten, wie etwa einem Systemspeicher 106, kommunizieren. Der Speicher 106 kann Daten in Richtung der CPU 101 speichern, beispielsweise solche, die mit einer oder mehreren I/O-Einrichtungen 107 kommuniziert werden. Die Einrichtung(en) 107 kann/können eine Peripherieeinrichtung sein, die in einigen Ausführungsformen gemäß PCIe kommuniziert (einschließlich PCIe-Generation 2.0 und/oder andere proprietäre oder nicht-proprietäre I/O-Verbindung(en), wie etwa Direct Memory Interface (DMI)). Wie unten weiter diskutiert wird, kann die CPU 101 einen IIO 120 enthalten, der Unterstützung zum Kommunizieren mit der/den Einrichtung(en) 107 gemäß den erwähnten PCIe-Spezifikationen und/oder DMI bereitstellt.
  • Wie in 1 gezeigt ist, kann der Prozessor 102 eine Protokolllogik 108 (bspw. um Unterstützung zum Herunterfahren oder Wecken des Systems 100 zu liefern), eine obere Verbindungsschichtlogik 110 (bspw. um Verbindungsunterstützung für Kommunikation auf der oberen Verbindungsschicht mit dem IIO 120 zu liefern) und eine Seitenbandsteuerlogik 112 enthalten (bspw. um Seitenbandkommunikationsunterstützung anstelle des Entfernens der physikalischen QPI-Schicht und der unteren Verbindungsschicht zu liefern, wie oben diskutiert wurde). In einer Ausführungsform kann die obere Verbindungsschichtlogik eine oder mehrere der folgenden enthalten: virtuelle Kanalwarteschlange(n), Ablaufsteuerung und/oder Gutschriftenlogik, CRC(Cyclical Redundancy Check)-Prüfung und/oder Erzeugungslogik, Parameteraustauschlogik, etc. Darüber hinaus können die entfernten unteren Verbindungsschichten gemäß einigen Ausführungsformen Phit/Flitassembly/deassembly/swizzling, Steuerregister der physikalischen Schicht, Verbindungsenergie- (bspw. L0s) und Breitenmodi, Verbindungsinitialisierung/Training, etc. enthalten.
  • Der IIO 120 kann eine Seitenbandsteuerlogik 124 (bspw. zum Kommunizieren von Seitenbandsignalen mit der Logik 112), einen oder mehrere FIFOs 126 (bspw. zum Ermöglichen einer deterministischen Datenübertragung zwischen der oberen Verbindungsschicht 110 und IIO 120 über eine(n) Verbindung/Bus 127), eine Verbindungslogik 128 (bspw. zum Bereitstellen von Verbindungsunterstützung zur Kommunikation zwischen dem Prozessor 102 und dem IIO 120) und eine Protokolllogik 130 (bspw. zum Bereitstellen der Unterstützung zum Herunterfahren oder Wecken des Systems 100) enthalten.
  • In einer Ausführungsform kann ein€ relativ breitere(r) und/oder langsamere(r) Bus/Verbindung 127 Hochgeschwindigkeitsschaltkreis- und Energieanforderungen eliminieren (verglichen mit dem Bus/der Verbindung, der/die den nichtintegrierten Prozessor und bspw. den IOH koppelt). In einer Ausführungsform wird der Bus 127 vierfach verbreitert, was es erlaubt, die Frequenz um ein Vierfaches zu reduzieren. Ein gültiges Bit kann addiert werden, um größere Flexibilität zu ermöglichen (Null-Flits sind nun optional, etc.) und/oder Textmodi zu unterstützen.
  • In einigen Ausführungsformen werden FIFOs 126 addiert, die in beide Richtungen verlaufen (zu und von IIO 120). Wenn Daten zwischen den Prozessor 102-Komponenten (bspw. Logik 110) und IIO 120 übertragen werden, werden die Daten in ein FIFO anhand eines Schreibzeigers geschrieben und durch den Empfänger anhand eines Lesezeigers gelesen. Die Trennung der Schreib- und Lesezeiger kann bspw. programmierbar sein, um Taktverschiebungsdifferenzen zwischen den Prozessor 102-Komponenten (bspw. Logik 110) und IIO 120 Rechnung zu tragen. Dies ermöglicht dem Prozessor 102 und IIO 120, sich verschiedener Phase-Locked Loops (PLLs) zwecks größerer Flexibilität, feinerer Granularität von Energiezuständen etc. zu entledigen.
  • In einer Ausführungsform können die folgenden Seitenbandsignale verwendet werden (bspw. über Logiken 112 und/oder 124):
    • 1. Von dem IIO 120: A. IIO_wake-IIO 120 fordert Wecken des Systems 100 an, das sich in einem Niedrigenergiezustand befindet; und B. IIO_is_awake-IIO 120 ist wach und kann arbeiten (bspw. wird Energie hochgefahren, PLLs gesperrt, etc.); und
    • 2. Von dem Prozessor 102: A. Processor_wake(bspw. WAKEUP_IIO_PLL)-Prozessor 102 fordert an, das System 100 zu wecken, das sich in einem Niedrigenergiezustand befindet; und B. Processor_is_awake(bspw. BGFRun)-Prozessor 102 ist wach. In einigen Ausführungsformen kann dieses Signal außerdem anzeigen, dass sowohl der Prozessor 102 als auch IIO 120 wach sind. Daraufhin kann der Prozessor 102 bestimmen, wann der gesamte CPU 101-Chip eingeschaltet und anhand des IIO_is_awake-Signals bereit ist zum Arbeiten. Dieses Signal kann die FIFO-Zeiger zurücksetzen und ermöglicht dem/den FIFO(s) 126, Daten zu übertragen. C. Processor_temp_high(bspw. PCUtoIIOTempHigh)-Prozessor 102 erzeugt oder verlasst Erzeugen eines Signals als Antwort auf eine detektierte Temperatur (bspw. detektiert durch einen oder mehrere Sensoren auf dem Chip) dass eine Schwellenwerttemperatur erreicht wurde (die bspw. programmierbar sein kann).
  • Wie in 1 gezeigt, kann die CPU 101 außerdem eine Energiesteuerungs-/Verwaltungseinheit 150 enthalten, die Signale von einem oder mehreren Sensoren (nicht gezeigt) empfangen kann, der/die Temperaturwerte detektiert/detektieren (bspw. in verschiedenen Abschnitten des Chips, der die CPU 102 enthält). Daraufhin kann die Energiesteuerungs-/Verwaltungseinheit 150 bestimmen, ob eine Schwellenwerttemperatur erreicht wurde (die bspw. programmierbar sein kann) und Erzeugen eines Signals veranlassen, um diese Bedingung anzuzeigen (wie etwa ein PCUtoIIOTempHigh Signal, das unten diskutiert wird). Das Signal kann wiederum Drosseln eines oder mehrerer Sende-/Empfangsverbindungen bewirken, wie weiter unten diskutiert wird.
  • Darüber hinaus kann in einer Ausführungsform Force-L0s-Tx (Transmit) wie folgt implementiert werden: (1) die Energiesteuerungs-/Verwaltungseinheit 150 bestätigt PCUtoIIOTempHigh-Signal; (2) die Bestätigung des PCUtoIIOTempHigh Signals startet die ForceTxL0s-Zustandsmaschine (s. bspw. 23); (3) Die ForceTxL0s-Zustandsmaschine „schaltet” die Tx-Verbindung zwischen L0 und L0s (unter Bereitstellung jeweils von Ein/Aus-Modulation der Tx-Verbindung); (4) die Tx-Verbindung verbleibt in ForceTxL0s für eine programmierbare Zeitdauer. Während dieser Zeitdauer liefert der IIO keine ACK(acknowledgement)-Signale für irgendwelche Pakete, die auf der Rx-Verbindung empfangen werden. Eine Vereinfachung des Entwurfs ist, das wenigstens einige von diesen dem folgen, was bereits in der RTL (Resistor Transistor Logic) in einigen Ausführungsformen existiert (bspw. kann eine elegante Heuristik bereits implementiert sein, und somit verwendet die Force-L0s-TX Zustandsmaschine wenigstens Teile dieser Zustandsmaschine wieder); (5) Tx-Einheit sendet ACKS (Bestätigungen(acknowledgements)), um keine Fehlerwiederherstellung an dem Endpunkt der Verbindung auszulösen. Außerdem geht die ForceTxL0s-Zustandsmaschine regelmäßig oder in einem programmierbaren Intervall (bspw. in einer gegenwärtigen Richtung: Wann immer die bestehende L0s-Zustandsmaschine so vorgeht) in L0 über, sendet ACKs (bspw. um Auslösen einer Fehlerwiederherstellung zu vermeiden) und geht zurück zu L0s. Keine Gutschriften werden ausgelöst, so dass auf der Rx-Verbindung Ablaufsteuerung durchgeführt wird.
  • In einigen Ausführungsformen hängt die Richtlinie zum Senden von ACKs unter Force-L0s auf Tx von der Implementation der existierenden L0s-Zustandsmaschine und der Richtlinie ab, der sie zum Senden von ACKs folgt. Beispielsweise wird dann die Force-L0s-Tx, falls die existierende Implementierung vorteilhaft ist, keinen Timer für den ACK implementieren und sich auf die existierende ACK-Implementation stützen.
  • In einer Ausführungsform wird die Rx-Verbindung (der Endpunkt Tx) irgendwann keine Gutschriften mehr haben, einen Ruhezustand detektieren und automatisch in L0s übergehen. Ein Ziel solcher Ausführungsformen ist, dass letztlich eine nahtlose Integration in die existierende Zustandsmaschine mit minimalen Änderungen bereitgestellt wird. Einige wichtige Timer-Werte lauten wie folgt: Falls beispielsweise eine Verbindung in L0 oder L0s ist, wird ein Update-FCPs zur Übertragung wenigstens alle 30 μs (oder Mikrosekunden) geplant. Außerdem kann ein timeout optional sein, bspw. kann bei einem Timer mit 200 μs erneutes Trainieren einer Verbindung auftreten. Darüber hinaus kann ein Abschluss timeout für wenigstens 50 μs und höchstens 50 ms konfiguriert werden. Drei Gegenstände zur Nachverfolgung umfassen: (1) Kann nicht in L0s wechseln, solange dieser Endpunkt glaubt, dass ein Fehler vorliegt (und Verbindung beginnt erneutes Training); (2) Senden von ACK an Endpunkt auf Rx-Paketen innerhalb einer bestimmten Zeitperiode nach Empfangen der Pakete; (3) UpdateFCP wird zurückgegeben, so dass die Zeit zum Senden/Empfangen/Verarbeiten des UpdateFCPs nicht ausreicht.
  • 2 bis 3 zeigen Zustandsübergangsdiagramme auf hohem Niveau für Tx-Force-L0s gemäß einigen Ausführungsformen. Diese Zustandsmaschinen können eigene Einheiten sein und von irgendwelchen bereits existierenden ruhezustandsbasierten L0s-Zustandsmaschinen getrennt sein. In einer Ausführungsform können diese Zustandsmaschinen sicher nebeneinander existieren und korrekt miteinander arbeiten. Wie gezeigt, existieren zwei Zustandsmaschinen in einigen Ausführungsformen: Die Zustandsmaschine der 2, die den Pflichtzyklus für Force- und Release-Tx-L0s steuert, und 3, die durch die Force-L0s-Maschinen wechselt.
  • Außerdem können drei programmierbare Register bereitgestellt sein:
    • – THFL0SPERIOD: Steuert die Zeitdauer einer Force/Release-Periode, angegeben in μs (kurz für Mikrosekunden).
    • – THFL0SDUTY: Steuert die Zeitdauer, während derer L0s freigegeben sind.
    • – THFL0SACKTIMER: Steuert, wie lange Acks gepuffert wird, bevor die Verbindung aus L0s gezogen wird, um Acks zu bedienen. Angegeben in μ-Sekunden (Verwerfen der/des Vorliegenden).
  • Die erste Zustandsmaschine in 2 bestätigt die Force-L0s- und Release-L0s-Signale, die die zweite Zustandsmaschine der 3 steuern. Verwerf-Bit: CTCTRL[3] verwirft Force Tx L0s. Abhängig von der Implementation können ein oder mehrere Zustände dieser Maschinen kombiniert werden. Außerdem sollen die Zustandsmaschinen lediglich eine Konzeptbetrachtung demonstrieren, und die tatsächliche Implementation und endgültige Zustandsmaschine hängen beispielsweise von dem bestehenden RTL ab.
  • In einigen Ausführungsformen werden zwei Register zum Angeben des THFL0SPERIOD und THFL0SDUTY bereitgestellt. Deren Timing-Beziehung ist in 4 gezeigt. Beispielsweise werden während der Periode „A” keine Transaktionsschichtpakete oder TLPs (einschließlich Fertigstellungen) gesendet, und werden keine Ablaufsteuerungsgutschriften zurückgegeben.
  • Darüber hinaus wird die Update Flow Control(UFC)-Nachricht (jedoch unter Zurückgeben von null Gutschriften) gesendet, wie es bei der existierenden RTL-Implementation erfolgen würde, und es erfolgt in einer Ausführungsform kein spezieller Versuch, zu steuern, wann diese Aktualisierung gesendet werden soll. Wenn die UFC-Nachricht gesendet werden muss, wird die Verbindung aus L0s geholt, die UFC-Nachricht gesendet, und die Verbindung geht zurück zu L0s. Die Anzahl von Gutschriften, die zurückgegeben wird, wird null sein und in der Zeitperiode A liegen.
  • Einige Ausführungsformen können eine Heuristik verwenden, um zu entscheiden, wann ACKs gesendet werden. Das Force-Tx-L0s könnte nicht versuchen, dies ausdrücklich zu steuern, und wann immer die existierende Zustandsmaschine Senden eines ACK benötigt, wird die Verbindung aus L0s geholt, die ACKs gesendet, und die Verbindung geht anschließend zurück zu L0s. Die UFC-Nachricht und die ACK-Timer können bereits in den existierenden Zustandsmaschinen existieren. Am Ende der Zeitperiode A werden die Ablaufsteuerungsgutschriften zurückgegeben und alle TLPs gesendet. PM-Nachrichten und einige andere Bedingungen (abhängig von RTL-Analyse) führen ebenfalls dazu, dass die Verbindung aus L0s kommt.
  • Einige optionale Ausnahmen umfassen:
    • – Falls L0s durch das BIOS (Basic Input/Output System) ausgeschaltet wurde, wird Force-L0s nicht eingeschaltet. Dies kann der Fall sein, selbst wenn der Sensor anzeigt, dass die IIO-PCIE-Verbindung Force-L0s durchführen sollte.
    • – Wenn die PCIE-Verbindung startet, während der Chip bereits warm ist, macht sie dies unter voller Leistung und wird nicht gedrosselt. Mit anderen Worten könnte Force-L0s nicht effektiv sein, während die Verbindung initialisiert wird (in RTL wird das Force-L0s durch ein „dl_active” qualifiziert. dl_active wird wahr, wenn die Verbindung Initialisieren von FC abgeschlossen hat, und wird falsch, wenn die Verbindung unten ist).
    • – Die DMI-Anschlüsse können wählen, sich nicht an Force-L0s sich zu beteiligen.
  • 5 zeigt ein Blockdiagramm eines Rechensystems 500 gemäß einer Ausführungsform der Erfindung. Das System 500 kann einen oder mehrere Agenten 502-1 bis 502-M enthalten (gemeinsam hier als „Agenten 502” oder allgemeiner „Agent 502” bezeichnet). In einer Ausführungsform können ein oder mehrere der Agenten 502 irgendwelche Komponenten eines Rechensystem sein, wie etwa des Rechensystems, das unter Bezugnahme auf 1 oder 6 diskutiert wird.
  • Wie in 5 gezeigt ist, können die Agenten 502 über eine Netzwerkstruktur 504 kommunizieren. In einer Ausführungsform kann die Netzwerkstruktur 504 ein Computernetzwerk enthalten, das verschiedenen Agenten (wie etwa Rechenvorrichtungen) erlaubt, Daten zu kommunizieren. In einer Ausführungsform kann die Netzwerkstruktur 504 eine oder mehrere Verbindungen (oder Verbindungsnetzwerke) enthalten, die über eine serielle (bspw. Punkt-zu-Punkt)-Verbindung und/oder ein gemeinsam benutztes Kommunikationsnetzwerk kommunizieren. Beispielsweise können einige Ausführungsformen Debugging von Komponenten oder Validieren von Verbindungen ermöglichen, die Kommunikation mit vollständig gepufferten dualen Inline-Speichermodulen (Fully Buffered Dual In-Line Memory Modules (FBD)) ermöglichen, bspw. wenn die FBD-Verbindung eine serielle Verbindung zum Koppeln von Speichermodulen mit einer Rechnersteuerungsvorrichtung (wie etwa einem Prozessor oder einem Speicher-Hub) koppelt. Debug-Information kann von dem FBD-Kanalrechner übertragen werden, so dass die Debug-Information entlang des Kanals durch Kanalverkehrverfolgungserfassungswerkzeuge (wie etwa einen oder mehrere Logikanalysierer) beobachtet werden kann.
  • In einer Ausführungsform kann das System 500 ein Schichtprotokollschema unterstützen, das eine physikalische Schicht, eine Verbindungsschicht, eine Routingschicht, eine Transportschicht und/oder eine Protokollschicht enthalten kann. Die Struktur 504 kann ferner Übertragung von Daten (bspw. in Form von Paketen) von einem Protokoll (bspw. Cache-Prozessor oder Cache-verwendende Speichersteuerung) zu einem anderen Protokoll für eine Punkt-zu-Punkt-Verbindung oder ein gemeinsam benutztes Netzwerk ermöglichen. Außerdem kann die Netzwerkstruktur 504 in einigen Ausführungsformen Kommunikation bereitstellen, die an ein oder mehrere Cache-kohärente Protokolle gebunden ist.
  • Darüber hinaus können die Agenten 502, wie durch die Richtung der Pfeile in 5 gezeigt ist, Daten über die Netzwerkstruktur 504 senden und/oder empfangen. Somit können einige Agenten eine einseitige Verbindung verwenden, während andere eine beidseitige Verbindung zur Kommunikation verwenden können. Beispielsweise können ein oder mehrere Agenten (wie etwa Agent 502-M) Daten senden (bspw. über eine einseitige Verbindung 506), (ein) andere(r) Agent(en) (wie etwa Agent 502-2) kann/können Daten empfangen (bspw. über eine einseitige Verbindung 508), während (ein) andere(r) Agent(en) (wie etwa Agent 502-1) sowohl Daten senden als auch empfangen kann/können (bspw. über eine beidseitige Verbindung 510).
  • 6 zeigt ein Rechensystem 600, das gemäß einer Ausführungsform der Erfindung in einer Punkt-zu-Punkt(Point to Point(PtP))-Konfiguration angeordnet ist. Insbesondere zeigt 6 ein System, in dem Prozessoren, Speicher und Eingabe/Ausgabeeinrichtungen miteinander durch eine Anzahl von Punkt-zu-Punkt-Schnittstellen verbunden sind. Die unter Bezugnahme auf 1 bis 5 diskutierten Operationen können durch eine oder mehrere Komponenten des Systems 600 durchgeführt werden.
  • Wie in 6 gezeigt, kann das System 600 mehrere Prozessoren enthalten, von denen aus Gründen der Klarheit lediglich zwei Prozessoren 602 und 604 gezeigt sind. Die Prozessoren 602 und 604 können jeweils einen lokalen Speichersteuerungs-Hub (Memory Controller Hub (MCH)) 606 und 608 enthalten, um Kommunikation mit Speichern 610 und 612 zu ermöglichen. Die Speicher 610 und/oder 612 können verschiedene Daten speichern, wie etwa die unter Bezugnahme auf den Speicher 106 der 1 diskutierten. Wie in 6 gezeigt, können die Prozessoren 602 und 604 außerdem IIO-Logik 120 enthalten, wie etwa die unter Bezugnahme auf 1 bis 5 diskutierte. Darüber hinaus können einige Ausführungsformen, obwohl für jeden Prozessor in 6 eine IIO-Logik 120 gezeigt ist, eine einzige IIO-Logik 120 verwenden. Außerdem kann jede IIO-Logik 120, obwohl 6 zeigt, dass jede IIO-Logik 120 mit einer I/O-Einrichtung oder einem I/O-Einrichtungstyp gekoppelt ist, mit mehr als einer oder mehr als einem Typ von I/O-Einrichtung gekoppelt sein.
  • In einer Ausführungsform können die Prozessoren 602 und 604 einer der Prozessoren 602 sein, die unter Bezugnahme auf 6 erläutert sind. Die Prozessoren 602 und 604 können Daten über eine Punkt-zu-Punkt(PtP)-Schnittstelle 614 unter Verwendung von PtP-Schnittstellenschaltkreisen 616 bzw. 618 austauschen. Außerdem können ein oder mehrere der Prozessoren 602 und 604 Daten mit einem Chipsatz 620 über einzelne PtP-Schnittstellen (bspw. Schnittstelle 624) unter Verwendung von Punkt-zu-Punkt Schnittstellenschaltkreisen 626, 628 und 632 austauschen. In der Ausführungsform, die in 6 gezeigt ist, kann lediglich ein Prozessor (Prozessor 604) mit dem Chipsatz 620 kommunizieren. Durch die IIO-Logik 120 kann ein Prozessor (bspw. Prozessor 604) Daten mit einem Hochleistungsgraphikschaltkreis 634 austauschen.
  • In wenigstens einer Ausführungsform kann die I/O-Funktionalität in den Prozessoren 602/504 integriert sein. Andere Ausführungsformen der Erfindung können jedoch in anderen Schaltkreisen, Logikeinheiten oder Einrichtungen innerhalb des Systems 600 der 6 existieren. Darüber hinaus können andere Ausführungsformen der Erfindung über mehrere Schaltkreise, Logikeinheiten oder Einrichtungen, die in 6 gezeigt sind, verteilt sein.
  • Der Chipsatz 620 kann mit einem Bus 640 (bspw. unter Verwendung eines Schnittstellenschaltkreises 641) kommunizieren. Der Bus 640 kann eine oder mehrere Einrichtungen aufweisen, die mit ihm kommunizieren, wie etwa eine Bus-Bridge 642 und I/O-Einrichtungen 643 (, die mit dem IIO über andere Komponenten kommunizieren, wie sie in 6 oder bspw. direkt in 1 gezeigt sind). Über einen Bus 644 kann die Bus-Bridge 642 mit anderen Einrichtungen kommunizieren, wie etwa einer Tastatur/Maus 645, Kommunikationseinrichtungen 646 (wie etwa Modems, Netzwerkschnittstellenvorrichtungen oder anderen Kommunikationseinrichtungen, die mit dem Computernetzwerk 505 kommunizieren können), einer Audio-I/O-Einrichtung, und/oder anderen Datenspeichereinrichtung 648. Die Datenspeichereinrichtung 648 kann Code 649 speichern, der durch die Prozessoren 602 und/oder 604 ausgeführt werden kann.
  • In verschiedenen Ausführungsformen der Erfindung können die hier bspw. unter Bezugnahme auf 1 bis 6 diskutierten Operationen als Hardware (bspw. Schaltkreis), Software, Firmware, Mikrocode oder Kombinationen derselben implementiert werden, die als ein Computerprogrammprodukt bereitgestellt werden können, bspw. einschließlich eines (bspw. nichtflüchtigen) maschinenlesbaren oder computerlesbaren Speichermediums, das darauf gespeicherte Befehle (oder Softwareprozeduren) aufweist, die verwendet werden, um einen Computer zu programmieren, um einen hier diskutierten Prozess durchzuführen.
  • Das Speichermedium kann flüchtigen und/oder nichtflüchtigen Speicher enthalten. Bspw. kann nichtflüchtiger Speicher ein oder mehrere der folgenden enthalten: nur lesbaren Speicher (read-only memory (ROM), programmierbaren ROM (PROM), löschbaren PROM (EPROM), elektrischen EPROM (EEPROM), ein Plattenlaufwerk (bspw. 528), eine Diskette, eine CD-ROM, eine Digital Versatile Disk (DVD), Flash-Speicher, eine magneto-optische Disk oder andere Typen nichtflüchtiger maschinenlesbarer Medien, die in der Lage sind, elektronische Daten zu speichern (bspw. einschließlich Befehlen). Flüchtiger Speicher kann Einrichtungen, wie etwa Random Access Speicher (RAM), dynamischen RAM (DRAM), synchronen DRAM (SDRAM), statischen RAM (SRAM) etc., einschließen.
  • Außerdem kann der Begriff „Logik” beispielsweise Software, Hardware oder Kombinationen aus Software und Hardware umfassen. Das maschinenlesbare Medium kann eine Speichereinrichtung enthalten, wie sie hier diskutiert ist. Zusätzlich können computerlesbare Medien als ein Computerprogrammprodukt heruntergeladen werden, wobei das Programm von einem entfernten Computer (bspw. einem Server) an einen anfordernden Computer (bspw. einen Client) durch Datensignale übertragen werden kann, die in einem Übertragungsmedium über eine Kommunikationsverbindung bereitgestellt werden (bspw. einen Bus, ein Modern oder eine Netzwerkverbindung).
  • Bezugnahmen in der Beschreibung auf „eine (1) Ausführungsform” oder „eine Ausführungsform” bedeuten, dass ein bestimmtes Merkmal, eine Struktur oder eine Eigenschaft, die in Verbindung mit der Ausführungsform beschrieben ist, in wenigstens einer Implementation enthalten sein kann. Die Erscheinungsformen der Phrase „in einer (1) Ausführungsform” an verschiedenen Orten in der Beschreibung können sich alle auf die gleiche Ausführungsform beziehen, müssen dies aber nicht.
  • Außerdem können in der Beschreibung und den Ansprüchen die Begriffe „gekoppelt” und „verbunden” gemeinsam mit ihren Ableitungen verwendet werden. In einigen Ausführungsformen der Erfindung kann „verbunden” verwendet werden, um anzuzeigen, dass zwei oder mehr Elemente in direktem physikalischen oder elektrischen Kontakt miteinander stehen. „Gekoppelt” kann bedeuten, dass zwei oder mehr Elemente in direktem physikalischen oder elektrischen Kontakt miteinander stehen. Jedoch kann „gekoppelt” außerdem bedeuten, dass zwei oder mehr Elemente nicht in direktem Kontakt miteinander stehen, aber immer noch miteinander kooperieren oder interagieren.
  • Somit versteht sich, dass, obwohl Ausführungsformen der Erfindung in einer Sprache, die für strukturelle Merkmale und/oder verfahrensartige Vorgehensweisen spezifisch ist, beschrieben wurden, beanspruchte Gegenstände nicht auf die spezifischen Merkmale oder Vorgehensweisen beschränkt sind. Vielmehr sind die spezifischen Merkmale und Vorgehensweisen als beispielhafte Formen des Implementierens des beanspruchten Gegenstands offenbart.

Claims (20)

  1. Eine integrierte Schaltkreisvorrichtung, umfassend: einen Prozessor; und eine integrierte Eingabe/Ausgabe(integrated input/output(IIO))-Logik, die mit dem Prozessor gekoppelt ist, wobei ein Signal der IIO-Logik Drosseln einer Verbindung veranlasst, die zwischen dem IIO und einer Eingabe/Ausgabe(input/putput(IIO))-Einrichtung gekoppelt ist.
  2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass die Verbindung eine Sendeverbindung oder eine Empfangsverbindung umfasst.
  3. Vorrichtung nach Anspruch 2, dadurch gekennzeichnet, dass Drosseln der Sendeverbindung durch eine Ein- oder Aus-Modulation durchgeführt wird.
  4. Vorrichtung nach Anspruch 3, dadurch gekennzeichnet, dass die Sendeverbindung für eine programmierbare Zeitdauer in einem Auszustand verbleibt.
  5. Vorrichtung nach Anspruch 4, dadurch gekennzeichnet, dass während der Zeitdauer die Sendeverbindung davon absieht, ein oder mehrere Bestätigungssignale für irgendwelche Pakete zu senden, die auf der Empfangsverbindung empfangen werden.
  6. Vorrichtung nach Anspruch 4, dadurch gekennzeichnet, dass die Sendeverbindung während der Zeitdauer Bestätigungssignale sendet, um Auslösen einer Fehlerwiederherstellung an einem Endpunkt der Verbindung zu vermeiden.
  7. Vorrichtung nach Anspruch 4, dadurch gekennzeichnet, dass die Sendeverbindung während der Zeitdauer den Auszustand in einem programmierbaren Interval verlässt, Bestätigungssignale sendet und zu dem Auszustand zurückkehrt.
  8. Vorrichtung nach Anspruch 2, dadurch gekennzeichnet, dass Drosseln der Empfangsverbindung durch Vermeiden eines Sendens von Gutschriften an die Sendeverbindung durchgeführt wird.
  9. Vorrichtung nach Anspruch 2, dadurch gekennzeichnet, dass die Sendeverbindung in einen Auszustand übergeht als Antwort auf Mangel an existierenden Gutschriften und Erkennung eines Ruhezustands.
  10. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass der Prozessor einen oder mehrere Prozessorkerne umfasst.
  11. Verfahren, umfassend: Erzeugen eines Signals von einer IIO-Logik, um Drosseln einer Verbindung zu veranlassen, die zwischen dem IIO und einer Eingabe/Ausgabe(IO)-Einrichtung gekoppelt ist, als Antwort auf Erkennung eines Temperaturwerts an der Verbindung, wobei die Verbindung eine Sendeverbindung oder eine Empfangsverbindung umfasst.
  12. Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass Drosseln der Sendeverbindung durch eine Ein- oder Ausmodulation durchgeführt wird.
  13. Verfahren nach Anspruch 12, ferner umfassend eine Sendeverbindung, die für eine programmierbare Zeitdauer in einem Auszustand verbleibt.
  14. Verfahren nach Anspruch 12, ferner umfassend, dass die Sendeverbindung während der Zeitdauer den Auszustand in einem programmierbaren Intervall verlässt, ein oder mehrere Bestätigungssignale sendet und in den Auszustand zurückkehrt.
  15. Vorrichtung nach Anspruch 11, dadurch gekennzeichnet, dass Drosseln der Empfangsverbindung durch Vermeiden eines Sendens von Gutschriften an die Sendeverbindung durchgeführt wird und dass die Sendeverbindung in einen Auszustand tritt als Antwort auf Mangel an existierenden Gutschriften und Erkennung eines Ruhezustands.
  16. Verfahren nach Anspruch 11, ferner umfassend Kommunizieren von Daten zwischen einem Systemspeicher und einer oder mehreren I/O-Einrichtungen über die IIO-Logik.
  17. Ein System, umfassend: einen Systemspeicher zum Speichern von Daten; einen Prozessor zum Zugreifen auf die gespeicherten Daten; und eine integrierte Eingabe-Ausgabe(IIO)-Logik, die mit dem Prozessor gekoppelt ist, wobei ein Signal der IIO-Logik Drosseln einer Verbindung veranlasst, die zwischen der IIO und einer Eingabe/Ausgabe(IO)-Einrichtung gekoppelt ist, wobei Daten zwischen dem Systemspeicher und einer oder mehreren I/O-Einrichtungen über die IIO-Logik kommuniziert werden, und wobei die Verbindung eine Sendeverbindung oder eine Empfangsverbindung umfasst.
  18. System nach Anspruch 17, dadurch gekennzeichnet, dass Drosseln der Sendeverbindung durch eine Ein- oder Ausmodulation durchgeführt wird.
  19. System nach Anspruch 18, dadurch gekennzeichnet, dass die Sendeverbindung für eine programmierbare Zeitdauer in einem Auszustand verbleibt.
  20. System nach Anspruch 18, dadurch gekennzeichnet, dass Drosseln der Empfangsverbindung durch Vermeiden eines Sendens von Gutschriften an die Sendeverbindung durchgeführt wird.
DE112011103225.0T 2010-09-25 2011-09-26 Schaltkreisvorrichtung, System und Verfahren mit Drosseln einer integrierten Verbindung Active DE112011103225B4 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US38650510P 2010-09-25 2010-09-25
US61/386,505 2010-09-25
US13/040,507 US9146610B2 (en) 2010-09-25 2011-03-04 Throttling integrated link
US13/040,507 2011-03-04
PCT/US2011/053335 WO2012047600A2 (en) 2010-09-25 2011-09-26 Throttling integrated link

Publications (2)

Publication Number Publication Date
DE112011103225T5 true DE112011103225T5 (de) 2013-07-18
DE112011103225B4 DE112011103225B4 (de) 2023-03-23

Family

ID=45871820

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112011103225.0T Active DE112011103225B4 (de) 2010-09-25 2011-09-26 Schaltkreisvorrichtung, System und Verfahren mit Drosseln einer integrierten Verbindung

Country Status (5)

Country Link
US (2) US9146610B2 (de)
CN (1) CN103119572B (de)
DE (1) DE112011103225B4 (de)
TW (1) TWI476596B (de)
WO (1) WO2012047600A2 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8782456B2 (en) 2010-06-01 2014-07-15 Intel Corporation Dynamic and idle power reduction sequence using recombinant clock and power gating
US8850250B2 (en) * 2010-06-01 2014-09-30 Intel Corporation Integration of processor and input/output hub
US9146610B2 (en) * 2010-09-25 2015-09-29 Intel Corporation Throttling integrated link
DE112013003723B4 (de) * 2012-10-22 2018-09-13 Intel Corporation Hochleistungsfähige physikalische Kopplungsstrukturschicht
US10162789B2 (en) * 2015-09-03 2018-12-25 Altera Corporation Distributed multi-die protocol application interface
US20170212579A1 (en) * 2016-01-25 2017-07-27 Avago Technologies General Ip (Singapore) Pte. Ltd. Storage Device With Power Management Throttling
US10152446B2 (en) * 2016-10-01 2018-12-11 Intel Corporation Link-physical layer interface adapter
CN110140379A (zh) 2016-11-07 2019-08-16 A9.Com公司 用于增强网状联网的系统和方法
CN109445680B (zh) * 2018-08-20 2020-03-31 华为技术有限公司 一种对硬盘进行管理的方法及装置
CN109460316B (zh) * 2018-09-17 2020-12-11 至誉科技(武汉)有限公司 基于温差均衡的数据恢复方法以及系统、存储介质

Family Cites Families (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3890945C2 (de) 1987-11-10 1996-05-02 Echelon Systems Zelle, die in einem mehrzelligen Netzwerk zur Meßwerterfassung, Kommunikation und Steuerung dient
US5404544A (en) 1992-06-05 1995-04-04 Advanced Micro Devices System for periodically transmitting signal to/from sleeping node identifying its existence to a network and awakening the sleeping node responding to received instruction
US5761516A (en) 1996-05-03 1998-06-02 Lsi Logic Corporation Single chip multiprocessor architecture with internal task switching synchronization bus
US5893153A (en) 1996-08-02 1999-04-06 Sun Microsystems, Inc. Method and apparatus for preventing a race condition and maintaining cache coherency in a processor with integrated cache memory and input/output control
US6009488A (en) 1997-11-07 1999-12-28 Microlinc, Llc Computer having packet-based interconnect channel
US6487689B1 (en) * 1999-07-08 2002-11-26 Lucent Technologies Inc. Receiver initiated recovery algorithm (RIRA) for the layer 2 tunneling protocol (L2TP)
US6442697B1 (en) 2000-03-24 2002-08-27 Intel Corporation Method and apparatus to control processor power and performance for single phase lock loop (PLL) processor systems
US6803785B1 (en) 2000-06-12 2004-10-12 Altera Corporation I/O circuitry shared between processor and programmable logic portions of an integrated circuit
US6989835B2 (en) * 2000-06-28 2006-01-24 Sun Microsystems, Inc. Flexible video architecture for generating video streams
US6536024B1 (en) 2000-07-14 2003-03-18 International Business Machines Corporation Method for making integrated circuits having gated clock trees
US6721840B1 (en) 2000-08-18 2004-04-13 Triscend Corporation Method and system for interfacing an integrated circuit to synchronous dynamic memory and static memory
US20020156756A1 (en) 2000-12-06 2002-10-24 Biosentients, Inc. Intelligent molecular object data structure and method for application in heterogeneous data environments with high data density and dynamic application needs
US20030226050A1 (en) 2000-12-18 2003-12-04 Yik James Ching-Shau Power saving for mac ethernet control logic
CN1311376C (zh) 2001-02-24 2007-04-18 国际商业机器公司 一种计算结构和计算系统
US6696854B2 (en) * 2001-09-17 2004-02-24 Broadcom Corporation Methods and circuitry for implementing first-in first-out structure
TW546560B (en) 2001-12-28 2003-08-11 Inventec Corp Method of achieving computer power saving through memory throttling
US7003658B2 (en) 2002-02-21 2006-02-21 Inventec Corporation Method for user setup of memory throttling register in north bridge via BIOS to save power
US7898994B2 (en) 2002-02-25 2011-03-01 Hewlett-Packard Development Company, L.P. Power saving in multi-processor device
US7865744B2 (en) 2002-09-04 2011-01-04 Broadcom Corporation System and method for optimizing power consumption in a mobile environment
US8037224B2 (en) 2002-10-08 2011-10-11 Netlogic Microsystems, Inc. Delegating network processor operations to star topology serial bus interfaces
US7783842B2 (en) 2003-01-09 2010-08-24 International Business Machines Corporation Cache coherent I/O communication
US6871119B2 (en) * 2003-04-22 2005-03-22 Intel Corporation Filter based throttling
US7733915B2 (en) * 2003-05-01 2010-06-08 Genesis Microchip Inc. Minimizing buffer requirements in a digital video system
US7242736B2 (en) * 2003-05-15 2007-07-10 Sun Microsystems, Inc. Data transfer
US7340548B2 (en) 2003-12-17 2008-03-04 Microsoft Corporation On-chip bus
US7237131B2 (en) 2003-12-30 2007-06-26 Intel Corporation Transaction-based power management in a computer system
US7181188B2 (en) 2004-03-23 2007-02-20 Freescale Semiconductor, Inc. Method and apparatus for entering a low power mode
US7734797B2 (en) * 2004-03-29 2010-06-08 Marvell International Ltd. Inter-processor communication link with manageability port
US7596638B2 (en) * 2004-06-21 2009-09-29 Intel Corporation Method, system, and apparatus to decrease CPU temperature through I/O bus throttling
US7353374B1 (en) 2004-06-22 2008-04-01 Xilinx, Inc. Integrated circuit with supervisory control circuit
US7610497B2 (en) 2005-02-01 2009-10-27 Via Technologies, Inc. Power management system with a bridge logic having analyzers for monitoring data quantity to modify operating clock and voltage of the processor and main memory
JP4649257B2 (ja) 2005-04-04 2011-03-09 キヤノン株式会社 マルチcpuシステム
US20060239194A1 (en) * 2005-04-20 2006-10-26 Chapell Christopher L Monitoring a queue for a communication link
US7430673B2 (en) 2005-06-30 2008-09-30 Intel Corporation Power management system for computing platform
US7484014B2 (en) * 2005-09-28 2009-01-27 Intel Corporation System for flexible and negotiable exchange of link layer functional parameters
US20070094436A1 (en) * 2005-10-20 2007-04-26 Keown William F Jr System and method for thermal management in PCI express system
US8304698B1 (en) * 2005-12-09 2012-11-06 Globalfoundries Inc. Thermal throttling of peripheral components in a processing device
US7813289B2 (en) * 2006-02-02 2010-10-12 Infineon Technologies Ag Electrical idle detection circuit including input signal rectifier
JP2007249808A (ja) 2006-03-17 2007-09-27 Canon Inc 機能拡張システム及び機能拡張機器
US8553720B2 (en) * 2006-04-19 2013-10-08 Marvell World Trade Ltd. Adaptive speed control for MAC-PHY interfaces
US7685444B2 (en) 2006-04-28 2010-03-23 Nokia Corporation Power saving in circuit functions through multiple power buses
US7739528B2 (en) 2006-06-09 2010-06-15 Broadcom Corporation Method for managing and controlling the low power modes for an integrated circuit device
EP2054807A2 (de) 2006-08-08 2009-05-06 Koninklijke Philips Electronics N.V. Elektronische vorrichtung und verfahren zur steuerung einer kommunikation
US7814371B2 (en) 2006-09-27 2010-10-12 Intel Corporation Apparatus and method for point-to-point interconnect testing
US7949794B2 (en) 2006-11-02 2011-05-24 Intel Corporation PCI express enhancements and extensions
US20080162855A1 (en) * 2006-12-29 2008-07-03 Tessil Thomas Memory Command Issue Rate Controller
US20080162748A1 (en) 2006-12-31 2008-07-03 Blaise Fanning Efficient power management techniques for computer systems
JP2008194563A (ja) 2007-02-08 2008-08-28 Sumitomo Metal Mining Co Ltd 日射遮蔽膜および波長選択型遮蔽膜
US8775701B1 (en) * 2007-02-28 2014-07-08 Altera Corporation Method and apparatus for source-synchronous capture using a first-in-first-out unit
US8219786B1 (en) * 2007-03-20 2012-07-10 Nvidia Corporation Request coalescing for instruction streams
US7734859B2 (en) * 2007-04-20 2010-06-08 Nuon, Inc Virtualization of a host computer's native I/O system architecture via the internet and LANs
EP2003534A3 (de) 2007-06-11 2009-02-18 MediaTek Inc. Verfahren und Vorrichtung zur Verringerung des Stromverbrauchs in einer integrierten Schaltung
US7809869B2 (en) * 2007-12-20 2010-10-05 International Business Machines Corporation Throttling a point-to-point, serial input/output expansion subsystem within a computing system
GB2457667B (en) 2008-02-19 2012-01-11 Advanced Risc Mach Ltd Data transfer between devices within an integrated circuit
US7783819B2 (en) 2008-03-31 2010-08-24 Intel Corporation Integrating non-peripheral component interconnect (PCI) resources into a personal computer system
US8977788B2 (en) * 2008-08-13 2015-03-10 Intel Corporation Observing an internal link via an existing port for system on chip devices
US8181059B2 (en) 2008-09-26 2012-05-15 Apple Inc. Inter-processor communication channel including power-down functionality
US20100153759A1 (en) 2008-12-15 2010-06-17 Singhal Rakshit Power gating technique to reduce power in functional and test modes
US9189049B2 (en) 2008-12-24 2015-11-17 Stmicroelectronics International N.V. Power management in a device
US8136001B2 (en) * 2009-06-05 2012-03-13 Freescale Semiconductor, Inc. Technique for initializing data and instructions for core functional pattern generation in multi-core processor
KR101283482B1 (ko) * 2009-12-11 2013-07-12 한국전자통신연구원 Pci 익스프레스 프로토콜 처리 장치
US8671234B2 (en) 2010-05-27 2014-03-11 Stmicroelectronics, Inc. Level shifting cable adaptor and chip system for use with dual-mode multi-media device
US8782456B2 (en) 2010-06-01 2014-07-15 Intel Corporation Dynamic and idle power reduction sequence using recombinant clock and power gating
US8850250B2 (en) * 2010-06-01 2014-09-30 Intel Corporation Integration of processor and input/output hub
US9146610B2 (en) * 2010-09-25 2015-09-29 Intel Corporation Throttling integrated link

Also Published As

Publication number Publication date
WO2012047600A2 (en) 2012-04-12
TW201227320A (en) 2012-07-01
CN103119572A (zh) 2013-05-22
WO2012047600A3 (en) 2012-08-16
CN103119572B (zh) 2016-04-06
US20120079159A1 (en) 2012-03-29
DE112011103225B4 (de) 2023-03-23
US9146610B2 (en) 2015-09-29
TWI476596B (zh) 2015-03-11
US20160085711A1 (en) 2016-03-24
US10241952B2 (en) 2019-03-26

Similar Documents

Publication Publication Date Title
DE112011103225B4 (de) Schaltkreisvorrichtung, System und Verfahren mit Drosseln einer integrierten Verbindung
DE112015006944B4 (de) Einrichtung, System und Verfahren zum Ermöglichen einer Kommunikation über eine Verbindung mit einer Vorrichtung außerhalb einer Baugruppe
DE112010002778B4 (de) Rauschunterdrückung zur Begrenzung von falschem Wecken
DE112013007752B3 (de) Hochleistungsverdrahtungs-Bitübertragungsschicht
KR101842568B1 (ko) 트랜잭션 버퍼링된 메모리에서의 초기 식별
DE112013001661B4 (de) Apparat, verfahren und system zur bereitstellung eines konsolidierten seitenband kommunikationskanal zwischen geräten
DE112017006687T5 (de) Hochgeschwindigkeitsverbindungen mit kanalerweiterung
DE112016003233T5 (de) Redriver-verbindungsprüfung
US8850250B2 (en) Integration of processor and input/output hub
US20130007491A1 (en) Enhanced interconnect link width modulation for power savings
US9952643B2 (en) Device power management state transition latency advertisement for faster boot time
DE102012113125A1 (de) System mit Ressourcen zur Ablaufverfolgung
DE102021118048A1 (de) Systemleistungsverwaltung in e/a-hybridsystemen mit mehreren ports
DE112016003222T5 (de) Hochleistungsfähiger repeater
DE102007052840A1 (de) Vorrichtung und Verfahren zum Umschalten einer Vorrichtung in einen Leistungssparmodus
US9632557B2 (en) Active state power management (ASPM) to reduce power consumption by PCI express components
DE202010017916U1 (de) Verbindungsenergieeinsparmodus mit Beibehaltung des Zustands
DE112019000662T5 (de) System, Vorrichtung und Verfahren für ein Handschlag-Protokoll für Niedrigleistungszustandsübergänge
DE102015202513A1 (de) Vorrichtung und Verfahren zur Datenspeicherung sowie Datenverarbeitungssystem damit
DE102009032072A1 (de) Einstellbare Senderleistung für Hochgeschwindigkeitsverbindungen mit konstanter Bitfehlerrate
DE112015006953T5 (de) Training einer gültigen lane
DE102019127444A1 (de) System, Einrichtung und Verfahren zur Verkehrsformung von Datenkommunikation über ein Interconnect
DE10224163A1 (de) Transaktionsdauermanagement in einem USB-Hostcontroller
DE112020005363T5 (de) Ethercat-controller
DE112015007278B3 (de) Verfahren, System und Vorrichtung mit einer Schnittstelle zum Koppeln von integrierten Schaltungspaketen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R081 Change of applicant/patentee

Owner name: MEDIATEK INC., TW

Free format text: FORMER OWNER: INTEL CORPORATION, SANTA CLARA, CALIF., US

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final