DE112013007650B4 - Autonomes Steuern eines Puffers eines Prozessors - Google Patents

Autonomes Steuern eines Puffers eines Prozessors Download PDF

Info

Publication number
DE112013007650B4
DE112013007650B4 DE112013007650.0T DE112013007650T DE112013007650B4 DE 112013007650 B4 DE112013007650 B4 DE 112013007650B4 DE 112013007650 T DE112013007650 T DE 112013007650T DE 112013007650 B4 DE112013007650 B4 DE 112013007650B4
Authority
DE
Germany
Prior art keywords
buffer
state
value
processor
control
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.)
Active
Application number
DE112013007650.0T
Other languages
English (en)
Other versions
DE112013007650T5 (de
Inventor
Vinu K. ELIAS
Sundar Ramani
Arvind S. Tomar
Jianjun Liu
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.)
Tahoe Research Ltd
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 DE112013007650T5 publication Critical patent/DE112013007650T5/de
Application granted granted Critical
Publication of DE112013007650B4 publication Critical patent/DE112013007650B4/de
Active 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
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3212Monitoring battery levels, e.g. power saving mode being initiated when battery voltage goes below a certain level
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/0175Coupling arrangements; Interface arrangements
    • H03K19/0185Coupling arrangements; Interface arrangements using field effect transistors only
    • H03K19/018585Coupling arrangements; Interface arrangements using field effect transistors only programmable
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/0175Coupling arrangements; Interface arrangements
    • H03K19/0185Coupling arrangements; Interface arrangements using field effect transistors only
    • H03K19/018592Coupling arrangements; Interface arrangements using field effect transistors only with a bidirectional operation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/10Aspects relating to interfaces of memory device to external buses
    • G11C2207/105Aspects related to pads, pins or terminals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1057Data output buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1084Data input buffers, e.g. comprising level conversion circuits, circuits for adapting load

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Bus Control (AREA)
  • Logic Circuits (AREA)
  • Dc Digital Transmission (AREA)

Abstract

Vorrichtung (100), umfassend:einen mit einer Logikeinheit (110) der Vorrichtung (100) gekoppelte Eingabe-/Ausgabe- bzw. E/A-Puffer (140);eine Anschlussstelle (150) zum Koppeln einer externen Einrichtung mit dem E/A-Puffer (140) der Vorrichtung (100); undeine mit dem E/A-Puffer (140) gekoppelte Steuerlogik (130), die dazu eingerichtet ist:einen Zustand an der Anschlussstelle (150) nach einem ersten Eintritt in einen Zustand mit geringer Stromaufnahme der Vorrichtung (100) abzutasten;einen ersten Steuerwert für den E/A-Puffer (140) basierend auf dem abgetasteten Zustand und dem Zustand mit geringer Stromaufnahme der Vorrichtung (100) zu bestimmen;den ersten Steuerwert in einer dem E/A-Puffer (140) zugeordneten Konfigurationsspeicherung (136) zu speichern; undals Reaktion auf einen zweiten Eintritt in den Zustand mit geringer Stromaufnahme der Vorrichtung (100) den E/A-Puffer (140) unter Verwendung des gespeicherten ersten Steuerwertes so zu steuern, dass der abgetastete Wert an der Anschlussstelle (150) aufrechterhalten bleibt.

Description

  • Stand der Technik
  • Moderne integrierte Schaltungen (ICs) sind über Pins oder Anschlussstellen, die über Verbindung mit auf einer oder mehreren Leiterplatten gerouteten Zwischenverbindungen eine Schnittstelle für das IC bilden, mit anderen Einrichtungen einer Plattform gekoppelt. Konkurrenz von elektrischen Eingangs-/Ausgangs- bzw. E/A-Anschlussstellen ist ein unerwünschter E/A-Anschlussstellenzustand, in dem mehr als eine mit der Anschlussstelle gekoppelte Einrichtung versucht, gleichzeitig entgegengesetzte Werte auf die Anschlussstelle zu legen. E/A-Anschlussstellenkonkurrenz führt zu fehlerhaftem Betrieb, Beschädigung von Hardware und einem Gleichstrom- bzw. DC-Kurzschlusspfad von einer Versorgungsspannung nach Masse, was zu einer signifikanten Vergrößerung des Standby-Leckstroms führt, was insbesondere in tragbaren Einrichtungen, die mit Batteriestrom arbeiten, unerwünscht ist.
  • WO 2003009117 A2 betrifft ein Energiesparverfahren für eine Universal Serial Bus (USB)-Verbindung zwischen einem elektronischen Gerät und einem USB-Host. Das Energiesparen wird erreicht, indem eine Signalleitung schwach im letzten Zeitzustand gehalten wird, der auf den Zustand eines externen Signals reagiert und durch diesen überwunden werden kann. Im Ruhemodus verfolgt und hält die schwach gehaltene Signalleitung das externe Signal alternativ mit einer steuerbaren schwachen Pull-up- oder Pull-down-Vorrichtung, so dass ein schwach gehaltener Zustand durch das externe Signal mit geringer Leistungsaufnahme in einen anderen Zustand gebracht werden kann. Wenn der Schlafmodus ausgeschaltet ist, wird die Haltefunktion deaktiviert und die Signalleitung je nach Zustand einer Freigabeleitung wahlweise intern oder extern angesteuert.
  • US 8564335 B1 befasst sich mit einem Chip mit integrierter Schaltung. Der Chip beinhaltet Kernschaltungen mit einem Betriebsmodus und einem Energiesparmodus sowie mindestens ein Anschlussstellenmodul. Das Anschlussstellenmodul beinhaltet eine Anschlussstelle, ein schaltbares Pull-up-Modul zum Hochziehen (Pull-up) einer Spannung auf der Anschlussstelle, wenn das schaltbare Pull-up-Modul eingeschaltet wird, ein schaltbares Pull-down-Modul zum Herunterziehen (Pull-down) der Spannung auf der Anschlussstelle, wenn das schaltbare Pull-down-Modul eingeschaltet wird, und ein Steuermodul zum Steuern des schaltbaren Pull-up-Moduls und des schaltbaren Pull-down-Moduls gemäß einer Erkennung der Spannung auf der Anschlussstelle, wenn die Kernschaltungen in den Energiesparmodus eintreten.
  • US 6624656 B1 befasst sich mit einem Verfahren und eine Struktur für eine Ein-/Ausgabeschaltung mit benutzerprogrammierbaren Funktionen. Das Verfahren für die Eingangs-/Ausgangsschaltung umfasst: Versetzen eines Ausgangspuffers in einen Tri-Zustand und Bereitstellen eines schwachen Pull-up-Signals, eines schwachen Pull-down-Signals oder eines Anschlussstellen-Signalfolgers auf einer Eingangsanschlussstelle der Eingangs-/Ausgangsschaltung.
  • US 8200954 B2 befasst sich mit einem Verfahren zum Konfigurieren einer elektronischen Vorrichtung während einer Einschaltsequenz. Das Verfahren umfasst mehrmaliges Abtasten eines Boot-Pin-Zustands und Speichern eines Wertes, der jedem abgetasteten Boot-Pin-Zustand entspricht, wobei die gespeicherten Werte einen von vier verschiedenen Zuständen für einen einzelnen Boot-Pin umfassen.
  • US 5500611 A befasst sich mit integrierten Schaltungen mit Ein-/Ausgangsanschlüssen, die mit Ein-/Ausgangsanschlussstellen verbunden sind, die Pull-up- oder Pull-down-Vorrichtungen für die Anschlüsse aufweisen. Die integrierten Schaltungen mit solchen Vorrichtungen werden durch Signale gesteuert, die von einem Kern der integrierten Schaltung abgeleitet sind und die anzeigen, ob die Schaltung zur Ausgabe eines Wertes aktiviert werden soll und mit welchem Wert des auszugebenden Signals.
  • US 20090150734 A1 befasst sich mit der Ausgestaltung eines Tri-Zustand-E/A-Anschlusses ohne Umkehrzeit. Der Tri-Zustand-E/A-Anschluss umfasst einen Tri-Zustand-Logikblock, einen schwachen Puffer und einen Verzögerungsblock. Die Eingangsanschlüsse des Tri-Zustand-Logikblocks sind mit Daten- und Ausgangsfreigabe-Signalen verbunden. Wenn das Ausgangsfreigabe-Signal aktiviert ist, wird der Ausgangsanschluss hochgezogen (Pull-up), wenn die Daten-Signale einen Hochpegel aufweisen, während der Ausgangsanschluss niedriggezogen (Pull-down) wird, wenn die Daten-Signale einen Niedrigpegel aufweisen.
  • US 7583102 B1 befasst sich mit einem Verfahren und Vorrichtung zum Testen von Ein-/Ausgabeschaltungen einer integrierten Schaltung. Die integrierte Schaltung beinhaltet Ein-/Ausgabeschaltungen mit Ein-/Ausgabeanschlussstellen, die mit einem Testerkanal gekoppelt werden. Die Ein-/Ausgabeschaltungen sind jeweils über eine Konfigurationsschaltung so konfigurierbar, dass sie sich entweder in einem ersten Modus oder einem zweiten Modus befinden, der auf eine Auswahlschaltung der Konfigurationsschaltung reagiert, die gekoppelt ist, um einen ersten Eingang für den ersten Modus und einen zweiten Eingang für den zweiten Modus zu empfangen. Die Auswahlschaltung wird als Reaktion auf ein Steuerauswahlsignal gesteuert, das für alle oder einen Teil der Auswahlschaltungen jeder der Ein-/Ausgabeschaltungen gemeinsam ist.
  • US 20130042129 A1 befasst sich mit einer Bilderzeugungsvorrichtung, die eine Speicherschnittstelleneinheit einer Steuerung in einem Niedrigenergie-Modus ausschaltet, um den Niedrigenergie-Modus zu realisieren, einem Mikrocontroller und Verfahren zum Steuern der Bilderzeugungsvorrichtung und des Mikrocontrollers. Der Mikrocontroller beinhaltet eine Speichersteuerung, die mit einem externen Speicher verbunden ist, der in einem Selbstauffrischung-Modus arbeitet, wenn ein Normal-Modus in einen Niedrigenergie-Modus wechselt, und ein voreingestelltes Signal ausgibt, das den Selbstauffrischung-Modus aufheben soll, wenn der Niedrigenergie-Modus in den Normal-Modus wechselt, eine Speicherschnittstelleneinheit, die das voreingestellte Signal an einen Hauptspeicher sendet, und einen Signaldetektor, der erkennt, ob das voreingestellte Signal ausgegeben wurde. Hier schaltet die Speichersteuerung die Speicherschnittstelleneinheit aus, wenn der Normal-Modus in den Niedrigenergie-Modus wechselt, und versorgt die Speicherschnittstelleneinheit, wenn der Niedrigenergie-Modus in den Normal-Modus wechselt, und die Ausgabe des voreingestellten Signals wird vom Signaldetektor erfasst.
  • Aufgabe und Zusammenfassung der Erfindung
  • Es kann daher als eine Aufgabe der vorliegenden Erfindung angesehen werden, eine Vorrichtung, ein System und ein Verfahren bereitzustellen, mit der/dem umständliches manuelles Debuggen, Stromversorgungs- und Funktionalitätskorrelation an einem letztendlichen Hardwareentwurf vermieden und insbesondere vom Menschen eingeführte Fehler bei der Programmierung von E/A-Konfigurationsregistern beseitigt werden können, wodurch die Produkteinführungszeit für SoC verringert werden kann.
  • Die vorstehende Aufgabe wird erfindungsgemäß mit der Vorrichtung gemäß unabhängigen Anspruch 1, dem System gemäß unabhängigen Anspruch 9 und dem Verfahren gemäß unabhängigen Anspruch 13 gelöst. Die abhängigen Ansprüche definieren Weiterbildungen der erfindungsgemäßen Vorrichtung, des erfindungsgemäßen System bzw. des erfindungsgemäßen Verfahrens.
  • Figurenliste
    • 1 ist eine Blockdarstellung eines Eingangs-/Ausgangs- bzw. E/A-Puffers gemäß einer Ausführungsform der vorliegenden Erfindung.
    • 2 ist eine Blockdarstellung einer Steuerlogikimplementierung gemäß einer Ausführungsform der vorliegenden Erfindung.
    • 3 ist ein Flussdiagramm eines Verfahrens zum Steuern eines Puffers gemäß einer Ausführungsform der vorliegenden Erfindung.
    • 4 ist eine Blockdarstellung von Operationen, die beim Abtasten, Erzeugen und Programmieren eines oder mehrerer steuerbarer Elemente eines Puffers ausgeführt werden, gemäß einer Ausführungsform der vorliegenden Erfindung.
    • 6 ist eine Blockdarstellung eines Prozessors gemäß einer Ausführungsform der vorliegenden Erfindung.
    • 7 ist eine Blockdarstellung eines Systems gemäß einer Ausführungsform der vorliegenden Erfindung.
    • 8 ist eine Blockdarstellung eines Prozessors gemäß einer anderen Ausführungsform der vorliegenden Erfindung.
  • Ausführliche Beschreibung
  • In vielen Fällen können bidirektionale Vielzweck-Eingangs-/-Ausgangs- bzw. GPIO-Anschlussstellen (General Purpose Input/Output) eines ICs wie eines Prozessors oder SoC (System on Chip) für Verwendung als Schnittstellen zu Kamera-, Modem-, Speicher- und Audioeinrichtungen neben anderen Peripherieeinrichtungen einer Plattform konfiguriert werden (Richtung - Eingang oder Ausgang, Anschlussstellenzustand - hoch oder niedrig). Im Allgemeinen wird die GPIO-Anschlussstellenkonfiguration (Zustand, Richtung und Stärke) unter Verwendung von in einem oder mehreren Steuerregistern gespeicherten Werten programmiert. Diese Register weisen Hardware-Vorgabewerte auf, die während bestimmter Architekturzustände (z.B. reset_deassertion, standby assertion und powergood_assertion) unter Verwendung von Software-/Firmwareflüssen überschrieben werden können.
  • Ein typischer SoC-Firmwarecode oder ein auf Software basierender E/A-Einrichtungstreiber wird E/A-Anschlussstellenrichtung, Pufferstärke und Standby-Zustand abhängig von seinem spezifischen Benutzungsfall konfigurieren. Der existierende GPIO-Programmierungsfluss ist jedoch zeitaufwendig und fehleranfällig, da er vollständig manuell erfolgt. Solche Programmierung beginnt damit, dass ein Leiterplatten-/Plattformteam Produktkonfigurationen entscheidet und Einrichtungen von verschiedenen Herstellern zur Verbindung mit den E/A-Anschlussstellen wählt. Das SoC-Softwareteam arbeitet dann mit den Plattformteams zusammen, um die Konfiguration zu decodieren und Steuerregisterwerte per Hand in ein in das SoC programmiertes Firmwarebild zu codieren. Eine falsch programmierte E/A-Anschlussstelle während des SoC-Standby kann zu elektrischer Anschlussstellenkonkurrenz führen, was den Leckstrom vergrößert und die Batterielebensdauer erschöpft. Eine solche falsche Programmierung kann auch selbst bei einfachen E/A-Konfigurationsänderungen schwer zu behebende Funktionsausfallfälle während eines SoC-Herauffahrens verursachen.
  • Ausführungsformen detektieren und konfigurieren korrekt den E/A-Anschlussstellenzustand auf der Basis eines aktuellen Architekturzustands. Folglich können umständliches manuelles Debuggen, Stromversorgungs- und Funktionalitätskorrelation an einem letztendlichen Hardwareentwurf vermieden werden. Genauer gesagt können ein GPIO-Anschlussstellenwert und eine GPIO-Anschlussstellenrichtung zumindest während bestimmter Architekturzustände, wie etwa dem Standby-Zustand, autonom gesteuert und erzeugt werden. Die Technik ist bezüglich des E/A-Anschlussstellenbenutzungsfalls auf der Plattform adaptiv und steuert nur die architekturbezogen und elektrisch korrekten E/A-Anschlussstellenzustände an. Eine Technik gemäß einer Ausführungsform kann in Hardware unter Verwendung eines Automaten (FSM - Finite State Machine) implementiert und in einen E/A-Controller integriert werden. Automatisierung und Hardwaresteuerung ermöglicht, dass das Abtast- und Ansteuerschema adaptiv und korrekt ist und eine schnelle Umsetzungszeit erzielt wird. Durch Vermeidung von elektrischer Anschlussstellenkonkurrenz wird unnötiger Leckstrom eliminiert. Unter Verwendung einer Ausführungsform der vorliegenden Erfindung kann ein Controller Konfigurationen von E/A-Anschlussstellen intelligent anpassen oder herrichten.
  • Eine bidikretionale GPIO-Anschlussstelle kann mehrere Treiber aufweisen. Im Kontext eines SoC kann die Anschlussstelle durch die SoC-Seite oder Endpunkteinrichtungen auf der Leiterplatte angeordnet werden. Wenn eine E/A-Anschlussstelle hoch angesteuert wird, sollte das SoC nicht versuchen, ein Niedrig auf die Anschlussstelle zu legen, z.B. über Verwendung einer Pulldown-Einrichtung, und umgekehrt. Ausführungsformen wirken zum Abtasten einer E/A-Anschlussstellenspannung vor dem Ansteuern eines Zustands auf die Anschlussstelle unter Verwendung einer oder mehrerer Weakpull-Impedanzeinrichtungen auf eine Weise, die sicherstellt, dass keine elektrische Anschlussstellenkonkurrenz entsteht.
  • Auf diese Weise wird die Notwendigkeit intensiver manueller Bemühungen zum Programmieren von GPIO-Anschlussstellen vermieden. Wie oben kurz beschrieben wurde, umfasst diese manuelle Programmierung im Allgemeinen Zusammenarbeit zwischen technischen Leiterplatten-Plattformteams und technischen Softwareteams. Nachdem ein gewünschter Anschlussstellenwert durch manuelles Prüfen eines Datenblatts und von elektrischen Schnittstellenspezifikationen erfasst ist, wird er in das SoC programmiert. Mehrere Teams arbeiten zusammen und durchlaufen mehrmals Schritte, bis eine stromversorgungsoptimierte und funktionsmäßig stabile Einstellung erreicht ist. Dieser Prozess ist sehr zeitaufwendig und wird wiederholt, wenn ein anderer Einrichtungshersteller ausgewählt wird oder sich die Leiterplattenkonfiguration auch nur geringfügig ändert. Ausführungsformen passen sich stattdessen ungeachtet der Leiterplattenkonfiguration oder Einrichtungswahl an den stabilen E/A-Anschlussstellenzustand an. Die E/-A-Spannung wird abgetastet, bevor das SoC in irgendeinen Architekturzustand, z.B. System-Standby-Zustand, reset-deassertion usw. eintritt, und es wird ein geeigneter Wert an die Anschlussstelle angesteuert.
  • Nunmehr mit Bezug auf 1 ist eine Blockdarstellung eines Eingangs-/Ausgangs- bzw. E/A-Puffers gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. Wie in 1 gezeigt, ist der Puffer 10 ein Vielzweck-E/A-Puffer (GPIO). Der GPIO-Puffer 10 weist einen kundenspezifischen Analog-Frontend- bzw. AFE-Schaltungsblock auf, der durch digitale Signale gesteuert werden kann. Obwohl hier beschriebene Ausführungsformen Vielzweck-E/A-Puffer betreffen, ist zu beachten, dass der Schutzumfang der vorliegenden Erfindung in dieser Hinsicht nicht beschränkt ist und dass die hier beschriebenen Steuermechanismen gleichermaßen für andere Arten von Puffern gelten. Im Allgemeinen koppelt der Puffer 10 Signalinformationen zwischen einer oder mehreren Logikeinheiten eines ICs, von dem der Puffer ein Teil ist, und einer oder mehreren anderen Einrichtungen, die über eine bestimmte Art von Zwischenverbindung mit dem IC gekoppelt sind. Für die Zwecke der Besprechung nehme man an, dass der E/A-Puffer 10 Teil eines Prozessors, wie etwa eines Mehrkernprozessors, SoC oder einer anderen Art von Prozessoreinrichtung ist. Weiterhin nehme man an, dass der Prozessor über eine Zwischenverbindung, die z.B. auf einer Leiterplatte des Systems geroutet ist, mit einem anderen IC oder einer anderen Einrichtung eines Systems gekoppelt ist.
  • In einer Senderichtung werden über den E/A-Puffer 10 zu übermittelnde Informationen als Sendedaten (tx_data) in einem Sender 20 empfangen, der das Signal aufbereitet und es über eine E/A-Anschlussstelle 50 ausgibt, die eine beliebige Art von E/A-Pin, Oberflächenanbringungsanschlussstelle oder eine beliebige andere Art von leitfähigem Element des Prozessors zur Kopplung mit einer Zwischenverbindung sein kann. Um Sendekommunikation zu ermöglichen, wird ein Sendefreigabesignal (tx_enable) mit dem Sender 20 gekoppelt, um es dem Sender zu ermöglichen, einen starken logisch hohen oder niedrigen Wert auf die Anschlussstelle 50 anzusteuern. Wie weiter ersichtlich ist, sind, um zu ermöglichen, dass bestimmte Zustände auf einer E/A-Leitung 25 vorliegen, die den Sender 20 mit der Anschlussstelle 50 koppelt, ferner eine Pullup-Impedanz 30 und eine Pulldown-Impedanz 40 an einem mit einem mit dem Sender 20 gekoppelten Ausgang gekoppelten Knoten 45 mit der Leitung 25 gekoppelt. Diese Impedanzeinrichtungen, die bei einer Ausführungsform unter Verwendung von Weakpull-Widerständen, die z.B. einen Wert zwischen ungefähr 2 und 50 Kiloohm aufweisen, implementiert werden, werden über Steuersignale (weakpullup_enable bzw. weakpulldown_enable) gesteuert, um die Anschlussstelle 50 auf einem logisch hohen bzw. niedrigen Wert zu ziehen. Zu diesem Zweck kann die Pullup-Impedanz 30 schaltbar (z.B. über einen Metalloxid-Halbleiterfeldeffekttransistor (MOSFET) oder eine andere Art von Schalter) zwischen einen (nicht gezeigten) Versorgungsspannungsknoten und den Ausgangsknoten geschaltet werden, wenn sie freigegeben ist. Und die Pulldown-Impedanz 40 kann schaltbar (z.B. über einen MOSFET oder einen anderen Art von Schalter) zwischen einen Referenzspannungsknoten (typischerweise Masse) und den Ausgangsknoten geschaltet werden, wenn sie freigegeben ist.
  • Wie weiter in 1 zu sehen ist, ermöglicht der E/A-Puffer 10 Empfang ankommender Signalinformationen von einer anderen Komponente eines Systems über die Anschlussstelle 50. Genauer gesagt werden die ankommenden Informationen durch einen Empfänger 60, der die ankommenden Signalinformationen in Form von empfangenen Daten (rx_data) bereitstellt, mit einer gegebenen oder mehreren Logikeinheiten des Prozessors gekoppelt. Der Empfänger 60 wird durch ein anderes Steuersignal (rx_enable) freigegeben, um dem Empfänger zu ermöglichen, einen Eingangspfad von der Anschlussstelle 50 bereitzustellen. Obwohl es bei der Ausführungsform von 1 auf diesem hohen Niveau gezeigt ist, versteht sich, dass der Schutzumfang der vorliegenden Erfindung in dieser Hinsicht nicht beschränkt ist und Varianten des Puffers möglich sind.
  • Nunmehr mit Bezug auf 2 ist eine Blockdarstellung einer Steuerlogikimplementierung gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. Wie in 2 gezeigt, ist die Schaltung 100 Teil eines Prozessors, wie etwa ein Teil eines E/A-Controllers, der den Prozessor mit einer oder mehreren anderen Einrichtungen in einem System koppelt. Im Allgemeinen liegt für einen Funktionsbetriebsmodus eine Logikschaltung 110 vor, die eine beliebige Art von Logikeinheit des Prozessors sein kann (wie etwa ein Kern, eine Festfunktionseinheit oder ein anderer Generator oder Verbraucher von E/A-Signalen). In vielen Fällen versucht die Schaltung 110, Informationen während eines Normal-Funktionsbetriebsmodus auszugeben oder zu empfangen. Dementsprechend kommunizieren die Signale zwischen einer Logikschaltung 110 und einer zwischen die Schaltung 110 und einen E/A-Puffer 140, der bei der Ausführungsform von 2 ein GPIO-Puffer ist, geschalteten Puffersteuerlogik 130. Die Logik 130 und der Puffer 140 können im Allgemeinen Teil eines E/A-Controllers des Prozessors sein, der Teil eines Uncore-Teils des Prozessors sein kann.
  • Wie nachfolgend weiter beschrieben wird, kann die Puffersteuerlogik 130 in verschiedenen Betriebsarten arbeiten, um einen Signalkommunikationspfad zwischen der Logikschaltung 110 und einer anderen Einrichtung bereitzustellen, die über eine E/A-Anschlussstelle 150 mit dem Prozessor gekoppelt ist. In anderen Betriebsarten, z.B. einem gegebenen Architektur- oder Mikroarchitekturzustand wie Hochfahr-, Reset- und Standby-Suspendierungszuständen, kann die Puffersteuerlogik 130 auf der Basis einer von verschiedenen Quellen von Informationen abhängig von der Betriebsart den Puffer 140 dazu steuern, einen bestimmten Wert auf einer E/A-Leitung 145 aufzuweisen. Ausführungsformen automatisieren somit den Prozess des Bestimmens der E/A-Anschlussstellenkonfiguration, wenn das SoC in einem gegebenen Architektur- oder Mikroarchitekturzustand eintritt, und vermeiden elektrische Anschlussstellenkonkurrenz, um den kleinstmöglichen E/A-Leckstrom zu erzielen.
  • In einigen Fällen kann in einem Standby- oder Suspendierungsmodus ein software- oder firmwaregesteuerter Wert über einen alternativen Steuerpfad 120 bereitgestellt werden. In anderen Fällen kann für bestimmte Architekturzustände ein auf Abtastung basierender Ansatz verwendet werden, so dass die Puffersteuerlogik 130 einen Wert an der E/A-Anschlussstelle 150 bestimmt und den E/A-Puffer 140 dazu steuert, ein Signal zum Replizieren dieses Werts zu erzeugen, so dass keine elektrische Konkurrenz auftritt.
  • Wie weiter in 2 zu sehen ist, wird die Puffersteuerlogik 130, die Hardware, Firmware und/oder Software oder Kombinationen davon sein kann, aus verschiedenen Logikbestandteilen gebildet. Diese Logiken umfassen eine Abtastlogik 132, die dafür ausgelegt ist, den Zustand der Anschlussstelle 150 (und/oder den Zustand auf der Signalleitung 145) abzutasten. Die Puffersteuerlogik 130 umfasst ferner eine Modussteuerlogik 134, die einen gegebenen Modus bestimmt, in dem der Prozessor betrieben wird, und diese Informationen einer Steuerwerterzeugungslogik 138 bereitstellt, die geeignete Steuerwerte für einen oder mehrere Steuereingänge des Puffers 140 bestimmt, um die Bereitstellung eines geeigneten Werts an der Anschlussstelle 150 zu ermöglichen. Wie weiter gezeigt ist, kann auch eine Konfigurationsspeicherung 136 in die Puffersteuerlogik 130 aufgenommen werden. Wie hier beschrieben werden wird, kann eine solche Konfigurationsspeicherung mehrere Felder jeweils zum Speichern von Steuerinformationen für einen oder mehrere steuerbare Werte für den Puffer 140 umfassen.
  • Bezüglich des Puffers 140 ist er ähnlich wie der Puffer 10 von 1 konfiguriert. Dementsprechend ist ein Sender 142 gezeigt, mit einer Pullup-Impedanz 146 und einer Pulldown-Impedanz 148, gekoppelt mit einem Ausgangsknoten 143 auf der Signalleitung 145, die ihrerseits mit der EA-Anschlussstelle 150 gekoppelt ist.
  • Wie in 2 weiter dargestellt ist, kann die Puffersteuerlogik 130 ferner verschiedene Architektur- und Mikroarchitektur-Zustandsinformationssignale empfangen. Bei der gezeigten Ausführungsform gehören zu den Architekturzuständen ein Power-Good-Assertion-Zustand, ein Reset-Deassertion-Zustand und ein Netztastenzykluszustand. Bei einer beispielhaften Ausführungsform kann die Puffersteuerlogik 130 bewirken, dass in diesen Zuständen der Anschlussstelle 150 bestimmte Werte bereitgestellt werden. Natürlich können zusätzliche Architekturzustände anwesend sein und können bewirken, dass der Anschlussstelle 150 bestimmte andere Werte bereitgestellt werden. Weiterhin können bestimmte Mikroarchitektur-Stromversorgungszustände während des Betriebs auftreten, und Informationen bezüglich dieser Zustände können auch der Puffersteuerlogik 130 bereitgestellt werden. Diese Informationen können ihrerseits auch bewirken, dass die Puffersteuerlogik 130 an der Anschlussstelle 150 geeignete Werte vorlegt. Es versteht sich, dass, obwohl sie bei der Ausführungsform von 2 mit dieser konkreten Implementierung gezeigt ist, der Schutzumfang der vorliegenden Erfindung in dieser Hinsicht nicht beschränkt ist. Zum Beispiel beziehen sich die Schaltkreise von 1 auf einen einzigen E/A-Puffer. Ähnliche Schaltkreise können für jeden solchen Puffer bereitgestellt werden, oder es kann zentralisierte Steuerlogik mit entsprechenden Steuerregistern bereitgestellt werden, um allen Puffern gerecht zu werden.
  • Mit dem Abtast- und Ansteuerschema kann man während eines Standbymodus die E/A-Anschlussstelle 150 konfigurieren. In einem Funktionsmodus und anderen Architekturzuständen gewährleistet die Logik 130 die Flexibilität, einen durch Software/Firmware gesteuerten Ansatz oder veralteten Ansatz zu verwenden, z.B. Verwendung eines Übersteuerungs- oder Bypass-Steuerbit. Bei einer Ausführungsform kann die Logik 130 die Weakpull-Impedanzen (Up/Down) von der Anschlussstelle während des aktiven Modus sperren, um dabei zu helfen, sowohl den aktiven Strom zu verringern als auch die Signalintegrität zu verbessern. Eine solche Steuerung kann realisiert werden, da die Logik 130 die Einrichtungen mit sehr geringer Latenz bei Architekturzustandsänderungen, in denen die Einrichtungen verwendet werden sollen, wieder freigeben kann.
  • Nunmehr mit Bezug auf 3 ist ein Flussdiagramm eines Verfahrens zum Steuern eines Puffers gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. Wie in 3 gezeigt, kann das Verfahren 200 mindestens teilweise unter Verwendung von dem Puffer zugeordneter Puffersteuerlogik implementiert werden. Für die Zwecke der Besprechung des Verfahrens 200 nehme man an, dass eine Einrichtung (wie etwa ein Prozessor oder SoC) in einem Normalfunktionsmodus arbeitet, so dass der Puffer entweder nur in einer Senderichtung, nur in einer Empfangsrichtung oder in einer kombinierten Sende-/Empfangsrichtung mit einer anderen Einrichtung kommuniziert (Block 210). Bei einem Sendebetriebsmodus werden abgehende Signalinformationen von einer gegebenen Logikeinheit der Einrichtung zur Kopplung durch den E/A-Puffer empfangen. Ähnlich werden bei einem Empfangsbetriebsmodus ankommende Signalinformationen durch den E/A-Puffer bereitgestellt für eine gegebene Logikeinheit der Einrichtung. In diesem Normalbetriebsmodus arbeitet die Puffersteuerlogik somit im Allgemeinen, um zu erlauben, dass von einer Logikeinheit empfangene Signalinformationen den E/A-Puffer durchlaufen und umgekehrt. Man beachte, dass die Weakpull-Einrichtungen während des Funktionsmodus beim Eintritt in einen aktiven Modus mit einer geringstmöglichen Latenz gesperrt werden können, wodurch Konkurrenz- und Signalintegritätsprobleme vermieden werden.
  • Als nächstes wird bestimmt, ob eine Angabe einer Zustandsänderung empfangen wurde (Raute 220). Eine solche Zustandsänderung kann einer Architektur- und/oder Mikroarchitektur-Zustandsänderung entsprechen. Eine Architekturzustandsänderung entspricht im Allgemeinen einer Zustandsänderung einer gesamten Einrichtung, die dem System als Ganzes sichtbar ist, während eine Mikroarchitektur-Zustandsänderung eine Änderung sein kann, die nur für einen Teil einer Einrichtung relevant ist, wie etwa eine Stromversorgungszustandsänderung für einen gegebenen Kern oder anderen Teil einer Einrichtung. Dementsprechend können in einem Mikroarchitekturzustand jeweils Anschlussstellen- oder Anschlussstellen-Cluster-Zustände abhängig vom Zustand des Controllers unterschiedlich sein. Man beachte, dass unter Verwendung der hier beschriebenen Logik ein dem gesamten System sichtbarer globaler Architekturzustand einen Mikroarchitektur-Anschlussstellenzustandswert übersteuern kann.
  • Wenn keine solche Angabe empfangen wird, wird im Block 210 der Normalbetrieb fortgesetzt. Wenn dagegen bestimmt wird, dass eine Zustandsänderung auftritt, wird die Steuerung an Block 230 abgegeben, in dem ein an der entsprechenden E/A-Anschlussstelle vorliegender Wert abgetastet wird. Bei einer Ausführungsform kann der Wert über einen Empfänger des E/A-Puffers abgetastet werden. Unter Verwendung der hier beschriebenen Steuerlogik können Anschlussstellenzustände flexibel in spezifischen Architekturzuständen abgetastet oder periodisch abgetastet werden.
  • Als nächstes wird bestimmt, ob ein autonomer Steuermodus übersteuert werden soll (Raute 240). Ein solcher autonomer Steuermodus kann in Situationen durchgeführt werden, in denen die Puffersteuerlogik automatisch einen auf die E/A-Anschlussstelle anzusteuernden geeigneten Wert bestimmt. Wenn dieser Modus übersteuert werden soll, wird die Steuerung an Block 260 abgegeben, indem ein oder mehrere Steuerwerte für Felder einer Konfigurationsspeicherung auf der Basis bestimmter Vorgabesteuerwerte für den angegebenen Zustand gesetzt werden können. Das heißt, wenn der autonome Modus übersteuert wird, können der Konfigurationsspeicherung software- und/oder firmwaregesteuerte Werte bereitgestellt werden. Man beachte, dass diese Konfigurationsspeicherung ein oder mehrere Felder zum Speichern von Steuerwerten umfasst, die ihrerseits zur Steuerung des E/A-Puffers verwendet werden. Wenn dagegen bestimmt wird, dass der autonome Steuermodus nicht übersteuert werden soll, wird die Steuerung am Block 250 abgegeben, in dem auf der Basis des abgetasteten Werts ein oder mehrere Steuerwerte für die Konfigurationsspeicherungsfelder gesetzt werden können.
  • In jedem Fall wird die Steuerung als nächstes an Block 270 abgegeben, in dem aus der Konfigurationsspeicherung erhaltene Steuerwerte auf den E/A-Puffer angesteuert werden können. Durch Ansteuern dieser Steuersignale auf den E/A-Puffer kann ein gewünschter Wert an der E/A-Anschlussstelle erhalten werden. Genauer gesagt kann bei Ausführungsformen dieser gewünschte Wert einem an dieser Anschlussstelle abgetasteten Wert entsprechen. Auf diese Weise wird elektrische Konkurrenz und/oder ein unerwünschter Leckpfad vermieden, wodurch verringerter Stromverbrauch, z.B. in einem Standby- oder anderen Modus mit geringer Stromaufnahme, ermöglicht wird. Obwohl sie bei der Ausführungsform von 3 auf diesem hohen Niveau gezeigt ist, versteht sich, dass der Schutzumfang der vorliegenden Erfindung nicht in dieser Hinsicht beschränkt ist. Man beachte, dass das Verfahren von 200 unabhängig für jeden zu steuernden Puffer wie hier beschrieben ausgeführt werden kann.
  • Nunmehr mit Bezug auf 4 ist eine Blockdarstellung, die Operationen aufführt, die beim Abtasten, Erzeugen und Programmieren eines oder mehrerer steuerbarer Elemente eines Puffers ausgeführt werden, gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. Wie in 4 gezeigt, kann das Verfahren 300 durch eine Logik ausgeführt werden, die einem E/A-Puffer zugeordnet ist, wie etwa eine Logikeinheit eines E/A-Controllers eines Prozessors oder SoC.
  • Wie in 4 gezeigt, beginnt das Verfahren 300 mit dem Abtasten und Bestimmen eines oder mehrerer Steuerwerte auf der Basis der Abtastung (Block 310). Spezieller können verschiedene Schritte ausgeführt werden, um auf den auf der Anschlussstelle anwesenden Wert vorzubereiten und ihn abzutasten und dann auf der Basis dieses abgetasteten Werts einen Steuerwert zu bestimmen. Bei einer Ausführungsform kann die Anschlussstelle zuerst in den Tristate-Zustand versetzt werden, um sicherzustellen, dass der Prozessor keinerlei Zustand auf die Anschlussstelle ansteuert (Block 312). Bei einer Ausführungsform kann dieser Tristate-Zustand realisiert werden durch Prüfung, um sicherzustellen, dass der TX-Freigabesteuerpin des E/A-Puffers zurückgesetzt ist. Als nächstes kann in Block 314 der Zustand der Anschlussstelle abgetastet werden. Bei einer Ausführungsform kann das Abtasten unter Verwendung eines Empfängerpfads des E/A-Puffers durchgeführt werden, um den Wert zu erhalten. Dieser Wert kann in einem Register als ein RX-Eingangswert gespeichert werden, um den Anschlussstellenzustand zu bestimmen. Dieser Wert kann dann später zur Bezugnahme registriert werden.
  • Auf der Basis des Zustands der Anschlussstelle können verschiedene Steuerwerte bestimmt werden. In dem gezeigten Beispiel kann, wenn die Abtastung einen niedrigen Wert angibt, ein steuerbares Pulldown-Element freigegeben werden (Block 316). Wenn stattdessen ein hoher Wert angegeben wird, kann ein steuerbares Pullup-Element freigegeben werden (Block 318). Und wenn die Anschlussstelle in einer gegebenen Systemkonfiguration unbenutzt ist (was bedeutet, dass keine aktive Verbindung mit der Anschlussstelle in einer gegebenen Plattform vorliegt), wird ein Vorgabe-Standby-Zustand freigegeben (Block 319). Bei einer Ausführungsform kann der Standby-Zustand implementiert werden, indem man das steuerbare Pulldown-Element freigibt und einen Empfänger des E/A-Puffer zur Aufwachunterstützung freigibt. Auf diese Weise wird die Konfiguration mit dem geringstmöglichen Lecken für die Anschlussstelle realisiert.
  • Als nächstes können auf der Basis der bestimmten Steuerwerte mögliche Anschlussstellenwertzustände erzeugt werden (Block 320). Auf der Basis der bestimmten Steuerwerte kann in Block 322 eine Anschlussstellenwertrichtlinie gesetzt werden. Bei einer Ausführungsform kann pro Anschlussstelle ein 2-Bit-Feld bereitgestellt werden, um sowohl Richtung als auch Wert anzugeben. Bei einer solchen Ausführungsform bezeichnet ein höchstwertiges Bit, ob die Anschlussstelle als eine Eingangs- oder Ausgangsanschlussstelle gesteuert wird, und das niedrigstwertige Bit gibt an, ob der Wert auf der Anschlussstelle ein hoher oder niedriger Wert sein soll. Die nachfolgende Tabelle 1 zeigt beispielhafte Werte für eine E/A-Anschlussstellenwertrichtlinie gemäß einer Ausführungsform. Tabelle 1
    00 Ausgang, Hoch
    01 Ausgang, Niedrig
    10 Eingang, Hoch
    11 Eingang, Niedrig
  • Als nächstes wird in Block 324 bestimmt, ob eine Übersteuerungs- oder Backup-Option freigegeben ist. Eine solche Übersteuerungs- oder Backup-Option kann durch Software oder Firmware steuerbar sein, die ausgeführt wird, um anzugeben, dass eine Übersteuerung erwünscht ist. Zusätzlich zu der Bereitstellung eines Aktiv-Übersteuerungsindikators kann man z.B. aus einer geeigneten Speicherung Vorgabe-Steuerwerte erhalten. Dann können in Block 326 End-Anschlussstellenkonfigurationswerte für ein oder mehrere Puffersteuerregister abgebildet werden. Bei anderen Ausführungsformen können unterschiedliche Mengen an Steuerregistern vorliegen. In einigen Fällen ist ein einziges Steuerregister anwesend, das Felder für jedes steuerbare Element des Puffers umfasst, während bei anderen Implementierungen mehrere Konfigurationsregister bereitgestellt werden können, die jeweils ein einem gegebenen steuerbaren Element zugeordnetes Feld umfassen.
  • Unter weiterer Bezugnahme auf 4 kann als nächstes in Block 330 ein Anschlussstellensteuerregister unter Verwendung der End-Anschlussstellenkonfigurationswerte programmiert werden. In dem Beispiel von 4 nehme man die Anwesenheit eines einzigen Anschlussstellensteuerregisters an, das mehrere Felder umfasst, nämlich ein Sendefreigabefeld 332, ein Empfangsfreigabefeld 334, ein Pulldown-Freigabefeld 336 und ein Pullup-Freigabefeld 338. Bei einer Ausführungsform speichern diese Felder Steuerwerte zum Steuern der dem E/A-Puffer von 1 zugeführten Signale. Auf der Basis der letztendlich abgebildeten Konfigurationswerte werden somit diese Felder des Anschlussstellensteuerregisters programmiert.
  • Als Folge können diese Werte gesendet werden, um die entsprechenden steuerbaren Elemente des Puffers zu steuern, um zu ermöglichen, dass sich der Puffer in dem gewünschten Zustand befindet. Zum Beispiel kann im Fall eines Standbymodus oder eines anderen Modus mit geringer Stromaufnahme der E/A-Puffer dafür ausgelegt sein, denselben Wert auf der Anschlussstelle zu präsentieren, wie der abgetastete, unter der Annahme, dass kein Übersteuerungs- oder Backup-Modus ausgewählt wird. Obwohl sie bei der Ausführungsform von 4 auf diesem hohen Niveau gezeigt ist, versteht sich, dass der Schutzumfang der vorliegenden Erfindung in dieser Hinsicht nicht beschränkt ist.
  • Ausführungsformen beseitigen vom Menschen eingeführte Fehler bei der Programmierung von E/A-Konfigurationsregistern und helfen dabei, die Produkteinführungszeit für das SoC zu verringern. Außerdem wird die E/A-Pufferanschlussstellenprogrammierung abgestimmt, um sich an den GPIO-Schaltungspufferentwurf anzupassen und mögliche verfügbare Zustandswerte einzuschränken. Indem Power-Management-Logik in einem E/A-Controller wie hier beschrieben bereitgestellt wird, kann eine Stromentnahme aufgrund von E/A-Anschlussstellenkonkurrenz vermieden werden.
  • Nunmehr mit Bezug auf 5 eine Blockdarstellung von in einem Computersystem anzutreffenden Komponenten gemäß einer Ausführungsform der vorliegenden Erfindung. Wie in 5 gezeigt, kann das System 400 eine beliebige Kombination von Komponenten umfassen. Diese Komponenten können als ICs, Teile davon, diskrete elektronische Einrichtungen oder andere Module, Logik, Hardware, Software, Firmware oder eine Kombination davon, ausgelegt in einem Computersystem, oder als Komponenten, die anderweitig in ein Chassis des Computersystems integriert sind, implementiert werden. Man beachte außerdem, dass die Blockdarstellung von 5 eine Ansicht vieler Komponenten des Computersystems auf hoher Ebene zeigen soll. Es versteht sich jedoch, dass bei anderen Implementierungen einige der gezeigten Komponenten weggelassen werden können, zusätzliche Komponenten vorliegen können und eine andere Anordnung der gezeigten Komponenten auftreten kann.
  • Wie in 5 zu sehen ist, umfasst ein Prozessor 410 bei einer Ausführungsform einen Mikroprozessor, einen Mehrkernprozessor, einen Mehr-Thread-Prozessor, einen Prozessor mit ultrakleiner Spannung, einen eingebetteten Prozessor oder ein anderes bekanntes Verarbeitungselement. Bei der dargestellten Implementierung wirkt der Prozessor 410 als Hauptverarbeitungseinheit und zentraler Verteiler für Kommunikation mit vielen der verschiedenen Komponenten des Systems 400. Als ein Beispiel wird der Prozessor 400 als ein SoC (System on a Chip) implementiert. Als ein spezifisches Anschauungsbeispiel kann der Prozessor 410 ein Prozessor auf der Basis des Intel® Architecture Core™ sein, wie etwa ein i3, i5, i7 oder ein anderer solcher Prozessor, der von der Intel Corporation, Santa Clara, CA erhältlich ist. Stattdessen können bei anderen Ausführungsformen jedoch andere Prozessoren mit geringer Stromaufnahme anwesend sein, wie etwa erhältlich von Advanced Micro Devices, Inc. (AMD) in Sunnyvale, CA, ein auf ARM basierender Entwurf von der ARM Holdings, Ltd. oder einem Kunden davon oder ein auf MIPS basierender Entwurf von MIPS Technologies, Inc. in Sunnyvale, CA, oder ihre Lizenzenten oder Verwender, wie etwa ein Apple-A5-Prozessor, ein Qualcomm-Snapdragon-Prozessor oder ein TI-OMAP-Prozessor. Bestimme Einzelheiten hinsichtlich der Architektur und Funktionsweise des Prozessors 410 bei einer Implementierung werden später weiter besprochen.
  • Der Prozessor 410 kommuniziert bei einer Ausführungsform mit einem Systemspeicher 415. Als Anschauungsbeispiel wird der Systemspeicher 415 über mehrere Speichereinrichtungen oder -module zur Bereitstellung einer gegebenen Menge an Systemspeicher implementiert. Bei einer Ausführungsform ist der Speicher gemäß einem auf LPDDR (Low Power Double Data Rate) basierendem Entwurf des JEDEC (Joint Electron Devices Engineering Council) betreibbar, wie etwa dem aktuellen LPDDR2-Standard gemäß JEDEC, JESD 209-2E (veröffentlicht im April 2009), oder einem LPDDR-Standard der nächsten Generation, der als LPDDR3 oder LPDDR4 zu bezeichnen sein wird, der Erweiterungen von LPDDR2 bieten wird, um die Bandbreite zu vergrößern. Beispielsweise können 2/4/8/12/16 Gigabyte (GB) Systemspeicher vorliegen und können über eine oder mehrere Speicherzwischenverbindungen mit dem Prozessor 410 gekoppelt werden. Bei verschiedenen Implementierungen können die einzelnen Speichereinrichtungen verschiedene Kapselungstypen aufweisen, wie etwa SDP (Single Die Package), DDP (Dual Die Package) oder QDP (Quad Die Package). Diese Einrichtungen werden bei einigen Ausführungsform direkt auf ein Motherboard gelötet, um eine Lösung mit niedrigerem Profil bereitzustellen, während die Einrichtungen bei anderen Ausführungsformen als ein oder mehrere Speichermodule ausgelegt sind, die ihrerseits durch einen gegebenen Verbinder mit dem Motherboard gekoppelt sind.
  • Zur Bereitstellung von persistenter Speicherung von Informationen wie Daten, Anwendungen oder ein oder mehrere Betriebssystem und so weiter kann eine Massenspeicherung 420 auch mit dem Prozessor 410 gekoppelt sein. Bei verschiedenen Ausführungsformen kann zur Ermöglichung eines dünneren und leichteren Systementwurfs sowie zur Verbesserung des Systemansprechverhaltens diese Massenspeicherung über ein SSD implementiert werden. Bei anderen Ausführungsformen kann die Massenspeicherung jedoch hauptsächlich unter Verwendung eines Festplattenlaufwerks (HDD) mit einer kleineren Menge an SSD-Speicherung zum Wirken als SSD-Cache implementiert werden, um nichtflüchtige Speicherung des Kontextzustands und anderer solcher Informationen während Herunterfahrereignissen zu ermöglichen, so dass bei erneuter Einleitung von Systemaktivitäten ein schnelles Herauffahren auftreten kann. Wie auch in 5 gezeigt ist, kann eine Flash-Einrichtung 422 z.B. über SPI (Serial Peripheral Interface) mit dem Prozessor 410 gekoppelt sein. Diese Flash-Einrichtung kann nichtflüchtige Speicherung von Systemsoftware bereitstellen, darunter ein BIOS (Basic Input Basic Output Software) sowie andere Firmware des Systems.
  • Es können verschiedene Einrichtungen für Eingabe/Ausgabe (E/A) in dem System 400 vorliegen. Bei verschiedenen Ausführungsformen kann mindestens ein Teil der Einrichtungen über wie hier beschrieben gesteuerte E/A-Puffer mit dem Prozessor 410 gekoppelt sein. Speziell ist in der Ausführungsform von 5 eine Anzeige 424 gezeigt, die ein hochauflösendes LCD- oder LED-Panel sein kann, das mit einem Klappenteil des Chassis konfiguriert ist. Dieses Anzeigepanel kann auch einen Berührungsschirm 425 bereitstellen, der z.B. extern über dem Anzeigepanel ausgelegt ist, so dass über die Interaktion eines Benutzers mit diesem Berührungsschirm dem System Benutzereingaben bereitgestellt werden können, um gewünschte Operationen, z.B. mit Bezug auf die Anzeige von Informationen, Zugreifen auf Informationen usw., zu ermöglichen. Bei einer Ausführungsform kann die Anzeige 424 über eine Anzeigezwischenverbindung mit dem Prozessor 410 gekoppelt sein, die als eine Hochleistungs-Grafikzwischenverbindung implementiert werden kann. Der Berührungsschirm 425 kann über eine andere Zwischenverbindung mit dem Prozessor 410 gekoppelt sein, die bei einer Ausführungsform eine I2C-Zwischenverbindung sein kann. Wie weiter in 5 gezeigt, kann zusätzlich zu dem Berührungsschirm 425 auch Benutzereingabe mittels Berührung über ein Touchpad 430 auftreten, das in dem Chassis konfiguriert und auch mit derselben I2C-Zwischenverbindung wie der Berührungsschirm 425 gekoppelt sein kann.
  • Für wahrnehmungsbezogene Datenverarbeitung und andere Zwecke können verschiedene Sensoren in dem System vorliegen und können auf verschiedene Weisen mit dem Prozessor 410 gekoppelt sein. Bestimmte Trägheits- und Umgebungssensoren können mittels eines Sensorverteilers 440, z.B. über eine I2C-Zwischenverbindung, mit dem Prozessor 410 gekoppelt sein. Bei der in 5 gezeigten Ausführungsform umfassen diese Sensoren einen Beschleunigungsmesser 441, einen Umgebungslichtsensor (ALS) 442, einen Kompass 443 und einen Kreisel 444. Andere Umgebungssensoren können einen oder mehrere thermische Sensoren 446 umfassen, die bei einigen Ausführungsformen über einen SMBus-Bus (System Management Bus) mit dem Prozessor 410 gekoppelt sind.
  • Unter Verwendung der verschiedenen in einer Plattform vorhandenen Trägheits- und Umgebungssensoren können verschiedene Benutzungsfälle realisiert werden. Diese Benutzungsfälle ermöglichen fortschrittliche Datenverarbeitungsoperationen, darunter wahrnehmungsbezogene Datenverarbeitung, und erlauben somit Verbesserungen hinsichtlich Powermanagement/Batterielebensdauer, Sicherheit und Systemansprechverhalten.
  • Zum Beispiel werden in Bezug auf Probleme bei Powermanagement-Batterielebensdauer mindestens teilweise auf der Basis von Informationen von einem Umgebungslichtsensor die Umgebungslichtbedingungen an einem Ort der Plattform bestimmt und die Intensität der Anzeige entsprechend gesteuert. Beim Betreiben der Anzeige verbrauchter Strom wird somit unter bestimmten Lichtbedingungen verringert.
  • Wie auch in 5 zu sehen ist, können verschiedene Peripherieeinrichtungen über eine LPC-Zwischenverbindung (Low Pin Count) mit dem Prozessor 410 gekoppelt sein. Bei der gezeigten Ausführungsform können mittels eines eingebetteten Controllers 435 verschiedene Komponenten gekoppelt werden. Solche Komponenten wären z.B. eine Tastatur 436 (z.B. über eine PS2-Schnittstelle gekoppelt), ein Lüfter 437 und ein thermischer Sensor 439. Bei einigen Ausführungsformen kann auch das Touchpad 430 über eine PS2-Schnittstelle mit dem EC435 gekoppelt sein. Außerdem kann auch ein Sicherheitsprozessor, wie etwa ein TPM (Trusted Platform Module) 438 gemäß der Trusted Computing Group (TCG) TPM Specification Version 1.2, vom 2. 10. 2003 über diese LPC-Zwischenverbindung mit dem Prozessor 410 gekoppelt sein. Der Schutzumfang der vorliegenden Erfindung ist in dieser Hinsicht jedoch nicht beschränkt, und sichere Verarbeitung und Speicherung sicherer Informationen kann sich an einem anderen geschützten Ort befinden, wie etwa einem SRAM (Static Random Access Memory) in einem Sicherheitskoprozessor, oder als verschlüsselte Datenblocks, die nur entschlüsselt werden, wenn sie durch einen SE-Prozessormodus (Secure Enclave) geschützt werden.
  • Das System 400 kann auf vielfältige Weisen, darunter drahtlos, mit externen Einrichtungen kommunizieren. Bei der in 5 gezeigten Ausführungsform sind verschiedene drahtlose Module, die jeweils einem für ein bestimmtes drahtloses Kommunikationsprotokoll ausgelegten Funkgerät entsprechen können, anwesend. Eine Art der drahtlosen Kommunikation in einer kurzen Reichweite, wie etwa einem Nahfeld, kann über eine Nahfeldkommunikations- bzw. NFC-Einheit 445 erfolgen, die bei einer Ausführungsform mit dem Prozessor 410 über einen SMBus kommunizieren kann. Man beachte, dass über diese NFC-Einheit 445 Einrichtungen in dichter Nähe zueinander kommunizieren können. Zum Beispiel kann ein Benutzer das System 400 befähigen, mit einer anderen (z.B.) tragbaren Einrichtung wie einem Smartphone des Benutzers zu kommunizieren, indem die zwei Einrichtungen in dichter Beziehung angepasst und Transfer von Informationen ermöglicht wird, wie etwa Identifikationsinformations-Bezahlungsinformationen, Daten wie Bilddaten usw. Außerdem kann drahtloser Energietransfer unter Verwendung eines NFC-Systems durchgeführt werden.
  • Unter Verwendung der hier beschriebenen NFC-Einheit können Benutzer Einrichtungen nebeneinander bumpen und Einrichtungen nebeneinander für Nahfeldkopplungsfunktionen (wie etwa Nahfeldkommunikation und drahtlosen Energietransfer (WPT)) durch Ausnutzung der Kopplung zwischen Spulen einer oder mehrerer solcher Einrichtungen platzieren. Spezieller stellen Ausführungsformen Einrichtungen mit strategisch geformten und platzierten Ferritmaterialien bereit, um bessere Kopplung der Spulen zu gewährleisten. Jeder Spule ist eine Induktivität zugeordnet, die in Verbindung mit den Widerstands-, kapazitiven und anderen Merkmalen des Systems gewählt werden kann, um eine gemeinsame Resonanzfrequenz für das System zu ermöglichen.
  • Wie weiter in 5 zu sehen ist, können zusätzliche drahtlose Einheiten andere drahtlose Kurzreichweiten-Engines umfassen, wie etwa eine WLAN-Einheit 450 und eine Bluetooth-Einheit 452. Unter Verwendung der WLAN-Einheit 450 kann Wi-Fi™-Kommunikation gemäß einem gegebenen 802.11-Standard des IEEE (Institute of Electrical and Electronics Engineers) realisiert werden, während über die Bluetooth-Einheit 452 Kurzreichweitenkommunikation über ein Bluetooth-Protokoll auftreten kann. Diese Einheiten kommunizieren mit dem Prozessor 410 z.B. über eine USB-Verbindung oder eine UART-Verbindung (Universal Asynchronous Receiver Transmitter). Oder diese Einheiten können über eine Zwischenverbindung mit dem Prozessor 410 gekoppelt werden, gemäß einem PCIe™-Protokoll (Peripheral Component Interconnect Express™), z.B. gemäß PCI Express™ Specification Base Specification Version 3.0 (veröffentlicht am 17. 1. 2007 oder einem anderen solchen Protokoll wie etwa einem SDIO-Standard (Serial Data Input/Output). Die tatsächliche physische Verbindung zwischen diesen Peripherieeinrichtungen, die auf einer oder mehreren Zusatzkarten konfiguriert werden kann, kann natürlich mittels an ein Motherboard angepasster NGFF-Verbinder erfolgen.
  • Zusätzlich kann drahtlose großflächige Kommunikation, z.B. gemäß einem Mobilfunk- oder anderem drahtlosen großflächigen Protokoll, über eine WWAN-Einheit 456 auftreten, die ihrerseits mit einem SIM (Subscriber Identity Module) 457 gekoppelt sein kann. Zur Ermöglichung des Empfangs und der Verwendung von Ortsinformationen kann zusätzlich auch ein GPS-Modul 455 anwesend sein. Man beachte, dass bei der in 5 gezeigten Ausführungsform die WWAN-Einheit 456 und eine integrierte Erfassungseinrichtung wie ein Kameramodul 454 über ein gegebenes USB-Protokoll kommunizieren können, wie etwa eine Verbindung des Typs USB 2.0 oder 3.0 oder ein UART- oder I2C-Protokoll. Wieder kann die tatsächliche physische Verbindung dieser Einheiten über Anpassung einer NGFF-Zusatzkarte an einen auf dem Motherboard konfigurierten NGFF-Verbinder erfolgen.
  • Ein integriertes Kameramodul 454 kann in die Klappe integriert sein. Als ein Beispiel kann diese Kamera eine hochauflösende Kamera sein, z.B. mit einer Auflösung von mindestens 2,0 Megapixeln (MP) und bis zu 6,0 MP und darüber hinaus.
  • Um Audioeingaben und -ausgaben zu gewährleisten, kann ein Audioprozessor über einen digitalen Signalprozessor (DSP) 460 implementiert werden, der über eine HDA-Verbindung (High Definition Audio) mit dem Prozessor 410 gekoppelt werden kann. Ähnlich kann der DSP 460 mit einem integrierten Codierer/Decodierer (CODEC) und Verstärker 462 kommunizieren, der seinerseits mit Ausgangslautsprechern 463 gekoppelt sein kann, die im Chassis implementiert sein können. Ähnlich können der Verstärker und CODEC 462 so gekoppelt werden, dass sie Audioeingaben von einem Mikrofon 465 empfangen, das bei einer Ausführungsform über Doppelarray-Mikrofone (wie etwa ein digitales Mikrofonarray) implementiert werden kann, um qualitativ hochwertige Audioeingaben zur Ermöglichung von sprach aktivierter Steuerung verschiedener Operationen im System bereitzustellen. Man beachte auch, dass Audioausgaben von dem Verstärker/Codec 462 einer Kopfhörerbuchse 464 zugeführt werden können. Obwohl sie bei der Ausführungsform von 5 mit diesen konkreten Komponenten gezeigt ist, versteht sich, dass der Schutzumfang der vorliegenden Erfindung in dieser Hinsicht nicht beschränkt ist.
  • Bei einigen Ausführungsformen kann der Prozessor 410 durch einen externen Spannungsregler (VR) und mehrere interne Spannungsregler, die in den Prozessorchip integriert sind, die als vollintegrierte Spannungsregler (FIVR) bezeichnet werden, mit Strom versorgt werden. Die Verwendung mehrerer FIVR in dem Prozessor ermöglicht Gruppierung von Komponenten zu getrennten Stromversorgungsebenen, so dass die Stromversorgung durch den FIVR nur für die Komponenten in der Gruppe geregelt und geliefert wird. Während des Powermanagement kann eine gegebene Stromversorgungsebene eines FIVR heruntergefahren oder ausgeschaltet werden, wenn der Prozessor in einen bestimmten Zustand mit geringer Stromaufnahme versetzt wird, während eine andere Stromversorgungsebene eines anderen FIVR aktiv oder voll mit Strom versorgt bleibt.
  • Es können Ausführungsformen in Prozessoren für verschiedene Märkte implementiert werden, darunter Serverprozessoren, Desktop-Prozessoren, Mobil-Prozessoren und so weiter. Nunmehr mit Bezug auf 6 ist eine Blockdarstellung eines Prozessors gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. Wie in 6 gezeigt, kann der Prozessor 500 ein Mehrkernprozessor mit mehreren Kernen 510a-5100n sein. Bei einer Ausführungsform kann jeder solche Kern von einer unabhängigen Stromversorgungsdomäne sein und dafür ausgelegt sein, auf der Basis der Arbeitslast in verschiedene Architekturzustände einzutreten und diese zu verlassen, wie etwa aktive Zustände und/oder Zustände maximaler Leistungsfähigkeit. Die verschiedenen Kerne können über eine Zwischenverbindung 515 mit einem Systemagenten oder Uncore 520 gekoppelt sein, der verschiedene Komponenten umfasst. Es ist ersichtlich, dass der Uncore 520 einen geteilten Cache 530 umfassen kann, der ein Last-Level-Cache sein kann. Außerdem kann der Uncore einen integrierten Speichercontroller 540, verschiedene Schnittstellen 550 und eine Leistungssteuereinheit 555 umfassen. Bei verschiedenen Ausführungsformen kann die Leistungssteuereinheit 555 eine Puffersteuerlogik 559 gemäß einer Ausführungsform der vorliegenden Erfindung umfassen. Unter Verwendung dieser Logik können verschiedene Anschlussstellen des Prozessors, die zum Beispiel mit verschiedenen Schnittstellen gekoppelt sind, so gesteuert werden, dass sie sich in einem Zustand zur Vermeidung elektrischer Konkurrenz befinden. Es versteht sich, dass bei anderen Ausführungsformen diese Steuerlogik in einem E/A-Controller der Schnittstellen implementiert sein kann.
  • Unter weiterer Bezugnahme auf 6 kann der Prozessor 500 z.B. über einen Speicherbus mit einem Systemspeicher 560 kommunizieren. Außerdem kann durch Schnittstellen 550 eine Verbindung mit verschiedenen Komponenten außerhalb des Chips, wie etwa Peripherieeinrichtungen, Massenspeicherung usw., hergestellt werden. Solche Schnittstellen können GPIO-Puffer umfassen, die wie hier beschrieben gesteuert werden. Obwohl sie bei der Ausführungsformen von 6 mit dieser konkreten Implementierung gezeigt ist, ist der Schutzumfang der vorliegenden Erfindung in dieser Hinsicht nicht beschränkt.
  • Ausführungsformen können in vielen verschiedenen Systemtypen implementiert werden. Nunmehr mit Bezug auf 7 ist eine Blockdarstellung eines Systems gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. Wie in 7 gezeigt, ist das Mehrprozessorsystem 600 ein Punkt-zu-Punkt-Zwischenverbindungssystem und umfasst einen ersten Prozessor 670 und einen zweiten Prozessor 680, gekoppelt über eine Punkt-zu-Punkt-Zwischenverbindung 650. Wie in 7 gezeigt, kann es sich bei jedem der Prozessoren 670 und 680 um Mehrkernprozessoren handeln, die erste und zweite Prozessorkerne umfassen (d.h. Prozessorkerne 674a und 674b und Prozessorkerne 684a und 684b), obwohl potentiell viel mehr Kerne in den Prozessoren anwesend sein können. Jeder der Prozessoren kann eine PCU oder andere Logik zum autonomen Steuern von Pin-Zuständen zur Vermeidung von elektrischer Konkurrenz während Standby- oder anderen Architekturzuständen wie hier beschrieben umfassen.
  • Unter weiterer Bezugnahme auf 7 umfasst der erste Prozessor 670 ferner einen Speichercontrollerverteiler (MCH - Memory Controller Hub) 672 und Punkt-zu-Punkt- bzw. P-P-Schnittstellen 676 und 678. Ähnlich umfasst der zweite Prozessor 680 einen MCH 682 und P-P-Schnittstellen 686 und 688. Wie in 7 gezeigt, koppeln die MCH 672 und 682 die Prozessoren mit jeweiligen Speichern, nämlich einem Speicher 637 und einem Speicher 634, die Teile des Systemspeichers (z.B. DRAM) sein können, die lokal an die jeweiligen Prozessoren angeschlossen sind. Der erste Prozessor 670 und der zweite Prozessor 680 können über P-P-Zwischenverbindungen 662 bzw. 664 mit einem Chipsatz 690 gekoppelt sein. Wie in 7 gezeigt, umfasst der Chipsatz 690 P-P-Schnittstellen 694 und 698.
  • Ferner umfasst der Chipsatz 690 eine Schnittstelle 692 zum Koppeln des Chipsatzes 690 mit einer Hochleistungs-Grafikengine 638 durch eine P-P-Zwischenverbindung 639. Der Chipsatz 690 kann seinerseits über eine Schnittstelle 696 mit einem ersten Bus 616 gekoppelt sein. Wie in 7 gezeigt, können verschiedene Eingabe-/Ausgabe- bzw. E/A-Einrichtungen 614 mit einem ersten Bus 616 gekoppelt sein, zusammen mit einer Busbrücke 618, die den ersten Bus 616 mit einem zweiten Bus 620 koppelt. Mit dem zweiten Bus 620 können verschiedene Einrichtungen gekoppelt sein, darunter zum Beispiel bei einer Ausführungsform eine Tastatur/Maus 622, Kommunikationseinrichtungen 626 und eine Datenspeicherungseinheit 628, wie etwa ein Plattenlaufwerk oder eine andere Massenspeichereinrichtung, die Code 630 umfassen kann. Ferner kann eine Audio-E/A 624 mit dem zweiten Bus 620 gekoppelt sein. Ausführungsformen können in andere Arten von Systemen integriert werden, darunter mobile Einrichtungen wie ein intelligentes Mobiltelefon, ein Tablet-Computer, ein Netbook, Ultrabook™ oder so weiter.
  • Nunmehr mit Bezugnahme auf 8 ist eine Blockdarstellung eines Prozessors gemäß einer anderen Ausführungsform der vorliegenden Erfindung gezeigt. Bei der Ausführungsform von 8 kann der Prozessor 1000 ein SoC (System on a Chip) mit mehreren Domänen sein, die jeweils so gesteuert werden können, dass sie mit einer unabhängigen Betriebsspannung und Betriebsfrequenz arbeiten. Als spezifisches Anschauungsbeispiel kann der Prozessor 1000 ein Prozessor auf der Basis des Intel® Architecture Core™ sein, wie etwa ein i3, i5, i7 oder ein anderer solcher Prozessor, der von der Intel Corporation, Santa Clara, CA erhältlich ist. Stattdessen können bei anderen Ausführungsformen jedoch andere Prozessoren mit geringer Stromaufnahme anwesend sein, wie etwa erhältlich von Advanced Micro Devices, Inc. (AMD) in Sunnyvale, CA, ein auf ARM basierender Entwurf von der ARM Holdings, Ltd. oder einem Kunden davon oder ein auf MIPS basierender Entwurf von MIPS Technologies, Inc. in Sunnyvale, CA, oder ihre Lizenzenten oder Verwender, wie etwa ein Apple-A5-Prozessor, ein Qualcomm-Snapdragon-Prozessor oder ein OMAP-Prozessor von Texas Instruments. Ein solches SoC kann in einem System mit geringer Stromaufnahme verwendet werden, wie etwa einem Smartphone, Tablet-Computer, Ultrabook™-Computer oder einer anderen tragbaren Datenverarbeitungseinrichtung.
  • In der in 8 gezeigten Ansicht auf hoher Ebene umfasst der Prozessor 1000 mehrere Kerneinheiten 10100-1010n. Jede Kerneinheit kann einen oder mehrere Prozessorkerne, einen oder mehrere Cache-Speicher und andere Schaltkreise umfassen. Jede Kerneinheit 1010 kann einen oder mehrere Anweisungssätze unterstützen (z.B. den x86-Anweisungssatz (mit einigen Erweiterungen, die bei neueren Versionen hinzugefügt wurden); den MIPS-Anweisungssatz der MIPS Technologies in Sunnyvale, CA; den ARM-Anweisungssatz (mit optionalen zusätzlichen Erweiterungen wie NEON) der ARM Holdings in Sunnyvale, CA) oder einen anderen Anweisungssatz oder Kombinationen davon. Man beachte, dass einige der Kerneinheiten heterogene Ressourcen sein (z.B. einen anderen Entwurf aufweisen) können. Außerdem kann jeder solche Kern mit einem Cache-Speicher gekoppelt sein, der bei einer Ausführungsform ein Shared-Level bzw. L2-Cache-Speicher sein kann. Mit einer nichtflüchtigen Speicherung 1030 kann man verschiedene Programme und andere Daten speichern. Zum Beispiel kann man mit dieser Speicherung mindestens Teile von Mikrocode, Boot-Informationen, wie in BIOS, andere Systemsoftware oder dergleichen speichern.
  • Jede Kerneinheit 1010 kann auch eine Schnittstelle umfassen, wie etwa eine Busschnittstelleneinheit zur Ermöglichung einer Zwischenverbindung mit zusätzlichen Schaltkreisen des Prozessors. Bei einer Ausführungsform ist jede Kerneinheit 1010 mit einem kohärenten Koppelfeld gekoppelt, das als eine kohärente Primär-Cache-on-Die-Zwischenverbindung wirken kann, die ihrerseits mit einem Speichercontroller 1035 gekoppelt ist. Der Speichercontroller 1035 steuert seinerseits Kommunikation mit einem Speicher wie etwa einem DRAM (Dynamic Random Access Memory) (der leichteren Darstellung halber in 8 nicht gezeigt).
  • Zusätzlich zu Kerneinheiten sind zusätzliche Verarbeitungsengines im Prozessor anwesend, darunter mindestens eine Grafikeinheit 1020, die eine oder mehrere Grafikverarbeitungseinheiten (GPUs) umfassen kann, um Grafikverarbeitung auszuführen und auch um möglicherweise Vielzweckoperationen auf dem Grafikprozessor auszuführen (sogenannter GPGPU-Betrieb). Außerdem kann mindestens ein Bildsignalprozessor 1025 anwesend sein. Der Signalprozessor 1025 kann dafür ausgelegt sein, von einer oder mehreren Erfassungseinrichtungen, die sich entweder intern im SoC oder außerhalb des Chips befinden, empfangene ankommende Bilddaten zu verarbeiten. Es können auch andere Beschleuniger anwesend sein. In der Darstellung von 8 kann ein Videocodierer 1050 Codierungsoperationen ausführen, darunter Codierung und Decodierung für Videoinformationen, z.B. zur Bereitstellung von Hardwarebeschleunigungsunterstützung für hochauflösenden Videoinhalt. Ein Anzeigecontroller 1055 kann ferner vorgesehen sein, um Anzeigeoperationen zu beschleunigen, darunter Bereitstellung von Unterstützung für interne und externe Anzeigen eines Systems. Außerdem kann ein Sicherheitsprozessor 1045 anwesend sein, um Sicherheitsoperationen auszuführen, wie etwa sichere Bootoperationen, verschiedene Kryptografieoperationen und so weiter. Jeder der Einheiten kann ihren eigenen Stromverbrauch aufweisen, der über einen Powermanager 1040 gesteuert wird. Bei einigen Ausführungsformen kann das SoC 1000 ferner ein nichtkohärentes Koppelfeld, das mit dem kohärenten Koppelfeld gekoppelt ist, umfassen, mit dem verschiedene Peripherieeinrichtungen gekoppelt werden können. Eine oder mehrere Schnittstellen 1060a-1060d ermöglichen Kommunikation mit einer oder mehreren Einrichtungen außerhalb des Chips. Eine oder mehrere der Schnittstellen können Steuerlogik wie hier beschrieben umfassen, um autonom einen gewünschten Wert auf einer mit einem E/A-Puffer gekoppelten Anschlussstelle zu halten, wenn man sich in einem gegebenen Architekturzustand befindet. Solche Kommunikation kann gemäß vielfältigen Kommunikationsprotokollen erfolgen, wie etwa PCIe™, GPIO, USB, I2C, UART, MIPI, SDIO, DDR, SPI, HDMI, neben anderen Arten von Kommunikationsprotokollen. Obwohl sie bei der Ausführungsform von 8 auf dieser hohen Ebene gezeigt ist, versteht sich, dass der Schutzumfang der vorliegenden Erfindung in dieser Hinsicht nicht beschränkt ist.
  • Die folgenden Beispiele betreffen weitere Ausführungsformen.
  • In einem Beispiel umfasst eine Vorrichtung einen E/A-Puffer zum Koppeln einer Logikeinheit der Vorrichtung mit einer Einrichtung, die über eine Anschlussstelle mit der Vorrichtung gekoppelt ist; und eine mit dem E/A-Puffer gekoppelte Logik zum Detektieren eines Werts auf der Anschlussstelle und zum Steuern des E/A-Puffers dazu, den Wert der Anschlussstelle zuzuführen, als Reaktion auf Eintritt in einen Architekturzustand der Vorrichtung.
  • In einem Beispiel ist eine Konfigurationsspeicherung mit dem E/A-Puffer gekoppelt, und die Logik soll mindestens ein Feld der Konfigurationsspeicherung mindestens teilweise auf der Basis des detektierten Werts programmieren. Das mindestens eine Feld kann ein erstes Feld zum Speichern eines Steuerwerts für einen zwischen einen Versorgungsspannungsknoten und einen Ausgangsknoten des E/A-Puffers geschalteten ersten Schalter umfassen, und wenn er geschlossen ist, soll der erste Schalter eine Pullup-Impedanz zum Koppeln mit dem Ausgangsknoten freigeben. Das mindestens eine Feld kann ferner ein zweites Feld zum Speichern eines zweiten Steuerwerts für einen zwischen einen Referenzspannungsknoten und den Ausgangsknoten des E/A-Puffers geschalteten zweiten Schalter umfassen, wobei, wenn er geschlossen ist, der zweite Schalter eine Pulldown-Impedanz zur Kopplung mit dem Ausgangsknoten freigeben soll. Das mindestens eine Feld kann auch ein drittes Feld zum Speichern eines Freigabesignals zum Freigeben eines Senders des E/A-Puffers umfassen.
  • In einem Beispiel soll die Logik den E/A-Puffer dazu steuern, der Anschlussstelle einen Übersteuerungswert zuzuführen, wenn ein Übersteuerungsindikator aktiv ist, wobei ein Softwaretreiber den Übersteuerungswert bereitstellen soll.
  • In einem Beispiel umfasst der Architekturzustand einen Eintritt in einen Zustand mit geringer Stromaufnahme.
  • In einem Beispiel umfasst der E/A-Puffer einen Sender zum Empfangen eines Signals und zum Ausgeben des Signals an die Anschlussstelle; einen Pullup-Widerstand, der dafür ausgelegt ist, steuerbar zwischen einen Versorgungsspannungsknoten und einen Ausgangsknoten des Senders geschaltet zu werden; und einen Pulldown-Widerstand, der dafür ausgelegt ist, steuerbar zwischen einen Referenzspannungsknoten und den Ausgangsknoten des Senders geschaltet zu werden. Der E/A-Puffer kann ferner einen Empfänger zum Empfangen eines zweiten Signals von der Anschlussstelle und zum Ausgeben des Signals an die Logikeinheit umfassen.
  • Man beachte, dass die obige Vorrichtung einen unter Verwendung verschiedener Mittel zu implementierenden Prozessor umfassen kann.
  • In einem Beispiel umfasst der Prozessor ein SoC (System on a Chip), das in eine berührungsbefähigte Einrichtung einer Benutzervorrichtung integriert ist.
  • In einem anderen Beispiel umfasst ein System eine Anzeige und einen Speicher und umfasst den Prozessor eines oder mehrerer der obigen Beispiele.
  • In einem anderen Beispiel umfasst ein System einen in einem IC gebildeten Prozessor, wobei der Prozessor Folgendes umfasst: mindestens einen Kern; einen E/A-Controller mit einer Power-Management-Logik; und mindestens einen mit dem E/A-Controller gekoppelten E/A-Puffer zum Kommunizieren von Signalinformationen mit einer oder mehreren mit dem Prozessor gekoppelten Einrichtungen, wobei die Power-Management-Logik Folgendes durchführen soll: Empfangen einer Angabe des Eintritts in einen Zustand mit geringer Stromaufnahme mindestens eines Teils des Prozessors, Abtasten eines Werts auf einer Anschlussstelle des ICs, wobei die Anschlussstelle zwischen mindestens einen E/A-Puffer und eine Zwischenverbindung geschaltet ist, Bestimmen eines Zustands des Werts und dynamisches Steuern des mindestens einen E/A-Puffers als Reaktion auf den Zustand des Werts. Das System kann ferner einen mit dem Prozessor gekoppelten DRAM umfassen.
  • In einem Beispiel soll die Power-Management-Logik ein Feld einer Steuerspeicherung als Reaktion auf den abgetasteten Wert setzen, um Kopplung einer ersten Impedanz und/oder einer zweiten Impedanz mit einem Ausgangsknoten des mindestens einen E/A-Puffers zu bewirken. Die Power-Management-Logik kann ferner in einem ersten Modus den Wert abtasten, den Zustand bestimmen und die Kopplung bewirken und in einem zweiten Modus die Kopplung auf der Basis eines durch einen Firmware- oder einen Softwaretreiber bereitgestellten Übersteuerungswerts bewirken. Die Power-Management-Logik kann Kopplung der ersten Impedanz oder der zweiten Impedanz bewirken, um zu ermöglichen, dass der E/A-Puffer ein Signal entsprechend dem abgetasteten Wert ausgibt.
  • In einem anderen Beispiel umfasst ein Verfahren Abtasten eines Zustands auf einer Anschlussstelle eines mit einer Zwischenverbindung gekoppeltes ICs, wobei die Anschlussstelle mit einem Puffer des ICs gekoppelt ist, wobei der Puffer einen Sender und einen Empfänger umfasst; Auswählen eines Steuerwerts für mindestens ein steuerbares Element des Puffers auf der Basis des abgetasteten Zustands; und Bestimmen, ob ein Übersteuerungsindikator aktiv ist, und wenn dem so ist, Speichern eines Übersteuerungswerts in einer dem Puffer zugeordneten Speicherung und andernfalls Speichern des Steuerwerts in der Speicherung.
  • In einem Beispiel umfasst das Verfahren ferner Steuern des Puffers dazu, den abgetasteten Zustand aufrechtzuerhalten, unter Verwendung des gespeicherten Steuerwerts.
  • In einem Beispiel umfasst das Verfahren Empfangen des Übersteuerungsindikators von einer Firmware des Systems.
  • In einem Beispiel umfasst das Verfahren ferner Steuern des Puffers dazu, die Anschlussstelle in einen Tristate-Zustand zu versetzen, bevor der Zustand abgetastet wird.
  • In einem Beispiel umfasst das Verfahren ferner Speichern des abgetasteten Zustands in einer zweiten Speicherung und danach Bezug nehmen auf den abgetasteten Zustand.
  • In einem Beispiel umfasst das Verfahren ferner Steuern des Puffers dazu, eine Pulldown-Impedanz mit der Anschlussstelle zu koppeln, wenn die Anschlussstelle in einer Plattform, die das IC umfasst, unbenutzt ist.
  • In einem anderen Beispiel soll ein computerlesbares Medium, das Anweisungen umfasst, das Verfahren nach einem der obigen Beispiele ausführen.
  • In einem anderen Beispiel umfasst eine Vorrichtung Mittel zum Ausführen des Verfahrens nach einem der obigen Beispiele.
  • Es versteht sich, dass verschiedene Kombinationen der obigen Beispiele möglich sind.
  • Ausführungsformen können in vielen verschiedenen Arten von Systemen verwendet werden. Zum Beispiel kann bei einer Ausführungsformen eine Kommunikationseinrichtung dafür ausgelegt sein, die verschiedenen Verfahren und Techniken auszuführen, die hier beschrieben werden. Der Schutzumfang der vorliegenden Erfindung wird jedoch nicht auf eine Kommunikationseinrichtung beschränkt und stattdessen können andere Ausführungsformen andere Arten von Vorrichtung zum Verarbeiten von Anweisungen oder ein oder mehrere maschinenlesbare Medien betreffen, die Anweisungen umfassen, die als Reaktion auf Ausführung in einer Datenverarbeitungeinrichtung bewirken, dass die Einrichtung eines oder mehrere bzw. eine oder mehrere der hier beschriebenen Verfahren und Techniken ausführt.
  • Ausführungsformen können in Code implementiert und in einem nichttransitorischen Speichermedium gespeichert werden, auf dem Anweisungen gespeichert sind, mit denen ein System dazu programmiert werden kann, die Anweisungen auszuführen. Das Speichermedium wäre, aber ohne Beschränkung darauf, eine beliebige Art von Datenträger wie Disketten, optische Datenträger, SSDs (Solid State Drives), CD-ROMs (Compact Disk Read-Only Memories), CD-RWs (Compact Disk rewritables) und magnetooptische Datenträger, Halbleitereinrichtungen wie ROMs (Read-Only Memories), RAMs (Random Access Memories) wie DRAMs (Dynamic Random Access Memories), SRAMs (Static Random Access Memories), EPROMs (Erasable Programmable Read-Only Memories), Flash-Speicher, EEPROMs (Electrically Erasable Programmable Read-Only Memories), magnetische oder optische Daten oder eine beliebige andere Art von Medien, die zum Speichern elektronischer Anweisungen geeignet ist.
  • Obwohl die vorliegende Erfindung mit Bezug auf eine begrenzte Anzahl von Ausführungsformen beschrieben wurde, sind für Fachleute daraus zahlreiche Modifikationen und Varianten ersichtlich. Es ist beabsichtigt, dass die angefügten Ansprüche alle solchen Modifikationen und Varianten abdecken, die in den wahren Gedanken und Schutzumfang der vorliegenden Erfindung fallen.

Claims (21)

  1. Vorrichtung (100), umfassend: einen mit einer Logikeinheit (110) der Vorrichtung (100) gekoppelte Eingabe-/Ausgabe- bzw. E/A-Puffer (140); eine Anschlussstelle (150) zum Koppeln einer externen Einrichtung mit dem E/A-Puffer (140) der Vorrichtung (100); und eine mit dem E/A-Puffer (140) gekoppelte Steuerlogik (130), die dazu eingerichtet ist: einen Zustand an der Anschlussstelle (150) nach einem ersten Eintritt in einen Zustand mit geringer Stromaufnahme der Vorrichtung (100) abzutasten; einen ersten Steuerwert für den E/A-Puffer (140) basierend auf dem abgetasteten Zustand und dem Zustand mit geringer Stromaufnahme der Vorrichtung (100) zu bestimmen; den ersten Steuerwert in einer dem E/A-Puffer (140) zugeordneten Konfigurationsspeicherung (136) zu speichern; und als Reaktion auf einen zweiten Eintritt in den Zustand mit geringer Stromaufnahme der Vorrichtung (100) den E/A-Puffer (140) unter Verwendung des gespeicherten ersten Steuerwertes so zu steuern, dass der abgetastete Wert an der Anschlussstelle (150) aufrechterhalten bleibt.
  2. Vorrichtung (100) nach Anspruch 1, wobei die Steuerlogik (130) dazu eingerichtet ist, den ersten Steuerwert zu speichern und als Reaktion auf eine Bestimmung, dass ein Übersteuerungsindikator nicht aktiv ist, den E/A-Puffer (140) so zu steuern, dass der abgetastete Wert aufrechterhalten bleibt, und wobei die Steuerlogik (130) dazu eingerichtet ist: als Reaktion auf eine Bestimmung, dass der Übersteuerungsindikator aktiv ist: einen zweiten Steuerwert in die Konfigurationsspeicherung (136) zu speichern; und den E/A-Puffer (140) unter Verwendung des gespeicherten zweiten Steuerwertes so zu steuern, dass ein Übersteuerungswert an der Anschlussstelle (150) aufrechterhalten bleibt, wobei der Übersteuerungswert ein durch einen Softwaretreiber bereitgestellter Vorgabewert ist.
  3. Vorrichtung (100) nach Anspruch 1, wobei die Konfigurationsspeicherung (136) ein erstes Feld zum Speichern einer ersten Einstellung für einen zwischen einen Versorgungsspannungsknoten und einen Ausgangsknoten (143) des E/A-Puffers (140) geschalteten ersten Schalter umfasst, wobei, wenn er geschlossen ist, der erste Schalter eine Pullup-Impedanz (146) zur Kopplung mit dem Ausgangsknoten (143) freigeben soll.
  4. Vorrichtung (100) nach Anspruch 3, wobei die Konfigurationsspeicherung (136) ein zweites Feld zum Speichern einer zweiten Einstellung für einen zwischen einen Referenzspannungsknoten und den Ausgangsknoten (143) des E/A-Puffers (140) geschalteten zweiten Schalter umfasst, wobei, wenn er geschlossen ist, der zweite Schalter eine Pulldown-Impedanz (148) zur Kopplung mit dem Ausgangsknoten (143) freigeben soll.
  5. Vorrichtung (100) nach Anspruch 4, wobei die Konfigurationsspeicherung (135) ein drittes Feld zum Speichern einer dritten Einstellung zum Freigeben eines Senders (142) des E/A-Puffers (140) umfasst.
  6. Vorrichtung (100) nach Anspruch 1, wobei die Steuerlogik (130) vor dem Abtasten des Zustands der Anschlussstelle (150) die Anschlussstelle (150) in einen Tristate-Zustand versetzt.
  7. Vorrichtung (100) nach Anspruch 1, wobei der E/A-Puffer (140) Folgendes umfasst: einen Sender (142) zum Empfangen eines Signals und zum Ausgeben des Signals an die Anschlussstelle (150); einen Pullup-Widerstand (146), der dafür ausgelegt ist, steuerbar zwischen einen Versorgungsspannungsknoten und einen Ausgangsknoten (143) des Senders (142) geschaltet zu werden; und einen Pulldown-Widerstand (148), der dafür ausgelegt ist, steuerbar zwischen einen Referenzspannungsknoten und den Ausgangsknoten (143) des Senders (142) geschaltet zu werden.
  8. Vorrichtung (100) nach Anspruch 8, wobei der E/A-Puffer (140) ferner einen Empfänger (160) zum Empfangen eines zweiten Signals von der Anschlussstelle (150) und zum Ausgeben des Signals an die Logikeinheit (110) umfasst.
  9. System (400), umfassend: einen in einer integrierten Schaltung (IC) gebildeten Prozessor (410), wobei der Prozessor (410) Folgendes umfasst: mindestens einen Kern; einen Eingabe-/Ausgabe- bzw. E/A-Controller (130) mit einer Power-Management-Logik; und mindestens einen mit dem E/A-Controller (130) gekoppelten Eingabe-/Ausgabe- bzw. E/A-Puffer (140) zum Kommunizieren von Signalinformationen mit einer oder mehreren mit dem Prozessor (410) gekoppelten Einrichtungen, wobei die Power-Management-Logik Folgendes durchführen soll: Empfangen einer Angabe eines ersten Eintritts in einen Zustand mit geringer Stromaufnahme mindestens eines Teils des Prozessors (410), als Reaktion auf den ersten Eintritt Abtasten eines Zustands an einer Anschlussstelle (150) des ICs, wobei die Anschlussstelle (150) zwischen dem mindestens einen E/A-Puffer (140) und eine Zwischenverbindung geschaltet ist, Bestimmen eines ersten Steuerwerts für den mindestens einen E/A-Puffer (140) basierend auf dem abgetasteten Zustand und dem Zustand mit geringer Stromaufnahme, Speichern des ersten Steuerwerts in einer dem mindestens einen E/A-Puffer (140) zugeordneten Konfigurationsspeicherung (136), und als Reaktion auf einen zweiten Eintritt in den Zustand mit geringer Stromaufnahme Steuern des mindestens einen E/A-Puffers (140) unter Verwendung des gespeicherten ersten Steuerwertes derart, dass der abgetastete Wert an der Anschlussstelle (150) aufrechterhalten bleibt; und einen mit dem Prozessor (410) gekoppelten dynamischen Direktzugriffsspeicher (DRAM).
  10. System (400) nach Anspruch 9, wobei die Power-Management-Logik ein Feld der Konfigurationsspeicherung (136) als Reaktion auf den abgetasteten Wert setzen soll, um Kopplung einer ersten Impedanz (146) und/oder einer zweiten Impedanz (148) mit einem Ausgangsknoten (143) des mindestens einen E/A-Puffers (140) zu bewirken.
  11. System (400) nach Anspruch 10, wobei die Power-Management-Logik dazu eingerichtet ist: den Wert abzutasten, den ersten Steuerwert zu bestimmen und die Kopplung zu bewirken als Reaktion auf eine Bestimmung, dass ein Übersteuerungsindikator nicht aktiv ist; und als Reaktion auf eine Bestimmung, dass der Übersteuerungsindikator aktiv ist, die Kopplung auf der Basis eines durch einen Firmware- oder einen Softwaretreiber bereitgestellten Übersteuerungswerts zu bewirken.
  12. System (400) nach Anspruch 11, wobei die Power-Management-Logik Kopplung der ersten Impedanz (146) oder der zweiten Impedanz (148) bewirken soll, um dem E/A-Puffer (140) zu ermöglichen, ein Signal entsprechend dem abgetasteten Wert auszugeben.
  13. Verfahren (200), umfassend: als Reaktion auf einen ersten Eintritt in einen Zustand mit geringer Stromaufnahme Abtasten eines Zustands an einer Anschlussstelle (230, 310) einer integrierten Schaltung (IC), die mit einer Zwischenverbindung gekoppelt ist, wobei die Anschlussstelle mit einem Puffer des ICs gekoppelt ist, wobei der Puffer einen Sender und einen Empfänger umfasst; Auswählen eines ersten Steuerwerts für mindestens ein steuerbares Element des Puffers auf der Basis des abgetasteten Zustands und des Zustands mit geringer Stromaufnahme; Speichern des ersten Steuerwerts in einer dem Puffer zugeordneten Speicherung (250); und als Reaktion auf einen zweiten Eintritt in den Zustand mit geringer Stromaufnahme Steuern des Puffer unter Verwendung des gespeicherten ersten Steuerwertes (270) derart, dass der abgetastete Wert an der Anschlussstelle aufrechterhalten bleibt.
  14. Verfahren (200) nach Anspruch 13, ferner umfassend: Bestimmen, ob ein Übersteuerungsindikator aktiv ist (240); als Reaktion auf eine Bestimmung, dass der Übersteuerungsindikator aktiv ist: Speichern eines zweiten Steuerwerts in der Speicherung (260); und Steuern des Puffers unter Verwendung des gespeicherten zweiten Steuerwertes (270) derart, dass ein Übersteuerungswert an der Anschlussstelle aufrechterhalten bleibt, wobei Speichern des ersten Steuerwerts (250) und Steuern des Puffers (270) derart, dass der abgetastete Wert aufrechterhalten bleibt, als Reaktion auf eine Bestimmung, dass der Übersteuerungsindikator nicht aktiv ist, ausgeführt wird.
  15. Verfahren (200) nach Anspruch 14, das ferner Empfangen des Übersteuerungsindikators von einer Firmware umfasst.
  16. Verfahren (200, 300) nach Anspruch 13, das ferner Steuern des Puffers dazu umfasst, die Anschlussstelle vor dem Abtasten des Zustands in einen Tristate-Zustand zu versetzen (312).
  17. Verfahren (200) nach Anspruch 13, wobei die Speicherung mehrere Felder umfasst, darunter: ein erstes Feld zum Speichern einer ersten Einstellung für einen zwischen einen Versorgungsspannungsknoten und einen Ausgangsknoten des Puffers geschalteten ersten Schalter; ein zweites Feld zum Speichern einer zweiten Einstellung für einen zwischen einen Referenzspannungsknoten und den Ausgangsknoten des Puffers geschalteten zweiten Schalter; ein drittes Feld zum Speichern einer dritten Einstellung für einen Sender des Puffers; und ein viertes Feld zum Speichern einer vierten Einstellung für einen Empfänger des Puffers.
  18. Verfahren (200) nach Anspruch 13, das ferner Speichern des abgetasteten Zustands in einer zweiten Speicherung und danach Bezug nehmen auf den abgetasteten Zustand umfasst.
  19. Verfahren (200, 300) nach Anspruch 13, das ferner Steuern des Puffers dazu umfasst, eine Pulldown-Impedanz mit der Anschlussstelle zu koppeln (336), wenn die Anschlussstelle in einer Plattform, die das IC umfasst, unbenutzt ist.
  20. Vorrichtung mit Mitteln zum Ausführen eines Verfahrens (200, 300) nach einem der Ansprüche 13 bis 19.
  21. Maschinenlesbares Speichermedium, das maschinenlesbare Anweisungen umfasst, die, wenn sie ausgeführt werden, ein Verfahren (200, 300) nach einem der Ansprüche 13 bis 19 implementieren sollen.
DE112013007650.0T 2013-11-27 2013-11-27 Autonomes Steuern eines Puffers eines Prozessors Active DE112013007650B4 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/087934 WO2015077936A1 (en) 2013-11-27 2013-11-27 Autonomously controlling a buffer of a processor

Publications (2)

Publication Number Publication Date
DE112013007650T5 DE112013007650T5 (de) 2016-08-11
DE112013007650B4 true DE112013007650B4 (de) 2020-04-23

Family

ID=53198185

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112013007650.0T Active DE112013007650B4 (de) 2013-11-27 2013-11-27 Autonomes Steuern eines Puffers eines Prozessors

Country Status (7)

Country Link
US (2) US10241556B2 (de)
EP (1) EP3075118B1 (de)
JP (1) JP6403764B2 (de)
KR (1) KR101835494B1 (de)
CN (1) CN105659546B (de)
DE (1) DE112013007650B4 (de)
WO (1) WO2015077936A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10820274B2 (en) * 2017-06-19 2020-10-27 T-Mobile Usa, Inc. Systems and methods for testing power consumption of electronic devices
US11790977B2 (en) * 2020-07-20 2023-10-17 Mediatek Inc. Transmitter with voltage level adjustment mechanism in memory controller

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5500611A (en) 1994-09-30 1996-03-19 Cirrus Logic, Inc. Integrated circuit with input/output pad having pullup or pulldown
WO2003009117A2 (en) 2001-07-18 2003-01-30 Intel Corporation Power saving
US6624656B1 (en) 1999-10-15 2003-09-23 Triscend Corporation Input/output circuit with user programmable functions
US20090150734A1 (en) 2007-12-11 2009-06-11 Rdc Semiconductor Co., Ltd. Tri-state i/o port
US7583102B1 (en) 2006-05-05 2009-09-01 Xilinx, Inc. Testing of input/output devices of an integrated circuit
US8200954B2 (en) 2008-07-08 2012-06-12 Texas Instruments Incorporated Multi-stage boot pin sampling
US20130042129A1 (en) 2011-08-09 2013-02-14 Samsung Electronics Co., Ltd. Image forming apparatus, microcontroller, and methods for controlling image forming apparatus and microcontroller
US8564335B1 (en) 2010-10-15 2013-10-22 Marvell International Ltd. Low power pad

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5931945A (en) 1994-04-29 1999-08-03 Sun Microsystems, Inc. Graphic system for masking multiple non-contiguous bytes having decode logic to selectively activate each of the control lines based on the mask register bits
US5828233A (en) * 1996-09-12 1998-10-27 Quality Semiconductor, Inc. Mixed mode CMOS input buffer with bus hold
US5752261A (en) 1996-11-07 1998-05-12 Ncr Corporation Method and apparatus for detecting thrashing in a cache memory
JPH11136119A (ja) * 1997-10-29 1999-05-21 Nec Corp 入力回路
US6020757A (en) 1998-03-24 2000-02-01 Xilinx, Inc. Slew rate selection circuit for a programmable device
JP3512678B2 (ja) 1999-05-27 2004-03-31 富士通株式会社 キャッシュメモリ制御装置および計算機システム
US6678795B1 (en) 2000-08-15 2004-01-13 International Business Machines Corporation Method and apparatus for memory prefetching based on intra-page usage history
US6640285B1 (en) 2000-10-26 2003-10-28 Emc Corporation Method and apparatus for improving the efficiency of cache memories using stored activity measures
KR20030009117A (ko) 2001-07-19 2003-01-29 김승우 전자화폐 기능을 갖는 이동통신 기기를 사용한 전자화폐운용 방법 및 시스템
US6496058B1 (en) 2001-07-24 2002-12-17 Virtual Ip Group Method for designing an integrated circuit containing multiple integrated circuit designs and an integrated circuit so designed
TWI247402B (en) 2002-02-05 2006-01-11 Via Tech Inc Pad circuit and method for automatically adjusting gain for same
US7292067B2 (en) * 2005-05-13 2007-11-06 Itt Manufacturing Enterprises, Inc. Method and apparatus for buffering bi-directional open drain signal lines
US7342838B1 (en) * 2005-06-24 2008-03-11 Lattice Semiconductor Corporation Programmable logic device with a double data rate SDRAM interface
KR100666176B1 (ko) 2005-08-04 2007-01-09 삼성전자주식회사 반도체 장치의 탐침정렬 확인회로 및 탐침정렬 확인방법
US7526614B2 (en) 2005-11-30 2009-04-28 Red Hat, Inc. Method for tuning a cache
US9223751B2 (en) * 2006-09-22 2015-12-29 Intel Corporation Performing rounding operations responsive to an instruction
US8341300B1 (en) * 2007-08-30 2012-12-25 Virident Systems, Inc. Systems for sustained read and write performance with non-volatile memory
US7969181B1 (en) * 2008-02-03 2011-06-28 Freescale Semiconductor, Inc. Device and method for adjusting an impedance of an output driver of an integrated circuit
US8423715B2 (en) 2008-05-01 2013-04-16 International Business Machines Corporation Memory management among levels of cache in a memory hierarchy

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5500611A (en) 1994-09-30 1996-03-19 Cirrus Logic, Inc. Integrated circuit with input/output pad having pullup or pulldown
US6624656B1 (en) 1999-10-15 2003-09-23 Triscend Corporation Input/output circuit with user programmable functions
WO2003009117A2 (en) 2001-07-18 2003-01-30 Intel Corporation Power saving
US7583102B1 (en) 2006-05-05 2009-09-01 Xilinx, Inc. Testing of input/output devices of an integrated circuit
US20090150734A1 (en) 2007-12-11 2009-06-11 Rdc Semiconductor Co., Ltd. Tri-state i/o port
US8200954B2 (en) 2008-07-08 2012-06-12 Texas Instruments Incorporated Multi-stage boot pin sampling
US8564335B1 (en) 2010-10-15 2013-10-22 Marvell International Ltd. Low power pad
US20130042129A1 (en) 2011-08-09 2013-02-14 Samsung Electronics Co., Ltd. Image forming apparatus, microcontroller, and methods for controlling image forming apparatus and microcontroller

Also Published As

Publication number Publication date
US20160246352A1 (en) 2016-08-25
WO2015077936A1 (en) 2015-06-04
US10884476B2 (en) 2021-01-05
US10241556B2 (en) 2019-03-26
KR101835494B1 (ko) 2018-03-08
DE112013007650T5 (de) 2016-08-11
EP3075118B1 (de) 2019-11-20
CN105659546B (zh) 2020-01-21
EP3075118A4 (de) 2017-09-20
US20190196568A1 (en) 2019-06-27
JP2017504980A (ja) 2017-02-09
CN105659546A (zh) 2016-06-08
EP3075118A1 (de) 2016-10-05
KR20160060726A (ko) 2016-05-30
JP6403764B2 (ja) 2018-10-10

Similar Documents

Publication Publication Date Title
DE60128396T9 (de) Computer-peripheriegerät, das betreibbar bleibt, wenn die operationen des zentralprozessors suspendiert werden
DE102013110085B4 (de) Nicht-flüchtige speichervorrichtung
DE112013004026T5 (de) Vorrichtung, System und Verfahren zur geschalteten Leistungsübertragung zu einer E/A-Schnittstelle
DE102020130978A1 (de) Seitenbandsignalisierung über vorhandene hilfsstifte einer schnittstelle
DE112019001522T5 (de) System, vorrichtung und verfahren zur optimierten drosselung eines prozessors
DE102020125353A1 (de) Transaktionsschichtpaketformat
DE112016000994T5 (de) Ein niedrigstrom-typ-c-empfänger mit hoher leerlaufrausch- und dc-pegel-unterdrückung
DE112015003035T5 (de) Gemeinsame nutzung eines usb-stromzufuhr-controllers
DE112017001020T5 (de) Unterstützung einer vielzahl von speichertypen in einem speichersteckplatz
DE102013110340A1 (de) Ein-Chip-System mit der Fähigkeit zum Steuern einer Leistungsversorgung gemäß einer Datentransaktion und Verfahren zum Betreiben desselben
DE112013001661T5 (de) Bereitstellung eines konsolidierten Seitenband Kommunikationskanal zwischen Geräten
DE102018007025A1 (de) System, Verfahren und Einrichtung zur SRIS-Modus-Auswahl für PCIe
DE112020001586T5 (de) System, gerät und verfahren zur leistungslizenzsteuerung eines prozessors
DE112017004361T5 (de) Steuern eines leistungszustands eines prozessors unter verwendung einer kombination von package- und thread-hinweis-informationen
DE112017003080T5 (de) Prozessor mit gleichzeitigem kern und gewebeausgang aus einem zustand mit geringer energie
DE102018125241A1 (de) Mechanismus einer asymmetrischen Vollduplex-USB-SS-Verbindungsstrecke
DE112019001001T5 (de) System, vorrichtung und verfahren für eine datengestützte niedrigenergiezustandssteuerung auf der grundlage von leistungsüberwachungsinformationen
DE102015202513A1 (de) Vorrichtung und Verfahren zur Datenspeicherung sowie Datenverarbeitungssystem damit
DE102014116538A1 (de) Selektives Deaktivieren von Sensoren und dazugehörigen Funktionen
DE112018004329T5 (de) Steuerblöcke zur prozessorleistungsverwaltung
DE112013007650B4 (de) Autonomes Steuern eines Puffers eines Prozessors
DE112017004991T5 (de) Ausgleichssteuerung für variable energieschienen
DE112017003873T5 (de) Bereitstellung einer Schnittstelle für Herabstufungssteuerinformationen in einem Prozessor
DE112017005000T5 (de) Prozessorspannungssteuerung unter verwendung eines beweglichen mittelwerts
DE102014002370A1 (de) Anzeigen eines kritischen batteriestatus in mobilen einrichtungen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R081 Change of applicant/patentee

Owner name: TAHOE RESEARCH, LTD., IE

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

R082 Change of representative

Representative=s name: DENNEMEYER & ASSOCIATES S.A., DE