DE112016002913T5 - Dynamische Konfiguration von Verbindungsmodi an einem System basierend auf Hostgerätefähigkeiten - Google Patents

Dynamische Konfiguration von Verbindungsmodi an einem System basierend auf Hostgerätefähigkeiten Download PDF

Info

Publication number
DE112016002913T5
DE112016002913T5 DE112016002913.6T DE112016002913T DE112016002913T5 DE 112016002913 T5 DE112016002913 T5 DE 112016002913T5 DE 112016002913 T DE112016002913 T DE 112016002913T DE 112016002913 T5 DE112016002913 T5 DE 112016002913T5
Authority
DE
Germany
Prior art keywords
port
mode
connection
policy manager
dock
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.)
Pending
Application number
DE112016002913.6T
Other languages
English (en)
Inventor
Peter S. Adamson
James R. Trethewey
Kandasubramaniam K. Palanisamy
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE112016002913T5 publication Critical patent/DE112016002913T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4081Live connection to bus, e.g. hot-plugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)

Abstract

Hierin wird eine Vorrichtung zum Konfigurieren von Verbindungsmodi beschrieben. Die Vorrichtung enthält eine Vielzahl von Ports und einen Prozessor. Ein erster Port ist ausgebildet, um ein erstes Gerät an die Vorrichtung zu koppeln, wobei der erste Port für die Kommunikation über einen Modus aus einer Vielzahl von Modi konfigurierbar ist. Der Prozessor ist ausgebildet, um einen Richtlinienmanager zu enthalten, wobei der Richtlinienmanager ausgebildet ist, um den einen Modus am ersten Port basierend auf einem Modus eines zweiten Ports aus der Vielzahl von Ports auszuhandeln.

Description

  • Querverweis auf verwandte Anmeldung
  • Die vorliegende Anmeldung beansprucht die Priorität der US-Patentanmeldung Nr. 14/752,501, die am 26. Juni 2015 von Adamson et al. eingereicht wurde und durch Bezugnahme hierin aufgenommen wird.
  • Gebiet der Technik
  • Die vorliegenden Techniken betreffen allgemein die Auswahl eines Verbindungstyps über eine gemeinsame Verbindung, wenn ein Endpunktgerät mehrere Verbindungstypen unterstützt. Insbesondere betreffen die vorliegenden Techniken eine Methodik zum dynamischen Konfigurieren der USB-Typ-C-Nutzung unter Typ-C-Ports an einem Gerät oder einer Dockingstation.
  • Stand der Technik
  • Wenn ein Gerät an einem Port eines Hostsystems angeschlossen ist, kann er Datensignale, die vom am Hostsystem angeschlossenen Upstream-Port empfangen werden, an beliebige von einem oder mehreren Downstream-Ports des Geräts weiterverteilen. Ebenso können die Downstream-Ports eine gemeinsame Verbindung zum Upstream-Port nutzen und Daten über den Upstream-Port an das Hostsystem senden. Die Reihenfolge, in der die Downstream-Ports auf den gemeinsamen Upstream-Port zugreifen, kann die Verbindungsqualität für die Downstream-Ports bestimmen, da ein erster Downstream-Port die von einem zweiten Downstream-Port benötigten Pins und Datenleitungen steuern kann.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist ein Blockschema eines System-on-Chip (SoC) auf einer Leiterplatte (LP);
  • 2 veranschaulicht ein System mit mehreren Ports;
  • 3 veranschaulicht einen DisplayPort-Dongle und einen USB-Dongle;
  • 4 ist ein Fließschema eines Verfahrens für Aushandlungen, bei denen ein DisplayPort-Dongle mit einem externen Dock-Port verbunden wird;
  • 5 ist ein Fließschema eines Verfahrens für Aushandlungen, bei denen ein USB-Gerät mit einem externen Dock-Port verbunden wird;
  • 6 ist ein Fließschema eines Verfahrens zum Abspeichern von ausgehandelten Alternate Modes;
  • 7A ist ein Fließschema eines Verfahrens für einen Slaveport-Chip-Peripherierichtlinienmanager;
  • 7B ist ein Fließschema eines Verfahrens für einen Masterport-Chip-Peripherierichtlinienmanager;
  • 8A ist ein Blockschema, das ein physisches, nicht transientes computerlesbares Medium, das Code für einen zentralen Richtlinienmanager speichert, zeigt;
  • 8B ist ein Blockschema, das ein physisches, nicht transientes computerlesbares Medium, das Code für einen Peripherierichtlinienmanager speichert, zeigt; und
  • 9 ist ein Blockschema von in einem Computersystem vorhandenen Komponenten gemäß einer Ausführungsform der vorliegenden Erfindung.
  • In der Offenbarung und den Figuren werden für Bezugnahmen auf gleiche Komponenten und Merkmale durchgehend dieselben Bezugszeichen genutzt. Die Bezugszeichen der 100-Reihe beziehen sich auf Merkmale, die ursprünglich in 1 vorkommen; die Bezugszeichen der 200-Reihe beziehen sich auf Merkmale, die ursprünglich in 2 vorkommen; und so weiter.
  • Beschreibung der Ausführungsformen
  • Die Verbindungsqualität für mehrere Ports, die eine gemeinsame Verbindung nutzen, kann basierend auf diversen Faktoren geändert werden. Die gemeinsame Verbindung ist beispielsweise ein Port, der mit einem Hostsystem gekoppelt ist. Das Hostsystem kann ein Computergerät, etwa ein Tablet, sein, und das Tablet ist für die Kopplung mit einem mehrere Ports enthaltenden Dock vorgesehen. Die gemeinsame Verbindung und die mehreren Ports können diverse Spezifikationen erfüllen, etwa beliebige Spezifikationen des Universal Serial Bus Implementers Forum (USB-IF). Die gemeinsame Verbindung kann auch gemäß der Peripheral-Component-Interconnect-Express(PCIe)-Spezifikation implementiert werden, etwa gemäß der im November 2010 veröffentlichten PCI-Express-3.0-Spezifikation. Die gemeinsame Verbindung kann gemäß einer beliebigen DisplayPort-Spezifikation der Video Electronics Standard Association (VESA) implementiert werden, etwa gemäß dem im September 2014 veröffentlichten VESA DisplayPort Standard 1.3. Die vorliegenden Techniken werden beispielhaft und der einfacheren Beschreibung halber gemäß der USB-Type-C-Cable-and-Connector-Spezifikation in der Version 1.0 vom 11. August 2014 beschrieben. Jedoch können beliebige Verbindungen, die zum Unterstützen mehrerer Protokolle und Spezifikationen fähig sind, genutzt werden.
  • USB Typ C ermöglicht, dass diverse Verbindungstypen wie USB2, USB3, PCIe, HDMI, DisplayPort und so weiter über eine einzige physikalische Verbindung funktionsfähig sind. Zum Ermöglichen mehrerer Verbindungstypen können dieselben Pins genutzt werden. USB2 beruht auf der im April 2000 veröffentlichten Universal-Serial-Bus-2.0-Spezifikation. USB3 beruht auf der im Juli 2013 veröffentlichten Universal-Serial-Bus-3.1-Spezifikation. Eine High-Definition-Multimedia-Interface(HDMI)-Verbindung beruht möglicherweise auf der im September 2013 veröffentlichten HDMI-Spezifikation in der Version 2.0. Die diversen Verbindungstypen können über Alternate Modes, wie durch die USB-Typ-C-Spezifikation ermöglicht, realisiert werden. Insbesondere ermöglicht die USB-Typ-C-Spezifikation, dass Signal-Pins nicht nur zur USB2/USB3-Datenübertragung dienen, sondern auch zu alternativen Zwecken anders belegt werden können. Diese anderen Belegungen heißen Alternate Modes. Jeder USB-Typ-C-Port kann keinen oder mehr Alternate Modes unterstützen. Die vorliegenden Techniken werden zwar anhand von Alternate Modes gemäß der USB-Typ-C-Spezifikation beschrieben, jedoch kommen hierfür beliebige Modi in Frage. Demzufolge sind die hierin beschriebenen Alternate Modes lediglich beispielhaft.
  • Die Alternate Modes sind abhängig von den konkreten Ressourcen des Systems sowie von den Pinbelegungen gemäß der USB-Typ-C-Spezifikation. Wenn nur ein Typ-C-Steckverbinder, der Alternate Modes unterstützt, mit dem Hostsystem verbunden ist, dieser aber für mehrere Downstream-Typ-C-Verbindungen, die ebenfalls Alternate Modes unterstützen, als Zugang zum Hostsystem dienen kann, kann es zu einer Situation kommen, in der es unter den verschiedenen mit dem System verbundenen Geräten um den schnellsten Zugriff auf die Systemressourcen geht.
  • Die hierin beschriebenen Ausführungsformen betreffen eine Methodik zum dynamischen Konfigurieren der Nutzung gemeinsamer Verbindungen unter den Ports eines Geräts oder einer Dockingstation. Insbesondere sind die vorliegenden Techniken auf die USB-Typ-C-Nutzung unter Typ-C-Ports eines Geräts oder einer Dockingstation anwendbar.
  • In der folgenden Beschreibung werden zahlreiche spezielle Einzelheiten dargelegt, etwa Beispiele für spezielle Typen von Prozessoren und Systemkonfigurationen, spezielle Hardwarestrukturen, spezielle Architektur- und Mikroarchitektureinzelheiten, spezielle Registerkonfigurationen, spezielle Befehlstypen, spezielle Systemkomponenten, spezielle Abmessungen/Höhen, spezielle Prozessor-Pipeline-Stufen und -Vorgänge etc., um ein eingehendes Verständnis der vorliegenden Erfindung zu vermitteln. Es versteht sich jedoch für den Fachmann, dass diese speziellen Einzelheiten nicht unbedingt erforderlich dafür sind, um die vorliegende Erfindung praktisch umzusetzen. In anderen Fällen wurden weithin bekannte Komponenten oder Verfahren, etwa spezielle und alternative Prozessorarchitekturen, spezielle logische Schaltungen/Codes für beschriebene Algorithmen, spezieller Firmwarecode, spezielle Zusammenschaltungsvorgänge, spezielle Logikkonfigurationen, spezielle Fertigungstechniken und -materialien, spezielle Compiler-Implementierungen, das spezielle Ausdrücken von Algorithmen als Code, spezielle Leistungsabsenkungs- und Power-Gating-Techniken/Logiken und andere spezielle Einzelheiten zum Betrieb des Computersystems, nicht im Detail beschrieben, um die Verständlichkeit der vorliegenden Erfindung nicht unnötig zu erschweren.
  • Obgleich die folgenden Ausführungsformen möglicherweise in Bezug auf Energieeinsparungen und die Energieeffizienz in speziellen integrierten Schaltungen, etwa in Computerplattformen oder Mikroprozessoren, beschrieben werden, sind andere Ausführungsformen auch auf andere Typen von integrierten Schaltungen und Logikbauelementen anwendbar. Ähnliche Techniken und Lehren von hierin beschriebenen Ausführungsformen sind auf noch andere Typen von Schaltungen oder Halbleiterbauelementen anwendbar, für die eine bessere Energieeffizienz und verbesserte Energieeinsparungen ebenfalls förderlich sein können. Zum Beispiel sind die offenbarten Ausführungsformen nicht auf Desktop-Computer-Systeme oder UltrabooksTM beschränkt. Sie sind auch verwendbar in anderen Geräten wie Handheld-Geräten, Tablets, sonstigen flachen Notebooks, System-on-Chip(SoC)-Geräten sowie eingebetteten Anwendungen. Zu Beispielen für Handheld-Geräte zählen Handys, IP-Geräte, Digitalkameras, Personal Digital Assistants (PDAs) und Handhelds. Zu eingebetteten Anwendungen zählen typischerweise ein Mikrocontroller, ein digitaler Signalprozessor (DSP), ein System-on-Chip, Netzcomputer (NetPCs), Set-Top-Boxen, Hubs, Wide-Area-Network(WAN)-Switches und jegliche anderen Systeme, welche die Funktionen und Vorgänge gemäß den Lehren unten durchführen können. Zudem sind die hierin beschriebenen Vorrichtungen, Verfahren und Systeme nicht auf Computergeräte in Form von Hardware beschränkt, sondern eignen sich möglicherweise auch für Software-Optimierungen mit Blick auf Energieeinsparungen und die Energieeffizienz. Wie ohne Weiteres aus der Beschreibung unten hervorgehen wird, sind die Ausführungsformen von Verfahren, Vorrichtungen und Systemen, die hierin (in Bezug auf Hardware, Firmware, Software oder Kombinationen davon) beschrieben werden, grundlegend für eine Zukunft mit ,grüner Technologie' in Abwägung mit Überlegungen zur Leistungsfähigkeit.
  • Mit der zunehmenden Weiterentwicklung von Computersystemen werden auch die Komponenten in ihnen immer komplexer. Folglich erhöht sich auch die Komplexität der Interconnect-Architektur zur Kopplung und Kommunikation zwischen den Komponenten, um sicherzustellen, dass die Anforderungen an die Bandbreite für einen optimalen Komponentenbetrieb erfüllt werden. Des Weiteren wird für unterschiedliche Marktsegmente vorausgesetzt, dass unterschiedliche Aspekte von Interconnect-Architekturen den Marktanforderungen gerecht werden. Zum Beispiel erfordern Server eine höhere Leistungsfähigkeit, während das mobile Ökosystem für Energieeinsparungen im Gegenzug manchmal Einbußen hinsichtlich der Gesamtleistungsfähigkeit hinnehmen kann. Trotzdem haben die meisten Fabrics den konkreten Zweck, eine so hohe Leistungsfähigkeit wie möglich bei maximalen Energieeinsparungen bereitzustellen. Unten werden einige Zusammenschaltungen erörtert, für die Aspekte der Erfindung, die hierin beschrieben werden, eventuell förderlich wären.
  • 1 ist ein Blockschema eines System-on-Chip (SoC) 100 auf einer Leiterplatte (LP) 102. Das SoC 100 und die LP 102 können Komponenten zum Beispiel unter anderem von einem Laptop-Computer, einem Desktop-Computer, einem Ultrabook, einem Tablet-Computer, einem mobilen Gerät oder einem Server sein. Das SoC 100 kann einen Zentralprozessor (CPU) 104, der konfiguriert ist, um gespeicherte Befehle auszuführen, sowie ein Speicherelement 106, das durch die CPU 104 ausführbare Befehle speichert, enthalten. Die CPU kann über einen Bus 108 an das Speicherelement 106 gekoppelt sein. Darüber hinaus kann die CPU 104 ein Einzelkernprozessor, ein Mehrkernprozessor, ein Computercluster oder beliebig viele andere Konfigurationen sein. Des Weiteren kann das SoC 100 auch mehr als nur eine CPU 104 enthalten.
  • Das SoC 100 kann auch einen Grafikprozessor (GPU) 110 enthalten. Wie gezeigt, kann die CPU 104 über den Bus 108 an die GPU 110 gekoppelt sein. Die GPU 110 kann für die Durchführung beliebig vieler Grafikfunktionen und -aufgaben konfiguriert sein. Zum Beispiel kann die GPU 110 zum Rendern oder Bearbeiten von Computergrafiken, Bildern, Videos oder dergleichen zur Anzeige für einen Benutzer des SoC 100 konfiguriert sein. Das Speicherelement 106 kann einen Arbeitsspeicher (RAM), einen Nur-Lese-Speicher (ROM), einen Flash-Speicher oder beliebige andere geeignete Speichersysteme enthalten. Das Speicherelement 106 enthält zum Beispiel möglicherweise ein dynamisches RAM (DRAM).
  • Die CPU 104 kann über den Bus 108 mit einer Eingabe/Ausgabe(E/A)-Geräteschnittstelle 112 verbunden sein, die konfiguriert ist, um das SoC 100 über verschiedene Ebenen der LP 102 und Komponenten der LP 102 mit einem oder mehreren EIA-Geräten 114 zu verbinden. Die E/A-Geräte 114 enthalten zum Beispiel möglicherweise eine Tastatur und ein Zeigegerät, wobei das Zeigegerät unter anderem ein Touchpad oder einen Touchscreen enthalten kann. Die E/A-Geräte 114 sind möglicherweise eingebaute Komponenten einer das SoC 100 enthaltenden Plattform oder Geräte, die extern mit einer das SoC 100 enthaltenden Plattform verbunden sind. In Ausführungsformen sind die E/A-Geräte 114 möglicherweise eine Tastatur oder ein Zeigegerät, die bzw. das mittels eines MUX 122 mit einer USB-Baugruppe 120 des SoC 100 gekoppelt ist.
  • Die CPU 104 kann auch über den Bus 108 mit einer Anzeigeschnittstelle 116 gekoppelt sein, die konfiguriert ist, um das SoC 100 über verschiedene Ebenen der LP 102 und Komponenten der LP 102 mit einem oder mehreren Anzeigegeräten 118 zu verbinden. Das/die Anzeigegerät(e) 118 kann/können einen Bildschirm enthalten, bei dem es sich um eine eingebaute Komponente einer das SoC 100 enthaltenden Plattform handelt. Zu Beispielen für ein solches Computergerät zählen mobile Computergeräte wie Handys, Tablets, 2-in-1-Computer, Notebook-Computer oder dergleichen. Das Anzeigegerät 118 enthält möglicherweise unter anderem auch einen Computermonitor, einen Fernseher oder einen Projektor, die je extern mit dem SoC 100 verbunden sind. In Ausführungsformen ist das Anzeigegerät 118 möglicherweise ein DisplayPort-Gerät, das mittels eines Multiplexers (MUX) 122 mit einer USB-Baugruppe 120 des SoC 100 gekoppelt ist.
  • Die USB-Baugruppe 120 kann einen Sender und einen Empfänger zum Senden und Empfangen von USB-Daten enthalten. Die USB-Baugruppe 120 kann auch Komponenten enthalten, die nötig sind, um die USB-Battery-Charging-Spezifikation, die USB-On-the-Go-Spezifikation, die USB-Power-Delivery-Spezifikation und die USB-Typ-C-Spezifikation zu implementieren. Die LP 102 kann auch Komponenten zum Implementieren der verschiedenen USB-Spezifikationen enthalten. Von der USB-Baugruppe 120 können Daten an den MUX 122 und von dort weiter an eine Vielzahl von USB-Geräten 124 gesendet werden. In Ausführungsformen sind die USB-Geräte 124 Geräte, die mehrere Protokolle oder USB-Typ-C-Geräte unterstützen. Der MUX 122 kann für die Auswahl verschiedener USB-Features, die dank der USB-Baugruppe 120 zur Verfügung stehen, konfiguriert sein. Der MUX 122 kann zum Beispiel verwendet werden, um unter anderem USB 2.0, USB 3.0, USB Battery Charging, USB Power Delivery, HDMI, DisplayPort oder PCle zu implementieren.
  • In Ausführungsformen konkurriert die Vielzahl von USB-Geräten 124 möglicherweise um die Nutzung und Steuerung von Ressourcen des SoC 100. Je nachdem, welche USB-Geräte mit dem SoC 100 gekoppelt sind, sind einige Geräte möglicherweise überprovisioniert. Mit anderen Worten, ein Gerät kann Ressourcen steuern, obwohl diese vom Gerät gerade nicht genutzt werden. Ein Richtlinienmanager ist ausgebildet, um jedem Gerät einer gemeinsamen Verbindung Ressourcen dynamisch zuzuweisen. In Ausführungsformen kann ein Benutzer für ein oder mehrere Geräte einen Verbindungstyp auswählen. Der Richtlinienmanager kann bestimmen, welche Verbindungstypen in einem gemeinsamen Steckverbinder gleichzeitig vorhanden sein können.
  • Das SoC 100 kann auch mit einem Datenspeicher 126 gekoppelt sein. Der Datenspeicher kann eine auf der LP 102 untergebrachte Komponente sein. Darüber hinaus kann der Datenspeicher 126 ein physischer Speicher wie eine Festplatte, ein Laufwerk einer optischen Platte, ein Thumb Drive, ein Laufwerk-Array oder beliebige Kombinationen davon sein. Der Datenspeicher 126 kann auch Remote-Speicherlaufwerke enthalten. Das SoC 100 kann auch einen Network Interface Controller (NIC) 128 enthalten, der konfiguriert sein kann, um das SoC 100 über den Bus 108, verschiedene Ebenen der LP 102 und Komponenten der LP 102 mit einem Netz 130 zu verbinden. Das Netz 130 kann unter anderem ein Wide Area Network (WAN), ein Local Area Network (LAN) oder das Internet sein.
  • Es versteht sich, dass das Blockschema von 1 nicht anzeigt, dass das SoC 100 alle der in 1 gezeigten Komponenten enthalten muss. Denn das SoC 100 kann auch weniger oder noch mehr Komponenten als in 1 veranschaulicht enthalten. Des Weiteren können die Komponenten entsprechend einer beliebigen geeigneten Systemarchitektur, einschließlich der in 1 gezeigten Systemarchitektur oder beliebiger anderer geeigneter Systemarchitekturen, die einen Datenbus zum Vermitteln von Kommunikationen zwischen Komponenten nutzen, aneinander gekoppelt sein. Zum Beispiel können Ausführungsformen der vorliegenden Techniken auch in beliebigen geeigneten elektronischen Bauelementen, die Ultra-Compact-Form-Factor-Bauelemente wie SoC- und Mehrchipmodule enthalten, implementiert werden. Die vorliegenden Techniken sind auch auf beliebige zum Übermitteln digitaler Informationen von einer Stelle zu einer anderen dienende Elektrokabel innerhalb oder außerhalb eines Computers anwendbar. Zum Beispiel können Ausführungsformen der vorliegenden Techniken genutzt werden, um Festplattenlaufwerke zu verbinden.
  • Wenn nur ein Steckverbinder, der Alternate Modes unterstützt, mit dem Hostsystem verbunden ist, selbst jedoch eine von mehreren Downstream-Ports für den Zugang zum Hostsystem gemeinsam genutzte Verbindung ist, wird eine Methodik zur gemeinsamen Nutzung und Arbitrierung der begrenzten Ressourcen dieser einzigen Hostverbindung angewendet. So lassen sich Situationen vermeiden, in denen es um den schnellsten Zugriff auf Systemressourcen geht. In Ausführungsformen kann ein Benutzer die Fähigkeiten jedes Geräts derart festlegen, dass der Gerätebetrieb für jeden Benutzer individuell angepasst wird.
  • 2 veranschaulicht ein System 200 mit mehreren Ports. Das System 200 enthält ein Tablet 202 und ein Dock 204. In Ausführungsformen enthält das System 200 USB-Ports. Das Tablet 202 enthält zum Beispiel eine Buchse 206 und eine Buchse 208. Die Buchse 206 und die Buchse 208 können je USB-Typ-C-Ports sein. Die USB-Typ-C-Spezifikation 1.0, die im August 2014 veröffentlicht wurde, beschreibt einen Steckverbinder für die Übertragung von USB-Signalen. Der USB-Typ-C-Steckverbinder nutzt eine aktive Elektronik für die Konfigurationsverwaltung, etwa für die Ausrichtungs- und Funktionserkennung und die Sideband-Nachrichtenweiterleitung. Eine aktive Elektronik enthält, ohne darauf beschränkt zu sein, einen Port-Chip und einen Port-Datenrouting-Multiplexer (Mux).
  • Zusätzlich oder alternativ kann der Port 206 des Tablets 202 ein Typ-C-Docking-Steckplatz und der Port 208 ein externer Typ-C-Steckplatz sein. In Ausführungsformen wird ein Docking-Steckplatz bzw. ein Dock-Port zum Zweck des Andockens an ein anderes Gerät genutzt, auch etwa für Zusammenkopplungen einer Vielzahl von Geräten. Darüber hinaus ist ein externer Steckplatz bzw. ein externer Port in Ausführungsformen ein Steckplatz bzw. ein Port zum Aufnehmen eines Steckverbinders, der wiederum mit einem Gerät beliebiger Art verbunden ist, etwa mit einem Thumb Drive, einem Medienabspielgerät oder einem Display. Das Dock 204 enthält einen Stecker 210, eine Buchse 212 und eine Buchse 214. Der Stecker kann ein USB-Typ-C-Docking-Stecker sein. Der USB-Typ-C-Docking-Stecker des Docks kann mit einem Typ-C-Docking-Steckplatz 206 des Tablets 202 gekoppelt sein. Die Buchse 212 und die Buchse 214 können je externe Typ-C-Steckplätze sein. Obgleich konkrete Docking-Steckplätze und konkrete externe Steckplätze beschrieben werden, kann ein Tablet beliebig viele externe Steckplätze und beliebig viele Docking-Steckplätze enthalten. Ebenso kann das Dock 204 beliebig viele Docking-Stecker und beliebig viele externe Steckplätze enthalten.
  • Zum Beispiel wird ein Docking-Steckplatz bzw. ein Dock-Port zum Zweck des Andockens an ein anderes Gerät genutzt, auch etwa für Zusammenkopplungen einer Vielzahl von Geräten. Der Dock-Port kann dazu genutzt werden, damit ein erstes Gerät an einem zweiten Gerät „andockt”. Beispielsweise ist das erste Gerät ein Dock und das zweite Gerät ein Tablet oder ein Laptop. Dadurch, dass die zwei Geräte über einen Dock-Port aneinander andocken, kann der Funktionsumfang des Tablets bzw. des Laptops erweitert werden und das Tablet bzw. der Laptop infolgedessen als ein größeres Computergerät dienen. Ein größeres Computergerät ist beispielsweise ein Desktop-Computer, ein Server oder dergleichen. Ein externer Port kann einen Steckverbinder aufnehmen, der wiederum mit einem Gerät beliebiger Art verbunden wird, etwa mit einem Thumb Drive, einem Medienabspielgerät oder einem Display. Über den externen Port kann ein Benutzer verschiedene Peripheriegeräte entweder mit dem ersten Gerät oder mit dem zweiten Gerät verbinden.
  • Das Tablet 202 enthält auch ein System-on-Chip (SoC) 216. Das SoC 216 kann das SoC 100 (1) sein. Ferner enthält das Tablet 202 einen Platform Controller Hub (PCH) 218. Der PCH 218 dient zum Steuern verschiedener Datenwege und zum Unterstützen von Funktionen des SoC 216. Eine Grafik-Engine (Gfx) oder ein Grafikprozessor (GPU) 220 kann zum Rendern oder Bearbeiten von Computergrafiken, Bildern, Videos oder dergleichen konfiguriert sein. In Ausführungsformen ist die Gfx 220 möglicherweise ein Teil des SoC, wie bezüglich 1 beschrieben. Das Tablet 202 enthält auch einen eingebetteten System-Controller (System-EC) 222. Der System-EC 222 ist ausgebildet, um verschiedene Richtlinien und Systemkonfigurationen mit einem Port-Chip T1 224 und einem Port-Chip T2 226 zu kommunizieren. Der Port-Chip T1 224 befindet sich neben dem Docking-Steckplatz 206, und der Port-Chip T2 226 befindet sich neben dem externen Steckplatz 208. Ein Dock-Port-Datenrouting-Multiplexer (Mux) 228 ist ausgebildet, um Daten vom Dock 204 unter den verschiedenen Komponenten des Tablets 202 weg zu routen. Ebenso ist ein externer Steckplatz 230 ausgebildet, um Daten vom Port 208 weg zu routen.
  • Das Dock 204 enthält einen Dock-Mikrocontroller 250, der ausgebildet ist, um bei der Implementierung einer zentralen Richtlinienverwaltung verschiedene Richtlinien und Konfigurationen mit einem Port-Chip D1 232, einem Port-Chip D2 234 und einem Port-Chip D3 236 zu kommunizieren. Im Fall einer Peripherierichtlinienverwaltung kann die Richtlinienverwaltungsfunktionalität an jedem Port-Chip eingerichtet sein, sodass der Bedarf an einem die zentrale Richtlinienverwaltung durchführenden Mikrocontroller entfällt oder geringer ist. Ein Port1-Datenrouting-Mux 238 wird genutzt, um Daten vom Port 212 weg zu routen. Ebenso wird ein Port2-Datenrouting-Mux 240 genutzt, um Daten vom Port 214 weg zu routen. Ein Dock-Port-Datenrouting-Mux 242 ist ausgebildet, um Daten vom Dock-Stecker 210 weg zu routen. Darüber hinaus ist ein USB-Hub 244 ausgebildet, um USB2.0- und USB3-Daten von Port zu Port zu routen. Ein DisplayPort(DP)-Switch-MUX 246 wird genutzt, um DP-Daten von Port zu Port zu routen.
  • In Ausführungsformen ist der Dock-Stecker 210 ausgebildet für Verbindungen mit dem Port 206 oder dem Port 208 des Tablets 202. Im Beispiel mit dem System 200 wird veranschaulicht, wie der Port 206 den Dock-Stecker 210 aufnimmt. Ein Benutzer kann das Tablet 202 oder das Dock 204 ferner mit speziellen Endpunktgeräten wie USB-Geräten, Headsets oder DisplayPort-Displays verbinden, indem er einen Steckverbinder in eine beliebige Buchse am Tablet 202 oder am Dock 204 steckt. Wenn die Buchsen Typ-C-Buchsen sind, können an einem einzigen Port über einen HSB-Hub zwei USB-Geräte gleichzeitig unterstützt werden. Hingegen kann von einem Typ-C-Port nur ein einziges DisplayPort-Gerät unterstützt werden. Dies ist bedingt durch Pinbelegungsvorgaben gemäß der USB-Typ-C-Spezifikation und der USB-Power-Delivery(USB-PD)-Spezifikation 2.0, wie im August 2014 veröffentlicht, sowie gemäß dem Adopters Agreement und ECNs, die bis einschließlich 26. November 2014 verabschiedet wurden. Unten werden beispielhafte Nutzungsweisen in einer USB-Typ-C-Ausführungsform bezüglich Tabelle 1 erörtert.
  • Insbesondere beschreibt die USB-PD-Spezifikation 2.0 die Verfahren und den Inhalt bei der Sideband-Management-Nachrichtenweiterleitung. Eine Klasse dieser Nachrichten dient USB-PD-Zwecken. Durch diese Nachrichten kann eine Porteinheit (Gerät) an jedem Ende eines Typ-C-Kabels einen Gerätestatus aushandeln und zwischen der Zuführung von Strom („Quelle”) und dem Verbrauch von Strom („Senke”) entscheiden. Demzufolge kann die Stromvereinbarung zwischen den zwei Porteinheiten über eine Nachrichtenweiterleitung ausgehandelt werden. Eine zweite Klasse von Nachrichten dient dem Zweck der dynamischen Neudefinition einer Untermenge (einer beliebigen Kombination von bis zu zwölf) der vierundzwanzig Pins eines Typ-C-Steckverbinders, wobei für diese die Bezeichnung Alternate Modes verwendet wird. Sowohl Alternate Modes gemäß der Industrienorm als auch proprietäre Alternate Modes können von einem Systemplaner definiert werden.
  • In einigen Ausführungsformen werden die Typ-C-Konfigurationsverwaltung, die USB-PD-Steuerung und die Alternate-Mode-Steuerung mittels Port-Controller-Chips durchgeführt, die unmittelbar neben allen mechanischen Steckverbindungselementen wie Steckern, Steckplätzen oder Ports positioniert sind. Die Port-Controller-Chips wie der Port-Chip T1 224, der Port-Chip T2 226, der Port-Chip D1 232, der Port-Chip D2 234 und der Port-Chip D3 236 sind in der Regel entweder Universalmikrocontroller, die von einer speziellen, diskreten, zugehörigen Elektronik unterstützt werden, oder Spezialmikrocontroller zur Unterbringung der gesamten erforderlichen Funktionalität in einem Single Chip Package. Im Betrieb ist jeder Port-Chip ein Controller, in dem Firmware-Befehle zum Implementieren der Vorgaben von Spezifikationen liegen. Diese Firmware ist in der Regel in einem nicht flüchtigen Speicherbereich in FLASH-Art gespeichert.
  • Des Weiteren werden Alternate Modes, die durch die USB-Spezifikationen definiert sind, durch eine Richtlinienmanager genannte Einheit ausgehandelt. Der Richtlinienmanager kann in einem beliebigen Port-Chip oder einer sonstigen zum Kommunizieren mit dem Port-Chip fähigen CPU laufen. Weitere CPUs enthalten den Dock-Mikrocontroller 250 oder den eingebetteten System-Controller 222. In Ausführungsformen, in denen sich in einem Tablet 202 mehr als nur ein Port-Chip oder im Dock 204 mehr als nur ein Port-Chip befindet, kann ein einzelner, separater Mikrocontroller wie der Dock-Mikrocontroller 250 oder der eingebettete System-Controller 222 als Richtlinienmanager dienen. Die zentrale Richtlinienverwaltung bezieht sich auf ein Szenario, in dem ein separater Mikrocontroller als Richtlinienmanager dient. Die Peripherierichtlinienverwaltung bezieht sich auf ein Szenario, in dem jeder Port-Chip an der Richtlinienverwaltung beteiligt ist.
  • Mittels der Richtlinienverwaltung werden die Modi bestimmt, die in Port- und Steckplatzkombinationen innerhalb eines Systems gleichzeitig implementiert werden. Alternate Modes können dazu genutzt werden, um viele der vierundzwanzig Pins an einem Typ-C-Steckverbinder umzufunktionieren, wobei viele gebräuchliche Modi wie USB2, USB3 & DisplayPort 4K, PCI-E und alle sonstigen Modi neben USB2, HD Audio & DisplayPort 4K etc. nicht gleichzeitig über dieselbe Verbindung laufen können, da für jede Zusammenführung von Modi dieselben Pins benötigt werden. Zum Beispiel können mit DisplayPort bei der Anwendung über einen Typ-C-Steckverbinder (Belegung E, 4 Lanes) volle Monitorauflösungen von mindestens 4K erreicht werden, wofür die Bezeichnung DisplayPort 4K verwendet wird. Eine solche DisplayPort-Implementierung nutzt vier Daten-Lanes des Typ-C-Steckverbinders (Dx4) und steht im Konflikt mit den Pins, die schon für USB3 genutzt werden. Der Dx4-Modus nutzt auch die Sekundärbus(SBU)-Pins, die im Konflikt mit Analog Audio stehen. In Ausführungsformen wird Analog Audio durch Multiplexen von vier analogen Audiosignalen auf Pins des USB-Typ-C-Steckverbinders im Audio Adapter Accessory Mode implementiert. Jedoch kann auch DisplayPort angewendet werden (Belegung F, 2 Lanes) und wird als DisplayPort High Definition (HD) bezeichnet. Diese DisplayPort-Implementierung nutzt zwei Daten-Lanes (Dx2) des Typ-C-Steckverbinders und führt zu einer im Vergleich zu DisplayPort 4K geringeren Display-Auflösung. DisplayPort mit Dx2 steht nur mit Analog Audio und nicht mit USB3 im Konflikt. Demzufolge kann DisplayPort mit Dx2 gleichzeitig mit USB3 über denselben Typ-C-Steckverbinder angewendet werden. Ebenso steht PCI-Express (2 Lanes) sowohl mit USB3 als auch mit Analog Audio (und DisplayPort 4 Lanes) im Konflikt, während PCI-Express (1 Lane) nur mit Analog Audio (und DisplayPort 2 Lanes) im Konflikt steht. Wenn auch nicht alle Alternate-Mode-Kombinationen zu Ressourcenkonflikten führen, gibt es viele Kombinationen, die durchaus Konflikte auslösen, welche eine Strategie zur Auflösung erfordern. Zudem sind die hierin beschriebenen Alternate-Mode-Kombinationen lediglich beispielhaft. Gemäß den vorliegenden Techniken können beliebige Alternate-Mode-Kombinationen (einschließlich nahezu unbegrenzt vieler proprietärer Alternate Modes) genutzt werden.
  • Damit Hostgeräte die Alternate Modes richtig verarbeiten können, müssen nicht nur die Pins am Typ-C-Steckverbinder, sondern auch die vom Steckverbinder zu ihren Quellen hin verlaufenden Datenleitungen umfunktioniert werden. Zum Beispiel werden auch Datenleitungen zum Peripheral Controller Hub (PCH) oder zum Hostprozessor hin umfunktioniert. In Ausführungsformen werden die Datenleitungen im Hostprozessor mittels Switches zum Umleiten der Daten oder Datenwege innerhalb des PCH oder des Hostprozessors umfunktioniert. Die Typ-C-Steckverbinder würden die Typ-C-Pins für ihre speziellen Endpunktgeräte mittels aktiver Typ-C-Dongles, die in 3 gezeigt sind, rekonfigurieren.
  • 3 veranschaulicht einen DisplayPort-Dongle 302 und einen USB-Dongle 304. Der DP-Monitor 306 ist eine Display-Senke. Wie hierin beschrieben, ist ein Dongle eine beliebige Komponente mit einer aktiven Elektronik, die an einen externen Steckverbinder eines Systems angeschlossen wird, wodurch eine Signalanpassung in irgendeiner Form erfolgt, die in der Regel an einem Steckverbinder mit einem anderen Formfaktor als demjenigen des Systems präsentiert wird. Die Komponente kann beispielsweise ein Kabel sein. Zu Dongles zählen zum Beispiel USB-Typ-A-Kabel, die in DB9 Serial, DB25 Parallel Printer, RJ45 Ethernet, VGA etc. umwandeln. In dem Beispiel in 3 ist der Dongle 302 an einem Ende ein USB-Typ-C-Dongle und am anderen Ende DisplayPort-konform. Der Dongle 318 ist an einem Ende ein USB-Typ-C-Dongle und am anderen Ende USB-Typ-A-konform.
  • Demzufolge würden die Dongles im Fall von Typ-C-Steckverbindern die Typ-C-Pins für ihre speziellen Endpunktgeräte rekonfigurieren. Diese Dongles werden als „aktiv” beschrieben, da in ihnen Port-Chips für Aushandlungen mit Port-Chips von Hostsystemen über die Typ-C-Verbindung mittels des Kommunikationskanals (CC) zur Bekanntgabe ihrer „Alternate Modes” integriert sind, damit Hostsysteme Daten von ihren Endpunktgeräten richtig verarbeiten (oder, falls sie dies nicht können, die Verbindung ablehnen) können. Ein Hostsystem ist zum Beispiel möglicherweise ein Tablet 202 (2). In dieser Implementierung würden keine Alternate Modes für die externen Ports 212 und 214 des Docks 204 ausgehandelt, wenn das Tablet nicht eingedockt war, jedoch könnten die über die Ports 212 und 214 mit dem Dock 204 verbundenen Geräte mit Strom versorgt werden. Diese Implementierung unterstützt sowohl DisplayPort 4K (DP-4K) als auch USB3 im Dock über den gemeinsamen Typ-C-Dock-Port 210. In Tabelle 1 sind beispielhafte Verbindungen, die gleichzeitig über einen Typ-C-Steckverbinder unterstützt werden können, aufgeführt:
    Video USB Audio
    DP-4K nur USB2 keine
    DP-HD USB2 & USB3 keine
    keine USB2 & USB3 Digital oder Analog
    Tabelle 1
  • Wenn gemäß Tabelle 1 zum Beispiel DisplayPort HD unterstützt wird, kann entweder USB2 oder USB3 unterstützt werden, während Audio nicht unterstützt wird. Ohne Video kann entweder USB2 oder USB3 unterstützt werden, und es wird Digital Audio oder Analog Audio unterstützt.
  • Obgleich die Port-Chips an der Portverwaltung beteiligt sind, sind die Port-Chips in keiner Weise mit den Typ-C-Datenkanälen verbunden. Zweckmäßigerweise senden oder empfangen die Port-Chips Strom und kommunizieren mit den anderen Port-Chips über CC-Pins. Im Fall des DP-Dongles 302 weiß der Port-Chip 314 nicht, ob das verbundene Display 306 ein 4K-Display (das 4 Lanes nutzt) oder ein HD-Display (das 2 Lanes nutzt) ist. Für den USB3-Dongle 304 ist dem Port-Chip 320 nicht bekannt, ob das verbundene USB-Gerät USB3 oder USB2 nutzt. Der Dongle kann die Qualität oder den Typ der für das Endpunktgerät (Endpoint Device, ED) erforderlichen Verbindung über die zentrale Richtlinienverwaltung oder die Peripherierichtlinienverwaltung bestimmen. In Ausführungsformen werden unter Nutzung einer Richtlinien-Engine die jeweiligen Verbindungen jedes Dongles bestimmt. So lässt sich vermeiden, dass Datenleitungen wie Zusatz-Pins für DP oder High-Speed-USB3-Pins durch den Port-Chip verlaufen. Ohne eine Richtlinienverwaltung würden diese Datenleitungen vom Port-Chip zur Bestimmung des Verbindungstyps genutzt. Wenn zusätzliche Datenleitungen durch die Port-Chips verlaufen, werden zudem zusätzliche Chips zur Berücksichtigung der Hochgeschwindigkeitssignale sowie zusätzliche Firmware für die Auslegung des Protokolls zum Verarbeiten eines Handshake mit dem Hostsystem in Anspruch genommen. Wenn Datenleitungen abermals durch die Port-Chips verlaufen, führt dies in einigen Fällen zu einer Verschlechterung der Signalintegrität bei der Datenkommunikation zwischen dem Host und dem Endpunktgerät.
  • Herkömmlich würde die Richtlinien-Engine den Modus mit der höchsten Qualität für jeden Verbindungstyp reservieren. Wenn das Endpunktgerät diese Verbindung mit der hohen Qualität, etwa DisplayPort 4K oder USB3, nicht benötigt, hat das Endpunktgerät unnötig zu viele Ressourcen bezogen, welche das Endpunktgerät nicht benötigt und nicht nutzt. Mit anderen Worten, es bestünde eine Endpunktgerät-Überprovisionierung. Die vorliegenden Techniken beruhen auf einer Aufzählung über Anwendungsprogrammierschnittstellen (APIs) zur Richtlinienverwaltung und -erkennung, die in das Hostbetriebssystem oder die SoC-Firmware integriert sind, um zu bestimmen, wie Ressourcen für das Endpunktgerät zu provisionieren sind. Eine erweiterte Nachrichtenübermittlung dient außerdem zur Ergänzung von Protokollen gemäß standardisierten Spezifikationen, etwa der in den USB-Spezifikationen spezifizierten Protokolle.
  • 4 ist ein Fließschema eines Verfahrens 400 für Aushandlungen, bei denen ein DisplayPort-Dongle zunächst mit einem externen Dock-Port verbunden wird. Dock-Port-Chip-Funktionen sind durch durchgezogene Linien veranschaulicht, während Hostsystem-Funktionen durch gestrichelte Linien veranschaulicht sind. Wenngleich die Funktionen als Dock-Port-Chip-Funktionen oder Hostsystem-Funktionen veranschaulicht sind, können beliebige Komponenten des Systems jegliche Funktionen durchführen. Am Block 402 wird das DisplayPort-Gerät in einen Port eines Docks eingeführt oder mit ihm zusammengekoppelt. Am Block 404 wird bestimmt, ob Pins zum Unterstützen des DisplayPort-Betriebs bei einer Auflösung von 4K oder höher verfügbar sind. Wenn keine Pins zum Unterstützen des DisplayPort-Betriebs bei einer Auflösung von 4K oder höher vorhanden sind, wird im Prozessablauf zum Block 408 übergegangen. Wenn Pins zum Unterstützen des DisplayPort-Betriebs bei einer Auflösung von 4K oder höher vorhanden sind, wird im Prozessablauf zum Block 410 übergegangen.
  • Am Block 408 wird der Verlauf von HD-Datenleitungen festgelegt, und sie werden dem aktuellen Port des Docks zugewiesen. Diese DisplayPort-Implementierung nutzt zwei Daten-Lanes (Dx2) des Typ-C-Steckverbinders und führt zu einer im Vergleich zu DisplayPort 4K geringeren Display-Auflösung. Nach der Festlegung des Verlaufs der HD-Datenleitungen und ihrer Zuweisung zum aktuellen Port wird am Block 436 die HD-Auflösung ausgehandelt. Am Block 438 wird dem Host vom Dock mitgeteilt, dass die HD-Auflösungsaushandlung abgeschlossen ist. Am Block 418 bestimmt der Host, ob mit dem Dock ein USB3-Gerät verbunden ist. Wenn mit dem Dock ein USB3-Gerät verbunden ist, wird im Prozessablauf zum Block 426 übergegangen. Wenn mit dem Dock kein USB3-Gerät verbunden ist, wird im Prozessablauf zum Block 420 übergegangen. Am Block 420 wird das Dock so konfiguriert, dass die USB3-Unterstützung aktiviert wird.
  • Am Block 426 wird bestimmt, ob ein Benutzer DisplayPort mit DP-4K und hoher Auflösung aktivieren will. Wenn der Benutzer DP-4K aktivieren will, wird im Prozessablauf zum Block 428 übergegangen. Wenn der Benutzer DisplayPort mit hoher Auflösung nicht aktivieren will, wird im Prozessablauf zum Block 420 übergegangen, an dem die USB3-Unterstützung aktiviert wird. Am Block 428 konfiguriert der Host das Dock so, dass die USB3-Unterstützung deaktiviert wird. Am Block 430 bestimmt der Host, ob mit dem Dock ein USB3-Gerät verbunden ist. Wenn mit dem Dock ein USB3-Gerät verbunden ist, wird im Prozessablauf zum Block 432 übergegangen. Wenn mit dem Dock kein USB3-Gerät verbunden ist, wird im Prozessablauf zum Block 434 übergegangen. Am Block 432 wird eine Dock-Zurücksetzung der DisplayPort- und USB-Verbindung durchgeführt. Am Block 434 wird das Dock so konfiguriert, dass die USB3-Unterstützung deaktiviert wird.
  • Wenn im Prozessablauf vom Block 404 zum Block 410 übergegangen wird, wird der Verlauf von DP-4K-Leitungen festgelegt. Die höchste Auflösung (DP-4K) wird am Block 412 ausgehandelt. Am Block 414 wird dem Host mitgeteilt, dass die Aushandlung der höchsten Auflösung abgeschlossen ist. Am Block 416 wird bestimmt, ob die hohe Auflösung im Hostgrafikprozessor akzeptiert wird. Wenn die hohe Auflösung im Hostgrafikprozessor akzeptiert wird, wird im Prozessablauf zum Block 428 übergegangen, an dem das Hostsystem ausgebildet ist, um das Dock so zu konfigurieren, dass die USB3-Unterstützung deaktiviert wird, wie oben beschrieben. Wenn die hohe Auflösung im Hostgrafikprozessor nicht akzeptiert wird, wird im Prozessablauf zum Block 418 übergegangen, an dem das Hostsystem ausgebildet ist, um zu bestimmen, ob mit dem Hostsystem ein USB3-Gerät verbunden ist, wie oben beschrieben.
  • 5 ist ein Fließschema eines Verfahrens 500 für Aushandlungen, bei denen ein USB-Gerät zunächst mit einem externen Dock-Port verbunden wird. Das Verfahren 500 läuft analog dem Verfahren 400 ab, wobei jedoch zunächst ein USB-Dongle mit einem externen Dock-Port verbunden wird. Falls vom Host USB2 (statt USB3) ausgewählt und eine Verbindung zu einem DP-4K-Display hergestellt wird, wird dem Benutzer in diesem Fall mitgeteilt, dass eine schnellere USB-Verbindung verfügbar ist, wenn er die Display-Auflösung auf HD verringert. Obwohl die Funktionen als Dock-Port-Chip-Funktionen oder Hostsystem-Funktionen veranschaulicht sind, können alle Komponenten des Systems jegliche Funktionen durchführen.
  • Am Block 502 wird das USB-Gerät in einen Port eines Docks eingeführt oder mit ihm zusammengekoppelt. Am Block 504 wird bestimmt, ob Pins zum Unterstützen des USB3-Betriebs verfügbar sind. Wenn keine Pins zum Unterstützen von USB3 verfügbar sind, wird im Prozessablauf zum Block 508 übergegangen. Wenn Pins zum Unterstützen von USB3 verfügbar sind, wird im Prozessablauf zum Block 506 übergegangen.
  • Am Block 508 wird der Verlauf von USB2-Datenleitungen festgelegt, und sie werden dem aktuellen Dock-Port zugewiesen. Nach der Festlegung des Verlaufs der USB2-Datenleitungen und ihrer Zuweisung zum aktuellen Port wird am Block 528 die USB2-Auflösung ausgehandelt. Am Block 530 wird dem Host mitgeteilt, dass die USB2-Verbindungsaushandlung abgeschlossen ist. Am Block 532 bestimmt das Hostsystem, ob mit dem Host ein Display mit einer Auflösung von 4K oder höher verbunden ist. Wenn mit dem Hostsystem kein Display mit einer Auflösung von 4K oder höher verbunden ist, wird im Prozessablauf zum Block 534 übergegangen. Wenn mit dem Hostsystem ein Display mit einer Auflösung von 4K oder höher verbunden ist, wird im Prozessablauf zum Block 536 übergegangen. Am Block 534 erfolgt keine Änderung, da keine Verbindung zu einem Display besteht, falls eine Richtlinienentscheidung angewendet werden soll.
  • Am Block 536 wird bestimmt, ob ein Benutzer eine DisplayPort-Verbindung mit DP-4K und einer hohen Auflösung aktivieren will. Wenn der Benutzer DisplayPort mit einer hohen Auflösung aktivieren will, wird im Prozessablauf zum Block 520 übergegangen. Wenn der Benutzer DisplayPort mit einer hohen Auflösung nicht aktivieren will, wird im Prozessablauf zum Block 534 übergegangen. Am Block 520 wird dem Dock mitgeteilt, dass 4K deaktiviert ist. Am Block 522 wird bestimmt, ob mit dem Hostsystem ein 4K-Display verbunden ist. Wenn mit dem Hostsystem ein 4K-Display verbunden ist, wird im Prozessablauf zum Block 524 übergegangen. Wenn mit dem Hostsystem kein 4K-Display verbunden ist, wird im Prozessablauf zum Block 526 übergegangen. Am Block 524 fordert das Hostsystem eine Zurücksetzung der DisplayPort- und USB-Verbindung an. Am Block 526 wird das Dock so konfiguriert, dass die DisplayPort-4K-Unterstützung deaktiviert wird.
  • Wenn im Prozessablauf vom Block 506 zum Block 504 übergegangen wird, wird der Verlauf von USB3-Datenleitungen festgelegt. Am Block 508 wird die USB3-Verbindung durch das Dock ausgehandelt. Am Block 510 teilt das Dock dem Host mit, dass die USB3-Aushandlung abgeschlossen ist. Am Block 512 wird bestimmt, ob das verbundene USB-Gerät USB3 gerade aktiv nutzt. Wenn bestimmt wird, dass das verbundene USB-Gerät USB3 gerade aktiv nutzt, wird im Prozessablauf zum Block 518 übergegangen, an dem die 4K-Unterstützung in der Grafik-Engine deaktiviert wird, wie oben erörtert. Wenn bestimmt wird, dass das verbundene USB-Gerät USB3 gerade nicht aktiv nutzt, wird im Prozessablauf zum Block 514 übergegangen, an welchem dem Dock mitgeteilt wird, dass USB3 abgelehnt wird. Daraufhin wird im Prozessablauf zum Block 516 übergegangen, an dem das Dock die DisplayPort-4K-Auflösung als verfügbar ausweist.
  • Wie durch die 4 und 5 veranschaulicht, handelt der Richtlinienmanager, immer wenn ein Typ-C-Gerät eingesteckt wird, eine Kombination für die höchste Verbindung aus. Wenn zunächst ein DisplayPort-Dongle eingesteckt wird, wären DP-4K und USB2 die Verbindung mit der höchsten Qualität. Hierbei handelt es sich um die Verbindung mit der höchsten Qualität, die für DisplayPort verfügbar ist, in Kombination mit der USB-Verbindung mit der höchsten Qualität, die verfügbar ist, wenn DP-4K (die Verbindung mit der höchsten Qualität, die für DisplayPort verfügbar ist) implementiert ist. Wenn zunächst ein USB3-Dongle eingesteckt wird, wie durch 5 veranschaulicht, wären USB3 und DP-HD die Kombination für die Verbindung mit der höchsten Qualität. Sobald der Dongle eingesteckt ist, wird er gemäß Standard-USB-IF-Protokollen gestartet und seine Ausrichtung bestimmt (die Stecker sind beidseitig verwendbar), woraufhin die Alternate-Mode(AM)-Aushandlung beginnt. In 4 wird zunächst der aktuelle Zustand des Dock-Ports überprüft, um herauszufinden, ob DP-4K verfügbar ist. Wenn ja, wird ein DP-4K-Datenrouting durchgeführt und anschließend der DP-4K Alternate Mode ausgewählt (sowie USB3 impliziert deaktiviert). Wenn nein, wird ein DP-HD-Routing durchgeführt und DP-HD ausgewählt.
  • Das Hostsystem empfängt daraufhin vom Dock eine Mitteilung in Form einer individuellen Human-Interface-Device(HID)-Nachricht, laut der eine Alternate-Mode-Auswahl getroffen worden ist. Danach wartet das Hostsystem solange, bis die DP-Verbindung zum Endpunktgerät besteht. HID bezieht sich in Beispielen auf das Human-Interface-Device-Normenwerk, das ebenfalls vom USB-IF herausgegeben wird. Die HID-Normen definieren ein Kommunikationsprotokoll, das bislang für Geräte wie Tastaturen, Mäuse, Joysticks und Touchscreens genutzt wird. Jedoch sind die HID-Normen so flexibel, dass sie auch für viele andere Funktionen, einschließlich proprietärer Nachrichtenerweiterungen, genutzt werden können. In Ausführungsformen können proprietäre HID-Nachrichten zum Kommunizieren von Hinweisinformationen zwischen dem Dock und dem Tablet genutzt werden. Die HID-Nachrichten sind „USB-nativ” und über die USB2-Pins austauschbar, die (gemäß der Typ-C-Spezifikation) mit Garantie für die USB2-Kommunikation in sämtlichen Alternate Modes verfügbar sind, mit nur 2 Ausnahmen: den Modi Analog Accessory und Debug Accessory. In Ausführungsformen sind die Hinweisinformationsnachrichten über die CC-Pins selbst über ein unstrukturiertes oder strukturiertes Vendor Defined Messaging (VDM) austauschbar.
  • Sobald das Hostsystem die Nachricht über die Alternate-Mode-Auswahl empfangen hat und eine Endpunktverbindung besteht, wird der Verbindungstyp bestimmt. Wenn eine DP-4K-Verbindung vorliegt, sendet der Host eine Nachricht zur Deaktivierung von USB3 (über denselben HID-Kanal), welche die Verbindung bestätigt. Wenn eine HD-Verbindung vorliegt, sendet der Host eine Nachricht für das Dock, laut der DP-HD akzeptiert (und 4K abgelehnt) worden ist, um ein HD-Datenrouting durchzuführen und USB3 zu aktivieren. Wenn ein USB3-Gerät verbunden worden ist, bevor das DP-HD-Display verbunden wird, und das Display 4K-fähig gewesen ist (Informationen, die infolge der Hostaushandlung vorhanden sind), hat die USB3-Verbindung die HD-Auswahl erzwungen. Zu diesem Zeitpunkt wird der Benutzer darüber informiert, dass er die Möglichkeit einer höheren Display-Auflösung in Anspruch nehmen kann, wenn er dafür auf seinem USB-Gerät von seiner Hochgeschwindigkeits-USB3-Verbindung auf USB2 „heruntergeht”. Wenn der Benutzer eine höhere DisplayPort-Auflösung wünscht, wird er aufgefordert zu überprüfen, ob das USB3-Gerät zurückgesetzt werden kann, danach wird eine Kombination aus DP-4K und USB2 als Standard ausgewählt, und danach werden die Typ-C-Ports zurückgesetzt und die Verbindungen neu ausgehandelt.
  • Die 4 und 5 beschreiben eine beispielhafte Konfliktauflösung gemäß USB3 und DisplayPort 4K. Jedoch kann die gleiche Aushandlung zwischen beliebigen um die Ressourcen eines Systems konkurrierenden E/A-Normen stattfinden. Des Weiteren ist zu beachten, dass, selbst wenn keine Typ-C-Dongles genutzt würden und das Dock feste, speziell für den Zweck vorgesehene DisplayPort- und USB-Steckverbinder aufwiese, die gleiche Konfliktaushandlung, so wie in den 4 und 5 beschrieben, nötig wäre, um aus 4K DisplayPort und/oder USB3 Nutzen zu ziehen.
  • 6 ist ein Fließschema eines Verfahrens 600 zum Abspeichern von ausgehandelten Alternate Modes. Am Block 602 wird ein aktives Typ-C-Gerät eingeführt. Am Block 604 wird dem Betriebssystem (BS) die Alternate-Mode-Gerät-Detektion mitgeteilt. Am Block 604 wird bestimmt, ob die Alternate-Mode-Geräte-ID in einer Typ-C-Profil-Datenbank ist. Wenn die Alternate-Mode-Geräte-ID in der Typ-C-Profil-Datenbank ist, wird im Prozessablauf zum Block 608 übergegangen. Wenn die Alternate-Mode-Geräte-ID nicht in der Typ-C-Profil-Datenbank ist, wird im Prozessablauf zum Block 610 übergegangen.
  • Am Block 608 wird der Richtlinienmanager für die Aushandlung des in der Profil-Datenbank gefundenen Alternate Mode konfiguriert. Am Block 610 wird eine normale Alternate-Mode-Aushandlung durchgeführt. Diese Alternate-Mode-Aushandlung kann so ablaufen wie in den 4 und 5 beschrieben. Am Block 612 wird dem Host mitgeteilt, dass die Aushandlung abgeschlossen ist. Am Block 614 wird bestimmt, ob die Alternate-Mode-Aushandlung erfolgreich war. Wenn die Alternate-Mode-Aushandlung erfolgreich war, wird im Prozessablauf zum Block 616 übergegangen. Wenn die Alternate-Mode-Aushandlung nicht erfolgreich war, wird im Prozessablauf zum Block 616 übergegangen. Am Block 616 wird der ausgehandelte Alternate Mode in der Typ-C-Profil-Datenbank abgespeichert. Am Block 618 wird eine Verarbeitung des Fehlschlagens der Aushandlung durchgeführt.
  • Wie in 6 veranschaulicht, erfolgt beim ersten Anschließen eines Alternate-Mode-fähigen Geräts die Aushandlung so wie in den 4 und 5 beschrieben. Nach dem Abschluss der Aushandlung werden die Geräte-ID und der ausgehandelte Alternate Mode abgespeichert. Die Geräte-ID und der ausgehandelte Alternate Mode können in einer Typ-C-Profil-Datenbank abgespeichert werden. Wenn das Gerät das nächste Mal verbunden wird, wird das Geräteprofil aus der Typ-C-Profil-Datenbank abgerufen und derselbe Alternate Mode (der bei der letzten Verbindung des Geräts mit diesem Dock bereits ausgehandelt wurde) ausgewählt.
  • So wird vom Hostsystem der ausgehandelte Alternate Mode mit der Identität des an der Aushandlung beteiligten Geräts zur späteren Nutzung aufgenommen. Angenommen, ein Tastatur-Dock daheim kann zusammen mit bestimmten Geräten genutzt werden und ein anderes Dock (mit einer anderen ID) am Arbeitsplatz ist für die Nutzung mit derselben Geräteklasse vorgesehen. Die Benutzererfahrung kann, immer wenn eines der beiden Docks genutzt wird, stets gleich sein. Zum Beispiel können an beide Docks DP-4K-Displays und USB3-Geräte angeschlossen werden. Am Arbeitsplatz ist einem Benutzer möglicherweise USB3 und DP HD (1080p) lieber, während er daheim DP-4K und USB2 vorzieht. Ohne die ausgehandelten Alternate Modes abzuspeichern, kann in beiden Docks jedes Mal, wenn der Host (das Tablet) in die Docks eingesteckt wird, derselbe Alternate Mode ausgehandelt werden. Also müsste der Benutzer die Alternate Modes wechseln, immer wenn er die Docks wechselt. Durch Abspeichern der Geräte-ID und des Alternate Mode kann das Hostsystem die Identität jedes Docks und die Art der letzten Nutzung abspeichern, sodass jedes Mal, wenn das Dock genutzt wird, derselbe dockspezifische Alternate Mode vorhanden ist. In diesem Beispiel wird daheim 4K/USB2 und am Arbeitsplatz 1080p/USB3 genutzt.
  • Wie oben beschrieben, können die vorliegenden Techniken unter Nutzung eines zentralen Richtlinienmanagers, der zum Beispiel möglicherweise in einem Mikrocontroller des Docks läuft, implementiert werden. In Ausführungsformen ist ein zentraler Richtlinienmanager so implementiert, dass alle Alternate-Mode-Entscheidungen über ein zentrales Logikzentrum geroutet werden. Eine solche Implementierung kann dazu führen, dass Code an jedem Port-Chip läuft, jederzeit ein einziger, gemeinsamer Richtlinienmanager-Code läuft und für die Entscheidungen für die Richtlinie in allen Port-Chips je ein Element zuständig ist.
  • Weil aber jeder Dongle-Port-Chip einen „leichtgewichtigen” Richtlinienmanager aufweist und weil in einigen Implementierungen alle Port-Chips ihre eigenen Datenroutings selbst steuern können, könnte sich auf jedem der Port-Chips eine Richtlinienmanager-Logik befinden und dieselbe Funktionalität wie ein zentraler Richtlinienmanager bereitstellen. Dies kann als Peripherierichtlinienverwaltung (Edge Policy Management, EPM) bezeichnet werden. Im Hostsystem/Tablet treten in der Regel keine potenziellen Datenroutingkonflikte auf, da jeder Port einen dedizierten DP-Kanal vom Grafikprozessor oder einen dedizierten USB-Kanal zum USB-Hub aufweist. Folglich kann jeder Port-Chip unabhängig eine EPM so durchführen, als ob die Port-Chips auf einem Dongle einzeln vorliegen, indem der Alternate Mode ausgewählt und das Datenrouting des Ports konfiguriert wird. Im Host/Dock wird jedoch der Datenweg zum Host hin gemeinsam genutzt, daher muss für das EPM am Host zwischen allen Port-Chips kommuniziert werden, um Konflikte und Umstände, unter denen es um den schnellsten Zugriff geht, zu vermeiden. Für die Peripheriekommunikation zwischen Port-Chips kann der I2C-Kommunikationskanal genutzt werden, der auch für die zentrale Richtlinienverwaltung genutzt wird. Da in Ausführungsformen der Dock-Port-Chip (232, 2) der Port-Chip ist, der für Verbindungen zum Hostsystem genutzt wird, ist der Dock-Port-Chip für das Treffen der EPM-Entscheidungen zuständig, und jeder externe Port (212, 214, 2) würde für die Entscheidung, welcher Alternate Mode unterstützt werden soll, mit dem Dock-Port-Chip kommunizieren. Demnach können beim EPM der Dock-Port-Chip als Master und die übrigen externen Ports des Docks als Slaves angesehen werden. Aufgrund dieser Upstream/Downstream-Konfiguration entsteht die Master/Slave-Beziehung zwischen den Ports, von denen die externen Ports dem Dock-Port die Entscheidung überlassen, welchen Alternate Mode sie auswählen können, wenn eine Typ-C-Verbindung detektiert wird. Der I2C-Bus nutzt dieselbe Master/Slave-Beziehung für die Nachrichtenübermittlung.
  • Beim EPM befindet sich in jedem Port-Chip der gleiche Richtlinienmanager-Code, wobei die einzelnen Richtlinienmanager-Codes jeweils mit geringfügigen Unterschieden ausgeführt werden. Zu diesen Unterschieden gehören die Liste der unterstützten Alternate Modes an jedem Port, der Standard-Alternate-Mode für jeden Port und ein Register an jedem Port, in dem die Pinbelegung an jedem Port gespeichert ist. Die Liste der unterstützten Alternate Modes an jedem Port kann auch eine Liste der benötigten Alternate-Mode-Pins sowie Multiplexer-Einstellungen für das Datenrouting für jeden Alternate Mode enthalten. Weil für jeden Port-Chip andere Datenroutings vorgesehen sind, gilt für jeden Alternate Mode eine Multiplexer-Einstellung. Im Fall des Dock-Ports werden sowohl ein Datenmultiplexer als auch ein DisplayPort-Switch-Multiplexer gesteuert. Darüber hinaus ist das Register an jedem Port möglicherweise ein 16-Bit-Datenregister, in dem die aktuelle Pinbelegung gespeichert ist, und kann als Pinbelegungsregister bezeichnet werden.
  • 7A ist ein Fließschema eines Verfahrens 700A für einen Slaveport-Chip-Peripherierichtlinienmanager. Am Block 702 wird ein Gerät eingeführt. Das Gerät kann in einen beliebigen Port des Systems entweder im Hostsystem oder im Dock eingeführt werden. Am Block 704 wird vom verbundenen Gerät ein Alternate Mode ausgewählt. Zuerst wird der Standardmodus des Ports ausgewählt. Am Block 706 wird bestimmt, ob die Pins für den ausgewählten Alternate Mode belegt sind. Wenn die Pins für den ausgewählten Alternate Mode belegt sind, wird im Prozessablauf zum Block 704 zurückgekehrt, um einen anderen Alternate Mode zu wählen. Wenn die Pins für den ausgewählten Alternate Mode nicht belegt sind, wird im Prozessablauf zum Block 708 übergegangen.
  • Am Block 708 wird bestimmt, ob ein Masterport vorhanden ist. Wenn ein Masterport vorhanden ist, wird im Prozessablauf zum Block 710 übergegangen. Wenn kein Masterport vorhanden ist, wird im Prozessablauf zum Block 714 übergegangen. Am Block 710 wird der Alternate Mode vom Masterport angefordert.
  • So kann der Slaveport beim Masterport die Verfügbarkeit des gewünschten Alternate Mode „checken”. Am Block 712 wird bestimmt, ob der Masterport den vom Slaveport angeforderten Alternate Mode akzeptiert. Wenn der Masterport den vom Slaveport angeforderten Alternate Mode akzeptiert, wird im Prozessablauf zum Block 714 übergegangen. Wenn der Masterport den vom Slaveport angeforderten Alternate Mode nicht akzeptiert, wird im Prozessablauf zum Block 704 zurückgekehrt, an dem ein anderer Alternate Mode ausgewählt wird. Am Block 714 wird der Verlauf von Datenleitungen festgelegt, und es werden Pins gemäß dem ausgewählten Alternate Mode belegt. Am Block 716 wird der am Slaveport ausgewählte und vom Masterport bewilligte Alternate Mode noch an andere Ports durch Broadcasting übertragen.
  • Wie in 7A gezeigt, wenn ein Port-Chip kein Slave ist (d. h. wenn kein Masterport vorhanden ist), handelt der Port-Chip den Alternate Mode anhand des Pinbelegungsregisters selbst aus, um zu bestimmen, welcher Alternate Mode akzeptiert werden kann. Wenn der Port-Chip ein Slave ist, fordert er beim Master die Berechtigung zur Nutzung eines Alternate Mode an. Wenn der Master den Alternate Mode akzeptiert, konfiguriert der Slave die Datenleitungen und speichert seinen Pinbelegungszustand ab. Wenn der Alternate Mode jedoch abgelehnt wird, wählt der Slave einen anderen Endpunktgerät-Alternate-Mode aus und fordert beim Master erneut die Berechtigung zur Nutzung des Alternate Mode an. Der Master akzeptiert den Alternate Mode, der Slave sendet eine Nachricht darüber, dass er Ressourcen mitnutzt, an die anderen Port-Chips mit Informationen zur Verbindung, die akzeptiert wurde. Jeder Port-Chip reagiert entsprechend seiner Position in der Kette. Ein externer Slaveport aktualisiert zum Beispiel einfach sein Pinbelegungsregister, während der Master-Dock-Port diese Broadcast-Nachricht ignorieren kann, da er möglicherweise seinen Zustand und gegebenenfalls den Alternate Mode der Verbindung bereits aktualisiert hatte, als der Master die Alternate-Mode-Anforderung akzeptiert hat.
  • 7B ist ein Fließschema eines Verfahrens 700B für einen Masterport-Chip-Peripherierichtlinienmanager. Am Block 770 wird die Alternate-Mode-Anforderung empfangen. Am Block 772 wird aus dem verbundenen Gerät ein Alternate Mode ausgewählt. Zuerst wird der Standardmodus des Ports ausgewählt. Am Block 774 wird bestimmt, ob die Pins für den ausgewählten Alternate Mode belegt sind. Wenn die Pins für den ausgewählten Alternate Mode belegt sind, wird im Prozessablauf zum Block 776 übergegangen, an dem die Alternate-Mode-Anforderung abgelehnt wird. Wenn keine Pins für den ausgewählten Alternate Mode belegt sind, wird im Prozessablauf zum Block 778 übergegangen.
  • Am Block 778 wird die Anforderung eines Alternate Mode vom Slaveport akzeptiert, und es erfolgt die Pinbelegung des Slaves für diesen bestimmten Alternate Mode. Am Block 780 wird bestimmt, ob der Alternate Mode in der Liste der Alternate Modes aktiv ist. Wenn der Alternate Mode in der Liste der Alternate Modes aktiv ist, wird im Prozessablauf zum Block 776 übergegangen, an dem die Alternate-Mode-Anforderung abgelehnt wird. Am Block 784 wird der Alternate Mode mit dem verbundenen Port ausgehandelt. Am Block 786 wird der Verlauf aller Datenleitungen festgelegt und der Alternate Mode zur Liste der aktiven Alternate Modes hinzugefügt.
  • Das EPM hat den Vorteil, dass auf jedem Port-Chip der gleiche Code läuft, der einzige Unterschied sind die unterstützten Alternate Modes und die Multiplexer-Einstellungen für das Datenrouting mit einer geringen Datenmenge. In Ausführungsformen befindet sich auf jedem Port-Chip die gleiche Firmware-Artikelnummer (Stock Keeping Unit, SKU) mit einer herunterladbaren Konfiguration. Die SKU dient zum eindeutigen Kennzeichnen eines bestimmten Produkts, und jede angefertigte Kopie einer speziellen SKU ist damit identisch. In diesem Zusammenhang ist das Firmwarecode-Bild für alle Port-Chips identisch. Es wird mittels herunterladbarer Konfigurationsdaten personalisiert. Darüber hinaus können Typ-C-Alternate-Modes beim EPM im Vergleich zur zentralen Richtlinienverwaltung schneller ausgehandelt werden, denn anders als bei einem zentralen Richtlinienmanager muss für Entscheidungen keine Übereinstimmung durch den Code der zentralen Richtlinienverwaltung erzielt werden. Selbst bei der Kommunikation mit dem Masterport-Chip kann die Anforderung mit einem einfachen Bitmaskenvergleich eines Registers verarbeitet werden.
  • 8A ist ein Blockschema, das ein physisches, nicht transientes computerlesbares Medium 800A zeigt, das Code für einen zentralen Richtlinienmanager speichert. Auf das physische, nicht transiente computerlesbare Medium 800A kann durch einen Prozessor 802 über einen Computerbus 804 zugegriffen werden. Des Weiteren kann das physische, nicht transiente computerlesbare Medium 800A Code enthalten, der konfiguriert ist, um den Prozessor 802 zum Durchführen der hierin beschriebenen Verfahren anzuweisen.
  • Die verschiedenen Softwarekomponenten, die hierin erörtert werden, können in einem oder mehreren physischen, nicht transienten computerlesbaren Medien 800A, wie in 8A angezeigt, gespeichert sein. Zum Beispiel kann ein Detektionsmodul 806 für die Detektion der Verbindung eines Geräts mit dem System konfiguriert sein. Das Gerät kann mit einem Hostsystem oder einem Dock verbunden sein. Ein Aushandlungsmodul 808 kann zum Aushandeln der Qualität der Verbindung konfiguriert sein. In Ausführungsformen ist ein DisplayPort-Gerät möglicherweise das erste mit dem System verbundene Gerät, und die Auflösung wird basierend auf den anderen mit dem System verbundenen Geräten sowie den Fähigkeiten des DisplayPort-Geräts ausgehandelt. Ferner ist in Ausführungsformen ein USB-Gerät möglicherweise das erste mit dem System verbundene Gerät, und die USB-Geschwindigkeit wird basierend auf den anderen mit dem System verbundenen Geräten sowie den Fähigkeiten des USB-Geräts ausgehandelt. Am Block 810 ist ein Mitteilungsmodul ausgebildet, um dem Host oder dem System den Status der möglichen Verbindungen mitzuteilen. Wenn zum Beispiel das DisplayPort-Gerät mit einem Port verbunden ist, kann dem Dock über eine HID-Nachrichtenübermittlung mitgeteilt werden, dass die 4K-Auflösung abgelehnt wird. Außerdem kann dem Host mitgeteilt werden, dass die HD-Aushandlung abgeschlossen ist. Ebenso kann dem Dock mitgeteilt werden, dass USB3 abgelehnt wird, wenn das USB-Gerät mit einem Port verbunden ist. Außerdem kann dem Host mitgeteilt werden, dass die USB3- oder USB2-Aushandlung abgeschlossen ist. Am Block 812 ist das Konfigurationsmodul ausgebildet, um das Dock oder den Host gemäß den aktuell ausgewählten Alternate Modes zu konfigurieren.
  • Das Blockschema von 8A soll nicht anzeigen, dass das physische, nicht transiente computerlesbare Medium 800A alle der in 8A gezeigten Komponenten enthalten muss. Ferner kann das physische, nicht transiente computerlesbare Medium 800A abhängig von den Einzelheiten der speziellen Implementierung noch beliebig viele weitere Komponenten, die in 8A nicht gezeigt sind, enthalten.
  • 8B ist ein Blockschema, das ein physisches, nicht transientes computerlesbares Medium 800B zeigt, das Code für einen Peripherierichtlinienmanager speichert. Auf das physische, nicht transiente computerlesbare Medium 800A kann durch einen Prozessor 802 über einen Computerbus 804 zugegriffen werden. Des Weiteren kann das physische, nicht transiente computerlesbare Medium 800 Code enthalten, der konfiguriert ist, um den Prozessor 802 zum Durchführen der hierin beschriebenen Verfahren anzuweisen.
  • Die verschiedenen Softwarekomponenten, die hierin erörtert werden, können in einem oder mehreren physischen, nicht transienten computerlesbaren Medien 800, wie in 8 angezeigt, gespeichert sein. Zum Beispiel kann ein Gerätedetektionsmodul 820 zum Detektieren der Verbindung eines Geräts mit dem System und des standardmäßigen Alternate Mode des Geräts konfiguriert sein. Ein Alternativdetektionsmodul 822 kann konfiguriert sein, um zu bestimmen, ob die Pins für den ausgewählten Alternate Mode belegt sind. Am Block 824 ist ein Aushandlungsmodul ausgebildet, um zu bestimmen, ob der Masterport den Alternate Mode akzeptiert oder ob ein Port-Chip den ausgewählten Alternate Mode aushandeln soll. Am Block 826 ist ein Routing/Broadcast-Modul ausgebildet, um den Verlauf der Datenleitungen und die Pinbelegung festzulegen sowie die Alternate-Mode-Auswahl an andere Ports durch Broadcasting zu übertragen.
  • Das Blockschema von 8B soll nicht anzeigen, dass das physische, nicht transiente computerlesbare Medium 800B alle der in 8B gezeigten Komponenten enthalten muss. Ferner kann das physische, nicht transiente computerlesbare Medium 800B abhängig von den Einzelheiten der speziellen Implementierung noch beliebig viele weitere Komponenten, die in 8B nicht gezeigt sind, enthalten.
  • Es ist zu beachten, dass die oben beschriebenen Vorrichtungen, Verfahren und Systeme in beliebigen elektronischen Geräten oder Systemen, wie oben erwähnt, implementiert werden können. Die Figuren unten sind spezielle Abbildungen, die beispielhafte Systeme zum Verwerten der Erfindung, wie hierin beschrieben, zeigen. Bei der detaillierteren Beschreibung der Systeme unten werden etliche unterschiedliche Zusammenschaltungen offenbart, beschrieben und aus der obigen Erörterung wieder aufgegriffen. Wie ohne Weiteres erkennbar ist, können die oben beschriebenen Fortschritte auf beliebige von diesen Zusammenschaltungen, Fabrics oder Architekturen angewendet werden.
  • Nunmehr wird unter Bezugnahme auf 9 ein Blockschema von in einem Computersystem vorhandenen Komponenten gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht. Wie in 9 gezeigt, enthält ein System 900 eine beliebige Kombination aus Komponenten. Diese Komponenten sind implementierbar als ICs, Teile davon, diskrete elektronische Bauelemente oder andere Module, Logik, Hardware, Software, Firmware oder Kombinationen davon, die in einem Computersystem angepasst sind, oder als Komponenten, die anders innerhalb eines Gehäuses des Computersystems eingebaut sind. Außerdem ist zu beachten, dass das Blockschema von 9 eine überblicksartige Darstellung vieler Komponenten des Computersystems sein soll. Jedoch versteht es sich, dass in anderen Implementierungen einige der gezeigten Komponenten auch entfallen, zusätzliche Komponenten vorhanden sein sowie noch andere Anordnungen der gezeigten Komponenten möglich sind. Folglich kann die oben beschriebene Erfindung in beliebigen Teilen einer oder mehrerer der unten veranschaulichten oder beschriebenen Zusammenschaltungen implementiert werden.
  • Wie in 9 ersichtlich ist, enthält ein Prozessor 910 in einer Ausführungsform einen Mikroprozessor, einen Mehrkernprozessor, einen Multithread-Prozessor, einen Ultra-Low-Voltage-Prozessor, einen eingebetteten Prozessor oder sonstige bekannte Verarbeitungselemente. In der veranschaulichten Implementierung dient der Prozessor 910 als Hauptverarbeitungseinheit und zentraler Hub für die Kommunikation mit vielen der verschiedenen Komponenten des Systems 900. In einem Beispiel ist der Prozessor 900 als System-on-Chip (SoC) implementiert. In einem speziellen veranschaulichenden Beispiel enthält der Prozessor 910 einen auf Intel® Architecture CoreTM basierenden Prozessor, etwa einen i3-, i5-, i7-Prozessor oder einen anderen Prozessor dieser Art, der bei der Intel Corporation, Santa Clara, CA, erhältlich ist. Jedoch versteht es sich, dass in anderen Ausführungsformen auch noch andere stromsparende Prozessoren wie Prozessoren, die bei Advanced Micro Devices, Inc. (AMD) aus Sunnyvale, CA, erhältlich sind, ein MIPS-basiertes Design von MIPS Technologies, Inc. aus Sunnyvale, CA, ein ARM-basiertes Design mit einer Lizenz von ARM Holdings, Ltd. oder ihrer Kunden, Lizenznehmer oder Anwender vorhanden sein können, auch etwa ein Apple-A5/A6-Prozessor, ein Qualcomm-Snapdragon-Prozessor oder ein TIOMAP-Prozessor. Es ist zu beachten, dass viele der Kundenversionen solcher Prozessoren abgewandelt und verändert sind; jedoch können sie einen speziellen Befehlssatz, der definierte Algorithmen durchführt, wie vom Prozessorlizenzgeber vorgegeben, unterstützen oder erkennen. Hierbei kann die Mikroarchitekturimplementierung jeweils unterschiedlich sein, während die Architekturfunktion des Prozessors gewöhnlich gleich ist. Unten werden einige Einzelheiten hinsichtlich der Architektur und des Betriebs des Prozessors 910 in einer Implementierung eingehender erörtert, um ein veranschaulichendes Beispiel darzulegen.
  • Der Prozessor 910 kommuniziert in einer Ausführungsform mit einem Systemspeicher 915. Dieser kann, um ein veranschaulichendes Beispiel darzulegen, in einer Ausführungsform über mehrere Speicherbauelemente implementiert werden, um eine bestimmte Menge von Systemspeicher zur Verfügung zu stellen. Der Speicher kann zum Beispiel gemäß einem auf Joint Electron Devices Engineering Council (JEDEC) Low Power Double Data Rate (LPDDR) basierenden Design ausgestaltet sein, etwa gemäß dem aktuellen LPDDR2-Standard nach JEDEC JESD 209-2E (veröffentlicht im April 2009) oder einem LPDDR-Standard der nächsten Generation, der als LPDDR3 oder LPDDR4 bezeichnet werden soll und LPDDR2-Erweiterungen bieten wird, um die Bandbreite zu erhöhen. In verschiedenen Implementierungen können die individuellen Speicherbauelemente unterschiedlich verpackt sein, etwa als Single Die Package (SDP), als Dual Die Package (DDP) oder als Quad Die Package (Q17P). Diese Bauelemente sind in einigen Ausführungsformen direkt auf eine Grundplatine gelötet, um eine Lösung mit flacher Bauform bereitzustellen, während die Bauelemente in anderen Ausführungsformen als ein oder mehrere Speichermodule konfiguriert sind, die wiederum über einen jeweiligen Steckverbinder an die Grundplatine gekoppelt sind. Und selbstverständlich sind auch noch andere Speicherimplementierungen möglich, etwa in Form anderer Speichermodultypen wie z. B. Dual Inline Memory Modules (DIMMs) in verschiedenen Varianten, insbesondere microDIMMs, MiniDIMMs. In einem bestimmten Ausführungsbeispiel hat der Speicher eine Größe von 2 GB bis 16 GB und ist möglicherweise konfiguriert als DDR3LM-Baugruppe oder als LPDDR2- oder LPDDR3-Speicher, die bzw. der über ein Ball Grid Array (BGA) auf eine Grundplatine gelötet ist.
  • Um eine dauerhafte Speicherung von Informationen wie Daten, Anwendungen, einem oder mehreren Betriebssystemen und so weiter zu gewährleisten, kann an den Prozessor 910 auch ein Massenspeicher 920 gekoppelt sein. In verschiedenen Ausführungsformen kann dieser Massenspeicher über ein SSD implementiert sein, um ein schmaleres und leichteres Systemdesign zu ermöglichen und die Systemansprechempfindlichkeit zu verbessern. In anderen Ausführungsformen kann der Massenspeicher hingegen vor allem unter Nutzung eines Festplattenlaufwerks (HDD) implementiert sein, wobei eine geringere Menge von SSD-Speicher als SSD-Cache dient, um eine nicht flüchtige Speicherung des Kontextstatus und anderer derartiger Informationen bei Ausschaltvorgängen zu ermöglichen, sodass beim erneuten Starten von Systemaktivitäten eine schnelle Einschaltung erfolgen kann. In 9 ist auch gezeigt, dass an den Prozessor 910 ein Flash-Gerät 922, z. B. über eine serielle Peripherieschnittstelle (SPI), gekoppelt sein kann. Dieses Flash-Gerät kann eine nicht flüchtige Speicherung von Systemsoftware gewährleisten, einschließlich einer Basic Input/Output Software (BIOS) sowie anderer Firmware des Systems.
  • In verschiedenen Ausführungsformen ist der Massenspeicher des Systems nur durch ein SSD oder als Platte, Laufwerk einer optischen Platte oder anderes Laufwerk mit einem SSD-Cache implementiert. In einigen Ausführungsformen ist der Massenspeicher als SSD oder als HDD zusammen mit einem Restore(RST)-Cachemodul implementiert. In verschiedenen Implementierungen gewährleistet das HDD die Speicherung von 320 GB bis 4 Terabyte (TB) und mehr, während der RST-Cache mit einem SSD mit einer Kapazität von 24 GB bis 256 GB implementiert ist. Es ist zu beachten, dass ein solcher SSD-Cache als Single Level Cache (SLC) oder Multi Level Cache (MLC) konfiguriert sein kann, um eine angemessene Ansprechempfindlichkeit bereitzustellen. Bei der Option nur mit einem SSD kann das Modul an verschiedenen Stellen untergebracht sein, etwa in einem mSATA- oder einem NGFF-Steckplatz. Die Kapazität eines SSD reicht beispielsweise von 120 GB bis 1 TB.
  • Innerhalb des Systems 900 können verschiedene Eingabe/Ausgabe(E/A)-Geräte vorhanden sein. In der Ausführungsform von 9 ist konkret ein Display 924 gezeigt, bei dem es sich möglicherweise um ein hochauflösendes, innerhalb eines Klappenteils des Gehäuses konfiguriertes LCD- oder LED-Panel handelt. Dieses Display-Panel kann auch einen Touchscreen 925 zur Verfügung stellen, der z. B. außerhalb über dem Display-Panel angepasst ist, sodass über die Interaktion eines Benutzers mit diesem Touchscreen Benutzereingaben für das System bereitgestellt werden können, um gewünschte Vorgänge, z. B. im Zusammenhang mit der Anzeige von Informationen, dem Zugriff auf Informationen und so weiter, zu ermöglichen. In einer Ausführungsform ist das Display 924 möglicherweise über eine Display-Zusammenschaltung, die als Hochleistungsgrafik-Zusammenschaltung implementierbar ist, an den Prozessor 910 gekoppelt. Der Touchscreen 925 ist möglicherweise über eine andere Zusammenschaltung, die in einer Ausführungsform eine I2C-Zusammenschaltung sein kann, an den Prozessor 910 gekoppelt. Wie in 9 weiter gezeigt, können Benutzereingaben durch Berührung außer über den Touchscreen 925 auch über ein Touchpad 930 erfolgen, das innerhalb des Gehäuses konfiguriert und wie der Touchscreen 925 ebenfalls an die I2C-Zusammenschaltung gekoppelt sein kann.
  • Das Display-Panel kann in mehreren Modi betrieben werden. In einem ersten Modus lässt sich das Display-Panel in einem transparenten Zustand anordnen, in dem das Display-Panel durchlässig für sichtbares Licht ist. In verschiedenen Ausführungsformen kann das Display zum Großteil, abgesehen von einer Einfassung um seinen Rand herum, ein Display sein. Wenn das System in einem Notebook-Modus und das Display-Panel in einem transparenten Zustand betrieben wird, kann ein Benutzer Informationen sehen, die auf dem Display-Panel präsentiert werden, während er auch Objekte hinter dem Display sehen kann. Darüber hinaus können von einem hinter dem Display positionierten Benutzer auf dem Display-Panel angezeigte Informationen ebenfalls gesehen werden. Alternativ kann der Betriebszustand des Display-Panels ein nichttransparenter Zustand sein, in dem kein sichtbares Licht durch das Display-Panel hindurchgeht.
  • In einem Tablet-Modus ist das System zugeklappt, sodass die hintere Display-Fläche des Display-Panels in eine Ruhestellung überführt wird, in der sie nach außen in Richtung eines Benutzers gewandt ist, während die untere Fläche des Basis-Panels auf einer Fläche aufliegt oder vom Benutzer gehalten wird. Im Tablet-Betriebsmodus dient die hintere Display-Fläche als Anzeige und Bedienoberfläche, denn diese Fläche kann eine Touchscreen-Funktionalität aufweisen und noch andere bekannte Funktionen eines herkömmlichen Touchscreen-Geräts, etwa eines Tablet-Geräts, durchführen. Zu diesem Zweck kann das Display-Panel eine Transparenzanpassungsschicht enthalten, die sich zwischen einer Touchscreen-Schicht und einer vorderen Display-Fläche befindet. In einigen Ausführungsformen ist die Transparenzanpassungsschicht möglicherweise eine elektrochrome Schicht (EC), eine LCD-Schicht oder eine Kombination aus einer EC-Schicht und einer LCD-Schicht.
  • In verschiedenen Ausführungsformen kann das Display je unterschiedlich groß und z. B. ein 11,6''- oder ein 13,3''-Bildschirm mit einem Seitenverhältnis von 4:3 oder 16:9 sein, während seine Leuchtdichte mindestens 300 Nits beträgt. Außerdem kann das Display eine Full-High-Definition(HD)-Auflösung (mindestens 1920 × 1080p) aufweisen, zu einem embedded DisplayPort (eDP) kompatibel sein und ein Energiespar-Panel mit Panel Self Refresh sein.
  • Was die Touchscreen-Fähigkeiten angeht, kann das System ein Multi-Touch-Display-Panel, das als kapazitiver Touchscreen mehrere Berührungen erkennt und für mindestens 5 Finger ausgelegt ist, zur Verfügung stellen. Und in einigen Ausführungsformen ist das Display möglicherweise für 10 Finger ausgelegt. In einer Ausführungsform ist der Touchscreen innerhalb eines bruch- und kratzfesten Glases mit Beschichtung (z. B. Gorilla GlassTM oder Gorilla Glass 2TM) für geringe Reibung untergebracht, um „Fingerbrennen” zu reduzieren und „Fingerhuschen” zu vermeiden. Für eine positivere Erfahrung bei Berührvorgängen und eine verbesserte Ansprechempfindlichkeit verfügt das Touch-Panel in einigen Implementierungen über eine Multi-Touch-Funktionalität, etwa mit weniger als 2 Einzelbildern (30 Hz) pro statische Ansicht beim Pinch-To-Zoom, sowie eine Single-Touch-Funktionalität mit weniger als 1 cm pro Einzelbild (30 Hz) bei 200 ms (Verzögerung bei Finger zu Zeiger). Das Display unterstützt in einigen Implementierungen Edge-to-Edge-Glas mit kaum noch einer Bildschirmeinfassung, die außerdem bündig mit der Display-Fläche ist, und eine begrenzte EA-Interferenz bei der Multi-Touch-Nutzung.
  • Für Perceptual-Computing- und andere Zwecke können innerhalb des Systems verschiedene Sensoren vorhanden und auf verschiedene Weisen an den Prozessor 910 gekoppelt sein. An den Prozessor 910 können über einen Sensor-Hub 940, z. B. über eine I2C-Zusammenschaltung, bestimmte Inertial- und Umweltsensoren gekoppelt sein. In der in 9 gezeigten Ausführungsform können diese Sensoren einen Beschleunigungsmesser 941, einen Umgebungslichtsensor (ALS) 942, einen Kompass 943 und ein Gyroskop 944 enthalten. Andere Umweltsensoren können einen oder mehrere Thermosensoren 946 enthalten, die in einigen Ausführungsformen über einen System-Management-Bus (SMBus) an den Prozessor 910 gekoppelt sind.
  • Anhand der verschiedenen in einer Plattform vorhandenen Inertial- und Umweltsensoren können viele unterschiedliche Anwendungsfälle realisiert werden. Diese Anwendungsfälle ermöglichen komplexere Rechenvorgänge, einschließlich Perceptual-Computing-Vorgängen, und begünstigen außerdem Verbesserungen mit Bezug auf die Energieverwaltung/Batterielebensdauer, die Sicherheit und die Systemansprechempfindlichkeit.
  • Was zum Beispiel Aspekte der Energieverwaltung/Batterielebensdauer betrifft, werden die Umgebungslichtverhältnisse an einer Stelle der Plattform mindestens teilweise basierend auf Informationen von einem Umgebungslichtsensor bestimmt, und die Helligkeit des Displays wird entsprechend geregelt. Infolgedessen wird im Display-Betrieb bei bestimmten Lichtverhältnissen weniger Strom verbraucht.
  • Was Sicherheitsvorgänge betrifft, kann basierend auf von den Sensoren bezogenen Kontextinformationen, etwa Ortsinformationen, bestimmt werden, ob ein Benutzer auf gewisse sichere Dokumente zugreifen darf. Ein Benutzer ist zum Beispiel möglicherweise zum Zugriff auf solche Dokumente am Arbeitsplatz oder von zu Hause aus berechtigt. Jedoch ist es dem Benutzer untersagt, auf solche Dokumente zuzugreifen, wenn sich die Plattform an einem öffentlichen Ort befindet. Diese Bestimmung basiert in einer Ausführungsform auf Ortsinformationen, die z. B. über eine Orientierungspunkteerkennung durch einen GPS-Sensor oder eine Kamera bestimmt werden. Andere Sicherheitsvorgänge können enthalten, dass eine Paarung von in unmittelbarer Nähe zueinander befindlichen Geräten, z. B. einer tragbaren Plattform, wie hierin beschrieben, und eines Desktop-Computers eines Benutzers, eines Mobiltelefons und so weiter vorgesehen ist. Die gemeinsame Verwendung in einigen Implementierungen wird unter anderem über Nahfeldkommunikation realisiert, wenn diese Geräte derart gepaart sind. Wenn die Geräte jedoch zu weit voneinander entfernt sind, kann diese gemeinsame Verwendung deaktiviert sein. Wenn eine Plattform, wie hierin beschrieben, und ein Smartphone gepaart sind, kann des Weiteren ein Alarm derart konfiguriert sein, dass er ausgelöst wird, wenn sich die Geräte um mehr als einen zuvor bestimmten Abstand voneinander weg bewegen, wenn sie an einem öffentlichen Ort sind. Wenn diese gepaarten Geräte hingegen an einem sicheren Ort wie z. B. am Arbeitsplatz oder zu Hause sind, können die Geräte diesen zuvor bestimmten Grenzwert überschreiten, ohne dass ein solcher Alarm ausgelöst wird.
  • Die Ansprechempfindlichkeit kann auch unter Verwendung der Sensorinformationen verbessert werden. Selbst wenn eine Plattform in einem Energiesparzustand ist, können die Sensoren zum Beispiel so eingestellt sein, dass sie bei einer relativ geringen Frequenz laufen. Demzufolge werden eventuelle Ortsänderungen der Plattform bestimmt, z. B. wie durch Inertialsensoren, einen GPS-Sensor und so weiter bestimmt. Falls keine solchen Änderungen registriert wurden, wird schneller eine Verbindung zu einem vorherigen drahtlosen Hub wie einem Wi-FiTM-Zugangspunkt oder einem ähnlichen Element für die Herstellung einer drahtlosen Verbindung aufgebaut, denn in diesem Fall ist es nicht nötig, nach verfügbaren Ressourcen eines drahtlosen Netzes zu suchen. So wird eine höhere Ansprechempfindlichkeit bei der Reaktivierung aus einem Energiesparzustand erzielt.
  • Es versteht sich, dass unter Nutzung von Sensorinformationen, die über die integrierten Sensoren innerhalb einer Plattform, wie hierin beschrieben, bezogen werden, noch viele andere Anwendungsfälle möglich sind, und die obigen Beispiele dienen lediglich Veranschaulichungszwecken. Wird ein System, wie hierin beschrieben, genutzt, kann ein Perceptual-Computing-System die Voraussetzungen für zusätzliche alternative Eingabemöglichkeiten wie eine Gestenerkennung und eine Ausgestaltung des Systems mit Blick auf eine Erfassung von Benutzervorgängen und -absichten schaffen.
  • In einigen Ausführungsformen können ein oder mehrere Infrarot- oder andere Wärmesensorelemente bzw. eventuelle sonstige Elemente zum Erfassen der Anwesenheit oder von Bewegungen eines Benutzers vorhanden sein. Derartige Erfassungselemente können mehrere unterschiedliche zusammenarbeitende und/oder sequenziell arbeitende Elemente enthalten. Erfassungselemente enthalten zum Beispiel Elemente für eine anfängliche Erfassung, etwa eine Licht- oder Schallabstrahlung, der sich eine Erfassung zur Gestendetektion zum Beispiel durch eine Ultraschall-Laufzeit-Kamera oder eine Kamera für strukturiertes Licht anschließt.
  • Außerdem enthält das System in einigen Ausführungsformen einen Lichtgenerator zum Erzeugen einer leuchtenden Linie. In einigen Ausführungsformen verweist diese Linie visuell auf eine virtuelle Grenzlinie, nämlich eine gedachte oder virtuelle Stelle im Raum, an der eine Aktion des Benutzers, bei der die virtuelle Grenzlinie oder Ebene überquert oder passiert wird, als Absicht zum Interagieren mit dem Computersystem gedeutet wird. In einigen Ausführungsformen ändert die leuchtende Linie ihre Farbe möglicherweise immer dann, wenn das Computersystem in einen anderen auf den Benutzer bezogenen Zustand übergeht. Die leuchtende Linie kann dazu dienen, um den Benutzer visuell auf eine virtuelle Grenzlinie im Raum hinzuweisen, und kann vom System dazu genutzt werden, um auf den Benutzer bezogene Computerzustandsübergänge zu bestimmen, auch um etwa zu bestimmen, wann der Benutzer mit dem Computer interagieren möchte.
  • In einigen Ausführungsformen erfasst der Computer die Benutzerposition und kann aufgrund seiner Funktionsweise die Bewegung einer Hand des Benutzers durch die virtuelle Grenzlinie hindurch als eine die Absicht des Benutzers zum Interagieren mit dem Computer anzeigende Geste deuten. In einigen Ausführungsformen ändert sich das durch den Lichtgenerator generierte Licht möglicherweise immer dann, wenn der Benutzer die virtuelle Linie oder Ebene passiert, wodurch der Benutzer die visuelle Rückmeldung erhält, dass der Benutzer in einen Bereich für Ausführungen von Gesten zum Vornehmen von Computereingaben eingetreten ist.
  • Bildschirme können auf einen Benutzer bezogene Computersystemzustandsübergänge visuell anzeigen. In einigen Ausführungsformen ist ein erster Bildschirm in einem ersten Zustand bereitgestellt, in dem die Anwesenheit eines Benutzers durch das System erfasst wird, etwa durch Verwendung eines oder mehrerer der Erfassungselemente.
  • In einigen Implementierungen dient das System zum Erfassen der Benutzeridentität, etwa durch Gesichtserkennung. Hier kann ein Übergang zu einem zweiten Bildschirm in einem zweiten Zustand, in dem das Computersystem die Benutzeridentität erkannt hat, vorgesehen sein, wobei dieser zweite Bildschirm dem Benutzer visuelles Feedback gibt, das darin besteht, dass der Benutzer in einen neuen Zustand übergegangen ist. Ein Übergang zu einem dritten Bildschirm kann in einem dritten Zustand, in dem der Benutzer die Erkennung des Benutzers bestätigt hat, erfolgen.
  • In einigen Ausführungsformen kann das Computersystem einen Übergangsmechanismus verwenden, um den Verlauf einer virtuellen Grenzlinie für einen Benutzer zu bestimmen, wobei der Verlauf der virtuellen Grenzlinie je nach Benutzer und Kontext variieren kann. Das Computersystem kann Licht generieren, etwa eine leuchtende Linie, um die virtuelle Grenzlinie zur Interaktion mit dem System anzuzeigen. In einigen Ausführungsformen kann das Computersystem in einem Wartezustand sein und das Licht in einer ersten Farbe erzeugt werden. Das Computersystem kann detektieren, ob der Benutzer an eine Stelle jenseits der virtuellen Grenzlinie gelangt ist, etwa indem es die Anwesenheit und Bewegungen des Benutzers unter Verwendung von Erfassungselementen erfasst.
  • Wenn detektiert wurde, dass der Benutzer die virtuelle Grenzlinie überquert hat (etwa weil die Hände des Benutzers näher beim Computersystem als bei der virtuellen Grenzlinie sind), kann das Computersystem in einigen Ausführungsformen in einen Zustand zum Aufnehmen von Gesteneingaben vom Benutzer übergehen, wobei ein Mechanismus zum Anzeigen des Übergangs enthalten kann, dass sich die Farbe des die virtuelle Grenzlinie anzeigenden Lichts in eine zweite Farbe ändert.
  • In einigen Ausführungsformen kann das Computersystem dann bestimmen, ob eine Gestenbewegung detektiert wird. Wenn eine Gestenbewegung detektiert wird, kann das Computersystem mit einem Gestenerkennungsprozess fortfahren, der die Verwendung von Daten aus einer Gestendatenbibliothek, die sich in einem Speicher im Computergerät befinden oder auf die sonst durch das Computergerät zugegriffen werden kann, enthalten kann.
  • Wenn eine Geste des Benutzers erkannt wird, kann das Computersystem eine Funktion in Ansprechen auf die Eingabe durchführen und wieder zusätzliche Gesten aufnehmen, wenn sich der Benutzer innerhalb der virtuellen Grenzlinie aufhält. Wenn die Geste nicht erkannt wird, kann das Computersystem in einigen Ausführungsformen in einen Fehlerzustand übergehen, wobei ein Mechanismus zum Anzeigen des Fehlerzustands enthalten kann, dass sich die Farbe des die virtuelle Grenzlinie anzeigenden Lichts in eine dritte Farbe ändert, wobei das System wieder zusätzliche Gesten aufnimmt, wenn sich der Benutzer innerhalb der virtuellen Grenzlinie für Interaktionen mit dem Computersystem aufhält.
  • Wie oben erwähnt, kann das System in anderen Ausführungsformen als Convertible-Tablet-System zur Verwendung in mindestens zwei unterschiedlichen Modi, einem Tablet-Modus und einem Notebook-Modus, konfiguriert sein. Das Convertible-System kann zwei Panels aufweisen, nämlich ein Display-Panel und ein Basis-Panel, wobei die zwei Panels im Tablet-Modus übereinander gelegt sind. Im Tablet-Modus ist das Display-Panel nach außen gewandt und kann eine Touchscreen-Funktionalität bereitstellen, so wie sie in herkömmlichen Tablets vorhanden ist. Im Notebook-Modus können die zwei Panels in einer offenen Clamshell-Konfiguration angeordnet sein.
  • In verschiedenen Ausführungsformen kann der Beschleunigungsmesser ein 3-Achsen-Beschleunigungsmesser mit Datenraten von mindestens 50 Hz sein. Ein Gyroskop, bei dem es sich um ein 3-Achsen-Gyroskop handeln kann, ist möglicherweise ebenfalls enthalten. Darüber hinaus kann ein E-Kompass/Magnetometer vorhanden sein. Außerdem können ein oder mehrere Näherungssensoren bereitgestellt sein (z. B. für eine Klappe, die geöffnet ist, um zu erfassen, wann eine Person in der Nähe des Systems ist (oder nicht), und um die Energieeinstellungen/Leistungsfähigkeit zur Verlängerung der Batterielebensdauer anzupassen). Für einige Betriebssysteme kann eine Sensorfusionsfähigkeit, welche den Beschleunigungsmesser, das Gyroskop und den Kompass enthält, erweiterte Features bereitstellen. Darüber hinaus kann über einen Sensor-Hub mit einer Echtzeituhr (RTC) eine Reaktivierung anhand eines Sensormechanismus realisiert werden, um Sensoreingaben aufzunehmen, wenn das übrige System in einem Energiesparzustand ist.
  • In einigen Ausführungsformen ist ein innenliegender Klappe/Display-offen-Schalter oder -Sensor ausgebildet, um anzuzeigen, wann die Klappe geschlossen/geöffnet ist, und kann verwendet werden, um das System in einen Connected-Standby-Zustand zu versetzen oder automatisch aus einem Connected-Standby-Zustand zu reaktivieren. Andere Systemsensoren können ACPI-Sensoren für einen internen Prozessor, einen Speicher und eine Hauttemperaturüberwachung enthalten, um Änderungen von Prozessor- und Systembetriebszuständen basierend auf erfassten Parametern zu ermöglichen.
  • In einer Ausführungsform ist das BS möglicherweise ein Microsoft®-Windows®-8-BS, das ein Verbindungsstandby (Connected Standby) implementiert (hierin auch als Win8 CS bezeichnet). Windows 8 Connected Standby oder ein anderes BS in einem ähnlichen Zustand kann über eine Plattform, wie hierin beschrieben, einen sehr geringen Ultra-Leerlaufstrom bereitstellen, um eine ständige Verbindung von Anwendungen, z. B. mit einem cloudbasierten Ort, bei einem sehr geringen Stromverbrauch zu ermöglichen. Die Plattform kann 3 Energiezustände unterstützen, nämlich Bildschirm an (normal); Connected Standby (als standardmäßigen „Aus”-Zustand); und Herunterfahren (Leistungsverbrauch von null Watt). Demnach ist die Plattform im Connected-Standby-Zustand logisch an (bei sehr niedrigen Energieständen), auch wenn der Bildschirm aus ist. In einer solchen Plattform kann eine transparente Energieverwaltung für Anwendungen vorgesehen sein sowie eine konstante Konnektivität aufrechterhalten werden, teilweise mithilfe einer Verlagerungstechnologie, über die ermöglicht wird, dass jeweils die mit am wenigsten Strom versorgte Komponente einen Vorgang durchführt.
  • Wie außerdem in 9 ersichtlich ist, können an den Prozessor 910 verschiedene Peripheriegeräte über eine Low-Pin-Count(LPC)-Zusammenschaltung gekoppelt sein. In der gezeigten Ausführungsform können verschiedene Komponenten durch einen eingebetteten Controller 935 gekoppelt sein. Derartige Komponenten können eine Tastatur 936 (die z. B. über eine PS2-Schnittstelle gekoppelt ist), einen Ventilator 937 und einen Thermosensor 939 enthalten. In einigen Ausführungsformen kann das Touchpad 930 auch über eine PS2-Schnittstelle an den EC 935 gekoppelt sein. Darüber hinaus kann ein Sicherheitsprozessor wie ein Trusted Platform Module (TPM) 938 gemäß der TPM-Spezifikation der Trusted Computing Group (TCG) in der Version 1.2 vom 2. Okt. 2003 über diese LPC-Zusammenschaltung ebenfalls an den Prozessor 910 gekoppelt sein. Jedoch versteht es sich, dass der Schutzbereich der vorliegenden Erfindung in dieser Hinsicht nicht begrenzt ist und eine sichere Verarbeitung sowie die Speicherung sicherer Informationen auch an einer anderen geschützten Stelle, etwa in einem Static Random Access Memory (SRAM) in einem Sicherheitskoprozessor, oder in Form verschlüsselter Daten-Blobs, die nur entschlüsselt werden, wenn sie durch einen Secure-Enclave(SE)-Prozessormodus geschützt sind, möglich sind.
  • In einer bestimmten Implementierung enthalten Peripherie-Ports möglicherweise einen High-Definition-Media-Interface(HDMI)-Steckverbinder (mit unterschiedlichen möglichen Formfaktoren, etwa Full Size, Mini oder Mikro); einen oder mehrere USB-Ports wie externe Full-Size-Ports gemäß der Universal-Serial-Bus-Spezifikation in der Version 3.1 (August 2014), von denen mindestens einer zur Aufladung von USB-Geräten (etwa Smartphones) mit Strom versorgt wird, wenn das System im Connected-Standby-Zustand und an ein Wechselstromnetz angeschlossen ist. Darüber hinaus können ein oder mehrere ThunderboltTM-Ports bereitgestellt sein. Weitere Ports können einen von außen zugänglichen Kartenleser enthalten, etwa einen Full-Size-SD-XC-Kartenleser und/oder einen SIM-Kartenleser für ein WWAN (z. B. einen 8-Pin-Kartenleser). Für den Ton kann eine 3,5 mm-Buchse mit Stereoton und Mikrofonfähigkeit (z. B. Kombinationsfunktionalität) mit Unterstützung für die Buchsendetektion vorhanden sein (z. B. nur Kopfhörerunterstützung unter Verwendung eines Mikrofons in der Klappe oder eines Kopfhörers mit Mikrofon im Kabel). In einigen Ausführungsformen kann diese Buchse entweder die Funktion eines Stereokopfhörereingangs oder die Funktion eines Stereomikrofoneingangs haben. Außerdem kann eine Netzanschlussbuchse zur Kopplung an ein externes Wechselstrom-Netzteil vorgesehen sein. In einigen Ausführungsformen können USB-Typ-C-Ports einzeln oder in Kombination für eine oder mehrere der folgenden Signalarten genutzt werden: USB2, USB3, Analog Audio, Digital Audio, Power Delivery, DisplayPort, HDMI, PCI-Express und andere, einschließlich zahlreicher proprietärer Signalschemata.
  • Das System 900 kann auf diverse Weisen, unter anderem drahtlos, mit externen Geräten kommunizieren. In der in 9 gezeigten Ausführungsform sind verschiedene drahtlose Module vorhanden, die je einem Funkelement, das für ein bestimmtes Protokoll für drahtlose Kommunikation konfiguriert ist, entsprechen können. Drahtlose Kommunikation über kurze Strecken wie die Nahfeldkommunikation kann etwa über eine Near-Field-Communication(NFC)-Einheit 945 erfolgen, die in einer Ausführungsform möglicherweise über einen SMBus mit dem Prozessor 910 kommuniziert. Es ist zu beachten, dass Geräte in unmittelbarer Nähe zueinander über diese NFC-Einheit 945 kommunizieren können. Ein Benutzer kann das System 900 zum Beispiel so aktivieren, dass es mit einem anderen, (z. B.) tragbaren Gerät wie einem Smartphone des Benutzers kommuniziert, indem die zwei Geräte, die in einer engen Beziehung zueinander stehen, angepasst werden und ein Transfer von Informationen wie Identifizierungsinformationen, Zahlungsinformationen, Daten wie Bilddaten und so weiter ermöglicht wird. Unter Nutzung eines NFC-Systems kann auch drahtlos Energie übertragen werden.
  • Für Nahfeldkopplungsfunktionen (wie die Nahfeldkommunikation und die drahtlose Energieübertragung (Wireless Power Transfer, WPT)) können Benutzer Bauelemente unter Verwendung der hierin beschriebenen NFC-Einheit so anordnen, dass sie aneinander anstoßen, und nebeneinander platzieren, indem sie sich die Kopplung zwischen Spulen eines oder mehrerer solcher Bauelemente zunutze machen. Konkret stellen Ausführungsformen Bauelemente mit strategisch geformten und platzierten Ferritmaterialen bereit, um eine bessere Kopplung der Spulen zu gewährleisten. Mit jeder Spule ist eine Induktivität assoziiert, die in Verbindung mit den resistiven, kapazitiven und anderen Merkmalen des Systems gewählt werden kann, um eine gemeinsame Resonanzfrequenz für das System zu ermöglichen.
  • Wie in 9 weiter ersichtlich ist, können zusätzliche Drahtloseinheiten noch andere Kurzstrecken-Wireless-Engines enthalten, einschließlich einer WLAN-Einheit 950 und einer Bluetooth-Einheit 952. Unter Verwendung der WLAN-Einheit 950 lassen sich Wi-FiTM-Kommunikationen gemäß einem gegebenen 802.11-Standard des Institute of Electrical and Electronics Engineers (IEEE) realisieren, während über die Bluetooth-Einheit 952 Kurzstreckenkommunikationen über ein Bluetooth-Protokoll stattfinden können. Diese Einheiten können z. B. über eine USB-Verbindung oder eine Universal-Asynchronous-Receiver-Transmitter(UART)-Verbindung mit dem Prozessor 910 kommunizieren. Oder diese Einheiten können über eine Zusammenschaltung gemäß einem Peripheral-Component-Interconnect-ExpressTM(PCIeTM)-Protokoll, z. B. gemäß der PCI-ExpressTM-Basisspezifikation in der Version 3.0 (veröffentlicht am 17. Januar 2007), oder einem anderen solchen Protokoll, etwa einem Serial-Data-Input/Output(SDIO)-Standard, an den Prozessor 910 gekoppelt sein. Selbstverständlich kann die eigentliche physische Verbindung zwischen diesen Peripheriegeräten, die auf einer oder mehreren Erweiterungskarten konfiguriert sein können, mittels der an eine Grundplatine angepassten NGFF-Steckverbinder hergestellt werden.
  • Darüber hinaus können drahtlose Kommunikationen über weite Strecken, z. B. gemäß einem Mobilfunkprotokoll oder einem anderem Drahtlosprotokoll für ein Weitbereichsnetz, über eine WWAN-Einheit 956 erfolgen, die wiederum an ein Subscriber Identity Module (SIM) 957 gekoppelt sein kann. Darüber hinaus kann auch ein GPS-Modul 955 vorhanden sein, um den Empfang und die Verwendung von Standortinformationen zu ermöglichen. Es ist zu beachten, dass die WWAN-Einheit 956 und ein integriertes Aufnahmegerät wie ein Kameramodul 954 in der in 9 gezeigten Ausführungsform über ein gegebenes USB-Protokoll wie eine USB-2.0- oder USB-3.0-Verbindung oder ein UART- oder I2C-Protokoll kommunizieren können. Auch hier lässt sich die eigentliche physische Verbindung dieser Einheiten über die Anpassung einer NGFF-Erweiterungskarte an einen auf der Grundplatine konfigurierten NGFF-Steckverbinder herstellen.
  • In einer bestimmten Ausführungsform kann die Drahtlosfunktionalität modular bereitgestellt sein, z. B. mittels einer WiFiTM-802.11ac-Lösung (z. B. einer Erweiterungskarte, die abwärtskompatibel zu IEEE 802.11abgn ist) mit Unterstützung für Windows 8 CS. Diese Karte lässt sich (z. B. über einen NGFF-Adapter) in einem internen Steckplatz konfigurieren. Ein zusätzliches Modul kann eine Bluetooth-Fähigkeit (z. B. Bluetooth 4.0 mit Abwärtskompatibilität) sowie eine Intel®-Wireless-Display-Funktionalität zur Verfügung stellen. Darüber hinaus kann über ein separates Gerät oder ein Multifunktionsgerät eine NFC-Unterstützung bereitgestellt werden und lässt sich für den einfachen Zugriff beispielsweise in einem vorderen, rechten Teil des Gehäuses positionieren. Als noch ein weiteres Modul kann ein WWAN-Gerät vorgesehen sein, das Unterstützung für 3G/4G/LTE und GPS bereitstellen kann. Dieses Modul kann in einem internen Steckplatz (z. B. einem NGFF-Steckplatz) implementiert werden. Für WiFiTM, Bluetooth, WWAN, NEC und GPS kann eine integrierte Antennenunterstützung bereitgestellt werden, wodurch ein nahtloser Übergang von WiFiTM- zu WWAN-Funkelementen, Wireless Gigabit (WiGig) gemäß der Wireless-Gigabit-Spezifikation (Juli 2010) und umgekehrt ermöglicht wird.
  • Wie oben beschrieben, kann in die Klappe eine integrierte Kamera eingebaut sein. Diese Kamera kann beispielsweise eine hochauflösende Kamera sein, z. B. mit einer Auflösung von mindestens 2,0 Megapixeln (MP) bis hin zu 6,0 MP und mehr.
  • Um Audioeingänge und -ausgänge zur Verfügung zu stellen, lässt sich ein Audioprozessor über einen digitalen Signalprozessor (DSP) 960, der über eine High-Definition-Audio(HDA)-Verbindung an den Prozessor 910 gekoppelt sein kann, implementieren. Ebenso kann der DSP 960 mit einem integrierten Codierer-Decodierer (CODEC) und einem Verstärker 962 kommunizieren, die wiederum an Ausgabelautsprecher 963, die innerhalb des Gehäuses implementiert sein können, gekoppelt sein können. Ebenso können der Verstärker und der CODEC 962 derart gekoppelt sein, dass sie Audioeingaben von einem Mikrofon 965, das in einer Ausführungsform über Dual-Array-Mikrofone (etwa ein Digitalmikrofon-Array) implementiert sein kann, empfangen, um Audioeingaben von hoher Qualität bereitzustellen und so eine sprachaktivierte Steuerung verschiedener Vorgänge innerhalb des Systems zu ermöglichen. Außerdem ist zu beachten, dass Audioausgaben vom Verstärker/CODEC 962 für eine Kopfhörerbuchse 964 bereitgestellt werden können. Auch wenn dies in der Ausführungsform von 9 anhand dieser bestimmten Komponenten so gezeigt wird, versteht es sich, dass der Schutzbereich der vorliegenden Erfindung in dieser Hinsicht nicht begrenzt ist.
  • n einer bestimmten Ausführungsform sind der digitale Audiocodec und der Verstärker fähig zum Ansteuern der Stereo-Kopfhörerbuchse, der Stereo-Mikrofonbuchse, eines internen Mikrofon-Arrays und von Stereo-Lautsprechern. In den unterschiedlichen Ausführungsformen lässt sich der Codec in einen Audio-DSP integrieren oder über eine HD-Audioverbindung an einen Peripheral Controller Hub (PCH) koppeln. In einigen Implementierungen können zusätzlich zu integrierten Stereo-Lautsprechern ein oder mehrere Tieftonlautsprecher bereitgestellt sein, und die Lautsprecherlösung kann DTS Audio unterstützen.
  • In einigen Ausführungsformen kann der Prozessor 910 durch einen externen Spannungsregler (VR) und mehrere interne Spannungsregler, die innerhalb des Prozessorchips integriert sind und als Fully Integrated Voltage Regulators (FIVRs) bezeichnet werden, mit Strom versorgt werden. Die Nutzung mehrerer FIVRs im Prozessor ermöglicht die Gruppierung von Komponenten in separaten Stromversorgungsebenen, sodass der Strom vom FIVR reguliert und nur an diese Komponenten in der Gruppe geliefert wird. Bei der Energieverwaltung kann eine gegebene Stromversorgungsebene eines FIVR mit weniger Strom versorgt oder auch abgeschaltet werden, wenn der Prozessor in einen bestimmten Energiesparzustand versetzt wird, während eine andere Stromversorgungsebene eines anderen FIVR weiter aktiv ist oder vollständig mit Strom versorgt ist.
  • In einer Ausführungsform kann während einiger tiefer Standby-Zustände eine Dauerstromversorgungsebene zur Zuführung von Strom an die E/A-Pins für diverse E/A-Signale genutzt werden, etwa die Schnittstelle zwischen dem Prozessor und einem PCH, die Schnittstelle zum externen VR und die Schnittstelle zum EC 935. Diese Dauerstromversorgungsebene versorgt auch einen Spannungsregler auf dem Chip mit Strom, wobei dieser das SRAM oder einen anderen Cache-Speicher auf der Leiterplatte, in dem der Prozessorkontext während des Standby-Zustands gespeichert wird, unterstützt. Die Dauerstromversorgungsebene dient auch dazu, die Prozessorreaktivierungslogik, die die verschiedenen Aktivierungsquellensignale überwacht und verarbeitet, mit Strom zu versorgen.
  • Bei der Energieverwaltung wird die Dauerstromversorgungsebene weiter mit Strom versorgt, um die oben genannten Komponenten zu unterstützen, während andere Stromversorgungsebenen mit weniger Strom versorgt oder abgeschaltet werden, sobald der Prozessor in bestimmte tiefe Standby-Zustände eintritt. Jedoch kann dies zu unnötigem Stromverbrauch oder einer Verlustleistung führen, wenn diese Komponenten nicht benötigt werden. Zu diesem Zweck können Ausführungsformen einen Connected-Standby-Zustand bereitstellen, um unter Verwendung einer dedizierten Stromversorgungsebene einen Prozessorkontext aufrechtzuerhalten. In einer Ausführungsform ermöglicht der Connected-Standby-Zustand die Prozessorreaktivierung unter Verwendung von Ressourcen eines PCH, der zusammen mit dem Prozessor in einem Chipgehäuse untergebracht sein kann. In einer Ausführungsform ermöglicht der Connected-Standby-Zustand die Fortsetzung von Prozessorarchitekturfunktionen im PCH bis zur Prozessorreaktivierung, wodurch folglich alle unnötigen Prozessorkomponenten, die vorher während tiefer Standby-Zustände weiter mit Strom versorgt wurden, ausgeschaltet werden können, wobei auch alle Taktgeber ausgeschaltet werden. In einer Ausführungsform befinden sich im PCH ein Time Stamp Counter (TSC) und eine Connected-Standby-Logik zum Steuern des Systems während des Connected-Standby-Zustands. Der integrierte Spannungsregler für die Dauerstromversorgungsebene kann ebenfalls im PCH untergebracht sein.
  • In einer Ausführungsform kann ein integrierter Spannungsregler im Connected-Standby-Zustand als dedizierte Stromversorgungsebene fungieren, die weiter mit Strom versorgt wird, um den dedizierten Cache-Speicher, in dem Prozessorkontexte wie Variablen zu einem kritischen Zustand gespeichert werden, wenn der Prozessor in die tiefen Standby-Zustände und den Connected-Standby-Zustand eintritt, zu unterstützen. Dieser kritische Zustand enthält möglicherweise Zustandsvariablen, die mit den mit dem Prozessor assoziierten Architektur-, Mikroarchitektur-, Debug-Zustand- und/oder ähnlichen Zustandsvariablen assoziiert sind.
  • Die Reaktivierungsquellensignale vom EC 935 können während des Connected-Standby-Zustands statt an den Prozessor an den PCH gesendet werden, sodass nicht der Prozessor, sondern der PCH für die Reaktivierungsverarbeitung zuständig ist. Darüber hinaus läuft der TSC im PCH, um die Aufrechterhaltung von Prozessorarchitekturfunktionen zu erleichtern. Auch wenn dies in der Ausführungsform von 9 anhand dieser bestimmten Komponenten so gezeigt wird, versteht es sich, dass der Schutzbereich der vorliegenden Erfindung in dieser Hinsicht nicht begrenzt ist.
  • Die Energiesteuerung im Prozessor kann zu höheren Energieeinsparungen führen. Die Energie kann zum Beispiel dynamisch zwischen Kernen aufgeteilt werden, einzelne Kerne können ihre Frequenz/Spannung ändern, und es können mehrere tiefe Energiesparzustände bereitgestellt werden, um den Stromverbrauch sehr gering zu halten. Darüber hinaus kann über eine dynamische Steuerung der Kerne oder der unabhängigen Kernteile der Stromverbrauch verringert werden, indem Komponenten abgeschaltet werden, während sie nicht genutzt werden.
  • Einige Implementierungen können einen speziellen Power Management IC (PMIC) für die Plattform-Energiesteuerung bereitstellen. Mittels dieser Lösung kann die Schwächung der Batterie in einem System im Verlauf eines längeren Zeitabschnitts (z. B. 16 Stunden) in einem gegebenen Standby-Zustand, etwa in einem Win8-Connected-Standby-Zustand, sehr gering gehalten werden (z. B. weniger als 5% ausmachen). In einem Win8-Leerlaufzustand kann eine Batterielebensdauer von z. B. über 9 Stunden realisiert werden (z. B. bei 150 Nits). Was die Videowiedergabe angeht, kann eine lange Batterielebensdauer realisiert werden, z. B. kann mindestens 6 Stunden lang eine Full-HD-Videowiedergabe erfolgen. Eine Plattform in einer Implementierung kann eine Energiekapazität von z. B. 35 Wattstunden (Wh) für Win8 CS unter Nutzung eines SSD und (z. B.) 40–44 Wh für Win8 CS unter Nutzung eines HDD mit einer RST-Cachekonfiguration aufweisen.
  • Eine bestimmte Implementierung kann eine Unterstützung für 15 W nominelle Thermal Design Power (TDP) der CPU mit einer konfigurierbaren CPU-TDP von bis zu ungefähr 25 W TDP als Berechnungspunkt bereitstellen. Die Plattform kann aufgrund der oben beschriebenen thermischen Merkmale sehr kleine Lüftungsöffnungen enthalten. Darüber hinaus ist die Plattform kissenfreundlich (insofern als der Benutzer nicht durch heiße Luft angeblasen wird). Abhängig vom Gehäusematerial lassen sich unterschiedliche höchste Temperaturpunkte realisieren. In einer Implementierung eines Kunststoffgehäuses (mit mindestens einer Klappe oder einem Basisteil aus Kunststoff) kann die maximale Betriebstemperatur 52 Grad Celsius (C) betragen. Und für eine Implementierung eines Metallgehäuses kann die maximale Betriebstemperatur 46°C betragen.
  • In anderen Implementierungen kann ein Sicherheitsmodul, etwa ein TPM, in einen Prozessor integriert werden oder ein diskretes Bauelement wie ein TPM-2.0-Bauelement sein. Mit einem integrierten Sicherheitsmodul, auch bezeichnet als Platform Trust Technology (PTT), kann BIOS/Firmware derart aktiviert werden, dass bestimmte Hardware-Merkmale für bestimmte Sicherheitsmerkmale offengelegt werden, einschließlich sicherer Befehle, eines sicheren Starts, Intel® Anti-Theft Technology, Intel® Identity Protection Technology, Intel® Trusted Execution Technology (TXT) und Intel® Manageability Engine Technology nebst sicherer Benutzerschnittstellen wie einer sicheren Tastatur und eines sicheren Displays.
  • BEISPIEL 1
  • Hierin wird eine Vorrichtung zum Konfigurieren von Verbindungsmodi beschrieben. Die Vorrichtung enthält eine Vielzahl von Ports und einen Prozessor. Ein erster Port ist ausgebildet, um ein erstes Gerät an die Vorrichtung zu koppeln, wobei der erste Port für die Kommunikation über einen Modus aus einer Vielzahl von Modi konfigurierbar ist. Der Prozessor ist ausgebildet, um einen Richtlinienmanager zu enthalten, wobei der Richtlinienmanager ausgebildet ist, um den einen Modus am ersten Port basierend auf einem Modus eines zweiten Ports aus der Vielzahl von Ports auszuhandeln.
  • In einigen Ausführungsformen ist der Richtlinienmanager ein zentraler Richtlinienmanager. Der Richtlinienmanager kann auch ein Peripherierichtlinienmanager sein. Der ausgehandelte Alternate Mode kann in einer Datenbank abgespeichert werden. Der abgespeicherte Alternate Mode kann für den ersten Port abgerufen werden. Die Vielzahl von Ports kann einen Dock-Port, einen Dock-Steckplatz und einen externen Port enthalten.
  • In Ausführungsformen kann der Modus ein Display-Port-Modus sein; der Modus kann ein USB-Modus sein; der Modus kann ein PCI-E-Modus sein. Die Vielzahl von Ports kann in einer Master/Slave-Beziehung konfiguriert sein, wobei ein dritter Port ein Masterport sein kann. Der Masterport kann ein Dock-Stecker-Port sein. Die mit der Vielzahl von Ports assoziierten Port-Chips können über einen I2C-Kommunikationskanal kommunizieren. Darüber hinaus können Kommunikationskanal(CC)-Leitungen für die Broadcast-Übertragung von Modi verwendet werden.
  • BEISPIEL 2
  • Hierin wird ein System zum Konfigurieren von Verbindungsmodi beschrieben. Das System enthält einen Mikrocontroller, eine Vielzahl von Port-Chips und mindestens einen Richtlinienmanager. Der Mikrocontroller ist ausgebildet, um mit der Vielzahl von Port-Chips zu kommunizieren, und die Vielzahl von Port-Chips nutzt mindestens eine gemeinsame Verbindung. Der Richtlinienmanager ist ausgebildet, um einen Alternate Mode jedes Port-Chips in Ansprechen darauf auszuhandeln, dass ein Endpunktgerät mit einem Port, der einem Port-Chip aus der Vielzahl von Port-Chips entspricht, gekoppelt ist.
  • In Ausführungsformen kann der Mikrocontroller in einem Dock enthalten sein, und das Dock kann für die Kopplung mit einem Tablet ausgebildet sein, wobei das Tablet eine Untermenge der Vielzahl von Port-Chips enthält. Der Richtlinienmanager kann auch zwischen allen der Vielzahl von Port-Chips verteilt sein. Ferner kann sich der Richtlinienmanager im Mikrocontroller befinden. Die Port-Chips können über einen Kommunikationskanal kommunizieren. Der ausgehandelte Modus kann in einer Datenbank abgespeichert werden. Der abgespeicherte Modus kann in Ansprechen darauf, dass ein Gerät mit dem Port, der dem Port-Chip entspricht, gekoppelt ist, für das Gerät abgerufen werden. Die gemeinsame Verbindung kann eine USB-Typ-C-Verbindung sein. Der Richtlinienmanager kann eine Verbindung mit der höchsten Qualität aushandeln, immer wenn ein Typ-C-Gerät möglicherweise mit einem Port, der mit einem Port-Chip assoziiert ist, gekoppelt ist. Der Modus kann ein Display-Port-Modus sein; der Modus kann ein USB-Modus sein; und der Modus kann ein PCI-E-Modus sein. Die Vielzahl von Ports kann in einer Master/Slave-Beziehung konfiguriert sein.
  • BEISPIEL 3
  • Hierin wird ein Verfahren zum Konfigurieren von Verbindungsmodi beschrieben. Das Verfahren enthält Detektieren einer Verbindung eines Geräts und Aushandeln der Qualität der Verbindung basierend auf Modi des Geräts. Das Verfahren enthält auch Auswählen eines Modus und Konfigurieren eines Hosts oder Docks basierend auf dem ausgewählten Modus.
  • In Ausführungsformen kann das Aushandeln der Qualität der Verbindung durch einen Richtlinienmanager, der Ressourcen zwischen einer Vielzahl von Ports verteilt, ermöglicht werden. Der Richtlinienmanager kann ein Peripherierichtlinienmanager sein, oder der Richtlinienmanager kann ein zentraler Richtlinienmanager sein. Ein Richtlinienmanager kann die Qualität der Verbindung basierend auf der Vielzahl von Modi des Geräts aushandeln. Die Verbindung kann eine USB-Typ-C-Verbindung sein. Ein erster Modus kann DisplayPort 4K sein, und ein zweiter Modus kann USB2 sein. Darüber hinaus kann ein erster Modus DisplayPort HD sein, und ein zweiter Modus kann USB3 sein. Ferner kann ein erster Modus PCI-Express sein, und ein zweiter Modus kann USB2 sein. Der ausgewählte Modus kann über Hinweisinformationsnachrichten durch Broadcasting übertragen werden. Die Hinweisinformationsnachrichten können mittels einer unstrukturierten oder strukturierten herstellerdefinierten Nachrichtenübermittlung (Vendor Defined Messaging, VDM) über einen Kommunikationskanal ausgetauscht werden. Die Hinweisinformationsnachrichten können auch als Human-Interface-Device(HID)-Nachricht ausgetauscht werden.
  • BEISPIEL 4
  • Hierin wird eine Vorrichtung zum Konfigurieren von Verbindungsmodi beschrieben. Die Vorrichtung enthält eine Vielzahl von Ports und ein Mittel zum Verwalten einer Verbindung. Ein erstes Endpunktgerät kann zur Kopplung mit einem ersten Port aus der Vielzahl von Ports und zum Implementieren eines Modus ausgebildet sein. Das Mittel zum Verwalten der Verbindung kann ausgebildet sein, um den Modus am ersten Port basierend auf einem Modus eines zweiten Endpunktgeräts zur Kopplung mit einem zweiten Port aus der Vielzahl von Ports auszuhandeln.
  • In Ausführungsformen kann das Mittel zum Verwalten der Verbindung ein zentraler Richtlinienmanager sein. Das Mittel zum Verwalten der Verbindung kann auch ein Peripherierichtlinienmanager sein. Der ausgehandelte Modus kann in einer Datenbank abgespeichert werden. Der abgespeicherte Modus für das erste Endpunktgerät kann aus der Datenbank abgerufen werden. Die Vielzahl von Ports enthält einen Dock-Port, einen Dock-Steckplatz und einen externen Port. Der Modus kann ein Display-Port-Modus sein; der Modus kann ein USB-Modus sein; und der Modus kann ein PCI-E-Modus sein. Die Vielzahl von Ports kann in einer Master/Slave-Beziehung konfiguriert sein, wobei ein dritter Port ein Masterport sein kann. Der Masterport kann ein Dock-Stecker-Port sein. Die mit der Vielzahl von Ports assoziierten Port-Chips können über einen I2C-Kommunikationskanal kommunizieren. Für die Broadcast-Übertragung von Modi können Kommunikationskanal(CC)-Leitungen genutzt werden.
  • BEISPIEL 5
  • Hierin wird mindestens ein computerlesbares Medium zum Konfigurieren von Verbindungsmodi beschrieben, wobei in dem computerlesbaren Medium Befehle gespeichert sind, die in Ansprechen auf die Ausführung in einem Computergerät auslösen, dass das Computergerät eine Verbindung eines Geräts detektiert und die Qualität der Verbindung basierend auf Modi des Geräts aushandelt. Im computerlesbaren Medium sind auch Befehle gespeichert, die in Ansprechen auf die Ausführung in einem Computergerät auslösen, dass das Computergerät einen Modus auswählt und einen Host oder ein Dock basierend auf dem ausgewählten Modus konfiguriert.
  • In Ausführungsformen kann das Aushandeln der Qualität der Verbindung durch einen Richtlinienmanager, der Ressourcen zwischen einer Vielzahl von Ports verteilt, aktiviert werden. Der Richtlinienmanager kann ein Peripherierichtlinienmanager sein, oder der Richtlinienmanager kann ein zentraler Richtlinienmanager sein. Der Richtlinienmanager kann die Qualität der Verbindung basierend auf Modi des Geräts aushandeln. Die Verbindung kann eine USB-Typ-C-Verbindung sein. Ein erster Modus kann DisplayPort 4K sein, und ein zweiter Modus kann USB2 sein. Darüber hinaus kann ein erster Modus DisplayPort HD sein, und ein zweiter Modus kann USB3 sein. Ferner kann ein erster Modus PCI-Express sein, und ein zweiter Modus kann USB2 sein. Der ausgewählte Modus kann über Hinweisinformationsnachrichten durch Broadcasting übertragen werden. Die Hinweisinformationsnachrichten können mittels einer unstrukturierten oder strukturierten herstellerdefinierten Nachrichtenübermittlung (Vendor Defined Messaging, VDM) über einen Kommunikationskanal ausgetauscht werden. Die Hinweisinformationsnachrichten können auch als Human-Interface-Device(HID)-Nachricht ausgetauscht werden.
  • Wenngleich die vorliegenden Techniken bezüglich einer begrenzten Zahl von Ausführungsformen beschrieben wurden, versteht es sich für den Fachmann, dass sie auf zahlreiche Arten abwandel- und veränderbar sind. Die beigefügten Ansprüche sollen alle solchen Abwandlungen und Veränderungen abdecken, sofern sie mit dem Wesen dieser vorliegenden Techniken vereinbar sind und in ihrem Schutzbereich liegen.
  • Ein Design durchläuft vom Entwurf über die Simulation bis hin zur Fertigung verschiedene Phasen. Daten, die ein Design darstellen, können das Design auf mehrere Arten darstellen. Erstens kann die Hardware, wie es bei Simulationen sinnvoll ist, mittels einer Hardwarebeschreibungssprache oder einer anderen Funktionsbeschreibungssprache dargestellt werden. Darüber hinaus kann in manchen Phasen des Design-Prozesses ein Entwurf auf Schaltbildebene mit einer Logik und/oder Transistorgates erstellt werden. Des Weiteren erreichen die meisten Designs in einer Phase eine Datenebene, die darstellt, wie sich verschiedene Bauelemente physisch im Hardwaremodell platzieren lassen. Falls herkömmliche Halbleiterfertigungstechniken genutzt werden, können die Daten zur Hardwaremodelldarstellung Daten sein, die vorgeben, welche verschiedenen Merkmale auf unterschiedlichen Maskenebenen für Masken zum Herstellen der integrierten Schaltung vorhanden bzw. nicht vorhanden sein müssen. In allen Design-Darstellungen lassen sich die Daten in einem maschinenlesbaren Medium irgendeiner Art speichern. Das maschinenlesbare Medium kann ein Speicherelement oder ein magnetischer oder optischer Datenspeicher wie eine Speicherplatte sein, um Informationen zu speichern, die über optische oder elektrische Wellen übertragen werden, welche moduliert oder anders erzeugt werden, um solche Informationen zu übertragen. Wenn eine elektrische Trägerwelle, die den Code oder das Design angibt oder transportiert, übertragen wird, sofern das elektrische Signal kopiert, gepuffert oder neu übertragen wird, wird eine neue Kopie erstellt. Infolgedessen kann ein Kommunikationsprovider bzw. ein Netzbetreiber, zumindest vorübergehend, einen Artikel, etwa in einer Trägerwelle codierte Informationen, auf einem physischen, maschinenlesbaren Medium speichern, wodurch konkrete Ausführungsformen der hierin vorgeschlagenen Techniken realisiert werden.
  • Ein Modul, wie hierin genutzt, bezieht sich auf eine beliebige Kombination aus Hardware, Software und/oder Firmware. Ein Modul enthält beispielsweise Hardware, etwa einen Mikrocontroller, die mit einem nicht transienten Medium zum Speichern von zur Ausführung durch den Mikrocontroller ausgelegtem Code assoziiert ist. Deshalb sind Bezugnahmen auf ein Modul in einer Ausführungsform Verweise auf eine Hardware, die speziell konfiguriert ist, um einen in einem nicht transienten Medium abzulegenden Code zu erkennen und/oder auszuführen. Des Weiteren verweisen Module, die im Zusammenhang mit anderen Ausführungsformen angeführt werden, auf das nicht transiente Medium, das den Code enthält, der speziell zur Ausführung durch den Mikrocontroller zum Durchführen von vorher bestimmten Vorgängen ausgelegt ist. Und in wiederum anderen Ausführungsformen kann sich infolgedessen der Begriff Modul (im betreffenden Beispiel) auf die Kombination aus dem Mikrocontroller und dem nicht transienten Medium beziehen. Als separat veranschaulichte Module sind oft nicht klar voneinander abgrenzbar und decken sich eventuell teilweise. Ein erstes Modul und ein zweites Modul nutzen zum Beispiel möglicherweise gemeinsam Hardware, Software, Firmware oder eine Kombination daraus, verfügen aber eventuell auch über eigene Hardware, Software oder Firmware. Wird in einer Ausführungsform der Begriff Logik genutzt, schließt er auch Hardware wie Transistoren, Register oder andere Hardwarekomponenten wie programmierbare Logikbausteine ein.
  • Werden in einer Ausführungsform Wörter wie ,zu' oder ,konfiguriert' genutzt, beziehen diese sich je auf eine Anordnung, eine Zusammenstellung, die Herstellung, das Anbieten des Verkaufs, das Importieren und/oder die Gestaltung einer Vorrichtung, einer Hardware, einer Logik oder eines Elements zum Durchführen einer vorgesehenen oder bestimmten Aufgabe. Im betreffenden Beispiel ist eine Vorrichtung bzw. ein Vorrichtungselement, wenn sie bzw. es nicht im Betrieb ist, dennoch für die Durchführung einer vorgesehenen Aufgabe ,konfiguriert', wenn sie bzw. es so gestaltet, gekoppelt und/oder zusammengeschaltet ist, dass die vorgesehene Aufgabe durchgeführt werden kann. In einem rein beispielhaften Fall kann ein Logikgatter während des Betriebs eine 0 oder eine 1 ausgeben. Jedoch enthält ein Logikgatter, das ,konfiguriert' ist, um ein Startsignal an einen Taktgeber zu liefern, nicht alle potenziellen Logikgatter, die eine 1 oder eine 0 ausgeben können. Vielmehr ist das Logikgatter auf irgendeine Art so gekoppelt, dass durch die ausgegebene 1 oder 0 während des Betriebs der Taktgeber gestartet wird. Es wird abermals darauf hingewiesen, dass die Nutzung des Begriffs ,konfiguriert' den Betrieb einer Vorrichtung, einer Hardware und/oder eines Elements nicht voraussetzt, sondern vielmehr auf den latenten Zustand abstellt, wobei die Vorrichtung, die Hardware und/oder das Element im latenten Zustand für die Durchführung einer bestimmten Aufgabe ausgelegt ist, wenn die Vorrichtung, die Hardware und/oder das Element im Betrieb ist.
  • Des Weiteren beziehen sich die in einer Ausführungsform genutzten Ausdrücke ,fähig' und/oder ,funktionsfähig' auf Vorrichtungen, Logiken, Hardware und/oder Elemente beliebiger Art, die derart ausgelegt sind, dass die Nutzung der Vorrichtungen, Logiken, Hardware und/oder Elemente so wie vorgegeben ermöglicht wird. So wie oben ist zu beachten, dass sich die Nutzung von zu, fähig oder funktionsfähig in einer Ausführungsform auf den latenten Zustand einer Vorrichtung, einer Logik, einer Hardware und/oder eines Elements bezieht, in dem die Vorrichtung, die Logik, die Hardware und/oder das Element nicht im Betrieb ist, sondern derart ausgelegt ist, dass eine Vorrichtung so wie vorgegeben genutzt werden kann.
  • Ein Wert, wie hierin genutzt, enthält eine beliebige bekannte Darstellung einer Zahl, eines Zustands, eines logischen Zustands oder eines binären logischen Zustands. Häufig werden Logikpegel, Logikwerte oder logische Werte, die genutzt werden, auch als Einsen und Nullen bezeichnet, die einfach binäre logische Zustände darstellen. Eine 1 bezieht sich zum Beispiel auf einen hohen und eine 0 auf einen niedrigen Logikpegel. In einer Ausführungsform kann eine Speicherzelle, etwa ein Transistor oder eine Flash-Zelle, zum Speichern eines einzelnen logischen Werts oder von mehreren logischen Werten fähig sein. Jedoch werden in Computersystemen bisher andere Darstellungen von Werten genutzt. Zum Beispiel kann die Dezimalzahl zehn auch als Binärwert 1010 und hexadezimaler Buchstabe A dargestellt werden. Deshalb enthält ein Wert beliebige Darstellungen von Informationen, die in einem Computersystem gespeichert werden können.
  • Zudem sind Zustände durch Werte oder Teile von Werten darstellbar. Beispielsweise kann ein erster Wert, etwa eine logische Eins, einen Standard- oder Anfangszustand darstellen, während ein zweiter Wert, etwa eine logische Null, einen Nichtstandardzustand darstellen kann. Darüber hinaus beziehen sich die Begriffe zurücksetzen und setzen in einer Ausführungsform auf einen Standardwert oder -zustand bzw. einen aktualisierten Wert oder Zustand. Ein Standardwert enthält zum Beispiel eventuell einen hohen logischen Wert, d. h. zurücksetzen, während ein aktualisierter Wert eventuell einen niedrigen logischen Wert, d. h. setzen, enthält. Es ist zu beachten, dass zum Darstellen einer beliebigen Zahl von Zuständen beliebige Kombinationen von Werten gebraucht werden können.
  • Die oben dargelegten Ausführungsformen von Verfahren, Hardware, Software, Firmware oder Code können über Befehle oder Code, die/der in einem maschinenzugänglichen, maschinenlesbaren, computerzugänglichen oder computerlesbaren Medium gespeichert und durch ein Verarbeitungselement ausführbar ist/sind, implementiert werden. Ein nicht transientes, maschinenzugängliches/-lesbares Medium enthält beliebige Mechanismen, die Informationen in einer von einer Maschine wie einem Computer oder einem elektronischen System lesbaren Form bereitstellen (d. h. speichern und/oder übertragen). Ein nicht transientes, maschinenzugängliches Medium enthält zum Beispiel ein Random Access Memory (RAM) wie ein statisches RAM (SRAM) oder ein dynamisches RAM (DRAM); ein ROM; ein magnetisches oder ein optisches Speichermedium; Flash-Speicherbauelemente; elektrische Datenspeicherelemente; optische Datenspeicherelemente; akustische Datenspeicherelemente; andere Formen von Datenspeicherelementen zum Ablegen von Informationen, welche aus kurzzeitigen (sich ausbreitenden) Signalen (z. B. Trägerwellen, Infrarotsignalen, digitalen Signalen) empfangen werden; etc.; diese sind von den nicht transienten Medien, die Informationen von dort empfangen können, zu unterscheiden.
  • Befehle, die zum Programmieren einer Logik zum Realisieren von Ausführungsformen der vorliegenden Techniken genutzt werden, können in einem Speicherbaustein im System, etwa in einem DRAM, einem Cache, einem Flash-Speicher oder einem anderen Speicher, gespeichert werden. Des Weiteren lassen sich die Befehle über ein Netz oder mittels anderer computerlesbarer Medien verteilen. Demnach kann ein maschinenlesbares Medium beliebige Mechanismen zum Speichern oder Übertragen von Informationen in einer von einer Maschine (z. B. einem Computer) lesbaren Form enthalten, nämlich unter anderem Disketten, optische Speicherplatten, Compact Disc Read Only Memorys (CD-ROMs) und magnetooptische Speicherplatten, Read Only Memorys (ROMs), Random Access Memorys (RAMs), Erasable Programmable Read Only Memorys (EPROMs), Electrically Erasable Programmable Read Only Memorys (EEPROMs), magnetische oder optische Speicherkarten, Flash-Speicher oder physische, maschinenlesbare Datenspeicher, die bei der Übertragung von Informationen über das Internet über elektrische, optische, akustische oder sich anders ausbreitende Signale (z. B. Trägerwellen, Infrarotsignale, digitale Signale etc.) genutzt werden. Demzufolge enthält das computerlesbare Medium ein physisches, maschinenlesbares Medium von einem beliebigen Typ, das zum Speichern oder Übertragen elektronischer Befehle oder Informationen in einer von einer Maschine (z. B. einem Computer) lesbaren Form geeignet ist.
  • Wenn in dieser Patentbeschreibung auf „eine Ausführungsform” Bezug genommen wird, bedeutet dies, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft, das bzw. die in Verbindung mit der Ausführungsform beschrieben wird, in mindestens einer Ausführungsform der vorliegenden Techniken enthalten ist. Demnach bezieht sich die an verschiedenen Stellen in dieser Patentschrift vorkommende Wortverbindung „in einer Ausführungsform” nicht zwangsläufig immer auf dieselbe Ausführungsform. Des Weiteren können die einzelnen Merkmale, Strukturen oder Eigenschaften in einer oder mehreren Ausführungsformen beliebig kombiniert werden.
  • Im vorhergehenden Teil der Patentschrift findet sich eine detaillierte Beschreibung, in der auf spezielle Ausführungsbeispiele eingegangen wird. Jedoch liegt es auf der Hand, dass verschiedene Abwandlungen und Änderungen daran vorgenommen werden können, ohne vom Wesen der vorliegenden Techniken im Allgemeinen und von ihrem Schutzbereich, wie in den beigefügten Ansprüchen dargelegt, abzuweichen. Die Patentbeschreibung und die Zeichnungen sind demzufolge als beispielhaft und nicht als einschränkend anzusehen. Des Weiteren beziehen sich die obigen Ausführungsformen und sonstige, beispielhaft verwendete Ausdrücke nicht zwangsläufig auf ein und dieselbe Ausführungsform oder ein und dasselbe Beispiel, sondern können sich auf verschiedene und voneinander unterscheidbare Ausführungsformen, aber eventuell auch auf dieselbe Ausführungsform beziehen.

Claims (25)

  1. Vorrichtung zum Konfigurieren von Verbindungsmodi, umfassend: eine Vielzahl von Ports, die einen ersten Port zum Koppeln eines ersten Geräts an die Vorrichtung enthält, wobei der erste Port für die Kommunikation über einen Modus aus einer Vielzahl von Modi konfigurierbar ist; einen Prozessor, der einen Richtlinienmanager enthält, wobei der Richtlinienmanager ausgebildet ist, um den einen Modus am ersten Port basierend auf einem Modus eines zweiten Ports aus der Vielzahl von Ports auszuhandeln.
  2. Vorrichtung nach Anspruch 1, wobei der Richtlinienmanager ein zentraler Richtlinienmanager ist.
  3. Vorrichtung nach Anspruch 1, wobei der Richtlinienmanager ein Peripherierichtlinienmanager ist.
  4. Vorrichtung nach Anspruch 1, wobei der ausgehandelte Alternate Mode in einer Datenbank abgespeichert ist.
  5. Vorrichtung nach Anspruch 1, die Abrufen des abgespeicherten Alternate Mode für den ersten Port umfasst.
  6. System zum Konfigurieren von Verbindungsmodi, umfassend: einen Mikrocontroller; eine Vielzahl von Port-Chips, wobei der Mikrocontroller ausgebildet ist, um mit der Vielzahl von Port-Chips zu kommunizieren, und die Vielzahl von Port-Chips mindestens eine gemeinsame Verbindung nutzt; und mindestens einen Richtlinienmanager, wobei der Richtlinienmanager ausgebildet ist, um einen Modus jedes Port-Chips in Ansprechen darauf auszuhandeln, dass ein Gerät mit einem Port, der einem Port-Chip aus der Vielzahl von Port-Chips entspricht, gekoppelt ist.
  7. System nach Anspruch 6, wobei der Mikrocontroller in einem Dock enthalten ist und das Dock für die Kopplung mit einem Tablet ausgebildet ist, wobei das Tablet eine Untermenge der Vielzahl von Port-Chips enthält.
  8. System nach Anspruch 6, wobei der Richtlinienmanager unter allen der Vielzahl von Port-Chips verteilt ist.
  9. System nach Anspruch 6, wobei sich der Richtlinienmanager im Mikrocontroller befindet.
  10. System nach Anspruch 6, wobei die Port-Chips über einen Kommunikationskanal kommunizieren.
  11. Verfahren zum Konfigurieren von Verbindungsmodi, umfassend: Detektieren einer Verbindung eines Geräts; Aushandeln der Qualität der Verbindung basierend auf einer Vielzahl von Modi des Geräts; Auswählen eines Modus; und Konfigurieren eines Hosts oder Docks basierend auf dem ausgewählten Modus.
  12. Verfahren nach Anspruch 11, wobei das Aushandeln der Qualität der Verbindung durch einen Richtlinienmanager, der Ressourcen unter einer Vielzahl von Ports verteilt, ermöglicht wird.
  13. Verfahren nach Anspruch 12, wobei der Richtlinienmanager ein Peripherierichtlinienmanager ist.
  14. Verfahren nach Anspruch 12, wobei der Richtlinienmanager ein zentraler Richtlinienmanager ist.
  15. Verfahren nach Anspruch 11, das Übertragen des ausgewählten Modus durch Broadcasting über Hinweisinformationsnachrichten umfasst.
  16. Vorrichtung zum Konfigurieren von Verbindungsmodi, umfassend: eine Vielzahl von Ports, wobei ein erstes Endpunktgerät zur Kopplung mit einem ersten Port aus der Vielzahl von Ports und zum Implementieren eines Modus ausgebildet ist; ein Mittel zum Verwalten einer Verbindung, wobei das Mittel zum Verwalten der Verbindung ausgebildet ist, um den Modus am ersten Port basierend auf einem Modus eines zweiten Endpunktgeräts zur Kopplung mit einem zweiten Port aus der Vielzahl von Ports auszuhandeln.
  17. Vorrichtung nach Anspruch 16, wobei das Mittel zum Verwalten der Verbindung ein zentraler Richtlinienmanager ist.
  18. Vorrichtung nach Anspruch 16, wobei das Mittel zum Verwalten der Verbindung ein Peripherierichtlinienmanager ist.
  19. Vorrichtung nach Anspruch 16, wobei die Vielzahl von Ports in einer Master/Slave-Beziehung konfiguriert ist, wobei ein dritter Port ein Masterport ist.
  20. Vorrichtung nach Anspruch 19, wobei ein Masterport ein Dock-Stecker-Port ist.
  21. Mindestens ein computerlesbares Medium zum Konfigurieren von Verbindungsmodi, in dem Befehle gespeichert sind, die in Ansprechen auf die Ausführung in einem Computergerät auslösen, dass das Computergerät: eine Verbindung eines Geräts detektiert; die Qualität der Verbindung basierend auf Modi des Geräts aushandelt; einen Modus auswählt; und einen Host oder ein Dock basierend auf dem ausgewählten Modus konfiguriert.
  22. Computerlesbares Medium nach Anspruch 21, wobei das Aushandeln der Qualität der Verbindung durch einen Richtlinienmanager, der Ressourcen unter einer Vielzahl von Ports verteilt, ermöglicht wird.
  23. Computerlesbares Medium nach Anspruch 21, wobei die Verbindung eine USB-Typ-C-Verbindung ist.
  24. Computerlesbares Medium nach Anspruch 21, wobei ein erster Modus DisplayPort 4K und ein zweiter Modus USB2 ist.
  25. Computerlesbares Medium nach Anspruch 21, wobei ein erster Modus DisplayPort HD und ein zweiter Modus USB3 ist.
DE112016002913.6T 2015-06-26 2016-04-15 Dynamische Konfiguration von Verbindungsmodi an einem System basierend auf Hostgerätefähigkeiten Pending DE112016002913T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/752,501 2015-06-26
US14/752,501 US20160378704A1 (en) 2015-06-26 2015-06-26 Dynamically configure connection modes on a system based on host device capabilities
PCT/US2016/027740 WO2016209336A1 (en) 2015-06-26 2016-04-15 Dynamically configure connection modes on a system based on host device capabilities

Publications (1)

Publication Number Publication Date
DE112016002913T5 true DE112016002913T5 (de) 2018-03-08

Family

ID=57585992

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112016002913.6T Pending DE112016002913T5 (de) 2015-06-26 2016-04-15 Dynamische Konfiguration von Verbindungsmodi an einem System basierend auf Hostgerätefähigkeiten

Country Status (3)

Country Link
US (1) US20160378704A1 (de)
DE (1) DE112016002913T5 (de)
WO (1) WO2016209336A1 (de)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9952996B2 (en) * 2014-10-15 2018-04-24 Icron Technologies Corporation Devices and methods for providing concurrent superspeed communication and four-lane displayport communication via a USB type-C receptacle
CN107408090B (zh) * 2015-03-27 2021-03-26 英特尔公司 输入/输出控制器访问通道的动态配置
CN107066034A (zh) * 2015-11-03 2017-08-18 鸿庆鑫电声科技有限公司 计算设备和使用该计算设备的计算系统
US10073752B2 (en) * 2016-01-13 2018-09-11 Bby Solutions, Inc. Universal smart connection pad
US20170277650A1 (en) * 2016-03-25 2017-09-28 Le Holdings (Beijing) Co., Ltd. User equipment and method for data transmission
US10366037B2 (en) * 2016-05-27 2019-07-30 I/O Interconnect, Ltd. Method for managing docking device and docking device
US10761553B2 (en) * 2016-06-17 2020-09-01 Qualcomm Incorporated Universal serial bus (USB) cable type detection and control techniques
US10419545B2 (en) 2016-10-18 2019-09-17 Dell Products L.P. Profiled wireless docking system
US10416717B2 (en) * 2016-10-24 2019-09-17 Hewlett-Packard Development Company, L.P. Configuring docks
TWI684869B (zh) * 2016-11-23 2020-02-11 宸定科技股份有限公司 集線器
WO2018120002A1 (en) * 2016-12-30 2018-07-05 Intel Corporation Apparatus for facilitating connection with external sensor module
WO2018199908A1 (en) * 2017-04-24 2018-11-01 Hewlett-Packard Development Company, L.P. Configuration parameter transfer
US10579119B2 (en) * 2017-05-23 2020-03-03 Cirrus Logic, Inc. Active charge through of a peripheral device
US11112844B2 (en) * 2017-05-24 2021-09-07 Qualcomm Incorporated Universal serial bus (USB) type-C and power delivery port with scalable power architecture
WO2019017866A1 (en) * 2017-07-17 2019-01-24 Hewlett-Packard Development Company, L.P. INTERFACING BASES WITH ELECTRONIC DEVICES
WO2019017952A1 (en) 2017-07-20 2019-01-24 Hewlett-Packard Development Company, L.P. INPUT / OUTPUT PORT CONFIGURATIONS USING MULTIPLEXERS
TWI644489B (zh) * 2017-08-01 2018-12-11 飛宏科技股份有限公司 具可調整安裝高度及方位的電性連接器
US10582636B2 (en) * 2017-08-07 2020-03-03 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Server having a dual-mode serial bus port enabling selective access to a baseboard management controller
US10489324B2 (en) * 2017-08-25 2019-11-26 Qualcomm Incorporated Systems and methods for port management
US10311000B2 (en) * 2017-09-29 2019-06-04 Intel Corporation Integrated universal serial bus (USB) type-C switching
WO2019079495A1 (en) * 2017-10-18 2019-04-25 Nvidia Corporation METHOD FOR INCREASING THE BANDWIDTH OF A USB-C CONNECTOR
US11134295B2 (en) * 2017-10-27 2021-09-28 Nagrastar Llc External module comprising processing functionality
JP2019149045A (ja) * 2018-02-27 2019-09-05 東芝メモリ株式会社 情報処理装置およびストレージデバイス
US11132040B2 (en) * 2018-07-05 2021-09-28 Microchip Technology Incorporated Load balancing in multi-port power delivery applications
TWI696326B (zh) * 2018-12-26 2020-06-11 大陸商東莞寶德電子有限公司 周邊裝置
US11169589B2 (en) * 2018-12-28 2021-11-09 Intel Corporation Managing system power in USB-C/USB power delivery systems
CN110175139B (zh) * 2019-05-08 2021-01-05 厦门亿联网络技术股份有限公司 一种usb设备的通用调试方法及usb设备
KR102599365B1 (ko) * 2019-05-17 2023-11-08 삼성전자주식회사 전자장치 및 그 제어방법
TWI707236B (zh) * 2019-05-31 2020-10-11 佳世達科技股份有限公司 模式切換系統及應用其之模式切換方法
US11627004B1 (en) * 2019-07-17 2023-04-11 Tyler Andrews Apparatus that converts Power Over Ethernet power and communication to USB data and power on a USB type C connector
US20220148489A1 (en) * 2019-07-29 2022-05-12 Hewlett-Packard Development Company, L.P. A display device
TWI712895B (zh) * 2019-09-05 2020-12-11 三泰科技股份有限公司 具有解析度切換的usb集線器與其處理方法
TWI739260B (zh) * 2019-12-30 2021-09-11 瑞昱半導體股份有限公司 應用在具有通用序列匯流排型式c接頭之電子裝置內的電路與相關的電子裝置
US11126220B2 (en) * 2020-01-29 2021-09-21 Dell Products L.P. System and method for time synchronization between information handling systems
CN111459864B (zh) * 2020-04-02 2021-11-30 深圳朗田亩半导体科技有限公司 一种存储器件及其制造方法
US11238001B2 (en) * 2020-05-11 2022-02-01 Dell Products L.P. System and method to selectively reduce USB-3 interference with wireless communication devices
CN116057523A (zh) * 2020-07-23 2023-05-02 惠普发展公司,有限责任合伙企业 用于usb c型认证用的软件狗
US11403248B2 (en) * 2020-09-14 2022-08-02 Rockwell Automation Technologies, Inc. Bi-directional bus topology
US11402888B1 (en) 2021-02-04 2022-08-02 Cisco Technology, Inc. USB type-A power extension to support high power modules
GB2607277A (en) * 2021-05-10 2022-12-07 Nicholas Mcardell Roger Processing composite signals
US11513575B1 (en) * 2021-06-14 2022-11-29 Dell Products L.P. Dynamic USB-C mode configuration
US11689201B2 (en) * 2021-07-26 2023-06-27 Qualcomm Incorporated Universal serial bus (USB) host data switch with integrated equalizer
US20240104043A1 (en) * 2022-09-22 2024-03-28 Intel Corporation Enabling universal core motherboard with flexible input-output ports

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7478191B2 (en) * 2006-04-14 2009-01-13 Standard Microsystems Corporation Method for automatically switching USB peripherals between USB hosts
US20090243794A1 (en) * 2008-03-24 2009-10-01 Neil Morrow Camera modules communicating with computer systems
US8806094B2 (en) * 2009-09-25 2014-08-12 Analogix Semiconductor, Inc. Transfer of uncompressed multimedia contents or data communications
US8886849B2 (en) * 2012-05-11 2014-11-11 Apple Inc. Multi-mode adapter
US9009302B2 (en) * 2012-02-21 2015-04-14 Cisco Technology, Inc. Dynamic group creation and traffic flow registration under a group in a group key infrastructure
US8615611B2 (en) * 2012-04-16 2013-12-24 Icron Technologies Corporation Devices and methods for transmitting USB data over DisplayPort transmission media
TWI598738B (zh) * 2012-12-24 2017-09-11 宏碁股份有限公司 介面擴充裝置
US9837909B2 (en) * 2013-07-31 2017-12-05 Fairchild Korea Semiconductor Ltd. Mode selection circuit and switch control circuit including the mode selection circuit and multi functions pin
TWI616757B (zh) * 2013-10-23 2018-03-01 蘋果公司 用於多種介面的通用連接器
WO2016061683A1 (en) * 2014-10-21 2016-04-28 Icron Technologies Corporation Devices and methods for providing reduced bandwidth displayport communication
US9858237B2 (en) * 2015-05-11 2018-01-02 Dell Products L.P. Information handling system differential signalling variable bandwidth interface selectively configuring single ended and differential signals

Also Published As

Publication number Publication date
WO2016209336A1 (en) 2016-12-29
US20160378704A1 (en) 2016-12-29

Similar Documents

Publication Publication Date Title
DE112016002913T5 (de) Dynamische Konfiguration von Verbindungsmodi an einem System basierend auf Hostgerätefähigkeiten
DE112015003035T5 (de) Gemeinsame nutzung eines usb-stromzufuhr-controllers
CN109891399B (zh) 在相同的物理串行总线集线器上产生多个虚拟串行总线集线器实例的装置和方法
KR101565357B1 (ko) 타임아웃을 처리하기 위한 시스템, 방법 및 장치
DE102019009207B3 (de) Vorrichtungen, verfahren und nichttransitorisches computerlesbares speichermedien für dvsec für eine effiziente peripheriegeräteverwaltung
CN107409056B (zh) 用于促进数据通信的装置、系统、方法和设备
DE112016002895T5 (de) Authentifizierung einer Mehrprotokollverbindung
KR101591818B1 (ko) 저전력 상태로의 포트 진입을 동기화하기 위한 시스템, 방법 및 장치
US9268948B2 (en) Secure access enforcement proxy
DE102018007025A1 (de) System, Verfahren und Einrichtung zur SRIS-Modus-Auswahl für PCIe
DE112014006183T5 (de) Vorrichtung, Verfahren und System für einen Schnellkonfigurationsmechanismus
DE102020130978A1 (de) Seitenbandsignalisierung über vorhandene hilfsstifte einer schnittstelle
DE112016004300T5 (de) Verfahren, gerät und system zum zuweisen von cache unter verwendung einer verkehrsklasse
DE112013001305T5 (de) Ein Verfahren, eine Vorrichtung und ein System zur verteilten Vorverarbeitung von Berührungsdaten und Anzeigebereichsteuerung
US10705594B2 (en) Power management system
US20210311895A1 (en) Disaggregation of computing devices using enhanced retimers with circuit switching
DE102018125241A1 (de) Mechanismus einer asymmetrischen Vollduplex-USB-SS-Verbindungsstrecke
DE102019101810A1 (de) Reduzierung von Skew zwischen einem positiven und einem negativen Leiter, die ein differentielles Signalpaar tragen
DE102019120357A1 (de) Dynamische asymmetrische kommunikationspfadzuteilung
DE112017004891T5 (de) Multidimensionale Optimierung von elektrischen Parametern zum Trainieren eines Speichers
DE102022131051A1 (de) Verschaltungsnetzwerk für mehrfachkachel-system-auf-chips
DE102022129397A1 (de) Beschleuniger-fabric für diskrete grafik
NL2029396B1 (en) Disaggregation of computing devices using enhanced retimers with circuit switching
DE102020102841A1 (de) Vorabrufen von schreibberechtigungen in einen adressübersetzungs-cache
US20220199573A1 (en) Modular low latency electrical sequence for die-to-die interface

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication